NAME
ERRNO - Error values returned by functions in the errno glo-
bal variable.
SYNOPSIS
#include <errno.h>
DESCRIPTION
There are two versions of the operating system C system
calls:
o The standard C system calls that send a message to stan-
dard error when an error occurs
o The underscore C system calls that return an error code
(errno) when an error occurs
The standard C system calls terminate a process when an
error occurs and send a message to standard error describing
the error. For example, the crecv() function terminates when
an error occurs and it sends a message to the standard error
describing the error.
The underscore C system calls are identified by an under-
score as the first character of the name. For example, the
_crecv() function is the underscore version of the crecv()
function. The underscore calls allow you to write programs
that take specific actions when an error occurs. They return
a non-negative value upon successful completion. When an
error occurs in an underscore system call, the call does not
terminate the process, but returns a -1 value and sets the
errno global variable with an error value.
The errno global variable is set with an error value that
has an associated message that helps determine the problem
in a program. This manual page provides a complete list of
the error values for operating system C system calls. You
can also find the list of error codes in the file
/usr/include/sys/errno.h. See the OSF/1 Programmer's Refer-
ence for more information about error codes and error
numbers.
There are two functions you can use to print out the error
code for a program that terminates with an error: perror()
and nx_perror(). The perror() function writes an error mes-
sage on the standard error output that describes the last
error encountered by a function, library function, or Para-
gon OSF/1 system call. The nx_perror() function is identical
to the perror() function, except that it writes the current
node number and process type in addition to the error mes-
sage.
For example, the underscore C system call _crecv() call does
not terminate when an error occurs. On a error, it returns a
-1 and sets errno to the error code for the error that
occurred. You can use perror() or nx_perror() to print the
error message.
The following table lists the errno values for operating
system system calls. The table lists the error code, the
error code number, the message text, and notes on the error
code. The message text appears in italic text.
Error Code Value Messages and Notes
E2BIG 7 Arg list too long. The number of
bytes received by the argument is
too big.
EACCES 13 Permission denied. The calling pro-
cess does not have permission for
the operation.
EADDRINUSE 48 Address already in use. The speci-
fied address is already in use.
EADDRNOTAVAIL 49 Can't assign requested address. The
specified address is not available
from the local machine.
EAEXIST 158 Application exists for process
group.
EAFNOSUPPORT 47 Address family not supported by pro-
tocol family. The addresses in a
specified address family cannot be
used with the socket.
EAGAIN 35 Resource temporarily unavailable. A
resource, such as a lock or process,
is temporarily unavailable.
EAINVALGTH 156 Give threshold invalid or out of
range. For information about the
range of values for the give thres-
hold, see the application manual
page either online or in the
Paragon(tm) System Commands Refer-
ence Manual.
EAINVALMBF 151 Memory buffer invalid or out of
range. For information about the
range of values for the memory
buffer size, see the application
manual page either online or in the
Paragon(tm) System Commands Refer-
ence Manual.
EAINVALMEA 153 Memory each invalid or out of range.
For information about the range of
values for the memory each size, see
the application manual page either
online or in the Paragon(tm) System
Commands Reference Manual.
EAINVALMEX 152 Memory Export invalid or out of
range. For information about the
range of values for the memory
export size, see the application
manual page either online or in the
Paragon(tm) System Commands Refer-
ence Manual.
EAINVALPKT 150 Packet size invalid or out of range.
For information about the range of
values for the packet size, see the
application manual page either
online or in the Paragon(tm) System
Commands Reference Manual.
EAINVALSCT 155 Send count invalid or out of range.
For information about the range of
values for the send count size, see
the application manual page either
online or in the Paragon(tm) System
Commands Reference Manual.
EAINVALSTH 154 Send threshold invalid or out of
range. For information about the
range of values for the send count
size, see the application manual
page either online or in the
Paragon(tm) System Commands Refer-
ence Manual.
EALREADY 37 Operation already in progress.
EANOEXIST 164 Application does not exist for pro-
cess group. The specified process
group does not exist.
EANOTPGL 157 Calling process not process group
leader.
EANXACCT 141 NX accounting permission denied.
EAOVLP 141 Request overlaps with nodes in use.
A partition or application overlaps
with another partition or applica-
tion.
EAREJPLK 144 Use of -plk not allowed in
gang-scheduled partition. An appli-
cation cannot use the -plk switch in
a gang-scheduled partition.
EBADF 9 Bad file number. A socket or file
descriptor parameter is invalid.
EBADID 215 Asynchronous request ID invalid. The
id parameter is not a valid I/O ID.
EBADMSG 84 Next message has wrong type.
EBADPORT 101 Failed port to struct translation.
EBADRPC 72 RPC structure is bad.
EBUSY 16 Device busy. The requested element
is unavailable, or the associated
system limit was exceeded.
ECFPS 199 Seek to different file pointers. Two
or more application processes are
calling lseek() with different
shared I/O modes (M_SYNC, M_RECORD,
or M_GLOBAL).
ECHILD 10 No child processes. The child pro-
cess does not exist, or the
requested child process information
is unavailable.
ECLONEME 88 Tells open to clone the device.
ECONNABORTED 53 Software caused connection abort.
The software caused a connection to
abort because there is no space on
the socket's queue and the socket
cannot receive further connections.
ECONNREFUSED 61 Connection refused.
ECONNRESET 54 Connection reset by peer. The
attempt to connect was rejected.
EDEADLK 11 Resource deadlock avoided. There is
a probable deadlock condition, or
the requested lock is owned by some-
one else.
EDESTADDRREQ 39 Destination address required.
EDIRTY 89 Mounting a dirty file system w/o
force. The file system is not clean
and M_FORCE is not set.
EDOM 33 Argument out of domain. The value of
the parameter is a Not a Number
(NaN).
EDQUOT 69 Disc quota exceeded. The file system
of the requested directory has
exceeded the user's quota of disk
blocks.
EDUPPKG 90 Duplicate package name. The loaded
module exported a package which
duplicated the package name of a
module already loaded in the same
process.
EEXIST 17 File exists. The requested file
already exists.
EEXCEEDCONF 146 Exceeded allocator configuration
parameters. The application exceeded
the configuration parameters for the
partition. See the allocator manual
page.
EFAULT 14 Bad address. The requested address
is in some way invalid.
EFBIG 27 File too large. The file size
exceeds the process' file size
limit, or the requested semaphore
number is invalid.
For the stat(), lstat(), or fstat()
system call, the file is an extended
file (the file size can exceed 2G -
1 bytes). Use the estat(), lestat(),
or festat() system call, respec-
tively.
EFSNOTSUPP 210 Operation not supported by this file
system.
EHOSTDOWN 64 Host is down.
EHOSTUNREACH 65 Host is unreachable.
EIDRM 81 Identifier removed. The requested
semaphore or message queue ID has
been removed from the system.
EIMODE 202 Bad io mode number. Use the I/O mode
M_UNIX, M_LOG, M_SYNC, M_RECORD, or
M_GLOBAL.
EINCOMPAT 216 The application and the OS are of
incompatible revisions. Your appli-
cations code is no longer with the
current release of the installed
operating system. You must your
application.
EINPROGRESS 36 Operation now in progress.
EINTR 4 Interrupted system call. The opera-
tion was interrupted by a signal.
EINVAL 22 Invalid argument. The argument or
parameter is not valid for the sys-
tem call.
EIO 5 I/O error. An I/O error occurred
while reading or writing to the file
system.
EISCONN 56 Socket is already connected. The
socket is already connected.
EISDIR 21 Is a directory. The request is for a
write to a file but the specified
file name is a directory, or the
function is trying to rename a file
as a directory.
ELOCAL 103 Handle operation locally.
ELOOP 62 Too many levels of symbolic links.
Too many symbolic links were encoun-
tered in translating a pathname.
EMFILE 24 Too many open files. Too many files
descriptors are open, no space
remains in the mount table, or the
attempt to attach a shared memory
region exceeded the maximum number
of attached regions for a process.
EMIXIO 201 Mixed file operations. In M_SYNC or
M_GLOBAL I/O mode, nodes are
attempting different operations
(reads and writes) to a shared file.
In these modes, all nodes must per-
form the same operation. In the
M_GLOBAL I/O mode, nodes are
attempting different sized reads
(using the nbytes parameter) from a
shared file. See the setiomode()
function for a description of the
I/O modes for file operations.
EMLINK 31 Too many links. The number of links
would exceed LINK_MAX.
EMSGSIZE 40 Message too long. The message is too
large to be sent all at once, as the
socket requires.
ENAMETOOLONG 63 File name too long. The pathname
argument exceeds PATH_MAX (1024
characters) or the pathname com-
ponent exceeds NAME_MAX (255 charac-
ters).
ENETDOWN 50 Network is down.
ENETRESET 52 Network dropped connection on reset.
ENETUNREACH 51 Network is unreachable. No route to
the network or host is present.
ENFILE 23 File table overflow. Too many files
are currently open in the system.
ENFPS 200 Different file pointers.
ENOBUFS 55 No buffer space available. Insuffi-
cient resources, such as buffers,
are available to complete the call.
ENOCFS 204 No CFS available. The concurrent
file system (CFS) is not available.
ENODATA 86 No message on stream head read q.
ENODEV 19 No such device. The file descriptor
refers to an object that cannot be
mapped, the requested block special
device file does not exist, or a
file system is unmounted.
ENOENT 2 No such file or directory. A path-
name component of the parameter does
not exist.
ENOEXEC 8 Exec format error. The parameter
specifies a file with a bad object
file format.
ENOLCK 77 No locks available. The lock table
is full because too many regions are
already locked.
ENOMEM 12 Not enough space. Insufficient
memory is available for the
requested function.
ENOMSG 80 No message of desired type. A mes-
sage of a requested type does not
exist.
ENOPKG 92 Unresolved package name. One or more
unresolved package names were found.
ENOPROTOOPT 42 Option not supported by protocol.
The option is unknown.
ENOSDIR 82 PFS stripe dir not available.
ENOSPC 28 No space left on device. There is
not enough memory space to extend
the file system or device for file
or directory writes.
ENOSR 82 Out of STREAMS resources.
ENOSTR 87 fd not associated with a stream.
ENOSYM 93 Unresolved symbol name. One or more
unresolved external symbols were
found.
ENOSYS 78 Function not implemented.
ENOTBLK 15 Block device required. The specified
device is not a block device.
ENOTCONN 57 Socket is not connected. The socket
is not connected.
ENOTDIR 20 Not a directory. A component of the
pathname is not a directory.
ENOTEMPTY 66 Directory not empty.
ENOTPFS 212 Non-striped regular file in a PFS.
ENOTSOCK 38 Socket operation on non-socket. The
parameter refers to a file not a
socket.
ENOTTY 25 Not a typewriter. The specified
request does not apply to the kind
of object that the descriptor refer-
ences.
ENXIO 6 No such device or address. The dev-
ice or address does not exist.
EOPNOTSUPP 45 Operation not supported on socket.
The socket does not support the
requested operation, or the socket
does not accept the connection.
EPACCES 139 Partition permission denied. The
application has insufficient access
permission on a partition.
EPALLOCERR 130 Allocator internal error.
EPBADNODE 132 Bad node specification.
EPERM 1 Not owner. The calling process does
not have permissions for the opera-
tion.
EPFNOSUPPORT 46 Protocol family not supported.
EPFSBUSY 214 PFS stripe file in use.
EPINGRP 160 Invalid group.
EPINRN 161 Invalid partition rename. Use a sim-
ple name for a partition name.
EPINUSER 159 Invalid user.
EPINVALMOD 136 Invalid mode.
EPINVALPART 133 Partition not found. The specified
partition (or its parent) does not
exist.
EPINVALPRI 134 Invalid priority.
EPINVALSCHED 138 Invalid Scheduling.
EPIPE 32 Broken pipe. An attempt was made to
write to a pipe or FIFO that is not
open for reading by any process.
EPLOCK 162 Partition lock denied. You specified
a partition that is currently in use
and being updated by someone else.
You cannot change the characteris-
tics of a partition that is
currently being used.
EPNOTEMPTY 135 Partition not empty.
EPPARTEXIST 137 Partition exists.
EPROCLIM 67 Too many processes.
EPROCUNAVAIL 76 Bad procedure for program.
EPROGMISMATCH 75 Program version wrong.
EPROGUNAVAIL 74 RPC program not available.
EPROTO 85 Error in protocol.
EPROTONOSUPPORT 43 Protocol not supported. The socket
or protocol is not supported.
EPROTOTYPE 41 Protocol wrong type for socket.
EPXRS 131 Exceeds partition resources.
EQBADFIL 183 Invalid object file. Specify a load-
able file.
EQBLEN 171 Buffer length exceeds allocation.
Make sure the buffer length does not
exceed the buffer size.
EQDIM 195 Invalid dimension.
EQESIZE 205 Invalid size.
EQHND 179 Invalid handler type. Select one of
the handlers listed in the handler
description.
EQLEN 172 Invalid length. Use a non-negative
number or a length that is less than
or equal to the maximum message
length.
EQMEM 190 Not enough memory. Simplify the
application program.
EQMID 178 Invalid message id. Use the message
ID (MID) returned by the irecv() or
isend() functions.
EQMODE 196 Invalid diagnostic channel mode.
EQMSGLONG 174 Received message too long for
buffer. Make sure the buffer is
large enough to hold the message.
EQMSGSHORT 198 Received message too short for
buffer.
EQNOACT 182 No active process. Use the process
ID (PID) of a loaded process.
EQNODE 176 Invalid node. Use the numnodes()
function to determine the partition
size and the myhost() function to
determine the host node number.
EQNOMID 191 Too many requests. Use the msgwait()
function for outstanding requests
from the irecv() or isend() func-
tions.
EQNOPROC 180 Out of process slots. Use fewer
processes.
EQNOSET 193 No ptype defined.
EQPARAM 184 Invalid parameter.
EQPATH 207 Path name too long.
EQPBUF 170 Invalid buffer pointer. Specify a
pointer that contains the address of
a valid data buffer.
EQPCCODE 188 Invalid ccode pointer.
EQPCNODE 186 Invalid cnode pointer.
EQPCPID 187 Invalid cpid pointer. Do not call
the setpid() function again.
EQPFIL 185 Invalid file name pointer.
EQPGRP 209 Supplied processes group does not
exist or is under control of another
TAM.
EQPID 175 Invalid ptype. The PID must not be
negative.
EQPRIV 189 Privileged operation.
EQSET 192 Ptype already set.
EQSTATUS 197 Invalid diagnostic channel status.
EQTAM 208 Max number of applications under
debug was reached.
EQTIME 173 Time limit exceeded.
EQTYPE 177 Invalid type. Use a non-negative
number.
EQUSEPID 181 Ptype already in use. Select another
PID.
EQUSM 194 Invalid diagnostic channel usm id.
ERANGE 34 Result too large. The symbol address
could not be converted into an abso-
lute value.
ERDEOF 206 Attempt to read past end of file.
EREMOTE 71 Item is not local to host.
EREMOTEPORT 102 Returned port is remote.
ERFORK 140 Do an rfork instead of a fork.
EROFS 30 Read-only file system. The directory
in which the file is to be created
is located on a read-only file sys-
tem.
ERPCMISMATCH 73 RPC version is wrong.
ESCHEDCONF 145 Scheduling parameters conflict with
allocator configuration
parameters.The scheduling parameters
conflict with the allocator confi-
guration. See the allocator manual
page.
ESETIO 203 File is not synchronized. In I/O
modes M_SYNC and M_RECORD, all nodes
must read or write synchronously.
ESHUTDOWN 58 Can't send after socket shutdown.
ESOCKTNOSUPPORT 44 Socket type not supported.
ESPIPE 29 Illegal seek. An invalid seek opera-
tion was requested for a pipe
(FIFO), socket, or multiplexed spe-
cial file.
ESRCH 3 No such process. The requested pro-
cess or child process ID is invalid,
no disk quota is found for the
specified user, or the specified
thread ID does not refer to an
existing thread.
ESTALE 70 Missing file or file system. The
process' root or current directory
is located in a virtual file system
that has been unmounted.
ETIME 83 System call timed out.
ETIMEDOUT 60 Connection timed out. The establish-
ment of the connection timed out
before the connection could be made.
ETOOMANYREFS 59 Too many references: can't splice.
ETXTBSY 26 Text file busy. The file is
currently opened for writing by
another process, or a write access
is requested by a pure procedure
(shared text) file that is being
executed.
EUSERS 68 Too many users. There are too many
users.
EVERSION 91 Version mismatch.
EWOULDBLOCK 35 Operation would block. The file is
locked, but blocking is not set. The
socket is marked nonblocking, so the
connection cannot be completed.
EXDEV 18 Cross-device link. The link and the
file are on different file systems.
LIMITATIONS AND WORKAROUNDS
For information about limitations and workarounds, see the
release notes files in /usr/share/release_notes.
SEE ALSO
application, nx_perror(), perror(3)
Acknowledgement and Disclaimer