📄 dwnsock1.inc
字号:
//
// 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
//
// Function available in both versions
//
DYNAMICWINSOCK(accept, LPFN_ACCEPT);
DYNAMICWINSOCK(bind, LPFN_BIND);
DYNAMICWINSOCK(closesocket, LPFN_CLOSESOCKET);
DYNAMICWINSOCK(connect, LPFN_CONNECT);
DYNAMICWINSOCK(gethostbyaddr, LPFN_GETHOSTBYADDR);
DYNAMICWINSOCK(gethostbyname, LPFN_GETHOSTBYNAME);
DYNAMICWINSOCK(gethostname, LPFN_GETHOSTNAME);
DYNAMICWINSOCK(getpeername, LPFN_GETPEERNAME);
DYNAMICWINSOCK(getprotobyname, LPFN_GETPROTOBYNAME);
DYNAMICWINSOCK(getprotobynumber, LPFN_GETPROTOBYNUMBER);
DYNAMICWINSOCK(getservbyname, LPFN_GETSERVBYNAME);
DYNAMICWINSOCK(getservbyport, LPFN_GETSERVBYPORT);
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(recv, LPFN_RECV);
DYNAMICWINSOCK(recvfrom, LPFN_RECVFROM);
DYNAMICWINSOCK(select, LPFN_SELECT);
DYNAMICWINSOCK(send, LPFN_SEND);
DYNAMICWINSOCK(sendto, LPFN_SENDTO);
DYNAMICWINSOCK(setsockopt, LPFN_SETSOCKOPT);
DYNAMICWINSOCK(shutdown, LPFN_SHUTDOWN);
DYNAMICWINSOCK(socket, LPFN_SOCKET);
DYNAMICWINSOCK(WSAAsyncGetHostByAddr, LPFN_WSAASYNCGETHOSTBYADDR);
DYNAMICWINSOCK(WSAAsyncGetHostByName, LPFN_WSAASYNCGETHOSTBYNAME);
DYNAMICWINSOCK(WSAAsyncGetProtoByName, LPFN_WSAASYNCGETPROTOBYNAME);
DYNAMICWINSOCK(WSAAsyncGetProtoByNumber, LPFN_WSAASYNCGETPROTOBYNUMBER);
DYNAMICWINSOCK(WSAAsyncGetServByName, LPFN_WSAASYNCGETSERVBYNAME);
DYNAMICWINSOCK(WSAAsyncGetServByPort, LPFN_WSAASYNCGETSERVBYPORT);
DYNAMICWINSOCK(WSAAsyncSelect, LPFN_WSAASYNCSELECT);
DYNAMICWINSOCK(WSACancelAsyncRequest, LPFN_WSACANCELASYNCREQUEST);
DYNAMICWINSOCK(WSACleanup, LPFN_WSACLEANUP);
DYNAMICWINSOCK(WSAGetLastError, LPFN_WSAGETLASTERROR);
DYNAMICWINSOCK(WSASetLastError, LPFN_WSASETLASTERROR);
DYNAMICWINSOCK(WSAStartup, LPFN_WSASTARTUP);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -