Diff between 45affc5e59aaec3b1858b6428b9d8a42bb0a2aa2 and 65826f2b687bc8544cb9efde34495771c62de63e

Changed Files

File Additions Deletions Status
tools/parser/l2cap.c +17 -0 modified

Full Patch

diff --git a/tools/parser/l2cap.c b/tools/parser/l2cap.c
index 2a86ba6..bae306a 100644
--- a/tools/parser/l2cap.c
+++ b/tools/parser/l2cap.c
@@ -132,6 +132,20 @@ static uint16_t get_psm(int in, uint16_t cid)
 	return parser.defpsm;
 }
 
+static char *mode2str(uint8_t mode)
+{
+	switch (mode) {
+	case 0x00:
+		return "Basic";
+	case 0x01:
+		return "Retransmission";
+	case 0x02:
+		return "Flow control";
+	default:
+		return "Reserved";
+	}
+}
+
 static inline void command_rej(int level, struct frame *frm)
 {
 	l2cap_cmd_rej *h = frm->ptr;
@@ -197,6 +211,9 @@ static void conf_opt(int level, void *ptr, int len)
 		case L2CAP_CONF_FLUSH_TO:
 			printf("FlushTO %d ", conf_opt_val(h->val, h->len));
 			break;
+		case 0x04:
+			printf("Mode %d (%s)", *h->val, mode2str(*h->val));
+			break;
 		default:
 			printf("Unknown (type %2.2x, len %d) ", h->type, h->len);
 			break;