diff options
author | Henrik Nord <[email protected]> | 2014-07-24 16:47:09 +0200 |
---|---|---|
committer | Henrik Nord <[email protected]> | 2014-07-24 17:01:04 +0200 |
commit | 1b9383a8dbc03473860dfaacc7a02fbc8b1b1185 (patch) | |
tree | 56644c102684173987031696796a66292836eaab /lib/kernel/test/gen_tcp_api_SUITE_data/gen_tcp_api_SUITE.c | |
parent | b97b17d3e5355d503df5ed2f553767b73ac66903 (diff) | |
parent | 65e335e255cb76d979f605ed34700e4e02041139 (diff) | |
download | otp-1b9383a8dbc03473860dfaacc7a02fbc8b1b1185.tar.gz otp-1b9383a8dbc03473860dfaacc7a02fbc8b1b1185.tar.bz2 otp-1b9383a8dbc03473860dfaacc7a02fbc8b1b1185.zip |
Merge branch 'maint-r16' into maint
Conflicts:
erts/doc/src/notes.xml
erts/preloaded/ebin/prim_inet.beam
erts/vsn.mk
lib/kernel/doc/src/notes.xml
lib/kernel/vsn.mk
Diffstat (limited to 'lib/kernel/test/gen_tcp_api_SUITE_data/gen_tcp_api_SUITE.c')
-rw-r--r-- | lib/kernel/test/gen_tcp_api_SUITE_data/gen_tcp_api_SUITE.c | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/lib/kernel/test/gen_tcp_api_SUITE_data/gen_tcp_api_SUITE.c b/lib/kernel/test/gen_tcp_api_SUITE_data/gen_tcp_api_SUITE.c new file mode 100644 index 0000000000..6be7838363 --- /dev/null +++ b/lib/kernel/test/gen_tcp_api_SUITE_data/gen_tcp_api_SUITE.c @@ -0,0 +1,61 @@ +/* + * %CopyrightBegin% + * + * Copyright Ericsson AB 2009-2013. All Rights Reserved. + * + * The contents of this file are subject to the Erlang Public License, + * Version 1.1, (the "License"); you may not use this file except in + * compliance with the License. You should have received a copy of the + * Erlang Public License along with this software. If not, it can be + * retrieved online at http://www.erlang.org/. + * + * Software distributed under the License is distributed on an "AS IS" + * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + * the License for the specific language governing rights and limitations + * under the License. + * + * %CopyrightEnd% + */ +#include "erl_nif.h" + +#include <stdio.h> +#include <string.h> +#include <assert.h> +#include <limits.h> +#include <sys/socket.h> +#include <sys/types.h> + +#ifdef __WIN32__ +#include <winsock2.h> +#else + +#endif + +#define sock_open(af, type, proto) socket((af), (type), (proto)) + +static ERL_NIF_TERM getsockfd(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]) +{ + int fd; + + fd = sock_open(AF_INET, SOCK_STREAM, 0); + return enif_make_int(env, fd); +} + +static ERL_NIF_TERM closesockfd(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]) +{ + int fd; + + enif_get_int(env, argv[0], &fd); + + close(fd); + + return enif_make_int(env, fd); +} + +static ErlNifFunc nif_funcs[] = +{ + {"getsockfd", 0, getsockfd}, + {"closesockfd", 1, closesockfd} +}; + +ERL_NIF_INIT(gen_tcp_api_SUITE,nif_funcs,NULL,NULL,NULL,NULL) |