DFS: Avoid compiler warnings in src/ap/dfs.c
[mech_eap.git] / doc / dbus.doxygen
1 /**
2 \page dbus %wpa_supplicant D-Bus API
3
4 This section documents the %wpa_supplicant D-Bus API. Every D-Bus
5 interface implemented by %wpa_supplicant is described here including
6 their methods, signals, and properties with arguments, returned
7 values, and possible errors.
8
9 Interfaces:
10 - \ref dbus_main
11 - \ref dbus_interface
12 - \ref dbus_wps
13 - \ref dbus_bss
14 - \ref dbus_network
15
16
17 \section dbus_main fi.w1.wpa_supplicant1
18
19 Interface implemented by the main %wpa_supplicant D-Bus object
20 registered in the bus with fi.w1.wpa_supplicant1 name.
21
22 \subsection dbus_main_methods Methods
23
24     <ul>
25       <li>
26         <h3>CreateInterface ( a{sv} : args ) --> o : interface</h3>
27         <p>Registers a wireless interface in %wpa_supplicant.</p>
28         <h4>Arguments</h4>
29         <dl>
30           <dt>a{sv} : args</dt>
31           <dd>
32             A dictionary with arguments used to add the interface to %wpa_supplicant. The dictionary may contain the following entries:
33             <table>
34               <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th>
35               <tr><td>Ifname</td><td>s</td><td>Name of the network interface to control, e.g., wlan0</td><td>Yes</td>
36               <tr><td>Bridge_ifname</td><td>s</td><td>Name of the bridge interface to control, e.g., br0</td><td>No</td>
37               <tr><td>Driver</td><td>s</td><td>Driver name which the interface uses, e.g., nl80211</td><td>No</td>
38             </table>
39           </dd>
40         </dl>
41         <h4>Returns</h4>
42         <dl>
43           <dt>o : interface</dt>
44           <dd>A D-Bus path to object representing created interface</dd>
45         </dl>
46         <h4>Possible errors</h4>
47         <dl>
48           <dt>fi.w1.wpa_supplicant1.InterfaceExists</dt>
49           <dd>%wpa_supplicant already controls this interface.</dd>
50           <dt>fi.w1.wpa_supplicant1.UnknownError</dt>
51           <dd>Creating interface failed for an unknown reason.</dd>
52           <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt>
53           <dd>Invalid entries were found in the passed argument.</dd>
54         </dl>
55       </li>
56
57       <li>
58         <h3>RemoveInterface ( o : interface ) --> nothing</h3>
59         <p>Deregisters a wireless interface from %wpa_supplicant.</p>
60         <h4>Arguments</h4>
61         <dl>
62           <dt>o : interface</dt>
63           <dd>A D-Bus path to an object representing an interface to remove returned by CreateInterface</dd>
64         </dl>
65         <h4>Possible errors</h4>
66         <dl>
67           <dt>fi.w1.wpa_supplicant1.InterfaceUnknown</dt>
68           <dd>Object pointed by the path doesn't exist or doesn't represent an interface.</dd>
69           <dt>fi.w1.wpa_supplicant1.UnknownError</dt>
70           <dd>Removing interface failed for an unknown reason.</dd>
71         </dl>
72       </li>
73
74       <li>
75         <h3>GetInterface ( s : ifname ) --> o : interface</h3>
76         <p>Returns a D-Bus path to an object related to an interface which %wpa_supplicant already controls.</p>
77         <h4>Arguments</h4>
78         <dl>
79           <dt>s : ifname</dt>
80           <dd>Name of the network interface, e.g., wlan0</dd>
81         </dl>
82         <h4>Returns</h4>
83         <dl>
84           <dt>o : interface</dt>
85           <dd>A D-Bus path to an object representing an interface</dd>
86         </dl>
87         <h4>Possible errors</h4>
88         <dl>
89           <dt>fi.w1.wpa_supplicant1.InterfaceUnknown</dt>
90           <dd>An interface with the passed name in not controlled by %wpa_supplicant.</dd>
91           <dt>fi.w1.wpa_supplicant1.UnknownError</dt>
92           <dd>Getting an interface object path failed for an unknown reason.</dd>
93         </dl>
94       </li>
95     </ul>
96
97 \subsection dbus_main_properties Properties
98
99     <ul>
100       <li>
101         <h3>DebugLevel - s - (read/write)</h3>
102         <p>Global %wpa_supplicant debugging level. Possible values are
103         "msgdump" (verbose debugging), "debug" (debugging),
104         "info" (informative), "warning" (warnings), and "error" (errors).</p>
105       </li>
106
107       <li>
108         <h3>DebugTimestamp - b - (read/write)</h3>
109         <p>Global %wpa_supplicant debugging parameter. Determines if timestamps are shown in debug logs.</p>
110       </li>
111
112       <li>
113         <h3>DebugShowKeys - b - (read/write)</h3>
114         <p>Global %wpa_supplicant debugging parameter. Determines if secrets are shown in debug logs.</p>
115       </li>
116
117       <li>
118         <h3>Interfaces - ao - (read)</h3>
119         <p>An array with paths to D-Bus objects representing controlled interfaces each.</p>
120       </li>
121
122       <li>
123         <h3>EapMethods - as - (read)</h3>
124         <p>An array with supported EAP methods names.</p>
125       </li>
126     </ul>
127
128 \subsection dbus_main_signals Signals
129
130     <ul>
131       <li>
132         <h3>InterfaceAdded ( o : interface, a{sv} : properties )</h3>
133         <p>A new interface was added to %wpa_supplicant.</p>
134         <h4>Arguments</h4>
135         <dl>
136           <dt>o : interface</dt>
137           <dd>A D-Bus path to an object representing the added interface</dd>
138         </dl>
139         <dl>
140           <dt>a{sv} : properties</dt>
141           <dd>A dictionary containing properties of added interface.</dd>
142         </dl>
143       </li>
144
145       <li>
146         <h3>InterfaceRemoved ( o : interface )</h3>
147         <p>An interface was removed from %wpa_supplicant.</p>
148         <h4>Arguments</h4>
149         <dl>
150           <dt>o : interface</dt>
151           <dd>A D-Bus path to an object representing the removed interface</dd>
152         </dl>
153       </li>
154
155       <li>
156         <h3>PropertiesChanged ( a{sv} : properties )</h3>
157         <p>Some properties have changed.</p>
158         <h4>Arguments</h4>
159         <dl>
160           <dt>a{sv} : properties</dt>
161           <dd>A dictionary with pairs of properties names which have changed and theirs new values. Possible dictionary keys are: "DebugParams"</dd>
162         </dl>
163       </li>
164     </ul>
165
166
167 \section dbus_interface fi.w1.wpa_supplicant1.Interface
168
169 Interface implemented by objects related to network interface added to
170 %wpa_supplicant, i.e., returned by
171 fi.w1.wpa_supplicant1.CreateInterface.
172
173 \subsection dbus_interface_methods Methods
174
175     <ul>
176       <li>
177         <h3>Scan ( a{sv} : args ) --> nothing</h3>
178         <p>Triggers a scan.</p>
179         <h4>Arguments</h4>
180         <dl>
181           <dt>a{sv} : args</dt>
182           <dd>
183             A dictionary with arguments describing scan type:
184             <table>
185               <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th>
186               <tr><td>Type</td><td>s</td><td>Type of the scan. Possible values: "active", "passive"</td><td>Yes</td>
187               <tr><td>SSIDs</td><td>aay</td><td>Array of SSIDs to scan for (applies only if scan type is active)</td><td>No</td>
188               <tr><td>IEs</td><td>aay</td><td>Information elements to used in active scan (applies only if scan type is active)</td><td>No</td>
189               <tr><td>Channels</td><td>a(uu)</td><td>Array of frequencies to scan in form of (center, width) in MHz.</td><td>No</td>
190               <tr><td>AllowRoam</td><td>b</td><td>TRUE (or absent) to allow a roaming decision based on the results of this scan, FALSE to prevent a roaming decision.</td><td>No</td>
191             </table>
192           </dd>
193         </dl>
194         <h4>Possible errors</h4>
195         <dl>
196           <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt>
197           <dd>Invalid entries were found in the passed argument.</dd>
198         </dl>
199       </li>
200
201       <li>
202         <h3>Disconnect ( ) --> nothing</h3>
203         <p>Disassociates the interface from current network.</p>
204         <h4>Possible errors</h4>
205         <dl>
206           <dt>fi.w1.wpa_supplicant1.NotConnected</dt>
207           <dd>Interface is not connected to any network.</dd>
208         </dl>
209       </li>
210
211       <li>
212         <h3>AddNetwork ( a{sv} : args ) --> o : network</h3>
213         <p>Adds a new network to the interface.</p>
214         <h4>Arguments</h4>
215         <dl>
216           <dt>a{sv} : args</dt>
217           <dd>A dictionary with network configuration. Dictionary entries are equivalent to entries in the "network" block in %wpa_supplicant configuration file. Entry values should be appropriate type to the entry, e.g., an entry with key "frequency" should have value type int.</dd>
218         </dl>
219         <h4>Returns</h4>
220         <dl>
221           <dt>o : network</dt>
222           <dd>A D-Bus path to an object representing a configured network</dd>
223         </dl>
224         <h4>Possible errors</h4>
225         <dl>
226           <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt>
227           <dd>Invalid entries were found in the passed argument.</dd>
228           <dt>fi.w1.wpa_supplicant1.UnknownError</dt>
229           <dd>Adding network failed for an unknown reason.</dd>
230         </dl>
231       </li>
232
233       <li>
234         <h3>RemoveNetwork ( o : network ) --> nothing</h3>
235         <p>Removes a configured network from the interface.</p>
236         <h4>Arguments</h4>
237         <dl>
238           <dt>o : network</dt>
239           <dd>A D-Bus path to an object representing a configured network returned by fi.w1.wpa_supplicant1.Interface.AddNetwork</dd>
240         </dl>
241         <h4>Possible errors</h4>
242         <dl>
243           <dt>fi.w1.wpa_supplicant1.NetworkUnknown</dt>
244           <dd>A passed path doesn't point to any network object.</dd>
245           <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt>
246           <dd>A passed path doesn't point to any network object.</dd>
247           <dt>fi.w1.wpa_supplicant1.UnknownError</dt>
248           <dd>Removing network failed for an unknown reason.</dd>
249         </dl>
250       </li>
251
252       <li>
253         <h3>SelectNetwork ( o : network ) --> nothing</h3>
254         <p>Attempt association with a configured network.</p>
255         <h4>Arguments</h4>
256         <dl>
257           <dt>o : network</dt>
258           <dd>A D-Bus path to an object representing a configured network returned by fi.w1.wpa_supplicant1.Interface.AddNetwork</dd>
259         </dl>
260         <h4>Possible errors</h4>
261         <dl>
262           <dt>fi.w1.wpa_supplicant1.NetworkUnknown</dt>
263           <dd>A passed path doesn't point to any network object.</dd>
264           <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt>
265           <dd>A passed path doesn't point to any network object.</dd>
266         </dl>
267       </li>
268
269       <li>
270         <h3>AddBlob ( s : name, ay : data ) --> nothing</h3>
271         <p>Adds a blob to the interface.</p>
272         <h4>Arguments</h4>
273         <dl>
274           <dt>s : name</dt>
275           <dd>A name of a blob</dd>
276           <dt>ay : data</dt>
277           <dd>A blob data</dd>
278         </dl>
279         <h4>Possible errors</h4>
280         <dl>
281           <dt>fi.w1.wpa_supplicant1.BlobExists</dt>
282           <dd>A blob with the specified name already exists.</dd>
283         </dl>
284       </li>
285
286       <li>
287         <h3>RemoveBlob ( s : name ) --> nothing</h3>
288         <p>Removes the blob from the interface.</p>
289         <h4>Arguments</h4>
290         <dl>
291           <dt>s : name</dt>
292           <dd>A name of the blob to remove</dd>
293         </dl>
294         <h4>Possible errors</h4>
295         <dl>
296           <dt>fi.w1.wpa_supplicant1.BlobUnknown</dt>
297           <dd>A blob with the specified name doesn't exist.</dd>
298         </dl>
299       </li>
300
301       <li>
302         <h3>GetBlob ( s : name ) --> ay : data</h3>
303         <p>Returns the blob data of a previously added blob.</p>
304         <h4>Arguments</h4>
305         <dl>
306           <dt>s : name</dt>
307           <dd>A name of the blob</dd>
308         </dl>
309         <h4>Returns</h4>
310         <dl>
311           <dt>ay : data</dt>
312           <dd>A blob data</dd>
313         </dl>
314         <h4>Possible errors</h4>
315         <dl>
316           <dt>fi.w1.wpa_supplicant1.BlobUnknown</dt>
317           <dd>A blob with the specified name doesn't exist.</dd>
318         </dl>
319       </li>
320       <li>
321         <h3>AutoScan ( s : arg ) --> nothing</h3>
322         <p>Set autoscan parameters for the interface.</p>
323         <h4>Arguments</h4>
324         <dl>
325           <dt>s : arg</dt>
326           <dd>Autoscan parameter line or empty to unset autoscan.</dd>
327         </dl>
328         <h4>Possible errors</h4>
329         <dl>
330           <dt>fi.w1.wpa_supplicant1.NoMemory</dt>
331           <dd>Needed memory was not possible to get allocated.</dd>
332           <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt>
333           <dd>Invalid entries were found in the passed argument.</dd>
334         </dl>
335       </li>
336       <li>
337         <h3>TDLSDiscover ( s : peer_address ) --> nothing</h3>
338         <p>Initiate a TDLS discovery for a peer.</p>
339         <h4>Arguments</h4>
340         <dl>
341           <dt>s : peer_address</dt>
342           <dd>MAC address for the peer to perform TDLS discovery.</dd>
343         </dl>
344         <h4>Possible errors</h4>
345         <dl>
346           <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt>
347           <dd>The "peer_address" argument is not a properly formatted MAC.</dd>
348           <dt>fi.w1.wpa_supplicant1.UnknownError</dt>
349           <dd>Initiating the TDLS operation failed for an unknown reason.</dd>
350         </dl>
351       </li>
352       <li>
353         <h3>TDLSSetup ( s : peer_address ) --> nothing</h3>
354         <p>Setup a TDLS session for a peer.</p>
355         <h4>Arguments</h4>
356         <dl>
357           <dt>s : peer_address</dt>
358           <dd>MAC address for the peer to perform TDLS setup.</dd>
359         </dl>
360         <h4>Possible errors</h4>
361         <dl>
362           <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt>
363           <dd>The "peer_address" argument is not a properly formatted MAC.</dd>
364           <dt>fi.w1.wpa_supplicant1.UnknownError</dt>
365           <dd>Initiating the TDLS operation failed for an unknown reason.</dd>
366         </dl>
367       </li>
368       <li>
369         <h3>TDLSStatus ( s : peer_address ) --> s</h3>
370         <p>Return TDLS status with respect to a peer.</p>
371         <h4>Arguments</h4>
372         <dl>
373           <dt>s : peer_address</dt>
374           <dd>MAC address for the peer for which status is requested.</dd>
375         </dl>
376         <h4>Returns</h4>
377         <dl>
378           <dt>s : status</dt>
379           <dd>Current status of the TDLS link with the selected peer.</dd>
380         </dl>
381         <h4>Possible errors</h4>
382         <dl>
383           <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt>
384           <dd>The "peer_address" argument is not a properly formatted MAC.</dd>
385         </dl>
386       </li>
387       <li>
388         <h3>TDLSTeardown ( s : peer_address ) --> nothing</h3>
389         <p>Tear down a TDLS session with a peer.</p>
390         <h4>Arguments</h4>
391         <dl>
392           <dt>s : peer_address</dt>
393           <dd>MAC address for the peer to tear down TDLS connectivity with.</dd>
394         </dl>
395         <h4>Possible errors</h4>
396         <dl>
397           <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt>
398           <dd>The "peer_address" argument is not a properly formatted MAC.</dd>
399           <dt>fi.w1.wpa_supplicant1.UnknownError</dt>
400           <dd>Initiating the TDLS operation failed for an unknown reason.</dd>
401         </dl>
402       </li>
403       <li>
404         <h3>EAPLogoff ( ) --> nothing</h3>
405         <p>IEEE 802.1X EAPOL state machine logoff.</p>
406       </li>
407       <li>
408         <h3>EAPLogon ( ) --> nothing</h3>
409         <p>IEEE 802.1X EAPOL state machine logon.</p>
410       </li>
411
412       <li>
413         <h3>SetPKCS11EngineAndModulePath ( s : pkcs11_engine_path, s : pkcs11_module_path ) --> nothing</h3>
414         <p>Set PKCS #11 engine and module path.</p>
415         <h4>Arguments</h4>
416         <dl>
417           <dt>s : pkcs11_engine_path</dt>
418           <dd>PKCS #11 engine path.</dd>
419           <dt>s : pkcs11_module_path</dt>
420           <dd>PKCS #11 module path.</dd>
421         </dl>
422         <h4>Possible errors</h4>
423         <dl>
424           <dt>org.freedesktop.DBus.Error.Failed.InvalidArgs</dt>
425           <dd>Invalid PKCS #11 engine or module path.</dd>
426           <dt>org.freedesktop.DBus.Error.Failed</dt>
427           <dd>Reinit of the EAPOL state machine with the new PKCS #11 engine and module path failed.</dd>
428         </dl>
429       </li>
430     </ul>
431
432 \subsection dbus_interface_properties Properties
433
434     <ul>
435       <li>
436         <h3>Capabilities - a{sv} - (read)</h3>
437         <p>Capabilities of the interface. Dictionary contains following entries:</p>
438         <table>
439           <tr><th>Key</th><th>Value type</th><th>Description</th>
440           <tr><td>Pairwise</td><td>as</td><td>Possible array elements: "ccmp", "tkip", "none"</td>
441           <tr><td>Group</td><td>as</td><td>Possible array elements: "ccmp", "tkip", "wep104", "wep40"</td>
442           <tr><td>KeyMgmt</td><td>as</td><td>Possible array elements: "wpa-psk", "wpa-ft-psk", "wpa-psk-sha256", "wpa-eap", "wpa-ft-eap", "wpa-eap-sha256", "ieee8021x", "wpa-none", "wps", "none"</td>
443           <tr><td>Protocol</td><td>as</td><td>Possible array elements: "rsn", "wpa"</td>
444           <tr><td>AuthAlg</td><td>as</td><td>Possible array elements: "open", "shared", "leap"</td>
445           <tr><td>Scan</td><td>as</td><td>Possible array elements: "active", "passive", "ssid"</td>
446           <tr><td>Modes</td><td>as</td><td>Possible array elements: "infrastructure", "ad-hoc", "ap"</td>
447         </table>
448       </li>
449
450       <li>
451         <h3>State - s - (read)</h3>
452         <p>A state of the interface. Possible values are: return "disconnected", "inactive", "scanning", "authenticating", "associating", "associated", "4way_handshake", "group_handshake", "completed","unknown".</p>
453       </li>
454
455       <li>
456         <h3>Scanning - b - (read)</h3>
457         <p>Determines if the interface is already scanning or not</p>
458       </li>
459
460       <li>
461         <h3>ApScan - u - (read/write)</h3>
462         <p>Identical to ap_scan entry in %wpa_supplicant configuration file. Possible values are 0, 1 or 2.</p>
463       </li>
464
465       <li>
466         <h3>BSSExpireAge - u - (read/write)</h3>
467         <p>Identical to bss_expiration_age entry in %wpa_supplicant configuration file.</p>
468       </li>
469
470       <li>
471         <h3>BSSExpireCount - u - (read/write)</h3>
472         <p>Identical to bss_expiration_scan_count entry in %wpa_supplicant configuration file.</p>
473       </li>
474
475       <li>
476         <h3>Country - s - (read/write)</h3>
477         <p>Identical to country entry in %wpa_supplicant configuration file.</p>
478       </li>
479
480       <li>
481         <h3>Ifname - s - (read)</h3>
482         <p>Name of network interface controlled by the interface, e.g., wlan0.</p>
483       </li>
484
485       <li>
486         <h3>BridgeIfname - s - (read)</h3>
487         <p>Name of bridge network interface controlled by the interface, e.g., br0.</p>
488       </li>
489
490       <li>
491         <h3>Driver - s - (read)</h3>
492         <p>Name of driver used by the interface, e.g., nl80211.</p>
493       </li>
494
495       <li>
496         <h3>CurrentBSS - o - (read)</h3>
497         <p>Path to D-Bus object representing BSS which %wpa_supplicant is associated with, or "/" if is not associated at all.</p>
498       </li>
499
500       <li>
501         <h3>CurrentNetwork - o - (read)</h3>
502         <p>Path to D-Bus object representing configured network which %wpa_supplicant uses at the moment, or "/" if doesn't use any.</p>
503       </li>
504
505       <li>
506         <h3>Blobs - as - (read)</h3>
507         <p>List of blobs names added to the Interface.</p>
508       </li>
509
510       <li>
511         <h3>BSSs - ao - (read)</h3>
512         <p>List of D-Bus objects paths representing BSSs known to the interface, i.e., scan results.</p>
513       </li>
514
515       <li>
516         <h3>Networks - ao - (read)</h3>
517         <p>List of D-Bus objects paths representing configured networks.</p>
518       </li>
519
520       <li>
521         <h3>FastReauth - b - (read/write)</h3>
522         <p>Identical to fast_reauth entry in %wpa_supplicant configuration file.</p>
523       </li>
524
525       <li>
526         <h3>ScanInterval - i - (read/write)</h3>
527         <p>Time (in seconds) between scans for a suitable AP. Must be >= 0.</p>
528       </li>
529
530       <li>
531         <h3>PKCS11EnginePath - s - (read)</h3>
532         <p>PKCS #11 engine path.</p>
533       </li>
534
535       <li>
536         <h3>PKCS11ModulePath - s - (read)</h3>
537         <p>PKCS #11 module path.</p>
538       </li>
539     </ul>
540
541 \subsection dbus_interface_signals Signals
542
543     <ul>
544       <li>
545         <h3>ScanDone ( b : success )</h3>
546         <p>Scanning finished. </p>
547         <h4>Arguments</h4>
548         <dl>
549           <dt>s : success</dt>
550           <dd>Determines if scanning was successful. If so, results are available.</dd>
551         </dl>
552       </li>
553
554       <li>
555         <h3>BSSAdded ( o : BSS, a{sv} : properties )</h3>
556         <p>Interface became aware of a new BSS.</p>
557         <h4>Arguments</h4>
558         <dl>
559           <dt>o : BSS</dt>
560           <dd>A D-Bus path to an object representing the new BSS.</dd>
561         </dl>
562         <dl>
563           <dt>a{sv} : properties</dt>
564           <dd>A dictionary containing properties of added BSS.</dd>
565         </dl>
566       </li>
567
568       <li>
569         <h3>BSSRemoved ( o : BSS )</h3>
570         <p>BSS disappeared.</p>
571         <h4>Arguments</h4>
572         <dl>
573           <dt>o : BSS</dt>
574           <dd>A D-Bus path to an object representing the BSS.</dd>
575         </dl>
576       </li>
577
578       <li>
579         <h3>BlobAdded ( s : blobName )</h3>
580         <p>A new blob has been added to the interface.</p>
581         <h4>Arguments</h4>
582         <dl>
583           <dt>s : blobName</dt>
584           <dd>A name of the added blob.</dd>
585         </dl>
586       </li>
587
588       <li>
589         <h3>BlobRemoved ( s : blobName )</h3>
590         <p>A blob has been removed from the interface.</p>
591         <h4>Arguments</h4>
592         <dl>
593           <dt>s : blobName</dt>
594           <dd>A name of the removed blob.</dd>
595         </dl>
596       </li>
597
598       <li>
599         <h3>NetworkAdded ( o : network, a{sv} : properties )</h3>
600         <p>A new network has been added to the interface.</p>
601         <h4>Arguments</h4>
602         <dl>
603           <dt>o : network</dt>
604           <dd>A D-Bus path to an object representing the added network.</dd>
605         </dl>
606         <dl>
607           <dt>a{sv} : properties</dt>
608           <dd>A dictionary containing properties of added network.</dd>
609         </dl>
610       </li>
611
612       <li>
613         <h3>NetworkRemoved ( o : network )</h3>
614         <p>The network has been removed from the interface.</p>
615         <h4>Arguments</h4>
616         <dl>
617           <dt>o : network</dt>
618           <dd>A D-Bus path to an object representing the removed network.</dd>
619         </dl>
620       </li>
621
622       <li>
623         <h3>NetworkSelected ( o : network )</h3>
624         <p>The network has been selected.</p>
625         <h4>Arguments</h4>
626         <dl>
627           <dt>o : network</dt>
628           <dd>A D-Bus path to an object representing the selected network.</dd>
629         </dl>
630       </li>
631
632       <li>
633         <h3>StaAuthorized ( s : mac )</h3>
634         <p>A new station has been authorized to the interface.</p>
635         <h4>Arguments</h4>
636         <dl>
637           <dt>s : mac</dt>
638           <dd>A mac address which has been authorized.</dd>
639         </dl>
640       </li>
641
642       <li>
643         <h3>StaDeauthorized ( s : mac )</h3>
644         <p>A station has been deauthorized to the interface.</p>
645         <h4>Arguments</h4>
646         <dl>
647           <dt>s : mac</dt>
648           <dd>A mac address which has been deauthorized.</dd>
649         </dl>
650       </li>
651
652       <li>
653         <h3>PropertiesChanged ( a{sv} : properties )</h3>
654         <p>Some properties have changed.</p>
655         <h4>Arguments</h4>
656         <dl>
657           <dt>a{sv} : properties</dt>
658           <dd>A dictionary with pairs of properties names which have changed and theirs new values. Possible dictionary keys are: "ApScan", "Scanning", "State", "CurrentBSS", "CurrentNetwork"</dd>
659         </dl>
660       </li>
661     </ul>
662
663
664 \section dbus_wps fi.w1.wpa_supplicant1.Interface.WPS
665
666 Interface implemented by objects related to network interface added to
667 %wpa_supplicant, i.e., returned by fi.w1.wpa_supplicant1.CreateInterface.
668
669 \subsection dbus_wps_methods Methods
670
671     <ul>
672       <li>
673         <h3>Start ( a{sv} : args ) --> a{sv} : output</h3>
674         <p>Starts WPS configuration.</p>
675         <h4>Arguments</h4>
676         <dl>
677           <dt>a{sv} : args</dt>
678           <dd>
679             A dictionary with arguments used to start WPS configuration. The dictionary may contain the following entries:
680             <table>
681               <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th>
682               <tr><td>Role</td><td>s</td><td>The device's role. Possible values are "enrollee" and "registrar".</td><td>Yes</td>
683               <tr><td>Type</td><td>s</td><td>WPS authentication type. Applies only for enrollee role. Possible values are "pin" and "pbc".</td><td>Yes, for enrollee role; otherwise no</td>
684               <tr><td>Pin</td><td>s</td><td>WPS Pin.</td><td>Yes, for registrar role; otherwise optional</td>
685               <tr><td>Bssid</td><td>ay</td><td></td><td>No</td>
686             </table>
687           </dd>
688         </dl>
689         <h4>Returns</h4>
690         <dl>
691           <dt>a{sv} : output</dt>
692           <dd>
693             <table>
694               <tr><th>Key</th><th>Value type</th><th>Description</th><th>Required</th>
695               <tr><td>Pin</td><td>s</td><td>Newly generated PIN, if not specified for enrollee role and pin authentication type.</td><td>No</td>
696             </table>
697           </dd>
698         </dl>
699         <h4>Possible errors</h4>
700         <dl>
701           <dt>fi.w1.wpa_supplicant1.UnknownError</dt>
702           <dd>Starting WPS configuration failed for an unknown reason.</dd>
703           <dt>fi.w1.wpa_supplicant1.InvalidArgs</dt>
704           <dd>Invalid entries were found in the passed argument.</dd>
705         </dl>
706       </li>
707     </ul>
708
709 \subsection dbus_wps_properties Properties
710
711     <ul>
712       <li>
713         <h3>ProcessCredentials - b - (read/write)</h3>
714         <p>Determines if the interface will process the credentials (credentials_processed configuration file parameter).</p>
715       </li>
716     </ul>
717
718 \subsection dbus_wps_signals Signals
719
720     <ul>
721       <li>
722         <h3>Event ( s : name, a{sv} : args )</h3>
723         <p>WPS event occurred.</p>
724         <h4>Arguments</h4>
725         <dl>
726           <dt>s : event</dt>
727           <dd>Event type. Possible values are: "success, "fail" and "m2d"</dd>
728           <dt>a{sv} : args</dt>
729           <dd>
730             Event arguments. Empty for success event, one entry ( "msg" : i ) for fail event and following entries for m2d event:
731             <table>
732               <tr><th>config_methods</th><th>Value type</th>
733               <tr><td>manufacturer</td><td>q</td>
734               <tr><td>model_name</td><td>ay</td>
735               <tr><td>model_number</td><td>ay</td>
736               <tr><td>serial_number</td><td>ay</td>
737               <tr><td>dev_name</td><td>ay</td>
738               <tr><td>primary_dev_type</td><td>ay</td>
739               <tr><td>config_error</td><td>q</td>
740               <tr><td>dev_password_id</td><td>q</td>
741             </table>
742           </dd>
743         </dl>
744       </li>
745
746       <li>
747         <h3>Credentials ( a{sv} : credentials )</h3>
748         <p>WPS credentials. Dictionary contains:</p>
749         <table>
750           <tr><th>Key</th><th>Value type</th><th>Description</th>
751           <tr><td>BSSID</td><td>ay</td><td></td>
752           <tr><td>SSID</td><td>s</td><td></td>
753           <tr><td>AuthType</td><td>as</td><td>Possible array elements: "open", "shared", "wpa-psk", "wpa-eap", "wpa2-eap", "wpa2-psk"</td>
754           <tr><td>EncrType</td><td>as</td><td>Possible array elements: "none", "wep", "tkip", "aes"</td>
755           <tr><td>Key</td><td>ay</td><td>Key data</td>
756           <tr><td>KeyIndex</td><td>u</td><td>Key index</td>
757         </table>
758       </li>
759
760       <li>
761         <h3>PropertiesChanged ( a{sv} : properties )</h3>
762         <p>Some properties have changed.</p>
763         <h4>Arguments</h4>
764         <dl>
765           <dt>a{sv} : properties</dt>
766           <dd>A dictionary with pairs of properties names which have changed and theirs new values. Possible dictionary keys are: "ProcessCredentials"</dd>
767         </dl>
768       </li>
769     </ul>
770
771
772 \section dbus_bss fi.w1.wpa_supplicant1.BSS
773
774 Interface implemented by objects representing a scanned BSSs, i.e.,
775 scan results.
776
777 \subsection dbus_bss_properties Properties
778
779     <ul>
780       <li>
781         <h3>BSSID - ay - (read)</h3>
782         <p>BSSID of the BSS.</p>
783       </li>
784       <li>
785         <h3>SSID - ay - (read)</h3>
786         <p>SSID of the BSS.</p>
787       </li>
788       <li>
789         <h3>WPA - a{sv} - (read)</h3>
790         <p>WPA information of the BSS. Empty dictionary indicates no WPA support. Dictionary entries are:</p>
791         <table>
792           <tr><td>KeyMgmt</td><td>as</td><td>Key management suite. Possible array elements: "wpa-psk", "wpa-eap", "wpa-none"</td>
793           <tr><td>Pairwise</td><td>as</td><td>Pairwise cipher suites. Possible array elements: "ccmp", "tkip"</td>
794           <tr><td>Group</td><td>s</td><td>Group cipher suite. Possible values are: "ccmp", "tkip", "wep104", "wep40"</td>
795         </table>
796       </li>
797       <li>
798         <h3>RSN - a{sv} - (read)</h3>
799         <p>RSN information of the BSS. Empty dictionary indicates no RSN support. Dictionary entries are:</p>
800         <table>
801           <tr><td>KeyMgmt</td><td>as</td><td>Key management suite. Possible array elements: "wpa-psk", "wpa-eap", "wpa-ft-psk", "wpa-ft-eap", "wpa-psk-sha256", "wpa-eap-sha256",</td>
802           <tr><td>Pairwise</td><td>as</td><td>Pairwise cipher suites. Possible array elements: "ccmp", "tkip"</td>
803           <tr><td>Group</td><td>s</td><td>Group cipher suite. Possible values are: "ccmp", "tkip", "wep104", "wep40"</td>
804           <tr><td>MgmtGroup</td><td>s</td><td>Mangement frames cipher suite. Possible values are: "aes128cmac"</td>
805         </table>
806       </li>
807       <li>
808         <h3>IEs - ay - (read)</h3>
809         <p>All IEs of the BSS as a chain of TLVs</p>
810       </li>
811       <li>
812         <h3>Privacy - b - (read)</h3>
813         <p>Indicates if BSS supports privacy.</p>
814       </li>
815       <li>
816         <h3>Mode - s - (read)</h3>
817         <p>Describes mode of the BSS. Possible values are: "ad-hoc" and "infrastructure".</p>
818       </li>
819       <li>
820         <h3>Frequency - q - (read)</h3>
821         <p>Frequency of the BSS in MHz.</p>
822       </li>
823       <li>
824         <h3>Rates - au - (read)</h3>
825         <p>Descending ordered array of rates supported by the BSS in bits per second.</p>
826       </li>
827       <li>
828         <h3>Signal - n - (read)</h3>
829         <p>Signal strength of the BSS.</p>
830       </li>
831     </ul>
832
833 \subsection dbus_bss_signals Signals
834
835     <ul>
836       <li>
837         <h3>PropertiesChanged ( a{sv} : properties )</h3>
838         <p>Some properties have changed.</p>
839         <h4>Arguments</h4>
840         <dl>
841           <dt>a{sv} : properties</dt>
842           <dd>A dictionary with pairs of properties names which have changed and theirs new values.</dd>
843         </dl>
844       </li>
845     </ul>
846
847
848 \section dbus_network fi.w1.wpa_supplicant1.Network
849
850 Interface implemented by objects representing configured networks,
851 i.e., returned by fi.w1.wpa_supplicant1.Interface.AddNetwork.
852
853 \subsection dbus_network_properties Properties
854
855     <ul>
856       <li>
857         <h3>Enabled - b - (read/write)</h3>
858         <p>Determines if the configured network is enabled or not.</p>
859       </li>
860
861       <li>
862         <h3>Properties - a{sv} - (read)</h3>
863         <p>Properties of the configured network. Dictionary contains entries from "network" block of %wpa_supplicant configuration file. All values are string type, e.g., frequency is "2437", not 2437.
864       </li>
865     </ul>
866
867 \subsection dbus_network_signals Signals
868
869     <ul>
870       <li>
871         <h3>PropertiesChanged ( a{sv} : properties )</h3>
872         <p>Some properties have changed.</p>
873         <h4>Arguments</h4>
874         <dl>
875           <dt>a{sv} : properties</dt>
876           <dd>A dictionary with pairs of properties names which have changed and theirs new values. Possible dictionary keys are: "Enabled"</dd>
877         </dl>
878       </li>
879     </ul>
880
881 */