From 2073f3045838e58a5a9eaf544d2c7f1482ab409c Mon Sep 17 00:00:00 2001 From: Arnaud Lefebvre <arnaud.lefebvre@student.uclouvain.be> Date: Wed, 13 May 2020 10:52:56 +0200 Subject: [PATCH] Upload New File --- Code_With_Threads/fonctions.h | 66 +++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 Code_With_Threads/fonctions.h diff --git a/Code_With_Threads/fonctions.h b/Code_With_Threads/fonctions.h new file mode 100644 index 0000000..a232aef --- /dev/null +++ b/Code_With_Threads/fonctions.h @@ -0,0 +1,66 @@ +#ifndef fonctions_h +#define fonctions_h + +typedef struct node { + int value; + struct node *next; +} node_t; + +typedef struct list { + node_t *first; + node_t *last; + int length; +} list_t; + +typedef struct node2 { + list_t *diviseurs; + struct node2 *next; +} node_lst; + +typedef struct list2 { + node_lst *first; + node_lst *last; + int length; +} list_lst; + +typedef struct buffer1 { + list_t *numbers; + int in_buffer; + sem_t free; + sem_t full; + pthread_mutex_t mutex; + bool can_stop; +} buffer1; + +typedef struct buffer2 { + list_lst *prime_numbers; + int in_buffer; + sem_t free; + sem_t full; + pthread_mutex_t mutex; +} buffer2; + +void init_list_t(list_t *my_list); +void init_list_lst(list_lst *my_list); +void put_node_t(list_t *my_list, int value); +void put_node_lst(list_lst *my_list, list_t *put_list); +int get_node_t(list_t *my_list); +list_t *get_node_lst(list_lst *my_list); +int get_at_index(list_t *my_list, int index); + +//void clear_node_t(node_t *t); +//void clear_list_t(list_t *my_list); +//void clear_node_lst(node_lst *n); +//void clear_list_lst(list_lst *my_list); + +void clear_list_t(list_t *my_list); +void clear_list_lst(list_lst *my_list); + +list_t *prime_list(int value); + +buffer1 *init_buffer_1(int nthreads); +buffer2 *init_buffer_2(int nthreads); + +int count_lines(char *filename); + +#endif //fonctions_h \ No newline at end of file -- GitLab