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