From ff3801866b1433e6d48e3342efe9f3414eaa2a5e Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Mon, 18 Apr 2005 14:09:34 +0000 Subject: [PATCH] hcidump: Decode hardware error and flush occurred events --- tools/parser/hci.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/tools/parser/hci.c b/tools/parser/hci.c index aa1abc3c9..8b19e0dda 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; -- 2.47.3