• 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_ */

Generated on Mon Nov 29 2010 05:18:47 for rpm by  doxygen 1.7.2