rpm 5.3.7
|
00001 #ifndef _H_ARGV_ 00002 #define _H_ARGV_ 00003 00008 typedef const char * ARGstr_t; 00009 typedef ARGstr_t * ARGV_t; 00010 00011 typedef unsigned int * ARGint_t; 00012 00013 struct ARGI_s { 00014 unsigned nvals; 00015 ARGint_t vals; 00016 }; 00017 typedef struct ARGI_s * ARGI_t; 00018 00019 #ifdef __cplusplus 00020 extern "C" { 00021 #endif 00022 00029 void argvPrint(/*@null@*/ const char * msg, /*@null@*/ ARGV_t argv, 00030 /*@null@*/ FILE * fp) 00031 /*@globals fileSystem @*/ 00032 /*@modifies *fp, fileSystem @*/; 00033 00039 /*@null@*/ 00040 ARGI_t argiFree(/*@only@*/ /*@null@*/ ARGI_t argi) 00041 /*@modifies argi @*/; 00042 00048 /*@null@*/ 00049 ARGV_t argvFree(/*@only@*/ /*@null@*/ ARGV_t argv) 00050 /*@modifies argv @*/; 00051 00057 int argiCount(/*@null@*/ const ARGI_t argi) 00058 /*@*/; 00059 00065 /*@null@*/ 00066 ARGint_t argiData(/*@null@*/ ARGI_t argi) 00067 /*@*/; 00068 00074 int argvCount(/*@null@*/ ARGV_t argv) 00075 /*@*/; 00076 00082 /*@null@*/ 00083 ARGV_t argvData(/*@null@*/ ARGV_t argv) 00084 /*@*/; 00085 00092 /*@-exportlocal@*/ 00093 int argiCmp(ARGint_t * a, ARGint_t * b) 00094 /*@*/; 00095 /*@=exportlocal@*/ 00096 00103 /*@-exportlocal@*/ 00104 int argvCmp(ARGstr_t * a, ARGstr_t * b) 00105 /*@*/; 00106 /*@=exportlocal@*/ 00107 00114 int argvStrcasecmp(ARGstr_t * a, ARGstr_t * b) 00115 /*@*/; 00116 00117 #if defined(RPM_VENDOR_OPENPKG) /* wildcard-matching-arbitrary-tagnames */ 00118 00124 int argvFnmatch(ARGstr_t * a, ARGstr_t * b) 00125 /*@*/; 00126 00133 int argvFnmatchCasefold(ARGstr_t * a, ARGstr_t * b) 00134 /*@*/; 00135 #endif 00136 00143 int argiSort(ARGI_t argi, int (*compar)(ARGint_t *, ARGint_t *)) 00144 /*@*/; 00145 00152 int argvSort(ARGV_t argv, int (*compar)(ARGstr_t *, ARGstr_t *)) 00153 /*@modifies *argv @*/; 00154 00162 /*@dependent@*/ /*@null@*/ 00163 ARGV_t argvSearch(ARGV_t argv, ARGstr_t val, 00164 int (*compar)(ARGstr_t *, ARGstr_t *)) 00165 /*@*/; 00166 00167 #if defined(RPM_VENDOR_OPENPKG) /* wildcard-matching-arbitrary-tagnames */ 00168 00175 /*@dependent@*/ /*@null@*/ 00176 ARGV_t argvSearchLinear(ARGV_t argv, ARGstr_t val, 00177 int (*compar)(ARGstr_t *, ARGstr_t *)) 00178 /*@*/; 00179 #endif 00180 00188 int argiAdd(/*@out@*/ ARGI_t * argip, int ix, int val) 00189 /*@modifies *argip @*/; 00190 00197 int argvAdd(/*@out@*/ ARGV_t * argvp, ARGstr_t val) 00198 /*@modifies *argvp @*/; 00199 00206 int argvAppend(/*@out@*/ ARGV_t * argvp, /*@null@*/ ARGV_t av) 00207 /*@modifies *argvp @*/; 00208 00216 int argvSplit(ARGV_t * argvp, const char * str, /*@null@*/ const char * seps) 00217 /*@modifies *argvp @*/; 00218 00225 /*@only@*/ 00226 char * argvJoin(ARGV_t argv, char sep) 00227 /*@*/; 00228 00235 int argvFgets(ARGV_t * argvp, void * fd) 00236 /*@globals fileSystem@*/ 00237 /*@modifies *argvp, fd, fileSystem @*/; 00238 00239 #ifdef __cplusplus 00240 } 00241 #endif 00242 00243 #endif /* _H_ARGV_ */