Diff between 5453eda1010bdeb169a55b039160ae22c7c2755b and ff3801866b1433e6d48e3342efe9f3414eaa2a5e

Changed Files

File Additions Deletions Status
tools/parser/hci.c +24 -0 modified

Full Patch

diff --git a/tools/parser/hci.c b/tools/parser/hci.c
index aa1abc3..8b19e0d 100644
--- a/tools/parser/hci.c
+++ b/tools/parser/hci.c
@@ -827,6 +827,16 @@ static inline void status_response_dump(int level, struct frame *frm)
 	raw_dump(level, frm);
 }
 
+static inline void handle_response_dump(int level, struct frame *frm)
+{
+	uint16_t handle = btohs(htons(get_u16(frm)));
+
+	p_indent(level, frm);
+	printf("handle %d\n", handle);
+
+	raw_dump(level, frm);
+}
+
 static inline void bdaddr_response_dump(int level, struct frame *frm)
 {
 	uint8_t status = get_u8(frm);
@@ -1177,6 +1187,14 @@ static inline void cmd_status_dump(int level, struct frame *frm)
 	}
 }
 
+static inline void hardware_error_dump(int level, struct frame *frm)
+{
+	evt_hardware_error *evt = frm->ptr;
+
+	p_indent(level, frm);
+	printf("code %d\n", evt->code);
+}
+
 static inline void inq_result_dump(int level, struct frame *frm)
 {
 	uint8_t num = get_u8(frm);
@@ -1609,6 +1627,12 @@ static inline void event_dump(int level, struct frame *frm)
 	case EVT_CMD_STATUS:
 		cmd_status_dump(level + 1, frm);
 		break;
+	case EVT_HARDWARE_ERROR:
+		hardware_error_dump(level + 1, frm);
+		break;
+	case EVT_FLUSH_OCCURRED:
+		handle_response_dump(level + 1, frm);
+		break;
 	case EVT_INQUIRY_COMPLETE:
 		status_response_dump(level + 1, frm);
 		break;