helos1/libc/include/errno.h
2021-10-10 14:11:45 +08:00

203 lines
6.2 KiB
C

/* Errors <errno.h>
This file is part of the Public Domain C Library (PDCLib).
Permission is granted to use, modify, and / or redistribute at will.
*/
#ifndef _PDCLIB_ERRNO_H
#define _PDCLIB_ERRNO_H _PDCLIB_ERRNO_H
#ifdef __cplusplus
extern "C" {
#endif
#include "pdclib/_PDCLIB_lib_ext1.h"
#include "pdclib/_PDCLIB_internal.h"
/* FIXME: With <threads.h>, this needs to be in thread-specific storage. */
#define errno (*_PDCLIB_errno_func())
/* C only requires the following three */
/* Result too large */
#define ERANGE _PDCLIB_ERANGE
/* Mathematics argument out of domain of function */
#define EDOM _PDCLIB_EDOM
/* Illegal byte sequence */
#define EILSEQ _PDCLIB_EILSEQ
/* C++ additionally requires the folloing */
/* Argument list too long */
#define E2BIG _PDCLIB_E2BIG
/* Permission denied */
#define EACCES _PDCLIB_EACCES
/* Address in use */
#define EADDRINUSE _PDCLIB_EADDRINUSE
/* Address not available */
#define EADDRNOTAVAIL _PDCLIB_EADDRNOTAVAIL
/* Address family not supported */
#define EAFNOSUPPORT _PDCLIB_EAFNOSUPPORT
/* Resource unavailable, try again */
#define EAGAIN _PDCLIB_EAGAIN
/* Connection already in progress */
#define EALREADY _PDCLIB_EALREADY
/* Bad file descriptor */
#define EBADF _PDCLIB_EBADF
/* Bad message */
#define EBADMSG _PDCLIB_EBADMSG
/* Device or resource busy */
#define EBUSY _PDCLIB_EBUSY
/* Operation canceled */
#define ECANCELED _PDCLIB_ECANCELED
/* No child processes */
#define ECHILD _PDCLIB_ECHILD
/* Connection aborted */
#define ECONNABORTED _PDCLIB_ECONNABORTED
/* Connection refused */
#define ECONNREFUSED _PDCLIB_ECONNREFUSED
/* Connection reset */
#define ECONNRESET _PDCLIB_ECONNRESET
/* Resource deadlock would occur */
#define EDEADLK _PDCLIB_EDEADLK
/* Destination address required */
#define EDESTADDRREQ _PDCLIB_EDESTADDRREQ
/* File exists */
#define EEXIST _PDCLIB_EEXIST
/* Bad address */
#define EFAULT _PDCLIB_EFAULT
/* File too large */
#define EFBIG _PDCLIB_EFBIG
/* Host is unreachable */
#define EHOSTUNREACH _PDCLIB_EHOSTUNREACH
/* Identifier removed */
#define EIDRM _PDCLIB_EIDRM
/* Operation in progress */
#define EINPROGRESS _PDCLIB_EINPROGRESS
/* Interrupted function */
#define EINTR _PDCLIB_EINTR
/* Invalid argument */
#define EINVAL _PDCLIB_EINVAL
/* I/O error */
#define EIO _PDCLIB_EIO
/* Socket is connected */
#define EISCONN _PDCLIB_EISCONN
/* Is a directory */
#define EISDIR _PDCLIB_EISDIR
/* Too many levels of symbolic links */
#define ELOOP _PDCLIB_ELOOP
/* File descriptor value too large */
#define EMFILE _PDCLIB_EMFILE
/* Too many links */
#define EMLINK _PDCLIB_EMLINK
/* Message too large */
#define EMSGSIZE _PDCLIB_EMSGSIZE
/* Filename too long */
#define ENAMETOOLONG _PDCLIB_ENAMETOOLONG
/* Network is down */
#define ENETDOWN _PDCLIB_ENETDOWN
/* Connection aborted by network */
#define ENETRESET _PDCLIB_ENETRESET
/* Network unreachable */
#define ENETUNREACH _PDCLIB_ENETUNREACH
/* Too many files open in system */
#define ENFILE _PDCLIB_ENFILE
/* No buffer space available */
#define ENOBUFS _PDCLIB_ENOBUFS
/* No message is available on the STREAM head read queue */
#define ENODATA _PDCLIB_ENODATA
/* No such device */
#define ENODEV _PDCLIB_ENODEV
/* No such file or directory */
#define ENOENT _PDCLIB_ENOENT
/* Executable file format error */
#define ENOEXEC _PDCLIB_ENOEXEC
/* No locks available */
#define ENOLCK _PDCLIB_ENOLCK
/* Link has been severed */
#define ENOLINK _PDCLIB_ENOLINK
/* Not enough space */
#define ENOMEM _PDCLIB_ENOMEM
/* No message of the desired type */
#define ENOMSG _PDCLIB_ENOMSG
/* Protocol not available */
#define ENOPROTOOPT _PDCLIB_ENOPROTOOPT
/* No space left on device */
#define ENOSPC _PDCLIB_ENOSPC
/* No STREAM resources */
#define ENOSR _PDCLIB_ENOSR
/* Not a STREAM */
#define ENOSTR _PDCLIB_ENOSTR
/* Function not supported */
#define ENOSYS _PDCLIB_ENOSYS
/* The socket is not connected */
#define ENOTCONN _PDCLIB_ENOTCONN
/* Not a directory */
#define ENOTDIR _PDCLIB_ENOTDIR
/* Directory not empty */
#define ENOTEMPTY _PDCLIB_ENOTEMPTY
/* State not recoverable */
#define ENOTRECOVERABLE _PDCLIB_ENOTRECOVERABLE
/* Not a socket */
#define ENOTSOCK _PDCLIB_ENOTSOCK
/* Not supported */
#define ENOTSUP _PDCLIB_ENOTSUP
/* Inappropriate I/O control operation */
#define ENOTTY _PDCLIB_ENOTTY
/* No such device or address */
#define ENXIO _PDCLIB_ENXIO
/* Operation not supported on socket */
#define EOPNOTSUPP _PDCLIB_EOPNOTSUPP
/* Value too large to be stored in data type */
#define EOVERFLOW _PDCLIB_EOVERFLOW
/* Previous owner died */
#define EOWNERDEAD _PDCLIB_EOWNERDEAD
/* Operation not permitted */
#define EPERM _PDCLIB_EPERM
/* Broken pipe */
#define EPIPE _PDCLIB_EPIPE
/* Protocol error */
#define EPROTO _PDCLIB_EPROTO
/* Protocol not supported */
#define EPROTONOSUPPORT _PDCLIB_EPROTONOSUPPORT
/* Protocol wrong type for socket */
#define EPROTOTYPE _PDCLIB_EPROTOTYPE
/* Read-only file system */
#define EROFS _PDCLIB_EROFS
/* Invalid seek */
#define ESPIPE _PDCLIB_ESPIPE
/* No such process */
#define ESRCH _PDCLIB_ESRCH
/* Stream ioctl() timeout */
#define ETIME _PDCLIB_ETIME
/* Connection timed out */
#define ETIMEDOUT _PDCLIB_ETIMEDOUT
/* Text file busy */
#define ETXTBSY _PDCLIB_ETXTBSY
/* Operation would block */
#define EWOULDBLOCK _PDCLIB_EWOULDBLOCK
/* Cross-device link */
#define EXDEV _PDCLIB_EXDEV
/* Annex K -- Bounds-checking interfaces */
#if ( __STDC_WANT_LIB_EXT1__ + 0 ) != 0
#ifndef _PDCLIB_ERRNO_T_DEFINED
#define _PDCLIB_ERRNO_T_DEFINED _PDCLIB_ERRNO_T_DEFINED
typedef int errno_t;
#endif
#endif
/* Extension hook for downstream projects that want to have non-standard
extensions to standard headers.
*/
#ifdef _PDCLIB_EXTEND_ERRNO_H
#include _PDCLIB_EXTEND_ERRNO_H
#endif
#ifdef __cplusplus
}
#endif
#endif