summaryrefslogtreecommitdiffstats
path: root/sys/sys/sem.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/sys/sem.h')
-rw-r--r--sys/sys/sem.h27
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
*/
OpenPOWER on IntegriCloud