213 lines
6.9 KiB
C
213 lines
6.9 KiB
C
/*
|
|
******************************************************************************
|
|
* HEADER FILE
|
|
*
|
|
* Document no: @(#) $Name: VXWORKS_ITER40_2019102207 $ $RCSfile: ipike.h,v $ $Revision: 1.35.10.6 $
|
|
* $Source: /home/interpeak/CVSRoot/ipike/include/ipike.h,v $
|
|
* $Author: hxu0 $ $Date: 2013-01-25 07:31:40 $
|
|
* $State: Exp $ $Locker: $
|
|
*
|
|
* INTERPEAK_COPYRIGHT_STRING
|
|
* Design and implementation by Kenneth Jonsson <kenneth@interpeak.se>
|
|
******************************************************************************
|
|
*/
|
|
#ifndef IPIKE_H
|
|
#define IPIKE_H
|
|
|
|
/*
|
|
****************************************************************************
|
|
* 1 DESCRIPTION
|
|
****************************************************************************
|
|
*/
|
|
|
|
/*
|
|
****************************************************************************
|
|
* 2 CONFIGURATION
|
|
****************************************************************************
|
|
*/
|
|
|
|
/*
|
|
****************************************************************************
|
|
* 3 INCLUDE FILES
|
|
****************************************************************************
|
|
*/
|
|
|
|
#include "ipike_config.h"
|
|
|
|
#include <ipcom.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/*
|
|
****************************************************************************
|
|
* 4 DEFINES
|
|
****************************************************************************
|
|
*/
|
|
|
|
/*
|
|
*===========================================================================
|
|
* IPIKE_RELEASE
|
|
*===========================================================================
|
|
* IPIKE release version.
|
|
*/
|
|
#define IPIKE_RELEASE 60900
|
|
|
|
|
|
|
|
/*
|
|
*===========================================================================
|
|
* IPIKE_CMD_???
|
|
*===========================================================================
|
|
* IPIKE shell command signals
|
|
*/
|
|
#define IPIKE_CMD_LIST 0x80
|
|
#define IPIKE_CMD_STAT 0x81
|
|
#define IPIKE_CMD_CONFIG_DUMP 0x82
|
|
#define IPIKE_CMD_CONFIG_LOAD 0x83
|
|
#define IPIKE_CMD_CONFIG_ADD 0x84
|
|
#define IPIKE_CMD_CONFIG_DELETE 0x85
|
|
#define IPIKE_CMD_MOBIKE 0x86
|
|
|
|
|
|
/*
|
|
****************************************************************************
|
|
* 5 TYPES
|
|
****************************************************************************
|
|
*/
|
|
|
|
/* IKE errors */
|
|
typedef int Ipike_error;
|
|
#define IPIKE_SUCCESS 0
|
|
#define IPIKE_FAILED 1
|
|
#define IPIKE_OUT_OF_MEMORY 2
|
|
#define IPIKE_INVALID_VALUE 3
|
|
#define IPIKE_TRIED_TO_ADD_NULL 4
|
|
#define IPIKE_SEND_FAILED 5
|
|
#define IPIKE_RECEIVE_FAILED 6
|
|
#define IPIKE_ENCRYPTION_FAILED 7
|
|
#define IPIKE_DECRYPTION_FAILED 8
|
|
#define IPIKE_VALUE_NOT_FOUND 9
|
|
#define IPIKE_CONF_VALUE_NOT_FOUND 10
|
|
#define IPIKE_CONF_INVALID_VALUE 11
|
|
#define IPIKE_CONF_PARSE_ERROR 12
|
|
#define IPIKE_CONF_FORMAT_ERROR 13
|
|
#define IPIKE_CONF_FILE_NOT_FOUND 14
|
|
#define IPIKE_NOT_A_ISAKMP_PACKET 15
|
|
#define IPIKE_MISSING_PAYLOAD 16
|
|
#define IPIKE_ISAKMP_UNSUPPORTED_MAJOR_VERSION 17
|
|
#define IPIKE_ISAKMP_UNSUPPORTED_MINOR_VERSION 18
|
|
#define IPIKE_ISAKMP_LENGTH_ERROR 19
|
|
#define IPIKE_ISAKMP_PAYLOAD_LENGTH_ERROR 20
|
|
#define IPIKE_ISAKMP_NO_PAYLOAD 21
|
|
#define IPIKE_ISAKMP_UNSUPPORTED_PAYLOAD 22
|
|
#define IPIKE_ISAKMP_INVALID_PAYLOAD 23
|
|
#define IPIKE_ISAKMP_INVALID_MESSAGE_ID 24
|
|
#define IPIKE_ISAKMP_EXCHANGE_NOT_FOUND 25
|
|
#define IPIKE_ISAKMP_DUPLICATED_MESSAGE 26
|
|
/* Begin IKE v2 */
|
|
#define IPIKE_ISAKMP_UNSUPPORTED_CRITICAL_PAYLOAD 27
|
|
#define IPIKE_ISAKMP_INVALID_IKE_SPI 28
|
|
#define IPIKE_ISAKMP_INVALID_MAJOR_VERSION 29
|
|
#define IPIKE_ISAKMP_INVALID_SYNTAX 30
|
|
#define IPIKE_ISAKMP_INVALID_SPI 31
|
|
#define IPIKE_ISAKMP_NO_PROPOSAL_CHOSEN 32
|
|
#define IPIKE_ISAKMP_KE_PAYLOAD 33
|
|
#define IPIKE_ISAKMP_AUTHENTICATION_FAILED 34
|
|
#define IPIKE_ISAKMP_SINGLE_PAIR_REQUIRED 35
|
|
#define IPIKE_ISAKMP_NO_ADDITIONAL_SAS 36
|
|
#define IPIKE_ISAKMP_INTERNAL_ADDRESS_FAILURE 37
|
|
#define IPIKE_ISAKMP_FAILED_CP_REQUIRED 38
|
|
#define IPIKE_ISAKMP_TS_UNACCEPTABLE 39
|
|
#define IPIKE_ISAKMP_INVALID_SELECTORS 40
|
|
/* End IKE v2 */
|
|
#define IPIKE_SITUATION_UNSUPPORTED 41
|
|
#define IPIKE_SA_NOT_FOUND 42
|
|
#define IPIKE_SA_NO_PHASE_1_PARAMETERS 43
|
|
#define IPIKE_SA_NO_VALID_TRANSFORM_CONFIGURED 44
|
|
#define IPIKE_SA_ALREADY_EXISTS 45
|
|
#define IPIKE_SA_ADDRESS_MISMATCH 46
|
|
#define IPIKE_SA_NO_MATCHING_HASH_ALGORITHM 47
|
|
#define IPIKE_SA_NO_MATCHING_ENCRYPTION_ALGORITHM 48
|
|
#define IPIKE_SA_NO_ACCEPTED_PROPOSAL 49
|
|
#define IPIKE_SA_NO_ACCEPTED_TRANSFORM 50
|
|
#define IPIKE_SA_NO_PRE_SHARED_SECRET 51
|
|
#define IPIKE_SA_HASH_ALGORITHM_NOT_SUPPORTED 52
|
|
#define IPIKE_SA_ENCRYPTION_ALGORITHM_NOT_SUPPORTED 53
|
|
#define IPIKE_SA_AUTHENTICATION_ALGORITHM_NOT_SUPPORTED 54
|
|
#define IPIKE_SA_IPSEC_PROTO_MISMATCH 55
|
|
#define IPIKE_KE_DH_ERROR 56
|
|
#define IPIKE_PROPOSAL_INVALID_ID 57
|
|
#define IPIKE_NONCE_INVALID_SIZE 58
|
|
#define IPIKE_ATTRIBUTE_MUST_BE_BASIC 59
|
|
#define IPIKE_ATTRIBUTE_INVALID_TYPE 60
|
|
#define IPIKE_ATTRIBUTE_INVALID_VALUE 61
|
|
#define IPIKE_ATTRIBUTE_UNSUPPORTED_TYPE 62
|
|
#define IPIKE_ATTRIBUTE_UNSUPPORTED_VALUE 63
|
|
#define IPIKE_WRONG_PAYLOAD 64
|
|
#define IPIKE_EXCHANGE_TYPE_NOT_SUPPORTED 65
|
|
#define IPIKE_INVALID_EXCHANGE_TYPE 66
|
|
#define IPIKE_INVALID_MESSAGE_NUMBER 67
|
|
#define IPIKE_AUTHENTICATION_FAILED 68
|
|
#define IPIKE_INVALID_HASH_VALUE 69
|
|
#define IPIKE_PFKEY_ERROR 70
|
|
#define IPIKE_TIMEOUT 71
|
|
#define IPIKE_INTERNAL_ERROR 72
|
|
#define IPIKE_IPCOMCALL_ERROR 73
|
|
#define IPIKE_BIND_ERROR 74
|
|
#define IPIKE_SHUTDOWN 75
|
|
#define IPIKE_EXCH_FINNISHED 76
|
|
#define IPIKE_NOT_IMPLEMENTED 78
|
|
#define IPIKE_INVALID_COOKIE 79
|
|
#define IPIKE_DOI_UNSUPPORTED 80
|
|
#define IPIKE_BUFFER_TOO_SMALL 81
|
|
#define IPIKE_TOO_MANY_EXCHANGES 82
|
|
#define IPIKE_UNACCEPTABLE_ADDRESSES 83
|
|
#define IPIKE_UNEXPECTED_NAT_DETECTED 84
|
|
/* New error message. To be used incase of idtype mismatch */
|
|
#define IPIKE_ISAKMP_INVALID_ID_TYPE 85
|
|
#define IPIKE_CHILD_SA_NOT_FOUND 86
|
|
#define IPIKE_TEMPORARY_FAILURE 87
|
|
#define IPIKE_ISAKMP_INVALID_FLAGS 88
|
|
#define IPIKE_ISAKMP_INVALID_TRANSFORM_ID 89
|
|
#define IPIKE_ISAKMP_INVALID_SIGNATURE 90
|
|
#define IPIKE_ISAKMP_INVALID_CERT_ENCODING 91
|
|
#define IPIKE_ISAKMP_CERT_TYPE_UNSUPPORTED 92
|
|
#define IPIKE_ISAKMP_INVALID_CERT_AUTHORITY 93
|
|
#define IPIKE_ISAKMP_INVALID_PROPOSAL 94
|
|
#define IPIKE_ISAKMP_INVALID_PAYLOAD_PROPOSAL 95
|
|
#define IPIKE_ISAKMP_INVALID_LIFETIME 96
|
|
|
|
typedef struct Ipike_value_struct
|
|
{
|
|
/* binary value */
|
|
Ip_u8 *value;
|
|
|
|
/* length of the buffer pointed to by value */
|
|
Ip_size_t len;
|
|
}
|
|
Ipike_value;
|
|
|
|
/* Forward declaration */
|
|
struct Ipike_ipc_data_struct;
|
|
struct Ipcom_ipc_struct;
|
|
|
|
/*
|
|
****************************************************************************
|
|
* 6 FUNCTIONS
|
|
****************************************************************************
|
|
*/
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|
|
|
|
/*
|
|
****************************************************************************
|
|
* END OF FILE
|
|
****************************************************************************
|
|
*/
|