/* net_stub.h - stub BSD sockets Copyright (C) 2020 mittorn This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. */ #ifndef NET_STUB_H #define NET_STUB_H #define INVALID_SOCKET (-1) #define SOCKET_ERROR (-1) #define SOCKET int typedef int WSAsize_t; struct in_addr {unsigned long s_addr;}; struct sockaddr_in{ short sin_family;unsigned short sin_port;struct in_addr sin_addr;}; struct sockaddr {short sa_family;int stub[32];}; struct hostent {int h_addr_list[1];}; struct timeval {long tv_sec;long tv_usec;}; #define AF_INET 0 #define INADDR_BROADCAST 0 #define INADDR_ANY 0 //! Network to host conversion for a word. #define ntohs(n) ( (((n) & 0xFF00) >> 8) | (((n) & 0x00FF) << 8) ) //! Host to network conversion for a word. #define htons(n) ( (((n) & 0xFF00) >> 8) | (((n) & 0x00FF) << 8) ) //! Network to host conversion for a double word. #define ntohl(n) ( (((n) & 0xFF000000) >> 24) | (((n) & 0x00FF0000) >> 8) \ | (((n) & 0x0000FF00) << 8) | (((n) & 0x000000FF) << 24) ) //! Host to network conversion for a double word. #define htonl(n) ( (((n) & 0xFF000000) >> 24) | (((n) & 0x00FF0000) >> 8) \ | (((n) & 0x0000FF00) << 8) | (((n) & 0x000000FF) << 24) ) #define gethostbyname(...) NULL #define inet_addr(...) (-1) #define recvfrom(...) (-1) #define sendto(...) (-1) #define socket(...) (-1) #define ioctlsocket(...) (-1) #define setsockopt(...) (-1) #define bind(...) (-1) #define gethostname(...) (-1) #define getsockname(...) (-1) #define connect(...) (-1) #define send(...) (-1) #define recv(...) (-1) #define bind(...) (-1) #define closesocket(...) (-1) #define select(...) (-1) #define WSAGetLastError() (22) //ENETDOWN #define WSAEINTR 1 //EINTR #define WSAEBADF 2 //EBADF #define WSAEACCES 3 //EACCES #define WSAEFAULT 4 //EFAULT #define WSAEINVAL 5 //EINVAL #define WSAEMFILE 6 //EMFILE #define WSAEWOULDBLOCK 7 //EWOULDBLOCK #define WSAEINPROGRESS 8 //EINPROGRESS #define WSAEALREADY 9 //EALREADY #define WSAENOTSOCK 10 //ENOTSOCK #define WSAEDESTADDRREQ 11 //EDESTADDRREQ #define WSAEMSGSIZE 12 //EMSGSIZE #define WSAEPROTOTYPE 13 //EPROTOTYPE #define WSAENOPROTOOPT 14 //ENOPROTOOPT #define WSAEPROTONOSUPPORT 15 //EPROTONOSUPPORT #define WSAESOCKTNOSUPPORT 16 //ESOCKTNOSUPPORT #define WSAEOPNOTSUPP 17 //EOPNOTSUPP #define WSAEPFNOSUPPORT 18 //EPFNOSUPPORT #define WSAEAFNOSUPPORT 19 //EAFNOSUPPORT #define WSAEADDRINUSE 20 //EADDRINUSE #define WSAEADDRNOTAVAIL 21 //EADDRNOTAVAIL #define WSAENETDOWN 22 //ENETDOWN #define WSAENETUNREACH 23 //ENETUNREACH #define WSAENETRESET 24 //ENETRESET #define WSAECONNABORTED 25 //ECONNABORTED #define WSAECONNRESET 26 //ECONNRESET #define WSAENOBUFS 27 //ENOBUFS #define WSAEISCONN 28 //EISCONN #define WSAENOTCONN 29 //ENOTCONN #define WSAESHUTDOWN 30 //ESHUTDOWN #define WSAETOOMANYREFS 31 //ETOOMANYREFS #define WSAETIMEDOUT 32 //ETIMEDOUT #define WSAECONNREFUSED 33 //ECONNREFUSED #define WSAELOOP 34 //ELOOP #define WSAENAMETOOLONG 35 //ENAMETOOLONG #define WSAEHOSTDOWN 36 //EHOSTDOWN #endif // NET_STUB_H