ipc(2) System Calls Manual ipc(2)

ipc - System V IPC system calls

Standard C library (libc, -lc)

#include <linux/ipc.h>        /* Definition of needed constants */
#include <sys/syscall.h>      /* Definition of SYS_* constants */
#include <unistd.h>
int syscall(SYS_ipc, unsigned int call, int first,
            unsigned long second, unsigned long third, void *ptr,
            long fifth);

Note: glibc provides no wrapper for ipc(), necessitating the use of syscall(2).

ipc() is a common kernel entry point for the System V IPC calls for messages, semaphores, and shared memory. call determines which IPC function to invoke; the other arguments are passed through to the appropriate call.

User-space programs should call the appropriate functions by their usual names. Only standard library implementors and kernel hackers need to know about ipc().

ipc() is Linux-specific, and should not be used in programs intended to be portable.

On some architectures—for example x86-64 and ARM—there is no ipc() system call; instead, msgctl(2), semctl(2), shmctl(2), and so on really are implemented as separate system calls.

msgctl(2), msgget(2), msgrcv(2), msgsnd(2), semctl(2), semget(2), semop(2), semtimedop(2), shmat(2), shmctl(2), shmdt(2), shmget(2), sysvipc(7)

2022-10-30 Linux man-pages 6.02