Handle generic column width changes.
[wine] / programs / winetest / include / advapi32.pm
1 package advapi32;
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     "AbortSystemShutdownA" => ["long",  ["str"]],
16     "AbortSystemShutdownW" => ["long",  ["wstr"]],
17     "AccessCheck" => ["long",  ["ptr", "long", "long", "ptr", "ptr", "ptr", "ptr", "ptr"]],
18     "AddAccessAllowedAce" => ["long",  ["ptr", "long", "long", "ptr"]],
19     "AdjustTokenPrivileges" => ["long",  ["long", "long", "ptr", "long", "ptr", "ptr"]],
20     "AllocateAndInitializeSid" => ["long",  ["ptr", "long", "long", "long", "long", "long", "long", "long", "long", "long", "ptr"]],
21     "AllocateLocallyUniqueId" => ["long",  ["ptr"]],
22     "BackupEventLogA" => ["long",  ["long", "str"]],
23     "BackupEventLogW" => ["long",  ["long", "wstr"]],
24     "CheckTokenMembership" => ["long",  ["long", "ptr", "ptr"]],
25     "ClearEventLogA" => ["long",  ["long", "str"]],
26     "ClearEventLogW" => ["long",  ["long", "wstr"]],
27     "CloseEventLog" => ["long",  ["long"]],
28     "CloseServiceHandle" => ["long",  ["long"]],
29     "ControlService" => ["long",  ["long", "long", "ptr"]],
30     "CopySid" => ["long",  ["long", "ptr", "ptr"]],
31     "CreateServiceA" => ["long",  ["long", "str", "str", "long", "long", "long", "long", "str", "str", "ptr", "str", "str", "str"]],
32     "CreateServiceW" => ["long",  ["long", "wstr", "wstr", "long", "long", "long", "long", "wstr", "wstr", "ptr", "wstr", "wstr", "wstr"]],
33     "CryptAcquireContextA" => ["long",  ["ptr", "str", "str", "long", "long"]],
34     "CryptAcquireContextW" => ["long",  ["ptr", "wstr", "wstr", "long", "long"]],
35     "CryptContextAddRef" => ["long",  ["long", "ptr", "long"]],
36     "CryptCreateHash" => ["long",  ["long", "long", "long", "long", "ptr"]],
37     "CryptDecrypt" => ["long",  ["long", "long", "long", "long", "ptr", "ptr"]],
38     "CryptDeriveKey" => ["long",  ["long", "long", "long", "long", "ptr"]],
39     "CryptDestroyHash" => ["long",  ["long"]],
40     "CryptDestroyKey" => ["long",  ["long"]],
41     "CryptDuplicateHash" => ["long",  ["long", "ptr", "long", "ptr"]],
42     "CryptDuplicateKey" => ["long",  ["long", "ptr", "long", "ptr"]],
43     "CryptEncrypt" => ["long",  ["long", "long", "long", "long", "ptr", "ptr", "long"]],
44     "CryptEnumProviderTypesA" => ["long",  ["long", "ptr", "long", "ptr", "str", "ptr"]],
45     "CryptEnumProviderTypesW" => ["long",  ["long", "ptr", "long", "ptr", "wstr", "ptr"]],
46     "CryptEnumProvidersA" => ["long",  ["long", "ptr", "long", "ptr", "str", "ptr"]],
47     "CryptEnumProvidersW" => ["long",  ["long", "ptr", "long", "ptr", "wstr", "ptr"]],
48     "CryptExportKey" => ["long",  ["long", "long", "long", "long", "ptr", "ptr"]],
49     "CryptGenKey" => ["long",  ["long", "long", "long", "ptr"]],
50     "CryptGenRandom" => ["long",  ["long", "long", "ptr"]],
51     "CryptGetDefaultProviderA" => ["long",  ["long", "ptr", "long", "str", "ptr"]],
52     "CryptGetDefaultProviderW" => ["long",  ["long", "ptr", "long", "wstr", "ptr"]],
53     "CryptGetHashParam" => ["long",  ["long", "long", "ptr", "ptr", "long"]],
54     "CryptGetKeyParam" => ["long",  ["long", "long", "ptr", "ptr", "long"]],
55     "CryptGetProvParam" => ["long",  ["long", "long", "ptr", "ptr", "long"]],
56     "CryptGetUserKey" => ["long",  ["long", "long", "ptr"]],
57     "CryptHashData" => ["long",  ["long", "ptr", "long", "long"]],
58     "CryptHashSessionKey" => ["long",  ["long", "long", "long"]],
59     "CryptImportKey" => ["long",  ["long", "ptr", "long", "long", "long", "ptr"]],
60     "CryptReleaseContext" => ["long",  ["long", "long"]],
61     "CryptSetHashParam" => ["long",  ["long", "long", "ptr", "long"]],
62     "CryptSetKeyParam" => ["long",  ["long", "long", "ptr", "long"]],
63     "CryptSetProvParam" => ["long",  ["long", "long", "ptr", "long"]],
64     "CryptSetProviderA" => ["long",  ["str", "long"]],
65     "CryptSetProviderExA" => ["long",  ["str", "long", "ptr", "long"]],
66     "CryptSetProviderExW" => ["long",  ["wstr", "long", "ptr", "long"]],
67     "CryptSetProviderW" => ["long",  ["wstr", "long"]],
68     "CryptSignHashA" => ["long",  ["long", "long", "str", "long", "ptr", "ptr"]],
69     "CryptSignHashW" => ["long",  ["long", "long", "str", "long", "ptr", "ptr"]],
70     "CryptVerifySignatureA" => ["long",  ["long", "ptr", "long", "long", "str", "long"]],
71     "CryptVerifySignatureW" => ["long",  ["long", "ptr", "long", "long", "str", "long"]],
72     "DeleteService" => ["long",  ["long"]],
73     "DeregisterEventSource" => ["long",  ["long"]],
74     "EnumServicesStatusA" => ["long",  ["long", "long", "long", "ptr", "long", "ptr", "ptr", "ptr"]],
75     "EnumServicesStatusW" => ["long",  ["long", "long", "long", "ptr", "long", "ptr", "ptr", "ptr"]],
76     "EqualPrefixSid" => ["long",  ["ptr", "ptr"]],
77     "EqualSid" => ["long",  ["ptr", "ptr"]],
78     "FreeSid" => ["ptr",  ["ptr"]],
79     "GetAce" => ["long",  ["ptr", "long", "ptr"]],
80     "GetCurrentHwProfileA" => ["long",  ["ptr"]],
81     "GetFileSecurityA" => ["long",  ["str", "long", "ptr", "long", "ptr"]],
82     "GetFileSecurityW" => ["long",  ["wstr", "long", "ptr", "long", "ptr"]],
83     "GetLengthSid" => ["long",  ["ptr"]],
84     "GetNumberOfEventLogRecords" => ["long",  ["long", "ptr"]],
85     "GetOldestEventLogRecord" => ["long",  ["long", "ptr"]],
86     "GetSecurityDescriptorControl" => ["long",  ["ptr", "ptr", "ptr"]],
87     "GetSecurityDescriptorDacl" => ["long",  ["ptr", "ptr", "ptr", "ptr"]],
88     "GetSecurityDescriptorGroup" => ["long",  ["ptr", "ptr", "ptr"]],
89     "GetSecurityDescriptorLength" => ["long",  ["ptr"]],
90     "GetSecurityDescriptorOwner" => ["long",  ["ptr", "ptr", "ptr"]],
91     "GetSecurityDescriptorSacl" => ["long",  ["ptr", "ptr", "ptr", "ptr"]],
92     "GetSidIdentifierAuthority" => ["ptr",  ["ptr"]],
93     "GetSidLengthRequired" => ["long",  ["long"]],
94     "GetSidSubAuthority" => ["ptr",  ["ptr", "long"]],
95     "GetSidSubAuthorityCount" => ["ptr",  ["ptr"]],
96     "GetTokenInformation" => ["long",  ["long", "long", "ptr", "long", "ptr"]],
97     "GetUserNameA" => ["long",  ["str", "ptr"]],
98     "GetUserNameW" => ["long",  ["wstr", "ptr"]],
99     "ImpersonateLoggedOnUser" => ["long",  ["long"]],
100     "ImpersonateSelf" => ["long",  ["long"]],
101     "InitializeAcl" => ["long",  ["ptr", "long", "long"]],
102     "InitializeSecurityDescriptor" => ["long",  ["ptr", "long"]],
103     "InitializeSid" => ["long",  ["ptr", "ptr", "long"]],
104     "IsValidSecurityDescriptor" => ["long",  ["ptr"]],
105     "IsValidSid" => ["long",  ["ptr"]],
106     "LookupAccountNameA" => ["long",  ["str", "str", "ptr", "ptr", "str", "ptr", "ptr"]],
107     "LookupAccountSidA" => ["long",  ["str", "ptr", "str", "ptr", "str", "ptr", "ptr"]],
108     "LookupAccountSidW" => ["long",  ["wstr", "ptr", "wstr", "ptr", "wstr", "ptr", "ptr"]],
109     "LookupPrivilegeValueA" => ["long",  ["str", "str", "ptr"]],
110     "LookupPrivilegeValueW" => ["long",  ["wstr", "wstr", "ptr"]],
111     "LsaClose" => ["long",  ["long"]],
112     "LsaFreeMemory" => ["long",  ["ptr"]],
113     "LsaLookupSids" => ["long",  ["long", "long", "ptr", "ptr", "ptr"]],
114     "LsaOpenPolicy" => ["long",  ["ptr", "ptr", "long", "ptr"]],
115     "LsaQueryInformationPolicy" => ["long",  ["long", "long", "ptr"]],
116     "MakeSelfRelativeSD" => ["long",  ["ptr", "ptr", "ptr"]],
117     "NotifyBootConfigStatus" => ["long",  ["long"]],
118     "NotifyChangeEventLog" => ["long",  ["long", "long"]],
119     "OpenBackupEventLogA" => ["long",  ["str", "str"]],
120     "OpenBackupEventLogW" => ["long",  ["wstr", "wstr"]],
121     "OpenEventLogA" => ["long",  ["str", "str"]],
122     "OpenEventLogW" => ["long",  ["wstr", "wstr"]],
123     "OpenProcessToken" => ["long",  ["long", "long", "ptr"]],
124     "OpenSCManagerA" => ["long",  ["str", "str", "long"]],
125     "OpenSCManagerW" => ["long",  ["wstr", "wstr", "long"]],
126     "OpenServiceA" => ["long",  ["long", "str", "long"]],
127     "OpenServiceW" => ["long",  ["long", "wstr", "long"]],
128     "OpenThreadToken" => ["long",  ["long", "long", "long", "ptr"]],
129     "PrivilegeCheck" => ["long",  ["long", "ptr", "ptr"]],
130     "QueryServiceStatus" => ["long",  ["long", "ptr"]],
131     "QueryWindows31FilesMigration" => ["long",  ["long"]],
132     "ReadEventLogA" => ["long",  ["long", "long", "long", "ptr", "long", "ptr", "ptr"]],
133     "ReadEventLogW" => ["long",  ["long", "long", "long", "ptr", "long", "ptr", "ptr"]],
134     "RegCloseKey" => ["long",  ["long"]],
135     "RegConnectRegistryA" => ["long",  ["str", "long", "ptr"]],
136     "RegConnectRegistryW" => ["long",  ["wstr", "long", "ptr"]],
137     "RegCreateKeyA" => ["long",  ["long", "str", "ptr"]],
138     "RegCreateKeyExA" => ["long",  ["long", "str", "long", "str", "long", "long", "ptr", "ptr", "ptr"]],
139     "RegCreateKeyExW" => ["long",  ["long", "wstr", "long", "wstr", "long", "long", "ptr", "ptr", "ptr"]],
140     "RegCreateKeyW" => ["long",  ["long", "wstr", "ptr"]],
141     "RegDeleteKeyA" => ["long",  ["long", "str"]],
142     "RegDeleteKeyW" => ["long",  ["long", "wstr"]],
143     "RegDeleteValueA" => ["long",  ["long", "str"]],
144     "RegDeleteValueW" => ["long",  ["long", "wstr"]],
145     "RegEnumKeyA" => ["long",  ["long", "long", "str", "long"]],
146     "RegEnumKeyExA" => ["long",  ["long", "long", "str", "ptr", "ptr", "str", "ptr", "ptr"]],
147     "RegEnumKeyExW" => ["long",  ["long", "long", "wstr", "ptr", "ptr", "wstr", "ptr", "ptr"]],
148     "RegEnumKeyW" => ["long",  ["long", "long", "wstr", "long"]],
149     "RegEnumValueA" => ["long",  ["long", "long", "str", "ptr", "ptr", "ptr", "ptr", "ptr"]],
150     "RegEnumValueW" => ["long",  ["long", "long", "wstr", "ptr", "ptr", "ptr", "ptr", "ptr"]],
151     "RegFlushKey" => ["long",  ["long"]],
152     "RegGetKeySecurity" => ["long",  ["long", "long", "ptr", "ptr"]],
153     "RegLoadKeyA" => ["long",  ["long", "str", "str"]],
154     "RegLoadKeyW" => ["long",  ["long", "wstr", "wstr"]],
155     "RegNotifyChangeKeyValue" => ["long",  ["long", "long", "long", "long", "long"]],
156     "RegOpenCurrentUser" => ["long",  ["long", "ptr"]],
157     "RegOpenKeyA" => ["long",  ["long", "str", "ptr"]],
158     "RegOpenKeyExA" => ["long",  ["long", "str", "long", "long", "ptr"]],
159     "RegOpenKeyExW" => ["long",  ["long", "wstr", "long", "long", "ptr"]],
160     "RegOpenKeyW" => ["long",  ["long", "wstr", "ptr"]],
161     "RegQueryInfoKeyA" => ["long",  ["long", "str", "ptr", "ptr", "ptr", "ptr", "ptr", "ptr", "ptr", "ptr", "ptr", "ptr"]],
162     "RegQueryInfoKeyW" => ["long",  ["long", "wstr", "ptr", "ptr", "ptr", "ptr", "ptr", "ptr", "ptr", "ptr", "ptr", "ptr"]],
163     "RegQueryMultipleValuesA" => ["long",  ["long", "ptr", "long", "str", "ptr"]],
164     "RegQueryMultipleValuesW" => ["long",  ["long", "ptr", "long", "wstr", "ptr"]],
165     "RegQueryValueA" => ["long",  ["long", "str", "str", "ptr"]],
166     "RegQueryValueExA" => ["long",  ["long", "str", "ptr", "ptr", "ptr", "ptr"]],
167     "RegQueryValueExW" => ["long",  ["long", "wstr", "ptr", "ptr", "ptr", "ptr"]],
168     "RegQueryValueW" => ["long",  ["long", "wstr", "wstr", "ptr"]],
169     "RegReplaceKeyA" => ["long",  ["long", "str", "str", "str"]],
170     "RegReplaceKeyW" => ["long",  ["long", "wstr", "wstr", "wstr"]],
171     "RegRestoreKeyA" => ["long",  ["long", "str", "long"]],
172     "RegRestoreKeyW" => ["long",  ["long", "wstr", "long"]],
173     "RegSaveKeyA" => ["long",  ["long", "str", "ptr"]],
174     "RegSaveKeyW" => ["long",  ["long", "wstr", "ptr"]],
175     "RegSetKeySecurity" => ["long",  ["long", "long", "ptr"]],
176     "RegSetValueA" => ["long",  ["long", "str", "long", "str", "long"]],
177     "RegSetValueExA" => ["long",  ["long", "str", "long", "long", "ptr", "long"]],
178     "RegSetValueExW" => ["long",  ["long", "wstr", "long", "long", "ptr", "long"]],
179     "RegSetValueW" => ["long",  ["long", "wstr", "long", "wstr", "long"]],
180     "RegUnLoadKeyA" => ["long",  ["long", "str"]],
181     "RegUnLoadKeyW" => ["long",  ["long", "wstr"]],
182     "RegisterEventSourceA" => ["long",  ["str", "str"]],
183     "RegisterEventSourceW" => ["long",  ["wstr", "wstr"]],
184     "RegisterServiceCtrlHandlerA" => ["long",  ["str", "ptr"]],
185     "RegisterServiceCtrlHandlerW" => ["long",  ["wstr", "ptr"]],
186     "ReportEventA" => ["long",  ["long", "long", "long", "long", "ptr", "long", "long", "ptr", "ptr"]],
187     "ReportEventW" => ["long",  ["long", "long", "long", "long", "ptr", "long", "long", "ptr", "ptr"]],
188     "RevertToSelf" => ["long",  []],
189     "SetFileSecurityA" => ["long",  ["str", "long", "ptr"]],
190     "SetFileSecurityW" => ["long",  ["wstr", "long", "ptr"]],
191     "SetKernelObjectSecurity" => ["long",  ["long", "long", "ptr"]],
192     "SetSecurityDescriptorDacl" => ["long",  ["ptr", "long", "ptr", "long"]],
193     "SetSecurityDescriptorGroup" => ["long",  ["ptr", "ptr", "long"]],
194     "SetSecurityDescriptorOwner" => ["long",  ["ptr", "ptr", "long"]],
195     "SetSecurityDescriptorSacl" => ["long",  ["ptr", "long", "ptr", "long"]],
196     "SetServiceStatus" => ["long",  ["long", "ptr"]],
197     "SetThreadToken" => ["long",  ["ptr", "long"]],
198     "SetTokenInformation" => ["long",  ["long", "long", "ptr", "long"]],
199     "StartServiceA" => ["long",  ["long", "long", "ptr"]],
200     "StartServiceCtrlDispatcherA" => ["long",  ["ptr"]],
201     "StartServiceCtrlDispatcherW" => ["long",  ["ptr"]],
202     "StartServiceW" => ["long",  ["long", "long", "ptr"]],
203     "SynchronizeWindows31FilesAndWindowsNTRegistry" => ["long",  ["long", "long", "long", "long"]]
204 };
205
206 &wine::declare("advapi32",%$module_declarations);
207 push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
208 1;