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( const char * msg, ARGV_t argv,
00029 FILE * fp)
00030
00031 ;
00032
00038
00039 ARGI_t argiFree( ARGI_t argi)
00040 ;
00041
00047
00048 ARGV_t argvFree( ARGV_t argv)
00049 ;
00050
00056 int argiCount( const ARGI_t argi)
00057 ;
00058
00064
00065 ARGint_t argiData( ARGI_t argi)
00066 ;
00067
00073 int argvCount( const ARGV_t argv)
00074 ;
00075
00081
00082 ARGV_t argvData( ARGV_t argv)
00083 ;
00084
00091
00092 int argvCmp(const void * a, const void * b)
00093 ;
00094
00095
00102 int argvStrcasecmp(const void * a, const void * b)
00103 ;
00104
00105 #if defined(RPM_VENDOR_OPENPKG)
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 ;
00133
00141
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)
00147
00154
00155 ARGV_t argvSearchLinear(ARGV_t argv, ARGstr_t val,
00156 int (*compar)(const void *, const void *))
00157 ;
00158 #endif
00159
00167 int argiAdd( ARGI_t * argip, int ix, int val)
00168 ;
00169
00176 int argvAdd( ARGV_t * argvp, ARGstr_t val)
00177 ;
00178
00185 int argvAppend( ARGV_t * argvp, const ARGV_t av)
00186 ;
00187
00195 int argvSplit(ARGV_t * argvp, const char * str, const char * seps)
00196 ;
00197
00203
00204 char * argvJoin(ARGV_t argv)
00205 ;
00206
00213 int argvFgets(ARGV_t * argvp, void * fd)
00214
00215 ;
00216
00217 #ifdef __cplusplus
00218 }
00219 #endif
00220
00221 #endif