1 /*++
2 
3   Copyright (c) 2004  - 2014, Intel Corporation. All rights reserved.<BR>
4 
5 
6   This program and the accompanying materials are licensed and made available under
7 
8   the terms and conditions of the BSD License that accompanies this distribution.
9 
10   The full text of the license may be found at
11 
12   http://opensource.org/licenses/bsd-license.php.
13 
14 
15 
16   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
17 
18   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
19 
20 
21 
22 
23 Module Name:
24 
25   Speaker.h
26 
27 Abstract:
28 
29   EFI Speaker Interface Protocol
30 
31 Revision History
32 
33 **/
34 
35 #ifndef _EFI_SPEAKER_H
36 #define _EFI_SPEAKER_H
37 
38 //
39 // Global Id for Speaker Interface
40 //
41 #define EFI_SPEAKER_INTERFACE_PROTOCOL_GUID \
42   { \
43     0x400b4476, 0x3081, 0x11d6, 0x87, 0xed, 0x00, 0x06, 0x29, 0x45, 0xc3, 0xb9 \
44   }
45 
46 typedef struct _EFI_SPEAKER_IF_PROTOCOL  EFI_SPEAKER_IF_PROTOCOL;
47 
48 //
49 // Beep Code
50 //
51 typedef
52 EFI_STATUS
53 (EFIAPI *EFI_GENERATE_BEEP) (
54   IN EFI_SPEAKER_IF_PROTOCOL                * This,
55   IN     UINTN                              NumberOfBeep,
56   IN     UINTN                              BeepDuration,
57   IN     UINTN                              TimeInterval
58   );
59 
60 //
61 // Set Frequency
62 //
63 typedef
64 EFI_STATUS
65 (EFIAPI *EFI_SPEAKER_SET_FREQUENCY) (
66   IN EFI_SPEAKER_IF_PROTOCOL               * This,
67   IN     UINT16                            Frequency
68   );
69 
70 //
71 // Protocol definition
72 //
73 struct _EFI_SPEAKER_IF_PROTOCOL {
74   EFI_SPEAKER_SET_FREQUENCY SetSpeakerToneFrequency;
75   EFI_GENERATE_BEEP         GenerateBeep;
76 } ;
77 
78 extern EFI_GUID gEfiSpeakerInterfaceProtocolGuid;
79 #endif
80