]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702/RTOSDemo/src/Full_Demo/lwIP_port/include/netif/xpqueue.h
fe89d278ef6cd417c6010f419bd6783e56de7b6f
[freertos] / FreeRTOS / Demo / CORTEX_A9_Zynq_ZC702 / RTOSDemo / src / Full_Demo / lwIP_port / include / netif / xpqueue.h
1 /*
2  * Copyright (c) 2007-2013 Xilinx, Inc.  All rights reserved.
3  *
4  * Xilinx, Inc.
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.
16  *
17  */
18
19 #ifndef __LWIP_PBUF_QUEUE_H_
20 #define __LWIP_PBUF_QUEUE_H_
21
22 #ifdef __cplusplus
23 extern "C" { 
24 #endif
25
26 #define PQ_QUEUE_SIZE 4096
27
28 typedef struct {
29         void *data[PQ_QUEUE_SIZE];
30         int head, tail, len;
31 } pq_queue_t;
32
33 pq_queue_t*     pq_create_queue();
34 int             pq_enqueue(pq_queue_t *q, void *p);
35 void*           pq_dequeue(pq_queue_t *q);
36 int             pq_qlength(pq_queue_t *q);
37
38 #ifdef __cplusplus
39 }
40 #endif
41
42 #endif