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"
32 #include "ntuser_private.h"
34 #include "wine/unixlib.h"
37 static void * const syscalls
[] =
41 NtGdiAddFontMemResourceEx
,
42 NtGdiAddFontResourceW
,
50 NtGdiComputeXformCoefficients
,
53 NtGdiCreateCompatibleBitmap
,
54 NtGdiCreateCompatibleDC
,
56 NtGdiCreateDIBSection
,
57 NtGdiCreateDIBitmapInternal
,
58 NtGdiCreateEllipticRgn
,
59 NtGdiCreateHalftonePalette
,
60 NtGdiCreateHatchBrushInternal
,
61 NtGdiCreateMetafileDC
,
62 NtGdiCreatePaletteInternal
,
63 NtGdiCreatePatternBrushInternal
,
66 NtGdiCreateRoundRectRgn
,
67 NtGdiCreateSolidBrush
,
68 NtGdiDdDDICheckVidPnExclusiveOwnership
,
69 NtGdiDdDDICloseAdapter
,
70 NtGdiDdDDICreateDCFromMemory
,
71 NtGdiDdDDICreateDevice
,
72 NtGdiDdDDIDestroyDCFromMemory
,
73 NtGdiDdDDIDestroyDevice
,
75 NtGdiDdDDIOpenAdapterFromDeviceName
,
76 NtGdiDdDDIOpenAdapterFromHdc
,
77 NtGdiDdDDIOpenAdapterFromLuid
,
78 NtGdiDdDDIQueryStatistics
,
79 NtGdiDdDDIQueryVideoMemoryInfo
,
80 NtGdiDdDDISetQueuedLimit
,
81 NtGdiDdDDISetVidPnSourceOwner
,
84 NtGdiDescribePixelFormat
,
99 NtGdiExtSelectClipRgn
,
107 NtGdiGetAndSetDCDword
,
110 NtGdiGetBitmapDimension
,
112 NtGdiGetCharABCWidthsW
,
113 NtGdiGetCharWidthInfo
,
115 NtGdiGetColorAdjustment
,
119 NtGdiGetDIBitsInternal
,
121 NtGdiGetDeviceGammaRamp
,
123 NtGdiGetFontFileData
,
124 NtGdiGetFontFileInfo
,
125 NtGdiGetFontUnicodeRanges
,
126 NtGdiGetGlyphIndicesW
,
127 NtGdiGetGlyphOutline
,
128 NtGdiGetKerningPairs
,
129 NtGdiGetNearestColor
,
130 NtGdiGetNearestPaletteIndex
,
131 NtGdiGetOutlineTextMetricsInternalW
,
135 NtGdiGetRasterizerCaps
,
136 NtGdiGetRealizationInfo
,
139 NtGdiGetSpoolMessage
,
140 NtGdiGetSystemPaletteUse
,
141 NtGdiGetTextCharsetInfo
,
142 NtGdiGetTextExtentExW
,
144 NtGdiGetTextMetricsW
,
150 NtGdiIntersectClipRect
,
154 NtGdiModifyWorldTransform
,
169 NtGdiRemoveFontMemResourceEx
,
170 NtGdiRemoveFontResourceW
,
176 NtGdiScaleViewportExtEx
,
177 NtGdiScaleWindowExtEx
,
184 NtGdiSetBitmapDimension
,
187 NtGdiSetColorAdjustment
,
188 NtGdiSetDIBitsToDeviceInternal
,
189 NtGdiSetDeviceGammaRamp
,
196 NtGdiSetSystemPaletteUse
,
197 NtGdiSetTextJustification
,
198 NtGdiSetVirtualResolution
,
202 NtGdiStretchDIBitsInternal
,
203 NtGdiStrokeAndFillPath
,
206 NtGdiTransformPoints
,
208 NtGdiUnrealizeObject
,
211 NtUserActivateKeyboardLayout
,
212 NtUserAddClipboardFormatListener
,
213 NtUserAssociateInputContext
,
214 NtUserAttachThreadInput
,
221 NtUserCallNextHookEx
,
225 NtUserChangeClipboardChain
,
226 NtUserChangeDisplaySettings
,
228 NtUserChildWindowFromPointEx
,
230 NtUserCloseClipboard
,
232 NtUserCloseWindowStation
,
233 NtUserCopyAcceleratorTable
,
234 NtUserCountClipboardFormats
,
235 NtUserCreateAcceleratorTable
,
237 NtUserCreateDesktopEx
,
238 NtUserCreateInputContext
,
239 NtUserCreateWindowEx
,
240 NtUserCreateWindowStation
,
241 NtUserDeferWindowPosAndBand
,
243 NtUserDestroyAcceleratorTable
,
245 NtUserDestroyInputContext
,
248 NtUserDisableThreadIme
,
249 NtUserDispatchMessage
,
250 NtUserDisplayConfigGetDeviceInfo
,
253 NtUserDrawCaptionTemp
,
255 NtUserDrawMenuBarTemp
,
256 NtUserEmptyClipboard
,
257 NtUserEnableMenuItem
,
258 NtUserEnableMouseInPointer
,
259 NtUserEnableScrollBar
,
260 NtUserEndDeferWindowPosEx
,
263 NtUserEnumDisplayDevices
,
264 NtUserEnumDisplayMonitors
,
265 NtUserEnumDisplaySettings
,
266 NtUserExcludeUpdateRgn
,
267 NtUserFindExistingCursorIcon
,
271 NtUserGetAsyncKeyState
,
273 NtUserGetCaretBlinkTime
,
275 NtUserGetClassInfoEx
,
277 NtUserGetClipboardData
,
278 NtUserGetClipboardFormatName
,
279 NtUserGetClipboardOwner
,
280 NtUserGetClipboardSequenceNumber
,
281 NtUserGetClipboardViewer
,
283 NtUserGetCursorFrameInfo
,
287 NtUserGetDisplayConfigBufferSizes
,
288 NtUserGetDoubleClickTime
,
289 NtUserGetDpiForMonitor
,
290 NtUserGetForegroundWindow
,
291 NtUserGetGUIThreadInfo
,
294 NtUserGetInternalWindowPos
,
295 NtUserGetKeyNameText
,
297 NtUserGetKeyboardLayout
,
298 NtUserGetKeyboardLayoutList
,
299 NtUserGetKeyboardLayoutName
,
300 NtUserGetKeyboardState
,
301 NtUserGetLayeredWindowAttributes
,
302 NtUserGetMenuBarInfo
,
303 NtUserGetMenuItemRect
,
305 NtUserGetMouseMovePointsEx
,
306 NtUserGetObjectInformation
,
307 NtUserGetOpenClipboardWindow
,
308 NtUserGetPointerInfoList
,
309 NtUserGetPriorityClipboardFormat
,
310 NtUserGetProcessDpiAwarenessContext
,
311 NtUserGetProcessWindowStation
,
313 NtUserGetQueueStatus
,
314 NtUserGetRawInputBuffer
,
315 NtUserGetRawInputData
,
316 NtUserGetRawInputDeviceInfo
,
317 NtUserGetRawInputDeviceList
,
318 NtUserGetRegisteredRawInputDevices
,
319 NtUserGetScrollBarInfo
,
320 NtUserGetSystemDpiForProcess
,
322 NtUserGetThreadDesktop
,
323 NtUserGetTitleBarInfo
,
326 NtUserGetUpdatedClipboardFormats
,
328 NtUserGetWindowPlacement
,
329 NtUserGetWindowRgnEx
,
331 NtUserHiliteMenuItem
,
332 NtUserInitializeClientPfnArrays
,
333 NtUserInternalGetWindowIcon
,
334 NtUserInternalGetWindowText
,
335 NtUserInvalidateRect
,
337 NtUserIsClipboardFormatAvailable
,
338 NtUserIsMouseInPointerEnabled
,
340 NtUserLockWindowUpdate
,
341 NtUserLogicalToPerMonitorDPIPhysicalPoint
,
342 NtUserMapVirtualKeyEx
,
343 NtUserMenuItemFromPoint
,
346 NtUserMsgWaitForMultipleObjectsEx
,
347 NtUserNotifyIMEStatus
,
348 NtUserNotifyWinEvent
,
351 NtUserOpenInputDesktop
,
352 NtUserOpenWindowStation
,
354 NtUserPerMonitorDPIPhysicalToLogicalPoint
,
356 NtUserPostThreadMessage
,
358 NtUserQueryInputContext
,
359 NtUserRealChildWindowFromPoint
,
361 NtUserRegisterClassExWOW
,
362 NtUserRegisterHotKey
,
363 NtUserRegisterRawInputDevices
,
365 NtUserRemoveClipboardFormatListener
,
369 NtUserScrollWindowEx
,
372 NtUserSetActiveWindow
,
375 NtUserSetClassLongPtr
,
377 NtUserSetClipboardData
,
378 NtUserSetClipboardViewer
,
380 NtUserSetCursorIconData
,
383 NtUserSetInternalWindowPos
,
384 NtUserSetKeyboardState
,
385 NtUserSetLayeredWindowAttributes
,
387 NtUserSetMenuContextHelpId
,
388 NtUserSetMenuDefaultItem
,
389 NtUserSetObjectInformation
,
391 NtUserSetProcessDpiAwarenessContext
,
392 NtUserSetProcessWindowStation
,
395 NtUserSetShellWindowEx
,
398 NtUserSetSystemTimer
,
399 NtUserSetThreadDesktop
,
401 NtUserSetWinEventHook
,
403 NtUserSetWindowLongPtr
,
404 NtUserSetWindowPlacement
,
408 NtUserSetWindowsHookEx
,
413 NtUserShowWindowAsync
,
414 NtUserSystemParametersInfo
,
415 NtUserSystemParametersInfoForDpi
,
416 NtUserThunkedMenuInfo
,
417 NtUserThunkedMenuItemInfo
,
419 NtUserTrackMouseEvent
,
420 NtUserTrackPopupMenuEx
,
421 NtUserTranslateAccelerator
,
422 NtUserTranslateMessage
,
423 NtUserUnhookWinEvent
,
424 NtUserUnhookWindowsHookEx
,
425 NtUserUnregisterClass
,
426 NtUserUnregisterHotKey
,
427 NtUserUpdateInputContext
,
428 NtUserUpdateLayeredWindow
,
431 NtUserWaitForInputIdle
,
434 NtUserWindowFromPoint
,
435 __wine_get_file_outline_text_metric
,
436 __wine_get_icm_profile
,
440 static BYTE arguments
[ARRAY_SIZE(syscalls
)];
442 static SYSTEM_SERVICE_TABLE syscall_table
=
444 (ULONG_PTR
*)syscalls
,
446 ARRAY_SIZE(syscalls
),
450 static NTSTATUS
init( void *dispatcher
)
452 return ntdll_init_syscalls( 1, &syscall_table
, dispatcher
);
455 unixlib_entry_t __wine_unix_call_funcs
[] =