⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 config.h

📁 一个Linux下无线网卡的设置工具
💻 H
字号:
/* * WPA Supplicant / Configuration file structures * Copyright (c) 2003-2005, Jouni Malinen <jkmaline@cc.hut.fi> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * Alternatively, this software may be distributed under the terms of BSD * license. * * See README and COPYING for more details. */#ifndef CONFIG_H#define CONFIG_H#ifdef CONFIG_CTRL_IFACE#ifndef CONFIG_CTRL_IFACE_UDP#include <grp.h>#endif /* CONFIG_CTRL_IFACE_UDP */#endif /* CONFIG_CTRL_IFACE */#define DEFAULT_EAPOL_VERSION 1#define DEFAULT_AP_SCAN 1#define DEFAULT_FAST_REAUTH 1#include "config_ssid.h"/** * struct wpa_config_blob - Named configuration blob * * This data structure is used to provide storage for binary objects to store * abstract information like certificates and private keys inlined with the * configuration data. */struct wpa_config_blob {	/**	 * name - Blob name	 */	char *name;	/**	 * data - Pointer to binary data	 */	u8 *data;	/**	 * len - Length of binary data	 */	size_t len;	/**	 * next - Pointer to next blob in the configuration	 */	struct wpa_config_blob *next;};/** * struct wpa_config - wpa_supplicant configuration data * * This data structure is presents the per-interface (radio) configuration * data. In many cases, there is only one struct wpa_config instance, but if * more than one network interface is being controlled, one instance is used * for each. */struct wpa_config {	/**	 * ssid - Head of the global network list	 *	 * This is the head for the list of all the configured networks.	 */	struct wpa_ssid *ssid;	/**	 * pssid - Per-priority network lists (in priority order)	 */	struct wpa_ssid **pssid;	/**	 * num_prio - Number of different priorities used in the pssid lists	 *	 * This indicates how many per-priority network lists are included in	 * pssid.	 */	int num_prio;	/**	 * eapol_version - IEEE 802.1X/EAPOL version number	 *	 * wpa_supplicant is implemented based on IEEE Std 802.1X-2004 which	 * defines EAPOL version 2. However, there are many APs that do not	 * handle the new version number correctly (they seem to drop the	 * frames completely). In order to make wpa_supplicant interoperate	 * with these APs, the version number is set to 1 by default. This	 * configuration value can be used to set it to the new version (2).	 */	int eapol_version;	/**	 * ap_scan - AP scanning/selection	 *	 * By default, wpa_supplicant requests driver to perform AP	 * scanning and then uses the scan results to select a	 * suitable AP. Another alternative is to allow the driver to	 * take care of AP scanning and selection and use	 * wpa_supplicant just to process EAPOL frames based on IEEE	 * 802.11 association information from the driver.	 *	 * 1: wpa_supplicant initiates scanning and AP selection (default).	 *	 * 0: Driver takes care of scanning, AP selection, and IEEE 802.11	 * association parameters (e.g., WPA IE generation); this mode can	 * also be used with non-WPA drivers when using IEEE 802.1X mode;	 * do not try to associate with APs (i.e., external program needs	 * to control association). This mode must also be used when using	 * wired Ethernet drivers.	 *	 * 2: like 0, but associate with APs using security policy and SSID	 * (but not BSSID); this can be used, e.g., with ndiswrapper and NDIS	 * drivers to enable operation with hidden SSIDs and optimized roaming;	 * in this mode, the network blocks in the configuration are tried	 * one by one until the driver reports successful association; each	 * network block should have explicit security policy (i.e., only one	 * option in the lists) for key_mgmt, pairwise, group, proto variables.	 */	int ap_scan;	/**	 * ctrl_interface - Directory for UNIX domain sockets	 *	 * This variable is used to configure where the UNIX domain sockets	 * for the control interface are created. If UDP-based ctrl_iface is	 * used, this variable can be set to any string (i.e., %NULL is not	 * allowed).	 */	char *ctrl_interface;#ifdef CONFIG_CTRL_IFACE#ifndef CONFIG_CTRL_IFACE_UDP	/**	 * ctrl_interface_gid - Group identity for the UNIX domain sockets	 *	 * Access control for the control interface can be configured	 * by setting the directory to allow only members of a group	 * to use sockets. This way, it is possible to run	 * wpa_supplicant as root (since it needs to change network	 * configuration and open raw sockets) and still allow GUI/CLI	 * components to be run as non-root users. However, since the	 * control interface can be used to change the network	 * configuration, this access needs to be protected in many	 * cases. By default, wpa_supplicant is configured to use gid	 * 0 (root). If you want to allow non-root users to use the	 * control interface, add a new group and change this value to	 * match with that group. Add users that should have control	 * interface access to this group.	 */	gid_t ctrl_interface_gid;#endif /* CONFIG_CTRL_IFACE_UDP */	/**	 * ctrl_interface_gid_set - Whether ctrl_interface_gid is used	 *	 * If this variable is zero, ctrl_interface_gid value is not used and	 * group will not be changed from the value it got by default	 * when the directory or socket was created.	 */	int ctrl_interface_gid_set;#endif /* CONFIG_CTRL_IFACE */	/**	 * fast_reauth - EAP fast re-authentication (session resumption)	 *	 * By default, fast re-authentication is enabled for all EAP methods	 * that support it. This variable can be used to disable fast	 * re-authentication (by setting fast_reauth=0). Normally, there is no	 * need to disable fast re-authentication.	 */	int fast_reauth;	/**	 * opensc_engine_path - Path to the OpenSSL engine for opensc	 *	 * This is an OpenSSL specific configuration option for loading OpenSC	 * engine (engine_opensc.so); if %NULL, this engine is not loaded.	 */	char *opensc_engine_path;	/**	 * pkcs11_engine_path - Path to the OpenSSL engine for PKCS#11	 *	 * This is an OpenSSL specific configuration option for loading PKCS#11	 * engine (engine_pkcs11.so); if %NULL, this engine is not loaded.	 */	char *pkcs11_engine_path;	/**	 * pkcs11_module_path - Path to the OpenSSL OpenSC/PKCS#11 module	 *	 * This is an OpenSSL specific configuration option for configuring	 * path to OpenSC/PKCS#11 engine (opensc-pkcs11.so); if %NULL, this	 * module is not loaded.	 */	char *pkcs11_module_path;	/**	 * driver_param - Driver interface parameters	 *	 * This text string is passed to the selected driver interface with the	 * optional struct wpa_driver_ops::set_param() handler. This can be	 * used to configure driver specific options without having to add new	 * driver interface functionality.	 */	char *driver_param;	/**	 * dot11RSNAConfigPMKLifetime - Maximum lifetime of a PMK	 *	 * dot11 MIB variable for the maximum lifetime of a PMK in the PMK	 * cache (unit: seconds).	 */	unsigned int dot11RSNAConfigPMKLifetime;	/**	 * dot11RSNAConfigPMKReauthThreshold - PMK re-authentication threshold	 *	 * dot11 MIB variable for the percentage of the PMK lifetime	 * that should expire before an IEEE 802.1X reauthentication occurs.	 */	unsigned int dot11RSNAConfigPMKReauthThreshold;	/**	 * dot11RSNAConfigSATimeout - Security association timeout	 *	 * dot11 MIB variable for the maximum time a security association	 * shall take to set up (unit: seconds).	 */	unsigned int dot11RSNAConfigSATimeout;	/**	 * update_config - Is wpa_supplicant allowed to update configuration	 *	 * This variable control whether wpa_supplicant is allow to re-write	 * its configuration with wpa_config_write(). If this is zero,	 * configuration data is only changed in memory and the external data	 * is not overriden. If this is non-zero, wpa_supplicant will update	 * the configuration data (e.g., a file) whenever configuration is	 * changed. This update may replace the old configuration which can	 * remove comments from it in case of a text file configuration.	 */	int update_config;	/**	 * blobs - Configuration blobs	 */	struct wpa_config_blob *blobs;};/* Prototypes for common functions from config.c */void wpa_config_free(struct wpa_config *ssid);void wpa_config_free_ssid(struct wpa_ssid *ssid);struct wpa_ssid * wpa_config_get_network(struct wpa_config *config, int id);struct wpa_ssid * wpa_config_add_network(struct wpa_config *config);int wpa_config_remove_network(struct wpa_config *config, int id);void wpa_config_set_network_defaults(struct wpa_ssid *ssid);int wpa_config_set(struct wpa_ssid *ssid, const char *var, const char *value,		   int line);char * wpa_config_get(struct wpa_ssid *ssid, const char *var);void wpa_config_update_psk(struct wpa_ssid *ssid);int wpa_config_add_prio_network(struct wpa_config *config,				struct wpa_ssid *ssid);const struct wpa_config_blob * wpa_config_get_blob(struct wpa_config *config,						   const char *name);void wpa_config_set_blob(struct wpa_config *config,			 struct wpa_config_blob *blob);void wpa_config_free_blob(struct wpa_config_blob *blob);int wpa_config_remove_blob(struct wpa_config *config, const char *name);struct wpa_config * wpa_config_alloc_empty(const char *ctrl_interface,					   const char *driver_param);/* Prototypes for backend specific functions from the selected config_*.c *//** * wpa_config_read - Read and parse configuration database * @name: Name of the configuration (e.g., path and file name for the * configuration file) * Returns: Pointer to allocated configuration data or %NULL on failure * * This function reads configuration data, parses its contents, and allocates * data structures needed for storing configuration information. The allocated * data can be freed with wpa_config_free(). * * Each configuration backend needs to implement this function. */struct wpa_config * wpa_config_read(const char *name);/** * wpa_config_write - Write or update configuration data * @name: Name of the configuration (e.g., path and file name for the * configuration file) * @config: Configuration data from wpa_config_read() * Returns: 0 on success, -1 on failure * * This function write all configuration data into an external database (e.g., * a text file) in a format that can be read with wpa_config_read(). This can * be used to allow wpa_supplicant to update its configuration, e.g., when a * new network is added or a password is changed. * * Each configuration backend needs to implement this function. */int wpa_config_write(const char *name, struct wpa_config *config);#endif /* CONFIG_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -