hdf_netbuf.h

Overview

Related Modules:

WLAN

Description:

Declares network data buffers and provides APIs for operating buffer queues.

This file describes the following network data operations for network device driver development: Applying for, releasing, and moving a network data buffer Initializing a network data buffer queue, placing a network data buffer to a queue, and removing a network data buffer from a queue

Since:

1.0

Version:

1.0

Summary

Data Structures

Data Structure Name

Description

NetBuf

Records and saves a network data buffer.

NetBufQueue

Indicates the queues for storing network data.

Macros

Macro Name and Value

Description

MAX_NETBUF_RESEVER_SIZE   68

Defines the reserved field of a network data buffer used to store private information.

Enumerations

Enumeration Name

Description

{ E_HEAD_BUF, E_DATA_BUF, E_TAIL_BUF, MAX_BUF_NUM }

Enumerates the segments of a network data buffer.

Functions

Function Name

Description

NetBufQueueInit (struct NetBufQueueq)

static void 

Initializes a network data buffer queue.

NetBufQueueSize (const struct NetBufQueue q)

static uint32_t 

Obtains the size of a network data buffer queue.

NetBufQueueIsEmpty (const struct NetBufQueueq)

static bool 

Checks whether the network data buffer queue is empty.

NetBufQueueEnqueue (struct NetBufQueue q, struct NetBufnb)

void 

Adds a network data buffer to the tail of a queue.

NetBufQueueEnqueueHead (struct NetBufQueue q, struct NetBufnb)

void 

Adds a network data buffer to the header of a queue.

NetBufQueueDequeue (struct NetBufQueue q)

struct NetBuf 

Obtains a network data buffer from the header of a queue and deletes it from the queue.

NetBufQueueDequeueTail (struct NetBufQueue q)

struct NetBuf 

Obtains a network data buffer from the tail of a queue and deletes it from the queue.

NetBufQueueAtHead (const struct NetBufQueue q)

static struct NetBuf 

Obtains the network data buffer from the header of a queue, without deleting it from the queue.

NetBufQueueAtTail (const struct NetBufQueue q)

static struct NetBuf 

Obtains the network data buffer from the tail of a queue, without deleting it from the queue.

NetBufQueueClear (struct NetBufQueue q)

void 

Clears a network data buffer queue and releases the network data buffer in the queue.

NetBufQueueConcat (struct NetBufQueueq, struct NetBufQueueadd)

void 

Moves all network data buffers from one queue to another and clears the source queue.

NetBufAlloc (uint32_t size)

struct NetBuf 

Applies for a network data buffer.

NetBufFree (struct NetBuf nb)

void 

Releases a network data buffer.

NetBufDevAlloc (const struct NetDevicedev, uint32_t size)

struct NetBuf  

Applies for a network data buffer based on the reserved space and requested size set by a network device.

NetBufPush (struct NetBufnb, uint32_t id, uint32_t len)

void  

Performs operations based on the segment ID of a network data buffer. The function is opposite to that of NetBufPop.

NetBufPop (struct NetBufnb, uint32_t id, uint32_t len)

void  

Performs operations based on the segment ID of a network data buffer. The function is opposite to that of NetBufPush.

NetBufGetAddress (const struct NetBufnb, uint32_t id)

static uint8_t  

Obtains the address of a specified buffer segment in a network data buffer.

NetBufGetRoom (const struct NetBufnb, uint32_t id)

static uint32_t 

Obtains the size of a specified buffer segment space in a network data buffer.

NetBufGetDataLen (const struct NetBuf nb)

static uint32_t 

Obtains the actual data length of the data segment of a network data buffer.

NetBufResizeRoom (struct NetBufnb, uint32_t head, uint32_t tail)

int32_t 

Adjusts the size of a network data buffer space.

NetBufConcat (struct NetBuf nb, struct NetBufcnb)

uint32_t 

Copies data in a network data buffer to another network data buffer.

Pbuf2NetBuf (const struct NetDevice netdev, struct pbuf lwipBuf)

struct NetBuf  

Converts the pbuf structure of Lightweight TCP/IP Stack (lwIP) to a network data buffer.

NetBuf2Pbuf (const struct NetBufnb)

struct pbuf  

Converts a network data buffer to the pbuf structure of Lightweight TCP/IP Stack (lwIP).