diff options
author | Micael Karlberg <bmk@erlang.org> | 2019-11-22 14:25:30 +0100 |
---|---|---|
committer | Micael Karlberg <bmk@erlang.org> | 2019-11-25 18:30:40 +0100 |
commit | a90c99cb18bb82ea8531f43a65cdae3f175e5d86 (patch) | |
tree | 3dfad60fe5860a64d79bfaea1fd3263e24bdec24 | |
parent | d2a2057abd3ef9e743aff00d8654f0414cb4c2fa (diff) | |
download | erlang-a90c99cb18bb82ea8531f43a65cdae3f175e5d86.tar.gz |
[esock] Add new sockaddr "type" for family packet
Added the sockaddr_ll used by family packet. And also documentation
for same.
OTP-16212
-rw-r--r-- | erts/doc/src/socket.xml | 6 | ||||
-rw-r--r-- | erts/preloaded/ebin/prim_net.beam | bin | 1860 -> 5192 bytes | |||
-rw-r--r-- | erts/preloaded/ebin/socket.beam | bin | 78612 -> 78736 bytes | |||
-rw-r--r-- | erts/preloaded/src/socket.erl | 13 |
4 files changed, 18 insertions, 1 deletions
diff --git a/erts/doc/src/socket.xml b/erts/doc/src/socket.xml index 889c35bf10..08a9889146 100644 --- a/erts/doc/src/socket.xml +++ b/erts/doc/src/socket.xml @@ -144,6 +144,12 @@ <name name="sockaddr_un"/> </datatype> <datatype> + <name name="sockaddr_ll"/> + </datatype> + <datatype> + <name name="packet_type"/> + </datatype> + <datatype> <name name="port_number"/> </datatype> <datatype> diff --git a/erts/preloaded/ebin/prim_net.beam b/erts/preloaded/ebin/prim_net.beam Binary files differindex bbaf916152..b9481777e5 100644 --- a/erts/preloaded/ebin/prim_net.beam +++ b/erts/preloaded/ebin/prim_net.beam diff --git a/erts/preloaded/ebin/socket.beam b/erts/preloaded/ebin/socket.beam Binary files differindex ba07fc9831..8e45b1373c 100644 --- a/erts/preloaded/ebin/socket.beam +++ b/erts/preloaded/ebin/socket.beam diff --git a/erts/preloaded/src/socket.erl b/erts/preloaded/src/socket.erl index 8a6641c030..5984b5bda9 100644 --- a/erts/preloaded/src/socket.erl +++ b/erts/preloaded/src/socket.erl @@ -86,6 +86,7 @@ sockaddr_in4/0, sockaddr_in6/0, sockaddr_un/0, + sockaddr_ll/0, send_flags/0, send_flag/0, @@ -322,9 +323,19 @@ addr := any | loopback | ip6_address(), flowinfo := in6_flow_info(), scope_id := in6_scope_id()}. +-type sockaddr_ll() :: #{family := packet, + protocol := non_neg_integer(), + ifindex := integer(), + pkttype := packet_type(), + hatype := non_neg_integer(), + addr := binary()}. +-type packet_type() :: host | broadcast | multicast | otherhost | + outgoing | loopback | user | kernel | fastroute | + non_neg_integer(). -type sockaddr() :: sockaddr_in4() | sockaddr_in6() | - sockaddr_un(). + sockaddr_un() | + sockaddr_ll(). -define(SOCKADDR_IN4_DEFAULTS(A), #{port => 0, addr => A}). |