axmol/thirdparty/lua/plainlua/lua-5.3.6/src/lundump.h

41 lines
1.0 KiB
C
Raw Normal View History

2020-11-16 14:47:43 +08:00
/*
** $Id: lundump.h,v 1.45.1.1 2017/04/19 17:20:42 roberto Exp $
** load precompiled Lua chunks
** See Copyright Notice in lua.h
*/
#ifndef lundump_h
#define lundump_h
#include "llimits.h"
#include "lobject.h"
#include "lzio.h"
#include <stdint.h>
/* data to catch conversion errors */
#define LUAC_DATA "\x19\x93\r\n\x1a\n"
#define LUAC_INT 0x5678
#define LUAC_NUM cast_num(370.5)
#define MYINT(s) (s[0]-'0')
#define LUAC_VERSION (MYINT(LUA_VERSION_MAJOR)*16+MYINT(LUA_VERSION_MINOR))
/* type of 64bit VM can load 32 bit byte code */
#if defined(LUAC_COMPAT_FORMAT) || defined(LUAC_COMPAT_32BIT)
#define LBC_SIZE_T uint32_t
#define LUAC_FORMAT 1 /* this is the official format */
#else
#define LBC_SIZE_T size_t
#define LUAC_FORMAT 0 /* this is the official format */
#endif
/* load one chunk; from lundump.c */
LUAI_FUNC LClosure* luaU_undump (lua_State* L, ZIO* Z, const char* name);
/* dump one chunk; from ldump.c */
LUAI_FUNC int luaU_dump (lua_State* L, const Proto* f, lua_Writer w,
void* data, int strip);
#endif