⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ms_winsock2_dynamic.h

📁 MMORPG游戏服务器端架构及函数
💻 H
📖 第 1 页 / 共 2 页
字号:
/************************************************************************
intro	:this is dynamic winsock2 function define prototype
author	:ms(XSuns@hotmail.com)
date	:7/6/2005 last edit
total	:108 function prototype
support	:no calculate now
************************************************************************/
#ifndef _MS_WINSOCK2_DYNAMIC_
#define _MS_WINSOCK2_DYNAMIC_


#define WIN32_LEAN_AND_MEAN	/* for just no collision between windows.h and winsock2.h */

#include <windows.h>
#include <winsock2.h>
#include <mswsock.h>


/************************************************************************/
/*			dynamic function prototype start                            */
/************************************************************************/

/* accept */
typedef SOCKET (WSAAPI * _lpaccept)(					
														IN SOCKET s,
														OUT struct sockaddr FAR * addr,
														IN OUT int FAR * addrlen);
/* AcceptEx */

/* bind */
typedef int (WSAAPI * _lpbind)(
														IN SOCKET s,
														IN const struct sockaddr FAR * name,
														IN int namelen );
/* closesocket */
typedef int (WSAAPI * _lpclosesocket)(
														IN SOCKET s );
/* connect */
typedef int (WSAAPI * _lpconnect)(
														IN SOCKET s,
														IN const struct sockaddr FAR * name,
														IN int namelen);
/* ConnectEx */

/* DisconnectEx */

/* EnumProtocols */
typedef int (WSAAPI * _lpEnumProtocolsA)(
														IN LPINT lpiProtocols,
														OUT LPWSAPROTOCOL_INFOA lpProtocolBuffer,
														IN OUT LPDWORD lpdwBufferLength);
typedef int (WSAAPI * _lpEnumProtocolsW)(
														IN LPINT lpiProtocols,
														OUT LPWSAPROTOCOL_INFOW lpProtocolBuffer,
														IN OUT LPDWORD lpdwBufferLength );
#ifdef UNICODE
#define _lpEnumProtocols  _lpEnumProtocolsW
#else
#define _lpEnumProtocols  _lpEnumProtocolsA
#endif /* !UNICODE */
/* freeaddrinfo */

/* gai_strerror */

/* GetAcceptExSockaddrs */

/* GetAddressByName */

/* getaddrinfo */

/* gethostbyaddr */
typedef struct hostent FAR * (WSAAPI * _lpgethostbyaddr)(
														IN const char FAR * addr,
														IN int len,
														IN int type);
/* gethostbyname */
typedef struct hostent FAR * (WSAAPI * _lpgethostbyname)(
														IN const char FAR * name);
/* gethostname */
typedef int (WSAAPI * _lpgethostname)(
														OUT char FAR * name,
														IN int namelen);
/* GetNameByType */

/* getnameinfo */

/* getpeername */
typedef int (WSAAPI * _lpgetpeername)(
														IN SOCKET s,
														IN struct sockaddr FAR * name,
														IN OUT int FAR * namelen);
/* getprotobyname */
typedef struct protoent FAR * (WSAAPI * _lpgetprotobyname)(
														IN const char FAR * name);
/* getprotobynumber */
typedef struct protoent FAR * (WSAAPI * _lpgetprotobynumber)(
														IN int number);
/* getservbyname */
typedef struct servent FAR * (WSAAPI * _lpgetservbyname)(
														IN const char FAR * name,
														IN const char FAR * proto);
/* getservbyport */
typedef struct servent FAR * (WSAAPI * _lpgetservbyport)(
														IN int port,
														IN const char FAR * proto);
/* GetService */

/* getsockname */
typedef int (WSAAPI * _lpgetsockname)(
														IN SOCKET s,
														OUT struct sockaddr FAR * name,
														IN OUT int FAR * namelen);
/* getsockopt */
typedef int (WSAAPI * _lpgetsockopt)(
														IN SOCKET s,
														IN int level,
														IN int optname,
														OUT char FAR * optval,
														IN OUT int FAR * optlen );
/* GetTypeByName */

/* htonl */
typedef u_long (WSAAPI * _lphtonl)(
														IN u_long hostlong);
/* htons */
typedef u_short (WSAAPI * _lphtons)(
														IN u_short hostshort );
/* inet_addr */
typedef unsigned long (WSAAPI * _lpinet_addr)(
														IN const char FAR * cp);
/* inet_ntoa */
typedef char FAR * (WSAAPI * _lpinet_ntoa)(
														IN struct in_addr in);
/* ioctlsocket */
typedef int (WSAAPI * _lpioctlsocket)(
														IN SOCKET s,
														IN long cmd,
														IN OUT u_long FAR * argp);
/* listen */
typedef int (WSAAPI * _lplisten)(
														IN SOCKET s,
														IN int backlog);
/* ntohl */
typedef u_long (WSAAPI * _lpntohl)(
														IN u_long netlong );
/* ntohs */
typedef u_short (WSAAPI * _lpntohs)(
														IN u_short netshort);
/* recv */
typedef int (WSAAPI * _lprecv)(
														IN SOCKET s,
														OUT char FAR * buf,
														IN int len,
														IN int flags);
/* recvfrom */
typedef int (WSAAPI * _lprecvfrom)(
														IN SOCKET s,
														OUT char FAR * buf,
														IN int len,
														IN int flags,
														OUT struct sockaddr FAR * from,
														IN OUT int FAR * fromlen);
/* select */
typedef int (WSAAPI * _lpselect)(
														IN int nfds,
														IN OUT fd_set FAR * readfds,
														IN OUT fd_set FAR * writefds,
														IN OUT fd_set FAR *exceptfds,
														IN const struct timeval FAR * timeout );
/* send */
typedef int (WSAAPI * _lpsend)(
														IN SOCKET s,
														IN const char FAR * buf,
														IN int len,
														IN int flags);
/* sendto */
typedef int (WSAAPI * _lpsendto)(
														IN SOCKET s,
														IN const char FAR * buf,
														IN int len,
														IN int flags,
														IN const struct sockaddr FAR * to,
														IN int tolen);
/* SetService */

/* setsockopt */
typedef int (WSAAPI * _lpsetsockopt)(
														IN SOCKET s,
														IN int level,
														IN int optname,
														IN const char FAR * optval,
														IN int optlen);
/* shutdown */
typedef int (WSAAPI * _lpshutdown)(
														IN SOCKET s,
														IN int how );
/* socket */
typedef SOCKET (WSAAPI * _lpsocket)(
														IN int af,
														IN int type,
														IN int protocol);
/* TransmitFile */

/* TransmitPackets */

/* WSAAccept */
typedef SOCKET (WSAAPI * _lpWSAAccept)(
														IN SOCKET s,
														OUT struct sockaddr FAR * addr,
														IN OUT LPINT addrlen,
														IN LPCONDITIONPROC lpfnCondition,
														IN DWORD_PTR dwCallbackData);
/* WSAAddressToString */
/* WSAAddressToStringA */
typedef int (WSAAPI * _lpWSAAddressToStringA)(
														IN     LPSOCKADDR          lpsaAddress,
														IN     DWORD               dwAddressLength,
														IN     LPWSAPROTOCOL_INFOA lpProtocolInfo,
														IN OUT LPSTR             lpszAddressString,
														IN OUT LPDWORD             lpdwAddressStringLength);
/* WSAAddressToStringW */	
typedef int (WSAAPI * _lpWSAAddressToStringW)(
														IN     LPSOCKADDR          lpsaAddress,
														IN     DWORD               dwAddressLength,
														IN     LPWSAPROTOCOL_INFOW lpProtocolInfo,
														IN OUT LPWSTR             lpszAddressString,
														IN OUT LPDWORD             lpdwAddressStringLength);

#ifdef UNICODE
#define _lpWSAAddressToString  _lpWSAAddressToStringW
#else
#define _lpWSAAddressToString  _lpWSAAddressToStringA
#endif /* !UNICODE */
/* WSAAsyncGetHostByAddr */
typedef HANDLE (WSAAPI * _lpWSAAsyncGetHostByAddr)(
														IN HWND hWnd,
														IN u_int wMsg,
														IN const char FAR * addr,
														IN int len,
														IN int type,
														OUT char FAR * buf,
														IN int buflen);
/* WSAAsyncGetHostByName */
typedef HANDLE (WSAAPI * _lpWSAAsyncGetHostByName)(
														IN HWND hWnd,
														IN u_int wMsg,
														IN const char FAR * name,
														OUT char FAR * buf,
														IN int buflen);
/* WSAAsyncGetprotoByName */
typedef HANDLE (WSAAPI * _lpWSAAsyncGetProtoByName)(
														IN HWND hWnd,
														IN u_int wMsg,
														IN const char FAR * name,
														OUT char FAR * buf,
														IN int buflen);
/* WSAAsyncGetprotoByNumber */
typedef HANDLE (WSAAPI * _lpWSAAsyncGetProtoByNumber)(
														IN HWND hWnd,
														IN u_int wMsg,
														IN int number,
														OUT char FAR * buf,
														IN int buflen);
/* WSAAsyncGetServByName */
typedef HANDLE (WSAAPI * _lpWSAAsyncGetServByName)(
														IN HWND hWnd,
														IN u_int wMsg,
														IN const char FAR * name,
														IN const char FAR * proto,
														OUT char FAR * buf,
														IN int buflen);
/* WSAAsyncGetServByPort */
typedef HANDLE (WSAAPI * _lpWSAAsyncGetServByPort)(
														IN HWND hWnd,
														IN u_int wMsg,
														IN int port,
														IN const char FAR * proto,
														OUT char FAR * buf,
														IN int buflen);
/* WSAAsyncSelect */
typedef int (WSAAPI * _lpWSAAsyncSelect)(
														IN SOCKET s,
														IN HWND hWnd,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -