|  | #ifndef _GETOPT_H | 
|  | #define _GETOPT_H | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | extern "C" { | 
|  | #endif | 
|  |  | 
|  | int getopt(int, char * const [], const char *); | 
|  | extern char *optarg; | 
|  | extern int optind, opterr, optopt, optreset; | 
|  |  | 
|  | struct option { | 
|  | const char *name; | 
|  | int has_arg; | 
|  | int *flag; | 
|  | int val; | 
|  | }; | 
|  |  | 
|  | int getopt_long(int, char *const *, const char *, const struct option *, int *); | 
|  | int getopt_long_only(int, char *const *, const char *, const struct option *, int *); | 
|  |  | 
|  | #define no_argument        0 | 
|  | #define required_argument  1 | 
|  | #define optional_argument  2 | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | } | 
|  | #endif | 
|  |  | 
|  | #endif |