]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/lua/src/lundump.h
Merge commit 'ee914ef902ae018bd4f67192832120f9bf05651f' into new_merge
[FreeBSD/FreeBSD.git] / contrib / lua / src / lundump.h
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