/*****************************************************************************                   wpa_supplicant drivers 查看跟踪* 说明:*     最近调试wifi的时候由于wpa_supplicant仅仅支持wext,但是芯片移植手册上* 却要使用nl80211模式,总是找不到查询方法,于是今天跟wpa_supplicant代码的* 时候发现通过-h参数就可以查看到。**                                          2016-6-29 深圳 南山平山村 曾剑锋****************************************************************************/static void usage(void)
{int i;printf("%s\n\n%s\n""usage:\n""  wpa_supplicant [-BddhKLqqstuvW] [-P<pid file>] ""[-g<global ctrl>] \\\n""        -i<ifname> -c<config file> [-C<ctrl>] [-D<driver>] ""[-p<driver_param>] \\\n""        [-b<br_ifname>] [-f<debug file>] [-e<entropy file>] ""\\\n""        [-o<override driver>] [-O<override ctrl>] \\\n""        [-N -i<ifname> -c<conf> [-C<ctrl>] ""[-D<driver>] \\\n""        [-p<driver_param>] [-b<br_ifname>] ...]\n""\n""drivers:\n",wpa_supplicant_version, wpa_supplicant_license);for (i = 0; wpa_drivers[i]; i++) {          ------------------------------+printf("  %s = %s\n",                                                 |wpa_drivers[i]->name,                                          |wpa_drivers[i]->desc);                                         |}                                                                         ||
#ifndef CONFIG_NO_STDOUT_DEBUG                                                |printf("options:\n"                                                       |"  -b = optional bridge interface name\n"                          |"  -B = run daemon in the background\n"                            |"  -c = Configuration file\n"                                      |"  -C = ctrl_interface parameter (only used if -c is not)\n"       |"  -i = interface name\n"                                          |"  -d = increase debugging verbosity (-dd even more)\n"            |"  -D = driver name (can be multiple drivers: nl80211,wext)\n"     |"  -e = entropy file\n");                                          |
#ifdef CONFIG_DEBUG_FILE                                                      |printf("  -f = log output to debug file instead of stdout\n");            |
#endif /* CONFIG_DEBUG_FILE */                                                |printf("  -g = global ctrl_interface\n"                                   |"  -K = include keys (passwords, etc.) in debug output\n");        |
#ifdef CONFIG_DEBUG_SYSLOG                                                    |printf("  -s = log output to syslog instead of stdout\n");                |
#endif /* CONFIG_DEBUG_SYSLOG */                                              |
#ifdef CONFIG_DEBUG_LINUX_TRACING                                             |printf("  -T = record to Linux tracing in addition to logging\n");        |printf("       (records all messages regardless of debug verbosity)\n");  |
#endif /* CONFIG_DEBUG_LINUX_TRACING */                                       |printf("  -t = include timestamp in debug messages\n"                     |"  -h = show this help text\n"                                     |"  -L = show license (BSD)\n"                                      |"  -o = override driver parameter for new interfaces\n"            |"  -O = override ctrl_interface parameter for new interfaces\n"    |"  -p = driver parameters\n"                                       |"  -P = PID file\n"                                                |"  -q = decrease debugging verbosity (-qq even less)\n");          |
#ifdef CONFIG_DBUS                                                            |printf("  -u = enable DBus control interface\n");                         |
#endif /* CONFIG_DBUS */                                                      |printf("  -v = show version\n"                                            |"  -W = wait for a control interface monitor before starting\n"    |"  -N = start describing new interface\n");                        ||printf("example:\n"                                                       |"  wpa_supplicant -D%s -iwlan0 -c/etc/wpa_supplicant.conf\n",      |wpa_drivers[i] ? wpa_drivers[i]->name : "wext");                   |
#endif /* CONFIG_NO_STDOUT_DEBUG */                                           |
}                                                                             |||
struct wpa_driver_ops *wpa_drivers[] =         <------------------------------+
{
#ifdef CONFIG_DRIVER_WEXT&wpa_driver_wext_ops,          ------+
#endif /* CONFIG_DRIVER_WEXT */          |
#ifdef CONFIG_DRIVER_NL80211             |&wpa_driver_nl80211_ops,       ------*-------------------------------------+
#endif /* CONFIG_DRIVER_NL80211 */       |                                     |......                               |                                     |NULL                                 |                                     |
};                                       |                                     ||                                     |
#ifdef CONFIG_DRIVER_WEXT                V                                     |
extern struct wpa_driver_ops wpa_driver_wext_ops; /* driver_wext.c */    ----+ |
#endif /* CONFIG_DRIVER_WEXT */                                              | |
#ifdef CONFIG_DRIVER_NL80211             v-----------------------------------*-+
extern struct wpa_driver_ops wpa_driver_nl80211_ops; /* driver_nl80211.c */  | |
#endif /* CONFIG_DRIVER_NL80211 */                                           | || |
const struct wpa_driver_ops wpa_driver_wext_ops = {           <--------------+ |.name = "wext",                                                            |.desc = "Linux wireless extensions (generic)",                             |.get_bssid = wpa_driver_wext_get_bssid,                                    |.get_ssid = wpa_driver_wext_get_ssid,                                      |.set_key = wpa_driver_wext_set_key,                                        |.set_countermeasures = wpa_driver_wext_set_countermeasures,                |.scan2 = wpa_driver_wext_scan,                                             |.get_scan_results2 = wpa_driver_wext_get_scan_results,                     |.deauthenticate = wpa_driver_wext_deauthenticate,                          |.disassociate = wpa_driver_wext_disassociate,                              |.associate = wpa_driver_wext_associate,                                    |.init = wpa_driver_wext_init,                                              |.deinit = wpa_driver_wext_deinit,                                          |.add_pmkid = wpa_driver_wext_add_pmkid,                                    |.remove_pmkid = wpa_driver_wext_remove_pmkid,                              |.flush_pmkid = wpa_driver_wext_flush_pmkid,                                |.get_capa = wpa_driver_wext_get_capa,                                      |.set_operstate = wpa_driver_wext_set_operstate,                            |.get_radio_name = wext_get_radio_name,                                     |
#ifdef ANDROID                                                                 |.sched_scan = wext_sched_scan,                                             |.stop_sched_scan = wext_stop_sched_scan,                                   |
#endif /* ANDROID */                                                           |
};                                                                             ||
const struct wpa_driver_ops wpa_driver_nl80211_ops = {         <---------------+.name = "nl80211",.desc = "Linux nl80211/cfg80211",.get_bssid = wpa_driver_nl80211_get_bssid,.get_ssid = wpa_driver_nl80211_get_ssid,.set_key = wpa_driver_nl80211_set_key,.scan2 = wpa_driver_nl80211_scan,.sched_scan = wpa_driver_nl80211_sched_scan,.stop_sched_scan = wpa_driver_nl80211_stop_sched_scan,.get_scan_results2 = wpa_driver_nl80211_get_scan_results,.deauthenticate = wpa_driver_nl80211_deauthenticate,.disassociate = wpa_driver_nl80211_disassociate,.authenticate = wpa_driver_nl80211_authenticate,.associate = wpa_driver_nl80211_associate,.global_init = nl80211_global_init,.global_deinit = nl80211_global_deinit,.init2 = wpa_driver_nl80211_init,.deinit = wpa_driver_nl80211_deinit,.get_capa = wpa_driver_nl80211_get_capa,.set_operstate = wpa_driver_nl80211_set_operstate,.set_supp_port = wpa_driver_nl80211_set_supp_port,.set_country = wpa_driver_nl80211_set_country,.set_ap = wpa_driver_nl80211_set_ap,.if_add = wpa_driver_nl80211_if_add,.if_remove = wpa_driver_nl80211_if_remove,.send_mlme = wpa_driver_nl80211_send_mlme,.get_hw_feature_data = wpa_driver_nl80211_get_hw_feature_data,.sta_add = wpa_driver_nl80211_sta_add,.sta_remove = wpa_driver_nl80211_sta_remove,.hapd_send_eapol = wpa_driver_nl80211_hapd_send_eapol,.sta_set_flags = wpa_driver_nl80211_sta_set_flags,
#ifdef HOSTAPD.hapd_init = i802_init,.hapd_deinit = i802_deinit,.set_wds_sta = i802_set_wds_sta,
#endif /* HOSTAPD */
#if defined(HOSTAPD) || defined(CONFIG_AP).get_seqnum = i802_get_seqnum,.flush = i802_flush,.get_inact_sec = i802_get_inact_sec,.sta_clear_stats = i802_sta_clear_stats,.set_rts = i802_set_rts,.set_frag = i802_set_frag,.set_tx_queue_params = i802_set_tx_queue_params,.set_sta_vlan = i802_set_sta_vlan,.sta_deauth = i802_sta_deauth,.sta_disassoc = i802_sta_disassoc,
#endif /* HOSTAPD || CONFIG_AP */.read_sta_data = i802_read_sta_data,.set_freq = i802_set_freq,.send_action = wpa_driver_nl80211_send_action,.send_action_cancel_wait = wpa_driver_nl80211_send_action_cancel_wait,.remain_on_channel = wpa_driver_nl80211_remain_on_channel,.cancel_remain_on_channel =wpa_driver_nl80211_cancel_remain_on_channel,.probe_req_report = wpa_driver_nl80211_probe_req_report,.deinit_ap = wpa_driver_nl80211_deinit_ap,.deinit_p2p_cli = wpa_driver_nl80211_deinit_p2p_cli,.resume = wpa_driver_nl80211_resume,.send_ft_action = nl80211_send_ft_action,.signal_monitor = nl80211_signal_monitor,.signal_poll = nl80211_signal_poll,.send_frame = nl80211_send_frame,.shared_freq = wpa_driver_nl80211_shared_freq,.set_param = nl80211_set_param,.get_radio_name = nl80211_get_radio_name,.add_pmkid = nl80211_add_pmkid,.remove_pmkid = nl80211_remove_pmkid,.flush_pmkid = nl80211_flush_pmkid,.set_rekey_info = nl80211_set_rekey_info,.poll_client = nl80211_poll_client,.set_p2p_powersave = nl80211_set_p2p_powersave,
#ifdef CONFIG_TDLS.send_tdls_mgmt = nl80211_send_tdls_mgmt,.tdls_oper = nl80211_tdls_oper,
#endif /* CONFIG_TDLS */
#ifdef ANDROID_P2P.set_noa = wpa_driver_set_p2p_noa,.get_noa = wpa_driver_get_p2p_noa,.set_ap_wps_ie = wpa_driver_set_ap_wps_p2p_ie,
#endif
#ifdef ANDROID.driver_cmd = wpa_driver_nl80211_driver_cmd,
#endif
};/**** root@android:/ # wpa_supplicant                                                * wpa_supplicant v2.0-devel-4.2.2_rtw_r8680.20130821* Copyright (c) 2003-2012, Jouni Malinen <j@w1.fi> and contributors* * This software may be distributed under the terms of the BSD license.* See README for more details.* * This product includes software developed by the OpenSSL Project* for use in the OpenSSL Toolkit (http://www.openssl.org/)* * usage:*   wpa_supplicant [-BddhKLqqstuvW] [-P<pid file>] [-g<global ctrl>] \*         -i<ifname> -c<config file> [-C<ctrl>] [-D<driver>] [-p<driver_param>] \*         [-b<br_ifname>] [-f<debug file>] [-e<entropy file>] \*         [-o<override driver>] [-O<override ctrl>] \*         [-N -i<ifname> -c<conf> [-C<ctrl>] [-D<driver>] \*         [-p<driver_param>] [-b<br_ifname>] ...]* * drivers:*   wext = Linux wireless extensions (generic)        <-------------------*   nl80211 = Linux nl80211/cfg80211                  <-------------------* options:*   -b = optional bridge interface name*   -B = run daemon in the background*   -c = Configuration file*   -C = ctrl_interface parameter (only used if -c is not)*   -i = interface name*   -d = increase debugging verbosity (-dd even more)*   -D = driver name (can be multiple drivers: nl80211,wext)*   -e = entropy file*   -g = global ctrl_interface*   -K = include keys (passwords, etc.) in debug output*   -t = include timestamp in debug messages*   -h = show this help text*   -L = show license (BSD)*   -o = override driver parameter for new interfaces*   -O = override ctrl_interface parameter for new interfaces*   -p = driver parameters*   -P = PID file*   -q = decrease debugging verbosity (-qq even less)*   -v = show version*   -W = wait for a control interface monitor before starting*   -N = start describing new interface* example:*   wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant.conf* 255|root@android:/ # **/

wpa_supplicant drivers 查看跟踪相关推荐

  1. mysql通过查看跟踪日志跟踪执行的sql语句

    在SQL SERVER下跟踪sql采用事件探查器,而在mysql下如何跟踪sql呢? 其实方法很简单,开启mysql的日志log功能,通过查看跟踪日志即可. 开启mysql的日志log方法: wind ...

  2. new失败跟踪函数_WinDbg预览时间线:调试器中的时间线可以允许用户记录跟踪

    时间旅行调试(TTD)允许用户记录跟踪,这些跟踪是对程序执行的记录.时间线是执行过程中发生的事件的直观表示,这些事件可以是包括断点,内存读/写,函数调用和返回以及异常. 使用时间线窗口可以快速查看重要 ...

  3. ceph bluestore 源码分析:ceph-osd内存查看方式及控制源码分析

    文章目录 内存查看 内存控制 内存控制源码分析 通过gperftools接口获取osd进程实际内存 动态设置cache大小 动态调整cache比例 trim释放内存 本文通过对ceph-osd内存查看 ...

  4. Spring Cloud构建微服务架构:分布式服务跟踪(收集原理)【Dalston版】

    在本节内容之前,我们已经对如何引入Sleuth跟踪信息和搭建Zipkin服务端分析跟踪延迟的过程做了详细的介绍,相信大家对于Sleuth和Zipkin已经有了一定的感性认识.接下来,我们介绍一下关于Z ...

  5. golang 关闭gc 并手动gc_Golang 大杀器之跟踪剖析 trace

    Go语言中文网,致力于每日分享编码.开源等知识,欢迎关注我,会有意想不到的收获! 在 Go 中有许许多多的分析工具,在之前我有写过一篇 Golang 大杀器之性能剖析 PProf 来介绍 PProf, ...

  6. trace对页启用跟踪

    对页启用跟踪 打开 页并切换至"设计"视图. 在"属性"列表中,单击"DOCUMENT". 这将显示该页的属性. 将"Trace& ...

  7. IIS负载均衡-Application Request Route详解第六篇:使用失败请求跟踪规则来诊断ARR

    失败请求跟踪规则(FailedRequest Tracing Rules)是IIS7中对请求处理进行诊断的强大的工具.我们本篇文章将会带领大家一步步的来配置失败请求跟踪规则,并且告诉大家如何使用这些信 ...

  8. oracle类似sqlcmd工具,Oracle:是否有跟踪查询的工具,例如用于SQL Server的Profiler?...

    德玛西亚99 alter system set timed_statistics=true- 要么alter session set timed_statistics=true --if want t ...

  9. 利用sql_trace跟踪一个指定会话的操作

    1.  sys用户给管理用户授权. SQL> grant execute on sys.dbms_system to andy; Grant succeeded. 2. 查询被跟踪用户的sid, ...

最新文章

  1. IIS配置相关问题:Framework 4.5 在IIS 7.5中运行
  2. python中字典的value可以为任意对象_Python对象作为字典值
  3. Chart.js-饼状图分析(参数分析+例图)
  4. 通过a标签在页面上显示视频网站中的视频
  5. java杰森_java – 杰克逊杰森Mapper:没有场或空场?
  6. 安卓逆向_13 --- AndroidStudio + Smalidea 动态调试 smali 代码【APK可调试】、gradle 配置
  7. Javascript快速排序
  8. Eventlog Analyzer日志管理系统、日志分析工具、日志服务器的功能及作用
  9. python 化学_Python趣用—配平化学方程式!
  10. 现代软件工程讲义 7 设计阶段 典型用户 - 故事 - 任务 - 具体工作
  11. 463个生活小窍门 找找你需要的!(1-200)
  12. hive创建新表——基础
  13. Changes to be committed: (use “git restore --staged <file>...“ to unstage)
  14. 超级无敌各种排序算法 一个代码解决<可以做后序模板>
  15. css布局入门级实战之九宫格网格布局
  16. 关于我的电脑显示一直处理中解决办法
  17. (十五)覆盖率数据采样、交叉覆盖率_覆盖选项
  18. FFN -> GLU -> GAU
  19. l7809cv是什么管子_L7805CV稳压电路图 L7805CV引脚图封装参数大全
  20. MySQL默认 InnoDB 存储引擎 详解

热门文章

  1. 开源 免费 java CMS - FreeCMS-标签 channelList .
  2. spring开发_BeanFactoryPostProcessor_容器后处理器
  3. setInterval动态时间处理
  4. WPF DispatcherTimer(定时器应用) 无人触摸60s自动关闭窗口
  5. Arrays.binarySearch 面试的坑
  6. IDEA无法在service层用注解方式注入mapper
  7. hdu3635 Dragon Balls(带权并查集)
  8. 继承ViewGroup类
  9. QuickTime 0day ***代码发布,可能允许执行任意代码
  10. BCH压力测试悄然开始?有优势但也有不足!