rpm 5.3.12
|
00001 #ifndef RPMTCL_H 00002 #define RPMTCL_H 00003 00008 #include <rpmiotypes.h> 00009 #include <rpmio.h> 00010 00011 typedef /*@abstract@*/ /*@refcounted@*/ struct rpmtcl_s * rpmtcl; 00012 00013 /*@unchecked@*/ 00014 extern int _rpmtcl_debug; 00015 00016 /*@unchecked@*/ /*@relnull@*/ 00017 extern rpmtcl _rpmtclI; 00018 00019 #if defined(_RPMTCL_INTERNAL) 00020 struct rpmtcl_s { 00021 struct rpmioItem_s _item; 00022 void * I; /* Tcl_Interp */ 00023 void * tclout; /* Tcl_Channel */ 00024 rpmiob iob; 00025 #if defined(__LCLINT__) 00026 /*@refs@*/ 00027 int nrefs; 00028 #endif 00029 }; 00030 #endif /* _RPMTCL_INTERNAL */ 00031 00032 #ifdef __cplusplus 00033 extern "C" { 00034 #endif 00035 00041 /*@unused@*/ /*@null@*/ 00042 rpmtcl rpmtclUnlink (/*@killref@*/ /*@only@*/ /*@null@*/ rpmtcl tcl) 00043 /*@modifies tcl @*/; 00044 #define rpmtclUnlink(_tcl) \ 00045 ((rpmtcl)rpmioUnlinkPoolItem((rpmioItem)(_tcl), __FUNCTION__, __FILE__, __LINE__)) 00046 00052 /*@unused@*/ /*@newref@*/ /*@null@*/ 00053 rpmtcl rpmtclLink (/*@null@*/ rpmtcl tcl) 00054 /*@modifies tcl @*/; 00055 #define rpmtclLink(_tcl) \ 00056 ((rpmtcl)rpmioLinkPoolItem((rpmioItem)(_tcl), __FUNCTION__, __FILE__, __LINE__)) 00057 00063 /*@null@*/ 00064 rpmtcl rpmtclFree(/*@killref@*/ /*@null@*/rpmtcl tcl) 00065 /*@globals fileSystem @*/ 00066 /*@modifies tcl, fileSystem @*/; 00067 #define rpmtclFree(_tcl) \ 00068 ((rpmtcl)rpmioFreePoolItem((rpmioItem)(_tcl), __FUNCTION__, __FILE__, __LINE__)) 00069 00076 /*@newref@*/ /*@null@*/ 00077 rpmtcl rpmtclNew(/*@null@*/ char ** av, uint32_t flags) 00078 /*@globals fileSystem, internalState @*/ 00079 /*@modifies fileSystem, internalState @*/; 00080 00088 rpmRC rpmtclRunFile(rpmtcl tcl, /*@null@*/ const char * fn, 00089 /*@null@*/ const char ** resultp) 00090 /*@globals fileSystem, internalState @*/ 00091 /*@modifies tcl, fileSystem, internalState @*/; 00092 00100 rpmRC rpmtclRun(rpmtcl tcl, /*@null@*/ const char * str, 00101 /*@null@*/ const char ** resultp) 00102 /*@globals fileSystem, internalState @*/ 00103 /*@modifies tcl, *resultp, fileSystem, internalState @*/; 00104 00105 #ifdef __cplusplus 00106 } 00107 #endif 00108 00109 #endif /* RPMTCL_H */