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