原文链接:https://blog.csdn.net/weixin_38503885/article/details/83108462
原文链接:https://blog.csdn.net/hello_programmer/article/details/42367547
原文链接:http://onestraw.github.io/linux/netlink-route-listen/
struct hostapd_iface 部分
1. hostapd_driver_init(interfaces.iface[i])
hapd_init调用的函数是i802_init()
i802_init()函数分析
(1)wpa_driver_nl80211_drv_init()
1. nl80211_init_bss(bss)函数
这个函数中建立了和内核之间的通信,socket创建和连接
回调函数类型 原文链接 :http://onestraw.github.io/linux/netlink-route-listen/
1.1 nl80211_init_connect_handle(bss)函数
1.1.1 nl_create_handle()函数
创建和连接这两个函数都是netlink 的库函数,libnl
内核中有那么多socket,如何准确的与内核中想要连接的socket建立连接呢,与内核中要连接的socket标识相同即可。
从代码中的打印来看,猜测标识是“nl80211”
1.1.2 nl80211_register_eloop_read()函数
将handler函数注册到eloop表中,类型为read
handler函数:
(2)wpa_driver_nl80211_finish_drv_init()函数