From a55c2031d9d40e05a3f1049c83a5fc976dc0b77c Mon Sep 17 00:00:00 2001 From: Louis Gayina <louis.gayina@student.uclouvain.be> Date: Sat, 9 May 2020 17:04:11 +0200 Subject: [PATCH] Upload New File --- Final /buffer.h | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 Final /buffer.h diff --git a/Final /buffer.h b/Final /buffer.h new file mode 100644 index 0000000..4e3f9ac --- /dev/null +++ b/Final /buffer.h @@ -0,0 +1,29 @@ +#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 -- GitLab