11 //void init_queue(queue_t *q, int num_threads);
12 //void enqueue(queue_t *q, unsigned int val);
13 //bool dequeue(queue_t *q, unsigned int *retVal);
16 #define MAKE_POINTER(ptr, count) (struct node *) (((count) << 48) | (uintptr_t)(ptr))
17 #define PTR_MASK 0xffffffffffffLL
18 #define COUNT_MASK (0xffffLL << 48)
19 #define GET_PTR(x) ((struct node *)(((uintptr_t) x) & PTR_MASK))
20 #define GET_COUNT(x) (((uintptr_t) x) >> 48)