summaryrefslogtreecommitdiff
path: root/gpxe/src/include/getopt.h
diff options
context:
space:
mode:
Diffstat (limited to 'gpxe/src/include/getopt.h')
-rw-r--r--gpxe/src/include/getopt.h94
1 files changed, 0 insertions, 94 deletions
diff --git a/gpxe/src/include/getopt.h b/gpxe/src/include/getopt.h
deleted file mode 100644
index 0fe43567..00000000
--- a/gpxe/src/include/getopt.h
+++ /dev/null
@@ -1,94 +0,0 @@
-#ifndef _GETOPT_H
-#define _GETOPT_H
-
-/** @file
- *
- * Parse command-line options
- *
- */
-
-FILE_LICENCE ( GPL2_OR_LATER );
-
-#include <stddef.h>
-
-enum getopt_argument_requirement {
- /** Option does not take an argument */
- no_argument = 0,
- /** Option requires an argument */
- required_argument = 1,
- /** Option may have an argument */
- optional_argument = 2,
-};
-
-/** A long option, as used for getopt_long() */
-struct option {
- /** Long name of this option */
- const char *name;
- /** Option takes an argument
- *
- * Must be one of @c no_argument, @c required_argument, or @c
- * optional_argument.
- */
- int has_arg;
- /** Location into which to store @c val, or NULL.
- *
- * See the description for @c val for more details.
- */
- int *flag;
- /** Value to return
- *
- * If @c flag is NULL, then this is the value that will be
- * returned by getopt_long() when this option is found, and
- * should therefore be set to the equivalent short option
- * character.
- *
- * If @c flag is non-NULL, then this value will be written to
- * the location pointed to by @flag, and getopt_long() will
- * return 0.
- */
- int val;
-};
-
-extern char *optarg;
-extern int optind;
-extern int nextchar;
-extern int optopt;
-
-extern int getopt_long ( int argc, char * const argv[], const char *optstring,
- const struct option *longopts, int *longindex );
-
-/**
- * Parse command-line options
- *
- * @v argv Argument count
- * @v argv Argument list
- * @v optstring Option specification string
- * @ret option Option found, or -1 for no more options
- *
- * See getopt_long() for full details.
- */
-static inline int getopt ( int argc, char * const argv[],
- const char *optstring ) {
- static const struct option no_options[] = {
- { NULL, 0, NULL, 0 }
- };
- return getopt_long ( argc, argv, optstring, no_options, NULL );
-}
-
-/**
- * Reset getopt() internal state
- *
- * Due to a limitation of the POSIX getopt() API, it is necessary to
- * add a call to reset_getopt() before each set of calls to getopt()
- * or getopt_long(). This arises because POSIX assumes that each
- * process will parse command line arguments no more than once; this
- * assumption is not valid within Etherboot. We work around the
- * limitation by arranging for execv() to call reset_getopt() before
- * executing the command.
- */
-static inline void reset_getopt ( void ) {
- optind = 1;
- nextchar = 0;
-}
-
-#endif /* _GETOPT_H */