Flesh out <sys/msg.h>, <sys/sem.h>, <sys/shm.h>.
Also fix <sys/ipc.h>.
Not useful except to systems/bringup folks for testing. Trivial tests
added, and double-checked under strace to see that things look right.
x86 -- which works differently to everything else -- tested on the host.
Bug: http://b/27952303
Change-Id: I328534e994ae9e90755f545478fba03038c0bb94
diff --git a/libc/kernel/tools/defaults.py b/libc/kernel/tools/defaults.py
index 340af13..87adcd0 100644
--- a/libc/kernel/tools/defaults.py
+++ b/libc/kernel/tools/defaults.py
@@ -59,6 +59,11 @@
"ARG_MAX": "_KERNEL_ARG_MAX",
# The kernel usage of __unused for unused struct fields conflicts with the macro defined in <sys/cdefs.h>.
"__unused": "__linux_unused",
+ # The non-64 stuff is legacy; msqid64_ds/ipc64_perm is what userspace wants.
+ "msqid_ds": "__kernel_legacy_msqid_ds",
+ "semid_ds": "__kernel_legacy_semid_ds",
+ "shmid_ds": "__kernel_legacy_shmid_ds",
+ "ipc_perm": "__kernel_legacy_ipc_perm",
# The kernel's _NSIG/NSIG are one less than the userspace value, so we need to move them aside.
"_NSIG": "_KERNEL__NSIG",
"NSIG": "_KERNEL_NSIG",