annotate PrivateQueue.h @ 20:b5ae7fbb1f01

Created MC_shared brch
author Me@portablequad
date Sat, 11 Feb 2012 20:37:52 -0800
parents 1ed562d601d9
children bd38feb38c80
rev   line source
Me@19 1 /*
Me@19 2 * Copyright 2009 OpenSourceStewardshipFoundation.org
Me@19 3 * Licensed under GNU General Public License version 2
Me@19 4 *
Me@19 5 * Author: seanhalle@yahoo.com
Me@19 6 */
Me@19 7
Me@19 8 #ifndef _PRIVATE_QUEUE_H
Me@19 9 #define _PRIVATE_QUEUE_H
Me@19 10
Me@20 11
Me@20 12 #include "../../VMS_Implementations/VMS_impl/VMS_primitive_data_types.h"
Me@20 13 #include "../../VMS_Implementations/VMS_impl/vmalloc.h"
Me@20 14
Me@19 15
Me@19 16 #define TRUE 1
Me@19 17 #define FALSE 0
Me@19 18
Me@19 19 #define LOCKED 1
Me@19 20 #define UNLOCKED 0
Me@19 21
Me@19 22
Me@19 23 /* It is the data that is shared so only need one mutex. */
Me@19 24 typedef struct
Me@19 25 { void **insertPos;
Me@19 26 void **extractPos;
Me@19 27 void **startOfData; //data is pointers
Me@19 28 void **endOfData; //set when alloc data
Me@19 29 }
Me@19 30 PrivQueueStruc;
Me@19 31
Me@19 32
Me@19 33 PrivQueueStruc* makePrivQ ( );
Me@19 34 void* readPrivQ ( PrivQueueStruc *Q );
Me@19 35 void writePrivQ( void *in, PrivQueueStruc *Q );
Me@19 36 int writeIfSpacePrivQ( void * in, PrivQueueStruc* Q ); //return
Me@19 37 // false when full
Me@19 38
Me@19 39 #endif /* _PRIVATE_QUEUE_H */
Me@19 40