00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef APR_ERRNO_H
00017 #define APR_ERRNO_H
00018
00019
00020
00021
00022
00023
00024 #include "apr.h"
00025
00026 #if APR_HAVE_ERRNO_H
00027 #include <errno.h>
00028 #endif
00029
00030 #ifdef __cplusplus
00031 extern "C" {
00032 #endif
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043 typedef int apr_status_t;
00044
00045
00046
00047
00048
00049
00050
00051 APR_DECLARE(char *) apr_strerror(apr_status_t statcode, char *buf,
00052 apr_size_t bufsize);
00053
00054 #if defined(DOXYGEN)
00055
00056
00057
00058
00059
00060
00061
00062
00063 #define APR_FROM_OS_ERROR(e) (e == 0 ? APR_SUCCESS : e + APR_OS_START_SYSERR)
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074 #define APR_TO_OS_ERROR(e) (e == 0 ? APR_SUCCESS : e - APR_OS_START_SYSERR)
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111 #endif
00112
00113
00114
00115
00116 #define APR_OS_START_ERROR 20000
00117
00118
00119
00120
00121
00122 #define APR_OS_ERRSPACE_SIZE 50000
00123
00124
00125
00126 #define APR_OS_START_STATUS (APR_OS_START_ERROR + APR_OS_ERRSPACE_SIZE)
00127
00128
00129
00130
00131
00132
00133
00134 #define APR_OS_START_USERERR (APR_OS_START_STATUS + APR_OS_ERRSPACE_SIZE)
00135
00136
00137
00138
00139 #define APR_OS_START_USEERR APR_OS_START_USERERR
00140
00141
00142
00143
00144 #define APR_OS_START_CANONERR (APR_OS_START_USERERR \
00145 + (APR_OS_ERRSPACE_SIZE * 10))
00146
00147
00148
00149
00150 #define APR_OS_START_EAIERR (APR_OS_START_CANONERR + APR_OS_ERRSPACE_SIZE)
00151
00152
00153
00154
00155 #define APR_OS_START_SYSERR (APR_OS_START_EAIERR + APR_OS_ERRSPACE_SIZE)
00156
00157
00158 #define APR_SUCCESS 0
00159
00160
00161
00162
00163
00164
00165
00166
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182
00183
00184
00185
00186
00187
00188
00189
00190
00191
00192
00193
00194
00195
00196
00197
00198
00199
00200
00201
00202
00203
00204
00205
00206
00207
00208
00209
00210
00211
00212
00213
00214
00215
00216
00217
00218
00219
00220 #define APR_ENOSTAT (APR_OS_START_ERROR + 1)
00221
00222 #define APR_ENOPOOL (APR_OS_START_ERROR + 2)
00223
00224
00225 #define APR_EBADDATE (APR_OS_START_ERROR + 4)
00226
00227 #define APR_EINVALSOCK (APR_OS_START_ERROR + 5)
00228
00229 #define APR_ENOPROC (APR_OS_START_ERROR + 6)
00230
00231 #define APR_ENOTIME (APR_OS_START_ERROR + 7)
00232
00233 #define APR_ENODIR (APR_OS_START_ERROR + 8)
00234
00235 #define APR_ENOLOCK (APR_OS_START_ERROR + 9)
00236
00237 #define APR_ENOPOLL (APR_OS_START_ERROR + 10)
00238
00239 #define APR_ENOSOCKET (APR_OS_START_ERROR + 11)
00240
00241 #define APR_ENOTHREAD (APR_OS_START_ERROR + 12)
00242
00243 #define APR_ENOTHDKEY (APR_OS_START_ERROR + 13)
00244
00245 #define APR_EGENERAL (APR_OS_START_ERROR + 14)
00246
00247 #define APR_ENOSHMAVAIL (APR_OS_START_ERROR + 15)
00248
00249 #define APR_EBADIP (APR_OS_START_ERROR + 16)
00250
00251 #define APR_EBADMASK (APR_OS_START_ERROR + 17)
00252
00253
00254 #define APR_EDSOOPEN (APR_OS_START_ERROR + 19)
00255
00256 #define APR_EABSOLUTE (APR_OS_START_ERROR + 20)
00257
00258 #define APR_ERELATIVE (APR_OS_START_ERROR + 21)
00259
00260 #define APR_EINCOMPLETE (APR_OS_START_ERROR + 22)
00261
00262 #define APR_EABOVEROOT (APR_OS_START_ERROR + 23)
00263
00264 #define APR_EBADPATH (APR_OS_START_ERROR + 24)
00265
00266 #define APR_EPATHWILD (APR_OS_START_ERROR + 25)
00267
00268 #define APR_ESYMNOTFOUND (APR_OS_START_ERROR + 26)
00269
00270 #define APR_EPROC_UNKNOWN (APR_OS_START_ERROR + 27)
00271
00272 #define APR_ENOTENOUGHENTROPY (APR_OS_START_ERROR + 28)
00273
00274
00275
00276
00277
00278
00279
00280
00281
00282
00283
00284
00285
00286
00287
00288
00289
00290
00291 #define APR_STATUS_IS_ENOSTAT(s) ((s) == APR_ENOSTAT)
00292
00293
00294
00295
00296
00297 #define APR_STATUS_IS_ENOPOOL(s) ((s) == APR_ENOPOOL)
00298
00299 #define APR_STATUS_IS_EBADDATE(s) ((s) == APR_EBADDATE)
00300
00301 #define APR_STATUS_IS_EINVALSOCK(s) ((s) == APR_EINVALSOCK)
00302
00303 #define APR_STATUS_IS_ENOPROC(s) ((s) == APR_ENOPROC)
00304
00305 #define APR_STATUS_IS_ENOTIME(s) ((s) == APR_ENOTIME)
00306
00307 #define APR_STATUS_IS_ENODIR(s) ((s) == APR_ENODIR)
00308
00309 #define APR_STATUS_IS_ENOLOCK(s) ((s) == APR_ENOLOCK)
00310
00311 #define APR_STATUS_IS_ENOPOLL(s) ((s) == APR_ENOPOLL)
00312
00313 #define APR_STATUS_IS_ENOSOCKET(s) ((s) == APR_ENOSOCKET)
00314
00315 #define APR_STATUS_IS_ENOTHREAD(s) ((s) == APR_ENOTHREAD)
00316
00317 #define APR_STATUS_IS_ENOTHDKEY(s) ((s) == APR_ENOTHDKEY)
00318
00319 #define APR_STATUS_IS_EGENERAL(s) ((s) == APR_EGENERAL)
00320
00321 #define APR_STATUS_IS_ENOSHMAVAIL(s) ((s) == APR_ENOSHMAVAIL)
00322
00323 #define APR_STATUS_IS_EBADIP(s) ((s) == APR_EBADIP)
00324
00325 #define APR_STATUS_IS_EBADMASK(s) ((s) == APR_EBADMASK)
00326
00327
00328
00329
00330
00331 #if defined(WIN32)
00332 #define APR_STATUS_IS_EDSOOPEN(s) ((s) == APR_EDSOOPEN \
00333 || APR_TO_OS_ERROR(s) == ERROR_MOD_NOT_FOUND)
00334 #else
00335 #define APR_STATUS_IS_EDSOOPEN(s) ((s) == APR_EDSOOPEN)
00336 #endif
00337
00338 #define APR_STATUS_IS_EABSOLUTE(s) ((s) == APR_EABSOLUTE)
00339
00340 #define APR_STATUS_IS_ERELATIVE(s) ((s) == APR_ERELATIVE)
00341
00342 #define APR_STATUS_IS_EINCOMPLETE(s) ((s) == APR_EINCOMPLETE)
00343
00344 #define APR_STATUS_IS_EABOVEROOT(s) ((s) == APR_EABOVEROOT)
00345
00346 #define APR_STATUS_IS_EBADPATH(s) ((s) == APR_EBADPATH)
00347
00348 #define APR_STATUS_IS_EPATHWILD(s) ((s) == APR_EPATHWILD)
00349
00350
00351
00352 #if defined(WIN32)
00353 #define APR_STATUS_IS_ESYMNOTFOUND(s) ((s) == APR_ESYMNOTFOUND \
00354 || APR_TO_OS_ERROR(s) == ERROR_PROC_NOT_FOUND)
00355 #else
00356 #define APR_STATUS_IS_ESYMNOTFOUND(s) ((s) == APR_ESYMNOTFOUND)
00357 #endif
00358
00359 #define APR_STATUS_IS_EPROC_UNKNOWN(s) ((s) == APR_EPROC_UNKNOWN)
00360
00361
00362 #define APR_STATUS_IS_ENOTENOUGHENTROPY(s) ((s) == APR_ENOTENOUGHENTROPY)
00363
00364
00365
00366
00367
00368
00369
00370
00371 #define APR_INCHILD (APR_OS_START_STATUS + 1)
00372
00373 #define APR_INPARENT (APR_OS_START_STATUS + 2)
00374
00375 #define APR_DETACH (APR_OS_START_STATUS + 3)
00376
00377 #define APR_NOTDETACH (APR_OS_START_STATUS + 4)
00378
00379 #define APR_CHILD_DONE (APR_OS_START_STATUS + 5)
00380
00381 #define APR_CHILD_NOTDONE (APR_OS_START_STATUS + 6)
00382
00383 #define APR_TIMEUP (APR_OS_START_STATUS + 7)
00384
00385 #define APR_INCOMPLETE (APR_OS_START_STATUS + 8)
00386
00387
00388
00389
00390 #define APR_BADCH (APR_OS_START_STATUS + 12)
00391
00392 #define APR_BADARG (APR_OS_START_STATUS + 13)
00393
00394 #define APR_EOF (APR_OS_START_STATUS + 14)
00395
00396 #define APR_NOTFOUND (APR_OS_START_STATUS + 15)
00397
00398
00399
00400
00401 #define APR_ANONYMOUS (APR_OS_START_STATUS + 19)
00402
00403 #define APR_FILEBASED (APR_OS_START_STATUS + 20)
00404
00405 #define APR_KEYBASED (APR_OS_START_STATUS + 21)
00406
00407 #define APR_EINIT (APR_OS_START_STATUS + 22)
00408
00409 #define APR_ENOTIMPL (APR_OS_START_STATUS + 23)
00410
00411 #define APR_EMISMATCH (APR_OS_START_STATUS + 24)
00412
00413 #define APR_EBUSY (APR_OS_START_STATUS + 25)
00414
00415
00416
00417
00418
00419
00420
00421
00422
00423
00424
00425 #define APR_STATUS_IS_INCHILD(s) ((s) == APR_INCHILD)
00426
00427
00428
00429
00430
00431
00432 #define APR_STATUS_IS_INPARENT(s) ((s) == APR_INPARENT)
00433
00434
00435
00436
00437
00438
00439 #define APR_STATUS_IS_DETACH(s) ((s) == APR_DETACH)
00440
00441
00442
00443
00444
00445
00446 #define APR_STATUS_IS_NOTDETACH(s) ((s) == APR_NOTDETACH)
00447
00448
00449
00450
00451
00452
00453 #define APR_STATUS_IS_CHILD_DONE(s) ((s) == APR_CHILD_DONE)
00454
00455
00456
00457
00458
00459
00460 #define APR_STATUS_IS_CHILD_NOTDONE(s) ((s) == APR_CHILD_NOTDONE)
00461
00462
00463
00464
00465
00466
00467 #define APR_STATUS_IS_TIMEUP(s) ((s) == APR_TIMEUP)
00468
00469
00470
00471
00472
00473
00474
00475 #define APR_STATUS_IS_INCOMPLETE(s) ((s) == APR_INCOMPLETE)
00476
00477
00478
00479
00480
00481
00482
00483
00484
00485 #define APR_STATUS_IS_BADCH(s) ((s) == APR_BADCH)
00486
00487
00488
00489
00490
00491
00492
00493 #define APR_STATUS_IS_BADARG(s) ((s) == APR_BADARG)
00494
00495
00496
00497
00498
00499
00500 #define APR_STATUS_IS_EOF(s) ((s) == APR_EOF)
00501
00502
00503
00504
00505
00506
00507 #define APR_STATUS_IS_NOTFOUND(s) ((s) == APR_NOTFOUND)
00508
00509
00510
00511
00512
00513
00514
00515
00516
00517 #define APR_STATUS_IS_ANONYMOUS(s) ((s) == APR_ANONYMOUS)
00518
00519
00520
00521
00522
00523
00524 #define APR_STATUS_IS_FILEBASED(s) ((s) == APR_FILEBASED)
00525
00526
00527
00528
00529
00530
00531 #define APR_STATUS_IS_KEYBASED(s) ((s) == APR_KEYBASED)
00532
00533
00534
00535
00536
00537
00538
00539 #define APR_STATUS_IS_EINIT(s) ((s) == APR_EINIT)
00540
00541
00542
00543
00544
00545
00546
00547
00548 #define APR_STATUS_IS_ENOTIMPL(s) ((s) == APR_ENOTIMPL)
00549
00550
00551
00552
00553
00554
00555 #define APR_STATUS_IS_EMISMATCH(s) ((s) == APR_EMISMATCH)
00556
00557
00558
00559
00560
00561 #define APR_STATUS_IS_EBUSY(s) ((s) == APR_EBUSY)
00562
00563
00564
00565
00566
00567
00568
00569
00570
00571 #ifdef EACCES
00572 #define APR_EACCES EACCES
00573 #else
00574 #define APR_EACCES (APR_OS_START_CANONERR + 1)
00575 #endif
00576
00577
00578 #ifdef EEXIST
00579 #define APR_EEXIST EEXIST
00580 #else
00581 #define APR_EEXIST (APR_OS_START_CANONERR + 2)
00582 #endif
00583
00584
00585 #ifdef ENAMETOOLONG
00586 #define APR_ENAMETOOLONG ENAMETOOLONG
00587 #else
00588 #define APR_ENAMETOOLONG (APR_OS_START_CANONERR + 3)
00589 #endif
00590
00591
00592 #ifdef ENOENT
00593 #define APR_ENOENT ENOENT
00594 #else
00595 #define APR_ENOENT (APR_OS_START_CANONERR + 4)
00596 #endif
00597
00598
00599 #ifdef ENOTDIR
00600 #define APR_ENOTDIR ENOTDIR
00601 #else
00602 #define APR_ENOTDIR (APR_OS_START_CANONERR + 5)
00603 #endif
00604
00605
00606 #ifdef ENOSPC
00607 #define APR_ENOSPC ENOSPC
00608 #else
00609 #define APR_ENOSPC (APR_OS_START_CANONERR + 6)
00610 #endif
00611
00612
00613 #ifdef ENOMEM
00614 #define APR_ENOMEM ENOMEM
00615 #else
00616 #define APR_ENOMEM (APR_OS_START_CANONERR + 7)
00617 #endif
00618
00619
00620 #ifdef EMFILE
00621 #define APR_EMFILE EMFILE
00622 #else
00623 #define APR_EMFILE (APR_OS_START_CANONERR + 8)
00624 #endif
00625
00626
00627 #ifdef ENFILE
00628 #define APR_ENFILE ENFILE
00629 #else
00630 #define APR_ENFILE (APR_OS_START_CANONERR + 9)
00631 #endif
00632
00633
00634 #ifdef EBADF
00635 #define APR_EBADF EBADF
00636 #else
00637 #define APR_EBADF (APR_OS_START_CANONERR + 10)
00638 #endif
00639
00640
00641 #ifdef EINVAL
00642 #define APR_EINVAL EINVAL
00643 #else
00644 #define APR_EINVAL (APR_OS_START_CANONERR + 11)
00645 #endif
00646
00647
00648 #ifdef ESPIPE
00649 #define APR_ESPIPE ESPIPE
00650 #else
00651 #define APR_ESPIPE (APR_OS_START_CANONERR + 12)
00652 #endif
00653
00654
00655
00656
00657
00658 #ifdef EAGAIN
00659 #define APR_EAGAIN EAGAIN
00660 #elif defined(EWOULDBLOCK)
00661 #define APR_EAGAIN EWOULDBLOCK
00662 #else
00663 #define APR_EAGAIN (APR_OS_START_CANONERR + 13)
00664 #endif
00665
00666
00667 #ifdef EINTR
00668 #define APR_EINTR EINTR
00669 #else
00670 #define APR_EINTR (APR_OS_START_CANONERR + 14)
00671 #endif
00672
00673
00674 #ifdef ENOTSOCK
00675 #define APR_ENOTSOCK ENOTSOCK
00676 #else
00677 #define APR_ENOTSOCK (APR_OS_START_CANONERR + 15)
00678 #endif
00679
00680
00681 #ifdef ECONNREFUSED
00682 #define APR_ECONNREFUSED ECONNREFUSED
00683 #else
00684 #define APR_ECONNREFUSED (APR_OS_START_CANONERR + 16)
00685 #endif
00686
00687
00688 #ifdef EINPROGRESS
00689 #define APR_EINPROGRESS EINPROGRESS
00690 #else
00691 #define APR_EINPROGRESS (APR_OS_START_CANONERR + 17)
00692 #endif
00693
00694
00695
00696
00697
00698
00699 #ifdef ECONNABORTED
00700 #define APR_ECONNABORTED ECONNABORTED
00701 #else
00702 #define APR_ECONNABORTED (APR_OS_START_CANONERR + 18)
00703 #endif
00704
00705
00706 #ifdef ECONNRESET
00707 #define APR_ECONNRESET ECONNRESET
00708 #else
00709 #define APR_ECONNRESET (APR_OS_START_CANONERR + 19)
00710 #endif
00711
00712
00713
00714 #ifdef ETIMEDOUT
00715 #define APR_ETIMEDOUT ETIMEDOUT
00716 #else
00717 #define APR_ETIMEDOUT (APR_OS_START_CANONERR + 20)
00718 #endif
00719
00720
00721 #ifdef EHOSTUNREACH
00722 #define APR_EHOSTUNREACH EHOSTUNREACH
00723 #else
00724 #define APR_EHOSTUNREACH (APR_OS_START_CANONERR + 21)
00725 #endif
00726
00727
00728 #ifdef ENETUNREACH
00729 #define APR_ENETUNREACH ENETUNREACH
00730 #else
00731 #define APR_ENETUNREACH (APR_OS_START_CANONERR + 22)
00732 #endif
00733
00734
00735 #ifdef EFTYPE
00736 #define APR_EFTYPE EFTYPE
00737 #else
00738 #define APR_EFTYPE (APR_OS_START_CANONERR + 23)
00739 #endif
00740
00741
00742 #ifdef EPIPE
00743 #define APR_EPIPE EPIPE
00744 #else
00745 #define APR_EPIPE (APR_OS_START_CANONERR + 24)
00746 #endif
00747
00748
00749 #ifdef EXDEV
00750 #define APR_EXDEV EXDEV
00751 #else
00752 #define APR_EXDEV (APR_OS_START_CANONERR + 25)
00753 #endif
00754
00755
00756 #ifdef ENOTEMPTY
00757 #define APR_ENOTEMPTY ENOTEMPTY
00758 #else
00759 #define APR_ENOTEMPTY (APR_OS_START_CANONERR + 26)
00760 #endif
00761
00762
00763
00764 #if defined(OS2) && !defined(DOXYGEN)
00765
00766 #define APR_FROM_OS_ERROR(e) (e == 0 ? APR_SUCCESS : e + APR_OS_START_SYSERR)
00767 #define APR_TO_OS_ERROR(e) (e == 0 ? APR_SUCCESS : e - APR_OS_START_SYSERR)
00768
00769 #define INCL_DOSERRORS
00770 #define INCL_DOS
00771
00772
00773
00774
00775
00776
00777
00778
00779
00780
00781
00782
00783 #define apr_get_netos_error() (APR_FROM_OS_ERROR(errno))
00784 #define apr_set_netos_error(e) (errno = APR_TO_OS_ERROR(e))
00785
00786
00787
00788 #define APR_OS2_STATUS(e) (APR_FROM_OS_ERROR(e))
00789
00790
00791
00792
00793 #define SOCBASEERR 10000
00794 #define SOCEPERM (SOCBASEERR+1)
00795 #define SOCESRCH (SOCBASEERR+3)
00796 #define SOCEINTR (SOCBASEERR+4)
00797 #define SOCENXIO (SOCBASEERR+6)
00798 #define SOCEBADF (SOCBASEERR+9)
00799 #define SOCEACCES (SOCBASEERR+13)
00800 #define SOCEFAULT (SOCBASEERR+14)
00801 #define SOCEINVAL (SOCBASEERR+22)
00802 #define SOCEMFILE (SOCBASEERR+24)
00803 #define SOCEPIPE (SOCBASEERR+32)
00804 #define SOCEOS2ERR (SOCBASEERR+100)
00805 #define SOCEWOULDBLOCK (SOCBASEERR+35)
00806 #define SOCEINPROGRESS (SOCBASEERR+36)
00807 #define SOCEALREADY (SOCBASEERR+37)
00808 #define SOCENOTSOCK (SOCBASEERR+38)
00809 #define SOCEDESTADDRREQ (SOCBASEERR+39)
00810 #define SOCEMSGSIZE (SOCBASEERR+40)
00811 #define SOCEPROTOTYPE (SOCBASEERR+41)
00812 #define SOCENOPROTOOPT (SOCBASEERR+42)
00813 #define SOCEPROTONOSUPPORT (SOCBASEERR+43)
00814 #define SOCESOCKTNOSUPPORT (SOCBASEERR+44)
00815 #define SOCEOPNOTSUPP (SOCBASEERR+45)
00816 #define SOCEPFNOSUPPORT (SOCBASEERR+46)
00817 #define SOCEAFNOSUPPORT (SOCBASEERR+47)
00818 #define SOCEADDRINUSE (SOCBASEERR+48)
00819 #define SOCEADDRNOTAVAIL (SOCBASEERR+49)
00820 #define SOCENETDOWN (SOCBASEERR+50)
00821 #define SOCENETUNREACH (SOCBASEERR+51)
00822 #define SOCENETRESET (SOCBASEERR+52)
00823 #define SOCECONNABORTED (SOCBASEERR+53)
00824 #define SOCECONNRESET (SOCBASEERR+54)
00825 #define SOCENOBUFS (SOCBASEERR+55)
00826 #define SOCEISCONN (SOCBASEERR+56)
00827 #define SOCENOTCONN (SOCBASEERR+57)
00828 #define SOCESHUTDOWN (SOCBASEERR+58)
00829 #define SOCETOOMANYREFS (SOCBASEERR+59)
00830 #define SOCETIMEDOUT (SOCBASEERR+60)
00831 #define SOCECONNREFUSED (SOCBASEERR+61)
00832 #define SOCELOOP (SOCBASEERR+62)
00833 #define SOCENAMETOOLONG (SOCBASEERR+63)
00834 #define SOCEHOSTDOWN (SOCBASEERR+64)
00835 #define SOCEHOSTUNREACH (SOCBASEERR+65)
00836 #define SOCENOTEMPTY (SOCBASEERR+66)
00837
00838
00839 #define APR_STATUS_IS_EACCES(s) ((s) == APR_EACCES \
00840 || (s) == APR_OS_START_SYSERR + ERROR_ACCESS_DENIED \
00841 || (s) == APR_OS_START_SYSERR + ERROR_SHARING_VIOLATION)
00842 #define APR_STATUS_IS_EEXIST(s) ((s) == APR_EEXIST \
00843 || (s) == APR_OS_START_SYSERR + ERROR_OPEN_FAILED \
00844 || (s) == APR_OS_START_SYSERR + ERROR_FILE_EXISTS \
00845 || (s) == APR_OS_START_SYSERR + ERROR_ALREADY_EXISTS \
00846 || (s) == APR_OS_START_SYSERR + ERROR_ACCESS_DENIED)
00847 #define APR_STATUS_IS_ENAMETOOLONG(s) ((s) == APR_ENAMETOOLONG \
00848 || (s) == APR_OS_START_SYSERR + ERROR_FILENAME_EXCED_RANGE \
00849 || (s) == APR_OS_START_SYSERR + SOCENAMETOOLONG)
00850 #define APR_STATUS_IS_ENOENT(s) ((s) == APR_ENOENT \
00851 || (s) == APR_OS_START_SYSERR + ERROR_FILE_NOT_FOUND \
00852 || (s) == APR_OS_START_SYSERR + ERROR_PATH_NOT_FOUND \
00853 || (s) == APR_OS_START_SYSERR + ERROR_NO_MORE_FILES \
00854 || (s) == APR_OS_START_SYSERR + ERROR_OPEN_FAILED)
00855 #define APR_STATUS_IS_ENOTDIR(s) ((s) == APR_ENOTDIR)
00856 #define APR_STATUS_IS_ENOSPC(s) ((s) == APR_ENOSPC \
00857 || (s) == APR_OS_START_SYSERR + ERROR_DISK_FULL)
00858 #define APR_STATUS_IS_ENOMEM(s) ((s) == APR_ENOMEM)
00859 #define APR_STATUS_IS_EMFILE(s) ((s) == APR_EMFILE \
00860 || (s) == APR_OS_START_SYSERR + ERROR_TOO_MANY_OPEN_FILES)
00861 #define APR_STATUS_IS_ENFILE(s) ((s) == APR_ENFILE)
00862 #define APR_STATUS_IS_EBADF(s) ((s) == APR_EBADF \
00863 || (s) == APR_OS_START_SYSERR + ERROR_INVALID_HANDLE)
00864 #define APR_STATUS_IS_EINVAL(s) ((s) == APR_EINVAL \
00865 || (s) == APR_OS_START_SYSERR + ERROR_INVALID_PARAMETER \
00866 || (s) == APR_OS_START_SYSERR + ERROR_INVALID_FUNCTION)
00867 #define APR_STATUS_IS_ESPIPE(s) ((s) == APR_ESPIPE \
00868 || (s) == APR_OS_START_SYSERR + ERROR_NEGATIVE_SEEK)
00869 #define APR_STATUS_IS_EAGAIN(s) ((s) == APR_EAGAIN \
00870 || (s) == APR_OS_START_SYSERR + ERROR_NO_DATA \
00871 || (s) == APR_OS_START_SYSERR + SOCEWOULDBLOCK \
00872 || (s) == APR_OS_START_SYSERR + ERROR_LOCK_VIOLATION)
00873 #define APR_STATUS_IS_EINTR(s) ((s) == APR_EINTR \
00874 || (s) == APR_OS_START_SYSERR + SOCEINTR)
00875 #define APR_STATUS_IS_ENOTSOCK(s) ((s) == APR_ENOTSOCK \
00876 || (s) == APR_OS_START_SYSERR + SOCENOTSOCK)
00877 #define APR_STATUS_IS_ECONNREFUSED(s) ((s) == APR_ECONNREFUSED \
00878 || (s) == APR_OS_START_SYSERR + SOCECONNREFUSED)
00879 #define APR_STATUS_IS_EINPROGRESS(s) ((s) == APR_EINPROGRESS \
00880 || (s) == APR_OS_START_SYSERR + SOCEINPROGRESS)
00881 #define APR_STATUS_IS_ECONNABORTED(s) ((s) == APR_ECONNABORTED \
00882 || (s) == APR_OS_START_SYSERR + SOCECONNABORTED)
00883 #define APR_STATUS_IS_ECONNRESET(s) ((s) == APR_ECONNRESET \
00884 || (s) == APR_OS_START_SYSERR + SOCECONNRESET)
00885
00886 #define APR_STATUS_IS_ETIMEDOUT(s) ((s) == APR_ETIMEDOUT \
00887 || (s) == APR_OS_START_SYSERR + SOCETIMEDOUT)
00888 #undef APR_STATUS_IS_TIMEUP
00889 #define APR_STATUS_IS_TIMEUP(s) ((s) == APR_TIMEUP \
00890 || (s) == APR_OS_START_SYSERR + SOCETIMEDOUT)
00891 #define APR_STATUS_IS_EHOSTUNREACH(s) ((s) == APR_EHOSTUNREACH \
00892 || (s) == APR_OS_START_SYSERR + SOCEHOSTUNREACH)
00893 #define APR_STATUS_IS_ENETUNREACH(s) ((s) == APR_ENETUNREACH \
00894 || (s) == APR_OS_START_SYSERR + SOCENETUNREACH)
00895 #define APR_STATUS_IS_EFTYPE(s) ((s) == APR_EFTYPE)
00896 #define APR_STATUS_IS_EPIPE(s) ((s) == APR_EPIPE \
00897 || (s) == APR_OS_START_SYSERR + ERROR_BROKEN_PIPE \
00898 || (s) == APR_OS_START_SYSERR + SOCEPIPE)
00899 #define APR_STATUS_IS_EXDEV(s) ((s) == APR_EXDEV \
00900 || (s) == APR_OS_START_SYSERR + ERROR_NOT_SAME_DEVICE)
00901 #define APR_STATUS_IS_ENOTEMPTY(s) ((s) == APR_ENOTEMPTY \
00902 || (s) == APR_OS_START_SYSERR + ERROR_DIR_NOT_EMPTY \
00903 || (s) == APR_OS_START_SYSERR + ERROR_ACCESS_DENIED)
00904
00905
00906
00907
00908
00909
00910
00911
00912
00913
00914
00915
00916
00917
00918
00919
00920
00921
00922
00923
00924
00925
00926
00927
00928
00929
00930
00931
00932
00933
00934
00935 #elif defined(WIN32) && !defined(DOXYGEN)
00936
00937 #define APR_FROM_OS_ERROR(e) (e == 0 ? APR_SUCCESS : e + APR_OS_START_SYSERR)
00938 #define APR_TO_OS_ERROR(e) (e == 0 ? APR_SUCCESS : e - APR_OS_START_SYSERR)
00939
00940 #define apr_get_os_error() (APR_FROM_OS_ERROR(GetLastError()))
00941 #define apr_set_os_error(e) (SetLastError(APR_TO_OS_ERROR(e)))
00942
00943
00944
00945 #define apr_get_netos_error() (APR_FROM_OS_ERROR(WSAGetLastError()))
00946 #define apr_set_netos_error(e) (WSASetLastError(APR_TO_OS_ERROR(e)))
00947
00948
00949 #define APR_STATUS_IS_EACCES(s) ((s) == APR_EACCES \
00950 || (s) == APR_OS_START_SYSERR + ERROR_ACCESS_DENIED \
00951 || (s) == APR_OS_START_SYSERR + ERROR_CANNOT_MAKE \
00952 || (s) == APR_OS_START_SYSERR + ERROR_CURRENT_DIRECTORY \
00953 || (s) == APR_OS_START_SYSERR + ERROR_DRIVE_LOCKED \
00954 || (s) == APR_OS_START_SYSERR + ERROR_FAIL_I24 \
00955 || (s) == APR_OS_START_SYSERR + ERROR_LOCK_VIOLATION \
00956 || (s) == APR_OS_START_SYSERR + ERROR_LOCK_FAILED \
00957 || (s) == APR_OS_START_SYSERR + ERROR_NOT_LOCKED \
00958 || (s) == APR_OS_START_SYSERR + ERROR_NETWORK_ACCESS_DENIED \
00959 || (s) == APR_OS_START_SYSERR + ERROR_SHARING_VIOLATION)
00960 #define APR_STATUS_IS_EEXIST(s) ((s) == APR_EEXIST \
00961 || (s) == APR_OS_START_SYSERR + ERROR_FILE_EXISTS \
00962 || (s) == APR_OS_START_SYSERR + ERROR_ALREADY_EXISTS)
00963 #define APR_STATUS_IS_ENAMETOOLONG(s) ((s) == APR_ENAMETOOLONG \
00964 || (s) == APR_OS_START_SYSERR + ERROR_FILENAME_EXCED_RANGE \
00965 || (s) == APR_OS_START_SYSERR + WSAENAMETOOLONG)
00966 #define APR_STATUS_IS_ENOENT(s) ((s) == APR_ENOENT \
00967 || (s) == APR_OS_START_SYSERR + ERROR_FILE_NOT_FOUND \
00968 || (s) == APR_OS_START_SYSERR + ERROR_PATH_NOT_FOUND \
00969 || (s) == APR_OS_START_SYSERR + ERROR_OPEN_FAILED \
00970 || (s) == APR_OS_START_SYSERR + ERROR_NO_MORE_FILES)
00971 #define APR_STATUS_IS_ENOTDIR(s) ((s) == APR_ENOTDIR \
00972 || (s) == APR_OS_START_SYSERR + ERROR_PATH_NOT_FOUND \
00973 || (s) == APR_OS_START_SYSERR + ERROR_BAD_NETPATH \
00974 || (s) == APR_OS_START_SYSERR + ERROR_BAD_NET_NAME \
00975 || (s) == APR_OS_START_SYSERR + ERROR_BAD_PATHNAME \
00976 || (s) == APR_OS_START_SYSERR + ERROR_INVALID_DRIVE)
00977 #define APR_STATUS_IS_ENOSPC(s) ((s) == APR_ENOSPC \
00978 || (s) == APR_OS_START_SYSERR + ERROR_DISK_FULL)
00979 #define APR_STATUS_IS_ENOMEM(s) ((s) == APR_ENOMEM \
00980 || (s) == APR_OS_START_SYSERR + ERROR_ARENA_TRASHED \
00981 || (s) == APR_OS_START_SYSERR + ERROR_NOT_ENOUGH_MEMORY \
00982 || (s) == APR_OS_START_SYSERR + ERROR_INVALID_BLOCK \
00983 || (s) == APR_OS_START_SYSERR + ERROR_NOT_ENOUGH_QUOTA \
00984 || (s) == APR_OS_START_SYSERR + ERROR_OUTOFMEMORY)
00985 #define APR_STATUS_IS_EMFILE(s) ((s) == APR_EMFILE \
00986 || (s) == APR_OS_START_SYSERR + ERROR_TOO_MANY_OPEN_FILES)
00987 #define APR_STATUS_IS_ENFILE(s) ((s) == APR_ENFILE)
00988 #define APR_STATUS_IS_EBADF(s) ((s) == APR_EBADF \
00989 || (s) == APR_OS_START_SYSERR + ERROR_INVALID_HANDLE \
00990 || (s) == APR_OS_START_SYSERR + ERROR_INVALID_TARGET_HANDLE)
00991 #define APR_STATUS_IS_EINVAL(s) ((s) == APR_EINVAL \
00992 || (s) == APR_OS_START_SYSERR + ERROR_INVALID_ACCESS \
00993 || (s) == APR_OS_START_SYSERR + ERROR_INVALID_DATA \
00994 || (s) == APR_OS_START_SYSERR + ERROR_INVALID_FUNCTION \
00995 || (s) == APR_OS_START_SYSERR + ERROR_INVALID_HANDLE \
00996 || (s) == APR_OS_START_SYSERR + ERROR_INVALID_PARAMETER \
00997 || (s) == APR_OS_START_SYSERR + ERROR_NEGATIVE_SEEK)
00998 #define APR_STATUS_IS_ESPIPE(s) ((s) == APR_ESPIPE \
00999 || (s) == APR_OS_START_SYSERR + ERROR_SEEK_ON_DEVICE \
01000 || (s) == APR_OS_START_SYSERR + ERROR_NEGATIVE_SEEK)
01001 #define APR_STATUS_IS_EAGAIN(s) ((s) == APR_EAGAIN \
01002 || (s) == APR_OS_START_SYSERR + ERROR_NO_DATA \
01003 || (s) == APR_OS_START_SYSERR + ERROR_NO_PROC_SLOTS \
01004 || (s) == APR_OS_START_SYSERR + ERROR_NESTING_NOT_ALLOWED \
01005 || (s) == APR_OS_START_SYSERR + ERROR_MAX_THRDS_REACHED \
01006 || (s) == APR_OS_START_SYSERR + ERROR_LOCK_VIOLATION \
01007 || (s) == APR_OS_START_SYSERR + WSAEWOULDBLOCK)
01008 #define APR_STATUS_IS_EINTR(s) ((s) == APR_EINTR \
01009 || (s) == APR_OS_START_SYSERR + WSAEINTR)
01010 #define APR_STATUS_IS_ENOTSOCK(s) ((s) == APR_ENOTSOCK \
01011 || (s) == APR_OS_START_SYSERR + WSAENOTSOCK)
01012 #define APR_STATUS_IS_ECONNREFUSED(s) ((s) == APR_ECONNREFUSED \
01013 || (s) == APR_OS_START_SYSERR + WSAECONNREFUSED)
01014 #define APR_STATUS_IS_EINPROGRESS(s) ((s) == APR_EINPROGRESS \
01015 || (s) == APR_OS_START_SYSERR + WSAEINPROGRESS)
01016 #define APR_STATUS_IS_ECONNABORTED(s) ((s) == APR_ECONNABORTED \
01017 || (s) == APR_OS_START_SYSERR + WSAECONNABORTED)
01018 #define APR_STATUS_IS_ECONNRESET(s) ((s) == APR_ECONNRESET \
01019 || (s) == APR_OS_START_SYSERR + ERROR_NETNAME_DELETED \
01020 || (s) == APR_OS_START_SYSERR + WSAECONNRESET)
01021
01022 #define APR_STATUS_IS_ETIMEDOUT(s) ((s) == APR_ETIMEDOUT \
01023 || (s) == APR_OS_START_SYSERR + WSAETIMEDOUT \
01024 || (s) == APR_OS_START_SYSERR + WAIT_TIMEOUT)
01025 #undef APR_STATUS_IS_TIMEUP
01026 #define APR_STATUS_IS_TIMEUP(s) ((s) == APR_TIMEUP \
01027 || (s) == APR_OS_START_SYSERR + WSAETIMEDOUT \
01028 || (s) == APR_OS_START_SYSERR + WAIT_TIMEOUT)
01029 #define APR_STATUS_IS_EHOSTUNREACH(s) ((s) == APR_EHOSTUNREACH \
01030 || (s) == APR_OS_START_SYSERR + WSAEHOSTUNREACH)
01031 #define APR_STATUS_IS_ENETUNREACH(s) ((s) == APR_ENETUNREACH \
01032 || (s) == APR_OS_START_SYSERR + WSAENETUNREACH)
01033 #define APR_STATUS_IS_EFTYPE(s) ((s) == APR_EFTYPE \
01034 || (s) == APR_OS_START_SYSERR + ERROR_EXE_MACHINE_TYPE_MISMATCH \
01035 || (s) == APR_OS_START_SYSERR + ERROR_INVALID_DLL \
01036 || (s) == APR_OS_START_SYSERR + ERROR_INVALID_MODULETYPE \
01037 || (s) == APR_OS_START_SYSERR + ERROR_BAD_EXE_FORMAT \
01038 || (s) == APR_OS_START_SYSERR + ERROR_INVALID_EXE_SIGNATURE \
01039 || (s) == APR_OS_START_SYSERR + ERROR_FILE_CORRUPT \
01040 || (s) == APR_OS_START_SYSERR + ERROR_BAD_FORMAT)
01041 #define APR_STATUS_IS_EPIPE(s) ((s) == APR_EPIPE \
01042 || (s) == APR_OS_START_SYSERR + ERROR_BROKEN_PIPE)
01043 #define APR_STATUS_IS_EXDEV(s) ((s) == APR_EXDEV \
01044 || (s) == APR_OS_START_SYSERR + ERROR_NOT_SAME_DEVICE)
01045 #define APR_STATUS_IS_ENOTEMPTY(s) ((s) == APR_ENOTEMPTY \
01046 || (s) == APR_OS_START_SYSERR + ERROR_DIR_NOT_EMPTY)
01047
01048 #elif defined(NETWARE) && !defined(DOXYGEN)
01049
01050 #define APR_FROM_OS_ERROR(e) (e == 0 ? APR_SUCCESS : e + APR_OS_START_SYSERR)
01051 #define APR_TO_OS_ERROR(e) (e == 0 ? APR_SUCCESS : e - APR_OS_START_SYSERR)
01052
01053 #define apr_get_os_error() (errno)
01054 #define apr_set_os_error(e) (errno = (e))
01055
01056
01057 #define apr_get_netos_error() (APR_FROM_OS_ERROR(WSAGetLastError()))
01058 #define apr_set_netos_error(e) (WSASetLastError(APR_TO_OS_ERROR(e)))
01059
01060
01061 #define APR_STATUS_IS_EACCES(s) ((s) == APR_EACCES)
01062 #define APR_STATUS_IS_EEXIST(s) ((s) == APR_EEXIST)
01063 #define APR_STATUS_IS_ENAMETOOLONG(s) ((s) == APR_ENAMETOOLONG)
01064 #define APR_STATUS_IS_ENOENT(s) ((s) == APR_ENOENT)
01065 #define APR_STATUS_IS_ENOTDIR(s) ((s) == APR_ENOTDIR)
01066 #define APR_STATUS_IS_ENOSPC(s) ((s) == APR_ENOSPC)
01067 #define APR_STATUS_IS_ENOMEM(s) ((s) == APR_ENOMEM)
01068 #define APR_STATUS_IS_EMFILE(s) ((s) == APR_EMFILE)
01069 #define APR_STATUS_IS_ENFILE(s) ((s) == APR_ENFILE)
01070 #define APR_STATUS_IS_EBADF(s) ((s) == APR_EBADF)
01071 #define APR_STATUS_IS_EINVAL(s) ((s) == APR_EINVAL)
01072 #define APR_STATUS_IS_ESPIPE(s) ((s) == APR_ESPIPE)
01073
01074 #define APR_STATUS_IS_EAGAIN(s) ((s) == APR_EAGAIN \
01075 || (s) == EWOULDBLOCK \
01076 || (s) == APR_OS_START_SYSERR + WSAEWOULDBLOCK)
01077 #define APR_STATUS_IS_EINTR(s) ((s) == APR_EINTR \
01078 || (s) == APR_OS_START_SYSERR + WSAEINTR)
01079 #define APR_STATUS_IS_ENOTSOCK(s) ((s) == APR_ENOTSOCK \
01080 || (s) == APR_OS_START_SYSERR + WSAENOTSOCK)
01081 #define APR_STATUS_IS_ECONNREFUSED(s) ((s) == APR_ECONNREFUSED \
01082 || (s) == APR_OS_START_SYSERR + WSAECONNREFUSED)
01083 #define APR_STATUS_IS_EINPROGRESS(s) ((s) == APR_EINPROGRESS \
01084 || (s) == APR_OS_START_SYSERR + WSAEINPROGRESS)
01085 #define APR_STATUS_IS_ECONNABORTED(s) ((s) == APR_ECONNABORTED \
01086 || (s) == APR_OS_START_SYSERR + WSAECONNABORTED)
01087 #define APR_STATUS_IS_ECONNRESET(s) ((s) == APR_ECONNRESET \
01088 || (s) == APR_OS_START_SYSERR + WSAECONNRESET)
01089
01090 #define APR_STATUS_IS_ETIMEDOUT(s) ((s) == APR_ETIMEDOUT \
01091 || (s) == APR_OS_START_SYSERR + WSAETIMEDOUT \
01092 || (s) == APR_OS_START_SYSERR + WAIT_TIMEOUT)
01093 #undef APR_STATUS_IS_TIMEUP
01094 #define APR_STATUS_IS_TIMEUP(s) ((s) == APR_TIMEUP \
01095 || (s) == APR_OS_START_SYSERR + WSAETIMEDOUT \
01096 || (s) == APR_OS_START_SYSERR + WAIT_TIMEOUT)
01097 #define APR_STATUS_IS_EHOSTUNREACH(s) ((s) == APR_EHOSTUNREACH \
01098 || (s) == APR_OS_START_SYSERR + WSAEHOSTUNREACH)
01099 #define APR_STATUS_IS_ENETUNREACH(s) ((s) == APR_ENETUNREACH \
01100 || (s) == APR_OS_START_SYSERR + WSAENETUNREACH)
01101 #define APR_STATUS_IS_ENETDOWN(s) ((s) == APR_OS_START_SYSERR + WSAENETDOWN)
01102 #define APR_STATUS_IS_EFTYPE(s) ((s) == APR_EFTYPE)
01103 #define APR_STATUS_IS_EPIPE(s) ((s) == APR_EPIPE)
01104 #define APR_STATUS_IS_EXDEV(s) ((s) == APR_EXDEV)
01105 #define APR_STATUS_IS_ENOTEMPTY(s) ((s) == APR_ENOTEMPTY)
01106
01107 #else
01108
01109
01110
01111
01112 #define APR_FROM_OS_ERROR(e) (e)
01113 #define APR_TO_OS_ERROR(e) (e)
01114
01115 #define apr_get_os_error() (errno)
01116 #define apr_set_os_error(e) (errno = (e))
01117
01118
01119
01120 #define apr_get_netos_error() (errno)
01121 #define apr_set_netos_error(e) (errno = (e))
01122
01123
01124
01125
01126
01127
01128
01129 #define APR_STATUS_IS_EACCES(s) ((s) == APR_EACCES)
01130
01131 #define APR_STATUS_IS_EEXIST(s) ((s) == APR_EEXIST)
01132
01133 #define APR_STATUS_IS_ENAMETOOLONG(s) ((s) == APR_ENAMETOOLONG)
01134
01135 #define APR_STATUS_IS_ENOENT(s) ((s) == APR_ENOENT)
01136
01137 #define APR_STATUS_IS_ENOTDIR(s) ((s) == APR_ENOTDIR)
01138
01139 #ifdef EDQUOT
01140 #define APR_STATUS_IS_ENOSPC(s) ((s) == APR_ENOSPC \
01141 || (s) == EDQUOT)
01142 #else
01143 #define APR_STATUS_IS_ENOSPC(s) ((s) == APR_ENOSPC)
01144 #endif
01145
01146 #define APR_STATUS_IS_ENOMEM(s) ((s) == APR_ENOMEM)
01147
01148 #define APR_STATUS_IS_EMFILE(s) ((s) == APR_EMFILE)
01149
01150 #define APR_STATUS_IS_ENFILE(s) ((s) == APR_ENFILE)
01151
01152 #define APR_STATUS_IS_EBADF(s) ((s) == APR_EBADF)
01153
01154 #define APR_STATUS_IS_EINVAL(s) ((s) == APR_EINVAL)
01155
01156 #define APR_STATUS_IS_ESPIPE(s) ((s) == APR_ESPIPE)
01157
01158
01159 #if !defined(EWOULDBLOCK) || !defined(EAGAIN)
01160 #define APR_STATUS_IS_EAGAIN(s) ((s) == APR_EAGAIN)
01161 #elif (EWOULDBLOCK == EAGAIN)
01162 #define APR_STATUS_IS_EAGAIN(s) ((s) == APR_EAGAIN)
01163 #else
01164 #define APR_STATUS_IS_EAGAIN(s) ((s) == APR_EAGAIN \
01165 || (s) == EWOULDBLOCK)
01166 #endif
01167
01168
01169 #define APR_STATUS_IS_EINTR(s) ((s) == APR_EINTR)
01170
01171 #define APR_STATUS_IS_ENOTSOCK(s) ((s) == APR_ENOTSOCK)
01172
01173 #define APR_STATUS_IS_ECONNREFUSED(s) ((s) == APR_ECONNREFUSED)
01174
01175 #define APR_STATUS_IS_EINPROGRESS(s) ((s) == APR_EINPROGRESS)
01176
01177
01178
01179
01180
01181
01182
01183
01184
01185
01186
01187
01188 #ifdef EPROTO
01189 #define APR_STATUS_IS_ECONNABORTED(s) ((s) == APR_ECONNABORTED \
01190 || (s) == EPROTO)
01191 #else
01192 #define APR_STATUS_IS_ECONNABORTED(s) ((s) == APR_ECONNABORTED)
01193 #endif
01194
01195
01196 #define APR_STATUS_IS_ECONNRESET(s) ((s) == APR_ECONNRESET)
01197
01198
01199 #define APR_STATUS_IS_ETIMEDOUT(s) ((s) == APR_ETIMEDOUT)
01200
01201 #define APR_STATUS_IS_EHOSTUNREACH(s) ((s) == APR_EHOSTUNREACH)
01202
01203 #define APR_STATUS_IS_ENETUNREACH(s) ((s) == APR_ENETUNREACH)
01204
01205 #define APR_STATUS_IS_EFTYPE(s) ((s) == APR_EFTYPE)
01206
01207 #define APR_STATUS_IS_EPIPE(s) ((s) == APR_EPIPE)
01208
01209 #define APR_STATUS_IS_EXDEV(s) ((s) == APR_EXDEV)
01210
01211 #define APR_STATUS_IS_ENOTEMPTY(s) ((s) == APR_ENOTEMPTY || \
01212 (s) == APR_EEXIST)
01213
01214
01215 #endif
01216
01217
01218
01219 #ifdef __cplusplus
01220 }
01221 #endif
01222
01223 #endif