Removed #include of wingdi.h and windef.h from winuser.h (and resolved
[wine] / dlls / shell32 / shpolicy.c
1 /*
2  * shpolicy.c - Data for shell/system policies.
3  *
4  * Created 1999 by Ian Schmidt <ischmidt@cfl.rr.com>
5  *
6  * Some of these policies can be tweaked via the System Policy
7  * Editor which came with the Win95 Migration Guide, although
8  * there doesn't appear to be an updated Win98 version that
9  * would handle the many new policies introduced since then.
10  * You could easily write one with the information in 
11  * this file...
12  * 
13  * Up to date as of SHELL32 v4.72 (Win98, Win95 with MSIE 5)
14  */
15
16 #include <stdlib.h>
17 #include <string.h>
18
19 #include "windef.h"
20 #include "wingdi.h"
21 #include "wine/winuser16.h"
22 #include "shpolicy.h"
23
24 /* application strings */
25
26 static char strExplorer[] = {"Explorer"};
27 static char strActiveDesk[] = {"ActiveDesktop"};
28 static char strWinOldApp[] = {"WinOldApp"};
29
30 /* key strings */
31
32 static char strNoFileURL[] = {"NoFileUrl"};
33 static char strNoFolderOptions[] = {"NoFolderOptions"};
34 static char strNoChangeStartMenu[] = {"NoChangeStartMenu"};
35 static char strNoWindowsUpdate[] = {"NoWindowsUpdate"};
36 static char strNoSetActiveDesktop[] = {"NoSetActiveDesktop"};
37 static char strNoForgetSoftwareUpdate[] = {"NoForgetSoftwareUpdate"};
38 static char strNoMSAppLogo[] = {"NoMSAppLogo5ChannelNotify"};
39 static char strForceCopyACLW[] = {"ForceCopyACLWithFile"};
40 static char strNoResolveTrk[] = {"NoResolveTrack"};
41 static char strNoResolveSearch[] = {"NoResolveSearch"};
42 static char strNoEditComponent[] = {"NoEditingComponents"};
43 static char strNoMovingBand[] = {"NoMovingBands"};
44 static char strNoCloseDragDrop[] = {"NoCloseDragDropBands"};
45 static char strNoCloseComponent[] = {"NoClosingComponents"};
46 static char strNoDelComponent[] = {"NoDeletingComponents"};
47 static char strNoAddComponent[] = {"NoAddingComponents"};
48 static char strNoComponent[] = {"NoComponents"};
49 static char strNoChangeWallpaper[] = {"NoChangingWallpaper"};
50 static char strNoHTMLWallpaper[] = {"NoHTMLWallpaper"};
51 static char strNoCustomWebView[] = {"NoCustomizeWebView"};
52 static char strClassicShell[] = {"ClassicShell"};
53 static char strClearRecentDocs[] = {"ClearRecentDocsOnExit"};
54 static char strNoFavoritesMenu[] = {"NoFavoritesMenu"};
55 static char strNoActiveDesktopChanges[] = {"NoActiveDesktopChanges"};
56 static char strNoActiveDesktop[] = {"NoActiveDesktop"};
57 static char strNoRecentDocMenu[] = {"NoRecentDocsMenu"};
58 static char strNoRecentDocHistory[] = {"NoRecentDocsHistory"};
59 static char strNoInetIcon[] = {"NoInternetIcon"};
60 static char strNoStngsWizard[] = {"NoSettingsWizards"};
61 static char strNoLogoff[] = {"NoLogoff"};
62 static char strNoNetConDis[] = {"NoNetConnectDisconnect"};
63 static char strNoContextMenu[] = {"NoViewContextMenu"};
64 static char strNoTryContextMenu[] = {"NoTrayContextMenu"};
65 static char strNoWebMenu[] = {"NoWebMenu"};
66 static char strLnkResolveIgnoreLnkInfo[] = {"LinkResolveIgnoreLinkInfo"};
67 static char strNoCommonGroups[] = {"NoCommonGroups"};
68 static char strEnforceShlExtSecurity[] = {"EnforceShellExtensionSecurity"};
69 static char strNoRealMode[] = {"NoRealMode"};
70 static char strMyDocsOnNet[] = {"MyDocsOnNet"};
71 static char strNoStartMenuSubfolder[] = {"NoStartMenuSubFolders"};
72 static char strNoAddPrinters[] = {"NoAddPrinter"};
73 static char strNoDeletePrinters[] = {"NoDeletePrinter"};
74 static char strNoPrintTab[] = {"NoPrinterTabs"};
75 static char strRestrictRun[] = {"RestrictRun"};
76 static char strNoStartBanner[] = {"NoStartBanner"};
77 static char strNoNetworkNeighborhood[] = {"NoNetHood"};
78 static char strNoDriveTypeAtRun[] = {"NoDriveTypeAutoRun"};
79 static char strNoDrivesAutoRun[] = {"NoDriveAutoRun"};
80 static char strNoDrives[] = {"NoDrives"};
81 static char strNoFind[] = {"NoFind"};
82 static char strNoDesktop[] = {"NoDesktop"};
83 static char strNoSetTaskBar[] = {"NoSetTaskbar"};
84 static char strNoSetFld[] = {"NoSetFolders"};
85 static char strNoFileMenu[] = {"NoFileMenu"};
86 static char strNoSavSetng[] = {"NoSaveSettings"};
87 static char strNoClose[] = {"NoClose"};
88 static char strNoRun[] = {"NoRun"};
89
90 /* policy data array */
91
92 POLICYDATA sh32_policy_table[] = 
93 {
94   {
95     0x1,
96     strExplorer,
97     strNoRun,
98     SHELL_NO_POLICY
99   },
100   {
101     0x2,
102     strExplorer,
103     strNoClose,
104     SHELL_NO_POLICY
105   },
106   {
107     0x4,
108     strExplorer,
109     strNoSavSetng,
110     SHELL_NO_POLICY
111   },
112   {
113     0x8,
114     strExplorer,
115     strNoFileMenu,
116     SHELL_NO_POLICY
117   },
118   {
119     0x10,
120     strExplorer,
121     strNoSetFld,
122     SHELL_NO_POLICY
123   },
124   {
125     0x20,
126     strExplorer,
127     strNoSetTaskBar,
128     SHELL_NO_POLICY
129   },
130   {
131     0x40,
132     strExplorer,
133     strNoDesktop,
134     SHELL_NO_POLICY
135   },
136   {
137     0x80,
138     strExplorer,
139     strNoFind,
140     SHELL_NO_POLICY
141   },
142   {
143     0x100,
144     strExplorer,
145     strNoDrives,
146     SHELL_NO_POLICY
147   },
148   {
149     0x200,
150     strExplorer,
151     strNoDrivesAutoRun,
152     SHELL_NO_POLICY
153   },
154   {
155     0x400,
156     strExplorer,
157     strNoDriveTypeAtRun,
158     SHELL_NO_POLICY
159   },
160   {
161     0x800,
162     strExplorer,
163     strNoNetworkNeighborhood,
164     SHELL_NO_POLICY
165   },
166   {
167     0x1000,
168     strExplorer,
169     strNoStartBanner,
170     SHELL_NO_POLICY
171   },
172   {
173     0x2000,
174     strExplorer,
175     strRestrictRun,
176     SHELL_NO_POLICY
177   },
178   {
179     0x4000,
180     strExplorer,
181     strNoPrintTab,
182     SHELL_NO_POLICY
183   },
184   {
185     0x8000,
186     strExplorer,
187     strNoDeletePrinters,
188     SHELL_NO_POLICY
189   },
190   {
191     0x10000,
192     strExplorer,
193     strNoAddPrinters,
194     SHELL_NO_POLICY
195   },
196   {
197     0x20000,
198     strExplorer,
199     strNoStartMenuSubfolder,
200     SHELL_NO_POLICY
201   },
202   {
203     0x40000,
204     strExplorer,
205     strMyDocsOnNet,
206     SHELL_NO_POLICY
207   },
208   {
209     0x80000,
210     strWinOldApp,
211     strNoRealMode,
212     SHELL_NO_POLICY
213   },
214   {
215     0x100000,
216     strExplorer,
217     strEnforceShlExtSecurity,
218     SHELL_NO_POLICY
219   },
220   {
221     0x200000,
222     strExplorer,
223     strLnkResolveIgnoreLnkInfo,
224     SHELL_NO_POLICY
225   },
226   {
227     0x400000,
228     strExplorer,
229     strNoCommonGroups,
230     SHELL_NO_POLICY
231   },
232   {
233     0x1000000,
234     strExplorer,
235     strNoWebMenu,
236     SHELL_NO_POLICY
237   },
238   {
239     0x2000000,
240     strExplorer,
241     strNoTryContextMenu,
242     SHELL_NO_POLICY
243   },
244   {
245     0x4000000,
246     strExplorer,
247     strNoContextMenu,
248     SHELL_NO_POLICY
249   },
250   {
251     0x8000000,
252     strExplorer,
253     strNoNetConDis,
254     SHELL_NO_POLICY
255   },
256   {
257     0x10000000,
258     strExplorer,
259     strNoLogoff,
260     SHELL_NO_POLICY
261   },
262   {
263     0x20000000,
264     strExplorer,
265     strNoStngsWizard,
266     SHELL_NO_POLICY
267   },
268   {
269     0x40000001,
270     strExplorer,
271     strNoInetIcon,
272     SHELL_NO_POLICY
273   },
274   {
275     0x40000002,
276     strExplorer,
277     strNoRecentDocHistory,
278     SHELL_NO_POLICY
279   },
280   {
281     0x40000003,
282     strExplorer,
283     strNoRecentDocMenu,
284     SHELL_NO_POLICY
285   },
286   {
287     0x40000004,
288     strExplorer,
289     strNoActiveDesktop,
290     SHELL_NO_POLICY
291   },
292   {
293     0x40000005,
294     strExplorer,
295     strNoActiveDesktopChanges,
296     SHELL_NO_POLICY
297   },
298   {
299     0x40000006,
300     strExplorer,
301     strNoFavoritesMenu,
302     SHELL_NO_POLICY
303   },
304   {
305     0x40000007,
306     strExplorer,
307     strClearRecentDocs,
308     SHELL_NO_POLICY
309   },
310   {
311     0x40000008,
312     strExplorer,
313     strClassicShell,
314     SHELL_NO_POLICY
315   },
316   {
317     0x40000009,
318     strExplorer,
319     strNoCustomWebView,
320     SHELL_NO_POLICY
321   },
322   {
323     0x40000010,
324     strActiveDesk,
325     strNoHTMLWallpaper,
326     SHELL_NO_POLICY
327   },
328   {
329     0x40000011,
330     strActiveDesk,
331     strNoChangeWallpaper,
332     SHELL_NO_POLICY
333   },
334   {
335     0x40000012,
336     strActiveDesk,
337     strNoComponent,
338     SHELL_NO_POLICY
339   },
340   {
341     0x40000013,
342     strActiveDesk,
343     strNoAddComponent,
344     SHELL_NO_POLICY
345   },
346   {
347     0x40000014,
348     strActiveDesk,
349     strNoDelComponent,
350     SHELL_NO_POLICY
351   },
352   {
353     0x40000015,
354     strActiveDesk,
355     strNoCloseComponent,
356     SHELL_NO_POLICY
357   },
358   {
359     0x40000016,
360     strActiveDesk,
361     strNoCloseDragDrop,
362     SHELL_NO_POLICY
363   },
364   {
365     0x40000017,
366     strActiveDesk,
367     strNoMovingBand,
368     SHELL_NO_POLICY
369   },
370   {
371     0x40000018,
372     strActiveDesk,
373     strNoEditComponent,
374     SHELL_NO_POLICY
375   },
376   {
377     0x40000019,
378     strExplorer,
379     strNoResolveSearch,
380     SHELL_NO_POLICY
381   },
382   {
383     0x4000001a,
384     strExplorer,
385     strNoResolveTrk,
386     SHELL_NO_POLICY
387   },
388   {
389     0x4000001b,
390     strExplorer,
391     strForceCopyACLW,
392     SHELL_NO_POLICY
393   },
394   {
395     0x4000001c,
396     strExplorer,
397     strNoMSAppLogo,
398     SHELL_NO_POLICY
399   },
400   {
401     0x4000001d,
402     strExplorer,
403     strNoForgetSoftwareUpdate,
404     SHELL_NO_POLICY
405   },
406   {
407     0x4000001e,
408     strExplorer,
409     strNoSetActiveDesktop,
410     SHELL_NO_POLICY
411   },
412   {
413     0x4000001f,
414     strExplorer,
415     strNoWindowsUpdate,
416     SHELL_NO_POLICY
417   },
418   {
419     0x40000020,
420     strExplorer,
421     strNoChangeStartMenu,
422     SHELL_NO_POLICY
423   },
424   {
425     0x40000021,
426     strExplorer,
427     strNoFolderOptions,
428     SHELL_NO_POLICY
429   },
430   {
431     0x50000024,
432     strExplorer,
433     strNoFileURL,
434     SHELL_NO_POLICY
435   }
436 };