/* * The Unix Channel * * by Michel Beaudouin-Lafon * * Copyright 1990-1997 * Laboratoire de Recherche en Informatique (LRI) * * INET Addresses * * $Id$ * $CurLog$ * Created from Address.h */ #ifndef InetAddress_H_ #define InetAddress_H_ #include "cplus_bugs.h" #include "error.h" #include "Address.h" class IvlInetAddress : public IvlAddress { protected: IvlString HostName; bool HasHostName; struct sockaddr_in Addr; const char* GetNoHostName (); public: IvlInetAddress (); IvlInetAddress (lword, sword); // hostid, port# IvlInetAddress (const char*, sword = 0); // hostname, port# ~IvlInetAddress (); int Family (); int Length (); SockAddr* GetSockAddr (); inline sword Port () { return Addr.sin_port; } inline lword Host () { return Addr.sin_addr.s_addr; } char* StrRepr (char* buf = 0); const char* GetHostName (); static lword LoopBack (); }; #ifndef INADDR_LOOPBACK #define INADDR_LOOPBACK (INET_ADDR::LoopBack ()) #endif #define ANYADDR ((lword) INADDR_ANY) #define LOOPBACK ((lword) INADDR_LOOPBACK) #define BROADCAST ((lword) INADDR_BROADCAST) #endif /* InetAddress_H_ */