Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
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
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
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
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
z
Classes
Class List
Class Hierarchy
Class Members
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
y
z
~
Functions
[
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
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
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
Enumerations
a
b
c
d
e
f
h
i
k
l
m
n
o
p
r
s
t
u
v
w
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Properties
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
Related Functions
:
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
z
Files
File List
File Members
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
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
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
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
grpc
third_party
bloaty
third_party
capstone
cstool
getopt.h
Go to the documentation of this file.
1
#include <
string.h
>
2
#include <stdio.h>
3
4
// global
5
int
opterr
= 1,
/* if error message should be printed */
6
optind
= 1,
/* index into parent argv vector */
7
optopt
,
/* character checked for validity */
8
optreset
;
/* reset getopt */
9
const
char
*
optarg
;
/* argument associated with option */
10
11
#define BADCH (int)'?'
12
#define BADARG (int)':'
13
#define EMSG ""
14
15
/*
16
* getopt --
17
* Parse argc/argv argument vector.
18
*/
19
int
20
getopt
(
int
nargc,
char
*
const
nargv[],
const
char
*ostr)
21
{
22
static
const
char
*place =
EMSG
;
/* option letter processing */
23
const
char
*oli;
/* option letter list index */
24
25
if
(
optreset
|| !*place) {
/* update scanning pointer */
26
optreset
= 0;
27
if
(
optind
>= nargc || *(place = nargv[
optind
]) !=
'-'
) {
28
place =
EMSG
;
29
return
(-1);
30
}
31
if
(place[1] && *++place ==
'-'
) {
/* found "--" */
32
++
optind
;
33
place =
EMSG
;
34
return
(-1);
35
}
36
}
/* option letter okay? */
37
if
((
optopt
= (
int
)*place++) == (
int
)
':'
||
38
!(oli = strchr (ostr,
optopt
))) {
39
/*
40
* if the user didn't specify '-' as an option,
41
* assume it means -1.
42
*/
43
if
(
optopt
== (
int
)
'-'
)
44
return
(-1);
45
if
(!*place)
46
++
optind
;
47
if
(
opterr
&& *ostr !=
':'
)
48
(void)
printf
(
"illegal option -- %c\n"
,
optopt
);
49
return
(
BADCH
);
50
}
51
if
(*++oli !=
':'
) {
/* don't need argument */
52
optarg
= NULL;
53
if
(!*place)
54
++
optind
;
55
}
56
else
{
/* need an argument */
57
if
(*place)
/* no white space */
58
optarg
= place;
59
else
if
(nargc <= ++
optind
) {
/* no arg */
60
place =
EMSG
;
61
if
(*ostr ==
':'
)
62
return
(
BADARG
);
63
if
(
opterr
)
64
(void)
printf
(
"option requires an argument -- %c\n"
,
optopt
);
65
return
(
BADCH
);
66
}
67
else
/* white space */
68
optarg
= nargv[
optind
];
69
place =
EMSG
;
70
++
optind
;
71
}
72
return
optopt
;
/* dump back option letter */
73
}
optarg
const char * optarg
Definition:
getopt.h:9
string.h
optreset
int optreset
Definition:
getopt.h:8
printf
_Use_decl_annotations_ int __cdecl printf(const char *_Format,...)
Definition:
cs_driver.c:91
BADCH
#define BADCH
Definition:
getopt.h:11
getopt
int getopt(int nargc, char *const nargv[], const char *ostr)
Definition:
getopt.h:20
optind
int optind
Definition:
getopt.h:6
BADARG
#define BADARG
Definition:
getopt.h:12
optopt
int optopt
Definition:
getopt.h:7
opterr
int opterr
Definition:
getopt.h:5
EMSG
#define EMSG
Definition:
getopt.h:13
grpc
Author(s):
autogenerated on Thu Mar 13 2025 02:59:26