WvStreams
|
A WvInterface manages a particular network interface. More...
#include <wvinterface.h>
Public Member Functions | |
WvInterface (WvStringParm _name) | |
void | rescan () |
forget all stored information about the address(es) of this interface | |
const WvAddr & | hwaddr () |
get the hardware address of this interface | |
const WvIPNet & | ipaddr () |
get the local IP net of this interface | |
const WvIPAddr | dstaddr () |
get the point-to-point IP address of this interface | |
int | getflags () |
get the current kernel flags | |
int | setflags (int clear, int set) |
toggle kernel flags on this netdevice. | |
bool | isup () |
set the interface state up or down. | |
void | up (bool enable) |
bool | ispromisc () |
turn promiscuous (see-all-packets) mode on or off. | |
void | promisc (bool enable) |
int | ptp (bool enable, const WvIPNet &addr) |
turn point-to-point mode on or off. | |
int | setipaddr (const WvIPNet &addr) |
Sets the local address, netmask, and broadcast of this interface and set a route to the local net. | |
int | setmtu (int mtu) |
Sets the MTU of the interface. | |
int | sethwaddr (const WvAddr &addr) |
Set the hardware address of this interface. | |
int | addroute (const WvIPNet &dest, int metric=0, WvStringParm table="default") |
add a route to the given network through this interface. | |
int | addroute (const WvIPNet &dest, const WvIPAddr &gw, const WvIPAddr &src, int metric=0, WvStringParm table="default") |
int | delroute (const WvIPNet &dest, int metric=0, WvStringParm table="default") |
delete a route to the given network through this interface. | |
int | delroute (const WvIPNet &dest, const WvIPAddr &gw, int metric=0, WvStringParm table="default") |
bool | isarp () |
add an ARP entry on this interface | |
int | addarp (const WvIPNet &proto, const WvAddr &hw, bool proxy) |
int | req (int ioctl_num, struct ifreq *ifr) |
get/set information about an interface | |
int | req (int ioctl_num, struct iwreq *ifr) |
get/set information about a wireless interface | |
Public Attributes | |
WvString | name |
bool | valid |
A WvInterface manages a particular network interface.
It is _allowed_ to have more than one WvInterface instance referring to the same physical interface, because that is more convenient.
Definition at line 24 of file wvinterface.h.
int WvInterface::setflags | ( | int | clear, |
int | set | ||
) |
toggle kernel flags on this netdevice.
Be careful!
Definition at line 157 of file wvinterface.cc.
References WvLog::perror(), and req().
Referenced by ptp().
bool WvInterface::isup | ( | ) |
set the interface state up or down.
Definition at line 183 of file wvinterface.cc.
References getflags().
Referenced by sethwaddr().
bool WvInterface::ispromisc | ( | ) |
turn promiscuous (see-all-packets) mode on or off.
Definition at line 212 of file wvinterface.cc.
References getflags().
int WvInterface::ptp | ( | bool | enable, |
const WvIPNet & | addr | ||
) |
turn point-to-point mode on or off.
Definition at line 195 of file wvinterface.cc.
References WvLog::perror(), req(), and setflags().
int WvInterface::setipaddr | ( | const WvIPNet & | addr | ) |
Sets the local address, netmask, and broadcast of this interface and set a route to the local net.
Returns 0 on success, else an error code.
Definition at line 218 of file wvinterface.cc.
References WvIPNet::base(), WvIPNet::bits(), ipaddr(), WvLog::perror(), and rescan().
int WvInterface::setmtu | ( | int | mtu | ) |
Sets the MTU of the interface.
Returns 0 on success, else an error code.
Definition at line 286 of file wvinterface.cc.
References WvLog::perror(), and req().
int WvInterface::sethwaddr | ( | const WvAddr & | addr | ) |
Set the hardware address of this interface.
Returns 0 on success, else an error code.
Definition at line 297 of file wvinterface.cc.
References isup(), WvLog::perror(), req(), and rescan().
int WvInterface::addroute | ( | const WvIPNet & | dest, |
int | metric = 0 , |
||
WvStringParm | table = "default" |
||
) |
add a route to the given network through this interface.
Definition at line 472 of file wvinterface.cc.
Referenced by WvIPRouteList::set_kernel().
int WvInterface::delroute | ( | const WvIPNet & | dest, |
int | metric = 0 , |
||
WvStringParm | table = "default" |
||
) |
delete a route to the given network through this interface.
Definition at line 532 of file wvinterface.cc.
Referenced by WvIPRouteList::set_kernel().