NAME
intro - introduction to system call subroutines
SYNOPSIS
#include <errno_p.h>
DESCRIPTION
Most system calls have one or more error returns. An error
condition is indicated by an otherwise impossible returned value.
This is almost always -1; the individual descriptions specify the
details. 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.
This section describes the two classes of the system calls:
- (2P)
-
system calls that directly invoke the PARASITE system.
- (2F)
-
system calls that access the PARASITE-FS system, particularly the file
system.
ERROR NUMBERS
All the possible error number are not listed in each system call
description because many error are possible for most of the calls.
The following is a list of the error numbers and their names as
defined in
errno_p.h.
System calls that interact with the host (for example, input/output
calls to files on the host), may receive some additional error numbers
from the host. See intro(2) in the UNIX Users Manual for a list of
these errors.
- 2 ENOENT No such file or directory
-
This error occurs when a file name is specified and the file should
exist but doesn't, or when a directory in the path name doesn't exist.
- 5 EIO I/O error
-
Some physical I/O error. This error may occur on a call following the
one to which it applies because of the asynchronous nature of
input/output operations.
- 6 ENXIO No such device or address
-
I/O on a special file refers to a subdevice that does not exist, or
beyond the limits of the device. It may also occure when, for
example, a tape drive is not on-line or no disk pack is loaded on a
drive.
- 9 EBADF bad file number
-
Either a file descriptor refers to no open file, or a read
(respectively write) request is amde to a file that is open only for
writing (respectively reading).
- 12 ENOMEM Not enough space
-
Dur an
exec, brk,
or
sbrk,
a program asks for more space than the system is able to supply
because of physical memory limitations.
- 13 EACCES Permision denies
-
An attempt was made to access a file in a way forbidden by the
protection system. For example, this error is generated when trying
to open a read-only file for writing, or when using a host file as an
argument to a function that only operates on satellite files.
- 17 EEXIST File Exists
-
An existing file was mentioned in an inappropriate context.
- 20 ENOTDIR Not a directory
-
A non-directory was specified where a directory is required, for
example in a path prefix.
- 21 EISDIR Is a directory
-
An attempt to write on a directory.
- 22 EINVAL Invalid argument
-
Some invalid argument (e.g.
lseek
has generated a negative pointer).
- 23 ENFILE File table overflow
-
The system's table of open files is full, and temporarilty no more
open
s can be accepted. The maximum number of files that can be open at
one time is 10.
- 28 ENOSPC No space left on device
-
During a write to an ordinary file, there is no free space left on the
device.
- 33 EDOM Math argument
-
The argument of a function in the math package is out of the domain of
the function.
- 34 ERANGE Result too large
-
The value of a function in the math package is unrepresentable within
the machine.
- 35 ENOABUF No I/O buffer
-
This error occurs when all satellite disk I/O transfer buffers are
busy.
- 36 ENOTBBN File pointer not on block boundary
-
This occurs when a read or write request is made when the pointer to
the current position in a satellite file is not on a 512 byte block
boundary.
- 37 EMXFILE Directory full
-
This error occurs when trying to create a file in a satellite
directory that already contains the maximum number of files allowed.
SEE ALSO
intro(1F)