# Symbols exported by the main Tarantool executable.
#
# Keep the symbols sorted by name for search and addition
# simplicity, to avoid duplicates. LuaJIT symbols are grouped
# within a separate section. Others are not grouped at all since
# some symbols will end-up belonging to several of them at once,
# and it would require moving lines here when a symbol goes from
# privately exported to the public C API.
#
# To sort symbols use `LC_COLLATE="C" sort -f`.

base64_decode
base64_decode_bufsize
base64_encode
base64_encode_bufsize
box_dd_version_id
box_decimal_abs
box_decimal_add
box_decimal_compare
box_decimal_copy
box_decimal_div
box_decimal_exp
box_decimal_floor
box_decimal_from_double
box_decimal_from_int64
box_decimal_from_string
box_decimal_from_uint64
box_decimal_is_int
box_decimal_is_neg
box_decimal_ln
box_decimal_log10
box_decimal_minus
box_decimal_mp_sizeof
box_decimal_mp_encode
box_decimal_mp_decode
box_decimal_mp_decode_data
box_decimal_mul
box_decimal_pow
box_decimal_precision
box_decimal_remainder
box_decimal_rescale
box_decimal_round
box_decimal_scale
box_decimal_scale_from_int32
box_decimal_scale_from_int64
box_decimal_scale_from_int128
box_decimal_scale_from_int256
box_decimal_scale_to_int32
box_decimal_scale_to_int64
box_decimal_scale_to_int128
box_decimal_scale_to_int256
box_decimal_sqrt
box_decimal_sub
box_decimal_to_int64
box_decimal_to_string
box_decimal_to_uint64
box_decimal_trim
box_decimal_zero
box_delete
box_error_clear
box_error_code
box_error_custom_type
box_error_last
box_error_message
box_error_set
box_error_type
box_ibuf_read_range
box_ibuf_reserve
box_ibuf_write_range
box_index_bsize
box_index_count
box_index_get
box_index_id_by_name
box_index_iterator
box_index_iterator_with_offset
box_index_len
box_index_max
box_index_min
box_index_quantile
box_index_random
box_index_tuple_position
box_info_lsn
box_init_latest_dd_version_id
box_insert
box_insert_arrow
box_iproto_override
box_iproto_send
box_is_ro
box_iterator_free
box_iterator_next
box_key_def_delete
box_key_def_dump_parts
box_key_def_dup
box_key_def_extract_key
box_key_def_merge
box_key_def_new
box_key_def_new_v2
box_key_def_validate_full_key
box_key_def_validate_key
box_key_def_validate_tuple
box_key_part_def_create
box_latch_delete
box_latch_lock
box_latch_new
box_latch_trylock
box_latch_unlock
box_latest_dd_version_id
box_on_shutdown
box_read_ffi_disable
box_read_ffi_is_disabled
box_region_aligned_alloc
box_region_alloc
box_region_truncate
box_region_used
box_replace
box_return_mp
box_return_tuple
box_ro_reason
box_schema_needs_upgrade
box_schema_upgrade_begin
box_schema_upgrade_end
box_schema_version
box_select_ffi
box_sequence_current
box_sequence_next
box_sequence_reset
box_sequence_set
box_session_id
box_session_push
box_slab_info
box_space_id_by_name
box_status
box_truncate
box_tuple_bsize
box_tuple_compare
box_tuple_compare_with_key
box_tuple_data
box_tuple_extract_key
box_tuple_field
box_tuple_field_by_path
box_tuple_field_count
box_tuple_format
box_tuple_format_default
box_tuple_format_new
box_tuple_format_ref
box_tuple_format_unref
box_tuple_iterator
box_tuple_iterator_free
box_tuple_new
box_tuple_next
box_tuple_position
box_tuple_ref
box_tuple_rewind
box_tuple_seek
box_tuple_to_buf
box_tuple_unref
box_tuple_update
box_tuple_upsert
box_tuple_validate
box_txn
box_txn_alloc
box_txn_begin
box_txn_commit
box_txn_id
box_txn_isolation
box_txn_make_sync
box_txn_rollback
box_txn_rollback_to_savepoint
box_txn_savepoint
box_txn_set_isolation
box_txn_set_timeout
box_update
box_upsert
box_wait_ro
clock_monotonic
clock_monotonic64
clock_process
clock_process64
clock_realtime
clock_realtime64
clock_thread
clock_thread64
coio_call
coio_close
coio_getaddrinfo
coio_wait
console_get_output_format
console_set_output_format
cord_ibuf_drop
cord_ibuf_put
cord_ibuf_take
cord_is_main
crc32_calc
crypto_ERR_error_string
crypto_ERR_get_error
crypto_EVP_DigestFinal_ex
crypto_EVP_DigestInit_ex
crypto_EVP_DigestUpdate
crypto_EVP_get_digestbyname
crypto_EVP_MD_CTX_free
crypto_EVP_MD_CTX_new
crypto_HMAC_CTX_free
crypto_HMAC_CTX_new
crypto_HMAC_Final
crypto_HMAC_Init_ex
crypto_HMAC_Update
crypto_stream_append
crypto_stream_begin
crypto_stream_commit
crypto_stream_delete
crypto_stream_new
crypto_X509_get_default_cert_dir_env
crypto_X509_get_default_cert_file_env
csv_create
csv_destroy
csv_escape_field
csv_feed
csv_iterator_create
csv_next
csv_setopt
decimal_from_string
decimal_unpack
error_find_field
error_ref
error_set_prev
error_to_string
error_unpack
error_unref
fiber_attr_delete
fiber_attr_getstacksize
fiber_attr_new
fiber_attr_setstacksize
fiber_cancel
fiber_clock
fiber_clock64
fiber_cond_broadcast
fiber_cond_delete
fiber_cond_new
fiber_cond_signal
fiber_cond_wait
fiber_cond_wait_timeout
fiber_csw
fiber_find
fiber_get_ctx
fiber_id
fiber_is_cancelled
fiber_join
fiber_join_timeout
fiber_name
fiber_new
fiber_new_ex
fiber_reschedule
fiber_self
fiber_set_cancellable
fiber_set_ctx
fiber_set_joinable
fiber_set_name_n
fiber_sleep
fiber_start
fiber_time
fiber_time64
fiber_wakeup
fiber_yield
guava
ibuf_create
ibuf_destroy
ibuf_reinit
ibuf_reserve_slow
lbox_socket_local_resolve
lbox_socket_nonblock
log_format
log_level
log_level_flightrec
log_pid
log_write_flightrec_from_lua
luaL_cdef
luaL_checkcdata
luaL_checkint64
luaL_checkuint64
luaL_ctypeid
luaL_iscallable
luaL_iscdata
luaL_isnull
luaL_pushcdata
luaL_pushint64
luaL_pushnull
luaL_pushuint64
luaL_setcdatagc
luaL_toint64
luaL_touint64
luaT_call
luaT_checktuple
luaT_cpcall
luaT_error
luaT_isdecimal
luaT_istuple
luaT_newdecimal
luaT_pushdecimal
luaT_pushtuple
luaT_state
luaT_toibuf
luaT_tolstring
luaT_tuple_encode
luaT_tuple_new
memtx_tx_manager_use_mvcc_engine
PMurHash32
PMurHash32_Process
PMurHash32_Result
port_destroy
random_bytes
say_check_cfg
say_from_lua
say_get_log_level
say_get_module_log_level
say_logger_init
say_logger_initialized
say_logrotate
say_set_log_format
say_set_log_level
say_set_modules
space_bsize
space_by_id
space_run_triggers
string_strip_helper
swim_add_member
swim_broadcast
swim_cfg
swim_is_configured
swim_iterator_close
swim_iterator_next
swim_iterator_open
swim_member_by_uuid
swim_member_incarnation
swim_member_is_dropped
swim_member_is_payload_up_to_date
swim_member_payload
swim_member_ref
swim_member_status
swim_member_unref
swim_member_uri
swim_member_uuid
swim_probe_member
swim_quit
swim_remove_member
swim_self
swim_set_codec
swim_set_payload
swim_size
system_spaces_update_is_sync_state_from_compat
tarantool_lua_slab_cache
tarantool_uptime
tarantool_version
title_get
title_get_custom
title_get_interpretor_name
title_get_script_name
title_get_status
title_set_custom
title_set_interpretor_name
title_set_script_name
title_set_status
title_update
tnt_datetime_datetime_sub
tnt_datetime_increment_by
tnt_datetime_isdst
tnt_datetime_now
tnt_datetime_parse_full
tnt_datetime_parse_tz
tnt_datetime_strftime
tnt_datetime_strptime
tnt_datetime_to_string
tnt_datetime_totable
tnt_datetime_unpack
tnt_default_cert_dir_paths
tnt_default_cert_file_paths
tnt_dt_add_months
tnt_dt_days_in_month
tnt_dt_dom
tnt_dt_dow
tnt_dt_doy
tnt_dt_from_rdn
tnt_dt_from_ymd
tnt_dt_from_ymd_checked
tnt_dt_month
tnt_dt_parse_iso_date
tnt_dt_parse_iso_time
tnt_dt_parse_iso_zone_lenient
tnt_dt_to_ymd
tnt_dt_year
tnt_iconv
tnt_iconv_close
tnt_iconv_open
tnt_internal_symbol
tnt_interval_to_string
tnt_interval_interval_sub
tnt_interval_interval_add
tnt_interval_unpack
tnt_mp_decode_double
tnt_mp_decode_extl
tnt_mp_decode_float
tnt_mp_encode_datetime
tnt_mp_encode_decimal
tnt_mp_encode_double
tnt_mp_encode_error
tnt_mp_encode_float
tnt_mp_encode_interval
tnt_mp_encode_uuid
tnt_mp_sizeof_datetime
tnt_mp_sizeof_decimal
tnt_mp_sizeof_error
tnt_mp_sizeof_interval
tnt_mp_sizeof_uuid
tnt_rl_get_screen_size
tnt_ssl_cert_paths_discover
tnt_tx_flush
tnt_tx_push
tnt_XXH32
tnt_XXH32_copyState
tnt_XXH32_digest
tnt_XXH32_reset
tnt_XXH32_update
tnt_XXH64
tnt_XXH64_copyState
tnt_XXH64_digest
tnt_XXH64_reset
tnt_XXH64_update
tt_strerror
tt_ulid_compare
tt_ulid_create
tt_ulid_from_string
tt_ulid_is_equal
tt_ulid_is_nil
tt_ulid_to_string
tt_uuid_bswap
tt_uuid_compare
tt_uuid_create
tt_uuid_from_string
tt_uuid_is_equal
tt_uuid_is_nil
tt_uuid_to_string
uri_destroy
uri_format
uri_set_destroy
uri_escape
uri_unescape
ulid_nil
uuid_nil
uuid_unpack
_say
_say_strerror

# LuaJIT API {{{

# Interfaces from the Lua 5.0 Reference Manual (i.e. Lua C API
# function from lua.h). Mostly deprecated or substituted by
# something new. Left only for compatibility.
# XXX: Interfaces implemented via C macros are also listed below
# only for consistency.
# <lua_getgccount> is a macro to <lua_gc>
# <lua_getregistry> is a macro to <lua_pushvalue>
# <lua_open> is a macro to <luaL_newstate>
# <lua_strlen> is a macro to <lua_objlen>

# Auxiliary interfaces from the Lua 5.0 Reference Manual (i.e. Lua
# auxiliary library functions from lauxlib.h). Mostly deprecated
# or substituted by something new. Left only for compatibility.
# XXX: Interfaces implemented via C macros are also listed below
# only for consistency.
# <luaL_putchar> is a macro to <luaL_addchar>

# Interfaces to load particular Lua builtin module (i.e. Lua
# library loaders from lualib.h). Use <lua_openlibs> in favor to
# any of them.
luaopen_base
luaopen_debug
luaopen_io
luaopen_math
luaopen_os
luaopen_package
luaopen_string
luaopen_table

# Interfaces from the Lua 5.1 Reference Manual (i.e. Lua C API
# functions from lua.h).
# XXX: Interfaces implemented via C macros are also listed below
# only for consistency.
lua_atpanic
lua_call
lua_checkstack
lua_close
lua_concat
lua_cpcall
lua_createtable
lua_dump
lua_equal
lua_error
lua_gc
lua_getallocf
lua_getfenv
lua_getfield
# <lua_getglobal> is a macro to <lua_getfield>.
lua_gethook
lua_gethookcount
lua_gethookmask
lua_getinfo
lua_getlocal
lua_getmetatable
lua_getstack
lua_gettable
lua_gettop
lua_getupvalue
lua_insert
# <lua_isboolean> is a macro to <lua_type>.
lua_iscfunction
# <lua_isfunction> is a macro to <lua_type>.
# <lua_islightuserdata> is a macro to <lua_type>.
# <lua_isnil> is a macro to <lua_type>.
# <lua_isnone> is a macro to <lua_type>.
# <lua_isnoneornil> is a macro to <lua_type>.
lua_isnumber
lua_isstring
# <lua_istable> is a macro to <lua_type>.
# <lua_isthread> is a macro to <lua_type>.
lua_isuserdata
lua_lessthan
lua_load
lua_newstate
# <lua_newtable> is a macro to <lua_createtable>.
lua_newthread
lua_newuserdata
lua_next
lua_objlen
lua_pcall
# <lua_pop> is a macro to <lua_settop>.
lua_pushboolean
lua_pushcclosure
# <lua_pushcfunction> is a macro to <lua_pushcclosure>.
lua_pushfstring
lua_pushinteger
lua_pushlightuserdata
# <lua_pushliteral> is a macro to <lua_pushlstring>.
lua_pushlstring
lua_pushnil
lua_pushnumber
lua_pushstring
lua_pushthread
lua_pushvalue
lua_pushvfstring
lua_rawequal
lua_rawget
lua_rawgeti
lua_rawset
lua_rawseti
# <lua_register> is a macro to <lua_pushcfunction> + <lua_setglobal>.
lua_remove
lua_replace
lua_resume
lua_setallocf
lua_setfenv
lua_setfield
# <lua_setglobal> is a macro to <lua_setfield>.
lua_sethook
lua_setlocal
lua_setmetatable
lua_settable
lua_settop
lua_setupvalue
lua_status
lua_toboolean
lua_tocfunction
lua_tointeger
lua_tolstring
lua_tonumber
lua_topointer
# <lua_tostring> is a macro to <lua_tolstring>.
lua_tothread
lua_touserdata
lua_type
lua_typename
# <lua_upvalueindex> is a macro to LUA_GLOBALSINDEX.
lua_xmove
lua_yield

# Auxiliary interfaces from the Lua 5.1 Reference Manual (i.e. Lua
# auxiliary library functions from lauxlib.h).
# XXX: Interfaces implemented via C macros are also listed below
# only for consistency.
# <luaL_addchar> is a macro.
luaL_addlstring
# <luaL_addsize> is a macro.
luaL_addstring
luaL_addvalue
# <luaL_argcheck> is a macro to <luaL_argerror>.
luaL_argerror
luaL_buffinit
luaL_callmeta
luaL_checkany
# <luaL_checkint> is a macro to <luaL_checkinteger>.
luaL_checkinteger
# <luaL_checklong> is a macro to <luaL_checkinteger>.
luaL_checklstring
luaL_checknumber
luaL_checkoption
luaL_checkstack
# <luaL_checkstring> is a macro to <luaL_checklstring>.
luaL_checktype
luaL_checkudata
# <luaL_dofile> is a macro to <luaL_loadfile> + <lua_pcall>.
# <luaL_dostring> is a macro to <luaL_loadstring> + <lua_pcall>.
luaL_error
luaL_getmetafield
# <luaL_getmetatable> is a macro to <lua_getfield> + LUA_REGISTRYINDEX.
luaL_gsub
luaL_loadbuffer
luaL_loadfile
luaL_loadstring
luaL_newmetatable
luaL_newstate
luaL_openlibs
# <luaL_optint> is a macro to <luaL_optinteger>.
luaL_optinteger
# <luaL_optlong> is a macro to <luaL_optinteger>.
luaL_optlstring
luaL_optnumber
# <luaL_optstring> is a macro to <luaL_optlstring>.
luaL_prepbuffer
luaL_pushresult
luaL_ref
luaL_register
# <luaL_typename> is a macro to <lua_typename>.
luaL_typerror
luaL_unref
luaL_where

# Interfaces from the Lua 5.2 Reference Manual (i.e. Lua C API
# functions from lua.h).
# XXX: Interfaces implemented via C macros are also listed below
# only for consistency.
lua_copy
lua_loadx
lua_tointegerx
lua_tonumberx
lua_upvalueid
lua_upvaluejoin
lua_version

# Auxiliary interfaces from the Lua 5.2 Reference Manual (i.e. Lua
# auxiliary library functions from lauxlib.h).
# XXX: Interfaces implemented via C macros are also listed below
# only for consistency.
luaL_execresult
luaL_fileresult
luaL_loadbufferx
luaL_loadfilex
# <luaL_newlibtable> is a macro to <lua_createtable>.
# <luaL_newlib> is a macro to <luaL_newlibtable> + <luaL_setfuncs>.
# XXX: Interface to provide compatibility with old module system.
# Not listed in Reference Manual, but is introduced in Lua 5.2.
luaL_openlib
# XXX: Interface to provide compatibility with old module system.
# Not listed in Reference Manual, but is introduced in Lua 5.2.
luaL_pushmodule
luaL_setfuncs
luaL_setmetatable
luaL_testudata
luaL_traceback

# Interfaces from the Lua 5.3 Reference Manual (i.e. Lua C API
# functions from lua.h).
# XXX: Interfaces implemented via C macros are also listed below
# only for consistency.
lua_isyieldable

# Auxiliary interfaces from the Lua 5.3 Reference Manual (i.e. Lua
# auxiliary library functions from lauxlib.h).
# XXX: Interfaces implemented via C macros are also listed below
# only for consistency.
# <luaL_opt> is a macro to <lua_isnoneornil>.

# Interfaces provided by LuaJIT (i.e. public functions from
# luajit.h).
luaJIT_profile_dumpstack
luaJIT_profile_start
luaJIT_profile_stop
luaJIT_setmode
luaJIT_version_2_1_0_beta3

# Auxiliary interfaces provided by LuaJIT (i.e. public
# functions from lauxlib.h, which are neither listed in any Lua
# Reference Manual, nor found in Lua source code).
luaL_findtable

# Interfaces to load particular LuaJIT builtin module (listed in
# lualib.h for consistency). # Use <lua_openlibs> in favor to any
# of them.
luaopen_bit
luaopen_ffi
luaopen_jit

# Interfaces provided by Tarantool LuaJIT fork (i.e. public
# functions from lmisclib.h)
luaM_metrics
luaM_sysprof_report
luaM_sysprof_set_backtracer
luaM_sysprof_set_on_stop
luaM_sysprof_set_writer
luaM_sysprof_start
luaM_sysprof_stop

# Interface to load misc builtin module. Use <lua_openlibs> in
# favor to it.
luaopen_misc

# }}} LuaJIT API
