2 * Copyright (c) 2007-13 Xilinx, Inc. All rights reserved.
5 * XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" AS A
6 * COURTESY TO YOU. BY PROVIDING THIS DESIGN, CODE, OR INFORMATION AS
7 * ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, APPLICATION OR
8 * STANDARD, XILINX IS MAKING NO REPRESENTATION THAT THIS IMPLEMENTATION
9 * IS FREE FROM ANY CLAIMS OF INFRINGEMENT, AND YOU ARE RESPONSIBLE
10 * FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE FOR YOUR IMPLEMENTATION.
11 * XILINX EXPRESSLY DISCLAIMS ANY WARRANTY WHATSOEVER WITH RESPECT TO
12 * THE ADEQUACY OF THE IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO
13 * ANY WARRANTIES OR REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE
14 * FROM CLAIMS OF INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY
15 * AND FITNESS FOR A PARTICULAR PURPOSE.
21 #include "netif/xpqueue.h"
25 pq_queue_t pq_queue[NUM_QUEUES];
33 if (i >= NUM_QUEUES) {
34 //xil_printf("ERR: Max Queues allocated\n\r");
43 q->head = q->tail = q->len = 0;
49 pq_enqueue(pq_queue_t *q, void *p)
51 if (q->len == PQ_QUEUE_SIZE)
55 q->head = (q->head + 1)%PQ_QUEUE_SIZE;
62 pq_dequeue(pq_queue_t *q)
70 q->tail = (q->tail + 1)%PQ_QUEUE_SIZE;
73 return q->data[ptail];
77 pq_qlength(pq_queue_t *q)