📄 apr_errno.h
字号:
{ SOCENETDOWN, ENETDOWN },
{ SOCENETRESET, ENETRESET },
{ SOCENOBUFS, ENOBUFS },
{ SOCEISCONN, EISCONN },
{ SOCENOTCONN, ENOTCONN },
{ SOCESHUTDOWN, ESHUTDOWN },
{ SOCETOOMANYREFS, ETOOMANYREFS },
{ SOCELOOP, ELOOP },
{ SOCEHOSTDOWN, EHOSTDOWN },
{ SOCENOTEMPTY, ENOTEMPTY },
{ SOCEPIPE, EPIPE }
*/
#elif defined(WIN32) && !defined(DOXYGEN) /* !defined(OS2) */
#define APR_FROM_OS_ERROR(e) (e == 0 ? APR_SUCCESS : e + APR_OS_START_SYSERR)
#define APR_TO_OS_ERROR(e) (e == 0 ? APR_SUCCESS : e - APR_OS_START_SYSERR)
#define apr_get_os_error() (APR_FROM_OS_ERROR(GetLastError()))
#define apr_set_os_error(e) (SetLastError(APR_TO_OS_ERROR(e)))
/* A special case, only socket calls require this:
*/
#define apr_get_netos_error() (APR_FROM_OS_ERROR(WSAGetLastError()))
#define apr_set_netos_error(e) (WSASetLastError(APR_TO_OS_ERROR(e)))
#define APR_STATUS_IS_SUCCESS(s) ((s) == APR_SUCCESS \
|| (s) == APR_OS_START_SYSERR + ERROR_SUCCESS)
/* APR CANONICAL ERROR TESTS */
#define APR_STATUS_IS_EACCES(s) ((s) == APR_EACCES \
|| (s) == APR_OS_START_SYSERR + ERROR_ACCESS_DENIED \
|| (s) == APR_OS_START_SYSERR + ERROR_CANNOT_MAKE \
|| (s) == APR_OS_START_SYSERR + ERROR_CURRENT_DIRECTORY \
|| (s) == APR_OS_START_SYSERR + ERROR_DRIVE_LOCKED \
|| (s) == APR_OS_START_SYSERR + ERROR_FAIL_I24 \
|| (s) == APR_OS_START_SYSERR + ERROR_LOCK_VIOLATION \
|| (s) == APR_OS_START_SYSERR + ERROR_LOCK_FAILED \
|| (s) == APR_OS_START_SYSERR + ERROR_NOT_LOCKED \
|| (s) == APR_OS_START_SYSERR + ERROR_NETWORK_ACCESS_DENIED \
|| (s) == APR_OS_START_SYSERR + ERROR_SHARING_VIOLATION)
#define APR_STATUS_IS_EEXIST(s) ((s) == APR_EEXIST \
|| (s) == APR_OS_START_SYSERR + ERROR_FILE_EXISTS \
|| (s) == APR_OS_START_SYSERR + ERROR_ALREADY_EXISTS)
#define APR_STATUS_IS_ENAMETOOLONG(s) ((s) == APR_ENAMETOOLONG \
|| (s) == APR_OS_START_SYSERR + ERROR_FILENAME_EXCED_RANGE \
|| (s) == APR_OS_START_SYSERR + WSAENAMETOOLONG)
#define APR_STATUS_IS_ENOENT(s) ((s) == APR_ENOENT \
|| (s) == APR_OS_START_SYSERR + ERROR_FILE_NOT_FOUND \
|| (s) == APR_OS_START_SYSERR + ERROR_PATH_NOT_FOUND \
|| (s) == APR_OS_START_SYSERR + ERROR_OPEN_FAILED \
|| (s) == APR_OS_START_SYSERR + ERROR_NO_MORE_FILES)
#define APR_STATUS_IS_ENOTDIR(s) ((s) == APR_ENOTDIR \
|| (s) == APR_OS_START_SYSERR + ERROR_PATH_NOT_FOUND \
|| (s) == APR_OS_START_SYSERR + ERROR_BAD_NETPATH \
|| (s) == APR_OS_START_SYSERR + ERROR_BAD_NET_NAME \
|| (s) == APR_OS_START_SYSERR + ERROR_BAD_PATHNAME \
|| (s) == APR_OS_START_SYSERR + ERROR_INVALID_DRIVE)
#define APR_STATUS_IS_ENOSPC(s) ((s) == APR_ENOSPC \
|| (s) == APR_OS_START_SYSERR + ERROR_DISK_FULL)
#define APR_STATUS_IS_ENOMEM(s) ((s) == APR_ENOMEM \
|| (s) == APR_OS_START_SYSERR + ERROR_ARENA_TRASHED \
|| (s) == APR_OS_START_SYSERR + ERROR_NOT_ENOUGH_MEMORY \
|| (s) == APR_OS_START_SYSERR + ERROR_INVALID_BLOCK \
|| (s) == APR_OS_START_SYSERR + ERROR_NOT_ENOUGH_QUOTA \
|| (s) == APR_OS_START_SYSERR + ERROR_OUTOFMEMORY)
#define APR_STATUS_IS_EMFILE(s) ((s) == APR_EMFILE \
|| (s) == APR_OS_START_SYSERR + ERROR_TOO_MANY_OPEN_FILES)
#define APR_STATUS_IS_ENFILE(s) ((s) == APR_ENFILE)
#define APR_STATUS_IS_EBADF(s) ((s) == APR_EBADF \
|| (s) == APR_OS_START_SYSERR + ERROR_INVALID_HANDLE \
|| (s) == APR_OS_START_SYSERR + ERROR_INVALID_TARGET_HANDLE)
#define APR_STATUS_IS_EINVAL(s) ((s) == APR_EINVAL \
|| (s) == APR_OS_START_SYSERR + ERROR_INVALID_ACCESS \
|| (s) == APR_OS_START_SYSERR + ERROR_INVALID_DATA \
|| (s) == APR_OS_START_SYSERR + ERROR_INVALID_FUNCTION \
|| (s) == APR_OS_START_SYSERR + ERROR_INVALID_HANDLE \
|| (s) == APR_OS_START_SYSERR + ERROR_INVALID_PARAMETER \
|| (s) == APR_OS_START_SYSERR + ERROR_NEGATIVE_SEEK)
#define APR_STATUS_IS_ESPIPE(s) ((s) == APR_ESPIPE \
|| (s) == APR_OS_START_SYSERR + ERROR_SEEK_ON_DEVICE \
|| (s) == APR_OS_START_SYSERR + ERROR_NEGATIVE_SEEK)
#define APR_STATUS_IS_EAGAIN(s) ((s) == APR_EAGAIN \
|| (s) == APR_OS_START_SYSERR + ERROR_NO_DATA \
|| (s) == APR_OS_START_SYSERR + ERROR_NO_PROC_SLOTS \
|| (s) == APR_OS_START_SYSERR + ERROR_NESTING_NOT_ALLOWED \
|| (s) == APR_OS_START_SYSERR + ERROR_MAX_THRDS_REACHED \
|| (s) == APR_OS_START_SYSERR + ERROR_LOCK_VIOLATION \
|| (s) == APR_OS_START_SYSERR + WSAEWOULDBLOCK)
#define APR_STATUS_IS_EINTR(s) ((s) == APR_EINTR \
|| (s) == APR_OS_START_SYSERR + WSAEINTR)
#define APR_STATUS_IS_ENOTSOCK(s) ((s) == APR_ENOTSOCK \
|| (s) == APR_OS_START_SYSERR + WSAENOTSOCK)
#define APR_STATUS_IS_ECONNREFUSED(s) ((s) == APR_ECONNREFUSED \
|| (s) == APR_OS_START_SYSERR + WSAECONNREFUSED)
#define APR_STATUS_IS_EINPROGRESS(s) ((s) == APR_EINPROGRESS \
|| (s) == APR_OS_START_SYSERR + WSAEINPROGRESS)
#define APR_STATUS_IS_ECONNABORTED(s) ((s) == APR_ECONNABORTED \
|| (s) == APR_OS_START_SYSERR + WSAECONNABORTED)
#define APR_STATUS_IS_ECONNRESET(s) ((s) == APR_ECONNRESET \
|| (s) == APR_OS_START_SYSERR + ERROR_NETNAME_DELETED \
|| (s) == APR_OS_START_SYSERR + WSAECONNRESET)
#define APR_STATUS_IS_ETIMEDOUT(s) ((s) == APR_ETIMEDOUT \
|| (s) == APR_OS_START_SYSERR + WSAETIMEDOUT \
|| (s) == APR_OS_START_SYSERR + WAIT_TIMEOUT)
#define APR_STATUS_IS_EHOSTUNREACH(s) ((s) == APR_EHOSTUNREACH \
|| (s) == APR_OS_START_SYSERR + WSAEHOSTUNREACH)
#define APR_STATUS_IS_ENETUNREACH(s) ((s) == APR_ENETUNREACH \
|| (s) == APR_OS_START_SYSERR + WSAENETUNREACH)
#define APR_STATUS_IS_EFTYPE(s) ((s) == APR_EFTYPE \
|| (s) == APR_OS_START_SYSERR + ERROR_EXE_MACHINE_TYPE_MISMATCH \
|| (s) == APR_OS_START_SYSERR + ERROR_INVALID_DLL \
|| (s) == APR_OS_START_SYSERR + ERROR_INVALID_MODULETYPE \
|| (s) == APR_OS_START_SYSERR + ERROR_BAD_EXE_FORMAT \
|| (s) == APR_OS_START_SYSERR + ERROR_INVALID_EXE_SIGNATURE \
|| (s) == APR_OS_START_SYSERR + ERROR_FILE_CORRUPT \
|| (s) == APR_OS_START_SYSERR + ERROR_BAD_FORMAT)
#define APR_STATUS_IS_EPIPE(s) ((s) == APR_EPIPE \
|| (s) == APR_OS_START_SYSERR + ERROR_BROKEN_PIPE)
#define APR_STATUS_IS_EXDEV(s) ((s) == APR_EXDEV \
|| (s) == APR_OS_START_SYSERR + ERROR_NOT_SAME_DEVICE)
#define APR_STATUS_IS_ENOTEMPTY(s) ((s) == APR_ENOTEMPTY \
|| (s) == APR_OS_START_SYSERR + ERROR_DIR_NOT_EMPTY)
#elif defined(NETWARE) && !defined(DOXYGEN) /* !defined(OS2) && !defined(WIN32) */
#define APR_FROM_OS_ERROR(e) (e == 0 ? APR_SUCCESS : e + APR_OS_START_SYSERR)
#define APR_TO_OS_ERROR(e) (e == 0 ? APR_SUCCESS : e - APR_OS_START_SYSERR)
#define apr_get_os_error() (errno)
#define apr_set_os_error(e) (errno = (e))
/* A special case, only socket calls require this: */
#define apr_get_netos_error() (APR_FROM_OS_ERROR(WSAGetLastError()))
#define apr_set_netos_error(e) (WSASetLastError(APR_TO_OS_ERROR(e)))
#define APR_STATUS_IS_SUCCESS(s) ((s) == APR_SUCCESS)
/* APR CANONICAL ERROR TESTS */
#define APR_STATUS_IS_EACCES(s) ((s) == APR_EACCES)
#define APR_STATUS_IS_EEXIST(s) ((s) == APR_EEXIST)
#define APR_STATUS_IS_ENAMETOOLONG(s) ((s) == APR_ENAMETOOLONG)
#define APR_STATUS_IS_ENOENT(s) ((s) == APR_ENOENT)
#define APR_STATUS_IS_ENOTDIR(s) ((s) == APR_ENOTDIR)
#define APR_STATUS_IS_ENOSPC(s) ((s) == APR_ENOSPC)
#define APR_STATUS_IS_ENOMEM(s) ((s) == APR_ENOMEM)
#define APR_STATUS_IS_EMFILE(s) ((s) == APR_EMFILE)
#define APR_STATUS_IS_ENFILE(s) ((s) == APR_ENFILE)
#define APR_STATUS_IS_EBADF(s) ((s) == APR_EBADF)
#define APR_STATUS_IS_EINVAL(s) ((s) == APR_EINVAL)
#define APR_STATUS_IS_ESPIPE(s) ((s) == APR_ESPIPE)
#define APR_STATUS_IS_EAGAIN(s) ((s) == APR_EAGAIN \
|| (s) == EWOULDBLOCK \
|| (s) == APR_OS_START_SYSERR + WSAEWOULDBLOCK)
#define APR_STATUS_IS_EINTR(s) ((s) == APR_EINTR \
|| (s) == APR_OS_START_SYSERR + WSAEINTR)
#define APR_STATUS_IS_ENOTSOCK(s) ((s) == APR_ENOTSOCK \
|| (s) == APR_OS_START_SYSERR + WSAENOTSOCK)
#define APR_STATUS_IS_ECONNREFUSED(s) ((s) == APR_ECONNREFUSED \
|| (s) == APR_OS_START_SYSERR + WSAECONNREFUSED)
#define APR_STATUS_IS_EINPROGRESS(s) ((s) == APR_EINPROGRESS \
|| (s) == APR_OS_START_SYSERR + WSAEINPROGRESS)
#define APR_STATUS_IS_ECONNABORTED(s) ((s) == APR_ECONNABORTED \
|| (s) == APR_OS_START_SYSERR + WSAECONNABORTED)
#define APR_STATUS_IS_ECONNRESET(s) ((s) == APR_ECONNRESET \
|| (s) == APR_OS_START_SYSERR + WSAECONNRESET)
#define APR_STATUS_IS_ETIMEDOUT(s) ((s) == APR_ETIMEDOUT \
|| (s) == APR_OS_START_SYSERR + WSAETIMEDOUT \
|| (s) == APR_OS_START_SYSERR + WAIT_TIMEOUT)
#define APR_STATUS_IS_EHOSTUNREACH(s) ((s) == APR_EHOSTUNREACH \
|| (s) == APR_OS_START_SYSERR + WSAEHOSTUNREACH)
#define APR_STATUS_IS_ENETUNREACH(s) ((s) == APR_ENETUNREACH \
|| (s) == APR_OS_START_SYSERR + WSAENETUNREACH)
#define APR_STATUS_IS_ENETDOWN(s) ((s) == APR_OS_START_SYSERR + WSAENETDOWN)
#define APR_STATUS_IS_EFTYPE(s) ((s) == APR_EFTYPE)
#define APR_STATUS_IS_EPIPE(s) ((s) == APR_EPIPE)
#define APR_STATUS_IS_EXDEV(s) ((s) == APR_EXDEV)
#define APR_STATUS_IS_ENOTEMPTY(s) ((s) == APR_ENOTEMPTY)
#else /* !defined(NETWARE) && !defined(OS2) && !defined(WIN32) */
/*
* os error codes are clib error codes
*/
#define APR_FROM_OS_ERROR(e) (e)
#define APR_TO_OS_ERROR(e) (e)
#define apr_get_os_error() (errno)
#define apr_set_os_error(e) (errno = (e))
/* A special case, only socket calls require this:
*/
#define apr_get_netos_error() (errno)
#define apr_set_netos_error(e) (errno = (e))
/** @} */
/**
* @addtogroup APR_STATUS_IS
* @{
*/
/** no error */
#define APR_STATUS_IS_SUCCESS(s) ((s) == APR_SUCCESS)
/** permission denied */
#define APR_STATUS_IS_EACCES(s) ((s) == APR_EACCES)
/** file exists */
#define APR_STATUS_IS_EEXIST(s) ((s) == APR_EEXIST)
/** path name is too long */
#define APR_STATUS_IS_ENAMETOOLONG(s) ((s) == APR_ENAMETOOLONG)
/**
* no such file or directory
* @remark
* EMVSCATLG can be returned by the automounter on z/OS for
* paths which do not exist.
*/
#ifdef EMVSCATLG
#define APR_STATUS_IS_ENOENT(s) ((s) == APR_ENOENT \
|| (s) == EMVSCATLG)
#else
#define APR_STATUS_IS_ENOENT(s) ((s) == APR_ENOENT)
#endif
/** not a directory */
#define APR_STATUS_IS_ENOTDIR(s) ((s) == APR_ENOTDIR)
/** no space left on device */
#define APR_STATUS_IS_ENOSPC(s) ((s) == APR_ENOSPC)
/** not enough memory */
#define APR_STATUS_IS_ENOMEM(s) ((s) == APR_ENOMEM)
/** too many open files */
#define APR_STATUS_IS_EMFILE(s) ((s) == APR_EMFILE)
/** file table overflow */
#define APR_STATUS_IS_ENFILE(s) ((s) == APR_ENFILE)
/** bad file # */
#define APR_STATUS_IS_EBADF(s) ((s) == APR_EBADF)
/** invalid argument */
#define APR_STATUS_IS_EINVAL(s) ((s) == APR_EINVAL)
/** illegal seek */
#define APR_STATUS_IS_ESPIPE(s) ((s) == APR_ESPIPE)
/** operation would block */
#if !defined(EWOULDBLOCK) || !defined(EAGAIN)
#define APR_STATUS_IS_EAGAIN(s) ((s) == APR_EAGAIN)
#elif (EWOULDBLOCK == EAGAIN)
#define APR_STATUS_IS_EAGAIN(s) ((s) == APR_EAGAIN)
#else
#define APR_STATUS_IS_EAGAIN(s) ((s) == APR_EAGAIN \
|| (s) == EWOULDBLOCK)
#endif
/** interrupted system call */
#define APR_STATUS_IS_EINTR(s) ((s) == APR_EINTR)
/** socket operation on a non-socket */
#define APR_STATUS_IS_ENOTSOCK(s) ((s) == APR_ENOTSOCK)
/** Connection Refused */
#define APR_STATUS_IS_ECONNREFUSED(s) ((s) == APR_ECONNREFUSED)
/** operation now in progress */
#define APR_STATUS_IS_EINPROGRESS(s) ((s) == APR_EINPROGRESS)
/**
* Software caused connection abort
* @remark
* EPROTO on certain older kernels really means ECONNABORTED, so we need to
* ignore it for them. See discussion in new-httpd archives nh.9701 & nh.9603
*
* There is potentially a bug in Solaris 2.x x<6, and other boxes that
* implement tcp sockets in userland (i.e. on top of STREAMS). On these
* systems, EPROTO can actually result in a fatal loop. See PR#981 for
* example. It's hard to handle both uses of EPROTO.
*/
#ifdef EPROTO
#define APR_STATUS_IS_ECONNABORTED(s) ((s) == APR_ECONNABORTED \
|| (s) == EPROTO)
#else
#define APR_STATUS_IS_ECONNABORTED(s) ((s) == APR_ECONNABORTED)
#endif
/** Connection Reset by peer */
#define APR_STATUS_IS_ECONNRESET(s) ((s) == APR_ECONNRESET)
/** Operation timed out */
#define APR_STATUS_IS_ETIMEDOUT(s) ((s) == APR_ETIMEDOUT)
/** no route to host */
#define APR_STATUS_IS_EHOSTUNREACH(s) ((s) == APR_EHOSTUNREACH)
/** network is unreachable */
#define APR_STATUS_IS_ENETUNREACH(s) ((s) == APR_ENETUNREACH)
/** inappropiate file type or format */
#define APR_STATUS_IS_EFTYPE(s) ((s) == APR_EFTYPE)
/** broken pipe */
#define APR_STATUS_IS_EPIPE(s) ((s) == APR_EPIPE)
/** cross device link */
#define APR_STATUS_IS_EXDEV(s) ((s) == APR_EXDEV)
/** Directory Not Empty */
#define APR_STATUS_IS_ENOTEMPTY(s) ((s) == APR_ENOTEMPTY || \
(s) == APR_EEXIST)
/** @} */
#endif /* !defined(NETWARE) && !defined(OS2) && !defined(WIN32) */
/** @} */
#ifdef __cplusplus
}
#endif
#endif /* ! APR_ERRNO_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -