📄 ms_winsock2_dynamic.h
字号:
/************************************************************************
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 + -