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