rpm 5.3.12
rpmio/rpmpython.h
Go to the documentation of this file.
00001 #ifndef RPMPYTHON_H
00002 #define RPMPYTHON_H
00003 
00008 #include <rpmiotypes.h>
00009 #include <rpmio.h>
00010 
00011 typedef /*@abstract@*/ /*@refcounted@*/ struct rpmpython_s * rpmpython;
00012 
00013 /*@unchecked@*/
00014 extern int _rpmpython_debug;
00015 
00016 /*@unchecked@*/ /*@relnull@*/
00017 extern rpmpython _rpmpythonI;
00018 
00019 #if defined(_RPMPYTHON_INTERNAL)
00020 struct rpmpython_s {
00021     struct rpmioItem_s _item;   
00022     void * I;                   /* (unused) */
00023 #if defined(__LCLINT__)
00024 /*@refs@*/
00025     int nrefs;                  
00026 #endif
00027 };
00028 #endif /* _RPMPYTHON_INTERNAL */
00029 
00030 #ifdef __cplusplus
00031 extern "C" {
00032 #endif
00033 
00039 /*@unused@*/ /*@null@*/
00040 rpmpython rpmpythonUnlink (/*@killref@*/ /*@only@*/ /*@null@*/ rpmpython python)
00041         /*@modifies python @*/;
00042 #define rpmpythonUnlink(_python)        \
00043     ((rpmpython)rpmioUnlinkPoolItem((rpmioItem)(_python), __FUNCTION__, __FILE__, __LINE__))
00044 
00050 /*@unused@*/ /*@newref@*/ /*@null@*/
00051 rpmpython rpmpythonLink (/*@null@*/ rpmpython python)
00052         /*@modifies python @*/;
00053 #define rpmpythonLink(_python)  \
00054     ((rpmpython)rpmioLinkPoolItem((rpmioItem)(_python), __FUNCTION__, __FILE__, __LINE__))
00055 
00061 /*@null@*/
00062 rpmpython rpmpythonFree(/*@killref@*/ /*@null@*/rpmpython python)
00063         /*@globals fileSystem @*/
00064         /*@modifies python, fileSystem @*/;
00065 #define rpmpythonFree(_python)  \
00066     ((rpmpython)rpmioFreePoolItem((rpmioItem)(_python), __FUNCTION__, __FILE__, __LINE__))
00067 
00074 /*@newref@*/ /*@null@*/
00075 rpmpython rpmpythonNew(/*@null@*/ char ** av, uint32_t flags)
00076         /*@globals fileSystem, internalState @*/
00077         /*@modifies fileSystem, internalState @*/;
00078 
00086 rpmRC rpmpythonRunFile(rpmpython python, /*@null@*/ const char * fn,
00087                 /*@null@*/ const char ** resultp)
00088         /*@globals fileSystem, internalState @*/
00089         /*@modifies python, fileSystem, internalState @*/;
00090 
00098 rpmRC rpmpythonRun(rpmpython python, /*@null@*/ const char * str,
00099                 /*@null@*/ const char ** resultp)
00100         /*@globals fileSystem, internalState @*/
00101         /*@modifies python, *resultp, fileSystem, internalState @*/;
00102 
00103 #ifdef __cplusplus
00104 }
00105 #endif
00106 
00107 #endif /* RPMPYTHON_H */