about summary refs log tree commit diff
path: root/REORG.TODO/conform/data/sys
diff options
context:
space:
mode:
Diffstat (limited to 'REORG.TODO/conform/data/sys')
-rw-r--r--REORG.TODO/conform/data/sys/ipc.h-data31
-rw-r--r--REORG.TODO/conform/data/sys/mman.h-data64
-rw-r--r--REORG.TODO/conform/data/sys/msg.h-data34
-rw-r--r--REORG.TODO/conform/data/sys/resource.h-data52
-rw-r--r--REORG.TODO/conform/data/sys/select.h-data36
-rw-r--r--REORG.TODO/conform/data/sys/sem.h-data40
-rw-r--r--REORG.TODO/conform/data/sys/shm.h-data34
-rw-r--r--REORG.TODO/conform/data/sys/socket.h-data140
-rw-r--r--REORG.TODO/conform/data/sys/stat.h-data161
-rw-r--r--REORG.TODO/conform/data/sys/statvfs.h-data28
-rw-r--r--REORG.TODO/conform/data/sys/time.h-data43
-rw-r--r--REORG.TODO/conform/data/sys/timeb.h-data14
-rw-r--r--REORG.TODO/conform/data/sys/times.h-data15
-rw-r--r--REORG.TODO/conform/data/sys/types.h-data62
-rw-r--r--REORG.TODO/conform/data/sys/uio.h-data14
-rw-r--r--REORG.TODO/conform/data/sys/un.h-data8
-rw-r--r--REORG.TODO/conform/data/sys/utsname.h-data12
-rw-r--r--REORG.TODO/conform/data/sys/wait.h-data88
18 files changed, 876 insertions, 0 deletions
diff --git a/REORG.TODO/conform/data/sys/ipc.h-data b/REORG.TODO/conform/data/sys/ipc.h-data
new file mode 100644
index 0000000000..70dc3f6fe6
--- /dev/null
+++ b/REORG.TODO/conform/data/sys/ipc.h-data
@@ -0,0 +1,31 @@
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
+type {struct ipc_perm}
+
+element {struct ipc_perm} uid_t uid
+element {struct ipc_perm} gid_t gid
+element {struct ipc_perm} uid_t cuid
+element {struct ipc_perm} gid_t cgid
+// Bug 18231: wrong type for mode member.
+xfail-element {struct ipc_perm} mode_t mode
+
+type uid_t
+type gid_t
+type mode_t
+type key_t
+
+constant IPC_CREAT
+constant IPC_EXCL
+constant IPC_NOWAIT
+
+constant IPC_PRIVATE
+
+constant IPC_RMID
+constant IPC_SET
+constant IPC_STAT
+
+function key_t ftok (const char*, int)
+
+allow ipc_*
+allow IPC_*
+allow *_t
+#endif
diff --git a/REORG.TODO/conform/data/sys/mman.h-data b/REORG.TODO/conform/data/sys/mman.h-data
new file mode 100644
index 0000000000..a74388338e
--- /dev/null
+++ b/REORG.TODO/conform/data/sys/mman.h-data
@@ -0,0 +1,64 @@
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4
+constant PROT_READ
+constant PROT_WRITE
+constant PROT_EXEC
+constant PROT_NONE
+
+constant MAP_SHARED
+constant MAP_PRIVATE
+constant MAP_FIXED
+
+constant MS_ASYNC
+constant MS_SYNC
+constant MS_INVALIDATE
+
+constant MCL_CURRENT
+constant MCL_FUTURE
+
+constant MAP_FAILED
+
+# if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
+constant POSIX_MADV_NORMAL
+constant POSIX_MADV_SEQUENTIAL
+constant POSIX_MADV_RANDOM
+constant POSIX_MADV_WILLNEED
+constant POSIX_MADV_DONTNEED
+
+optional-constant POSIX_TYPED_MEM_ALLOCATE
+optional-constant POSIX_TYPED_MEM_ALLOCATE_CONTIG
+optional-constant POSIX_TYPED_MEM_MAP_ALLOCATABLE
+
+type mode_t
+
+optional-type {struct posix_typedmem_info}
+optional-element {struct posix_typedmem_info} size_t posix_tmi_length
+
+function int posix_madvise (void*, size_t, int)
+optional-function int posix_mem_offset (const void*, size_t, off_t*, size_t*, int*)
+optional-function int posix_typed_mem_get_info (int, struct posix_typed_mem_info*)
+optional-function int posix_typed_mem_open (const char*, int, int)
+# endif
+
+# ifndef POSIX
+type size_t
+type off_t
+# endif
+
+function int mlock (const void*, size_t)
+function int mlockall (int)
+function {void*} mmap (void*, size_t, int, int, int, off_t)
+function int mprotect (void*, size_t, int)
+function int msync (void*, size_t, int)
+function int munlock (const void*, size_t)
+function int munlockall (void)
+function int munmap (void*, size_t)
+function int shm_open (const char*, int, mode_t)
+function int shm_unlink (const char*)
+
+allow shm_*
+allow MAP_*
+allow MCL_*
+allow MS_*
+allow PROT_*
+allow *_t
+#endif
diff --git a/REORG.TODO/conform/data/sys/msg.h-data b/REORG.TODO/conform/data/sys/msg.h-data
new file mode 100644
index 0000000000..a8290cab52
--- /dev/null
+++ b/REORG.TODO/conform/data/sys/msg.h-data
@@ -0,0 +1,34 @@
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
+type {struct msqid_ds}
+
+type msgqnum_t
+type msglen_t
+
+constant MSG_NOERROR
+
+element {struct msqid_ds} {struct ipc_perm} msg_perm
+element {struct msqid_ds} msgqnum_t msg_qnum
+element {struct msqid_ds} msglen_t msg_qbytes
+element {struct msqid_ds} pid_t msg_lspid
+element {struct msqid_ds} pid_t msg_lrpid
+element {struct msqid_ds} time_t msg_stime
+element {struct msqid_ds} time_t msg_rtime
+element {struct msqid_ds} time_t msg_ctime
+
+type pid_t
+type time_t
+type key_t
+type size_t
+type ssize_t
+
+function int msgctl (int, int, struct msqid_ds*)
+function int msgget (key_t, int)
+function ssize_t msgrcv (int, void*, size_t, long int, int)
+function int msgsnd (int, const void*, size_t, int)
+
+allow-header sys/ipc.h
+
+allow msg*
+allow MSG*
+allow *_h
+#endif
diff --git a/REORG.TODO/conform/data/sys/resource.h-data b/REORG.TODO/conform/data/sys/resource.h-data
new file mode 100644
index 0000000000..cedbee1a40
--- /dev/null
+++ b/REORG.TODO/conform/data/sys/resource.h-data
@@ -0,0 +1,52 @@
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 && !defined XPG4
+constant PRIO_PROCESS
+constant PRIO_PGRP
+constant PRIO_USER
+
+type rlim_t
+
+constant RLIM_INFINITY
+constant RLIM_SAVED_MAX
+constant RLIM_SAVED_CUR
+
+constant RUSAGE_SELF
+constant RUSAGE_CHILDREN
+
+type {struct rlimit}
+
+element {struct rlimit} rlim_t rlim_cur
+element {struct rlimit} rlim_t rlim_max
+
+type {struct rusage}
+
+element {struct rusage} {struct timeval} ru_utime
+element {struct rusage} {struct timeval} ru_stime
+
+type {struct timeval}
+
+constant RLIMIT_CORE
+constant RLIMIT_CPU
+constant RLIMIT_DATA
+constant RLIMIT_FSIZE
+constant RLIMIT_NOFILE
+constant RLIMIT_STACK
+constant RLIMIT_AS
+
+function int getpriority (int, id_t)
+function int getrlimit (int, struct rlimit*)
+function int getrusage (int, struct rusage*)
+function int setpriority (int, id_t, int)
+function int setrlimit (int, const struct rlimit*)
+
+type id_t
+
+allow-header sys/time.h
+
+allow rlim_*
+allow ru_*
+allow PRIO_*
+allow RLIM_*
+allow RLIMIT_*
+allow RUSAGE_*
+allow *_t
+#endif
diff --git a/REORG.TODO/conform/data/sys/select.h-data b/REORG.TODO/conform/data/sys/select.h-data
new file mode 100644
index 0000000000..44d63ebd2d
--- /dev/null
+++ b/REORG.TODO/conform/data/sys/select.h-data
@@ -0,0 +1,36 @@
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
+type time_t
+type suseconds_t
+
+type {struct timeval}
+element {struct timeval} time_t tv_sec
+element {struct timeval} suseconds_t tv_usec
+
+type sigset_t
+
+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
+
+type fd_set
+#if defined XPG4 || defined XPG42 || defined UNIX98
+element fd_set long fds_bits []
+#endif
+
+macro FD_CLR
+macro FD_ISSET
+macro FD_SET
+macro FD_ZERO
+
+macro FD_SETSIZE
+
+#if defined XOPEN2K || defined POSIX2008 || defined XOPEN2K8
+function int pselect (int, fd_set*, fd_set*, fd_set*, const struct timespec*, const sigset_t*)
+#endif
+function int select (int, fd_set*, fd_set*, fd_set*, struct timeval*)
+
+allow-header signal.h
+allow-header sys/time.h
+allow-header time.h
+#endif
diff --git a/REORG.TODO/conform/data/sys/sem.h-data b/REORG.TODO/conform/data/sys/sem.h-data
new file mode 100644
index 0000000000..a36ab1bd91
--- /dev/null
+++ b/REORG.TODO/conform/data/sys/sem.h-data
@@ -0,0 +1,40 @@
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
+constant SEM_UNDO
+
+constant GETNCNT
+constant GETPID
+constant GETVAL
+constant GETALL
+constant GETZCNT
+constant SETVAL
+constant SETALL
+
+type {struct semid_ds}
+
+element {struct semid_ds} {struct ipc_perm} sem_perm
+// Bug 18232: wrong type for sem_nsems member.
+xfail-element {struct semid_ds} {unsigned short int} sem_nsems
+element {struct semid_ds} time_t sem_otime
+element {struct semid_ds} time_t sem_ctime
+
+type pid_t
+type time_t
+type key_t
+type size_t
+
+type {struct sembuf}
+
+element {struct sembuf} {unsigned short int} sem_num
+element {struct sembuf} {short int} sem_op
+element {struct sembuf} {short int} sem_flg
+
+function int semctl (int, int, int, ...)
+function int semget (key_t, int, int)
+function int semop (int, struct sembuf*, size_t)
+
+allow-header sys/ipc.h
+
+allow sem*
+allow SEM_*
+allow *_t
+#endif
diff --git a/REORG.TODO/conform/data/sys/shm.h-data b/REORG.TODO/conform/data/sys/shm.h-data
new file mode 100644
index 0000000000..a006cdbb92
--- /dev/null
+++ b/REORG.TODO/conform/data/sys/shm.h-data
@@ -0,0 +1,34 @@
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
+constant SHM_RDONLY
+symbol SHMLBA
+constant SHM_RND
+
+type shmatt_t
+
+type {struct shmid_ds}
+
+element {struct shmid_ds} {struct ipc_perm} shm_perm
+element {struct shmid_ds} size_t shm_segsz
+element {struct shmid_ds} pid_t shm_lpid
+element {struct shmid_ds} pid_t shm_cpid
+element {struct shmid_ds} shmatt_t shm_nattch
+element {struct shmid_ds} time_t shm_atime
+element {struct shmid_ds} time_t shm_dtime
+element {struct shmid_ds} time_t shm_ctime
+
+type pid_t
+type time_t
+type key_t
+type size_t
+
+function {void*} shmat (int, const void*, int)
+function int shmctl (int, int, struct shmid_ds*)
+function int shmdt (const void*)
+function int shmget (key_t, size_t, int)
+
+allow-header sys/ipc.h
+
+allow shm*
+allow SHM*
+allow *_t
+#endif
diff --git a/REORG.TODO/conform/data/sys/socket.h-data b/REORG.TODO/conform/data/sys/socket.h-data
new file mode 100644
index 0000000000..8796c57570
--- /dev/null
+++ b/REORG.TODO/conform/data/sys/socket.h-data
@@ -0,0 +1,140 @@
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4
+type socklen_t
+
+type sa_family_t
+
+# if defined XOPEN2K8 || defined POSIX2008
+type size_t
+type ssize_t
+# endif
+
+type {struct sockaddr}
+
+element {struct sockaddr} sa_family_t sa_family
+element {struct sockaddr} char sa_data []
+
+type {struct sockaddr_storage}
+
+element {struct sockaddr_storage} sa_family_t ss_family
+
+type {struct msghdr}
+
+element {struct msghdr} {void*} msg_name
+element {struct msghdr} socklen_t msg_namelen
+element {struct msghdr} {struct iovec*} msg_iov
+// Bug 16919: wrong type for msg_iovlen and msg_controllen members.
+xfail-element {struct msghdr} int msg_iovlen
+element {struct msghdr} {void*} msg_control
+xfail-element {struct msghdr} socklen_t msg_controllen
+element {struct msghdr} int msg_flags
+
+type {struct iovec}
+
+element {struct iovec} {void*} iov_base
+element {struct iovec} size_t iov_len
+
+type {struct cmsghdr}
+
+// Bug 16919: wrong type for cmsg_len member.
+xfail-element {struct cmsghdr} socklen_t cmsg_len
+element {struct cmsghdr} int cmsg_level
+element {struct cmsghdr} int cmsg_type
+
+macro SCM_RIGHTS
+
+macro CMSG_DATA
+macro CMSG_NXTHDR
+macro CMSG_FIRSTHDR
+
+type {struct linger}
+
+element {struct linger} int l_onoff
+element {struct linger} int l_linger
+
+macro SOCK_DGRAM
+macro SOCK_STREAM
+macro SOCK_SEQPACKET
+
+macro SOL_SOCKET
+
+macro SO_ACCEPTCONN
+macro SO_BROADCAST
+macro SO_DEBUG
+macro SO_DONTROUTE
+macro SO_ERROR
+macro SO_KEEPALIVE
+macro SO_LINGER
+macro SO_OOBINLINE
+macro SO_RCVBUF
+macro SO_RCVLOWAT
+macro SO_RCVTIMEO
+macro SO_REUSEADDR
+macro SO_SNDBUF
+macro SO_SNDLOWAT
+macro SO_SNDTIMEO
+macro SO_TYPE
+
+macro SOMAXCONN
+
+macro MSG_CTRUNC
+macro MSG_DONTROUTE
+macro MSG_EOR
+macro MSG_OOB
+macro MSG_PEEK
+macro MSG_TRUNC
+macro MSG_WAITALL
+# if defined XOPEN2K8 || defined POSIX2008
+constant MSG_NOSIGNAL
+# endif
+
+macro AF_UNIX
+macro AF_UNSPEC
+macro AF_INET
+macro AF_INET6
+
+macro SHUT_RD
+macro SHUT_WR
+macro SHUT_RDWR
+
+function int accept (int, struct sockaddr*, socklen_t*)
+function int bind (int, const struct sockaddr*, socklen_t)
+function int connect (int, const struct sockaddr*, socklen_t)
+function int getpeername (int, struct sockaddr*, socklen_t*)
+function int getsockname (int, struct sockaddr*, socklen_t*)
+function int getsockopt (int, int, int, void*, socklen_t*)
+function int listen (int, int)
+function ssize_t recv (int, void*, size_t, int)
+function ssize_t recvfrom (int, void*, size_t, int, struct sockaddr*, socklen_t*)
+function ssize_t recvmsg (int, struct msghdr*, int)
+function ssize_t send (int, const void*, size_t, int)
+function ssize_t sendmsg (int, const struct msghdr*, int)
+function ssize_t sendto (int, const void*, size_t, int, const struct sockaddr*, socklen_t)
+function int setsockopt (int, int, int, const void*, socklen_t)
+function int shutdown (int, int)
+function int socket (int, int, int)
+function int socketpair (int, int, int, int[2])
+#if !defined XPG42 && !defined UNIX98
+function int sockatmark (int)
+#endif
+
+allow-header sys/uio.h
+
+allow ss_*
+allow sa_*
+allow if_*
+allow ifc_*
+allow ifru_*
+allow infu_*
+allow ifra_*
+allow msg_*
+allow cmsg_*
+allow l_*
+allow SO*
+allow AF_*
+allow CMSG_*
+allow MSG_*
+allow PF_*
+allow SCM_*
+allow SHUT_*
+allow *_t
+#endif
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
diff --git a/REORG.TODO/conform/data/sys/statvfs.h-data b/REORG.TODO/conform/data/sys/statvfs.h-data
new file mode 100644
index 0000000000..efdbff012d
--- /dev/null
+++ b/REORG.TODO/conform/data/sys/statvfs.h-data
@@ -0,0 +1,28 @@
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4
+type {struct statvfs}
+
+element {struct statvfs} {unsigned long} f_bsize
+element {struct statvfs} {unsigned long} f_frsize
+element {struct statvfs} fsblkcnt_t f_blocks
+element {struct statvfs} fsblkcnt_t f_bfree
+element {struct statvfs} fsblkcnt_t f_bavail
+element {struct statvfs} fsfilcnt_t f_files
+element {struct statvfs} fsfilcnt_t f_ffree
+element {struct statvfs} fsfilcnt_t f_favail
+element {struct statvfs} {unsigned long} f_fsid
+element {struct statvfs} {unsigned long} f_flag
+element {struct statvfs} {unsigned long} f_namemax
+
+type fsblkcnt_t
+type fsfilcnt_t
+
+constant ST_RDONLY
+constant ST_NOSUID
+
+function int statvfs (const char*, struct statvfs*)
+function int fstatvfs (int, struct statvfs*)
+
+allow f_*
+allow ST_*
+allow *_t
+#endif
diff --git a/REORG.TODO/conform/data/sys/time.h-data b/REORG.TODO/conform/data/sys/time.h-data
new file mode 100644
index 0000000000..30523e1af4
--- /dev/null
+++ b/REORG.TODO/conform/data/sys/time.h-data
@@ -0,0 +1,43 @@
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 && !defined XPG4
+type {struct timeval}
+
+element {struct timeval} time_t tv_sec
+element {struct timeval} suseconds_t tv_usec
+
+type {struct itimerval}
+
+element {struct itimerval} {struct timeval} it_interval
+element {struct itimerval} {struct timeval} it_value
+
+type time_t
+type suseconds_t
+
+type fd_set
+element fd_set long fds_bits []
+
+constant ITIMER_REAL
+constant ITIMER_VIRTUAL
+constant ITIMER_PROF
+
+macro FD_CLR
+macro FD_ISSET
+macro FD_SET
+macro FD_ZERO
+
+constant FD_SETSIZE
+
+function int getitimer (int, struct itimerval*)
+function int setitimer (int, const struct itimerval*, struct itimerval*)
+function int gettimeofday (struct timeval*, void*)
+function int select (int, fd_set*, fd_set*, fd_set*, struct timeval*)
+function int utimes (const char*, const struct timeval [2])
+
+allow fds_*
+allow it_*
+allow tv_*
+allow FD_*
+allow ITIMER_*
+allow *_t
+
+allow-header sys/select.h
+#endif
diff --git a/REORG.TODO/conform/data/sys/timeb.h-data b/REORG.TODO/conform/data/sys/timeb.h-data
new file mode 100644
index 0000000000..9638f73c8f
--- /dev/null
+++ b/REORG.TODO/conform/data/sys/timeb.h-data
@@ -0,0 +1,14 @@
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4 && !defined POSIX2008 && !defined XOPEN2K8
+type {struct timeb}
+
+element {struct timeb} time_t time
+element {struct timeb} {unsigned short} millitm
+element {struct timeb} short timezone
+element {struct timeb} short dstflag
+
+type time_t
+
+function int ftime (struct timeb*)
+
+allow *_t
+#endif
diff --git a/REORG.TODO/conform/data/sys/times.h-data b/REORG.TODO/conform/data/sys/times.h-data
new file mode 100644
index 0000000000..c93357b793
--- /dev/null
+++ b/REORG.TODO/conform/data/sys/times.h-data
@@ -0,0 +1,15 @@
+#if !defined ISO && !defined ISO99 && !defined ISO11
+type {struct tms}
+
+element {struct tms} clock_t tms_utime
+element {struct tms} clock_t tms_stime
+element {struct tms} clock_t tms_cutime
+element {struct tms} clock_t tms_cstime
+
+type clock_t
+
+function clock_t times (struct tms*)
+
+allow tms_*
+allow *_t
+#endif
diff --git a/REORG.TODO/conform/data/sys/types.h-data b/REORG.TODO/conform/data/sys/types.h-data
new file mode 100644
index 0000000000..cc28eb76d4
--- /dev/null
+++ b/REORG.TODO/conform/data/sys/types.h-data
@@ -0,0 +1,62 @@
+#if !defined ISO && !defined ISO99 && !defined ISO11
+#if !defined POSIX
+# if !defined XPG4 && !defined XPG42
+type blkcnt_t
+type blksize_t
+# endif
+type clock_t
+# if !defined XPG4 && !defined XPG42
+type clockid_t
+# endif
+#endif
+type dev_t
+# if !defined POSIX
+type fsblkcnt_t
+type fsfilcnt_t
+# endif
+type gid_t
+#if !defined POSIX
+type id_t
+#endif
+type ino_t
+# if !defined POSIX && !defined POSIX2008
+type key_t
+# endif
+type mode_t
+type nlink_t
+type off_t
+type pid_t
+#if !defined XPG4 && !defined XPG42
+type pthread_attr_t
+#if !defined POSIX && !defined UNIX98
+type pthread_barrier_t
+type pthread_barrierattr_t
+#endif
+type pthread_cond_t
+type pthread_condattr_t
+type pthread_key_t
+type pthread_mutex_t
+type pthread_mutexattr_t
+type pthread_once_t
+#if !defined POSIX
+type pthread_rwlock_t
+type pthread_rwlockattr_t
+#endif
+#if !defined POSIX && !defined UNIX98
+type pthread_spinlock_t
+#endif
+type pthread_t
+#endif
+type size_t
+type ssize_t
+# if !defined POSIX && !defined POSIX2008
+type suseconds_t
+# endif
+# ifndef POSIX
+type time_t
+type timer_t
+# endif
+type uid_t
+
+allow *_t
+#endif
diff --git a/REORG.TODO/conform/data/sys/uio.h-data b/REORG.TODO/conform/data/sys/uio.h-data
new file mode 100644
index 0000000000..b9fc66177c
--- /dev/null
+++ b/REORG.TODO/conform/data/sys/uio.h-data
@@ -0,0 +1,14 @@
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4 && !defined POSIX2008
+type {struct iovec}
+
+element {struct iovec} {void*} iov_base
+element {struct iovec} size_t iov_len
+
+function ssize_t readv (int, const struct iovec*, int)
+function ssize_t writev (int, const struct iovec*, int)
+
+allow iov_*
+allow IOV_*
+allow *_t
+allow UIO_MAXIOV
+#endif
diff --git a/REORG.TODO/conform/data/sys/un.h-data b/REORG.TODO/conform/data/sys/un.h-data
new file mode 100644
index 0000000000..1068440042
--- /dev/null
+++ b/REORG.TODO/conform/data/sys/un.h-data
@@ -0,0 +1,8 @@
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4
+type {struct sockaddr_un}
+
+element {struct sockaddr_un} sa_family_t sun_family
+element {struct sockaddr_un} char sun_path []
+
+type sa_family_t
+#endif
diff --git a/REORG.TODO/conform/data/sys/utsname.h-data b/REORG.TODO/conform/data/sys/utsname.h-data
new file mode 100644
index 0000000000..82f7f397ca
--- /dev/null
+++ b/REORG.TODO/conform/data/sys/utsname.h-data
@@ -0,0 +1,12 @@
+#if !defined ISO && !defined ISO99 && !defined ISO11
+type {struct utsname}
+
+element {struct utsname} char sysname []
+element {struct utsname} char nodename []
+element {struct utsname} char release []
+element {struct utsname} char version []
+element {struct utsname} char machine []
+
+function int uname (struct utsname *)
+allow *_t
+#endif
diff --git a/REORG.TODO/conform/data/sys/wait.h-data b/REORG.TODO/conform/data/sys/wait.h-data
new file mode 100644
index 0000000000..74a062e90c
--- /dev/null
+++ b/REORG.TODO/conform/data/sys/wait.h-data
@@ -0,0 +1,88 @@
+#if !defined ISO && !defined ISO99 && !defined ISO11
+#ifdef  POSIX
+# define pid_t __pid_t
+#endif
+
+constant WNOHANG
+constant WUNTRACED
+
+macro WEXITSTATUS
+# if !defined POSIX && !defined POSIX2008
+macro WIFCONTINUED
+# endif
+macro WIFEXITED
+macro WIFSIGNALED
+macro WIFSTOPPED
+macro WSTOPSIG
+macro WTERMSIG
+
+# ifndef POSIX
+constant WEXITED
+constant WSTOPPED
+#  ifndef POSIX2008
+constant WCONTINUED
+#  endif
+constant WNOHANG
+constant WNOWAIT
+# endif
+
+#if !defined POSIX
+type idtype_t
+
+constant P_ALL
+constant P_PID
+constant P_PGID
+
+type id_t
+
+type siginfo_t
+
+element siginfo_t int si_signo
+element siginfo_t int si_errno
+element siginfo_t int si_code
+element siginfo_t pid_t si_pid
+element siginfo_t uid_t si_uid
+element siginfo_t {void*} si_addr
+element siginfo_t int si_status
+element siginfo_t long si_band
+element siginfo_t {union sigval} si_value
+#endif
+
+#if !defined POSIX && !defined XPG4 && !defined XOPEN2K8 && !defined POSIX2008
+type {struct rusage}
+
+element {struct rusage} {struct timeval} ru_utime
+element {struct rusage} {struct timeval} ru_stime
+#endif
+
+#if !defined POSIX
+type pid_t
+#endif
+
+function pid_t wait (int*)
+#if !defined POSIX && !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
+function pid_t wait3 (int*, int, struct rusage*)
+#endif
+#if !defined POSIX
+function int waitid (idtype_t, id_t, siginfo_t*, int)
+#endif
+function pid_t waitpid (pid_t, int*, int)
+
+#if !defined POSIX
+allow-header signal.h
+allow-header sys/resource.h
+
+allow si_*
+allow W*
+allow P_*
+allow BUS_
+allow CLD_
+allow FPE_
+allow ILL_
+allow POLL_
+allow SEGV_
+allow SI_
+allow TRAP_
+#endif
+allow *_t
+#endif