rpm 5.3.12
|
00001 #ifndef RPMPERL_H 00002 #define RPMPERL_H 00003 00008 #include <rpmiotypes.h> 00009 #include <rpmio.h> 00010 00011 typedef /*@abstract@*/ /*@refcounted@*/ struct rpmperl_s * rpmperl; 00012 00013 /*@unchecked@*/ 00014 extern int _rpmperl_debug; 00015 00016 /*@unchecked@*/ /*@relnull@*/ 00017 extern rpmperl _rpmperlI; 00018 00019 #if defined(_RPMPERL_INTERNAL) 00020 struct rpmperl_s { 00021 struct rpmioItem_s _item; 00022 void * I; 00023 #if defined(__LCLINT__) 00024 /*@refs@*/ 00025 int nrefs; 00026 #endif 00027 }; 00028 #endif /* _RPMPERL_INTERNAL */ 00029 00030 #ifdef __cplusplus 00031 extern "C" { 00032 #endif 00033 00039 /*@unused@*/ /*@null@*/ 00040 rpmperl rpmperlUnlink (/*@killref@*/ /*@only@*/ /*@null@*/ rpmperl perl) 00041 /*@modifies perl @*/; 00042 #define rpmperlUnlink(_perl) \ 00043 ((rpmperl)rpmioUnlinkPoolItem((rpmioItem)(_perl), __FUNCTION__, __FILE__, __LINE__)) 00044 00050 /*@unused@*/ /*@newref@*/ /*@null@*/ 00051 rpmperl rpmperlLink (/*@null@*/ rpmperl perl) 00052 /*@modifies perl @*/; 00053 #define rpmperlLink(_perl) \ 00054 ((rpmperl)rpmioLinkPoolItem((rpmioItem)(_perl), __FUNCTION__, __FILE__, __LINE__)) 00055 00061 /*@null@*/ 00062 rpmperl rpmperlFree(/*@killref@*/ /*@null@*/rpmperl perl) 00063 /*@globals fileSystem @*/ 00064 /*@modifies perl, fileSystem @*/; 00065 #define rpmperlFree(_perl) \ 00066 ((rpmperl)rpmioFreePoolItem((rpmioItem)(_perl), __FUNCTION__, __FILE__, __LINE__)) 00067 00074 /*@newref@*/ /*@null@*/ 00075 rpmperl rpmperlNew(/*@null@*/ char ** av, uint32_t flags) 00076 /*@globals fileSystem, internalState @*/ 00077 /*@modifies fileSystem, internalState @*/; 00078 00086 rpmRC rpmperlRun(rpmperl perl, /*@null@*/ const char * str, 00087 /*@null@*/ const char ** resultp) 00088 /*@globals fileSystem, internalState @*/ 00089 /*@modifies perl, *resultp, fileSystem, internalState @*/; 00090 00091 #ifdef __cplusplus 00092 } 00093 #endif 00094 00095 #endif /* RPMPERL_H */