'\"macro stdmacro
.if n .pH xenix_compat/g2.intro @(#)intro	40.1 of 9/21/89
.nr X
.if \nX=0 .ds x} intro 2 "XENIX Compatibility Package" "\&"
.if \nX=1 .ds x} intro 2 "XENIX Compatibility Package"
.if \nX=2 .ds x} intro 2 "XENIX Compatibility Package" "\&"
.if \nX=3 .ds x} intro "" "" "\&"
.TH \*(x}
.SH NAME
\f4intro\fP
.SH Errnos
This section describes all the system calls.  Many of these calls have one or 
more error returns.  An error condition is indicated by an otherwise
impossible returned value which is almost always \-1 or the \f4NULL\fP pointer.
The individual descriptions specify the details.
The following is a complete list of the error names and their descriptions.
.TP 20
\f4EACCES\fP
Search permission is denied for a component of the
path prefix.
.TP
\f4EDEADLK\fP
A process' attempt to lock a file region would cause
a deadlock between processes vying for control of that region.
.TP 20
\f4EEXIST\fP
The named file exists.
.TP
\f4EFAULT\fP
.I buf\^
or
.I path\^
points to an invalid address.
.TP
\f4EFAULT\fP
.I path\^
points outside the allocated address space of the process.
.TP 20
\f4EINVAL\fP
An invalid argument was specified mentioning an undefined
signal in a call to the \f4signal\fP or \f4kill\fP routine.  Also set by the
functions described in the math package (3M).
.TP
\f4EINTR\fP
A signal was caught during the system call.
.TP
\f4EISNAM\fP
A \f4XENIX\fP name file (semaphore, shared data, etc.)
was specified when not expected.
.TP
\f4ELOOP\fP
Too many symbolic links were encountered in translating \f2path\f1.
.TP
\f4EMULTIHOP\fP
Components of \f2path\f1 require hopping to multiple
remote machines.
.TP
\f4ENAMETOOLONG\fP
The length of the \f2path\f1 argument exceeds {PATH_MAX}, or the
length of a \f2path\f1 component exceeds {NAME_MAX} while
(_POSIX_NO_TRUNC) is in effect.
.TP
\f4ENAVAIL\fP
An \f4opensem\fP(2), \f4waitsem\fP(2) or \f4sigsem\fP(2) was
issued to a \f4XENIX\fP semaphore that has not been initialized
by a call to \f4creatsem\fP(2).  A \f4sigsem\fP was 
issued to a \f4XENIX\fP semaphore out of sequence; i.e., 
before the process has issued the corresponding \f4waitsem\fP to the 
semaphore.  An \f4nbwaitsem\fP 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; i.e., without issuing
a \f4waitsem\fP on the semaphore.
.TP
\f4ENOENT\fP
The named file does not exist or is the null pathname.
.TP
\f4ENOENT\fP
A component of the
path prefix does not exist or is a null pathname.
.TP
\f4ENOLCK\fP
Cannot allocate a record lock for fcntl or locking.
.TP
\f4ENOLINK\fP
\f2path\f1 points to a remote machine and the link
to that machine is no longer active.
.TP
\f4ENOSPC\fP
No space is available.
.TP
\f4ENOTDIR\fP
A component of the
path prefix
is not a directory.
.TP
\f4ENOTNAM\fP
Not available.  A \f4creatsem\fP, \f4opensem\fP(2), 
\f4waitsem\fP(2), or \f4sigsem\fP(2) was issued using and
invalid \f4XENIX\fP semaphore identifier.  Or, a
process attempted a \f4sdget\fP(2) on a file that exists
but is not shared data type.
.TP
\f4EOVERFLOW\fP
A component is too large to store in the structure pointed to by \f2buf\f1.
does not exist or is a null pathname.
.TP 20
\f4EPERM\fP
The effective user
.SM ID
of the process
is not super-user.
.TP
\f4EROFS\fP
The directory in which the file is to be created
is located on a read-only file system.
