14#include "libical_ical_export.h" 
   33LIBICAL_ICAL_EXPORT pvl_elem pvl_new_element(
void *
d, pvl_elem 
next, pvl_elem 
prior);
 
   35LIBICAL_ICAL_EXPORT pvl_list pvl_newlist(
void);
 
   37LIBICAL_ICAL_EXPORT 
void pvl_free(pvl_list);
 
   40LIBICAL_ICAL_EXPORT 
void pvl_unshift(pvl_list l, 
void *
d);
 
   42LIBICAL_ICAL_EXPORT 
void *pvl_shift(pvl_list l);
 
   44LIBICAL_ICAL_EXPORT pvl_elem pvl_head(pvl_list);
 
   47LIBICAL_ICAL_EXPORT 
void pvl_push(pvl_list l, 
void *
d);
 
   49LIBICAL_ICAL_EXPORT 
void *pvl_pop(pvl_list l);
 
   51LIBICAL_ICAL_EXPORT pvl_elem pvl_tail(pvl_list);
 
   54typedef int (*pvl_comparef)(
void *a, 
void *b); 
 
   56LIBICAL_ICAL_EXPORT 
void pvl_insert_ordered(pvl_list l, pvl_comparef f, 
void *
d);
 
   58LIBICAL_ICAL_EXPORT 
void pvl_insert_after(pvl_list l, pvl_elem e, 
void *
d);
 
   60LIBICAL_ICAL_EXPORT 
void pvl_insert_before(pvl_list l, pvl_elem e, 
void *
d);
 
   63LIBICAL_ICAL_EXPORT 
void *pvl_remove(pvl_list, pvl_elem); 
 
   65LIBICAL_ICAL_EXPORT 
void pvl_clear(pvl_list); 
 
   67LIBICAL_ICAL_EXPORT 
int pvl_count(pvl_list);
 
   70LIBICAL_ICAL_EXPORT pvl_elem pvl_next(pvl_elem e);
 
   72LIBICAL_ICAL_EXPORT pvl_elem pvl_prior(pvl_elem e);
 
   75#if !defined(PVL_USE_MACROS) 
   76LIBICAL_ICAL_EXPORT 
void *pvl_data(pvl_elem);
 
   78#define pvl_data(x) x == 0 ? 0 : ((struct pvl_elem_t *)x)->d; 
   82typedef int (*pvl_findf)(
void *a, 
void *b); 
 
   84LIBICAL_ICAL_EXPORT pvl_elem pvl_find(pvl_list l, pvl_findf f, 
void *v);
 
   86LIBICAL_ICAL_EXPORT pvl_elem pvl_find_next(pvl_list l, pvl_findf f, 
void *v);
 
   92typedef void (*pvl_applyf)(
void *a, 
void *b);
 
   94LIBICAL_ICAL_EXPORT 
void pvl_apply(pvl_list l, pvl_applyf f, 
void *v);
 
struct pvl_elem_t * prior
Definition pvl.h:29
int MAGIC
Definition pvl.h:26
struct pvl_elem_t * next
Definition pvl.h:28
void * d
Definition pvl.h:27