Home | History | Annotate | Download | only in IpsecConfig
      1 /** @file
      2   The internal structure and function declaration to construct ENTRY_INDEXER in
      3   IpSecConfig application.
      4 
      5   Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
      6 
      7   This program and the accompanying materials
      8   are licensed and made available under the terms and conditions of the BSD License
      9   which accompanies this distribution.  The full text of the license may be found at
     10   http://opensource.org/licenses/bsd-license.php.
     11 
     12   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     13   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     14 
     15 **/
     16 
     17 #ifndef _INDEXER_H_
     18 #define _INDEXER_H_
     19 
     20 typedef struct {
     21   UINT8    Name[MAX_PEERID_LEN];
     22   UINTN    Index;    // Used only if Name buffer is filled with zero.
     23 } SPD_ENTRY_INDEXER;
     24 
     25 typedef struct {
     26   EFI_IPSEC_SA_ID    SaId;
     27   UINTN              Index;
     28 } SAD_ENTRY_INDEXER;
     29 
     30 typedef struct {
     31   EFI_IPSEC_PAD_ID    PadId;
     32   UINTN               Index;
     33 } PAD_ENTRY_INDEXER;
     34 
     35 typedef union {
     36   SPD_ENTRY_INDEXER    Spd;
     37   SAD_ENTRY_INDEXER    Sad;
     38   PAD_ENTRY_INDEXER    Pad;
     39 } POLICY_ENTRY_INDEXER;
     40 
     41 /**
     42   The prototype for the ConstructSpdIndexer()/ConstructSadIndexer()/ConstructPadIndexer().
     43   Fill in SPD_ENTRY_INDEXER/SAD_ENTRY_INDEXER/PAD_ENTRY_INDEXER through ParamPackage list.
     44 
     45   @param[in, out] Indexer         The pointer to the POLICY_ENTRY_INDEXER union.
     46   @param[in]      ParamPackage    The pointer to the ParamPackage list.
     47 
     48   @retval EFI_SUCCESS    Filled in POLICY_ENTRY_INDEXER successfully.
     49 **/
     50 typedef
     51 EFI_STATUS
     52 (* CONSTRUCT_POLICY_ENTRY_INDEXER) (
     53   IN POLICY_ENTRY_INDEXER    *Indexer,
     54   IN LIST_ENTRY              *ParamPackage
     55 );
     56 
     57 extern CONSTRUCT_POLICY_ENTRY_INDEXER mConstructPolicyEntryIndexer[];
     58 #endif
     59