// Licensed under the Apache License, Version 2.0
// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
// All files in the project carrying such notice may not be copied, modified, or distributed
// except according to those terms.
use shared::minwindef::DWORD;
pub const SHTDN_REASON_FLAG_COMMENT_REQUIRED: DWORD = 0x01000000;
pub const SHTDN_REASON_FLAG_DIRTY_PROBLEM_ID_REQUIRED: DWORD = 0x02000000;
pub const SHTDN_REASON_FLAG_CLEAN_UI: DWORD = 0x04000000;
pub const SHTDN_REASON_FLAG_DIRTY_UI: DWORD = 0x08000000;
pub const SHTDN_REASON_FLAG_USER_DEFINED: DWORD = 0x40000000;
pub const SHTDN_REASON_FLAG_PLANNED: DWORD = 0x80000000;
pub const SHTDN_REASON_MAJOR_OTHER: DWORD = 0x00000000;
pub const SHTDN_REASON_MAJOR_NONE: DWORD = 0x00000000;
pub const SHTDN_REASON_MAJOR_HARDWARE: DWORD = 0x00010000;
pub const SHTDN_REASON_MAJOR_OPERATINGSYSTEM: DWORD = 0x00020000;
pub const SHTDN_REASON_MAJOR_SOFTWARE: DWORD = 0x00030000;
pub const SHTDN_REASON_MAJOR_APPLICATION: DWORD = 0x00040000;
pub const SHTDN_REASON_MAJOR_SYSTEM: DWORD = 0x00050000;
pub const SHTDN_REASON_MAJOR_POWER: DWORD = 0x00060000;
pub const SHTDN_REASON_MAJOR_LEGACY_API: DWORD = 0x00070000;
pub const SHTDN_REASON_MINOR_OTHER: DWORD = 0x00000000;
pub const SHTDN_REASON_MINOR_NONE: DWORD = 0x000000ff;
pub const SHTDN_REASON_MINOR_MAINTENANCE: DWORD = 0x00000001;
pub const SHTDN_REASON_MINOR_INSTALLATION: DWORD = 0x00000002;
pub const SHTDN_REASON_MINOR_UPGRADE: DWORD = 0x00000003;
pub const SHTDN_REASON_MINOR_RECONFIG: DWORD = 0x00000004;
pub const SHTDN_REASON_MINOR_HUNG: DWORD = 0x00000005;
pub const SHTDN_REASON_MINOR_UNSTABLE: DWORD = 0x00000006;
pub const SHTDN_REASON_MINOR_DISK: DWORD = 0x00000007;
pub const SHTDN_REASON_MINOR_PROCESSOR: DWORD = 0x00000008;
pub const SHTDN_REASON_MINOR_NETWORKCARD: DWORD = 0x00000009;
pub const SHTDN_REASON_MINOR_POWER_SUPPLY: DWORD = 0x0000000a;
pub const SHTDN_REASON_MINOR_CORDUNPLUGGED: DWORD = 0x0000000b;
pub const SHTDN_REASON_MINOR_ENVIRONMENT: DWORD = 0x0000000c;
pub const SHTDN_REASON_MINOR_HARDWARE_DRIVER: DWORD = 0x0000000d;
pub const SHTDN_REASON_MINOR_OTHERDRIVER: DWORD = 0x0000000e;
pub const SHTDN_REASON_MINOR_BLUESCREEN: DWORD = 0x0000000F;
pub const SHTDN_REASON_MINOR_SERVICEPACK: DWORD = 0x00000010;
pub const SHTDN_REASON_MINOR_HOTFIX: DWORD = 0x00000011;
pub const SHTDN_REASON_MINOR_SECURITYFIX: DWORD = 0x00000012;
pub const SHTDN_REASON_MINOR_SECURITY: DWORD = 0x00000013;
pub const SHTDN_REASON_MINOR_NETWORK_CONNECTIVITY: DWORD = 0x00000014;
pub const SHTDN_REASON_MINOR_WMI: DWORD = 0x00000015;
pub const SHTDN_REASON_MINOR_SERVICEPACK_UNINSTALL: DWORD = 0x00000016;
pub const SHTDN_REASON_MINOR_HOTFIX_UNINSTALL: DWORD = 0x00000017;
pub const SHTDN_REASON_MINOR_SECURITYFIX_UNINSTALL: DWORD = 0x00000018;
pub const SHTDN_REASON_MINOR_MMC: DWORD = 0x00000019;
pub const SHTDN_REASON_MINOR_SYSTEMRESTORE: DWORD = 0x0000001a;
pub const SHTDN_REASON_MINOR_TERMSRV: DWORD = 0x00000020;
pub const SHTDN_REASON_MINOR_DC_PROMOTION: DWORD = 0x00000021;
pub const SHTDN_REASON_MINOR_DC_DEMOTION: DWORD = 0x00000022;
pub const SHTDN_REASON_UNKNOWN: DWORD = SHTDN_REASON_MINOR_NONE;
pub const SHTDN_REASON_LEGACY_API: DWORD = SHTDN_REASON_MAJOR_LEGACY_API
    | SHTDN_REASON_FLAG_PLANNED;
pub const SHTDN_REASON_VALID_BIT_MASK: DWORD = 0xc0ffffff;
pub const PCLEANUI: DWORD = SHTDN_REASON_FLAG_PLANNED | SHTDN_REASON_FLAG_CLEAN_UI;
pub const UCLEANUI: DWORD = SHTDN_REASON_FLAG_CLEAN_UI;
pub const PDIRTYUI: DWORD = SHTDN_REASON_FLAG_PLANNED | SHTDN_REASON_FLAG_DIRTY_UI;
pub const UDIRTYUI: DWORD = SHTDN_REASON_FLAG_DIRTY_UI;
