diff options
Diffstat (limited to 'list.h')
-rw-r--r-- | list.h | 12 |
1 files changed, 11 insertions, 1 deletions
@@ -1,11 +1,17 @@ /* - * Copyright (C) 2006-2008 Stig Venaas <venaas@uninett.no> + * Copyright (C) 2006-2009 Stig Venaas <venaas@uninett.no> * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. */ +#ifdef SYS_SOLARIS9 +#include <sys/inttypes.h> +#else +#include <stdint.h> +#endif + struct list_node { struct list_node *next; void *data; @@ -13,6 +19,7 @@ struct list_node { struct list { struct list_node *first, *last; + uint32_t count; }; /* allocates and initialises list structure; returns NULL if malloc fails */ @@ -35,3 +42,6 @@ struct list_node *list_first(struct list *list); /* returns the next node after the argument */ struct list_node *list_next(struct list_node *node); + +/* returns number of nodes */ +uint32_t list_count(struct list *list); |