diff --git a/mgmt/main.c b/mgmt/main.c
index 7abd509..da15a64 100644
--- a/mgmt/main.c
+++ b/mgmt/main.c
#include <sys/socket.h>
#include <poll.h>
#include <getopt.h>
+#include <stdbool.h>
#include <bluetooth/bluetooth.h>
#include <bluetooth/hci.h>
#include <bluetooth/mgmt.h>
+static bool monitor = false;
+
typedef void (*cmd_cb)(int mgmt_sk, uint16_t op, uint16_t id, uint8_t status,
void *rsp, uint16_t len, void *user_data);
len -= sizeof(*ev);
- printf("cmd complete, opcode 0x%04x len %u\n", op, len);
+ if (monitor)
+ printf("cmd complete, opcode 0x%04x len %u\n", op, len);
if (pending_cmd != NULL && op == pending_cmd->op) {
pending_cmd->cb(mgmt_sk, op, index, 0, ev->data, len,
case MGMT_EV_PAIRABLE:
return mgmt_pairable(mgmt_sk, index, data, len);
default:
- printf("Unhandled event 0x%04x\n", ev);
+ if (monitor)
+ printf("Unknown event 0x%04x\n", ev);
return 0;
}
}
index = bt_get_le16(&hdr->index);
len = bt_get_le16(&hdr->len);
- printf("event 0x%04x len 0x%04x index 0x%04x\n", ev, len, index);
+ if (monitor)
+ printf("event 0x%04x len 0x%04x index 0x%04x\n", ev, len, index);
if (ret != MGMT_HDR_SIZE + len) {
fprintf(stderr, "Packet length mismatch. ret %zd len %u",
static void cmd_monitor(int mgmt_sk, int argc, char **argv)
{
printf("Monitoring mgmt events...\n");
+ monitor = true;
}
static void info_rsp(int mgmt_sk, uint16_t op, uint16_t id, uint8_t status,
return -1;
}
- printf("mgmt socket successfully opened\n");
-
for (i = 0; command[i].cmd; i++) {
if (strcmp(command[i].cmd, argv[0]) != 0)
continue;