/*++
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