Skip to content
Extraits de code Groupes Projets
Valider 2073f304 rédigé par Arnaud Lefebvre's avatar Arnaud Lefebvre
Parcourir les fichiers

Upload New File

parent d80ab3b8
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Pipeline #9754 réussi
#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
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter