www.pudn.com > pthread_examples.rar > queue.h


#ifndef __QUEUE_H_ 
#define __QUEUE_H_ 
/* queue.h 
** Copyright 2000 Daniel Robbins, Gentoo Technologies, Inc. 
** Author: Daniel Robbins 
** Date: 16 Jun 2000 
*/ 
#include  
#include  
#include  
 
#define MAX_QUEUE_NODE 100 
#define MAX_BUFFER_LEN 64 
 
typedef enum  
{ 
	FALSE, 
	TRUE, 
}PTHBOOL; 
 
typedef struct node  
{ 
	char cNodeStr[64]; 
	struct node *next; 
} node; 
 
typedef struct queue  
{ 
	node *head, *tail;  
} queue; 
 
queue pQueue; 
node *pNodeHead; 
int iPushIndex; 
int iPopIndex; 
int iQueueNodeNum; 
pthread_mutex_t pthQueueMutex; 
sem_t pthSem; 
 
void queue_init(void); 
void queue_deinit(void); 
void queue_put(queue *myroot, node *mynode); 
node *queue_get(queue *myroot); 
PTHBOOL isqueueempty(queue *myroot); 
int getqueuesize(queue *myroot); 
#endif //__QUEUE_H_