{
** $id: lua.h,v 1.175b 2003/03/18 12:31:39 roberto exp $
** lua - an extensible extension language
** tecgraf: computer graphics technology group, puc-rio, brazil
** http://www.lua.org mailto:info@lua.org
** see copyright notice at the end of this file
}
{
this .h header file is translated by melice
}
unit lua;
interface
const
luadll = 'lualibdll.dll';
type
lua_state = pointer;
int = integer;
size_t = int;
va_list = int;
const
slua_version = 'lua 5.0.2';
slua_copyright = 'copyright (c) 1994-2004 tecgraf, puc-rio';
slua_authors = 'r. ierusalimschy, l. h. de figueiredo & w. celes';
{ option for multiple returns in `lua_pcall' and `lua_call' }
lua_multret = -1;
{
** pseudo-indices
}
lua_registryindex = -10000;
lua_globalsindex = -10001;
// #define lua_upvalueindex(i) (lua_globalsindex-(i))
{ error codes for `lua_load' and `lua_pcall' }
lua_errrun = 1;
lua_errfile = 2;
lua_errsyntax = 3;
lua_errmem = 4;
lua_errerr = 5;
// typedef struct lua_state lua_state;
type
lua_cfunction = function(l: lua_state): int;
{
** functions that read/write blocks when loading/dumping lua chunks
}
lua_chunkreader = function(l: lua_state; ud: pointer; sz: size_t): pchar;
lua_chunkwriter = function(l: lua_state; p: pointer; sz: size_t; ud: pointer):
int;
{
** basic types
}
const
lua_tnone = -1;
lua_tnil = 0;
lua_tboolean = 1;
lua_tlightuserdata = 2;
lua_tnumber = 3;
lua_tstring = 4;
lua_ttable = 5;
lua_tfunction = 6;
lua_tuserdata = 7;
lua_tthread = 8;
{ minimum lua stack available to a c function }
lua_minstack = 20;
{
** generic extra include file
}
{ type of numbers in lua }
type
lua_number = double;
{
** state manipulation
}
function lua_open: lua_state; stdcall; external luadll;
procedure lua_close(l: lua_state); stdcall; external luadll;
function lua_newthread(l: lua_state): lua_state; stdcall; external luadll;
function lua_atpanic(l: lua_state; panicf: lua_cfunction): lua_cfunction;
stdcall; external luadll;
{
** basic stack manipulation
}
function lua_gettop(l: lua_state): int; stdcall; external luadll;
procedure lua_settop(l: lua_state; idx: int); stdcall; external luadll;
procedure lua_pushvalue(l: lua_state; idx: int); stdcall; external luadll;
procedure lua_remove(l: lua_state; idx: int); stdcall; external luadll;
procedure lua_insert(l: lua_state; idx: int); stdcall; external luadll;
procedure lua_replace(l: lua_state; idx: int); stdcall; external luadll;
function lua_checkstack(l: lua_state; sz: int): int; stdcall; external luadll;
procedure lua_xmove(fromls: lua_state; tols: lua_state; n: int); stdcall;
external
luadll;
{
** access functions (stack -> c)
}
function lua_isnumber(l: lua_state; idx: int): int; stdcall; external luadll;
function lua_isstring(l: lua_state; idx: int): int; stdcall; external luadll;
function lua_iscfunction(l: lua_state; idx: int): int; stdcall; external luadll;
function lua_isuserdata(l: lua_state; idx: int): int; stdcall; external luadll;
function lua_type(l: lua_state; idx: int): int; stdcall; external luadll;
function lua_typename(l: lua_state; tp: int): pchar; stdcall; external luadll;
function lua_equal(l: lua_state; idx1: int; idx2: int): int; stdcall; external
luadll;
function lua_rawequal(l: lua_state; idx1: int; idx2: int): int; stdcall; external
luadll;
function lua_lessthan(l: lua_state; idx1: int; idx2: int): int; stdcall; external
luadll;
function lua_tonumber(l: lua_state; idx: int): lua_number; stdcall; external
luadll;
function lua_toboolean(l: lua_state; idx: int): int; stdcall; external luadll;
function lua_tostring(l: lua_state; idx: int): pchar; stdcall; external luadll;
function lua_strlen(l: lua_state; idx: int): size_t; stdcall; external luadll;
function lua_tocfunction(l: lua_state; idx: int): lua_cfunction; stdcall;
external luadll;
procedure lua_touserdata(l: lua_state; idx: int); stdcall; external luadll;