lib: Add structures and constants for experimental feature support
authorMarcel Holtmann <marcel@holtmann.org>
Tue, 5 May 2020 23:25:34 +0000 (01:25 +0200)
committerAyush Garg <ayush.garg@samsung.com>
Mon, 12 Apr 2021 09:00:49 +0000 (14:30 +0530)
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
lib/mgmt.h

index 1346377..1270677 100644 (file)
@@ -618,6 +618,26 @@ struct mgmt_rp_read_security_info {
        uint8_t  sec[0];
 } __packed;
 
+#define MGMT_OP_READ_EXP_FEATURES_INFO 0x0049
+struct mgmt_rp_read_exp_features_info {
+       uint16_t feature_count;
+       struct {
+               uint8_t  uuid[16];
+               uint32_t flags;
+       } features[];
+} __packed;
+
+#define MGMT_OP_SET_EXP_FEATURE                0x004a
+struct mgmt_cp_set_exp_feature {
+       uint8_t  uuid[16];
+       uint8_t  action;
+} __packed;
+#define MGMT_SET_EXP_FEATURE_SIZE      17
+struct mgmt_rp_set_exp_feature {
+       uint8_t  uuid[16];
+       uint32_t flags;
+} __packed;
+
 #define MGMT_EV_CMD_COMPLETE           0x0001
 struct mgmt_ev_cmd_complete {
        uint16_t opcode;
@@ -841,6 +861,12 @@ struct mgmt_ev_phy_configuration_changed {
        uint16_t        selected_phys;
 } __packed;
 
+#define MGMT_EV_EXP_FEATURE_CHANGE     0x0027
+struct mgmt_ev_exp_feature_changed {
+       uint8_t  uuid[16];
+       uint32_t flags;
+} __packed;
+
 static const char *mgmt_op[] = {
        "<0x0000>",
        "Read Version",
@@ -914,7 +940,9 @@ static const char *mgmt_op[] = {
        "Set PHY Configuration",
        "Set Blocked Keys",
        "Set Wideband Speech",
-       "Read Security Information",
+       "Read Security Information",                    /* 0x0048 */
+       "Read Experimental Features Information",
+       "Set Experimental Feature",
 };
 
 static const char *mgmt_ev[] = {
@@ -957,6 +985,7 @@ static const char *mgmt_ev[] = {
        "Advertising Removed",
        "Extended Controller Information Changed",
        "PHY Configuration Changed",
+       "Experimental Feature Changed",
 };
 
 static const char *mgmt_status[] = {