pidgin
2.14.15dev
Toggle main menu visibility
Main Page
Related Pages
Topics
Data Structures
Data Structures
Data Structure Index
Data Fields
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Files
File List
Globals
All
_
a
b
c
d
e
f
g
h
i
k
m
n
o
p
r
s
t
u
w
x
Functions
_
d
f
g
p
s
x
Variables
Typedefs
a
b
c
d
e
g
i
k
m
n
p
r
s
t
u
w
x
Enumerations
_
a
b
c
d
g
i
m
n
p
r
s
t
x
Enumerator
c
g
h
o
p
x
Macros
_
d
f
g
n
p
•
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
Pages
Loading...
Searching...
No Matches
finch/getopt.h
1
/* Declarations for getopt.
2
3
NOTE: getopt is now part of the C library, so if you don't know what
4
"Keep this file name-space clean" means, talk to roland@gnu.ai.mit.edu
5
before changing it!
6
7
Finch is the legal property of its developers, whose names are too numerous
8
to list here. Please refer to the COPYRIGHT file distributed with this
9
source distribution.
10
11
This program is free software; you can redistribute it and/or modify it
12
under the terms of the GNU General Public License as published by the
13
Free Software Foundation; either version 2, or (at your option) any
14
later version.
15
16
This program is distributed in the hope that it will be useful,
17
but WITHOUT ANY WARRANTY; without even the implied warranty of
18
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
GNU General Public License for more details.
20
21
You should have received a copy of the GNU General Public License
22
along with this program; if not, write to the Free Software
23
Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
24
25
#ifndef _GETOPT_H
26
#define _GETOPT_H 1
27
28
#ifdef __cplusplus
29
extern
"C"
{
30
#endif
31
32
/* For communication from `getopt' to the caller.
33
When `getopt' finds an option that takes an argument,
34
the argument value is returned here.
35
Also, when `ordering' is RETURN_IN_ORDER,
36
each non-option ARGV-element is returned here. */
37
38
extern
char
*optarg;
39
40
/* Index in ARGV of the next element to be scanned.
41
This is used for communication to and from the caller
42
and for communication between successive calls to `getopt'.
43
44
On entry to `getopt', zero means this is the first call; initialize.
45
46
When `getopt' returns EOF, this is the index of the first of the
47
non-option elements that the caller should itself scan.
48
49
Otherwise, `optind' communicates from one call to the next
50
how much of ARGV has been scanned so far. */
51
52
extern
int
optind;
53
54
/* Callers store zero here to inhibit the error message `getopt' prints
55
for unrecognized options. */
56
57
extern
int
opterr;
58
59
/* Set to an option character which was unrecognized. */
60
61
extern
int
optopt;
62
63
/* Describe the long-named options requested by the application.
64
The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
65
of `struct option' terminated by an element containing a name which is
66
zero.
67
68
The field `has_arg' is:
69
no_argument (or 0) if the option does not take an argument,
70
required_argument (or 1) if the option requires an argument,
71
optional_argument (or 2) if the option takes an optional argument.
72
73
If the field `flag' is not NULL, it points to a variable that is set
74
to the value given in the field `val' when the option is found, but
75
left unchanged if the option is not found.
76
77
To have a long-named option do something other than set an `int' to
78
a compiled-in constant, such as set a value from `optarg', set the
79
option's `flag' field to zero and its `val' field to a nonzero
80
value (the equivalent single-letter option character, if there is
81
one). For long options that have a zero `flag' field, `getopt'
82
returns the contents of the `val' field. */
83
84
struct
option
85
{
86
#if __STDC__
87
const
char
*name;
88
#else
89
char
*name;
90
#endif
91
/* has_arg can't be an enum because some compilers complain about
92
type mismatches in all the code that assumes it is an int. */
93
int
has_arg;
94
int
*flag;
95
int
val;
96
};
84
struct
option
{
…
};
97
98
/* Names for the values of the `has_arg' field of `struct option'. */
99
100
#define no_argument 0
101
#define required_argument 1
102
#define optional_argument 2
103
104
#if __STDC__
105
#if defined(__GNU_LIBRARY__)
106
/* Many other libraries have conflicting prototypes for getopt, with
107
differences in the consts, in stdlib.h. To avoid compilation
108
errors, only prototype getopt for the GNU C library. */
109
extern
int
getopt (
int
argc,
char
*
const
*argv,
const
char
*shortopts);
110
#else
/* not __GNU_LIBRARY__ */
111
extern
int
getopt ();
112
#endif
/* not __GNU_LIBRARY__ */
113
extern
int
getopt_long (
int
argc,
char
*
const
*argv,
const
char
*shortopts,
114
const
struct
option
*longopts,
int
*longind);
115
extern
int
getopt_long_only (
int
argc,
char
*
const
*argv,
116
const
char
*shortopts,
117
const
struct
option
*longopts,
int
*longind);
118
119
/* Internal only. Users should not call this directly. */
120
extern
int
_getopt_internal (
int
argc,
char
*
const
*argv,
121
const
char
*shortopts,
122
const
struct
option
*longopts,
int
*longind,
123
int
long_only);
124
#else
/* not __STDC__ */
125
extern
int
getopt ();
126
extern
int
getopt_long ();
127
extern
int
getopt_long_only ();
128
129
extern
int
_getopt_internal ();
130
#endif
/* not __STDC__ */
131
132
#ifdef __cplusplus
133
}
134
#endif
135
136
#endif
/* _GETOPT_H */
option
Definition
finch/getopt.h:85
finch
getopt.h
Generated on Thu Jan 23 2025 04:06:29 for pidgin by
1.9.8