diff options
Diffstat (limited to 'include/sys')
-rw-r--r-- | include/sys/ipc.h | 18 | ||||
-rw-r--r-- | include/sys/msg.h | 22 | ||||
-rw-r--r-- | include/sys/shm.h | 28 |
3 files changed, 55 insertions, 13 deletions
diff --git a/include/sys/ipc.h b/include/sys/ipc.h index 9de9f3e7..8e2f7172 100644 --- a/include/sys/ipc.h +++ b/include/sys/ipc.h @@ -11,13 +11,27 @@ extern "C" { #include <bits/alltypes.h> +#ifdef _GNU_SOURCE +#define __ipc_perm_key key +#define __ipc_perm_seq seq +#endif + #include <bits/ipc.h> +#define IPC_CREAT 01000 +#define IPC_EXCL 02000 +#define IPC_NOWAIT 04000 + +#define IPC_RMID 0 +#define IPC_SET 1 +#define IPC_STAT 2 +#define IPC_INFO 3 + +#define IPC_PRIVATE ((key_t) 0) + key_t ftok (const char *, int); #ifdef __cplusplus } #endif #endif - - diff --git a/include/sys/msg.h b/include/sys/msg.h index 4ae522fb..06f25533 100644 --- a/include/sys/msg.h +++ b/include/sys/msg.h @@ -14,20 +14,20 @@ typedef unsigned long msgqnum_t; typedef unsigned long msglen_t; -struct msqid_ds -{ - struct ipc_perm msg_perm; - time_t msg_stime; - time_t msg_rtime; - time_t msg_ctime; - msgqnum_t msg_qnum; - msglen_t msg_qbytes; - pid_t msg_lspid; - pid_t msg_lrpid; -}; +#include <bits/msg.h> + +#define __msg_cbytes msg_cbytes #define MSG_NOERROR 010000 +#define MSG_STAT 11 +#define MSG_INFO 12 + +struct msginfo { + int msgpool, msgmap, msgmax, msgmnb, msgmni, msgssz, msgtql; + unsigned short msgseg; +}; + int msgctl (int, int, struct msqid_ds *); int msgget (key_t, int); ssize_t msgrcv (int, void *, size_t, long, int); diff --git a/include/sys/shm.h b/include/sys/shm.h index 6ebb9412..fa927101 100644 --- a/include/sys/shm.h +++ b/include/sys/shm.h @@ -10,6 +10,34 @@ #include <sys/ipc.h> #include <bits/shm.h> +#define SHM_RDONLY 010000 +#define SHM_RND 020000 +#define SHM_REMAP 040000 +#define SHM_EXEC 0100000 + +#define SHM_LOCK 11 +#define SHM_UNLOCK 12 +#define SHM_STAT 13 +#define SHM_INFO 14 +#define SHM_DEST 01000 +#define SHM_LOCKED 02000 +#define SHM_HUGETLB 04000 +#define SHM_NORESERVE 010000 + +struct shminfo { + unsigned long shmmax, shmmin, shmmni, shmseg, shmall, __unused[4]; +}; + +struct shm_info { + int used_ids; + unsigned long shm_tot, shm_rss, shm_swp; +#ifdef _GNU_SOURCE + unsigned long swap_attempts, swap_successes; +#else + unsigned long __reserved[2]; +#endif +}; + void *shmat(int, const void *, int); int shmctl(int, int, struct shmid_ds *); int shmdt(const void *); |