10#ifndef HASH_SERVICES_H
11#define HASH_SERVICES_H
14#include <Protocol/ServiceBinding.h>
15#include <Protocol/Hash.h>
29#define HS_PRIVATE_SIGNATURE SIGNATURE_32('H','S','r','v')
31#define HS_PRIVATE_FROM_PROTO(a) \
32 CR(a, HS_PRIVATE_DATA, Proto, HS_PRIVATE_SIGNATURE)
38 IN CONST EFI_HASH_PROTOCOL *This,
39 IN CONST EFI_GUID *HashAlgorithm,
47 IN CONST EFI_HASH_PROTOCOL *This,
48 IN CONST EFI_GUID *HashAlgorithm,
50 IN CONST UINT8 *Message,
51 IN UINT64 MessageSize,
52 IN OUT EFI_HASH_OUTPUT *
Hash
59 IN EFI_SERVICE_BINDING_PROTOCOL *This,
60 IN OUT EFI_HANDLE *ChildHandle
67 IN EFI_SERVICE_BINDING_PROTOCOL *This,
68 IN EFI_HANDLE ChildHandle
union _HS_CONTEXT_DATA HS_CONTEXT_DATA
struct _HS_PRIVATE_DATA HS_PRIVATE_DATA
STATIC EFI_STATUS EFIAPI HSDestroyChild(IN EFI_SERVICE_BINDING_PROTOCOL *This, IN EFI_HANDLE ChildHandle)
STATIC EFI_STATUS EFIAPI HSGetHashSize(IN CONST EFI_HASH_PROTOCOL *This, IN CONST EFI_GUID *HashAlgorithm, OUT UINTN *HashSize)
STATIC EFI_STATUS EFIAPI HSCreateChild(IN EFI_SERVICE_BINDING_PROTOCOL *This, IN OUT EFI_HANDLE *ChildHandle)
STATIC EFI_STATUS EFIAPI HSHash(IN CONST EFI_HASH_PROTOCOL *This, IN CONST EFI_GUID *HashAlgorithm, IN BOOLEAN Extend, IN CONST UINT8 *Message, IN UINT64 MessageSize, IN OUT EFI_HASH_OUTPUT *Hash)