|
hostapd
|
struct p2p_data - P2P module data (internal to P2P module) More...
#include <p2p_i.h>
Public Types | |
| enum | p2p_state { P2P_IDLE, P2P_SEARCH, P2P_CONNECT, P2P_CONNECT_LISTEN, P2P_GO_NEG, P2P_LISTEN_ONLY, P2P_WAIT_PEER_CONNECT, P2P_WAIT_PEER_IDLE, P2P_SD_DURING_FIND, P2P_PROVISIONING, P2P_PD_DURING_FIND, P2P_INVITE, P2P_INVITE_LISTEN } |
| state - The current P2P state More... | |
| enum | p2p_pending_action_state { P2P_NO_PENDING_ACTION, P2P_PENDING_GO_NEG_REQUEST, P2P_PENDING_GO_NEG_RESPONSE, P2P_PENDING_GO_NEG_RESPONSE_FAILURE, P2P_PENDING_GO_NEG_CONFIRM, P2P_PENDING_SD, P2P_PENDING_PD, P2P_PENDING_PD_RESPONSE, P2P_PENDING_INVITATION_REQUEST, P2P_PENDING_INVITATION_RESPONSE, P2P_PENDING_DEV_DISC_REQUEST, P2P_PENDING_DEV_DISC_RESPONSE, P2P_PENDING_GO_DISC_REQ } |
| enum | p2p_after_scan { P2P_AFTER_SCAN_NOTHING, P2P_AFTER_SCAN_LISTEN, P2P_AFTER_SCAN_CONNECT } |
Public Attributes | |
| struct p2p_config * | cfg |
| cfg - P2P module configuration More... | |
| enum p2p_data::p2p_state | state |
| int | min_disc_int |
| min_disc_int - minDiscoverableInterval | |
| int | max_disc_int |
| max_disc_int - maxDiscoverableInterval | |
| int | max_disc_tu |
| max_disc_tu - Maximum number of TUs for discoverable interval | |
| struct dl_list | devices |
| devices - List of known P2P Device peers | |
| struct p2p_device * | go_neg_peer |
| go_neg_peer - Pointer to GO Negotiation peer | |
| struct p2p_device * | invite_peer |
| invite_peer - Pointer to Invite peer | |
| struct p2p_device * | last_p2p_find_oper |
| last_p2p_find_oper - Pointer to last pre-find operation peer | |
| const u8 * | invite_go_dev_addr |
| u8 | invite_go_dev_addr_buf [ETH_ALEN] |
| int | invite_dev_pw_id |
| unsigned int | retry_invite_req:1 |
| unsigned int | retry_invite_req_sent:1 |
| struct p2p_device * | sd_peer |
| sd_peer - Pointer to Service Discovery peer | |
| struct p2p_sd_query * | sd_query |
| sd_query - Pointer to Service Discovery query | |
| int | num_p2p_sd_queries |
| num_p2p_sd_queries - Total number of broadcast SD queries present in the list | |
| u8 | sd_query_no_ack [ETH_ALEN] |
| sd_query_no_ack - The first peer (Dev Addr) that did not ACK SD Query More... | |
| u8 | intended_addr [ETH_ALEN] |
| intended_addr - Local Intended P2P Interface Address More... | |
| u8 | go_intent |
| go_intent - Local GO Intent to be used during GO Negotiation | |
| u8 | next_tie_breaker |
| next_tie_breaker - Next tie-breaker value to use in GO Negotiation | |
| u8 | ssid [SSID_MAX_LEN] |
| ssid - Selected SSID for GO Negotiation (if local end will be GO) | |
| size_t | ssid_len |
| ssid_len - ssid length in octets | |
| int | ssid_set |
| ssid_set - Whether SSID is already set for GO Negotiation | |
| u8 | op_reg_class |
| Regulatory class for own operational channel. | |
| u8 | op_channel |
| op_channel - Own operational channel | |
| struct p2p_channels | channels |
| channels - Own supported regulatory classes and channels More... | |
| struct wpa_freq_range_list | no_go_freq |
| enum p2p_data::p2p_pending_action_state | pending_action_state |
| unsigned int | pending_listen_freq |
| unsigned int | pending_listen_sec |
| unsigned int | pending_listen_usec |
| u8 | dev_capab |
| int | in_listen |
| int | drv_in_listen |
| struct p2p_sd_query * | sd_queries |
| sd_queries - Pending service discovery queries | |
| u16 | srv_update_indic |
| srv_update_indic - Service Update Indicator for local services | |
| struct wpabuf * | sd_resp |
| u8 | sd_resp_addr [ETH_ALEN] |
| u8 | sd_resp_dialog_token |
| size_t | sd_resp_pos |
| u8 | sd_frag_id |
| struct wpabuf * | sd_rx_resp |
| u16 | sd_rx_update_indic |
| enum p2p_invite_role | inv_role |
| u8 | inv_bssid [ETH_ALEN] |
| int | inv_bssid_set |
| u8 | inv_ssid [SSID_MAX_LEN] |
| size_t | inv_ssid_len |
| u8 | inv_sa [ETH_ALEN] |
| u8 | inv_group_bssid [ETH_ALEN] |
| u8 * | inv_group_bssid_ptr |
| u8 | inv_go_dev_addr [ETH_ALEN] |
| u8 | inv_status |
| int | inv_op_freq |
| int | inv_persistent |
| enum p2p_discovery_type | find_type |
| unsigned int | last_p2p_find_timeout |
| u8 | last_prog_scan_class |
| u8 | last_prog_scan_chan |
| int | p2p_scan_running |
| enum p2p_data::p2p_after_scan | start_after_scan |
| u8 | after_scan_peer [ETH_ALEN] |
| struct p2p_pending_action_tx * | after_scan_tx |
| unsigned int | after_scan_tx_in_progress:1 |
| unsigned int | send_action_in_progress:1 |
| unsigned int | num_req_dev_types |
| u8 * | req_dev_types |
| u8 * | find_dev_id |
| u8 | find_dev_id_buf [ETH_ALEN] |
| struct os_reltime | find_start |
| struct p2p_group ** | groups |
| size_t | num_groups |
| struct p2p_device * | pending_client_disc_go |
| u8 | pending_client_disc_addr [ETH_ALEN] |
| u8 | pending_dev_disc_dialog_token |
| u8 | pending_dev_disc_addr [ETH_ALEN] |
| int | pending_dev_disc_freq |
| unsigned int | pending_client_disc_freq |
| int | ext_listen_only |
| unsigned int | ext_listen_period |
| unsigned int | ext_listen_interval |
| unsigned int | ext_listen_interval_sec |
| unsigned int | ext_listen_interval_usec |
| u8 | peer_filter [ETH_ALEN] |
| int | cross_connect |
| int | best_freq_24 |
| int | best_freq_5 |
| int | best_freq_overall |
| int | own_freq_preference |
| struct wpabuf * | wps_vendor_ext [P2P_MAX_WPS_VENDOR_EXT] |
| wps_vendor_ext - WPS Vendor Extensions to add | |
| u8 | user_initiated_pd |
| u8 | pending_pd_devaddr [ETH_ALEN] |
| int | pd_retries |
| int | pd_force_freq |
| pd_force_freq - Forced frequency for PD retries or 0 to auto-select More... | |
| u8 | go_timeout |
| u8 | client_timeout |
| unsigned int | search_delay |
| int | in_search_delay |
| u8 | pending_reg_class |
| u8 | pending_channel |
| u8 | pending_channel_forced |
| struct p2ps_advertisement * | p2ps_adv_list |
| struct p2ps_provision * | p2ps_prov |
| u8 | wild_card_hash [P2PS_HASH_LEN] |
| u8 | p2ps_seek |
| u8 | p2ps_seek_hash [P2P_MAX_QUERY_HASH *P2PS_HASH_LEN] |
| u8 | p2ps_seek_count |
| u16 | authorized_oob_dev_pw_id |
| struct wpabuf ** | vendor_elem |
| unsigned int | pref_freq_list [P2P_MAX_PREF_CHANNELS] |
| unsigned int | num_pref_freq |
struct p2p_data - P2P module data (internal to P2P module)
| enum p2p_data::p2p_state |
state - The current P2P state
| struct p2p_config* p2p_data::cfg |
cfg - P2P module configuration
This is included in the same memory allocation with the struct p2p_data and as such, must not be freed separately.
| struct p2p_channels p2p_data::channels |
channels - Own supported regulatory classes and channels
List of supposerted channels per regulatory class. The regulatory classes are defined in IEEE Std 802.11-2007 Annex J and the numbering of the clases depends on the configured country code.
| u8 p2p_data::intended_addr[ETH_ALEN] |
intended_addr - Local Intended P2P Interface Address
This address is used during group owner negotiation as the Intended P2P Interface Address and the group interface will be created with address as the local address in case of successfully completed negotiation.
| int p2p_data::pd_force_freq |
pd_force_freq - Forced frequency for PD retries or 0 to auto-select
This is is used during PD retries for join-a-group case to use the correct operating frequency determined from a BSS entry for the GO.
| u8 p2p_data::sd_query_no_ack[ETH_ALEN] |
sd_query_no_ack - The first peer (Dev Addr) that did not ACK SD Query
This is used to track the first peer that did not ACK an SD Query within a single P2P Search iteration. All zeros address means no such peer was yet seen. This information is used to allow a new Listen and Search phases to be once every pending SD Query has been sent once to each peer instead of looping all pending attempts continuously until running out of retry maximums.
1.8.12