aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2008-06-12 21:39:16 +0000
committerMarcel Holtmann <marcel@holtmann.org>2008-06-12 21:39:16 +0000
commit6d012a81f80dadc7394c92a4de994b88545cb95e (patch)
tree17baf1a26510b944251eaf718d9005502188c896
parent6bc8027f3922daad372c57f15aea28c2300b2baa (diff)
downloadbluez-hcidump-6d012a81f80dadc7394c92a4de994b88545cb95e.tar.gz
Decode the Read Link Policy Settings command
-rw-r--r--parser/hci.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/parser/hci.c b/parser/hci.c
index 7c35f47..5e05730 100644
--- a/parser/hci.c
+++ b/parser/hci.c
@@ -1667,6 +1667,29 @@ static inline void status_mode_dump(int level, struct frame *frm)
}
}
+static inline void read_link_policy_dump(int level, struct frame *frm)
+{
+ read_link_policy_rp *rp = frm->ptr;
+ uint16_t policy = btohs(rp->policy);
+ char *str;
+
+ p_indent(level, frm);
+ printf("status 0x%2.2x handle %d policy 0x%2.2x\n",
+ rp->status, btohs(rp->handle), policy);
+
+ if (rp->status > 0) {
+ p_indent(level, frm);
+ printf("Error: %s\n", status2str(rp->status));
+ } else {
+ str = hci_lptostr(policy);
+ if (str) {
+ p_indent(level, frm);
+ printf("Link policy: %s\n", str);
+ free(str);
+ }
+ }
+}
+
static inline void read_pin_type_dump(int level, struct frame *frm)
{
read_pin_type_rp *rp = frm->ptr;
@@ -2188,6 +2211,9 @@ static inline void cmd_complete_dump(int level, struct frame *frm)
case OGF_LINK_POLICY:
switch (ocf) {
+ case OCF_READ_LINK_POLICY:
+ read_link_policy_dump(level, frm);
+ return;
case OCF_WRITE_LINK_POLICY:
case OCF_SNIFF_SUBRATING:
generic_response_dump(level, frm);