*** UNIX MANUAL PAGE BROWSER ***

A Nergahak database for man pages research.

Navigation

Directory Browser

1Browse 4.4BSD4.4BSD
1Browse Digital UNIXDigital UNIX 4.0e
1Browse FreeBSDFreeBSD 14.3
1Browse MINIXMINIX 3.4.0rc6-d5e4fc0
1Browse NetBSDNetBSD 10.1
1Browse OpenBSDOpenBSD 7.7
1Browse UNIX v7Version 7 UNIX
1Browse UNIX v10Version 10 UNIX

Manual Page Search

Manual Page Result

0 Command: shmid_ds | Section: 4 | Source: Digital UNIX | File: shmid_ds.4.gz
shmid_ds(4) Kernel Interfaces Manual shmid_ds(4) NAME shmid_ds - Defines a shared memory region SYNOPSIS #include <sys/shm.h> struct shmid_ds{ struct ipc_perm shm_perm; int shm_segsz; u_short shm_lpid; u_short shm_cpid; u_short shm_nattch; time_t shm_atime; time_t shm_dtime; time_t shm_ctime; }; DESCRIPTION The shmid_ds structure defines a shared memory region associated with a shared memory region ID. There is one shared memory region per ID. Collectively, the shared memory regions are maintained in a shared mem- ory table, with the shared memory region IDs identifying the entries in the table. The IPC permissions for the shared memory regions are implemented in a separate, but associated, ipc_perm structure. A shared memory region is created indirectly via the shmget() call. If shmget() is called with a non-existent shared memory region ID, the kernel allocates a new shmid_ds structure, initializes it, and returns the ID that is to be associated with the region. The kernel allocates actual memory of shm_segsz bytes only when a process attaches a region to its address space. Attached regions are maintained in a separate region table. The entries in the shared mem- ory table point to the associated attached regions in the region table. The same shared memory region can be attached multiple times, by the same or different processes. Each attachment of the region creates a new entry in the region table. After a process attaches a shared memory region, the region becomes part of the process's virtual address space. Processes access shared memory regions by using the same machine instructions used to access any virtual address. FIELDS The ipc_perm structure that defines permissions for shared memory oper- ations. See NOTES. The size of the shared memory region, in bytes. The process ID of the process that created the shared memory region ID. The process ID of the last process that performed a shmat() or shmdt() operation on the shared memory region. The number of processes that currently have this region attached. The time of the last shmat() op- eration. The time of the last shmdt() operation. The time of the last shmctl() operation that changed a member of the shmid_ds structure. NOTES The shm_perm field identifies the associated ipc_perm structure that defines the permissions for operations on the shared memory region. The ipc_perm structure (from the sys/ipc.h header file) is shown here. struct ipc_perm { ushort uid; /* owner's user id */ ushort gid; /* owner's group id */ ushort cuid; /* creator's user id */ ushort cgid; /* creator's group id */ ushort mode; /* access modes */ ushort seq; /* slot usage sequence number */ key_t key; /* key */ }; The mode field is a nine-bit field that contains the permissions for shared memory operations. The first three bits identify owner permis- sions; the second three bits identify group permissions; and the last three bits identify other permissions. In each group, the first bit indicates read permission; the second bit indicates write permission; and the third bit is not used. RELATED INFORMATION Functions: shmat(2), shmdt(2), shmctl(2), shmget(2) delim off shmid_ds(4)

Navigation Options