list.h 534 B

12345678910111213141516171819202122232425262728
  1. #ifndef DROPBEAR_DROPBEAR_LIST_H
  2. #define DROPBEAR_DROPBEAR_LIST_H
  3. struct _m_list;
  4. struct _m_list_elem {
  5. void *item;
  6. struct _m_list_elem *next;
  7. struct _m_list_elem *prev;
  8. struct _m_list *list;
  9. };
  10. typedef struct _m_list_elem m_list_elem;
  11. struct _m_list {
  12. m_list_elem *first;
  13. m_list_elem *last;
  14. };
  15. typedef struct _m_list m_list;
  16. m_list * list_new(void);
  17. void list_append(m_list *list, void *item);
  18. /* returns the item for the element removed */
  19. void * list_remove(m_list_elem *elem);
  20. #endif /* DROPBEAR_DROPBEAR_LIST_H */