#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");
}