| 
					
				 | 
			
			
				@@ -0,0 +1,180 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/* Declarations for getopt. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   Copyright (C) 1989-1994, 1996-1999, 2001 Free Software Foundation, Inc. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   This file is part of the GNU C Library. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   The GNU C Library is free software; you can redistribute it and/or 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   modify it under the terms of the GNU Lesser General Public 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   License as published by the Free Software Foundation; either 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   version 2.1 of the License, or (at your option) any later version. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   The GNU C Library 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 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   Lesser General Public License for more details. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   You should have received a copy of the GNU Lesser General Public 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   License along with the GNU C Library; if not, write to the Free 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   02111-1307 USA.  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#ifndef _GETOPT_H 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#ifndef __need_getopt 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# define _GETOPT_H 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/* If __GNU_LIBRARY__ is not already defined, either we are being used 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   standalone, or this is the first header included in the source file. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   If we are being used with glibc, we need to include <features.h>, but 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   that does not exist if we are standalone.  So: if __GNU_LIBRARY__ is 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   not defined, include <ctype.h>, which will pull in <features.h> for us 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   if it's from glibc.  (Why ctype.h?  It's guaranteed to exist and it 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   doesn't flood the namespace with stuff the way some other headers do.)  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#if !defined __GNU_LIBRARY__ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# include <ctype.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#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 -1, 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; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#ifndef __need_getopt 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/* 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 (defined __STDC__ && __STDC__) || defined __cplusplus 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  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 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#endif	/* need getopt */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/* Get definitions and prototypes for functions to process the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   arguments in ARGV (ARGC of them, minus the program name) for 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   options given in OPTS. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   Return the option character from OPTS just read.  Return -1 when 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   there are no more options.  For unrecognized options, or options 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   missing arguments, `optopt' is set to the option letter, and '?' is 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   returned. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   The OPTS string is a list of characters which are recognized option 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   letters, optionally followed by colons, specifying that that letter 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   takes an argument, to be placed in `optarg'. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   If a letter in OPTS is followed by two colons, its argument is 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   optional.  This behavior is specific to the GNU `getopt'. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   The argument `--' causes premature termination of argument 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   scanning, explicitly telling `getopt' that there are no more 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   options. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   If OPTS begins with `--', then non-option arguments are treated as 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   arguments to the option '\0'.  This behavior is specific to the GNU 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   `getopt'.  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#if (defined __STDC__ && __STDC__) || defined __cplusplus 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# ifdef __GNU_LIBRARY__ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/* Many other libraries have conflicting prototypes for getopt, with 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   differences in the consts, in stdlib.h.  To avoid compilation 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   errors, only prototype getopt for the GNU C library.  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+extern int getopt (int __argc, char *const *__argv, const char *__shortopts); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# else /* not __GNU_LIBRARY__ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+extern int getopt (); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# endif /* __GNU_LIBRARY__ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# ifndef __need_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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#else /* not __STDC__ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+extern int getopt (); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# ifndef __need_getopt 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+extern int getopt_long (); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+extern int getopt_long_only (); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+extern int _getopt_internal (); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#endif /* __STDC__ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#ifdef	__cplusplus 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/* Make sure we later can get all the definitions and declarations.  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#undef __need_getopt 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#endif /* getopt.h */ 
			 |