xref: /freebsd/contrib/lua/src/lundump.h (revision 0d66206fff44f864ea8a4b220c3a53b4caa959a0)
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