本文主要介绍external/wpa_supplicant_8/wpa_supplicant/wpa_supplicant.c 这个文件
一 .这个文件中我们先重点介绍下wpa_supplicant_init
主要干了以下几件事情
1. 注册ifname callback,有些输出信息中需要打印出网卡接口名, 该回调函数用于获取网卡接口名
2. 初始化debug log文件相关
3. ret = eap_register_methods(); // 注册eap方法, 比如 MD5, tls , ttls , mschapv2 等等
4. global->ctrl_iface = wpa_supplicant_global_ctrl_iface_init(global);
// 1. 建立ctrl sock连接:-g@android:vendor_wpa_wlan0
// 2. 注册eloop read sock
// 3. 注册wpa msg callback函数, 除了打印输出信息外, 还可通过该回调函数进行一些特殊处理, 如把输出信息发送给客户端进行处理
5. if (wpas_notify_supplicant_initialized(global)) { (备注下,Android T项目开始 hidl变成了aidl了,大家记得注意下,此代码是基于Android S进行分析的)
// 1. dbus 初始化
// 2. hidl 初始化
// 2.1 注册hidl read sock
// 2.2 注册hidl service,vendor HIDL service