msach@24: /* msach@24: * Copyright 2009 OpenSourceStewardshipFoundation.org msach@24: * Licensed under GNU General Public License version 2 msach@24: * msach@24: * Author: seanhalle@yahoo.com msach@24: */ msach@24: msach@24: #ifndef _PRIVATE_QUEUE_H msach@24: #define _PRIVATE_QUEUE_H msach@24: msach@24: #include "VMS_Implementations/VMS_impl/VMS_primitive_data_types.h" msach@24: msach@24: #define TRUE 1 msach@24: #define FALSE 0 msach@24: msach@24: #define LOCKED 1 msach@24: #define UNLOCKED 0 msach@24: msach@24: msach@24: typedef struct msach@24: { void **insertPos; msach@24: void **extractPos; msach@24: void **startOfData; //data is pointers msach@24: void **endOfData; //set when alloc data msach@24: } msach@24: PrivQueueStruc; msach@24: msach@24: msach@24: PrivQueueStruc* makePrivQ ( ); msach@24: void* readPrivQ ( PrivQueueStruc *Q ); msach@24: void writePrivQ( void *in, PrivQueueStruc *Q ); msach@24: int32 writeIfSpacePrivQ( void * in, PrivQueueStruc* Q ); //return msach@24: // false when full msach@24: int32 numInPrivQ( PrivQueueStruc *Q ); msach@24: void pushPrivQ( void * in, PrivQueueStruc* Q ); msach@24: msach@24: #endif /* _PRIVATE_QUEUE_H */ msach@24: