The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

dvi2bitmap  dvi2bitmap1.0
getopt_long.h
Go to the documentation of this file.
1 /* Declarations for getopt.
2  Copyright 1989, 1990, 1991, 1992, 1993, 1994, 1996, 1997, 1998, 2000
3  Free Software Foundation, Inc.
4 
5  NOTE: The canonical source of this file is maintained with the GNU C Library.
6  Bugs can be reported to bug-glibc@gnu.org.
7 
8  This program is free software; you can redistribute it and/or modify it
9  under the terms of the GNU General Public License as published by the
10  Free Software Foundation; either version 2, or (at your option) any
11  later version.
12 
13  This program is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  GNU General Public License for more details.
17 
18  You should have received a copy of the GNU General Public License
19  along with this program; if not, write to the Free Software
20  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
21  USA. */
22 
23 #ifndef _GETOPT_H
24 #define _GETOPT_H 1
25 
26 #include <config.h>
27 
28 #if HAVE_UNISTD_H
29 /* Declares getopt, if present */
30 #include <unistd.h>
31 #endif
32 
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36 
37 /* We're building this with a C++ compiler, essentially. Such
38  compilers are not required to define __STDC__, but the path we
39  should follow, below, is indeed that marked by __STDC__. We don't
40  want to force a definition of __STDC__ (though that works), because
41  (a) that feels bad, and (b) some compilers perfectly reasonable
42  complain bitterly about it. So define THIS_IS__STDC__, and replace
43  occurrences of __STDC__ throughout with that.
44 
45  That means that all of the occurrences of THIS_IS__STDC__ in this
46  file and in getopt_long.c are redundant, but I'm leaving them here
47  in case it becomes necessary to do cleverer things with it than
48  simply define it to be 1, and also as a sort of warped documentation. */
49 #define THIS_IS__STDC__ 1
50 
51 #if !HAVE_DECL_GETOPT
52 /* For communication from `getopt' to the caller.
53  When `getopt' finds an option that takes an argument,
54  the argument value is returned here.
55  Also, when `ordering' is RETURN_IN_ORDER,
56  each non-option ARGV-element is returned here. */
57 
58 extern char *optarg;
59 
60 /* Index in ARGV of the next element to be scanned.
61  This is used for communication to and from the caller
62  and for communication between successive calls to `getopt'.
63 
64  On entry to `getopt', zero means this is the first call; initialize.
65 
66  When `getopt' returns -1, this is the index of the first of the
67  non-option elements that the caller should itself scan.
68 
69  Otherwise, `optind' communicates from one call to the next
70  how much of ARGV has been scanned so far. */
71 
72 extern int optind;
73 
74 /* Callers store zero here to inhibit the error message `getopt' prints
75  for unrecognized options. */
76 
77 extern int opterr;
78 
79 /* Set to an option character which was unrecognized. */
80 
81 extern int optopt;
82 
83 #endif /* ifndef HAVE_DECL_GETOPT */
84 
85 #if !HAVE_DECL_GETOPT_LONG
86 /* Describe the long-named options requested by the application.
87  The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
88  of `struct option' terminated by an element containing a name which is
89  zero.
90 
91  The field `has_arg' is:
92  no_argument (or 0) if the option does not take an argument,
93  required_argument (or 1) if the option requires an argument,
94  optional_argument (or 2) if the option takes an optional argument.
95 
96  If the field `flag' is not NULL, it points to a variable that is set
97  to the value given in the field `val' when the option is found, but
98  left unchanged if the option is not found.
99 
100  To have a long-named option do something other than set an `int' to
101  a compiled-in constant, such as set a value from `optarg', set the
102  option's `flag' field to zero and its `val' field to a nonzero
103  value (the equivalent single-letter option character, if there is
104  one). For long options that have a zero `flag' field, `getopt'
105  returns the contents of the `val' field. */
106 
107 struct option
108 {
109 #if defined (THIS_IS__STDC__) && THIS_IS__STDC__
110  const char *name;
111 #else
112  char *name;
113 #endif
114  /* has_arg can't be an enum because some compilers complain about
115  type mismatches in all the code that assumes it is an int. */
116  int has_arg;
117  int *flag;
118  int val;
119 };
120 
121 /* Names for the values of the `has_arg' field of `struct option'. */
122 
123 #define no_argument 0
124 #define required_argument 1
125 #define optional_argument 2
126 
127 #endif /* #if !HAVE_DECL_GETOPT_LONG */
128 
129 #if defined (THIS_IS__STDC__) && THIS_IS__STDC__
130 /* HAVE_DECL_* is a three-state macro: undefined, 0 or 1. If it is
131  undefined, we haven't run the autoconf check so provide the
132  declaration without arguments. If it is 0, we checked and failed
133  to find the declaration so provide a fully prototyped one. If it
134  is 1, we found it so don't provide any declaration at all. */
135 #if defined (__GNU_LIBRARY__) || (defined (HAVE_DECL_GETOPT) && !HAVE_DECL_GETOPT)
136 /* Many other libraries have conflicting prototypes for getopt, with
137  differences in the consts, in stdlib.h. To avoid compilation
138  errors, only prototype getopt for the GNU C library. */
139 extern int getopt (int argc, char *const *argv, const char *shortopts);
140 #else /* not __GNU_LIBRARY__ */
141 # if !defined (HAVE_DECL_GETOPT)
142 extern int getopt ();
143 # endif
144 #endif /* __GNU_LIBRARY__ */
145 #if !HAVE_DECL_GETOPT_LONG
146 extern int getopt_long (int argc, char *const *argv, const char *shortopts,
147  const struct option *longopts, int *longind);
148 extern int getopt_long_only (int argc, char *const *argv,
149  const char *shortopts,
150  const struct option *longopts, int *longind);
151 
152 /* Internal only. Users should not call this directly. */
153 extern int _getopt_internal (int argc, char *const *argv,
154  const char *shortopts,
155  const struct option *longopts, int *longind,
156  int long_only);
157 #endif /* HAVE_DECL_GETOPT_LONG */
158 #else /* not THIS_IS__STDC__ */
159 #if !HAVE_DECL_GETOPT
160 extern int getopt ();
161 #endif /* HAVE_DECL_GETOPT */
162 #if !HAVE_DECL_GETOPT_LONG
163 extern int getopt_long ();
164 extern int getopt_long_only ();
165 
166 extern int _getopt_internal ();
167 #endif /* HAVE_DECL_GETOPT_LONG */
168 #endif /* THIS_IS__STDC__ */
169 
170 
171 #ifdef __cplusplus
172 }
173 #endif
174 
175 #endif /* getopt.h */

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.