00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #if __GNUC__ >= 3
00028 #pragma GCC system_header
00029 #endif
00030
00031
00032 #if defined __need_system_sys_stat_h
00033
00034
00035 #include_next <sys/stat.h>
00036
00037 #else
00038
00039
00040 #ifndef _GL_SYS_STAT_H
00041
00042
00043 #include <sys/types.h>
00044
00045
00046 #include <time.h>
00047
00048
00049 #include_next <sys/stat.h>
00050
00051 #ifndef _GL_SYS_STAT_H
00052 #define _GL_SYS_STAT_H
00053
00054
00055 #ifndef _GL_CXXDEFS_H
00056 #define _GL_CXXDEFS_H
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
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
00112
00113
00114
00115
00116
00117
00118
00119 #if defined __cplusplus
00120 # define _GL_EXTERN_C extern "C"
00121 #else
00122 # define _GL_EXTERN_C extern
00123 #endif
00124
00125
00126
00127
00128
00129
00130
00131
00132 #define _GL_FUNCDECL_RPL(func,rettype,parameters_and_attributes) \
00133 _GL_FUNCDECL_RPL_1 (rpl_##func, rettype, parameters_and_attributes)
00134 #define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters_and_attributes) \
00135 _GL_EXTERN_C rettype rpl_func parameters_and_attributes
00136
00137
00138
00139
00140
00141
00142
00143
00144 #define _GL_FUNCDECL_SYS(func,rettype,parameters_and_attributes) \
00145 _GL_EXTERN_C rettype func parameters_and_attributes
00146
00147
00148
00149
00150
00151
00152
00153 #define _GL_CXXALIAS_RPL(func,rettype,parameters) \
00154 _GL_CXXALIAS_RPL_1 (func, rpl_##func, rettype, parameters)
00155 #if defined __cplusplus && defined GNULIB_NAMESPACE
00156 # define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
00157 namespace GNULIB_NAMESPACE \
00158 { \
00159 rettype (*const func) parameters = ::rpl_func; \
00160 } \
00161 _GL_EXTERN_C int _gl_cxxalias_dummy
00162 #else
00163 # define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
00164 _GL_EXTERN_C int _gl_cxxalias_dummy
00165 #endif
00166
00167
00168
00169
00170
00171
00172 #if defined __cplusplus && defined GNULIB_NAMESPACE
00173 # define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
00174 namespace GNULIB_NAMESPACE \
00175 { \
00176 rettype (*const func) parameters = \
00177 reinterpret_cast<rettype(*)parameters>(::rpl_func); \
00178 } \
00179 _GL_EXTERN_C int _gl_cxxalias_dummy
00180 #else
00181 # define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
00182 _GL_EXTERN_C int _gl_cxxalias_dummy
00183 #endif
00184
00185
00186
00187
00188
00189
00190
00191
00192 #if defined __cplusplus && defined GNULIB_NAMESPACE
00193
00194
00195
00196
00197
00198
00199 # define _GL_CXXALIAS_SYS(func,rettype,parameters) \
00200 namespace GNULIB_NAMESPACE \
00201 { \
00202 static rettype (*func) parameters = ::func; \
00203 } \
00204 _GL_EXTERN_C int _gl_cxxalias_dummy
00205 #else
00206 # define _GL_CXXALIAS_SYS(func,rettype,parameters) \
00207 _GL_EXTERN_C int _gl_cxxalias_dummy
00208 #endif
00209
00210
00211
00212
00213
00214
00215 #if defined __cplusplus && defined GNULIB_NAMESPACE
00216 # define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
00217 namespace GNULIB_NAMESPACE \
00218 { \
00219 static rettype (*func) parameters = \
00220 reinterpret_cast<rettype(*)parameters>(::func); \
00221 } \
00222 _GL_EXTERN_C int _gl_cxxalias_dummy
00223 #else
00224 # define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
00225 _GL_EXTERN_C int _gl_cxxalias_dummy
00226 #endif
00227
00228
00229
00230
00231
00232
00233
00234 #if defined __cplusplus && defined GNULIB_NAMESPACE
00235
00236
00237
00238
00239
00240 # define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
00241 namespace GNULIB_NAMESPACE \
00242 { \
00243 static rettype (*func) parameters = \
00244 reinterpret_cast<rettype(*)parameters>( \
00245 (rettype2(*)parameters2)(::func)); \
00246 } \
00247 _GL_EXTERN_C int _gl_cxxalias_dummy
00248 #else
00249 # define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
00250 _GL_EXTERN_C int _gl_cxxalias_dummy
00251 #endif
00252
00253
00254
00255
00256
00257 #if defined __cplusplus && defined GNULIB_NAMESPACE
00258 # define _GL_CXXALIASWARN(func) \
00259 _GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE)
00260 # define _GL_CXXALIASWARN_1(func,namespace) \
00261 _GL_CXXALIASWARN_2 (func, namespace)
00262
00263
00264 # if !__OPTIMIZE__
00265 # define _GL_CXXALIASWARN_2(func,namespace) \
00266 _GL_WARN_ON_USE (func, \
00267 "The symbol ::" #func " refers to the system function. " \
00268 "Use " #namespace "::" #func " instead.")
00269 # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
00270 # define _GL_CXXALIASWARN_2(func,namespace) \
00271 extern __typeof__ (func) func
00272 # else
00273 # define _GL_CXXALIASWARN_2(func,namespace) \
00274 _GL_EXTERN_C int _gl_cxxalias_dummy
00275 # endif
00276 #else
00277 # define _GL_CXXALIASWARN(func) \
00278 _GL_EXTERN_C int _gl_cxxalias_dummy
00279 #endif
00280
00281
00282
00283
00284 #if defined __cplusplus && defined GNULIB_NAMESPACE
00285 # define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
00286 _GL_CXXALIASWARN1_1 (func, rettype, parameters_and_attributes, \
00287 GNULIB_NAMESPACE)
00288 # define _GL_CXXALIASWARN1_1(func,rettype,parameters_and_attributes,namespace) \
00289 _GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace)
00290
00291
00292 # if !__OPTIMIZE__
00293 # define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
00294 _GL_WARN_ON_USE_CXX (func, rettype, parameters_and_attributes, \
00295 "The symbol ::" #func " refers to the system function. " \
00296 "Use " #namespace "::" #func " instead.")
00297 # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
00298 # define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
00299 extern __typeof__ (func) func
00300 # else
00301 # define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
00302 _GL_EXTERN_C int _gl_cxxalias_dummy
00303 # endif
00304 #else
00305 # define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
00306 _GL_EXTERN_C int _gl_cxxalias_dummy
00307 #endif
00308
00309 #endif
00310
00311
00312
00313
00314
00315 #ifndef _GL_ARG_NONNULL
00316 # if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ > 3
00317 # define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params))
00318 # else
00319 # define _GL_ARG_NONNULL(params)
00320 # endif
00321 #endif
00322
00323
00324 #ifndef _GL_WARN_ON_USE
00325
00326 # if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
00327
00328 # define _GL_WARN_ON_USE(function, message) \
00329 extern __typeof__ (function) function __attribute__ ((__warning__ (message)))
00330 # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
00331
00332 # define _GL_WARN_ON_USE(function, message) \
00333 extern __typeof__ (function) function
00334 # else
00335 # define _GL_WARN_ON_USE(function, message) \
00336 _GL_WARN_EXTERN_C int _gl_warn_on_use
00337 # endif
00338 #endif
00339
00340
00341
00342
00343
00344
00345
00346 #ifndef _GL_WARN_ON_USE_CXX
00347 # if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
00348 # define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
00349 extern rettype function parameters_and_attributes \
00350 __attribute__ ((__warning__ (msg)))
00351 # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
00352
00353 # define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
00354 extern rettype function parameters_and_attributes
00355 # else
00356 # define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
00357 _GL_WARN_EXTERN_C int _gl_warn_on_use
00358 # endif
00359 #endif
00360
00361
00362
00363 #ifndef _GL_WARN_EXTERN_C
00364 # if defined __cplusplus
00365 # define _GL_WARN_EXTERN_C extern "C"
00366 # else
00367 # define _GL_WARN_EXTERN_C extern
00368 # endif
00369 #endif
00370
00371
00372
00373 #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
00374 # include <io.h>
00375 # include <direct.h>
00376 #endif
00377
00378 #ifndef S_IFMT
00379 # define S_IFMT 0170000
00380 #endif
00381
00382 #if STAT_MACROS_BROKEN
00383 # undef S_ISBLK
00384 # undef S_ISCHR
00385 # undef S_ISDIR
00386 # undef S_ISFIFO
00387 # undef S_ISLNK
00388 # undef S_ISNAM
00389 # undef S_ISMPB
00390 # undef S_ISMPC
00391 # undef S_ISNWK
00392 # undef S_ISREG
00393 # undef S_ISSOCK
00394 #endif
00395
00396 #ifndef S_ISBLK
00397 # ifdef S_IFBLK
00398 # define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
00399 # else
00400 # define S_ISBLK(m) 0
00401 # endif
00402 #endif
00403
00404 #ifndef S_ISCHR
00405 # ifdef S_IFCHR
00406 # define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
00407 # else
00408 # define S_ISCHR(m) 0
00409 # endif
00410 #endif
00411
00412 #ifndef S_ISDIR
00413 # ifdef S_IFDIR
00414 # define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
00415 # else
00416 # define S_ISDIR(m) 0
00417 # endif
00418 #endif
00419
00420 #ifndef S_ISDOOR
00421 # define S_ISDOOR(m) 0
00422 #endif
00423
00424 #ifndef S_ISFIFO
00425 # ifdef S_IFIFO
00426 # define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO)
00427 # else
00428 # define S_ISFIFO(m) 0
00429 # endif
00430 #endif
00431
00432 #ifndef S_ISLNK
00433 # ifdef S_IFLNK
00434 # define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
00435 # else
00436 # define S_ISLNK(m) 0
00437 # endif
00438 #endif
00439
00440 #ifndef S_ISMPB
00441 # ifdef S_IFMPB
00442 # define S_ISMPB(m) (((m) & S_IFMT) == S_IFMPB)
00443 # define S_ISMPC(m) (((m) & S_IFMT) == S_IFMPC)
00444 # else
00445 # define S_ISMPB(m) 0
00446 # define S_ISMPC(m) 0
00447 # endif
00448 #endif
00449
00450 #ifndef S_ISNAM
00451 # ifdef S_IFNAM
00452 # define S_ISNAM(m) (((m) & S_IFMT) == S_IFNAM)
00453 # else
00454 # define S_ISNAM(m) 0
00455 # endif
00456 #endif
00457
00458 #ifndef S_ISNWK
00459 # ifdef S_IFNWK
00460 # define S_ISNWK(m) (((m) & S_IFMT) == S_IFNWK)
00461 # else
00462 # define S_ISNWK(m) 0
00463 # endif
00464 #endif
00465
00466 #ifndef S_ISPORT
00467 # define S_ISPORT(m) 0
00468 #endif
00469
00470 #ifndef S_ISREG
00471 # ifdef S_IFREG
00472 # define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
00473 # else
00474 # define S_ISREG(m) 0
00475 # endif
00476 #endif
00477
00478 #ifndef S_ISSOCK
00479 # ifdef S_IFSOCK
00480 # define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK)
00481 # else
00482 # define S_ISSOCK(m) 0
00483 # endif
00484 #endif
00485
00486
00487 #ifndef S_TYPEISMQ
00488 # define S_TYPEISMQ(p) 0
00489 #endif
00490
00491 #ifndef S_TYPEISTMO
00492 # define S_TYPEISTMO(p) 0
00493 #endif
00494
00495
00496 #ifndef S_TYPEISSEM
00497 # ifdef S_INSEM
00498 # define S_TYPEISSEM(p) (S_ISNAM ((p)->st_mode) && (p)->st_rdev == S_INSEM)
00499 # else
00500 # define S_TYPEISSEM(p) 0
00501 # endif
00502 #endif
00503
00504 #ifndef S_TYPEISSHM
00505 # ifdef S_INSHD
00506 # define S_TYPEISSHM(p) (S_ISNAM ((p)->st_mode) && (p)->st_rdev == S_INSHD)
00507 # else
00508 # define S_TYPEISSHM(p) 0
00509 # endif
00510 #endif
00511
00512
00513 #ifndef S_ISCTG
00514 # define S_ISCTG(p) 0
00515 #endif
00516
00517
00518 #ifndef S_ISOFD
00519 # define S_ISOFD(p) 0
00520 #endif
00521
00522
00523 #ifndef S_ISOFL
00524 # define S_ISOFL(p) 0
00525 #endif
00526
00527
00528 #ifndef S_ISWHT
00529 # define S_ISWHT(m) 0
00530 #endif
00531
00532
00533
00534 #if !S_ISUID
00535 # define S_ISUID 04000
00536 #endif
00537 #if !S_ISGID
00538 # define S_ISGID 02000
00539 #endif
00540
00541
00542 #ifndef S_ISVTX
00543 # define S_ISVTX 01000
00544 #endif
00545
00546 #if !S_IRUSR && S_IREAD
00547 # define S_IRUSR S_IREAD
00548 #endif
00549 #if !S_IRUSR
00550 # define S_IRUSR 00400
00551 #endif
00552 #if !S_IRGRP
00553 # define S_IRGRP (S_IRUSR >> 3)
00554 #endif
00555 #if !S_IROTH
00556 # define S_IROTH (S_IRUSR >> 6)
00557 #endif
00558
00559 #if !S_IWUSR && S_IWRITE
00560 # define S_IWUSR S_IWRITE
00561 #endif
00562 #if !S_IWUSR
00563 # define S_IWUSR 00200
00564 #endif
00565 #if !S_IWGRP
00566 # define S_IWGRP (S_IWUSR >> 3)
00567 #endif
00568 #if !S_IWOTH
00569 # define S_IWOTH (S_IWUSR >> 6)
00570 #endif
00571
00572 #if !S_IXUSR && S_IEXEC
00573 # define S_IXUSR S_IEXEC
00574 #endif
00575 #if !S_IXUSR
00576 # define S_IXUSR 00100
00577 #endif
00578 #if !S_IXGRP
00579 # define S_IXGRP (S_IXUSR >> 3)
00580 #endif
00581 #if !S_IXOTH
00582 # define S_IXOTH (S_IXUSR >> 6)
00583 #endif
00584
00585 #if !S_IRWXU
00586 # define S_IRWXU (S_IRUSR | S_IWUSR | S_IXUSR)
00587 #endif
00588 #if !S_IRWXG
00589 # define S_IRWXG (S_IRGRP | S_IWGRP | S_IXGRP)
00590 #endif
00591 #if !S_IRWXO
00592 # define S_IRWXO (S_IROTH | S_IWOTH | S_IXOTH)
00593 #endif
00594
00595
00596 #if !S_IXUGO
00597 # define S_IXUGO (S_IXUSR | S_IXGRP | S_IXOTH)
00598 #endif
00599
00600 #ifndef S_IRWXUGO
00601 # define S_IRWXUGO (S_IRWXU | S_IRWXG | S_IRWXO)
00602 #endif
00603
00604
00605 #ifndef UTIME_NOW
00606 # define UTIME_NOW (-1)
00607 # define UTIME_OMIT (-2)
00608 #endif
00609
00610
00611 #if 1
00612 # if !1
00613 _GL_FUNCDECL_SYS (fchmodat, int,
00614 (int fd, char const *file, mode_t mode, int flag)
00615 _GL_ARG_NONNULL ((2)));
00616 # endif
00617 _GL_CXXALIAS_SYS (fchmodat, int,
00618 (int fd, char const *file, mode_t mode, int flag));
00619 _GL_CXXALIASWARN (fchmodat);
00620 #elif defined GNULIB_POSIXCHECK
00621 # undef fchmodat
00622 # if HAVE_RAW_DECL_FCHMODAT
00623 _GL_WARN_ON_USE (fchmodat, "fchmodat is not portable - "
00624 "use gnulib module openat for portability");
00625 # endif
00626 #endif
00627
00628
00629 #if 0
00630 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
00631 # define fstat rpl_fstat
00632 # endif
00633 _GL_FUNCDECL_RPL (fstat, int, (int fd, struct stat *buf) _GL_ARG_NONNULL ((2)));
00634 _GL_CXXALIAS_RPL (fstat, int, (int fd, struct stat *buf));
00635 #else
00636 _GL_CXXALIAS_SYS (fstat, int, (int fd, struct stat *buf));
00637 #endif
00638 _GL_CXXALIASWARN (fstat);
00639
00640
00641 #if 1
00642 # if 0
00643 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
00644 # undef fstatat
00645 # define fstatat rpl_fstatat
00646 # endif
00647 _GL_FUNCDECL_RPL (fstatat, int,
00648 (int fd, char const *name, struct stat *st, int flags)
00649 _GL_ARG_NONNULL ((2, 3)));
00650 _GL_CXXALIAS_RPL (fstatat, int,
00651 (int fd, char const *name, struct stat *st, int flags));
00652 # else
00653 # if !1
00654 _GL_FUNCDECL_SYS (fstatat, int,
00655 (int fd, char const *name, struct stat *st, int flags)
00656 _GL_ARG_NONNULL ((2, 3)));
00657 # endif
00658 _GL_CXXALIAS_SYS (fstatat, int,
00659 (int fd, char const *name, struct stat *st, int flags));
00660 # endif
00661 _GL_CXXALIASWARN (fstatat);
00662 #elif defined GNULIB_POSIXCHECK
00663 # undef fstatat
00664 # if HAVE_RAW_DECL_FSTATAT
00665 _GL_WARN_ON_USE (fstatat, "fstatat is not portable - "
00666 "use gnulib module openat for portability");
00667 # endif
00668 #endif
00669
00670
00671 #if 0
00672 # if 0
00673 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
00674 # undef futimens
00675 # define futimens rpl_futimens
00676 # endif
00677 _GL_FUNCDECL_RPL (futimens, int, (int fd, struct timespec const times[2]));
00678 _GL_CXXALIAS_RPL (futimens, int, (int fd, struct timespec const times[2]));
00679 # else
00680 # if !1
00681 _GL_FUNCDECL_SYS (futimens, int, (int fd, struct timespec const times[2]));
00682 # endif
00683 _GL_CXXALIAS_SYS (futimens, int, (int fd, struct timespec const times[2]));
00684 # endif
00685 _GL_CXXALIASWARN (futimens);
00686 #elif defined GNULIB_POSIXCHECK
00687 # undef futimens
00688 # if HAVE_RAW_DECL_FUTIMENS
00689 _GL_WARN_ON_USE (futimens, "futimens is not portable - "
00690 "use gnulib module futimens for portability");
00691 # endif
00692 #endif
00693
00694
00695 #if 0
00696
00697
00698 # if !1
00699
00700
00701
00702
00703
00704
00705
00706 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
00707 # define lchmod chmod
00708 # endif
00709
00710
00711 _GL_CXXALIAS_RPL_CAST_1 (lchmod, chmod, int,
00712 (const char *filename, mode_t mode));
00713 # else
00714 # if 0
00715 _GL_FUNCDECL_SYS (lchmod, int, (const char *filename, mode_t mode)
00716 _GL_ARG_NONNULL ((1)));
00717 # endif
00718 _GL_CXXALIAS_SYS (lchmod, int, (const char *filename, mode_t mode));
00719 # endif
00720 # if 1
00721 _GL_CXXALIASWARN (lchmod);
00722 # endif
00723 #elif defined GNULIB_POSIXCHECK
00724 # undef lchmod
00725 # if HAVE_RAW_DECL_LCHMOD
00726 _GL_WARN_ON_USE (lchmod, "lchmod is unportable - "
00727 "use gnulib module lchmod for portability");
00728 # endif
00729 #endif
00730
00731
00732 #if 1
00733 # if ! 1
00734
00735
00736 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
00737 # define lstat stat
00738 # endif
00739 _GL_CXXALIAS_RPL_1 (lstat, stat, int, (const char *name, struct stat *buf));
00740 # elif 0
00741 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
00742 # undef lstat
00743 # define lstat rpl_lstat
00744 # endif
00745 _GL_FUNCDECL_RPL (lstat, int, (const char *name, struct stat *buf)
00746 _GL_ARG_NONNULL ((1, 2)));
00747 _GL_CXXALIAS_RPL (lstat, int, (const char *name, struct stat *buf));
00748 # else
00749 _GL_CXXALIAS_SYS (lstat, int, (const char *name, struct stat *buf));
00750 # endif
00751 # if 1
00752 _GL_CXXALIASWARN (lstat);
00753 # endif
00754 #elif defined GNULIB_POSIXCHECK
00755 # undef lstat
00756 # if HAVE_RAW_DECL_LSTAT
00757 _GL_WARN_ON_USE (lstat, "lstat is unportable - "
00758 "use gnulib module lstat for portability");
00759 # endif
00760 #endif
00761
00762
00763 #if 0
00764 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
00765 # undef mkdir
00766 # define mkdir rpl_mkdir
00767 # endif
00768 _GL_FUNCDECL_RPL (mkdir, int, (char const *name, mode_t mode)
00769 _GL_ARG_NONNULL ((1)));
00770 _GL_CXXALIAS_RPL (mkdir, int, (char const *name, mode_t mode));
00771 #else
00772
00773
00774
00775
00776 # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
00777
00778 # if !GNULIB_defined_rpl_mkdir
00779 static inline int
00780 rpl_mkdir (char const *name, mode_t mode)
00781 {
00782 return _mkdir (name);
00783 }
00784 # define GNULIB_defined_rpl_mkdir 1
00785 # endif
00786
00787 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
00788 # define mkdir rpl_mkdir
00789 # endif
00790 _GL_CXXALIAS_RPL (mkdir, int, (char const *name, mode_t mode));
00791 # else
00792 _GL_CXXALIAS_SYS (mkdir, int, (char const *name, mode_t mode));
00793 # endif
00794 #endif
00795 _GL_CXXALIASWARN (mkdir);
00796
00797
00798 #if 1
00799 # if !1
00800 _GL_FUNCDECL_SYS (mkdirat, int, (int fd, char const *file, mode_t mode)
00801 _GL_ARG_NONNULL ((2)));
00802 # endif
00803 _GL_CXXALIAS_SYS (mkdirat, int, (int fd, char const *file, mode_t mode));
00804 _GL_CXXALIASWARN (mkdirat);
00805 #elif defined GNULIB_POSIXCHECK
00806 # undef mkdirat
00807 # if HAVE_RAW_DECL_MKDIRAT
00808 _GL_WARN_ON_USE (mkdirat, "mkdirat is not portable - "
00809 "use gnulib module openat for portability");
00810 # endif
00811 #endif
00812
00813
00814 #if 1
00815 # if 0
00816 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
00817 # undef mkfifo
00818 # define mkfifo rpl_mkfifo
00819 # endif
00820 _GL_FUNCDECL_RPL (mkfifo, int, (char const *file, mode_t mode)
00821 _GL_ARG_NONNULL ((1)));
00822 _GL_CXXALIAS_RPL (mkfifo, int, (char const *file, mode_t mode));
00823 # else
00824 # if !1
00825 _GL_FUNCDECL_SYS (mkfifo, int, (char const *file, mode_t mode)
00826 _GL_ARG_NONNULL ((1)));
00827 # endif
00828 _GL_CXXALIAS_SYS (mkfifo, int, (char const *file, mode_t mode));
00829 # endif
00830 _GL_CXXALIASWARN (mkfifo);
00831 #elif defined GNULIB_POSIXCHECK
00832 # undef mkfifo
00833 # if HAVE_RAW_DECL_MKFIFO
00834 _GL_WARN_ON_USE (mkfifo, "mkfifo is not portable - "
00835 "use gnulib module mkfifo for portability");
00836 # endif
00837 #endif
00838
00839
00840 #if 0
00841 # if !1
00842 _GL_FUNCDECL_SYS (mkfifoat, int, (int fd, char const *file, mode_t mode)
00843 _GL_ARG_NONNULL ((2)));
00844 # endif
00845 _GL_CXXALIAS_SYS (mkfifoat, int, (int fd, char const *file, mode_t mode));
00846 _GL_CXXALIASWARN (mkfifoat);
00847 #elif defined GNULIB_POSIXCHECK
00848 # undef mkfifoat
00849 # if HAVE_RAW_DECL_MKFIFOAT
00850 _GL_WARN_ON_USE (mkfifoat, "mkfifoat is not portable - "
00851 "use gnulib module mkfifoat for portability");
00852 # endif
00853 #endif
00854
00855
00856 #if 0
00857 # if 0
00858 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
00859 # undef mknod
00860 # define mknod rpl_mknod
00861 # endif
00862 _GL_FUNCDECL_RPL (mknod, int, (char const *file, mode_t mode, dev_t dev)
00863 _GL_ARG_NONNULL ((1)));
00864 _GL_CXXALIAS_RPL (mknod, int, (char const *file, mode_t mode, dev_t dev));
00865 # else
00866 # if !1
00867 _GL_FUNCDECL_SYS (mknod, int, (char const *file, mode_t mode, dev_t dev)
00868 _GL_ARG_NONNULL ((1)));
00869 # endif
00870
00871 _GL_CXXALIAS_SYS_CAST (mknod, int, (char const *file, mode_t mode, dev_t dev));
00872 # endif
00873 _GL_CXXALIASWARN (mknod);
00874 #elif defined GNULIB_POSIXCHECK
00875 # undef mknod
00876 # if HAVE_RAW_DECL_MKNOD
00877 _GL_WARN_ON_USE (mknod, "mknod is not portable - "
00878 "use gnulib module mknod for portability");
00879 # endif
00880 #endif
00881
00882
00883 #if 0
00884 # if !1
00885 _GL_FUNCDECL_SYS (mknodat, int,
00886 (int fd, char const *file, mode_t mode, dev_t dev)
00887 _GL_ARG_NONNULL ((2)));
00888 # endif
00889 _GL_CXXALIAS_SYS (mknodat, int,
00890 (int fd, char const *file, mode_t mode, dev_t dev));
00891 _GL_CXXALIASWARN (mknodat);
00892 #elif defined GNULIB_POSIXCHECK
00893 # undef mknodat
00894 # if HAVE_RAW_DECL_MKNODAT
00895 _GL_WARN_ON_USE (mknodat, "mknodat is not portable - "
00896 "use gnulib module mkfifoat for portability");
00897 # endif
00898 #endif
00899
00900
00901 #if 1
00902 # if 0
00903
00904
00905
00906 # undef stat
00907 # ifdef _LARGE_FILES
00908
00909
00910 # define stat stat64
00911 # undef stat64
00912 # define stat64(name, st) rpl_stat (name, st)
00913 # else
00914 # define stat(name, st) rpl_stat (name, st)
00915 # endif
00916 _GL_EXTERN_C int stat (const char *name, struct stat *buf)
00917 _GL_ARG_NONNULL ((1, 2));
00918 # endif
00919 #elif defined GNULIB_POSIXCHECK
00920 # undef stat
00921 # if HAVE_RAW_DECL_STAT
00922 _GL_WARN_ON_USE (stat, "stat is unportable - "
00923 "use gnulib module stat for portability");
00924 # endif
00925 #endif
00926
00927
00928 #if 0
00929 # if 0
00930 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
00931 # undef utimensat
00932 # define utimensat rpl_utimensat
00933 # endif
00934 _GL_FUNCDECL_RPL (utimensat, int, (int fd, char const *name,
00935 struct timespec const times[2], int flag)
00936 _GL_ARG_NONNULL ((2)));
00937 _GL_CXXALIAS_RPL (utimensat, int, (int fd, char const *name,
00938 struct timespec const times[2], int flag));
00939 # else
00940 # if !1
00941 _GL_FUNCDECL_SYS (utimensat, int, (int fd, char const *name,
00942 struct timespec const times[2], int flag)
00943 _GL_ARG_NONNULL ((2)));
00944 # endif
00945 _GL_CXXALIAS_SYS (utimensat, int, (int fd, char const *name,
00946 struct timespec const times[2], int flag));
00947 # endif
00948 _GL_CXXALIASWARN (utimensat);
00949 #elif defined GNULIB_POSIXCHECK
00950 # undef utimensat
00951 # if HAVE_RAW_DECL_UTIMENSAT
00952 _GL_WARN_ON_USE (utimensat, "utimensat is not portable - "
00953 "use gnulib module utimensat for portability");
00954 # endif
00955 #endif
00956
00957
00958 #endif
00959 #endif
00960 #endif