rpm 5.3.12
rpmio/rpmperl.h
Go to the documentation of this file.
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 */