--- /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
+Revision History\r
+\r
+**/\r
+\r
+#ifndef _EFI_SPEAKER_H\r
+#define _EFI_SPEAKER_H\r
+\r
+//\r
+// Global Id for Speaker Interface\r
+//\r
+#define EFI_SPEAKER_INTERFACE_PROTOCOL_GUID \\r
+ { \\r
+ 0x400b4476, 0x3081, 0x11d6, 0x87, 0xed, 0x00, 0x06, 0x29, 0x45, 0xc3, 0xb9 \\r
+ }\r
+\r
+typedef struct _EFI_SPEAKER_IF_PROTOCOL EFI_SPEAKER_IF_PROTOCOL;\r
+\r
+//\r
+// Beep Code\r
+//\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_GENERATE_BEEP) (\r
+ IN EFI_SPEAKER_IF_PROTOCOL * This,\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 EFI_SPEAKER_IF_PROTOCOL * This,\r
+ IN UINT16 Frequency\r
+ );\r
+\r
+//\r
+// Protocol definition\r
+//\r
+struct _EFI_SPEAKER_IF_PROTOCOL {\r
+ EFI_SPEAKER_SET_FREQUENCY SetSpeakerToneFrequency;\r
+ EFI_GENERATE_BEEP GenerateBeep;\r
+} ;\r
+\r
+extern EFI_GUID gEfiSpeakerInterfaceProtocolGuid;\r
+#endif\r