123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191 |
- { Copyright 2000-2005 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- }
- {
- * @file apr_errno.h
- * @brief APR Error Codes
- }
- {#include "apr.h"
- #if APR_HAVE_ERRNO_H
- #include <errno.h>
- #endif}
- {
- * @defgroup apr_errno Error Codes
- * @ingroup APR
- }
- {
- * Type for specifying an error or status code.
- }
- type
- apr_status_t = Integer;
- Papr_status_t = ^apr_status_t;
- {
- * Return a human readable string describing the specified error.
- * @param statcode The error code the get a string for.
- * @param buf A buffer to hold the error string.
- * @param bufsize Size of the buffer to hold the string.
- }
- function apr_strerror(statcode: apr_status_t; buf: PChar; bufsize: apr_size_t): PChar;
- {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
- external LibAPR name LibNamePrefix + 'apr_strerror' + LibSuff12;
- {$ifdef DOXYGEN)}
- {
- * @def APR_FROM_OS_ERROR(os_err_type syserr)
- * Fold a platform specific error into an apr_status_t code.
- * @return apr_status_t
- * @param e The platform os error code.
- * @warning macro implementation; the syserr argument may be evaluated
- * multiple times.
- }
- #define APR_FROM_OS_ERROR(e) (e == 0 ? APR_SUCCESS : e + APR_OS_START_SYSERR)
- {
- * @def APR_TO_OS_ERROR(apr_status_t statcode)
- * @return os_err_type
- * Fold an apr_status_t code back to the native platform defined error.
- * @param e The apr_status_t folded platform os error code.
- * @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.
- }
- #define APR_TO_OS_ERROR(e) (e == 0 ? APR_SUCCESS : e - APR_OS_START_SYSERR)
- { @def apr_get_os_error()
- * @return apr_status_t the last platform error, folded into apr_status_t, on most platforms
- * @remark 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!
- }
- { @def apr_set_os_error(e)
- * Reset the last platform error, unfolded from an apr_status_t, on some platforms
- * @param e The OS error folded in a prior call to APR_FROM_OS_ERROR()
- * @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.
- }
- { @def apr_get_netos_error()
- * Return the last socket error, folded into apr_status_t, on all platforms
- * @remark This retrieves errno or calls a GetLastSocketError() style function,
- * and folds it with APR_FROM_OS_ERROR.
- }
- { @def apr_set_netos_error(e)
- * Reset the last socket error, unfolded from an apr_status_t
- * @param e The socket error folded in a prior call to APR_FROM_OS_ERROR()
- * @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.
- }
- {$endif} { defined(DOXYGEN) }
- const
- {
- * APR_OS_START_ERROR is where the APR specific error values start.
- }
- APR_OS_START_ERROR = 20000;
- {
- * 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.
- }
- APR_OS_ERRSPACE_SIZE = 50000;
- {
- * APR_OS_START_STATUS is where the APR specific status codes start.
- }
- APR_OS_START_STATUS = (APR_OS_START_ERROR + APR_OS_ERRSPACE_SIZE);
- {
- * 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.
- }
- APR_OS_START_USERERR = (APR_OS_START_STATUS + APR_OS_ERRSPACE_SIZE);
- {
- * APR_OS_START_USEERR is obsolete, defined for compatibility only.
- * Use APR_OS_START_USERERR instead.
- }
- APR_OS_START_USEERR = APR_OS_START_USERERR;
- {
- * APR_OS_START_CANONERR is where APR versions of errno values are defined
- * on systems which don't have the corresponding errno.
- }
- APR_OS_START_CANONERR = (APR_OS_START_USERERR + (APR_OS_ERRSPACE_SIZE * 10));
- {
- * APR_OS_START_EAIERR folds EAI_ error codes from getaddrinfo() into
- * apr_status_t values.
- }
- APR_OS_START_EAIERR = (APR_OS_START_CANONERR + APR_OS_ERRSPACE_SIZE);
- {
- * APR_OS_START_SYSERR folds platform-specific system error values into
- * apr_status_t values.
- }
- APR_OS_START_SYSERR = (APR_OS_START_EAIERR + APR_OS_ERRSPACE_SIZE);
- { no error. @see APR_STATUS_IS_SUCCESS }
- APR_SUCCESS = 0;
- {
- * @defgroup APR_Error APR Error Values
- * <PRE>
- * <b>APR ERROR VALUES</b>
- * APR_ENOSTAT APR was unable to perform a stat on the file
- * APR_ENOPOOL APR was not provided a pool with which to allocate memory
- * APR_EBADDATE APR was given an invalid date
- * APR_EINVALSOCK APR was given an invalid socket
- * APR_ENOPROC APR was not given a process structure
- * APR_ENOTIME APR was not given a time structure
- * APR_ENODIR APR was not given a directory structure
- * APR_ENOLOCK APR was not given a lock structure
- * APR_ENOPOLL APR was not given a poll structure
- * APR_ENOSOCKET APR was not given a socket
- * APR_ENOTHREAD APR was not given a thread structure
- * APR_ENOTHDKEY APR was not given a thread key structure
- * APR_ENOSHMAVAIL There is no more shared memory available
- * APR_EDSOOPEN APR was unable to open the dso object. For more
- * information call apr_dso_error().
- * APR_EGENERAL General failure (specific information not available)
- * APR_EBADIP The specified IP address is invalid
- * APR_EBADMASK The specified netmask is invalid
- * APR_ESYMNOTFOUND Could not find the requested symbol
- * </PRE>
- *
- * <PRE>
- * <b>APR STATUS VALUES</b>
- * APR_INCHILD Program is currently executing in the child
- * APR_INPARENT Program is currently executing in the parent
- * APR_DETACH The thread is detached
- * APR_NOTDETACH The thread is not detached
- * APR_CHILD_DONE The child has finished executing
- * APR_CHILD_NOTDONE The child has not finished executing
- * APR_TIMEUP The operation did not finish before the timeout
- * APR_INCOMPLETE The operation was incomplete although some processing
- * was performed and the results are partially valid
- * APR_BADCH Getopt found an option not in the option string
- * APR_BADARG Getopt found an option that is missing an argument
- * and an argument was specified in the option string
- * APR_EOF APR has encountered the end of the file
- * APR_NOTFOUND APR was unable to find the socket in the poll structure
- * APR_ANONYMOUS APR is using anonymous shared memory
- * APR_FILEBASED APR is using a file name as the key to the shared memory
- * APR_KEYBASED APR is using a shared key as the key to the shared memory
- * APR_EINIT Ininitalizer value. If no option has been found, but
- * the status variable requires a value, this should be used
- * APR_ENOTIMPL The APR function has not been implemented on this
- * platform, either because nobody has gotten to it yet,
- * or the function is impossible on this platform.
- * APR_EMISMATCH Two passwords do not match.
- * APR_EABSOLUTE The given path was absolute.
- * APR_ERELATIVE The given path was relative.
- * APR_EINCOMPLETE The given path was neither relative nor absolute.
- * APR_EABOVEROOT The given path was above the root path.
- * APR_EBUSY The given lock was busy.
- * APR_EPROC_UNKNOWN The given process wasn't recognized by APR
- * </PRE>
- }
- { @see APR_STATUS_IS_ENOSTAT }
- APR_ENOSTAT = (APR_OS_START_ERROR + 1);
- { @see APR_STATUS_IS_ENOPOOL }
- APR_ENOPOOL = (APR_OS_START_ERROR + 2);
- { empty slot: +3 }
- { @see APR_STATUS_IS_EBADDATE }
- APR_EBADDATE = (APR_OS_START_ERROR + 4);
- { @see APR_STATUS_IS_EINVALSOCK }
- APR_EINVALSOCK = (APR_OS_START_ERROR + 5);
- { @see APR_STATUS_IS_ENOPROC }
- APR_ENOPROC = (APR_OS_START_ERROR + 6);
- { @see APR_STATUS_IS_ENOTIME }
- APR_ENOTIME = (APR_OS_START_ERROR + 7);
- { @see APR_STATUS_IS_ENODIR }
- APR_ENODIR = (APR_OS_START_ERROR + 8);
- { @see APR_STATUS_IS_ENOLOCK }
- APR_ENOLOCK = (APR_OS_START_ERROR + 9);
- { @see APR_STATUS_IS_ENOPOLL }
- APR_ENOPOLL = (APR_OS_START_ERROR + 10);
- { @see APR_STATUS_IS_ENOSOCKET }
- APR_ENOSOCKET = (APR_OS_START_ERROR + 11);
- { @see APR_STATUS_IS_ENOTHREAD }
- APR_ENOTHREAD = (APR_OS_START_ERROR + 12);
- { @see APR_STATUS_IS_ENOTHDKEY }
- APR_ENOTHDKEY = (APR_OS_START_ERROR + 13);
- { @see APR_STATUS_IS_EGENERAL }
- APR_EGENERAL = (APR_OS_START_ERROR + 14);
- { @see APR_STATUS_IS_ENOSHMAVAIL }
- APR_ENOSHMAVAIL = (APR_OS_START_ERROR + 15);
- { @see APR_STATUS_IS_EBADIP }
- APR_EBADIP = (APR_OS_START_ERROR + 16);
- { @see APR_STATUS_IS_EBADMASK }
- APR_EBADMASK = (APR_OS_START_ERROR + 17);
- { empty slot: +18 }
- { @see APR_STATUS_IS_EDSOPEN }
- APR_EDSOOPEN = (APR_OS_START_ERROR + 19);
- { @see APR_STATUS_IS_EABSOLUTE }
- APR_EABSOLUTE = (APR_OS_START_ERROR + 20);
- { @see APR_STATUS_IS_ERELATIVE }
- APR_ERELATIVE = (APR_OS_START_ERROR + 21);
- { @see APR_STATUS_IS_EINCOMPLETE }
- APR_EINCOMPLETE = (APR_OS_START_ERROR + 22);
- { @see APR_STATUS_IS_EABOVEROOT }
- APR_EABOVEROOT = (APR_OS_START_ERROR + 23);
- { @see APR_STATUS_IS_EBADPATH }
- APR_EBADPATH = (APR_OS_START_ERROR + 24);
- { @see APR_STATUS_IS_EPATHWILD }
- APR_EPATHWILD = (APR_OS_START_ERROR + 25);
- { @see APR_STATUS_IS_ESYMNOTFOUND }
- APR_ESYMNOTFOUND = (APR_OS_START_ERROR + 26);
- { @see APR_STATUS_IS_EPROC_UNKNOWN }
- APR_EPROC_UNKNOWN = (APR_OS_START_ERROR + 27);
- {
- * @defgroup APR_STATUS_IS Status Value Tests
- * @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
- * correcponding 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.
- }
- {
- * 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
- }
- //#define APR_STATUS_IS_ENOSTAT(s) ((s) == APR_ENOSTAT)
- {
- * 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_ENOPOOL(s) ((s) == APR_ENOPOOL)
- { APR was given an invalid date }
- //#define APR_STATUS_IS_EBADDATE(s) ((s) == APR_EBADDATE)
- { APR was given an invalid socket }
- //#define APR_STATUS_IS_EINVALSOCK(s) ((s) == APR_EINVALSOCK)
- { APR was not given a process structure }
- //#define APR_STATUS_IS_ENOPROC(s) ((s) == APR_ENOPROC)
- { APR was not given a time structure }
- //#define APR_STATUS_IS_ENOTIME(s) ((s) == APR_ENOTIME)
- { APR was not given a directory structure }
- //#define APR_STATUS_IS_ENODIR(s) ((s) == APR_ENODIR)
- { APR was not given a lock structure }
- //#define APR_STATUS_IS_ENOLOCK(s) ((s) == APR_ENOLOCK)
- { APR was not given a poll structure }
- //#define APR_STATUS_IS_ENOPOLL(s) ((s) == APR_ENOPOLL)
- { APR was not given a socket }
- //#define APR_STATUS_IS_ENOSOCKET(s) ((s) == APR_ENOSOCKET)
- { APR was not given a thread structure }
- //#define APR_STATUS_IS_ENOTHREAD(s) ((s) == APR_ENOTHREAD)
- { APR was not given a thread key structure }
- //#define APR_STATUS_IS_ENOTHDKEY(s) ((s) == APR_ENOTHDKEY)
- { Generic Error which can not be put into another spot }
- //#define APR_STATUS_IS_EGENERAL(s) ((s) == APR_EGENERAL)
- { There is no more shared memory available }
- //#define APR_STATUS_IS_ENOSHMAVAIL(s) ((s) == APR_ENOSHMAVAIL)
- { The specified IP address is invalid }
- //#define APR_STATUS_IS_EBADIP(s) ((s) == APR_EBADIP)
- { The specified netmask is invalid }
- //#define APR_STATUS_IS_EBADMASK(s) ((s) == APR_EBADMASK)
- { empty slot: +18 }
- {
- * APR was unable to open the dso object.
- * For more information call apr_dso_error().
- }
- //#if defined(WIN32)
- //#define APR_STATUS_IS_EDSOOPEN(s) ((s) == APR_EDSOOPEN \
- // || APR_TO_OS_ERROR(s) == ERROR_MOD_NOT_FOUND)
- //#else
- //#define APR_STATUS_IS_EDSOOPEN(s) ((s) == APR_EDSOOPEN)
- //#endif
- { The given path was absolute. }
- //#define APR_STATUS_IS_EABSOLUTE(s) ((s) == APR_EABSOLUTE)
- { The given path was relative. }
- //#define APR_STATUS_IS_ERELATIVE(s) ((s) == APR_ERELATIVE)
- { The given path was neither relative nor absolute. }
- //#define APR_STATUS_IS_EINCOMPLETE(s) ((s) == APR_EINCOMPLETE)
- { The given path was above the root path. }
- //#define APR_STATUS_IS_EABOVEROOT(s) ((s) == APR_EABOVEROOT)
- { The given path was bad. }
- //#define APR_STATUS_IS_EBADPATH(s) ((s) == APR_EBADPATH)
- { The given path contained wildcards. }
- //#define APR_STATUS_IS_EPATHWILD(s) ((s) == APR_EPATHWILD)
- { Could not find the requested symbol.
- * For more information call apr_dso_error().
- }
- //#if defined(WIN32)
- //#define APR_STATUS_IS_ESYMNOTFOUND(s) ((s) == APR_ESYMNOTFOUND \
- // || APR_TO_OS_ERROR(s) == ERROR_PROC_NOT_FOUND)
- //#else
- //#define APR_STATUS_IS_ESYMNOTFOUND(s) ((s) == APR_ESYMNOTFOUND)
- //#endif
- { The given process was not recognized by APR. }
- //#define APR_STATUS_IS_EPROC_UNKNOWN(s) ((s) == APR_EPROC_UNKNOWN)
- {
- * @addtogroup APR_Error
- }
- { @see APR_STATUS_IS_INCHILD }
- APR_INCHILD = (APR_OS_START_STATUS + 1);
- { @see APR_STATUS_IS_INPARENT }
- APR_INPARENT = (APR_OS_START_STATUS + 2);
- { @see APR_STATUS_IS_DETACH }
- APR_DETACH = (APR_OS_START_STATUS + 3);
- { @see APR_STATUS_IS_NOTDETACH }
- APR_NOTDETACH = (APR_OS_START_STATUS + 4);
- { @see APR_STATUS_IS_CHILD_DONE }
- APR_CHILD_DONE = (APR_OS_START_STATUS + 5);
- { @see APR_STATUS_IS_CHILD_NOTDONE }
- APR_CHILD_NOTDONE = (APR_OS_START_STATUS + 6);
- { @see APR_STATUS_IS_TIMEUP }
- APR_TIMEUP = (APR_OS_START_STATUS + 7);
- { @see APR_STATUS_IS_INCOMPLETE }
- APR_INCOMPLETE = (APR_OS_START_STATUS + 8);
- { empty slot: +9 }
- { empty slot: +10 }
- { empty slot: +11 }
- { @see APR_STATUS_IS_BADCH }
- APR_BADCH = (APR_OS_START_STATUS + 12);
- { @see APR_STATUS_IS_BADARG }
- APR_BADARG = (APR_OS_START_STATUS + 13);
- { @see APR_STATUS_IS_EOF }
- APR_EOF = (APR_OS_START_STATUS + 14);
- { @see APR_STATUS_IS_NOTFOUND }
- APR_NOTFOUND = (APR_OS_START_STATUS + 15);
- { empty slot: +16 }
- { empty slot: +17 }
- { empty slot: +18 }
- { @see APR_STATUS_IS_ANONYMOUS }
- APR_ANONYMOUS = (APR_OS_START_STATUS + 19);
- { @see APR_STATUS_IS_FILEBASED }
- APR_FILEBASED = (APR_OS_START_STATUS + 20);
- { @see APR_STATUS_IS_KEYBASED }
- APR_KEYBASED = (APR_OS_START_STATUS + 21);
- { @see APR_STATUS_IS_EINIT }
- APR_EINIT = (APR_OS_START_STATUS + 22);
- { @see APR_STATUS_IS_ENOTIMPL }
- APR_ENOTIMPL = (APR_OS_START_STATUS + 23);
- { @see APR_STATUS_IS_EMISMATCH }
- APR_EMISMATCH = (APR_OS_START_STATUS + 24);
- { @see APR_STATUS_IS_EBUSY }
- APR_EBUSY = (APR_OS_START_STATUS + 25);
- {
- * @addtogroup APR_STATUS_IS
- }
- {
- * Program is currently executing in the child
- * @warning
- * always use this test, as platform-specific variances may meet this
- * more than one error code }
- //#define APR_STATUS_IS_INCHILD(s) ((s) == APR_INCHILD)
- {
- * Program is currently executing in the parent
- * @warning
- * always use this test, as platform-specific variances may meet this
- * more than one error code
- }
- //#define APR_STATUS_IS_INPARENT(s) ((s) == APR_INPARENT)
- {
- * 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_DETACH(s) ((s) == APR_DETACH)
- {
- * The thread is not detached
- * @warning
- * always use this test, as platform-specific variances may meet this
- * more than one error code
- }
- //#define APR_STATUS_IS_NOTDETACH(s) ((s) == APR_NOTDETACH)
- {
- * 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_DONE(s) ((s) == APR_CHILD_DONE)
- {
- * 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_CHILD_NOTDONE(s) ((s) == APR_CHILD_NOTDONE)
- {
- * The operation did not finish before the timeout
- * @warning
- * always use this test, as platform-specific variances may meet this
- * more than one error code
- }
- //#define APR_STATUS_IS_TIMEUP(s) ((s) == APR_TIMEUP)
- {
- * The operation was incomplete although some processing was performed
- * and the results are partially valid.
- * @warning
- * always use this test, as platform-specific variances may meet this
- * more than one error code
- }
- //#define APR_STATUS_IS_INCOMPLETE(s) ((s) == APR_INCOMPLETE)
- { empty slot: +9 }
- { empty slot: +10 }
- { empty slot: +11 }
- {
- * 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_BADCH(s) ((s) == APR_BADCH)
- {
- * 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_BADARG(s) ((s) == APR_BADARG)
- {
- * APR has encountered the end of the file
- * @warning
- * always use this test, as platform-specific variances may meet this
- * more than one error code
- }
- //#define APR_STATUS_IS_EOF(s) ((s) == APR_EOF)
- {
- * APR was unable to find the socket in the poll structure
- * @warning
- * always use this test, as platform-specific variances may meet this
- * more than one error code
- }
- //#define APR_STATUS_IS_NOTFOUND(s) ((s) == APR_NOTFOUND)
- { empty slot: +16 }
- { empty slot: +17 }
- { empty slot: +18 }
- {
- * 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_ANONYMOUS(s) ((s) == APR_ANONYMOUS)
- {
- * APR is using a file name as the key to the shared memory
- * @warning
- * always use this test, as platform-specific variances may meet this
- * more than one error code
- }
- //#define APR_STATUS_IS_FILEBASED(s) ((s) == APR_FILEBASED)
- {
- * APR is using a shared key as the key to the shared memory
- * @warning
- * always use this test, as platform-specific variances may meet this
- * more than one error code
- }
- //#define APR_STATUS_IS_KEYBASED(s) ((s) == APR_KEYBASED)
- {
- * 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_EINIT(s) ((s) == APR_EINIT)
- {
- * The APR function has not been implemented on this
- * platform, either because nobody has gotten to it yet,
- * or the function is impossible on this platform.
- * @warning
- * always use this test, as platform-specific variances may meet this
- * more than one error code
- }
- //#define APR_STATUS_IS_ENOTIMPL(s) ((s) == APR_ENOTIMPL)
- {
- * 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_EMISMATCH(s) ((s) == APR_EMISMATCH)
- {
- * 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_EBUSY(s) ((s) == APR_EBUSY)
- {
- * @addtogroup APR_Error APR Error Values
- }
- { APR CANONICAL ERROR VALUES }
- { @see APR_STATUS_IS_EACCES }
- {#ifdef EACCES
- #define APR_EACCES EACCES
- #else
- #define APR_EACCES (APR_OS_START_CANONERR + 1)
- #endif
- }
- { @see APR_STATUS_IS_EXIST }
- {#ifdef EEXIST
- #define APR_EEXIST EEXIST
- #else
- #define APR_EEXIST (APR_OS_START_CANONERR + 2)
- #endif
- }
- { @see APR_STATUS_IS_ENAMETOOLONG }
- {#ifdef ENAMETOOLONG
- #define APR_ENAMETOOLONG ENAMETOOLONG
- #else
- #define APR_ENAMETOOLONG (APR_OS_START_CANONERR + 3)
- #endif
- }
- { @see APR_STATUS_IS_ENOENT }
- {#ifdef ENOENT
- #define APR_ENOENT ENOENT
- #else
- #define APR_ENOENT (APR_OS_START_CANONERR + 4)
- #endif
- }
- { @see APR_STATUS_IS_ENOTDIR }
- {#ifdef ENOTDIR
- #define APR_ENOTDIR ENOTDIR
- #else
- #define APR_ENOTDIR (APR_OS_START_CANONERR + 5)
- #endif
- }
- { @see APR_STATUS_IS_ENOSPC }
- {#ifdef ENOSPC
- #define APR_ENOSPC ENOSPC
- #else
- #define APR_ENOSPC (APR_OS_START_CANONERR + 6)
- #endif
- }
- { @see APR_STATUS_IS_ENOMEM }
- {#ifdef ENOMEM
- #define APR_ENOMEM ENOMEM
- #else
- #define APR_ENOMEM (APR_OS_START_CANONERR + 7)
- #endif
- }
- { @see APR_STATUS_IS_EMFILE }
- {#ifdef EMFILE
- #define APR_EMFILE EMFILE
- #else
- #define APR_EMFILE (APR_OS_START_CANONERR + 8)
- #endif
- }
- { @see APR_STATUS_IS_ENFILE }
- {#ifdef ENFILE
- #define APR_ENFILE ENFILE
- #else
- #define APR_ENFILE (APR_OS_START_CANONERR + 9)
- #endif
- }
- { @see APR_STATUS_IS_EBADF }
- {#ifdef EBADF
- #define APR_EBADF EBADF
- #else
- #define APR_EBADF (APR_OS_START_CANONERR + 10)
- #endif
- }
- { @see APR_STATUS_IS_EINVAL }
- {#ifdef EINVAL
- #define APR_EINVAL EINVAL
- #else
- #define APR_EINVAL (APR_OS_START_CANONERR + 11)
- #endif
- }
- { @see APR_STATUS_IS_ESPIPE }
- {#ifdef ESPIPE
- #define APR_ESPIPE ESPIPE
- #else
- #define APR_ESPIPE (APR_OS_START_CANONERR + 12)
- #endif
- }
- {
- * @see APR_STATUS_IS_EAGAIN
- * @warning use APR_STATUS_IS_EAGAIN instead of just testing this value
- }
- {#ifdef EAGAIN
- #define APR_EAGAIN EAGAIN
- #elif defined(EWOULDBLOCK)
- #define APR_EAGAIN EWOULDBLOCK
- #else
- #define APR_EAGAIN (APR_OS_START_CANONERR + 13)
- #endif
- }
- { @see APR_STATUS_IS_EINTR }
- {#ifdef EINTR
- #define APR_EINTR EINTR
- #else
- #define APR_EINTR (APR_OS_START_CANONERR + 14)
- #endif
- }
- { @see APR_STATUS_IS_ENOTSOCK }
- {#ifdef ENOTSOCK
- #define APR_ENOTSOCK ENOTSOCK
- #else
- #define APR_ENOTSOCK (APR_OS_START_CANONERR + 15)
- #endif
- }
- { @see APR_STATUS_IS_ECONNREFUSED }
- {#ifdef ECONNREFUSED
- #define APR_ECONNREFUSED ECONNREFUSED
- #else
- #define APR_ECONNREFUSED (APR_OS_START_CANONERR + 16)
- #endif
- }
- { @see APR_STATUS_IS_EINPROGRESS }
- {#ifdef EINPROGRESS
- #define APR_EINPROGRESS EINPROGRESS
- #else
- #define APR_EINPROGRESS (APR_OS_START_CANONERR + 17)
- #endif
- }
- {
- * @see APR_STATUS_IS_ECONNABORTED
- * @warning use APR_STATUS_IS_ECONNABORTED instead of just testing this value
- }
- {#ifdef ECONNABORTED
- #define APR_ECONNABORTED ECONNABORTED
- #else
- #define APR_ECONNABORTED (APR_OS_START_CANONERR + 18)
- #endif
- }
- { @see APR_STATUS_IS_ECONNRESET }
- {#ifdef ECONNRESET
- #define APR_ECONNRESET ECONNRESET
- #else
- #define APR_ECONNRESET (APR_OS_START_CANONERR + 19)
- #endif
- }
- { @see APR_STATUS_IS_ETIMEDOUT }
- {#ifdef ETIMEDOUT
- #define APR_ETIMEDOUT ETIMEDOUT
- #else
- #define APR_ETIMEDOUT (APR_OS_START_CANONERR + 20)
- #endif
- }
- { @see APR_STATUS_IS_EHOSTUNREACH }
- {#ifdef EHOSTUNREACH
- #define APR_EHOSTUNREACH EHOSTUNREACH
- #else
- #define APR_EHOSTUNREACH (APR_OS_START_CANONERR + 21)
- #endif
- }
- { @see APR_STATUS_IS_ENETUNREACH }
- {#ifdef ENETUNREACH
- #define APR_ENETUNREACH ENETUNREACH
- #else
- #define APR_ENETUNREACH (APR_OS_START_CANONERR + 22)
- #endif
- }
- { @see APR_STATUS_IS_EFTYPE }
- {#ifdef EFTYPE
- #define APR_EFTYPE EFTYPE
- #else
- #define APR_EFTYPE (APR_OS_START_CANONERR + 23)
- #endif
- }
- { @see APR_STATUS_IS_EPIPE }
- {#ifdef EPIPE
- #define APR_EPIPE EPIPE
- #else
- #define APR_EPIPE (APR_OS_START_CANONERR + 24)
- #endif
- }
- { @see APR_STATUS_IS_EXDEV }
- {#ifdef EXDEV
- #define APR_EXDEV EXDEV
- #else
- #define APR_EXDEV (APR_OS_START_CANONERR + 25)
- #endif
- }
- { @see APR_STATUS_IS_ENOTEMPTY }
- {#ifdef ENOTEMPTY
- #define APR_ENOTEMPTY ENOTEMPTY
- #else
- #define APR_ENOTEMPTY (APR_OS_START_CANONERR + 26)
- #endif
- #if defined(OS2) && !defined(DOXYGEN)
- #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 INCL_DOSERRORS
- #define INCL_DOS
- }
- { Leave these undefined.
- * OS2 doesn't rely on the errno concept.
- * The API calls always return a result codes which
- * should be filtered through APR_FROM_OS_ERROR().
- *
- * #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(errno))
- #define apr_set_netos_error(e) (errno = APR_TO_OS_ERROR(e))
- }
- { And this needs to be greped away for good:
- }
- {#define APR_OS2_STATUS(e) (APR_FROM_OS_ERROR(e))
- #define APR_STATUS_IS_SUCCESS(s) ((s) == APR_SUCCESS \
- || (s) == APR_OS_START_SYSERR + NO_ERROR)
- }
- { These can't sit in a private header, so in spite of the extra size,
- * they need to be made available here.
- }
- SOCBASEERR = 10000;
- SOCEPERM = (SOCBASEERR+1); { Not owner }
- SOCESRCH = (SOCBASEERR+3); { No such process }
- SOCEINTR = (SOCBASEERR+4); { Interrupted system call }
- SOCENXIO = (SOCBASEERR+6); { No such device or address }
- SOCEBADF = (SOCBASEERR+9); { Bad file number }
- SOCEACCES = (SOCBASEERR+13); { Permission denied }
- SOCEFAULT = (SOCBASEERR+14); { Bad address }
- SOCEINVAL = (SOCBASEERR+22); { Invalid argument }
- SOCEMFILE = (SOCBASEERR+24); { Too many open files }
- SOCEPIPE = (SOCBASEERR+32); { Broken pipe }
- SOCEOS2ERR = (SOCBASEERR+100); { OS/2 Error }
- SOCEWOULDBLOCK = (SOCBASEERR+35); { Operation would block }
- SOCEINPROGRESS = (SOCBASEERR+36); { Operation now in progress }
- SOCEALREADY = (SOCBASEERR+37); { Operation already in progress }
- SOCENOTSOCK = (SOCBASEERR+38); { Socket operation on non-socket }
- SOCEDESTADDRREQ = (SOCBASEERR+39); { Destination address required }
- SOCEMSGSIZE = (SOCBASEERR+40); { Message too long }
- SOCEPROTOTYPE = (SOCBASEERR+41); { Protocol wrong type for socket }
- SOCENOPROTOOPT = (SOCBASEERR+42); { Protocol not available }
- SOCEPROTONOSUPPORT = (SOCBASEERR+43); { Protocol not supported }
- SOCESOCKTNOSUPPORT = (SOCBASEERR+44); { Socket type not supported }
- SOCEOPNOTSUPP = (SOCBASEERR+45); { Operation not supported on socket }
- SOCEPFNOSUPPORT = (SOCBASEERR+46); { Protocol family not supported }
- SOCEAFNOSUPPORT = (SOCBASEERR+47); { Address family not supported by protocol family }
- SOCEADDRINUSE = (SOCBASEERR+48); { Address already in use }
- SOCEADDRNOTAVAIL = (SOCBASEERR+49); { Can't assign requested address }
- SOCENETDOWN = (SOCBASEERR+50); { Network is down }
- SOCENETUNREACH = (SOCBASEERR+51); { Network is unreachable }
- SOCENETRESET = (SOCBASEERR+52); { Network dropped connection on reset }
- SOCECONNABORTED = (SOCBASEERR+53); { Software caused connection abort }
- SOCECONNRESET = (SOCBASEERR+54); { Connection reset by peer }
- SOCENOBUFS = (SOCBASEERR+55); { No buffer space available }
- SOCEISCONN = (SOCBASEERR+56); { Socket is already connected }
- SOCENOTCONN = (SOCBASEERR+57); { Socket is not connected }
- SOCESHUTDOWN = (SOCBASEERR+58); { Can't send after socket shutdown }
- SOCETOOMANYREFS = (SOCBASEERR+59); { Too many references: can't splice }
- SOCETIMEDOUT = (SOCBASEERR+60); { Connection timed out }
- SOCECONNREFUSED = (SOCBASEERR+61); { Connection refused }
- SOCELOOP = (SOCBASEERR+62); { Too many levels of symbolic links }
- SOCENAMETOOLONG = (SOCBASEERR+63); { File name too long }
- SOCEHOSTDOWN = (SOCBASEERR+64); { Host is down }
- SOCEHOSTUNREACH = (SOCBASEERR+65); { No route to host }
- SOCENOTEMPTY = (SOCBASEERR+66); { Directory not empty }
- { 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_SHARING_VIOLATION)
- #define APR_STATUS_IS_EEXIST(s) ((s) == APR_EEXIST \
- || (s) == APR_OS_START_SYSERR + ERROR_OPEN_FAILED \
- || (s) == APR_OS_START_SYSERR + ERROR_FILE_EXISTS \
- || (s) == APR_OS_START_SYSERR + ERROR_ALREADY_EXISTS \
- || (s) == APR_OS_START_SYSERR + ERROR_ACCESS_DENIED)
- #define APR_STATUS_IS_ENAMETOOLONG(s) ((s) == APR_ENAMETOOLONG \
- || (s) == APR_OS_START_SYSERR + ERROR_FILENAME_EXCED_RANGE \
- || (s) == APR_OS_START_SYSERR + SOCENAMETOOLONG)
- #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_NO_MORE_FILES \
- || (s) == APR_OS_START_SYSERR + ERROR_OPEN_FAILED)
- #define APR_STATUS_IS_ENOTDIR(s) ((s) == APR_ENOTDIR)
- #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)
- #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)
- #define APR_STATUS_IS_EINVAL(s) ((s) == APR_EINVAL \
- || (s) == APR_OS_START_SYSERR + ERROR_INVALID_PARAMETER \
- || (s) == APR_OS_START_SYSERR + ERROR_INVALID_FUNCTION)
- #define APR_STATUS_IS_ESPIPE(s) ((s) == APR_ESPIPE \
- || (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 + SOCEWOULDBLOCK \
- || (s) == APR_OS_START_SYSERR + ERROR_LOCK_VIOLATION)
- #define APR_STATUS_IS_EINTR(s) ((s) == APR_EINTR \
- || (s) == APR_OS_START_SYSERR + SOCEINTR)
- #define APR_STATUS_IS_ENOTSOCK(s) ((s) == APR_ENOTSOCK \
- || (s) == APR_OS_START_SYSERR + SOCENOTSOCK)
- #define APR_STATUS_IS_ECONNREFUSED(s) ((s) == APR_ECONNREFUSED \
- || (s) == APR_OS_START_SYSERR + SOCECONNREFUSED)
- #define APR_STATUS_IS_EINPROGRESS(s) ((s) == APR_EINPROGRESS \
- || (s) == APR_OS_START_SYSERR + SOCEINPROGRESS)
- #define APR_STATUS_IS_ECONNABORTED(s) ((s) == APR_ECONNABORTED \
- || (s) == APR_OS_START_SYSERR + SOCECONNABORTED)
- #define APR_STATUS_IS_ECONNRESET(s) ((s) == APR_ECONNRESET \
- || (s) == APR_OS_START_SYSERR + SOCECONNRESET)
- #define APR_STATUS_IS_ETIMEDOUT(s) ((s) == APR_ETIMEDOUT \
- || (s) == APR_OS_START_SYSERR + SOCETIMEDOUT)
- #define APR_STATUS_IS_EHOSTUNREACH(s) ((s) == APR_EHOSTUNREACH \
- || (s) == APR_OS_START_SYSERR + SOCEHOSTUNREACH)
- #define APR_STATUS_IS_ENETUNREACH(s) ((s) == APR_ENETUNREACH \
- || (s) == APR_OS_START_SYSERR + SOCENETUNREACH)
- #define APR_STATUS_IS_EFTYPE(s) ((s) == APR_EFTYPE)
- #define APR_STATUS_IS_EPIPE(s) ((s) == APR_EPIPE \
- || (s) == APR_OS_START_SYSERR + ERROR_BROKEN_PIPE \
- || (s) == APR_OS_START_SYSERR + SOCEPIPE)
- #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 \
- || (s) == APR_OS_START_SYSERR + ERROR_ACCESS_DENIED)
- }
- {
- Sorry, too tired to wrap this up for OS2... feel free to
- fit the following into their best matches.
- ( ERROR_NO_SIGNAL_SENT, ESRCH ),
- ( SOCEALREADY, EALREADY ),
- ( SOCEDESTADDRREQ, EDESTADDRREQ ),
- ( SOCEMSGSIZE, EMSGSIZE ),
- ( SOCEPROTOTYPE, EPROTOTYPE ),
- ( SOCENOPROTOOPT, ENOPROTOOPT ),
- ( SOCEPROTONOSUPPORT, EPROTONOSUPPORT ),
- ( SOCESOCKTNOSUPPORT, ESOCKTNOSUPPORT ),
- ( SOCEOPNOTSUPP, EOPNOTSUPP ),
- ( SOCEPFNOSUPPORT, EPFNOSUPPORT ),
- ( SOCEAFNOSUPPORT, EAFNOSUPPORT ),
- ( SOCEADDRINUSE, EADDRINUSE ),
- ( SOCEADDRNOTAVAIL, EADDRNOTAVAIL ),
- ( 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) }
|