Home | History | Annotate | Download | only in IpsecConfig
      1 /** @file
      2   The internal structure and function declaration of the implementation
      3   to go through each entry in IpSecConfig application.
      4 
      5   Copyright (c) 2009 - 2010, 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 _FOREACH_H_
     18 #define _FOREACH_H_
     19 
     20 /**
     21   The prototype for the DumpSpdEntry()/DumpSadEntry()/DumpPadEntry().
     22   Print EFI_IPSEC_CONFIG_SELECTOR and corresponding content.
     23 
     24   @param[in] Selector    The pointer to the EFI_IPSEC_CONFIG_SELECTOR union.
     25   @param[in] Data        The pointer to the corresponding data.
     26   @param[in] Context     The pointer to the Index in SPD/SAD/PAD Database.
     27 
     28   @retval EFI_SUCCESS    Dump SPD/SAD/PAD information successfully.
     29 **/
     30 typedef
     31 EFI_STATUS
     32 (*VISIT_POLICY_ENTRY) (
     33   IN EFI_IPSEC_CONFIG_SELECTOR    *Selector,
     34   IN VOID                         *Data,
     35   IN VOID                         *Context
     36   );
     37 
     38 /**
     39   Enumerate all entry in the database to execute a specified operation according to datatype.
     40 
     41   @param[in] DataType    The value of EFI_IPSEC_CONFIG_DATA_TYPE.
     42   @param[in] Routine     The pointer to function of a specified operation.
     43   @param[in] Context     The pointer to the context of a function.
     44 
     45   @retval EFI_SUCCESS    Execute specified operation successfully.
     46 **/
     47 EFI_STATUS
     48 ForeachPolicyEntry (
     49   IN EFI_IPSEC_CONFIG_DATA_TYPE    DataType,
     50   IN VISIT_POLICY_ENTRY            Routine,
     51   IN VOID                          *Context
     52   );
     53 
     54 #endif
     55