Skip to content
Extraits de code Groupes Projets
buffer.h 598 o
#ifndef PRIME_DIVS_BUFFER_H
#define PRIME_DIVS_BUFFER_H

#include <pthread.h>
#include <semaphore.h>

typedef struct queue {
    int front, tail, size, capacity;
    void** array;
} queue_t;

typedef struct buffer {
    pthread_mutex_t mutex;
    sem_t full;
    sem_t empty;
    queue_t* q;
} buffer_t;

queue_t* createQueue(int capacity);
buffer_t* createBuffer(int capacity);
void enqueue(queue_t* q, void* item);
void* dequeue(queue_t* q);
int empty(queue_t* q);
void Producer(buffer_t* b, void* add);
void* Consumer(buffer_t* b);
void* free_Buffer(buffer_t* b);


#endif //PRIME_DIVS_BUFFER_H