diff options
author | Rich Felker <dalias@aerifal.cx> | 2024-02-29 11:02:29 -0500 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2024-02-29 16:36:55 -0500 |
commit | 3ea3fcf78a5532e118856846df8adbf3f60ef716 (patch) | |
tree | afb3892aac50017bea2f71fbd8067a39886a8447 /arch/riscv32/bits/msg.h | |
parent | b28c44de8c3131b45588f61569b1711c987ba1c3 (diff) | |
download | musl-3ea3fcf78a5532e118856846df8adbf3f60ef716.tar.gz |
riscv32: add sysvipc msg/sem/shm bits
despite riscv32 being natively time64, the IPC_TIME64 bit (0x100) is
set in IPC_STAT and derived command macros, differentiating their
values from the raw command values used to interface with the kernel.
this reflects that the kernel ipc structure types are not natively
time64, but have broken-down hi/lo fields that cannot be used in-place
and require translation, and that the userspace struct types differ
from the kernel types (relevant to things like strace).
Diffstat (limited to 'arch/riscv32/bits/msg.h')
-rw-r--r-- | arch/riscv32/bits/msg.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/arch/riscv32/bits/msg.h b/arch/riscv32/bits/msg.h new file mode 100644 index 00000000..7bbbb2bf --- /dev/null +++ b/arch/riscv32/bits/msg.h @@ -0,0 +1,18 @@ +struct msqid_ds { + struct ipc_perm msg_perm; + unsigned long __msg_stime_lo; + unsigned long __msg_stime_hi; + unsigned long __msg_rtime_lo; + unsigned long __msg_rtime_hi; + unsigned long __msg_ctime_lo; + unsigned long __msg_ctime_hi; + unsigned long msg_cbytes; + msgqnum_t msg_qnum; + msglen_t msg_qbytes; + pid_t msg_lspid; + pid_t msg_lrpid; + unsigned long __unused[2]; + time_t msg_stime; + time_t msg_rtime; + time_t msg_ctime; +}; |