+/**
+ * @brief Initiate bonding with remote device
+ *
+ * @details Based on IO capabilties of 2 devices, different events can be generated
+ *
+ * @return OAL_STATUS_SUCCESS on success, otherwise a non-zero error value.
+ * @retval #OAL_STATUS_SUCCESS Successful
+ *
+ * @pre Adapter must be enabled with adapter_enable() followed by OAL_EVENT_ADAPTER_ENABLED
+ *
+ * @see OAL_EVENT_DEVICE_PIN_REQUEST
+ * @see OAL_EVENT_DEVICE_PASSKEY_ENTRY_REQUEST
+ * @see OAL_EVENT_DEVICE_PASSKEY_CONFIRMATION_REQUEST
+ * @see OAL_EVENT_DEVICE_PASSKEY_DISPLAY
+ * @see OAL_EVENT_DEVICE_SSP_CONSENT_REQUEST
+ * @see OAL_EVENT_DEVICE_BONDING_SUCCESS
+ * @see OAL_EVENT_DEVICE_BONDING_FAILED
+ */
+oal_status_t device_create_bond(bt_address_t * addr, connection_type_e transport);
+
+/**
+ * @brief Cancel already in-progress bonding procedure
+ *
+ * @details Based on current progress different events can be recieved.
+ *
+ * @return OAL_STATUS_SUCCESS on success, otherwise a non-zero error value.
+ * @retval #OAL_STATUS_SUCCESS Successful
+ *
+ * @pre Bonding must be in progress by calling device_create_bond()
+ *
+ * @see OAL_EVENT_DEVICE_BONDING_SUCCESS
+ * @see OAL_EVENT_DEVICE_BONDING_FAILED
+ * @see OAL_EVENT_DEVICE_BONDING_REMOVED
+ */
+oal_status_t device_stop_bond(bt_address_t * addr);
+
+
+/**
+ * @brief Remove the already created Bond with remote device
+ *
+ * @details Based on current progress different events can be recieved.
+ *
+ * @return OAL_STATUS_SUCCESS on success, otherwise a non-zero error value.
+ * @retval #OAL_STATUS_SUCCESS Successful
+ *
+ * @pre Bond should exist
+ *
+ * @see OAL_EVENT_DEVICE_BONDING_REMOVED
+ */
+oal_status_t device_destroy_bond(bt_address_t * addr);