1 #ifndef __XRDNETIF_HH__
2 #define __XRDNETIF_HH__
59 void Display(
const char *pfx=
"=====> ");
167 if (name.size() > 255)
return false;
223 static int GetIF(
char *buff,
int blen,
const char **eText=0,
bool show=
false);
238 static int GetIF(
char *&ifline,
const char **eText=0,
bool show=
false);
299 {
if (ifT >=
ifAny)
return 0x0f;
452 bool IsOkName(
const char *ifn,
short &ifIdx);
Definition: XrdNetIF.hh:73
int GetPublicName(char *nbuff, int &nport)
Definition: XrdNetIF.hh:150
bool prvt
Definition: XrdNetIF.hh:441
char Mask()
Definition: XrdNetIF.hh:288
static int GetIF(XrdOucTList **ifList, const char **eText=0)
int GetName(const char *&name, ifType ifT=PublicV6)
Definition: XrdNetIF.hh:115
ifData()
Definition: XrdNetIF.hh:463
static const int havePub4
ifList == 0 && public ipv4 i/f found (or'd)
Definition: XrdNetIF.hh:204
~XrdNetIF()
Definition: XrdNetIF.hh:433
static XrdSysError * eDest
Definition: XrdNetIF.hh:486
netType
Definition: XrdNetIF.hh:364
static netType netRoutes
Definition: XrdNetIF.hh:495
char ifAvail
Definition: XrdNetIF.hh:480
Definition: XrdNetIF.hh:364
static void SetRPIPA(bool rval)
short hDLen
Definition: XrdNetIF.hh:439
static const int haveNoGI
ifList == 0 && getifaddrs() is not supported
Definition: XrdNetIF.hh:194
int ifPort
Definition: XrdNetIF.hh:477
static char Mask(ifType ifT)
Definition: XrdNetIF.hh:298
bool SetIF64(bool retVal)
Definition: XrdNetIF.hh:67
int GetPublicDest(char *dest, size_t dlen)
Definition: XrdNetIF.hh:75
bool SetIF(XrdNetAddrInfo *src, const char *ifList, int port=0, netType nettype=netDefault, const char *xName=0)
Definition: XrdNetIF.hh:472
bool ifxDNS[ifMax]
Definition: XrdNetIF.hh:469
Definition: XrdNetIF.hh:49
static bool InDomain(XrdNetAddrInfo *epaddr)
pInfo()
Definition: XrdNetIF.hh:474
Definition: XrdNetIF.hh:74
char hAddr[64]
Definition: XrdNetIF.hh:442
bool GenAddrs(ifAddrs &ifTab, XrdNetAddrInfo *src)
XrdNetIF()
Constructor and Destructor.
Definition: XrdNetIF.hh:431
Definition: XrdSysError.hh:89
char iVal[6]
Definition: XrdNetIF.hh:461
static bool V4LinkLocal(struct sockaddr *saP)
int Port()
Definition: XrdNetIF.hh:322
static ifData ifNull
Definition: XrdNetIF.hh:497
static const char * GetDomain()
static const int havePrv6
ifList == 0 && private ipv6 i/f found (or'd)
Definition: XrdNetIF.hh:202
static const int havePrv4
ifList == 0 && private ipv4 i/f found (or'd)
Definition: XrdNetIF.hh:200
static const int havePub6
ifList == 0 && public ipv6 i/f found (or'd)
Definition: XrdNetIF.hh:206
ifData * ifName[ifMax]
Definition: XrdNetIF.hh:467
ifType
The enum that is used to index into ifData to get appropriate interface.
Definition: XrdNetIF.hh:65
bool GenIF(XrdNetAddrInfo **src, int srcnum, const char *xName=0)
static bool IsOkName(const char *ifn, short &ifIdx)
short ifRoute
Definition: XrdNetIF.hh:478
Definition: XrdOucTList.hh:41
char ifMask
Definition: XrdNetIF.hh:479
Definition: XrdNetIF.hh:71
char len
Definition: XrdNetIF.hh:472
std::string m_PublicName
Definition: XrdNetIF.hh:483
Definition: XrdNetIF.hh:65
char * ifBuff
Definition: XrdNetIF.hh:470
Definition: XrdNetAddrInfo.hh:53
~ifData()
Definition: XrdNetIF.hh:464
int GetName(char *nbuff, int &nport, ifType ifT=PublicV6)
Definition: XrdNetIF.hh:133
static void SetMsgs(XrdSysError *erp)
static const char * myDomain
Definition: XrdNetIF.hh:488
static const int haveIPv4
ifList == 0 && non-local ipv4 i/f found (or'd)
Definition: XrdNetIF.hh:196
short hALen
Definition: XrdNetIF.hh:438
bool HasDest(ifType ifT=PublicV6)
Definition: XrdNetIF.hh:267
static void PortDefault(int pnum=1094)
Definition: XrdNetIF.hh:364
char val[7]
Definition: XrdNetIF.hh:473
static int dfPort
Definition: XrdNetIF.hh:496
Definition: XrdNetIF.hh:76
Definition: XrdNetIF.hh:437
Definition: XrdNetIF.hh:69
Definition: XrdNetIF.hh:72
ifData * ifDest[ifMax]
Definition: XrdNetIF.hh:468
struct XrdNetIF::pInfo portSfx
static bool rPIPA
Definition: XrdNetIF.hh:498
static char * ifCfg[2]
Definition: XrdNetIF.hh:489
static const char * ifTName[ifMax]
Definition: XrdNetIF.hh:491
Definition: XrdNetIF.hh:364
static ifType GetIFType(bool conIPv4, bool hasIP64, bool pvtIP)
Definition: XrdNetIF.hh:250
void Display(const char *pfx="=====> ")
Definition: XrdNetIF.hh:364
bool SetPublicName(const std::string &name)
Definition: XrdNetIF.hh:164
Definition: XrdNetIF.hh:70
short iLen
Definition: XrdNetIF.hh:460
static void Routing(netType nettype)
bool ipV6
Definition: XrdNetIF.hh:440
static const int haveIPv6
ifList == 0 && non-local ipv6 i/f found (or'd)
Definition: XrdNetIF.hh:198
static bool SetIFNames(char *ifnames)
Definition: XrdNetIF.hh:68
int GetDest(char *dest, int dlen, ifType ifT=PublicV6, bool prefn=false)
static const char * ifMaskVec
Definition: XrdNetIF.hh:493
char hDest[64]
Definition: XrdNetIF.hh:443
Definition: XrdNetIF.hh:66
static void Privatize(ifType &x)
Definition: XrdNetIF.hh:330
static const char * Name(ifType ifT)
Definition: XrdNetIF.hh:312
Definition: XrdNetIF.hh:458