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

📄 mswsock.h

📁 北京大学ACM在线评测系统 OnlineJudge
💻 H
字号:
/* * mswsock.h * MS-specific extensions to Windows Sockets, exported from mswsock.dll. * These functions are N/A on Windows9x. * * This file is part of a free library for the Win32 API. * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. */         #ifndef _MSWSOCK_H#define _MSWSOCK_H#if __GNUC__ >=3#pragma GCC system_header#endif#ifdef __cplusplusextern "C" {#endif#define SO_CONNDATA	0x7000#define SO_CONNOPT	0x7001#define SO_DISCDATA	0x7002#define SO_DISCOPT	0x7003#define SO_CONNDATALEN	0x7004#define SO_CONNOPTLEN	0x7005#define SO_DISCDATALEN	0x7006#define SO_DISCOPTLEN	0x7007#define SO_OPENTYPE	0x7008#define SO_SYNCHRONOUS_ALERT	0x10#define SO_SYNCHRONOUS_NONALERT	0x20#define SO_MAXDG	0x7009#define SO_MAXPATHDG	0x700A#define SO_UPDATE_ACCEPT_CONTEXT	0x700B#define SO_CONNECT_TIME	0x700C#define TCP_BSDURGENT	0x7000#define TF_DISCONNECT   1#define TF_REUSE_SOCKET 2#define TF_WRITE_BEHIND 4#define TF_USE_DEFAULT_WORKER   0#define TF_USE_SYSTEM_THREAD    16#define TF_USE_KERNEL_APC   32typedef struct _TRANSMIT_FILE_BUFFERS {	PVOID Head;	DWORD HeadLength;	PVOID Tail;	DWORD TailLength;} TRANSMIT_FILE_BUFFERS, *PTRANSMIT_FILE_BUFFERS, *LPTRANSMIT_FILE_BUFFERS;int PASCAL WSARecvEx(SOCKET,char*,int,int*);BOOL PASCAL TransmitFile(SOCKET,HANDLE,DWORD,DWORD,LPOVERLAPPED,LPTRANSMIT_FILE_BUFFERS,DWORD);BOOL PASCAL AcceptEx(SOCKET,SOCKET,PVOID,DWORD,DWORD,DWORD,LPDWORD,LPOVERLAPPED);VOID PASCAL GetAcceptExSockaddrs(PVOID,DWORD,DWORD,DWORD,struct sockaddr**, LPINT, struct sockaddr**, LPINT);#ifdef _WINSOCK2_H /* These require the winsock2 interface.  */#define TP_ELEMENT_FILE		1#define TP_ELEMENT_MEMORY	2#define TP_ELEMENT_EOP		4typedef struct _TRANSMIT_PACKETS_ELEMENT { 	ULONG dwElFlags;	ULONG cLength;	_ANONYMOUS_UNION	union {		struct {			LARGE_INTEGER	nFileOffset;			HANDLE		hFile;		};		PVOID	pBuffer;	};} TRANSMIT_PACKETS_ELEMENT; typedef struct _WSAMSG {	LPSOCKADDR	name;	INT		namelen;	LPWSABUF	lpBuffers;	DWORD		dwBufferCount;	WSABUF		Control;	DWORD		dwFlags;} WSAMSG, *PWSAMSG, *LPWSAMSG;/* According to MSDN docs, the WSAMSG.Control buffer starts with a   cmsghdr header of the following form.  See also RFC 2292. */typedef struct wsacmsghdr {	UINT	cmsg_len;	INT	cmsg_level; 	INT	cmsg_type;	/* followed by UCHAR cmsg_data[]; */} WSACMSGHDR;/* TODO: Standard Posix.1g macros as per RFC 2292, with WSA_uglification. */#if 0#define WSA_CMSG_FIRSTHDR(mhdr)#define WSA_CMSG_NXTHDR(mhdr, cmsg)#define WSA_CMSG_SPACE(length)#define WSA_CMSG_LEN(length)#endifBOOL PASCAL DisconnectEx(SOCKET,LPOVERLAPPED,DWORD,DWORD);int PASCAL WSARecvMsg(SOCKET,LPWSAMSG,LPDWORD,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE);#endif /* _WINSOCK2_H */#ifdef __cplusplus}#endif#endif  /*  _MSWSOCK_H */

⌨️ 快捷键说明

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