IPC::SysV(3p)

IPC::SysV3p

System v ipc constants and system calls

Usage

  use IPC::SysV qw(IPC_STAT IPC_PRIVATE);

Overview

"IPC::SysV" defines and conditionally exports all the constants defined in your system include files which are needed by the SysV IPC calls. Common ones include

  IPC_CREAT IPC_EXCL IPC_NOWAIT IPC_PRIVATE IPC_RMID IPC_SET IPC_STAT
  GETVAL SETVAL GETPID GETNCNT GETZCNT GETALL SETALL
  SEM_A SEM_R SEM_UNDO
  SHM_RDONLY SHM_RND SHMLBA

and auxiliary ones

  S_IRUSR S_IWUSR S_IRWXU
  S_IRGRP S_IWGRP S_IRWXG
  S_IROTH S_IWOTH S_IRWXO

but your system might have more.

ftok( PATH )
ftok( PATH, ID )

Return a key based on PATH and ID, which can be used as a key for "msgget", "semget" and "shmget". See ftok(3).

If ID is omitted, it defaults to 1. If a single character is given for ID, the numeric value of that character is used.

shmat( ID, ADDR, FLAG )

Attach the shared memory segment identified by ID to the address space of the calling process. See shmat(2).

ADDR should be "undef" unless you really know what you're doing.

shmdt( ADDR )

Detach the shared memory segment located at the address specified by ADDR from the address space of the calling process. See shmdt(2).

memread( ADDR, VAR, POS, SIZE )

Reads SIZE bytes from a memory segment at ADDR starting at position POS. VAR must be a variable that will hold the data read. Returns true if successful, or false if there is an error. memread() taints the variable.

memwrite( ADDR, STRING, POS, SIZE )

Writes SIZE bytes from STRING to a memory segment at ADDR starting at position POS. If STRING is too long, only SIZE bytes are used; if STRING is too short, nulls are written to fill out SIZE bytes. Returns true if successful, or false if there is an error.

Releases

32 releases since OpenBSD 5.0; the text changed 20 times.

  1. 5.0–5.3
  2. 5.4–5.5
  3. 5.6
  4. 5.7
  5. 5.8–5.9
  6. 6.0
  7. 6.1
  8. 6.2
  9. 6.3–6.4
  10. 6.5
  11. 6.6
  12. 6.7
  13. 6.8
  14. 6.9–7.2
  15. 7.3
  16. 7.4
  17. 7.5
  18. 7.6
  19. 7.7–7.8
  20. 7.9
  21. 8.0

Authors

Graham Barr <[email protected]>, Jarkko Hietaniemi <[email protected]>, Marcus Holland-Moritz <[email protected]>

From man 8.0-current-20261101 in OpenBSD 8.0-current (2026-11-01). Parsed by carta from the page's man source.