?login_element?

Subversion Repositories NedoOS

Rev

Blame | Last modification | View Log | Download

  1. /*
  2. ** $Id: ldo.h,v 2.7.1.1 2007/12/27 13:02:25 roberto Exp $
  3. ** Stack and Call structure of Lua
  4. ** See Copyright Notice in lua.h
  5. */
  6.  
  7. #ifndef ldo_h
  8. #define ldo_h
  9.  
  10.  
  11. #include "lobject.h"
  12. #include "lstate.h"
  13. #include "lzio.h"
  14.  
  15.  
  16. #define luaD_checkstack(L,n)    \
  17.   if ((char *)L->stack_last - (char *)L->top <= (n)*(int)sizeof(TValue)) \
  18.     luaD_growstack(L, n); \
  19.   else condhardstacktests(luaD_reallocstack(L, L->stacksize - EXTRA_STACK - 1));
  20.  
  21.  
  22. #define incr_top(L) {luaD_checkstack(L,1); L->top++;}
  23.  
  24. #define savestack(L,p)          ((char *)(p) - (char *)L->stack)
  25. #define restorestack(L,n)       ((TValue *)((char *)L->stack + (n)))
  26.  
  27. #define saveci(L,p)             ((char *)(p) - (char *)L->base_ci)
  28. #define restoreci(L,n)          ((CallInfo *)((char *)L->base_ci + (n)))
  29.  
  30.  
  31. /* results from luaD_precall */
  32. #define PCRLUA          0       /* initiated a call to a Lua function */
  33. #define PCRC            1       /* did a call to a C function */
  34. #define PCRYIELD        2       /* C funtion yielded */
  35.  
  36.  
  37. /* type of protected functions, to be ran by `runprotected' */
  38. typedef void (*Pfunc) (lua_State *L, void *ud);
  39.  
  40. LUAI_FUNC int luaD_protectedparser (lua_State *L, ZIO *z, const char *name);
  41. LUAI_FUNC void luaD_callhook (lua_State *L, int event, int line);
  42. LUAI_FUNC int luaD_precall (lua_State *L, StkId func, int nresults);
  43. LUAI_FUNC void luaD_call (lua_State *L, StkId func, int nResults);
  44. LUAI_FUNC int luaD_pcall (lua_State *L, Pfunc func, void *u,
  45.                                         ptrdiff_t oldtop, ptrdiff_t ef);
  46. LUAI_FUNC int luaD_poscall (lua_State *L, StkId firstResult);
  47. LUAI_FUNC void luaD_reallocCI (lua_State *L, int newsize);
  48. LUAI_FUNC void luaD_reallocstack (lua_State *L, int newsize);
  49. LUAI_FUNC void luaD_growstack (lua_State *L, int n);
  50.  
  51. LUAI_FUNC void luaD_throw (lua_State *L, int errcode);
  52. LUAI_FUNC int luaD_rawrunprotected (lua_State *L, Pfunc f, void *ud);
  53.  
  54. LUAI_FUNC void luaD_seterrorobj (lua_State *L, int errcode, StkId oldtop);
  55.  
  56. #endif
  57.  
  58.