diff options
author | Eric Andersen <andersen@codepoet.org> | 2002-08-25 00:08:23 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2002-08-25 00:08:23 +0000 |
commit | d7aaa51dffc2d29192b64b382590d6752c82c3a3 (patch) | |
tree | 83e9f0f38956f65cddae2e23c6e552224aad7b44 /libc/sysdeps/linux | |
parent | e590469b10c9823ac8eabcbe73152c3a4c570421 (diff) |
Make shm stuff work properly.
-Erik
Diffstat (limited to 'libc/sysdeps/linux')
-rw-r--r-- | libc/sysdeps/linux/common/bits/ipc.h | 26 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/bits/sem.h | 19 |
2 files changed, 22 insertions, 23 deletions
diff --git a/libc/sysdeps/linux/common/bits/ipc.h b/libc/sysdeps/linux/common/bits/ipc.h index f1a043fe5..54412ff32 100644 --- a/libc/sysdeps/linux/common/bits/ipc.h +++ b/libc/sysdeps/linux/common/bits/ipc.h @@ -35,22 +35,22 @@ # define IPC_INFO 3 /* See ipcs. */ #endif +/* Type of a SYSV IPC key. */ +typedef int __kernel_key_t; + /* Special key values. */ #define IPC_PRIVATE ((__key_t) 0) /* Private key. */ /* Data structure used to pass permission information to IPC operations. */ struct ipc_perm - { - __key_t __key; /* Key. */ - __uid_t uid; /* Owner's user ID. */ - __gid_t gid; /* Owner's group ID. */ - __uid_t cuid; /* Creator's user ID. */ - __gid_t cgid; /* Creator's group ID. */ - unsigned short int mode; /* Read/write permission. */ - unsigned short int __pad1; - unsigned short int __seq; /* Sequence number. */ - unsigned short int __pad2; - unsigned long int __unused1; - unsigned long int __unused2; - }; +{ + __kernel_key_t key; + __kernel_uid_t uid; + __kernel_gid_t gid; + __kernel_uid_t cuid; + __kernel_gid_t cgid; + __kernel_mode_t mode; + unsigned short seq; +}; + diff --git a/libc/sysdeps/linux/common/bits/sem.h b/libc/sysdeps/linux/common/bits/sem.h index 6193501e2..864e0a947 100644 --- a/libc/sysdeps/linux/common/bits/sem.h +++ b/libc/sysdeps/linux/common/bits/sem.h @@ -36,16 +36,15 @@ /* Data structure describing a set of semaphores. */ -struct semid_ds -{ - struct ipc_perm sem_perm; /* operation permission struct */ - __time_t sem_otime; /* last semop() time */ - unsigned long int __unused1; - __time_t sem_ctime; /* last time changed by semctl() */ - unsigned long int __unused2; - unsigned long int sem_nsems; /* number of semaphores in set */ - unsigned long int __unused3; - unsigned long int __unused4; +struct semid_ds { + struct ipc_perm sem_perm; /* permissions .. see ipc.h */ + time_t sem_otime; /* last semop time */ + time_t sem_ctime; /* last change time */ + struct sem *sem_base; /* ptr to first semaphore in array */ + struct sem_queue *sem_pending; /* pending operations to be processed */ + struct sem_queue **sem_pending_last; /* last pending operation */ + struct sem_undo *undo; /* undo requests on this array */ + unsigned short sem_nsems; /* no. of semaphores in array */ }; /* The user should define a union like the following to use it for arguments |