63 lines
1.9 KiB
C++
63 lines
1.9 KiB
C++
//
|
|
// DWNSOCK1.INC Macros for dynamically linking to WinSock 1.1
|
|
//
|
|
|
|
#ifdef DWINSOCK_GLOBAL
|
|
#undef DYNAMICWINSOCK
|
|
#define DYNAMICWINSOCK(name, ptr) ptr p_##name
|
|
#endif
|
|
|
|
#ifdef DWINSOCK_EXTERN
|
|
#undef DYNAMICWINSOCK
|
|
#define DYNAMICWINSOCK(name, ptr) extern ptr p_##name
|
|
#endif
|
|
|
|
#ifdef DWINSOCK_GETPROCADDRESS
|
|
#undef DYNAMICWINSOCK
|
|
#define DYNAMICWINSOCK(name, ptr) \
|
|
p_##name = (ptr)GetProcAddress(hndlWinSock, #name); \
|
|
if (p_##name == NULL) fOK = FALSE
|
|
#endif
|
|
|
|
#ifndef ___WSAFDISSET___
|
|
typedef
|
|
int
|
|
(WSAAPI * LPFN_WSAFDISSET)(
|
|
IN SOCKET s,
|
|
OUT fd_set FAR *fds
|
|
);
|
|
#define ___WSAFDISSET___
|
|
#endif
|
|
|
|
//
|
|
// Function available in both versions
|
|
//
|
|
DYNAMICWINSOCK(accept, LPFN_ACCEPT);
|
|
DYNAMICWINSOCK(bind, LPFN_BIND);
|
|
DYNAMICWINSOCK(closesocket, LPFN_CLOSESOCKET);
|
|
DYNAMICWINSOCK(connect, LPFN_CONNECT);
|
|
DYNAMICWINSOCK(gethostbyname, LPFN_GETHOSTBYNAME);
|
|
DYNAMICWINSOCK(gethostname, LPFN_GETHOSTNAME);
|
|
DYNAMICWINSOCK(getsockname, LPFN_GETSOCKNAME);
|
|
DYNAMICWINSOCK(getsockopt, LPFN_GETSOCKOPT);
|
|
DYNAMICWINSOCK(htonl, LPFN_HTONL);
|
|
DYNAMICWINSOCK(htons, LPFN_HTONS);
|
|
DYNAMICWINSOCK(inet_addr, LPFN_INET_ADDR);
|
|
DYNAMICWINSOCK(inet_ntoa, LPFN_INET_NTOA);
|
|
DYNAMICWINSOCK(ioctlsocket, LPFN_IOCTLSOCKET);
|
|
DYNAMICWINSOCK(listen, LPFN_LISTEN);
|
|
DYNAMICWINSOCK(ntohl, LPFN_NTOHL);
|
|
DYNAMICWINSOCK(ntohs, LPFN_NTOHS);
|
|
DYNAMICWINSOCK(recvfrom, LPFN_RECVFROM);
|
|
DYNAMICWINSOCK(select, LPFN_SELECT);
|
|
DYNAMICWINSOCK(sendto, LPFN_SENDTO);
|
|
DYNAMICWINSOCK(setsockopt, LPFN_SETSOCKOPT);
|
|
DYNAMICWINSOCK(shutdown, LPFN_SHUTDOWN);
|
|
DYNAMICWINSOCK(socket, LPFN_SOCKET);
|
|
DYNAMICWINSOCK(WSACleanup, LPFN_WSACLEANUP);
|
|
DYNAMICWINSOCK(WSAGetLastError, LPFN_WSAGETLASTERROR);
|
|
DYNAMICWINSOCK(WSASetLastError, LPFN_WSASETLASTERROR);
|
|
DYNAMICWINSOCK(WSAStartup, LPFN_WSASTARTUP);
|
|
DYNAMICWINSOCK(__WSAFDIsSet, LPFN_WSAFDISSET);
|
|
|