18e3e3a7aSWarner Losh /* 2*0495ed39SKyle Evans ** $Id: lundump.h $ 38e3e3a7aSWarner Losh ** load precompiled Lua chunks 48e3e3a7aSWarner Losh ** See Copyright Notice in lua.h 58e3e3a7aSWarner Losh */ 68e3e3a7aSWarner Losh 78e3e3a7aSWarner Losh #ifndef lundump_h 88e3e3a7aSWarner Losh #define lundump_h 98e3e3a7aSWarner Losh 108e3e3a7aSWarner Losh #include "llimits.h" 118e3e3a7aSWarner Losh #include "lobject.h" 128e3e3a7aSWarner Losh #include "lzio.h" 138e3e3a7aSWarner Losh 148e3e3a7aSWarner Losh 158e3e3a7aSWarner Losh /* data to catch conversion errors */ 168e3e3a7aSWarner Losh #define LUAC_DATA "\x19\x93\r\n\x1a\n" 178e3e3a7aSWarner Losh 188e3e3a7aSWarner Losh #define LUAC_INT 0x5678 198e3e3a7aSWarner Losh #define LUAC_NUM cast_num(370.5) 208e3e3a7aSWarner Losh 21*0495ed39SKyle Evans /* 22*0495ed39SKyle Evans ** Encode major-minor version in one byte, one nibble for each 23*0495ed39SKyle Evans */ 24*0495ed39SKyle Evans #define MYINT(s) (s[0]-'0') /* assume one-digit numerals */ 258e3e3a7aSWarner Losh #define LUAC_VERSION (MYINT(LUA_VERSION_MAJOR)*16+MYINT(LUA_VERSION_MINOR)) 26*0495ed39SKyle Evans 278e3e3a7aSWarner Losh #define LUAC_FORMAT 0 /* this is the official format */ 288e3e3a7aSWarner Losh 298e3e3a7aSWarner Losh /* load one chunk; from lundump.c */ 308e3e3a7aSWarner Losh LUAI_FUNC LClosure* luaU_undump (lua_State* L, ZIO* Z, const char* name); 318e3e3a7aSWarner Losh 328e3e3a7aSWarner Losh /* dump one chunk; from ldump.c */ 338e3e3a7aSWarner Losh LUAI_FUNC int luaU_dump (lua_State* L, const Proto* f, lua_Writer w, 348e3e3a7aSWarner Losh void* data, int strip); 358e3e3a7aSWarner Losh 368e3e3a7aSWarner Losh #endif 37