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