## inet_ext
inet extension, collections of convenient functions to use with inet
## Usage
### Get the lists of default gateway for each interfaces
```erlang
1> inet_ext:gateways().
[{"en0","192.168.1.254"},{"en1","192.168.1.254"}]
```
To get the gateway for a specific interface uses the `inet_ext:gateway_for/1` function.
### Get internal address for a gateway
```erlang
2> inet_ext:get_internal_address("192.168.1.254").
"192.168.1.22"
```
### Get all routes
```erlang
3> inet_ext:routes().
[{"lo0",
{{65152,0,0,0,0,0,0,1},{65535,65535,65535,65535,0,0,0,0}}},
{"lo0",{{127,0,0,1},{255,0,0,0}}},
{"lo0",
{{0,0,0,0,0,0,0,1},
{65535,65535,65535,65535,65535,65535,65535,65535}}},
{"en0",{{192,168,1,41},{255,255,255,0}}},
{"en0",
{{10753,3637,35380,28048,9323,2852,13025,48991},
{65535,65535,65535,65535,0,0,0,0}}},
{"en0",
{{10753,3637,35380,28048,44679,41983,65072,60656},
{65535,65535,65535,65535,0,0,0,0}}},
{"en0",
{{65152,0,0,0,44679,41983,65072,60656},
{65535,65535,65535,65535,0,0,0,0}}},
{"en1",{{192,168,1,22},{255,255,255,0}}},
{"en1",
{{10753,3637,35380,28048,24909,3247,60839,4143},
{65535,65535,65535,65535,0,0,0,0}}}]
```
### IP and MAC address format conversions
|API|Description|
|-----:|:-----------|
|convert_mac/2|Convert MAC Address from -> to |
|convert_ip/2|Convert IP Address from -> to |
Conversions allowed are in between following types:
to_string | to_binstring | to_integer | to_binary | to_list | to_tuple
```erlang
1> inet_utils:convert_mac(to_binstring, <<1,2,3,4,5,6>>).
<<"01:02:03:04:05:06">>
2> inet_utils:convert_ip(to_binary, 16#01020304).
<<1,2,3,4>>
```
## Contribute
For issues, comments or feedback please create an [issue](https://github.com/benoitc/inet_ext/issues).