WHC 客制化通路-CUST_PATH

WHC 客制化通路介绍

核心能力

  • 提供 Host 与 Device 间的客制化数据传输通道,支持双向任意数据传输

典型应用场景

  • 功能扩展:开发除标准 Wi-Fi/BT/Socket 之外的私有协议

  • Slim Host 模式适配:在资源受限环境中替代标准 Wi-Fi API,实现轻量级控制

技术优势

  • 灵活性:不依赖特定协议,客户可自定义数据结构和交互逻辑

  • 低耦合性:与标准通信接口(如 Wi-Fi/BT)隔离,避免功能冲突

../../../_images/fullmac_architecture_diagram.svg

WHC 客制化通路 API

WHC Wi-Fi 头文件

whc_host_linux/common/whc_host_cmd_path_api.h

whc_host_linux/app/whc_host_app_api.h

WHC CUST_PATH API 参考

int whc_host_buf_rx_to_user(u8 *buf, u16 size);
../../../_images/fullmac_linux_api_rx.svg

项目

描述

功能

处理设备到主机的数据包传输,默认实现将数据包转发至用户空间

参数

buf: 数据包缓冲区指针,size: 数据包有效长度(字节)

返回值

0表示成功,非零为错误码

备注

此为 RTK SDK 中的弱定义接口,建议用户根据实际场景重载实现。

void whc_host_send_data_to_dev(u8 *pbuf, u32 len, u32 with_txdesc);
../../../_images/fullmac_linux_api_tx.svg

项目

描述

功能

内核空间到设备的数据包传输接口

参数

pbuf: 发送数据缓冲区,len: 有效数据长度 , with_txdesc: 1表示缓冲区已包含TX描述符头

返回值

int whc_host_api_send_nl_data(uint8_t *buf, uint32_t buf_len);
../../../_images/fullmac_linux_api_tx.svg

项目

描述

功能

用户空间到设备的Netlink数据传输接口

参数

buf: 结构化数据缓冲区,buf_len: 数据长度

返回值

0表示成功,非零为错误码

备注

  • Fat Host: Wi-Fi/BT/Socket 通信均采用标准 API,客户可以使用 CUST_PATH API 实现 Host 和 Device 之间客制化数据的传输。

  • Slim Host: BT/Socket 采用标准 API,但是 Wi-Fi 无法使用标准 API,此时需要 CUST_PATH API 实现 Wi-Fi 的控制以及客制化数据的传输。