OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
AppleSmcIo.h
Go to the documentation of this file.
1
13#ifndef APPLE_SMC_IO_H
14#define APPLE_SMC_IO_H
15
17
18// APPLE_SMC_IO_PROTOCOL_REVISION
19#define APPLE_SMC_IO_PROTOCOL_REVISION 0x0000000033
20
21// APPLE_SMC_IO_PROTOCOL_GUID
22#define APPLE_SMC_IO_PROTOCOL_GUID \
23 { 0x17407E5A, 0xAF6C, 0x4EE8, \
24 { 0x98, 0xA8, 0x00, 0x21, 0x04, 0x53, 0xCD, 0xD9 } }
25
27
28// SMC_IO_SMC_READ_VALUE
29typedef
30EFI_STATUS
31(EFIAPI *SMC_IO_SMC_READ_VALUE)(
32 IN APPLE_SMC_IO_PROTOCOL *This,
33 IN SMC_KEY Key,
35 OUT SMC_DATA *Value
36 );
37
38// SMC_IO_SMC_WRITE_VALUE
39typedef
40EFI_STATUS
42 IN APPLE_SMC_IO_PROTOCOL *This,
43 IN SMC_KEY Key,
45 IN SMC_DATA *Value
46 );
47
48// SMC_IO_SMC_GET_KEY_COUNT
49typedef
50EFI_STATUS
52 IN APPLE_SMC_IO_PROTOCOL *This,
53 OUT UINT32 *Count
54 );
55
56// SMC_IO_SMC_MAKE_KEY
57typedef
58EFI_STATUS
59(EFIAPI *SMC_IO_SMC_MAKE_KEY)(
60 IN CHAR8 *Name,
61 OUT SMC_KEY *Key
62 );
63
64// SMC_IO_SMC_GET_KEY_FROM_INDEX
65typedef
66EFI_STATUS
68 IN APPLE_SMC_IO_PROTOCOL *This,
70 OUT SMC_KEY *Key
71 );
72
73// SMC_IO_SMC_GET_KEY_INFO
74typedef
75EFI_STATUS
77 IN APPLE_SMC_IO_PROTOCOL *This,
78 IN SMC_KEY Key,
80 OUT SMC_KEY_TYPE *Type,
81 OUT SMC_KEY_ATTRIBUTES *Attributes
82 );
83
84// SMC_IO_SMC_RESET
85typedef
86EFI_STATUS
87(EFIAPI *SMC_IO_SMC_RESET)(
88 IN APPLE_SMC_IO_PROTOCOL *This,
89 IN UINT32 Mode
90 );
91
92// SMC_IO_SMC_FLASH_TYPE
93typedef
94EFI_STATUS
95(EFIAPI *SMC_IO_SMC_FLASH_TYPE)(
96 IN APPLE_SMC_IO_PROTOCOL *This,
97 IN SMC_FLASH_TYPE Type
98 );
99
100// SMC_IO_SMC_FLASH_WRITE
101typedef
102EFI_STATUS
103(EFIAPI *SMC_IO_SMC_FLASH_WRITE)(
104 IN APPLE_SMC_IO_PROTOCOL *This,
105 IN UINT32 Unknown,
107 IN SMC_DATA *Data
108 );
109
110// SMC_IO_SMC_FLASH_AUTH
111typedef
112EFI_STATUS
113(EFIAPI *SMC_IO_SMC_FLASH_AUTH)(
114 IN APPLE_SMC_IO_PROTOCOL *This,
116 IN SMC_DATA *Data
117 );
118
119// SMC_IO_SMC_UNSUPPORTED
120typedef
121EFI_STATUS
122(EFIAPI *SMC_IO_SMC_UNSUPPORTED)(
123 VOID
124 );
125
126// SMC_IO_SMC_UNKNOWN_1
127typedef
128EFI_STATUS
129(EFIAPI *SMC_IO_SMC_UNKNOWN_1)(
130 VOID
131 );
132
133// SMC_IO_SMC_UNKNOWN_2
134typedef
135EFI_STATUS
136(EFIAPI *SMC_IO_SMC_UNKNOWN_2)(
137 IN APPLE_SMC_IO_PROTOCOL *This,
138 IN UINTN Ukn1,
139 IN UINTN Ukn2
140 );
141
142// SMC_IO_SMC_UNKNOWN_3
143typedef
144EFI_STATUS
145(EFIAPI *SMC_IO_SMC_UNKNOWN_3)(
146 IN APPLE_SMC_IO_PROTOCOL *This,
147 IN UINTN Ukn1,
148 IN UINTN Ukn2
149 );
150
151// SMC_IO_SMC_UNKNOWN_4
152typedef
153EFI_STATUS
154(EFIAPI *SMC_IO_SMC_UNKNOWN_4)(
155 IN APPLE_SMC_IO_PROTOCOL *This,
156 IN UINTN Ukn1
157 );
158
159// SMC_IO_SMC_UNKNOWN_5
160typedef
161EFI_STATUS
162(EFIAPI *SMC_IO_SMC_UNKNOWN_5)(
163 IN APPLE_SMC_IO_PROTOCOL *This,
164 IN UINT8 *Data
165 );
166
167// APPLE_SMC_IO_PROTOCOL
190
191// gAppleSmcIoProtocolGuid
192extern EFI_GUID gAppleSmcIoProtocolGuid;
193
194#endif // APPLE_SMC_IO_H
UINT32 SMC_KEY_TYPE
Definition AppleSmc.h:322
UINT32 SMC_ADDRESS
Definition AppleSmc.h:108
UINT8 SMC_KEY_ATTRIBUTES
Definition AppleSmc.h:336
UINT8 SMC_DATA
Definition AppleSmc.h:342
UINT8 SMC_DATA_SIZE
Definition AppleSmc.h:343
UINT16 SMC_FLASH_SIZE
Definition AppleSmc.h:375
UINT8 SMC_DEVICE_INDEX
Definition AppleSmc.h:367
UINT32 SMC_KEY
Definition AppleSmc.h:364
UINT8 SMC_FLASH_TYPE
Definition AppleSmc.h:135
UINT32 SMC_KEY_INDEX
Definition AppleSmc.h:365
EFI_STATUS(EFIAPI * SMC_IO_SMC_GET_KEY_INFO)(IN APPLE_SMC_IO_PROTOCOL *This, IN SMC_KEY Key, OUT SMC_DATA_SIZE *Size, OUT SMC_KEY_TYPE *Type, OUT SMC_KEY_ATTRIBUTES *Attributes)
Definition AppleSmcIo.h:76
EFI_STATUS(EFIAPI * SMC_IO_SMC_FLASH_TYPE)(IN APPLE_SMC_IO_PROTOCOL *This, IN SMC_FLASH_TYPE Type)
Definition AppleSmcIo.h:95
EFI_STATUS(EFIAPI * SMC_IO_SMC_READ_VALUE)(IN APPLE_SMC_IO_PROTOCOL *This, IN SMC_KEY Key, IN SMC_DATA_SIZE Size, OUT SMC_DATA *Value)
Definition AppleSmcIo.h:31
EFI_STATUS(EFIAPI * SMC_IO_SMC_UNKNOWN_4)(IN APPLE_SMC_IO_PROTOCOL *This, IN UINTN Ukn1)
Definition AppleSmcIo.h:154
EFI_GUID gAppleSmcIoProtocolGuid
EFI_STATUS(EFIAPI * SMC_IO_SMC_RESET)(IN APPLE_SMC_IO_PROTOCOL *This, IN UINT32 Mode)
Definition AppleSmcIo.h:87
EFI_STATUS(EFIAPI * SMC_IO_SMC_UNKNOWN_2)(IN APPLE_SMC_IO_PROTOCOL *This, IN UINTN Ukn1, IN UINTN Ukn2)
Definition AppleSmcIo.h:136
EFI_STATUS(EFIAPI * SMC_IO_SMC_GET_KEY_COUNT)(IN APPLE_SMC_IO_PROTOCOL *This, OUT UINT32 *Count)
Definition AppleSmcIo.h:51
EFI_STATUS(EFIAPI * SMC_IO_SMC_FLASH_AUTH)(IN APPLE_SMC_IO_PROTOCOL *This, IN SMC_FLASH_SIZE Size, IN SMC_DATA *Data)
Definition AppleSmcIo.h:113
EFI_STATUS(EFIAPI * SMC_IO_SMC_UNSUPPORTED)(VOID)
Definition AppleSmcIo.h:122
EFI_STATUS(EFIAPI * SMC_IO_SMC_FLASH_WRITE)(IN APPLE_SMC_IO_PROTOCOL *This, IN UINT32 Unknown, IN SMC_FLASH_SIZE Size, IN SMC_DATA *Data)
Definition AppleSmcIo.h:103
EFI_STATUS(EFIAPI * SMC_IO_SMC_UNKNOWN_3)(IN APPLE_SMC_IO_PROTOCOL *This, IN UINTN Ukn1, IN UINTN Ukn2)
Definition AppleSmcIo.h:145
EFI_STATUS(EFIAPI * SMC_IO_SMC_WRITE_VALUE)(IN APPLE_SMC_IO_PROTOCOL *This, IN SMC_KEY Key, IN SMC_DATA_SIZE Size, IN SMC_DATA *Value)
Definition AppleSmcIo.h:41
EFI_STATUS(EFIAPI * SMC_IO_SMC_UNKNOWN_5)(IN APPLE_SMC_IO_PROTOCOL *This, IN UINT8 *Data)
Definition AppleSmcIo.h:162
EFI_STATUS(EFIAPI * SMC_IO_SMC_GET_KEY_FROM_INDEX)(IN APPLE_SMC_IO_PROTOCOL *This, IN SMC_KEY_INDEX Index, OUT SMC_KEY *Key)
Definition AppleSmcIo.h:67
EFI_STATUS(EFIAPI * SMC_IO_SMC_UNKNOWN_1)(VOID)
Definition AppleSmcIo.h:129
EFI_STATUS(EFIAPI * SMC_IO_SMC_MAKE_KEY)(IN CHAR8 *Name, OUT SMC_KEY *Key)
Definition AppleSmcIo.h:59
DMG_SIZE_DEVICE_PATH Size
SMC_IO_SMC_UNKNOWN_1 SmcUnknown1
Definition AppleSmcIo.h:184
SMC_IO_SMC_MAKE_KEY SmcMakeKey
Definition AppleSmcIo.h:173
SMC_IO_SMC_UNKNOWN_3 SmcUnknown3
Definition AppleSmcIo.h:186
SMC_IO_SMC_FLASH_TYPE SmcFlashType
Definition AppleSmcIo.h:177
SMC_IO_SMC_RESET SmcReset
Definition AppleSmcIo.h:176
SMC_IO_SMC_UNSUPPORTED SmcUnsupported
Definition AppleSmcIo.h:178
SMC_IO_SMC_UNKNOWN_4 SmcUnknown4
Definition AppleSmcIo.h:187
SMC_IO_SMC_GET_KEY_FROM_INDEX SmcGetKeyFromIndex
Definition AppleSmcIo.h:174
SMC_IO_SMC_UNKNOWN_5 SmcUnknown5
Definition AppleSmcIo.h:188
SMC_DEVICE_INDEX Index
Definition AppleSmcIo.h:181
SMC_IO_SMC_UNKNOWN_2 SmcUnknown2
Definition AppleSmcIo.h:185
SMC_IO_SMC_FLASH_AUTH SmcFlashAuth
Definition AppleSmcIo.h:180
SMC_IO_SMC_READ_VALUE SmcReadValue
Definition AppleSmcIo.h:170
SMC_IO_SMC_FLASH_WRITE SmcFlashWrite
Definition AppleSmcIo.h:179
SMC_IO_SMC_GET_KEY_INFO SmcGetKeyInfo
Definition AppleSmcIo.h:175
SMC_IO_SMC_GET_KEY_COUNT SmcGetKeyCount
Definition AppleSmcIo.h:172
SMC_IO_SMC_WRITE_VALUE SmcWriteValue
Definition AppleSmcIo.h:171