#include "shm.h" void delshm(int id) { if ((shmctl(id,IPC_RMID,NULL)) == -1) printf("\nErrore nella rimozione della memoria sherata\n"); } int creashm(int key,int dim) { int id; if ((id = shmget(key,dim,IPC_CREAT | PERMESSI)) != -1) { //printf("\n Shared memory ID :: %d \n",id); return(id); } else { printf("\nErrore nella creazione della shared memory\n"); return(-1); } } void * attachshm(int id) { char * sh; if ((sh = shmat(id,NULL,PERMESSI)) != NULL) return((void *)sh); else { printf("\nErrore nell'attacco alla shared memory\n"); return((void *)-1); } } void deattachshm(void * id) { if ((shmdt((char *)id)) == -1) printf("\Errore di distacco dalla shared memory\n"); }