Delete PROJECTN ifdefs from Corelib (dotnet/coreclr#26058)
[mono-project.git] / netcore / System.Private.CoreLib / shared / System / Environment.SpecialFolder.cs
bloba5a4d2abfde3a90e87e4e878f100498b041a905a
1 // Licensed to the .NET Foundation under one or more agreements.
2 // The .NET Foundation licenses this file to you under the MIT license.
3 // See the LICENSE file in the project root for more information.
5 namespace System
7 public static partial class Environment
9 public enum SpecialFolder
11 ApplicationData = SpecialFolderValues.CSIDL_APPDATA,
12 CommonApplicationData = SpecialFolderValues.CSIDL_COMMON_APPDATA,
13 LocalApplicationData = SpecialFolderValues.CSIDL_LOCAL_APPDATA,
14 Cookies = SpecialFolderValues.CSIDL_COOKIES,
15 Desktop = SpecialFolderValues.CSIDL_DESKTOP,
16 Favorites = SpecialFolderValues.CSIDL_FAVORITES,
17 History = SpecialFolderValues.CSIDL_HISTORY,
18 InternetCache = SpecialFolderValues.CSIDL_INTERNET_CACHE,
19 Programs = SpecialFolderValues.CSIDL_PROGRAMS,
20 MyComputer = SpecialFolderValues.CSIDL_DRIVES,
21 MyMusic = SpecialFolderValues.CSIDL_MYMUSIC,
22 MyPictures = SpecialFolderValues.CSIDL_MYPICTURES,
23 MyVideos = SpecialFolderValues.CSIDL_MYVIDEO,
24 Recent = SpecialFolderValues.CSIDL_RECENT,
25 SendTo = SpecialFolderValues.CSIDL_SENDTO,
26 StartMenu = SpecialFolderValues.CSIDL_STARTMENU,
27 Startup = SpecialFolderValues.CSIDL_STARTUP,
28 System = SpecialFolderValues.CSIDL_SYSTEM,
29 Templates = SpecialFolderValues.CSIDL_TEMPLATES,
30 DesktopDirectory = SpecialFolderValues.CSIDL_DESKTOPDIRECTORY,
31 Personal = SpecialFolderValues.CSIDL_PERSONAL,
32 MyDocuments = SpecialFolderValues.CSIDL_PERSONAL,
33 ProgramFiles = SpecialFolderValues.CSIDL_PROGRAM_FILES,
34 CommonProgramFiles = SpecialFolderValues.CSIDL_PROGRAM_FILES_COMMON,
35 AdminTools = SpecialFolderValues.CSIDL_ADMINTOOLS,
36 CDBurning = SpecialFolderValues.CSIDL_CDBURN_AREA,
37 CommonAdminTools = SpecialFolderValues.CSIDL_COMMON_ADMINTOOLS,
38 CommonDocuments = SpecialFolderValues.CSIDL_COMMON_DOCUMENTS,
39 CommonMusic = SpecialFolderValues.CSIDL_COMMON_MUSIC,
40 CommonOemLinks = SpecialFolderValues.CSIDL_COMMON_OEM_LINKS,
41 CommonPictures = SpecialFolderValues.CSIDL_COMMON_PICTURES,
42 CommonStartMenu = SpecialFolderValues.CSIDL_COMMON_STARTMENU,
43 CommonPrograms = SpecialFolderValues.CSIDL_COMMON_PROGRAMS,
44 CommonStartup = SpecialFolderValues.CSIDL_COMMON_STARTUP,
45 CommonDesktopDirectory = SpecialFolderValues.CSIDL_COMMON_DESKTOPDIRECTORY,
46 CommonTemplates = SpecialFolderValues.CSIDL_COMMON_TEMPLATES,
47 CommonVideos = SpecialFolderValues.CSIDL_COMMON_VIDEO,
48 Fonts = SpecialFolderValues.CSIDL_FONTS,
49 NetworkShortcuts = SpecialFolderValues.CSIDL_NETHOOD,
50 PrinterShortcuts = SpecialFolderValues.CSIDL_PRINTHOOD,
51 UserProfile = SpecialFolderValues.CSIDL_PROFILE,
52 CommonProgramFilesX86 = SpecialFolderValues.CSIDL_PROGRAM_FILES_COMMONX86,
53 ProgramFilesX86 = SpecialFolderValues.CSIDL_PROGRAM_FILESX86,
54 Resources = SpecialFolderValues.CSIDL_RESOURCES,
55 LocalizedResources = SpecialFolderValues.CSIDL_RESOURCES_LOCALIZED,
56 SystemX86 = SpecialFolderValues.CSIDL_SYSTEMX86,
57 Windows = SpecialFolderValues.CSIDL_WINDOWS,
60 // These values are specific to Windows and are known to SHGetFolderPath, however they are
61 // also the values used in the SpecialFolder enum. As such, we keep them as constants
62 // with their Win32 names, but keep them here rather than in Interop.Kernel32 as they're
63 // used on all platforms.
64 private static class SpecialFolderValues
66 internal const int CSIDL_APPDATA = 0x001a;
67 internal const int CSIDL_COMMON_APPDATA = 0x0023;
68 internal const int CSIDL_LOCAL_APPDATA = 0x001c;
69 internal const int CSIDL_COOKIES = 0x0021;
70 internal const int CSIDL_FAVORITES = 0x0006;
71 internal const int CSIDL_HISTORY = 0x0022;
72 internal const int CSIDL_INTERNET_CACHE = 0x0020;
73 internal const int CSIDL_PROGRAMS = 0x0002;
74 internal const int CSIDL_RECENT = 0x0008;
75 internal const int CSIDL_SENDTO = 0x0009;
76 internal const int CSIDL_STARTMENU = 0x000b;
77 internal const int CSIDL_STARTUP = 0x0007;
78 internal const int CSIDL_SYSTEM = 0x0025;
79 internal const int CSIDL_TEMPLATES = 0x0015;
80 internal const int CSIDL_DESKTOPDIRECTORY = 0x0010;
81 internal const int CSIDL_PERSONAL = 0x0005;
82 internal const int CSIDL_PROGRAM_FILES = 0x0026;
83 internal const int CSIDL_PROGRAM_FILES_COMMON = 0x002b;
84 internal const int CSIDL_DESKTOP = 0x0000;
85 internal const int CSIDL_DRIVES = 0x0011;
86 internal const int CSIDL_MYMUSIC = 0x000d;
87 internal const int CSIDL_MYPICTURES = 0x0027;
89 internal const int CSIDL_ADMINTOOLS = 0x0030; // <user name>\Start Menu\Programs\Administrative Tools
90 internal const int CSIDL_CDBURN_AREA = 0x003b; // USERPROFILE\Local Settings\Application Data\Microsoft\CD Burning
91 internal const int CSIDL_COMMON_ADMINTOOLS = 0x002f; // All Users\Start Menu\Programs\Administrative Tools
92 internal const int CSIDL_COMMON_DOCUMENTS = 0x002e; // All Users\Documents
93 internal const int CSIDL_COMMON_MUSIC = 0x0035; // All Users\My Music
94 internal const int CSIDL_COMMON_OEM_LINKS = 0x003a; // Links to All Users OEM specific apps
95 internal const int CSIDL_COMMON_PICTURES = 0x0036; // All Users\My Pictures
96 internal const int CSIDL_COMMON_STARTMENU = 0x0016; // All Users\Start Menu
97 internal const int CSIDL_COMMON_PROGRAMS = 0X0017; // All Users\Start Menu\Programs
98 internal const int CSIDL_COMMON_STARTUP = 0x0018; // All Users\Startup
99 internal const int CSIDL_COMMON_DESKTOPDIRECTORY = 0x0019; // All Users\Desktop
100 internal const int CSIDL_COMMON_TEMPLATES = 0x002d; // All Users\Templates
101 internal const int CSIDL_COMMON_VIDEO = 0x0037; // All Users\My Video
102 internal const int CSIDL_FONTS = 0x0014; // windows\fonts
103 internal const int CSIDL_MYVIDEO = 0x000e; // "My Videos" folder
104 internal const int CSIDL_NETHOOD = 0x0013; // %APPDATA%\Microsoft\Windows\Network Shortcuts
105 internal const int CSIDL_PRINTHOOD = 0x001b; // %APPDATA%\Microsoft\Windows\Printer Shortcuts
106 internal const int CSIDL_PROFILE = 0x0028; // %USERPROFILE% (%SystemDrive%\Users\%USERNAME%)
107 internal const int CSIDL_PROGRAM_FILES_COMMONX86 = 0x002c; // x86 Program Files\Common on RISC
108 internal const int CSIDL_PROGRAM_FILESX86 = 0x002a; // x86 C:\Program Files on RISC
109 internal const int CSIDL_RESOURCES = 0x0038; // %windir%\Resources
110 internal const int CSIDL_RESOURCES_LOCALIZED = 0x0039; // %windir%\resources\0409 (code page)
111 internal const int CSIDL_SYSTEMX86 = 0x0029; // %windir%\system32
112 internal const int CSIDL_WINDOWS = 0x0024; // GetWindowsDirectory()