Mercurial > emacs
annotate lib-src/getopt.h @ 33863:2e449f784ca7
(init_from_display_pos): If POS says we're already after
an overlay string ending at POS, make sure to pop the iterator
because it will be in front of that overlay string. When POS is
ZV, we've thereby also ``processed'' overlay strings at ZV.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Fri, 24 Nov 2000 19:29:05 +0000 |
parents | 82bf642db65e |
children | dfb045958eeb |
rev | line source |
---|---|
16919
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
1 /* Declarations for getopt. |
26083
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
2 Copyright (C) 1989,90,91,92,93,94,96,97,98 Free Software Foundation, Inc. |
18357
8a1bcc1874f1
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
18356
diff
changeset
|
3 NOTE: The canonical source of this file is maintained with the GNU C Library. |
18358
0c811fcc11f5
automatically generated from GPLed version
Ulrich Drepper <drepper@redhat.com>
parents:
18357
diff
changeset
|
4 Bugs can be reported to bug-glibc@gnu.org. |
18357
8a1bcc1874f1
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
18356
diff
changeset
|
5 This program is free software; you can redistribute it and/or modify it |
8a1bcc1874f1
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
18356
diff
changeset
|
6 under the terms of the GNU General Public License as published by the |
8a1bcc1874f1
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
18356
diff
changeset
|
7 Free Software Foundation; either version 2, or (at your option) any |
8a1bcc1874f1
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
18356
diff
changeset
|
8 later version. |
16919
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
9 |
18357
8a1bcc1874f1
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
18356
diff
changeset
|
10 This program is distributed in the hope that it will be useful, |
8a1bcc1874f1
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
18356
diff
changeset
|
11 but WITHOUT ANY WARRANTY; without even the implied warranty of |
8a1bcc1874f1
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
18356
diff
changeset
|
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
8a1bcc1874f1
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
18356
diff
changeset
|
13 GNU General Public License for more details. |
16919
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
14 |
18357
8a1bcc1874f1
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
18356
diff
changeset
|
15 You should have received a copy of the GNU General Public License |
8a1bcc1874f1
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
18356
diff
changeset
|
16 along with this program; if not, write to the Free Software |
8a1bcc1874f1
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
18356
diff
changeset
|
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
8a1bcc1874f1
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
18356
diff
changeset
|
18 USA. */ |
16919
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
19 |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
20 #ifndef _GETOPT_H |
26083
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
21 |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
22 #ifndef __need_getopt |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
23 # define _GETOPT_H 1 |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
24 #endif |
16919
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
25 |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
26 #ifdef __cplusplus |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
27 extern "C" { |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
28 #endif |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
29 |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
30 /* For communication from `getopt' to the caller. |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
31 When `getopt' finds an option that takes an argument, |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
32 the argument value is returned here. |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
33 Also, when `ordering' is RETURN_IN_ORDER, |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
34 each non-option ARGV-element is returned here. */ |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
35 |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
36 extern char *optarg; |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
37 |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
38 /* Index in ARGV of the next element to be scanned. |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
39 This is used for communication to and from the caller |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
40 and for communication between successive calls to `getopt'. |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
41 |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
42 On entry to `getopt', zero means this is the first call; initialize. |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
43 |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
44 When `getopt' returns -1, this is the index of the first of the |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
45 non-option elements that the caller should itself scan. |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
46 |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
47 Otherwise, `optind' communicates from one call to the next |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
48 how much of ARGV has been scanned so far. */ |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
49 |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
50 extern int optind; |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
51 |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
52 /* Callers store zero here to inhibit the error message `getopt' prints |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
53 for unrecognized options. */ |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
54 |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
55 extern int opterr; |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
56 |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
57 /* Set to an option character which was unrecognized. */ |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
58 |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
59 extern int optopt; |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
60 |
26083
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
61 #ifndef __need_getopt |
16919
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
62 /* Describe the long-named options requested by the application. |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
63 The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
64 of `struct option' terminated by an element containing a name which is |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
65 zero. |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
66 |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
67 The field `has_arg' is: |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
68 no_argument (or 0) if the option does not take an argument, |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
69 required_argument (or 1) if the option requires an argument, |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
70 optional_argument (or 2) if the option takes an optional argument. |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
71 |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
72 If the field `flag' is not NULL, it points to a variable that is set |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
73 to the value given in the field `val' when the option is found, but |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
74 left unchanged if the option is not found. |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
75 |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
76 To have a long-named option do something other than set an `int' to |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
77 a compiled-in constant, such as set a value from `optarg', set the |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
78 option's `flag' field to zero and its `val' field to a nonzero |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
79 value (the equivalent single-letter option character, if there is |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
80 one). For long options that have a zero `flag' field, `getopt' |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
81 returns the contents of the `val' field. */ |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
82 |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
83 struct option |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
84 { |
26083
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
85 # if defined __STDC__ && __STDC__ |
16919
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
86 const char *name; |
26083
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
87 # else |
16919
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
88 char *name; |
26083
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
89 # endif |
16919
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
90 /* has_arg can't be an enum because some compilers complain about |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
91 type mismatches in all the code that assumes it is an int. */ |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
92 int has_arg; |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
93 int *flag; |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
94 int val; |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
95 }; |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
96 |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
97 /* Names for the values of the `has_arg' field of `struct option'. */ |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
98 |
26083
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
99 # define no_argument 0 |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
100 # define required_argument 1 |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
101 # define optional_argument 2 |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
102 #endif /* need getopt */ |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
103 |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
104 |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
105 /* Get definitions and prototypes for functions to process the |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
106 arguments in ARGV (ARGC of them, minus the program name) for |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
107 options given in OPTS. |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
108 |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
109 Return the option character from OPTS just read. Return -1 when |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
110 there are no more options. For unrecognized options, or options |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
111 missing arguments, `optopt' is set to the option letter, and '?' is |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
112 returned. |
16919
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
113 |
26083
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
114 The OPTS string is a list of characters which are recognized option |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
115 letters, optionally followed by colons, specifying that that letter |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
116 takes an argument, to be placed in `optarg'. |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
117 |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
118 If a letter in OPTS is followed by two colons, its argument is |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
119 optional. This behavior is specific to the GNU `getopt'. |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
120 |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
121 The argument `--' causes premature termination of argument |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
122 scanning, explicitly telling `getopt' that there are no more |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
123 options. |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
124 |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
125 If OPTS begins with `--', then non-option arguments are treated as |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
126 arguments to the option '\0'. This behavior is specific to the GNU |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
127 `getopt'. */ |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
128 |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
129 #if defined __STDC__ && __STDC__ |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
130 # ifdef __GNU_LIBRARY__ |
16919
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
131 /* Many other libraries have conflicting prototypes for getopt, with |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
132 differences in the consts, in stdlib.h. To avoid compilation |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
133 errors, only prototype getopt for the GNU C library. */ |
26083
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
134 extern int getopt (int __argc, char *const *__argv, const char *__shortopts); |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
135 # else /* not __GNU_LIBRARY__ */ |
16919
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
136 extern int getopt (); |
26083
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
137 # endif /* __GNU_LIBRARY__ */ |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
138 |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
139 # ifndef __need_getopt |
31132 | 140 extern int getopt_long (int argc, char *const *argv, const char *__shortopts, |
26083
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
141 const struct option *__longopts, int *__longind); |
31132 | 142 extern int getopt_long_only (int argc, char *const *argv, |
26083
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
143 const char *__shortopts, |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
144 const struct option *__longopts, int *__longind); |
16919
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
145 |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
146 /* Internal only. Users should not call this directly. */ |
31132 | 147 extern int _getopt_internal (int argc, char *const *argv, |
26083
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
148 const char *__shortopts, |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
149 const struct option *__longopts, int *__longind, |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
150 int __long_only); |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
151 # endif |
16919
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
152 #else /* not __STDC__ */ |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
153 extern int getopt (); |
26083
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
154 # ifndef __need_getopt |
16919
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
155 extern int getopt_long (); |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
156 extern int getopt_long_only (); |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
157 |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
158 extern int _getopt_internal (); |
26083
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
159 # endif |
16919
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
160 #endif /* __STDC__ */ |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
161 |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
162 #ifdef __cplusplus |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
163 } |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
164 #endif |
16c0c57e8ab2
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
165 |
26083
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
166 /* Make sure we later can get all the definitions and declarations. */ |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
167 #undef __need_getopt |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
18358
diff
changeset
|
168 |
18353
6f1608446f88
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
17965
diff
changeset
|
169 #endif /* getopt.h */ |