rpm 6.1.90
The RPM Package Manager
Loading...
Searching...
No Matches
argv.h
Go to the documentation of this file.
1#ifndef _H_ARGV_
2#define _H_ARGV_
3
9
10#include <stdio.h>
11#include <rpm/rpmtypes.h>
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17typedef char ** ARGV_t;
18typedef char * const *ARGV_const_t;
19
20typedef int * ARGint_t;
21struct ARGI_s {
22 unsigned nvals;
23 ARGint_t vals;
24};
25typedef struct ARGI_s * ARGI_t;
26typedef struct ARGI_s const * const ARGI_const_t;
27
34RPM_PUBLIC_API
35void argvPrint(const char * msg, ARGV_const_t argv, FILE * fp);
36
42RPM_PUBLIC_API
43ARGI_t argiFree(ARGI_t argi);
44
45
50RPM_PUBLIC_API
51ARGV_t argvNew(void);
52
58RPM_PUBLIC_API
59ARGV_t argvFree(ARGV_t argv);
60
66RPM_PUBLIC_API
67int argiCount(ARGI_const_t argi);
68
74RPM_PUBLIC_API
75ARGint_t argiData(ARGI_const_t argi);
76
82RPM_PUBLIC_API
83int argvCount(ARGV_const_t argv);
84
90RPM_PUBLIC_API
91ARGV_t argvData(ARGV_t argv);
92
99RPM_PUBLIC_API
100int argvCmp(const void * a, const void * b);
101
108RPM_PUBLIC_API
109int argvSort(ARGV_t argv, int (*compar)(const void *, const void *));
110
118RPM_PUBLIC_API
119ARGV_t argvSearch(ARGV_const_t argv, const char *val,
120 int (*compar)(const void *, const void *));
121
129RPM_PUBLIC_API
130int argiAdd(ARGI_t * argip, int ix, int val);
131
138RPM_PUBLIC_API
139int argvAdd(ARGV_t * argvp, const char *val);
140
148RPM_PUBLIC_API
149int argvAddN(ARGV_t * argvp, const char *val, size_t len);
150
157RPM_PUBLIC_API
158int argvAddNum(ARGV_t * argvp, int val);
159
166RPM_PUBLIC_API
167int argvAppend(ARGV_t * argvp, ARGV_const_t av);
168
169enum argvFlags_e {
170 ARGV_NONE = 0,
171 ARGV_SKIPEMPTY = (1 << 0), /* omit empty strings from result */
172};
173
174typedef rpmFlags argvFlags;
175
183RPM_PUBLIC_API
184ARGV_t argvSplitString(const char * str, const char * seps, argvFlags flags);
185
193RPM_PUBLIC_API
194int argvSplit(ARGV_t * argvp, const char * str, const char * seps);
195
202RPM_PUBLIC_API
203char *argvJoin(ARGV_const_t argv, const char *sep);
204
205#ifdef __cplusplus
206}
207#endif
208
209#endif /* _H_ARGV_ */
RPM_PUBLIC_API ARGV_t argvNew(void)
RPM_PUBLIC_API int argvAdd(ARGV_t *argvp, const char *val)
RPM_PUBLIC_API int argvCount(ARGV_const_t argv)
RPM_PUBLIC_API int argvAddNum(ARGV_t *argvp, int val)
RPM_PUBLIC_API ARGV_t argvFree(ARGV_t argv)
RPM_PUBLIC_API int argvCmp(const void *a, const void *b)
RPM_PUBLIC_API ARGint_t argiData(ARGI_const_t argi)
RPM_PUBLIC_API ARGI_t argiFree(ARGI_t argi)
RPM_PUBLIC_API int argvAppend(ARGV_t *argvp, ARGV_const_t av)
RPM_PUBLIC_API int argiAdd(ARGI_t *argip, int ix, int val)
RPM_PUBLIC_API int argiCount(ARGI_const_t argi)
RPM_PUBLIC_API int argvSplit(ARGV_t *argvp, const char *str, const char *seps)
RPM_PUBLIC_API void argvPrint(const char *msg, ARGV_const_t argv, FILE *fp)
RPM_PUBLIC_API ARGV_t argvSearch(ARGV_const_t argv, const char *val, int(*compar)(const void *, const void *))
RPM_PUBLIC_API int argvAddN(ARGV_t *argvp, const char *val, size_t len)
RPM_PUBLIC_API int argvSort(ARGV_t argv, int(*compar)(const void *, const void *))
RPM_PUBLIC_API ARGV_t argvData(ARGV_t argv)
RPM_PUBLIC_API char * argvJoin(ARGV_const_t argv, const char *sep)
RPM_PUBLIC_API ARGV_t argvSplitString(const char *str, const char *seps, argvFlags flags)
Definition argv.h:21