+/** @file\r
+ ATA ATAPI Policy protocol is produced by platform and consumed by AtaAtapiPassThruDxe\r
+ driver.\r
+\r
+ Copyright (c) 2018, Intel Corporation. All rights reserved.<BR>\r
+ This program and the accompanying materials\r
+ are licensed and made available under the terms and conditions of the BSD License\r
+ which accompanies this distribution. The full text of the license may be found at\r
+ http://opensource.org/licenses/bsd-license.php\r
+\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+**/\r
+#ifndef __ATA_ATAPI_POLICY_H__\r
+#define __ATA_ATAPI_POLICY_H__\r
+\r
+#define EDKII_ATA_ATAPI_POLICY_PROTOCOL_GUID \\r
+ { \\r
+ 0xe59cd769, 0x5083, 0x4f26,{ 0x90, 0x94, 0x6c, 0x91, 0x9f, 0x91, 0x6c, 0x4e } \\r
+ }\r
+\r
+typedef struct {\r
+ ///\r
+ /// Protocol version.\r
+ ///\r
+ UINT32 Version;\r
+\r
+ ///\r
+ /// 0: Disable Power-up in Standby;\r
+ /// 1: Enable Power-up in Standby;\r
+ /// others: Since PUIS setting is non-volatile, platform can use other value than 0/1 to keep hardware PUIS setting.\r
+ ///\r
+ UINT8 PuisEnable;\r
+\r
+ ///\r
+ /// 0: Disable Device Sleep;\r
+ /// 1: Enable Device Sleep;\r
+ /// others: Ignored.\r
+ ///\r
+ UINT8 DeviceSleepEnable;\r
+\r
+ ///\r
+ /// 0: Disable Aggressive Device Sleep;\r
+ /// 1: Enable Aggressive Device Sleep;\r
+ /// others: Ignored.\r
+ ///\r
+ UINT8 AggressiveDeviceSleepEnable;\r
+\r
+ UINT8 Reserved;\r
+} EDKII_ATA_ATAPI_POLICY_PROTOCOL;\r
+\r
+#define EDKII_ATA_ATAPI_POLICY_VERSION 0x00010000\r
+\r
+\r
+extern EFI_GUID gEdkiiAtaAtapiPolicyProtocolGuid;\r
+\r
+#endif\r
+\r