4 typedef enum rpmluavType_e {
10 #if defined(_RPMLUA_INTERNAL)
26 rpmluavType valueType;
40 #endif /* _RPMLUA_INTERNAL */
42 typedef struct rpmlua_s * rpmlua;
43 typedef struct rpmluav_s * rpmluav;
49 rpmlua rpmluaNew(void);
50 rpmlua rpmluaFree(rpmlua lua);
51 rpmlua rpmluaGetGlobalState(void);
53 int rpmluaCheckScript(rpmlua lua, const char *script,
55 int rpmluaRunScript(rpmlua lua, const char *script,
57 int rpmluaRunScriptFile(rpmlua lua, const char *filename);
58 void rpmluaInteractive(rpmlua lua);
60 void *rpmluaGetData(rpmlua lua, const char *key);
61 void rpmluaSetData(rpmlua lua, const char *key, const void *data);
63 const char *rpmluaGetPrintBuffer(rpmlua lua);
64 void rpmluaSetPrintBuffer(rpmlua lua, int flag);
66 void rpmluaGetVar(rpmlua lua, rpmluav var);
67 void rpmluaSetVar(rpmlua lua, rpmluav var);
68 void rpmluaDelVar(rpmlua lua, const char *key, ...);
69 int rpmluaVarExists(rpmlua lua, const char *key, ...);
70 void rpmluaPushTable(rpmlua lua, const char *key, ...);
71 void rpmluaPop(rpmlua lua);
73 rpmluav rpmluavNew(void);
74 rpmluav rpmluavFree(rpmluav var);
75 void rpmluavSetListMode(rpmluav var, int flag);
76 void rpmluavSetKey(rpmluav var, rpmluavType type, const void *value);
77 void rpmluavSetValue(rpmluav var, rpmluavType type, const void *value);
78 void rpmluavGetKey(rpmluav var, rpmluavType *type, void **value);
79 void rpmluavGetValue(rpmluav var, rpmluavType *type, void **value);
81 /* Optional helpers for numbers. */
82 void rpmluavSetKeyNum(rpmluav var, double value);
83 void rpmluavSetValueNum(rpmluav var, double value);
84 double rpmluavGetKeyNum(rpmluav var);
85 double rpmluavGetValueNum(rpmluav var);
86 int rpmluavKeyIsNum(rpmluav var);
87 int rpmluavValueIsNum(rpmluav var);