add sysv ipc message queues (completely untested)
[musl] / src / ipc / msgrcv.c
diff --git a/src/ipc/msgrcv.c b/src/ipc/msgrcv.c
new file mode 100644 (file)
index 0000000..ee07176
--- /dev/null
@@ -0,0 +1,17 @@
+#include <sys/msg.h>
+#include "syscall.h"
+#include "ipc.h"
+#include "libc.h"
+
+ssize_t msgrcv(int q, void *m, size_t len, long type, int flag)
+{
+       ssize_t r;
+       CANCELPT_BEGIN;
+#ifdef __NR_msgrcv
+       r = syscall(SYS_msgrcv, q, m, len, type, flag);
+#else
+       r = syscall(SYS_ipc, IPCOP_msgrcv, q, len, flag, ((long[]){ (long)m, type }));
+#endif
+       CANCELPT_END;
+       return r;
+}