| /** @file | |
| The internal structure and function declaration to construct ENTRY_INDEXER in | |
| IpSecConfig application. | |
| Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR> | |
| This program and the accompanying materials | |
| are licensed and made available under the terms and conditions of the BSD License | |
| which accompanies this distribution. The full text of the license may be found at | |
| http://opensource.org/licenses/bsd-license.php. | |
| THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, | |
| WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. | |
| **/ | |
| #ifndef _INDEXER_H_ | |
| #define _INDEXER_H_ | |
| typedef struct { | |
| UINT8 Name[MAX_PEERID_LEN]; | |
| UINTN Index; // Used only if Name buffer is filled with zero. | |
| } SPD_ENTRY_INDEXER; | |
| typedef struct { | |
| EFI_IPSEC_SA_ID SaId; | |
| UINTN Index; | |
| } SAD_ENTRY_INDEXER; | |
| typedef struct { | |
| EFI_IPSEC_PAD_ID PadId; | |
| UINTN Index; | |
| } PAD_ENTRY_INDEXER; | |
| typedef union { | |
| SPD_ENTRY_INDEXER Spd; | |
| SAD_ENTRY_INDEXER Sad; | |
| PAD_ENTRY_INDEXER Pad; | |
| } POLICY_ENTRY_INDEXER; | |
| /** | |
| The prototype for the ConstructSpdIndexer()/ConstructSadIndexer()/ConstructPadIndexer(). | |
| Fill in SPD_ENTRY_INDEXER/SAD_ENTRY_INDEXER/PAD_ENTRY_INDEXER through ParamPackage list. | |
| @param[in, out] Indexer The pointer to the POLICY_ENTRY_INDEXER union. | |
| @param[in] ParamPackage The pointer to the ParamPackage list. | |
| @retval EFI_SUCCESS Filled in POLICY_ENTRY_INDEXER successfully. | |
| **/ | |
| typedef | |
| EFI_STATUS | |
| (* CONSTRUCT_POLICY_ENTRY_INDEXER) ( | |
| IN POLICY_ENTRY_INDEXER *Indexer, | |
| IN LIST_ENTRY *ParamPackage | |
| ); | |
| extern CONSTRUCT_POLICY_ENTRY_INDEXER mConstructPolicyEntryIndexer[]; | |
| #endif |