llist.h 1015 B

12345678910111213141516171819202122232425262728293031323334
  1. /** BEGIN COPYRIGHT BLOCK
  2. * Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
  3. * Copyright (C) 2005 Red Hat, Inc.
  4. * All rights reserved.
  5. *
  6. * License: GPL (version 3 or any later version).
  7. * See LICENSE for details.
  8. * END COPYRIGHT BLOCK **/
  9. #ifdef HAVE_CONFIG_H
  10. # include <config.h>
  11. #endif
  12. /* llist.h - single link list interface */
  13. #ifndef LLIST_H
  14. #define LLIST_H
  15. typedef struct llist LList;
  16. LList* llistNew ();
  17. void llistDestroy (LList **list, FNFree fnFree);
  18. void* llistGetFirst(LList *list, void **iterator);
  19. void* llistGetNext (LList *list, void **iterator);
  20. void* llistRemoveCurrentAndGetNext (LList *list, void **iterator);
  21. void* llistGetHead (LList *list);
  22. void* llistGetTail (LList *list);
  23. void* llistGet (LList *list, const char* key);
  24. int llistInsertHead (LList *list, const char *key, void *data);
  25. int llistInsertTail (LList *list, const char *key, void *data);
  26. void* llistRemoveHead (LList *list);
  27. void* llistRemove (LList *list, const char *key);
  28. #endif