1a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/*
2a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * mainSecKeysOnly.c
3a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *
4a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Copyright(c) 1998 - 2009 Texas Instruments. All rights reserved.
5a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * All rights reserved.
6a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *
7a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Redistribution and use in source and binary forms, with or without
8a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * modification, are permitted provided that the following conditions
9a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * are met:
10a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *
11a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *  * Redistributions of source code must retain the above copyright
12a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *    notice, this list of conditions and the following disclaimer.
13a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *  * Redistributions in binary form must reproduce the above copyright
14a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *    notice, this list of conditions and the following disclaimer in
15a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *    the documentation and/or other materials provided with the
16a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *    distribution.
17a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *  * Neither the name Texas Instruments nor the names of its
18a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *    contributors may be used to endorse or promote products derived
19a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *    from this software without specific prior written permission.
20a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *
21a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */
33a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
34a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \file mainSecSm.c
35a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *  \brief 802.1X finite state machine header file
36a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *
37a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *  \see mainSecSm.h
38a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */
39a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
40a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
41a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/***************************************************************************/
42a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/*																		   */
43a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/*		MODULE:	mainSecSm.c											   	   */
44a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/*    PURPOSE:	Main Security State Machine API					   		   */
45a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/*																	 	   */
46a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/***************************************************************************/
47a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
48a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#define __FILE_ID__  FILE_ID_37
49a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "osApi.h"
50a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "paramOut.h"
51a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "fsm.h"
52a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "report.h"
53a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "DataCtrl_Api.h"
54a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "smeApi.h"
55a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "rsn.h"
56a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "rsnApi.h"
57a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "mainSecSm.h"
58a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "mainSecKeysOnly.h"
59a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "mainKeysSm.h"
60a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
61a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* Constants */
62a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
63a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* Enumerations */
64a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
65a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* Typedefs */
66a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
67a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* Structures */
68a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
69a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* External data definitions */
70a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
71a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* External functions definitions */
72a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
73a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* Global variables */
74a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
75a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* functions */
76a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_getAuthState(mainSec_t *pMainSec, TIWLN_SECURITY_STATE *supp1XState);
77a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
78a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_reportAuthFailure(mainSec_t *pMainSec, EAuthStatus authStatus) ;
79a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_setAuthIdentity(mainSec_t *pMainSec, authIdentity_t *authIdentity);
80a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/**
81a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
82a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* rsn_mainSecSmKeysOnlyInit
83a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
84a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b Description:
85a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
86a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* Init main security state machine state machine
87a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
88a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b ARGS:
89a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
90a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*  none
91a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
92a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b RETURNS:
93a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
94a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*  TI_OK on success, TI_NOK otherwise.
95a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
96a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \sa
97a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*/
98a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_config(mainSec_t *pMainSec,
99a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt						  TRsnPaeConfig *pPaeConfig)
100a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{
101a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	TI_STATUS				status;
102a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	/** Main 802.1X State Machine matrix */
103a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	fsm_actionCell_t	mainSecKeysOnly_matrix[MAIN_SEC_KEYS_ONLY_NUM_STATES][MAIN_SEC_KEYS_ONLY_NUM_EVENTS] =
104a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	{
105a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt		/* next state and actions for IDLE state */
106a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt		{{MAIN_KO_STATE_START, (fsm_Action_t)mainSecKeysOnly_startIdle},
107a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt		 {MAIN_KO_STATE_IDLE, (fsm_Action_t)mainSecKeysOnly_Nop},
108a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt		 {MAIN_KO_STATE_IDLE, (fsm_Action_t)mainSecKeysOnly_unexpected},
109a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt		 {MAIN_KO_STATE_IDLE, (fsm_Action_t)mainSecKeysOnly_unexpected}
110a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt		},
111a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt		/* next state and actions for START state */
112a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt		{{MAIN_KO_STATE_START, (fsm_Action_t)mainSecKeysOnly_Nop},
113a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt		 {MAIN_KO_STATE_IDLE, (fsm_Action_t)mainSecKeysOnly_stopStart},
114a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt		 {MAIN_KO_STATE_AUTHORIZED, (fsm_Action_t)mainSecKeysOnly_keysCompleteStart},
115a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt		 {MAIN_KO_STATE_NONAUTHORIZED, (fsm_Action_t)mainSecKeysOnly_keysTOStart},
116a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt		},
117a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt		/* next state and actions for AUTHORIZED state */
118a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt		{{MAIN_KO_STATE_AUTHORIZED, (fsm_Action_t)mainSecKeysOnly_unexpected},
119a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt		 {MAIN_KO_STATE_IDLE, (fsm_Action_t)mainSecKeysOnly_stopAuthorized},
120a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt		 {MAIN_KO_STATE_AUTHORIZED, (fsm_Action_t)mainSecKeysOnly_Nop},
121a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt		 {MAIN_KO_STATE_AUTHORIZED, (fsm_Action_t)mainSecKeysOnly_unexpected},
122a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt		},
123a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt		/* next state and actions for NONAUTORIZED state */
124a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt		{{MAIN_KO_STATE_START, (fsm_Action_t)mainSecKeysOnly_unexpected},
125a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt		 {MAIN_KO_STATE_IDLE, (fsm_Action_t)mainSecKeysOnly_stopNonAuthorized},
126a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt		 {MAIN_KO_STATE_NONAUTHORIZED, (fsm_Action_t)mainSecKeysOnly_unexpected},
127a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt		 {MAIN_KO_STATE_NONAUTHORIZED, (fsm_Action_t)mainSecKeysOnly_unexpected},
128a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt		}
129a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	};
130a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
131a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    status = fsm_Config(pMainSec->pMainSecSm, &mainSecKeysOnly_matrix[0][0],
132a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt						MAIN_SEC_KEYS_ONLY_NUM_STATES, MAIN_SEC_KEYS_ONLY_NUM_EVENTS, NULL, pMainSec->hOs);
133a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	if (status != TI_OK)
134a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	{
135a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTRACE0(pMainSec->hReport, REPORT_SEVERITY_ERROR, "MAIN_SEC_SM: Error in configuring full SM\n");
136a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt		return status;
137a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	}
138a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
139a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    pMainSec->currentState          = MAIN_KO_STATE_IDLE;
140a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	pMainSec->start 				= mainSecKeysOnly_start;
141a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	pMainSec->stop 					= mainSecKeysOnly_stop;
142a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	pMainSec->reportKeysStatus 		= mainSecKeysOnly_reportKeysStatus;
143a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	pMainSec->getAuthState 			= (mainSecSm_getAuthState_t)mainSecKeysOnly_getAuthState;
144a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	pMainSec->reportReAuthenticate 	= (mainSecSmReportReauthentication_t)mainSecKeysOnly_unexpected;
145a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	pMainSec->setSessionKey 		= (mainSecSmSetSessionKey_t)mainSecKeysOnly_unexpected;
146a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	pMainSec->getSessionKey 		= (mainSecSmGetSessionKey_t)mainSecKeysOnly_unexpected;
147a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	pMainSec->reportAuthStatus 		= (mainSecSmReportAuthStatus_t)mainSecKeysOnly_unexpected;
148a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	pMainSec->getAuthIdentity  		= (mainSecSm_getAuthIdentity_t)mainSecKeysOnly_unexpected;
149a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	pMainSec->setAuthIdentity  		= (mainSecSm_getAuthIdentity_t)mainSecKeysOnly_setAuthIdentity;
150a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    pMainSec->reportAuthFailure     = (mainSecSm_reportAuthFailure_t)mainSecKeysOnly_reportAuthFailure;
151a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
152a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    TRACE0(pMainSec->hReport, REPORT_SEVERITY_INFORMATION, "mainSecKeysOnly_config\n");
153a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
154a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    return TI_OK;
155a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt}
156a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
157a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/**
158a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
159a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* mainSecSmNull_Start
160a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
161a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b Description:
162a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
163a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* Start the NULL main security SM. Reports success to the rsn module immediately.
164a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
165a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b ARGS:
166a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
167a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*  none
168a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
169a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b RETURNS:
170a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
171a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*  TI_OK on success, TI_NOK otherwise.
172a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
173a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \sa
174a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*/
175a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_start(mainSec_t *pMainSec)
176a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{
177a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    TI_STATUS status;
178a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
179a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    status = fsm_Event(pMainSec->pMainSecSm, &pMainSec->currentState, MAIN_KO_EVENT_START, pMainSec);
180a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
181a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    return status;
182a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt}
183a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
184a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/**
185a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
186a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* mainSecSmNull_Stop
187a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
188a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b Description:
189a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
190a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* Start the NULL main security SM. Reports success to the rsn module immediately.
191a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
192a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b ARGS:
193a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
194a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*  none
195a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
196a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b RETURNS:
197a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
198a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*  TI_OK on success, TI_NOK otherwise.
199a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
200a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \sa
201a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*/
202a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_stop(mainSec_t *pMainSec)
203a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{
204a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    TI_STATUS status;
205a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
206a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    status = fsm_Event(pMainSec->pMainSecSm, &pMainSec->currentState, MAIN_KO_EVENT_STOP, pMainSec);
207a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
208a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    return status;
209a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt}
210a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
211a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/**
212a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
213a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* mainSecSmNull_Stop
214a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
215a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b Description:
216a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
217a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* Start the NULL main security SM. Reports success to the rsn module immediately.
218a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
219a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b ARGS:
220a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
221a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*  none
222a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
223a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b RETURNS:
224a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
225a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*  TI_OK on success, TI_NOK otherwise.
226a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
227a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \sa
228a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*/
229a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_reportKeysStatus(mainSec_t *pMainSec, TI_STATUS keysStatus)
230a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{
231a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	TI_STATUS status;
232a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
233a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	pMainSec->data.status = keysStatus;
234a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
235a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	if (keysStatus == TI_OK)
236a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	{
237a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt		status = fsm_Event(pMainSec->pMainSecSm, &pMainSec->currentState, MAIN_KO_EVENT_KEYS_COMPLETE, pMainSec);
238a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	} else {
239a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTRACE0(pMainSec->hReport, REPORT_SEVERITY_ERROR, "MAIN_SEC_SM: Error in Keys\n");
240a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt		status  = TI_OK;
241a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	}
242a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
243a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	return status;
244a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt}
245a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
246a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/**
247a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
248a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* mainSecSmNull_setKey
249a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
250a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b Description:
251a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
252a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* Start the NULL main security SM. Reports success to the rsn module immediately.
253a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
254a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b ARGS:
255a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
256a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*  none
257a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
258a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b RETURNS:
259a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
260a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*  TI_OK on success, TI_NOK otherwise.
261a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
262a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \sa
263a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*/
264a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_setSessionKey(mainSec_t *pMainSec, TI_UINT8* pKey, TI_UINT8 keyLen)
265a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{
266a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	os_memoryCopy(pMainSec->hOs, pMainSec->sessionKey, pKey, keyLen);
267a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	pMainSec->sessionKeyLen = keyLen;
268a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
269a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	return TI_OK;
270a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt}
271a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
272a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/**
273a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
274a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* mainSecSmNull_setKey
275a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
276a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b Description:
277a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
278a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* Start the NULL main security SM. Reports success to the rsn module immediately.
279a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
280a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b ARGS:
281a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
282a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*  none
283a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
284a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b RETURNS:
285a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
286a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*  TI_OK on success, TI_NOK otherwise.
287a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
288a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \sa
289a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*/
290a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_getSessionKey(mainSec_t *pMainSec, TI_UINT8* pKey, TI_UINT32* pKeyLen)
291a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{
292a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	os_memoryCopy(pMainSec->hOs, pKey, pMainSec->sessionKey, pMainSec->sessionKeyLen);
293a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	*pKeyLen = pMainSec->sessionKeyLen;
294a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
295a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	return TI_OK;
296a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt}
297a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
298a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
299a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
300a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* State machine implementation functions */
301a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
302a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_startIdle(struct _mainSec_t *pMainSec)
303a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{
304a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    TI_STATUS		status = TI_OK;
305a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
306a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTRACE0(pMainSec->hReport, REPORT_SEVERITY_SM, "MAIN_SEC_SM: mainSecKeysOnly_StartIdle...\n");
307a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	status =  pMainSec->pMainKeys->start(pMainSec->pMainKeys);
308a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
309a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	return status;
310a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt}
311a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
312a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_stopStart(struct _mainSec_t *pMainSec)
313a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{
314a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    TI_STATUS		status = TI_OK;
315a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
316a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTRACE0(pMainSec->hReport, REPORT_SEVERITY_SM, "MAIN_SEC_SM: mainSecKeysOnly_StopStart...\n");
317a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	status =  pMainSec->pMainKeys->stop(pMainSec->pMainKeys);
318a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
319a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	return status;
320a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt}
321a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
322a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_keysCompleteStart(struct _mainSec_t *pMainSec)
323a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{
324a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    TI_STATUS		status = TI_OK;
325a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
326a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTRACE0(pMainSec->hReport, REPORT_SEVERITY_SM, "MAIN_SEC_SM: mainSecKeysOnly_KeysCompleteAuthenticated...\n");
327a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	status =  pMainSec->pParent->reportStatus(pMainSec->pParent, pMainSec->data.status);
328a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
329a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	return(status);
330a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt}
331a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
332a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_keysTOStart(struct _mainSec_t *pMainSec)
333a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{
334a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    TI_STATUS		status = TI_OK;
335a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
336a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	return(status);
337a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt}
338a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
339a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_stopAuthorized(struct _mainSec_t *pMainSec)
340a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{
341a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    TI_STATUS		status = TI_OK;
342a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
343a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTRACE0(pMainSec->hReport, REPORT_SEVERITY_SM, "MAIN_SEC_SM: mainSecKeysOnly_StopAuthorized...\n");
344a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	status =  pMainSec->pMainKeys->stop(pMainSec->pMainKeys);
345a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
346a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	return(status);
347a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt}
348a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
349a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_stopNonAuthorized(struct _mainSec_t *pMainSec)
350a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{
351a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    TI_STATUS		status = TI_OK;
352a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
353a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTRACE0(pMainSec->hReport, REPORT_SEVERITY_SM, "MAIN_SEC_SM: mainSecKeysOnly_StopNonAuthorized...\n");
354a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	status =  pMainSec->pMainKeys->stop(pMainSec->pMainKeys);
355a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
356a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	return(status);
357a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt}
358a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
359a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* state machine action functions */
360a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
361a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_Nop(void* pData)
362a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{
363a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	return(TI_OK);
364a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt}
365a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
366a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_unexpected(void* pData)
367a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{
368a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	return TI_NOK;
369a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt}
370a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
371a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /**
372a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
373a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* mainSecKeysOnly_getAuthState:  \n
374a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
375a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b Description:
376a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
377a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* Get authentication state from supp1x SM.
378a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
379a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b ARGS:
380a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
381a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*  I   - pMainSec - pMainSec SM context  \n
382a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*  I   - authIdentity - pointer to authentication state \n
383a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
384a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b RETURNS:
385a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
386a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*  TI_OK if successful, TI_NOK otherwise.
387a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*
388a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \sa
389a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*/
390a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
391a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_getAuthState(mainSec_t *pMainSec, TIWLN_SECURITY_STATE *secState)
392a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{
393a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	switch (pMainSec->currentState)
394a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	{
395a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	case MAIN_KO_STATE_START:
396a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt		*secState = eSecurityStateAuthenticating;
397a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt		break;
398a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
399a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	case MAIN_KO_STATE_AUTHORIZED:
400a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt		*secState = eSecurityStateAuthenticated;
401a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt		break;
402a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
403a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	case MAIN_KO_STATE_NONAUTHORIZED:
404a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt		*secState = eSecurityStateNotAuthenticated ;
405a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt		break;
406a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
407a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	default:
408a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt		*secState = eSecurityStateHalted;
409a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt		break;
410a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	}
411a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
412a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	return TI_OK;
413a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
414a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} /*mainSecKeysOnly_getAuthState*/
415a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
416a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
417a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_reportAuthFailure(mainSec_t *pMainSec, EAuthStatus authStatus)
418a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{
419a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
420a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    return TI_OK;
421a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt}
422a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
423a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
424a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_setAuthIdentity(mainSec_t *pMainSec, authIdentity_t *authIdentity)
425a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{
426a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
427a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	return TI_OK;
428a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt}
429