diff options
author | Sverker Eriksson <[email protected]> | 2009-12-09 11:04:51 +0000 |
---|---|---|
committer | Erlang/OTP <[email protected]> | 2009-12-09 11:04:51 +0000 |
commit | f7c1ea4ff481a8dd7bd8c79ae540342fd8213434 (patch) | |
tree | 1db7ad6096eadfbca1d1c60330ab4392be6db690 /erts/emulator/beam/erl_nif.h | |
parent | 8fbc15b2502bb6d8c808f4d0c8077c39a1f828e8 (diff) | |
download | otp-f7c1ea4ff481a8dd7bd8c79ae540342fd8213434.tar.gz otp-f7c1ea4ff481a8dd7bd8c79ae540342fd8213434.tar.bz2 otp-f7c1ea4ff481a8dd7bd8c79ae540342fd8213434.zip |
OTP-8304 Incompatible changes in the experimental NIF feature. Changed the
NIF function prototypes in order to allow more than 3 function
arguments. Also an incompatible change in the return value of
erlang:load_nif/2. Added support for references, floats and term
comparison in NIFs. Read more in the documentation of erl_nif and
erlang:load_nif/2.
Diffstat (limited to 'erts/emulator/beam/erl_nif.h')
-rw-r--r-- | erts/emulator/beam/erl_nif.h | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/erts/emulator/beam/erl_nif.h b/erts/emulator/beam/erl_nif.h index 8650b7ce47..e5e6d65c0e 100644 --- a/erts/emulator/beam/erl_nif.h +++ b/erts/emulator/beam/erl_nif.h @@ -20,23 +20,27 @@ /* Include file for writers of Native Implemented Functions. */ -#define ERL_NIF_MAJOR_VERSION 0 -#define ERL_NIF_MINOR_VERSION 1 +/* Version history: +** 0.1: R13B03 +** 1.0: R13B04 +*/ +#define ERL_NIF_MAJOR_VERSION 1 +#define ERL_NIF_MINOR_VERSION 0 #include <stdlib.h> typedef unsigned long ERL_NIF_TERM; +struct enif_environment_t; +typedef struct enif_environment_t ErlNifEnv; + typedef struct { const char* name; unsigned arity; - void* fptr; //ERL_NIF_TERM (*fptr)(void*, ...); + ERL_NIF_TERM (*fptr)(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]); }ErlNifFunc; -struct enif_environment_t; -typedef struct enif_environment_t ErlNifEnv; - typedef struct enif_entry_t { int major; |