rpm 4.18.2
argv.h
Go to the documentation of this file.
1#ifndef _H_ARGV_
2#define _H_ARGV_
3
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;
24};
25typedef struct ARGI_s * ARGI_t;
26typedef struct ARGI_s const * const ARGI_const_t;
27
34void argvPrint(const char * msg, ARGV_const_t argv, FILE * fp);
35
42
43
49
56
63
70
77
84
91int argvCmp(const void * a, const void * b);
92
99int argvSort(ARGV_t argv, int (*compar)(const void *, const void *));
100
108ARGV_t argvSearch(ARGV_const_t argv, const char *val,
109 int (*compar)(const void *, const void *));
110
118int argiAdd(ARGI_t * argip, int ix, int val);
119
126int argvAdd(ARGV_t * argvp, const char *val);
127
135int argvAddN(ARGV_t * argvp, const char *val, size_t len);
136
143int argvAddNum(ARGV_t * argvp, int val);
144
152
155 ARGV_SKIPEMPTY = (1 << 0), /* omit empty strings from result */
156};
157
159
167ARGV_t argvSplitString(const char * str, const char * seps, argvFlags flags);
168
176int argvSplit(ARGV_t * argvp, const char * str, const char * seps);
177
184char *argvJoin(ARGV_const_t argv, const char *sep);
185
186#ifdef __cplusplus
187}
188#endif
189
190#endif /* _H_ARGV_ */
struct ARGI_s const *const ARGI_const_t
Definition argv.h:26
argvFlags_e
Definition argv.h:153
@ ARGV_SKIPEMPTY
Definition argv.h:155
@ ARGV_NONE
Definition argv.h:154
int * ARGint_t
Definition argv.h:20
rpmFlags argvFlags
Definition argv.h:158
char ** ARGV_t
Definition argv.h:17
struct ARGI_s * ARGI_t
Definition argv.h:25
char *const * ARGV_const_t
Definition argv.h:18
int argvCount(ARGV_const_t argv)
Return no.
int argvAddN(ARGV_t *argvp, const char *val, size_t len)
Add a string to an argv array, does not need to be nil-terminated.
int argvSort(ARGV_t argv, int(*compar)(const void *, const void *))
Sort an argv array.
int argvSplit(ARGV_t *argvp, const char *str, const char *seps)
Split a string into an argv array.
int argvAddNum(ARGV_t *argvp, int val)
Add a number to an argv array (converting to a string).
ARGV_t argvSearch(ARGV_const_t argv, const char *val, int(*compar)(const void *, const void *))
Find an element in an argv array.
int argvCmp(const void *a, const void *b)
Compare argv arrays (qsort/bsearch).
ARGV_t argvSplitString(const char *str, const char *seps, argvFlags flags)
Split a string into an argv array.
int argvAppend(ARGV_t *argvp, ARGV_const_t av)
Append one argv array to another.
char * argvJoin(ARGV_const_t argv, const char *sep)
Join an argv array into a string.
ARGint_t argiData(ARGI_const_t argi)
Return data from argi array.
int argiCount(ARGI_const_t argi)
Return no.
ARGV_t argvNew(void)
Create an empty argv array.
ARGV_t argvData(ARGV_t argv)
Return data from argv array.
int argiAdd(ARGI_t *argip, int ix, int val)
Add an int to an argi array.
ARGI_t argiFree(ARGI_t argi)
Destroy an argi array.
int argvAdd(ARGV_t *argvp, const char *val)
Add a string to an argv array.
ARGV_t argvFree(ARGV_t argv)
Destroy an argv array.
void argvPrint(const char *msg, ARGV_const_t argv, FILE *fp)
Print argv array elements.
uint32_t rpmFlags
Definition rpmtypes.h:42
Typedefs for RPM abstract data types.
Definition argv.h:21
ARGint_t vals
Definition argv.h:23
unsigned nvals
Definition argv.h:22