Modified to handle WPA3/WPA2 mixed mode as WPA3-SAE
[platform/upstream/connman.git] / doc / service-api.txt
old mode 100644 (file)
new mode 100755 (executable)
index f72df8b..f8dbb96
@@ -22,20 +22,25 @@ Methods             dict GetProperties()  [deprecated]
                        changeable. On success a PropertyChanged signal
                        will be emitted.
 
                        changeable. On success a PropertyChanged signal
                        will be emitted.
 
+                       Properties cannot be set for hidden WiFi service
+                       entries or provisioned services.
+
                        Possible Errors: [service].Error.InvalidArguments
                                         [service].Error.InvalidProperty
 
                void ClearProperty(string name)
 
                        Possible Errors: [service].Error.InvalidArguments
                                         [service].Error.InvalidProperty
 
                void ClearProperty(string name)
 
-                       Clears the value of the specified property.
+                       Clears the value of the specified property. Only
+                       the readonly Error property can be cleared using
+                       this method call. When cleared the service is reset
+                       to the idle state.
 
 
-                       Possible Errors: [service].Error.InvalidArguments
-                                        [service].Error.InvalidProperty
+                       Possible Errors: [service].Error.InvalidProperty
 
                void Connect()
 
                        Connect this service. It will attempt to connect
 
                void Connect()
 
                        Connect this service. It will attempt to connect
-                       WiFi, WiMAX or Bluetooth services.
+                       WiFi or Bluetooth services.
 
                        For Ethernet devices this method can only be used
                        if it has previously been disconnected. Otherwise
 
                        For Ethernet devices this method can only be used
                        if it has previously been disconnected. Otherwise
@@ -48,6 +53,11 @@ Methods              dict GetProperties()  [deprecated]
                        setting a longer D-Bus timeout might be a really
                        good idea.
 
                        setting a longer D-Bus timeout might be a really
                        good idea.
 
+                       Calling Connect() on a hidden WiFi service entry will
+                       query the missing SSID via the Agent API causing a
+                       WiFi service with the given SSID to be scanned,
+                       created and connected.
+
                        Possible Errors: [service].Error.InvalidArguments
 
                void Disconnect()
                        Possible Errors: [service].Error.InvalidArguments
 
                void Disconnect()
@@ -61,7 +71,10 @@ Methods              dict GetProperties()  [deprecated]
                        method will fail.
 
                        This method can also be used to abort a previous
                        method will fail.
 
                        This method can also be used to abort a previous
-                       connectiong attempt via the Connect method.
+                       connection attempt via the Connect method.
+
+                       Hidden WiFi service entries cannot be disconnected
+                       as they always stay in idle state.
 
                        Possible Errors: [service].Error.InvalidArguments
 
 
                        Possible Errors: [service].Error.InvalidArguments
 
@@ -78,12 +91,14 @@ Methods             dict GetProperties()  [deprecated]
                        to false, but that is currently not supported.
 
                        In the case a connection attempt failed and the
                        to false, but that is currently not supported.
 
                        In the case a connection attempt failed and the
-                       service is in the State=failure, this method can
-                       also be used to reset the service.
+                       service is in the state "failure", "idle" or
+                       "disconnect", this method can also be used
+                       to reset the service.
 
 
-                       Calling this method on Ethernet devices will cause
-                       an error message. It is not possible to remove these
-                       kind of devices.
+                       Calling this method on Ethernet devices, hidden WiFi
+                       services or provisioned services will cause an error
+                       message. It is not possible to remove these kind of
+                       services.
 
                        Possible Errors: [service].Error.InvalidArguments
 
 
                        Possible Errors: [service].Error.InvalidArguments
 
@@ -92,9 +107,6 @@ Methods              dict GetProperties()  [deprecated]
                        If a service has been used before, this allows a
                        reorder of the favorite services.
 
                        If a service has been used before, this allows a
                        reorder of the favorite services.
 
-                       The target service object must be part of this
-                       profile. Moving between profiles is not supported.
-
                        Possible Errors: [service].Error.InvalidArguments
 
                void MoveAfter(object service)
                        Possible Errors: [service].Error.InvalidArguments
 
                void MoveAfter(object service)
@@ -102,9 +114,6 @@ Methods             dict GetProperties()  [deprecated]
                        If a service has been used before, this allows a
                        reorder of the favorite services.
 
                        If a service has been used before, this allows a
                        reorder of the favorite services.
 
-                       The target service object must be part of this
-                       profile. Moving between profiles is not supported.
-
                        Possible Errors: [service].Error.InvalidArguments
 
                void ResetCounters()  [experimental]
                        Possible Errors: [service].Error.InvalidArguments
 
                void ResetCounters()  [experimental]
@@ -146,7 +155,9 @@ Properties  string State [readonly]
                        the "failure" state. Otherwise it might be empty or
                        not present at all.
 
                        the "failure" state. Otherwise it might be empty or
                        not present at all.
 
-                       Current defined error code is "dhcp-failed".
+                       Currently defined error codes are: "out-of-range",
+                       "pin-missing", "dhcp-failed", "connect-failed",
+                       "login-failed", "auth-failed" and "invalid-key".
 
                string Name [readonly]
 
 
                string Name [readonly]
 
@@ -176,8 +187,41 @@ Properties string State [readonly]
                        present and contains the list of security methods
                        or key management settings.
 
                        present and contains the list of security methods
                        or key management settings.
 
-                       Possible values are "none", "wep", "psk", "ieee8021x"
-                       and also "wps".
+                       Possible values are "none", "wep", "psk", "ieee8021x",
+                       and also "wps" and "wps_advertising".
+
+                       Value "wps" means that the service supports WPS. A
+                       service advertising itself as WPS registrar contains
+                       the additional value "wps_advertising" for as long as
+                       it is advertising. That is, while "wps_advertising" is
+                       listed, WPS is active and it should be possible to
+                       connect to the corresponding service via WPS.
+
+                       This property might be only present for WiFi
+                       services.
+
+               string BSSID [readonly]
+
+                       If the service type is WiFi, then this property
+                       indicates the BSSID of the service.
+
+               uint32 MaxRate [readonly]
+
+                       If the service type is WiFi, then this property
+                       indicates the Maximum speed(bps) of the service.
+
+               uint16 Frequency [readonly]
+
+                       If the service type is WiFi, then this property
+                       indicates the frequency band(MHz) of the service.
+
+               string EncryptionMode [readonly]
+
+                       If the service type is WiFi, then this property
+                       indicates the key encryption mode.
+
+                       Possible values are "none", "wep", "tkip", "aes"
+                       and "mixed".
 
                        This property might be only present for WiFi
                        services.
 
                        This property might be only present for WiFi
                        services.
@@ -204,9 +248,9 @@ Properties  string State [readonly]
                        This value will be set to true if the service is
                        configured externally via a configuration file.
 
                        This value will be set to true if the service is
                        configured externally via a configuration file.
 
-                       The only valid operation are Connect() and of
-                       course Disconnect(). The Remove() method will
-                       result in an error.
+                       The only valid operations are Connect(), Disconnect()
+                       and changing the AutoConnect property. The Remove()
+                       method will result in an error.
 
                boolean AutoConnect [readwrite]
 
 
                boolean AutoConnect [readwrite]
 
@@ -297,9 +341,15 @@ Properties string State [readonly]
 
                        string Method [readonly]
 
 
                        string Method [readonly]
 
-                               Possible values are "dhcp", "manual"
+                               Possible values are "dhcp", "manual", "auto"
                                and "off".
 
                                and "off".
 
+                               It could be "auto" in case address was got
+                               through IPv4LL after DHCP failed. In this
+                               case also IPv4.Configuration will become
+                               "auto" to allow user to ask for a DHCP
+                               address at any time.
+
                                The value "fixed" indicates an IP address
                                that can not be modified. For example
                                cellular networks return fixed information.
                                The value "fixed" indicates an IP address
                                that can not be modified. For example
                                cellular networks return fixed information.
@@ -471,18 +521,60 @@ Properties        string State [readonly]
 
                                The Ethernet MTU (default is 1500).
 
 
                                The Ethernet MTU (default is 1500).
 
-                       uint16 Speed [readonly]
+                       uint16 Speed [readonly] [deprecated]
 
                                Selected speed of the line.
 
 
                                Selected speed of the line.
 
-                               This information might not always be
-                               available.
+                               This information is not available.
 
 
-                       string Duplex [readonly]
+                       string Duplex [readonly] [deprecated]
 
                                Selected duplex settings of the line.
 
                                Selected duplex settings of the line.
-
                                Possible values are "half" and "full".
 
                                Possible values are "half" and "full".
 
-                               This information might not always be
-                               available.
+                               This information is not available.
+
+               bool mDNS [readonly]
+
+                       Whether or not mDNS support is enabled. Note
+                       that mDNS requires a DNS backend which
+                       supports it. Currently the only DNS backend
+                       which supports mDNS is systemd-resolved.
+
+               bool mDNS.Configuration [readwrite]
+
+                       Same values as mDNS property. The mDNS
+                       represents the actual system configuration
+                       while this allows user configuration.
+
+               dict LastAddressConflict [readonly]
+
+                       This property contains information about the previously detected
+                       address conflict. If there has been no address conflict then
+                       IPv4 Address is "0.0.0.0", Ethernet Address is "00:00:00:00:00:00",
+                       Timestamp is zero and Resolved is true.
+
+                       dict IPv4 [readonly]
+
+                               string Address [readonly]
+
+                               The IPv4 address which had a conflict.
+
+                       dict Ethernet [readonly]
+
+                               string Address [readonly]
+
+                               The ethernet device address (MAC address) of the conflicting
+                               host.
+
+                       int64 Timestamp [readonly]
+
+                               A timestamp when the conflict was detected in microseconds
+                               since January 1, 1970 UTC.
+
+                       bool Resolved [readonly]
+
+                               Set to false when an address conflict occurs.
+                               If a previous conflict could be resolved by probing another
+                               IPv4 address (which is not an IPv4LL) then this boolean is set
+                               to true.