Go to the documentation of this file. 1 #ifndef __XRDNETIF_HH__
2 #define __XRDNETIF_HH__
177 static int GetIF(
char *buff,
int blen,
const char **eText=0,
bool show=
false);
192 static int GetIF(
char *&ifline,
const char **eText=0,
bool show=
false);
253 {
if (ifT >=
ifAny)
return 0x0f;
short iLen
Definition: XrdNetIF.hh:414
static const char * Name(ifType ifT)
Definition: XrdNetIF.hh:266
static const int haveNoGI
ifList == 0 && getifaddrs() is not supported
Definition: XrdNetIF.hh:148
static const int havePub4
ifList == 0 && public ipv4 i/f found (or'd)
Definition: XrdNetIF.hh:158
static netType netRoutes
Definition: XrdNetIF.hh:445
int ifPort
Definition: XrdNetIF.hh:431
char iVal[6]
Definition: XrdNetIF.hh:415
@ Public64
Definition: XrdNetIF.hh:72
short hALen
Definition: XrdNetIF.hh:392
netType
Definition: XrdNetIF.hh:320
@ netSplit
Definition: XrdNetIF.hh:320
~XrdNetIF()
Definition: XrdNetIF.hh:387
struct XrdNetIF::pInfo portSfx
Definition: XrdNetIF.hh:426
static XrdSysError * eDest
Definition: XrdNetIF.hh:437
static int GetIF(XrdOucTList **ifList, const char **eText=0)
pInfo()
Definition: XrdNetIF.hh:428
int GetName(const char *&name, ifType ifT=PublicV6)
Definition: XrdNetIF.hh:102
char ifAvail
Definition: XrdNetIF.hh:434
ifData()
Definition: XrdNetIF.hh:417
static int GetIF(char *buff, int blen, const char **eText=0, bool show=false)
Definition: XrdNetAddrInfo.hh:54
static bool V4LinkLocal(struct sockaddr *saP)
static char Mask(ifType ifT)
Definition: XrdNetIF.hh:252
int Port()
Definition: XrdNetIF.hh:276
Definition: XrdNetIF.hh:392
bool prvt
Definition: XrdNetIF.hh:395
@ Private64
Definition: XrdNetIF.hh:73
@ ifMax
Definition: XrdNetIF.hh:74
@ PublicV6
Definition: XrdNetIF.hh:66
char hDest[64]
Definition: XrdNetIF.hh:397
static void SetRPIPA(bool rval)
static const int havePrv4
ifList == 0 && private ipv4 i/f found (or'd)
Definition: XrdNetIF.hh:154
bool SetIF64(bool retVal)
bool GenAddrs(ifAddrs &ifTab, XrdNetAddrInfo *src)
XrdNetIF()
Constructor and Destructor.
Definition: XrdNetIF.hh:385
bool ifxDNS[ifMax]
Definition: XrdNetIF.hh:423
static const int havePub6
ifList == 0 && public ipv6 i/f found (or'd)
Definition: XrdNetIF.hh:160
short hDLen
Definition: XrdNetIF.hh:393
static const int havePrv6
ifList == 0 && private ipv6 i/f found (or'd)
Definition: XrdNetIF.hh:156
Definition: XrdNetIF.hh:413
static bool InDomain(XrdNetAddrInfo *epaddr)
ifData * ifName[ifMax]
Definition: XrdNetIF.hh:421
ifType
The enum that is used to index into ifData to get appropriate interface.
Definition: XrdNetIF.hh:64
static int GetIF(char *&ifline, const char **eText=0, bool show=false)
static char * SetDomain()
char val[7]
Definition: XrdNetIF.hh:427
bool GenAddrs(ifAddrs &ifTab, const char *hName, bool wantV6)
static void SetMsgs(XrdSysError *erp)
int GetName(char *nbuff, int &nport, ifType ifT=PublicV6)
Definition: XrdNetIF.hh:120
static void PortDefault(int pnum=1094)
static ifData ifNull
Definition: XrdNetIF.hh:447
char ifMask
Definition: XrdNetIF.hh:433
char * ifBuff
Definition: XrdNetIF.hh:424
static bool IsOkName(const char *ifn, short &ifIdx)
ifData * ifDest[ifMax]
Definition: XrdNetIF.hh:422
@ Public46
Definition: XrdNetIF.hh:70
bool ipV6
Definition: XrdNetIF.hh:394
static char * ifCfg[2]
Definition: XrdNetIF.hh:439
static const int haveIPv4
ifList == 0 && non-local ipv4 i/f found (or'd)
Definition: XrdNetIF.hh:150
@ netDefault
Definition: XrdNetIF.hh:320
@ PublicV4
Definition: XrdNetIF.hh:64
short ifRoute
Definition: XrdNetIF.hh:432
@ ifAny
Definition: XrdNetIF.hh:75
@ PrivateIF
Definition: XrdNetIF.hh:68
static ifType GetIFType(bool conIPv4, bool hasIP64, bool pvtIP)
Definition: XrdNetIF.hh:204
~ifData()
Definition: XrdNetIF.hh:418
static int dfPort
Definition: XrdNetIF.hh:446
@ netLocal
Definition: XrdNetIF.hh:320
static const char * ifTName[ifMax]
Definition: XrdNetIF.hh:441
bool HasDest(ifType ifT=PublicV6)
Definition: XrdNetIF.hh:221
static void Routing(netType nettype)
Definition: XrdNetIF.hh:49
static const char * ifMaskVec
Definition: XrdNetIF.hh:443
static char * myDomain
Definition: XrdNetIF.hh:438
char len
Definition: XrdNetIF.hh:426
@ Private46
Definition: XrdNetIF.hh:71
static void Privatize(ifType &x)
Definition: XrdNetIF.hh:284
Definition: XrdSysError.hh:90
int GetDest(char *dest, int dlen, ifType ifT=PublicV6, bool prefn=false)
void Display(const char *pfx="=====> ")
@ netCommon
Definition: XrdNetIF.hh:320
@ PrivateV4
Definition: XrdNetIF.hh:65
bool GenIF(XrdNetAddrInfo **src, int srcnum)
char Mask()
Definition: XrdNetIF.hh:242
bool SetIF(XrdNetAddrInfo *src, const char *ifList, int port=0, netType nettype=netDefault)
@ ifNum
Definition: XrdNetIF.hh:69
static const int haveIPv6
ifList == 0 && non-local ipv6 i/f found (or'd)
Definition: XrdNetIF.hh:152
static bool rPIPA
Definition: XrdNetIF.hh:448
static bool SetIFNames(char *ifnames)
Definition: XrdOucTList.hh:42
char hAddr[64]
Definition: XrdNetIF.hh:396
@ PrivateV6
Definition: XrdNetIF.hh:67