164064216a8433360745f69edddce19a606659163The Android Open Source Project/** \file ScanCncnRoamingContSM.h 264064216a8433360745f69edddce19a606659163The Android Open Source Project * \brief This file include definitions for the scan concentrator continuous scan for roaming SM module. 364064216a8433360745f69edddce19a606659163The Android Open Source Project * \author Ronen Kalish 464064216a8433360745f69edddce19a606659163The Android Open Source Project * \date 02-Jan-2005 564064216a8433360745f69edddce19a606659163The Android Open Source Project */ 664064216a8433360745f69edddce19a606659163The Android Open Source Project /**************************************************************************** 764064216a8433360745f69edddce19a606659163The Android Open Source Project**+-----------------------------------------------------------------------+** 864064216a8433360745f69edddce19a606659163The Android Open Source Project**| |** 964064216a8433360745f69edddce19a606659163The Android Open Source Project**| Copyright(c) 1998 - 2008 Texas Instruments. All rights reserved. |** 1064064216a8433360745f69edddce19a606659163The Android Open Source Project**| All rights reserved. |** 1164064216a8433360745f69edddce19a606659163The Android Open Source Project**| |** 1264064216a8433360745f69edddce19a606659163The Android Open Source Project**| Redistribution and use in source and binary forms, with or without |** 1364064216a8433360745f69edddce19a606659163The Android Open Source Project**| modification, are permitted provided that the following conditions |** 1464064216a8433360745f69edddce19a606659163The Android Open Source Project**| are met: |** 1564064216a8433360745f69edddce19a606659163The Android Open Source Project**| |** 1664064216a8433360745f69edddce19a606659163The Android Open Source Project**| * Redistributions of source code must retain the above copyright |** 1764064216a8433360745f69edddce19a606659163The Android Open Source Project**| notice, this list of conditions and the following disclaimer. |** 1864064216a8433360745f69edddce19a606659163The Android Open Source Project**| * Redistributions in binary form must reproduce the above copyright |** 1964064216a8433360745f69edddce19a606659163The Android Open Source Project**| notice, this list of conditions and the following disclaimer in |** 2064064216a8433360745f69edddce19a606659163The Android Open Source Project**| the documentation and/or other materials provided with the |** 2164064216a8433360745f69edddce19a606659163The Android Open Source Project**| distribution. |** 2264064216a8433360745f69edddce19a606659163The Android Open Source Project**| * Neither the name Texas Instruments nor the names of its |** 2364064216a8433360745f69edddce19a606659163The Android Open Source Project**| contributors may be used to endorse or promote products derived |** 2464064216a8433360745f69edddce19a606659163The Android Open Source Project**| from this software without specific prior written permission. |** 2564064216a8433360745f69edddce19a606659163The Android Open Source Project**| |** 2664064216a8433360745f69edddce19a606659163The Android Open Source Project**| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |** 2764064216a8433360745f69edddce19a606659163The Android Open Source Project**| "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |** 2864064216a8433360745f69edddce19a606659163The Android Open Source Project**| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |** 2964064216a8433360745f69edddce19a606659163The Android Open Source Project**| A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |** 3064064216a8433360745f69edddce19a606659163The Android Open Source Project**| OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |** 3164064216a8433360745f69edddce19a606659163The Android Open Source Project**| SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |** 3264064216a8433360745f69edddce19a606659163The Android Open Source Project**| LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |** 3364064216a8433360745f69edddce19a606659163The Android Open Source Project**| DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |** 3464064216a8433360745f69edddce19a606659163The Android Open Source Project**| THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |** 3564064216a8433360745f69edddce19a606659163The Android Open Source Project**| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |** 3664064216a8433360745f69edddce19a606659163The Android Open Source Project**| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |** 3764064216a8433360745f69edddce19a606659163The Android Open Source Project**| |** 3864064216a8433360745f69edddce19a606659163The Android Open Source Project**+-----------------------------------------------------------------------+** 3964064216a8433360745f69edddce19a606659163The Android Open Source Project****************************************************************************/ 4064064216a8433360745f69edddce19a606659163The Android Open Source Project 4164064216a8433360745f69edddce19a606659163The Android Open Source Project#ifndef __SCANCNCNROAMINGCONTSM_H__ 4264064216a8433360745f69edddce19a606659163The Android Open Source Project#define __SCANCNCNROAMINGCONTSM_H__ 4364064216a8433360745f69edddce19a606659163The Android Open Source Project 4464064216a8433360745f69edddce19a606659163The Android Open Source Project#include "osApi.h" 4564064216a8433360745f69edddce19a606659163The Android Open Source Project#include "ScanCncn.h" 4664064216a8433360745f69edddce19a606659163The Android Open Source Project#include "fsm.h" 4764064216a8433360745f69edddce19a606659163The Android Open Source Project 4864064216a8433360745f69edddce19a606659163The Android Open Source Project/* 4964064216a8433360745f69edddce19a606659163The Android Open Source Project *********************************************************************** 5064064216a8433360745f69edddce19a606659163The Android Open Source Project * Constant definitions. 5164064216a8433360745f69edddce19a606659163The Android Open Source Project *********************************************************************** 5264064216a8433360745f69edddce19a606659163The Android Open Source Project */ 5364064216a8433360745f69edddce19a606659163The Android Open Source Project 5464064216a8433360745f69edddce19a606659163The Android Open Source Project/* 5564064216a8433360745f69edddce19a606659163The Android Open Source Project *********************************************************************** 5664064216a8433360745f69edddce19a606659163The Android Open Source Project * Enums. 5764064216a8433360745f69edddce19a606659163The Android Open Source Project *********************************************************************** 5864064216a8433360745f69edddce19a606659163The Android Open Source Project */ 5964064216a8433360745f69edddce19a606659163The Android Open Source Project 6064064216a8433360745f69edddce19a606659163The Android Open Source Project/** \enum scan_contSMEvents_e 6164064216a8433360745f69edddce19a606659163The Android Open Source Project * \brief enumerates the different continuous scan for roaming SM events 6264064216a8433360745f69edddce19a606659163The Android Open Source Project */ 6364064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum 6464064216a8433360745f69edddce19a606659163The Android Open Source Project{ 6564064216a8433360745f69edddce19a606659163The Android Open Source Project CONT_SCAN_EVENT_START_SCAN = 0, 6664064216a8433360745f69edddce19a606659163The Android Open Source Project CONT_SCAN_EVENT_SCR_RUN, 6764064216a8433360745f69edddce19a606659163The Android Open Source Project CONT_SCAN_EVENT_SCR_PEND, 6864064216a8433360745f69edddce19a606659163The Android Open Source Project CONT_SCAN_EVENT_SCR_REJECT, 6964064216a8433360745f69edddce19a606659163The Android Open Source Project CONT_SCAN_EVENT_ABORT_SCAN, 7064064216a8433360745f69edddce19a606659163The Android Open Source Project CONT_SCAN_EVENT_FW_RESET, 7164064216a8433360745f69edddce19a606659163The Android Open Source Project CONT_SCAN_EVENT_STOP_SCAN, 7264064216a8433360745f69edddce19a606659163The Android Open Source Project CONT_SCAN_EVENT_SCAN_COMPLETE, 7364064216a8433360745f69edddce19a606659163The Android Open Source Project CONT_SCAN_NUM_OF_EVENTS 7464064216a8433360745f69edddce19a606659163The Android Open Source Project} scan_contSMEvents_e; 7564064216a8433360745f69edddce19a606659163The Android Open Source Project 7664064216a8433360745f69edddce19a606659163The Android Open Source Project/** \enum scan_contSMEvents_e 7764064216a8433360745f69edddce19a606659163The Android Open Source Project * \brief enumerates the different continuous scan for roaming SM states 7864064216a8433360745f69edddce19a606659163The Android Open Source Project */ 7964064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum 8064064216a8433360745f69edddce19a606659163The Android Open Source Project{ 8164064216a8433360745f69edddce19a606659163The Android Open Source Project CONT_SCAN_STATE_IDLE = 0, 8264064216a8433360745f69edddce19a606659163The Android Open Source Project CONT_SCAN_STATE_SCR_REQUEST, 8364064216a8433360745f69edddce19a606659163The Android Open Source Project CONT_SCAN_STATE_SCR_WAIT, 8464064216a8433360745f69edddce19a606659163The Android Open Source Project CONT_SCAN_STATE_SCANNING, 8564064216a8433360745f69edddce19a606659163The Android Open Source Project CONT_SCAN_STATE_STOPPING, 8664064216a8433360745f69edddce19a606659163The Android Open Source Project CONT_SCAN_NUM_OF_STATES 8764064216a8433360745f69edddce19a606659163The Android Open Source Project} scan_contSMStates_e; 8864064216a8433360745f69edddce19a606659163The Android Open Source Project 8964064216a8433360745f69edddce19a606659163The Android Open Source Project/* 9064064216a8433360745f69edddce19a606659163The Android Open Source Project *********************************************************************** 9164064216a8433360745f69edddce19a606659163The Android Open Source Project * Typedefs. 9264064216a8433360745f69edddce19a606659163The Android Open Source Project *********************************************************************** 9364064216a8433360745f69edddce19a606659163The Android Open Source Project */ 9464064216a8433360745f69edddce19a606659163The Android Open Source Project 9564064216a8433360745f69edddce19a606659163The Android Open Source Project/* 9664064216a8433360745f69edddce19a606659163The Android Open Source Project *********************************************************************** 9764064216a8433360745f69edddce19a606659163The Android Open Source Project * Structure definitions. 9864064216a8433360745f69edddce19a606659163The Android Open Source Project *********************************************************************** 9964064216a8433360745f69edddce19a606659163The Android Open Source Project */ 10064064216a8433360745f69edddce19a606659163The Android Open Source Project 10164064216a8433360745f69edddce19a606659163The Android Open Source Project/* 10264064216a8433360745f69edddce19a606659163The Android Open Source Project *********************************************************************** 10364064216a8433360745f69edddce19a606659163The Android Open Source Project * External data definitions. 10464064216a8433360745f69edddce19a606659163The Android Open Source Project *********************************************************************** 10564064216a8433360745f69edddce19a606659163The Android Open Source Project */ 10664064216a8433360745f69edddce19a606659163The Android Open Source Project 10764064216a8433360745f69edddce19a606659163The Android Open Source Project/* 10864064216a8433360745f69edddce19a606659163The Android Open Source Project *********************************************************************** 10964064216a8433360745f69edddce19a606659163The Android Open Source Project * External functions definitions 11064064216a8433360745f69edddce19a606659163The Android Open Source Project *********************************************************************** 11164064216a8433360745f69edddce19a606659163The Android Open Source Project */ 11264064216a8433360745f69edddce19a606659163The Android Open Source Project 11364064216a8433360745f69edddce19a606659163The Android Open Source Project/** 11464064216a8433360745f69edddce19a606659163The Android Open Source Project * \author Ronen Kalish\n 11564064216a8433360745f69edddce19a606659163The Android Open Source Project * \date 02-Jan-2005\n 11664064216a8433360745f69edddce19a606659163The Android Open Source Project * \brief Initialize the scan concentrator continuous scan for roaming SM. 11764064216a8433360745f69edddce19a606659163The Android Open Source Project * 11864064216a8433360745f69edddce19a606659163The Android Open Source Project * Function Scope \e Public.\n 11964064216a8433360745f69edddce19a606659163The Android Open Source Project * \param hScanCncn - handle to the scan concentrator object.\n 12064064216a8433360745f69edddce19a606659163The Android Open Source Project * \return OK if successful, NOK otherwise.\n 12164064216a8433360745f69edddce19a606659163The Android Open Source Project */ 12264064216a8433360745f69edddce19a606659163The Android Open Source ProjectTI_STATUS scanConcentratorRoamingContSM_init( TI_HANDLE hScanCncn ); 12364064216a8433360745f69edddce19a606659163The Android Open Source Project 12464064216a8433360745f69edddce19a606659163The Android Open Source Project/** 12564064216a8433360745f69edddce19a606659163The Android Open Source Project * \author Ronen Kalish\n 12664064216a8433360745f69edddce19a606659163The Android Open Source Project * \date 02-Jan-2005\n 12764064216a8433360745f69edddce19a606659163The Android Open Source Project * \brief Processes an event. 12864064216a8433360745f69edddce19a606659163The Android Open Source Project * 12964064216a8433360745f69edddce19a606659163The Android Open Source Project * Function Scope \e Public.\n 13064064216a8433360745f69edddce19a606659163The Android Open Source Project * \param hScanCncn - handle to the scan concentrator object.\n 13164064216a8433360745f69edddce19a606659163The Android Open Source Project * \param currentState - the current continuous scan for roaming SM state.\n 13264064216a8433360745f69edddce19a606659163The Android Open Source Project * \param event - the event to handle.\n 13364064216a8433360745f69edddce19a606659163The Android Open Source Project * \return OK if successful, NOK otherwise.\n 13464064216a8433360745f69edddce19a606659163The Android Open Source Project */ 13564064216a8433360745f69edddce19a606659163The Android Open Source ProjectTI_STATUS scanConcentratorRoamingContSM_SMEvent( TI_HANDLE hScanCncn, scan_contSMStates_e* currentState, 13664064216a8433360745f69edddce19a606659163The Android Open Source Project scan_contSMEvents_e event ); 13764064216a8433360745f69edddce19a606659163The Android Open Source Project 13864064216a8433360745f69edddce19a606659163The Android Open Source Project/** 13964064216a8433360745f69edddce19a606659163The Android Open Source Project * \author Ronen Kalish\n 14064064216a8433360745f69edddce19a606659163The Android Open Source Project * \date 02-Jan-2005\n 14164064216a8433360745f69edddce19a606659163The Android Open Source Project * \brief SM action - handles a start scan event (by requesting the SCR) 14264064216a8433360745f69edddce19a606659163The Android Open Source Project * 14364064216a8433360745f69edddce19a606659163The Android Open Source Project * Function Scope \e Public.\n 14464064216a8433360745f69edddce19a606659163The Android Open Source Project * \param hScanCncn - handle to the scan concentrator object.\n 14564064216a8433360745f69edddce19a606659163The Android Open Source Project * \return OK if successful, NOK otherwise.\n 14664064216a8433360745f69edddce19a606659163The Android Open Source Project */ 14764064216a8433360745f69edddce19a606659163The Android Open Source ProjectTI_STATUS scanConcentratorRoamingContSM_requestSCR( TI_HANDLE hScanCncn ); 14864064216a8433360745f69edddce19a606659163The Android Open Source Project 14964064216a8433360745f69edddce19a606659163The Android Open Source Project/** 15064064216a8433360745f69edddce19a606659163The Android Open Source Project * \author Ronen Kalish\n 15164064216a8433360745f69edddce19a606659163The Android Open Source Project * \date 02-Jan-2005\n 15264064216a8433360745f69edddce19a606659163The Android Open Source Project * \brief SM action - handles a scr run event (by starting the actual scan) 15364064216a8433360745f69edddce19a606659163The Android Open Source Project * 15464064216a8433360745f69edddce19a606659163The Android Open Source Project * Function Scope \e Public.\n 15564064216a8433360745f69edddce19a606659163The Android Open Source Project * \param hScanCncn - handle to the scan concentrator object.\n 15664064216a8433360745f69edddce19a606659163The Android Open Source Project * \return OK if successful, NOK otherwise.\n 15764064216a8433360745f69edddce19a606659163The Android Open Source Project */ 15864064216a8433360745f69edddce19a606659163The Android Open Source ProjectTI_STATUS scanConcentratorRoamingContSM_startScan( TI_HANDLE hScanCncn ); 15964064216a8433360745f69edddce19a606659163The Android Open Source Project 16064064216a8433360745f69edddce19a606659163The Android Open Source Project/** 16164064216a8433360745f69edddce19a606659163The Android Open Source Project * \author Ronen Kalish\n 16264064216a8433360745f69edddce19a606659163The Android Open Source Project * \date 02-Jan-2005\n 16364064216a8433360745f69edddce19a606659163The Android Open Source Project * \brief SM action - handles a stop scan or abort scan event (by stopping the actual scan) 16464064216a8433360745f69edddce19a606659163The Android Open Source Project * 16564064216a8433360745f69edddce19a606659163The Android Open Source Project * Function Scope \e Public.\n 16664064216a8433360745f69edddce19a606659163The Android Open Source Project * \param hScanCncn - handle to the scan concentrator object.\n 16764064216a8433360745f69edddce19a606659163The Android Open Source Project * \return OK if successful, NOK otherwise.\n 16864064216a8433360745f69edddce19a606659163The Android Open Source Project */ 16964064216a8433360745f69edddce19a606659163The Android Open Source ProjectTI_STATUS scanConcentratorRoamingContSM_abortScan( TI_HANDLE hScanCncn ); 17064064216a8433360745f69edddce19a606659163The Android Open Source Project 17164064216a8433360745f69edddce19a606659163The Android Open Source Project/** 17264064216a8433360745f69edddce19a606659163The Android Open Source Project * \author Ronen Kalish\n 17364064216a8433360745f69edddce19a606659163The Android Open Source Project * \date 10-July-2005\n 17464064216a8433360745f69edddce19a606659163The Android Open Source Project * \brief SM action - handles a recovery event (calls the scan SRV abort on FW reset and than finishes scan) 17564064216a8433360745f69edddce19a606659163The Android Open Source Project * 17664064216a8433360745f69edddce19a606659163The Android Open Source Project * Function Scope \e Public.\n 17764064216a8433360745f69edddce19a606659163The Android Open Source Project * \param hScanCncn - handle to the scan concentrator object.\n 17864064216a8433360745f69edddce19a606659163The Android Open Source Project * \return OK if successful, NOK otherwise.\n 17964064216a8433360745f69edddce19a606659163The Android Open Source Project */ 18064064216a8433360745f69edddce19a606659163The Android Open Source ProjectTI_STATUS scanConcentratorRoamingContSM_recoveryDuringScan( TI_HANDLE hScanCncn ); 18164064216a8433360745f69edddce19a606659163The Android Open Source Project 18264064216a8433360745f69edddce19a606659163The Android Open Source Project/** 18364064216a8433360745f69edddce19a606659163The Android Open Source Project * \author Ronen Kalish\n 18464064216a8433360745f69edddce19a606659163The Android Open Source Project * \date 02-Jan-2005\n 18564064216a8433360745f69edddce19a606659163The Android Open Source Project * \brief SM action - handles a scan complete event (by releasing the SCR and calling the scan complete CB). 18664064216a8433360745f69edddce19a606659163The Android Open Source Project * 18764064216a8433360745f69edddce19a606659163The Android Open Source Project * Function Scope \e Public.\n 18864064216a8433360745f69edddce19a606659163The Android Open Source Project * \param hScanCncn - handle to the scan concentrator object.\n 18964064216a8433360745f69edddce19a606659163The Android Open Source Project * \return OK if successful, NOK otherwise.\n 19064064216a8433360745f69edddce19a606659163The Android Open Source Project */ 19164064216a8433360745f69edddce19a606659163The Android Open Source ProjectTI_STATUS scanConcentratorRoamingContSM_scanComplete( TI_HANDLE hScanCncn ); 19264064216a8433360745f69edddce19a606659163The Android Open Source Project 19364064216a8433360745f69edddce19a606659163The Android Open Source Project/** 19464064216a8433360745f69edddce19a606659163The Android Open Source Project * \author Ronen Kalish\n 19564064216a8433360745f69edddce19a606659163The Android Open Source Project * \date 02-Jan-2005\n 19664064216a8433360745f69edddce19a606659163The Android Open Source Project * \brief SM action - handles a scan reject event (abort scan before scan acrually started)\n 19764064216a8433360745f69edddce19a606659163The Android Open Source Project * 19864064216a8433360745f69edddce19a606659163The Android Open Source Project * Function Scope \e Public.\n 19964064216a8433360745f69edddce19a606659163The Android Open Source Project * \param hScanCncn - handle to the scan concentrator object.\n 20064064216a8433360745f69edddce19a606659163The Android Open Source Project * \return OK if successful, NOK otherwise.\n 20164064216a8433360745f69edddce19a606659163The Android Open Source Project */ 20264064216a8433360745f69edddce19a606659163The Android Open Source ProjectTI_STATUS scanConcentratorRoamingContSM_scanRejected( TI_HANDLE hScanCncn ); 20364064216a8433360745f69edddce19a606659163The Android Open Source Project 20464064216a8433360745f69edddce19a606659163The Android Open Source Project#endif /* __SCANCNCNROAMINGCONTSM_H__ */ 20564064216a8433360745f69edddce19a606659163The Android Open Source Project 206