LUA_HOOK(3) | Library Functions Manual | LUA_HOOK(3) |
lua_Hook
— type
for debugging hook functions
#include
<lua.h>
typedef void *
lua_Hook
(lua_State
*L, lua_Debug
*ar);
lua_Hook
()
type for debugging hook functions.
Whenever a hook is called, its ar argument has its field event set
to the specific event that triggered the hook. Lua identifies these events
with the following constants: LUA_HOOKCALL
,
LUA_HOOKRET
,
LUA_HOOKTAILRET
,
LUA_HOOKLINE
, and
LUA_HOOKCOUNT
. Moreover, for line events, the field
currentline is also set. To get the value of any other field in ar, the hook
must call lua_getinfo(3). For return events, event can be
LUA_HOOKRET
, the normal value, or
LUA_HOOKTAILRET
. In the latter case, Lua is
simulating a return from a function that did a tail call; in this case, it
is useless to call lua_getinfo(3).
While Lua is running a hook, it disables other calls to hooks. Therefore, if a hook calls back Lua to execute a function or a chunk, this execution occurs without any calls to hooks.
Roberto Ierusalimschy, Luiz Henrique de Figueiredo, and Waldemar Celes, Lua 5.1 Reference Manual.
The lua_Hook
() manual page is based on Lua
Reference Manual 5.1 and was created by Sergey Bronnikov.
July 18, 2022 | Debian |