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.
◆ netbuf_alloc()
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
◆ netbuf_chain()
void netbuf_chain |
( |
struct netbuf * |
head, |
|
|
struct netbuf * |
tail |
|
) |
| |
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 |
◆ netbuf_data()
err_t netbuf_data |
( |
struct netbuf * |
buf, |
|
|
void ** |
dataptr, |
|
|
u16_t * |
len |
|
) |
| |
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.
◆ netbuf_delete()
void netbuf_delete |
( |
struct netbuf * |
buf | ) |
|
◆ netbuf_first()
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
-
◆ netbuf_free()
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 |
◆ netbuf_new()
struct netbuf* netbuf_new |
( |
void |
| ) |
|
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
◆ netbuf_next()
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
-
- 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
◆ netbuf_ref()
err_t netbuf_ref |
( |
struct netbuf * |
buf, |
|
|
const void * |
dataptr, |
|
|
u16_t |
size |
|
) |
| |
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