]> git.proxmox.com Git - mirror_edk2.git/blame - CryptoPkg/Include/Pcd/PcdCryptoServiceFamilyEnable.h
CryptoPkg: Apply uncrustify changes
[mirror_edk2.git] / CryptoPkg / Include / Pcd / PcdCryptoServiceFamilyEnable.h
CommitLineData
3b0e0430
MK
1/** @file\r
2 Defines the PCD_CRYPTO_SERVICE_FAMILY_ENABLE structure associated with\r
3 gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.\r
4\r
5 Copyright (c) 2019 - 2020, Intel Corporation. All rights reserved.<BR>\r
6 SPDX-License-Identifier: BSD-2-Clause-Patent\r
7\r
8**/\r
9\r
10#ifndef __PCD_CRYPTO_SERVICE_FAMILY_ENABLE_H__\r
11#define __PCD_CRYPTO_SERVICE_FAMILY_ENABLE_H__\r
12\r
13///\r
14/// Define used to enable all the crypto services in a family\r
15///\r
16#define PCD_CRYPTO_SERVICE_ENABLE_FAMILY 0xFFFFFFFF\r
17\r
18///\r
19/// PCD_CRYPTO_SERVICE_FAMILY_ENABLE structure. Each field in this structure\r
20/// is associated with a service in the EDK II Crypto Protocol/PPI. This allows\r
21/// each individual service to be enabled/disabled in a DSC file. Services are\r
22/// also grouped into families. Unions are used to support enabling or\r
23/// disabling an entire family in a single DSC statement.\r
24///\r
25typedef struct {\r
26 union {\r
27 struct {\r
7c342378
MK
28 UINT8 New : 1;\r
29 UINT8 Free : 1;\r
30 UINT8 SetKey : 1;\r
31 UINT8 Duplicate : 1;\r
32 UINT8 Update : 1;\r
33 UINT8 Final : 1;\r
3b0e0430
MK
34 } Services;\r
35 UINT32 Family;\r
36 } HmacMd5;\r
37 union {\r
38 struct {\r
7c342378
MK
39 UINT8 New : 1;\r
40 UINT8 Free : 1;\r
41 UINT8 SetKey : 1;\r
42 UINT8 Duplicate : 1;\r
43 UINT8 Update : 1;\r
44 UINT8 Final : 1;\r
3b0e0430
MK
45 } Services;\r
46 UINT32 Family;\r
47 } HmacSha1;\r
48 union {\r
49 struct {\r
7c342378
MK
50 UINT8 New : 1;\r
51 UINT8 Free : 1;\r
52 UINT8 SetKey : 1;\r
53 UINT8 Duplicate : 1;\r
54 UINT8 Update : 1;\r
55 UINT8 Final : 1;\r
3b0e0430
MK
56 } Services;\r
57 UINT32 Family;\r
58 } HmacSha256;\r
59 union {\r
60 struct {\r
7c342378
MK
61 UINT8 GetContextSize : 1;\r
62 UINT8 Init : 1;\r
63 UINT8 Duplicate : 1;\r
64 UINT8 Update : 1;\r
65 UINT8 Final : 1;\r
66 UINT8 HashAll : 1;\r
3b0e0430
MK
67 } Services;\r
68 UINT32 Family;\r
69 } Md4;\r
70 union {\r
71 struct {\r
7c342378
MK
72 UINT8 GetContextSize : 1;\r
73 UINT8 Init : 1;\r
74 UINT8 Duplicate : 1;\r
75 UINT8 Update : 1;\r
76 UINT8 Final : 1;\r
77 UINT8 HashAll : 1;\r
3b0e0430
MK
78 } Services;\r
79 UINT32 Family;\r
80 } Md5;\r
81 union {\r
82 struct {\r
7c342378
MK
83 UINT8 Pkcs1v2Encrypt : 1;\r
84 UINT8 Pkcs5HashPassword : 1;\r
85 UINT8 Pkcs7Verify : 1;\r
86 UINT8 VerifyEKUsInPkcs7Signature : 1;\r
87 UINT8 Pkcs7GetSigners : 1;\r
88 UINT8 Pkcs7FreeSigners : 1;\r
89 UINT8 Pkcs7Sign : 1;\r
90 UINT8 Pkcs7GetAttachedContent : 1;\r
91 UINT8 Pkcs7GetCertificatesList : 1;\r
92 UINT8 AuthenticodeVerify : 1;\r
93 UINT8 ImageTimestampVerify : 1;\r
3b0e0430
MK
94 } Services;\r
95 UINT32 Family;\r
96 } Pkcs;\r
97 union {\r
98 struct {\r
7c342378
MK
99 UINT8 New : 1;\r
100 UINT8 Free : 1;\r
101 UINT8 GenerateParameter : 1;\r
102 UINT8 SetParameter : 1;\r
103 UINT8 GenerateKey : 1;\r
104 UINT8 ComputeKey : 1;\r
3b0e0430
MK
105 } Services;\r
106 UINT32 Family;\r
107 } Dh;\r
108 union {\r
109 struct {\r
7c342378
MK
110 UINT8 Seed : 1;\r
111 UINT8 Bytes : 1;\r
3b0e0430
MK
112 } Services;\r
113 UINT32 Family;\r
114 } Random;\r
115 union {\r
116 struct {\r
7c342378
MK
117 UINT8 VerifyPkcs1 : 1;\r
118 UINT8 New : 1;\r
119 UINT8 Free : 1;\r
120 UINT8 SetKey : 1;\r
121 UINT8 GetKey : 1;\r
122 UINT8 GenerateKey : 1;\r
123 UINT8 CheckKey : 1;\r
124 UINT8 Pkcs1Sign : 1;\r
125 UINT8 Pkcs1Verify : 1;\r
126 UINT8 GetPrivateKeyFromPem : 1;\r
127 UINT8 GetPublicKeyFromX509 : 1;\r
3b0e0430
MK
128 } Services;\r
129 UINT32 Family;\r
130 } Rsa;\r
131 union {\r
132 struct {\r
7c342378
MK
133 UINT8 GetContextSize : 1;\r
134 UINT8 Init : 1;\r
135 UINT8 Duplicate : 1;\r
136 UINT8 Update : 1;\r
137 UINT8 Final : 1;\r
138 UINT8 HashAll : 1;\r
3b0e0430
MK
139 } Services;\r
140 UINT32 Family;\r
141 } Sha1;\r
142 union {\r
143 struct {\r
7c342378
MK
144 UINT8 GetContextSize : 1;\r
145 UINT8 Init : 1;\r
146 UINT8 Duplicate : 1;\r
147 UINT8 Update : 1;\r
148 UINT8 Final : 1;\r
149 UINT8 HashAll : 1;\r
3b0e0430
MK
150 } Services;\r
151 UINT32 Family;\r
152 } Sha256;\r
153 union {\r
154 struct {\r
7c342378
MK
155 UINT8 GetContextSize : 1;\r
156 UINT8 Init : 1;\r
157 UINT8 Duplicate : 1;\r
158 UINT8 Update : 1;\r
159 UINT8 Final : 1;\r
160 UINT8 HashAll : 1;\r
3b0e0430
MK
161 } Services;\r
162 UINT32 Family;\r
163 } Sha384;\r
164 union {\r
165 struct {\r
7c342378
MK
166 UINT8 GetContextSize : 1;\r
167 UINT8 Init : 1;\r
168 UINT8 Duplicate : 1;\r
169 UINT8 Update : 1;\r
170 UINT8 Final : 1;\r
171 UINT8 HashAll : 1;\r
3b0e0430
MK
172 } Services;\r
173 UINT32 Family;\r
174 } Sha512;\r
175 union {\r
176 struct {\r
7c342378
MK
177 UINT8 GetSubjectName : 1;\r
178 UINT8 GetCommonName : 1;\r
179 UINT8 GetOrganizationName : 1;\r
180 UINT8 VerifyCert : 1;\r
181 UINT8 ConstructCertificate : 1;\r
182 UINT8 ConstructCertificateStack : 1;\r
183 UINT8 ConstructCertificateStackV : 1;\r
184 UINT8 Free : 1;\r
185 UINT8 StackFree : 1;\r
186 UINT8 GetTBSCert : 1;\r
3b0e0430
MK
187 } Services;\r
188 UINT32 Family;\r
189 } X509;\r
190 union {\r
191 struct {\r
7c342378
MK
192 UINT8 GetContextSize : 1;\r
193 UINT8 Init : 1;\r
194 UINT8 EcbEncrypt : 1;\r
195 UINT8 EcbDecrypt : 1;\r
196 UINT8 CbcEncrypt : 1;\r
197 UINT8 CbcDecrypt : 1;\r
3b0e0430
MK
198 } Services;\r
199 UINT32 Family;\r
200 } Tdes;\r
201 union {\r
202 struct {\r
7c342378
MK
203 UINT8 GetContextSize : 1;\r
204 UINT8 Init : 1;\r
205 UINT8 EcbEncrypt : 1;\r
206 UINT8 EcbDecrypt : 1;\r
207 UINT8 CbcEncrypt : 1;\r
208 UINT8 CbcDecrypt : 1;\r
3b0e0430
MK
209 } Services;\r
210 UINT32 Family;\r
211 } Aes;\r
212 union {\r
213 struct {\r
7c342378
MK
214 UINT8 GetContextSize : 1;\r
215 UINT8 Init : 1;\r
216 UINT8 Encrypt : 1;\r
217 UINT8 Decrypt : 1;\r
218 UINT8 Reset : 1;\r
3b0e0430
MK
219 } Services;\r
220 UINT32 Family;\r
221 } Arc4;\r
222 union {\r
223 struct {\r
7c342378
MK
224 UINT8 GetContextSize : 1;\r
225 UINT8 Init : 1;\r
226 UINT8 Duplicate : 1;\r
227 UINT8 Update : 1;\r
228 UINT8 Final : 1;\r
229 UINT8 HashAll : 1;\r
3b0e0430
MK
230 } Services;\r
231 UINT32 Family;\r
232 } Sm3;\r
233 union {\r
234 struct {\r
7c342378 235 UINT8 Sha256ExtractAndExpand;\r
3b0e0430
MK
236 } Services;\r
237 UINT32 Family;\r
238 } Hkdf;\r
239 union {\r
240 struct {\r
7c342378
MK
241 UINT8 Initialize : 1;\r
242 UINT8 CtxFree : 1;\r
243 UINT8 CtxNew : 1;\r
244 UINT8 Free : 1;\r
245 UINT8 New : 1;\r
246 UINT8 InHandshake : 1;\r
247 UINT8 DoHandshake : 1;\r
248 UINT8 HandleAlert : 1;\r
249 UINT8 CloseNotify : 1;\r
250 UINT8 CtrlTrafficOut : 1;\r
251 UINT8 CtrlTrafficIn : 1;\r
252 UINT8 Read : 1;\r
253 UINT8 Write : 1;\r
3b0e0430
MK
254 } Services;\r
255 UINT32 Family;\r
256 } Tls;\r
257 union {\r
258 struct {\r
7c342378
MK
259 UINT8 Version : 1;\r
260 UINT8 ConnectionEnd : 1;\r
261 UINT8 CipherList : 1;\r
262 UINT8 CompressionMethod : 1;\r
263 UINT8 Verify : 1;\r
264 UINT8 VerifyHost : 1;\r
265 UINT8 SessionId : 1;\r
266 UINT8 CaCertificate : 1;\r
267 UINT8 HostPublicCert : 1;\r
268 UINT8 HostPrivateKey : 1;\r
269 UINT8 CertRevocationList : 1;\r
3b0e0430
MK
270 } Services;\r
271 UINT32 Family;\r
272 } TlsSet;\r
273 union {\r
274 struct {\r
7c342378
MK
275 UINT8 Version : 1;\r
276 UINT8 ConnectionEnd : 1;\r
277 UINT8 CurrentCipher : 1;\r
278 UINT8 CurrentCompressionId : 1;\r
279 UINT8 Verify : 1;\r
280 UINT8 SessionId : 1;\r
281 UINT8 ClientRandom : 1;\r
282 UINT8 ServerRandom : 1;\r
283 UINT8 KeyMaterial : 1;\r
284 UINT8 CaCertificate : 1;\r
285 UINT8 HostPublicCert : 1;\r
286 UINT8 HostPrivateKey : 1;\r
287 UINT8 CertRevocationList : 1;\r
3b0e0430
MK
288 } Services;\r
289 UINT32 Family;\r
290 } TlsGet;\r
291} PCD_CRYPTO_SERVICE_FAMILY_ENABLE;\r
292\r
293#endif\r