You need to require "sys/ipc.ph" before you can use the symbolic names of the operations.
Calls msgctl(2). If cmd is &IPC_STAT then args must be a variable.
Creates a message queue for key. Returns the message queue identifier.
Sends msg to queue id.
Receives a message from queue id into var.
Calls semctl(2). If cmd is &IPC_STAT of &GETALL then arg must be a variable.
Creates a set of semaphores for key. Returns the message semaphore identifier.
Performs semaphore operations.
Calls shmctl(2). If cmd is &IPC_STAT then arg must be a variable.
Creates shared memory. Returns the shared memory segment identifier.
Reads at most size bytes of the contents of shared memory segment id starting at offset pos into var.
Writes at most size bytes of string into the contents of shared memory segment id at offset pos.