Back to index

glibc  2.9
errno.h
Go to the documentation of this file.
00001 /* Copyright (C) 1991, 1994, 1996, 1997, 1998 Free Software Foundation, Inc.
00002    This file is part of the GNU C Library.
00003 
00004    The GNU C Library is free software; you can redistribute it and/or
00005    modify it under the terms of the GNU Lesser General Public
00006    License as published by the Free Software Foundation; either
00007    version 2.1 of the License, or (at your option) any later version.
00008 
00009    The GNU C Library is distributed in the hope that it will be useful,
00010    but WITHOUT ANY WARRANTY; without even the implied warranty of
00011    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012    Lesser General Public License for more details.
00013 
00014    You should have received a copy of the GNU Lesser General Public
00015    License along with the GNU C Library; if not, write to the Free
00016    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
00017    02111-1307 USA.  */
00018 
00019 /* This file defines the `errno' constants.  */
00020 
00021 #if !defined __Emath_defined && (defined _ERRNO_H || defined __need_Emath)
00022 #undef __need_Emath
00023 #define       __Emath_defined      1
00024 
00025 # define EDOM 33     /* Math argument out of domain of function.  */
00026 # define EILSEQ      88     /* Illegal byte sequence.  */
00027 # define ERANGE      34     /* Math result not representable.  */
00028 #endif
00029 
00030 #ifdef _ERRNO_H
00031 /* All error codes the system knows about.  */
00032 
00033 # define EPERM              1      /* Not super-user.  */
00034 # define ENOENT             2      /* No such file or directory.  */
00035 # define ESRCH              3      /* No such process.  */
00036 # define EINTR              4      /* Interrupted system call.  */
00037 # define EIO         5      /* I/O error.  */
00038 # define ENXIO              6      /* No such device or address.  */
00039 # define E2BIG              7      /* Arg list too long.  */
00040 # define ENOEXEC     8      /* Exec format error.  */
00041 # define EBADF              9      /* Bad file number.  */
00042 # define ECHILD             10     /* No children.  */
00043 # define EAGAIN             11     /* Resource temporarily unavailable.  */
00044 # define EWOULDBLOCK EAGAIN
00045 # define ENOMEM             12     /* Not enough core.  */
00046 # define EACCES             13     /* Permission denied.  */
00047 # define EFAULT             14     /* Bad address.  */
00048 # define ENOTBLK     15     /* Block device required.  */
00049 # define EBUSY              16     /* Mount device busy.  */
00050 # define EEXIST             17     /* File exists.  */
00051 # define EXDEV              18     /* Cross-device link.  */
00052 # define ENODEV             19     /* No such device.  */
00053 # define ENOTDIR     20     /* Not a directory.  */
00054 # define EISDIR             21     /* Is a directory.  */
00055 # define EINVAL             22     /* Invalid argument.  */
00056 # define ENFILE             23     /* File table overflow.  */
00057 # define EMFILE             24     /* Too many open files.  */
00058 # define ENOTTY             25     /* Inappropriate ioctl for device.  */
00059 # define ETXTBSY     26     /* Text file busy.  */
00060 # define EFBIG              27     /* File too large.  */
00061 # define ENOSPC             28     /* No space left on device.  */
00062 # define ESPIPE             29     /* Illegal seek.  */
00063 # define EROFS              30     /* Read only file system.  */
00064 # define EMLINK             31     /* Too many links.  */
00065 # define EPIPE              32     /* Broken pipe.  */
00066 # define ENOMSG             35     /* No message of desired type.  */
00067 # define EIDRM              36     /* Identifier removed.  */
00068 # define ECHRNG             37     /* Channel number out of range.  */
00069 # define EL2NSYNC    38     /* Level 2 not synchronized.  */
00070 # define EL3HLT             39     /* Level 3 halted.  */
00071 # define EL3RST             40     /* Level 3 reset.  */
00072 # define ELNRNG             41     /* Link number out of range.  */
00073 # define EUNATCH     42     /* Protocol driver not attached.  */
00074 # define ENOCSI             43     /* No CSI structure available.  */
00075 # define EL2HLT             44     /* Level 2 halted.  */
00076 # define EDEADLK     45     /* Deadlock condition.  */
00077 # define ENOLCK             46     /* No record locks available.  */
00078 # define ECANCELED   47     /* Operation canceled.  */
00079 # define ENOTSUP     48     /* Operation not supported.  */
00080 
00081 /* Filesystem Quotas.  */
00082 # define EDQUOT             49     /* Disc quota exceeded.  */
00083 
00084 /* Convergent Error Returns.  */
00085 # define EBADE              50     /* Invalid exchange.  */
00086 # define EBADR              51     /* Invalid request descriptor.  */
00087 # define EXFULL             52     /* Exchange full.  */
00088 # define ENOANO             53     /* No anode.  */
00089 # define EBADRQC     54     /* Invalid request code.  */
00090 # define EBADSLT     55     /* Invalid slot.  */
00091 # define EDEADLOCK   56     /* File locking deadlock error.  */
00092 
00093 # define EBFONT             57     /* Bad font file fmt.  */
00094 
00095 /* STREAM problems.  */
00096 # define ENOSTR             60     /* Device not a stream.  */
00097 # define ENODATA     61     /* No data (for no delay io).  */
00098 # define ETIME              62     /* Timer expired.  */
00099 # define ENOSR              63     /* Out of streams resources.  */
00100 
00101 # define ENONET             64     /* Machine is not on the network.  */
00102 # define ENOPKG             65     /* Package not installed.  */
00103 # define EREMOTE     66     /* The object is remote.  */
00104 # define ENOLINK     67     /* The link has been severed.  */
00105 # define EADV        68     /* Advertise error.  */
00106 # define ESRMNT             69     /* Srmount error.  */
00107 
00108 # define ECOMM              70     /* Communication error on send.  */
00109 # define EPROTO             71     /* Protocol error.  */
00110 # define EMULTIHOP   74     /* Multihop attempted.  */
00111 # define EBADMSG     77     /* Trying to read unreadable message.  */
00112 # define ENAMETOOLONG       78     /* Path name is too long.  */
00113 # define EOVERFLOW   79     /* Value too large to be stored in data type.*/
00114 # define ENOTUNIQ    80     /* Given log. name not unique.  */
00115 # define EBADFD             81     /* F.d. invalid for this operation.  */
00116 # define EREMCHG     82     /* Remote address changed.  */
00117 
00118 /* Shared library problems.  */
00119 # define ELIBACC     83     /* Can't access a needed shared lib.  */
00120 # define ELIBBAD     84     /* Accessing a corrupted shared lib.  */
00121 # define ELIBSCN     85     /* .lib section in a.out corrupted.  */
00122 # define ELIBMAX     86     /* Attempting to link in too many libs.  */
00123 # define ELIBEXEC    87     /* Attempting to exec a shared library.  */
00124 # define ENOSYS             89     /* Unsupported file system operation.  */
00125 # define ELOOP              90     /* Symbolic link loop.  */
00126 # define ERESTART    91     /* Restartable system call.  */
00127 # define ESTRPIPE    92     /* If pipe/FIFO, don't sleep in stream head. */
00128 # define ENOTEMPTY   93     /* Directory not empty.  */
00129 # define EUSERS             94     /* Too many users (for UFS).  */
00130 
00131 /* BSD Networking Software: argument errors.  */
00132 # define ENOTSOCK    95     /* Socket operation on non-socket.  */
00133 # define EDESTADDRREQ       96     /* Destination address required.  */
00134 # define EMSGSIZE    97     /* Message too long.  */
00135 # define EPROTOTYPE  98     /* Protocol wrong type for socket.  */
00136 # define ENOPROTOOPT 99     /* Protocol not available.  */
00137 # define EPROTONOSUPPORT 120       /* Protocol not supported.  */
00138 # define ESOCKTNOSUPPORT 121       /* Socket type not supported.  */
00139 # define EOPNOTSUPP  122    /* Operation not supported on socket.  */
00140 # define EPFNOSUPPORT       123    /* Protocol family not supported.  */
00141 # define EAFNOSUPPORT       124    /* Address family not supported by
00142                                protocol family.  */
00143 # define EADDRINUSE  125    /* Address already in use.  */
00144 # define EADDRNOTAVAIL      126    /* Can't assign requested address.  */
00145 /* BSD Networking Software: operational errors.  */
00146 # define ENETDOWN    127    /* Network is down.  */
00147 # define ENETUNREACH 128    /* Network is unreachable.  */
00148 # define ENETRESET   129    /* Network dropped connection because
00149                                of reset.  */
00150 # define ECONNABORTED       130    /* Software caused connection abort.  */
00151 # define ECONNRESET  131    /* Connection reset by peer.  */
00152 # define ENOBUFS     132    /* No buffer space available.  */
00153 # define EISCONN     133    /* Socket is already connected.  */
00154 # define ENOTCONN    134    /* Socket is not connected.  */
00155 /* XENIX has 135 - 142.  */
00156 # define ESHUTDOWN   143    /* Can't send after socket shutdown.  */
00157 # define ETOOMANYREFS       144    /* Too many references: can't splice.  */
00158 # define ETIMEDOUT   145    /* Connection timed out.  */
00159 # define ECONNREFUSED       146    /* Connection refused.  */
00160 # define EHOSTDOWN   147    /* Host is down.  */
00161 # define EHOSTUNREACH       148    /* No route to host.  */
00162 # define EALREADY    149    /* operation already in progress.  */
00163 # define EINPROGRESS 150    /* operation now in progress.  */
00164 
00165 /* SUN Network File System.  */
00166 # define ESTALE             151     /* Stale NFS file handle.  */
00167 
00168 #endif