1#ifndef __XRDNETADDRINFO_HH__
2#define __XRDNETADDRINFO_HH__
36#include <netinet/in.h>
37#include <sys/socket.h>
64inline int Family()
const {
return static_cast<int>(
IP.
Addr.sa_family);}
146 && IN6_IS_ADDR_V4MAPPED(&
IP.
v6.sin6_addr);
206const char *
Name(
const char *eName=0,
const char **eText=0);
284 {memmove(&
IP, &rhs.
IP,
sizeof(
IP));
Definition: XrdNetAddrInfo.hh:54
SOCKLEN_t addrSize
Definition: XrdNetAddrInfo.hh:341
static const int noPort
Do not add port number.
Definition: XrdNetAddrInfo.hh:94
static const int old6Map4
Use deprecated IPV6 mapped format.
Definition: XrdNetAddrInfo.hh:96
struct sockaddr_un * unixPipe
Definition: XrdNetAddrInfo.hh:337
bool isMapped() const
Definition: XrdNetAddrInfo.hh:145
char * hostName
Definition: XrdNetAddrInfo.hh:339
~XrdNetAddrInfo()
Destructor.
Definition: XrdNetAddrInfo.hh:324
XrdNetAddrInfo()
Constructor.
Definition: XrdNetAddrInfo.hh:313
IPType
Definition: XrdNetAddrInfo.hh:134
@ IPv4
Definition: XrdNetAddrInfo.hh:134
@ IPv6
Definition: XrdNetAddrInfo.hh:134
@ IPuX
Definition: XrdNetAddrInfo.hh:134
XrdNetSockAddr IP
Definition: XrdNetAddrInfo.hh:335
const sockaddr * SockAddr()
Definition: XrdNetAddrInfo.hh:258
LocInfo addrLoc
Definition: XrdNetAddrInfo.hh:340
static const int noPortRaw
Use raw address format (no port)
Definition: XrdNetAddrInfo.hh:95
int Same(const XrdNetAddrInfo *ipAddr, bool plusPort=false)
static const int prefipv4
Use if mapped IPV4 actual format.
Definition: XrdNetAddrInfo.hh:97
static bool isHostName(const char *name)
int Protocol()
Definition: XrdNetAddrInfo.hh:235
bool isIPType(IPType ipType) const
Definition: XrdNetAddrInfo.hh:136
int Format(char *bAddr, int bLen, fmtUse fmtType=fmtAuto, int fmtOpts=0)
XrdNetAddrInfo(XrdNetAddrInfo const &oP)
Copy constructor.
Definition: XrdNetAddrInfo.hh:303
char * LowCase(char *str)
const struct LocInfo * Location()
Definition: XrdNetAddrInfo.hh:190
unsigned short sockNum
Definition: XrdNetAddrInfo.hh:343
int QFill(char *bAddr, int bLen)
short protType
Definition: XrdNetAddrInfo.hh:342
fmtUse
Definition: XrdNetAddrInfo.hh:89
@ fmtAddr
Address using suitable ipv4 or ipv6 format.
Definition: XrdNetAddrInfo.hh:91
@ fmtName
Hostname if it is resolvable o/w use fmtAddr.
Definition: XrdNetAddrInfo.hh:90
@ fmtAuto
Hostname if already resolved o/w use fmtAddr.
Definition: XrdNetAddrInfo.hh:89
@ fmtAdv6
Definition: XrdNetAddrInfo.hh:92
SOCKLEN_t SockSize()
Definition: XrdNetAddrInfo.hh:268
const char * Name(const char *eName=0, const char **eText=0)
XrdNetAddrInfo(const XrdNetAddrInfo *addr)
Definition: XrdNetAddrInfo.hh:318
int SockFD()
Definition: XrdNetAddrInfo.hh:276
int Family() const
Definition: XrdNetAddrInfo.hh:64
struct sockaddr * sockAddr
Definition: XrdNetAddrInfo.hh:336
const XrdNetSockAddr * NetAddr()
Definition: XrdNetAddrInfo.hh:217
XrdNetAddrInfo & operator=(XrdNetAddrInfo const &rhs)
Assignment operator.
Definition: XrdNetAddrInfo.hh:282
static XrdNetCache * dnsCache
Definition: XrdNetAddrInfo.hh:333
Definition: XrdNetCache.hh:42
Definition: XrdNetAddrInfo.hh:176
int Latitude
Degrees +/- xx.xxxxxx (not supported)
Definition: XrdNetAddrInfo.hh:182
char Reserved
Definition: XrdNetAddrInfo.hh:180
unsigned char Region
Region (may combine adjacent countries)
Definition: XrdNetAddrInfo.hh:177
char TimeZone
+/- hours from GMT (-128 if not set)
Definition: XrdNetAddrInfo.hh:179
unsigned char Country[2]
Two letter TLD country code.
Definition: XrdNetAddrInfo.hh:176
short Speed
I/F speed (Gb*1024/100)(not supported)
Definition: XrdNetAddrInfo.hh:181
unsigned char Locale
Locale (may combine adjacent regions)
Definition: XrdNetAddrInfo.hh:178
LocInfo()
Definition: XrdNetAddrInfo.hh:185
int Longtitude
Degrees +/- xx.xxxxxx (not supported)
Definition: XrdNetAddrInfo.hh:183
Definition: XrdNetSockAddr.hh:43
struct sockaddr_in6 v6
Definition: XrdNetSockAddr.hh:43
struct sockaddr Addr
Definition: XrdNetSockAddr.hh:45