www.pudn.com > API Hook 工具相关代码 apihooktest.rar > SockHookFun.h
#ifndef _HOOK_SOCK_FUNS_H
#define _HOOK_SOCK_FUNS_H
#include "winsock2.h"
#include "Nspapi.h"
SOCKET PASCAL FAR my_accept (SOCKET s, struct sockaddr FAR *addr, int FAR *addrlen);
int PASCAL FAR my_bind (SOCKET s, const struct sockaddr FAR *addr, int namelen);
int PASCAL FAR my_closesocket (SOCKET s);
int PASCAL FAR my_connect (SOCKET s, const struct sockaddr FAR *name, int namelen);
int PASCAL FAR my_ioctlsocket (SOCKET s, long cmd, u_long FAR *argp);
int PASCAL FAR my_getpeername (SOCKET s, struct sockaddr FAR *name,
int FAR * namelen);
int PASCAL FAR my_getsockname (SOCKET s, struct sockaddr FAR *name,
int FAR * namelen);
int PASCAL FAR my_getsockopt (SOCKET s, int level, int optname,
char FAR * optval, int FAR *optlen);
u_long PASCAL FAR my_htonl (u_long hostlong);
u_short PASCAL FAR my_htons (u_short hostshort);
unsigned long PASCAL PASCAL FAR my_inet_addr (const char FAR * cp);
char* PASCAL FAR my_inet_ntoa (struct in_addr in);
int PASCAL FAR my_listen (SOCKET s, int backlog);
u_long PASCAL FAR my_ntohl (u_long netlong);
u_short PASCAL FAR my_ntohs (u_short netshort);
int PASCAL FAR my_recv (SOCKET s, char FAR * buf, int len, int flags);
int PASCAL FAR my_recvfrom (SOCKET s, char FAR * buf, int len, int flags,
struct sockaddr FAR *from, int FAR * fromlen);
int PASCAL FAR my_select (int nfds, fd_set FAR *readfds, fd_set FAR *writefds,
fd_set FAR *exceptfds, const struct timeval FAR *timeout);
int PASCAL FAR my_send (SOCKET s, const char FAR * buf, int len, int flags);
int PASCAL FAR my_sendto (SOCKET s, const char FAR * buf, int len, int flags,
const struct sockaddr FAR *to, int tolen);
int PASCAL FAR my_setsockopt (SOCKET s, int level, int optname,
const char FAR * optval, int optlen);
int PASCAL FAR my_shutdown (SOCKET s, int how);
SOCKET PASCAL FAR my_socket (int af, int type, int protocol);
struct hostent* PASCAL FAR my_gethostbyaddr(const char FAR * addr,
int len, int type);
struct hostent* PASCAL FAR my_gethostbyname(const char FAR * name);
int PASCAL FAR my_gethostname (char FAR * name, int namelen);
struct servent* PASCAL FAR my_getservbyport(int port, const char FAR * proto);
struct servent* PASCAL FAR my_getservbyname(const char FAR * name,
const char FAR * proto);
struct protoent* PASCAL FAR my_getprotobynumber(int proto);
struct protoent* PASCAL FAR my_getprotobyname(const char FAR * name);
/* Microsoft Windows Extension function prototypes */
int PASCAL FAR my_WSAStartup(WORD wVersionRequired, LPWSADATA lpWSAData);
int PASCAL FAR my_WSACleanup(void);
void PASCAL FAR my_WSASetLastError(int iError);
int PASCAL FAR my_WSAGetLastError(void);
BOOL PASCAL FAR my_WSAIsBlocking(void);
int PASCAL FAR my_WSAUnhookBlockingHook(void);
FARPROC PASCAL FAR my_WSASetBlockingHook(FARPROC lpBlockFunc);
int PASCAL FAR my_WSACancelBlockingCall(void);
HANDLE PASCAL FAR my_WSAAsyncGetServByName(HWND hWnd, u_int wMsg,
const char FAR * name,
const char FAR * proto,
char FAR * buf, int buflen);
HANDLE PASCAL FAR my_WSAAsyncGetServByPort(HWND hWnd, u_int wMsg, int port,
const char FAR * proto, char FAR * buf,
int buflen);
HANDLE PASCAL FAR my_WSAAsyncGetProtoByName(HWND hWnd, u_int wMsg,
const char FAR * name, char FAR * buf,
int buflen);
HANDLE PASCAL FAR my_WSAAsyncGetProtoByNumber(HWND hWnd, u_int wMsg,
int number, char FAR * buf,
int buflen);
HANDLE PASCAL FAR my_WSAAsyncGetHostByName(HWND hWnd, u_int wMsg,
const char FAR * name, char FAR * buf,
int buflen);
HANDLE PASCAL FAR my_WSAAsyncGetHostByAddr(HWND hWnd, u_int wMsg,
const char FAR * addr, int len, int type,
char FAR * buf, int buflen);
int PASCAL FAR my_WSACancelAsyncRequest(HANDLE hAsyncTaskHandle);
int PASCAL FAR my_WSAAsyncSelect(SOCKET s, HWND hWnd, u_int wMsg,
long lEvent);
int PASCAL FAR my_WSARecvEx (SOCKET s, char FAR * buf, int len, int FAR *flags);
INT PASCAL my_EnumProtocolsA (
IN LPINT lpiProtocols,
IN OUT LPVOID lpProtocolBuffer,
IN OUT LPDWORD lpdwBufferLength);
INT PASCAL my_EnumProtocolsW (
IN LPINT lpiProtocols,
IN OUT LPVOID lpProtocolBuffer,
IN OUT LPDWORD lpdwBufferLength
);
INT PASCAL my_GetAddressByNameA (
IN DWORD dwNameSpace,
IN LPGUID lpServiceType,
IN LPSTR lpServiceName OPTIONAL,
IN LPINT lpiProtocols OPTIONAL,
IN DWORD dwResolution,
IN LPSERVICE_ASYNC_INFO lpServiceAsyncInfo OPTIONAL,
IN OUT LPVOID lpCsaddrBuffer,
IN OUT LPDWORD lpdwBufferLength,
IN OUT LPSTR lpAliasBuffer OPTIONAL,
IN OUT LPDWORD lpdwAliasBufferLength OPTIONAL);
INT PASCAL my_GetAddressByNameW (
IN DWORD dwNameSpace,
IN LPGUID lpServiceType,
IN LPWSTR lpServiceName OPTIONAL,
IN LPINT lpiProtocols OPTIONAL,
IN DWORD dwResolution,
IN LPSERVICE_ASYNC_INFO lpServiceAsyncInfo OPTIONAL,
IN OUT LPVOID lpCsaddrBuffer,
IN OUT LPDWORD lpdwBufferLength,
IN OUT LPWSTR lpAliasBuffer OPTIONAL,
IN OUT LPDWORD lpdwAliasBufferLength OPTIONAL);
INT PASCAL my_GetTypeByNameA (
IN LPSTR lpServiceName,
IN OUT LPGUID lpServiceType);
INT PASCAL my_GetTypeByNameW (
IN LPWSTR lpServiceName,
IN OUT LPGUID lpServiceType);
INT PASCAL my_GetNameByTypeA (
IN LPGUID lpServiceType,
IN OUT LPSTR lpServiceName,
IN DWORD dwNameLength);
INT PASCAL my_GetNameByTypeW (
IN LPGUID lpServiceType,
IN OUT LPWSTR lpServiceName,
IN DWORD dwNameLength);
INT PASCAL my_SetServiceA (
IN DWORD dwNameSpace,
IN DWORD dwOperation,
IN DWORD dwFlags,
IN LPSERVICE_INFOA lpServiceInfo,
IN LPSERVICE_ASYNC_INFO lpServiceAsyncInfo,
IN OUT LPDWORD lpdwStatusFlags);
INT PASCAL my_SetServiceW (
IN DWORD dwNameSpace,
IN DWORD dwOperation,
IN DWORD dwFlags,
IN LPSERVICE_INFOW lpServiceInfo,
IN LPSERVICE_ASYNC_INFO lpServiceAsyncInfo,
IN OUT LPDWORD lpdwStatusFlags);
INT PASCAL my_GetServiceA (
IN DWORD dwNameSpace,
IN LPGUID lpGuid,
IN LPSTR lpServiceName,
IN DWORD dwProperties,
IN OUT LPVOID lpBuffer,
IN OUT LPDWORD lpdwBufferSize,
IN LPSERVICE_ASYNC_INFO lpServiceAsyncInfo);
INT PASCAL my_GetServiceW (
IN DWORD dwNameSpace,
IN LPGUID lpGuid,
IN LPWSTR lpServiceName,
IN DWORD dwProperties,
IN OUT LPVOID lpBuffer,
IN OUT LPDWORD lpdwBufferSize,
IN LPSERVICE_ASYNC_INFO lpServiceAsyncInfo);
#endif