00001 #ifndef _H_ARGV_
00002 #define _H_ARGV_
00003
00008 typedef const char * ARGstr_t;
00009 typedef ARGstr_t * ARGV_t;
00010
00011 typedef int * 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, FILE * fp)
00029
00030 ;
00031
00037
00038 ARGI_t argiFree( ARGI_t argi)
00039 ;
00040
00046
00047 ARGV_t argvFree( ARGV_t argv)
00048 ;
00049
00055 int argiCount( const ARGI_t argi)
00056 ;
00057
00063
00064 const ARGint_t argiData( const ARGI_t argi)
00065 ;
00066
00072 int argvCount( const ARGV_t argv)
00073 ;
00074
00080
00081 const ARGV_t argvData( const ARGV_t argv)
00082 ;
00083
00090
00091 int argvCmp(const void * a, const void * b)
00092 ;
00093
00094
00101 int argvSort(ARGV_t argv, int (*compar)(const void *, const void *))
00102 ;
00103
00111
00112 ARGV_t argvSearch(ARGV_t argv, ARGstr_t val,
00113 int (*compar)(const void *, const void *))
00114 ;
00115
00123 int argiAdd( ARGI_t * argip, int ix, int val)
00124 ;
00125
00132 int argvAdd( ARGV_t * argvp, ARGstr_t val)
00133 ;
00134
00141 int argvAppend( ARGV_t * argvp, const ARGV_t av)
00142 ;
00143
00151 int argvSplit(ARGV_t * argvp, const char * str, const char * seps)
00152 ;
00153
00154 #ifdef __cplusplus
00155 }
00156 #endif
00157
00158 #endif