rpm  5.4.10
rpmsquirrel.h
Go to the documentation of this file.
1 #ifndef RPMSQUIRREL_H
2 #define RPMSQUIRREL_H
3 
8 #include <rpmiotypes.h>
9 #include <rpmio.h>
10 
11 typedef /*@refcounted@*/ struct rpmsquirrel_s * rpmsquirrel;
12 
13 /*@unchecked@*/
14 extern int _rpmsquirrel_debug;
15 
16 /*@unchecked@*/ /*@relnull@*/
18 
19 #if defined(_RPMSQUIRREL_INTERNAL)
20 struct rpmsquirrel_s {
21  struct rpmioItem_s _item;
22  void * I; /* HSQUIRRELVM */
23  rpmiob iob;
24 #if defined(__LCLINT__)
25 /*@refs@*/
26  int nrefs;
27 #endif
28 };
29 #endif /* _RPMSQUIRREL_INTERNAL */
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
40 /*@unused@*/ /*@null@*/
41 rpmsquirrel rpmsquirrelUnlink (/*@killref@*/ /*@only@*/ /*@null@*/ rpmsquirrel squirrel)
42  /*@modifies squirrel @*/;
43 #define rpmsquirrelUnlink(_squirrel) \
44  ((rpmsquirrel)rpmioUnlinkPoolItem((rpmioItem)(_squirrel), __FUNCTION__, __FILE__, __LINE__))
45 
51 /*@unused@*/ /*@newref@*/ /*@null@*/
52 rpmsquirrel rpmsquirrelLink (/*@null@*/ rpmsquirrel squirrel)
53  /*@modifies squirrel @*/;
54 #define rpmsquirrelLink(_squirrel) \
55  ((rpmsquirrel)rpmioLinkPoolItem((rpmioItem)(_squirrel), __FUNCTION__, __FILE__, __LINE__))
56 
62 /*@null@*/
63 rpmsquirrel rpmsquirrelFree(/*@killref@*/ /*@null@*/rpmsquirrel squirrel)
64  /*@globals fileSystem @*/
65  /*@modifies squirrel, fileSystem @*/;
66 #define rpmsquirrelFree(_squirrel) \
67  ((rpmsquirrel)rpmioFreePoolItem((rpmioItem)(_squirrel), __FUNCTION__, __FILE__, __LINE__))
68 
75 /*@newref@*/ /*@null@*/
76 rpmsquirrel rpmsquirrelNew(/*@null@*/ char ** av, uint32_t flags)
77  /*@globals fileSystem, internalState @*/
78  /*@modifies fileSystem, internalState @*/;
79 
87 rpmRC rpmsquirrelRunFile(rpmsquirrel squirrel, /*@null@*/ const char * fn,
88  /*@null@*/ const char ** resultp)
89  /*@globals fileSystem, internalState @*/
90  /*@modifies squirrel, fileSystem, internalState @*/;
91 
99 rpmRC rpmsquirrelRun(rpmsquirrel squirrel, /*@null@*/ const char * str,
100  /*@null@*/ const char ** resultp)
101  /*@globals fileSystem, internalState @*/
102  /*@modifies squirrel, *resultp, fileSystem, internalState @*/;
103 
104 #ifdef __cplusplus
105 }
106 #endif
107 
108 #endif /* RPMSQUIRREL_H */