- pstNetif:指向网卡控制块ST_NETIF的指针,指定要删除哪个网卡的所有路由条目
无
示例
略
返回目录
route_get_default功能
获取缺省路由信息 。
原型
PST_NETIF route_get_default(void);
入口参数
无
返回值
返回缺省路由绑定的网卡控制块首地址 。
示例
略
返回目录
dhcp_req_addr功能
启动dhcp客户端,向dhcp服务器请求租用一个动态地址 。
原型
BOOL dhcp_req_addr(PST_NETIF pstNetif, EN_ONPSERR *penErr);
入口参数
- pstNetif:指定要进行dhcp请求的网卡
- penErr:指向错误编码的指针,当函数执行失败,该参数用于接收实际的错误码
请求成功则返回TRUE,否则返回FALSE,具体的错误信息参见参数penErr返回的错误码 。
示例
参见上一篇博文《onps栈移植说明(3)——添加网卡》 。
返回目录
ethernet_add功能
增加新的ethernet网卡到协议栈 。
原型
PST_NETIF ethernet_add(const CHAR *pszIfName,
const UCHAR ubaMacAddr[ETH_MAC_ADDR_LEN],
PST_IPV4 pstIPv4,
PFUN_EMAC_SEND pfunEmacSend,
void (*pfunStartTHEmacRecv)(void *pvParam),
PST_NETIF *ppstNetif,
EN_ONPSERR *penErr);
入口参数
- pszIfName:网卡名称
- ubaMacAddr:网卡 mac 地址
- pstIPv4:指向 ST_IPV4 结构体的指针(include/netif/netif.h),这个结构体保存用户指定的 ip地址、网关、dns、子网掩码等配置信息
- pfunEmacSend:函数指针,指向发送函数,函数原型为 INT(* PFUN_EMAC_SEND)(SHORT sBufListHead, UCHAR *pubErr),这个指针指向的其实就是网卡发送函数
- pfunStartTHEmacRecv:指向线程启动函数的指针,协议栈使用该指针指向的函数启动协议栈内部工作线程——ethernet网卡接收线程
- ppstNetif:二维指针,协议栈成功注册网卡后 ethernet_add()函数会返回一个 PST_NETIF 指针给调用者,这个参数指向这个指针,其最终会被协议栈通过 pvParam 参数传递给 pfunStartTHEmacRecv 指向的函数
- penErr:指向错误编码的指针,当函数执行失败,该参数用于接收实际的错误码
注册成功,返回一个 PST_NETIF 类型的指针,该指针指向新添加的网卡控制块,唯一的标识新添加的这块网卡;注册失败则返回 NULL,具体错误信息参见 penErr参数携带的错误码 。
示例
参见上一篇博文《onps栈移植说明(3)——添加网卡》 。
返回目录
ethernet_del功能
删除ethernet网卡 。
原型
void ethernet_del(PST_NETIF *ppstNetif);
入口参数
- ppstNetif:指向网卡控制块PST_NETIF指针的指针,其指向ethernet_add()函数返回的PST_NETIF指针的首地址
无
示例
略
返回目录
ethernet_put_packet功能
将收到的ethernet报文推送给协议栈 。
原型
void ethernet_put_packet(PST_NETIF pstNetif, PST_SLINKEDLIST_NODE pstNode);
入口参数
- pstNetif:指向网卡控制块ST_NETIF的指针
- pstNode:指向协议栈ethernet网卡接收链表节点的指针
无
示例
参见上一篇博文《onps栈移植说明(3)——添加网卡》 。
返回目录
netif_is_ready功能
检查网卡是否已进入或正处于正常工作状态 。
原型
BOOL netif_is_ready(const CHAR *pszIfName);
入口参数
- pszIfName:指向网卡名称的指针
返回TRUE,网卡已就绪;反之则返回FALSE 。
示例
略
返回目录
netif_get_by_name功能
通过网卡名称查找网卡 。
经验总结扩展阅读
- 索尼wf1000xm4怎么连接_索尼wf1000xm4使用说明
- 3 onps栈移植说明——添加网卡
- 2 onps栈移植说明——编译器及os适配层移植
- 1 onps栈移植说明——onps栈的配置及裁剪
- 亲爱的客栈杨紫乔欣是哪期?
- <一>从指令角度了解函数堆栈调用过程
- 漫步者funbuds怎么配对_漫步者funbuds使用说明
- 3 Python全栈工程师之从网页搭建入门到Flask全栈项目实战 - 入门Flask微框架
- 全自动洗衣机怎么用 全自动洗衣机使用说明
- 都卷Java,你看看你得学多少技术栈才能工作!