4 typedef enum rpmluavType_e {
10 #if defined(_RPMLUA_INTERNAL)
15 typedef struct rpmluapb_s * rpmluapb;
25 rpmluavType valueType;
39 #endif /* _RPMLUA_INTERNAL */
41 typedef struct rpmlua_s * rpmlua;
42 typedef struct rpmluav_s * rpmluav;
48 rpmlua rpmluaNew(void);
49 rpmlua rpmluaFree(rpmlua lua);
50 rpmlua rpmluaGetGlobalState(void);
52 int rpmluaCheckScript(rpmlua lua, const char *script,
54 int rpmluaRunScript(rpmlua lua, const char *script,
56 int rpmluaRunScriptFile(rpmlua lua, const char *filename);
57 void rpmluaInteractive(rpmlua lua);
59 void *rpmluaGetData(rpmlua lua, const char *key);
60 void rpmluaSetData(rpmlua lua, const char *key, const void *data);
62 char *rpmluaPopPrintBuffer(rpmlua lua);
63 void rpmluaPushPrintBuffer(rpmlua lua);
65 void rpmluaGetVar(rpmlua lua, rpmluav var);
66 void rpmluaSetVar(rpmlua lua, rpmluav var);
67 void rpmluaDelVar(rpmlua lua, const char *key, ...);
68 int rpmluaVarExists(rpmlua lua, const char *key, ...);
69 void rpmluaPushTable(rpmlua lua, const char *key, ...);
70 void rpmluaPop(rpmlua lua);
72 rpmluav rpmluavNew(void);
73 rpmluav rpmluavFree(rpmluav var);
74 void rpmluavSetListMode(rpmluav var, int flag);
75 void rpmluavSetKey(rpmluav var, rpmluavType type, const void *value);
76 void rpmluavSetValue(rpmluav var, rpmluavType type, const void *value);
77 void rpmluavGetKey(rpmluav var, rpmluavType *type, void **value);
78 void rpmluavGetValue(rpmluav var, rpmluavType *type, void **value);
80 /* Optional helpers for numbers. */
81 void rpmluavSetKeyNum(rpmluav var, double value);
82 void rpmluavSetValueNum(rpmluav var, double value);
83 double rpmluavGetKeyNum(rpmluav var);
84 double rpmluavGetValueNum(rpmluav var);
85 int rpmluavKeyIsNum(rpmluav var);
86 int rpmluavValueIsNum(rpmluav var);