xref: /netbsd-src/external/gpl3/gcc/dist/libphobos/libdruntime/core/sys/windows/reason.d (revision 0a3071956a3a9fdebdbf7f338cf2d439b45fc728)
1 /**
2  * Windows API header module
3  *
4  * Translated from MinGW Windows headers
5  *
6  * Authors: Stewart Gordon
7  * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
8  * Source: $(DRUNTIMESRC core/sys/windows/_reason.d)
9  */
10 module core.sys.windows.reason;
11 version (Windows):
12 @system:
13 
14 import core.sys.windows.w32api, core.sys.windows.windef;
15 
16 static assert (_WIN32_WINNT >= 0x501,
17   "core.sys.windows.reason is only available on WindowsXP and later");
18 
19 
20 enum : DWORD {
21     SHTDN_REASON_MAJOR_OTHER           = 0x00000000,
22     SHTDN_REASON_MAJOR_HARDWARE        = 0x00010000,
23     SHTDN_REASON_MAJOR_OPERATINGSYSTEM = 0x00020000,
24     SHTDN_REASON_MAJOR_SOFTWARE        = 0x00030000,
25     SHTDN_REASON_MAJOR_APPLICATION     = 0x00040000,
26     SHTDN_REASON_MAJOR_SYSTEM          = 0x00050000,
27     SHTDN_REASON_MAJOR_POWER           = 0x00060000,
28     SHTDN_REASON_MAJOR_LEGACY_API      = 0x00070000
29 }
30 
31 enum : DWORD {
32     SHTDN_REASON_MINOR_OTHER,
33     SHTDN_REASON_MINOR_MAINTENANCE,
34     SHTDN_REASON_MINOR_INSTALLATION,
35     SHTDN_REASON_MINOR_UPGRADE,
36     SHTDN_REASON_MINOR_RECONFIG,
37     SHTDN_REASON_MINOR_HUNG,
38     SHTDN_REASON_MINOR_UNSTABLE,
39     SHTDN_REASON_MINOR_DISK,
40     SHTDN_REASON_MINOR_PROCESSOR,
41     SHTDN_REASON_MINOR_NETWORKCARD,
42     SHTDN_REASON_MINOR_POWER_SUPPLY,
43     SHTDN_REASON_MINOR_CORDUNPLUGGED,
44     SHTDN_REASON_MINOR_ENVIRONMENT,
45     SHTDN_REASON_MINOR_HARDWARE_DRIVER,
46     SHTDN_REASON_MINOR_OTHERDRIVER,
47     SHTDN_REASON_MINOR_BLUESCREEN,
48     SHTDN_REASON_MINOR_SERVICEPACK,
49     SHTDN_REASON_MINOR_HOTFIX,
50     SHTDN_REASON_MINOR_SECURITYFIX,
51     SHTDN_REASON_MINOR_SECURITY,
52     SHTDN_REASON_MINOR_NETWORK_CONNECTIVITY,
53     SHTDN_REASON_MINOR_WMI,
54     SHTDN_REASON_MINOR_SERVICEPACK_UNINSTALL,
55     SHTDN_REASON_MINOR_HOTFIX_UNINSTALL,
56     SHTDN_REASON_MINOR_SECURITYFIX_UNINSTALL,
57     SHTDN_REASON_MINOR_MMC,         // = 0x00000019
58     SHTDN_REASON_MINOR_TERMSRV         = 0x00000020
59 }
60 
61 enum : DWORD {
62     SHTDN_REASON_FLAG_USER_DEFINED     = 0x40000000,
63     SHTDN_REASON_FLAG_PLANNED          = 0x80000000
64 }
65