This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/WATCOM/h/nt/ddk/ws2san.h

111 lines
4.8 KiB
C

/*
* ws2san.h Windows Sockets SAN definitions
*
* =========================================================================
*
* Open Watcom Project
*
* Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved.
*
* This file is automatically generated. Do not edit directly.
*
* =========================================================================
*/
#ifndef _WS2SAN_H_
#define _WS2SAN_H_
#ifndef _ENABLE_AUTODEPEND
#pragma read_only_file;
#endif
#ifdef __cplusplus
extern "C" {
#endif
/* Socket options */
#define SO_MAX_RDMA_SIZE 0x700D
#define SO_RDMA_THRESHOLD_SIZE 0x700E
/* Windows Sockets identifiers */
#define WSAID_REGISTERMEMORY \
{ 0xC0B422F5, 0xF58C, 0x11D1, { 0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D } }
#define WSAID_DEREGISTEMEMORY \
{ 0xC0B422F6, 0xF58C, 0x11D1, { 0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D } }
#define WSAID_REGISTERDMAMEMORY \
{ 0xC0B422F7, 0xF58C, 0x11D1, { 0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D } }
#define WSAID_DEREGISTERDMAMEMORY \
{ 0xC0B422F8, 0xF58C, 0x11D1, { 0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D } }
#define WSAID_RDMAWRITE \
{ 0xC0B422F9, 0xF58C, 0x11D1, { 0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D } }
#define WSAID_RDMAREAD \
{ 0xC0B422FA, 0xF58C, 0x11D1, { 0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D } }
#if (_WIN32_WINNT >= 0x0501)
#define WSAID_MEMORYREGISTRATIONCACHECALLBACK \
{ 0xE5DA4AF8, 0xD824, 0x48CD, { 0xA7, 0x99, 0x63, 0x37, 0xA9, 0x8E, 0xD2, 0xAF } }
#endif
/* Memory access values */
#define MEM_READ 1
#define MEM_WRITE 2
#define MEM_READWRITE 3
/* Windows Sockets upcall table (extended version) */
typedef struct _WSPUPCALLTABLEEX {
LPWPUCLOSEEVENT lpWPUCloseEvent;
LPWPUCLOSESOCKETHANDLE lpWPUCloseSocketHandle;
LPWPUCREATEEVENT lpWPUCreateEvent;
LPWPUCREATESOCKETHANDLE lpWPUCreateSocketHandle;
LPWPUFDISSET lpWPUFDIsSet;
LPWPUGETPROVIDERPATH lpWPUGetProviderPath;
LPWPUMODIFYIFSHANDLE lpWPUModifyIFSHandle;
LPWPUPOSTMESSAGE lpWPUPostMessage;
LPWPUQUERYBLOCKINGCALLBACK lpWPUQueryBlockingCallback;
LPWPUQUERYSOCKETHANDLECONTEXT lpWPUQuerySocketHandleContext;
LPWPUQUEUEAPC lpWPUQueueApc;
LPWPURESETEVENT lpWPUResetEvent;
LPWPUSETEVENT lpWPUSetEvent;
LPWPUOPENCURRENTTHREAD lpWPUOpenCurrentThread;
LPWPUCLOSETHREAD lpWPUCloseThread;
LPWPUCOMPLETEOVERLAPPEDREQUEST lpWPUCompleteOverlappedRequest;
} WSPUPCALLTABLEEX;
typedef WSPUPCALLTABLEEX *LPWSPUPCALLTABLEEX;
/* Windows Socket buffer (extended version) */
typedef struct _WSABUFEX {
u_long len;
char *buf;
HANDLE handle;
} WSABUFEX;
typedef WSABUFEX *LPWSABUFEX;
/* Pointer to functions implemented by SAN service providers */
typedef int (WSPAPI *LPWSPSTARTUPEX)( WORD, LPWSPDATA, LPWSAPROTOCOL_INFOW, LPWSPUPCALLTABLEEX, LPWSPPROC_TABLE );
typedef HANDLE (WSPAPI *LPFN_WSPREGISTERMEMORY)( SOCKET, PVOID, DWORD, DWORD, LPINT );
typedef int (WSPAPI *LPFN_WSPDEREGISTERMEMORY)( SOCKET, HANDLE, LPINT );
typedef BOOL (WSPAPI *LPFN_WSPREGISTERDMAMEMORY)( SOCKET, PVOID, DWORD, DWORD, LPVOID, LPDWORD, LPINT );
typedef int (WSPAPI *LPFN_WSPDEREGISTERDMAMEMORY)( SOCKET, LPVOID, DWORD, LPINT );
typedef int (WSPAPI *LPFN_WSPRDMAWRITE)( SOCKET, LPWSABUFEX, DWORD, LPVOID, DWORD, DWORD, LPDWORD, DWORD, LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE, LPWSATHREADID, LPINT );
typedef int (WSPAPI *LPFN_WSPRDMAREAD)( SOCKET, LPWSABUFEX, DWORD, LPVOID, DWORD, DWORD, LPDWORD, DWORD, LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE, LPWSATHREADID, LPINT );
#if (_WIN32_WINNT >= 0x0501)
typedef int (WSPAPI *LPFN_WSPMEMORYREGISTRATIONCACHECALLBACK)( LPVOID, SIZE_T, LPINT );
#endif
/* Functions implemented by SAN service providers */
int WSPAPI WSPDeregisterMemory( SOCKET, HANDLE, LPINT );
int WSPAPI WSPDeregisterRdmaMemory( SOCKET, LPVOID, DWORD, LPINT );
int WSPAPI WSPRdmaRead( SOCKET, LPWSABUFEX, DWORD, LPVOID, DWORD, DWORD, LPDWORD, DWORD, LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE, LPWSATHREADID, LPINT );
int WSPAPI WSPRdmaWrite( SOCKET, LPWSABUFEX, DWORD, LPVOID, DWORD, DWORD, LPDWORD, DWORD, LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE, LPWSATHREADID, LPINT );
HANDLE WSPAPI WSPRegisterMemory( SOCKET, PVOID, DWORD, DWORD, LPINT );
int WSPAPI WSPRegisterRdmaMemory( SOCKET, PVOID, DWORD, DWORD, LPVOID, LPDWORD, LPINT );
int WSPAPI WSPStartupEx( WORD, LPWSPDATA, LPWSAPROTOCOL_INFOW, LPWSPUPCALLTABLEEX, LPWSPPROC_TABLE );
#if (_WIN32_WINNT >= 0x0501)
int WSPAPI WSPMemoryRegistrationCacheCallback( LPVOID, SIZE_T, LPINT );
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* _WS2SAN_H_ */