1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
/**
* @ingroup file68_lib
* @file sc68/option68.h
* @author Benjamin Gerard
* @date 2009-02-04
* @brief Command line option manipulation header.
*
*/
/* Copyright (C) 1998-2011 Benjamin Gerard */
/**
* @defgroup file68_option Options manipulation
* @ingroup file68_lib
*
* Provides command line options manipulation functions.
*
* @{
*/
/**
* option argument types.
*/
;
/**
* Options help display function.
*
* -# user data
* -# option
* -# envvar
* -# short description
*/
typedef void ;
typedef struct option68_s option68_t;
/** Command line option description and parsing info. */
;
/**
* Print defined options.
*
* @param cookie User data used as 1st argument for fct
* @param fct Fonction call for each possible option
*/
void ;
/**
* Append option definitions.
*
* @param options Array of options
* @param n Array size
*
* @notice Options are not internally copied.
*/
int ;
/**
* Parse command line options.
*
* @param argc argument count
* @param argv arguments
* @param reset reset all options before parsing
* @retval remaining argc
*/
int ;
/**
* Get option type.
*
* @param opt option
* @return one of option68_e value
* @retval option68_ERR on error
*/
int ;
/**
* Get option by name.
*
* @param key argument count
* @param setonly only if option has been set
* @return option
* @retval 0 not found
*/
option68_t * ;
/**
* Test if option has been set.
*
* @param opt option to test
* @retval 1 option has been set
* @retval 0 option has not been set
*/
int ;
/**
* Set option.
*
* @param option option to set
* @retval 0 on success
* @retval -1 on failure
*/
int ;
/**
* Set option (integer and boolean only).
*
* @param opt option to set
* @retval 0 on success
* @retval -1 on failure
*/
int ;
/**
* Unset option.
*
* @param opt option to unset
* @retval 0 on success
* @retval -1 on failure
*/
int ;
/**
* Get associate environment variable value.
*
* @param opt option
* @param set enable option set at the same time
* @retval 0 on error (or envvar does not exist)
*/
const char * ;
/**
* @}
*/
/* #ifndef _FILE68_OPTION68_H_ */