76 lines
1.9 KiB
C
76 lines
1.9 KiB
C
// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil -*- (for GNU Emacs)
|
|
//
|
|
// Copyright (c) 1985-2000 Microsoft Corporation
|
|
//
|
|
// This file is part of the Microsoft Research IPv6 Network Protocol Stack.
|
|
// You should have received a copy of the Microsoft End-User License Agreement
|
|
// for this software along with this release; see the file "license.txt".
|
|
// If not, please see http://www.research.microsoft.com/msripv6/license.htm,
|
|
// or write to Microsoft Research, One Microsoft Way, Redmond, WA 98052-6399.
|
|
//
|
|
// Abstract:
|
|
//
|
|
// Definitions shared between user/kernel IPsec code.
|
|
//
|
|
|
|
#ifndef IPSEC_INCLUDED
|
|
#define IPSEC_INCLUDED 1
|
|
|
|
//
|
|
// IPsec action to take when match is found in the SPD.
|
|
//
|
|
#define IPSEC_BYPASS 0x1 // Bypass IPsec processing.
|
|
#define IPSEC_DISCARD 0x2 // Discard packet.
|
|
#define IPSEC_APPLY 0x4 // Apply IPsec processing.
|
|
#define IPSEC_APPCHOICE 0x8 // Sending app determines applicable security.
|
|
|
|
//
|
|
// Authentication algorithms.
|
|
//
|
|
#define ALGORITHM_NULL 0
|
|
#define ALGORITHM_HMAC_MD5 1
|
|
#define ALGORITHM_HMAC_MD5_96 2
|
|
#define ALGORITHM_HMAC_SHA1 3
|
|
#define ALGORITHM_HMAC_SHA1_96 4
|
|
#define NUM_ALGORITHMS 5
|
|
|
|
//
|
|
// IPsec Mode.
|
|
//
|
|
#define TRANSPORT 0x1
|
|
#define TUNNEL 0x2
|
|
|
|
//
|
|
// Direction of traffic for use in SA and SP.
|
|
//
|
|
#define INBOUND 0x1
|
|
#define OUTBOUND 0x2
|
|
#define BIDIRECTIONAL 0x3
|
|
|
|
// None.
|
|
#define NONE 0
|
|
|
|
//
|
|
// Create Results.
|
|
//
|
|
#define CREATE_SUCCESS 1
|
|
#define CREATE_MEMORY_ALLOC_ERROR 2
|
|
#define CREATE_INVALID_SABUNDLE 3
|
|
#define CREATE_INVALID_DIRECTION 4
|
|
#define CREATE_INVALID_SEC_POLICY 5
|
|
#define CREATE_INVALID_INTERFACE 6
|
|
#define CREATE_INVALID_INDEX 7
|
|
|
|
|
|
//
|
|
// Possible IPsec field types.
|
|
//
|
|
#define SINGLE_VALUE 0
|
|
#define RANGE_VALUE 1
|
|
#define WILDCARD_VALUE 2
|
|
|
|
#define POLICY_SELECTOR 0
|
|
#define PACKET_SELECTOR 1
|
|
|
|
#endif // IPSEC_INCLUDED
|