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,200 @@
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 BOOLEAN WINAPI Wow64EnableWow64FsRedirection (BOOLEAN Wow64FsEnableRedirection);
434 +#define CreateDirectoryTransacted __AW_SUFFIXED__(CreateDirectoryTransacted)
435 +WINBASEAPI BOOL WINAPI CreateDirectoryTransactedA (LPCSTR lpTemplateDirectory, LPCSTR lpNewDirectory, LPSECURITY_ATTRIBUTES lpSecurityAttributes, HANDLE hTransaction);
436 +WINBASEAPI BOOL WINAPI CreateDirectoryTransactedW (LPCWSTR lpTemplateDirectory, LPCWSTR lpNewDirectory, LPSECURITY_ATTRIBUTES lpSecurityAttributes, HANDLE hTransaction);
438 +#define RemoveDirectoryTransacted __AW_SUFFIXED__(RemoveDirectoryTransacted)
439 +WINBASEAPI BOOL WINAPI RemoveDirectoryTransactedA (LPCSTR lpPathName, HANDLE hTransaction);
440 +WINBASEAPI BOOL WINAPI RemoveDirectoryTransactedW (LPCWSTR lpPathName, HANDLE hTransaction);
442 +#define GetFullPathNameTransacted __AW_SUFFIXED__(GetFullPathNameTransacted)
443 +WINBASEAPI DWORD WINAPI GetFullPathNameTransactedA (LPCSTR lpFileName, DWORD nBufferLength, LPSTR lpBuffer, LPSTR *lpFilePart, HANDLE hTransaction);
444 +WINBASEAPI DWORD WINAPI GetFullPathNameTransactedW (LPCWSTR lpFileName, DWORD nBufferLength, LPWSTR lpBuffer, LPWSTR *lpFilePart, HANDLE hTransaction);
446 +#define CreateFileTransacted __AW_SUFFIXED__(CreateFileTransacted)
447 +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);
448 +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);
450 +#define SetFileAttributesTransacted __AW_SUFFIXED__(SetFileAttributesTransacted)
451 +WINBASEAPI BOOL WINAPI SetFileAttributesTransactedA (LPCSTR lpFileName, DWORD dwFileAttributes, HANDLE hTransaction);
452 +WINBASEAPI BOOL WINAPI SetFileAttributesTransactedW (LPCWSTR lpFileName, DWORD dwFileAttributes, HANDLE hTransaction);
454 +#define GetFileAttributesTransacted __AW_SUFFIXED__(GetFileAttributesTransacted)
455 +WINBASEAPI BOOL WINAPI GetFileAttributesTransactedA (LPCSTR lpFileName, GET_FILEEX_INFO_LEVELS fInfoLevelId, LPVOID lpFileInformation, HANDLE hTransaction);
456 +WINBASEAPI BOOL WINAPI GetFileAttributesTransactedW (LPCWSTR lpFileName, GET_FILEEX_INFO_LEVELS fInfoLevelId, LPVOID lpFileInformation, HANDLE hTransaction);
458 +#define GetCompressedFileSizeTransacted __AW_SUFFIXED__(GetCompressedFileSizeTransacted)
459 +WINBASEAPI DWORD WINAPI GetCompressedFileSizeTransactedA (LPCSTR lpFileName, LPDWORD lpFileSizeHigh, HANDLE hTransaction);
460 +WINBASEAPI DWORD WINAPI GetCompressedFileSizeTransactedW (LPCWSTR lpFileName, LPDWORD lpFileSizeHigh, HANDLE hTransaction);
462 +#define DeleteFileTransacted __AW_SUFFIXED__(DeleteFileTransacted)
463 +WINBASEAPI BOOL WINAPI DeleteFileTransactedA (LPCSTR lpFileName, HANDLE hTransaction);
464 +WINBASEAPI BOOL WINAPI DeleteFileTransactedW (LPCWSTR lpFileName, HANDLE hTransaction);
466 +#define FindFirstFileTransacted __AW_SUFFIXED__(FindFirstFileTransacted)
467 +WINBASEAPI HANDLE WINAPI FindFirstFileTransactedA (LPCSTR lpFileName, FINDEX_INFO_LEVELS fInfoLevelId, LPVOID lpFindFileData, FINDEX_SEARCH_OPS fSearchOp, LPVOID lpSearchFilter, DWORD dwAdditionalFlags, HANDLE hTransaction);
468 +WINBASEAPI HANDLE WINAPI FindFirstFileTransactedW (LPCWSTR lpFileName, FINDEX_INFO_LEVELS fInfoLevelId, LPVOID lpFindFileData, FINDEX_SEARCH_OPS fSearchOp, LPVOID lpSearchFilter, DWORD dwAdditionalFlags, HANDLE hTransaction);
470 +#define CopyFileTransacted __AW_SUFFIXED__(CopyFileTransacted)
471 +WINBASEAPI BOOL WINAPI CopyFileTransactedA (LPCSTR lpExistingFileName, LPCSTR lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, LPBOOL pbCancel, DWORD dwCopyFlags, HANDLE hTransaction);
472 +WINBASEAPI BOOL WINAPI CopyFileTransactedW (LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, LPBOOL pbCancel, DWORD dwCopyFlags, HANDLE hTransaction);
474 +#define MoveFileTransacted __AW_SUFFIXED__(MoveFileTransacted)
475 +WINBASEAPI BOOL WINAPI MoveFileTransactedA (LPCSTR lpExistingFileName, LPCSTR lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, DWORD dwFlags, HANDLE hTransaction);
476 +WINBASEAPI BOOL WINAPI MoveFileTransactedW (LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, DWORD dwFlags, HANDLE hTransaction);
478 +#define CreateHardLinkTransacted __AW_SUFFIXED__(CreateHardLinkTransacted)
479 +WINBASEAPI BOOL WINAPI CreateHardLinkTransactedA (LPCSTR lpFileName, LPCSTR lpExistingFileName, LPSECURITY_ATTRIBUTES lpSecurityAttributes, HANDLE hTransaction);
480 +WINBASEAPI BOOL WINAPI CreateHardLinkTransactedW (LPCWSTR lpFileName, LPCWSTR lpExistingFileName, LPSECURITY_ATTRIBUTES lpSecurityAttributes, HANDLE hTransaction);
482 +typedef enum _STREAM_INFO_LEVELS {
483 + FindStreamInfoStandard,
484 + FindStreamInfoMaxInfoLevel
485 +} STREAM_INFO_LEVELS;
487 +typedef struct _WIN32_FIND_STREAM_DATA {
488 + LARGE_INTEGER StreamSize;
489 + WCHAR cStreamName[MAX_PATH + 36];
490 +} WIN32_FIND_STREAM_DATA,*PWIN32_FIND_STREAM_DATA;
492 +WINBASEAPI HANDLE WINAPI FindFirstStreamW (LPCWSTR lpFileName, STREAM_INFO_LEVELS InfoLevel, LPVOID lpFindStreamData, DWORD dwFlags);
493 +WINBASEAPI BOOL APIENTRY FindNextStreamW (HANDLE hFindStream, LPVOID lpFindStreamData);
494 +WINBASEAPI HANDLE WINAPI FindFirstStreamTransactedW (LPCWSTR lpFileName, STREAM_INFO_LEVELS InfoLevel, LPVOID lpFindStreamData, DWORD dwFlags, HANDLE hTransaction);
495 +WINBASEAPI HANDLE WINAPI FindFirstFileNameW (LPCWSTR lpFileName, DWORD dwFlags, LPDWORD StringLength, PWSTR LinkName);
496 +WINBASEAPI BOOL APIENTRY FindNextFileNameW (HANDLE hFindStream, LPDWORD StringLength, PWSTR LinkName);
497 +WINBASEAPI HANDLE WINAPI FindFirstFileNameTransactedW (LPCWSTR lpFileName, DWORD dwFlags, LPDWORD StringLength, PWSTR LinkName, HANDLE hTransaction);
498 +WINBASEAPI BOOL WINAPI GetNamedPipeClientComputerNameA (HANDLE Pipe, LPSTR ClientComputerName, ULONG ClientComputerNameLength);
499 +WINBASEAPI BOOL WINAPI GetNamedPipeClientProcessId (HANDLE Pipe, PULONG ClientProcessId);
500 +WINBASEAPI BOOL WINAPI GetNamedPipeClientSessionId (HANDLE Pipe, PULONG ClientSessionId);
501 +WINBASEAPI BOOL WINAPI GetNamedPipeServerProcessId (HANDLE Pipe, PULONG ServerProcessId);
502 +WINBASEAPI BOOL WINAPI GetNamedPipeServerSessionId (HANDLE Pipe, PULONG ServerSessionId);
503 +WINBASEAPI BOOL WINAPI SetFileBandwidthReservation (HANDLE hFile, DWORD nPeriodMilliseconds, DWORD nBytesPerPeriod, BOOL bDiscardable, LPDWORD lpTransferSize, LPDWORD lpNumOutstandingRequests);
504 +WINBASEAPI BOOL WINAPI GetFileBandwidthReservation (HANDLE hFile, LPDWORD lpPeriodMilliseconds, LPDWORD lpBytesPerPeriod, LPBOOL pDiscardable, LPDWORD lpTransferSize, LPDWORD lpNumOutstandingRequests);
506 +WINBASEAPI LPVOID WINAPI MapViewOfFileExNuma (HANDLE hFileMappingObject, DWORD dwDesiredAccess, DWORD dwFileOffsetHigh, DWORD dwFileOffsetLow, SIZE_T dwNumberOfBytesToMap, LPVOID lpBaseAddress, DWORD nndPreferred);
508 +WINADVAPI BOOL WINAPI CreateProcessWithTokenW (HANDLE hToken, DWORD dwLogonFlags, LPCWSTR lpApplicationName, LPWSTR lpCommandLine, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCWSTR lpCurrentDirectory, LPSTARTUPINFOW lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation);
510 +WINBASEAPI HANDLE WINAPI CreatePrivateNamespaceA (LPSECURITY_ATTRIBUTES lpPrivateNamespaceAttributes, LPVOID lpBoundaryDescriptor, LPCSTR lpAliasPrefix);
511 +WINBASEAPI HANDLE WINAPI OpenPrivateNamespaceA (LPVOID lpBoundaryDescriptor, LPCSTR lpAliasPrefix);
512 +WINBASEAPI HANDLE APIENTRY CreateBoundaryDescriptorA (LPCSTR Name, ULONG Flags);
513 +WINBASEAPI BOOL WINAPI AddIntegrityLabelToBoundaryDescriptor (HANDLE *BoundaryDescriptor, PSID IntegrityLabel);
515 +WINBASEAPI BOOL WINAPI AllocateUserPhysicalPagesNuma (HANDLE hProcess, PULONG_PTR NumberOfPages, PULONG_PTR PageArray, DWORD nndPreferred);
517 +WINBASEAPI DWORD WINAPI WTSGetActiveConsoleSessionId (VOID);
519 +WINBASEAPI BOOL WINAPI GetNumaProcessorNode (UCHAR Processor, PUCHAR NodeNumber);
520 +WINBASEAPI BOOL WINAPI GetNumaNodeProcessorMask (UCHAR Node, PULONGLONG ProcessorMask);
521 +WINBASEAPI BOOL WINAPI GetNumaAvailableMemoryNode (UCHAR Node, PULONGLONG AvailableBytes);
522 +WINBASEAPI BOOL WINAPI GetNumaProximityNode (ULONG ProximityId, PUCHAR NodeNumber);
524 +typedef DWORD (WINAPI *APPLICATION_RECOVERY_CALLBACK) (PVOID pvParameter);
526 +WINBASEAPI HRESULT WINAPI RegisterApplicationRecoveryCallback (APPLICATION_RECOVERY_CALLBACK pRecoveyCallback, PVOID pvParameter, DWORD dwPingInterval, DWORD dwFlags);
527 +WINBASEAPI HRESULT WINAPI UnregisterApplicationRecoveryCallback (void);
528 +WINBASEAPI HRESULT WINAPI RegisterApplicationRestart (PCWSTR pwzCommandline, DWORD dwFlags);
529 +WINBASEAPI HRESULT WINAPI UnregisterApplicationRestart (void);
530 +WINBASEAPI HRESULT WINAPI GetApplicationRecoveryCallback (HANDLE hProcess, APPLICATION_RECOVERY_CALLBACK *pRecoveryCallback, PVOID *ppvParameter, PDWORD pdwPingInterval, PDWORD pdwFlags);
531 +WINBASEAPI HRESULT WINAPI GetApplicationRestartSettings (HANDLE hProcess, PWSTR pwzCommandline, PDWORD pcchSize, PDWORD pdwFlags);
532 +WINBASEAPI HRESULT WINAPI ApplicationRecoveryInProgress (PBOOL pbCancelled);
533 +WINBASEAPI VOID WINAPI ApplicationRecoveryFinished (BOOL bSuccess);
535 +typedef enum _FILE_ID_TYPE {
538 + ExtendedFileIdType,
540 +} FILE_ID_TYPE,*PFILE_ID_TYPE;
542 +typedef struct FILE_ID_DESCRIPTOR {
545 + __GNUC_EXTENSION union {
546 + LARGE_INTEGER FileId;
548 +#if _WIN32_WINNT >= _WIN32_WINNT_WIN8
549 + FILE_ID_128 ExtendedFileId;
552 +} FILE_ID_DESCRIPTOR,*LPFILE_ID_DESCRIPTOR;
554 +WINBASEAPI HANDLE WINAPI OpenFileById (HANDLE hVolumeHint, LPFILE_ID_DESCRIPTOR lpFileId, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwFlagsAndAttributes);
556 +WINBASEAPI BOOL WINAPI QueryActCtxSettingsW (DWORD dwFlags, HANDLE hActCtx, PCWSTR settingsNameSpace, PCWSTR settingName, PWSTR pvBuffer, SIZE_T dwBuffer, SIZE_T *pdwWrittenOrRequired);
557 +WINBASEAPI BOOL WINAPI ReplacePartitionUnit (PWSTR TargetPartition, PWSTR SparePartition, ULONG Flags);
558 +/* PSECURE_MEMORY_CACHE_CALLBACK not defined
559 +WINBASEAPI BOOL WINAPI AddSecureMemoryCacheCallback (PSECURE_MEMORY_CACHE_CALLBACK pfnCallBack);
560 +WINBASEAPI BOOL WINAPI RemoveSecureMemoryCacheCallback (PSECURE_MEMORY_CACHE_CALLBACK pfnCallBack);
563 #if _WIN32_WINNT >= _WIN32_WINNT_WIN7
564 /* Additional features, available only on the WinNT series platforms, from
565 * the release of Windows-7 onwards.
566 @@ -3042,6 +3417,161 @@
567 BOOLEAN WINAPI TryAcquireSRWLockExclusive (PSRWLOCK);
568 BOOLEAN WINAPI TryAcquireSRWLockShared (PSRWLOCK);
570 +/* PSYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION not defined
571 +WINBASEAPI BOOL WINAPI GetProcessorSystemCycleTime (USHORT Group, PSYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION Buffer, PDWORD ReturnedLength);
573 +WINBASEAPI BOOL WINAPI GetPhysicallyInstalledSystemMemory (PULONGLONG TotalMemoryInKilobytes);
575 +/* REASON_CONTEXT type not defined in MinGW32
576 +typedef REASON_CONTEXT POWER_REQUEST_CONTEXT,*PPOWER_REQUEST_CONTEXT,*LPPOWER_REQUEST_CONTEXT;
578 +WINBASEAPI HANDLE WINAPI PowerCreateRequest (PREASON_CONTEXT Context);
579 +WINBASEAPI BOOL WINAPI PowerSetRequest (HANDLE PowerRequest, POWER_REQUEST_TYPE RequestType);
580 +WINBASEAPI BOOL WINAPI PowerClearRequest (HANDLE PowerRequest, POWER_REQUEST_TYPE RequestType);
583 +WINBASEAPI DWORD WINAPI GetThreadErrorMode (VOID);
584 +WINBASEAPI BOOL WINAPI SetThreadErrorMode (DWORD dwNewMode, LPDWORD lpOldMode);
586 +/* PWOW64_LDT_ENTRY type not defined in MinGW32
587 +WINBASEAPI BOOL WINAPI Wow64GetThreadSelectorEntry (HANDLE hThread, DWORD dwSelector, PWOW64_LDT_ENTRY lpSelectorEntry);
590 +WINBASEAPI BOOL WINAPI SetSearchPathMode (DWORD Flags);
592 +WINADVAPI BOOL WINAPI AddConditionalAce (PACL pAcl, DWORD dwAceRevision, DWORD AceFlags, UCHAR AceType, DWORD AccessMask, PSID pSid, PWCHAR ConditionStr, DWORD *ReturnLength);
594 +#define LookupAccountNameLocal __AW_SUFFIXED__(LookupAccountNameLocal)
595 +WINADVAPI BOOL WINAPI LookupAccountNameLocalA (LPCSTR lpAccountName, PSID Sid, LPDWORD cbSid, LPSTR ReferencedDomainName, LPDWORD cchReferencedDomainName, PSID_NAME_USE peUse);
596 +WINADVAPI BOOL WINAPI LookupAccountNameLocalW (LPCWSTR lpAccountName, PSID Sid, LPDWORD cbSid, LPWSTR ReferencedDomainName, LPDWORD cchReferencedDomainName, PSID_NAME_USE peUse);
598 +#define LookupAccountSidLocal __AW_SUFFIXED__(LookupAccountSidLocal)
599 +WINADVAPI BOOL WINAPI LookupAccountSidLocalA (PSID Sid, LPSTR Name, LPDWORD cchName, LPSTR ReferencedDomainName, LPDWORD cchReferencedDomainName, PSID_NAME_USE peUse);
600 +WINADVAPI BOOL WINAPI LookupAccountSidLocalW (PSID Sid, LPWSTR Name, LPDWORD cchName, LPWSTR ReferencedDomainName, LPDWORD cchReferencedDomainName, PSID_NAME_USE peUse);
602 +WINBASEAPI WORD WINAPI GetActiveProcessorGroupCount (VOID);
603 +WINBASEAPI WORD WINAPI GetMaximumProcessorGroupCount (VOID);
604 +WINBASEAPI DWORD WINAPI GetActiveProcessorCount (WORD GroupNumber);
605 +WINBASEAPI DWORD WINAPI GetMaximumProcessorCount (WORD GroupNumber);
606 +WINBASEAPI BOOL WINAPI GetNumaNodeNumberFromHandle (HANDLE hFile, PUSHORT NodeNumber);
607 +/* PPROCESSOR_NUMBER not defined
608 +WINBASEAPI BOOL WINAPI GetNumaProcessorNodeEx (PPROCESSOR_NUMBER Processor, PUSHORT NodeNumber);
610 +WINBASEAPI BOOL WINAPI GetNumaAvailableMemoryNodeEx (USHORT Node, PULONGLONG AvailableBytes);
611 +WINBASEAPI BOOL WINAPI GetNumaProximityNodeEx (ULONG ProximityId, PUSHORT NodeNumber);
613 +WINBASEAPI BOOL WINAPI CopyContext (PCONTEXT Destination, DWORD ContextFlags, PCONTEXT Source);
614 +WINBASEAPI BOOL WINAPI InitializeContext (PVOID Buffer, DWORD ContextFlags, PCONTEXT *Context, PDWORD ContextLength);
616 +#if defined (__x86_64__) || defined (__i386__)
617 +WINBASEAPI DWORD64 WINAPI GetEnabledXStateFeatures (VOID);
618 +WINBASEAPI BOOL WINAPI GetXStateFeaturesMask (PCONTEXT Context, PDWORD64 FeatureMask);
619 +WINBASEAPI PVOID WINAPI LocateXStateFeature (PCONTEXT Context, DWORD FeatureId, PDWORD Length);
620 +WINBASEAPI BOOL WINAPI SetXStateFeaturesMask (PCONTEXT Context, DWORD64 FeatureMask);
623 +WINBASEAPI DWORD APIENTRY EnableThreadProfiling (HANDLE ThreadHandle, DWORD Flags, DWORD64 HardwareCounters, HANDLE *PerformanceDataHandle);
624 +WINBASEAPI DWORD APIENTRY DisableThreadProfiling (HANDLE PerformanceDataHandle);
625 +WINBASEAPI DWORD APIENTRY QueryThreadProfiling (HANDLE ThreadHandle, PBOOLEAN Enabled);
626 +/* PPERFORMANCE_DATA not defined
627 +WINBASEAPI DWORD APIENTRY ReadThreadProfilingData (HANDLE PerformanceDataHandle, DWORD Flags, PPERFORMANCE_DATA PerformanceData);
630 +#if _WIN32_WINNT >= _WIN32_WINNT_WIN8
632 +typedef enum _THREAD_INFORMATION_CLASS {
633 + ThreadMemoryPriority,
634 + ThreadAbsoluteCpuPriority,
635 + ThreadInformationClassMax
636 +} THREAD_INFORMATION_CLASS;
638 +typedef enum _PROCESS_INFORMATION_CLASS {
639 + ProcessMemoryPriority,
640 + ProcessInformationClassMax
641 +} PROCESS_INFORMATION_CLASS;
644 +WINBASEAPI BOOL WINAPI GetThreadInformation (HANDLE hThread, THREAD_INFORMATION_CLASS ThreadInformationClass, LPVOID ThreadInformation, DWORD ThreadInformationSize);
645 +WINBASEAPI BOOL WINAPI SetThreadInformation (HANDLE hThread, THREAD_INFORMATION_CLASS ThreadInformationClass, LPVOID ThreadInformation, DWORD ThreadInformationSize);
646 +WINBASEAPI BOOL WINAPI GetProcessInformation (HANDLE hProcess, PROCESS_INFORMATION_CLASS ProcessInformationClass, LPVOID ProcessInformation, DWORD ProcesInformationSize);
647 +WINBASEAPI BOOL WINAPI SetProcessInformation (HANDLE hProcess, PROCESS_INFORMATION_CLASS ProcessInformationClass, LPVOID ProcessInformation, DWORD ProcesInformationSize);
649 +typedef struct _MEMORY_PRIORITY_INFORMATION {
650 + ULONG MemoryPriority;
651 +} MEMORY_PRIORITY_INFORMATION,*PMEMORY_PRIORITY_INFORMATION;
653 +#define GetFirmwareEnvironmentVariableEx __AW_SUFFIXED__(GetFirmwareEnvironmentVariableEx)
654 +WINBASEAPI DWORD WINAPI GetFirmwareEnvironmentVariableExA (LPCSTR lpName, LPCSTR lpGuid, PVOID pBuffer, DWORD nSize, PDWORD pdwAttribubutes);
655 +WINBASEAPI DWORD WINAPI GetFirmwareEnvironmentVariableExW (LPCWSTR lpName, LPCWSTR lpGuid, PVOID pBuffer, DWORD nSize, PDWORD pdwAttribubutes);
657 +#define SetFirmwareEnvironmentVariableEx __AW_SUFFIXED__(SetFirmwareEnvironmentVariableEx)
658 +WINBASEAPI BOOL WINAPI SetFirmwareEnvironmentVariableExA (LPCSTR lpName, LPCSTR lpGuid, PVOID pValue, DWORD nSize, DWORD dwAttributes);
659 +WINBASEAPI BOOL WINAPI SetFirmwareEnvironmentVariableExW (LPCWSTR lpName, LPCWSTR lpGuid, PVOID pValue, DWORD nSize, DWORD dwAttributes);
661 +WINBASEAPI BOOL WINAPI GetFirmwareType (PFIRMWARE_TYPE FirmwareType);
662 +WINBASEAPI BOOL WINAPI IsNativeVhdBoot (PBOOL NativeVhdBoot);
664 +typedef ULONG OPERATION_ID;
666 +typedef struct _OPERATION_START_PARAMETERS {
668 + OPERATION_ID OperationId;
670 +} OPERATION_START_PARAMETERS,*POPERATION_START_PARAMETERS;
672 +typedef struct _OPERATION_END_PARAMETERS {
674 + OPERATION_ID OperationId;
676 +} OPERATION_END_PARAMETERS,*POPERATION_END_PARAMETERS;
678 +WINADVAPI BOOL WINAPI OperationStart (OPERATION_START_PARAMETERS *OperationStartParams);
679 +WINADVAPI BOOL WINAPI OperationEnd (OPERATION_END_PARAMETERS *OperationEndParams);
681 +typedef VOID WINAPI BAD_MEMORY_CALLBACK_ROUTINE (VOID);
682 +typedef BAD_MEMORY_CALLBACK_ROUTINE *PBAD_MEMORY_CALLBACK_ROUTINE;
684 +WINBASEAPI PVOID WINAPI RegisterBadMemoryNotification (PBAD_MEMORY_CALLBACK_ROUTINE Callback);
685 +WINBASEAPI BOOL WINAPI UnregisterBadMemoryNotification (PVOID RegistrationHandle);
686 +WINBASEAPI BOOL WINAPI GetMemoryErrorHandlingCapabilities (PULONG Capabilities);
688 +typedef struct _FILE_ALIGNMENT_INFO {
689 + ULONG AlignmentRequirement;
690 +} FILE_ALIGNMENT_INFO,*PFILE_ALIGNMENT_INFO;
692 +typedef struct _FILE_STORAGE_INFO {
693 + ULONG LogicalBytesPerSector;
694 + ULONG PhysicalBytesPerSectorForAtomicity;
695 + ULONG PhysicalBytesPerSectorForPerformance;
696 + ULONG FileSystemEffectivePhysicalBytesPerSectorForAtomicity;
698 + ULONG ByteOffsetForSectorAlignment;
699 + ULONG ByteOffsetForPartitionAlignment;
700 +} FILE_STORAGE_INFO,*PFILE_STORAGE_INFO;
702 +typedef struct _FILE_ID_INFO {
703 + ULONGLONG VolumeSerialNumber;
704 + FILE_ID_128 FileId;
705 +} FILE_ID_INFO,*PFILE_ID_INFO;
707 +typedef struct _FILE_ID_EXTD_DIR_INFO {
708 + ULONG NextEntryOffset;
710 + LARGE_INTEGER CreationTime;
711 + LARGE_INTEGER LastAccessTime;
712 + LARGE_INTEGER LastWriteTime;
713 + LARGE_INTEGER ChangeTime;
714 + LARGE_INTEGER EndOfFile;
715 + LARGE_INTEGER AllocationSize;
716 + ULONG FileAttributes;
717 + ULONG FileNameLength;
719 + ULONG ReparsePointTag;
720 + FILE_ID_128 FileId;
722 +} FILE_ID_EXTD_DIR_INFO,*PFILE_ID_EXTD_DIR_INFO;
724 +#endif /* Win8 and later */
725 #endif /* Win7 and later */
726 #endif /* Windows Vista and later */
727 #endif /* Windows Server-2003 and later */
728 --- w32api-5.0.2/include/winnt.h.orig 2017-11-28 19:03:04.000000000 +0100
729 +++ w32api-5.0.2/include/winnt.h 2019-04-27 18:17:44.580734108 +0200
730 @@ -2716,6 +2716,11 @@
731 ULONGLONG OtherTransferCount;
732 } IO_COUNTERS, *PIO_COUNTERS;
734 +typedef struct FILE_ID_128
735 +{ ULONGLONG LowPart;
736 + ULONGLONG HighPart;
737 +} FILE_ID_128, *PFILE_ID_128;
739 typedef struct _FILE_NOTIFY_INFORMATION
740 { DWORD NextEntryOffset;
742 @@ -3765,6 +3770,13 @@
744 } JOBOBJECT_JOBSET_INFORMATION, *PJOBOBJECT_JOBSET_INFORMATION;
746 +typedef enum _FIRMWARE_TYPE
747 +{ FirmwareTypeUnknown,
751 +} FIRMWARE_TYPE,*PFIRMWARE_TYPE;
753 /* Fixme: Making these defines conditional on WINVER will break ddk includes */
754 #if 1 /* (WINVER >= 0x0500) */
755 #include <pshpack4.h>
756 --- w32api-5.0.2/include/ws2tcpip.h.orig 2017-11-09 02:35:48.000000000 +0100
757 +++ w32api-5.0.2/include/ws2tcpip.h 2018-09-17 05:43:14.524718024 +0200
759 sockaddr_gen iiNetmask;
760 } INTERFACE_INFO, *LPINTERFACE_INFO;
762 +typedef enum _MULTICAST_MODE_TYPE {
765 +} MULTICAST_MODE_TYPE;
767 +typedef struct _sockaddr_in6_pair {
768 + PSOCKADDR_IN6 SourceAddress;
769 + PSOCKADDR_IN6 DestinationAddress;
770 +} SOCKADDR_IN6_PAIR, *PSOCKADDR_IN6_PAIR;
772 +typedef union _SOCKADDR_INET {
775 + ADDRESS_FAMILY si_family;
776 +} SOCKADDR_INET, *PSOCKADDR_INET;
778 +typedef struct group_filter {
779 + ULONG gf_interface;
780 + SOCKADDR_STORAGE gf_group;
781 + MULTICAST_MODE_TYPE gf_fmode;
783 + SOCKADDR_STORAGE gf_slist[1];
784 +} GROUP_FILTER, *PGROUP_FILTER;
786 +typedef struct group_req {
787 + ULONG gr_interface;
788 + SOCKADDR_STORAGE gr_group;
789 +} GROUP_REQ, *PGROUP_REQ;
791 +typedef struct group_source_req {
792 + ULONG gsr_interface;
793 + SOCKADDR_STORAGE gsr_group;
794 + SOCKADDR_STORAGE gsr_source;
795 +} GROUP_SOURCE_REQ, *PGROUP_SOURCE_REQ;
798 The definition above can cause problems on NT4,prior to sp4.
799 To workaround, include the following struct and typedef and
800 @@ -373,6 +373,152 @@
801 } OLD_INTERFACE_INFO;
804 +#if _WIN32_WINNT >= _WIN32_WINNT_VISTA
806 +#define addrinfoEx __AW_SUFFIXED__(addrinfoEx)
807 +typedef struct addrinfoExA {
813 + LPCSTR ai_canonname;
814 + struct sockaddr *ai_addr;
817 + LPGUID ai_provider;
818 + struct addrinfoexA *ai_next;
819 +} ADDRINFOEXA, *PADDRINFOEXA;
821 +typedef struct addrinfoExW {
827 + LPCWSTR ai_canonname;
828 + struct sockaddr *ai_addr;
831 + LPGUID ai_provider;
832 + struct addrinfoexW *ai_next;
833 +} ADDRINFOEXW, *PADDRINFOEXW;
835 +typedef __AW_ALIAS__(ADDRINFOEX), *PADDRINFOEX;
837 +typedef PVOID LPLOOKUPSERVICE_COMPLETION_ROUTINE; /*reserved*/
839 +#define GetAddrInfoEx __AW_SUFFIXED__(GetAddrInfoEx)
840 +WINSOCK_API_LINKAGE int WSAAPI GetAddrInfoExA(PCSTR pName, PCSTR pServiceName, DWORD dwNameSpace,
841 + LPGUID lpNspId,const ADDRINFOEXA *pHints,PADDRINFOEXA *ppResult,
842 + PTIMEVAL timeout,LPOVERLAPPED lpOverlapped,
843 + LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine,
844 + LPHANDLE lpNameHandle);
845 +WINSOCK_API_LINKAGE int WSAAPI GetAddrInfoExW(PCWSTR pName,PCWSTR pServiceName,DWORD dwNameSpace,
846 + LPGUID lpNspId,const ADDRINFOEXW *pHints,PADDRINFOEXW *ppResult,
847 + PTIMEVAL timeout,LPOVERLAPPED lpOverlapped,
848 + LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine,
849 + LPHANDLE lpNameHandle);
851 +#define SetAddrInfoEx __AW_SUFFIXED__(SetAddrInfoEx)
852 +WINSOCK_API_LINKAGE int WSAAPI SetAddrInfoExA(PCSTR pName, PCSTR pServiceName, SOCKET_ADDRESS *pAddresses,
853 + DWORD dwAddressCount,LPBLOB lpBlob,DWORD dwFlags,DWORD dwNameSpace,
854 + LPGUID lpNspId,PTIMEVAL timeout,LPOVERLAPPED lpOverlapped,
855 + LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine,
856 + LPHANDLE lpNameHandle);
857 +WINSOCK_API_LINKAGE int WSAAPI SetAddrInfoExW(PCWSTR pName,PCWSTR pServiceName,SOCKET_ADDRESS *pAddresses,
858 + DWORD dwAddressCount,LPBLOB lpBlob,DWORD dwFlags,DWORD dwNameSpace,
859 + LPGUID lpNspId,PTIMEVAL timeout,LPOVERLAPPED lpOverlapped,
860 + LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine,
861 + LPHANDLE lpNameHandle);
863 +#define FreeAddrInfoEx __AW_SUFFIXED__(FreeAddrInfoEx)
864 +WINSOCK_API_LINKAGE void WSAAPI FreeAddrInfoExA(PADDRINFOEXA pAddrInfo);
865 +WINSOCK_API_LINKAGE void WSAAPI FreeAddrInfoExW(PADDRINFOEXW pAddrInfo);
867 +#if INCL_WINSOCK_API_TYPEDEFS
868 +#define LPFN_GETADDRINFOEX __AW_SUFFIXED__(LPFN_GETADDRINFOEX)
869 + typedef int (WSAAPI *LPFN_GETADDRINFOEXA)(PCSTR pName, PCSTR pServiceName, DWORD dwNameSpace,
870 + LPGUID lpNspId,const ADDRINFOEXA *pHints,PADDRINFOEXA *ppResult,
871 + PTIMEVAL timeout,LPOVERLAPPED lpOverlapped,
872 + LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine,
873 + LPHANDLE lpNameHandle);
874 + typedef int (WSAAPI *LPFN_GETADDRINFOEXW)(PCWSTR pName,PCWSTR pServiceName,DWORD dwNameSpace,
875 + LPGUID lpNspId,const ADDRINFOEXW *pHints,PADDRINFOEXW *ppResult,
876 + PTIMEVAL timeout,LPOVERLAPPED lpOverlapped,
877 + LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine,
878 + LPHANDLE lpNameHandle);
880 +#define LPFN_SETADDRINFOEX __AW_SUFFIXED__(LPFN_SETADDRINFOEX)
881 + typedef int (WSAAPI *LPFN_SETADDRINFOEXA)(PCSTR pName, PCSTR pServiceName, SOCKET_ADDRESS *pAddresses,
882 + DWORD dwAddressCount,LPBLOB lpBlob,DWORD dwFlags,DWORD dwNameSpace,
883 + LPGUID lpNspId,PTIMEVAL timeout,LPOVERLAPPED lpOverlapped,
884 + LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine,
885 + LPHANDLE lpNameHandle);
886 + typedef int (WSAAPI *LPFN_SETADDRINFOEXW)(PCWSTR pName,PCWSTR pServiceName,SOCKET_ADDRESS *pAddresses,
887 + DWORD dwAddressCount,LPBLOB lpBlob,DWORD dwFlags,DWORD dwNameSpace,
888 + LPGUID lpNspId,PTIMEVAL timeout,LPOVERLAPPED lpOverlapped,
889 + LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine,
890 + LPHANDLE lpNameHandle);
892 +#define LPFN_FREEADDRINFOEX __AW_SUFFIXED__(LPFN_FREEADDRINFOEX)
893 + typedef void (WSAAPI *LPFN_FREEADDRINFOEXA)(PADDRINFOEXA pAddrInfo);
894 + typedef void (WSAAPI *LPFN_FREEADDRINFOEXW)(PADDRINFOEXW pAddrInfo);
895 +#endif /* INCL_WINSOCK_API_TYPEDEFS */
898 +WINSOCK_API_LINKAGE int WSAAPI WSAImpersonateSocketPeer(
900 + const struct sockaddr *PeerAddress,
901 + ULONG peerAddressLen
904 +/* SOCKET_SECURITY_* not defined
905 +WINSOCK_API_LINKAGE int WSAAPI WSAQuerySocketSecurity(
907 + const SOCKET_SECURITY_QUERY_TEMPLATE *SecurityQueryTemplate,
908 + ULONG SecurityQueryTemplateLen,
909 + SOCKET_SECURITY_QUERY_INFO *SecurityQueryInfo,
910 + ULONG *SecurityQueryInfoLen,
911 + LPWSAOVERLAPPED Overlapped,
912 + LPWSAOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine
915 +WINSOCK_API_LINKAGE int WSAAPI WSARevertImpersonation(void);
917 +WINSOCK_API_LINKAGE int WSAAPI WSASetSocketPeerTargetName(
919 + const SOCKET_PEER_TARGET_NAME *PeerTargetName,
920 + ULONG PeerTargetNameLen,
921 + LPWSAOVERLAPPED Overlapped,
922 + LPWSAOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine
925 +WINSOCK_API_LINKAGE int WSAAPI WSASetSocketSecurity(
927 + const SOCKET_SECURITY_SETTINGS *SecuritySettings,
928 + ULONG SecuritySettingsLen,
929 + LPWSAOVERLAPPED Overlapped,
930 + LPWSAOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine
934 +#define InetNtopA inet_ntop
936 +WINSOCK_API_LINKAGE LPCWSTR WSAAPI InetNtopW(INT Family, PVOID pAddr, LPWSTR pStringBuf, size_t StringBufSIze);
937 +WINSOCK_API_LINKAGE LPCSTR WSAAPI InetNtopA(INT Family, PVOID pAddr, LPSTR pStringBuf, size_t StringBufSize);
939 +#define InetNtop __AW_SUFFIXED__(InetNtop)
941 +#define InetPtonA inet_pton
943 +WINSOCK_API_LINKAGE INT WSAAPI InetPtonW(INT Family, LPCWSTR pStringBuf, PVOID pAddr);
944 +WINSOCK_API_LINKAGE INT WSAAPI InetPtonA(INT Family, LPCSTR pStringBuf, PVOID pAddr);
946 +#define InetPton __AW_SUFFIXED__(InetPton)
953 --- w32api-5.0.2/include/ifdef.h.orig 1970-01-01 01:00:00.000000000 +0100
954 +++ w32api-5.0.2/include/ifdef.h 2018-09-18 18:11:18.793218987 +0200
956 +/* https://github.com/Alexpux/mingw-w64/raw/master/mingw-w64-headers/include/ifdef.h
957 + with IF_OPER_STATUS definition (already defined in mingw32 iptypes.h) replaced by iptypes.h include */
959 + * This file has no copyright assigned and is placed in the Public Domain.
960 + * This file is part of the mingw-w64 runtime package.
961 + * No warranty is given; refer to the file DISCLAIMER.PD within this package.
966 +#include <ipifcons.h>
967 +#include <iptypes.h>
973 +#define IF_MAX_STRING_SIZE 256
974 +#define IF_MAX_PHYS_ADDRESS_LENGTH 32
976 +typedef UINT32 NET_IF_COMPARTMENT_ID, *PNET_IF_COMPARTMENT_ID;
978 +typedef ULONG NET_IFINDEX, *PNET_IFINDEX;
979 +typedef UINT16 NET_IFTYPE, *PNET_IFTYPE;
980 +typedef NET_IFINDEX IF_INDEX, *PIF_INDEX;
982 +typedef GUID NET_IF_NETWORK_GUID;
984 +typedef enum _NET_IF_OPER_STATUS {
985 + NET_IF_OPER_STATUS_UP = 1,
986 + NET_IF_OPER_STATUS_DOWN,
987 + NET_IF_OPER_STATUS_TESTING,
988 + NET_IF_OPER_STATUS_UNKNOWN,
989 + NET_IF_OPER_STATUS_DORMANT,
990 + NET_IF_OPER_STATUS_NOT_PRESENT,
991 + NET_IF_OPER_STATUS_LOWER_LAYER_DOWN
992 +} NET_IF_OPER_STATUS, *PNET_IF_OPER_STATUS;
994 +typedef enum _NET_IF_ADMIN_STATUS {
995 + NET_IF_ADMIN_STATUS_UP = 1,
996 + NET_IF_ADMIN_STATUS_DOWN,
997 + NET_IF_ADMIN_STATUS_TESTING
998 +} NET_IF_ADMIN_STATUS, *PNET_IF_ADMIN_STATUS;
1000 +typedef enum _NET_IF_MEDIA_CONNECT_STATE {
1001 + MediaConnectStateUnknown,
1002 + MediaConnectStateConnected,
1003 + MediaConnectStateDisconnected
1004 +} NET_IF_MEDIA_CONNECT_STATE, *PNET_IF_MEDIA_CONNECT_STATE;
1006 +typedef enum _NET_IF_ACCESS_TYPE {
1007 + NET_IF_ACCESS_LOOPBACK = 1,
1008 + NET_IF_ACCESS_BROADCAST,
1009 + NET_IF_ACCESS_POINT_TO_POINT,
1010 + NET_IF_ACCESS_POINT_TO_MULTI_POINT,
1011 + NET_IF_ACCESS_MAXIMUM
1012 +} NET_IF_ACCESS_TYPE, *PNET_IF_ACCESS_TYPE;
1014 +typedef enum _NET_IF_CONNECTION_TYPE {
1015 + NET_IF_CONNECTION_DEDICATED = 1,
1016 + NET_IF_CONNECTION_PASSIVE,
1017 + NET_IF_CONNECTION_DEMAND,
1018 + NET_IF_CONNECTION_MAXIMUM
1019 +} NET_IF_CONNECTION_TYPE, *PNET_IF_CONNECTION_TYPE;
1021 +typedef enum _NET_IF_DIRECTION_TYPE {
1022 + NET_IF_DIRECTION_SENDRECEIVE,
1023 + NET_IF_DIRECTION_SENDONLY,
1024 + NET_IF_DIRECTION_RECEIVEONLY,
1025 + NET_IF_DIRECTION_MAXIMUM
1026 +} NET_IF_DIRECTION_TYPE, *PNET_IF_DIRECTION_TYPE;
1028 +typedef enum _NET_IF_MEDIA_DUPLEX_STATE {
1029 + MediaDuplexStateUnknown,
1030 + MediaDuplexStateHalf,
1031 + MediaDuplexStateFull
1032 +} NET_IF_MEDIA_DUPLEX_STATE, *PNET_IF_MEDIA_DUPLEX_STATE;
1034 +typedef enum _TUNNEL_TYPE {
1035 + TUNNEL_TYPE_NONE = 0,
1036 + TUNNEL_TYPE_OTHER = 1,
1037 + TUNNEL_TYPE_DIRECT = 2,
1038 + TUNNEL_TYPE_6TO4 = 11,
1039 + TUNNEL_TYPE_ISATAP = 13,
1040 + TUNNEL_TYPE_TEREDO = 14,
1041 + TUNNEL_TYPE_IPHTTPS = 15
1042 +} TUNNEL_TYPE, *PTUNNEL_TYPE;
1044 +typedef union _NET_LUID {
1046 + _ANONYMOUS_STRUCT struct { /* bitfield with 64 bit types. */
1047 + ULONG64 Reserved :24;
1048 + ULONG64 NetLuidIndex :24;
1049 + ULONG64 IfType :16;
1051 +} NET_LUID, *PNET_LUID;
1053 +typedef NET_LUID IF_LUID, *PIF_LUID;
1055 +typedef struct _IF_COUNTED_STRING_LH {
1057 + WCHAR String[IF_MAX_STRING_SIZE + 1];
1058 +} IF_COUNTED_STRING_LH, *PIF_COUNTED_STRING_LH;
1059 +typedef IF_COUNTED_STRING_LH IF_COUNTED_STRING;
1060 +typedef IF_COUNTED_STRING *PIF_COUNTED_STRING;
1062 +typedef struct _IF_PHYSICAL_ADDRESS_LH {
1064 + UCHAR Address[IF_MAX_PHYS_ADDRESS_LENGTH];
1065 +} IF_PHYSICAL_ADDRESS_LH, *PIF_PHYSICAL_ADDRESS_LH;
1066 +typedef IF_PHYSICAL_ADDRESS_LH IF_PHYSICAL_ADDRESS;
1067 +typedef IF_PHYSICAL_ADDRESS *PIF_PHYSICAL_ADDRESS;
1073 +#endif /* _INC_IFDEF */
1074 --- w32api-5.0.2/include/iphlpapi.h.orig 2017-11-28 19:03:04.000000000 +0100
1075 +++ w32api-5.0.2/include/iphlpapi.h 2018-09-18 17:20:54.629920182 +0200
1077 #include <iprtrmib.h>
1078 #include <ipexport.h>
1079 #include <iptypes.h>
1086 DWORD WINAPI SetTcpEntry(PMIB_TCPROW);
1087 DWORD WINAPI UnenableRouter(OVERLAPPED*, LPDWORD);
1089 +#if NTDDI_VERSION >= __NTDDI_VISTA
1090 +#include <netioapi.h>
1096 --- w32api-5.0.2/include/winreg.h.orig 2017-11-28 19:03:04.000000000 +0100
1097 +++ w32api-5.0.2/include/winreg.h 2019-09-10 20:05:21.217564282 +0200
1103 +#if (WINVER >= _WIN32_WINNT_VISTA)
1104 +#define RRF_RT_REG_NONE 0x00000001
1105 +#define RRF_RT_REG_SZ 0x00000002
1106 +#define RRF_RT_REG_EXPAND_SZ 0x00000004
1107 +#define RRF_RT_REG_BINARY 0x00000008
1108 +#define RRF_RT_REG_DWORD 0x00000010
1109 +#define RRF_RT_REG_MULTI_SZ 0x00000020
1110 +#define RRF_RT_REG_QWORD 0x00000040
1112 +#define RRF_RT_DWORD (RRF_RT_REG_BINARY | RRF_RT_REG_DWORD)
1113 +#define RRF_RT_QWORD (RRF_RT_REG_BINARY | RRF_RT_REG_QWORD)
1114 +#define RRF_RT_ANY 0x0000ffff
1116 +#define RRF_NOEXPAND 0x10000000
1117 +#define RRF_ZEROONFAILURE 0x20000000
1120 #define HKEY_CLASSES_ROOT ((HKEY)0x80000000)
1121 #define HKEY_CURRENT_USER ((HKEY)0x80000001)
1122 #define HKEY_LOCAL_MACHINE ((HKEY)0x80000002)
1124 #define HKEY_PERFORMANCE_DATA ((HKEY)0x80000004)
1125 #define HKEY_CURRENT_CONFIG ((HKEY)0x80000005)
1126 #define HKEY_DYN_DATA ((HKEY)0x80000006)
1127 +#define HKEY_PERFORMANCE_TEXT ((HKEY)0x80000050)
1128 +#define HKEY_PERFORMANCE_NLSTEXT ((HKEY)0x80000060)
1130 #define REG_OPTION_VOLATILE 1
1131 #define REG_OPTION_NON_VOLATILE 0
1132 #define REG_CREATED_NEW_KEY 1
1134 WINADVAPI LONG WINAPI RegCreateKeyW(HKEY,LPCWSTR,PHKEY);
1135 WINADVAPI LONG WINAPI RegDeleteKeyA(HKEY,LPCSTR);
1136 WINADVAPI LONG WINAPI RegDeleteKeyW(HKEY,LPCWSTR);
1137 +#if (WINVER >= _WIN32_WINNT_WINXP)
1138 +WINADVAPI WINBOOL WINAPI InitiateSystemShutdownExA(LPSTR,LPSTR,DWORD,WINBOOL,WINBOOL,DWORD);
1139 +WINADVAPI WINBOOL WINAPI InitiateSystemShutdownExW(LPWSTR,LPWSTR,DWORD,WINBOOL,WINBOOL,DWORD);
1140 +WINADVAPI LONG WINAPI RegSaveKeyExA(HKEY,LPCSTR,LPSECURITY_ATTRIBUTES,DWORD);
1141 +WINADVAPI LONG WINAPI RegSaveKeyExW(HKEY,LPCWSTR,LPSECURITY_ATTRIBUTES,DWORD);
1143 #if (WINVER >= 0x0502)
1144 WINADVAPI LONG WINAPI RegDeleteKeyExA(HKEY,LPCSTR,REGSAM,DWORD);
1145 WINADVAPI LONG WINAPI RegDeleteKeyExW(HKEY,LPCWSTR,REGSAM,DWORD);
1146 @@ -110,6 +137,32 @@
1147 WINADVAPI LONG WINAPI RegSetValueW(HKEY,LPCWSTR,DWORD,LPCWSTR,DWORD);
1148 WINADVAPI LONG WINAPI RegUnLoadKeyA(HKEY,LPCSTR);
1149 WINADVAPI LONG WINAPI RegUnLoadKeyW(HKEY,LPCWSTR);
1150 +#if (WINVER >= _WIN32_WINNT_VISTA)
1151 +typedef LONG LSTATUS;
1152 +WINADVAPI LONG WINAPI RegGetValueA(HKEY,LPCSTR,LPCSTR,DWORD,LPDWORD,PVOID,LPDWORD);
1153 +WINADVAPI LONG WINAPI RegGetValueW(HKEY,LPCWSTR,LPCWSTR,DWORD,LPDWORD,PVOID,LPDWORD);
1154 +WINADVAPI LONG WINAPI RegCopyTreeA(HKEY,LPCSTR,HKEY);
1155 +WINADVAPI LONG WINAPI RegCopyTreeW(HKEY,LPCWSTR,HKEY);
1156 +WINADVAPI LONG WINAPI RegCreateKeyTransactedA(HKEY,LPCSTR,DWORD,LPSTR,DWORD,REGSAM,const LPSECURITY_ATTRIBUTES,PHKEY,LPDWORD,HANDLE,PVOID);
1157 +WINADVAPI LONG WINAPI RegCreateKeyTransactedW(HKEY,LPCWSTR,DWORD,LPWSTR,DWORD,REGSAM,const LPSECURITY_ATTRIBUTES,PHKEY,LPDWORD,HANDLE,PVOID);
1158 +WINADVAPI LONG WINAPI RegDeleteKeyTransactedA(HKEY,LPCSTR,REGSAM,DWORD,HANDLE,PVOID);
1159 +WINADVAPI LONG WINAPI RegDeleteKeyTransactedW(HKEY,LPCWSTR,REGSAM,DWORD,HANDLE,PVOID);
1160 +WINADVAPI LONG WINAPI RegDeleteKeyValueA(HKEY,LPCSTR,LPCSTR);
1161 +WINADVAPI LONG WINAPI RegDeleteKeyValueW(HKEY,LPCWSTR,LPCWSTR);
1162 +WINADVAPI LONG WINAPI RegDeleteTreeA(HKEY,LPCSTR);
1163 +WINADVAPI LONG WINAPI RegDeleteTreeW(HKEY,LPCWSTR);
1164 +WINADVAPI LONG WINAPI RegDisablePredefinedCacheEx(void);
1165 +WINADVAPI LONG WINAPI RegLoadAppKeyA(LPCSTR,PHKEY,REGSAM,DWORD,DWORD);
1166 +WINADVAPI LONG WINAPI RegLoadAppKeyW(LPCWSTR,PHKEY,REGSAM,DWORD,DWORD);
1167 +WINADVAPI LONG WINAPI RegLoadMUIStringA(HKEY,LPCSTR,LPSTR,DWORD,LPDWORD,DWORD,LPCSTR);
1168 +WINADVAPI LONG WINAPI RegLoadMUIStringW(HKEY,LPCWSTR,LPWSTR,DWORD,LPDWORD,DWORD,LPCWSTR);
1169 +WINADVAPI LONG WINAPI RegOpenKeyTransactedA(HKEY,LPCSTR,DWORD,REGSAM,PHKEY,HANDLE,PVOID);
1170 +WINADVAPI LONG WINAPI RegOpenKeyTransactedW(HKEY,LPCWSTR,DWORD,REGSAM,PHKEY,HANDLE,PVOID);
1171 +WINADVAPI LONG WINAPI RegSetKeyValueA(HKEY,LPCSTR,LPCSTR,DWORD,LPCVOID,DWORD);
1172 +WINADVAPI LONG WINAPI RegSetKeyValueW(HKEY,LPCWSTR,LPCWSTR,DWORD,LPCVOID,DWORD);
1173 +WINADVAPI DWORD WINAPI InitiateShutdownA(LPSTR,LPSTR,DWORD,DWORD,DWORD);
1174 +WINADVAPI DWORD WINAPI InitiateShutdownW(LPWSTR,LPWSTR,DWORD,DWORD,DWORD);
1178 typedef VALENTW VALENT,*PVALENT;
1180 #define RegCreateKey RegCreateKeyW
1181 #define RegCreateKeyEx RegCreateKeyExW
1182 #define RegDeleteKey RegDeleteKeyW
1183 +#if (WINVER >= _WIN32_WINNT_WINXP)
1184 +#define RegSaveKeyEx RegSaveKeyExW
1186 #if (WINVER >= 0x0502)
1187 #define RegDeleteKeyEx RegDeleteKeyExW
1189 @@ -139,6 +195,18 @@
1190 #define RegSetValue RegSetValueW
1191 #define RegSetValueEx RegSetValueExW
1192 #define RegUnLoadKey RegUnLoadKeyW
1193 +#if (WINVER >= _WIN32_WINNT_VISTA)
1194 +#define RegGetValue RegGetValueW
1195 +#define RegCopyTree RegCopyTreeW
1196 +#define RegCreateKeyTransacted RegCreateKeyTransactedW
1197 +#define RegDeleteKeyValue RegDeleteKeyValueW
1198 +#define RegDeleteTree RegDeleteTreeW
1199 +#define RegLoadAppKey RegLoadAppKeyW
1200 +#define RegLoadMUIString RegLoadMUIStringW
1201 +#define RegOpenKeyTransacted RegOpenKeyTransactedW
1202 +#define RegSetKeyValue RegSetKeyValueW
1203 +#define InitiateShutdown InitiateShutdownW
1206 typedef VALENTA VALENT,*PVALENT;
1207 #define AbortSystemShutdown AbortSystemShutdownA
1209 #define RegCreateKey RegCreateKeyA
1210 #define RegCreateKeyEx RegCreateKeyExA
1211 #define RegDeleteKey RegDeleteKeyA
1212 +#if (WINVER >= _WIN32_WINNT_WINXP)
1213 +#define RegSaveKeyEx RegSaveKeyExA
1215 #if (WINVER >= 0x0502)
1216 #define RegDeleteKeyEx RegDeleteKeyExA
1218 @@ -167,6 +238,18 @@
1219 #define RegSetValue RegSetValueA
1220 #define RegSetValueEx RegSetValueExA
1221 #define RegUnLoadKey RegUnLoadKeyA
1222 +#if (WINVER >= _WIN32_WINNT_VISTA)
1223 +#define RegGetValue RegGetValueA
1224 +#define RegCopyTree RegCopyTreeA
1225 +#define RegCreateKeyTransacted RegCreateKeyTransactedA
1226 +#define RegDeleteKeyValue RegDeleteKeyValueA
1227 +#define RegDeleteTree RegDeleteTreeA
1228 +#define RegLoadAppKey RegLoadAppKeyA
1229 +#define RegLoadMUIString RegLoadMUIStringA
1230 +#define RegOpenKeyTransacted RegOpenKeyTransactedA
1231 +#define RegSetKeyValue RegSetKeyValueA
1232 +#define InitiateShutdown InitiateShutdownA
1237 --- w32api-5.0.2/include/nldef.h.orig 1970-01-01 01:00:00.000000000 +0100
1238 +++ w32api-5.0.2/include/nldef.h 2018-09-19 20:48:36.358791357 +0200
1240 +/* https://github.com/Alexpux/mingw-w64/raw/master/mingw-w64-headers/include/nldef.h */
1242 + * This file is part of the mingw-w64 runtime package.
1243 + * No warranty is given; refer to the file DISCLAIMER within this package.
1249 +#include <iptypes.h>
1251 +#include <winapifamily.h>
1253 +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || _WIN32_WINNT >= 0x0A00
1262 +/*IpDadStateInvalid = 0,
1263 + IpDadStateTentative,
1264 + IpDadStateDuplicate,
1265 + IpDadStateDeprecated,
1266 + IpDadStatePreferred, */
1269 +#define MAKE_ROUTE_PROTOCOL(N, V) MIB_IPPROTO_ ## N = V, PROTO_IP_ ## N = V
1272 + RouteProtocolOther = 1,
1273 + RouteProtocolLocal = 2,
1274 + RouteProtocolNetMgmt = 3,
1275 + RouteProtocolIcmp = 4,
1276 + RouteProtocolEgp = 5,
1277 + RouteProtocolGgp = 6,
1278 + RouteProtocolHello = 7,
1279 + RouteProtocolRip = 8,
1280 + RouteProtocolIsIs = 9,
1281 + RouteProtocolEsIs = 10,
1282 + RouteProtocolCisco = 11,
1283 + RouteProtocolBbn = 12,
1284 + RouteProtocolOspf = 13,
1285 + RouteProtocolBgp = 14,
1287 + MAKE_ROUTE_PROTOCOL (OTHER, 1),
1288 + MAKE_ROUTE_PROTOCOL (LOCAL, 2),
1289 + MAKE_ROUTE_PROTOCOL (NETMGMT, 3),
1290 + MAKE_ROUTE_PROTOCOL (ICMP, 4),
1291 + MAKE_ROUTE_PROTOCOL (EGP, 5),
1292 + MAKE_ROUTE_PROTOCOL (GGP, 6),
1293 + MAKE_ROUTE_PROTOCOL (HELLO, 7),
1294 + MAKE_ROUTE_PROTOCOL (RIP, 8),
1295 + MAKE_ROUTE_PROTOCOL (IS_IS, 9),
1296 + MAKE_ROUTE_PROTOCOL (ES_IS, 10),
1297 + MAKE_ROUTE_PROTOCOL (CISCO, 11),
1298 + MAKE_ROUTE_PROTOCOL (BBN, 12),
1299 + MAKE_ROUTE_PROTOCOL (OSPF, 13),
1300 + MAKE_ROUTE_PROTOCOL (BGP, 14),
1301 + MAKE_ROUTE_PROTOCOL (NT_AUTOSTATIC, 10002),
1302 + MAKE_ROUTE_PROTOCOL (NT_STATIC, 10006),
1303 + MAKE_ROUTE_PROTOCOL (NT_STATIC_NON_DOD, 10007)
1304 +} NL_ROUTE_PROTOCOL,*PNL_ROUTE_PROTOCOL;
1306 +typedef IP_PREFIX_ORIGIN /* enum {
1307 + IpPrefixOriginOther = 0,
1308 + IpPrefixOriginManual,
1309 + IpPrefixOriginWellKnown,
1310 + IpPrefixOriginDhcp,
1311 + IpPrefixOriginRouterAdvertisement,
1312 + IpPrefixOriginUnchanged = 16
1313 +}*/ NL_PREFIX_ORIGIN;
1320 + NlsoLinkLayerAddress,
1322 +/*IpSuffixOriginOther = 0,
1323 + IpSuffixOriginManual,
1324 + IpSuffixOriginWellKnown,
1325 + IpSuffixOriginDhcp,
1326 + IpSuffixOriginLinkLayerAddress,
1327 + IpSuffixOriginRandom,
1328 + IpSuffixOriginUnchanged = 16*/
1329 +} NL_SUFFIX_ORIGIN;
1338 +} NL_ADDRESS_TYPE, *PNL_ADDRESS_TYPE;
1340 +typedef enum _NL_ROUTE_ORIGIN {
1344 + NlroRouterAdvertisement,
1346 +} NL_ROUTE_ORIGIN, *PNL_ROUTE_ORIGIN;
1348 +typedef enum _NL_NEIGHBOR_STATE {
1357 +} NL_NEIGHBOR_STATE, *PNL_NEIGHBOR_STATE;
1359 +typedef enum _NL_LINK_LOCAL_ADDRESS_BEHAVIOR {
1360 + LinkLocalAlwaysOff = 0,
1362 + LinkLocalAlwaysOn,
1363 + LinkLocalUnchanged = -1
1364 +} NL_LINK_LOCAL_ADDRESS_BEHAVIOR;
1366 +typedef enum _NL_ROUTER_DISCOVERY_BEHAVIOR {
1367 + RouterDiscoveryDisabled = 0,
1368 + RouterDiscoveryEnabled,
1369 + RouterDiscoveryDhcp,
1370 + RouterDiscoveryUnchanged = -1
1371 +} NL_ROUTER_DISCOVERY_BEHAVIOR;
1373 +typedef enum _NL_BANDWIDTH_FLAG {
1376 + NlbwUnchanged = -1
1377 +} NL_BANDWIDTH_FLAG, *PNL_BANDWIDTH_FLAG;
1379 +typedef enum _NL_INTERFACE_NETWORK_CATEGORY_STATE {
1380 + NlincCategoryUnknown = 0,
1383 + NlincDomainAuthenticated = 3,
1384 + NlincCategoryStateMax
1385 +} NL_INTERFACE_NETWORK_CATEGORY_STATE, *PNL_INTERFACE_NETWORK_CATEGORY_STATE;
1387 +typedef struct _NL_INTERFACE_OFFLOAD_ROD {
1388 + BOOLEAN NlChecksumSupported : 1;
1389 + BOOLEAN NlOptionsSupported : 1;
1390 + BOOLEAN TlDatagramChecksumSupported : 1;
1391 + BOOLEAN TlStreamChecksumSupported : 1;
1392 + BOOLEAN TlStreamOptionsSupported : 1;
1393 + BOOLEAN FastPathCompatible : 1;
1394 + BOOLEAN TlLargeSendOffloadSupported : 1;
1395 + BOOLEAN TlGiantSendOffloadSupported : 1;
1396 +} NL_INTERFACE_OFFLOAD_ROD, *PNL_INTERFACE_OFFLOAD_ROD;
1398 +typedef struct _NL_PATH_BANDWIDTH_ROD {
1399 + ULONG64 Bandwidth;
1400 + ULONG64 Instability;
1401 + BOOLEAN BandwidthPeaked;
1402 +} NL_PATH_BANDWIDTH_ROD, *PNL_PATH_BANDWIDTH_ROD;
1404 +typedef enum _NL_NETWORK_CATEGORY {
1405 + NetworkCategoryPublic,
1406 + NetworkCategoryPrivate,
1407 + NetworkCategoryDomainAuthenticated,
1408 + NetworkCategoryUnchanged = -1,
1409 + NetworkCategoryUnknown = -1
1410 +} NL_NETWORK_CATEGORY,*PNL_NETWORK_CATEGORY;
1412 +typedef struct _NL_BANDWIDTH_INFORMATION {
1413 + ULONG64 Bandwidth;
1414 + ULONG64 Instability;
1415 + BOOLEAN BandwidthPeaked;
1416 +} NL_BANDWIDTH_INFORMATION, *PNL_BANDWIDTH_INFORMATION;
1418 +#define NlpoOther IpPrefixOriginOther
1419 +#define NlpoManual IpPrefixOriginManual
1420 +#define NlpoWellKnown IpPrefixOriginWellKnown
1421 +#define NlpoDhcp IpPrefixOriginDhcp
1422 +#define NlpoRouterAdvertisement IpPrefixOriginRouterAdvertisement
1424 +#define NL_MAX_METRIC_COMPONENT ((((ULONG) 1) << 31) - 1)
1426 +#define NET_IF_CURRENT_SESSION ((ULONG)-1)
1433 --- w32api-5.0.2/include/netioapi.h.orig 1970-01-01 01:00:00.000000000 +0100
1434 +++ w32api-5.0.2/include/netioapi.h 2018-09-19 20:50:20.355456840 +0200
1436 +/* https://github.com/Alexpux/mingw-w64/raw/master/mingw-w64-headers/include/netioapi.h, adjusted for mingw32 */
1438 + * This file is part of the mingw-w64 runtime package.
1439 + * No warranty is given; refer to the file DISCLAIMER within this pack
1442 +#ifndef _NETIOAPI_H_
1443 +#define _NETIOAPI_H_
1446 +#include <winapifamily.h>
1448 +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
1460 +#define NETIO_STATUS DWORD
1461 +#define NETIO_SUCCESS(x) ((x) == NO_ERROR)
1462 +#define NETIOAPI_API_ WINAPI
1464 +#ifndef __MINGW32__
1465 +#include <ws2def.h>
1467 +#include <ws2ipdef.h>
1470 +#include <iprtrmib.h>
1473 +#include <ntdef.h> /* for NTSTATUS */
1475 +#define NETIO_STATUS NTSTATUS
1476 +#define NETIO_SUCCESS(x) NT_SUCCESS (x)
1477 +#define NETIOAPI_API_ NTAPI
1480 +#define _NETIOAPI_SUCCESS_
1481 +#define NETIOAPI_API NETIO_STATUS NETIOAPI_API_
1483 +#define IF_NAMESIZE NDIS_IF_MAX_STRING_SIZE
1485 + typedef enum _MIB_NOTIFICATION_TYPE {
1486 + MibParameterNotification,
1488 + MibDeleteInstance,
1489 + MibInitialNotification
1490 + } MIB_NOTIFICATION_TYPE,*PMIB_NOTIFICATION_TYPE;
1492 +#ifdef _NLDEF_ /* _WS2IPDEF_ */
1493 +#include <ntddndis.h>
1495 +#define MIB_INVALID_TEREDO_PORT_NUMBER 0
1497 + typedef enum _MIB_IF_TABLE_LEVEL {
1500 + } MIB_IF_TABLE_LEVEL, *PMIB_IF_TABLE_LEVEL;
1502 + typedef struct _MIB_IF_ROW2 {
1503 + NET_LUID InterfaceLuid;
1504 + NET_IFINDEX InterfaceIndex;
1505 + GUID InterfaceGuid;
1506 + WCHAR Alias[IF_MAX_STRING_SIZE + 1];
1507 + WCHAR Description[IF_MAX_STRING_SIZE + 1];
1508 + ULONG PhysicalAddressLength;
1509 + UCHAR PhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH];
1510 + UCHAR PermanentPhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH];
1513 + TUNNEL_TYPE TunnelType;
1514 + NDIS_MEDIUM MediaType;
1515 + NDIS_PHYSICAL_MEDIUM PhysicalMediumType;
1516 + NET_IF_ACCESS_TYPE AccessType;
1517 + NET_IF_DIRECTION_TYPE DirectionType;
1519 + BOOLEAN HardwareInterface : 1;
1520 + BOOLEAN FilterInterface : 1;
1521 + BOOLEAN ConnectorPresent : 1;
1522 + BOOLEAN NotAuthenticated : 1;
1523 + BOOLEAN NotMediaConnected : 1;
1524 + BOOLEAN Paused : 1;
1525 + BOOLEAN LowPower : 1;
1526 + BOOLEAN EndPointInterface : 1;
1527 + } InterfaceAndOperStatusFlags;
1528 + IF_OPER_STATUS OperStatus;
1529 + NET_IF_ADMIN_STATUS AdminStatus;
1530 + NET_IF_MEDIA_CONNECT_STATE MediaConnectState;
1531 + NET_IF_NETWORK_GUID NetworkGuid;
1532 + NET_IF_CONNECTION_TYPE ConnectionType;
1533 + ULONG64 TransmitLinkSpeed;
1534 + ULONG64 ReceiveLinkSpeed;
1536 + ULONG64 InUcastPkts;
1537 + ULONG64 InNUcastPkts;
1538 + ULONG64 InDiscards;
1540 + ULONG64 InUnknownProtos;
1541 + ULONG64 InUcastOctets;
1542 + ULONG64 InMulticastOctets;
1543 + ULONG64 InBroadcastOctets;
1544 + ULONG64 OutOctets;
1545 + ULONG64 OutUcastPkts;
1546 + ULONG64 OutNUcastPkts;
1547 + ULONG64 OutDiscards;
1548 + ULONG64 OutErrors;
1549 + ULONG64 OutUcastOctets;
1550 + ULONG64 OutMulticastOctets;
1551 + ULONG64 OutBroadcastOctets;
1553 + } MIB_IF_ROW2,*PMIB_IF_ROW2;
1555 + typedef struct _MIB_IF_TABLE2 {
1557 + MIB_IF_ROW2 Table[ANY_SIZE];
1558 + } MIB_IF_TABLE2, *PMIB_IF_TABLE2;
1560 + typedef struct _MIB_IPINTERFACE_ROW {
1561 + ADDRESS_FAMILY Family;
1562 + NET_LUID InterfaceLuid;
1563 + NET_IFINDEX InterfaceIndex;
1564 + ULONG MaxReassemblySize;
1565 + ULONG64 InterfaceIdentifier;
1566 + ULONG MinRouterAdvertisementInterval;
1567 + ULONG MaxRouterAdvertisementInterval;
1568 + BOOLEAN AdvertisingEnabled;
1569 + BOOLEAN ForwardingEnabled;
1570 + BOOLEAN WeakHostSend;
1571 + BOOLEAN WeakHostReceive;
1572 + BOOLEAN UseAutomaticMetric;
1573 + BOOLEAN UseNeighborUnreachabilityDetection;
1574 + BOOLEAN ManagedAddressConfigurationSupported;
1575 + BOOLEAN OtherStatefulConfigurationSupported;
1576 + BOOLEAN AdvertiseDefaultRoute;
1577 + NL_ROUTER_DISCOVERY_BEHAVIOR RouterDiscoveryBehavior;
1578 + ULONG DadTransmits;
1579 + ULONG BaseReachableTime;
1580 + ULONG RetransmitTime;
1581 + ULONG PathMtuDiscoveryTimeout;
1582 + NL_LINK_LOCAL_ADDRESS_BEHAVIOR LinkLocalAddressBehavior;
1583 + ULONG LinkLocalAddressTimeout;
1584 + ULONG ZoneIndices[ScopeLevelCount];
1585 + ULONG SitePrefixLength;
1588 + BOOLEAN Connected;
1589 + BOOLEAN SupportsWakeUpPatterns;
1590 + BOOLEAN SupportsNeighborDiscovery;
1591 + BOOLEAN SupportsRouterDiscovery;
1592 + ULONG ReachableTime;
1593 + NL_INTERFACE_OFFLOAD_ROD TransmitOffload;
1594 + NL_INTERFACE_OFFLOAD_ROD ReceiveOffload;
1595 + BOOLEAN DisableDefaultRoutes;
1596 + } MIB_IPINTERFACE_ROW,*PMIB_IPINTERFACE_ROW;
1598 + typedef struct _MIB_IPINTERFACE_TABLE {
1600 + MIB_IPINTERFACE_ROW Table[ANY_SIZE];
1601 + } MIB_IPINTERFACE_TABLE,*PMIB_IPINTERFACE_TABLE;
1603 + typedef struct _MIB_IFSTACK_ROW {
1604 + NET_IFINDEX HigherLayerInterfaceIndex;
1605 + NET_IFINDEX LowerLayerInterfaceIndex;
1606 + } MIB_IFSTACK_ROW,*PMIB_IFSTACK_ROW;
1608 + typedef struct _MIB_INVERTEDIFSTACK_ROW {
1609 + NET_IFINDEX LowerLayerInterfaceIndex;
1610 + NET_IFINDEX HigherLayerInterfaceIndex;
1611 + } MIB_INVERTEDIFSTACK_ROW,*PMIB_INVERTEDIFSTACK_ROW;
1613 + typedef struct _MIB_IFSTACK_TABLE {
1615 + MIB_IFSTACK_ROW Table[ANY_SIZE];
1616 + } MIB_IFSTACK_TABLE,*PMIB_IFSTACK_TABLE;
1618 + typedef struct _MIB_INVERTEDIFSTACK_TABLE {
1620 + MIB_INVERTEDIFSTACK_ROW Table[ANY_SIZE];
1621 + } MIB_INVERTEDIFSTACK_TABLE,*PMIB_INVERTEDIFSTACK_TABLE;
1623 + typedef struct _MIB_IP_NETWORK_CONNECTION_BANDWIDTH_ESTIMATES {
1624 + NL_BANDWIDTH_INFORMATION InboundBandwidthInformation;
1625 + NL_BANDWIDTH_INFORMATION OutboundBandwidthInformation;
1626 + } MIB_IP_NETWORK_CONNECTION_BANDWIDTH_ESTIMATES, *PMIB_IP_NETWORK_CONNECTION_BANDWIDTH_ESTIMATES;
1628 + typedef struct _MIB_UNICASTIPADDRESS_ROW {
1629 + SOCKADDR_INET Address;
1630 + NET_LUID InterfaceLuid;
1631 + NET_IFINDEX InterfaceIndex;
1632 + NL_PREFIX_ORIGIN PrefixOrigin;
1633 + NL_SUFFIX_ORIGIN SuffixOrigin;
1634 + ULONG ValidLifetime;
1635 + ULONG PreferredLifetime;
1636 + UINT8 OnLinkPrefixLength;
1637 + BOOLEAN SkipAsSource;
1638 + NL_DAD_STATE DadState;
1640 + LARGE_INTEGER CreationTimeStamp;
1641 + } MIB_UNICASTIPADDRESS_ROW,*PMIB_UNICASTIPADDRESS_ROW;
1643 + typedef struct _MIB_UNICASTIPADDRESS_TABLE {
1645 + MIB_UNICASTIPADDRESS_ROW Table[ANY_SIZE];
1646 + } MIB_UNICASTIPADDRESS_TABLE,*PMIB_UNICASTIPADDRESS_TABLE;
1648 + typedef struct _MIB_ANYCASTIPADDRESS_ROW {
1649 + SOCKADDR_INET Address;
1650 + NET_LUID InterfaceLuid;
1651 + NET_IFINDEX InterfaceIndex;
1653 + } MIB_ANYCASTIPADDRESS_ROW,*PMIB_ANYCASTIPADDRESS_ROW;
1655 + typedef struct _MIB_ANYCASTIPADDRESS_TABLE {
1657 + MIB_ANYCASTIPADDRESS_ROW Table[ANY_SIZE];
1658 + } MIB_ANYCASTIPADDRESS_TABLE,*PMIB_ANYCASTIPADDRESS_TABLE;
1660 + typedef struct _MIB_MULTICASTIPADDRESS_ROW {
1661 + SOCKADDR_INET Address;
1662 + NET_IFINDEX InterfaceIndex;
1663 + NET_LUID InterfaceLuid;
1665 + } MIB_MULTICASTIPADDRESS_ROW,*PMIB_MULTICASTIPADDRESS_ROW;
1667 + typedef struct _MIB_MULTICASTIPADDRESS_TABLE {
1669 + MIB_MULTICASTIPADDRESS_ROW Table[ANY_SIZE];
1670 + } MIB_MULTICASTIPADDRESS_TABLE,*PMIB_MULTICASTIPADDRESS_TABLE;
1672 + typedef struct _IP_ADDRESS_PREFIX {
1673 + SOCKADDR_INET Prefix;
1674 + UINT8 PrefixLength;
1675 + } IP_ADDRESS_PREFIX,*PIP_ADDRESS_PREFIX;
1677 + typedef struct _MIB_IPFORWARD_ROW2 {
1678 + NET_LUID InterfaceLuid;
1679 + NET_IFINDEX InterfaceIndex;
1680 + IP_ADDRESS_PREFIX DestinationPrefix;
1681 + SOCKADDR_INET NextHop;
1682 + UCHAR SitePrefixLength;
1683 + ULONG ValidLifetime;
1684 + ULONG PreferredLifetime;
1686 + NL_ROUTE_PROTOCOL Protocol;
1688 + BOOLEAN AutoconfigureAddress;
1692 + NL_ROUTE_ORIGIN Origin;
1693 + } MIB_IPFORWARD_ROW2,*PMIB_IPFORWARD_ROW2;
1695 + typedef struct _MIB_IPFORWARD_TABLE2 {
1697 + MIB_IPFORWARD_ROW2 Table[ANY_SIZE];
1698 + } MIB_IPFORWARD_TABLE2,*PMIB_IPFORWARD_TABLE2;
1700 + typedef struct _MIB_IPPATH_ROW {
1701 + SOCKADDR_INET Source;
1702 + SOCKADDR_INET Destination;
1703 + NET_LUID InterfaceLuid;
1704 + NET_IFINDEX InterfaceIndex;
1705 + SOCKADDR_INET CurrentNextHop;
1708 + ULONG RttDeviation;
1709 + _ANONYMOUS_UNION union {
1710 + ULONG LastReachable;
1711 + ULONG LastUnreachable;
1713 + BOOLEAN IsReachable;
1714 + ULONG64 LinkTransmitSpeed;
1715 + ULONG64 LinkReceiveSpeed;
1716 + } MIB_IPPATH_ROW,*PMIB_IPPATH_ROW;
1718 + typedef struct _MIB_IPPATH_TABLE {
1720 + MIB_IPPATH_ROW Table[ANY_SIZE];
1721 + } MIB_IPPATH_TABLE,*PMIB_IPPATH_TABLE;
1723 + typedef struct _MIB_IPNET_ROW2 {
1724 + SOCKADDR_INET Address;
1725 + NET_IFINDEX InterfaceIndex;
1726 + NET_LUID InterfaceLuid;
1727 + UCHAR PhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH];
1728 + ULONG PhysicalAddressLength;
1729 + NL_NEIGHBOR_STATE State;
1730 + _ANONYMOUS_UNION union {
1731 + _ANONYMOUS_STRUCT struct {
1732 + BOOLEAN IsRouter : 1;
1733 + BOOLEAN IsUnreachable : 1;
1738 + ULONG LastReachable;
1739 + ULONG LastUnreachable;
1740 + } ReachabilityTime;
1741 + } MIB_IPNET_ROW2, *PMIB_IPNET_ROW2;
1743 + typedef struct _MIB_IPNET_TABLE2 {
1745 + MIB_IPNET_ROW2 Table[ANY_SIZE];
1746 + } MIB_IPNET_TABLE2, *PMIB_IPNET_TABLE2;
1748 + typedef VOID (NETIOAPI_API_ *PIPINTERFACE_CHANGE_CALLBACK) (PVOID CallerContext, PMIB_IPINTERFACE_ROW Row, MIB_NOTIFICATION_TYPE NotificationType);
1749 + typedef VOID (NETIOAPI_API_ *PUNICAST_IPADDRESS_CHANGE_CALLBACK) (PVOID CallerContext, PMIB_UNICASTIPADDRESS_ROW Row, MIB_NOTIFICATION_TYPE NotificationType);
1750 + typedef VOID (NETIOAPI_API_ *PSTABLE_UNICAST_IPADDRESS_TABLE_CALLBACK) (PVOID CallerContext, PMIB_UNICASTIPADDRESS_TABLE AddressTable);
1752 + typedef VOID (NETIOAPI_API_ *PTEREDO_PORT_CHANGE_CALLBACK) (PVOID CallerContext, USHORT Port, MIB_NOTIFICATION_TYPE NotificationType);
1753 + typedef VOID (NETIOAPI_API_ *PIPFORWARD_CHANGE_CALLBACK) (PVOID CallerContext, PMIB_IPFORWARD_ROW2 Row, MIB_NOTIFICATION_TYPE NotificationType);
1755 + NETIO_STATUS NETIOAPI_API_ GetIfEntry2 (PMIB_IF_ROW2 Row);
1756 + NETIO_STATUS NETIOAPI_API_ GetIfTable2 (PMIB_IF_TABLE2 *Table);
1757 + NETIO_STATUS NETIOAPI_API_ GetIfTable2Ex (MIB_IF_TABLE_LEVEL Level, PMIB_IF_TABLE2 *Table);
1758 + NETIO_STATUS NETIOAPI_API_ GetIfStackTable (PMIB_IFSTACK_TABLE *Table);
1759 + NETIO_STATUS NETIOAPI_API_ GetInvertedIfStackTable (PMIB_INVERTEDIFSTACK_TABLE *Table);
1760 + NETIO_STATUS NETIOAPI_API_ GetIpInterfaceEntry (PMIB_IPINTERFACE_ROW Row);
1761 + NETIO_STATUS NETIOAPI_API_ GetIpInterfaceTable (ADDRESS_FAMILY Family, PMIB_IPINTERFACE_TABLE *Table);
1762 + VOID NETIOAPI_API_ InitializeIpInterfaceEntry (PMIB_IPINTERFACE_ROW Row);
1763 + NETIO_STATUS NETIOAPI_API_ NotifyIpInterfaceChange (ADDRESS_FAMILY Family, PIPINTERFACE_CHANGE_CALLBACK Callback, PVOID CallerContext, BOOLEAN InitialNotification, HANDLE *NotificationHandle);
1764 + NETIO_STATUS NETIOAPI_API_ SetIpInterfaceEntry (PMIB_IPINTERFACE_ROW Row);
1765 + NETIO_STATUS NETIOAPI_API_ GetIpNetworkConnectionBandwidthEstimates (NET_IFINDEX InterfaceIndex, ADDRESS_FAMILY AddressFamily, PMIB_IP_NETWORK_CONNECTION_BANDWIDTH_ESTIMATES BandwidthEstimates);
1766 + NETIO_STATUS NETIOAPI_API_ CreateUnicastIpAddressEntry (CONST MIB_UNICASTIPADDRESS_ROW *Row);
1767 + NETIO_STATUS NETIOAPI_API_ DeleteUnicastIpAddressEntry (CONST MIB_UNICASTIPADDRESS_ROW *Row);
1768 + NETIO_STATUS NETIOAPI_API_ GetUnicastIpAddressEntry (PMIB_UNICASTIPADDRESS_ROW Row);
1769 + NETIO_STATUS NETIOAPI_API_ GetUnicastIpAddressTable (ADDRESS_FAMILY Family, PMIB_UNICASTIPADDRESS_TABLE *Table);
1770 + VOID NETIOAPI_API_ InitializeUnicastIpAddressEntry (PMIB_UNICASTIPADDRESS_ROW Row);
1771 + NETIO_STATUS NETIOAPI_API_ NotifyUnicastIpAddressChange (ADDRESS_FAMILY Family, PUNICAST_IPADDRESS_CHANGE_CALLBACK Callback, PVOID CallerContext, BOOLEAN InitialNotification, HANDLE *NotificationHandle);
1772 + NETIO_STATUS NETIOAPI_API_ CreateAnycastIpAddressEntry (CONST MIB_ANYCASTIPADDRESS_ROW *Row);
1773 + NETIO_STATUS NETIOAPI_API_ DeleteAnycastIpAddressEntry (CONST MIB_ANYCASTIPADDRESS_ROW *Row);
1774 + NETIO_STATUS NETIOAPI_API_ GetAnycastIpAddressEntry (PMIB_ANYCASTIPADDRESS_ROW Row);
1775 + NETIO_STATUS NETIOAPI_API_ GetAnycastIpAddressTable (ADDRESS_FAMILY Family, PMIB_ANYCASTIPADDRESS_TABLE *Table);
1776 + NETIO_STATUS NETIOAPI_API_ NotifyStableUnicastIpAddressTable (ADDRESS_FAMILY Family, PMIB_UNICASTIPADDRESS_TABLE *Table, PSTABLE_UNICAST_IPADDRESS_TABLE_CALLBACK CallerCallback, PVOID CallerContext, HANDLE *NotificationHandle);
1777 + NETIO_STATUS NETIOAPI_API_ SetUnicastIpAddressEntry (CONST MIB_UNICASTIPADDRESS_ROW *Row);
1778 + NETIO_STATUS NETIOAPI_API_ GetMulticastIpAddressEntry (PMIB_MULTICASTIPADDRESS_ROW Row);
1779 + NETIO_STATUS NETIOAPI_API_ GetMulticastIpAddressTable (ADDRESS_FAMILY Family, PMIB_MULTICASTIPADDRESS_TABLE *Table);
1780 + NETIO_STATUS NETIOAPI_API_ CreateIpForwardEntry2 (CONST MIB_IPFORWARD_ROW2 *Row);
1781 + NETIO_STATUS NETIOAPI_API_ DeleteIpForwardEntry2 (CONST MIB_IPFORWARD_ROW2 *Row);
1782 + 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);
1783 + NETIO_STATUS NETIOAPI_API_ GetIpForwardEntry2 (PMIB_IPFORWARD_ROW2 Row);
1784 + NETIO_STATUS NETIOAPI_API_ GetIpForwardTable2 (ADDRESS_FAMILY Family, PMIB_IPFORWARD_TABLE2 *Table);
1785 + VOID NETIOAPI_API_ InitializeIpForwardEntry (PMIB_IPFORWARD_ROW2 Row);
1786 + NETIO_STATUS NETIOAPI_API_ NotifyRouteChange2 (ADDRESS_FAMILY AddressFamily, PIPFORWARD_CHANGE_CALLBACK Callback, PVOID CallerContext, BOOLEAN InitialNotification, HANDLE *NotificationHandle);
1787 + NETIO_STATUS NETIOAPI_API_ SetIpForwardEntry2 (CONST MIB_IPFORWARD_ROW2 *Route);
1788 + NETIO_STATUS NETIOAPI_API_ FlushIpPathTable (ADDRESS_FAMILY Family);
1789 + NETIO_STATUS NETIOAPI_API_ GetIpPathEntry (PMIB_IPPATH_ROW Row);
1790 + NETIO_STATUS NETIOAPI_API_ GetIpPathTable (ADDRESS_FAMILY Family, PMIB_IPPATH_TABLE *Table);
1791 + NETIO_STATUS NETIOAPI_API_ CreateIpNetEntry2 (CONST MIB_IPNET_ROW2 *Row);
1792 + NETIO_STATUS NETIOAPI_API_ DeleteIpNetEntry2 (CONST MIB_IPNET_ROW2 *Row);
1793 + NETIO_STATUS NETIOAPI_API_ FlushIpNetTable2 (ADDRESS_FAMILY Family, NET_IFINDEX InterfaceIndex);
1794 + NETIO_STATUS NETIOAPI_API_ GetIpNetEntry2 (PMIB_IPNET_ROW2 Row);
1795 + NETIO_STATUS NETIOAPI_API_ GetIpNetTable2 (ADDRESS_FAMILY Family, PMIB_IPNET_TABLE2 *Table);
1796 + NETIO_STATUS NETIOAPI_API_ ResolveIpNetEntry2 (PMIB_IPNET_ROW2 Row, CONST SOCKADDR_INET *SourceAddress);
1797 + NETIO_STATUS NETIOAPI_API_ SetIpNetEntry2 (PMIB_IPNET_ROW2 Row);
1798 + NETIO_STATUS NETIOAPI_API_ NotifyTeredoPortChange (PTEREDO_PORT_CHANGE_CALLBACK Callback, PVOID CallerContext, BOOLEAN InitialNotification, HANDLE *NotificationHandle);
1799 + NETIO_STATUS NETIOAPI_API_ GetTeredoPort (USHORT *Port);
1800 + NETIO_STATUS NETIOAPI_API_ CancelMibChangeNotify2 (HANDLE NotificationHandle);
1801 + VOID NETIOAPI_API_ FreeMibTable (PVOID Memory);
1802 + 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);
1805 + NETIO_STATUS NETIOAPI_API_ ConvertInterfaceNameToLuidA (CONST CHAR *InterfaceName, NET_LUID *InterfaceLuid);
1806 + NETIO_STATUS NETIOAPI_API_ ConvertInterfaceNameToLuidW (CONST WCHAR *InterfaceName, NET_LUID *InterfaceLuid);
1807 + NETIO_STATUS NETIOAPI_API_ ConvertInterfaceLuidToNameA (CONST NET_LUID *InterfaceLuid, PSTR InterfaceName, SIZE_T Length);
1808 + NETIO_STATUS NETIOAPI_API_ ConvertInterfaceLuidToNameW (CONST NET_LUID *InterfaceLuid, PWSTR InterfaceName, SIZE_T Length);
1809 + NETIO_STATUS NETIOAPI_API_ ConvertInterfaceLuidToIndex (CONST NET_LUID *InterfaceLuid, PNET_IFINDEX InterfaceIndex);
1810 + NETIO_STATUS NETIOAPI_API_ ConvertInterfaceIndexToLuid (NET_IFINDEX InterfaceIndex, PNET_LUID InterfaceLuid);
1811 + NETIO_STATUS NETIOAPI_API_ ConvertInterfaceLuidToAlias (CONST NET_LUID *InterfaceLuid, PWSTR InterfaceAlias, SIZE_T Length);
1812 + NETIO_STATUS NETIOAPI_API_ ConvertInterfaceAliasToLuid (CONST WCHAR *InterfaceAlias, PNET_LUID InterfaceLuid);
1813 + NETIO_STATUS NETIOAPI_API_ ConvertInterfaceLuidToGuid (CONST NET_LUID *InterfaceLuid, GUID *InterfaceGuid);
1814 + NETIO_STATUS NETIOAPI_API_ ConvertInterfaceGuidToLuid (CONST GUID *InterfaceGuid, PNET_LUID InterfaceLuid);
1815 + NET_IFINDEX NETIOAPI_API_ if_nametoindex (PCSTR InterfaceName);
1816 + PCHAR NETIOAPI_API_ if_indextoname (NET_IFINDEX InterfaceIndex, PCHAR InterfaceName);
1817 + NET_IF_COMPARTMENT_ID NETIOAPI_API_ GetCurrentThreadCompartmentId (VOID);
1818 + NETIO_STATUS NETIOAPI_API_ SetCurrentThreadCompartmentId (NET_IF_COMPARTMENT_ID CompartmentId);
1819 + NET_IF_COMPARTMENT_ID NETIOAPI_API_ GetSessionCompartmentId (ULONG SessionId);
1820 + NETIO_STATUS NETIOAPI_API_ SetSessionCompartmentId (ULONG SessionId, NET_IF_COMPARTMENT_ID CompartmentId);
1821 + NETIO_STATUS NETIOAPI_API_ GetNetworkInformation (CONST NET_IF_NETWORK_GUID *NetworkGuid, PNET_IF_COMPARTMENT_ID CompartmentId, PULONG SiteId, PWCHAR NetworkName, ULONG Length);
1822 + NETIO_STATUS NETIOAPI_API_ SetNetworkInformation (CONST NET_IF_NETWORK_GUID *NetworkGuid, NET_IF_COMPARTMENT_ID CompartmentId, CONST WCHAR *NetworkName);
1823 + NETIO_STATUS NETIOAPI_API_ ConvertLengthToIpv4Mask (ULONG MaskLength, PULONG Mask);
1824 + NETIO_STATUS NETIOAPI_API_ ConvertIpv4MaskToLength (ULONG Mask, PUINT8 MaskLength);
1834 --- w32api-5.0.2/include/basetsd.h.orig 2017-11-09 02:35:48.000000000 +0100
1835 +++ w32api-5.0.2/include/basetsd.h 2018-09-21 22:06:01.713431915 +0200
1840 -typedef signed char INT8;
1841 -typedef signed short INT16;
1842 +typedef signed char INT8, *PINT8;
1843 +typedef signed short INT16, *PINT16;
1844 typedef int LONG32, *PLONG32;
1845 #ifndef XFree86Server
1846 typedef int INT32, *PINT32;
1847 #endif /* ndef XFree86Server */
1848 -typedef unsigned char UINT8;
1849 -typedef unsigned short UINT16;
1850 +typedef unsigned char UINT8, *PUINT8;
1851 +typedef unsigned short UINT16, *PUINT16;
1852 typedef unsigned int ULONG32, *PULONG32;
1853 typedef unsigned int DWORD32, *PDWORD32;
1854 typedef unsigned int UINT32, *PUINT32;
1855 --- w32api-5.0.2/include/ipifcons.h.orig 2017-11-09 02:35:48.000000000 +0100
1856 +++ w32api-5.0.2/include/ipifcons.h 2018-09-22 08:35:34.133000622 +0200
1858 #pragma GCC system_header
1865 +typedef ULONG IFTYPE;
1867 #define MIN_IF_TYPE 1
1868 #define IF_TYPE_OTHER 1
1869 #define IF_TYPE_REGULAR_1822 2
1871 #define MIB_IF_TYPE_LOOPBACK 24
1872 #define MIB_IF_TYPE_SLIP 28
1878 --- w32api-5.0.2/include/ntddndis.h.orig 1970-01-01 01:00:00.000000000 +0100
1879 +++ w32api-5.0.2/include/ntddndis.h 2018-09-22 09:39:12.409623691 +0200
1881 +/* https://github.com/Alexpux/mingw-w64/raw/master/mingw-w64-headers/include/ntddndis.h */
1883 +* This file is part of the mingw-w64 runtime package.
1884 +* No warranty is given; refer to the file DISCLAIMER within this package.
1891 +#include <winapifamily.h>
1893 +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
1900 +#ifndef NDIS_SUPPORT_NDIS6
1901 +#if defined (UM_NDIS60) || defined (UM_NDIS61) || defined (UM_NDIS620) || defined (UM_NDIS630)
1902 +#define NDIS_SUPPORT_NDIS6 1
1904 +#define NDIS_SUPPORT_NDIS6 0
1908 +#if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6
1911 +#include <devpkey.h>
1912 +#include <pciprop.h>
1916 +#ifndef NDIS_SUPPORT_NDIS61
1917 +#if defined (UM_NDIS61) || defined (UM_NDIS620) || defined (UM_NDIS630)
1918 +#define NDIS_SUPPORT_NDIS61 1
1920 +#define NDIS_SUPPORT_NDIS61 0
1924 +#ifndef NDIS_SUPPORT_NDIS620
1925 +#if defined (UM_NDIS620) || defined (UM_NDIS630)
1926 +#define NDIS_SUPPORT_NDIS620 1
1928 +#define NDIS_SUPPORT_NDIS620 0
1932 +#ifndef NDIS_SUPPORT_NDIS630
1934 +#define NDIS_SUPPORT_NDIS630 1
1936 +#define NDIS_SUPPORT_NDIS630 0
1940 +#define DD_NDIS_DEVICE_NAME "\\Device\\UNKNOWN"
1942 +#define _NDIS_CONTROL_CODE(request, method) CTL_CODE (FILE_DEVICE_PHYSICAL_NETCARD, request, method, FILE_ANY_ACCESS)
1944 +#define IOCTL_NDIS_QUERY_GLOBAL_STATS _NDIS_CONTROL_CODE (0, METHOD_OUT_DIRECT)
1945 +#define IOCTL_NDIS_QUERY_ALL_STATS _NDIS_CONTROL_CODE (1, METHOD_OUT_DIRECT)
1946 +#define IOCTL_NDIS_DO_PNP_OPERATION _NDIS_CONTROL_CODE (2, METHOD_BUFFERED)
1947 +#define IOCTL_NDIS_QUERY_SELECTED_STATS _NDIS_CONTROL_CODE (3, METHOD_OUT_DIRECT)
1948 +#define IOCTL_NDIS_ENUMERATE_INTERFACES _NDIS_CONTROL_CODE (4, METHOD_BUFFERED)
1949 +#define IOCTL_NDIS_ADD_TDI_DEVICE _NDIS_CONTROL_CODE (5, METHOD_BUFFERED)
1950 +#define IOCTL_NDIS_GET_LOG_DATA _NDIS_CONTROL_CODE (7, METHOD_OUT_DIRECT)
1951 +#define IOCTL_NDIS_GET_VERSION _NDIS_CONTROL_CODE (8, METHOD_BUFFERED)
1953 +#define IOCTL_NDIS_RESERVED1 _NDIS_CONTROL_CODE (9, METHOD_BUFFERED)
1954 +#define IOCTL_NDIS_RESERVED2 _NDIS_CONTROL_CODE (0xa, METHOD_BUFFERED)
1955 +#define IOCTL_NDIS_RESERVED3 _NDIS_CONTROL_CODE (0xb, METHOD_BUFFERED)
1956 +#define IOCTL_NDIS_RESERVED4 _NDIS_CONTROL_CODE (0xc, METHOD_BUFFERED)
1957 +#define IOCTL_NDIS_RESERVED5 CTL_CODE (FILE_DEVICE_PHYSICAL_NETCARD, 0xd, METHOD_BUFFERED, FILE_ANY_ACCESS)
1958 +#define IOCTL_NDIS_RESERVED6 CTL_CODE (FILE_DEVICE_PHYSICAL_NETCARD, 0xe, METHOD_BUFFERED, FILE_WRITE_ACCESS)
1959 +#define IOCTL_NDIS_RESERVED7 _NDIS_CONTROL_CODE (0xf, METHOD_OUT_DIRECT)
1960 +#define IOCTL_NDIS_RESERVED8 _NDIS_CONTROL_CODE (0x10, METHOD_BUFFERED)
1961 +#define IOCTL_NDIS_RESERVED9 _NDIS_CONTROL_CODE (0x11, METHOD_BUFFERED)
1962 +#define IOCTL_NDIS_RESERVED10 _NDIS_CONTROL_CODE (0x12, METHOD_BUFFERED)
1963 +#define IOCTL_NDIS_RESERVED11 _NDIS_CONTROL_CODE (0x13, METHOD_BUFFERED)
1964 +#define IOCTL_NDIS_RESERVED12 _NDIS_CONTROL_CODE (0x14, METHOD_BUFFERED)
1965 +#define IOCTL_NDIS_RESERVED13 _NDIS_CONTROL_CODE (0x15, METHOD_BUFFERED)
1966 +#define IOCTL_NDIS_RESERVED14 _NDIS_CONTROL_CODE (0x16, METHOD_BUFFERED)
1967 +#define IOCTL_NDIS_RESERVED15 _NDIS_CONTROL_CODE (0x17, METHOD_BUFFERED)
1968 +#define IOCTL_NDIS_RESERVED16 _NDIS_CONTROL_CODE (0x18, METHOD_BUFFERED)
1969 +#define IOCTL_NDIS_RESERVED17 _NDIS_CONTROL_CODE (0x19, METHOD_BUFFERED)
1970 +#define IOCTL_NDIS_RESERVED18 _NDIS_CONTROL_CODE (0x1a, METHOD_BUFFERED)
1971 +#define IOCTL_NDIS_RESERVED19 _NDIS_CONTROL_CODE (0x1b, METHOD_BUFFERED)
1972 +#define IOCTL_NDIS_RESERVED20 _NDIS_CONTROL_CODE (0x1c, METHOD_BUFFERED)
1973 +#define IOCTL_NDIS_RESERVED21 _NDIS_CONTROL_CODE (0x1d, METHOD_BUFFERED)
1974 +#define IOCTL_NDIS_RESERVED22 _NDIS_CONTROL_CODE (0x1e, METHOD_BUFFERED)
1975 +#define IOCTL_NDIS_RESERVED23 _NDIS_CONTROL_CODE (0x1f, METHOD_BUFFERED)
1976 +#define IOCTL_NDIS_RESERVED24 _NDIS_CONTROL_CODE (0x20, METHOD_BUFFERED)
1977 +#define IOCTL_NDIS_RESERVED25 _NDIS_CONTROL_CODE (0x21, METHOD_BUFFERED)
1978 +#define IOCTL_NDIS_RESERVED26 _NDIS_CONTROL_CODE (0x22, METHOD_BUFFERED)
1979 +#define IOCTL_NDIS_RESERVED27 _NDIS_CONTROL_CODE (0x23, METHOD_BUFFERED)
1980 +#define IOCTL_NDIS_RESERVED28 _NDIS_CONTROL_CODE (0x24, METHOD_BUFFERED)
1981 +#define IOCTL_NDIS_RESERVED29 _NDIS_CONTROL_CODE (0x25, METHOD_BUFFERED)
1982 +#define IOCTL_NDIS_RESERVED30 _NDIS_CONTROL_CODE (0x26, METHOD_BUFFERED)
1984 + typedef ULONG NDIS_OID, *PNDIS_OID;
1985 + typedef struct _NDIS_STATISTICS_VALUE {
1989 + } NDIS_STATISTICS_VALUE;
1991 + typedef NDIS_STATISTICS_VALUE UNALIGNED *PNDIS_STATISTICS_VALUE;
1993 +#if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6
1994 + typedef struct _NDIS_STATISTICS_VALUE_EX {
1999 + } NDIS_STATISTICS_VALUE_EX;
2001 + typedef NDIS_STATISTICS_VALUE_EX UNALIGNED *PNDIS_STATISTICS_VALUE_EX;
2004 + typedef struct _NDIS_VAR_DATA_DESC {
2006 + USHORT MaximumLength;
2008 + } NDIS_VAR_DATA_DESC, *PNDIS_VAR_DATA_DESC;
2010 +#ifndef GUID_DEFINED
2011 +/* not in mingw32, use replacement
2012 +#include <guiddef.h>
2014 +#include <basetyps.h>
2017 +#define NDIS_OBJECT_TYPE_DEFAULT 0x80
2018 +#define NDIS_OBJECT_TYPE_MINIPORT_INIT_PARAMETERS 0x81
2019 +#define NDIS_OBJECT_TYPE_SG_DMA_DESCRIPTION 0x83
2020 +#define NDIS_OBJECT_TYPE_MINIPORT_INTERRUPT 0x84
2021 +#define NDIS_OBJECT_TYPE_DEVICE_OBJECT_ATTRIBUTES 0x85
2022 +#define NDIS_OBJECT_TYPE_BIND_PARAMETERS 0x86
2023 +#define NDIS_OBJECT_TYPE_OPEN_PARAMETERS 0x87
2024 +#define NDIS_OBJECT_TYPE_RSS_CAPABILITIES 0x88
2025 +#define NDIS_OBJECT_TYPE_RSS_PARAMETERS 0x89
2026 +#define NDIS_OBJECT_TYPE_MINIPORT_DRIVER_CHARACTERISTICS 0x8a
2027 +#define NDIS_OBJECT_TYPE_FILTER_DRIVER_CHARACTERISTICS 0x8b
2028 +#define NDIS_OBJECT_TYPE_FILTER_PARTIAL_CHARACTERISTICS 0x8c
2029 +#define NDIS_OBJECT_TYPE_FILTER_ATTRIBUTES 0x8d
2030 +#define NDIS_OBJECT_TYPE_CLIENT_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS 0x8e
2031 +#define NDIS_OBJECT_TYPE_PROVIDER_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS 0x8f
2032 +#define NDIS_OBJECT_TYPE_CO_PROTOCOL_CHARACTERISTICS 0x90
2033 +#define NDIS_OBJECT_TYPE_CO_MINIPORT_CHARACTERISTICS 0x91
2034 +#define NDIS_OBJECT_TYPE_MINIPORT_PNP_CHARACTERISTICS 0x92
2035 +#define NDIS_OBJECT_TYPE_CLIENT_CHIMNEY_OFFLOAD_CHARACTERISTICS 0x93
2036 +#define NDIS_OBJECT_TYPE_PROVIDER_CHIMNEY_OFFLOAD_CHARACTERISTICS 0x94
2037 +#define NDIS_OBJECT_TYPE_PROTOCOL_DRIVER_CHARACTERISTICS 0x95
2038 +#define NDIS_OBJECT_TYPE_REQUEST_EX 0x96
2039 +#define NDIS_OBJECT_TYPE_OID_REQUEST 0x96
2040 +#define NDIS_OBJECT_TYPE_TIMER_CHARACTERISTICS 0x97
2041 +#define NDIS_OBJECT_TYPE_STATUS_INDICATION 0x98
2042 +#define NDIS_OBJECT_TYPE_FILTER_ATTACH_PARAMETERS 0x99
2043 +#define NDIS_OBJECT_TYPE_FILTER_PAUSE_PARAMETERS 0x9a
2044 +#define NDIS_OBJECT_TYPE_FILTER_RESTART_PARAMETERS 0x9b
2045 +#define NDIS_OBJECT_TYPE_PORT_CHARACTERISTICS 0x9c
2046 +#define NDIS_OBJECT_TYPE_PORT_STATE 0x9d
2047 +#define NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES 0x9e
2048 +#define NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES 0x9f
2049 +#define NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES 0xa0
2050 +#define NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_NATIVE_802_11_ATTRIBUTES 0xa1
2051 +#define NDIS_OBJECT_TYPE_RESTART_GENERAL_ATTRIBUTES 0xa2
2052 +#define NDIS_OBJECT_TYPE_PROTOCOL_RESTART_PARAMETERS 0xa3
2053 +#define NDIS_OBJECT_TYPE_MINIPORT_ADD_DEVICE_REGISTRATION_ATTRIBUTES 0xa4
2054 +#define NDIS_OBJECT_TYPE_CO_CALL_MANAGER_OPTIONAL_HANDLERS 0xa5
2055 +#define NDIS_OBJECT_TYPE_CO_CLIENT_OPTIONAL_HANDLERS 0xa6
2056 +#define NDIS_OBJECT_TYPE_OFFLOAD 0xa7
2057 +#define NDIS_OBJECT_TYPE_OFFLOAD_ENCAPSULATION 0xa8
2058 +#define NDIS_OBJECT_TYPE_CONFIGURATION_OBJECT 0xa9
2059 +#define NDIS_OBJECT_TYPE_DRIVER_WRAPPER_OBJECT 0xaa
2060 +#if NDIS_SUPPORT_NDIS61
2061 +#define NDIS_OBJECT_TYPE_HD_SPLIT_ATTRIBUTES 0xab
2063 +#define NDIS_OBJECT_TYPE_NSI_NETWORK_RW_STRUCT 0xac
2064 +#define NDIS_OBJECT_TYPE_NSI_COMPARTMENT_RW_STRUCT 0xad
2065 +#define NDIS_OBJECT_TYPE_NSI_INTERFACE_PERSIST_RW_STRUCT 0xae
2066 +#if NDIS_SUPPORT_NDIS61
2067 +#define NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES 0xaf
2069 +#if NDIS_SUPPORT_NDIS620
2070 +#define NDIS_OBJECT_TYPE_SHARED_MEMORY_PROVIDER_CHARACTERISTICS 0xb0
2071 +#define NDIS_OBJECT_TYPE_RSS_PROCESSOR_INFO 0xb1
2073 +#if NDIS_SUPPORT_NDIS630
2074 +#define NDIS_OBJECT_TYPE_NDK_PROVIDER_CHARACTERISTICS 0xb2
2075 +#define NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_NDK_ATTRIBUTES 0xb3
2076 +#define NDIS_OBJECT_TYPE_MINIPORT_SS_CHARACTERISTICS 0xb4
2077 +#define NDIS_OBJECT_TYPE_QOS_CAPABILITIES 0xb5
2078 +#define NDIS_OBJECT_TYPE_QOS_PARAMETERS 0xb6
2079 +#define NDIS_OBJECT_TYPE_QOS_CLASSIFICATION_ELEMENT 0xb7
2080 +#define NDIS_OBJECT_TYPE_SWITCH_OPTIONAL_HANDLERS 0xb8
2081 +#define NDIS_OBJECT_TYPE_IOCTL_OID_INFO 0xb9
2082 +#define NDIS_OBJECT_TYPE_LBFO_DIAGNOSTIC_OID 0xba
2085 + typedef struct _NDIS_OBJECT_HEADER {
2089 + } NDIS_OBJECT_HEADER, *PNDIS_OBJECT_HEADER;
2091 + typedef enum _NDIS_REQUEST_TYPE {
2092 + NdisRequestQueryInformation,
2093 + NdisRequestSetInformation,
2094 + NdisRequestQueryStatistics,
2098 + NdisRequestTransferData,
2100 + NdisRequestGeneric1,
2101 + NdisRequestGeneric2,
2102 + NdisRequestGeneric3,
2103 + NdisRequestGeneric4
2104 +#if NDIS_SUPPORT_NDIS6
2105 + , NdisRequestMethod
2107 + } NDIS_REQUEST_TYPE, *PNDIS_REQUEST_TYPE;
2109 +#define NDIS_OBJECT_REVISION_1 1
2111 +#if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6
2112 +#define NDIS_STATISTICS_FLAGS_VALID_DIRECTED_FRAMES_RCV 0x00000001
2113 +#define NDIS_STATISTICS_FLAGS_VALID_MULTICAST_FRAMES_RCV 0x00000002
2114 +#define NDIS_STATISTICS_FLAGS_VALID_BROADCAST_FRAMES_RCV 0x00000004
2115 +#define NDIS_STATISTICS_FLAGS_VALID_BYTES_RCV 0x00000008
2116 +#define NDIS_STATISTICS_FLAGS_VALID_RCV_DISCARDS 0x00000010
2117 +#define NDIS_STATISTICS_FLAGS_VALID_RCV_ERROR 0x00000020
2118 +#define NDIS_STATISTICS_FLAGS_VALID_DIRECTED_FRAMES_XMIT 0x00000040
2119 +#define NDIS_STATISTICS_FLAGS_VALID_MULTICAST_FRAMES_XMIT 0x00000080
2120 +#define NDIS_STATISTICS_FLAGS_VALID_BROADCAST_FRAMES_XMIT 0x00000100
2121 +#define NDIS_STATISTICS_FLAGS_VALID_BYTES_XMIT 0x00000200
2122 +#define NDIS_STATISTICS_FLAGS_VALID_XMIT_ERROR 0x00000400
2123 +#define NDIS_STATISTICS_FLAGS_VALID_XMIT_DISCARDS 0x00008000
2124 +#define NDIS_STATISTICS_FLAGS_VALID_DIRECTED_BYTES_RCV 0x00010000
2125 +#define NDIS_STATISTICS_FLAGS_VALID_MULTICAST_BYTES_RCV 0x00020000
2126 +#define NDIS_STATISTICS_FLAGS_VALID_BROADCAST_BYTES_RCV 0x00040000
2127 +#define NDIS_STATISTICS_FLAGS_VALID_DIRECTED_BYTES_XMIT 0x00080000
2128 +#define NDIS_STATISTICS_FLAGS_VALID_MULTICAST_BYTES_XMIT 0x00100000
2129 +#define NDIS_STATISTICS_FLAGS_VALID_BROADCAST_BYTES_XMIT 0x00200000
2131 +#define NDIS_INTERRUPT_MODERATION_CHANGE_NEEDS_RESET 0x00000001
2132 +#define NDIS_INTERRUPT_MODERATION_CHANGE_NEEDS_REINITIALIZE 0x00000002
2134 +#define NDIS_STATISTICS_INFO_REVISION_1 1
2135 +#define NDIS_INTERRUPT_MODERATION_PARAMETERS_REVISION_1 1
2136 +#define NDIS_TIMEOUT_DPC_REQUEST_CAPABILITIES_REVISION_1 1
2137 +#define NDIS_OBJECT_TYPE_PCI_DEVICE_CUSTOM_PROPERTIES_REVISION_1 1
2138 +#if NTDDI_VERSION >= 0x06010000 || NDIS_SUPPORT_NDIS620
2139 +#define NDIS_OBJECT_TYPE_PCI_DEVICE_CUSTOM_PROPERTIES_REVISION_2 2
2141 +#if NDIS_SUPPORT_NDIS630
2142 +#define NDIS_RSC_STATISTICS_REVISION_1 1
2145 +#define NDIS_SIZEOF_STATISTICS_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_STATISTICS_INFO, ifHCOutBroadcastOctets)
2146 +#define NDIS_SIZEOF_INTERRUPT_MODERATION_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_INTERRUPT_MODERATION_PARAMETERS, InterruptModeration)
2147 +#define NDIS_SIZEOF_TIMEOUT_DPC_REQUEST_CAPABILITIES_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_TIMEOUT_DPC_REQUEST_CAPABILITIES, TimeoutArray)
2148 +#define NDIS_SIZEOF_PCI_DEVICE_CUSTOM_PROPERTIES_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_PCI_DEVICE_CUSTOM_PROPERTIES, MaxLinkWidth)
2149 +#if NTDDI_VERSION >= 0x06010000 || NDIS_SUPPORT_NDIS620
2150 +#define NDIS_SIZEOF_PCI_DEVICE_CUSTOM_PROPERTIES_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_PCI_DEVICE_CUSTOM_PROPERTIES, MaxInterruptMessages)
2152 +#if NDIS_SUPPORT_NDIS630
2153 +#define NDIS_SIZEOF_RSC_STATISTICS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RSC_STATISTICS_INFO, Aborts)
2156 + typedef struct _NDIS_STATISTICS_INFO {
2157 + NDIS_OBJECT_HEADER Header;
2158 + ULONG SupportedStatistics;
2159 + ULONG64 ifInDiscards;
2160 + ULONG64 ifInErrors;
2161 + ULONG64 ifHCInOctets;
2162 + ULONG64 ifHCInUcastPkts;
2163 + ULONG64 ifHCInMulticastPkts;
2164 + ULONG64 ifHCInBroadcastPkts;
2165 + ULONG64 ifHCOutOctets;
2166 + ULONG64 ifHCOutUcastPkts;
2167 + ULONG64 ifHCOutMulticastPkts;
2168 + ULONG64 ifHCOutBroadcastPkts;
2169 + ULONG64 ifOutErrors;
2170 + ULONG64 ifOutDiscards;
2171 + ULONG64 ifHCInUcastOctets;
2172 + ULONG64 ifHCInMulticastOctets;
2173 + ULONG64 ifHCInBroadcastOctets;
2174 + ULONG64 ifHCOutUcastOctets;
2175 + ULONG64 ifHCOutMulticastOctets;
2176 + ULONG64 ifHCOutBroadcastOctets;
2177 + } NDIS_STATISTICS_INFO, *PNDIS_STATISTICS_INFO;
2179 +#if NDIS_SUPPORT_NDIS630
2180 + typedef struct _NDIS_RSC_STATISTICS_INFO {
2181 + NDIS_OBJECT_HEADER Header;
2182 + ULONG64 CoalescedPkts;
2183 + ULONG64 CoalescedOctets;
2184 + ULONG64 CoalesceEvents;
2186 + } NDIS_RSC_STATISTICS_INFO, *PNDIS_RSC_STATISTICS_INFO;
2189 + typedef enum _NDIS_INTERRUPT_MODERATION {
2190 + NdisInterruptModerationUnknown,
2191 + NdisInterruptModerationNotSupported,
2192 + NdisInterruptModerationEnabled,
2193 + NdisInterruptModerationDisabled
2194 + } NDIS_INTERRUPT_MODERATION, *PNDIS_INTERRUPT_MODERATION;
2196 + typedef struct _NDIS_INTERRUPT_MODERATION_PARAMETERS {
2197 + NDIS_OBJECT_HEADER Header;
2199 + NDIS_INTERRUPT_MODERATION InterruptModeration;
2200 + } NDIS_INTERRUPT_MODERATION_PARAMETERS, *PNDIS_INTERRUPT_MODERATION_PARAMETERS;
2202 + typedef struct _NDIS_TIMEOUT_DPC_REQUEST_CAPABILITIES {
2203 + NDIS_OBJECT_HEADER Header;
2205 + ULONG TimeoutArrayLength;
2206 + ULONG TimeoutArray[1];
2207 + } NDIS_TIMEOUT_DPC_REQUEST_CAPABILITIES, *PNDIS_TIMEOUT_DPC_REQUEST_CAPABILITIES;
2209 + typedef struct _NDIS_PCI_DEVICE_CUSTOM_PROPERTIES {
2210 + NDIS_OBJECT_HEADER Header;
2211 + UINT32 DeviceType;
2212 + UINT32 CurrentSpeedAndMode;
2213 + UINT32 CurrentPayloadSize;
2214 + UINT32 MaxPayloadSize;
2215 + UINT32 MaxReadRequestSize;
2216 + UINT32 CurrentLinkSpeed;
2217 + UINT32 CurrentLinkWidth;
2218 + UINT32 MaxLinkSpeed;
2219 + UINT32 MaxLinkWidth;
2220 +#if (NTDDI_VERSION >= 0x06010000 || NDIS_SUPPORT_NDIS620)
2221 + UINT32 PciExpressVersion;
2222 + UINT32 InterruptType;
2223 + UINT32 MaxInterruptMessages;
2225 + } NDIS_PCI_DEVICE_CUSTOM_PROPERTIES, *PNDIS_PCI_DEVICE_CUSTOM_PROPERTIES;
2228 +#define OID_GEN_SUPPORTED_LIST 0x00010101
2229 +#define OID_GEN_HARDWARE_STATUS 0x00010102
2230 +#define OID_GEN_MEDIA_SUPPORTED 0x00010103
2231 +#define OID_GEN_MEDIA_IN_USE 0x00010104
2232 +#define OID_GEN_MAXIMUM_LOOKAHEAD 0x00010105
2233 +#define OID_GEN_MAXIMUM_FRAME_SIZE 0x00010106
2234 +#define OID_GEN_LINK_SPEED 0x00010107
2235 +#define OID_GEN_TRANSMIT_BUFFER_SPACE 0x00010108
2236 +#define OID_GEN_RECEIVE_BUFFER_SPACE 0x00010109
2237 +#define OID_GEN_TRANSMIT_BLOCK_SIZE 0x0001010a
2238 +#define OID_GEN_RECEIVE_BLOCK_SIZE 0x0001010b
2239 +#define OID_GEN_VENDOR_ID 0x0001010c
2240 +#define OID_GEN_VENDOR_DESCRIPTION 0x0001010d
2241 +#define OID_GEN_CURRENT_PACKET_FILTER 0x0001010e
2242 +#define OID_GEN_CURRENT_LOOKAHEAD 0x0001010f
2243 +#define OID_GEN_DRIVER_VERSION 0x00010110
2244 +#define OID_GEN_MAXIMUM_TOTAL_SIZE 0x00010111
2245 +#define OID_GEN_PROTOCOL_OPTIONS 0x00010112
2246 +#define OID_GEN_MAC_OPTIONS 0x00010113
2247 +#define OID_GEN_MEDIA_CONNECT_STATUS 0x00010114
2248 +#define OID_GEN_MAXIMUM_SEND_PACKETS 0x00010115
2250 +#define OID_GEN_VENDOR_DRIVER_VERSION 0x00010116
2251 +#define OID_GEN_SUPPORTED_GUIDS 0x00010117
2252 +#define OID_GEN_NETWORK_LAYER_ADDRESSES 0x00010118
2253 +#define OID_GEN_TRANSPORT_HEADER_OFFSET 0x00010119
2254 +#define OID_GEN_MEDIA_CAPABILITIES 0x00010201
2255 +#define OID_GEN_PHYSICAL_MEDIUM 0x00010202
2256 +#if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6
2257 +#define OID_GEN_RECEIVE_SCALE_CAPABILITIES 0x00010203
2258 +#define OID_GEN_RECEIVE_SCALE_PARAMETERS 0x00010204
2259 +#define OID_GEN_MAC_ADDRESS 0x00010205
2260 +#define OID_GEN_MAX_LINK_SPEED 0x00010206
2261 +#define OID_GEN_LINK_STATE 0x00010207
2262 +#define OID_GEN_LINK_PARAMETERS 0x00010208
2263 +#define OID_GEN_INTERRUPT_MODERATION 0x00010209
2264 +#define OID_GEN_NDIS_RESERVED_3 0x0001020a
2265 +#define OID_GEN_NDIS_RESERVED_4 0x0001020b
2266 +#define OID_GEN_NDIS_RESERVED_5 0x0001020c
2267 +#define OID_GEN_ENUMERATE_PORTS 0x0001020d
2268 +#define OID_GEN_PORT_STATE 0x0001020e
2269 +#define OID_GEN_PORT_AUTHENTICATION_PARAMETERS 0x0001020f
2270 +#define OID_GEN_TIMEOUT_DPC_REQUEST_CAPABILITIES 0x00010210
2271 +#define OID_GEN_PCI_DEVICE_CUSTOM_PROPERTIES 0x00010211
2272 +#define OID_GEN_NDIS_RESERVED_6 0x00010212
2273 +#define OID_GEN_PHYSICAL_MEDIUM_EX 0x00010213
2276 +#define OID_GEN_MACHINE_NAME 0x0001021a
2277 +#define OID_GEN_RNDIS_CONFIG_PARAMETER 0x0001021b
2278 +#define OID_GEN_VLAN_ID 0x0001021c
2279 +#if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6
2280 +#define OID_GEN_RECEIVE_HASH 0x0001021f
2281 +#define OID_GEN_MINIPORT_RESTART_ATTRIBUTES 0x0001021d
2283 +#if NDIS_SUPPORT_NDIS61
2284 +#define OID_GEN_HD_SPLIT_PARAMETERS 0x0001021e
2285 +#define OID_GEN_HD_SPLIT_CURRENT_CONFIG 0x00010220
2288 +#define OID_GEN_PROMISCUOUS_MODE 0x00010280
2289 +#define OID_GEN_LAST_CHANGE 0x00010281
2290 +#define OID_GEN_DISCONTINUITY_TIME 0x00010282
2291 +#define OID_GEN_OPERATIONAL_STATUS 0x00010283
2292 +#define OID_GEN_XMIT_LINK_SPEED 0x00010284
2293 +#define OID_GEN_RCV_LINK_SPEED 0x00010285
2294 +#define OID_GEN_UNKNOWN_PROTOS 0x00010286
2295 +#define OID_GEN_INTERFACE_INFO 0x00010287
2296 +#define OID_GEN_ADMIN_STATUS 0x00010288
2297 +#define OID_GEN_ALIAS 0x00010289
2298 +#define OID_GEN_MEDIA_CONNECT_STATUS_EX 0x0001028a
2299 +#define OID_GEN_LINK_SPEED_EX 0x0001028b
2300 +#define OID_GEN_MEDIA_DUPLEX_STATE 0x0001028c
2301 +#define OID_GEN_IP_OPER_STATUS 0x0001028d
2303 +#define OID_WWAN_DRIVER_CAPS 0x0e010100
2304 +#define OID_WWAN_DEVICE_CAPS 0x0e010101
2305 +#define OID_WWAN_READY_INFO 0x0e010102
2306 +#define OID_WWAN_RADIO_STATE 0x0e010103
2307 +#define OID_WWAN_PIN 0x0e010104
2308 +#define OID_WWAN_PIN_LIST 0x0e010105
2309 +#define OID_WWAN_HOME_PROVIDER 0x0e010106
2310 +#define OID_WWAN_PREFERRED_PROVIDERS 0x0e010107
2311 +#define OID_WWAN_VISIBLE_PROVIDERS 0x0e010108
2312 +#define OID_WWAN_REGISTER_STATE 0x0e010109
2313 +#define OID_WWAN_PACKET_SERVICE 0x0e01010a
2314 +#define OID_WWAN_SIGNAL_STATE 0x0e01010b
2315 +#define OID_WWAN_CONNECT 0x0e01010c
2316 +#define OID_WWAN_PROVISIONED_CONTEXTS 0x0e01010d
2317 +#define OID_WWAN_SERVICE_ACTIVATION 0x0e01010e
2318 +#define OID_WWAN_SMS_CONFIGURATION 0x0e01010f
2319 +#define OID_WWAN_SMS_READ 0x0e010110
2320 +#define OID_WWAN_SMS_SEND 0x0e010111
2321 +#define OID_WWAN_SMS_DELETE 0x0e010112
2322 +#define OID_WWAN_SMS_STATUS 0x0e010113
2323 +#define OID_WWAN_VENDOR_SPECIFIC 0x0e010114
2326 +#if NTDDI_VERSION >= 0x06020000 || NDIS_SUPPORT_NDIS630
2327 +#define OID_WWAN_AUTH_CHALLENGE 0x0e010115
2328 +#define OID_WWAN_ENUMERATE_DEVICE_SERVICES 0x0e010116
2329 +#define OID_WWAN_SUBSCRIBE_DEVICE_SERVICE_EVENTS 0x0e010117
2330 +#define OID_WWAN_DEVICE_SERVICE_COMMAND 0x0e010118
2331 +#define OID_WWAN_USSD 0x0e010119
2332 +#define OID_WWAN_PIN_EX 0x0e010121
2333 +#define OID_WWAN_ENUMERATE_DEVICE_SERVICE_COMMANDS 0x0e010122
2334 +#define OID_WWAN_DEVICE_SERVICE_SESSION 0x0e010123
2335 +#define OID_WWAN_DEVICE_SERVICE_SESSION_WRITE 0x0e010124
2336 +#define OID_WWAN_PREFERRED_MULTICARRIER_PROVIDERS 0x0e010125
2339 +#define OID_GEN_XMIT_OK 0x00020101
2340 +#define OID_GEN_RCV_OK 0x00020102
2341 +#define OID_GEN_XMIT_ERROR 0x00020103
2342 +#define OID_GEN_RCV_ERROR 0x00020104
2343 +#define OID_GEN_RCV_NO_BUFFER 0x00020105
2344 +#if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6
2345 +#define OID_GEN_STATISTICS 0x00020106
2348 +#define OID_GEN_DIRECTED_BYTES_XMIT 0x00020201
2349 +#define OID_GEN_DIRECTED_FRAMES_XMIT 0x00020202
2350 +#define OID_GEN_MULTICAST_BYTES_XMIT 0x00020203
2351 +#define OID_GEN_MULTICAST_FRAMES_XMIT 0x00020204
2352 +#define OID_GEN_BROADCAST_BYTES_XMIT 0x00020205
2353 +#define OID_GEN_BROADCAST_FRAMES_XMIT 0x00020206
2354 +#define OID_GEN_DIRECTED_BYTES_RCV 0x00020207
2355 +#define OID_GEN_DIRECTED_FRAMES_RCV 0x00020208
2356 +#define OID_GEN_MULTICAST_BYTES_RCV 0x00020209
2357 +#define OID_GEN_MULTICAST_FRAMES_RCV 0x0002020a
2358 +#define OID_GEN_BROADCAST_BYTES_RCV 0x0002020b
2359 +#define OID_GEN_BROADCAST_FRAMES_RCV 0x0002020c
2360 +#define OID_GEN_RCV_CRC_ERROR 0x0002020d
2361 +#define OID_GEN_TRANSMIT_QUEUE_LENGTH 0x0002020e
2362 +#define OID_GEN_GET_TIME_CAPS 0x0002020f
2363 +#define OID_GEN_GET_NETCARD_TIME 0x00020210
2364 +#define OID_GEN_NETCARD_LOAD 0x00020211
2365 +#define OID_GEN_DEVICE_PROFILE 0x00020212
2366 +#define OID_GEN_INIT_TIME_MS 0x00020213
2367 +#define OID_GEN_RESET_COUNTS 0x00020214
2368 +#define OID_GEN_MEDIA_SENSE_COUNTS 0x00020215
2369 +#define OID_GEN_FRIENDLY_NAME 0x00020216
2370 +#define OID_GEN_NDIS_RESERVED_1 0x00020217
2371 +#define OID_GEN_NDIS_RESERVED_2 0x00020218
2372 +#define OID_GEN_NDIS_RESERVED_5 0x0001020c
2373 +#if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6
2374 +#define OID_GEN_BYTES_RCV 0x00020219
2375 +#define OID_GEN_BYTES_XMIT 0x0002021a
2376 +#define OID_GEN_RCV_DISCARDS 0x0002021b
2377 +#define OID_GEN_XMIT_DISCARDS 0x0002021c
2379 +#if NTDDI_VERSION >= 0x06020000 || NDIS_SUPPORT_NDIS630
2380 +#define OID_TCP_RSC_STATISTICS 0x0002021d
2381 +#define OID_GEN_NDIS_RESERVED_7 0x0002021e
2384 +#define OID_GEN_CO_SUPPORTED_LIST OID_GEN_SUPPORTED_LIST
2385 +#define OID_GEN_CO_HARDWARE_STATUS OID_GEN_HARDWARE_STATUS
2386 +#define OID_GEN_CO_MEDIA_SUPPORTED OID_GEN_MEDIA_SUPPORTED
2387 +#define OID_GEN_CO_MEDIA_IN_USE OID_GEN_MEDIA_IN_USE
2388 +#define OID_GEN_CO_LINK_SPEED OID_GEN_LINK_SPEED
2389 +#define OID_GEN_CO_VENDOR_ID OID_GEN_VENDOR_ID
2390 +#define OID_GEN_CO_VENDOR_DESCRIPTION OID_GEN_VENDOR_DESCRIPTION
2391 +#define OID_GEN_CO_DRIVER_VERSION OID_GEN_DRIVER_VERSION
2392 +#define OID_GEN_CO_PROTOCOL_OPTIONS OID_GEN_PROTOCOL_OPTIONS
2393 +#define OID_GEN_CO_MAC_OPTIONS OID_GEN_MAC_OPTIONS
2394 +#define OID_GEN_CO_MEDIA_CONNECT_STATUS OID_GEN_MEDIA_CONNECT_STATUS
2395 +#define OID_GEN_CO_VENDOR_DRIVER_VERSION OID_GEN_VENDOR_DRIVER_VERSION
2396 +#define OID_GEN_CO_SUPPORTED_GUIDS OID_GEN_SUPPORTED_GUIDS
2397 +#define OID_GEN_CO_GET_TIME_CAPS OID_GEN_GET_TIME_CAPS
2398 +#define OID_GEN_CO_GET_NETCARD_TIME OID_GEN_GET_NETCARD_TIME
2399 +#define OID_GEN_CO_MINIMUM_LINK_SPEED 0x00020120
2401 +#define OID_GEN_CO_XMIT_PDUS_OK OID_GEN_XMIT_OK
2402 +#define OID_GEN_CO_RCV_PDUS_OK OID_GEN_RCV_OK
2403 +#define OID_GEN_CO_XMIT_PDUS_ERROR OID_GEN_XMIT_ERROR
2404 +#define OID_GEN_CO_RCV_PDUS_ERROR OID_GEN_RCV_ERROR
2405 +#define OID_GEN_CO_RCV_PDUS_NO_BUFFER OID_GEN_RCV_NO_BUFFER
2407 +#define OID_GEN_CO_RCV_CRC_ERROR OID_GEN_RCV_CRC_ERROR
2408 +#define OID_GEN_CO_TRANSMIT_QUEUE_LENGTH OID_GEN_TRANSMIT_QUEUE_LENGTH
2409 +#define OID_GEN_CO_BYTES_XMIT OID_GEN_DIRECTED_BYTES_XMIT
2410 +#define OID_GEN_CO_BYTES_RCV OID_GEN_DIRECTED_BYTES_RCV
2411 +#define OID_GEN_CO_NETCARD_LOAD OID_GEN_NETCARD_LOAD
2412 +#define OID_GEN_CO_DEVICE_PROFILE OID_GEN_DEVICE_PROFILE
2413 +#define OID_GEN_CO_BYTES_XMIT_OUTSTANDING 0x00020221
2415 +#define OID_802_3_PERMANENT_ADDRESS 0x01010101
2416 +#define OID_802_3_CURRENT_ADDRESS 0x01010102
2417 +#define OID_802_3_MULTICAST_LIST 0x01010103
2418 +#define OID_802_3_MAXIMUM_LIST_SIZE 0x01010104
2420 +#define OID_802_3_MAC_OPTIONS 0x01010105
2422 +#define NDIS_802_3_MAC_OPTION_PRIORITY 0x00000001
2424 +#define OID_802_3_RCV_ERROR_ALIGNMENT 0x01020101
2425 +#define OID_802_3_XMIT_ONE_COLLISION 0x01020102
2426 +#define OID_802_3_XMIT_MORE_COLLISIONS 0x01020103
2428 +#define OID_802_3_XMIT_DEFERRED 0x01020201
2429 +#define OID_802_3_XMIT_MAX_COLLISIONS 0x01020202
2430 +#define OID_802_3_RCV_OVERRUN 0x01020203
2431 +#define OID_802_3_XMIT_UNDERRUN 0x01020204
2432 +#define OID_802_3_XMIT_HEARTBEAT_FAILURE 0x01020205
2433 +#define OID_802_3_XMIT_TIMES_CRS_LOST 0x01020206
2434 +#define OID_802_3_XMIT_LATE_COLLISIONS 0x01020207
2436 +#if (NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6)
2437 +#define OID_802_3_ADD_MULTICAST_ADDRESS 0x01010208
2438 +#define OID_802_3_DELETE_MULTICAST_ADDRESS 0x01010209
2441 +#define OID_802_5_PERMANENT_ADDRESS 0x02010101
2442 +#define OID_802_5_CURRENT_ADDRESS 0x02010102
2443 +#define OID_802_5_CURRENT_FUNCTIONAL 0x02010103
2444 +#define OID_802_5_CURRENT_GROUP 0x02010104
2445 +#define OID_802_5_LAST_OPEN_STATUS 0x02010105
2446 +#define OID_802_5_CURRENT_RING_STATUS 0x02010106
2447 +#define OID_802_5_CURRENT_RING_STATE 0x02010107
2449 +#define OID_802_5_LINE_ERRORS 0x02020101
2450 +#define OID_802_5_LOST_FRAMES 0x02020102
2452 +#define OID_802_5_BURST_ERRORS 0x02020201
2453 +#define OID_802_5_AC_ERRORS 0x02020202
2454 +#define OID_802_5_ABORT_DELIMETERS 0x02020203
2455 +#define OID_802_5_FRAME_COPIED_ERRORS 0x02020204
2456 +#define OID_802_5_FREQUENCY_ERRORS 0x02020205
2457 +#define OID_802_5_TOKEN_ERRORS 0x02020206
2458 +#define OID_802_5_INTERNAL_ERRORS 0x02020207
2460 +#define OID_FDDI_LONG_PERMANENT_ADDR 0x03010101
2461 +#define OID_FDDI_LONG_CURRENT_ADDR 0x03010102
2462 +#define OID_FDDI_LONG_MULTICAST_LIST 0x03010103
2463 +#define OID_FDDI_LONG_MAX_LIST_SIZE 0x03010104
2464 +#define OID_FDDI_SHORT_PERMANENT_ADDR 0x03010105
2465 +#define OID_FDDI_SHORT_CURRENT_ADDR 0x03010106
2466 +#define OID_FDDI_SHORT_MULTICAST_LIST 0x03010107
2467 +#define OID_FDDI_SHORT_MAX_LIST_SIZE 0x03010108
2469 +#define OID_FDDI_ATTACHMENT_TYPE 0x03020101
2470 +#define OID_FDDI_UPSTREAM_NODE_LONG 0x03020102
2471 +#define OID_FDDI_DOWNSTREAM_NODE_LONG 0x03020103
2472 +#define OID_FDDI_FRAME_ERRORS 0x03020104
2473 +#define OID_FDDI_FRAMES_LOST 0x03020105
2474 +#define OID_FDDI_RING_MGT_STATE 0x03020106
2475 +#define OID_FDDI_LCT_FAILURES 0x03020107
2476 +#define OID_FDDI_LEM_REJECTS 0x03020108
2477 +#define OID_FDDI_LCONNECTION_STATE 0x03020109
2479 +#define OID_FDDI_SMT_STATION_ID 0x03030201
2480 +#define OID_FDDI_SMT_OP_VERSION_ID 0x03030202
2481 +#define OID_FDDI_SMT_HI_VERSION_ID 0x03030203
2482 +#define OID_FDDI_SMT_LO_VERSION_ID 0x03030204
2483 +#define OID_FDDI_SMT_MANUFACTURER_DATA 0x03030205
2484 +#define OID_FDDI_SMT_USER_DATA 0x03030206
2485 +#define OID_FDDI_SMT_MIB_VERSION_ID 0x03030207
2486 +#define OID_FDDI_SMT_MAC_CT 0x03030208
2487 +#define OID_FDDI_SMT_NON_MASTER_CT 0x03030209
2488 +#define OID_FDDI_SMT_MASTER_CT 0x0303020a
2489 +#define OID_FDDI_SMT_AVAILABLE_PATHS 0x0303020b
2490 +#define OID_FDDI_SMT_CONFIG_CAPABILITIES 0x0303020c
2491 +#define OID_FDDI_SMT_CONFIG_POLICY 0x0303020d
2492 +#define OID_FDDI_SMT_CONNECTION_POLICY 0x0303020e
2493 +#define OID_FDDI_SMT_T_NOTIFY 0x0303020f
2494 +#define OID_FDDI_SMT_STAT_RPT_POLICY 0x03030210
2495 +#define OID_FDDI_SMT_TRACE_MAX_EXPIRATION 0x03030211
2496 +#define OID_FDDI_SMT_PORT_INDEXES 0x03030212
2497 +#define OID_FDDI_SMT_MAC_INDEXES 0x03030213
2498 +#define OID_FDDI_SMT_BYPASS_PRESENT 0x03030214
2499 +#define OID_FDDI_SMT_ECM_STATE 0x03030215
2500 +#define OID_FDDI_SMT_CF_STATE 0x03030216
2501 +#define OID_FDDI_SMT_HOLD_STATE 0x03030217
2502 +#define OID_FDDI_SMT_REMOTE_DISCONNECT_FLAG 0x03030218
2503 +#define OID_FDDI_SMT_STATION_STATUS 0x03030219
2504 +#define OID_FDDI_SMT_PEER_WRAP_FLAG 0x0303021a
2505 +#define OID_FDDI_SMT_MSG_TIME_STAMP 0x0303021b
2506 +#define OID_FDDI_SMT_TRANSITION_TIME_STAMP 0x0303021c
2507 +#define OID_FDDI_SMT_SET_COUNT 0x0303021d
2508 +#define OID_FDDI_SMT_LAST_SET_STATION_ID 0x0303021e
2509 +#define OID_FDDI_MAC_FRAME_STATUS_FUNCTIONS 0x0303021f
2510 +#define OID_FDDI_MAC_BRIDGE_FUNCTIONS 0x03030220
2511 +#define OID_FDDI_MAC_T_MAX_CAPABILITY 0x03030221
2512 +#define OID_FDDI_MAC_TVX_CAPABILITY 0x03030222
2513 +#define OID_FDDI_MAC_AVAILABLE_PATHS 0x03030223
2514 +#define OID_FDDI_MAC_CURRENT_PATH 0x03030224
2515 +#define OID_FDDI_MAC_UPSTREAM_NBR 0x03030225
2516 +#define OID_FDDI_MAC_DOWNSTREAM_NBR 0x03030226
2517 +#define OID_FDDI_MAC_OLD_UPSTREAM_NBR 0x03030227
2518 +#define OID_FDDI_MAC_OLD_DOWNSTREAM_NBR 0x03030228
2519 +#define OID_FDDI_MAC_DUP_ADDRESS_TEST 0x03030229
2520 +#define OID_FDDI_MAC_REQUESTED_PATHS 0x0303022a
2521 +#define OID_FDDI_MAC_DOWNSTREAM_PORT_TYPE 0x0303022b
2522 +#define OID_FDDI_MAC_INDEX 0x0303022c
2523 +#define OID_FDDI_MAC_SMT_ADDRESS 0x0303022d
2524 +#define OID_FDDI_MAC_LONG_GRP_ADDRESS 0x0303022e
2525 +#define OID_FDDI_MAC_SHORT_GRP_ADDRESS 0x0303022f
2526 +#define OID_FDDI_MAC_T_REQ 0x03030230
2527 +#define OID_FDDI_MAC_T_NEG 0x03030231
2528 +#define OID_FDDI_MAC_T_MAX 0x03030232
2529 +#define OID_FDDI_MAC_TVX_VALUE 0x03030233
2530 +#define OID_FDDI_MAC_T_PRI0 0x03030234
2531 +#define OID_FDDI_MAC_T_PRI1 0x03030235
2532 +#define OID_FDDI_MAC_T_PRI2 0x03030236
2533 +#define OID_FDDI_MAC_T_PRI3 0x03030237
2534 +#define OID_FDDI_MAC_T_PRI4 0x03030238
2535 +#define OID_FDDI_MAC_T_PRI5 0x03030239
2536 +#define OID_FDDI_MAC_T_PRI6 0x0303023a
2537 +#define OID_FDDI_MAC_FRAME_CT 0x0303023b
2538 +#define OID_FDDI_MAC_COPIED_CT 0x0303023c
2539 +#define OID_FDDI_MAC_TRANSMIT_CT 0x0303023d
2540 +#define OID_FDDI_MAC_TOKEN_CT 0x0303023e
2541 +#define OID_FDDI_MAC_ERROR_CT 0x0303023f
2542 +#define OID_FDDI_MAC_LOST_CT 0x03030240
2543 +#define OID_FDDI_MAC_TVX_EXPIRED_CT 0x03030241
2544 +#define OID_FDDI_MAC_NOT_COPIED_CT 0x03030242
2545 +#define OID_FDDI_MAC_LATE_CT 0x03030243
2546 +#define OID_FDDI_MAC_RING_OP_CT 0x03030244
2547 +#define OID_FDDI_MAC_FRAME_ERROR_THRESHOLD 0x03030245
2548 +#define OID_FDDI_MAC_FRAME_ERROR_RATIO 0x03030246
2549 +#define OID_FDDI_MAC_NOT_COPIED_THRESHOLD 0x03030247
2550 +#define OID_FDDI_MAC_NOT_COPIED_RATIO 0x03030248
2551 +#define OID_FDDI_MAC_RMT_STATE 0x03030249
2552 +#define OID_FDDI_MAC_DA_FLAG 0x0303024a
2553 +#define OID_FDDI_MAC_UNDA_FLAG 0x0303024b
2554 +#define OID_FDDI_MAC_FRAME_ERROR_FLAG 0x0303024c
2555 +#define OID_FDDI_MAC_NOT_COPIED_FLAG 0x0303024d
2556 +#define OID_FDDI_MAC_MA_UNITDATA_AVAILABLE 0x0303024e
2557 +#define OID_FDDI_MAC_HARDWARE_PRESENT 0x0303024f
2558 +#define OID_FDDI_MAC_MA_UNITDATA_ENABLE 0x03030250
2559 +#define OID_FDDI_PATH_INDEX 0x03030251
2560 +#define OID_FDDI_PATH_RING_LATENCY 0x03030252
2561 +#define OID_FDDI_PATH_TRACE_STATUS 0x03030253
2562 +#define OID_FDDI_PATH_SBA_PAYLOAD 0x03030254
2563 +#define OID_FDDI_PATH_SBA_OVERHEAD 0x03030255
2564 +#define OID_FDDI_PATH_CONFIGURATION 0x03030256
2565 +#define OID_FDDI_PATH_T_R_MODE 0x03030257
2566 +#define OID_FDDI_PATH_SBA_AVAILABLE 0x03030258
2567 +#define OID_FDDI_PATH_TVX_LOWER_BOUND 0x03030259
2568 +#define OID_FDDI_PATH_T_MAX_LOWER_BOUND 0x0303025a
2569 +#define OID_FDDI_PATH_MAX_T_REQ 0x0303025b
2570 +#define OID_FDDI_PORT_MY_TYPE 0x0303025c
2571 +#define OID_FDDI_PORT_NEIGHBOR_TYPE 0x0303025d
2572 +#define OID_FDDI_PORT_CONNECTION_POLICIES 0x0303025e
2573 +#define OID_FDDI_PORT_MAC_INDICATED 0x0303025f
2574 +#define OID_FDDI_PORT_CURRENT_PATH 0x03030260
2575 +#define OID_FDDI_PORT_REQUESTED_PATHS 0x03030261
2576 +#define OID_FDDI_PORT_MAC_PLACEMENT 0x03030262
2577 +#define OID_FDDI_PORT_AVAILABLE_PATHS 0x03030263
2578 +#define OID_FDDI_PORT_MAC_LOOP_TIME 0x03030264
2579 +#define OID_FDDI_PORT_PMD_CLASS 0x03030265
2580 +#define OID_FDDI_PORT_CONNECTION_CAPABILITIES 0x03030266
2581 +#define OID_FDDI_PORT_INDEX 0x03030267
2582 +#define OID_FDDI_PORT_MAINT_LS 0x03030268
2583 +#define OID_FDDI_PORT_BS_FLAG 0x03030269
2584 +#define OID_FDDI_PORT_PC_LS 0x0303026a
2585 +#define OID_FDDI_PORT_EB_ERROR_CT 0x0303026b
2586 +#define OID_FDDI_PORT_LCT_FAIL_CT 0x0303026c
2587 +#define OID_FDDI_PORT_LER_ESTIMATE 0x0303026d
2588 +#define OID_FDDI_PORT_LEM_REJECT_CT 0x0303026e
2589 +#define OID_FDDI_PORT_LEM_CT 0x0303026f
2590 +#define OID_FDDI_PORT_LER_CUTOFF 0x03030270
2591 +#define OID_FDDI_PORT_LER_ALARM 0x03030271
2592 +#define OID_FDDI_PORT_CONNNECT_STATE 0x03030272
2593 +#define OID_FDDI_PORT_PCM_STATE 0x03030273
2594 +#define OID_FDDI_PORT_PC_WITHHOLD 0x03030274
2595 +#define OID_FDDI_PORT_LER_FLAG 0x03030275
2596 +#define OID_FDDI_PORT_HARDWARE_PRESENT 0x03030276
2597 +#define OID_FDDI_SMT_STATION_ACTION 0x03030277
2598 +#define OID_FDDI_PORT_ACTION 0x03030278
2599 +#define OID_FDDI_IF_DESCR 0x03030279
2600 +#define OID_FDDI_IF_TYPE 0x0303027a
2601 +#define OID_FDDI_IF_MTU 0x0303027b
2602 +#define OID_FDDI_IF_SPEED 0x0303027c
2603 +#define OID_FDDI_IF_PHYS_ADDRESS 0x0303027d
2604 +#define OID_FDDI_IF_ADMIN_STATUS 0x0303027e
2605 +#define OID_FDDI_IF_OPER_STATUS 0x0303027f
2606 +#define OID_FDDI_IF_LAST_CHANGE 0x03030280
2607 +#define OID_FDDI_IF_IN_OCTETS 0x03030281
2608 +#define OID_FDDI_IF_IN_UCAST_PKTS 0x03030282
2609 +#define OID_FDDI_IF_IN_NUCAST_PKTS 0x03030283
2610 +#define OID_FDDI_IF_IN_DISCARDS 0x03030284
2611 +#define OID_FDDI_IF_IN_ERRORS 0x03030285
2612 +#define OID_FDDI_IF_IN_UNKNOWN_PROTOS 0x03030286
2613 +#define OID_FDDI_IF_OUT_OCTETS 0x03030287
2614 +#define OID_FDDI_IF_OUT_UCAST_PKTS 0x03030288
2615 +#define OID_FDDI_IF_OUT_NUCAST_PKTS 0x03030289
2616 +#define OID_FDDI_IF_OUT_DISCARDS 0x0303028a
2617 +#define OID_FDDI_IF_OUT_ERRORS 0x0303028b
2618 +#define OID_FDDI_IF_OUT_QLEN 0x0303028c
2619 +#define OID_FDDI_IF_SPECIFIC 0x0303028d
2621 +#define OID_WAN_PERMANENT_ADDRESS 0x04010101
2622 +#define OID_WAN_CURRENT_ADDRESS 0x04010102
2623 +#define OID_WAN_QUALITY_OF_SERVICE 0x04010103
2624 +#define OID_WAN_PROTOCOL_TYPE 0x04010104
2625 +#define OID_WAN_MEDIUM_SUBTYPE 0x04010105
2626 +#define OID_WAN_HEADER_FORMAT 0x04010106
2628 +#define OID_WAN_GET_INFO 0x04010107
2629 +#define OID_WAN_SET_LINK_INFO 0x04010108
2630 +#define OID_WAN_GET_LINK_INFO 0x04010109
2631 +#define OID_WAN_LINE_COUNT 0x0401010a
2632 +#define OID_WAN_PROTOCOL_CAPS 0x0401010b
2634 +#define OID_WAN_GET_BRIDGE_INFO 0x0401020a
2635 +#define OID_WAN_SET_BRIDGE_INFO 0x0401020b
2636 +#define OID_WAN_GET_COMP_INFO 0x0401020c
2637 +#define OID_WAN_SET_COMP_INFO 0x0401020d
2638 +#define OID_WAN_GET_STATS_INFO 0x0401020e
2640 +#define OID_WAN_CO_GET_INFO 0x04010180
2641 +#define OID_WAN_CO_SET_LINK_INFO 0x04010181
2642 +#define OID_WAN_CO_GET_LINK_INFO 0x04010182
2643 +#define OID_WAN_CO_GET_COMP_INFO 0x04010280
2644 +#define OID_WAN_CO_SET_COMP_INFO 0x04010281
2645 +#define OID_WAN_CO_GET_STATS_INFO 0x04010282
2647 +#define OID_LTALK_CURRENT_NODE_ID 0x05010102
2649 +#define OID_LTALK_IN_BROADCASTS 0x05020101
2650 +#define OID_LTALK_IN_LENGTH_ERRORS 0x05020102
2652 +#define OID_LTALK_OUT_NO_HANDLERS 0x05020201
2653 +#define OID_LTALK_COLLISIONS 0x05020202
2654 +#define OID_LTALK_DEFERS 0x05020203
2655 +#define OID_LTALK_NO_DATA_ERRORS 0x05020204
2656 +#define OID_LTALK_RANDOM_CTS_ERRORS 0x05020205
2657 +#define OID_LTALK_FCS_ERRORS 0x05020206
2659 +#define OID_ARCNET_PERMANENT_ADDRESS 0x06010101
2660 +#define OID_ARCNET_CURRENT_ADDRESS 0x06010102
2662 +#define OID_ARCNET_RECONFIGURATIONS 0x06020201
2664 +#define OID_TAPI_ACCEPT 0x07030101
2665 +#define OID_TAPI_ANSWER 0x07030102
2666 +#define OID_TAPI_CLOSE 0x07030103
2667 +#define OID_TAPI_CLOSE_CALL 0x07030104
2668 +#define OID_TAPI_CONDITIONAL_MEDIA_DETECTION 0x07030105
2669 +#define OID_TAPI_CONFIG_DIALOG 0x07030106
2670 +#define OID_TAPI_DEV_SPECIFIC 0x07030107
2671 +#define OID_TAPI_DIAL 0x07030108
2672 +#define OID_TAPI_DROP 0x07030109
2673 +#define OID_TAPI_GET_ADDRESS_CAPS 0x0703010a
2674 +#define OID_TAPI_GET_ADDRESS_ID 0x0703010b
2675 +#define OID_TAPI_GET_ADDRESS_STATUS 0x0703010c
2676 +#define OID_TAPI_GET_CALL_ADDRESS_ID 0x0703010d
2677 +#define OID_TAPI_GET_CALL_INFO 0x0703010e
2678 +#define OID_TAPI_GET_CALL_STATUS 0x0703010f
2679 +#define OID_TAPI_GET_DEV_CAPS 0x07030110
2680 +#define OID_TAPI_GET_DEV_CONFIG 0x07030111
2681 +#define OID_TAPI_GET_EXTENSION_ID 0x07030112
2682 +#define OID_TAPI_GET_ID 0x07030113
2683 +#define OID_TAPI_GET_LINE_DEV_STATUS 0x07030114
2684 +#define OID_TAPI_MAKE_CALL 0x07030115
2685 +#define OID_TAPI_NEGOTIATE_EXT_VERSION 0x07030116
2686 +#define OID_TAPI_OPEN 0x07030117
2687 +#define OID_TAPI_PROVIDER_INITIALIZE 0x07030118
2688 +#define OID_TAPI_PROVIDER_SHUTDOWN 0x07030119
2689 +#define OID_TAPI_SECURE_CALL 0x0703011a
2690 +#define OID_TAPI_SELECT_EXT_VERSION 0x0703011b
2691 +#define OID_TAPI_SEND_USER_USER_INFO 0x0703011c
2692 +#define OID_TAPI_SET_APP_SPECIFIC 0x0703011d
2693 +#define OID_TAPI_SET_CALL_PARAMS 0x0703011e
2694 +#define OID_TAPI_SET_DEFAULT_MEDIA_DETECTION 0x0703011f
2695 +#define OID_TAPI_SET_DEV_CONFIG 0x07030120
2696 +#define OID_TAPI_SET_MEDIA_MODE 0x07030121
2697 +#define OID_TAPI_SET_STATUS_MESSAGES 0x07030122
2698 +#define OID_TAPI_GATHER_DIGITS 0x07030123
2699 +#define OID_TAPI_MONITOR_DIGITS 0x07030124
2701 +#define OID_ATM_SUPPORTED_VC_RATES 0x08010101
2702 +#define OID_ATM_SUPPORTED_SERVICE_CATEGORY 0x08010102
2703 +#define OID_ATM_SUPPORTED_AAL_TYPES 0x08010103
2704 +#define OID_ATM_HW_CURRENT_ADDRESS 0x08010104
2705 +#define OID_ATM_MAX_ACTIVE_VCS 0x08010105
2706 +#define OID_ATM_MAX_ACTIVE_VCI_BITS 0x08010106
2707 +#define OID_ATM_MAX_ACTIVE_VPI_BITS 0x08010107
2708 +#define OID_ATM_MAX_AAL0_PACKET_SIZE 0x08010108
2709 +#define OID_ATM_MAX_AAL1_PACKET_SIZE 0x08010109
2710 +#define OID_ATM_MAX_AAL34_PACKET_SIZE 0x0801010a
2711 +#define OID_ATM_MAX_AAL5_PACKET_SIZE 0x0801010b
2713 +#define OID_ATM_SIGNALING_VPIVCI 0x08010201
2714 +#define OID_ATM_ASSIGNED_VPI 0x08010202
2715 +#define OID_ATM_ACQUIRE_ACCESS_NET_RESOURCES 0x08010203
2716 +#define OID_ATM_RELEASE_ACCESS_NET_RESOURCES 0x08010204
2717 +#define OID_ATM_ILMI_VPIVCI 0x08010205
2718 +#define OID_ATM_DIGITAL_BROADCAST_VPIVCI 0x08010206
2719 +#define OID_ATM_GET_NEAREST_FLOW 0x08010207
2720 +#define OID_ATM_ALIGNMENT_REQUIRED 0x08010208
2721 +#define OID_ATM_LECS_ADDRESS 0x08010209
2722 +#define OID_ATM_SERVICE_ADDRESS 0x0801020a
2724 +#define OID_ATM_CALL_PROCEEDING 0x0801020b
2725 +#define OID_ATM_CALL_ALERTING 0x0801020c
2726 +#define OID_ATM_PARTY_ALERTING 0x0801020d
2727 +#define OID_ATM_CALL_NOTIFY 0x0801020e
2729 +#define OID_ATM_MY_IP_NM_ADDRESS 0x0801020f
2731 +#define OID_ATM_RCV_CELLS_OK 0x08020101
2732 +#define OID_ATM_XMIT_CELLS_OK 0x08020102
2733 +#define OID_ATM_RCV_CELLS_DROPPED 0x08020103
2735 +#define OID_ATM_RCV_INVALID_VPI_VCI 0x08020201
2736 +#define OID_ATM_CELLS_HEC_ERROR 0x08020202
2737 +#define OID_ATM_RCV_REASSEMBLY_ERROR 0x08020203
2739 +#define OID_802_11_BSSID 0x0d010101
2740 +#define OID_802_11_SSID 0x0d010102
2741 +#define OID_802_11_NETWORK_TYPES_SUPPORTED 0x0d010203
2742 +#define OID_802_11_NETWORK_TYPE_IN_USE 0x0d010204
2743 +#define OID_802_11_TX_POWER_LEVEL 0x0d010205
2744 +#define OID_802_11_RSSI 0x0d010206
2745 +#define OID_802_11_RSSI_TRIGGER 0x0d010207
2746 +#define OID_802_11_INFRASTRUCTURE_MODE 0x0d010108
2747 +#define OID_802_11_FRAGMENTATION_THRESHOLD 0x0d010209
2748 +#define OID_802_11_RTS_THRESHOLD 0x0d01020a
2749 +#define OID_802_11_NUMBER_OF_ANTENNAS 0x0d01020b
2750 +#define OID_802_11_RX_ANTENNA_SELECTED 0x0d01020c
2751 +#define OID_802_11_TX_ANTENNA_SELECTED 0x0d01020d
2752 +#define OID_802_11_SUPPORTED_RATES 0x0d01020e
2753 +#define OID_802_11_DESIRED_RATES 0x0d010210
2754 +#define OID_802_11_CONFIGURATION 0x0d010211
2755 +#define OID_802_11_STATISTICS 0x0d020212
2756 +#define OID_802_11_ADD_WEP 0x0d010113
2757 +#define OID_802_11_REMOVE_WEP 0x0d010114
2758 +#define OID_802_11_DISASSOCIATE 0x0d010115
2759 +#define OID_802_11_POWER_MODE 0x0d010216
2760 +#define OID_802_11_BSSID_LIST 0x0d010217
2761 +#define OID_802_11_AUTHENTICATION_MODE 0x0d010118
2762 +#define OID_802_11_PRIVACY_FILTER 0x0d010119
2763 +#define OID_802_11_BSSID_LIST_SCAN 0x0d01011a
2764 +#define OID_802_11_WEP_STATUS 0x0d01011b
2766 +#define OID_802_11_ENCRYPTION_STATUS OID_802_11_WEP_STATUS
2767 +#define OID_802_11_RELOAD_DEFAULTS 0x0d01011c
2769 +#define OID_802_11_ADD_KEY 0x0d01011d
2770 +#define OID_802_11_REMOVE_KEY 0x0d01011e
2771 +#define OID_802_11_ASSOCIATION_INFORMATION 0x0d01011f
2772 +#define OID_802_11_TEST 0x0d010120
2773 +#define OID_802_11_MEDIA_STREAM_MODE 0x0d010121
2774 +#define OID_802_11_CAPABILITY 0x0d010122
2775 +#define OID_802_11_PMKID 0x0d010123
2776 +#define OID_802_11_NON_BCAST_SSID_LIST 0x0d010124
2777 +#define OID_802_11_RADIO_STATUS 0x0d010125
2779 +#define NDIS_ETH_TYPE_IPV4 0x0800
2780 +#define NDIS_ETH_TYPE_ARP 0x0806
2781 +#define NDIS_ETH_TYPE_IPV6 0x86dd
2782 +#define NDIS_ETH_TYPE_802_1X 0x888e
2783 +#define NDIS_ETH_TYPE_802_1Q 0x8100
2784 +#define NDIS_ETH_TYPE_SLOW_PROTOCOL 0x8809
2786 +#define NDIS_802_11_LENGTH_SSID 32
2787 +#define NDIS_802_11_LENGTH_RATES 8
2788 +#define NDIS_802_11_LENGTH_RATES_EX 16
2790 +#define NDIS_802_11_AUTH_REQUEST_REAUTH 0x01
2791 +#define NDIS_802_11_AUTH_REQUEST_KEYUPDATE 0x02
2792 +#define NDIS_802_11_AUTH_REQUEST_PAIRWISE_ERROR 0x06
2793 +#define NDIS_802_11_AUTH_REQUEST_GROUP_ERROR 0x0e
2794 +#define NDIS_802_11_AUTH_REQUEST_AUTH_FIELDS 0x0f
2796 +#define NDIS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLED 0x01
2798 +#define NDIS_802_11_AI_REQFI_CAPABILITIES 1
2799 +#define NDIS_802_11_AI_REQFI_LISTENINTERVAL 2
2800 +#define NDIS_802_11_AI_REQFI_CURRENTAPADDRESS 4
2802 +#define NDIS_802_11_AI_RESFI_CAPABILITIES 1
2803 +#define NDIS_802_11_AI_RESFI_STATUSCODE 2
2804 +#define NDIS_802_11_AI_RESFI_ASSOCIATIONID 4
2806 + typedef enum _NDIS_802_11_STATUS_TYPE {
2807 + Ndis802_11StatusType_Authentication,
2808 + Ndis802_11StatusType_MediaStreamMode,
2809 + Ndis802_11StatusType_PMKID_CandidateList,
2810 + Ndis802_11StatusTypeMax
2811 + } NDIS_802_11_STATUS_TYPE, *PNDIS_802_11_STATUS_TYPE;
2813 + typedef UCHAR NDIS_802_11_MAC_ADDRESS[6];
2815 + typedef struct _NDIS_802_11_STATUS_INDICATION {
2816 + NDIS_802_11_STATUS_TYPE StatusType;
2817 + } NDIS_802_11_STATUS_INDICATION, *PNDIS_802_11_STATUS_INDICATION;
2819 + typedef struct _NDIS_802_11_AUTHENTICATION_REQUEST {
2821 + NDIS_802_11_MAC_ADDRESS Bssid;
2823 + } NDIS_802_11_AUTHENTICATION_REQUEST, *PNDIS_802_11_AUTHENTICATION_REQUEST;
2825 + typedef struct _PMKID_CANDIDATE {
2826 + NDIS_802_11_MAC_ADDRESS BSSID;
2828 + } PMKID_CANDIDATE, *PPMKID_CANDIDATE;
2830 + typedef struct _NDIS_802_11_PMKID_CANDIDATE_LIST {
2832 + ULONG NumCandidates;
2833 + PMKID_CANDIDATE CandidateList[1];
2834 + } NDIS_802_11_PMKID_CANDIDATE_LIST, *PNDIS_802_11_PMKID_CANDIDATE_LIST;
2836 + typedef enum _NDIS_802_11_NETWORK_TYPE {
2841 + Ndis802_11Automode,
2842 + Ndis802_11NetworkTypeMax
2843 + } NDIS_802_11_NETWORK_TYPE, *PNDIS_802_11_NETWORK_TYPE;
2845 + typedef struct _NDIS_802_11_NETWORK_TYPE_LIST {
2846 + ULONG NumberOfItems;
2847 + NDIS_802_11_NETWORK_TYPE NetworkType [1];
2848 + } NDIS_802_11_NETWORK_TYPE_LIST, *PNDIS_802_11_NETWORK_TYPE_LIST;
2850 + typedef enum _NDIS_802_11_POWER_MODE {
2851 + Ndis802_11PowerModeCAM,
2852 + Ndis802_11PowerModeMAX_PSP,
2853 + Ndis802_11PowerModeFast_PSP,
2854 + Ndis802_11PowerModeMax
2855 + } NDIS_802_11_POWER_MODE, *PNDIS_802_11_POWER_MODE;
2857 + typedef ULONG NDIS_802_11_TX_POWER_LEVEL;
2858 + typedef LONG NDIS_802_11_RSSI;
2860 + typedef struct _NDIS_802_11_CONFIGURATION_FH {
2865 + } NDIS_802_11_CONFIGURATION_FH, *PNDIS_802_11_CONFIGURATION_FH;
2867 + typedef struct _NDIS_802_11_CONFIGURATION {
2869 + ULONG BeaconPeriod;
2872 + NDIS_802_11_CONFIGURATION_FH FHConfig;
2873 + } NDIS_802_11_CONFIGURATION, *PNDIS_802_11_CONFIGURATION;
2875 + typedef struct _NDIS_802_11_STATISTICS {
2877 + LARGE_INTEGER TransmittedFragmentCount;
2878 + LARGE_INTEGER MulticastTransmittedFrameCount;
2879 + LARGE_INTEGER FailedCount;
2880 + LARGE_INTEGER RetryCount;
2881 + LARGE_INTEGER MultipleRetryCount;
2882 + LARGE_INTEGER RTSSuccessCount;
2883 + LARGE_INTEGER RTSFailureCount;
2884 + LARGE_INTEGER ACKFailureCount;
2885 + LARGE_INTEGER FrameDuplicateCount;
2886 + LARGE_INTEGER ReceivedFragmentCount;
2887 + LARGE_INTEGER MulticastReceivedFrameCount;
2888 + LARGE_INTEGER FCSErrorCount;
2889 + LARGE_INTEGER TKIPLocalMICFailures;
2890 + LARGE_INTEGER TKIPICVErrorCount;
2891 + LARGE_INTEGER TKIPCounterMeasuresInvoked;
2892 + LARGE_INTEGER TKIPReplays;
2893 + LARGE_INTEGER CCMPFormatErrors;
2894 + LARGE_INTEGER CCMPReplays;
2895 + LARGE_INTEGER CCMPDecryptErrors;
2896 + LARGE_INTEGER FourWayHandshakeFailures;
2897 + LARGE_INTEGER WEPUndecryptableCount;
2898 + LARGE_INTEGER WEPICVErrorCount;
2899 + LARGE_INTEGER DecryptSuccessCount;
2900 + LARGE_INTEGER DecryptFailureCount;
2901 + } NDIS_802_11_STATISTICS, *PNDIS_802_11_STATISTICS;
2903 + typedef ULONG NDIS_802_11_KEY_INDEX;
2904 + typedef ULONGLONG NDIS_802_11_KEY_RSC;
2906 + typedef struct _NDIS_802_11_KEY {
2910 + NDIS_802_11_MAC_ADDRESS BSSID;
2911 + NDIS_802_11_KEY_RSC KeyRSC;
2912 + UCHAR KeyMaterial[1];
2913 + } NDIS_802_11_KEY, *PNDIS_802_11_KEY;
2915 + typedef struct _NDIS_802_11_REMOVE_KEY {
2918 + NDIS_802_11_MAC_ADDRESS BSSID;
2919 + } NDIS_802_11_REMOVE_KEY, *PNDIS_802_11_REMOVE_KEY;
2920 + typedef struct _NDIS_802_11_WEP {
2924 + UCHAR KeyMaterial[1];
2925 + } NDIS_802_11_WEP, *PNDIS_802_11_WEP;
2927 + typedef enum _NDIS_802_11_NETWORK_INFRASTRUCTURE {
2929 + Ndis802_11Infrastructure,
2930 + Ndis802_11AutoUnknown,
2931 + Ndis802_11InfrastructureMax
2932 + } NDIS_802_11_NETWORK_INFRASTRUCTURE, *PNDIS_802_11_NETWORK_INFRASTRUCTURE;
2934 + typedef enum _NDIS_802_11_AUTHENTICATION_MODE {
2935 + Ndis802_11AuthModeOpen,
2936 + Ndis802_11AuthModeShared,
2937 + Ndis802_11AuthModeAutoSwitch,
2938 + Ndis802_11AuthModeWPA,
2939 + Ndis802_11AuthModeWPAPSK,
2940 + Ndis802_11AuthModeWPANone,
2941 + Ndis802_11AuthModeWPA2,
2942 + Ndis802_11AuthModeWPA2PSK,
2943 + Ndis802_11AuthModeMax
2944 + } NDIS_802_11_AUTHENTICATION_MODE, *PNDIS_802_11_AUTHENTICATION_MODE;
2946 + typedef UCHAR NDIS_802_11_RATES[NDIS_802_11_LENGTH_RATES];
2947 + typedef UCHAR NDIS_802_11_RATES_EX[NDIS_802_11_LENGTH_RATES_EX];
2949 + typedef struct _NDIS_802_11_SSID {
2951 + UCHAR Ssid[NDIS_802_11_LENGTH_SSID];
2952 + } NDIS_802_11_SSID, *PNDIS_802_11_SSID;
2954 + typedef struct _NDIS_WLAN_BSSID {
2956 + NDIS_802_11_MAC_ADDRESS MacAddress;
2957 + UCHAR Reserved[2];
2958 + NDIS_802_11_SSID Ssid;
2960 + NDIS_802_11_RSSI Rssi;
2961 + NDIS_802_11_NETWORK_TYPE NetworkTypeInUse;
2962 + NDIS_802_11_CONFIGURATION Configuration;
2963 + NDIS_802_11_NETWORK_INFRASTRUCTURE InfrastructureMode;
2964 + NDIS_802_11_RATES SupportedRates;
2965 + } NDIS_WLAN_BSSID, *PNDIS_WLAN_BSSID;
2967 + typedef struct _NDIS_802_11_BSSID_LIST {
2968 + ULONG NumberOfItems;
2969 + NDIS_WLAN_BSSID Bssid[1];
2970 + } NDIS_802_11_BSSID_LIST, *PNDIS_802_11_BSSID_LIST;
2972 + typedef struct _NDIS_WLAN_BSSID_EX {
2974 + NDIS_802_11_MAC_ADDRESS MacAddress;
2975 + UCHAR Reserved[2];
2976 + NDIS_802_11_SSID Ssid;
2978 + NDIS_802_11_RSSI Rssi;
2979 + NDIS_802_11_NETWORK_TYPE NetworkTypeInUse;
2980 + NDIS_802_11_CONFIGURATION Configuration;
2981 + NDIS_802_11_NETWORK_INFRASTRUCTURE InfrastructureMode;
2982 + NDIS_802_11_RATES_EX SupportedRates;
2985 + } NDIS_WLAN_BSSID_EX, *PNDIS_WLAN_BSSID_EX;
2987 + typedef struct _NDIS_802_11_BSSID_LIST_EX {
2988 + ULONG NumberOfItems;
2989 + NDIS_WLAN_BSSID_EX Bssid[1];
2990 + } NDIS_802_11_BSSID_LIST_EX, *PNDIS_802_11_BSSID_LIST_EX;
2992 + typedef struct _NDIS_802_11_FIXED_IEs {
2993 + UCHAR Timestamp[8];
2994 + USHORT BeaconInterval;
2995 + USHORT Capabilities;
2996 + } NDIS_802_11_FIXED_IEs, *PNDIS_802_11_FIXED_IEs;
2998 + typedef struct _NDIS_802_11_VARIABLE_IEs {
3002 + } NDIS_802_11_VARIABLE_IEs, *PNDIS_802_11_VARIABLE_IEs;
3004 + typedef ULONG NDIS_802_11_FRAGMENTATION_THRESHOLD;
3005 + typedef ULONG NDIS_802_11_RTS_THRESHOLD;
3006 + typedef ULONG NDIS_802_11_ANTENNA;
3008 + typedef enum _NDIS_802_11_PRIVACY_FILTER {
3009 + Ndis802_11PrivFilterAcceptAll,
3010 + Ndis802_11PrivFilter8021xWEP
3011 + } NDIS_802_11_PRIVACY_FILTER, *PNDIS_802_11_PRIVACY_FILTER;
3013 + typedef enum _NDIS_802_11_WEP_STATUS {
3014 + Ndis802_11WEPEnabled,
3015 + Ndis802_11Encryption1Enabled = Ndis802_11WEPEnabled,
3016 + Ndis802_11WEPDisabled,
3017 + Ndis802_11EncryptionDisabled = Ndis802_11WEPDisabled,
3018 + Ndis802_11WEPKeyAbsent,
3019 + Ndis802_11Encryption1KeyAbsent = Ndis802_11WEPKeyAbsent,
3020 + Ndis802_11WEPNotSupported,
3021 + Ndis802_11EncryptionNotSupported = Ndis802_11WEPNotSupported,
3022 + Ndis802_11Encryption2Enabled,
3023 + Ndis802_11Encryption2KeyAbsent,
3024 + Ndis802_11Encryption3Enabled,
3025 + Ndis802_11Encryption3KeyAbsent
3026 + } NDIS_802_11_WEP_STATUS, *PNDIS_802_11_WEP_STATUS, NDIS_802_11_ENCRYPTION_STATUS, *PNDIS_802_11_ENCRYPTION_STATUS;
3028 + typedef enum _NDIS_802_11_RELOAD_DEFAULTS {
3029 + Ndis802_11ReloadWEPKeys
3030 + } NDIS_802_11_RELOAD_DEFAULTS, *PNDIS_802_11_RELOAD_DEFAULTS;
3032 + typedef struct _NDIS_802_11_AI_REQFI {
3033 + USHORT Capabilities;
3034 + USHORT ListenInterval;
3035 + NDIS_802_11_MAC_ADDRESS CurrentAPAddress;
3036 + } NDIS_802_11_AI_REQFI, *PNDIS_802_11_AI_REQFI;
3038 + typedef struct _NDIS_802_11_AI_RESFI {
3039 + USHORT Capabilities;
3040 + USHORT StatusCode;
3041 + USHORT AssociationId;
3042 + } NDIS_802_11_AI_RESFI, *PNDIS_802_11_AI_RESFI;
3044 + typedef struct _NDIS_802_11_ASSOCIATION_INFORMATION {
3046 + USHORT AvailableRequestFixedIEs;
3047 + NDIS_802_11_AI_REQFI RequestFixedIEs;
3048 + ULONG RequestIELength;
3049 + ULONG OffsetRequestIEs;
3050 + USHORT AvailableResponseFixedIEs;
3051 + NDIS_802_11_AI_RESFI ResponseFixedIEs;
3052 + ULONG ResponseIELength;
3053 + ULONG OffsetResponseIEs;
3054 + } NDIS_802_11_ASSOCIATION_INFORMATION, *PNDIS_802_11_ASSOCIATION_INFORMATION;
3056 + typedef struct _NDIS_802_11_AUTHENTICATION_EVENT {
3057 + NDIS_802_11_STATUS_INDICATION Status;
3058 + NDIS_802_11_AUTHENTICATION_REQUEST Request[1];
3059 + } NDIS_802_11_AUTHENTICATION_EVENT, *PNDIS_802_11_AUTHENTICATION_EVENT;
3061 + typedef struct _NDIS_802_11_TEST {
3064 + _ANONYMOUS_UNION union {
3065 + NDIS_802_11_AUTHENTICATION_EVENT AuthenticationEvent;
3066 + NDIS_802_11_RSSI RssiTrigger;
3068 + } NDIS_802_11_TEST, *PNDIS_802_11_TEST;
3070 + typedef enum _NDIS_802_11_MEDIA_STREAM_MODE {
3071 + Ndis802_11MediaStreamOff,
3072 + Ndis802_11MediaStreamOn,
3073 + } NDIS_802_11_MEDIA_STREAM_MODE, *PNDIS_802_11_MEDIA_STREAM_MODE;
3075 + typedef UCHAR NDIS_802_11_PMKID_VALUE[16];
3077 + typedef struct _BSSID_INFO {
3078 + NDIS_802_11_MAC_ADDRESS BSSID;
3079 + NDIS_802_11_PMKID_VALUE PMKID;
3080 + } BSSID_INFO, *PBSSID_INFO;
3082 + typedef struct _NDIS_802_11_PMKID {
3084 + ULONG BSSIDInfoCount;
3085 + BSSID_INFO BSSIDInfo[1];
3086 + } NDIS_802_11_PMKID, *PNDIS_802_11_PMKID;
3088 + typedef struct _NDIS_802_11_AUTHENTICATION_ENCRYPTION {
3089 + NDIS_802_11_AUTHENTICATION_MODE AuthModeSupported;
3090 + NDIS_802_11_ENCRYPTION_STATUS EncryptStatusSupported;
3091 + } NDIS_802_11_AUTHENTICATION_ENCRYPTION, *PNDIS_802_11_AUTHENTICATION_ENCRYPTION;
3093 + typedef struct _NDIS_802_11_CAPABILITY {
3097 + ULONG NoOfAuthEncryptPairsSupported;
3098 + NDIS_802_11_AUTHENTICATION_ENCRYPTION AuthenticationEncryptionSupported[1];
3099 + } NDIS_802_11_CAPABILITY, *PNDIS_802_11_CAPABILITY;
3101 + typedef struct _NDIS_802_11_NON_BCAST_SSID_LIST {
3102 + ULONG NumberOfItems;
3103 + NDIS_802_11_SSID Non_Bcast_Ssid[1];
3104 + } NDIS_802_11_NON_BCAST_SSID_LIST, *PNDIS_802_11_NON_BCAST_SSID_LIST;
3106 + typedef enum _NDIS_802_11_RADIO_STATUS {
3107 + Ndis802_11RadioStatusOn,
3108 + Ndis802_11RadioStatusHardwareOff,
3109 + Ndis802_11RadioStatusSoftwareOff,
3110 + Ndis802_11RadioStatusHardwareSoftwareOff,
3111 + Ndis802_11RadioStatusMax
3112 + } NDIS_802_11_RADIO_STATUS, *PNDIS_802_11_RADIO_STATUS;
3114 +#define OID_IRDA_RECEIVING 0x0a010100
3115 +#define OID_IRDA_TURNAROUND_TIME 0x0a010101
3116 +#define OID_IRDA_SUPPORTED_SPEEDS 0x0a010102
3117 +#define OID_IRDA_LINK_SPEED 0x0a010103
3118 +#define OID_IRDA_MEDIA_BUSY 0x0a010104
3120 +#define OID_IRDA_EXTRA_RCV_BOFS 0x0a010200
3121 +#define OID_IRDA_RATE_SNIFF 0x0a010201
3122 +#define OID_IRDA_UNICAST_LIST 0x0a010202
3123 +#define OID_IRDA_MAX_UNICAST_LIST_SIZE 0x0a010203
3124 +#define OID_IRDA_MAX_RECEIVE_WINDOW_SIZE 0x0a010204
3125 +#define OID_IRDA_MAX_SEND_WINDOW_SIZE 0x0a010205
3126 +#define OID_IRDA_RESERVED1 0x0a01020a
3127 +#define OID_IRDA_RESERVED2 0x0a01020f
3129 +#define OID_1394_LOCAL_NODE_INFO 0x0c010101
3130 +#define OID_1394_VC_INFO 0x0c010102
3132 +#define OID_CO_ADD_PVC 0xfe000001
3133 +#define OID_CO_DELETE_PVC 0xfe000002
3134 +#define OID_CO_GET_CALL_INFORMATION 0xfe000003
3135 +#define OID_CO_ADD_ADDRESS 0xfe000004
3136 +#define OID_CO_DELETE_ADDRESS 0xfe000005
3137 +#define OID_CO_GET_ADDRESSES 0xfe000006
3138 +#define OID_CO_ADDRESS_CHANGE 0xfe000007
3139 +#define OID_CO_SIGNALING_ENABLED 0xfe000008
3140 +#define OID_CO_SIGNALING_DISABLED 0xfe000009
3141 +#define OID_CO_AF_CLOSE 0xfe00000a
3143 +#define OID_CO_TAPI_CM_CAPS 0xfe001001
3144 +#define OID_CO_TAPI_LINE_CAPS 0xfe001002
3145 +#define OID_CO_TAPI_ADDRESS_CAPS 0xfe001003
3146 +#define OID_CO_TAPI_TRANSLATE_TAPI_CALLPARAMS 0xfe001004
3147 +#define OID_CO_TAPI_TRANSLATE_NDIS_CALLPARAMS 0xfe001005
3148 +#define OID_CO_TAPI_TRANSLATE_TAPI_SAP 0xfe001006
3149 +#define OID_CO_TAPI_GET_CALL_DIAGNOSTICS 0xfe001007
3150 +#define OID_CO_TAPI_REPORT_DIGITS 0xfe001008
3151 +#define OID_CO_TAPI_DONT_REPORT_DIGITS 0xfe001009
3153 +#define OID_PNP_CAPABILITIES 0xfd010100
3154 +#define OID_PNP_SET_POWER 0xfd010101
3155 +#define OID_PNP_QUERY_POWER 0xfd010102
3156 +#define OID_PNP_ADD_WAKE_UP_PATTERN 0xfd010103
3157 +#define OID_PNP_REMOVE_WAKE_UP_PATTERN 0xfd010104
3158 +#define OID_PNP_WAKE_UP_PATTERN_LIST 0xfd010105
3159 +#define OID_PNP_ENABLE_WAKE_UP 0xfd010106
3161 +#define OID_PNP_WAKE_UP_OK 0xfd020200
3162 +#define OID_PNP_WAKE_UP_ERROR 0xfd020201
3164 +#if (NTDDI_VERSION >= 0x06010000 || NDIS_SUPPORT_NDIS620)
3165 +#define OID_PM_CURRENT_CAPABILITIES 0xfd010107
3166 +#define OID_PM_HARDWARE_CAPABILITIES 0xfd010108
3167 +#define OID_PM_PARAMETERS 0xfd010109
3168 +#define OID_PM_ADD_WOL_PATTERN 0xfd01010a
3169 +#define OID_PM_REMOVE_WOL_PATTERN 0xfd01010b
3170 +#define OID_PM_WOL_PATTERN_LIST 0xfd01010c
3171 +#define OID_PM_ADD_PROTOCOL_OFFLOAD 0xfd01010d
3172 +#define OID_PM_GET_PROTOCOL_OFFLOAD 0xfd01010e
3173 +#define OID_PM_REMOVE_PROTOCOL_OFFLOAD 0xfd01010f
3174 +#define OID_PM_PROTOCOL_OFFLOAD_LIST 0xfd010110
3175 +#define OID_PM_RESERVED_1 0xfd010111
3177 +#define OID_RECEIVE_FILTER_HARDWARE_CAPABILITIES 0x00010221
3178 +#define OID_RECEIVE_FILTER_GLOBAL_PARAMETERS 0x00010222
3179 +#define OID_RECEIVE_FILTER_ALLOCATE_QUEUE 0x00010223
3180 +#define OID_RECEIVE_FILTER_FREE_QUEUE 0x00010224
3181 +#define OID_RECEIVE_FILTER_ENUM_QUEUES 0x00010225
3182 +#define OID_RECEIVE_FILTER_QUEUE_PARAMETERS 0x00010226
3183 +#define OID_RECEIVE_FILTER_SET_FILTER 0x00010227
3184 +#define OID_RECEIVE_FILTER_CLEAR_FILTER 0x00010228
3185 +#define OID_RECEIVE_FILTER_ENUM_FILTERS 0x00010229
3186 +#define OID_RECEIVE_FILTER_PARAMETERS 0x0001022a
3187 +#define OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE 0x0001022b
3188 +#define OID_RECEIVE_FILTER_CURRENT_CAPABILITIES 0x0001022d
3189 +#define OID_NIC_SWITCH_HARDWARE_CAPABILITIES 0x0001022e
3190 +#define OID_NIC_SWITCH_CURRENT_CAPABILITIES 0x0001022f
3191 +#if NDIS_SUPPORT_NDIS630
3192 +#define OID_RECEIVE_FILTER_MOVE_FILTER 0x00010230
3194 +#define OID_VLAN_RESERVED1 0x00010231
3195 +#define OID_VLAN_RESERVED2 0x00010232
3196 +#define OID_VLAN_RESERVED3 0x00010233
3197 +#define OID_VLAN_RESERVED4 0x00010234
3198 +#if NDIS_SUPPORT_NDIS630
3199 +#define OID_PACKET_COALESCING_FILTER_MATCH_COUNT 0x00010235
3203 +#if NTDDI_VERSION >= 0x06020000 || NDIS_SUPPORT_NDIS630
3204 +#define OID_NIC_SWITCH_CREATE_SWITCH 0x00010237
3205 +#define OID_NIC_SWITCH_PARAMETERS 0x00010238
3206 +#define OID_NIC_SWITCH_DELETE_SWITCH 0x00010239
3207 +#define OID_NIC_SWITCH_ENUM_SWITCHES 0x00010240
3208 +#define OID_NIC_SWITCH_CREATE_VPORT 0x00010241
3209 +#define OID_NIC_SWITCH_VPORT_PARAMETERS 0x00010242
3210 +#define OID_NIC_SWITCH_ENUM_VPORTS 0x00010243
3211 +#define OID_NIC_SWITCH_DELETE_VPORT 0x00010244
3212 +#define OID_NIC_SWITCH_ALLOCATE_VF 0x00010245
3213 +#define OID_NIC_SWITCH_FREE_VF 0x00010246
3214 +#define OID_NIC_SWITCH_VF_PARAMETERS 0x00010247
3215 +#define OID_NIC_SWITCH_ENUM_VFS 0x00010248
3217 +#define OID_SRIOV_HARDWARE_CAPABILITIES 0x00010249
3218 +#define OID_SRIOV_CURRENT_CAPABILITIES 0x00010250
3219 +#define OID_SRIOV_READ_VF_CONFIG_SPACE 0x00010251
3220 +#define OID_SRIOV_WRITE_VF_CONFIG_SPACE 0x00010252
3221 +#define OID_SRIOV_READ_VF_CONFIG_BLOCK 0x00010253
3222 +#define OID_SRIOV_WRITE_VF_CONFIG_BLOCK 0x00010254
3223 +#define OID_SRIOV_RESET_VF 0x00010255
3224 +#define OID_SRIOV_SET_VF_POWER_STATE 0x00010256
3225 +#define OID_SRIOV_VF_VENDOR_DEVICE_ID 0x00010257
3226 +#define OID_SRIOV_PROBED_BARS 0x00010258
3227 +#define OID_SRIOV_BAR_RESOURCES 0x00010259
3228 +#define OID_SRIOV_PF_LUID 0x00010260
3230 +#define OID_SRIOV_CONFIG_STATE 0x00010261
3231 +#define OID_SRIOV_VF_SERIAL_NUMBER 0x00010262
3232 +#define OID_SRIOV_VF_INVALIDATE_CONFIG_BLOCK 0x00010269
3234 +#define OID_SWITCH_PROPERTY_ADD 0x00010263
3235 +#define OID_SWITCH_PROPERTY_UPDATE 0x00010264
3236 +#define OID_SWITCH_PROPERTY_DELETE 0x00010265
3237 +#define OID_SWITCH_PROPERTY_ENUM 0x00010266
3238 +#define OID_SWITCH_FEATURE_STATUS_QUERY 0x00010267
3240 +#define OID_SWITCH_NIC_REQUEST 0x00010270
3241 +#define OID_SWITCH_PORT_PROPERTY_ADD 0x00010271
3242 +#define OID_SWITCH_PORT_PROPERTY_UPDATE 0x00010272
3243 +#define OID_SWITCH_PORT_PROPERTY_DELETE 0x00010273
3244 +#define OID_SWITCH_PORT_PROPERTY_ENUM 0x00010274
3245 +#define OID_SWITCH_PARAMETERS 0x00010275
3246 +#define OID_SWITCH_PORT_ARRAY 0x00010276
3247 +#define OID_SWITCH_NIC_ARRAY 0x00010277
3248 +#define OID_SWITCH_PORT_CREATE 0x00010278
3249 +#define OID_SWITCH_PORT_DELETE 0x00010279
3250 +#define OID_SWITCH_NIC_CREATE 0x0001027a
3251 +#define OID_SWITCH_NIC_CONNECT 0x0001027b
3252 +#define OID_SWITCH_NIC_DISCONNECT 0x0001027c
3253 +#define OID_SWITCH_NIC_DELETE 0x0001027d
3254 +#define OID_SWITCH_PORT_FEATURE_STATUS_QUERY 0x0001027e
3255 +#define OID_SWITCH_PORT_TEARDOWN 0x0001027f
3256 +#define OID_SWITCH_NIC_SAVE 0x00010290
3257 +#define OID_SWITCH_NIC_SAVE_COMPLETE 0x00010291
3258 +#define OID_SWITCH_NIC_RESTORE 0x00010292
3259 +#define OID_SWITCH_NIC_RESTORE_COMPLETE 0x00010293
3260 +#define OID_SWITCH_NIC_UPDATED 0x00010294
3261 +#define OID_SWITCH_PORT_UPDATED 0x00010295
3264 +#define NDIS_PNP_WAKE_UP_MAGIC_PACKET 0x00000001
3265 +#define NDIS_PNP_WAKE_UP_PATTERN_MATCH 0x00000002
3266 +#define NDIS_PNP_WAKE_UP_LINK_CHANGE 0x00000004
3268 +#define OID_TCP_TASK_OFFLOAD 0xfc010201
3269 +#define OID_TCP_TASK_IPSEC_ADD_SA 0xfc010202
3270 +#define OID_TCP_TASK_IPSEC_DELETE_SA 0xfc010203
3271 +#define OID_TCP_SAN_SUPPORT 0xfc010204
3272 +#define OID_TCP_TASK_IPSEC_ADD_UDPESP_SA 0xfc010205
3273 +#define OID_TCP_TASK_IPSEC_DELETE_UDPESP_SA 0xfc010206
3274 +#define OID_TCP4_OFFLOAD_STATS 0xfc010207
3275 +#define OID_TCP6_OFFLOAD_STATS 0xfc010208
3276 +#define OID_IP4_OFFLOAD_STATS 0xfc010209
3277 +#define OID_IP6_OFFLOAD_STATS 0xfc01020a
3279 +#define OID_TCP_OFFLOAD_CURRENT_CONFIG 0xfc01020b
3280 +#define OID_TCP_OFFLOAD_PARAMETERS 0xfc01020c
3281 +#define OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES 0xfc01020d
3282 +#define OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG 0xfc01020e
3283 +#define OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES 0xfc01020f
3284 +#define OID_OFFLOAD_ENCAPSULATION 0x0101010a
3286 +#if NDIS_SUPPORT_NDIS61
3287 +#define OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA 0xfc030202
3288 +#define OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA 0xfc030203
3289 +#define OID_TCP_TASK_IPSEC_OFFLOAD_V2_UPDATE_SA 0xfc030204
3291 +#if NDIS_SUPPORT_NDIS630
3292 +#define OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA_EX 0xfc030205
3295 +#define OID_FFP_SUPPORT 0xfc010210
3296 +#define OID_FFP_FLUSH 0xfc010211
3297 +#define OID_FFP_CONTROL 0xfc010212
3298 +#define OID_FFP_PARAMS 0xfc010213
3299 +#define OID_FFP_DATA 0xfc010214
3301 +#define OID_FFP_DRIVER_STATS 0xfc020210
3302 +#define OID_FFP_ADAPTER_STATS 0xfc020211
3304 +#define OID_TCP_CONNECTION_OFFLOAD_PARAMETERS 0xfc030201
3306 +#if NTDDI_VERSION >= 0x06010000 || NDIS_SUPPORT_NDIS620
3307 +#define OID_TUNNEL_INTERFACE_SET_OID 0x0f010106
3308 +#define OID_TUNNEL_INTERFACE_RELEASE_OID 0x0f010107
3311 +#define OID_QOS_RESERVED1 0xfb010100
3312 +#define OID_QOS_RESERVED2 0xfb010101
3313 +#define OID_QOS_RESERVED3 0xfb010102
3314 +#define OID_QOS_RESERVED4 0xfb010103
3315 +#define OID_QOS_RESERVED5 0xfb010104
3316 +#define OID_QOS_RESERVED6 0xfb010105
3317 +#define OID_QOS_RESERVED7 0xfb010106
3318 +#define OID_QOS_RESERVED8 0xfb010107
3319 +#define OID_QOS_RESERVED9 0xfb010108
3320 +#define OID_QOS_RESERVED10 0xfb010109
3321 +#define OID_QOS_RESERVED11 0xfb01010a
3322 +#define OID_QOS_RESERVED12 0xfb01010b
3323 +#define OID_QOS_RESERVED13 0xfb01010c
3324 +#define OID_QOS_RESERVED14 0xfb01010d
3325 +#define OID_QOS_RESERVED15 0xfb01010e
3326 +#define OID_QOS_RESERVED16 0xfb01010f
3327 +#define OID_QOS_RESERVED17 0xfb010110
3328 +#define OID_QOS_RESERVED18 0xfb010111
3329 +#define OID_QOS_RESERVED19 0xfb010112
3330 +#define OID_QOS_RESERVED20 0xfb010113
3332 +#define OFFLOAD_MAX_SAS 3
3334 +#define OFFLOAD_INBOUND_SA 0x0001
3335 +#define OFFLOAD_OUTBOUND_SA 0x0002
3337 + typedef struct NDIS_CO_DEVICE_PROFILE {
3338 + NDIS_VAR_DATA_DESC DeviceDescription;
3339 + NDIS_VAR_DATA_DESC DevSpecificInfo;
3340 + ULONG ulTAPISupplementaryPassThru;
3341 + ULONG ulAddressModes;
3342 + ULONG ulNumAddresses;
3343 + ULONG ulBearerModes;
3344 + ULONG ulMaxTxRate;
3345 + ULONG ulMinTxRate;
3346 + ULONG ulMaxRxRate;
3347 + ULONG ulMinRxRate;
3348 + ULONG ulMediaModes;
3349 + ULONG ulGenerateToneModes;
3350 + ULONG ulGenerateToneMaxNumFreq;
3351 + ULONG ulGenerateDigitModes;
3352 + ULONG ulMonitorToneMaxNumFreq;
3353 + ULONG ulMonitorToneMaxNumEntries;
3354 + ULONG ulMonitorDigitModes;
3355 + ULONG ulGatherDigitsMinTimeout;
3356 + ULONG ulGatherDigitsMaxTimeout;
3357 + ULONG ulDevCapFlags;
3358 + ULONG ulMaxNumActiveCalls;
3359 + ULONG ulAnswerMode;
3360 + ULONG ulUUIAcceptSize;
3361 + ULONG ulUUIAnswerSize;
3362 + ULONG ulUUIMakeCallSize;
3363 + ULONG ulUUIDropSize;
3364 + ULONG ulUUISendUserUserInfoSize;
3365 + ULONG ulUUICallInfoSize;
3366 + } NDIS_CO_DEVICE_PROFILE, *PNDIS_CO_DEVICE_PROFILE;
3368 +#ifndef IP_EXPORT_INCLUDED
3369 + typedef ULONG IPAddr, IPMask;
3371 + typedef ULONG SPI_TYPE;
3373 + typedef enum _OFFLOAD_OPERATION_E {
3376 + } OFFLOAD_OPERATION_E;
3378 + typedef struct _OFFLOAD_ALGO_INFO {
3379 + ULONG algoIdentifier;
3382 + } OFFLOAD_ALGO_INFO, *POFFLOAD_ALGO_INFO;
3384 + typedef enum _OFFLOAD_CONF_ALGO {
3385 + OFFLOAD_IPSEC_CONF_NONE,
3386 + OFFLOAD_IPSEC_CONF_DES,
3387 + OFFLOAD_IPSEC_CONF_RESERVED,
3388 + OFFLOAD_IPSEC_CONF_3_DES,
3389 + OFFLOAD_IPSEC_CONF_MAX
3390 + } OFFLOAD_CONF_ALGO;
3392 + typedef enum _OFFLOAD_INTEGRITY_ALGO {
3393 + OFFLOAD_IPSEC_INTEGRITY_NONE,
3394 + OFFLOAD_IPSEC_INTEGRITY_MD5,
3395 + OFFLOAD_IPSEC_INTEGRITY_SHA,
3396 + OFFLOAD_IPSEC_INTEGRITY_MAX
3397 + } OFFLOAD_INTEGRITY_ALGO;
3399 + typedef struct _OFFLOAD_SECURITY_ASSOCIATION {
3400 + OFFLOAD_OPERATION_E Operation;
3402 + OFFLOAD_ALGO_INFO IntegrityAlgo;
3403 + OFFLOAD_ALGO_INFO ConfAlgo;
3404 + OFFLOAD_ALGO_INFO Reserved;
3405 + } OFFLOAD_SECURITY_ASSOCIATION, *POFFLOAD_SECURITY_ASSOCIATION;
3407 + typedef struct _OFFLOAD_IPSEC_ADD_SA {
3415 + IPAddr SrcTunnelAddr;
3416 + IPAddr DestTunnelAddr;
3419 + OFFLOAD_SECURITY_ASSOCIATION SecAssoc[OFFLOAD_MAX_SAS];
3420 + HANDLE OffloadHandle;
3423 + } OFFLOAD_IPSEC_ADD_SA, *POFFLOAD_IPSEC_ADD_SA;
3425 + typedef struct _OFFLOAD_IPSEC_DELETE_SA {
3426 + HANDLE OffloadHandle;
3427 + } OFFLOAD_IPSEC_DELETE_SA, *POFFLOAD_IPSEC_DELETE_SA;
3429 + typedef enum _UDP_ENCAP_TYPE {
3430 + OFFLOAD_IPSEC_UDPESP_ENCAPTYPE_IKE,
3431 + OFFLOAD_IPSEC_UDPESP_ENCAPTYPE_OTHER
3432 + } UDP_ENCAP_TYPE, *PUDP_ENCAP_TYPE;
3434 + typedef struct _OFFLOAD_IPSEC_UDPESP_ENCAPTYPE_ENTRY {
3435 + UDP_ENCAP_TYPE UdpEncapType;
3436 + USHORT DstEncapPort;
3437 + } OFFLOAD_IPSEC_UDPESP_ENCAPTYPE_ENTRY, *POFFLOAD_IPSEC_UDPESP_ENCAPTYPE_ENTRY;
3439 + typedef struct _OFFLOAD_IPSEC_ADD_UDPESP_SA {
3447 + IPAddr SrcTunnelAddr;
3448 + IPAddr DstTunnelAddr;
3451 + OFFLOAD_SECURITY_ASSOCIATION SecAssoc[OFFLOAD_MAX_SAS];
3452 + HANDLE OffloadHandle;
3453 + OFFLOAD_IPSEC_UDPESP_ENCAPTYPE_ENTRY EncapTypeEntry;
3454 + HANDLE EncapTypeEntryOffldHandle;
3457 + } OFFLOAD_IPSEC_ADD_UDPESP_SA, *POFFLOAD_IPSEC_ADD_UDPESP_SA;
3459 + typedef struct _OFFLOAD_IPSEC_DELETE_UDPESP_SA {
3460 + HANDLE OffloadHandle;
3461 + HANDLE EncapTypeEntryOffldHandle;
3462 + } OFFLOAD_IPSEC_DELETE_UDPESP_SA, *POFFLOAD_IPSEC_DELETE_UDPESP_SA;
3464 + typedef ULONG NDIS_VLAN_ID;
3466 + typedef enum _NDIS_MEDIUM {
3471 + NdisMediumLocalTalk,
3473 + NdisMediumArcnetRaw,
3474 + NdisMediumArcnet878_2,
3476 + NdisMediumWirelessWan,
3481 + NdisMediumInfiniBand,
3482 +#if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6
3484 + NdisMediumNative802_11,
3485 + NdisMediumLoopback,
3487 +#if NTDDI_VERSION >= 0x06010000
3492 + } NDIS_MEDIUM, *PNDIS_MEDIUM;
3494 + typedef enum _NDIS_PHYSICAL_MEDIUM {
3495 + NdisPhysicalMediumUnspecified,
3496 + NdisPhysicalMediumWirelessLan,
3497 + NdisPhysicalMediumCableModem,
3498 + NdisPhysicalMediumPhoneLine,
3499 + NdisPhysicalMediumPowerLine,
3500 + NdisPhysicalMediumDSL,
3501 + NdisPhysicalMediumFibreChannel,
3502 + NdisPhysicalMedium1394,
3503 + NdisPhysicalMediumWirelessWan,
3504 + NdisPhysicalMediumNative802_11,
3505 + NdisPhysicalMediumBluetooth,
3506 + NdisPhysicalMediumInfiniband,
3507 + NdisPhysicalMediumWiMax,
3508 + NdisPhysicalMediumUWB,
3509 + NdisPhysicalMedium802_3,
3510 + NdisPhysicalMedium802_5,
3511 + NdisPhysicalMediumIrda,
3512 + NdisPhysicalMediumWiredWAN,
3513 + NdisPhysicalMediumWiredCoWan,
3514 + NdisPhysicalMediumOther,
3515 + NdisPhysicalMediumMax
3516 + } NDIS_PHYSICAL_MEDIUM, *PNDIS_PHYSICAL_MEDIUM;
3518 + typedef struct _TRANSPORT_HEADER_OFFSET {
3519 + USHORT ProtocolType;
3520 + USHORT HeaderOffset;
3521 + } TRANSPORT_HEADER_OFFSET, *PTRANSPORT_HEADER_OFFSET;
3523 + typedef struct _NETWORK_ADDRESS {
3524 + USHORT AddressLength;
3525 + USHORT AddressType;
3527 + } NETWORK_ADDRESS, *PNETWORK_ADDRESS;
3529 + typedef struct _NETWORK_ADDRESS_LIST {
3530 + LONG AddressCount;
3531 + USHORT AddressType;
3532 + NETWORK_ADDRESS Address[1];
3533 + } NETWORK_ADDRESS_LIST, *PNETWORK_ADDRESS_LIST;
3535 + typedef struct _NETWORK_ADDRESS_IP {
3538 + UCHAR sin_zero[8];
3539 + } NETWORK_ADDRESS_IP, *PNETWORK_ADDRESS_IP;
3541 +#define NDIS_PROTOCOL_ID_DEFAULT 0x00
3542 +#define NDIS_PROTOCOL_ID_TCP_IP 0x02
3543 +#define NDIS_PROTOCOL_ID_IPX 0x06
3544 +#define NDIS_PROTOCOL_ID_NBF 0x07
3545 +#define NDIS_PROTOCOL_ID_MAX 0x0f
3546 +#define NDIS_PROTOCOL_ID_MASK 0x0f
3548 +#define READABLE_LOCAL_CLOCK 0x00000001
3549 +#define CLOCK_NETWORK_DERIVED 0x00000002
3550 +#define CLOCK_PRECISION 0x00000004
3551 +#define RECEIVE_TIME_INDICATION_CAPABLE 0x00000008
3552 +#define TIMED_SEND_CAPABLE 0x00000010
3553 +#define TIME_STAMP_CAPABLE 0x00000020
3555 +#define NDIS_DEVICE_WAKE_UP_ENABLE 0x00000001
3556 +#define NDIS_DEVICE_WAKE_ON_PATTERN_MATCH_ENABLE 0x00000002
3557 +#define NDIS_DEVICE_WAKE_ON_MAGIC_PACKET_ENABLE 0x00000004
3559 +#define WAN_PROTOCOL_KEEPS_STATS 0x00000001
3561 +#define NETWORK_ADDRESS_LENGTH_IP sizeof (NETWORK_ADDRESS_IP)
3562 +#define NETWORK_ADDRESS_LENGTH_IPX sizeof (NETWORK_ADDRESS_IPX)
3564 + typedef struct _NETWORK_ADDRESS_IPX {
3565 + ULONG NetworkAddress;
3566 + UCHAR NodeAddress[6];
3568 + } NETWORK_ADDRESS_IPX, *PNETWORK_ADDRESS_IPX;
3570 + typedef enum _NDIS_HARDWARE_STATUS {
3571 + NdisHardwareStatusReady,
3572 + NdisHardwareStatusInitializing,
3573 + NdisHardwareStatusReset,
3574 + NdisHardwareStatusClosing,
3575 + NdisHardwareStatusNotReady
3576 + } NDIS_HARDWARE_STATUS, *PNDIS_HARDWARE_STATUS;
3578 + typedef struct _GEN_GET_TIME_CAPS {
3580 + ULONG ClockPrecision;
3581 + } GEN_GET_TIME_CAPS, *PGEN_GET_TIME_CAPS;
3583 + typedef struct _GEN_GET_NETCARD_TIME {
3584 + ULONGLONG ReadTime;
3585 + } GEN_GET_NETCARD_TIME, *PGEN_GET_NETCARD_TIME;
3587 + typedef struct _NDIS_PM_PACKET_PATTERN {
3591 + ULONG PatternOffset;
3592 + ULONG PatternSize;
3593 + ULONG PatternFlags;
3594 + } NDIS_PM_PACKET_PATTERN, *PNDIS_PM_PACKET_PATTERN;
3596 + typedef enum _NDIS_DEVICE_POWER_STATE {
3597 + NdisDeviceStateUnspecified = 0,
3598 + NdisDeviceStateD0,
3599 + NdisDeviceStateD1,
3600 + NdisDeviceStateD2,
3601 + NdisDeviceStateD3,
3602 + NdisDeviceStateMaximum
3603 + } NDIS_DEVICE_POWER_STATE, *PNDIS_DEVICE_POWER_STATE;
3605 + typedef struct _NDIS_PM_WAKE_UP_CAPABILITIES {
3606 + NDIS_DEVICE_POWER_STATE MinMagicPacketWakeUp;
3607 + NDIS_DEVICE_POWER_STATE MinPatternWakeUp;
3608 + NDIS_DEVICE_POWER_STATE MinLinkChangeWakeUp;
3609 + } NDIS_PM_WAKE_UP_CAPABILITIES, *PNDIS_PM_WAKE_UP_CAPABILITIES;
3611 + typedef struct _NDIS_PNP_CAPABILITIES {
3613 + NDIS_PM_WAKE_UP_CAPABILITIES WakeUpCapabilities;
3614 + } NDIS_PNP_CAPABILITIES, *PNDIS_PNP_CAPABILITIES;
3616 + typedef enum _NDIS_FDDI_ATTACHMENT_TYPE {
3617 + NdisFddiTypeIsolated = 1,
3618 + NdisFddiTypeLocalA,
3619 + NdisFddiTypeLocalB,
3620 + NdisFddiTypeLocalAB,
3621 + NdisFddiTypeLocalS,
3622 + NdisFddiTypeWrapA,
3623 + NdisFddiTypeWrapB,
3624 + NdisFddiTypeWrapAB,
3625 + NdisFddiTypeWrapS,
3626 + NdisFddiTypeCWrapA,
3627 + NdisFddiTypeCWrapB,
3628 + NdisFddiTypeCWrapS,
3629 + NdisFddiTypeThrough
3630 + } NDIS_FDDI_ATTACHMENT_TYPE, *PNDIS_FDDI_ATTACHMENT_TYPE;
3632 + typedef enum _NDIS_FDDI_RING_MGT_STATE {
3633 + NdisFddiRingIsolated = 1,
3634 + NdisFddiRingNonOperational,
3635 + NdisFddiRingOperational,
3636 + NdisFddiRingDetect,
3637 + NdisFddiRingNonOperationalDup,
3638 + NdisFddiRingOperationalDup,
3639 + NdisFddiRingDirected,
3641 + } NDIS_FDDI_RING_MGT_STATE, *PNDIS_FDDI_RING_MGT_STATE;
3643 + typedef enum _NDIS_FDDI_LCONNECTION_STATE {
3644 + NdisFddiStateOff = 1,
3645 + NdisFddiStateBreak,
3646 + NdisFddiStateTrace,
3647 + NdisFddiStateConnect,
3648 + NdisFddiStateNext,
3649 + NdisFddiStateSignal,
3650 + NdisFddiStateJoin,
3651 + NdisFddiStateVerify,
3652 + NdisFddiStateActive,
3653 + NdisFddiStateMaintenance
3654 + } NDIS_FDDI_LCONNECTION_STATE, *PNDIS_FDDI_LCONNECTION_STATE;
3656 + typedef enum _NDIS_WAN_MEDIUM_SUBTYPE {
3658 + NdisWanMediumX_25,
3659 + NdisWanMediumIsdn,
3660 + NdisWanMediumSerial,
3661 + NdisWanMediumFrameRelay,
3663 + NdisWanMediumSonet,
3664 + NdisWanMediumSW56K,
3665 + NdisWanMediumPPTP,
3666 + NdisWanMediumL2TP,
3667 + NdisWanMediumIrda,
3668 + NdisWanMediumParallel,
3669 + NdisWanMediumPppoe,
3670 +#if NTDDI_VERSION >= 0x06000000
3671 + NdisWanMediumSSTP,
3672 + NdisWanMediumAgileVPN,
3674 + } NDIS_WAN_MEDIUM_SUBTYPE, *PNDIS_WAN_MEDIUM_SUBTYPE;
3676 + typedef enum _NDIS_WAN_HEADER_FORMAT {
3677 + NdisWanHeaderNative,
3678 + NdisWanHeaderEthernet
3679 + } NDIS_WAN_HEADER_FORMAT, *PNDIS_WAN_HEADER_FORMAT;
3681 + typedef enum _NDIS_WAN_QUALITY {
3683 + NdisWanErrorControl,
3685 + } NDIS_WAN_QUALITY, *PNDIS_WAN_QUALITY;
3687 + typedef struct _NDIS_WAN_PROTOCOL_CAPS {
3690 + } NDIS_WAN_PROTOCOL_CAPS, *PNDIS_WAN_PROTOCOL_CAPS;
3692 + typedef enum _NDIS_802_5_RING_STATE {
3693 + NdisRingStateOpened = 1,
3694 + NdisRingStateClosed,
3695 + NdisRingStateOpening,
3696 + NdisRingStateClosing,
3697 + NdisRingStateOpenFailure,
3698 + NdisRingStateRingFailure
3699 + } NDIS_802_5_RING_STATE, *PNDIS_802_5_RING_STATE;
3701 + typedef enum _NDIS_MEDIA_STATE {
3702 + NdisMediaStateConnected,
3703 + NdisMediaStateDisconnected
3704 + } NDIS_MEDIA_STATE, *PNDIS_MEDIA_STATE;
3706 + typedef ULONG Priority_802_3;
3708 + typedef struct _NDIS_CO_LINK_SPEED {
3711 + } NDIS_CO_LINK_SPEED, *PNDIS_CO_LINK_SPEED;
3713 +#if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6
3714 +#define NDIS_LINK_SPEED_UNKNOWN NET_IF_LINK_SPEED_UNKNOWN
3716 + typedef struct _NDIS_LINK_SPEED {
3717 + ULONG64 XmitLinkSpeed;
3718 + ULONG64 RcvLinkSpeed;
3719 + } NDIS_LINK_SPEED, *PNDIS_LINK_SPEED;
3723 + typedef int NDIS_STATUS, *PNDIS_STATUS;
3727 +#if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6
3728 +#ifndef __WINDOT11_H__
3729 +#include <windot11.h>
3734 +#define fNDIS_GUID_TO_OID 0x00000001
3735 +#define fNDIS_GUID_TO_STATUS 0x00000002
3736 +#define fNDIS_GUID_ANSI_STRING 0x00000004
3737 +#define fNDIS_GUID_UNICODE_STRING 0x00000008
3738 +#define fNDIS_GUID_ARRAY 0x00000010
3739 +#define fNDIS_GUID_ALLOW_READ 0x00000020
3740 +#define fNDIS_GUID_ALLOW_WRITE 0x00000040
3741 +#define fNDIS_GUID_METHOD 0x00000080
3742 +#define fNDIS_GUID_NDIS_RESERVED 0x00000100
3743 +#define fNDIS_GUID_SUPPORT_COMMON_HEADER 0x00000200
3745 +#define NDIS_PACKET_TYPE_DIRECTED 0x00000001
3746 +#define NDIS_PACKET_TYPE_MULTICAST 0x00000002
3747 +#define NDIS_PACKET_TYPE_ALL_MULTICAST 0x00000004
3748 +#define NDIS_PACKET_TYPE_BROADCAST 0x00000008
3749 +#define NDIS_PACKET_TYPE_SOURCE_ROUTING 0x00000010
3750 +#define NDIS_PACKET_TYPE_PROMISCUOUS 0x00000020
3751 +#define NDIS_PACKET_TYPE_SMT 0x00000040
3752 +#define NDIS_PACKET_TYPE_ALL_LOCAL 0x00000080
3753 +#define NDIS_PACKET_TYPE_GROUP 0x00001000
3754 +#define NDIS_PACKET_TYPE_ALL_FUNCTIONAL 0x00002000
3755 +#define NDIS_PACKET_TYPE_FUNCTIONAL 0x00004000
3756 +#define NDIS_PACKET_TYPE_MAC_FRAME 0x00008000
3757 +#define NDIS_PACKET_TYPE_NO_LOCAL 0x00010000
3759 +#define NDIS_RING_SIGNAL_LOSS 0x00008000
3760 +#define NDIS_RING_HARD_ERROR 0x00004000
3761 +#define NDIS_RING_SOFT_ERROR 0x00002000
3762 +#define NDIS_RING_TRANSMIT_BEACON 0x00001000
3763 +#define NDIS_RING_LOBE_WIRE_FAULT 0x00000800
3764 +#define NDIS_RING_AUTO_REMOVAL_ERROR 0x00000400
3765 +#define NDIS_RING_REMOVE_RECEIVED 0x00000200
3766 +#define NDIS_RING_COUNTER_OVERFLOW 0x00000100
3767 +#define NDIS_RING_SINGLE_STATION 0x00000080
3768 +#define NDIS_RING_RING_RECOVERY 0x00000040
3770 +#define NDIS_PROT_OPTION_ESTIMATED_LENGTH 0x00000001
3771 +#define NDIS_PROT_OPTION_NO_LOOPBACK 0x00000002
3772 +#define NDIS_PROT_OPTION_NO_RSVD_ON_RCVPKT 0x00000004
3773 +#define NDIS_PROT_OPTION_SEND_RESTRICTED 0x00000008
3775 +#define NDIS_MAC_OPTION_COPY_LOOKAHEAD_DATA 0x00000001
3776 +#define NDIS_MAC_OPTION_RECEIVE_SERIALIZED 0x00000002
3777 +#define NDIS_MAC_OPTION_TRANSFERS_NOT_PEND 0x00000004
3778 +#define NDIS_MAC_OPTION_NO_LOOPBACK 0x00000008
3780 +#define NDIS_MAC_OPTION_FULL_DUPLEX 0x00000010
3782 +#define NDIS_MAC_OPTION_EOTX_INDICATION 0x00000020
3783 +#define NDIS_MAC_OPTION_8021P_PRIORITY 0x00000040
3784 +#define NDIS_MAC_OPTION_SUPPORTS_MAC_ADDRESS_OVERWRITE 0x00000080
3785 +#define NDIS_MAC_OPTION_RECEIVE_AT_DPC 0x00000100
3786 +#define NDIS_MAC_OPTION_8021Q_VLAN 0x00000200
3787 +#define NDIS_MAC_OPTION_RESERVED 0x80000000
3789 +#define NDIS_MEDIA_CAP_TRANSMIT 0x00000001
3790 +#define NDIS_MEDIA_CAP_RECEIVE 0x00000002
3792 +#define NDIS_CO_MAC_OPTION_DYNAMIC_LINK_SPEED 0x00000001
3794 + typedef struct _NDIS_GUID {
3796 + _ANONYMOUS_UNION union {
3798 + NDIS_STATUS Status;
3802 + } NDIS_GUID, *PNDIS_GUID;
3804 + typedef struct _NDIS_IRDA_PACKET_INFO {
3806 + ULONG MinTurnAroundTime;
3807 + } NDIS_IRDA_PACKET_INFO, *PNDIS_IRDA_PACKET_INFO;
3809 +#if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6
3810 +#define NDIS_MAKE_NET_LUID(PNLUID, IFTYPE, NLUIDIDX) { (PNLUID)->Info.IfType = IFTYPE; (PNLUID)->Info.NetLuidIndex = NLUIDIDX; (PNLUID)->Info.Reserved = 0; }
3812 +#define MAXIMUM_IP_OPER_STATUS_ADDRESS_FAMILIES_SUPPORTED 32
3814 +#define NDIS_IF_MAX_STRING_SIZE IF_MAX_STRING_SIZE
3815 +#define NDIS_MAX_PHYS_ADDRESS_LENGTH IF_MAX_PHYS_ADDRESS_LENGTH
3817 +#define NDIS_LINK_STATE_XMIT_LINK_SPEED_AUTO_NEGOTIATED 0x00000001
3818 +#define NDIS_LINK_STATE_RCV_LINK_SPEED_AUTO_NEGOTIATED 0x00000002
3819 +#define NDIS_LINK_STATE_DUPLEX_AUTO_NEGOTIATED 0x00000004
3820 +#define NDIS_LINK_STATE_PAUSE_FUNCTIONS_AUTO_NEGOTIATED 0x00000008
3822 +#define NDIS_LINK_STATE_REVISION_1 1
3823 +#define NDIS_LINK_PARAMETERS_REVISION_1 1
3824 +#define NDIS_OPER_STATE_REVISION_1 1
3825 +#define NDIS_IP_OPER_STATUS_INFO_REVISION_1 1
3826 +#define NDIS_IP_OPER_STATE_REVISION_1 1
3828 +#define NDIS_SIZEOF_LINK_STATE_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_LINK_STATE, AutoNegotiationFlags)
3829 +#define NDIS_SIZEOF_LINK_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_LINK_PARAMETERS, AutoNegotiationFlags)
3830 +#define NDIS_SIZEOF_OPER_STATE_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_OPER_STATE, OperationalStatusFlags)
3831 +#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)
3832 +#define NDIS_SIZEOF_IP_OPER_STATE_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_IP_OPER_STATE, IpOperationalStatus)
3834 + typedef IF_COUNTED_STRING NDIS_IF_COUNTED_STRING, *PNDIS_IF_COUNTED_STRING;
3835 + typedef IF_PHYSICAL_ADDRESS NDIS_IF_PHYSICAL_ADDRESS, *PNDIS_IF_PHYSICAL_ADDRESS;
3836 + typedef NET_IF_MEDIA_CONNECT_STATE NDIS_MEDIA_CONNECT_STATE, *PNDIS_MEDIA_CONNECT_STATE;
3837 + typedef NET_IF_MEDIA_DUPLEX_STATE NDIS_MEDIA_DUPLEX_STATE, *PNDIS_MEDIA_DUPLEX_STATE;
3839 + typedef enum _NDIS_SUPPORTED_PAUSE_FUNCTIONS {
3840 + NdisPauseFunctionsUnsupported,
3841 + NdisPauseFunctionsSendOnly,
3842 + NdisPauseFunctionsReceiveOnly,
3843 + NdisPauseFunctionsSendAndReceive,
3844 + NdisPauseFunctionsUnknown
3845 + } NDIS_SUPPORTED_PAUSE_FUNCTIONS, *PNDIS_SUPPORTED_PAUSE_FUNCTIONS;
3847 + typedef struct _NDIS_LINK_STATE {
3848 + NDIS_OBJECT_HEADER Header;
3849 + NDIS_MEDIA_CONNECT_STATE MediaConnectState;
3850 + NDIS_MEDIA_DUPLEX_STATE MediaDuplexState;
3851 + ULONG64 XmitLinkSpeed;
3852 + ULONG64 RcvLinkSpeed;
3853 + NDIS_SUPPORTED_PAUSE_FUNCTIONS PauseFunctions;
3854 + ULONG AutoNegotiationFlags;
3855 + } NDIS_LINK_STATE, *PNDIS_LINK_STATE;
3857 + typedef struct _NDIS_LINK_PARAMETERS {
3858 + NDIS_OBJECT_HEADER Header;
3859 + NDIS_MEDIA_DUPLEX_STATE MediaDuplexState;
3860 + ULONG64 XmitLinkSpeed;
3861 + ULONG64 RcvLinkSpeed;
3862 + NDIS_SUPPORTED_PAUSE_FUNCTIONS PauseFunctions;
3863 + ULONG AutoNegotiationFlags;
3864 + } NDIS_LINK_PARAMETERS, *PNDIS_LINK_PARAMETERS;
3866 + typedef struct _NDIS_OPER_STATE {
3867 + NDIS_OBJECT_HEADER Header;
3868 + NET_IF_OPER_STATUS OperationalStatus;
3869 + ULONG OperationalStatusFlags;
3870 + } NDIS_OPER_STATE, *PNDIS_OPER_STATE;
3872 + typedef struct _NDIS_IP_OPER_STATUS {
3873 + ULONG AddressFamily;
3874 + NET_IF_OPER_STATUS OperationalStatus;
3875 + ULONG OperationalStatusFlags;
3876 + } NDIS_IP_OPER_STATUS, *PNDIS_IP_OPER_STATUS;
3878 + typedef struct _NDIS_IP_OPER_STATUS_INFO {
3879 + NDIS_OBJECT_HEADER Header;
3881 + ULONG NumberofAddressFamiliesReturned;
3882 + NDIS_IP_OPER_STATUS IpOperationalStatus[MAXIMUM_IP_OPER_STATUS_ADDRESS_FAMILIES_SUPPORTED];
3883 + } NDIS_IP_OPER_STATUS_INFO, *PNDIS_IP_OPER_STATUS_INFO;
3885 + typedef struct _NDIS_IP_OPER_STATE {
3886 + NDIS_OBJECT_HEADER Header;
3888 + NDIS_IP_OPER_STATUS IpOperationalStatus;
3889 + } NDIS_IP_OPER_STATE, *PNDIS_IP_OPER_STATE;
3891 +#define NDIS_OFFLOAD_PARAMETERS_NO_CHANGE 0
3892 +#define NDIS_OFFLOAD_PARAMETERS_TX_RX_DISABLED 1
3893 +#define NDIS_OFFLOAD_PARAMETERS_TX_ENABLED_RX_DISABLED 2
3894 +#define NDIS_OFFLOAD_PARAMETERS_RX_ENABLED_TX_DISABLED 3
3895 +#define NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED 4
3897 +#define NDIS_OFFLOAD_PARAMETERS_LSOV1_DISABLED 1
3898 +#define NDIS_OFFLOAD_PARAMETERS_LSOV1_ENABLED 2
3900 +#define NDIS_OFFLOAD_PARAMETERS_IPSECV1_DISABLED 1
3901 +#define NDIS_OFFLOAD_PARAMETERS_IPSECV1_AH_ENABLED 2
3902 +#define NDIS_OFFLOAD_PARAMETERS_IPSECV1_ESP_ENABLED 3
3903 +#define NDIS_OFFLOAD_PARAMETERS_IPSECV1_AH_AND_ESP_ENABLED 4
3905 +#define NDIS_OFFLOAD_PARAMETERS_LSOV2_DISABLED 1
3906 +#define NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED 2
3908 +#if NDIS_SUPPORT_NDIS61
3909 +#define NDIS_OFFLOAD_PARAMETERS_IPSECV2_DISABLED 1
3910 +#define NDIS_OFFLOAD_PARAMETERS_IPSECV2_AH_ENABLED 2
3911 +#define NDIS_OFFLOAD_PARAMETERS_IPSECV2_ESP_ENABLED 3
3912 +#define NDIS_OFFLOAD_PARAMETERS_IPSECV2_AH_AND_ESP_ENABLED 4
3915 +#if NDIS_SUPPORT_NDIS630
3916 +#define NDIS_OFFLOAD_PARAMETERS_RSC_DISABLED 1
3917 +#define NDIS_OFFLOAD_PARAMETERS_RSC_ENABLED 2
3919 +#define NDIS_ENCAPSULATION_TYPE_GRE_MAC 0x00000001
3920 +#define NDIS_ENCAPSULATION_TYPE_MAX NDIS_ENCAPSULATION_TYPE_GRE_MAC
3923 +#define NDIS_OFFLOAD_PARAMETERS_CONNECTION_OFFLOAD_DISABLED 1
3924 +#define NDIS_OFFLOAD_PARAMETERS_CONNECTION_OFFLOAD_ENABLED 2
3926 +#define NDIS_OFFLOAD_PARAMETERS_REVISION_1 1
3927 +#if NDIS_SUPPORT_NDIS61
3928 +#define NDIS_OFFLOAD_PARAMETERS_REVISION_2 2
3930 +#if NDIS_SUPPORT_NDIS630
3931 +#define NDIS_OFFLOAD_PARAMETERS_REVISION_3 3
3932 +#define NDIS_OFFLOAD_PARAMETERS_SKIP_REGISTRY_UPDATE 0x00000001
3935 + typedef struct _NDIS_OFFLOAD_PARAMETERS {
3936 + NDIS_OBJECT_HEADER Header;
3937 + UCHAR IPv4Checksum;
3938 + UCHAR TCPIPv4Checksum;
3939 + UCHAR UDPIPv4Checksum;
3940 + UCHAR TCPIPv6Checksum;
3941 + UCHAR UDPIPv6Checksum;
3946 + UCHAR TcpConnectionIPv4;
3947 + UCHAR TcpConnectionIPv6;
3949 +#if NDIS_SUPPORT_NDIS61
3951 + UCHAR IPsecV2IPv4;
3953 +#if NDIS_SUPPORT_NDIS630
3954 + _ANONYMOUS_STRUCT struct {
3959 +#if NDIS_SUPPORT_NDIS630
3960 + _ANONYMOUS_STRUCT struct {
3961 + UCHAR EncapsulatedPacketTaskOffload;
3962 + UCHAR EncapsulationTypes;
3965 + } NDIS_OFFLOAD_PARAMETERS, *PNDIS_OFFLOAD_PARAMETERS;
3967 +#define NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_OFFLOAD_PARAMETERS, Flags)
3968 +#if NDIS_SUPPORT_NDIS61
3969 +#define NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_OFFLOAD_PARAMETERS, IPsecV2IPv4)
3971 +#if NDIS_SUPPORT_NDIS630
3972 +#define NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_3 RTL_SIZEOF_THROUGH_FIELD (NDIS_OFFLOAD_PARAMETERS, EncapsulationTypes)
3975 +#define NDIS_OFFLOAD_NOT_SUPPORTED 0
3976 +#define NDIS_OFFLOAD_SUPPORTED 1
3978 +#define NDIS_OFFLOAD_SET_NO_CHANGE 0
3979 +#define NDIS_OFFLOAD_SET_ON 1
3980 +#define NDIS_OFFLOAD_SET_OFF 2
3982 +#define NDIS_ENCAPSULATION_NOT_SUPPORTED 0x00000000
3983 +#define NDIS_ENCAPSULATION_NULL 0x00000001
3984 +#define NDIS_ENCAPSULATION_IEEE_802_3 0x00000002
3985 +#define NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q 0x00000004
3986 +#define NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q_IN_OOB 0x00000008
3987 +#define NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED 0x00000010
3989 + typedef struct _NDIS_TCP_LARGE_SEND_OFFLOAD_V1 {
3991 + ULONG Encapsulation;
3992 + ULONG MaxOffLoadSize;
3993 + ULONG MinSegmentCount;
3994 + ULONG TcpOptions:2;
3995 + ULONG IpOptions:2;
3997 + } NDIS_TCP_LARGE_SEND_OFFLOAD_V1, *PNDIS_TCP_LARGE_SEND_OFFLOAD_V1;
3999 + typedef struct _NDIS_TCP_IP_CHECKSUM_OFFLOAD {
4001 + ULONG Encapsulation;
4002 + ULONG IpOptionsSupported:2;
4003 + ULONG TcpOptionsSupported:2;
4004 + ULONG TcpChecksum:2;
4005 + ULONG UdpChecksum:2;
4006 + ULONG IpChecksum:2;
4009 + ULONG Encapsulation;
4010 + ULONG IpOptionsSupported:2;
4011 + ULONG TcpOptionsSupported:2;
4012 + ULONG TcpChecksum:2;
4013 + ULONG UdpChecksum:2;
4014 + ULONG IpChecksum:2;
4017 + ULONG Encapsulation;
4018 + ULONG IpExtensionHeadersSupported:2;
4019 + ULONG TcpOptionsSupported:2;
4020 + ULONG TcpChecksum:2;
4021 + ULONG UdpChecksum:2;
4024 + ULONG Encapsulation;
4025 + ULONG IpExtensionHeadersSupported:2;
4026 + ULONG TcpOptionsSupported:2;
4027 + ULONG TcpChecksum:2;
4028 + ULONG UdpChecksum:2;
4030 + } NDIS_TCP_IP_CHECKSUM_OFFLOAD, *PNDIS_TCP_IP_CHECKSUM_OFFLOAD;
4031 + typedef struct _NDIS_IPSEC_OFFLOAD_V1 {
4033 + ULONG Encapsulation;
4034 + ULONG AhEspCombined;
4035 + ULONG TransportTunnelCombined;
4036 + ULONG IPv4Options;
4042 + ULONG Transport : 2;
4045 + ULONG Receive : 2;
4049 + ULONG Reserved : 2;
4050 + ULONG TripleDes : 2;
4051 + ULONG NullEsp : 2;
4052 + ULONG Transport : 2;
4055 + ULONG Receive : 2;
4057 + } NDIS_IPSEC_OFFLOAD_V1, *PNDIS_IPSEC_OFFLOAD_V1;
4059 + typedef struct _NDIS_TCP_LARGE_SEND_OFFLOAD_V2 {
4061 + ULONG Encapsulation;
4062 + ULONG MaxOffLoadSize;
4063 + ULONG MinSegmentCount;
4066 + ULONG Encapsulation;
4067 + ULONG MaxOffLoadSize;
4068 + ULONG MinSegmentCount;
4069 + ULONG IpExtensionHeadersSupported:2;
4070 + ULONG TcpOptionsSupported:2;
4072 + } NDIS_TCP_LARGE_SEND_OFFLOAD_V2, *PNDIS_TCP_LARGE_SEND_OFFLOAD_V2;
4074 +#if NDIS_SUPPORT_NDIS61
4075 +#define IPSEC_OFFLOAD_V2_AUTHENTICATION_MD5 0x00000001
4076 +#define IPSEC_OFFLOAD_V2_AUTHENTICATION_SHA_1 0x00000002
4077 +#define IPSEC_OFFLOAD_V2_AUTHENTICATION_SHA_256 0x00000004
4078 +#define IPSEC_OFFLOAD_V2_AUTHENTICATION_AES_GCM_128 0x00000008
4079 +#define IPSEC_OFFLOAD_V2_AUTHENTICATION_AES_GCM_192 0x00000010
4080 +#define IPSEC_OFFLOAD_V2_AUTHENTICATION_AES_GCM_256 0x00000020
4082 +#define IPSEC_OFFLOAD_V2_ENCRYPTION_NONE 0x00000001
4083 +#define IPSEC_OFFLOAD_V2_ENCRYPTION_DES_CBC 0x00000002
4084 +#define IPSEC_OFFLOAD_V2_ENCRYPTION_3_DES_CBC 0x00000004
4085 +#define IPSEC_OFFLOAD_V2_ENCRYPTION_AES_GCM_128 0x00000008
4086 +#define IPSEC_OFFLOAD_V2_ENCRYPTION_AES_GCM_192 0x00000010
4087 +#define IPSEC_OFFLOAD_V2_ENCRYPTION_AES_GCM_256 0x00000020
4088 +#define IPSEC_OFFLOAD_V2_ENCRYPTION_AES_CBC_128 0x00000040
4089 +#define IPSEC_OFFLOAD_V2_ENCRYPTION_AES_CBC_192 0x00000080
4090 +#define IPSEC_OFFLOAD_V2_ENCRYPTION_AES_CBC_256 0x00000100
4092 + typedef struct _NDIS_IPSEC_OFFLOAD_V2 {
4093 + ULONG Encapsulation;
4094 + BOOLEAN IPv6Supported;
4095 + BOOLEAN IPv4Options;
4096 + BOOLEAN IPv6NonIPsecExtensionHeaders;
4099 + BOOLEAN AhEspCombined;
4100 + BOOLEAN Transport;
4102 + BOOLEAN TransportTunnelCombined;
4103 + BOOLEAN LsoSupported;
4104 + BOOLEAN ExtendedSequenceNumbers;
4106 + ULONG AuthenticationAlgorithms;
4107 + ULONG EncryptionAlgorithms;
4108 + ULONG SaOffloadCapacity;
4109 + } NDIS_IPSEC_OFFLOAD_V2, *PNDIS_IPSEC_OFFLOAD_V2;
4112 +#if NDIS_SUPPORT_NDIS630
4113 +#define NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_NOT_SUPPORTED 0x00000000
4114 +#define NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_INNER_IPV4 0x00000001
4115 +#define NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_OUTER_IPV4 0x00000002
4116 +#define NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_INNER_IPV6 0x00000004
4117 +#define NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_OUTER_IPV6 0x00000008
4120 +#define NDIS_OFFLOAD_FLAGS_GROUP_CHECKSUM_CAPABILITIES 0x1
4121 +#if NDIS_SUPPORT_NDIS630
4122 +#define IPSEC_OFFLOAD_V2_AND_TCP_CHECKSUM_COEXISTENCE 0x2
4123 +#define IPSEC_OFFLOAD_V2_AND_UDP_CHECKSUM_COEXISTENCE 0x4
4126 +#define NDIS_MAXIMUM_PORTS 0x1000000
4128 +#define NDIS_DEFAULT_PORT_NUMBER ((NDIS_PORT_NUMBER) 0)
4130 +#define NDIS_WMI_DEFAULT_METHOD_ID 1
4132 +#define NDIS_WMI_OBJECT_TYPE_SET 0x01
4133 +#define NDIS_WMI_OBJECT_TYPE_METHOD 0x02
4134 +#define NDIS_WMI_OBJECT_TYPE_EVENT 0x03
4135 +#define NDIS_WMI_OBJECT_TYPE_ENUM_ADAPTER 0x04
4136 +#define NDIS_WMI_OBJECT_TYPE_OUTPUT_INFO 0x05
4138 +#define NDIS_DEVICE_TYPE_ENDPOINT 0x00000001
4140 +#define NDIS_OFFLOAD_REVISION_1 1
4141 +#define NDIS_TCP_CONNECTION_OFFLOAD_REVISION_1 1
4142 +#define NDIS_PORT_AUTHENTICATION_PARAMETERS_REVISION_1 1
4143 +#define NDIS_WMI_METHOD_HEADER_REVISION_1 1
4144 +#define NDIS_WMI_SET_HEADER_REVISION_1 1
4145 +#define NDIS_WMI_EVENT_HEADER_REVISION_1 1
4146 +#define NDIS_WMI_ENUM_ADAPTER_REVISION_1 1
4147 +#if NDIS_SUPPORT_NDIS61
4148 +#define NDIS_TCP_CONNECTION_OFFLOAD_REVISION_2 2
4149 +#define NDIS_OFFLOAD_REVISION_2 2
4151 +#if NDIS_SUPPORT_NDIS630
4152 +#define NDIS_OFFLOAD_REVISION_3 3
4153 +#define NDIS_TCP_RECV_SEG_COALESC_OFFLOAD_REVISION_1 1
4156 +#define NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_OFFLOAD, Flags)
4157 +#define NDIS_SIZEOF_NDIS_WMI_OFFLOAD_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_OFFLOAD, Flags)
4158 +#define NDIS_SIZEOF_TCP_CONNECTION_OFFLOAD_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_TCP_CONNECTION_OFFLOAD, Flags)
4159 +#define NDIS_SIZEOF_WMI_TCP_CONNECTION_OFFLOAD_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_TCP_CONNECTION_OFFLOAD, Flags)
4160 +#define NDIS_SIZEOF_PORT_AUTHENTICATION_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_PORT_AUTHENTICATION_PARAMETERS, RcvAuthorizationState)
4161 +#define NDIS_SIZEOF_WMI_METHOD_HEADER_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_METHOD_HEADER, Padding)
4162 +#define NDIS_SIZEOF_WMI_SET_HEADER_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_SET_HEADER, Padding)
4163 +#define NDIS_SIZEOF_WMI_EVENT_HEADER_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_EVENT_HEADER, Padding)
4164 +#define NDIS_SIZEOF_WMI_ENUM_ADAPTER_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_ENUM_ADAPTER, DeviceName)
4165 +#if NDIS_SUPPORT_NDIS61
4166 +#define NDIS_SIZEOF_TCP_CONNECTION_OFFLOAD_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_TCP_CONNECTION_OFFLOAD, Flags)
4167 +#define NDIS_SIZEOF_NDIS_WMI_OFFLOAD_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_OFFLOAD, IPsecV2)
4168 +#define NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_OFFLOAD, IPsecV2)
4170 +#if NDIS_SUPPORT_NDIS630
4171 +#define NDIS_SIZEOF_NDIS_WMI_OFFLOAD_REVISION_3 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_OFFLOAD, EncapsulatedPacketTaskOffloadGre)
4172 +#define NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_3 RTL_SIZEOF_THROUGH_FIELD (NDIS_OFFLOAD, EncapsulatedPacketTaskOffloadGre)
4173 +#define NDIS_SIZEOF_TCP_RECV_SEG_COALESC_OFFLOAD_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_TCP_RECV_SEG_COALESCE_OFFLOAD, IPv6.Enabled)
4174 +#define NDIS_SIZEOF_ENCAPSULATED_PACKET_TASK_OFFLOAD_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD, MaxHeaderSizeSupported)
4177 +#if NDIS_SUPPORT_NDIS630
4178 + typedef struct _NDIS_TCP_RECV_SEG_COALESCE_OFFLOAD {
4185 + } NDIS_TCP_RECV_SEG_COALESCE_OFFLOAD, *PNDIS_TCP_RECV_SEG_COALESCE_OFFLOAD;
4187 + typedef struct _NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD {
4188 + ULONG TransmitChecksumOffloadSupported:4;
4189 + ULONG ReceiveChecksumOffloadSupported:4;
4190 + ULONG LsoV2Supported:4;
4191 + ULONG RssSupported:4;
4192 + ULONG VmqSupported:4;
4193 + ULONG MaxHeaderSizeSupported;
4194 + } NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD, *PNDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD;
4197 + typedef struct _NDIS_OFFLOAD {
4198 + NDIS_OBJECT_HEADER Header;
4199 + NDIS_TCP_IP_CHECKSUM_OFFLOAD Checksum;
4200 + NDIS_TCP_LARGE_SEND_OFFLOAD_V1 LsoV1;
4201 + NDIS_IPSEC_OFFLOAD_V1 IPsecV1;
4202 + NDIS_TCP_LARGE_SEND_OFFLOAD_V2 LsoV2;
4204 +#if NDIS_SUPPORT_NDIS61
4205 + NDIS_IPSEC_OFFLOAD_V2 IPsecV2;
4207 +#if NDIS_SUPPORT_NDIS630
4208 + NDIS_TCP_RECV_SEG_COALESCE_OFFLOAD Rsc;
4209 + NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD EncapsulatedPacketTaskOffloadGre;
4211 + } NDIS_OFFLOAD, *PNDIS_OFFLOAD;
4213 + typedef struct _NDIS_WMI_TCP_LARGE_SEND_OFFLOAD_V1 {
4215 + ULONG Encapsulation;
4216 + ULONG MaxOffLoadSize;
4217 + ULONG MinSegmentCount;
4221 + } NDIS_WMI_TCP_LARGE_SEND_OFFLOAD_V1, *PNDIS_WMI_TCP_LARGE_SEND_OFFLOAD_V1;
4223 + typedef struct _NDIS_WMI_TCP_IP_CHECKSUM_OFFLOAD {
4225 + ULONG Encapsulation;
4226 + ULONG IpOptionsSupported;
4227 + ULONG TcpOptionsSupported;
4228 + ULONG TcpChecksum;
4229 + ULONG UdpChecksum;
4233 + ULONG Encapsulation;
4234 + ULONG IpOptionsSupported;
4235 + ULONG TcpOptionsSupported;
4236 + ULONG TcpChecksum;
4237 + ULONG UdpChecksum;
4241 + ULONG Encapsulation;
4242 + ULONG IpExtensionHeadersSupported;
4243 + ULONG TcpOptionsSupported;
4244 + ULONG TcpChecksum;
4245 + ULONG UdpChecksum;
4248 + ULONG Encapsulation;
4249 + ULONG IpExtensionHeadersSupported;
4250 + ULONG TcpOptionsSupported;
4251 + ULONG TcpChecksum;
4252 + ULONG UdpChecksum;
4254 + } NDIS_WMI_TCP_IP_CHECKSUM_OFFLOAD, *PNDIS_WMI_TCP_IP_CHECKSUM_OFFLOAD;
4256 + typedef struct _NDIS_WMI_IPSEC_OFFLOAD_V1 {
4258 + ULONG Encapsulation;
4259 + ULONG AhEspCombined;
4260 + ULONG TransportTunnelCombined;
4261 + ULONG IPv4Options;
4282 + } NDIS_WMI_IPSEC_OFFLOAD_V1, *PNDIS_WMI_IPSEC_OFFLOAD_V1;
4284 + typedef struct _NDIS_WMI_TCP_LARGE_SEND_OFFLOAD_V2 {
4286 + ULONG Encapsulation;
4287 + ULONG MaxOffLoadSize;
4288 + ULONG MinSegmentCount;
4291 + ULONG Encapsulation;
4292 + ULONG MaxOffLoadSize;
4293 + ULONG MinSegmentCount;
4294 + ULONG IpExtensionHeadersSupported;
4295 + ULONG TcpOptionsSupported;
4297 + } NDIS_WMI_TCP_LARGE_SEND_OFFLOAD_V2, *PNDIS_WMI_TCP_LARGE_SEND_OFFLOAD_V2;
4299 + typedef struct _NDIS_WMI_OFFLOAD {
4300 + NDIS_OBJECT_HEADER Header;
4301 + NDIS_WMI_TCP_IP_CHECKSUM_OFFLOAD Checksum;
4302 + NDIS_WMI_TCP_LARGE_SEND_OFFLOAD_V1 LsoV1;
4303 + NDIS_WMI_IPSEC_OFFLOAD_V1 IPsecV1;
4304 + NDIS_WMI_TCP_LARGE_SEND_OFFLOAD_V2 LsoV2;
4306 +#if NDIS_SUPPORT_NDIS61
4307 + NDIS_IPSEC_OFFLOAD_V2 IPsecV2;
4309 +#if NDIS_SUPPORT_NDIS630
4310 + NDIS_TCP_RECV_SEG_COALESCE_OFFLOAD Rsc;
4311 + NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD EncapsulatedPacketTaskOffloadGre;
4313 + } NDIS_WMI_OFFLOAD, *PNDIS_WMI_OFFLOAD;
4315 + typedef struct _NDIS_TCP_CONNECTION_OFFLOAD {
4316 + NDIS_OBJECT_HEADER Header;
4317 + ULONG Encapsulation;
4318 + ULONG SupportIPv4:2;
4319 + ULONG SupportIPv6:2;
4320 + ULONG SupportIPv6ExtensionHeaders:2;
4321 + ULONG SupportSack:2;
4322 +#if NDIS_SUPPORT_NDIS61
4323 + ULONG CongestionAlgorithm:4;
4325 + ULONG TcpConnectionOffloadCapacity;
4327 + } NDIS_TCP_CONNECTION_OFFLOAD, *PNDIS_TCP_CONNECTION_OFFLOAD;
4329 + typedef struct _NDIS_WMI_TCP_CONNECTION_OFFLOAD {
4330 + NDIS_OBJECT_HEADER Header;
4331 + ULONG Encapsulation;
4332 + ULONG SupportIPv4;
4333 + ULONG SupportIPv6;
4334 + ULONG SupportIPv6ExtensionHeaders;
4335 + ULONG SupportSack;
4336 + ULONG TcpConnectionOffloadCapacity;
4338 + } NDIS_WMI_TCP_CONNECTION_OFFLOAD, *PNDIS_WMI_TCP_CONNECTION_OFFLOAD;
4340 + typedef ULONG NDIS_PORT_NUMBER, *PNDIS_PORT_NUMBER;
4342 + typedef enum _NDIS_PORT_TYPE {
4343 + NdisPortTypeUndefined,
4344 + NdisPortTypeBridge,
4345 + NdisPortTypeRasConnection,
4346 + NdisPortType8021xSupplicant,
4347 +#if NDIS_SUPPORT_NDIS630
4348 + NdisPortTypeNdisImPlatform,
4351 + } NDIS_PORT_TYPE, *PNDIS_PORT_TYPE;
4353 + typedef enum _NDIS_PORT_AUTHORIZATION_STATE {
4354 + NdisPortAuthorizationUnknown,
4355 + NdisPortAuthorized,
4356 + NdisPortUnauthorized,
4357 + NdisPortReauthorizing
4358 + } NDIS_PORT_AUTHORIZATION_STATE, *PNDIS_PORT_AUTHORIZATION_STATE;
4360 + typedef enum _NDIS_PORT_CONTROL_STATE {
4361 + NdisPortControlStateUnknown,
4362 + NdisPortControlStateControlled,
4363 + NdisPortControlStateUncontrolled
4364 + } NDIS_PORT_CONTROL_STATE, *PNDIS_PORT_CONTROL_STATE;
4366 + typedef NDIS_PORT_CONTROL_STATE NDIS_PORT_CONTROLL_STATE;
4367 + typedef PNDIS_PORT_CONTROL_STATE PNDIS_PORT_CONTROLL_STATE;
4369 + typedef struct _NDIS_PORT_AUTHENTICATION_PARAMETERS {
4370 + NDIS_OBJECT_HEADER Header;
4371 + NDIS_PORT_CONTROL_STATE SendControlState;
4372 + NDIS_PORT_CONTROL_STATE RcvControlState;
4373 + NDIS_PORT_AUTHORIZATION_STATE SendAuthorizationState;
4374 + NDIS_PORT_AUTHORIZATION_STATE RcvAuthorizationState;
4375 + } NDIS_PORT_AUTHENTICATION_PARAMETERS, *PNDIS_PORT_AUTHENTICATION_PARAMETERS;
4377 + typedef enum _NDIS_NETWORK_CHANGE_TYPE {
4378 + NdisPossibleNetworkChange = 1,
4379 + NdisDefinitelyNetworkChange,
4380 + NdisNetworkChangeFromMediaConnect,
4381 + NdisNetworkChangeMax
4382 + } NDIS_NETWORK_CHANGE_TYPE, *PNDIS_NETWORK_CHANGE_TYPE;
4384 + typedef struct _NDIS_WMI_METHOD_HEADER {
4385 + NDIS_OBJECT_HEADER Header;
4386 + NDIS_PORT_NUMBER PortNumber;
4388 + ULONG64 RequestId;
4391 + } NDIS_WMI_METHOD_HEADER, *PNDIS_WMI_METHOD_HEADER;
4393 + typedef struct _NDIS_WMI_SET_HEADER {
4394 + NDIS_OBJECT_HEADER Header;
4395 + NDIS_PORT_NUMBER PortNumber;
4397 + ULONG64 RequestId;
4400 + } NDIS_WMI_SET_HEADER, *PNDIS_WMI_SET_HEADER;
4402 + typedef struct _NDIS_WMI_EVENT_HEADER {
4403 + NDIS_OBJECT_HEADER Header;
4404 + NET_IFINDEX IfIndex;
4406 + ULONG64 RequestId;
4407 + NDIS_PORT_NUMBER PortNumber;
4408 + ULONG DeviceNameLength;
4409 + ULONG DeviceNameOffset;
4411 + } NDIS_WMI_EVENT_HEADER, *PNDIS_WMI_EVENT_HEADER;
4413 + typedef struct _NDIS_WMI_ENUM_ADAPTER {
4414 + NDIS_OBJECT_HEADER Header;
4415 + NET_IFINDEX IfIndex;
4417 + USHORT DeviceNameLength;
4418 + CHAR DeviceName[1];
4419 + } NDIS_WMI_ENUM_ADAPTER, *PNDIS_WMI_ENUM_ADAPTER;
4421 +#if NDIS_SUPPORT_NDIS61
4422 +#define NDIS_HD_SPLIT_COMBINE_ALL_HEADERS 0x00000001
4424 +#define NDIS_HD_SPLIT_CAPS_SUPPORTS_HEADER_DATA_SPLIT 0x00000001
4425 +#define NDIS_HD_SPLIT_CAPS_SUPPORTS_IPV4_OPTIONS 0x00000002
4426 +#define NDIS_HD_SPLIT_CAPS_SUPPORTS_IPV6_EXTENSION_HEADERS 0x00000004
4427 +#define NDIS_HD_SPLIT_CAPS_SUPPORTS_TCP_OPTIONS 0x00000008
4429 +#define NDIS_HD_SPLIT_ENABLE_HEADER_DATA_SPLIT 0x00000001
4431 +#define NDIS_HD_SPLIT_PARAMETERS_REVISION_1 1
4432 +#define NDIS_HD_SPLIT_CURRENT_CONFIG_REVISION_1 1
4434 +#define NDIS_SIZEOF_HD_SPLIT_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_HD_SPLIT_PARAMETERS, HDSplitCombineFlags)
4435 +#define NDIS_SIZEOF_HD_SPLIT_CURRENT_CONFIG_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_HD_SPLIT_CURRENT_CONFIG, MaxHeaderSize)
4437 + typedef struct _NDIS_HD_SPLIT_PARAMETERS {
4438 + NDIS_OBJECT_HEADER Header;
4439 + ULONG HDSplitCombineFlags;
4440 + } NDIS_HD_SPLIT_PARAMETERS, *PNDIS_HD_SPLIT_PARAMETERS;
4442 + typedef struct _NDIS_HD_SPLIT_CURRENT_CONFIG {
4443 + NDIS_OBJECT_HEADER Header;
4444 + ULONG HardwareCapabilities;
4445 + ULONG CurrentCapabilities;
4446 + ULONG HDSplitFlags;
4447 + ULONG HDSplitCombineFlags;
4448 + ULONG BackfillSize;
4449 + ULONG MaxHeaderSize;
4450 + } NDIS_HD_SPLIT_CURRENT_CONFIG, *PNDIS_HD_SPLIT_CURRENT_CONFIG;
4453 +#define NDIS_WMI_OUTPUT_INFO_REVISION_1 1
4455 + typedef struct NDIS_WMI_OUTPUT_INFO {
4456 + NDIS_OBJECT_HEADER Header;
4458 + UCHAR SupportedRevision;
4460 + } NDIS_WMI_OUTPUT_INFO, *PNDIS_WMI_OUTPUT_INFO;
4462 +#if NDIS_SUPPORT_NDIS620
4463 +#define NDIS_PM_WOL_BITMAP_PATTERN_SUPPORTED 0x00000001
4464 +#define NDIS_PM_WOL_MAGIC_PACKET_SUPPORTED 0x00000002
4465 +#define NDIS_PM_WOL_IPV4_TCP_SYN_SUPPORTED 0x00000004
4466 +#define NDIS_PM_WOL_IPV6_TCP_SYN_SUPPORTED 0x00000008
4467 +#define NDIS_PM_WOL_IPV4_DEST_ADDR_WILDCARD_SUPPORTED 0x00000200
4468 +#define NDIS_PM_WOL_IPV6_DEST_ADDR_WILDCARD_SUPPORTED 0x00000800
4469 +#define NDIS_PM_WOL_EAPOL_REQUEST_ID_MESSAGE_SUPPORTED 0x00010000
4471 +#define NDIS_PM_PROTOCOL_OFFLOAD_ARP_SUPPORTED 0x00000001
4472 +#define NDIS_PM_PROTOCOL_OFFLOAD_NS_SUPPORTED 0x00000002
4473 +#define NDIS_PM_PROTOCOL_OFFLOAD_80211_RSN_REKEY_SUPPORTED 0x00000080
4475 +#if NDIS_SUPPORT_NDIS630
4476 +#define NDIS_PM_WAKE_ON_MEDIA_CONNECT_SUPPORTED 0x00000001
4477 +#define NDIS_PM_WAKE_ON_MEDIA_DISCONNECT_SUPPORTED 0x00000002
4479 +#define NDIS_WLAN_WAKE_ON_NLO_DISCOVERY_SUPPORTED 0x00000001
4480 +#define NDIS_WLAN_WAKE_ON_AP_ASSOCIATION_LOST_SUPPORTED 0x00000002
4481 +#define NDIS_WLAN_WAKE_ON_GTK_HANDSHAKE_ERROR_SUPPORTED 0x00000004
4482 +#define NDIS_WLAN_WAKE_ON_4WAY_HANDSHAKE_REQUEST_SUPPORTED 0x00000008
4484 +#define NDIS_WWAN_WAKE_ON_REGISTER_STATE_SUPPORTED 0x00000001
4485 +#define NDIS_WWAN_WAKE_ON_SMS_RECEIVE_SUPPORTED 0x00000002
4486 +#define NDIS_WWAN_WAKE_ON_USSD_RECEIVE_SUPPORTED 0x00000004
4488 +#define NDIS_PM_WAKE_PACKET_INDICATION_SUPPORTED 0x00000001
4489 +#define NDIS_PM_SELECTIVE_SUSPEND_SUPPORTED 0x00000002
4492 +#define NDIS_PM_WOL_BITMAP_PATTERN_ENABLED 0x00000001
4493 +#define NDIS_PM_WOL_MAGIC_PACKET_ENABLED 0x00000002
4494 +#define NDIS_PM_WOL_IPV4_TCP_SYN_ENABLED 0x00000004
4495 +#define NDIS_PM_WOL_IPV6_TCP_SYN_ENABLED 0x00000008
4496 +#define NDIS_PM_WOL_IPV4_DEST_ADDR_WILDCARD_ENABLED 0x00000200
4497 +#define NDIS_PM_WOL_IPV6_DEST_ADDR_WILDCARD_ENABLED 0x00000800
4498 +#define NDIS_PM_WOL_EAPOL_REQUEST_ID_MESSAGE_ENABLED 0x00010000
4500 +#define NDIS_PM_PROTOCOL_OFFLOAD_ARP_ENABLED 0x00000001
4501 +#define NDIS_PM_PROTOCOL_OFFLOAD_NS_ENABLED 0x00000002
4502 +#define NDIS_PM_PROTOCOL_OFFLOAD_80211_RSN_REKEY_ENABLED 0x00000080
4504 +#define NDIS_PM_WAKE_ON_LINK_CHANGE_ENABLED 0x1
4505 +#if NDIS_SUPPORT_NDIS630
4506 +#define NDIS_PM_WAKE_ON_MEDIA_DISCONNECT_ENABLED 0x2
4507 +#define NDIS_PM_SELECTIVE_SUSPEND_ENABLED 0x10
4509 +#define NDIS_WLAN_WAKE_ON_NLO_DISCOVERY_ENABLED 0x1
4510 +#define NDIS_WLAN_WAKE_ON_AP_ASSOCIATION_LOST_ENABLED 0x2
4511 +#define NDIS_WLAN_WAKE_ON_GTK_HANDSHAKE_ERROR_ENABLED 0x4
4512 +#define NDIS_WLAN_WAKE_ON_4WAY_HANDSHAKE_REQUEST_ENABLED 0x8
4514 +#define NDIS_WWAN_WAKE_ON_REGISTER_STATE_ENABLED 0x1
4515 +#define NDIS_WWAN_WAKE_ON_SMS_RECEIVE_ENABLED 0x2
4516 +#define NDIS_WWAN_WAKE_ON_USSD_RECEIVE_ENABLED 0x4
4519 +#define NDIS_PM_WOL_PRIORITY_LOWEST 0xffffffff
4520 +#define NDIS_PM_WOL_PRIORITY_NORMAL 0x10000000
4521 +#define NDIS_PM_WOL_PRIORITY_HIGHEST 0x00000001
4523 +#define NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_LOWEST 0xffffffff
4524 +#define NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_NORMAL 0x10000000
4525 +#define NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_HIGHEST 0x00000001
4527 +#define NDIS_PM_MAX_STRING_SIZE 64
4529 +#define EAPOL_REQUEST_ID_WOL_FLAG_MUST_ENCRYPT 0x00000001
4531 +#define NDIS_PM_MAX_PATTERN_ID 0x0000ffff
4533 +#define NDIS_PM_PRIVATE_PATTERN_ID 0x00000001
4535 +#define DOT11_RSN_KEK_LENGTH 16
4536 +#define DOT11_RSN_KCK_LENGTH 16
4539 +#define NDIS_RECEIVE_FILTER_MAC_HEADER_SUPPORTED 0x00000001
4540 +#define NDIS_RECEIVE_FILTER_IPV4_HEADER_SUPPORTED 0x00000002
4541 +#define NDIS_RECEIVE_FILTER_IPV6_HEADER_SUPPORTED 0x00000004
4542 +#define NDIS_RECEIVE_FILTER_ARP_HEADER_SUPPORTED 0x00000008
4543 +#define NDIS_RECEIVE_FILTER_UDP_HEADER_SUPPORTED 0x00000010
4545 +#define NDIS_RECEIVE_FILTER_MAC_HEADER_DEST_ADDR_SUPPORTED 0x00000001
4546 +#define NDIS_RECEIVE_FILTER_MAC_HEADER_SOURCE_ADDR_SUPPORTED 0x00000002
4547 +#define NDIS_RECEIVE_FILTER_MAC_HEADER_PROTOCOL_SUPPORTED 0x00000004
4548 +#define NDIS_RECEIVE_FILTER_MAC_HEADER_VLAN_ID_SUPPORTED 0x00000008
4549 +#define NDIS_RECEIVE_FILTER_MAC_HEADER_PRIORITY_SUPPORTED 0x00000010
4550 +#define NDIS_RECEIVE_FILTER_MAC_HEADER_PACKET_TYPE_SUPPORTED 0x00000020
4552 +#define NDIS_RECEIVE_FILTER_ARP_HEADER_OPERATION_SUPPORTED 0x1
4553 +#define NDIS_RECEIVE_FILTER_ARP_HEADER_SPA_SUPPORTED 0x2
4554 +#define NDIS_RECEIVE_FILTER_ARP_HEADER_TPA_SUPPORTED 0x4
4556 +#define NDIS_RECEIVE_FILTER_IPV4_HEADER_PROTOCOL_SUPPORTED 0x1
4557 +#define NDIS_RECEIVE_FILTER_IPV6_HEADER_PROTOCOL_SUPPORTED 0x1
4558 +#define NDIS_RECEIVE_FILTER_UDP_HEADER_DEST_PORT_SUPPORTED 0x1
4560 +#define NDIS_RECEIVE_FILTER_TEST_HEADER_FIELD_EQUAL_SUPPORTED 0x00000001
4561 +#define NDIS_RECEIVE_FILTER_TEST_HEADER_FIELD_MASK_EQUAL_SUPPORTED 0x00000002
4562 +#define NDIS_RECEIVE_FILTER_TEST_HEADER_FIELD_NOT_EQUAL_SUPPORTED 0x00000004
4564 +#define NDIS_RECEIVE_FILTER_MSI_X_SUPPORTED 0x00000001
4565 +#define NDIS_RECEIVE_FILTER_VM_QUEUE_SUPPORTED 0x00000002
4566 +#define NDIS_RECEIVE_FILTER_LOOKAHEAD_SPLIT_SUPPORTED 0x00000004
4567 +#if NDIS_SUPPORT_NDIS630
4568 +#define NDIS_RECEIVE_FILTER_DYNAMIC_PROCESSOR_AFFINITY_CHANGE_SUPPORTED 0x00000008
4569 +#define NDIS_RECEIVE_FILTER_INTERRUPT_VECTOR_COALESCING_SUPPORTED 0x00000010
4570 +#define NDIS_RECEIVE_FILTER_ANY_VLAN_SUPPORTED 0x00000020
4571 +#define NDIS_RECEIVE_FILTER_IMPLAT_MIN_OF_QUEUES_MODE 0x00000040
4572 +#define NDIS_RECEIVE_FILTER_IMPLAT_SUM_OF_QUEUES_MODE 0x00000080
4573 +#define NDIS_RECEIVE_FILTER_PACKET_COALESCING_SUPPORTED_ON_DEFAULT_QUEUE 0x00000100
4576 +#define NDIS_RECEIVE_FILTER_VMQ_FILTERS_ENABLED 0x00000001
4577 +#define NDIS_RECEIVE_FILTER_PACKET_COALESCING_FILTERS_ENABLED 0x00000002
4579 +#define NDIS_RECEIVE_FILTER_VM_QUEUES_ENABLED 0x00000001
4581 +#if NDIS_SUPPORT_NDIS630
4582 +#define NDIS_NIC_SWITCH_CAPS_VLAN_SUPPORTED 0x00000001
4583 +#define NDIS_NIC_SWITCH_CAPS_PER_VPORT_INTERRUPT_MODERATION_SUPPORTED 0x00000002
4584 +#define NDIS_NIC_SWITCH_CAPS_ASYMMETRIC_QUEUE_PAIRS_FOR_NONDEFAULT_VPORT_SUPPORTED 0x00000004
4585 +#define NDIS_NIC_SWITCH_CAPS_VF_RSS_SUPPORTED 0x00000008
4586 +#define NDIS_NIC_SWITCH_CAPS_SINGLE_VPORT_POOL 0x00000010
4590 +#define NDIS_DEFAULT_RECEIVE_QUEUE_ID 0
4591 +#define NDIS_DEFAULT_RECEIVE_QUEUE_GROUP_ID 0
4592 +#define NDIS_DEFAULT_RECEIVE_FILTER_ID 0
4594 +#define NDIS_RECEIVE_FILTER_FIELD_MAC_HEADER_VLAN_UNTAGGED_OR_ZERO 0x00000001
4595 +#define NDIS_RECEIVE_FILTER_PACKET_ENCAPSULATION_GRE 0x00000002
4597 +#define NDIS_RECEIVE_QUEUE_PARAMETERS_PER_QUEUE_RECEIVE_INDICATION 0x00000001
4598 +#define NDIS_RECEIVE_QUEUE_PARAMETERS_LOOKAHEAD_SPLIT_REQUIRED 0x00000002
4599 +#define NDIS_RECEIVE_QUEUE_PARAMETERS_FLAGS_CHANGED 0x00010000
4600 +#define NDIS_RECEIVE_QUEUE_PARAMETERS_PROCESSOR_AFFINITY_CHANGED 0x00020000
4601 +#define NDIS_RECEIVE_QUEUE_PARAMETERS_SUGGESTED_RECV_BUFFER_NUMBERS_CHANGED 0x00040000
4602 +#define NDIS_RECEIVE_QUEUE_PARAMETERS_NAME_CHANGED 0x00080000
4603 +#if NDIS_SUPPORT_NDIS630
4604 +#define NDIS_RECEIVE_QUEUE_PARAMETERS_INTERRUPT_COALESCING_DOMAIN_ID_CHANGED 0x00100000
4607 +#define NDIS_RECEIVE_QUEUE_PARAMETERS_CHANGE_MASK 0xffff0000
4609 +#if NDIS_SUPPORT_NDIS630
4610 +#define NDIS_RECEIVE_FILTER_INFO_ARRAY_VPORT_ID_SPECIFIED 0x00000001
4613 +#define NDIS_PM_CAPABILITIES_REVISION_1 1
4614 +#define NDIS_PM_PARAMETERS_REVISION_1 1
4615 +#define NDIS_PM_WOL_PATTERN_REVISION_1 1
4616 +#define NDIS_PM_PROTOCOL_OFFLOAD_REVISION_1 1
4617 +#define NDIS_WMI_PM_ADMIN_CONFIG_REVISION_1 1
4618 +#define NDIS_WMI_PM_ACTIVE_CAPABILITIES_REVISION_1 1
4619 +#define NDIS_RECEIVE_FILTER_CAPABILITIES_REVISION_1 1
4620 +#define NDIS_NIC_SWITCH_CAPABILITIES_REVISION_1 1
4621 +#define NDIS_RECEIVE_FILTER_GLOBAL_PARAMETERS_REVISION_1 1
4622 +#define NDIS_RECEIVE_FILTER_FIELD_PARAMETERS_REVISION_1 1
4623 +#define NDIS_RECEIVE_FILTER_PARAMETERS_REVISION_1 1
4624 +#define NDIS_RECEIVE_FILTER_CLEAR_PARAMETERS_REVISION_1 1
4625 +#define NDIS_RECEIVE_QUEUE_PARAMETERS_REVISION_1 1
4626 +#define NDIS_RECEIVE_QUEUE_FREE_PARAMETERS_REVISION_1 1
4627 +#define NDIS_RECEIVE_QUEUE_INFO_REVISION_1 1
4628 +#define NDIS_RECEIVE_QUEUE_INFO_ARRAY_REVISION_1 1
4629 +#define NDIS_RECEIVE_FILTER_INFO_REVISION_1 1
4630 +#define NDIS_RECEIVE_FILTER_INFO_ARRAY_REVISION_1 1
4631 +#define NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS_REVISION_1 1
4632 +#define NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY_REVISION_1 1
4633 +#if NDIS_SUPPORT_NDIS630
4634 +#define NDIS_PM_CAPABILITIES_REVISION_2 2
4635 +#define NDIS_PM_PARAMETERS_REVISION_2 2
4636 +#define NDIS_PM_WOL_PATTERN_REVISION_2 2
4637 +#define NDIS_PM_WAKE_REASON_REVISION_1 1
4638 +#define NDIS_PM_WAKE_PACKET_REVISION_1 1
4639 +#define NDIS_RECEIVE_FILTER_CAPABILITIES_REVISION_2 2
4640 +#define NDIS_NIC_SWITCH_CAPABILITIES_REVISION_2 2
4641 +#define NDIS_RECEIVE_FILTER_FIELD_PARAMETERS_REVISION_2 2
4642 +#define NDIS_RECEIVE_FILTER_PARAMETERS_REVISION_2 2
4643 +#define NDIS_RECEIVE_QUEUE_PARAMETERS_REVISION_2 2
4644 +#define NDIS_RECEIVE_FILTER_INFO_ARRAY_REVISION_2 2
4645 +#define NDIS_RECEIVE_QUEUE_INFO_REVISION_2 2
4648 +#define NDIS_SIZEOF_WMI_OUTPUT_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_OUTPUT_INFO, DataOffset)
4649 +#define NDIS_SIZEOF_NDIS_PM_CAPABILITIES_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_PM_CAPABILITIES, MinLinkChangeWakeUp)
4650 +#define NDIS_SIZEOF_NDIS_PM_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_PM_PARAMETERS, WakeUpFlags)
4651 +#define NDIS_SIZEOF_NDIS_PM_WOL_PATTERN_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_PM_WOL_PATTERN, WoLPattern)
4652 +#define NDIS_SIZEOF_NDIS_PM_PROTOCOL_OFFLOAD_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_PM_PROTOCOL_OFFLOAD, ProtocolOffloadParameters)
4653 +#define NDIS_SIZEOF_WMI_PM_ADMIN_CONFIG_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_PM_ADMIN_CONFIG, PMWiFiRekeyOffload)
4654 +#define NDIS_SIZEOF_WMI_PM_ACTIVE_CAPABILITIES_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_PM_ACTIVE_CAPABILITIES, PMWiFiRekeyOffload)
4655 +#define NDIS_SIZEOF_RECEIVE_FILTER_CAPABILITIES_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_CAPABILITIES, MaxLookaheadSplitSize)
4656 +#define NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_CAPABILITIES, NdisReserved3)
4657 +#define NDIS_SIZEOF_RECEIVE_FILTER_GLOBAL_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_GLOBAL_PARAMETERS, EnabledQueueTypes)
4658 +#define NDIS_SIZEOF_RECEIVE_FILTER_FIELD_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_FIELD_PARAMETERS, ResultValue)
4659 +#define NDIS_SIZEOF_RECEIVE_FILTER_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_PARAMETERS, RequestedFilterIdBitCount)
4660 +#define NDIS_SIZEOF_RECEIVE_FILTER_CLEAR_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_CLEAR_PARAMETERS, FilterId)
4661 +#define NDIS_SIZEOF_RECEIVE_QUEUE_FREE_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_QUEUE_FREE_PARAMETERS, QueueId)
4662 +#define NDIS_SIZEOF_RECEIVE_QUEUE_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_QUEUE_PARAMETERS, QueueName)
4663 +#define NDIS_SIZEOF_RECEIVE_QUEUE_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_QUEUE_INFO, QueueName)
4664 +#define NDIS_SIZEOF_RECEIVE_QUEUE_INFO_ARRAY_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_QUEUE_INFO_ARRAY, ElementSize)
4665 +#define NDIS_SIZEOF_RECEIVE_FILTER_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_INFO, FilterId)
4666 +#define NDIS_SIZEOF_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY, ElementSize)
4667 +#define NDIS_SIZEOF_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS, CompletionStatus)
4668 +#define NDIS_SIZEOF_RECEIVE_FILTER_INFO_ARRAY_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_INFO_ARRAY, ElementSize)
4669 +#if NDIS_SUPPORT_NDIS630
4670 +#define NDIS_SIZEOF_NDIS_PM_CAPABILITIES_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_PM_CAPABILITIES, MediaSpecificWakeUpEvents)
4671 +#define NDIS_SIZEOF_NDIS_PM_PARAMETERS_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_PM_PARAMETERS, MediaSpecificWakeUpEvents)
4672 +#define NDIS_SIZEOF_NDIS_PM_WOL_PATTERN_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_PM_WOL_PATTERN, WoLPattern)
4673 +#define NDIS_SIZEOF_PM_WAKE_REASON_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_PM_WAKE_REASON, InfoBufferSize)
4674 +#define NDIS_SIZEOF_PM_WAKE_PACKET_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_PM_WAKE_PACKET, SavedPacketOffset)
4675 +#define NDIS_SIZEOF_RECEIVE_FILTER_CAPABILITIES_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_CAPABILITIES, NdisReserved)
4676 +#define NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_CAPABILITIES, NdisReserved17)
4677 +#define NDIS_SIZEOF_RECEIVE_FILTER_FIELD_PARAMETERS_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_FIELD_PARAMETERS, ResultValue)
4678 +#define NDIS_SIZEOF_RECEIVE_FILTER_PARAMETERS_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_PARAMETERS, VPortId)
4679 +#define NDIS_SIZEOF_RECEIVE_FILTER_INFO_ARRAY_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_INFO_ARRAY, VPortId)
4680 +#define NDIS_SIZEOF_RECEIVE_QUEUE_INFO_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_QUEUE_INFO, InterruptCoalescingDomainId)
4681 +#define NDIS_SIZEOF_RECEIVE_QUEUE_PARAMETERS_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_QUEUE_PARAMETERS, InterruptCoalescingDomainId)
4684 + typedef enum _NDIS_PM_WOL_PACKET {
4685 + NdisPMWoLPacketUnspecified,
4686 + NdisPMWoLPacketBitmapPattern,
4687 + NdisPMWoLPacketMagicPacket,
4688 + NdisPMWoLPacketIPv4TcpSyn,
4689 + NdisPMWoLPacketIPv6TcpSyn,
4690 + NdisPMWoLPacketEapolRequestIdMessage,
4691 + NdisPMWoLPacketMaximum
4692 + } NDIS_PM_WOL_PACKET, *PNDIS_PM_WOL_PACKET;
4694 + typedef enum _NDIS_PM_PROTOCOL_OFFLOAD_TYPE {
4695 + NdisPMProtocolOffloadIdUnspecified,
4696 + NdisPMProtocolOffloadIdIPv4ARP,
4697 + NdisPMProtocolOffloadIdIPv6NS,
4698 + NdisPMProtocolOffload80211RSNRekey,
4699 + NdisPMProtocolOffloadIdMaximum
4700 + } NDIS_PM_PROTOCOL_OFFLOAD_TYPE, *PNDIS_PM_PROTOCOL_OFFLOAD_TYPE;
4702 + typedef struct _NDIS_PM_COUNTED_STRING {
4704 + WCHAR String[NDIS_PM_MAX_STRING_SIZE + 1];
4705 + } NDIS_PM_COUNTED_STRING, *PNDIS_PM_COUNTED_STRING;
4707 + typedef struct _NDIS_PM_CAPABILITIES {
4708 + NDIS_OBJECT_HEADER Header;
4710 + ULONG SupportedWoLPacketPatterns;
4711 + ULONG NumTotalWoLPatterns;
4712 + ULONG MaxWoLPatternSize;
4713 + ULONG MaxWoLPatternOffset;
4714 + ULONG MaxWoLPacketSaveBuffer;
4715 + ULONG SupportedProtocolOffloads;
4716 + ULONG NumArpOffloadIPv4Addresses;
4717 + ULONG NumNSOffloadIPv6Addresses;
4718 + NDIS_DEVICE_POWER_STATE MinMagicPacketWakeUp;
4719 + NDIS_DEVICE_POWER_STATE MinPatternWakeUp;
4720 + NDIS_DEVICE_POWER_STATE MinLinkChangeWakeUp;
4721 +#if NDIS_SUPPORT_NDIS630
4722 + ULONG SupportedWakeUpEvents;
4723 + ULONG MediaSpecificWakeUpEvents;
4725 + } NDIS_PM_CAPABILITIES, *PNDIS_PM_CAPABILITIES;
4727 + typedef struct _NDIS_PM_PARAMETERS {
4728 + NDIS_OBJECT_HEADER Header;
4729 + ULONG EnabledWoLPacketPatterns;
4730 + ULONG EnabledProtocolOffloads;
4731 + ULONG WakeUpFlags;
4732 +#if NDIS_SUPPORT_NDIS630
4733 + ULONG MediaSpecificWakeUpEvents;
4735 + } NDIS_PM_PARAMETERS, *PNDIS_PM_PARAMETERS;
4737 + typedef struct _NDIS_PM_WOL_PATTERN {
4738 + NDIS_OBJECT_HEADER Header;
4741 + NDIS_PM_WOL_PACKET WoLPacketType;
4742 + NDIS_PM_COUNTED_STRING FriendlyName;
4744 + ULONG NextWoLPatternOffset;
4745 + union _WOL_PATTERN {
4746 + struct _IPV4_TCP_SYN_WOL_PACKET_PARAMETERS {
4748 + UCHAR IPv4SourceAddress[4];
4749 + UCHAR IPv4DestAddress[4];
4750 + USHORT TCPSourcePortNumber;
4751 + USHORT TCPDestPortNumber;
4752 + } IPv4TcpSynParameters;
4753 + struct _IPV6_TCP_SYN_WOL_PACKET_PARAMETERS {
4755 + UCHAR IPv6SourceAddress[16];
4756 + UCHAR IPv6DestAddress[16];
4757 + USHORT TCPSourcePortNumber;
4758 + USHORT TCPDestPortNumber;
4759 + } IPv6TcpSynParameters;
4760 + struct _EAPOL_REQUEST_ID_MESSAGE_WOL_PACKET_PARAMETERS {
4762 + } EapolRequestIdMessageParameters;
4763 + struct _WOL_BITMAP_PATTERN {
4767 + ULONG PatternOffset;
4768 + ULONG PatternSize;
4769 + } WoLBitMapPattern;
4771 + } NDIS_PM_WOL_PATTERN, *PNDIS_PM_WOL_PATTERN;
4773 + typedef struct _NDIS_PM_PROTOCOL_OFFLOAD {
4774 + NDIS_OBJECT_HEADER Header;
4777 + NDIS_PM_PROTOCOL_OFFLOAD_TYPE ProtocolOffloadType;
4778 + NDIS_PM_COUNTED_STRING FriendlyName;
4779 + ULONG ProtocolOffloadId;
4780 + ULONG NextProtocolOffloadOffset;
4781 + union _PROTOCOL_OFFLOAD_PARAMETERS {
4782 + struct _IPV4_ARP_PARAMETERS {
4784 + UCHAR RemoteIPv4Address[4];
4785 + UCHAR HostIPv4Address[4];
4786 + UCHAR MacAddress[6];
4787 + } IPv4ARPParameters;
4788 + struct _IPV6_NS_PARAMETERS {
4790 + UCHAR RemoteIPv6Address[16];
4791 + UCHAR SolicitedNodeIPv6Address[16];
4792 + UCHAR MacAddress[6];
4793 + UCHAR TargetIPv6Addresses[2][16];
4794 + } IPv6NSParameters;
4795 + struct _DOT11_RSN_REKEY_PARAMETERS {
4797 + UCHAR KCK[DOT11_RSN_KCK_LENGTH];
4798 + UCHAR KEK[DOT11_RSN_KEK_LENGTH];
4799 + ULONGLONG KeyReplayCounter;
4800 + } Dot11RSNRekeyParameters;
4801 + } ProtocolOffloadParameters;
4802 + } NDIS_PM_PROTOCOL_OFFLOAD, *PNDIS_PM_PROTOCOL_OFFLOAD;
4804 +#if NDIS_SUPPORT_NDIS630
4805 + typedef enum _NDIS_PM_WAKE_REASON_TYPE {
4806 + NdisWakeReasonUnspecified = 0x0000,
4807 + NdisWakeReasonPacket = 0x0001,
4808 + NdisWakeReasonMediaDisconnect = 0x0002,
4809 + NdisWakeReasonMediaConnect = 0x0003,
4810 + NdisWakeReasonWlanNLODiscovery = 0x1000,
4811 + NdisWakeReasonWlanAPAssociationLost = 0x1001,
4812 + NdisWakeReasonWlanGTKHandshakeError = 0x1002,
4813 + NdisWakeReasonWlan4WayHandshakeRequest = 0x1003,
4814 + NdisWakeReasonWwanRegisterState = 0x2000,
4815 + NdisWakeReasonWwanSMSReceive = 0x2001,
4816 + NdisWakeReasonWwanUSSDReceive = 0x2002,
4817 + } NDIS_PM_WAKE_REASON_TYPE, *PNDIS_PM_WAKE_REASON_TYPE;
4819 + typedef struct _NDIS_PM_WAKE_REASON {
4820 + NDIS_OBJECT_HEADER Header;
4822 + NDIS_PM_WAKE_REASON_TYPE WakeReason;
4823 + ULONG InfoBufferOffset;
4824 + ULONG InfoBufferSize;
4825 + } NDIS_PM_WAKE_REASON, *PNDIS_PM_WAKE_REASON;
4827 + typedef struct _NDIS_PM_WAKE_PACKET {
4828 + NDIS_OBJECT_HEADER Header;
4831 + NDIS_PM_COUNTED_STRING PatternFriendlyName;
4832 + ULONG OriginalPacketSize;
4833 + ULONG SavedPacketSize;
4834 + ULONG SavedPacketOffset;
4835 + } NDIS_PM_WAKE_PACKET, *PNDIS_PM_WAKE_PACKET;
4838 + typedef enum _NDIS_PM_ADMIN_CONFIG_STATE {
4839 + NdisPMAdminConfigUnspecified = 0,
4840 + NdisPMAdminConfigDisabled = 1,
4841 + NdisPMAdminConfigEnabled = 2
4842 + } NDIS_PM_ADMIN_CONFIG_STATE, *PNDIS_PM_ADMIN_CONFIG_STATE;
4844 + typedef struct _NDIS_WMI_PM_ADMIN_CONFIG {
4845 + NDIS_OBJECT_HEADER Header;
4846 + NDIS_PM_ADMIN_CONFIG_STATE WakeOnPattern;
4847 + NDIS_PM_ADMIN_CONFIG_STATE WakeOnMagicPacket;
4848 + NDIS_PM_ADMIN_CONFIG_STATE DeviceSleepOnDisconnect;
4849 + NDIS_PM_ADMIN_CONFIG_STATE PMARPOffload;
4850 + NDIS_PM_ADMIN_CONFIG_STATE PMNSOffload;
4851 + NDIS_PM_ADMIN_CONFIG_STATE PMWiFiRekeyOffload;
4852 + } NDIS_WMI_PM_ADMIN_CONFIG, *PNDIS_WMI_PM_ADMIN_CONFIG;
4854 + typedef enum _NDIS_PM_CAPABILITY_STATE {
4855 + NdisPMAdminConfigUnsupported = 0,
4856 + NdisPMAdminConfigInactive = 1,
4857 + NdisPMAdminConfigActive = 2
4858 + } NDIS_PM_CAPABILITY_STATE, *PNDIS_PM_CAPABILITY_STATE;
4860 + typedef struct _NDIS_WMI_PM_ACTIVE_CAPABILITIES {
4861 + NDIS_OBJECT_HEADER Header;
4862 + NDIS_PM_CAPABILITY_STATE WakeOnPattern;
4863 + NDIS_PM_CAPABILITY_STATE WakeOnMagicPacket;
4864 + NDIS_PM_CAPABILITY_STATE DeviceSleepOnDisconnect;
4865 + NDIS_PM_CAPABILITY_STATE PMARPOffload;
4866 + NDIS_PM_CAPABILITY_STATE PMNSOffload;
4867 + NDIS_PM_CAPABILITY_STATE PMWiFiRekeyOffload;
4868 + } NDIS_WMI_PM_ACTIVE_CAPABILITIES, *PNDIS_WMI_PM_ACTIVE_CAPABILITIES;
4870 + typedef struct _NDIS_RECEIVE_FILTER_CAPABILITIES {
4871 + NDIS_OBJECT_HEADER Header;
4873 + ULONG EnabledFilterTypes;
4874 + ULONG EnabledQueueTypes;
4876 + ULONG SupportedQueueProperties;
4877 + ULONG SupportedFilterTests;
4878 + ULONG SupportedHeaders;
4879 + ULONG SupportedMacHeaderFields;
4880 + ULONG MaxMacHeaderFilters;
4881 + ULONG MaxQueueGroups;
4882 + ULONG MaxQueuesPerQueueGroup;
4883 + ULONG MinLookaheadSplitSize;
4884 + ULONG MaxLookaheadSplitSize;
4885 +#if NDIS_SUPPORT_NDIS630
4886 + ULONG SupportedARPHeaderFields;
4887 + ULONG SupportedIPv4HeaderFields;
4888 + ULONG SupportedIPv6HeaderFields;
4889 + ULONG SupportedUdpHeaderFields;
4890 + ULONG MaxFieldTestsPerPacketCoalescingFilter;
4891 + ULONG MaxPacketCoalescingFilters;
4892 + ULONG NdisReserved;
4894 + } NDIS_RECEIVE_FILTER_CAPABILITIES, *PNDIS_RECEIVE_FILTER_CAPABILITIES;
4896 + typedef struct _NDIS_NIC_SWITCH_CAPABILITIES {
4897 + NDIS_OBJECT_HEADER Header;
4899 + ULONG NdisReserved1;
4900 + ULONG NumTotalMacAddresses;
4901 + ULONG NumMacAddressesPerPort;
4902 + ULONG NumVlansPerPort;
4903 + ULONG NdisReserved2;
4904 + ULONG NdisReserved3;
4905 +#if NDIS_SUPPORT_NDIS630
4906 + ULONG NicSwitchCapabilities;
4907 + ULONG MaxNumSwitches;
4908 + ULONG MaxNumVPorts;
4909 + ULONG NdisReserved4;
4911 + ULONG MaxNumQueuePairs;
4912 + ULONG NdisReserved5;
4913 + ULONG NdisReserved6;
4914 + ULONG NdisReserved7;
4915 + ULONG MaxNumQueuePairsPerNonDefaultVPort;
4916 + ULONG NdisReserved8;
4917 + ULONG NdisReserved9;
4918 + ULONG NdisReserved10;
4919 + ULONG NdisReserved11;
4920 + ULONG NdisReserved12;
4921 + ULONG MaxNumMacAddresses;
4922 + ULONG NdisReserved13;
4923 + ULONG NdisReserved14;
4924 + ULONG NdisReserved15;
4925 + ULONG NdisReserved16;
4926 + ULONG NdisReserved17;
4928 + } NDIS_NIC_SWITCH_CAPABILITIES, *PNDIS_NIC_SWITCH_CAPABILITIES;
4930 + typedef struct _NDIS_RECEIVE_FILTER_GLOBAL_PARAMETERS {
4931 + NDIS_OBJECT_HEADER Header;
4933 + ULONG EnabledFilterTypes;
4934 + ULONG EnabledQueueTypes;
4935 + } NDIS_RECEIVE_FILTER_GLOBAL_PARAMETERS, *PNDIS_RECEIVE_FILTER_GLOBAL_PARAMETERS;
4937 + typedef ULONG NDIS_RECEIVE_QUEUE_ID, *PNDIS_RECEIVE_QUEUE_ID;
4938 + typedef ULONG NDIS_RECEIVE_QUEUE_GROUP_ID, *PNDIS_RECEIVE_QUEUE_GROUP_ID;
4939 + typedef ULONG NDIS_RECEIVE_FILTER_ID, *PNDIS_RECEIVE_FILTER_ID;
4941 + typedef enum _NDIS_RECEIVE_FILTER_TYPE {
4942 + NdisReceiveFilterTypeUndefined,
4943 + NdisReceiveFilterTypeVMQueue,
4944 + NdisReceiveFilterTypePacketCoalescing,
4945 + NdisReceiveFilterTypeMaximum
4946 + } NDIS_RECEIVE_FILTER_TYPE, *PNDIS_RECEIVE_FILTER_TYPE;
4948 + typedef enum _NDIS_FRAME_HEADER {
4949 + NdisFrameHeaderUndefined,
4950 + NdisFrameHeaderMac,
4951 + NdisFrameHeaderArp,
4952 + NdisFrameHeaderIPv4,
4953 + NdisFrameHeaderIPv6,
4954 + NdisFrameHeaderUdp,
4955 + NdisFrameHeaderMaximum
4956 + } NDIS_FRAME_HEADER, *PNDIS_FRAME_HEADER;
4958 + typedef enum _NDIS_MAC_HEADER_FIELD {
4959 + NdisMacHeaderFieldUndefined,
4960 + NdisMacHeaderFieldDestinationAddress,
4961 + NdisMacHeaderFieldSourceAddress,
4962 + NdisMacHeaderFieldProtocol,
4963 + NdisMacHeaderFieldVlanId,
4964 + NdisMacHeaderFieldPriority,
4965 + NdisMacHeaderFieldPacketType,
4966 + NdisMacHeaderFieldMaximum
4967 + } NDIS_MAC_HEADER_FIELD, *PNDIS_MAC_HEADER_FIELD;
4969 + typedef enum _NDIS_MAC_PACKET_TYPE {
4970 + NdisMacPacketTypeUndefined = 0,
4971 + NdisMacPacketTypeUnicast = 1,
4972 + NdisMacPacketTypeMulticast = 2,
4973 + NdisMacPacketTypeBroadcast = 3,
4974 + NdisMacPacketTypeMaximum
4975 + } NDIS_MAC_PACKET_TYPE, *PNDIS_MAC_PACKET_TYPE;
4977 + typedef enum _NDIS_ARP_HEADER_FIELD {
4978 + NdisARPHeaderFieldUndefined,
4979 + NdisARPHeaderFieldOperation,
4980 + NdisARPHeaderFieldSPA,
4981 + NdisARPHeaderFieldTPA,
4982 + NdisARPHeaderFieldMaximum
4983 + } NDIS_ARP_HEADER_FIELD, *PNDIS_ARP_HEADER_FIELD;
4985 + typedef enum _NDIS_IPV4_HEADER_FIELD {
4986 + NdisIPv4HeaderFieldUndefined,
4987 + NdisIPv4HeaderFieldProtocol,
4988 + NdisIPv4HeaderFieldMaximum
4989 + } NDIS_IPV4_HEADER_FIELD, *PNDIS_IPV4_HEADER_FIELD;
4991 + typedef enum _NDIS_IPV6_HEADER_FIELD {
4992 + NdisIPv6HeaderFieldUndefined,
4993 + NdisIPv6HeaderFieldProtocol,
4994 + NdisIPv6HeaderFieldMaximum
4995 + } NDIS_IPV6_HEADER_FIELD, *PNDIS_IPV6_HEADER_FIELD;
4997 + typedef enum _NDIS_UDP_HEADER_FIELD {
4998 + NdisUdpHeaderFieldUndefined,
4999 + NdisUdpHeaderFieldDestinationPort,
5000 + NdisUdpHeaderFieldMaximum
5001 + } NDIS_UDP_HEADER_FIELD, *PNDIS_UDP_HEADER_FIELD;
5003 + typedef enum _NDIS_RECEIVE_FILTER_TEST {
5004 + NdisReceiveFilterTestUndefined,
5005 + NdisReceiveFilterTestEqual,
5006 + NdisReceiveFilterTestMaskEqual,
5007 + NdisReceiveFilterTestNotEqual,
5008 + NdisReceiveFilterTestMaximum
5009 + } NDIS_RECEIVE_FILTER_TEST, *PNDIS_RECEIVE_FILTER_TEST;
5011 + typedef struct _NDIS_RECEIVE_FILTER_FIELD_PARAMETERS {
5012 + NDIS_OBJECT_HEADER Header;
5014 + NDIS_FRAME_HEADER FrameHeader;
5015 + NDIS_RECEIVE_FILTER_TEST ReceiveFilterTest;
5016 + union _HEADER_FIELD {
5017 + NDIS_MAC_HEADER_FIELD MacHeaderField;
5018 + NDIS_ARP_HEADER_FIELD ArpHeaderField;
5019 + NDIS_IPV4_HEADER_FIELD IPv4HeaderField;
5020 + NDIS_IPV6_HEADER_FIELD IPv6HeaderField;
5021 + NDIS_UDP_HEADER_FIELD UdpHeaderField;
5023 + union _FIELD_VALUE {
5024 + UCHAR FieldByteValue;
5025 + USHORT FieldShortValue;
5026 + ULONG FieldLongValue;
5027 + ULONG64 FieldLong64Value;
5028 + UCHAR FieldByteArrayValue[16];
5030 + union _RESULT_VALUE {
5031 + UCHAR ResultByteValue;
5032 + USHORT ResultShortValue;
5033 + ULONG ResultLongValue;
5034 + ULONG64 ResultLong64Value;
5035 + UCHAR ResultByteArrayValue[16];
5037 + } NDIS_RECEIVE_FILTER_FIELD_PARAMETERS, *PNDIS_RECEIVE_FILTER_FIELD_PARAMETERS;
5039 +#if NDIS_SUPPORT_NDIS630
5040 + typedef ULONG NDIS_NIC_SWITCH_VPORT_ID, *PNDIS_NIC_SWITCH_VPORT_ID;
5043 + typedef struct _NDIS_RECEIVE_FILTER_PARAMETERS {
5044 + NDIS_OBJECT_HEADER Header;
5046 + NDIS_RECEIVE_FILTER_TYPE FilterType;
5047 + NDIS_RECEIVE_QUEUE_ID QueueId;
5048 + NDIS_RECEIVE_FILTER_ID FilterId;
5049 + ULONG FieldParametersArrayOffset;
5050 + ULONG FieldParametersArrayNumElements;
5051 + ULONG FieldParametersArrayElementSize;
5052 + ULONG RequestedFilterIdBitCount;
5053 +#if NDIS_SUPPORT_NDIS630
5054 + ULONG MaxCoalescingDelay;
5055 + NDIS_NIC_SWITCH_VPORT_ID VPortId;
5057 + } NDIS_RECEIVE_FILTER_PARAMETERS, *PNDIS_RECEIVE_FILTER_PARAMETERS;
5059 + typedef struct _NDIS_RECEIVE_FILTER_CLEAR_PARAMETERS {
5060 + NDIS_OBJECT_HEADER Header;
5062 + NDIS_RECEIVE_QUEUE_ID QueueId;
5063 + NDIS_RECEIVE_FILTER_ID FilterId;
5064 + } NDIS_RECEIVE_FILTER_CLEAR_PARAMETERS, *PNDIS_RECEIVE_FILTER_CLEAR_PARAMETERS;
5066 + typedef enum _NDIS_RECEIVE_QUEUE_TYPE {
5067 + NdisReceiveQueueTypeUnspecified,
5068 + NdisReceiveQueueTypeVMQueue,
5069 + NdisReceiveQueueTypeMaximum
5070 + } NDIS_RECEIVE_QUEUE_TYPE, *PNDIS_RECEIVE_QUEUE_TYPE;
5072 + typedef NDIS_IF_COUNTED_STRING NDIS_QUEUE_NAME, *PNDIS_QUEUE_NAME;
5073 + typedef NDIS_IF_COUNTED_STRING NDIS_VM_NAME, *PNDIS_VM_NAME;
5074 + typedef NDIS_IF_COUNTED_STRING NDIS_VM_FRIENDLYNAME, *PNDIS_VM_FRIENDLYNAME;
5075 + typedef NDIS_IF_COUNTED_STRING NDIS_SWITCH_PORT_PROPERTY_PROFILE_NAME, *PNDIS_SWITCH_PORT_PROPERTY_PROFILE_NAME;
5076 + typedef NDIS_IF_COUNTED_STRING NDIS_SWITCH_PORT_PROPERTY_PROFILE_CDN_LABEL, *PNDIS_SWITCH_PORT_PROPERTY_PROFILE_CDN_LABEL;
5077 + typedef NDIS_IF_COUNTED_STRING NDIS_SWITCH_NAME, *PNDIS_SWITCH_NAME;
5078 + typedef NDIS_IF_COUNTED_STRING NDIS_SWITCH_FRIENDLYNAME, *PNDIS_SWITCH_FRIENDLYNAME;
5079 + typedef NDIS_IF_COUNTED_STRING NDIS_SWITCH_PORT_NAME, *PNDIS_SWITCH_PORT_NAME;
5080 + typedef NDIS_IF_COUNTED_STRING NDIS_SWITCH_PORT_FRIENDLYNAME, *PNDIS_SWITCH_PORT_FRIENDLYNAME;
5081 + typedef NDIS_IF_COUNTED_STRING NDIS_SWITCH_NIC_NAME, *PNDIS_SWITCH_NIC_NAME;
5082 + typedef NDIS_IF_COUNTED_STRING NDIS_SWITCH_NIC_FRIENDLYNAME, *PNDIS_SWITCH_NIC_FRIENDLYNAME;
5083 + typedef NDIS_IF_COUNTED_STRING NDIS_SWITCH_EXTENSION_FRIENDLYNAME, *PNDIS_SWITCH_EXTENSION_FRIENDLYNAME;
5084 + typedef NDIS_IF_COUNTED_STRING NDIS_VENDOR_NAME, *PNDIS_VENDOR_NAME;
5086 + typedef struct _NDIS_RECEIVE_QUEUE_PARAMETERS {
5087 + NDIS_OBJECT_HEADER Header;
5089 + NDIS_RECEIVE_QUEUE_TYPE QueueType;
5090 + NDIS_RECEIVE_QUEUE_ID QueueId;
5091 + NDIS_RECEIVE_QUEUE_GROUP_ID QueueGroupId;
5092 + GROUP_AFFINITY ProcessorAffinity;
5093 + ULONG NumSuggestedReceiveBuffers;
5094 + ULONG MSIXTableEntry;
5095 + ULONG LookaheadSize;
5096 + NDIS_VM_NAME VmName;
5097 + NDIS_QUEUE_NAME QueueName;
5098 +#if NDIS_SUPPORT_NDIS630
5100 + ULONG InterruptCoalescingDomainId;
5102 + } NDIS_RECEIVE_QUEUE_PARAMETERS, *PNDIS_RECEIVE_QUEUE_PARAMETERS;
5104 + typedef struct _NDIS_RECEIVE_QUEUE_FREE_PARAMETERS {
5105 + NDIS_OBJECT_HEADER Header;
5107 + NDIS_RECEIVE_QUEUE_ID QueueId;
5108 + } NDIS_RECEIVE_QUEUE_FREE_PARAMETERS, *PNDIS_RECEIVE_QUEUE_FREE_PARAMETERS;
5110 + typedef enum _NDIS_RECEIVE_QUEUE_OPERATIONAL_STATE {
5111 + NdisReceiveQueueOperationalStateUndefined,
5112 + NdisReceiveQueueOperationalStateRunning,
5113 + NdisReceiveQueueOperationalStatePaused,
5114 + NdisReceiveQueueOperationalStateDmaStopped,
5115 + NdisReceiveQueueOperationalStateMaximum
5116 + } NDIS_RECEIVE_QUEUE_OPERATIONAL_STATE, *PNDIS_RECEIVE_QUEUE_OPERATIONAL_STATE;
5118 + typedef struct _NDIS_RECEIVE_QUEUE_INFO {
5119 + NDIS_OBJECT_HEADER Header;
5121 + NDIS_RECEIVE_QUEUE_TYPE QueueType;
5122 + NDIS_RECEIVE_QUEUE_ID QueueId;
5123 + NDIS_RECEIVE_QUEUE_GROUP_ID QueueGroupId;
5124 + NDIS_RECEIVE_QUEUE_OPERATIONAL_STATE QueueState;
5125 + GROUP_AFFINITY ProcessorAffinity;
5126 + ULONG NumSuggestedReceiveBuffers;
5127 + ULONG MSIXTableEntry;
5128 + ULONG LookaheadSize;
5129 + NDIS_VM_NAME VmName;
5130 + NDIS_QUEUE_NAME QueueName;
5131 +#if NDIS_SUPPORT_NDIS630
5133 + ULONG InterruptCoalescingDomainId;
5135 + } NDIS_RECEIVE_QUEUE_INFO, *PNDIS_RECEIVE_QUEUE_INFO;
5137 + typedef struct _NDIS_RECEIVE_QUEUE_INFO_ARRAY {
5138 + NDIS_OBJECT_HEADER Header;
5139 + ULONG FirstElementOffset;
5140 + ULONG NumElements;
5141 + ULONG ElementSize;
5142 + } NDIS_RECEIVE_QUEUE_INFO_ARRAY, *PNDIS_RECEIVE_QUEUE_INFO_ARRAY;
5144 + typedef struct _NDIS_RECEIVE_FILTER_INFO {
5145 + NDIS_OBJECT_HEADER Header;
5147 + NDIS_RECEIVE_FILTER_TYPE FilterType;
5148 + NDIS_RECEIVE_FILTER_ID FilterId;
5149 + } NDIS_RECEIVE_FILTER_INFO, *PNDIS_RECEIVE_FILTER_INFO;
5151 + typedef struct _NDIS_RECEIVE_FILTER_INFO_ARRAY {
5152 + NDIS_OBJECT_HEADER Header;
5153 + NDIS_RECEIVE_QUEUE_ID QueueId;
5154 + ULONG FirstElementOffset;
5155 + ULONG NumElements;
5156 + ULONG ElementSize;
5157 +#if NDIS_SUPPORT_NDIS630
5159 + NDIS_NIC_SWITCH_VPORT_ID VPortId;
5161 + } NDIS_RECEIVE_FILTER_INFO_ARRAY, *PNDIS_RECEIVE_FILTER_INFO_ARRAY;
5163 + typedef struct _NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS {
5164 + NDIS_OBJECT_HEADER Header;
5166 + NDIS_RECEIVE_QUEUE_ID QueueId;
5167 + NDIS_STATUS CompletionStatus;
5168 + } NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS, *PNDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS;
5170 + typedef struct _NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY {
5171 + NDIS_OBJECT_HEADER Header;
5173 + ULONG FirstElementOffset;
5174 + ULONG NumElements;
5175 + ULONG ElementSize;
5176 + } NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY, *PNDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY;
5179 +#if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6
5180 +#define NDIS_RSS_CAPS_MESSAGE_SIGNALED_INTERRUPTS 0x01000000
5181 +#define NDIS_RSS_CAPS_CLASSIFICATION_AT_ISR 0x02000000
5182 +#define NDIS_RSS_CAPS_CLASSIFICATION_AT_DPC 0x04000000
5183 +#if NDIS_SUPPORT_NDIS620
5184 +#define NDIS_RSS_CAPS_USING_MSI_X 0x08000000
5186 +#if NDIS_SUPPORT_NDIS630
5187 +#define NDIS_RSS_CAPS_RSS_AVAILABLE_ON_PORTS 0x10000000
5188 +#define NDIS_RSS_CAPS_SUPPORTS_MSI_X 0x20000000
5190 +#define NDIS_RSS_CAPS_HASH_TYPE_TCP_IPV4 0x00000100
5191 +#define NDIS_RSS_CAPS_HASH_TYPE_TCP_IPV6 0x00000200
5192 +#define NDIS_RSS_CAPS_HASH_TYPE_TCP_IPV6_EX 0x00000400
5194 +#define NdisHashFunctionToeplitz 0x00000001
5195 +#define NdisHashFunctionReserved1 0x00000002
5196 +#define NdisHashFunctionReserved2 0x00000004
5197 +#define NdisHashFunctionReserved3 0x00000008
5199 +#define NDIS_HASH_FUNCTION_MASK 0x000000ff
5200 +#define NDIS_HASH_TYPE_MASK 0x00ffff00
5202 +#define NDIS_RSS_HASH_FUNC_FROM_HASH_INFO(HINFO) ((HINFO) & (NDIS_HASH_FUNCTION_MASK))
5203 +#define NDIS_RSS_HASH_TYPE_FROM_HASH_INFO(HINFO) ((HINFO) & (NDIS_HASH_TYPE_MASK))
5204 +#define NDIS_RSS_HASH_INFO_FROM_TYPE_AND_FUNC(HTYPE, HFCT) ((HTYPE) | (HFCT))
5206 +#define NDIS_HASH_IPV4 0x00000100
5207 +#define NDIS_HASH_TCP_IPV4 0x00000200
5208 +#define NDIS_HASH_IPV6 0x00000400
5209 +#define NDIS_HASH_IPV6_EX 0x00000800
5210 +#define NDIS_HASH_TCP_IPV6 0x00001000
5211 +#define NDIS_HASH_TCP_IPV6_EX 0x00002000
5213 +#define NDIS_RSS_PARAM_FLAG_BASE_CPU_UNCHANGED 0x0001
5214 +#define NDIS_RSS_PARAM_FLAG_HASH_INFO_UNCHANGED 0x0002
5215 +#define NDIS_RSS_PARAM_FLAG_ITABLE_UNCHANGED 0x0004
5216 +#define NDIS_RSS_PARAM_FLAG_HASH_KEY_UNCHANGED 0x0008
5217 +#define NDIS_RSS_PARAM_FLAG_DISABLE_RSS 0x0010
5219 +#define NDIS_RSS_INDIRECTION_TABLE_SIZE_REVISION_1 128
5220 +#define NDIS_RSS_HASH_SECRET_KEY_SIZE_REVISION_1 40
5222 +#define NDIS_RSS_INDIRECTION_TABLE_MAX_SIZE_REVISION_1 128
5223 +#define NDIS_RSS_HASH_SECRET_KEY_MAX_SIZE_REVISION_1 40
5225 +#if NDIS_SUPPORT_NDIS620
5226 +#define NDIS_RSS_INDIRECTION_TABLE_MAX_SIZE_REVISION_2 (128 * sizeof (PROCESSOR_NUMBER))
5227 +#define NDIS_RSS_HASH_SECRET_KEY_MAX_SIZE_REVISION_2 40
5230 +#define NDIS_RECEIVE_HASH_FLAG_ENABLE_HASH 0x00000001
5231 +#define NDIS_RECEIVE_HASH_FLAG_HASH_INFO_UNCHANGED 0x00000002
5232 +#define NDIS_RECEIVE_HASH_FLAG_HASH_KEY_UNCHANGED 0x00000004
5234 +#define NDIS_PORT_CHAR_USE_DEFAULT_AUTH_SETTINGS 0x00000001
5236 +#define NDIS_RECEIVE_SCALE_CAPABILITIES_REVISION_1 1
5237 +#define NDIS_RECEIVE_HASH_PARAMETERS_REVISION_1 1
5238 +#define NDIS_PORT_STATE_REVISION_1 1
5239 +#define NDIS_PORT_CHARACTERISTICS_REVISION_1 1
5240 +#define NDIS_PORT_ARRAY_REVISION_1 1
5241 +#define NDIS_RECEIVE_SCALE_PARAMETERS_REVISION_1 1
5242 +#if NDIS_SUPPORT_NDIS620
5243 +#define NDIS_RECEIVE_SCALE_PARAMETERS_REVISION_2 2
5245 +#if NDIS_SUPPORT_NDIS630
5246 +#define NDIS_RECEIVE_SCALE_CAPABILITIES_REVISION_2 2
5249 +#define NDIS_SIZEOF_RECEIVE_SCALE_CAPABILITIES_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_SCALE_CAPABILITIES, NumberOfReceiveQueues)
5250 +#define NDIS_SIZEOF_RECEIVE_SCALE_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_SCALE_PARAMETERS, HashSecretKeyOffset)
5251 +#define NDIS_SIZEOF_RECEIVE_HASH_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_HASH_PARAMETERS, HashSecretKeyOffset)
5252 +#define NDIS_SIZEOF_PORT_STATE_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_PORT_STATE, Flags)
5253 +#define NDIS_SIZEOF_PORT_CHARACTERISTICS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_PORT_CHARACTERISTICS, RcvAuthorizationState)
5254 +#define NDIS_SIZEOF_PORT_ARRAY_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_PORT_ARRAY, Ports)
5255 +#if NDIS_SUPPORT_NDIS620
5256 +#define NDIS_SIZEOF_RECEIVE_SCALE_PARAMETERS_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_SCALE_PARAMETERS, ProcessorMasksEntrySize)
5258 +#if NDIS_SUPPORT_NDIS630
5259 +#define NDIS_SIZEOF_RECEIVE_SCALE_CAPABILITIES_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_SCALE_CAPABILITIES, NumberOfIndirectionTableEntries)
5262 + typedef struct _NDIS_RECEIVE_SCALE_CAPABILITIES {
5263 + NDIS_OBJECT_HEADER Header;
5264 + ULONG CapabilitiesFlags;
5265 + ULONG NumberOfInterruptMessages;
5266 + ULONG NumberOfReceiveQueues;
5267 +#if NDIS_SUPPORT_NDIS630
5268 + USHORT NumberOfIndirectionTableEntries;
5270 + } NDIS_RECEIVE_SCALE_CAPABILITIES, *PNDIS_RECEIVE_SCALE_CAPABILITIES;
5272 + typedef struct _NDIS_RECEIVE_SCALE_PARAMETERS {
5273 + NDIS_OBJECT_HEADER Header;
5275 + USHORT BaseCpuNumber;
5276 + ULONG HashInformation;
5277 + USHORT IndirectionTableSize;
5278 + ULONG IndirectionTableOffset;
5279 + USHORT HashSecretKeySize;
5280 + ULONG HashSecretKeyOffset;
5281 +#if NDIS_SUPPORT_NDIS620
5282 + ULONG ProcessorMasksOffset;
5283 + ULONG NumberOfProcessorMasks;
5284 + ULONG ProcessorMasksEntrySize;
5286 + } NDIS_RECEIVE_SCALE_PARAMETERS, *PNDIS_RECEIVE_SCALE_PARAMETERS;
5288 + typedef struct _NDIS_RECEIVE_HASH_PARAMETERS {
5289 + NDIS_OBJECT_HEADER Header;
5291 + ULONG HashInformation;
5292 + USHORT HashSecretKeySize;
5293 + ULONG HashSecretKeyOffset;
5294 + } NDIS_RECEIVE_HASH_PARAMETERS, *PNDIS_RECEIVE_HASH_PARAMETERS;
5296 + typedef enum _NDIS_PROCESSOR_VENDOR {
5297 + NdisProcessorVendorUnknown,
5298 + NdisProcessorVendorGenuinIntel,
5299 + NdisProcessorVendorGenuineIntel = NdisProcessorVendorGenuinIntel,
5300 + NdisProcessorVendorAuthenticAMD
5301 + } NDIS_PROCESSOR_VENDOR, *PNDIS_PROCESSOR_VENDOR;
5303 +#if NDIS_SUPPORT_NDIS620
5304 +#define NDIS_HYPERVISOR_INFO_FLAG_HYPERVISOR_PRESENT 0x00000001
5306 +#define NDIS_RSS_PROCESSOR_INFO_REVISION_1 1
5307 +#define NDIS_SYSTEM_PROCESSOR_INFO_EX_REVISION_1 1
5308 +#define NDIS_HYPERVISOR_INFO_REVISION_1 1
5309 +#define NDIS_WMI_RECEIVE_QUEUE_INFO_REVISION_1 1
5310 +#define NDIS_WMI_RECEIVE_QUEUE_PARAMETERS_REVISION_1 1
5311 +#if NDIS_SUPPORT_NDIS630
5312 +#define NDIS_RSS_PROCESSOR_INFO_REVISION_2 2
5315 +#define NDIS_SIZEOF_RSS_PROCESSOR_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RSS_PROCESSOR, PreferenceIndex)
5316 +#define NDIS_SIZEOF_RSS_PROCESSOR_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RSS_PROCESSOR_INFO, RssProcessorEntrySize)
5317 +#define NDIS_SIZEOF_SYSTEM_PROCESSOR_INFO_EX_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SYSTEM_PROCESSOR_INFO_EX, ProcessorInfoEntrySize)
5318 +#define NDIS_SIZEOF_HYPERVISOR_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_HYPERVISOR_INFO, PartitionType)
5319 +#define NDIS_SIZEOF_WMI_RECEIVE_QUEUE_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_RECEIVE_QUEUE_PARAMETERS, QueueName)
5320 +#define NDIS_SIZEOF_WMI_RECEIVE_QUEUE_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_RECEIVE_QUEUE_INFO, QueueName)
5321 +#if NDIS_SUPPORT_NDIS630
5322 +#define NDIS_SIZEOF_RSS_PROCESSOR_INFO_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_RSS_PROCESSOR_INFO, RssProfile)
5325 + typedef struct _NDIS_RSS_PROCESSOR {
5326 + PROCESSOR_NUMBER ProcNum;
5327 + USHORT PreferenceIndex;
5329 + } NDIS_RSS_PROCESSOR, *PNDIS_RSS_PROCESSOR;
5331 +#if NDIS_SUPPORT_NDIS630
5332 + typedef enum _NDIS_RSS_PROFILE {
5333 + NdisRssProfileClosest = 1,
5334 + NdisRssProfileClosestStatic,
5335 + NdisRssProfileNuma,
5336 + NdisRssProfileNumaStatic,
5337 + NdisRssProfileConservative,
5338 + NdisRssProfileMaximum,
5339 + } NDIS_RSS_PROFILE, *PNDIS_RSS_PROFILE;
5342 + typedef struct _NDIS_RSS_PROCESSOR_INFO {
5343 + NDIS_OBJECT_HEADER Header;
5345 + PROCESSOR_NUMBER RssBaseProcessor;
5346 + ULONG MaxNumRssProcessors;
5347 + USHORT PreferredNumaNode;
5348 + ULONG RssProcessorArrayOffset;
5349 + ULONG RssProcessorCount;
5350 + ULONG RssProcessorEntrySize;
5351 +#if NDIS_SUPPORT_NDIS630
5352 + PROCESSOR_NUMBER RssMaxProcessor;
5353 + NDIS_RSS_PROFILE RssProfile;
5355 + } NDIS_RSS_PROCESSOR_INFO, *PNDIS_RSS_PROCESSOR_INFO;
5357 + typedef struct _NDIS_PROCESSOR_INFO_EX {
5358 + PROCESSOR_NUMBER ProcNum;
5361 + ULONG HyperThreadId;
5363 + USHORT NodeDistance;
5364 + } NDIS_PROCESSOR_INFO_EX, *PNDIS_PROCESSOR_INFO_EX;
5366 + typedef struct _NDIS_SYSTEM_PROCESSOR_INFO_EX {
5367 + NDIS_OBJECT_HEADER Header;
5369 + NDIS_PROCESSOR_VENDOR ProcessorVendor;
5372 + ULONG NumCoresPerSocket;
5373 + ULONG MaxHyperThreadingProcsPerCore;
5374 + ULONG ProcessorInfoOffset;
5375 + ULONG NumberOfProcessors;
5376 + ULONG ProcessorInfoEntrySize;
5377 + } NDIS_SYSTEM_PROCESSOR_INFO_EX, *PNDIS_SYSTEM_PROCESSOR_INFO_EX;
5379 + typedef enum _NDIS_HYPERVISOR_PARTITION_TYPE {
5380 + NdisHypervisorPartitionTypeUnknown,
5381 + NdisHypervisorPartitionTypeMsHvParent,
5382 + NdisHypervisorPartitionMsHvChild,
5383 + NdisHypervisorPartitionTypeMax
5384 + } NDIS_HYPERVISOR_PARTITION_TYPE, *PNDIS_HYPERVISOR_PARTITION_TYPE;
5386 + typedef struct _NDIS_HYPERVISOR_INFO {
5387 + NDIS_OBJECT_HEADER Header;
5389 + NDIS_HYPERVISOR_PARTITION_TYPE PartitionType;
5390 + } NDIS_HYPERVISOR_INFO, *PNDIS_HYPERVISOR_INFO;
5392 + typedef struct _NDIS_WMI_GROUP_AFFINITY {
5395 + USHORT Reserved[3];
5396 + } NDIS_WMI_GROUP_AFFINITY, *PNDIS_WMI_GROUP_AFFINITY;
5398 + typedef struct _NDIS_WMI_RECEIVE_QUEUE_PARAMETERS {
5399 + NDIS_OBJECT_HEADER Header;
5401 + NDIS_RECEIVE_QUEUE_TYPE QueueType;
5402 + NDIS_RECEIVE_QUEUE_ID QueueId;
5403 + NDIS_RECEIVE_QUEUE_GROUP_ID QueueGroupId;
5404 + NDIS_WMI_GROUP_AFFINITY ProcessorAffinity;
5405 + ULONG NumSuggestedReceiveBuffers;
5406 + ULONG MSIXTableEntry;
5407 + ULONG LookaheadSize;
5408 + NDIS_VM_NAME VmName;
5409 + NDIS_QUEUE_NAME QueueName;
5410 + } NDIS_WMI_RECEIVE_QUEUE_PARAMETERS, *PNDIS_WMI_RECEIVE_QUEUE_PARAMETERS;
5412 + typedef struct _NDIS_WMI_RECEIVE_QUEUE_INFO {
5413 + NDIS_OBJECT_HEADER Header;
5415 + NDIS_RECEIVE_QUEUE_TYPE QueueType;
5416 + NDIS_RECEIVE_QUEUE_ID QueueId;
5417 + NDIS_RECEIVE_QUEUE_GROUP_ID QueueGroupId;
5418 + NDIS_RECEIVE_QUEUE_OPERATIONAL_STATE QueueState;
5419 + NDIS_WMI_GROUP_AFFINITY ProcessorAffinity;
5420 + ULONG NumSuggestedReceiveBuffers;
5421 + ULONG MSIXTableEntry;
5422 + ULONG LookaheadSize;
5423 + NDIS_VM_NAME VmName;
5424 + NDIS_QUEUE_NAME QueueName;
5425 + } NDIS_WMI_RECEIVE_QUEUE_INFO, *PNDIS_WMI_RECEIVE_QUEUE_INFO;
5428 +#if NDIS_SUPPORT_NDIS630
5430 +#define NDIS_NDK_PERFORMANCE_COUNTER_MASK(CNTFIELD) (((ULONG64) 1) << (FIELD_OFFSET (NDIS_NDK_PERFORMANCE_COUNTERS, CNTFIELD) / sizeof (ULONG64)))
5432 +#define OID_NDK_SET_STATE 0xfc040201
5433 +#define OID_NDK_STATISTICS 0xfc040202
5434 +#define OID_NDK_CONNECTIONS 0xfc040203
5435 +#define OID_NDK_LOCAL_ENDPOINTS 0xfc040204
5437 +#define OID_QOS_HARDWARE_CAPABILITIES 0xfc050001
5438 +#define OID_QOS_CURRENT_CAPABILITIES 0xfc050002
5439 +#define OID_QOS_PARAMETERS 0xfc050003
5440 +#define OID_QOS_OPERATIONAL_PARAMETERS 0xfc050004
5441 +#define OID_QOS_REMOTE_PARAMETERS 0xfc050005
5443 +#define NDIS_QOS_MAXIMUM_PRIORITIES 8
5444 +#define NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES 8
5446 +#define NDIS_QOS_CAPABILITIES_STRICT_TSA_SUPPORTED 0x00000001
5447 +#define NDIS_QOS_CAPABILITIES_MACSEC_BYPASS_SUPPORTED 0x00000002
5448 +#define NDIS_QOS_CAPABILITIES_CEE_DCBX_SUPPORTED 0x00000004
5449 +#define NDIS_QOS_CAPABILITIES_IEEE_DCBX_SUPPORTED 0x00000008
5451 +#define NDIS_QOS_CLASSIFICATION_SET_BY_MINIPORT_MASK 0xff000000
5452 +#define NDIS_QOS_CLASSIFICATION_ENFORCED_BY_MINIPORT 0x01000000
5454 +#define NDIS_QOS_CONDITION_RESERVED 0x0
5455 +#define NDIS_QOS_CONDITION_DEFAULT 0x1
5456 +#define NDIS_QOS_CONDITION_TCP_PORT 0x2
5457 +#define NDIS_QOS_CONDITION_UDP_PORT 0x3
5458 +#define NDIS_QOS_CONDITION_TCP_OR_UDP_PORT 0x4
5459 +#define NDIS_QOS_CONDITION_ETHERTYPE 0x5
5460 +#define NDIS_QOS_CONDITION_NETDIRECT_PORT 0x6
5461 +#define NDIS_QOS_CONDITION_MAXIMUM 0x7
5463 +#define NDIS_QOS_ACTION_PRIORITY 0x0
5464 +#define NDIS_QOS_ACTION_MAXIMUM 0x1
5466 +#define NDIS_QOS_PARAMETERS_ETS_CHANGED 0x00000001
5467 +#define NDIS_QOS_PARAMETERS_ETS_CONFIGURED 0x00000002
5468 +#define NDIS_QOS_PARAMETERS_PFC_CHANGED 0x00000100
5469 +#define NDIS_QOS_PARAMETERS_PFC_CONFIGURED 0x00000200
5470 +#define NDIS_QOS_PARAMETERS_CLASSIFICATION_CHANGED 0x00010000
5471 +#define NDIS_QOS_PARAMETERS_CLASSIFICATION_CONFIGURED 0x00020000
5472 +#define NDIS_QOS_PARAMETERS_WILLING 0x80000000
5474 +#define NDIS_QOS_TSA_STRICT 0x0
5475 +#define NDIS_QOS_TSA_CBS 0x1
5476 +#define NDIS_QOS_TSA_ETS 0x2
5477 +#define NDIS_QOS_TSA_MAXIMUM 0x3
5479 +#define NDIS_PF_FUNCTION_ID (USHORT) -1
5480 +#define NDIS_INVALID_VF_FUNCTION_ID (USHORT) -1
5481 +#define NDIS_INVALID_RID (ULONG) -1
5482 +#define NDIS_DEFAULT_VPORT_ID 0
5483 +#define NDIS_DEFAULT_SWITCH_ID 0
5484 +#define NDIS_INVALID_SWITCH_ID (ULONG) -1
5486 +#define NDIS_NIC_SWITCH_PARAMETERS_CHANGE_MASK 0xffff0000
5487 +#define NDIS_NIC_SWITCH_PARAMETERS_SWITCH_NAME_CHANGED 0x00010000
5489 +#define NDIS_SRIOV_CAPS_SRIOV_SUPPORTED 0x00000001
5490 +#define NDIS_SRIOV_CAPS_PF_MINIPORT 0x00000002
5491 +#define NDIS_SRIOV_CAPS_VF_MINIPORT 0x00000004
5493 +#define NDIS_NIC_SWITCH_VF_INFO_ARRAY_ENUM_ON_SPECIFIC_SWITCH 0x00000001
5495 +#define NDIS_NIC_SWITCH_VPORT_PARAMS_LOOKAHEAD_SPLIT_ENABLED 0x00000001
5496 +#define NDIS_NIC_SWITCH_VPORT_PARAMS_CHANGE_MASK 0xffff0000
5497 +#define NDIS_NIC_SWITCH_VPORT_PARAMS_FLAGS_CHANGED 0x00010000
5498 +#define NDIS_NIC_SWITCH_VPORT_PARAMS_NAME_CHANGED 0x00020000
5499 +#define NDIS_NIC_SWITCH_VPORT_PARAMS_INT_MOD_CHANGED 0x00040000
5500 +#define NDIS_NIC_SWITCH_VPORT_PARAMS_STATE_CHANGED 0x00080000
5501 +#define NDIS_NIC_SWITCH_VPORT_PARAMS_PROCESSOR_AFFINITY_CHANGED 0x00100000
5503 +#define NDIS_NIC_SWITCH_VPORT_INFO_ARRAY_ENUM_ON_SPECIFIC_FUNCTION 0x00000001
5504 +#define NDIS_NIC_SWITCH_VPORT_INFO_ARRAY_ENUM_ON_SPECIFIC_SWITCH 0x00000002
5506 +#define NDIS_NIC_SWITCH_VPORT_INFO_LOOKAHEAD_SPLIT_ENABLED 0x00000001
5508 + DEFINE_GUID (GUID_NDIS_NDK_CAPABILITIES, 0x7969ba4d, 0xdd80, 0x4bc7, 0xb3, 0xe6, 0x68, 0x04, 0x39, 0x97, 0xe5, 0x19);
5509 + DEFINE_GUID (GUID_NDIS_NDK_STATE, 0x530c69c9, 0x2f51, 0x49de, 0xa1, 0xaf, 0x08, 0x8d, 0x54, 0xff, 0xa4, 0x74);
5511 +#define NDIS_NDK_CAPABILITIES_REVISION_1 1
5512 +#define NDIS_NDK_STATISTICS_INFO_REVISION_1 1
5513 +#define NDIS_NDK_CONNECTIONS_REVISION_1 1
5514 +#define NDIS_NDK_LOCAL_ENDPOINTS_REVISION_1 1
5515 +#define NDIS_QOS_CAPABILITIES_REVISION_1 1
5516 +#define NDIS_QOS_CLASSIFICATION_ELEMENT_REVISION_1 1
5517 +#define NDIS_QOS_PARAMETERS_REVISION_1 1
5518 +#define NDIS_NIC_SWITCH_PARAMETERS_REVISION_1 1
5519 +#define NDIS_NIC_SWITCH_DELETE_SWITCH_PARAMETERS_REVISION_1 1
5520 +#define NDIS_NIC_SWITCH_INFO_REVISION_1 1
5521 +#define NDIS_NIC_SWITCH_INFO_ARRAY_REVISION_1 1
5522 +#define NDIS_NIC_SWITCH_VPORT_PARAMETERS_REVISION_1 1
5523 +#define NDIS_NIC_SWITCH_DELETE_VPORT_PARAMETERS_REVISION_1 1
5524 +#define NDIS_NIC_SWITCH_VPORT_INFO_REVISION_1 1
5525 +#define NDIS_NIC_SWITCH_VPORT_INFO_ARRAY_REVISION_1 1
5526 +#define NDIS_NIC_SWITCH_VF_PARAMETERS_REVISION_1 1
5527 +#define NDIS_NIC_SWITCH_FREE_VF_PARAMETERS_REVISION_1 1
5528 +#define NDIS_NIC_SWITCH_VF_INFO_REVISION_1 1
5529 +#define NDIS_NIC_SWITCH_VF_INFO_ARRAY_REVISION_1 1
5530 +#define NDIS_SRIOV_CAPABILITIES_REVISION_1 1
5531 +#define NDIS_SRIOV_READ_VF_CONFIG_SPACE_PARAMETERS_REVISION_1 1
5532 +#define NDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS_REVISION_1 1
5533 +#define NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS_REVISION_1 1
5534 +#define NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS_REVISION_1 1
5535 +#define NDIS_SRIOV_RESET_VF_PARAMETERS_REVISION_1 1
5536 +#define NDIS_SRIOV_SET_VF_POWER_STATE_PARAMETERS_REVISION_1 1
5537 +#define NDIS_SRIOV_CONFIG_STATE_PARAMETERS_REVISION_1 1
5538 +#define NDIS_SRIOV_VF_VENDOR_DEVICE_ID_INFO_REVISION_1 1
5539 +#define NDIS_SRIOV_PROBED_BARS_INFO_REVISION_1 1
5540 +#define NDIS_RECEIVE_FILTER_MOVE_FILTER_PARAMETERS_REVISION_1 1
5541 +#define NDIS_SRIOV_BAR_RESOURCES_INFO_REVISION_1 1
5542 +#define NDIS_SRIOV_PF_LUID_INFO_REVISION_1 1
5543 +#define NDIS_SRIOV_VF_SERIAL_NUMBER_INFO_REVISION_1 1
5544 +#define NDIS_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO_REVISION_1 1
5545 +#define NDIS_SWITCH_OBJECT_SERIALIZATION_VERSION_1 1
5546 +#define NDIS_SWITCH_PORT_PROPERTY_SECURITY_REVISION_1 1
5547 +#define NDIS_SWITCH_PORT_PROPERTY_VLAN_REVISION_1 1
5548 +#define NDIS_SWITCH_PORT_PROPERTY_PROFILE_REVISION_1 1
5549 +#define NDIS_SWITCH_PORT_PROPERTY_CUSTOM_REVISION_1 1
5550 +#define NDIS_SWITCH_PORT_PROPERTY_PARAMETERS_REVISION_1 1
5551 +#define NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS_REVISION_1 1
5552 +#define NDIS_SWITCH_PORT_PROPERTY_ENUM_PARAMETERS_REVISION_1 1
5553 +#define NDIS_SWITCH_PORT_PROPERTY_ENUM_INFO_REVISION_1 1
5554 +#define NDIS_SWITCH_PROPERTY_PARAMETERS_REVISION_1 1
5555 +#define NDIS_SWITCH_PROPERTY_CUSTOM_REVISION_1 1
5556 +#define NDIS_SWITCH_PORT_FEATURE_STATUS_PARAMETERS_REVISION_1 1
5557 +#define NDIS_SWITCH_PORT_FEATURE_STATUS_CUSTOM_REVISION_1 1
5558 +#define NDIS_SWITCH_PROPERTY_DELETE_PARAMETERS_REVISION_1 1
5559 +#define NDIS_SWITCH_PROPERTY_ENUM_INFO_REVISION_1 1
5560 +#define NDIS_SWITCH_PROPERTY_ENUM_PARAMETERS_REVISION_1 1
5561 +#define NDIS_SWITCH_FEATURE_STATUS_CUSTOM_REVISION_1 1
5562 +#define NDIS_SWITCH_PORT_PARAMETERS_REVISION_1 1
5563 +#define NDIS_SWITCH_PORT_ARRAY_REVISION_1 1
5564 +#define NDIS_SWITCH_PARAMETERS_REVISION_1 1
5565 +#define NDIS_SWITCH_NIC_PARAMETERS_REVISION_1 1
5566 +#define NDIS_SWITCH_NIC_ARRAY_REVISION_1 1
5567 +#define NDIS_SWITCH_NIC_OID_REQUEST_REVISION_1 1
5568 +#define NDIS_SWITCH_FEATURE_STATUS_PARAMETERS_REVISION_1 1
5569 +#define NDIS_SWITCH_NIC_SAVE_STATE_REVISION_1 1
5571 +#define NDIS_SIZEOF_NDK_CAPABILITIES_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NDK_CAPABILITIES, NdkInfo)
5572 +#define NDIS_SIZEOF_NDK_STATISTICS_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NDK_STATISTICS_INFO, CounterSet)
5573 +#define NDIS_SIZEOF_NDK_CONNECTIONS_REVISION_1(n) FIELD_OFFSET (NDIS_NDK_CONNECTIONS, Connections[n])
5574 +#define NDIS_SIZEOF_NDK_LOCAL_ENDPOINTS_REVISION_1(n) FIELD_OFFSET (NDIS_NDK_LOCAL_ENDPOINTS, LocalEndpoints[n])
5575 +#define NDIS_SIZEOF_QOS_CAPABILITIES_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_QOS_CAPABILITIES, MaxNumPfcEnabledTrafficClasses)
5576 +#define NDIS_SIZEOF_QOS_CLASSIFICATION_ELEMENT_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_QOS_CLASSIFICATION_ELEMENT, ActionField)
5577 +#define NDIS_SIZEOF_QOS_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_QOS_PARAMETERS, FirstClassificationElementOffset)
5578 +#define NDIS_SIZEOF_NIC_SWITCH_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_PARAMETERS, NdisReserved3)
5579 +#define NDIS_SIZEOF_NIC_SWITCH_DELETE_SWITCH_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_DELETE_SWITCH_PARAMETERS, SwitchId)
5580 +#define NDIS_SIZEOF_NIC_SWITCH_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_INFO, NumActiveNonDefaultVPortVlanIds)
5581 +#define NDIS_SIZEOF_NIC_SWITCH_INFO_ARRAY_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_INFO_ARRAY, ElementSize)
5582 +#define NDIS_SIZEOF_NIC_SWITCH_VPORT_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_VPORT_PARAMETERS, LookaheadSize)
5583 +#define NDIS_SIZEOF_NIC_SWITCH_DELETE_VPORT_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_DELETE_VPORT_PARAMETERS, VPortId)
5584 +#define NDIS_SIZEOF_NIC_SWITCH_VPORT_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_VPORT_INFO, NumFilters)
5585 +#define NDIS_SIZEOF_NIC_SWITCH_VPORT_INFO_ARRAY_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_VPORT_INFO_ARRAY, ElementSize)
5586 +#define NDIS_SIZEOF_NIC_SWITCH_VF_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_VF_PARAMETERS, RequestorId)
5587 +#define NDIS_SIZEOF_NIC_SWITCH_FREE_VF_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_FREE_VF_PARAMETERS, VFId)
5588 +#define NDIS_SIZEOF_NIC_SWITCH_VF_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_VF_INFO, RequestorId)
5589 +#define NDIS_SIZEOF_NIC_SWITCH_VF_INFO_ARRAY_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_VF_INFO_ARRAY, ElementSize)
5590 +#define NDIS_SIZEOF_SRIOV_CAPABILITIES_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_CAPABILITIES, SriovCapabilities)
5591 +#define NDIS_SIZEOF_SRIOV_READ_VF_CONFIG_SPACE_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_READ_VF_CONFIG_SPACE_PARAMETERS, BufferOffset)
5592 +#define NDIS_SIZEOF_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS, BufferOffset)
5593 +#define NDIS_SIZEOF_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS, BufferOffset)
5594 +#define NDIS_SIZEOF_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS, BufferOffset)
5595 +#define NDIS_SIZEOF_SRIOV_RESET_VF_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_RESET_VF_PARAMETERS, VFId)
5596 +#define NDIS_SIZEOF_SRIOV_SET_VF_POWER_STATE_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_SET_VF_POWER_STATE_PARAMETERS, WakeEnable)
5597 +#define NDIS_SIZEOF_SRIOV_CONFIG_STATE_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_CONFIG_STATE_PARAMETERS, Length)
5598 +#define NDIS_SIZEOF_SRIOV_VF_VENDOR_DEVICE_ID_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_VF_VENDOR_DEVICE_ID_INFO, DeviceId)
5599 +#define NDIS_SIZEOF_SRIOV_PROBED_BARS_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_PROBED_BARS_INFO, BaseRegisterValuesOffset)
5600 +#define NDIS_SIZEOF_RECEIVE_FILTER_MOVE_FILTER_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_MOVE_FILTER_PARAMETERS, DestVPortId)
5601 +#define NDIS_SIZEOF_SRIOV_BAR_RESOURCES_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_BAR_RESOURCES_INFO, BarResourcesOffset)
5602 +#define NDIS_SIZEOF_SRIOV_PF_LUID_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_PF_LUID_INFO, Luid)
5603 +#define NDIS_SIZEOF_SRIOV_VF_SERIAL_NUMBER_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_VF_SERIAL_NUMBER_INFO, SerialNumber)
5604 +#define NDIS_SIZEOF_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO, BlockMask)
5605 +#define NDIS_SIZEOF_NDIS_SWITCH_PORT_PROPERTY_SECURITY_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_PROPERTY_SECURITY, AllowTeaming)
5606 +#define NDIS_SIZEOF_NDIS_SWITCH_PORT_PROPERTY_VLAN_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_PROPERTY_VLAN, VlanProperties)
5607 +#define NDIS_SIZEOF_NDIS_SWITCH_PORT_PROPERTY_PROFILE_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_PROPERTY_PROFILE, CdnLabel)
5608 +#define NDIS_SIZEOF_NDIS_SWITCH_PORT_PROPERTY_CUSTOM_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_PROPERTY_CUSTOM, PropertyBufferOffset)
5609 +#define NDIS_SIZEOF_NDIS_SWITCH_PORT_PROPERTY_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_PROPERTY_PARAMETERS, Reserved)
5610 +#define NDIS_SIZEOF_NDIS_SWITCH_PORT_PROPERTY_ENUM_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_PROPERTY_ENUM_PARAMETERS, Reserved)
5611 +#define NDIS_SIZEOF_NDIS_SWITCH_PORT_PROPERTY_ENUM_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_PROPERTY_ENUM_INFO, PropertyBufferOffset)
5612 +#define NDIS_SIZEOF_NDIS_SWITCH_PORT_FEATURE_STATUS_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_FEATURE_STATUS_PARAMETERS, Reserved)
5613 +#define NDIS_SIZEOF_NDIS_SWITCH_PORT_FEATURE_STATUS_CUSTOM_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_FEATURE_STATUS_CUSTOM, FeatureStatusBufferOffset)
5614 +#define NDIS_SIZEOF_NDIS_SWITCH_PROPERTY_CUSTOM_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PROPERTY_CUSTOM, PropertyBufferOffset)
5615 +#define NDIS_SIZEOF_NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS, PropertyInstanceId)
5616 +#define NDIS_SIZEOF_NDIS_SWITCH_PROPERTY_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PROPERTY_PARAMETERS, PropertyBufferOffset)
5617 +#define NDIS_SIZEOF_NDIS_SWITCH_PROPERTY_ENUM_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PROPERTY_ENUM_INFO, PropertyBufferOffset)
5618 +#define NDIS_SIZEOF_NDIS_SWITCH_PROPERTY_ENUM_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PROPERTY_ENUM_PARAMETERS, NumProperties)
5619 +#define NDIS_SIZEOF_NDIS_SWITCH_FEATURE_STATUS_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_FEATURE_STATUS_PARAMETERS, FeatureStatusBufferLength)
5620 +#define NDIS_SIZEOF_NDIS_SWITCH_PROPERTY_DELETE_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PROPERTY_DELETE_PARAMETERS, PropertyInstanceId)
5621 +#define NDIS_SIZEOF_NDIS_SWITCH_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PARAMETERS, IsActive)
5622 +#define NDIS_SIZEOF_NDIS_SWITCH_FEATURE_STATUS_CUSTOM_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_FEATURE_STATUS_CUSTOM, FeatureStatusCustomBufferOffset)
5623 +#define NDIS_SIZEOF_NDIS_SWITCH_PORT_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_PARAMETERS, PortState)
5624 +#define NDIS_SIZEOF_NDIS_SWITCH_PORT_ARRAY_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_ARRAY, ElementSize)
5625 +#define NDIS_SIZEOF_NDIS_SWITCH_NIC_OID_REQUEST_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_NIC_OID_REQUEST, OidRequest)
5626 +#define NDIS_SIZEOF_NDIS_SWITCH_NIC_SAVE_STATE_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_NIC_SAVE_STATE, SaveDataOffset)
5627 +#define NDIS_SIZEOF_NDIS_SWITCH_NIC_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_NIC_PARAMETERS, VFAssigned)
5628 +#define NDIS_SIZEOF_NDIS_SWITCH_NIC_ARRAY_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_NIC_ARRAY, ElementSize)
5630 +#define NDIS_SWITCH_PORT_PROPERTY_CUSTOM_GET_BUFFER(PPROPC) ((PVOID) ((PUCHAR) (PPROPC) + (PPROPC)->PropertyBufferOffset))
5631 +#define NDIS_SWITCH_PORT_PROPERTY_PARAMETERS_GET_PROPERTY(PPARM) ((PVOID) ((PUCHAR) (PPARM) + (PPARM)->PropertyBufferOffset))
5632 +#define NDIS_SWITCH_CREATE_PROPERTY_VERSION(VMAJOR, VMINOR) (((VMAJOR) << 8) + (VMINOR))
5633 +#define NDIS_SWITCH_PORT_PROPERTY_ENUM_PARAMETERS_GET_FIRST_INFO(PEPARM) ((PNDIS_SWITCH_PORT_PROPERTY_ENUM_INFO) ((PUCHAR) (PEPARM) + (PEPARM)->FirstPropertyOffset))
5634 +#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)))
5635 +#define NDIS_SWITCH_PORT_PROPERTY_ENUM_INFO_GET_PROPERTY(PEINFO) ((PVOID) ((PUCHAR) (PEINFO) + (PEINFO)->PropertyBufferOffset))
5636 +#define NDIS_SWITCH_CREATE_FEATURE_STATUS_VERSION(VMAJOR, VMINOR) (((VMAJOR) << 8) + (VMINOR))
5637 +#define NDIS_SWITCH_PROPERTY_CUSTOM_GET_BUFFER(SWPROPC) ((PVOID) ((PUCHAR) (SWPROPC) + (SWPROPC)->PropertyBufferOffset))
5638 +#define NDIS_SWITCH_PROPERTY_PARAMETERS_GET_PROPERTY(SWPARA) ((PVOID) ((PUCHAR) (SWPARA) + (SWPARA)->PropertyBufferOffset))
5639 +#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)))
5640 +#define NDIS_SWITCH_PROPERTY_ENUM_INFO_GET_PROPERTY(SWEINFO) ((PVOID) ((PUCHAR) (SWEINFO) + (SWEINFO)->PropertyBufferOffset))
5641 +#define NDIS_SWITCH_PROPERTY_ENUM_PARAMETERS_GET_FIRST_INFO(SWEPARM) ((PNDIS_SWITCH_PROPERTY_ENUM_INFO) ((PUCHAR) (SWEPARM) + (SWEPARM)->FirstPropertyOffset))
5642 +#define NDIS_SWITCH_PORT_AT_ARRAY_INDEX(PA, IDX) ((PNDIS_SWITCH_PORT_PARAMETERS) ((PUCHAR) (PA) + (PA)->FirstElementOffset + ((PA)->ElementSize * (IDX))))
5643 +#define NDIS_SWITCH_NIC_AT_ARRAY_INDEX(NA, IDX) ((PNDIS_SWITCH_NIC_PARAMETERS) ((PUCHAR) (NA) + (NA)->FirstElementOffset + ((NA)->ElementSize * (IDX))))
5645 +#include <ndkinfo.h>
5646 +#ifndef __MINGW32__
5647 +#include <ws2def.h>
5649 +#include <ws2ipdef.h>
5653 + typedef struct _NDIS_NDK_PERFORMANCE_COUNTERS {
5656 + ULONG64 ConnectFailure;
5657 + ULONG64 ConnectionError;
5658 + ULONG64 ActiveConnection;
5659 + ULONG64 Reserved01;
5660 + ULONG64 Reserved02;
5661 + ULONG64 Reserved03;
5662 + ULONG64 Reserved04;
5663 + ULONG64 Reserved05;
5664 + ULONG64 Reserved06;
5665 + ULONG64 Reserved07;
5666 + ULONG64 Reserved08;
5667 + ULONG64 Reserved09;
5668 + ULONG64 Reserved10;
5669 + ULONG64 Reserved11;
5670 + ULONG64 Reserved12;
5671 + ULONG64 Reserved13;
5672 + ULONG64 Reserved14;
5673 + ULONG64 Reserved15;
5674 + ULONG64 Reserved16;
5675 + ULONG64 Reserved17;
5676 + ULONG64 Reserved18;
5677 + ULONG64 Reserved19;
5678 + ULONG64 Reserved20;
5680 + ULONG64 RDMAInOctets;
5681 + ULONG64 RDMAOutOctets;
5682 + ULONG64 RDMAInFrames;
5683 + ULONG64 RDMAOutFrames;
5684 + } NDIS_NDK_PERFORMANCE_COUNTERS, *PNDIS_NDK_PERFORMANCE_COUNTERS;
5686 + typedef struct _NDIS_NDK_CAPABILITIES {
5687 + NDIS_OBJECT_HEADER Header;
5693 + ULONG MaxInboundReadLimit;
5694 + ULONG MaxOutboundReadLimit;
5696 + ULONG MaxSrqCount;
5697 + ULONG64 MissingCounterMask;
5698 + NDK_ADAPTER_INFO *NdkInfo;
5699 + } NDIS_NDK_CAPABILITIES, *PNDIS_NDK_CAPABILITIES;
5701 + typedef struct _NDK_WMI_ADAPTER_INFO {
5702 + NDK_VERSION Version;
5705 + ULONGLONG MaxRegistrationSize;
5706 + ULONGLONG MaxWindowSize;
5707 + ULONG FRMRPageCount;
5708 + ULONG MaxInitiatorRequestSge;
5709 + ULONG MaxReceiveRequestSge;
5710 + ULONG MaxReadRequestSge;
5711 + ULONG MaxTransferLength;
5712 + ULONG MaxInlineDataSize;
5713 + ULONG MaxInboundReadLimit;
5714 + ULONG MaxOutboundReadLimit;
5715 + ULONG MaxReceiveQueueDepth;
5716 + ULONG MaxInitiatorQueueDepth;
5717 + ULONG MaxSrqDepth;
5719 + ULONG LargeRequestThreshold;
5720 + ULONG MaxCallerData;
5721 + ULONG MaxCalleeData;
5722 + ULONG AdapterFlags;
5723 + } NDK_WMI_ADAPTER_INFO, *PNDK_WMI_ADAPTER_INFO;
5725 + typedef struct _NDIS_WMI_NDK_CAPABILITIES {
5730 + ULONG MaxInboundReadLimit;
5731 + ULONG MaxOutboundReadLimit;
5733 + ULONG MaxSrqCount;
5734 + ULONG64 MissingCounterMask;
5735 + NDK_WMI_ADAPTER_INFO NdkInfo;
5736 + } NDIS_WMI_NDK_CAPABILITIES, *PNDIS_WMI_NDK_CAPABILITIES;
5738 + typedef struct _NDIS_NDK_STATISTICS_INFO {
5739 + NDIS_OBJECT_HEADER Header;
5741 + NDIS_NDK_PERFORMANCE_COUNTERS CounterSet;
5742 + } NDIS_NDK_STATISTICS_INFO;
5744 + typedef struct _NDIS_NDK_CONNECTION_ENTRY {
5745 + SOCKADDR_INET Local;
5746 + SOCKADDR_INET Remote;
5747 + BOOLEAN UserModeOwner;
5749 + } NDIS_NDK_CONNECTION_ENTRY;
5751 + typedef struct _NDIS_NDK_CONNECTIONS {
5752 + NDIS_OBJECT_HEADER Header;
5755 + BOOLEAN NDConnectionsMappedtoTCPConnections;
5756 + NDIS_NDK_CONNECTION_ENTRY Connections[1];
5757 + } NDIS_NDK_CONNECTIONS;
5759 + typedef struct _NDIS_NDK_LOCAL_ENDPOINT_ENTRY {
5760 + SOCKADDR_INET Local;
5761 + BOOLEAN UserModeOwner;
5764 + } NDIS_NDK_LOCAL_ENDPOINT_ENTRY;
5766 + typedef struct _NDIS_NDK_LOCAL_ENDPOINTS {
5767 + NDIS_OBJECT_HEADER Header;
5770 + BOOLEAN NDLocalEndpointsMappedtoTCPLocalEndpoints;
5771 + NDIS_NDK_LOCAL_ENDPOINT_ENTRY LocalEndpoints[1];
5772 + } NDIS_NDK_LOCAL_ENDPOINTS;
5774 + typedef struct _NDIS_QOS_CAPABILITIES {
5775 + NDIS_OBJECT_HEADER Header;
5777 + ULONG MaxNumTrafficClasses;
5778 + ULONG MaxNumEtsCapableTrafficClasses;
5779 + ULONG MaxNumPfcEnabledTrafficClasses;
5780 + } NDIS_QOS_CAPABILITIES, *PNDIS_QOS_CAPABILITIES;
5782 + typedef struct _NDIS_QOS_CLASSIFICATION_ELEMENT {
5783 + NDIS_OBJECT_HEADER Header;
5785 + USHORT ConditionSelector;
5786 + USHORT ConditionField;
5787 + USHORT ActionSelector;
5788 + USHORT ActionField;
5789 + } NDIS_QOS_CLASSIFICATION_ELEMENT, *PNDIS_QOS_CLASSIFICATION_ELEMENT;
5791 + typedef struct _NDIS_QOS_PARAMETERS {
5792 + NDIS_OBJECT_HEADER Header;
5794 + ULONG NumTrafficClasses;
5795 + UCHAR PriorityAssignmentTable[NDIS_QOS_MAXIMUM_PRIORITIES];
5796 + UCHAR TcBandwidthAssignmentTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES];
5797 + UCHAR TsaAssignmentTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES];
5799 + ULONG NumClassificationElements;
5800 + ULONG ClassificationElementSize;
5801 + ULONG FirstClassificationElementOffset;
5802 + } NDIS_QOS_PARAMETERS, *PNDIS_QOS_PARAMETERS;
5804 + typedef NDIS_IF_COUNTED_STRING NDIS_NIC_SWITCH_FRIENDLYNAME, *PNDIS_NIC_SWITCH_FRIENDLYNAME;
5805 + typedef NDIS_IF_COUNTED_STRING NDIS_VPORT_NAME, *PNDIS_VPORT_NAME;
5806 + typedef ULONG NDIS_NIC_SWITCH_ID, *PNDIS_NIC_SWITCH_ID;
5807 + typedef USHORT NDIS_SRIOV_FUNCTION_ID, *PNDIS_SRIOV_FUNCTION_ID;
5808 + typedef ULONG NDIS_VF_RID, *PNDIS_VF_RID;
5810 + typedef enum _NDIS_NIC_SWITCH_TYPE {
5811 + NdisNicSwitchTypeUnspecified,
5812 + NdisNicSwitchTypeExternal,
5813 + NdisNicSwitchTypeMax
5814 + } NDIS_NIC_SWITCH_TYPE, *PNDIS_NIC_SWITCH_TYPE;
5816 + typedef struct _NDIS_NIC_SWITCH_PARAMETERS {
5817 + NDIS_OBJECT_HEADER Header;
5819 + NDIS_NIC_SWITCH_TYPE SwitchType;
5820 + NDIS_NIC_SWITCH_ID SwitchId;
5821 + NDIS_NIC_SWITCH_FRIENDLYNAME SwitchFriendlyName;
5823 + ULONG NdisReserved1;
5824 + ULONG NdisReserved2;
5825 + ULONG NdisReserved3;
5826 + } NDIS_NIC_SWITCH_PARAMETERS, *PNDIS_NIC_SWITCH_PARAMETERS;
5828 + typedef struct _NDIS_NIC_SWITCH_DELETE_SWITCH_PARAMETERS {
5829 + NDIS_OBJECT_HEADER Header;
5831 + NDIS_NIC_SWITCH_ID SwitchId;
5832 + } NDIS_NIC_SWITCH_DELETE_SWITCH_PARAMETERS, *PNDIS_NIC_SWITCH_DELETE_SWITCH_PARAMETERS;
5834 + typedef struct _NDIS_NIC_SWITCH_INFO {
5835 + NDIS_OBJECT_HEADER Header;
5837 + NDIS_NIC_SWITCH_TYPE SwitchType;
5838 + NDIS_NIC_SWITCH_ID SwitchId;
5839 + NDIS_NIC_SWITCH_FRIENDLYNAME SwitchFriendlyName;
5841 + ULONG NumAllocatedVFs;
5843 + ULONG NumActiveVPorts;
5844 + ULONG NumQueuePairsForDefaultVPort;
5845 + ULONG NumQueuePairsForNonDefaultVPorts;
5846 + ULONG NumActiveDefaultVPortMacAddresses;
5847 + ULONG NumActiveNonDefaultVPortMacAddresses;
5848 + ULONG NumActiveDefaultVPortVlanIds;
5849 + ULONG NumActiveNonDefaultVPortVlanIds;
5850 + } NDIS_NIC_SWITCH_INFO, *PNDIS_NIC_SWITCH_INFO;
5852 + typedef struct _NDIS_NIC_SWITCH_INFO_ARRAY {
5853 + NDIS_OBJECT_HEADER Header;
5854 + ULONG FirstElementOffset;
5855 + ULONG NumElements;
5856 + ULONG ElementSize;
5857 + } NDIS_NIC_SWITCH_INFO_ARRAY, *PNDIS_NIC_SWITCH_INFO_ARRAY;
5859 + typedef enum _NDIS_NIC_SWITCH_VPORT_STATE {
5860 + NdisNicSwitchVPortStateUndefined,
5861 + NdisNicSwitchVPortStateActivated,
5862 + NdisNicSwitchVPortStateDeactivated,
5863 + NdisNicSwitchVPortStateMaximum
5864 + } NDIS_NIC_SWITCH_VPORT_STATE, *PNDIS_NIC_SWITCH_VPORT_STATE;
5866 + typedef enum _NDIS_NIC_SWITCH_VPORT_INTERRUPT_MODERATION {
5867 + NdisNicSwitchVPortInterruptModerationUndefined = 0,
5868 + NdisNicSwitchVPortInterruptModerationAdaptive = 1,
5869 + NdisNicSwitchVPortInterruptModerationOff = 2,
5870 + NdisNicSwitchVPortInterruptModerationLow = 100,
5871 + NdisNicSwitchVPortInterruptModerationMedium = 200,
5872 + NdisNicSwitchVPortInterruptModerationHigh = 300,
5873 + } NDIS_NIC_SWITCH_VPORT_INTERRUPT_MODERATION, *PNDIS_NIC_SWITCH_VPORT_INTERRUPT_MODERATION;
5875 + typedef struct _NDIS_NIC_SWITCH_VPORT_PARAMETERS {
5876 + NDIS_OBJECT_HEADER Header;
5878 + NDIS_NIC_SWITCH_ID SwitchId;
5879 + NDIS_NIC_SWITCH_VPORT_ID VPortId;
5880 + NDIS_VPORT_NAME VPortName;
5881 + NDIS_SRIOV_FUNCTION_ID AttachedFunctionId;
5882 + ULONG NumQueuePairs;
5883 + NDIS_NIC_SWITCH_VPORT_INTERRUPT_MODERATION InterruptModeration;
5884 + NDIS_NIC_SWITCH_VPORT_STATE VPortState;
5885 + GROUP_AFFINITY ProcessorAffinity;
5886 + ULONG LookaheadSize;
5887 + } NDIS_NIC_SWITCH_VPORT_PARAMETERS, *PNDIS_NIC_SWITCH_VPORT_PARAMETERS;
5889 + typedef struct _NDIS_NIC_SWITCH_DELETE_VPORT_PARAMETERS {
5890 + NDIS_OBJECT_HEADER Header;
5892 + NDIS_NIC_SWITCH_VPORT_ID VPortId;
5893 + } NDIS_NIC_SWITCH_DELETE_VPORT_PARAMETERS, *PNDIS_NIC_SWITCH_DELETE_VPORT_PARAMETERS;
5895 + typedef struct _NDIS_NIC_SWITCH_VPORT_INFO {
5896 + NDIS_OBJECT_HEADER Header;
5897 + NDIS_NIC_SWITCH_VPORT_ID VPortId;
5899 + NDIS_NIC_SWITCH_ID SwitchId;
5900 + NDIS_VPORT_NAME VPortName;
5901 + NDIS_SRIOV_FUNCTION_ID AttachedFunctionId;
5902 + ULONG NumQueuePairs;
5903 + NDIS_NIC_SWITCH_VPORT_INTERRUPT_MODERATION InterruptModeration;
5904 + NDIS_NIC_SWITCH_VPORT_STATE VPortState;
5905 + GROUP_AFFINITY ProcessorAffinity;
5906 + ULONG LookaheadSize;
5908 + } NDIS_NIC_SWITCH_VPORT_INFO, *PNDIS_NIC_SWITCH_VPORT_INFO;
5910 + typedef struct _NDIS_NIC_SWITCH_VPORT_INFO_ARRAY {
5911 + NDIS_OBJECT_HEADER Header;
5913 + NDIS_NIC_SWITCH_ID SwitchId;
5914 + NDIS_SRIOV_FUNCTION_ID AttachedFunctionId;
5915 + ULONG FirstElementOffset;
5916 + ULONG NumElements;
5917 + ULONG ElementSize;
5918 + } NDIS_NIC_SWITCH_VPORT_INFO_ARRAY, *PNDIS_NIC_SWITCH_VPORT_INFO_ARRAY;
5920 + typedef struct _NDIS_NIC_SWITCH_VF_PARAMETERS {
5921 + NDIS_OBJECT_HEADER Header;
5923 + NDIS_NIC_SWITCH_ID SwitchId;
5924 + NDIS_VM_NAME VMName;
5925 + NDIS_VM_FRIENDLYNAME VMFriendlyName;
5926 + NDIS_SWITCH_NIC_NAME NicName;
5927 + USHORT MacAddressLength;
5928 + UCHAR PermanentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
5929 + UCHAR CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
5930 + NDIS_SRIOV_FUNCTION_ID VFId;
5931 + NDIS_VF_RID RequestorId;
5932 + } NDIS_NIC_SWITCH_VF_PARAMETERS, *PNDIS_NIC_SWITCH_VF_PARAMETERS;
5934 + typedef struct _NDIS_NIC_SWITCH_FREE_VF_PARAMETERS {
5935 + NDIS_OBJECT_HEADER Header;
5937 + NDIS_SRIOV_FUNCTION_ID VFId;
5938 + } NDIS_NIC_SWITCH_FREE_VF_PARAMETERS, *PNDIS_NIC_SWITCH_FREE_VF_PARAMETERS;
5940 + typedef struct _NDIS_NIC_SWITCH_VF_INFO {
5941 + NDIS_OBJECT_HEADER Header;
5943 + NDIS_NIC_SWITCH_ID SwitchId;
5944 + NDIS_VM_NAME VMName;
5945 + NDIS_VM_FRIENDLYNAME VMFriendlyName;
5946 + NDIS_SWITCH_NIC_NAME NicName;
5947 + USHORT MacAddressLength;
5948 + UCHAR PermanentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
5949 + UCHAR CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
5950 + NDIS_SRIOV_FUNCTION_ID VFId;
5951 + NDIS_VF_RID RequestorId;
5952 + } NDIS_NIC_SWITCH_VF_INFO, *PNDIS_NIC_SWITCH_VF_INFO;
5954 + typedef struct _NDIS_NIC_SWITCH_VF_INFO_ARRAY {
5955 + NDIS_OBJECT_HEADER Header;
5957 + NDIS_NIC_SWITCH_ID SwitchId;
5958 + ULONG FirstElementOffset;
5959 + ULONG NumElements;
5960 + ULONG ElementSize;
5961 + } NDIS_NIC_SWITCH_VF_INFO_ARRAY, *PNDIS_NIC_SWITCH_VF_INFO_ARRAY;
5963 + typedef struct _NDIS_SRIOV_CAPABILITIES {
5964 + NDIS_OBJECT_HEADER Header;
5966 + ULONG SriovCapabilities;
5967 + } NDIS_SRIOV_CAPABILITIES, *PNDIS_SRIOV_CAPABILITIES;
5969 + typedef struct _NDIS_SRIOV_READ_VF_CONFIG_SPACE_PARAMETERS {
5970 + NDIS_OBJECT_HEADER Header;
5971 + NDIS_SRIOV_FUNCTION_ID VFId;
5974 + ULONG BufferOffset;
5975 + } NDIS_SRIOV_READ_VF_CONFIG_SPACE_PARAMETERS, *PNDIS_SRIOV_READ_VF_CONFIG_SPACE_PARAMETERS;
5977 + typedef struct _NDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS {
5978 + NDIS_OBJECT_HEADER Header;
5979 + NDIS_SRIOV_FUNCTION_ID VFId;
5982 + ULONG BufferOffset;
5983 + } NDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS, *PNDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS;
5985 + typedef struct _NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS {
5986 + NDIS_OBJECT_HEADER Header;
5987 + NDIS_SRIOV_FUNCTION_ID VFId;
5990 + ULONG BufferOffset;
5991 + } NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS, *PNDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS;
5993 + typedef struct _NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS {
5994 + NDIS_OBJECT_HEADER Header;
5995 + NDIS_SRIOV_FUNCTION_ID VFId;
5998 + ULONG BufferOffset;
5999 + } NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS, *PNDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS;
6001 + typedef struct _NDIS_SRIOV_RESET_VF_PARAMETERS {
6002 + NDIS_OBJECT_HEADER Header;
6003 + NDIS_SRIOV_FUNCTION_ID VFId;
6004 + } NDIS_SRIOV_RESET_VF_PARAMETERS, *PNDIS_SRIOV_RESET_VF_PARAMETERS;
6006 + typedef struct _NDIS_SRIOV_SET_VF_POWER_STATE_PARAMETERS {
6007 + NDIS_OBJECT_HEADER Header;
6008 + NDIS_SRIOV_FUNCTION_ID VFId;
6009 + NDIS_DEVICE_POWER_STATE PowerState;
6010 + BOOLEAN WakeEnable;
6011 + } NDIS_SRIOV_SET_VF_POWER_STATE_PARAMETERS, *PNDIS_SRIOV_SET_VF_POWER_STATE_PARAMETERS;
6013 + typedef struct _NDIS_SRIOV_CONFIG_STATE_PARAMETERS {
6014 + NDIS_OBJECT_HEADER Header;
6017 + } NDIS_SRIOV_CONFIG_STATE_PARAMETERS, *PNDIS_SRIOV_CONFIG_STATE_PARAMETERS;
6019 + typedef struct _NDIS_SRIOV_VF_VENDOR_DEVICE_ID_INFO {
6020 + NDIS_OBJECT_HEADER Header;
6021 + NDIS_SRIOV_FUNCTION_ID VFId;
6024 + } NDIS_SRIOV_VF_VENDOR_DEVICE_ID_INFO, *PNDIS_SRIOV_VF_VENDOR_DEVICE_ID_INFO;
6026 + typedef struct _NDIS_SRIOV_PROBED_BARS_INFO {
6027 + NDIS_OBJECT_HEADER Header;
6028 + ULONG BaseRegisterValuesOffset;
6029 + } NDIS_SRIOV_PROBED_BARS_INFO, *PNDIS_SRIOV_PROBED_BARS_INFO;
6031 + typedef struct _NDIS_RECEIVE_FILTER_MOVE_FILTER_PARAMETERS {
6032 + NDIS_OBJECT_HEADER Header;
6033 + NDIS_RECEIVE_FILTER_ID FilterId;
6034 + NDIS_RECEIVE_QUEUE_ID SourceQueueId;
6035 + NDIS_NIC_SWITCH_VPORT_ID SourceVPortId;
6036 + NDIS_RECEIVE_QUEUE_ID DestQueueId;
6037 + NDIS_NIC_SWITCH_VPORT_ID DestVPortId;
6038 + } NDIS_RECEIVE_FILTER_MOVE_FILTER_PARAMETERS, *PNDIS_RECEIVE_FILTER_MOVE_FILTER_PARAMETERS;
6040 + typedef struct _NDIS_SRIOV_BAR_RESOURCES_INFO {
6041 + NDIS_OBJECT_HEADER Header;
6042 + NDIS_SRIOV_FUNCTION_ID VFId;
6044 + ULONG BarResourcesOffset;
6045 + } NDIS_SRIOV_BAR_RESOURCES_INFO, *PNDIS_SRIOV_BAR_RESOURCES_INFO;
6047 + typedef struct _NDIS_SRIOV_PF_LUID_INFO {
6048 + NDIS_OBJECT_HEADER Header;
6050 + } NDIS_SRIOV_PF_LUID_INFO, *PNDIS_SRIOV_PF_LUID_INFO;
6052 + typedef struct _NDIS_SRIOV_VF_SERIAL_NUMBER_INFO {
6053 + NDIS_OBJECT_HEADER Header;
6054 + ULONG SerialNumber;
6055 + } NDIS_SRIOV_VF_SERIAL_NUMBER_INFO, *PNDIS_SRIOV_VF_SERIAL_NUMBER_INFO;
6057 + typedef struct _NDIS_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO {
6058 + NDIS_OBJECT_HEADER Header;
6059 + ULONG64 BlockMask;
6060 + } NDIS_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO, *PNDIS_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO;
6062 + typedef GUID NDIS_SWITCH_OBJECT_INSTANCE_ID, *PNDIS_SWITCH_OBJECT_INSTANCE_ID;
6063 + typedef GUID NDIS_SWITCH_OBJECT_ID, *PNDIS_SWITCH_OBJECT_ID;
6064 + typedef USHORT NDIS_SWITCH_OBJECT_VERSION, *PNDIS_SWITCH_OBJECT_VERSION;
6065 + typedef USHORT NDIS_SWITCH_OBJECT_SERIALIZATION_VERSION, *PNDIS_SWITCH_OBJECT_SERIALIZATION_VERSION;
6066 +#ifndef _NDIS_SWITCH_PORT_ID
6067 +#define _NDIS_SWITCH_PORT_ID NDIS_SWITCH_PORT_ID
6068 + typedef UINT32 NDIS_SWITCH_PORT_ID, *PNDIS_SWITCH_PORT_ID;
6069 + typedef USHORT NDIS_SWITCH_NIC_INDEX, *PNDIS_SWITCH_NIC_INDEX;
6072 + typedef enum _NDIS_SWITCH_PORT_PROPERTY_TYPE {
6073 + NdisSwitchPortPropertyTypeUndefined,
6074 + NdisSwitchPortPropertyTypeCustom,
6075 + NdisSwitchPortPropertyTypeSecurity,
6076 + NdisSwitchPortPropertyTypeVlan,
6077 + NdisSwitchPortPropertyTypeProfile,
6078 + NdisSwitchPortPropertyTypeMaximum
6079 + } NDIS_SWITCH_PORT_PROPERTY_TYPE, *PNDIS_SWITCH_PORT_PROPERTY_TYPE;
6081 + typedef struct _NDIS_SWITCH_PORT_PROPERTY_SECURITY {
6082 + NDIS_OBJECT_HEADER Header;
6084 + BOOLEAN AllowMacSpoofing;
6085 + BOOLEAN AllowIeeePriorityTag;
6086 + UINT32 VirtualSubnetId;
6087 + BOOLEAN AllowTeaming;
6088 + } NDIS_SWITCH_PORT_PROPERTY_SECURITY, *PNDIS_SWITCH_PORT_PROPERTY_SECURITY;
6090 + typedef enum _NDIS_SWITCH_PORT_VLAN_MODE {
6091 + NdisSwitchPortVlanModeUnknown = 0,
6092 + NdisSwitchPortVlanModeAccess = 1,
6093 + NdisSwitchPortVlanModeTrunk = 2,
6094 + NdisSwitchPortVlanModePrivate = 3,
6095 + NdisSwitchPortVlanModeMax = 4
6096 + } NDIS_SWITCH_PORT_VLAN_MODE, *PNDIS_SWITCH_PORT_VLAN_MODE;
6098 + typedef enum _NDIS_SWITCH_PORT_PVLAN_MODE {
6099 + NdisSwitchPortPvlanModeUndefined = 0,
6100 + NdisSwitchPortPvlanModeIsolated,
6101 + NdisSwitchPortPvlanModeCommunity,
6102 + NdisSwitchPortPvlanModePromiscuous
6103 + } NDIS_SWITCH_PORT_PVLAN_MODE, *PNDIS_SWITCH_PORT_PVLAN_MODE;
6105 + typedef struct _NDIS_SWITCH_PORT_PROPERTY_VLAN {
6106 + NDIS_OBJECT_HEADER Header;
6108 + NDIS_SWITCH_PORT_VLAN_MODE OperationMode;
6109 + _ANONYMOUS_UNION union {
6111 + UINT16 AccessVlanId;
6112 + UINT16 NativeVlanId;
6113 + UINT64 PruneVlanIdArray[64];
6114 + UINT64 TrunkVlanIdArray[64];
6117 + NDIS_SWITCH_PORT_PVLAN_MODE PvlanMode;
6118 + UINT16 PrimaryVlanId;
6119 + _ANONYMOUS_UNION union {
6120 + UINT16 SecondaryVlanId;
6121 + UINT64 SecondaryVlanIdArray[64];
6123 + } PvlanProperties;
6125 + } NDIS_SWITCH_PORT_PROPERTY_VLAN, *PNDIS_SWITCH_PORT_PROPERTY_VLAN;
6127 + typedef struct _NDIS_SWITCH_PORT_PROPERTY_PROFILE {
6128 + NDIS_OBJECT_HEADER Header;
6130 + NDIS_SWITCH_PORT_PROPERTY_PROFILE_NAME ProfileName;
6132 + NDIS_VENDOR_NAME VendorName;
6134 + UINT32 ProfileData;
6135 + GUID NetCfgInstanceId;
6137 + UINT32 PciSegmentNumber:16;
6138 + UINT32 PciBusNumber:8;
6139 + UINT32 PciDeviceNumber:5;
6140 + UINT32 PciFunctionNumber:3;
6142 + UINT32 CdnLabelId;
6143 + NDIS_SWITCH_PORT_PROPERTY_PROFILE_CDN_LABEL CdnLabel;
6144 + } NDIS_SWITCH_PORT_PROPERTY_PROFILE, *PNDIS_SWITCH_PORT_PROPERTY_PROFILE;
6146 + typedef struct _NDIS_SWITCH_PORT_PROPERTY_CUSTOM {
6147 + NDIS_OBJECT_HEADER Header;
6149 + ULONG PropertyBufferLength;
6150 + ULONG PropertyBufferOffset;
6151 + } NDIS_SWITCH_PORT_PROPERTY_CUSTOM, *PNDIS_SWITCH_PORT_PROPERTY_CUSTOM;
6153 + typedef struct _NDIS_SWITCH_PORT_PROPERTY_PARAMETERS {
6154 + NDIS_OBJECT_HEADER Header;
6156 + NDIS_SWITCH_PORT_ID PortId;
6157 + NDIS_SWITCH_PORT_PROPERTY_TYPE PropertyType;
6158 + NDIS_SWITCH_OBJECT_ID PropertyId;
6159 + NDIS_SWITCH_OBJECT_VERSION PropertyVersion;
6160 + NDIS_SWITCH_OBJECT_SERIALIZATION_VERSION SerializationVersion;
6161 + NDIS_SWITCH_OBJECT_INSTANCE_ID PropertyInstanceId;
6162 + ULONG PropertyBufferLength;
6163 + ULONG PropertyBufferOffset;
6165 + } NDIS_SWITCH_PORT_PROPERTY_PARAMETERS, *PNDIS_SWITCH_PORT_PROPERTY_PARAMETERS;
6167 + typedef struct _NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS {
6168 + NDIS_OBJECT_HEADER Header;
6170 + NDIS_SWITCH_PORT_ID PortId;
6171 + NDIS_SWITCH_PORT_PROPERTY_TYPE PropertyType;
6172 + NDIS_SWITCH_OBJECT_ID PropertyId;
6173 + NDIS_SWITCH_OBJECT_INSTANCE_ID PropertyInstanceId;
6174 + } NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS, *PNDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS;
6176 + typedef struct _NDIS_SWITCH_PORT_PROPERTY_ENUM_PARAMETERS {
6177 + NDIS_OBJECT_HEADER Header;
6179 + NDIS_SWITCH_PORT_ID PortId;
6180 + NDIS_SWITCH_PORT_PROPERTY_TYPE PropertyType;
6181 + NDIS_SWITCH_OBJECT_ID PropertyId;
6182 + NDIS_SWITCH_OBJECT_SERIALIZATION_VERSION SerializationVersion;
6183 + ULONG FirstPropertyOffset;
6184 + ULONG NumProperties;
6186 + } NDIS_SWITCH_PORT_PROPERTY_ENUM_PARAMETERS, *PNDIS_SWITCH_PORT_PROPERTY_ENUM_PARAMETERS;
6188 + typedef struct _NDIS_SWITCH_PORT_PROPERTY_ENUM_INFO {
6189 + NDIS_OBJECT_HEADER Header;
6191 + NDIS_SWITCH_OBJECT_VERSION PropertyVersion;
6192 + NDIS_SWITCH_OBJECT_INSTANCE_ID PropertyInstanceId;
6193 + ULONG QwordAlignedPropertyBufferLength;
6194 + ULONG PropertyBufferLength;
6195 + ULONG PropertyBufferOffset;
6196 + } NDIS_SWITCH_PORT_PROPERTY_ENUM_INFO, *PNDIS_SWITCH_PORT_PROPERTY_ENUM_INFO;
6198 + typedef enum _NDIS_SWITCH_PORT_FEATURE_STATUS_TYPE {
6199 + NdisSwitchPortFeatureStatusTypeUndefined,
6200 + NdisSwitchPortFeatureStatusTypeCustom,
6201 + NdisSwitchPortFeatureStatusTypeMaximum
6202 + } NDIS_SWITCH_PORT_FEATURE_STATUS_TYPE, *PNDIS_SWITCH_PORT_FEATURE_STATUS_TYPE;
6204 + typedef struct _NDIS_SWITCH_PORT_FEATURE_STATUS_PARAMETERS {
6205 + NDIS_OBJECT_HEADER Header;
6207 + NDIS_SWITCH_PORT_ID PortId;
6208 + NDIS_SWITCH_PORT_FEATURE_STATUS_TYPE FeatureStatusType;
6209 + NDIS_SWITCH_OBJECT_ID FeatureStatusId;
6210 + NDIS_SWITCH_OBJECT_VERSION FeatureStatusVersion;
6211 + NDIS_SWITCH_OBJECT_SERIALIZATION_VERSION SerializationVersion;
6212 + NDIS_SWITCH_OBJECT_INSTANCE_ID FeatureStatusInstanceId;
6213 + ULONG FeatureStatusBufferLength;
6214 + ULONG FeatureStatusBufferOffset;
6216 + } NDIS_SWITCH_PORT_FEATURE_STATUS_PARAMETERS, *PNDIS_SWITCH_PORT_FEATURE_STATUS_PARAMETERS;
6218 + typedef struct _NDIS_SWITCH_PORT_FEATURE_STATUS_CUSTOM {
6219 + NDIS_OBJECT_HEADER Header;
6221 + ULONG FeatureStatusBufferLength;
6222 + ULONG FeatureStatusBufferOffset;
6223 + } NDIS_SWITCH_PORT_FEATURE_STATUS_CUSTOM, *PNDIS_SWITCH_PORT_FEATURE_STATUS_CUSTOM;
6225 + typedef enum _NDIS_SWITCH_PROPERTY_TYPE {
6226 + NdisSwitchPropertyTypeUndefined,
6227 + NdisSwitchPropertyTypeCustom,
6228 + NdisSwitchPropertyTypeMaximum
6229 + } NDIS_SWITCH_PROPERTY_TYPE, *PNDIS_SWITCH_PROPERTY_TYPE;
6231 + typedef struct _NDIS_SWITCH_PROPERTY_CUSTOM {
6232 + NDIS_OBJECT_HEADER Header;
6234 + ULONG PropertyBufferLength;
6235 + ULONG PropertyBufferOffset;
6236 + } NDIS_SWITCH_PROPERTY_CUSTOM, *PNDIS_SWITCH_PROPERTY_CUSTOM;
6238 + typedef struct _NDIS_SWITCH_PROPERTY_PARAMETERS {
6239 + NDIS_OBJECT_HEADER Header;
6241 + NDIS_SWITCH_PROPERTY_TYPE PropertyType;
6242 + NDIS_SWITCH_OBJECT_ID PropertyId;
6243 + NDIS_SWITCH_OBJECT_VERSION PropertyVersion;
6244 + NDIS_SWITCH_OBJECT_SERIALIZATION_VERSION SerializationVersion;
6245 + NDIS_SWITCH_OBJECT_INSTANCE_ID PropertyInstanceId;
6246 + ULONG PropertyBufferLength;
6247 + ULONG PropertyBufferOffset;
6248 + } NDIS_SWITCH_PROPERTY_PARAMETERS, *PNDIS_SWITCH_PROPERTY_PARAMETERS;
6250 + typedef struct _NDIS_SWITCH_PROPERTY_DELETE_PARAMETERS {
6251 + NDIS_OBJECT_HEADER Header;
6253 + NDIS_SWITCH_PROPERTY_TYPE PropertyType;
6254 + NDIS_SWITCH_OBJECT_ID PropertyId;
6255 + NDIS_SWITCH_OBJECT_INSTANCE_ID PropertyInstanceId;
6256 + } NDIS_SWITCH_PROPERTY_DELETE_PARAMETERS, *PNDIS_SWITCH_PROPERTY_DELETE_PARAMETERS;
6258 + typedef struct _NDIS_SWITCH_PROPERTY_ENUM_INFO {
6259 + NDIS_OBJECT_HEADER Header;
6261 + NDIS_SWITCH_OBJECT_INSTANCE_ID PropertyInstanceId;
6262 + NDIS_SWITCH_OBJECT_VERSION PropertyVersion;
6263 + ULONG QwordAlignedPropertyBufferLength;
6264 + ULONG PropertyBufferLength;
6265 + ULONG PropertyBufferOffset;
6266 + } NDIS_SWITCH_PROPERTY_ENUM_INFO, *PNDIS_SWITCH_PROPERTY_ENUM_INFO;
6268 + typedef struct _NDIS_SWITCH_PROPERTY_ENUM_PARAMETERS {
6269 + NDIS_OBJECT_HEADER Header;
6271 + NDIS_SWITCH_PROPERTY_TYPE PropertyType;
6272 + NDIS_SWITCH_OBJECT_ID PropertyId;
6273 + NDIS_SWITCH_OBJECT_SERIALIZATION_VERSION SerializationVersion;
6274 + ULONG FirstPropertyOffset;
6275 + ULONG NumProperties;
6276 + } NDIS_SWITCH_PROPERTY_ENUM_PARAMETERS, *PNDIS_SWITCH_PROPERTY_ENUM_PARAMETERS;
6278 + typedef enum _NDIS_SWITCH_FEATURE_STATUS_TYPE {
6279 + NdisSwitchFeatureStatusTypeUndefined,
6280 + NdisSwitchFeatureStatusTypeCustom,
6281 + NdisSwitchFeatureStatusTypeMaximum
6282 + } NDIS_SWITCH_FEATURE_STATUS_TYPE, *PNDIS_SWITCH_FEATURE_STATUS_TYPE;
6284 + typedef struct _NDIS_SWITCH_FEATURE_STATUS_PARAMETERS {
6285 + NDIS_OBJECT_HEADER Header;
6287 + NDIS_SWITCH_FEATURE_STATUS_TYPE FeatureStatusType;
6288 + NDIS_SWITCH_OBJECT_ID FeatureStatusId;
6289 + NDIS_SWITCH_OBJECT_INSTANCE_ID FeatureStatusInstanceId;
6290 + NDIS_SWITCH_OBJECT_VERSION FeatureStatusVersion;
6291 + NDIS_SWITCH_OBJECT_SERIALIZATION_VERSION SerializationVersion;
6292 + ULONG FeatureStatusBufferOffset;
6293 + ULONG FeatureStatusBufferLength;
6294 + } NDIS_SWITCH_FEATURE_STATUS_PARAMETERS, *PNDIS_SWITCH_FEATURE_STATUS_PARAMETERS;
6296 + typedef struct _NDIS_SWITCH_FEATURE_STATUS_CUSTOM {
6297 + NDIS_OBJECT_HEADER Header;
6299 + ULONG FeatureStatusCustomBufferLength;
6300 + ULONG FeatureStatusCustomBufferOffset;
6301 + } NDIS_SWITCH_FEATURE_STATUS_CUSTOM, *PNDIS_SWITCH_FEATURE_STATUS_CUSTOM;
6303 + typedef struct _NDIS_SWITCH_PARAMETERS {
6304 + NDIS_OBJECT_HEADER Header;
6306 + NDIS_SWITCH_NAME SwitchName;
6307 + NDIS_SWITCH_FRIENDLYNAME SwitchFriendlyName;
6308 + UINT32 NumSwitchPorts;
6310 + } NDIS_SWITCH_PARAMETERS, *PNDIS_SWITCH_PARAMETERS;
6312 + typedef enum _NDIS_SWITCH_PORT_TYPE {
6313 + NdisSwitchPortTypeGeneric = 0,
6314 + NdisSwitchPortTypeExternal = 1,
6315 + NdisSwitchPortTypeSynthetic = 2,
6316 + NdisSwitchPortTypeEmulated = 3,
6317 + NdisSwitchPortTypeInternal = 4
6318 + } NDIS_SWITCH_PORT_TYPE;
6320 + typedef enum _NDIS_SWITCH_PORT_STATE {
6321 + NdisSwitchPortStateUnknown = 0,
6322 + NdisSwitchPortStateCreated = 1,
6323 + NdisSwitchPortStateTeardown = 2,
6324 + NdisSwitchPortStateDeleted = 3
6325 + } NDIS_SWITCH_PORT_STATE;
6327 + typedef struct _NDIS_SWITCH_PORT_PARAMETERS {
6328 + NDIS_OBJECT_HEADER Header;
6330 + NDIS_SWITCH_PORT_ID PortId;
6331 + NDIS_SWITCH_PORT_NAME PortName;
6332 + NDIS_SWITCH_PORT_FRIENDLYNAME PortFriendlyName;
6333 + NDIS_SWITCH_PORT_TYPE PortType;
6334 + BOOLEAN IsValidationPort;
6335 + NDIS_SWITCH_PORT_STATE PortState;
6336 + } NDIS_SWITCH_PORT_PARAMETERS, *PNDIS_SWITCH_PORT_PARAMETERS;
6338 + typedef struct _NDIS_SWITCH_PORT_ARRAY {
6339 + NDIS_OBJECT_HEADER Header;
6341 + USHORT FirstElementOffset;
6342 + ULONG NumElements;
6343 + ULONG ElementSize;
6344 + } NDIS_SWITCH_PORT_ARRAY, *PNDIS_SWITCH_PORT_ARRAY;
6346 + typedef enum _NDIS_SWITCH_NIC_TYPE {
6347 + NdisSwitchNicTypeExternal = 0,
6348 + NdisSwitchNicTypeSynthetic = 1,
6349 + NdisSwitchNicTypeEmulated = 2,
6350 + NdisSwitchNicTypeInternal = 3
6351 + } NDIS_SWITCH_NIC_TYPE;
6353 + typedef enum _NDIS_SWITCH_NIC_STATE {
6354 + NdisSwitchNicStateUnknown = 0,
6355 + NdisSwitchNicStateCreated = 1,
6356 + NdisSwitchNicStateConnected = 2,
6357 + NdisSwitchNicStateDisconnected = 3,
6358 + NdisSwitchNicStateDeleted = 4
6359 + } NDIS_SWITCH_NIC_STATE;
6361 + typedef struct _NDIS_SWITCH_NIC_PARAMETERS {
6362 + NDIS_OBJECT_HEADER Header;
6364 + NDIS_SWITCH_NIC_NAME NicName;
6365 + NDIS_SWITCH_NIC_FRIENDLYNAME NicFriendlyName;
6366 + NDIS_SWITCH_PORT_ID PortId;
6367 + NDIS_SWITCH_NIC_INDEX NicIndex;
6368 + NDIS_SWITCH_NIC_TYPE NicType;
6369 + NDIS_SWITCH_NIC_STATE NicState;
6370 + NDIS_VM_NAME VmName;
6371 + NDIS_VM_FRIENDLYNAME VmFriendlyName;
6372 + GUID NetCfgInstanceId;
6374 + USHORT NumaNodeId;
6375 + UCHAR PermanentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
6376 + UCHAR VMMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
6377 + UCHAR CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
6378 + BOOLEAN VFAssigned;
6379 + } NDIS_SWITCH_NIC_PARAMETERS, *PNDIS_SWITCH_NIC_PARAMETERS;
6381 + typedef struct _NDIS_SWITCH_NIC_ARRAY {
6382 + NDIS_OBJECT_HEADER Header;
6384 + USHORT FirstElementOffset;
6385 + ULONG NumElements;
6386 + ULONG ElementSize;
6387 + } NDIS_SWITCH_NIC_ARRAY, *PNDIS_SWITCH_NIC_ARRAY;
6389 + typedef struct _NDIS_OID_REQUEST NDIS_OID_REQUEST, *PNDIS_OID_REQUEST;
6391 + typedef struct _NDIS_SWITCH_NIC_OID_REQUEST {
6392 + NDIS_OBJECT_HEADER Header;
6394 + NDIS_SWITCH_PORT_ID SourcePortId;
6395 + NDIS_SWITCH_NIC_INDEX SourceNicIndex;
6396 + NDIS_SWITCH_PORT_ID DestinationPortId;
6397 + NDIS_SWITCH_NIC_INDEX DestinationNicIndex;
6398 + PNDIS_OID_REQUEST OidRequest;
6399 + } NDIS_SWITCH_NIC_OID_REQUEST, *PNDIS_SWITCH_NIC_OID_REQUEST;
6401 + typedef struct _NDIS_SWITCH_NIC_SAVE_STATE {
6402 + NDIS_OBJECT_HEADER Header;
6404 + NDIS_SWITCH_PORT_ID PortId;
6405 + NDIS_SWITCH_NIC_INDEX NicIndex;
6407 + NDIS_SWITCH_EXTENSION_FRIENDLYNAME ExtensionFriendlyName;
6408 + GUID FeatureClassId;
6409 + USHORT SaveDataSize;
6410 + USHORT SaveDataOffset;
6411 + } NDIS_SWITCH_NIC_SAVE_STATE, *PNDIS_SWITCH_NIC_SAVE_STATE;
6414 + typedef struct _NDIS_PORT_STATE {
6415 + NDIS_OBJECT_HEADER Header;
6416 + NDIS_MEDIA_CONNECT_STATE MediaConnectState;
6417 + ULONG64 XmitLinkSpeed;
6418 + ULONG64 RcvLinkSpeed;
6419 + NET_IF_DIRECTION_TYPE Direction;
6420 + NDIS_PORT_CONTROL_STATE SendControlState;
6421 + NDIS_PORT_CONTROL_STATE RcvControlState;
6422 + NDIS_PORT_AUTHORIZATION_STATE SendAuthorizationState;
6423 + NDIS_PORT_AUTHORIZATION_STATE RcvAuthorizationState;
6425 + } NDIS_PORT_STATE, *PNDIS_PORT_STATE;
6427 + typedef struct _NDIS_PORT_CHARACTERISTICS {
6428 + NDIS_OBJECT_HEADER Header;
6429 + NDIS_PORT_NUMBER PortNumber;
6431 + NDIS_PORT_TYPE Type;
6432 + NDIS_MEDIA_CONNECT_STATE MediaConnectState;
6433 + ULONG64 XmitLinkSpeed;
6434 + ULONG64 RcvLinkSpeed;
6435 + NET_IF_DIRECTION_TYPE Direction;
6436 + NDIS_PORT_CONTROL_STATE SendControlState;
6437 + NDIS_PORT_CONTROL_STATE RcvControlState;
6438 + NDIS_PORT_AUTHORIZATION_STATE SendAuthorizationState;
6439 + NDIS_PORT_AUTHORIZATION_STATE RcvAuthorizationState;
6440 + } NDIS_PORT_CHARACTERISTICS, *PNDIS_PORT_CHARACTERISTICS;
6442 + typedef struct _NDIS_PORT NDIS_PORT, *PNDIS_PORT;
6444 + struct _NDIS_PORT {
6446 + PVOID NdisReserved;
6447 + PVOID MiniportReserved;
6448 + PVOID ProtocolReserved;
6449 + NDIS_PORT_CHARACTERISTICS PortCharacteristics;
6452 + typedef struct _NDIS_PORT_ARRAY {
6453 + NDIS_OBJECT_HEADER Header;
6454 + ULONG NumberOfPorts;
6455 + ULONG OffsetFirstPort;
6456 + ULONG ElementSize;
6457 + NDIS_PORT_CHARACTERISTICS Ports[1];
6458 + } NDIS_PORT_ARRAY, *PNDIS_PORT_ARRAY;
6470 --- w32api-5.0.2/include/ndkinfo.h.orig 1970-01-01 01:00:00.000000000 +0100
6471 +++ w32api-5.0.2/include/ndkinfo.h 2018-09-22 09:40:16.426289627 +0200
6473 +/* https://github.com/Alexpux/mingw-w64/raw/master/mingw-w64-headers/include/ndkinfo.h */
6475 + * This file is part of the mingw-w64 runtime package.
6476 + * No warranty is given; refer to the file DISCLAIMER within this package.
6479 +#ifndef _NDKINFO_H_
6480 +#define _NDKINFO_H_
6483 +#include <winapifamily.h>
6485 +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
6488 +#define NDK_ADAPTER_FLAG_IN_ORDER_DMA_SUPPORTED 0x1
6489 +#define NDK_ADAPTER_FLAG_RDMA_READ_SINK_NOT_REQUIRED 0x2
6490 +#define NDK_ADAPTER_FLAG_CQ_INTERRUPT_MODERATION_SUPPORTED 0x4
6491 +#define NDK_ADAPTER_FLAG_MULTI_ENGINE_SUPPORTED 0x8
6492 +#define NDK_ADAPTER_FLAG_CQ_RESIZE_SUPPORTED 0x100
6493 +#define NDK_ADAPTER_FLAG_LOOPBACK_CONNECTIONS_SUPPORTED 0x10000
6500 +typedef struct _NDK_ADAPTER_INFO {
6501 + NDK_VERSION Version;
6504 + SIZE_T MaxRegistrationSize;
6505 + SIZE_T MaxWindowSize;
6506 + ULONG FRMRPageCount;
6507 + ULONG MaxInitiatorRequestSge;
6508 + ULONG MaxReceiveRequestSge;
6509 + ULONG MaxReadRequestSge;
6510 + ULONG MaxTransferLength;
6511 + ULONG MaxInlineDataSize;
6512 + ULONG MaxInboundReadLimit;
6513 + ULONG MaxOutboundReadLimit;
6514 + ULONG MaxReceiveQueueDepth;
6515 + ULONG MaxInitiatorQueueDepth;
6516 + ULONG MaxSrqDepth;
6518 + ULONG LargeRequestThreshold;
6519 + ULONG MaxCallerData;
6520 + ULONG MaxCalleeData;
6521 + ULONG AdapterFlags;
6522 +} NDK_ADAPTER_INFO;
6528 --- w32api-5.0.2/include/winsock2.h.orig 2017-11-28 14:28:34.000000000 +0100
6529 +++ w32api-5.0.2/include/winsock2.h 2018-09-24 21:27:52.022015050 +0200
6531 typedef int (PASCAL *LPFN_WSAASYNCSELECT) (SOCKET, HWND, u_int, long);
6533 typedef struct sockaddr_storage SOCKADDR_STORAGE, *PSOCKADDR_STORAGE;
6534 +typedef u_short ADDRESS_FAMILY;
6536 WINSOCK_API_LINKAGE SOCKET WINAPI WSAAccept (SOCKET, struct sockaddr *, LPINT, LPCONDITIONPROC, DWORD);
6538 --- w32api/include/iptypes.h.orig 2017-11-28 19:03:04.000000000 +0100
6539 +++ w32api/include/iptypes.h 2018-09-24 21:51:51.068665286 +0200
6540 @@ -124,6 +124,16 @@
6541 ScopeLevelOrganization = 8,
6542 ScopeLevelGlobal = 14
6543 +, ScopeLevelCount = 16
6545 +typedef struct _SCOPE_ID {
6546 + _ANONYMOUS_UNION union {
6547 + _ANONYMOUS_STRUCT struct {
6553 +} SCOPE_ID, *PSCOPE_ID;
6557 --- w32api-5.0.2/lib/iphlpapi.def.orig 2017-11-09 02:35:48.000000000 +0100
6558 +++ w32api-5.0.2/lib/iphlpapi.def 2018-09-26 15:56:52.920268737 +0200
6560 LIBRARY IPHLPAPI.DLL
6563 +AllocateAndGetInterfaceInfoFromStack@20
6564 +AllocateAndGetIpAddrTableFromStack@16
6565 +CPNatfwtCreateProviderInstance@20
6566 +CPNatfwtDeregisterProviderInstance@4
6567 +CPNatfwtDestroyProviderInstance@4
6568 +CPNatfwtIndicateReceivedBuffers@24
6569 +CPNatfwtRegisterProviderInstance@20
6570 +CancelIPChangeNotify@4
6571 +CancelMibChangeNotify2@4
6572 +ConvertGuidToStringA@12
6573 +ConvertGuidToStringW@12
6574 +ConvertInterfaceAliasToLuid@8
6575 +ConvertInterfaceGuidToLuid@8
6576 +ConvertInterfaceIndexToLuid@8
6577 +ConvertInterfaceLuidToAlias@12
6578 +ConvertInterfaceLuidToGuid@8
6579 +ConvertInterfaceLuidToIndex@8
6580 +ConvertInterfaceLuidToNameA@12
6581 +ConvertInterfaceLuidToNameW@12
6582 +ConvertInterfaceNameToLuidA@8
6583 +ConvertInterfaceNameToLuidW@8
6584 +ConvertInterfacePhysicalAddressToLuid@12
6585 +ConvertIpv4MaskToLength@8
6586 +ConvertLengthToIpv4Mask@8
6587 +ConvertRemoteInterfaceAliasToLuid@12
6588 +ConvertRemoteInterfaceGuidToLuid@12
6589 +ConvertRemoteInterfaceIndexToLuid@12
6590 +ConvertRemoteInterfaceLuidToAlias@16
6591 +ConvertRemoteInterfaceLuidToGuid@12
6592 +ConvertRemoteInterfaceLuidToIndex@12
6593 +ConvertStringToGuidA@8
6594 +ConvertStringToGuidW@8
6595 +ConvertStringToInterfacePhysicalAddress@8
6596 +CreateAnycastIpAddressEntry@4
6597 +CreateIpForwardEntry2@4
6598 CreateIpForwardEntry@4
6599 +CreateIpNetEntry2@4
6601 +CreatePersistentTcpPortReservation@12
6602 +CreatePersistentUdpPortReservation@12
6603 CreateProxyArpEntry@12
6604 +CreateSortedAddressPairs@28
6605 +CreateUnicastIpAddressEntry@4
6606 +DeleteAnycastIpAddressEntry@4
6608 +DeleteIpForwardEntry2@4
6609 DeleteIpForwardEntry@4
6610 +DeleteIpNetEntry2@4
6612 +DeletePersistentTcpPortReservation@8
6613 +DeletePersistentUdpPortReservation@8
6614 DeleteProxyArpEntry@12
6615 +DeleteUnicastIpAddressEntry@4
6616 +DisableMediaSense@8
6620 -GetAdaptersAddresses@20
6624 +GetAdapterOrderMap@0
6625 +GetAdaptersAddresses@20
6627 +GetAnycastIpAddressEntry@4
6628 +GetAnycastIpAddressTable@8
6630 +GetBestInterfaceEx@8
6633 +GetCurrentThreadCompartmentId@0
6634 GetExtendedTcpTable@24
6635 +GetExtendedUdpTable@24
6636 GetFriendlyIfIndex@4
6638 +GetIcmpStatisticsEx@8
6646 +GetInvertedIfStackTable@4
6648 +GetIpErrorString@12
6649 +GetIpForwardEntry2@4
6650 +GetIpForwardTable2@8
6651 GetIpForwardTable@12
6652 +GetIpInterfaceEntry@4
6653 +GetIpInterfaceTable@8
6660 +GetIpStatisticsEx@8
6661 +GetMulticastIpAddressEntry@4
6662 +GetMulticastIpAddressTable@8
6663 +GetNetworkInformation@20
6665 GetNumberOfInterfaces@4
6666 +GetOwnerModuleFromPidAndInfo@20
6667 +GetOwnerModuleFromTcp6Entry@16
6668 +GetOwnerModuleFromTcpEntry@16
6669 +GetOwnerModuleFromUdp6Entry@16
6670 +GetOwnerModuleFromUdpEntry@16
6671 GetPerAdapterInfo@12
6672 +GetPerTcp6ConnectionEStats@44
6673 +GetPerTcp6ConnectionStats@32
6674 +GetPerTcpConnectionEStats@44
6675 +GetPerTcpConnectionStats@32
6676 GetRTTAndHopCount@16
6677 +GetSessionCompartmentId@4
6681 +GetTcpStatisticsEx@8
6687 +GetUdpStatisticsEx@8
6689 GetUniDirectionalAdapterInfo@8
6690 +GetUnicastIpAddressEntry@4
6691 +GetUnicastIpAddressTable@8
6693 +Icmp6ParseReplies@8
6701 +InitializeIpForwardEntry@4
6702 +InitializeIpInterfaceEntry@4
6703 +InitializeUnicastIpAddressEntry@4
6704 +InternalCleanupPersistentStore@8
6705 +InternalCreateAnycastIpAddressEntry@8
6706 +InternalCreateIpForwardEntry2@8
6707 +InternalCreateIpForwardEntry@4
6708 +InternalCreateIpNetEntry2@8
6709 +InternalCreateIpNetEntry@4
6710 +InternalCreateUnicastIpAddressEntry@8
6711 +InternalDeleteAnycastIpAddressEntry@8
6712 +InternalDeleteIpForwardEntry2@8
6713 +InternalDeleteIpForwardEntry@4
6714 +InternalDeleteIpNetEntry2@8
6715 +InternalDeleteIpNetEntry@4
6716 +InternalDeleteUnicastIpAddressEntry@8
6717 +InternalFindInterfaceByAddress@8
6718 +InternalGetAnycastIpAddressEntry@8
6719 +InternalGetAnycastIpAddressTable@12
6720 +InternalGetForwardIpTable2@12
6721 +InternalGetIfEntry2@8
6722 +InternalGetIfTable2@8
6723 +InternalGetIfTable@12
6724 +InternalGetIpAddrTable@12
6725 +InternalGetIpForwardEntry2@8
6726 +InternalGetIpForwardTable@12
6727 +InternalGetIpInterfaceEntry@8
6728 +InternalGetIpInterfaceTable@12
6729 +InternalGetIpNetEntry2@8
6730 +InternalGetIpNetTable2@12
6731 +InternalGetIpNetTable@12
6732 +InternalGetMulticastIpAddressEntry@8
6733 +InternalGetMulticastIpAddressTable@12
6734 +InternalGetTcp6Table2@12
6735 +InternalGetTcp6TableWithOwnerModule@12
6736 +InternalGetTcp6TableWithOwnerPid@12
6737 +InternalGetTcpTable2@12
6738 +InternalGetTcpTable@12
6739 +InternalGetTcpTableEx@12
6740 +InternalGetTcpTableWithOwnerModule@12
6741 +InternalGetTcpTableWithOwnerPid@12
6742 +InternalGetTunnelPhysicalAdapter@8
6743 +InternalGetUdp6TableWithOwnerModule@12
6744 +InternalGetUdp6TableWithOwnerPid@12
6745 +InternalGetUdpTable@12
6746 +InternalGetUdpTableEx@12
6747 +InternalGetUdpTableWithOwnerModule@12
6748 +InternalGetUdpTableWithOwnerPid@12
6749 +InternalGetUnicastIpAddressEntry@8
6750 +InternalGetUnicastIpAddressTable@12
6751 +InternalSetIfEntry@4
6752 +InternalSetIpForwardEntry2@8
6753 +InternalSetIpForwardEntry@4
6754 +InternalSetIpInterfaceEntry@8
6755 +InternalSetIpNetEntry2@8
6756 +InternalSetIpNetEntry@4
6757 +InternalSetIpStats@4
6758 +InternalSetTcpEntry@4
6759 +InternalSetTeredoPort@4
6760 +InternalSetUnicastIpAddressEntry@8
6763 +LookupPersistentTcpPortReservation@12
6764 +LookupPersistentUdpPortReservation@12
6765 +NTPTimeToNTFileTime@12
6767 +NhGetGuidFromInterfaceName@16
6768 +NhGetInterfaceDescriptionFromGuid@20
6769 +NhGetInterfaceNameFromDeviceGuid@20
6770 +NhGetInterfaceNameFromGuid@20
6771 +NhpAllocateAndGetInterfaceInfoFromStack@20
6773 +NotifyIpInterfaceChange@20
6774 +NotifyRouteChange2@20
6776 +NotifyStableUnicastIpAddressTable@20
6777 +NotifyTeredoPortChange@16
6778 +NotifyUnicastIpAddressChange@20
6779 +ParseNetworkString@20
6780 +_PfAddFiltersToInterface@24
6781 +_PfAddGlobalFilterToInterface@8
6782 +_PfBindInterfaceToIPAddress@12
6783 +_PfBindInterfaceToIndex@16
6784 +_PfCreateInterface@24
6785 +_PfDeleteInterface@4
6787 +_PfGetInterfaceStatistics@16
6790 +_PfRemoveFilterHandles@12
6791 +_PfRemoveFiltersFromInterface@20
6792 +_PfRemoveGlobalFilterFromInterface@8
6795 +_PfUnBindInterface@4
6796 +ResolveIpNetEntry2@8
6798 +RestoreMediaSense@8
6800 SetAdapterIpAddress@20
6801 +SetCurrentThreadCompartmentId@4
6803 +SetIpForwardEntry2@4
6805 +SetIpInterfaceEntry@4
6809 +SetIpStatisticsEx@8
6811 +SetNetworkInformation@12
6812 +SetPerTcp6ConnectionEStats@24
6813 +SetPerTcp6ConnectionStats@20
6814 +SetPerTcpConnectionEStats@24
6815 +SetPerTcpConnectionStats@20
6816 +SetSessionCompartmentId@8
6818 +SetUnicastIpAddressEntry@4
6825 --- w32api-5.0.2/include/shlobj.h.orig 2017-11-09 02:35:48.000000000 +0100
6826 +++ w32api-5.0.2/include/shlobj.h 2019-03-17 21:21:15.503665619 +0100
6827 @@ -1500,6 +1500,41 @@
6828 void WINAPI SHGetSetSettings(LPSHELLSTATE,DWORD,BOOL);
6831 +#if NTDDI_VERSION >= 0x06000000
6832 +typedef GUID KNOWNFOLDERID;
6834 +#define REFKNOWNFOLDERID const KNOWNFOLDERID &
6836 +#define REFKNOWNFOLDERID const KNOWNFOLDERID * /* __MIDL_CONST */
6840 + KF_FLAG_DEFAULT = 0x00000000,
6841 +#if NTDDI_VERSION >= 0x06010000
6842 + KF_FLAG_NO_APPCONTAINER_REDIRECTION = 0x00010000,
6844 + KF_FLAG_CREATE = 0x00008000,
6845 + KF_FLAG_DONT_VERIFY = 0x00004000,
6846 + KF_FLAG_DONT_UNEXPAND = 0x00002000,
6847 + KF_FLAG_NO_ALIAS = 0x00001000,
6848 + KF_FLAG_INIT = 0x00000800,
6849 + KF_FLAG_DEFAULT_PATH = 0x00000400,
6850 + KF_FLAG_NOT_PARENT_RELATIVE = 0x00000200,
6851 + KF_FLAG_SIMPLE_IDLIST = 0x00000100,
6852 + KF_FLAG_ALIAS_ONLY = 0x80000000
6853 + } KNOWN_FOLDER_FLAG;
6855 + DEFINE_ENUM_FLAG_OPERATORS (KNOWN_FOLDER_FLAG);
6857 + STDAPI SHGetKnownFolderIDList (REFKNOWNFOLDERID rfid, DWORD dwFlags, HANDLE hToken, LPCITEMIDLIST *ppidl);
6858 + STDAPI SHSetKnownFolderPath (REFKNOWNFOLDERID rfid, DWORD dwFlags, HANDLE hToken, PCWSTR pszPath);
6859 + STDAPI SHGetKnownFolderPath (REFKNOWNFOLDERID rfid, DWORD dwFlags, HANDLE hToken, PWSTR *ppszPath);
6862 +#if NTDDI_VERSION >= 0x06010000
6863 + STDAPI SHGetKnownFolderItem (REFKNOWNFOLDERID rfid, KNOWN_FOLDER_FLAG flags, HANDLE hToken, REFIID riid, void **ppv);
6866 #if (_WIN32_WINNT >= 0x0500) /* W2K */
6867 BOOL WINAPI ILIsEqual(LPCITEMIDLIST, LPCITEMIDLIST);
6868 BOOL WINAPI ILIsParent(LPCITEMIDLIST, LPCITEMIDLIST, BOOL);
6869 --- w32api-5.0.2/include/winioctl.h.orig 2017-11-09 02:35:48.000000000 +0100
6870 +++ w32api-5.0.2/include/winioctl.h 2019-03-17 21:22:23.789962347 +0100
6872 #define FSCTL_SET_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM,41,METHOD_BUFFERED,FILE_ANY_ACCESS)
6873 #define FSCTL_DELETE_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM,43,METHOD_BUFFERED,FILE_ANY_ACCESS)
6874 #define FSCTL_SET_SPARSE CTL_CODE(FILE_DEVICE_FILE_SYSTEM,49,METHOD_BUFFERED,FILE_SPECIAL_ACCESS)
6875 +#define FSCTL_SET_ZERO_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM,50,METHOD_BUFFERED,FILE_WRITE_DATA)
6876 #define FSCTL_ALLOW_EXTENDED_DASD_IO CTL_CODE(FILE_DEVICE_FILE_SYSTEM,32,METHOD_NEITHER,FILE_ANY_ACCESS)
6878 typedef DWORD DEVICE_TYPE;
6879 @@ -272,6 +273,15 @@
6880 LARGE_INTEGER MftZoneEnd;
6881 } NTFS_VOLUME_DATA_BUFFER, *PNTFS_VOLUME_DATA_BUFFER;
6883 +typedef struct _FILE_SET_SPARSE_BUFFER {
6884 + BOOLEAN SetSparse;
6885 +} FILE_SET_SPARSE_BUFFER,*PFILE_SET_SPARSE_BUFFER;
6887 +typedef struct _FILE_ZERO_DATA_INFORMATION {
6888 + LARGE_INTEGER FileOffset;
6889 + LARGE_INTEGER BeyondFinalZero;
6890 +} FILE_ZERO_DATA_INFORMATION,*PFILE_ZERO_DATA_INFORMATION;
6894 #undef __WINIOCTL_H_SOURCED__
6895 --- w32api-5.0.2/lib/shell32.def.orig 2017-11-09 02:35:48.000000000 +0100
6896 +++ w32api-5.0.2/lib/shell32.def 2019-03-17 21:25:25.175646363 +0100
6901 +SHGetKnownFolderIDList@16
6902 +SHGetKnownFolderItem@20
6903 +SHGetKnownFolderPath@16
6904 +SHSetKnownFolderPath@16