static error_t parse_arg()

in non-GPL/Events/EventsTrace/EventsTrace.c [141:189]


static error_t parse_arg(int key, char *arg, struct argp_state *state)
{
    switch (key) {
    case 'i':
        g_print_features_init = 1;
        break;
    case 'u':
        g_unbuffer_stdout = 1;
        break;
    case 'v':
        g_libbpf_verbose = 1;
        break;
    case 'a':
        g_events_env = UINT64_MAX;
        break;
    case 's':
        g_stats = 1;
        break;
    case FILE_DELETE:
    case FILE_CREATE:
    case FILE_RENAME:
    case FILE_MODIFY:
    case FILE_MEMFD_OPEN:
    case FILE_SHMEM_OPEN:
    case PROCESS_FORK:
    case PROCESS_EXEC:
    case PROCESS_EXIT:
    case PROCESS_SETSID:
    case PROCESS_SETUID:
    case PROCESS_SETGID:
    case PROCESS_TTY_WRITE:
    case PROCESS_MEMFD_CREATE:
    case PROCESS_SHMGET:
    case PROCESS_PTRACE:
    case PROCESS_LOAD_MODULE:
    case NETWORK_CONNECTION_ACCEPTED:
    case NETWORK_CONNECTION_ATTEMPTED:
    case NETWORK_CONNECTION_CLOSED:
    case NETWORK_DNS_PKT:
        g_events_env |= cmdline_to_lib[key];
        break;
    case ARGP_KEY_ARG:
        argp_usage(state);
        break;
    default:
        return ARGP_ERR_UNKNOWN;
    }
    return 0;
}