24 |
#include <dirent.h> |
#include <dirent.h> |
25 |
#include <unistd.h> |
#include <unistd.h> |
26 |
|
|
27 |
|
#ifndef __attribute__ |
28 |
|
# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) || __STRICT_ANSI__ |
29 |
|
# define __attribute__(x) /* empty */ |
30 |
|
# endif |
31 |
|
#endif |
32 |
|
|
33 |
|
#ifndef ATTRIBUTE_NORETURN |
34 |
|
# define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) |
35 |
|
#endif |
36 |
|
|
37 |
#ifndef AT_FDCWD |
#ifndef AT_FDCWD |
38 |
# define AT_FDCWD (-3041965) /* same value as Solaris 9 */ |
# define AT_FDCWD (-3041965) /* same value as Solaris 9 */ |
39 |
# define AT_SYMLINK_NOFOLLOW 4096 /* same value as Solaris 9 */ |
# define AT_SYMLINK_NOFOLLOW 4096 /* same value as Solaris 9 */ |
40 |
|
# define AT_REMOVEDIR (0x1) /* same value as Solaris 9 */ |
41 |
|
|
42 |
# ifdef __OPENAT_PREFIX |
# ifdef __OPENAT_PREFIX |
43 |
# undef openat |
# undef openat |
46 |
# define __OPENAT_ID(y) __OPENAT_XCONCAT (__OPENAT_PREFIX, y) |
# define __OPENAT_ID(y) __OPENAT_XCONCAT (__OPENAT_PREFIX, y) |
47 |
# define openat __OPENAT_ID (openat) |
# define openat __OPENAT_ID (openat) |
48 |
int openat (int fd, char const *file, int flags, /* mode_t mode */ ...); |
int openat (int fd, char const *file, int flags, /* mode_t mode */ ...); |
49 |
# define fdopendir __OPENAT_ID (fdopendir) |
# if ! HAVE_FDOPENDIR |
50 |
|
# define fdopendir __OPENAT_ID (fdopendir) |
51 |
|
# endif |
52 |
DIR *fdopendir (int fd); |
DIR *fdopendir (int fd); |
53 |
# define fstatat __OPENAT_ID (fstatat) |
# define fstatat __OPENAT_ID (fstatat) |
54 |
int fstatat (int fd, char const *file, struct stat *st, int flag); |
int fstatat (int fd, char const *file, struct stat *st, int flag); |
55 |
|
# define unlinkat __OPENAT_ID (unlinkat) |
56 |
|
int unlinkat (int fd, char const *file, int flag); |
57 |
|
void openat_restore_fail (int) ATTRIBUTE_NORETURN; |
58 |
|
void openat_save_fail (int) ATTRIBUTE_NORETURN; |
59 |
|
# else |
60 |
|
# define openat_restore_fail(Errno) /* empty */ |
61 |
|
# define openat_save_fail(Errno) /* empty */ |
62 |
# endif |
# endif |
63 |
|
|
64 |
#endif |
#endif |