#include "semafori.h"

void initsem(int semid, int val)
{
        if ((semctl(semid,0,SETVAL,val)) == -1)
        printf("\n Errore di inizializzazione semaforo\n");
}

void valsem(int semid)
{
        int valore = semctl(semid,0,GETVAL);
        printf("\n Valore semaforo :: %d \n",valore);
}

void delsem(int semid)
{
         if ((semctl(semid,0,IPC_RMID,0)) == -1)
                printf("\n Errore di rimozione semaforo \n");
}

void down(int semid, int n, int w)
{
        struct sembuf comando;

        comando.sem_num = n;
        comando.sem_op = w;
        comando.sem_flg = 0;

        if (semop(semid,&comando,1) == -1) printf("\nErrore di wait sul semaforo %d\n",semid);

}

void up(int semid, int n, int w)
{