1*a466cc55SCy Schubert #ifndef __GETOPT_H__ 2*a466cc55SCy Schubert #define __GETOPT_H__ 3*a466cc55SCy Schubert 4*a466cc55SCy Schubert #ifdef __cplusplus 5*a466cc55SCy Schubert extern "C" { 6*a466cc55SCy Schubert #endif 7*a466cc55SCy Schubert 8*a466cc55SCy Schubert extern int opterr; /* if error message should be printed */ 9*a466cc55SCy Schubert extern int optind; /* index into parent argv vector */ 10*a466cc55SCy Schubert extern int optopt; /* character checked for validity */ 11*a466cc55SCy Schubert extern int optreset; /* reset getopt */ 12*a466cc55SCy Schubert extern char *optarg; /* argument associated with option */ 13*a466cc55SCy Schubert 14*a466cc55SCy Schubert struct option 15*a466cc55SCy Schubert { 16*a466cc55SCy Schubert const char *name; 17*a466cc55SCy Schubert int has_arg; 18*a466cc55SCy Schubert int *flag; 19*a466cc55SCy Schubert int val; 20*a466cc55SCy Schubert }; 21*a466cc55SCy Schubert 22*a466cc55SCy Schubert #define no_argument 0 23*a466cc55SCy Schubert #define required_argument 1 24*a466cc55SCy Schubert #define optional_argument 2 25*a466cc55SCy Schubert 26*a466cc55SCy Schubert int getopt(int, char**, const char*); 27*a466cc55SCy Schubert int getopt_long(int, char**, const char*, const struct option*, int*); 28*a466cc55SCy Schubert 29*a466cc55SCy Schubert #ifdef __cplusplus 30*a466cc55SCy Schubert } 31*a466cc55SCy Schubert #endif 32*a466cc55SCy Schubert 33*a466cc55SCy Schubert #endif /* __GETOPT_H__ */ 34