text: 
  // automatically generated by m4 from headers in proto subdir
  
  
  #ifndef _ADT_P_LIST_H
  #define _ADT_P_LIST_H
  
  #include <stddef.h>
  
  // DATA STRUCTURES
  
  typedef struct p_list_s
  {
  
     void       *head;
     void       *tail;
  
  } p_list_t;
  
  extern void *p_list_back(p_list_t *ls);
  
  
  extern void p_list_clear(p_list_t *ls);
  
  
  extern int p_list_empty(p_list_t *ls);
  
  
  extern void *p_list_front(p_list_t *ls);
  
  
  extern void p_list_init(void *p);
  
  
  extern void *p_list_insert(p_list_t *ls,void *ls_item,void *item);
  
  
  extern void *p_list_insert_after(p_list_t *ls,void *ls_item,void *item);
  
  
  extern void *p_list_next(void *item);
  
  
  extern void *p_list_pop_back(p_list_t *ls);
  
  
  extern void *p_list_pop_front(p_list_t *ls);
  
  
  extern void *p_list_prev(void *item);
  
  
  extern void *p_list_push_back(p_list_t *ls,void *item);
  
  
  extern void *p_list_push_front(p_list_t *ls,void *item);
  
  
  extern void *p_list_remove(p_list_t *ls,void *item);
  
  
  extern void *p_list_remove_after(p_list_t *ls,void *ls_item);
  
  
  extern size_t p_list_size(p_list_t *ls);
  
  
  
  #endif
  