00001 #ifndef RPMLUA_H
00002 #define RPMLUA_H
00003
00004 typedef enum rpmluavType_e {
00005 RPMLUAV_NIL = 0,
00006 RPMLUAV_STRING = 1,
00007 RPMLUAV_NUMBER = 2
00008 } rpmluavType;
00009
00010 #if defined(_RPMLUA_INTERNAL)
00011
00012 #include <stdarg.h>
00013 #include <lua.h>
00014
00015 struct rpmlua_s {
00016 lua_State *L;
00017 int pushsize;
00018 int storeprint;
00019 int printbufsize;
00020 int printbufused;
00021 char *printbuf;
00022 };
00023
00024 struct rpmluav_s {
00025 rpmluavType keyType;
00026 rpmluavType valueType;
00027 union {
00028 const char *str;
00029 const void *ptr;
00030 double num;
00031 } key;
00032 union {
00033 const char *str;
00034 const void *ptr;
00035 double num;
00036 } value;
00037 int listmode;
00038 };
00039
00040 #endif
00041
00042 typedef struct rpmlua_s * rpmlua;
00043 typedef struct rpmluav_s * rpmluav;
00044
00045
00046
00047 rpmlua rpmluaNew(void)
00048
00049 ;
00050
00051 void *rpmluaFree( rpmlua lua)
00052 ;
00053
00054 int rpmluaCheckScript( rpmlua lua, const char *script,
00055 const char *name)
00056
00057 ;
00058 int rpmluaRunScript( rpmlua lua, const char *script,
00059 const char *name)
00060
00061 ;
00062
00063 int rpmluaRunScriptFile( rpmlua lua, const char *filename)
00064
00065 ;
00066
00067 void rpmluaInteractive( rpmlua lua)
00068
00069 ;
00070
00071 void *rpmluaGetData( rpmlua lua, const char *key)
00072
00073 ;
00074
00075 void rpmluaSetData( rpmlua lua, const char *key, const void *data)
00076
00077 ;
00078
00079
00080
00081 const char *rpmluaGetPrintBuffer( rpmlua lua)
00082
00083 ;
00084 void rpmluaSetPrintBuffer( rpmlua lua, int flag)
00085
00086 ;
00087
00088 void rpmluaGetVar( rpmlua lua, rpmluav var)
00089
00090 ;
00091 void rpmluaSetVar( rpmlua lua, rpmluav var)
00092
00093 ;
00094 void rpmluaDelVar( rpmlua lua, const char *key, ...)
00095
00096 ;
00097 int rpmluaVarExists( rpmlua lua, const char *key, ...)
00098
00099 ;
00100 void rpmluaPushTable( rpmlua lua, const char *key, ...)
00101
00102 ;
00103 void rpmluaPop( rpmlua lua)
00104
00105 ;
00106
00107
00108 rpmluav rpmluavNew(void)
00109 ;
00110 void * rpmluavFree( rpmluav var)
00111 ;
00112 void rpmluavSetListMode(rpmluav var, int flag)
00113 ;
00114
00115 void rpmluavSetKey(rpmluav var, rpmluavType type, const void *value)
00116 ;
00117
00118
00119 void rpmluavSetValue(rpmluav var, rpmluavType type, const void *value)
00120 ;
00121
00122
00123 void rpmluavGetKey(rpmluav var, rpmluavType *type, void **value)
00124 ;
00125
00126
00127 void rpmluavGetValue(rpmluav var, rpmluavType *type, void **value)
00128 ;
00129
00130
00131
00132 void rpmluavSetKeyNum(rpmluav var, double value)
00133 ;
00134 void rpmluavSetValueNum(rpmluav var, double value)
00135 ;
00136 double rpmluavGetKeyNum(rpmluav var)
00137 ;
00138 double rpmluavGetValueNum(rpmluav var)
00139 ;
00140 int rpmluavKeyIsNum(rpmluav var)
00141 ;
00142 int rpmluavValueIsNum(rpmluav var)
00143 ;
00144
00145 #endif