Mercurial > cgi-bin > hgwebdir.cgi > VMS > C_Libraries > Queue_impl
annotate PrivateQueue.h @ 14:447e97a52426
added zeroing out private queue when created
| author | Me |
|---|---|
| date | Thu, 04 Nov 2010 17:56:08 -0700 |
| parents | 174a7c2ca340 |
| children | 3134d8a1e8e3 |
| rev | line source |
|---|---|
| Me@0 | 1 /* |
| Me@0 | 2 * Copyright 2009 OpenSourceStewardshipFoundation.org |
| Me@0 | 3 * Licensed under GNU General Public License version 2 |
| Me@0 | 4 * |
| Me@0 | 5 * Author: seanhalle@yahoo.com |
| Me@0 | 6 */ |
| Me@0 | 7 |
| Me@0 | 8 #ifndef _PRIVATE_QUEUE_H |
| Me@0 | 9 #define _PRIVATE_QUEUE_H |
| Me@0 | 10 |
| Me@0 | 11 #include <pthread.h> |
| Me@11 | 12 #include "../VMS_primitive_data_types.h" |
| Me@0 | 13 |
| Me@0 | 14 #define TRUE 1 |
| Me@0 | 15 #define FALSE 0 |
| Me@0 | 16 |
| Me@0 | 17 #define LOCKED 1 |
| Me@0 | 18 #define UNLOCKED 0 |
| Me@0 | 19 |
| Me@0 | 20 |
| Me@0 | 21 typedef struct |
| Me@0 | 22 { void **insertPos; |
| Me@0 | 23 void **extractPos; |
| Me@0 | 24 void **startOfData; //data is pointers |
| Me@0 | 25 void **endOfData; //set when alloc data |
| Me@0 | 26 } |
| Me@0 | 27 PrivQueueStruc; |
| Me@0 | 28 |
| Me@0 | 29 |
| Me@0 | 30 PrivQueueStruc* makePrivQ ( ); |
| Me@0 | 31 void* readPrivQ ( PrivQueueStruc *Q ); |
| Me@6 | 32 void writePrivQ( void *in, PrivQueueStruc *Q ); |
| Me@11 | 33 int32 writeIfSpacePrivQ( void * in, PrivQueueStruc* Q ); //return |
| Me@3 | 34 // false when full |
| Me@11 | 35 int32 numInPrivQ( PrivQueueStruc *Q ); |
| Me@11 | 36 |
| Me@0 | 37 |
| Me@0 | 38 #endif /* _PRIVATE_QUEUE_H */ |
| Me@0 | 39 |
