Module lua/utils
-
void *
luaL_pushcdata
(struct lua_State *L, uint32_t ctypeid)¶ Занесение cdata заданного
ctypeid
в стек.CTypeID должен быть использован хотя бы один раз из FFI. Выделенная область памяти возвращается неинициализированной. Поддерживаются только числа и указатели.
Параметры: - L (lua_State*) – Lua_State
- ctypeid (uint32_t) – CTypeID из FFI для cdata
Результат: область памяти, ассоциированная с cdata
См. также luaL_checkcdata()
-
void *
luaL_checkcdata
(struct lua_State *L, int idx, uint32_t *ctypeid)¶ Проверка, является ли аргумент функции
idx
cdata.Параметры: - L (lua_State*) – Lua_State
- idx (int) – индекс стека
- ctypeid (uint32_t*) – аргумент вывода. CTypeID из FFI для возвращаемого cdata
Результат: область памяти, ассоциированная с cdata
См. также luaL_pushcdata()
-
void
luaL_setcdatagc
(struct lua_State *L, int idx)¶ Определение функции-финализатора для cdata.
Аналог вызова
ffi.gc(obj, function)
. Функция-финализатор должна быть на вершине стека.Параметры: - L (lua_State*) – Lua_State
- idx (int) – индекс стека
-
uint32_t
luaL_ctypeid
(struct lua_State *L, const char *ctypename)¶ Возврат CTypeID (FFI) заданного типа СDATA.
Параметры: - L (lua_State*) – Lua_State
- ctypename (const char*) – Имя типа в C в виде строки (например, «struct request» или «uint32_t»)
Результат: CTypeID
См. также luaL_pushcdata(), luaL_checkcdata()
-
int
luaL_cdef
(struct lua_State *L, const char *ctypename)¶ Объявление символов для FFI.
Параметры: - L (lua_State*) – Lua_State
- ctypename (const char*) – C-определения (например, «struct stat»)
Результат: 0, если выполнено
Результат: LUA_ERRRUN
,LUA_ERRMEM
илиLUA_ERRERR
, в противном случае.См. также
ffi.cdef(def)
-
void
luaL_pushuint64
(struct lua_State *L, uint64_t val)¶ Принудительная передача uint64_t в стек.
Параметры: - L (lua_State*) – Lua_State
- val (uint64_t) – передаваемое значение
-
void
luaL_pushint64
(struct lua_State *L, int64_t val)¶ Принудительная передача int64_t в стек.
Параметры: - L (lua_State*) – Lua_State
- val (int64_t) – передаваемое значение
-
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.
выбрасывает: ошибку, если аргумент нельзя конвертировать
-
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.
выбрасывает: ошибку, если аргумент нельзя конвертировать
-
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.
Результат: конвертированное число или 0, если аргумент нельзя конвертировать
-
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.
Результат: конвертированное число или 0, если аргумент нельзя конвертировать
-
void
luaT_pushtuple
(struct lua_State *L, box_tuple_t *tuple)¶ Принудительная передача кортежа в стек.
Параметры: - L (lua_State*) – Lua_State
выбрасывает: ошибка при нехватке памяти
См. также luaT_istuple
-
box_tuple_t *
luaT_istuple
(struct lua_State *L, int idx)¶ Проверка, является ли
idx
кортежем.Параметры: - L (lua_State*) – Lua_State
- idx (int) – индекс стека
Результат: не NULL, если
idx
– это кортежРезультат: NULL, если
idx
– это не кортеж
-
int
luaT_error
(lua_State *L)¶ Повторение последней ошибки в Tarantool в виде Lua-объекта.
- См. также lua_error(),
- box_error_last().
-
int
luaT_cpcall
(lua_State *L, lua_CFunction func, void *ud)¶ Аналог lua_cpcall(), но с соответствующей поддержкой ошибок Tarantool.
-
lua_State *
luaT_state
(void)¶ Получение глобального состояния Lua, используемого Tarantool.