Changeset e1e8f7a in mainline for uspace/app/pcapctl/main.c


Ignore:
Timestamp:
2024-12-13T08:44:05Z (10 months ago)
Author:
Nataliia Korop <n.corop08@…>
Children:
e5b2777
Parents:
467d2b9
git-author:
Nataliia Korop <n.corop08@…> (2024-11-16 11:14:06)
git-committer:
Nataliia Korop <n.corop08@…> (2024-12-13 08:44:05)
Message:

set ops as number and with start req

File:
1 edited

Legend:

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

    r467d2b9 re1e8f7a  
    4343#define NAME "pcapctl"
    4444#define DEFAULT_DEV_NUM 0
     45#define DECIMAL_SYSTEM 10
    4546
    46 static errno_t start_dumping(int *dev_number, const char *name)
     47static errno_t start_dumping(int *dev_number, const char *name, int *ops_index)
    4748{
    4849        pcapctl_sess_t *sess = NULL;
     
    5253        }
    5354
    54         rc = pcapctl_dump_start(name, sess);
     55        rc = pcapctl_is_valid_ops_number(ops_index, sess);
     56        if (rc != EOK)
     57        {
     58                printf("Wrong number of ops: %d.\n", *ops_index);
     59                pcapctl_dump_close(sess);
     60                return rc;
     61        }
     62
     63        rc = pcapctl_dump_start(name, ops_index, sess);
    5564        if (rc != EOK) {
    5665                printf("Starting the dumping was not successful.\n");
     
    7079        if (rc != EOK) {
    7180                printf("Stoping the dumping was not successful.\n");
    72         }
    73         pcapctl_dump_close(sess);
    74         return EOK;
    75 }
    76 
    77 static errno_t set_dumper_ops(int *dev_number, const char *name)
    78 {
    79         pcapctl_sess_t *sess = NULL;
    80         errno_t rc = pcapctl_dump_open(dev_number, &sess);
    81         if (rc != EOK) {
    82                 return rc;
    83         }
    84 
    85         rc = pcapctl_dump_set_ops(name, sess);
    86         if (rc != EOK) {
    87                 printf("Setting dumper ops was not successful.\n");
    8881        }
    8982        pcapctl_dump_close(sess);
     
    129122        bool start = false;
    130123        bool stop = false;
    131         bool set_ops = false;
    132124        int dev_number = -1;
     125        int ops_number = -1;
    133126        const char *output_file_name = "";
    134         const char *ops_name = "";
    135127        int idx = 0;
    136128        int ret = 0;
     
    144136                case 'd':
    145137                        char *rest;
    146                         long result = strtol(optarg, &rest, 10);
    147                         dev_number = (int)result;
     138                        long dev_result = strtol(optarg, &rest, DECIMAL_SYSTEM);
     139                        dev_number = (int)dev_result;
    148140                        errno_t rc = pcapctl_is_valid_device(&dev_number);
    149141                        if (rc != EOK) {
     
    168160                        break;
    169161                case 'o':
    170                         set_ops = true;
    171                         ops_name = optarg;
     162                        char* ops_inval;
     163                        long ops_result = strtol(optarg, &ops_inval, DECIMAL_SYSTEM);
     164                        ops_number = (int)ops_result;
    172165                        break;
    173166                }
     
    178171        if (start) {
    179172                /* start with dev number and name */
    180                 start_dumping(&dev_number, output_file_name);
     173                start_dumping(&dev_number, output_file_name, &ops_number);
    181174        } else if (stop) {
    182175                /* stop with dev number */
    183176                stop_dumping(&dev_number);
    184         } else if (set_ops) {
    185                 set_dumper_ops(&dev_number, ops_name);
    186177        }
    187178        return 0;
Note: See TracChangeset for help on using the changeset viewer.