Signed-off-by: darylm503 Reviewed-by: geekboy15a git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12655 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			174 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			174 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /** @file
 | |
|   The header <errno.h> defines several macros, all relating to the reporting of
 | |
|   error conditions.
 | |
| 
 | |
|   The ISO/IEC 9899 specification requires that these be macros.
 | |
| 
 | |
|   The macros expand to integral constant expressions
 | |
|   with distinct nonzero values, suitable for use in #if preprocessing
 | |
|   directives; the variable errno which expands to a modifiable lvalue that has type int,
 | |
|   the value of which is set to a positive error number by several library
 | |
|   functions; and the variable EFIerrno which is an extension allowing the return status
 | |
|   of the underlying UEFI functions to be returned.
 | |
| 
 | |
|   The value of errno and EFIerrno is zero at program startup.  On program startup, errno
 | |
|   is initialized to zero but is never set to zero by
 | |
|   any library function.  The value of errno may be set to a non-zero value by
 | |
|   a library function call whether or not there is an error, provided the use
 | |
|   of errno is not documented in the description of the function in
 | |
|   the governing standard: ISO/IEC 9899:1990 with Amendment 1 or ISO/IEC 9899:199409.
 | |
| 
 | |
|   EFIerrno, like errno, should only be checked if it is known that the preceeding function call
 | |
|   called a UEFI function.  Functions in which UEFI functions are called dependent upon context
 | |
|   or parameter values should guarantee that EFIerrno is set to zero by default, or to the status
 | |
|   value returned by any UEFI functions which are called.
 | |
| 
 | |
|   All macro definitions in this list must begin with the letter 'E'
 | |
|   and be followed by a digit or an uppercase letter.
 | |
| 
 | |
|   Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
 | |
|   This program and the accompanying materials are licensed and made available under
 | |
|   the terms and conditions of the BSD License that accompanies this distribution.
 | |
|   The full text of the license may be found at
 | |
|   http://opensource.org/licenses/bsd-license.
 | |
| 
 | |
|   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
 | |
|   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 | |
| **/
 | |
| #ifndef _ERRNO_H
 | |
| #define _ERRNO_H
 | |
| #include  <sys/EfiCdefs.h>
 | |
| #include  <sys/errno.h>
 | |
| 
 | |
| extern  int             errno;
 | |
| extern  RETURN_STATUS   EFIerrno;
 | |
| 
 | |
| // Define error number in terms of the ENUM in <sys/errno.h>
 | |
| 
 | |
| #define ERESTART          -1                      /* restart syscall */
 | |
| 
 | |
| #define EMINERRORVAL      __EMINERRORVAL          /*  1   The lowest valid error value */
 | |
| 
 | |
| #define EPERM             __EPERM                 /*  1   Operation not permitted */
 | |
| #define ENOENT            __ENOENT                /*  2   No such file or directory */
 | |
| #define ESRCH             __ESRCH                 /*  3   No such process */
 | |
| #define EINTR             __EINTR                 /*  4   Interrupted system call */
 | |
| #define EIO               __EIO                   /*  5   Input/output error */
 | |
| #define ENXIO             __ENXIO                 /*  6   Device not configured */
 | |
| #define E2BIG             __E2BIG                 /*  7   Argument list too long */
 | |
| #define ENOEXEC           __ENOEXEC               /*  8   Exec format error */
 | |
| #define EBADF             __EBADF                 /*  9   Bad file descriptor */
 | |
| #define ECHILD            __ECHILD                /* 10   No child processes */
 | |
| #define EDEADLK           __EDEADLK               /* 11   Resource deadlock avoided */
 | |
| #define ENOMEM            __ENOMEM                /* 12   Cannot allocate memory */
 | |
| #define EACCES            __EACCES                /* 13   Permission denied */
 | |
| #define EFAULT            __EFAULT                /* 14   Bad address */
 | |
| #define ENOTBLK           __ENOTBLK               /* 15   Block device required */
 | |
| #define EBUSY             __EBUSY                 /* 16   Device busy */
 | |
| #define EEXIST            __EEXIST                /* 17   File exists */
 | |
| #define EXDEV             __EXDEV                 /* 18   Cross-device link */
 | |
| #define ENODEV            __ENODEV                /* 19   Operation not supported by device */
 | |
| #define ENOTDIR           __ENOTDIR               /* 20   Not a directory */
 | |
| #define EISDIR            __EISDIR                /* 21   Is a directory */
 | |
| #define EINVAL            __EINVAL                /* 22   Invalid argument */
 | |
| #define ENFILE            __ENFILE                /* 23   Too many open files in system */
 | |
| #define EMFILE            __EMFILE                /* 24   Too many open file descriptors */
 | |
| #define ENOTTY            __ENOTTY                /* 25   Inappropriate ioctl for device */
 | |
| #define ETXTBSY           __ETXTBSY               /* 26   Text file busy */
 | |
| #define EFBIG             __EFBIG                 /* 27   File too large */
 | |
| #define ENOSPC            __ENOSPC                /* 28   No space left on device */
 | |
| #define ESPIPE            __ESPIPE                /* 29   Illegal seek */
 | |
| #define EROFS             __EROFS                 /* 30   Read-only filesystem */
 | |
| #define EMLINK            __EMLINK                /* 31   Too many links */
 | |
| #define EPIPE             __EPIPE                 /* 32   Broken pipe */
 | |
| 
 | |
| /* math software -- these are the only two values required by the C Standard */
 | |
| #define EDOM              __EDOM                  /* 33   Numerical argument out of domain */
 | |
| #define ERANGE            __ERANGE                /* 34   Result too large */
 | |
| 
 | |
| /* non-blocking and interrupt i/o */
 | |
| #define EAGAIN            __EAGAIN                /* 35   Resource temporarily unavailable */
 | |
| #define EWOULDBLOCK       __EWOULDBLOCK           /* 35   Operation would block */
 | |
| #define EINPROGRESS       __EINPROGRESS           /* 36   Operation now in progress */
 | |
| #define EALREADY          __EALREADY              /* 37   Operation already in progress */
 | |
| 
 | |
| /* ipc/network software -- argument errors */
 | |
| #define ENOTSOCK          __ENOTSOCK              /* 38   Socket operation on non-socket */
 | |
| #define EDESTADDRREQ      __EDESTADDRREQ          /* 39   Destination address required */
 | |
| #define EMSGSIZE          __EMSGSIZE              /* 40   Message too long */
 | |
| #define EPROTOTYPE        __EPROTOTYPE            /* 41   Protocol wrong type for socket */
 | |
| #define ENOPROTOOPT       __ENOPROTOOPT           /* 42   Protocol not available */
 | |
| #define EPROTONOSUPPORT   __EPROTONOSUPPORT       /* 43   Protocol not supported */
 | |
| #define ESOCKTNOSUPPORT   __ESOCKTNOSUPPORT       /* 44   Socket type not supported */
 | |
| #define EOPNOTSUPP        __EOPNOTSUPP            /* 45   Operation not supported */
 | |
| #define ENOTSUP           __ENOTSUP               /* 45   Operation not supported */
 | |
| #define EPFNOSUPPORT      __EPFNOSUPPORT          /* 46   Protocol family not supported */
 | |
| #define EAFNOSUPPORT      __EAFNOSUPPORT          /* 47   Address family not supported by protocol family */
 | |
| #define EADDRINUSE        __EADDRINUSE            /* 48   Address already in use */
 | |
| #define EADDRNOTAVAIL     __EADDRNOTAVAIL         /* 49   Can't assign requested address */
 | |
| 
 | |
| /* ipc/network software -- operational errors */
 | |
| #define ENETDOWN          __ENETDOWN              /* 50   Network is down */
 | |
| #define ENETUNREACH       __ENETUNREACH           /* 51   Network is unreachable */
 | |
| #define ENETRESET         __ENETRESET             /* 52   Network dropped connection on reset */
 | |
| #define ECONNABORTED      __ECONNABORTED          /* 53   Software caused connection abort */
 | |
| #define ECONNRESET        __ECONNRESET            /* 54   Connection reset by peer */
 | |
| #define ENOBUFS           __ENOBUFS               /* 55   No buffer space available */
 | |
| #define EISCONN           __EISCONN               /* 56   Socket is already connected */
 | |
| #define ENOTCONN          __ENOTCONN              /* 57   Socket is not connected */
 | |
| #define ESHUTDOWN         __ESHUTDOWN             /* 58   Can't send after socket shutdown */
 | |
| #define ETOOMANYREFS      __ETOOMANYREFS          /* 59   Too many references: can't splice */
 | |
| #define ETIMEDOUT         __ETIMEDOUT             /* 60   Operation timed out */
 | |
| #define ECONNREFUSED      __ECONNREFUSED          /* 61   Connection refused */
 | |
| #define ELOOP             __ELOOP                 /* 62   Too many levels of symbolic links */
 | |
| #define ENAMETOOLONG      __ENAMETOOLONG          /* 63   File name too long */
 | |
| #define EHOSTDOWN         __EHOSTDOWN             /* 64   Host is down */
 | |
| #define EHOSTUNREACH      __EHOSTUNREACH          /* 65   No route to host */
 | |
| 
 | |
| #define ENOTEMPTY         __ENOTEMPTY             /* 66   Directory not empty */
 | |
| 
 | |
| /* quotas, etc. */
 | |
| #define EPROCLIM          __EPROCLIM              /* 67   Too many processes */
 | |
| #define EUSERS            __EUSERS                /* 68   Too many users */
 | |
| #define EDQUOT            __EDQUOT                /* 69   Disc quota exceeded */
 | |
| 
 | |
| /* Network File System */
 | |
| #define ESTALE            __ESTALE                /* 70   Stale NFS file handle */
 | |
| #define EREMOTE           __EREMOTE               /* 71   Too many levels of remote in path */
 | |
| #define EBADRPC           __EBADRPC               /* 72   RPC struct is bad */
 | |
| #define ERPCMISMATCH      __ERPCMISMATCH          /* 73   RPC version wrong */
 | |
| #define EPROGUNAVAIL      __EPROGUNAVAIL          /* 74   RPC prog. not avail */
 | |
| #define EPROGMISMATCH     __EPROGMISMATCH         /* 75   Program version wrong */
 | |
| #define EPROCUNAVAIL      __EPROCUNAVAIL          /* 76   Bad procedure for program */
 | |
| #define ENOLCK            __ENOLCK                /* 77   No locks available */
 | |
| #define ENOSYS            __ENOSYS                /* 78   Function not implemented */
 | |
| #define EFTYPE            __EFTYPE                /* 79   Inappropriate file type or format */
 | |
| #define EAUTH             __EAUTH                 /* 80   Authentication error */
 | |
| #define ENEEDAUTH         __ENEEDAUTH             /* 81   Need authenticator */
 | |
| #define EIDRM             __EIDRM                 /* 82   Identifier removed */
 | |
| #define ENOMSG            __ENOMSG                /* 83   No message of desired type */
 | |
| #define EOVERFLOW         __EOVERFLOW             /* 84   Value too large to be stored in data type */
 | |
| #define EILSEQ            __EILSEQ                /* 85   Illegal byte sequence */
 | |
| #define ENOTHING_1        __ENOTHING_1            /* 86   Place Holder */
 | |
| #define ECANCELED         __ECANCELED             /* 87   Operation canceled */
 | |
| 
 | |
| #define EBADMSG           __EBADMSG               /* 88   Bad message */
 | |
| #define ENODATA           __ENODATA               /* 89   No message available */
 | |
| #define ENOSR             __ENOSR                 /* 90   No STREAM resources */
 | |
| #define ENOSTR            __ENOSTR                /* 91   Not a STREAM */
 | |
| #define ETIME             __ETIME                 /* 92   STREAM ioctl timeout */
 | |
| 
 | |
| #define ENOATTR           __ENOATTR               /* 93   Attribute not found */
 | |
| 
 | |
| #define EDOOFUS           __EDOOFUS               /* 94   Programming error */
 | |
| 
 | |
| #define EMULTIHOP         __EMULTIHOP             /* 95   Multihop attempted */
 | |
| #define ENOLINK           __ENOLINK               /* 96   Link has been severed */
 | |
| #define EPROTO            __EPROTO                /* 97   Protocol error */
 | |
| 
 | |
| #define EBUFSIZE          __EBUFSIZE              /* 98   Buffer too small to hold result */
 | |
| 
 | |
| #define EMAXERRORVAL      __EMAXERRORVAL          /* One more than the highest defined error value. */
 | |
| 
 | |
| #endif  /* _ERRNO_H */
 |