Error Codes
Overview
// typedefs typedef int apr_status_t; // global functions char* apr_strerror( apr_status_t statcode, char* buf, apr_size_t bufsize ); // macros #define APR_FROM_OS_ERROR(e) #define APR_OS_ERRSPACE_SIZE #define APR_OS_START_CANONERR #define APR_OS_START_EAIERR #define APR_OS_START_ERROR #define APR_OS_START_STATUS #define APR_OS_START_SYSERR #define APR_OS_START_USEERR #define APR_OS_START_USERERR #define APR_SUCCESS #define APR_TO_OS_ERROR(e) #define APR_UTIL_ERRSPACE_SIZE #define APR_UTIL_START_STATUS #define apr_get_netos_error() #define apr_get_os_error() #define apr_set_netos_error(e) #define apr_set_os_error(e)
Detailed Documentation
Typedefs
typedef int apr_status_t
Type for specifying an error or status code.
Global Functions
char* apr_strerror( apr_status_t statcode, char* buf, apr_size_t bufsize )
Return a human readable string describing the specified error.
Parameters:
statcode |
The error code to get a string for. |
buf |
A buffer to hold the error string. |
bufsize |
Size of the buffer to hold the string. |
Macros
#define APR_FROM_OS_ERROR(e)
Fold a platform specific error into an apr_status_t code.
Warning
macro implementation; the syserr argument may be evaluated multiple times.
Parameters:
e |
The platform os error code. |
Returns:
apr_status_t
#define APR_OS_ERRSPACE_SIZE
APR_OS_ERRSPACE_SIZE is the maximum number of errors you can fit into one of the error/status ranges below except for APR_OS_START_USERERR, which see.
#define APR_OS_START_CANONERR
APR_OS_START_CANONERR is where APR versions of errno values are defined on systems which don’t have the corresponding errno.
#define APR_OS_START_EAIERR
APR_OS_START_EAIERR folds EAI_ error codes from getaddrinfo() into apr_status_t values.
#define APR_OS_START_ERROR
APR_OS_START_ERROR is where the APR specific error values start.
#define APR_OS_START_STATUS
APR_OS_START_STATUS is where the APR specific status codes start.
#define APR_OS_START_SYSERR
APR_OS_START_SYSERR folds platform-specific system error values into apr_status_t values.
#define APR_OS_START_USEERR
APR_OS_START_USEERR is obsolete, defined for compatibility only. Use APR_OS_START_USERERR instead.
#define APR_OS_START_USERERR
APR_OS_START_USERERR are reserved for applications that use APR that layer their own error codes along with APR’s. Note that the error immediately following this one is set ten times farther away than usual, so that users of apr have a lot of room in which to declare custom error codes.
In general applications should try and create unique error codes. To try and assist in finding suitable ranges of numbers to use, the following ranges are known to be used by the listed applications. If your application defines error codes please advise the range of numbers it uses to dev@apr.apache.org for inclusion in this list.
Ranges shown are in relation to APR_OS_START_USERERR
Subversion - Defined ranges, of less than 100, at intervals of 5000 starting at an offset of 5000, e.g. +5000 to 5100, +10000 to 10100
Apache HTTPD - +2000 to 2999
#define APR_SUCCESS
no error.
#define APR_TO_OS_ERROR(e)
Warning
macro implementation; the statcode argument may be evaluated multiple times. If the statcode was not created by apr_get_os_error or APR_FROM_OS_ERROR, the results are undefined.
Parameters:
e |
The apr_status_t folded platform os error code. |
Returns:
os_err_type Fold an apr_status_t code back to the native platform defined error.
#define APR_UTIL_ERRSPACE_SIZE
APR_UTIL_ERRSPACE_SIZE is the size of the space that is reserved for use within apr-util. This space is reserved above that used by APR internally.
Note
This number MUST be smaller than APR_OS_ERRSPACE_SIZE by a large enough amount that APR has sufficient room for its codes.
#define APR_UTIL_START_STATUS
APR_UTIL_START_STATUS is where APR-Util starts defining its status codes.
#define apr_get_netos_error()
Return the last socket error, folded into apr_status_t, on all platforms This retrieves errno or calls a GetLastSocketError() style function, and folds it with APR_FROM_OS_ERROR.
#define apr_get_os_error()
This retrieves errno, or calls a GetLastError() style function, and folds it with APR_FROM_OS_ERROR. Some platforms (such as OS2) have no such mechanism, so this call may be unsupported. Do NOT use this call for socket errors from socket, send, recv etc!
Returns:
apr_status_t the last platform error, folded into apr_status_t, on most platforms
#define apr_set_netos_error(e)
Reset the last socket error, unfolded from an apr_status_t
Warning
This is a macro implementation; the statcode argument may be evaluated multiple times. If the statcode was not created by apr_get_os_error or APR_FROM_OS_ERROR, the results are undefined. This macro sets errno, or calls a WSASetLastError() style function, unfolding socketcode with APR_TO_OS_ERROR.
Parameters:
e |
The socket error folded in a prior call to APR_FROM_OS_ERROR() |
#define apr_set_os_error(e)
Reset the last platform error, unfolded from an apr_status_t, on some platforms
Warning
This is a macro implementation; the statcode argument may be evaluated multiple times. If the statcode was not created by apr_get_os_error or APR_FROM_OS_ERROR, the results are undefined. This macro sets errno, or calls a SetLastError() style function, unfolding statcode with APR_TO_OS_ERROR. Some platforms (such as OS2) have no such mechanism, so this call may be unsupported.
Parameters:
e |
The OS error folded in a prior call to APR_FROM_OS_ERROR() |