Модуль lua/utils
Поместить в стек cdata с заданным ctypeid.
CTypeID должен быть хотя бы один раз использован из FFI. Выделенная память возвращается неинициализированной. Поддерживаются только числа и указатели.
Параметры:
-
L(lua_State*) — состояние Lua -
ctypeid(uint32_t) — CTypeID этого cdata из FFI
Возвращает
память, связанную с этим cdata
См. также: luaL_checkcdata()
Проверить, является ли аргумент функции idx объектом cdata.
Параметры:
-
L(lua_State*) — состояние Lua -
idx(int) — индекс стека -
ctypeid(uint32_t*) — выходной аргумент. CTypeID возвращаемого cdata из FFI
Возвращает
память, связанную с этим cdata
См. также: luaL_pushcdata()
Установить функцию-финализатор для объекта cdata.
Эквивалентно вызову ffi.gc(obj, function). Функция-финализатор
должна находиться на вершине стека.
Параметры:
-
L(lua_State*) — состояние Lua -
idx(int) — индекс стека
Вернуть CTypeID (FFI) заданного типа СDATA.
Параметры:
-
L(lua_State*) — состояние Lua -
ctypename(const char*) — имя типа C в виде строки (например, "struct request" или "uint32_t")
Возвращает
CTypeID
См. также: luaL_pushcdata(), luaL_checkcdata()
Объявить символы для FFI.
Параметры:
-
L(lua_State*) — состояние Lua -
ctypename(const char*) — определения C (например, "struct stat")
Возвращает
0 в случае успеха
Возвращает
LUA_ERRRUN, LUA_ERRMEM или LUA_ERRERR в противном случае.
См. также: ffi.cdef(def)
Поместить uint64_t в стек.
Параметры:
-
L(lua_State*) — состояние Lua -
val(uint64_t) — значение для помещения в стек
Поместить int64_t в стек.
Параметры:
-
L(lua_State*) — состояние Lua -
val(int64_t) — значение для помещения в стек
Проверить, является ли аргумент idx значением uint64 или строкой, допускающей преобразование, и вернуть это число.
Показывает ошибку, если аргумент не может быть преобразован.
Проверить, является ли аргумент idx значением int64 или строкой, допускающей преобразование, и вернуть это число.
Показывает ошибку, если аргумент не может быть преобразован.
Проверить, является ли аргумент idx значением uint64 или строкой, допускающей преобразование, и вернуть это число.
Возвращает
преобразованное число или 0, если аргумент не может быть преобразован
Проверить, является ли аргумент idx значением int64 или строкой, допускающей преобразование, и вернуть это число.
Возвращает
преобразованное число или 0, если аргумент не может быть преобразован
Поместить кортеж в стек.
Параметры:
L(lua_State*) — состояние Lua
Показывает ошибку при нехватке памяти (OOM).
См. также: luaT_istuple
Проверить, является ли idx кортежем.
Параметры:
-
L(lua_State*) — состояние Lua -
idx(int) — индекс стека
Возвращает
не NULL, если idx — кортеж
Возвращает
NULL, если idx не является кортежем
Повторно выбросить последнюю ошибку Tarantool в виде объекта Lua.
См. также: lua_error(), box_error_last().
Аналогично lua_cpcall(), но с корректной поддержкой ошибок Tarantool.
Получить глобальное состояние Lua, используемое Tarantool.