/*
 *  lndir:  The C Program!
 *
 *  Copyright (c) 1993 by Salvatore Valente <svalente@athena.mit.edu>
 *
 *  You can freely distribute this program.  There is no warranty.
 *  See the file "COPYING" for more information.
 *
 */

#ifndef __QUEUE__
#define __QUEUE__ 1

/* the object */

#ifndef HavePointer
typedef void* Pointer;
#define HavePointer
#endif

typedef struct queue {
  int alloced;
  int size;
  Pointer *ptrs;
} * Queue;

Queue q_new (void);
void q_push (Queue q, Pointer data);
Pointer q_pop (Queue q);
Pointer q_peek (Queue q, int index);
int q_size (Queue q);

#endif /* __QUEUE__ */
