#ifndef NETAPI_H #define NETAPI_H #ifdef _WIN32 #pragma once #endif #include "netadr.h" class INetAPI { public: virtual void NetAdrToSockAddr(netadr_t *a, struct sockaddr *s) = 0; // Convert a netadr_t to sockaddr virtual void SockAddrToNetAdr(struct sockaddr *s, netadr_t *a) = 0; // Convert a sockaddr to netadr_t virtual char *AdrToString(netadr_t *a) = 0; // Convert a netadr_t to a string virtual bool StringToAdr(const char *s, netadr_t *a) = 0; // Convert a string address to a netadr_t, doing DNS if needed virtual void GetSocketAddress(int socket, netadr_t *a) = 0; // Look up IP address for socket virtual bool CompareAdr(netadr_t *a, netadr_t *b) = 0; // return the IP of the local host virtual void GetLocalIP(netadr_t *a) = 0; }; extern INetAPI *net; #endif // NETAPI_H