* include/mswsock.h (TP_*): Add new defines.
(TRANSMIT_PACKETS_ELEMENT): Define new structure. (WSAMSG): Likewise. (WSACMSGHDR): Likewise. (DisconnectEx): Add new prototype. (WSARecvMsg): Likewise. (WSA_CMSG_*) Add empty macros, guarded by #if 0.
This commit is contained in:
		| @@ -1,3 +1,13 @@ | ||||
| 2002-03-05  dannysmith@users.sourceforge.net | ||||
|  | ||||
| 	* include/mswsock.h (TP_*): Add new defines. | ||||
| 	(TRANSMIT_PACKETS_ELEMENT): Define new structure. | ||||
| 	(WSAMSG): Likewise. | ||||
| 	(WSACMSGHDR): Likewise. | ||||
| 	(DisconnectEx): Add new prototype. | ||||
| 	(WSARecvMsg): Likewise. | ||||
| 	(WSA_CMSG_*) Add empty macros, guarded by #if 0. | ||||
|  | ||||
| 2002-03-02  dannysmith@users.sourceforge.net | ||||
|  | ||||
| 	* ChangeLog: Fix typo in last entry.  | ||||
|   | ||||
| @@ -40,6 +40,10 @@ extern "C" { | ||||
| #define TF_USE_SYSTEM_THREAD    16 | ||||
| #define TF_USE_KERNEL_APC   32 | ||||
|  | ||||
| #define TP_ELEMENT_FILE		1 | ||||
| #define TP_ELEMENT_MEMORY	2 | ||||
| #define TP_ELEMENT_EOP		4 | ||||
|  | ||||
| typedef struct _TRANSMIT_FILE_BUFFERS { | ||||
| 	PVOID Head; | ||||
| 	DWORD HeadLength; | ||||
| @@ -47,10 +51,53 @@ typedef struct _TRANSMIT_FILE_BUFFERS { | ||||
| 	DWORD TailLength; | ||||
| } TRANSMIT_FILE_BUFFERS, *PTRANSMIT_FILE_BUFFERS, *LPTRANSMIT_FILE_BUFFERS; | ||||
|  | ||||
| typedef 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) | ||||
| #endif | ||||
|  | ||||
| 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); | ||||
| BOOL PASCAL DisconnectEx(SOCKET,LPOVERLAPPED,DWORD,DWORD); | ||||
| int PASCAL WSARecvMsg(SOCKET,LPWSAMSG,LPDWORD,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE); | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user