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_