| 1 | #ifndef _SYS_STAT_H |
| 2 | #include <io/sys/stat.h> |
| 3 | |
| 4 | #ifndef _ISOMAC |
| 5 | # include <xstatver.h> |
| 6 | # include <struct___timespec64.h> |
| 7 | # include <struct_stat_time64.h> |
| 8 | # include <stdbool.h> |
| 9 | |
| 10 | static inline bool |
| 11 | in_ino_t_range (__ino64_t v) |
| 12 | { |
| 13 | __ino_t s = v; |
| 14 | return s == v; |
| 15 | } |
| 16 | |
| 17 | static inline bool |
| 18 | in_off_t_range (__off64_t v) |
| 19 | { |
| 20 | __off_t s = v; |
| 21 | return s == v; |
| 22 | } |
| 23 | |
| 24 | static inline bool |
| 25 | in_blkcnt_t_range (__blkcnt64_t v) |
| 26 | { |
| 27 | __blkcnt_t s = v; |
| 28 | return s == v; |
| 29 | } |
| 30 | |
| 31 | /* Now define the internal interfaces. */ |
| 32 | extern int __stat (const char *__file, struct stat *__buf); |
| 33 | extern int __stat64 (const char *__file, struct stat64 *__buf); |
| 34 | extern int __fstat (int __fd, struct stat *__buf); |
| 35 | extern int __fstat64 (int __fd, struct stat64 *__buf); |
| 36 | extern int __lstat (const char *__file, struct stat *__buf); |
| 37 | extern int __lstat64 (const char *__file, struct stat64 *__buf); |
| 38 | extern int __fstatat (int dirfd, const char *pathname, struct stat *buf, |
| 39 | int flags); |
| 40 | extern int __fstatat64 (int dirfd, const char *pathname, struct stat64 *buf, |
| 41 | int flags); |
| 42 | # if IS_IN (libc) || (IS_IN (rtld) && !defined NO_RTLD_HIDDEN) |
| 43 | hidden_proto (__stat64) |
| 44 | hidden_proto (__fstat64) |
| 45 | hidden_proto (__lstat64) |
| 46 | hidden_proto (__fstatat64) |
| 47 | # endif |
| 48 | |
| 49 | # if __TIMESIZE == 64 || defined NO_RTLD_HIDDEN |
| 50 | # define __stat64_time64 __stat64 |
| 51 | # define __fstat64_time64 __fstat64 |
| 52 | # define __lstat64_time64 __lstat64 |
| 53 | # define __fstatat64_time64 __fstatat64 |
| 54 | # else |
| 55 | extern int __stat64_time64 (const char *file, struct __stat64_t64 *buf); |
| 56 | hidden_proto (__stat64_time64); |
| 57 | extern int __lstat64_time64 (const char *file, struct __stat64_t64 *buf); |
| 58 | hidden_proto (__lstat64_time64); |
| 59 | extern int __fstat64_time64 (int fd, struct __stat64_t64 *buf); |
| 60 | hidden_proto (__fstat64_time64); |
| 61 | extern int __fstatat64_time64 (int dirfd, const char *pathname, |
| 62 | struct __stat64_t64 *buf, int flags); |
| 63 | hidden_proto (__fstatat64_time64); |
| 64 | # endif |
| 65 | |
| 66 | extern int __chmod (const char *__file, __mode_t __mode); |
| 67 | libc_hidden_proto (__chmod) |
| 68 | extern int __fchmod (int __fd, __mode_t __mode); |
| 69 | libc_hidden_proto (fchmodat) |
| 70 | extern __mode_t __umask (__mode_t __mask); |
| 71 | extern int __mkdir (const char *__path, __mode_t __mode); |
| 72 | libc_hidden_proto (__mkdir) |
| 73 | |
| 74 | extern int __mknodat (int fd, const char *path, mode_t mode, dev_t dev); |
| 75 | libc_hidden_proto (__mknodat); |
| 76 | extern int __mknod (const char *__path, |
| 77 | __mode_t __mode, __dev_t __dev); |
| 78 | libc_hidden_proto (__mknod); |
| 79 | |
| 80 | extern int __xmknod (int __ver, const char *__path, __mode_t __mode, |
| 81 | __dev_t *__dev); |
| 82 | extern int __xmknodat (int __ver, int __fd, const char *__path, |
| 83 | __mode_t __mode, __dev_t *__dev); |
| 84 | |
| 85 | int __fxstat (int __ver, int __fildes, struct stat *__stat_buf); |
| 86 | int __xstat (int __ver, const char *__filename, |
| 87 | struct stat *__stat_buf); |
| 88 | int __lxstat (int __ver, const char *__filename, struct stat *__stat_buf); |
| 89 | int __fxstatat (int __ver, int __fildes, const char *__filename, |
| 90 | struct stat *__stat_buf, int __flag); |
| 91 | int __fxstat64 (int ver, int __fildes, struct stat64 *__stat_buf); |
| 92 | int __xstat64 (int ver, const char *__filename, struct stat64 *__stat_buf); |
| 93 | int __lxstat64 (int ver, const char *__filename, struct stat64 *__stat_buf); |
| 94 | int __fxstatat64 (int ver, int __fildes, const char *__filename, |
| 95 | struct stat64 *__stat_buf, int __flag); |
| 96 | |
| 97 | #endif |
| 98 | #endif |
| 99 | |