+\section dbus_p2pdevice fi.w1.wpa_supplicant1.Interface.P2PDevice
+
+Interface for performing P2P (Wi-Fi Peer-to-Peer) P2P Device operations.
+
+\subsection dbus_p2pdevice_methods Methods
+
+<ul>
+ <li>
+ <h3>Find ( a{sv} : args ) --> nothing</h3>
+ <p>Start P2P find operation (i.e., alternating P2P Search and Listen states to discover peers and be discoverable).</p>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>a{sv} : args</dt>
+ <dd>
+ A dictionary with parameters for the P2P find operation:
+ <table>
+ <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th></tr>
+ <tr><td>Timeout</td><td>i</td><td>Timeout for operating in seconds</td><td>no</td></tr>
+ <tr><td>RequestedDeviceTypes</td><td>aay</td><td>WPS Device Types to search for</td><td>no</td></tr>
+ <tr><td>DiscoveryType</td><td>s</td><td>"start_with_full" (default, if not specified), "social", "progressive"</td><td>no</td></tr>
+ </table>
+ </dd>
+ </dl>
+ </li>
+
+ <li>
+ <h3>StopFind ( nothing ) --> nothing</h3>
+ <p>Stop P2P find operation.</p>
+ </li>
+
+ <li>
+ <h3>Listen ( i : timeout ) --> nothing</h3>
+ <p>Start P2P listen operation (i.e., be discoverable).</p>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>i : timeout</dt>
+ <dd>Timeout in seconds for stopping the listen operation.</dd>
+ </dl>
+ </li>
+
+ <li>
+ <h3>ExtendedListen ( a{sv} : args ) --> nothing</h3>
+ <p>Configure Extended Listen Timing. If the parameters are omitted, this feature is disabled. If the parameters are included, Listen State will be entered every interval msec for at least period msec. Both values have acceptable range of 1-65535 (with interval obviously having to be larger than or equal to duration). If the P2P module is not idle at the time the Extended Listen Timing timeout occurs, the Listen State operation will be skipped.</p>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>a{sv} : args</dt>
+ <dd>
+ A dictionary with parameters for extended listen. Leave out all items to disable extended listen.
+ <table>
+ <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th></tr>
+ <tr><td>period</td><td>i</td><td>Extended listen period in milliseconds; 1-65535.</td><td>no</td></tr>
+ <tr><td>interval</td><td>i</td><td>Extended listen interval in milliseconds; 1-65535.</td><td>no</td></tr>
+ </table>
+ </dd>
+ </dl>
+ </li>
+
+ <li>
+ <h3>PresenceRequest ( a{sv} : args ) --> nothing</h3>
+ <p>Request a specific GO presence in a P2P group where the local device is a P2P Client. Send a P2P Presence Request to the GO (this is only available when acting as a P2P client). If no duration/interval pairs are given, the request indicates that this client has no special needs for GO presence. The first parameter pair gives the preferred duration and interval values in microseconds. If the second pair is included, that indicates which value would be acceptable.
+ \note This needs to be issued on a P2P group interface if separate group interfaces are used.
+ \bug It would be cleaner to not require .P2PDevice methods to be issued on a group interface. In other words, args['group_object'] could be used to specify the group or this method could be moved to be a .Group PresenceRequest() method.</p>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>a{sv} : args</dt>
+ <dd>
+ A dictionary with parameters for the presence request.
+ <table>
+ <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th></tr>
+ <tr><td>duration1</td><td>i</td><td>Duration in microseconds.</td><td>no</td></tr>
+ <tr><td>interval1</td><td>i</td><td>Interval in microseconds.</td><td>no</td></tr>
+ <tr><td>duration2</td><td>i</td><td>Duration in microseconds.</td><td>no</td></tr>
+ <tr><td>interval2</td><td>i</td><td>Interval in microseconds.</td><td>no</td></tr>
+ </table>
+ </dd>
+ </dl>
+ </li>
+
+ <li>
+ <h3>ProvisionDiscoveryRequest ( o : peer, s : config_method ) --> nothing</h3>
+ </li>
+
+ <li>
+ <h3>Connect ( a{sv} : args ) --> s : generated_pin</h3>
+ <p>Request a P2P group to be started through GO Negotiation or by joining an already operating group.</p>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>a{sv} : args</dt>
+ <dd>
+ A dictionary with parameters for the requested connection:
+ <table>
+ <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th></tr>
+ <tr><td>peer</td><td>o</td><td></td><td>yes</td></tr>
+ <tr><td>persistent</td><td>b</td><td>Whether to form a persistent group.</td><td>no</td></tr>
+ <tr><td>join</td><td>b</td><td>Whether to join an already operating group instead of forming a new group.</td><td>no</td></tr>
+ <tr><td>authorize_only</td><td>b</td><td>Whether to authorize a peer to initiate GO Negotiation instead of initiating immediately.</td><td>no</td></tr>
+ <tr><td>frequency</td><td>i</td><td>Operating frequency in MHz</td><td>no</td></tr>
+ <tr><td>go_intent</td><td>i</td><td>GO intent 0-15</td><td>no</td></tr>
+ <tr><td>wps_method</td><td>s</td><td>"pbc", "display", "keypad", "pin" (alias for "display")</td><td>yes</td></tr>
+ <tr><td>pin</td><td>s</td><td></td><td>no</td></tr>
+ </table>
+ </dd>
+ </dl>
+ </li>
+
+ <li>
+ <h3>GroupAdd ( a{sv} : args ) --> nothing</h3>
+ <p>Request a P2P group to be started without GO Negotiation.</p>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>a{sv} : args</dt>
+ <dd>
+ A dictionary with parameters for the requested group:
+ <table>
+ <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th></tr>
+ <tr><td>persistent</td><td>b</td><td>Whether to form a persistent group.</td><td>no</td></tr>
+ <tr><td>persistent_group_object</td><td>o</td><td></td><td>no</td></tr>
+ <tr><td>frequency</td><td>i</td><td>Operating frequency in MHz</td><td>no</td></tr>
+ </table>
+ </dd>
+ </dl>
+ </li>
+
+ <li>
+ <h3>Cancel ( nothing ) --> nothing</h3>
+ <p>Stop ongoing P2P group formation operation.</p>
+ </li>
+
+ <li>
+ <h3>Invite ( a{sv} : args ) --> nothing</h3>
+ <p>Invite a peer to join an already operating group or to re-invoke a persistent group.</p>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>a{sv} : args</dt>
+ <dd>
+ A dictionary with parameters for the invitation:
+ <table>
+ <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th></tr>
+ <tr><td>peer</td><td>o</td><td></td><td>yes</td></tr>
+ <tr><td>persistent_group_object</td><td>o</td><td></td><td>no</td></tr>
+ </table>
+ </dd>
+ </dl>
+ </li>
+
+ <li>
+ <h3>Disconnect ( nothing ) --> nothing</h3>
+ <p>Terminate a P2P group.
+ \note This needs to be issued on a P2P group interface if separate group interfaces are used.
+ \bug It would be cleaner to not require .P2PDevice methods to be issued on a group interface. In other words, this would either need to be Disconnect(group_object) or moved to be a .Group Disconnect() method.</p>
+ </li>
+
+ <li>
+ <h3>RejectPeer ( o : peer ) --> nothing</h3>
+ <p>Reject connection attempt from a peer (specified with a device address). This is a mechanism to reject a pending GO Negotiation with a peer and request to automatically block any further connection or discovery of the peer.</p>
+ </li>
+
+ <li>
+ <h3>RemoveClient ( a{sv} : args ) --> nothing</h3>
+ <p>Remove the client from all groups (operating and persistent) from the local GO.</p>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>a{sv} : args</dt>
+ <dd>
+ A dictionary with parameters for removing a client:
+ <table>
+ <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th></tr>
+ <tr><td>peer</td><td>o</td><td>Object path for peer's P2P Device Address</td><td>yes</td></tr>
+ <tr><td>iface</td><td>s</td><td>Interface address[MAC Address format] of the peer to be disconnected. Required if object path is not provided.</td><td>no</td></tr>
+ </table>
+ </dd>
+ </dl>
+ </li>
+
+ <li>
+ <h3>Flush ( nothing ) --> nothing</h3>
+ <p>Flush P2P peer table and state.</p>
+ </li>
+
+ <li>
+ <h3>AddService ( a{sv} : args ) --> nothing</h3>
+ <p></p>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>a{sv} : args</dt>
+ <dd>
+ A dictionary with parameters for the service:
+ <table>
+ <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th></tr>
+ <tr><td>service_type</td><td>s</td><td>"upnp", "bonjour"</td><td>yes</td></tr>
+ <tr><td>version</td><td>u</td><td>Required for UPnP services.</td><td>no</td></tr>
+ <tr><td>service</td><td>s</td><td></td><td></td></tr>
+ <tr><td>query</td><td>ay</td><td></td><td></td></tr>
+ <tr><td>response</td><td>ay</td><td></td><td></td></tr>
+ </table>
+ </dd>
+ </dl>
+ </li>
+
+ <li>
+ <h3>DeleteService ( a{sv} : args ) --> nothing</h3>
+ <p></p>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>a{sv} : args</dt>
+ <dd>
+ A dictionary with parameters for the service:
+ <table>
+ <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th></tr>
+ <tr><td>service_type</td><td>s</td><td>"upnp", "bonjour"</td><td>yes</td></tr>
+ <tr><td>version</td><td>u</td><td>Required for UPnP services.</td><td>no</td></tr>
+ <tr><td>service</td><td>s</td><td></td><td></td></tr>
+ <tr><td>query</td><td>ay</td><td></td><td></td></tr>
+ </table>
+ </dd>
+ </dl>
+ </li>
+
+ <li>
+ <h3>FlushService ( nothing ) --> nothing</h3>
+ </li>
+
+ <li>
+ <h3>ServiceDiscoveryRequest ( a{sv} : args ) --> t : ref</h3>
+ <p></p>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>a{sv} : args</dt>
+ <dd>
+ A dictionary with following parameters:
+ <table>
+ <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th></tr>
+ <tr><td>peer_object</td><td>o</td><td></td><td>no</td></tr>
+ <tr><td>service_type</td><td>s</td><td>"upnp"</td><td>no</td></tr>
+ <tr><td>version</td><td>u</td><td>Required for UPnP services.</td><td>no</td></tr>
+ <tr><td>service</td><td>s</td><td></td><td></td></tr>
+ <tr><td>tlv</td><td>ay</td><td></td><td></td></tr>
+ </table>
+ </dd>
+ </dl>
+ </li>
+
+ <li>
+ <h3>ServiceDiscoveryResponse ( a{sv} : args ) --> nothing : ref</h3>
+ <p></p>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>a{sv} : args</dt>
+ <dd>
+ A dictionary with following parameters:
+ <table>
+ <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th></tr>
+ <tr><td>peer_object</td><td>o</td><td></td><td>yes</td></tr>
+ <tr><td>frequency</td><td>i</td><td></td><td>yes</td></tr>
+ <tr><td>dialog_token</td><td>i</td><td></td><td>yes</td></tr>
+ <tr><td>tlvs</td><td>ay</td><td></td><td>yes</td></tr>
+ </table>
+ </dd>
+ </dl>
+ </li>
+
+ <li>
+ <h3>ServiceDiscoveryCancelRequest ( t : args ) --> nothing : ref</h3>
+ </li>
+
+ <li>
+ <h3>ServiceUpdate ( nothing ) --> nothing</h3>
+ </li>
+
+ <li>
+ <h3>ServiceDiscoveryExternal ( i : arg ) --> nothing</h3>
+ </li>
+
+ <li>
+ <h3>AddPersistentGroup ( a{sv} : args ) --> o : path</h3>
+ <p></p>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>a{sv} : args</dt>
+ <dd>
+ A dictionary with following parameters:
+ <table>
+ <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th></tr>
+ <tr><td>bssid</td><td>s</td><td>P2P Device Address of the GO in the persistent group.</td><td>yes</td></tr>
+ <tr><td>ssid</td><td>s</td><td>SSID of the group</td><td>yes</td></tr>
+ <tr><td>psk</td><td>s</td><td>Passphrase (on the GO and optionally on P2P Client) or PSK (on P2P Client if passphrase ise not known)</td><td>yes</td></tr>
+ <tr><td>mode</td><td>s</td><td>"3" on GO or "0" on P2P Client</td><td>yes</td></tr>
+ </table>
+ </dd>
+ </dl>
+ </li>
+
+ <li>
+ <h3>RemovePersistentGroup ( o : path ) --> nothing</h3>
+ </li>
+
+ <li>
+ <h3>RemoveAllPersistentGroups ( nothing ) --> nothing</h3>
+ </li>
+</ul>
+
+\subsection dbus_p2pdevice_properties Properties
+
+<ul>
+ <li>
+ <h3>P2PDeviceConfig - a{sv} - (read/write)</h3>
+ <p>Dictionary with following entries. On write, only the included values are changed.</p>
+ <table>
+ <tr><th>Key</th><th>Value type</th><th>Description</th></tr>
+ <tr><td>DeviceName</td><td>s</td><td></td></tr>
+ <tr><td>PrimaryDeviceType</td><td>ay</td><td></td></tr>
+ <tr><td>SecondaryDeviceTypes</td><td>aay</td><td></td></tr>
+ <tr><td>VendorExtension</td><td>aay</td><td></td></tr>
+ <tr><td>GOIntent</td><td>u</td><td></td></tr>
+ <tr><td>PersistentReconnect</td><td>b</td><td></td></tr>
+ <tr><td>ListenRegClass</td><td>u</td><td></td></tr>
+ <tr><td>ListenChannel</td><td>u</td><td></td></tr>
+ <tr><td>OperRegClass</td><td>u</td><td></td></tr>
+ <tr><td>OperChannel</td><td>u</td><td></td></tr>
+ <tr><td>SsidPostfix</td><td>s</td><td></td></tr>
+ <tr><td>IntraBss</td><td>b</td><td></td></tr>
+ <tr><td>GroupIdle</td><td>u</td><td></td></tr>
+ <tr><td>disassoc_low_ack</td><td>u</td><td></td></tr>
+ <tr><td>NoGroupIface</td><td>b</td><td></td></tr>
+ <tr><td>p2p_search_delay</td><td>u</td><td></td></tr>
+ </table>
+ </li>
+
+ <li>
+ <h3>Peers - ao - (read)</h3>
+ </li>
+
+ <li>
+ <h3>Role - s - (read)</h3>
+ <p>\bug What is this trying to indicate? It does not make much sense to have a P2PDevice property role since there can be multiple concurrent groups and the P2P Device role is always active anyway.</p>
+ </li>
+
+ <li>
+ <h3>Group - o - (read)</h3>
+ <p>\bug What is this trying to indicate? It does not make much sense to have a P2PDevice property Group since there can be multiple concurrent groups.</p>
+ </li>
+
+ <li>
+ <h3>PeerGO - o - (read)</h3>
+ <p>\bug What is this trying to indicate? It does not make much sense to have a P2PDevice property PeerGO since there can be multiple concurrent groups.</p>
+ </li>
+
+ <li>
+ <h3>PersistentGroups - ao - (read)</h3>
+ </li>
+</ul>
+
+\subsection dbus_p2pdevice_signals Signals
+
+<ul>
+ <li>
+ <h3>DeviceFound ( o : path )</h3>
+ </li>
+
+ <li>
+ <h3>DeviceFoundProperties ( o : path, a{sv} : properties )</h3>
+ <p>A new peer device has been found.</p>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>o : path</dt>
+ <dd>A D-Bus path to an object representing the found peer device.</dd>
+ </dl>
+ <dl>
+ <dt>a{sv} : properties</dt>
+ <dd>A dictionary containing properties of the found peer device.</dd>
+ </dl>
+ </li>
+
+ <li>
+ <h3>DeviceLost ( o : path )</h3>
+ </li>
+
+ <li>
+ <h3>FindStopped ( )</h3>
+ </li>
+
+ <li>
+ <h3>ProvisionDiscoveryRequestDisplayPin ( o : peer_object, s : pin )</h3>
+ </li>
+
+ <li>
+ <h3>ProvisionDiscoveryResponseDisplayPin ( o : peer_object, s : pin )</h3>
+ </li>
+
+ <li>
+ <h3>ProvisionDiscoveryRequestEnterPin ( o : peer_object )</h3>
+ </li>
+
+ <li>
+ <h3>ProvisionDiscoveryResponseEnterPin ( o : peer_object )</h3>
+ </li>
+
+ <li>
+ <h3>ProvisionDiscoveryPBCRequest ( o : peer_object )</h3>
+ </li>
+
+ <li>
+ <h3>ProvisionDiscoveryPBCResponse ( o : peer_object )</h3>
+ </li>
+
+ <li>
+ <h3>ProvisionDiscoveryFailure ( o : peer_object, i : status )</h3>
+ </li>
+
+ <li>
+ <h3>GroupStarted ( a{sv} : properties )</h3>
+ <p>A new P2P group was started or joined.</p>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>a{sv} : properties</dt>
+ <dd>A dictionary with following information on the added group:
+ <table>
+ <tr><th>Key</th><th>Value type</th><th>Description</th></tr>
+ <tr><td>interface_object</td><td>o</td><td>D-Bus path of the interface on which this group is operating on. See \ref dbus_interface.</td></tr>
+ <tr><td>role</td><td>s</td><td>The role of the local device in the group: "GO" or "client".</td></tr>
+ <tr><td>group_object</td><td>o</td><td>D-Bus path of the group. See \ref dbus_group.</td></tr>
+ </table>
+ </dd>
+ </dl>
+ </li>
+
+ <li>
+ <h3>GONegotiationSuccess ( a{sv} : properties )</h3>
+ <p></p>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>a{sv} : properties</dt>
+ <dd>A dictionary with following information:
+ <table>
+ <tr><th>Key</th><th>Value type</th><th>Description</th></tr>
+ <tr><td>peer_object</td><td>o</td><td>D-Bus path of the peer. See \ref dbus_peer.</td></tr>
+ <tr><td>status</td><td>i</td><td></td></tr>
+ <tr><td>passphrase</td><td>s</td><td>Passphrase for the group. Included only if this device becomes the GO of the group.</td></tr>
+ <tr><td>role_go</td><td>s</td><td>The role of the local device in the group: "GO" or "client".</td></tr>
+ <tr><td>ssid</td><td>ay</td><td></td></tr>
+ <tr><td>peer_device_addr</td><td>ay</td><td></td></tr>
+ <tr><td>peer_interface_addr</td><td>ay</td><td></td></tr>
+ <tr><td>wps_method</td><td>s</td><td></td></tr>
+ <tr><td>frequency_list</td><td>ai</td><td></td></tr>
+ <tr><td>persistent_group</td><td>i</td><td></td></tr>
+ <tr><td>peer_config_timeout</td><td>u</td><td></td></tr>
+ </table>
+ </dd>
+ </dl>
+ </li>
+
+ <li>
+ <h3>GONegotiationFailure ( a{sv} : properties )</h3>
+ <p></p>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>a{sv} : properties</dt>
+ <dd>A dictionary with following information:
+ <table>
+ <tr><th>Key</th><th>Value type</th><th>Description</th></tr>
+ <tr><td>peer_object</td><td>o</td><td>D-Bus path of the peer. See \ref dbus_peer.</td></tr>
+ <tr><td>status</td><td>i</td><td></td></tr>
+ </table>
+ </dd>
+ </dl>
+ </li>
+
+ <li>
+ <h3>GONegotiationRequest ( o : path, q : dev_passwd_id, y : device_go_intent )</h3>
+ </li>
+
+ <li>
+ <h3>InvitationResult ( a{sv} : invite_result )</h3>
+ <p></p>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>a{sv} : invite_result</dt>
+ <dd>A dictionary with following information:
+ <table>
+ <tr><th>Key</th><th>Value type</th><th>Description</th></tr>
+ <tr><td>status</td><td>i</td><td></td></tr>
+ <tr><td>BSSID</td><td>ay</td><td>Optionally present</td></tr>
+ </table>
+ </dd>
+ </dl>
+ </li>
+
+ <li>
+ <h3>GroupFinished ( a{sv} : properties )</h3>
+ <p>A P2P group was removed.</p>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>a{sv} : properties</dt>
+ <dd>A dictionary with following information of the removed group:
+ <table>
+ <tr><th>Key</th><th>Value type</th><th>Description</th></tr>
+ <tr><td>interface_object</td><td>o</td><td>D-Bus path of the interface on which this group is operating on. See \ref dbus_interface.</td></tr>
+ <tr><td>role</td><td>s</td><td>The role of the local device in the group: "GO" or "client".</td></tr>
+ <tr><td>group_object</td><td>o</td><td>D-Bus path of the group. See \ref dbus_group.</td></tr>
+ </table>
+ </dd>
+ </dl>
+ </li>
+
+ <li>
+ <h3>ServiceDiscoveryRequest ( a{sv} : sd_request )</h3>
+ <p></p>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>a{sv} : sd_request</dt>
+ <dd>A dictionary with following information:
+ <table>
+ <tr><td>peer_object</td><td>o</td><td></td></tr>
+ <tr><td>frequency</td><td>i</td><td></td></tr>
+ <tr><td>dialog_token</td><td>i</td><td></td></tr>
+ <tr><td>update_indicator</td><td>q</td><td></td></tr>
+ <tr><td>tlvs</td><td>ay</td><td></td></tr>
+ </table>
+ </dd>
+ </dl>
+ </li>
+
+ <li>
+ <h3>ServiceDiscoveryResponse ( a{sv} : sd_response )</h3>
+ <p></p>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>a{sv} : sd_response</dt>
+ <dd>A dictionary with following information:
+ <table>
+ <tr><td>peer_object</td><td>o</td><td></td></tr>
+ <tr><td>update_indicator</td><td>q</td><td></td></tr>
+ <tr><td>tlvs</td><td>ay</td><td></td></tr>
+ </table>
+ </dd>
+ </dl>
+ </li>
+
+ <li>
+ <h3>PersistentGroupAdded ( o : path, a{sv} : properties )</h3>
+ <p></p>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>o : path</dt>
+ <dd>D-Bus object path for the persistent group. See \ref dbus_persistent_group.</dd>
+ <dt>a{sv} : properties</dt>
+ <dd>A dictionary with following information:
+ <table>
+ <tr><th>Key</th><th>Value type</th><th>Description</th></tr>
+ <tr><td>bssid</td><td>s</td><td>P2P Device Address of the GO in the persistent group.</td></tr>
+ <tr><td>ssid</td><td>s</td><td>SSID of the group</td></tr>
+ <tr><td>psk</td><td>s</td><td>Passphrase (on the GO and optionally on P2P Client) or PSK (on P2P Client if passphrase ise not known)</td></tr>
+ <tr><td>disabled</td><td>s</td><td>Set to "2" to indicate special network block use as a P2P persistent group information</td></tr>
+ <tr><td>mode</td><td>s</td><td>"3" on GO or "0" on P2P Client</td></tr>
+ </table>
+ </dd>
+ </dl>
+ </li>
+
+ <li>
+ <h3>PersistentGroupRemoved ( o : path )</h3>
+ <p></p>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>o : path</dt>
+ <dd>D-Bus object path for the persistent group. See \ref dbus_persistent_group.</dd>
+ </dl>
+ </li>
+
+ <li>
+ <h3>WpsFailed ( s : name, a{sv} : args )</h3>
+ <p></p>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>s : name</dt>
+ <dd>"fail"</dd>
+ <dt>a{sv} : args</dt>
+ <dd>A dictionary with following information:
+ <table>
+ <tr><th>Key</th><th>Value type</th><th>Description</th></tr>
+ <tr><td>msg</td><td>i</td><td></td></tr>
+ <tr><td>config_error</td><td>n</td><td></td></tr>
+ </table>
+ </dd>
+ </dl>
+ </li>
+
+ <li>
+ <h3>InvitationReceived ( a{sv} : properties )</h3>
+ <p></p>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>a{sv} : properties</dt>
+ <dd>A dictionary with following information:
+ <table>
+ <tr><th>Key</th><th>Value type</th><th>Description</th></tr>
+ <tr><td>sa</td><td>ay</td><td>Optionally present</td></tr>
+ <tr><td>go_dev_addr</td><td>ay</td><td>Optionally present</td></tr>
+ <tr><td>bssid</td><td>ay</td><td>Optionally present</td></tr>
+ <tr><td>persistent_id</td><td>i</td><td>Optionally present</td></tr>
+ <tr><td>op_freq</td><td>i</td><td></td></tr>
+ </table>
+ </dd>
+ </dl>
+ </li>
+
+ <li>
+ <h3>GroupFormationFailure ( s : reason )</h3>
+ <p></p>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>s : reason</dt>
+ <dd>Reason for failure or empty string if not known.</dd>
+ </dl>
+ </li>
+</ul>
+
+\section dbus_bss fi.w1.wpa_supplicant1.BSS