• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /barrelfish-2018-10-04/include/lwip2/lwip/

Lines Matching defs:pbuf

3  * pbuf API
48 /** LWIP_SUPPORT_CUSTOM_PBUF==1: Custom pbufs behave much like their pbuf type
58 /* @todo: We need a mechanism to prevent wasting memory in every pbuf
69 * @ingroup pbuf
70 * Enumeration of pbuf layers
74 * Use this if you intend to pass the pbuf to functions like udp_send().
78 * Use this if you intend to pass the pbuf to functions like raw_send().
82 * Use this if you intend to pass the pbuf to functions like ethernet_output().
88 * Use this if you intend to pass the pbuf to functions like netif->linkoutput().
98 * @ingroup pbuf
99 * Enumeration of pbuf types
102 /** pbuf data is stored in RAM, used for TX mostly, struct pbuf and its payload
104 can be calculated from struct pbuf).
109 /** pbuf data is stored in ROM, i.e. struct pbuf and its payload are located in
113 /** pbuf comes from the pbuf pool. Much like PBUF_ROM but payload might change
117 /** pbuf payload refers to RAM. This one comes from a pool and should be used
119 pbuf and its payload are allocated in one piece of contiguous memory (so
120 the first payload byte can be calculated from struct pbuf).
129 /** indicates this is a custom pbuf: pbuf_free calls pbuf_custom->custom_free_function()
132 /** indicates this pbuf is UDP multicast to be looped back */
134 /** indicates this pbuf was received as link-level broadcast */
136 /** indicates this pbuf was received as link-level multicast */
138 /** indicates this pbuf includes a TCP FIN flag */
142 struct pbuf {
143 /** next pbuf in singly linked pbuf chain */
144 struct pbuf *next;
169 * that refer to this pbuf. This can be pointers from an application,
170 * the stack itself, or pbuf->next pointers from a chain.
181 /** next pbuf in singly linked pbuf chain */
182 struct pbuf *next;
189 /** Prototype for a function to free a custom pbuf */
190 typedef void (*pbuf_free_custom_fn)(struct pbuf *p);
192 /** A custom pbuf: like a pbuf, but following a function pointer to free it. */
194 /** The actual pbuf */
195 struct pbuf pbuf;
196 /** This function is called when pbuf_free deallocates this pbuf(_custom) */
220 /* Initializes the pbuf module. This call is empty for now, but may not be in future. */
223 struct pbuf *pbuf_alloc(pbuf_layer l, u16_t length, pbuf_type type);
225 struct pbuf *pbuf_alloced_custom(pbuf_layer l, u16_t length, pbuf_type type,
229 void pbuf_realloc(struct pbuf *p, u16_t size);
230 u8_t pbuf_header(struct pbuf *p, s16_t header_size);
231 u8_t pbuf_header_force(struct pbuf *p, s16_t header_size);
232 void pbuf_ref(struct pbuf *p);
233 u8_t pbuf_free(struct pbuf *p);
234 u16_t pbuf_clen(const struct pbuf *p);
235 void pbuf_cat(struct pbuf *head, struct pbuf *tail);
236 void pbuf_chain(struct pbuf *head, struct pbuf *tail);
237 struct pbuf *pbuf_dechain(struct pbuf *p);
238 err_t pbuf_copy(struct pbuf *p_to, const struct pbuf *p_from);
239 u16_t pbuf_copy_partial(const struct pbuf *p, void *dataptr, u16_t len, u16_t offset);
240 err_t pbuf_take(struct pbuf *buf, const void *dataptr, u16_t len);
241 err_t pbuf_take_at(struct pbuf *buf, const void *dataptr, u16_t len, u16_t offset);
242 struct pbuf *pbuf_skip(struct pbuf* in, u16_t in_offset, u16_t* out_offset);
243 struct pbuf *pbuf_coalesce(struct pbuf *p, pbuf_layer layer);
245 err_t pbuf_fill_chksum(struct pbuf *p, u16_t start_offset, const void *dataptr,
249 void pbuf_split_64k(struct pbuf *p, struct pbuf **rest);
252 u8_t pbuf_get_at(const struct pbuf* p, u16_t offset);
253 int pbuf_try_get_at(const struct pbuf* p, u16_t offset);
254 void pbuf_put_at(struct pbuf* p, u16_t offset, u8_t data);
255 u16_t pbuf_memcmp(const struct pbuf* p, u16_t offset, const void* s2, u16_t n);
256 u16_t pbuf_memfind(const struct pbuf* p, const void* mem, u16_t mem_len, u16_t start_offset);
257 u16_t pbuf_strstr(const struct pbuf* p, const char* substr);