00001 #ifndef __STATIC_LIST_H
00002 #define __STATIC_LIST_H
00003
00004 #include <stdlib.h>
00005 #include <stdio.h>
00006 #include <unistd.h>
00007 #include <pthread.h>
00008
00009
00010 struct static_list{
00011 size_t elements;
00012 void **head_of_list;
00013 pthread_mutex_t list_mutex;
00014 };
00015 typedef struct static_list static_list;
00016
00017
00018 int static_list_init(static_list **new_static_list,
00019 size_t elements);
00020
00021 void static_list_destroy(static_list *list_to_destroy);
00022
00023 int static_list_insert(static_list *new_static_list,
00024 void *pntr_to_add);
00025
00026 int static_list_remove(static_list *new_static_list, void *pntr_to_del);
00027
00028 void *static_list_rand_search(static_list *new_static_list,
00029 int (generic_search)());
00030
00031
00032
00033 #endif