diff options
author | jbj <devnull@localhost> | 2002-12-24 17:06:35 +0000 |
---|---|---|
committer | jbj <devnull@localhost> | 2002-12-24 17:06:35 +0000 |
commit | 268376a208ce942e92088315d383a4e09974cbc2 (patch) | |
tree | 71bfbb1f02b66623727186a65efbec11979c2a04 /rpmio/argv.h | |
parent | fec28fa0043b8071e0fa2cadd465eeb0c1cdbb81 (diff) | |
download | rpm-268376a208ce942e92088315d383a4e09974cbc2.tar.gz rpm-268376a208ce942e92088315d383a4e09974cbc2.tar.bz2 rpm-268376a208ce942e92088315d383a4e09974cbc2.zip |
Rescusitate doxygen file manifest.
CVS patchset: 5968
CVS date: 2002/12/24 17:06:35
Diffstat (limited to 'rpmio/argv.h')
-rw-r--r-- | rpmio/argv.h | 158 |
1 files changed, 158 insertions, 0 deletions
diff --git a/rpmio/argv.h b/rpmio/argv.h new file mode 100644 index 000000000..202aa4645 --- /dev/null +++ b/rpmio/argv.h @@ -0,0 +1,158 @@ +#ifndef _H_ARGV_ +#define _H_ARGV_ + +/** \ingroup rpmio + * \file rpmio/argv.h + */ + +typedef const char * ARGstr_t; +typedef ARGstr_t * ARGV_t; + +typedef int * ARGint_t; +struct ARGI_s { + unsigned nvals; + ARGint_t vals; +}; +typedef struct ARGI_s * ARGI_t; + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Print argv array elements. + * @param msg output message prefix (or NULL) + * @param argv argv array + * @param fp output file handle (NULL uses stderr) + */ +void argvPrint(const char * msg, ARGV_t argv, FILE * fp) + /*@globals fileSystem @*/ + /*@modifies *fp, fileSystem @*/; + +/** + * Destroy an argi array. + * @param argi argi array + * @return NULL always + */ +/*@null@*/ +ARGI_t argiFree(/*@only@*/ /*@null@*/ ARGI_t argi) + /*@modifies argi @*/; + +/** + * Destroy an argv array. + * @param argv argv array + * @return NULL always + */ +/*@null@*/ +ARGV_t argvFree(/*@only@*/ /*@null@*/ ARGV_t argv) + /*@modifies argv @*/; + +/** + * Return no. of elements in argi array. + * @param argi argi array + * @return no. of elements + */ +int argiCount(/*@null@*/ const ARGI_t argi) + /*@*/; + +/** + * Return data from argi array. + * @param argi argi array + * @return argi array data address + */ +/*@null@*/ +const ARGint_t argiData(/*@null@*/ const ARGI_t argi) + /*@*/; + +/** + * Return no. of elements in argv array. + * @param argv argv array + * @return no. of elements + */ +int argvCount(/*@null@*/ const ARGV_t argv) + /*@*/; + +/** + * Return data from argv array. + * @param argv argv array + * @return argv array data address + */ +/*@null@*/ +const ARGV_t argvData(/*@null@*/ const ARGV_t argv) + /*@*/; + +/** + * Compare argv arrays (qsort/bsearch). + * @param a 1st instance address + * @param b 2nd instance address + * @return result of comparison + */ +/*@-exportlocal@*/ +int argvCmp(const void * a, const void * b) + /*@*/; +/*@=exportlocal@*/ + +/** + * Sort an argv array. + * @param argv argv array + * @param compar strcmp-like comparison function, or NULL for argvCmp() + * @return 0 always + */ +int argvSort(ARGV_t argv, int (*compar)(const void *, const void *)) + /*@modifies *argv @*/; + +/** + * Find an element in an argv array. + * @param argv argv array + * @param val string to find + * @param compar strcmp-like comparison function, or NULL for argvCmp() + * @return found string (NULL on failure) + */ +/*@dependent@*/ /*@null@*/ +ARGV_t argvSearch(ARGV_t argv, ARGstr_t val, + int (*compar)(const void *, const void *)) + /*@*/; + +/** + * Add an int to an argi array. + * @retval *argip argi array + * @param ix argi array index (or -1 to append) + * @param val int arg to add + * @return 0 always + */ +int argiAdd(/*@out@*/ ARGI_t * argip, int ix, int val) + /*@modifies *argip @*/; + +/** + * Add a string to an argv array. + * @retval *argvp argv array + * @param val string arg to append + * @return 0 always + */ +int argvAdd(/*@out@*/ ARGV_t * argvp, ARGstr_t val) + /*@modifies *argvp @*/; + +/** + * Append one argv array to another. + * @retval *argvp argv array + * @param av argv array to append + * @return 0 always + */ +int argvAppend(/*@out@*/ ARGV_t * argvp, const ARGV_t av) + /*@modifies *argvp @*/; + +/** + * Split a string into an argv array. + * @retval *argvp argv array + * @param str string arg to split + * @param seps seperator characters + * @return 0 always + */ +int argvSplit(ARGV_t * argvp, const char * str, const char * seps) + /*@modifies *argvp @*/; + +#ifdef __cplusplus +} +#endif + +#endif /* _H_ARGV_ */ |