mirror of https://github.com/lianthony/NT4.0
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
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
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|