Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

105 lines
4.5 KiB

// This is a part of the Microsoft Foundation Classes C++ library.
// Copyright (C) 1992-1995 Microsoft Corporation
// All rights reserved.
//
// This source code is only intended as a supplement to the
// Microsoft Foundation Classes Reference and related
// electronic documentation provided with the library.
// See these sources for detailed information regarding the
// Microsoft Foundation Classes product.
// Note: must include AFXDB.H first
#undef AFX_DATA
#define AFX_DATA AFX_NET_DATA
/////////////////////////////////////////////////////////////////////////////
// AFX_SOCK_CALL - used to dynamically load the ODBC library
// (since ODBC is not yet supported on all platforms)
#ifdef _AFXDLL
struct AFX_SOCK_CALL
{
SOCKET (PASCAL* pfnaccept)(SOCKET s, struct sockaddr FAR *addr, int FAR *addrlen);
u_short (PASCAL * pfnhtons)(u_short hostshort);
unsigned long (PASCAL * pfninet_addr)(const char FAR * cp);
int (PASCAL * pfnclosesocket)(SOCKET s);
int (PASCAL * pfngetsockname)(SOCKET s, struct sockaddr FAR *name, int FAR * namelen);
int (PASCAL * pfngetpeername)(SOCKET s, struct sockaddr FAR *name, int FAR * namelen);
u_short (PASCAL * pfnntohs)(u_short netshort);
char* (PASCAL * pfninet_ntoa)(struct in_addr in);
int (PASCAL * pfnWSAGetLastError)(void);
void (PASCAL * pfnWSASetLastError)(int iError);
int (PASCAL * pfnWSAStartup)(WORD wVersionRequired, LPWSADATA lpWSAData);
int (PASCAL * pfnWSACleanup)(void);
u_long (PASCAL * pfnhtonl)(u_long hostlong);
SOCKET (PASCAL * pfnsocket)(int af, int type, int protocol);
struct hostent* (PASCAL * pfngethostbyname)(const char FAR * name);
int (PASCAL * pfnrecv)(SOCKET s, char FAR * buf, int len, int flags);
int (PASCAL * pfnsend)(SOCKET s, const char FAR * buf, int len, int flags);
int (PASCAL * pfnWSAAsyncSelect)(SOCKET s, HWND hWnd, u_int wMsg, long lEvent);
int (PASCAL * pfnrecvfrom)(SOCKET s, char FAR * buf, int len, int flags, struct sockaddr FAR *from, int FAR * fromlen);
int (PASCAL * pfnsendto)(SOCKET s, const char FAR * buf, int len, int flags, const struct sockaddr FAR *to, int tolen);
int (PASCAL * pfnconnect)(SOCKET s, const struct sockaddr FAR *name, int namelen);
int (PASCAL * pfnbind)(SOCKET s, const struct sockaddr FAR *addr, int namelen);
int (PASCAL * pfnsetsockopt)(SOCKET s, int level, int optname, const char FAR * optval, int optlen);
int (PASCAL * pfngetsockopt)(SOCKET s, int level, int optname, char FAR * optval, int FAR *optlen);
int (PASCAL * pfnioctlsocket)(SOCKET s, long cmd, u_long FAR *argp);
int (PASCAL * pfnlisten)(SOCKET s, int backlog);
int (PASCAL * pfnshutdown)(SOCKET s, int how);
};
extern AFX_DATA AFX_SOCK_CALL _afxSOCK;
#define accept _afxSOCK.pfnaccept
#define htons _afxSOCK.pfnhtons
#define inet_addr _afxSOCK.pfninet_addr
#define closesocket _afxSOCK.pfnclosesocket
#define getsockname _afxSOCK.pfngetsockname
#define getpeername _afxSOCK.pfngetpeername
#define ntohs _afxSOCK.pfnntohs
#define inet_ntoa _afxSOCK.pfninet_ntoa
#define WSAGetLastError _afxSOCK.pfnWSAGetLastError
#define WSASetLastError _afxSOCK.pfnWSASetLastError
#define WSAStartup _afxSOCK.pfnWSAStartup
#define WSACleanup _afxSOCK.pfnWSACleanup
#define htonl _afxSOCK.pfnhtonl
#define socket _afxSOCK.pfnsocket
#define gethostbyname _afxSOCK.pfngethostbyname
#define recv _afxSOCK.pfnrecv
#define send _afxSOCK.pfnsend
#define WSAAsyncSelect _afxSOCK.pfnWSAAsyncSelect
#define recvfrom _afxSOCK.pfnrecvfrom
#define sendto _afxSOCK.pfnsendto
#define connect _afxSOCK.pfnconnect
#define bind _afxSOCK.pfnbind
#define setsockopt _afxSOCK.pfnsetsockopt
#define getsockopt _afxSOCK.pfngetsockopt
#define ioctlsocket _afxSOCK.pfnioctlsocket
#define listen _afxSOCK.pfnlisten
#define shutdown _afxSOCK.pfnshutdown
#endif //_AFXDLL
/////////////////////////////////////////////////////////////////////////////
// _AFX_SOCK_STATE
#undef AFX_DATA
#define AFX_DATA
class _AFX_SOCK_STATE : public CNoTrackObject
{
public:
DWORD m_dwReserved1; // reserved for version 4.1 only
HINSTANCE m_hInstSOCK; // handle of WSOCK32.DLL
void (AFXAPI *m_pfnSockTerm)(void); // set once initialized
virtual ~_AFX_SOCK_STATE();
};
EXTERN_PROCESS_LOCAL(_AFX_SOCK_STATE, _afxSockState)
#undef AFX_DATA
#define AFX_DATA
/////////////////////////////////////////////////////////////////////////////