rpm
4.5
|
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(/*@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 argvSort(ARGV_t argv, int (*compar)(const void *, const void *)) 00103 /*@modifies *argv @*/; 00104 00112 /*@dependent@*/ /*@null@*/ 00113 ARGV_t argvSearch(ARGV_t argv, ARGstr_t val, 00114 int (*compar)(const void *, const void *)) 00115 /*@*/; 00116 00124 int argiAdd(/*@out@*/ ARGI_t * argip, int ix, int val) 00125 /*@modifies *argip @*/; 00126 00133 int argvAdd(/*@out@*/ ARGV_t * argvp, ARGstr_t val) 00134 /*@modifies *argvp @*/; 00135 00142 int argvAppend(/*@out@*/ ARGV_t * argvp, /*@null@*/ const ARGV_t av) 00143 /*@modifies *argvp @*/; 00144 00152 int argvSplit(ARGV_t * argvp, const char * str, /*@null@*/ const char * seps) 00153 /*@modifies *argvp @*/; 00154 00160 /*@only@*/ 00161 char * argvJoin(ARGV_t argv) 00162 /*@*/; 00163 00170 int argvFgets(ARGV_t * argvp, void * fd) 00171 /*@modifies *argvp, fd @*/; 00172 00173 #ifdef __cplusplus 00174 } 00175 #endif 00176 00177 #endif /* _H_ARGV_ */