diff options
author | Marios Prokopakis <mariosprokopakis@gmail.com> | 2020-03-11 22:30:41 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-11 21:30:41 +0100 |
commit | 8cf962a102255e28bc4d83822e4df06ee5c2c526 (patch) | |
tree | 55d3624fd64ff2d4c9def2ceb7512479ba244957 /Libraries/LibC/net | |
parent | 4c9bb266dff724180699ac514ca3f78ad7ae953e (diff) | |
download | serenity-8cf962a102255e28bc4d83822e4df06ee5c2c526.zip |
Userland: Set the mask of a network adapter with ifconfig (#1388)
A new IP address or a new network mask can be specified in the command
line arguments of ifconfig to replace the old values of a given network
adapter. Additionally, more information is being printed for each adapter.
Diffstat (limited to 'Libraries/LibC/net')
-rw-r--r-- | Libraries/LibC/net/if.h | 2 | ||||
-rw-r--r-- | Libraries/LibC/net/route.h | 33 |
2 files changed, 35 insertions, 0 deletions
diff --git a/Libraries/LibC/net/if.h b/Libraries/LibC/net/if.h index edb3482764..9161e2def9 100644 --- a/Libraries/LibC/net/if.h +++ b/Libraries/LibC/net/if.h @@ -38,6 +38,7 @@ struct ifreq { struct sockaddr ifru_addr; struct sockaddr ifru_dstaddr; struct sockaddr ifru_broadaddr; + struct sockaddr ifru_netmask; struct sockaddr ifru_hwaddr; short ifru_flags; int ifru_metric; @@ -49,6 +50,7 @@ struct ifreq { #define ifr_addr ifr_ifru.ifru_addr // address #define ifr_dstaddr ifr_ifru.ifru_dstaddr // other end of p-to-p link #define ifr_broadaddr ifr_ifru.ifru_broadaddr // broadcast address +#define ifr_netmask ifr_ifru.ifru_netmask // network mask #define ifr_flags ifr_ifru.ifru_flags // flags #define ifr_metric ifr_ifru.ifru_metric // metric #define ifr_mtu ifr_ifru.ifru_metric // mtu (overload) diff --git a/Libraries/LibC/net/route.h b/Libraries/LibC/net/route.h new file mode 100644 index 0000000000..1434243aab --- /dev/null +++ b/Libraries/LibC/net/route.h @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2020, Marios Prokopakis <mariosprokopakis@gmail.com> + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#pragma once +#include <sys/socket.h> + +struct rtentry { + struct sockaddr* rt_gateway; + /* FIXME: complete the struct */ +}; |