monitor: Add command line option to disable pager support 15/205015/1
authorMarcel Holtmann <marcel@holtmann.org>
Thu, 24 May 2018 14:29:50 +0000 (16:29 +0200)
committerAmit Purwar <amit.purwar@samsung.com>
Mon, 29 Apr 2019 04:12:10 +0000 (09:42 +0530)
Change-Id: I9d720e2947c4f65a85e5b2c9346cd879f19d7f10
Signed-off-by: Amit Purwar <amit.purwar@samsung.com>
monitor/control.c
monitor/control.h
monitor/main.c

index d77498b..8a9b250 100755 (executable)
@@ -1387,7 +1387,7 @@ bool control_writer(const char *path)
        return !!btsnoop_file;
 }
 
-void control_reader(const char *path)
+void control_reader(const char *path, bool pager)
 {
        unsigned char buf[BTSNOOP_MAX_PACKET_SIZE];
        uint16_t pktlen;
@@ -1415,7 +1415,8 @@ void control_reader(const char *path)
 #ifdef TIZEN_FEATURE_BLUEZ_MODIFY
        setenv("PAGER", "cat", 0);
 #endif
-       open_pager();
+       if (pager)
+               open_pager();
 
        switch (format) {
        case BTSNOOP_FORMAT_HCI:
@@ -1449,7 +1450,8 @@ void control_reader(const char *path)
                break;
        }
 
-       close_pager();
+       if (pager)
+               close_pager();
 
        btsnoop_unref(btsnoop_file);
 }
index cd66441..a265b8e 100755 (executable)
@@ -29,7 +29,7 @@ bool control_writer(const char *path, int16_t rotate_count, ssize_t file_size);
 #else
 bool control_writer(const char *path);
 #endif
-void control_reader(const char *path);
+void control_reader(const char *path, bool pager);
 void control_server(const char *path);
 int control_tty(const char *path, unsigned int speed);
 int control_tracing(void);
index 4f8a8e1..a219c1e 100755 (executable)
@@ -72,6 +72,7 @@ static void usage(void)
                "\t-S, --sco              Dump SCO traffic\n"
                "\t-A, --a2dp             Dump A2DP stream traffic\n"
                "\t-E, --ellisys [ip]     Send Ellisys HCI Injection\n"
+               "\t-P, --no-pager         Disable pager usage\n"
 #ifdef TIZEN_FEATURE_BLUEZ_MODIFY
                "\t-C, --count <num>      Save traces by <num> rotation\n"
                "\t-W, --size <num>       Save traces at most <num> size\n"
@@ -80,32 +81,34 @@ static void usage(void)
 }
 
 static const struct option main_options[] = {
-       { "tty",     required_argument, NULL, 'd' },
+       { "tty",       required_argument, NULL, 'd' },
        { "tty-speed", required_argument, NULL, 'B' },
-       { "read",    required_argument, NULL, 'r' },
-       { "write",   required_argument, NULL, 'w' },
-       { "analyze", required_argument, NULL, 'a' },
-       { "server",  required_argument, NULL, 's' },
-       { "priority",required_argument, NULL, 'p' },
-       { "index",   required_argument, NULL, 'i' },
-       { "time",    no_argument,       NULL, 't' },
-       { "date",    no_argument,       NULL, 'T' },
-       { "sco",     no_argument,       NULL, 'S' },
-       { "a2dp",    no_argument,       NULL, 'A' },
-       { "ellisys", required_argument, NULL, 'E' },
+       { "read",      required_argument, NULL, 'r' },
+       { "write",     required_argument, NULL, 'w' },
+       { "analyze",   required_argument, NULL, 'a' },
+       { "server",    required_argument, NULL, 's' },
+       { "priority",  required_argument, NULL, 'p' },
+       { "index",     required_argument, NULL, 'i' },
+       { "time",      no_argument,       NULL, 't' },
+       { "date",      no_argument,       NULL, 'T' },
+       { "sco",       no_argument,       NULL, 'S' },
+       { "a2dp",      no_argument,       NULL, 'A' },
+       { "ellisys",   required_argument, NULL, 'E' },
 #ifdef TIZEN_FEATURE_BLUEZ_MODIFY
        { "count",   required_argument, NULL, 'C' },
        { "size",    required_argument, NULL, 'W' },
 #endif
-       { "todo",    no_argument,       NULL, '#' },
-       { "version", no_argument,       NULL, 'v' },
-       { "help",    no_argument,       NULL, 'h' },
+       { "no-pager",  no_argument,       NULL, 'P' },
+       { "todo",      no_argument,       NULL, '#' },
+       { "version",   no_argument,       NULL, 'v' },
+       { "help",      no_argument,       NULL, 'h' },
        { }
 };
 
 int main(int argc, char *argv[])
 {
        unsigned long filter_mask = 0;
+       bool use_pager = true;
        const char *reader_path = NULL;
        const char *writer_path = NULL;
        const char *analyze_path = NULL;
@@ -133,8 +136,8 @@ int main(int argc, char *argv[])
                opt = getopt_long(argc, argv, "d:r:w:a:s:p:i:tTSE:C:W:vh",
                                                main_options, NULL);
 #else
-               opt = getopt_long(argc, argv, "d:r:w:a:s:p:i:tTSAE:vh",
-                                               main_options, NULL);
+               opt = getopt_long(argc, argv, "d:r:w:a:s:p:i:tTSAEP:vh",
+                                                       main_options, NULL);
 #endif
                if (opt < 0)
                        break;
@@ -199,6 +202,9 @@ int main(int argc, char *argv[])
                        ellisys_server = optarg;
                        ellisys_port = 24352;
                        break;
+               case 'P':
+                       use_pager = false;
+                       break;
 #ifdef TIZEN_FEATURE_BLUEZ_MODIFY
                case 'C':
                        rotate_count = atoi(optarg);
@@ -253,7 +259,7 @@ int main(int argc, char *argv[])
                if (ellisys_server)
                        ellisys_enable(ellisys_server, ellisys_port);
 
-               control_reader(reader_path);
+               control_reader(reader_path, use_pager);
                return EXIT_SUCCESS;
        }