rpm  5.4.10
rpmperl.h
Go to the documentation of this file.
1 #ifndef RPMPERL_H
2 #define RPMPERL_H
3 
8 #include <rpmiotypes.h>
9 #include <rpmio.h>
10 
11 typedef /*@abstract@*/ /*@refcounted@*/ struct rpmperl_s * rpmperl;
12 
13 /*@unchecked@*/
14 extern int _rpmperl_debug;
15 
16 /*@unchecked@*/ /*@relnull@*/
17 extern rpmperl _rpmperlI;
18 
19 #if defined(_RPMPERL_INTERNAL)
20 struct rpmperl_s {
21  struct rpmioItem_s _item;
22  void * I;
23 #if defined(__LCLINT__)
24 /*@refs@*/
25  int nrefs;
26 #endif
27 };
28 #endif /* _RPMPERL_INTERNAL */
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
39 /*@unused@*/ /*@null@*/
40 rpmperl rpmperlUnlink (/*@killref@*/ /*@only@*/ /*@null@*/ rpmperl perl)
41  /*@modifies perl @*/;
42 #define rpmperlUnlink(_perl) \
43  ((rpmperl)rpmioUnlinkPoolItem((rpmioItem)(_perl), __FUNCTION__, __FILE__, __LINE__))
44 
50 /*@unused@*/ /*@newref@*/ /*@null@*/
51 rpmperl rpmperlLink (/*@null@*/ rpmperl perl)
52  /*@modifies perl @*/;
53 #define rpmperlLink(_perl) \
54  ((rpmperl)rpmioLinkPoolItem((rpmioItem)(_perl), __FUNCTION__, __FILE__, __LINE__))
55 
61 /*@null@*/
62 rpmperl rpmperlFree(/*@killref@*/ /*@null@*/rpmperl perl)
63  /*@globals fileSystem @*/
64  /*@modifies perl, fileSystem @*/;
65 #define rpmperlFree(_perl) \
66  ((rpmperl)rpmioFreePoolItem((rpmioItem)(_perl), __FUNCTION__, __FILE__, __LINE__))
67 
74 /*@newref@*/ /*@null@*/
75 rpmperl rpmperlNew(/*@null@*/ char ** av, uint32_t flags)
76  /*@globals fileSystem, internalState @*/
77  /*@modifies fileSystem, internalState @*/;
78 
86 rpmRC rpmperlRun(rpmperl perl, /*@null@*/ const char * str,
87  /*@null@*/ const char ** resultp)
88  /*@globals fileSystem, internalState @*/
89  /*@modifies perl, *resultp, fileSystem, internalState @*/;
90 
91 #ifdef __cplusplus
92 }
93 #endif
94 
95 #endif /* RPMPERL_H */
rpmperl _rpmperlI
Definition: rpmperl.c:28
#define rpmperlLink(_perl)
Definition: rpmperl.h:53
rpmperl rpmperlNew(char **av, uint32_t flags)
Create and load a perl interpreter.
Definition: rpmperl.c:130
struct rpmperl_s * rpmperl
Definition: rpmperl.h:11
#define rpmperlFree(_perl)
Definition: rpmperl.h:65
enum rpmRC_e rpmRC
RPM return codes.
rpmRC rpmperlRun(rpmperl perl, const char *str, const char **resultp)
Execute perl string.
Definition: rpmperl.c:182
int _rpmperl_debug
Definition: rpmperl.c:25
#define rpmperlUnlink(_perl)
Definition: rpmperl.h:42