]> git.proxmox.com Git - mirror_edk2.git/blob - NetworkPkg/Application/IpsecConfig/Indexer.h
NetworkPkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / NetworkPkg / Application / IpsecConfig / Indexer.h
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 SPDX-License-Identifier: BSD-2-Clause-Patent
8
9 **/
10
11 #ifndef _INDEXER_H_
12 #define _INDEXER_H_
13
14 typedef struct {
15 UINT8 Name[MAX_PEERID_LEN];
16 UINTN Index; // Used only if Name buffer is filled with zero.
17 } SPD_ENTRY_INDEXER;
18
19 typedef struct {
20 EFI_IPSEC_SA_ID SaId;
21 UINTN Index;
22 } SAD_ENTRY_INDEXER;
23
24 typedef struct {
25 EFI_IPSEC_PAD_ID PadId;
26 UINTN Index;
27 } PAD_ENTRY_INDEXER;
28
29 typedef union {
30 SPD_ENTRY_INDEXER Spd;
31 SAD_ENTRY_INDEXER Sad;
32 PAD_ENTRY_INDEXER Pad;
33 } POLICY_ENTRY_INDEXER;
34
35 /**
36 The prototype for the ConstructSpdIndexer()/ConstructSadIndexer()/ConstructPadIndexer().
37 Fill in SPD_ENTRY_INDEXER/SAD_ENTRY_INDEXER/PAD_ENTRY_INDEXER through ParamPackage list.
38
39 @param[in, out] Indexer The pointer to the POLICY_ENTRY_INDEXER union.
40 @param[in] ParamPackage The pointer to the ParamPackage list.
41
42 @retval EFI_SUCCESS Filled in POLICY_ENTRY_INDEXER successfully.
43 **/
44 typedef
45 EFI_STATUS
46 (* CONSTRUCT_POLICY_ENTRY_INDEXER) (
47 IN POLICY_ENTRY_INDEXER *Indexer,
48 IN LIST_ENTRY *ParamPackage
49 );
50
51 extern CONSTRUCT_POLICY_ENTRY_INDEXER mConstructPolicyEntryIndexer[];
52 #endif