Intro --
introduce system services, library routines, and error numbers
Description
This manual page describes all system services and error values. In
addition, this manual page provides listings of obsolete
system services and new manual page entries in section (S).
System services include all system library routines and system calls that are
available in the operating system kernel.
See ``System libraries'' for the list of system libraries.
Standards conformance
Many of the system services listed in section (S) conform to one or more
of the following standards:
Standard
Revision
ANSI C
ANSI X3.159-1989 Programming Language -- C
NIST FIPS
National Institute of Standards and Technology (NIST),
Federal Information Processing Standard, 151-1
POSIX
IEEE 1003.1 and ISO/IEC 9945-1,
First Edition 1990-12-07
XPG4
X/Open CAE Specification, System Interfaces and Headers, Issue 4, 1992
Library routines complement the system calls.
In some cases, the
library routine actually makes one or more system calls.
For example, the
fopen(S)
library routine calls the
open(S)
system call.
The functionality of library routines and
system calls may appear to be similar, and in fact,
a system call is actually a form of library routine.
The difference is that system calls are basic operating system
functions--they provide direct access to the kernel.
Library routines are built on top of system calls
and often provide additional useful
functionality, checks, and clean-up operations to the
programmer.
As a general rule,
the library routines execute more slowly
than the corresponding system calls because of
the added functionality that they provide, but library routines
may be more portable because some low-level details are hidden
from users.
The following table lists libraries included with your SCO OpenServer system
and which are commonly used with C language programs. The
Routines(S)
manual page contains a list of all documented routines in these libraries
and their corresponding (S) section manual pages.
Library
Purpose
lib300.a
terminal-specific plot routines
lib300s.a
terminal-specific plot routines
lib4014.a
terminal-specific plot routines
lib450.a
terminal-specific plot routines
libaudit.a
C2 security routines
libc.a
standard C routines
libc.so
dynamically linked C routines
libcrypt.a
encryption routines
libcurses.a
curses(S) routines
libdbm.a
database management
libelf.a
ELF object module support routines (elf_*)
libevent.a
event driver routines (ev_*)
libform.a
forms(S) routines
libgen.a
standard routines not found in the C library
libl.a
lex routines
libld.a
COFF object module support routines
libm.a
math routines
libmalloc.a
malloc(S) routines
libmenu.a
menus(S) routines
libndbm.a
database management
libpanel.a
panels(S) routines
libplot.a
plot routines
libprot.a
C2 security routines
libPW.a
miscellaneous programmer's routines
libsec.a
shadow password routines
libsuds.a
partial set of POSIX 1003.4 compliant routines
libtam.a
tam(S) routines
libtermcap.a
curs_termcap(S) routines
libtinfo.a
curs_terminfo(S) routines
libvt0.a
terminal-specific plot routines
libwindows.a
libwindows(S) routines
liby.a
yacc routines
libx.a
XENIX compatibility routines
New manual pages
Many manual page entries in this section are new for this release.
The system services documented by these new entries are either new,
exposed to users for the first time, or are transferred from
other sections of manual pages.
The entirely new manual
pages include:
addsev(S)
addseverity(S)
adjtime(S)
aio_error(S)
aio_mkcbs(S)
aio_read(S)
aio_return(S)
aio_write(S)
bstring(S)
confstr(S)
dlclose(S)
dlerror(S)
dlopen(S)
dlsym(S)
elf(S)
elf_begin(S)
elf_cntl(S)
elf_end(S)
elf_error(S)
elf_fill(S)
elf_flag(S)
elf_fsize(S)
elf_getarhdr(S)
elf_getarsym(S)
elf_getbase(S)
elf_getdata(S)
elf_getehdr(S)
elf_getident(S)
elf_getphdr(S)
elf_getscn(S)
elf_getshdr(S)
elf_hash(S)
elf_kind(S)
elf_next(S)
elf_rand(S)
elf_rawfile(S)
elf_strptr(S)
elf_update(S)
elf_version(S)
elf_xlate(S)
ffs(S)
fgetws(S)
fmtmsg(S)
fputws(S)
getcontext(S)
getdate(S)
getdtablesize(S)
getrlimit(S)
getsid(S)
getsubopt(S)
gettimeofday(S)
gettxt(S)
getutx(S)
getwd(S)
glob(S)
goodpw_check_other(S)
goodpw_set_other_checks(S)
grantpt(S)
index(S)
initgroups(S)
insque(S)
isastream(S)
killpg(S)
latch_close(S)
latch_getvalue(S)
latch_open(S)
latch_post(S)
latch_unlink(S)
latch_wait(S)
lio_listio(S)
mbchar(S)
mbstring(S)
mmap(S)
mprotect(S)
msync(S)
munmap(S)
pfmt(S)
psignal(S)
ptsname(S)
putwc(S)
random(S)
realpath(S)
sched_get_priority_max(S)
sched_getparam(S)
sched_getscheduler(S)
sched_rr_get_interval(S)
sched_setparam(S)
sched_setscheduler(S)
sched_yield(S)
sem_close(S)
sem_destroy(S)
sem_getvalue(S)
sem_init(S)
sem_open(S)
sem_post(S)
sem_unlink(S)
sem_wait(S)
setcat(S)
setlabel(S)
sigaltstack(S)
siginterrupt(S)
sigsend(S)
sigstack(S)
sisinit(S)
smp_audit_fail(S)
smp_check_pw(S)
smp_check_user(S)
smp_generate_pw(S)
smp_get_messages(S)
smp_pw_change(S)
smp_pw_choice(S)
smp_set_identity(S)
smp_set_pw(S)
smp_try_pw(S)
statvfs(S)
strftime(S)
strptime(S)
suds_aioinfo(S)
suds_lock(S)
suds_lockinit(S)
suds_lockstate(S)
suds_locktry(S)
suds_shmat(S)
suds_unlock(S)
syssetconf(S)
tcgetsid(S)
termios(S)
timer_create(S)
timer_delete(S)
timer_settime(S)
truncate(S)
ungetwc(S)
unlockpt(S)
usersgroups(S)
utimes(S)
vfork(S)
wait3(S)
waitid(S)
wcsstr(S)
wctob(S)
Some of the new manual page entries are added to previously
existing manual pages. These new entries include:
Routine
Manual page
Routine
Manual page
ceilf
floor(S)
copysign
floor(S)
fabsf
floor(S)
fchdir
chdir(S)
fchmod
chmod(S)
fchown
chown(S)
floorf
floor(S)
fmodf
floor(S)
frexpl
frexp(S)
getpgid
getpid(S)
getpmsg
getmsg(S)
lchown
chown(S)
ldexpl
frexp(S)
ledxpl
frexp(S)
locked_out
fields(S)
logb
frexp(S)
logbl
frexp(S)
modff
frexp(S)
modfl
frexp(S)
nextafter
frexp(S)
nextafterl
frexp(S)
putpmsg
putmsg(S)
readv
read(S)
remainder
floor(S)
rint
floor(S)
scalb
frexp(S)
scalbl
frexp(S)
setegid
setuid(S)
seteuid
setuid(S)
setregid
setuid(S)
setreuid
setuid(S)
writev
write(S)
Note that there are also many new manual pages introduced by
the re-grouping of manual pages. These include, for example,
curs_*(S) manual pages and are not listed in the
previous two tables.
Obsolete routines
The following routines are no longer described in section (S).
All corresponding manual pages have been entirely removed.
The routines are:
Routine
Manual page
Routine
Manual page
isaddindex
isaddidx(S)
isbuild
isbuild(S)
isclose
isclose(S)
isconv
isconv(S)
isdelcurr
isdelcurr(S)
isdelete
isdelete(S)
isdelindex
isdelidx(S)
isdelrec
isdelrec(S)
iserase
iserase(S)
isindexinfo
isidxinfo(S)
islock
islock(S)
isopen
isopen(S)
isread
isread(S)
isrelease
isrelease(S)
isrename
isrename(S)
isrewcurr
isrewcurr(S)
isrewrec
isrewrec(S)
isrewrite
isrewrite(S)
issetunique
issetuniq(S)
isstart
isstart(S)
isuniqueid
isuniqid(S)
isunlock
isunlock(S)
iswrcurr
iswrcurr(S)
iswrite
iswrite(S)
lddbl
isconv(S)
ldfloat
isconv(S)
ldint
isconv(S)
ldlong
isconv(S)
ll_close
llog(S)
ll_err
llog(S)
ll_hdinit
llog(S)
ll_init
llog(S)
ll_log
llog(S)
ll_open
llog(S)
llog
llog(S)
ml_1adr
ml_send(S)
ml_adr
ml_send(S)
ml_aend
ml_send(S)
ml_cc
ml_send(S)
ml_end
ml_send(S)
ml_file
ml_send(S)
ml_init
ml_send(S)
ml_send
ml_send(S)
ml_tinit
ml_send(S)
ml_to
ml_send(S)
ml_txt
ml_send(S)
mm_end
mmdf(S)
mm_init
mmdf(S)
mm_pkend
mmdf(S)
mm_pkinit
mmdf(S)
mm_radr
mmdf(S)
mm_rinit
mmdf(S)
mm_rrec
mmdf(S)
mm_rrply
mmdf(S)
mm_rstm
mmdf(S)
mm_rtxt
mmdf(S)
mm_sbend
mmdf(S)
mm_sbinit
mmdf(S)
mm_wadr
mmdf(S)
mm_waend
mmdf(S)
mm_winit
mmdf(S)
mm_wrec
mmdf(S)
mm_wrply
mmdf(S)
mm_wstm
mmdf(S)
mm_wtend
mmdf(S)
mm_wtxt
mmdf(S)
mmdf
mmdf(S)
phs
phs(S)
phs_get
phs(S)
phs_msg
phs(S)
phs_note
phs(S)
stdbl
isconv(S)
stfloat
isconv(S)
stint
isconv(S)
stlong
isconv(S)
tai_end
tai(S)
tai_get
tai(S)
tai_init
tai(S)
In addition, the following manual pages have been transferred
to the (NET) section:
t_accept(S)
t_alloc(S)
t_bind(S)
t_close(S)
t_connect(S)
t_error(S)
t_free(S)
t_getinfo(S)
t_getstate(S)
t_listen(S)
t_look(S)
t_open(S)
t_optmgmt(S)
t_rcv(S)
t_rcvconnect(S)
t_rcvudata(S)
t_rcvuderr(S)
t_rcvdis(S)
t_rcvrel(S)
t_snd(S)
t_snddis(S)
t_sndrel(S)
t_sndudata(S)
t_sync(S)
t_unbind(S)
Error values
Most services that are part of the operating system kernel
have one or more error returns.
An error condition is indicated by an otherwise
impossible returned value.
This is almost always -1 for functions returning an integer
or the NULL pointer for functions returning a pointer.
The individual manual pages specify details and
attempt to list
all possible error numbers.
An error number is also made available
in the external variable
errno.
errno
is not cleared on successful calls, so it should be tested only
after an error has been indicated.
Each of the tables in this section list errors numerically. After
the tables, alphabetic information is provided about each error.
The following table lists error values defined in
<errno.h> (any error number that is not listed
in this table is reserved):
1
EPERM
40
EL3RST
93
ENOTSOCK
2
ENOENT
41
ELNRNG
94
EDESTADDRREQ
3
ESRCH
42
EUNATCH
95
EMSGSIZE
4
EINTR
43
ENOCSI
96
EPROTOTYPE
5
EIO
44
EL2HLT
97
EPROTONOSUPPORT
6
ENXIO
45
EDEADLK
98
ESOCKTNOSUPPORT
7
E2BIG
46
ENOLCK
99
EOPNOTSUPP
8
ENOEXEC
60
ENOSTR
100
EPFNOSUPPORT
9
EBADF
61
ENODATA
101
EAFNOSUPPORT
10
ECHILD
62
ETIME
102
EADDRINUSE
11
EAGAIN
63
ENOBUFS
103
EADDRNOTAVAIL
12
ENOMEM
63
ENOSR
104
ENETDOWN
13
EACCES
64
ENONET
105
ENETUNREACH
14
EFAULT
65
ENOPKG
106
ENETRESET
15
ENOTBLK
66
EREMOTE
107
ECONNABORTED
16
EBUSY
67
ENOLINK
108
ECONNRESET
17
EEXIST
68
EADV
110
EISCONN
18
EXDEV
69
ESRMNT
111
ENOTCONN
19
ENODEV
70
ECOMM
112
ESHUTDOWN
20
ENOTDIR
71
EPROTO
113
ETOOMANYREFS
21
EISDIR
74
EMULTIHOP
114
ETIMEDOUT
22
EINVAL
75
ELBIN
115
ECONNREFUSED
23
ENFILE
76
EDOTDOT
116
EHOSTDOWN
24
EMFILE
77
EBADMSG
117
EHOSTUNREACH
25
ENOTTY
78
ENAMETOOLONG
118
ENOPROTOOPT
26
ETXTBSY
79
EOVERFLOW
135
EUCLEAN
27
EFBIG
80
ENOTUNIQ
137
ENOTNAM
28
ENOSPC
81
EBADFD
138
ENAVAIL
29
ESPIPE
82
EREMCHG
139
EISNAM
30
EROFS
83
ELIBACC
140
EREMOTEIO
31
EMLINK
84
ELIBBAD
141
EINIT
32
EPIPE
85
ELIBSCN
142
EREMDEV
33
EDOM
86
ELIBMAX
145
ENOTEMPTY
34
ERANGE
87
ELIBEXEC
150
ELOOP
35
ENOMSG
88
EILSEQ
151
ESTALE
36
EIDRM
89
ENOSYS
152
ERESTART
37
ECHRNG
90
EWOULDBLOCK
153
ESTRPIPE
38
EL2NSYNC
91
EINPROGRESS
500
EIORESID
39
EL3HLT
92
EALREADY
Message catalog errors
The following table lists message catalog error values
that are defined in <nls/i_errno.h>. These values are
made available in the external variable i_errno,
not errno.
-1 I_ERROR
7 I_EICNV
14 I_EIBNV
1 I_EBACC
8 I_EISTI
15 I_EREAD
2 I_EBADF
9 I_EISTR
16 I_ENMSG
3 I_ENMEM
10 I_EICOD
17 I_EBADC
4 I_EINTL
11 I_EICTM
18 I_ENOOP
5 I_EIPRP
12 I_EICPR
6 I_EICOL
13 I_EICSC
Error descriptions
The following is a complete list of the error numbers (enclosed in
parentheses) and
their names (enclosed in square brackets) as defined in
<errno.h>
and <nls/i_errno.h>.
[E2BIG] (7) Arg list too long
An argument list longer than
ARG_MAX
bytes is presented to a member of the
exec(S)
family of routines.
The argument list limit is the sum of the size of the argument
list plus the size of the environment's exported shell variables.
[EACCES] (13) Permission denied
An attempt was made to access a file in a way forbidden
by the protection system.
The access control mechanism grants and denies a process
permission to access an object based on a comparison of the
attributes of the process (real and effective user
IDs and Mandatory Access Control level)
and the attributes of the object (access
permissions and level).
Access to the object may also be denied because the level of the object
is outside of the level range restriction in effect at the time the
access is attempted.
Failure of any of these checks causes denial of the requested access
and the return of [EACCES].
[EADDRINUSE] (102) Address already in use
User attempted to use an address already in use,
and the protocol does not allow this.
Results from an attempt to create a transport endpoint with
an address not on the current machine.
[EADV] (68) Advertise error
This error is
RFS
specific.
It occurs when users try to advertise
a resource which has been advertised already, or try to stop
RFS
while there are resources still advertised, or try to force
unmount a resource when it is still advertised.
[EAFNOSUPPORT] (101) Address family not supported by protocol family
An address incompatible with the requested protocol was used.
[EAGAIN] (11) Resource temporarily unavailable
For example,
the
fork(S)
routine
failed because the system's process table is full
or the user is not allowed to create any more processes,
or a system call failed because of insufficient memory or swap space.
[EALREADY] (92) Operation already in progress
An operation was attempted on a non-blocking object that already had an
operation in progress.
[EBADF] (9) Bad file number
Either a file descriptor refers to no
open file, or a read (respectively, write)
request is made to
a file that is open only for writing (respectively, reading).
[EBADFD] (81) File descriptor in bad state
Either a file descriptor refers to no open file or a read request was
made to a file that is open only for writing.
[EBADMSG] (77) Not a data message
During a
read(S),
getmsg(S),
or ioctl(I_RECVFD) system call
to a STREAMS device, something has come to the head of the queue
that can't be processed.
That something depends on the system call:
read
control information or a passed file descriptor
getmsg
passed file descriptor
ioctl
control or data information
[EBUSY] (16) Device busy
The device or resource is currently unavailable.
An attempt was made to do one of the following: mount a device that
was already mounted;
unmount a device on which there is an active file
(open file, current directory, mounted-on file, active text segment);
enable accounting when it is already enabled;
or, open a device that is in the process of closing.
[ECHILD] (10) No child processes
A
wait(S)
routine
was executed by a process that had no existing or unwaited-for child processes.
[ECHRNG] (37) Channel number out of range
[ECOMM] (70) Communication error on send
This error is
RFS
specific.
It occurs when the current process is waiting for a
message from a remote machine,
and the virtual circuit fails.
A connection abort was caused internal to your host machine.
[ECONNREFUSED] (115) Connection refused
No connection could be made because the target machine actively refused it.
This usually results from trying to connect to a service
that is inactive on the remote host.
[ECONNRESET] (108) Connection reset by peer
A connection was forcibly closed by a peer.
This normally results from a loss of the connection on the remote
host due to a timeout or a reboot.
[EDEADLK] (45) Deadlock condition
A deadlock situation was detected and avoided.
This error pertains to file and record locking.
[EDESTADDRREQ] (94) Destination address required
A required address was omitted from an operation on a transport endpoint.
Destination address required.
[EDOM] (33) Math argument out of domain of func
The argument of a function in the math package
is out of the domain of the function.
[EDOTDOT] (76) Error 76
This error is
RFS
specific.
A way for the server to tell the client that a process has transferred
back from mount point.
[EEXIST] (17) File exists
An existing file was mentioned in an inappropriate context
(for example, call to the
link(S)
routine).
[EFAULT] (14) Bad address
The system encountered a hardware fault in attempting to
use an argument of a routine.
For example,
errno
potentially may be set to [EFAULT]
any time a routine that takes a pointer argument is passed an invalid address,
if the system can detect the condition.
Because systems will differ in their ability to reliably detect a bad
address, on some implementations passing a bad address to a routine
will result in undefined behavior.
[EFBIG] (27) File too large
The size of a file exceeded the maximum file size,
FCHR_MAX
(see
getrlimit(S)).
[EHOSTDOWN] (116) Host is down
A transport provider operation failed because the destination host was down.
[EHOSTUNREACH] (117) No route to host
A transport provider operation was attempted to an unreachable host.
[EIDRM] (36) Identifier removed
This error is returned to processes that resume execution due to the removal
of a message or semaphore identifier from the system (see
msgop(S),
semop(S),
msgctl(S),
and
semctl(S)).
[EILSEQ] (88) Illegal byte sequence
Illegal byte sequence.
Handle multiple characters as a single character.
[EINIT] (141) Reserved
This error number is reserved for XENIX.
[EINPROGRESS] (91) Operation now in progress
An operation that takes a long time to complete
was attempted on a non-blocking object.
[EINTR] (4) Interrupted system call
An asynchronous signal (such as interrupt or quit),
which the user has elected to catch,
occurred during a system service routine.
If execution is resumed
after processing the signal,
it will appear as if the interrupted routine call
returned this error condition.
[EINVAL] (22) Invalid argument
An invalid argument was specified
(for example, unmounting a non-mounted device
or specifying an undefined signal in a call to
sigaction(S)
or
kill(S)).
[EIO] (5) I/O error
Some physical I/O error has occurred.
This error may in some cases occur
on a call following the one to which it actually applies.
[EIORESID] (500) Reserved for future use
[EISCONN] (110) Transport endpoint is already connected
A connect request was made on an already connected transport endpoint;
or, a
sendto(SSC)
or
sendmsg
request on a connected
transport endpoint specified a destination when already connected.
[EISDIR] (21) Is a directory
An attempt was made to perform an operation not appropriate for a directory,
such as
write(S).
[EISNAM] (139) Is a name file
A name file (semaphore, shared data, and so on) was specified
when not expected.
[EL2HLT] (44) Level 2 halted
[EL2NSYNC] (38) Level 2 not synchronized
[EL3HLT] (39) Level 3 halted
[EL3RST] (40) Level 3 reset
[ELIBACC] (83) Cannot access a needed shared library
Trying to
exec(S)
an a.out
that requires a static shared library
and the static shared library doesn't exist or
the user doesn't have permission to use it.
[ELBIN] (75) Inode is remote (not really an error)
[ELIBBAD] (84) Accessing a corrupted shared library
Trying to
exec(S)
an
a.out
that requires a static shared library
(to be linked in) and
exec(S)
could not load the static shared
library.
The static shared library is probably corrupted.
[ELIBEXEC] (87) Cannot exec(S) a shared library directly
Attempting to
exec(S)
a shared library directly and failed.
[ELIBMAX] (86) Attempting to link in more shared libraries than system limit
Trying to
exec(S)
an
a.out
that requires more static shared
libraries than is allowed on the current configuration of the system.
See your system administration guide.
[ELIBSCN] (85) .lib section in a.out corrupted
Trying to
exec(S)
an
a.out
that requires a static shared library
(to be linked in) and there was erroneous data in the
.lib section of the a.out.
The .lib section tells
exec(S)
what static shared libraries are needed.
The
a.out
is probably corrupted.
[ELNRNG] (41) Link number out of range
[ELOOP] (150) Too many symbolic links in pathname traversal
[EMFILE] (24) Too many open files
No process may have more than
OPEN_MAX
file descriptors open at a time.
[EMLINK] (31) Too many links
An attempt to make more than the maximum number of links,
LINK_MAX, to a file.
[EMSGSIZE] (95) Message too long
A message sent on a transport provider was larger than the internal message
buffer or some other network limit.
[EMULTIHOP] (74) Multihop attempted
This error is
RFS
specific.
It occurs when users try to
access remote resources which are not directly accessible.
[ENAMETOOLONG] (78) File name too long
The length of the path argument exceeds PATH_MAX, or the
length of a path component exceeds NAME_MAX while
_POSIX_NO_TRUNC is in effect; see
pathconf(S).
[ENAVAIL] (138) No XENIX system semaphores available
An
opensem(S),
waitsem(S),
or
sigsem(S)
was
issued to a XENIX system semaphore that has not been initialized
by a call to
creatsem(S).
A
sigsem
was
issued to a XENIX system semaphore out of sequence;
that is, before the process has issued the corresponding
waitsem to the semaphore.
An nbwaitsem
was issued to a semaphore guarding a
resource that is currently in use by another process.
The semaphore that a process was waiting on has been left
in an inconsistent state when the process controlling the semaphore exited
without relinquishing control properly;
that is, without issuing a
waitsem
on the semaphore.
[ENETDOWN] (104) Network is down
Operation encountered a dead network.
[ENETRESET] (106) Network dropped connection because of reset
The host you were connected to crashed and rebooted.
[ENETUNREACH] (105) Network is unreachable
Operation was attempted to an unreachable network.
[ENFILE] (23) File table overflow
The system file table is full (that is,
SYS_OPEN
files are open,
and temporarily no more files can be opened).
[ENOBUFS] (63) No buffer space available
An operation on a transport endpoint or pipe was not performed
because the system lacked sufficient buffer space or because
a queue was full.
[ENOCSI] (43) No CSI structure available
[ENODATA] (61) No data available
[ENODEV] (19) No such device
An attempt was made to apply an inappropriate operation to a device
(for example, read a write-only device, open a device not yet allocated).
[ENOENT] (2) No such file or directory
A file name is specified and the file should exist but doesn't,
or one of the directories in a pathname does not exist.
[ENOEXEC] (8) Exec format error
A request is made to execute a file
which, although it has the appropriate permissions,
does not start with a valid format (see
a.out(FP)).
[ENOLCK] (46) No record locks available
There are no more locks available.
The system lock table is full (see
fcntl(S)).
[ENOLINK] (67) Link has been severed
This error is
RFS
specific.
It occurs when the link (virtual
circuit) connecting to a remote machine is gone.
[ENOMEM] (12) Not enough space
During execution of an
exec(S),
brk(S),
or
sbrk(S)
routine,
a program asks for more space than the system is able to supply.
This is not a temporary condition; the maximum size
is a system parameter.
The error may also occur if the arrangement
of text, data, and stack segments
requires too many segmentation registers, or
if there is not enough swap space during the
fork(S)
routine.
If this error occurs on a resource associated with
Remote File Sharing (RFS),
it indicates a memory depletion
which may be temporary, dependent on system activity at the time the call was invoked.
[ENOMSG] (35) No message of desired type
An attempt was made to receive a message of a type
that does not exist on the specified message queue (see
msgop(S)).
[ENONET] (64) Machine is not on the network
This error is Remote File Sharing (RFS) specific.
It occurs when users try to advertise,
unadvertise, mount, or unmount remote resources while the machine has not
done the proper startup to connect to the network.
[ENOPKG] (65) Package not installed
This error occurs when users attempt to use
a system call from a package which has not been installed.
[ENOPROTOOPT] (118) Protocol not available
A bad option or level was specified when getting or setting options
for a protocol.
[ENOSPC] (28) No space left on device
While writing an ordinary file or creating a directory entry,
there is no free space left on the device.
In the
fcntl(S)
routine, the setting or removing of record locks on a file
cannot be accomplished because there are no more record entries
left on the system.
[ENOSR] (63) Out of stream resources
During a
STREAMS
open(S),
either no
STREAMS
queues or no
STREAMS
head data structures were available.
This is a temporary condition; one may recover from it
if other processes release resources.
[ENOSTR] (60) Device not a stream
A
putmsg(S)
or
getmsg(S)
system call was attempted on
a file descriptor that is not a
STREAMS
device.
[ENOSYS] (89) Function not implemented
[ENOTBLK] (15) Block device required
A non-block file was mentioned where a block device was required
(for example, in a call to the
mount(S)
routine).
[ENOTCONN] (111) Transport endpoint is not connected
A request to send or receive data was disallowed because the transport
endpoint is not connected and (when sending a datagram) no address was supplied.
[ENOTDIR] (20) Not a directory
A non-directory was specified where a directory
is required
(for example, in a path prefix or
as an argument to the
chdir(S)
routine).
[ENOTEMPTY] (145) Directory not empty
[ENOTNAM] (137) Not a XENIX system named type file
A call was made to the
ioctl(S)
routine specifying a file that
is not a special character device.
[ENOTUNIQ] (80) Name not unique on network
Given log name not unique.
[ENXIO] (6) No such device or address
I/O on a special file refers to a subdevice which does not
exist,
or exists beyond the limit of the device.
It may also occur when, for example, a tape drive
is not on-line or no disk pack is loaded on a drive.
[EOPNOTSUPP] (99) Operation not supported on transport endpoint
For example, trying to accept a connection on a datagram transport endpoint.
[EOVERFLOW] (79) Value too large for defined data type
[EPERM] (1) Not privileged
Typically this error indicates
an attempt to modify a file in some way forbidden
by the privilege mechanism, or restricted to the owner of the file.
It is also returned when an attempt is made to open a device already
open by another process.
[EPFNOSUPPORT] (100) Protocol family not supported
The protocol family has not been configured into the system
or no implementation for it exists.
Used for the Internet protocols.
[EPIPE] (32) Broken pipe
A write on a pipe for which there is no process
to read the data.
This condition normally generates a signal;
the error is returned if the signal is ignored.
[EPROTO] (71) Protocol error
Some protocol error occurred.
This error is device specific,
but is generally not related to a hardware failure.
[EPROTONOSUPPORT] (97) Protocol not supported
The protocol has not been configured into the system
or no implementation for it exists.
[EPROTOTYPE] (96) Protocol wrong type for socket
A protocol was specified that does not support the semantics of
the socket type requested.
[ERANGE] (34) Math result not representable
The value of a function in the math package
is not representable within machine precision.
[EREMCHG] (82) Remote address changed
EREMDEV (142) Reserved
[EREMOTE] (66) Object is remote
This error is
RFS
specific.
It occurs when users try to advertise
a resource which is not on the local machine, or try to
mount/unmount a device (or pathname) that is on a remote machine.
[EREMOTEIO] (140) Remote I/O error: XENIX
There was an I/O error on a remote device.
[ERESTART] (152) Restartable system call
Interrupted system call should be restarted.
[EROFS] (30) Read-only filesystem
An attempt to modify a file or directory was made
on a filesystem which was mounted read-only.
[ESHUTDOWN] (112) Cannot send after transport endpoint shutdown
A request to send data was disallowed because the transport endpoint has already
been shut down.
[ESOCKTNOSUPPORT] (98) Socket type not supported
The support for the socket type has not been configured into the system
or no implementation for it exists.
[ESPIPE] (29) Illegal seek
A call to the
lseek(S)
routine was issued to a pipe.
[ESRCH] (3) No such process
No process can be found corresponding to the process identifier
specified.
[ESRMNT] (69) Srmount error
This error is
RFS
specific.
It occurs when an attempt is made to stop
RFS
while resources
are still mounted by remote machines,
or when a resource is readvertised with a client list that
does not include a remote machine that currently has the resource mounted.
[ESTALE] (151) Stale NFS file handle
[ESTRPIPE] (153) Streams pipe error
Streams pipe error (not externally visible).
[ETIME] (62) Timer expired
The timer set for a
STREAMS
ioctl(S)
call has expired.
The cause of this error is device
specific and could indicate either a hardware
or software failure, or perhaps a timeout value
that is too short for the specific operation.
The status of the
ioctl(S)
operation is indeterminate.
[ETIMEDOUT] (114) Connection timed out
A connect or send request failed because the connected party
did not properly respond after a period of time.
(The timeout period is dependent on the communication protocol.)
[ETOOMANYREFS] (113) Too many references: cannot splice
[ETXTBSY] (26) Text file busy
An attempt was made to execute a pure-procedure
program that is currently open for writing.
Also an attempt to open for writing or to remove a pure-procedure
program that is being executed.
EUCLEAN (135) Filesystem needs cleaning
An attempt was made to mount a filesystem using
mount(S),
but the super block is not flagged as clean.