Detailed Description

Warning:

For any particular error condition, more than one of these tests may match. This is because platform-specific error codes may not always match the semantics of the POSIX codes these tests (and the corresponding APR error codes) are named after. A notable example are the APR_STATUS_IS_ENOENT and APR_STATUS_IS_ENOTDIR tests on Win32 platforms. The programmer should always be aware of this and adjust the order of the tests accordingly.

Define Documentation

#define APR_STATUS_IS_ANONYMOUS

(

s

)

((s) == APR_ANONYMOUS)

APR is using anonymous shared memory

Warning:

always use this test, as platform-specific variances may meet this more than one error code

#define APR_STATUS_IS_BADARG

(

s

)

((s) == APR_BADARG)

Getopt found an option not in the option string and an argument was specified in the option string

Warning:

always use this test, as platform-specific variances may meet this more than one error code

#define APR_STATUS_IS_BADCH

(

s

)

((s) == APR_BADCH)

Getopt found an option not in the option string

Warning:

always use this test, as platform-specific variances may meet this more than one error code

#define APR_STATUS_IS_CHILD_DONE

(

s

)

((s) == APR_CHILD_DONE)

The child has finished executing

Warning:

always use this test, as platform-specific variances may meet this more than one error code

#define APR_STATUS_IS_CHILD_NOTDONE

(

s

)

((s) == APR_CHILD_NOTDONE)

The child has not finished executing

Warning:

always use this test, as platform-specific variances may meet this more than one error code

#define APR_STATUS_IS_DETACH

(

s

)

((s) == APR_DETACH)

The thread is detached

Warning:

always use this test, as platform-specific variances may meet this more than one error code

#define APR_STATUS_IS_EABOVEROOT

(

s

)

((s) == APR_EABOVEROOT)

The given path was above the root path.

#define APR_STATUS_IS_EABSOLUTE

(

s

)

((s) == APR_EABSOLUTE)

The given path was absolute.

#define APR_STATUS_IS_EACCES

(

s

)

((s) == APR_EACCES)

permission denied

#define APR_STATUS_IS_EAFNOSUPPORT

(

s

)

((s) == APR_EAFNOSUPPORT)

Address Family not supported

#define APR_STATUS_IS_EAGAIN

(

s

)

((s) == APR_EAGAIN)

operation would block

#define APR_STATUS_IS_EBADDATE

(

s

)

((s) == APR_EBADDATE)

APR was given an invalid date

#define APR_STATUS_IS_EBADF

(

s

)

((s) == APR_EBADF)

bad file #

#define APR_STATUS_IS_EBADIP

(

s

)

((s) == APR_EBADIP)

The specified IP address is invalid

#define APR_STATUS_IS_EBADMASK

(

s

)

((s) == APR_EBADMASK)

The specified netmask is invalid

#define APR_STATUS_IS_EBADPATH

(

s

)

((s) == APR_EBADPATH)

The given path was bad.

#define APR_STATUS_IS_EBUSY

(

s

)

((s) == APR_EBUSY)

The given lock was busy

Warning:

always use this test, as platform-specific variances may meet this more than one error code

#define APR_STATUS_IS_ECONNABORTED

(

s

)

((s) == APR_ECONNABORTED)

Software caused connection abort

Remarks:

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.

#define APR_STATUS_IS_ECONNREFUSED

(

s

)

((s) == APR_ECONNREFUSED)

Connection Refused

#define APR_STATUS_IS_ECONNRESET

(

s

)

((s) == APR_ECONNRESET)

Connection Reset by peer

#define APR_STATUS_IS_EDSOOPEN

(

s

)

((s) == APR_EDSOOPEN)

APR was unable to open the dso object. For more information call apr_dso_error().

#define APR_STATUS_IS_EEXIST

(

s

)

((s) == APR_EEXIST)

file exists

#define APR_STATUS_IS_EFTYPE

(

s

)

((s) == APR_EFTYPE)

inappropiate file type or format

#define APR_STATUS_IS_EGENERAL

(

s

)

((s) == APR_EGENERAL)

Generic Error which can not be put into another spot

#define APR_STATUS_IS_EHOSTUNREACH

(

s

)

((s) == APR_EHOSTUNREACH)

no route to host

#define APR_STATUS_IS_EINCOMPLETE

(

s

)

((s) == APR_EINCOMPLETE)

The given path was neither relative nor absolute.

#define APR_STATUS_IS_EINIT

(

s

)

((s) == APR_EINIT)

Ininitalizer value. If no option has been found, but the status variable requires a value, this should be used

Warning:

always use this test, as platform-specific variances may meet this more than one error code

#define APR_STATUS_IS_EINPROGRESS

(

s

)

((s) == APR_EINPROGRESS)

operation now in progress

#define APR_STATUS_IS_EINTR

(

s

)

((s) == APR_EINTR)

interrupted system call

#define APR_STATUS_IS_EINVAL

(

s

)

((s) == APR_EINVAL)

invalid argument

#define APR_STATUS_IS_EINVALSOCK

(

s

)

((s) == APR_EINVALSOCK)

APR was given an invalid socket

#define APR_STATUS_IS_EMFILE

(

s

)

((s) == APR_EMFILE)

too many open files

#define APR_STATUS_IS_EMISMATCH

(

s

)

((s) == APR_EMISMATCH)

Two passwords do not match.

Warning:

always use this test, as platform-specific variances may meet this more than one error code

#define APR_STATUS_IS_ENAMETOOLONG

(

s

)

((s) == APR_ENAMETOOLONG)

path name is too long

#define APR_STATUS_IS_ENETUNREACH

(

s

)

((s) == APR_ENETUNREACH)

network is unreachable

#define APR_STATUS_IS_ENFILE

(

s

)

((s) == APR_ENFILE)

file table overflow

#define APR_STATUS_IS_ENODIR

(

s

)

((s) == APR_ENODIR)

APR was not given a directory structure

#define APR_STATUS_IS_ENOENT

(

s

)

((s) == APR_ENOENT)

no such file or directory

Remarks:

EMVSCATLG can be returned by the automounter on z/OS for paths which do not exist.

#define APR_STATUS_IS_ENOLOCK

(

s

)

((s) == APR_ENOLOCK)

APR was not given a lock structure

#define APR_STATUS_IS_ENOMEM

(

s

)

((s) == APR_ENOMEM)

not enough memory

#define APR_STATUS_IS_ENOPOLL

(

s

)

((s) == APR_ENOPOLL)

APR was not given a poll structure

#define APR_STATUS_IS_ENOPOOL

(

s

)

((s) == APR_ENOPOOL)

APR was not provided a pool with which to allocate memory

Warning:

always use this test, as platform-specific variances may meet this more than one error code

#define APR_STATUS_IS_ENOPROC

(

s

)

((s) == APR_ENOPROC)

APR was not given a process structure

#define APR_STATUS_IS_ENOSHMAVAIL

(

s

)

((s) == APR_ENOSHMAVAIL)

There is no more shared memory available

#define APR_STATUS_IS_ENOSOCKET

(

s

)

((s) == APR_ENOSOCKET)

APR was not given a socket

#define APR_STATUS_IS_ENOSPC

(

s

)

((s) == APR_ENOSPC)

no space left on device

#define APR_STATUS_IS_ENOSTAT

(

s

)

((s) == APR_ENOSTAT)

APR was unable to perform a stat on the file

Warning:

always use this test, as platform-specific variances may meet this more than one error code