diff options
Diffstat (limited to 'include/lua.h')
-rw-r--r-- | include/lua.h | 40 |
1 files changed, 24 insertions, 16 deletions
diff --git a/include/lua.h b/include/lua.h index 4e0a52e3..07f53209 100644 --- a/include/lua.h +++ b/include/lua.h @@ -2,14 +2,14 @@ ** LUA - Linguagem para Usuarios de Aplicacao ** Grupo de Tecnologia em Computacao Grafica ** TeCGraf - PUC-Rio -** $Id: lua.h,v 3.21 1995/11/13 15:36:52 roberto Exp $ +** $Id: lua.h,v 3.28 1996/05/06 14:32:59 roberto Exp $ */ #ifndef lua_h #define lua_h -#define LUA_VERSION "Lua 2.2" +#define LUA_VERSION "Lua 2.4" #define LUA_COPYRIGHT "Copyright (C) 1994, 1995 TeCGraf" #define LUA_AUTHORS "W. Celes, R. Ierusalimschy & L. H. de Figueiredo" @@ -52,6 +52,14 @@ void lua_endblock (void); lua_Object lua_getparam (int number); #define lua_getresult(_) lua_getparam(_) +#define lua_isnil(_) (lua_type(_)==LUA_T_NIL) +#define lua_istable(_) (lua_type(_)==LUA_T_ARRAY) +#define lua_isuserdata(_) (lua_type(_)>=LUA_T_USERDATA) +#define lua_iscfunction(_) (lua_type(_)==LUA_T_CFUNCTION) +int lua_isnumber (lua_Object object); +int lua_isstring (lua_Object object); +int lua_isfunction (lua_Object object); + float lua_getnumber (lua_Object object); char *lua_getstring (lua_Object object); lua_CFunction lua_getcfunction (lua_Object object); @@ -60,7 +68,6 @@ void *lua_getuserdata (lua_Object object); void lua_pushnil (void); void lua_pushnumber (float n); void lua_pushstring (char *s); -void lua_pushliteral (char *s); void lua_pushcfunction (lua_CFunction fn); void lua_pushusertag (void *u, int tag); void lua_pushobject (lua_Object object); @@ -73,32 +80,33 @@ lua_Object lua_getsubscript (void); int lua_type (lua_Object object); -int lua_lock (void); -lua_Object lua_getlocked (int ref); -void lua_pushlocked (int ref); -void lua_unlock (int ref); + +int lua_ref (int lock); +lua_Object lua_getref (int ref); +void lua_pushref (int ref); +void lua_unref (int ref); lua_Object lua_createtable (void); /* some useful macros */ -#define lua_lockobject(o) (lua_pushobject(o), lua_lock()) +#define lua_refobject(o,l) (lua_pushobject(o), lua_ref(l)) #define lua_register(n,f) (lua_pushcfunction(f), lua_storeglobal(n)) #define lua_pushuserdata(u) lua_pushusertag(u, LUA_T_USERDATA) -#define lua_isnil(_) (lua_type(_)==LUA_T_NIL) -#define lua_isnumber(_) (lua_type(_)==LUA_T_NUMBER) -#define lua_isstring(_) (lua_type(_)==LUA_T_STRING) -#define lua_istable(_) (lua_type(_)==LUA_T_ARRAY) -#define lua_isfunction(_) (lua_type(_)==LUA_T_FUNCTION) -#define lua_iscfunction(_) (lua_type(_)==LUA_T_CFUNCTION) -#define lua_isuserdata(_) (lua_type(_)>=LUA_T_USERDATA) +/* for compatibility with old versions. Avoid using these macros */ + +#define lua_lockobject(o) lua_refobject(o,1) +#define lua_lock() lua_ref(1) +#define lua_getlocked lua_getref +#define lua_pushlocked lua_pushref +#define lua_unlock lua_unref -/* for lua 1.1 compatibility. Avoid using these macros */ +#define lua_pushliteral(o) lua_pushstring(o) #define lua_getindexed(o,n) (lua_pushobject(o), lua_pushnumber(n), lua_getsubscript()) #define lua_getfield(o,f) (lua_pushobject(o), lua_pushliteral(f), lua_getsubscript()) |