diff options
Diffstat (limited to 'contrib/cvs/lib/getopt.h')
-rw-r--r-- | contrib/cvs/lib/getopt.h | 149 |
1 files changed, 0 insertions, 149 deletions
diff --git a/contrib/cvs/lib/getopt.h b/contrib/cvs/lib/getopt.h deleted file mode 100644 index 9ba79f2..0000000 --- a/contrib/cvs/lib/getopt.h +++ /dev/null @@ -1,149 +0,0 @@ -/* Declarations for getopt. - Copyright (C) 1989, 1990, 1991, 1992, 1993 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 2, or (at your option) any - later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. */ - -#ifndef _GETOPT_H -#define _GETOPT_H 1 - -/* CVS - DRP - * - * If the OS defines this, just redefine the names to avoid namespace - * clashes. In theory, we should be testing the built in functions to - * see if they do what we want and use them if possible, but this is - * easier... - * - * Namely, this was occurring under Mac OS X. This is a Mac OS X (or - * OS X related) bug. - * - * Oops. We avoid compiling this with ifdefs because pretty much all of - * getopt.c is switched on the same macros... this isn't right, but I think - * this isn't our file. Probably best not to mess with it too much. - */ -#if defined (_LIBC) || !defined (__GNU_LIBRARY__) -# ifdef HAVE_GETOPT -# define getopt cvs_getopt -# define optarg cvs_optarg -# define opterr cvs_opterr -# define optind cvs_optind -# define optopt cvs_optopt -# endif /* HAVE_GETOPT */ -#endif /* _LIBC or not __GNU_LIBRARY__. */ - -#ifdef __cplusplus -extern "C" { -#endif - -/* For communication from `getopt' to the caller. - When `getopt' finds an option that takes an argument, - the argument value is returned here. - Also, when `ordering' is RETURN_IN_ORDER, - each non-option ARGV-element is returned here. */ - -extern char *optarg; - -/* Index in ARGV of the next element to be scanned. - This is used for communication to and from the caller - and for communication between successive calls to `getopt'. - - On entry to `getopt', zero means this is the first call; initialize. - - When `getopt' returns EOF, this is the index of the first of the - non-option elements that the caller should itself scan. - - Otherwise, `optind' communicates from one call to the next - how much of ARGV has been scanned so far. */ - -extern int optind; - -/* Callers store zero here to inhibit the error message `getopt' prints - for unrecognized options. */ - -extern int opterr; - -/* Set to an option character which was unrecognized. */ - -extern int optopt; - -/* Describe the long-named options requested by the application. - The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector - of `struct option' terminated by an element containing a name which is - zero. - - The field `has_arg' is: - no_argument (or 0) if the option does not take an argument, - required_argument (or 1) if the option requires an argument, - optional_argument (or 2) if the option takes an optional argument. - - If the field `flag' is not NULL, it points to a variable that is set - to the value given in the field `val' when the option is found, but - left unchanged if the option is not found. - - To have a long-named option do something other than set an `int' to - a compiled-in constant, such as set a value from `optarg', set the - option's `flag' field to zero and its `val' field to a nonzero - value (the equivalent single-letter option character, if there is - one). For long options that have a zero `flag' field, `getopt' - returns the contents of the `val' field. */ - -struct option -{ -#if __STDC__ - const char *name; -#else - char *name; -#endif - /* has_arg can't be an enum because some compilers complain about - type mismatches in all the code that assumes it is an int. */ - int has_arg; - int *flag; - int val; -}; - -/* Names for the values of the `has_arg' field of `struct option'. */ - -#define no_argument 0 -#define required_argument 1 -#define optional_argument 2 - -#if __STDC__ -/* Many other libraries have conflicting prototypes for getopt, with - differences in the consts, in stdlib.h. We used to try to prototype - it if __GNU_LIBRARY__ but that wasn't problem free either (I'm not sure - exactly why), and there is no particular need to prototype it. - We really shouldn't be trampling on the system's namespace at all by - declaring getopt() but that is a bigger issue. */ -extern int getopt (); - -extern int getopt_long (int argc, char *const *argv, const char *shortopts, - const struct option *longopts, int *longind); -extern int getopt_long_only (int argc, char *const *argv, - const char *shortopts, - const struct option *longopts, int *longind); - -/* Internal only. Users should not call this directly. */ -extern int _getopt_internal (int argc, char *const *argv, - const char *shortopts, - const struct option *longopts, int *longind, - int long_only); -#else /* not __STDC__ */ -extern int getopt (); -extern int getopt_long (); -extern int getopt_long_only (); - -extern int _getopt_internal (); -#endif /* not __STDC__ */ - -#ifdef __cplusplus -} -#endif - -#endif /* _GETOPT_H */ |