summaryrefslogtreecommitdiffstats
path: root/sys/compat
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2010-03-19 11:04:42 +0000
committerkib <kib@FreeBSD.org>2010-03-19 11:04:42 +0000
commitb27fa06f976447590802ac0521932dc2803b4854 (patch)
treec0f64553fae4afa41d4796848ab08f701505e447 /sys/compat
parent610214ed4c4cf8e4c9ec77a65d3b4fee64af5657 (diff)
downloadFreeBSD-src-b27fa06f976447590802ac0521932dc2803b4854.zip
FreeBSD-src-b27fa06f976447590802ac0521932dc2803b4854.tar.gz
Move SysV IPC freebsd32 compat shims from freebsd32_misc.c to corresponding
sysv_{msg,sem,shm}.c files. Mark SysV IPC freebsd32 syscalls as NOSTD and add required SYSCALL_INIT_HELPER/SYSCALL32_INIT_HELPERs to provide auto register/unregister on module load. This makes COMPAT_FREEBSD32 functional with SysV IPC compiled and loaded as modules. Reviewed by: jhb MFC after: 2 weeks
Diffstat (limited to 'sys/compat')
-rw-r--r--sys/compat/freebsd32/freebsd32_misc.c530
-rw-r--r--sys/compat/freebsd32/syscalls.master39
2 files changed, 21 insertions, 548 deletions
diff --git a/sys/compat/freebsd32/freebsd32_misc.c b/sys/compat/freebsd32/freebsd32_misc.c
index 424bb94..ad83f16 100644
--- a/sys/compat/freebsd32/freebsd32_misc.c
+++ b/sys/compat/freebsd32/freebsd32_misc.c
@@ -1402,536 +1402,6 @@ freebsd4_freebsd32_fhstatfs(struct thread *td, struct freebsd4_freebsd32_fhstatf
int
-freebsd32_semsys(struct thread *td, struct freebsd32_semsys_args *uap)
-{
-
-#if defined(COMPAT_FREEBSD4) || defined(COMPAT_FREEBSD5) || \
- defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD7)
- switch (uap->which) {
- case 0:
- return (freebsd7_freebsd32_semctl(td,
- (struct freebsd7_freebsd32_semctl_args *)&uap->a2));
- default:
- return (semsys(td, (struct semsys_args *)uap));
- }
-#else
- return (nosys(td, NULL));
-#endif
-}
-
-#if defined(COMPAT_FREEBSD4) || defined(COMPAT_FREEBSD5) || \
- defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD7)
-int
-freebsd7_freebsd32_semctl(struct thread *td,
- struct freebsd7_freebsd32_semctl_args *uap)
-{
- struct semid_ds32_old dsbuf32;
- struct semid_ds dsbuf;
- union semun semun;
- union semun32 arg;
- register_t rval;
- int error;
-
- switch (uap->cmd) {
- case SEM_STAT:
- case IPC_SET:
- case IPC_STAT:
- case GETALL:
- case SETVAL:
- case SETALL:
- error = copyin(uap->arg, &arg, sizeof(arg));
- if (error)
- return (error);
- break;
- }
-
- switch (uap->cmd) {
- case SEM_STAT:
- case IPC_STAT:
- semun.buf = &dsbuf;
- break;
- case IPC_SET:
- error = copyin(PTRIN(arg.buf), &dsbuf32, sizeof(dsbuf32));
- if (error)
- return (error);
- freebsd32_ipcperm_old_in(&dsbuf32.sem_perm, &dsbuf.sem_perm);
- PTRIN_CP(dsbuf32, dsbuf, sem_base);
- CP(dsbuf32, dsbuf, sem_nsems);
- CP(dsbuf32, dsbuf, sem_otime);
- CP(dsbuf32, dsbuf, sem_ctime);
- semun.buf = &dsbuf;
- break;
- case GETALL:
- case SETALL:
- semun.array = PTRIN(arg.array);
- break;
- case SETVAL:
- semun.val = arg.val;
- break;
- }
-
- error = kern_semctl(td, uap->semid, uap->semnum, uap->cmd, &semun,
- &rval);
- if (error)
- return (error);
-
- switch (uap->cmd) {
- case SEM_STAT:
- case IPC_STAT:
- bzero(&dsbuf32, sizeof(dsbuf32));
- freebsd32_ipcperm_old_out(&dsbuf.sem_perm, &dsbuf32.sem_perm);
- PTROUT_CP(dsbuf, dsbuf32, sem_base);
- CP(dsbuf, dsbuf32, sem_nsems);
- CP(dsbuf, dsbuf32, sem_otime);
- CP(dsbuf, dsbuf32, sem_ctime);
- error = copyout(&dsbuf32, PTRIN(arg.buf), sizeof(dsbuf32));
- break;
- }
-
- if (error == 0)
- td->td_retval[0] = rval;
- return (error);
-}
-#endif
-
-int
-freebsd32_semctl(struct thread *td, struct freebsd32_semctl_args *uap)
-{
- struct semid_ds32 dsbuf32;
- struct semid_ds dsbuf;
- union semun semun;
- union semun32 arg;
- register_t rval;
- int error;
-
- switch (uap->cmd) {
- case SEM_STAT:
- case IPC_SET:
- case IPC_STAT:
- case GETALL:
- case SETVAL:
- case SETALL:
- error = copyin(uap->arg, &arg, sizeof(arg));
- if (error)
- return (error);
- break;
- }
-
- switch (uap->cmd) {
- case SEM_STAT:
- case IPC_STAT:
- semun.buf = &dsbuf;
- break;
- case IPC_SET:
- error = copyin(PTRIN(arg.buf), &dsbuf32, sizeof(dsbuf32));
- if (error)
- return (error);
- freebsd32_ipcperm_in(&dsbuf32.sem_perm, &dsbuf.sem_perm);
- PTRIN_CP(dsbuf32, dsbuf, sem_base);
- CP(dsbuf32, dsbuf, sem_nsems);
- CP(dsbuf32, dsbuf, sem_otime);
- CP(dsbuf32, dsbuf, sem_ctime);
- semun.buf = &dsbuf;
- break;
- case GETALL:
- case SETALL:
- semun.array = PTRIN(arg.array);
- break;
- case SETVAL:
- semun.val = arg.val;
- break;
- }
-
- error = kern_semctl(td, uap->semid, uap->semnum, uap->cmd, &semun,
- &rval);
- if (error)
- return (error);
-
- switch (uap->cmd) {
- case SEM_STAT:
- case IPC_STAT:
- bzero(&dsbuf32, sizeof(dsbuf32));
- freebsd32_ipcperm_out(&dsbuf.sem_perm, &dsbuf32.sem_perm);
- PTROUT_CP(dsbuf, dsbuf32, sem_base);
- CP(dsbuf, dsbuf32, sem_nsems);
- CP(dsbuf, dsbuf32, sem_otime);
- CP(dsbuf, dsbuf32, sem_ctime);
- error = copyout(&dsbuf32, PTRIN(arg.buf), sizeof(dsbuf32));
- break;
- }
-
- if (error == 0)
- td->td_retval[0] = rval;
- return (error);
-}
-
-int
-freebsd32_msgsys(struct thread *td, struct freebsd32_msgsys_args *uap)
-{
-
-#if defined(COMPAT_FREEBSD4) || defined(COMPAT_FREEBSD5) || \
- defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD7)
- switch (uap->which) {
- case 0:
- return (freebsd7_freebsd32_msgctl(td,
- (struct freebsd7_freebsd32_msgctl_args *)&uap->a2));
- case 2:
- return (freebsd32_msgsnd(td,
- (struct freebsd32_msgsnd_args *)&uap->a2));
- case 3:
- return (freebsd32_msgrcv(td,
- (struct freebsd32_msgrcv_args *)&uap->a2));
- default:
- return (msgsys(td, (struct msgsys_args *)uap));
- }
-#else
- return (nosys(td, NULL));
-#endif
-}
-
-#if defined(COMPAT_FREEBSD4) || defined(COMPAT_FREEBSD5) || \
- defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD7)
-int
-freebsd7_freebsd32_msgctl(struct thread *td,
- struct freebsd7_freebsd32_msgctl_args *uap)
-{
- struct msqid_ds msqbuf;
- struct msqid_ds32_old msqbuf32;
- int error;
-
- if (uap->cmd == IPC_SET) {
- error = copyin(uap->buf, &msqbuf32, sizeof(msqbuf32));
- if (error)
- return (error);
- freebsd32_ipcperm_old_in(&msqbuf32.msg_perm, &msqbuf.msg_perm);
- PTRIN_CP(msqbuf32, msqbuf, msg_first);
- PTRIN_CP(msqbuf32, msqbuf, msg_last);
- CP(msqbuf32, msqbuf, msg_cbytes);
- CP(msqbuf32, msqbuf, msg_qnum);
- CP(msqbuf32, msqbuf, msg_qbytes);
- CP(msqbuf32, msqbuf, msg_lspid);
- CP(msqbuf32, msqbuf, msg_lrpid);
- CP(msqbuf32, msqbuf, msg_stime);
- CP(msqbuf32, msqbuf, msg_rtime);
- CP(msqbuf32, msqbuf, msg_ctime);
- }
- error = kern_msgctl(td, uap->msqid, uap->cmd, &msqbuf);
- if (error)
- return (error);
- if (uap->cmd == IPC_STAT) {
- bzero(&msqbuf32, sizeof(msqbuf32));
- freebsd32_ipcperm_old_out(&msqbuf.msg_perm, &msqbuf32.msg_perm);
- PTROUT_CP(msqbuf, msqbuf32, msg_first);
- PTROUT_CP(msqbuf, msqbuf32, msg_last);
- CP(msqbuf, msqbuf32, msg_cbytes);
- CP(msqbuf, msqbuf32, msg_qnum);
- CP(msqbuf, msqbuf32, msg_qbytes);
- CP(msqbuf, msqbuf32, msg_lspid);
- CP(msqbuf, msqbuf32, msg_lrpid);
- CP(msqbuf, msqbuf32, msg_stime);
- CP(msqbuf, msqbuf32, msg_rtime);
- CP(msqbuf, msqbuf32, msg_ctime);
- error = copyout(&msqbuf32, uap->buf, sizeof(struct msqid_ds32));
- }
- return (error);
-}
-#endif
-
-int
-freebsd32_msgctl(struct thread *td, struct freebsd32_msgctl_args *uap)
-{
- struct msqid_ds msqbuf;
- struct msqid_ds32 msqbuf32;
- int error;
-
- if (uap->cmd == IPC_SET) {
- error = copyin(uap->buf, &msqbuf32, sizeof(msqbuf32));
- if (error)
- return (error);
- freebsd32_ipcperm_in(&msqbuf32.msg_perm, &msqbuf.msg_perm);
- PTRIN_CP(msqbuf32, msqbuf, msg_first);
- PTRIN_CP(msqbuf32, msqbuf, msg_last);
- CP(msqbuf32, msqbuf, msg_cbytes);
- CP(msqbuf32, msqbuf, msg_qnum);
- CP(msqbuf32, msqbuf, msg_qbytes);
- CP(msqbuf32, msqbuf, msg_lspid);
- CP(msqbuf32, msqbuf, msg_lrpid);
- CP(msqbuf32, msqbuf, msg_stime);
- CP(msqbuf32, msqbuf, msg_rtime);
- CP(msqbuf32, msqbuf, msg_ctime);
- }
- error = kern_msgctl(td, uap->msqid, uap->cmd, &msqbuf);
- if (error)
- return (error);
- if (uap->cmd == IPC_STAT) {
- freebsd32_ipcperm_out(&msqbuf.msg_perm, &msqbuf32.msg_perm);
- PTROUT_CP(msqbuf, msqbuf32, msg_first);
- PTROUT_CP(msqbuf, msqbuf32, msg_last);
- CP(msqbuf, msqbuf32, msg_cbytes);
- CP(msqbuf, msqbuf32, msg_qnum);
- CP(msqbuf, msqbuf32, msg_qbytes);
- CP(msqbuf, msqbuf32, msg_lspid);
- CP(msqbuf, msqbuf32, msg_lrpid);
- CP(msqbuf, msqbuf32, msg_stime);
- CP(msqbuf, msqbuf32, msg_rtime);
- CP(msqbuf, msqbuf32, msg_ctime);
- error = copyout(&msqbuf32, uap->buf, sizeof(struct msqid_ds32));
- }
- return (error);
-}
-
-int
-freebsd32_msgsnd(struct thread *td, struct freebsd32_msgsnd_args *uap)
-{
- const void *msgp;
- long mtype;
- int32_t mtype32;
- int error;
-
- msgp = PTRIN(uap->msgp);
- if ((error = copyin(msgp, &mtype32, sizeof(mtype32))) != 0)
- return (error);
- mtype = mtype32;
- return (kern_msgsnd(td, uap->msqid,
- (const char *)msgp + sizeof(mtype32),
- uap->msgsz, uap->msgflg, mtype));
-}
-
-int
-freebsd32_msgrcv(struct thread *td, struct freebsd32_msgrcv_args *uap)
-{
- void *msgp;
- long mtype;
- int32_t mtype32;
- int error;
-
- msgp = PTRIN(uap->msgp);
- if ((error = kern_msgrcv(td, uap->msqid,
- (char *)msgp + sizeof(mtype32), uap->msgsz,
- uap->msgtyp, uap->msgflg, &mtype)) != 0)
- return (error);
- mtype32 = (int32_t)mtype;
- return (copyout(&mtype32, msgp, sizeof(mtype32)));
-}
-
-int
-freebsd32_shmsys(struct thread *td, struct freebsd32_shmsys_args *uap)
-{
-
-#if defined(COMPAT_FREEBSD4) || defined(COMPAT_FREEBSD5) || \
- defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD7)
- switch (uap->which) {
- case 0: { /* shmat */
- struct shmat_args ap;
-
- ap.shmid = uap->a2;
- ap.shmaddr = PTRIN(uap->a3);
- ap.shmflg = uap->a4;
- return (sysent[SYS_shmat].sy_call(td, &ap));
- }
- case 2: { /* shmdt */
- struct shmdt_args ap;
-
- ap.shmaddr = PTRIN(uap->a2);
- return (sysent[SYS_shmdt].sy_call(td, &ap));
- }
- case 3: { /* shmget */
- struct shmget_args ap;
-
- ap.key = uap->a2;
- ap.size = uap->a3;
- ap.shmflg = uap->a4;
- return (sysent[SYS_shmget].sy_call(td, &ap));
- }
- case 4: { /* shmctl */
- struct freebsd7_freebsd32_shmctl_args ap;
-
- ap.shmid = uap->a2;
- ap.cmd = uap->a3;
- ap.buf = PTRIN(uap->a4);
- return (freebsd7_freebsd32_shmctl(td, &ap));
- }
- case 1: /* oshmctl */
- default:
- return (EINVAL);
- }
-#else
- return (nosys(td, NULL));
-#endif
-}
-
-#if defined(COMPAT_FREEBSD4) || defined(COMPAT_FREEBSD5) || \
- defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD7)
-int
-freebsd7_freebsd32_shmctl(struct thread *td,
- struct freebsd7_freebsd32_shmctl_args *uap)
-{
- int error = 0;
- union {
- struct shmid_ds shmid_ds;
- struct shm_info shm_info;
- struct shminfo shminfo;
- } u;
- union {
- struct shmid_ds32_old shmid_ds32;
- struct shm_info32 shm_info32;
- struct shminfo32 shminfo32;
- } u32;
- size_t sz;
-
- if (uap->cmd == IPC_SET) {
- if ((error = copyin(uap->buf, &u32.shmid_ds32,
- sizeof(u32.shmid_ds32))))
- goto done;
- freebsd32_ipcperm_old_in(&u32.shmid_ds32.shm_perm,
- &u.shmid_ds.shm_perm);
- CP(u32.shmid_ds32, u.shmid_ds, shm_segsz);
- CP(u32.shmid_ds32, u.shmid_ds, shm_lpid);
- CP(u32.shmid_ds32, u.shmid_ds, shm_cpid);
- CP(u32.shmid_ds32, u.shmid_ds, shm_nattch);
- CP(u32.shmid_ds32, u.shmid_ds, shm_atime);
- CP(u32.shmid_ds32, u.shmid_ds, shm_dtime);
- CP(u32.shmid_ds32, u.shmid_ds, shm_ctime);
- }
-
- error = kern_shmctl(td, uap->shmid, uap->cmd, (void *)&u, &sz);
- if (error)
- goto done;
-
- /* Cases in which we need to copyout */
- switch (uap->cmd) {
- case IPC_INFO:
- CP(u.shminfo, u32.shminfo32, shmmax);
- CP(u.shminfo, u32.shminfo32, shmmin);
- CP(u.shminfo, u32.shminfo32, shmmni);
- CP(u.shminfo, u32.shminfo32, shmseg);
- CP(u.shminfo, u32.shminfo32, shmall);
- error = copyout(&u32.shminfo32, uap->buf,
- sizeof(u32.shminfo32));
- break;
- case SHM_INFO:
- CP(u.shm_info, u32.shm_info32, used_ids);
- CP(u.shm_info, u32.shm_info32, shm_rss);
- CP(u.shm_info, u32.shm_info32, shm_tot);
- CP(u.shm_info, u32.shm_info32, shm_swp);
- CP(u.shm_info, u32.shm_info32, swap_attempts);
- CP(u.shm_info, u32.shm_info32, swap_successes);
- error = copyout(&u32.shm_info32, uap->buf,
- sizeof(u32.shm_info32));
- break;
- case SHM_STAT:
- case IPC_STAT:
- freebsd32_ipcperm_old_out(&u.shmid_ds.shm_perm,
- &u32.shmid_ds32.shm_perm);
- if (u.shmid_ds.shm_segsz > INT32_MAX)
- u32.shmid_ds32.shm_segsz = INT32_MAX;
- else
- CP(u.shmid_ds, u32.shmid_ds32, shm_segsz);
- CP(u.shmid_ds, u32.shmid_ds32, shm_lpid);
- CP(u.shmid_ds, u32.shmid_ds32, shm_cpid);
- CP(u.shmid_ds, u32.shmid_ds32, shm_nattch);
- CP(u.shmid_ds, u32.shmid_ds32, shm_atime);
- CP(u.shmid_ds, u32.shmid_ds32, shm_dtime);
- CP(u.shmid_ds, u32.shmid_ds32, shm_ctime);
- u32.shmid_ds32.shm_internal = 0;
- error = copyout(&u32.shmid_ds32, uap->buf,
- sizeof(u32.shmid_ds32));
- break;
- }
-
-done:
- if (error) {
- /* Invalidate the return value */
- td->td_retval[0] = -1;
- }
- return (error);
-}
-#endif
-
-int
-freebsd32_shmctl(struct thread *td, struct freebsd32_shmctl_args *uap)
-{
- int error = 0;
- union {
- struct shmid_ds shmid_ds;
- struct shm_info shm_info;
- struct shminfo shminfo;
- } u;
- union {
- struct shmid_ds32 shmid_ds32;
- struct shm_info32 shm_info32;
- struct shminfo32 shminfo32;
- } u32;
- size_t sz;
-
- if (uap->cmd == IPC_SET) {
- if ((error = copyin(uap->buf, &u32.shmid_ds32,
- sizeof(u32.shmid_ds32))))
- goto done;
- freebsd32_ipcperm_in(&u32.shmid_ds32.shm_perm,
- &u.shmid_ds.shm_perm);
- CP(u32.shmid_ds32, u.shmid_ds, shm_segsz);
- CP(u32.shmid_ds32, u.shmid_ds, shm_lpid);
- CP(u32.shmid_ds32, u.shmid_ds, shm_cpid);
- CP(u32.shmid_ds32, u.shmid_ds, shm_nattch);
- CP(u32.shmid_ds32, u.shmid_ds, shm_atime);
- CP(u32.shmid_ds32, u.shmid_ds, shm_dtime);
- CP(u32.shmid_ds32, u.shmid_ds, shm_ctime);
- }
-
- error = kern_shmctl(td, uap->shmid, uap->cmd, (void *)&u, &sz);
- if (error)
- goto done;
-
- /* Cases in which we need to copyout */
- switch (uap->cmd) {
- case IPC_INFO:
- CP(u.shminfo, u32.shminfo32, shmmax);
- CP(u.shminfo, u32.shminfo32, shmmin);
- CP(u.shminfo, u32.shminfo32, shmmni);
- CP(u.shminfo, u32.shminfo32, shmseg);
- CP(u.shminfo, u32.shminfo32, shmall);
- error = copyout(&u32.shminfo32, uap->buf,
- sizeof(u32.shminfo32));
- break;
- case SHM_INFO:
- CP(u.shm_info, u32.shm_info32, used_ids);
- CP(u.shm_info, u32.shm_info32, shm_rss);
- CP(u.shm_info, u32.shm_info32, shm_tot);
- CP(u.shm_info, u32.shm_info32, shm_swp);
- CP(u.shm_info, u32.shm_info32, swap_attempts);
- CP(u.shm_info, u32.shm_info32, swap_successes);
- error = copyout(&u32.shm_info32, uap->buf,
- sizeof(u32.shm_info32));
- break;
- case SHM_STAT:
- case IPC_STAT:
- freebsd32_ipcperm_out(&u.shmid_ds.shm_perm,
- &u32.shmid_ds32.shm_perm);
- if (u.shmid_ds.shm_segsz > INT32_MAX)
- u32.shmid_ds32.shm_segsz = INT32_MAX;
- else
- CP(u.shmid_ds, u32.shmid_ds32, shm_segsz);
- CP(u.shmid_ds, u32.shmid_ds32, shm_lpid);
- CP(u.shmid_ds, u32.shmid_ds32, shm_cpid);
- CP(u.shmid_ds, u32.shmid_ds32, shm_nattch);
- CP(u.shmid_ds, u32.shmid_ds32, shm_atime);
- CP(u.shmid_ds, u32.shmid_ds32, shm_dtime);
- CP(u.shmid_ds, u32.shmid_ds32, shm_ctime);
- error = copyout(&u32.shmid_ds32, uap->buf,
- sizeof(u32.shmid_ds32));
- break;
- }
-
-done:
- if (error) {
- /* Invalidate the return value */
- td->td_retval[0] = -1;
- }
- return (error);
-}
-
-int
freebsd32_pread(struct thread *td, struct freebsd32_pread_args *uap)
{
struct pread_args ap;
diff --git a/sys/compat/freebsd32/syscalls.master b/sys/compat/freebsd32/syscalls.master
index 4817f7b..0377596 100644
--- a/sys/compat/freebsd32/syscalls.master
+++ b/sys/compat/freebsd32/syscalls.master
@@ -309,11 +309,11 @@
struct rtprio *rtp); }
167 AUE_NULL UNIMPL nosys
168 AUE_NULL UNIMPL nosys
-169 AUE_SEMSYS STD { int freebsd32_semsys(int which, int a2, \
+169 AUE_SEMSYS NOSTD { int freebsd32_semsys(int which, int a2, \
int a3, int a4, int a5); }
-170 AUE_MSGSYS STD { int freebsd32_msgsys(int which, int a2, \
+170 AUE_MSGSYS NOSTD { int freebsd32_msgsys(int which, int a2, \
int a3, int a4, int a5, int a6); }
-171 AUE_SHMSYS STD { int freebsd32_shmsys(uint32_t which, uint32_t a2, \
+171 AUE_SHMSYS NOSTD { int freebsd32_shmsys(uint32_t which, uint32_t a2, \
uint32_t a3, uint32_t a4); }
172 AUE_NULL UNIMPL nosys
173 AUE_PREAD COMPAT6 { ssize_t freebsd32_pread(int fd, void *buf, \
@@ -401,26 +401,29 @@
; The following were introduced with NetBSD/4.4Lite-2
; They are initialized by their respective modules/sysinits
; XXX PROBLEM!!
-220 AUE_SEMCTL COMPAT7 { int freebsd32_semctl(int semid, int semnum, \
+220 AUE_SEMCTL COMPAT7|NOSTD { int freebsd32_semctl( \
+ int semid, int semnum, \
int cmd, union semun32 *arg); }
-221 AUE_SEMGET NOPROTO { int semget(key_t key, int nsems, \
+221 AUE_SEMGET NOSTD|NOPROTO { int semget(key_t key, int nsems, \
int semflg); }
-222 AUE_SEMOP NOPROTO { int semop(int semid, struct sembuf *sops, \
- u_int nsops); }
+222 AUE_SEMOP NOSTD|NOPROTO { int semop(int semid, \
+ struct sembuf *sops, u_int nsops); }
223 AUE_NULL UNIMPL semconfig
-224 AUE_MSGCTL COMPAT7 { int freebsd32_msgctl(int msqid, int cmd, \
+224 AUE_MSGCTL COMPAT7|NOSTD { int freebsd32_msgctl( \
+ int msqid, int cmd, \
struct msqid_ds32_old *buf); }
-225 AUE_MSGGET NOPROTO { int msgget(key_t key, int msgflg); }
-226 AUE_MSGSND STD { int freebsd32_msgsnd(int msqid, void *msgp, \
+225 AUE_MSGGET NOSTD|NOPROTO { int msgget(key_t key, int msgflg); }
+226 AUE_MSGSND NOSTD { int freebsd32_msgsnd(int msqid, void *msgp, \
size_t msgsz, int msgflg); }
-227 AUE_MSGRCV STD { int freebsd32_msgrcv(int msqid, void *msgp, \
+227 AUE_MSGRCV NOSTD { int freebsd32_msgrcv(int msqid, void *msgp, \
size_t msgsz, long msgtyp, int msgflg); }
-228 AUE_SHMAT NOPROTO { int shmat(int shmid, void *shmaddr, \
+228 AUE_SHMAT NOSTD|NOPROTO { int shmat(int shmid, void *shmaddr, \
int shmflg); }
-229 AUE_SHMCTL COMPAT7 { int freebsd32_shmctl(int shmid, int cmd, \
+229 AUE_SHMCTL COMPAT7|NOSTD { int freebsd32_shmctl( \
+ int shmid, int cmd, \
struct shmid_ds32_old *buf); }
-230 AUE_SHMDT NOPROTO { int shmdt(void *shmaddr); }
-231 AUE_SHMGET NOPROTO { int shmget(key_t key, int size, \
+230 AUE_SHMDT NOSTD|NOPROTO { int shmdt(void *shmaddr); }
+231 AUE_SHMGET NOSTD|NOPROTO { int shmget(key_t key, int size, \
int shmflg); }
;
232 AUE_NULL STD { int freebsd32_clock_gettime(clockid_t clock_id, \
@@ -925,11 +928,11 @@
unsigned int iovcnt, int flags); }
508 AUE_NULL NOPROTO { int jail_remove(int jid); }
509 AUE_CLOSEFROM NOPROTO { int closefrom(int lowfd); }
-510 AUE_SEMCTL STD { int freebsd32_semctl(int semid, int semnum, \
+510 AUE_SEMCTL NOSTD { int freebsd32_semctl(int semid, int semnum, \
int cmd, union semun32 *arg); }
-511 AUE_MSGCTL STD { int freebsd32_msgctl(int msqid, int cmd, \
+511 AUE_MSGCTL NOSTD { int freebsd32_msgctl(int msqid, int cmd, \
struct msqid_ds32 *buf); }
-512 AUE_SHMCTL STD { int freebsd32_shmctl(int shmid, int cmd, \
+512 AUE_SHMCTL NOSTD { int freebsd32_shmctl(int shmid, int cmd, \
struct shmid_ds32 *buf); }
513 AUE_LPATHCONF NOPROTO { int lpathconf(char *path, int name); }
514 AUE_CAP_NEW UNIMPL cap_new
OpenPOWER on IntegriCloud