llist.h 983 B

123456789101112131415161718192021222324252627282930313233
  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(void);
  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