summary refs log tree commit diff
path: root/conform
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-02-25 09:00:58 +0000
committerUlrich Drepper <drepper@redhat.com>2000-02-25 09:00:58 +0000
commitbba09d234b3cfaa311809278c4252fc906f06de2 (patch)
tree2a372fc7594a100e4be8a6482112aeefd5fa5aca /conform
parent8934380c5b577346635773210336414d80c5d4ba (diff)
downloadglibc-bba09d234b3cfaa311809278c4252fc906f06de2.tar.gz
glibc-bba09d234b3cfaa311809278c4252fc906f06de2.tar.xz
glibc-bba09d234b3cfaa311809278c4252fc906f06de2.zip
Update.
2000-02-25  Ulrich Drepper  <drepper@redhat.com>

	* conform/conformtest.pl (@headers): Add "sys/msg.h", "sys/mman.h",
	"sys/ipc.h", "syslog.h", and "stropts.h".
	Handle / in header names correctly.
	* conform/data/stropts.h-data: New file.
	* conform/data/syslog.h-data: New file.
	* conform/data/sys/ipc.h-data: New file.
	* conform/data/sys/mman.h-data: New file.
	* conform/data/sys/msg.h-data: New file.

	* misc/sys/mman.h: Define off_t and mode_t if not already done.

	* streams/stropts.h: Define gid_t and uid_t if not already done.

	* sysdeps/gnu/bits/ipc.h (IPC_INFO): Only define if __USE_GNU.
	* sysdeps/unix/sysv/linux/alpha/bits/ipc.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/ipc.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/ipc.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/ipc.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/ipc.h: Likewise.

	* sysvipc/sys/msg.h: Don't include sys/types.h.
	Define time_t, pid_t, and ssize_t if not already done.
	(struct msgbuf): Define only if __USE_GNU.

	* sysdeps/generic/bits/msq.h: Include bits/types.h, not sys/types.h.
	(MSG_EXCEPT): Only define if __USE_GNU.
	Define msgqnum_t and msglen_t and use them in struct msqid_ds
	definition.
	* sysdeps/gnu/bits/msq.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/bits/msq.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/msq.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/msq.h: Likewise.

	* sysdeps/generic/bits/stropts.h (I_GWROPT): Renamed from I_GWRSET.
	(FLUSHBAND): Only define is __USE_GNU.
	(RPROTMASK): Likewise.
	(SNDPIPE): Likewise.
	(MUXID_ALL): Likewise.
	(struct strrecvfd): Rename fill to __fill.
Diffstat (limited to 'conform')
-rw-r--r--conform/conformtest.pl9
-rw-r--r--conform/data/stropts.h-data123
-rw-r--r--conform/data/sys/ipc.h-data24
-rw-r--r--conform/data/sys/mman.h-data32
-rw-r--r--conform/data/sys/msg.h-data28
-rw-r--r--conform/data/syslog.h-data39
6 files changed, 252 insertions, 3 deletions
diff --git a/conform/conformtest.pl b/conform/conformtest.pl
index 08b46c1bf1..23fff7084d 100644
--- a/conform/conformtest.pl
+++ b/conform/conformtest.pl
@@ -4,7 +4,8 @@ $CC = "gcc";
 $CFLAGS = "-I. '-D__attribute__(x)=' -D_XOPEN_SOURCE=500";
 
 # List of the headers we are testing.
-@headers = ("strings.h", "string.h", "stdlib.h", "stdio.h",
+@headers = ("sys/msg.h", "sys/mman.h", "sys/ipc.h", "syslog.h",
+	    "stropts.h", "strings.h", "string.h", "stdlib.h", "stdio.h",
 	    "stddef.h", "stdarg.h", "signal.h", "setjmp.h", "semaphore.h",
 	    "search.h", "sched.h", "regex.h", "pwd.h", "pthread.h",
 	    "poll.h", "nl_types.h", "ndbm.h", "mqueue.h", "monetary.h",
@@ -13,7 +14,7 @@ $CFLAGS = "-I. '-D__attribute__(x)=' -D_XOPEN_SOURCE=500";
 	    "fmtmsg.h", "float.h", "fcntl.h", "errno.h", "dlfcn.h", "dirent.h",
 	    "ctype.h", "cpio.h", "assert.h", "aio.h");
 
-# These are the ISO C9x keywords.
+# These are the ISO C99 keywords.
 @keywords = ('auto', 'break', 'case', 'char', 'const', 'continue', 'default',
 	     'do', 'double', 'else', 'enum', 'extern', 'float', 'for', 'goto',
 	     'if', 'inline', 'int', 'long', 'register', 'restrict', 'return',
@@ -234,7 +235,9 @@ sub checknamespace {
 
 while ($#headers >= 0) {
   my($h) = pop (@headers);
-  my($fnamebase) = "$tmpdir/$h-test";
+  my($hf) = $h;
+  $hf =~ s|/|-|;
+  my($fnamebase) = "$tmpdir/$hf-test";
   my($missing);
   my(@allow) = ();
   my($prepend) = $mustprepend{$h};
diff --git a/conform/data/stropts.h-data b/conform/data/stropts.h-data
new file mode 100644
index 0000000000..318dc11b32
--- /dev/null
+++ b/conform/data/stropts.h-data
@@ -0,0 +1,123 @@
+type {struct bandinfo}
+
+element {struct bandinfo} {unsigned char} bi_pri
+element {struct bandinfo} int bi_flag
+
+type {struct strpeek}
+
+element {struct strpeek} {struct strbuf} ctlbuf
+element {struct strpeek} {struct strbuf} databuf
+element {struct strpeek} t_uscalar_t flags
+
+type {struct strbuf}
+
+element {struct strbuf} int maxlen
+element {struct strbuf} int len
+element {struct strbuf} {char*} buf
+
+type {struct strfdinsert}
+
+element {struct strfdinsert} {struct strbuf} ctlbuf
+element {struct strfdinsert} {struct strbuf} databuf
+element {struct strfdinsert} t_uscalar_t flags
+element {struct strfdinsert} int fildes
+element {struct strfdinsert} int offset
+
+type {struct strioctl}
+
+element {struct strioctl} int ic_cmd
+element {struct strioctl} int ic_timout
+element {struct strioctl} int ic_len
+element {struct strioctl} {char*} ic_dp
+
+type {struct strrecvfd}
+
+element {struct strrecvfd} int fd
+element {struct strrecvfd} uid_t uid
+element {struct strrecvfd} gid_t gid
+
+type uid_t
+type gid_t
+
+type t_uscalar_t
+
+type {struct str_list}
+
+element {struct str_list} int sl_nmods
+element {struct str_list} {struct str_mlist*} sl_modlist
+
+type {struct str_mlist}
+
+element {struct str_mlist} char l_name [FMNAMESZ+1]
+
+macro I_PUSH
+macro I_POP
+macro I_LOOK
+macro FMNAMESZ
+macro I_FLUSH
+macro FLUSHR
+macro FLUSHW
+macro FLUSHRW
+macro I_FLUSHBAND
+macro I_SETSIG
+macro S_RDNORM
+macro S_RDBAND
+macro S_INPUT
+macro S_HIPRI
+macro S_OUTPUT
+macro S_WRNORM
+macro S_WRBAND
+macro S_MSG
+macro S_ERROR
+macro S_HANGUP
+macro S_BANDURG
+macro I_GETSIG
+macro I_FIND
+macro I_PEEK
+macro RS_HIPRI
+macro I_SRDOPT
+macro RNORM
+macro RMSGD
+macro RMSGN
+macro RPROTNORM
+macro RPROTDAT
+macro RPROTDIS
+macro I_GRDOPT
+macro I_NREAD
+macro I_FDINSERT
+macro I_STR
+macro I_SWROPT
+macro SNDZERO
+macro I_GWROPT
+macro I_SENDFD
+macro I_RECVFD
+macro I_LIST
+macro I_ATMARK
+macro ANYMARK
+macro LASTMARK
+macro I_CKBAND
+macro I_GETBAND
+macro I_CANPUT
+macro I_SETCLTIME
+macro I_GETCLTIME
+macro I_LINK
+macro I_UNLINK
+macro I_PLINK
+macro I_PUNLINK
+
+macro MSG_ANY
+macro MSG_BAND
+macro MSG_HIPRI
+macro MORECTL
+macro MOREDATA
+
+function int isastream (int)
+function int getmsg (int, struct strbuf*, struct strbuf*, int*)
+function int getpmsg (int, struct strbuf*, struct strbuf*, int*, int*)
+function int ioctl (int, int, ...)
+function int putmsg (int, const struct strbuf*, const struct strbuf*, int)
+function int putpmsg (int, const struct strbuf*, const struct strbuf*, int, int)
+function int fattach (int, const char*)
+function int fdetach (const char*)
+
+allow-header unistd.h
diff --git a/conform/data/sys/ipc.h-data b/conform/data/sys/ipc.h-data
new file mode 100644
index 0000000000..0bfd22bad2
--- /dev/null
+++ b/conform/data/sys/ipc.h-data
@@ -0,0 +1,24 @@
+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
+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)
diff --git a/conform/data/sys/mman.h-data b/conform/data/sys/mman.h-data
new file mode 100644
index 0000000000..f45ea0c8c3
--- /dev/null
+++ b/conform/data/sys/mman.h-data
@@ -0,0 +1,32 @@
+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
+
+type size_t
+type off_t
+type mode_t
+
+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*)
diff --git a/conform/data/sys/msg.h-data b/conform/data/sys/msg.h-data
new file mode 100644
index 0000000000..69bd82f956
--- /dev/null
+++ b/conform/data/sys/msg.h-data
@@ -0,0 +1,28 @@
+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
diff --git a/conform/data/syslog.h-data b/conform/data/syslog.h-data
new file mode 100644
index 0000000000..62ae5512ac
--- /dev/null
+++ b/conform/data/syslog.h-data
@@ -0,0 +1,39 @@
+constant LOG_PID
+constant LOG_CONS
+constant LOG_NDELAY
+constant LOG_ODELAY
+constant LOG_NOWAIT
+
+constant LOG_KERN
+constant LOG_USER
+constant LOG_MAIL
+constant LOG_NEWS
+constant LOG_UUCP
+constant LOG_DAEMON
+constant LOG_AUTH
+constant LOG_CRON
+constant LOG_LPR
+constant LOG_LOCAL0
+constant LOG_LOCAL1
+constant LOG_LOCAL2
+constant LOG_LOCAL3
+constant LOG_LOCAL4
+constant LOG_LOCAL5
+constant LOG_LOCAL6
+constant LOG_LOCAL7
+
+macro LOG_MASK
+
+constant LOG_EMERG
+constant LOG_ALERT
+constant LOG_CRIT
+constant LOG_ERR
+constant LOG_WARNING
+constant LOG_NOTICE
+constant LOG_INFO
+constant LOG_DEBUG
+
+function void closelog (void)
+function void openlog (const char*, int, int)
+function int setlogmask (int)
+function void syslog (int, const char*, ...)