2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS kernel
4 * FILE: ntoskrnl/ex/power.c
5 * PURPOSE: Power managment
6 * PROGRAMMER: David Welch (welch@cwcom.net)
9 * Added reboot support 30/01/99
12 /* INCLUDES *****************************************************************/
14 #include <ddk/ntddk.h>
15 #include <internal/hal/io.h>
16 #include <internal/ps.h>
17 #include <internal/io.h>
18 #include <internal/mm.h>
20 #include <internal/debug.h>
22 /* FUNCTIONS *****************************************************************/
24 NTSTATUS STDCALL
NtSetSystemPowerState(VOID
)
30 NTSTATUS STDCALL
NtShutdownSystem(IN SHUTDOWN_ACTION Action
)
32 if (Action
> ShutdownPowerOff
)
33 return STATUS_INVALID_PARAMETER
;
35 IoShutdownRegisteredDevices();
37 IoShutdownRegisteredFileSystems();
38 PiShutdownProcessManager();
39 MiShutdownMemoryManager();
41 if (Action
== ShutdownNoReboot
)
45 HalReturnToFirmware (FIRMWARE_OFF
);
48 else if (Action
== ShutdownReboot
)
50 HalReturnToFirmware (FIRMWARE_REBOOT
);
54 HalReturnToFirmware (FIRMWARE_HALT
);
57 return STATUS_SUCCESS
;