rpm  5.4.14
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, unsigned 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 */
rpmsquirrel _rpmsquirrelI
Definition: rpmsquirrel.c:25
#define rpmsquirrelLink(_squirrel)
Definition: rpmsquirrel.h:54
int _rpmsquirrel_debug
Definition: rpmsquirrel.c:22
struct rpmiob_s * rpmiob
Definition: rpmiotypes.h:60
enum rpmRC_e rpmRC
RPM return codes.
Definition: signature.c:616
rpmRC rpmsquirrelRunFile(rpmsquirrel squirrel, const char *fn, const char **resultp)
Execute squirrel from a file.
Definition: rpmsquirrel.c:160
rpmRC rpmsquirrelRun(rpmsquirrel squirrel, const char *str, const char **resultp)
Execute squirrel string.
Definition: rpmsquirrel.c:179
struct rpmsquirrel_s * rpmsquirrel
Definition: rpmsquirrel.h:11
int flags
Definition: fnmatch.c:282
#define rpmsquirrelUnlink(_squirrel)
Definition: rpmsquirrel.h:43
rpmsquirrel rpmsquirrelNew(char **av, uint32_t flags)
Definition: rpmsquirrel.c:105
#define rpmsquirrelFree(_squirrel)
Definition: rpmsquirrel.h:66
const char ** av
Definition: rpmts-py.c:788
size_t fn
Definition: macro.c:1698