совместно используемая память XSI (XSI shared memory facility)
Пролог (Prolog)
This manual page is part of the POSIX Programmer's Manual. The
Linux implementation of this interface may differ (consult the
corresponding Linux manual page for details of Linux behavior),
or the interface may not be implemented on Linux.
Имя (Name)
sys/shm.h — XSI shared memory facility
Синопсис (Synopsis)
#include <sys/shm.h>
Описание (Description)
The <sys/shm.h> header shall define the following symbolic
constants:
SHM_RDONLY Attach read-only (else read-write).
SHM_RND Round attach address to SHMLBA.
SHMLBA Segment low boundary address multiple.
The <sys/shm.h> header shall define the following data types
through typedef
:
shmatt_t
Unsigned integer used for the number of current
attaches that must be able to store values at least
as large as a type unsigned short
.
The <sys/shm.h> header shall define the shmid_ds
structure, which
shall include the following members:
struct ipc_perm shm_perm Operation permission structure.
size_t shm_segsz Size of segment in bytes.
pid_t shm_lpid Process ID of last shared memory operation.
pid_t shm_cpid Process ID of creator.
shmatt_t shm_nattch Number of current attaches.
time_t shm_atime Time of last shmat().
time_t shm_dtime Time of last shmdt().
time_t shm_ctime Time of last change by shmctl().
The <sys/shm.h> header shall define the pid_t
, size_t
, and time_t
types as described in <sys/types.h>.
The following shall be declared as functions and may also be
defined as macros. Function prototypes shall be provided.
void *shmat(int, const void *, int);
int shmctl(int, int, struct shmid_ds *);
int shmdt(const void *);
int shmget(key_t, size_t, int);
In addition, the <sys/shm.h> header shall include the <sys/ipc.h>
header.
The following sections are informative.
Использование в приложениях (Application usage)
None.
Обоснование (Rationale)
None.
Будущие направления (Future directions)
None.
Смотри также (See also)
sys_ipc.h(0p), sys_types.h(0p)
The System Interfaces volume of POSIX.1‐2017, shmat(3p),
shmctl(3p), shmdt(3p), shmget(3p)