Indexer.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /** @file
  2. The internal structure and function declaration to construct ENTRY_INDEXER in
  3. IpSecConfig application.
  4. Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
  5. SPDX-License-Identifier: BSD-2-Clause-Patent
  6. **/
  7. #ifndef _INDEXER_H_
  8. #define _INDEXER_H_
  9. typedef struct {
  10. UINT8 Name[MAX_PEERID_LEN];
  11. UINTN Index; // Used only if Name buffer is filled with zero.
  12. } SPD_ENTRY_INDEXER;
  13. typedef struct {
  14. EFI_IPSEC_SA_ID SaId;
  15. UINTN Index;
  16. } SAD_ENTRY_INDEXER;
  17. typedef struct {
  18. EFI_IPSEC_PAD_ID PadId;
  19. UINTN Index;
  20. } PAD_ENTRY_INDEXER;
  21. typedef union {
  22. SPD_ENTRY_INDEXER Spd;
  23. SAD_ENTRY_INDEXER Sad;
  24. PAD_ENTRY_INDEXER Pad;
  25. } POLICY_ENTRY_INDEXER;
  26. /**
  27. The prototype for the ConstructSpdIndexer()/ConstructSadIndexer()/ConstructPadIndexer().
  28. Fill in SPD_ENTRY_INDEXER/SAD_ENTRY_INDEXER/PAD_ENTRY_INDEXER through ParamPackage list.
  29. @param[in, out] Indexer The pointer to the POLICY_ENTRY_INDEXER union.
  30. @param[in] ParamPackage The pointer to the ParamPackage list.
  31. @retval EFI_SUCCESS Filled in POLICY_ENTRY_INDEXER successfully.
  32. **/
  33. typedef
  34. EFI_STATUS
  35. (* CONSTRUCT_POLICY_ENTRY_INDEXER) (
  36. IN POLICY_ENTRY_INDEXER *Indexer,
  37. IN LIST_ENTRY *ParamPackage
  38. );
  39. extern CONSTRUCT_POLICY_ENTRY_INDEXER mConstructPolicyEntryIndexer[];
  40. #endif