errno.h revision 4fd606d1f5abe38e1f42c38de1d2e895166bd0f4
/** @file
The header <errno.h> defines several macros, all relating to the reporting of
error conditions.
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
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
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>
extern int errno;
extern RETURN_STATUS EFIerrno;
/* math software -- these are the only two values required by the C Standard */
/* non-blocking and interrupt i/o */
/* quotas, etc. */
/* Network File System */
#endif /* _ERRNO_H */