/* list.h -- list headers */
+#ifndef LIST_H
+#define LIST_H
+
+#define _GNU_SOURCE
#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
#define L_SUCCESS 1
#define L_ERROR -1
#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