View Source Bundlex.Loader (Bundlex v1.5.4)
Some utilities to ease loading of Bundlex-based NIFs.
Summary
Functions
Binds the module to the specified NIF.
Generates function bound to the native implementation. This module has to be
use
d for this macro to work.
Works the same way as defnif/1
, but generates private function. This module
has to be use
d for this macro to work.
Binds calling module to NIF nif_name
from application app
.
Functions
Binds the module to the specified NIF.
Accepts keyword list, that may contain two arguments:
:nif
- required, name of the NIF to be bound (the same as specified inbundlex.exs
):app
- application defining the NIF, defaults to the current application
After use
'ing this module you can utilize defnif/1
and defnifp/1
macros
to create bindings to particular native functions.
Example
defmodule My.Native.Module do
use Bundlex.Loader, nif: :my_nif
defnif native_function(arg1, arg2, arg3)
def normal_function(arg1, arg2) do
# ...
end
defnifp private_native_function(arg1, arg2)
end
Generates function bound to the native implementation. This module has to be
use
d for this macro to work.
Function name should correspond to the native one.
See __using__/1
for examples.
Works the same way as defnif/1
, but generates private function. This module
has to be use
d for this macro to work.
See __using__/1
for examples.
Binds calling module to NIF nif_name
from application app
.
Second argument has to be an atom, the same as name of the NIF in the bundlex project.
Invoked internally by __using__/1
macro, which is the preferred way of loading
NIFs.