Go to file
Hazel ed23ad72e2
mac is silly
2023-04-25 07:37:59 +01:00
lib minor docs updates 2023-04-25 06:07:42 +01:00
test Initial commit 2023-04-25 06:01:14 +01:00
.formatter.exs Initial commit 2023-04-25 06:01:14 +01:00
.gitignore Initial commit 2023-04-25 06:01:14 +01:00
LICENSE more readme updates 2023-04-25 06:15:05 +01:00
README.md hex is silly 2023-04-25 07:37:44 +01:00
mix.exs hex is silly 2023-04-25 07:37:44 +01:00
mix.lock hex is silly 2023-04-25 07:37:44 +01:00

README.md

GenICMP

GenICMP is a wrapper around :gen_icmp to make it more elixir friendly.

From the original README:

gen_icmp aspires to be a simple interface for using ICMP and ICMPv6 sockets in Erlang, just like gen_tcp and gen_udp do for their protocol types; incidentally messing up Google searches for whomever someday writes a proper gen_icmp module.

gen_icmp uses procket to get a raw socket and abuses gen_udp for the socket handling. gen_icmp should work on Linux and BSDs.

Running this will require root privileges unless you have the CAP_NET_RAW capability set. You can do so using setcap cap_net_raw=ep /path/to/beam.smp. Usually you can find the path using which erl, and then going to ../lib/erlang/erts-*/bin/beam.smp. Alternatively, you can check out the procket setuid helper documentation here.

Installation

The package can be installed by adding gen_icmp_ex to your list of dependencies in mix.exs:

def deps do
  [
    {:gen_icmp_ex, "~> 0.1.0"}
  ]
end

License

GenICMP is licensed under the LGPL-3.0 License

:gen_icmp is licensed under the BSD 3-Clause License.