Interprocess Communication API

System calls for communication between processes including pipes, signals, and shared memory.

API entry from apis.yml

apis.yml Raw ↑
name: Interprocess Communication API
description: System calls for communication between processes including pipes, signals, and shared memory.
image: https://kinlane-productions.s3.amazonaws.com/apis-json/apis-json-logo.jpg
humanURL: https://man7.org/linux/man-pages/man7/pipe.7.html
baseURL: system://unix/ipc
tags:
- Ipc
- Pipes
- Shared-Memory
- Signals
- Sockets
properties:
- type: Documentation
  url: https://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html
- type: CodeExamples
  url: https://beej.us/guide/bgipc/
- type: GettingStarted
  url: https://beej.us/guide/bgnet/html/
- type: APIReference
  url: https://man7.org/linux/man-pages/man7/pipe.7.html
operations:
- name: pipe
  description: Create a pipe for interprocess communication
  parameters:
  - pipefd[2]
  returns: 0 on success, -1 on error
- name: mkfifo
  description: Create a named pipe (FIFO special file)
  parameters:
  - pathname
  - mode
  returns: 0 on success, -1 on error
- name: signal
  description: Install signal handler
  parameters:
  - signum
  - handler
  returns: previous signal handler
- name: sigaction
  description: Examine and change signal action
  parameters:
  - signum
  - act
  - oldact
  returns: 0 on success, -1 on error
- name: sigprocmask
  description: Examine and change blocked signals
  parameters:
  - how
  - set
  - oldset
  returns: 0 on success, -1 on error
- name: sigpending
  description: Examine pending signals
  parameters:
  - set
  returns: 0 on success, -1 on error
- name: sigsuspend
  description: Wait for a signal replacing the signal mask
  parameters:
  - mask
  returns: -1 with errno set to EINTR
- name: socket
  description: Create an endpoint for communication
  parameters:
  - domain
  - type
  - protocol
  returns: file descriptor
- name: bind
  description: Bind a name to a socket
  parameters:
  - sockfd
  - addr
  - addrlen
  returns: 0 on success, -1 on error
- name: listen
  description: Listen for connections on a socket
  parameters:
  - sockfd
  - backlog
  returns: 0 on success, -1 on error
- name: accept
  description: Accept a connection on a socket
  parameters:
  - sockfd
  - addr
  - addrlen
  returns: file descriptor
- name: connect
  description: Initiate a connection on a socket
  parameters:
  - sockfd
  - addr
  - addrlen
  returns: 0 on success, -1 on error
- name: send
  description: Send a message on a socket
  parameters:
  - sockfd
  - buf
  - len
  - flags
  returns: number of bytes sent
- name: recv
  description: Receive a message from a socket
  parameters:
  - sockfd
  - buf
  - len
  - flags
  returns: number of bytes received
- name: sendto
  description: Send a message on a socket to a specified address
  parameters:
  - sockfd
  - buf
  - len
  - flags
  - dest_addr
  - addrlen
  returns: number of bytes sent
- name: recvfrom
  description: Receive a message from a socket with sender address
  parameters:
  - sockfd
  - buf
  - len
  - flags
  - src_addr
  - addrlen
  returns: number of bytes received
- name: shutdown
  description: Shut down part of a full-duplex connection
  parameters:
  - sockfd
  - how
  returns: 0 on success, -1 on error
- name: setsockopt
  description: Set options on a socket
  parameters:
  - sockfd
  - level
  - optname
  - optval
  - optlen
  returns: 0 on success, -1 on error
- name: getsockopt
  description: Get options on a socket
  parameters:
  - sockfd
  - level
  - optname
  - optval
  - optlen
  returns: 0 on success, -1 on error
- name: socketpair
  description: Create a pair of connected sockets
  parameters:
  - domain
  - type
  - protocol
  - sv[2]
  returns: 0 on success, -1 on error
- name: shmget
  description: Allocate shared memory segment
  parameters:
  - key
  - size
  - shmflg
  returns: shared memory identifier
- name: shmat
  description: Attach shared memory segment
  parameters:
  - shmid
  - shmaddr
  - shmflg
  returns: pointer to shared memory
- name: shmdt
  description: Detach shared memory segment
  parameters:
  - shmaddr
  returns: 0 on success, -1 on error
- name: shmctl
  description: Shared memory control operations
  parameters:
  - shmid
  - cmd
  - buf
  returns: depends on cmd, -1 on error
- name: msgget
  description: Get a System V message queue identifier
  parameters:
  - key
  - msgflg
  returns: message queue identifier
- name: msgsnd
  description: Send a message to a System V message queue
  parameters:
  - msqid
  - msgp
  - msgsz
  - msgflg
  returns: 0 on success, -1 on error
- name: msgrcv
  description: Receive a message from a System V message queue
  parameters:
  - msqid
  - msgp
  - msgsz
  - msgtyp
  - msgflg
  returns: number of bytes copied into msgp
- name: msgctl
  description: System V message queue control operations
  parameters:
  - msqid
  - cmd
  - buf
  returns: depends on cmd, -1 on error