Add new L2CAP socket API to get the maximum buffer size
[platform/core/connectivity/bluetooth-frwk.git] / include / bluetooth-api.h
index 8e66d58..1ecd95c 100644 (file)
@@ -45,6 +45,7 @@ extern "C" {
 #define BLUETOOTH_DEVICE_NAME_LENGTH_MAX       248 /**< This specifies maximum device name length */
 #define BLUETOOTH_DEVICE_PASSKEY_LENGTH_MAX       50 /**< This specifies maximum length of the passkey */
 #define BLUETOOTH_ADVERTISING_DATA_LENGTH_MAX  31 /**< This specifies maximum AD data length */
+#define BLUETOOTH_EXTENDED_ADVERTISING_DATA_LENGTH_MAX  255 /**< This specifies maximum AD data length */
 #define BLUETOOTH_SCAN_RESP_DATA_LENGTH_MAX    31 /**< This specifies maximum LE Scan response data length */
 #define BLUETOOTH_MANUFACTURER_DATA_LENGTH_MAX 240 /**< This specifies maximum manufacturer data length */
 #define BLUETOOTH_APPEARANCE_LENGTH 2 /**< This specifies bluetooth device appearance characteristic length */
@@ -443,6 +444,8 @@ typedef enum {
  * Advertising data
  */
 typedef struct {
+       /* TODO : Change to BLUETOOTH_EXTENDED_ADVERTISING_DATA_LENGTH_MAX
+        * once LE EXTENDED feature is supported */
        guint8 data[BLUETOOTH_ADVERTISING_DATA_LENGTH_MAX];
 } bluetooth_advertising_data_t;
 
@@ -458,9 +461,9 @@ typedef struct {
  */
 typedef enum {
        BLUETOOTH_ALLOW_SCAN_CONN_ALL = 0x00,
-       BLUETOOTH_ALLOW_CONN_ALL_SCAN_WHITE_LIST = 0x01,
-       BLUETOOTH_ALLOW_SCAN_ALL_CONN_WHITE_LIST = 0x02,
-       BLUETOOTH_ALLOW_SCAN_CONN_WHITE_LIST = 0x03,
+       BLUETOOTH_ALLOW_CONN_ALL_SCAN_ALLOW_LIST = 0x01,
+       BLUETOOTH_ALLOW_SCAN_ALL_CONN_ALLOW_LIST = 0x02,
+       BLUETOOTH_ALLOW_SCAN_CONN_ALLOW_LIST = 0x03,
 } bluetooth_advertising_filter_policy_t;
 
 /**
@@ -622,6 +625,9 @@ typedef struct {
        guint8 filter_policy;
        guint8 type;
        int tx_power_level;
+       gboolean is_legacy;
+       int primary_phy;
+       int secondary_phy;
 } bluetooth_advertising_params_t;
 
 /**
@@ -641,6 +647,18 @@ typedef enum {
        BLUETOOTH_LE_ACTIVE_SCAN
 } bluetooth_le_scan_type_t;
 
+typedef enum {
+       BLUETOOTH_LE_SCAN_ALL = 0x00,
+       BLUETOOTH_LE_SCAN_LEGACY_ONLY,
+       BLUETOOTH_LE_SCAN_EXTENDED_ONLY
+} bluetooth_le_scan_role_t;
+
+typedef enum {
+       BLUETOOTH_ALL_PHY = 0x00,
+       BLUETOOTH_1M_PHY = 0x01,
+       BLUETOOTH_ONE_M_CODED_PHY = 0x03
+} bleutooth_le_scanning_phy_t;
+
 /*
        LE Connection Update
  */
@@ -862,6 +880,10 @@ typedef enum {
        BLUETOOTH_EVENT_GATT_CLIENT_SERVICE_CHANGED, /** <GATT Client service change event */
        BLUETOOTH_EVENT_GATT_SERVER_ACQUIRE_WRITE, /** <GATT Characteristic/Descriptor Value change event */
        BLUETOOTH_EVENT_GATT_SERVER_ACQUIRE_NOTIFY,
+       BLUETOOTH_EVENT_GATT_SERVER_PHY_READ, /**<Local Gatt Server PHY Read event */
+       BLUETOOTH_EVENT_GATT_SERVER_PHY_UPDATED, /**<Local Gatt Server PHY Updated event */
+       BLUETOOTH_EVENT_GATT_CLIENT_PHY_READ, /**<Gatt Client PHY Read event */
+       BLUETOOTH_EVENT_GATT_CLIENT_PHY_UPDATED, /**<Gatt Client PHY Updated event */
        BLUETOOTH_EVENT_AG_CONNECTED = BLUETOOTH_EVENT_AUDIO_BASE, /**<AG service connected event*/
        BLUETOOTH_EVENT_AG_DISCONNECTED, /**<AG service disconnected event*/
        BLUETOOTH_EVENT_AG_SPEAKER_GAIN, /**<Speaker gain request event*/
@@ -1289,9 +1311,33 @@ typedef struct {
 } bluetooth_le_advertising_data_t;
 
 typedef struct {
+       guint8 data[BLUETOOTH_EXTENDED_ADVERTISING_DATA_LENGTH_MAX];
+} bluetooth_extended_advertising_data_t;
+
+typedef struct{
+       gboolean use_reserved_slot;
+       gboolean is_legacy;
+} bluetooth_le_slot_and_adv_type_t;
+
+typedef struct {
+       int data_len;           /**< manafacturer specific data length */
+       bluetooth_extended_advertising_data_t data;             /**< manafacturer specific data */
+} bluetooth_le_extended_advertising_data_t;
+
+typedef struct {
        bluetooth_device_address_t device_address;      /**< device address */
-       int addr_type;                  /**< address type*/
-       int rssi;                       /**< received strength signal*/
+       int addr_type;          /**< address type*/
+       int rssi;       /**< received strength signal*/
+       int event_type;
+       int primary_phy;
+       int secondary_phy;
+       int advertising_sid;
+       int tx_power;
+       int periodic_adv_int;
+       bool is_extended;
+       /* TODO : Replace bluetooth_le_advertising_data_t adv_ind_data with
+        * bluetooth_le_extended_advertising_data_t once
+        * LE_EXTENDED feature is supported */
        bluetooth_le_advertising_data_t adv_ind_data;
        bluetooth_le_advertising_data_t scan_resp_data;
 } bluetooth_le_device_info_t;
@@ -1319,6 +1365,13 @@ typedef struct {
        unsigned int status; /** < status of the MTU exchange */
 } bluetooth_le_att_mtu_info_t;
 
+typedef struct {
+       bluetooth_device_address_t device_address;      /**< device address */
+       int tx_phy;     /** < tx_phy set for the gatt connection */
+       int rx_phy; /** < rx_phy set for the gatt connection */
+       int status; /** < status of the PHY */
+} bluetooth_le_phy_info_t;
+
 /**
  * structure to hold the paired device information
  */
@@ -2067,10 +2120,10 @@ typedef enum {
        BLUETOOTH_DPM_POLICY_ALLOW,
        BLUETOOTH_DPM_POLICY_DEVICE_RESTRICTION,
        BLUETOOTH_DPM_POLICY_UUID_RESTRICTION,
-       BLUETOOTH_DPM_POLICY_DEVICES_WHITELIST,
-       BLUETOOTH_DPM_POLICY_DEVICES_BLACKLIST,
-       BLUETOOTH_DPM_POLICY_UUIDS_WHITELIST,
-       BLUETOOTH_DPM_POLICY_UUIDS_BLACKLIST,
+       BLUETOOTH_DPM_POLICY_DEVICES_ALLOWLIST,
+       BLUETOOTH_DPM_POLICY_DEVICES_BLOCKLIST,
+       BLUETOOTH_DPM_POLICY_UUIDS_ALLOWLIST,
+       BLUETOOTH_DPM_POLICY_UUIDS_BLOCKLIST,
        BLUETOOTH_DPM_POLICY_ALLOW_OUTGOING_CALL,
        BLUETOOTH_DPM_POLICY_PAIRING_STATE,
        BLUETOOTH_DPM_POLICY_DESKTOP_CONNECTIVITY_STATE,
@@ -6274,7 +6327,7 @@ int bluetooth_get_advertising_data(bluetooth_advertising_data_t *value, int *len
  *
  * @remark     None
  */
-int bluetooth_set_advertising_data(int handle, const bluetooth_advertising_data_t *value, int length);
+int bluetooth_set_advertising_data(int handle, const bluetooth_advertising_data_t *value, int length, bool is_legacy);
 
 /**
  * @fn int bluetooth_check_privilege_advertising_parameter(void);
@@ -6381,6 +6434,46 @@ int bluetooth_set_scan_parameters(bluetooth_le_scan_params_t *params);
 int bluetooth_set_scan_type(bluetooth_le_scan_type_t scan_type);
 
 /**
+ * @fn intbluetooth_set_scan_phy(bleutooth_le_scanning_phy_t phy);
+ *ss
+ * @brief Set scan phy
+ *
+ * This function is used to set LE scan phy
+ *
+ * This function is a synchronous call.
+ *
+ * @return      BLUETOOTH_ERROR_NONE - Success \n
+ *              BLUETOOTH_ERROR_DEVICE_NOT_ENABLED - Adapter is not enabled \n
+ *              BLUETOOTH_ERROR_INTERNAL - Internal IPC error \n
+ *
+ * @exception   None
+ * @param[in]   phy - LE scanning PHY
+ *
+ * @remark      None
+ */
+int bluetooth_set_le_scan_phy(bleutooth_le_scanning_phy_t phy);
+
+/**
+ * @fn intbluetooth_set_scan_phy(bluetooth_le_scan_role_t role);
+ *ss
+ * @brief Set scan role
+ *
+ * This function is used to set LE scan role
+ *
+ * This function is a synchronous call.
+ *
+ * @return      BLUETOOTH_ERROR_NONE - Success \n
+ *              BLUETOOTH_ERROR_DEVICE_NOT_ENABLED - Adapter is not enabled \n
+ *              BLUETOOTH_ERROR_INTERNAL - Internal IPC error \n
+ *
+ * @exception   None
+ * @param[in]   role - LE scanning role
+ *
+ * @remark      None
+ */
+int bluetooth_set_le_scan_role(bluetooth_le_scan_role_t role);
+
+/**
  * @fn int bluetooth_is_advertising(void)
  * @brief Check for the advertising is in-progress or not.
  *
@@ -6410,10 +6503,10 @@ ret = bluetooth_is_advertising(&is_advertising);
 int bluetooth_is_advertising(gboolean *is_advertising);
 
 /**
- * @fn int bluetooth_add_white_list(bluetooth_device_address_t *address, bluetooth_device_address_type_t address_type)
- * @brief Add LE device to white list
+ * @fn int bluetooth_add_allow_list(bluetooth_device_address_t *address, bluetooth_device_address_type_t address_type)
+ * @brief Add LE device to allow list
  *
- * This API is used to add LE device to white list
+ * This API is used to add LE device to allow list
  * Before calling this API, make sure that the adapter is enabled. There is no callback event for
  * this API.
  *
@@ -6428,13 +6521,13 @@ int bluetooth_is_advertising(gboolean *is_advertising);
  * @remark      None
  * @see         bluetooth_set_custom_advertising
  */
-int bluetooth_add_white_list(bluetooth_device_address_t *address, bluetooth_device_address_type_t address_type);
+int bluetooth_add_allow_list(bluetooth_device_address_t *address, bluetooth_device_address_type_t address_type);
 
 /**
- * @fn int bluetooth_remove_white_list(bluetooth_device_address_t *address, bluetooth_device_address_type_t address_type)
- * @brief Remove LE device from white list
+ * @fn int bluetooth_remove_allow_list(bluetooth_device_address_t *address, bluetooth_device_address_type_t address_type)
+ * @brief Remove LE device from allow list
  *
- * This API is used to remove LE device from white list
+ * This API is used to remove LE device from allow list
  * Before calling this API, make sure that the adapter is enabled. There is no callback event for
  * this API.
  *
@@ -6449,13 +6542,13 @@ int bluetooth_add_white_list(bluetooth_device_address_t *address, bluetooth_devi
  * @remark      None
  * @see         bluetooth_set_custom_advertising
  */
-int bluetooth_remove_white_list(bluetooth_device_address_t *address, bluetooth_device_address_type_t address_type);
+int bluetooth_remove_allow_list(bluetooth_device_address_t *address, bluetooth_device_address_type_t address_type);
 
 /**
- * @fn int bluetooth_clear_white_list(void)
- * @brief Clear white list
+ * @fn int bluetooth_clear_allow_list(void)
+ * @brief Clear allow list
  *
- * This API is used to clear white list
+ * This API is used to clear allow list
  * Before calling this API, make sure that the adapter is enabled. There is no callback event for
  * this API.
  *
@@ -6470,7 +6563,7 @@ int bluetooth_remove_white_list(bluetooth_device_address_t *address, bluetooth_d
  * @remark      None
  * @see         bluetooth_set_custom_advertising
  */
-int bluetooth_clear_white_list(void);
+int bluetooth_clear_allow_list(void);
 
 /**
  * @fn int bluetooth_le_conn_update(bluetooth_device_address_t *address,
@@ -6592,6 +6685,88 @@ int bluetooth_get_att_mtu(const bluetooth_device_address_t *device_address,
                                unsigned int *mtu);
 
 /**
+ * @fn int bluetooth_gatt_server_read_phy(const bluetooth_device_address_t *device_address)
+ * @brief Gets the PHY values set for a connection.
+ *
+ * This function is a asynchronous call. The updated PHYs are notified
+ * through callback event.
+ *
+ * @return   BLUETOOTH_ERROR_NONE  - Success \n
+ *           BLUETOOTH_ERROR_INTERNAL - Internal Error \n
+ *           BLUETOOTH_ERROR_INVALID_PARAM - Parameter is not valid \n
+ *
+ * @exception  None
+ * @param[in]  address - remote device address value.
+ *
+ * @remark       None
+ */
+int bluetooth_gatt_server_read_phy(const bluetooth_device_address_t *device_address);
+
+/**
+ * @fn int bluetooth_gatt_server_set_phy(const bluetooth_device_address_t *device_address,
+                               int tx_phy, int rx_phy, int phy_options)
+ * @brief Request a change of the PHY values.
+ *
+ * This function is a asynchronous call. The updated PHYs are notified
+ * through callback event.
+ *
+ * @return      BLUETOOTH_ERROR_NONE  - Success \n
+ *                      BLUETOOTH_ERROR_INTERNAL - Internal Error \n
+ *                      BLUETOOTH_ERROR_INVALID_PARAM - Parameter is not valid \n
+ *
+ * @exception  None
+ * @param[in]  address - remote device address value.
+ * @param[in]  tx_phy The preferred sender PHY
+ * @param[in]  rx_phy The preferred receiver PHY
+ * @param[in]  phy_options The preferred coding to use when transmitting on LE CODED PHY
+ *
+ * @remark              None
+ */
+int bluetooth_gatt_server_set_phy(const bluetooth_device_address_t *device_address,
+                                       int tx_phy, int rx_phy, int phy_options);
+
+/**
+ * @fn int bluetooth_gatt_client_read_phy(const bluetooth_device_address_t *device_address)
+ * @brief Gets the PHY values set for a connection.
+ *
+ * This function is a asynchronous call. The updated PHYs are notified
+ * through callback event.
+ *
+ * @return   BLUETOOTH_ERROR_NONE  - Success \n
+ *           BLUETOOTH_ERROR_INTERNAL - Internal Error \n
+ *           BLUETOOTH_ERROR_INVALID_PARAM - Parameter is not valid \n
+ *
+ * @exception  None
+ * @param[in]  address - remote device address value.
+ *
+ * @remark       None
+ */
+int bluetooth_gatt_client_read_phy(const bluetooth_device_address_t *device_address);
+
+/**
+ * @fn int bluetooth_gatt_client_set_phy(const bluetooth_device_address_t *device_address,
+                               int tx_phy, int rx_phy, int phy_options)
+ * @brief Request a change of the PHY values.
+ *
+ * This function is a asynchronous call. The updated PHYs are notified
+ * through callback event.
+ *
+ * @return      BLUETOOTH_ERROR_NONE  - Success \n
+ *                      BLUETOOTH_ERROR_INTERNAL - Internal Error \n
+ *                      BLUETOOTH_ERROR_INVALID_PARAM - Parameter is not valid \n
+ *
+ * @exception  None
+ * @param[in]  address - remote device address value.
+ * @param[in]  tx_phy The preferred sender PHY
+ * @param[in]  rx_phy The preferred receiver PHY
+ * @param[in]  phy_options The preferred coding to use when transmitting on LE CODED PHY
+ *
+ * @remark              None
+ */
+int bluetooth_gatt_client_set_phy(const bluetooth_device_address_t *device_address,
+                                       int tx_phy, int rx_phy, int phy_options);
+
+/**
  * @fn int bluetooth_get_device_ida(const bluetooth_device_address_t *device_rpa,
  *                                     bluetooth_device_address_t *id_address)
  * @brief Gets the Identity address of remote device.
@@ -6832,9 +7007,9 @@ int bluetooth_dpm_activate_uuid_restriction(bt_dpm_status_t value);
 int bluetooth_dpm_is_uuid_restriction_active(bt_dpm_status_t *value);
 
 /**
- * @fn int bluetooth_dpm_add_devices_to_blacklist(const bluetooth_device_address_t *device_address);
+ * @fn int bluetooth_dpm_add_devices_to_blocklist(const bluetooth_device_address_t *device_address);
  *
- * @brief Adds the device to blacklist.
+ * @brief Adds the device to blocklist.
  *
  * This function is a synchronous call.
  *
@@ -6847,12 +7022,12 @@ int bluetooth_dpm_is_uuid_restriction_active(bt_dpm_status_t *value);
  *
  * @remark     None
  */
-int bluetooth_dpm_add_devices_to_blacklist(const bluetooth_device_address_t *device_address);
+int bluetooth_dpm_add_devices_to_blocklist(const bluetooth_device_address_t *device_address);
 
 /**
- * @fn int bluetooth_dpm_add_devices_to_whitelist(const bluetooth_device_address_t *device_address);
+ * @fn int bluetooth_dpm_add_devices_to_allowlist(const bluetooth_device_address_t *device_address);
  *
- * @brief Adds the device to whitelist.
+ * @brief Adds the device to allowlist.
  *
  * This function is a synchronous call.
  *
@@ -6865,12 +7040,12 @@ int bluetooth_dpm_add_devices_to_blacklist(const bluetooth_device_address_t *dev
  *
  * @remark     None
  */
-int bluetooth_dpm_add_devices_to_whitelist(const bluetooth_device_address_t *device_address);
+int bluetooth_dpm_add_devices_to_allowlist(const bluetooth_device_address_t *device_address);
 
 /**
- * @fn int bluetooth_dpm_add_uuids_to_blacklist(const char *service_uuid);
+ * @fn int bluetooth_dpm_add_uuids_to_blocklist(const char *service_uuid);
  *
- * @brief Adds the Service UUIDS to blacklist.
+ * @brief Adds the Service UUIDS to blocklist.
  *
  * This function is a synchronous call.
  *
@@ -6883,12 +7058,12 @@ int bluetooth_dpm_add_devices_to_whitelist(const bluetooth_device_address_t *dev
  *
  * @remark     None
  */
-int bluetooth_dpm_add_uuids_to_blacklist(const char *service_uuid);
+int bluetooth_dpm_add_uuids_to_blocklist(const char *service_uuid);
 
 /**
- * @fn int bluetooth_dpm_add_uuids_to_whitelist(const char *service_uuid);
+ * @fn int bluetooth_dpm_add_uuids_to_allowlist(const char *service_uuid);
  *
- * @brief Adds the Service UUIDS to whitelist.
+ * @brief Adds the Service UUIDS to allowlist.
  *
  * This function is a synchronous call.
  *
@@ -6901,12 +7076,12 @@ int bluetooth_dpm_add_uuids_to_blacklist(const char *service_uuid);
  *
  * @remark     None
  */
-int bluetooth_dpm_add_uuids_to_whitelist(const char *service_uuid);
+int bluetooth_dpm_add_uuids_to_allowlist(const char *service_uuid);
 
 /**
- * @fn int bluetooth_dpm_clear_devices_from_blacklist();
+ * @fn int bluetooth_dpm_clear_devices_from_blocklist();
  *
- * @brief Clears the devices from blacklist.
+ * @brief Clears the devices from blocklist.
  *
  * This function is a synchronous call.
  *
@@ -6919,12 +7094,12 @@ int bluetooth_dpm_add_uuids_to_whitelist(const char *service_uuid);
  *
  * @remark     None
  */
-int bluetooth_dpm_clear_devices_from_blacklist(void);
+int bluetooth_dpm_clear_devices_from_blocklist(void);
 
 /**
- * @fn int bluetooth_dpm_clear_devices_from_whitelist();
+ * @fn int bluetooth_dpm_clear_devices_from_allowlist();
  *
- * @brief Clears the devices from whitelist.
+ * @brief Clears the devices from allowlist.
  *
  * This function is a synchronous call.
  *
@@ -6937,12 +7112,12 @@ int bluetooth_dpm_clear_devices_from_blacklist(void);
  *
  * @remark     None
  */
-int bluetooth_dpm_clear_devices_from_whitelist(void);
+int bluetooth_dpm_clear_devices_from_allowlist(void);
 
 /**
- * @fn int bluetooth_dpm_clear_uuids_from_blacklist();
+ * @fn int bluetooth_dpm_clear_uuids_from_blocklist();
  *
- * @brief Clears the uuids from blacklist.
+ * @brief Clears the uuids from blocklist.
  *
  * This function is a synchronous call.
  *
@@ -6955,12 +7130,12 @@ int bluetooth_dpm_clear_devices_from_whitelist(void);
  *
  * @remark     None
  */
-int bluetooth_dpm_clear_uuids_from_blacklist(void);
+int bluetooth_dpm_clear_uuids_from_blocklist(void);
 
 /**
- * @fn int bluetooth_dpm_clear_uuids_from_whitelist();
+ * @fn int bluetooth_dpm_clear_uuids_from_allowlist();
  *
- * @brief Clears the uuids from whitelist.
+ * @brief Clears the uuids from allowlist.
  *
  * This function is a synchronous call.
  *
@@ -6973,12 +7148,12 @@ int bluetooth_dpm_clear_uuids_from_blacklist(void);
  *
  * @remark     None
  */
-int bluetooth_dpm_clear_uuids_from_whitelist(void);
+int bluetooth_dpm_clear_uuids_from_allowlist(void);
 
 /**
- * @fn int bluetooth_dpm_get_devices_from_blacklist(bt_dpm_device_list_t *device_list);
+ * @fn int bluetooth_dpm_get_devices_from_blocklist(bt_dpm_device_list_t *device_list);
  *
- * @brief reads the devices from blacklist.
+ * @brief reads the devices from blocklist.
  *
  * This function is a synchronous call.
  *
@@ -6991,12 +7166,12 @@ int bluetooth_dpm_clear_uuids_from_whitelist(void);
  *
  * @remark     None
  */
-int bluetooth_dpm_get_devices_from_blacklist(bt_dpm_device_list_t *device_list);
+int bluetooth_dpm_get_devices_from_blocklist(bt_dpm_device_list_t *device_list);
 
 /**
- * @fn int bluetooth_dpm_get_devices_from_whitelist(bt_dpm_device_list_t *device_list);
+ * @fn int bluetooth_dpm_get_devices_from_allowlist(bt_dpm_device_list_t *device_list);
  *
- * @brief reads the devices from whitelist.
+ * @brief reads the devices from allowlist.
  *
  * This function is a synchronous call.
  *
@@ -7009,12 +7184,12 @@ int bluetooth_dpm_get_devices_from_blacklist(bt_dpm_device_list_t *device_list);
  *
  * @remark     None
  */
-int bluetooth_dpm_get_devices_from_whitelist(bt_dpm_device_list_t *device_list);
+int bluetooth_dpm_get_devices_from_allowlist(bt_dpm_device_list_t *device_list);
 
 /**
- * @fn int bluetooth_dpm_get_uuids_from_blacklist(bt_dpm_uuids_list_t *uuid_list);
+ * @fn int bluetooth_dpm_get_uuids_from_blocklist(bt_dpm_uuids_list_t *uuid_list);
  *
- * @brief reads the uuids from blacklist.
+ * @brief reads the uuids from blocklist.
  *
  * This function is a synchronous call.
  *
@@ -7027,12 +7202,12 @@ int bluetooth_dpm_get_devices_from_whitelist(bt_dpm_device_list_t *device_list);
  *
  * @remark     None
  */
-int bluetooth_dpm_get_uuids_from_blacklist(bt_dpm_uuids_list_t *uuid_list);
+int bluetooth_dpm_get_uuids_from_blocklist(bt_dpm_uuids_list_t *uuid_list);
 
 /**
- * @fn int bluetooth_dpm_get_uuids_from_whitelist(bt_dpm_uuids_list_t *uuid_list);
+ * @fn int bluetooth_dpm_get_uuids_from_allowlist(bt_dpm_uuids_list_t *uuid_list);
  *
- * @brief reads the uuids from whitelist.
+ * @brief reads the uuids from allowlist.
  *
  * This function is a synchronous call.
  *
@@ -7045,12 +7220,12 @@ int bluetooth_dpm_get_uuids_from_blacklist(bt_dpm_uuids_list_t *uuid_list);
  *
  * @remark     None
  */
-int bluetooth_dpm_get_uuids_from_whitelist(bt_dpm_uuids_list_t *uuid_list);
+int bluetooth_dpm_get_uuids_from_allowlist(bt_dpm_uuids_list_t *uuid_list);
 
 /**
- * @fn int bluetooth_dpm_remove_device_from_whitelist(const bluetooth_device_address_t *device_address);
+ * @fn int bluetooth_dpm_remove_device_from_allowlist(const bluetooth_device_address_t *device_address);
  *
- * @brief Removes the device from whitelist.
+ * @brief Removes the device from allowlist.
  *
  * This function is a synchronous call.
  *
@@ -7063,12 +7238,12 @@ int bluetooth_dpm_get_uuids_from_whitelist(bt_dpm_uuids_list_t *uuid_list);
  *
  * @remark     None
  */
-int bluetooth_dpm_remove_device_from_whitelist(const bluetooth_device_address_t *device_address);
+int bluetooth_dpm_remove_device_from_allowlist(const bluetooth_device_address_t *device_address);
 
 /**
- * @fn int bluetooth_dpm_remove_device_from_blacklist(const bluetooth_device_address_t *device_address);
+ * @fn int bluetooth_dpm_remove_device_from_blocklist(const bluetooth_device_address_t *device_address);
  *
- * @brief Removes the device from blacklist.
+ * @brief Removes the device from blocklist.
  *
  * This function is a synchronous call.
  *
@@ -7081,12 +7256,12 @@ int bluetooth_dpm_remove_device_from_whitelist(const bluetooth_device_address_t
  *
  * @remark     None
  */
-int bluetooth_dpm_remove_device_from_blacklist(const bluetooth_device_address_t *device_address);
+int bluetooth_dpm_remove_device_from_blocklist(const bluetooth_device_address_t *device_address);
 
 /**
- * @fn int bluetooth_dpm_remove_uuid_from_whitelist(const char *service_uuid);
+ * @fn int bluetooth_dpm_remove_uuid_from_allowlist(const char *service_uuid);
  *
- * @brief Removes the Service UUIDS from whitelist.
+ * @brief Removes the Service UUIDS from allowlist.
  *
  * This function is a synchronous call.
  *
@@ -7099,12 +7274,13 @@ int bluetooth_dpm_remove_device_from_blacklist(const bluetooth_device_address_t
  *
  * @remark     None
  */
-int bluetooth_dpm_remove_uuid_from_whitelist(const char *service_uuid);
+int bluetooth_dpm_remove_uuid_from_allowlist(const char *service_uuid);
 
 /**
- * @fn int bluetooth_dpm_remove_uuid_from_blacklist(const char *service_uuid);
+ * @fn int bluetooth_dpm_remove_uuid_from_blocklist(const char *service_uuid);
+ *
  *
- * @brief Removes the Service UUIDS from blacklist.
+ * @brief Removes the Service UUIDS from blocklist.
  *
  * This function is a synchronous call.
  *
@@ -7117,7 +7293,7 @@ int bluetooth_dpm_remove_uuid_from_whitelist(const char *service_uuid);
  *
  * @remark     None
  */
-int bluetooth_dpm_remove_uuid_from_blacklist(const char *service_uuid);
+int bluetooth_dpm_remove_uuid_from_blocklist(const char *service_uuid);
 
 /**
  * @fn int bluetooth_dpm_set_allow_outgoing_call(bt_dpm_status_t value);
@@ -7905,7 +8081,7 @@ int bluetooth_otp_disconnect_otc(const bluetooth_device_address_t *device_addres
  *
  * This function is a synchronous call.
  *
- * @return     BLUETOOTH_ERROR_NONE - Succeess \n
+ * @return     BLUETOOTH_ERROR_NONE - Success \n
  *             BLUETOOTH_ERROR_INVALID_PARAM -  Invalid parameter (NULL buffer) \n
  *             BLUETOOTH_ERROR_DEVICE_NOT_ENABLED -  Adapter is disabled \n
  *             BLUETOOTH_ERROR_INTERNAL -  Internal error \n
@@ -7924,7 +8100,7 @@ int bluetooth_is_le_2m_phy_supported(gboolean *is_supported);
  *
  * This function is a synchronous call.
  *
- * @return     BLUETOOTH_ERROR_NONE - Succeess \n
+ * @return     BLUETOOTH_ERROR_NONE - Success \n
  *             BLUETOOTH_ERROR_INVALID_PARAM -  Invalid parameter (NULL buffer) \n
  *             BLUETOOTH_ERROR_DEVICE_NOT_ENABLED -  Adapter is disabled \n
  *             BLUETOOTH_ERROR_INTERNAL -  Internal error \n
@@ -7935,6 +8111,63 @@ int bluetooth_is_le_2m_phy_supported(gboolean *is_supported);
 int bluetooth_is_le_coded_phy_supported(gboolean *is_supported);
 
 /**
+ * @fn int bluetooth_is_le_extended_advertising_supported(gboolean *is_supported)
+ * @brief Check if Adapter supports LE Extended Advertising feature or not.
+ *
+ * This API is used to check whether LE Adapter supports LE Extended Advertising feature, which is introduced
+ * in BT 5.0 specification.
+ *
+ * This function is a synchronous call.
+ *
+ * @return     BLUETOOTH_ERROR_NONE - Success \n
+ *             BLUETOOTH_ERROR_INVALID_PARAM -  Invalid parameter (NULL buffer) \n
+ *             BLUETOOTH_ERROR_DEVICE_NOT_ENABLED -  Adapter is disabled \n
+ *             BLUETOOTH_ERROR_INTERNAL -  Internal error \n
+ * @param[out] is_supported. This boolean variable indicates whether LE Extended Advertising is supported or not
+ *
+ * @remark      None
+ */
+int bluetooth_is_le_extended_advertising_supported(gboolean *is_supported);
+
+/**
+ * @fn int bluetooth_is_le_extended_scan_supported(gboolean *is_supported)
+ * @brief Check if Adapter supports LE Extended Scan feature or not.
+ *
+ * This API is used to check whether LE Adapter supports LE Extended Scan feature, which is introduced
+ * in BT 5.0 specification.
+ *
+ * This function is a synchronous call.
+ *
+ * @return     BLUETOOTH_ERROR_NONE - Success \n
+ *             BLUETOOTH_ERROR_INVALID_PARAM -  Invalid parameter (NULL buffer) \n
+ *             BLUETOOTH_ERROR_DEVICE_NOT_ENABLED -  Adapter is disabled \n
+ *             BLUETOOTH_ERROR_INTERNAL -  Internal error \n
+ * @param[out] is_supported. This boolean variable indicates whether LE Extended Scan is supported or not
+ *
+ * @remark      None
+ */
+int bluetooth_is_le_extended_scan_supported(gboolean *is_supported);
+
+/**
+ * @fn int bluetooth_le_get_maximum_advertising_data_length(gint *data_length)
+ * @brief gives the maximum advertising data length supported by controller.
+ *
+ * This API is used to get the maximum advertising data length supported by controller. This feature is introduced
+ * in BT 5.0 specification.
+ *
+ * This function is a synchronous call.
+ *
+ * @return     BLUETOOTH_ERROR_NONE - Success \n
+ *             BLUETOOTH_ERROR_INVALID_PARAM -  Invalid parameter (NULL buffer) \n
+ *             BLUETOOTH_ERROR_DEVICE_NOT_ENABLED -  Adapter is disabled \n
+ *             BLUETOOTH_ERROR_INTERNAL -  Internal error \n
+ * @param[out] data_length. This integer variable indicates the maximum advertising data length supported by the controller
+ *
+ * @remark      None
+ */
+int bluetooth_le_get_maximum_advertising_data_length(gint *data_length);
+
+/**
  * @fn int bluetooth_l2cap_le_create_socket(int psm)
  * @brief Register l2cap_le socket with a specific PSM
  *
@@ -8355,6 +8588,23 @@ int bluetooth_l2cap_le_server_is_connected(
  */
 int bluetooth_l2cap_le_get_psm(int id, int *psm);
 
+/**
+ * @fn gboolean bluetooth_l2cap_le_get_max_buffer_size(int *size)
+ * @brief gives the maximum size of buffer.
+ *
+ * This function is a synchronous call.
+ *
+ * @return  BLUETOOTH_ERROR_NONE  - Success \n
+ *              BLUETOOTH_ERROR_INVALID_PARAM - Invalid parameter \n
+ *              BLUETOOTH_ERROR_DEVICE_NOT_ENABLED - Adapter is disabled \n
+ *
+ * @param[out]  int *size
+ *
+ * @exception   None
+ *
+ * @remark       None
+ */
+int bluetooth_l2cap_le_get_max_buffer_size(int *size);
 
 /**
  * @}