33#ifndef __LWIP_PBUF_H__
34#define __LWIP_PBUF_H__
45#define LWIP_SUPPORT_CUSTOM_PBUF (IP_FRAG && !IP_FRAG_USES_STATIC_BUF && !LWIP_NETIF_TX_SINGLE_PBUF)
47#define PBUF_TRANSPORT_HLEN 20
48#define PBUF_IP_HLEN 20
66#define PBUF_FLAG_PUSH 0x01U
69#define PBUF_FLAG_IS_CUSTOM 0x02U
71#define PBUF_FLAG_MCASTLOOP 0x04U
73#define PBUF_FLAG_LLBCAST 0x08U
75#define PBUF_FLAG_LLMCAST 0x10U
77#define PBUF_FLAG_TCP_FIN 0x20U
112#if LWIP_SUPPORT_CUSTOM_PBUF
114typedef void (*pbuf_free_custom_fn)(
struct pbuf *
p);
121 pbuf_free_custom_fn custom_free_function;
125#if LWIP_TCP && TCP_QUEUE_OOSEQ
127#ifndef PBUF_POOL_FREE_OOSEQ
128#define PBUF_POOL_FREE_OOSEQ 1
130#if NO_SYS && PBUF_POOL_FREE_OOSEQ
131extern volatile u8_t pbuf_free_ooseq_pending;
132void pbuf_free_ooseq();
136#define PBUF_CHECK_FREE_OOSEQ() do { if(pbuf_free_ooseq_pending) { \
139 pbuf_free_ooseq(); }}while(0)
147#if LWIP_SUPPORT_CUSTOM_PBUF
149 struct pbuf_custom *
p,
void *payload_mem,
150 u16_t payload_mem_len);
164#if LWIP_CHECKSUM_ON_COPY
struct outqueuenode * tail
struct outqueuenode * head
GLuint GLuint GLsizei GLenum type
GLenum GLuint GLenum GLsizei const GLchar * buf
GLuint GLsizei GLsizei * length
GLenum GLuint GLint GLint layer
static u32_t chksum(void *dataptr, u16_t len)
static substr_t substr(const WCHAR *str, size_t len)
int const JOCTET * dataptr
struct pbuf * pbuf_coalesce(struct pbuf *p, pbuf_layer layer)
u16_t pbuf_copy_partial(struct pbuf *p, void *dataptr, u16_t len, u16_t offset)
struct pbuf * pbuf_alloc(pbuf_layer l, u16_t length, pbuf_type type)
void pbuf_chain(struct pbuf *head, struct pbuf *tail)
void pbuf_ref(struct pbuf *p)
u8_t pbuf_clen(struct pbuf *p)
u16_t pbuf_memcmp(struct pbuf *p, u16_t offset, const void *s2, u16_t n)
u8_t pbuf_get_at(struct pbuf *p, u16_t offset)
void pbuf_realloc(struct pbuf *p, u16_t size)
u8_t pbuf_header(struct pbuf *p, s16_t header_size)
u8_t pbuf_free(struct pbuf *p)
u16_t pbuf_memfind(struct pbuf *p, const void *mem, u16_t mem_len, u16_t start_offset)
struct pbuf * pbuf_dechain(struct pbuf *p)
err_t pbuf_take(struct pbuf *buf, const void *dataptr, u16_t len)
u16_t pbuf_strstr(struct pbuf *p, const char *substr)
void pbuf_cat(struct pbuf *head, struct pbuf *tail)
err_t pbuf_copy(struct pbuf *p_to, struct pbuf *p_from)