xref: /utopia/UTPA2-700.0.x/projects/tools/lint/mips-linux-gnu_include/bits/ipc.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1*53ee8cc1Swenshuai.xi /* Copyright (C) 1995, 96, 97, 98, 99, 2000, 2001 Free Software Foundation, Inc.
2*53ee8cc1Swenshuai.xi    This file is part of the GNU C Library.
3*53ee8cc1Swenshuai.xi 
4*53ee8cc1Swenshuai.xi    The GNU C Library is free software; you can redistribute it and/or
5*53ee8cc1Swenshuai.xi    modify it under the terms of the GNU Lesser General Public
6*53ee8cc1Swenshuai.xi    License as published by the Free Software Foundation; either
7*53ee8cc1Swenshuai.xi    version 2.1 of the License, or (at your option) any later version.
8*53ee8cc1Swenshuai.xi 
9*53ee8cc1Swenshuai.xi    The GNU C Library is distributed in the hope that it will be useful,
10*53ee8cc1Swenshuai.xi    but WITHOUT ANY WARRANTY; without even the implied warranty of
11*53ee8cc1Swenshuai.xi    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12*53ee8cc1Swenshuai.xi    Lesser General Public License for more details.
13*53ee8cc1Swenshuai.xi 
14*53ee8cc1Swenshuai.xi    You should have received a copy of the GNU Lesser General Public
15*53ee8cc1Swenshuai.xi    License along with the GNU C Library; if not, write to the Free
16*53ee8cc1Swenshuai.xi    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
17*53ee8cc1Swenshuai.xi    02111-1307 USA.  */
18*53ee8cc1Swenshuai.xi 
19*53ee8cc1Swenshuai.xi #ifndef _SYS_IPC_H
20*53ee8cc1Swenshuai.xi # error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
21*53ee8cc1Swenshuai.xi #endif
22*53ee8cc1Swenshuai.xi 
23*53ee8cc1Swenshuai.xi #include <bits/types.h>
24*53ee8cc1Swenshuai.xi 
25*53ee8cc1Swenshuai.xi /* Mode bits for `msgget', `semget', and `shmget'.  */
26*53ee8cc1Swenshuai.xi #define IPC_CREAT	01000		/* Create key if key does not exist. */
27*53ee8cc1Swenshuai.xi #define IPC_EXCL	02000		/* Fail if key exists.	*/
28*53ee8cc1Swenshuai.xi #define IPC_NOWAIT	04000		/* Return error on wait.  */
29*53ee8cc1Swenshuai.xi 
30*53ee8cc1Swenshuai.xi /* Control commands for `msgctl', `semctl', and `shmctl'.  */
31*53ee8cc1Swenshuai.xi #define IPC_RMID	0		/* Remove identifier.  */
32*53ee8cc1Swenshuai.xi #define IPC_SET		1		/* Set `ipc_perm' options.  */
33*53ee8cc1Swenshuai.xi #define IPC_STAT	2		/* Get `ipc_perm' options.  */
34*53ee8cc1Swenshuai.xi #ifdef __USE_GNU
35*53ee8cc1Swenshuai.xi # define IPC_INFO	3		/* See ipcs.  */
36*53ee8cc1Swenshuai.xi #endif
37*53ee8cc1Swenshuai.xi 
38*53ee8cc1Swenshuai.xi /* Special key values.	*/
39*53ee8cc1Swenshuai.xi #define IPC_PRIVATE	((__key_t) 0)	/* Private key.	 */
40*53ee8cc1Swenshuai.xi 
41*53ee8cc1Swenshuai.xi 
42*53ee8cc1Swenshuai.xi /* Data structure used to pass permission information to IPC operations.  */
43*53ee8cc1Swenshuai.xi struct ipc_perm
44*53ee8cc1Swenshuai.xi   {
45*53ee8cc1Swenshuai.xi     __key_t __key;			/* Key.  */
46*53ee8cc1Swenshuai.xi     unsigned int uid;			/* Owner's user ID.  */
47*53ee8cc1Swenshuai.xi     unsigned int gid;			/* Owner's group ID.  */
48*53ee8cc1Swenshuai.xi     unsigned int cuid;			/* Creator's user ID.  */
49*53ee8cc1Swenshuai.xi     unsigned int cgid;			/* Creator's group ID.	*/
50*53ee8cc1Swenshuai.xi     unsigned int mode;			/* Read/write permission.  */
51*53ee8cc1Swenshuai.xi     unsigned short int __seq;		/* Sequence number.  */
52*53ee8cc1Swenshuai.xi     unsigned short int __pad1;
53*53ee8cc1Swenshuai.xi     unsigned long int __unused1;
54*53ee8cc1Swenshuai.xi     unsigned long int __unused2;
55*53ee8cc1Swenshuai.xi };
56