rpm  5.4.15
argv.h
Go to the documentation of this file.
1 #ifndef _H_ARGV_
2 #define _H_ARGV_
3 
4 #include <stdio.h> /* XXX FILE * typedef */
5 
9 #include <stdio.h>
10 
11 typedef const char * ARGstr_t;
12 typedef ARGstr_t * ARGV_t;
13 
14 typedef unsigned int * ARGint_t;
15 
16 struct ARGI_s {
17  unsigned nvals;
19 };
20 typedef struct ARGI_s * ARGI_t;
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
32 void argvPrint(/*@null@*/ const char * msg, /*@null@*/ ARGV_t argv,
33  /*@null@*/ FILE * fp)
34  /*@globals fileSystem @*/
35  /*@modifies *fp, fileSystem @*/;
36 
42 /*@null@*/
43 ARGI_t argiFree(/*@only@*/ /*@null@*/ ARGI_t argi)
44  /*@modifies argi @*/;
45 
51 /*@null@*/
52 ARGV_t argvFree(/*@only@*/ /*@null@*/ ARGV_t argv)
53  /*@modifies argv @*/;
54 
60 int argiCount(/*@null@*/ const ARGI_t argi)
61  /*@*/;
62 
68 /*@null@*/
69 ARGint_t argiData(/*@null@*/ ARGI_t argi)
70  /*@*/;
71 
77 int argvCount(/*@null@*/ ARGV_t argv)
78  /*@*/;
79 
85 /*@null@*/
86 ARGV_t argvData(/*@null@*/ ARGV_t argv)
87  /*@*/;
88 
95 /*@-exportlocal@*/
96 int argiCmp(ARGint_t * a, ARGint_t * b)
97  /*@*/;
98 /*@=exportlocal@*/
99 
106 /*@-exportlocal@*/
107 int argvCmp(ARGstr_t * a, ARGstr_t * b)
108  /*@*/;
109 /*@=exportlocal@*/
110 
117 int argvStrcasecmp(ARGstr_t * a, ARGstr_t * b)
118  /*@*/;
119 
120 #if defined(RPM_VENDOR_OPENPKG) /* wildcard-matching-arbitrary-tagnames */
121 
127 int argvFnmatch(ARGstr_t * a, ARGstr_t * b)
128  /*@*/;
129 
136 int argvFnmatchCasefold(ARGstr_t * a, ARGstr_t * b)
137  /*@*/;
138 #endif
139 
146 int argiSort(ARGI_t argi, int (*compar)(ARGint_t *, ARGint_t *))
147  /*@*/;
148 
155 int argvSort(ARGV_t argv, int (*compar)(ARGstr_t *, ARGstr_t *))
156  /*@modifies *argv @*/;
157 
165 /*@dependent@*/ /*@null@*/
166 ARGV_t argvSearch(ARGV_t argv, ARGstr_t val,
167  int (*compar)(ARGstr_t *, ARGstr_t *))
168  /*@*/;
169 
170 #if defined(RPM_VENDOR_OPENPKG) /* wildcard-matching-arbitrary-tagnames */
171 
178 /*@dependent@*/ /*@null@*/
179 ARGV_t argvSearchLinear(ARGV_t argv, ARGstr_t val,
180  int (*compar)(ARGstr_t *, ARGstr_t *))
181  /*@*/;
182 #endif
183 
191 int argiAdd(/*@out@*/ ARGI_t * argip, int ix, int val)
192  /*@modifies *argip @*/;
193 
200 int argvAdd(/*@out@*/ ARGV_t * argvp, ARGstr_t val)
201  /*@modifies *argvp @*/;
202 
209 int argvAppend(/*@out@*/ ARGV_t * argvp, /*@null@*/ ARGV_t av)
210  /*@modifies *argvp @*/;
211 
219 int argvSplit(ARGV_t * argvp, const char * str, /*@null@*/ const char * seps)
220  /*@modifies *argvp @*/;
221 
228 /*@only@*/
229 char * argvJoin(ARGV_t argv, char sep)
230  /*@*/;
231 
238 int argvFgets(ARGV_t * argvp, void * fd)
239  /*@globals fileSystem@*/
240  /*@modifies *argvp, fd, fileSystem @*/;
241 
242 #ifdef __cplusplus
243 }
244 #endif
245 
246 #endif /* _H_ARGV_ */
const bson * b
Definition: bson.h:280
int argiAdd(ARGI_t *argip, int ix, int val)
Add an int to an argi array.
Definition: argv.c:178
int argiCmp(ARGint_t *a, ARGint_t *b)
Compare argi elements (qsort/bsearch).
Definition: argv.c:87
ARGint_t vals
Definition: argv.h:18
char * argvJoin(ARGV_t argv, char sep)
Concatenate an argv array into a string.
Definition: argv.c:274
unsigned nvals
Definition: argv.h:17
int argvCmp(ARGstr_t *a, ARGstr_t *b)
Compare argv elements using strcmp (qsort/bsearch).
Definition: argv.c:95
struct ARGI_s * ARGI_t
Definition: argv.h:20
ARGV_t argvSearch(ARGV_t argv, ARGstr_t val, int(*compar)(ARGstr_t *, ARGstr_t *))
Find an element in an argv array.
Definition: argv.c:146
const char * ARGstr_t
Definition: argv.h:11
unsigned int * ARGint_t
Definition: argv.h:14
int argiCount(const ARGI_t argi)
Return no.
Definition: argv.c:55
const char * str
Definition: bson.h:593
int argvStrcasecmp(ARGstr_t *a, ARGstr_t *b)
Compare argv elements using strcasecmp (qsort/bsearch).
Definition: argv.c:102
int argvSplit(ARGV_t *argvp, const char *str, const char *seps)
Split a string into an argv array.
Definition: argv.c:233
int argvCount(ARGV_t argv)
Return no.
Definition: argv.c:71
int argvFgets(ARGV_t *argvp, void *fd)
Read lines into an argv array.
Definition: argv.c:299
int argvAdd(ARGV_t *argvp, ARGstr_t val)
Add a string to an argv array.
Definition: argv.c:199
ARGV_t argvData(ARGV_t argv)
Return data from argv array.
Definition: argv.c:80
ARGV_t argvFree(ARGV_t argv)
Destroy an argv array.
Definition: argv.c:44
int argvSort(ARGV_t argv, int(*compar)(ARGstr_t *, ARGstr_t *))
Sort an argv array.
Definition: argv.c:137
void argvPrint(const char *msg, ARGV_t argv, FILE *fp)
Print argv array elements.
Definition: argv.c:19
int argiSort(ARGI_t argi, int(*compar)(ARGint_t *, ARGint_t *))
Sort an argi array.
Definition: argv.c:125
int argvAppend(ARGV_t *argvp, ARGV_t av)
Append one argv array to another.
Definition: argv.c:216
ARGstr_t * ARGV_t
Definition: argv.h:12
Definition: argv.h:16
ARGI_t argiFree(ARGI_t argi)
Destroy an argi array.
Definition: argv.c:34
ARGint_t argiData(ARGI_t argi)
Return data from argi array.
Definition: argv.c:63