Magic Variables Affecting IO


 
Network Programming with Perl
By Lincoln  D.  Stein
Slots : 1
Table of Contents
Appendix B.   Perl Error Codes and Special Variables

    Content

System Error Constants

Perl's Errno.pm module exports system error constants for use with the $! variable. When evaluated in a numeric context, $! returns the error constant listed in the first column of Table B.1. In a string context, $! returns the human-readable message given in the second column.

Table B.1. lists error messages that will be seen in a version of Perl compiled under Linux and glibc version 2.1 but that are reasonably well standardized across other UNIX variants. The Macintosh and Windows ports recognize a subset of these constants. Additionally, these ports have platform-specific errors that are reported in the $^E variable.

Table B.1. Linux and glibc Error Messages
Error Constant Message
E2BIG Arg list too long
EACCES Permission denied
EADDRINUSE Address already in use
EADDRNOTAVAIL Cannot assign requested address
EADV Advertise error
EAFNOSUPPORT Address family not supported by protocol
EAGAIN Try again
EALREADY Operation already in progress
EBADE Invalid exchange
EBADF Bad file number
EBADFD File descriptor in bad state
EBADMSG Not a data message
EBADR Invalid request descriptor
EBADRQC Invalid request code
EBADSLT Invalid slot
EBFONT Bad font file format
EBUSY Device or resource busy
ECHILD No child processes
ECHRNG Channel number out of range
ECOMM Communication error on send
ECONNABORTED Software caused connection abort
ECONNREFUSED Connection refused
ECONNRESET Connection reset by peer
EDEADLK Resource deadlock would occur
EDESTADDRREQ Destination address required
EDOM Math argument out of domain of func
EDOTDOT RFS specific error
EDQUOT Quota exceeded
EEXIST File exists
EFAULT Bad address
EFBIG File too large
EHOSTDOWN Host is down
EHOSTUNREACH No route to host
EIDRM Identifier removed
EILSEQ Illegal byte sequence
EINPROGRESS Operation now in progress
EINTR Interrupted system call
EINVAL Invalid argument
EIO I/O error
EISCONN Transport endpoint is already connected
EISDIR Is a directory
EISNAM Is a named type file
EL2HLT Level 2 halted
EL2NSYNC Level 2 not synchronized
EL3HLT Level 3 halted
EL3RST Level 3 reset
ELIBACC Cannot access a needed shared library
ELIBBAD Accessing a corrupted shared library
ELIBEXEC Cannot exec a shared library directly
ELIBMAX Attempting to link in too many shared libraries
ELIBSCN .lib section in a.out corrupted
ELNRNG Link number out of range
ELOOP Too many symbolic links encountered
EMEDIUMTYPE Wrong medium type
EMFILE Too many open files
EMLINK Too many links
EMSGSIZE Message too long
EMULTIHOP Multihop attempted
ENAMETOOLONG Filename too long
ENAVAIL No XENIX semaphores available
ENETDOWN Network is down
ENETRESET Network dropped connection because of reset
ENETUNREACH Network is unreachable
ENFILE File table overflow
ENOANO No anode
ENOBUFS No buffer space available
ENOCSI No CSI structure available
ENODATA No data available
ENODEV No such device
ENOENT No such file or directory
ENOEXEC Exec format error
ENOLCK No record locks available
ENOLINK Link has been severed
ENOMEDIUM No medium found
ENOMEM Out of memory
ENOMSG No message of desired type
ENONET Machine is not on the network
ENOPKG Package not installed
ENOPROTOOPT Protocol not available
ENOSPC No space left on device
ENOSR Out of streams resources
ENOSTR Device not a stream
ENOSYS Function not implemented
ENOTBLK Block device required
ENOTCONN Transport endpoint is not connected
ENOTDIR Not a directory
ENOTEMPTY Directory not empty
ENOTNAM Not a XENIX named type file
ENOTSOCK Socket operation on nonsocket
ENOTTY Not a typewriter
ENOTUNIQ Name not unique on network
ENXIO No such device or address
EOPNOTSUPP Operation not supported on transport endpoint
EOVERFLOW Value too large for defined data type
EPERM Operation not permitted
EPFNOSUPPORT Protocol family not supported
EPIPE Broken pipe
EPROTO Protocol error
EPROTONOSUPPORT Protocol not supported
EPROTOTYPE Protocol wrong type for socket
ERANGE Math result not representable
EREMCHG Remote address changed
EREMOTE Object is remote
EREMOTEIO Remote I/O error
ERESTART Interrupted system call should be restarted
EROFS Read-only filesystem
ESHUTDOWN Cannot send after transport endpoint shutdown
ESOCKTNOSUPPORT Socket type not supported
ESPIPE Illegal seek
ESRCH No such process
ESRMNT Srmount error
ESTALE Stale NFS filehandle
ESTRPIPE Streams pipe error
ETIME Timer expired
ETIMEDOUT Connection timed out
ETOOMANYREFS Too many references; cannot splice
ETXTBSY Text file busy
EUCLEAN Structure needs cleaning
EUNATCH Protocol driver not attached
EUSERS Too many users
EWOULDBLOCK Operation would block
EXDEV Cross-device link
EXFULL Exchange full

   
Top


Network Programming with Perl
Network Programming with Perl
ISBN: 0201615711
EAN: 2147483647
Year: 2000
Pages: 173

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net