Files
m241Neelima/components/ip_net2-6.9/ipeap/src/ipeap_aka.h
T
2026-07-30 11:19:44 +05:30

165 lines
6.1 KiB
C

/*
******************************************************************************
* INTERPEAK INTERNAL API HEADER FILE
*
* Document no: @(#) $Name: VXWORKS_ITER40_2019102207 $ $RCSfile: ipeap_aka.h,v $ $Revision: 1.4 $
* $Source: /home/interpeak/CVSRoot/ipeap/src/ipeap_aka.h,v $
* $Author: hchowdhu $ $Date: 2010-06-28 22:03:11 $
* $State: Exp $ $Locker: $
*
* INTERPEAK_COPYRIGHT_STRING
* Design and implementation by Roger Boden <roger@interpeak.se>
******************************************************************************
*/
#if !defined(IPEAP_AKA_H) && defined(IPEAP_USE_EAP_AKA)
#define IPEAP_AKA_H
/*
****************************************************************************
* 1 DESCRIPTION
****************************************************************************
*/
/*
****************************************************************************
* 2 CONFIGURATION
****************************************************************************
*/
#include "ipeap_config.h"
/*
****************************************************************************
* 3 INCLUDE FILES
****************************************************************************
*/
#include "ipeap.h"
#include "ipeap_h.h"
#ifdef __cplusplus
extern "C" {
#endif
/*
****************************************************************************
* 4 DEFINES
****************************************************************************
*/
#define IPEAP_AKA_VERSION 1
/* Non-skippable attributes (0-127) */
#define IPEAP_AKA_AT_RAND 1
#define IPEAP_AKA_AT_AUTN 2
#define IPEAP_AKA_AT_RES 3
#define IPEAP_AKA_AT_AUTS 4
#define IPEAP_AKA_AT_PADDING 6
#define IPEAP_AKA_AT_PERMANENT_ID_REQ 10
#define IPEAP_AKA_AT_MAC 11
#define IPEAP_AKA_AT_NOTIFICATION 12
#define IPEAP_AKA_AT_ANY_ID_REQ 13
#define IPEAP_AKA_AT_IDENTITY 14
#define IPEAP_AKA_AT_VERSION_LIST 15
#define IPEAP_AKA_AT_SELECTED_VERSION 16
#define IPEAP_AKA_AT_FULLAUTH_ID_REQ 17
#define IPEAP_AKA_AT_COUNTER 19
#define IPEAP_AKA_AT_COUNTER_TOO_SMALL 20
#define IPEAP_AKA_AT_NONCE_S 21
#define IPEAP_AKA_AT_CLIENT_ERROR_CODE 22
/* Skippable attributes (128-) */
#define IPEAP_AKA_AT_IV 129
#define IPEAP_AKA_AT_ENCR_DATA 130
#define IPEAP_AKA_AT_NEXT_PSEUDONYM 132
#define IPEAP_AKA_AT_NEXT_REAUTH_ID 133
#define IPEAP_AKA_AT_CHECKCODE 134
#define IPEAP_AKA_AT_RESULT_IND 135
/* Subtypes */
#define IPEAP_AKA_SUBTYPE_CHALLENGE 1
#define IPEAP_AKA_SUBTYPE_AUTHENTICATION_REJECT 2
#define IPEAP_AKA_SUBTYPE_SYNCHRONIZATION_FAILURE 4
#define IPEAP_AKA_SUBTYPE_IDENTITY 5
#define IPEAP_AKA_SUBTYPE_NOTIFICATION 12
#define IPEAP_AKA_SUBTYPE_REAUTHENTICATION 13
#define IPEAP_AKA_SUBTYPE_CLIENT_ERROR 14
/* AT_CLIENT_ERROR_CODE values */
#define IPEAP_AKA_UNABLE_TO_PROCESS_PACKET 0
#define IPEAP_AKA_UNSUPPORTED_VERSION 1
#define IPEAP_AKA_INSUFFICIENT_NUM_OF_CHAL 2
#define IPEAP_AKA_RAND_NOT_FRESH 3
/* AT_NOTIFICATION values */
#define IPEAP_AKA_FAILURE_AFTER_AUTH 0x0000
#define IPEAP_AKA_TEMPORARILY_DENIED 0x0402
#define IPEAP_AKA_NOT_SUBSCRIBED 0x0407
#define IPEAP_AKA_FAILURE_BEFORE_AUTH 0x4000
#define IPEAP_AKA_SUCCESS 0x8000
/* Constants */
#define IPEAP_AKA_HEADER_LEN 8
#define IPEAP_AKA_RAND_LEN 16
#define IPEAP_AKA_AUTN_LEN 16
#define IPEAP_AKA_AUTS_LEN 14
#define IPEAP_AKA_NONCE_S_LEN 16
#define IPEAP_AKA_MAC_LEN 16
#define IPEAP_AKA_CHECKCODE_LEN 20
#define IPEAP_AKA_RES_LEN 16
#define IPEAP_AKA_IK_LEN 16
#define IPEAP_AKA_CK_LEN 16
#define IPEAP_AKA_K_AUTH_LEN 16
#define IPEAP_AKA_K_ENCR_LEN 16
#define IPEAP_AKA_MSK_LEN 64
#define IPEAP_AKA_SESSION_ID_LEN (1 + IPEAP_AKA_RAND_LEN + IPEAP_AKA_AUTN_LEN)
/*
****************************************************************************
* 5 TYPES
****************************************************************************
*/
/*
****************************************************************************
* 6 FUNCTIONS
****************************************************************************
*/
/*
*===========================================================================
* ipeap_aka_methods_get
*===========================================================================
* Description: Return a structure containing pointer to all functions
* required by EAP.
* Parameters:
* Returns:
*/
IP_PUBLIC Ipeap_methods*
ipeap_aka_methods_get(void);
/*
*===========================================================================
* ipeap_aka_get_identity
*===========================================================================
* Description: Read identity from card (IMSI number).
* Parameters: identity - buffer that will receive the null-terminated
* identity.
* identityLen - Size of identity buffer.
* Returns: IPCOM_SUCCESS
* IPCOM_ERR_FAILED
*/
IP_PUBLIC Ip_err
ipeap_aka_get_identity(char *identity, Ip_u32 identityLen);
#ifdef __cplusplus
}
#endif
#endif
/*
****************************************************************************
* END OF FILE
****************************************************************************
*/