diff --git a/libc/include/sys/ipc.h b/libc/include/sys/ipc.h
index 99bc5db..1a5a4a0 100644
--- a/libc/include/sys/ipc.h
+++ b/libc/include/sys/ipc.h
@@ -33,6 +33,8 @@
 #include <sys/types.h>
 #include <linux/ipc.h>
 
+#define ipc_perm ipc64_perm
+
 __BEGIN_DECLS
 
 key_t ftok(const char* path, int id);
diff --git a/libc/include/sys/msg.h b/libc/include/sys/msg.h
index 73965f2..f746bb5 100644
--- a/libc/include/sys/msg.h
+++ b/libc/include/sys/msg.h
@@ -30,6 +30,22 @@
 #define _SYS_MSG_H_
 
 #include <sys/cdefs.h>
+#include <sys/ipc.h>
+
 #include <linux/msg.h>
 
+#define msqid_ds msqid64_ds
+
+__BEGIN_DECLS
+
+typedef __kernel_ulong_t msgqnum_t;
+typedef __kernel_ulong_t msglen_t;
+
+int msgctl(int, int, struct msqid_ds*) __INTRODUCED_IN_FUTURE;
+int msgget(key_t, int) __INTRODUCED_IN_FUTURE;
+ssize_t msgrcv(int, void*, size_t, long, int) __INTRODUCED_IN_FUTURE;
+int msgsnd(int, const void*, size_t, int) __INTRODUCED_IN_FUTURE;
+
+__END_DECLS
+
 #endif /* _SYS_MSG_H_ */
diff --git a/libc/include/sys/sem.h b/libc/include/sys/sem.h
index 753fc37..99873c1 100644
--- a/libc/include/sys/sem.h
+++ b/libc/include/sys/sem.h
@@ -30,6 +30,27 @@
 #define _SYS_SEM_H_
 
 #include <sys/cdefs.h>
+#include <sys/ipc.h>
+#include <sys/types.h>
+
+#if defined(__USE_GNU)
+#include <bits/timespec.h>
+#endif
+
 #include <linux/sem.h>
 
-#endif /* _SYS_SEM_H_ */
+#define semid_ds semid64_ds
+
+__BEGIN_DECLS
+
+int semctl(int, int, int, ...) __INTRODUCED_IN_FUTURE;
+int semget(key_t, int, int) __INTRODUCED_IN_FUTURE;
+int semop(int, struct sembuf*, size_t) __INTRODUCED_IN_FUTURE;
+
+#if defined(__USE_GNU)
+int semtimedop(int, struct sembuf*, size_t, const struct timespec*) __INTRODUCED_IN_FUTURE;
+#endif
+
+__END_DECLS
+
+#endif
diff --git a/libc/include/sys/shm.h b/libc/include/sys/shm.h
new file mode 100644
index 0000000..7836460
--- /dev/null
+++ b/libc/include/sys/shm.h
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#ifndef _SYS_SHM_H_
+#define _SYS_SHM_H_
+
+#include <sys/cdefs.h>
+#include <sys/ipc.h>
+#include <sys/types.h>
+
+#include <linux/shm.h>
+
+#define shmid_ds shmid64_ds
+#define SHMLBA 4096
+
+__BEGIN_DECLS
+
+typedef unsigned long shmatt_t;
+
+void* shmat(int, const void*, int) __INTRODUCED_IN_FUTURE;
+int shmctl(int, int, struct shmid_ds*) __INTRODUCED_IN_FUTURE;
+int shmdt(const void*) __INTRODUCED_IN_FUTURE;
+int shmget(key_t, size_t, int) __INTRODUCED_IN_FUTURE;
+
+__END_DECLS
+
+#endif
