176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#ifndef _GETOPT_H
276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define _GETOPT_H
376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman
476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman/* (Very slightly) adapted from klibc */
576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman
676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartmanstruct option {
776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman	const char *name;
876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman	int has_arg;
976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman	int *flag;
1076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman	int val;
1176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman};
1276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman
1376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartmanenum {
1476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman	no_argument	  = 0,
1576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman	required_argument = 1,
1676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman	optional_argument = 2,
1776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman};
1876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman
1976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartmanextern char *optarg;
2076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartmanextern int optind, opterr, optopt;
2176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman
2276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartmanextern int getopt_long(int, char *const *, const char *,
2376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman			 const struct option *, int *);
2476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman
2576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#endif /* _GETOPT_H */
26