V1

Dependents:   EthernetInterface

Fork of lwip by mbed official

Embed: (wiki syntax)

« Back to documentation index

netbuf.c File Reference

netbuf.c File Reference

Network buffer management. More...

Go to the source code of this file.

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 management.

Definition in file netbuf.c.


Function Documentation

void* netbuf_alloc ( struct netbuf *  buf,
u16_t  size 
)

Allocate memory for a packet buffer for a given netbuf.

Parameters:
bufthe netbuf for which to allocate a packet buffer
sizethe size of the packet buffer to allocate
Returns:
pointer to the allocated memory NULL if no memory could be allocated

Definition at line 107 of file netbuf.c.

void netbuf_chain ( struct netbuf *  head,
struct netbuf *  tail 
)

Chain one netbuf to another (.

See also:
pbuf_chain)
Parameters:
headthe first netbuf
tailnetbuf to chain after head, freed by this function, may not be reference after returning

Definition at line 174 of file netbuf.c.

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:
bufnetbuf to get the data from
dataptrpointer to a void pointer where to store the data pointer
lenpointer to an u16_t where the length of the data is stored
Returns:
ERR_OK if the information was retreived, ERR_BUF on error.

Definition at line 193 of file netbuf.c.

void netbuf_delete ( struct netbuf *  buf )

Deallocate a netbuf allocated by netbuf_new().

Parameters:
bufpointer to a netbuf allocated by netbuf_new()

Definition at line 87 of file 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:
bufthe netbuf to modify

Definition at line 239 of file netbuf.c.

void netbuf_free ( struct netbuf *  buf )

Free the packet buffer included in a netbuf.

Parameters:
bufpointer to the netbuf which contains the packet buffer to free

Definition at line 131 of file 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 56 of file 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:
bufthe 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 netbuf.c.

err_t netbuf_ref ( struct netbuf *  buf,
const void *  dataptr,
u16_t  size 
)

Let a netbuf reference existing (non-volatile) data.

Parameters:
bufnetbuf which should reference the data
dataptrpointer to the data to reference
sizesize 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 150 of file netbuf.c.