X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=blobdiff_plain;f=include%2Fsys%2Fstat.h;h=c6abab5a0c01f58746def40c29cc32cfe976c27e;hp=36575b0e465f376fbf2a057d538c5c15c77537ff;hb=e9e2b66e687bc0b4d07305a2b288ed8ff4ae5b4b;hpb=0b44a0315b47dd8eced9f3b7f31580cf14bbfc01 diff --git a/include/sys/stat.h b/include/sys/stat.h index 36575b0e..c6abab5a 100644 --- a/include/sys/stat.h +++ b/include/sys/stat.h @@ -4,6 +4,8 @@ extern "C" { #endif +#include + #define __NEED_dev_t #define __NEED_ino_t #define __NEED_mode_t @@ -14,11 +16,16 @@ extern "C" { #define __NEED_time_t #define __NEED_blksize_t #define __NEED_blkcnt_t +#define __NEED_struct_timespec #include #include +#define st_atime st_atim.tv_sec +#define st_mtime st_mtim.tv_sec +#define st_ctime st_ctim.tv_sec + #define S_IFMT 0170000 #define S_IFDIR 0040000 @@ -42,34 +49,31 @@ extern "C" { #define S_ISLNK(mode) (((mode) & S_IFMT) == S_IFLNK) #define S_ISSOCK(mode) (((mode) & S_IFMT) == S_IFSOCK) +#ifndef S_IRUSR #define S_ISUID 04000 #define S_ISGID 02000 #define S_ISVTX 01000 - -#define S_IREAD 0400 -#define S_IWRITE 0200 -#define S_IEXEC 0100 - #define S_IRUSR 0400 #define S_IWUSR 0200 #define S_IXUSR 0100 #define S_IRWXU 0700 - #define S_IRGRP 0040 #define S_IWGRP 0020 #define S_IXGRP 0010 #define S_IRWXG 0070 - #define S_IROTH 0004 #define S_IWOTH 0002 #define S_IXOTH 0001 #define S_IRWXO 0007 +#endif +#define UTIME_NOW 0x3fffffff +#define UTIME_OMIT 0x3ffffffe -int stat(const char *, struct stat *); +int stat(const char *__restrict, struct stat *__restrict); int fstat(int, struct stat *); -int lstat(const char *, struct stat *); -int fstatat(int, const char *, struct stat *, int); +int lstat(const char *__restrict, struct stat *__restrict); +int fstatat(int, const char *__restrict, struct stat *__restrict, int); int chmod(const char *, mode_t); int fchmod(int, mode_t); int fchmodat(int, const char *, mode_t, int); @@ -81,6 +85,26 @@ int mkdirat(int, const char *, mode_t); int mknodat(int, const char *, mode_t, dev_t); int mkfifoat(int, const char *, mode_t); +int futimens(int, const struct timespec [2]); +int utimensat(int, const char *, const struct timespec [2], int); + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +int lchmod(const char *, mode_t); +#define S_IREAD S_IRUSR +#define S_IWRITE S_IWUSR +#define S_IEXEC S_IXUSR +#endif + +#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) +#define stat64 stat +#define fstat64 fstat +#define lstat64 lstat +#define fstatat64 fstatat +#define blksize64_t blksize_t +#define blkcnt64_t blkcnt_t +#define ino64_t ino_t +#define off64_t off_t +#endif #ifdef __cplusplus }