OSDN Git Service

monitor: Add some mising AMP controller decodings
authorMarcel Holtmann <marcel@holtmann.org>
Tue, 13 Nov 2012 07:50:40 +0000 (16:50 +0900)
committerMarcel Holtmann <marcel@holtmann.org>
Tue, 13 Nov 2012 07:50:40 +0000 (16:50 +0900)
monitor/bt.h
monitor/packet.c

index 430ebcd..fb40e0f 100644 (file)
@@ -309,6 +309,24 @@ struct bt_hci_cmd_disconn_logic_link {
        uint16_t handle;
 } __attribute__ ((packed));
 
+#define BT_HCI_CMD_LOGIC_LINK_CANCEL           0x043b
+struct bt_hci_cmd_logic_link_cancel {
+       uint8_t  phy_handle;
+       uint8_t  flow_spec;
+} __attribute__ ((packed));
+struct bt_hci_rsp_logic_link_cancel {
+       uint8_t  status;
+       uint8_t  phy_handle;
+       uint8_t  flow_spec;
+} __attribute__ ((packed));
+
+#define BT_HCI_CMD_FLOW_SPEC_MODIFY            0x043c
+struct bt_hci_cmd_flow_spec_modify {
+       uint16_t handle;
+       uint8_t  tx_flow_spec[16];
+       uint8_t  rx_flow_spec[16];
+} __attribute__ ((packed));
+
 #define BT_HCI_CMD_HOLD_MODE                   0x0801
 struct bt_hci_cmd_hold_mode {
        uint16_t handle;
index 64037e8..94539e6 100644 (file)
@@ -2006,6 +2006,32 @@ static void disconn_logic_link_cmd(const void *data, uint8_t size)
        print_handle(cmd->handle);
 }
 
+static void logic_link_cancel_cmd(const void *data, uint8_t size)
+{
+       const struct bt_hci_cmd_logic_link_cancel *cmd = data;
+
+       print_phy_handle(cmd->phy_handle);
+       print_field("TX flow spec: 0x%2.2x", cmd->flow_spec);
+}
+
+static void logic_link_cancel_rsp(const void *data, uint8_t size)
+{
+        const struct bt_hci_rsp_logic_link_cancel *rsp = data;
+
+       print_status(rsp->status);
+       print_phy_handle(rsp->phy_handle);
+       print_field("TX flow spec: 0x%2.2x", rsp->flow_spec);
+}
+
+static void flow_spec_modify_cmd(const void *data, uint8_t size)
+{
+       const struct bt_hci_cmd_flow_spec_modify *cmd = data;
+
+       print_handle(cmd->handle);
+
+       packet_hexdump(data + 2, size - 2);
+}
+
 static void hold_mode_cmd(const void *data, uint8_t size)
 {
        const struct bt_hci_cmd_hold_mode *cmd = data;
@@ -3012,8 +3038,11 @@ static const struct opcode_data opcode_table[] = {
                                accept_logic_link_cmd, 33, true },
        { 0x043a, "Disconnect Logical Link",
                                disconn_logic_link_cmd, 2, true },
-       { 0x043b, "Logical Link Cancel"                 },
-       { 0x043c, "Flow Specifcation Modify"            },
+       { 0x043b, "Logical Link Cancel",
+                               logic_link_cancel_cmd, 2, true,
+                               logic_link_cancel_rsp, 3, true },
+       { 0x043c, "Flow Specifcation Modify",
+                               flow_spec_modify_cmd, 34, true },
 
        /* OGF 2 - Link Policy */
        { 0x0801, "Holde Mode",