Move Windows port to MinGW
[fio.git] / os / windows / posix / include / sys / shm.h
CommitLineData
93bcfd20
BC
1#ifndef SYS_SHM_H\r
2#define SYS_SHM_H\r
3\r
4#define IPC_RMID 0x1\r
5#define IPC_CREAT 0x2\r
6#define IPC_PRIVATE 0x4\r
7\r
8typedef int uid_t;\r
9typedef int gid_t;\r
10\r
11typedef int shmatt_t;\r
12typedef int key_t;\r
13\r
14struct ipc_perm\r
15{\r
16 uid_t uid; //owner's user ID\r
17 gid_t gid; //owner's group ID\r
18 uid_t cuid; //creator's user ID\r
19 gid_t cgid; //creator's group ID\r
20 mode_t mode; //read/write permission\r
21};\r
22\r
23\r
24struct shmid_ds\r
25{\r
26 struct ipc_perm shm_perm; //operation permission structure\r
27 size_t shm_segsz; //size of segment in bytes\r
28 pid_t shm_lpid; //process ID of last shared memory operation\r
29 pid_t shm_cpid; //process ID of creator\r
30 shmatt_t shm_nattch; //number of current attaches\r
31 time_t shm_atime; //time of last shmat()\r
32 time_t shm_dtime; //time of last shmdt()\r
33 time_t shm_ctime; //time of last change by shmctl()\r
34};\r
35\r
36int shmctl(int shmid, int cmd, struct shmid_ds *buf);\r
37int shmget(key_t key, size_t size, int shmflg);\r
38void *shmat(int shmid, const void *shmaddr, int shmflg);\r
39int shmdt(const void *shmaddr);\r
40\r
41#endif /* SYS_SHM_H */\r