From 28e8e60e36c2d950d4ebf7b406f2401ccb63c0c1 Mon Sep 17 00:00:00 2001 From: alfred Date: Sat, 25 Jan 2003 21:33:05 +0000 Subject: Bring shm functions closer the the opengroup standards. PR: 47469 Submitted by: Craig Rodrigues --- sys/kern/syscalls.master | 6 +++--- sys/kern/sysv_shm.c | 4 ++-- sys/sys/shm.h | 11 ++++++++--- 3 files changed, 13 insertions(+), 8 deletions(-) (limited to 'sys') diff --git a/sys/kern/syscalls.master b/sys/kern/syscalls.master index cd3e468..03c8794 100644 --- a/sys/kern/syscalls.master +++ b/sys/kern/syscalls.master @@ -361,11 +361,11 @@ int msgflg); } 227 MNOSTD BSD { int msgrcv(int msqid, void *msgp, size_t msgsz, \ long msgtyp, int msgflg); } -228 MNOSTD BSD { int shmat(int shmid, void *shmaddr, int shmflg); } +228 MNOSTD BSD { int shmat(int shmid, const void *shmaddr, int shmflg); } 229 MNOSTD BSD { int shmctl(int shmid, int cmd, \ struct shmid_ds *buf); } -230 MNOSTD BSD { int shmdt(void *shmaddr); } -231 MNOSTD BSD { int shmget(key_t key, int size, int shmflg); } +230 MNOSTD BSD { int shmdt(const void *shmaddr); } +231 MNOSTD BSD { int shmget(key_t key, size_t size, int shmflg); } ; 232 MSTD POSIX { int clock_gettime(clockid_t clock_id, \ struct timespec *tp); } diff --git a/sys/kern/sysv_shm.c b/sys/kern/sysv_shm.c index e045310..406e753 100644 --- a/sys/kern/sysv_shm.c +++ b/sys/kern/sysv_shm.c @@ -240,7 +240,7 @@ shm_delete_mapping(struct vmspace *vm, struct shmmap_state *shmmap_s) #ifndef _SYS_SYSPROTO_H_ struct shmdt_args { - void *shmaddr; + const void *shmaddr; }; #endif @@ -284,7 +284,7 @@ done2: #ifndef _SYS_SYSPROTO_H_ struct shmat_args { int shmid; - void *shmaddr; + const void *shmaddr; int shmflg; }; #endif diff --git a/sys/sys/shm.h b/sys/sys/shm.h index 6d66384..a56e40d 100644 --- a/sys/sys/shm.h +++ b/sys/sys/shm.h @@ -105,12 +105,17 @@ void shmfork(struct proc *, struct proc *); #include +#ifndef _SIZE_T_DECLARED +typedef __size_t size_t; +#define _SIZE_T_DECLARED +#endif + __BEGIN_DECLS int shmsys(int, ...); -void *shmat(int, void *, int); -int shmget(key_t, int, int); +void *shmat(int, const void *, int); +int shmget(key_t, size_t, int); int shmctl(int, int, struct shmid_ds *); -int shmdt(void *); +int shmdt(const void *); __END_DECLS #endif /* !_KERNEL */ -- cgit v1.1