blob: e6af1e0284f1048c13dc10e0648fd4de4c629901 (
plain) (
blame)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 | #pragma once
// implementation of posix getopt using last getopt for demonstration purposes
#include "last_getopt.h"
namespace NLastGetopt {
    extern char* optarg;
    extern int optind;
    extern int optopt;
    extern int opterr;
    extern int optreset;
    enum {
        no_argument = NO_ARGUMENT,
        required_argument = REQUIRED_ARGUMENT,
        optional_argument = OPTIONAL_ARGUMENT,
    };
    struct option {
        const char* name;
        int has_arg;
        int* flag;
        int val;
    };
    int getopt(int argc, char* const* argv, const char* optstring);
    int getopt_long(int argc, char* const* argv, const char* optstring,
                    const struct option* longopts, int* longindex);
    int getopt_long_only(int argc, char* const* argv, const char* optstring,
                         const struct option* longopts, int* longindex);
}
 |