Pub.Lua: | Functions | Source |
local LuaState:byte ptr = luaL_newstate()The result of this instantiation is a pointer to a structure which contains the full state of the new VM and has to be passed as the first argument to almost any other Lua API function.
luaL_openlibs(LuaState)Always initialize the Lua VM by opening its libraries unless you really know what you are doing!
lua_close(LuaState)The Lua interpreter has now been terminated and its state variable is no longer valid.
lua_pushstring(LuaState, "BMXString")defines a global Lua variable (called luaglobal) which contains a string (namely "BMXString").
lua_setglobal (LuaState, "luaglobal")
function BMXName:int (LuaState:Byte Ptr)Such a function is then registered using
... ' handling of parameters passed from Lua (if required)
... ' actual function body
... ' passing results back to Lua (if required)
return 0 ' number of values returned to Lua
end function
lua_register(LuaState, "luaname", BMXName)This command registers a BlitzMax function (called BMXName) with the (global) name luaname under Lua. Both names may be equal, but they do not have to.
local Result:int = luaL_loadString(LuaState,LuaScript)loads and compiles a (BlitzMax) string containing a LuaScript. The result (of compilation) is left on the (Lua) stack.
if (Result <> 0) then
' ERROR!!!
lua_close(LuaState) ' just to be complete
end
end if
lua_getfield(LuaState, LUA_GLOBALSINDEX, "debug")' get global "debug"actually evaluates the previously loaded script. The initially mentioned Lua commands just prepare for proper error messages should the Lua script fail.
lua_getfield(LuaState, -1, "traceback") ' get "debug.traceback"
lua_remove (LuaState, -2) ' remove "debug" table from stack
Result = lua_pcall(LuaState,1,-1,-1)' use "debug.traceback" as err.hdlr
if (Result <> 0) then
' ERROR
lua_close(LuaState) ' just to be complete
end
end if
Function lua_atpanic:Byte Ptr (lua_state:Byte Ptr, panicf:Int(ls:Byte Ptr)) | |
Description | see Lua Reference Manual |
Function lua_call (lua_state:Byte Ptr, nargs:Int, nresults:Int) | |
Description | see Lua Reference Manual |
Function lua_checkstack:Int (lua_state:Byte Ptr, extra:Int) | |
Description | see Lua Reference Manual |
Function lua_close (lua_state:Byte Ptr) | |
Description | see Lua Reference Manual |
Function lua_concat (lua_state:Byte Ptr, n:Int) | |
Description | see Lua Reference Manual |
Function lua_cpcall:Int (lua_state:Byte Ptr, func:Int(ls:Byte Ptr), ud:Byte Ptr) | |
Description | see Lua Reference Manual |
Function lua_createtable (lua_state:Byte Ptr, narr:Int, nrec:Int) | |
Description | see Lua Reference Manual |
Function lua_dump:Int (lua_state:Byte Ptr, writer:Int(ls:Byte Ptr,p:Byte Ptr,sz:Int,ud:Byte Ptr), data:Byte Ptr) | |
Description | see Lua Reference Manual |
Function lua_equal:Int (lua_state:Byte Ptr, index1:Int, index2:Int) | |
Description | see Lua Reference Manual |
Function lua_error:Int (lua_state:Byte Ptr) | |
Description | see Lua Reference Manual |
Function lua_gc:Int (lua_state:Byte Ptr, what:Int, data:Int) | |
Description | see Lua Reference Manual |
Function lua_getallocf:Byte Ptr (lua_state:Byte Ptr, ud:Byte Ptr Ptr) | |
Description | see Lua Reference Manual |
Function lua_getfenv (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function lua_getfield (lua_state:Byte Ptr, index:Int, k$z) ' no 0 expected | |
Description | see Lua Reference Manual |
Function lua_gethook:Byte Ptr (lua_state:Byte Ptr) | |
Description | see Lua Reference Manual |
Function lua_gethookcount:Int (lua_state:Byte Ptr) | |
Description | see Lua Reference Manual |
Function lua_gethookmask:Int (lua_state:Byte Ptr) | |
Description | see Lua Reference Manual |
Function lua_getinfo:Int (lua_state:Byte Ptr, what$z, ar:lua_Debug Ptr) ' no 0 expected | |
Description | see Lua Reference Manual |
Function lua_getlocal$z (lua_state:Byte Ptr, ar:lua_Debug Ptr, n:Int) ' no 0 expected | |
Description | see Lua Reference Manual |
Function lua_getmetatable:Int (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function lua_getstack:Int (lua_state:Byte Ptr, level:Int, ar:lua_Debug Ptr) ' no 0 expected | |
Description | see Lua Reference Manual |
Function lua_gettable (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function lua_gettop:Int (lua_state:Byte Ptr) | |
Description | see Lua Reference Manual |
Function lua_getupvalue$z (lua_state:Byte Ptr, funcindex:Int, n:Int) ' no 0 expected | |
Description | see Lua Reference Manual |
Function lua_insert (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function lua_iscfunction:Int (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function lua_isnumber:Int (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function lua_isstring:Int (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function lua_isuserdata:Int (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function lua_lessthan:Int (lua_state:Byte Ptr, index1:Int, index2:Int) | |
Description | see Lua Reference Manual |
Function lua_load:Int (lua_state:Byte Ptr, reader:Byte Ptr(ls:Byte Ptr,data:Byte Ptr,sz:Int Ptr), data:Byte Ptr, chunkname$z) ' no 0 expected | |
Description | see Lua Reference Manual |
Function lua_newstate:Byte Ptr (f:Byte Ptr(ud:Byte Ptr, p:Byte Ptr, osize:Int, nsize:Int), ud:Byte Ptr) | |
Description | see Lua Reference Manual |
Function lua_newthread:Byte Ptr (lua_state:Byte Ptr) | |
Description | see Lua Reference Manual |
Function lua_newuserdata:Byte Ptr (lua_state:Byte Ptr, size:Int) | |
Description | see Lua Reference Manual |
Function lua_next:Int (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function lua_objlen:Int (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function lua_pcall:Int (lua_state:Byte Ptr, nargs:Int, nresults:Int, errfunc:Int) | |
Description | see Lua Reference Manual |
Function lua_pushboolean (lua_state:Byte Ptr, b:Int) | |
Description | see Lua Reference Manual |
Function lua_pushcclosure (lua_state:Byte Ptr, fn:Int(ls:Byte Ptr), n:Int) | |
Description | see Lua Reference Manual |
Function lua_pushinteger (lua_state:Byte Ptr, n:Int) | |
Description | see Lua Reference Manual |
Function lua_pushlightuserdata (lua_state:Byte Ptr, p:Byte Ptr) | |
Description | see Lua Reference Manual |
Function lua_pushlstring (lua_state:Byte Ptr, s:Byte Ptr, size:Int) ' without any conversion! | |
Description | see Lua Reference Manual |
Function lua_pushnil (lua_state:Byte Ptr) | |
Description | see Lua Reference Manual |
Function lua_pushnumber (lua_state:Byte Ptr, n:Double) | |
Description | see Lua Reference Manual |
Function lua_pushstring (lua_state:Byte Ptr, s$z) ' no 0 expected | |
Description | see Lua Reference Manual |
Function lua_pushthread:Int (lua_state:Byte Ptr) | |
Description | see Lua Reference Manual |
Function lua_pushvalue (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function lua_rawequal:Int (lua_state:Byte Ptr, index1:Int, index2:Int) | |
Description | see Lua Reference Manual |
Function lua_rawget (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function lua_rawgeti (lua_state:Byte Ptr, index:Int, n:Int) | |
Description | see Lua Reference Manual |
Function lua_rawset (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function lua_rawseti (lua_state:Byte Ptr, index:Int, n:Int) | |
Description | see Lua Reference Manual |
Function lua_remove (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function lua_replace (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function lua_resume:Int (lua_state:Byte Ptr, narg:Int) | |
Description | see Lua Reference Manual |
Function lua_setallocf (lua_state:Byte Ptr, f:Byte Ptr(ud:Byte Ptr, p:Byte Ptr, osize:Int, nsize:Int), ud:Byte Ptr) | |
Description | see Lua Reference Manual |
Function lua_setfenv:Int (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function lua_setfield (lua_state:Byte Ptr, index:Int, k$z) ' no 0 expected | |
Description | see Lua Reference Manual |
Function lua_sethook:Int (lua_state:Byte Ptr, f(ls:Byte Ptr,ar:lua_Debug Ptr), mask:Int, count:Int) | |
Description | see Lua Reference Manual |
Function lua_setlocal$z (lua_state:Byte Ptr, ar:lua_Debug Ptr, n:Int) ' no 0 expected | |
Description | see Lua Reference Manual |
Function lua_setmetatable:Int (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function lua_settable (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function lua_settop (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function lua_setupvalue$z (lua_state:Byte Ptr, funcindex:Int, n:Int) ' no 0 expected | |
Description | see Lua Reference Manual |
Function lua_status:Int (lua_state:Byte Ptr) | |
Description | see Lua Reference Manual |
Function lua_toboolean:Int (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function lua_tocfunction:Byte Ptr (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function lua_tointeger:Int (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function lua_tolstring:Byte Ptr (lua_state:Byte Ptr, index:Int, size:Int Ptr) ' without any conversion! | |
Description | see Lua Reference Manual |
Function lua_tonumber:Double (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function lua_topointer:Byte Ptr (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function lua_tothread:Byte Ptr (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function lua_touserdata:Byte Ptr (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function lua_type:Int (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function lua_typename$z (lua_state:Byte Ptr, tp:Int) ' no 0 expected | |
Description | see Lua Reference Manual |
Function lua_xmove (fromState:Byte Ptr, toState:Byte Ptr, n:Int) | |
Description | see Lua Reference Manual |
Function lua_yield:Int (lua_state:Byte Ptr, nresults:Int) | |
Description | see Lua Reference Manual |
Function lua_getglobal (lua_state:Byte Ptr, name:String) | |
Description | see Lua Reference Manual |
Function lua_isboolean:Int (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function lua_isfunction:Int (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function lua_islightuserdata:Int (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function lua_isnil:Int (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function lua_isnone:Int (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function lua_isnoneornil:Int (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function lua_istable:Int (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function lua_isthread:Int (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function lua_newtable (lua_state:Byte Ptr) | |
Description | see Lua Reference Manual |
Function lua_pop (lua_state:Byte Ptr, n:Int) | |
Description | see Lua Reference Manual |
Function lua_pushcfunction (lua_state:Byte Ptr, fn:Int(ls:Byte Ptr)) | |
Description | see Lua Reference Manual |
Function lua_register (lua_state:Byte Ptr, name:String, f:Int(ls:Byte Ptr)) | |
Description | see Lua Reference Manual |
Function lua_setglobal (lua_state:Byte Ptr, name:String) | |
Description | see Lua Reference Manual |
Function lua_tostring:String (lua_state:Byte Ptr, index:Int) | |
Description | see Lua Reference Manual |
Function luaL_addlstring (B:Byte Ptr, s:Byte Ptr, l:Int) | |
Description | see Lua Reference Manual |
Function luaL_addsize (B:Byte Ptr, size:Int) | |
Description | see Lua Reference Manual |
Function luaL_addstring (B:Byte Ptr, s$z) ' no 0 allowed! | |
Description | see Lua Reference Manual |
Function luaL_addvalue (B:Byte Ptr) | |
Description | see Lua Reference Manual |
Function luaL_argerror:Int (lua_state:Byte Ptr, narg:Int, extramsg$z) ' no 0 expected | |
Description | see Lua Reference Manual |
Function luaL_buffinit (lua_state:Byte Ptr, B:Byte Ptr) | |
Description | see Lua Reference Manual |
Function luaL_callmeta:Int (lua_state:Byte Ptr, obj:Int, e$z) ' no 0 expected | |
Description | see Lua Reference Manual |
Function luaL_checkany (lua_state:Byte Ptr, narg:Int) | |
Description | see Lua Reference Manual |
Function luaL_checkinteger:Int (lua_state:Byte Ptr, narg:Int) | |
Description | see Lua Reference Manual |
Function luaL_checklstring:Byte Ptr (lua_state:Byte Ptr, narg:Int, size:Int Ptr) | |
Description | see Lua Reference Manual |
Function luaL_checknumber:Double (lua_state:Byte Ptr, narg:Int) | |
Description | see Lua Reference Manual |
Function luaL_checkstack (lua_state:Byte Ptr, sz:Int, msg$z) ' no 0 expected | |
Description | see Lua Reference Manual |
Function luaL_checktype (lua_state:Byte Ptr, narg:Int, t:Int) | |
Description | see Lua Reference Manual |
Function luaL_checkudata:Byte Ptr (lua_state:Byte Ptr, narg:Int, tname$z) ' no 0 expected | |
Description | see Lua Reference Manual |
Function luaL_getmetafield:Int (lua_state:Byte Ptr, obj:Int, e$z) ' no 0 expected | |
Description | see Lua Reference Manual |
Function luaL_gsub$z (lua_state:Byte Ptr, s$z, p$z, r$z) ' no 0 expected | |
Description | see Lua Reference Manual |
Function luaL_loadbuffer:Int (lua_state:Byte Ptr, buff:Byte Ptr, sz:Int, name$z) ' no 0 expected | |
Description | see Lua Reference Manual |
Function luaL_loadfile:Int (lua_state:Byte Ptr, filename$z) ' no 0 expected | |
Description | see Lua Reference Manual |
Function luaL_loadstring:Int (lua_state:Byte Ptr, s$z) ' no 0 allowed! | |
Description | see Lua Reference Manual |
Function luaL_newmetatable:Int (lua_state:Byte Ptr, tname$z) ' no 0 expected | |
Description | see Lua Reference Manual |
Function luaL_newstate:Byte Ptr () | |
Description | see Lua Reference Manual |
Function luaL_openlibs (lua_state:Byte Ptr) | |
Description | see Lua Reference Manual |
Function luaL_optinteger:Int (lua_state:Byte Ptr, narg:Int, d:Int) | |
Description | see Lua Reference Manual |
Function luaL_optlstring:Byte Ptr (lua_state:Byte Ptr, narg:Int, d$z, size:Int Ptr) ' no 0 expected in "d" | |
Description | see Lua Reference Manual |
Function luaL_optnumber:Double (lua_state:Byte Ptr, narg:Int, d:Double) | |
Description | see Lua Reference Manual |
Function luaL_prepbuffer:Byte Ptr (B:Byte Ptr) | |
Description | see Lua Reference Manual |
Function luaL_pushresult (B:Byte Ptr) | |
Description | see Lua Reference Manual |
Function luaL_ref:Int (lua_state:Byte Ptr, t:Int) | |
Description | see Lua Reference Manual |
Function luaL_register (lua_state:Byte Ptr, libname$z, l:lua_Reg Ptr) ' no 0 expected | |
Description | see Lua Reference Manual |
Function luaL_typerror:Int (lua_state:Byte Ptr, narg:Int, tname$z) ' no 0 expected | |
Description | see Lua Reference Manual |
Function luaL_unref (lua_state:Byte Ptr, t:Int, ref:Int) | |
Description | see Lua Reference Manual |
Function luaL_where (lua_state:Byte Ptr, lvl:Int) | |
Description | see Lua Reference Manual |
Function luaL_addchar (B:Byte Ptr, c:String) | |
Description | see Lua Reference Manual |
Function luaL_argcheck (lua_state:Byte Ptr, cond:Int, narg:Int, extramsg:String) | |
Description | see Lua Reference Manual |
Function luaL_checkint:Int (lua_state:Byte Ptr, narg:Int) | |
Description | see Lua Reference Manual |
Function luaL_checklong:Long (lua_state:Byte Ptr, narg:Int) | |
Description | see Lua Reference Manual |
Function luaL_checkstring:String (lua_state:Byte Ptr, narg:Int) | |
Description | see Lua Reference Manual |
Function luaL_dofile:Int (lua_state:Byte Ptr, filename:String) | |
Description | see Lua Reference Manual |
Function luaL_dostring:Int (lua_state:Byte Ptr, str:String) | |
Description | see Lua Reference Manual |
Function luaL_getmetatable (lua_state:Byte Ptr, tname:String) | |
Description | see Lua Reference Manual |
Function luaL_optint:Int (lua_state:Byte Ptr, narg:Int, d:Int) | |
Description | see Lua Reference Manual |
Function luaL_optlong:Long (lua_state:Byte Ptr, narg:Int, d:Long) | |
Description | see Lua Reference Manual |
Function luaL_optstring:String (lua_state:Byte Ptr, narg:Int, d:String) | |
Description | see Lua Reference Manual |
Function luaL_typename:String (lua_state:Byte Ptr, idx:Int) | |
Description | see Lua Reference Manual |