--- /dev/null
+/*++\r
+\r
+ Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>\r
+ \r\r
+ This program and the accompanying materials are licensed and made available under\r\r
+ the terms and conditions of the BSD License that accompanies this distribution. \r\r
+ The full text of the license may be found at \r\r
+ http://opensource.org/licenses/bsd-license.php. \r\r
+ \r\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r\r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r\r
+ \r\r
+\r
+Module Name:\r
+\r
+ Speaker.h\r
+\r
+Abstract:\r
+\r
+ EFI Speaker Interface Protocol\r
+\r
+\r
+\r
+--*/\r
+\r
+#ifndef _PEI_SPEAKER_IF_H\r
+#define _PEI_SPEAKER_IF_H\r
+\r
+//\r
+// Global ID Speaker Interface\r
+//\r
+#define PEI_SPEAKER_INTERFACE_PPI_GUID \\r
+ { \\r
+ 0x30ac275e, 0xbb30, 0x4b84, 0xa1, 0xcd, 0x0a, 0xf1, 0x32, 0x2c, 0x89, 0xc0 \\r
+ }\r
+\r
+typedef struct _PEI_SPEAKER_IF_PPI PEI_SPEAKER_IF_PPI;\r
+\r
+//\r
+// Beep Code\r
+//\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_SPEAKER_GENERATE_BEEP) (\r
+ IN CONST EFI_PEI_SERVICES **PeiServices,\r
+ IN UINTN NumberOfBeep,\r
+ IN UINTN BeepDuration,\r
+ IN UINTN TimeInterval\r
+ );\r
+\r
+//\r
+// Set Frequency\r
+//\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_SPEAKER_SET_FREQUENCY) (\r
+ IN CONST EFI_PEI_SERVICES **PeiServices,\r
+ IN UINT16 Frequency\r
+ );\r
+\r
+//\r
+// Protocol definition\r
+//\r
+typedef struct _PEI_SPEAKER_IF_PPI {\r
+ EFI_SPEAKER_SET_FREQUENCY SetSpeakerToneFrequency;\r
+ EFI_SPEAKER_GENERATE_BEEP GenerateBeep;\r
+} PEI_SPEAKER_IF_PPI;\r
+\r
+extern EFI_GUID gPeiSpeakerInterfacePpiGuid;\r
+#endif\r