rpm 5.3.7

rpmio/rpmsquirrel.h

Go to the documentation of this file.
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 */