errno - phpMan

Command: man perldoc info search(apropos)  


ERRNO(3)                       Library functions                      ERRNO(3)



NAME
       errno - number of last error

SYNOPSIS
       #include <errno.h>

DESCRIPTION
       The  <errno.h> header file defines the integer variable errno, which is set by sys-
       tem calls and some library functions in the event of an error to indicate what went
       wrong.  Its value is significant only when the call returned an error (usually -1),
       and a function that does succeed is allowed to change errno.

       Sometimes, when -1 is also a valid successful return value one has  to  zero  errno
       before the call in order to detect possible errors.

       errno  is  defined by the ISO C standard to be a modifiable lvalue of type int, and
       must not be explicitly declared; errno may be a macro.  errno is thread-local; set-
       ting it in one thread does not affect its value in any other thread.

       Valid  error  numbers  are  all non-zero; errno is never set to zero by any library
       function.  All the error names specified by POSIX.1 must have distinct values, with
       the exception of EAGAIN and EWOULDBLOCK, which may be the same.

       Below  is  a  list  of the symbolic error names that are defined on Linux.  Some of
       these are marked POSIX.1, indicating that the name is defined by  POSIX.1-2001,  or
       C99, indicating that the name is defined by C99.

       E2BIG  Argument list too long (POSIX.1)

       EACCES Permission denied (POSIX.1)

       EADDRINUSE
              Address already in use (POSIX.1)

       EADDRNOTAVAIL
              Address not available (POSIX.1)

       EAFNOSUPPORT
              Address family not supported (POSIX.1)

       EAGAIN Resource  temporarily  unavailable  (may  be  the same value as EWOULDBLOCK)
              (POSIX.1)

       EALREADY
              Connection already in progress (POSIX.1)

       EBADE  Invalid exchange

       EBADF  Bad file descriptor (POSIX.1)

       EBADFD File descriptor in bad state

       EBADMSG
              Bad message (POSIX.1)

       EBADR  Invalid request descriptor

       EBADRQC
              Invalid request code

       EBADSLT
              Invalid slot

       EBUSY  Device or resource busy (POSIX.1)

       ECANCELED
              Operation canceled (POSIX.1)

       ECHILD No child processes (POSIX.1)

       ECHRNG Channel number out of range

       ECOMM  Communication error on send

       ECONNABORTED
              Connection aborted (POSIX.1)

       ECONNREFUSED
              Connection refused (POSIX.1)

       ECONNRESET
              Connection reset (POSIX.1)

       EDEADLK
              Resource deadlock avoided (POSIX.1)

       EDEADLOCK
              Synonym for EDEADLK

       EDESTADDRREQ
              Destination address required (POSIX.1)

       EDOM   Mathematics argument out of domain of function (POSIX.1, C99)

       EDQUOT Disk quota exceeded (POSIX.1)

       EEXIST File exists (POSIX.1)

       EFAULT Bad address (POSIX.1)

       EFBIG  File too large (POSIX.1)

       EHOSTDOWN
              Host is down

       EHOSTUNREACH
              Host is unreachable (POSIX.1)

       EIDRM  Identifier removed (POSIX.1)

       EILSEQ Illegal byte sequence (POSIX.1, C99)

       EINPROGRESS
              Operation in progress (POSIX.1)

       EINTR  Interrupted function call (POSIX.1)

       EINVAL Invalid argument (POSIX.1)

       EIO    Input/output error (POSIX.1)

       EISCONN
              Socket is connected (POSIX.1)

       EISDIR Is a directory (POSIX.1)

       EISNAM Is a named type file

       EKEYEXPIRED
              Key has expired

       EKEYREJECTED
              Key was rejected by service

       EKEYREVOKED
              Key has been revoked

       EL2HLT Level 2 halted

       EL2NSYNC
              Level 2 not synchronized

       EL3HLT Level 3 halted

       EL3RST Level 3 halted

       ELIBACC
              Cannot access a needed shared library

       ELIBBAD
              Accessing a corrupted shared library

       ELIBMAX
              Attempting to link in too many shared libraries

       ELIBSCN
              lib section in a.out corrupted

       ELIBEXEC
              Cannot exec a shared library directly

       ELOOP  Too many levels of symbolic links (POSIX.1)

       EMEDIUMTYPE
              Wrong medium type

       EMFILE Too many open files (POSIX.1)

       EMLINK Too many links (POSIX.1)

       EMSGSIZE
              Message too long (POSIX.1)

       EMULTIHOP
              Multihop attempted (POSIX.1)

       ENAMETOOLONG
              Filename too long (POSIX.1)

       ENETDOWN
              Network is down (POSIX.1)

       ENETRESET
              Connection aborted by network (POSIX.1)

       ENETUNREACH
              Network unreachable (POSIX.1)

       ENFILE Too many open files in system (POSIX.1)

       ENOBUFS
              No buffer space available (POSIX.1 (XSI STREAMS option))

       ENODATA
              No message is available on the STREAM head read queue (POSIX.1)

       ENODEV No such device (POSIX.1)

       ENOENT No such file or directory (POSIX.1)

       ENOEXEC
              Exec format error (POSIX.1)

       ENOKEY Required key not available

       ENOLCK No locks available (POSIX.1)

       ENOLINK
              Link has been severed (POSIX.1)

       ENOMEDIUM
              No medium found

       ENOMEM Not enough space (POSIX.1)

       ENOMSG No message of the desired type (POSIX.1)

       ENONET Machine is not on the network

       ENOPKG Package not installed

       ENOPROTOOPT
              Protocol not available (POSIX.1)

       ENOSPC No space left on device (POSIX.1)

       ENOSR  No STREAM resources (POSIX.1 (XSI STREAMS option))

       ENOSTR Not a STREAM (POSIX.1 (XSI STREAMS option))

       ENOSYS Function not implemented (POSIX.1)

       ENOTBLK
              Block device required

       ENOTCONN
              The socket is not connected (POSIX.1)

       ENOTDIR
              Not a directory (POSIX.1)

       ENOTEMPTY
              Directory not empty (POSIX.1)

       ENOTSOCK
              Not a socket (POSIX.1)

       ENOTSUP
              Operation not supported (POSIX.1)

       ENOTTY Inappropriate I/O control operation (POSIX.1)

       ENOTUNIQ
              Name not unique on network

       ENXIO  No such device or address (POSIX.1)

       EOPNOTSUPP
              Operation not supported on socket (POSIX.1)

              (ENOTSUP and EOPNOTSUPP have the same  value  on  Linux,  but  according  to
              POSIX.1 these error values should be distinct.)

       EOVERFLOW
              Value too large to be stored in data type (POSIX.1)

       EPERM  Operation not permitted (POSIX.1)

       EPFNOSUPPORT
              Protocol family not supported

       EPIPE  Broken pipe (POSIX.1)

       EPROTO Protocol error (POSIX.1)

       EPROTONOSUPPORT
              Protocol not supported (POSIX.1)

       EPROTOTYPE
              Protocol wrong type for socket (POSIX.1)

       ERANGE Result too large (POSIX.1, C99)

       EREMCHG
              Remote address changed

       EREMOTE
              Object is remote

       EREMOTEIO
              Remote I/O error

       ERESTART
              Interrupted system call should be restarted

       EROFS  Read-only file system (POSIX.1)

       ESHUTDOWN
              Cannot send after transport endpoint shutdown

       ESPIPE Invalid seek (POSIX.1)

       ESOCKTNOSUPPORT
              Socket type not supported

       ESRCH  No such process (POSIX.1)

       ESTALE Stale file handle (POSIX.1))

              This error can occur for NFS and for other file systems

       ESTRPIPE
              Streams pipe error

       ETIME  Timer expired (POSIX.1 (XSI STREAMS option))

              (POSIX.1 says "STREAM ioctl() timeout")

       ETIMEDOUT
              Connection timed out (POSIX.1)

       ETXTBSY
              Text file busy (POSIX.1)

       EUCLEAN
              Structure needs cleaning

       EUNATCH
              Protocol driver not attached

       EUSERS Too many users

       EWOULDBLOCK
              Operation would block (may be same value as EAGAIN) (POSIX.1)

       EXDEV  Improper link (POSIX.1)

       EXFULL Exchange full

NOTES
       A common mistake is to do

              if (somecall() == -1) {
                  printf("somecall() failed\n");
                  if (errno == ...) { ... }
              }

       where  errno  no  longer needs to have the value it had upon return from somecall()
       (i.e., it may have been changed by the printf()).  If the value of errno should  be
       preserved across a library call, it must be saved:

              if (somecall() == -1) {
                  int errsv = errno;
                  printf("somecall() failed\n");
                  if (errsv == ...) { ... }
              }

       It  was  common in traditional C to declare errno manually (i.e., extern int errno)
       instead of including <errno.h>.  Do not do this.  It will not work with modern ver-
       sions  of  the  C  library.   However,  on (very) old Unix systems, there may be no
       <errno.h> and the declaration is needed.

SEE ALSO
       err(3), error(3), perror(3), strerror(3)



                                  2006-02-09                          ERRNO(3)

Generated by $Id: phpMan.php,v 4.54 2007/08/21 09:05:22 chedong Exp $ Author: Che Dong
On Apache/2.2.3 (Red Hat)
Under GNU General Public License
2009-11-10 01:37 @127.0.0.1 CrawledBy CCBot/1.0 (+http://www.commoncrawl.org/bot.html)
Valid XHTML 1.0!Valid CSS!