WvStreams
Public Member Functions | Public Attributes | List of all members
WvInterface Class Reference

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 WvAddrhwaddr ()
 get the hardware address of this interface
 
const WvIPNetipaddr ()
 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. More...
 
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. More...
 
int setmtu (int mtu)
 Sets the MTU of the interface. More...
 
int sethwaddr (const WvAddr &addr)
 Set the hardware address of this interface. More...
 
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
 

Detailed Description

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.

Member Function Documentation

◆ setflags()

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().

◆ setipaddr()

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().

◆ setmtu()

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().

◆ sethwaddr()

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().


The documentation for this class was generated from the following files: