rpm 5.3.7
|
00001 #ifndef RPMSQUIRREL_H 00002 #define RPMSQUIRREL_H 00003 00008 #include <rpmiotypes.h> 00009 #include <rpmio.h> 00010 00011 typedef /*@refcounted@*/ struct rpmsquirrel_s * rpmsquirrel; 00012 00013 /*@unchecked@*/ 00014 extern int _rpmsquirrel_debug; 00015 00016 /*@unchecked@*/ /*@relnull@*/ 00017 extern rpmsquirrel _rpmsquirrelI; 00018 00019 #if defined(_RPMSQUIRREL_INTERNAL) 00020 struct rpmsquirrel_s { 00021 struct rpmioItem_s _item; 00022 void * I; /* HSQUIRRELVM */ 00023 rpmiob iob; 00024 #if defined(__LCLINT__) 00025 /*@refs@*/ 00026 int nrefs; 00027 #endif 00028 }; 00029 #endif /* _RPMSQUIRREL_INTERNAL */ 00030 00031 #ifdef __cplusplus 00032 extern "C" { 00033 #endif 00034 00040 /*@unused@*/ /*@null@*/ 00041 rpmsquirrel rpmsquirrelUnlink (/*@killref@*/ /*@only@*/ /*@null@*/ rpmsquirrel squirrel) 00042 /*@modifies squirrel @*/; 00043 #define rpmsquirrelUnlink(_squirrel) \ 00044 ((rpmsquirrel)rpmioUnlinkPoolItem((rpmioItem)(_squirrel), __FUNCTION__, __FILE__, __LINE__)) 00045 00051 /*@unused@*/ /*@newref@*/ /*@null@*/ 00052 rpmsquirrel rpmsquirrelLink (/*@null@*/ rpmsquirrel squirrel) 00053 /*@modifies squirrel @*/; 00054 #define rpmsquirrelLink(_squirrel) \ 00055 ((rpmsquirrel)rpmioLinkPoolItem((rpmioItem)(_squirrel), __FUNCTION__, __FILE__, __LINE__)) 00056 00062 /*@null@*/ 00063 rpmsquirrel rpmsquirrelFree(/*@killref@*/ /*@null@*/rpmsquirrel squirrel) 00064 /*@globals fileSystem @*/ 00065 /*@modifies squirrel, fileSystem @*/; 00066 #define rpmsquirrelFree(_squirrel) \ 00067 ((rpmsquirrel)rpmioFreePoolItem((rpmioItem)(_squirrel), __FUNCTION__, __FILE__, __LINE__)) 00068 00075 /*@newref@*/ /*@null@*/ 00076 rpmsquirrel rpmsquirrelNew(/*@null@*/ char ** av, uint32_t flags) 00077 /*@globals fileSystem, internalState @*/ 00078 /*@modifies fileSystem, internalState @*/; 00079 00087 rpmRC rpmsquirrelRunFile(rpmsquirrel squirrel, /*@null@*/ const char * fn, 00088 /*@null@*/ const char ** resultp) 00089 /*@globals fileSystem, internalState @*/ 00090 /*@modifies squirrel, fileSystem, internalState @*/; 00091 00099 rpmRC rpmsquirrelRun(rpmsquirrel squirrel, /*@null@*/ const char * str, 00100 /*@null@*/ const char ** resultp) 00101 /*@globals fileSystem, internalState @*/ 00102 /*@modifies squirrel, *resultp, fileSystem, internalState @*/; 00103 00104 #ifdef __cplusplus 00105 } 00106 #endif 00107 00108 #endif /* RPMSQUIRREL_H */