win32u: Move menu tracking implementation from user32.
[wine.git] / dlls / win32u / syscall.c
blob6bbdfc66f5052079f4e4449c852a5916789ae20a
1 /*
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
21 #if 0
22 #pragma makedep unix
23 #endif
25 #include <stdarg.h>
27 #include "ntstatus.h"
28 #define WIN32_NO_STATUS
29 #include "windef.h"
30 #include "winnt.h"
31 #include "ntgdi_private.h"
32 #include "ntuser.h"
33 #include "wine/unixlib.h"
36 static void * const syscalls[] =
38 NtGdiAddFontMemResourceEx,
39 NtGdiAddFontResourceW,
40 NtGdiCombineRgn,
41 NtGdiCreateBitmap,
42 NtGdiCreateClientObj,
43 NtGdiCreateDIBBrush,
44 NtGdiCreateDIBSection,
45 NtGdiCreateEllipticRgn,
46 NtGdiCreateHalftonePalette,
47 NtGdiCreateHatchBrushInternal,
48 NtGdiCreatePaletteInternal,
49 NtGdiCreatePatternBrushInternal,
50 NtGdiCreatePen,
51 NtGdiCreateRectRgn,
52 NtGdiCreateRoundRectRgn,
53 NtGdiCreateSolidBrush,
54 NtGdiDdDDICreateDevice,
55 NtGdiDdDDIOpenAdapterFromHdc,
56 NtGdiDdDDIQueryStatistics,
57 NtGdiDdDDISetQueuedLimit,
58 NtGdiDeleteClientObj,
59 NtGdiDescribePixelFormat,
60 NtGdiDrawStream,
61 NtGdiEqualRgn,
62 NtGdiExtCreatePen,
63 NtGdiExtCreateRegion,
64 NtGdiExtGetObjectW,
65 NtGdiFlattenPath,
66 NtGdiFlush,
67 NtGdiGetBitmapBits,
68 NtGdiGetBitmapDimension,
69 NtGdiGetColorAdjustment,
70 NtGdiGetDCDword,
71 NtGdiGetDCObject,
72 NtGdiGetDCPoint,
73 NtGdiGetFontFileData,
74 NtGdiGetFontFileInfo,
75 NtGdiGetNearestPaletteIndex,
76 NtGdiGetPath,
77 NtGdiGetRegionData,
78 NtGdiGetRgnBox,
79 NtGdiGetSpoolMessage,
80 NtGdiGetSystemPaletteUse,
81 NtGdiGetTransform,
82 NtGdiHfontCreate,
83 NtGdiInitSpool,
84 NtGdiOffsetRgn,
85 NtGdiPathToRegion,
86 NtGdiPtInRegion,
87 NtGdiRectInRegion,
88 NtGdiRemoveFontMemResourceEx,
89 NtGdiRemoveFontResourceW,
90 NtGdiSaveDC,
91 NtGdiSetBitmapBits,
92 NtGdiSetBitmapDimension,
93 NtGdiSetBrushOrg,
94 NtGdiSetColorAdjustment,
95 NtGdiSetMagicColors,
96 NtGdiSetMetaRgn,
97 NtGdiSetPixelFormat,
98 NtGdiSetRectRgn,
99 NtGdiSetTextJustification,
100 NtGdiSetVirtualResolution,
101 NtGdiSwapBuffers,
102 NtGdiTransformPoints,
103 NtUserAddClipboardFormatListener,
104 NtUserAttachThreadInput,
105 NtUserBuildHwndList,
106 NtUserCallMsgFilter,
107 NtUserCheckMenuItem,
108 NtUserChildWindowFromPointEx,
109 NtUserCloseDesktop,
110 NtUserCloseWindowStation,
111 NtUserCopyAcceleratorTable,
112 NtUserCreateAcceleratorTable,
113 NtUserCreateDesktopEx,
114 NtUserCreateWindowStation,
115 NtUserDeleteMenu,
116 NtUserDestroyAcceleratorTable,
117 NtUserEndMenu,
118 NtUserFindExistingCursorIcon,
119 NtUserFindWindowEx,
120 NtUserGetAncestor,
121 NtUserGetAtomName,
122 NtUserGetCaretBlinkTime,
123 NtUserGetCaretPos,
124 NtUserGetClassName,
125 NtUserGetClipboardFormatName,
126 NtUserGetClipboardOwner,
127 NtUserGetClipboardSequenceNumber,
128 NtUserGetClipboardViewer,
129 NtUserGetCursor,
130 NtUserGetCursorFrameInfo,
131 NtUserGetDoubleClickTime,
132 NtUserGetDpiForMonitor,
133 NtUserGetForegroundWindow,
134 NtUserGetGUIThreadInfo,
135 NtUserGetIconSize,
136 NtUserGetKeyState,
137 NtUserGetKeyboardLayout,
138 NtUserGetKeyboardLayoutName,
139 NtUserGetKeyboardState,
140 NtUserGetLayeredWindowAttributes,
141 NtUserGetMenuItemRect,
142 NtUserGetMouseMovePointsEx,
143 NtUserGetObjectInformation,
144 NtUserGetOpenClipboardWindow,
145 NtUserGetProcessDpiAwarenessContext,
146 NtUserGetProcessWindowStation,
147 NtUserGetProp,
148 NtUserGetSystemDpiForProcess,
149 NtUserGetThreadDesktop,
150 NtUserGetWindowRgnEx,
151 NtUserInitializeClientPfnArrays,
152 NtUserInternalGetWindowText,
153 NtUserKillTimer,
154 NtUserLockWindowUpdate,
155 NtUserMenuItemFromPoint,
156 NtUserNotifyWinEvent,
157 NtUserOpenDesktop,
158 NtUserOpenInputDesktop,
159 NtUserOpenWindowStation,
160 NtUserRemoveClipboardFormatListener,
161 NtUserRemoveMenu,
162 NtUserRemoveProp,
163 NtUserSetKeyboardState,
164 NtUserSetMenuContextHelpId,
165 NtUserSetMenuDefaultItem,
166 NtUserSetObjectInformation,
167 NtUserSetProcessDpiAwarenessContext,
168 NtUserSetProcessWindowStation,
169 NtUserSetProp,
170 NtUserSetSystemTimer,
171 NtUserSetThreadDesktop,
172 NtUserSetTimer,
173 NtUserSetWinEventHook,
174 NtUserSetWindowsHookEx,
175 NtUserThunkedMenuInfo,
176 NtUserThunkedMenuItemInfo,
177 NtUserUnhookWinEvent,
178 NtUserUnhookWindowsHookEx,
179 NtUserWindowFromDC,
182 static BYTE arguments[ARRAY_SIZE(syscalls)];
184 static SYSTEM_SERVICE_TABLE syscall_table =
186 (ULONG_PTR *)syscalls,
188 ARRAY_SIZE(syscalls),
189 arguments
192 static NTSTATUS init( void *dispatcher )
194 NTSTATUS status;
195 if ((status = ntdll_init_syscalls( 1, &syscall_table, dispatcher ))) return status;
196 if ((status = gdi_init())) return status;
197 winstation_init();
198 sysparams_init();
199 return STATUS_SUCCESS;
202 unixlib_entry_t __wine_unix_call_funcs[] =
204 init,
205 callbacks_init,
208 #ifdef _WIN64
210 WINE_DEFAULT_DEBUG_CHANNEL(win32u);
212 static NTSTATUS wow64_init( void *args )
214 FIXME( "\n" );
215 return STATUS_NOT_SUPPORTED;
218 const unixlib_entry_t __wine_unix_call_wow64_funcs[] =
220 init,
221 wow64_init,
224 #endif /* _WIN64 */