1 Star 0 Fork 4.9K

Lin_bruin / docs

forked from OpenHarmony / docs 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
hdf_netbuf-h.md 21.41 KB
一键复制 编辑 原始数据 按行查看 历史
wenjun 提交于 2020-09-08 10:08 . add OpenHarmony 1.0 baseline

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 NetBufQueue *q)

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 NetBufQueue *q)

static bool 

Checks whether the network data buffer queue is empty.

NetBufQueueEnqueue (struct NetBufQueue *q, struct NetBuf *nb)

void 

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

NetBufQueueEnqueueHead (struct NetBufQueue *q, struct NetBuf *nb)

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 NetBufQueue *q, struct NetBufQueue *add)

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 NetDevice *dev, 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 NetBuf *nb, 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 NetBuf *nb, 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 NetBuf *nb, uint32_t id)

static uint8_t * 

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

NetBufGetRoom (const struct NetBuf *nb, 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 NetBuf *nb, uint32_t head, uint32_t tail)

int32_t 

Adjusts the size of a network data buffer space.

NetBufConcat (struct NetBuf *nb, struct NetBuf *cnb)

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 NetBuf *nb)

struct pbuf * 

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

1
https://gitee.com/dreaminghell/docs.git
git@gitee.com:dreaminghell/docs.git
dreaminghell
docs
docs
master

搜索帮助