6 #define NUM_PMC_QUEUE_OBJECTS 256
7 struct pmc_queue_segment {
8 volatile void * objects[NUM_PMC_QUEUE_OBJECTS];
9 struct pmc_queue_segment * next;
13 volatile struct pmc_queue_segment *head;
14 volatile struct pmc_queue_segment *tail;
15 volatile int headindex;
16 volatile int tailindex;
17 tmc_spin_mutex_t lock;
20 void * pmc_dequeue(struct pmc_queue *queue);
21 void pmc_enqueue(struct pmc_queue* queue, void *ptr);
22 bool pmc_isEmpty(struct pmc_queue *queue);
23 void pmc_queueinit(struct pmc_queue *queue);