# Sys V Inter Process Communication

#include <stdio.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>

FILE sid_file;
int shm_size, shm_flags, shm_id;
char *data;

..
shm_size = 1024;   /* Segmentumfang in Bytes       */
shm_flags = 0666;  /* Zugriffsberechtigungen
                     analog zu chmod (octal!)     */

..
/* Anforderung eines Speichersegmentes */
shm_id = shmget(IPC_PRIVATE, shm_size, shm_flags);
            /* IPC_PRIVATE ist in shm.h definiert */
..

/* Abspeichern der Shared Memory Id in eine Datei  */
sid_file = fopen("sid-info-file.txt", "w");
fprintf(sid_file, "%d\n", shm_id);
fclose(sid_file);
..

/* Aufschalten auf das Speichersegment             */
/* auf die gleiche Weise erhalten alle anderen
  interessierten Prozesse Zugriff                 */
data = shmat(shm_id, 0, 0);
..

/* Speichersegment abhaengen                       */
shmdt(data);
..