nl80211_copy.h 来自 wpa_supplicant-2.6/src/drivers/nl80211_copy.h,在高通无线驱动中 hardware/qcom/qcwcn/wifi_hal 里面被引用,高通无线驱动位于安卓根目录下的 hardware/qcom/wlan/qcwcn 路径下,而 wpa_supplicant 位于 external/wpa_supplicant_8 中
android/hardware/qcom/wlan 目录树结构:
├── cld80211-lib
└── qcwcn
├── config
├── wcnss-service
├── wifi_hal
│ └── wifi_hal_ctrl
└── wpa_supplicant_8_lib
无线驱动同级目录下有 libcld80211.so 库的包定义 android/hardware/qcom/wlan/cld80211-lib,而无线驱动的代码包含如下内容:
config 用于构建 wpa_supplicant 的配置信息;
wcnss-service 用于部分架构下的 qmi 通信服务,其中 arm64 架构都不需要;
wpa_supplicant_8_lib 用于提供库函数接口给 wpa_supplicant 使用,以便提供相关设置操作的接口,以静态库的形式编译提供;
wifi_hal 部分用于生成 HAL 层的库,提供 HAL 相关操作接口,用于实际的 HAL 层交互过程,实现对硬件的控制,编译结果为 libwifi-hal-qcom.so 动态库,具体的 Android.mk 定义可以参考 https://www.jianshu.com/p/703ef39dff3f