File:  [MW Coherent from dump] / coherent / f / usr / include / sys / errno.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Wed May 29 04:56:40 2019 UTC (7 years, 2 months ago) by root
Branches: MarkWilliams, MAIN
CVS tags: relic, HEAD
coherent

#ifndef	__SYS_ERRNO_H__
#define	__SYS_ERRNO_H__

/*
 * Error numbers for DDI/DKI drivers, as described in errnos (D5DK) in the
 * System V, Release 4 Multiprocessor "Device Driver Interface/Driver-Kernel
 * Interface Reference Manual". The additional commentary for the error
 * numbers also comes from this source, along with commentary from the SVR4
 * "Programmer's Reference Manual". RFS errors have not been included.
 *
 * Actual numeric values of error constants are derived from the System V ABI
 * "Intel 386 Processor Supplement".
 *
 * If these definitions are to be imported by <errno.h>, they *must* be macros
 * rather than enumerations or other kinds of constant, as required by the ISO
 * C standard (ISO/IEC 9989-1990).
 *
 * User-level programs should not use this file directly.
 */

#define	EPERM		1
	/*
	 * PRM: Not super-user. Typically this error indicates an attempt to
	 * modify a file in some way forbidden except to its owner or the
	 * super-user. It is also returned for attempts by ordinary users to
	 * do things only permitted to the super-user.
	 *
	 * DDI/DKI: Permission denied. Drivers can return this error when an
	 * operation is attempted that requires more privelege than the
	 * current process has.
	 */
#define	ENOENT		2
	/*
	 * PRM: 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 path
	 * name does not exist.
	 */
#define	ESRCH		3
	/*
	 * PRM: No such process. No process can be found corresponding to that
	 * specified by PID in the kill () or ptrace () routine.
	 */
#define	EINTR		4
	/*
	 * PRM: 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.
	 *
	 * DDI/DKI: Interrupted operation. Drivers can return this error
	 * whenever an interruptible operation is interrupted by receipt of an
	 * asynchronous signal.
	 */
#define	EIO		5
	/*
	 * PRM: 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.
	 *
	 * DDI/DKI: An I/O error has occurred. Drivers can return this error
	 * when an input or output request has failed.
	 */
#define	ENXIO		6
	/*
	 * PRM: No such device or address. I/O on a special file refers to a
	 * subdevice which does not exists, 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.
	 *
	 * DDI/DKI: No such device or address. Drivers can return this error
	 * when trying to open an invalid minor device, or when trying to
	 * perform I/O past the end of a device.
	 */
#define	E2BIG		7
	/*
	 * PRM: Argument list too long. An argument list longer than ARG_MAX
	 * bytes is presented to a member of the exec... () 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.
	 */
#define	ENOEXEC		8
	/*
	 * PRM: 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.
	 */
#define	EBADF		9
	/*
	 * PRM: 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].
	 */
#define	ECHILD		10
	/*
	 * PRM: No child processes. A wait () routine was executed by a
	 * process that has no existing or unwaited-for child processes.
	 */
#define	EAGAIN		11
	/*
	 * PRM: No more processes. For example, a fork () 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.
	 *
	 * DDI/DKI: Temporary resource allocation failure; try again later.
	 * Drivers can return this error when resource allocation fails, for
	 * example kmem_alloc () or allocb ().
	 */
#define	ENOMEM		12
	/*
	 * PRM: Not enough space. During execution of an exec (), brk (), or
	 * sbrk () 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 ()
	 * routine.
	 *
	 * DDI/DKI: Not enough memory. Drivers can return this error when
	 * resource allocation fails and it is either inconvenient or
	 * impossible for a retry to occur.
	 */
#define	EACCES		13
	/*
	 * PRM, DDI/DKI: Permission denied. An attempt was made to access a
	 * file in a way forbidden by its file access permissions.
	 */
#define	EFAULT		14
	/*
	 * PRM: 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.
	 *
	 * DDI/DKI: Bad address. Drivers should return this error whenever a
	 * call to copyin () or copyout () fails.
	 */
#define	ENOTBLK		15
	/*
	 * PRM: Block device required. A non-block file was mentioned where a
	 * block device was required (e.g., in a call to the mount ()
	 * routine).
	 */
#define	EBUSY		16
	/*
	 * PRM: Device busy. An attempt was made to mount a device that was
	 * already mounted or an attempt was made to unmount a device on which
	 * there is an active file (open file, current directory, mounted-on
	 * file, active text segment). It will also occur if an attempt it
	 * made to enable accounting when it is already enabled. The device or
	 * resource is currently unavailable.
	 *
	 * DDI/DKI: Device is busy. This can be used for devices that require
	 * exclusive access.
	 */
#define EEXIST		17
	/*
	 * PRM: File exists. An existing file was mentioned in an
	 * inappropriate context (e.g., call to the link () routine).
	 */
#define	EXDEV		18
	/*
	 * PRM: Cross-device link. A link to a file on another device was
	 * attempted.
	 */
#define	ENODEV		19
	/*
	 * PRM: No such device. An attempt was made to apply an inappropriate
	 * operation to a device (e.g., read a write-only device).
	 *
	 * DDI/DKI: No such device. Drivers can return this error when an
	 * attempt is made to apply an inappropriate function to a device; for
	 * example, trying to write a write-protected medium.
	 */
#define ENOTDIR		20
	/*
	 * PRM: Not a directory. A non-directory was specified where a
	 * directory is required (e.g., in a path prefix or as an argument to
	 * the chdir () routine).
	 */
#define	EISDIR		21
	/*
	 * PRM: Is a directory. An attempt was made to write on a directory.
	 */
#define	EINVAL		22
	/*
	 * PRM: Invalid argument. An invalid argument was specified (e.g.,
	 * unmounting a non-mounted device, mentioning an undefined signal in
	 * a call to the signal () or kill () routines).
	 *
	 * DDI/DKI: Invalid argument. Drivers can return this error for
	 * operations that have invalid parameters specified.
	 */
#define	ENFILE		23
	/*
	 * PRM: File table overflow. The system file table is full (i.e.,
	 * SYS_OPEN files are open, and temporarily no more files can be
	 * opened).
	 */
#define	EMFILE		24
	/*
	 * PRM: Too many open files. No process can have more than OPEN_MAX
	 * file descriptors open at a time.
	 */
#define	ENOTTY		25
	/*
	 * PRM: Not a typewriter. A call was made to the ioctl () routine
	 * specifying a file that is not a special character device.
	 */
#define	ETXTBSY		26
	/*
	 * PRM: Text file busy. An attempt was made to execute a pure-
	 * procedure program that is currently open for writing, or an attempt
	 * to open for writing (or to remove) a pure-procedure program that is
	 * being executed.
	 */
#define	EFBIG		27
	/*
	 * PRM: File too large. The size of a file exceeded the maximum file
	 * size, FCHR_MAX [see getrlimit ()].
	 */
#define	ENOSPC		28
	/*
	 * PRM: No space left on device. When writing an ordinary file or
	 * creating a directory entry, there is no free space left on the
	 * device.
	 *
	 * DDI/DKI: The device is out of free space.
	 */
#define	ESPIPE		29
	/*
	 * PRM: Illegal seek. A call to the lseek () routine was issued to a
	 * pipe.
	 */
#define	EROFS		30
	/*
	 * PRM: Read-only file system. An attempt to modify a file or
	 * directory was made on a device mounted read-only.
	 */
#define	EMLINK		31
	/*
	 * PRM: Too many links. An attempt to make more than the maximum
	 * number of links, LINK_MAX, to a file.
	 */
#define	EPIPE		32
	/*
	 * PRM: 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.
	 */
#define	EDOM		33
	/*
	 * PRM: Math argument out of domain of function. The argument of a
	 * function in the math package is out of the domain of the function.
	 */
#define	ERANGE		34
	/*
	 * PRM: Math result not representable. The value of a function in the
	 * math package is not representable within machine precision.
	 */
#define	ENOMSG		35
	/*
	 * PRM: No message of desired type. An attempt was made to retrieve a
	 * message of a type that does not exist on the specified message
	 * queue [see msgop ()].
	 */
#define	EIDRM		36
	/*
	 * PRM: Identifier removed. This error is returned to processes that
	 * resume execution due to the removal of an identifier from the file
	 * system's name space [see msgctl (), semctl (), and shmctl ()].
	 */
#define	EDEADLK		45
	/*
	 * PRM: Deadlock condition. A deadlock situation was detected and
	 * avoided. This error pertains to file and record locking.
	 */
#define	ENOLCK		46
	/*
	 * PRM: No record locks available. There are no more locks available.
	 * The system lock table is full [see fcntl ()].
	 */
#define	ENOSTR		60
	/*
	 * PRM: Device not a stream. A putmsg () or getmsg () system call was
	 * attempted on a file descriptor that is not a STREAMS device.
	 */
#define	ENODATA		61
	/*
	 * PRM: No data available.
	 *
	 * Returned from an I_GETBAND ioctl ().
	 */
#define	ETIME		62
	/*
	 * PRM: Timer expired. The timer set for a STREAMS ioctl () 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 () operation is indeterminate.
	 */
#define	ENOSR		63
	/*
	 * PRM: Out of STREAMS resources. During a STREAMS open 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.
	 */
#define	ENOPKG		65
	/*
	 * PRM: Package not installed. This error occurs when users attempt to
	 * use a system call from a package which has not been installed.
	 */
#define	EPROTO		71
	/*
	 * PRM: Protocol error. Some protocol error has occurred. This error
	 * is device-specific, but is generally not related to a hardware
	 * failure.
	 *
	 * DDI/DKI: Protocol error. Drivers can return this error when they
	 * incur a protocol error, such as not being able to generate the
	 * proper protocol message because of resource exhaustion, and not
	 * being able to recover gracefully.
	 */
#define EBADMSG		77
	/*
	 * PRM: Not a data message. During a read (), getmsg (), or ioctl ()
	 * I_RECVFD system call to a STREAMS device, something has come to the
	 * head of the queue that cannot 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.
	 */
#define	ENAMETOOLONG	78
	/*
	 * PRM: File name too long. The length of a path argument exceeds
	 * PATH_MAX, or the length of a path component exceeds NAME_MAX while
	 * _POSIX_NO_TRUNC is in effect; see limits(4).
	 */
#define	EOVERFLOW	79
	/*
	 * PRM: Value too large for defined data type.
	 *
	 * This can happen due to differences in data formats between system
	 * revisions; for instance, some system data such as user IDs and
	 * device IDs may be too large to deliver to an application built for
	 * an earlier system revision.
	 */
#define	ENOTUNIQ	80
	/*
	 * PRM: Name not unique on network.
	 */
#define	EBADFD		81
	/*
	 * PRM: 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.
	 */
#define	EREMCHG		82
	/*
	 * PRM: Remote address changed.
	 */
#define	ELIBACC		83
	/*
	 * PRM: Cannot access a needed shared library. Trying to exec () an
	 * "a.out" that requires a static shared library and the static shared
	 * library doesn't exist or the user doesn't have permissions to use
	 * it.
	 */
#define	ELIBBAD		84
	/*
	 * PRM: Accessing a corrupted shared library. Trying to exec () an
	 * "a.out" that requires a static shared library and exec () could not
	 * load the static shared library. The static shared library is
	 * probably corrupted.
	 */
#define	ELIBSCN		85
	/*
	 * PRM: ".lib" section in "a.out" corrupted. Trying to exec () an
	 * "a.out" that requires a static shared library and there was
	 * erroneous data in the ".lib" section of the "a.out". The ".lib"
	 * section tells exec () what static shared libraries are needed. The
	 * "a.out" is probably corrupted.
	 */
#define	ELIBMAX		86
	/*
	 * PRM: Attempting to link in more shared libraries than system limit.
	 * Trying to exec () an "a.out" that requires more static shared
	 * libraries than is allowed on the current configuration of the
	 * system.
	 */
#define	ELIBEXEC	87
	/*
	 * PRM: Cannot exec () a shared library directly.
	 */
#define	EILSEQ		88
	/*
	 * PRM: Illegal byte sequence. Handle multiple characters as a single
	 * character.
	 */
#define	ENOSYS		89
	/*
	 * PRM: Operation not applicable.
	 */
#define	ELOOP		90
	/*
	 * PRM: Number of symbolic links encountered during path name
	 * traversal exceeds MAXSYMLINKS.
	 */
#define	EUSERS		94
	/*
	 * PRM: Too many users.
	 */
#define	ENOTSOCK	95
	/*
	 * PRM: Socket operation on non-socket.
	 */
#define	EDESTADDRREQ	96
	/*
	 * PRM, DDI/DKI: Destination address required. A required destination
	 * address was omitted from an operation on a transport endpoint.
	 */
#define	EMSGSIZE	97
	/*
	 * PRM, DDI/DKI: Message too long. A message sent on a transport
	 * provider was larger than the internal message buffer or some other
	 * network limit.
	 */
#define	EPROTOTYPE	98
	/*
	 * PRM: Protocol wrong type for socket. A protocol was specified that
	 * does not support the semantics of the socket type requested.
	 */
#define	ENOPROTOOPT	99
	/*
	 * PRM: Protocol not available. A bad option or level was specified
	 * when getting or setting options for a protocol.
	 *
	 * DDI/DKI: The protocol option requested is not available at the
	 * level indicated.
	 */
#define	EPROTONOSUPPORT	120
	/*
	 * PRM: Protocol not supported. The protocol has not been configured
	 * into the system or no implementation for it exists.
	 */
#define	ESOCKTNOSUPPORT	121
	/*
	 * PRM: Socket type not supported. The support for the socket type has
	 * not been configured into the system or no implementation for it
	 * exists.
	 */
#define	EOPNOTSUPP	122
	/*
	 * PRM: Operation not supported on transport endpoint. For example,
	 * trying to accept a connection on a datagram transport endpoint.
	 */
#define	EPFNOSUPPORT	123
	/*
	 * PRM: 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.
	 */
#define	EAFNOSUPPORT	124
	/*
	 * PRM: Address family not supported by protocol family. An address
	 * incompatible with the requested protocol was used.
	 *
	 * DDI/DKI: The address family specified is not installed or supported
	 * on the host.
	 */
#define	EADDRINUSE	125
	/*
	 * PRM, DDI/DKI: Address already in use. User attempted to use an
	 * address already in use, and the protocol does not allow this.
	 */
#define	EADDRNOTAVAIL	126
	/*
	 * PRM, DDI/DKI: Cannot assign requested address. Results from an
	 * attempt to create a transport endpoint with an address not on the
	 * current machine.
	 */
#define	ENETDOWN	127
	/*
	 * PRM, DDI/DKI: Network is down. Operation encountered a dead
	 * network.
	 */
#define	ENETUNREACH	128
	/*
	 * PRM, DDI/DKI: Network is unreachable. Operation was attempted to an
	 * unreachable network.
	 */
#define	ENETRESET	129
	/*
	 * PRM, DDI/DKI: Network dropped connection because of reset. The host
	 * or network you were connected to crashed and rebooted.
	 */
#define	ECONNABORTED	130
	/*
	 * PRM, DDI/DKI: Software-caused connection abort. A received
	 * connection request was aborted was aborted when the peer closed its
	 * endpoint.
	 */
#define	ECONNRESET	131
	/*
	 * PRM, DDI/DKI: 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.
	 */
#define	ENOBUFS		132
	/*
	 * PRM, DDI/DKI: 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.
	 */
#define	EISCONN		133
	/*
	 * PRM, DDI/DKI: Transport endpoint is already connected. A connect
	 * request was made on an already connected transport endpoint; or, a
	 * sendto () or sendmsg () request on a connected transport endpoint
	 * specified a destination when already connected.
	 */
#define	ENOTCONN	134
	/*
	 * PRM, DDI/DKI: Transport endpoint is not connected. A request to
	 * send or receive data was disallowed because the transport endpoint
	 * is not connected, or (when sending a datagram) no address was
	 * supplied.
	 */
#define	ESHUTDOWN	143
	/*
	 * PRM, DDI/DKI: Cannot send after transport endpoint shutdown. A
	 * request to send data was disallowed because the transport endpoint
	 * has already been shut down.
	 */
#define	ETIMEDOUT	145
	/*
	 * PRM, DDI/DKI: Connection timed out. A connect or sent request
	 * failed because the connected party did not properly respond after
	 * a period of time (the timeout period is dependent on the transport
	 * protocol).
	 */
#define	ECONNREFUSED	146
	/*
	 * PRM, DDI/DKI: 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.
	 */
#define	EHOSTDOWN	147
	/*
	 * PRM, DDI/DKI: Host is down. A transport provider operation failed
	 * because the destination host was down.
	 */
#define	EHOSTUNREACH	148
	/*
	 * PRM, DDI/DKI: No route to host. A transport provider operation was
	 * attempted to an unreachable host.
	 */
#define	EALREADY	149
	/*
	 * PRM, DDI/DKI: Operation already in progress. An operation was
	 * attempted on a non-blocking object that already had an operation in
	 * progress.
	 */
#define	EINPROGRESS	150
	/*
	 * PRM, DDI/DKI: Operation now in progress. An operation that takes a
	 * long time to complete (such as a connect) was attempted on a non-
	 * blocking object.
	 */
#define	ESTALE		151
	/*
	 * PRM: Stale NFS file handle.
	 */


#endif	/* ! defined (__SYS_ERRNO_H__) */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.