Guest User

Untitled

a guest
Jul 17th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.57 KB | None | 0 0
  1. #ifndef _LIST_H_
  2. #define _LIST_H_
  3.  
  4. #include <stddef.h>
  5.  
  6.  
  7.  
  8. typedef void (*callback)(void *);
  9.  
  10. typedef struct _list_node
  11. {
  12. void *data;
  13. struct _list_node *next;
  14. } list_node;
  15.  
  16. typedef struct
  17. {
  18. size_t num_nodes;
  19. size_t data_size;
  20. list_node *head;
  21. list_node *tail;
  22. } list;
  23.  
  24. extern void list_create(list *list, size_t data_size);
  25. extern void list_destroy(list *list);
  26.  
  27. extern void list_prepend(list *list, void *data);
  28. extern void list_append(list *list, void *data);
  29. extern size_t list_num_elements(list *list);
  30. extern void list_foreach(list *list, callback func);
  31.  
  32.  
  33.  
  34. #endif // _LIST_H_
Add Comment
Please, Sign In to add comment