aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_nif_api_funcs.h
diff options
context:
space:
mode:
authorJohn Högberg <[email protected]>2017-11-07 09:31:24 +0100
committerJohn Högberg <[email protected]>2017-11-30 15:26:26 +0100
commit5036bf7d5006a6f1a4294b4a3b1f4120d39113ac (patch)
treed08757379bef5c9e5607c1da95909e4511d51cc9 /erts/emulator/beam/erl_nif_api_funcs.h
parentf5e99a55d4d62074d2bd2e5a58c578a31bc214c8 (diff)
downloadotp-5036bf7d5006a6f1a4294b4a3b1f4120d39113ac.tar.gz
otp-5036bf7d5006a6f1a4294b4a3b1f4120d39113ac.tar.bz2
otp-5036bf7d5006a6f1a4294b4a3b1f4120d39113ac.zip
Add enif_ioq_peek_head
This introduces a way to retrieve erlang terms from NIF IO queues without having to resort to copying. OTP-14797
Diffstat (limited to 'erts/emulator/beam/erl_nif_api_funcs.h')
-rw-r--r--erts/emulator/beam/erl_nif_api_funcs.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/erts/emulator/beam/erl_nif_api_funcs.h b/erts/emulator/beam/erl_nif_api_funcs.h
index 9e573307d8..3750fd9b68 100644
--- a/erts/emulator/beam/erl_nif_api_funcs.h
+++ b/erts/emulator/beam/erl_nif_api_funcs.h
@@ -198,6 +198,7 @@ ERL_NIF_API_FUNC_DECL(SysIOVec*,enif_ioq_peek,(ErlNifIOQueue *q, int *iovlen));
ERL_NIF_API_FUNC_DECL(int,enif_inspect_iovec,(ErlNifEnv *env, size_t max_length, ERL_NIF_TERM iovec_term, ERL_NIF_TERM *tail, ErlNifIOVec **iovec));
ERL_NIF_API_FUNC_DECL(void,enif_free_iovec,(ErlNifIOVec *iov));
+ERL_NIF_API_FUNC_DECL(int,enif_ioq_peek_head,(ErlNifEnv *env, ErlNifIOQueue *q, size_t *size, ERL_NIF_TERM *head));
/*
** ADD NEW ENTRIES HERE (before this comment) !!!
@@ -373,6 +374,7 @@ ERL_NIF_API_FUNC_DECL(void,enif_free_iovec,(ErlNifIOVec *iov));
# define enif_ioq_peek ERL_NIF_API_FUNC_MACRO(enif_ioq_peek)
# define enif_inspect_iovec ERL_NIF_API_FUNC_MACRO(enif_inspect_iovec)
# define enif_free_iovec ERL_NIF_API_FUNC_MACRO(enif_free_iovec)
+# define enif_ioq_peek_head ERL_NIF_API_FUNC_MACRO(enif_ioq_peek_head)
/*
** ADD NEW ENTRIES HERE (before this comment)