Rtos API example
Network buffers
[Netconn API]
Network buffer descriptor for Netconn API. More...
Functions | |
struct netbuf * | netbuf_new (void) |
Create (allocate) and initialize a new netbuf. | |
void | netbuf_delete (struct netbuf *buf) |
Deallocate a netbuf allocated by netbuf_new(). | |
void * | netbuf_alloc (struct netbuf *buf, u16_t size) |
Allocate memory for a packet buffer for a given netbuf. | |
void | netbuf_free (struct netbuf *buf) |
Free the packet buffer included in a netbuf. | |
err_t | netbuf_ref (struct netbuf *buf, const void *dataptr, u16_t size) |
Let a netbuf reference existing (non-volatile) data. | |
void | netbuf_chain (struct netbuf *head, struct netbuf *tail) |
Chain one netbuf to another (. | |
err_t | netbuf_data (struct netbuf *buf, void **dataptr, u16_t *len) |
Get the data pointer and length of the data inside a netbuf. | |
s8_t | netbuf_next (struct netbuf *buf) |
Move the current data pointer of a packet buffer contained in a netbuf to the next part. | |
void | netbuf_first (struct netbuf *buf) |
Move the current data pointer of a packet buffer contained in a netbuf to the beginning of the packet. |
Detailed Description
Network buffer descriptor for Netconn API.
Based on Packet buffers (PBUF) internally to avoid copying data around.
Buffers must not be shared accross multiple threads, all functions except netbuf_new() and netbuf_delete() are not thread-safe.
Function Documentation
void* netbuf_alloc | ( | struct netbuf * | buf, |
u16_t | size | ||
) |
Allocate memory for a packet buffer for a given netbuf.
- Parameters:
-
buf the netbuf for which to allocate a packet buffer size the size of the packet buffer to allocate
- Returns:
- pointer to the allocated memory NULL if no memory could be allocated
Definition at line 102 of file lwip_netbuf.c.
Chain one netbuf to another (.
- See also:
- pbuf_chain)
- Parameters:
-
head the first netbuf tail netbuf to chain after head, freed by this function, may not be reference after returning
Definition at line 172 of file lwip_netbuf.c.
Get the data pointer and length of the data inside a netbuf.
- Parameters:
-
buf netbuf to get the data from dataptr pointer to a void pointer where to store the data pointer len pointer to an u16_t where the length of the data is stored
- Returns:
- ERR_OK if the information was retrieved, ERR_BUF on error.
Definition at line 192 of file lwip_netbuf.c.
void netbuf_delete | ( | struct netbuf * | buf ) |
Deallocate a netbuf allocated by netbuf_new().
- Parameters:
-
buf pointer to a netbuf allocated by netbuf_new()
Definition at line 81 of file lwip_netbuf.c.
void netbuf_first | ( | struct netbuf * | buf ) |
Move the current data pointer of a packet buffer contained in a netbuf to the beginning of the packet.
The packet buffer itself is not modified.
- Parameters:
-
buf the netbuf to modify
Definition at line 240 of file lwip_netbuf.c.
void netbuf_free | ( | struct netbuf * | buf ) |
Free the packet buffer included in a netbuf.
- Parameters:
-
buf pointer to the netbuf which contains the packet buffer to free
Definition at line 127 of file lwip_netbuf.c.
struct netbuf* netbuf_new | ( | void | ) | [read] |
Create (allocate) and initialize a new netbuf.
The netbuf doesn't yet contain a packet buffer!
- Returns:
- a pointer to a new netbuf NULL on lack of memory
Definition at line 63 of file lwip_netbuf.c.
s8_t netbuf_next | ( | struct netbuf * | buf ) |
Move the current data pointer of a packet buffer contained in a netbuf to the next part.
The packet buffer itself is not modified.
- Parameters:
-
buf the netbuf to modify
- Returns:
- -1 if there is no next part 1 if moved to the next part but now there is no next part 0 if moved to the next part and there are still more parts
Definition at line 218 of file lwip_netbuf.c.
Let a netbuf reference existing (non-volatile) data.
- Parameters:
-
buf netbuf which should reference the data dataptr pointer to the data to reference size size of the data
- Returns:
- ERR_OK if data is referenced ERR_MEM if data couldn't be referenced due to lack of memory
Definition at line 147 of file lwip_netbuf.c.
Generated on Sun Jul 17 2022 08:25:36 by 1.7.2