From bba09d234b3cfaa311809278c4252fc906f06de2 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 25 Feb 2000 09:00:58 +0000 Subject: Update. 2000-02-25 Ulrich Drepper * 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. --- bits/msq.h | 12 ++++++++---- bits/stropts.h | 30 +++++++++++++++++++----------- 2 files changed, 27 insertions(+), 15 deletions(-) (limited to 'bits') diff --git a/bits/msq.h b/bits/msq.h index a263869a0e..131fc48521 100644 --- a/bits/msq.h +++ b/bits/msq.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1997, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -20,11 +20,15 @@ #error "Never use directly; include instead." #endif -#include +#include /* Define options for message queue functions. */ #define MSG_NOERROR 010000 /* no error if message is too big */ +/* Types used in the structure definition. */ +typedef unsigned short int msgqnum_t; +typedef unsigned short int msglen_t; + /* Structure of record for one message inside the kernel. The type `struct __msg' is opaque. */ @@ -34,8 +38,8 @@ struct msqid_ds __time_t msg_stime; /* time of last msgsnd command */ __time_t msg_rtime; /* time of last msgrcv command */ __time_t msg_ctime; /* time of last change */ - unsigned short int msg_qnum; /* number of messages currently on queue */ - unsigned short int msg_qbytes;/* max number of bytes allowed on queue */ + msgqnum_t msg_qnum; /* number of messages currently on queue */ + msglen_t msg_qbytes; /* max number of bytes allowed on queue */ __pid_t msg_lspid; /* pid of last msgsnd() */ __pid_t msg_lrpid; /* pid of last msgrcv() */ }; diff --git a/bits/stropts.h b/bits/stropts.h index ed807473c2..62acfac34e 100644 --- a/bits/stropts.h +++ b/bits/stropts.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -61,7 +61,7 @@ of a STREAMS pipe. */ #define I_RECVFD (__SID |14) /* Non-EFT definition. */ #define I_SWROPT (__SID |19) /* Set the write mode. */ -#define I_GWRSET (__SID |20) /* Return the current write mode setting. */ +#define I_GWROPT (__SID |20) /* Return the current write mode setting. */ #define I_LIST (__SID |21) /* List all the module names on the STREAM, up to and including the topmost driver name. */ #define I_PLINK (__SID |22) /* Connect two STREAMs with a persistent @@ -91,7 +91,9 @@ #define FLUSHR 0x01 /* Flush read queues. */ #define FLUSHW 0x02 /* Flush write queues. */ #define FLUSHRW 0x03 /* Flush read and write queues. */ -#define FLUSHBAND 0x04 /* Flush only specified band. */ +#ifdef __USE_GNU +# define FLUSHBAND 0x04 /* Flush only specified band. */ +#endif /* Possible arguments for `I_SETSIG'. */ #define S_INPUT 0x0001 /* A message, other than a high-priority @@ -129,13 +131,17 @@ #define RPROTNORM 0x0010 /* Fail `read' with EBADMSG if a message containing a control part is at the front of the STREAM head read queue. */ -#define RPROTMASK 0x001C /* The RPROT bits */ +#ifdef __USE_GNU +# define RPROTMASK 0x001C /* The RPROT bits */ +#endif /* Possible mode for `I_SWROPT'. */ #define SNDZERO 0x001 /* Send a zero-length message downstream when a `write' of 0 bytes occurs. */ -#define SNDPIPE 0x002 /* Send SIGPIPE on write and putmsg if +#ifdef __USE_GNU +# define SNDPIPE 0x002 /* Send SIGPIPE on write and putmsg if sd_werror is set. */ +#endif /* Arguments for `I_ATMARK'. */ #define ANYMARK 0x01 /* Check if the message is marked. */ @@ -143,8 +149,10 @@ on the queue. */ /* Argument for `I_UNLINK'. */ -#define MUXID_ALL (-1) /* Unlink all STREAMs linked to the STREAM +#ifdef __USE_GNU +# define MUXID_ALL (-1) /* Unlink all STREAMs linked to the STREAM associated with `fildes'. */ +#endif /* Macros for `getmsg', `getpmsg', `putmsg' and `putpmsg'. */ @@ -176,14 +184,14 @@ struct strpeek { struct strbuf ctlbuf; struct strbuf databuf; - __t_uscalar_t flags; /* UnixWare/Solaris compatibility. */ + t_uscalar_t flags; /* UnixWare/Solaris compatibility. */ }; struct strfdinsert { struct strbuf ctlbuf; struct strbuf databuf; - __t_uscalar_t flags; /* UnixWare/Solaris compatibility. */ + t_uscalar_t flags; /* UnixWare/Solaris compatibility. */ int fildes; int offset; }; @@ -199,9 +207,9 @@ struct strioctl struct strrecvfd { int fd; - __uid_t uid; - __gid_t gid; - char fill[8]; /* UnixWare/Solaris compatibility */ + uid_t uid; + gid_t gid; + char __fill[8]; /* UnixWare/Solaris compatibility */ }; -- cgit v1.2.3