// Licensed under the Apache License, Version 2.0 // or the MIT license // , 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, ULONG}; use um::winnt::{ BOOLEAN, HANDLE, LONG, POWER_INFORMATION_LEVEL, POWER_PLATFORM_ROLE, PSYSTEM_POWER_CAPABILITIES, PVOID, }; use um::winuser::{HPOWERNOTIFY, PHPOWERNOTIFY}; pub type NTSTATUS = LONG; extern "system" { pub fn CallNtPowerInformation( InformationLevel: POWER_INFORMATION_LEVEL, InputBuffer: PVOID, InputBufferLength: ULONG, OutputBuffer: PVOID, OutputBufferLength: ULONG, ) -> NTSTATUS; pub fn GetPwrCapabilities( lpspc: PSYSTEM_POWER_CAPABILITIES, ) -> BOOLEAN; pub fn PowerDeterminePlatformRoleEx( Version: ULONG, ) -> POWER_PLATFORM_ROLE; pub fn PowerRegisterSuspendResumeNotification( Flags: DWORD, Recipient: HANDLE, RegistrationHandle: PHPOWERNOTIFY, ) -> DWORD; pub fn PowerUnregisterSuspendResumeNotification( RegistrationHandle: HPOWERNOTIFY, ) -> DWORD; }