| SHMGET(2) | System Calls Manual | SHMGET(2) | 
shmget —
#include <sys/shm.h>
int
  
  shmget(key_t
    key, size_t size,
    int shmflg);
shmget() returns the shared memory identifier associated
  with the key key.
A shared memory segment is created if either
    key is equal to IPC_PRIVATE,
    or key does not have a shared memory segment
    identifier associated with it, and the IPC_CREAT bit
    is set in shmflg. If both the
    IPC_CREAT bit and the
    IPC_EXCL bit are set in
    shmflg, and key has a shared
    memory segment identifier associated with it already, the operation will
    fail.
If a new shared memory segment is created, the data structure associated with it (the shmid_ds structure, see shmctl(2)) is initialized as follows:
EACCES]EEXIST]IPC_CREAT and
      IPC_EXCL are set in shmflg,
      and a shared memory segment is already associated with
      key.EINVAL]A shared memory segment is to be created,
        and size is less than the system imposed minimum,
        or greater than the system imposed maximum (refer to the
        kern.ipc values in
        sysctl(7)).
ENOENT]IPC_CREAT
      is not set in shmflg and no shared memory segment
      associated with key was found.ENOMEM]ENOSPC]shmget system call conforms to
  X/Open System Interfaces and Headers Issue 5
  (“XSH5”).
| October 27, 2008 | NetBSD 10.0 |