- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

# rpmio/argv.h

Go to the documentation of this file.

    00001 #ifndef _H_ARGV_
    00002 #define _H_ARGV_
    00003
    00008 typedef const char * ARGstr_t;
    00009 typedef ARGstr_t * ARGV_t;
    00010
    00011 typedef uint32_t * ARGint_t;
    00012 struct ARGI_s {
    00013     unsigned nvals;
    00014     ARGint_t vals;
    00015 };
    00016 typedef struct ARGI_s * ARGI_t;
    00017
    00018 #ifdef __cplusplus
    00019 extern "C" {
    00020 #endif
    00021
    00028 void argvPrint(/*@null@*/ const char * msg, /*@null@*/ ARGV_t argv,
    00029                 /*@null@*/ FILE * fp)
    00030         /*@globals fileSystem @*/
    00031         /*@modifies *fp, fileSystem @*/;
    00032
    00038 /*@null@*/
    00039 ARGI_t argiFree(/*@only@*/ /*@null@*/ ARGI_t argi)
    00040         /*@modifies argi @*/;
    00041
    00047 /*@null@*/
    00048 ARGV_t argvFree(/*@only@*/ /*@null@*/ ARGV_t argv)
    00049         /*@modifies argv @*/;
    00050
    00056 int argiCount(/*@null@*/ const ARGI_t argi)
    00057         /*@*/;
    00058
    00064 /*@null@*/
    00065 ARGint_t argiData(/*@null@*/ ARGI_t argi)
    00066         /*@*/;
    00067
    00073 int argvCount(/*@null@*/ const ARGV_t argv)
    00074         /*@*/;
    00075
    00081 /*@null@*/
    00082 ARGV_t argvData(/*@null@*/ ARGV_t argv)
    00083         /*@*/;
    00084
    00091 /*@-exportlocal@*/
    00092 int argvCmp(const void * a, const void * b)
    00093         /*@*/;
    00094 /*@=exportlocal@*/
    00095
    00102 int argvStrcasecmp(const void * a, const void * b)
    00103         /*@*/;
    00104
    00105 #if defined(RPM_VENDOR_OPENPKG) /* wildcard-matching-arbitrary-tagnames */
    00106
    00112 int argvFnmatch(const void * a, const void * b)
    00113         /*@*/;
    00114
    00121 int argvFnmatchCasefold(const void * a, const void * b)
    00122         /*@*/;
    00123 #endif
    00124
    00131 int argvSort(ARGV_t argv, int (*compar)(const void *, const void *))
    00132         /*@modifies *argv @*/;
    00133
    00141 /*@dependent@*/ /*@null@*/
    00142 ARGV_t argvSearch(ARGV_t argv, ARGstr_t val,
    00143                 int (*compar)(const void *, const void *))
    00144         /*@*/;
    00145
    00146 #if defined(RPM_VENDOR_OPENPKG) /* wildcard-matching-arbitrary-tagnames */
    00147
    00154 /*@dependent@*/ /*@null@*/
    00155 ARGV_t argvSearchLinear(ARGV_t argv, ARGstr_t val,
    00156                 int (*compar)(const void *, const void *))
    00157         /*@*/;
    00158 #endif
    00159
    00167 int argiAdd(/*@out@*/ ARGI_t * argip, int ix, int val)
    00168         /*@modifies *argip @*/;
    00169
    00176 int argvAdd(/*@out@*/ ARGV_t * argvp, ARGstr_t val)
    00177         /*@modifies *argvp @*/;
    00178
    00185 int argvAppend(/*@out@*/ ARGV_t * argvp, const ARGV_t av)
    00186         /*@modifies *argvp @*/;
    00187
    00195 int argvSplit(ARGV_t * argvp, const char * str, /*@null@*/ const char * seps)
    00196         /*@modifies *argvp @*/;
    00197
    00203 /*@only@*/
    00204 char * argvJoin(ARGV_t argv)
    00205         /*@*/;
    00206
    00213 int argvFgets(ARGV_t * argvp, void * fd)
    00214         /*@globals fileSystem@*/
    00215         /*@modifies *argvp, fd, fileSystem @*/;
    00216
    00217 #ifdef __cplusplus
    00218 }
    00219 #endif
    00220
    00221 #endif /* _H_ARGV_ */