OSDN Git Service

monitor: Return btsnoop type when opening files
authorMarcel Holtmann <marcel@holtmann.org>
Tue, 20 Aug 2013 06:11:16 +0000 (23:11 -0700)
committerMarcel Holtmann <marcel@holtmann.org>
Tue, 20 Aug 2013 06:11:16 +0000 (23:11 -0700)
monitor/btsnoop.c
monitor/btsnoop.h
monitor/control.c

index 49d3998..79997c4 100644 (file)
@@ -165,7 +165,7 @@ void btsnoop_write(struct timeval *tv, uint16_t index, uint16_t opcode,
        do_write(tv, flags, data, size);
 }
 
-int btsnoop_open(const char *path)
+int btsnoop_open(const char *path, uint32_t *type)
 {
        struct btsnoop_hdr hdr;
        ssize_t len;
@@ -216,6 +216,9 @@ int btsnoop_open(const char *path)
                break;
        }
 
+       if (type)
+               *type = btsnoop_type;
+
        return 0;
 }
 
index 044d1a2..cec9761 100644 (file)
@@ -27,7 +27,7 @@
 void btsnoop_create(const char *path);
 void btsnoop_write(struct timeval *tv, uint16_t index, uint16_t opcode,
                                        const void *data, uint16_t size);
-int btsnoop_open(const char *path);
+int btsnoop_open(const char *path, uint32_t *type);
 int btsnoop_read(struct timeval *tv, uint16_t *index, uint16_t *opcode,
                                                void *data, uint16_t *size);
 void btsnoop_close(void);
index d4085ef..8db33d6 100644 (file)
@@ -810,9 +810,10 @@ void control_reader(const char *path)
 {
        unsigned char buf[MAX_PACKET_SIZE];
        uint16_t index, opcode, pktlen;
+       uint32_t type;
        struct timeval tv;
 
-       if (btsnoop_open(path) < 0)
+       if (btsnoop_open(path, &type) < 0)
                return;
 
        open_pager();