]> git.proxmox.com Git - mirror_edk2.git/blob - NetworkPkg/Application/IpsecConfig/ForEach.h
fc309300c081c1813903e09de19f7e202d9b813a
[mirror_edk2.git] / NetworkPkg / Application / IpsecConfig / ForEach.h
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