1 /**
2  * This file is part of the mingw-w64 runtime package.
3  * No warranty is given; refer to the file DISCLAIMER within this package.
4  */
5 
6 #ifndef _NDKINFO_H_
7 #define _NDKINFO_H_
8 
9 #include <winapifamily.h>
10 
11 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
12 
13 #define NDK_ADAPTER_FLAG_IN_ORDER_DMA_SUPPORTED 0x1
14 #define NDK_ADAPTER_FLAG_RDMA_READ_SINK_NOT_REQUIRED 0x2
15 #define NDK_ADAPTER_FLAG_CQ_INTERRUPT_MODERATION_SUPPORTED 0x4
16 #define NDK_ADAPTER_FLAG_MULTI_ENGINE_SUPPORTED 0x8
17 #define NDK_ADAPTER_FLAG_CQ_RESIZE_SUPPORTED 0x100
18 #define NDK_ADAPTER_FLAG_LOOPBACK_CONNECTIONS_SUPPORTED 0x10000
19 
20 typedef struct {
21   USHORT Major;
22   USHORT Minor;
23 } NDK_VERSION;
24 
25 typedef struct _NDK_ADAPTER_INFO {
26   NDK_VERSION Version;
27   UINT32 VendorId;
28   UINT32 DeviceId;
29   SIZE_T MaxRegistrationSize;
30   SIZE_T MaxWindowSize;
31   ULONG FRMRPageCount;
32   ULONG MaxInitiatorRequestSge;
33   ULONG MaxReceiveRequestSge;
34   ULONG MaxReadRequestSge;
35   ULONG MaxTransferLength;
36   ULONG MaxInlineDataSize;
37   ULONG MaxInboundReadLimit;
38   ULONG MaxOutboundReadLimit;
39   ULONG MaxReceiveQueueDepth;
40   ULONG MaxInitiatorQueueDepth;
41   ULONG MaxSrqDepth;
42   ULONG MaxCqDepth;
43   ULONG LargeRequestThreshold;
44   ULONG MaxCallerData;
45   ULONG MaxCalleeData;
46   ULONG AdapterFlags;
47 } NDK_ADAPTER_INFO;
48 
49 #endif
50 #endif
51