Browse Source

bsd-user: Add target_semid_ds and target_msqid_ds structures

Add the target ABI definitions for System V semaphore and message queue
data structures, needed for semctl() and msgctl() syscall emulation.

Signed-off-by: Stacey Son <sson@FreeBSD.org>
Signed-off-by: Mikael Urankar <mikael.urankar@gmail.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Warner Losh <imp@bsdimp.com>
master
Warner Losh 6 months ago
parent
commit
e17d8c0044
  1. 36
      bsd-user/syscall_defs.h

36
bsd-user/syscall_defs.h

@ -90,6 +90,42 @@ struct bsd_shm_regions {
abi_long size;
};
/*
* sys/sem.h
*/
struct target_semid_ds {
struct target_ipc_perm sem_perm; /* operation permission struct */
abi_ptr sem_base; /* pointer to first semaphore in set */
abi_ushort sem_nsems; /* number of sems in set */
target_time_t sem_otime; /* last operation time */
target_time_t sem_ctime; /* times measured in secs */
};
/*
* sys/msg.h
*/
struct target_msqid_ds {
struct target_ipc_perm msg_perm; /* msg queue permission bits */
abi_ptr msg_first; /* first message in the queue */
abi_ptr msg_last; /* last message in the queue */
abi_ulong msg_cbytes; /* # of bytes in use on the queue */
abi_ulong msg_qnum; /* number of msgs in the queue */
abi_ulong msg_qbytes; /* max # of bytes on the queue */
int32_t msg_lspid; /* pid of last msgsnd() */
int32_t msg_lrpid; /* pid of last msgrcv() */
target_time_t msg_stime; /* time of last msgsnd() */
target_time_t msg_rtime; /* time of last msgrcv() */
target_time_t msg_ctime; /* time of last msgctl() */
};
/*
* sys/msgbuf.h
*/
struct target_msgbuf {
abi_long mtype; /* message type */
char mtext[1]; /* body of message */
};
/*
* sys/mman.h
*/

Loading…
Cancel
Save