cf62424b92
cguid.h, commctrl.h, commdlg.h, cpl.h, cplext.h, custcntl.h, dbt.h, dde.h, ddeml.h, dlgs.h, excpt.h, httpext.h, imagehlp.h, imm.h, initguid.h, intshcut.h, ipexport.h, iphlpapi.h, ipifcons.h, iprtrmib.h, iptypes.h, isguids.h, largeint.h, lm.h, lmaccess.h, lmalert.h, lmapibuf.h, lmat.h, lmaudit.h, lmbrowsr.h, lmchdev.h, lmconfig.h, lmcons.h, lmerr.h, lmerrlog.h, lmmsg.h, lmremutl.h, lmrepl.h, lmserver.h, lmshare.h, lmsname.h, lmstats.h, lmsvc.h, lmuse.h, lmuseflg.h, lmwksta.h, lzexpand.h, mapi.h, mciavi.h, mcx.h, mmsystem.h, mswsock.h, nb30.h, nddeapi.h, nspapi.h, ntdef.h, ntsecapi.h, ntsecpkg.h, oaidl.h, objbase.h, objfwd.h, objidl.h, odbcinst.h, ole.h, ole2.h, ole2ver.h, oleauto.h, olectl.h, olectlid.h, oledlg.h, oleidl.h, pbt.h, prsht.h, psapi.h, rapi.h, ras.h, raserror.h, rassapi.h, regstr.h, richedit.h, richole.h, rpc.h, rpcdce.h, rpcdce2.h, rpcdcep.h, rpcndr.h, rpcnsi.h, rpcnsip.h, rpcnterr.h, rpcproxy.h, schannel.h, schnlsp.h, scrnsave.h, security.h, setupapi.h, shellapi.h, shlguid.h, shlobj.h, sql.h, sqlext.h, sqltypes.h, sqlucode.h, sspi.h, subauth.h, tlhelp32.h, unknwn.h, userenv.h, w32api.h, winbase.h, wincon.h, wincrypt.h, windef.h, windows.h, windowsx.h, winerror.h, wingdi.h, wininet.h, winioctl.h, winnetwk.h, winnls.h, winnt.h, winperf.h, winreg.h, winresrc.h, winsock.h, winsock2.h, winspool.h, winsvc.h, winuser.h, winver.h, ws2tcpip.h, wsnetbs.h, wtypes.h, zmouse.h: Add #pragma GCC system_header if __GNUC__ >= 3. * include/mapi.h: Change header guard name to _MAPI_H for consistency.
114 lines
2.9 KiB
C
114 lines
2.9 KiB
C
/*
|
|
* 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 __cplusplus
|
|
extern "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 32
|
|
|
|
typedef 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 4
|
|
|
|
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
|
|
|
|
BOOL 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 */
|
|
|