+///\r
+/// Enumeration of reset types.\r
+///\r
+typedef enum {\r
+ ///\r
+ /// Used to induce a system-wide reset. This sets all circuitry within the\r
+ /// system to its initial state. This type of reset is asynchronous to system\r
+ /// operation and operates withgout regard to cycle boundaries. EfiColdReset\r
+ /// is tantamount to a system power cycle.\r
+ ///\r
+ EfiResetCold,\r
+ ///\r
+ /// Used to induce a system-wide initialization. The processors are set to their\r
+ /// initial state, and pending cycles are not corrupted. If the system does\r
+ /// not support this reset type, then an EfiResetCold must be performed.\r
+ ///\r
+ EfiResetWarm,\r
+ ///\r
+ /// Used to induce an entry into a power state equivalent to the ACPI G2/S5 or G3\r
+ /// state. If the system does not support this reset type, then when the system\r
+ /// is rebooted, it should exhibit the EfiResetCold attributes.\r
+ ///\r
+ EfiResetShutdown,\r
+ ///\r
+ /// Used to induce a system-wide reset. The exact type of the reset is defined by\r
+ /// the EFI_GUID that follows the Null-terminated Unicode string passed into\r
+ /// ResetData. If the platform does not recognize the EFI_GUID in ResetData the\r
+ /// platform must pick a supported reset type to perform. The platform may\r
+ /// optionally log the parameters from any non-normal reset that occurs.\r
+ ///\r
+ EfiResetPlatformSpecific\r
+} EFI_RESET_TYPE;\r
+\r