12 #ifndef ROOT_TInetAddress
13 #define ROOT_TInetAddress
32 namespace std { using ::vector; }
36 class TInetAddress :
public TObject {
39 friend class TUnixSystem;
40 friend class TWinNTSystem;
43 friend class TUDPSocket;
44 friend class TServerSocket;
45 friend class TXSocket;
48 typedef std::vector<UInt_t> AddressList_t;
49 typedef std::vector<TString> AliasList_t;
55 AddressList_t fAddresses;
58 TInetAddress(
const char *host, UInt_t addr, Int_t family, Int_t port = -1);
59 void AddAddress(UInt_t addr);
60 void AddAlias(
const char *alias);
64 TInetAddress(
const TInetAddress &adr);
65 TInetAddress &operator=(
const TInetAddress &rhs);
66 virtual ~TInetAddress() { }
68 UInt_t GetAddress()
const {
return fAddresses[0]; }
69 UChar_t *GetAddressBytes()
const;
70 const char *GetHostAddress()
const;
71 const char *GetHostName()
const {
return (
const char *) fHostname; }
72 Int_t GetFamily()
const {
return fFamily; }
73 Int_t GetPort()
const {
return fPort; }
74 const AddressList_t &GetAddresses()
const {
return fAddresses; }
75 const AliasList_t &GetAliases()
const {
return fAliases; }
76 Bool_t IsValid()
const {
return fFamily == -1 ? kFALSE : kTRUE; }
77 void Print(Option_t *option=
"")
const;
79 static const char *GetHostAddress(UInt_t addr);
81 ClassDef(TInetAddress,4)