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