1 --- w32api-5.0.2/include/winbase.h.orig 2017-11-09 02:35:48.000000000 +0100
2 +++ w32api-5.0.2/include/winbase.h 2018-09-16 12:54:28.225409121 +0200
4 #define FILE_FLAG_DELETE_ON_CLOSE 67108864
5 #define FILE_FLAG_BACKUP_SEMANTICS 33554432
6 #define FILE_FLAG_POSIX_SEMANTICS 16777216
7 +#define FILE_FLAG_SESSION_AWARE 0x800000
8 #define FILE_FLAG_OPEN_REPARSE_POINT 2097152
9 #define FILE_FLAG_OPEN_NO_RECALL 1048576
12 #define DONT_RESOLVE_DLL_REFERENCES 1
13 #define LOAD_LIBRARY_AS_DATAFILE 2
14 #define LOAD_WITH_ALTERED_SEARCH_PATH 8
15 +#define LOAD_IGNORE_CODE_AUTHZ_LEVEL 0x10
16 +#define LOAD_LIBRARY_AS_IMAGE_RESOURCE 0x20
17 +#define LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE 0x40
18 +#define LOAD_LIBRARY_REQUIRE_SIGNED_TARGET 0x80
21 #define LMEM_MOVEABLE 2
23 #define MOVEFILE_COPY_ALLOWED 2
24 #define MOVEFILE_DELAY_UNTIL_REBOOT 4
25 #define MOVEFILE_WRITE_THROUGH 8
26 +#define MOVEFILE_CREATE_HARDLINK 0x10
27 +#define MOVEFILE_FAIL_IF_NOT_TRACKABLE 0x20
29 #define MAXIMUM_WAIT_OBJECTS 64
30 #define MAXIMUM_SUSPEND_COUNT 0x7F
32 #define BACKUP_OBJECT_ID 7
33 #define BACKUP_REPARSE_DATA 8
34 #define BACKUP_SPARSE_BLOCK 9
35 +#define BACKUP_TXFS_DATA 10
37 #define STREAM_NORMAL_ATTRIBUTE 0
38 #define STREAM_MODIFIED_WHEN_READ 1
39 #define STREAM_CONTAINS_SECURITY 2
40 #define STREAM_CONTAINS_PROPERTIES 4
41 +#define STREAM_SPARSE_ATTRIBUTE 8
43 #define STARTF_USESHOWWINDOW 1
44 #define STARTF_USESIZE 2
46 #define STARTF_FORCEOFFFEEDBACK 128
47 #define STARTF_USESTDHANDLES 256
48 #define STARTF_USEHOTKEY 512
49 +#define STARTF_TITLEISLINKNAME 0x000800
50 +#define STARTF_TITLEISAPPID 0x001000
51 +#define STARTF_PREVENTPINNING 0x002000
56 #define DDD_RAW_TARGET_PATH 1
57 #define DDD_REMOVE_DEFINITION 2
58 #define DDD_EXACT_MATCH_ON_REMOVE 4
59 +#define DDD_NO_BROADCAST_SYSTEM 8
60 +#define DDD_LUID_BROADCAST_DRIVE 0x10
62 #define HINSTANCE_ERROR 32
65 #define REPLACEFILE_WRITE_THROUGH 0x00000001
66 #define REPLACEFILE_IGNORE_MERGE_ERRORS 0x00000002
68 +#define EVENTLOG_FULL_INFO 0
70 #if (_WIN32_WINNT > 0x0501)
71 /* FIXME: Once again, what does this mean? Should use >= comparator, for
72 * clarity. 0x0501 is WinXP, but does > WinXP mean Server-2003 (0x0502)?
74 #define QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX 0x00000004
75 #define QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE 0x00000008
76 #define QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS 0x00000010
77 +#define QUERY_ACTCTX_FLAG_NO_ADDREF 0x80000000
79 #if _WIN32_WINNT >= _WIN32_WINNT_VISTA
80 /* Constants associated with features supported only on Vista and later.
82 #define VOLUME_NAME_NONE 0x4
83 #define VOLUME_NAME_NT 0x2
85 +#define FILE_SKIP_COMPLETION_PORT_ON_SUCCESS 0x1
86 +#define FILE_SKIP_SET_EVENT_ON_HANDLE 0x2
88 +#define PROCESS_NAME_NATIVE 0x1
90 +#define PROC_THREAD_ATTRIBUTE_NUMBER 0x00ffff
91 +#define PROC_THREAD_ATTRIBUTE_THREAD 0x010000
92 +#define PROC_THREAD_ATTRIBUTE_INPUT 0x020000
93 +#define PROC_THREAD_ATTRIBUTE_ADDITIVE 0x040000
95 +#define ATOM_FLAG_GLOBAL 0x2
97 +#define LOGON32_PROVIDER_VIRTUAL 4
99 +#define RESTART_MAX_CMD_LINE 1024
101 +#define RESTART_NO_CRASH 1
102 +#define RESTART_NO_HANG 2
103 +#define RESTART_NO_PATCH 4
104 +#define RESTART_NO_REBOOT 8
106 +#define RECOVERY_DEFAULT_PING_INTERVAL 5000
107 +#define RECOVERY_MAX_PING_INTERVAL (5 *60 *1000)
109 #if _WIN32_WINNT >= _WIN32_WINNT_WIN7
110 /* Constants associated with features supported only on Win7 and later.
112 #define PROCESS_DEP_ENABLE 1
113 #define PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION 2
115 +#define BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE 0x1
116 +#define BASE_SEARCH_PATH_PERMANENT 0x8000
117 +#define BASE_SEARCH_PATH_DISABLE_SAFE_SEARCHMODE 0x10000
118 +#define BASE_SEARCH_PATH_INVALID_FLAGS ~0x18001
120 +#define REMOTE_PROTOCOL_INFO_FLAG_LOOPBACK 0x00000001
121 +#define REMOTE_PROTOCOL_INFO_FLAG_OFFLINE 0x00000002
123 +#if _WIN32_WINNT >= _WIN32_WINNT_WIN8
125 +#define FILE_FLAG_OPEN_REQUIRING_OPLOCK 0x40000
127 +#define COPY_FILE_REQUEST_SECURITY_PRIVILEGES 0x2000
128 +#define COPY_FILE_RESUME_FROM_PAUSE 0x4000
129 +#define COPY_FILE_NO_OFFLOAD 0x40000
131 +#define MEMORY_PRIORITY_LOWEST 0
132 +#define MEMORY_PRIORITY_VERY_LOW 1
133 +#define MEMORY_PRIORITY_LOW 2
134 +#define MEMORY_PRIORITY_MEDIUM 3
135 +#define MEMORY_PRIORITY_BELOW_NORMAL 4
136 +#define MEMORY_PRIORITY_NORMAL 5
138 +#define OPERATION_API_VERSION 1
139 +#define OPERATION_START_TRACE_CURRENT_THREAD 1
140 +#define OPERATION_END_DISCARD 1
142 +#define MEHC_PATROL_SCRUBBER_PRESENT 0x1
144 +#define STORAGE_INFO_FLAGS_ALIGNED_DEVICE 0x00000001
145 +#define STORAGE_INFO_FLAGS_PARTITION_ALIGNED_ON_DEVICE 0x00000002
146 +#define STORAGE_INFO_OFFSET_UNKNOWN 0xffffffff
148 +#define REMOTE_PROTOCOL_INFO_FLAG_PERSISTENT_HANDLE 0x00000004
150 +#define RPI_FLAG_SMB2_SHARECAP_TIMEWARP 0x00000002
151 +#define RPI_FLAG_SMB2_SHARECAP_DFS 0x00000008
152 +#define RPI_FLAG_SMB2_SHARECAP_CONTINUOUS_AVAILABILITY 0x00000010
153 +#define RPI_FLAG_SMB2_SHARECAP_SCALEOUT 0x00000020
154 +#define RPI_FLAG_SMB2_SHARECAP_CLUSTER 0x00000040
156 +#define RPI_SMB2_FLAG_SERVERCAP_DFS 0x00000001
157 +#define RPI_SMB2_FLAG_SERVERCAP_LEASING 0x00000002
158 +#define RPI_SMB2_FLAG_SERVERCAP_LARGEMTU 0x00000004
159 +#define RPI_SMB2_FLAG_SERVERCAP_MULTICHANNEL 0x00000008
160 +#define RPI_SMB2_FLAG_SERVERCAP_PERSISTENT_HANDLES 0x00000010
161 +#define RPI_SMB2_FLAG_SERVERCAP_DIRECTORY_LEASING 0x00000020
163 +#endif /* Win8 and later */
164 #endif /* Win7 and later */
165 #endif /* WinVista and later */
166 #endif /* WinXP and later */
167 @@ -1346,6 +1432,7 @@
168 WINBASEAPI BOOL WINAPI CallNamedPipeW
169 (LPCWSTR, PVOID, DWORD, PVOID, DWORD, PDWORD, DWORD);
171 +WINBASEAPI BOOL WINAPI RequestDeviceWakeup (HANDLE hDevice);
172 WINBASEAPI BOOL WINAPI CancelDeviceWakeupRequest (HANDLE);
173 WINBASEAPI BOOL WINAPI CancelIo (HANDLE);
174 WINBASEAPI BOOL WINAPI CancelWaitableTimer (HANDLE);
175 @@ -1691,6 +1778,8 @@
177 WINBASEAPI BOOL WINAPI GetDevicePowerState (HANDLE, BOOL *);
179 +WINBASEAPI BOOL WINAPI SetMessageWaitingIndicator (HANDLE hMsgIndicator, ULONG ulMsgCount);
181 #define GetDiskFreeSpace __AW_SUFFIXED__(GetDiskFreeSpace)
182 WINBASEAPI BOOL WINAPI GetDiskFreeSpaceA
183 (LPCSTR, PDWORD, PDWORD, PDWORD, PDWORD);
184 @@ -2034,6 +2123,7 @@
185 WINBASEAPI BOOL WINAPI IsBadWritePtr (PVOID, UINT);
186 WINBASEAPI BOOL WINAPI IsDebuggerPresent (void);
187 WINBASEAPI BOOL WINAPI IsProcessorFeaturePresent (DWORD);
188 +WINBASEAPI BOOL WINAPI RequestWakeupLatency (LATENCY_TIME latency);
189 WINBASEAPI BOOL WINAPI IsSystemResumeAutomatic (void);
190 WINBASEAPI BOOL WINAPI IsTextUnicode (PCVOID, int, LPINT);
191 WINBASEAPI BOOL WINAPI IsValidAcl (PACL);
192 @@ -2516,6 +2606,8 @@
193 WINBASEAPI BOOL WINAPI ConvertFiberToThread (void);
194 WINBASEAPI LPVOID WINAPI CreateFiberEx
195 (SIZE_T, SIZE_T, DWORD, LPFIBER_START_ROUTINE, LPVOID);
196 +#define FIBER_FLAG_FLOAT_SWITCH 0x1
197 +WINBASEAPI LPVOID WINAPI ConvertThreadToFiberEx(LPVOID lpParameter,DWORD dwFlags);
198 #endif /* Win9x, but not WinNT until NT4 */
200 #if _WIN32_WINDOWS >= _WIN32_WINDOWS_98 || _WIN32_WINNT >= _WIN32_WINNT_WIN2K
201 @@ -2597,6 +2689,7 @@
203 #define LOGON_WITH_PROFILE 0x00000001
204 #define LOGON_NETCREDENTIALS_ONLY 0x00000002
205 +#define LOGON_ZERO_PASSWORD_BUFFER 0x80000000
207 WINBASEAPI BOOL WINAPI CreateRestrictedToken
208 ( HANDLE, DWORD, DWORD, PSID_AND_ATTRIBUTES, DWORD, PLUID_AND_ATTRIBUTES,
209 @@ -2615,6 +2708,10 @@
210 WINBASEAPI BOOL WINAPI DeleteTimerQueueEx (HANDLE, HANDLE);
211 WINBASEAPI BOOL WINAPI DeleteTimerQueueTimer (HANDLE, HANDLE, HANDLE);
213 +WINBASEAPI HANDLE WINAPI SetTimerQueueTimer (HANDLE TimerQueue, WAITORTIMERCALLBACK Callback, PVOID Parameter, DWORD DueTime, DWORD Period, BOOL PreferIo);
214 +WINBASEAPI BOOL WINAPI CancelTimerQueueTimer (HANDLE TimerQueue, HANDLE Timer);
215 +WINBASEAPI BOOL WINAPI DeleteTimerQueue (HANDLE TimerQueue);
217 #define DeleteVolumeMountPoint __AW_SUFFIXED__(DeleteVolumeMountPoint)
218 WINBASEAPI BOOL WINAPI DeleteVolumeMountPointA (LPCSTR);
219 WINBASEAPI BOOL WINAPI DeleteVolumeMountPointW (LPCWSTR);
220 @@ -2711,6 +2808,12 @@
221 WINBASEAPI BOOL WINAPI MapUserPhysicalPagesScatter
222 (PVOID *, ULONG_PTR, PULONG_PTR);
224 +typedef struct _EVENTLOG_FULL_INFORMATION {
226 +} EVENTLOG_FULL_INFORMATION,*LPEVENTLOG_FULL_INFORMATION;
228 +WINADVAPI BOOL WINAPI GetEventLogInformation (HANDLE hEventLog, DWORD dwInfoLevel, LPVOID lpBuffer, DWORD cbBufSize, LPDWORD pcbBytesNeeded);
230 #if _WIN32_WINNT >= _WIN32_WINNT_WINXP
231 /* New features, implemented for WinXP; not available in Win9x.
233 @@ -2845,6 +2948,29 @@
235 WINBASEAPI BOOL WINAPI ZombifyActCtx (HANDLE);
237 +#define OpenEncryptedFileRaw __AW_SUFFIXED__(OpenEncryptedFileRaw)
238 +WINADVAPI DWORD WINAPI OpenEncryptedFileRawA (LPCSTR lpFileName, ULONG ulFlags, PVOID *pvContext);
239 +WINADVAPI DWORD WINAPI OpenEncryptedFileRawW (LPCWSTR lpFileName, ULONG ulFlags, PVOID *pvContext);
241 +typedef DWORD (WINAPI *PFE_EXPORT_FUNC) (PBYTE pbData, PVOID pvCallbackContext, ULONG ulLength);
242 +typedef DWORD (WINAPI *PFE_IMPORT_FUNC) (PBYTE pbData, PVOID pvCallbackContext, PULONG ulLength);
243 +WINADVAPI DWORD WINAPI ReadEncryptedFileRaw (PFE_EXPORT_FUNC pfExportCallback, PVOID pvCallbackContext, PVOID pvContext);
244 +WINADVAPI DWORD WINAPI WriteEncryptedFileRaw (PFE_IMPORT_FUNC pfImportCallback, PVOID pvCallbackContext, PVOID pvContext);
245 +WINADVAPI VOID WINAPI CloseEncryptedFileRaw (PVOID pvContext);
247 +/* TODO: requires includes for AUDIT_EVENT_TYPE and POBJECT_TYPE_LIST
248 +WINADVAPI BOOL WINAPI AccessCheckByTypeAndAuditAlarmA (LPCSTR SubsystemName, LPVOID HandleId, LPCSTR ObjectTypeName, LPCSTR ObjectName, PSECURITY_DESCRIPTOR SecurityDescriptor, PSID PrincipalSelfSid, DWORD DesiredAccess, AUDIT_EVENT_TYPE AuditType, DWORD Flags, POBJECT_TYPE_LIST ObjectTypeList, DWORD ObjectTypeListLength, PGENERIC_MAPPING GenericMapping, BOOL ObjectCreation, LPDWORD GrantedAccess, LPBOOL AccessStatus, LPBOOL pfGenerateOnClose);
249 +WINADVAPI BOOL WINAPI AccessCheckByTypeResultListAndAuditAlarmA (LPCSTR SubsystemName, LPVOID HandleId, LPCSTR ObjectTypeName, LPCSTR ObjectName, PSECURITY_DESCRIPTOR SecurityDescriptor, PSID PrincipalSelfSid, DWORD DesiredAccess, AUDIT_EVENT_TYPE AuditType, DWORD Flags, POBJECT_TYPE_LIST ObjectTypeList, DWORD ObjectTypeListLength, PGENERIC_MAPPING GenericMapping, BOOL ObjectCreation, LPDWORD GrantedAccess, LPDWORD AccessStatusList, LPBOOL pfGenerateOnClose);
250 +WINADVAPI BOOL WINAPI AccessCheckByTypeResultListAndAuditAlarmByHandleA (LPCSTR SubsystemName, LPVOID HandleId, HANDLE ClientToken, LPCSTR ObjectTypeName, LPCSTR ObjectName, PSECURITY_DESCRIPTOR SecurityDescriptor, PSID PrincipalSelfSid, DWORD DesiredAccess, AUDIT_EVENT_TYPE AuditType, DWORD Flags, POBJECT_TYPE_LIST ObjectTypeList, DWORD ObjectTypeListLength, PGENERIC_MAPPING GenericMapping, BOOL ObjectCreation, LPDWORD GrantedAccess, LPDWORD AccessStatusList, LPBOOL pfGenerateOnClose);
253 +#define LogonUserEx __AW_SUFFIXED__(LogonUserEx)
254 +WINADVAPI BOOL WINAPI LogonUserExA (LPCSTR lpszUsername, LPCSTR lpszDomain, LPCSTR lpszPassword, DWORD dwLogonType, DWORD dwLogonProvider, PHANDLE phToken, PSID *ppLogonSid, PVOID *ppProfileBuffer, LPDWORD pdwProfileLength, PQUOTA_LIMITS pQuotaLimits);
255 +WINADVAPI BOOL WINAPI LogonUserExW (LPCWSTR lpszUsername, LPCWSTR lpszDomain, LPCWSTR lpszPassword, DWORD dwLogonType, DWORD dwLogonProvider, PHANDLE phToken, PSID *ppLogonSid, PVOID *ppProfileBuffer, LPDWORD pdwProfileLength, PQUOTA_LIMITS pQuotaLimits);
257 +WINADVAPI BOOL WINAPI IsTokenUntrusted (HANDLE TokenHandle);
258 +WINBASEAPI BOOL WINAPI BindIoCompletionCallback (HANDLE FileHandle, LPOVERLAPPED_COMPLETION_ROUTINE Function, ULONG Flags);
260 #if _WIN32_WINNT >= _WIN32_WINNT_WS03
261 /* Further added features, which became available on the WinNT platform
262 * from Windows Server-2003; these were never made available in Win9x.
263 @@ -2902,6 +3023,21 @@
265 } FILE_NAME_INFO, *PFILE_NAME_INFO, *LPFILE_NAME_INFO;
267 +typedef struct _FILE_RENAME_INFO {
268 + BOOLEAN ReplaceIfExists;
269 + HANDLE RootDirectory;
270 + DWORD FileNameLength;
272 +} FILE_RENAME_INFO,*PFILE_RENAME_INFO;
274 +typedef struct _FILE_ALLOCATION_INFO {
275 + LARGE_INTEGER AllocationSize;
276 +} FILE_ALLOCATION_INFO,*PFILE_ALLOCATION_INFO;
278 +typedef struct _FILE_END_OF_FILE_INFO {
279 + LARGE_INTEGER EndOfFile;
280 +} FILE_END_OF_FILE_INFO,*PFILE_END_OF_FILE_INFO;
282 typedef struct _FILE_STREAM_INFO
283 /* http://msdn.microsoft.com/en-us/library/aa364406%28v=VS.85%29.aspx */
284 { DWORD NextEntryOffset;
285 @@ -2927,6 +3063,10 @@
287 } FILE_ATTRIBUTE_TAG_INFO, *PFILE_ATTRIBUTE_TAG_INFO, *LPFILE_ATTRIBUTE_TAG_INFO;
289 +typedef struct _FILE_DISPOSITION_INFO {
290 + BOOLEAN DeleteFile;
291 +} FILE_DISPOSITION_INFO,*PFILE_DISPOSITION_INFO;
293 typedef struct _FILE_ID_BOTH_DIR_INFO
294 /* http://msdn.microsoft.com/en-us/library/aa364226%28v=VS.85%29.aspx */
295 { DWORD NextEntryOffset;
296 @@ -2946,6 +3086,32 @@
298 } FILE_ID_BOTH_DIR_INFO, *PFILE_ID_BOTH_DIR_INFO, *LPFILE_ID_BOTH_DIR_INFO;
300 +typedef struct _FILE_FULL_DIR_INFO {
301 + ULONG NextEntryOffset;
303 + LARGE_INTEGER CreationTime;
304 + LARGE_INTEGER LastAccessTime;
305 + LARGE_INTEGER LastWriteTime;
306 + LARGE_INTEGER ChangeTime;
307 + LARGE_INTEGER EndOfFile;
308 + LARGE_INTEGER AllocationSize;
309 + ULONG FileAttributes;
310 + ULONG FileNameLength;
313 +} FILE_FULL_DIR_INFO,*PFILE_FULL_DIR_INFO;
315 +typedef enum _PRIORITY_HINT {
316 + IoPriorityHintVeryLow = 0,
318 + IoPriorityHintNormal,
319 + MaximumIoPriorityHintType
322 +typedef struct _FILE_IO_PRIORITY_HINT_INFO {
323 + PRIORITY_HINT PriorityHint;
324 +} FILE_IO_PRIORITY_HINT_INFO,*PFILE_IO_PRIORITY_HINT_INFO;
326 typedef struct _FILE_REMOTE_PROTOCOL_INFO
327 /* http://msdn.microsoft.com/en-us/library/dd979524%28v=VS.85%29.aspx */
328 { USHORT StructureVersion;
329 @@ -2959,9 +3125,24 @@
333 +#if _WIN32_WINNT >= _WIN32_WINNT_WIN8
337 + ULONG Capabilities;
340 + ULONG Capabilities;
341 + ULONG CachingFlags;
344 + ULONG Reserved[16];
345 + } ProtocolSpecific;
348 { ULONG Reserved[16];
349 } ProtocolSpecificReserved;
351 } FILE_REMOTE_PROTOCOL_INFO, *PFILE_REMOTE_PROTOCOL_INFO, *LPFILE_REMOTE_PROTOCOL_INFO;
353 typedef enum _DEP_SYSTEM_POLICY_TYPE
354 @@ -2994,6 +3175,10 @@
355 WINBASEAPI BOOL WINAPI CreateSymbolicLinkA (LPCSTR, LPCSTR, DWORD);
356 WINBASEAPI BOOL WINAPI CreateSymbolicLinkW (LPCWSTR, LPCWSTR, DWORD);
358 +#define CreateSymbolicLinkTransacted __AW_SUFFIXED__(CreateSymbolicLinkTransacted)
359 +WINBASEAPI BOOLEAN APIENTRY CreateSymbolicLinkTransactedA (LPCSTR lpSymlinkFileName, LPCSTR lpTargetFileName, DWORD dwFlags, HANDLE hTransaction);
360 +WINBASEAPI BOOLEAN APIENTRY CreateSymbolicLinkTransactedW (LPCWSTR lpSymlinkFileName, LPCWSTR lpTargetFileName, DWORD dwFlags, HANDLE hTransaction);
362 /* http://msdn.microsoft.com/en-us/library/aa364953%28VS.85%29.aspx */
363 WINBASEAPI BOOL WINAPI GetFileInformationByHandleEx
364 (HANDLE, FILE_INFO_BY_HANDLE_CLASS, LPVOID, DWORD);
365 @@ -3029,6 +3214,202 @@
366 void WINAPI WakeAllConditionVariable (PCONDITION_VARIABLE);
367 void WINAPI WakeConditionVariable (PCONDITION_VARIABLE);
369 +WINBASEAPI LPVOID WINAPI VirtualAllocExNuma (HANDLE hProcess, LPVOID lpAddress, SIZE_T dwSize, DWORD flAllocationType, DWORD flProtect, DWORD nndPreferred);
371 +#define GetLongPathNameTransacted __AW_SUFFIXED__(GetLongPathNameTransacted)
372 +WINBASEAPI DWORD WINAPI GetLongPathNameTransactedA (LPCSTR lpszShortPath, LPSTR lpszLongPath, DWORD cchBuffer, HANDLE hTransaction);
373 +WINBASEAPI DWORD WINAPI GetLongPathNameTransactedW (LPCWSTR lpszShortPath, LPWSTR lpszLongPath, DWORD cchBuffer, HANDLE hTransaction);
375 +WINBASEAPI BOOL WINAPI SetFileCompletionNotificationModes (HANDLE FileHandle, UCHAR Flags);
376 +WINBASEAPI BOOL WINAPI SetFileIoOverlappedRange (HANDLE FileHandle, PUCHAR OverlappedRangeStart, ULONG Length);
378 +/* PWOW64_CONTEXT type not defined in MinGW32
379 +WINBASEAPI BOOL WINAPI Wow64GetThreadContext (HANDLE hThread, PWOW64_CONTEXT lpContext);
380 +WINBASEAPI BOOL WINAPI Wow64SetThreadContext (HANDLE hThread, CONST WOW64_CONTEXT *lpContext);
383 +WINBASEAPI DWORD WINAPI Wow64SuspendThread (HANDLE hThread);
385 +/* LPPROC_THREAD_ATTRIBUTE_LIST not defined
386 +typedef struct _STARTUPINFOEXA {
387 + STARTUPINFOA StartupInfo;
388 + LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList;
389 +} STARTUPINFOEXA,*LPSTARTUPINFOEXA;
391 +typedef struct _STARTUPINFOEXW {
392 + STARTUPINFOW StartupInfo;
393 + LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList;
394 +} STARTUPINFOEXW,*LPSTARTUPINFOEXW;
396 +typedef __AW_ALIAS__(STARTUPINFOEX), *LPSTARTUPINFOEX;
399 +#define CreateSemaphoreEx __AW_SUFFIXED__(CreateSemaphoreEx)
400 +WINBASEAPI HANDLE WINAPI CreateSemaphoreExA (LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG lInitialCount, LONG lMaximumCount, LPCSTR lpName, DWORD dwFlags, DWORD dwDesiredAccess);
401 +WINBASEAPI HANDLE WINAPI CreateSemaphoreExW (LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG lInitialCount, LONG lMaximumCount, LPCWSTR lpName, DWORD dwFlags, DWORD dwDesiredAccess);
403 +#define CreateWaitableTimerEx __AW_SUFFIXED__(CreateWaitableTimerEx)
404 +WINBASEAPI HANDLE WINAPI CreateWaitableTimerExA (LPSECURITY_ATTRIBUTES lpTimerAttributes, LPCSTR lpTimerName, DWORD dwFlags, DWORD dwDesiredAccess);
405 +WINBASEAPI HANDLE WINAPI CreateWaitableTimerExW (LPSECURITY_ATTRIBUTES lpTimerAttributes, LPCWSTR lpTimerName, DWORD dwFlags, DWORD dwDesiredAccess);
407 +#define CreateFileMappingNuma __AW_SUFFIXED__(CreateFileMappingNuma)
408 +WINBASEAPI HANDLE WINAPI CreateFileMappingNumaA (HANDLE hFile, LPSECURITY_ATTRIBUTES lpFileMappingAttributes, DWORD flProtect, DWORD dwMaximumSizeHigh, DWORD dwMaximumSizeLow, LPCSTR lpName, DWORD nndPreferred);
409 +WINBASEAPI HANDLE WINAPI CreateFileMappingNumaW (HANDLE hFile, LPSECURITY_ATTRIBUTES lpFileMappingAttributes, DWORD flProtect, DWORD dwMaximumSizeHigh, DWORD dwMaximumSizeLow, LPCWSTR lpName, DWORD nndPreferred);
411 +#define QueryFullProcessImageName __AW_SUFFIXED__(QueryFullProcessImageName)
412 +WINBASEAPI BOOL WINAPI QueryFullProcessImageNameA (HANDLE hProcess, DWORD dwFlags, LPSTR lpExeName, PDWORD lpdwSize);
413 +WINBASEAPI BOOL WINAPI QueryFullProcessImageNameW (HANDLE hProcess, DWORD dwFlags, LPWSTR lpExeName, PDWORD lpdwSize);
415 +#ifndef _USE_FULL_PROC_THREAD_ATTRIBUTE
416 + typedef enum _PROC_THREAD_ATTRIBUTE_NUM {
417 + ProcThreadAttributeParentProcess = 0,
418 + ProcThreadAttributeHandleList = 2
419 +#if _WIN32_WINNT >= _WIN32_WINNT_WIN7
420 + ,ProcThreadAttributeGroupAffinity = 3,
421 + ProcThreadAttributePreferredNode = 4,
422 + ProcThreadAttributeIdealProcessor = 5,
423 + ProcThreadAttributeUmsThread = 6,
424 + ProcThreadAttributeMitigationPolicy = 7
426 +#if _WIN32_WINNT >= _WIN32_WINNT_WIN8
427 + ,ProcThreadAttributeSecurityCapabilities = 9
429 + } PROC_THREAD_ATTRIBUTE_NUM;
432 +WINBASEAPI BOOL WINAPI Wow64DisableWow64FsRedirection(PVOID*);
433 +WINBASEAPI BOOLEAN WINAPI Wow64EnableWow64FsRedirection (BOOLEAN Wow64FsEnableRedirection);
434 +WINBASEAPI BOOL WINAPI Wow64RevertWow64FsRedirection(PVOID);
436 +#define CreateDirectoryTransacted __AW_SUFFIXED__(CreateDirectoryTransacted)
437 +WINBASEAPI BOOL WINAPI CreateDirectoryTransactedA (LPCSTR lpTemplateDirectory, LPCSTR lpNewDirectory, LPSECURITY_ATTRIBUTES lpSecurityAttributes, HANDLE hTransaction);
438 +WINBASEAPI BOOL WINAPI CreateDirectoryTransactedW (LPCWSTR lpTemplateDirectory, LPCWSTR lpNewDirectory, LPSECURITY_ATTRIBUTES lpSecurityAttributes, HANDLE hTransaction);
440 +#define RemoveDirectoryTransacted __AW_SUFFIXED__(RemoveDirectoryTransacted)
441 +WINBASEAPI BOOL WINAPI RemoveDirectoryTransactedA (LPCSTR lpPathName, HANDLE hTransaction);
442 +WINBASEAPI BOOL WINAPI RemoveDirectoryTransactedW (LPCWSTR lpPathName, HANDLE hTransaction);
444 +#define GetFullPathNameTransacted __AW_SUFFIXED__(GetFullPathNameTransacted)
445 +WINBASEAPI DWORD WINAPI GetFullPathNameTransactedA (LPCSTR lpFileName, DWORD nBufferLength, LPSTR lpBuffer, LPSTR *lpFilePart, HANDLE hTransaction);
446 +WINBASEAPI DWORD WINAPI GetFullPathNameTransactedW (LPCWSTR lpFileName, DWORD nBufferLength, LPWSTR lpBuffer, LPWSTR *lpFilePart, HANDLE hTransaction);
448 +#define CreateFileTransacted __AW_SUFFIXED__(CreateFileTransacted)
449 +WINBASEAPI HANDLE WINAPI CreateFileTransactedA (LPCSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile, HANDLE hTransaction, PUSHORT pusMiniVersion, PVOID lpExtendedParameter);
450 +WINBASEAPI HANDLE WINAPI CreateFileTransactedW (LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile, HANDLE hTransaction, PUSHORT pusMiniVersion, PVOID lpExtendedParameter);
452 +#define SetFileAttributesTransacted __AW_SUFFIXED__(SetFileAttributesTransacted)
453 +WINBASEAPI BOOL WINAPI SetFileAttributesTransactedA (LPCSTR lpFileName, DWORD dwFileAttributes, HANDLE hTransaction);
454 +WINBASEAPI BOOL WINAPI SetFileAttributesTransactedW (LPCWSTR lpFileName, DWORD dwFileAttributes, HANDLE hTransaction);
456 +#define GetFileAttributesTransacted __AW_SUFFIXED__(GetFileAttributesTransacted)
457 +WINBASEAPI BOOL WINAPI GetFileAttributesTransactedA (LPCSTR lpFileName, GET_FILEEX_INFO_LEVELS fInfoLevelId, LPVOID lpFileInformation, HANDLE hTransaction);
458 +WINBASEAPI BOOL WINAPI GetFileAttributesTransactedW (LPCWSTR lpFileName, GET_FILEEX_INFO_LEVELS fInfoLevelId, LPVOID lpFileInformation, HANDLE hTransaction);
460 +#define GetCompressedFileSizeTransacted __AW_SUFFIXED__(GetCompressedFileSizeTransacted)
461 +WINBASEAPI DWORD WINAPI GetCompressedFileSizeTransactedA (LPCSTR lpFileName, LPDWORD lpFileSizeHigh, HANDLE hTransaction);
462 +WINBASEAPI DWORD WINAPI GetCompressedFileSizeTransactedW (LPCWSTR lpFileName, LPDWORD lpFileSizeHigh, HANDLE hTransaction);
464 +#define DeleteFileTransacted __AW_SUFFIXED__(DeleteFileTransacted)
465 +WINBASEAPI BOOL WINAPI DeleteFileTransactedA (LPCSTR lpFileName, HANDLE hTransaction);
466 +WINBASEAPI BOOL WINAPI DeleteFileTransactedW (LPCWSTR lpFileName, HANDLE hTransaction);
468 +#define FindFirstFileTransacted __AW_SUFFIXED__(FindFirstFileTransacted)
469 +WINBASEAPI HANDLE WINAPI FindFirstFileTransactedA (LPCSTR lpFileName, FINDEX_INFO_LEVELS fInfoLevelId, LPVOID lpFindFileData, FINDEX_SEARCH_OPS fSearchOp, LPVOID lpSearchFilter, DWORD dwAdditionalFlags, HANDLE hTransaction);
470 +WINBASEAPI HANDLE WINAPI FindFirstFileTransactedW (LPCWSTR lpFileName, FINDEX_INFO_LEVELS fInfoLevelId, LPVOID lpFindFileData, FINDEX_SEARCH_OPS fSearchOp, LPVOID lpSearchFilter, DWORD dwAdditionalFlags, HANDLE hTransaction);
472 +#define CopyFileTransacted __AW_SUFFIXED__(CopyFileTransacted)
473 +WINBASEAPI BOOL WINAPI CopyFileTransactedA (LPCSTR lpExistingFileName, LPCSTR lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, LPBOOL pbCancel, DWORD dwCopyFlags, HANDLE hTransaction);
474 +WINBASEAPI BOOL WINAPI CopyFileTransactedW (LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, LPBOOL pbCancel, DWORD dwCopyFlags, HANDLE hTransaction);
476 +#define MoveFileTransacted __AW_SUFFIXED__(MoveFileTransacted)
477 +WINBASEAPI BOOL WINAPI MoveFileTransactedA (LPCSTR lpExistingFileName, LPCSTR lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, DWORD dwFlags, HANDLE hTransaction);
478 +WINBASEAPI BOOL WINAPI MoveFileTransactedW (LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, DWORD dwFlags, HANDLE hTransaction);
480 +#define CreateHardLinkTransacted __AW_SUFFIXED__(CreateHardLinkTransacted)
481 +WINBASEAPI BOOL WINAPI CreateHardLinkTransactedA (LPCSTR lpFileName, LPCSTR lpExistingFileName, LPSECURITY_ATTRIBUTES lpSecurityAttributes, HANDLE hTransaction);
482 +WINBASEAPI BOOL WINAPI CreateHardLinkTransactedW (LPCWSTR lpFileName, LPCWSTR lpExistingFileName, LPSECURITY_ATTRIBUTES lpSecurityAttributes, HANDLE hTransaction);
484 +typedef enum _STREAM_INFO_LEVELS {
485 + FindStreamInfoStandard,
486 + FindStreamInfoMaxInfoLevel
487 +} STREAM_INFO_LEVELS;
489 +typedef struct _WIN32_FIND_STREAM_DATA {
490 + LARGE_INTEGER StreamSize;
491 + WCHAR cStreamName[MAX_PATH + 36];
492 +} WIN32_FIND_STREAM_DATA,*PWIN32_FIND_STREAM_DATA;
494 +WINBASEAPI HANDLE WINAPI FindFirstStreamW (LPCWSTR lpFileName, STREAM_INFO_LEVELS InfoLevel, LPVOID lpFindStreamData, DWORD dwFlags);
495 +WINBASEAPI BOOL APIENTRY FindNextStreamW (HANDLE hFindStream, LPVOID lpFindStreamData);
496 +WINBASEAPI HANDLE WINAPI FindFirstStreamTransactedW (LPCWSTR lpFileName, STREAM_INFO_LEVELS InfoLevel, LPVOID lpFindStreamData, DWORD dwFlags, HANDLE hTransaction);
497 +WINBASEAPI HANDLE WINAPI FindFirstFileNameW (LPCWSTR lpFileName, DWORD dwFlags, LPDWORD StringLength, PWSTR LinkName);
498 +WINBASEAPI BOOL APIENTRY FindNextFileNameW (HANDLE hFindStream, LPDWORD StringLength, PWSTR LinkName);
499 +WINBASEAPI HANDLE WINAPI FindFirstFileNameTransactedW (LPCWSTR lpFileName, DWORD dwFlags, LPDWORD StringLength, PWSTR LinkName, HANDLE hTransaction);
500 +WINBASEAPI BOOL WINAPI GetNamedPipeClientComputerNameA (HANDLE Pipe, LPSTR ClientComputerName, ULONG ClientComputerNameLength);
501 +WINBASEAPI BOOL WINAPI GetNamedPipeClientProcessId (HANDLE Pipe, PULONG ClientProcessId);
502 +WINBASEAPI BOOL WINAPI GetNamedPipeClientSessionId (HANDLE Pipe, PULONG ClientSessionId);
503 +WINBASEAPI BOOL WINAPI GetNamedPipeServerProcessId (HANDLE Pipe, PULONG ServerProcessId);
504 +WINBASEAPI BOOL WINAPI GetNamedPipeServerSessionId (HANDLE Pipe, PULONG ServerSessionId);
505 +WINBASEAPI BOOL WINAPI SetFileBandwidthReservation (HANDLE hFile, DWORD nPeriodMilliseconds, DWORD nBytesPerPeriod, BOOL bDiscardable, LPDWORD lpTransferSize, LPDWORD lpNumOutstandingRequests);
506 +WINBASEAPI BOOL WINAPI GetFileBandwidthReservation (HANDLE hFile, LPDWORD lpPeriodMilliseconds, LPDWORD lpBytesPerPeriod, LPBOOL pDiscardable, LPDWORD lpTransferSize, LPDWORD lpNumOutstandingRequests);
508 +WINBASEAPI LPVOID WINAPI MapViewOfFileExNuma (HANDLE hFileMappingObject, DWORD dwDesiredAccess, DWORD dwFileOffsetHigh, DWORD dwFileOffsetLow, SIZE_T dwNumberOfBytesToMap, LPVOID lpBaseAddress, DWORD nndPreferred);
510 +WINADVAPI BOOL WINAPI CreateProcessWithTokenW (HANDLE hToken, DWORD dwLogonFlags, LPCWSTR lpApplicationName, LPWSTR lpCommandLine, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCWSTR lpCurrentDirectory, LPSTARTUPINFOW lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation);
512 +WINBASEAPI HANDLE WINAPI CreatePrivateNamespaceA (LPSECURITY_ATTRIBUTES lpPrivateNamespaceAttributes, LPVOID lpBoundaryDescriptor, LPCSTR lpAliasPrefix);
513 +WINBASEAPI HANDLE WINAPI OpenPrivateNamespaceA (LPVOID lpBoundaryDescriptor, LPCSTR lpAliasPrefix);
514 +WINBASEAPI HANDLE APIENTRY CreateBoundaryDescriptorA (LPCSTR Name, ULONG Flags);
515 +WINBASEAPI BOOL WINAPI AddIntegrityLabelToBoundaryDescriptor (HANDLE *BoundaryDescriptor, PSID IntegrityLabel);
517 +WINBASEAPI BOOL WINAPI AllocateUserPhysicalPagesNuma (HANDLE hProcess, PULONG_PTR NumberOfPages, PULONG_PTR PageArray, DWORD nndPreferred);
519 +WINBASEAPI DWORD WINAPI WTSGetActiveConsoleSessionId (VOID);
521 +WINBASEAPI BOOL WINAPI GetNumaProcessorNode (UCHAR Processor, PUCHAR NodeNumber);
522 +WINBASEAPI BOOL WINAPI GetNumaNodeProcessorMask (UCHAR Node, PULONGLONG ProcessorMask);
523 +WINBASEAPI BOOL WINAPI GetNumaAvailableMemoryNode (UCHAR Node, PULONGLONG AvailableBytes);
524 +WINBASEAPI BOOL WINAPI GetNumaProximityNode (ULONG ProximityId, PUCHAR NodeNumber);
526 +typedef DWORD (WINAPI *APPLICATION_RECOVERY_CALLBACK) (PVOID pvParameter);
528 +WINBASEAPI HRESULT WINAPI RegisterApplicationRecoveryCallback (APPLICATION_RECOVERY_CALLBACK pRecoveyCallback, PVOID pvParameter, DWORD dwPingInterval, DWORD dwFlags);
529 +WINBASEAPI HRESULT WINAPI UnregisterApplicationRecoveryCallback (void);
530 +WINBASEAPI HRESULT WINAPI RegisterApplicationRestart (PCWSTR pwzCommandline, DWORD dwFlags);
531 +WINBASEAPI HRESULT WINAPI UnregisterApplicationRestart (void);
532 +WINBASEAPI HRESULT WINAPI GetApplicationRecoveryCallback (HANDLE hProcess, APPLICATION_RECOVERY_CALLBACK *pRecoveryCallback, PVOID *ppvParameter, PDWORD pdwPingInterval, PDWORD pdwFlags);
533 +WINBASEAPI HRESULT WINAPI GetApplicationRestartSettings (HANDLE hProcess, PWSTR pwzCommandline, PDWORD pcchSize, PDWORD pdwFlags);
534 +WINBASEAPI HRESULT WINAPI ApplicationRecoveryInProgress (PBOOL pbCancelled);
535 +WINBASEAPI VOID WINAPI ApplicationRecoveryFinished (BOOL bSuccess);
537 +typedef enum _FILE_ID_TYPE {
540 + ExtendedFileIdType,
542 +} FILE_ID_TYPE,*PFILE_ID_TYPE;
544 +typedef struct FILE_ID_DESCRIPTOR {
547 + __GNUC_EXTENSION union {
548 + LARGE_INTEGER FileId;
550 +#if _WIN32_WINNT >= _WIN32_WINNT_WIN8
551 + FILE_ID_128 ExtendedFileId;
554 +} FILE_ID_DESCRIPTOR,*LPFILE_ID_DESCRIPTOR;
556 +WINBASEAPI HANDLE WINAPI OpenFileById (HANDLE hVolumeHint, LPFILE_ID_DESCRIPTOR lpFileId, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwFlagsAndAttributes);
558 +WINBASEAPI BOOL WINAPI QueryActCtxSettingsW (DWORD dwFlags, HANDLE hActCtx, PCWSTR settingsNameSpace, PCWSTR settingName, PWSTR pvBuffer, SIZE_T dwBuffer, SIZE_T *pdwWrittenOrRequired);
559 +WINBASEAPI BOOL WINAPI ReplacePartitionUnit (PWSTR TargetPartition, PWSTR SparePartition, ULONG Flags);
560 +/* PSECURE_MEMORY_CACHE_CALLBACK not defined
561 +WINBASEAPI BOOL WINAPI AddSecureMemoryCacheCallback (PSECURE_MEMORY_CACHE_CALLBACK pfnCallBack);
562 +WINBASEAPI BOOL WINAPI RemoveSecureMemoryCacheCallback (PSECURE_MEMORY_CACHE_CALLBACK pfnCallBack);
565 #if _WIN32_WINNT >= _WIN32_WINNT_WIN7
566 /* Additional features, available only on the WinNT series platforms, from
567 * the release of Windows-7 onwards.
568 @@ -3042,6 +3417,161 @@
569 BOOLEAN WINAPI TryAcquireSRWLockExclusive (PSRWLOCK);
570 BOOLEAN WINAPI TryAcquireSRWLockShared (PSRWLOCK);
572 +/* PSYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION not defined
573 +WINBASEAPI BOOL WINAPI GetProcessorSystemCycleTime (USHORT Group, PSYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION Buffer, PDWORD ReturnedLength);
575 +WINBASEAPI BOOL WINAPI GetPhysicallyInstalledSystemMemory (PULONGLONG TotalMemoryInKilobytes);
577 +/* REASON_CONTEXT type not defined in MinGW32
578 +typedef REASON_CONTEXT POWER_REQUEST_CONTEXT,*PPOWER_REQUEST_CONTEXT,*LPPOWER_REQUEST_CONTEXT;
580 +WINBASEAPI HANDLE WINAPI PowerCreateRequest (PREASON_CONTEXT Context);
581 +WINBASEAPI BOOL WINAPI PowerSetRequest (HANDLE PowerRequest, POWER_REQUEST_TYPE RequestType);
582 +WINBASEAPI BOOL WINAPI PowerClearRequest (HANDLE PowerRequest, POWER_REQUEST_TYPE RequestType);
585 +WINBASEAPI DWORD WINAPI GetThreadErrorMode (VOID);
586 +WINBASEAPI BOOL WINAPI SetThreadErrorMode (DWORD dwNewMode, LPDWORD lpOldMode);
588 +/* PWOW64_LDT_ENTRY type not defined in MinGW32
589 +WINBASEAPI BOOL WINAPI Wow64GetThreadSelectorEntry (HANDLE hThread, DWORD dwSelector, PWOW64_LDT_ENTRY lpSelectorEntry);
592 +WINBASEAPI BOOL WINAPI SetSearchPathMode (DWORD Flags);
594 +WINADVAPI BOOL WINAPI AddConditionalAce (PACL pAcl, DWORD dwAceRevision, DWORD AceFlags, UCHAR AceType, DWORD AccessMask, PSID pSid, PWCHAR ConditionStr, DWORD *ReturnLength);
596 +#define LookupAccountNameLocal __AW_SUFFIXED__(LookupAccountNameLocal)
597 +WINADVAPI BOOL WINAPI LookupAccountNameLocalA (LPCSTR lpAccountName, PSID Sid, LPDWORD cbSid, LPSTR ReferencedDomainName, LPDWORD cchReferencedDomainName, PSID_NAME_USE peUse);
598 +WINADVAPI BOOL WINAPI LookupAccountNameLocalW (LPCWSTR lpAccountName, PSID Sid, LPDWORD cbSid, LPWSTR ReferencedDomainName, LPDWORD cchReferencedDomainName, PSID_NAME_USE peUse);
600 +#define LookupAccountSidLocal __AW_SUFFIXED__(LookupAccountSidLocal)
601 +WINADVAPI BOOL WINAPI LookupAccountSidLocalA (PSID Sid, LPSTR Name, LPDWORD cchName, LPSTR ReferencedDomainName, LPDWORD cchReferencedDomainName, PSID_NAME_USE peUse);
602 +WINADVAPI BOOL WINAPI LookupAccountSidLocalW (PSID Sid, LPWSTR Name, LPDWORD cchName, LPWSTR ReferencedDomainName, LPDWORD cchReferencedDomainName, PSID_NAME_USE peUse);
604 +WINBASEAPI WORD WINAPI GetActiveProcessorGroupCount (VOID);
605 +WINBASEAPI WORD WINAPI GetMaximumProcessorGroupCount (VOID);
606 +WINBASEAPI DWORD WINAPI GetActiveProcessorCount (WORD GroupNumber);
607 +WINBASEAPI DWORD WINAPI GetMaximumProcessorCount (WORD GroupNumber);
608 +WINBASEAPI BOOL WINAPI GetNumaNodeNumberFromHandle (HANDLE hFile, PUSHORT NodeNumber);
609 +/* PPROCESSOR_NUMBER not defined
610 +WINBASEAPI BOOL WINAPI GetNumaProcessorNodeEx (PPROCESSOR_NUMBER Processor, PUSHORT NodeNumber);
612 +WINBASEAPI BOOL WINAPI GetNumaAvailableMemoryNodeEx (USHORT Node, PULONGLONG AvailableBytes);
613 +WINBASEAPI BOOL WINAPI GetNumaProximityNodeEx (ULONG ProximityId, PUSHORT NodeNumber);
615 +WINBASEAPI BOOL WINAPI CopyContext (PCONTEXT Destination, DWORD ContextFlags, PCONTEXT Source);
616 +WINBASEAPI BOOL WINAPI InitializeContext (PVOID Buffer, DWORD ContextFlags, PCONTEXT *Context, PDWORD ContextLength);
618 +#if defined (__x86_64__) || defined (__i386__)
619 +WINBASEAPI DWORD64 WINAPI GetEnabledXStateFeatures (VOID);
620 +WINBASEAPI BOOL WINAPI GetXStateFeaturesMask (PCONTEXT Context, PDWORD64 FeatureMask);
621 +WINBASEAPI PVOID WINAPI LocateXStateFeature (PCONTEXT Context, DWORD FeatureId, PDWORD Length);
622 +WINBASEAPI BOOL WINAPI SetXStateFeaturesMask (PCONTEXT Context, DWORD64 FeatureMask);
625 +WINBASEAPI DWORD APIENTRY EnableThreadProfiling (HANDLE ThreadHandle, DWORD Flags, DWORD64 HardwareCounters, HANDLE *PerformanceDataHandle);
626 +WINBASEAPI DWORD APIENTRY DisableThreadProfiling (HANDLE PerformanceDataHandle);
627 +WINBASEAPI DWORD APIENTRY QueryThreadProfiling (HANDLE ThreadHandle, PBOOLEAN Enabled);
628 +/* PPERFORMANCE_DATA not defined
629 +WINBASEAPI DWORD APIENTRY ReadThreadProfilingData (HANDLE PerformanceDataHandle, DWORD Flags, PPERFORMANCE_DATA PerformanceData);
632 +#if _WIN32_WINNT >= _WIN32_WINNT_WIN8
634 +typedef enum _THREAD_INFORMATION_CLASS {
635 + ThreadMemoryPriority,
636 + ThreadAbsoluteCpuPriority,
637 + ThreadInformationClassMax
638 +} THREAD_INFORMATION_CLASS;
640 +typedef enum _PROCESS_INFORMATION_CLASS {
641 + ProcessMemoryPriority,
642 + ProcessInformationClassMax
643 +} PROCESS_INFORMATION_CLASS;
646 +WINBASEAPI BOOL WINAPI GetThreadInformation (HANDLE hThread, THREAD_INFORMATION_CLASS ThreadInformationClass, LPVOID ThreadInformation, DWORD ThreadInformationSize);
647 +WINBASEAPI BOOL WINAPI SetThreadInformation (HANDLE hThread, THREAD_INFORMATION_CLASS ThreadInformationClass, LPVOID ThreadInformation, DWORD ThreadInformationSize);
648 +WINBASEAPI BOOL WINAPI GetProcessInformation (HANDLE hProcess, PROCESS_INFORMATION_CLASS ProcessInformationClass, LPVOID ProcessInformation, DWORD ProcesInformationSize);
649 +WINBASEAPI BOOL WINAPI SetProcessInformation (HANDLE hProcess, PROCESS_INFORMATION_CLASS ProcessInformationClass, LPVOID ProcessInformation, DWORD ProcesInformationSize);
651 +typedef struct _MEMORY_PRIORITY_INFORMATION {
652 + ULONG MemoryPriority;
653 +} MEMORY_PRIORITY_INFORMATION,*PMEMORY_PRIORITY_INFORMATION;
655 +#define GetFirmwareEnvironmentVariableEx __AW_SUFFIXED__(GetFirmwareEnvironmentVariableEx)
656 +WINBASEAPI DWORD WINAPI GetFirmwareEnvironmentVariableExA (LPCSTR lpName, LPCSTR lpGuid, PVOID pBuffer, DWORD nSize, PDWORD pdwAttribubutes);
657 +WINBASEAPI DWORD WINAPI GetFirmwareEnvironmentVariableExW (LPCWSTR lpName, LPCWSTR lpGuid, PVOID pBuffer, DWORD nSize, PDWORD pdwAttribubutes);
659 +#define SetFirmwareEnvironmentVariableEx __AW_SUFFIXED__(SetFirmwareEnvironmentVariableEx)
660 +WINBASEAPI BOOL WINAPI SetFirmwareEnvironmentVariableExA (LPCSTR lpName, LPCSTR lpGuid, PVOID pValue, DWORD nSize, DWORD dwAttributes);
661 +WINBASEAPI BOOL WINAPI SetFirmwareEnvironmentVariableExW (LPCWSTR lpName, LPCWSTR lpGuid, PVOID pValue, DWORD nSize, DWORD dwAttributes);
663 +WINBASEAPI BOOL WINAPI GetFirmwareType (PFIRMWARE_TYPE FirmwareType);
664 +WINBASEAPI BOOL WINAPI IsNativeVhdBoot (PBOOL NativeVhdBoot);
666 +typedef ULONG OPERATION_ID;
668 +typedef struct _OPERATION_START_PARAMETERS {
670 + OPERATION_ID OperationId;
672 +} OPERATION_START_PARAMETERS,*POPERATION_START_PARAMETERS;
674 +typedef struct _OPERATION_END_PARAMETERS {
676 + OPERATION_ID OperationId;
678 +} OPERATION_END_PARAMETERS,*POPERATION_END_PARAMETERS;
680 +WINADVAPI BOOL WINAPI OperationStart (OPERATION_START_PARAMETERS *OperationStartParams);
681 +WINADVAPI BOOL WINAPI OperationEnd (OPERATION_END_PARAMETERS *OperationEndParams);
683 +typedef VOID WINAPI BAD_MEMORY_CALLBACK_ROUTINE (VOID);
684 +typedef BAD_MEMORY_CALLBACK_ROUTINE *PBAD_MEMORY_CALLBACK_ROUTINE;
686 +WINBASEAPI PVOID WINAPI RegisterBadMemoryNotification (PBAD_MEMORY_CALLBACK_ROUTINE Callback);
687 +WINBASEAPI BOOL WINAPI UnregisterBadMemoryNotification (PVOID RegistrationHandle);
688 +WINBASEAPI BOOL WINAPI GetMemoryErrorHandlingCapabilities (PULONG Capabilities);
690 +typedef struct _FILE_ALIGNMENT_INFO {
691 + ULONG AlignmentRequirement;
692 +} FILE_ALIGNMENT_INFO,*PFILE_ALIGNMENT_INFO;
694 +typedef struct _FILE_STORAGE_INFO {
695 + ULONG LogicalBytesPerSector;
696 + ULONG PhysicalBytesPerSectorForAtomicity;
697 + ULONG PhysicalBytesPerSectorForPerformance;
698 + ULONG FileSystemEffectivePhysicalBytesPerSectorForAtomicity;
700 + ULONG ByteOffsetForSectorAlignment;
701 + ULONG ByteOffsetForPartitionAlignment;
702 +} FILE_STORAGE_INFO,*PFILE_STORAGE_INFO;
704 +typedef struct _FILE_ID_INFO {
705 + ULONGLONG VolumeSerialNumber;
706 + FILE_ID_128 FileId;
707 +} FILE_ID_INFO,*PFILE_ID_INFO;
709 +typedef struct _FILE_ID_EXTD_DIR_INFO {
710 + ULONG NextEntryOffset;
712 + LARGE_INTEGER CreationTime;
713 + LARGE_INTEGER LastAccessTime;
714 + LARGE_INTEGER LastWriteTime;
715 + LARGE_INTEGER ChangeTime;
716 + LARGE_INTEGER EndOfFile;
717 + LARGE_INTEGER AllocationSize;
718 + ULONG FileAttributes;
719 + ULONG FileNameLength;
721 + ULONG ReparsePointTag;
722 + FILE_ID_128 FileId;
724 +} FILE_ID_EXTD_DIR_INFO,*PFILE_ID_EXTD_DIR_INFO;
726 +#endif /* Win8 and later */
727 #endif /* Win7 and later */
728 #endif /* Windows Vista and later */
729 #endif /* Windows Server-2003 and later */
730 --- w32api-5.0.2/include/winnt.h.orig 2017-11-28 19:03:04.000000000 +0100
731 +++ w32api-5.0.2/include/winnt.h 2019-04-27 18:17:44.580734108 +0200
732 @@ -2716,6 +2716,11 @@
733 ULONGLONG OtherTransferCount;
734 } IO_COUNTERS, *PIO_COUNTERS;
736 +typedef struct FILE_ID_128
737 +{ ULONGLONG LowPart;
738 + ULONGLONG HighPart;
739 +} FILE_ID_128, *PFILE_ID_128;
741 typedef struct _FILE_NOTIFY_INFORMATION
742 { DWORD NextEntryOffset;
744 @@ -3765,6 +3770,13 @@
746 } JOBOBJECT_JOBSET_INFORMATION, *PJOBOBJECT_JOBSET_INFORMATION;
748 +typedef enum _FIRMWARE_TYPE
749 +{ FirmwareTypeUnknown,
753 +} FIRMWARE_TYPE,*PFIRMWARE_TYPE;
755 /* Fixme: Making these defines conditional on WINVER will break ddk includes */
756 #if 1 /* (WINVER >= 0x0500) */
757 #include <pshpack4.h>
758 --- w32api-5.0.2/include/ws2tcpip.h.orig 2017-11-09 02:35:48.000000000 +0100
759 +++ w32api-5.0.2/include/ws2tcpip.h 2018-09-17 05:43:14.524718024 +0200
761 sockaddr_gen iiNetmask;
762 } INTERFACE_INFO, *LPINTERFACE_INFO;
764 +typedef enum _MULTICAST_MODE_TYPE {
767 +} MULTICAST_MODE_TYPE;
769 +typedef struct _sockaddr_in6_pair {
770 + PSOCKADDR_IN6 SourceAddress;
771 + PSOCKADDR_IN6 DestinationAddress;
772 +} SOCKADDR_IN6_PAIR, *PSOCKADDR_IN6_PAIR;
774 +typedef union _SOCKADDR_INET {
777 + ADDRESS_FAMILY si_family;
778 +} SOCKADDR_INET, *PSOCKADDR_INET;
780 +typedef struct group_filter {
781 + ULONG gf_interface;
782 + SOCKADDR_STORAGE gf_group;
783 + MULTICAST_MODE_TYPE gf_fmode;
785 + SOCKADDR_STORAGE gf_slist[1];
786 +} GROUP_FILTER, *PGROUP_FILTER;
788 +typedef struct group_req {
789 + ULONG gr_interface;
790 + SOCKADDR_STORAGE gr_group;
791 +} GROUP_REQ, *PGROUP_REQ;
793 +typedef struct group_source_req {
794 + ULONG gsr_interface;
795 + SOCKADDR_STORAGE gsr_group;
796 + SOCKADDR_STORAGE gsr_source;
797 +} GROUP_SOURCE_REQ, *PGROUP_SOURCE_REQ;
800 The definition above can cause problems on NT4,prior to sp4.
801 To workaround, include the following struct and typedef and
802 @@ -373,6 +373,152 @@
803 } OLD_INTERFACE_INFO;
806 +#if _WIN32_WINNT >= _WIN32_WINNT_VISTA
808 +#define addrinfoEx __AW_SUFFIXED__(addrinfoEx)
809 +typedef struct addrinfoExA {
815 + LPCSTR ai_canonname;
816 + struct sockaddr *ai_addr;
819 + LPGUID ai_provider;
820 + struct addrinfoexA *ai_next;
821 +} ADDRINFOEXA, *PADDRINFOEXA;
823 +typedef struct addrinfoExW {
829 + LPCWSTR ai_canonname;
830 + struct sockaddr *ai_addr;
833 + LPGUID ai_provider;
834 + struct addrinfoexW *ai_next;
835 +} ADDRINFOEXW, *PADDRINFOEXW;
837 +typedef __AW_ALIAS__(ADDRINFOEX), *PADDRINFOEX;
839 +typedef PVOID LPLOOKUPSERVICE_COMPLETION_ROUTINE; /*reserved*/
841 +#define GetAddrInfoEx __AW_SUFFIXED__(GetAddrInfoEx)
842 +WINSOCK_API_LINKAGE int WSAAPI GetAddrInfoExA(PCSTR pName, PCSTR pServiceName, DWORD dwNameSpace,
843 + LPGUID lpNspId,const ADDRINFOEXA *pHints,PADDRINFOEXA *ppResult,
844 + PTIMEVAL timeout,LPOVERLAPPED lpOverlapped,
845 + LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine,
846 + LPHANDLE lpNameHandle);
847 +WINSOCK_API_LINKAGE int WSAAPI GetAddrInfoExW(PCWSTR pName,PCWSTR pServiceName,DWORD dwNameSpace,
848 + LPGUID lpNspId,const ADDRINFOEXW *pHints,PADDRINFOEXW *ppResult,
849 + PTIMEVAL timeout,LPOVERLAPPED lpOverlapped,
850 + LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine,
851 + LPHANDLE lpNameHandle);
853 +#define SetAddrInfoEx __AW_SUFFIXED__(SetAddrInfoEx)
854 +WINSOCK_API_LINKAGE int WSAAPI SetAddrInfoExA(PCSTR pName, PCSTR pServiceName, SOCKET_ADDRESS *pAddresses,
855 + DWORD dwAddressCount,LPBLOB lpBlob,DWORD dwFlags,DWORD dwNameSpace,
856 + LPGUID lpNspId,PTIMEVAL timeout,LPOVERLAPPED lpOverlapped,
857 + LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine,
858 + LPHANDLE lpNameHandle);
859 +WINSOCK_API_LINKAGE int WSAAPI SetAddrInfoExW(PCWSTR pName,PCWSTR pServiceName,SOCKET_ADDRESS *pAddresses,
860 + DWORD dwAddressCount,LPBLOB lpBlob,DWORD dwFlags,DWORD dwNameSpace,
861 + LPGUID lpNspId,PTIMEVAL timeout,LPOVERLAPPED lpOverlapped,
862 + LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine,
863 + LPHANDLE lpNameHandle);
865 +#define FreeAddrInfoEx __AW_SUFFIXED__(FreeAddrInfoEx)
866 +WINSOCK_API_LINKAGE void WSAAPI FreeAddrInfoExA(PADDRINFOEXA pAddrInfo);
867 +WINSOCK_API_LINKAGE void WSAAPI FreeAddrInfoExW(PADDRINFOEXW pAddrInfo);
869 +#if INCL_WINSOCK_API_TYPEDEFS
870 +#define LPFN_GETADDRINFOEX __AW_SUFFIXED__(LPFN_GETADDRINFOEX)
871 + typedef int (WSAAPI *LPFN_GETADDRINFOEXA)(PCSTR pName, PCSTR pServiceName, DWORD dwNameSpace,
872 + LPGUID lpNspId,const ADDRINFOEXA *pHints,PADDRINFOEXA *ppResult,
873 + PTIMEVAL timeout,LPOVERLAPPED lpOverlapped,
874 + LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine,
875 + LPHANDLE lpNameHandle);
876 + typedef int (WSAAPI *LPFN_GETADDRINFOEXW)(PCWSTR pName,PCWSTR pServiceName,DWORD dwNameSpace,
877 + LPGUID lpNspId,const ADDRINFOEXW *pHints,PADDRINFOEXW *ppResult,
878 + PTIMEVAL timeout,LPOVERLAPPED lpOverlapped,
879 + LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine,
880 + LPHANDLE lpNameHandle);
882 +#define LPFN_SETADDRINFOEX __AW_SUFFIXED__(LPFN_SETADDRINFOEX)
883 + typedef int (WSAAPI *LPFN_SETADDRINFOEXA)(PCSTR pName, PCSTR pServiceName, SOCKET_ADDRESS *pAddresses,
884 + DWORD dwAddressCount,LPBLOB lpBlob,DWORD dwFlags,DWORD dwNameSpace,
885 + LPGUID lpNspId,PTIMEVAL timeout,LPOVERLAPPED lpOverlapped,
886 + LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine,
887 + LPHANDLE lpNameHandle);
888 + typedef int (WSAAPI *LPFN_SETADDRINFOEXW)(PCWSTR pName,PCWSTR pServiceName,SOCKET_ADDRESS *pAddresses,
889 + DWORD dwAddressCount,LPBLOB lpBlob,DWORD dwFlags,DWORD dwNameSpace,
890 + LPGUID lpNspId,PTIMEVAL timeout,LPOVERLAPPED lpOverlapped,
891 + LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine,
892 + LPHANDLE lpNameHandle);
894 +#define LPFN_FREEADDRINFOEX __AW_SUFFIXED__(LPFN_FREEADDRINFOEX)
895 + typedef void (WSAAPI *LPFN_FREEADDRINFOEXA)(PADDRINFOEXA pAddrInfo);
896 + typedef void (WSAAPI *LPFN_FREEADDRINFOEXW)(PADDRINFOEXW pAddrInfo);
897 +#endif /* INCL_WINSOCK_API_TYPEDEFS */
900 +WINSOCK_API_LINKAGE int WSAAPI WSAImpersonateSocketPeer(
902 + const struct sockaddr *PeerAddress,
903 + ULONG peerAddressLen
906 +/* SOCKET_SECURITY_* not defined
907 +WINSOCK_API_LINKAGE int WSAAPI WSAQuerySocketSecurity(
909 + const SOCKET_SECURITY_QUERY_TEMPLATE *SecurityQueryTemplate,
910 + ULONG SecurityQueryTemplateLen,
911 + SOCKET_SECURITY_QUERY_INFO *SecurityQueryInfo,
912 + ULONG *SecurityQueryInfoLen,
913 + LPWSAOVERLAPPED Overlapped,
914 + LPWSAOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine
917 +WINSOCK_API_LINKAGE int WSAAPI WSARevertImpersonation(void);
919 +WINSOCK_API_LINKAGE int WSAAPI WSASetSocketPeerTargetName(
921 + const SOCKET_PEER_TARGET_NAME *PeerTargetName,
922 + ULONG PeerTargetNameLen,
923 + LPWSAOVERLAPPED Overlapped,
924 + LPWSAOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine
927 +WINSOCK_API_LINKAGE int WSAAPI WSASetSocketSecurity(
929 + const SOCKET_SECURITY_SETTINGS *SecuritySettings,
930 + ULONG SecuritySettingsLen,
931 + LPWSAOVERLAPPED Overlapped,
932 + LPWSAOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine
936 +#define InetNtopA inet_ntop
938 +WINSOCK_API_LINKAGE LPCWSTR WSAAPI InetNtopW(INT Family, PVOID pAddr, LPWSTR pStringBuf, size_t StringBufSIze);
939 +WINSOCK_API_LINKAGE LPCSTR WSAAPI InetNtopA(INT Family, PVOID pAddr, LPSTR pStringBuf, size_t StringBufSize);
941 +#define InetNtop __AW_SUFFIXED__(InetNtop)
943 +#define InetPtonA inet_pton
945 +WINSOCK_API_LINKAGE INT WSAAPI InetPtonW(INT Family, LPCWSTR pStringBuf, PVOID pAddr);
946 +WINSOCK_API_LINKAGE INT WSAAPI InetPtonA(INT Family, LPCSTR pStringBuf, PVOID pAddr);
948 +#define InetPton __AW_SUFFIXED__(InetPton)
955 --- w32api-5.0.2/include/ifdef.h.orig 1970-01-01 01:00:00.000000000 +0100
956 +++ w32api-5.0.2/include/ifdef.h 2018-09-18 18:11:18.793218987 +0200
958 +/* https://github.com/Alexpux/mingw-w64/raw/master/mingw-w64-headers/include/ifdef.h
959 + with IF_OPER_STATUS definition (already defined in mingw32 iptypes.h) replaced by iptypes.h include */
961 + * This file has no copyright assigned and is placed in the Public Domain.
962 + * This file is part of the mingw-w64 runtime package.
963 + * No warranty is given; refer to the file DISCLAIMER.PD within this package.
968 +#include <ipifcons.h>
969 +#include <iptypes.h>
975 +#define IF_MAX_STRING_SIZE 256
976 +#define IF_MAX_PHYS_ADDRESS_LENGTH 32
978 +typedef UINT32 NET_IF_COMPARTMENT_ID, *PNET_IF_COMPARTMENT_ID;
980 +typedef ULONG NET_IFINDEX, *PNET_IFINDEX;
981 +typedef UINT16 NET_IFTYPE, *PNET_IFTYPE;
982 +typedef NET_IFINDEX IF_INDEX, *PIF_INDEX;
984 +typedef GUID NET_IF_NETWORK_GUID;
986 +typedef enum _NET_IF_OPER_STATUS {
987 + NET_IF_OPER_STATUS_UP = 1,
988 + NET_IF_OPER_STATUS_DOWN,
989 + NET_IF_OPER_STATUS_TESTING,
990 + NET_IF_OPER_STATUS_UNKNOWN,
991 + NET_IF_OPER_STATUS_DORMANT,
992 + NET_IF_OPER_STATUS_NOT_PRESENT,
993 + NET_IF_OPER_STATUS_LOWER_LAYER_DOWN
994 +} NET_IF_OPER_STATUS, *PNET_IF_OPER_STATUS;
996 +typedef enum _NET_IF_ADMIN_STATUS {
997 + NET_IF_ADMIN_STATUS_UP = 1,
998 + NET_IF_ADMIN_STATUS_DOWN,
999 + NET_IF_ADMIN_STATUS_TESTING
1000 +} NET_IF_ADMIN_STATUS, *PNET_IF_ADMIN_STATUS;
1002 +typedef enum _NET_IF_MEDIA_CONNECT_STATE {
1003 + MediaConnectStateUnknown,
1004 + MediaConnectStateConnected,
1005 + MediaConnectStateDisconnected
1006 +} NET_IF_MEDIA_CONNECT_STATE, *PNET_IF_MEDIA_CONNECT_STATE;
1008 +typedef enum _NET_IF_ACCESS_TYPE {
1009 + NET_IF_ACCESS_LOOPBACK = 1,
1010 + NET_IF_ACCESS_BROADCAST,
1011 + NET_IF_ACCESS_POINT_TO_POINT,
1012 + NET_IF_ACCESS_POINT_TO_MULTI_POINT,
1013 + NET_IF_ACCESS_MAXIMUM
1014 +} NET_IF_ACCESS_TYPE, *PNET_IF_ACCESS_TYPE;
1016 +typedef enum _NET_IF_CONNECTION_TYPE {
1017 + NET_IF_CONNECTION_DEDICATED = 1,
1018 + NET_IF_CONNECTION_PASSIVE,
1019 + NET_IF_CONNECTION_DEMAND,
1020 + NET_IF_CONNECTION_MAXIMUM
1021 +} NET_IF_CONNECTION_TYPE, *PNET_IF_CONNECTION_TYPE;
1023 +typedef enum _NET_IF_DIRECTION_TYPE {
1024 + NET_IF_DIRECTION_SENDRECEIVE,
1025 + NET_IF_DIRECTION_SENDONLY,
1026 + NET_IF_DIRECTION_RECEIVEONLY,
1027 + NET_IF_DIRECTION_MAXIMUM
1028 +} NET_IF_DIRECTION_TYPE, *PNET_IF_DIRECTION_TYPE;
1030 +typedef enum _NET_IF_MEDIA_DUPLEX_STATE {
1031 + MediaDuplexStateUnknown,
1032 + MediaDuplexStateHalf,
1033 + MediaDuplexStateFull
1034 +} NET_IF_MEDIA_DUPLEX_STATE, *PNET_IF_MEDIA_DUPLEX_STATE;
1036 +typedef enum _TUNNEL_TYPE {
1037 + TUNNEL_TYPE_NONE = 0,
1038 + TUNNEL_TYPE_OTHER = 1,
1039 + TUNNEL_TYPE_DIRECT = 2,
1040 + TUNNEL_TYPE_6TO4 = 11,
1041 + TUNNEL_TYPE_ISATAP = 13,
1042 + TUNNEL_TYPE_TEREDO = 14,
1043 + TUNNEL_TYPE_IPHTTPS = 15
1044 +} TUNNEL_TYPE, *PTUNNEL_TYPE;
1046 +typedef union _NET_LUID {
1048 + _ANONYMOUS_STRUCT struct { /* bitfield with 64 bit types. */
1049 + ULONG64 Reserved :24;
1050 + ULONG64 NetLuidIndex :24;
1051 + ULONG64 IfType :16;
1053 +} NET_LUID, *PNET_LUID;
1055 +typedef NET_LUID IF_LUID, *PIF_LUID;
1057 +typedef struct _IF_COUNTED_STRING_LH {
1059 + WCHAR String[IF_MAX_STRING_SIZE + 1];
1060 +} IF_COUNTED_STRING_LH, *PIF_COUNTED_STRING_LH;
1061 +typedef IF_COUNTED_STRING_LH IF_COUNTED_STRING;
1062 +typedef IF_COUNTED_STRING *PIF_COUNTED_STRING;
1064 +typedef struct _IF_PHYSICAL_ADDRESS_LH {
1066 + UCHAR Address[IF_MAX_PHYS_ADDRESS_LENGTH];
1067 +} IF_PHYSICAL_ADDRESS_LH, *PIF_PHYSICAL_ADDRESS_LH;
1068 +typedef IF_PHYSICAL_ADDRESS_LH IF_PHYSICAL_ADDRESS;
1069 +typedef IF_PHYSICAL_ADDRESS *PIF_PHYSICAL_ADDRESS;
1075 +#endif /* _INC_IFDEF */
1076 --- w32api-5.0.2/include/iphlpapi.h.orig 2017-11-28 19:03:04.000000000 +0100
1077 +++ w32api-5.0.2/include/iphlpapi.h 2018-09-18 17:20:54.629920182 +0200
1079 #include <iprtrmib.h>
1080 #include <ipexport.h>
1081 #include <iptypes.h>
1088 DWORD WINAPI SetTcpEntry(PMIB_TCPROW);
1089 DWORD WINAPI UnenableRouter(OVERLAPPED*, LPDWORD);
1091 +#if NTDDI_VERSION >= __NTDDI_VISTA
1092 +#include <netioapi.h>
1098 --- w32api-5.0.2/include/winreg.h.orig 2017-11-28 19:03:04.000000000 +0100
1099 +++ w32api-5.0.2/include/winreg.h 2019-09-10 20:05:21.217564282 +0200
1105 +#if (WINVER >= _WIN32_WINNT_VISTA)
1106 +#define RRF_RT_REG_NONE 0x00000001
1107 +#define RRF_RT_REG_SZ 0x00000002
1108 +#define RRF_RT_REG_EXPAND_SZ 0x00000004
1109 +#define RRF_RT_REG_BINARY 0x00000008
1110 +#define RRF_RT_REG_DWORD 0x00000010
1111 +#define RRF_RT_REG_MULTI_SZ 0x00000020
1112 +#define RRF_RT_REG_QWORD 0x00000040
1114 +#define RRF_RT_DWORD (RRF_RT_REG_BINARY | RRF_RT_REG_DWORD)
1115 +#define RRF_RT_QWORD (RRF_RT_REG_BINARY | RRF_RT_REG_QWORD)
1116 +#define RRF_RT_ANY 0x0000ffff
1118 +#define RRF_NOEXPAND 0x10000000
1119 +#define RRF_ZEROONFAILURE 0x20000000
1122 #define HKEY_CLASSES_ROOT ((HKEY)0x80000000)
1123 #define HKEY_CURRENT_USER ((HKEY)0x80000001)
1124 #define HKEY_LOCAL_MACHINE ((HKEY)0x80000002)
1126 #define HKEY_PERFORMANCE_DATA ((HKEY)0x80000004)
1127 #define HKEY_CURRENT_CONFIG ((HKEY)0x80000005)
1128 #define HKEY_DYN_DATA ((HKEY)0x80000006)
1129 +#define HKEY_PERFORMANCE_TEXT ((HKEY)0x80000050)
1130 +#define HKEY_PERFORMANCE_NLSTEXT ((HKEY)0x80000060)
1132 #define REG_OPTION_VOLATILE 1
1133 #define REG_OPTION_NON_VOLATILE 0
1134 #define REG_CREATED_NEW_KEY 1
1136 WINADVAPI LONG WINAPI RegCreateKeyW(HKEY,LPCWSTR,PHKEY);
1137 WINADVAPI LONG WINAPI RegDeleteKeyA(HKEY,LPCSTR);
1138 WINADVAPI LONG WINAPI RegDeleteKeyW(HKEY,LPCWSTR);
1139 +#if (WINVER >= _WIN32_WINNT_WINXP)
1140 +WINADVAPI WINBOOL WINAPI InitiateSystemShutdownExA(LPSTR,LPSTR,DWORD,WINBOOL,WINBOOL,DWORD);
1141 +WINADVAPI WINBOOL WINAPI InitiateSystemShutdownExW(LPWSTR,LPWSTR,DWORD,WINBOOL,WINBOOL,DWORD);
1142 +WINADVAPI LONG WINAPI RegSaveKeyExA(HKEY,LPCSTR,LPSECURITY_ATTRIBUTES,DWORD);
1143 +WINADVAPI LONG WINAPI RegSaveKeyExW(HKEY,LPCWSTR,LPSECURITY_ATTRIBUTES,DWORD);
1145 #if (WINVER >= 0x0502)
1146 WINADVAPI LONG WINAPI RegDeleteKeyExA(HKEY,LPCSTR,REGSAM,DWORD);
1147 WINADVAPI LONG WINAPI RegDeleteKeyExW(HKEY,LPCWSTR,REGSAM,DWORD);
1148 @@ -110,6 +137,32 @@
1149 WINADVAPI LONG WINAPI RegSetValueW(HKEY,LPCWSTR,DWORD,LPCWSTR,DWORD);
1150 WINADVAPI LONG WINAPI RegUnLoadKeyA(HKEY,LPCSTR);
1151 WINADVAPI LONG WINAPI RegUnLoadKeyW(HKEY,LPCWSTR);
1152 +#if (WINVER >= _WIN32_WINNT_VISTA)
1153 +typedef LONG LSTATUS;
1154 +WINADVAPI LONG WINAPI RegGetValueA(HKEY,LPCSTR,LPCSTR,DWORD,LPDWORD,PVOID,LPDWORD);
1155 +WINADVAPI LONG WINAPI RegGetValueW(HKEY,LPCWSTR,LPCWSTR,DWORD,LPDWORD,PVOID,LPDWORD);
1156 +WINADVAPI LONG WINAPI RegCopyTreeA(HKEY,LPCSTR,HKEY);
1157 +WINADVAPI LONG WINAPI RegCopyTreeW(HKEY,LPCWSTR,HKEY);
1158 +WINADVAPI LONG WINAPI RegCreateKeyTransactedA(HKEY,LPCSTR,DWORD,LPSTR,DWORD,REGSAM,const LPSECURITY_ATTRIBUTES,PHKEY,LPDWORD,HANDLE,PVOID);
1159 +WINADVAPI LONG WINAPI RegCreateKeyTransactedW(HKEY,LPCWSTR,DWORD,LPWSTR,DWORD,REGSAM,const LPSECURITY_ATTRIBUTES,PHKEY,LPDWORD,HANDLE,PVOID);
1160 +WINADVAPI LONG WINAPI RegDeleteKeyTransactedA(HKEY,LPCSTR,REGSAM,DWORD,HANDLE,PVOID);
1161 +WINADVAPI LONG WINAPI RegDeleteKeyTransactedW(HKEY,LPCWSTR,REGSAM,DWORD,HANDLE,PVOID);
1162 +WINADVAPI LONG WINAPI RegDeleteKeyValueA(HKEY,LPCSTR,LPCSTR);
1163 +WINADVAPI LONG WINAPI RegDeleteKeyValueW(HKEY,LPCWSTR,LPCWSTR);
1164 +WINADVAPI LONG WINAPI RegDeleteTreeA(HKEY,LPCSTR);
1165 +WINADVAPI LONG WINAPI RegDeleteTreeW(HKEY,LPCWSTR);
1166 +WINADVAPI LONG WINAPI RegDisablePredefinedCacheEx(void);
1167 +WINADVAPI LONG WINAPI RegLoadAppKeyA(LPCSTR,PHKEY,REGSAM,DWORD,DWORD);
1168 +WINADVAPI LONG WINAPI RegLoadAppKeyW(LPCWSTR,PHKEY,REGSAM,DWORD,DWORD);
1169 +WINADVAPI LONG WINAPI RegLoadMUIStringA(HKEY,LPCSTR,LPSTR,DWORD,LPDWORD,DWORD,LPCSTR);
1170 +WINADVAPI LONG WINAPI RegLoadMUIStringW(HKEY,LPCWSTR,LPWSTR,DWORD,LPDWORD,DWORD,LPCWSTR);
1171 +WINADVAPI LONG WINAPI RegOpenKeyTransactedA(HKEY,LPCSTR,DWORD,REGSAM,PHKEY,HANDLE,PVOID);
1172 +WINADVAPI LONG WINAPI RegOpenKeyTransactedW(HKEY,LPCWSTR,DWORD,REGSAM,PHKEY,HANDLE,PVOID);
1173 +WINADVAPI LONG WINAPI RegSetKeyValueA(HKEY,LPCSTR,LPCSTR,DWORD,LPCVOID,DWORD);
1174 +WINADVAPI LONG WINAPI RegSetKeyValueW(HKEY,LPCWSTR,LPCWSTR,DWORD,LPCVOID,DWORD);
1175 +WINADVAPI DWORD WINAPI InitiateShutdownA(LPSTR,LPSTR,DWORD,DWORD,DWORD);
1176 +WINADVAPI DWORD WINAPI InitiateShutdownW(LPWSTR,LPWSTR,DWORD,DWORD,DWORD);
1180 typedef VALENTW VALENT,*PVALENT;
1182 #define RegCreateKey RegCreateKeyW
1183 #define RegCreateKeyEx RegCreateKeyExW
1184 #define RegDeleteKey RegDeleteKeyW
1185 +#if (WINVER >= _WIN32_WINNT_WINXP)
1186 +#define RegSaveKeyEx RegSaveKeyExW
1188 #if (WINVER >= 0x0502)
1189 #define RegDeleteKeyEx RegDeleteKeyExW
1191 @@ -139,6 +195,18 @@
1192 #define RegSetValue RegSetValueW
1193 #define RegSetValueEx RegSetValueExW
1194 #define RegUnLoadKey RegUnLoadKeyW
1195 +#if (WINVER >= _WIN32_WINNT_VISTA)
1196 +#define RegGetValue RegGetValueW
1197 +#define RegCopyTree RegCopyTreeW
1198 +#define RegCreateKeyTransacted RegCreateKeyTransactedW
1199 +#define RegDeleteKeyValue RegDeleteKeyValueW
1200 +#define RegDeleteTree RegDeleteTreeW
1201 +#define RegLoadAppKey RegLoadAppKeyW
1202 +#define RegLoadMUIString RegLoadMUIStringW
1203 +#define RegOpenKeyTransacted RegOpenKeyTransactedW
1204 +#define RegSetKeyValue RegSetKeyValueW
1205 +#define InitiateShutdown InitiateShutdownW
1208 typedef VALENTA VALENT,*PVALENT;
1209 #define AbortSystemShutdown AbortSystemShutdownA
1211 #define RegCreateKey RegCreateKeyA
1212 #define RegCreateKeyEx RegCreateKeyExA
1213 #define RegDeleteKey RegDeleteKeyA
1214 +#if (WINVER >= _WIN32_WINNT_WINXP)
1215 +#define RegSaveKeyEx RegSaveKeyExA
1217 #if (WINVER >= 0x0502)
1218 #define RegDeleteKeyEx RegDeleteKeyExA
1220 @@ -167,6 +238,18 @@
1221 #define RegSetValue RegSetValueA
1222 #define RegSetValueEx RegSetValueExA
1223 #define RegUnLoadKey RegUnLoadKeyA
1224 +#if (WINVER >= _WIN32_WINNT_VISTA)
1225 +#define RegGetValue RegGetValueA
1226 +#define RegCopyTree RegCopyTreeA
1227 +#define RegCreateKeyTransacted RegCreateKeyTransactedA
1228 +#define RegDeleteKeyValue RegDeleteKeyValueA
1229 +#define RegDeleteTree RegDeleteTreeA
1230 +#define RegLoadAppKey RegLoadAppKeyA
1231 +#define RegLoadMUIString RegLoadMUIStringA
1232 +#define RegOpenKeyTransacted RegOpenKeyTransactedA
1233 +#define RegSetKeyValue RegSetKeyValueA
1234 +#define InitiateShutdown InitiateShutdownA
1239 --- w32api-5.0.2/include/nldef.h.orig 1970-01-01 01:00:00.000000000 +0100
1240 +++ w32api-5.0.2/include/nldef.h 2018-09-19 20:48:36.358791357 +0200
1242 +/* https://github.com/Alexpux/mingw-w64/raw/master/mingw-w64-headers/include/nldef.h */
1244 + * This file is part of the mingw-w64 runtime package.
1245 + * No warranty is given; refer to the file DISCLAIMER within this package.
1251 +#include <iptypes.h>
1253 +#include <winapifamily.h>
1255 +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || _WIN32_WINNT >= 0x0A00
1264 +/*IpDadStateInvalid = 0,
1265 + IpDadStateTentative,
1266 + IpDadStateDuplicate,
1267 + IpDadStateDeprecated,
1268 + IpDadStatePreferred, */
1271 +#define MAKE_ROUTE_PROTOCOL(N, V) MIB_IPPROTO_ ## N = V, PROTO_IP_ ## N = V
1274 + RouteProtocolOther = 1,
1275 + RouteProtocolLocal = 2,
1276 + RouteProtocolNetMgmt = 3,
1277 + RouteProtocolIcmp = 4,
1278 + RouteProtocolEgp = 5,
1279 + RouteProtocolGgp = 6,
1280 + RouteProtocolHello = 7,
1281 + RouteProtocolRip = 8,
1282 + RouteProtocolIsIs = 9,
1283 + RouteProtocolEsIs = 10,
1284 + RouteProtocolCisco = 11,
1285 + RouteProtocolBbn = 12,
1286 + RouteProtocolOspf = 13,
1287 + RouteProtocolBgp = 14,
1289 + MAKE_ROUTE_PROTOCOL (OTHER, 1),
1290 + MAKE_ROUTE_PROTOCOL (LOCAL, 2),
1291 + MAKE_ROUTE_PROTOCOL (NETMGMT, 3),
1292 + MAKE_ROUTE_PROTOCOL (ICMP, 4),
1293 + MAKE_ROUTE_PROTOCOL (EGP, 5),
1294 + MAKE_ROUTE_PROTOCOL (GGP, 6),
1295 + MAKE_ROUTE_PROTOCOL (HELLO, 7),
1296 + MAKE_ROUTE_PROTOCOL (RIP, 8),
1297 + MAKE_ROUTE_PROTOCOL (IS_IS, 9),
1298 + MAKE_ROUTE_PROTOCOL (ES_IS, 10),
1299 + MAKE_ROUTE_PROTOCOL (CISCO, 11),
1300 + MAKE_ROUTE_PROTOCOL (BBN, 12),
1301 + MAKE_ROUTE_PROTOCOL (OSPF, 13),
1302 + MAKE_ROUTE_PROTOCOL (BGP, 14),
1303 + MAKE_ROUTE_PROTOCOL (NT_AUTOSTATIC, 10002),
1304 + MAKE_ROUTE_PROTOCOL (NT_STATIC, 10006),
1305 + MAKE_ROUTE_PROTOCOL (NT_STATIC_NON_DOD, 10007)
1306 +} NL_ROUTE_PROTOCOL,*PNL_ROUTE_PROTOCOL;
1308 +typedef IP_PREFIX_ORIGIN /* enum {
1309 + IpPrefixOriginOther = 0,
1310 + IpPrefixOriginManual,
1311 + IpPrefixOriginWellKnown,
1312 + IpPrefixOriginDhcp,
1313 + IpPrefixOriginRouterAdvertisement,
1314 + IpPrefixOriginUnchanged = 16
1315 +}*/ NL_PREFIX_ORIGIN;
1322 + NlsoLinkLayerAddress,
1324 +/*IpSuffixOriginOther = 0,
1325 + IpSuffixOriginManual,
1326 + IpSuffixOriginWellKnown,
1327 + IpSuffixOriginDhcp,
1328 + IpSuffixOriginLinkLayerAddress,
1329 + IpSuffixOriginRandom,
1330 + IpSuffixOriginUnchanged = 16*/
1331 +} NL_SUFFIX_ORIGIN;
1340 +} NL_ADDRESS_TYPE, *PNL_ADDRESS_TYPE;
1342 +typedef enum _NL_ROUTE_ORIGIN {
1346 + NlroRouterAdvertisement,
1348 +} NL_ROUTE_ORIGIN, *PNL_ROUTE_ORIGIN;
1350 +typedef enum _NL_NEIGHBOR_STATE {
1359 +} NL_NEIGHBOR_STATE, *PNL_NEIGHBOR_STATE;
1361 +typedef enum _NL_LINK_LOCAL_ADDRESS_BEHAVIOR {
1362 + LinkLocalAlwaysOff = 0,
1364 + LinkLocalAlwaysOn,
1365 + LinkLocalUnchanged = -1
1366 +} NL_LINK_LOCAL_ADDRESS_BEHAVIOR;
1368 +typedef enum _NL_ROUTER_DISCOVERY_BEHAVIOR {
1369 + RouterDiscoveryDisabled = 0,
1370 + RouterDiscoveryEnabled,
1371 + RouterDiscoveryDhcp,
1372 + RouterDiscoveryUnchanged = -1
1373 +} NL_ROUTER_DISCOVERY_BEHAVIOR;
1375 +typedef enum _NL_BANDWIDTH_FLAG {
1378 + NlbwUnchanged = -1
1379 +} NL_BANDWIDTH_FLAG, *PNL_BANDWIDTH_FLAG;
1381 +typedef enum _NL_INTERFACE_NETWORK_CATEGORY_STATE {
1382 + NlincCategoryUnknown = 0,
1385 + NlincDomainAuthenticated = 3,
1386 + NlincCategoryStateMax
1387 +} NL_INTERFACE_NETWORK_CATEGORY_STATE, *PNL_INTERFACE_NETWORK_CATEGORY_STATE;
1389 +typedef struct _NL_INTERFACE_OFFLOAD_ROD {
1390 + BOOLEAN NlChecksumSupported : 1;
1391 + BOOLEAN NlOptionsSupported : 1;
1392 + BOOLEAN TlDatagramChecksumSupported : 1;
1393 + BOOLEAN TlStreamChecksumSupported : 1;
1394 + BOOLEAN TlStreamOptionsSupported : 1;
1395 + BOOLEAN FastPathCompatible : 1;
1396 + BOOLEAN TlLargeSendOffloadSupported : 1;
1397 + BOOLEAN TlGiantSendOffloadSupported : 1;
1398 +} NL_INTERFACE_OFFLOAD_ROD, *PNL_INTERFACE_OFFLOAD_ROD;
1400 +typedef struct _NL_PATH_BANDWIDTH_ROD {
1401 + ULONG64 Bandwidth;
1402 + ULONG64 Instability;
1403 + BOOLEAN BandwidthPeaked;
1404 +} NL_PATH_BANDWIDTH_ROD, *PNL_PATH_BANDWIDTH_ROD;
1406 +typedef enum _NL_NETWORK_CATEGORY {
1407 + NetworkCategoryPublic,
1408 + NetworkCategoryPrivate,
1409 + NetworkCategoryDomainAuthenticated,
1410 + NetworkCategoryUnchanged = -1,
1411 + NetworkCategoryUnknown = -1
1412 +} NL_NETWORK_CATEGORY,*PNL_NETWORK_CATEGORY;
1414 +typedef struct _NL_BANDWIDTH_INFORMATION {
1415 + ULONG64 Bandwidth;
1416 + ULONG64 Instability;
1417 + BOOLEAN BandwidthPeaked;
1418 +} NL_BANDWIDTH_INFORMATION, *PNL_BANDWIDTH_INFORMATION;
1420 +#define NlpoOther IpPrefixOriginOther
1421 +#define NlpoManual IpPrefixOriginManual
1422 +#define NlpoWellKnown IpPrefixOriginWellKnown
1423 +#define NlpoDhcp IpPrefixOriginDhcp
1424 +#define NlpoRouterAdvertisement IpPrefixOriginRouterAdvertisement
1426 +#define NL_MAX_METRIC_COMPONENT ((((ULONG) 1) << 31) - 1)
1428 +#define NET_IF_CURRENT_SESSION ((ULONG)-1)
1435 --- w32api-5.0.2/include/netioapi.h.orig 1970-01-01 01:00:00.000000000 +0100
1436 +++ w32api-5.0.2/include/netioapi.h 2018-09-19 20:50:20.355456840 +0200
1438 +/* https://github.com/Alexpux/mingw-w64/raw/master/mingw-w64-headers/include/netioapi.h, adjusted for mingw32 */
1440 + * This file is part of the mingw-w64 runtime package.
1441 + * No warranty is given; refer to the file DISCLAIMER within this pack
1444 +#ifndef _NETIOAPI_H_
1445 +#define _NETIOAPI_H_
1448 +#include <winapifamily.h>
1450 +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
1462 +#define NETIO_STATUS DWORD
1463 +#define NETIO_SUCCESS(x) ((x) == NO_ERROR)
1464 +#define NETIOAPI_API_ WINAPI
1466 +#ifndef __MINGW32__
1467 +#include <ws2def.h>
1469 +#include <ws2ipdef.h>
1472 +#include <iprtrmib.h>
1475 +#include <ntdef.h> /* for NTSTATUS */
1477 +#define NETIO_STATUS NTSTATUS
1478 +#define NETIO_SUCCESS(x) NT_SUCCESS (x)
1479 +#define NETIOAPI_API_ NTAPI
1482 +#define _NETIOAPI_SUCCESS_
1483 +#define NETIOAPI_API NETIO_STATUS NETIOAPI_API_
1485 +#define IF_NAMESIZE NDIS_IF_MAX_STRING_SIZE
1487 + typedef enum _MIB_NOTIFICATION_TYPE {
1488 + MibParameterNotification,
1490 + MibDeleteInstance,
1491 + MibInitialNotification
1492 + } MIB_NOTIFICATION_TYPE,*PMIB_NOTIFICATION_TYPE;
1494 +#ifdef _NLDEF_ /* _WS2IPDEF_ */
1495 +#include <ntddndis.h>
1497 +#define MIB_INVALID_TEREDO_PORT_NUMBER 0
1499 + typedef enum _MIB_IF_TABLE_LEVEL {
1502 + } MIB_IF_TABLE_LEVEL, *PMIB_IF_TABLE_LEVEL;
1504 + typedef struct _MIB_IF_ROW2 {
1505 + NET_LUID InterfaceLuid;
1506 + NET_IFINDEX InterfaceIndex;
1507 + GUID InterfaceGuid;
1508 + WCHAR Alias[IF_MAX_STRING_SIZE + 1];
1509 + WCHAR Description[IF_MAX_STRING_SIZE + 1];
1510 + ULONG PhysicalAddressLength;
1511 + UCHAR PhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH];
1512 + UCHAR PermanentPhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH];
1515 + TUNNEL_TYPE TunnelType;
1516 + NDIS_MEDIUM MediaType;
1517 + NDIS_PHYSICAL_MEDIUM PhysicalMediumType;
1518 + NET_IF_ACCESS_TYPE AccessType;
1519 + NET_IF_DIRECTION_TYPE DirectionType;
1521 + BOOLEAN HardwareInterface : 1;
1522 + BOOLEAN FilterInterface : 1;
1523 + BOOLEAN ConnectorPresent : 1;
1524 + BOOLEAN NotAuthenticated : 1;
1525 + BOOLEAN NotMediaConnected : 1;
1526 + BOOLEAN Paused : 1;
1527 + BOOLEAN LowPower : 1;
1528 + BOOLEAN EndPointInterface : 1;
1529 + } InterfaceAndOperStatusFlags;
1530 + IF_OPER_STATUS OperStatus;
1531 + NET_IF_ADMIN_STATUS AdminStatus;
1532 + NET_IF_MEDIA_CONNECT_STATE MediaConnectState;
1533 + NET_IF_NETWORK_GUID NetworkGuid;
1534 + NET_IF_CONNECTION_TYPE ConnectionType;
1535 + ULONG64 TransmitLinkSpeed;
1536 + ULONG64 ReceiveLinkSpeed;
1538 + ULONG64 InUcastPkts;
1539 + ULONG64 InNUcastPkts;
1540 + ULONG64 InDiscards;
1542 + ULONG64 InUnknownProtos;
1543 + ULONG64 InUcastOctets;
1544 + ULONG64 InMulticastOctets;
1545 + ULONG64 InBroadcastOctets;
1546 + ULONG64 OutOctets;
1547 + ULONG64 OutUcastPkts;
1548 + ULONG64 OutNUcastPkts;
1549 + ULONG64 OutDiscards;
1550 + ULONG64 OutErrors;
1551 + ULONG64 OutUcastOctets;
1552 + ULONG64 OutMulticastOctets;
1553 + ULONG64 OutBroadcastOctets;
1555 + } MIB_IF_ROW2,*PMIB_IF_ROW2;
1557 + typedef struct _MIB_IF_TABLE2 {
1559 + MIB_IF_ROW2 Table[ANY_SIZE];
1560 + } MIB_IF_TABLE2, *PMIB_IF_TABLE2;
1562 + typedef struct _MIB_IPINTERFACE_ROW {
1563 + ADDRESS_FAMILY Family;
1564 + NET_LUID InterfaceLuid;
1565 + NET_IFINDEX InterfaceIndex;
1566 + ULONG MaxReassemblySize;
1567 + ULONG64 InterfaceIdentifier;
1568 + ULONG MinRouterAdvertisementInterval;
1569 + ULONG MaxRouterAdvertisementInterval;
1570 + BOOLEAN AdvertisingEnabled;
1571 + BOOLEAN ForwardingEnabled;
1572 + BOOLEAN WeakHostSend;
1573 + BOOLEAN WeakHostReceive;
1574 + BOOLEAN UseAutomaticMetric;
1575 + BOOLEAN UseNeighborUnreachabilityDetection;
1576 + BOOLEAN ManagedAddressConfigurationSupported;
1577 + BOOLEAN OtherStatefulConfigurationSupported;
1578 + BOOLEAN AdvertiseDefaultRoute;
1579 + NL_ROUTER_DISCOVERY_BEHAVIOR RouterDiscoveryBehavior;
1580 + ULONG DadTransmits;
1581 + ULONG BaseReachableTime;
1582 + ULONG RetransmitTime;
1583 + ULONG PathMtuDiscoveryTimeout;
1584 + NL_LINK_LOCAL_ADDRESS_BEHAVIOR LinkLocalAddressBehavior;
1585 + ULONG LinkLocalAddressTimeout;
1586 + ULONG ZoneIndices[ScopeLevelCount];
1587 + ULONG SitePrefixLength;
1590 + BOOLEAN Connected;
1591 + BOOLEAN SupportsWakeUpPatterns;
1592 + BOOLEAN SupportsNeighborDiscovery;
1593 + BOOLEAN SupportsRouterDiscovery;
1594 + ULONG ReachableTime;
1595 + NL_INTERFACE_OFFLOAD_ROD TransmitOffload;
1596 + NL_INTERFACE_OFFLOAD_ROD ReceiveOffload;
1597 + BOOLEAN DisableDefaultRoutes;
1598 + } MIB_IPINTERFACE_ROW,*PMIB_IPINTERFACE_ROW;
1600 + typedef struct _MIB_IPINTERFACE_TABLE {
1602 + MIB_IPINTERFACE_ROW Table[ANY_SIZE];
1603 + } MIB_IPINTERFACE_TABLE,*PMIB_IPINTERFACE_TABLE;
1605 + typedef struct _MIB_IFSTACK_ROW {
1606 + NET_IFINDEX HigherLayerInterfaceIndex;
1607 + NET_IFINDEX LowerLayerInterfaceIndex;
1608 + } MIB_IFSTACK_ROW,*PMIB_IFSTACK_ROW;
1610 + typedef struct _MIB_INVERTEDIFSTACK_ROW {
1611 + NET_IFINDEX LowerLayerInterfaceIndex;
1612 + NET_IFINDEX HigherLayerInterfaceIndex;
1613 + } MIB_INVERTEDIFSTACK_ROW,*PMIB_INVERTEDIFSTACK_ROW;
1615 + typedef struct _MIB_IFSTACK_TABLE {
1617 + MIB_IFSTACK_ROW Table[ANY_SIZE];
1618 + } MIB_IFSTACK_TABLE,*PMIB_IFSTACK_TABLE;
1620 + typedef struct _MIB_INVERTEDIFSTACK_TABLE {
1622 + MIB_INVERTEDIFSTACK_ROW Table[ANY_SIZE];
1623 + } MIB_INVERTEDIFSTACK_TABLE,*PMIB_INVERTEDIFSTACK_TABLE;
1625 + typedef struct _MIB_IP_NETWORK_CONNECTION_BANDWIDTH_ESTIMATES {
1626 + NL_BANDWIDTH_INFORMATION InboundBandwidthInformation;
1627 + NL_BANDWIDTH_INFORMATION OutboundBandwidthInformation;
1628 + } MIB_IP_NETWORK_CONNECTION_BANDWIDTH_ESTIMATES, *PMIB_IP_NETWORK_CONNECTION_BANDWIDTH_ESTIMATES;
1630 + typedef struct _MIB_UNICASTIPADDRESS_ROW {
1631 + SOCKADDR_INET Address;
1632 + NET_LUID InterfaceLuid;
1633 + NET_IFINDEX InterfaceIndex;
1634 + NL_PREFIX_ORIGIN PrefixOrigin;
1635 + NL_SUFFIX_ORIGIN SuffixOrigin;
1636 + ULONG ValidLifetime;
1637 + ULONG PreferredLifetime;
1638 + UINT8 OnLinkPrefixLength;
1639 + BOOLEAN SkipAsSource;
1640 + NL_DAD_STATE DadState;
1642 + LARGE_INTEGER CreationTimeStamp;
1643 + } MIB_UNICASTIPADDRESS_ROW,*PMIB_UNICASTIPADDRESS_ROW;
1645 + typedef struct _MIB_UNICASTIPADDRESS_TABLE {
1647 + MIB_UNICASTIPADDRESS_ROW Table[ANY_SIZE];
1648 + } MIB_UNICASTIPADDRESS_TABLE,*PMIB_UNICASTIPADDRESS_TABLE;
1650 + typedef struct _MIB_ANYCASTIPADDRESS_ROW {
1651 + SOCKADDR_INET Address;
1652 + NET_LUID InterfaceLuid;
1653 + NET_IFINDEX InterfaceIndex;
1655 + } MIB_ANYCASTIPADDRESS_ROW,*PMIB_ANYCASTIPADDRESS_ROW;
1657 + typedef struct _MIB_ANYCASTIPADDRESS_TABLE {
1659 + MIB_ANYCASTIPADDRESS_ROW Table[ANY_SIZE];
1660 + } MIB_ANYCASTIPADDRESS_TABLE,*PMIB_ANYCASTIPADDRESS_TABLE;
1662 + typedef struct _MIB_MULTICASTIPADDRESS_ROW {
1663 + SOCKADDR_INET Address;
1664 + NET_IFINDEX InterfaceIndex;
1665 + NET_LUID InterfaceLuid;
1667 + } MIB_MULTICASTIPADDRESS_ROW,*PMIB_MULTICASTIPADDRESS_ROW;
1669 + typedef struct _MIB_MULTICASTIPADDRESS_TABLE {
1671 + MIB_MULTICASTIPADDRESS_ROW Table[ANY_SIZE];
1672 + } MIB_MULTICASTIPADDRESS_TABLE,*PMIB_MULTICASTIPADDRESS_TABLE;
1674 + typedef struct _IP_ADDRESS_PREFIX {
1675 + SOCKADDR_INET Prefix;
1676 + UINT8 PrefixLength;
1677 + } IP_ADDRESS_PREFIX,*PIP_ADDRESS_PREFIX;
1679 + typedef struct _MIB_IPFORWARD_ROW2 {
1680 + NET_LUID InterfaceLuid;
1681 + NET_IFINDEX InterfaceIndex;
1682 + IP_ADDRESS_PREFIX DestinationPrefix;
1683 + SOCKADDR_INET NextHop;
1684 + UCHAR SitePrefixLength;
1685 + ULONG ValidLifetime;
1686 + ULONG PreferredLifetime;
1688 + NL_ROUTE_PROTOCOL Protocol;
1690 + BOOLEAN AutoconfigureAddress;
1694 + NL_ROUTE_ORIGIN Origin;
1695 + } MIB_IPFORWARD_ROW2,*PMIB_IPFORWARD_ROW2;
1697 + typedef struct _MIB_IPFORWARD_TABLE2 {
1699 + MIB_IPFORWARD_ROW2 Table[ANY_SIZE];
1700 + } MIB_IPFORWARD_TABLE2,*PMIB_IPFORWARD_TABLE2;
1702 + typedef struct _MIB_IPPATH_ROW {
1703 + SOCKADDR_INET Source;
1704 + SOCKADDR_INET Destination;
1705 + NET_LUID InterfaceLuid;
1706 + NET_IFINDEX InterfaceIndex;
1707 + SOCKADDR_INET CurrentNextHop;
1710 + ULONG RttDeviation;
1711 + _ANONYMOUS_UNION union {
1712 + ULONG LastReachable;
1713 + ULONG LastUnreachable;
1715 + BOOLEAN IsReachable;
1716 + ULONG64 LinkTransmitSpeed;
1717 + ULONG64 LinkReceiveSpeed;
1718 + } MIB_IPPATH_ROW,*PMIB_IPPATH_ROW;
1720 + typedef struct _MIB_IPPATH_TABLE {
1722 + MIB_IPPATH_ROW Table[ANY_SIZE];
1723 + } MIB_IPPATH_TABLE,*PMIB_IPPATH_TABLE;
1725 + typedef struct _MIB_IPNET_ROW2 {
1726 + SOCKADDR_INET Address;
1727 + NET_IFINDEX InterfaceIndex;
1728 + NET_LUID InterfaceLuid;
1729 + UCHAR PhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH];
1730 + ULONG PhysicalAddressLength;
1731 + NL_NEIGHBOR_STATE State;
1732 + _ANONYMOUS_UNION union {
1733 + _ANONYMOUS_STRUCT struct {
1734 + BOOLEAN IsRouter : 1;
1735 + BOOLEAN IsUnreachable : 1;
1740 + ULONG LastReachable;
1741 + ULONG LastUnreachable;
1742 + } ReachabilityTime;
1743 + } MIB_IPNET_ROW2, *PMIB_IPNET_ROW2;
1745 + typedef struct _MIB_IPNET_TABLE2 {
1747 + MIB_IPNET_ROW2 Table[ANY_SIZE];
1748 + } MIB_IPNET_TABLE2, *PMIB_IPNET_TABLE2;
1750 + typedef VOID (NETIOAPI_API_ *PIPINTERFACE_CHANGE_CALLBACK) (PVOID CallerContext, PMIB_IPINTERFACE_ROW Row, MIB_NOTIFICATION_TYPE NotificationType);
1751 + typedef VOID (NETIOAPI_API_ *PUNICAST_IPADDRESS_CHANGE_CALLBACK) (PVOID CallerContext, PMIB_UNICASTIPADDRESS_ROW Row, MIB_NOTIFICATION_TYPE NotificationType);
1752 + typedef VOID (NETIOAPI_API_ *PSTABLE_UNICAST_IPADDRESS_TABLE_CALLBACK) (PVOID CallerContext, PMIB_UNICASTIPADDRESS_TABLE AddressTable);
1754 + typedef VOID (NETIOAPI_API_ *PTEREDO_PORT_CHANGE_CALLBACK) (PVOID CallerContext, USHORT Port, MIB_NOTIFICATION_TYPE NotificationType);
1755 + typedef VOID (NETIOAPI_API_ *PIPFORWARD_CHANGE_CALLBACK) (PVOID CallerContext, PMIB_IPFORWARD_ROW2 Row, MIB_NOTIFICATION_TYPE NotificationType);
1757 + NETIO_STATUS NETIOAPI_API_ GetIfEntry2 (PMIB_IF_ROW2 Row);
1758 + NETIO_STATUS NETIOAPI_API_ GetIfTable2 (PMIB_IF_TABLE2 *Table);
1759 + NETIO_STATUS NETIOAPI_API_ GetIfTable2Ex (MIB_IF_TABLE_LEVEL Level, PMIB_IF_TABLE2 *Table);
1760 + NETIO_STATUS NETIOAPI_API_ GetIfStackTable (PMIB_IFSTACK_TABLE *Table);
1761 + NETIO_STATUS NETIOAPI_API_ GetInvertedIfStackTable (PMIB_INVERTEDIFSTACK_TABLE *Table);
1762 + NETIO_STATUS NETIOAPI_API_ GetIpInterfaceEntry (PMIB_IPINTERFACE_ROW Row);
1763 + NETIO_STATUS NETIOAPI_API_ GetIpInterfaceTable (ADDRESS_FAMILY Family, PMIB_IPINTERFACE_TABLE *Table);
1764 + VOID NETIOAPI_API_ InitializeIpInterfaceEntry (PMIB_IPINTERFACE_ROW Row);
1765 + NETIO_STATUS NETIOAPI_API_ NotifyIpInterfaceChange (ADDRESS_FAMILY Family, PIPINTERFACE_CHANGE_CALLBACK Callback, PVOID CallerContext, BOOLEAN InitialNotification, HANDLE *NotificationHandle);
1766 + NETIO_STATUS NETIOAPI_API_ SetIpInterfaceEntry (PMIB_IPINTERFACE_ROW Row);
1767 + NETIO_STATUS NETIOAPI_API_ GetIpNetworkConnectionBandwidthEstimates (NET_IFINDEX InterfaceIndex, ADDRESS_FAMILY AddressFamily, PMIB_IP_NETWORK_CONNECTION_BANDWIDTH_ESTIMATES BandwidthEstimates);
1768 + NETIO_STATUS NETIOAPI_API_ CreateUnicastIpAddressEntry (CONST MIB_UNICASTIPADDRESS_ROW *Row);
1769 + NETIO_STATUS NETIOAPI_API_ DeleteUnicastIpAddressEntry (CONST MIB_UNICASTIPADDRESS_ROW *Row);
1770 + NETIO_STATUS NETIOAPI_API_ GetUnicastIpAddressEntry (PMIB_UNICASTIPADDRESS_ROW Row);
1771 + NETIO_STATUS NETIOAPI_API_ GetUnicastIpAddressTable (ADDRESS_FAMILY Family, PMIB_UNICASTIPADDRESS_TABLE *Table);
1772 + VOID NETIOAPI_API_ InitializeUnicastIpAddressEntry (PMIB_UNICASTIPADDRESS_ROW Row);
1773 + NETIO_STATUS NETIOAPI_API_ NotifyUnicastIpAddressChange (ADDRESS_FAMILY Family, PUNICAST_IPADDRESS_CHANGE_CALLBACK Callback, PVOID CallerContext, BOOLEAN InitialNotification, HANDLE *NotificationHandle);
1774 + NETIO_STATUS NETIOAPI_API_ CreateAnycastIpAddressEntry (CONST MIB_ANYCASTIPADDRESS_ROW *Row);
1775 + NETIO_STATUS NETIOAPI_API_ DeleteAnycastIpAddressEntry (CONST MIB_ANYCASTIPADDRESS_ROW *Row);
1776 + NETIO_STATUS NETIOAPI_API_ GetAnycastIpAddressEntry (PMIB_ANYCASTIPADDRESS_ROW Row);
1777 + NETIO_STATUS NETIOAPI_API_ GetAnycastIpAddressTable (ADDRESS_FAMILY Family, PMIB_ANYCASTIPADDRESS_TABLE *Table);
1778 + NETIO_STATUS NETIOAPI_API_ NotifyStableUnicastIpAddressTable (ADDRESS_FAMILY Family, PMIB_UNICASTIPADDRESS_TABLE *Table, PSTABLE_UNICAST_IPADDRESS_TABLE_CALLBACK CallerCallback, PVOID CallerContext, HANDLE *NotificationHandle);
1779 + NETIO_STATUS NETIOAPI_API_ SetUnicastIpAddressEntry (CONST MIB_UNICASTIPADDRESS_ROW *Row);
1780 + NETIO_STATUS NETIOAPI_API_ GetMulticastIpAddressEntry (PMIB_MULTICASTIPADDRESS_ROW Row);
1781 + NETIO_STATUS NETIOAPI_API_ GetMulticastIpAddressTable (ADDRESS_FAMILY Family, PMIB_MULTICASTIPADDRESS_TABLE *Table);
1782 + NETIO_STATUS NETIOAPI_API_ CreateIpForwardEntry2 (CONST MIB_IPFORWARD_ROW2 *Row);
1783 + NETIO_STATUS NETIOAPI_API_ DeleteIpForwardEntry2 (CONST MIB_IPFORWARD_ROW2 *Row);
1784 + NETIO_STATUS NETIOAPI_API_ GetBestRoute2 (NET_LUID *InterfaceLuid, NET_IFINDEX InterfaceIndex, CONST SOCKADDR_INET *SourceAddress, CONST SOCKADDR_INET *DestinationAddress, ULONG AddressSortOptions, PMIB_IPFORWARD_ROW2 BestRoute, SOCKADDR_INET *BestSourceAddress);
1785 + NETIO_STATUS NETIOAPI_API_ GetIpForwardEntry2 (PMIB_IPFORWARD_ROW2 Row);
1786 + NETIO_STATUS NETIOAPI_API_ GetIpForwardTable2 (ADDRESS_FAMILY Family, PMIB_IPFORWARD_TABLE2 *Table);
1787 + VOID NETIOAPI_API_ InitializeIpForwardEntry (PMIB_IPFORWARD_ROW2 Row);
1788 + NETIO_STATUS NETIOAPI_API_ NotifyRouteChange2 (ADDRESS_FAMILY AddressFamily, PIPFORWARD_CHANGE_CALLBACK Callback, PVOID CallerContext, BOOLEAN InitialNotification, HANDLE *NotificationHandle);
1789 + NETIO_STATUS NETIOAPI_API_ SetIpForwardEntry2 (CONST MIB_IPFORWARD_ROW2 *Route);
1790 + NETIO_STATUS NETIOAPI_API_ FlushIpPathTable (ADDRESS_FAMILY Family);
1791 + NETIO_STATUS NETIOAPI_API_ GetIpPathEntry (PMIB_IPPATH_ROW Row);
1792 + NETIO_STATUS NETIOAPI_API_ GetIpPathTable (ADDRESS_FAMILY Family, PMIB_IPPATH_TABLE *Table);
1793 + NETIO_STATUS NETIOAPI_API_ CreateIpNetEntry2 (CONST MIB_IPNET_ROW2 *Row);
1794 + NETIO_STATUS NETIOAPI_API_ DeleteIpNetEntry2 (CONST MIB_IPNET_ROW2 *Row);
1795 + NETIO_STATUS NETIOAPI_API_ FlushIpNetTable2 (ADDRESS_FAMILY Family, NET_IFINDEX InterfaceIndex);
1796 + NETIO_STATUS NETIOAPI_API_ GetIpNetEntry2 (PMIB_IPNET_ROW2 Row);
1797 + NETIO_STATUS NETIOAPI_API_ GetIpNetTable2 (ADDRESS_FAMILY Family, PMIB_IPNET_TABLE2 *Table);
1798 + NETIO_STATUS NETIOAPI_API_ ResolveIpNetEntry2 (PMIB_IPNET_ROW2 Row, CONST SOCKADDR_INET *SourceAddress);
1799 + NETIO_STATUS NETIOAPI_API_ SetIpNetEntry2 (PMIB_IPNET_ROW2 Row);
1800 + NETIO_STATUS NETIOAPI_API_ NotifyTeredoPortChange (PTEREDO_PORT_CHANGE_CALLBACK Callback, PVOID CallerContext, BOOLEAN InitialNotification, HANDLE *NotificationHandle);
1801 + NETIO_STATUS NETIOAPI_API_ GetTeredoPort (USHORT *Port);
1802 + NETIO_STATUS NETIOAPI_API_ CancelMibChangeNotify2 (HANDLE NotificationHandle);
1803 + VOID NETIOAPI_API_ FreeMibTable (PVOID Memory);
1804 + NETIO_STATUS NETIOAPI_API_ CreateSortedAddressPairs (const PSOCKADDR_IN6 SourceAddressList, ULONG SourceAddressCount, const PSOCKADDR_IN6 DestinationAddressList, ULONG DestinationAddressCount, ULONG AddressSortOptions, PSOCKADDR_IN6_PAIR *SortedAddressPairList, ULONG *SortedAddressPairCount);
1807 + NETIO_STATUS NETIOAPI_API_ ConvertInterfaceNameToLuidA (CONST CHAR *InterfaceName, NET_LUID *InterfaceLuid);
1808 + NETIO_STATUS NETIOAPI_API_ ConvertInterfaceNameToLuidW (CONST WCHAR *InterfaceName, NET_LUID *InterfaceLuid);
1809 + NETIO_STATUS NETIOAPI_API_ ConvertInterfaceLuidToNameA (CONST NET_LUID *InterfaceLuid, PSTR InterfaceName, SIZE_T Length);
1810 + NETIO_STATUS NETIOAPI_API_ ConvertInterfaceLuidToNameW (CONST NET_LUID *InterfaceLuid, PWSTR InterfaceName, SIZE_T Length);
1811 + NETIO_STATUS NETIOAPI_API_ ConvertInterfaceLuidToIndex (CONST NET_LUID *InterfaceLuid, PNET_IFINDEX InterfaceIndex);
1812 + NETIO_STATUS NETIOAPI_API_ ConvertInterfaceIndexToLuid (NET_IFINDEX InterfaceIndex, PNET_LUID InterfaceLuid);
1813 + NETIO_STATUS NETIOAPI_API_ ConvertInterfaceLuidToAlias (CONST NET_LUID *InterfaceLuid, PWSTR InterfaceAlias, SIZE_T Length);
1814 + NETIO_STATUS NETIOAPI_API_ ConvertInterfaceAliasToLuid (CONST WCHAR *InterfaceAlias, PNET_LUID InterfaceLuid);
1815 + NETIO_STATUS NETIOAPI_API_ ConvertInterfaceLuidToGuid (CONST NET_LUID *InterfaceLuid, GUID *InterfaceGuid);
1816 + NETIO_STATUS NETIOAPI_API_ ConvertInterfaceGuidToLuid (CONST GUID *InterfaceGuid, PNET_LUID InterfaceLuid);
1817 + NET_IFINDEX NETIOAPI_API_ if_nametoindex (PCSTR InterfaceName);
1818 + PCHAR NETIOAPI_API_ if_indextoname (NET_IFINDEX InterfaceIndex, PCHAR InterfaceName);
1819 + NET_IF_COMPARTMENT_ID NETIOAPI_API_ GetCurrentThreadCompartmentId (VOID);
1820 + NETIO_STATUS NETIOAPI_API_ SetCurrentThreadCompartmentId (NET_IF_COMPARTMENT_ID CompartmentId);
1821 + NET_IF_COMPARTMENT_ID NETIOAPI_API_ GetSessionCompartmentId (ULONG SessionId);
1822 + NETIO_STATUS NETIOAPI_API_ SetSessionCompartmentId (ULONG SessionId, NET_IF_COMPARTMENT_ID CompartmentId);
1823 + NETIO_STATUS NETIOAPI_API_ GetNetworkInformation (CONST NET_IF_NETWORK_GUID *NetworkGuid, PNET_IF_COMPARTMENT_ID CompartmentId, PULONG SiteId, PWCHAR NetworkName, ULONG Length);
1824 + NETIO_STATUS NETIOAPI_API_ SetNetworkInformation (CONST NET_IF_NETWORK_GUID *NetworkGuid, NET_IF_COMPARTMENT_ID CompartmentId, CONST WCHAR *NetworkName);
1825 + NETIO_STATUS NETIOAPI_API_ ConvertLengthToIpv4Mask (ULONG MaskLength, PULONG Mask);
1826 + NETIO_STATUS NETIOAPI_API_ ConvertIpv4MaskToLength (ULONG Mask, PUINT8 MaskLength);
1836 --- w32api-5.0.2/include/basetsd.h.orig 2017-11-09 02:35:48.000000000 +0100
1837 +++ w32api-5.0.2/include/basetsd.h 2018-09-21 22:06:01.713431915 +0200
1842 -typedef signed char INT8;
1843 -typedef signed short INT16;
1844 +typedef signed char INT8, *PINT8;
1845 +typedef signed short INT16, *PINT16;
1846 typedef int LONG32, *PLONG32;
1847 #ifndef XFree86Server
1848 typedef int INT32, *PINT32;
1849 #endif /* ndef XFree86Server */
1850 -typedef unsigned char UINT8;
1851 -typedef unsigned short UINT16;
1852 +typedef unsigned char UINT8, *PUINT8;
1853 +typedef unsigned short UINT16, *PUINT16;
1854 typedef unsigned int ULONG32, *PULONG32;
1855 typedef unsigned int DWORD32, *PDWORD32;
1856 typedef unsigned int UINT32, *PUINT32;
1857 --- w32api-5.0.2/include/ipifcons.h.orig 2017-11-09 02:35:48.000000000 +0100
1858 +++ w32api-5.0.2/include/ipifcons.h 2018-09-22 08:35:34.133000622 +0200
1860 #pragma GCC system_header
1867 +typedef ULONG IFTYPE;
1869 #define MIN_IF_TYPE 1
1870 #define IF_TYPE_OTHER 1
1871 #define IF_TYPE_REGULAR_1822 2
1873 #define MIB_IF_TYPE_LOOPBACK 24
1874 #define MIB_IF_TYPE_SLIP 28
1880 --- w32api-5.0.2/include/ntddndis.h.orig 1970-01-01 01:00:00.000000000 +0100
1881 +++ w32api-5.0.2/include/ntddndis.h 2018-09-22 09:39:12.409623691 +0200
1883 +/* https://github.com/Alexpux/mingw-w64/raw/master/mingw-w64-headers/include/ntddndis.h */
1885 +* This file is part of the mingw-w64 runtime package.
1886 +* No warranty is given; refer to the file DISCLAIMER within this package.
1893 +#include <winapifamily.h>
1895 +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
1902 +#ifndef NDIS_SUPPORT_NDIS6
1903 +#if defined (UM_NDIS60) || defined (UM_NDIS61) || defined (UM_NDIS620) || defined (UM_NDIS630)
1904 +#define NDIS_SUPPORT_NDIS6 1
1906 +#define NDIS_SUPPORT_NDIS6 0
1910 +#if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6
1913 +#include <devpkey.h>
1914 +#include <pciprop.h>
1918 +#ifndef NDIS_SUPPORT_NDIS61
1919 +#if defined (UM_NDIS61) || defined (UM_NDIS620) || defined (UM_NDIS630)
1920 +#define NDIS_SUPPORT_NDIS61 1
1922 +#define NDIS_SUPPORT_NDIS61 0
1926 +#ifndef NDIS_SUPPORT_NDIS620
1927 +#if defined (UM_NDIS620) || defined (UM_NDIS630)
1928 +#define NDIS_SUPPORT_NDIS620 1
1930 +#define NDIS_SUPPORT_NDIS620 0
1934 +#ifndef NDIS_SUPPORT_NDIS630
1936 +#define NDIS_SUPPORT_NDIS630 1
1938 +#define NDIS_SUPPORT_NDIS630 0
1942 +#define DD_NDIS_DEVICE_NAME "\\Device\\UNKNOWN"
1944 +#define _NDIS_CONTROL_CODE(request, method) CTL_CODE (FILE_DEVICE_PHYSICAL_NETCARD, request, method, FILE_ANY_ACCESS)
1946 +#define IOCTL_NDIS_QUERY_GLOBAL_STATS _NDIS_CONTROL_CODE (0, METHOD_OUT_DIRECT)
1947 +#define IOCTL_NDIS_QUERY_ALL_STATS _NDIS_CONTROL_CODE (1, METHOD_OUT_DIRECT)
1948 +#define IOCTL_NDIS_DO_PNP_OPERATION _NDIS_CONTROL_CODE (2, METHOD_BUFFERED)
1949 +#define IOCTL_NDIS_QUERY_SELECTED_STATS _NDIS_CONTROL_CODE (3, METHOD_OUT_DIRECT)
1950 +#define IOCTL_NDIS_ENUMERATE_INTERFACES _NDIS_CONTROL_CODE (4, METHOD_BUFFERED)
1951 +#define IOCTL_NDIS_ADD_TDI_DEVICE _NDIS_CONTROL_CODE (5, METHOD_BUFFERED)
1952 +#define IOCTL_NDIS_GET_LOG_DATA _NDIS_CONTROL_CODE (7, METHOD_OUT_DIRECT)
1953 +#define IOCTL_NDIS_GET_VERSION _NDIS_CONTROL_CODE (8, METHOD_BUFFERED)
1955 +#define IOCTL_NDIS_RESERVED1 _NDIS_CONTROL_CODE (9, METHOD_BUFFERED)
1956 +#define IOCTL_NDIS_RESERVED2 _NDIS_CONTROL_CODE (0xa, METHOD_BUFFERED)
1957 +#define IOCTL_NDIS_RESERVED3 _NDIS_CONTROL_CODE (0xb, METHOD_BUFFERED)
1958 +#define IOCTL_NDIS_RESERVED4 _NDIS_CONTROL_CODE (0xc, METHOD_BUFFERED)
1959 +#define IOCTL_NDIS_RESERVED5 CTL_CODE (FILE_DEVICE_PHYSICAL_NETCARD, 0xd, METHOD_BUFFERED, FILE_ANY_ACCESS)
1960 +#define IOCTL_NDIS_RESERVED6 CTL_CODE (FILE_DEVICE_PHYSICAL_NETCARD, 0xe, METHOD_BUFFERED, FILE_WRITE_ACCESS)
1961 +#define IOCTL_NDIS_RESERVED7 _NDIS_CONTROL_CODE (0xf, METHOD_OUT_DIRECT)
1962 +#define IOCTL_NDIS_RESERVED8 _NDIS_CONTROL_CODE (0x10, METHOD_BUFFERED)
1963 +#define IOCTL_NDIS_RESERVED9 _NDIS_CONTROL_CODE (0x11, METHOD_BUFFERED)
1964 +#define IOCTL_NDIS_RESERVED10 _NDIS_CONTROL_CODE (0x12, METHOD_BUFFERED)
1965 +#define IOCTL_NDIS_RESERVED11 _NDIS_CONTROL_CODE (0x13, METHOD_BUFFERED)
1966 +#define IOCTL_NDIS_RESERVED12 _NDIS_CONTROL_CODE (0x14, METHOD_BUFFERED)
1967 +#define IOCTL_NDIS_RESERVED13 _NDIS_CONTROL_CODE (0x15, METHOD_BUFFERED)
1968 +#define IOCTL_NDIS_RESERVED14 _NDIS_CONTROL_CODE (0x16, METHOD_BUFFERED)
1969 +#define IOCTL_NDIS_RESERVED15 _NDIS_CONTROL_CODE (0x17, METHOD_BUFFERED)
1970 +#define IOCTL_NDIS_RESERVED16 _NDIS_CONTROL_CODE (0x18, METHOD_BUFFERED)
1971 +#define IOCTL_NDIS_RESERVED17 _NDIS_CONTROL_CODE (0x19, METHOD_BUFFERED)
1972 +#define IOCTL_NDIS_RESERVED18 _NDIS_CONTROL_CODE (0x1a, METHOD_BUFFERED)
1973 +#define IOCTL_NDIS_RESERVED19 _NDIS_CONTROL_CODE (0x1b, METHOD_BUFFERED)
1974 +#define IOCTL_NDIS_RESERVED20 _NDIS_CONTROL_CODE (0x1c, METHOD_BUFFERED)
1975 +#define IOCTL_NDIS_RESERVED21 _NDIS_CONTROL_CODE (0x1d, METHOD_BUFFERED)
1976 +#define IOCTL_NDIS_RESERVED22 _NDIS_CONTROL_CODE (0x1e, METHOD_BUFFERED)
1977 +#define IOCTL_NDIS_RESERVED23 _NDIS_CONTROL_CODE (0x1f, METHOD_BUFFERED)
1978 +#define IOCTL_NDIS_RESERVED24 _NDIS_CONTROL_CODE (0x20, METHOD_BUFFERED)
1979 +#define IOCTL_NDIS_RESERVED25 _NDIS_CONTROL_CODE (0x21, METHOD_BUFFERED)
1980 +#define IOCTL_NDIS_RESERVED26 _NDIS_CONTROL_CODE (0x22, METHOD_BUFFERED)
1981 +#define IOCTL_NDIS_RESERVED27 _NDIS_CONTROL_CODE (0x23, METHOD_BUFFERED)
1982 +#define IOCTL_NDIS_RESERVED28 _NDIS_CONTROL_CODE (0x24, METHOD_BUFFERED)
1983 +#define IOCTL_NDIS_RESERVED29 _NDIS_CONTROL_CODE (0x25, METHOD_BUFFERED)
1984 +#define IOCTL_NDIS_RESERVED30 _NDIS_CONTROL_CODE (0x26, METHOD_BUFFERED)
1986 + typedef ULONG NDIS_OID, *PNDIS_OID;
1987 + typedef struct _NDIS_STATISTICS_VALUE {
1991 + } NDIS_STATISTICS_VALUE;
1993 + typedef NDIS_STATISTICS_VALUE UNALIGNED *PNDIS_STATISTICS_VALUE;
1995 +#if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6
1996 + typedef struct _NDIS_STATISTICS_VALUE_EX {
2001 + } NDIS_STATISTICS_VALUE_EX;
2003 + typedef NDIS_STATISTICS_VALUE_EX UNALIGNED *PNDIS_STATISTICS_VALUE_EX;
2006 + typedef struct _NDIS_VAR_DATA_DESC {
2008 + USHORT MaximumLength;
2010 + } NDIS_VAR_DATA_DESC, *PNDIS_VAR_DATA_DESC;
2012 +#ifndef GUID_DEFINED
2013 +/* not in mingw32, use replacement
2014 +#include <guiddef.h>
2016 +#include <basetyps.h>
2019 +#define NDIS_OBJECT_TYPE_DEFAULT 0x80
2020 +#define NDIS_OBJECT_TYPE_MINIPORT_INIT_PARAMETERS 0x81
2021 +#define NDIS_OBJECT_TYPE_SG_DMA_DESCRIPTION 0x83
2022 +#define NDIS_OBJECT_TYPE_MINIPORT_INTERRUPT 0x84
2023 +#define NDIS_OBJECT_TYPE_DEVICE_OBJECT_ATTRIBUTES 0x85
2024 +#define NDIS_OBJECT_TYPE_BIND_PARAMETERS 0x86
2025 +#define NDIS_OBJECT_TYPE_OPEN_PARAMETERS 0x87
2026 +#define NDIS_OBJECT_TYPE_RSS_CAPABILITIES 0x88
2027 +#define NDIS_OBJECT_TYPE_RSS_PARAMETERS 0x89
2028 +#define NDIS_OBJECT_TYPE_MINIPORT_DRIVER_CHARACTERISTICS 0x8a
2029 +#define NDIS_OBJECT_TYPE_FILTER_DRIVER_CHARACTERISTICS 0x8b
2030 +#define NDIS_OBJECT_TYPE_FILTER_PARTIAL_CHARACTERISTICS 0x8c
2031 +#define NDIS_OBJECT_TYPE_FILTER_ATTRIBUTES 0x8d
2032 +#define NDIS_OBJECT_TYPE_CLIENT_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS 0x8e
2033 +#define NDIS_OBJECT_TYPE_PROVIDER_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS 0x8f
2034 +#define NDIS_OBJECT_TYPE_CO_PROTOCOL_CHARACTERISTICS 0x90
2035 +#define NDIS_OBJECT_TYPE_CO_MINIPORT_CHARACTERISTICS 0x91
2036 +#define NDIS_OBJECT_TYPE_MINIPORT_PNP_CHARACTERISTICS 0x92
2037 +#define NDIS_OBJECT_TYPE_CLIENT_CHIMNEY_OFFLOAD_CHARACTERISTICS 0x93
2038 +#define NDIS_OBJECT_TYPE_PROVIDER_CHIMNEY_OFFLOAD_CHARACTERISTICS 0x94
2039 +#define NDIS_OBJECT_TYPE_PROTOCOL_DRIVER_CHARACTERISTICS 0x95
2040 +#define NDIS_OBJECT_TYPE_REQUEST_EX 0x96
2041 +#define NDIS_OBJECT_TYPE_OID_REQUEST 0x96
2042 +#define NDIS_OBJECT_TYPE_TIMER_CHARACTERISTICS 0x97
2043 +#define NDIS_OBJECT_TYPE_STATUS_INDICATION 0x98
2044 +#define NDIS_OBJECT_TYPE_FILTER_ATTACH_PARAMETERS 0x99
2045 +#define NDIS_OBJECT_TYPE_FILTER_PAUSE_PARAMETERS 0x9a
2046 +#define NDIS_OBJECT_TYPE_FILTER_RESTART_PARAMETERS 0x9b
2047 +#define NDIS_OBJECT_TYPE_PORT_CHARACTERISTICS 0x9c
2048 +#define NDIS_OBJECT_TYPE_PORT_STATE 0x9d
2049 +#define NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES 0x9e
2050 +#define NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES 0x9f
2051 +#define NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES 0xa0
2052 +#define NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_NATIVE_802_11_ATTRIBUTES 0xa1
2053 +#define NDIS_OBJECT_TYPE_RESTART_GENERAL_ATTRIBUTES 0xa2
2054 +#define NDIS_OBJECT_TYPE_PROTOCOL_RESTART_PARAMETERS 0xa3
2055 +#define NDIS_OBJECT_TYPE_MINIPORT_ADD_DEVICE_REGISTRATION_ATTRIBUTES 0xa4
2056 +#define NDIS_OBJECT_TYPE_CO_CALL_MANAGER_OPTIONAL_HANDLERS 0xa5
2057 +#define NDIS_OBJECT_TYPE_CO_CLIENT_OPTIONAL_HANDLERS 0xa6
2058 +#define NDIS_OBJECT_TYPE_OFFLOAD 0xa7
2059 +#define NDIS_OBJECT_TYPE_OFFLOAD_ENCAPSULATION 0xa8
2060 +#define NDIS_OBJECT_TYPE_CONFIGURATION_OBJECT 0xa9
2061 +#define NDIS_OBJECT_TYPE_DRIVER_WRAPPER_OBJECT 0xaa
2062 +#if NDIS_SUPPORT_NDIS61
2063 +#define NDIS_OBJECT_TYPE_HD_SPLIT_ATTRIBUTES 0xab
2065 +#define NDIS_OBJECT_TYPE_NSI_NETWORK_RW_STRUCT 0xac
2066 +#define NDIS_OBJECT_TYPE_NSI_COMPARTMENT_RW_STRUCT 0xad
2067 +#define NDIS_OBJECT_TYPE_NSI_INTERFACE_PERSIST_RW_STRUCT 0xae
2068 +#if NDIS_SUPPORT_NDIS61
2069 +#define NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES 0xaf
2071 +#if NDIS_SUPPORT_NDIS620
2072 +#define NDIS_OBJECT_TYPE_SHARED_MEMORY_PROVIDER_CHARACTERISTICS 0xb0
2073 +#define NDIS_OBJECT_TYPE_RSS_PROCESSOR_INFO 0xb1
2075 +#if NDIS_SUPPORT_NDIS630
2076 +#define NDIS_OBJECT_TYPE_NDK_PROVIDER_CHARACTERISTICS 0xb2
2077 +#define NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_NDK_ATTRIBUTES 0xb3
2078 +#define NDIS_OBJECT_TYPE_MINIPORT_SS_CHARACTERISTICS 0xb4
2079 +#define NDIS_OBJECT_TYPE_QOS_CAPABILITIES 0xb5
2080 +#define NDIS_OBJECT_TYPE_QOS_PARAMETERS 0xb6
2081 +#define NDIS_OBJECT_TYPE_QOS_CLASSIFICATION_ELEMENT 0xb7
2082 +#define NDIS_OBJECT_TYPE_SWITCH_OPTIONAL_HANDLERS 0xb8
2083 +#define NDIS_OBJECT_TYPE_IOCTL_OID_INFO 0xb9
2084 +#define NDIS_OBJECT_TYPE_LBFO_DIAGNOSTIC_OID 0xba
2087 + typedef struct _NDIS_OBJECT_HEADER {
2091 + } NDIS_OBJECT_HEADER, *PNDIS_OBJECT_HEADER;
2093 + typedef enum _NDIS_REQUEST_TYPE {
2094 + NdisRequestQueryInformation,
2095 + NdisRequestSetInformation,
2096 + NdisRequestQueryStatistics,
2100 + NdisRequestTransferData,
2102 + NdisRequestGeneric1,
2103 + NdisRequestGeneric2,
2104 + NdisRequestGeneric3,
2105 + NdisRequestGeneric4
2106 +#if NDIS_SUPPORT_NDIS6
2107 + , NdisRequestMethod
2109 + } NDIS_REQUEST_TYPE, *PNDIS_REQUEST_TYPE;
2111 +#define NDIS_OBJECT_REVISION_1 1
2113 +#if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6
2114 +#define NDIS_STATISTICS_FLAGS_VALID_DIRECTED_FRAMES_RCV 0x00000001
2115 +#define NDIS_STATISTICS_FLAGS_VALID_MULTICAST_FRAMES_RCV 0x00000002
2116 +#define NDIS_STATISTICS_FLAGS_VALID_BROADCAST_FRAMES_RCV 0x00000004
2117 +#define NDIS_STATISTICS_FLAGS_VALID_BYTES_RCV 0x00000008
2118 +#define NDIS_STATISTICS_FLAGS_VALID_RCV_DISCARDS 0x00000010
2119 +#define NDIS_STATISTICS_FLAGS_VALID_RCV_ERROR 0x00000020
2120 +#define NDIS_STATISTICS_FLAGS_VALID_DIRECTED_FRAMES_XMIT 0x00000040
2121 +#define NDIS_STATISTICS_FLAGS_VALID_MULTICAST_FRAMES_XMIT 0x00000080
2122 +#define NDIS_STATISTICS_FLAGS_VALID_BROADCAST_FRAMES_XMIT 0x00000100
2123 +#define NDIS_STATISTICS_FLAGS_VALID_BYTES_XMIT 0x00000200
2124 +#define NDIS_STATISTICS_FLAGS_VALID_XMIT_ERROR 0x00000400
2125 +#define NDIS_STATISTICS_FLAGS_VALID_XMIT_DISCARDS 0x00008000
2126 +#define NDIS_STATISTICS_FLAGS_VALID_DIRECTED_BYTES_RCV 0x00010000
2127 +#define NDIS_STATISTICS_FLAGS_VALID_MULTICAST_BYTES_RCV 0x00020000
2128 +#define NDIS_STATISTICS_FLAGS_VALID_BROADCAST_BYTES_RCV 0x00040000
2129 +#define NDIS_STATISTICS_FLAGS_VALID_DIRECTED_BYTES_XMIT 0x00080000
2130 +#define NDIS_STATISTICS_FLAGS_VALID_MULTICAST_BYTES_XMIT 0x00100000
2131 +#define NDIS_STATISTICS_FLAGS_VALID_BROADCAST_BYTES_XMIT 0x00200000
2133 +#define NDIS_INTERRUPT_MODERATION_CHANGE_NEEDS_RESET 0x00000001
2134 +#define NDIS_INTERRUPT_MODERATION_CHANGE_NEEDS_REINITIALIZE 0x00000002
2136 +#define NDIS_STATISTICS_INFO_REVISION_1 1
2137 +#define NDIS_INTERRUPT_MODERATION_PARAMETERS_REVISION_1 1
2138 +#define NDIS_TIMEOUT_DPC_REQUEST_CAPABILITIES_REVISION_1 1
2139 +#define NDIS_OBJECT_TYPE_PCI_DEVICE_CUSTOM_PROPERTIES_REVISION_1 1
2140 +#if NTDDI_VERSION >= 0x06010000 || NDIS_SUPPORT_NDIS620
2141 +#define NDIS_OBJECT_TYPE_PCI_DEVICE_CUSTOM_PROPERTIES_REVISION_2 2
2143 +#if NDIS_SUPPORT_NDIS630
2144 +#define NDIS_RSC_STATISTICS_REVISION_1 1
2147 +#define NDIS_SIZEOF_STATISTICS_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_STATISTICS_INFO, ifHCOutBroadcastOctets)
2148 +#define NDIS_SIZEOF_INTERRUPT_MODERATION_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_INTERRUPT_MODERATION_PARAMETERS, InterruptModeration)
2149 +#define NDIS_SIZEOF_TIMEOUT_DPC_REQUEST_CAPABILITIES_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_TIMEOUT_DPC_REQUEST_CAPABILITIES, TimeoutArray)
2150 +#define NDIS_SIZEOF_PCI_DEVICE_CUSTOM_PROPERTIES_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_PCI_DEVICE_CUSTOM_PROPERTIES, MaxLinkWidth)
2151 +#if NTDDI_VERSION >= 0x06010000 || NDIS_SUPPORT_NDIS620
2152 +#define NDIS_SIZEOF_PCI_DEVICE_CUSTOM_PROPERTIES_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_PCI_DEVICE_CUSTOM_PROPERTIES, MaxInterruptMessages)
2154 +#if NDIS_SUPPORT_NDIS630
2155 +#define NDIS_SIZEOF_RSC_STATISTICS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RSC_STATISTICS_INFO, Aborts)
2158 + typedef struct _NDIS_STATISTICS_INFO {
2159 + NDIS_OBJECT_HEADER Header;
2160 + ULONG SupportedStatistics;
2161 + ULONG64 ifInDiscards;
2162 + ULONG64 ifInErrors;
2163 + ULONG64 ifHCInOctets;
2164 + ULONG64 ifHCInUcastPkts;
2165 + ULONG64 ifHCInMulticastPkts;
2166 + ULONG64 ifHCInBroadcastPkts;
2167 + ULONG64 ifHCOutOctets;
2168 + ULONG64 ifHCOutUcastPkts;
2169 + ULONG64 ifHCOutMulticastPkts;
2170 + ULONG64 ifHCOutBroadcastPkts;
2171 + ULONG64 ifOutErrors;
2172 + ULONG64 ifOutDiscards;
2173 + ULONG64 ifHCInUcastOctets;
2174 + ULONG64 ifHCInMulticastOctets;
2175 + ULONG64 ifHCInBroadcastOctets;
2176 + ULONG64 ifHCOutUcastOctets;
2177 + ULONG64 ifHCOutMulticastOctets;
2178 + ULONG64 ifHCOutBroadcastOctets;
2179 + } NDIS_STATISTICS_INFO, *PNDIS_STATISTICS_INFO;
2181 +#if NDIS_SUPPORT_NDIS630
2182 + typedef struct _NDIS_RSC_STATISTICS_INFO {
2183 + NDIS_OBJECT_HEADER Header;
2184 + ULONG64 CoalescedPkts;
2185 + ULONG64 CoalescedOctets;
2186 + ULONG64 CoalesceEvents;
2188 + } NDIS_RSC_STATISTICS_INFO, *PNDIS_RSC_STATISTICS_INFO;
2191 + typedef enum _NDIS_INTERRUPT_MODERATION {
2192 + NdisInterruptModerationUnknown,
2193 + NdisInterruptModerationNotSupported,
2194 + NdisInterruptModerationEnabled,
2195 + NdisInterruptModerationDisabled
2196 + } NDIS_INTERRUPT_MODERATION, *PNDIS_INTERRUPT_MODERATION;
2198 + typedef struct _NDIS_INTERRUPT_MODERATION_PARAMETERS {
2199 + NDIS_OBJECT_HEADER Header;
2201 + NDIS_INTERRUPT_MODERATION InterruptModeration;
2202 + } NDIS_INTERRUPT_MODERATION_PARAMETERS, *PNDIS_INTERRUPT_MODERATION_PARAMETERS;
2204 + typedef struct _NDIS_TIMEOUT_DPC_REQUEST_CAPABILITIES {
2205 + NDIS_OBJECT_HEADER Header;
2207 + ULONG TimeoutArrayLength;
2208 + ULONG TimeoutArray[1];
2209 + } NDIS_TIMEOUT_DPC_REQUEST_CAPABILITIES, *PNDIS_TIMEOUT_DPC_REQUEST_CAPABILITIES;
2211 + typedef struct _NDIS_PCI_DEVICE_CUSTOM_PROPERTIES {
2212 + NDIS_OBJECT_HEADER Header;
2213 + UINT32 DeviceType;
2214 + UINT32 CurrentSpeedAndMode;
2215 + UINT32 CurrentPayloadSize;
2216 + UINT32 MaxPayloadSize;
2217 + UINT32 MaxReadRequestSize;
2218 + UINT32 CurrentLinkSpeed;
2219 + UINT32 CurrentLinkWidth;
2220 + UINT32 MaxLinkSpeed;
2221 + UINT32 MaxLinkWidth;
2222 +#if (NTDDI_VERSION >= 0x06010000 || NDIS_SUPPORT_NDIS620)
2223 + UINT32 PciExpressVersion;
2224 + UINT32 InterruptType;
2225 + UINT32 MaxInterruptMessages;
2227 + } NDIS_PCI_DEVICE_CUSTOM_PROPERTIES, *PNDIS_PCI_DEVICE_CUSTOM_PROPERTIES;
2230 +#define OID_GEN_SUPPORTED_LIST 0x00010101
2231 +#define OID_GEN_HARDWARE_STATUS 0x00010102
2232 +#define OID_GEN_MEDIA_SUPPORTED 0x00010103
2233 +#define OID_GEN_MEDIA_IN_USE 0x00010104
2234 +#define OID_GEN_MAXIMUM_LOOKAHEAD 0x00010105
2235 +#define OID_GEN_MAXIMUM_FRAME_SIZE 0x00010106
2236 +#define OID_GEN_LINK_SPEED 0x00010107
2237 +#define OID_GEN_TRANSMIT_BUFFER_SPACE 0x00010108
2238 +#define OID_GEN_RECEIVE_BUFFER_SPACE 0x00010109
2239 +#define OID_GEN_TRANSMIT_BLOCK_SIZE 0x0001010a
2240 +#define OID_GEN_RECEIVE_BLOCK_SIZE 0x0001010b
2241 +#define OID_GEN_VENDOR_ID 0x0001010c
2242 +#define OID_GEN_VENDOR_DESCRIPTION 0x0001010d
2243 +#define OID_GEN_CURRENT_PACKET_FILTER 0x0001010e
2244 +#define OID_GEN_CURRENT_LOOKAHEAD 0x0001010f
2245 +#define OID_GEN_DRIVER_VERSION 0x00010110
2246 +#define OID_GEN_MAXIMUM_TOTAL_SIZE 0x00010111
2247 +#define OID_GEN_PROTOCOL_OPTIONS 0x00010112
2248 +#define OID_GEN_MAC_OPTIONS 0x00010113
2249 +#define OID_GEN_MEDIA_CONNECT_STATUS 0x00010114
2250 +#define OID_GEN_MAXIMUM_SEND_PACKETS 0x00010115
2252 +#define OID_GEN_VENDOR_DRIVER_VERSION 0x00010116
2253 +#define OID_GEN_SUPPORTED_GUIDS 0x00010117
2254 +#define OID_GEN_NETWORK_LAYER_ADDRESSES 0x00010118
2255 +#define OID_GEN_TRANSPORT_HEADER_OFFSET 0x00010119
2256 +#define OID_GEN_MEDIA_CAPABILITIES 0x00010201
2257 +#define OID_GEN_PHYSICAL_MEDIUM 0x00010202
2258 +#if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6
2259 +#define OID_GEN_RECEIVE_SCALE_CAPABILITIES 0x00010203
2260 +#define OID_GEN_RECEIVE_SCALE_PARAMETERS 0x00010204
2261 +#define OID_GEN_MAC_ADDRESS 0x00010205
2262 +#define OID_GEN_MAX_LINK_SPEED 0x00010206
2263 +#define OID_GEN_LINK_STATE 0x00010207
2264 +#define OID_GEN_LINK_PARAMETERS 0x00010208
2265 +#define OID_GEN_INTERRUPT_MODERATION 0x00010209
2266 +#define OID_GEN_NDIS_RESERVED_3 0x0001020a
2267 +#define OID_GEN_NDIS_RESERVED_4 0x0001020b
2268 +#define OID_GEN_NDIS_RESERVED_5 0x0001020c
2269 +#define OID_GEN_ENUMERATE_PORTS 0x0001020d
2270 +#define OID_GEN_PORT_STATE 0x0001020e
2271 +#define OID_GEN_PORT_AUTHENTICATION_PARAMETERS 0x0001020f
2272 +#define OID_GEN_TIMEOUT_DPC_REQUEST_CAPABILITIES 0x00010210
2273 +#define OID_GEN_PCI_DEVICE_CUSTOM_PROPERTIES 0x00010211
2274 +#define OID_GEN_NDIS_RESERVED_6 0x00010212
2275 +#define OID_GEN_PHYSICAL_MEDIUM_EX 0x00010213
2278 +#define OID_GEN_MACHINE_NAME 0x0001021a
2279 +#define OID_GEN_RNDIS_CONFIG_PARAMETER 0x0001021b
2280 +#define OID_GEN_VLAN_ID 0x0001021c
2281 +#if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6
2282 +#define OID_GEN_RECEIVE_HASH 0x0001021f
2283 +#define OID_GEN_MINIPORT_RESTART_ATTRIBUTES 0x0001021d
2285 +#if NDIS_SUPPORT_NDIS61
2286 +#define OID_GEN_HD_SPLIT_PARAMETERS 0x0001021e
2287 +#define OID_GEN_HD_SPLIT_CURRENT_CONFIG 0x00010220
2290 +#define OID_GEN_PROMISCUOUS_MODE 0x00010280
2291 +#define OID_GEN_LAST_CHANGE 0x00010281
2292 +#define OID_GEN_DISCONTINUITY_TIME 0x00010282
2293 +#define OID_GEN_OPERATIONAL_STATUS 0x00010283
2294 +#define OID_GEN_XMIT_LINK_SPEED 0x00010284
2295 +#define OID_GEN_RCV_LINK_SPEED 0x00010285
2296 +#define OID_GEN_UNKNOWN_PROTOS 0x00010286
2297 +#define OID_GEN_INTERFACE_INFO 0x00010287
2298 +#define OID_GEN_ADMIN_STATUS 0x00010288
2299 +#define OID_GEN_ALIAS 0x00010289
2300 +#define OID_GEN_MEDIA_CONNECT_STATUS_EX 0x0001028a
2301 +#define OID_GEN_LINK_SPEED_EX 0x0001028b
2302 +#define OID_GEN_MEDIA_DUPLEX_STATE 0x0001028c
2303 +#define OID_GEN_IP_OPER_STATUS 0x0001028d
2305 +#define OID_WWAN_DRIVER_CAPS 0x0e010100
2306 +#define OID_WWAN_DEVICE_CAPS 0x0e010101
2307 +#define OID_WWAN_READY_INFO 0x0e010102
2308 +#define OID_WWAN_RADIO_STATE 0x0e010103
2309 +#define OID_WWAN_PIN 0x0e010104
2310 +#define OID_WWAN_PIN_LIST 0x0e010105
2311 +#define OID_WWAN_HOME_PROVIDER 0x0e010106
2312 +#define OID_WWAN_PREFERRED_PROVIDERS 0x0e010107
2313 +#define OID_WWAN_VISIBLE_PROVIDERS 0x0e010108
2314 +#define OID_WWAN_REGISTER_STATE 0x0e010109
2315 +#define OID_WWAN_PACKET_SERVICE 0x0e01010a
2316 +#define OID_WWAN_SIGNAL_STATE 0x0e01010b
2317 +#define OID_WWAN_CONNECT 0x0e01010c
2318 +#define OID_WWAN_PROVISIONED_CONTEXTS 0x0e01010d
2319 +#define OID_WWAN_SERVICE_ACTIVATION 0x0e01010e
2320 +#define OID_WWAN_SMS_CONFIGURATION 0x0e01010f
2321 +#define OID_WWAN_SMS_READ 0x0e010110
2322 +#define OID_WWAN_SMS_SEND 0x0e010111
2323 +#define OID_WWAN_SMS_DELETE 0x0e010112
2324 +#define OID_WWAN_SMS_STATUS 0x0e010113
2325 +#define OID_WWAN_VENDOR_SPECIFIC 0x0e010114
2328 +#if NTDDI_VERSION >= 0x06020000 || NDIS_SUPPORT_NDIS630
2329 +#define OID_WWAN_AUTH_CHALLENGE 0x0e010115
2330 +#define OID_WWAN_ENUMERATE_DEVICE_SERVICES 0x0e010116
2331 +#define OID_WWAN_SUBSCRIBE_DEVICE_SERVICE_EVENTS 0x0e010117
2332 +#define OID_WWAN_DEVICE_SERVICE_COMMAND 0x0e010118
2333 +#define OID_WWAN_USSD 0x0e010119
2334 +#define OID_WWAN_PIN_EX 0x0e010121
2335 +#define OID_WWAN_ENUMERATE_DEVICE_SERVICE_COMMANDS 0x0e010122
2336 +#define OID_WWAN_DEVICE_SERVICE_SESSION 0x0e010123
2337 +#define OID_WWAN_DEVICE_SERVICE_SESSION_WRITE 0x0e010124
2338 +#define OID_WWAN_PREFERRED_MULTICARRIER_PROVIDERS 0x0e010125
2341 +#define OID_GEN_XMIT_OK 0x00020101
2342 +#define OID_GEN_RCV_OK 0x00020102
2343 +#define OID_GEN_XMIT_ERROR 0x00020103
2344 +#define OID_GEN_RCV_ERROR 0x00020104
2345 +#define OID_GEN_RCV_NO_BUFFER 0x00020105
2346 +#if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6
2347 +#define OID_GEN_STATISTICS 0x00020106
2350 +#define OID_GEN_DIRECTED_BYTES_XMIT 0x00020201
2351 +#define OID_GEN_DIRECTED_FRAMES_XMIT 0x00020202
2352 +#define OID_GEN_MULTICAST_BYTES_XMIT 0x00020203
2353 +#define OID_GEN_MULTICAST_FRAMES_XMIT 0x00020204
2354 +#define OID_GEN_BROADCAST_BYTES_XMIT 0x00020205
2355 +#define OID_GEN_BROADCAST_FRAMES_XMIT 0x00020206
2356 +#define OID_GEN_DIRECTED_BYTES_RCV 0x00020207
2357 +#define OID_GEN_DIRECTED_FRAMES_RCV 0x00020208
2358 +#define OID_GEN_MULTICAST_BYTES_RCV 0x00020209
2359 +#define OID_GEN_MULTICAST_FRAMES_RCV 0x0002020a
2360 +#define OID_GEN_BROADCAST_BYTES_RCV 0x0002020b
2361 +#define OID_GEN_BROADCAST_FRAMES_RCV 0x0002020c
2362 +#define OID_GEN_RCV_CRC_ERROR 0x0002020d
2363 +#define OID_GEN_TRANSMIT_QUEUE_LENGTH 0x0002020e
2364 +#define OID_GEN_GET_TIME_CAPS 0x0002020f
2365 +#define OID_GEN_GET_NETCARD_TIME 0x00020210
2366 +#define OID_GEN_NETCARD_LOAD 0x00020211
2367 +#define OID_GEN_DEVICE_PROFILE 0x00020212
2368 +#define OID_GEN_INIT_TIME_MS 0x00020213
2369 +#define OID_GEN_RESET_COUNTS 0x00020214
2370 +#define OID_GEN_MEDIA_SENSE_COUNTS 0x00020215
2371 +#define OID_GEN_FRIENDLY_NAME 0x00020216
2372 +#define OID_GEN_NDIS_RESERVED_1 0x00020217
2373 +#define OID_GEN_NDIS_RESERVED_2 0x00020218
2374 +#define OID_GEN_NDIS_RESERVED_5 0x0001020c
2375 +#if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6
2376 +#define OID_GEN_BYTES_RCV 0x00020219
2377 +#define OID_GEN_BYTES_XMIT 0x0002021a
2378 +#define OID_GEN_RCV_DISCARDS 0x0002021b
2379 +#define OID_GEN_XMIT_DISCARDS 0x0002021c
2381 +#if NTDDI_VERSION >= 0x06020000 || NDIS_SUPPORT_NDIS630
2382 +#define OID_TCP_RSC_STATISTICS 0x0002021d
2383 +#define OID_GEN_NDIS_RESERVED_7 0x0002021e
2386 +#define OID_GEN_CO_SUPPORTED_LIST OID_GEN_SUPPORTED_LIST
2387 +#define OID_GEN_CO_HARDWARE_STATUS OID_GEN_HARDWARE_STATUS
2388 +#define OID_GEN_CO_MEDIA_SUPPORTED OID_GEN_MEDIA_SUPPORTED
2389 +#define OID_GEN_CO_MEDIA_IN_USE OID_GEN_MEDIA_IN_USE
2390 +#define OID_GEN_CO_LINK_SPEED OID_GEN_LINK_SPEED
2391 +#define OID_GEN_CO_VENDOR_ID OID_GEN_VENDOR_ID
2392 +#define OID_GEN_CO_VENDOR_DESCRIPTION OID_GEN_VENDOR_DESCRIPTION
2393 +#define OID_GEN_CO_DRIVER_VERSION OID_GEN_DRIVER_VERSION
2394 +#define OID_GEN_CO_PROTOCOL_OPTIONS OID_GEN_PROTOCOL_OPTIONS
2395 +#define OID_GEN_CO_MAC_OPTIONS OID_GEN_MAC_OPTIONS
2396 +#define OID_GEN_CO_MEDIA_CONNECT_STATUS OID_GEN_MEDIA_CONNECT_STATUS
2397 +#define OID_GEN_CO_VENDOR_DRIVER_VERSION OID_GEN_VENDOR_DRIVER_VERSION
2398 +#define OID_GEN_CO_SUPPORTED_GUIDS OID_GEN_SUPPORTED_GUIDS
2399 +#define OID_GEN_CO_GET_TIME_CAPS OID_GEN_GET_TIME_CAPS
2400 +#define OID_GEN_CO_GET_NETCARD_TIME OID_GEN_GET_NETCARD_TIME
2401 +#define OID_GEN_CO_MINIMUM_LINK_SPEED 0x00020120
2403 +#define OID_GEN_CO_XMIT_PDUS_OK OID_GEN_XMIT_OK
2404 +#define OID_GEN_CO_RCV_PDUS_OK OID_GEN_RCV_OK
2405 +#define OID_GEN_CO_XMIT_PDUS_ERROR OID_GEN_XMIT_ERROR
2406 +#define OID_GEN_CO_RCV_PDUS_ERROR OID_GEN_RCV_ERROR
2407 +#define OID_GEN_CO_RCV_PDUS_NO_BUFFER OID_GEN_RCV_NO_BUFFER
2409 +#define OID_GEN_CO_RCV_CRC_ERROR OID_GEN_RCV_CRC_ERROR
2410 +#define OID_GEN_CO_TRANSMIT_QUEUE_LENGTH OID_GEN_TRANSMIT_QUEUE_LENGTH
2411 +#define OID_GEN_CO_BYTES_XMIT OID_GEN_DIRECTED_BYTES_XMIT
2412 +#define OID_GEN_CO_BYTES_RCV OID_GEN_DIRECTED_BYTES_RCV
2413 +#define OID_GEN_CO_NETCARD_LOAD OID_GEN_NETCARD_LOAD
2414 +#define OID_GEN_CO_DEVICE_PROFILE OID_GEN_DEVICE_PROFILE
2415 +#define OID_GEN_CO_BYTES_XMIT_OUTSTANDING 0x00020221
2417 +#define OID_802_3_PERMANENT_ADDRESS 0x01010101
2418 +#define OID_802_3_CURRENT_ADDRESS 0x01010102
2419 +#define OID_802_3_MULTICAST_LIST 0x01010103
2420 +#define OID_802_3_MAXIMUM_LIST_SIZE 0x01010104
2422 +#define OID_802_3_MAC_OPTIONS 0x01010105
2424 +#define NDIS_802_3_MAC_OPTION_PRIORITY 0x00000001
2426 +#define OID_802_3_RCV_ERROR_ALIGNMENT 0x01020101
2427 +#define OID_802_3_XMIT_ONE_COLLISION 0x01020102
2428 +#define OID_802_3_XMIT_MORE_COLLISIONS 0x01020103
2430 +#define OID_802_3_XMIT_DEFERRED 0x01020201
2431 +#define OID_802_3_XMIT_MAX_COLLISIONS 0x01020202
2432 +#define OID_802_3_RCV_OVERRUN 0x01020203
2433 +#define OID_802_3_XMIT_UNDERRUN 0x01020204
2434 +#define OID_802_3_XMIT_HEARTBEAT_FAILURE 0x01020205
2435 +#define OID_802_3_XMIT_TIMES_CRS_LOST 0x01020206
2436 +#define OID_802_3_XMIT_LATE_COLLISIONS 0x01020207
2438 +#if (NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6)
2439 +#define OID_802_3_ADD_MULTICAST_ADDRESS 0x01010208
2440 +#define OID_802_3_DELETE_MULTICAST_ADDRESS 0x01010209
2443 +#define OID_802_5_PERMANENT_ADDRESS 0x02010101
2444 +#define OID_802_5_CURRENT_ADDRESS 0x02010102
2445 +#define OID_802_5_CURRENT_FUNCTIONAL 0x02010103
2446 +#define OID_802_5_CURRENT_GROUP 0x02010104
2447 +#define OID_802_5_LAST_OPEN_STATUS 0x02010105
2448 +#define OID_802_5_CURRENT_RING_STATUS 0x02010106
2449 +#define OID_802_5_CURRENT_RING_STATE 0x02010107
2451 +#define OID_802_5_LINE_ERRORS 0x02020101
2452 +#define OID_802_5_LOST_FRAMES 0x02020102
2454 +#define OID_802_5_BURST_ERRORS 0x02020201
2455 +#define OID_802_5_AC_ERRORS 0x02020202
2456 +#define OID_802_5_ABORT_DELIMETERS 0x02020203
2457 +#define OID_802_5_FRAME_COPIED_ERRORS 0x02020204
2458 +#define OID_802_5_FREQUENCY_ERRORS 0x02020205
2459 +#define OID_802_5_TOKEN_ERRORS 0x02020206
2460 +#define OID_802_5_INTERNAL_ERRORS 0x02020207
2462 +#define OID_FDDI_LONG_PERMANENT_ADDR 0x03010101
2463 +#define OID_FDDI_LONG_CURRENT_ADDR 0x03010102
2464 +#define OID_FDDI_LONG_MULTICAST_LIST 0x03010103
2465 +#define OID_FDDI_LONG_MAX_LIST_SIZE 0x03010104
2466 +#define OID_FDDI_SHORT_PERMANENT_ADDR 0x03010105
2467 +#define OID_FDDI_SHORT_CURRENT_ADDR 0x03010106
2468 +#define OID_FDDI_SHORT_MULTICAST_LIST 0x03010107
2469 +#define OID_FDDI_SHORT_MAX_LIST_SIZE 0x03010108
2471 +#define OID_FDDI_ATTACHMENT_TYPE 0x03020101
2472 +#define OID_FDDI_UPSTREAM_NODE_LONG 0x03020102
2473 +#define OID_FDDI_DOWNSTREAM_NODE_LONG 0x03020103
2474 +#define OID_FDDI_FRAME_ERRORS 0x03020104
2475 +#define OID_FDDI_FRAMES_LOST 0x03020105
2476 +#define OID_FDDI_RING_MGT_STATE 0x03020106
2477 +#define OID_FDDI_LCT_FAILURES 0x03020107
2478 +#define OID_FDDI_LEM_REJECTS 0x03020108
2479 +#define OID_FDDI_LCONNECTION_STATE 0x03020109
2481 +#define OID_FDDI_SMT_STATION_ID 0x03030201
2482 +#define OID_FDDI_SMT_OP_VERSION_ID 0x03030202
2483 +#define OID_FDDI_SMT_HI_VERSION_ID 0x03030203
2484 +#define OID_FDDI_SMT_LO_VERSION_ID 0x03030204
2485 +#define OID_FDDI_SMT_MANUFACTURER_DATA 0x03030205
2486 +#define OID_FDDI_SMT_USER_DATA 0x03030206
2487 +#define OID_FDDI_SMT_MIB_VERSION_ID 0x03030207
2488 +#define OID_FDDI_SMT_MAC_CT 0x03030208
2489 +#define OID_FDDI_SMT_NON_MASTER_CT 0x03030209
2490 +#define OID_FDDI_SMT_MASTER_CT 0x0303020a
2491 +#define OID_FDDI_SMT_AVAILABLE_PATHS 0x0303020b
2492 +#define OID_FDDI_SMT_CONFIG_CAPABILITIES 0x0303020c
2493 +#define OID_FDDI_SMT_CONFIG_POLICY 0x0303020d
2494 +#define OID_FDDI_SMT_CONNECTION_POLICY 0x0303020e
2495 +#define OID_FDDI_SMT_T_NOTIFY 0x0303020f
2496 +#define OID_FDDI_SMT_STAT_RPT_POLICY 0x03030210
2497 +#define OID_FDDI_SMT_TRACE_MAX_EXPIRATION 0x03030211
2498 +#define OID_FDDI_SMT_PORT_INDEXES 0x03030212
2499 +#define OID_FDDI_SMT_MAC_INDEXES 0x03030213
2500 +#define OID_FDDI_SMT_BYPASS_PRESENT 0x03030214
2501 +#define OID_FDDI_SMT_ECM_STATE 0x03030215
2502 +#define OID_FDDI_SMT_CF_STATE 0x03030216
2503 +#define OID_FDDI_SMT_HOLD_STATE 0x03030217
2504 +#define OID_FDDI_SMT_REMOTE_DISCONNECT_FLAG 0x03030218
2505 +#define OID_FDDI_SMT_STATION_STATUS 0x03030219
2506 +#define OID_FDDI_SMT_PEER_WRAP_FLAG 0x0303021a
2507 +#define OID_FDDI_SMT_MSG_TIME_STAMP 0x0303021b
2508 +#define OID_FDDI_SMT_TRANSITION_TIME_STAMP 0x0303021c
2509 +#define OID_FDDI_SMT_SET_COUNT 0x0303021d
2510 +#define OID_FDDI_SMT_LAST_SET_STATION_ID 0x0303021e
2511 +#define OID_FDDI_MAC_FRAME_STATUS_FUNCTIONS 0x0303021f
2512 +#define OID_FDDI_MAC_BRIDGE_FUNCTIONS 0x03030220
2513 +#define OID_FDDI_MAC_T_MAX_CAPABILITY 0x03030221
2514 +#define OID_FDDI_MAC_TVX_CAPABILITY 0x03030222
2515 +#define OID_FDDI_MAC_AVAILABLE_PATHS 0x03030223
2516 +#define OID_FDDI_MAC_CURRENT_PATH 0x03030224
2517 +#define OID_FDDI_MAC_UPSTREAM_NBR 0x03030225
2518 +#define OID_FDDI_MAC_DOWNSTREAM_NBR 0x03030226
2519 +#define OID_FDDI_MAC_OLD_UPSTREAM_NBR 0x03030227
2520 +#define OID_FDDI_MAC_OLD_DOWNSTREAM_NBR 0x03030228
2521 +#define OID_FDDI_MAC_DUP_ADDRESS_TEST 0x03030229
2522 +#define OID_FDDI_MAC_REQUESTED_PATHS 0x0303022a
2523 +#define OID_FDDI_MAC_DOWNSTREAM_PORT_TYPE 0x0303022b
2524 +#define OID_FDDI_MAC_INDEX 0x0303022c
2525 +#define OID_FDDI_MAC_SMT_ADDRESS 0x0303022d
2526 +#define OID_FDDI_MAC_LONG_GRP_ADDRESS 0x0303022e
2527 +#define OID_FDDI_MAC_SHORT_GRP_ADDRESS 0x0303022f
2528 +#define OID_FDDI_MAC_T_REQ 0x03030230
2529 +#define OID_FDDI_MAC_T_NEG 0x03030231
2530 +#define OID_FDDI_MAC_T_MAX 0x03030232
2531 +#define OID_FDDI_MAC_TVX_VALUE 0x03030233
2532 +#define OID_FDDI_MAC_T_PRI0 0x03030234
2533 +#define OID_FDDI_MAC_T_PRI1 0x03030235
2534 +#define OID_FDDI_MAC_T_PRI2 0x03030236
2535 +#define OID_FDDI_MAC_T_PRI3 0x03030237
2536 +#define OID_FDDI_MAC_T_PRI4 0x03030238
2537 +#define OID_FDDI_MAC_T_PRI5 0x03030239
2538 +#define OID_FDDI_MAC_T_PRI6 0x0303023a
2539 +#define OID_FDDI_MAC_FRAME_CT 0x0303023b
2540 +#define OID_FDDI_MAC_COPIED_CT 0x0303023c
2541 +#define OID_FDDI_MAC_TRANSMIT_CT 0x0303023d
2542 +#define OID_FDDI_MAC_TOKEN_CT 0x0303023e
2543 +#define OID_FDDI_MAC_ERROR_CT 0x0303023f
2544 +#define OID_FDDI_MAC_LOST_CT 0x03030240
2545 +#define OID_FDDI_MAC_TVX_EXPIRED_CT 0x03030241
2546 +#define OID_FDDI_MAC_NOT_COPIED_CT 0x03030242
2547 +#define OID_FDDI_MAC_LATE_CT 0x03030243
2548 +#define OID_FDDI_MAC_RING_OP_CT 0x03030244
2549 +#define OID_FDDI_MAC_FRAME_ERROR_THRESHOLD 0x03030245
2550 +#define OID_FDDI_MAC_FRAME_ERROR_RATIO 0x03030246
2551 +#define OID_FDDI_MAC_NOT_COPIED_THRESHOLD 0x03030247
2552 +#define OID_FDDI_MAC_NOT_COPIED_RATIO 0x03030248
2553 +#define OID_FDDI_MAC_RMT_STATE 0x03030249
2554 +#define OID_FDDI_MAC_DA_FLAG 0x0303024a
2555 +#define OID_FDDI_MAC_UNDA_FLAG 0x0303024b
2556 +#define OID_FDDI_MAC_FRAME_ERROR_FLAG 0x0303024c
2557 +#define OID_FDDI_MAC_NOT_COPIED_FLAG 0x0303024d
2558 +#define OID_FDDI_MAC_MA_UNITDATA_AVAILABLE 0x0303024e
2559 +#define OID_FDDI_MAC_HARDWARE_PRESENT 0x0303024f
2560 +#define OID_FDDI_MAC_MA_UNITDATA_ENABLE 0x03030250
2561 +#define OID_FDDI_PATH_INDEX 0x03030251
2562 +#define OID_FDDI_PATH_RING_LATENCY 0x03030252
2563 +#define OID_FDDI_PATH_TRACE_STATUS 0x03030253
2564 +#define OID_FDDI_PATH_SBA_PAYLOAD 0x03030254
2565 +#define OID_FDDI_PATH_SBA_OVERHEAD 0x03030255
2566 +#define OID_FDDI_PATH_CONFIGURATION 0x03030256
2567 +#define OID_FDDI_PATH_T_R_MODE 0x03030257
2568 +#define OID_FDDI_PATH_SBA_AVAILABLE 0x03030258
2569 +#define OID_FDDI_PATH_TVX_LOWER_BOUND 0x03030259
2570 +#define OID_FDDI_PATH_T_MAX_LOWER_BOUND 0x0303025a
2571 +#define OID_FDDI_PATH_MAX_T_REQ 0x0303025b
2572 +#define OID_FDDI_PORT_MY_TYPE 0x0303025c
2573 +#define OID_FDDI_PORT_NEIGHBOR_TYPE 0x0303025d
2574 +#define OID_FDDI_PORT_CONNECTION_POLICIES 0x0303025e
2575 +#define OID_FDDI_PORT_MAC_INDICATED 0x0303025f
2576 +#define OID_FDDI_PORT_CURRENT_PATH 0x03030260
2577 +#define OID_FDDI_PORT_REQUESTED_PATHS 0x03030261
2578 +#define OID_FDDI_PORT_MAC_PLACEMENT 0x03030262
2579 +#define OID_FDDI_PORT_AVAILABLE_PATHS 0x03030263
2580 +#define OID_FDDI_PORT_MAC_LOOP_TIME 0x03030264
2581 +#define OID_FDDI_PORT_PMD_CLASS 0x03030265
2582 +#define OID_FDDI_PORT_CONNECTION_CAPABILITIES 0x03030266
2583 +#define OID_FDDI_PORT_INDEX 0x03030267
2584 +#define OID_FDDI_PORT_MAINT_LS 0x03030268
2585 +#define OID_FDDI_PORT_BS_FLAG 0x03030269
2586 +#define OID_FDDI_PORT_PC_LS 0x0303026a
2587 +#define OID_FDDI_PORT_EB_ERROR_CT 0x0303026b
2588 +#define OID_FDDI_PORT_LCT_FAIL_CT 0x0303026c
2589 +#define OID_FDDI_PORT_LER_ESTIMATE 0x0303026d
2590 +#define OID_FDDI_PORT_LEM_REJECT_CT 0x0303026e
2591 +#define OID_FDDI_PORT_LEM_CT 0x0303026f
2592 +#define OID_FDDI_PORT_LER_CUTOFF 0x03030270
2593 +#define OID_FDDI_PORT_LER_ALARM 0x03030271
2594 +#define OID_FDDI_PORT_CONNNECT_STATE 0x03030272
2595 +#define OID_FDDI_PORT_PCM_STATE 0x03030273
2596 +#define OID_FDDI_PORT_PC_WITHHOLD 0x03030274
2597 +#define OID_FDDI_PORT_LER_FLAG 0x03030275
2598 +#define OID_FDDI_PORT_HARDWARE_PRESENT 0x03030276
2599 +#define OID_FDDI_SMT_STATION_ACTION 0x03030277
2600 +#define OID_FDDI_PORT_ACTION 0x03030278
2601 +#define OID_FDDI_IF_DESCR 0x03030279
2602 +#define OID_FDDI_IF_TYPE 0x0303027a
2603 +#define OID_FDDI_IF_MTU 0x0303027b
2604 +#define OID_FDDI_IF_SPEED 0x0303027c
2605 +#define OID_FDDI_IF_PHYS_ADDRESS 0x0303027d
2606 +#define OID_FDDI_IF_ADMIN_STATUS 0x0303027e
2607 +#define OID_FDDI_IF_OPER_STATUS 0x0303027f
2608 +#define OID_FDDI_IF_LAST_CHANGE 0x03030280
2609 +#define OID_FDDI_IF_IN_OCTETS 0x03030281
2610 +#define OID_FDDI_IF_IN_UCAST_PKTS 0x03030282
2611 +#define OID_FDDI_IF_IN_NUCAST_PKTS 0x03030283
2612 +#define OID_FDDI_IF_IN_DISCARDS 0x03030284
2613 +#define OID_FDDI_IF_IN_ERRORS 0x03030285
2614 +#define OID_FDDI_IF_IN_UNKNOWN_PROTOS 0x03030286
2615 +#define OID_FDDI_IF_OUT_OCTETS 0x03030287
2616 +#define OID_FDDI_IF_OUT_UCAST_PKTS 0x03030288
2617 +#define OID_FDDI_IF_OUT_NUCAST_PKTS 0x03030289
2618 +#define OID_FDDI_IF_OUT_DISCARDS 0x0303028a
2619 +#define OID_FDDI_IF_OUT_ERRORS 0x0303028b
2620 +#define OID_FDDI_IF_OUT_QLEN 0x0303028c
2621 +#define OID_FDDI_IF_SPECIFIC 0x0303028d
2623 +#define OID_WAN_PERMANENT_ADDRESS 0x04010101
2624 +#define OID_WAN_CURRENT_ADDRESS 0x04010102
2625 +#define OID_WAN_QUALITY_OF_SERVICE 0x04010103
2626 +#define OID_WAN_PROTOCOL_TYPE 0x04010104
2627 +#define OID_WAN_MEDIUM_SUBTYPE 0x04010105
2628 +#define OID_WAN_HEADER_FORMAT 0x04010106
2630 +#define OID_WAN_GET_INFO 0x04010107
2631 +#define OID_WAN_SET_LINK_INFO 0x04010108
2632 +#define OID_WAN_GET_LINK_INFO 0x04010109
2633 +#define OID_WAN_LINE_COUNT 0x0401010a
2634 +#define OID_WAN_PROTOCOL_CAPS 0x0401010b
2636 +#define OID_WAN_GET_BRIDGE_INFO 0x0401020a
2637 +#define OID_WAN_SET_BRIDGE_INFO 0x0401020b
2638 +#define OID_WAN_GET_COMP_INFO 0x0401020c
2639 +#define OID_WAN_SET_COMP_INFO 0x0401020d
2640 +#define OID_WAN_GET_STATS_INFO 0x0401020e
2642 +#define OID_WAN_CO_GET_INFO 0x04010180
2643 +#define OID_WAN_CO_SET_LINK_INFO 0x04010181
2644 +#define OID_WAN_CO_GET_LINK_INFO 0x04010182
2645 +#define OID_WAN_CO_GET_COMP_INFO 0x04010280
2646 +#define OID_WAN_CO_SET_COMP_INFO 0x04010281
2647 +#define OID_WAN_CO_GET_STATS_INFO 0x04010282
2649 +#define OID_LTALK_CURRENT_NODE_ID 0x05010102
2651 +#define OID_LTALK_IN_BROADCASTS 0x05020101
2652 +#define OID_LTALK_IN_LENGTH_ERRORS 0x05020102
2654 +#define OID_LTALK_OUT_NO_HANDLERS 0x05020201
2655 +#define OID_LTALK_COLLISIONS 0x05020202
2656 +#define OID_LTALK_DEFERS 0x05020203
2657 +#define OID_LTALK_NO_DATA_ERRORS 0x05020204
2658 +#define OID_LTALK_RANDOM_CTS_ERRORS 0x05020205
2659 +#define OID_LTALK_FCS_ERRORS 0x05020206
2661 +#define OID_ARCNET_PERMANENT_ADDRESS 0x06010101
2662 +#define OID_ARCNET_CURRENT_ADDRESS 0x06010102
2664 +#define OID_ARCNET_RECONFIGURATIONS 0x06020201
2666 +#define OID_TAPI_ACCEPT 0x07030101
2667 +#define OID_TAPI_ANSWER 0x07030102
2668 +#define OID_TAPI_CLOSE 0x07030103
2669 +#define OID_TAPI_CLOSE_CALL 0x07030104
2670 +#define OID_TAPI_CONDITIONAL_MEDIA_DETECTION 0x07030105
2671 +#define OID_TAPI_CONFIG_DIALOG 0x07030106
2672 +#define OID_TAPI_DEV_SPECIFIC 0x07030107
2673 +#define OID_TAPI_DIAL 0x07030108
2674 +#define OID_TAPI_DROP 0x07030109
2675 +#define OID_TAPI_GET_ADDRESS_CAPS 0x0703010a
2676 +#define OID_TAPI_GET_ADDRESS_ID 0x0703010b
2677 +#define OID_TAPI_GET_ADDRESS_STATUS 0x0703010c
2678 +#define OID_TAPI_GET_CALL_ADDRESS_ID 0x0703010d
2679 +#define OID_TAPI_GET_CALL_INFO 0x0703010e
2680 +#define OID_TAPI_GET_CALL_STATUS 0x0703010f
2681 +#define OID_TAPI_GET_DEV_CAPS 0x07030110
2682 +#define OID_TAPI_GET_DEV_CONFIG 0x07030111
2683 +#define OID_TAPI_GET_EXTENSION_ID 0x07030112
2684 +#define OID_TAPI_GET_ID 0x07030113
2685 +#define OID_TAPI_GET_LINE_DEV_STATUS 0x07030114
2686 +#define OID_TAPI_MAKE_CALL 0x07030115
2687 +#define OID_TAPI_NEGOTIATE_EXT_VERSION 0x07030116
2688 +#define OID_TAPI_OPEN 0x07030117
2689 +#define OID_TAPI_PROVIDER_INITIALIZE 0x07030118
2690 +#define OID_TAPI_PROVIDER_SHUTDOWN 0x07030119
2691 +#define OID_TAPI_SECURE_CALL 0x0703011a
2692 +#define OID_TAPI_SELECT_EXT_VERSION 0x0703011b
2693 +#define OID_TAPI_SEND_USER_USER_INFO 0x0703011c
2694 +#define OID_TAPI_SET_APP_SPECIFIC 0x0703011d
2695 +#define OID_TAPI_SET_CALL_PARAMS 0x0703011e
2696 +#define OID_TAPI_SET_DEFAULT_MEDIA_DETECTION 0x0703011f
2697 +#define OID_TAPI_SET_DEV_CONFIG 0x07030120
2698 +#define OID_TAPI_SET_MEDIA_MODE 0x07030121
2699 +#define OID_TAPI_SET_STATUS_MESSAGES 0x07030122
2700 +#define OID_TAPI_GATHER_DIGITS 0x07030123
2701 +#define OID_TAPI_MONITOR_DIGITS 0x07030124
2703 +#define OID_ATM_SUPPORTED_VC_RATES 0x08010101
2704 +#define OID_ATM_SUPPORTED_SERVICE_CATEGORY 0x08010102
2705 +#define OID_ATM_SUPPORTED_AAL_TYPES 0x08010103
2706 +#define OID_ATM_HW_CURRENT_ADDRESS 0x08010104
2707 +#define OID_ATM_MAX_ACTIVE_VCS 0x08010105
2708 +#define OID_ATM_MAX_ACTIVE_VCI_BITS 0x08010106
2709 +#define OID_ATM_MAX_ACTIVE_VPI_BITS 0x08010107
2710 +#define OID_ATM_MAX_AAL0_PACKET_SIZE 0x08010108
2711 +#define OID_ATM_MAX_AAL1_PACKET_SIZE 0x08010109
2712 +#define OID_ATM_MAX_AAL34_PACKET_SIZE 0x0801010a
2713 +#define OID_ATM_MAX_AAL5_PACKET_SIZE 0x0801010b
2715 +#define OID_ATM_SIGNALING_VPIVCI 0x08010201
2716 +#define OID_ATM_ASSIGNED_VPI 0x08010202
2717 +#define OID_ATM_ACQUIRE_ACCESS_NET_RESOURCES 0x08010203
2718 +#define OID_ATM_RELEASE_ACCESS_NET_RESOURCES 0x08010204
2719 +#define OID_ATM_ILMI_VPIVCI 0x08010205
2720 +#define OID_ATM_DIGITAL_BROADCAST_VPIVCI 0x08010206
2721 +#define OID_ATM_GET_NEAREST_FLOW 0x08010207
2722 +#define OID_ATM_ALIGNMENT_REQUIRED 0x08010208
2723 +#define OID_ATM_LECS_ADDRESS 0x08010209
2724 +#define OID_ATM_SERVICE_ADDRESS 0x0801020a
2726 +#define OID_ATM_CALL_PROCEEDING 0x0801020b
2727 +#define OID_ATM_CALL_ALERTING 0x0801020c
2728 +#define OID_ATM_PARTY_ALERTING 0x0801020d
2729 +#define OID_ATM_CALL_NOTIFY 0x0801020e
2731 +#define OID_ATM_MY_IP_NM_ADDRESS 0x0801020f
2733 +#define OID_ATM_RCV_CELLS_OK 0x08020101
2734 +#define OID_ATM_XMIT_CELLS_OK 0x08020102
2735 +#define OID_ATM_RCV_CELLS_DROPPED 0x08020103
2737 +#define OID_ATM_RCV_INVALID_VPI_VCI 0x08020201
2738 +#define OID_ATM_CELLS_HEC_ERROR 0x08020202
2739 +#define OID_ATM_RCV_REASSEMBLY_ERROR 0x08020203
2741 +#define OID_802_11_BSSID 0x0d010101
2742 +#define OID_802_11_SSID 0x0d010102
2743 +#define OID_802_11_NETWORK_TYPES_SUPPORTED 0x0d010203
2744 +#define OID_802_11_NETWORK_TYPE_IN_USE 0x0d010204
2745 +#define OID_802_11_TX_POWER_LEVEL 0x0d010205
2746 +#define OID_802_11_RSSI 0x0d010206
2747 +#define OID_802_11_RSSI_TRIGGER 0x0d010207
2748 +#define OID_802_11_INFRASTRUCTURE_MODE 0x0d010108
2749 +#define OID_802_11_FRAGMENTATION_THRESHOLD 0x0d010209
2750 +#define OID_802_11_RTS_THRESHOLD 0x0d01020a
2751 +#define OID_802_11_NUMBER_OF_ANTENNAS 0x0d01020b
2752 +#define OID_802_11_RX_ANTENNA_SELECTED 0x0d01020c
2753 +#define OID_802_11_TX_ANTENNA_SELECTED 0x0d01020d
2754 +#define OID_802_11_SUPPORTED_RATES 0x0d01020e
2755 +#define OID_802_11_DESIRED_RATES 0x0d010210
2756 +#define OID_802_11_CONFIGURATION 0x0d010211
2757 +#define OID_802_11_STATISTICS 0x0d020212
2758 +#define OID_802_11_ADD_WEP 0x0d010113
2759 +#define OID_802_11_REMOVE_WEP 0x0d010114
2760 +#define OID_802_11_DISASSOCIATE 0x0d010115
2761 +#define OID_802_11_POWER_MODE 0x0d010216
2762 +#define OID_802_11_BSSID_LIST 0x0d010217
2763 +#define OID_802_11_AUTHENTICATION_MODE 0x0d010118
2764 +#define OID_802_11_PRIVACY_FILTER 0x0d010119
2765 +#define OID_802_11_BSSID_LIST_SCAN 0x0d01011a
2766 +#define OID_802_11_WEP_STATUS 0x0d01011b
2768 +#define OID_802_11_ENCRYPTION_STATUS OID_802_11_WEP_STATUS
2769 +#define OID_802_11_RELOAD_DEFAULTS 0x0d01011c
2771 +#define OID_802_11_ADD_KEY 0x0d01011d
2772 +#define OID_802_11_REMOVE_KEY 0x0d01011e
2773 +#define OID_802_11_ASSOCIATION_INFORMATION 0x0d01011f
2774 +#define OID_802_11_TEST 0x0d010120
2775 +#define OID_802_11_MEDIA_STREAM_MODE 0x0d010121
2776 +#define OID_802_11_CAPABILITY 0x0d010122
2777 +#define OID_802_11_PMKID 0x0d010123
2778 +#define OID_802_11_NON_BCAST_SSID_LIST 0x0d010124
2779 +#define OID_802_11_RADIO_STATUS 0x0d010125
2781 +#define NDIS_ETH_TYPE_IPV4 0x0800
2782 +#define NDIS_ETH_TYPE_ARP 0x0806
2783 +#define NDIS_ETH_TYPE_IPV6 0x86dd
2784 +#define NDIS_ETH_TYPE_802_1X 0x888e
2785 +#define NDIS_ETH_TYPE_802_1Q 0x8100
2786 +#define NDIS_ETH_TYPE_SLOW_PROTOCOL 0x8809
2788 +#define NDIS_802_11_LENGTH_SSID 32
2789 +#define NDIS_802_11_LENGTH_RATES 8
2790 +#define NDIS_802_11_LENGTH_RATES_EX 16
2792 +#define NDIS_802_11_AUTH_REQUEST_REAUTH 0x01
2793 +#define NDIS_802_11_AUTH_REQUEST_KEYUPDATE 0x02
2794 +#define NDIS_802_11_AUTH_REQUEST_PAIRWISE_ERROR 0x06
2795 +#define NDIS_802_11_AUTH_REQUEST_GROUP_ERROR 0x0e
2796 +#define NDIS_802_11_AUTH_REQUEST_AUTH_FIELDS 0x0f
2798 +#define NDIS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLED 0x01
2800 +#define NDIS_802_11_AI_REQFI_CAPABILITIES 1
2801 +#define NDIS_802_11_AI_REQFI_LISTENINTERVAL 2
2802 +#define NDIS_802_11_AI_REQFI_CURRENTAPADDRESS 4
2804 +#define NDIS_802_11_AI_RESFI_CAPABILITIES 1
2805 +#define NDIS_802_11_AI_RESFI_STATUSCODE 2
2806 +#define NDIS_802_11_AI_RESFI_ASSOCIATIONID 4
2808 + typedef enum _NDIS_802_11_STATUS_TYPE {
2809 + Ndis802_11StatusType_Authentication,
2810 + Ndis802_11StatusType_MediaStreamMode,
2811 + Ndis802_11StatusType_PMKID_CandidateList,
2812 + Ndis802_11StatusTypeMax
2813 + } NDIS_802_11_STATUS_TYPE, *PNDIS_802_11_STATUS_TYPE;
2815 + typedef UCHAR NDIS_802_11_MAC_ADDRESS[6];
2817 + typedef struct _NDIS_802_11_STATUS_INDICATION {
2818 + NDIS_802_11_STATUS_TYPE StatusType;
2819 + } NDIS_802_11_STATUS_INDICATION, *PNDIS_802_11_STATUS_INDICATION;
2821 + typedef struct _NDIS_802_11_AUTHENTICATION_REQUEST {
2823 + NDIS_802_11_MAC_ADDRESS Bssid;
2825 + } NDIS_802_11_AUTHENTICATION_REQUEST, *PNDIS_802_11_AUTHENTICATION_REQUEST;
2827 + typedef struct _PMKID_CANDIDATE {
2828 + NDIS_802_11_MAC_ADDRESS BSSID;
2830 + } PMKID_CANDIDATE, *PPMKID_CANDIDATE;
2832 + typedef struct _NDIS_802_11_PMKID_CANDIDATE_LIST {
2834 + ULONG NumCandidates;
2835 + PMKID_CANDIDATE CandidateList[1];
2836 + } NDIS_802_11_PMKID_CANDIDATE_LIST, *PNDIS_802_11_PMKID_CANDIDATE_LIST;
2838 + typedef enum _NDIS_802_11_NETWORK_TYPE {
2843 + Ndis802_11Automode,
2844 + Ndis802_11NetworkTypeMax
2845 + } NDIS_802_11_NETWORK_TYPE, *PNDIS_802_11_NETWORK_TYPE;
2847 + typedef struct _NDIS_802_11_NETWORK_TYPE_LIST {
2848 + ULONG NumberOfItems;
2849 + NDIS_802_11_NETWORK_TYPE NetworkType [1];
2850 + } NDIS_802_11_NETWORK_TYPE_LIST, *PNDIS_802_11_NETWORK_TYPE_LIST;
2852 + typedef enum _NDIS_802_11_POWER_MODE {
2853 + Ndis802_11PowerModeCAM,
2854 + Ndis802_11PowerModeMAX_PSP,
2855 + Ndis802_11PowerModeFast_PSP,
2856 + Ndis802_11PowerModeMax
2857 + } NDIS_802_11_POWER_MODE, *PNDIS_802_11_POWER_MODE;
2859 + typedef ULONG NDIS_802_11_TX_POWER_LEVEL;
2860 + typedef LONG NDIS_802_11_RSSI;
2862 + typedef struct _NDIS_802_11_CONFIGURATION_FH {
2867 + } NDIS_802_11_CONFIGURATION_FH, *PNDIS_802_11_CONFIGURATION_FH;
2869 + typedef struct _NDIS_802_11_CONFIGURATION {
2871 + ULONG BeaconPeriod;
2874 + NDIS_802_11_CONFIGURATION_FH FHConfig;
2875 + } NDIS_802_11_CONFIGURATION, *PNDIS_802_11_CONFIGURATION;
2877 + typedef struct _NDIS_802_11_STATISTICS {
2879 + LARGE_INTEGER TransmittedFragmentCount;
2880 + LARGE_INTEGER MulticastTransmittedFrameCount;
2881 + LARGE_INTEGER FailedCount;
2882 + LARGE_INTEGER RetryCount;
2883 + LARGE_INTEGER MultipleRetryCount;
2884 + LARGE_INTEGER RTSSuccessCount;
2885 + LARGE_INTEGER RTSFailureCount;
2886 + LARGE_INTEGER ACKFailureCount;
2887 + LARGE_INTEGER FrameDuplicateCount;
2888 + LARGE_INTEGER ReceivedFragmentCount;
2889 + LARGE_INTEGER MulticastReceivedFrameCount;
2890 + LARGE_INTEGER FCSErrorCount;
2891 + LARGE_INTEGER TKIPLocalMICFailures;
2892 + LARGE_INTEGER TKIPICVErrorCount;
2893 + LARGE_INTEGER TKIPCounterMeasuresInvoked;
2894 + LARGE_INTEGER TKIPReplays;
2895 + LARGE_INTEGER CCMPFormatErrors;
2896 + LARGE_INTEGER CCMPReplays;
2897 + LARGE_INTEGER CCMPDecryptErrors;
2898 + LARGE_INTEGER FourWayHandshakeFailures;
2899 + LARGE_INTEGER WEPUndecryptableCount;
2900 + LARGE_INTEGER WEPICVErrorCount;
2901 + LARGE_INTEGER DecryptSuccessCount;
2902 + LARGE_INTEGER DecryptFailureCount;
2903 + } NDIS_802_11_STATISTICS, *PNDIS_802_11_STATISTICS;
2905 + typedef ULONG NDIS_802_11_KEY_INDEX;
2906 + typedef ULONGLONG NDIS_802_11_KEY_RSC;
2908 + typedef struct _NDIS_802_11_KEY {
2912 + NDIS_802_11_MAC_ADDRESS BSSID;
2913 + NDIS_802_11_KEY_RSC KeyRSC;
2914 + UCHAR KeyMaterial[1];
2915 + } NDIS_802_11_KEY, *PNDIS_802_11_KEY;
2917 + typedef struct _NDIS_802_11_REMOVE_KEY {
2920 + NDIS_802_11_MAC_ADDRESS BSSID;
2921 + } NDIS_802_11_REMOVE_KEY, *PNDIS_802_11_REMOVE_KEY;
2922 + typedef struct _NDIS_802_11_WEP {
2926 + UCHAR KeyMaterial[1];
2927 + } NDIS_802_11_WEP, *PNDIS_802_11_WEP;
2929 + typedef enum _NDIS_802_11_NETWORK_INFRASTRUCTURE {
2931 + Ndis802_11Infrastructure,
2932 + Ndis802_11AutoUnknown,
2933 + Ndis802_11InfrastructureMax
2934 + } NDIS_802_11_NETWORK_INFRASTRUCTURE, *PNDIS_802_11_NETWORK_INFRASTRUCTURE;
2936 + typedef enum _NDIS_802_11_AUTHENTICATION_MODE {
2937 + Ndis802_11AuthModeOpen,
2938 + Ndis802_11AuthModeShared,
2939 + Ndis802_11AuthModeAutoSwitch,
2940 + Ndis802_11AuthModeWPA,
2941 + Ndis802_11AuthModeWPAPSK,
2942 + Ndis802_11AuthModeWPANone,
2943 + Ndis802_11AuthModeWPA2,
2944 + Ndis802_11AuthModeWPA2PSK,
2945 + Ndis802_11AuthModeMax
2946 + } NDIS_802_11_AUTHENTICATION_MODE, *PNDIS_802_11_AUTHENTICATION_MODE;
2948 + typedef UCHAR NDIS_802_11_RATES[NDIS_802_11_LENGTH_RATES];
2949 + typedef UCHAR NDIS_802_11_RATES_EX[NDIS_802_11_LENGTH_RATES_EX];
2951 + typedef struct _NDIS_802_11_SSID {
2953 + UCHAR Ssid[NDIS_802_11_LENGTH_SSID];
2954 + } NDIS_802_11_SSID, *PNDIS_802_11_SSID;
2956 + typedef struct _NDIS_WLAN_BSSID {
2958 + NDIS_802_11_MAC_ADDRESS MacAddress;
2959 + UCHAR Reserved[2];
2960 + NDIS_802_11_SSID Ssid;
2962 + NDIS_802_11_RSSI Rssi;
2963 + NDIS_802_11_NETWORK_TYPE NetworkTypeInUse;
2964 + NDIS_802_11_CONFIGURATION Configuration;
2965 + NDIS_802_11_NETWORK_INFRASTRUCTURE InfrastructureMode;
2966 + NDIS_802_11_RATES SupportedRates;
2967 + } NDIS_WLAN_BSSID, *PNDIS_WLAN_BSSID;
2969 + typedef struct _NDIS_802_11_BSSID_LIST {
2970 + ULONG NumberOfItems;
2971 + NDIS_WLAN_BSSID Bssid[1];
2972 + } NDIS_802_11_BSSID_LIST, *PNDIS_802_11_BSSID_LIST;
2974 + typedef struct _NDIS_WLAN_BSSID_EX {
2976 + NDIS_802_11_MAC_ADDRESS MacAddress;
2977 + UCHAR Reserved[2];
2978 + NDIS_802_11_SSID Ssid;
2980 + NDIS_802_11_RSSI Rssi;
2981 + NDIS_802_11_NETWORK_TYPE NetworkTypeInUse;
2982 + NDIS_802_11_CONFIGURATION Configuration;
2983 + NDIS_802_11_NETWORK_INFRASTRUCTURE InfrastructureMode;
2984 + NDIS_802_11_RATES_EX SupportedRates;
2987 + } NDIS_WLAN_BSSID_EX, *PNDIS_WLAN_BSSID_EX;
2989 + typedef struct _NDIS_802_11_BSSID_LIST_EX {
2990 + ULONG NumberOfItems;
2991 + NDIS_WLAN_BSSID_EX Bssid[1];
2992 + } NDIS_802_11_BSSID_LIST_EX, *PNDIS_802_11_BSSID_LIST_EX;
2994 + typedef struct _NDIS_802_11_FIXED_IEs {
2995 + UCHAR Timestamp[8];
2996 + USHORT BeaconInterval;
2997 + USHORT Capabilities;
2998 + } NDIS_802_11_FIXED_IEs, *PNDIS_802_11_FIXED_IEs;
3000 + typedef struct _NDIS_802_11_VARIABLE_IEs {
3004 + } NDIS_802_11_VARIABLE_IEs, *PNDIS_802_11_VARIABLE_IEs;
3006 + typedef ULONG NDIS_802_11_FRAGMENTATION_THRESHOLD;
3007 + typedef ULONG NDIS_802_11_RTS_THRESHOLD;
3008 + typedef ULONG NDIS_802_11_ANTENNA;
3010 + typedef enum _NDIS_802_11_PRIVACY_FILTER {
3011 + Ndis802_11PrivFilterAcceptAll,
3012 + Ndis802_11PrivFilter8021xWEP
3013 + } NDIS_802_11_PRIVACY_FILTER, *PNDIS_802_11_PRIVACY_FILTER;
3015 + typedef enum _NDIS_802_11_WEP_STATUS {
3016 + Ndis802_11WEPEnabled,
3017 + Ndis802_11Encryption1Enabled = Ndis802_11WEPEnabled,
3018 + Ndis802_11WEPDisabled,
3019 + Ndis802_11EncryptionDisabled = Ndis802_11WEPDisabled,
3020 + Ndis802_11WEPKeyAbsent,
3021 + Ndis802_11Encryption1KeyAbsent = Ndis802_11WEPKeyAbsent,
3022 + Ndis802_11WEPNotSupported,
3023 + Ndis802_11EncryptionNotSupported = Ndis802_11WEPNotSupported,
3024 + Ndis802_11Encryption2Enabled,
3025 + Ndis802_11Encryption2KeyAbsent,
3026 + Ndis802_11Encryption3Enabled,
3027 + Ndis802_11Encryption3KeyAbsent
3028 + } NDIS_802_11_WEP_STATUS, *PNDIS_802_11_WEP_STATUS, NDIS_802_11_ENCRYPTION_STATUS, *PNDIS_802_11_ENCRYPTION_STATUS;
3030 + typedef enum _NDIS_802_11_RELOAD_DEFAULTS {
3031 + Ndis802_11ReloadWEPKeys
3032 + } NDIS_802_11_RELOAD_DEFAULTS, *PNDIS_802_11_RELOAD_DEFAULTS;
3034 + typedef struct _NDIS_802_11_AI_REQFI {
3035 + USHORT Capabilities;
3036 + USHORT ListenInterval;
3037 + NDIS_802_11_MAC_ADDRESS CurrentAPAddress;
3038 + } NDIS_802_11_AI_REQFI, *PNDIS_802_11_AI_REQFI;
3040 + typedef struct _NDIS_802_11_AI_RESFI {
3041 + USHORT Capabilities;
3042 + USHORT StatusCode;
3043 + USHORT AssociationId;
3044 + } NDIS_802_11_AI_RESFI, *PNDIS_802_11_AI_RESFI;
3046 + typedef struct _NDIS_802_11_ASSOCIATION_INFORMATION {
3048 + USHORT AvailableRequestFixedIEs;
3049 + NDIS_802_11_AI_REQFI RequestFixedIEs;
3050 + ULONG RequestIELength;
3051 + ULONG OffsetRequestIEs;
3052 + USHORT AvailableResponseFixedIEs;
3053 + NDIS_802_11_AI_RESFI ResponseFixedIEs;
3054 + ULONG ResponseIELength;
3055 + ULONG OffsetResponseIEs;
3056 + } NDIS_802_11_ASSOCIATION_INFORMATION, *PNDIS_802_11_ASSOCIATION_INFORMATION;
3058 + typedef struct _NDIS_802_11_AUTHENTICATION_EVENT {
3059 + NDIS_802_11_STATUS_INDICATION Status;
3060 + NDIS_802_11_AUTHENTICATION_REQUEST Request[1];
3061 + } NDIS_802_11_AUTHENTICATION_EVENT, *PNDIS_802_11_AUTHENTICATION_EVENT;
3063 + typedef struct _NDIS_802_11_TEST {
3066 + _ANONYMOUS_UNION union {
3067 + NDIS_802_11_AUTHENTICATION_EVENT AuthenticationEvent;
3068 + NDIS_802_11_RSSI RssiTrigger;
3070 + } NDIS_802_11_TEST, *PNDIS_802_11_TEST;
3072 + typedef enum _NDIS_802_11_MEDIA_STREAM_MODE {
3073 + Ndis802_11MediaStreamOff,
3074 + Ndis802_11MediaStreamOn,
3075 + } NDIS_802_11_MEDIA_STREAM_MODE, *PNDIS_802_11_MEDIA_STREAM_MODE;
3077 + typedef UCHAR NDIS_802_11_PMKID_VALUE[16];
3079 + typedef struct _BSSID_INFO {
3080 + NDIS_802_11_MAC_ADDRESS BSSID;
3081 + NDIS_802_11_PMKID_VALUE PMKID;
3082 + } BSSID_INFO, *PBSSID_INFO;
3084 + typedef struct _NDIS_802_11_PMKID {
3086 + ULONG BSSIDInfoCount;
3087 + BSSID_INFO BSSIDInfo[1];
3088 + } NDIS_802_11_PMKID, *PNDIS_802_11_PMKID;
3090 + typedef struct _NDIS_802_11_AUTHENTICATION_ENCRYPTION {
3091 + NDIS_802_11_AUTHENTICATION_MODE AuthModeSupported;
3092 + NDIS_802_11_ENCRYPTION_STATUS EncryptStatusSupported;
3093 + } NDIS_802_11_AUTHENTICATION_ENCRYPTION, *PNDIS_802_11_AUTHENTICATION_ENCRYPTION;
3095 + typedef struct _NDIS_802_11_CAPABILITY {
3099 + ULONG NoOfAuthEncryptPairsSupported;
3100 + NDIS_802_11_AUTHENTICATION_ENCRYPTION AuthenticationEncryptionSupported[1];
3101 + } NDIS_802_11_CAPABILITY, *PNDIS_802_11_CAPABILITY;
3103 + typedef struct _NDIS_802_11_NON_BCAST_SSID_LIST {
3104 + ULONG NumberOfItems;
3105 + NDIS_802_11_SSID Non_Bcast_Ssid[1];
3106 + } NDIS_802_11_NON_BCAST_SSID_LIST, *PNDIS_802_11_NON_BCAST_SSID_LIST;
3108 + typedef enum _NDIS_802_11_RADIO_STATUS {
3109 + Ndis802_11RadioStatusOn,
3110 + Ndis802_11RadioStatusHardwareOff,
3111 + Ndis802_11RadioStatusSoftwareOff,
3112 + Ndis802_11RadioStatusHardwareSoftwareOff,
3113 + Ndis802_11RadioStatusMax
3114 + } NDIS_802_11_RADIO_STATUS, *PNDIS_802_11_RADIO_STATUS;
3116 +#define OID_IRDA_RECEIVING 0x0a010100
3117 +#define OID_IRDA_TURNAROUND_TIME 0x0a010101
3118 +#define OID_IRDA_SUPPORTED_SPEEDS 0x0a010102
3119 +#define OID_IRDA_LINK_SPEED 0x0a010103
3120 +#define OID_IRDA_MEDIA_BUSY 0x0a010104
3122 +#define OID_IRDA_EXTRA_RCV_BOFS 0x0a010200
3123 +#define OID_IRDA_RATE_SNIFF 0x0a010201
3124 +#define OID_IRDA_UNICAST_LIST 0x0a010202
3125 +#define OID_IRDA_MAX_UNICAST_LIST_SIZE 0x0a010203
3126 +#define OID_IRDA_MAX_RECEIVE_WINDOW_SIZE 0x0a010204
3127 +#define OID_IRDA_MAX_SEND_WINDOW_SIZE 0x0a010205
3128 +#define OID_IRDA_RESERVED1 0x0a01020a
3129 +#define OID_IRDA_RESERVED2 0x0a01020f
3131 +#define OID_1394_LOCAL_NODE_INFO 0x0c010101
3132 +#define OID_1394_VC_INFO 0x0c010102
3134 +#define OID_CO_ADD_PVC 0xfe000001
3135 +#define OID_CO_DELETE_PVC 0xfe000002
3136 +#define OID_CO_GET_CALL_INFORMATION 0xfe000003
3137 +#define OID_CO_ADD_ADDRESS 0xfe000004
3138 +#define OID_CO_DELETE_ADDRESS 0xfe000005
3139 +#define OID_CO_GET_ADDRESSES 0xfe000006
3140 +#define OID_CO_ADDRESS_CHANGE 0xfe000007
3141 +#define OID_CO_SIGNALING_ENABLED 0xfe000008
3142 +#define OID_CO_SIGNALING_DISABLED 0xfe000009
3143 +#define OID_CO_AF_CLOSE 0xfe00000a
3145 +#define OID_CO_TAPI_CM_CAPS 0xfe001001
3146 +#define OID_CO_TAPI_LINE_CAPS 0xfe001002
3147 +#define OID_CO_TAPI_ADDRESS_CAPS 0xfe001003
3148 +#define OID_CO_TAPI_TRANSLATE_TAPI_CALLPARAMS 0xfe001004
3149 +#define OID_CO_TAPI_TRANSLATE_NDIS_CALLPARAMS 0xfe001005
3150 +#define OID_CO_TAPI_TRANSLATE_TAPI_SAP 0xfe001006
3151 +#define OID_CO_TAPI_GET_CALL_DIAGNOSTICS 0xfe001007
3152 +#define OID_CO_TAPI_REPORT_DIGITS 0xfe001008
3153 +#define OID_CO_TAPI_DONT_REPORT_DIGITS 0xfe001009
3155 +#define OID_PNP_CAPABILITIES 0xfd010100
3156 +#define OID_PNP_SET_POWER 0xfd010101
3157 +#define OID_PNP_QUERY_POWER 0xfd010102
3158 +#define OID_PNP_ADD_WAKE_UP_PATTERN 0xfd010103
3159 +#define OID_PNP_REMOVE_WAKE_UP_PATTERN 0xfd010104
3160 +#define OID_PNP_WAKE_UP_PATTERN_LIST 0xfd010105
3161 +#define OID_PNP_ENABLE_WAKE_UP 0xfd010106
3163 +#define OID_PNP_WAKE_UP_OK 0xfd020200
3164 +#define OID_PNP_WAKE_UP_ERROR 0xfd020201
3166 +#if (NTDDI_VERSION >= 0x06010000 || NDIS_SUPPORT_NDIS620)
3167 +#define OID_PM_CURRENT_CAPABILITIES 0xfd010107
3168 +#define OID_PM_HARDWARE_CAPABILITIES 0xfd010108
3169 +#define OID_PM_PARAMETERS 0xfd010109
3170 +#define OID_PM_ADD_WOL_PATTERN 0xfd01010a
3171 +#define OID_PM_REMOVE_WOL_PATTERN 0xfd01010b
3172 +#define OID_PM_WOL_PATTERN_LIST 0xfd01010c
3173 +#define OID_PM_ADD_PROTOCOL_OFFLOAD 0xfd01010d
3174 +#define OID_PM_GET_PROTOCOL_OFFLOAD 0xfd01010e
3175 +#define OID_PM_REMOVE_PROTOCOL_OFFLOAD 0xfd01010f
3176 +#define OID_PM_PROTOCOL_OFFLOAD_LIST 0xfd010110
3177 +#define OID_PM_RESERVED_1 0xfd010111
3179 +#define OID_RECEIVE_FILTER_HARDWARE_CAPABILITIES 0x00010221
3180 +#define OID_RECEIVE_FILTER_GLOBAL_PARAMETERS 0x00010222
3181 +#define OID_RECEIVE_FILTER_ALLOCATE_QUEUE 0x00010223
3182 +#define OID_RECEIVE_FILTER_FREE_QUEUE 0x00010224
3183 +#define OID_RECEIVE_FILTER_ENUM_QUEUES 0x00010225
3184 +#define OID_RECEIVE_FILTER_QUEUE_PARAMETERS 0x00010226
3185 +#define OID_RECEIVE_FILTER_SET_FILTER 0x00010227
3186 +#define OID_RECEIVE_FILTER_CLEAR_FILTER 0x00010228
3187 +#define OID_RECEIVE_FILTER_ENUM_FILTERS 0x00010229
3188 +#define OID_RECEIVE_FILTER_PARAMETERS 0x0001022a
3189 +#define OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE 0x0001022b
3190 +#define OID_RECEIVE_FILTER_CURRENT_CAPABILITIES 0x0001022d
3191 +#define OID_NIC_SWITCH_HARDWARE_CAPABILITIES 0x0001022e
3192 +#define OID_NIC_SWITCH_CURRENT_CAPABILITIES 0x0001022f
3193 +#if NDIS_SUPPORT_NDIS630
3194 +#define OID_RECEIVE_FILTER_MOVE_FILTER 0x00010230
3196 +#define OID_VLAN_RESERVED1 0x00010231
3197 +#define OID_VLAN_RESERVED2 0x00010232
3198 +#define OID_VLAN_RESERVED3 0x00010233
3199 +#define OID_VLAN_RESERVED4 0x00010234
3200 +#if NDIS_SUPPORT_NDIS630
3201 +#define OID_PACKET_COALESCING_FILTER_MATCH_COUNT 0x00010235
3205 +#if NTDDI_VERSION >= 0x06020000 || NDIS_SUPPORT_NDIS630
3206 +#define OID_NIC_SWITCH_CREATE_SWITCH 0x00010237
3207 +#define OID_NIC_SWITCH_PARAMETERS 0x00010238
3208 +#define OID_NIC_SWITCH_DELETE_SWITCH 0x00010239
3209 +#define OID_NIC_SWITCH_ENUM_SWITCHES 0x00010240
3210 +#define OID_NIC_SWITCH_CREATE_VPORT 0x00010241
3211 +#define OID_NIC_SWITCH_VPORT_PARAMETERS 0x00010242
3212 +#define OID_NIC_SWITCH_ENUM_VPORTS 0x00010243
3213 +#define OID_NIC_SWITCH_DELETE_VPORT 0x00010244
3214 +#define OID_NIC_SWITCH_ALLOCATE_VF 0x00010245
3215 +#define OID_NIC_SWITCH_FREE_VF 0x00010246
3216 +#define OID_NIC_SWITCH_VF_PARAMETERS 0x00010247
3217 +#define OID_NIC_SWITCH_ENUM_VFS 0x00010248
3219 +#define OID_SRIOV_HARDWARE_CAPABILITIES 0x00010249
3220 +#define OID_SRIOV_CURRENT_CAPABILITIES 0x00010250
3221 +#define OID_SRIOV_READ_VF_CONFIG_SPACE 0x00010251
3222 +#define OID_SRIOV_WRITE_VF_CONFIG_SPACE 0x00010252
3223 +#define OID_SRIOV_READ_VF_CONFIG_BLOCK 0x00010253
3224 +#define OID_SRIOV_WRITE_VF_CONFIG_BLOCK 0x00010254
3225 +#define OID_SRIOV_RESET_VF 0x00010255
3226 +#define OID_SRIOV_SET_VF_POWER_STATE 0x00010256
3227 +#define OID_SRIOV_VF_VENDOR_DEVICE_ID 0x00010257
3228 +#define OID_SRIOV_PROBED_BARS 0x00010258
3229 +#define OID_SRIOV_BAR_RESOURCES 0x00010259
3230 +#define OID_SRIOV_PF_LUID 0x00010260
3232 +#define OID_SRIOV_CONFIG_STATE 0x00010261
3233 +#define OID_SRIOV_VF_SERIAL_NUMBER 0x00010262
3234 +#define OID_SRIOV_VF_INVALIDATE_CONFIG_BLOCK 0x00010269
3236 +#define OID_SWITCH_PROPERTY_ADD 0x00010263
3237 +#define OID_SWITCH_PROPERTY_UPDATE 0x00010264
3238 +#define OID_SWITCH_PROPERTY_DELETE 0x00010265
3239 +#define OID_SWITCH_PROPERTY_ENUM 0x00010266
3240 +#define OID_SWITCH_FEATURE_STATUS_QUERY 0x00010267
3242 +#define OID_SWITCH_NIC_REQUEST 0x00010270
3243 +#define OID_SWITCH_PORT_PROPERTY_ADD 0x00010271
3244 +#define OID_SWITCH_PORT_PROPERTY_UPDATE 0x00010272
3245 +#define OID_SWITCH_PORT_PROPERTY_DELETE 0x00010273
3246 +#define OID_SWITCH_PORT_PROPERTY_ENUM 0x00010274
3247 +#define OID_SWITCH_PARAMETERS 0x00010275
3248 +#define OID_SWITCH_PORT_ARRAY 0x00010276
3249 +#define OID_SWITCH_NIC_ARRAY 0x00010277
3250 +#define OID_SWITCH_PORT_CREATE 0x00010278
3251 +#define OID_SWITCH_PORT_DELETE 0x00010279
3252 +#define OID_SWITCH_NIC_CREATE 0x0001027a
3253 +#define OID_SWITCH_NIC_CONNECT 0x0001027b
3254 +#define OID_SWITCH_NIC_DISCONNECT 0x0001027c
3255 +#define OID_SWITCH_NIC_DELETE 0x0001027d
3256 +#define OID_SWITCH_PORT_FEATURE_STATUS_QUERY 0x0001027e
3257 +#define OID_SWITCH_PORT_TEARDOWN 0x0001027f
3258 +#define OID_SWITCH_NIC_SAVE 0x00010290
3259 +#define OID_SWITCH_NIC_SAVE_COMPLETE 0x00010291
3260 +#define OID_SWITCH_NIC_RESTORE 0x00010292
3261 +#define OID_SWITCH_NIC_RESTORE_COMPLETE 0x00010293
3262 +#define OID_SWITCH_NIC_UPDATED 0x00010294
3263 +#define OID_SWITCH_PORT_UPDATED 0x00010295
3266 +#define NDIS_PNP_WAKE_UP_MAGIC_PACKET 0x00000001
3267 +#define NDIS_PNP_WAKE_UP_PATTERN_MATCH 0x00000002
3268 +#define NDIS_PNP_WAKE_UP_LINK_CHANGE 0x00000004
3270 +#define OID_TCP_TASK_OFFLOAD 0xfc010201
3271 +#define OID_TCP_TASK_IPSEC_ADD_SA 0xfc010202
3272 +#define OID_TCP_TASK_IPSEC_DELETE_SA 0xfc010203
3273 +#define OID_TCP_SAN_SUPPORT 0xfc010204
3274 +#define OID_TCP_TASK_IPSEC_ADD_UDPESP_SA 0xfc010205
3275 +#define OID_TCP_TASK_IPSEC_DELETE_UDPESP_SA 0xfc010206
3276 +#define OID_TCP4_OFFLOAD_STATS 0xfc010207
3277 +#define OID_TCP6_OFFLOAD_STATS 0xfc010208
3278 +#define OID_IP4_OFFLOAD_STATS 0xfc010209
3279 +#define OID_IP6_OFFLOAD_STATS 0xfc01020a
3281 +#define OID_TCP_OFFLOAD_CURRENT_CONFIG 0xfc01020b
3282 +#define OID_TCP_OFFLOAD_PARAMETERS 0xfc01020c
3283 +#define OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES 0xfc01020d
3284 +#define OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG 0xfc01020e
3285 +#define OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES 0xfc01020f
3286 +#define OID_OFFLOAD_ENCAPSULATION 0x0101010a
3288 +#if NDIS_SUPPORT_NDIS61
3289 +#define OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA 0xfc030202
3290 +#define OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA 0xfc030203
3291 +#define OID_TCP_TASK_IPSEC_OFFLOAD_V2_UPDATE_SA 0xfc030204
3293 +#if NDIS_SUPPORT_NDIS630
3294 +#define OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA_EX 0xfc030205
3297 +#define OID_FFP_SUPPORT 0xfc010210
3298 +#define OID_FFP_FLUSH 0xfc010211
3299 +#define OID_FFP_CONTROL 0xfc010212
3300 +#define OID_FFP_PARAMS 0xfc010213
3301 +#define OID_FFP_DATA 0xfc010214
3303 +#define OID_FFP_DRIVER_STATS 0xfc020210
3304 +#define OID_FFP_ADAPTER_STATS 0xfc020211
3306 +#define OID_TCP_CONNECTION_OFFLOAD_PARAMETERS 0xfc030201
3308 +#if NTDDI_VERSION >= 0x06010000 || NDIS_SUPPORT_NDIS620
3309 +#define OID_TUNNEL_INTERFACE_SET_OID 0x0f010106
3310 +#define OID_TUNNEL_INTERFACE_RELEASE_OID 0x0f010107
3313 +#define OID_QOS_RESERVED1 0xfb010100
3314 +#define OID_QOS_RESERVED2 0xfb010101
3315 +#define OID_QOS_RESERVED3 0xfb010102
3316 +#define OID_QOS_RESERVED4 0xfb010103
3317 +#define OID_QOS_RESERVED5 0xfb010104
3318 +#define OID_QOS_RESERVED6 0xfb010105
3319 +#define OID_QOS_RESERVED7 0xfb010106
3320 +#define OID_QOS_RESERVED8 0xfb010107
3321 +#define OID_QOS_RESERVED9 0xfb010108
3322 +#define OID_QOS_RESERVED10 0xfb010109
3323 +#define OID_QOS_RESERVED11 0xfb01010a
3324 +#define OID_QOS_RESERVED12 0xfb01010b
3325 +#define OID_QOS_RESERVED13 0xfb01010c
3326 +#define OID_QOS_RESERVED14 0xfb01010d
3327 +#define OID_QOS_RESERVED15 0xfb01010e
3328 +#define OID_QOS_RESERVED16 0xfb01010f
3329 +#define OID_QOS_RESERVED17 0xfb010110
3330 +#define OID_QOS_RESERVED18 0xfb010111
3331 +#define OID_QOS_RESERVED19 0xfb010112
3332 +#define OID_QOS_RESERVED20 0xfb010113
3334 +#define OFFLOAD_MAX_SAS 3
3336 +#define OFFLOAD_INBOUND_SA 0x0001
3337 +#define OFFLOAD_OUTBOUND_SA 0x0002
3339 + typedef struct NDIS_CO_DEVICE_PROFILE {
3340 + NDIS_VAR_DATA_DESC DeviceDescription;
3341 + NDIS_VAR_DATA_DESC DevSpecificInfo;
3342 + ULONG ulTAPISupplementaryPassThru;
3343 + ULONG ulAddressModes;
3344 + ULONG ulNumAddresses;
3345 + ULONG ulBearerModes;
3346 + ULONG ulMaxTxRate;
3347 + ULONG ulMinTxRate;
3348 + ULONG ulMaxRxRate;
3349 + ULONG ulMinRxRate;
3350 + ULONG ulMediaModes;
3351 + ULONG ulGenerateToneModes;
3352 + ULONG ulGenerateToneMaxNumFreq;
3353 + ULONG ulGenerateDigitModes;
3354 + ULONG ulMonitorToneMaxNumFreq;
3355 + ULONG ulMonitorToneMaxNumEntries;
3356 + ULONG ulMonitorDigitModes;
3357 + ULONG ulGatherDigitsMinTimeout;
3358 + ULONG ulGatherDigitsMaxTimeout;
3359 + ULONG ulDevCapFlags;
3360 + ULONG ulMaxNumActiveCalls;
3361 + ULONG ulAnswerMode;
3362 + ULONG ulUUIAcceptSize;
3363 + ULONG ulUUIAnswerSize;
3364 + ULONG ulUUIMakeCallSize;
3365 + ULONG ulUUIDropSize;
3366 + ULONG ulUUISendUserUserInfoSize;
3367 + ULONG ulUUICallInfoSize;
3368 + } NDIS_CO_DEVICE_PROFILE, *PNDIS_CO_DEVICE_PROFILE;
3370 +#ifndef IP_EXPORT_INCLUDED
3371 + typedef ULONG IPAddr, IPMask;
3373 + typedef ULONG SPI_TYPE;
3375 + typedef enum _OFFLOAD_OPERATION_E {
3378 + } OFFLOAD_OPERATION_E;
3380 + typedef struct _OFFLOAD_ALGO_INFO {
3381 + ULONG algoIdentifier;
3384 + } OFFLOAD_ALGO_INFO, *POFFLOAD_ALGO_INFO;
3386 + typedef enum _OFFLOAD_CONF_ALGO {
3387 + OFFLOAD_IPSEC_CONF_NONE,
3388 + OFFLOAD_IPSEC_CONF_DES,
3389 + OFFLOAD_IPSEC_CONF_RESERVED,
3390 + OFFLOAD_IPSEC_CONF_3_DES,
3391 + OFFLOAD_IPSEC_CONF_MAX
3392 + } OFFLOAD_CONF_ALGO;
3394 + typedef enum _OFFLOAD_INTEGRITY_ALGO {
3395 + OFFLOAD_IPSEC_INTEGRITY_NONE,
3396 + OFFLOAD_IPSEC_INTEGRITY_MD5,
3397 + OFFLOAD_IPSEC_INTEGRITY_SHA,
3398 + OFFLOAD_IPSEC_INTEGRITY_MAX
3399 + } OFFLOAD_INTEGRITY_ALGO;
3401 + typedef struct _OFFLOAD_SECURITY_ASSOCIATION {
3402 + OFFLOAD_OPERATION_E Operation;
3404 + OFFLOAD_ALGO_INFO IntegrityAlgo;
3405 + OFFLOAD_ALGO_INFO ConfAlgo;
3406 + OFFLOAD_ALGO_INFO Reserved;
3407 + } OFFLOAD_SECURITY_ASSOCIATION, *POFFLOAD_SECURITY_ASSOCIATION;
3409 + typedef struct _OFFLOAD_IPSEC_ADD_SA {
3417 + IPAddr SrcTunnelAddr;
3418 + IPAddr DestTunnelAddr;
3421 + OFFLOAD_SECURITY_ASSOCIATION SecAssoc[OFFLOAD_MAX_SAS];
3422 + HANDLE OffloadHandle;
3425 + } OFFLOAD_IPSEC_ADD_SA, *POFFLOAD_IPSEC_ADD_SA;
3427 + typedef struct _OFFLOAD_IPSEC_DELETE_SA {
3428 + HANDLE OffloadHandle;
3429 + } OFFLOAD_IPSEC_DELETE_SA, *POFFLOAD_IPSEC_DELETE_SA;
3431 + typedef enum _UDP_ENCAP_TYPE {
3432 + OFFLOAD_IPSEC_UDPESP_ENCAPTYPE_IKE,
3433 + OFFLOAD_IPSEC_UDPESP_ENCAPTYPE_OTHER
3434 + } UDP_ENCAP_TYPE, *PUDP_ENCAP_TYPE;
3436 + typedef struct _OFFLOAD_IPSEC_UDPESP_ENCAPTYPE_ENTRY {
3437 + UDP_ENCAP_TYPE UdpEncapType;
3438 + USHORT DstEncapPort;
3439 + } OFFLOAD_IPSEC_UDPESP_ENCAPTYPE_ENTRY, *POFFLOAD_IPSEC_UDPESP_ENCAPTYPE_ENTRY;
3441 + typedef struct _OFFLOAD_IPSEC_ADD_UDPESP_SA {
3449 + IPAddr SrcTunnelAddr;
3450 + IPAddr DstTunnelAddr;
3453 + OFFLOAD_SECURITY_ASSOCIATION SecAssoc[OFFLOAD_MAX_SAS];
3454 + HANDLE OffloadHandle;
3455 + OFFLOAD_IPSEC_UDPESP_ENCAPTYPE_ENTRY EncapTypeEntry;
3456 + HANDLE EncapTypeEntryOffldHandle;
3459 + } OFFLOAD_IPSEC_ADD_UDPESP_SA, *POFFLOAD_IPSEC_ADD_UDPESP_SA;
3461 + typedef struct _OFFLOAD_IPSEC_DELETE_UDPESP_SA {
3462 + HANDLE OffloadHandle;
3463 + HANDLE EncapTypeEntryOffldHandle;
3464 + } OFFLOAD_IPSEC_DELETE_UDPESP_SA, *POFFLOAD_IPSEC_DELETE_UDPESP_SA;
3466 + typedef ULONG NDIS_VLAN_ID;
3468 + typedef enum _NDIS_MEDIUM {
3473 + NdisMediumLocalTalk,
3475 + NdisMediumArcnetRaw,
3476 + NdisMediumArcnet878_2,
3478 + NdisMediumWirelessWan,
3483 + NdisMediumInfiniBand,
3484 +#if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6
3486 + NdisMediumNative802_11,
3487 + NdisMediumLoopback,
3489 +#if NTDDI_VERSION >= 0x06010000
3494 + } NDIS_MEDIUM, *PNDIS_MEDIUM;
3496 + typedef enum _NDIS_PHYSICAL_MEDIUM {
3497 + NdisPhysicalMediumUnspecified,
3498 + NdisPhysicalMediumWirelessLan,
3499 + NdisPhysicalMediumCableModem,
3500 + NdisPhysicalMediumPhoneLine,
3501 + NdisPhysicalMediumPowerLine,
3502 + NdisPhysicalMediumDSL,
3503 + NdisPhysicalMediumFibreChannel,
3504 + NdisPhysicalMedium1394,
3505 + NdisPhysicalMediumWirelessWan,
3506 + NdisPhysicalMediumNative802_11,
3507 + NdisPhysicalMediumBluetooth,
3508 + NdisPhysicalMediumInfiniband,
3509 + NdisPhysicalMediumWiMax,
3510 + NdisPhysicalMediumUWB,
3511 + NdisPhysicalMedium802_3,
3512 + NdisPhysicalMedium802_5,
3513 + NdisPhysicalMediumIrda,
3514 + NdisPhysicalMediumWiredWAN,
3515 + NdisPhysicalMediumWiredCoWan,
3516 + NdisPhysicalMediumOther,
3517 + NdisPhysicalMediumMax
3518 + } NDIS_PHYSICAL_MEDIUM, *PNDIS_PHYSICAL_MEDIUM;
3520 + typedef struct _TRANSPORT_HEADER_OFFSET {
3521 + USHORT ProtocolType;
3522 + USHORT HeaderOffset;
3523 + } TRANSPORT_HEADER_OFFSET, *PTRANSPORT_HEADER_OFFSET;
3525 + typedef struct _NETWORK_ADDRESS {
3526 + USHORT AddressLength;
3527 + USHORT AddressType;
3529 + } NETWORK_ADDRESS, *PNETWORK_ADDRESS;
3531 + typedef struct _NETWORK_ADDRESS_LIST {
3532 + LONG AddressCount;
3533 + USHORT AddressType;
3534 + NETWORK_ADDRESS Address[1];
3535 + } NETWORK_ADDRESS_LIST, *PNETWORK_ADDRESS_LIST;
3537 + typedef struct _NETWORK_ADDRESS_IP {
3540 + UCHAR sin_zero[8];
3541 + } NETWORK_ADDRESS_IP, *PNETWORK_ADDRESS_IP;
3543 +#define NDIS_PROTOCOL_ID_DEFAULT 0x00
3544 +#define NDIS_PROTOCOL_ID_TCP_IP 0x02
3545 +#define NDIS_PROTOCOL_ID_IPX 0x06
3546 +#define NDIS_PROTOCOL_ID_NBF 0x07
3547 +#define NDIS_PROTOCOL_ID_MAX 0x0f
3548 +#define NDIS_PROTOCOL_ID_MASK 0x0f
3550 +#define READABLE_LOCAL_CLOCK 0x00000001
3551 +#define CLOCK_NETWORK_DERIVED 0x00000002
3552 +#define CLOCK_PRECISION 0x00000004
3553 +#define RECEIVE_TIME_INDICATION_CAPABLE 0x00000008
3554 +#define TIMED_SEND_CAPABLE 0x00000010
3555 +#define TIME_STAMP_CAPABLE 0x00000020
3557 +#define NDIS_DEVICE_WAKE_UP_ENABLE 0x00000001
3558 +#define NDIS_DEVICE_WAKE_ON_PATTERN_MATCH_ENABLE 0x00000002
3559 +#define NDIS_DEVICE_WAKE_ON_MAGIC_PACKET_ENABLE 0x00000004
3561 +#define WAN_PROTOCOL_KEEPS_STATS 0x00000001
3563 +#define NETWORK_ADDRESS_LENGTH_IP sizeof (NETWORK_ADDRESS_IP)
3564 +#define NETWORK_ADDRESS_LENGTH_IPX sizeof (NETWORK_ADDRESS_IPX)
3566 + typedef struct _NETWORK_ADDRESS_IPX {
3567 + ULONG NetworkAddress;
3568 + UCHAR NodeAddress[6];
3570 + } NETWORK_ADDRESS_IPX, *PNETWORK_ADDRESS_IPX;
3572 + typedef enum _NDIS_HARDWARE_STATUS {
3573 + NdisHardwareStatusReady,
3574 + NdisHardwareStatusInitializing,
3575 + NdisHardwareStatusReset,
3576 + NdisHardwareStatusClosing,
3577 + NdisHardwareStatusNotReady
3578 + } NDIS_HARDWARE_STATUS, *PNDIS_HARDWARE_STATUS;
3580 + typedef struct _GEN_GET_TIME_CAPS {
3582 + ULONG ClockPrecision;
3583 + } GEN_GET_TIME_CAPS, *PGEN_GET_TIME_CAPS;
3585 + typedef struct _GEN_GET_NETCARD_TIME {
3586 + ULONGLONG ReadTime;
3587 + } GEN_GET_NETCARD_TIME, *PGEN_GET_NETCARD_TIME;
3589 + typedef struct _NDIS_PM_PACKET_PATTERN {
3593 + ULONG PatternOffset;
3594 + ULONG PatternSize;
3595 + ULONG PatternFlags;
3596 + } NDIS_PM_PACKET_PATTERN, *PNDIS_PM_PACKET_PATTERN;
3598 + typedef enum _NDIS_DEVICE_POWER_STATE {
3599 + NdisDeviceStateUnspecified = 0,
3600 + NdisDeviceStateD0,
3601 + NdisDeviceStateD1,
3602 + NdisDeviceStateD2,
3603 + NdisDeviceStateD3,
3604 + NdisDeviceStateMaximum
3605 + } NDIS_DEVICE_POWER_STATE, *PNDIS_DEVICE_POWER_STATE;
3607 + typedef struct _NDIS_PM_WAKE_UP_CAPABILITIES {
3608 + NDIS_DEVICE_POWER_STATE MinMagicPacketWakeUp;
3609 + NDIS_DEVICE_POWER_STATE MinPatternWakeUp;
3610 + NDIS_DEVICE_POWER_STATE MinLinkChangeWakeUp;
3611 + } NDIS_PM_WAKE_UP_CAPABILITIES, *PNDIS_PM_WAKE_UP_CAPABILITIES;
3613 + typedef struct _NDIS_PNP_CAPABILITIES {
3615 + NDIS_PM_WAKE_UP_CAPABILITIES WakeUpCapabilities;
3616 + } NDIS_PNP_CAPABILITIES, *PNDIS_PNP_CAPABILITIES;
3618 + typedef enum _NDIS_FDDI_ATTACHMENT_TYPE {
3619 + NdisFddiTypeIsolated = 1,
3620 + NdisFddiTypeLocalA,
3621 + NdisFddiTypeLocalB,
3622 + NdisFddiTypeLocalAB,
3623 + NdisFddiTypeLocalS,
3624 + NdisFddiTypeWrapA,
3625 + NdisFddiTypeWrapB,
3626 + NdisFddiTypeWrapAB,
3627 + NdisFddiTypeWrapS,
3628 + NdisFddiTypeCWrapA,
3629 + NdisFddiTypeCWrapB,
3630 + NdisFddiTypeCWrapS,
3631 + NdisFddiTypeThrough
3632 + } NDIS_FDDI_ATTACHMENT_TYPE, *PNDIS_FDDI_ATTACHMENT_TYPE;
3634 + typedef enum _NDIS_FDDI_RING_MGT_STATE {
3635 + NdisFddiRingIsolated = 1,
3636 + NdisFddiRingNonOperational,
3637 + NdisFddiRingOperational,
3638 + NdisFddiRingDetect,
3639 + NdisFddiRingNonOperationalDup,
3640 + NdisFddiRingOperationalDup,
3641 + NdisFddiRingDirected,
3643 + } NDIS_FDDI_RING_MGT_STATE, *PNDIS_FDDI_RING_MGT_STATE;
3645 + typedef enum _NDIS_FDDI_LCONNECTION_STATE {
3646 + NdisFddiStateOff = 1,
3647 + NdisFddiStateBreak,
3648 + NdisFddiStateTrace,
3649 + NdisFddiStateConnect,
3650 + NdisFddiStateNext,
3651 + NdisFddiStateSignal,
3652 + NdisFddiStateJoin,
3653 + NdisFddiStateVerify,
3654 + NdisFddiStateActive,
3655 + NdisFddiStateMaintenance
3656 + } NDIS_FDDI_LCONNECTION_STATE, *PNDIS_FDDI_LCONNECTION_STATE;
3658 + typedef enum _NDIS_WAN_MEDIUM_SUBTYPE {
3660 + NdisWanMediumX_25,
3661 + NdisWanMediumIsdn,
3662 + NdisWanMediumSerial,
3663 + NdisWanMediumFrameRelay,
3665 + NdisWanMediumSonet,
3666 + NdisWanMediumSW56K,
3667 + NdisWanMediumPPTP,
3668 + NdisWanMediumL2TP,
3669 + NdisWanMediumIrda,
3670 + NdisWanMediumParallel,
3671 + NdisWanMediumPppoe,
3672 +#if NTDDI_VERSION >= 0x06000000
3673 + NdisWanMediumSSTP,
3674 + NdisWanMediumAgileVPN,
3676 + } NDIS_WAN_MEDIUM_SUBTYPE, *PNDIS_WAN_MEDIUM_SUBTYPE;
3678 + typedef enum _NDIS_WAN_HEADER_FORMAT {
3679 + NdisWanHeaderNative,
3680 + NdisWanHeaderEthernet
3681 + } NDIS_WAN_HEADER_FORMAT, *PNDIS_WAN_HEADER_FORMAT;
3683 + typedef enum _NDIS_WAN_QUALITY {
3685 + NdisWanErrorControl,
3687 + } NDIS_WAN_QUALITY, *PNDIS_WAN_QUALITY;
3689 + typedef struct _NDIS_WAN_PROTOCOL_CAPS {
3692 + } NDIS_WAN_PROTOCOL_CAPS, *PNDIS_WAN_PROTOCOL_CAPS;
3694 + typedef enum _NDIS_802_5_RING_STATE {
3695 + NdisRingStateOpened = 1,
3696 + NdisRingStateClosed,
3697 + NdisRingStateOpening,
3698 + NdisRingStateClosing,
3699 + NdisRingStateOpenFailure,
3700 + NdisRingStateRingFailure
3701 + } NDIS_802_5_RING_STATE, *PNDIS_802_5_RING_STATE;
3703 + typedef enum _NDIS_MEDIA_STATE {
3704 + NdisMediaStateConnected,
3705 + NdisMediaStateDisconnected
3706 + } NDIS_MEDIA_STATE, *PNDIS_MEDIA_STATE;
3708 + typedef ULONG Priority_802_3;
3710 + typedef struct _NDIS_CO_LINK_SPEED {
3713 + } NDIS_CO_LINK_SPEED, *PNDIS_CO_LINK_SPEED;
3715 +#if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6
3716 +#define NDIS_LINK_SPEED_UNKNOWN NET_IF_LINK_SPEED_UNKNOWN
3718 + typedef struct _NDIS_LINK_SPEED {
3719 + ULONG64 XmitLinkSpeed;
3720 + ULONG64 RcvLinkSpeed;
3721 + } NDIS_LINK_SPEED, *PNDIS_LINK_SPEED;
3725 + typedef int NDIS_STATUS, *PNDIS_STATUS;
3729 +#if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6
3730 +#ifndef __WINDOT11_H__
3731 +#include <windot11.h>
3736 +#define fNDIS_GUID_TO_OID 0x00000001
3737 +#define fNDIS_GUID_TO_STATUS 0x00000002
3738 +#define fNDIS_GUID_ANSI_STRING 0x00000004
3739 +#define fNDIS_GUID_UNICODE_STRING 0x00000008
3740 +#define fNDIS_GUID_ARRAY 0x00000010
3741 +#define fNDIS_GUID_ALLOW_READ 0x00000020
3742 +#define fNDIS_GUID_ALLOW_WRITE 0x00000040
3743 +#define fNDIS_GUID_METHOD 0x00000080
3744 +#define fNDIS_GUID_NDIS_RESERVED 0x00000100
3745 +#define fNDIS_GUID_SUPPORT_COMMON_HEADER 0x00000200
3747 +#define NDIS_PACKET_TYPE_DIRECTED 0x00000001
3748 +#define NDIS_PACKET_TYPE_MULTICAST 0x00000002
3749 +#define NDIS_PACKET_TYPE_ALL_MULTICAST 0x00000004
3750 +#define NDIS_PACKET_TYPE_BROADCAST 0x00000008
3751 +#define NDIS_PACKET_TYPE_SOURCE_ROUTING 0x00000010
3752 +#define NDIS_PACKET_TYPE_PROMISCUOUS 0x00000020
3753 +#define NDIS_PACKET_TYPE_SMT 0x00000040
3754 +#define NDIS_PACKET_TYPE_ALL_LOCAL 0x00000080
3755 +#define NDIS_PACKET_TYPE_GROUP 0x00001000
3756 +#define NDIS_PACKET_TYPE_ALL_FUNCTIONAL 0x00002000
3757 +#define NDIS_PACKET_TYPE_FUNCTIONAL 0x00004000
3758 +#define NDIS_PACKET_TYPE_MAC_FRAME 0x00008000
3759 +#define NDIS_PACKET_TYPE_NO_LOCAL 0x00010000
3761 +#define NDIS_RING_SIGNAL_LOSS 0x00008000
3762 +#define NDIS_RING_HARD_ERROR 0x00004000
3763 +#define NDIS_RING_SOFT_ERROR 0x00002000
3764 +#define NDIS_RING_TRANSMIT_BEACON 0x00001000
3765 +#define NDIS_RING_LOBE_WIRE_FAULT 0x00000800
3766 +#define NDIS_RING_AUTO_REMOVAL_ERROR 0x00000400
3767 +#define NDIS_RING_REMOVE_RECEIVED 0x00000200
3768 +#define NDIS_RING_COUNTER_OVERFLOW 0x00000100
3769 +#define NDIS_RING_SINGLE_STATION 0x00000080
3770 +#define NDIS_RING_RING_RECOVERY 0x00000040
3772 +#define NDIS_PROT_OPTION_ESTIMATED_LENGTH 0x00000001
3773 +#define NDIS_PROT_OPTION_NO_LOOPBACK 0x00000002
3774 +#define NDIS_PROT_OPTION_NO_RSVD_ON_RCVPKT 0x00000004
3775 +#define NDIS_PROT_OPTION_SEND_RESTRICTED 0x00000008
3777 +#define NDIS_MAC_OPTION_COPY_LOOKAHEAD_DATA 0x00000001
3778 +#define NDIS_MAC_OPTION_RECEIVE_SERIALIZED 0x00000002
3779 +#define NDIS_MAC_OPTION_TRANSFERS_NOT_PEND 0x00000004
3780 +#define NDIS_MAC_OPTION_NO_LOOPBACK 0x00000008
3782 +#define NDIS_MAC_OPTION_FULL_DUPLEX 0x00000010
3784 +#define NDIS_MAC_OPTION_EOTX_INDICATION 0x00000020
3785 +#define NDIS_MAC_OPTION_8021P_PRIORITY 0x00000040
3786 +#define NDIS_MAC_OPTION_SUPPORTS_MAC_ADDRESS_OVERWRITE 0x00000080
3787 +#define NDIS_MAC_OPTION_RECEIVE_AT_DPC 0x00000100
3788 +#define NDIS_MAC_OPTION_8021Q_VLAN 0x00000200
3789 +#define NDIS_MAC_OPTION_RESERVED 0x80000000
3791 +#define NDIS_MEDIA_CAP_TRANSMIT 0x00000001
3792 +#define NDIS_MEDIA_CAP_RECEIVE 0x00000002
3794 +#define NDIS_CO_MAC_OPTION_DYNAMIC_LINK_SPEED 0x00000001
3796 + typedef struct _NDIS_GUID {
3798 + _ANONYMOUS_UNION union {
3800 + NDIS_STATUS Status;
3804 + } NDIS_GUID, *PNDIS_GUID;
3806 + typedef struct _NDIS_IRDA_PACKET_INFO {
3808 + ULONG MinTurnAroundTime;
3809 + } NDIS_IRDA_PACKET_INFO, *PNDIS_IRDA_PACKET_INFO;
3811 +#if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6
3812 +#define NDIS_MAKE_NET_LUID(PNLUID, IFTYPE, NLUIDIDX) { (PNLUID)->Info.IfType = IFTYPE; (PNLUID)->Info.NetLuidIndex = NLUIDIDX; (PNLUID)->Info.Reserved = 0; }
3814 +#define MAXIMUM_IP_OPER_STATUS_ADDRESS_FAMILIES_SUPPORTED 32
3816 +#define NDIS_IF_MAX_STRING_SIZE IF_MAX_STRING_SIZE
3817 +#define NDIS_MAX_PHYS_ADDRESS_LENGTH IF_MAX_PHYS_ADDRESS_LENGTH
3819 +#define NDIS_LINK_STATE_XMIT_LINK_SPEED_AUTO_NEGOTIATED 0x00000001
3820 +#define NDIS_LINK_STATE_RCV_LINK_SPEED_AUTO_NEGOTIATED 0x00000002
3821 +#define NDIS_LINK_STATE_DUPLEX_AUTO_NEGOTIATED 0x00000004
3822 +#define NDIS_LINK_STATE_PAUSE_FUNCTIONS_AUTO_NEGOTIATED 0x00000008
3824 +#define NDIS_LINK_STATE_REVISION_1 1
3825 +#define NDIS_LINK_PARAMETERS_REVISION_1 1
3826 +#define NDIS_OPER_STATE_REVISION_1 1
3827 +#define NDIS_IP_OPER_STATUS_INFO_REVISION_1 1
3828 +#define NDIS_IP_OPER_STATE_REVISION_1 1
3830 +#define NDIS_SIZEOF_LINK_STATE_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_LINK_STATE, AutoNegotiationFlags)
3831 +#define NDIS_SIZEOF_LINK_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_LINK_PARAMETERS, AutoNegotiationFlags)
3832 +#define NDIS_SIZEOF_OPER_STATE_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_OPER_STATE, OperationalStatusFlags)
3833 +#define NDIS_SIZEOF_IP_OPER_STATUS_INFO_REVISION_1 FIELD_OFFSET (NDIS_IP_OPER_STATUS_INFO, IpOperationalStatus) + MAXIMUM_IP_OPER_STATUS_ADDRESS_FAMILIES_SUPPORTED *sizeof (NDIS_IP_OPER_STATUS)
3834 +#define NDIS_SIZEOF_IP_OPER_STATE_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_IP_OPER_STATE, IpOperationalStatus)
3836 + typedef IF_COUNTED_STRING NDIS_IF_COUNTED_STRING, *PNDIS_IF_COUNTED_STRING;
3837 + typedef IF_PHYSICAL_ADDRESS NDIS_IF_PHYSICAL_ADDRESS, *PNDIS_IF_PHYSICAL_ADDRESS;
3838 + typedef NET_IF_MEDIA_CONNECT_STATE NDIS_MEDIA_CONNECT_STATE, *PNDIS_MEDIA_CONNECT_STATE;
3839 + typedef NET_IF_MEDIA_DUPLEX_STATE NDIS_MEDIA_DUPLEX_STATE, *PNDIS_MEDIA_DUPLEX_STATE;
3841 + typedef enum _NDIS_SUPPORTED_PAUSE_FUNCTIONS {
3842 + NdisPauseFunctionsUnsupported,
3843 + NdisPauseFunctionsSendOnly,
3844 + NdisPauseFunctionsReceiveOnly,
3845 + NdisPauseFunctionsSendAndReceive,
3846 + NdisPauseFunctionsUnknown
3847 + } NDIS_SUPPORTED_PAUSE_FUNCTIONS, *PNDIS_SUPPORTED_PAUSE_FUNCTIONS;
3849 + typedef struct _NDIS_LINK_STATE {
3850 + NDIS_OBJECT_HEADER Header;
3851 + NDIS_MEDIA_CONNECT_STATE MediaConnectState;
3852 + NDIS_MEDIA_DUPLEX_STATE MediaDuplexState;
3853 + ULONG64 XmitLinkSpeed;
3854 + ULONG64 RcvLinkSpeed;
3855 + NDIS_SUPPORTED_PAUSE_FUNCTIONS PauseFunctions;
3856 + ULONG AutoNegotiationFlags;
3857 + } NDIS_LINK_STATE, *PNDIS_LINK_STATE;
3859 + typedef struct _NDIS_LINK_PARAMETERS {
3860 + NDIS_OBJECT_HEADER Header;
3861 + NDIS_MEDIA_DUPLEX_STATE MediaDuplexState;
3862 + ULONG64 XmitLinkSpeed;
3863 + ULONG64 RcvLinkSpeed;
3864 + NDIS_SUPPORTED_PAUSE_FUNCTIONS PauseFunctions;
3865 + ULONG AutoNegotiationFlags;
3866 + } NDIS_LINK_PARAMETERS, *PNDIS_LINK_PARAMETERS;
3868 + typedef struct _NDIS_OPER_STATE {
3869 + NDIS_OBJECT_HEADER Header;
3870 + NET_IF_OPER_STATUS OperationalStatus;
3871 + ULONG OperationalStatusFlags;
3872 + } NDIS_OPER_STATE, *PNDIS_OPER_STATE;
3874 + typedef struct _NDIS_IP_OPER_STATUS {
3875 + ULONG AddressFamily;
3876 + NET_IF_OPER_STATUS OperationalStatus;
3877 + ULONG OperationalStatusFlags;
3878 + } NDIS_IP_OPER_STATUS, *PNDIS_IP_OPER_STATUS;
3880 + typedef struct _NDIS_IP_OPER_STATUS_INFO {
3881 + NDIS_OBJECT_HEADER Header;
3883 + ULONG NumberofAddressFamiliesReturned;
3884 + NDIS_IP_OPER_STATUS IpOperationalStatus[MAXIMUM_IP_OPER_STATUS_ADDRESS_FAMILIES_SUPPORTED];
3885 + } NDIS_IP_OPER_STATUS_INFO, *PNDIS_IP_OPER_STATUS_INFO;
3887 + typedef struct _NDIS_IP_OPER_STATE {
3888 + NDIS_OBJECT_HEADER Header;
3890 + NDIS_IP_OPER_STATUS IpOperationalStatus;
3891 + } NDIS_IP_OPER_STATE, *PNDIS_IP_OPER_STATE;
3893 +#define NDIS_OFFLOAD_PARAMETERS_NO_CHANGE 0
3894 +#define NDIS_OFFLOAD_PARAMETERS_TX_RX_DISABLED 1
3895 +#define NDIS_OFFLOAD_PARAMETERS_TX_ENABLED_RX_DISABLED 2
3896 +#define NDIS_OFFLOAD_PARAMETERS_RX_ENABLED_TX_DISABLED 3
3897 +#define NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED 4
3899 +#define NDIS_OFFLOAD_PARAMETERS_LSOV1_DISABLED 1
3900 +#define NDIS_OFFLOAD_PARAMETERS_LSOV1_ENABLED 2
3902 +#define NDIS_OFFLOAD_PARAMETERS_IPSECV1_DISABLED 1
3903 +#define NDIS_OFFLOAD_PARAMETERS_IPSECV1_AH_ENABLED 2
3904 +#define NDIS_OFFLOAD_PARAMETERS_IPSECV1_ESP_ENABLED 3
3905 +#define NDIS_OFFLOAD_PARAMETERS_IPSECV1_AH_AND_ESP_ENABLED 4
3907 +#define NDIS_OFFLOAD_PARAMETERS_LSOV2_DISABLED 1
3908 +#define NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED 2
3910 +#if NDIS_SUPPORT_NDIS61
3911 +#define NDIS_OFFLOAD_PARAMETERS_IPSECV2_DISABLED 1
3912 +#define NDIS_OFFLOAD_PARAMETERS_IPSECV2_AH_ENABLED 2
3913 +#define NDIS_OFFLOAD_PARAMETERS_IPSECV2_ESP_ENABLED 3
3914 +#define NDIS_OFFLOAD_PARAMETERS_IPSECV2_AH_AND_ESP_ENABLED 4
3917 +#if NDIS_SUPPORT_NDIS630
3918 +#define NDIS_OFFLOAD_PARAMETERS_RSC_DISABLED 1
3919 +#define NDIS_OFFLOAD_PARAMETERS_RSC_ENABLED 2
3921 +#define NDIS_ENCAPSULATION_TYPE_GRE_MAC 0x00000001
3922 +#define NDIS_ENCAPSULATION_TYPE_MAX NDIS_ENCAPSULATION_TYPE_GRE_MAC
3925 +#define NDIS_OFFLOAD_PARAMETERS_CONNECTION_OFFLOAD_DISABLED 1
3926 +#define NDIS_OFFLOAD_PARAMETERS_CONNECTION_OFFLOAD_ENABLED 2
3928 +#define NDIS_OFFLOAD_PARAMETERS_REVISION_1 1
3929 +#if NDIS_SUPPORT_NDIS61
3930 +#define NDIS_OFFLOAD_PARAMETERS_REVISION_2 2
3932 +#if NDIS_SUPPORT_NDIS630
3933 +#define NDIS_OFFLOAD_PARAMETERS_REVISION_3 3
3934 +#define NDIS_OFFLOAD_PARAMETERS_SKIP_REGISTRY_UPDATE 0x00000001
3937 + typedef struct _NDIS_OFFLOAD_PARAMETERS {
3938 + NDIS_OBJECT_HEADER Header;
3939 + UCHAR IPv4Checksum;
3940 + UCHAR TCPIPv4Checksum;
3941 + UCHAR UDPIPv4Checksum;
3942 + UCHAR TCPIPv6Checksum;
3943 + UCHAR UDPIPv6Checksum;
3948 + UCHAR TcpConnectionIPv4;
3949 + UCHAR TcpConnectionIPv6;
3951 +#if NDIS_SUPPORT_NDIS61
3953 + UCHAR IPsecV2IPv4;
3955 +#if NDIS_SUPPORT_NDIS630
3956 + _ANONYMOUS_STRUCT struct {
3961 +#if NDIS_SUPPORT_NDIS630
3962 + _ANONYMOUS_STRUCT struct {
3963 + UCHAR EncapsulatedPacketTaskOffload;
3964 + UCHAR EncapsulationTypes;
3967 + } NDIS_OFFLOAD_PARAMETERS, *PNDIS_OFFLOAD_PARAMETERS;
3969 +#define NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_OFFLOAD_PARAMETERS, Flags)
3970 +#if NDIS_SUPPORT_NDIS61
3971 +#define NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_OFFLOAD_PARAMETERS, IPsecV2IPv4)
3973 +#if NDIS_SUPPORT_NDIS630
3974 +#define NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_3 RTL_SIZEOF_THROUGH_FIELD (NDIS_OFFLOAD_PARAMETERS, EncapsulationTypes)
3977 +#define NDIS_OFFLOAD_NOT_SUPPORTED 0
3978 +#define NDIS_OFFLOAD_SUPPORTED 1
3980 +#define NDIS_OFFLOAD_SET_NO_CHANGE 0
3981 +#define NDIS_OFFLOAD_SET_ON 1
3982 +#define NDIS_OFFLOAD_SET_OFF 2
3984 +#define NDIS_ENCAPSULATION_NOT_SUPPORTED 0x00000000
3985 +#define NDIS_ENCAPSULATION_NULL 0x00000001
3986 +#define NDIS_ENCAPSULATION_IEEE_802_3 0x00000002
3987 +#define NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q 0x00000004
3988 +#define NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q_IN_OOB 0x00000008
3989 +#define NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED 0x00000010
3991 + typedef struct _NDIS_TCP_LARGE_SEND_OFFLOAD_V1 {
3993 + ULONG Encapsulation;
3994 + ULONG MaxOffLoadSize;
3995 + ULONG MinSegmentCount;
3996 + ULONG TcpOptions:2;
3997 + ULONG IpOptions:2;
3999 + } NDIS_TCP_LARGE_SEND_OFFLOAD_V1, *PNDIS_TCP_LARGE_SEND_OFFLOAD_V1;
4001 + typedef struct _NDIS_TCP_IP_CHECKSUM_OFFLOAD {
4003 + ULONG Encapsulation;
4004 + ULONG IpOptionsSupported:2;
4005 + ULONG TcpOptionsSupported:2;
4006 + ULONG TcpChecksum:2;
4007 + ULONG UdpChecksum:2;
4008 + ULONG IpChecksum:2;
4011 + ULONG Encapsulation;
4012 + ULONG IpOptionsSupported:2;
4013 + ULONG TcpOptionsSupported:2;
4014 + ULONG TcpChecksum:2;
4015 + ULONG UdpChecksum:2;
4016 + ULONG IpChecksum:2;
4019 + ULONG Encapsulation;
4020 + ULONG IpExtensionHeadersSupported:2;
4021 + ULONG TcpOptionsSupported:2;
4022 + ULONG TcpChecksum:2;
4023 + ULONG UdpChecksum:2;
4026 + ULONG Encapsulation;
4027 + ULONG IpExtensionHeadersSupported:2;
4028 + ULONG TcpOptionsSupported:2;
4029 + ULONG TcpChecksum:2;
4030 + ULONG UdpChecksum:2;
4032 + } NDIS_TCP_IP_CHECKSUM_OFFLOAD, *PNDIS_TCP_IP_CHECKSUM_OFFLOAD;
4033 + typedef struct _NDIS_IPSEC_OFFLOAD_V1 {
4035 + ULONG Encapsulation;
4036 + ULONG AhEspCombined;
4037 + ULONG TransportTunnelCombined;
4038 + ULONG IPv4Options;
4044 + ULONG Transport : 2;
4047 + ULONG Receive : 2;
4051 + ULONG Reserved : 2;
4052 + ULONG TripleDes : 2;
4053 + ULONG NullEsp : 2;
4054 + ULONG Transport : 2;
4057 + ULONG Receive : 2;
4059 + } NDIS_IPSEC_OFFLOAD_V1, *PNDIS_IPSEC_OFFLOAD_V1;
4061 + typedef struct _NDIS_TCP_LARGE_SEND_OFFLOAD_V2 {
4063 + ULONG Encapsulation;
4064 + ULONG MaxOffLoadSize;
4065 + ULONG MinSegmentCount;
4068 + ULONG Encapsulation;
4069 + ULONG MaxOffLoadSize;
4070 + ULONG MinSegmentCount;
4071 + ULONG IpExtensionHeadersSupported:2;
4072 + ULONG TcpOptionsSupported:2;
4074 + } NDIS_TCP_LARGE_SEND_OFFLOAD_V2, *PNDIS_TCP_LARGE_SEND_OFFLOAD_V2;
4076 +#if NDIS_SUPPORT_NDIS61
4077 +#define IPSEC_OFFLOAD_V2_AUTHENTICATION_MD5 0x00000001
4078 +#define IPSEC_OFFLOAD_V2_AUTHENTICATION_SHA_1 0x00000002
4079 +#define IPSEC_OFFLOAD_V2_AUTHENTICATION_SHA_256 0x00000004
4080 +#define IPSEC_OFFLOAD_V2_AUTHENTICATION_AES_GCM_128 0x00000008
4081 +#define IPSEC_OFFLOAD_V2_AUTHENTICATION_AES_GCM_192 0x00000010
4082 +#define IPSEC_OFFLOAD_V2_AUTHENTICATION_AES_GCM_256 0x00000020
4084 +#define IPSEC_OFFLOAD_V2_ENCRYPTION_NONE 0x00000001
4085 +#define IPSEC_OFFLOAD_V2_ENCRYPTION_DES_CBC 0x00000002
4086 +#define IPSEC_OFFLOAD_V2_ENCRYPTION_3_DES_CBC 0x00000004
4087 +#define IPSEC_OFFLOAD_V2_ENCRYPTION_AES_GCM_128 0x00000008
4088 +#define IPSEC_OFFLOAD_V2_ENCRYPTION_AES_GCM_192 0x00000010
4089 +#define IPSEC_OFFLOAD_V2_ENCRYPTION_AES_GCM_256 0x00000020
4090 +#define IPSEC_OFFLOAD_V2_ENCRYPTION_AES_CBC_128 0x00000040
4091 +#define IPSEC_OFFLOAD_V2_ENCRYPTION_AES_CBC_192 0x00000080
4092 +#define IPSEC_OFFLOAD_V2_ENCRYPTION_AES_CBC_256 0x00000100
4094 + typedef struct _NDIS_IPSEC_OFFLOAD_V2 {
4095 + ULONG Encapsulation;
4096 + BOOLEAN IPv6Supported;
4097 + BOOLEAN IPv4Options;
4098 + BOOLEAN IPv6NonIPsecExtensionHeaders;
4101 + BOOLEAN AhEspCombined;
4102 + BOOLEAN Transport;
4104 + BOOLEAN TransportTunnelCombined;
4105 + BOOLEAN LsoSupported;
4106 + BOOLEAN ExtendedSequenceNumbers;
4108 + ULONG AuthenticationAlgorithms;
4109 + ULONG EncryptionAlgorithms;
4110 + ULONG SaOffloadCapacity;
4111 + } NDIS_IPSEC_OFFLOAD_V2, *PNDIS_IPSEC_OFFLOAD_V2;
4114 +#if NDIS_SUPPORT_NDIS630
4115 +#define NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_NOT_SUPPORTED 0x00000000
4116 +#define NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_INNER_IPV4 0x00000001
4117 +#define NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_OUTER_IPV4 0x00000002
4118 +#define NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_INNER_IPV6 0x00000004
4119 +#define NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_OUTER_IPV6 0x00000008
4122 +#define NDIS_OFFLOAD_FLAGS_GROUP_CHECKSUM_CAPABILITIES 0x1
4123 +#if NDIS_SUPPORT_NDIS630
4124 +#define IPSEC_OFFLOAD_V2_AND_TCP_CHECKSUM_COEXISTENCE 0x2
4125 +#define IPSEC_OFFLOAD_V2_AND_UDP_CHECKSUM_COEXISTENCE 0x4
4128 +#define NDIS_MAXIMUM_PORTS 0x1000000
4130 +#define NDIS_DEFAULT_PORT_NUMBER ((NDIS_PORT_NUMBER) 0)
4132 +#define NDIS_WMI_DEFAULT_METHOD_ID 1
4134 +#define NDIS_WMI_OBJECT_TYPE_SET 0x01
4135 +#define NDIS_WMI_OBJECT_TYPE_METHOD 0x02
4136 +#define NDIS_WMI_OBJECT_TYPE_EVENT 0x03
4137 +#define NDIS_WMI_OBJECT_TYPE_ENUM_ADAPTER 0x04
4138 +#define NDIS_WMI_OBJECT_TYPE_OUTPUT_INFO 0x05
4140 +#define NDIS_DEVICE_TYPE_ENDPOINT 0x00000001
4142 +#define NDIS_OFFLOAD_REVISION_1 1
4143 +#define NDIS_TCP_CONNECTION_OFFLOAD_REVISION_1 1
4144 +#define NDIS_PORT_AUTHENTICATION_PARAMETERS_REVISION_1 1
4145 +#define NDIS_WMI_METHOD_HEADER_REVISION_1 1
4146 +#define NDIS_WMI_SET_HEADER_REVISION_1 1
4147 +#define NDIS_WMI_EVENT_HEADER_REVISION_1 1
4148 +#define NDIS_WMI_ENUM_ADAPTER_REVISION_1 1
4149 +#if NDIS_SUPPORT_NDIS61
4150 +#define NDIS_TCP_CONNECTION_OFFLOAD_REVISION_2 2
4151 +#define NDIS_OFFLOAD_REVISION_2 2
4153 +#if NDIS_SUPPORT_NDIS630
4154 +#define NDIS_OFFLOAD_REVISION_3 3
4155 +#define NDIS_TCP_RECV_SEG_COALESC_OFFLOAD_REVISION_1 1
4158 +#define NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_OFFLOAD, Flags)
4159 +#define NDIS_SIZEOF_NDIS_WMI_OFFLOAD_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_OFFLOAD, Flags)
4160 +#define NDIS_SIZEOF_TCP_CONNECTION_OFFLOAD_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_TCP_CONNECTION_OFFLOAD, Flags)
4161 +#define NDIS_SIZEOF_WMI_TCP_CONNECTION_OFFLOAD_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_TCP_CONNECTION_OFFLOAD, Flags)
4162 +#define NDIS_SIZEOF_PORT_AUTHENTICATION_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_PORT_AUTHENTICATION_PARAMETERS, RcvAuthorizationState)
4163 +#define NDIS_SIZEOF_WMI_METHOD_HEADER_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_METHOD_HEADER, Padding)
4164 +#define NDIS_SIZEOF_WMI_SET_HEADER_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_SET_HEADER, Padding)
4165 +#define NDIS_SIZEOF_WMI_EVENT_HEADER_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_EVENT_HEADER, Padding)
4166 +#define NDIS_SIZEOF_WMI_ENUM_ADAPTER_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_ENUM_ADAPTER, DeviceName)
4167 +#if NDIS_SUPPORT_NDIS61
4168 +#define NDIS_SIZEOF_TCP_CONNECTION_OFFLOAD_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_TCP_CONNECTION_OFFLOAD, Flags)
4169 +#define NDIS_SIZEOF_NDIS_WMI_OFFLOAD_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_OFFLOAD, IPsecV2)
4170 +#define NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_OFFLOAD, IPsecV2)
4172 +#if NDIS_SUPPORT_NDIS630
4173 +#define NDIS_SIZEOF_NDIS_WMI_OFFLOAD_REVISION_3 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_OFFLOAD, EncapsulatedPacketTaskOffloadGre)
4174 +#define NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_3 RTL_SIZEOF_THROUGH_FIELD (NDIS_OFFLOAD, EncapsulatedPacketTaskOffloadGre)
4175 +#define NDIS_SIZEOF_TCP_RECV_SEG_COALESC_OFFLOAD_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_TCP_RECV_SEG_COALESCE_OFFLOAD, IPv6.Enabled)
4176 +#define NDIS_SIZEOF_ENCAPSULATED_PACKET_TASK_OFFLOAD_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD, MaxHeaderSizeSupported)
4179 +#if NDIS_SUPPORT_NDIS630
4180 + typedef struct _NDIS_TCP_RECV_SEG_COALESCE_OFFLOAD {
4187 + } NDIS_TCP_RECV_SEG_COALESCE_OFFLOAD, *PNDIS_TCP_RECV_SEG_COALESCE_OFFLOAD;
4189 + typedef struct _NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD {
4190 + ULONG TransmitChecksumOffloadSupported:4;
4191 + ULONG ReceiveChecksumOffloadSupported:4;
4192 + ULONG LsoV2Supported:4;
4193 + ULONG RssSupported:4;
4194 + ULONG VmqSupported:4;
4195 + ULONG MaxHeaderSizeSupported;
4196 + } NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD, *PNDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD;
4199 + typedef struct _NDIS_OFFLOAD {
4200 + NDIS_OBJECT_HEADER Header;
4201 + NDIS_TCP_IP_CHECKSUM_OFFLOAD Checksum;
4202 + NDIS_TCP_LARGE_SEND_OFFLOAD_V1 LsoV1;
4203 + NDIS_IPSEC_OFFLOAD_V1 IPsecV1;
4204 + NDIS_TCP_LARGE_SEND_OFFLOAD_V2 LsoV2;
4206 +#if NDIS_SUPPORT_NDIS61
4207 + NDIS_IPSEC_OFFLOAD_V2 IPsecV2;
4209 +#if NDIS_SUPPORT_NDIS630
4210 + NDIS_TCP_RECV_SEG_COALESCE_OFFLOAD Rsc;
4211 + NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD EncapsulatedPacketTaskOffloadGre;
4213 + } NDIS_OFFLOAD, *PNDIS_OFFLOAD;
4215 + typedef struct _NDIS_WMI_TCP_LARGE_SEND_OFFLOAD_V1 {
4217 + ULONG Encapsulation;
4218 + ULONG MaxOffLoadSize;
4219 + ULONG MinSegmentCount;
4223 + } NDIS_WMI_TCP_LARGE_SEND_OFFLOAD_V1, *PNDIS_WMI_TCP_LARGE_SEND_OFFLOAD_V1;
4225 + typedef struct _NDIS_WMI_TCP_IP_CHECKSUM_OFFLOAD {
4227 + ULONG Encapsulation;
4228 + ULONG IpOptionsSupported;
4229 + ULONG TcpOptionsSupported;
4230 + ULONG TcpChecksum;
4231 + ULONG UdpChecksum;
4235 + ULONG Encapsulation;
4236 + ULONG IpOptionsSupported;
4237 + ULONG TcpOptionsSupported;
4238 + ULONG TcpChecksum;
4239 + ULONG UdpChecksum;
4243 + ULONG Encapsulation;
4244 + ULONG IpExtensionHeadersSupported;
4245 + ULONG TcpOptionsSupported;
4246 + ULONG TcpChecksum;
4247 + ULONG UdpChecksum;
4250 + ULONG Encapsulation;
4251 + ULONG IpExtensionHeadersSupported;
4252 + ULONG TcpOptionsSupported;
4253 + ULONG TcpChecksum;
4254 + ULONG UdpChecksum;
4256 + } NDIS_WMI_TCP_IP_CHECKSUM_OFFLOAD, *PNDIS_WMI_TCP_IP_CHECKSUM_OFFLOAD;
4258 + typedef struct _NDIS_WMI_IPSEC_OFFLOAD_V1 {
4260 + ULONG Encapsulation;
4261 + ULONG AhEspCombined;
4262 + ULONG TransportTunnelCombined;
4263 + ULONG IPv4Options;
4284 + } NDIS_WMI_IPSEC_OFFLOAD_V1, *PNDIS_WMI_IPSEC_OFFLOAD_V1;
4286 + typedef struct _NDIS_WMI_TCP_LARGE_SEND_OFFLOAD_V2 {
4288 + ULONG Encapsulation;
4289 + ULONG MaxOffLoadSize;
4290 + ULONG MinSegmentCount;
4293 + ULONG Encapsulation;
4294 + ULONG MaxOffLoadSize;
4295 + ULONG MinSegmentCount;
4296 + ULONG IpExtensionHeadersSupported;
4297 + ULONG TcpOptionsSupported;
4299 + } NDIS_WMI_TCP_LARGE_SEND_OFFLOAD_V2, *PNDIS_WMI_TCP_LARGE_SEND_OFFLOAD_V2;
4301 + typedef struct _NDIS_WMI_OFFLOAD {
4302 + NDIS_OBJECT_HEADER Header;
4303 + NDIS_WMI_TCP_IP_CHECKSUM_OFFLOAD Checksum;
4304 + NDIS_WMI_TCP_LARGE_SEND_OFFLOAD_V1 LsoV1;
4305 + NDIS_WMI_IPSEC_OFFLOAD_V1 IPsecV1;
4306 + NDIS_WMI_TCP_LARGE_SEND_OFFLOAD_V2 LsoV2;
4308 +#if NDIS_SUPPORT_NDIS61
4309 + NDIS_IPSEC_OFFLOAD_V2 IPsecV2;
4311 +#if NDIS_SUPPORT_NDIS630
4312 + NDIS_TCP_RECV_SEG_COALESCE_OFFLOAD Rsc;
4313 + NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD EncapsulatedPacketTaskOffloadGre;
4315 + } NDIS_WMI_OFFLOAD, *PNDIS_WMI_OFFLOAD;
4317 + typedef struct _NDIS_TCP_CONNECTION_OFFLOAD {
4318 + NDIS_OBJECT_HEADER Header;
4319 + ULONG Encapsulation;
4320 + ULONG SupportIPv4:2;
4321 + ULONG SupportIPv6:2;
4322 + ULONG SupportIPv6ExtensionHeaders:2;
4323 + ULONG SupportSack:2;
4324 +#if NDIS_SUPPORT_NDIS61
4325 + ULONG CongestionAlgorithm:4;
4327 + ULONG TcpConnectionOffloadCapacity;
4329 + } NDIS_TCP_CONNECTION_OFFLOAD, *PNDIS_TCP_CONNECTION_OFFLOAD;
4331 + typedef struct _NDIS_WMI_TCP_CONNECTION_OFFLOAD {
4332 + NDIS_OBJECT_HEADER Header;
4333 + ULONG Encapsulation;
4334 + ULONG SupportIPv4;
4335 + ULONG SupportIPv6;
4336 + ULONG SupportIPv6ExtensionHeaders;
4337 + ULONG SupportSack;
4338 + ULONG TcpConnectionOffloadCapacity;
4340 + } NDIS_WMI_TCP_CONNECTION_OFFLOAD, *PNDIS_WMI_TCP_CONNECTION_OFFLOAD;
4342 + typedef ULONG NDIS_PORT_NUMBER, *PNDIS_PORT_NUMBER;
4344 + typedef enum _NDIS_PORT_TYPE {
4345 + NdisPortTypeUndefined,
4346 + NdisPortTypeBridge,
4347 + NdisPortTypeRasConnection,
4348 + NdisPortType8021xSupplicant,
4349 +#if NDIS_SUPPORT_NDIS630
4350 + NdisPortTypeNdisImPlatform,
4353 + } NDIS_PORT_TYPE, *PNDIS_PORT_TYPE;
4355 + typedef enum _NDIS_PORT_AUTHORIZATION_STATE {
4356 + NdisPortAuthorizationUnknown,
4357 + NdisPortAuthorized,
4358 + NdisPortUnauthorized,
4359 + NdisPortReauthorizing
4360 + } NDIS_PORT_AUTHORIZATION_STATE, *PNDIS_PORT_AUTHORIZATION_STATE;
4362 + typedef enum _NDIS_PORT_CONTROL_STATE {
4363 + NdisPortControlStateUnknown,
4364 + NdisPortControlStateControlled,
4365 + NdisPortControlStateUncontrolled
4366 + } NDIS_PORT_CONTROL_STATE, *PNDIS_PORT_CONTROL_STATE;
4368 + typedef NDIS_PORT_CONTROL_STATE NDIS_PORT_CONTROLL_STATE;
4369 + typedef PNDIS_PORT_CONTROL_STATE PNDIS_PORT_CONTROLL_STATE;
4371 + typedef struct _NDIS_PORT_AUTHENTICATION_PARAMETERS {
4372 + NDIS_OBJECT_HEADER Header;
4373 + NDIS_PORT_CONTROL_STATE SendControlState;
4374 + NDIS_PORT_CONTROL_STATE RcvControlState;
4375 + NDIS_PORT_AUTHORIZATION_STATE SendAuthorizationState;
4376 + NDIS_PORT_AUTHORIZATION_STATE RcvAuthorizationState;
4377 + } NDIS_PORT_AUTHENTICATION_PARAMETERS, *PNDIS_PORT_AUTHENTICATION_PARAMETERS;
4379 + typedef enum _NDIS_NETWORK_CHANGE_TYPE {
4380 + NdisPossibleNetworkChange = 1,
4381 + NdisDefinitelyNetworkChange,
4382 + NdisNetworkChangeFromMediaConnect,
4383 + NdisNetworkChangeMax
4384 + } NDIS_NETWORK_CHANGE_TYPE, *PNDIS_NETWORK_CHANGE_TYPE;
4386 + typedef struct _NDIS_WMI_METHOD_HEADER {
4387 + NDIS_OBJECT_HEADER Header;
4388 + NDIS_PORT_NUMBER PortNumber;
4390 + ULONG64 RequestId;
4393 + } NDIS_WMI_METHOD_HEADER, *PNDIS_WMI_METHOD_HEADER;
4395 + typedef struct _NDIS_WMI_SET_HEADER {
4396 + NDIS_OBJECT_HEADER Header;
4397 + NDIS_PORT_NUMBER PortNumber;
4399 + ULONG64 RequestId;
4402 + } NDIS_WMI_SET_HEADER, *PNDIS_WMI_SET_HEADER;
4404 + typedef struct _NDIS_WMI_EVENT_HEADER {
4405 + NDIS_OBJECT_HEADER Header;
4406 + NET_IFINDEX IfIndex;
4408 + ULONG64 RequestId;
4409 + NDIS_PORT_NUMBER PortNumber;
4410 + ULONG DeviceNameLength;
4411 + ULONG DeviceNameOffset;
4413 + } NDIS_WMI_EVENT_HEADER, *PNDIS_WMI_EVENT_HEADER;
4415 + typedef struct _NDIS_WMI_ENUM_ADAPTER {
4416 + NDIS_OBJECT_HEADER Header;
4417 + NET_IFINDEX IfIndex;
4419 + USHORT DeviceNameLength;
4420 + CHAR DeviceName[1];
4421 + } NDIS_WMI_ENUM_ADAPTER, *PNDIS_WMI_ENUM_ADAPTER;
4423 +#if NDIS_SUPPORT_NDIS61
4424 +#define NDIS_HD_SPLIT_COMBINE_ALL_HEADERS 0x00000001
4426 +#define NDIS_HD_SPLIT_CAPS_SUPPORTS_HEADER_DATA_SPLIT 0x00000001
4427 +#define NDIS_HD_SPLIT_CAPS_SUPPORTS_IPV4_OPTIONS 0x00000002
4428 +#define NDIS_HD_SPLIT_CAPS_SUPPORTS_IPV6_EXTENSION_HEADERS 0x00000004
4429 +#define NDIS_HD_SPLIT_CAPS_SUPPORTS_TCP_OPTIONS 0x00000008
4431 +#define NDIS_HD_SPLIT_ENABLE_HEADER_DATA_SPLIT 0x00000001
4433 +#define NDIS_HD_SPLIT_PARAMETERS_REVISION_1 1
4434 +#define NDIS_HD_SPLIT_CURRENT_CONFIG_REVISION_1 1
4436 +#define NDIS_SIZEOF_HD_SPLIT_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_HD_SPLIT_PARAMETERS, HDSplitCombineFlags)
4437 +#define NDIS_SIZEOF_HD_SPLIT_CURRENT_CONFIG_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_HD_SPLIT_CURRENT_CONFIG, MaxHeaderSize)
4439 + typedef struct _NDIS_HD_SPLIT_PARAMETERS {
4440 + NDIS_OBJECT_HEADER Header;
4441 + ULONG HDSplitCombineFlags;
4442 + } NDIS_HD_SPLIT_PARAMETERS, *PNDIS_HD_SPLIT_PARAMETERS;
4444 + typedef struct _NDIS_HD_SPLIT_CURRENT_CONFIG {
4445 + NDIS_OBJECT_HEADER Header;
4446 + ULONG HardwareCapabilities;
4447 + ULONG CurrentCapabilities;
4448 + ULONG HDSplitFlags;
4449 + ULONG HDSplitCombineFlags;
4450 + ULONG BackfillSize;
4451 + ULONG MaxHeaderSize;
4452 + } NDIS_HD_SPLIT_CURRENT_CONFIG, *PNDIS_HD_SPLIT_CURRENT_CONFIG;
4455 +#define NDIS_WMI_OUTPUT_INFO_REVISION_1 1
4457 + typedef struct NDIS_WMI_OUTPUT_INFO {
4458 + NDIS_OBJECT_HEADER Header;
4460 + UCHAR SupportedRevision;
4462 + } NDIS_WMI_OUTPUT_INFO, *PNDIS_WMI_OUTPUT_INFO;
4464 +#if NDIS_SUPPORT_NDIS620
4465 +#define NDIS_PM_WOL_BITMAP_PATTERN_SUPPORTED 0x00000001
4466 +#define NDIS_PM_WOL_MAGIC_PACKET_SUPPORTED 0x00000002
4467 +#define NDIS_PM_WOL_IPV4_TCP_SYN_SUPPORTED 0x00000004
4468 +#define NDIS_PM_WOL_IPV6_TCP_SYN_SUPPORTED 0x00000008
4469 +#define NDIS_PM_WOL_IPV4_DEST_ADDR_WILDCARD_SUPPORTED 0x00000200
4470 +#define NDIS_PM_WOL_IPV6_DEST_ADDR_WILDCARD_SUPPORTED 0x00000800
4471 +#define NDIS_PM_WOL_EAPOL_REQUEST_ID_MESSAGE_SUPPORTED 0x00010000
4473 +#define NDIS_PM_PROTOCOL_OFFLOAD_ARP_SUPPORTED 0x00000001
4474 +#define NDIS_PM_PROTOCOL_OFFLOAD_NS_SUPPORTED 0x00000002
4475 +#define NDIS_PM_PROTOCOL_OFFLOAD_80211_RSN_REKEY_SUPPORTED 0x00000080
4477 +#if NDIS_SUPPORT_NDIS630
4478 +#define NDIS_PM_WAKE_ON_MEDIA_CONNECT_SUPPORTED 0x00000001
4479 +#define NDIS_PM_WAKE_ON_MEDIA_DISCONNECT_SUPPORTED 0x00000002
4481 +#define NDIS_WLAN_WAKE_ON_NLO_DISCOVERY_SUPPORTED 0x00000001
4482 +#define NDIS_WLAN_WAKE_ON_AP_ASSOCIATION_LOST_SUPPORTED 0x00000002
4483 +#define NDIS_WLAN_WAKE_ON_GTK_HANDSHAKE_ERROR_SUPPORTED 0x00000004
4484 +#define NDIS_WLAN_WAKE_ON_4WAY_HANDSHAKE_REQUEST_SUPPORTED 0x00000008
4486 +#define NDIS_WWAN_WAKE_ON_REGISTER_STATE_SUPPORTED 0x00000001
4487 +#define NDIS_WWAN_WAKE_ON_SMS_RECEIVE_SUPPORTED 0x00000002
4488 +#define NDIS_WWAN_WAKE_ON_USSD_RECEIVE_SUPPORTED 0x00000004
4490 +#define NDIS_PM_WAKE_PACKET_INDICATION_SUPPORTED 0x00000001
4491 +#define NDIS_PM_SELECTIVE_SUSPEND_SUPPORTED 0x00000002
4494 +#define NDIS_PM_WOL_BITMAP_PATTERN_ENABLED 0x00000001
4495 +#define NDIS_PM_WOL_MAGIC_PACKET_ENABLED 0x00000002
4496 +#define NDIS_PM_WOL_IPV4_TCP_SYN_ENABLED 0x00000004
4497 +#define NDIS_PM_WOL_IPV6_TCP_SYN_ENABLED 0x00000008
4498 +#define NDIS_PM_WOL_IPV4_DEST_ADDR_WILDCARD_ENABLED 0x00000200
4499 +#define NDIS_PM_WOL_IPV6_DEST_ADDR_WILDCARD_ENABLED 0x00000800
4500 +#define NDIS_PM_WOL_EAPOL_REQUEST_ID_MESSAGE_ENABLED 0x00010000
4502 +#define NDIS_PM_PROTOCOL_OFFLOAD_ARP_ENABLED 0x00000001
4503 +#define NDIS_PM_PROTOCOL_OFFLOAD_NS_ENABLED 0x00000002
4504 +#define NDIS_PM_PROTOCOL_OFFLOAD_80211_RSN_REKEY_ENABLED 0x00000080
4506 +#define NDIS_PM_WAKE_ON_LINK_CHANGE_ENABLED 0x1
4507 +#if NDIS_SUPPORT_NDIS630
4508 +#define NDIS_PM_WAKE_ON_MEDIA_DISCONNECT_ENABLED 0x2
4509 +#define NDIS_PM_SELECTIVE_SUSPEND_ENABLED 0x10
4511 +#define NDIS_WLAN_WAKE_ON_NLO_DISCOVERY_ENABLED 0x1
4512 +#define NDIS_WLAN_WAKE_ON_AP_ASSOCIATION_LOST_ENABLED 0x2
4513 +#define NDIS_WLAN_WAKE_ON_GTK_HANDSHAKE_ERROR_ENABLED 0x4
4514 +#define NDIS_WLAN_WAKE_ON_4WAY_HANDSHAKE_REQUEST_ENABLED 0x8
4516 +#define NDIS_WWAN_WAKE_ON_REGISTER_STATE_ENABLED 0x1
4517 +#define NDIS_WWAN_WAKE_ON_SMS_RECEIVE_ENABLED 0x2
4518 +#define NDIS_WWAN_WAKE_ON_USSD_RECEIVE_ENABLED 0x4
4521 +#define NDIS_PM_WOL_PRIORITY_LOWEST 0xffffffff
4522 +#define NDIS_PM_WOL_PRIORITY_NORMAL 0x10000000
4523 +#define NDIS_PM_WOL_PRIORITY_HIGHEST 0x00000001
4525 +#define NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_LOWEST 0xffffffff
4526 +#define NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_NORMAL 0x10000000
4527 +#define NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_HIGHEST 0x00000001
4529 +#define NDIS_PM_MAX_STRING_SIZE 64
4531 +#define EAPOL_REQUEST_ID_WOL_FLAG_MUST_ENCRYPT 0x00000001
4533 +#define NDIS_PM_MAX_PATTERN_ID 0x0000ffff
4535 +#define NDIS_PM_PRIVATE_PATTERN_ID 0x00000001
4537 +#define DOT11_RSN_KEK_LENGTH 16
4538 +#define DOT11_RSN_KCK_LENGTH 16
4541 +#define NDIS_RECEIVE_FILTER_MAC_HEADER_SUPPORTED 0x00000001
4542 +#define NDIS_RECEIVE_FILTER_IPV4_HEADER_SUPPORTED 0x00000002
4543 +#define NDIS_RECEIVE_FILTER_IPV6_HEADER_SUPPORTED 0x00000004
4544 +#define NDIS_RECEIVE_FILTER_ARP_HEADER_SUPPORTED 0x00000008
4545 +#define NDIS_RECEIVE_FILTER_UDP_HEADER_SUPPORTED 0x00000010
4547 +#define NDIS_RECEIVE_FILTER_MAC_HEADER_DEST_ADDR_SUPPORTED 0x00000001
4548 +#define NDIS_RECEIVE_FILTER_MAC_HEADER_SOURCE_ADDR_SUPPORTED 0x00000002
4549 +#define NDIS_RECEIVE_FILTER_MAC_HEADER_PROTOCOL_SUPPORTED 0x00000004
4550 +#define NDIS_RECEIVE_FILTER_MAC_HEADER_VLAN_ID_SUPPORTED 0x00000008
4551 +#define NDIS_RECEIVE_FILTER_MAC_HEADER_PRIORITY_SUPPORTED 0x00000010
4552 +#define NDIS_RECEIVE_FILTER_MAC_HEADER_PACKET_TYPE_SUPPORTED 0x00000020
4554 +#define NDIS_RECEIVE_FILTER_ARP_HEADER_OPERATION_SUPPORTED 0x1
4555 +#define NDIS_RECEIVE_FILTER_ARP_HEADER_SPA_SUPPORTED 0x2
4556 +#define NDIS_RECEIVE_FILTER_ARP_HEADER_TPA_SUPPORTED 0x4
4558 +#define NDIS_RECEIVE_FILTER_IPV4_HEADER_PROTOCOL_SUPPORTED 0x1
4559 +#define NDIS_RECEIVE_FILTER_IPV6_HEADER_PROTOCOL_SUPPORTED 0x1
4560 +#define NDIS_RECEIVE_FILTER_UDP_HEADER_DEST_PORT_SUPPORTED 0x1
4562 +#define NDIS_RECEIVE_FILTER_TEST_HEADER_FIELD_EQUAL_SUPPORTED 0x00000001
4563 +#define NDIS_RECEIVE_FILTER_TEST_HEADER_FIELD_MASK_EQUAL_SUPPORTED 0x00000002
4564 +#define NDIS_RECEIVE_FILTER_TEST_HEADER_FIELD_NOT_EQUAL_SUPPORTED 0x00000004
4566 +#define NDIS_RECEIVE_FILTER_MSI_X_SUPPORTED 0x00000001
4567 +#define NDIS_RECEIVE_FILTER_VM_QUEUE_SUPPORTED 0x00000002
4568 +#define NDIS_RECEIVE_FILTER_LOOKAHEAD_SPLIT_SUPPORTED 0x00000004
4569 +#if NDIS_SUPPORT_NDIS630
4570 +#define NDIS_RECEIVE_FILTER_DYNAMIC_PROCESSOR_AFFINITY_CHANGE_SUPPORTED 0x00000008
4571 +#define NDIS_RECEIVE_FILTER_INTERRUPT_VECTOR_COALESCING_SUPPORTED 0x00000010
4572 +#define NDIS_RECEIVE_FILTER_ANY_VLAN_SUPPORTED 0x00000020
4573 +#define NDIS_RECEIVE_FILTER_IMPLAT_MIN_OF_QUEUES_MODE 0x00000040
4574 +#define NDIS_RECEIVE_FILTER_IMPLAT_SUM_OF_QUEUES_MODE 0x00000080
4575 +#define NDIS_RECEIVE_FILTER_PACKET_COALESCING_SUPPORTED_ON_DEFAULT_QUEUE 0x00000100
4578 +#define NDIS_RECEIVE_FILTER_VMQ_FILTERS_ENABLED 0x00000001
4579 +#define NDIS_RECEIVE_FILTER_PACKET_COALESCING_FILTERS_ENABLED 0x00000002
4581 +#define NDIS_RECEIVE_FILTER_VM_QUEUES_ENABLED 0x00000001
4583 +#if NDIS_SUPPORT_NDIS630
4584 +#define NDIS_NIC_SWITCH_CAPS_VLAN_SUPPORTED 0x00000001
4585 +#define NDIS_NIC_SWITCH_CAPS_PER_VPORT_INTERRUPT_MODERATION_SUPPORTED 0x00000002
4586 +#define NDIS_NIC_SWITCH_CAPS_ASYMMETRIC_QUEUE_PAIRS_FOR_NONDEFAULT_VPORT_SUPPORTED 0x00000004
4587 +#define NDIS_NIC_SWITCH_CAPS_VF_RSS_SUPPORTED 0x00000008
4588 +#define NDIS_NIC_SWITCH_CAPS_SINGLE_VPORT_POOL 0x00000010
4592 +#define NDIS_DEFAULT_RECEIVE_QUEUE_ID 0
4593 +#define NDIS_DEFAULT_RECEIVE_QUEUE_GROUP_ID 0
4594 +#define NDIS_DEFAULT_RECEIVE_FILTER_ID 0
4596 +#define NDIS_RECEIVE_FILTER_FIELD_MAC_HEADER_VLAN_UNTAGGED_OR_ZERO 0x00000001
4597 +#define NDIS_RECEIVE_FILTER_PACKET_ENCAPSULATION_GRE 0x00000002
4599 +#define NDIS_RECEIVE_QUEUE_PARAMETERS_PER_QUEUE_RECEIVE_INDICATION 0x00000001
4600 +#define NDIS_RECEIVE_QUEUE_PARAMETERS_LOOKAHEAD_SPLIT_REQUIRED 0x00000002
4601 +#define NDIS_RECEIVE_QUEUE_PARAMETERS_FLAGS_CHANGED 0x00010000
4602 +#define NDIS_RECEIVE_QUEUE_PARAMETERS_PROCESSOR_AFFINITY_CHANGED 0x00020000
4603 +#define NDIS_RECEIVE_QUEUE_PARAMETERS_SUGGESTED_RECV_BUFFER_NUMBERS_CHANGED 0x00040000
4604 +#define NDIS_RECEIVE_QUEUE_PARAMETERS_NAME_CHANGED 0x00080000
4605 +#if NDIS_SUPPORT_NDIS630
4606 +#define NDIS_RECEIVE_QUEUE_PARAMETERS_INTERRUPT_COALESCING_DOMAIN_ID_CHANGED 0x00100000
4609 +#define NDIS_RECEIVE_QUEUE_PARAMETERS_CHANGE_MASK 0xffff0000
4611 +#if NDIS_SUPPORT_NDIS630
4612 +#define NDIS_RECEIVE_FILTER_INFO_ARRAY_VPORT_ID_SPECIFIED 0x00000001
4615 +#define NDIS_PM_CAPABILITIES_REVISION_1 1
4616 +#define NDIS_PM_PARAMETERS_REVISION_1 1
4617 +#define NDIS_PM_WOL_PATTERN_REVISION_1 1
4618 +#define NDIS_PM_PROTOCOL_OFFLOAD_REVISION_1 1
4619 +#define NDIS_WMI_PM_ADMIN_CONFIG_REVISION_1 1
4620 +#define NDIS_WMI_PM_ACTIVE_CAPABILITIES_REVISION_1 1
4621 +#define NDIS_RECEIVE_FILTER_CAPABILITIES_REVISION_1 1
4622 +#define NDIS_NIC_SWITCH_CAPABILITIES_REVISION_1 1
4623 +#define NDIS_RECEIVE_FILTER_GLOBAL_PARAMETERS_REVISION_1 1
4624 +#define NDIS_RECEIVE_FILTER_FIELD_PARAMETERS_REVISION_1 1
4625 +#define NDIS_RECEIVE_FILTER_PARAMETERS_REVISION_1 1
4626 +#define NDIS_RECEIVE_FILTER_CLEAR_PARAMETERS_REVISION_1 1
4627 +#define NDIS_RECEIVE_QUEUE_PARAMETERS_REVISION_1 1
4628 +#define NDIS_RECEIVE_QUEUE_FREE_PARAMETERS_REVISION_1 1
4629 +#define NDIS_RECEIVE_QUEUE_INFO_REVISION_1 1
4630 +#define NDIS_RECEIVE_QUEUE_INFO_ARRAY_REVISION_1 1
4631 +#define NDIS_RECEIVE_FILTER_INFO_REVISION_1 1
4632 +#define NDIS_RECEIVE_FILTER_INFO_ARRAY_REVISION_1 1
4633 +#define NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS_REVISION_1 1
4634 +#define NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY_REVISION_1 1
4635 +#if NDIS_SUPPORT_NDIS630
4636 +#define NDIS_PM_CAPABILITIES_REVISION_2 2
4637 +#define NDIS_PM_PARAMETERS_REVISION_2 2
4638 +#define NDIS_PM_WOL_PATTERN_REVISION_2 2
4639 +#define NDIS_PM_WAKE_REASON_REVISION_1 1
4640 +#define NDIS_PM_WAKE_PACKET_REVISION_1 1
4641 +#define NDIS_RECEIVE_FILTER_CAPABILITIES_REVISION_2 2
4642 +#define NDIS_NIC_SWITCH_CAPABILITIES_REVISION_2 2
4643 +#define NDIS_RECEIVE_FILTER_FIELD_PARAMETERS_REVISION_2 2
4644 +#define NDIS_RECEIVE_FILTER_PARAMETERS_REVISION_2 2
4645 +#define NDIS_RECEIVE_QUEUE_PARAMETERS_REVISION_2 2
4646 +#define NDIS_RECEIVE_FILTER_INFO_ARRAY_REVISION_2 2
4647 +#define NDIS_RECEIVE_QUEUE_INFO_REVISION_2 2
4650 +#define NDIS_SIZEOF_WMI_OUTPUT_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_OUTPUT_INFO, DataOffset)
4651 +#define NDIS_SIZEOF_NDIS_PM_CAPABILITIES_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_PM_CAPABILITIES, MinLinkChangeWakeUp)
4652 +#define NDIS_SIZEOF_NDIS_PM_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_PM_PARAMETERS, WakeUpFlags)
4653 +#define NDIS_SIZEOF_NDIS_PM_WOL_PATTERN_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_PM_WOL_PATTERN, WoLPattern)
4654 +#define NDIS_SIZEOF_NDIS_PM_PROTOCOL_OFFLOAD_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_PM_PROTOCOL_OFFLOAD, ProtocolOffloadParameters)
4655 +#define NDIS_SIZEOF_WMI_PM_ADMIN_CONFIG_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_PM_ADMIN_CONFIG, PMWiFiRekeyOffload)
4656 +#define NDIS_SIZEOF_WMI_PM_ACTIVE_CAPABILITIES_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_PM_ACTIVE_CAPABILITIES, PMWiFiRekeyOffload)
4657 +#define NDIS_SIZEOF_RECEIVE_FILTER_CAPABILITIES_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_CAPABILITIES, MaxLookaheadSplitSize)
4658 +#define NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_CAPABILITIES, NdisReserved3)
4659 +#define NDIS_SIZEOF_RECEIVE_FILTER_GLOBAL_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_GLOBAL_PARAMETERS, EnabledQueueTypes)
4660 +#define NDIS_SIZEOF_RECEIVE_FILTER_FIELD_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_FIELD_PARAMETERS, ResultValue)
4661 +#define NDIS_SIZEOF_RECEIVE_FILTER_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_PARAMETERS, RequestedFilterIdBitCount)
4662 +#define NDIS_SIZEOF_RECEIVE_FILTER_CLEAR_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_CLEAR_PARAMETERS, FilterId)
4663 +#define NDIS_SIZEOF_RECEIVE_QUEUE_FREE_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_QUEUE_FREE_PARAMETERS, QueueId)
4664 +#define NDIS_SIZEOF_RECEIVE_QUEUE_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_QUEUE_PARAMETERS, QueueName)
4665 +#define NDIS_SIZEOF_RECEIVE_QUEUE_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_QUEUE_INFO, QueueName)
4666 +#define NDIS_SIZEOF_RECEIVE_QUEUE_INFO_ARRAY_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_QUEUE_INFO_ARRAY, ElementSize)
4667 +#define NDIS_SIZEOF_RECEIVE_FILTER_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_INFO, FilterId)
4668 +#define NDIS_SIZEOF_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY, ElementSize)
4669 +#define NDIS_SIZEOF_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS, CompletionStatus)
4670 +#define NDIS_SIZEOF_RECEIVE_FILTER_INFO_ARRAY_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_INFO_ARRAY, ElementSize)
4671 +#if NDIS_SUPPORT_NDIS630
4672 +#define NDIS_SIZEOF_NDIS_PM_CAPABILITIES_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_PM_CAPABILITIES, MediaSpecificWakeUpEvents)
4673 +#define NDIS_SIZEOF_NDIS_PM_PARAMETERS_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_PM_PARAMETERS, MediaSpecificWakeUpEvents)
4674 +#define NDIS_SIZEOF_NDIS_PM_WOL_PATTERN_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_PM_WOL_PATTERN, WoLPattern)
4675 +#define NDIS_SIZEOF_PM_WAKE_REASON_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_PM_WAKE_REASON, InfoBufferSize)
4676 +#define NDIS_SIZEOF_PM_WAKE_PACKET_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_PM_WAKE_PACKET, SavedPacketOffset)
4677 +#define NDIS_SIZEOF_RECEIVE_FILTER_CAPABILITIES_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_CAPABILITIES, NdisReserved)
4678 +#define NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_CAPABILITIES, NdisReserved17)
4679 +#define NDIS_SIZEOF_RECEIVE_FILTER_FIELD_PARAMETERS_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_FIELD_PARAMETERS, ResultValue)
4680 +#define NDIS_SIZEOF_RECEIVE_FILTER_PARAMETERS_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_PARAMETERS, VPortId)
4681 +#define NDIS_SIZEOF_RECEIVE_FILTER_INFO_ARRAY_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_INFO_ARRAY, VPortId)
4682 +#define NDIS_SIZEOF_RECEIVE_QUEUE_INFO_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_QUEUE_INFO, InterruptCoalescingDomainId)
4683 +#define NDIS_SIZEOF_RECEIVE_QUEUE_PARAMETERS_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_QUEUE_PARAMETERS, InterruptCoalescingDomainId)
4686 + typedef enum _NDIS_PM_WOL_PACKET {
4687 + NdisPMWoLPacketUnspecified,
4688 + NdisPMWoLPacketBitmapPattern,
4689 + NdisPMWoLPacketMagicPacket,
4690 + NdisPMWoLPacketIPv4TcpSyn,
4691 + NdisPMWoLPacketIPv6TcpSyn,
4692 + NdisPMWoLPacketEapolRequestIdMessage,
4693 + NdisPMWoLPacketMaximum
4694 + } NDIS_PM_WOL_PACKET, *PNDIS_PM_WOL_PACKET;
4696 + typedef enum _NDIS_PM_PROTOCOL_OFFLOAD_TYPE {
4697 + NdisPMProtocolOffloadIdUnspecified,
4698 + NdisPMProtocolOffloadIdIPv4ARP,
4699 + NdisPMProtocolOffloadIdIPv6NS,
4700 + NdisPMProtocolOffload80211RSNRekey,
4701 + NdisPMProtocolOffloadIdMaximum
4702 + } NDIS_PM_PROTOCOL_OFFLOAD_TYPE, *PNDIS_PM_PROTOCOL_OFFLOAD_TYPE;
4704 + typedef struct _NDIS_PM_COUNTED_STRING {
4706 + WCHAR String[NDIS_PM_MAX_STRING_SIZE + 1];
4707 + } NDIS_PM_COUNTED_STRING, *PNDIS_PM_COUNTED_STRING;
4709 + typedef struct _NDIS_PM_CAPABILITIES {
4710 + NDIS_OBJECT_HEADER Header;
4712 + ULONG SupportedWoLPacketPatterns;
4713 + ULONG NumTotalWoLPatterns;
4714 + ULONG MaxWoLPatternSize;
4715 + ULONG MaxWoLPatternOffset;
4716 + ULONG MaxWoLPacketSaveBuffer;
4717 + ULONG SupportedProtocolOffloads;
4718 + ULONG NumArpOffloadIPv4Addresses;
4719 + ULONG NumNSOffloadIPv6Addresses;
4720 + NDIS_DEVICE_POWER_STATE MinMagicPacketWakeUp;
4721 + NDIS_DEVICE_POWER_STATE MinPatternWakeUp;
4722 + NDIS_DEVICE_POWER_STATE MinLinkChangeWakeUp;
4723 +#if NDIS_SUPPORT_NDIS630
4724 + ULONG SupportedWakeUpEvents;
4725 + ULONG MediaSpecificWakeUpEvents;
4727 + } NDIS_PM_CAPABILITIES, *PNDIS_PM_CAPABILITIES;
4729 + typedef struct _NDIS_PM_PARAMETERS {
4730 + NDIS_OBJECT_HEADER Header;
4731 + ULONG EnabledWoLPacketPatterns;
4732 + ULONG EnabledProtocolOffloads;
4733 + ULONG WakeUpFlags;
4734 +#if NDIS_SUPPORT_NDIS630
4735 + ULONG MediaSpecificWakeUpEvents;
4737 + } NDIS_PM_PARAMETERS, *PNDIS_PM_PARAMETERS;
4739 + typedef struct _NDIS_PM_WOL_PATTERN {
4740 + NDIS_OBJECT_HEADER Header;
4743 + NDIS_PM_WOL_PACKET WoLPacketType;
4744 + NDIS_PM_COUNTED_STRING FriendlyName;
4746 + ULONG NextWoLPatternOffset;
4747 + union _WOL_PATTERN {
4748 + struct _IPV4_TCP_SYN_WOL_PACKET_PARAMETERS {
4750 + UCHAR IPv4SourceAddress[4];
4751 + UCHAR IPv4DestAddress[4];
4752 + USHORT TCPSourcePortNumber;
4753 + USHORT TCPDestPortNumber;
4754 + } IPv4TcpSynParameters;
4755 + struct _IPV6_TCP_SYN_WOL_PACKET_PARAMETERS {
4757 + UCHAR IPv6SourceAddress[16];
4758 + UCHAR IPv6DestAddress[16];
4759 + USHORT TCPSourcePortNumber;
4760 + USHORT TCPDestPortNumber;
4761 + } IPv6TcpSynParameters;
4762 + struct _EAPOL_REQUEST_ID_MESSAGE_WOL_PACKET_PARAMETERS {
4764 + } EapolRequestIdMessageParameters;
4765 + struct _WOL_BITMAP_PATTERN {
4769 + ULONG PatternOffset;
4770 + ULONG PatternSize;
4771 + } WoLBitMapPattern;
4773 + } NDIS_PM_WOL_PATTERN, *PNDIS_PM_WOL_PATTERN;
4775 + typedef struct _NDIS_PM_PROTOCOL_OFFLOAD {
4776 + NDIS_OBJECT_HEADER Header;
4779 + NDIS_PM_PROTOCOL_OFFLOAD_TYPE ProtocolOffloadType;
4780 + NDIS_PM_COUNTED_STRING FriendlyName;
4781 + ULONG ProtocolOffloadId;
4782 + ULONG NextProtocolOffloadOffset;
4783 + union _PROTOCOL_OFFLOAD_PARAMETERS {
4784 + struct _IPV4_ARP_PARAMETERS {
4786 + UCHAR RemoteIPv4Address[4];
4787 + UCHAR HostIPv4Address[4];
4788 + UCHAR MacAddress[6];
4789 + } IPv4ARPParameters;
4790 + struct _IPV6_NS_PARAMETERS {
4792 + UCHAR RemoteIPv6Address[16];
4793 + UCHAR SolicitedNodeIPv6Address[16];
4794 + UCHAR MacAddress[6];
4795 + UCHAR TargetIPv6Addresses[2][16];
4796 + } IPv6NSParameters;
4797 + struct _DOT11_RSN_REKEY_PARAMETERS {
4799 + UCHAR KCK[DOT11_RSN_KCK_LENGTH];
4800 + UCHAR KEK[DOT11_RSN_KEK_LENGTH];
4801 + ULONGLONG KeyReplayCounter;
4802 + } Dot11RSNRekeyParameters;
4803 + } ProtocolOffloadParameters;
4804 + } NDIS_PM_PROTOCOL_OFFLOAD, *PNDIS_PM_PROTOCOL_OFFLOAD;
4806 +#if NDIS_SUPPORT_NDIS630
4807 + typedef enum _NDIS_PM_WAKE_REASON_TYPE {
4808 + NdisWakeReasonUnspecified = 0x0000,
4809 + NdisWakeReasonPacket = 0x0001,
4810 + NdisWakeReasonMediaDisconnect = 0x0002,
4811 + NdisWakeReasonMediaConnect = 0x0003,
4812 + NdisWakeReasonWlanNLODiscovery = 0x1000,
4813 + NdisWakeReasonWlanAPAssociationLost = 0x1001,
4814 + NdisWakeReasonWlanGTKHandshakeError = 0x1002,
4815 + NdisWakeReasonWlan4WayHandshakeRequest = 0x1003,
4816 + NdisWakeReasonWwanRegisterState = 0x2000,
4817 + NdisWakeReasonWwanSMSReceive = 0x2001,
4818 + NdisWakeReasonWwanUSSDReceive = 0x2002,
4819 + } NDIS_PM_WAKE_REASON_TYPE, *PNDIS_PM_WAKE_REASON_TYPE;
4821 + typedef struct _NDIS_PM_WAKE_REASON {
4822 + NDIS_OBJECT_HEADER Header;
4824 + NDIS_PM_WAKE_REASON_TYPE WakeReason;
4825 + ULONG InfoBufferOffset;
4826 + ULONG InfoBufferSize;
4827 + } NDIS_PM_WAKE_REASON, *PNDIS_PM_WAKE_REASON;
4829 + typedef struct _NDIS_PM_WAKE_PACKET {
4830 + NDIS_OBJECT_HEADER Header;
4833 + NDIS_PM_COUNTED_STRING PatternFriendlyName;
4834 + ULONG OriginalPacketSize;
4835 + ULONG SavedPacketSize;
4836 + ULONG SavedPacketOffset;
4837 + } NDIS_PM_WAKE_PACKET, *PNDIS_PM_WAKE_PACKET;
4840 + typedef enum _NDIS_PM_ADMIN_CONFIG_STATE {
4841 + NdisPMAdminConfigUnspecified = 0,
4842 + NdisPMAdminConfigDisabled = 1,
4843 + NdisPMAdminConfigEnabled = 2
4844 + } NDIS_PM_ADMIN_CONFIG_STATE, *PNDIS_PM_ADMIN_CONFIG_STATE;
4846 + typedef struct _NDIS_WMI_PM_ADMIN_CONFIG {
4847 + NDIS_OBJECT_HEADER Header;
4848 + NDIS_PM_ADMIN_CONFIG_STATE WakeOnPattern;
4849 + NDIS_PM_ADMIN_CONFIG_STATE WakeOnMagicPacket;
4850 + NDIS_PM_ADMIN_CONFIG_STATE DeviceSleepOnDisconnect;
4851 + NDIS_PM_ADMIN_CONFIG_STATE PMARPOffload;
4852 + NDIS_PM_ADMIN_CONFIG_STATE PMNSOffload;
4853 + NDIS_PM_ADMIN_CONFIG_STATE PMWiFiRekeyOffload;
4854 + } NDIS_WMI_PM_ADMIN_CONFIG, *PNDIS_WMI_PM_ADMIN_CONFIG;
4856 + typedef enum _NDIS_PM_CAPABILITY_STATE {
4857 + NdisPMAdminConfigUnsupported = 0,
4858 + NdisPMAdminConfigInactive = 1,
4859 + NdisPMAdminConfigActive = 2
4860 + } NDIS_PM_CAPABILITY_STATE, *PNDIS_PM_CAPABILITY_STATE;
4862 + typedef struct _NDIS_WMI_PM_ACTIVE_CAPABILITIES {
4863 + NDIS_OBJECT_HEADER Header;
4864 + NDIS_PM_CAPABILITY_STATE WakeOnPattern;
4865 + NDIS_PM_CAPABILITY_STATE WakeOnMagicPacket;
4866 + NDIS_PM_CAPABILITY_STATE DeviceSleepOnDisconnect;
4867 + NDIS_PM_CAPABILITY_STATE PMARPOffload;
4868 + NDIS_PM_CAPABILITY_STATE PMNSOffload;
4869 + NDIS_PM_CAPABILITY_STATE PMWiFiRekeyOffload;
4870 + } NDIS_WMI_PM_ACTIVE_CAPABILITIES, *PNDIS_WMI_PM_ACTIVE_CAPABILITIES;
4872 + typedef struct _NDIS_RECEIVE_FILTER_CAPABILITIES {
4873 + NDIS_OBJECT_HEADER Header;
4875 + ULONG EnabledFilterTypes;
4876 + ULONG EnabledQueueTypes;
4878 + ULONG SupportedQueueProperties;
4879 + ULONG SupportedFilterTests;
4880 + ULONG SupportedHeaders;
4881 + ULONG SupportedMacHeaderFields;
4882 + ULONG MaxMacHeaderFilters;
4883 + ULONG MaxQueueGroups;
4884 + ULONG MaxQueuesPerQueueGroup;
4885 + ULONG MinLookaheadSplitSize;
4886 + ULONG MaxLookaheadSplitSize;
4887 +#if NDIS_SUPPORT_NDIS630
4888 + ULONG SupportedARPHeaderFields;
4889 + ULONG SupportedIPv4HeaderFields;
4890 + ULONG SupportedIPv6HeaderFields;
4891 + ULONG SupportedUdpHeaderFields;
4892 + ULONG MaxFieldTestsPerPacketCoalescingFilter;
4893 + ULONG MaxPacketCoalescingFilters;
4894 + ULONG NdisReserved;
4896 + } NDIS_RECEIVE_FILTER_CAPABILITIES, *PNDIS_RECEIVE_FILTER_CAPABILITIES;
4898 + typedef struct _NDIS_NIC_SWITCH_CAPABILITIES {
4899 + NDIS_OBJECT_HEADER Header;
4901 + ULONG NdisReserved1;
4902 + ULONG NumTotalMacAddresses;
4903 + ULONG NumMacAddressesPerPort;
4904 + ULONG NumVlansPerPort;
4905 + ULONG NdisReserved2;
4906 + ULONG NdisReserved3;
4907 +#if NDIS_SUPPORT_NDIS630
4908 + ULONG NicSwitchCapabilities;
4909 + ULONG MaxNumSwitches;
4910 + ULONG MaxNumVPorts;
4911 + ULONG NdisReserved4;
4913 + ULONG MaxNumQueuePairs;
4914 + ULONG NdisReserved5;
4915 + ULONG NdisReserved6;
4916 + ULONG NdisReserved7;
4917 + ULONG MaxNumQueuePairsPerNonDefaultVPort;
4918 + ULONG NdisReserved8;
4919 + ULONG NdisReserved9;
4920 + ULONG NdisReserved10;
4921 + ULONG NdisReserved11;
4922 + ULONG NdisReserved12;
4923 + ULONG MaxNumMacAddresses;
4924 + ULONG NdisReserved13;
4925 + ULONG NdisReserved14;
4926 + ULONG NdisReserved15;
4927 + ULONG NdisReserved16;
4928 + ULONG NdisReserved17;
4930 + } NDIS_NIC_SWITCH_CAPABILITIES, *PNDIS_NIC_SWITCH_CAPABILITIES;
4932 + typedef struct _NDIS_RECEIVE_FILTER_GLOBAL_PARAMETERS {
4933 + NDIS_OBJECT_HEADER Header;
4935 + ULONG EnabledFilterTypes;
4936 + ULONG EnabledQueueTypes;
4937 + } NDIS_RECEIVE_FILTER_GLOBAL_PARAMETERS, *PNDIS_RECEIVE_FILTER_GLOBAL_PARAMETERS;
4939 + typedef ULONG NDIS_RECEIVE_QUEUE_ID, *PNDIS_RECEIVE_QUEUE_ID;
4940 + typedef ULONG NDIS_RECEIVE_QUEUE_GROUP_ID, *PNDIS_RECEIVE_QUEUE_GROUP_ID;
4941 + typedef ULONG NDIS_RECEIVE_FILTER_ID, *PNDIS_RECEIVE_FILTER_ID;
4943 + typedef enum _NDIS_RECEIVE_FILTER_TYPE {
4944 + NdisReceiveFilterTypeUndefined,
4945 + NdisReceiveFilterTypeVMQueue,
4946 + NdisReceiveFilterTypePacketCoalescing,
4947 + NdisReceiveFilterTypeMaximum
4948 + } NDIS_RECEIVE_FILTER_TYPE, *PNDIS_RECEIVE_FILTER_TYPE;
4950 + typedef enum _NDIS_FRAME_HEADER {
4951 + NdisFrameHeaderUndefined,
4952 + NdisFrameHeaderMac,
4953 + NdisFrameHeaderArp,
4954 + NdisFrameHeaderIPv4,
4955 + NdisFrameHeaderIPv6,
4956 + NdisFrameHeaderUdp,
4957 + NdisFrameHeaderMaximum
4958 + } NDIS_FRAME_HEADER, *PNDIS_FRAME_HEADER;
4960 + typedef enum _NDIS_MAC_HEADER_FIELD {
4961 + NdisMacHeaderFieldUndefined,
4962 + NdisMacHeaderFieldDestinationAddress,
4963 + NdisMacHeaderFieldSourceAddress,
4964 + NdisMacHeaderFieldProtocol,
4965 + NdisMacHeaderFieldVlanId,
4966 + NdisMacHeaderFieldPriority,
4967 + NdisMacHeaderFieldPacketType,
4968 + NdisMacHeaderFieldMaximum
4969 + } NDIS_MAC_HEADER_FIELD, *PNDIS_MAC_HEADER_FIELD;
4971 + typedef enum _NDIS_MAC_PACKET_TYPE {
4972 + NdisMacPacketTypeUndefined = 0,
4973 + NdisMacPacketTypeUnicast = 1,
4974 + NdisMacPacketTypeMulticast = 2,
4975 + NdisMacPacketTypeBroadcast = 3,
4976 + NdisMacPacketTypeMaximum
4977 + } NDIS_MAC_PACKET_TYPE, *PNDIS_MAC_PACKET_TYPE;
4979 + typedef enum _NDIS_ARP_HEADER_FIELD {
4980 + NdisARPHeaderFieldUndefined,
4981 + NdisARPHeaderFieldOperation,
4982 + NdisARPHeaderFieldSPA,
4983 + NdisARPHeaderFieldTPA,
4984 + NdisARPHeaderFieldMaximum
4985 + } NDIS_ARP_HEADER_FIELD, *PNDIS_ARP_HEADER_FIELD;
4987 + typedef enum _NDIS_IPV4_HEADER_FIELD {
4988 + NdisIPv4HeaderFieldUndefined,
4989 + NdisIPv4HeaderFieldProtocol,
4990 + NdisIPv4HeaderFieldMaximum
4991 + } NDIS_IPV4_HEADER_FIELD, *PNDIS_IPV4_HEADER_FIELD;
4993 + typedef enum _NDIS_IPV6_HEADER_FIELD {
4994 + NdisIPv6HeaderFieldUndefined,
4995 + NdisIPv6HeaderFieldProtocol,
4996 + NdisIPv6HeaderFieldMaximum
4997 + } NDIS_IPV6_HEADER_FIELD, *PNDIS_IPV6_HEADER_FIELD;
4999 + typedef enum _NDIS_UDP_HEADER_FIELD {
5000 + NdisUdpHeaderFieldUndefined,
5001 + NdisUdpHeaderFieldDestinationPort,
5002 + NdisUdpHeaderFieldMaximum
5003 + } NDIS_UDP_HEADER_FIELD, *PNDIS_UDP_HEADER_FIELD;
5005 + typedef enum _NDIS_RECEIVE_FILTER_TEST {
5006 + NdisReceiveFilterTestUndefined,
5007 + NdisReceiveFilterTestEqual,
5008 + NdisReceiveFilterTestMaskEqual,
5009 + NdisReceiveFilterTestNotEqual,
5010 + NdisReceiveFilterTestMaximum
5011 + } NDIS_RECEIVE_FILTER_TEST, *PNDIS_RECEIVE_FILTER_TEST;
5013 + typedef struct _NDIS_RECEIVE_FILTER_FIELD_PARAMETERS {
5014 + NDIS_OBJECT_HEADER Header;
5016 + NDIS_FRAME_HEADER FrameHeader;
5017 + NDIS_RECEIVE_FILTER_TEST ReceiveFilterTest;
5018 + union _HEADER_FIELD {
5019 + NDIS_MAC_HEADER_FIELD MacHeaderField;
5020 + NDIS_ARP_HEADER_FIELD ArpHeaderField;
5021 + NDIS_IPV4_HEADER_FIELD IPv4HeaderField;
5022 + NDIS_IPV6_HEADER_FIELD IPv6HeaderField;
5023 + NDIS_UDP_HEADER_FIELD UdpHeaderField;
5025 + union _FIELD_VALUE {
5026 + UCHAR FieldByteValue;
5027 + USHORT FieldShortValue;
5028 + ULONG FieldLongValue;
5029 + ULONG64 FieldLong64Value;
5030 + UCHAR FieldByteArrayValue[16];
5032 + union _RESULT_VALUE {
5033 + UCHAR ResultByteValue;
5034 + USHORT ResultShortValue;
5035 + ULONG ResultLongValue;
5036 + ULONG64 ResultLong64Value;
5037 + UCHAR ResultByteArrayValue[16];
5039 + } NDIS_RECEIVE_FILTER_FIELD_PARAMETERS, *PNDIS_RECEIVE_FILTER_FIELD_PARAMETERS;
5041 +#if NDIS_SUPPORT_NDIS630
5042 + typedef ULONG NDIS_NIC_SWITCH_VPORT_ID, *PNDIS_NIC_SWITCH_VPORT_ID;
5045 + typedef struct _NDIS_RECEIVE_FILTER_PARAMETERS {
5046 + NDIS_OBJECT_HEADER Header;
5048 + NDIS_RECEIVE_FILTER_TYPE FilterType;
5049 + NDIS_RECEIVE_QUEUE_ID QueueId;
5050 + NDIS_RECEIVE_FILTER_ID FilterId;
5051 + ULONG FieldParametersArrayOffset;
5052 + ULONG FieldParametersArrayNumElements;
5053 + ULONG FieldParametersArrayElementSize;
5054 + ULONG RequestedFilterIdBitCount;
5055 +#if NDIS_SUPPORT_NDIS630
5056 + ULONG MaxCoalescingDelay;
5057 + NDIS_NIC_SWITCH_VPORT_ID VPortId;
5059 + } NDIS_RECEIVE_FILTER_PARAMETERS, *PNDIS_RECEIVE_FILTER_PARAMETERS;
5061 + typedef struct _NDIS_RECEIVE_FILTER_CLEAR_PARAMETERS {
5062 + NDIS_OBJECT_HEADER Header;
5064 + NDIS_RECEIVE_QUEUE_ID QueueId;
5065 + NDIS_RECEIVE_FILTER_ID FilterId;
5066 + } NDIS_RECEIVE_FILTER_CLEAR_PARAMETERS, *PNDIS_RECEIVE_FILTER_CLEAR_PARAMETERS;
5068 + typedef enum _NDIS_RECEIVE_QUEUE_TYPE {
5069 + NdisReceiveQueueTypeUnspecified,
5070 + NdisReceiveQueueTypeVMQueue,
5071 + NdisReceiveQueueTypeMaximum
5072 + } NDIS_RECEIVE_QUEUE_TYPE, *PNDIS_RECEIVE_QUEUE_TYPE;
5074 + typedef NDIS_IF_COUNTED_STRING NDIS_QUEUE_NAME, *PNDIS_QUEUE_NAME;
5075 + typedef NDIS_IF_COUNTED_STRING NDIS_VM_NAME, *PNDIS_VM_NAME;
5076 + typedef NDIS_IF_COUNTED_STRING NDIS_VM_FRIENDLYNAME, *PNDIS_VM_FRIENDLYNAME;
5077 + typedef NDIS_IF_COUNTED_STRING NDIS_SWITCH_PORT_PROPERTY_PROFILE_NAME, *PNDIS_SWITCH_PORT_PROPERTY_PROFILE_NAME;
5078 + typedef NDIS_IF_COUNTED_STRING NDIS_SWITCH_PORT_PROPERTY_PROFILE_CDN_LABEL, *PNDIS_SWITCH_PORT_PROPERTY_PROFILE_CDN_LABEL;
5079 + typedef NDIS_IF_COUNTED_STRING NDIS_SWITCH_NAME, *PNDIS_SWITCH_NAME;
5080 + typedef NDIS_IF_COUNTED_STRING NDIS_SWITCH_FRIENDLYNAME, *PNDIS_SWITCH_FRIENDLYNAME;
5081 + typedef NDIS_IF_COUNTED_STRING NDIS_SWITCH_PORT_NAME, *PNDIS_SWITCH_PORT_NAME;
5082 + typedef NDIS_IF_COUNTED_STRING NDIS_SWITCH_PORT_FRIENDLYNAME, *PNDIS_SWITCH_PORT_FRIENDLYNAME;
5083 + typedef NDIS_IF_COUNTED_STRING NDIS_SWITCH_NIC_NAME, *PNDIS_SWITCH_NIC_NAME;
5084 + typedef NDIS_IF_COUNTED_STRING NDIS_SWITCH_NIC_FRIENDLYNAME, *PNDIS_SWITCH_NIC_FRIENDLYNAME;
5085 + typedef NDIS_IF_COUNTED_STRING NDIS_SWITCH_EXTENSION_FRIENDLYNAME, *PNDIS_SWITCH_EXTENSION_FRIENDLYNAME;
5086 + typedef NDIS_IF_COUNTED_STRING NDIS_VENDOR_NAME, *PNDIS_VENDOR_NAME;
5088 + typedef struct _NDIS_RECEIVE_QUEUE_PARAMETERS {
5089 + NDIS_OBJECT_HEADER Header;
5091 + NDIS_RECEIVE_QUEUE_TYPE QueueType;
5092 + NDIS_RECEIVE_QUEUE_ID QueueId;
5093 + NDIS_RECEIVE_QUEUE_GROUP_ID QueueGroupId;
5094 + GROUP_AFFINITY ProcessorAffinity;
5095 + ULONG NumSuggestedReceiveBuffers;
5096 + ULONG MSIXTableEntry;
5097 + ULONG LookaheadSize;
5098 + NDIS_VM_NAME VmName;
5099 + NDIS_QUEUE_NAME QueueName;
5100 +#if NDIS_SUPPORT_NDIS630
5102 + ULONG InterruptCoalescingDomainId;
5104 + } NDIS_RECEIVE_QUEUE_PARAMETERS, *PNDIS_RECEIVE_QUEUE_PARAMETERS;
5106 + typedef struct _NDIS_RECEIVE_QUEUE_FREE_PARAMETERS {
5107 + NDIS_OBJECT_HEADER Header;
5109 + NDIS_RECEIVE_QUEUE_ID QueueId;
5110 + } NDIS_RECEIVE_QUEUE_FREE_PARAMETERS, *PNDIS_RECEIVE_QUEUE_FREE_PARAMETERS;
5112 + typedef enum _NDIS_RECEIVE_QUEUE_OPERATIONAL_STATE {
5113 + NdisReceiveQueueOperationalStateUndefined,
5114 + NdisReceiveQueueOperationalStateRunning,
5115 + NdisReceiveQueueOperationalStatePaused,
5116 + NdisReceiveQueueOperationalStateDmaStopped,
5117 + NdisReceiveQueueOperationalStateMaximum
5118 + } NDIS_RECEIVE_QUEUE_OPERATIONAL_STATE, *PNDIS_RECEIVE_QUEUE_OPERATIONAL_STATE;
5120 + typedef struct _NDIS_RECEIVE_QUEUE_INFO {
5121 + NDIS_OBJECT_HEADER Header;
5123 + NDIS_RECEIVE_QUEUE_TYPE QueueType;
5124 + NDIS_RECEIVE_QUEUE_ID QueueId;
5125 + NDIS_RECEIVE_QUEUE_GROUP_ID QueueGroupId;
5126 + NDIS_RECEIVE_QUEUE_OPERATIONAL_STATE QueueState;
5127 + GROUP_AFFINITY ProcessorAffinity;
5128 + ULONG NumSuggestedReceiveBuffers;
5129 + ULONG MSIXTableEntry;
5130 + ULONG LookaheadSize;
5131 + NDIS_VM_NAME VmName;
5132 + NDIS_QUEUE_NAME QueueName;
5133 +#if NDIS_SUPPORT_NDIS630
5135 + ULONG InterruptCoalescingDomainId;
5137 + } NDIS_RECEIVE_QUEUE_INFO, *PNDIS_RECEIVE_QUEUE_INFO;
5139 + typedef struct _NDIS_RECEIVE_QUEUE_INFO_ARRAY {
5140 + NDIS_OBJECT_HEADER Header;
5141 + ULONG FirstElementOffset;
5142 + ULONG NumElements;
5143 + ULONG ElementSize;
5144 + } NDIS_RECEIVE_QUEUE_INFO_ARRAY, *PNDIS_RECEIVE_QUEUE_INFO_ARRAY;
5146 + typedef struct _NDIS_RECEIVE_FILTER_INFO {
5147 + NDIS_OBJECT_HEADER Header;
5149 + NDIS_RECEIVE_FILTER_TYPE FilterType;
5150 + NDIS_RECEIVE_FILTER_ID FilterId;
5151 + } NDIS_RECEIVE_FILTER_INFO, *PNDIS_RECEIVE_FILTER_INFO;
5153 + typedef struct _NDIS_RECEIVE_FILTER_INFO_ARRAY {
5154 + NDIS_OBJECT_HEADER Header;
5155 + NDIS_RECEIVE_QUEUE_ID QueueId;
5156 + ULONG FirstElementOffset;
5157 + ULONG NumElements;
5158 + ULONG ElementSize;
5159 +#if NDIS_SUPPORT_NDIS630
5161 + NDIS_NIC_SWITCH_VPORT_ID VPortId;
5163 + } NDIS_RECEIVE_FILTER_INFO_ARRAY, *PNDIS_RECEIVE_FILTER_INFO_ARRAY;
5165 + typedef struct _NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS {
5166 + NDIS_OBJECT_HEADER Header;
5168 + NDIS_RECEIVE_QUEUE_ID QueueId;
5169 + NDIS_STATUS CompletionStatus;
5170 + } NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS, *PNDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS;
5172 + typedef struct _NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY {
5173 + NDIS_OBJECT_HEADER Header;
5175 + ULONG FirstElementOffset;
5176 + ULONG NumElements;
5177 + ULONG ElementSize;
5178 + } NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY, *PNDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY;
5181 +#if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6
5182 +#define NDIS_RSS_CAPS_MESSAGE_SIGNALED_INTERRUPTS 0x01000000
5183 +#define NDIS_RSS_CAPS_CLASSIFICATION_AT_ISR 0x02000000
5184 +#define NDIS_RSS_CAPS_CLASSIFICATION_AT_DPC 0x04000000
5185 +#if NDIS_SUPPORT_NDIS620
5186 +#define NDIS_RSS_CAPS_USING_MSI_X 0x08000000
5188 +#if NDIS_SUPPORT_NDIS630
5189 +#define NDIS_RSS_CAPS_RSS_AVAILABLE_ON_PORTS 0x10000000
5190 +#define NDIS_RSS_CAPS_SUPPORTS_MSI_X 0x20000000
5192 +#define NDIS_RSS_CAPS_HASH_TYPE_TCP_IPV4 0x00000100
5193 +#define NDIS_RSS_CAPS_HASH_TYPE_TCP_IPV6 0x00000200
5194 +#define NDIS_RSS_CAPS_HASH_TYPE_TCP_IPV6_EX 0x00000400
5196 +#define NdisHashFunctionToeplitz 0x00000001
5197 +#define NdisHashFunctionReserved1 0x00000002
5198 +#define NdisHashFunctionReserved2 0x00000004
5199 +#define NdisHashFunctionReserved3 0x00000008
5201 +#define NDIS_HASH_FUNCTION_MASK 0x000000ff
5202 +#define NDIS_HASH_TYPE_MASK 0x00ffff00
5204 +#define NDIS_RSS_HASH_FUNC_FROM_HASH_INFO(HINFO) ((HINFO) & (NDIS_HASH_FUNCTION_MASK))
5205 +#define NDIS_RSS_HASH_TYPE_FROM_HASH_INFO(HINFO) ((HINFO) & (NDIS_HASH_TYPE_MASK))
5206 +#define NDIS_RSS_HASH_INFO_FROM_TYPE_AND_FUNC(HTYPE, HFCT) ((HTYPE) | (HFCT))
5208 +#define NDIS_HASH_IPV4 0x00000100
5209 +#define NDIS_HASH_TCP_IPV4 0x00000200
5210 +#define NDIS_HASH_IPV6 0x00000400
5211 +#define NDIS_HASH_IPV6_EX 0x00000800
5212 +#define NDIS_HASH_TCP_IPV6 0x00001000
5213 +#define NDIS_HASH_TCP_IPV6_EX 0x00002000
5215 +#define NDIS_RSS_PARAM_FLAG_BASE_CPU_UNCHANGED 0x0001
5216 +#define NDIS_RSS_PARAM_FLAG_HASH_INFO_UNCHANGED 0x0002
5217 +#define NDIS_RSS_PARAM_FLAG_ITABLE_UNCHANGED 0x0004
5218 +#define NDIS_RSS_PARAM_FLAG_HASH_KEY_UNCHANGED 0x0008
5219 +#define NDIS_RSS_PARAM_FLAG_DISABLE_RSS 0x0010
5221 +#define NDIS_RSS_INDIRECTION_TABLE_SIZE_REVISION_1 128
5222 +#define NDIS_RSS_HASH_SECRET_KEY_SIZE_REVISION_1 40
5224 +#define NDIS_RSS_INDIRECTION_TABLE_MAX_SIZE_REVISION_1 128
5225 +#define NDIS_RSS_HASH_SECRET_KEY_MAX_SIZE_REVISION_1 40
5227 +#if NDIS_SUPPORT_NDIS620
5228 +#define NDIS_RSS_INDIRECTION_TABLE_MAX_SIZE_REVISION_2 (128 * sizeof (PROCESSOR_NUMBER))
5229 +#define NDIS_RSS_HASH_SECRET_KEY_MAX_SIZE_REVISION_2 40
5232 +#define NDIS_RECEIVE_HASH_FLAG_ENABLE_HASH 0x00000001
5233 +#define NDIS_RECEIVE_HASH_FLAG_HASH_INFO_UNCHANGED 0x00000002
5234 +#define NDIS_RECEIVE_HASH_FLAG_HASH_KEY_UNCHANGED 0x00000004
5236 +#define NDIS_PORT_CHAR_USE_DEFAULT_AUTH_SETTINGS 0x00000001
5238 +#define NDIS_RECEIVE_SCALE_CAPABILITIES_REVISION_1 1
5239 +#define NDIS_RECEIVE_HASH_PARAMETERS_REVISION_1 1
5240 +#define NDIS_PORT_STATE_REVISION_1 1
5241 +#define NDIS_PORT_CHARACTERISTICS_REVISION_1 1
5242 +#define NDIS_PORT_ARRAY_REVISION_1 1
5243 +#define NDIS_RECEIVE_SCALE_PARAMETERS_REVISION_1 1
5244 +#if NDIS_SUPPORT_NDIS620
5245 +#define NDIS_RECEIVE_SCALE_PARAMETERS_REVISION_2 2
5247 +#if NDIS_SUPPORT_NDIS630
5248 +#define NDIS_RECEIVE_SCALE_CAPABILITIES_REVISION_2 2
5251 +#define NDIS_SIZEOF_RECEIVE_SCALE_CAPABILITIES_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_SCALE_CAPABILITIES, NumberOfReceiveQueues)
5252 +#define NDIS_SIZEOF_RECEIVE_SCALE_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_SCALE_PARAMETERS, HashSecretKeyOffset)
5253 +#define NDIS_SIZEOF_RECEIVE_HASH_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_HASH_PARAMETERS, HashSecretKeyOffset)
5254 +#define NDIS_SIZEOF_PORT_STATE_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_PORT_STATE, Flags)
5255 +#define NDIS_SIZEOF_PORT_CHARACTERISTICS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_PORT_CHARACTERISTICS, RcvAuthorizationState)
5256 +#define NDIS_SIZEOF_PORT_ARRAY_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_PORT_ARRAY, Ports)
5257 +#if NDIS_SUPPORT_NDIS620
5258 +#define NDIS_SIZEOF_RECEIVE_SCALE_PARAMETERS_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_SCALE_PARAMETERS, ProcessorMasksEntrySize)
5260 +#if NDIS_SUPPORT_NDIS630
5261 +#define NDIS_SIZEOF_RECEIVE_SCALE_CAPABILITIES_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_SCALE_CAPABILITIES, NumberOfIndirectionTableEntries)
5264 + typedef struct _NDIS_RECEIVE_SCALE_CAPABILITIES {
5265 + NDIS_OBJECT_HEADER Header;
5266 + ULONG CapabilitiesFlags;
5267 + ULONG NumberOfInterruptMessages;
5268 + ULONG NumberOfReceiveQueues;
5269 +#if NDIS_SUPPORT_NDIS630
5270 + USHORT NumberOfIndirectionTableEntries;
5272 + } NDIS_RECEIVE_SCALE_CAPABILITIES, *PNDIS_RECEIVE_SCALE_CAPABILITIES;
5274 + typedef struct _NDIS_RECEIVE_SCALE_PARAMETERS {
5275 + NDIS_OBJECT_HEADER Header;
5277 + USHORT BaseCpuNumber;
5278 + ULONG HashInformation;
5279 + USHORT IndirectionTableSize;
5280 + ULONG IndirectionTableOffset;
5281 + USHORT HashSecretKeySize;
5282 + ULONG HashSecretKeyOffset;
5283 +#if NDIS_SUPPORT_NDIS620
5284 + ULONG ProcessorMasksOffset;
5285 + ULONG NumberOfProcessorMasks;
5286 + ULONG ProcessorMasksEntrySize;
5288 + } NDIS_RECEIVE_SCALE_PARAMETERS, *PNDIS_RECEIVE_SCALE_PARAMETERS;
5290 + typedef struct _NDIS_RECEIVE_HASH_PARAMETERS {
5291 + NDIS_OBJECT_HEADER Header;
5293 + ULONG HashInformation;
5294 + USHORT HashSecretKeySize;
5295 + ULONG HashSecretKeyOffset;
5296 + } NDIS_RECEIVE_HASH_PARAMETERS, *PNDIS_RECEIVE_HASH_PARAMETERS;
5298 + typedef enum _NDIS_PROCESSOR_VENDOR {
5299 + NdisProcessorVendorUnknown,
5300 + NdisProcessorVendorGenuinIntel,
5301 + NdisProcessorVendorGenuineIntel = NdisProcessorVendorGenuinIntel,
5302 + NdisProcessorVendorAuthenticAMD
5303 + } NDIS_PROCESSOR_VENDOR, *PNDIS_PROCESSOR_VENDOR;
5305 +#if NDIS_SUPPORT_NDIS620
5306 +#define NDIS_HYPERVISOR_INFO_FLAG_HYPERVISOR_PRESENT 0x00000001
5308 +#define NDIS_RSS_PROCESSOR_INFO_REVISION_1 1
5309 +#define NDIS_SYSTEM_PROCESSOR_INFO_EX_REVISION_1 1
5310 +#define NDIS_HYPERVISOR_INFO_REVISION_1 1
5311 +#define NDIS_WMI_RECEIVE_QUEUE_INFO_REVISION_1 1
5312 +#define NDIS_WMI_RECEIVE_QUEUE_PARAMETERS_REVISION_1 1
5313 +#if NDIS_SUPPORT_NDIS630
5314 +#define NDIS_RSS_PROCESSOR_INFO_REVISION_2 2
5317 +#define NDIS_SIZEOF_RSS_PROCESSOR_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RSS_PROCESSOR, PreferenceIndex)
5318 +#define NDIS_SIZEOF_RSS_PROCESSOR_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RSS_PROCESSOR_INFO, RssProcessorEntrySize)
5319 +#define NDIS_SIZEOF_SYSTEM_PROCESSOR_INFO_EX_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SYSTEM_PROCESSOR_INFO_EX, ProcessorInfoEntrySize)
5320 +#define NDIS_SIZEOF_HYPERVISOR_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_HYPERVISOR_INFO, PartitionType)
5321 +#define NDIS_SIZEOF_WMI_RECEIVE_QUEUE_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_RECEIVE_QUEUE_PARAMETERS, QueueName)
5322 +#define NDIS_SIZEOF_WMI_RECEIVE_QUEUE_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_RECEIVE_QUEUE_INFO, QueueName)
5323 +#if NDIS_SUPPORT_NDIS630
5324 +#define NDIS_SIZEOF_RSS_PROCESSOR_INFO_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_RSS_PROCESSOR_INFO, RssProfile)
5327 + typedef struct _NDIS_RSS_PROCESSOR {
5328 + PROCESSOR_NUMBER ProcNum;
5329 + USHORT PreferenceIndex;
5331 + } NDIS_RSS_PROCESSOR, *PNDIS_RSS_PROCESSOR;
5333 +#if NDIS_SUPPORT_NDIS630
5334 + typedef enum _NDIS_RSS_PROFILE {
5335 + NdisRssProfileClosest = 1,
5336 + NdisRssProfileClosestStatic,
5337 + NdisRssProfileNuma,
5338 + NdisRssProfileNumaStatic,
5339 + NdisRssProfileConservative,
5340 + NdisRssProfileMaximum,
5341 + } NDIS_RSS_PROFILE, *PNDIS_RSS_PROFILE;
5344 + typedef struct _NDIS_RSS_PROCESSOR_INFO {
5345 + NDIS_OBJECT_HEADER Header;
5347 + PROCESSOR_NUMBER RssBaseProcessor;
5348 + ULONG MaxNumRssProcessors;
5349 + USHORT PreferredNumaNode;
5350 + ULONG RssProcessorArrayOffset;
5351 + ULONG RssProcessorCount;
5352 + ULONG RssProcessorEntrySize;
5353 +#if NDIS_SUPPORT_NDIS630
5354 + PROCESSOR_NUMBER RssMaxProcessor;
5355 + NDIS_RSS_PROFILE RssProfile;
5357 + } NDIS_RSS_PROCESSOR_INFO, *PNDIS_RSS_PROCESSOR_INFO;
5359 + typedef struct _NDIS_PROCESSOR_INFO_EX {
5360 + PROCESSOR_NUMBER ProcNum;
5363 + ULONG HyperThreadId;
5365 + USHORT NodeDistance;
5366 + } NDIS_PROCESSOR_INFO_EX, *PNDIS_PROCESSOR_INFO_EX;
5368 + typedef struct _NDIS_SYSTEM_PROCESSOR_INFO_EX {
5369 + NDIS_OBJECT_HEADER Header;
5371 + NDIS_PROCESSOR_VENDOR ProcessorVendor;
5374 + ULONG NumCoresPerSocket;
5375 + ULONG MaxHyperThreadingProcsPerCore;
5376 + ULONG ProcessorInfoOffset;
5377 + ULONG NumberOfProcessors;
5378 + ULONG ProcessorInfoEntrySize;
5379 + } NDIS_SYSTEM_PROCESSOR_INFO_EX, *PNDIS_SYSTEM_PROCESSOR_INFO_EX;
5381 + typedef enum _NDIS_HYPERVISOR_PARTITION_TYPE {
5382 + NdisHypervisorPartitionTypeUnknown,
5383 + NdisHypervisorPartitionTypeMsHvParent,
5384 + NdisHypervisorPartitionMsHvChild,
5385 + NdisHypervisorPartitionTypeMax
5386 + } NDIS_HYPERVISOR_PARTITION_TYPE, *PNDIS_HYPERVISOR_PARTITION_TYPE;
5388 + typedef struct _NDIS_HYPERVISOR_INFO {
5389 + NDIS_OBJECT_HEADER Header;
5391 + NDIS_HYPERVISOR_PARTITION_TYPE PartitionType;
5392 + } NDIS_HYPERVISOR_INFO, *PNDIS_HYPERVISOR_INFO;
5394 + typedef struct _NDIS_WMI_GROUP_AFFINITY {
5397 + USHORT Reserved[3];
5398 + } NDIS_WMI_GROUP_AFFINITY, *PNDIS_WMI_GROUP_AFFINITY;
5400 + typedef struct _NDIS_WMI_RECEIVE_QUEUE_PARAMETERS {
5401 + NDIS_OBJECT_HEADER Header;
5403 + NDIS_RECEIVE_QUEUE_TYPE QueueType;
5404 + NDIS_RECEIVE_QUEUE_ID QueueId;
5405 + NDIS_RECEIVE_QUEUE_GROUP_ID QueueGroupId;
5406 + NDIS_WMI_GROUP_AFFINITY ProcessorAffinity;
5407 + ULONG NumSuggestedReceiveBuffers;
5408 + ULONG MSIXTableEntry;
5409 + ULONG LookaheadSize;
5410 + NDIS_VM_NAME VmName;
5411 + NDIS_QUEUE_NAME QueueName;
5412 + } NDIS_WMI_RECEIVE_QUEUE_PARAMETERS, *PNDIS_WMI_RECEIVE_QUEUE_PARAMETERS;
5414 + typedef struct _NDIS_WMI_RECEIVE_QUEUE_INFO {
5415 + NDIS_OBJECT_HEADER Header;
5417 + NDIS_RECEIVE_QUEUE_TYPE QueueType;
5418 + NDIS_RECEIVE_QUEUE_ID QueueId;
5419 + NDIS_RECEIVE_QUEUE_GROUP_ID QueueGroupId;
5420 + NDIS_RECEIVE_QUEUE_OPERATIONAL_STATE QueueState;
5421 + NDIS_WMI_GROUP_AFFINITY ProcessorAffinity;
5422 + ULONG NumSuggestedReceiveBuffers;
5423 + ULONG MSIXTableEntry;
5424 + ULONG LookaheadSize;
5425 + NDIS_VM_NAME VmName;
5426 + NDIS_QUEUE_NAME QueueName;
5427 + } NDIS_WMI_RECEIVE_QUEUE_INFO, *PNDIS_WMI_RECEIVE_QUEUE_INFO;
5430 +#if NDIS_SUPPORT_NDIS630
5432 +#define NDIS_NDK_PERFORMANCE_COUNTER_MASK(CNTFIELD) (((ULONG64) 1) << (FIELD_OFFSET (NDIS_NDK_PERFORMANCE_COUNTERS, CNTFIELD) / sizeof (ULONG64)))
5434 +#define OID_NDK_SET_STATE 0xfc040201
5435 +#define OID_NDK_STATISTICS 0xfc040202
5436 +#define OID_NDK_CONNECTIONS 0xfc040203
5437 +#define OID_NDK_LOCAL_ENDPOINTS 0xfc040204
5439 +#define OID_QOS_HARDWARE_CAPABILITIES 0xfc050001
5440 +#define OID_QOS_CURRENT_CAPABILITIES 0xfc050002
5441 +#define OID_QOS_PARAMETERS 0xfc050003
5442 +#define OID_QOS_OPERATIONAL_PARAMETERS 0xfc050004
5443 +#define OID_QOS_REMOTE_PARAMETERS 0xfc050005
5445 +#define NDIS_QOS_MAXIMUM_PRIORITIES 8
5446 +#define NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES 8
5448 +#define NDIS_QOS_CAPABILITIES_STRICT_TSA_SUPPORTED 0x00000001
5449 +#define NDIS_QOS_CAPABILITIES_MACSEC_BYPASS_SUPPORTED 0x00000002
5450 +#define NDIS_QOS_CAPABILITIES_CEE_DCBX_SUPPORTED 0x00000004
5451 +#define NDIS_QOS_CAPABILITIES_IEEE_DCBX_SUPPORTED 0x00000008
5453 +#define NDIS_QOS_CLASSIFICATION_SET_BY_MINIPORT_MASK 0xff000000
5454 +#define NDIS_QOS_CLASSIFICATION_ENFORCED_BY_MINIPORT 0x01000000
5456 +#define NDIS_QOS_CONDITION_RESERVED 0x0
5457 +#define NDIS_QOS_CONDITION_DEFAULT 0x1
5458 +#define NDIS_QOS_CONDITION_TCP_PORT 0x2
5459 +#define NDIS_QOS_CONDITION_UDP_PORT 0x3
5460 +#define NDIS_QOS_CONDITION_TCP_OR_UDP_PORT 0x4
5461 +#define NDIS_QOS_CONDITION_ETHERTYPE 0x5
5462 +#define NDIS_QOS_CONDITION_NETDIRECT_PORT 0x6
5463 +#define NDIS_QOS_CONDITION_MAXIMUM 0x7
5465 +#define NDIS_QOS_ACTION_PRIORITY 0x0
5466 +#define NDIS_QOS_ACTION_MAXIMUM 0x1
5468 +#define NDIS_QOS_PARAMETERS_ETS_CHANGED 0x00000001
5469 +#define NDIS_QOS_PARAMETERS_ETS_CONFIGURED 0x00000002
5470 +#define NDIS_QOS_PARAMETERS_PFC_CHANGED 0x00000100
5471 +#define NDIS_QOS_PARAMETERS_PFC_CONFIGURED 0x00000200
5472 +#define NDIS_QOS_PARAMETERS_CLASSIFICATION_CHANGED 0x00010000
5473 +#define NDIS_QOS_PARAMETERS_CLASSIFICATION_CONFIGURED 0x00020000
5474 +#define NDIS_QOS_PARAMETERS_WILLING 0x80000000
5476 +#define NDIS_QOS_TSA_STRICT 0x0
5477 +#define NDIS_QOS_TSA_CBS 0x1
5478 +#define NDIS_QOS_TSA_ETS 0x2
5479 +#define NDIS_QOS_TSA_MAXIMUM 0x3
5481 +#define NDIS_PF_FUNCTION_ID (USHORT) -1
5482 +#define NDIS_INVALID_VF_FUNCTION_ID (USHORT) -1
5483 +#define NDIS_INVALID_RID (ULONG) -1
5484 +#define NDIS_DEFAULT_VPORT_ID 0
5485 +#define NDIS_DEFAULT_SWITCH_ID 0
5486 +#define NDIS_INVALID_SWITCH_ID (ULONG) -1
5488 +#define NDIS_NIC_SWITCH_PARAMETERS_CHANGE_MASK 0xffff0000
5489 +#define NDIS_NIC_SWITCH_PARAMETERS_SWITCH_NAME_CHANGED 0x00010000
5491 +#define NDIS_SRIOV_CAPS_SRIOV_SUPPORTED 0x00000001
5492 +#define NDIS_SRIOV_CAPS_PF_MINIPORT 0x00000002
5493 +#define NDIS_SRIOV_CAPS_VF_MINIPORT 0x00000004
5495 +#define NDIS_NIC_SWITCH_VF_INFO_ARRAY_ENUM_ON_SPECIFIC_SWITCH 0x00000001
5497 +#define NDIS_NIC_SWITCH_VPORT_PARAMS_LOOKAHEAD_SPLIT_ENABLED 0x00000001
5498 +#define NDIS_NIC_SWITCH_VPORT_PARAMS_CHANGE_MASK 0xffff0000
5499 +#define NDIS_NIC_SWITCH_VPORT_PARAMS_FLAGS_CHANGED 0x00010000
5500 +#define NDIS_NIC_SWITCH_VPORT_PARAMS_NAME_CHANGED 0x00020000
5501 +#define NDIS_NIC_SWITCH_VPORT_PARAMS_INT_MOD_CHANGED 0x00040000
5502 +#define NDIS_NIC_SWITCH_VPORT_PARAMS_STATE_CHANGED 0x00080000
5503 +#define NDIS_NIC_SWITCH_VPORT_PARAMS_PROCESSOR_AFFINITY_CHANGED 0x00100000
5505 +#define NDIS_NIC_SWITCH_VPORT_INFO_ARRAY_ENUM_ON_SPECIFIC_FUNCTION 0x00000001
5506 +#define NDIS_NIC_SWITCH_VPORT_INFO_ARRAY_ENUM_ON_SPECIFIC_SWITCH 0x00000002
5508 +#define NDIS_NIC_SWITCH_VPORT_INFO_LOOKAHEAD_SPLIT_ENABLED 0x00000001
5510 + DEFINE_GUID (GUID_NDIS_NDK_CAPABILITIES, 0x7969ba4d, 0xdd80, 0x4bc7, 0xb3, 0xe6, 0x68, 0x04, 0x39, 0x97, 0xe5, 0x19);
5511 + DEFINE_GUID (GUID_NDIS_NDK_STATE, 0x530c69c9, 0x2f51, 0x49de, 0xa1, 0xaf, 0x08, 0x8d, 0x54, 0xff, 0xa4, 0x74);
5513 +#define NDIS_NDK_CAPABILITIES_REVISION_1 1
5514 +#define NDIS_NDK_STATISTICS_INFO_REVISION_1 1
5515 +#define NDIS_NDK_CONNECTIONS_REVISION_1 1
5516 +#define NDIS_NDK_LOCAL_ENDPOINTS_REVISION_1 1
5517 +#define NDIS_QOS_CAPABILITIES_REVISION_1 1
5518 +#define NDIS_QOS_CLASSIFICATION_ELEMENT_REVISION_1 1
5519 +#define NDIS_QOS_PARAMETERS_REVISION_1 1
5520 +#define NDIS_NIC_SWITCH_PARAMETERS_REVISION_1 1
5521 +#define NDIS_NIC_SWITCH_DELETE_SWITCH_PARAMETERS_REVISION_1 1
5522 +#define NDIS_NIC_SWITCH_INFO_REVISION_1 1
5523 +#define NDIS_NIC_SWITCH_INFO_ARRAY_REVISION_1 1
5524 +#define NDIS_NIC_SWITCH_VPORT_PARAMETERS_REVISION_1 1
5525 +#define NDIS_NIC_SWITCH_DELETE_VPORT_PARAMETERS_REVISION_1 1
5526 +#define NDIS_NIC_SWITCH_VPORT_INFO_REVISION_1 1
5527 +#define NDIS_NIC_SWITCH_VPORT_INFO_ARRAY_REVISION_1 1
5528 +#define NDIS_NIC_SWITCH_VF_PARAMETERS_REVISION_1 1
5529 +#define NDIS_NIC_SWITCH_FREE_VF_PARAMETERS_REVISION_1 1
5530 +#define NDIS_NIC_SWITCH_VF_INFO_REVISION_1 1
5531 +#define NDIS_NIC_SWITCH_VF_INFO_ARRAY_REVISION_1 1
5532 +#define NDIS_SRIOV_CAPABILITIES_REVISION_1 1
5533 +#define NDIS_SRIOV_READ_VF_CONFIG_SPACE_PARAMETERS_REVISION_1 1
5534 +#define NDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS_REVISION_1 1
5535 +#define NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS_REVISION_1 1
5536 +#define NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS_REVISION_1 1
5537 +#define NDIS_SRIOV_RESET_VF_PARAMETERS_REVISION_1 1
5538 +#define NDIS_SRIOV_SET_VF_POWER_STATE_PARAMETERS_REVISION_1 1
5539 +#define NDIS_SRIOV_CONFIG_STATE_PARAMETERS_REVISION_1 1
5540 +#define NDIS_SRIOV_VF_VENDOR_DEVICE_ID_INFO_REVISION_1 1
5541 +#define NDIS_SRIOV_PROBED_BARS_INFO_REVISION_1 1
5542 +#define NDIS_RECEIVE_FILTER_MOVE_FILTER_PARAMETERS_REVISION_1 1
5543 +#define NDIS_SRIOV_BAR_RESOURCES_INFO_REVISION_1 1
5544 +#define NDIS_SRIOV_PF_LUID_INFO_REVISION_1 1
5545 +#define NDIS_SRIOV_VF_SERIAL_NUMBER_INFO_REVISION_1 1
5546 +#define NDIS_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO_REVISION_1 1
5547 +#define NDIS_SWITCH_OBJECT_SERIALIZATION_VERSION_1 1
5548 +#define NDIS_SWITCH_PORT_PROPERTY_SECURITY_REVISION_1 1
5549 +#define NDIS_SWITCH_PORT_PROPERTY_VLAN_REVISION_1 1
5550 +#define NDIS_SWITCH_PORT_PROPERTY_PROFILE_REVISION_1 1
5551 +#define NDIS_SWITCH_PORT_PROPERTY_CUSTOM_REVISION_1 1
5552 +#define NDIS_SWITCH_PORT_PROPERTY_PARAMETERS_REVISION_1 1
5553 +#define NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS_REVISION_1 1
5554 +#define NDIS_SWITCH_PORT_PROPERTY_ENUM_PARAMETERS_REVISION_1 1
5555 +#define NDIS_SWITCH_PORT_PROPERTY_ENUM_INFO_REVISION_1 1
5556 +#define NDIS_SWITCH_PROPERTY_PARAMETERS_REVISION_1 1
5557 +#define NDIS_SWITCH_PROPERTY_CUSTOM_REVISION_1 1
5558 +#define NDIS_SWITCH_PORT_FEATURE_STATUS_PARAMETERS_REVISION_1 1
5559 +#define NDIS_SWITCH_PORT_FEATURE_STATUS_CUSTOM_REVISION_1 1
5560 +#define NDIS_SWITCH_PROPERTY_DELETE_PARAMETERS_REVISION_1 1
5561 +#define NDIS_SWITCH_PROPERTY_ENUM_INFO_REVISION_1 1
5562 +#define NDIS_SWITCH_PROPERTY_ENUM_PARAMETERS_REVISION_1 1
5563 +#define NDIS_SWITCH_FEATURE_STATUS_CUSTOM_REVISION_1 1
5564 +#define NDIS_SWITCH_PORT_PARAMETERS_REVISION_1 1
5565 +#define NDIS_SWITCH_PORT_ARRAY_REVISION_1 1
5566 +#define NDIS_SWITCH_PARAMETERS_REVISION_1 1
5567 +#define NDIS_SWITCH_NIC_PARAMETERS_REVISION_1 1
5568 +#define NDIS_SWITCH_NIC_ARRAY_REVISION_1 1
5569 +#define NDIS_SWITCH_NIC_OID_REQUEST_REVISION_1 1
5570 +#define NDIS_SWITCH_FEATURE_STATUS_PARAMETERS_REVISION_1 1
5571 +#define NDIS_SWITCH_NIC_SAVE_STATE_REVISION_1 1
5573 +#define NDIS_SIZEOF_NDK_CAPABILITIES_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NDK_CAPABILITIES, NdkInfo)
5574 +#define NDIS_SIZEOF_NDK_STATISTICS_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NDK_STATISTICS_INFO, CounterSet)
5575 +#define NDIS_SIZEOF_NDK_CONNECTIONS_REVISION_1(n) FIELD_OFFSET (NDIS_NDK_CONNECTIONS, Connections[n])
5576 +#define NDIS_SIZEOF_NDK_LOCAL_ENDPOINTS_REVISION_1(n) FIELD_OFFSET (NDIS_NDK_LOCAL_ENDPOINTS, LocalEndpoints[n])
5577 +#define NDIS_SIZEOF_QOS_CAPABILITIES_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_QOS_CAPABILITIES, MaxNumPfcEnabledTrafficClasses)
5578 +#define NDIS_SIZEOF_QOS_CLASSIFICATION_ELEMENT_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_QOS_CLASSIFICATION_ELEMENT, ActionField)
5579 +#define NDIS_SIZEOF_QOS_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_QOS_PARAMETERS, FirstClassificationElementOffset)
5580 +#define NDIS_SIZEOF_NIC_SWITCH_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_PARAMETERS, NdisReserved3)
5581 +#define NDIS_SIZEOF_NIC_SWITCH_DELETE_SWITCH_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_DELETE_SWITCH_PARAMETERS, SwitchId)
5582 +#define NDIS_SIZEOF_NIC_SWITCH_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_INFO, NumActiveNonDefaultVPortVlanIds)
5583 +#define NDIS_SIZEOF_NIC_SWITCH_INFO_ARRAY_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_INFO_ARRAY, ElementSize)
5584 +#define NDIS_SIZEOF_NIC_SWITCH_VPORT_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_VPORT_PARAMETERS, LookaheadSize)
5585 +#define NDIS_SIZEOF_NIC_SWITCH_DELETE_VPORT_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_DELETE_VPORT_PARAMETERS, VPortId)
5586 +#define NDIS_SIZEOF_NIC_SWITCH_VPORT_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_VPORT_INFO, NumFilters)
5587 +#define NDIS_SIZEOF_NIC_SWITCH_VPORT_INFO_ARRAY_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_VPORT_INFO_ARRAY, ElementSize)
5588 +#define NDIS_SIZEOF_NIC_SWITCH_VF_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_VF_PARAMETERS, RequestorId)
5589 +#define NDIS_SIZEOF_NIC_SWITCH_FREE_VF_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_FREE_VF_PARAMETERS, VFId)
5590 +#define NDIS_SIZEOF_NIC_SWITCH_VF_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_VF_INFO, RequestorId)
5591 +#define NDIS_SIZEOF_NIC_SWITCH_VF_INFO_ARRAY_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_VF_INFO_ARRAY, ElementSize)
5592 +#define NDIS_SIZEOF_SRIOV_CAPABILITIES_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_CAPABILITIES, SriovCapabilities)
5593 +#define NDIS_SIZEOF_SRIOV_READ_VF_CONFIG_SPACE_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_READ_VF_CONFIG_SPACE_PARAMETERS, BufferOffset)
5594 +#define NDIS_SIZEOF_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS, BufferOffset)
5595 +#define NDIS_SIZEOF_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS, BufferOffset)
5596 +#define NDIS_SIZEOF_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS, BufferOffset)
5597 +#define NDIS_SIZEOF_SRIOV_RESET_VF_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_RESET_VF_PARAMETERS, VFId)
5598 +#define NDIS_SIZEOF_SRIOV_SET_VF_POWER_STATE_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_SET_VF_POWER_STATE_PARAMETERS, WakeEnable)
5599 +#define NDIS_SIZEOF_SRIOV_CONFIG_STATE_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_CONFIG_STATE_PARAMETERS, Length)
5600 +#define NDIS_SIZEOF_SRIOV_VF_VENDOR_DEVICE_ID_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_VF_VENDOR_DEVICE_ID_INFO, DeviceId)
5601 +#define NDIS_SIZEOF_SRIOV_PROBED_BARS_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_PROBED_BARS_INFO, BaseRegisterValuesOffset)
5602 +#define NDIS_SIZEOF_RECEIVE_FILTER_MOVE_FILTER_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_MOVE_FILTER_PARAMETERS, DestVPortId)
5603 +#define NDIS_SIZEOF_SRIOV_BAR_RESOURCES_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_BAR_RESOURCES_INFO, BarResourcesOffset)
5604 +#define NDIS_SIZEOF_SRIOV_PF_LUID_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_PF_LUID_INFO, Luid)
5605 +#define NDIS_SIZEOF_SRIOV_VF_SERIAL_NUMBER_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_VF_SERIAL_NUMBER_INFO, SerialNumber)
5606 +#define NDIS_SIZEOF_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO, BlockMask)
5607 +#define NDIS_SIZEOF_NDIS_SWITCH_PORT_PROPERTY_SECURITY_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_PROPERTY_SECURITY, AllowTeaming)
5608 +#define NDIS_SIZEOF_NDIS_SWITCH_PORT_PROPERTY_VLAN_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_PROPERTY_VLAN, VlanProperties)
5609 +#define NDIS_SIZEOF_NDIS_SWITCH_PORT_PROPERTY_PROFILE_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_PROPERTY_PROFILE, CdnLabel)
5610 +#define NDIS_SIZEOF_NDIS_SWITCH_PORT_PROPERTY_CUSTOM_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_PROPERTY_CUSTOM, PropertyBufferOffset)
5611 +#define NDIS_SIZEOF_NDIS_SWITCH_PORT_PROPERTY_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_PROPERTY_PARAMETERS, Reserved)
5612 +#define NDIS_SIZEOF_NDIS_SWITCH_PORT_PROPERTY_ENUM_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_PROPERTY_ENUM_PARAMETERS, Reserved)
5613 +#define NDIS_SIZEOF_NDIS_SWITCH_PORT_PROPERTY_ENUM_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_PROPERTY_ENUM_INFO, PropertyBufferOffset)
5614 +#define NDIS_SIZEOF_NDIS_SWITCH_PORT_FEATURE_STATUS_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_FEATURE_STATUS_PARAMETERS, Reserved)
5615 +#define NDIS_SIZEOF_NDIS_SWITCH_PORT_FEATURE_STATUS_CUSTOM_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_FEATURE_STATUS_CUSTOM, FeatureStatusBufferOffset)
5616 +#define NDIS_SIZEOF_NDIS_SWITCH_PROPERTY_CUSTOM_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PROPERTY_CUSTOM, PropertyBufferOffset)
5617 +#define NDIS_SIZEOF_NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS, PropertyInstanceId)
5618 +#define NDIS_SIZEOF_NDIS_SWITCH_PROPERTY_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PROPERTY_PARAMETERS, PropertyBufferOffset)
5619 +#define NDIS_SIZEOF_NDIS_SWITCH_PROPERTY_ENUM_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PROPERTY_ENUM_INFO, PropertyBufferOffset)
5620 +#define NDIS_SIZEOF_NDIS_SWITCH_PROPERTY_ENUM_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PROPERTY_ENUM_PARAMETERS, NumProperties)
5621 +#define NDIS_SIZEOF_NDIS_SWITCH_FEATURE_STATUS_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_FEATURE_STATUS_PARAMETERS, FeatureStatusBufferLength)
5622 +#define NDIS_SIZEOF_NDIS_SWITCH_PROPERTY_DELETE_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PROPERTY_DELETE_PARAMETERS, PropertyInstanceId)
5623 +#define NDIS_SIZEOF_NDIS_SWITCH_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PARAMETERS, IsActive)
5624 +#define NDIS_SIZEOF_NDIS_SWITCH_FEATURE_STATUS_CUSTOM_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_FEATURE_STATUS_CUSTOM, FeatureStatusCustomBufferOffset)
5625 +#define NDIS_SIZEOF_NDIS_SWITCH_PORT_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_PARAMETERS, PortState)
5626 +#define NDIS_SIZEOF_NDIS_SWITCH_PORT_ARRAY_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_ARRAY, ElementSize)
5627 +#define NDIS_SIZEOF_NDIS_SWITCH_NIC_OID_REQUEST_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_NIC_OID_REQUEST, OidRequest)
5628 +#define NDIS_SIZEOF_NDIS_SWITCH_NIC_SAVE_STATE_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_NIC_SAVE_STATE, SaveDataOffset)
5629 +#define NDIS_SIZEOF_NDIS_SWITCH_NIC_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_NIC_PARAMETERS, VFAssigned)
5630 +#define NDIS_SIZEOF_NDIS_SWITCH_NIC_ARRAY_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_NIC_ARRAY, ElementSize)
5632 +#define NDIS_SWITCH_PORT_PROPERTY_CUSTOM_GET_BUFFER(PPROPC) ((PVOID) ((PUCHAR) (PPROPC) + (PPROPC)->PropertyBufferOffset))
5633 +#define NDIS_SWITCH_PORT_PROPERTY_PARAMETERS_GET_PROPERTY(PPARM) ((PVOID) ((PUCHAR) (PPARM) + (PPARM)->PropertyBufferOffset))
5634 +#define NDIS_SWITCH_CREATE_PROPERTY_VERSION(VMAJOR, VMINOR) (((VMAJOR) << 8) + (VMINOR))
5635 +#define NDIS_SWITCH_PORT_PROPERTY_ENUM_PARAMETERS_GET_FIRST_INFO(PEPARM) ((PNDIS_SWITCH_PORT_PROPERTY_ENUM_INFO) ((PUCHAR) (PEPARM) + (PEPARM)->FirstPropertyOffset))
5636 +#define NDIS_SWITCH_PORT_PROPERTY_ENUM_INFO_GET_NEXT(PEINFO) ((PNDIS_SWITCH_PORT_PROPERTY_ENUM_INFO) ((ULONG_PTR) (PEINFO) + (PEINFO)->QwordAlignedPropertyBufferLength + sizeof (NDIS_SWITCH_PORT_PROPERTY_ENUM_INFO)))
5637 +#define NDIS_SWITCH_PORT_PROPERTY_ENUM_INFO_GET_PROPERTY(PEINFO) ((PVOID) ((PUCHAR) (PEINFO) + (PEINFO)->PropertyBufferOffset))
5638 +#define NDIS_SWITCH_CREATE_FEATURE_STATUS_VERSION(VMAJOR, VMINOR) (((VMAJOR) << 8) + (VMINOR))
5639 +#define NDIS_SWITCH_PROPERTY_CUSTOM_GET_BUFFER(SWPROPC) ((PVOID) ((PUCHAR) (SWPROPC) + (SWPROPC)->PropertyBufferOffset))
5640 +#define NDIS_SWITCH_PROPERTY_PARAMETERS_GET_PROPERTY(SWPARA) ((PVOID) ((PUCHAR) (SWPARA) + (SWPARA)->PropertyBufferOffset))
5641 +#define NDIS_SWITCH_PROPERTY_ENUM_INFO_GET_NEXT(SWEINFO) ((PNDIS_SWITCH_PROPERTY_ENUM_INFO) ((ULONG_PTR) (SWEINFO) + (SWEINFO)->QwordAlignedPropertyBufferLength + sizeof (NDIS_SWITCH_PROPERTY_ENUM_INFO)))
5642 +#define NDIS_SWITCH_PROPERTY_ENUM_INFO_GET_PROPERTY(SWEINFO) ((PVOID) ((PUCHAR) (SWEINFO) + (SWEINFO)->PropertyBufferOffset))
5643 +#define NDIS_SWITCH_PROPERTY_ENUM_PARAMETERS_GET_FIRST_INFO(SWEPARM) ((PNDIS_SWITCH_PROPERTY_ENUM_INFO) ((PUCHAR) (SWEPARM) + (SWEPARM)->FirstPropertyOffset))
5644 +#define NDIS_SWITCH_PORT_AT_ARRAY_INDEX(PA, IDX) ((PNDIS_SWITCH_PORT_PARAMETERS) ((PUCHAR) (PA) + (PA)->FirstElementOffset + ((PA)->ElementSize * (IDX))))
5645 +#define NDIS_SWITCH_NIC_AT_ARRAY_INDEX(NA, IDX) ((PNDIS_SWITCH_NIC_PARAMETERS) ((PUCHAR) (NA) + (NA)->FirstElementOffset + ((NA)->ElementSize * (IDX))))
5647 +#include <ndkinfo.h>
5648 +#ifndef __MINGW32__
5649 +#include <ws2def.h>
5651 +#include <ws2ipdef.h>
5655 + typedef struct _NDIS_NDK_PERFORMANCE_COUNTERS {
5658 + ULONG64 ConnectFailure;
5659 + ULONG64 ConnectionError;
5660 + ULONG64 ActiveConnection;
5661 + ULONG64 Reserved01;
5662 + ULONG64 Reserved02;
5663 + ULONG64 Reserved03;
5664 + ULONG64 Reserved04;
5665 + ULONG64 Reserved05;
5666 + ULONG64 Reserved06;
5667 + ULONG64 Reserved07;
5668 + ULONG64 Reserved08;
5669 + ULONG64 Reserved09;
5670 + ULONG64 Reserved10;
5671 + ULONG64 Reserved11;
5672 + ULONG64 Reserved12;
5673 + ULONG64 Reserved13;
5674 + ULONG64 Reserved14;
5675 + ULONG64 Reserved15;
5676 + ULONG64 Reserved16;
5677 + ULONG64 Reserved17;
5678 + ULONG64 Reserved18;
5679 + ULONG64 Reserved19;
5680 + ULONG64 Reserved20;
5682 + ULONG64 RDMAInOctets;
5683 + ULONG64 RDMAOutOctets;
5684 + ULONG64 RDMAInFrames;
5685 + ULONG64 RDMAOutFrames;
5686 + } NDIS_NDK_PERFORMANCE_COUNTERS, *PNDIS_NDK_PERFORMANCE_COUNTERS;
5688 + typedef struct _NDIS_NDK_CAPABILITIES {
5689 + NDIS_OBJECT_HEADER Header;
5695 + ULONG MaxInboundReadLimit;
5696 + ULONG MaxOutboundReadLimit;
5698 + ULONG MaxSrqCount;
5699 + ULONG64 MissingCounterMask;
5700 + NDK_ADAPTER_INFO *NdkInfo;
5701 + } NDIS_NDK_CAPABILITIES, *PNDIS_NDK_CAPABILITIES;
5703 + typedef struct _NDK_WMI_ADAPTER_INFO {
5704 + NDK_VERSION Version;
5707 + ULONGLONG MaxRegistrationSize;
5708 + ULONGLONG MaxWindowSize;
5709 + ULONG FRMRPageCount;
5710 + ULONG MaxInitiatorRequestSge;
5711 + ULONG MaxReceiveRequestSge;
5712 + ULONG MaxReadRequestSge;
5713 + ULONG MaxTransferLength;
5714 + ULONG MaxInlineDataSize;
5715 + ULONG MaxInboundReadLimit;
5716 + ULONG MaxOutboundReadLimit;
5717 + ULONG MaxReceiveQueueDepth;
5718 + ULONG MaxInitiatorQueueDepth;
5719 + ULONG MaxSrqDepth;
5721 + ULONG LargeRequestThreshold;
5722 + ULONG MaxCallerData;
5723 + ULONG MaxCalleeData;
5724 + ULONG AdapterFlags;
5725 + } NDK_WMI_ADAPTER_INFO, *PNDK_WMI_ADAPTER_INFO;
5727 + typedef struct _NDIS_WMI_NDK_CAPABILITIES {
5732 + ULONG MaxInboundReadLimit;
5733 + ULONG MaxOutboundReadLimit;
5735 + ULONG MaxSrqCount;
5736 + ULONG64 MissingCounterMask;
5737 + NDK_WMI_ADAPTER_INFO NdkInfo;
5738 + } NDIS_WMI_NDK_CAPABILITIES, *PNDIS_WMI_NDK_CAPABILITIES;
5740 + typedef struct _NDIS_NDK_STATISTICS_INFO {
5741 + NDIS_OBJECT_HEADER Header;
5743 + NDIS_NDK_PERFORMANCE_COUNTERS CounterSet;
5744 + } NDIS_NDK_STATISTICS_INFO;
5746 + typedef struct _NDIS_NDK_CONNECTION_ENTRY {
5747 + SOCKADDR_INET Local;
5748 + SOCKADDR_INET Remote;
5749 + BOOLEAN UserModeOwner;
5751 + } NDIS_NDK_CONNECTION_ENTRY;
5753 + typedef struct _NDIS_NDK_CONNECTIONS {
5754 + NDIS_OBJECT_HEADER Header;
5757 + BOOLEAN NDConnectionsMappedtoTCPConnections;
5758 + NDIS_NDK_CONNECTION_ENTRY Connections[1];
5759 + } NDIS_NDK_CONNECTIONS;
5761 + typedef struct _NDIS_NDK_LOCAL_ENDPOINT_ENTRY {
5762 + SOCKADDR_INET Local;
5763 + BOOLEAN UserModeOwner;
5766 + } NDIS_NDK_LOCAL_ENDPOINT_ENTRY;
5768 + typedef struct _NDIS_NDK_LOCAL_ENDPOINTS {
5769 + NDIS_OBJECT_HEADER Header;
5772 + BOOLEAN NDLocalEndpointsMappedtoTCPLocalEndpoints;
5773 + NDIS_NDK_LOCAL_ENDPOINT_ENTRY LocalEndpoints[1];
5774 + } NDIS_NDK_LOCAL_ENDPOINTS;
5776 + typedef struct _NDIS_QOS_CAPABILITIES {
5777 + NDIS_OBJECT_HEADER Header;
5779 + ULONG MaxNumTrafficClasses;
5780 + ULONG MaxNumEtsCapableTrafficClasses;
5781 + ULONG MaxNumPfcEnabledTrafficClasses;
5782 + } NDIS_QOS_CAPABILITIES, *PNDIS_QOS_CAPABILITIES;
5784 + typedef struct _NDIS_QOS_CLASSIFICATION_ELEMENT {
5785 + NDIS_OBJECT_HEADER Header;
5787 + USHORT ConditionSelector;
5788 + USHORT ConditionField;
5789 + USHORT ActionSelector;
5790 + USHORT ActionField;
5791 + } NDIS_QOS_CLASSIFICATION_ELEMENT, *PNDIS_QOS_CLASSIFICATION_ELEMENT;
5793 + typedef struct _NDIS_QOS_PARAMETERS {
5794 + NDIS_OBJECT_HEADER Header;
5796 + ULONG NumTrafficClasses;
5797 + UCHAR PriorityAssignmentTable[NDIS_QOS_MAXIMUM_PRIORITIES];
5798 + UCHAR TcBandwidthAssignmentTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES];
5799 + UCHAR TsaAssignmentTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES];
5801 + ULONG NumClassificationElements;
5802 + ULONG ClassificationElementSize;
5803 + ULONG FirstClassificationElementOffset;
5804 + } NDIS_QOS_PARAMETERS, *PNDIS_QOS_PARAMETERS;
5806 + typedef NDIS_IF_COUNTED_STRING NDIS_NIC_SWITCH_FRIENDLYNAME, *PNDIS_NIC_SWITCH_FRIENDLYNAME;
5807 + typedef NDIS_IF_COUNTED_STRING NDIS_VPORT_NAME, *PNDIS_VPORT_NAME;
5808 + typedef ULONG NDIS_NIC_SWITCH_ID, *PNDIS_NIC_SWITCH_ID;
5809 + typedef USHORT NDIS_SRIOV_FUNCTION_ID, *PNDIS_SRIOV_FUNCTION_ID;
5810 + typedef ULONG NDIS_VF_RID, *PNDIS_VF_RID;
5812 + typedef enum _NDIS_NIC_SWITCH_TYPE {
5813 + NdisNicSwitchTypeUnspecified,
5814 + NdisNicSwitchTypeExternal,
5815 + NdisNicSwitchTypeMax
5816 + } NDIS_NIC_SWITCH_TYPE, *PNDIS_NIC_SWITCH_TYPE;
5818 + typedef struct _NDIS_NIC_SWITCH_PARAMETERS {
5819 + NDIS_OBJECT_HEADER Header;
5821 + NDIS_NIC_SWITCH_TYPE SwitchType;
5822 + NDIS_NIC_SWITCH_ID SwitchId;
5823 + NDIS_NIC_SWITCH_FRIENDLYNAME SwitchFriendlyName;
5825 + ULONG NdisReserved1;
5826 + ULONG NdisReserved2;
5827 + ULONG NdisReserved3;
5828 + } NDIS_NIC_SWITCH_PARAMETERS, *PNDIS_NIC_SWITCH_PARAMETERS;
5830 + typedef struct _NDIS_NIC_SWITCH_DELETE_SWITCH_PARAMETERS {
5831 + NDIS_OBJECT_HEADER Header;
5833 + NDIS_NIC_SWITCH_ID SwitchId;
5834 + } NDIS_NIC_SWITCH_DELETE_SWITCH_PARAMETERS, *PNDIS_NIC_SWITCH_DELETE_SWITCH_PARAMETERS;
5836 + typedef struct _NDIS_NIC_SWITCH_INFO {
5837 + NDIS_OBJECT_HEADER Header;
5839 + NDIS_NIC_SWITCH_TYPE SwitchType;
5840 + NDIS_NIC_SWITCH_ID SwitchId;
5841 + NDIS_NIC_SWITCH_FRIENDLYNAME SwitchFriendlyName;
5843 + ULONG NumAllocatedVFs;
5845 + ULONG NumActiveVPorts;
5846 + ULONG NumQueuePairsForDefaultVPort;
5847 + ULONG NumQueuePairsForNonDefaultVPorts;
5848 + ULONG NumActiveDefaultVPortMacAddresses;
5849 + ULONG NumActiveNonDefaultVPortMacAddresses;
5850 + ULONG NumActiveDefaultVPortVlanIds;
5851 + ULONG NumActiveNonDefaultVPortVlanIds;
5852 + } NDIS_NIC_SWITCH_INFO, *PNDIS_NIC_SWITCH_INFO;
5854 + typedef struct _NDIS_NIC_SWITCH_INFO_ARRAY {
5855 + NDIS_OBJECT_HEADER Header;
5856 + ULONG FirstElementOffset;
5857 + ULONG NumElements;
5858 + ULONG ElementSize;
5859 + } NDIS_NIC_SWITCH_INFO_ARRAY, *PNDIS_NIC_SWITCH_INFO_ARRAY;
5861 + typedef enum _NDIS_NIC_SWITCH_VPORT_STATE {
5862 + NdisNicSwitchVPortStateUndefined,
5863 + NdisNicSwitchVPortStateActivated,
5864 + NdisNicSwitchVPortStateDeactivated,
5865 + NdisNicSwitchVPortStateMaximum
5866 + } NDIS_NIC_SWITCH_VPORT_STATE, *PNDIS_NIC_SWITCH_VPORT_STATE;
5868 + typedef enum _NDIS_NIC_SWITCH_VPORT_INTERRUPT_MODERATION {
5869 + NdisNicSwitchVPortInterruptModerationUndefined = 0,
5870 + NdisNicSwitchVPortInterruptModerationAdaptive = 1,
5871 + NdisNicSwitchVPortInterruptModerationOff = 2,
5872 + NdisNicSwitchVPortInterruptModerationLow = 100,
5873 + NdisNicSwitchVPortInterruptModerationMedium = 200,
5874 + NdisNicSwitchVPortInterruptModerationHigh = 300,
5875 + } NDIS_NIC_SWITCH_VPORT_INTERRUPT_MODERATION, *PNDIS_NIC_SWITCH_VPORT_INTERRUPT_MODERATION;
5877 + typedef struct _NDIS_NIC_SWITCH_VPORT_PARAMETERS {
5878 + NDIS_OBJECT_HEADER Header;
5880 + NDIS_NIC_SWITCH_ID SwitchId;
5881 + NDIS_NIC_SWITCH_VPORT_ID VPortId;
5882 + NDIS_VPORT_NAME VPortName;
5883 + NDIS_SRIOV_FUNCTION_ID AttachedFunctionId;
5884 + ULONG NumQueuePairs;
5885 + NDIS_NIC_SWITCH_VPORT_INTERRUPT_MODERATION InterruptModeration;
5886 + NDIS_NIC_SWITCH_VPORT_STATE VPortState;
5887 + GROUP_AFFINITY ProcessorAffinity;
5888 + ULONG LookaheadSize;
5889 + } NDIS_NIC_SWITCH_VPORT_PARAMETERS, *PNDIS_NIC_SWITCH_VPORT_PARAMETERS;
5891 + typedef struct _NDIS_NIC_SWITCH_DELETE_VPORT_PARAMETERS {
5892 + NDIS_OBJECT_HEADER Header;
5894 + NDIS_NIC_SWITCH_VPORT_ID VPortId;
5895 + } NDIS_NIC_SWITCH_DELETE_VPORT_PARAMETERS, *PNDIS_NIC_SWITCH_DELETE_VPORT_PARAMETERS;
5897 + typedef struct _NDIS_NIC_SWITCH_VPORT_INFO {
5898 + NDIS_OBJECT_HEADER Header;
5899 + NDIS_NIC_SWITCH_VPORT_ID VPortId;
5901 + NDIS_NIC_SWITCH_ID SwitchId;
5902 + NDIS_VPORT_NAME VPortName;
5903 + NDIS_SRIOV_FUNCTION_ID AttachedFunctionId;
5904 + ULONG NumQueuePairs;
5905 + NDIS_NIC_SWITCH_VPORT_INTERRUPT_MODERATION InterruptModeration;
5906 + NDIS_NIC_SWITCH_VPORT_STATE VPortState;
5907 + GROUP_AFFINITY ProcessorAffinity;
5908 + ULONG LookaheadSize;
5910 + } NDIS_NIC_SWITCH_VPORT_INFO, *PNDIS_NIC_SWITCH_VPORT_INFO;
5912 + typedef struct _NDIS_NIC_SWITCH_VPORT_INFO_ARRAY {
5913 + NDIS_OBJECT_HEADER Header;
5915 + NDIS_NIC_SWITCH_ID SwitchId;
5916 + NDIS_SRIOV_FUNCTION_ID AttachedFunctionId;
5917 + ULONG FirstElementOffset;
5918 + ULONG NumElements;
5919 + ULONG ElementSize;
5920 + } NDIS_NIC_SWITCH_VPORT_INFO_ARRAY, *PNDIS_NIC_SWITCH_VPORT_INFO_ARRAY;
5922 + typedef struct _NDIS_NIC_SWITCH_VF_PARAMETERS {
5923 + NDIS_OBJECT_HEADER Header;
5925 + NDIS_NIC_SWITCH_ID SwitchId;
5926 + NDIS_VM_NAME VMName;
5927 + NDIS_VM_FRIENDLYNAME VMFriendlyName;
5928 + NDIS_SWITCH_NIC_NAME NicName;
5929 + USHORT MacAddressLength;
5930 + UCHAR PermanentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
5931 + UCHAR CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
5932 + NDIS_SRIOV_FUNCTION_ID VFId;
5933 + NDIS_VF_RID RequestorId;
5934 + } NDIS_NIC_SWITCH_VF_PARAMETERS, *PNDIS_NIC_SWITCH_VF_PARAMETERS;
5936 + typedef struct _NDIS_NIC_SWITCH_FREE_VF_PARAMETERS {
5937 + NDIS_OBJECT_HEADER Header;
5939 + NDIS_SRIOV_FUNCTION_ID VFId;
5940 + } NDIS_NIC_SWITCH_FREE_VF_PARAMETERS, *PNDIS_NIC_SWITCH_FREE_VF_PARAMETERS;
5942 + typedef struct _NDIS_NIC_SWITCH_VF_INFO {
5943 + NDIS_OBJECT_HEADER Header;
5945 + NDIS_NIC_SWITCH_ID SwitchId;
5946 + NDIS_VM_NAME VMName;
5947 + NDIS_VM_FRIENDLYNAME VMFriendlyName;
5948 + NDIS_SWITCH_NIC_NAME NicName;
5949 + USHORT MacAddressLength;
5950 + UCHAR PermanentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
5951 + UCHAR CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
5952 + NDIS_SRIOV_FUNCTION_ID VFId;
5953 + NDIS_VF_RID RequestorId;
5954 + } NDIS_NIC_SWITCH_VF_INFO, *PNDIS_NIC_SWITCH_VF_INFO;
5956 + typedef struct _NDIS_NIC_SWITCH_VF_INFO_ARRAY {
5957 + NDIS_OBJECT_HEADER Header;
5959 + NDIS_NIC_SWITCH_ID SwitchId;
5960 + ULONG FirstElementOffset;
5961 + ULONG NumElements;
5962 + ULONG ElementSize;
5963 + } NDIS_NIC_SWITCH_VF_INFO_ARRAY, *PNDIS_NIC_SWITCH_VF_INFO_ARRAY;
5965 + typedef struct _NDIS_SRIOV_CAPABILITIES {
5966 + NDIS_OBJECT_HEADER Header;
5968 + ULONG SriovCapabilities;
5969 + } NDIS_SRIOV_CAPABILITIES, *PNDIS_SRIOV_CAPABILITIES;
5971 + typedef struct _NDIS_SRIOV_READ_VF_CONFIG_SPACE_PARAMETERS {
5972 + NDIS_OBJECT_HEADER Header;
5973 + NDIS_SRIOV_FUNCTION_ID VFId;
5976 + ULONG BufferOffset;
5977 + } NDIS_SRIOV_READ_VF_CONFIG_SPACE_PARAMETERS, *PNDIS_SRIOV_READ_VF_CONFIG_SPACE_PARAMETERS;
5979 + typedef struct _NDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS {
5980 + NDIS_OBJECT_HEADER Header;
5981 + NDIS_SRIOV_FUNCTION_ID VFId;
5984 + ULONG BufferOffset;
5985 + } NDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS, *PNDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS;
5987 + typedef struct _NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS {
5988 + NDIS_OBJECT_HEADER Header;
5989 + NDIS_SRIOV_FUNCTION_ID VFId;
5992 + ULONG BufferOffset;
5993 + } NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS, *PNDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS;
5995 + typedef struct _NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS {
5996 + NDIS_OBJECT_HEADER Header;
5997 + NDIS_SRIOV_FUNCTION_ID VFId;
6000 + ULONG BufferOffset;
6001 + } NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS, *PNDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS;
6003 + typedef struct _NDIS_SRIOV_RESET_VF_PARAMETERS {
6004 + NDIS_OBJECT_HEADER Header;
6005 + NDIS_SRIOV_FUNCTION_ID VFId;
6006 + } NDIS_SRIOV_RESET_VF_PARAMETERS, *PNDIS_SRIOV_RESET_VF_PARAMETERS;
6008 + typedef struct _NDIS_SRIOV_SET_VF_POWER_STATE_PARAMETERS {
6009 + NDIS_OBJECT_HEADER Header;
6010 + NDIS_SRIOV_FUNCTION_ID VFId;
6011 + NDIS_DEVICE_POWER_STATE PowerState;
6012 + BOOLEAN WakeEnable;
6013 + } NDIS_SRIOV_SET_VF_POWER_STATE_PARAMETERS, *PNDIS_SRIOV_SET_VF_POWER_STATE_PARAMETERS;
6015 + typedef struct _NDIS_SRIOV_CONFIG_STATE_PARAMETERS {
6016 + NDIS_OBJECT_HEADER Header;
6019 + } NDIS_SRIOV_CONFIG_STATE_PARAMETERS, *PNDIS_SRIOV_CONFIG_STATE_PARAMETERS;
6021 + typedef struct _NDIS_SRIOV_VF_VENDOR_DEVICE_ID_INFO {
6022 + NDIS_OBJECT_HEADER Header;
6023 + NDIS_SRIOV_FUNCTION_ID VFId;
6026 + } NDIS_SRIOV_VF_VENDOR_DEVICE_ID_INFO, *PNDIS_SRIOV_VF_VENDOR_DEVICE_ID_INFO;
6028 + typedef struct _NDIS_SRIOV_PROBED_BARS_INFO {
6029 + NDIS_OBJECT_HEADER Header;
6030 + ULONG BaseRegisterValuesOffset;
6031 + } NDIS_SRIOV_PROBED_BARS_INFO, *PNDIS_SRIOV_PROBED_BARS_INFO;
6033 + typedef struct _NDIS_RECEIVE_FILTER_MOVE_FILTER_PARAMETERS {
6034 + NDIS_OBJECT_HEADER Header;
6035 + NDIS_RECEIVE_FILTER_ID FilterId;
6036 + NDIS_RECEIVE_QUEUE_ID SourceQueueId;
6037 + NDIS_NIC_SWITCH_VPORT_ID SourceVPortId;
6038 + NDIS_RECEIVE_QUEUE_ID DestQueueId;
6039 + NDIS_NIC_SWITCH_VPORT_ID DestVPortId;
6040 + } NDIS_RECEIVE_FILTER_MOVE_FILTER_PARAMETERS, *PNDIS_RECEIVE_FILTER_MOVE_FILTER_PARAMETERS;
6042 + typedef struct _NDIS_SRIOV_BAR_RESOURCES_INFO {
6043 + NDIS_OBJECT_HEADER Header;
6044 + NDIS_SRIOV_FUNCTION_ID VFId;
6046 + ULONG BarResourcesOffset;
6047 + } NDIS_SRIOV_BAR_RESOURCES_INFO, *PNDIS_SRIOV_BAR_RESOURCES_INFO;
6049 + typedef struct _NDIS_SRIOV_PF_LUID_INFO {
6050 + NDIS_OBJECT_HEADER Header;
6052 + } NDIS_SRIOV_PF_LUID_INFO, *PNDIS_SRIOV_PF_LUID_INFO;
6054 + typedef struct _NDIS_SRIOV_VF_SERIAL_NUMBER_INFO {
6055 + NDIS_OBJECT_HEADER Header;
6056 + ULONG SerialNumber;
6057 + } NDIS_SRIOV_VF_SERIAL_NUMBER_INFO, *PNDIS_SRIOV_VF_SERIAL_NUMBER_INFO;
6059 + typedef struct _NDIS_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO {
6060 + NDIS_OBJECT_HEADER Header;
6061 + ULONG64 BlockMask;
6062 + } NDIS_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO, *PNDIS_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO;
6064 + typedef GUID NDIS_SWITCH_OBJECT_INSTANCE_ID, *PNDIS_SWITCH_OBJECT_INSTANCE_ID;
6065 + typedef GUID NDIS_SWITCH_OBJECT_ID, *PNDIS_SWITCH_OBJECT_ID;
6066 + typedef USHORT NDIS_SWITCH_OBJECT_VERSION, *PNDIS_SWITCH_OBJECT_VERSION;
6067 + typedef USHORT NDIS_SWITCH_OBJECT_SERIALIZATION_VERSION, *PNDIS_SWITCH_OBJECT_SERIALIZATION_VERSION;
6068 +#ifndef _NDIS_SWITCH_PORT_ID
6069 +#define _NDIS_SWITCH_PORT_ID NDIS_SWITCH_PORT_ID
6070 + typedef UINT32 NDIS_SWITCH_PORT_ID, *PNDIS_SWITCH_PORT_ID;
6071 + typedef USHORT NDIS_SWITCH_NIC_INDEX, *PNDIS_SWITCH_NIC_INDEX;
6074 + typedef enum _NDIS_SWITCH_PORT_PROPERTY_TYPE {
6075 + NdisSwitchPortPropertyTypeUndefined,
6076 + NdisSwitchPortPropertyTypeCustom,
6077 + NdisSwitchPortPropertyTypeSecurity,
6078 + NdisSwitchPortPropertyTypeVlan,
6079 + NdisSwitchPortPropertyTypeProfile,
6080 + NdisSwitchPortPropertyTypeMaximum
6081 + } NDIS_SWITCH_PORT_PROPERTY_TYPE, *PNDIS_SWITCH_PORT_PROPERTY_TYPE;
6083 + typedef struct _NDIS_SWITCH_PORT_PROPERTY_SECURITY {
6084 + NDIS_OBJECT_HEADER Header;
6086 + BOOLEAN AllowMacSpoofing;
6087 + BOOLEAN AllowIeeePriorityTag;
6088 + UINT32 VirtualSubnetId;
6089 + BOOLEAN AllowTeaming;
6090 + } NDIS_SWITCH_PORT_PROPERTY_SECURITY, *PNDIS_SWITCH_PORT_PROPERTY_SECURITY;
6092 + typedef enum _NDIS_SWITCH_PORT_VLAN_MODE {
6093 + NdisSwitchPortVlanModeUnknown = 0,
6094 + NdisSwitchPortVlanModeAccess = 1,
6095 + NdisSwitchPortVlanModeTrunk = 2,
6096 + NdisSwitchPortVlanModePrivate = 3,
6097 + NdisSwitchPortVlanModeMax = 4
6098 + } NDIS_SWITCH_PORT_VLAN_MODE, *PNDIS_SWITCH_PORT_VLAN_MODE;
6100 + typedef enum _NDIS_SWITCH_PORT_PVLAN_MODE {
6101 + NdisSwitchPortPvlanModeUndefined = 0,
6102 + NdisSwitchPortPvlanModeIsolated,
6103 + NdisSwitchPortPvlanModeCommunity,
6104 + NdisSwitchPortPvlanModePromiscuous
6105 + } NDIS_SWITCH_PORT_PVLAN_MODE, *PNDIS_SWITCH_PORT_PVLAN_MODE;
6107 + typedef struct _NDIS_SWITCH_PORT_PROPERTY_VLAN {
6108 + NDIS_OBJECT_HEADER Header;
6110 + NDIS_SWITCH_PORT_VLAN_MODE OperationMode;
6111 + _ANONYMOUS_UNION union {
6113 + UINT16 AccessVlanId;
6114 + UINT16 NativeVlanId;
6115 + UINT64 PruneVlanIdArray[64];
6116 + UINT64 TrunkVlanIdArray[64];
6119 + NDIS_SWITCH_PORT_PVLAN_MODE PvlanMode;
6120 + UINT16 PrimaryVlanId;
6121 + _ANONYMOUS_UNION union {
6122 + UINT16 SecondaryVlanId;
6123 + UINT64 SecondaryVlanIdArray[64];
6125 + } PvlanProperties;
6127 + } NDIS_SWITCH_PORT_PROPERTY_VLAN, *PNDIS_SWITCH_PORT_PROPERTY_VLAN;
6129 + typedef struct _NDIS_SWITCH_PORT_PROPERTY_PROFILE {
6130 + NDIS_OBJECT_HEADER Header;
6132 + NDIS_SWITCH_PORT_PROPERTY_PROFILE_NAME ProfileName;
6134 + NDIS_VENDOR_NAME VendorName;
6136 + UINT32 ProfileData;
6137 + GUID NetCfgInstanceId;
6139 + UINT32 PciSegmentNumber:16;
6140 + UINT32 PciBusNumber:8;
6141 + UINT32 PciDeviceNumber:5;
6142 + UINT32 PciFunctionNumber:3;
6144 + UINT32 CdnLabelId;
6145 + NDIS_SWITCH_PORT_PROPERTY_PROFILE_CDN_LABEL CdnLabel;
6146 + } NDIS_SWITCH_PORT_PROPERTY_PROFILE, *PNDIS_SWITCH_PORT_PROPERTY_PROFILE;
6148 + typedef struct _NDIS_SWITCH_PORT_PROPERTY_CUSTOM {
6149 + NDIS_OBJECT_HEADER Header;
6151 + ULONG PropertyBufferLength;
6152 + ULONG PropertyBufferOffset;
6153 + } NDIS_SWITCH_PORT_PROPERTY_CUSTOM, *PNDIS_SWITCH_PORT_PROPERTY_CUSTOM;
6155 + typedef struct _NDIS_SWITCH_PORT_PROPERTY_PARAMETERS {
6156 + NDIS_OBJECT_HEADER Header;
6158 + NDIS_SWITCH_PORT_ID PortId;
6159 + NDIS_SWITCH_PORT_PROPERTY_TYPE PropertyType;
6160 + NDIS_SWITCH_OBJECT_ID PropertyId;
6161 + NDIS_SWITCH_OBJECT_VERSION PropertyVersion;
6162 + NDIS_SWITCH_OBJECT_SERIALIZATION_VERSION SerializationVersion;
6163 + NDIS_SWITCH_OBJECT_INSTANCE_ID PropertyInstanceId;
6164 + ULONG PropertyBufferLength;
6165 + ULONG PropertyBufferOffset;
6167 + } NDIS_SWITCH_PORT_PROPERTY_PARAMETERS, *PNDIS_SWITCH_PORT_PROPERTY_PARAMETERS;
6169 + typedef struct _NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS {
6170 + NDIS_OBJECT_HEADER Header;
6172 + NDIS_SWITCH_PORT_ID PortId;
6173 + NDIS_SWITCH_PORT_PROPERTY_TYPE PropertyType;
6174 + NDIS_SWITCH_OBJECT_ID PropertyId;
6175 + NDIS_SWITCH_OBJECT_INSTANCE_ID PropertyInstanceId;
6176 + } NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS, *PNDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS;
6178 + typedef struct _NDIS_SWITCH_PORT_PROPERTY_ENUM_PARAMETERS {
6179 + NDIS_OBJECT_HEADER Header;
6181 + NDIS_SWITCH_PORT_ID PortId;
6182 + NDIS_SWITCH_PORT_PROPERTY_TYPE PropertyType;
6183 + NDIS_SWITCH_OBJECT_ID PropertyId;
6184 + NDIS_SWITCH_OBJECT_SERIALIZATION_VERSION SerializationVersion;
6185 + ULONG FirstPropertyOffset;
6186 + ULONG NumProperties;
6188 + } NDIS_SWITCH_PORT_PROPERTY_ENUM_PARAMETERS, *PNDIS_SWITCH_PORT_PROPERTY_ENUM_PARAMETERS;
6190 + typedef struct _NDIS_SWITCH_PORT_PROPERTY_ENUM_INFO {
6191 + NDIS_OBJECT_HEADER Header;
6193 + NDIS_SWITCH_OBJECT_VERSION PropertyVersion;
6194 + NDIS_SWITCH_OBJECT_INSTANCE_ID PropertyInstanceId;
6195 + ULONG QwordAlignedPropertyBufferLength;
6196 + ULONG PropertyBufferLength;
6197 + ULONG PropertyBufferOffset;
6198 + } NDIS_SWITCH_PORT_PROPERTY_ENUM_INFO, *PNDIS_SWITCH_PORT_PROPERTY_ENUM_INFO;
6200 + typedef enum _NDIS_SWITCH_PORT_FEATURE_STATUS_TYPE {
6201 + NdisSwitchPortFeatureStatusTypeUndefined,
6202 + NdisSwitchPortFeatureStatusTypeCustom,
6203 + NdisSwitchPortFeatureStatusTypeMaximum
6204 + } NDIS_SWITCH_PORT_FEATURE_STATUS_TYPE, *PNDIS_SWITCH_PORT_FEATURE_STATUS_TYPE;
6206 + typedef struct _NDIS_SWITCH_PORT_FEATURE_STATUS_PARAMETERS {
6207 + NDIS_OBJECT_HEADER Header;
6209 + NDIS_SWITCH_PORT_ID PortId;
6210 + NDIS_SWITCH_PORT_FEATURE_STATUS_TYPE FeatureStatusType;
6211 + NDIS_SWITCH_OBJECT_ID FeatureStatusId;
6212 + NDIS_SWITCH_OBJECT_VERSION FeatureStatusVersion;
6213 + NDIS_SWITCH_OBJECT_SERIALIZATION_VERSION SerializationVersion;
6214 + NDIS_SWITCH_OBJECT_INSTANCE_ID FeatureStatusInstanceId;
6215 + ULONG FeatureStatusBufferLength;
6216 + ULONG FeatureStatusBufferOffset;
6218 + } NDIS_SWITCH_PORT_FEATURE_STATUS_PARAMETERS, *PNDIS_SWITCH_PORT_FEATURE_STATUS_PARAMETERS;
6220 + typedef struct _NDIS_SWITCH_PORT_FEATURE_STATUS_CUSTOM {
6221 + NDIS_OBJECT_HEADER Header;
6223 + ULONG FeatureStatusBufferLength;
6224 + ULONG FeatureStatusBufferOffset;
6225 + } NDIS_SWITCH_PORT_FEATURE_STATUS_CUSTOM, *PNDIS_SWITCH_PORT_FEATURE_STATUS_CUSTOM;
6227 + typedef enum _NDIS_SWITCH_PROPERTY_TYPE {
6228 + NdisSwitchPropertyTypeUndefined,
6229 + NdisSwitchPropertyTypeCustom,
6230 + NdisSwitchPropertyTypeMaximum
6231 + } NDIS_SWITCH_PROPERTY_TYPE, *PNDIS_SWITCH_PROPERTY_TYPE;
6233 + typedef struct _NDIS_SWITCH_PROPERTY_CUSTOM {
6234 + NDIS_OBJECT_HEADER Header;
6236 + ULONG PropertyBufferLength;
6237 + ULONG PropertyBufferOffset;
6238 + } NDIS_SWITCH_PROPERTY_CUSTOM, *PNDIS_SWITCH_PROPERTY_CUSTOM;
6240 + typedef struct _NDIS_SWITCH_PROPERTY_PARAMETERS {
6241 + NDIS_OBJECT_HEADER Header;
6243 + NDIS_SWITCH_PROPERTY_TYPE PropertyType;
6244 + NDIS_SWITCH_OBJECT_ID PropertyId;
6245 + NDIS_SWITCH_OBJECT_VERSION PropertyVersion;
6246 + NDIS_SWITCH_OBJECT_SERIALIZATION_VERSION SerializationVersion;
6247 + NDIS_SWITCH_OBJECT_INSTANCE_ID PropertyInstanceId;
6248 + ULONG PropertyBufferLength;
6249 + ULONG PropertyBufferOffset;
6250 + } NDIS_SWITCH_PROPERTY_PARAMETERS, *PNDIS_SWITCH_PROPERTY_PARAMETERS;
6252 + typedef struct _NDIS_SWITCH_PROPERTY_DELETE_PARAMETERS {
6253 + NDIS_OBJECT_HEADER Header;
6255 + NDIS_SWITCH_PROPERTY_TYPE PropertyType;
6256 + NDIS_SWITCH_OBJECT_ID PropertyId;
6257 + NDIS_SWITCH_OBJECT_INSTANCE_ID PropertyInstanceId;
6258 + } NDIS_SWITCH_PROPERTY_DELETE_PARAMETERS, *PNDIS_SWITCH_PROPERTY_DELETE_PARAMETERS;
6260 + typedef struct _NDIS_SWITCH_PROPERTY_ENUM_INFO {
6261 + NDIS_OBJECT_HEADER Header;
6263 + NDIS_SWITCH_OBJECT_INSTANCE_ID PropertyInstanceId;
6264 + NDIS_SWITCH_OBJECT_VERSION PropertyVersion;
6265 + ULONG QwordAlignedPropertyBufferLength;
6266 + ULONG PropertyBufferLength;
6267 + ULONG PropertyBufferOffset;
6268 + } NDIS_SWITCH_PROPERTY_ENUM_INFO, *PNDIS_SWITCH_PROPERTY_ENUM_INFO;
6270 + typedef struct _NDIS_SWITCH_PROPERTY_ENUM_PARAMETERS {
6271 + NDIS_OBJECT_HEADER Header;
6273 + NDIS_SWITCH_PROPERTY_TYPE PropertyType;
6274 + NDIS_SWITCH_OBJECT_ID PropertyId;
6275 + NDIS_SWITCH_OBJECT_SERIALIZATION_VERSION SerializationVersion;
6276 + ULONG FirstPropertyOffset;
6277 + ULONG NumProperties;
6278 + } NDIS_SWITCH_PROPERTY_ENUM_PARAMETERS, *PNDIS_SWITCH_PROPERTY_ENUM_PARAMETERS;
6280 + typedef enum _NDIS_SWITCH_FEATURE_STATUS_TYPE {
6281 + NdisSwitchFeatureStatusTypeUndefined,
6282 + NdisSwitchFeatureStatusTypeCustom,
6283 + NdisSwitchFeatureStatusTypeMaximum
6284 + } NDIS_SWITCH_FEATURE_STATUS_TYPE, *PNDIS_SWITCH_FEATURE_STATUS_TYPE;
6286 + typedef struct _NDIS_SWITCH_FEATURE_STATUS_PARAMETERS {
6287 + NDIS_OBJECT_HEADER Header;
6289 + NDIS_SWITCH_FEATURE_STATUS_TYPE FeatureStatusType;
6290 + NDIS_SWITCH_OBJECT_ID FeatureStatusId;
6291 + NDIS_SWITCH_OBJECT_INSTANCE_ID FeatureStatusInstanceId;
6292 + NDIS_SWITCH_OBJECT_VERSION FeatureStatusVersion;
6293 + NDIS_SWITCH_OBJECT_SERIALIZATION_VERSION SerializationVersion;
6294 + ULONG FeatureStatusBufferOffset;
6295 + ULONG FeatureStatusBufferLength;
6296 + } NDIS_SWITCH_FEATURE_STATUS_PARAMETERS, *PNDIS_SWITCH_FEATURE_STATUS_PARAMETERS;
6298 + typedef struct _NDIS_SWITCH_FEATURE_STATUS_CUSTOM {
6299 + NDIS_OBJECT_HEADER Header;
6301 + ULONG FeatureStatusCustomBufferLength;
6302 + ULONG FeatureStatusCustomBufferOffset;
6303 + } NDIS_SWITCH_FEATURE_STATUS_CUSTOM, *PNDIS_SWITCH_FEATURE_STATUS_CUSTOM;
6305 + typedef struct _NDIS_SWITCH_PARAMETERS {
6306 + NDIS_OBJECT_HEADER Header;
6308 + NDIS_SWITCH_NAME SwitchName;
6309 + NDIS_SWITCH_FRIENDLYNAME SwitchFriendlyName;
6310 + UINT32 NumSwitchPorts;
6312 + } NDIS_SWITCH_PARAMETERS, *PNDIS_SWITCH_PARAMETERS;
6314 + typedef enum _NDIS_SWITCH_PORT_TYPE {
6315 + NdisSwitchPortTypeGeneric = 0,
6316 + NdisSwitchPortTypeExternal = 1,
6317 + NdisSwitchPortTypeSynthetic = 2,
6318 + NdisSwitchPortTypeEmulated = 3,
6319 + NdisSwitchPortTypeInternal = 4
6320 + } NDIS_SWITCH_PORT_TYPE;
6322 + typedef enum _NDIS_SWITCH_PORT_STATE {
6323 + NdisSwitchPortStateUnknown = 0,
6324 + NdisSwitchPortStateCreated = 1,
6325 + NdisSwitchPortStateTeardown = 2,
6326 + NdisSwitchPortStateDeleted = 3
6327 + } NDIS_SWITCH_PORT_STATE;
6329 + typedef struct _NDIS_SWITCH_PORT_PARAMETERS {
6330 + NDIS_OBJECT_HEADER Header;
6332 + NDIS_SWITCH_PORT_ID PortId;
6333 + NDIS_SWITCH_PORT_NAME PortName;
6334 + NDIS_SWITCH_PORT_FRIENDLYNAME PortFriendlyName;
6335 + NDIS_SWITCH_PORT_TYPE PortType;
6336 + BOOLEAN IsValidationPort;
6337 + NDIS_SWITCH_PORT_STATE PortState;
6338 + } NDIS_SWITCH_PORT_PARAMETERS, *PNDIS_SWITCH_PORT_PARAMETERS;
6340 + typedef struct _NDIS_SWITCH_PORT_ARRAY {
6341 + NDIS_OBJECT_HEADER Header;
6343 + USHORT FirstElementOffset;
6344 + ULONG NumElements;
6345 + ULONG ElementSize;
6346 + } NDIS_SWITCH_PORT_ARRAY, *PNDIS_SWITCH_PORT_ARRAY;
6348 + typedef enum _NDIS_SWITCH_NIC_TYPE {
6349 + NdisSwitchNicTypeExternal = 0,
6350 + NdisSwitchNicTypeSynthetic = 1,
6351 + NdisSwitchNicTypeEmulated = 2,
6352 + NdisSwitchNicTypeInternal = 3
6353 + } NDIS_SWITCH_NIC_TYPE;
6355 + typedef enum _NDIS_SWITCH_NIC_STATE {
6356 + NdisSwitchNicStateUnknown = 0,
6357 + NdisSwitchNicStateCreated = 1,
6358 + NdisSwitchNicStateConnected = 2,
6359 + NdisSwitchNicStateDisconnected = 3,
6360 + NdisSwitchNicStateDeleted = 4
6361 + } NDIS_SWITCH_NIC_STATE;
6363 + typedef struct _NDIS_SWITCH_NIC_PARAMETERS {
6364 + NDIS_OBJECT_HEADER Header;
6366 + NDIS_SWITCH_NIC_NAME NicName;
6367 + NDIS_SWITCH_NIC_FRIENDLYNAME NicFriendlyName;
6368 + NDIS_SWITCH_PORT_ID PortId;
6369 + NDIS_SWITCH_NIC_INDEX NicIndex;
6370 + NDIS_SWITCH_NIC_TYPE NicType;
6371 + NDIS_SWITCH_NIC_STATE NicState;
6372 + NDIS_VM_NAME VmName;
6373 + NDIS_VM_FRIENDLYNAME VmFriendlyName;
6374 + GUID NetCfgInstanceId;
6376 + USHORT NumaNodeId;
6377 + UCHAR PermanentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
6378 + UCHAR VMMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
6379 + UCHAR CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
6380 + BOOLEAN VFAssigned;
6381 + } NDIS_SWITCH_NIC_PARAMETERS, *PNDIS_SWITCH_NIC_PARAMETERS;
6383 + typedef struct _NDIS_SWITCH_NIC_ARRAY {
6384 + NDIS_OBJECT_HEADER Header;
6386 + USHORT FirstElementOffset;
6387 + ULONG NumElements;
6388 + ULONG ElementSize;
6389 + } NDIS_SWITCH_NIC_ARRAY, *PNDIS_SWITCH_NIC_ARRAY;
6391 + typedef struct _NDIS_OID_REQUEST NDIS_OID_REQUEST, *PNDIS_OID_REQUEST;
6393 + typedef struct _NDIS_SWITCH_NIC_OID_REQUEST {
6394 + NDIS_OBJECT_HEADER Header;
6396 + NDIS_SWITCH_PORT_ID SourcePortId;
6397 + NDIS_SWITCH_NIC_INDEX SourceNicIndex;
6398 + NDIS_SWITCH_PORT_ID DestinationPortId;
6399 + NDIS_SWITCH_NIC_INDEX DestinationNicIndex;
6400 + PNDIS_OID_REQUEST OidRequest;
6401 + } NDIS_SWITCH_NIC_OID_REQUEST, *PNDIS_SWITCH_NIC_OID_REQUEST;
6403 + typedef struct _NDIS_SWITCH_NIC_SAVE_STATE {
6404 + NDIS_OBJECT_HEADER Header;
6406 + NDIS_SWITCH_PORT_ID PortId;
6407 + NDIS_SWITCH_NIC_INDEX NicIndex;
6409 + NDIS_SWITCH_EXTENSION_FRIENDLYNAME ExtensionFriendlyName;
6410 + GUID FeatureClassId;
6411 + USHORT SaveDataSize;
6412 + USHORT SaveDataOffset;
6413 + } NDIS_SWITCH_NIC_SAVE_STATE, *PNDIS_SWITCH_NIC_SAVE_STATE;
6416 + typedef struct _NDIS_PORT_STATE {
6417 + NDIS_OBJECT_HEADER Header;
6418 + NDIS_MEDIA_CONNECT_STATE MediaConnectState;
6419 + ULONG64 XmitLinkSpeed;
6420 + ULONG64 RcvLinkSpeed;
6421 + NET_IF_DIRECTION_TYPE Direction;
6422 + NDIS_PORT_CONTROL_STATE SendControlState;
6423 + NDIS_PORT_CONTROL_STATE RcvControlState;
6424 + NDIS_PORT_AUTHORIZATION_STATE SendAuthorizationState;
6425 + NDIS_PORT_AUTHORIZATION_STATE RcvAuthorizationState;
6427 + } NDIS_PORT_STATE, *PNDIS_PORT_STATE;
6429 + typedef struct _NDIS_PORT_CHARACTERISTICS {
6430 + NDIS_OBJECT_HEADER Header;
6431 + NDIS_PORT_NUMBER PortNumber;
6433 + NDIS_PORT_TYPE Type;
6434 + NDIS_MEDIA_CONNECT_STATE MediaConnectState;
6435 + ULONG64 XmitLinkSpeed;
6436 + ULONG64 RcvLinkSpeed;
6437 + NET_IF_DIRECTION_TYPE Direction;
6438 + NDIS_PORT_CONTROL_STATE SendControlState;
6439 + NDIS_PORT_CONTROL_STATE RcvControlState;
6440 + NDIS_PORT_AUTHORIZATION_STATE SendAuthorizationState;
6441 + NDIS_PORT_AUTHORIZATION_STATE RcvAuthorizationState;
6442 + } NDIS_PORT_CHARACTERISTICS, *PNDIS_PORT_CHARACTERISTICS;
6444 + typedef struct _NDIS_PORT NDIS_PORT, *PNDIS_PORT;
6446 + struct _NDIS_PORT {
6448 + PVOID NdisReserved;
6449 + PVOID MiniportReserved;
6450 + PVOID ProtocolReserved;
6451 + NDIS_PORT_CHARACTERISTICS PortCharacteristics;
6454 + typedef struct _NDIS_PORT_ARRAY {
6455 + NDIS_OBJECT_HEADER Header;
6456 + ULONG NumberOfPorts;
6457 + ULONG OffsetFirstPort;
6458 + ULONG ElementSize;
6459 + NDIS_PORT_CHARACTERISTICS Ports[1];
6460 + } NDIS_PORT_ARRAY, *PNDIS_PORT_ARRAY;
6472 --- w32api-5.0.2/include/ndkinfo.h.orig 1970-01-01 01:00:00.000000000 +0100
6473 +++ w32api-5.0.2/include/ndkinfo.h 2018-09-22 09:40:16.426289627 +0200
6475 +/* https://github.com/Alexpux/mingw-w64/raw/master/mingw-w64-headers/include/ndkinfo.h */
6477 + * This file is part of the mingw-w64 runtime package.
6478 + * No warranty is given; refer to the file DISCLAIMER within this package.
6481 +#ifndef _NDKINFO_H_
6482 +#define _NDKINFO_H_
6485 +#include <winapifamily.h>
6487 +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
6490 +#define NDK_ADAPTER_FLAG_IN_ORDER_DMA_SUPPORTED 0x1
6491 +#define NDK_ADAPTER_FLAG_RDMA_READ_SINK_NOT_REQUIRED 0x2
6492 +#define NDK_ADAPTER_FLAG_CQ_INTERRUPT_MODERATION_SUPPORTED 0x4
6493 +#define NDK_ADAPTER_FLAG_MULTI_ENGINE_SUPPORTED 0x8
6494 +#define NDK_ADAPTER_FLAG_CQ_RESIZE_SUPPORTED 0x100
6495 +#define NDK_ADAPTER_FLAG_LOOPBACK_CONNECTIONS_SUPPORTED 0x10000
6502 +typedef struct _NDK_ADAPTER_INFO {
6503 + NDK_VERSION Version;
6506 + SIZE_T MaxRegistrationSize;
6507 + SIZE_T MaxWindowSize;
6508 + ULONG FRMRPageCount;
6509 + ULONG MaxInitiatorRequestSge;
6510 + ULONG MaxReceiveRequestSge;
6511 + ULONG MaxReadRequestSge;
6512 + ULONG MaxTransferLength;
6513 + ULONG MaxInlineDataSize;
6514 + ULONG MaxInboundReadLimit;
6515 + ULONG MaxOutboundReadLimit;
6516 + ULONG MaxReceiveQueueDepth;
6517 + ULONG MaxInitiatorQueueDepth;
6518 + ULONG MaxSrqDepth;
6520 + ULONG LargeRequestThreshold;
6521 + ULONG MaxCallerData;
6522 + ULONG MaxCalleeData;
6523 + ULONG AdapterFlags;
6524 +} NDK_ADAPTER_INFO;
6530 --- w32api-5.0.2/include/winsock2.h.orig 2017-11-28 14:28:34.000000000 +0100
6531 +++ w32api-5.0.2/include/winsock2.h 2018-09-24 21:27:52.022015050 +0200
6533 typedef int (PASCAL *LPFN_WSAASYNCSELECT) (SOCKET, HWND, u_int, long);
6535 typedef struct sockaddr_storage SOCKADDR_STORAGE, *PSOCKADDR_STORAGE;
6536 +typedef u_short ADDRESS_FAMILY;
6538 WINSOCK_API_LINKAGE SOCKET WINAPI WSAAccept (SOCKET, struct sockaddr *, LPINT, LPCONDITIONPROC, DWORD);
6540 --- w32api/include/iptypes.h.orig 2017-11-28 19:03:04.000000000 +0100
6541 +++ w32api/include/iptypes.h 2018-09-24 21:51:51.068665286 +0200
6542 @@ -124,6 +124,16 @@
6543 ScopeLevelOrganization = 8,
6544 ScopeLevelGlobal = 14
6545 +, ScopeLevelCount = 16
6547 +typedef struct _SCOPE_ID {
6548 + _ANONYMOUS_UNION union {
6549 + _ANONYMOUS_STRUCT struct {
6555 +} SCOPE_ID, *PSCOPE_ID;
6559 --- w32api-5.0.2/lib/iphlpapi.def.orig 2017-11-09 02:35:48.000000000 +0100
6560 +++ w32api-5.0.2/lib/iphlpapi.def 2018-09-26 15:56:52.920268737 +0200
6562 LIBRARY IPHLPAPI.DLL
6565 +AllocateAndGetInterfaceInfoFromStack@20
6566 +AllocateAndGetIpAddrTableFromStack@16
6567 +CPNatfwtCreateProviderInstance@20
6568 +CPNatfwtDeregisterProviderInstance@4
6569 +CPNatfwtDestroyProviderInstance@4
6570 +CPNatfwtIndicateReceivedBuffers@24
6571 +CPNatfwtRegisterProviderInstance@20
6572 +CancelIPChangeNotify@4
6573 +CancelMibChangeNotify2@4
6574 +ConvertGuidToStringA@12
6575 +ConvertGuidToStringW@12
6576 +ConvertInterfaceAliasToLuid@8
6577 +ConvertInterfaceGuidToLuid@8
6578 +ConvertInterfaceIndexToLuid@8
6579 +ConvertInterfaceLuidToAlias@12
6580 +ConvertInterfaceLuidToGuid@8
6581 +ConvertInterfaceLuidToIndex@8
6582 +ConvertInterfaceLuidToNameA@12
6583 +ConvertInterfaceLuidToNameW@12
6584 +ConvertInterfaceNameToLuidA@8
6585 +ConvertInterfaceNameToLuidW@8
6586 +ConvertInterfacePhysicalAddressToLuid@12
6587 +ConvertIpv4MaskToLength@8
6588 +ConvertLengthToIpv4Mask@8
6589 +ConvertRemoteInterfaceAliasToLuid@12
6590 +ConvertRemoteInterfaceGuidToLuid@12
6591 +ConvertRemoteInterfaceIndexToLuid@12
6592 +ConvertRemoteInterfaceLuidToAlias@16
6593 +ConvertRemoteInterfaceLuidToGuid@12
6594 +ConvertRemoteInterfaceLuidToIndex@12
6595 +ConvertStringToGuidA@8
6596 +ConvertStringToGuidW@8
6597 +ConvertStringToInterfacePhysicalAddress@8
6598 +CreateAnycastIpAddressEntry@4
6599 +CreateIpForwardEntry2@4
6600 CreateIpForwardEntry@4
6601 +CreateIpNetEntry2@4
6603 +CreatePersistentTcpPortReservation@12
6604 +CreatePersistentUdpPortReservation@12
6605 CreateProxyArpEntry@12
6606 +CreateSortedAddressPairs@28
6607 +CreateUnicastIpAddressEntry@4
6608 +DeleteAnycastIpAddressEntry@4
6610 +DeleteIpForwardEntry2@4
6611 DeleteIpForwardEntry@4
6612 +DeleteIpNetEntry2@4
6614 +DeletePersistentTcpPortReservation@8
6615 +DeletePersistentUdpPortReservation@8
6616 DeleteProxyArpEntry@12
6617 +DeleteUnicastIpAddressEntry@4
6618 +DisableMediaSense@8
6622 -GetAdaptersAddresses@20
6626 +GetAdapterOrderMap@0
6627 +GetAdaptersAddresses@20
6629 +GetAnycastIpAddressEntry@4
6630 +GetAnycastIpAddressTable@8
6632 +GetBestInterfaceEx@8
6635 +GetCurrentThreadCompartmentId@0
6636 GetExtendedTcpTable@24
6637 +GetExtendedUdpTable@24
6638 GetFriendlyIfIndex@4
6640 +GetIcmpStatisticsEx@8
6648 +GetInvertedIfStackTable@4
6650 +GetIpErrorString@12
6651 +GetIpForwardEntry2@4
6652 +GetIpForwardTable2@8
6653 GetIpForwardTable@12
6654 +GetIpInterfaceEntry@4
6655 +GetIpInterfaceTable@8
6662 +GetIpStatisticsEx@8
6663 +GetMulticastIpAddressEntry@4
6664 +GetMulticastIpAddressTable@8
6665 +GetNetworkInformation@20
6667 GetNumberOfInterfaces@4
6668 +GetOwnerModuleFromPidAndInfo@20
6669 +GetOwnerModuleFromTcp6Entry@16
6670 +GetOwnerModuleFromTcpEntry@16
6671 +GetOwnerModuleFromUdp6Entry@16
6672 +GetOwnerModuleFromUdpEntry@16
6673 GetPerAdapterInfo@12
6674 +GetPerTcp6ConnectionEStats@44
6675 +GetPerTcp6ConnectionStats@32
6676 +GetPerTcpConnectionEStats@44
6677 +GetPerTcpConnectionStats@32
6678 GetRTTAndHopCount@16
6679 +GetSessionCompartmentId@4
6683 +GetTcpStatisticsEx@8
6689 +GetUdpStatisticsEx@8
6691 GetUniDirectionalAdapterInfo@8
6692 +GetUnicastIpAddressEntry@4
6693 +GetUnicastIpAddressTable@8
6695 +Icmp6ParseReplies@8
6703 +InitializeIpForwardEntry@4
6704 +InitializeIpInterfaceEntry@4
6705 +InitializeUnicastIpAddressEntry@4
6706 +InternalCleanupPersistentStore@8
6707 +InternalCreateAnycastIpAddressEntry@8
6708 +InternalCreateIpForwardEntry2@8
6709 +InternalCreateIpForwardEntry@4
6710 +InternalCreateIpNetEntry2@8
6711 +InternalCreateIpNetEntry@4
6712 +InternalCreateUnicastIpAddressEntry@8
6713 +InternalDeleteAnycastIpAddressEntry@8
6714 +InternalDeleteIpForwardEntry2@8
6715 +InternalDeleteIpForwardEntry@4
6716 +InternalDeleteIpNetEntry2@8
6717 +InternalDeleteIpNetEntry@4
6718 +InternalDeleteUnicastIpAddressEntry@8
6719 +InternalFindInterfaceByAddress@8
6720 +InternalGetAnycastIpAddressEntry@8
6721 +InternalGetAnycastIpAddressTable@12
6722 +InternalGetForwardIpTable2@12
6723 +InternalGetIfEntry2@8
6724 +InternalGetIfTable2@8
6725 +InternalGetIfTable@12
6726 +InternalGetIpAddrTable@12
6727 +InternalGetIpForwardEntry2@8
6728 +InternalGetIpForwardTable@12
6729 +InternalGetIpInterfaceEntry@8
6730 +InternalGetIpInterfaceTable@12
6731 +InternalGetIpNetEntry2@8
6732 +InternalGetIpNetTable2@12
6733 +InternalGetIpNetTable@12
6734 +InternalGetMulticastIpAddressEntry@8
6735 +InternalGetMulticastIpAddressTable@12
6736 +InternalGetTcp6Table2@12
6737 +InternalGetTcp6TableWithOwnerModule@12
6738 +InternalGetTcp6TableWithOwnerPid@12
6739 +InternalGetTcpTable2@12
6740 +InternalGetTcpTable@12
6741 +InternalGetTcpTableEx@12
6742 +InternalGetTcpTableWithOwnerModule@12
6743 +InternalGetTcpTableWithOwnerPid@12
6744 +InternalGetTunnelPhysicalAdapter@8
6745 +InternalGetUdp6TableWithOwnerModule@12
6746 +InternalGetUdp6TableWithOwnerPid@12
6747 +InternalGetUdpTable@12
6748 +InternalGetUdpTableEx@12
6749 +InternalGetUdpTableWithOwnerModule@12
6750 +InternalGetUdpTableWithOwnerPid@12
6751 +InternalGetUnicastIpAddressEntry@8
6752 +InternalGetUnicastIpAddressTable@12
6753 +InternalSetIfEntry@4
6754 +InternalSetIpForwardEntry2@8
6755 +InternalSetIpForwardEntry@4
6756 +InternalSetIpInterfaceEntry@8
6757 +InternalSetIpNetEntry2@8
6758 +InternalSetIpNetEntry@4
6759 +InternalSetIpStats@4
6760 +InternalSetTcpEntry@4
6761 +InternalSetTeredoPort@4
6762 +InternalSetUnicastIpAddressEntry@8
6765 +LookupPersistentTcpPortReservation@12
6766 +LookupPersistentUdpPortReservation@12
6767 +NTPTimeToNTFileTime@12
6769 +NhGetGuidFromInterfaceName@16
6770 +NhGetInterfaceDescriptionFromGuid@20
6771 +NhGetInterfaceNameFromDeviceGuid@20
6772 +NhGetInterfaceNameFromGuid@20
6773 +NhpAllocateAndGetInterfaceInfoFromStack@20
6775 +NotifyIpInterfaceChange@20
6776 +NotifyRouteChange2@20
6778 +NotifyStableUnicastIpAddressTable@20
6779 +NotifyTeredoPortChange@16
6780 +NotifyUnicastIpAddressChange@20
6781 +ParseNetworkString@20
6782 +_PfAddFiltersToInterface@24
6783 +_PfAddGlobalFilterToInterface@8
6784 +_PfBindInterfaceToIPAddress@12
6785 +_PfBindInterfaceToIndex@16
6786 +_PfCreateInterface@24
6787 +_PfDeleteInterface@4
6789 +_PfGetInterfaceStatistics@16
6792 +_PfRemoveFilterHandles@12
6793 +_PfRemoveFiltersFromInterface@20
6794 +_PfRemoveGlobalFilterFromInterface@8
6797 +_PfUnBindInterface@4
6798 +ResolveIpNetEntry2@8
6800 +RestoreMediaSense@8
6802 SetAdapterIpAddress@20
6803 +SetCurrentThreadCompartmentId@4
6805 +SetIpForwardEntry2@4
6807 +SetIpInterfaceEntry@4
6811 +SetIpStatisticsEx@8
6813 +SetNetworkInformation@12
6814 +SetPerTcp6ConnectionEStats@24
6815 +SetPerTcp6ConnectionStats@20
6816 +SetPerTcpConnectionEStats@24
6817 +SetPerTcpConnectionStats@20
6818 +SetSessionCompartmentId@8
6820 +SetUnicastIpAddressEntry@4
6827 --- w32api-5.0.2/include/shlobj.h.orig 2017-11-09 02:35:48.000000000 +0100
6828 +++ w32api-5.0.2/include/shlobj.h 2019-03-17 21:21:15.503665619 +0100
6829 @@ -1500,6 +1500,41 @@
6830 void WINAPI SHGetSetSettings(LPSHELLSTATE,DWORD,BOOL);
6833 +#if NTDDI_VERSION >= 0x06000000
6834 +typedef GUID KNOWNFOLDERID;
6836 +#define REFKNOWNFOLDERID const KNOWNFOLDERID &
6838 +#define REFKNOWNFOLDERID const KNOWNFOLDERID * /* __MIDL_CONST */
6842 + KF_FLAG_DEFAULT = 0x00000000,
6843 +#if NTDDI_VERSION >= 0x06010000
6844 + KF_FLAG_NO_APPCONTAINER_REDIRECTION = 0x00010000,
6846 + KF_FLAG_CREATE = 0x00008000,
6847 + KF_FLAG_DONT_VERIFY = 0x00004000,
6848 + KF_FLAG_DONT_UNEXPAND = 0x00002000,
6849 + KF_FLAG_NO_ALIAS = 0x00001000,
6850 + KF_FLAG_INIT = 0x00000800,
6851 + KF_FLAG_DEFAULT_PATH = 0x00000400,
6852 + KF_FLAG_NOT_PARENT_RELATIVE = 0x00000200,
6853 + KF_FLAG_SIMPLE_IDLIST = 0x00000100,
6854 + KF_FLAG_ALIAS_ONLY = 0x80000000
6855 + } KNOWN_FOLDER_FLAG;
6857 + DEFINE_ENUM_FLAG_OPERATORS (KNOWN_FOLDER_FLAG);
6859 + STDAPI SHGetKnownFolderIDList (REFKNOWNFOLDERID rfid, DWORD dwFlags, HANDLE hToken, LPCITEMIDLIST *ppidl);
6860 + STDAPI SHSetKnownFolderPath (REFKNOWNFOLDERID rfid, DWORD dwFlags, HANDLE hToken, PCWSTR pszPath);
6861 + STDAPI SHGetKnownFolderPath (REFKNOWNFOLDERID rfid, DWORD dwFlags, HANDLE hToken, PWSTR *ppszPath);
6864 +#if NTDDI_VERSION >= 0x06010000
6865 + STDAPI SHGetKnownFolderItem (REFKNOWNFOLDERID rfid, KNOWN_FOLDER_FLAG flags, HANDLE hToken, REFIID riid, void **ppv);
6868 #if (_WIN32_WINNT >= 0x0500) /* W2K */
6869 BOOL WINAPI ILIsEqual(LPCITEMIDLIST, LPCITEMIDLIST);
6870 BOOL WINAPI ILIsParent(LPCITEMIDLIST, LPCITEMIDLIST, BOOL);
6871 --- w32api-5.0.2/include/winapifamily.h.orig 1970-01-01 01:00:00.000000000 +0100
6872 +++ w32api-5.0.2/include/winapifamily.h 2020-07-28 18:04:49.272345505 +0200
6875 + * This file is part of the mingw-w64 runtime package.
6876 + * No warranty is given; refer to the file DISCLAIMER within this package.
6879 +#ifndef _INC_WINAPIFAMILY
6880 +#define _INC_WINAPIFAMILY
6882 +#define WINAPI_PARTITION_DESKTOP 0x1
6883 +#define WINAPI_PARTITION_APP 0x2
6885 +#define WINAPI_FAMILY_APP WINAPI_PARTITION_APP
6886 +#define WINAPI_FAMILY_DESKTOP_APP (WINAPI_PARTITION_DESKTOP \
6887 + | WINAPI_PARTITION_APP)
6889 +/* WINAPI_FAMILY can be either desktop + App, or App. */
6890 +#ifndef WINAPI_FAMILY
6891 +#define WINAPI_FAMILY WINAPI_FAMILY_DESKTOP_APP
6894 +#define WINAPI_FAMILY_PARTITION(v) ((WINAPI_FAMILY & v) == v)
6895 +#define WINAPI_FAMILY_ONE_PARTITION(vset, v) ((WINAPI_FAMILY & vset) == v)
6898 --- w32api-5.0.2/include/winioctl.h.orig 2017-11-09 02:35:48.000000000 +0100
6899 +++ w32api-5.0.2/include/winioctl.h 2019-03-17 21:22:23.789962347 +0100
6901 #define FSCTL_SET_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM,41,METHOD_BUFFERED,FILE_ANY_ACCESS)
6902 #define FSCTL_DELETE_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM,43,METHOD_BUFFERED,FILE_ANY_ACCESS)
6903 #define FSCTL_SET_SPARSE CTL_CODE(FILE_DEVICE_FILE_SYSTEM,49,METHOD_BUFFERED,FILE_SPECIAL_ACCESS)
6904 +#define FSCTL_SET_ZERO_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM,50,METHOD_BUFFERED,FILE_WRITE_DATA)
6905 #define FSCTL_ALLOW_EXTENDED_DASD_IO CTL_CODE(FILE_DEVICE_FILE_SYSTEM,32,METHOD_NEITHER,FILE_ANY_ACCESS)
6907 typedef DWORD DEVICE_TYPE;
6908 @@ -272,6 +273,15 @@
6909 LARGE_INTEGER MftZoneEnd;
6910 } NTFS_VOLUME_DATA_BUFFER, *PNTFS_VOLUME_DATA_BUFFER;
6912 +typedef struct _FILE_SET_SPARSE_BUFFER {
6913 + BOOLEAN SetSparse;
6914 +} FILE_SET_SPARSE_BUFFER,*PFILE_SET_SPARSE_BUFFER;
6916 +typedef struct _FILE_ZERO_DATA_INFORMATION {
6917 + LARGE_INTEGER FileOffset;
6918 + LARGE_INTEGER BeyondFinalZero;
6919 +} FILE_ZERO_DATA_INFORMATION,*PFILE_ZERO_DATA_INFORMATION;
6923 #undef __WINIOCTL_H_SOURCED__
6924 --- w32api-5.0.2/lib/shell32.def.orig 2017-11-09 02:35:48.000000000 +0100
6925 +++ w32api-5.0.2/lib/shell32.def 2019-03-17 21:25:25.175646363 +0100
6930 +SHGetKnownFolderIDList@16
6931 +SHGetKnownFolderItem@20
6932 +SHGetKnownFolderPath@16
6933 +SHSetKnownFolderPath@16