123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- /** @file
- The function declaration of policy entry operation in IpSecConfig application.
- Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
- SPDX-License-Identifier: BSD-2-Clause-Patent
- **/
- #ifndef _POLICY_ENTRY_OPERATION_H_
- #define _POLICY_ENTRY_OPERATION_H_
- #define LOCAL BIT(0)
- #define REMOTE BIT(1)
- #define PROTO BIT(2)
- #define LOCAL_PORT BIT(3)
- #define REMOTE_PORT BIT(4)
- #define ICMP_TYPE BIT(5)
- #define ICMP_CODE BIT(6)
- #define NAME BIT(7)
- #define PACKET_FLAG BIT(8)
- #define ACTION BIT(9)
- #define EXT_SEQUENCE BIT(10)
- #define SEQUENCE_OVERFLOW BIT(11)
- #define FRAGMENT_CHECK BIT(12)
- #define LIFEBYTE BIT(13)
- #define LIFETIME_SOFT BIT(14)
- #define LIFETIME BIT(15)
- #define MODE BIT(16)
- #define TUNNEL_LOCAL BIT(17)
- #define TUNNEL_REMOTE BIT(18)
- #define DONT_FRAGMENT BIT(19)
- #define IPSEC_PROTO BIT(20)
- #define AUTH_ALGO BIT(21)
- #define ENCRYPT_ALGO BIT(22)
- #define SPI BIT(23)
- #define DEST BIT(24)
- #define SEQUENCE_NUMBER BIT(25)
- #define ANTIREPLAY_WINDOW BIT(26)
- #define AUTH_KEY BIT(27)
- #define ENCRYPT_KEY BIT(28)
- #define PATH_MTU BIT(29)
- #define SOURCE BIT(30)
- #define PEER_ID BIT(0)
- #define PEER_ADDRESS BIT(1)
- #define AUTH_PROTO BIT(2)
- #define AUTH_METHOD BIT(3)
- #define IKE_ID BIT(4)
- #define AUTH_DATA BIT(5)
- #define REVOCATION_DATA BIT(6)
- typedef struct {
- EFI_IPSEC_CONFIG_DATA_TYPE DataType;
- EFI_IPSEC_CONFIG_SELECTOR *Selector; // Data to be inserted.
- VOID *Data;
- UINT32 Mask;
- POLICY_ENTRY_INDEXER Indexer;
- EFI_STATUS Status; // Indicate whether insertion succeeds.
- } EDIT_POLICY_ENTRY_CONTEXT;
- typedef struct {
- EFI_IPSEC_CONFIG_DATA_TYPE DataType;
- EFI_IPSEC_CONFIG_SELECTOR *Selector; // Data to be inserted.
- VOID *Data;
- POLICY_ENTRY_INDEXER Indexer;
- EFI_STATUS Status; // Indicate whether insertion succeeds.
- } INSERT_POLICY_ENTRY_CONTEXT;
- /**
- The prototype for the CreateSpdEntry()/CreateSadEntry()/CreatePadEntry().
- Fill in EFI_IPSEC_CONFIG_SELECTOR and corresponding data thru ParamPackage list.
- @param[out] Selector The pointer to the EFI_IPSEC_CONFIG_SELECTOR union.
- @param[out] Data The pointer to corresponding data.
- @param[in] ParamPackage The pointer to the ParamPackage list.
- @param[out] Mask The pointer to the Mask.
- @param[in] CreateNew The switch to create new.
- @retval EFI_SUCCESS Filled in EFI_IPSEC_CONFIG_SELECTOR and corresponding data successfully.
- @retval EFI_INVALID_PARAMETER Invalid user input parameter.
- **/
- typedef
- EFI_STATUS
- (*CREATE_POLICY_ENTRY) (
- OUT EFI_IPSEC_CONFIG_SELECTOR **Selector,
- OUT VOID **Data,
- IN LIST_ENTRY *ParamPackage,
- OUT UINT32 *Mask,
- IN BOOLEAN CreateNew
- );
- /**
- The prototype for the CombineSpdEntry()/CombineSadEntry()/CombinePadEntry().
- Combine old SPD/SAD/PAD entry with new SPD/SAD/PAD entry.
- @param[in, out] OldSelector The pointer to the old EFI_IPSEC_CONFIG_SELECTOR union.
- @param[in, out] OldData The pointer to the corresponding old data.
- @param[in] NewSelector The pointer to the new EFI_IPSEC_CONFIG_SELECTOR union.
- @param[in] NewData The pointer to the corresponding new data.
- @param[in] Mask The pointer to the Mask.
- @param[out] CreateNew The switch to create new.
- @retval EFI_SUCCESS Combined successfully.
- @retval EFI_INVALID_PARAMETER Invalid user input parameter.
- **/
- typedef
- EFI_STATUS
- (* COMBINE_POLICY_ENTRY) (
- IN OUT EFI_IPSEC_CONFIG_SELECTOR *OldSelector,
- IN OUT VOID *OldData,
- IN EFI_IPSEC_CONFIG_SELECTOR *NewSelector,
- IN VOID *NewData,
- IN UINT32 Mask,
- OUT BOOLEAN *CreateNew
- );
- /**
- Insert or add entry information in database according to datatype.
- @param[in] DataType The value of EFI_IPSEC_CONFIG_DATA_TYPE.
- @param[in] ParamPackage The pointer to the ParamPackage list.
- @retval EFI_SUCCESS Insert or add entry information successfully.
- @retval EFI_NOT_FOUND Can't find the specified entry.
- @retval EFI_BUFFER_TOO_SMALL The entry already existed.
- @retval EFI_UNSUPPORTED The operation is not supported./
- @retval Others Some mistaken case.
- **/
- EFI_STATUS
- AddOrInsertPolicyEntry (
- IN EFI_IPSEC_CONFIG_DATA_TYPE DataType,
- IN LIST_ENTRY *ParamPackage
- );
- /**
- Edit entry information in the database according to datatype.
- @param[in] DataType The value of EFI_IPSEC_CONFIG_DATA_TYPE.
- @param[in] ParamPackage The pointer to the ParamPackage list.
- @retval EFI_SUCCESS Edit entry information successfully.
- @retval EFI_NOT_FOUND Can't find the specified entry.
- @retval Others Some mistaken case.
- **/
- EFI_STATUS
- EditPolicyEntry (
- IN EFI_IPSEC_CONFIG_DATA_TYPE DataType,
- IN LIST_ENTRY *ParamPackage
- );
- #endif
|