Generate Perl modules defining prototypes for exported functions.
[wine] / programs / winetest / include / ntdll.pm
1 package ntdll;
2
3 use strict;
4
5 require Exporter;
6
7 use wine;
8 use vars qw(@ISA @EXPORT @EXPORT_OK);
9
10 @ISA = qw(Exporter);
11 @EXPORT = qw();
12 @EXPORT_OK = qw();
13
14 my $module_declarations = {
15     "DbgBreakPoint" => ["void",  []],
16     "DbgUserBreakPoint" => ["void",  []],
17     "NtAcceptConnectPort" => ["long",  ["long", "long", "long", "long", "long", "long"]],
18     "NtAccessCheck" => ["long",  ["ptr", "long", "long", "ptr", "ptr", "ptr", "ptr", "ptr"]],
19     "NtAdjustPrivilegesToken" => ["long",  ["long", "long", "ptr", "long", "ptr", "ptr"]],
20     "NtAllocateLocallyUniqueId" => ["long",  ["ptr"]],
21     "NtAllocateUuids" => ["long",  ["ptr", "ptr", "ptr"]],
22     "NtClearEvent" => ["long",  ["long"]],
23     "NtClose" => ["long",  ["long"]],
24     "NtCompleteConnectPort" => ["long",  ["long"]],
25     "NtConnectPort" => ["long",  ["long", "ptr", "long", "long", "long", "long", "long", "long"]],
26     "NtCreateDirectoryObject" => ["long",  ["ptr", "long", "ptr"]],
27     "NtCreateEvent" => ["long",  ["ptr", "long", "ptr", "long", "long"]],
28     "NtCreateFile" => ["long",  ["ptr", "long", "ptr", "ptr", "ptr", "long", "long", "long", "long", "ptr", "long"]],
29     "NtCreateKey" => ["long",  ["ptr", "long", "ptr", "long", "ptr", "long", "ptr"]],
30     "NtCreateMailslotFile" => ["long",  ["long", "long", "long", "long", "long", "long", "long", "long"]],
31     "NtCreatePagingFile" => ["long",  ["ptr", "long", "long", "ptr"]],
32     "NtCreatePort" => ["long",  ["long", "long", "long", "long", "long"]],
33     "NtCreateSection" => ["long",  ["ptr", "long", "ptr", "ptr", "long", "long", "long"]],
34     "NtCreateSemaphore" => ["long",  ["ptr", "long", "ptr", "long", "long"]],
35     "NtCreateSymbolicLinkObject" => ["long",  ["ptr", "long", "ptr", "ptr"]],
36     "NtCreateTimer" => ["long",  ["ptr", "long", "ptr", "long"]],
37     "NtCurrentTeb" => ["ptr",  []],
38     "NtDeleteKey" => ["long",  ["long"]],
39     "NtDeleteValueKey" => ["long",  ["long", "ptr"]],
40     "NtDeviceIoControlFile" => ["long",  ["long", "long", "ptr", "ptr", "ptr", "long", "ptr", "long", "ptr", "long"]],
41     "NtDisplayString" => ["long",  ["ptr"]],
42     "NtDuplicateObject" => ["long",  ["long", "ptr", "long", "ptr", "long", "long", "long"]],
43     "NtDuplicateToken" => ["long",  ["long", "long", "ptr", "long", "long", "ptr"]],
44     "NtEnumerateKey" => ["long",  ["long", "long", "long", "ptr", "long", "ptr"]],
45     "NtEnumerateValueKey" => ["long",  ["long", "long", "long", "ptr", "long", "ptr"]],
46     "NtFlushKey" => ["long",  ["long"]],
47     "NtFsControlFile" => ["long",  ["long", "long", "ptr", "ptr", "ptr", "long", "ptr", "long", "ptr", "long"]],
48     "NtListenPort" => ["long",  ["long", "long"]],
49     "NtLoadKey" => ["long",  ["ptr", "ptr"]],
50     "NtMapViewOfSection" => ["long",  ["long", "long", "ptr", "long", "long", "ptr", "ptr", "long", "long", "long"]],
51     "NtNotifyChangeKey" => ["long",  ["long", "long", "ptr", "ptr", "ptr", "long", "long", "ptr", "long", "long"]],
52     "NtOpenDirectoryObject" => ["long",  ["ptr", "long", "ptr"]],
53     "NtOpenEvent" => ["long",  ["ptr", "long", "ptr"]],
54     "NtOpenFile" => ["long",  ["ptr", "long", "ptr", "ptr", "long", "long"]],
55     "NtOpenKey" => ["long",  ["ptr", "long", "ptr"]],
56     "NtOpenProcessToken" => ["long",  ["long", "long", "ptr"]],
57     "NtOpenSection" => ["long",  ["ptr", "long", "ptr"]],
58     "NtOpenSemaphore" => ["long",  ["ptr", "long", "ptr"]],
59     "NtOpenSymbolicLinkObject" => ["long",  ["ptr", "long", "ptr"]],
60     "NtOpenThreadToken" => ["long",  ["long", "long", "long", "ptr"]],
61     "NtPowerInformation" => ["long",  ["long", "long", "long", "long", "long"]],
62     "NtPulseEvent" => ["long",  ["long", "ptr"]],
63     "NtQueryDirectoryFile" => ["long",  ["long", "long", "ptr", "ptr", "ptr", "ptr", "long", "long", "long", "ptr", "long"]],
64     "NtQueryDirectoryObject" => ["long",  ["long", "ptr", "long", "long", "long", "ptr", "ptr"]],
65     "NtQueryEvent" => ["long",  ["long", "long", "ptr", "long", "ptr"]],
66     "NtQueryInformationFile" => ["long",  ["long", "ptr", "ptr", "long", "long"]],
67     "NtQueryInformationProcess" => ["long",  ["long", "long", "ptr", "long", "ptr"]],
68     "NtQueryInformationThread" => ["long",  ["long", "long", "ptr", "long", "ptr"]],
69     "NtQueryInformationToken" => ["long",  ["long", "long", "ptr", "long", "ptr"]],
70     "NtQueryKey" => ["long",  ["long", "long", "ptr", "long", "ptr"]],
71     "NtQueryObject" => ["long",  ["long", "long", "ptr", "long", "ptr"]],
72     "NtQueryPerformanceCounter" => ["long",  ["ptr", "ptr"]],
73     "NtQuerySection" => ["long",  ["long", "ptr", "ptr", "long", "ptr"]],
74     "NtQuerySecurityObject" => ["long",  ["long", "long", "ptr", "long", "ptr"]],
75     "NtQuerySemaphore" => ["long",  ["long", "ptr", "ptr", "long", "ptr"]],
76     "NtQuerySymbolicLinkObject" => ["long",  ["long", "ptr", "ptr"]],
77     "NtQuerySystemInformation" => ["long",  ["long", "ptr", "long", "ptr"]],
78     "NtQuerySystemTime" => ["void",  ["ptr"]],
79     "NtQueryTimerResolution" => ["long",  ["long", "long", "long"]],
80     "NtQueryValueKey" => ["long",  ["long", "ptr", "long", "ptr", "long", "ptr"]],
81     "NtQueryVolumeInformationFile" => ["long",  ["long", "ptr", "ptr", "long", "long"]],
82     "NtRaiseException" => ["void",  ["ptr", "ptr", "long", "ptr"]],
83     "NtReadFile" => ["long",  ["long", "long", "ptr", "ptr", "ptr", "ptr", "long", "ptr", "ptr"]],
84     "NtRegisterThreadTerminatePort" => ["long",  ["long"]],
85     "NtReleaseSemaphore" => ["long",  ["long", "long", "ptr"]],
86     "NtReplaceKey" => ["long",  ["ptr", "long", "ptr"]],
87     "NtReplyWaitReceivePort" => ["long",  ["long", "long", "long", "long"]],
88     "NtRequestWaitReplyPort" => ["long",  ["long", "long", "long"]],
89     "NtResetEvent" => ["long",  ["long", "ptr"]],
90     "NtRestoreKey" => ["long",  ["long", "long", "long"]],
91     "NtResumeThread" => ["long",  ["long", "ptr"]],
92     "NtSaveKey" => ["long",  ["long", "long"]],
93     "NtSetEvent" => ["long",  ["long", "ptr"]],
94     "NtSetInformationFile" => ["long",  ["long", "ptr", "ptr", "long", "long"]],
95     "NtSetInformationKey" => ["long",  ["long", "long", "ptr", "long"]],
96     "NtSetInformationProcess" => ["long",  ["long", "long", "ptr", "long"]],
97     "NtSetInformationThread" => ["long",  ["long", "long", "ptr", "long"]],
98     "NtSetIntervalProfile" => ["long",  ["long", "long"]],
99     "NtSetSecurityObject" => ["long",  ["long", "long", "ptr"]],
100     "NtSetTimer" => ["long",  ["long", "ptr", "ptr", "ptr", "long", "long", "ptr"]],
101     "NtSetValueKey" => ["long",  ["long", "ptr", "long", "long", "ptr", "long"]],
102     "NtSetVolumeInformationFile" => ["long",  ["long", "ptr", "ptr", "long", "long"]],
103     "NtTerminateProcess" => ["long",  ["long", "long"]],
104     "NtTerminateThread" => ["long",  ["long", "long"]],
105     "NtUnloadKey" => ["long",  ["long"]],
106     "NtWaitForSingleObject" => ["long",  ["ptr", "long", "ptr"]],
107     "RtlAcquirePebLock" => ["void",  []],
108     "RtlAcquireResourceExclusive" => ["long",  ["ptr", "long"]],
109     "RtlAcquireResourceShared" => ["long",  ["ptr", "long"]],
110     "RtlAddAccessAllowedAce" => ["long",  ["ptr", "long", "long", "ptr"]],
111     "RtlAddAce" => ["long",  ["ptr", "long", "long", "ptr", "long"]],
112     "RtlAdjustPrivilege" => ["long",  ["long", "long", "long", "long"]],
113     "RtlAllocateAndInitializeSid" => ["long",  ["ptr", "long", "long", "long", "long", "long", "long", "long", "long", "long", "ptr"]],
114     "RtlAllocateHeap" => ["ptr",  ["long", "long", "long"]],
115     "RtlAnsiStringToUnicodeSize" => ["long",  ["ptr"]],
116     "RtlAnsiStringToUnicodeString" => ["long",  ["ptr", "ptr", "long"]],
117     "RtlAppendAsciizToString" => ["long",  ["ptr", "str"]],
118     "RtlAppendStringToString" => ["long",  ["ptr", "ptr"]],
119     "RtlAppendUnicodeStringToString" => ["long",  ["ptr", "ptr"]],
120     "RtlAppendUnicodeToString" => ["long",  ["ptr", "wstr"]],
121     "RtlAssert" => ["void",  ["ptr", "ptr", "long", "long"]],
122     "RtlClearBits" => ["long",  ["long", "long", "long"]],
123     "RtlCompactHeap" => ["long",  ["long", "long"]],
124     "RtlCompareMemory" => ["long",  ["ptr", "ptr", "long"]],
125     "RtlCompareString" => ["long",  ["ptr", "ptr", "long"]],
126     "RtlCompareUnicodeString" => ["long",  ["ptr", "ptr", "long"]],
127     "RtlConvertLongToLargeInteger" => ["longlong",  ["long"]],
128     "RtlConvertSidToUnicodeString" => ["long",  ["ptr", "ptr"]],
129     "RtlConvertUlongToLargeInteger" => ["longlong",  ["long"]],
130     "RtlCopySid" => ["long",  ["long", "ptr", "ptr"]],
131     "RtlCopyString" => ["void",  ["ptr", "ptr"]],
132     "RtlCopyUnicodeString" => ["void",  ["ptr", "ptr"]],
133     "RtlCreateAcl" => ["long",  ["ptr", "long", "long"]],
134     "RtlCreateEnvironment" => ["long",  ["long", "long"]],
135     "RtlCreateHeap" => ["long",  ["long", "ptr", "long", "long", "ptr", "ptr"]],
136     "RtlCreateSecurityDescriptor" => ["long",  ["ptr", "long"]],
137     "RtlCreateUnicodeString" => ["long",  ["ptr", "wstr"]],
138     "RtlCreateUnicodeStringFromAsciiz" => ["long",  ["ptr", "str"]],
139     "RtlDeleteCriticalSection" => ["long",  ["ptr"]],
140     "RtlDeleteResource" => ["void",  ["ptr"]],
141     "RtlDeleteSecurityObject" => ["long",  ["long"]],
142     "RtlDestroyEnvironment" => ["long",  ["long"]],
143     "RtlDestroyHeap" => ["long",  ["long"]],
144     "RtlDosPathNameToNtPathName_U" => ["long",  ["wstr", "ptr", "long", "long"]],
145     "RtlDumpResource" => ["void",  ["ptr"]],
146     "RtlEnlargedIntegerMultiply" => ["longlong",  ["long", "long"]],
147     "RtlEnlargedUnsignedDivide" => ["long",  ["long", "long", "long", "ptr"]],
148     "RtlEnlargedUnsignedMultiply" => ["longlong",  ["long", "long"]],
149     "RtlEnterCriticalSection" => ["long",  ["ptr"]],
150     "RtlEqualPrefixSid" => ["long",  ["ptr", "ptr"]],
151     "RtlEqualSid" => ["long",  ["ptr", "ptr"]],
152     "RtlEqualString" => ["long",  ["ptr", "ptr", "long"]],
153     "RtlEqualUnicodeString" => ["long",  ["ptr", "ptr", "long"]],
154     "RtlEraseUnicodeString" => ["void",  ["ptr"]],
155     "RtlExtendedIntegerMultiply" => ["longlong",  ["long", "long", "long"]],
156     "RtlExtendedLargeIntegerDivide" => ["longlong",  ["long", "long", "long", "ptr"]],
157     "RtlFillMemory" => ["void",  ["ptr", "long", "long"]],
158     "RtlFindClearBits" => ["long",  ["long", "long", "long"]],
159     "RtlFirstFreeAce" => ["long",  ["ptr", "ptr"]],
160     "RtlFormatCurrentUserKeyPath" => ["long",  ["ptr"]],
161     "RtlFreeAnsiString" => ["void",  ["ptr"]],
162     "RtlFreeHeap" => ["long",  ["long", "long", "ptr"]],
163     "RtlFreeOemString" => ["void",  ["ptr"]],
164     "RtlFreeSid" => ["long",  ["ptr"]],
165     "RtlFreeUnicodeString" => ["void",  ["ptr"]],
166     "RtlGetAce" => ["long",  ["ptr", "long", "ptr"]],
167     "RtlGetControlSecurityDescriptor" => ["long",  ["ptr", "ptr", "ptr"]],
168     "RtlGetDaclSecurityDescriptor" => ["long",  ["ptr", "ptr", "ptr", "ptr"]],
169     "RtlGetGroupSecurityDescriptor" => ["long",  ["ptr", "ptr", "ptr"]],
170     "RtlGetNtProductType" => ["long",  ["ptr"]],
171     "RtlGetOwnerSecurityDescriptor" => ["long",  ["ptr", "ptr", "ptr"]],
172     "RtlGetProcessHeaps" => ["long",  ["long", "ptr"]],
173     "RtlGetSaclSecurityDescriptor" => ["long",  ["ptr", "ptr", "ptr", "ptr"]],
174     "RtlIdentifierAuthoritySid" => ["ptr",  ["ptr"]],
175     "RtlImageNtHeader" => ["ptr",  ["long"]],
176     "RtlImpersonateSelf" => ["long",  ["long"]],
177     "RtlInitAnsiString" => ["void",  ["ptr", "str"]],
178     "RtlInitString" => ["void",  ["ptr", "str"]],
179     "RtlInitUnicodeString" => ["void",  ["ptr", "wstr"]],
180     "RtlInitializeBitMap" => ["long",  ["long", "long", "long"]],
181     "RtlInitializeCriticalSection" => ["long",  ["ptr"]],
182     "RtlInitializeCriticalSectionAndSpinCount" => ["long",  ["ptr", "long"]],
183     "RtlInitializeGenericTable" => ["long",  []],
184     "RtlInitializeResource" => ["void",  ["ptr"]],
185     "RtlInitializeSid" => ["long",  ["ptr", "ptr", "long"]],
186     "RtlIntegerToChar" => ["long",  ["long", "long", "long", "long"]],
187     "RtlIsTextUnicode" => ["long",  ["ptr", "long", "ptr"]],
188     "RtlLargeIntegerAdd" => ["longlong",  ["long", "long", "long", "long"]],
189     "RtlLargeIntegerArithmeticShift" => ["longlong",  ["long", "long", "long"]],
190     "RtlLargeIntegerDivide" => ["longlong",  ["long", "long", "long", "long", "ptr"]],
191     "RtlLargeIntegerNegate" => ["longlong",  ["long", "long"]],
192     "RtlLargeIntegerShiftLeft" => ["longlong",  ["long", "long", "long"]],
193     "RtlLargeIntegerShiftRight" => ["longlong",  ["long", "long", "long"]],
194     "RtlLargeIntegerSubtract" => ["longlong",  ["long", "long", "long", "long"]],
195     "RtlLeaveCriticalSection" => ["long",  ["ptr"]],
196     "RtlLengthRequiredSid" => ["long",  ["long"]],
197     "RtlLengthSecurityDescriptor" => ["long",  ["ptr"]],
198     "RtlLengthSid" => ["long",  ["ptr"]],
199     "RtlLockHeap" => ["long",  ["long"]],
200     "RtlMakeSelfRelativeSD" => ["long",  ["ptr", "ptr", "ptr"]],
201     "RtlMoveMemory" => ["void",  ["ptr", "ptr", "long"]],
202     "RtlMultiByteToUnicodeN" => ["long",  ["wstr", "long", "ptr", "str", "long"]],
203     "RtlMultiByteToUnicodeSize" => ["long",  ["ptr", "str", "long"]],
204     "RtlNewSecurityObject" => ["long",  ["long", "long", "long", "long", "long", "long"]],
205     "RtlNormalizeProcessParams" => ["ptr",  ["ptr"]],
206     "RtlNtStatusToDosError" => ["long",  ["long"]],
207     "RtlOemStringToUnicodeSize" => ["long",  ["ptr"]],
208     "RtlOemStringToUnicodeString" => ["long",  ["ptr", "ptr", "long"]],
209     "RtlOemToUnicodeN" => ["long",  ["wstr", "long", "ptr", "str", "long"]],
210     "RtlOpenCurrentUser" => ["long",  ["long", "ptr"]],
211     "RtlPrefixString" => ["long",  ["ptr", "ptr", "long"]],
212     "RtlPrefixUnicodeString" => ["long",  ["ptr", "ptr", "long"]],
213     "RtlQueryEnvironmentVariable_U" => ["long",  ["long", "ptr", "ptr"]],
214     "RtlRaiseException" => ["void",  ["ptr", "ptr"]],
215     "RtlRaiseStatus" => ["void",  ["long"]],
216     "RtlReAllocateHeap" => ["ptr",  ["long", "long", "ptr", "long"]],
217     "RtlReleasePebLock" => ["void",  []],
218     "RtlReleaseResource" => ["void",  ["ptr"]],
219     "RtlSecondsSince1970ToTime" => ["void",  ["long", "ptr"]],
220     "RtlSecondsSince1980ToTime" => ["void",  ["long", "ptr"]],
221     "RtlSetBits" => ["long",  ["long", "long", "long"]],
222     "RtlSetDaclSecurityDescriptor" => ["long",  ["ptr", "long", "ptr", "long"]],
223     "RtlSetEnvironmentVariable" => ["long",  ["long", "ptr", "ptr"]],
224     "RtlSetGroupSecurityDescriptor" => ["long",  ["ptr", "ptr", "long"]],
225     "RtlSetOwnerSecurityDescriptor" => ["long",  ["ptr", "ptr", "long"]],
226     "RtlSetSaclSecurityDescriptor" => ["long",  ["ptr", "long", "ptr", "long"]],
227     "RtlSizeHeap" => ["long",  ["long", "long", "ptr"]],
228     "RtlSubAuthorityCountSid" => ["ptr",  ["ptr"]],
229     "RtlSubAuthoritySid" => ["ptr",  ["ptr", "long"]],
230     "RtlSystemTimeToLocalTime" => ["void",  ["ptr", "ptr"]],
231     "RtlTimeFieldsToTime" => ["long",  ["ptr", "ptr"]],
232     "RtlTimeToElapsedTimeFields" => ["void",  ["ptr", "ptr"]],
233     "RtlTimeToSecondsSince1970" => ["long",  ["ptr", "ptr"]],
234     "RtlTimeToSecondsSince1980" => ["long",  ["ptr", "ptr"]],
235     "RtlTimeToTimeFields" => ["void",  ["ptr", "ptr"]],
236     "RtlTryEnterCriticalSection" => ["long",  ["ptr"]],
237     "RtlUnicodeStringToAnsiSize" => ["long",  ["ptr"]],
238     "RtlUnicodeStringToAnsiString" => ["long",  ["ptr", "ptr", "long"]],
239     "RtlUnicodeStringToOemSize" => ["long",  ["ptr"]],
240     "RtlUnicodeStringToOemString" => ["long",  ["ptr", "ptr", "long"]],
241     "RtlUnicodeToMultiByteN" => ["long",  ["str", "long", "ptr", "wstr", "long"]],
242     "RtlUnicodeToMultiByteSize" => ["long",  ["ptr", "wstr", "long"]],
243     "RtlUnicodeToOemN" => ["long",  ["str", "long", "ptr", "wstr", "long"]],
244     "RtlUnlockHeap" => ["long",  ["long"]],
245     "RtlUnwind" => ["void",  ["ptr", "ptr", "ptr", "long", "ptr"]],
246     "RtlUpcaseUnicodeString" => ["long",  ["ptr", "ptr", "long"]],
247     "RtlUpcaseUnicodeStringToAnsiString" => ["long",  ["ptr", "ptr", "long"]],
248     "RtlUpcaseUnicodeStringToOemString" => ["long",  ["ptr", "ptr", "long"]],
249     "RtlUpcaseUnicodeToMultiByteN" => ["long",  ["str", "long", "ptr", "wstr", "long"]],
250     "RtlUpcaseUnicodeToOemN" => ["long",  ["str", "long", "ptr", "wstr", "long"]],
251     "RtlUpperString" => ["void",  ["ptr", "ptr"]],
252     "RtlValidSecurityDescriptor" => ["long",  ["ptr"]],
253     "RtlValidSid" => ["long",  ["ptr"]],
254     "RtlValidateHeap" => ["long",  ["long", "long", "ptr"]],
255     "RtlWalkHeap" => ["long",  ["long", "ptr"]],
256     "RtlZeroMemory" => ["void",  ["ptr", "long"]],
257     "RtlpUnWaitCriticalSection" => ["long",  ["ptr"]],
258     "RtlpWaitForCriticalSection" => ["long",  ["ptr"]],
259     "RtlxAnsiStringToUnicodeSize" => ["long",  ["ptr"]],
260     "RtlxOemStringToUnicodeSize" => ["long",  ["ptr"]],
261     "RtlxUnicodeStringToAnsiSize" => ["long",  ["ptr"]],
262     "RtlxUnicodeStringToOemSize" => ["long",  ["ptr"]],
263     "ZwAcceptConnectPort" => ["long",  ["long", "long", "long", "long", "long", "long"]],
264     "ZwAdjustGroupsToken" => ["long",  ["long", "long", "ptr", "long", "ptr", "ptr"]],
265     "ZwCompleteConnectPort" => ["long",  ["long"]],
266     "ZwConnectPort" => ["long",  ["long", "ptr", "long", "long", "long", "long", "long", "long"]],
267     "ZwCreateDirectoryObject" => ["long",  ["ptr", "long", "ptr"]],
268     "ZwCreateEvent" => ["long",  ["ptr", "long", "ptr", "long", "long"]],
269     "ZwCreateFile" => ["long",  ["ptr", "long", "ptr", "ptr", "ptr", "long", "long", "long", "long", "ptr", "long"]],
270     "ZwCreateKey" => ["long",  ["ptr", "long", "ptr", "long", "ptr", "long", "ptr"]],
271     "ZwCreateMailslotFile" => ["long",  ["long", "long", "long", "long", "long", "long", "long", "long"]],
272     "ZwCreatePagingFile" => ["long",  ["ptr", "long", "long", "ptr"]],
273     "ZwCreatePort" => ["long",  ["long", "long", "long", "long", "long"]],
274     "ZwCreateSection" => ["long",  ["ptr", "long", "ptr", "ptr", "long", "long", "long"]],
275     "ZwCreateTimer" => ["long",  ["ptr", "long", "ptr", "long"]],
276     "ZwDeleteKey" => ["long",  ["long"]],
277     "ZwDeleteValueKey" => ["long",  ["long", "ptr"]],
278     "ZwDeviceIoControlFile" => ["long",  ["long", "long", "ptr", "ptr", "ptr", "long", "ptr", "long", "ptr", "long"]],
279     "ZwDuplicateObject" => ["long",  ["long", "ptr", "long", "ptr", "long", "long", "long"]],
280     "ZwDuplicateToken" => ["long",  ["long", "long", "ptr", "long", "long", "ptr"]],
281     "ZwEnumerateKey" => ["long",  ["long", "long", "long", "ptr", "long", "ptr"]],
282     "ZwEnumerateValueKey" => ["long",  ["long", "long", "long", "ptr", "long", "ptr"]],
283     "ZwFlushKey" => ["long",  ["long"]],
284     "ZwFsControlFile" => ["long",  ["long", "long", "ptr", "ptr", "ptr", "long", "ptr", "long", "ptr", "long"]],
285     "ZwListenPort" => ["long",  ["long", "long"]],
286     "ZwLoadKey" => ["long",  ["ptr", "ptr"]],
287     "ZwMapViewOfSection" => ["long",  ["long", "long", "ptr", "long", "long", "ptr", "ptr", "long", "long", "long"]],
288     "ZwNotifyChangeKey" => ["long",  ["long", "long", "ptr", "ptr", "ptr", "long", "long", "ptr", "long", "long"]],
289     "ZwOpenDirectoryObject" => ["long",  ["ptr", "long", "ptr"]],
290     "ZwOpenEvent" => ["long",  ["ptr", "long", "ptr"]],
291     "ZwOpenFile" => ["long",  ["ptr", "long", "ptr", "ptr", "long", "long"]],
292     "ZwOpenKey" => ["long",  ["ptr", "long", "ptr"]],
293     "ZwOpenProcessToken" => ["long",  ["long", "long", "ptr"]],
294     "ZwOpenSection" => ["long",  ["ptr", "long", "ptr"]],
295     "ZwOpenThreadToken" => ["long",  ["long", "long", "long", "ptr"]],
296     "ZwQueryDirectoryFile" => ["long",  ["long", "long", "ptr", "ptr", "ptr", "ptr", "long", "long", "long", "ptr", "long"]],
297     "ZwQueryDirectoryObject" => ["long",  ["long", "ptr", "long", "long", "long", "ptr", "ptr"]],
298     "ZwQueryInformationFile" => ["long",  ["long", "ptr", "ptr", "long", "long"]],
299     "ZwQueryInformationProcess" => ["long",  ["long", "long", "ptr", "long", "ptr"]],
300     "ZwQueryInformationThread" => ["long",  ["long", "long", "ptr", "long", "ptr"]],
301     "ZwQueryInformationToken" => ["long",  ["long", "long", "ptr", "long", "ptr"]],
302     "ZwQueryKey" => ["long",  ["long", "long", "ptr", "long", "ptr"]],
303     "ZwQueryObject" => ["long",  ["long", "long", "ptr", "long", "ptr"]],
304     "ZwQuerySystemInformation" => ["long",  ["long", "ptr", "long", "ptr"]],
305     "ZwQuerySystemTime" => ["void",  ["ptr"]],
306     "ZwQueryValueKey" => ["long",  ["long", "ptr", "long", "ptr", "long", "ptr"]],
307     "ZwQueryVolumeInformationFile" => ["long",  ["long", "ptr", "ptr", "long", "long"]],
308     "ZwReadFile" => ["long",  ["long", "long", "ptr", "ptr", "ptr", "ptr", "long", "ptr", "ptr"]],
309     "ZwRegisterThreadTerminatePort" => ["long",  ["long"]],
310     "ZwReplaceKey" => ["long",  ["ptr", "long", "ptr"]],
311     "ZwReplyWaitReceivePort" => ["long",  ["long", "long", "long", "long"]],
312     "ZwRequestWaitReplyPort" => ["long",  ["long", "long", "long"]],
313     "ZwRestoreKey" => ["long",  ["long", "long", "long"]],
314     "ZwResumeThread" => ["long",  ["long", "ptr"]],
315     "ZwSaveKey" => ["long",  ["long", "long"]],
316     "ZwSetEvent" => ["long",  ["long", "ptr"]],
317     "ZwSetInformationFile" => ["long",  ["long", "ptr", "ptr", "long", "long"]],
318     "ZwSetInformationKey" => ["long",  ["long", "long", "ptr", "long"]],
319     "ZwSetInformationProcess" => ["long",  ["long", "long", "ptr", "long"]],
320     "ZwSetInformationThread" => ["long",  ["long", "long", "ptr", "long"]],
321     "ZwSetIntervalProfile" => ["long",  ["long", "long"]],
322     "ZwSetTimer" => ["long",  ["long", "ptr", "ptr", "ptr", "long", "long", "ptr"]],
323     "ZwSetValueKey" => ["long",  ["long", "ptr", "long", "long", "ptr", "long"]],
324     "ZwSetVolumeInformationFile" => ["long",  ["long", "ptr", "ptr", "long", "long"]],
325     "ZwTerminateThread" => ["long",  ["long", "long"]],
326     "ZwUnloadKey" => ["long",  ["long"]],
327     "ZwWaitForSingleObject" => ["long",  ["ptr", "long", "ptr"]],
328     "_alldiv" => ["longlong",  ["long", "long", "long", "long"]],
329     "_allmul" => ["longlong",  ["long", "long", "long", "long"]],
330     "_alloca_probe" => ["void",  ["ptr"]],
331     "_allrem" => ["longlong",  ["long", "long", "long", "long"]],
332     "_aulldiv" => ["longlong",  ["long", "long", "long", "long"]],
333     "_aullrem" => ["longlong",  ["long", "long", "long", "long"]],
334     "_chkstk" => ["void",  ["ptr"]]
335 };
336
337 &wine::declare("ntdll",%$module_declarations);
338 push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
339 1;