2 * Unix interface for Win32 syscalls
4 * Copyright (C) 2021 Alexandre Julliard
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
28 #define WIN32_NO_STATUS
31 #include "ntgdi_private.h"
33 #include "wine/unixlib.h"
36 static void * const syscalls
[] =
38 NtGdiAddFontMemResourceEx
,
39 NtGdiAddFontResourceW
,
44 NtGdiCreateDIBSection
,
45 NtGdiCreateEllipticRgn
,
46 NtGdiCreateHalftonePalette
,
47 NtGdiCreateHatchBrushInternal
,
48 NtGdiCreatePaletteInternal
,
49 NtGdiCreatePatternBrushInternal
,
52 NtGdiCreateRoundRectRgn
,
53 NtGdiCreateSolidBrush
,
54 NtGdiDdDDICreateDevice
,
55 NtGdiDdDDIOpenAdapterFromHdc
,
56 NtGdiDdDDIQueryStatistics
,
57 NtGdiDdDDISetQueuedLimit
,
59 NtGdiDescribePixelFormat
,
68 NtGdiGetBitmapDimension
,
69 NtGdiGetColorAdjustment
,
75 NtGdiGetNearestPaletteIndex
,
80 NtGdiGetSystemPaletteUse
,
88 NtGdiRemoveFontMemResourceEx
,
89 NtGdiRemoveFontResourceW
,
92 NtGdiSetBitmapDimension
,
94 NtGdiSetColorAdjustment
,
99 NtGdiSetTextJustification
,
100 NtGdiSetVirtualResolution
,
102 NtGdiTransformPoints
,
103 NtUserAddClipboardFormatListener
,
104 NtUserAttachThreadInput
,
108 NtUserChildWindowFromPointEx
,
110 NtUserCloseWindowStation
,
111 NtUserCopyAcceleratorTable
,
112 NtUserCreateAcceleratorTable
,
113 NtUserCreateDesktopEx
,
114 NtUserCreateWindowStation
,
116 NtUserDestroyAcceleratorTable
,
118 NtUserFindExistingCursorIcon
,
122 NtUserGetCaretBlinkTime
,
125 NtUserGetClipboardFormatName
,
126 NtUserGetClipboardOwner
,
127 NtUserGetClipboardSequenceNumber
,
128 NtUserGetClipboardViewer
,
130 NtUserGetCursorFrameInfo
,
131 NtUserGetDoubleClickTime
,
132 NtUserGetDpiForMonitor
,
133 NtUserGetForegroundWindow
,
134 NtUserGetGUIThreadInfo
,
137 NtUserGetKeyboardLayout
,
138 NtUserGetKeyboardLayoutName
,
139 NtUserGetKeyboardState
,
140 NtUserGetLayeredWindowAttributes
,
141 NtUserGetMenuItemRect
,
142 NtUserGetMouseMovePointsEx
,
143 NtUserGetObjectInformation
,
144 NtUserGetOpenClipboardWindow
,
145 NtUserGetProcessDpiAwarenessContext
,
146 NtUserGetProcessWindowStation
,
148 NtUserGetSystemDpiForProcess
,
149 NtUserGetThreadDesktop
,
150 NtUserGetWindowRgnEx
,
151 NtUserInitializeClientPfnArrays
,
152 NtUserInternalGetWindowText
,
154 NtUserLockWindowUpdate
,
155 NtUserMenuItemFromPoint
,
156 NtUserNotifyWinEvent
,
158 NtUserOpenInputDesktop
,
159 NtUserOpenWindowStation
,
160 NtUserRemoveClipboardFormatListener
,
163 NtUserSetKeyboardState
,
164 NtUserSetMenuContextHelpId
,
165 NtUserSetMenuDefaultItem
,
166 NtUserSetObjectInformation
,
167 NtUserSetProcessDpiAwarenessContext
,
168 NtUserSetProcessWindowStation
,
170 NtUserSetSystemTimer
,
171 NtUserSetThreadDesktop
,
173 NtUserSetWinEventHook
,
174 NtUserSetWindowsHookEx
,
175 NtUserThunkedMenuInfo
,
176 NtUserThunkedMenuItemInfo
,
177 NtUserUnhookWinEvent
,
178 NtUserUnhookWindowsHookEx
,
182 static BYTE arguments
[ARRAY_SIZE(syscalls
)];
184 static SYSTEM_SERVICE_TABLE syscall_table
=
186 (ULONG_PTR
*)syscalls
,
188 ARRAY_SIZE(syscalls
),
192 static NTSTATUS
init( void *dispatcher
)
195 if ((status
= ntdll_init_syscalls( 1, &syscall_table
, dispatcher
))) return status
;
196 if ((status
= gdi_init())) return status
;
199 return STATUS_SUCCESS
;
202 unixlib_entry_t __wine_unix_call_funcs
[] =
210 WINE_DEFAULT_DEBUG_CHANNEL(win32u
);
212 static NTSTATUS
wow64_init( void *args
)
215 return STATUS_NOT_SUPPORTED
;
218 const unixlib_entry_t __wine_unix_call_wow64_funcs
[] =