日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LwIP之netbuf

發(fā)布時間:2025/3/15 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LwIP之netbuf 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?netbuf是應(yīng)用程序和協(xié)議棧內(nèi)核交互的一種數(shù)據(jù)結(jié)構(gòu)

netbuf并不復(fù)雜,下面是實現(xiàn)代碼

/* 創(chuàng)建netbuf */ struct netbuf *netbuf_new(void) {struct netbuf *buf;/* 為netbuf申請內(nèi)存空間 */buf = (struct netbuf *)memp_malloc(MEMP_NETBUF);if(buf != NULL) {/* 清空參數(shù) */buf->p = NULL;buf->ptr = NULL;ip_addr_set_any(&buf->addr);buf->port = 0;return buf;} else {return NULL;} }/* 刪除netbuf */ void netbuf_delete(struct netbuf *buf) {if(buf != NULL) {/* 先釋放pbuf */if(buf->p != NULL) {pbuf_free(buf->p);buf->p = buf->ptr = NULL;}/* 再釋放netbuf */memp_free(MEMP_NETBUF, buf);} }/* 為netbuf申請數(shù)據(jù)(pbuf)空間 */ void *netbuf_alloc(struct netbuf *buf, u16_t size) {/* 為netbuf申請數(shù)據(jù)(pbuf)空間 */if(buf->p != NULL) {pbuf_free(buf->p);}buf->p = pbuf_alloc(PBUF_TRANSPORT, size, PBUF_RAM);if(buf->p == NULL) {return NULL;}/* ptr指針初始化指向第一個pbuf */buf->ptr = buf->p;/* 返回數(shù)據(jù)有效數(shù)據(jù)指針 */return buf->p->payload; }/* 釋放netbuf的數(shù)據(jù)(pbuf)空間 */ void netbuf_free(struct netbuf *buf) {if(buf->p != NULL) {pbuf_free(buf->p);}buf->p = buf->ptr = NULL; }/* 為netbuf申請PBUF_REF型pbuf內(nèi)存,指向已存在RAM */ err_t netbuf_ref(struct netbuf *buf, const void *dataptr, u16_t size) {if(buf->p != NULL) {pbuf_free(buf->p);}buf->p = pbuf_alloc(PBUF_TRANSPORT, 0, PBUF_REF);if(buf->p == NULL) {buf->ptr = NULL;return ERR_MEM;}buf->p->payload = (void *)dataptr;buf->p->len = buf->p->tot_len = size;buf->ptr = buf->p;return ERR_OK; }/* 將兩個netbuf拼接起來 */ void netbuf_chain(struct netbuf *head, struct netbuf *tail) {pbuf_cat(head->p, tail->p);head->ptr = head->p;memp_free(MEMP_NETBUF, tail); }/* 獲取netbuf有效數(shù)據(jù)指針和數(shù)據(jù)長度 */ err_t netbuf_data(struct netbuf *buf, void **dataptr, u16_t *len) {if(buf->ptr == NULL) {return ERR_BUF;}*dataptr = buf->ptr->payload;*len = buf->ptr->len;return ERR_OK; }/* 向后偏移netbuf的pbuf偏移指針 */ s8_t netbuf_next(struct netbuf *buf) {if(buf->ptr->next == NULL) {return -1;}buf->ptr = buf->ptr->next;if(buf->ptr->next == NULL) {return 1;}return 0; }/* netbuf的pbuf偏移指針指向第一個pbuf */ void netbuf_first(struct netbuf *buf) {buf->ptr = buf->p; }

?

總結(jié)

以上是生活随笔為你收集整理的LwIP之netbuf的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 成人区人妻精品一区二区不卡视频 | 亚洲h片 | 伊人一区二区三区四区 | 麻豆三级视频 | 蜜桃又黄又粗又爽av免 | 中文字幕在线一 | 成人性生交视频免费观看 | 久操综合 | 精品国产一区二区三区久久久蜜月 | 在线超碰av| 亚洲性猛交富婆 | 一级做a爱视频 | 午夜精品福利一区二区三区蜜桃 | 一本久道视频一本久道 | 亚洲一区欧美日韩 | 在线观看午夜视频 | 污污在线免费观看 | 国产成人精品女人久久久 | 亚洲国产一区二区三区a毛片 | 国产做爰高潮呻吟视频 | 国产一区在线播放 | 中文字幕22页 | www.国产黄色| 69国产视频| 亚洲一二三区视频 | 午夜性色福利视频 | 精品无码久久久久久久久 | 成人免费一区二区三区 | 伊人婷婷色 | 91在线视频免费看 | 波多野结衣大片 | 亚洲一区二区福利视频 | 人人爽人人爽人人片av | 加勒比一区二区三区 | 日韩黄色av网站 | 中文字幕成人动漫 | 日韩无马 | 免费看美女被靠到爽的视频 | 亚洲精品日韩丝袜精品 | av手机免费看 | 丰满岳乱妇在线观看中字无码 | 熟妇高潮一区二区三区 | 午夜久久久久久 | 91干干干| 欧美 亚洲 一区 | 性――交――性――乱a | 人人免费操 | 九色影视| 国产毛片在线视频 | 爆乳熟妇一区二区三区 | 91原视频| 青青青免费在线 | 精品国产1区2区 | 亚洲精品视频久久久 | 青青草国产一区二区三区 | 超碰在线免费播放 | 人妻激情偷乱视频一区二区三区 | 成人爱爱网站 | 国产综合无码一区二区色蜜蜜 | 国产精久久久 | 91亚洲视频在线 | 久久精品人妻av一区二区三区 | 黄色三级带 | 欧美动态视频 | 亚洲人成77777 | 日韩av三级在线观看 | 天堂8中文 | 综合狠狠开心 | 大桥未久视频在线观看 | 欧洲成人精品 | 午夜不卡av| 欧美一级淫片免费 | 亚洲无码乱码精品国产 | 亚洲精品久久久狠狠狠爱 | 依依激情网 | 人人做人人爽人人爱 | 人人射人人干 | 特黄av| 中文字幕亚洲区 | 国模在线观看 | 国产福利小视频在线观看 | 精产国品一二三产区m553麻豆 | 亚洲在线综合 | 亚洲视频免费播放 | 麻豆精品免费 | 日本熟妇人妻中出 | 欧美三级网 | 中文字幕一二三 | 自拍偷拍精品视频 | 一区二区三区麻豆 | 可以免费观看的毛片 | 在线免费成人网 | 中文字幕第二区 | 日本免费一区二区三区 | 91视频xxx | 久久不卡日韩美女 | 中文字幕 日韩有码 | 亚洲国产精品自拍视频 | 国产粉嫩呻吟一区二区三区 |