/**
* @brief Destroys the connection handle.
+ * @details This function releases all resources allocated for the given connection handle. \n
+ * should be called when the connection is no longer needed to prevent memory leaks and other potential issues.
* @since_tizen 2.3
* @param[in] connection The connection handle
* @return @c 0 on success,
/**
* @brief Called when the type of a connection is changed.
+ * @details This callback function is invoked when the type of the network connection changes. \n
+ * It provides information about the connection type changes and allows you to handle the change accordingly.
* @since_tizen 2.3
* @param[in] type The type of the current network connection
* @param[in] user_data The user data passed from the callback registration function
/**
* @brief Called when the address is changed.
+ * @details This callback function is called when the IP address for IPv4 or IPv6 changes. \n
+ * The addresses provided within this callback are valid only during the execution of the callback. \n
+ * If you need to use these addresses outside of the callback, you must make a copy of them.
* @since_tizen 2.3
* @remarks @a ipv4_address @a ipv6_address should not be freed.
* @a ipv4_address @a ipv6_address is available only in the callback.
/**
* @brief Called when connection_set_default_cellular_service_profile_async() finishes.
+ * @details This callback function is invoked after the asynchronous operation of \n
+ * setting a default cellular service profile is completed. \n
+ * It provides the result of the operation and any user data that was passed \n
+ * during the invocation of connection_set_default_cellular_service_profile_async().
* @since_tizen 2.3
* @param[in] result The result
* @param[in] user_data The user data passed from connection_open_profile()
/**
* @brief Called with an IPv6 address.
+ * @details This callback function is invoked when iterating through the list of IPv6 addresses associated with a network interface. \n
+ * It provides each IPv6 address as a character string and allows the caller to perform custom operations on each address.
* @since_tizen 4.0
* @remarks If @a ipv6_address is needed outside the callback, a copy should be made. \n
* @a ipv6_address will be freed automatically after the execution of this callback.
/**
* @brief Called when the DHCP state is changed.
+ * @details This callback function is invoked when the DHCP state changes for a given network interface. \n
+ * It provides information about DHCP state changes, the network interface associated with the state change, \n
+ * and the result of the DHCP operation.
* @since_tizen 8.0
* @param[in] state The DHCP state
* @param[in] interface_name The interface name with DHCP state change
/**
* @brief Gets the type of the current profile for data connection.
+ * @details This function retrieves the type of the network currently being used for data connection. \n
+ * It returns an integer value representing the type of the network.
* @since_tizen 2.3
* @param[in] connection The connection handle
* @param[out] type The type of the network
/**
* @brief Gets the IP address of the current connection.
+ * @details This function retrieves the IP address associated with the network currently being used for data connection and address family. \n
+ * The retrieved IP address should be released using the free() function.
* @since_tizen 2.3
* @remarks You must release @a ip_address using free().
* @param[in] connection The connection handle
/**
* @brief Gets the proxy address of the current connection.
+ * @details This function retrieves the proxy address for the specified address family associated with the network currently being used for data connection. \n
+ * The retrieved proxy address should be released using free() after use.
* @since_tizen 2.3
* @remarks You must release @a proxy using free().
* @param[in] connection The connection handle
/**
* @brief Gets the MAC address of the Wi-Fi or ethernet.
+ * @details This function retrieves the MAC address of the specified network connection type (Wi-Fi or Ethernet). \n
+ * The caller is responsible for releasing the memory allocated for the MAC address using free().
* @since_tizen 2.4
* @remarks @a mac_addr must be released with free() by you.
* @param[in] connection The handle of the connection
/**
* @brief Gets if the current connection is metered.
+ * @details This function retrieves information about whether the current network connection is metered or not. \n
+ * A metered connection is typically one where data usage may be limited or charged for, such as a mobile network.
* @since_tizen 4.0
* @privlevel public
* @privilege %http://tizen.org/privilege/network.get
/**
* @brief Gets the state of cellular connection.
- * @details The returned state is for the cellular connection state.
+ * @details This function retrieves the current state of the cellular connection. \n
+ * The state is returned as an enumeration value of the `connection_cellular_state_e` type.
* @since_tizen 2.3
* @param[in] connection The connection handle
* @param[out] state The state of the cellular connection
/**
* @brief Gets the state of the Wi-Fi.
- * @details The returned state is for the Wi-Fi connection state.
+ * @details This function retrieves the current state of the Wi-Fi connection. \n
+ * This information can be used to determine the status of the Wi-Fi network connection.
* @since_tizen 2.3
* @privlevel public
* @privilege %http://tizen.org/privilege/network.get
/**
* @brief Gets the state of the Ethernet.
- * @details The returned state is for the Ethernet connection state.
+ * @details This function retrieves the current state of the Ethernet connection.
* @since_tizen 2.4
* @privlevel public
* @privilege %http://tizen.org/privilege/network.get
/**
* @brief Called when the Internet state of the current connection is changed.
+ * @details This callback function is invoked when the Internet state of the current connection changes. \n
+ * It provides information about the new state of the connection and allows you to handle any necessary actions based on the updated state.
* @since_tizen 5.5
* @param[in] state The Internet state of current connection
* @param[in] user_data The user data passed to callback registration function
/**
* @brief Sets the callback that is called when the Internet availability over the current connection is changed.
+ * @details This function sets a callback function to receive notifications about changes in the Internet availability status of the connection. \n
+ * When the Internet availability state changes, the provided callback function will be invoked with the new state \n
+ * and the user data supplied during the registration.
* @since_tizen 5.5
* @param[in] connection The connection handle
* @param[in] callback The callback function to be called
/**
* @brief Unsets the callback that is called when the Internet state of the current connection is changed.
+ * @details This function removes the previously set callback for monitoring changes in the Internet state of the connection. \n
+ * After calling this function, the callback will no longer be invoked when the Internet state changes.
* @since_tizen 5.5
* @param[in] connection The connection handle
* @return @c 0 on success,
/**
* @brief Checks for ethernet cable is attached or not.
- * @details The returned state is for the ethernet cable state.
+ * @details This function retrieves the current state of the ethernet cable connected to the device. \n
+ * The possible states include whether the cable is attached or detached.
* @since_tizen 2.4
* @privlevel public
* @privilege %http://tizen.org/privilege/network.get
/**
* @brief Gets the DHCP state of the interface.
+ * @details This function retrieves the DHCP state of the network currently being used for data connection. \n
+ * The DHCP state indicates whether the interface has started to obtained an IP address via DHCP or not.
* @since_tizen 8.0
* @privlevel public
* @privilege %http://tizen.org/privilege/network.get
/**
* @brief Called when ethernet cable is plugged [in/out].
+ * @details This callback function is invoked when an Ethernet cable is either plugged in or unplugged.
* @since_tizen 4.0
* @param[in] state The state of ethernet cable
* @param[in] user_data The user data passed to callback registration function
/**
* @brief Sets callback for ethernet cable is plugged [in/out] event.
+ * @details This function registers a callback function to be invoked when the state of the ethernet cable changes. \n
+ * It allows you to monitor whether the ethernet cable is plugged in or out.
* @since_tizen 4.0
* @param[in] connection The connection handle
* @param[in] callback The callback function to be called
/**
* @brief Unsets callback for ethernet cable is plugged [in/out] event.
+ * @details This function removes the callback that was previously set to receive notifications when the ethernet cable is plugged in or out.
* @since_tizen 4.0
* @param[in] connection The connection handle
* @return @c 0 on success,
/**
* @brief Gets the state of the Bluetooth.
- * @details The returned state is for the Bluetooth connection state.
+ * @details This function retrieves the current state of the Bluetooth connection. \n
+ * Possible states include disconnected, connected, and deactivated.
* @since_tizen 2.3
* @privlevel public
* @privilege %http://tizen.org/privilege/network.get
/**
* @brief Sets the callback that is called when the type of the current connection is changed.
+ * @details This function registers a callback function to be invoked when the type of the current network connection changes. \n
+ * The registered callback will be called with user data provided during registration whenever the connection type changes.
* @since_tizen 2.3
* @param[in] connection The connection handle
* @param[in] callback The callback function to be called
/**
* @brief Unsets the callback that is called when the type of current connection is changed.
+ * @details This function removes the callback function that was previously registered using connection_set_type_changed_cb(). \n
+ * After calling this function, the connection_type_changed_cb callback will no longer be called when the connection type changes.
* @since_tizen 2.3
* @param[in] connection The connection handle
* @return @c 0 on success,
/**
* @brief Sets the callback that is called when the IP address is changed.
+ * @details This function registers a callback function to be invoked when the IP address of the connection changes.
* @since_tizen 2.3
* @param[in] connection The connection handle
* @param[in] callback The callback function to be called
/**
* @brief Unsets the callback that is called when the IP address is changed.
+ * @details This function removes the callback function that was previously set to be called when the IP address changes for the connection. \n
+ * After calling this function, no further notifications will be sent about IP address changes.
* @since_tizen 2.3
* @param[in] connection The connection handle
* @return @c 0 on success,
/**
* @brief Sets the callback that is called when the proxy address is changed.
+ * @details This function registers a callback function to be invoked when the proxy address changes for the connection.
* @since_tizen 2.3
* @param[in] connection The connection handle
* @param[in] callback The callback function to be called
/**
* @brief Unsets the callback that is called when the proxy address is changed.
+ * @details This function removes the callback function that was previously set using connection_set_proxy_address_changed_cb(). \n
+ * After calling this function, the proxy address change events will no longer be delivered to the application.
* @since_tizen 2.3
* @param[in] connection The connection handle
* @return @c 0 on success,
/**
* @brief Sets the callback that is called when the DHCP state is changed.
+ * @details This function registers a callback function to receive notifications whenever the DHCP state changes for the connection. \n
+ * When the DHCP state changes, the registered callback function will be invoked with the new DHCP state and the provided user data.
* @since_tizen 8.0
* @param[in] connection The connection handle
* @param[in] callback The callback function to be called
/**
* @brief Unsets the callback that is called when the DHCP state is changed.
+ * @details This function removes the callback function that was previously registered to be invoked when the DHCP state changes.
* @since_tizen 8.0
* @param[in] connection The connection handle
* @return @c 0 on success,
/**
* @brief Adds a new profile which is created by connection_profile_create().
+ * @details This function adds a new cellular profile to the profile list to be used for cellular connection. \n
+ * The profile must be created using connection_profile_create() and should be of the cellular type. \n
+ * The caller must have the necessary privileges to perform this operation.
* @since_tizen 2.3
* @privlevel public
* @privilege %http://tizen.org/privilege/network.profile
/**
* @brief Removes an existing profile.
+ * @details This function removes the specified profile from the profile list.
* @since_tizen 2.3
* @privlevel public
* @privilege %http://tizen.org/privilege/network.profile \n
/**
* @brief Gets a profiles iterator.
+ * @details This function retrieves an iterator to enumerate all the profiles of a given type from the profile list. \n
+ * The caller is responsible for releasing the iterator using the connection_destroy_profile_iterator() function after it is no longer needed.
* @since_tizen 2.3
* @privlevel public
* @privilege %http://tizen.org/privilege/network.get
- * @remarks You must release @a profile_iterator using connection_destroy().
+ * @remarks You must release @a profile_iterator using connection_destroy_profile_iterator().
* @param[in] connection The connection handle
* @param[in] type The type of the connection iterator
* @param[out] profile_iterator The iterator of profile
/**
* @brief Moves the profile iterator to the next position and gets a profile handle.
+ * @details This function moves the given profile iterator to the next position and retrieves the profile handle at that position. \n
+ * If the end of the iteration is reached, the function returns CONNECTION_ERROR_ITERATOR_END. \n
+ * The retrieved profile handle will be automatically destroyed when the profile iterator is destroyed. \n
+ * To continue using the profile handle after the iterator is destroyed, make a copy of it.
* @since_tizen 2.3
* @remarks The @a profile will be destroyed automatically when the profile iterator is destroyed.
* Make a copy if you want to keep using it.
/**
* @brief Checks whether the next element of a profile iterator exists or not.
+ * @details This function checks if there is another profile available to iterate over using the given profile iterator handle. \n
+ * If the next element exists, it returns true; otherwise, it returns false. \n
+ * The specific error code can be obtained using the get_last_result() method. \n
+ * Error codes are described in Exception section.
* @since_tizen 2.3
* @remarks The specific error code can be obtained using the get_last_result() method.
* Error codes are described in Exception section.
/**
* @brief Destroys a profiles iterator.
+ * @details This function destroys the given profile iterator handle and releases all its resources. \n
+ * After calling this function, the profile iterator handle becomes invalid, and you cannot use it to perform any operations.
* @since_tizen 2.3
* @param[in] profile_iterator The iterator of the profile
* @return @c 0 on success,
/**
* @brief Gets the name of the default profile.
+ * @details This function retrieves the default network profile currently in use by the system.
* @since_tizen 2.3
* @privlevel public
* @privilege %http://tizen.org/privilege/network.get
/**
* @brief Gets the default profile which provides the given cellular service.
+ * @details This function retrieves the default profile that provides the specified cellular service type. \n
+ * The caller must release the returned profile handle using connection_profile_destroy(). \n
* @since_tizen 2.3
* @privlevel public
* @privilege %http://tizen.org/privilege/network.get
/**
* @brief Sets the default profile which provides the given cellular service.
+ * @details This function sets the default profile for the specified cellular service type. \n
+ * It requires both network.profile and network.get privileges. \n
+ * The function only permits #CONNECTION_CELLULAR_SERVICE_TYPE_INTERNET and #CONNECTION_CELLULAR_SERVICE_TYPE_PREPAID_INTERNET as valid service types. \n
+ * If successful, it returns #CONNECTION_ERROR_NONE; otherwise, it returns an appropriate error code.
* @since_tizen 2.3
* @privlevel public
* @privilege %http://tizen.org/privilege/network.profile \n
/**
* @brief Sets the default profile which provides the given cellular service, asynchronously.
+ * @details This function sets the default profile for a specified cellular service type asynchronously. \n
+ * It requires both network.profile and network.get privileges. \n
+ * Only #CONNECTION_CELLULAR_SERVICE_TYPE_INTERNET and #CONNECTION_CELLULAR_SERVICE_TYPE_PREPAID_INTERNET are allowed as the service type. \n
+ * The function returns an integer value indicating the result of the operation. \n
+ * If successful, it returns #CONNECTION_ERROR_NONE; otherwise, it returns one of the other error codes.
* @since_tizen 2.3
* @privlevel public
* @privilege %http://tizen.org/privilege/network.profile \n
/**
* @brief Called after connection_open_profile() is finished.
+ * @details This callback function is invoked when the asynchronous operation of opening a network profile is completed. \n
+ * It provides the result of the operation and any user data that was passed during the call to connection_open_profile(). \n
+ * The application can use this callback to handle the result of the profile opening process.
* @since_tizen 2.3
* @param[in] result The result
* @param[in] user_data The user data passed from connection_open_profile()
/**
* @brief Called after connection_close_profile() is finished.
+ * @details This callback function is invoked when the connection_close_profile() function has completed its execution. \n
+ * It receives the result of the operation and any user data that was passed to the connection_close_profile() function.
* @since_tizen 2.3
* @param[in] result The result
* @param[in] user_data The user data passed from connection_close_profile()
/**
* @brief Called after connection_reset_profile() is finished.
+ * @details This callback function is invoked when the connection_reset_profile() function completes its operation. \n
+ * It receives the result of the operation and the user data that was passed to the connection_reset_profile() function.
* @since_tizen 2.3
* @param[in] result The result
* @param[in] user_data The user data passed from connection_reset_profile()
/**
* @brief Opens a connection of profile, asynchronously.
+ * @details This function opens a network connection using the specified profile handle in an asynchronous manner.
* @since_tizen 2.3
* @privlevel public
* @privilege %http://tizen.org/privilege/network.set \n
/**
* @brief Closes a connection of profile.
+ * @details This function closes the connection of a specified profile and releases all resources associated with it. \n
+ * After closing the profile, the corresponding callback function is invoked to notify the completion of the operation.
* @since_tizen 2.3
* @privlevel public
* @privilege %http://tizen.org/privilege/network.set
/**
* @brief Resets the cellular profile.
+ * @details This function resets the cellular profiles. \n
+ * It requires both network.profile and network.get privileges. \n
+ * The type of reset can be specified using the 'type' parameter, \n
+ * and the subscriber identity module ID to reset can be provided using the 'id' parameter. \n
+ * The callback function and user data are used for asynchronous operation handling.
* @since_tizen 2.3
* @privlevel public
* @privilege %http://tizen.org/privilege/network.profile \n
/**
* @brief Gets all IPv6 addresses assigned to the network interface.
+ * @details This function retrieves all IPv6 addresses associated with a specified network interface and invokes a provided callback function for each address found.
* @since_tizen 4.0
* @param[in] connection The connection handle
* @param[in] connection_type The connection type
/**
* @brief Gets the statistics information.
+ * @details This function retrieves the specified statistics information for the given connection type. \n
+ * It supports only #CONNECTION_TYPE_WIFI and #CONNECTION_TYPE_CELLULAR types.
* @since_tizen 2.3
* @privlevel public
* @privilege %http://tizen.org/privilege/network.get
/**
* @brief Resets the statistics information.
+ * @details This function resets the specified statistics information for a given connection type. \n
+ * Supported connection types include #CONNECTION_TYPE_WIFI and #CONNECTION_TYPE_CELLULAR.
* @since_tizen 2.3
* @privlevel public
* @privilege %http://tizen.org/privilege/network.set