bsd-user: Add System V message queue syscalls
Connect the System V IPC message queue syscalls: - msgctl(2): Message queue control - msgget(2): Get message queue identifier - msgsnd(2): Send message to queue - msgrcv(2): Receive message from queue Signed-off-by: Stacey Son <sson@FreeBSD.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Warner Losh <imp@bsdimp.com>
Stacey Son committed
Feb 5, 2026 at 09:33 UTC
e3d86fb18f2dae20f9696d103f1831f616de8164
1 file changed
+20
bsd-user/freebsd/os-syscall.c
+20
@@ -894,6 +894,26 @@ static abi_long freebsd_syscall(void *cpu_env, int num, abi_long arg1,
894
ret = do_bsd___semctl(arg1, arg2, arg3, arg4);
895
break;
896
}
897
+
898
+ /*
899
+ * System V Messages
900
+ */
901
+ case TARGET_FREEBSD_NR_msgctl: /* msgctl(2) */
902
+ ret = do_bsd_msgctl(arg1, arg2, arg3);
903
+ break;
904
+
905
+ case TARGET_FREEBSD_NR_msgget: /* msgget(2) */
906
+ ret = do_bsd_msgget(arg1, arg2);
907
+ break;
908
+
909
+ case TARGET_FREEBSD_NR_msgsnd: /* msgsnd(2) */
910
+ ret = do_bsd_msgsnd(arg1, arg2, arg3, arg4);
911
+ break;
912
+
913
+ case TARGET_FREEBSD_NR_msgrcv: /* msgrcv(2) */
914
+ ret = do_bsd_msgrcv(arg1, arg2, arg3, arg4, arg5);
915
+ break;
916
+
917
case TARGET_FREEBSD_NR_freebsd11_vadvise:
918
ret = do_bsd_vadvise();
919
break;