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 
32 
33 --*/
34 
35 #ifndef _PEI_SPEAKER_IF_H
36 #define _PEI_SPEAKER_IF_H
37 
38 //
39 // Global ID Speaker Interface
40 //
41 #define PEI_SPEAKER_INTERFACE_PPI_GUID \
42   { \
43     0x30ac275e, 0xbb30, 0x4b84, 0xa1, 0xcd, 0x0a, 0xf1, 0x32, 0x2c, 0x89, 0xc0 \
44   }
45 
46 typedef struct _PEI_SPEAKER_IF_PPI PEI_SPEAKER_IF_PPI;
47 
48 //
49 // Beep Code
50 //
51 typedef
52 EFI_STATUS
53 (EFIAPI *EFI_SPEAKER_GENERATE_BEEP) (
54   IN CONST EFI_PEI_SERVICES           **PeiServices,
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 CONST EFI_PEI_SERVICES           **PeiServices,
67   IN UINT16                           Frequency
68   );
69 
70 //
71 // Protocol definition
72 //
73 typedef struct _PEI_SPEAKER_IF_PPI {
74   EFI_SPEAKER_SET_FREQUENCY SetSpeakerToneFrequency;
75   EFI_SPEAKER_GENERATE_BEEP GenerateBeep;
76 } PEI_SPEAKER_IF_PPI;
77 
78 extern EFI_GUID gPeiSpeakerInterfacePpiGuid;
79 #endif
80