:man| Alphabetical   Categories   About us 
 
SHMCTL (2) | System calls | Unix Manual Pages | :man

NAME

shmctl - shared memory control

CONTENTS

Library
Synopsis
Description
Return Values
Errors

LIBRARY


.Lb libc

SYNOPSIS


.In machine/param.h
.In sys/types.h
.In sys/ipc.h
.In sys/shm.h int shmctl "int shmid" "int cmd" "struct shmid_ds *buf"

DESCRIPTION

Performs the action specified by cmd on the shared memory segment identified by shmid:
IPC_STAT Fetch the segment’s "struct shmid_ds", storing it in the memory pointed to by buf.
IPC_SET Changes the shm_perm.uid, shm_perm.gid, and shm_perm.mode members of the segment’s "struct shmid_ds" to match those of the struct pointed to by buf. The calling process’s effective uid must match either shm_perm.uid or shm_perm.cuid, or it must have superuser privileges.
IPC_RMID Removes the segment from the system. The removal will not take effect until all processes having attached the segment have exited; however, once the IPC_RMID operation has taken place, no further processes will be allowed to attach the segment. For the operation to succeed, the calling process’s effective uid must match shm_perm.uid or shm_perm.cuid, or the process must have superuser privileges.

The
.Vt shmid_ds structure is defined as follows:
struct shmid_ds {
struct ipc_perm shm_perm; /* operation permission structure */
int shm_segsz; /* size of segment in bytes */
pid_t shm_lpid; /* process ID of last shared memory op */
pid_t shm_cpid; /* process ID of creator */
short shm_nattch; /* number of current attaches */
time_tshm_atime; /* time of last shmat() */
time_tshm_dtime; /* time of last shmdt() */
time_tshm_ctime; /* time of last change by shmctl() */
void *shm_internal; /* sysv stupidity */
};

RETURN VALUES


.Rv -std shmctl

ERRORS

The shmctl system call will fail if:
[EINVAL]
Invalid operation, or no shared memory segment was found corresponding to shmid.
[EPERM]
The calling process’s effective uid does not match the uid of the shared memory segment’s owner or creator.
[EACCES]
Permission denied due to mismatch between operation and mode of shared memory segment.

"SEE ALSO"

shmat(2), shmdt(2), shmget(2), ftok(3)

 
Created by Blin Media, 2008-2013