Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/pcapctl/main.c

    r6eab537d r325ea9c  
    4141#define NAME "pcapctl"
    4242
     43#define LOGGER(msg, ...) \
     44     fprintf(stderr, \
     45         "[PCAP %s:%d]: " msg "\n", \
     46         __FILE__, __LINE__, \
     47         ##__VA_ARGS__\
     48     )
     49
    4350pcapctl_sess_t sess;
    4451
    45 static void start_dumping(const char *name)
     52static errno_t start_dumping(const char *drv_name, const char *name)
    4653{
     54        errno_t rc = pcapctl_dump_init(&sess, drv_name);
     55        if (rc != EOK) {
     56                //fprintf(stderr, "Error initializing ...\n");
     57                return 1;
     58        }
    4759        pcapctl_dump_start(name, &sess);
     60        return EOK;
    4861}
    4962
    50 static void stop_dumping(void)
     63/** Session might */
     64static errno_t stop_dumping(const char *drv_name)
    5165{
     66        errno_t rc = pcapctl_dump_init(&sess, drv_name);
     67        if (rc != EOK) {
     68                fprintf(stderr, "Error initializing ...\n");
     69                return 1;
     70        }
    5271        pcapctl_dump_stop(&sess);
     72        return EOK;
     73}
     74
     75static void list_devs(void) {
     76        pcapctl_list();
    5377}
    5478
     
    5680{
    5781        fprintf(stderr, "Usage:\n");
    58         fprintf(stderr, "  %s start <outfile>: Packets will be written to <outfile>\n", progname);
    59         fprintf(stderr, "  %s stop: Dumping stops\n", progname);
     82        fprintf(stderr, "  %s start <device> <outfile>: Packets dumped from <device> will be written to <outfile>\n", progname);
     83        fprintf(stderr, "  %s stop <device>: Dumping from <device> stops\n", progname);
    6084
    6185}
     
    6791                return 1;
    6892        } else {
    69                 errno_t rc = pcapctl_dump_init(&sess);
    70                 if (rc != EOK) {
    71                         fprintf(stderr, "Error initializing ...\n");
    72                         return 1;
    73                 }
    74                 if (str_cmp(argv[1], "start") == 0) {
     93                if (str_cmp(argv[1], "--help") == 0 || str_cmp(argv[1], "-h") == 0) {
     94                        usage(argv[0]);
     95                        return 0;
     96                } else if (str_cmp(argv[1], "list") == 0) {
     97                        list_devs();
     98                        return 0;
     99                } else if (str_cmp(argv[1], "start") == 0) {
     100                        if (argc != 4) {
     101                                usage(argv[0]);
     102                                return 1;
     103                        }
     104                        start_dumping(argv[2], argv[3]);
     105                } else if (str_cmp(argv[1], "stop") == 0) {
    75106                        if (argc != 3) {
    76107                                usage(argv[0]);
    77108                                return 1;
    78109                        }
    79                         start_dumping(argv[2]);
    80                 } else if (str_cmp(argv[1], "stop") == 0) {
    81                         stop_dumping();
     110                        stop_dumping(argv[2]);
    82111                        fprintf(stdout, "Dumping was stopped\n");
    83112                        return EOK;
Note: See TracChangeset for help on using the changeset viewer.