SysV IPC headers
[reactos.git] / posix / include / sys / ipc.h
1 /* $Id: ipc.h,v 1.3 2002/05/17 01:37:15 hyperion Exp $
2 */
3 /*
4 * sys/ipc.h
5 *
6 * interprocess communication access structure. Conforming to the Single
7 * UNIX(r) Specification Version 2, System Interface & Headers Issue 5
8 *
9 * This file is part of the ReactOS Operating System.
10 *
11 * Contributors:
12 * Created by KJK::Hyperion <noog@libero.it>
13 *
14 * THIS SOFTWARE IS NOT COPYRIGHTED
15 *
16 * This source code is offered for use in the public domain. You may
17 * use, modify or distribute it freely.
18 *
19 * This code is distributed in the hope that it will be useful but
20 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
21 * DISCLAMED. This includes but is not limited to warranties of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
23 *
24 */
25 #ifndef __SYS_IPC_H_INCLUDED__
26 #define __SYS_IPC_H_INCLUDED__
27
28 /* INCLUDES */
29
30 /* OBJECTS */
31
32 /* TYPES */
33 struct ipc_perm
34 {
35 uid_t uid; /* owner's user ID */
36 gid_t gid; /* owner's group ID */
37 uid_t cuid; /* creator's user ID */
38 gid_t cgid; /* creator's group ID */
39 mode_t mode; /* read/write permission */
40 };
41
42 /* CONSTANTS */
43 /* Mode bits */
44 #define IPC_CREAT (0x00000200) /* Create entry if key does not exist */
45 #define IPC_EXCL (0x00000400) /* Fail if key exists */
46 #define IPC_NOWAIT (0x00000800) /* Error if request must wait */
47
48 /* Keys */
49 #define IPC_PRIVATE (0xFFFFFFFF) /* Private key */
50
51 /* Control commands */
52 #define IPC_RMID (1) /* Remove identifier */
53 #define IPC_SET (2) /* Set options */
54 #define IPC_STAT (3) /* Get options */
55
56 /* PROTOTYPES */
57 key_t ftok(const char *, int);
58
59 /* MACROS */
60
61 #endif /* __SYS_IPC_H_INCLUDED__ */
62
63 /* EOF */
64