diff options
Diffstat (limited to 'sys/sys/sem.h')
-rw-r--r-- | sys/sys/sem.h | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/sys/sys/sem.h b/sys/sys/sem.h index d8d6e92..458ffb9 100644 --- a/sys/sys/sem.h +++ b/sys/sys/sem.h @@ -27,8 +27,10 @@ typedef __time_t time_t; #define _TIME_T_DECLARED #endif -struct semid_ds { - struct ipc_perm sem_perm; /* operation permission struct */ +#if defined(COMPAT_FREEBSD4) || defined(COMPAT_FREEBSD5) || \ + defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD7) +struct semid_ds_old { + struct ipc_perm_old sem_perm; /* operation permission struct */ struct sem *sem_base; /* pointer to first semaphore in set */ unsigned short sem_nsems; /* number of sems in set */ time_t sem_otime; /* last operation time */ @@ -39,6 +41,17 @@ struct semid_ds { long sem_pad2; /* SVABI/386 says I need this here */ long sem_pad3[4]; /* SVABI/386 says I need this here */ }; +#endif + +struct semid_ds { + struct ipc_perm sem_perm; /* operation permission struct */ + struct sem *sem_base; /* pointer to first semaphore in set */ + unsigned short sem_nsems; /* number of sems in set */ + time_t sem_otime; /* last operation time */ + time_t sem_ctime; /* last change time */ + /* Times measured in secs since */ + /* 00:00:00 GMT, Jan. 1, 1970 */ +}; /* * semop's sops parameter structure @@ -50,6 +63,16 @@ struct sembuf { }; #define SEM_UNDO 010000 +#if defined(COMPAT_FREEBSD4) || defined(COMPAT_FREEBSD5) || \ + defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD7) || \ + defined(_WANT_SEMUN_OLD) +union semun_old { + int val; /* value for SETVAL */ + struct semid_ds_old *buf; /* buffer for IPC_STAT & IPC_SET */ + unsigned short *array; /* array for GETALL & SETALL */ +}; +#endif + /* * semctl's arg parameter structure */ |