1 // Copyright © 2015, Peter Atashian, skdltmxn
2 // Licensed under the MIT License <LICENSE.md>
3 pub const INVALID_HANDLE_VALUE: ::HANDLE = -1isize as ::HANDLE;
4 pub type GPFIDL_FLAGS = ::c_int;
5 ENUM!{enum KNOWN_FOLDER_FLAG {
6     KF_FLAG_DEFAULT = 0x00000000,
7     KF_FLAG_NO_APPCONTAINER_REDIRECTION = 0x00010000,
8     KF_FLAG_CREATE = 0x00008000,
9     KF_FLAG_DONT_VERIFY = 0x00004000,
10     KF_FLAG_DONT_UNEXPAND = 0x00002000,
11     KF_FLAG_NO_ALIAS = 0x00001000,
12     KF_FLAG_INIT = 0x00000800,
13     KF_FLAG_DEFAULT_PATH = 0x00000400,
14     KF_FLAG_NOT_PARENT_RELATIVE = 0x00000200,
15     KF_FLAG_SIMPLE_IDLIST = 0x00000100,
16     KF_FLAG_ALIAS_ONLY = 0x80000000,
17 }}
18 pub const IDO_SHGIOI_SHARE: ::c_int = 0x0FFFFFFF;
19 pub const IDO_SHGIOI_LINK: ::c_int = 0x0FFFFFFE;
20 // Yes, these values are supposed to overflow. Blame Microsoft.
21 pub const IDO_SHGIOI_SLOWFILE: ::c_int = 0xFFFFFFFDu32 as ::c_int;
22 pub const IDO_SHGIOI_DEFAULT: ::c_int = 0xFFFFFFFCu32 as ::c_int;
23 pub const GPFIDL_DEFAULT: GPFIDL_FLAGS = 0x0000;
24 pub const GPFIDL_ALTNAME: GPFIDL_FLAGS = 0x0001;
25 pub const GPFIDL_UNCPRINTER: GPFIDL_FLAGS = 0x0002;
26 pub const OFASI_EDIT: ::DWORD = 0x0001;
27 pub const OFASI_OPENDESKTOP: ::DWORD = 0x0002;
28 // 1204
29 pub const CSIDL_DESKTOP: ::c_int = 0x0000;
30 pub const CSIDL_INTERNET: ::c_int = 0x0001;
31 pub const CSIDL_PROGRAMS: ::c_int = 0x0002;
32 pub const CSIDL_CONTROLS: ::c_int = 0x0003;
33 pub const CSIDL_PRINTERS: ::c_int = 0x0004;
34 pub const CSIDL_PERSONAL: ::c_int = 0x0005;
35 pub const CSIDL_FAVORITES: ::c_int = 0x0006;
36 pub const CSIDL_STARTUP: ::c_int = 0x0007;
37 pub const CSIDL_RECENT: ::c_int = 0x0008;
38 pub const CSIDL_SENDTO: ::c_int = 0x0009;
39 pub const CSIDL_BITBUCKET: ::c_int = 0x000a;
40 pub const CSIDL_STARTMENU: ::c_int = 0x000b;
41 pub const CSIDL_MYDOCUMENTS: ::c_int = CSIDL_PERSONAL;
42 pub const CSIDL_MYMUSIC: ::c_int = 0x000d;
43 pub const CSIDL_MYVIDEO: ::c_int = 0x000e;
44 pub const CSIDL_DESKTOPDIRECTORY: ::c_int = 0x0010;
45 pub const CSIDL_DRIVES: ::c_int = 0x0011;
46 pub const CSIDL_NETWORK: ::c_int = 0x0012;
47 pub const CSIDL_NETHOOD: ::c_int = 0x0013;
48 pub const CSIDL_FONTS: ::c_int = 0x0014;
49 pub const CSIDL_TEMPLATES: ::c_int = 0x0015;
50 pub const CSIDL_COMMON_STARTMENU: ::c_int = 0x0016;
51 pub const CSIDL_COMMON_PROGRAMS: ::c_int = 0x0017;
52 pub const CSIDL_COMMON_STARTUP: ::c_int = 0x0018;
53 pub const CSIDL_COMMON_DESKTOPDIRECTORY: ::c_int = 0x0019;
54 pub const CSIDL_APPDATA: ::c_int = 0x001a;
55 pub const CSIDL_PRINTHOOD: ::c_int = 0x001b;
56 pub const CSIDL_LOCAL_APPDATA: ::c_int = 0x001c;
57 pub const CSIDL_ALTSTARTUP: ::c_int = 0x001d;
58 pub const CSIDL_COMMON_ALTSTARTUP: ::c_int = 0x001e;
59 pub const CSIDL_COMMON_FAVORITES: ::c_int = 0x001f;
60 pub const CSIDL_INTERNET_CACHE: ::c_int = 0x0020;
61 pub const CSIDL_COOKIES: ::c_int = 0x0021;
62 pub const CSIDL_HISTORY: ::c_int = 0x0022;
63 pub const CSIDL_COMMON_APPDATA: ::c_int = 0x0023;
64 pub const CSIDL_WINDOWS: ::c_int = 0x0024;
65 pub const CSIDL_SYSTEM: ::c_int = 0x0025;
66 pub const CSIDL_PROGRAM_FILES: ::c_int = 0x0026;
67 pub const CSIDL_MYPICTURES: ::c_int = 0x0027;
68 pub const CSIDL_PROFILE: ::c_int = 0x0028;
69 pub const CSIDL_SYSTEMX86: ::c_int = 0x0029;
70 pub const CSIDL_PROGRAM_FILESX86: ::c_int = 0x002a;
71 pub const CSIDL_PROGRAM_FILES_COMMON: ::c_int = 0x002b;
72 pub const CSIDL_PROGRAM_FILES_COMMONX86: ::c_int = 0x002c;
73 pub const CSIDL_COMMON_TEMPLATES: ::c_int = 0x002d;
74 pub const CSIDL_COMMON_DOCUMENTS: ::c_int = 0x002e;
75 pub const CSIDL_COMMON_ADMINTOOLS: ::c_int = 0x002f;
76 pub const CSIDL_ADMINTOOLS: ::c_int = 0x0030;
77 pub const CSIDL_CONNECTIONS: ::c_int = 0x0031;
78 pub const CSIDL_COMMON_MUSIC: ::c_int = 0x0035;
79 pub const CSIDL_COMMON_PICTURES: ::c_int = 0x0036;
80 pub const CSIDL_COMMON_VIDEO: ::c_int = 0x0037;
81 pub const CSIDL_RESOURCES: ::c_int = 0x0038;
82 pub const CSIDL_RESOURCES_LOCALIZED: ::c_int = 0x0039;
83 pub const CSIDL_COMMON_OEM_LINKS: ::c_int = 0x003a;
84 pub const CSIDL_CDBURN_AREA: ::c_int = 0x003b;
85 pub const CSIDL_COMPUTERSNEARME: ::c_int = 0x003d;
86 pub const CSIDL_FLAG_CREATE: ::c_int = 0x8000;
87 pub const CSIDL_FLAG_DONT_VERIFY: ::c_int = 0x4000;
88 pub const CSIDL_FLAG_DONT_UNEXPAND: ::c_int = 0x2000;
89 pub const CSIDL_FLAG_NO_ALIAS: ::c_int = 0x1000;
90 pub const CSIDL_FLAG_PER_USER_INIT: ::c_int = 0x0800;
91 pub const CSIDL_FLAG_MASK: ::c_int = 0xff00;
92 //1312
93 pub const SHGFP_TYPE_CURRENT: ::DWORD = 0;
94 pub const SHGFP_TYPE_DEFAULT: ::DWORD = 1;
95