1*088332b5SXin Li /* 2*088332b5SXin Li ** $Id: lundump.h $ 3*088332b5SXin Li ** load precompiled Lua chunks 4*088332b5SXin Li ** See Copyright Notice in lua.h 5*088332b5SXin Li */ 6*088332b5SXin Li 7*088332b5SXin Li #ifndef lundump_h 8*088332b5SXin Li #define lundump_h 9*088332b5SXin Li 10*088332b5SXin Li #include "llimits.h" 11*088332b5SXin Li #include "lobject.h" 12*088332b5SXin Li #include "lzio.h" 13*088332b5SXin Li 14*088332b5SXin Li 15*088332b5SXin Li /* data to catch conversion errors */ 16*088332b5SXin Li #define LUAC_DATA "\x19\x93\r\n\x1a\n" 17*088332b5SXin Li 18*088332b5SXin Li #define LUAC_INT 0x5678 19*088332b5SXin Li #define LUAC_NUM cast_num(370.5) 20*088332b5SXin Li 21*088332b5SXin Li /* 22*088332b5SXin Li ** Encode major-minor version in one byte, one nibble for each 23*088332b5SXin Li */ 24*088332b5SXin Li #define MYINT(s) (s[0]-'0') /* assume one-digit numerals */ 25*088332b5SXin Li #define LUAC_VERSION (MYINT(LUA_VERSION_MAJOR)*16+MYINT(LUA_VERSION_MINOR)) 26*088332b5SXin Li 27*088332b5SXin Li #define LUAC_FORMAT 0 /* this is the official format */ 28*088332b5SXin Li 29*088332b5SXin Li /* load one chunk; from lundump.c */ 30*088332b5SXin Li LUAI_FUNC LClosure* luaU_undump (lua_State* L, ZIO* Z, const char* name); 31*088332b5SXin Li 32*088332b5SXin Li /* dump one chunk; from ldump.c */ 33*088332b5SXin Li LUAI_FUNC int luaU_dump (lua_State* L, const Proto* f, lua_Writer w, 34*088332b5SXin Li void* data, int strip); 35*088332b5SXin Li 36*088332b5SXin Li #endif 37