argv.h
Go to the documentation of this file.
#ifndef _H_ARGV_
#define _H_ARGV_
#include <stdio.h>
#include <rpm/rpmtypes.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef char ** ARGV_t;
typedef char * const *ARGV_const_t;
typedef int * ARGint_t;
struct ARGI_s {
unsigned nvals;
ARGint_t vals;
};
typedef struct ARGI_s * ARGI_t;
typedef struct ARGI_s const * const ARGI_const_t;
void argvPrint(const char * msg, ARGV_const_t argv, FILE * fp);
ARGI_t argiFree(ARGI_t argi);
ARGV_t argvNew(void);
ARGV_t argvFree(ARGV_t argv);
int argiCount(ARGI_const_t argi);
ARGint_t argiData(ARGI_const_t argi);
int argvCount(ARGV_const_t argv);
ARGV_t argvData(ARGV_t argv);
int argvCmp(const void * a, const void * b);
int argvSort(ARGV_t argv, int (*compar)(const void *, const void *));
ARGV_t argvSearch(ARGV_const_t argv, const char *val,
int (*compar)(const void *, const void *));
int argiAdd(ARGI_t * argip, int ix, int val);
int argvAdd(ARGV_t * argvp, const char *val);
int argvAddNum(ARGV_t * argvp, int val);
int argvAppend(ARGV_t * argvp, ARGV_const_t av);
enum argvFlags_e {
ARGV_NONE = 0,
ARGV_SKIPEMPTY = (1 << 0), /* omit empty strings from result */
};
typedef rpmFlags argvFlags;
ARGV_t argvSplitString(const char * str, const char * seps, argvFlags flags);
int argvSplit(ARGV_t * argvp, const char * str, const char * seps);
char *argvJoin(ARGV_const_t argv, const char *sep);
#ifdef __cplusplus
}
#endif
#endif /* _H_ARGV_ */