17 #include <netinet/if_ether.h>
21 #ifdef DtUSE_UTILITIES_NAMESPACE
22 namespace DtUSE_UTILITIES_NAMESPACE
33 #define DtInet_INET6_PROC_PATH "/proc/net/if_inet6"
34 #define DtInet_IGMP_PROC_PATH "/proc/net/igmp"
35 #define DtInet_IGMP6_PROC_PATH "/proc/net/igmp6"
89 PIP_ADAPTER_ADDRESSES* adapterInfo,
DtString& errorStr );
95 DT_DLL_VLUTIL int fetchIpv4DeviceAddrInfo( PMIB_IPADDRTABLE* ipv4Addrs,
106 int sockFd, lifconf* ifc,
unsigned int& buffSize,
107 unsigned int& resizeFactor,
DtString& errorStr );
120 int sock, lifconf* ifc );
129 DT_DLL_VLUTIL int fetchIpv6DeviceInfo(
int sockFd, lifconf* ifc,
unsigned int& buffSize,
130 unsigned int& resizeFactor,
DtString& errorStr );
140 int sockFd, ifconf* ifc,
unsigned int& buffSize,
141 unsigned int& resizeFactor,
DtString& errorStr );
154 int sock, ifconf* ifc );
157 #if defined(__linux__) || defined(__sgi__)
158 DT_DLL_VLUTIL int fetchIpv6DeviceInfo(
int sockFd, ifconf* ifc,
unsigned int& buffSize,
164 unsigned int& resizeFactor,
DtString& errorStr );
172 #ifdef DtUSE_UTILITIES_NAMESPACE
DtHostDeviceList scanMulticastDevices(bool includeUpOnly, bool preferIpV6=false)
Returns a list of DtInetInterface objects representing all IP network interfaces capable of IPv4 mult...
Contains the DtString class declaration.
Includes utility functions for weak and shared pointers.
std::vector< DtInetDeviceSP > DtHostDeviceList
Definition: vlInetInterfaceUtils.h:43
int fetchDeviceInfo(DtInetUtils::DtInetAddrFamily type, int sockFd, ifconf *ifc, unsigned int &buffSize, unsigned int &resizeFactor, DtString &errorStr)
Returns a block of ifreq structs containing the adapter information associated with devices with an I...
DtHostDeviceList scanBroadcastDevices(bool includeUpOnly, bool preferIpV6=false)
Returns a list of DtInetInterface objects representing all IP network interfaces capable of IPv4 broa...
DtString getLocalHostname()
Returns a list of DtInetInterface objects representing all IP network interfaces. ...
DtInetAddrFamily
Definition: vlInetAddrUtils.h:55
DtInetDeviceSP defaultMulticastDevice()
Returns the DtInetInterface object representing the default interface chosen for multicast communicat...
struct ifreq * findInterfaceByName(const char *ifName, int sock, ifconf *ifc)
Find a specific IPv4 device from a device configuration list (ifconf)
struct ifreq_in6 * findIpv6InterfaceByName(const char *ifName, int sock, ifconf *ifc)
Find a specific IPv6 device from a device configuration list (ifconf)
DtHostDeviceList scanIpv6Devices(bool includeUpOnly)
Returns a list of DtInetInterface objects representing all IP network interfaces capable of IPv6 comm...
struct ifreq * findInterfaceByAddress(struct in_addr *ipv4Addr, int sock, ifconf *ifc)
Returns a list of DtInetInterface objects representing all IP network interfaces. ...
struct ifreq_in6 * findIpv6InterfaceByAddress(struct in6_addr *ipv6Addr, int sock, ifconf *ifc)
Find a specific IPv6 device from a device configuration list (ifconf)
This file contains the declaration of the DtInetDevice class.
DtHostDeviceList scanInetDevices(bool includeUpOnly, bool preferIpV6=false)
Returns a list of DtInetInterface objects representing all IP network interfaces. ...
DtInetDeviceSP defaultBroadcastDevice(bool preferIpv6=false)
Returns the DtInetInterface object representing the default interface chosen for broadcast communicat...
Instances of DtString are used to represent strings.
Definition: vlString.h:36
std::shared_ptr< DtInetDevice > DtInetDeviceSP
Definition: vlInetDevice.h:98
Definition: vlInetDevice.h:76
This file declares useful defaults constants and static methods employed with the networking abstract...
#define DT_DLL_VLUTIL
Definition: vlMachineTypes.h:109