Current section

Files

Jump to
wasmex lib wasmex native.ex
Raw

lib/wasmex/native.ex

defmodule Wasmex.Native do
@moduledoc """
Contains calls that are implemented in our Rust NIF.
Functions in this module are not intended to be called directly.
"""
use Rustler, otp_app: :wasmex
def instance_new_from_bytes(_bytes, _imports), do: error()
def instance_function_export_exists(_resource, _function_name), do: error()
def instance_call_exported_function(_resource, _function_name, _params, _from), do: error()
def namespace_receive_callback_result(_callback_token, _success, _params), do: error()
def memory_from_instance(_resource), do: error()
def memory_bytes_per_element(_size), do: error()
def memory_length(_resource, _size, _offset), do: error()
def memory_grow(_resource, _pages), do: error()
def memory_get(_resource, _size, _offset, _index), do: error()
def memory_set(_resource, _size, _offset, _index, _value), do: error()
def memory_read_binary(_resource, _size, _offset, _index, _length), do: error()
def memory_write_binary(_resource, _size, _offset, _index, _binary), do: error()
# When the NIF is loaded, it will override functions in this module.
# Calling error is handles the case when the nif could not be loaded.
defp error, do: :erlang.nif_error(:nif_not_loaded)
end