Tarantool CE/EE Documentation portal logo
Support
Updated at August 24, 2026   05:21 PM

Module lua/utils

void *luaL_pushcdata(struct lua_State *L, uint32_t ctypeid)

Push cdata of given ctypeid onto the stack.

CTypeID must be used from FFI at least once. Allocated memory returned uninitialized. Only numbers and pointers are supported.

Parameters:

  • L (lua_State*) — Lua State

  • ctypeid (uint32_t) — FFI's CTypeID of this cdata

Returns

memory associated with this cdata

See also: luaL_checkcdata()

void *luaL_checkcdata(struct lua_State *L, int idx, uint32_t *ctypeid)

Check whether the function argument idx is a cdata.

Parameters:

  • L (lua_State*) — Lua State

  • idx (int) — stack index

  • ctypeid (uint32_t*) — output argument. FFI's CTypeID of returned cdata

Returns

memory associated with this cdata

See also: luaL_pushcdata()

void luaL_setcdatagc(struct lua_State *L, int idx)

Set finalizer function on a cdata object.

Equivalent to call ffi.gc(obj, function). Finalizer function must be on the top of the stack.

Parameters:

  • L (lua_State*) — Lua State

  • idx (int) — stack index

uint32_t luaL_ctypeid(struct lua_State *L, const char *ctypename)

Return CTypeID (FFI) of given СDATA type.

Parameters:

  • L (lua_State*) — Lua State

  • ctypename (const char*) — C type name as string (e.g. "struct request" or "uint32_t")

Returns

CTypeID

See also: luaL_pushcdata(), luaL_checkcdata()

int luaL_cdef(struct lua_State *L, const char *ctypename)

Declare symbols for FFI.

Parameters:

  • L (lua_State*) — Lua State

  • ctypename (const char*) — C definitions (e.g. "struct stat")

Returns

0 on success

Returns

LUA_ERRRUN, LUA_ERRMEM or LUA_ERRERR otherwise.

See also: ffi.cdef(def)

void luaL_pushuint64(struct lua_State *L, uint64_t val)

Push uint64_t onto the stack.

Parameters:

  • L (lua_State*) — Lua State

  • val (uint64_t) — value to push

void luaL_pushint64(struct lua_State *L, int64_t val)

Push int64_t onto the stack.

Parameters:

  • L (lua_State*) — Lua State

  • val (int64_t) — value to push

uint64_t luaL_checkuint64(struct lua_State *L, int idx)

Check whether the argument idx is a uint64 or a convertible string and returns this number.

throws : error if the argument can't be converted

uint64_t luaL_checkint64(struct lua_State *L, int idx)

Check whether the argument idx is a int64 or a convertible string and returns this number.

throws : error if the argument can't be converted

uint64_t luaL_touint64(struct lua_State *L, int idx)

Check whether the argument idx is a uint64 or a convertible string and returns this number.

Returns

the converted number or 0 of argument can't be converted

int64_t luaL_toint64(struct lua_State *L, int idx)

Check whether the argument idx is a int64 or a convertible string and returns this number.

Returns

the converted number or 0 of argument can't be converted

void luaT_pushtuple(struct lua_State *L, box_tuple_t *tuple)

Push a tuple onto the stack.

Parameters:

  • L (lua_State*) — Lua State

throws : error on OOM

See also: luaT_istuple

box_tuple_t *luaT_istuple(struct lua_State *L, int idx)

Check whether idx is a tuple.

Parameters:

  • L (lua_State*) — Lua State

  • idx (int) — the stack index

Returns

non-NULL if idx is a tuple

Returns

NULL if idx is not a tuple

int luaT_error(lua_State *L)

Re-throw the last Tarantool error as a Lua object.

See also: lua_error(),

: box_error_last().

int luaT_cpcall(lua_State *L, lua_CFunction func, void *ud)

Similar to lua_cpcall(), but with the proper support of Tarantool errors.

lua_State *luaT_state(void)

Get the global Lua state used by Tarantool.