Interworking: Add GET_CRED ctrl_iface command
[mech_eap.git] / wpa_supplicant / config.h
index 2e558fd..a398049 100644 (file)
@@ -52,6 +52,11 @@ struct wpa_cred {
        int id;
 
        /**
+        * temporary - Whether this credential is temporary and not to be saved
+        */
+       int temporary;
+
+       /**
         * priority - Priority group
         *
         * By default, all networks and credentials get the same priority group
@@ -231,6 +236,58 @@ struct wpa_cred {
                size_t ssid_len;
        } *excluded_ssid;
        size_t num_excluded_ssid;
+
+       struct roaming_partner {
+               char fqdn[128];
+               int exact_match;
+               u8 priority;
+               char country[3];
+       } *roaming_partner;
+       size_t num_roaming_partner;
+
+       int update_identifier;
+
+       /**
+        * provisioning_sp - FQDN of the SP that provisioned the credential
+        */
+       char *provisioning_sp;
+
+       /**
+        * sp_priority - Credential priority within a provisioning SP
+        *
+        * This is the priority of the credential among all credentials
+        * provisionined by the same SP (i.e., for entries that have identical
+        * provisioning_sp value). The range of this priority is 0-255 with 0
+        * being the highest and 255 the lower priority.
+        */
+       int sp_priority;
+
+       unsigned int min_dl_bandwidth_home;
+       unsigned int min_ul_bandwidth_home;
+       unsigned int min_dl_bandwidth_roaming;
+       unsigned int min_ul_bandwidth_roaming;
+
+       /**
+        * max_bss_load - Maximum BSS Load Channel Utilization (1..255)
+        * This value is used as the maximum channel utilization for network
+        * selection purposes for home networks. If the AP does not advertise
+        * BSS Load or if the limit would prevent any connection, this
+        * constraint will be ignored.
+        */
+       unsigned int max_bss_load;
+
+       unsigned int num_req_conn_capab;
+       u8 *req_conn_capab_proto;
+       int **req_conn_capab_port;
+
+       /**
+        * ocsp - Whether to use/require OCSP to check server certificate
+        *
+        * 0 = do not use OCSP stapling (TLS certificate status extension)
+        * 1 = try to use OCSP stapling, but not require response
+        * 2 = require valid OCSP stapling response
+        */
+       int ocsp;
 };
 
 
@@ -329,6 +386,18 @@ struct wpa_config {
        int ap_scan;
 
        /**
+        * bgscan - Background scan and roaming parameters or %NULL if none
+        *
+        * This is an optional set of parameters for background scanning and
+        * roaming within a network (ESS). For more detailed information see
+        * ssid block documentation.
+        *
+        * The variable defines default bgscan behavior for all BSS station
+        * networks except for those which have their own bgscan configuration.
+        */
+        char *bgscan;
+
+       /**
         * disable_scan_offload - Disable automatic offloading of scan requests
         *
         * By default, %wpa_supplicant tries to offload scanning if the driver
@@ -605,6 +674,8 @@ struct wpa_config {
        int p2p_intra_bss;
        unsigned int num_p2p_pref_chan;
        struct p2p_channel *p2p_pref_chan;
+       struct wpa_freq_range_list p2p_no_go_freq;
+       int p2p_add_cli_chan;
        int p2p_ignore_shared_freq;
 
        struct wpabuf *wps_vendor_ext_m1;
@@ -826,6 +897,16 @@ struct wpa_config {
        int p2p_go_ht40;
 
        /**
+        * p2p_go_vht - Default mode for VHT enable when operating as GO
+        *
+        * This will take effect for p2p_group_add, p2p_connect, and p2p_invite.
+        * Note that regulatory constraints and driver capabilities are
+        * consulted anyway, so setting it to 1 can't do real harm.
+        * By default: 0 (disabled)
+        */
+       int p2p_go_vht;
+
+       /**
         * p2p_disabled - Whether P2P operations are disabled for this interface
         */
        int p2p_disabled;
@@ -909,6 +990,30 @@ struct wpa_config {
         * sched_scan_interval -  schedule scan interval
         */
        unsigned int sched_scan_interval;
+
+       /**
+        * tdls_external_control - External control for TDLS setup requests
+        *
+        * Enable TDLS mode where external programs are given the control
+        * to specify the TDLS link to get established to the driver. The
+        * driver requests the TDLS setup to the supplicant only for the
+        * specified TDLS peers.
+        */
+       int tdls_external_control;
+
+       u8 ip_addr_go[4];
+       u8 ip_addr_mask[4];
+       u8 ip_addr_start[4];
+       u8 ip_addr_end[4];
+
+       /**
+        * osu_dir - OSU provider information directory
+        *
+        * If set, allow FETCH_OSU control interface command to be used to fetch
+        * OSU provider information into all APs and store the results in this
+        * directory.
+        */
+       char *osu_dir;
 };
 
 
@@ -940,6 +1045,7 @@ 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);
+void wpa_config_flush_blobs(struct wpa_config *config);
 
 struct wpa_cred * wpa_config_get_cred(struct wpa_config *config, int id);
 struct wpa_cred * wpa_config_add_cred(struct wpa_config *config);
@@ -947,6 +1053,7 @@ int wpa_config_remove_cred(struct wpa_config *config, int id);
 void wpa_config_free_cred(struct wpa_cred *cred);
 int wpa_config_set_cred(struct wpa_cred *cred, const char *var,
                        const char *value, int line);
+char * wpa_config_get_cred_no_key(struct wpa_cred *cred, const char *var);
 
 struct wpa_config * wpa_config_alloc_empty(const char *ctrl_interface,
                                           const char *driver_param);