Main Page | Modules | Data Structures | File List | Data Fields | Globals | Related Pages

rpmio/argv.h

Go to the documentation of this file.
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_ */

Generated on Tue Dec 27 22:19:43 2016 for rpm by  doxygen 1.4.4