码迷,mamicode.com
首页 > 移动开发 > 详细

android wpa_supplicant.c源码解析

时间:2015-07-23 23:50:24      阅读:278      评论:0      收藏:0      [点我收藏+]

标签:

  要看明白wpa_supplicant.c的代码,首先需要搞清楚三个很重要的结构体: struct wpa_supplicant,struct wpa_config和wpa_ssid。下面对struct wpa_supplicant的各个成员代表的含义进行说明。

  struct wpa_supplicant {

      u8 bssid[ETH_ALEN];//连接到的bssid对应的mac地址,只有在认证时才会设置此值

      u8 pending_bssid[ETH_ALEN];//认证时将要进行连接的bssid

      struct wpa_bss *current_bss;//当前连接的ssid

      unsigned char own_addr[ETH_ALEN];//本机对应的mac地址

      int reassociate;//认证失败后置为1

      int new_connection;//连上时值为0,没连上值为1

      int disconnected;//指示当前supplicant是否处于disconnected状态

      int *next_scan_freqs;//扫描特定bss时用特定的freq

      enum scan_req_type scan_req;//scan类型,有连接扫描,自动扫描,手动扫描

      int normal_scans;//连接扫描优先自动扫描

      int prev_scan_wildcard;//分为全扫描还是针对特定ssid的扫描

      struct wpa_radio_work *connect_work;//注意struct wpa_radio_work和struct wpa_supplicant相互之间的关系

      int group_cipher;//多播密码

      int pairwise_cipher;//单播密码

      int key_mgmt;//单播密钥管理类型

      int mgmt_group_cipher;//多播密钥管理类型

      int wpa_proto;//支持的安全方式,如WPA/WPA2(RSN)

      struct l2_packet_data *l2;//数据链路层EAPOL数据包

      int eapol_received;//接收到的EAPOL数据包的个数,总共为4个

      unsigned int drv_flags;//driver的当前状态及能承担的角色

      struct eapol_sm *eapol;//对应的struct eapol_sm状态机

      struct wpa_sm *wpa;//对应的struct wpa_sm状态机

      struct wpa_config *conf;//struct wpa_supplicant对应wpa_supplicant结构体

      char *confname;//对应wpa_supplicant.conf文件

      char *confanother;//对应p2p_supplicant.conf文件

      enum wpa_states wpa_state;//对应WPA_DISCONNECTED等def.h中定义的状态

      struct wpa_supplicant *next;//说明struct wpa_supplicant形成了一个链表

      struct wpa_supplicant *parent;//对应struct wpa_supplicant链表的头节点

      struct wpa_global *global;//全局管理struct wpa_supplicant,包含struct wpa_supplicant头节点

      char ifname[100];//ctrl iface接口的名字,比较ifname和ctrl_iface

      struct ctrl_iface_priv *ctrl_iface;

  }

版权声明:本文为博主原创文章,未经博主允许不得转载。

android wpa_supplicant.c源码解析

标签:

原文地址:http://blog.csdn.net/xhunterh/article/details/47028635

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!