summaryrefslogtreecommitdiff
path: root/Libraries/LibC/getopt.h
diff options
context:
space:
mode:
Diffstat (limited to 'Libraries/LibC/getopt.h')
-rw-r--r--Libraries/LibC/getopt.h27
1 files changed, 25 insertions, 2 deletions
diff --git a/Libraries/LibC/getopt.h b/Libraries/LibC/getopt.h
index a55f06df52..caad05366e 100644
--- a/Libraries/LibC/getopt.h
+++ b/Libraries/LibC/getopt.h
@@ -2,12 +2,35 @@
#include <sys/cdefs.h>
+#define no_argument 0
+#define required_argument 1
+#define optional_argument 2
+
+struct option {
+ const char *name;
+ int has_arg;
+ int* flag;
+ int val;
+};
+
__BEGIN_DECLS
-int getopt(int argc, char* const argv[], const char* optstring);
-extern char* optarg;
+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*);
+
+#ifndef _GETOPT_DECLARED
+#define _GETOPT_DECLARED
+int getopt(int, char * const [], const char *);
+extern char *optarg;
extern int optind;
extern int opterr;
extern int optopt;
+#endif
+
+#ifndef _OPTRESET_DECLARED
+#define _OPTRESET_DECLARED
+extern int optreset;
+#endif
__END_DECLS
+