xref: /aosp_15_r20/external/lua/src/lundump.h (revision 088332b5b69e7ab13924864b272aabfc2509d2d5)
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