wpa_supplicant / hostapd  2.5
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Data Fields
wps_registrar_config Struct Reference

WPS Registrar configuration. More...

#include <wps.h>

Data Fields

int(* new_psk_cb )(void *ctx, const u8 *mac_addr, const u8 *p2p_dev_addr, const u8 *psk, size_t psk_len)
 Callback for new PSK. More...
 
int(* set_ie_cb )(void *ctx, struct wpabuf *beacon_ie, struct wpabuf *probe_resp_ie)
 Callback for WPS IE changes. More...
 
void(* pin_needed_cb )(void *ctx, const u8 *uuid_e, const struct wps_device_data *dev)
 Callback for requesting a PIN. More...
 
void(* reg_success_cb )(void *ctx, const u8 *mac_addr, const u8 *uuid_e, const u8 *dev_pw, size_t dev_pw_len)
 Callback for reporting successful registration. More...
 
void(* set_sel_reg_cb )(void *ctx, int sel_reg, u16 dev_passwd_id, u16 sel_reg_config_methods)
 Callback for reporting selected registrar changes. More...
 
void(* enrollee_seen_cb )(void *ctx, const u8 *addr, const u8 *uuid_e, const u8 *pri_dev_type, u16 config_methods, u16 dev_password_id, u8 request_type, const char *dev_name)
 Callback for reporting Enrollee based on ProbeReq. More...
 
void * cb_ctx
 cb_ctx: Higher layer context data for Registrar callbacks
 
int skip_cred_build
 skip_cred_build: Do not build credential More...
 
const u8 * extra_cred
 extra_cred: Additional Credential attribute(s) More...
 
size_t extra_cred_len
 extra_cred_len: Length of extra_cred in octets
 
int disable_auto_conf
 Disable auto-configuration on first registration. More...
 
int static_wep_only
 Whether the BSS supports only static WEP.
 
int dualband
 Whether this is a concurrent dualband AP.
 
int force_per_enrollee_psk
 Force per-Enrollee random PSK. More...
 

Detailed Description

WPS Registrar configuration.

Field Documentation

int wps_registrar_config::disable_auto_conf

Disable auto-configuration on first registration.

By default, the AP that is started in not configured state will generate a random PSK and move to configured state when the first registration protocol run is completed successfully. This option can be used to disable this functionality and leave it up to an external program to take care of configuration. This requires the extra_cred to be set with a suitable Credential and skip_cred_build being used.

void(* wps_registrar_config::enrollee_seen_cb)(void *ctx, const u8 *addr, const u8 *uuid_e, const u8 *pri_dev_type, u16 config_methods, u16 dev_password_id, u8 request_type, const char *dev_name)

Callback for reporting Enrollee based on ProbeReq.

Parameters
ctxHigher layer context data (cb_ctx)
addrMAC address of the Enrollee
uuid_eUUID of the Enrollee
pri_dev_typePrimary device type
config_methodsConfig Methods
dev_password_idDevice Password ID
request_typeRequest Type
dev_nameDevice Name (if available)
const u8* wps_registrar_config::extra_cred

extra_cred: Additional Credential attribute(s)

This optional data (set to NULL to disable) can be used to add Credential attribute(s) for other networks into M8. If skip_cred_build is set, this will also override the automatically generated Credential attribute.

int wps_registrar_config::force_per_enrollee_psk

Force per-Enrollee random PSK.

This forces per-Enrollee random PSK to be generated even if a default PSK is set for a network.

int(* wps_registrar_config::new_psk_cb)(void *ctx, const u8 *mac_addr, const u8 *p2p_dev_addr, const u8 *psk, size_t psk_len)

Callback for new PSK.

Parameters
ctxHigher layer context data (cb_ctx)
mac_addrMAC address of the Enrollee
p2p_dev_addrP2P Device Address of the Enrollee or all zeros if not
pskThe new PSK
psk_lenThe length of psk in octets
Returns
0 on success, -1 on failure
       This callback is called when a new per-device PSK is provisioned.
void(* wps_registrar_config::pin_needed_cb)(void *ctx, const u8 *uuid_e, const struct wps_device_data *dev)

Callback for requesting a PIN.

Parameters
ctxHigher layer context data (cb_ctx)
uuid_eUUID-E of the unknown Enrollee
devDevice Data from the unknown Enrollee
       This callback is called whenever an unknown Enrollee requests to use
       PIN method and a matching PIN (Device Password) is not found in
       Registrar data.
void(* wps_registrar_config::reg_success_cb)(void *ctx, const u8 *mac_addr, const u8 *uuid_e, const u8 *dev_pw, size_t dev_pw_len)

Callback for reporting successful registration.

Parameters
ctxHigher layer context data (cb_ctx)
mac_addrMAC address of the Enrollee
uuid_eUUID-E of the Enrollee
dev_pwDevice Password (PIN) used during registration
dev_pw_lenLength of dev_pw in octets
       This callback is called whenever an Enrollee completes registration
       successfully.
int(* wps_registrar_config::set_ie_cb)(void *ctx, struct wpabuf *beacon_ie, struct wpabuf *probe_resp_ie)

Callback for WPS IE changes.

Parameters
ctxHigher layer context data (cb_ctx)
beacon_ieWPS IE for Beacon
probe_resp_ieWPS IE for Probe Response
Returns
0 on success, -1 on failure
       This callback is called whenever the WPS IE in Beacon or Probe
       Response frames needs to be changed (AP only). Callee is responsible
       for freeing the buffers.
void(* wps_registrar_config::set_sel_reg_cb)(void *ctx, int sel_reg, u16 dev_passwd_id, u16 sel_reg_config_methods)

Callback for reporting selected registrar changes.

Parameters
ctxHigher layer context data (cb_ctx)
sel_regWhether the Registrar is selected
dev_passwd_idDevice Password ID to indicate with method or specific password the Registrar intends to use
sel_reg_config_methodsBit field of active config methods
       This callback is called whenever the Selected Registrar state
       changes (e.g., a new PIN becomes available or PBC is invoked). This
       callback is only used by External Registrar implementation;
       set_ie_cb() is used by AP implementation in similar caes, but it
       provides the full WPS IE data instead of just the minimal Registrar
       state information.
int wps_registrar_config::skip_cred_build

skip_cred_build: Do not build credential

This option can be used to disable internal code that builds Credential attribute into M8 based on the current network configuration and Enrollee capabilities. The extra_cred data will then be used as the Credential(s).


The documentation for this struct was generated from the following file: