/* * Ivy League * * INET Addresses * * Copyright 1990-2000 * Laboratoire de Recherche en Informatique (LRI) * Centre d'Etudes de la Navigation Aerienne (CENA) * * original code by Michel Beaudouin-Lafon, * modified by Stephane Chatty * * $Id$ * */ #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 (); sword Port (); lword Host (); 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_ */