Me@19: /* Me@19: * Copyright 2009 OpenSourceStewardshipFoundation.org Me@19: * Licensed under GNU General Public License version 2 Me@19: * Me@19: * Author: seanhalle@yahoo.com Me@19: */ Me@19: Me@19: #ifndef _PRIVATE_QUEUE_H Me@19: #define _PRIVATE_QUEUE_H Me@19: Me@19: #include Me@19: Me@19: #define TRUE 1 Me@19: #define FALSE 0 Me@19: Me@19: #define LOCKED 1 Me@19: #define UNLOCKED 0 Me@19: Me@19: Me@19: /* It is the data that is shared so only need one mutex. */ Me@19: typedef struct Me@19: { void **insertPos; Me@19: void **extractPos; Me@19: void **startOfData; //data is pointers Me@19: void **endOfData; //set when alloc data Me@19: } Me@19: PrivQueueStruc; Me@19: Me@19: Me@19: PrivQueueStruc* makePrivQ ( ); Me@19: void* readPrivQ ( PrivQueueStruc *Q ); Me@19: void writePrivQ( void *in, PrivQueueStruc *Q ); Me@19: int writeIfSpacePrivQ( void * in, PrivQueueStruc* Q ); //return Me@19: // false when full Me@19: Me@19: #endif /* _PRIVATE_QUEUE_H */ Me@19: