mirror of
https://github.com/gbdev/rgbds.git
synced 2025-11-22 19:22:05 +00:00
Both `getopt_long` and `getopt_long_only` are GNU-specific, so we'll be copying musl's implementation for portability. This was retrieved as of commit 90251cf73dfdd44e7a3f085d236e89a7dff1b00b. musl is licensed as MIT, which is compatible (being identical...) to RGBDS'. The file is being copied as-is, without a copyright notice or attribution, but this is only to have a verbatim copy in the history. Those will be added in the next commit.
31 lines
559 B
C
31 lines
559 B
C
#ifndef _GETOPT_H
|
|
#define _GETOPT_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
int getopt(int, char * const [], const char *);
|
|
extern char *optarg;
|
|
extern int optind, opterr, optopt, optreset;
|
|
|
|
struct option {
|
|
const char *name;
|
|
int has_arg;
|
|
int *flag;
|
|
int val;
|
|
};
|
|
|
|
int getopt_long(int, char *const *, const char *, const struct option *, int *);
|
|
int getopt_long_only(int, char *const *, const char *, const struct option *, int *);
|
|
|
|
#define no_argument 0
|
|
#define required_argument 1
|
|
#define optional_argument 2
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|