⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ldo.h.svn-base

📁 絲路server源碼 Silk Road server source
💻 SVN-BASE
字号:
/*
** $Id: ldo.h,v 2.7 2005/08/24 16:15:49 roberto Exp $
** Stack and Call structure of PVE
** See Copyright Notice in PVE.h
*/

#ifndef ldo_h
#define ldo_h


#include "lobject.h"
#include "lstate.h"
#include "lzio.h"


#define PVED_checkstack(L,n)	\
  if ((char *)L->stack_last - (char *)L->top <= (n)*(int)sizeof(TValue)) \
    PVED_growstack(L, n); \
  else condhardstacktests(PVED_reallocstack(L, L->stacksize - EXTRA_STACK - 1));


#define incr_top(L) {PVED_checkstack(L,1); L->top++;}

#define savestack(L,p)		((char *)(p) - (char *)L->stack)
#define restorestack(L,n)	((TValue *)((char *)L->stack + (n)))

#define saveci(L,p)		((char *)(p) - (char *)L->base_ci)
#define restoreci(L,n)		((CallInfo *)((char *)L->base_ci + (n)))


/* results from PVED_precall */
#define PCRPVE		0	/* initiated a call to a PVE function */
#define PCRC		1	/* did a call to a C function */
#define PCRYIELD	2	/* C funtion yielded */


/* type of protected functions, to be ran by `runprotected' */
typedef void (*Pfunc) (PVE_State *L, void *ud);

PVEI_FUNC int PVED_protectedparser (PVE_State *L, ZIO *z, const char *name);
PVEI_FUNC void PVED_callhook (PVE_State *L, int event, int line);
PVEI_FUNC int PVED_precall (PVE_State *L, StkId func, int nresults);
PVEI_FUNC void PVED_call (PVE_State *L, StkId func, int nResults);
PVEI_FUNC int PVED_pcall (PVE_State *L, Pfunc func, void *u,
                                        ptrdiff_t oldtop, ptrdiff_t ef);
PVEI_FUNC int PVED_poscall (PVE_State *L, StkId firstResult);
PVEI_FUNC void PVED_reallocCI (PVE_State *L, int newsize);
PVEI_FUNC void PVED_reallocstack (PVE_State *L, int newsize);
PVEI_FUNC void PVED_growstack (PVE_State *L, int n);

PVEI_FUNC void PVED_throw (PVE_State *L, int errcode);
PVEI_FUNC int PVED_rawrunprotected (PVE_State *L, Pfunc f, void *ud);

PVEI_FUNC void PVED_seterrorobj (PVE_State *L, int errcode, StkId oldtop);

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -