<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                歡迎轉載,轉載請注明出處。 下面從main函數開始源代碼的分析,這一篇主要對開始處的for循環介紹,里面的選項和參數的處理方式,主要依賴于命令行或者腳本調用hostapd時,傳進來的參數是什么 ~~~ int main(int argc, char *argv[]) { struct hapd_interfaces interfaces; int ret = 1, k; size_t i, j; int c, debug = 0, daemonize = 0, tnc = 0; char *pid_file = NULL; hostapd_logger_register_cb(hostapd_logger_cb); for (;;) { c = getopt(argc, argv, "Bde:hKP:tv"); switch (c) { case 'h': usage(); break; case 'd': debug++; if (wpa_debug_level > 0) wpa_debug_level--; break; case 'e': entropy_file = optarg; break; ?case 'B': daemonize++; break; case 'K': wpa_debug_show_keys++; break; case 'P': os_free(pid_file); pid_file = os_rel2abs_path(optarg); break; case 't': wpa_debug_timestamp++; break; case 'v': show_version(); exit(1); break; default: usage(); break; } .... ~~~ 理解這個for循環,首先要很準確的理解getopt函數的使用,以及對argc和argv的把握,可以先參考 <a target=_blank href="http://blog.csdn.net/lee244868149/article/details/42025221">getopt 和getopt_long </a> 和 <a target=_blank href="http://blog.csdn.net/lee244868149/article/details/42002741">getopt解析命令行選項參數 </a>, 特別是理解optarg和optind代表的含義很重要。 -h 如果選項是-h,那么調用usage()函數,打印命令幫助信息 -d 當選擇-d選項時,debug變量加一,wpa_debug_level調試級別變量減一。 在src/utils/wpa_debug.c中有定義: ?????????????????????????????? int wpa_debug_level = MSG_INFO; ?????????????????????????????? int wpa_debug_show_keys = 0; ?????????????????????????????? int wpa_debug_timestamp = 0; MSG_INFO是一個枚舉成員,enum { MSG_MSGDUMP, MSG_DEBUG, MSG_INFO, MSG_WARNING, MSG_ERROR };它在第三個位置,所以MSG_INFO值為2,這個是默認值,在該級別時正常情況下基本沒有日志輸出。在這種情況下,就能打印MSG_INFO, MSG_WARNING, MSG_ERROR這三個級別的信息,在該級別時正常情況下基本沒有 日志輸出的,因而要想獲得更多執行流程中的輸出就需要增加debug級別,如果想把碼流及各radius屬性均打印出的話就將級別調為MSG_MSGDUMP了。 debug級別越高,那么對應的wpa_debug_level值就越小,輸出的信息就越多 -e 指定entropy文件的路徑 -B 該選項將hostapd進程作為守護進程運行,如果含有該選項則執行os_daemonize(pid_file),在utils/os_win32.c中該函數未實現, 在utils/os_unix.c中定義為int os_daemonize(const char *pid_file),<span style="color:#FF0000;">其中os_daemon即為daemon系統調,如果調用成功則獲取進程id并寫入pid_file指定的文件中</span>。 -K 該選項用于控制在調試時是否輸出密鑰相關key值。如需輸出密鑰還需要設置日志級別為MSG_DEBUG或以上 例如:wpa_hexdump_key(MSG_DEBUG, "EAP-TTLS: Derived implicit challenge", challenge, len); 如果選項中沒有K顯式說明,則即使日志級別為MSG_DEBUG或MSG_MSGDUMP也不會輸出的 -P 設定pid_file的值,os_rel2abs_path 將參數提供的相對路徑轉為絕對路徑。 -t 該項作用為在日志中包含時間戳信息,wpa_debug_timestamp的定義參見選項-d的說明,默認值為0,即不包含。 帶時間戳效果為: 1270995804.000000: EAP: EAP entering state RECEIVED 1270995804.000000: EAP: parseEapResp: rxResp=1 respId=77 respMethod=21 respVendor=0 respVendorMethod=0 -v 打印版本信息并退出 這些選項主要用于hostapd程序被調用時,實現交互和傳入參數的處理,下一篇將介紹hostapd_global_init()函數所完成的初始化工作。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看