1    | 
2    | typedef struct {
3    |   int optind;            /* index into parent argv vector */
4    |   int optopt;            /* character checked for validity */
5    |   int optreset;          /* reset getopt */
6    |   char *optarg;          /* argument associated with option */
7    |   char *place;           /* option letter processing */
8    | } getopt_state_t;
9    | 
10   | #define BADCH   (int)'?'
11   | #define BADARG  (int)':'
12   | #define EMSG    ""
13   | 
14   | 
15   | getopt_state_t *mg_new(int optind);
16   | int mg_getopt( int            nargc,
17   | 	   char * const   *nargv,
18   | 	   const char     *ostr,
19   | 	   getopt_state_t *state);