QUEUE.H
/*++ 
 
Copyright (c) 1995 Intel Corp 
 
Module Name: 
 
    queue.h 
 
Abstract: 
 
    Header file for the queue manager implemented by queue.c. 
 
--*/ 
#ifndef QUEUE_H 
#define QUEUE_H 
 
#include "nowarn.h"  /* turn off benign warnings */ 
#ifndef _WINSOCKAPI_ 
#define _WINSOCKAPI_   /* Prevent inclusion of winsock.h in windows.h */ 
#endif 
#include <windows.h> 
#include "nowarn.h"  /* some warnings may have been turned back on */ 
 
 
#define ABNORMAL 1 
#define NORMAL 0 
 
#define MAX_QUEUE_SIZE 1024 
#define Q_NULL -1 
 
 
typedef struct _QUEUE { 
   
  LPVOID QueueArray[MAX_QUEUE_SIZE]; 
  int Head; 
  int Tail; 
  CRITICAL_SECTION CrSec; 
   
} QUEUE, *PQUEUE; 
 
 
PQUEUE QCreate(void); 
void QFree(PQUEUE Queue); 
BOOL QInsert(PQUEUE Queue, LPVOID Object); 
BOOL QInsertAtHead(PQUEUE Queue, LPVOID Object); 
LPVOID QRemove(PQUEUE Queue); 
BOOL QIsEmpty(PQUEUE Queue); 
 
#endif