12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205 |
- { 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);
- { @see APR_STATUS_IS_ENOTENOUGHENTROPY }
- APR_ENOTENOUGHENTROPY = (APR_OS_START_ERROR + 28);
- {
- * @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
- * 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.
- }
- {
- * 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)
- { APR could not gather enough entropy to continue. }
- //#define APR_STATUS_IS_ENOTENOUGHENTROPY(s) ((s) == APR_ENOTENOUGHENTROPY)
- {
- * @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
- * @deprecated}
- {#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))
- }
- { 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)
- /* XXX deprecated */
- #define APR_STATUS_IS_ETIMEDOUT(s) ((s) == APR_ETIMEDOUT \
- || (s) == APR_OS_START_SYSERR + SOCETIMEDOUT)
- #undef APR_STATUS_IS_TIMEUP
- #define APR_STATUS_IS_TIMEUP(s) ((s) == APR_TIMEUP \
- || (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)))
- }
- { 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)
- /* XXX deprecated */
- #define APR_STATUS_IS_ETIMEDOUT(s) ((s) == APR_ETIMEDOUT \
- || (s) == APR_OS_START_SYSERR + WSAETIMEDOUT \
- || (s) == APR_OS_START_SYSERR + WAIT_TIMEOUT)
- #undef APR_STATUS_IS_TIMEUP
- #define APR_STATUS_IS_TIMEUP(s) ((s) == APR_TIMEUP \
- || (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(USE_WINSOCK) && !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)))
- }
- { 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)
- /* XXX deprecated */
- #define APR_STATUS_IS_ETIMEDOUT(s) ((s) == APR_ETIMEDOUT \
- || (s) == APR_OS_START_SYSERR + WSAETIMEDOUT \
- || (s) == APR_OS_START_SYSERR + WAIT_TIMEOUT)
- #undef APR_STATUS_IS_TIMEUP
- #define APR_STATUS_IS_TIMEUP(s) ((s) == APR_TIMEUP \
- || (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
- }
- { 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
- * @deprecated}
- //#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) }
|