Skip to content

Commit 45eff31

Browse files
DarkFire01HBelusca
andauthored
[SDK][XDK][PSDK] Grab header changes needed for Wine-10.0 KernelBase (reactos#8047)
* [SDK] Update ThreadInfoClass to wine-10.0 * [SDK][MODULES] Fix a test and add wine-10 entries to headers Co-authored-by: Hermès BÉLUSCA - MAÏTO <[email protected]>
1 parent babe604 commit 45eff31

File tree

11 files changed

+600
-5
lines changed

11 files changed

+600
-5
lines changed

modules/rostests/winetests/ntdll/file.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3448,12 +3448,12 @@ static void test_query_attribute_information_file(void)
34483448

34493449
ok(status == STATUS_SUCCESS, "expected STATUS_SUCCESS, got %d\n", status);
34503450
ok(U(io).Status == STATUS_SUCCESS, "expected STATUS_SUCCESS, got %d\n", U(io).Status);
3451-
ok(ffai->FileSystemAttribute != 0, "Missing FileSystemAttribute\n");
3451+
ok(ffai->FileSystemAttributes != 0, "Missing FileSystemAttributes\n");
34523452
ok(ffai->MaximumComponentNameLength != 0, "Missing MaximumComponentNameLength\n");
34533453
ok(ffai->FileSystemNameLength != 0, "Missing FileSystemNameLength\n");
34543454

3455-
trace("FileSystemAttribute: %x MaximumComponentNameLength: %x FileSystemName: %s\n",
3456-
ffai->FileSystemAttribute, ffai->MaximumComponentNameLength,
3455+
trace("FileSystemAttributes: %x MaximumComponentNameLength: %x FileSystemName: %s\n",
3456+
ffai->FileSystemAttributes, ffai->MaximumComponentNameLength,
34573457
wine_dbgstr_wn(ffai->FileSystemName, ffai->FileSystemNameLength / sizeof(WCHAR)));
34583458

34593459
CloseHandle( dir );

sdk/include/psdk/ip2string.h

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
/*
2+
* Copyright (C) 2019 Alex Henrie
3+
*
4+
* This library is free software; you can redistribute it and/or
5+
* modify it under the terms of the GNU Lesser General Public
6+
* License as published by the Free Software Foundation; either
7+
* version 2.1 of the License, or (at your option) any later version.
8+
*
9+
* This library is distributed in the hope that it will be useful,
10+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12+
* Lesser General Public License for more details.
13+
*
14+
* You should have received a copy of the GNU Lesser General Public
15+
* License along with this library; if not, write to the Free Software
16+
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17+
*/
18+
19+
#ifndef __WINE_IP2STRING_H
20+
#define __WINE_IP2STRING_H
21+
22+
#ifdef __cplusplus
23+
extern "C" {
24+
#endif
25+
26+
NTSYSAPI char * WINAPI RtlIpv4AddressToStringA(const IN_ADDR *address, char *str);
27+
NTSYSAPI WCHAR * WINAPI RtlIpv4AddressToStringW(const IN_ADDR *address, WCHAR *str);
28+
#define RtlIpv4AddressToString WINELIB_NAME_AW(RtlIpv4AddressToString)
29+
NTSYSAPI NTSTATUS WINAPI RtlIpv4AddressToStringExA(const IN_ADDR *address, USHORT port, char *str, ULONG *size);
30+
NTSYSAPI NTSTATUS WINAPI RtlIpv4AddressToStringExW(const IN_ADDR *address, USHORT port, WCHAR *str, ULONG *size);
31+
#define RtlIpv4AddressToStringEx WINELIB_NAME_AW(RtlIpv4AddressToStringEx)
32+
NTSYSAPI char * WINAPI RtlIpv6AddressToStringA(const IN6_ADDR *address, char *str);
33+
NTSYSAPI WCHAR * WINAPI RtlIpv6AddressToStringW(const IN6_ADDR *address, WCHAR *str);
34+
#define RtlIpv6AddressToString WINELIB_NAME_AW(RtlIpv6AddressToString)
35+
NTSYSAPI NTSTATUS WINAPI RtlIpv6AddressToStringExA(const IN6_ADDR *address, LONG scope, USHORT port, char *str, ULONG *size);
36+
NTSYSAPI NTSTATUS WINAPI RtlIpv6AddressToStringExW(const IN6_ADDR *address, LONG scope, USHORT port, WCHAR *str, ULONG *size);
37+
#define RtlIpv6AddressToStringEx WINELIB_NAME_AW(RtlIpv6AddressToStringEx)
38+
NTSYSAPI NTSTATUS WINAPI RtlIpv4StringToAddressA(const char *str, BOOLEAN strict, const char **terminator, IN_ADDR *address);
39+
NTSYSAPI NTSTATUS WINAPI RtlIpv4StringToAddressW(const WCHAR *str, BOOLEAN strict, const WCHAR **terminator, IN_ADDR *address);
40+
#define RtlIpv4StringToAddress WINELIB_NAME_AW(RtlIpv4StringToAddress)
41+
NTSYSAPI NTSTATUS WINAPI RtlIpv4StringToAddressExA(const char *str, BOOLEAN strict, IN_ADDR *address, USHORT *port);
42+
NTSYSAPI NTSTATUS WINAPI RtlIpv4StringToAddressExW(const WCHAR *str, BOOLEAN strict, IN_ADDR *address, USHORT *port);
43+
#define RtlIpv4StringToAddressEx WINELIB_NAME_AW(RtlIpv4StringToAddressEx)
44+
NTSYSAPI NTSTATUS WINAPI RtlIpv6StringToAddressA(const char *str, const char **terminator, IN6_ADDR *address);
45+
NTSYSAPI NTSTATUS WINAPI RtlIpv6StringToAddressW(const WCHAR *str, const WCHAR **terminator, IN6_ADDR *address);
46+
#define RtlIpv6StringToAddress WINELIB_NAME_AW(RtlIpv6StringToAddress)
47+
NTSYSAPI NTSTATUS WINAPI RtlIpv6StringToAddressExA(const char *str, IN6_ADDR *address, ULONG *scope, USHORT *port);
48+
NTSYSAPI NTSTATUS WINAPI RtlIpv6StringToAddressExW(const WCHAR *str, IN6_ADDR *address, ULONG *scope, USHORT *port);
49+
#define RtlIpv6StringToAddressEx WINELIB_NAME_AW(RtlIpv6StringToAddressEx)
50+
51+
#ifdef __cplusplus
52+
}
53+
#endif
54+
55+
#endif

sdk/include/psdk/libloaderapi.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ typedef void *DLL_DIRECTORY_COOKIE, **PDLL_DIRECTORY_COOKIE;
2828
WINBASEAPI DLL_DIRECTORY_COOKIE WINAPI AddDllDirectory(const WCHAR *);
2929
WINBASEAPI BOOL WINAPI RemoveDllDirectory(DLL_DIRECTORY_COOKIE);
3030
WINBASEAPI BOOL WINAPI SetDefaultDllDirectories(DWORD);
31+
WINBASEAPI INT WINAPI FindStringOrdinal(DWORD, const WCHAR *, INT, const WCHAR *, INT, BOOL);
3132

3233
#ifdef __cplusplus
3334
}

sdk/include/psdk/ntioring_x.h

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
/*
2+
* Copyright (C) 2023 Paul Gofman for CodeWeavers
3+
*
4+
* This library is free software; you can redistribute it and/or
5+
* modify it under the terms of the GNU Lesser General Public
6+
* License as published by the Free Software Foundation; either
7+
* version 2.1 of the License, or (at your option) any later version.
8+
*
9+
* This library is distributed in the hope that it will be useful,
10+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12+
* Lesser General Public License for more details.
13+
*
14+
* You should have received a copy of the GNU Lesser General Public
15+
* License along with this library; if not, write to the Free Software
16+
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17+
*/
18+
19+
#ifndef __NTIORING_X_H_
20+
#define __NTIORING_X_H_
21+
22+
enum IORING_VERSION
23+
{
24+
IORING_VERSION_INVALID = 0,
25+
IORING_VERSION_1 = 1,
26+
IORING_VERSION_2 = 2,
27+
IORING_VERSION_3 = 300,
28+
};
29+
typedef enum IORING_VERSION IORING_VERSION;
30+
31+
enum IORING_FEATURE_FLAGS
32+
{
33+
IORING_FEATURE_FLAGS_NONE = 0,
34+
IORING_FEATURE_UM_EMULATION = 0x00000001,
35+
IORING_FEATURE_SET_COMPLETION_EVENT = 0x00000002,
36+
};
37+
typedef enum IORING_FEATURE_FLAGS IORING_FEATURE_FLAGS;
38+
39+
#endif

sdk/include/psdk/perflib.h

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
/*
2+
* Copyright (C) 2017 Austin English
3+
*
4+
* This library is free software; you can redistribute it and/or
5+
* modify it under the terms of the GNU Lesser General Public
6+
* License as published by the Free Software Foundation; either
7+
* version 2.1 of the License, or (at your option) any later version.
8+
*
9+
* This library is distributed in the hope that it will be useful,
10+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12+
* Lesser General Public License for more details.
13+
*
14+
* You should have received a copy of the GNU Lesser General Public
15+
* License along with this library; if not, write to the Free Software
16+
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17+
*/
18+
19+
#ifndef _PERFLIB_H_
20+
#define _PERFLIB_H_
21+
22+
#ifdef __cplusplus
23+
extern "C" {
24+
#endif
25+
26+
typedef void * (__WINE_ALLOC_SIZE(1) CDECL * PERF_MEM_ALLOC)(SIZE_T,void*);
27+
typedef void (CDECL * PERF_MEM_FREE)(LPVOID,LPVOID);
28+
typedef ULONG (WINAPI * PERFLIBREQUEST)(ULONG,PVOID,ULONG);
29+
30+
typedef struct _PERF_COUNTERSET_INFO {
31+
GUID CounterSetGuid;
32+
GUID ProviderGuid;
33+
ULONG NumCounters;
34+
ULONG InstanceType;
35+
} PERF_COUNTERSET_INFO, * PPERF_COUNTERSET_INFO;
36+
37+
/* PERF_COUNTERSET_INFO InstanceType values. */
38+
#define PERF_COUNTERSET_FLAG_MULTIPLE 0x00000002
39+
#define PERF_COUNTERSET_FLAG_AGGREGATE 0x00000004
40+
#define PERF_COUNTERSET_FLAG_HISTORY 0x00000008
41+
#define PERF_COUNTERSET_FLAG_INSTANCE 0x00000010
42+
43+
#define PERF_COUNTERSET_SINGLE_INSTANCE 0
44+
#define PERF_COUNTERSET_MULTI_INSTANCES PERF_COUNTERSET_FLAG_MULTIPLE
45+
#define PERF_COUNTERSET_SINGLE_AGGREGATE PERF_COUNTERSET_FLAG_AGGREGATE
46+
#define PERF_COUNTERSET_MULTI_AGGREGATE (PERF_COUNTERSET_FLAG_AGGREGATE | PERF_COUNTERSET_FLAG_MULTIPLE)
47+
#define PERF_COUNTERSET_SINGLE_AGGREGATE_HISTORY (PERF_COUNTERSET_FLAG_HISTORY | PERF_COUNTERSET_SINGLE_AGGREGATE)
48+
#define PERF_COUNTERSET_INSTANCE_AGGREGATE (PERF_COUNTERSET_MULTI_AGGREGATE | PERF_COUNTERSET_FLAG_INSTANCE)
49+
50+
typedef struct _PERF_COUNTERSET_INSTANCE {
51+
GUID CounterSetGuid;
52+
ULONG dwSize;
53+
ULONG InstanceId;
54+
ULONG InstanceNameOffset;
55+
ULONG InstanceNameSize;
56+
} PERF_COUNTERSET_INSTANCE, * PPERF_COUNTERSET_INSTANCE;
57+
58+
typedef struct _PERF_COUNTER_INFO {
59+
ULONG CounterId;
60+
ULONG Type;
61+
ULONGLONG Attrib;
62+
ULONG Size;
63+
ULONG DetailLevel;
64+
LONG Scale;
65+
ULONG Offset;
66+
} PERF_COUNTER_INFO, *PPERF_COUNTER_INFO;
67+
68+
/* PERF_COUNTER_INFO Attrib flags. */
69+
#define PERF_ATTRIB_BY_REFERENCE 0x00000001
70+
#define PERF_ATTRIB_NO_DISPLAYABLE 0x00000002
71+
#define PERF_ATTRIB_NO_GROUP_SEPARATOR 0x00000004
72+
#define PERF_ATTRIB_DISPLAY_AS_REAL 0x00000008
73+
#define PERF_ATTRIB_DISPLAY_AS_HEX 0x00000010
74+
75+
typedef struct _PROVIDER_CONTEXT {
76+
DWORD ContextSize;
77+
DWORD Reserved;
78+
PERFLIBREQUEST ControlCallback;
79+
PERF_MEM_ALLOC MemAllocRoutine;
80+
PERF_MEM_FREE MemFreeRoutine;
81+
LPVOID pMemContext;
82+
} PERF_PROVIDER_CONTEXT, * PPERF_PROVIDER_CONTEXT;
83+
84+
typedef struct _PERF_COUNTER_IDENTIFIER {
85+
GUID CounterSetGuid;
86+
ULONG Status;
87+
ULONG Size;
88+
ULONG CounterId;
89+
ULONG InstanceId;
90+
ULONG Index;
91+
ULONG Reserved;
92+
} PERF_COUNTER_IDENTIFIER, *PPERF_COUNTER_IDENTIFIER;
93+
94+
#define PERF_WILDCARD_COUNTER 0xFFFFFFFF
95+
#define PERF_WILDCARD_INSTANCE L"*"
96+
97+
typedef struct _PERF_DATA_HEADER {
98+
ULONG dwTotalSize;
99+
ULONG dwNumCounters;
100+
LONGLONG PerfTimeStamp;
101+
LONGLONG PerfTime100NSec;
102+
LONGLONG PerfFreq;
103+
SYSTEMTIME SystemTime;
104+
} PERF_DATA_HEADER, *PPERF_DATA_HEADER;
105+
106+
PERF_COUNTERSET_INSTANCE WINAPI *PerfCreateInstance(HANDLE, const GUID *, const WCHAR *, ULONG);
107+
ULONG WINAPI PerfDeleteInstance(HANDLE, PERF_COUNTERSET_INSTANCE *);
108+
ULONG WINAPI PerfSetCounterRefValue(HANDLE, PERF_COUNTERSET_INSTANCE *, ULONG, void *);
109+
ULONG WINAPI PerfSetCounterSetInfo(HANDLE, PERF_COUNTERSET_INFO *, ULONG);
110+
ULONG WINAPI PerfStartProvider(GUID *, PERFLIBREQUEST, HANDLE *);
111+
ULONG WINAPI PerfStartProviderEx(GUID *, PERF_PROVIDER_CONTEXT *, HANDLE *);
112+
ULONG WINAPI PerfStopProvider(HANDLE);
113+
114+
ULONG WINAPI PerfAddCounters(HANDLE, PERF_COUNTER_IDENTIFIER *, DWORD);
115+
ULONG WINAPI PerfCloseQueryHandle(HANDLE);
116+
ULONG WINAPI PerfOpenQueryHandle(const WCHAR *, HANDLE *);
117+
ULONG WINAPI PerfQueryCounterData(HANDLE, PERF_DATA_HEADER *, DWORD, DWORD *);
118+
119+
#ifdef __cplusplus
120+
} /* extern "C" */
121+
#endif
122+
123+
#endif /* _PERFLIB_H_ */

sdk/include/psdk/wincontypes.h

Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
/*
2+
* Copyright (C) the Wine project
3+
*
4+
* This library is free software; you can redistribute it and/or
5+
* modify it under the terms of the GNU Lesser General Public
6+
* License as published by the Free Software Foundation; either
7+
* version 2.1 of the License, or (at your option) any later version.
8+
*
9+
* This library is distributed in the hope that it will be useful,
10+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12+
* Lesser General Public License for more details.
13+
*
14+
* You should have received a copy of the GNU Lesser General Public
15+
* License along with this library; if not, write to the Free Software
16+
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17+
*/
18+
19+
#ifndef _WINCONTYPES_
20+
#define _WINCONTYPES_
21+
22+
typedef struct tagCOORD
23+
{
24+
SHORT X;
25+
SHORT Y;
26+
} COORD, *LPCOORD;
27+
28+
typedef struct tagSMALL_RECT
29+
{
30+
SHORT Left;
31+
SHORT Top;
32+
SHORT Right;
33+
SHORT Bottom;
34+
} SMALL_RECT,*LPSMALL_RECT;
35+
36+
typedef struct tagKEY_EVENT_RECORD
37+
{
38+
BOOL bKeyDown; /* 04 */
39+
WORD wRepeatCount; /* 08 */
40+
WORD wVirtualKeyCode; /* 0A */
41+
WORD wVirtualScanCode; /* 0C */
42+
union /* 0E */
43+
{
44+
WCHAR UnicodeChar; /* 0E */
45+
CHAR AsciiChar; /* 0E */
46+
} uChar;
47+
DWORD dwControlKeyState; /* 10 */
48+
} KEY_EVENT_RECORD,*LPKEY_EVENT_RECORD;
49+
50+
/* dwControlKeyState bitmask */
51+
#define RIGHT_ALT_PRESSED 0x0001
52+
#define LEFT_ALT_PRESSED 0x0002
53+
#define RIGHT_CTRL_PRESSED 0x0004
54+
#define LEFT_CTRL_PRESSED 0x0008
55+
#define SHIFT_PRESSED 0x0010
56+
#define NUMLOCK_ON 0x0020
57+
#define SCROLLLOCK_ON 0x0040
58+
#define CAPSLOCK_ON 0x0080
59+
#define ENHANCED_KEY 0x0100
60+
61+
typedef struct tagMOUSE_EVENT_RECORD
62+
{
63+
COORD dwMousePosition;
64+
DWORD dwButtonState;
65+
DWORD dwControlKeyState;
66+
DWORD dwEventFlags;
67+
} MOUSE_EVENT_RECORD,*LPMOUSE_EVENT_RECORD;
68+
69+
/* MOUSE_EVENT_RECORD.dwButtonState */
70+
#define FROM_LEFT_1ST_BUTTON_PRESSED 0x0001
71+
#define RIGHTMOST_BUTTON_PRESSED 0x0002
72+
#define FROM_LEFT_2ND_BUTTON_PRESSED 0x0004
73+
#define FROM_LEFT_3RD_BUTTON_PRESSED 0x0008
74+
#define FROM_LEFT_4TH_BUTTON_PRESSED 0x0010
75+
76+
/* MOUSE_EVENT_RECORD.dwEventFlags */
77+
#define MOUSE_MOVED 0x0001
78+
#define DOUBLE_CLICK 0x0002
79+
#define MOUSE_WHEELED 0x0004
80+
#define MOUSE_HWHEELED 0x0008
81+
82+
typedef struct tagWINDOW_BUFFER_SIZE_RECORD
83+
{
84+
COORD dwSize;
85+
} WINDOW_BUFFER_SIZE_RECORD,*LPWINDOW_BUFFER_SIZE_RECORD;
86+
87+
typedef struct tagMENU_EVENT_RECORD
88+
{
89+
UINT dwCommandId;
90+
} MENU_EVENT_RECORD,*LPMENU_EVENT_RECORD;
91+
92+
typedef struct tagFOCUS_EVENT_RECORD
93+
{
94+
BOOL bSetFocus;
95+
} FOCUS_EVENT_RECORD,*LPFOCUS_EVENT_RECORD;
96+
97+
typedef struct tagINPUT_RECORD
98+
{
99+
WORD EventType;
100+
union
101+
{
102+
KEY_EVENT_RECORD KeyEvent;
103+
MOUSE_EVENT_RECORD MouseEvent;
104+
WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent;
105+
MENU_EVENT_RECORD MenuEvent;
106+
FOCUS_EVENT_RECORD FocusEvent;
107+
} Event;
108+
} INPUT_RECORD,*PINPUT_RECORD;
109+
110+
/* INPUT_RECORD.wEventType */
111+
#define KEY_EVENT 0x01
112+
#define MOUSE_EVENT 0x02
113+
#define WINDOW_BUFFER_SIZE_EVENT 0x04
114+
#define MENU_EVENT 0x08
115+
#define FOCUS_EVENT 0x10
116+
117+
typedef struct tagCHAR_INFO
118+
{
119+
union
120+
{
121+
WCHAR UnicodeChar;
122+
CHAR AsciiChar;
123+
} Char;
124+
WORD Attributes;
125+
} CHAR_INFO,*LPCHAR_INFO;
126+
127+
typedef struct _CONSOLE_FONT_INFO
128+
{
129+
DWORD nFont;
130+
COORD dwFontSize;
131+
} CONSOLE_FONT_INFO,*LPCONSOLE_FONT_INFO;
132+
133+
typedef void *HPCON;
134+
135+
#endif /* _WINCONTYPES_ */

0 commit comments

Comments
 (0)