#define COLOR_CLOSE_INDEX COLOR_RED
#define COLOR_INDEX_INFO COLOR_GREEN
#define COLOR_VENDOR_DIAG COLOR_YELLOW
+#define COLOR_SYSTEM_NOTE COLOR_BLACK
#define COLOR_HCI_COMMAND COLOR_BLUE
#define COLOR_HCI_COMMAND_UNKNOWN COLOR_WHITE_BG
static struct index_data index_list[MAX_INDEX];
+static void packet_system_note(struct timeval *tv, struct ucred *cred,
+ uint16_t index, const void *data, uint16_t size)
+{
+ print_packet(tv, cred, index, '=', COLOR_SYSTEM_NOTE,
+ "Note", data, NULL);
+}
+
void packet_monitor(struct timeval *tv, struct ucred *cred,
uint16_t index, uint16_t opcode,
const void *data, uint16_t size)
packet_vendor_diag(tv, index, manufacturer, data, size);
break;
+ case BTSNOOP_OPCODE_SYSTEM_NOTE:
+ packet_system_note(tv, cred, index, data, size);
+ break;
default:
sprintf(extra_str, "(code %d len %d)", opcode, size);
print_packet(tv, cred, index, '*', COLOR_ERROR,
return btsnoop_write(btsnoop, tv, flags, data, size);
}
-static uint16_t get_opcode_from_pklg(uint8_t type)
-{
- switch (type) {
- case 0x00:
- return BTSNOOP_OPCODE_COMMAND_PKT;
- case 0x01:
- return BTSNOOP_OPCODE_EVENT_PKT;
- case 0x02:
- return BTSNOOP_OPCODE_ACL_TX_PKT;
- case 0x03:
- return BTSNOOP_OPCODE_ACL_RX_PKT;
- case 0x0b:
- return BTSNOOP_OPCODE_VENDOR_DIAG;
- }
-
- return 0xffff;
-}
-
static bool pklg_read_hci(struct btsnoop *btsnoop, struct timeval *tv,
uint16_t *index, uint16_t *opcode,
void *data, uint16_t *size)
tv->tv_usec = ts & 0xffffffff;
}
- *index = 0;
- *opcode = get_opcode_from_pklg(pkt.type);
+ switch (pkt.type) {
+ case 0x00:
+ *index = 0x0000;
+ *opcode = BTSNOOP_OPCODE_COMMAND_PKT;
+ break;
+ case 0x01:
+ *index = 0x0000;
+ *opcode = BTSNOOP_OPCODE_EVENT_PKT;
+ break;
+ case 0x02:
+ *index = 0x0000;
+ *opcode = BTSNOOP_OPCODE_ACL_TX_PKT;
+ break;
+ case 0x03:
+ *index = 0x0000;
+ *opcode = BTSNOOP_OPCODE_ACL_RX_PKT;
+ break;
+ case 0x0b:
+ *index = 0x0000;
+ *opcode = BTSNOOP_OPCODE_VENDOR_DIAG;
+ break;
+ case 0xfc:
+ *index = 0xffff;
+ *opcode = BTSNOOP_OPCODE_SYSTEM_NOTE;
+ break;
+ default:
+ *index = 0xffff;
+ *opcode = 0xffff;
+ break;
+ }
len = read(btsnoop->fd, data, toread);
if (len < 0) {