X-Git-Url: https://www.hackdaworld.org/gitweb/?a=blobdiff_plain;f=list%2Flist.h;h=4302d3222883af299038e10dc9943613e6703b1c;hb=4fb6339047ed741c431ee45b855b9221df299737;hp=467e751c021d6b1264ca504e02eb3a3672f33b20;hpb=40946b581d43a81ef427115bc284a4240c389e8f;p=my-code%2Fapi.git diff --git a/list/list.h b/list/list.h index 467e751..4302d32 100644 --- a/list/list.h +++ b/list/list.h @@ -1,6 +1,12 @@ /* list.h -- list headers */ +#ifndef LIST_H +#define LIST_H + +#define _GNU_SOURCE #include +#include +#include #define L_SUCCESS 1 #define L_ERROR -1 @@ -8,19 +14,34 @@ #define L_NO_SUCH_ELEMENT -3 #define L_INVALID_ELEMENT -4 #define L_EMPTY_LIST -5 +#define L_ELEMENT_IN_LIST -6 +#define L_E_MEM -7 typedef struct s_list_element { + struct s_list_element *prev; struct s_list_element *next; void *data; int data_len; - int number; } t_list_element; typedef struct s_list { + int outfd; t_list_element *start; t_list_element *current; } t_list; /* function prototypes */ -int list_init(t_list *list); +int list_init(t_list *list,int outfd); +int list_shutdown(t_list *list); +int list_reset(t_list *list); +int list_next(t_list *list); +int list_del_element(t_list *list,t_list_element *element); +int list_del_current(t_list *list); +int list_destroy(t_list *list); +int list_search_data(t_list *list,void *data,int first_bytes); +int list_add_immediate_ptr(t_list *list,void *ptr); +int list_add_immediate(t_list *list,void *data,int data_len); +int list_add_element(t_list *list,void *data,int data_len); +int list_count(t_list *list); +#endif