summaryrefslogtreecommitdiff
path: root/REORG.TODO/conform/data/sys/stat.h-data
diff options
context:
space:
mode:
Diffstat (limited to 'REORG.TODO/conform/data/sys/stat.h-data')
-rw-r--r--REORG.TODO/conform/data/sys/stat.h-data161
1 files changed, 161 insertions, 0 deletions
diff --git a/REORG.TODO/conform/data/sys/stat.h-data b/REORG.TODO/conform/data/sys/stat.h-data
new file mode 100644
index 0000000000..84452aef78
--- /dev/null
+++ b/REORG.TODO/conform/data/sys/stat.h-data
@@ -0,0 +1,161 @@
+#if !defined ISO && !defined ISO99 && !defined ISO11
+
+#if !defined POSIX && !defined POSIX2008 && !defined XPG4 && !defined XPG42
+type blkcnt_t
+type blksize_t
+#endif
+#ifndef POSIX
+type dev_t
+type ino_t
+type mode_t
+type nlink_t
+type uid_t
+type gid_t
+type off_t
+type time_t
+#else
+# define dev_t __dev_t
+# define ino_t __ino_t
+# define mode_t __mode_t
+# define nlink_t __nlink_t
+# define uid_t __uid_t
+# define gid_t __gid_t
+# define off_t __off_t
+# define time_t __time_t
+#endif
+
+type {struct stat}
+
+// Bug 17786: st_dev has wrong type.
+xfail[mips-o32-linux]-element {struct stat} dev_t st_dev
+element {struct stat} ino_t st_ino
+element {struct stat} mode_t st_mode
+element {struct stat} nlink_t st_nlink
+element {struct stat} uid_t st_uid
+element {struct stat} gid_t st_gid
+#if !defined POSIX && !defined POSIX2008
+// Bug 21278: st_rdev has wrong type.
+xfail[mips-o32-linux]-element {struct stat} dev_t st_rdev
+#endif
+element {struct stat} off_t st_size
+element {struct stat} time_t st_atime
+element {struct stat} time_t st_mtime
+element {struct stat} time_t st_ctime
+#if defined XOPEN2K8 || defined POSIX2008
+element {struct stat} {struct timespec} st_atim
+element {struct stat} {struct timespec} st_mtim
+element {struct stat} {struct timespec} st_ctim
+#endif
+#if !defined XPG4 && !defined POSIX && !defined POSIX2008
+# ifdef XPG42
+// The XPG42 use of "long" for these fields is not compatible with the
+// use of typedefs in future standards to support values outside the
+// range of "long".
+xfail-element {struct stat} long st_blksize
+xfail-element {struct stat} long st_blocks
+# else
+element {struct stat} blksize_t st_blksize
+element {struct stat} blkcnt_t st_blocks
+# endif
+#endif
+
+# if defined XOPEN2K8 || defined POSIX2008
+type {struct timespec}
+element {struct timespec} time_t tv_sec
+// Bug 16437: tv_nsec has wrong type.
+xfail[x86_64-x32-linux]-element {struct timespec} long tv_nsec
+# endif
+
+#if !defined POSIX && !defined POSIX2008
+constant S_IFMT
+constant S_IFBLK
+constant S_IFCHR
+constant S_IFIFO
+constant S_IFREG
+constant S_IFDIR
+# ifndef XPG4
+constant S_IFLNK
+constant S_IFSOCK
+# endif
+#endif
+
+constant S_IRWXU
+constant S_IRUSR
+constant S_IWUSR
+constant S_IXUSR
+constant S_IRWXG
+constant S_IRGRP
+constant S_IWGRP
+constant S_IXGRP
+constant S_IRWXO
+constant S_IROTH
+constant S_IWOTH
+constant S_IXOTH
+constant S_ISUID
+constant S_ISGID
+#if !defined XPG4 && !defined POSIX && !defined POSIX2008
+constant S_ISVTX
+#endif
+
+macro S_ISBLK
+macro S_ISCHR
+macro S_ISDIR
+macro S_ISFIFO
+macro S_ISREG
+#if !defined XPG4 && !defined POSIX
+macro S_ISLNK
+macro S_ISSOCK
+#endif
+
+// How to represent optional tests?
+optional-macro S_TYPEISMQ
+optional-macro S_TYPEISSEM
+optional-macro S_TYPEISSHM
+# if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
+optional-macro S_TYPEISTMO
+# endif
+
+# if defined XOPEN2K8 || defined POSIX2008
+constant UTIME_NOW
+constant UTIME_OMIT
+# endif
+
+function int chmod (const char*, mode_t)
+# ifndef XPG4
+function int fchmod (int, mode_t)
+# endif
+# if defined XOPEN2K8 || defined POSIX2008
+function int fchmodat (int, const char*, mode_t, int)
+# endif
+function int fstat (int, struct stat*)
+# if defined XOPEN2K8 || defined POSIX2008
+function int fstatat (int, const char*, struct stat*, int)
+function int futimens (int, const struct timespec[2])
+# endif
+#if !defined XPG4 && !defined POSIX
+function int lstat (const char*, struct stat*)
+#endif
+function int mkdir (const char*, mode_t)
+# if defined XOPEN2K8 || defined POSIX2008
+function int mkdirat (int, const char*, mode_t)
+# endif
+function int mkfifo (const char*, mode_t)
+# if defined XOPEN2K8 || defined POSIX2008
+function int mkfifoat (int, const char*, mode_t)
+# endif
+# if !defined XPG4 && !defined POSIX && !defined POSIX2008
+function int mknod (const char*, mode_t, dev_t)
+# endif
+# ifdef XOPEN2K8
+function int mknodat (int, const char*, mode_t, dev_t)
+# endif
+function int stat (const char*, struct stat*)
+function mode_t umask (mode_t)
+# if defined XOPEN2K8 || defined POSIX2008
+function int utimensat (int, const char*, const struct timespec[2], int)
+# endif
+
+allow st_*
+allow S_*
+allow *_t
+#endif