Programming Interfaces Guide

Accessing a Shared Memory Segment

shmget(2) is used to obtain access to a shared memory segment. When the call succeeds, it returns the shared memory segment ID (shmid). The following code illustrates shmget(2).


#include  <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
...
 	key_t		key;			/* key to be passed to shmget() */
 	int		shmflg;		/* shmflg to be passed to shmget() */
 	int		shmid;		/* return value from shmget() */
 	size_t	size;			/* size to be passed to shmget() */
 	...
 	key = ...
 	size = ...
 	shmflg) = ...
 	if ((shmid = shmget (key, size, shmflg)) == –1) {
 		perror("shmget: shmget failed");
 		exit(1);
 	} else {
 		(void) fprintf(stderr,
 					"shmget: shmget returned %d\n", shmid);
 		exit(0);
 	}
 ...