XenevaOS
Loading...
Searching...
No Matches
Hash2.h
Go to the documentation of this file.
1
21#ifndef __EFI_HASH2_PROTOCOL_H__
22#define __EFI_HASH2_PROTOCOL_H__
23
24#define EFI_HASH2_SERVICE_BINDING_PROTOCOL_GUID \
25 { \
26 0xda836f8d, 0x217f, 0x4ca0, { 0x99, 0xc2, 0x1c, 0xa4, 0xe1, 0x60, 0x77, 0xea } \
27 }
28
29#define EFI_HASH2_PROTOCOL_GUID \
30 { \
31 0x55b1d734, 0xc5e1, 0x49db, { 0x96, 0x47, 0xb1, 0x6a, 0xfb, 0xe, 0x30, 0x5b } \
32 }
33
34#include <Protocol/Hash.h>
35
36//
37// NOTE:
38// Algorithms EFI_HASH_ALGORITHM_SHA1_NOPAD and
39// EFI_HASH_ALGORITHM_SHA256_NOPAD_GUID are not compatible with
40// EFI_HASH2_PROTOCOL and will return EFI_UNSUPPORTED if used with any
41// EFI_HASH2_PROTOCOL function.
42//
43
44//
45// Note: SHA-1 and MD5 are included for backwards compatibility.
46// New driver implementations are encouraged to consider stronger algorithms.
47//
48
50
51typedef UINT8 EFI_MD5_HASH2[16];
57
66
80typedef
84 IN CONST EFI_GUID *HashAlgorithm,
85 OUT UINTN *HashSize
86 );
87
108typedef
112 IN CONST EFI_GUID *HashAlgorithm,
113 IN CONST UINT8 *Message,
114 IN UINTN MessageSize,
116 );
117
134typedef
138 IN CONST EFI_GUID *HashAlgorithm
139 );
140
156typedef
160 IN CONST UINT8 *Message,
161 IN UINTN MessageSize
162 );
163
180typedef
185 );
186
198
201
202#endif
UINT64 UINTN
Definition ProcessorBind.h:118
#define EFIAPI
Definition ProcessorBind.h:172
#define CONST
Definition Base.h:327
#define IN
Definition Base.h:347
#define OUT
Definition Base.h:352
EFI_STATUS(EFIAPI * EFI_HASH2_HASH_FINAL)(IN CONST EFI_HASH2_PROTOCOL *This, IN OUT EFI_HASH2_OUTPUT *Hash)
Definition Hash2.h:182
EFI_STATUS(EFIAPI * EFI_HASH2_HASH_INIT)(IN CONST EFI_HASH2_PROTOCOL *This, IN CONST EFI_GUID *HashAlgorithm)
Definition Hash2.h:136
UINT8 EFI_MD5_HASH2[16]
Definition Hash2.h:51
UINT8 EFI_SHA256_HASH2[32]
Definition Hash2.h:54
UINT8 EFI_SHA512_HASH2[64]
Definition Hash2.h:56
UINT8 EFI_SHA384_HASH2[48]
Definition Hash2.h:55
EFI_STATUS(EFIAPI * EFI_HASH2_HASH)(IN CONST EFI_HASH2_PROTOCOL *This, IN CONST EFI_GUID *HashAlgorithm, IN CONST UINT8 *Message, IN UINTN MessageSize, IN OUT EFI_HASH2_OUTPUT *Hash)
Definition Hash2.h:110
UINT8 EFI_SHA1_HASH2[20]
Definition Hash2.h:52
EFI_GUID gEfiHash2ServiceBindingProtocolGuid
UINT8 EFI_SHA224_HASH2[28]
Definition Hash2.h:53
EFI_STATUS(EFIAPI * EFI_HASH2_GET_HASH_SIZE)(IN CONST EFI_HASH2_PROTOCOL *This, IN CONST EFI_GUID *HashAlgorithm, OUT UINTN *HashSize)
Definition Hash2.h:82
EFI_GUID gEfiHash2ProtocolGuid
EFI_STATUS(EFIAPI * EFI_HASH2_HASH_UPDATE)(IN CONST EFI_HASH2_PROTOCOL *This, IN CONST UINT8 *Message, IN UINTN MessageSize)
Definition Hash2.h:158
RETURN_STATUS EFI_STATUS
Definition UefiBaseType.h:33
unsigned char UINT8
Definition actypes.h:236
Definition Base.h:281
Definition Hash2.h:191
EFI_HASH2_HASH_UPDATE HashUpdate
Definition Hash2.h:195
EFI_HASH2_GET_HASH_SIZE GetHashSize
Definition Hash2.h:192
EFI_HASH2_HASH_INIT HashInit
Definition Hash2.h:194
EFI_HASH2_HASH_FINAL HashFinal
Definition Hash2.h:196
EFI_HASH2_HASH Hash
Definition Hash2.h:193
Definition Hash2.h:58
EFI_SHA224_HASH2 Sha224Hash
Definition Hash2.h:61
EFI_SHA256_HASH2 Sha256Hash
Definition Hash2.h:62
EFI_SHA512_HASH2 Sha512Hash
Definition Hash2.h:64
EFI_SHA1_HASH2 Sha1Hash
Definition Hash2.h:60
EFI_SHA384_HASH2 Sha384Hash
Definition Hash2.h:63
EFI_MD5_HASH2 Md5Hash
Definition Hash2.h:59