wpa_supplicant / hostapd 2.0
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, P2P_SEARCH_WHEN_READY
}
 

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_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.
enum p2p_data::p2p_state state
int min_disc_int
 minDiscoverableInterval
int max_disc_int
 maxDiscoverableInterval
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.
const u8 * invite_go_dev_addr
u8 invite_go_dev_addr_buf [ETH_ALEN]
struct p2p_devicesd_peer
 Pointer to Service Discovery peer.
struct p2p_sd_querysd_query
 Pointer to Service Discovery query.
u8 intended_addr [ETH_ALEN]
 Local Intended P2P Interface Address.
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 [32]
 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
u8 op_channel
 Own operational channel.
struct p2p_channels channels
 Own supported regulatory classes and channels.
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 [32]
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 num_req_dev_types
u8 * req_dev_types
u8 * find_dev_id
u8 find_dev_id_buf [ETH_ALEN]
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
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

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.

P2P_SEARCH_WHEN_READY 

Waiting to start Search.


Field Documentation

P2P module configuration.

This is included in the same memory allocation with the struct p2p_data and as such, must not be freed separately.

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.

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.

Regulatory class for own operational channel


The documentation for this struct was generated from the following file:
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines