/***********************************************************************
* File:         linklist.h
* Programmer:   Dorian Winterfeld
*               Anne Raugh
* Institution:  PDS/Small Bodies Node
*               University of Maryland
* Abstract:     implementation of a linked list
************************************************************************/
#ifndef LIST_HDR
#define	LIST_HDR

typedef struct ln    /*  DOUBLY-LINKED LIST */
{
  struct ln    *prev;        /* prev: points to previous node*/
  struct ln    *next;        /* succ:   "    "  next node*/
  char 	       *data;
}list_node;

typedef struct
{
  list_node *head;
  list_node *rear;
}list_type;

list_type *list_create(void); 		   /* initialize queue */
void list_destroy(list_type *l);       /* destroy list and free memory*/
int  list_empty(list_type *l);         /* test if list is empty */
/*int remove(list_type *l, list_node *node);  remove node from list */
int  insert(list_type *l, char *item); /* add item to rear of list */


#endif