{** $ ID: Lauxlib.h, V 1.60 2003/04/03 13:35:34 Roberto EXP $ ** AUXILIARY FUNCTIONS for building Lua LUA LIBRARIES ** See CopyRight Notice In Lua.h} {this .h Header File IS Translated by Melice}
Unit lauxlib;
Interface
Uses Lua;
TYPE LUAL_REG = Record Name: PCHAR; FUNC: Lua_cfunction;
Procedure lual_openlib (l: Lua_State; libName: pchar; lr: lual_reg; nup: int); stdcall; external luadll;
function luaL_getmetafield (L: lua_State; obj: int; e: pchar): int; stdcall; external Luadll; function luaL_callmeta (L: lua_State; obj: int; e: pchar): int; stdcall; external Luadll; function luaL_typerror (L : lua_State; narg: int; tname: pchar): int; stdcall; external Luadll; function luaL_argerror (L: lua_State; numarg: int; extramsg: pchar): int; stdcall; external Luadll; function luaL_checklstring (L: lua_State; numArg : int; st: size_t): pchar; stdcall; external luadll;
Function LUAL_OPTLSTRING (L: Lua_State; Numarg: int; DEF: PCHAR; SZ: SIZE_T): PCHAR; STDCALL; External Luadll;
function luaL_checknumber (L: lua_State; numArg: int): lua_Number; stdcall; external Luadll; function luaL_optnumber (L: lua_State; nArg: int; def: lua_Number): lua_Number; stdcall; external Luadll;
procedure luaL_checkstack (L: lua_State; sz: int; msg: pchar); stdcall; external Luadll; procedure luaL_checktype (L: lua_State; narg: int; t: int); stdcall; external Luadll; procedure luaL_checkany (L: lua_State; narg : int); stdcall; external luadll;
function luaL_newmetatable (L: lua_State; tname: pchar): int; stdcall; external Luadll; procedure luaL_getmetatable (L: lua_State; tname: pchar); stdcall; external Luadll; procedure luaL_checkudata (L: lua_State; ud: int; tname: pchar STDCALL; EXTERNAL LUADLL;
procedure luaL_where (L: lua_State; lvl: int); stdcall; external Luadll; function luaL_error (L: lua_State; fmt: pchar): int; stdcall; external Luadll; function luaL_findstring (st: pchar; lst: pchar): int; STDCALL; EXTERNAL Luadll;
Function LUAL_REF (l: Lua_State; T: int): int; stdcall; External Luadll; procedure lual_unref (lua_state; t: int; ref: int); stdcall; external luadll;
Function LUAL_GETN (l: Lua_State; T: int): int; stdcall; external luadll; procedure lual_setn (l: lua_state; t: int; n: int); external luadll;
function luaL_loadfile (L: lua_State; filename: pchar): int; stdcall; external Luadll; function luaL_loadbuffer (L: lua_State; buff: pchar; sz: size_t; name: pchar): int; stdcall; external Luadll;
{** ============================================================================================================================================================================================================ ================ ** Some useful macros ** =========================== =============================================} {# Define LUAL_ARGCHECK (L, COND, NUMARG, EXTRAMSG) IF (! (COND) / LUAL_ARGERROR (L, Numarg, Extramsg) #define LUAL_CHECKSTRING (L, N) (LUAL_CHECKLSTRING (L, (N), NULL) # Define LUAL_OPTSTRING (LUAL_OPTLSTRING (L, N, D) , (n), (d), null) # define lual_checkint (L, N) ((int) LUAL_CHECKNUMBER (L, N)) # Define LUAL_CHECKLONG (L, N) ((long) LUAL_CHECKNUMBER (L, N)) #define lual_optint (L, N, D) ((int) LUAL_OPTNUMBER (L, N, (Lua_Number) (D))) # Define LUAL_OPTLONG (L, N, D) ((long) LUAL_OPTNUMBER (LUA_NUMBER ) (d)))}
{** {============================================== ======== ** generic buffer manipulation ** ===================================== =====================} const buffs = 60; LUAL_BUFFERSIZE = BUFSIZ; TYPE LUAL_BUFFER = Record P: Pchar; {Current Position In Buffer} lvl: int; {Number Of strings in the stack (level)} l: Lua_State; Buffer: array [0.luff) of Pchar; END;
Var LuAlBuffer: LUAL_BUFFER;
{#Define lual_putchar (b, c) / ((void) ((b) -> P <((b) -> buffer lual_buffers | || LUAL_PREPBUFFER (B)), / (* (b) -> p = (PCHAR) (C)))))
#define lual_addsize (b, n) ((b) -> p = (n))}
procedure luaL_buffinit (L: lua_State; B: luaL_Buffer); stdcall; external Luadll; function luaL_prepbuffer (B: luaL_Buffer): pchar; stdcall; external Luadll; procedure luaL_addlstring (B: luaL_Buffer; s: pchar; l: size_t); stdcall; external Luadll; procedure luaL_addstring (B: luaL_Buffer; s: pchar); stdcall; external Luadll; procedure luaL_addvalue (B: luaL_Buffer); stdcall; external Luadll; procedure luaL_pushresult (B: luaL_Buffer); stdcall; external Luadll;
{================================================================================================================================================================================================================ =====} {** compatibility macros and functions}
function lua_dofile (L: lua_State; filename: pchar): int; stdcall; external Luadll; function lua_dostring (L: lua_State; str: pchar): int; stdcall; external Luadll; function lua_dobuffer (L: lua_State; buff: pchar; sz : size_t; n: pchar): int; stdcall; external luadll;
{ConstluaL_check_lstr = luaL_checklstring; luaL_opt_lstr = luaL_optlstring; luaL_check_number = luaL_checknumber; luaL_opt_number = luaL_optnumber; luaL_arg_check = luaL_argcheck; luaL_check_string = luaL_checkstring; luaL_opt_string = luaL_optstring; luaL_check_int = luaL_checkint; luaL_check_long = luaL_checklong; luaL_opt_int = luaL_optint; luaL_opt_long = luaL_optlong;
}
IMPLEMentation
End.