intro - introduction to system call subroutines
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
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:
system calls that directly invoke the PARASITE system.
system calls that access the PARASITE-FS system, particularly the file
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
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
- 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
- 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
- 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
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.
has generated a negative pointer).
- 23 ENFILE File table overflow
The system's table of open files is full, and temporarilty no more
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
- 33 EDOM Math argument
The argument of a function in the math package is out of the domain of
- 34 ERANGE Result too large
The value of a function in the math package is unrepresentable within
- 35 ENOABUF No I/O buffer
This error occurs when all satellite disk I/O transfer buffers are
- 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
- 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.