summaryrefslogtreecommitdiff
path: root/reference/C/CONTRIB/SNIP/getopts.h
blob: d3d0d8094efd962891208e790551726daab0e47a (plain)
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
/*
**  GETOPTS.H
**
**  public domain by Bob Stout
*/

#undef ERROR
#undef FALSE
#undef TRUE

typedef enum {ERROR = -1,FALSE, TRUE} Boolean_T;

typedef enum {
      Boolean_Tag,
      Word_Tag,
      DWord_Tag,
      Double_Tag,
      String_Tag
      } TAG_TYPE;

struct Option_Tag {
      int         letter;                 /* Option switch        */
      TAG_TYPE    type;                   /* Type of option       */
      void       *buf;                    /* Storage location     */
};

extern struct Option_Tag options[];
extern int    xargc;
extern char  *xargv[];

int getopts(int, char *[]);