wpa_supplicant / hostapd  2.5
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Public Types | Data Fields
p2p_data Struct Reference

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
}
 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 }
 

Data Fields

struct p2p_configcfg
 P2P module configuration. More...
 
enum p2p_data::p2p_state state
 
int min_disc_int
 minDiscoverableInterval
 
int max_disc_int
 maxDiscoverableInterval
 
int max_disc_tu
 Maximum number of TUs for discoverable interval.
 
struct dl_list devices
 List of known P2P Device peers.
 
struct p2p_devicego_neg_peer
 Pointer to GO Negotiation peer.
 
struct p2p_deviceinvite_peer
 Pointer to Invite peer.
 
struct p2p_devicelast_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_devicesd_peer
 Pointer to Service Discovery peer.
 
struct p2p_sd_querysd_query
 Pointer to Service Discovery query.
 
int num_p2p_sd_queries
 Total number of broadcast SD queries present in the list.
 
u8 intended_addr [ETH_ALEN]
 Local Intended P2P Interface Address. More...
 
u8 go_intent
 Local GO Intent to be used during GO Negotiation.
 
u8 next_tie_breaker
 Next tie-breaker value to use in GO Negotiation.
 
u8 ssid [SSID_MAX_LEN]
 Selected SSID for GO Negotiation (if local end will be GO)
 
size_t ssid_len
 ssid length in octets
 
int ssid_set
 Whether SSID is already set for GO Negotiation.
 
u8 op_reg_class
 Regulatory class for own operational channel.
 
u8 op_channel
 Own operational channel.
 
struct p2p_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_querysd_queries
 Pending service discovery queries.
 
u16 srv_update_indic
 Service Update Indicator for local services.
 
struct wpabufsd_resp
 
u8 sd_resp_addr [ETH_ALEN]
 
u8 sd_resp_dialog_token
 
size_t sd_resp_pos
 
u8 sd_frag_id
 
struct wpabufsd_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_txafter_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_devicepending_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 wpabufwps_vendor_ext [P2P_MAX_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
 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_advertisementp2ps_adv_list
 
struct p2ps_provisionp2ps_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
 

Detailed Description

P2P module data (internal to P2P module)

Member Enumeration Documentation

The current P2P state.

Enumerator
P2P_IDLE 

Idle.

P2P_SEARCH 

Search (Device Discovery)

P2P_CONNECT 

Trying to start GO Negotiation.

P2P_CONNECT_LISTEN 

Listen during GO Negotiation start.

P2P_GO_NEG 

In GO Negotiation.

P2P_LISTEN_ONLY 

Listen only.

P2P_WAIT_PEER_CONNECT 

Waiting peer in List for GO Neg.

P2P_WAIT_PEER_IDLE 

Waiting peer idle for GO Neg.

P2P_SD_DURING_FIND 

Service Discovery during find.

P2P_PROVISIONING 

Provisioning (during group formation)

P2P_PD_DURING_FIND 

Provision Discovery during find.

P2P_INVITE 

Trying to start Invite.

P2P_INVITE_LISTEN 

Listen during Invite.

Field Documentation

struct p2p_config* p2p_data::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

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]

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

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.


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