* @since_tizen 3.0
*/
typedef enum {
- WIFI_MANAGER_ERROR_NONE = TIZEN_ERROR_NONE, /**< Successful */
- WIFI_MANAGER_ERROR_INVALID_PARAMETER = TIZEN_ERROR_INVALID_PARAMETER, /**< Invalid parameter */
- WIFI_MANAGER_ERROR_OUT_OF_MEMORY = TIZEN_ERROR_OUT_OF_MEMORY, /**< Out of memory error */
- WIFI_MANAGER_ERROR_INVALID_OPERATION = TIZEN_ERROR_INVALID_OPERATION, /**< Invalid operation */
- WIFI_MANAGER_ERROR_ADDRESS_FAMILY_NOT_SUPPORTED = TIZEN_ERROR_ADDRESS_FAMILY_NOT_SUPPORTED, /**< Address family not supported */
- WIFI_MANAGER_ERROR_OPERATION_FAILED = TIZEN_ERROR_WIFI_MANAGER|0x01, /**< Operation failed */
- WIFI_MANAGER_ERROR_NO_CONNECTION = TIZEN_ERROR_WIFI_MANAGER|0x02, /**< There is no connected AP */
- WIFI_MANAGER_ERROR_NOW_IN_PROGRESS = TIZEN_ERROR_NOW_IN_PROGRESS, /**< Now in progress */
- WIFI_MANAGER_ERROR_ALREADY_EXISTS = TIZEN_ERROR_WIFI_MANAGER|0x03, /**< Already exists */
- WIFI_MANAGER_ERROR_OPERATION_ABORTED = TIZEN_ERROR_WIFI_MANAGER|0x04, /**< Operation is aborted */
- WIFI_MANAGER_ERROR_DHCP_FAILED = TIZEN_ERROR_WIFI_MANAGER|0x05, /**< DHCP failed */
- WIFI_MANAGER_ERROR_INVALID_KEY = TIZEN_ERROR_WIFI_MANAGER|0x06, /**< Invalid key */
- WIFI_MANAGER_ERROR_NO_REPLY = TIZEN_ERROR_WIFI_MANAGER|0x07, /**< No reply */
- WIFI_MANAGER_ERROR_SECURITY_RESTRICTED = TIZEN_ERROR_WIFI_MANAGER|0x08, /**< Restricted by security system policy */
- WIFI_MANAGER_ERROR_ALREADY_INITIALIZED = TIZEN_ERROR_WIFI_MANAGER|0x09, /**< Already initialized */
- WIFI_MANAGER_ERROR_PERMISSION_DENIED = TIZEN_ERROR_PERMISSION_DENIED, /**< Permission Denied */
- WIFI_MANAGER_ERROR_NOT_SUPPORTED = TIZEN_ERROR_NOT_SUPPORTED /**< Not Supported */
+ /**
+ * Successful
+ */
+ WIFI_MANAGER_ERROR_NONE = TIZEN_ERROR_NONE,
+
+ /**
+ * Invalid parameter
+ */
+ WIFI_MANAGER_ERROR_INVALID_PARAMETER = TIZEN_ERROR_INVALID_PARAMETER,
+
+ /**
+ * Out of memory error
+ */
+ WIFI_MANAGER_ERROR_OUT_OF_MEMORY = TIZEN_ERROR_OUT_OF_MEMORY,
+
+ /**
+ * Invalid operation
+ */
+ WIFI_MANAGER_ERROR_INVALID_OPERATION = TIZEN_ERROR_INVALID_OPERATION,
+
+ /**
+ * Address family not supported
+ */
+ WIFI_MANAGER_ERROR_ADDRESS_FAMILY_NOT_SUPPORTED = TIZEN_ERROR_ADDRESS_FAMILY_NOT_SUPPORTED,
+
+ /**
+ * Operation failed
+ */
+ WIFI_MANAGER_ERROR_OPERATION_FAILED = TIZEN_ERROR_WIFI_MANAGER|0x01,
+
+ /**
+ * There is no connected AP
+ */
+ WIFI_MANAGER_ERROR_NO_CONNECTION = TIZEN_ERROR_WIFI_MANAGER|0x02,
+
+ /**
+ * Now in progress
+ */
+ WIFI_MANAGER_ERROR_NOW_IN_PROGRESS = TIZEN_ERROR_NOW_IN_PROGRESS,
+
+ /**
+ * Already exists
+ */
+ WIFI_MANAGER_ERROR_ALREADY_EXISTS = TIZEN_ERROR_WIFI_MANAGER|0x03,
+
+ /**
+ * Operation is aborted
+ */
+ WIFI_MANAGER_ERROR_OPERATION_ABORTED = TIZEN_ERROR_WIFI_MANAGER|0x04,
+
+ /**
+ * DHCP failed
+ */
+ WIFI_MANAGER_ERROR_DHCP_FAILED = TIZEN_ERROR_WIFI_MANAGER|0x05,
+
+ /**
+ * Invalid key
+ */
+ WIFI_MANAGER_ERROR_INVALID_KEY = TIZEN_ERROR_WIFI_MANAGER|0x06,
+
+ /**
+ * No reply
+ */
+ WIFI_MANAGER_ERROR_NO_REPLY = TIZEN_ERROR_WIFI_MANAGER|0x07,
+
+ /**
+ * Restricted by security system policy
+ */
+ WIFI_MANAGER_ERROR_SECURITY_RESTRICTED = TIZEN_ERROR_WIFI_MANAGER|0x08,
+
+ /**
+ * Already initialized
+ */
+ WIFI_MANAGER_ERROR_ALREADY_INITIALIZED = TIZEN_ERROR_WIFI_MANAGER|0x09,
+
+ /**
+ * Permission Denied
+ */
+ WIFI_MANAGER_ERROR_PERMISSION_DENIED = TIZEN_ERROR_PERMISSION_DENIED,
+
+ /**
+ * Not Supported
+ */
+ WIFI_MANAGER_ERROR_NOT_SUPPORTED = TIZEN_ERROR_NOT_SUPPORTED
+
} wifi_manager_error_e;
/**
* @since_tizen 3.0
*/
typedef enum {
- WIFI_MANAGER_DEVICE_STATE_DEACTIVATED = 0, /**< Wi-Fi is Deactivated */
- WIFI_MANAGER_DEVICE_STATE_ACTIVATED = 1, /**< Wi-Fi is activated */
+ WIFI_MANAGER_DEVICE_STATE_DEACTIVATED = 0, /**< Wi-Fi is Deactivated */
+ WIFI_MANAGER_DEVICE_STATE_ACTIVATED = 1, /**< Wi-Fi is activated */
} wifi_manager_device_state_e;
/**
* @since_tizen 3.0
*/
typedef enum {
- WIFI_MANAGER_CONNECTION_STATE_FAILURE = -1, /**< Connection failed state */
- WIFI_MANAGER_CONNECTION_STATE_DISCONNECTED = 0, /**< Disconnected state */
- WIFI_MANAGER_CONNECTION_STATE_ASSOCIATION = 1, /**< Association state */
- WIFI_MANAGER_CONNECTION_STATE_CONFIGURATION = 2, /**< Configuration state */
- WIFI_MANAGER_CONNECTION_STATE_CONNECTED = 3, /**< Connected state */
+ WIFI_MANAGER_CONNECTION_STATE_FAILURE = -1, /**< Connection failed state */
+ WIFI_MANAGER_CONNECTION_STATE_DISCONNECTED = 0, /**< Disconnected state */
+ WIFI_MANAGER_CONNECTION_STATE_ASSOCIATION = 1, /**< Association state */
+ WIFI_MANAGER_CONNECTION_STATE_CONFIGURATION = 2, /**< Configuration state */
+ WIFI_MANAGER_CONNECTION_STATE_CONNECTED = 3, /**< Connected state */
} wifi_manager_connection_state_e;
/**
* @since_tizen 3.0
*/
typedef enum {
- WIFI_MANAGER_IP_CONFIG_TYPE_NONE = 0, /**< Not defined */
- WIFI_MANAGER_IP_CONFIG_TYPE_STATIC = 1, /**< Manual IP configuration */
- WIFI_MANAGER_IP_CONFIG_TYPE_DYNAMIC = 2, /**< Config IP using DHCP client*/
- WIFI_MANAGER_IP_CONFIG_TYPE_AUTO = 3, /**< Config IP from Auto IP pool (169.254/16). Later with DHCP client, if available */
- WIFI_MANAGER_IP_CONFIG_TYPE_FIXED = 4, /**< Indicates an IP address that can not be modified */
+ /**
+ * Not defined
+ */
+ WIFI_MANAGER_IP_CONFIG_TYPE_NONE = 0,
+
+ /**
+ * Manual IP configuration
+ */
+ WIFI_MANAGER_IP_CONFIG_TYPE_STATIC = 1,
+
+ /**
+ * Config IP using DHCP client
+ */
+ WIFI_MANAGER_IP_CONFIG_TYPE_DYNAMIC = 2,
+
+ /**
+ * Config IP from Auto IP pool (169.254/16). Later with DHCP client, if available
+ */
+ WIFI_MANAGER_IP_CONFIG_TYPE_AUTO = 3,
+
+ /**
+ * Indicates an IP address that can not be modified
+ */
+ WIFI_MANAGER_IP_CONFIG_TYPE_FIXED = 4,
+
} wifi_manager_ip_config_type_e;
/**
* @since_tizen 3.0
*/
typedef enum {
- WIFI_MANAGER_PROXY_TYPE_DIRECT = 0, /**< Direct connection */
- WIFI_MANAGER_PROXY_TYPE_AUTO = 1, /**< Auto configuration(Use PAC file). If URL property is not set, DHCP/WPAD auto-discover will be tried */
- WIFI_MANAGER_PROXY_TYPE_MANUAL = 2 /**< Manual configuration */
+ /**
+ * Direct connection
+ */
+ WIFI_MANAGER_PROXY_TYPE_DIRECT = 0,
+
+ /**
+ * Auto configuration(Use PAC file). If URL property is not set,
+ * DHCP/WPAD auto-discover will be tried
+ */
+ WIFI_MANAGER_PROXY_TYPE_AUTO = 1,
+
+ /**
+ * Manual configuration
+ */
+ WIFI_MANAGER_PROXY_TYPE_MANUAL = 2
+
} wifi_manager_proxy_type_e;
/**
} wifi_manager_eap_auth_type_e;
/**
-* @}
-*/
+ * @brief Enumeration for Wi-Fi disconnect reason, provided by the supplicant.
+ * @since_tizen 4.0 @endif
+ */
+typedef enum {
+ /**
+ * Unspecified reason
+ */
+ WIFI_REASON_UNSPECIFIED = 1,
+
+ /**
+ * Previous authentication no longer valid
+ */
+ WIFI_REASON_PREV_AUTH_NOT_VALID = 2,
+
+ /**
+ * Deauthenticated because sending STA is leaving (or has left) IBSS or ESS
+ */
+ WIFI_REASON_DEAUTH_LEAVING = 3,
+
+ /**
+ * Disassociated due to inactivity
+ */
+ WIFI_REASON_DISASSOC_DUE_TO_INACTIVITY = 4,
+
+ /**
+ * Disassociated because AP is unable to handle all currently associated STAs
+ */
+ WIFI_REASON_DISASSOC_AP_BUSY = 5,
+
+ /**
+ * Class 2 frame received from nonauthenticated STA
+ */
+ WIFI_REASON_CLASS2_FRAME_FROM_NONAUTH_STA = 6,
+
+ /**
+ * Class 3 frame received from nonassociated STA
+ */
+ WIFI_REASON_CLASS3_FRAME_FROM_NONASSOC_STA = 7,
+
+ /**
+ * Disassociated because sending STA is leaving (or has left) BSS
+ */
+ WIFI_REASON_DISASSOC_STA_HAS_LEFT = 8,
+
+ /**
+ * STA requesting (re)association is not authenticated with responding STA
+ */
+ WIFI_REASON_STA_REQ_ASSOC_WITHOUT_AUTH = 9,
+
+ /**
+ * Disassociated because the information in the Power Capability
+ * element is unacceptable
+ */
+ WIFI_REASON_PWR_CAPABILITY_NOT_VALID = 10,
+
+ /**
+ * Disassociated because the information in the Supported Channels
+ * element is unacceptable
+ */
+ WIFI_REASON_SUPPORTED_CHANNEL_NOT_VALID = 11,
+
+ /**
+ * Invalid element i.e., an element defined in this standard for which the
+ * content does not meet the specifications in Clause 8
+ */
+ WIFI_REASON_INVALID_IE = 13,
+
+ /**
+ * Message Integrity Code (MIC) failure
+ */
+ WIFI_REASON_MICHAEL_MIC_FAILURE = 14,
+
+ /**
+ * 4-Way Handshake timeout
+ */
+ WIFI_REASON_4WAY_HANDSHAKE_TIMEOUT = 15,
+
+ /**
+ * Group Key Handshake timeout
+ */
+ WIFI_REASON_GROUP_KEY_UPDATE_TIMEOUT = 16,
+
+ /**
+ * Element in 4-Way Handshake different from (Re)Association Request/Probe
+ * Response/Beacon frame
+ */
+ WIFI_REASON_IE_IN_4WAY_DIFFERS = 17,
+
+ /**
+ * Invalid group cipher
+ */
+ WIFI_REASON_GROUP_CIPHER_NOT_VALID = 18,
+
+ /**
+ * Invalid pairwise cipher
+ */
+ WIFI_REASON_PAIRWISE_CIPHER_NOT_VALID = 19,
+
+ /**
+ * Invalid AKMP
+ */
+ WIFI_REASON_AKMP_NOT_VALID = 20,
+
+ /**
+ * Unsupported RSNE version
+ */
+ WIFI_REASON_UNSUPPORTED_RSN_IE_VERSION = 21,
+
+ /**
+ * Invalid RSNE capabilities
+ */
+ WIFI_REASON_INVALID_RSN_IE_CAPAB = 22,
+
+ /**
+ * IEEE 802.1X authentication failed
+ */
+ WIFI_REASON_IEEE_802_1X_AUTH_FAILED = 23,
+
+ /**
+ * Cipher suite rejected because of the security policy
+ */
+ WIFI_REASON_CIPHER_SUITE_REJECTED = 24,
+
+ /**
+ * TDLS direct-link teardown due to TDLS peer STA unreachable via the
+ * TDLS direct link
+ */
+ WIFI_REASON_TDLS_TEARDOWN_UNREACHABLE = 25,
+
+ /**
+ * TDLS direct-link teardown for unspecified reason
+ */
+ WIFI_REASON_TDLS_TEARDOWN_UNSPECIFIED = 26,
+
+ /**
+ * Disassociated because excessive number of frames need to be acknowledged,
+ * but are not acknowledged due to AP transmissions and/or poor channel conditions
+ */
+ WIFI_REASON_DISASSOC_LOW_ACK = 34,
+
+ /**
+ * SME cancels the mesh peering instance with the reason other than reaching
+ * the maximum number of peer mesh STAs
+ */
+ WIFI_REASON_MESH_PEERING_CANCELLED = 52,
+
+ /**
+ * The mesh STA has reached the supported maximum number of peer mesh STAs
+ */
+ WIFI_REASON_MESH_MAX_PEERS = 53,
+
+ /**
+ * The received information violates the Mesh Configuration policy
+ * configured in the mesh STA profile
+ */
+ WIFI_REASON_MESH_CONFIG_POLICY_VIOLATION = 54,
+
+ /**
+ * The mesh STA has received a Mesh Peering Close message requesting
+ * to close the mesh peering
+ */
+ WIFI_REASON_MESH_CLOSE_RCVD = 55,
+
+ /**
+ * The mesh STA has resent dot11MeshMaxRetries Mesh Peering Open messages,
+ * without receiving a Mesh Peering Confirm message
+ */
+ WIFI_REASON_MESH_MAX_RETRIES = 56,
+
+ /**
+ * The confirmTimer for the mesh peering instance times out
+ */
+ WIFI_REASON_MESH_CONFIRM_TIMEOUT = 57,
+
+ /**
+ * The mesh STA fails to unwrap the GTK or the values in the wrapped
+ * contents do not match
+ */
+ WIFI_REASON_MESH_INVALID_GTK = 58,
+
+ /**
+ * The mesh STA receives inconsistent information about the mesh parameters
+ * between Mesh Peering Management frames
+ */
+ WIFI_REASON_MESH_INCONSISTENT_PARAMS = 59,
+
+ /**
+ * The mesh STA does not have proxy inform ation for this external destination
+ */
+ WIFI_REASON_MESH_INVALID_SECURITY_CAP = 60,
+
+} wifi_disconnect_reason_e;
+
+
+/**
+ * @}
+ */
/**
* @addtogroup CAPI_NETWORK_WIFI_MANAGER_TDLS_MODULE
*/
int wifi_manager_ap_set_eap_auth_type(wifi_manager_ap_h ap, wifi_manager_eap_auth_type_e type);
+
+/**
+ * @brief Gets the Wi-Fi disconnect reason from the supplicant.
+ * @since_tizen 3.0
+ * @param[in] ap The access point handle
+ * @param[out] disconnect_reason The supplicant disconnect reason
+ * @return 0 on success, otherwise negative error value
+ * @retval #WIFI_MANAGER_ERROR_NONE Successful
+ * @retval #WIFI_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #WIFI_MANAGER_ERROR_OPERATION_FAILED Operation failed
+ * @retval #WIFI_MANAGER_ERROR_NOT_SUPPORTED Not supported
+ */
+int wifi_manager_ap_get_disconnect_reason(wifi_manager_ap_h ap,
+ wifi_disconnect_reason_e *disconnect_reason);
+
/**
* @}
*/