[Feature]Upload Modem source code
Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/Acc_asmb.h b/mcu/interface/protocol/as_c2k/1xrtt/Acc_asmb.h
new file mode 100644
index 0000000..10881f7
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/Acc_asmb.h
@@ -0,0 +1,232 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Module: acc_asmb.h - Queue Access Message
+ *
+ * Purpose: Header file containing definitions to support the queuing
+ * of Access Channel messages.
+ *
+ ****************************************************************************
+ *
+ * PVCS Header Information
+ *
+ *
+ * $Log: Acc_asmb.h $
+ *
+ * 08 08 2019 tina.ma
+ * [MOLY00427810] [VMOLY][CODE SYNC][USIR] Sync USIR patches to 97
+ *
+ * USIR
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ *
+ * 11 09 2016 sue.zhong
+ * [MOLY00208435] [6293][C2K]Sync C2K code to UMOLYA TRUNK
+ * Update C2K PS code (1/2)
+ * Revision 1.3 2004/04/06 14:01:59 dstecker
+ * CBP6.1 release 1
+ * Revision 1.2 2004/03/25 12:08:36 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:38:25 fpeng
+ * Initial revision
+ * Revision 1.7 2002/06/06 13:03:49 chinh
+ * Changed and Added Copyright
+ * Revision 1.6 2001/10/29 09:24:12 mclee
+ * Modified code to enforce kal_bool to strictly enum type KAL_TRUE or KAL_FALSE
+ * Revision 1.5 2001/08/29 15:26:19 akayvan
+ * Added void accessAttempt(ChannelTypeT ChanType) to fix build
+ * warning.
+ * Revision 1.4 2001/07/18 14:59:18 chinh
+ * cbp3 porting for Idle and Access
+ * Revision 1.3 2001/02/14 10:38:25 hans
+ * Missing function prototype declaration added
+ * Revision 1.2 2001/01/29 18:10:55 hans
+ * New architecture with SRBP and LAC functionality moved to it's own module, srbp_access.c and
+ * lac_acc_asmb.c respectively.
+ * Revision 1.1 2001/01/17 18:57:59Z plabarbe
+ * Initial revision
+ * Revision 1.2 2000/12/05 17:44:14 byang
+ * Idle mode - IS2000A Addendum modifications.
+ * Revision 1.1 2000/10/24 14:10:59 fpeng
+ * Initial revision
+ * Revision 1.3 2000/08/23 22:05:03Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes
+ * Revision 1.11 2000/04/05 19:46:50 gfrye
+ * Moved Request Mode defined values to engine.h
+ *
+ * Revision 1.10 1999/07/16 21:51:59 gfrye
+ * Added "void" to function to eliminate warning.
+ *
+ * Revision 1.9 1999/06/24 00:04:07 ddoucett
+ * added function cpIsAckRequired() which is needed in
+ * cpMessageTransmissionState() in eng_accs.c
+ *
+ * Revision 1.8 1999/01/05 00:28:54 mhayduk
+ * Updated for new API release.
+ *
+ * Revision 1.7 1998/10/20 23:58:23 mhayduk
+ * Added T53 support.
+ *
+ * Revision 1.6 1998/06/08 21:48:25 scotvold
+ * Updated for Release 0.06
+ *
+ * Revision 1.5 1998/05/27 17:16:28 scotvold
+ * Updated for Release 0.05.
+ *
+ * Revision 1.4 1998/05/08 19:26:45 mhayduk
+ * Changed all assembleAccess... prototypes to assembleSave...
+ *
+ * Revision 1.3 1998/05/01 18:13:54 scotvold
+ * Update for release 0.04
+ *
+ * Revision 1.2 1998/03/30 23:26:03 mhayduk
+ * Release 0.03.
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+#ifndef _Q_ACCMSG_H_
+
+ #define _Q_ACCMSG_H_ 1
+
+/*****************************************************************************
+ * Includes
+ ****************************************************************************/
+#include "ach_msg.h"
+#include "eng_accs.h"
+#include "engine.h"
+
+/*****************************************************************************
+ * Defines
+ ****************************************************************************/
+ /* Preferred MSID types - Table 7.7.2.3.2.13-1 */
+ #define CP_PREF_MSID_TYPE_IMSI_S_ESN 0
+ #define CP_PREF_MSID_TYPE_IMSI 2
+ #define CP_PREF_MSID_TYPE_IMSI_ESN 3
+ #define CP_PREF_MSID_TYPE_TMSI_IMSI 2
+ #define CP_PREF_MSID_TYPE_TMSI_IMSI_ESN 3
+
+ /* Address types - Table 6.7.1.3.1.1-1 */
+ #define CP_IMSI_S_ESN_ADDR_TYPE 0
+ #define CP_ESN_ADDR_TYPE 1
+ #define CP_IMSI_ADDR_TYPE 2
+ #define CP_IMSI_ESN_ADDR_TYPE 3
+ #define CP_TMSI_ADDR_TYPE 5
+
+ /* Number Types - Table 6.7.1.3.2.4-2 */
+ #define CP_NUM_TYPE_UNKNOWN 0
+ #define CP_NUM_TYPE_INTERNATIONAL 1
+ #define CP_NUM_TYPE_NATIONAL 2
+ #define CP_NUM_TYPE_NETWORK 3
+ #define CP_NUM_TYPE_SUBSCRIBER 4
+ #define CP_NUM_TYPE_ABBREVIATED 6
+
+typedef enum
+{
+ ACCESS_ATTEMPT,
+ ACCESS_RESUME,
+ TA_TIMEOUT
+} AttemptTypeT;
+
+
+typedef struct
+{
+ kal_uint16 sizeInBits; /* size of L3 PDU in bits */
+ kal_uint8 bufferPacked[MAX_ACCESS_MSG_SIZE]; /* buffer containing L3 SDU packed */
+ kal_uint8 msgType;
+ kal_bool request; /* Is this a request or a response */
+ AttemptTypeT attemptType; /* ACCESS_ATTEMPT,TA_TIMEOUT */
+ ChannelTypeT channelType; /* ACH or EACH */
+ kal_bool validAck;
+} AccessProbeInfoT;
+
+typedef struct
+{
+ kal_uint8 GrpBitmapLength;
+ kal_uint16 GrpBitmap;
+} SoGrpBitmapT;
+
+
+/*****************************************************************************
+ * Prototypes
+ ****************************************************************************/
+ void cpSetPrefMSIDType(kal_uint8 type);
+ void assembleSaveResponseMessage(void);
+ void assembleSaveRegMessage(kal_uint8 reg_type,kal_bool validAck);
+ void assembleSaveOriginationMessage(OrigParms *origParms);
+ void assembleSaveDataBurstMessage(DataBurstData* dataBurstData, kal_bool validAck);
+ void assembleSaveOrderMessage(kal_uint8 order,kal_uint8 ordq,kal_bool validAck);
+ void assembleSaveRejectOrderMessage(kal_uint8 ordq,MSRejectOrderData *rejectData,
+ kal_bool validAck);
+ void assembleSaveBSChallOrder(kal_uint32 randBS,kal_bool validAck);
+ void assembleSaveAuthChallMessage(kal_bool validAck,kal_uint32 randu);
+ void assembleSaveStatusRespMessage(kal_bool validAck,StatusReqData *ReqData,
+ kal_uint8 numRecords);
+ void assembleSaveTMSIAssignMessage(kal_bool validAck);
+ void assembleAccessMessage(void);
+ void resetAccessMsgSeq(void);
+ kal_uint8 getAccessMsgSeq(void);
+ kal_bool cpIsAckRequired(void);
+ kal_uint32 cpGet_savedRandu(void);
+ void accessAttempt(ChannelTypeT ChanType);
+ ChannelTypeT getAccessCh( void );
+
+ kal_uint8 getSavedMessageType(void);
+#ifdef MTK_DEV_C2K_IRAT
+ kal_uint8 getSavedOrder(void);
+ kal_uint8 getSavedRegType(void);
+#endif
+ void cpSetUseSyncId(const kal_bool useSyncId);
+ void accessTaTimeout(void);
+#endif /* _Q_ACCMSG_H_ */
+
+kal_int16 getNumDigitsAvailInOrig(void);
+
+#ifdef __SENSITIVE_DATA_MOSAIC__
+void maskL3SensitivePartAch(kal_uint8* buffP, kal_uint16 index, kal_uint8 msgtype);
+#endif
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/Cca_api.h b/mcu/interface/protocol/as_c2k/1xrtt/Cca_api.h
new file mode 100644
index 0000000..41dee8a
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/Cca_api.h
@@ -0,0 +1,167 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Module: cca.h
+ *
+ * Purpose: Header file for Common Cryptographic Algorithms.
+ *
+ ****************************************************************************
+ *
+ * PVCS Header Information
+ *
+ * $Workfile$
+ * $Revision: 1.2 $
+ * $Modtime$
+ * $Author: fpeng $
+ *
+ * $Log: Cca_api.h $
+ *
+ * 08 19 2019 jiayong.zhang
+ * [MOLY00423329] sync code from UMOLYE to VMOLY
+ *
+ * .
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ * Revision 1.2 2004/03/25 12:08:40 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:38:31 fpeng
+ * Initial revision
+ * Revision 1.3 2002/08/20 11:21:28 mshaver
+ * Added prototype for ssdGetTempAkey() for builds where
+ * authentication is disabled using the compile switch
+ * SYS_OPTION_AUTHENTICATION.
+ * Revision 1.2 2002/06/06 13:10:57 chinh
+ * Changed and Added Copyright
+ * Revision 1.1 2001/01/17 10:58:08 plabarbe
+ * Initial revision
+ * Revision 1.1 2000/10/24 14:11:03 fpeng
+ * Initial revision
+ * Revision 1.3 2000/08/23 22:05:14Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes
+ * Revision 1.4 2000/01/26 00:15:57 gfrye
+ * Added getAuthrOtasp function to facillitate Re-authentication by OTASP.
+ *
+ * Revision 1.3 2000/01/25 16:29:07 gfrye
+ * Added randOtapa parameter to getAuthrOTAPA function.
+ *
+ * Revision 1.2 2000/01/21 22:03:39 gfrye
+ * Made Shared Secret Data private to auth.c and removed it from all the access
+ * routines to authentication.
+ *
+ * Revision 1.1 1998/03/30 23:26:03 mhayduk
+ * Initial revision
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+#ifndef _CCA_H_
+
+ #define _CCA_H_
+
+ /* A_Key Verification */
+
+ kal_bool verifyAkey(kal_uint8 *digits, kal_uint8 ndigits, kal_uint32 *A_Key, kal_uint32 esn);
+
+
+ /* Shared Secret Data Update */
+
+ kal_uint32 ssdUpdateRequest( kal_uint8 *randssd, kal_uint32 esn, kal_uint32 imsi_s1);
+
+ kal_bool confirmSSDUpdateRequest(kal_uint32 authbs);
+
+
+
+ /* Authentication */
+
+ kal_uint32 getAuthrRegistration( kal_uint32 esn, kal_uint32 imsi_s1);
+
+ kal_uint32 getAuthrTermination( kal_uint32 esn, kal_uint32 imsi_s1);
+
+ kal_uint32 getAuthrOrigination( kal_uint32 esn, kal_uint32 imsi_s1, kal_uint8 *digits);
+
+ kal_uint32 getAuthrDataBurst( kal_uint32 esn, kal_uint32 imsi_s1, kal_uint8 *digits);
+
+ kal_uint32 getAuthrTMSIAssignment( kal_uint32 esn, kal_uint32 imsi_s1);
+
+ kal_uint32 getAuthrOtasp(kal_uint32 rand, kal_uint32 esn, kal_uint32 imsi_s1, kal_bool orig,
+ kal_uint8 *digs, kal_uint8 *authData);
+
+ kal_uint32 getAuthrOTAPA(kal_uint32 randOtapa, kal_uint32 esn, kal_uint32 imsi_s1);
+
+ kal_uint32 getAuthu( kal_uint32 randu, kal_uint16 imsi_s2, kal_uint32 esn, kal_uint32 imsi_s1);
+
+ void setRANDs(kal_uint32 Rand);
+
+ kal_uint8 getRANDC(void);
+
+
+ /* Signaling Message Encryption */
+ void encryptDecryptCMEA(short byte_count, kal_uint8 *msg_buf);
+
+
+ /* Cellular Data Encryption */
+ void encryptDecryptORYX(kal_uint32 hook, short byte_count, kal_uint8 *msg_buf);
+
+ /* Voice Privacy */
+
+ kal_uint8 *getVPM40(void);
+
+ void InitializeAuth(void);
+kal_bool calcAuthrUim(void);
+void SetAuthrUim(kal_uint32 result);
+void SetAuthrRegUim(kal_uint32 result);
+
+#ifndef SYS_OPTION_AUTHENTICATION
+ kal_bool ssdGetTempAkey(void);
+#endif
+
+void ResetAuthFailCount(void);
+void IncAuthFailCount(void);
+kal_uint8 GetAuthFailCount(void);
+
+#endif /* _CCA_H_ */
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/Ds_Signaling.h b/mcu/interface/protocol/as_c2k/1xrtt/Ds_Signaling.h
new file mode 100644
index 0000000..4d88d93
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/Ds_Signaling.h
@@ -0,0 +1,422 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1998-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+#ifdef IS2000_REV_0
+/*****************************************************************************
+* FILE NAME : Ds_Signaling.h
+*
+* DESCRIPTION : Header file for Ds_Signaling.c
+*
+* HISTORY : See Log at end of file
+*
+*
+* All rights reserved. LSI Confidential information.
+****************************************************************************
+****************************************************************************/
+
+#ifndef _DS_SIGNALING_H_
+
+#define _DS_SIGNALING_H_ 1
+
+/*****************************************************************************
+ * Includes
+ ****************************************************************************/
+#include "pch_msg.h"
+#include "Msg_defn.h"
+#include "status.h"
+#include "sysapi.h"
+#include "l1dapi.h"
+
+/*****************************************************************************
+ * Defines
+ ****************************************************************************/
+
+#define CP_MAX_REV_SCH_ID 2
+#define CP_MAX_REV_SCH_RATE 15
+
+#define CP_MAX_FOR_SCH_ID 2
+#define CP_MAX_FOR_SCCL_INDEX 15
+#define CP_MAX_NUM_SUP_SHO CP_MAX_SUP_SHO
+
+typedef enum
+{
+ DS_SIGNALING_CT_PILOT,
+ DS_SIGNALING_CT_CQICH,
+ DS_SIGNALING_FFCH,
+ DS_SIGNALING_RFCH,
+ DS_SIGNALING_FDCCH,
+ DS_SIGNALING_RDCCH,
+ DS_SIGNALING_F_SCH_0,
+ DS_SIGNALING_R_SCH_0,
+ DS_SIGNALING_F_SCH_1,
+ DS_SIGNALING_R_SCH_1,
+ DS_SIGNALING_FPDCH,
+ DS_SIGNALING_MAX_CH_TYPES
+
+} Ds_ChanType;
+
+typedef enum
+{
+ CP_CHAN_TYPE_INVALID = 0,
+ /*
+ CP_CHAN_TYPE_FCH = 0x1,
+ CP_CHAN_TYPE_DCCH = 0x2,
+ CP_CHAN_TYPE_CT_PILOT = 0x4,
+ CP_CHAN_TYPE_R_SCH_0 = 0x8
+ */
+
+ CP_CHAN_TYPE_CT_PILOT = 0x1,
+ CP_CHAN_TYPE_CT_CQICH = 0x2,
+ CP_CHAN_TYPE_F_FCH = 0x4,
+ CP_CHAN_TYPE_R_FCH = 0x8,
+ CP_CHAN_TYPE_F_DCCH = 0x10,
+ CP_CHAN_TYPE_R_DCCH = 0x20,
+ CP_CHAN_TYPE_R_SCH_0 = 0x40,
+ CP_CHAN_TYPE_F_PDCH = 0x80 /* this also includes R-CQICH, R-ACKCH */
+
+} Ds_ChanBitmapType;
+
+
+typedef enum
+{
+ DS_SCH_0 = 0,
+ DS_SCH_1 = 1
+} Ds_SchIdType;
+
+typedef enum
+{
+ DS_HSPD_ACTIVE_STATE = 0,
+ DS_HSPD_CONTROL_HOLD_STATE = 1,
+ DS_HSPD_PDCH_CONTROL_HOLD_STATE = 2
+} Ds_HspdActiveControlHoldType;
+
+
+typedef enum
+{
+ DS_CONTINUOUS_PILOT = 0,
+ DS_GATED_PILOT,
+ DS_PDCH_GATED_PILOT_CQICH
+} Ds_PilotType;
+
+typedef enum
+{
+ CP_SCH_RATE_INVALID,
+ CP_SCH_RATE_96,
+ CP_SCH_RATE_144,
+ CP_SCH_RATE_192,
+ CP_SCH_RATE_288,
+ CP_SCH_RATE_384,
+ CP_SCH_RATE_576,
+ CP_SCH_RATE_768,
+ CP_SCH_RATE_1152,
+ CP_SCH_RATE_1536,
+ CP_SCH_RATE_2304,
+ CP_SCH_RATE_2592,
+ CP_SCH_RATE_3072,
+ CP_SCH_RATE_4608,
+ CP_SCH_RATE_5184,
+ CP_SCH_RATE_6144,
+ CP_SCH_RATE_10368
+} Ds_SchRateTypes;
+
+typedef struct
+{
+ kal_uint8 srId;
+ SchRateIndex prefRate;
+ kal_uint16 duration;
+} Ds_SchReqRec;
+
+typedef struct
+{
+ kal_uint8 revWalshId[ CP_MAX_REV_SCH_ID ][ CP_MAX_REV_SCH_RATE ];
+} Ds_RevCfgRec;
+
+typedef struct
+{
+ kal_bool revSchActive[ CP_MAX_REV_SCH_ID ];
+ kal_bool revSchStartTimeIncl[ CP_MAX_REV_SCH_ID ];
+ kal_uint8 revSchStartTime[ CP_MAX_REV_SCH_ID ];
+ kal_uint8 revSchDuration[ CP_MAX_REV_SCH_ID ];
+ SchRateIndex revSchRate[ CP_MAX_REV_SCH_ID ];
+} Ds_RevSch;
+
+typedef struct
+{
+ kal_bool forSchActive[ CP_MAX_FOR_SCH_ID ];
+ kal_bool forSchStartTimeIncl[ CP_MAX_FOR_SCH_ID ];
+ kal_uint8 forSchStartTime[ CP_MAX_FOR_SCH_ID ];
+ kal_uint8 forSchDuration[ CP_MAX_FOR_SCH_ID ];
+ kal_uint8 scclIndex[ CP_MAX_FOR_SCH_ID ];
+} Ds_ForSch;
+
+typedef struct
+{
+ SchRateIndex forSchRate[ CP_MAX_FOR_SCH_ID ][ CP_MAX_FOR_SCCL_INDEX ];
+ kal_uint8 numSupSho[ CP_MAX_FOR_SCH_ID ][ CP_MAX_FOR_SCCL_INDEX ];
+} Ds_ForSchCodeList;
+
+typedef struct
+{
+ kal_uint16 pilotPn[ CP_MAX_FOR_SCH_ID ]
+ [ CP_MAX_FOR_SCCL_INDEX ]
+ [ CP_MAX_NUM_SUP_SHO ];
+ kal_uint8 qofMaskIdSch[ CP_MAX_FOR_SCH_ID ]
+ [ CP_MAX_FOR_SCCL_INDEX ]
+ [ CP_MAX_NUM_SUP_SHO ];
+ kal_uint16 forSchCcIndex[ CP_MAX_FOR_SCH_ID ]
+ [ CP_MAX_FOR_SCCL_INDEX ]
+ [ CP_MAX_NUM_SUP_SHO ];
+ kal_bool addPilotRecIncl[ CP_MAX_FOR_SCH_ID ]
+ [ CP_MAX_FOR_SCCL_INDEX ]
+ [ CP_MAX_NUM_SUP_SHO ];
+ PilotRecType pilotRecType[ CP_MAX_FOR_SCH_ID ]
+ [ CP_MAX_FOR_SCCL_INDEX ]
+ [ CP_MAX_NUM_SUP_SHO ];
+ ActivePilotRec pilotRec[ CP_MAX_FOR_SCH_ID ]
+ [ CP_MAX_FOR_SCCL_INDEX ]
+ [ CP_MAX_NUM_SUP_SHO ];
+} Ds_ForSchSet;
+
+typedef struct
+{
+ kal_uint8 schId[ CP_MAX_SUP ];
+ kal_uint8 fpcSchFer[ CP_MAX_SUP ];
+ kal_int16 fpcSchInitSetpt[ CP_MAX_SUP ];
+ kal_uint8 fpcSchMinSetpt[ CP_MAX_SUP ];
+ kal_uint8 fpcSchMaxSetpt[ CP_MAX_SUP ];
+ kal_uint8 fpcSetptThreshSch[ CP_MAX_SUP ];
+ kal_uint8 numSup;
+} Ds_FpcSch;
+
+typedef struct
+{
+ kal_uint8 schId[ CP_MAX_RPC_NUM_SUP ];
+ kal_int8 rlgainSchPilot[ CP_MAX_RPC_NUM_SUP ];
+} Ds_RpcSup;
+
+/* PDCH config */
+typedef struct
+{
+ kal_uint16 PilotPn;
+ kal_uint8 WalshTableId;
+ kal_uint8 NumPdcch;
+ kal_uint8 ForPdcchWalsh[CP_MAX_PDCCH_CH];
+} Ds_PdchPilot;
+
+typedef struct
+{
+ kal_uint8 NumPdchSet;
+ Ds_PdchPilot PdchSet[CP_MAX_NUM_PILOTS];
+} Ds_PdchSet;
+
+typedef enum
+{
+ ASSIGN,/* newly assigned PDCH */
+ HANDOFF /* PDCH soft, hard handoff */
+} Ds_PdchHandoffTypes;
+
+/*****************************************************************************
+ * Prototypes
+ ****************************************************************************/
+TCGatingRate DsGetRevPilotGatingRate( void );
+void DsSetRevPilotGatingRate( const TCGatingRate );
+kal_bool DsGetRevPilotGatingUseRate( void );
+
+/* PDCH params */
+void DsClearPDCHParams( void );
+L1dPdchParamsMsgT* DsGetPDCHParams( void );
+
+void DsSetPDCHParams
+(
+ kal_uint8 HandoffType,
+ kal_bool PilotGatingUseRate,
+ kal_uint8 PilotGatingRate,
+ kal_uint8 ChInd,
+ kal_bool ForPdchRcIncl,
+ kal_uint8 ForPdchRc,
+ kal_uint8 FullCIFeedbackInd,
+ kal_uint8 RevCqichFrameOffset,
+ kal_uint8 RevCqichReps,
+ kal_uint8 RevAckchReps,
+ kal_bool SwitchingParamsIncl,
+ kal_uint8 NumSoftSwitchingFrames,
+ kal_uint8 NumSofterSwitchingFrames,
+ kal_uint8 NumSoftSwitchingFramesChm,
+ kal_uint8 NumSofterSwitchingFramesChm,
+ kal_uint8 NumSoftSwitchingSlots,
+ kal_uint8 NumSofterSwitchingSlots,
+ kal_uint8 NumSoftSwitchingSlotsChm,
+ kal_uint8 NumSofterSwitchingSlotsChm,
+ kal_uint8 PdchSoftSwitchingDelay,
+ kal_uint8 PdchSofterSwitchingDelay
+);
+
+void DsClearPDCHSetParams( void );
+
+kal_bool DsGetPerPilotPDCHConfigParams( kal_uint16 pilotpn,
+ kal_uint8 *walshTableId,
+ kal_uint8 *numPdcch,
+ kal_uint8 forPdcchWalsh[] );
+
+void DsSetPerPilotPDCHConfigParams( const kal_uint16 pilotpn,
+ const kal_uint8 walshTableId,
+ const kal_uint8 numPdcch,
+ const kal_uint8 forPdcchWalsh[] );
+
+kal_bool DsGetFPdchSupported( void );
+void DsSetFPdchSupported( const kal_bool forPdchSupported );
+
+kal_bool DsIsPdchInUse( FcschChIndType chInd );
+
+/* end of PDCH Params */
+
+
+void DsMsFschIndicator( const kal_bool status );
+
+void DsReset( void );
+
+kal_uint8 DsIncrementAndGetScrmSeqNum( void );
+
+void DsSigRsrReq
+(
+ const Ds_ChanBitmapType,
+ const kal_uint8 DurationUnit,
+ const kal_uint8 NumReq,
+ const Ds_SchReqRec*
+);
+
+#ifdef FIELD_TEST_DATA
+typedef enum
+{
+ SCH_INACTIVE,
+ SCH_ACTIVE,
+ SCH_MAX_ST
+} SchStateT;
+#endif
+
+void DsSigRsrRel( const Ds_ChanBitmapType, const kal_bool isTAddAbort);
+
+CPState DsTCESCAM( const ESCAMData*, const CPState );
+CPState DsTCRAM( const RAMData* , const CPState );
+CPState DsTCERM( const ERMData* , const CPState );
+
+void DsRATCHGM( const RATCHGMData*, const CPState);
+
+void DsUHDMUpdateSch
+(
+ const HDMData *pHdmData,
+ const PHDMData *pPhdmData,
+ kal_bool HardHandoff
+);
+
+void DsRschStarted( void );
+void DsRschRelInd( const kal_uint16 remainDuration );
+void DsMsAbortsFsch( void );
+void DsMsAbortsRsch( void );
+void DsSetIgnoreEscam( const kal_bool ignoreEscam );
+void DsSetIgnoreRam( const kal_bool ignoreRam );
+void dsUpdateFPC(FTCMessageType msgType);
+void dsSchRevPowerControl( SchRateIndex schrate, kal_int16* pilotRefLevel, kal_int16* rschPower);
+SchRateIndex dsGetRevSchRate(void);
+
+kal_bool ProcessTcRetryOrder
+(
+ const kal_uint8 ordq,
+ const RetryDelayType retryType,
+ const kal_uint8 retryDelay
+);
+
+#endif
+
+/*****************************************************************************
+* $Log: Ds_Signaling.h $
+* Revision 1.6 2005/08/02 16:26:16 wfu
+* - Add prototypes for dsSchRevPowerControl() and dsGetRevSchRate().
+* Revision 1.5 2005/03/18 11:40:02 hans
+* Merged code changes from CBP4.05 revision 2.02 to CBP4.05 revision 4.21.
+* Revision 1.4 2004/05/04 17:43:59 sulinlow
+* Revision 1.3.1.2 2004/05/03 11:08:45 sulinlow
+* Revision 1.3.1.1 2004/04/23 10:49:47 sulinlow
+* Duplicate revision
+* Revision 1.3 2004/04/23 10:49:47 asharma
+* CBP6.1 (Phase-1) DV Data and Voice Call Setup changes.
+* Revision 1.2.1.2 2004/04/14 15:19:13 asharma
+* Revision 1.2 2004/03/25 12:08:43 fpeng
+* Updated from 6.0 CP 2.5.0
+* Revision 1.3 2004/02/10 12:49:46 bcolford
+* Merged CBP4.0 Release 8.05.0 changes.
+* Revision 1.12 2003/12/17 09:58:11 mclee
+* Add msgType in dsUpdateFPC() prototype
+* Revision 1.11 2003/11/20 14:36:24 mclee
+* Add numSup to Ds_FpcSch struct
+* Revision 1.10 2003/05/21 17:09:15 byang
+* CR#570: Replace compiler flag with IS2000A with IS2000_REV_0.
+* Revision 1.9 2003/04/25 14:11:05 byang
+* CR#2171: Add function prototype declaration for
+* DsMsFschIndicator().
+* Revision 1.8 2003/02/19 16:42:38 byang
+* CR #1752: Added function prototype declaration for
+* ProcessTcRetryOrder().
+* Revision 1.7 2002/10/17 10:46:23 byang
+* Add function prototype for DsMsAbortsFsch().
+* Revision 1.6 2002/08/14 17:17:06 byang
+* Add function prototype declaration for DsSetIgnoreEscam() and
+* DsSetIgnoreRam().
+* Revision 1.5.1.2 2002/07/31 14:33:45 byang
+* DCCH Only plus miscellaneous.
+* Revision 1.5.1.1 2002/06/06 13:11:38 byang
+* Duplicate revision
+* Revision 1.5 2002/06/06 13:11:38 chinh
+* Changed and Added Copyright
+* Revision 1.4 2002/05/07 16:46:52 byang
+* Changed Ds_SchRate to Ds_SchRateTypes.
+* Revision 1.3 2002/01/28 11:35:43 byang
+* Removed unnecessary include files.
+* Revision 1.2 2001/11/13 17:16:00 byang
+* Initial version of Data Service Signaling header file.
+* Revision 1.1 2001/11/09 11:13:59 byang
+* Initial revision
+*****************************************************************************/
+
+#endif
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/FSM.H b/mcu/interface/protocol/as_c2k/1xrtt/FSM.H
new file mode 100644
index 0000000..bffe40f
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/FSM.H
@@ -0,0 +1,342 @@
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*************************************************************************
+ *
+ * File Name: fsm.h
+ * Project: ISOLIB C Library
+ * Original Author: Dale Ehman
+ * Creation Date: Aug. 26, 1997
+ *
+ * Description: Header for Generic FSM C Language implementation.
+ *
+ * Restrictions:
+ *
+ * Dependencies:
+ *
+ ****************************************************************************
+ ****************************************************************************
+ *
+ * RCS Log Information
+ *
+ * $Log: FSM.H $
+ *
+ * 06 29 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * ::KAL type - folder inc
+ *
+ * 05 17 2017 peijun.zheng
+ * [MOLY00249027] [BIACNO][MT6763][New feature]C2K code release code modification
+ *
+ * C2k code release.
+ * Revision 1.3 2006/01/11 15:15:19 blee
+ * Added new state machine handler
+ * Revision 1.2 2004/03/25 12:08:47 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:38:44 fpeng
+ * Initial revision
+ * Revision 1.7 2003/05/02 14:35:59 sulinlow
+ * To add RLP BLOB params received from PS
+ * Revision 1.6 2002/06/06 13:12:20 chinh
+ * Changed and Added Copyright
+ * Revision 1.5 2002/05/30 09:31:36 mshaver
+ * The ARM 2.51 tools the compiler supports the alignment options :
+ * -zap1 which specifies that pointers to structs are assumed to be
+ * aligned on at least <struct minimal alignment> boundaries.
+ * -zat4 which specifies the minimal byte alignment for top-level static
+ * objects, such as global variables is 4 bytes.
+ * The ADS compiler does not support either of these alignment
+ * options. The only alignment option it supports is :
+ * -zas which specifies the minimum byte alignment for structures. This option will not be supported in future versions of the ADS
+ * tools.
+ * Therefore, to be compatible with both the ARM 2.51 tools and the
+ * ADS tools, the PACKED qualifier was removed from the FSM
+ * Descriptor Structure.
+ * Revision 1.4.1.2 2002/02/11 10:51:02 srodenba
+ * remove PACKED designator to make it work with ADS
+ * --- Added comments --- mshaver [2002/05/22 16:20:08Z]
+ * For the ARM 2.51 tools the compiler supports the alignment options :
+ * -zap1 which specifies that pointers to structs are assumed to be aligned on at least
+ * <struct minimal alignment> boundaries.
+ * -zat4 which specifies the minimal byte alignment for top-level static objects, such as global
+ * variables is 4 bytes.
+ * The ADS compiler does not support either of these alignment options. The only alignment
+ * option it supports is :
+ * -zas which specifies the minimum byte alignment for structures. This option will not be
+ * supported in future versions of the ADS tools.
+ *
+ * Therefore, to be compatible with both the ARM 2.51 tools and the ADS tools, the
+ * PACKED qualifier was removed from the FSM Descriptor Structure.
+ * Revision 1.4.1.1 2002/02/01 11:59:15 srodenba
+ * Duplicate revision
+ * Revision 1.4 2002/02/01 11:59:15 ameya
+ * Moved OTTS related definitions from this file to ottsdefs.h
+ * Revision 1.3 2001/10/19 13:54:49 ameya
+ * Changed all occurences of _packed to PACKED. Added definition of macro PACKED if undefined.
+ * Revision 1.2 2001/06/21 09:42:38 yfang
+ * supported RLP3
+ * Revision 1.1 2001/01/17 10:58:37 plabarbe
+ * Initial revision
+ * Revision 1.1 2000/10/24 14:11:13 fpeng
+ * Initial revision
+ * Revision 1.3 2000/08/24 00:07:10Z hhong
+ * Add #ifndef pair for COND_ST
+ * Revision 1.2 2000/05/12 00:53:51Z hhong
+ * Make FSM.h available to all data engines across the board from this spot.
+ * Revision 1.20 1999/07/21 21:17:37 msmith
+ * Corrected FSMEXTTRACEINFO for TOKEN tracing
+ *
+ * Revision 1.19 1999/06/26 00:26:03 ddoucett
+ * fixed the FSM_EXTTRACEINFO for case when TRACEON is not defined
+ *
+ * Revision 1.18 1999/06/14 23:06:08 bcassidy
+ * Changed to distinguish between token tracing and string tracing
+ *
+ * Revision 1.17 1999/06/09 23:04:44 msmith
+ * Reduced parm_struct size
+ *
+ * Revision 1.16 1999/06/07 22:50:39 ddoucett
+ * increaced the size of the MAX_PARM_STRUCT to 83
+ *
+ * Revision 1.15 1999/05/13 15:12:57 msmith
+ * Added support for tracing when TRACEON defined
+ *
+ *
+ * Revision 1.13 1998/10/06 17:08:13 bcassidy
+ * 1. Mods for circular queue operation.
+ * 2. Put queue size back to 5.
+ *
+ * Revision 1.12 1998/10/04 01:39:02 pjiang
+ * 1. Bump event Q size.
+ * [Temporary fix until FSM changed to circular Q operation.]
+ *
+ * Revision 1.11 1998/09/25 20:28:21 bcassidy
+ * 1. Mod setFSMTraceInfo proto.
+ *
+ * Revision 1.10 1998/08/28 14:57:42 bcassidy
+ * 1. Mods for multi-engine tracing system.
+ *
+ * Revision 1.9 1998/07/14 19:24:53 bcassidy
+ * 1. Simplify MakeFSMTable maro.
+ * 2. Add ROM keyword for constant data.
+ *
+ * Revision 1.8 1998/05/15 21:28:08 bcassidy
+ * 1. Modify tracing system to avoid string fields.
+ *
+ * Revision 1.7 1998/03/05 17:50:10 bcassidy
+ * 1. Add compile switch for conditional state support.
+ *
+ * Revision 1.6 1998/03/04 01:13:46 dehman
+ * Adjusted MAX_PARM_STRUCT_SIZE to 15 so that we get word alignment. (For now)
+ *
+ * Revision 1.5 1998/02/07 22:07:53 bcassidy
+ * 1. Remove current_event and busy elements from FSMDescriptor.
+ * [Efficiency improvement in processEventWithParmStruct.]
+ *
+ * Revision 1.4 1998/02/07 04:03:44 dehman
+ * Fixed structure alignment problem/bug by changing the order
+ * of member declaration in FSMTblEvent.
+ *
+ * Revision 1.3 1998/02/04 01:08:12 bcassidy
+ * 1. Fix const keywords for FSM name, event_name and state_name.
+ *
+ * Revision 1.2 1998/02/03 22:23:47 bcassidy
+ * 1. Add tracing support.
+ *
+ * Revision 1.1 1998/01/31 22:37:35 bcassidy
+ * Initial revision
+ *
+ *
+ ************************************************************************/
+
+#ifndef __FSM_H_
+#define __FSM_H_
+
+#include "ottsdefs.h"
+#include "sysdefs.h"
+
+
+
+
+/* Constants */
+/* <TBD: Due to a GNU compiler-bug, the MAX_PARM_STRUCT_SIZE must be set
+ to: ((a multiple of 4) - 1).> */
+#define MAX_PARM_STRUCT_SIZE 39
+
+#define EVENTQ_SIZE 5
+
+#define UNEXPECTED_EVENT_AC 0xFE
+#define NO_EVENT 0xFF
+#define NO_ACTION 0
+
+#ifndef FSM_COND_ST
+#define FSM_COND_ST 1
+#endif
+
+#ifdef FSM_COND_ST
+#define CONDITIONAL_STATE 0x7F
+#define CHANGE_STATE_ALWAYS KAL_TRUE
+#define ACTION_DRIVES_CHANGE KAL_FALSE
+#endif
+
+/* Define FSM Base Elements */
+typedef kal_uint8 FSMState;
+typedef kal_uint8 FSMEvent;
+typedef kal_uint8 FSMAction;
+
+/* <TBD: Due to a GNU compiler-bug, 'plist' must be the first entry in this structure.> */
+typedef struct
+{
+ kal_uint8 plist[ MAX_PARM_STRUCT_SIZE ];
+ FSMEvent event;
+} FSMTBLEvent;
+
+typedef kal_uint8 ProtocolEngineID;
+
+/* Define FSM Descriptor Structure */
+
+struct FSMDescriptorStruct
+{
+ FSMTBLEvent eventQ[EVENTQ_SIZE]; /* Event Queue */
+ kal_uint8 put_index; /* Put Index for Q */
+ kal_uint8 get_index; /* Get Index for Q */
+ kal_uint8 num_in_queue; /* Current number of entries in the queue */
+
+ FSMState state; /* Current State */
+
+#ifdef FSM_COND_ST
+ FSMState conditional_state; /* Conditional State */
+ kal_bool change_flag; /* If TRUE, always change state */
+#endif
+
+ FSMState num_state; /* Number of States */
+ FSMEvent num_event; /* Number of Events */
+ FSMAction num_action; /* Number of Actions */
+
+ FSMState* state_table; /* State Table */
+ kal_uint16 state_size; /* State Entry Size */
+ kal_uint16 event_size; /* Event Entry Size */
+
+ /* Ptr to Action Handler Function */
+ kal_bool ( *action_handler )( struct FSMDescriptorStruct* fsm, FSMAction action );
+
+ /* Instance Related User Parameters */
+ void* user_parms;
+
+ kal_uint8 id;
+ ProtocolEngineID engineId;
+ kal_bool extendedTracing;
+
+#if (ITRACE_TYPE == TOKEN_TRACING)
+ kal_uint8 fsmNameTableId;
+ kal_uint8 stateNameTableId;
+ kal_uint8 eventNameTableId;
+
+#else /* !TOKEN_TRACING */
+ const kal_char** fsmNameTable;
+ const kal_char** stateNameTable;
+ const kal_char** eventNameTable;
+#endif /* ITRACE_TYPE */
+};
+
+/* Useful Typedefs */
+typedef struct FSMDescriptorStruct FSMDescriptor;
+typedef FSMDescriptor* FSMPtr;
+typedef kal_bool (*FSMActionFuncPtr) (FSMPtr fsm, FSMAction action);
+
+
+/* Generic FSM Processing Functions */
+void initializeFSM( FSMPtr fsm, FSMState* table,
+ kal_uint8 num_state, kal_uint8 num_event, kal_uint8 num_action,
+ FSMState initial_state, FSMActionFuncPtr action_handler,
+ void* user_parms );
+
+void processEventWithNoParms( FSMPtr fsm, FSMEvent event );
+void processEventWithParmStruct( FSMPtr fsm, FSMEvent event, void* parm_struct, kal_uint8 size );
+
+#ifdef FSM_COND_ST
+void setConditionalState( FSMPtr fsm, FSMState cond_state );
+void setChangeFlag( FSMPtr fsm, kal_bool change_always );
+#endif
+
+/* Event Parameter Query */
+void* getEventParameters( FSMPtr fsm );
+FSMEvent getCurrentEvent( FSMPtr fsm );
+
+/* FSM Table Generation Macros */
+
+/* The macro MAKEFSMTable creates a FSM table, just provide the name of the
+ * table, the number of states, the number of events and the number of
+ * actions that are to be executed to get to that state.
+ */
+
+/*
+ * Example of make fsm table macro
+ * Intialize table
+ * MAKEFSMTable(callFSM,2,3,1) = {{1,b},{2,c},{3,d},{4,e},{5,f},{0,a}};
+ * where 0-5 represent the different states
+ * where a-e represent different actions
+ * Note this assumes that the states and actions are the same size
+ * The + 1 is for the state entry
+ */
+#define MAKEFSMTable(tableName,numStates,numEvents,numActions) \
+static CONST kal_uint8 ROM tableName[numStates][numEvents][numActions + 1]
+
+
+/* The macro FSMTable is used to Instantiate a FSMTable
+ * It just does the required type casting
+ *
+ * Example
+ * Instantiate a FSMTBL with FSMTable callFSM
+ * FSMTBL callFSMTable(FSMTable(callFSM),2,3,1,0);
+ */
+#define FSMTable(tableName) (FSMState*)&tableName
+
+#ifdef TRACEON
+void setFSMTraceInfo (FSMPtr fsm, kal_uint8 fsmId, ProtocolEngineID engineId);
+
+#define FSMTRACE_INFO(fsm, id, engineId) setFSMTraceInfo(fsm, id, engineId)
+
+#if (ITRACE_TYPE == TOKEN_TRACING)
+void setFSMExtendedTraceInfo (FSMPtr fsm, kal_uint8 fsmNameTableId, kal_uint8 fsmId,
+ ProtocolEngineID engineId,
+ kal_uint8 stateTableId, kal_uint8 eventTableId);
+
+#define FSMEXTTRACE_INFO(fsm, engineId, fsmNameTable, fsmNameTableId, fsmId, \
+ stateNameTable, stateNameTableId, \
+ eventNameTable, eventNameTableId) \
+ setFSMExtendedTraceInfo(fsm, fsmNameTableId, fsmId, engineId, \
+ stateNameTableId, eventNameTableId)
+
+#else /* !TOKEN_TRACING */
+void setFSMExtendedTraceInfo (FSMPtr fsm, const kal_char* fsmNameTable[],
+ kal_uint8 fsmId, ProtocolEngineID engineId,
+ const kal_char* stateTable[],
+ const kal_char* eventTable[]);
+
+#define FSMEXTTRACE_INFO(fsm, engineId, fsmNameTable, fsmNameTableId, fsmId, \
+ stateNameTable, stateNameTableId, \
+ eventNameTable, eventNameTableId) \
+ setFSMExtendedTraceInfo(fsm, fsmNameTable, fsmId, engineId, \
+ stateNameTable, eventNameTable)
+#endif /* ITRACE_TYPE */
+
+#else /* !TRACEON */
+#define FSMTRACE_INFO(fsm, id, engineId)
+#define FSMEXTTRACE_INFO(fsm, engineId, fsmNameTable, fsmNameTableId, fsmId, \
+ stateNameTable, stateNameTableId, \
+ eventNameTable, eventNameTableId)
+#endif /* TRACEON */
+
+
+
+
+
+
+#endif /* __FSM_H_ */
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/Field.h b/mcu/interface/protocol/as_c2k/1xrtt/Field.h
new file mode 100644
index 0000000..9dee925
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/Field.h
@@ -0,0 +1,2246 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Module: field.h - Message Field Width Definitions
+ *
+ * Purpose: Header file containing Message field width definitions
+ *
+ ****************************************************************************
+ *
+ * PVCS Header Information
+ *
+ * $Revision: 1.11 $
+ * $Author: vsethuraman $
+ *
+ * $Log: field.h $
+ *
+ * 06 14 2019 yanfeng.xu
+ * [MOLY00413189] [Cervino][MT6762][P0][MP2][Sprint][FT_REG][Chicago][SI2][C2K][C2K_Perfromance_FT_06]Mobile Station Reject Order decode error
+ * Revision 1.11 2006/03/03 13:41:03 vsethuraman
+ * CR7207 :- PN310 CSS and ERI changes.
+ * Revision 1.10 2005/03/18 11:47:03 hans
+ * Merged code changes from CBP4.05 revision 2.02 to CBP4.05 revision 4.21.
+ * Revision 1.9 2004/10/07 12:42:29 blee
+ * Added DDW and REXMIT_DELAY
+ * Revision 1.8 2004/10/05 16:44:25 asharma
+ * Fixed CR5104 & CR5228 for LGE Rel-C compliance.
+ * Revision 1.7 2004/09/28 16:57:08 hans
+ * Changes from CBP6.0 merged.
+ * Revision 1.4 2004/04/23 10:49:58 asharma
+ * CBP6.1 (Phase-1) DV Data and Voice Call Setup changes.
+ * Revision 1.3.1.2 2004/04/14 15:19:53 asharma
+ * Revision 1.3 2004/04/06 14:02:06 dstecker
+ * CBP6.1 release 1
+ * Revision 1.2 2004/03/25 12:08:48 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.2 2003/08/28 11:18:06 bcolford
+ * Update for merge.
+ * Revision 1.30 2003/05/21 17:10:35 byang
+ * CR#570: Replace compiler flag with IS2000A with IS2000_REV_0.
+ * Revision 1.29 2002/12/30 19:03:20 akayvan
+ * Per CR570, Cosmetic changes for replacement of
+ * IS2000A with either IS2000_REV_A or IS2000_REV_0.
+ * Revision 1.28 2002/12/26 11:46:52 hans
+ * Conditional compile flag IS2000A replaced with IS_2000_REV_A and IS_2000_REV_0 for rev A and Rev 0 specific code.
+ * Revision 1.27 2002/10/22 09:58:52 mclee
+ * Add new #define CP_RESERVED_2_WIDTH
+ * Revision 1.26 2002/10/21 12:02:44 hans
+ * CR1445, RC_MAP_WIDTH fields corrected to 3 bit
+ * Revision 1.25 2002/09/05 18:58:19 hans
+ * CP_BAND_CLASS_BIT_FIELD_WIDTH added for CR1203
+ * Revision 1.24 2002/08/27 17:04:27 byang
+ * Add field width definition for SCH information in UHDM.
+ * Revision 1.23 2002/08/19 10:15:41 dstecker
+ * Added candidate frequency fields
+ * Revision 1.22 2002/07/15 13:12:14 chinh
+ * Removed compile switch CBP3_MERGE (CR598).
+ * Revision 1.21 2002/06/06 13:12:16 chinh
+ * Changed and Added Copyright
+ * Revision 1.20 2002/05/08 16:47:44 byang
+ * Add field width for F-SCH PMRM.
+ * Revision 1.19 2002/02/19 14:35:18 akayvan
+ * RPC Mods. Added bit field widths for RPC fileds of PCNM.
+ * Revision 1.18 2002/02/14 16:15:18 byang
+ * Removed obsolete constant definitions.
+ * Revision 1.17 2001/11/16 10:58:21 dstecker
+ * Handoff fixes and reverse power control additions
+ * Revision 1.16 2001/10/01 17:27:49 ameya
+ * Added #define for DTMF digit length
+ * Revision 1.15 2001/09/25 16:35:59 mclee
+ * Changed CP_CH_IND_WIDTH from 3 to 2
+ * Revision 1.14 2001/09/20 13:06:32 dstecker
+ * Fixed traffic handoff bugs
+ * Revision 1.13 2001/09/07 18:02:34 akayvan
+ * Added bit field widths for the PCNM, and OLRM per FPC.
+ * Revision 1.12 2001/08/30 14:53:33 byang
+ * Added new field width definitions for ESCAM, RAM, ERM,
+ * RRM, ERRM, and RRRM.
+ * Revision 1.11 2001/08/03 15:14:38 dstecker
+ * Modifications for IS2000 handoffs
+ * Revision 1.10 2001/07/18 15:09:24 chinh
+ * cbp3 porting for Idle and Access
+ * Revision 1.9 2001/06/29 10:44:13 hans
+ * Width definitions for new message field added for new field defined in Ms Cap Db used in IS2000 status request / response message
+ * Revision 1.8 2001/06/18 15:23:12 chinh
+ * Add new constants for information record in FNM and AWIM.
+ * Revision 1.7 2001/04/27 16:29:31 byang
+ * Update processing of EGSRM & ECCLM for IS-2000 Rev.0.
+ * Revision 1.6 2001/04/18 11:01:15 chinh
+ * Fixed ORM problem
+ * Revision 1.5 2001/04/11 16:21:07Z akayvan
+ * Changed the value of CP_RTC_SERV_CON_SEQ_WIDTH from 4 to 3. Added CP_IS2K_REV0_RESERVED_WIDTH,
+ * CP_FOR_SCH_CC_INCL_WIDTH, and CP_REV_SCH_CC_INCL_WIDTH per IS2K Rev0 compliance.
+ * Revision 1.4 2001/03/28 16:16:26 akayvan
+ * Intoduced CP_IS2000_SERVICE_CONNECT_RSVD_WIDTH,
+ * and CP_IS95_SERVICE_CONNECT_RSVD_WIDTH instead
+ * of CP_SERVICE_CONNECT_RSVD_WIDTH.
+ * Revision 1.3 2001/03/16 11:29:58 akayvan
+ * Traffic code phase1 added.
+ * Revision 1.2 2001/01/29 18:13:20 hans
+ * New field added for (IS2000.rev.a) auxililary powere measurement channels
+ * Revision 1.1 2001/01/17 18:58:35Z plabarbe
+ * Initial revision
+ * Revision 1.6 2000/12/05 17:44:21 byang
+ * Idle mode - IS2000A Addendum modifications.
+ * Revision 1.5 2000/11/27 11:58:04 chinh
+ * Added new fields for Origination and Registration messages.
+ * Added fields for LAC on dsch.
+ * Revision 1.4 2000/11/14 01:04:03Z byang
+ * IS-2000A Idle Mode and LAC integration - Initial Release.
+ * Revision 1.2 2000/11/13 22:24:31Z byang
+ * IS-2000A Idle Mode and LAC intergration - Initial Release.
+ * Revision 1.1 2000/10/24 21:11:12Z fpeng
+ * Initial revision
+ * Revision 1.5 2000/09/20 20:16:00Z RSATTARI
+ * Corrected CP_NGHBR_SRCH_MODE_WIDTH to 2.
+ * Revision 1.4 2000/09/08 23:59:01Z RSATTARI
+ * Added capability information record field width.
+ * Revision 1.3 2000/08/23 22:06:41Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes.
+ * Revision 1.21 2000/02/22 16:56:53 scotvold
+ * Changed CP_BURST_ADDR_LEN_WIDTH from 8 to 4.
+ * Added CP_EXT_SYS_PAR_RSVD_WIDTH to enable check for P_REV > 3
+ * fields in the Extended System Parameters message.
+ *
+ * Revision 1.2 2000/03/01 18:06:30Z rsattari
+ * Isotel release 2.3 updates.
+ * Revision 1.20 2000/01/17 22:27:19 scotvold
+ * TC Backward Compatibility changes.
+ *
+ * Revision 1.19 1999/10/19 23:58:31 gfrye
+ * Added field definitions for the two page messages that were made
+ * obsolete in IS-95B.
+ *
+ * Revision 1.18 1999/09/02 20:04:06 gfrye
+ * Added more field width definitions for rev 3+ originations and
+ * page responses.
+ *
+ * Revision 1.17 1999/06/04 23:27:26 scotvold
+ * New Message Transmitter.
+ *
+ * Revision 1.16 1999/05/19 20:17:58 mhayduk
+ * Added defines for MAX_NUM_ALT_SO and EC_THRESH.
+ *
+ * Revision 1.15 1999/05/19 16:56:26 mhayduk
+ * Added new field width definitions for origination/page
+ * response messages.
+ *
+ * Revision 1.14 1999/04/12 13:31:46 scotvold
+ * Added T53 HSPD support.
+ * Added 95B SCAM support.
+ * Added 95B GHDM support and consolidated with EHDM.
+ *
+ * Revision 1.13 1999/01/26 18:50:08 scotvold
+ * R1.2 API changes.
+ *
+ * Revision 1.12 1998/12/02 00:06:12 scotvold
+ * Added CP_SYS_TIME_REMAINDER_WIDTH field.
+ *
+ * Revision 1.11 1998/11/02 22:04:48 scotvold
+ * Added record field width defn.
+ *
+ * Revision 1.10 1998/10/23 19:54:34 mhayduk
+ * Changed NUM_INFO_REC_WIDTH to 4 from 3 for new IS-95B rev.
+ *
+ * Revision 1.9 1998/10/20 23:58:23 mhayduk
+ * Added T53 support.
+ *
+ * Revision 1.8 1998/08/29 01:21:45 mhayduk
+ * Corrected AUTHR size to be 18 instead of 26.
+ *
+ * Revision 1.7 1998/07/29 23:48:57 mhayduk
+ * Added accessor to overflow status.
+ *
+ * Revision 1.6 1998/07/18 00:40:13 scotvold
+ * Fixed Service Configuration record field defn.
+ *
+ * Revision 1.5 1998/05/28 15:03:07 mhayduk
+ * Added new defintions for num pilots width for extended channel
+ * assignments.
+ *
+ * Revision 1.4 1998/05/27 17:16:28 scotvold
+ * Updated for Release 0.05.
+ *
+ * Revision 1.3 1998/05/01 18:13:54 scotvold
+ * Update for release 0.04
+ *
+ * Revision 1.2 1998/03/30 23:26:03 mhayduk
+ * Release 0.03.
+ *
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+
+#ifndef _FIELD_H
+
+ #define _FIELD_H 1
+
+
+/****************************************************************************
+ * Common field width definitions
+ ****************************************************************************/
+
+/* Basic field width definitions */
+#define CP_UINT8_WIDTH 8
+#define CP_MSG_LENGTH_OFFSET 0
+
+/* Common field width definitions */
+#define CP_MSG_LEN_WIDTH 8
+#define CP_MSG_TYPE_WIDTH 8
+#define CP_CRC_16_WIDTH 16
+#define CP_CRC_30_WIDTH 30
+#define CP_ACK_SEQ_WIDTH 3
+#define CP_MSG_SEQ_WIDTH 3
+#define CP_ACK_REQ_WIDTH 1
+#define CP_ENCRYPTION_WIDTH 2
+#define CP_VALID_ACK_WIDTH 1
+#define CP_ACK_TYPE_WIDTH 3
+#define CP_ADDR_TYPE_WIDTH 3 /* Address type */
+#define CP_ADDR_LEN_WIDTH 4 /* Address length */
+#define CP_CONFIG_MSG_SEQ_WIDTH 6 /* Config message sequence number */
+
+#define CP_ARQ_FIELDS_WIDTH (CP_ACK_SEQ_WIDTH+CP_MSG_SEQ_WIDTH+CP_ACK_REQ_WIDTH+CP_VALID_ACK_WIDTH)
+#define CP_ADDR_FIELDS_WIDTH (CP_ADDR_TYPE_WIDTH+CP_ADDR_LEN_WIDTH+(CP_ADDR_LEN_WIDTH*8) )
+#define CP_RESERVED_1_WIDTH 1
+#define CP_RESERVED_2_WIDTH 2
+#define CP_ADD_RECORD_LEN_WIDTH_8 8
+
+/**********************************************************/
+/* P_REV_IN_USE >= 7 specific field width definitions */
+/**********************************************************/
+
+#define CP_EXT_MSG_LEN_WIDTH 16
+#define CP_ENC_FIELDS_INCL_WIDTH 1
+#define CP_SIG_ENCRYPT_MODE_WIDTH 3
+#define CP_MACI_INCL_WIDTH_IDLE 2
+#define CP_MACI_INCL_WIDTH_TRAFFIC 1
+#define CP_ENC_SEQ_WIDTH 8
+
+#define CP_EXT_MSG_LEN_INCL_WIDTH 1
+#define CP_8BIT_EXT_MSG_LEN_WIDTH 8
+#define CP_7BIT_MSG_LEN_WIDTH 7
+#define CP_15BIT_MSG_LEN_WIDTH 15
+
+#define CP_COMMON_FIELD_WIDTH \
+ (CP_MSG_LEN_WIDTH + \
+ CP_MSG_TYPE_WIDTH + \
+ CP_ACK_SEQ_WIDTH + \
+ CP_MSG_SEQ_WIDTH + \
+ CP_ACK_REQ_WIDTH + \
+ CP_ENCRYPTION_WIDTH)
+
+#define CP_MAX_TC_L3_MSG_WIDTH_NO_CRC 2024
+#define CP_MAX_TC_L3_MSG_BODY_WIDTH 2016
+#define CP_MAX_TC_L3_MSG_CONTENT_WIDTH \
+ (CP_MAX_TC_L3_MSG_BODY_WIDTH - \
+ CP_COMMON_FIELD_WIDTH)
+
+
+#define CP_ACK_SEQ_OFFSET_WIDTH \
+ (CP_MSG_LEN_WIDTH + \
+ CP_MSG_TYPE_WIDTH)
+
+#define CP_RECORD_TYPE_WIDTH 8
+#define CP_RECORD_LEN_WIDTH 8
+#define CP_RECORD_HEADER_WIDTH 16
+
+#define CP_USE_TIME_WIDTH 1
+#define CP_ACTION_TIME_WIDTH 6
+
+#define CP_ORDER_WIDTH 6
+#define CP_ADD_RECORD_LEN_WIDTH 3
+#define CP_ORDQ_WIDTH 8
+#define CP_RETRY_TYPE_WIDTH 3
+
+
+#define CP_P_REV_WIDTH 8 /* Protocol revision */
+
+#define CP_SYS_TIME_REMAINDER_WIDTH 4
+
+#define CP_BCN_WIDTH 3
+#define CP_TIME_OFFSET_WIDTH 10
+#define CP_REPEAT_TIME_OFFSET_WIDTH 5
+#define CP_MAX_EXT_BCAST_SDU_LEN 16
+
+
+/************************************************/
+/* Common Authentication field width definitions */
+/************************************************/
+#define CP_AUTH_MODE_WIDTH 2
+#define CP_RANDC_WIDTH 8
+#define CP_AUTHR_WIDTH 18
+#define CP_AUTHU_WIDTH 18
+#define CP_COUNT_WIDTH 6
+#define CP_RANDU_WIDTH 24 /* Random challenge data */
+#define CP_RAND_WIDTH 32
+#define CP_RANDBS_WIDTH 32
+
+/************************************************/
+/* Common Registration field width definitions */
+/************************************************/
+#define CP_SID_WIDTH 15 /* Home system ID */
+#define CP_NID_WIDTH 16 /* Network ID */
+#define CP_REG_ZONE_WIDTH 12 /* Registration zone */
+#define CP_TOTAL_ZONES_WIDTH 3 /* Total zones */
+#define CP_ZONE_TIMER_WIDTH 3 /* Zone Timer */
+#define CP_MULT_SIDS_WIDTH 1 /* Multiple SIDS */
+#define CP_MULT_NIDS_WIDTH 1 /* Multiple NIDS */
+#define CP_BASE_ID_WIDTH 16 /* Base station identification */
+#define CP_BASE_CLASS_WIDTH 4 /* Base station class */
+#define CP_PAGE_CHAN_WIDTH 3 /* Number of paging channels */
+#define CP_MAX_SLOT_CYCLE_WIDTH 3 /* Maximium slot cycle index */
+#define CP_HOME_REG_WIDTH 1 /* Home registration indicator */
+#define CP_FOR_SID_REG_WIDTH 1 /* SID roamer registration indicator */
+#define CP_FOR_NID_REG_WIDTH 1 /* NID roamer registration indicator */
+#define CP_POWER_UP_REG_WIDTH 1 /* Powerup registration indicator */
+#define CP_POWER_DOWN_REG_WIDTH 1 /* Powerdown registration indicator */
+#define CP_PARAMETER_REG_WIDTH 1 /* Parameter change registration indicator */
+#define CP_REG_PRD_WIDTH 7 /* Registration period */
+#define CP_BASE_LAT_WIDTH 22 /* Base station latitude */
+#define CP_BASE_LONG_WIDTH 23 /* Base station longitude */
+#define CP_REG_DIST_WIDTH 11 /* Registration distance */
+
+
+#define CP_QPCH_SUPPORTED_WIDTH 1
+#define CP_ENHANCED_RC_WIDTH 1
+#define CP_UZID_INCL_WIDTH 1
+#define CP_UZID_WIDTH 16
+#define CP_GEO_LOC_INCL_WIDTH 1
+#define CP_GEO_LOC_TYPE_WIDTH 3
+#define CP_OTD_SUPPORTED_WIDTH 1
+#define CP_STS_SUPPORTED_WIDTH 1
+#define CP_3X_CCH_SUPPORTED_WIDTH 1
+#define CP_WLL_INCL_WIDTH 1
+#define CP_WLL_DEVICE_TYPE_WIDTH 3
+#define CP_HOOK_STATUS_WIDTH 4
+#define CP_ENC_INFO_INCL_WIDTH 1
+#define CP_SIG_ENCRYPT_SUP_WIDTH 8
+#define CP_SIG_ENCRYPT_REQ_WIDTH 1
+#define CP_KEY_SEQ_NEW_INCL_WIDTH 1
+#define CP_KEY_SEQ_NEW_WIDTH 4
+#define CP_ENC_SEQ_H_WIDTH 24
+#define CP_ENC_SEQ_H_SIG_WIDTH 8
+#define CP_UI_ENCRYPT_SUP_WIDTH 8
+
+#define CP_MSG_INT_INFO_INCL_WIDTH 1
+#define CP_FOR_PDCH_SUPPORTED_WIDTH 1
+
+/************************************************/
+/* Common Handoff field width definitions */
+/************************************************/
+#define CP_SRCH_WIN_A_WIDTH 4 /* Active/Candidate search window size */
+#define CP_SRCH_WIN_N_WIDTH 4 /* Neighbor search window size */
+#define CP_SRCH_WIN_R_WIDTH 4 /* Remaining search window size */
+#define CP_NGHBR_MAX_AGE_WIDTH 4 /* Neighbor set maximum age */
+#define CP_RESCAN_WIDTH 1 /* Rescan indicator */
+#define CP_T_ADD_WIDTH 6 /* Pilot detection threshold */
+#define CP_T_DROP_WIDTH 6 /* Pilot drop threshold */
+#define CP_T_COMP_WIDTH 4 /* Active vs Cand. set comp. threshold */
+#define CP_T_TDROP_WIDTH 4 /* Drop timer value */
+#define CP_T_TDROP_RANGE_WIDTH 4 /* Drop timer range value */
+#define CP_NUM_OPT_MSG_BITS_WIDTH 4
+#define CP_APPIM_PERIOD_INDEX_WIDTH 3
+#define CP_GEN_OVHD_CYCLE_INDEX_WIDTH 3
+#define CP_ATIM_CYCLE_INDEX_WIDTH 3
+#define CP_LOC_UNC_H_WIDTH 4
+#define CP_HEIGHT_WIDTH 14
+#define CP_LOC_UNC_V_WIDTH 4
+#define CP_HDM_SEQ_WIDTH 2
+#define CP_PARM_INCL_WIDTH 1
+#define CP_SOFT_SLOPE_WIDTH 6
+#define CP_ADD_INTERCEPT_WIDTH 6
+#define CP_DROP_INTERCEPT_WIDTH 6
+#define CP_SCH_INCL_WIDTH 1
+#define CP_HOCM_NUM_PILOTS_WIDTH 4
+
+/************************************************/
+/* Common Neighbor field width definitions */
+/************************************************/
+#define CP_PILOT_INC_WIDTH 4 /* Pilot Inc */
+#define CP_NGHBR_CONFIG_WIDTH 3 /* Neighbor Config */
+
+/*R.Sattari, 7/5/00 */
+#define CP_NGHBR_CONFIG_PN_INCL_WIDTH 1
+#define CP_FREQ_FIELDS_INCL_WIDTH 1
+
+#define CP_NGHBR_PN_WIDTH 9 /* Neighbor PN */
+#define CP_SEARCH_PRIORITY_WIDTH 2 /* Search Priority */
+#define CP_FREQ_INCL_WIDTH 1 /* Frequency Included indicator */
+#define CP_NGHBR_BAND_WIDTH 5 /* Neighbor band */
+#define CP_NGHBR_FREQ_WIDTH 11 /* Neighbor frequency */
+#define CP_FREQ_INCL_OFFSET_WIDTH 14 /* Offset from start of rec to FREQ_INCL */
+
+/* R. Sattari, 9/20/00, changed from 3 to 2 */
+#define CP_NGHBR_SRCH_MODE_WIDTH 2
+
+/* R.Sattari, 6/30/00, added hopping pilot defenitions */
+#define CP_USE_TIMING_WIDTH 1
+#define CP_GLOBAL_TIMING_INCL_WIDTH 1
+#define CP_GLOBAL_TX_DURATION_WIDTH 4
+#define CP_GLOBAL_TX_PERIOD_WIDTH 7
+#define CP_TIMING_INCL_WIDTH 1
+#define CP_NGHBR_TX_OFFSET_WIDTH 7
+#define CP_NGHBR_TX_DURATION_WIDTH 4
+#define CP_NGHBR_TX_PERIOD_WIDTH 7
+
+#define CP_SRCH_OFFSET_INCL_WIDTH 1
+#define CP_ADD_PILOT_REC_INCL_WIDTH 1
+#define CP_NGHBR_PILOT_REC_TYPE_WIDTH 3
+#define CP_NGHBR_PILOT_REC_LEN_WIDTH 3
+#define CP_OTD_POWER_LEVEL_WIDTH 2
+#define CP_SRCH_OFFSET_NGHBR_WIDTH 3
+
+/* General Neighbor List Message (GNLM) fields */
+#define CP_RESQ_DELAY_TIME 6
+#define CP_RESQ_ALLOWED_TIME 6
+#define CP_RESQ_ATTEMPT_TIME 6
+#define CP_RESQ_CODE_CHAN 11
+#define CP_RESQ_QOF 2
+#define CP_RESQ_MIN_PERIOD 5
+#define CP_RESQ_NUM_TOT_TRANS_20MS 4
+#define CP_RESQ_NUM_TOT_TRANS_5MS 4
+#define CP_RESQ_NUM_PREAMBLE_RC1_RC2 3
+#define CP_RESQ_NUM_PREAMBLE 3
+#define CP_RESQ_POWER_DELTA 3
+
+/* R.Sattari 6/29/00, changed from 5 */
+#define CP_NUM_NGHBR_WIDTH 6
+
+#define CP_SRCH_WIN_NGHBR_WIDTH 4
+#define CP_NGHBR_LIST_UPDATE_FIXED_FIELD_WIDTH \
+ (CP_COMMON_FIELD_WIDTH + \
+ CP_PILOT_INC_WIDTH)
+
+/* Neighbor List Update Message */
+#define CP_SEARCH_WIN_NGHBR_WIDTH 4
+
+/* Universal Neighbor List Message */
+#define CP_NUM_RADIO_INTERFACE 4
+#define CP_RADIO_INTERFACE_TYPE 4
+#define CP_RADIO_INTERFACE_LEN 8
+#define CP_NGHBR_PILOT_REC_TYPE 3
+#define CP_NGHBR_PILOT_REC_TYPE_000_RESERVE 4
+#define CP_QOF 2
+#define CP_WALSH_LENGTH 3
+#define CP_AUX_PILOT_WALSH 6
+#define CP_SRCH_OFFSET_NGHBR 3
+#define CP_NGHBR_PILOT_REC_LEN 3
+/************************************************/
+/* Common CDMA physical field width definitions */
+/************************************************/
+#define CP_CDMA_FREQ_WIDTH 11 /* CDMA frequency */
+#define CP_PILOT_PN_WIDTH 9 /* Pilot PN */
+#define CP_LC_STATE_WIDTH 42 /* Long code state */
+#define CP_CODE_CHAN_WIDTH 8 /* Code Channel */
+#define CP_SLOT_CYCLE_INDEX_WIDTH 3
+#define CP_RETURN_CAUSE_WIDTH 4
+#define CP_SCM_WIDTH 8
+
+/************************************************/
+/* Common Analog physical field width definitions */
+/************************************************/
+#define CP_ANALOG_SYS_WIDTH 1 /* System indicator */
+#define CP_USE_ANALOG_SYS_WIDTH 1 /* Use analog system indicator */
+#define CP_VMAC_WIDTH 3 /* Voice MS Attenuation Code */
+#define CP_ANALOG_CHAN_WIDTH 11 /* Voice Channel Number */
+#define CP_SCC_WIDTH 2 /* SAT Color Code */
+#define CP_MEM_WIDTH 1 /* Message Encryption Mode */
+#define CP_AN_CHAN_TYPE_WIDTH 2 /* Analog Voice Channel type */
+#define CP_DSCC_MSB_WIDTH 1 /* Digital sup. color code */
+#define CP_BAND_CLASS_WIDTH 5
+/*For unfAHDM */
+#define CP_CON_REF_INCL_WIDTH 1
+
+/*R.Sattari, 7/5/00 */
+#define CP_NUM_ANALOG_NGHBR_WIDTH 3
+#define CP_ANALOG_BAND_CLASS_WIDTH 5
+#define CP_SYS_A_B_WIDTH 2
+
+/************************************************/
+/* Common Pilot Measurement field width definitions */
+/************************************************/
+#define CP_ACTIVE_PILOT_STRENGTH_WIDTH 6
+#define CP_FIRST_IS_ACTIVE_WIDTH 1
+#define CP_FIRST_IS_PTA_WIDTH 1
+#define CP_NUM_ADD_PILOTS_WIDTH 3
+#define CP_PILOT_STRENGTH_WIDTH 6
+#define CP_PILOT_PN_PHASE_WIDTH 15
+
+
+/************************************************/
+/* Common Address field width definitions */
+/************************************************/
+#define CP_DELETE_FOR_TMSI_WIDTH 1 /* Delete foreign TMSI */
+#define CP_USE_TMSI_WIDTH 1 /* Use TMSI indicator */
+#define CP_PREF_MSID_TYPE_WIDTH 2 /* Preferred MSID Type */
+#define CP_PREF_MSID_TYPE_P3_WIDTH 4 /* Preferred MSID for P_REV < 3 */
+#define CP_TMSI_ZONE_LEN_WIDTH 4 /* TMSI zone length */
+#define CP_TMSI_CODE_WIDTH 32 /* TMSI code */
+#define CP_TMSI_CODE_24_WIDTH 24 /* TMSI code - least 24 bits */
+#define CP_TMSI_CODE_16_WIDTH 16 /* TMSI code - least 16 bits */
+#define CP_TMSI_EXP_TIME_WIDTH 24 /* TMSI expiration time */
+#define CP_MSID_TYPE_WIDTH 3
+#define CP_MSID_LEN_WIDTH 4
+#define CP_ESN_WIDTH 32
+#define CP_IMSI_ADDRNUM_WIDTH 3
+#define CP_IMSI_ADDR_TYPE_WIDTH 3
+#define CP_IMSI_ADD_LEN_WIDTH 4
+#define CP_IMSI_S2_WIDTH 10
+#define CP_IMSI_S1_WIDTH 24
+#define CP_IMSI_S_WIDTH 34
+#define CP_MCC_WIDTH 10 /* Mobile country code */
+#define CP_IMSI_11_12_WIDTH 7 /* 11th and 12th digits of IMSI */
+#define CP_IMSI_CLASS_WIDTH 1
+#define CP_IMSI_CLASS0_TYPE_WIDTH 2
+#define CP_IMSI_CLASS1_TYPE_WIDTH 1
+#define CP_UIM_ID_WIDTH 32
+
+/*************************************************/
+/* Common Feature Notification width definitions */
+/*************************************************/
+#define CP_RELEASE_WIDTH 1 /* release indicator width */
+#define CP_AUTO_MSG_INTERVAL 3
+#define CP_BROADCAST_GPS_ASST 1
+#define CP_CS_SUPPORTED 1
+#define CP_SIG_ENCRYPT_SUP 8
+#define CP_UI_ENCRYPT_SUP 8
+#define CP_STORE_KEY 1
+#define CP_MS_INIT_POS_LOC_SUP_IND 1
+#define CP_MSG_INTEGRITY_SUP 1
+#define CP_SIG_INTEGRITY_SUP_INCL 1
+#define CP_SIG_INTEGRITY_SUP 8
+
+/************************************************/
+/* Common Service Redirection field width definitions */
+/************************************************/
+#define CP_RETURN_IF_FAIL_WIDTH 1
+#define CP_DELETE_TMSI_WIDTH 1
+#define CP_REDIRECT_TYPE_WIDTH 1
+#define CP_SERVICE_REDIRECTION_RSVD_WIDTH 4
+
+/* Service Redirection Analog Record */
+#define CP_EXPECTED_SID_WIDTH 15
+#define CP_IGNORE_CDMA_WIDTH 1
+#define CP_SYS_ORDERING_WIDTH 3
+#define CP_MAX_REDIRECT_DELAY_WIDTH 5 /* Maximum delay upon redirection */
+
+#define CP_SRD_REDIRECTION_ANALOG_RECORD_WIDTH \
+ (CP_EXPECTED_SID_WIDTH + \
+ CP_IGNORE_CDMA_WIDTH + \
+ CP_SYS_ORDERING_WIDTH + \
+ CP_MAX_REDIRECT_DELAY_WIDTH)
+
+#if ((CP_SRD_REDIRECTION_ANALOG_RECORD_WIDTH%8) != 0)
+#error "CP_SRD_REDIRECTION_ANALOG_RECORD_WIDTH \
+ not an integral number of octets"
+#endif
+
+/* Service Redirection CDMA Record */
+#define CP_EXPECTED_NID_WIDTH 16
+#define CP_SRD_CDMA_REC_RSVD_WIDTH 4
+#define CP_NUM_CHANS_WIDTH 4
+#define CP_CDMA_CHAN_WIDTH 11
+#define CP_SRD_REDIRECTION_CDMA_FIXED_RECORD_WIDTH \
+ (CP_BAND_CLASS_WIDTH + \
+ CP_EXPECTED_SID_WIDTH + \
+ CP_EXPECTED_NID_WIDTH + \
+ CP_SRD_CDMA_REC_RSVD_WIDTH + \
+ CP_NUM_CHANS_WIDTH)
+#define CP_REDIRECT_ACCOLC_WIDTH 16 /* Access overload classes */
+
+/* Extend Global Service Redirect Message */
+#define CP_REDIRECT_P_MIN 8
+#define CP_REDIRECT_P_MAX 8
+#define CP_REC_TYPE_2_RESERVED 4
+/************************************************/
+/* Common DTMF field width definitions */
+/************************************************/
+#define CP_NUM_DIGITS_WIDTH 8
+#define CP_DTMF_ON_LENGTH_WIDTH 3
+#define CP_DTMF_OFF_LENGTH_WIDTH 3
+#define CP_BURST_DTMF_DIGIT_WIDTH 4
+#define CP_RTC_STATUS_RSVD_WIDTH 7
+
+/************************************************/
+/* Common FTC Power Control field width definitions */
+/************************************************/
+#define CP_PWR_REP_THRESH_WIDTH 5
+#define CP_PWR_REP_FRAMES_WIDTH 4
+#define CP_PWR_THRESH_ENABLE_WIDTH 1
+#define CP_PWR_PERIOD_ENABLE_WIDTH 1
+#define CP_PWR_REP_DELAY_WIDTH 5
+
+/************************************************/
+/* Common Service Negotiation field width definitions */
+/************************************************/
+/* Service Request Message */
+#define CP_SERV_REQ_SEQ_WIDTH 3
+#define CP_REQ_PURPOSE_WIDTH 4
+
+/* Service Response Message */
+#define CP_RESP_PURPOSE_WIDTH 4
+#define CP_BAND_SUB_CLASS_WIDTH 8
+
+/* Service Connect Message */
+#define CP_FTC_SERV_CON_SEQ_WIDTH 3
+#define CP_FTC_SERV_CONNECT_MSG_RSVD_WIDTH 5
+
+#define CP_CC_INFO_INCL_WIDTH 1
+#define CP_NUM_CALLS_ASSIGN_WIDTH 8
+#define CP_RESPONSE_IND_WIDTH 1
+#define CP_TAG_WIDTH 4
+#define CP_STATUS_RESPONSE_RSVD_WIDTH 4
+
+/* Service Option Control Message */
+#define CP_SERV_OPT_CTL_REC_LEN_WIDTH 8
+/* Service Option Control Type Specific Fields */
+#define CP_SO_CTL_REC_VOICE_LEN 1
+#define CP_SO_CTL_RATE_REDUC_WIDTH 3
+#define CP_SO_CTL_TYPE_SPECIFIC_RSVD_WIDTH 3
+#define CP_SO_CTL_MOB_TO_MOB_WIDTH 1
+#define CP_SO_CTL_INIT_CODEC_WIDTH 1
+
+/* Service Connect Completion Message */
+#define CP_RTC_SERV_CON_SEQ_WIDTH 3
+#define CP_SERVICE_CON_COMPLETION_RSVD1_WIDTH 1
+#define CP_SERVICE_CON_COMPLETION_RSVD_WIDTH 3
+
+
+/* Service Option Control Message */
+#define CP_SERV_OPT_CTL_RSVD_WIDTH 7
+
+/* Radio Configuration Parameter Message */
+
+#define CP_FTC_FOR_FCH_ACK_MASK_RL_BLANKING_WIDTH 16
+#define CP_FTC_FOR_FCH_ACK_MASK_NO_RL_BLANKING_WIDTH 16
+
+#define CP_FTC_REV_FCH_ACK_MASK_WIDTH 16
+
+#define CP_FTC_FOR_SCH_ACK_MASK_RL_BLANKING_WIDTH 16
+#define CP_FTC_FOR_SCH_ACK_MASK_NO_RL_BLANKING_WIDTH 16
+#define CP_REV_SCH_ACK_MASK_WIDTH 16
+
+#define CP_FTC_FOR_N2M_IND_WIDTH 3
+#define CP_FTC_FPC_MODE_WIDTH 3
+#define CP_FTC_RPC_MODE_WIDTH 2
+#define CP_FTC_POWER_CNTL_STEP_WIDTH 3
+#define CP_FTC_FOR_FCH_BLANKING_DUTYCYCLE_WIDTH 3
+#define CP_FTC_REV_FCH_BLANKING_DUTYCYCLE_WIDTH 3
+#define CP_FTC_REV_ACKCH_GAIN_ADJ_ACS1_WIDTH 7
+#define CP_FTC_REV_ACKCH_GAIN_ADJ_ACS2PLUS_WIDTH 7
+
+#define CP_NUM_RC_PARAM_RECORDS_WIDTH 3
+#define CP_QOF_SET_IN_USE_WIDTH 3
+#define CP_REV_SCH0_ACK_CH_WALSH_WIDTH 7
+#define CP_REV_SCH0_ACK_BIT_WIDTH 5
+#define CP_REV_SCH1_ACK_BIT_WALSH_WIDTH 7
+#define CP_REV_SCH1_ACK_BIT_WIDTH 5
+
+/*#define CP_FOR_FCH_CCSH_INTERLEAVER_TYPE_WIDTH 1 */
+
+
+/************************************************/
+/* PDCH field width definitions */
+/************************************************/
+#define CP_SRID_RESTORE_WIDTH 3
+#define CP_PLCM_TYPE_WIDTH 4
+#define CP_EXT_CH_IND_WIDTH 5
+#define CP_FULL_CI_FEEDBACK_IND 1
+#define CP_REV_CQICH_FRAME_OFFSET_WIDTH 4
+#define CP_REV_CQICH_REPS_WIDTH 2
+#define CP_REV_ACKCH_REPS_WIDTH 2
+#define CP_PDCH_RC_WIDTH 5
+#define CP_PDCH_GROUP_IND_INCL 1
+#define CP_FOR_PDCH_PARAMS_INCL 1
+#define CP_NUM_SOFT_SWITCHING_FRAMES_WIDTH 4
+#define CP_NUM_SOFTER_SWITCHING_FRAMES_WIDTH 4
+#define CP_NUM_SOFT_SWITCHING_FRAMES_CHM_WIDTH 4
+#define CP_NUM_SOFTER_SWITCHING_FRAMES_CHM_WIDTH 4
+#define CP_NUM_SOFT_SWITCHING_SLOTS_WIDTH 2
+#define CP_NUM_SOFTER_SWITCHING_SLOTS_WIDTH 2
+#define CP_NUM_SOFT_SWITCHING_SLOTS_CHM_WIDTH 2
+#define CP_NUM_SOFTER_SWITCHING_SLOTS_CHM_WIDTH 2
+#define CP_PDCH_SOFT_SWITCHING_DELAY_WIDTH 8
+#define CP_PDCH_SOFTER_SWITCHING_DELAY_WIDTH 8
+#define CP_FOR_PDCH_INCL 1
+#define CP_WALSH_TABLE_ID_WIDTH 3
+#define CP_NUM_PDCCH_WIDTH 3
+#define CP_FOR_PDCCH_WALSH_WIDTH 6
+#define CP_MAC_ID_WIDTH 8
+#define CP_REV_CQICH_COVER_WIDTH 3
+#define CP_FOR_CPCCH_WALSH_WIDTH 7
+#define CP_FOR_CPCSCH_WIDTH 5
+#define CP_PDCH_GROUP_IND 1
+#define CP_CQICH_ATT_ADJ_GAIN_WIDTH 8
+#define CP_RLGAIN_ACKCQICH_PILOT_WIDTH 6
+
+
+
+/************************************************/
+/* Sync Channel Message field width definitions */
+/************************************************/
+#define CP_SYS_TIME_WIDTH 36 /* System time */
+#define CP_LP_SEC_WIDTH 8 /* Leap seconds */
+#define CP_LTM_OFF_WIDTH 6 /* Local time offset */
+#define CP_DAYLT_WIDTH 1 /* Daylight savings time indicator */
+#define CP_PRAT_WIDTH 2 /* Page channel rate */
+/* BCY 11/15/00 */
+#define CP_EXT_CDMA_FREQ 11
+#define CP_SR1_CDMA_FREQ_NON_TD 11
+#define CP_SR1_BRAT_NON_TD 2
+#define CP_SR1_CRAT_NON_TD 1
+#define CP_BCCH_CODE_CHAN_NON_TD 6
+#define CP_SR1_CDMA_FREQ_TD 11
+#define CP_SR1_BRAT_TD 2
+#define CP_SR1_CRAT_TD 1
+#define CP_BCCH_CODE_CHAN_TD 6
+#define CP_SR1_TD_MODE 2
+#define CP_SR1_TD_POWER_LEVEL 2
+#define CP_SR3_CENTER_FREQ 11
+#define CP_SR3_BRAT 2
+#define CP_SR3_BCCH_CODE_CHAN 7
+#define CP_SR3_PRIMARY_PILOT 2
+#define CP_SR3_PILOT_POWER1 3
+#define CP_SR3_PILOT_POWER2 3
+#define CP_DS_BLOB 24
+
+
+
+/************************************************/
+/* Page Channel Message field width definitions */
+/************************************************/
+
+ /* Offsets into messages */
+#define CP_PILOT_PN_OFFSET \
+ (CP_MSG_LEN_WIDTH + \
+ CP_MSG_TYPE_WIDTH )
+ /* bit offset to PILOT_PN of overhead msgs */
+#define CP_CONFIG_MSG_SEQ_OFFSET \
+ (CP_PILOT_PN_OFFSET + \
+ CP_PILOT_PN_WIDTH )
+ /* bit offset to CONFIG_MSG_SEQ of overhead msgs */
+#define CP_ACC_MSG_SEQ_OFFSET \
+ (CP_PILOT_PN_OFFSET + \
+ CP_PILOT_PN_WIDTH )
+ /* bit offset to ACC_MSG_SEQ of access par msgs */
+#define CP_IDLE_REC_OFFSET \
+ (CP_CONFIG_MSG_SEQ_OFFSET + \
+ CP_CONFIG_MSG_SEQ_WIDTH + \
+ CP_PILOT_INC )
+ /* bit offset to Idle record in Nghbr msg */
+#define CP_CDMA_FREQ_OFFSET \
+ (CP_CONFIG_MSG_SEQ_OFFSET + \
+ CP_CONFIG_MSG_SEQ_WIDTH )
+ /* bit offset to CDMA_FREQ of CDMA Ch List */
+
+
+ /* Fields contained in System Parameters Message */
+#define CP_EXT_SYS_PARAMETER_WIDTH 1 /* Ext. System Pars Message indicator */
+#define CP_EXT_NGHBR_LIST_WIDTH 1 /* Ext. Neighbor List Message indicator*/
+#define CP_GEN_NGHBR_LIST_WIDTH 1 /* Gen. Neighbor List Message indicator*/
+#define CP_GLOBAL_REDIRECT_WIDTH 1 /* Global Svc Redirect Message indicator*/
+
+ /* Fields contained in Access Parameters Message */
+#define CP_ACC_MSG_SEQ_WIDTH 6 /* Access sequence number */
+#define CP_ACC_CHAN_WIDTH 5 /* Number of access channels */
+#define CP_NOM_PWR_WIDTH 4 /* Nominal transmit power offset */
+#define CP_INIT_PWR_WIDTH 5 /* Initial power offset for access */
+#define CP_PWR_STEP_WIDTH 3 /* Power increment */
+#define CP_NUM_STEP_WIDTH 4 /* Number of access probes */
+#define CP_MAX_CAP_SZ_WIDTH 3 /* Max access ch message capsule size */
+#define CP_PAM_SZ_WIDTH 4 /* Access Channel preamble length */
+#define CP_PSIST_09_WIDTH 6 /* Persistence val for access ovld 0-9 */
+#define CP_PSIST_10_WIDTH 3 /* Persistence val for access ovld 10 */
+#define CP_PSIST_11_WIDTH 3 /* Persistence val for access ovld 11 */
+#define CP_PSIST_12_WIDTH 3 /* Persistence val for access ovld 12 */
+#define CP_PSIST_13_WIDTH 3 /* Persistence val for access ovld 12 */
+#define CP_PSIST_14_WIDTH 3 /* Persistence val for access ovld 13 */
+#define CP_PSIST_15_WIDTH 3 /* Persistence val for access ovld 14 */
+#define CP_MSG_PSIST_WIDTH 3 /* Persistence modifier for message tx */
+#define CP_REG_PSIST_WIDTH 3 /* Persistence modifier for non-reg tx */
+#define CP_PROBE_PN_RAN_WIDTH 4 /* Time randomization for probes */
+#define CP_ACC_TMO_WIDTH 4 /* Acknowledgement timeout */
+#define CP_PROBE_BKOFF_WIDTH 4 /* Probe backoff range */
+#define CP_BKOFF_WIDTH 4 /* Probe sequence backoff range */
+#define CP_MAX_REQ_SEQ_WIDTH 4 /* Max access probe seqs for req attempt*/
+#define CP_MAX_RSP_SEQ_WIDTH 4 /* Max access probe seqs for rsp attempt*/
+#define CP_NOM_PWR_EXT_WIDTH 1 /* Extended nominal transmit power */
+
+
+/**************************************************/
+/* FCCCH and BCCH Message field width definitions */
+/**************************************************/
+
+/* Offsets into FCCCH and BCCH messages, when EXT_MSG_LENGTH_IND field is set. */
+
+#define CP_ACK_SEQ_EXT_OFFSET_WIDTH \
+ (CP_EXT_MSG_LEN_WIDTH + \
+ CP_MSG_TYPE_WIDTH)
+
+#define CP_PILOT_PN_EXT_OFFSET \
+ (CP_EXT_MSG_LEN_WIDTH + \
+ CP_MSG_TYPE_WIDTH )
+ /* bit offset to PILOT_PN of overhead msgs */
+
+#define CP_CONFIG_MSG_SEQ_EXT_OFFSET \
+ (CP_PILOT_PN_EXT_OFFSET + \
+ CP_PILOT_PN_WIDTH )
+ /* bit offset to CONFIG_MSG_SEQ of overhead msgs */
+
+
+/* Enhanced Access Parameters Message (EAPM) */
+#define CP_PSIST_PARMS_LEN 5
+#define CP_PSIST_EMG 3
+#define CP_MSG_PSIST_EACH 3
+#define CP_REG_PSIST_EACH 3
+#define CP_EAPM_RESERVED 7
+#define CP_LAC_PARMS_LEN 4
+#define CP_EAPM_ACC_TMO 6
+#define CP_NUM_MODE_SELECTION_ENTRIES 3
+#define CP_ACCESS_MODE 3
+#define CP_ACCESS_MODE_MIN_DURATION 10
+#define CP_ACCESS_MODE_MAX_DURATION 10
+
+#define CP_RLGAIN_COMMON_PILOT 6
+#define CP_IC_THRESH 4
+#define CP_IC_MAX 4
+#define CP_NUM_MODE_PARM_REC 3
+
+#define CP_EACH_PARM_REC_LEN 4
+#define CP_APPLICABLE_MODES 8
+#define CP_EACH_NOM_PWR 5
+#define CP_EACH_INIT_PWR 5
+#define CP_EACH_PWR_STEP 3
+#define CP_EACH_NUM_STEP 4
+
+#define CP_EACH_PREAMBLE_NUM_FRAC 4
+#define CP_EACH_PREAMBLE_FRAC_DURATION 4
+#define CP_EACH_PREAMBLE_OFF_DURATION 4
+#define CP_EACH_PREAMBLE_ADD_DURATION 4
+#define CP_EACH_ACCESS_THRESH 6
+#define CP_EACH_PROBE_BKOFF 4
+#define CP_EACH_BKOFF 4
+#define CP_EACH_SLOT 6
+#define CP_EACH_SLOT_OFFSET1 6
+#define CP_EACH_SLOT_OFFSET2 6
+
+#define CP_BA_PARMS_LEN 3
+#define CP_NUM_EACH_BA 5
+#define CP_EACH_BA_RATES_SUPPORTED 8
+
+#define CP_RA_PARMS_LEN 5
+#define CP_NUM_EACH_RA 5
+#define CP_NUM_CACH 3
+#define CP_CACH_CODE_RATE 1
+
+#define CP_CACH_CODE_CHAN 8
+
+#define CP_NUM_RCCCH 5
+#define CP_RCCCH_RATES_SUPPORTED 8
+#define CP_RCCCH_PREAMBLE_NUM_FRAC 4
+#define CP_RCCCH_PREAMBLE_FRAC_DURATION 4
+#define CP_RCCCH_PREAMBLE_OFF_DURATION 4
+#define CP_RCCCH_PREAMBLE_ADD_DURATION 4
+#define CP_RCCCH_SLOT 6
+#define CP_RCCCH_SLOT_OFFSET1 6
+#define CP_RCCCH_SLOT_OFFSET2 6
+#define CP_RCCCH_NOM_PWR 5
+#define CP_RCCCH_INIT_PWR 5
+#define CP_RA_PC_DELAY 5
+#define CP_EACAM_CACH_DELAY 4
+#define CP_RCCCH_HO_THRESH 4
+#define CP_EACAM_PCCAM_DELAY 5
+#define CP_NUM_CPCCH 2
+#define CP_CPCCH_RATE 2
+#define CP_CPCCH_CODE_CHAN 8
+#define CP_NUM_PCSCH_RA 7
+
+#define CP_RA_CPCCH_STEP_UP 2 /* Only for PREV7 */
+#define CP_RA_CPCCH_STEP_DN 2 /* Only for PREV7 */
+
+#define CP_NUM_ACCT_SO 4
+#define CP_ACCT_AOC_BITMAP1 5
+#define CP_ACCT_SO 16
+#define CP_NUM_ACCT_SO_GRP 3
+#define CP_ACCT_AOC_BITMAP2 5
+#define CP_ACCT_SO_GRP 5
+
+/* Fields contained in (Extended) Channel Assignment Message */
+#define CP_ASSIGN_MODE_WIDTH 3 /* Assignment Mode */
+#define CP_ADD_REC_LEN_WIDTH 8 /* Additional record length */
+#define CP_RESPOND_WIDTH 1 /* Respond on ACC indicator */
+#define CP_DEFAULT_CONFIG_WIDTH 3 /* Default Configuration */
+#define CP_BYPASS_ALERT_ANSWER_WIDTH 1 /* Bypass Indicator */
+#define CP_GRANTED_MODE_WIDTH 2 /* Granted Mode */
+#define CP_FRAME_OFFSET_WIDTH 4 /* Traffic Channel frame offset */
+#define CP_EXT_TC_NUM_PILOTS_WIDTH 3 /* Number of Pilots width */
+
+/* R.Sattari 6/28/00, changed from 5 */
+#define CP_EXT_PC_NUM_PILOTS_WIDTH 6 /* Number of Pilots width */
+
+#define CP_EXT_TC_NUM_PILOTS 8 /* Number of Pilots in TC Assignment */
+
+/* R.Sattari 6/28/00, changed from 32 */
+#define CP_EXT_PCH_NUM_PILOTS 64 /* Number of Pilots in PCH Assignment */
+
+#define CP_FOR_RC 5
+#define CP_REV_RC 5
+#define CP_FPC_INIT_SETPT 8
+#define CP_FPC_SUBCHAN_GAIN 5
+#define CP_RLGAIN_ADJ 4
+#define CP_FPC_FER 5
+#define CP_FPC_MIN_SETPT 8
+#define CP_FPC_MAX_SETPT 8
+#define CP_REV_FCH_GATING_MODE 1
+#define CP_REV_PWR_CNTL_DELAY_INCL 1
+#define CP_REV_PWR_CNTL_DELAY 2
+#define CP_SIG_ENCRYPT_MODE 3
+#define CP_KEY_SIZE 3
+#define CP_USE_NEW_KEY 1
+#define CP_KEY_SEQ 4
+#define CP_CH_IND 2
+#define CP_CH_RECORD_LEN 5
+#define CP_PILOT_RECORD_TYPE 3
+#define CP_CH_IND_01_REC_LEN 3
+#define CP_CODE_CHAN_FCH 11
+#define CP_QOF_MASK_ID_FCH 2
+#define CP_FPC_PRI_CHAN 1
+#define CP_1XRL_FREQ_OFFSET 2
+#define CP_C_SIG_ENCRYPT_MODE_INCL_WIDTH 1
+#define CP_CHANGE_KEYS_WIDTH 1
+#define CP_USE_UAK_WIDTH 1
+
+#define CP_PLCM_TYPE_INCL 1
+#define CP_PLCM_TYPE 4
+#define CP_PLCM_39 39
+
+/* Fields contained in TMSI Assignment Message */
+#define CP_TMSI_RSVD_WIDTH 5
+
+/* General Page Message field IE widths contained in records */
+#define CP_SPECIAL_SERVICE_WIDTH 1
+#define CP_CLASS_WIDTH 2
+#define CP_SUBCLASS_WIDTH 2
+#define CP_SERVICE_OPTION_WIDTH 16
+#define CP_DONE_FIELD_WIDTH 1
+#define CP_SUBCLASS_EXT_WIDTH 2
+/* Field definitions for Page Message and
+ * Slotted Page Message
+ * (NOTE: These messages obsolete in IS-95B
+ */
+#define CP_PAGE_REC_OFFSET 28
+#define CP_MORE_PAGES_WIDTH 1
+#define CP_EXT_ADDR_WIDTH 1
+
+/* Bit offsets into General Page Message */
+#define CP_GP_CFG_MSG_SEQ_OFFSET 16
+#define CP_GP_ACC_MSG_SEQ_OFFSET 22
+#define CP_CLASS_0_DONE_OFFSET 28
+#define CP_CLASS_1_DONE_OFFSET 29
+#define CP_TMSI_DONE_OFFSET 30
+#define CP_ORDERED_TMSIS_OFFSET 31
+#define CP_BROADCAST_DONE_OFFSET 32
+#define CP_ADD_LENGTH_OFFSET 37
+#define CP_GP_REC_OFFSET 40
+/* EXT msg length will make offset 8 bits longer*/
+#define CP_GP_CFG_MSG_SEQ_EXT_OFFSET CP_GP_CFG_MSG_SEQ_OFFSET + 8
+
+/* Fields contained in Extended System Parameters Message */
+#define CP_BCAST_INDEX_WIDTH 3
+#define CP_IMSI_T_SUPPORTED_WIDTH 1
+#define CP_PACKET_ZONE_ID_WIDTH 8
+#define CP_MAX_NUM_ALT_SO_WIDTH 3
+#define CP_EC_THRESH_WIDTH 5
+#define CP_EC_IO_THRESH_WIDTH 5
+#define CP_INDICATION_WIDTH 1
+#define CP_MAX_NUM_PROBE_HO_WIDTH 3
+#define CP_EXT_SYS_PAR_RSVD_WIDTH 7
+
+/* R.Sattari 6/28/00, changed from 5 */
+#define CP_NGHBR_SET_SIZE_WIDTH 6
+#define CP_BROADCAT_GPS_ASST 1
+
+/* FCCCH Parameters */
+#define CP_NUM_FCCCH 3
+#define CP_FCCCH_RATE 3
+#define CP_FCCCH_CODE_RATE 1
+#define CP_FCCCH_CODE_CHAN 8
+
+/* Broadcast Index Parameters */
+#define CP_BCAST_INDEX 3
+#define CP_NUM_BCCH_BCAST 3
+#define CP_BCCH_CODE_CHAN 7
+#define CP_BRAT 2
+#define CP_BCCH_CODE_RATE 1
+
+/* Quick Paging Channel Parameters */
+#define CP_NUM_QPCH 2
+#define CP_QPCH_RATE 1
+#define CP_QPCH_POWER_LEVEL_PAGE 3
+#define CP_QPCH_CCI_SUPPORTED 1
+#define CP_QPCH_POWER_LEVEL_CONFIG 3
+#define CP_QPCH_CODE_CHAN 8
+#define CP_QPCH_POWER_LEVEL_BCAST 3
+
+/* Reverse Power Control Parameters */
+#define CP_RLGAIN_TRAFFIC_PILOT 6
+#define CP_REV_POWER_CNTRL_DELAY 2
+#define CP_NUM_OPT_MSG 4
+
+#define CP_ALT_BAND_CLASS 5
+#define CP_CDMA_OFF_TIME_REP_THRESHOLD_UNIT 1
+#define CP_CDMA_OFF_TIME_REP_THRESHOLD 3
+/* Extended CDMA Channel List Parameters */
+#define CP_RC_QPCH_HASH_IND 1
+#define CP_TD_MODE 2
+#define CP_TD_HASH_IND 1
+#define CP_TD_POWER_LEVEL 2
+
+/**************************************************/
+/* Access Channel Message field width definitions */
+/**************************************************/
+
+/* fields used in general */
+#define CP_REG_TYPE_WIDTH 4
+#define CP_MOB_TERM_WIDTH 1
+#define CP_PILOTS_RESERVED_WIDTH 1
+#define CP_LAC_LENGTH_WIDTH 5
+
+#define CP_QOF_WIDTH 2
+#define CP_WALSH_LENGTH_WIDTH 3
+
+
+
+/* Fields used by Origination message */
+#define CP_REQUEST_MODE_WIDTH 3
+#define CP_PM_WIDTH 1
+#define CP_NAR_AN_CAP_WIDTH 1
+#define CP_DIGIT_MODE_WIDTH 1
+#define CP_NUMBER_TYPE_WIDTH 3
+#define CP_NUMBER_PLAN_WIDTH 4
+#define CP_MORE_FIELDS_WIDTH 1
+#define CP_NUM_ORIG_FIELDS_WIDTH 8
+#define CP_CHARI_4_WIDTH 4
+#define CP_CHARI_8_WIDTH 8
+#define CP_PACA_REORIG_WIDTH 1
+#define CP_MORE_RECORDS_WIDTH 1
+#define CP_ENCRYPTION_SUPPORTED_WIDTH 4
+#define CP_NUM_DIGITS_FIELDS_WIDTH 8
+#define CP_PACA_SUPPORTED_WIDTH 1
+#define CP_NUM_ALT_SO_WIDTH 3
+
+#define CP_DRS_WIDTH 1
+#define CP_CH_IND_WIDTH 2
+#define CP_SR_ID_WIDTH 3
+#define CP_FOR_RC_PREF_WIDTH 5
+#define CP_REV_RC_PREF_WIDTH 5
+#define CP_FCH_SUPPORTED_WIDTH 1
+#define CP_FCH_FRAME_SIZE_WIDTH 1
+
+#define CP_RC_MAP_WIDTH 3
+#define CP_RC_MAP_LEN_WIDTH 3
+
+#define CP_FOR_FCH_LEN_WIDTH CP_RC_MAP_LEN_WIDTH
+#define CP_FOR_FCH_RC_MAP_WIDTH CP_RC_MAP_WIDTH
+#define CP_REV_FCH_LEN_WIDTH CP_RC_MAP_LEN_WIDTH
+#define CP_REV_FCH_RC_MAP_WIDTH CP_RC_MAP_WIDTH
+
+#define CP_DCCH_SUPPORTED_WIDTH 1
+#define CP_DCCH_FRAME_SIZE_WIDTH 2
+#define CP_FOR_DCCH_LEN_WIDTH 3
+#define CP_FOR_DCCH_RC_MAP_WIDTH 3
+#define CP_REV_DCCH_LEN_WIDTH 3
+#define CP_REV_DCCH_RC_MAP_WIDTH 3
+
+#define CP_REV_FCH_GATING_REQ_WIDTH 1
+#define CP_ORIG_REASON_WIDTH 1
+#define CP_ORIG_COUNT_WIDTH 2
+#define CP_GLOBAL_EMERGENCY_CALL_WIDTH 1
+#define CP_MS_INIT_POS_LOC_IND_WIDTH 1
+#define CP_QOS_PARMS_INCL_WIDTH 1
+#define CP_QOS_PARMS_LEN_WIDTH 5
+#define CP_QOS_RESERVED_WIDTH 7
+#define CP_UI_ENCRYPT_REG_WIDTH 1
+#define CP_SYNC_ID_INCL_WIDTH 1
+#define CP_SYNC_ID_WIDTH 16
+#define CP_PREV_SID_INCL_WIDTH 1
+#define CP_PREV_SID_WIDTH 15
+#define CP_PREV_NID_INCL_WIDTH 1
+#define CP_PREV_NID_WIDTH 16
+#define CP_PREV_PZID_INCL_WIDTH 1
+#define CP_PREV_PZID_WIDTH 8
+#define CP_SO_BITMAP_IND_WIDTH 2
+#define CP_SO_GROUP_NUM_WIDTH 5
+#define CP_SO_BITMAP_WIDTH 8
+#define CP_MSG_INTEGRITY_SUP_INCL_WIDTH 1
+#define CP_NUM_AUX_PILOTS_WIDTH 3
+
+#define CP_SDB_DESIRED_ONLY_WIDTH 1
+#define CP_ALT_BAND_CLASS_SUP_WIDTH 1
+
+#define CP_ACK_DELAY_WIDTH 1
+#define CP_NUM_ARQ_CHAN_WIDTH 2
+#define CP_FOR_PDCH_LEN_WIDTH 2
+#define CP_FOR_PDCH_RC_MAP_WIDTH 3
+#define CP_CH_CONFIG_SUP_MAP_LEN_WIDTH 2
+#define CP_CH_CONFIG_SUP_MAP_WIDTH 6
+
+/**************************************************/
+/* Access Channel Message field definitions */
+/**************************************************/
+
+#define MSG_TYPE_PD_00 0x00
+#define MSG_TYPE_PD_01 0x40
+ #define MSG_TYPE_PD_10 0x80
+
+
+/************************************************/
+/* General Extension message field definitions */
+/************************************************/
+#define CP_NUM_GE_REC_WIDTH 8
+#define CP_GE_REC_TYPE_WIDTH 8
+#define CP_GE_REC_LEN_WIDTH 8
+
+#define CP_FOR_SCH_DELAYED_ACK_MASK_WIDTH 3
+#define CP_REV_SCH_DELAYED_ACK_MASK_WIDTH 3
+
+/***********************************************************/
+/* Forward Traffic Channel Message field width definitions */
+/***********************************************************/
+
+
+/* Data Burst Message */
+#define CP_BURST_ADDR_LEN_WIDTH 4
+#define CP_MSG_NUMBER_WIDTH 8
+#define CP_BURST_TYPE_WIDTH 6
+#define CP_NUM_MSGS_WIDTH 8
+#define CP_DATA_BURST_NUM_FIELDS_WIDTH 8
+#define CP_DATA_BURST_CHAR_WIDTH 8
+
+
+/* In-Traffic System Parameters Message */
+#define CP_EXTENSION_WIDTH 1
+
+
+
+/* Retrieve Parameters Message */
+#define CP_PARAMETER_ID_WIDTH 16
+#define CP_RP_RSVD_FIELD_WIDTH 7
+#define CP_RETRIEVE_PARAMETERS_FIXED_FIELD_WIDTH \
+ (CP_COMMON_FIELD_WIDTH + \
+ CP_RP_RSVD_FIELD_WIDTH)
+
+
+/* SSD Update Message */
+#define CP_RANDSSD_LEN 7
+
+/* Status Request Message */
+#define CP_QUAL_INFO_TYPE_WIDTH 8
+#define CP_QUAL_INFO_LEN_WIDTH 3
+#define CP_OP_MODE_WIDTH 8
+#define CP_SR_RSVD_FIELD_WIDTH 3
+#define CP_NUM_FIELDS_WIDTH 4
+
+/* Extended Handoff Direction Message */
+#define CP_SEARCH_INCLUDED_WIDTH 1
+#define CP_HARD_INCLUDED_WIDTH 1
+#define CP_PRIVATE_LCM_WIDTH 1
+#define CP_RESET_L2_WIDTH 1
+#define CP_RESET_FPC_WIDTH 1
+#define CP_SERV_NEG_TYPE_WIDTH 1
+#define CP_NUM_PREAMBLE_WIDTH 3
+#define CP_EXT_HO_DIR_ADD_LENGTH_WIDTH 3
+#define CP_PWR_COMB_IND_WIDTH 1
+#define CP_FOR_FUND_CODE_CHAN_WIDTH 8
+
+/* Global Handoff Direction Message */
+/* see also Extended Handoff Direction Message */
+#define CP_EXTRA_PARAMETERS_WIDTH 1
+#define CP_COMPLETE_SEARCH_WIDTH 1
+#define CP_PERIODIC_SEARCH_WIDTH 1
+#define CP_FOR_INCLUDED_WIDTH 1
+#define CP_FOR_SUP_CONFIG_WIDTH 2
+#define CP_NUM_FOR_SUP_WIDTH 3
+#define CP_USE_FOR_DURATION_WIDTH 1
+#define CP_FOR_DURATION_WIDTH 8
+#define CP_REV_INCLUDED_WIDTH 1
+#define CP_CLEAR_RETRY_DELAY_WIDTH 1
+#define CP_USE_REV_DURATION_WIDTH 1
+#define CP_REV_DURATION_WIDTH 8
+#define CP_NUM_REV_CODES_WIDTH 3
+#define CP_USE_T_ADD_ABORT_WIDTH 1
+#define CP_REV_PARMS_INCLUDED_WIDTH 1
+#define CP_T_MULCHAN_WIDTH 3
+#define CP_BEGIN_PREAMBLE_WIDTH 3
+#define CP_RESUME_PREAMBLE_WIDTH 3
+
+#define CP_FPC_SUBCHAN_GAIN_WIDTH 5
+#define CP_USE_PC_TIME_WIDTH 1
+#define CP_PC_ACTION_TIME_WIDTH 6
+#define CP_RLGAIN_TRAFFIC_PILOT_WIDTH 6
+#define CP_DEFAULT_RLAG_WIDTH 1
+#define CP_NNSCR_INCLUDED_WIDTH 1
+#define CP_REV_FCH_GATING_MODE_WIDTH 1
+#define CP_REV_PWR_CNTL_DELAY_INCL_WIDTH 1
+#define CP_REV_PWR_CNTL_DELAY_WIDTH 2
+/* Universal Handoff Direction Message */
+/* see also Global Handoff Direction Message */
+#define CP_PARMS_INCL_WIDTH 1
+#define CP_NUM_FOR_ASSIGN_WIDTH 2
+#define CP_FOR_SCH_DURATION_WIDTH 4
+#define CP_FOR_START_TIME_INCL_WIDTH 1
+#define CP_SCCL_INDEX_WIDTH 4
+#define CP_NUM_REV_ASSIGN_WIDTH 2
+#define CP_REV_SCH_DURATION_WIDTH 4
+#define CP_REV_START_TIME_INCL_WIDTH 1
+#define CP_REV_SCH_RATE_WIDTH 4
+#define CP_UN_HO_DIR_NUM_PILOTS_WIDTH 3
+#define CP_ACTIVE_SET_REC_LEN_WIDTH 8
+#define CP_FOR_SCH_RATE_WIDTH 4
+#define CP_WALSH_ID_WIDTH 1
+#define CP_SRCH_OFFSET_WIDTH 3
+#define CP_ADD_PILOT_REC_TYPE_WIDTH 3
+#define CP_ADD_PILOT_REC_LEN_WIDTH 3
+#define CP_CODE_CHAN_FCH_WIDTH 11
+#define CP_QOF_MASK_ID_FCH_WIDTH 2
+#define CP_CODE_CHAN_DCH_WIDTH 11
+#define CP_QOF_MASK_ID_DCH_WIDTH 2
+#define CP_NUM_SCH_WIDTH 5
+#define CP_PILOT_INCL_WIDTH 1
+#define CP_CODE_CHAN_SCH_WIDTH 11
+#define CP_QOF_MASK_ID_SCH_WIDTH 2
+#define CP_NUM_HOD_FOR_SCH_WIDTH 5
+#define CP_NUM_HOD_REV_SCH_WIDTH 5
+#define CP_HOD_CH_IND_WIDTH 3
+#define CP_UHDM_NUM_FOR_SCH_WIDTH 5
+#define CP_UHDM_NUM_REV_SCH_WIDTH 5
+#define CP_UHDM_FOR_SCH_ID_WIDTH 1
+#define CP_UHDM_REV_SCH_ID_WIDTH 1
+
+#define CP_T_SLOTTED_INCL_WIDTH 1
+#define CP_T_SLOTTED_WIDTH 8
+#define CP_ENC_SUPPORTED_WIDTH 1
+
+#define CP_SERVICE_INCLUDED_WIDTH 1
+#define CP_SERV_CON_SEQ_WIDTH 3
+#define CP_SUP_CHAN_PARMS_INCLUDED_WIDTH 1
+#define CP_USE_PWR_CNTL_STEP_WIDTH 1
+#define CP_PWR_CNTL_STEP_WIDTH 3
+#define CP_GEN_HO_DIR_NUM_PILOTS_WIDTH 3
+#define CP_FPC_SEC_CHAN_WIDTH 1
+#define CP_NUM_SUP_CH_WIDTH 2
+#define CP_FPC_SCH_FER_WIDTH 5
+#define CP_FPC_SCH_MIN_SETPT_WIDTH 8
+#define CP_FPC_SCH_MAX_SETPT_WIDTH 8
+#define CP_FPC_THRESH_INCL_WIDTH 1
+#define CP_FPC_SETPT_THRESH_WIDTH 8
+#define CP_FPC_THRESH_SCH_INCL_WIDTH 1
+#define CP_FPC_SETPT_THRESH_SCH_WIDTH 8
+#define CP_1_BIT_WIDTH 1
+#define CP_2_BITS_WIDTH 2
+#define CP_3_BITS_WIDTH 3
+#define CP_4_BITS_WIDTH 4
+#define CP_5_BITS_WIDTH 5
+#define CP_6_BITS_WIDTH 6
+#define CP_7_BITS_WIDTH 7
+#define CP_8_BITS_WIDTH 8
+#define CP_FOR_SUP_INCLUDED_WIDTH 1
+#define CP_EXPL_CODE_CHAN_WIDTH 1
+#define CP_BASE_CODE_CHAN_WIDTH 8
+#define CP_FOR_SUP_CODE_CHAN_WIDTH 8
+
+#define CP_MUHDM_PLCM_TYPE_INCL_WIDTH 1
+#define CP_MUHDM_PLCM_TYPE_WIDTH 4
+#define CP_MUHDM_PLCM_39_WIDTH 39
+
+/* Supplemental Channel Assignment Message */
+#define CP_USE_RETRY_DELAY_WIDTH 1
+#define CP_RETRY_DELAY_WIDTH 8
+#define CP_REV_DTX_DURATION_WIDTH 4
+#define CP_EXPL_REV_START_TIME_WIDTH 1
+#define CP_REV_START_TIME_WIDTH 6
+#define CP_USE_REV_HDM_SEQ_WIDTH 1
+#define CP_REV_LINKED_HDM_SEQ_WIDTH 2
+#define CP_USE_SCRM_SEQ_NUM_WIDTH 1
+#define CP_SCRM_SEQ_NUM_WIDTH 4
+#define CP_EXPL_FOR_START_TIME_WIDTH 1
+#define CP_FOR_START_TIME_WIDTH 6
+#define CP_USE_FOR_HDM_SEQ_WIDTH 1
+#define CP_FOR_LINKED_HDM_SEQ_WIDTH 2
+#define CP_NUM_SUP_PILOTS_WIDTH 3
+#define CP_NUM_SUP_WIDTH 3
+#define CP_SUP_CODE_CHAN_WIDTH 8
+
+/* Extended Supplemental Channel Assignment Message */
+#define CP_START_TIME_UNIT_WIDTH 3
+#define CP_REV_SCH_DTX_DURATION_WIDTH 4
+
+#define CP_NUM_REV_CFG_RECS_WIDTH 5
+
+#define CP_ESCAM_REV_SCH_ID_WIDTH 1
+#define CP_REV_WALSH_ID_WIDTH 1
+#define CP_REV_SCH_START_TIME_WIDTH 5
+
+#define CP_FOR_SCH_FER_REP_WIDTH 1
+#define CP_NUM_FOR_CFG_RECS_WIDTH 5
+
+#define CP_ESCAM_FOR_SCH_ID_WIDTH 1
+#define CP_FOR_SCH_RATE 4
+#define CP_NUM_SUP_SHO_WIDTH 3
+
+#define CP_ACTIVE_PILOT_REC_TYPE_WIDTH 3
+#define CP_PILOT_RECORD_LEN_WIDTH 3
+#define CP_FOR_SCH_CC_INDEX_WIDTH 11
+
+#define CP_FOR_SCH_START_TIME_WIDTH 5
+
+#define CP_FPC_MODE_SCH_WIDTH 3
+#define CP_FPC_SCH_INIT_SETPT_OP_WIDTH 1
+
+#define CP_ESCAM_NUM_SUP_WIDTH 2
+
+#define CP_FPC_SCH_INIT_SETPT_WIDTH 8
+
+#define CP_RPC_NUM_SUP_WIDTH 1
+
+#define CP_RLGAIN_SCH_PILOT_WIDTH 6
+
+/* BCY 03/15/01 */
+/* Extended Release Message */
+#define CP_TRAFFIC_CH_IND_WIDTH 3
+
+
+#ifdef MTK_DEV_C2K_IRAT
+/* Alternative Technologies Information Message*/
+#define CP_NUM_RADIO_INTERFACE_WIDTH 4
+#define CP_RADIO_INTERFACE_TYPE_WIDTH 4
+#define CP_RADIO_INTERFACE_LEN_WIDTH 10
+#define CP_PRIORITY_INCL_WIDTH 1
+#define CP_SERVING_PRIORITY_WIDTH 3
+#define CP_THRESH_SERVING_WIDTH 6
+#define CP_PER_EARFCN_PARM_INCL_WIDTH 1
+#define CP_RX_LEV_MIN_EUTRA_COMMON_WIDTH 7
+#define CP_PE_MAX_COMMON_WIDTH 6
+#define CP_RX_LEV_MIN_EUTRA_OFFSET_COMMON_INCL_WIDTH 1
+#define CP_RX_LEV_MIN_EUTRA_OFFSET_COMMON_WIDTH 3
+#define CP_MAX_RESEL_TIMER_INCL_WIDTH 1
+#define CP_MAX_RESEL_TIMER_WIDTH 4
+#define CP_SRCH_BACKOFF_TIMER_INCL_WIDTH 1
+#define CP_MIN_MEAS_BACKOFF_WIDTH 4
+#define CP_MAX_MAES_BACKOFF_WIDTH 4
+#define CP_PLMINID_INCL_WIDTH 1
+#define CP_NUM_EUTRA_FREQ_WIDTH 3
+#define CP_EARFCN_WIDTH 16
+#define CP_EARFCN_PRI_WIDTH 3
+#define CP_THRESHX_WIDTH 5
+#define CP_RX_LEV_MIN_EUTRA_WIDTH 7
+#define CP_PE_MAX_WIDTH 6
+#define CP_RX_REV_MIN_EUTRA_OFFSET_INCL_WIDTH 1
+#define CP_RX_REV_MIN_EUTRA_OFFSET_WIDTH 3
+#define CP_MEAS_BANDWIDTH_WIDTH 3
+#define CP_PLMN_SAME_AS_PREVIOUS_CH_WIDTH 1
+#define CP_NUM_PLMNID_WIDTH 3
+#define CP_PLMNID_WIDTH 24
+#endif /* MTK_DEV_C2K_IRAT */
+
+/* Power Control Message */
+
+/* Candidate Frequency Search Request Message */
+#define CP_CAND_FREQ_SEARCH_REQ_RSVD1_WIDTH 4
+#define CP_CFSRM_SEQ_WIDTH 2
+#define CP_SEARCH_TYPE_WIDTH 2
+#define CP_SEARCH_PERIOD_WIDTH 4
+#define CP_SEARCH_MODE_WIDTH 4
+#define CP_MODE_SPECIFIC_LEN_WIDTH 8
+#define CP_ALIGN_TIMING_WIDTH 1
+#define CP_SEARCH_OFFSET_WIDTH 6
+/* Candidate Frequency Search Mode - Multiple CDMA Pilots */
+#define CP_SF_SF_TOTAL_EC_THRESH_WIDTH 5
+#define CP_SF_SF_TOTAL_EC_IO_THRESH_WIDTH 5
+#define CP_DIFF_RX_PWR_THRESH_WIDTH 5
+#define CP_MIN_TOTAL_PILOT_EC_IO_WIDTH 5
+#define CP_CF_T_ADD_WIDTH 6
+#define CP_CF_WAIT_TIME_WIDTH 4
+#define CP_CAND_FREQ_SEARCH_REQ_RSVD2_WIDTH 5
+#define CP_PILOT_UPDATE_WIDTH 1
+#define CP_CF_SRCH_MULT_CDMA_PILOTS_FIXED_WIDTH \
+ (CP_BAND_CLASS_WIDTH + \
+ CP_CDMA_FREQ_WIDTH + \
+ CP_SF_RX_PWR_THRESH_WIDTH + \
+ CP_DIFF_RX_PWR_THRESH_WIDTH + \
+ CP_MIN_TOTAL_PILOT_EC_IO_WIDTH + \
+ CP_CF_T_ADD_WIDTH + \
+ CP_CF_WAIT_TIME_WIDTH + \
+ CP_PILOT_INC_WIDTH + \
+ CP_SRCH_WIN_N_WIDTH + \
+ CP_SRCH_WIN_R_WIDTH + \
+ CP_CAND_FREQ_SEARCH_REQ_RSVD2_WIDTH + \
+ CP_PILOT_UPDATE_WIDTH)
+#define CP_CFSR_NUM_PILOTS_WIDTH 6
+#define CP_CF_NGHBR_SRCH_MODE_WIDTH 2
+#define CP_SEARCH_SET_WIDTH 1
+#define CP_CF_PILOT_REC_WIDTH \
+ (CP_NGHBR_PN_WIDTH + \
+ CP_SEARCH_SET_WIDTH + \
+ CP_SEARCH_PRIORITY_WIDTH + \
+ CP_SRCH_WIN_NGHBR_WIDTH)
+#define CP_CF_SRCH_OFFSET_INCL_WIDTH 1
+/* Candidate Frequency Search Mode - Analog Channels on Multiple frequencies */
+#define CP_CAND_FREQ_SEARCH_REQ_RSVD4_WIDTH 3
+#define CP_NUM_ANALOG_FREQS_WIDTH 3
+#define CP_CF_SRCH_MULT_ANALOG_CHANS_FIXED_WIDTH \
+ (CP_BAND_CLASS_WIDTH + \
+ CP_SF_RX_PWR_THRESH_WIDTH + \
+ CP_CAND_FREQ_SEARCH_REQ_RSVD4_WIDTH + \
+ CP_NUM_ANALOG_FREQS_WIDTH)
+
+/* Candidate Frequency Search Control Message */
+#define CP_CFSCM_SEQ_WIDTH 2
+
+
+/* Power Up Function Message */
+#define CP_ACTION_TIME_FRAME_WIDTH 2
+#define CP_PUF_SETUP_SIZE_WIDTH 6
+#define CP_PUF_PULSE_SIZE_WIDTH 7
+#define CP_PUF_INTERVAL_WIDTH 10
+#define CP_PUF_INIT_PWR_WIDTH 6
+#define CP_PUF_PWR_STEP_WIDTH 5
+#define CP_TOTAL_PUF_PROBES_WIDTH 4
+#define CP_MAX_PWR_PUF_WIDTH 4
+#define CP_PUF_FREQ_INCL_WIDTH 1
+
+/* Power Up Function Completion Message */
+#define CP_PWR_UP_FUNC_COMP_RSVD_WIDTH 6
+#define CP_LOC_IND_WIDTH 1
+#define CP_PWR_UP_FUNC_COMP_RSVD1_WIDTH 3
+#define CP_MS_LAT_WIDTH 22
+#define CP_MS_LONG_WIDTH 23
+#define CP_MS_LOC_TSTAMP 24
+
+/***************************************************************************/
+/********* Reverse Traffic Channel Message field width definitions *********/
+/***************************************************************************/
+/* RTC Order Message */
+#define CP_RTC_ORDER_RSVD_WIDTH 6
+
+#define CP_RTC_CON_REF_INCL_WIDTH 1
+#define CP_RTC_CON_REF_WIDTH 8
+
+#define CP_RTC_ORDER_FIXED_FIELD_WIDTH \
+ (CP_COMMON_FIELD_WIDTH + \
+ CP_ORDER_WIDTH + \
+ CP_ADD_RECORD_LEN_WIDTH)
+
+#define CP_TC_ACK_ORDER_LENGTH_BYTES 7
+
+/* Base Station Challenge Order */
+#define BS_CHALLENGE_ADD_REC_LEN 5
+
+/* Service Option Request/Response Order */
+#define CP_SERVICE_OPTION_ADD_REC_LEN 3
+
+/* Mobile Station Reject Order */
+#define CP_REJECTED_TYPE_WIDTH 8
+#define CP_REJECTED_ORDER_WIDTH 8
+#define CP_REJECTED_ODRQ_WIDTH 8
+#define CP_REJECTED_PARAM_ID_WIDTH 16
+#define CP_REJECTED_RECORD_WIDTH 8
+#define CP_REJECTED_TAG_WIDTH 4
+#define CP_REJECTED_PDU_TYPE_WIDTH 2
+#define CP_MS_REJECT_REJ_CON_REF_REC_LEN 3
+#define CP_MS_REJECT_REJ_TAG_REC_LEN 4
+#define CP_MS_REJECT_REJ_MSG_ADD_REC_LEN 3
+#define CP_MS_REJECT_REJ_ORDER_ADD_REC_LEN 5
+#define CP_MS_REJECT_REJ_PARAM_ADD_REC_LEN 5
+#define CP_MS_REJECT_REJ_RECORD_ADD_REC_LEN 3
+
+/* Authentication Challenge Response Message */
+#define CP_AUTH_CHAL_RESP_RSVD_WIDTH 5
+
+
+/* Flash With Info Message */
+#define CP_RTC_FLASH_WITH_INFO_RSVD_WIDTH 7
+
+
+/* Data Burst Message */
+#define CP_DATA_BURST_RSVD_WIDTH 1
+
+
+/* Pilot Strength Measurement Message */
+#define CP_KEEP_WIDTH 1
+
+
+/* Power Measurement Report Message */
+#define CP_ERRORS_DETECTED_WIDTH 5
+#define CP_PWR_MEAS_FRAMES_WIDTH 10
+#define CP_LAST_HDM_SEQ_WIDTH 2
+#define CP_SF_RX_PWR_THRESH_WIDTH 5
+#define CP_PWR_MEAS_REP_NUM_PILOTS_WIDTH 4
+#define CP_DCCH_PWR_MEAS_INCL_WIDTH 1
+#define CP_DCCH_PWR_MEAS_FRAMES_WIDTH 10
+#define CP_DCCH_ERRORS_DETECTED_WIDTH 5
+#define CP_PMRM_SCH_PWR_MEAS_INCL_WIDTH 1
+#define CP_PMRM_SCH_ID_WIDTH 1
+#define CP_SCH_ERRORS_DETECTED_WIDTH 10
+#define CP_SCH_PWR_MEAS_FRAMES_WIDTH 16
+#define CP_PILOT_REC_INCL_WIDTH 1
+#define CP_SETPT_INCL_WIDTH 1
+#define CP_REF_PILOT_REC_INCL_WIDTH 1
+#define CP_RESQ_IND_INCL_WIDTH 1
+
+#define CP_FCH_INCL_WIDTH 1
+#define CP_FPC_FCH_CURR_SETPT_WIDTH 8
+#define CP_DCCH_INCL_WIDTH 1
+#define CP_FPC_DCCH_CURR_SETPT_WIDTH 8
+#define CP_FPC_SCH_CURR_SETPT_WIDTH 8
+
+/* Origination Continuation Message */
+#define CP_ASCII_DTMF_DIGIT_WIDTH 8
+/* A. Kulkarni. 09/25/01. */
+#define CP_DTMF_DIGIT_WIDTH 4
+/* A. Kulkarni. End. */
+
+/* Parameters Response Message */
+#define CP_PARAMETER_LEN_WIDTH 10
+
+/* Status Response Message */
+#define CP_SR_QIT_NONE_LENGTH 0
+#define CP_SR_QIT_BAND_CLASS_LENGTH 1
+#define CP_SR_QIT_BAND_CLASS_AND_OP_MODE_LENGTH 2
+#define CP_SR_RESERVED_WIDTH 3
+#define CP_TC_SR_RESERVED_WIDTH 4
+#define CP_NUM_INFO_RECORDS_WIDTH 4
+#define CP_BAND_CLASS_BIT_FIELD_WIDTH 1
+
+
+/* Capability Information Record */
+#define CP_GATING_RATE_SET_WIDTH 2
+#define CP_RLP_CAP_BLOP_LEN_WIDTH 3
+#define CP_MAX_MS_NAK_ROUNDS_FWD_WIDTH 3
+#define CP_MAX_MS_NAK_ROUNDS_REV_WIDTH 3
+
+/* Ch Configuration Capability Information Record*/
+#define CP_FOR_SCH_LEN 3
+#define CP_FOR_SCH_RC_MAP 3
+#define CP_FOR_SCH_NUM 2
+#define CP_REV_SCH_LEN 3
+#define CP_REV_SCH_RC_MAP 3
+#define CP_REV_SCH_NUM 2
+#define CP_MAX_TURBO_BLOCK_SIZE_WIDTH 4
+#define CP_MAX_CONV_BLOCK_SIZE_WIDTH 4
+#define CP_FOR_MAX_RATE_WIDTH 4
+#define CP_FOR_MAX_RATE 4
+#define CP_REV_MAX_RATE_WIDTH 4
+#define CP_REV_MAX_RATE 4
+
+/* Extended Multiplex Option Information Record */
+#define CP_NUM_MO_FCH_WIDTH 4
+#define CP_MO_FCH_WIDTH 16
+#define CP_RATES_FCH_WIDTH 8
+
+#define CP_NUM_MO_DCCH_WIDTH 4
+#define CP_MO_DCCH_WIDTH 16
+
+#define CP_NUM_MO_SCH_WIDTH 4
+#define CP_SCH_ID_WIDTH 1
+#define CP_MO_SCH_WIDTH 16
+#define CP_GEO_LOC_WIDTH 3
+
+#define CP_NUM_MO_FOR_PDCH_WIDTH 4
+#define CP_NUM_MO_FOR_PDCH 1
+#define CP_MO_PDCH_WIDTH 16
+
+/* TMSI Assignment Completion Message */
+#define CP_TMSI_ASSIGN_COMP_RSVD_WIDTH 7
+
+
+/* Supplemental Channel Request Message */
+#define CP_SIZE_OF_REQ_BLOB_WIDTH 4
+#define CP_DURATION_UNIT_WIDTH 3
+#define CP_NUM_REQ_WIDTH 3
+#define CP_SCRM_RESERVED_WIDTH 2
+#define CP_PREFERRED_RATE_WIDTH 4
+#define CP_DURATION_WIDTH 9
+#define CP_REF_PN_WIDTH 9
+#define CP_NUM_ACT_PN_WIDTH 3
+#define CP_ACT_PN_PHASE_WIDTH 15
+#define CP_ACT_PILOT_STRENGTH_WIDTH 6
+#define CP_NUM_NGHBR_PN_WIDTH 3
+#define CP_PILOT_REC_TYPE_WIDTH 3
+
+/* Candidate Frequency Search Response Message */
+#define CP_TOTAL_OFF_TIME_FWD_WIDTH 6
+#define CP_MAX_OFF_TIME_FWD_WIDTH 6
+#define CP_TOTAL_OFF_TIME_REV_WIDTH 6
+#define CP_MAX_OFF_TIME_REV_WIDTH 6
+#define CP_PCG_OFF_TIMES_WIDTH 1
+#define CP_ALIGN_TIMING_USED_WIDTH 1
+#define CP_MAX_NUM_VISITS_WIDTH 5
+
+/* Candidate Frequency Search Report Message */
+#define CP_LAST_SRCH_MSG_WIDTH 1
+#define CP_CAND_FREQ_SRCH_REPORT_FIXED_FIELD_WIDTH \
+ (CP_COMMON_FIELD_WIDTH + \
+ CP_LAST_SRCH_MSG_WIDTH + \
+ CP_CFSRM_SEQ_WIDTH + \
+ CP_SEARCH_MODE_WIDTH + \
+ CP_MODE_SPECIFIC_LEN_WIDTH)
+#if ((CP_CAND_FREQ_SRCH_REPORT_FIXED_FIELD_WIDTH%8) != 0)
+#error "CAND_FREQ_SRCH_REPORT_FIXED_FIELD_WIDTH \
+ not an integral number of octets"
+#endif
+/* Candidate Frequency Search Mode - Multiple CDMA Pilots */
+#define CP_SF_TOTAL_RX_PWR_WIDTH 5
+#define CP_CF_TOTAL_RX_PWR_WIDTH 5
+#define CP_CAND_FREQ_SRCH_REPORT_RSVD1_WIDTH 1
+#define CP_CAND_FREQ_SRCH_REPORT_RSVD2_WIDTH 3
+/* Candidate Frequency Search Mode - Analog Channels on Multiple frequencies */
+#define CP_CAND_FREQ_SRCH_REPORT_RSVD3_WIDTH 5
+#define CP_SIGNAL_STRENGTH_WIDTH 6
+
+/* Resource Release Request Message */
+#define CP_GATING_DISCONNECT_IND_WIDTH 1
+
+
+/****************************************************************************/
+/* (FCCCH) Forward Common Control Channel Message field width definitions */
+/****************************************************************************/
+#define CP_FCCCH_PD_WIDTH 2
+#define CP_FCCCH_MSG_ID_WIDTH 6
+#define CP_FCCCH_MSG_TYPE_WIDTH CP_FCCCH_PD_WIDTH + CP_FCCCH_MSG_ID_WIDTH /* MSG_TYPE = PD 2 bit and MSG_ID 6 bit */
+
+
+
+/****************************************************************************/
+/* (BCCH) Forward Common Control Channel Message field width definitions */
+/****************************************************************************/
+#define CP_BCCH_PD_WIDTH 2
+#define CP_BCCH_MSG_ID_WIDTH 6
+#define CP_BCCH_MSG_TYPE_WIDTH CP_BCCH_PD_WIDTH + CP_BCCH_MSG_ID_WIDTH /* MSG_TYPE = PD 2 bit and MSG_ID 6 bit */
+
+
+
+/****************************************************************************/
+/********************************* Orders ***********************************/
+/****************************************************************************/
+
+/* FTC Base Station Challenge Confirmation Order */
+#define CP_AUTHBS_OFFSET \
+ (CP_COMMON_FIELD_WIDTH + \
+ CP_USE_TIME_WIDTH + \
+ CP_ACTION_TIME_WIDTH + \
+ CP_ORDER_WIDTH + \
+ CP_ADD_RECORD_LEN_WIDTH + \
+ CP_ORDQ_WIDTH)
+#define CP_BS_CHALLENGE_CONF_ORDER_RSVD_WIDTH 6
+
+/* FTC Service Option Request Order */
+/* FTC Service Option Response Order */
+#define CP_SERVICE_OPTION_OFFSET \
+ (CP_COMMON_FIELD_WIDTH + \
+ CP_USE_TIME_WIDTH + \
+ CP_ACTION_TIME_WIDTH + \
+ CP_ORDER_WIDTH + \
+ CP_ADD_RECORD_LEN_WIDTH + \
+ CP_ORDQ_WIDTH)
+
+/* FTC Retry Order */
+#define CP_RETRY_ORDER_OFFSET \
+ (CP_USE_TIME_WIDTH + \
+ CP_ACTION_TIME_WIDTH + \
+ CP_ORDER_WIDTH + \
+ CP_ADD_RECORD_LEN_WIDTH + \
+ CP_ORDQ_WIDTH)
+
+/****************************************************************************/
+/********************************* Records **********************************/
+/****************************************************************************/
+
+/* Forward Record field width definitions */
+
+/* Called Party Number Record */
+#define CP_CALLED_PARTY_NUMBER_REC_RSVD_FIELD_WIDTH 1
+
+#define CP_CALLED_PARTY_NUMBER_REC_FIXED_FIELD_WIDTH \
+ (CP_NUMBER_TYPE_WIDTH + \
+ CP_NUMBER_PLAN_WIDTH + \
+ CP_CALLED_PARTY_NUMBER_REC_RSVD_FIELD_WIDTH)
+#if ((CP_CALLED_PARTY_NUMBER_REC_FIXED_FIELD_WIDTH%8) != 0)
+#error "CP_CALLED_PARTY_NUMBER_REC_FIXED_FIELD_WIDTH \
+ not an integral number of octets"
+#endif
+
+
+/* Calling Party Number Record */
+#define CP_PI_WIDTH 2
+#define CP_SI_WIDTH 2
+#define CP_CALLING_PARTY_NUMBER_REC_RSVD_FIELD_WIDTH 5
+
+#define CP_CALLING_PARTY_NUMBER_REC_FIXED_FIELD_WIDTH \
+ (CP_NUMBER_TYPE_WIDTH + \
+ CP_NUMBER_PLAN_WIDTH + \
+ CP_PI_WIDTH + \
+ CP_SI_WIDTH + \
+ CP_CALLING_PARTY_NUMBER_REC_RSVD_FIELD_WIDTH)
+#if ((CP_CALLING_PARTY_NUMBER_REC_FIXED_FIELD_WIDTH%8) != 0)
+#error "CP_CALLING_PARTY_NUMBER_REC_FIXED_FIELD_WIDTH \
+ not an integral number of octets"
+#endif
+
+
+/* Signal Record */
+#define CP_SIGNAL_TYPE_WIDTH 2
+#define CP_SIGNAL_PITCH_WIDTH 2
+#define CP_SIGNAL_SIGNAL_WIDTH 6
+#define CP_SIGNAL_REC_RSVD_FIELD_WIDTH 6
+
+#define CP_SIGNAL_REC_FIXED_FIELD_WIDTH \
+ (CP_SIGNAL_TYPE_WIDTH + \
+ CP_SIGNAL_PITCH_WIDTH + \
+ CP_SIGNAL_SIGNAL_WIDTH + \
+ CP_SIGNAL_REC_RSVD_FIELD_WIDTH)
+#if ((CP_SIGNAL_REC_FIXED_FIELD_WIDTH%8) != 0)
+#error "CP_SIGNAL_REC_FIXED_FIELD_WIDTH \
+ not an integral number of octets"
+#endif
+
+/* Signal Record */
+#define CP_MSG_COUNT_WIDTH 8
+
+/* Service Configuration Record */
+#define CP_FOR_MUX_OPTION_WIDTH 16
+#define CP_REV_MUX_OPTION_WIDTH 16
+#define CP_FOR_NUM_BITS_WIDTH 8
+#define CP_REV_NUM_BITS_WIDTH 8
+
+/* Forward Fundamental Channel */
+#define CP_FPC_INCL_WIDTH 1
+#define CP_FPC_PRI_CHAN_WIDTH 1
+#define CP_FPC_MODE_WIDTH 3
+#define CP_FPC_OLPC_FCH_INCL_WIDTH 1
+#define CP_FPC_FCH_FER_WIDTH 5
+#define CP_FPC_FCH_MIN_SET_PT_WIDTH 8
+#define CP_FPC_FCH_MAX_SET_PT_WIDTH 8
+#define CP_GATING_RATE_INCL_WIDTH 1
+#define CP_PILOT_GATING_RATE_WIDTH 2
+
+#define CP_FOR_SCH_INCL_WIDTH 1
+#define CP_NUM_FOR_SCH_WIDTH 2
+#define CP_FOR_SCH_ID_WIDTH 2
+#define CP_FOR_SCH_FRAME_OFFSET_WIDTH 2
+#define CP_REV_SCH_INCL_WIDTH 1
+#define CP_NUM_REV_SCH_WIDTH 2
+#define CP_REV_SCH_ID_WIDTH 2
+#define CP_REV_SCH_FRAME_OFFSET_WIDTH 2
+#define CP_LOGICAL_RESOURCE_WIDTH 4
+#define CP_PHYSICAL_RESOURCE_WIDTH 4
+#define CP_FORWARD_FLAG_WIDTH 1
+#define CP_REVERSE_FLAG_WIDTH 1
+#define CP_PRIORITY_WIDTH 4
+#define CP_LPM_IND_WIDTH 2
+#define CP_NUM_LPM_ENTRIES_WIDTH 4
+#define CP_IS2K_REV0_RESERVED_WIDTH 2
+
+#define CP_FCH_CC_INCL_WIDTH 1
+
+#define CP_FOR_FCH_RC_WIDTH 5
+#define CP_REV_FCH_RC_WIDTH 5
+
+/* Dedicated Control Channel */
+#define CP_DCCH_CC_INCL_WIDTH 1
+#define CP_FOR_SCH_CC_INCL_WIDTH 1
+#define CP_REV_SCH_CC_INCL_WIDTH 1
+
+#define CP_DCCH_FCH_RC_WIDTH 5
+#define CP_DCCH_REV_RC_WIDTH 5
+
+#define CP_FPC_OLPC_DCCH_INCL_WIDTH 1
+#define CP_FPC_DCCH_FER_WIDTH 5
+#define CP_FPC_DCCH_MIN_SET_PT_WIDTH 8
+#define CP_FPC_DCCH_MAX_SET_PT_WIDTH 8
+#define CP_FOR_RATES_WIDTH 8
+#define CP_REV_RATES_WIDTH 8
+#define CP_NUM_CON_REC_WIDTH 8
+#define CP_SERVICE_CONNECTION_RECORD_LEN_WIDTH 8
+#define CP_UI_ENCRYPT_MODE_WIDTH 3
+#define CP_RLP_INFO_INCL_WIDTH 1
+#define CP_RLP_BLOB_LEN_WIDTH 4
+#define CP_CON_REF_WIDTH 8
+#define CP_FOR_TRAFFIC_WIDTH 4
+#define CP_REV_TRAFFIC_WIDTH 4
+#define CP_FOR_DCCH_RC_WIDTH 5
+#define CP_REV_DCCH_RC_WIDTH 5
+
+#define CP_SERVICE_CONFIGURATION_REC_FIXED_FIELD_WIDTH \
+ (CP_FOR_MUX_OPTION_WIDTH + \
+ CP_REV_MUX_OPTION_WIDTH + \
+ CP_FOR_RATES_WIDTH + \
+ CP_REV_RATES_WIDTH + \
+ CP_NUM_CON_REC_WIDTH)
+#if ((CP_SERVICE_CONFIGURATION_REC_FIXED_FIELD_WIDTH%8) != 0)
+#error "CP_SERVICE_CONFIGURATION_REC_FIXED_FIELD_WIDTH \
+ not an integral number of octets"
+#endif
+
+/* T53 National Supplementary Services */
+#define CP_NSS_RECORD_SUBTYPE_WIDTH 6
+#define CP_NSS_REC_FIXED_FIELD_WIDTH \
+ (CP_MCC_WIDTH + \
+ CP_NSS_RECORD_SUBTYPE_WIDTH)
+#if ((CP_NSS_REC_FIXED_FIELD_WIDTH%8) != 0)
+#error "CP_NSS_REC_FIXED_FIELD_WIDTH \
+ not an integral number of octets"
+#endif
+
+#define CP_NSS_CLIR_CAUSE_WIDTH 8
+#define CP_NSS_CLIR_REC_FIXED_FIELD_WIDTH \
+ (CP_NSS_REC_FIXED_FIELD_WIDTH + \
+ CP_NSS_CLIR_CAUSE_WIDTH)
+#if ((CP_NSS_CLIR_REC_FIXED_FIELD_WIDTH%8) != 0)
+#error "CP_NSS_CLIR_REC_FIXED_FIELD_WIDTH \
+ not an integral number of octets"
+#endif
+
+#define CP_NSS_AUDIO_CONTROL_WIDTH 2
+#define CP_AUDIO_CONTROL_RSVD_FIELD_WIDTH 4
+#define CP_NSS_AUDIO_CONTROL_REC_FIXED_FIELD_WIDTH \
+ (CP_NSS_REC_FIXED_FIELD_WIDTH + \
+ CP_NSS_AUDIO_CONTROL_WIDTH + \
+ CP_NSS_AUDIO_CONTROL_WIDTH + \
+ CP_AUDIO_CONTROL_RSVD_FIELD_WIDTH)
+#if ((CP_NSS_AUDIO_CONTROL_REC_FIXED_FIELD_WIDTH%8) != 0)
+#error "CP_NSS_AUDIO_CONTROL_REC_FIXED_FIELD_WIDTH \
+ not an integral number of octets"
+#endif
+
+/* Reverse Record field width definitions */
+/* BCY 04/30/01 */
+/* Supplemental Channel Type-specific fields */
+#define CP_SCH_REC_LEN_WIDTH 4
+#define CP_SCH_RC_WIDTH 5
+#define CP_CODING_WIDTH 1
+#define CP_SCH_REC_RESERVED_WIDTH 6
+#define CP_FOR_SCH_MUX_WIDTH 16
+#define CP_REV_SCH_MUX_WIDTH 16
+
+/* RLP BLOB fields */
+#define CP_RLP_BLOB_TYPE_WIDTH 3
+#define CP_RLP_VERSION_WIDTH 3
+#define CP_RLP_RTT_WIDTH 4
+#define CP_RLP_INIT_VAR_WIDTH 1
+#define CP_RLP_BS_EXT_SEQ_M_WIDTH 18
+#define CP_RLP_MS_EXT_SEQ_M_WIDTH 18
+#define CP_RLP_MAX_MS_NAK_ROUNDS_FWD_WIDTH 3
+#define CP_RLP_MAX_MS_NAK_ROUNDS_REV_WIDTH 3
+#define CP_RLP_NAK_ROUNDS_FWD_WIDTH 3
+#define CP_RLP_NAK_ROUNDS_REV_WIDTH 3
+#define CP_RLP_NAK_PER_ROUND_FWD_WIDTH 3
+#define CP_RLP_NAK_PER_ROUND_REV_WIDTH 3
+#define CP_RLP_NAK_DDW_WIDTH 8
+#define CP_RLP_NAK_REXMIT_TIMER_WIDTH 8
+
+
+/* Meter Pulses Record */
+#define CP_PULSE_FREQUENCY_WIDTH 11
+#define CP_PULSE_ON_OFF_TIME_WIDTH 8
+#define CP_PULSE_COUNT_WIDTH 4
+#define CP_METER_PULSES_REC_RSVD_FIELD_WIDTH 1
+#define CP_METER_PULSES_REC_FIXED_FIELD_WIDTH \
+ ( CP_PULSE_FREQUENCY_WIDTH + \
+ CP_PULSE_ON_OFF_TIME_WIDTH + \
+ CP_PULSE_ON_OFF_TIME_WIDTH + \
+ CP_PULSE_COUNT_WIDTH + \
+ CP_METER_PULSES_REC_RSVD_FIELD_WIDTH )
+
+
+/* Parametric Alerting Record */
+#define CP_CADENCE_COUNT_WIDTH 8
+#define CP_NUM_GROUPS_WIDTH 4
+#define CP_AMPLITUDE_WIDTH 8
+#define CP_FREQ_WIDTH 10
+#define CP_ON_OFF_TIME_WIDTH 8
+#define CP_REPEAT_WIDTH 4
+#define CP_DELAY_WIDTH 8
+#define CP_PARAMETRIC_ALERTING_REC_RSVD_FIELD_WIDTH 4
+#define CP_PARAMETRIC_ALERTING_REC_FIXED_FIELD_WIDTH \
+ ( CP_CADENCE_COUNT_WIDTH + \
+ CP_NUM_GROUPS_WIDTH + \
+ CP_PARAMETRIC_ALERTING_REC_RSVD_FIELD_WIDTH )
+
+/* Line Control Record */
+#define CP_POLARITY_INCLUDED_WIDTH 1
+#define CP_TOGGLE_MODE_WIDTH 1
+#define CP_REVERSE_POLARITY_WIDTH 1
+#define CP_POWER_DENIAL_TIME_WIDTH 8
+#define CP_LINE_CONTROL_REC_FIXED_FIELD_WIDTH \
+ ( CP_POLARITY_INCLUDED_WIDTH + \
+ CP_POWER_DENIAL_TIME_WIDTH + \
+ 7 ) /* RESERVED */ /* minimum size of the record */
+
+/* Extended Display Record */
+#define CP_EXT_DISPLAY_IND_WIDTH 1
+#define CP_DISPLAY_TYPE_WIDTH 7
+#define CP_DISPLAY_TAG_WIDTH 8
+#define CP_DISPLAY_LEN_WIDTH 8
+#define CP_EXTENDED_DISPLAY_REC_FIXED_FIELD_WIDTH \
+ ( CP_EXT_DISPLAY_IND_WIDTH + \
+ CP_DISPLAY_TYPE_WIDTH + \
+ CP_DISPLAY_TAG_WIDTH + \
+ CP_DISPLAY_LEN_WIDTH ) /* minimum size of the record */
+
+
+/* Redirecting Number Record */
+#define CP_EXTENSION_BIT_1_WIDTH 1
+ /* CP_NUMBER_TYPE_WIDTH and CP_NUMBER_PLAN_WIDTH */
+ /* declared in Origination Message */
+#define CP_EXTENSION_BIT_2_WIDTH 1
+ /* CP_PI_WIDTH and CP_SI_WIDTH declared in */
+ /* Calling Party Number Record */
+#define CP_REDIRECTING_NUMBER_RSVD_1_WIDTH 3
+#define CP_EXTENSION_BIT_3_WIDTH 1
+#define CP_REDIRECTING_NUMBER_RSVD_2_WIDTH 3
+#define CP_REDIRECTION_REASON_WIDTH 4
+#define CP_REDIRECTING_NUMBER_REC_FIXED_FIELD_WIDTH \
+ ( CP_EXTENSION_BIT_1_WIDTH + \
+ CP_NUMBER_TYPE_WIDTH + \
+ CP_NUMBER_PLAN_WIDTH ) /* minimum size of the record */
+
+
+
+/* Reverse Record field width definitions */
+
+/* Feature Indicator Record */
+#define CP_FEATURE_WIDTH 4
+#define CP_FEATURE_INDICATOR_REC_RSVD_WIDTH 4
+
+#define CP_FEATURE_INDICATOR_REC_FIXED_FIELD_WIDTH \
+ (CP_FEATURE_WIDTH + \
+ CP_FEATURE_INDICATOR_REC_RSVD_WIDTH)
+#if ((CP_FEATURE_INDICATOR_REC_FIXED_FIELD_WIDTH%8) != 0)
+#error "CP_FEATURE_INDICATOR_REC_FIXED_FIELD_WIDTH \
+ not an integral number of octets"
+#endif
+
+/* Keypad Facility Record */
+
+/* Called Party Number Record */
+ /* See Forward records */
+
+/* Calling Party Number Record */
+ /* See Forward records */
+
+/* Call Mode Record */
+#define CP_ORIG_MODE_WIDTH 1
+#define CP_CALL_MODE_REC_RSVD_FIELD_WIDTH 7
+#define CP_CALL_MODE_REC_FIXED_FIELD_WIDTH \
+ (CP_ORIG_MODE_WIDTH + \
+ CP_SERVICE_OPTION_WIDTH + \
+ CP_SERVICE_OPTION_WIDTH + \
+ CP_CALL_MODE_REC_RSVD_FIELD_WIDTH)
+#if ((CP_CALL_MODE_REC_FIXED_FIELD_WIDTH%8) != 0)
+#error "CP_CALL_MODE_REC_FIXED_FIELD_WIDTH \
+ not an integral number of octets"
+#endif
+
+/* Terminal Information Record */
+#define CP_MOB_MFG_CODE_WIDTH 8
+#define CP_MOB_MODEL_WIDTH 8
+#define CP_MOB_FIRM_REV_WIDTH 16
+#define CP_MOB_LOCAL_CTRL_WIDTH 1
+#define CP_MOB_SLOT_CYCLE_INDEX_WIDTH 3
+#define CP_TERMINAL_INFO_RSVD_WIDTH 4
+#define CP_TERMINAL_INFO_REC_FIXED_FIELD_WIDTH \
+ (CP_P_REV_WIDTH + \
+ CP_MOB_MFG_CODE_WIDTH + \
+ CP_MOB_MODEL_WIDTH + \
+ CP_MOB_FIRM_REV_WIDTH + \
+ CP_SCM_WIDTH + \
+ CP_MOB_LOCAL_CTRL_WIDTH + \
+ CP_MOB_SLOT_CYCLE_INDEX_WIDTH + \
+ CP_TERMINAL_INFO_RSVD_WIDTH)
+#if ((CP_TERMINAL_INFO_REC_FIXED_FIELD_WIDTH%8) != 0)
+#error "CP_TERMINAL_INFO_REC_FIXED_FIELD_WIDTH \
+ not an integral number of octets"
+#endif
+
+/* Security Status Record */
+#define CP_ENCRYPT_MODE_WIDTH 2
+#define CP_SECURITY_STATUS_REC_RSVD_FIELD_WIDTH 3
+#define CP_SECURITY_STATUS_REC_FIXED_FIELD_WIDTH \
+ (CP_AUTH_MODE_WIDTH + \
+ CP_ENCRYPT_MODE_WIDTH + \
+ CP_PRIVATE_LCM_WIDTH + \
+ CP_SECURITY_STATUS_REC_RSVD_FIELD_WIDTH)
+#if ((CP_TERMINAL_INFO_REC_FIXED_FIELD_WIDTH%8) != 0)
+#error "CP_TERMINAL_INFO_REC_FIXED_FIELD_WIDTH \
+ not an integral number of octets"
+#endif
+
+/* Power Class Information Record */
+#define CP_MAX_EIRP_WIDTH 8
+
+/* Call Waiting Indicator Record*/
+#define CP_CALL_WAITING_INDICATOR_WIDTH 1
+#define CP_CALL_WAITING_INDICATOR_REC_RSVD_WIDTH 7
+#define CP_CALL_WAITING_INDICATOR_REC_FIXED_FIELD_WIDTH \
+ (CP_CALL_WAITING_INDICATOR_WIDTH + \
+ CP_CALL_WAITING_INDICATOR_REC_RSVD_WIDTH)
+#if ((CP_CALL_WAITING_INDICATOR_REC_FIXED_FIELD_WIDTH%8) != 0)
+#error "CP_CALL_WAITING_INDICATOR_WIDTH \
+ not an integral number of octets"
+#endif
+
+/* Service Option Information Record */
+#define CP_SERV_OPT_INFO_RSVD_WIDTH 6
+#define CP_SERV_OPT_SUPPORT_WIDTH 1
+#define CP_SERV_OPTION_INFO_REC_FIXED_FIELD_WIDTH \
+ (CP_SERV_OPT_INFO_RSVD_WIDTH + \
+ CP_SERV_OPT_SUPPORT_WIDTH + \
+ CP_SERV_OPT_SUPPORT_WIDTH + \
+ CP_SERVICE_OPTION_WIDTH)
+#if ((CP_SERV_OPTION_INFO_REC_FIXED_FIELD_WIDTH%8) != 0)
+#error "CP_SERV_OPTION_INFO_REC_FIXED_FIELD_WIDTH \
+ not an integral number of octets"
+#endif
+
+/* Multiplex Option Information Record */
+#define CP_MULTIPLEX_OPTION_WIDTH 16
+#define CP_MUX_OPTION_INFO_REC_FIXED_FIELD_WIDTH \
+ (CP_MULTIPLEX_OPTION_WIDTH + \
+ CP_FOR_RATES_WIDTH + \
+ CP_REV_RATES_WIDTH)
+#if ((CP_MUX_OPTION_INFO_REC_FIXED_FIELD_WIDTH%8) != 0)
+#error "CP_MUX_OPTION_INFO_REC_FIXED_FIELD_WIDTH \
+ not an integral number of octets"
+#endif
+
+
+/* Service Configuration Record */
+#define CP_SERV_CFG_HEADER_FIXED_FIELD_WIDTH \
+ (CP_FOR_MUX_OPTION_WIDTH + \
+ CP_REV_MUX_OPTION_WIDTH + \
+ CP_FOR_RATES_WIDTH + \
+ CP_REV_RATES_WIDTH + \
+ CP_NUM_CON_REC_WIDTH)
+#if ((CP_SERV_CFG_HEADER_FIXED_FIELD_WIDTH%8) != 0)
+#error "CP_SERV_CFG_HEADER_FIXED_FIELD_WIDTH \
+ not an integral number of octets"
+#endif
+
+#define CP_SERV_CFG_CON_REC_FIXED_FIELD_WIDTH \
+ (CP_SERVICE_CONNECTION_RECORD_LEN_WIDTH + \
+ CP_CON_REF_WIDTH + \
+ CP_SERVICE_OPTION_WIDTH + \
+ CP_FOR_TRAFFIC_WIDTH + \
+ CP_REV_TRAFFIC_WIDTH)
+#if ((CP_SERV_CFG_CON_REC_FIXED_FIELD_WIDTH%8) != 0)
+#error "CP_SERV_CFG_CON_REC_FIXED_FIELD_WIDTH \
+ not an integral number of octets"
+#endif
+
+/* Subaddress Record */
+#define CP_EXTENSION_BIT_WIDTH 1
+#define CP_SUBADDRESS_TYPE_WIDTH 3
+#define CP_ODD_EVEN_INDICATOR_WIDTH 1
+#define CP_SUBADDRESS_RSVD_WIDTH 3
+#define CP_SUBADDRESS_REC_FIXED_FIELD_WIDTH \
+ (CP_EXTENSION_BIT_WIDTH + \
+ CP_SUBADDRESS_TYPE_WIDTH + \
+ CP_ODD_EVEN_INDICATOR_WIDTH + \
+ CP_SUBADDRESS_RSVD_WIDTH)
+#if ((CP_SUBADDRESS_REC_FIXED_FIELD_WIDTH%8) != 0)
+#error "CP_SUBADDRESS_REC_FIXED_FIELD_WIDTH \
+ not an integral number of octets"
+#endif
+
+/* Power Control Information Record */
+#define CP_MIN_PWR_CNTL_STEP_WIDTH 3
+#define CP_PWR_CNTL_INFO_RSVD_WIDTH 5
+#define CP_PWR_CNTL_INFO_FIXED_FIELD_WIDTH \
+ (CP_MIN_PWR_CNTL_STEP_WIDTH + \
+ CP_PWR_CNTL_INFO_RSVD_WIDTH)
+#if ((CP_PWR_CNTL_INFO_FIXED_FIELD_WIDTH%8) != 0)
+#error "CP_PWR_CNTL_INFO_FIXED_FIELD_WIDTH \
+ not an integral number of octets"
+#endif
+
+
+
+/* Roaming Information */
+#define CP_ROAMING_ACCOLC_WIDTH 4
+#define CP_MOB_TERM_HOME_WIDTH 1
+#define CP_MOB_TERM_FOR_SID_WIDTH 1
+#define CP_MOB_TERM_FOR_NID_WIDTH 1
+
+/* Enhanced Roaming Indicators (ERI) */
+#define CP_ERI_VERSION_WIDTH 16
+#define CP_ERI_NUM_ENTRIES_WIDTH 6
+#define CP_ERI_TYPE_WIDTH 3
+#define CP_NUM_ICON_IMAGES_WIDTH 4
+#define CP_ICON_IMAGE_TYPE_WIDTH 3
+#define CP_ERI_INDICATOR_ID_WIDTH 8
+#define CP_ERI_ICON_IMAGE_ID_WIDTH 4
+#define CP_ERI_ICON_MODE_WIDTH 2
+#define CP_ERI_CALL_PROMPT_ID_WIDTH 2
+#define CP_ERI_ALERT_CALL_COUNTER_ID_WIDTH 3
+#define CP_ERI_CHAR_ENCODING_TYPE_WIDTH 5
+#define CP_ERI_TEXT_LENGTH_WIDTH 8
+#define CP_ERI_RESERVED_FOR_CALL_PROMPT_TABLE_WIDTH 96
+
+/* MEID record */
+#define CP_MEID_LENGTH_WIDTH 4
+#define CP_MEID_WIDTH 56
+#define CP_MEID_ME_LENGTH_WIDTH 4
+#define CP_MEID_ME_WIDTH 56
+
+/* Global Emergence Call */
+#define CP_NUM_INCL_WIDTH 1
+#define CP_MS_ORIG_POS_LOC_IND_WIDTH 1
+#define CP_NUM_CHAR_WIDTH 8
+
+/* Extended Keypad Facility */
+#define CP_NUMBER_INFO_INCL_WIDTH 1
+#define CP_NUM_FIELDES_WIDTH 6
+/* Record type header width definitions */
+#define REV_INFO_IMSI_WIDTH 7
+#define REV_INFO_POWER_CLASS_WIDTH 1
+#define REV_INFO_OPERATING_MODE_WIDTH 1
+#define REV_INFO_ROAMING_WIDTH 5
+
+/* R.Sattari, 9/6/00, added for capability information record */
+#define REV_INFO_CAPABILITY_INFORMATION_WIDTH 1
+
+/* Page Response */
+#define CP_CMEA_WIDTH 1
+#define CP_ECMEA_WIDTH 1
+#define CP_REA_WIDTH 1
+
+
+/*****************************************************************************
+ * Order Information
+ ****************************************************************************/
+#define CP_AUTHBS_WIDTH 18
+#define CP_ROAM_INDI_WIDTH 8
+
+/*****************************************************************************
+ * Prototypes
+ ****************************************************************************/
+
+kal_uint8 cpGetField8 (kal_uint8* buffer, kal_uint16* index, kal_uint8 width);
+kal_uint16 cpGetField16 (kal_uint8* buffer, kal_uint16* index, kal_uint8 width);
+kal_uint32 cpGetField32 (kal_uint8* buffer, kal_uint16* index, kal_uint8 width);
+kal_uint8 cpGetByteArray (kal_uint8* dest, kal_uint16* index, kal_uint8* src, kal_uint8 len,
+ kal_uint8 maxLen, kal_bool appendNull);
+kal_uint8 cpGetBitArray (kal_uint8* dest, kal_uint8* src, kal_uint16* index, kal_uint8 len);
+
+void cpPutReset (kal_uint16 bufferLength);
+kal_bool __cpPutField8 (kal_uint8* buffer, kal_uint16* index, kal_uint8 width, kal_uint8 field, kal_uint16 bufferLength);
+kal_bool __cpPutField16 (kal_uint8* buffer, kal_uint16* index, kal_uint8 width, kal_uint16 field, kal_uint16 bufferLength);
+kal_bool __cpPutField32 (kal_uint8* buffer, kal_uint16* index, kal_uint8 width, kal_uint32 field, kal_uint16 bufferLength);
+void cpPutByteArray (kal_uint8* dest, kal_uint16* index, kal_uint8* src, kal_uint8 len);
+kal_bool cpGetOverflow (void);
+
+#define CP_ONE_BIT_WIDTH 1
+#define CP_TWO_BIT_WIDTH 2
+#define CP_THREE_BIT_WIDTH 3
+#define CP_FOUR_BIT_WIDTH 4
+#define CP_FIVE_BIT_WIDTH 5
+#define CP_SIX_BIT_WIDTH 6
+#define CP_SEVEN_BIT_WIDTH 7
+#define CP_EIGHT_BIT_WIDTH 8
+#define CP_NINE_BIT_WIDTH 9
+#define CP_TEN_BIT_WIDTH 10
+#define CP_ELEVEN_BIT_WIDTH 11
+#define CP_TWELVE_BIT_WIDTH 12
+#define CP_THIRTEEN_BIT_WIDTH 13
+#define CP_FOURTEEN_BIT_WIDTH 14
+#define CP_FIFTEEN_BIT_WIDTH 15
+#define CP_SIXTEEN_BIT_WIDTH 16
+#define CP_THIRTY_TWO_BIT_WIDTH 32
+#define CP_MAX_PUTFIELD_BUFFER_SIZE 65535
+#define CP_LOCAL_MAX_PUTFIELD_BUFFER_SIZE 65535
+#define cpPutField8(buffer,index,width,value)\
+ __cpPutField8(buffer,index,width,value,CP_LOCAL_MAX_PUTFIELD_BUFFER_SIZE)
+#define cpPutField16(buffer,index,width,value)\
+ __cpPutField16(buffer,index,width,value,CP_LOCAL_MAX_PUTFIELD_BUFFER_SIZE)
+#define cpPutField32(buffer,index,width,value)\
+ __cpPutField32(buffer,index,width,value,CP_LOCAL_MAX_PUTFIELD_BUFFER_SIZE)
+#endif /* _FIELD_H */
+
+
+
+
+
+
+
+/**Log information: \main\CBP80\cbp80_gdeng_scbp10099\1 2012-07-27 09:00:26 GMT gdeng
+** SCBP#10099 **/
+/**Log information: \main\Trophy_SO73\1 2013-07-09 05:02:28 GMT gdeng
+** HREF#0000 see scbp11634**/
+/**Log information: \main\Trophy\1 2013-07-17 08:11:42 GMT cshen
+** href#2222**/
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/Ilistmgr.h b/mcu/interface/protocol/as_c2k/1xrtt/Ilistmgr.h
new file mode 100644
index 0000000..ed85af0
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/Ilistmgr.h
@@ -0,0 +1,187 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/***************************************************************************
+ *
+ * Module: ilistmgr.c
+ *
+ * Purpose: This file contains the interface for the Isotel List
+ * Manager utility. The lists contain fixed size elements
+ * and are themselves fixed in number of entries.
+ *
+ ***************************************************************************
+ *
+ ***************************************************************************
+ *
+ * RCS Log Information
+ *
+ * $Revision: 1.2 $
+ * $Author: fpeng $
+ *
+ * $Log: ilistmgr.h $
+ * Revision 1.2 2004/03/25 12:08:51 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:38:48 fpeng
+ * Initial revision
+ * Revision 1.4 2002/06/06 13:12:57 chinh
+ * Changed and Added Copyright
+ * Revision 1.3 2001/11/08 12:19:53 AMALA
+ * Deleted compiler switch SYS_SEL_1_CBP3_MERGE &
+ * associated non-compiled code.
+ * Revision 1.2 2001/09/17 14:10:44 AMALA
+ * CBP3 System Selection port
+ * Revision 1.1 2001/01/17 10:58:52 plabarbe
+ * Initial revision
+ * Revision 1.1 2000/10/24 14:11:17 fpeng
+ * Initial revision
+ * Revision 1.3 2000/08/23 22:09:07Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes.
+ * Revision 1.8 1999/09/04 02:48:45 scotvold
+ * Added function iListReserveHead() that reserves a record
+ * at the head of the list.
+ *
+ * Revision 1.7 1999/06/04 23:27:26 scotvold
+ * New Message Transmitter.
+ *
+ * Revision 1.6 1998/10/20 23:58:23 mhayduk
+ * Added T53 support.
+ *
+ * Revision 1.5 1998/08/28 14:46:51 scotvold
+ * Added iListDeleteRecord() call.
+ *
+ * Revision 1.4 1998/07/29 04:21:11 mhayduk
+ * Added new prototype for iListReadnext().
+ *
+ * Revision 1.3 1998/06/08 21:48:25 scotvold
+ * Updated for Release 0.06.
+ *
+ * Revision 1.2 1998/03/30 23:26:03 mhayduk
+ * Release 0.03.
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+
+#ifndef _ILISTMGR_H_
+
+ #define _ILISTMGR_H_ 1
+
+/*****************************************************************************
+ * Structures and definitions
+ ****************************************************************************/
+ typedef struct
+ {
+ /* Static list descriptors */
+ kal_uint8* list;
+ kal_uint16 numRecords;
+ kal_uint16 recordSize;
+
+ /* Dynamic list descriptors */
+ kal_uint16 putIndex; /* next position to add entry */
+ kal_uint16 getIndex; /* next position to get/read entry */
+ kal_uint16 accessIndex; /* index set by last get/read used */
+ /* making updates and deletions */
+ kal_uint16 numInList; /* current number of entries */
+ } IListDesc;
+
+ /* Initializes the list */
+ void iListInit (IListDesc* listD, void* list, kal_uint16 numRecords,
+ kal_uint16 recordSize);
+
+ /* Returns number of records currently in the queue */
+ kal_uint16 iListNum (IListDesc* listD);
+
+ /* Returns number of unoccupied records in the queue */
+ kal_uint16 iListRoom (IListDesc* listD);
+
+ void iListFlush (IListDesc* listD);
+
+ /* Sets the index to first entry */
+ void iListTop(IListDesc* listD);
+
+ /* Returns KAL_FALSE if list is full */
+ kal_bool iListReserve (IListDesc* listD, void** entry);
+
+ /* Returns KAL_FALSE if list is full */
+ kal_bool iListReserveHead(IListDesc* listD, void** entry);
+
+ /* Returns KAL_FALSE if list is full */
+ kal_bool iListPut (IListDesc* listD, void* data);
+
+ /* Returns KAL_FALSE if queue is empty */
+ kal_bool iListGet (IListDesc* listD, void* data);
+
+ /* Read the next entry in the list */
+ kal_bool iListGetNext(IListDesc* listD, void* data);
+
+ /* Returns KAL_FALSE if queue is empty */
+ kal_bool iListGetIndex (IListDesc* listD, void* data, kal_uint16 index);
+
+ /* reads record at requested index */
+ kal_bool iListReadIndex (IListDesc* listD, void** entry, kal_uint16 index);
+
+ /* Returns KAL_FALSE if queue is empty */
+ kal_bool iListRead (IListDesc* listD, void** data);
+
+ /* set the entry pointer to next record entry */
+ kal_bool iListReadNext (IListDesc* listD, void** entry);
+
+ /* Update last read entry */
+ kal_bool iListUpdate (IListDesc* listD, void* data);
+
+ /* Delete last read entry */
+ kal_bool iListDelete (IListDesc* listD);
+
+ /* Delete a specified record */
+ kal_bool iListDeleteRecord (IListDesc* listD, void* record);
+
+ /* Delete a specified entry */
+ kal_bool iListDeleteEntry (IListDesc* listD, kal_uint16 entry);
+
+/* SNR CSS*/
+ /* Puts the entry atthe head of the list */
+ kal_bool iListPutHead(IListDesc* listD, void* data);
+
+#endif /* _ILISTMGR_H_ */
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/Ms_Cap_Db.h b/mcu/interface/protocol/as_c2k/1xrtt/Ms_Cap_Db.h
new file mode 100644
index 0000000..be3b4b7
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/Ms_Cap_Db.h
@@ -0,0 +1,193 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*****************************************************************************
+* FILE NAME : Ms_Cap_Db.h
+*
+* DESCRIPTION : Header file for Ms_Cap_Db.c
+*
+* HISTORY : See Log at end of file
+*
+*
+******************************************************************************
+*******************************************************************************/
+
+#ifndef _MS_CAP_DB_H_
+
+#define _MS_CAP_DB_H_ 1
+
+/*****************************************************************************
+ * Includes
+ ****************************************************************************/
+#include "Msg_defn.h"
+#include "Serv_cfg.h"
+#include "pch_msg.h"
+
+
+/*****************************************************************************
+ * Prototypes
+ ****************************************************************************/
+void cpInitMsCapDb( const MsCapDb* );
+void cpMsCapDbRestoreToDefaultValues( void );
+const MsCapDb* getMsCapDb( void );
+void cpSetSr1Supported( const kal_bool);
+void cpSetSr3Supported( const kal_bool);
+void cpSetOdSupported( const kal_bool);
+void cpSetRcClass1Supported( const kal_bool);
+void cpSetRcClass2Supported(const kal_bool);
+void cpSetRcClass3Supported(const kal_bool);
+void cpSetQpchSupported( const kal_bool );
+void cpSetEnhancedRc( const kal_bool );
+void cpSetForRcPref( const RcPrefType );
+void cpSetRevRcPref( const RcPrefType );
+void cpSetFchSupported( const kal_bool );
+void cpSetFchFrameSize( const FchFrameSizeType );
+void cpSetForFchRcMap( const ForRcType );
+void cpSetRevFchRcMap( const RevRcType );
+void cpSetDcchSupported( const kal_bool );
+void cpSetDcchFrameSize( const DcchFrameSizeType );
+void cpSetForDcchRcMap( const ForRcType );
+void cpSetRevDcchRcMap( const RevRcType );
+void cpSetGeoLocType( const GeoLocType );
+void cpSetRevFchGatingReq( const kal_bool );
+void cpSetStsSupported(const kal_bool );
+void cpSet3xCchSupported( const kal_bool );
+void cpSetWllSupported( const kal_bool );
+void cpSetSoBitmapInd( const ServOptBitmapInd );
+void cpSetTieredServices( const kal_bool );
+void cpSetMsCapDbChecksum( MsCapDb* );
+ForRcType cpConvForRcToBitType( const kal_uint8 forRc );
+RevRcType cpConvRevRcToBitType( const kal_uint8 revRc );
+PDCHChCfgType cpConvPDCHChCfgToBitType( const FcschChIndType ExtChInd );
+kal_bool cpIsForSchMuxOptionSupported( const kal_uint16 forSchMux );
+kal_bool cpIsRevSchMuxOptionSupported( const kal_uint16 revSchMux );
+kal_uint8 cpGetNumMuxOption( const TrafficChannelTypes channelType );
+kal_uint8 cpGetNumForSchMuxOption( const RateSetType rst );
+kal_uint8 cpGetNumRevSchMuxOption( const RateSetType rst );
+void cpValidateMsCapDbValues( MsCapDb* pMsCapDb );
+
+/*RC Map Field Supported by the MS */
+void cpFmtRcMap(kal_uint8* buffer, kal_uint16* index, kal_uint16 rcMap, kal_bool isFwd, kal_uint16 soRequested);
+void cpSet1xAdvancedSupported( kal_bool Cdma1xAdvSupported );
+kal_bool cpGet1xAdvancedSupported(void);
+#endif
+
+/*****************************************************************************
+* $Log: Ms_Cap_Db.h $
+*
+* 07 06 2017 sue.zhong
+* [MOLY00259241] [6293][C2K]Replace with KAL data type
+* Correct copyright file header
+* Revision 1.6 2005/05/20 14:19:24 vsethuraman
+* CR 6254 :- Added the InfoRecCapabilityMap and new enum's to reflect them.
+* Revision 1.5 2004/10/05 16:44:30 asharma
+* Fixed CR5104 & CR5228 for LGE Rel-C compliance.
+* Revision 1.4 2004/04/23 10:50:04 asharma
+* CBP6.1 (Phase-1) DV Data and Voice Call Setup changes.
+* Revision 1.3.1.4 2004/04/21 10:45:12 asharma
+* Revision 1.3.1.3 2004/04/21 10:22:22 asharma
+* Revision 1.3.1.2 2004/04/14 15:19:58 asharma
+* Revision 1.3 2004/04/06 14:02:15 dstecker
+* CBP6.1 release 1
+* Revision 1.2 2004/03/25 12:08:54 fpeng
+* Updated from 6.0 CP 2.5.0
+* Revision 1.2 2003/08/28 11:19:45 bcolford
+* Update for merge.
+* Revision 1.20 2003/08/06 09:52:33 yzhang
+* Revision 1.19 2003/05/08 18:09:26 hans
+* SCRM Duration And Duration Units field added to MS Cap DB
+* Revision 1.18 2003/04/01 09:30:54 byang
+* CR#1858: Promote private restoreToDefaultValues() to an
+* external cpMsCapDbRestoreToDefaultValues() function.
+* Revision 1.17 2003/02/24 14:51:05 bsharma
+* CR 1548; Created fields for DRS & CH_IND
+* Revision 1.16 2002/10/22 09:59:42 mclee
+* Add note to remove rlpCapBlopLen during next MS Cap cleanup.
+* Revision 1.15 2002/08/27 17:08:13 byang
+* Add new field to define the ping period during DCCH only mode.
+* Revision 1.14 2002/08/08 14:58:14 mclee
+* Add LocServ TCP & Orig entries to MS Cap Db
+* Revision 1.13 2002/07/31 17:09:35 hans
+* Support for other Band Class's added (cr474).
+* Revision 1.12 2002/06/06 13:13:35 chinh
+* Changed and Added Copyright
+* Revision 1.11 2002/04/18 09:50:34 mclee
+* Add new fields for new loc serv functionality
+* Revision 1.10 2002/04/03 15:05:55 byang
+* Changed the input argument for cpGetNumForSchMuxOption()
+* and cpGetNumRevSchMuxOption().
+* Add opMode to database.
+* Revision 1.9 2002/03/13 16:16:22 byang
+* CR341, 454, 472: Modified the format of the database because of
+* CR454. Other enhancements were made to reduce the size of the
+* database.
+*
+* Revision 1.8 2002/02/06 11:42:17 mclee
+* Add and modify encryption supported fields in Ms Cap Db. Remove prototype cpSetEncryptionType().
+* Revision 1.7 2001/11/13 17:27:07 byang
+* Made RcPrefType and RcTypes compatible.
+* Revision 1.6 2001/08/30 14:58:31 byang
+* Added function prototype declaration for RC type to PE defined
+* bitmap type convertion.
+* Revision 1.5 2001/08/29 15:33:15 akayvan
+* Added declaration for cpConvBandToBitType() to fix build warning.
+* Revision 1.4 2001/06/27 15:43:38 hans
+* Ms Cap Db updated with Channel Configuration Capability Information, Extended Multiplex Information and Band Subclass information for Extended Status / Status response message.
+* Revision 1.3 2001/04/27 16:35:19 byang
+* Added functionality to set the MS capability database from ETS
+* and to stored the database into DBM when the MS is powerd-
+* down. On power-up, the MS Cap. Db. is read from DBM.
+* Revision 1.2 2001/04/18 11:02:18 chinh
+* Fixed some MS capability problems
+* Revision 1.1 2001/01/17 18:59:04Z plabarbe
+* Initial revision
+* Revision 1.3 2000/12/05 17:44:28 byang
+* Idle mode - IS2000A Addendum modifications.
+* Revision 1.2 2000/11/27 13:09:41 chinh
+* Added new database items
+* Revision 1.1 2000/11/13 19:21:06Z byang
+* Initial revision
+*****************************************************************************/
+/**Log information: \main\CBP80\cbp80_cshen_scbp10103\1 2012-08-03 02:01:38 GMT cshen
+** cbp80_cshen_scbp10103**/
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/Msg_defn.h b/mcu/interface/protocol/as_c2k/1xrtt/Msg_defn.h
new file mode 100644
index 0000000..42faa71
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/Msg_defn.h
@@ -0,0 +1,2243 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Module: msg_defn.h - Traffic Channel Message Data Definitions
+ *
+ * Purpose: Header file containing structures for Traffic Channel Message
+ * Body Formats.
+ *
+ ****************************************************************************
+ *
+ * PVCS Header Information
+ *
+ * $Revision: 1.10 $
+ * $Author: bcolford $
+ *
+ * $Log: Msg_defn.h $
+ *
+ * 09 01 2017 lemon.xiong
+ * [MOLY00267484] [BIANCO][MT6763][C2K]coverity warning fix
+ *
+ * ut code
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ *
+ * 05 18 2017 peijun.zheng
+ * [MOLY00249027] [BIACNO][MT6763][New feature]C2K code release code modification
+ *
+ * Fix HSC code release build error and 1xRTT OTA message parse
+ *
+ * 05 17 2017 peijun.zheng
+ * [MOLY00249027] [BIACNO][MT6763][New feature]C2K code release code modification
+ *
+ * C2k code release.
+ * Revision 1.10 2005/10/05 14:46:15 bcolford
+ * Gating during soft handoff
+ * Revision 1.9.3.2 2005/09/30 16:04:33 bcolford
+ * Gating during soft handoff
+ * Revision 1.6 2005/09/02 09:53:20 winston
+ * Fix CR6926:Rev Gating during Soft Handoff
+ * Revision 1.9.3.1 2005/04/06 16:12:51 bcolford
+ * Duplicate revision
+ * Revision 1.9 2005/04/06 16:12:51 dstecker
+ * Added some of the new Rel A message definition
+ * Revision 1.8 2005/03/18 11:40:43 hans
+ * Merged code changes from CBP4.05 revision 2.02 to CBP4.05 revision 4.21.
+ * Revision 1.7 2004/09/28 16:44:19 hans
+ * Changes from CBP6.0 merged.
+ * Revision 1.5 2004/06/15 17:13:31 asharma
+ * Updated the 6.1 baseline with latest 6.0 code.
+ * Revision 1.4 2004/04/23 10:50:06 asharma
+ * CBP6.1 (Phase-1) DV Data and Voice Call Setup changes.
+ * Revision 1.3.1.2 2004/04/14 15:20:00 asharma
+ * Revision 1.3 2004/04/06 14:02:12 dstecker
+ * CBP6.1 release 1
+ * Revision 1.2 2004/03/25 12:08:54 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.2 2003/08/27 15:57:43 bcolford
+ * Updated for merge.
+ * Revision 1.25 2003/05/21 17:11:45 byang
+ * CR#570: Replace compiler flag with IS2000A with IS2000_REV_0.
+ * Revision 1.24 2003/03/04 09:43:43 mclee
+ * Add new Ext Release Indication
+ * Revision 1.23 2003/02/12 09:56:43 dstecker
+ * Added drop timer fields to the ActiveRecord structure
+ * Revision 1.22 2002/12/04 14:44:50 hans
+ * CR1648: OP mode setting is retrieved direct from ms cap db.
+ * Revision 1.21 2002/08/27 17:09:09 byang
+ * Fixed the message ID for ERRM and RRRM.
+ * Revision 1.20 2002/08/19 10:15:58 dstecker
+ * Change to new cadidate frequency message structure
+ * Revision 1.19 2002/07/15 11:48:08 chinh
+ * Added OddEvenIndicator enums (CR619).
+ * Revision 1.18 2002/07/11 18:32:54 byang
+ * CR #952: Added new field numDigits to structure BDTMFMData.
+ * Revision 1.17 2002/06/06 13:13:39 chinh
+ * Changed and Added Copyright
+ * Revision 1.16 2002/05/14 20:32:27 hans
+ * CR ID636 bug fix for retrievable and settable parameters.
+ * Revision 1.15 2002/05/08 16:48:26 byang
+ * Modified PwrMeasRepData data structure to accommodate
+ * forward supplemental channel.
+ * Revision 1.14 2002/04/23 16:47:37 dstecker
+ * Added scrIncluded flag to hard handoff (PhyHHOCfg) structure
+ * Revision 1.13 2002/03/15 15:30:52 dstecker
+ * Added member to PHDMData to keep track of if continous reverse pilot
+ * Revision 1.12 2002/02/19 14:33:33 akayvan
+ * RPC Mods. Updated PCNMData structure for the entire length of
+ * the Power Control Message if rpcIncl is KAL_TRUE.
+ * Revision 1.11 2001/11/20 12:31:32 mclee
+ * Remove CP_MAX_TMSI_ZONE_LEN define
+ * Revision 1.10 2001/11/13 17:32:35 byang
+ * Added message IDs, structure definitions, enumerations to
+ * support SCH - HSPD service.
+ * Revision 1.9 2001/10/31 10:54:24 akayvan
+ * trafficPilot type changes from kal_uint8 to kal_int8 in RLGain struct.
+ * Revision 1.8 2001/10/29 09:44:17 mclee
+ * Modified code to enforce kal_bool to strictly enum type KAL_TRUE or KAL_FALSE
+ * Revision 1.7 2001/09/07 18:05:18 akayvan
+ * Updated RTCMessageType, RxMsg data types, and added new
+ * data structures per FPC.
+ * Revision 1.6 2001/08/03 15:15:10 dstecker
+ * Modifications for IS2000 handoffs
+ * Revision 1.5 2001/07/18 15:11:42 chinh
+ * cbp3 porting for Idle and Access
+ * Revision 1.4 2001/06/18 15:12:35 chinh
+ * Added new variables to support information records in FWIM, FNM, and AWIM.
+ * Revision 1.3 2001/06/05 10:53:08 hans
+ * Message definitions added for IS2000 rev.0 Information Records
+ * Revision 1.2 2001/03/16 11:32:59 akayvan
+ * Traffic code phase1 added.
+ * Revision 1.1 2001/01/17 10:59:00 plabarbe
+ * Initial revision
+ * Revision 1.4 2000/12/05 17:44:31 byang
+ * Idle mode - IS2000A Addendum modifications.
+ * Revision 1.3 2000/11/27 13:11:12 chinh
+ * Added new item to enum RejectReason.
+ * Revision 1.2 2000/11/13 22:24:36Z byang
+ * IS-2000A Idle Mode and LAC intergration - Initial Release.
+ * Revision 1.1 2000/10/24 21:11:20Z fpeng
+ * Initial revision
+ * Revision 1.4 2000/09/09 00:01:29Z RSATTARI
+ * Added capability information field to the status request data structure.
+ * Revision 1.3 2000/08/23 22:09:19Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes.
+ * Revision 1.2 2000/03/01 18:15:12Z rsattari
+ * Isotel release 2.3 updates.
+ * Revision 1.45 2000/01/17 22:27:19 scotvold
+ * TC Backward Compatibility changes.
+ *
+ * Revision 1.44 1999/10/20 23:57:18 gfrye
+ * Added definitions for reserved assign modes 110 and 111.
+ *
+ * Revision 1.43 1999/09/02 23:54:25 scotvold
+ * Updated T53 HSPD to Rev. X7.
+ *
+ * Revision 1.42 1999/07/23 18:00:22 scotvold
+ * Changes to wbiosReportHandoff API call to indicate
+ * type of Hard Handoff.
+ *
+ * Revision 1.41 1999/07/21 21:12:30 scotvold
+ * Disjoint Active Set Hard Handoff Fix
+ * Same Pilot PN but different Code Channel.
+ *
+ * Revision 1.40 1999/06/20 06:23:32 scotvold
+ * Arm compiler warnings.
+ *
+ * Revision 1.39 1999/06/04 23:27:26 scotvold
+ * New Message Transmitter.
+ *
+ * Revision 1.38 1999/04/16 20:15:03 scotvold
+ * Lint fixes.
+ *
+ * Revision 1.37 1999/04/16 00:29:03 scotvold
+ * Added support for already encoded digits.
+ *
+ * Revision 1.36 1999/04/15 21:34:44 scotvold
+ * Added T53 GHDM support.
+ *
+ * Revision 1.35 1999/04/15 01:37:10 mhayduk
+ * Added encoded indication and num digits to data burst parms.
+ *
+ * Revision 1.34 1999/04/12 13:31:46 scotvold
+ * Added T53 HSPD support.
+ * Added 95B SCAM support.
+ * Added 95B GHDM support and consolidated with EHDM.
+ *
+ * Revision 1.33 1999/03/04 20:27:21 mhayduk
+ * Added enumerated list for SYS_ORDERING field.
+ *
+ * Revision 1.32 1999/02/22 05:32:16 scotvold
+ * Removed unused structure.
+ *
+ * Revision 1.31 1999/02/20 00:39:52 scotvold
+ * Added message encryption support.
+ *
+ * Revision 1.30 1999/02/08 22:53:37 scotvold
+ * RejectReason and FORInfoData structures added.
+ *
+ * Revision 1.29 1999/02/05 02:24:44 scotvold
+ * Release Indication changes.
+ * Origination Continuation changes.
+ *
+ * Revision 1.28 1999/01/26 18:50:53 scotvold
+ * R1.2 API changes.
+ *
+ * Revision 1.27 1999/01/19 22:47:07 mhayduk
+ * Added reverse order qualifier definitions for release.
+ *
+ * Revision 1.26 1999/01/19 18:53:49 scotvold
+ * T53 structure changes.
+ *
+ * Revision 1.25 1999/01/09 00:34:37 scotvold
+ * Structure changes for R1.20.
+ *
+ * Revision 1.24 1999/01/05 00:28:54 mhayduk
+ * Updated for new API release.
+ *
+ * Revision 1.23 1998/12/02 00:08:23 scotvold
+ * Statistic modifications.
+ *
+ * Revision 1.22 1998/11/27 17:42:59 mhayduk
+ * Added release order order qualifiers.
+ *
+ * Revision 1.21 1998/11/24 22:42:53 mhayduk
+ * Renamed reserved encrypt mode enum entry.
+ *
+ * Revision 1.20 1998/11/24 05:40:36 mhayduk
+ * Cleaned up definitions for checking of TMSI Zone length -
+ * max zone size is 8.
+ *
+ * Revision 1.19 1998/11/02 22:11:47 scotvold
+ * Moved MAX SIZE defn to custom.h.
+ *
+ * Revision 1.18 1998/10/20 23:58:23 mhayduk
+ * Added T53 support.
+ *
+ * Revision 1.17 1998/09/25 00:29:35 scotvold
+ * Table tracing cleanup.
+ *
+ * Revision 1.16 1998/09/21 23:11:54 dfischer
+ * Set CP_CF_PERIODIC_SEARCH to 3
+ *
+ * Revision 1.15 1998/09/11 02:37:48 scotvold
+ * Variable type changes.
+ *
+ * Revision 1.14 1998/08/28 21:47:40 mhayduk
+ * Fixes from linting.
+ *
+ * Revision 1.13 1998/08/21 22:52:31 scotvold
+ * Added define.
+ *
+ * Revision 1.12 1998/08/17 23:04:22 scotvold
+ * Added longcode enum.
+ *
+ * Revision 1.11 1998/08/13 00:13:56 scotvold
+ * Null terminator for digit.
+ *
+ * Revision 1.10 1998/07/14 23:45:17 scotvold
+ * Lint fixes.
+ *
+ * Revision 1.9 1998/07/14 17:28:04 scotvold
+ * Minor changes.
+ *
+ * Revision 1.8 1998/07/03 16:57:30 dfischer
+ * New load
+ *
+ * Revision 1.7 1998/06/12 14:50:38 scotvold
+ * Updated for Release 0.07.
+ *
+ * Revision 1.6 1998/06/10 22:56:34 scotvold
+ * Candidate Frequency structure updates
+ *
+ * Revision 1.5 1998/06/08 21:48:25 scotvold
+ * Updated for Release 0.06.
+ *
+ * Revision 1.3 1998/05/27 17:16:28 scotvold
+ * Updated for Release 0.05.
+ *
+ * Revision 1.2 1998/05/01 18:13:54 scotvold
+ * Update for release 0.04
+ *
+ * Revision 1.1 1998/03/30 23:26:03 mhayduk
+ * Initial revision
+ *
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+
+#ifndef _MSG_DEFN_H
+#define _MSG_DEFN_H 1
+
+/*****************************************************************************
+ * Includes
+ ****************************************************************************/
+#include "custom.h"
+#include "pilots.h"
+#include "longcode.h"
+#include "Serv_cfg.h"
+#include "systime.h"
+#include "cssapi.h"
+#include "Field.h"
+#include "sync_msg.h"
+#include "pswapi.h"
+
+/****************************************************************************
+ * Defines
+ ****************************************************************************/
+
+#define CP_TC_MAX_MSG_SIZE 255
+
+#define CP_MIN_ACTION_TIME_FRAMES 2
+
+#define CP_NOM_PWR_SIGN_BIT_SET 0x08
+
+#define PLCM39_SIZE ( (CP_PLCM_39+7) >> 3 )
+
+/* ORDQ values */
+#define CP_NO_ORDQ 0
+#define CP_FOR_NO_ORDQ 0
+#define CP_SUCCESS_ORDQ 0
+#define CP_LOCK_ORDQ 16
+#define CP_REG_ACCEPTED_ORDQ 0
+#define CP_REG_REQUEST_ORDQ 1
+#define CP_REG_REJECT_ORDQ 2
+#define CP_REG_REJECT_DEL_TMSI_ORDQ 4
+#define CP_REG_ACCEPT_ROAMI_ORDQ 5
+#define CP_REG_ACCEPT_ROAMI_ORDQ2 7
+
+#define CP_FAIL_ORDQ 1
+#define CP_UNLOCK_ORDQ 255
+#define CP_MAINT_ORDQ 32
+#define CP_RELEASE_NO_REASON_ORDQ 0
+#define CP_RELEASE_SO_REJECT_ORDQ 2
+#define CP_ENH_RELEASE_ORDQ 3
+#define CP_RELEASE_POWER_DOWN_ORDQ 1
+#define CP_RELEASE_SERVICE_INACTIVE_ORDQ 2
+
+/* Data Burst burst types */
+#define EXTENDED_BURST_TYPE_INTERNATIONAL 0x3E
+#define EXTENDED_BURST_TYPE 0x3F
+
+
+
+/*************************************************************************/
+/************************ Enum Definitions *******************************/
+/*************************************************************************/
+
+
+
+
+typedef enum
+{
+ CP_AC_WIDE_ANALOG_CHANNEL,
+ CP_AC_NARROW_ANALOG_CHANNEL_BELOW,
+ CP_AC_NARROW_ANALOG_CHANNEL_ABOVE,
+ CP_AC_NARROW_ANALOG_CHANNEL_CENTERED
+} AnalogChannel;
+
+
+typedef enum
+{
+ CP_CF_SEARCH_CDMA,
+ CP_CF_SEARCH_ANALOG
+} CFSrchMode;
+
+
+typedef enum
+{
+ CP_CF_STOP_PERIODIC_SEARCH,
+ CP_CF_SINGLE_SEARCH,
+ CP_CF_PERIODIC_SEARCH = 3
+} CFSrchType;
+
+
+/* Table values in Channel Assignment Message */
+/* Table values in Extended Channel Assignment Message */
+/* IS-95B: Table 7.7.2.3.2.8-1 and Table 7.7.2.3.2.21-1 combined */
+/* IS-2000A: Table 3.7.2.3.2.8-1 and Table 3.7.2.3.2.21.-1 combined */
+/* Note that CP_PAGE_EXT_TC_ASSIGN is given a unique value to allow */
+/* all the actions to be combined in 1 handler */
+typedef enum
+{
+ CP_TRAFFIC_CHANNEL_ASSIGNMENT,
+ CP_PAGING_CHANNEL_ASSIGNMENT,
+ CP_ACQUIRE_ANALOG_SYSTEM,
+ CP_ANALOG_VOICE_CHANNEL_ASSIGNMENT,
+ CP_EXT_TRAFFIC_CHANNEL_ASSIGNMENT,
+ CP_EXT_PAGING_CHANNEL_ASSIGNMENT,
+ CP_RSVD_ASSIGN_MODE_110,
+ CP_RSVD_ASSIGN_MODE_111,
+ CP_EXT_CHANNEL_ASSIGNMENT_TRAFFIC_CHANNEL_ASSIGNMENT,
+ CP_EXT_CHANNEL_ASSIGNMENT_PAGING_CHANNEL_ASSIGNMENT,
+ CP_EXT_CHANNEL_ASSIGNMENT_ACQUIRE_ANALOG_SYSTEM,
+ CP_EXT_CHANNEL_ASSIGNMENT_ANALOG_VOICE_CHANNEL_ASSIGNMENT,
+ CP_EXT_CHANNEL_ASSIGNMENT_ENH_TRAFFIC_CHANNEL_ASSIGNMENT,
+ CP_EXT_CHANNEL_ASSIGNMENT_PDCH_TRAFFIC_CHANNEL_ASSIGNMENT
+} ChannelAssignmentMode;
+
+
+typedef enum
+{
+ CP_EM_ENCRYPTION_DISABLED,
+ CP_EM_BASIC_ENCRYPTION,
+ CP_EM_ENHANCED_ENCRYPTION,
+ CP_EM_EXTENDED_ENCRYPTION
+} EncryptMode;
+
+
+typedef enum
+{
+ CP_FOR_SUP_CODE_CHAN_STOP_PROC,
+ CP_FOR_SUP_CODE_CHAN_START_PROC,
+ CP_FOR_SUP_CODE_CHAN_UPDATE_STOP_PROC,
+ CP_FOR_SUP_CODE_CHAN_UPDATE_START_PROC
+} ForSupCodeConfig;
+
+
+typedef enum
+{
+ CP_RETRY_ORDER_CLEAR_ALL,
+ CP_RETRY_ORDER_ORIGINATION,
+ CP_RETRY_ORDER_RESOURCE_RQST,
+ CP_RETRY_ORDER_SUP_CHAN_RQST,
+ CP_RETRY_ORDER_MAX_TYPES
+} RetryDelayType;
+
+typedef enum
+{
+ CP_FOR_NO_ORDER,
+ CP_FOR_ABBREVIATED_ALERT_ORDER,
+ CP_FOR_BASE_STATION_CHALLENGE_CONFIRMATION_ORDER,
+ CP_FOR_MESSAGE_ENCRYPTION_MODE_ORDER,
+ CP_FOR_REORDER_ORDER,
+ CP_FOR_PARAMETER_UPDATE_ORDER,
+ CP_FOR_AUDIT_ORDER,
+ CP_FOR_INTERCEPT_ORDER = 9,
+ CP_FOR_MAINTENANCE_ORDER,
+ CP_FOR_BASE_STATION_ACKNOWLEDGEMENT_ORDER = 16,
+ CP_FOR_PILOT_MEASUREMENT_REQUEST_ORDER,
+ CP_FOR_MAINTENANCE_REQUIRED_ORDER,
+ CP_FOR_SERVICE_OPTION_REQUEST_ORDER,
+ CP_FOR_SERVICE_OPTION_RESPONSE_ORDER,
+ CP_FOR_RELEASE_ORDER,
+ CP_FOR_LONG_CODE_TRANSITION_REQUEST_ORDER = 23,
+ CP_FOR_CONTINUOUS_DTMF_TONE_ORDER = 25,
+ CP_FOR_STATUS_REQUEST_ORDER,
+ CP_FOR_REGISTRATION_ORDER,
+ CP_FOR_SERVICE_OPTION_CONTROL_ORDER = 29,
+ CP_FOR_LOCAL_CONTROL_ORDER,
+ CP_FOR_SLOTTED_MODE_ORDER = 31,
+ CP_FOR_RETRY_ORDER = 32,
+ CP_FOR_BASE_STATION_CAN_NOT_DECRYPT_REJECT_ORDER,
+ CP_FOR_TRANSIT_TO_IDLE_ORDER,
+ CP_FOR_MAX_ORDERS
+} ForwardOrderCode;
+
+
+
+typedef enum
+{
+ CP_FTC_LOCK_UNTIL_POWER_CYCLED_ORDQ = 1,
+ CP_FTC_MAINTENANCE_REQUIRED_ORDQ
+} FTCOrdqCode;
+
+
+typedef enum
+{
+ LC_REQUEST_PUBLIC = 0,
+ LC_REQUEST_PRIVATE,
+ LC_USE_PUBLIC,
+ LC_USE_PRIVATE
+} BSLongcode;
+
+typedef enum
+{
+ CP_OP_MODE0, /* CP_OM_IS95_CDMA_MODE_BAND_CLASS_1 */
+ CP_OP_MODE1, /* CP_OM_IS95_CDMA_MODE_BAND_CLASS_0 */
+ CP_OP_MODE2, /* CP_OM_IS95_ANALOG_MODE */
+ CP_OP_MODE3, /* CP_OM_IS91_WIDE_ANALOG_MODE */
+ CP_OP_MODE4 /* CP_OM_IS91_NARROW_ANALOG_MODE */
+} OpMode;
+
+
+typedef enum
+{
+ CP_QIT_NONE,
+ CP_QIT_BAND_CLASS,
+ CP_QIT_BAND_CLASS_AND_OP_MODE
+} QualInfoType;
+
+
+typedef enum
+{
+ CP_RO_NO_REJECT,
+ CP_RO_UNSPECIFIED_REASON,
+ CP_RO_MSG_NOT_ACCEPTED_IN_THIS_STATE,
+ CP_RO_MSG_STRUCTURE_NOT_ACCEPTABLE,
+ CP_RO_MSG_FIELD_NOT_IN_VALID_RANGE,
+ CP_RO_MSG_TYPE_OR_ORDER_CODE_NOT_UNDERSTOOD,
+ CP_RO_MSG_REQUIRES_CAPABILITY_NOT_SUPPORTED,
+ CP_RO_MSG_UNACCEPTABLE_FOR_CURRENT_CONFIG,
+ CP_RO_RESP_MSG_WOULD_EXCEED_MAX_LENGTH,
+ CP_RO_INFO_REC_NOT_SUPPORTED,
+ CP_RO_SEARCH_SET_NOT_SPECIFIED,
+ CP_RO_INVALID_SEARCH_REQUEST,
+ CP_RO_INVALID_FREQUENCY_ASSIGNMENT,
+ CP_RO_SEARCH_PERIOD_TOO_SHORT,
+ CP_RO_RC_NOT_MATCH_WITH_DEFAULT,
+ CP_RO_PLCM_TYPE_NOT_MATCH = 28,
+ CP_RO_GEM_REC_TYPE_NOT_SUPPORTED = 29,
+ CP_RO_GEM_REC_FIELD_NOT_IN_VALID_RANGE = 30,
+ CP_RO_GEM_REC_FIELD_NOT_SUPPORTED = 31,
+ CP_RO_GEM_REC_NOT_ACCEPTED = 32
+} RejectReason;
+
+typedef enum
+{
+ CP_RO_NORMAL_RELEASE_INDICATION,
+ CP_RO_POWER_DOWN_INDICATION
+} RejectOrderReleaseIndication;
+
+typedef enum
+{
+ CP_RI_MS_RELEASE_IND,
+ CP_RI_BS_RELEASE_NO_REASON_IND,
+ CP_RI_BS_RELEASE_SERVICE_OPTION_REJECT_IND,
+ CP_RI_POWER_DOWN_IND,
+ CP_RI_BS_EXT_RELEASE_IND,
+ CP_RI_MS_SVC_INACTIVE_IND,
+ CP_RI_BS_SRV_REDIRECTION_IND,
+ CP_RI_BS_SRV_NDSS_OFF_IND
+ #ifdef KDDI_EXTENSIONS
+ ,CP_RI_BS_FWIM_RELEASE_IND
+ #endif
+} ReleaseIndication;
+
+
+typedef enum
+{
+ SR_ACCEPT_PROPOSED_SERVICE_CONFIGURATION,
+ SR_REJECT_PROPOSED_SERVICE_CONFIGURATION,
+ SR_PROPOSE_SERVICE_CONFIGURATION
+} ReqRespPurpose;
+
+
+
+typedef enum
+{
+ CP_REV_NO_ORDER = 0,
+ CP_REV_BASE_STATION_CHALLENGE_ORDER = 2,
+ CP_REV_SSD_UPDATE_ORDER,
+ CP_REV_PARAMETER_UPDATE_CONFIRMATION_ORDER = 5,
+ CP_REV_REQUEST_ANALOG_SERVICE_ORDER = 11,
+ CP_REV_MS_ACKNOWLEDGEMENT_ORDER = 16,
+ CP_REV_SERVICE_OPTION_REQUEST_ORDER = 19,
+ CP_REV_SERVICE_OPTION_RESPONSE_ORDER,
+ CP_REV_RELEASE_ORDER,
+ CP_REV_LONG_CODE_TRANSITION_REQ_RESP_ORDER = 23,
+ CP_REV_CONNECT_ORDER,
+ CP_REV_CONTINUOUS_DTMF_TONE_ORDER,
+ CP_REV_SERVICE_OPTION_CONTROL_ORDER = 29,
+ CP_REV_LOCAL_CONTROL_RESPONSE_ORDER,
+ CP_REV_MOBILE_STATION_REJECT_ORDER,
+ CP_REV_CALL_RESCUE_CANCEL_ORDER,
+ CP_REV_MAX_ORDERS
+} ReverseOrderCode;
+
+
+typedef enum
+{
+ CP_SR_REJECT_SERV_CFG = 1,
+ CP_SR_PROPOSE_SERV_CFG
+} ServNegPurpose;
+
+typedef enum
+{
+ CP_TONE_DIAL,
+ CP_TONE_RING_BACK,
+ CP_TONE_INTERCEPT,
+ CP_TONE_ABBREVIATED_INTERCEPT,
+ CP_TONE_NETWORK_CONGESTION,
+ CP_TONE_ABBREVIATED_NETWORK_CONGESTION,
+ CP_TONE_BUSY,
+ CP_TONE_CONFIRM,
+ CP_TONE_ANSWER,
+ CP_TONE_CALL_WAITING,
+ CP_TONE_PIP,
+ CP_TONE_TONES_OFF = 63
+} StToneSignal;
+
+
+typedef enum
+{
+ CP_ISDN_NORMAL_ALERTING,
+ CP_ISDN_INTERGROUP_ALERTING,
+ CP_ISDN_SPECIAL_PRIORITY_ALERTING,
+ CP_ISDN_PING_RING = 4,
+ CP_ISDN_ALERTING_OFF = 15
+} StISDNAlerting;
+
+
+typedef enum
+{
+ CP_IS54B_NO_TONE,
+ CP_IS54B_LONG,
+ CP_IS54B_SHORT_SHORT,
+ CP_IS54B_SHORT_SHORT_LONG,
+ CP_IS54B_SHORT_SHORT_2,
+ CP_IS54B_SHORT_LONG_SHORT,
+ CP_IS54B_SHORT_SHORT_SHORT_SHORT,
+ CP_IS54B_PBX_LONG,
+ CP_IS54B_PBX_SHORT_SHORT,
+ CP_IS54B_PBX_SHORT_SHORT_LONG,
+ CP_IS54B_PBX_SHORT_LONG_SHORT,
+ CP_IS54B_PBX_SHORT_SHORT_SHORT_SHORT,
+ CP_IS54B_PIP_PIP_PIP_PIP
+} StIS54BAlerting;
+
+
+
+
+
+typedef enum
+{
+ CP_STATUS_INFO_REC_RSVD = 6,
+ CP_STATUS_INFO_REC_CALL_MODE,
+ CP_STATUS_INFO_REC_TERMINAL_INFORMATION,
+ CP_STATUS_INFO_REC_ROAMING_INFORMATION,
+ CP_STATUS_INFO_REC_SECURITY_STATUS,
+ CP_STATUS_INFO_REC_IMSI = 12,
+ CP_STATUS_INFO_REC_ESN,
+ CP_STATUS_INFO_REC_BAND_CLASS_INFORMATION,
+ CP_STATUS_INFO_REC_POWER_CLASS_INFORMATION,
+ CP_STATUS_INFO_REC_OPERATING_MODE_INFORMATION,
+ CP_STATUS_INFO_REC_SERVICE_OPTION_INFORMATION,
+ CP_STATUS_INFO_REC_MULTIPLEX_OPTION_INFORMATION,
+ CP_STATUS_INFO_REC_SERVICE_CONFIGURATION,
+ CP_STATUS_INFO_REC_POWER_CONTROL_INFORMATION,
+ CP_STATUS_INFO_REC_IMSI_M,
+ CP_STATUS_INFO_REC_IMSI_T
+} StatusInformationRecordType;
+
+
+typedef enum
+{
+ CP_SYS_ORDERING_A_OR_B,
+ CP_SYS_ORDERING_A_ONLY,
+ CP_SYS_ORDERING_B_ONLY,
+ CP_SYS_ORDERING_A_THEN_B,
+ CP_SYS_ORDERING_B_THEN_A,
+ CP_SYS_ORDERING_A_OR_B_ALT,
+ CP_SYS_ORDERING_RSVD
+} SysOrdering;
+
+typedef enum
+{
+ TC_FMT_OK,
+ TC_FMT_MTX_Q_FULL,
+ TC_FMT_OVERFLOW,
+ TC_FMT_MSG_FIELD_NOT_IN_VALID_RANGE
+} TCFmtResult;
+
+
+typedef enum
+{
+ CP_TC_CH_IND_000 = 0,
+ CP_TC_CH_IND_001 = 1,
+ CP_TC_CH_IND_010 = 2,
+ CP_TC_CH_IND_011 = 3,
+ CP_TC_CH_IND_100 = 4,
+ CP_TC_CH_IND_101 = 5,
+ CP_TC_CH_IND_110 = 6,
+ CP_TC_CH_IND_111 = 7
+} TCChInd;
+
+
+typedef enum
+{
+ CP_TC_EXT_CH_IND_00000 = 0, /* reserved */
+ CP_TC_EXT_CH_IND_00001 = 1, /* F-PDCH + F-CPPCH + R-FCH */
+ CP_TC_EXT_CH_IND_00010 = 2, /* F-PDCH + F-CPPCH + R-DCCH */
+ CP_TC_EXT_CH_IND_00011 = 3, /* F-PDCH + F/R-FCH */
+ CP_TC_EXT_CH_IND_00100 = 4, /* F-PDCH + F/R-DCCH */
+ CP_TC_EXT_CH_IND_00101 = 5, /* F-PDCH + F/R-FCH + R-DCCH */
+ CP_TC_EXT_CH_IND_00110 = 6 /* F-PDCH + F/R-FCH + F/R-DCCH */
+} TCExtChInd;
+
+
+typedef enum
+{
+ CP_TC_GATING_RATE_ONE = 0,
+ CP_TC_GATING_RATE_HALF = 1,
+ CP_TC_GATING_RATE_QUARTER = 2,
+ CP_TC_GATING_RATE_RESERVED = 3
+} TCGatingRate;
+
+typedef enum
+{
+ CP_TC_FPC_MODE_000 = 0,
+ CP_TC_FPC_MODE_001 = 1,
+ CP_TC_FPC_MODE_010 = 2,
+ CP_TC_FPC_MODE_011 = 3
+} TCFpcMode;
+
+typedef enum
+{
+ CP_SCH_RATE_0,
+ CP_SCH_RATE_1,
+ CP_SCH_RATE_2,
+ CP_SCH_RATE_3,
+ CP_SCH_RATE_4,
+ CP_SCH_RATE_5,
+ CP_SCH_RATE_6,
+ CP_SCH_RATE_7,
+ CP_SCH_RATE_8,
+ CP_SCH_RATE_NDX_INVALID
+} SchRateIndex;
+
+typedef enum
+{
+ CP_FWD_GE_REV_CHANNEL_INFO_REC,
+ CP_FWD_GE_RADIO_CFG_PARMS_REC,
+ CP_FWD_GE_DELAYED_ARQ_REC,
+ CP_FWD_GE_INVALID_REC
+} FwdGenExtensionRecType;
+
+typedef enum
+{
+ CP_REV_GE_SUPPORTED_BAND_CLASS_REC,
+ CP_REV_GE_ADD_GEO_LOC_TYPE_REC,
+ CP_REV_GE_INVALID_REC
+} RevGenExtensionRecType;
+
+/*************************************************************************/
+/********************* Misc. Structure Definitions ***********************/
+/*************************************************************************/
+
+/* >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
+/* >>> Supplemental channel stuff */
+/* >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
+#define CP_MAX_REV_CFG_RECS 32
+#define CP_MAX_REV_SCH 2
+#define CP_MAX_SUP_SHO 8
+#define CP_MAX_FOR_CFG_RECS 32
+#define CP_MAX_FOR_SCH 2
+#define CP_MAX_SUP 2
+#define CP_MAX_3X_REC 32
+#define CP_MAX_RPC_NUM_SUP 2
+#define CP_MAX_CPCCH_NUM_PILOTS 7
+#define CP_MAX_CQICH_ATT_ADJ_GAIN_REC 2
+
+typedef struct
+{
+ kal_uint8 forSchId;
+ kal_uint8 forSchDuration;
+ kal_bool forSchStartTimeIncl;
+ kal_uint8 forSchStartTime;
+ kal_uint8 scclIndex;
+} ForSch;
+
+typedef struct
+{
+ kal_uint8 revSchId;
+ kal_uint8 revSchDuration;
+ kal_bool revSchStartTimeIncl;
+ kal_uint8 revSchStartTime;
+ SchRateIndex revSchRate;
+} RevSch;
+
+typedef struct
+{
+ kal_bool id; /* Forward Supplemental Channel identifier */
+ kal_uint8 scclIndex; /* Supplemental Channel Code list index */
+ SchRateIndex rate; /* Forward Supplemental Channel Rate */
+} ForActSetSch;
+
+typedef struct
+{
+ kal_bool id; /* Reverse Supplemental Channel identifier */
+ kal_uint8 walshId; /* Reverse Supplemental Channel Walsh cover Identifier*/
+ SchRateIndex rate; /* Reverse Supplemental Channel Rate */
+} RevActSetSch;
+
+typedef struct
+{
+ kal_bool clearRetryDelay; /* Clear Retry Delay */
+ kal_uint8 numForSch; /* Number forward supplemental records */
+ ForSch forSup[CP_MAX_FOR_SCH]; /* Forward supplemental records */
+ kal_uint8 numRevSch; /* Number reverse supplemental records */
+ RevSch revSup[CP_MAX_REV_SCH]; /* Reverse supplemental records */
+ kal_uint8 numForActSetSch; /* Number of forward active set */
+ /* supplemental channel records */
+ ForActSetSch forActSetSch[CP_MAX_FOR_CFG_RECS];/* Forward active set Supplemental */
+ /* channel record */
+ kal_uint8 numRevActSetSch; /* Number of reverse active set */
+ /* supplemental channel records */
+ RevActSetSch revActSetSch[CP_MAX_REV_CFG_RECS]; /* Forward active set Supplemental */
+ /* channel record */
+} SchCfg;
+
+typedef struct
+{
+ kal_uint8 forSchId; /* Forward supplemental channel identifier */
+ kal_uint8 scclIndex; /* Supplemental channel code list index */
+ kal_bool pilotIncl; /* corresponding pilot included in */
+ /* supplemental channel active set indicator */
+ kal_uint16 codeChanSch; /* Code channel on the supplemental channel */
+ kal_uint8 qofMaskIdSch; /* Quasi-orthogonal function index */
+} SchRecT;
+
+/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< */
+/* <<< Supplemental channel stuff */
+/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< */
+
+typedef struct
+{
+ kal_uint16 pilotPN;
+ kal_bool pwrCombInd;
+ kal_uint8 fundCodeChan;
+} ActiveInitPilot;
+
+typedef struct
+{
+ kal_uint8 tdPowerLevel; /* Transmit Diversity Power Level, see Table 3.7.6.1-1, IS2000.5-A */
+ kal_uint8 tdMode; /* Transmit Diversity Mode, see Table 3.7.6.1-2, IS2000.5-A */
+} X1CommPilotTdT;
+
+typedef union
+{
+ X1CommPilotTdT pilotType0;
+ /* TBD: REV A add auxilary pilots */
+} PilotRecT;
+
+typedef struct
+{
+ kal_uint16 pilotPN;
+ kal_bool pwrCombInd;
+ kal_uint16 codeChan; /* CBP6.1 definition */
+ kal_uint16 codeChanFCH; /* CPB6.0 definition Hans Chistiansen 080504 */
+ kal_uint16 codeChanDcch; /*dcch field valid only if ch_ind =2 or 3*/
+ kal_uint8 qofMaskIdFch; /* Qof for FCH, see Table 3.1.3.1.12-2, IS2000.2A, valid if ChInd == 1 or 3 */
+ kal_uint8 qofMaskIdDcch; /* Qof for DCCH, see Table 3.1.3.1.12-2, IS2000.2A, valid if ChInd == 2 or 3 */
+ kal_uint8 srchOffset; /* search offset (0=not included) */
+ kal_uint8 srchWinNghbr; /* Used in case Active PN demoted to Neighbor set */
+ kal_bool addPilotRecIncl;/* 0 for common pilot, 1 for others */
+ kal_uint8 pilotRecType; /* see Table 3.7.2.3.2.21-6, IS2000.5-A, valid only if AddPilotRecIncl = 1 */
+ PilotRecT pilotRec; /* union, valid only if AddPilotRecIncl = 1 */
+ kal_bool dropTimerEnabled;
+ kal_uint16 dropTimer;
+} ActiveRecord;
+
+
+typedef struct
+{
+ kal_uint8 numPilots;
+ ActiveRecord actRec[CP_MAX_ACTIVE_SET];
+} FTCActiveList;
+
+
+typedef struct
+{
+ kal_uint16 pilotPN;
+ kal_bool pwrCombInd;
+ kal_uint16 codeChanFCH;
+ kal_uint16 qofMaskIdFCH; /* Quasi-orthogonal function index */
+ /* FCH (inclusion based on chInd) */
+ kal_uint16 codeChanDCH; /* Code Channel DCCH (inclusion based on chInd)*/
+ kal_uint16 qofMaskIdDCH; /* Quasi-orthogonal function index */
+ /* DCCH (inclusion based on chInd) */
+ kal_uint8 srchOffset; /* Search Offset (0 = not included) */
+ kal_bool addPilotRecIncl;/* 0 for common pilot, 1 for others */
+ kal_uint8 pilotRecType; /* see Table 3.7.2.3.2.21-6, IS2000.5-A, valid only if AddPilotRecIncl = 1 */
+ PilotRecT pilotRec; /* union, valid only if AddPilotRecIncl = 1 */
+ kal_uint8 numSch;
+ SchRecT schRec[SYS_MAX_FSCH];
+
+ /* PDCH params */
+ kal_bool forPdchIncl;
+ kal_uint8 walshTableId;
+ kal_uint8 numPdcch;
+ kal_uint8 forPdcchWalsh[CP_MAX_PDCCH_CH];
+ kal_uint8 macId;
+ kal_uint8 revCqichCover;
+ kal_uint8 forCpcchWalsh;
+ kal_uint8 forCpcsch;
+ kal_bool pdchGroupInd;
+
+ kal_uint8 numForSupCode;
+ kal_uint8 forSupCodeChan[CP_MAX_SUP_CODE_CHANNELS];
+} ActivePilot;
+
+
+typedef struct
+{
+ kal_uint8 numPilots;
+ kal_uint8 numForSupCode;
+ ActivePilot pilot[CP_MAX_ACTIVE_SET];
+} TCActiveList;
+
+
+typedef struct
+{
+ ForSupCodeConfig forSupConfig;
+ kal_bool useForDuration;
+ kal_uint16 forDuration; /* 20 ms */
+} ForSupCode;
+
+
+typedef struct
+{
+ kal_uint8 revDTXDuration; /* 20 ms */
+ kal_bool useRevDuration;
+ kal_uint16 revDuration; /* 20 ms */
+ kal_uint8 numRevCodes;
+ kal_uint8 beginPreamble;
+ kal_uint8 resumePreamble;
+} RevSupCode;
+
+
+typedef struct
+{
+ kal_bool forLinkedHDM;
+ kal_bool forIncluded;
+ ForSupCode forSup;
+ kal_bool revLinkedHDM;
+ kal_bool revIncluded;
+ RevSupCode revSup;
+} SupCodeCfg;
+
+typedef struct
+{
+ kal_int8 trafficPilot; /* gain adjustment of the reverse */
+ /* traffic channel relative to the */
+ /* Reverse Pilot Channel power */
+ /* (for radio configurations > 2) */
+ /* (uints = .25 dB) */
+ kal_bool defaultRLAG; /* Default reverse link attribute gain */
+} RLGain;
+
+typedef struct
+{
+ kal_uint8 gain; /* Forward Power Control */
+ /* Subchannel Relative Gain */
+ kal_bool useActTime; /* KAL_TRUE= takes effect at actionTime*/
+ /* KAL_FALSE= takes effect immediately */
+ WbiosSystime actionTime;/* Action time (20ms) */
+} FPCGain;
+
+typedef struct
+{
+ kal_bool channelChange;
+ SysBandChannelT channel;
+ kal_bool longCodeChange;
+ Longcode* lcMask;
+ kal_bool frameOffsetChange;
+ kal_uint8 frameOffset;
+ kal_uint8 pwrCntlStep;
+ kal_uint8 numPreambleFrames;
+ kal_bool srchWinIncl; /* flag indication if search window is included */
+ kal_uint8 srchWinA; /* search window size for active and candidate set */
+ kal_uint8 srchWinN; /* search window size for neighbor set */
+ kal_uint8 srchWinR; /* search window size for remaining set */
+#ifdef IS2000_REV_0
+ kal_uint8 chInd; /* Channel Indicator */
+ kal_bool fpcSubchanGainIncl;
+ FPCGain fpcSubchanGain; /* Forward Power Control */
+ /* Subchannel Relative Gain */
+ RLGain rlgainTrafficPilot; /* Reverse Link Gain */
+ kal_bool revFCHGatingMode; /* Reverse Eighth Gating Mode Indicator */
+ kal_uint8 revPwrCntlDelay; /* Reverse Power Control Delay */
+#endif
+} HHOParms;
+
+
+typedef struct
+{
+ TCActiveList* activeList;
+ SysBandChannelT channel;
+ Longcode* lcMask;
+ kal_uint8 frameOffset;
+ kal_int8 pwrCorrection;
+} PhyInitCfg;
+
+typedef struct
+{
+ TCActiveList* activeList;
+ kal_bool supCodeIncluded;
+ kal_bool srchWinIncl; /* flag indication if search window is included */
+ kal_uint8 srchWinA; /* search window size for active and candidate set */
+ kal_uint8 srchWinN; /* search window size for neighbor set */
+ kal_uint8 srchWinR; /* search window size for remaining set */
+ SupCodeCfg* supCodeCfg;
+ kal_uint8 chInd; /* Channel Indicator */
+ kal_bool fpcSubchanGainIncl;
+ FPCGain fpcSubchanGain; /* Forward Power Control */
+ kal_bool revFCHGatingMode; /* Reverse Eighth Gating Mode Indicator */
+ kal_uint8 revPwrCntlDelay; /* Reverse Power Control Delay */
+} PhySHOCfg;
+
+typedef struct
+{
+ TCActiveList* activeList;
+ kal_bool hhoIncluded;
+ HHOParms* hhoParms;
+ kal_bool supCodeIncluded;
+ SupCodeCfg* supCodeCfg;
+ kal_bool scrIncluded;
+ kal_bool fpcSubchanGainIncl;
+ FPCGain fpcSubchanGain; /* Forward Power Control */
+} PhyHHOCfg;
+
+
+typedef struct
+{
+ kal_uint16 pilotPN;
+ kal_uint8 forSupCodeChan[CP_MAX_SUP_CODE_CHANNELS];
+} ForSupPilot;
+
+
+typedef struct
+{
+ kal_uint8 numSupPilots;
+ kal_uint8 numForSup;
+ ForSupPilot pilot[CP_MAX_ACTIVE_SET];
+} ForSupCodeList;
+
+
+
+#define CP_MAX_ANALOG_FREQS 7
+typedef struct
+{
+ SysCdmaBandT bandClass;
+ kal_uint8 sfRxPwrThresh;
+ kal_uint8 numAnalogFreqs;
+ kal_uint16 analogFreq[CP_MAX_ANALOG_FREQS];
+} AnalogSearch;
+
+typedef struct
+{
+ SysCdmaBandT bandClass;
+ kal_uint8 sfTotalEcThresh;
+ kal_uint8 sfTotalEcIoThresh;
+ kal_uint8 numAnalogFreqs;
+ kal_uint16 analogFreq[CP_MAX_ANALOG_FREQS];
+} CFAnalogSearch;
+
+typedef struct
+{
+ kal_uint16 analogFreq;
+ kal_uint8 signalStrength;
+} CFSrchChanReport;
+
+
+typedef struct
+{
+ SysCdmaBandT bandClass;
+ kal_uint8 sfTotalRxPwr;
+ kal_uint8 numAnalogFreqs;
+ CFSrchChanReport chan[CP_MAX_ANALOG_FREQS];
+} AnalogSearchReport;
+
+
+typedef struct
+{
+ kal_uint16 pnPhase;
+ kal_uint16 strength; /* Power of the pilot in Q16 linear units */
+} CFPilotMeasurement;
+
+
+/* CF pilot measurement report provides a list of measurements for all CF pilots */
+typedef struct
+{
+ kal_int16 cfTotalRxPwr;
+ kal_uint8 numPilots;
+ CFPilotMeasurement pilot[ CP_MAX_CANDIDATE_FREQUENCY_SEARCH_SET ];
+} CFSearchReport;
+
+
+typedef struct
+{
+ kal_uint8 numPilots;
+ NghbrPilot pilot[CP_MAX_CANDIDATE_FREQUENCY_SEARCH_SET];
+} CFSet;
+
+
+typedef struct
+{
+ SysCdmaBandT bandClass;
+ kal_uint16 cdmaFreq;
+ kal_uint8 sfTotalECThresh;
+ kal_uint8 sfTotalECIOThresh;
+ kal_uint8 diffRxPwrThresh;
+ kal_uint8 minTotalPilotEcIo;
+ kal_uint16 cfTAdd; /* in Q16 linear unit */
+ kal_uint8 cfSrchWinN;
+ NghbrSearchMode cfNghbrSrchMode;
+
+ kal_uint8 cfWaitTime;
+ kal_uint8 cfPilotInc;
+ kal_uint8 cfSrchWinR;
+
+ /* DAS Merged from 3.0 */
+ kal_uint8 tfWaitTime;
+
+ kal_bool pilotUpdate;
+ kal_bool cfSrchOffsetIncl;
+ CFSet cfSrchSet;
+ CFSet cfNghbrSet;
+} CDMASearch;
+
+
+/* structure used to provide time information about candidate search from WBIOS */
+typedef struct
+{
+ kal_uint8 totalOffTimeFwd; /* total time spent off of forward channel */
+ kal_uint8 maxOffTimeFwd; /* max time spent off of forward channel */
+ kal_uint8 totalOffTimeRev; /* total time spent off of reverse channel */
+ kal_uint8 maxOffTimeRev; /* max time spent off of reverse channel */
+} CFSearchTimes;
+
+
+typedef struct
+{
+ SysCdmaBandT bandClass;
+ kal_uint16 cdmaFreq;
+ kal_uint8 sfTotalRxPwr;
+ kal_uint8 cfTotalRxPwr;
+ CFSearchReport report;
+} CDMASearchReport;
+
+
+typedef struct
+{
+ kal_uint16 expectedSid;
+ kal_bool ignoreCDMA;
+ kal_uint8 sysOrdering;
+ kal_uint8 maxRedirectDelay; /* only applies to Global redirect */
+} ServiceRedirAnalog;
+
+
+#define CP_MAX_SERV_REDIR_NUM_CHANS 16 /* 4 bits */
+typedef struct
+{
+ SysCdmaBandT bandClass;
+ kal_uint16 expectedSid;
+ kal_uint16 expectedNid;
+ kal_uint8 numChans;
+ kal_uint16 cdmaChan[CP_MAX_SERV_REDIR_NUM_CHANS];
+} ServiceRedirCDMA;
+
+
+typedef struct
+{
+ kal_bool disjointActiveSet;
+ kal_bool frameOffsetChange;
+ kal_bool channelChange;
+ kal_bool longCodeChange;
+ kal_bool servCfgChange;
+} HOTCReport;
+
+
+/*************************************************************************/
+/************* Information Record Structure Definitions ******************/
+/*************************************************************************/
+
+
+
+typedef struct
+{
+ kal_bool num_incl;
+ kal_bool digitMode;
+ NumberType type;
+ NumberPlan plan;
+ kal_uint8 NumChar;
+ kal_uint8 ms_orig_pos_loc_ind;
+ kal_uint8 number[CP_MAX_CALLING_PARTY_NUMBER_SIZE + 1];
+}GlobalEmergencyCall;
+
+typedef struct
+{
+ kal_bool num_info_incl;
+ NumberType type;
+ NumberPlan plan;
+ kal_uint8 numFields;
+ kal_uint8 number[CP_MAX_KEYPAD_FACILITY_SIZE+1];
+}ExtKeypadFacility;
+/*************************************************************************/
+/************** Traffic Channel Message Structure Definitions ************/
+/*************************************************************************/
+
+
+typedef struct
+{
+ kal_bool useTime;
+ kal_uint8 actionTime;
+
+ kal_uint16 sid;
+ kal_uint8 vmac;
+ kal_uint16 analogChan;
+ kal_uint8 scc;
+ kal_bool mem;
+ kal_uint8 anChanType;
+ kal_uint8 dsccMsb;
+ SysCdmaBandT bandClass;
+ kal_bool conRefIncl;
+ kal_uint8 conRef;
+} AnalogHODirData;
+
+
+typedef struct
+{
+ kal_uint8 numDigits;
+ kal_uint8 dtmfOnLength;
+ kal_uint8 dtmfOffLength;
+ char digits[CP_MAX_BURST_DTMF_DIGITS + 1]; /* Incl NULL terminator */
+ kal_bool conRefIncl;
+} BDTMFMData;
+
+
+typedef struct
+{
+ kal_bool useTime;
+ kal_uint8 actionTime;
+ kal_uint8 cfscmSeq;
+ CFSrchType searchType;
+ kal_bool alignTiming;
+} CFSCNMData;
+
+
+typedef struct
+{
+ kal_bool useTime;
+ kal_uint8 actionTime;
+ kal_uint8 cfsrmSeq;
+ CFSrchType searchType;
+ kal_uint8 searchPeriod;
+ CFSrchMode searchMode;
+ union
+ {
+ CDMASearch cdma;
+ AnalogSearch analog;
+ } srch;
+ kal_bool alignTiming;
+ kal_uint8 searchOffset;
+} CFSRQMData;
+
+
+typedef struct
+{
+ kal_bool lastSrchMsg;
+ kal_uint8 lastSrchMsgSeq;
+ kal_uint8 searchMode;
+ union
+ {
+ CDMASearchReport cdma;
+ AnalogSearchReport analog;
+ } srch;
+} CFSrchReportData;
+
+
+typedef struct
+{
+ kal_bool alignTiming;
+ kal_uint8 lastCfsrmSeq;
+ CFSearchTimes srchTimes;
+} CFSrchRespData;
+
+
+typedef struct
+{
+ kal_bool ackRequired;
+ kal_uint8 msgNumber;
+ kal_uint8 burstType;
+ kal_uint8 numMsgs;
+ kal_uint8 numFields;
+ kal_uint8 data[CP_MAX_DATA_BURST_CHAR];
+ kal_bool encoded;
+ kal_bool digitMode;
+ char* digits;
+ kal_uint8 numDigits;
+} DataBurstData;
+
+
+typedef struct
+{
+ kal_uint8 pilotInc;
+ NghbrSearchMode nghbrSrchMode;
+ kal_uint8 srchWinN;
+ kal_bool useTime;
+ kal_uint8 globTimeIncl;
+ kal_uint8 globTxDuration;
+ kal_uint8 globTxPeriod;
+
+ kal_uint8 numNghbr;
+ NghbrPilot pilot[CP_MAX_NEIGHBOR_SET];
+
+ kal_bool resqEnabled;
+
+} ENLUMData;
+
+typedef struct {
+ kal_bool conRefIncl;
+ kal_uint8 conRef;
+ kal_uint8 numRec;
+ FORInfoData infoData;
+} ExtFORInfoData;
+
+
+#define MAX_NUM_RC_PARAMS_RECORDS 3
+
+typedef struct {
+ kal_uint16 pilotPn;
+ kal_uint8 qofSetInUse;
+ kal_bool revSch0AckBitInc;
+ kal_uint8 revSch0AckChWalsh;
+ kal_uint8 revSch0AckBit;
+ kal_bool revSch1AckBitInc;
+ kal_uint8 revSch1AckChWalsh;
+ kal_uint8 revSch1AckBit;
+ kal_bool forFchCcshInterleaverType;
+}RcParmRec;
+
+typedef struct
+{
+ kal_bool useTime;
+ kal_uint8 actionTime;
+
+ kal_bool forFchAckMaskRlBlankingInc;
+ kal_uint16 forFchAckMaskRlBlanking;
+
+ kal_bool forFchAckMaskNoRlBlankingInc;
+ kal_uint16 forFchAckMaskNoRlBlanking;
+
+ kal_bool revFchAckMaskInc;
+ kal_uint16 revFchAckMask;
+
+ kal_bool forSchAckMaskRlBlankingInc;
+ kal_uint16 forSchAckMaskRlBlanking;
+
+ kal_bool forSchAckMaskNoRlBlankingInc;
+ kal_uint16 forSchAckMaskNoRlBlanking;
+
+ kal_bool revSchAckMaskInc;
+ kal_uint16 revSchAckMask;
+
+ kal_uint8 forN2MInd;
+ kal_uint8 fpcMode;
+ kal_uint8 rpcMode;
+ kal_uint8 powerCntlStep;
+ kal_uint8 forFchBlankingDutyCycle;
+ kal_uint8 revFchBlankingDutyCycle;
+
+ kal_bool revAckchGainAdjAcs1Inc;
+ kal_int8 revAckchGainAdjAcs1;
+ kal_bool revAckchGainAdjAcs2plusInc;
+ kal_int8 revAckchGainAdjAcs2plus;
+
+ kal_uint8 numRcParamsRecs;
+ RcParmRec rcParmInfo[MAX_NUM_RC_PARAMS_RECORDS];
+
+}RCPMData;
+
+typedef struct
+{
+ kal_bool forSchDelayedAckMaskIncl;
+ kal_uint8 forSchDelayedAckMask;
+ kal_bool revSchDelayedAckMaskIncl;
+ kal_uint8 revSchDelayedAckMask;
+} DelayedARQInfoRec;
+
+typedef struct
+{
+ SysCdmaBandT band;
+ kal_uint16 revChannel;
+} RevChannelInfoRec;
+
+typedef struct
+{
+ kal_bool useTime;
+ kal_uint8 actionTime;
+
+ ForwardOrderCode order;
+
+ kal_uint8 addRecordLen;
+ kal_uint8 ordq;
+
+ kal_uint8 minPilotPwrThresh;
+ kal_uint8 minPilotECIOThresh;
+ kal_bool inclSetpt;
+ kal_bool conRefIncl;
+ kal_uint8 conRef;
+ kal_uint8 releaseType;
+ kal_uint16 sid;
+ kal_uint16 nid;
+ kal_bool freqIncl;
+ kal_uint16 cdmaFreq;
+ SysCdmaBandT bandClass;
+ kal_uint8 pageCh;
+ kal_uint8 prat;
+ kal_uint8 sr1BcchCodeChanNonTd;
+ kal_bool sr1CratNonTd;
+ kal_uint8 sr1BratNonTd;
+ kal_uint8 sr1TdMode;
+ kal_uint8 sr1BcchCodeChanTd;
+ kal_bool sr1CratTd;
+ kal_uint8 sr1BratTd;
+} FTCORDMData;
+
+
+typedef struct
+{
+ kal_uint16 sid;
+ kal_uint16 nid;
+
+ kal_uint8 srchWinA;
+ kal_uint8 srchWinN;
+ kal_uint8 srchWinR;
+
+ kal_uint8 tAdd;
+ kal_uint8 tDrop;
+ kal_uint8 tComp;
+ kal_uint8 tTDrop;
+
+ kal_uint8 nghbrMaxAge;
+
+ kal_uint8 networkPRev;
+
+ kal_uint8 softSlope;
+ kal_int8 addIntercept;
+ kal_int8 dropIntercept;
+
+ kal_uint8 packetZoneID;
+
+ kal_uint8 extension;
+ kal_uint8 tMulchan;
+ kal_uint8 beginPreamble;
+ kal_uint8 resumePreamble;
+ kal_bool tSlottedIncl;
+ kal_uint8 tSlotted;
+ kal_bool encSupported;
+ kal_uint8 sigEncryptSup;
+ kal_uint8 uiEncryptSup;
+ kal_bool csSupported;
+ kal_bool tTdropRangeIncl;
+ kal_bool tTdropRange;
+ kal_bool forPdchSupported;
+} ITSPMData;
+
+typedef enum
+{
+ UHDM,
+ GHDM,
+ EHDM,
+ MUHDM
+} HoMsgType;
+
+typedef struct
+{
+ HoMsgType msgType; /* UHDM / GHDM / EHDM / MUHDM */
+
+ kal_bool useTime;
+ kal_uint8 actionTime;
+
+ kal_uint8 hdmSeq;
+
+ kal_bool serviceIncluded;
+ kal_uint8 servConSeq;
+ ServiceConfiguration servCfg;
+ kal_bool nnServiceIncluded;
+ NNServiceConfiguration nnServCfg;
+
+ kal_bool searchIncluded;
+ kal_uint8 srchWinA;
+ kal_uint8 srchWinN;
+ kal_uint8 srchWinR;
+ kal_uint8 tAdd;
+ kal_uint8 tDrop;
+ kal_uint8 tComp;
+ kal_uint8 tTdrop;
+ kal_uint8 softSlope;
+ kal_int8 addIntercept;
+ kal_int8 dropIntercept;
+
+ kal_bool extraParms;
+ kal_uint8 pRev;
+ kal_uint8 packetZoneID;
+ kal_uint8 frameOffset;
+ kal_bool privateLCM;
+ kal_uint8 resetL2;
+ kal_uint8 resetFPC;
+ kal_bool servNegType;
+ kal_uint8 encryptMode;
+ kal_bool nomPwrExt;
+ kal_int8 nomPwr;
+ kal_uint8 numPreamble;
+ SysCdmaBandT bandClass;
+ kal_uint16 cdmaFreq;
+ kal_bool returnIfHandoffFail;
+ kal_bool completeSearch;
+ kal_bool periodicSearch;
+
+ kal_bool revParmsIncluded;
+ kal_uint8 tMulchan;
+ kal_uint8 beginPreamble;
+ kal_uint8 resumePreamble;
+
+ kal_bool usePwrCntlStep;
+ kal_uint8 pwrCntlStep;
+
+ kal_bool rcvdAddFields;
+ kal_uint8 addPRev;
+
+ FTCActiveList active;
+ kal_bool parmIncl;
+ kal_uint8 chInd; /* Channel Indicator */
+ kal_bool continuesRevPilot;
+ FPCGain fpcGain; /* Forward power control subchannel */
+ /* relative gain */
+ RLGain rlGain; /* reverse traffic gain */
+ kal_bool revFCHGatingMode; /* Reverse Eighth Gating Mode */
+ /* Indicator */
+ kal_bool revPwrCntlDelayIncl;/* Reverse Power Control Delay */
+ /* Included */
+ kal_uint8 revPwrCntlDelay; /* Reverse Power Control Delay */
+ kal_bool schIncl; /* Supplemental Channel included */
+ SchCfg schCfg; /* Supplemental Channel */
+
+ /* Prev >= 7 */
+ kal_bool threexflOnexrlIncl;
+ kal_bool syncIdIncl;
+ kal_bool ccInfoIncl;
+ kal_bool csSupported;
+ kal_bool threexFchInfoIncl;
+ kal_bool threexDcchInfoIncl;
+
+ /* Prev >= 9 */
+ kal_bool chmSuppported;
+ kal_bool cdmaOffTimeRepSupInd;
+ kal_bool cdmaOffTimeRepThresholdUnit;
+ kal_uint8 cdmaOffTimeRepThreshold;
+ kal_bool releaseToIdleInd;
+ kal_bool msgIntegritySup;
+ kal_bool gen2gKey;
+ kal_bool registerInIdle;
+
+ kal_bool plcmTypeIncl;
+ kal_uint8 plcmType;
+ kal_uint8 plcm39[PLCM39_SIZE];
+ kal_bool tTdropRangeIncl;
+ kal_bool ccshIncluded;
+
+ /* PDCH params */
+ kal_bool forPdchSupported;
+ TCExtChInd extChInd;
+ kal_uint8 rlgainAckcqichPilot;
+ kal_bool pdchControlHold;
+ kal_bool fullCiFeedbackInd;
+ kal_uint8 revCqichFrameOffset;
+ kal_uint8 revCqichReps;
+ kal_uint8 revAckchReps;
+ kal_bool pdchGroupIndIncl;
+ kal_bool forPdchParamsIncl;
+ kal_uint8 numSoftSwitchingFrames;
+ kal_uint8 numSofterSwitchingFrames;
+ kal_uint8 numSoftSwitchingFramesChm;
+ kal_uint8 numSofterSwitchingFramesChm;
+ kal_uint8 numSoftSwitchingSlots;
+ kal_uint8 numSofterSwitchingSlots;
+ kal_uint8 numSoftSwitchingSlotsChm;
+ kal_uint8 numSofterSwitchingSlotsChm;
+ kal_uint8 pdchSoftSwitchingDelay;
+ kal_uint8 pdchSofterSwitchingDelay;
+ kal_bool forPdchCommonParams;
+ kal_uint8 walshTableId;
+ kal_uint8 numPdcch;
+ kal_uint8 forPdcchWalsh[CP_MAX_PDCCH_CH];
+} PHDMData;
+
+typedef struct
+{
+ TCActiveList active;
+
+ kal_bool serviceIncluded;
+ kal_uint8 servConSeq;
+ ServiceConfiguration servCfg;
+ NNServiceConfiguration nnServCfg;
+ kal_bool supCodeChanParmsIncluded;
+ kal_bool forIncluded;
+ kal_uint8 forSupConfig;
+ kal_bool useForDuration;
+ kal_uint8 forDuration;
+ kal_bool revIncluded;
+ kal_uint8 revDTXDuration;
+ kal_bool clearRetryDelay;
+ kal_bool useRevDuration;
+ kal_uint8 revDuration;
+ kal_uint8 numRevCodes;
+ kal_bool useTAddAbort;
+} HDMData;
+
+
+typedef struct
+{
+ kal_uint16 sid;
+ kal_uint16 nid;
+ kal_uint16 regZone;
+ kal_uint8 totalZones;
+ kal_uint8 zoneTimer;
+ kal_bool multSids;
+ kal_bool multNids;
+ kal_int32 baseLat;
+ kal_int32 baseLong;
+ kal_uint16 regDist;
+} MSRegisteredData;
+
+
+typedef struct
+{
+ kal_uint8 rejectedType;
+ kal_uint8 rejectedOrder;
+ kal_uint8 rejectedOrdq;
+ kal_uint16 rejectedParamId;
+ kal_uint8 rejectedRecord;
+ kal_uint8 rejectedConRef;
+ kal_uint8 rejectedTag;
+} MSRejectOrderData;
+
+
+typedef struct
+{
+ kal_uint8 pilotInc;
+ kal_uint8 numNghbr;
+ kal_uint16 nghbrPN[CP_MAX_NEIGHBOR_SET];
+} NLUMData;
+
+
+typedef struct
+{
+ kal_bool extended;
+ union
+ {
+ NLUMData nlum;
+ ENLUMData enlum;
+ } type;
+} NLUMUData;
+
+
+typedef struct
+{
+ kal_uint8 schId;
+ kal_uint8 fpcSchFer;
+ kal_uint8 fpcSchMinSetPt;
+ kal_uint8 fpcSchMaxSetPt;
+} SupChanRec;
+
+typedef struct
+{
+ kal_uint8 pwrCntlStep;
+ kal_bool useTime;
+ kal_uint8 actionTime;
+ kal_bool fpcIncl;
+ kal_bool fpcPriChan;
+ kal_uint8 fpcMode;
+ kal_uint8 fpcModeNoSch;
+ kal_bool fpcOlpcFchIncl;
+ kal_uint8 fpcFchFer;
+ kal_uint8 fpcFchMinSetPt;
+ kal_uint8 fpcFchMaxSetPt;
+ kal_bool fpcOlpcDcchIncl;
+ kal_uint8 fpcDcchFer;
+ kal_uint8 fpcDcchMinSetPt;
+ kal_uint8 fpcDcchMaxSetPt;
+ kal_bool fpcSecChan;
+ kal_uint8 numSup;
+ SupChanRec supChanRec[2];
+ kal_bool fpcThreshIncl;
+ kal_uint8 fpcSetPtThresh;
+ kal_bool fpcThreshSchIncl;
+ kal_uint8 fpcSetPtThreshSch;
+ kal_bool rpcIncl;
+ kal_uint8 rpcNumRec;
+ kal_uint8 rpcAdjRecType[3];
+ kal_uint8 rpcAdjRecLen[3];
+ /* TYPE 0*/
+ kal_bool fchIncl;
+ kal_int8 fchChanAdjGain;
+ kal_bool dcchIncl;
+ kal_int8 dcchChanAdjGain;
+ kal_bool sch0Incl;
+ kal_int8 sch0ChanAdjGain;
+ kal_bool sch1Incl;
+ kal_int8 sch1ChanAdjGain;
+ kal_bool revAckchIncl;
+ kal_int8 revAckchChanAdjGain;
+ kal_bool revCqichIncl;
+ kal_int8 revCqichChanAdjGain;
+ /*TYPE 1*/
+ kal_uint8 rlAttAdjGainType;
+ kal_bool rc3Rc520MsIncl;
+ kal_int8 nomAttGainAdj[21];
+ kal_int8 pilotRefLevelAdj[21];
+ kal_bool FiveMsIncl;
+ /*TYPE 2*/
+ kal_bool codeType;
+ kal_bool rc4Rc620MsIncl;
+ kal_int8 nomAttGainAdjTurbo[12];
+ kal_int8 pilotRefLevelAdjTurbo[12];
+ kal_bool rc3Rc540MsIncl;
+ kal_bool rc4Rc640MsIncl;
+ kal_bool rc3Rc580MsIncl;
+ kal_bool rc4Rc680MsIncl;
+ /*TYPE 3*/
+ kal_bool rlCqichAttAdjGainType;
+ kal_bool rlCqichAttAdjGainHighIncl;
+ kal_int8 rlCqichAttAdjGainHigh;
+ kal_int8 pilotRefLevelAdjRcqichGainHigh;
+ kal_bool rlCqichAttAdjGainLowIncl;
+ kal_int8 rlCqichAttAdjGainLow;
+ kal_int8 pilotRefLevelAdjRcqichGainLow;
+
+} PCNMData;
+
+
+typedef PACKED_PREFIX struct
+{
+ kal_bool SchId;
+ kal_uint8 FpcSchCurrSetPt;
+} PACKED_POSTFIX FpcSchReportT;
+
+typedef PACKED_PREFIX struct
+{
+ kal_bool FchIncl;
+ kal_uint8 FpcFchCurrSetPt;
+ kal_bool DcchIncl;
+ kal_uint8 FpcDcchCurrSetPt;
+ kal_uint8 NumSup;
+ FpcSchReportT FpcSch[2];
+} PACKED_POSTFIX OuterLoopRepData;
+
+typedef struct
+{
+ kal_uint8 errorsDetected;
+ kal_uint16 pwrMeasFrames;
+ kal_uint8 lastHdmSeq;
+ kal_bool dcchPwrMeasIncl;
+ kal_uint16 dcchPwrMeasFrames;
+ kal_uint8 dcchErrorsDetected;
+ kal_bool schPwrMeasIncl;
+ kal_uint8 schId;
+ kal_uint16 schPwrMeasFrames;
+ kal_uint16 schErrorsDetected;
+} PwrMeasRepData;
+
+
+typedef struct
+{
+ kal_bool useTime;
+ kal_uint8 actionTime;
+ kal_uint8 actionTimeFrame;
+ kal_uint8 pufSetupSize;
+ kal_uint8 pufPulseSize;
+ kal_uint16 pufInterval;
+ kal_uint8 pufInitPwr;
+ kal_uint8 pufPwrStep;
+ kal_uint8 pufTotalPufProbes;
+ kal_uint8 maxPwrPuf;
+ kal_bool pufFreqIncl;
+ SysCdmaBandT pufBandClass;
+ kal_uint16 pufCDMAFreq;
+} PwrUpFuncData;
+
+
+typedef struct
+{
+ kal_bool locInd;
+ kal_uint32 msLat;
+ kal_uint32 msLong;
+ kal_uint32 msLocTstamp;
+} PwrUpFuncCompData;
+
+
+typedef struct
+{
+ kal_bool digitMode;
+ kal_uint8 numFields;
+ kal_uint8* digits;
+ kal_bool multipleCallingPartyNum;
+ CallingPartyNumber callingPartyNum;
+ kal_bool sendCallingPartySubaddr;
+ Subaddress callingPartySubaddr;
+ kal_bool sendCalledPartySubaddr;
+ Subaddress calledPartySubaddr;
+} OrigContData;
+
+
+/* The maximum number of parameters possible in a Parameters **
+** Response message is 2016 / (16 + 10 + 8) where 8 is the **
+** parameter length (Assumption - most likely overkill!!!) */
+#define CP_MAX_PARAMETER_IDS 60
+typedef struct
+{
+ kal_uint8 numParmIds;
+ kal_uint8 numGroups;
+ kal_uint16 parameterID[CP_MAX_PARAMETER_IDS];
+} RetrieveParmsData;
+
+
+typedef struct
+{
+ kal_bool encoded;
+ char digit;
+} RTCContDTMFData;
+
+
+typedef struct
+{
+ kal_bool encoded;
+ kal_uint8 numDigits;
+ kal_uint8 dtmfOnLength;
+ kal_uint8 dtmfOffLength;
+ char digits[CP_MAX_BURST_DTMF_DIGITS + 1]; /* Incl NULL terminator */
+ kal_bool conRefIncl;
+} RTCBurstDTMFData;
+
+
+typedef struct
+{
+ kal_bool sendFeatureIndicator;
+ kal_uint8 feature;
+ kal_bool sendKeypadFacility;
+ kal_int8 keypadFacility[CP_MAX_DISPLAY_SIZE + 1]; /* Incl NULL terminator */
+ kal_bool sendCalledPartyNumber;
+ CalledPartyNumber calledPartyNumber;
+ kal_bool sendCallingPartyNumber;
+ CallingPartyNumber callingPartyNumber;
+ kal_bool sendConnectedNumber;
+ CallingPartyNumber connectedNumber; /* Same format as CallingPartyNumber */
+ kal_bool sendCalledPartySubaddress;
+ Subaddress calledPartySubaddress;
+ kal_bool sendCallingPartySubaddress;
+ Subaddress callingPartySubaddress;
+ kal_bool sendConnectedSubaddress;
+ Subaddress connectedSubaddress;
+ kal_bool sendGlobalEmergencyCall;
+ GlobalEmergencyCall EmergencyNum;
+ kal_bool sendExtKeypadFacility;
+ ExtKeypadFacility ExtKeypadFac;
+} RTCFlashData;
+
+
+typedef struct
+{
+ ReverseOrderCode order;
+ kal_bool sendOrdq;
+ kal_uint8 ordq;
+ kal_bool sendAddRec;
+} RTCOrderData;
+
+
+typedef struct
+{
+ kal_bool useRetryDelay;
+ kal_uint8 retryDelay;
+
+ kal_bool revIncluded;
+ kal_uint8 revDTXDuration;
+ kal_bool explRevStartTime;
+ kal_uint8 revStartTime;
+ kal_bool useRevDuration;
+ kal_uint8 revDuration;
+ kal_bool useRevHDMSeq;
+ kal_uint8 revLinkedHDMSeq;
+ kal_uint8 numRevCodes;
+ kal_bool useTAddAbort;
+ kal_bool useScrmSeqNum;
+ kal_uint8 scrmSeqNum;
+ kal_bool revParmsIncluded;
+ kal_uint8 tMulchan;
+ kal_uint8 beginPreamble;
+ kal_uint8 resumePreamble;
+
+ kal_bool forIncluded;
+ kal_uint8 forSupConfig;
+ kal_bool explForStartTime;
+ kal_uint8 forStartTime;
+ kal_bool useForDuration;
+ kal_uint8 forDuration;
+ kal_bool useForHDMSeq;
+ kal_uint8 forLinkedHDMSeq;
+ ForSupCodeList forSup;
+} SCAMData;
+
+#define MAX_NUM_CALLS_ASSIGNED 4
+typedef struct
+{
+ kal_uint8 conRef;
+ kal_bool responseInd;
+ kal_uint8 tag;
+ kal_bool bypassAlertAnswer;
+} CallsRecord;
+
+typedef struct
+{
+ kal_bool useTime;
+ kal_uint8 actionTime;
+ kal_uint8 servConSeq;
+ kal_bool rcvdServCfg;
+ kal_bool syncIdIncl;
+ kal_uint8 syncIdLen;
+ kal_uint8 syncId[15];
+ kal_uint8 srId;
+ kal_bool useType0Plcm;
+ ServiceConfiguration servCfg;
+ kal_bool useOldServConfig;
+ NNServiceConfiguration nnServCfg;
+ kal_bool ccInfoIncl;
+ kal_uint8 numCallsAssign;
+ CallsRecord callsInfo[MAX_NUM_CALLS_ASSIGNED];
+ kal_bool rcvdNNServCfg;
+} SCNMData;
+
+
+typedef struct
+{
+ kal_bool useTime;
+ kal_uint8 actionTime;
+ kal_uint8 conRef;
+ kal_uint16 serviceOption;
+ kal_uint8 ctlRecLen;
+ kal_uint8 ctlRec[MAX_SERV_OPT_CNTL_RECORD_LEN];
+} SOCMFTCData;
+
+
+typedef struct
+{
+ kal_uint8 conRef;
+ kal_uint16 serviceOption;
+ kal_uint8 ctlRecLen;
+ kal_uint8* ctlRec;
+} SOCRTCData;
+
+
+/* Separated the union from structure
+ServiceRedirData since union is also used
+in Extended Global Service Redirect Message */
+typedef union
+{
+ ServiceRedirAnalog analog;
+ ServiceRedirCDMA cdma;
+} RedirectType;
+
+typedef struct
+{
+ kal_bool global; /* indicates a global redirection */
+ kal_uint16 redirectAccolc;
+ kal_bool returnIfFail;
+ kal_bool deleteTMSI;
+ kal_bool exclPRevMs;
+ kal_bool redirectType;
+ kal_uint8 recordType;
+ RedirectType type;
+} ServiceRedirData;
+
+
+typedef struct
+{
+ kal_uint8 servReqSeq;
+ kal_uint8 reqPurpose;
+ kal_bool servCfgPresent;
+ ServiceConfiguration servCfg;
+} SRQMData;
+
+
+typedef struct
+{
+ kal_uint8 servReqSeq;
+ kal_uint8 respPurpose;
+ kal_bool servCfgPresent;
+ ServiceConfiguration servCfg;
+} SRPMData;
+
+
+typedef struct
+{
+ kal_uint8 temp;
+} SetParmsData;
+
+/* For storing the Information records received in the Status Request Message */
+#define MAX_NUM_STATUS_REQ_RECORDS 16
+
+typedef struct
+{
+ QualInfoType qualInfoType;
+ SysCdmaBandT bandClass;
+ OpMode opMode;
+ kal_uint8 numFields;
+ kal_uint8 recType[MAX_NUM_STATUS_REQ_RECORDS];
+ kal_bool rcBitMapCapInd;
+} StatusReqData;
+
+
+typedef struct
+{
+ kal_uint8 tmsiZoneLen;
+ kal_uint8 tmsiZone[CP_MAX_TMSI_ZONE_LEN];
+ kal_uint32 tmsiCode;
+ kal_uint32 tmsiExpTime;
+} TMSIAssignData;
+
+
+/* The following definition is for ESCAM */
+
+typedef HONghbrPilotRec ActivePilotRec;
+
+typedef struct
+{
+ kal_uint8 revSchId;
+ kal_uint8 revWalshId;
+ SchRateIndex revSchRate;
+} RevCfgRec;
+
+typedef struct
+{
+ kal_uint16 pilotPn;
+ kal_bool addPilotRecIncl;
+ PilotRecType activePilotRecType;
+ kal_uint8 recordLen;
+ ActivePilotRec activePilotRec;
+ kal_uint16 forSchCcIndex;
+ kal_uint8 qofMaskIdSch;
+} SupShoRec;
+
+
+typedef struct
+{
+ kal_uint8 forSchId;
+ kal_uint8 scclIndex;
+ SchRateIndex forSchRate;
+ kal_uint8 numSupSho;
+ SupShoRec supSho[ CP_MAX_SUP_SHO ];
+} ForSchCfg;
+
+typedef struct
+{
+ kal_uint8 schId;
+ kal_uint8 fpcSchFer;
+ kal_int16 fpcSchInitSetpt;
+ kal_uint8 fpcSchMinSetpt;
+ kal_uint8 fpcSchMaxSetpt;
+} SupRec;
+
+typedef struct
+{
+ kal_uint8 schId;
+ kal_int8 rlgainSchPilot;
+} RpcSupRec;
+
+typedef struct
+{
+ kal_uint8 forSchId;
+ kal_uint8 num3xRec;
+ kal_uint8 scclIndex[ CP_MAX_3X_REC ];
+} ThreexCfgRec;
+
+typedef struct
+{
+ kal_bool threexSchLowIncl;
+ kal_uint8 qofMaskIdSchLow;
+ kal_uint16 codeChanSchLow;
+ kal_bool threexSchHighIncl;
+ kal_uint8 qofMaskIdSchHigh;
+ kal_uint16 codeChanSchHigh;
+} ThreexRec;
+
+typedef struct
+{
+ kal_uint8 startTimeUnit;
+ kal_uint8 revSchDtxDuration;
+ kal_bool useTAddAbort;
+ kal_bool useScrmSeqNum;
+ kal_uint8 scrmSeqNum;
+ kal_bool addInfoIncl;
+ kal_uint8 fpcPriChan;
+
+ kal_bool revCfgIncluded;
+
+ kal_uint8 numRevCfgRecs;
+ RevCfgRec revCfgRecs[ CP_MAX_REV_CFG_RECS ];
+
+ kal_uint8 numRevSch;
+ RevSch revSch[ CP_MAX_REV_SCH ];
+
+ kal_bool forCfgIncluded;
+
+ kal_bool forSchFerRep;
+ kal_uint8 numForCfgRecs;
+ ForSchCfg forSchCfg[ CP_MAX_FOR_CFG_RECS ];
+
+ kal_uint8 numForSch;
+ ForSch forSch[ CP_MAX_FOR_SCH ];
+
+ kal_bool fpcIncl;
+ TCFpcMode fpcModeSch;
+ kal_uint8 fpcSchInitSetptOp;
+ kal_uint8 fpcSecChan;
+ kal_uint8 numSup;
+ SupRec supRec[ CP_MAX_SUP ];
+
+ kal_bool fpcThreshSchIncl;
+ kal_uint8 fpcSetptThreshSch;
+
+ kal_bool rpcIncl;
+ kal_uint8 rpcNumSup;
+ RpcSupRec rpcSupRec[ CP_MAX_RPC_NUM_SUP ];
+ /* Following new fields have been added to suppport IS2000 revisions > REV0. */
+ kal_bool threexSchInfoIncl;
+ kal_bool ccshIncluded;
+ kal_bool forSchCcIncl;
+ kal_bool revSchCcIncl;
+} ESCAMData;
+
+/* The following definition is for RAM */
+typedef struct
+{
+ kal_bool useTime;
+ kal_uint8 actionTime;
+ kal_uint8 fpcPriChan;
+} RAMData;
+
+
+/* The following definition is for ERM */
+typedef struct
+{
+ kal_bool useTime;
+ kal_uint8 actionTime;
+ TCChInd chInd;
+ kal_bool gatingRateIncl;
+ TCGatingRate pilotGatingRate;
+
+ kal_bool useExtChInd;
+ TCExtChInd extChInd;
+
+ kal_bool pdchControlHold;
+
+ kal_bool switchingParamsIncl;
+ kal_uint8 numSoftSwitchingFramesChm;
+ kal_uint8 numSofterSwitchingFramesChm;
+} ERMData;
+
+
+/* The following definition is for RATCHGM */
+typedef struct
+{
+ kal_bool rlCqichAttAdjGainType;
+ kal_bool rlCqichAttAdjGainHighIncl;
+ kal_int8 rlCqichAttAdjGainHigh;
+ kal_bool rlCqichAttAdjGainLowIncl;
+ kal_int8 rlCqichAttAdjGainLow;
+
+} CqichAttAdjGainRec;
+
+
+typedef struct
+{
+ kal_bool useTime;
+ kal_uint8 actionTime;
+ kal_bool revCqichRateChangeIncl;
+ kal_bool fullCiFeedbackInd;
+ kal_uint8 revCqichReps;
+ kal_bool switchingParamsIncl;
+ kal_uint8 numSoftSwitchingFrames;
+ kal_uint8 numSofterSwitchingFrames;
+ kal_uint8 numSoftSwitchingFramesChm;
+ kal_uint8 numSofterSwitchingFramesChm;
+ kal_bool rlCqichAttAdjGainIncl;
+ kal_uint8 numRecs;
+ CqichAttAdjGainRec CqichAttAdjGainRec[ CP_MAX_CQICH_ATT_ADJ_GAIN_REC ];
+ kal_bool revAckchRateChangeIncl;
+ kal_uint8 revAckchReps;
+
+} RATCHGMData;
+
+
+typedef union
+{
+ AnalogHODirData ahdmData;
+ BDTMFMData bdtmfmData;
+ CFSRQMData cfsrqmData;
+ CFSCNMData cfscnmData;
+ DataBurstData dbmData;
+ FORInfoData infoData;
+ FTCORDMData ordmData;
+ ITSPMData itspmData;
+ MSRegisteredData msrmData;
+ NLUMUData nlumuData;
+ PCNPMData pcnpmData;
+ PCNMData pcnmData;
+ SCAMData scamData;
+ SOCMFTCData socmData;
+ ServiceRedirData srdmData;
+ SRQMData srqmData;
+ SRPMData srpmData;
+ SCNMData scnmData;
+ StatusReqData strqmData;
+ TMSIAssignData tasmData;
+ HDMData hdmData;
+ RAMData ramData;
+ ERMData ermData;
+ ESCAMData escamData;
+ RATCHGMData ratchgmData;
+ ExtFORInfoData extInfoData;
+ RCPMData rcpmData;
+} RxMsg;
+
+#endif /* _TC_MSG_FMT_H */
+
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/SCC_API.H b/mcu/interface/protocol/as_c2k/1xrtt/SCC_API.H
new file mode 100644
index 0000000..8a25aff
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/SCC_API.H
@@ -0,0 +1,2101 @@
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*************************************************************************
+ *
+ * File Name: scc_api.h
+ * Project: SCC
+ * Original Author: MMS
+ * Creation Date: Feb. 23/1999
+ *
+ * Description: SCC Application Programming Interface (API) declaration
+ *
+ * Restrictions:
+ *
+ * Dependencies:
+ *
+ *************************************************************************
+ * RCS Information
+ *
+ * $Id: SCC_API.H 1.5 2006/03/21 16:45:42 mclee Exp $
+ *
+ * $Log: SCC_API.H $
+ *
+ * 09 18 2020 tina.ma
+ * [MOLY00504457] [Titan93] ESVCINFO issue fix
+ *
+ * .
+ *
+ * 09 14 2020 tina.ma
+ * [MOLY00504457] [Titan93] ESVCINFO issue fix
+ *
+ * .
+ *
+ * 10 18 2017 lemon.xiong
+ * [MOLY00247250] [BIANCO][MT6763][C2K]Merge cl to umoly
+ * update for scc ut case
+ *
+ * 09 01 2017 lemon.xiong
+ * [MOLY00267484] [BIANCO][MT6763][C2K]coverity warning fix
+ *
+ * ut code
+ *
+ * 07 04 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * ::KAL type - L3, folder ps
+ *
+ * 06 22 2017 gavin.zhang
+ * [MOLY00258188] [TE CAT][Bianco][C2K][MP1][N1] Externel (EE),0,0,99,/data/core/,1,modem,Trigger time:[2017-06-10 15:25:44.599061] md1:(MCU_core0.vpe0.tc0(VPE0)) [Fatal error(task)] err_code1:0x00000305 err_code2:0x8888016F err_code3:0xCCCCCCCC MD Offender:CPSW
+ *
+ * .
+ *
+ * 06 01 2017 johnny.ding
+ * [MOLY00254250] [BIANCO][MT6763][C2K][RDIT][Stress][FT][KAL][UE][core0,vpe0,tc0(vpe0)] Fatal Error (0x604, 0xffffffde, 0xcccccccc) - CPSW
+ *
+ * stop timer in PSW context, should not in HLP context.
+ *
+ * 12 01 2016 sue.zhong
+ * [MOLY00213777] [6293][C2K]Sync C2K code to UMOLYA TRUNK(W1648)
+ * Update C2K source
+ *
+ * 11 09 2016 sue.zhong
+ * [MOLY00208435] [6293][C2K]Sync C2K code to UMOLYA TRUNK
+ * Update C2K PS code (1/2)
+ * Revision 1.4.1.2 2006/03/20 18:01:57 winston
+ * Fix CR7411: add function sccCpNoSvcInd()
+ * Revision 1.5 2006/03/21 16:45:42 mclee
+ * Add fromAccess parameter to cpCpIdle() prototype needed by data services. Data services uses this flag to detect dormant mode scenarios.
+ * Revision 1.4 2006/01/11 15:23:14 blee
+ * Modified function paramter
+ * Revision 1.3 2004/09/28 15:29:56 chinh
+ * Merged changes from cbp6.0.
+ * Revision 1.2 2004/03/25 12:07:17 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.2 2004/02/10 12:55:27 bcolford
+ * Merged CBP4.0 Release 8.05.0 changes.
+ * Revision 1.16 2003/12/11 14:29:57 hhong
+ * Added parameter Reason for sccPsReleaseReq( ).
+ * Revision 1.15 2003/11/21 20:29:31 hhong
+ * Added indication of CDMA v.s. AMPS as a argument for sccCpIdle( ).
+ * Revision 1.14 2002/08/08 15:08:20 mclee
+ * Add prototype sccLocReleaseReq(). Change sccCp801Discard name to sccLocServDiscardSession()
+ * Revision 1.13 2002/06/06 14:53:08 bsharma
+ * Updated Copyright info.
+ * Revision 1.12 2002/05/07 16:31:58 byang
+ * Add function prototype declaration for
+ * sccGetDefaultServiceConfiguration().
+ * Revision 1.11 2002/04/18 09:53:21 mclee
+ * Add location service prototypes
+ * Revision 1.10 2002/02/27 20:53:57 mclee
+ * IS801 APIs
+ * Revision 1.9 2002/02/14 16:29:13 byang
+ * CR373: Add function prototype declaration for
+ * sccIsServOptionAttributeAvailable().
+ * Revision 1.8 2001/12/14 17:14:24 mclee
+ * prototype sccGetVocoder().
+ * Revision 1.7 2001/11/29 14:11:46 kmar
+ * New function prototype, sccSmsSaveChannel().
+ * Revision 1.6 2001/10/23 16:00:44 byang
+ * Modified sccCpGetServCfgNoConnections() parameters to
+ * accept a target forward and reverse RC.
+ * Revision 1.5 2001/09/24 15:41:33 kmar
+ * Update SMS to latest in CBP3.
+ * Removed Digits parameter from sccSmsTxReq().
+ * Revision 1.4 2001/09/24 09:26:42 mclee
+ * SCC PSW 3 to 4 merge
+ * Revision 1.3 2001/07/02 14:27:35 kmar
+ * Update SCC and SMS to CBP3 v360.
+ * ToNegotiate and Info Rec support in Orig Cont support
+ * added, but currently #define'd out.
+ * Revision 1.2 2001/05/16 11:26:38 yfang
+ * added data service back
+ * Revision 1.1 2001/01/17 10:57:26 plabarbe
+ * Initial revision
+ * Revision 1.1 2000/10/24 14:11:49 fpeng
+ * Initial revision
+ * Revision 1.3 2000/08/24 00:11:48Z hhong
+ * To update to SCC ver. 2.7
+ * Revision 1.28 2000/03/09 23:33:38 bcassidy
+ * 1. Add "service" parameter to sccVsSwitchServiceReq.
+ *
+ * Revision 1.27 2000/03/06 19:18:53 bcassidy
+ * 1. Add sccCpBroadcastConfigured/ExpectedInd prototypes
+ * [SCR 181, 183].
+ *
+ * Revision 1.26 2000/03/06 16:44:32 bcassidy
+ * 1. Add emergency call indicator to sccVsOrigReq
+ * [SCR 167].
+ *
+ * Revision 1.25 2000/02/15 17:38:27 ddoucett
+ * added sccSmsSetBroadcastParms and sccCpBroadcastDataBurstInd
+ *
+ * Revision 1.24 2000/02/15 16:55:15 bcassidy
+ * 1. Change internalDmc parameter type in sccPsPrefInd to match API document.
+ *
+ * Revision 1.23 2000/01/05 00:09:31 ddoucett
+ * fixed kal_bool muxOption preference for voice
+ *
+ * Revision 1.22 1999/12/16 18:14:19 ddoucett
+ * fixed arm compiler warnings
+ *
+ * Revision 1.21 1999/12/09 20:56:14 ddoucett
+ * fixed sccVsSwitchServiceReq callin
+ *
+ * Revision 1.20 1999/12/08 06:03:38 ddoucett
+ * Updated scc api encluding OTASP support
+ *
+ * Revision 1.19 1999/11/30 22:57:10 ddoucett
+ * *** empty log message ***
+ *
+ * Revision 1.18 1999/11/30 00:47:43 ddoucett
+ * updated API for SCC rework
+ *
+ * Revision 1.17 1999/07/24 00:36:22 msmith
+ * Removed ARM warnings
+ *
+ * Revision 1.16 1999/07/23 20:18:44 msmith
+ * Added comments
+ *
+ * Revision 1.15 1999/07/22 20:19:11 msmith
+ * Added RCS log support
+ *
+ *
+ * This Software is the property of ISOTEL Research Ltd. Unauthorized
+ * use is prohibited.
+ *
+ * ISOTEL Research Ltd.
+ * 220, 6815-8th Street N.E.
+ * Calgary, Alberta, Canada T2E 7H7
+ * Tel: (403)275-0041 Fax: (403)274-3598
+ *
+ *
+
+ * All rights reserved.
+ *
+ *************************************************************************
+ *
+ * RCS Log Information
+ *
+ *
+ * $Log: SCC_API.H $
+ *
+ * 09 18 2020 tina.ma
+ * [MOLY00504457] [Titan93] ESVCINFO issue fix
+ *
+ * .
+ *
+ * 09 14 2020 tina.ma
+ * [MOLY00504457] [Titan93] ESVCINFO issue fix
+ *
+ * .
+ *
+ * 10 18 2017 lemon.xiong
+ * [MOLY00247250] [BIANCO][MT6763][C2K]Merge cl to umoly
+ * update for scc ut case
+ *
+ * 09 01 2017 lemon.xiong
+ * [MOLY00267484] [BIANCO][MT6763][C2K]coverity warning fix
+ *
+ * ut code
+ *
+ * 07 04 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * ::KAL type - L3, folder ps
+ *
+ * 06 22 2017 gavin.zhang
+ * [MOLY00258188] [TE CAT][Bianco][C2K][MP1][N1] Externel (EE),0,0,99,/data/core/,1,modem,Trigger time:[2017-06-10 15:25:44.599061] md1:(MCU_core0.vpe0.tc0(VPE0)) [Fatal error(task)] err_code1:0x00000305 err_code2:0x8888016F err_code3:0xCCCCCCCC MD Offender:CPSW
+ *
+ * .
+ *
+ * 06 01 2017 johnny.ding
+ * [MOLY00254250] [BIANCO][MT6763][C2K][RDIT][Stress][FT][KAL][UE][core0,vpe0,tc0(vpe0)] Fatal Error (0x604, 0xffffffde, 0xcccccccc) - CPSW
+ *
+ * stop timer in PSW context, should not in HLP context.
+ *
+ * 12 01 2016 sue.zhong
+ * [MOLY00213777] [6293][C2K]Sync C2K code to UMOLYA TRUNK(W1648)
+ * Update C2K source
+ *
+ * 11 09 2016 sue.zhong
+ * [MOLY00208435] [6293][C2K]Sync C2K code to UMOLYA TRUNK
+ * Update C2K PS code (1/2)
+ * Revision 1.5 2006/03/21 16:45:42 mclee
+ * Add fromAccess parameter to cpCpIdle() prototype needed by data services. Data services uses this flag to detect dormant mode scenarios.
+ * Revision 1.4 2006/01/11 15:23:14 blee
+ * Modified function paramter
+ * Revision 1.3 2004/09/28 15:29:56 chinh
+ * Merged changes from cbp6.0.
+ * Revision 1.2 2004/03/25 12:07:17 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.2 2004/02/10 12:55:27 bcolford
+ * Merged CBP4.0 Release 8.05.0 changes.
+ * Revision 1.16 2003/12/11 14:29:57 hhong
+ * Added parameter Reason for sccPsReleaseReq( ).
+ * Revision 1.15 2003/11/21 20:29:31 hhong
+ * Added indication of CDMA v.s. AMPS as a argument for sccCpIdle( ).
+ * Revision 1.14 2002/08/08 15:08:20 mclee
+ * Add prototype sccLocReleaseReq(). Change sccCp801Discard name to sccLocServDiscardSession()
+ * Revision 1.13 2002/06/06 14:53:08 bsharma
+ * Updated Copyright info.
+ * Revision 1.12 2002/05/07 16:31:58 byang
+ * Add function prototype declaration for
+ * sccGetDefaultServiceConfiguration().
+ * Revision 1.11 2002/04/18 09:53:21 mclee
+ * Add location service prototypes
+ * Revision 1.10 2002/02/27 20:53:57 mclee
+ * IS801 APIs
+ * Revision 1.9 2002/02/14 16:29:13 byang
+ * CR373: Add function prototype declaration for
+ * sccIsServOptionAttributeAvailable().
+ * Revision 1.8 2001/12/14 17:14:24 mclee
+ * prototype sccGetVocoder().
+ * Revision 1.7 2001/11/29 14:11:46 kmar
+ * New function prototype, sccSmsSaveChannel().
+ * Revision 1.6 2001/10/23 16:00:44 byang
+ * Modified sccCpGetServCfgNoConnections() parameters to
+ * accept a target forward and reverse RC.
+ * Revision 1.5 2001/09/24 15:41:33 kmar
+ * Update SMS to latest in CBP3.
+ * Removed Digits parameter from sccSmsTxReq().
+ * Revision 1.4 2001/09/24 09:26:42 mclee
+ * SCC PSW 3 to 4 merge
+ * Revision 1.3 2001/07/02 14:27:35 kmar
+ * Update SCC and SMS to CBP3 v360.
+ * ToNegotiate and Info Rec support in Orig Cont support
+ * added, but currently #define'd out.
+ * Revision 1.2 2001/05/16 11:26:38 yfang
+ * added data service back
+ * Revision 1.1 2001/01/17 10:57:26 plabarbe
+ * Initial revision
+ * Revision 1.1 2000/10/24 14:11:49 fpeng
+ * Initial revision
+ * Revision 1.3 2000/08/24 00:11:48Z hhong
+ * To update to SCC ver. 2.7
+ * Revision 1.28 2000/03/09 23:33:38 bcassidy
+ * 1. Add "service" parameter to sccVsSwitchServiceReq.
+ *
+ * Revision 1.27 2000/03/06 19:18:53 bcassidy
+ * 1. Add sccCpBroadcastConfigured/ExpectedInd prototypes
+ * [SCR 181, 183].
+ *
+ * Revision 1.26 2000/03/06 16:44:32 bcassidy
+ * 1. Add emergency call indicator to sccVsOrigReq
+ * [SCR 167].
+ *
+ * Revision 1.25 2000/02/15 17:38:27 ddoucett
+ * added sccSmsSetBroadcastParms and sccCpBroadcastDataBurstInd
+ *
+ * Revision 1.24 2000/02/15 16:55:15 bcassidy
+ * 1. Change internalDmc parameter type in sccPsPrefInd to match API document.
+ *
+ * Revision 1.23 2000/01/05 00:09:31 ddoucett
+ * fixed kal_bool muxOption preference for voice
+ *
+ * Revision 1.22 1999/12/16 18:14:19 ddoucett
+ * fixed arm compiler warnings
+ *
+ * Revision 1.21 1999/12/09 20:56:14 ddoucett
+ * fixed sccVsSwitchServiceReq callin
+ *
+ * Revision 1.20 1999/12/08 06:03:38 ddoucett
+ * Updated scc api encluding OTASP support
+ *
+ * Revision 1.19 1999/11/30 22:57:10 ddoucett
+ * *** empty log message ***
+ *
+ * Revision 1.18 1999/11/30 00:47:43 ddoucett
+ * updated API for SCC rework
+ *
+ * Revision 1.17 1999/07/24 00:36:22 msmith
+ * Removed ARM warnings
+ *
+ * Revision 1.16 1999/07/23 20:18:44 msmith
+ * Added comments
+ *
+ * Revision 1.15 1999/07/22 20:19:11 msmith
+ * Added RCS log support
+ *
+ * Revision 1.14 1999/07/22 17:54:05 ddoucett
+ * *** empty log message ***
+ *
+ * Revision 1.13 1999/07/14 21:33:06 msmith
+ * Added Markov support
+ *
+ * Revision 1.12 1999/07/14 17:47:29 msmith
+ * Nothing
+ *
+ * Revision 1.11 1999/07/13 20:30:49 msmith
+ * Added Zone-based registration/reconnection support
+ *
+ * Revision 1.10 1999/07/13 19:58:29 msmith
+ * Fixed interface to SOC
+ *
+ * Revision 1.9 1999/07/13 19:38:37 ddoucett
+ * added sid/nid event reporting function
+ *
+ * Revision 1.8 1999/07/09 15:33:57 msmith
+ * Forget
+ *
+ * Revision 1.7 1999/07/07 22:17:13 ddoucett
+ * added loopback support
+ *
+ * Revision 1.6 1999/06/02 20:25:53 msmith
+ * Added support for ACCESS state queuing
+ *
+ * Revision 1.5 1999/05/31 16:06:58 msmith
+ * Removed action time from ConfigurationInd
+ *
+ * Revision 1.4 1999/05/19 16:28:26 msmith
+ * Removed stype.h dependency in .h and moved to .c
+ *
+ * Revision 1.3 1999/05/18 17:56:29 msmith
+ * Added ANALOG voice support
+ *
+ * Revision 1.2 1999/05/13 14:06:30 msmith
+ * Added Packet Data support
+ *
+ * Revision 1.1 1999/04/26 16:24:20 msmith
+ * Initial revision
+ *
+ *
+ *
+ ************************************************************************/
+
+#ifndef _SCC_API_H
+#define _SCC_API_H
+
+#include "SCC_DATA.H" /* Basic SCC data types */
+#include "Msg_defn.h" /* definition of FORInfoData */
+#include "Serv_cfg.h" /* definition of MultiplexOptionInfo,
+ ServiceConfiguration, ServiceOptionInfo* */
+#include "wbios.h" /* definition of SCResponse Req and Resp fields */
+
+
+/****************************************************************************
+ *
+ * Name: sccCpAccess
+ *
+ * Description: Report that the CPE has enterred the ACCESS state.
+ *
+ * Parameters: (none)
+ *
+ * Returns: (nothing)
+ *
+ * Notes: The CPE sub-states indicate the ACCESS super-state:
+ * CP_UPDATE_OHD_INFO, CP_PAGE_RESPONSE, CP_ORD_MSG_RESP,
+ * CP_ORIGINATION, CP_REGISTRATION, CP_MSG_TRANSMISSION
+ *
+ *****************************************************************************/
+void sccCpAccess(void);
+
+/****************************************************************************
+ *
+ * Name: sccCpAccessMaxCapsuleSizeInd
+ *
+ * Description: Reports changes in the ACCESS channel maximum capsule size.
+ * Note that this is the useable size for the purpose of sending
+ * a data burst message.
+ *
+ * Parameters: kal_uint8 size - number of octets
+ *
+ * Returns: (nothing)
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccCpAccessMaxCapsuleSizeInd( kal_uint8 size ) ;
+
+/****************************************************************************
+ *
+ * Name: sccCpAlertInd
+ *
+ * Description: Reports the arrival of an ALERT message while in the
+ * waiting for order state.
+ *
+ * Parameters: FORInfoData* data - ALERT info like audio data and CLID
+ *
+ * Returns: (nothing)
+ *
+ * Notes: The SCC assumes the ALERT is destined for the currently
+ * connected service or voice by default (if otherwise unknown).
+ *
+ *****************************************************************************/
+void sccCpAlertInd( FORInfoData* alertData ) ;
+
+/****************************************************************************
+ *
+ * Name: sccCpBroadcastConfiguredInd
+ *
+ * Scope: public
+ *
+ * Description: Determines if any service (eg. SMS, OTASP) has been configured
+ * to receive broadcast databurst messages.
+ *
+ * Parameters:
+ * void
+ *
+ * Returns:
+ * kal_bool - KAL_TRUE: At least one service is configured to received broadcast
+ * databurst messages.
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+kal_bool sccCpBroadcastConfiguredInd (void);
+
+/****************************************************************************
+ *
+ * Name: sccCpBroadcastDataBurstInd
+ *
+ * Description: Indication of the arrival of a broadcast message for
+ * 'burstType' service. (SMS, ...)
+ *
+ * Parameters:
+ * addrLen - Length of the BC_ADDR field
+ * addr - BC_ADDR field of broadcast message
+ * msgNumber - MSG_NUM field
+ * burstType - type of data burst message
+ * numMsgs - number of messages in sequence (SAR)
+ * numFields - NUM_FIELDS field (used as # of octets)
+ * data - pointer to the "fields" or octets in message
+ *
+ * Returns: (nothing)
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccCpBroadcastDataBurstInd(kal_uint8 addrLen, kal_uint8 *addr,
+ kal_uint8 msgNumber, kal_uint8 burstType, kal_uint8 numMsgs,
+ kal_uint8 numFields, kal_uint8* data);
+
+/****************************************************************************
+ *
+ * Name: sccCpBroadcastExpectedInd
+ *
+ * Scope: public
+ *
+ * Description: Determines if the specified service is configured to receive
+ * brodcast messages with the specified address parameters.
+ *
+ * Parameters:
+ * kal_uint8 burstType - service identifer.
+ * kal_uint8 addrLen - length of BC_ADDR field
+ * kal_uint8* addr - BC_ADDR field in broadcast message.
+ *
+ * Returns:
+ * kal_bool - KAL_TRUE: The specified service is configured to receive the specified
+ * broadcast messages.
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+kal_bool sccCpBroadcastExpectedInd (kal_uint8 burstType, kal_uint8 addrLen, kal_uint8* addr);
+
+/****************************************************************************
+ *
+ * Name: sccCpConnectInd
+ *
+ * Description: Report the arrical of a digital connection message
+ * (i.e. from the CPEvent EV_CONNDIGITAL)
+ *
+ * Parameters: (nothing)
+ *
+ * Returns: (nothing)
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccCpConnectInd( void ) ;
+
+/****************************************************************************
+ *
+ * Name: sccCpConnectAnalogInd
+ *
+ * Description: Report the arrical of a analog connection message
+ * (i.e. from the CPEvent EV_CONNANALOG)
+ *
+ * Parameters: (nothing)
+ *
+ * Returns: (nothing)
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccCpConnectAnalogInd( void ) ;
+
+/****************************************************************************
+ *
+ * Name: sccCpDataBurstInd
+ *
+ * Description: Report the arrival of a data burst message from either the
+ * ACCESS or TRAFFIC channels.
+ *
+ * Parameters: broadcast - message was recieved for a broadcast address
+ * msgNumber - MSG_NUM field
+ * burstType - type of data burst message
+ * numMsgs - number of messages in sequence (SAR)
+ * numFields - NUM_FIELDS field (used as # of octets)
+ * data - pointer to the "fields" or octets in message
+ *
+ * Returns: (nothing)
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccCpDataBurstInd( kal_uint8 msgNumber, kal_uint8 burstType,
+ kal_uint8 numMsgs, kal_uint8 numFields, kal_uint8* data ) ;
+
+/****************************************************************************
+ *
+ * Name: sccCpDataBurstRsp
+ *
+ * Description: Report the status of the last data burst message sent
+ *
+ * Parameters: kal_bool success - if KAL_TRUE message delivered successfully
+ *
+ * Returns: (nothing)
+ *
+ * Notes: This is called as a result of receiving a DATA_BURST_RSP
+ * indication from CPE or a DATA_BURST_SENT indication from CPE.
+ * In the former, it signals the completion of a L2 data burst
+ * transaction while in the latter it signals that the
+ * message sent without confirmation was transmitted.
+ *
+ * Currently, there is no way to indicate FAILURE on the ACCESS
+ * channel. On the TRAFFIC channel, a data burst failure results
+ * in a RELEASE from the CPE. This event causes the SCC to
+ * fail the data burst transaction.
+ *
+ *****************************************************************************/
+void sccCpDataBurstRsp( kal_bool success ) ;
+
+/****************************************************************************
+ *
+ * Name: sccCpDisconnectInd
+ *
+ * Description: Report that the traffic channel services have been forcibly
+ * disconnected by the base-station.
+ *
+ * Parameters: kal_uint8 nextState: Indication of the CPE's next state
+ *
+ * Returns: (nothing)
+ *
+ * Notes: The SCC currently ignores this event and instead waits for
+ * a RELEASE.
+ *
+ *****************************************************************************/
+void sccCpDisconnectInd(kal_uint8);
+
+/****************************************************************************
+ *
+ * Name: sccCpGetMultiplexOptionInfo
+ *
+ * Description: Return (synchronously) the multiplex options that are
+ * supported by the mobile station.
+ *
+ * Parameters: (none)
+ *
+ * Returns: MultiplexOptionInfo* mux - a list of MUX options
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+MultiplexOptionInfo* sccCpGetMultiplexOptionInfo( void ) ;
+
+/****************************************************************************
+ *
+ * Name: sccCpGetServCfgNoConnections
+ *
+ * Description: Return (synchronously) the service configuration for the
+ * TRAFFIC channel that should be applied in order to set-up a
+ * SIGNALLING only connection. This data is based on the intended
+ * service option.
+ *
+ * Parameters: kal_uint16 serviceOption - SO to base configuration on
+ *
+ * Returns: ServiceConfiguration* cfg - MUX and rate configuration. There
+ * are NO connections returned as it is for SIGNALLING only.
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+ServiceConfiguration* sccCpGetServCfgNoConnections
+(
+ const kal_uint16 serviceOption,
+ const RcTypes targetForRc,
+ const RcTypes targetRevRc
+) ;
+
+/****************************************************************************
+ *
+ * Name: sccCpGetServiceOptionInfo
+ *
+ * Description: Return (synchronously) the service options supported by the
+ * mobile station
+ *
+ * Parameters: (none)
+ *
+ * Returns: ServiceOptionInfo *info - list of SOs
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+ServiceOptionInfo* sccCpGetServiceOptionInfo( void ) ;
+
+/****************************************************************************
+ *
+ * Name: sccCpHandoffInd
+ *
+ * Description: Report handoff either on the ACCESS (IDLE) or TRAFFIC channels
+ *
+ * Parameters: kal_uint8 type - HO type (soft, hard, analog)
+ * kal_uint8 cfgChanged - indicates if the TRAFFIC channel Service
+ * Configuration changed as a result of the handoff
+ * kal_bool setChanged - handoff caused disjoint active sets
+ * kal_bool freqChanged - CDMA channel changes as result of handoff
+ *
+ * Returns: (nothing)
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccCpHandoffInd( kal_uint8 type, kal_bool cfgChanged, kal_bool setChanged,
+ kal_bool freqChanged) ;
+
+/****************************************************************************
+ *
+ * Name: sccCpIdle
+ *
+ * Description: Report that the MS is now in the IS-95B IDLE state
+ *
+ * Parameters: (none)
+ *
+ * Returns: (nothing)
+ *
+ * Notes: ReportCPStatus could be used to generate this call-in or
+ * EV_INSVC which is reported each time IDLE is re-entered.
+ *
+ *****************************************************************************/
+
+#ifdef MTK_CBP_REL_OPTIMIZE
+void sccCpIdle(kal_bool cdma);
+#else
+void sccCpIdle(kal_bool cdma, kal_bool fromAccess);
+#endif
+/****************************************************************************
+ *
+ * Name: sccCpNetworkPRev
+ *
+ * Description: Report the protocol revision supported by the network.
+ *
+ * Parameters: kal_uint8 prev
+ *
+ * Returns: (nothing)
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccCpNetworkPRev(kal_uint8 prev);
+
+/****************************************************************************
+ *
+ * Name: sccCpNoSvcInd
+ *
+ * Description: Indicates RF covergae has been lost and/or CDMA services
+ * are no longer available from the base-station. The CPE
+ * event EV_NOSVC maps to this function directly.
+ *
+ * Parameters: (none)
+ *
+ * Returns: (nothing)
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccCpNoSvcInd( void ) ;
+
+#ifndef MTK_CBP_REL_OPTIMIZE
+/****************************************************************************
+ *
+ * Name: sccCpOrigFailInd
+ *
+ * Description: Report an origination failure. From CPE, the following
+ * CPEvents map to this function: EV_INTERCEPT, EV_REORDER,
+ * EV_ORIG_FAIL, EV_CC_RELEASE
+ *
+ * Parameters: kal_uint8 reason - origination failure reason (see above)
+ * The CPE reason can be passed directly to the SCC
+ *
+ * Returns: (nothing)
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccCpOrigFailInd( kal_uint8 reason ) ;
+#endif
+
+/****************************************************************************
+ *
+ * Name: sccCpOriginationSent
+ *
+ * Description: Indicates that an origination message has been sent by CPE
+ *
+ * Parameters: (none)
+ *
+ * Returns: (nothing)
+ *
+ * Notes: This is used only by the Packet Services
+ *
+ *****************************************************************************/
+void sccCpOriginationSentInd( void ) ;
+
+/****************************************************************************
+ *
+ * Name: sccCpPacketZoneId
+ *
+ * Description: Report a NEW packet zone (entry to a new system)
+ *
+ * Parameters: kal_uint8 zone - new packet zone
+ *
+ * Returns: (nothing)
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccCpPacketZoneId(kal_uint8 zone);
+
+/****************************************************************************
+ *
+ * Name: sccCpPageInd
+ *
+ * Description: Report arrival of a page message
+ *
+ * Parameters: (none)
+ *
+ * Returns: (nothing)
+ *
+ * Notes: The ServiceOptionValidation function needs to be invoked
+ * later to actually validate the page request
+ *
+ *****************************************************************************/
+void sccCpPageInd( void ) ;
+
+/****************************************************************************
+ *
+ * Name: sccCpRandInd
+ *
+ * Description: Report a new RAND that is used for authentication/encryption.
+ *
+ * Parameters: kal_uint32 rand
+ *
+ * Returns: (nothing)
+ *
+ * Notes: RAND is used when RLP is established
+ *
+ *****************************************************************************/
+void sccCpRandInd( kal_uint32 rand ) ;
+
+/****************************************************************************
+ *
+ * Name: sccCpReadyInd
+ *
+ * Description: Reports that CDMA services are available from the
+ * base-station. It also indicates a change in IS-95B state or
+ * parameters.
+ *
+ * Parameters: kal_uint8 state - IS-95B state
+ * kal_uint8 prevState - previous IS-95B state
+ * kal_uint8 roam - indicates if the current SID is not the home SID
+ * kal_uint8 band - current band class
+ * kal_uint16 channel - current CDMA frequency
+ * kal_uint8 mode - PCS/analog/cellular
+ * kal_uint8 block - serving block (PCS only)
+ * kal_uint8 servingSystem - Band 0 serving system
+ * kal_uint16 sid - System ID
+ * kal_uint16 nid - Network ID
+ * kal_uint8 protRev - network protocol revision
+ *
+ * Returns: (nothing)
+ *
+ * Notes: This should be called with the last values reported values
+ * of CPStatus when the EV_INSVC CPEvent is reported.
+ *
+ *****************************************************************************/
+void sccCpReadyInd( kal_uint8 state, kal_uint8 prevState, kal_uint8 roam, SysCdmaBandT band,
+ kal_uint16 channel, kal_uint8 block,
+ kal_uint8 servingSystem, kal_uint16 sid, kal_uint16 nid, kal_uint8 protRev ) ;
+
+/****************************************************************************
+ *
+ * Name: sccCpReleaseInd
+ *
+ * Description: Report that the TRAFFIC channel has been released. This
+ * maps to EV_TC_RELEASE_NORMAL, EV_TC_RELEASE_FAIL,
+ * EV_TC_RELEASE_SO_REJECT, EV_TC_RELEASE_ACK_FAIL,
+ * EV_TC_RELEASE_FADE, EV_TC_RELEASE_PDOWN.
+ *
+ * Parameters: kal_uint8 reason - see above
+ *
+ * Returns: (nothing)
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccCpReleaseInd( kal_uint8 reason ) ;
+
+/****************************************************************************
+ *
+ * Name: sccCpServiceConfigurationInitiation
+ *
+ * Description: Returns the initial Service Configuration that is to be
+ * used for the service negotiation process.
+ *
+ * Parameters: (none)
+ *
+ * Returns: ServiceConfiguration* cfg - initial cfg.
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+ServiceConfiguration* sccCpServiceConfigurationInitiation( void ) ;
+
+/****************************************************************************
+ *
+ * Name: sccCpServiceConfigurationRsp
+ *
+ * Description: Reports that the Service Configuration (above) was either
+ * applied or rejected.
+ *
+ * Parameters: kal_uint8 response - (see API)
+ *
+ * Returns: (nothing)
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccCpServiceConfigurationRsp( kal_uint8 response, kal_uint8 request ) ;
+
+/****************************************************************************
+ *
+ * Name: sccCpServiceConfigurationValidation
+ *
+ * Description: Validates the Service Configuration propsoed by the BS
+ *
+ * Parameters: kal_bool validateOnly - if KAL_TRUE alternative will not be proposed
+ * ServiceConfiguration* servCfg - cfg to validate
+ *
+ * Returns: SCResponse - ACCEPT or REJECT (or PROPOSE if ~validateOnly)
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+SCResponse sccCpServiceConfigurationValidation( kal_bool validateOnly, ServiceConfiguration* servCfg ) ;
+
+/****************************************************************************
+ *
+ * Name: sccCpServiceNegotiationModeInd
+ *
+ * Description: Reports the Service Negotiaion mode. Either service
+ * negotiation (SN) or service option negotiation (SON).
+ *
+ * Parameters: mode - If KAL_TRUE, SN, else SON
+ *
+ * Returns: (nothing)
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccCpServiceNegotiationModeInd( kal_bool mode ) ;
+
+/****************************************************************************
+ *
+ * Name: sccCpServiceOptionControlMessageInd
+ *
+ * Description: Report the arrival of a Service Option Control Message.
+ *
+ * Parameters: kal_uint8 conRef - connection to which this messabe applies
+ * kal_uint16 serviceOption - service option to apply this to
+ * kal_uint8 length - length of message in octets
+ * kal_uint8* ctlRec - message
+ * kal_uint32 actionTime - time to apply control message order
+ *
+ * Returns:
+ *
+ * Notes: The action time is ignored by the SCC (i.e. applied
+ * immediately) except for codec control actions.
+ *
+ *****************************************************************************/
+kal_uint8 sccCpServiceOptionControlMessageInd( kal_uint8 conRef, kal_uint16 serviceOption,
+ kal_uint8 length, kal_uint8* ctlRec, kal_uint32 actionTime ) ;
+
+/****************************************************************************
+ *
+ * Name: sccCpServiceOptionControlOrderInd
+ *
+ * Description: Report the arrival of a Service Option Control Order.
+ *
+ * Parameters: kal_uint8 ordq - order
+ * kal_uint32 actionTime - time to apply control message order
+ *
+ * Returns:
+ *
+ * Notes: The action time is ignored by the SCC (i.e. applied
+ * immediately) except for codec control actions. It is
+ * also it is assumed that the order is destined for the
+ * FIRST connected service. Normally, this is OK since
+ * an Order can only be received in the SON mode which allows
+ * only ONE service to be connected (e.g. voice).
+ *
+ *****************************************************************************/
+kal_uint8 sccCpServiceOptionControlOrderInd( kal_uint8 ordq, kal_uint32 actionTime ) ;
+
+/****************************************************************************
+ *
+ * Name: sccCpServiceOptionValidation
+ *
+ * Description: Validate the service option proposed by the BS.
+ *
+ * Parameters: SysServiceOptionT* serviceOption - ptr to proposed SO (in/out)
+ *
+ * Returns: SCResponse - accept, reject or propose (SO returned in above)
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+SCResponse sccCpServiceOptionValidation( SysServiceOptionT* serviceOption ) ;
+
+/****************************************************************************
+ *
+ * Name: sccCpSidNidChange
+ *
+ * Description: Report that either the SID or NID of the system has changed.
+ *
+ * Parameters: kal_uint16 sid
+ * kal_uint16 nid
+ *
+ * Returns: (nothing)
+ *
+ * Notes: This can be gotten from the CPE CPStatus report.
+ *
+ *****************************************************************************/
+void sccCpSidNidChange(kal_uint16 sid, kal_uint16 nid);
+
+/****************************************************************************
+ *
+ * Name: sccCpSsdbInd
+ *
+ * Description: Report a new SSDB being used for authentication/encryption
+ *
+ * Parameters: kal_uint8* ssdb - ptr to 8 octets containing SSDB
+ *
+ * Returns: (nothing)
+ *
+ * Notes: RAND is used when RLP is established
+ *
+ *****************************************************************************/
+void sccCpSsdbInd( kal_uint8* ssdb ) ;
+
+/****************************************************************************
+ *
+ * Name: sccCpTcAssigned
+ *
+ * Description: Report that a TRAFFIC channel has been assigned to the MS.
+ *
+ * Parameters: (none)
+ *
+ * Returns: (nothing)
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccCpTcAssigned(void);
+
+/****************************************************************************
+ *
+ * Name: sccCpZone
+ *
+ * Description: Report changes in the REG_ZONE
+ *
+ * Parameters: kal_uint8 zone
+ *
+ * Returns: (nothing)
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccCpZone(kal_uint8 zone);
+
+/****************************************************************************
+ *
+ * Name: sccDsConnectReq
+ *
+ * Description: Request to connect the Data Service (DS) upon receiving
+ * an alert.
+ *
+ * Parameters: (none)
+ *
+ * Returns: (nothing)
+ *
+ * Notes: This is ignored if there was no prior alert
+ *
+ *****************************************************************************/
+void sccDsConnectReq( void ) ;
+
+/****************************************************************************
+ *
+ * Name: sccDsEnableMap
+ *
+ * Description: Enable/disable DS services
+ *
+ * Parameters: ENABLE_MAP enableMap - bitmap of services that should be
+ * enabled including: Async data, FAX and UP.Browser on async.
+ *
+ * Returns:
+ *
+ * Notes: If a service is disabled and the current call is of that type,
+ * it will be RELEASEd autonomously by the SCC.
+ *
+ *****************************************************************************/
+void sccDsEnableReq( kal_uint8 enableMap ) ;
+
+/****************************************************************************
+ *
+ * Name: sccDsOrigReq
+ *
+ * Description: Connect a data service between the MS and BS
+ *
+ * Parameters: kal_uint8 serviceType - Async or FAX (see scc_dsc.h for types)
+ * kal_uint8* digits - dialled digits
+ *
+ * Returns:
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccDsOrigReq( kal_uint8 serviceType, kal_uint8 *digits);
+
+/****************************************************************************
+ *
+ * Name: sccDsPrefInd
+ *
+ * Description: Set the Data Service preferences including the acceptable
+ * terminations (i.e. page) and preferrred origination type.
+ *
+ * Parameters: kal_uint8 pageAcceptMap - accept Async data, FAX or none
+ * kal_uint16 asyncSOPref - preferred SO for async calls
+ * kal_uint16 faxSOPref - preferred SO for fax calls
+ *
+ * Returns:
+ *
+ * Notes: These settings do not affect any current calls in progress
+ *
+ *****************************************************************************/
+void sccDsPrefInd( kal_uint8 pageAcceptMap, kal_uint16 asyncSOPref,
+ kal_uint16 faxSOPref, kal_uint8 forRc, kal_uint8 revRc);
+
+/****************************************************************************
+ *
+ * Name: sccDsReleaseReq
+ *
+ * Description: request that the currently connected call be released.
+ *
+ * Parameters: (none)
+ *
+ * Returns: (nothing)
+ *
+ * Notes: This call is ignored if there is no call in progress.
+ *
+ *****************************************************************************/
+void sccDsReleaseReq( void ) ;
+
+/****************************************************************************
+ *
+ * Name: sccLsOrigReq
+ *
+ * Description: Connect a loopback service between the MS and BS
+ *
+ * Parameters: kal_uint8 type - type of loopback call (IS-126 or Markov)
+ * kal_uint8* digits - dialled digits
+ *
+ *
+ * Returns: (nothing)
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccLsOrigReq(SysLoopbackSvcTypeT type, kal_uint8 *digits);
+
+/****************************************************************************
+ *
+ * Name: sccLsPrefInd
+ *
+ * Description: Select the loopback service type (IS-136 or Markov)
+ *
+ * Parameters: kal_uint8 pageAcceptMap
+ * kal_uint16 IS126SOPref - preferred SO for IS126 loopback calls
+ * kal_uint16 MarkovSOPref - preferred SO for Markov loopback calls
+ * kal_uint16 SuppChanSoPref - preferred SO for Supplemental
+ * channel loopback calls
+ *
+ * Returns: (nothing)
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccLsPrefInd(kal_uint8 pageAcceptMap, kal_uint16 IS126SOPref, kal_uint16 MarkovSOPref,
+ kal_uint16 SuppChanSoPref, kal_bool ToNegotiate, kal_uint8 forRc, kal_uint8 revRc);
+
+/****************************************************************************
+ *
+ * Name: sccLsReleaseReq
+ *
+ * Description: Request to release the currently connected loopback call
+ *
+ * Parameters: (none)
+ *
+ * Returns: (nothing)
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccLsReleaseReq( void );
+
+/****************************************************************************
+ *
+ * Name: sccLsSOCMsgReq
+ *
+ * Description: Request by the user to send a Service Option control
+ * message
+ *
+ * Parameters: kal_uint8* msg: Properly formatted SOC message
+ * kal_uint8 length: length of message
+ *
+ * Returns: (nothing)
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccLsSOCMsgReq(kal_uint8* msg, kal_uint8 length);
+
+/***************************************************************************
+ *
+ * Function Name: sccOsAcceptMsg
+ *
+ * Description: Indication the OTASP PE has accepted the last
+ * message as being valid
+ *
+ * Parameters: kal_bool success: KAL_TRUE -- message accepted
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void sccOsAcceptMsg(kal_bool success);
+
+/***************************************************************************
+ *
+ * Function Name: sccOsPrefInd
+ *
+ * Description: OTASP service option preferences
+ *
+ * Parameters: kal_uint16 OtaSoPref: OTASP service option preference
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void sccOsPrefInd(kal_uint16 OtaSoPref, kal_uint8 ForRc, kal_uint8 RevRc);
+
+/***************************************************************************
+ *
+ * Function Name: sccOsReleaseReq
+ *
+ * Description: Request to release the OTASP session
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void sccOsReleaseReq(void);
+
+/***************************************************************************
+ *
+ * Function Name: sccOsSendMsgReq
+ *
+ * Description: Request for SCC to transmit the given message
+ *
+ * Parameters: kal_uint8 *data: pointer to data.
+ * kal_uint8 length: length of message
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void sccOsSendMsgReq(kal_uint8 *data, kal_uint8 length);
+
+/****************************************************************************
+ *
+ * Name: sccPsConnectReq
+ *
+ * Description: Request to connect the incoming Packet Service
+ *
+ * Parameters: (none)
+ *
+ * Returns: (nothing)
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccPsConnectReq( void ) ;
+
+/****************************************************************************
+ *
+ * Name: sccPsDormantReq
+ *
+ * Description: Request that the packet Data Service enter the DORMANT state.
+ *
+ * Parameters: (none)
+ *
+ * Returns: (nothing)
+ *
+ * Notes: The BS can reject this request in which case no state change
+ * will occur.
+ *
+ *****************************************************************************/
+void sccPsDormantReq( void ) ;
+
+/****************************************************************************
+ *
+ * Name: sccPsSuspendReq
+ *
+ * Scope: public
+ *
+ * Description: Routes a Dormant request to the PSC, then suspend 1XPS.
+ *
+ * Parameters:
+ * void
+ *
+ * Returns:
+ * void
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void sccPsSuspendReq( void ) ;
+
+/****************************************************************************
+ *
+ * Name: sccPsResumeReq
+ *
+ * Scope: public
+ *
+ * Description: Resume 1XPS.
+ *
+ * Parameters:
+ * void
+ *
+ * Returns:
+ * void
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void sccPsResumeReq( void ) ;
+
+/****************************************************************************
+ *
+ * Name:
+ *
+ * Description:
+ *
+ * Parameters: kal_uint8 type - packet service type
+ * (low speed data, medium speed data)
+ * kal_uint8* digits - ascii encoded dialled digits
+ *
+ * Returns: (nothing)
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccPsOrigReq(SysPacketDataSvcTypeT type, kal_uint8* digits);
+
+/****************************************************************************
+ *
+ * Name: sccPsPrefInd
+ *
+ * Description: Indicate the preferred type of packet service.
+ *
+ * Parameters: kal_bool internalDormModeControl: indication SCC should
+ * use internal dormant mode.
+ * (KAL_TRUE -- SCC controls dormant mode)
+ * (KAL_FALSE -- dormant mode is external)
+ * kal_uint16 LSDSoPref: low speed data service option preference
+ * kal_uint16 MSDSoPref: medium speed data service option preference
+ * kal_uint8 MSPDTypePref: Preferred Packet service type
+ * (0 -- MSPD_Disabled)
+ * (1 -- MSPD_IfAvailible)
+ * (2 -- MSPD_Only)
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccPsPrefInd(kal_bool internalDmc, kal_uint16 LSDSoPref, kal_uint16 MSDSoPref,
+ kal_uint8 MSPDTypePref, kal_uint8 forRc, kal_uint8 revRc);
+
+/****************************************************************************
+ *
+ * Name: sccPsReleaseReq
+ *
+ * Description: Release the currently connected packet call
+ *
+ * Parameters: (none)
+ *
+ * Returns: (nothing)
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccPsReleaseReq(kal_uint8 reason);
+
+/****************************************************************************
+ *
+ * Name: sccPsStopDrmtTmr
+ *
+ * Description: Stop PSC dormant timer.
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccPsStopDrmtTmr();
+
+
+/****************************************************************************
+ *
+ * Name: sccSmsPrefSrvOptInd
+ *
+ * Description: Set the preferred SMS service option
+ *
+ * Parameters: kal_uint16 smsSoPref: Service Option preferred for SMS
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccSmsPrefSrvOptInd (kal_uint16 smsSoPref);
+
+/****************************************************************************
+ *
+ * Name: sccSmsPrefInd
+ *
+ * Description: Set the preferred SMS service option
+ *
+ * Parameters: kal_uint16 smsSoPref: Service Option preferred for SMS
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccSmsPrefInd(kal_uint16 smsSoPref, kal_uint8 forRc, kal_uint8 revRc);
+
+/****************************************************************************
+ *
+ * Name: sccSmsReleaseReq
+ *
+ * Description: Release the currently connected SMS connection
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccSmsReleaseReq(void);
+
+/****************************************************************************
+ *
+ * Name: sccSmsSetBroadcastParms
+ *
+ * Description: Sets the scc internal broadcast filter masks and
+ * priority
+ *
+ * Parameters: kal_uint32 svcMask: Bit Mask indicating which service
+ * categories of broadcast messages to allow.
+ * kal_uint32 langMask: Bit mask indicating which
+ * languages of broadcast messages to allow.
+ * kal_uint8 priority: Minimum priority of broadcast
+ * message to allow
+ *
+ * Returns: (nothing)
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccSmsSetBroadcastParms(kal_uint32 svcMask, kal_uint32 langMask, kal_uint8 priority);
+
+/****************************************************************************
+ *
+ * Name: sccSmsTxReq
+ *
+ * Description: Send an SMS data burst message
+ *
+ * Parameters: kal_uint8* data - data to send
+ * kal_uint16 len - number of octets
+ * kal_bool confirm - send confirmed (KAL_TRUE) or unconfirmed
+ *
+ * Returns: (nothing)
+ *
+ * Notes: The dialled digits are used for both origination of the
+ * SMS connection (if required) or authentication of data burst.
+ *
+ *****************************************************************************/
+void sccSmsTxReq(kal_uint8* data, kal_uint16 len, kal_bool confirm,kal_bool IsE911);
+
+/****************************************************************************
+ *
+ * Name: sccSmsSaveChannel
+ *
+ * Description: Stores the desired method by which to determine which
+ * channel to send the SMS message in.
+ *
+ * Parameters: kal_bool send_traffic- channel to send SMS message
+ *
+ * Returns: (nothing)
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccSmsSaveChannel(kal_bool send_traffic);
+
+/****************************************************************************
+ *
+ * Name: sccSysEnableReq
+ *
+ * Description: Enable/disable the SCC services
+ *
+ * Parameters: kal_bool enable - if KAL_TRUE, enable else disable
+ *
+ * Returns: (nothing)
+ *
+ * Notes: This function is currently unimplemented
+ *
+ *****************************************************************************/
+void sccSysEnableReq(kal_bool enable) ;
+
+/****************************************************************************
+ *
+ * Name: sccSysInitReq
+ *
+ * Description: Make the SCC ready for service
+ *
+ * Parameters: (none)
+ *
+ * Returns: (nothing)
+ *
+ * Notes: This can be invoked at any time HOWEVER all current services
+ * should be released first.
+ *
+ *****************************************************************************/
+void sccSysInitReq( void ) ;
+
+/****************************************************************************
+ *
+ * Name: sccSysReleaseReq
+ *
+ * Description: Request to release ALL currently connected services
+ *
+ * Parameters: (none)
+ *
+ * Returns: (nothing)
+ *
+ * Notes: THIS FUNCTION HAS NOT BEEN IMPLEMENTED YET
+ *
+ *****************************************************************************/
+void sccSysReleaseReq( void ) ;
+
+/****************************************************************************
+ *
+ * Name: sccSysTimerExpiredInd
+ *
+ * Description: Indicate that a timer started by the SCC has been expired
+ *
+ * Parameters: kal_uint16 timerID
+ *
+ * Returns: (nothing)
+ *
+ * Notes: It is possible to pass in a timerID that was not started
+ * by the SCC.
+ *
+ *****************************************************************************/
+void sccSysTimerExpiredInd( kal_uint16 timerID ) ;
+
+/****************************************************************************
+ *
+ * Name: sccVsConnectReq
+ *
+ * Description: Request to connect an incoming voice connection.
+ *
+ * Parameters: (none)
+ *
+ * Returns: (nothing)
+ *
+ * Notes: This will be ignored if there is no incoming call
+ *
+ *****************************************************************************/
+void sccVsConnectReq( void ) ;
+
+/****************************************************************************
+ *
+ * Name: sccVsDataPrearrangement
+ *
+ * Description: Arrange for a VOICE call to be automatically switched to an
+ * async data or FAX call.
+ *
+ * Parameters: PRE_ARRANGEMENT_MODE preArrangementMode - as follows:
+ * Disabled - no pre-arrangement
+ * One-shot, any CPN - next voice call only, any caller
+ * Permanent, any CPN - all future voice calls, any caller
+ * One-shot, specific CPN - next voice call only, a caller
+ * Permanent, specific CPN - all future voice calls, a caller
+ *
+ * Returns: (nothing)
+ *
+ * Notes: The WBIOS call cfgSccCheckCpn will be used to determine how
+ * to treat individual callers (i.e. which service to use).
+ *
+ *****************************************************************************/
+void sccVsDataPrearrangementReq( kal_uint8 preArrangementMode ) ;
+
+/****************************************************************************
+ *
+ * Name: sccVsFaxDataPreArangReq
+ *
+ * Description: Arrange for a VOICE call to be automatically switched to an
+ * async data or FAX call. This is done differently than it is in
+ * sccVsDataPrearrangementReq. A Page Response message would carry service
+ * option based on this arrangement.
+ *
+ * Parameters: PRE_ARRANGEMENT_MODE preArrangementMode - as follows:
+ * Disabled - no pre-arrangement
+ * One-shot, any CPN - next voice call only, any caller
+ * Permanent, any CPN - all future voice calls, any caller
+ * One-shot, specific CPN - next voice call only, a caller
+ * Permanent, specific CPN - all future voice calls, a caller
+ *
+ * Returns: (nothing)
+ *
+ * Notes: The WBIOS call cfgSccCheckCpn will be used to determine how
+ * to treat individual callers (i.e. which service to use).
+ *
+ *****************************************************************************/
+void sccVsFaxDataPreArangReq( kal_uint8 preArrangementMode ) ;
+
+/****************************************************************************
+ *
+ * Name: sccVsOrigReq
+ *
+ * Description: Request to originate a voice call.
+ *
+ * Parameters: kal_bool encoded
+ * kal_bool digitMode
+ * kal_uint8 numberType
+ * kal_uint8 numberPlan
+ * kal_uint8* digits - dialled digits
+ * kal_uint8 numDigits - number of 'digits'
+ * CallingPartyNumber *cpn
+ * kal_bool emergency
+ * kal_bool multCPN
+ * kal_bool inclCallingSub
+ * Subaddress* callingSub
+ * kal_bool inclCalledSub
+ * Subaddress* calledSub
+ *
+ * Returns: (nothing)
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccVsOrigReq(
+ kal_bool encoded, /* digits encoded indication */
+ kal_bool digitMode, /* digit encoding indicator */
+ kal_uint8 numberType, /* type of number */
+ kal_uint8 numberPlan, /* numbering plan */
+ kal_uint8 *digits, /* ascii digits, null terminated string */
+ kal_uint8 numDigits, /* number of digits to be dialled */
+ CallingPartyNumber *cpn, /* optional Calling party number */
+ PswCallModeT callMode, /* voice call mode indicator */
+ kal_bool multCPN, /* whether MS has >1 calling party num values */
+ kal_bool inclCallingSub, /* whether calling party subaddr info included */
+ Subaddress* callingSub, /* calling party subaddress info */
+ kal_bool inclCalledSub, /* whether called party subaddr info included */
+ Subaddress* calledSub /* called party subaddress info */
+);
+
+/****************************************************************************
+ *
+ * Name: sccVsPrefInd
+ *
+ * Description: Set the preferred voice coder, MUX etc.
+ *
+ * Parameters: kal_uint8 svcPref: Voice Coder Preference
+ * (0 -- Prefer QCELP)
+ * (1 -- Prefer EVRC)
+ * (2 -- prefer Analog)
+ * (3 -- prefer qualcomm QCELP)
+ * kal_uint8 muxPref - Mux preference
+ * (1 prefer MUX1)
+ * (2 prefer MUX2)
+ * kal_bool ToNegotiate
+ *
+ * kal_uint8 forRc - Fwd RC configuration
+ * kal_uint8 revRc - Rev RC configuration
+ *
+ * kal_bool ForceOverride to force Preference through ETS or VAL API
+ *
+ * Returns: (nothing)
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccVsPrefInd (kal_uint16 soPref, kal_bool ToNegotiate, kal_uint8 forRc, kal_uint8 revRc, kal_bool ForceOverride);
+
+
+/****************************************************************************
+ *
+ * Name: sccVsReleaseReq
+ *
+ * Description: Request to release the currently connected voice call
+ *
+ * Parameters: (none)
+ *
+ * Returns: (nothing)
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+kal_bool sccVsReleaseReq( void ) ;
+
+/****************************************************************************
+ *
+ * Name: sccVsSwitchServiceReq
+ *
+ * Scope: public
+ *
+ * Description: Request to switch the currrently connected voice service to
+ * the specified type.
+ *
+ * Parameters:
+ * kal_uint8 service - Voice service sub-type:
+ * 1 = Analog voice
+ * 2 = EVRC
+ * 3 = QCELP
+ * 4 = Qualcomm QCELP
+ * 5 = FAX
+ *
+ * Returns:
+ * void
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void sccVsSwitchServiceReq (kal_uint16 serviceOption);
+
+/****************************************************************************
+ *
+ * Name: sccIsServOptionAttributeAvailable()
+ *
+ * Description: This function determines if the requested Service Option
+ * is a IS2000 SO.
+ *
+ * Parameters: kal_uint16 - Service Option requested
+ *
+ * Returns: kal_bool - KAL_TRUE: IS2000, KAL_FALSE: IS95B and ealier
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+kal_bool sccIsServOptionAttributeAvailable
+(
+ const kal_uint16 servOption
+);
+
+/***************************************************************************
+ *
+ * Function Name: sccEnterE911
+ *
+ * Description: Informs SCC E911 mode entered. Info needed by 801 stack
+ *
+ * Parameters: kal_bool Mode: IS E911 On or Off
+ *
+ * Returns: none
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void sccEnterE911(kal_bool Mode);
+
+/***************************************************************************
+ *
+ * Function Name: sccCp801Discard
+ *
+ * Description: Informs SCC to tell 801 stack it need to discard any
+ * outstanding responses.
+ *
+ * Parameters: none
+ *
+ * Returns: none
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void sccLocServDiscardSession(void);
+
+/****************************************************************************
+ *
+ * Name: sccLocOrigReq
+ *
+ * Description: Request to originate a voice call.
+ *
+ * Parameters: kal_bool privacyMode - if KAL_TRUE, request voice privacy
+ * kal_bool encoded
+ * kal_bool digitMode
+ * kal_uint8 numberType
+ * kal_uint8 numberPlan
+ * kal_uint8* digits - dialled digits
+ * kal_uint8 numDigits - number of 'digits'
+ * CallingPartyNumber *cpn
+ * kal_bool emergency
+ * kal_bool multCPN
+ * kal_bool inclCallingSub
+ * Subaddress* callingSub
+ * kal_bool inclCalledSub
+ * Subaddress* calledSub
+ *
+ * Returns: (nothing)
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccLocOrigReq(kal_uint8 *digits);
+
+/*****************************************************************************
+
+ FUNCTION NAME: PswLocPrefReqMsg
+
+ DESCRIPTION: This function relays the Location service option preference to SCC
+
+ PARAMETERS: MsgP-> pointer to bit map info.
+
+ RETURNED VALUES: None
+
+*****************************************************************************/
+void sccLocPrefInd (kal_uint16 LocSoPref, kal_uint8 ForRc, kal_uint8 RevRc);
+
+/****************************************************************************
+ *
+ * Name: sccGetDefaultServiceConfiguration()
+ *
+ * Description: This function searches through the list of default Service
+ * Configurations to find the desired Service Option.
+ * If it is found, then the address of the Service Config. is
+ * returned to the calling function.
+ *
+ * Parameters: kal_uint16 - Service Option requested
+ *
+ * Returns: ServiceConfiguration* - NULL if not found
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServiceConfiguration* sccGetDefaultServiceConfiguration
+(
+ const kal_uint16 servOption
+);
+
+ServiceConfiguration* sccGetPrefServiceConfiguration
+(
+ const kal_uint16 servOption
+);
+
+
+/****************************************************************************
+ *
+ * Name: sccLocReleaseReq
+ *
+ * Description: Release the currently connected Location connection
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccLocReleaseReq (void);
+
+/****************************************************************************
+ *
+ * Name: sccSmsOrigReq
+ *
+ * Description: Send origination request for MO SMS in Traffic
+ *
+ * Parameters:
+ * OrigParms *orig -
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccSmsOrigReq(OrigParms *orig);
+
+/****************************************************************************
+ *
+ * Name: cpcGetServiceType
+ *
+ * Description: To query current service type
+ *
+ * Parameters: None.
+ *
+ * Returns: ServiceType _neg.svcType
+ *
+ *****************************************************************************/
+SysServiceTypeT cpcGetServiceType( void );
+
+/****************************************************************************
+ *
+ * Name: sccCpGetPAM()
+ *
+ * Description: Get Prearranged mode.
+ *
+ * Parameters: None.
+ *
+ * Returns: Prearranged mode.
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+kal_uint8 sccCpGetPAM(void);
+
+/****************************************************************************
+ *
+ * Name: sccCpGetSendingSMS()
+ *
+ * Description: To query whether DBC has sent SMS databurst and waiting for
+ * an ARQ acknowledgement
+ *
+ * Parameters: None.
+ *
+ * Returns: kal_bool
+ *
+ *****************************************************************************/
+kal_bool sccCpGetSendingSMS(void);
+
+#ifndef MTK_CBP_REL_OPTIMIZE
+/****************************************************************************
+ *
+ * Name: sccCpPageFailInd
+ *
+ * Description: Report an Page failure. From CPE, the following
+ * CPEvents map to this function: EV_INTERCEPT, EV_PAGE_FAIL,
+ *
+ * Parameters: kal_uint8 reason
+ *
+ * Returns: (nothing)
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccCpPageFailInd (kal_uint8 reason);
+#endif
+
+#ifdef MTK_CBP_REL_OPTIMIZE
+/****************************************************************************
+ *
+ * Name: SccCheckServiceOngoing
+ *
+ * Description: return true if service on going, return false if no service on going.
+ *
+ * Parameters: NULL
+ *
+ * Returns: (kal_bool)
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+kal_bool SccCheckServiceOngoing(void);
+#endif
+
+/****************************************************************************
+ *
+ * Name: sccSetPacketZoneReconnect()
+ *
+ * Scope: public
+ *
+ * Description: This function sets pz_reconnect based on received value.
+ *
+ * Parameters: kal_bool KAL_FALSE - set pz_reconnect = KAL_FALSE
+ * KAL_TRUE - set pz_reconnect = KAL_TRUE
+ *
+ ****************************************************************************/
+void sccSetPacketZoneReconnect(kal_bool val);
+
+/****************************************************************************
+ *
+ * Name: sccGetPacketZoneReconnect()
+ *
+ * Scope: public
+ *
+ * Description: This function returns current pz_reconnect value.
+ *
+ * Parameters: void
+ *
+ * Returns: kal_bool pz_reconnect
+ *
+ ****************************************************************************/
+kal_bool sccGetPacketZoneReconnect(void);
+
+/***************************************************************************
+ *
+ * Function Name: sccDbcIdleInd
+ *
+ * Description: Indication to DBC that PS Engine is in the idle state
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void sccDbcIdleInd(void);
+
+/***************************************************************************
+ *
+ * Function Name: sccDbcIsSmsMTConn
+ *
+ * Description: Returns whether SCC DBC is in connected state for MT
+ * SMS.
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+kal_bool sccDbcIsSmsMTConn(void);
+#ifdef MTK_CBP
+kal_bool sccDbcIsSmsMOConn(void);
+#endif
+/****************************************************************************
+ *
+ * Name: sccSmsAliveTimerStop()
+ *
+ * Description: Stops SMS alive timer
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccSmsAliveTimerStop(void);
+
+
+/****************************************************************************
+ *
+ * Name: sccIsServiceOptionEnabled()
+ *
+ * Description: Returns whether a SO is enabled
+ *
+ * Parameters: kal_uint16 Service Option
+ *
+ * Returns: kal_bool
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+kal_bool sccIsServiceOptionEnabled(kal_uint16 serv_opt);
+
+
+/****************************************************************************
+ *
+ * Name: sccEnableServiceOption()
+ *
+ * Description: Enables a service option
+ *
+ * Parameters: kal_uint16 Service option
+ *
+ * Returns: kal_bool Status: KAL_FALSE if SO not found. KAL_TRUE if found
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+kal_bool sccEnableServiceOption(kal_uint16 serv_opt, kal_bool enable);
+
+/****************************************************************************
+ *
+ * Name: sccGetSO73WBEnabled()
+ *
+ * Description:
+ *
+ * Parameters:
+ *
+ * Returns:
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+kal_bool sccGetSO73WBEnabled(void);
+
+/****************************************************************************
+ *
+ * Name: sccGetSO73WBEnabled()
+ *
+ * Description:
+ *
+ * Parameters:
+ *
+ * Returns:
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccSetSO73WBEnabled(kal_bool Enabled);
+
+#ifdef MTK_CBP
+kal_bool sccDbcGetConnFailReason(void);
+#endif
+
+#if defined (__TC10__) && defined (__TC10_IPC_CDMA_SUPPORT__)
+void sccVsUpdatePrefRc(kal_bool lockRc, kal_uint8 forRc, kal_uint8 revRc);
+void sccLsUpdatePrefRc(kal_uint8 forRc, kal_uint8 revRc);
+void sccPsUpdatePrefRc(kal_uint8 forRc, kal_uint8 revRc);
+void sccSmsUpdatePrefRc(kal_uint8 forRc, kal_uint8 revRc);
+void sccOsUpdatePrefRc(kal_uint8 forRc, kal_uint8 revRc);
+void sccLocUpdatePrefRc(kal_uint8 forRc, kal_uint8 revRc);
+#endif
+
+#endif /* _SCC_API_H */
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/SCC_BIOS.H b/mcu/interface/protocol/as_c2k/1xrtt/SCC_BIOS.H
new file mode 100644
index 0000000..9beb698
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/SCC_BIOS.H
@@ -0,0 +1,1003 @@
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*************************************************************************
+ *
+ * File Name: scc_bios.h
+ * Project: SCC BIOS
+ * Original Author: MMS
+ * Creation Date: Apr. 26/1999
+ *
+ * Description: Service Configuration Controller (SCC) call-outs
+ *
+ * Restrictions:
+ *
+ * Dependencies:
+ *
+ *************************************************************************
+ * RCS Information
+ *
+ * $Id: SCC_BIOS.H 1.3 2004/09/28 15:30:17 chinh Exp $
+ *
+ * $Log: SCC_BIOS.H $
+ *
+ * 07 04 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * ::KAL type - L3, folder ps
+ * Revision 1.3 2004/09/28 15:30:17 chinh
+ * Merged changes from cbp6.0.
+ * Revision 1.2 2004/03/25 12:07:17 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.2 2004/02/10 12:55:28 bcolford
+ * Merged CBP4.0 Release 8.05.0 changes.
+ * Revision 1.5 2003/11/12 13:26:05 mclee
+ * delete prototypes to functions deleted in pswsceng.c for CR618
+ * Revision 1.4 2003/04/03 13:44:19 ameya
+ * Removed prototype of sysSccErrorInd().
+ * Revision 1.3 2002/06/06 14:53:20 bsharma
+ * Updated Copyright info.
+ * Revision 1.2 2001/11/14 14:52:55 hhong
+ * Changed to support F-SCH.
+ * Revision 1.1 2001/01/17 10:57:26 plabarbe
+ * Initial revision
+ * Revision 1.1 2000/10/24 14:11:49 fpeng
+ * Initial revision
+ * Revision 1.3 2000/08/24 00:11:46Z hhong
+ * To update to SCC ver. 2.7
+ * Revision 1.26 2000/03/09 23:35:09 bcassidy
+ * 1. Add "cpSccAnalogReq" and "vsSccSwitchFailInd".
+ * 2. Add "service" parameter to "vsSccConnectInd".
+ * 3. Remove "vsSccSwitchInd".
+ * [Replaced with vsSccConnectInd].
+ *
+ * Revision 1.25 2000/03/03 23:39:08 bcassidy
+ * 1. Change timer duration to kal_uint32.
+ *
+ * Revision 1.24 2000/02/15 17:41:34 ddoucett
+ * changed the sms RxInd callout to SMS removing the kal_bool broadcast
+ * parameter
+ *
+ * Revision 1.23 2000/02/05 20:23:11 bcassidy
+ * 1. Change cfgSccCheckCpn:serviceType parameter type to avoid internal
+ * type name conflict.
+ *
+ * Revision 1.22 2000/01/26 20:46:24 ddoucett
+ * added reason to osSccDisconnectInd
+ *
+ * Revision 1.21 2000/01/20 18:29:03 ddoucett
+ * added osSccMsgConfirmInd
+ *
+ * Revision 1.20 2000/01/05 00:09:31 ddoucett
+ * fixed various type mismatches with the api document
+ *
+ * Revision 1.19 1999/12/16 18:14:19 ddoucett
+ * fixed arm compiler warnings
+ *
+ * Revision 1.18 1999/12/13 22:12:23 dfischer
+ * Changed name of parameter txrateset to txmuxoption
+ *
+ * Revision 1.17 1999/12/08 06:03:38 ddoucett
+ * SCC rework and API updates
+ *
+ * Revision 1.16 1999/11/30 22:57:18 ddoucett
+ * changed ds connectInd api adding origDir
+ *
+ * Revision 1.15 1999/11/30 00:48:23 ddoucett
+ * updated bios API for SCC rework
+ *
+ * Revision 1.14 1999/08/17 23:07:42 ddoucett
+ * changed smsSccRxInd and oaSccRxInd api data types
+ *
+ * Revision 1.13 1999/07/26 15:52:08 ddoucett
+ * added action time to rlpRateReq interface
+ *
+ * Revision 1.12 1999/07/24 00:36:22 msmith
+ * Removed ARM warnings
+ *
+ * Revision 1.11 1999/07/22 20:19:11 msmith
+ * Added RCS log support
+ *
+ *
+ *
+ * This Software is the property of ISOTEL Research Ltd. Unauthorized
+ * use is prohibited.
+ *
+ * ISOTEL Research Ltd.
+ * 220, 6815-8th Street N.E.
+ * Calgary, Alberta, Canada T2E 7H7
+ * Tel: (403)275-0041 Fax: (403)274-3598
+ *
+ *
+ *
+
+ * All rights reserved.
+ *
+ *************************************************************************
+ *
+ * RCS Log Information
+ *
+ * $Id: SCC_BIOS.H 1.3 2004/09/28 15:30:17 chinh Exp $
+ *
+ * $Log: SCC_BIOS.H $
+ *
+ * 07 04 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * ::KAL type - L3, folder ps
+ * Revision 1.3 2004/09/28 15:30:17 chinh
+ * Merged changes from cbp6.0.
+ * Revision 1.2 2004/03/25 12:07:17 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.2 2004/02/10 12:55:28 bcolford
+ * Merged CBP4.0 Release 8.05.0 changes.
+ * Revision 1.5 2003/11/12 13:26:05 mclee
+ * delete prototypes to functions deleted in pswsceng.c for CR618
+ * Revision 1.4 2003/04/03 13:44:19 ameya
+ * Removed prototype of sysSccErrorInd().
+ * Revision 1.3 2002/06/06 14:53:20 bsharma
+ * Updated Copyright info.
+ * Revision 1.2 2001/11/14 14:52:55 hhong
+ * Changed to support F-SCH.
+ * Revision 1.1 2001/01/17 10:57:26 plabarbe
+ * Initial revision
+ * Revision 1.1 2000/10/24 14:11:49 fpeng
+ * Initial revision
+ * Revision 1.3 2000/08/24 00:11:46Z hhong
+ * To update to SCC ver. 2.7
+ * Revision 1.26 2000/03/09 23:35:09 bcassidy
+ * 1. Add "cpSccAnalogReq" and "vsSccSwitchFailInd".
+ * 2. Add "service" parameter to "vsSccConnectInd".
+ * 3. Remove "vsSccSwitchInd".
+ * [Replaced with vsSccConnectInd].
+ *
+ * Revision 1.25 2000/03/03 23:39:08 bcassidy
+ * 1. Change timer duration to kal_uint32.
+ *
+ * Revision 1.24 2000/02/15 17:41:34 ddoucett
+ * changed the sms RxInd callout to SMS removing the kal_bool broadcast
+ * parameter
+ *
+ * Revision 1.23 2000/02/05 20:23:11 bcassidy
+ * 1. Change cfgSccCheckCpn:serviceType parameter type to avoid internal
+ * type name conflict.
+ *
+ * Revision 1.22 2000/01/26 20:46:24 ddoucett
+ * added reason to osSccDisconnectInd
+ *
+ * Revision 1.21 2000/01/20 18:29:03 ddoucett
+ * added osSccMsgConfirmInd
+ *
+ * Revision 1.20 2000/01/05 00:09:31 ddoucett
+ * fixed various type mismatches with the api document
+ *
+ * Revision 1.19 1999/12/16 18:14:19 ddoucett
+ * fixed arm compiler warnings
+ *
+ * Revision 1.18 1999/12/13 22:12:23 dfischer
+ * Changed name of parameter txrateset to txmuxoption
+ *
+ * Revision 1.17 1999/12/08 06:03:38 ddoucett
+ * SCC rework and API updates
+ *
+ * Revision 1.16 1999/11/30 22:57:18 ddoucett
+ * changed ds connectInd api adding origDir
+ *
+ * Revision 1.15 1999/11/30 00:48:23 ddoucett
+ * updated bios API for SCC rework
+ *
+ * Revision 1.14 1999/08/17 23:07:42 ddoucett
+ * changed smsSccRxInd and oaSccRxInd api data types
+ *
+ * Revision 1.13 1999/07/26 15:52:08 ddoucett
+ * added action time to rlpRateReq interface
+ *
+ * Revision 1.12 1999/07/24 00:36:22 msmith
+ * Removed ARM warnings
+ *
+ * Revision 1.11 1999/07/22 20:19:11 msmith
+ * Added RCS log support
+ *
+ * Revision 1.10 1999/07/22 17:54:05 ddoucett
+ * *** empty log message ***
+ *
+ * Revision 1.9 1999/07/13 20:30:49 msmith
+ * Added Zone-based registration/reconnection support
+ *
+ * Revision 1.8 1999/07/13 19:39:07 ddoucett
+ * added rlpRateReq function
+ *
+ * Revision 1.7 1999/07/07 22:18:06 ddoucett
+ * added loopback support
+ *
+ * Revision 1.6 1999/06/02 20:25:53 msmith
+ * Added support for ACCESS state queuing
+ *
+ * Revision 1.5 1999/05/31 19:37:08 msmith
+ * Added SMS support
+ *
+ * Revision 1.4 1999/05/19 16:28:26 msmith
+ * Removed stype.h dependency in .h and moved to .c
+ *
+ * Revision 1.3 1999/05/18 17:56:29 msmith
+ * Added ANALOG voice support
+ *
+ * Revision 1.2 1999/05/13 14:06:30 msmith
+ * Added Packet Data support
+ *
+ * Revision 1.1 1999/04/26 16:32:17 msmith
+ * Initial revision
+ *
+ *
+ *
+ ************************************************************************/
+
+#ifndef _SCC_BIOS_H
+#define _SCC_BIOS_H
+
+#include "SCC_DATA.H" /* general SCC definitions */
+
+/***************************************************************************
+ *
+ * Function Name: cfgSccCheckCpn
+ *
+ * Description: Request to check the specified calling party number to
+ * determine if a voice/data/FAX SO switch is needed
+ *
+ * Parameters: SwitchServiceType* serviceType:
+ * Input -- current service type
+ * Output -- desired service type
+ * CallingPartyNumber *cpn: Calling party number
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void cfgSccCheckCpn (SwitchServiceType* serviceType,
+ CallingPartyNumber *cpn);
+
+/***************************************************************************
+ *
+ * Function Name: cfgSccCheckOtaspDigits
+ *
+ * Description: Request to check the specified digits to determine if
+ * the user is requesting to make an OTASP call
+ *
+ * Parameters: kal_uint8 *digits: Digit string
+ * kal_uint8 numDigits: Number of digits in string
+ * kal_bool digitMode: (0 -- TBCD digits)
+ * (1 -- Ascii Digits)
+ * kal_uint8 *otaspMode: OUTPUT - return the block requested
+ * for the otasp connection see table 3.2-1 IS683
+ *
+ * Returns: kal_bool: KAL_TRUE -- Digits are for an OTASP origination
+ * KAL_FALSE -- Normal Call
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+kal_bool cfgSccCheckOtaspDigits( kal_uint8 *digits, kal_uint8 numDigits,
+ kal_bool digitMode, kal_uint8 *otaspMode);
+
+/****************************************************************************
+ *
+ * Name: cpSccAnalogReq
+ *
+ * Scope: public
+ *
+ * Description: Request to switch from a CDMA Traffic Channel to an
+ * Analog Voice channel.
+ *
+ * Parameters:
+ * void
+ *
+ * Returns:
+ * void
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void cpSccAnalogReq (void);
+
+/***************************************************************************
+ *
+ * Function Name: cpSccConnectReq
+ *
+ * Description: Request to CPE to answer an incoming call
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void cpSccConnectReq(void) ;
+
+/***************************************************************************
+ *
+ * Function Name: cpSccDataBurstReject
+ *
+ * Description: Indicate received databurst message was rejected
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void cpSccDataBurstReject(void) ;
+
+/***************************************************************************
+ *
+ * Function Name: cpSccDataBurstReq
+ *
+ * Description: Request to send a data burst message
+ *
+ * Parameters: kal_bool confirm: indicate if the message requires base
+ * station confirmation of delivery
+ * kal_uint8 msgNumber: Message number (Usually 1)
+ * kal_uint8 burstType: burst type of message (see TSB-58)
+ * kal_uint8 numMsgs: Number of Messages (Usually 1)
+ * kal_uint8 numFields: Number of characters in the message
+ * kal_uint8* data: Pointer to message
+ * kal_bool encoded:
+ * kal_bool digit_mode:
+ * char* digits: dialled digits
+ * kal_uint8 num_digits: number of dialled digits
+ *
+ * Returns:
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void cpSccDataBurstReq(kal_bool confirm, kal_uint8 msgNumber, kal_uint8 burstType,
+ kal_uint8 numMsgs, kal_uint8 numFields, kal_uint8* data, kal_bool encoded,
+ kal_bool digit_mode, char* digits, kal_uint8 num_digits) ;
+
+/***************************************************************************
+ *
+ * Function Name: cpSccOrigReq
+ *
+ * Description: Request to originate a call
+ *
+ * Parameters: OrigParms* origParms: Origination parameters
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void cpSccOrigReq(OrigParms* origParms);
+
+/***************************************************************************
+ *
+ * Function Name: cpSccReleaseReq
+ *
+ * Description: Request to drop the traffic channel
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void cpSccReleaseReq(kal_bool pktSvcInct);
+
+/*****************************************************************************
+
+ FUNCTION NAME: cpSccReEnterReleaseReq
+
+ DESCRIPTION:
+ Request to deactivate packet data service. This requires to go back to task level and come
+ back in again.
+
+ PARAMETERS:
+ none.
+
+ RETURNED VALUES:
+ none.
+
+*****************************************************************************/
+void cpSccReEnterReleaseReq( void );
+/***************************************************************************
+ *
+ * Function Name: cpSccServiceConfigurationReq
+ *
+ * Description: Request to change the current service configuration
+ *
+ * Parameters: ServiceConfiguration* servCfg: Pointer to the desired
+ * service configuration
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void cpSccServiceConfigurationReq( ServiceConfiguration* servCfg ) ;
+
+/***************************************************************************
+ *
+ * Function Name: cpSccServiceControlReq
+ *
+ * Description: Request to send a service option control message or
+ * service option control order
+ *
+ * Parameters: kal_uint8 conRef: connection reference
+ * kal_uint16 serviceOption: service option corresponding to
+ * the message being sent
+ * kal_uint8 length: length of the message
+ * kal_uint8* ctlRec: control record
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void cpSccServiceControlReq (kal_uint8 conRef, kal_uint16 serviceOption,
+ kal_uint8 length, kal_uint8* ctlRec) ;
+
+/***************************************************************************
+ *
+ * Function Name: cpSccServiceOptionReq
+ *
+ * Description: Request to change the current service option
+ *
+ * Parameters: kal_uint16 serviceOption: desired service option
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void cpSccServiceOptionReq(kal_uint16 serviceOption) ;
+
+/***************************************************************************
+ *
+ * Function Name: dsSccAlertInd
+ *
+ * Description: Indication SCC has received a data service alert
+ *
+ * Parameters: FORInfoData *alert: information about alert
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void dsSccAlertInd(kal_uint16 serviceOption, FORInfoData *alert) ;
+
+/***************************************************************************
+ *
+ * Function Name: dsSccConnectInd
+ *
+ * Description: Indication the data service option is connected
+ *
+ * Parameters: kal_uint16 serviceOption: service option connected
+ * kal_bool channel: primary traffic or secondary
+ * kal_bool origDir: KAL_FALSE: mobile terminated
+ * KAL_TRUE: mobile originated
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void dsSccConnectInd(kal_uint16 serviceOption, kal_bool channel, kal_bool origDir);
+
+/***************************************************************************
+ *
+ * Function Name: dsSccOrigFailInd
+ *
+ * Description: Indication the last requested origination failed
+ *
+ * Parameters: ORIG_FAIL_REASON reason: reason for failure
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void dsSccOrigFailInd(kal_uint8 reason) ;
+
+
+/***************************************************************************
+ *
+ * Function Name: dsSccReadyInd
+ *
+ * Description: Indication the mobile station is in the idle state and
+ * has acquired a system with the given parameters
+ *
+ * Parameters: BandClass band: Band class (0,1,3..)
+ * kal_uint8 block: Serving System (A,B...F)
+ * kal_uint16 sid: System Id
+ * kal_uint16 nid: Network Id
+ * kal_uint8 type: Control channel type
+ * (0 -- CDMA)
+ * (1 -- TDMA)
+ * (2 -- AMPS)
+ * kal_uint8 pRev: Protocol Revision
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void dsSccReadyInd(SysCdmaBandT band, kal_uint8 block, kal_uint16 sid,
+ kal_uint16 nid, kal_uint8 pRev);
+
+
+/***************************************************************************
+ *
+ * Function Name: lsSccReadyInd
+ *
+ * Description: Indication the CPE has entered the idle state and has
+ * acquired a system with the given parameters
+ *
+ * Parameters: BandClass band: Band Class (0,1...)
+ * kal_uint8 block: CDMA Block (A,B,...)
+ * kal_uint16 sid: system Id
+ * kal_uint16 nid: network Id
+ * kal_uint8 type: type of system
+ * (0 -- CDMA)
+ * (1 -- TDMA)
+ * (2 -- ANALOG)
+ * kal_uint8 pRev: Protocol revision of the BS
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void lsSccReadyInd( SysCdmaBandT band, kal_uint8 block, kal_uint16 sid,
+ kal_uint16 nid, kal_uint8 pRev);
+
+/***************************************************************************
+ *
+ * Function Name: lsSccSOCMsgInd
+ *
+ * Description: Indication of an incoming SOC message for loopback
+ * services
+ *
+ * Parameters: kal_uint8 *ctlRec: SOC message
+ * kal_uint8 length: Length of message
+ * kal_uint32 actionTime: action time of the message
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void lsSccSOCMsgInd(kal_uint8 *ctlRec, kal_uint8 length, kal_uint32 actionTime);
+
+/***************************************************************************
+ *
+ * Function Name: osSccConnectInd
+ *
+ * Description: Indication the otasp service is connected
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void osSccConnectInd(void);
+
+/***************************************************************************
+ *
+ * Function Name: osSccOrigInd
+ *
+ * Description: Indication the voice service has received an OTASP
+ * dialled request from the user (*act).
+ *
+ * Parameters: kal_uint8 *digits: digits dialled by user
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void osSccOrigInd(kal_uint8 *digits);
+
+/***************************************************************************
+ *
+ * Function Name: osSccDisconnectInd
+ *
+ * Description: Indication the OTASP call has been terminated
+ *
+ * Parameters: kal_uint8 reason: Reason for disconnect (see scc_data.h)
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void osSccDisconnectInd(kal_uint8 reason);
+
+/***************************************************************************
+ *
+ * Function Name: osSccMsgConfirmInd
+ *
+ * Description: Indication the last message sent was delivered
+ * successfully
+ *
+ * Parameters: kal_bool success
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void osSccMsgConfirmInd(kal_bool success);
+
+/***************************************************************************
+ *
+ * Function Name: osSccRcvMsgInd
+ *
+ * Description: Indication of an incoming OTASP message
+ *
+ * Parameters: kal_uint8 *data: pointer to the message
+ * kal_uint8 length: length of the message
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void osSccRcvMsgInd(kal_uint8 *data, kal_uint8 length);
+
+/***************************************************************************
+ *
+ * Function Name: psSccAlertInd
+ *
+ * Description: Indication of a BS alert
+ *
+ * Parameters: kal_uint16 ServiceOption: service option being connected
+ * FORInfoData *alertData: alert data information structure
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void psSccAlertInd(kal_uint16 ServiceOption, FORInfoData *alertData);
+
+/***************************************************************************
+ *
+ * Function Name: psSccConnectInd
+ *
+ * Description: Indication the given service option has been connected
+ *
+ * Parameters: kal_uint16 serviceOption:
+ * kal_bool channel: (KAL_TRUE -- primary)
+ * (KAL_FALSE -- Secondary)
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void psSccConnectInd( kal_uint16 serviceOption, kal_bool channel);
+
+/***************************************************************************
+ *
+ * Function Name: psSccDormantInd
+ *
+ * Description: Indication the currently connected packet service has
+ * entered the dormant state.
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void psSccDormantInd(void);
+
+/***************************************************************************
+ *
+ * Function Name: psSccDormantTimerControlInd
+ *
+ * Description: Indication a valid dormant timer control SOC message has
+ * been received
+ *
+ * Parameters: kal_bool enable: KAL_TRUE -- BS/MSC control of the dormant timer
+ * is disabled
+ * KAL_FALSE -- BS/MSC control of the dormant
+ * timer is enabled
+ * kal_uint8 time: value of the dormant timer in deci seconds
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void psSccDormantTimerControlInd(kal_bool enable, kal_uint8 time);
+
+/***************************************************************************
+ *
+ * Function Name: psSccEventInd
+ *
+ * Description: Indication of a packet call control event
+ *
+ * Parameters: kal_uint8 event: Event which occurred (see IS-707-A4
+ * table 7.4.2.2)
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void psSccEventInd(kal_uint8 event);
+
+/***************************************************************************
+ *
+ * Function Name: psSccOrigFailInd
+ *
+ * Description: Indication the current attempt at origination has
+ * failed
+ *
+ * Parameters: ORIG_FAIL_REASON reason: reason for failure
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void psSccOrigFailInd(kal_uint8 reason);
+
+/***************************************************************************
+ *
+ * Function Name: psSccReadyInd
+ *
+ * Description: Indication the CPE is in the idle state and has acquired
+ * a system with the following parameters
+ *
+ * Parameters: BandClass band: band class (0,1,2...)
+ * kal_uint8 block: band block (A,B,...F)
+ * kal_uint16 sid: system ID
+ * kal_uint16 nid: network ID
+ * kal_uint8 type: control channel type
+ * kal_uint8 pRev: protocol revision number
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void psSccReadyInd(SysCdmaBandT band, kal_uint8 block, kal_uint16 sid,
+ kal_uint16 nid, kal_uint8 pRev);
+
+/***************************************************************************
+ *
+ * Function Name: psSccReleaseInd
+ *
+ * Description: Indication the packet service option has been
+ * disconnected
+ *
+ * Parameters: kal_uint8 reason: reason for disconnection
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void psSccReleaseInd(kal_uint8 reason);
+
+/***************************************************************************
+ *
+ * Function Name: psSccStateInd
+ *
+ * Description: Indication the packet service call control has changed
+ * state
+ *
+ * Parameters: kal_uint8 newState: new state
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void psSccStateInd(kal_uint8 newState);
+
+/***************************************************************************
+ *
+ * Function Name: psSccDormTmoInd
+ *
+ * Description: Indication of a dormant timer value
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes: Only called if dormant mode is external
+ *
+ ****************************************************************************/
+void psSccDormTmoInd(kal_uint8 dormTmo);
+
+/***************************************************************************
+ * Function Name: rlpSccEstablishedInd
+ *
+ * Description: Indication a data service has been established, (Packet
+ * or Async Data)
+ *
+ * Parameters: MultiplexOption txMuxOption: Mux opt, on reverse channel
+ * MultiplexOption rxMuxOption: Mux opt. on forward channel
+ * kal_uint8 chanType: (0 -- IS-95 or IS-95A)
+ * (1 -- IS-95B)
+ * kal_bool encParmsRcvd: indicates if auth. parameters are
+ * given
+ * kal_uint32 rand: random number sent from the BS
+ * kal_uint8* ssdB: 8 byte ssdb value calculated by the mobile
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void rlpSccEstablishedInd( MultiplexOption txMuxOption,
+ MultiplexOption rxMuxOption,
+ kal_uint16 forSchMuxOption,
+ kal_uint16 revSchMuxOption,
+ kal_uint8 chanType,
+ kal_bool encParmsRcvd,
+ kal_uint32 rand,
+ kal_uint8* ssdB ) ;
+
+/***************************************************************************
+ *
+ * Function Name: rlpSccResetReq
+ *
+ * Description: Indication to reset the RLP connection
+ *
+ * Parameters: MultiplexOption txRateSet: Mux option on reverse channel
+ * MultiplexOption rxMuxOption: Mux opt. on forward channel
+ * kal_uint8 chanType: (0 -- IS-95 or IS-95A)
+ * (1 -- IS-95B)
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void rlpSccResetReq( MultiplexOption txMuxOption,
+ MultiplexOption rxMuxOption,
+ kal_uint16 forSchMuxOption,
+ kal_uint16 revSchMuxOption,
+ kal_uint8 chanType,
+ kal_bool reOpen) ;
+
+/***************************************************************************
+ *
+ * Function Name: smsSccRxInd
+ *
+ * Description: Indication an SMS message has arrived
+ *
+ * Parameters:
+ * kal_uint8* data: Pointer to the message
+ * kal_uint16 length: length of the message
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void smsSccRxInd(kal_uint8* data, kal_uint16 len);
+
+/***************************************************************************
+ *
+ * Function Name: smsSccTxRsp
+ *
+ * Description: Response to a previously submitted SMS message
+ *
+ * Parameters: kal_bool success: success of the sent message
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void smsSccTxRsp(kal_bool success, kal_bool resend);
+
+/***************************************************************************
+ *
+ * Function Name: sysSccKillTimerReq
+ *
+ * Description: Indication an SCC timer has expired
+ *
+ * Parameters: kal_uint16 timerId: ID of the expired timer
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void sysSccKillTimerReq(kal_uint16 timerId);
+
+/***************************************************************************
+ *
+ * Function Name: sysSccStartTimerReq
+ *
+ * Description: Request to the system to start a timer
+ *
+ * Parameters: kal_uint32 duration: Timeout period in MilliSeconds
+ *
+ * Returns: kal_uint16 timer id
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+kal_uint16 sysSccStartTimerReq (kal_uint32 duration);
+
+/***************************************************************************
+ *
+ * Function Name: vsSccAlertInd
+ *
+ * Description: Indication an alert message or a voice service option
+ * has been received.
+ *
+ * Parameters: FORInfoData *alert: alert information structure
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void vsSccAlertInd(FORInfoData *alert) ;
+
+/***************************************************************************
+ *
+ * Function Name: vsSccReadyInd
+ *
+ * Description: Indication the CPE is in the idle state and has
+ * acquired a system with the following parameters
+ *
+ * Parameters:
+ * BandClass band: Band Class (0,1,...)
+ * kal_uint8 block: CDMA Block (A,B,...F)
+ * kal_uint16 sid: system ID
+ * kal_uint16 nid: network ID
+ * kal_uint8 type: Type of system
+ * (0 -- CDMA)
+ * (1 -- TDMA)
+ * (2 -- ANALOG)
+ * kal_uint8 pRev: Protocol revision of the BS
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void vsSccReadyInd( SysCdmaBandT band, kal_uint8 block, kal_uint16 sid, kal_uint16 nid, kal_uint8 pRev);
+
+/****************************************************************************
+ *
+ * Name: vsSccSwitchFailInd
+ *
+ * Scope: public
+ *
+ * Description: Indication that the previously issued switch request failed
+ *
+ * Parameters:
+ * kal_uint8 reason - reason code: see release and connect fail reason codes.
+ *
+ * Returns:
+ * void
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void vsSccSwitchFailInd (kal_uint8 reason);
+
+#endif /* _SCC_BIOS_H */
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/SCC_CPC.H b/mcu/interface/protocol/as_c2k/1xrtt/SCC_CPC.H
new file mode 100644
index 0000000..2dbf600
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/SCC_CPC.H
@@ -0,0 +1,466 @@
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*************************************************************************
+ *
+ * File Name: scc_cpc.h
+ * Project: SCC
+ * Original Author: Dan Doucette
+ * Creation Date: Dec. 3, 1999
+ *
+ * Description: Declaration of CPC functions
+ *
+ * Restrictions:
+ *
+ * Dependencies:
+ *
+ *************************************************************************
+ *
+ * This Software is the property of ISOTEL Corporation. Unauthorized
+ * use is prohibited.
+ *
+ * ISOTEL Corporation
+ * 340, 525-28 Street S.E.
+ * Calgary, Alberta, Canada T2A 6W9
+ * Tel: (403)275-0041 Fax: (403)274-3598
+ * Web: http://www.isotel.com
+ *
+ *
+ *
+
+ * All rights reserved.
+ *
+ *************************************************************************
+ *
+ * RCS Log Information
+ *
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ *
+ ************************************************************************/
+
+#ifndef _SCC_CPC_H
+#define _SCC_CPC_H
+
+#include "SCC_API.H"
+#include "SCC_BIOS.H"
+#include "SCC_DATA.H"
+#include "SCC_MSC.H"
+#include "SCC_CSC.H"
+
+/***************************************************************************
+ *
+ * Function Name: cpcReset
+ *
+ * Description: Initialize all CPC static data
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void cpcReset(void);
+
+/*
+ * Interface from NEG
+ */
+
+/***************************************************************************
+ *
+ * Function Name: cpcNegConnectInd
+ *
+ * Description: Indicates service negotiation has finished and the
+ * given configuration is now valid
+ *
+ * Parameters: ServiceConfiguration* cfg: New Configuration
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void cpcNegConnectInd(ServiceConfiguration* cfg);
+
+/***************************************************************************
+ *
+ * Function Name: cpcNegRejectInd
+ *
+ * Description: Indication a request to connect a service option has
+ * failed
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void cpcNegRejectInd(void);
+
+/***************************************************************************
+ *
+ * Function Name: cpcNegPageInd
+ *
+ * Description: Indication a page has arrived for the given service
+ * option
+ *
+ * Parameters: ServiceOption so: Paged service option
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void cpcNegPageInd(SysServiceOptionT so, SCResponse rsp);
+
+/***************************************************************************
+ *
+ * Function Name: cpcNegXscInit
+ *
+ * Description: clear the global flags of all service config modules
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ ****************************************************************************/
+void cpcNegXscInit(void);
+
+/*
+ * Interface from All Service Controllers
+ */
+
+/***************************************************************************
+ *
+ * Function Name: cpcXscAnswerInd
+ *
+ * Description: Answer Indication for incoming call
+ *
+ * Parameters: ServiceType st: Service type of the controller answering
+ * the call
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void cpcXscAnswerInd(SysServiceTypeT st);
+
+/***************************************************************************
+ *
+ * Function Name: cpcXscOrigReq
+ *
+ * Description: Origination request from service controller
+ *
+ * Parameters: ServiceType st: Service Type of the controller
+ * OrigParms *parms: Origination parameters
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void cpcXscOrigReq(SysServiceTypeT st, OrigParms *parms);
+
+/***************************************************************************
+ *
+ * Function Name: cpcXscReleaseReq
+ *
+ * Description: Service Controller is Requesting Release
+ *
+ * Parameters: ServiceType st: Service type of the controller
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void cpcXscReleaseReq(SysServiceTypeT st);
+
+
+/***************************************************************************
+ *
+ * Function Name: cpcXscReleasePkeSvcInactReq
+ *
+ * Description: Service Controller is Requesting Release and inactive service
+ * for packet data is to be indicated
+ *
+ * Parameters: ServiceType st: Service type of the controller
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void cpcXscReleasePkeSvcInactReq(SysServiceTypeT st);
+
+/***************************************************************************
+ *
+ * Function Name: cpcXscSetSocResponse
+ *
+ * Description: Function allowing the Service controllers to set
+ * the return value for the SOC order/msg
+ *
+ * Parameters: kal_uint8 resp: Response Code
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void cpcXscSetSocResponse(kal_uint8 resp);
+
+/***************************************************************************
+ *
+ * Function Name: cpcCopyConfig
+ *
+ * Description: Commonly used utility function to copy one Service
+ * Configuration to another
+ *
+ * Parameters: ServiceConfiguration *to: Pointer to the destination
+ * configuration
+ * ServiceConfiguration *from: Pointer to the source config
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void cpcCopyConfig(ServiceConfiguration *to, const ServiceConfiguration *from);
+
+
+/*
+ * Interface from the Voice Services Controller
+ */
+
+/****************************************************************************
+ *
+ * Name: cpcVscSwitchReq
+ *
+ * Scope: public
+ *
+ * Description: Request to change to currenlty connected voice service.
+ *
+ * Parameters:
+ * ServiceType svcType - new service type.
+ * kal_uint16 svcOpt - new service option.
+ *
+ * Returns:
+ * void
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void cpcVscSwitchReq (SysServiceTypeT svcType, kal_uint16 svcOpt);
+
+
+/****************************************************************************
+ *
+ * Name: sccSaveMaxNumAltSo
+ *
+ * Scope: public
+ *
+ * Description: Request to save the given value as MAX_NUM_ALT_SO
+ *
+ * Parameters: kal_uint8 max_so - the MAX_NUM_ALT_SO value
+ *
+ * Returns: (none)
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void sccSaveMaxNumAltSo(kal_uint8 max_so);
+
+
+/****************************************************************************
+ *
+ * Name: sccWriteAltSo
+ *
+ * Scope: public
+ *
+ * Description: Writes the alternative service option information into
+ * the outgoing DACH Origination or Page Response Message
+ * using the provided service option value.
+ *
+ * Parameters: kal_uint8 *data - the pointer to outgoing message
+ * kal_uint16 *index - the bit position in outgoing message to
+ * write to
+ * kal_uint16 so - the service option value is us
+ * kal_uint8 num_alt_so - the number of alternative service options
+ * to include in outgoing message
+ *
+ * Returns: (none)
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void sccWriteAltSo(kal_uint8 *data, kal_uint16 *index, kal_uint16 so, kal_uint8 num_alt_so);
+
+
+/****************************************************************************
+ *
+ * Name: sccProfilesFindSo
+ *
+ * Scope: public
+ *
+ * Description: Determines if the provided service option is among
+ * those in the provided configuration list.
+ *
+ * Parameters: kal_uint16 serv_opt - the service option value
+ * ServCfgParms profiles - the list of service configurations
+ * kal_uint8 num - number of configs in profiles
+ *
+ * Returns: kal_bool - KAL_TRUE - service option is an element in list
+ * KAL_FALSE - is not
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+kal_bool sccProfilesFindSo(kal_uint16 serv_opt, ServCfgParms *profiles, kal_uint8 num);
+
+
+/****************************************************************************
+ *
+ * Name: sccSoFindSo
+ *
+ * Scope: public
+ *
+ * Description: Determines if the provided service option is among
+ * those in the provided service option list.
+ *
+ * Parameters: kal_uint16 serv_opt - the service option value
+ * kal_uint16 *supp_so - the list of service options
+ * kal_uint8 num - number of configs in supp_so
+ *
+ * Returns: kal_bool - KAL_TRUE - service option is an element in list
+ * KAL_FALSE - is not
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+kal_bool sccSoFindSo(kal_uint16 serv_opt, kal_uint16 *supp_so, kal_uint8 num);
+
+
+/****************************************************************************
+ *
+ * Name: sccGetNumAltSo
+ *
+ * Scope: public
+ *
+ * Description: Returns the number of alternative service options
+ * supported by the mobile for the given service option.
+ *
+ * Parameters: kal_uint16 serv_opt - the "main" SO in use
+ *
+ * Returns: kal_uint8 - the number of service options of the same type
+ * as serv_opt supported by the mobile. This means
+ * the serv_opt is included/counted in the number.
+ *
+ * Notes: This function needs to be run before sccWriteAltSo()
+ * is run.
+ *
+ ****************************************************************************/
+kal_uint8 sccGetNumAltSo(kal_uint16 serv_opt);
+
+
+/***************************************************************************
+ *
+ * Function Name: cpcGetState()
+ *
+ * Description: Returns current CPC State
+ *
+ * Parameters: None
+ *
+ * Returns: CpcStates
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+CpcStates cpcGetState(void);
+
+void ReportConnectRleaseIndMsg(void);
+#ifdef __SENSITIVE_DATA_MOSAIC__
+void sccCpcSensitiveClean(void);
+#endif
+#endif /* _SCC_CPC_H */
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/SCC_CSC.H b/mcu/interface/protocol/as_c2k/1xrtt/SCC_CSC.H
new file mode 100644
index 0000000..1a61bc1
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/SCC_CSC.H
@@ -0,0 +1,358 @@
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*************************************************************************
+ *
+ * File Name: scc_csc.h
+ * Project: SCC
+ * Original Author: mclee
+ * Creation Date: 2/8/02
+ *
+ * Description: prototype of functions used for Location services
+ *
+ * Restrictions:
+ *
+ * Dependencies:
+ *
+ *************************************************************************
+ *
+ * This Software is the property of ISOTEL Corporation. Unauthorized
+ * use is prohibited.
+ *
+ * ISOTEL Corporation
+ * 340, 525-28 Street S.E.
+ * Calgary, Alberta, Canada T2A 6W9
+ * Tel: (403)275-0041 Fax: (403)274-3598
+ *
+ *
+ *
+
+ * All rights reserved.
+ *
+ *************************************************************************
+ *
+ * RCS Log Information
+ *
+ * $Revision: 1.3 $
+ *
+ * $Log: SCC_CSC.H $
+ *
+ * 07 04 2019 lemon.xiong
+ * [MOLY00418783] [VMOLY]porting code
+ *
+ * 11 26 2018 lemon.xiong
+ * [MOLY00366340] P70 mini dumpÐÅÏ¢ÍÑÃô--- SCC
+ *
+ * 07 04 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * ::KAL type - L3, folder ps
+ * Revision 1.3 2004/09/28 15:33:10 chinh
+ * Merged changes from cbp6.0.
+ * Revision 1.2 2004/03/25 12:07:19 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:39:31 fpeng
+ * Initial revision
+ * Revision 1.4 2002/08/08 15:09:08 mclee
+ * Add prototype sccLocReleaseReq()
+ * Revision 1.3 2002/06/06 14:53:58 bsharma
+ * Updated Copyright info.
+ * Revision 1.2 2002/04/18 09:53:51 mclee
+ * Increase functionality for 801
+ * Revision 1.1 2002/02/27 15:53:17 mclee
+ * Initial revision
+ * Revision 1.1 2002/02/08 10:57:32 mclee
+ ************************************************************************/
+
+#ifndef _SCC_CSC_H
+#define _SCC_CSC_H 1
+
+#include "SCC_TR.H"
+#include "SCC_DATA.H"
+#include "SCC_TUNE.H"
+#include "SCC_PFL.H"
+#include "SCC_API.H"
+#include "SCC_BIOS.H"
+#include "SCC_DBC.H"
+
+/***************************************************************************
+ *
+ * Function Name: cscInit
+ *
+ * Description: Initialize all static data
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void cscInit(void);
+
+/***************************************************************************
+ *
+ * Function Name: cscGetCurCfg
+ *
+ * Description: Returns the Current configuration within CSC
+ *
+ * Parameters: None
+ *
+ * Returns: ServiceConfiguration*: pointer to the Current
+ * configuration
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServiceConfiguration* cscGetCurCfg(void);
+
+/***************************************************************************
+ *
+ * Function Name: cscDbcDataBurstInd
+ *
+ * Description: Indication of an Loc Data Burst Message
+ *
+ * Parameters:
+ * kal_uint8 *data: Pointer to the message
+ * kal_uint8 length: Length of the message
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void cscDbcDataBurstInd(kal_uint8 *data, kal_uint8 length);
+
+/***************************************************************************
+ *
+ * Function Name: cscDbcTxRsp
+ *
+ * Description: Indication if the last sent Location message was sucessfully
+ * delivered to the BS/MSC
+ *
+ * Parameters: kal_bool success: Indication of success
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void cscDbcTxRsp (kal_bool success);
+
+/***************************************************************************
+ *
+ * Function Name: cscDbcDisconnectInd
+ *
+ * Description: Indication if the last sent Location message was sucessfully
+ * delivered to the BS/MSC
+ *
+ * Parameters: kal_bool success: Indication of success
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void cscDbcDisconnectInd (void);
+
+/***************************************************************************
+ *
+ * Function Name: cscDbcConnectInd
+ *
+ * Description: Indicate 801 call connected
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void cscDbcConnectInd (void);
+
+/****************************************************************************
+ *
+ * Name: sccLocTxReq
+ *
+ * Description: Originates a Location Service Option call, so that the
+ * Location message can be sent on Traffic.
+ *
+ * Parameters: kal_uint8* data - data to send
+ * kal_uint16 len - number of octets
+ * kal_bool confirm - send confirmed (KAL_TRUE) or unconfirmed
+ *
+ * Returns: (nothing)
+ *
+ * Notes: No dialled digits are sent in the Origination Message
+ * (637-A: 2.4.1.1.2.3 Traffic Channel Setup)
+ *
+ *****************************************************************************/
+void sccLocTxReq(kal_uint8* data, kal_uint16 len, kal_bool confirm);
+
+/****************************************************************************
+ *
+ * Name: sccLocSaveChannel
+ *
+ * Description: Saves the desired method to determine which channel the
+ * Loc message is to be sent on.
+ *
+ * Parameters: UINT6 chan - the selection method
+ *
+ * Returns: (nothing)
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void sccLocSaveChannel(kal_bool send_traffic);
+
+/***************************************************************************
+ *
+ * Function Name: cscNegGetServCfgNoConnections
+ *
+ * Description: Returns the Preferred Service Configuration given
+ * a valid service option number
+ *
+ * Parameters: ServiceOption: Valid Service Option
+ *
+ * Returns: ServiceConfiguration *: Pointer to a valid
+ * ServiceConfiguration.
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServiceConfiguration* cscNegGetServCfgNoConnections(SysServiceOptionT so);
+
+/***************************************************************************
+ *
+ * Function Name: cscGetPrefServCfg
+ *
+ * Description: Returns the Preferred Service Configuration
+ *
+ * Parameters: void
+ *
+ * Returns: ServiceConfiguration *: Pointer to a valid
+ * ServiceConfiguration.
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServiceConfiguration* cscGetPrefServCfg(void);
+
+
+/***************************************************************************
+ *
+ * Function Name: cscNegServiceConfigurationInitiation
+ *
+ * Description: Indication to SCC to begin the process of service
+ * configuration negotiation
+ *
+ * Parameters: kal_uint8 rs: requested rate set of returned config
+ *
+ * Returns: ServiceConfiguration *: Pointer to a valid service
+ * configuration
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServiceConfiguration* cscNegServiceConfigurationInitiation(kal_uint8 rs);
+
+/***************************************************************************
+ *
+ * Function Name: cscNegServiceConfigurationValidation
+ *
+ * Description: Validate the given service configuration and
+ * propose an alternate if the given configuration
+ * is not supported and val is KAL_FALSE
+ *
+ * Parameters: ServiceConfiguration *sc: Input -- pointer to a service
+ * configuration
+ * Output -- alternate
+ * configuration
+ * kal_bool val: Validate Only Flag, if it is KAL_TRUE
+ * this routine will not propose an alternate
+ * configuration if the given configuration is
+ * not supported
+ *
+ * Returns: SCResponse: Either 'SC_Accept' 'SC_Reject' or
+ * 'SC_Alternate'
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+SCResponse cscNegServiceConfigurationValidation
+(kal_bool valOnly, ServiceConfiguration *cfg);
+
+/***************************************************************************
+ *
+ * Function Name: cscNegServiceOptionValidation
+ *
+ * Description: Validate service option and propose alternate if
+ * it is not supported
+ *
+ * Parameters: ServiceOption *so: Input: Pointer to service option number
+ * to be validated
+ * Output: Alternative Service Option
+ *
+ * Returns: SCResponse: Either 'SC_Accept' 'SC_Reject' or
+ * 'SC_Alternate'
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+SCResponse cscNegServiceOptionValidation(SysServiceOptionT *so, kal_bool paged);
+
+/***************************************************************************
+ *
+ * Function Name: cscGetProfile
+ *
+ * Description: Returns the address of the static structure _Profiles.
+ *
+ * Parameters: (none)
+ *
+ * Returns: ServCfgParms * - pointer to _Profiles
+ *
+ * Notes: This is used in support of alternative service options.
+ *
+ ****************************************************************************/
+ServCfgParms *cscGetProfile(void);
+
+/***************************************************************************
+ *
+ * Function Name: cscE911Call
+ *
+ * Description: E911 change in Protocol Stack. Inform 801 stack.
+ *
+ * Parameters: kal_bool mode: Is E911 mode True or False
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void cscE911Call(kal_bool mode);
+
+/***************************************************************************
+ *
+ * Function Name: cscDiscardOutstanding
+ *
+ * Description: Tunnel request for 801 to discard any outstanding requests.
+ *
+ * Parameters: (none)
+ *
+ * Returns: none
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void cscDiscardOutstanding(void);
+
+void cscCpcInit( void );
+#ifdef __SENSITIVE_DATA_MOSAIC__
+void sccCscSensitiveClean(void);
+#endif
+#endif
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/SCC_DATA.H b/mcu/interface/protocol/as_c2k/1xrtt/SCC_DATA.H
new file mode 100644
index 0000000..5c75151
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/SCC_DATA.H
@@ -0,0 +1,302 @@
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*************************************************************************
+ *
+ * File Name: scc_data.h
+ * Project: SCC
+ * Original Author: Dan Doucette
+ * Creation Date: Nov 23, 1999
+ *
+ * Description: This file contains all of the SCC specific data types.
+ *
+ * Restrictions:
+ *
+ * Dependencies:
+ *
+ *************************************************************************
+ *
+ * This Software is the property of ISOTEL Corporation. Unauthorized
+ * use is prohibited.
+ *
+ * ISOTEL Corporation
+ * 340, 525-28 Street S.E.
+ * Calgary, Alberta, Canada T2A 6W9
+ * Tel: (403)275-0041 Fax: (403)274-3598
+ * Web: http://www.isotel.com
+ *
+ *
+ *
+
+ * All rights reserved.
+ *
+ *************************************************************************
+ *
+ * RCS Log Information
+ *
+ * $Revision: 1.3 $
+ *
+ * $Log: SCC_DATA.H $
+ *
+ * 07 04 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * ::KAL type - L3, folder ps
+ * Revision 1.3 2006/01/20 15:44:24 blee
+ * Added PS_DORMANT in Svc Type structure
+ * Revision 1.2 2004/03/25 12:07:19 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:39:31 fpeng
+ * Initial revision
+ * Revision 1.10 2003/04/03 13:52:22 ameya
+ * Removed the enum ServiceType.
+ * Revision 1.9 2002/06/06 14:54:13 bsharma
+ * Updated Copyright info.
+ * Revision 1.8 2002/02/27 20:54:33 mclee
+ * IS801 SO 35 SO36 support
+ * Revision 1.7 2002/01/02 14:46:58 AMALA
+ * Added changes for new system selection.
+ * Revision 1.6 2001/11/20 12:17:43 mclee
+ * Add SERVICETYPE_MISMATCH_RELEASE_REASON for CR319
+ * Revision 1.5 2001/10/23 16:02:13 byang
+ * Added support for SO32 and SO55.
+ * Revision 1.4 2001/08/30 15:11:42 byang
+ * Added dependency for Ms_Cap_Db.h and Identity.h.
+ * Revision 1.3 2001/08/14 11:23:55 hhong
+ * Add SO33.
+ * Revision 1.2 2001/08/06 13:37:07 akayvan
+ * SO_MARKOV_54 was added to SO_Number.
+ * Revision 1.1 2001/01/17 10:57:28 plabarbe
+ * Initial revision
+ * Revision 1.1 2000/10/24 14:11:51 fpeng
+ * Initial revision
+ * Revision 1.2 2000/08/24 00:11:42Z hhong
+ * To update to SCC ver. 2.7
+ * Revision 1.13 2000/03/11 01:00:06 bcassidy
+ * 1. Fix service option definitions for ASYNC/FAX_PREFER_RS1.
+ *
+ * Revision 1.12 2000/03/09 23:37:38 bcassidy
+ * 1. Add reason codes to support service switching operations.
+ * 2. Add SSDB_LEN definition.
+ * 3. Add bit map definitions for sccDsEnableReq.
+ * 4. Add FAX_SERVICE to VS service sub-types.
+ * [To support swith-to-fax operation.]
+ *
+ * Revision 1.11 2000/02/08 16:08:21 bcassidy
+ * 1. Fix new enum definitions.
+ *
+ * Revision 1.10 2000/02/05 20:38:36 bcassidy
+ * 1. Add SwitchServiceType definitions for modified cfgSccCheckCpn
+ * function.
+ * 2. Merge origFail and release reason codes into a common set.
+ * 3. Redefine data pre-arrangment modes.
+ * 4. Redefine Packet Data call states and events.
+ *
+ * Revision 1.9 1999/12/16 18:14:19 ddoucett
+ * fixed arm compiler warnings
+ *
+ * Revision 1.8 1999/12/16 01:35:53 ddoucett
+ * removed HP_DATA_TEST compile define
+ *
+ * Revision 1.7 1999/12/14 23:41:07 ddoucett
+ * *** empty log message ***
+ *
+ * Revision 1.6 1999/12/13 03:17:02 ddoucett
+ * changed the HP_DATA_TEST conditions.
+ *
+ * Revision 1.5 1999/12/12 22:51:54 ddoucett
+ * fixed the service option list from 4100 to 0x4100
+ *
+ * Revision 1.4 1999/12/09 19:19:51 ddoucett
+ * updated for HP_DATA_TEST flag
+ *
+ * Revision 1.3 1999/12/08 06:03:38 ddoucett
+ * Contains all data types for SCC
+ *
+ * Revision 1.2 1999/11/30 21:04:39 ddoucett
+ * fixed sub type numbers to eliminate 0
+ *
+ * Revision 1.1 1999/11/30 00:48:40 ddoucett
+ * Initial revision
+ *
+ *
+ ************************************************************************/
+
+#ifndef _SCC_DATA_H
+#define _SCC_DATA_H 1
+
+#include "Msg_defn.h" /* definition of CallingPartyNumber */
+#include "Serv_cfg.h" /* defintion of 'ServiceConfiguration' */
+#include "Ms_Cap_Db.h" /* defintion of 'MsCapDb' */
+#include "engine.h" /* defintion of 'OrigParms' */
+#include "channel.h" /* definition of BandClass */
+/* Amala K. 12/31/01 */
+#include "PREFROAM.H"
+
+#include "identity.h" /* definition of CPStatus.mode */
+/*
+ * Data Structure for Service Negotiation
+ */
+
+typedef struct {
+ kal_uint8 Modes;
+ ServiceConfiguration Cfg;
+} ServCfgParms;
+
+enum SwitchServiceType_
+{
+ SST_Voice,
+ SST_AsyncData,
+ SST_Fax,
+ NUM_SSTs
+};
+typedef kal_uint8 SwitchServiceType;
+
+/* ----- Origination Failure, Release and Switch Fail Reason Codes -------- */
+#define GENERAL_ORIG_FAIL_REASON 0
+#define CANCEL_ORIG_FAIL_REASON 1
+#define INTERCEPT_ORIG_FAIL_REASON 2
+#define REORDER_ORIG_FAIL_REASON 3
+#define RELEASE_ORIG_FAIL_REASON 4
+#define REJECT_ORIG_FAIL_REASON 5
+#define DISABLED_ORIG_FAIL_REASON 6
+#define BUSY_ORIG_FAIL_REASON 7
+#define INVALID_CFG_ORIG_FAIL_REASON 8
+#define PAGED_ORIG_FAIL_REASON 9
+#define RELEASING_ORIG_FAIL_REASON 10
+#define ANALOG_CONNECT_ORIG_FAIL_REASON 11
+
+#define NO_RELEASE_REASON 12
+#define NORMAL_RELEASE_REASON 13
+#define FADE_RELEASE_REASON 14
+#define DISABLED_RELEASE_REASON 15
+#define REJECTED_RELEASE_REASON 16
+#define SWITCH_COMPLETE_RELEASE_REASON 17
+
+#define SWITCH_FAIL_NOT_CONNECTED 18
+#define SERVICETYPE_MISMATCH_RELEASE_REASON 19
+#define INTERCEPT_MT_FAIL_REASON 20
+
+/*
+ * Channel Rates
+ */
+#define RATE_ONE 0 /* 1 */
+#define RATE_THREE_QUARTER 1 /* 3/4 */
+#define RATE_HALF 2 /* 1/2 */
+#define RATE_ONE_QUARTER 3 /* 1/4 */
+#define RATE_ZERO 4 /* 0 */
+
+/* Data encryption parameters */
+#define SSDB_LEN 8
+
+/*
+ * Control channel Types
+ */
+#define CDMA_CONTROL_CHANNEL 0
+#define TDMA_CONTROL_CHANNEL 1
+#define AMPS_CONTROL_CHANNEL 2
+
+/*
+ * Traffic Channel Types
+ */
+#define IS95_OR_IS95A 0
+#define IS95B 1
+
+/*
+ * Async Data and Fax data page accept maps
+ */
+#define ACCEPT_NO_DATA_SERVICES 0
+#define ACCEPT_ASYNC_DATA_ONLY 1
+#define ACCEPT_FAX_ONLY 2
+#define ACCEPT_ASYNC_DATA_AND_FAX 3
+
+/*
+ * Pre Arrangement Modes
+ */
+#define PAM_Disable 0
+#define PAM_FaxOneShotAnyCpn 1
+#define PAM_FaxPermanentAnyCpn 2
+#define PAM_AsyncOneShotAnyCpn 3
+#define PAM_AsyncPermanentAnyCpn 4
+#define PAM_OneShotSpecificCpns 5
+#define PAM_PermanentSpecificCpns 6
+
+/*
+ * Negotiation Modes (Bit Maps)
+ */
+#define NEG_NONE 0
+#define NEG_SON 1
+#define NEG_SN 2
+#define NEG_BOTH 3
+
+
+/* Data Service Enable map bit definitions */
+#define DS_ENA_AsyncData BIT0
+#define DS_ENA_Fax BIT1
+#define DS_ENA_BrowserOnAsync BIT6
+
+
+/* Packet Data State and Event Types:
+ * See IS-707-A.3, Table 7.4.2-2 */
+enum _PacketStates
+{
+ PKST_Inactive,
+ PKST_InitIdle,
+ PKST_InitTraffic,
+ PKST_ConnectedPrimary,
+ PKST_ConnectedSecondary,
+ PKST_DormantIdle,
+ PKST_DormantTraffic,
+ PKST_ReconnectIdle,
+ PKST_ReconnectTraffic,
+ NUM_PKSTs
+};
+typedef kal_uint8 PacketStates;
+
+enum _PacketEvents
+{
+ PKEV_EnterIdle,
+ PKEV_IdleHandoffSameSystem,
+ PKEV_IdleHandoffNewSystem,
+ PKEV_PageReceived,
+ PKEV_OriginationSent,
+ PKEV_TrafficChannelAssigned,
+ PKEV_HardHandoff,
+ NUM_PKEVs
+};
+typedef kal_uint8 PacketEvents;
+
+#define MSPD_DISABLED 0
+#define MSPD_IF_AVAIL 1
+#define MSPD_ONLY 2
+
+
+/* ------------------- Service Controller Sub-types ----------------------- */
+#define UNKNOWN_SUBTYPE 0
+
+/*
+ * Data Burst Types
+ */
+#define MSC_BURST_TYPE 3
+#define OSC_BURST_TYPE 4
+#define CSC_BURST_TYPE 5
+
+/*
+ * Macros for Calculating Mux Options and Rate Sets
+ */
+
+/* Calculates the Mux Option given the rate set and number of supp channels */
+#define MUX_OPT(numSuppChans,rateSet) ((numSuppChans*2)+rateSet)
+
+/* Calculates the rate set given the mux option */
+#define RATE_SET(muxOpt) ((muxOpt%2)?1:2)
+
+/* Calculates the number of supplemental channels given the mux option */
+#define NUM_SUPP_CHANS(muxOpt) ((muxOpt-1)/2)
+
+#endif /* SCC_DATA_H */
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/SCC_DBC.H b/mcu/interface/protocol/as_c2k/1xrtt/SCC_DBC.H
new file mode 100644
index 0000000..bb0582d
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/SCC_DBC.H
@@ -0,0 +1,343 @@
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*************************************************************************
+ *
+ * File Name: scc_dbc.h
+ * Project: SCC
+ * Original Author: Dan Doucette
+ * Creation Date: Nov 20, 1999
+ *
+ * Description: Data burst messaging controller for SCC engine
+ *
+ * Restrictions:
+ *
+ * Dependencies:
+ *
+ *************************************************************************
+ *
+ * This Software is the property of ISOTEL Corporation. Unauthorized
+ * use is prohibited.
+ *
+ * ISOTEL Corporation
+ * 340, 525-28 Street S.E.
+ * Calgary, Alberta, Canada T2A 6W9
+ * Tel: (403)275-0041 Fax: (403)274-3598
+ * Web: http://www.isotel.com
+ *
+ *
+ *
+
+ * All rights reserved.
+ *
+ *************************************************************************
+ *
+ * RCS Log Information
+ *
+ * $Revision: 1.2 $
+ *
+ * $Log: SCC_DBC.H $
+ *
+ * 08 28 2017 lemon.xiong
+ * [MOLY00267484] [BIANCO][MT6763][C2K]coverity warning fix
+ *
+ * scc code optimization and scc fsm trace change
+ *
+ * 07 04 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * ::KAL type - L3, folder ps
+ * Revision 1.2 2004/03/25 12:07:20 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:39:31 fpeng
+ * Initial revision
+ * Revision 1.5 2002/08/08 15:09:40 mclee
+ * Add prototype dbcGetConnectedType()
+ * Revision 1.4 2002/06/06 14:54:24 bsharma
+ * Updated Copyright info.
+ * Revision 1.3 2002/02/27 20:55:02 mclee
+ * IS801 Loc Data Burst Support
+ * Revision 1.2 2001/11/29 14:13:06 kmar
+ * Modified function prototype for dbcXscSendMsgReq().
+ * Revision 1.1 2001/01/17 10:57:29 plabarbe
+ * Initial revision
+ * Revision 1.1 2000/10/24 14:11:51 fpeng
+ * Initial revision
+ * Revision 1.2 2000/08/24 00:11:41Z hhong
+ * To update to SCC ver. 2.7
+ * Revision 1.6 2000/02/17 19:20:28 dfischer
+ * Added api to get state
+ *
+ * Revision 1.5 2000/02/15 17:40:23 ddoucett
+ * added sccCpBroadcastDataBurstInd and removed the kal_bool broadcast
+ * parameter from the regular databurst ind
+ *
+ * Revision 1.4 1999/12/16 01:22:50 ddoucett
+ * added databurst response capabilities in the busy state
+ *
+ * Revision 1.3 1999/12/14 23:41:07 ddoucett
+ * Redesign and recoding of DataBurst controller
+ *
+ * Revision 1.2 1999/12/08 19:27:06 ddoucett
+ * *** empty log message ***
+ *
+ * Revision 1.1 1999/12/08 06:03:38 ddoucett
+ * Initial revision
+ *
+ *
+ ************************************************************************/
+
+#ifndef _SCC_DBC_H
+#define _SCC_DBC_H 1
+
+/*
+ * Dependencies
+ */
+#include "SCC_TR.H"
+#include "SCC_DATA.H"
+#include "SCC_TUNE.H"
+#include "SCC_PFL.H"
+#include "SCC_API.H"
+#include "SCC_BIOS.H"
+#include "SCC_CPC.H"
+#include "SCC_MSC.H"
+#include "SCC_CSC.H"
+#include "SCC_OSC.H"
+#include "SCC_NEG.H"
+
+/***************************************************************************
+ *
+ * Function Name: dbcReset
+ *
+ * Description: Initialize the FSM and all static data
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void dbcReset(void);
+
+
+/***************************************************************************
+ *
+ * Function Name: dbcCpcAccessInd
+ *
+ * Description: Indicates the CPE is in the access state
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void dbcCpcAccessInd(void);
+
+/***************************************************************************
+ *
+ * Function Name: dbcCpcAlertInd
+ *
+ * Description: Indicates an incoming call for any databurst service
+ *
+ * Parameters: FORInfoData *alert: Pointer to alert information
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void dbcCpcAlertInd(FORInfoData *alert);
+
+/***************************************************************************
+ *
+ * Function Name: dbcCpcConnectFailInd
+ *
+ * Description: Indication of a databurst service connect failure
+ *
+ * Parameters: kal_uint8 reason: reason for failure (scc_data.h)
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void dbcCpcConnectFailInd(kal_uint8 reason);
+
+/***************************************************************************
+ *
+ * Function Name: dbcCpcConnectInd
+ *
+ * Description: Indicates a service option connection
+ *
+ * Parameters: ServiceConfiguration *cfg: Pointer to the connected
+ * service configuration
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void dbcCpcConnectInd(ServiceConfiguration *cfg, kal_uint8 cn);
+
+/***************************************************************************
+ *
+ * Function Name: dbcCpcDisconnectInd
+ *
+ * Description: Indicates the service option has been disconnected
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void dbcCpcDisconnectInd(kal_uint8 reason);
+
+/***************************************************************************
+ *
+ * Function Name: dbcCpcIdle
+ *
+ * Description: Indicates the CPE is in the idle state
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void dbcCpcIdle(void);
+
+/***************************************************************************
+ *
+ * Function Name: dbcCpcPageInd
+ *
+ * Description: Indication of a page from the base station
+ *
+ * Parameters: ServiceOption so: service option being paged
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void dbcCpcPageInd(SysServiceOptionT so);
+
+
+
+
+/*
+ * Interface from SMS, OTASP, and LOC services
+ *
+ */
+
+
+/***************************************************************************
+ *
+ * Function Name: dbcXscSendMsgReq
+ *
+ * Description: Request from SCC_MSC to send a databurst message
+ *
+ * Parameters: kal_uint8 type: Burst Type of the Message
+ * kal_uint8* msg: Pointer to message data
+ * kal_uint8 length: length of data in bytes
+ * kal_bool confirm: Indicates if base station
+ * acknowledgement is necessary
+ * kal_bool traffChan: the channel to send data burst on
+ * OrigParms *orig: Origination parameters
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void dbcXscSendMsgReq(SysServiceTypeT type, kal_uint8* msg, kal_uint8 length, kal_bool confirm,
+ kal_bool traffChan, OrigParms *orig);
+
+/***************************************************************************
+ *
+ * Function Name: dbcXscReleaseReq
+ *
+ * Description: Indication by the databurst msg service
+ *
+ * Parameters: kal_uint8 type: Service Type requesting release
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void dbcXscReleaseReq(SysServiceTypeT type);
+
+/***************************************************************************
+ *
+ * Function Name: dbcGetConnectedType()
+ *
+ * Description: Returns currented DBC connected Type
+ *
+ * Parameters: None
+ *
+ * Returns: ServiceType _ConnectedType
+ *
+ ****************************************************************************/
+SysServiceTypeT dbcGetConnectedType(void);
+
+/***************************************************************************
+ *
+ * Function Name: dbcGetSentStaus()
+ *
+ * Description: Returns _MsgOutstanding
+ *
+ * Parameters: None
+ *
+ * Returns: kal_bool _MsgOutstanding
+ *
+ ****************************************************************************/
+kal_bool dbcGetSentStatus(void);
+
+/***************************************************************************
+ *
+ * Function Name: dbcGetSentMsgType()
+ *
+ * Description: Returns _SentMsgType
+ *
+ * Parameters: None
+ *
+ * Returns: ServiceType _SentMsgType
+ *
+ ****************************************************************************/
+SysServiceTypeT dbcGetSentMsgType(void);
+kal_bool dbcIsSmsMTConn(void);
+#ifdef MTK_CBP
+kal_bool dbcIsSMSMOTraffic();
+#endif
+
+/***************************************************************************
+ *
+ * Function Name: dbcGetState
+ *
+ * Description:
+ *
+ * Parameters:
+ *
+ * Returns: state
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+kal_uint8 dbcGetState(void);
+
+#ifdef MTK_CBP
+kal_bool dbcGetConnFailReason(void);
+#endif
+
+#endif /* _SCC_DBC_H */
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/SCC_DSC.H b/mcu/interface/protocol/as_c2k/1xrtt/SCC_DSC.H
new file mode 100644
index 0000000..e3f6c45
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/SCC_DSC.H
@@ -0,0 +1,591 @@
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*************************************************************************
+ *
+ * File Name: scc_dsc.h
+ * Project: SCC
+ * Original Author: Dan Doucette
+ * Creation Date: Dec 1 1999
+ *
+ * Description: Declaration of the Data Services Controller signals and
+ * functions
+ *
+ * Restrictions:
+ *
+ * Dependencies:
+ *
+ *************************************************************************
+ *
+ * This Software is the property of ISOTEL Corporation. Unauthorized
+ * use is prohibited.
+ *
+ * ISOTEL Corporation
+ * 340, 525-28 Street S.E.
+ * Calgary, Alberta, Canada T2A 6W9
+ * Tel: (403)275-0041 Fax: (403)274-3598
+ * Web: http://www.isotel.com
+ *
+ *
+ *
+
+ * All rights reserved.
+ *
+ *************************************************************************
+ *
+ * RCS Log Information
+ *
+ * $Revision: 1.3 $
+ *
+ * $Log: SCC_DSC.H $
+ *
+ * 07 04 2019 lemon.xiong
+ * [MOLY00418783] [VMOLY]porting code
+ *
+ * 11 26 2018 lemon.xiong
+ * [MOLY00366340] P70 mini dumpÐÅÏ¢ÍÑÃô--- SCC
+ *
+ * 07 04 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * ::KAL type - L3, folder ps
+ * Revision 1.3 2004/09/28 15:33:56 chinh
+ * Merged changes from cbp6.0.
+ * Revision 1.2 2004/03/25 12:07:21 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:39:32 fpeng
+ * Initial revision
+ * Revision 1.4 2002/06/06 14:54:34 bsharma
+ * Updated Copyright info.
+ * Revision 1.3 2002/02/06 11:58:09 mclee
+ * Add prototype for new Async and Fax profile functions in DSC.C
+ * Revision 1.2 2001/05/16 11:20:09 yfang
+ * added data service back
+ * Revision 1.1 2001/01/17 10:57:30 plabarbe
+ * Initial revision
+ * Revision 1.1 2000/10/24 14:11:52 fpeng
+ * Initial revision
+ * Revision 1.3 2000/08/24 00:11:38Z hhong
+ * To update to SCC ver. 2.7
+ * Revision 1.16 2000/03/10 00:01:37 bcassidy
+ * 1. Remove dscCpcSwitchInd
+ * [Replaced with connectInd].
+ *
+ * Revision 1.15 2000/03/01 23:15:02 bcassidy
+ * 1. Update dscCpcDisconnectInd prototype to match current design.
+ *
+ * Revision 1.14 2000/02/17 19:19:44 dfischer
+ * Added api to get state
+ *
+ * Revision 1.13 2000/02/05 20:24:28 bcassidy
+ * 1. Add prototype and strcture definition for dscViewPrefs.
+ *
+ * Revision 1.12 1999/12/16 18:14:19 ddoucett
+ * fixed arm compiler warnings
+ *
+ * Revision 1.11 1999/12/08 19:27:06 ddoucett
+ * fixed ReadyInd
+ *
+ * Revision 1.10 1999/12/08 06:03:38 ddoucett
+ * ReWork of Data Services controller to use the new Negotiation Procedures
+ *
+ *
+ ************************************************************************/
+
+#ifndef _SCC_DSC_H
+#define _SCC_DSC_H 1
+
+#include <string.h>
+#include "SCC_TR.H"
+#include "SCC_DATA.H"
+#include "SCC_TUNE.H"
+#include "SCC_PFL.H"
+#include "SCC_API.H"
+#include "SCC_BIOS.H"
+#include "SCC_CPC.H"
+
+typedef struct
+{
+ kal_uint16 asyncSoPref;
+ kal_uint16 faxSoPref;
+ kal_uint8 pageAcceptMap;
+} DscPref;
+
+/*
+ * Common Data Services Functions
+ */
+
+/***************************************************************************
+ *
+ * Function Name: dscReset
+ *
+ * Description: Initialize the DSC on power up
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void dscReset(void);
+
+/***************************************************************************
+ *
+ * Function Name: dscGetCurCfg
+ *
+ * Description: Returns the Current configuration within DSC
+ *
+ * Parameters: None
+ *
+ * Returns: ServiceConfiguration*: pointer to the Current
+ * configuration
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServiceConfiguration* dscGetCurCfg(void);
+
+
+/*
+ * CPC interface to the Data Service Controller
+ */
+
+/***************************************************************************
+ *
+ * Function Name: dscCpcAlertInd
+ *
+ * Description: Indication an incoming call for data services is pending
+ *
+ * Parameters: FORInfoData *alert: Alert Information
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void dscCpcAlertInd(FORInfoData *alert);
+
+/***************************************************************************
+ *
+ * Function Name: dscCpcConnectFailInd
+ *
+ * Description: Indication the connection attempt failed
+ *
+ * Parameters: kal_uint8 reason: Reason for Failure
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ***************************************************************************/
+void dscCpcConnectFailInd(kal_uint8 reason);
+
+/***************************************************************************
+ *
+ * Function Name: dscCpcConnectInd
+ *
+ * Description: Indication the CPC has connected a data service option
+ *
+ * Parameters: ServiceConfiguration cfg: connected service configuration
+ * kal_uint8 cn: Connection Record Index
+ * kal_bool rlpCtl: Indication if DSC controlls RLP
+ * kal_bool origDir: Indication of the origination direction
+ * of the call KAL_FALSE -- mobile terminated call
+ * KAL_TRUE -- mobile originated call
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void dscCpcConnectInd(ServiceConfiguration *cfg,
+ kal_uint8 cn, kal_bool rlpCtl, kal_bool origDir);
+
+
+/****************************************************************************
+ *
+ * Name: dscCpcDisconnectInd
+ *
+ * Scope: public
+ *
+ * Description: Indication that the currently connected Data service has been
+ * disconnected.
+ *
+ * Parameters:
+ * kal_bool fade - KAL_TRUE: The service was disconnected due to a fade.
+ *
+ * Returns:
+ * void
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void dscCpcDisconnectInd (kal_bool fade);
+
+/***************************************************************************
+ *
+ * Function Name: dscCpcPageInd
+ *
+ * Description: Indication of an incoming page for data services
+ *
+ * Parameters: kal_uint16 svcOpt: Service option of the incoming page
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void dscCpcPageInd(kal_uint16 svcOpt);
+
+/***************************************************************************
+ *
+ * Function Name: dscCpcSocoInd
+ *
+ * Description: Indication of an incoming Service Option Control Order
+ * for data services
+ *
+ * Parameters: kal_uint8 ordq: Message Data
+ * kal_uint32 actionTime: Action Time of the message
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void dscCpcSocoInd(kal_uint8 ordq, kal_uint32 actionTime);
+
+/***************************************************************************
+ *
+ * Function Name: dscCpcSocmInd
+ *
+ * Description: Indication of an incoming Service Option Control Message
+ * for data services
+ *
+ * Parameters: kal_uint8 conRef: Connection Record
+ * kal_uint16 svcOpt: Service Option
+ * kal_uint8 *ctlRec: Message Data
+ * kal_uint8 length: Length of data
+ * kal_uint32 actionTime: Action Time of the message
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void dscCpcSocmInd(kal_uint8 conRef, kal_uint16 svcOpt, kal_uint8 *ctlRec,
+ kal_uint8 length, kal_uint32 actionTime);
+
+
+
+/*
+ * Interface from Call Processing
+ */
+
+/***************************************************************************
+ *
+ * Function Name: dscCpHandoffInd
+ *
+ * Description: Indication of a handoff just completed
+ *
+ * Parameters: kal_uint8 type: Type of handoff
+ * kal_bool cfgChanged: Indication the current configuration
+ * has changed
+ * kal_bool setChanged: Indication the candidate pilot set has
+ * changed
+ * kal_bool freqChanged: Indication the frequency band has
+ * changed
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void dscCpHandoffInd(kal_uint8 type, kal_bool cfgChanged, kal_bool setChanged,
+ kal_bool freqChanged);
+
+/***************************************************************************
+ *
+ * Function Name: dscCpNetworkPRev
+ *
+ * Description: Indication of the current network protocol revision
+ *
+ * Parameters: kal_uint8 pRev: Protocol Revision of the current BS
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void dscCpNetworkPRev(kal_uint8 pRev);
+
+/***************************************************************************
+ *
+ * Function Name: dscCpReadyInd
+ *
+ * Description: Indication the CPE has found a system with the following
+ * parameters
+ *
+ * Parameters: BandClass band: Band Class of the system
+ * kal_uint8 block: CDMA block (A...F)
+ * kal_uint16 sid: System ID
+ * kal_uint16 nid: Network ID
+ * kal_uint8 pRev: Protocol Revision of the BS
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void dscCpReadyInd(SysCdmaBandT band, kal_uint8 block, kal_uint16 sid,
+ kal_uint16 nid, kal_uint8 pRev);
+
+/***************************************************************************
+ *
+ * Function Name: dscCpNoSvcInd
+ *
+ * Description: No Service Currently availible
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void dscCpNoSvcInd(void);
+
+/***************************************************************************
+ *
+ * Function Name: dscCpRandInd
+ *
+ * Description: RAND variable update
+ *
+ * Parameters: kal_uint32 rand: random BS parameter
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void dscCpRandInd(kal_uint32 rand);
+
+/***************************************************************************
+ *
+ * Function Name: dscCpSsdbInd
+ *
+ * Description: Update of the SSD parameter
+ *
+ * Parameters: kal_uint8* ssdb: Pointer to 8 byte ssdb value
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void dscCpSsdbInd(kal_uint8 *ssdb);
+
+/*
+ * Data Services Service Validation Procedures
+ */
+
+/***************************************************************************
+ *
+ * Function Name: dscNegGetServCfgNoConnections
+ *
+ * Description: Returns the Preferred Service Configuration given
+ * a valid service option number
+ *
+ * Parameters: ServiceOption: Valid Service Option
+ *
+ * Returns: ServiceConfiguration *: Pointer to a valid
+ * ServiceConfiguration.
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServiceConfiguration* dscNegGetServCfgNoConnections(SysServiceOptionT so);
+
+
+/***************************************************************************
+ *
+ * Function Name: dscGetPrefServCfg
+ *
+ * Description: Get preferred Service Configuration
+ *
+ * Parameters: None
+ *
+ * Returns: The preferred Service Configuration
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServiceConfiguration* dscGetPrefServCfg(void);
+
+/***************************************************************************
+ *
+ * Function Name: dscNegServiceConfigurationInitiation
+ *
+ * Description: Indication to SCC to begin the process of service
+ * configuration negotiation
+ *
+ * Parameters: None
+ *
+ * Returns: ServiceConfiguration *: Pointer to a valid service
+ * configuration
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServiceConfiguration* dscNegServiceConfigurationInitiation(kal_uint8 rs);
+
+/***************************************************************************
+ *
+ * Function Name: dscNegServiceConfigurationValidation
+ *
+ * Description: Validate the given service configuration and
+ * propose an alternate if the given configuration
+ * is not supported and val is KAL_FALSE
+ *
+ * Parameters: ServiceConfiguration *sc: Input -- pointer to a service
+ * configuration
+ * Output -- alternate
+ * configuration
+ * kal_bool val: Validate Only Flag, if it is KAL_TRUE
+ * this routine will not propose an alternate
+ * configuration if the given configuration is
+ * not supported
+ *
+ * Returns: SCResponse: Either 'SC_Accept' 'SC_Reject' or
+ * 'SC_Alternate'
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+SCResponse dscNegServiceConfigurationValidation(kal_bool valOnly,
+ ServiceConfiguration *sc);
+
+/***************************************************************************
+ *
+ * Function Name: dscNegServiceOptionValidation
+ *
+ * Description: Validate service option and propose alternate if
+ * it is not supported
+ *
+ * Parameters: ServiceOption *so: Input: Pointer to service option number
+ * to be validated
+ * Output: Alternative Service Option
+ *
+ * Returns: SCResponse: Either 'SC_Accept' 'SC_Reject' or
+ * 'SC_Alternate'
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+SCResponse dscNegServiceOptionValidation(SysServiceOptionT *so, kal_bool paged);
+
+
+/****************************************************************************
+ *
+ * Name: dscViewPrefs
+ *
+ * Scope: public
+ *
+ * Description: view the current preference settings.
+ *
+ * Parameters: DscPref* pref - Structure to contain the current preference
+ * settings.
+ *
+ * Returns: none
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void dscViewPrefs (DscPref* pref);
+
+/***************************************************************************
+ *
+ * Function Name: dscGetProfile
+ *
+ * Description: Returns the address of the static structure _profiles.
+ *
+ * Parameters: (none)
+ *
+ * Returns: ServCfgParms * - pointer to _Profiles
+ *
+ * Notes: This is used in support of alternative service options.
+ *
+ ****************************************************************************/
+ServCfgParms *dscGetProfile(void);
+
+/****************************************************************************
+ *
+ * Name: dscGetAsyncProfile
+ *
+ * Scope: public
+ *
+ * Description: Retrieves the address of the static structure _AsyncProfile.
+ *
+ * Parameters: (none)
+ *
+ * Returns: ServCfgParms * - pointer to _AsyncProfile
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServCfgParms *dscGetAsyncProfile(void);
+
+/****************************************************************************
+ *
+ * Name: dscGetFaxProfile
+ *
+ * Scope: public
+ *
+ * Description: Retrieves the address of the static structure _FaxProfile.
+ *
+ * Parameters: (none)
+ *
+ * Returns: ServCfgParms * - pointer to _FaxProfile
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServCfgParms *dscGetFaxProfile(void);
+
+/***************************************************************************
+ *
+ * Function Name: xxxGetState
+ *
+ * Description:
+ *
+ * Parameters:
+ *
+ * Returns: state
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+#ifdef TEST
+kal_uint8 dscGetState(void);
+#endif
+
+/***************************************************************************
+ *
+ * Function Name: dscCpcInit
+ *
+ * Description: clear global flags.
+ *
+ * Parameters: (none)
+ *
+ *
+ ****************************************************************************/
+void dscCpcInit(void);
+#ifdef __SENSITIVE_DATA_MOSAIC__
+void sccDscSensitiveClean(void);
+#endif
+#endif
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/SCC_LSC.H b/mcu/interface/protocol/as_c2k/1xrtt/SCC_LSC.H
new file mode 100644
index 0000000..9cfcf24
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/SCC_LSC.H
@@ -0,0 +1,556 @@
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*************************************************************************
+ *
+ * File Name: scc_lsc.h
+ * Project: SCC
+ * Original Author: Dan Doucette
+ * Creation Date: June 30, 1999
+ *
+ * Description: Header file for loopback service functions
+ * from SCC cpc to ls
+ *
+ * Restrictions:
+ *
+ * Dependencies:
+ *
+ *************************************************************************
+ * RCS Information
+ *
+ * $Id: SCC_LSC.H 1.3 2004/09/28 15:34:24 chinh Exp $
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ *
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ *
+ *
+
+ * removed!
+ *
+ *************************************************************************
+ *
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ *
+ ************************************************************************/
+
+#ifndef _SCC_LSC_H
+#define _SCC_LSC_H
+
+/*
+ * Dependencies
+ */
+
+#include <string.h>
+#include "SCC_TR.H"
+#include "SCC_DATA.H"
+#include "SCC_TUNE.H"
+#include "SCC_PFL.H"
+#include "SCC_API.H"
+#include "SCC_BIOS.H"
+#include "SCC_CPC.H"
+#include "SCC_VSC.H"
+
+/*
+ * Interface from CPC
+ */
+
+/***************************************************************************
+ *
+ * Function Name: lscReset
+ *
+ * Description: Initialize the Loopback Services Controller
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void lscReset(void);
+
+/***************************************************************************
+ *
+ * Function Name: lscGetCurCfg
+ *
+ * Description: Returns the Current configuration within LSC
+ *
+ * Parameters: None
+ *
+ * Returns: ServiceConfiguration*: pointer to the Current
+ * configuration
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServiceConfiguration* lscGetCurCfg(void);
+
+
+
+/***************************************************************************
+ *
+ * Function Name: lscCpcConnectFailInd
+ *
+ * Description: Indication from CPC the requested connection
+ * attempt failed
+ *
+ * Parameters: kal_uint8 reason: reason for failure
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void lscCpcConnectFailInd(kal_uint8 reason);
+
+/***************************************************************************
+ *
+ * Function Name: lscCpcConnectInd
+ *
+ * Description: Indication from CPC the requested Loopback call
+ * has been connected
+ *
+ * Parameters: ServiceConfiguration* cfg: Configuration currently
+ * connected
+ * kal_uint8 cn: connection number within the configuration
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void lscCpcConnectInd(ServiceConfiguration* cfg, kal_uint8 cn);
+
+/***************************************************************************
+ *
+ * Function Name: lscCpcDisconnectInd
+ *
+ * Description: Indication the Loopback service option has been
+ * disconnected
+ *
+ * Parameters: kal_uint8 reason: Reason for disconnection
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void lscCpcDisconnectInd(kal_uint8 reason);
+
+/***************************************************************************
+ *
+ * Function Name: lscCpcAlertInd
+ *
+ * Description: Indication of an incoming Loopback call
+ *
+ * Parameters: FORInfoData *alert: Alert Information
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void lscCpcAlertInd(FORInfoData *alert);
+
+/***************************************************************************
+ *
+ * Function Name: lscCpcPageInd
+ *
+ * Description: Indication of an incoming page for Loopback services
+ *
+ * Parameters: ServiceOption svcOpt: service option of incoming call
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void lscCpcPageInd(kal_uint16 svcOpt);
+
+/***************************************************************************
+ *
+ * Function Name: lscCpReadyInd
+ *
+ * Description: Indication the CP has found a base station with the
+ * following properties
+ *
+ * Parameters: BandClass band: Band Class (0,1,..)
+ * kal_uint8 block: CDMA Block (A,B,C...)
+ * kal_uint16 sid: System Id
+ * kal_uint16 nid: Network Id
+ * kal_uint8 type: network type
+ * (1 -- CDMA)
+ * (2 -- TDMA)
+ * (3 -- ANALOG)
+ * kal_uint8 pRev: Protocol Revision of the BS
+ *
+ * Returns:
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void lscCpReadyInd(SysCdmaBandT band, kal_uint8 block,
+ kal_uint16 sid, kal_uint16 nid, kal_uint8 pRev);
+
+/***************************************************************************
+ *
+ * Function Name: lscCpcNoSvcInd
+ *
+ * Description: Indication the CP cannot find a BS
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void lscCpcNoSvcInd(void);
+
+/***************************************************************************
+ *
+ * Function Name: lscCpcSocoInd
+ *
+ * Description: Indication of an incoming Service Option Control Order
+ *
+ * Parameters: kal_uint8 ordq: Message
+ * kal_uint32 actionTime: Action Time of message
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void lscCpcSocoInd(kal_uint8 ordq, kal_uint32 actionTime);
+
+/***************************************************************************
+ *
+ * Function Name: lscCpcSocmInd
+ *
+ * Description: Indication of an incoming Service Option Control Message
+ *
+ * Parameters: kal_uint8 conRef: Service Configuratin connection reference
+ * kal_uint16 svcOpt: Service Option
+ * kal_uint8 *ctlRec: Message Data
+ * kal_uint8 length: Length of the Message
+ * kal_uint32 actionTime:
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void lscCpcSocmInd(kal_uint8 conRef, kal_uint16 svcOpt, kal_uint8 *ctlRec,
+ kal_uint8 length, kal_uint32 actionTime);
+
+/***************************************************************************
+ *
+ * Function Name: lscGetPrefServCfg
+ *
+ * Description: Get preferred Service Configuration
+ *
+ * Parameters: None
+ *
+ * Returns: The preferred Service Configuration
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServiceConfiguration* lscGetPrefServCfg(void);
+
+
+/*
+ * Loopback Service Configuration Validation Functions
+ */
+
+/***************************************************************************
+ *
+ * Function Name: lscNegGetServCfgNoConnections
+ *
+ * Description: Returns the Preferred Service Configuration given
+ * a valid service option number
+ *
+ * Parameters: ServiceOption: Valid Service Option
+ *
+ * Returns: ServiceConfiguration *: Pointer to a valid
+ * ServiceConfiguration.
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServiceConfiguration* lscNegGetServCfgNoConnections(SysServiceOptionT so);
+
+/***************************************************************************
+ *
+ * Function Name: lscNegServiceConfigurationInitiation
+ *
+ * Description: Indication to SCC to begin the process of service
+ * configuration negotiation
+ *
+ * Parameters: None
+ *
+ * Returns: ServiceConfiguration *: Pointer to a valid service
+ * configuration
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServiceConfiguration* lscNegServiceConfigurationInitiation(kal_uint8 rs);
+
+/***************************************************************************
+ *
+ * Function Name: lscNegServiceConfigurationValidation
+ *
+ * Description: Validate the given service configuration and
+ * propose an alternate if the given configuration
+ * is not supported and val is KAL_FALSE
+ *
+ * Parameters: ServiceConfiguration *sc: Input -- pointer to a service
+ * configuration
+ * Output -- alternate
+ * configuration
+ * kal_bool val: Validate Only Flag, if it is KAL_TRUE
+ * this routine will not propose an alternate
+ * configuration if the given configuration is
+ * not supported
+ *
+ * Returns: SCResponse: Either 'SC_Accept' 'SC_Reject' or
+ * 'SC_Alternate'
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+SCResponse lscNegServiceConfigurationValidation(kal_bool valOnly,
+ ServiceConfiguration *sc);
+
+/***************************************************************************
+ *
+ * Function Name: lscNegServiceOptionValidation
+ *
+ * Description: Validate service option and propose alternate if
+ * it is not supported
+ *
+ * Parameters: ServiceOption *so: Input: Pointer to service option number
+ * to be validated
+ * Output: Alternative Service Option
+ *
+ * Returns: SCResponse: Either 'SC_Accept' 'SC_Reject' or
+ * 'SC_Alternate'
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+SCResponse lscNegServiceOptionValidation(SysServiceOptionT *so, kal_bool paged);
+
+
+/****************************************************************************
+ *
+ * Name: lscGetProfile
+ *
+ * Scope: public
+ *
+ * Description: Retrieves the address of the static structure _Profiles.
+ *
+ * Parameters: (none)
+ *
+ * Returns: ServCfgParms * - pointer to _Profiles
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServCfgParms *lscGetProfile(void);
+
+/****************************************************************************
+ *
+ * Name: lscGetMarkovProfile
+ *
+ * Scope: public
+ *
+ * Description: Retrieves the address of the static structure _Profiles.
+ *
+ * Parameters: (none)
+ *
+ * Returns: ServCfgParms * - pointer to _Profiles
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServCfgParms *lscGetMarkovProfile(void);
+
+/****************************************************************************
+ *
+ * Name: lscGetLpbkProfile
+ *
+ * Scope: public
+ *
+ * Description: Retrieves the address of the static structure _Profiles.
+ *
+ * Parameters: (none)
+ *
+ * Returns: ServCfgParms * - pointer to _Profiles
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServCfgParms *lscGetLpbkProfile(void);
+
+/***************************************************************************
+ *
+ * Function Name: xxxGetState
+ *
+ * Description:
+ *
+ * Parameters:
+ *
+ * Returns: state
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+#ifdef TEST
+kal_uint8 lscGetState(void);
+#endif
+
+void lscCpcInit(void);
+#ifdef __SENSITIVE_DATA_MOSAIC__
+void sccLscSensitiveClean(void);
+#endif
+
+#endif /* _SCC_LSC_H */
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/SCC_MSC.H b/mcu/interface/protocol/as_c2k/1xrtt/SCC_MSC.H
new file mode 100644
index 0000000..a708050
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/SCC_MSC.H
@@ -0,0 +1,438 @@
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*************************************************************************
+ *
+ * File Name: scc_msc.h
+ * Project: SCC
+ * Original Author: Dan Doucette
+ * Creation Date: Nov. 24, 1999
+ *
+ * Description: Declaration of functions used for SMS services
+ *
+ * Restrictions:
+ *
+ * Dependencies:
+ *
+ *************************************************************************
+ *
+ * This Software is the property of ISOTEL Corporation. Unauthorized
+ * use is prohibited.
+ *
+ * ISOTEL Corporation
+ * 340, 525-28 Street S.E.
+ * Calgary, Alberta, Canada T2A 6W9
+ * Tel: (403)275-0041 Fax: (403)274-3598
+ *
+ *
+ *
+
+ * All rights reserved.
+ *
+ *************************************************************************
+ *
+ * RCS Log Information
+ *
+ * $Revision: 1.3 $
+ *
+ * $Log: SCC_MSC.H $
+ *
+ * 07 04 2019 lemon.xiong
+ * [MOLY00418783] [VMOLY]porting code
+ *
+ * 11 26 2018 lemon.xiong
+ * [MOLY00366340] P70 mini dumpÐÅÏ¢ÍÑÃô--- SCC
+ *
+ * 07 04 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * ::KAL type - L3, folder ps
+ *
+ * 11 09 2016 sue.zhong
+ * [MOLY00208435] [6293][C2K]Sync C2K code to UMOLYA TRUNK
+ * Update C2K PS code (1/2)
+ * Revision 1.3 2004/09/28 15:34:49 chinh
+ * Merged changes from cbp6.0.
+ * Revision 1.2 2004/03/25 12:07:22 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.2 2003/08/28 11:33:30 bcolford
+ * Update for merge.
+ * Revision 1.3 2002/06/06 14:54:58 bsharma
+ * Updated Copyright info.
+ * Revision 1.2 2001/07/02 14:38:01 kmar
+ * Update SCC and SMS to CBP3 v360.
+ * Function prototype: mscGetProfile() in support for
+ * Alternative Service Options.
+ * Revision 1.1 2001/01/17 10:57:33 plabarbe
+ * Initial revision
+ * Revision 1.1 2000/10/24 14:11:53 fpeng
+ * Initial revision
+ * Revision 1.3 2000/08/24 00:11:34Z hhong
+ * To update to SCC ver. 2.7
+ * Revision 1.10 2000/03/06 19:22:01 bcassidy
+ * 1. Change mscIsBcastConfigured to mscIsBroadcastExpected.
+ * [SCR 183].
+ * 2. Add mscIsBroadcastConfigured.
+ * [SCR 181].
+ *
+ * Revision 1.9 2000/02/17 19:19:44 dfischer
+ * Added api to get state
+ *
+ * Revision 1.8 2000/02/15 17:41:16 ddoucett
+ * added sccSmsSetBroadcastParms and updated the RxInd callout
+ * removing the kal_bool broadcast parameter
+ *
+ * Revision 1.7 2000/02/01 23:21:14 ddoucett
+ * removed hard tabs
+ *
+ * Revision 1.6 1999/12/16 23:43:22 ddoucett
+ * added GetCurCfg
+ *
+ * Revision 1.5 1999/12/08 06:03:38 ddoucett
+ * Updated MSC, now uses the data burst controller for message passing
+ *
+ *
+ ************************************************************************/
+
+#ifndef _SCC_MSC_H
+#define _SCC_MSC_H 1
+
+#include "SCC_TR.H"
+#include "SCC_DATA.H"
+#include "SCC_TUNE.H"
+#include "SCC_PFL.H"
+#include "SCC_API.H"
+#include "SCC_BIOS.H"
+#include "SCC_DBC.H"
+
+
+/***************************************************************************
+ *
+ * Function Name: mscInit
+ *
+ * Description: Initialize all static data
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void mscInit(void);
+
+
+/***************************************************************************
+ *
+ * Function Name: mscGetCurCfg
+ *
+ * Description: Returns the Current configuration within MSC
+ *
+ * Parameters: None
+ *
+ * Returns: ServiceConfiguration*: pointer to the Current
+ * configuration
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServiceConfiguration* mscGetCurCfg(void);
+
+/****************************************************************************
+ *
+ * Name: mscIsBroadcastConfigured
+ *
+ * Scope: public
+ *
+ * Description: Determines if any SMS broadcast messages are configuted.
+ *
+ * Parameters:
+ * void
+ *
+ * Returns:
+ * kal_bool
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+kal_bool mscIsBroadcastConfigured (void);
+
+/***************************************************************************
+ *
+ * Function Name: mscIsBroadcastExpected
+ *
+ * Description: Checks to see if the address parameter values
+ * are sufficient to allow the broadcast message to
+ * be delivered to the SMS engine
+ *
+ * Parameters: kal_uint8 addrLen: Length of addr data
+ * kal_uint8 *addr: Pointer to the addr data
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+kal_bool mscIsBroadcastExpected (kal_uint8 addrLen, kal_uint8* addr);
+
+/***************************************************************************
+ *
+ * Function Name: mscSaveSmsCbsInfo
+ *
+ * Description: save the CBS configuration
+ *
+ * Parameters: PswSmsCbsInfoT* Msg, pointer to PswSmsCbsInfoT
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void mscSaveSmsCbsInfo (PswSmsCbsInfoT* Msg);
+
+/*
+ * Message Delivery Functions
+ */
+/***************************************************************************
+ *
+ * Function Name: mscDbcDataBurstInd
+ *
+ * Description: Indication of an SMS Data Burst Message
+ *
+ * Parameters:
+ * kal_uint8 *data: Pointer to the message
+ * kal_uint8 length: Length of the message
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void mscDbcDataBurstInd(kal_uint8 *data, kal_uint8 length);
+
+/***************************************************************************
+ *
+ * Function Name: mscDbcDeliverBCastMsg
+ *
+ * Description: Indication of an SMS Broadcast Data Burst Message
+ *
+ * Parameters: kal_uint8 addrLen: Length of the BC_ADDR field
+ * kal_uint8 *addr: Pointer to the BC_ADDR field
+ * kal_uint8 *data: Pointer to the message
+ * kal_uint8 length: Length of the message
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void mscDbcDeliverBCastMsg(kal_uint8 addrLen, kal_uint8 *addr,
+ kal_uint8 length, kal_uint8 *data);
+
+/***************************************************************************
+ *
+ * Function Name: mscDbcTxRsp
+ *
+ * Description: Indication if the last sent SMS message was sucessfully
+ * delivered to the BS/MSC
+ *
+ * Parameters: kal_bool success: Indication of success
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void mscDbcTxRsp(kal_bool success, kal_bool resend);
+
+
+/*
+ * Service Negotiation Functions
+ */
+
+/***************************************************************************
+ *
+ * Function Name: mscNegGetServCfgNoConnections
+ *
+ * Description: Returns the Preferred Service Configuration given
+ * a valid service option number
+ *
+ * Parameters: ServiceOption: Valid Service Option
+ *
+ * Returns: ServiceConfiguration *: Pointer to a valid
+ * ServiceConfiguration.
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServiceConfiguration* mscNegGetServCfgNoConnections(SysServiceOptionT so);
+
+/***************************************************************************
+ *
+ * Function Name: mscGetPrefServCfg
+ *
+ * Description: Get preferred Service Configuration
+ *
+ * Parameters: None
+ *
+ * Returns: The preferred Service Configuration
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServiceConfiguration* mscGetPrefServCfg(void);
+
+/***************************************************************************
+ *
+ * Function Name: mscNegServiceConfigurationInitiation
+ *
+ * Description: Indication to SCC to begin the process of service
+ * configuration negotiation
+ *
+ * Parameters: kal_uint8 rs: Requested rate set of returned config
+ *
+ * Returns: ServiceConfiguration *: Pointer to a valid service
+ * configuration
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServiceConfiguration* mscNegServiceConfigurationInitiation(kal_uint8 rs);
+
+
+/***************************************************************************
+ *
+ * Function Name: mscNegServiceConfigurationValidation
+ *
+ * Description: Validate the given service configuration and
+ * propose an alternate if the given configuration
+ * is not supported and val is KAL_FALSE
+ *
+ * Parameters: ServiceConfiguration *sc: Input -- pointer to a service
+ * configuration
+ * Output -- alternate
+ * configuration
+ * kal_bool val: Validate Only Flag, if it is KAL_TRUE
+ * this routine will not propose an alternate
+ * configuration if the given configuration is
+ * not supported
+ *
+ * Returns: SCResponse: Either 'SC_Accept' 'SC_Reject' or
+ * 'SC_Alternate'
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+SCResponse mscNegServiceConfigurationValidation(kal_bool val,
+ ServiceConfiguration *sc);
+
+/***************************************************************************
+ *
+ * Function Name: mscNegServiceOptionValidation
+ *
+ * Description: Validate service option and propose alternate if
+ * it is not supported
+ *
+ * Parameters: ServiceOption *so: Input: Pointer to service option number
+ * to be validated
+ * Output: Alternative Service Option
+ * kal_bool paged: Indicates if this is because of a page
+ *
+ * Returns: SCResponse: Either 'SC_Accept' 'SC_Reject' or
+ * 'SC_Alternate'
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+SCResponse mscNegServiceOptionValidation(SysServiceOptionT *so, kal_bool paged);
+
+
+/****************************************************************************
+ *
+ * Name: mscGetProfile
+ *
+ * Scope: public
+ *
+ * Description: Retrieves the address of the static structure _Profiles.
+ *
+ * Parameters: (none)
+ *
+ * Returns: ServCfgParms * - pointer to _Profiles
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServCfgParms *mscGetProfile(void);
+
+/****************************************************************************
+ *
+ * Name: cpcSMSALiveTimerExpired()
+ *
+ * Description: Handler of SMS alive timer
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void mscSMSALiveTimerExpired(void);
+
+/****************************************************************************
+ *
+ * Name: mscSMSALiveTimerStart()
+ *
+ * Description: Start SMS alive timer
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void mscSMSALiveTimerStart(void);
+
+/****************************************************************************
+ *
+ * Name: mscSMSALiveTimerStop()
+ *
+ * Description: Start SMS alive timer
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ *****************************************************************************/
+void mscSMSALiveTimerStop(void);
+
+/***************************************************************************
+ *
+ * Function Name: xxxGetState
+ *
+ * Description:
+ *
+ * Parameters:
+ *
+ * Returns: state
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+#ifdef TEST
+kal_uint8 mscGetState(void);
+#endif
+
+void mscCpcInit( void );
+#ifdef __SENSITIVE_DATA_MOSAIC__
+void sccMscSensitiveClean(void);
+#endif
+#endif
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/SCC_NEG.H b/mcu/interface/protocol/as_c2k/1xrtt/SCC_NEG.H
new file mode 100644
index 0000000..38b917c
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/SCC_NEG.H
@@ -0,0 +1,323 @@
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*************************************************************************
+ *
+ * File Name: scc_neg.c
+ * Project: SCC
+ * Original Author: Dan Doucette
+ * Creation Date: Oct 27, 1999
+ *
+ * Description: Declaration of Negotiator procedures
+ *
+ * Restrictions:
+ *
+ * Dependencies:
+ *
+ *************************************************************************
+ *
+ * This Software is the property of ISOTEL Corporation. Unauthorized
+ * use is prohibited.
+ *
+ * ISOTEL Corporation
+ * 340, 525-28 Street S.E.
+ * Calgary, Alberta, Canada T2A 6W9
+ * Tel: (403)275-0041 Fax: (403)274-3598
+ *
+ *
+ *
+
+ * All rights reserved.
+ *
+ *************************************************************************
+ *
+ * RCS Log Information
+ *
+ * $Revision: 1.2 $
+ *
+ * $Log: SCC_NEG.H $
+ *
+ * 07 04 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * ::KAL type - L3, folder ps
+ * Revision 1.2 2004/03/25 12:07:23 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:39:34 fpeng
+ * Initial revision
+ * Revision 1.6 2002/06/06 14:55:08 bsharma
+ * Updated Copyright info.
+ * Revision 1.5 2002/02/27 20:55:32 mclee
+ * SO 35/36 service Negotiation added
+ * Revision 1.4 2002/02/14 16:31:08 byang
+ * CR373: Add function prototype declaration for
+ * sccFindServOptionAttribute().
+ *
+ * Revision 1.3 2001/10/23 16:06:35 byang
+ * Added forward and reverse RC attribute to ServiceOptionAttributes
+ * data structure.
+ * Revision 1.2 2001/08/30 15:23:20 byang
+ * Added function prototype declaration for
+ * sccServConfigPRev6PlusValidation().
+ * Revision 1.1 2001/01/17 10:57:34 plabarbe
+ * Initial revision
+ * Revision 1.1 2000/10/24 14:11:53 fpeng
+ * Initial revision
+ * Revision 1.3 2000/08/24 00:11:32Z hhong
+ * To update to SCC ver. 2.7
+ * Revision 1.14 2000/03/11 00:48:34 bcassidy
+ * 1. Add negCpTcAssigned.
+ *
+ * Revision 1.13 2000/02/17 19:19:44 dfischer
+ * Added api to get state
+ *
+ * Revision 1.12 2000/02/01 23:21:14 ddoucett
+ * removed hard tabs
+ *
+ * Revision 1.11 1999/12/11 23:36:53 ddoucett
+ * fixed ServiceType variables from kal_uint8
+ *
+ * Revision 1.10 1999/12/10 22:42:27 ddoucett
+ * added negCpcSetCurType signal to set current type on an origination
+ *
+ * Revision 1.9 1999/12/08 06:03:38 ddoucett
+ * Redesign of negotiation procedures
+ *
+ *
+ ************************************************************************/
+
+#ifndef _SCC_NEG_H
+#define _SCC_NEG_H 1
+
+#include "SCC_TR.H"
+#include "SCC_DATA.H"
+#include "SCC_TUNE.H"
+#include "SCC_PFL.H"
+#include "SCC_API.H"
+#include "SCC_BIOS.H"
+#include "SCC_CPC.H"
+#include "SCC_PSC.H"
+#include "SCC_LSC.H"
+#include "SCC_MSC.H"
+#include "SCC_DSC.H"
+#include "SCC_VSC.H"
+#include "SCC_OSC.H"
+#include "SCC_CSC.H"
+
+
+
+/*****************************************************************************
+ * Definitions
+ ****************************************************************************/
+
+/* constants for Service Option Attributes */
+#define CP_MAX_MUX_OPTIONS 3
+#define CP_MAX_TRANS_RATES 4
+#define CP_MAX_TRAFFIC_TYPES 2
+#define CP_MAX_SCH_FOR_MUX_OPTIONS 17
+#define CP_MAX_SCH_REV_MUX_OPTIONS 17
+
+/*****************************************************************************
+ * Enumeration Definitions
+ ****************************************************************************/
+
+
+/*****************************************************************************
+ * Structure Definitions
+ ****************************************************************************/
+
+typedef struct
+{
+ kal_uint16 serviceOption;
+ MultiplexOption forMuxOption[ CP_MAX_MUX_OPTIONS ];
+ MultiplexOption revMuxOption[ CP_MAX_MUX_OPTIONS ];
+ TransmissionRates forFchTransRates;
+ TransmissionRates revFchTransRates;
+ TransmissionRates forDcchTransRates;
+ TransmissionRates revDcchTransRates;
+ TrafficType forTrafficTypes[ CP_MAX_TRAFFIC_TYPES ];
+ TrafficType revTrafficTypes[ CP_MAX_TRAFFIC_TYPES ];
+ ForRcType forFchRcTypes;
+ RevRcType revFchRcTypes;
+ ForRcType forDcchRcTypes;
+ RevRcType revDcchRcTypes;
+ ForRcType forSchRcTypes;
+ RevRcType revSchRcTypes;
+ ForSchMuxOptions forSchMuxOption;
+ RevSchMuxOptions revSchMuxOption;
+
+} ServiceOptionAttributes;
+
+
+/***************************************************************************
+ *
+ * Function Name: negInit
+ *
+ * Description: Initialize all static data
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void negInit(void);
+
+/***************************************************************************
+ *
+ * Function Name: negGetCurCfg
+ *
+ * Description: Request to get the current configuration from the given
+ * service type
+ *
+ * Parameters: kal_uint8 svcType: Service type
+ *
+ * Returns: ServiceConfiguration *cfg : Pointer to the configuration
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServiceConfiguration* negGetCurCfg(kal_uint8 svcType);
+
+/***************************************************************************
+ *
+ * Function Name: negCpcAddReq
+ *
+ * Description: Request to add the given service type to the
+ * current configuration
+ *
+ * Parameters: kal_uint8 type: Service Type to add
+ * kal_uint16 svcOpt: Service option of service to add
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void negCpcAddReq(kal_uint8 type, kal_uint16 svcOpt);
+
+/***************************************************************************
+ *
+ * Function Name: negCpcRemoveReq
+ *
+ * Description: Request to remove the given connection number from the
+ * current configuration
+ *
+ * Parameters: kal_uint8 cn: Service Configuration connection number
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void negCpcRemoveReq(kal_uint8 cn);
+
+/***************************************************************************
+ *
+ * Function Name: negCpcSwitchReq
+ *
+ * Description: Request to change one service connection with the service
+ * option given
+ *
+ * Parameters: kal_uint8 svcType: Service type of new connection
+ * kal_uint16 svcOpt: Service Option
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void negCpcSwitchReq(kal_uint8 svcType, kal_uint16 svcOpt);
+
+/***************************************************************************
+ *
+ * Function Name: negCpcSetCurType
+ *
+ * Description: Allows CPC to set the current service type of an
+ * originated call
+ *
+ * Parameters: kal_uint8 type: Type of call being originated
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void negCpcSetCurType(SysServiceTypeT type);
+
+
+/****************************************************************************
+ *
+ * Name: negCpTcAssigned
+ *
+ * Scope: public
+ *
+ * Description: Indication that a CDMA Traffic Channel has been assigned.
+ *
+ * Parameters:
+ * void
+ *
+ * Returns:
+ * void
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void negCpTcAssigned (void);
+
+
+/****************************************************************************
+ *
+ * Name: sccServConfigPRev6PlusValidation
+ *
+ * Scope: public
+ *
+ * Description:
+ *
+ * Parameters:
+ * void
+ *
+ * Returns:
+ * void
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+SCResponse sccServConfigPRev6PlusValidation
+(
+ const kal_bool validateOnly,
+ ServiceConfiguration* pServCfg
+);
+
+
+/****************************************************************************
+ *
+ * Name: sccFindServOptionAttribute()
+ *
+ * Description: This function finds attempt to find a Service Option
+ * attribute for the request Service Option.
+ *
+ * Parameters: kal_uint16 - Service Option requested
+ *
+ * Returns:
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+const ServiceOptionAttributes* sccFindServOptionAttribute
+(
+ const kal_uint16 servOption
+);
+
+#ifdef TEST
+kal_uint8 negGetState(void);
+#endif
+
+
+#endif
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/SCC_OSC.H b/mcu/interface/protocol/as_c2k/1xrtt/SCC_OSC.H
new file mode 100644
index 0000000..88109b2
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/SCC_OSC.H
@@ -0,0 +1,407 @@
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*************************************************************************
+ *
+ * File Name: scc_osc.h
+ * Project: SCC
+ * Original Author: Dan Doucette
+ * Creation Date: Nov. 24, 1999
+ *
+ * Description: Declaration of functions used for OTASP services
+ *
+ * Restrictions:
+ *
+ * Dependencies:
+ *
+ *************************************************************************
+ *
+ * This Software is the property of ISOTEL Corporation. Unauthorized
+ * use is prohibited.
+ *
+ * ISOTEL Corporation
+ * 340, 525-28 Street S.E.
+ * Calgary, Alberta, Canada T2A 6W9
+ * Tel: (403)275-0041 Fax: (403)274-3598
+ *
+ *
+ *
+
+ * All rights reserved.
+ *
+ *************************************************************************
+ *
+ * RCS Log Information
+ *
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ *
+ ************************************************************************/
+
+#ifndef _SCC_OSC_H
+#define _SCC_OSC_H 1
+
+/*
+ * Dependencies
+ */
+
+#include <string.h>
+#include "SCC_TR.H"
+#include "SCC_DATA.H"
+#include "SCC_TUNE.H"
+#include "SCC_PFL.H"
+#include "SCC_API.H"
+#include "SCC_BIOS.H"
+#include "SCC_CPC.H"
+#include "SCC_DBC.H"
+
+
+
+/***************************************************************************
+ *
+ * Function Name: oscInit
+ *
+ * Description: Initialize static data within the OSC
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void oscInit(void);
+
+/***************************************************************************
+ *
+ * Function Name: oscGetCurCfg
+ *
+ * Description: Returns the Current configuration within OSC
+ *
+ * Parameters: None
+ *
+ * Returns: ServiceConfiguration*: pointer to the Current
+ * configuration
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServiceConfiguration* oscGetCurCfg(void);
+
+
+
+/*
+ * Message Delivery Functions
+ */
+
+/***************************************************************************
+ *
+ * Function Name: oscDbcConnectInd
+ *
+ * Description: Indication the OTASP service has been connected
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void oscDbcConnectInd(void);
+
+/***************************************************************************
+ *
+ * Function Name: oscDbcDataBurstInd
+ *
+ * Description: Indication of an OTASP Data Burst Message
+ *
+ * Parameters: kal_bool broadcast: Indicates if the message was a broadcast
+ * kal_uint8 *data: Pointer to the message
+ * kal_uint8 length: Length of the message
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void oscDbcDataBurstInd(kal_uint8 *data, kal_uint8 length);
+
+/***************************************************************************
+ *
+ * Function Name: oscDbcDisconnectInd
+ *
+ * Description: Indication the OTASP service has been disconnected
+ *
+ * Parameters: kal_uint8 reason: Reason for disconnection
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void oscDbcDisconnectInd(kal_uint8 reason);
+
+/***************************************************************************
+ *
+ * Function Name: oscDbcTxRsp
+ *
+ * Description: Indication if the last sent OTASP message was sucessfully
+ * delivered to the BS/MSC
+ *
+ * Parameters: kal_bool success: Indication of success
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void oscDbcTxRsp(kal_bool success);
+
+/*
+ * Interface from CPC
+ */
+
+/***************************************************************************
+ *
+ * Function Name: oscCpcOrigInd
+ *
+ * Description: Indication the user has requested an OTASP origination
+ *
+ * Parameters: kal_uint8* digits: Null terminated ascii digits
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void oscCpcOrigInd(kal_uint8* digits, kal_uint8 numDigits);
+
+
+/*
+ * Service Negotiation Functions
+ */
+
+/***************************************************************************
+ *
+ * Function Name: oscNegGetServCfgNoConnections
+ *
+ * Description: Returns the Preferred Service Configuration given
+ * a valid service option number
+ *
+ * Parameters: ServiceOption: Valid Service Option
+ *
+ * Returns: ServiceConfiguration *: Pointer to a valid
+ * ServiceConfiguration.
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServiceConfiguration* oscNegGetServCfgNoConnections(SysServiceOptionT so);
+
+/***************************************************************************
+ *
+ * Function Name: oscNegServiceConfigurationInd
+ *
+ * Description: Indication to SCC to begin using the given service
+ * configuration
+ *
+ * Parameters: ServiceConfiguration *: Pointer to a valid service
+ * configuration
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void oscNegServiceConfigurationInd(ServiceConfiguration *cfg);
+
+/***************************************************************************
+ *
+ * Function Name: oscGetPrefServCfg
+ *
+ * Description: Get preferred Service Configuration
+ *
+ * Parameters: None
+ *
+ * Returns: The preferred Service Configuration
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServiceConfiguration* oscGetPrefServCfg(void);
+
+
+/***************************************************************************
+ *
+ * Function Name: oscNegServiceConfigurationInitiation
+ *
+ * Description: Indication to SCC to begin the process of service
+ * configuration negotiation
+ *
+ * Parameters: kal_uint8 rs: Specific Rate set to return
+ *
+ * Returns: ServiceConfiguration *: Pointer to a valid service
+ * configuration
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServiceConfiguration* oscNegServiceConfigurationInitiation(kal_uint8 rs);
+
+/***************************************************************************
+ *
+ * Function Name: oscNegServiceConfigurationRsp
+ *
+ * Description: Response from BS regarding previous service
+ * configuration/option requests
+ *
+ * Parameters: kal_uint8 resp: Response code, see API document
+ * kal_uint8 req: Initial Request
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void oscNegServiceConfigurationRsp(kal_uint8 resp, kal_uint8 req);
+
+/***************************************************************************
+ *
+ * Function Name: oscNegServiceConfigurationValidation
+ *
+ * Description: Validate the given service configuration and
+ * propose an alternate if the given configuration
+ * is not supported and val is KAL_FALSE
+ *
+ * Parameters: ServiceConfiguration *sc: Input -- pointer to a service
+ * configuration
+ * Output -- alternate
+ * configuration
+ * kal_bool val: Validate Only Flag, if it is KAL_TRUE
+ * this routine will not propose an alternate
+ * configuration if the given configuration is
+ * not supported
+ *
+ * Returns: SCResponse: Either 'SC_Accept' 'SC_Reject' or
+ * 'SC_Alternate'
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+SCResponse oscNegServiceConfigurationValidation(kal_bool valOnly,
+ ServiceConfiguration *cfg);
+
+/***************************************************************************
+ *
+ * Function Name: oscNegServiceOptionValidation
+ *
+ * Description: Validate service option and propose alternate if
+ * it is not supported
+ *
+ * Parameters: ServiceOption *so: Input: Pointer to service option number
+ * to be validated
+ * Output: Alternative Service Option
+ * kal_bool paged: Indicates if this call is a result of a page
+ *
+ * Returns: SCResponse: Either 'SC_Accept' 'SC_Reject' or
+ * 'SC_Alternate'
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+SCResponse oscNegServiceOptionValidation(SysServiceOptionT *so, kal_bool paged);
+
+
+/****************************************************************************
+ *
+ * Name: oscGetProfile
+ *
+ * Scope: public
+ *
+ * Description: Retrieves the address of the static structure _Profiles.
+ *
+ * Parameters: (none)
+ *
+ * Returns: ServCfgParms * - pointer to _Profiles
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServCfgParms *oscGetProfile(void);
+
+
+/***************************************************************************
+ *
+ * Function Name: xxxGetState
+ *
+ * Description:
+ *
+ * Parameters:
+ *
+ * Returns: state
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+#ifdef TEST
+kal_uint8 oscGetState(void);
+#endif
+void oscCpcInit( void );
+#ifdef __SENSITIVE_DATA_MOSAIC__
+void sccOscSensitiveClean(void);
+#endif
+
+#endif
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/SCC_PFL.H b/mcu/interface/protocol/as_c2k/1xrtt/SCC_PFL.H
new file mode 100644
index 0000000..5f3bf11
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/SCC_PFL.H
@@ -0,0 +1,2618 @@
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*************************************************************************
+ *
+ * File Name: scc_pfl.h
+ * Project: SCC
+ * Original Author: Dan Doucette
+ * Creation Date: Oct. 26, 1999
+ *
+ * Description: Definition of Parameter Lists for SCC configuration
+ *
+ * Restrictions:
+ *
+ * Dependencies:
+ *
+ *************************************************************************
+ *
+ * This Software is the property of ISOTEL Corporation. Unauthorized
+ * use is prohibited.
+ *
+ * ISOTEL Corporation
+ * 340, 525-28 Street S.E.
+ * Calgary, Alberta, Canada T2A 6W9
+ * Tel: (403)275-0041 Fax: (403)274-3598
+ *
+ *
+ *
+
+ * All rights reserved.
+ *
+ *************************************************************************
+ *
+ * RCS Log Information
+ *
+ * $Revision: 1.6 $
+ *
+ * $Log: SCC_PFL.H $
+ *
+ * 07 04 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * ::KAL type - L3, folder ps
+ *
+ * 12 01 2016 sue.zhong
+ * [MOLY00213777] [6293][C2K]Sync C2K code to UMOLYA TRUNK(W1648)
+ * Update C2K source
+ * Revision 1.6 2005/03/18 13:53:45 blee
+ * 4.05 Merge
+ * Revision 1.5 2004/10/07 12:41:01 blee
+ * Added params to RLP blob
+ * Revision 1.4 2004/09/28 15:35:47 chinh
+ * Merged changes from cbp6.0.
+ * Revision 1.3 2004/04/23 10:51:53 asharma
+ * CBP6.1 (Phase-1) DV Data and Voice Call Setup changes.
+ * Revision 1.2.1.3 2004/04/21 15:41:58 asharma
+ * Revision 1.2.1.2 2004/04/19 16:27:00 asharma
+ * Revision 1.2.1.1 2004/03/25 12:07:24 asharma
+ * Duplicate revision
+ * Revision 1.2 2004/03/25 12:07:24 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:39:35 fpeng
+ * Initial revision
+ * Revision 1.16 2003/04/01 09:53:38 byang
+ * Modified all profiles that uses SCH to default to MUX_OPTION921.
+ * Revision 1.15 2003/03/12 16:23:12 byang
+ * CR #1763: Added profile for SO32858 and SO32859.
+ * Revision 1.14 2003/02/21 10:40:33 dstecker
+ * Corrected alternative service options for lsc
+ * Revision 1.13 2002/10/09 14:00:22 byang
+ * CR #1367 Corrected all RLP BLOB record information.
+ * Revision 1.12 2002/06/06 14:55:28 bsharma
+ * Updated Copyright info.
+ * Revision 1.11 2002/02/27 20:55:48 mclee
+ * SO35/36 profiles added
+ * Revision 1.10 2002/02/06 11:59:05 mclee
+ * Add Async and Fax profiles and counts
+ * Revision 1.9 2001/11/13 18:04:11 byang
+ * Updated all default SC with more strict data types.
+ * Revision 1.8 2001/10/29 09:05:44 mclee
+ * Changed ENABLED to SO_ENABLED and changed INIT_VAR from 1 to KAL_TRUE
+ * Revision 1.7 2001/10/23 16:07:18 byang
+ * Updated all service configuration to IS2000 format.
+ * Revision 1.6 2001/08/30 15:10:15 byang
+ * Added default Service Configuration for SO33.
+ * Revision 1.4 2001/08/06 13:38:39 akayvan
+ * Updated per so_54 addition.
+ * Revision 1.3 2001/07/02 14:46:24 kmar
+ * Update SCC and SMS to CBP3 v360.
+ * Changes up to v1.4 of CBP3.
+ * Revision 1.2 2001/05/25 11:47:35 yfang
+ * supported SO4 data call
+ * Revision 1.1 2001/01/17 10:57:36 plabarbe
+ * Initial revision
+ * Revision 1.1 2000/10/24 14:11:54 fpeng
+ * Initial revision
+ * Revision 1.2 2000/08/24 00:11:29Z hhong
+ * To update to SCC ver. 2.7
+ * Revision 1.9 2000/03/14 00:42:16 dfischer
+ * Changed hex 41xx to dec 41xx
+ *
+ * Revision 1.8 2000/02/07 17:19:47 ddoucett
+ * removed hard tabs
+ *
+ * Revision 1.7 2000/01/10 20:34:36 ddoucett
+ * fixed VSC_SO_COUNT adding SO_ANALOG
+ *
+ * Revision 1.6 2000/01/10 17:41:28 ddoucett
+ * added VSC analog voice profile
+ *
+ * Revision 1.5 1999/12/16 18:14:19 ddoucett
+ * fixed arm compiler warnings
+ *
+ * Revision 1.4 1999/12/16 01:35:53 ddoucett
+ * removed HP_DATA_TEST compile define
+ *
+ * Revision 1.3 1999/12/09 19:20:12 ddoucett
+ * updated for HP_DATA_TEST flag
+ *
+ * Revision 1.2 1999/12/08 19:27:06 ddoucett
+ * *** empty log message ***
+ *
+ * Revision 1.1 1999/12/08 06:03:38 ddoucett
+ * Initial revision
+ *
+ *
+ ************************************************************************/
+
+#ifndef _SCC_PFL_H
+#define _SCC_PFL_H
+
+/*
+ * Dependencies
+ */
+#include "SCC_TUNE.H"
+
+/*
+ * Mux Option Macros
+ */
+#define MAX_SUPP_CHANNELS \
+ MAX(MAX_FOR_SUPP_CHANNELS,MAX_REV_SUPP_CHANNELS)
+
+#define MUX_OPTION_COUNT (2+(2*MAX_SUPP_CHANNELS))
+
+#define RS1_RATES_ALL (RS1_9600|RS1_4800|RS1_2400|RS1_1200)
+#define RS2_RATES_ALL (RS2_14400|RS2_7200|RS2_3600|RS2_1800)
+
+#define MUX1 (MultiplexOption)1
+#define MUX2 (MultiplexOption)2
+#define MUX3 (MultiplexOption)3
+#define MUX4 (MultiplexOption)4
+#define MUX5 (MultiplexOption)5
+#define MUX6 (MultiplexOption)6
+#define MUX7 (MultiplexOption)7
+#define MUX8 (MultiplexOption)8
+#define MUX9 (MultiplexOption)9
+#define MUX10 (MultiplexOption)10
+#define MUX11 (MultiplexOption)11
+#define MUX12 (MultiplexOption)12
+#define MUX13 (MultiplexOption)13
+#define MUX14 (MultiplexOption)14
+#define MUX15 (MultiplexOption)15
+#define MUX16 (MultiplexOption)16
+
+#define MAX_RS1_FOR_MUX_OPT (MultiplexOption)(1+(2*MAX_SUPP_CHANNELS))
+#define MAX_RS1_REV_MUX_OPT (MultiplexOption)1
+#define MAX_RS2_FOR_MUX_OPT (MultiplexOption)MUX_OPTION_COUNT
+#define MAX_RS2_REV_MUX_OPT (MultiplexOption)1
+
+#define PRIMARY_CHANNEL (TrafficType)1
+#define SECONDARY_CHANNEL (TrafficType)2
+
+
+/*
+ * Voice Service Controller Configurations
+ */
+
+#define VSC_SO_COUNT (SO_01+SO_03+SO_17+SO_8000+SO_68+SO_73+SO_32944)
+
+#if (VSC_SO_COUNT > 0)
+ #define VSC_ENABLED
+#else
+ #error "At least one VOICE Service option must be enabled!"
+#endif
+
+#if (SO_01 == SO_ENABLED)
+ /* QSELP MUX1 */
+ #define SO01_NEG_MODE NEG_BOTH
+ #define SO01_INFO { 1, KAL_TRUE, KAL_TRUE, SO01_NEG_MODE},
+ #define VSC_01 \
+ { SO01_NEG_MODE, \
+ { MUX1, MUX1, RS1_RATES_ALL, RS1_RATES_ALL, 1, \
+ {{ 0, /* CON_REF */ \
+ 1, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_FALSE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_3, /* FOR_FCH_RC */ \
+ RC_3, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_3, /* FOR_DCCH_RC */ \
+ RC_3, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION3, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION3, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}} /* CODING */ \
+ },
+#else
+ #define SO01_INFO
+ #define VSC_01
+#endif
+#if (SO_03 == SO_ENABLED)
+ /* EVRC MUX 1 */
+ #define SO03_NEG_MODE NEG_BOTH
+ #define SO03_INFO { 3, KAL_TRUE, KAL_TRUE, SO03_NEG_MODE},
+ #define VSC_03 \
+ { SO03_NEG_MODE, \
+ { MUX1, MUX1, RS1_RATES_ALL, RS1_RATES_ALL, 1, \
+ {{ 0, /* CON_REF */ \
+ 3, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_FALSE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_3, /* FOR_FCH_RC */ \
+ RC_3, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_3, /* FOR_DCCH_RC */ \
+ RC_3, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION3, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION3, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}}/* CODING */ \
+ },
+#else
+ #define SO03_INFO
+ #define VSC_03
+#endif
+#if (SO_17 == SO_ENABLED)
+ /* QSELP MUX 2 */
+ #define SO17_NEG_MODE NEG_BOTH
+ #define SO17_INFO { 17, KAL_TRUE, KAL_TRUE, SO17_NEG_MODE},
+ #define VSC_17 \
+ { SO17_NEG_MODE, \
+ { MUX2, MUX2, RS2_RATES_ALL, RS2_RATES_ALL, 1, \
+ {{ 0, /* CON_REF */ \
+ 17, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_FALSE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_5, /* FOR_FCH_RC */ \
+ RC_4, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_5, /* FOR_DCCH_RC */ \
+ RC_4, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION4, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_5, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION4, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_4, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}} /* CODING */ \
+ },
+#else
+ #define SO17_INFO
+ #define VSC_17
+#endif
+#if (SO_8000 == SO_ENABLED)
+ /* QSELP MUX 2 */
+ #define SO8000_NEG_MODE NEG_BOTH
+ #define SO8000_INFO { 0x8000, KAL_TRUE, KAL_TRUE, SO8000_NEG_MODE},
+ #define VSC_8000 \
+ { SO8000_NEG_MODE, \
+ { MUX2, MUX2, RS2_RATES_ALL, RS2_RATES_ALL, 1, \
+ {{ 0, /* CON_REF */ \
+ 0x8000, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_FALSE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_5, /* FOR_FCH_RC */ \
+ RC_4, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_5, /* FOR_DCCH_RC */ \
+ RC_4, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION4, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_5, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION4, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_4, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}} /* CODING */ \
+ },
+#else
+ #define SO8000_INFO
+ #define VSC_8000
+#endif
+
+#if (SO_68 == SO_ENABLED)
+ /* EVRC B MUX 1 */
+ #define SO68_NEG_MODE NEG_BOTH
+ #define SO68_INFO { 68, KAL_TRUE, KAL_TRUE, SO68_NEG_MODE},
+ #define VSC_68 \
+ { SO68_NEG_MODE, \
+ { MUX1, MUX1, RS1_RATES_ALL, RS1_RATES_ALL, 1, \
+ {{ 0, /* CON_REF */ \
+ 68, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_FALSE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_3, /* FOR_FCH_RC */ \
+ RC_3, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_3, /* FOR_DCCH_RC */ \
+ RC_3, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION3, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION3, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}}/* CODING */ \
+ },
+#else
+ #define SO68_INFO
+ #define VSC_68
+#endif
+
+#if (SO_73 == SO_ENABLED)
+ /* EVRC NW MUX 1 */
+ #define SO73_NEG_MODE NEG_BOTH
+ #define SO73_INFO { 73, KAL_TRUE, KAL_TRUE, SO73_NEG_MODE},
+ #define VSC_73 \
+ { SO73_NEG_MODE, \
+ { MUX1, MUX1, RS1_RATES_ALL, RS1_RATES_ALL, 1, \
+ {{ 0, /* CON_REF */ \
+ 73, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_FALSE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_3, /* FOR_FCH_RC */ \
+ RC_3, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_3, /* FOR_DCCH_RC */ \
+ RC_3, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION3, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION3, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}}/* CODING */ \
+ },
+#else
+ #define SO73_INFO
+ #define VSC_73
+#endif
+
+#if (SO_32944 == SO_ENABLED)
+ /* EVRC MUX 1 */
+ #define SO32944_NEG_MODE NEG_BOTH
+ #define SO32944_INFO { 32944, KAL_TRUE, KAL_TRUE, SO32944_NEG_MODE},
+ #define VSC_32944 \
+ { SO32944_NEG_MODE, \
+ { MUX1, MUX1, RS1_RATES_ALL, RS1_RATES_ALL, 1, \
+ {{ 0, /* CON_REF */ \
+ 32944, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_FALSE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_3, /* FOR_FCH_RC */ \
+ RC_3, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_3, /* FOR_DCCH_RC */ \
+ RC_3, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION3, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION3, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}}/* CODING */ \
+ },
+#else
+ #define SO32944_INFO
+ #define VSC_32944
+#endif
+
+/* order the list from most preferred SO to least preferred SO */
+/* From C.S0099:
+ When P_REV_IN_USE is 6 the mobile station will include the following voice service
+ options in the ORM and PRM:
+ a) When MAX_NUM_ALT_SO advertized value is 0, SO will be set to 3.
+ b) When MAX_NUM_ALT_SO advertized value is 1, SO will be set to 3 and ALT_SO
+ will be set to SO 68.
+ c) When MAX_NUM_ALT_SO advertized value is 2, SO will be set to 3 and ALT_SO
+ will include SO 68 and SO 73.
+*/
+#define VSC_SO_CFG_LIST {VSC_68 VSC_73 VSC_03 VSC_17 VSC_8000 VSC_01 VSC_32944 }
+/*
+ * Packet Data Configurations
+ */
+#define PSC_SO_COUNT (SO_07+SO_4103+SO_15+SO_22+SO_23+SO_24+SO_25+SO_33+SO_805A+SO_805B)
+#if (PSC_SO_COUNT > 0)
+ #define PSC_ENABLED
+#endif
+
+#if (SO_07 == SO_ENABLED)
+ /* LSD IP MUX 1 */
+ #define SO07_NEG_MODE NEG_BOTH
+ #define SO07_INFO { 7, KAL_TRUE, KAL_TRUE, SO07_NEG_MODE},
+ #define PSC_07 \
+ { SO07_NEG_MODE, \
+ { MUX1, MUX1, RS1_RATES_ALL, RS1_RATES_ALL, 1, \
+ {{ 0, /* CON_REF */ \
+ 7, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_TRUE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_3, /* FOR_FCH_RC */ \
+ RC_3, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_3, /* FOR_DCCH_RC */ \
+ RC_3, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION3, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION3, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}} /* CODING */ \
+ },
+#else
+ #define SO07_INFO
+ #define PSC_07
+#endif
+#if (SO_4103 == SO_ENABLED)
+ /* LSD IP MUX 1 */
+ #define SO4103_NEG_MODE NEG_BOTH
+ #define SO4103_INFO { 4103, KAL_TRUE, KAL_TRUE, SO4103_NEG_MODE},
+ #define PSC_4103 \
+ { SO4103_NEG_MODE, \
+ { MUX1, MUX1, RS1_RATES_ALL, RS1_RATES_ALL, 1, \
+ {{ 0, /* CON_REF */ \
+ 4103, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_TRUE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_3, /* FOR_FCH_RC */ \
+ RC_3, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_3, /* FOR_DCCH_RC */ \
+ RC_3, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION3, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION3, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}}/* CODING */ \
+ },
+#else
+ #define SO4103_INFO
+ #define PSC_4103
+#endif
+#if (SO_15 == SO_ENABLED)
+ /* LSD IP MUX 2 */
+ #define SO15_NEG_MODE NEG_SN
+ #define SO15_INFO { 15, KAL_TRUE, KAL_TRUE, SO15_NEG_MODE},
+ #define PSC_15 \
+ { SO15_NEG_MODE, \
+ { MUX2, MUX2, RS2_RATES_ALL, RS2_RATES_ALL, 1, \
+ {{ 0, /* CON_REF */ \
+ 15, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_TRUE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_5, /* FOR_FCH_RC */ \
+ RC_4, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_5, /* FOR_DCCH_RC */ \
+ RC_4, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION4, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_5, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION4, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_4, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}} /* CODING */ \
+ },
+#else
+ #define SO15_INFO
+ #define PSC_15
+#endif
+#if (SO_22 == SO_ENABLED)
+ /* HSD IP RS 1 */
+ #define SO22_NEG_MODE NEG_SN
+ #define SO22_INFO { 22, KAL_TRUE, KAL_TRUE, SO22_NEG_MODE},
+ #define PSC_22 \
+ { SO22_NEG_MODE, \
+ { MAX_RS1_FOR_MUX_OPT, MAX_RS1_REV_MUX_OPT, \
+ RS1_RATES_ALL, RS1_RATES_ALL, \
+ 1, /* NUM_CON_REC */ \
+ {{ 0, /* CON_REF */ \
+ 22, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_TRUE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_3, /* FOR_FCH_RC */ \
+ RC_3, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_3, /* FOR_DCCH_RC */ \
+ RC_3, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION3, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION3, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}} /* CODING */ \
+ },
+#else
+ #define SO22_INFO
+ #define PSC_22
+#endif
+#if (SO_23 == SO_ENABLED)
+ /* HSD IP RS 1-2 SPLIT */
+ #define SO23_NEG_MODE NEG_SN
+ #define SO23_INFO { 23, KAL_TRUE, KAL_TRUE, SO23_NEG_MODE},
+ #define PSC_23 \
+ { SO23_NEG_MODE, \
+ { MAX_RS1_FOR_MUX_OPT, MAX_RS2_REV_MUX_OPT, \
+ RS1_RATES_ALL, RS2_RATES_ALL, \
+ 1, /* NUM_CON_REC */ \
+ {{ 0, /* CON_REF */ \
+ 23, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_TRUE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_3, /* FOR_FCH_RC */ \
+ RC_4, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_3, /* FOR_DCCH_RC */ \
+ RC_4, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION3, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION4, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_4, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}} /* CODING */ \
+ },
+#else
+ #define SO23_INFO
+ #define PSC_23
+#endif
+#if (SO_24 == SO_ENABLED)
+ /* HSD IP RS 2-1 SPLIT */
+ #define SO24_NEG_MODE NEG_SN
+ #define SO24_INFO { 24, KAL_TRUE, KAL_TRUE, SO24_NEG_MODE},
+ #define PSC_24 \
+ { SO24_NEG_MODE, \
+ { MAX_RS2_FOR_MUX_OPT, MAX_RS1_REV_MUX_OPT, \
+ RS2_RATES_ALL, RS1_RATES_ALL, \
+ 1, /* NUM_CON_REC */ \
+ {{ 0, /* CON_REF */ \
+ 24, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_TRUE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_5, /* FOR_FCH_RC */ \
+ RC_3, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_5, /* FOR_DCCH_RC */ \
+ RC_3, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION4, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_5, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION3, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}} /* CODING */ \
+ },
+#else
+ #define SO24_INFO
+ #define PSC_24
+#endif
+#if (SO_25 == SO_ENABLED)
+ /* HSD IP RS 2 */
+ #define SO25_NEG_MODE NEG_SN
+ #define SO25_INFO { 25, KAL_TRUE, KAL_TRUE, SO25_NEG_MODE},
+ #define PSC_25 \
+ { SO25_NEG_MODE, \
+ { MAX_RS2_FOR_MUX_OPT, MAX_RS2_REV_MUX_OPT, \
+ RS2_RATES_ALL, RS2_RATES_ALL, \
+ 1, /* NUM_CON_REC */ \
+ {{ 0, /* CON_REF */ \
+ 25, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_TRUE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_5, /* FOR_FCH_RC */ \
+ RC_4, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_5, /* FOR_DCCH_RC */ \
+ RC_4, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION4, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_5, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION4, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_4, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}} /* CODING */ \
+ },
+#else
+ #define SO25_INFO
+ #define PSC_25
+#endif
+
+#if (SO_33 == SO_ENABLED)
+ #define SO33_NEG_MODE NEG_SN
+ #define SO33_INFO { 33, KAL_TRUE, KAL_TRUE, SO33_NEG_MODE},
+ #define PSC_33 \
+ { SO33_NEG_MODE, \
+ { MUX1, MUX1, \
+ RS1_RATES_ALL, RS1_RATES_ALL, \
+ 1, /* NUM_CON_REC */ \
+ {{ 0, /* CON_REF */ \
+ 33, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_TRUE, /* RLP_INFO_INCL */ \
+ 7, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_REV */ \
+ 3, /* DELAY_DETECTION_WIN */ \
+ 8, /* REXMIT_TIMER */ \
+ }, \
+ KAL_FALSE, }}, /* QOS_INCL */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_3, /* FOR_FCH_RC */ \
+ RC_3, /* REV_FCH_RC */ \
+ KAL_TRUE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_3, /* FOR_DCCH_RC */ \
+ RC_3, /* REV_DCCH_RC */ \
+ KAL_TRUE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION921, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, /* CODING */ \
+ 0, /* frame40Used */ \
+ 0, /* frame80Used */ \
+ 4, }}}, /* maxRate */ \
+ KAL_TRUE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION921, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, /* CODING */ \
+ 0, /* frame40Used */ \
+ 0, /* frame80Used */ \
+ 4, }}}, /* maxRate */ \
+ 0, /* fchDcchMuxOptionInd */ \
+ 0, /* forDcchMuxOption */ \
+ 0, /* revDcchMuxOption */ \
+ KAL_TRUE, /* forPdchCcIncl */ \
+ MUX_OPTIONF00, /* F-PDCH Mux Option */ \
+ RC_10, } /* F-PDCH RC */ \
+ },
+#else
+ #define SO33_INFO
+ #define PSC_33
+#endif
+
+#if (SO_805A == SO_ENABLED)
+ #define SO805A_NEG_MODE NEG_SN
+ #define SO805A_INFO { 0x805A, KAL_TRUE, KAL_TRUE, SO805A_NEG_MODE},
+ #define PSC_805A \
+ { SO805A_NEG_MODE, \
+ { MUX1, MUX1, \
+ RS1_RATES_ALL, RS1_RATES_ALL, \
+ 1, /* NUM_CON_REC */ \
+ {{ 0, /* CON_REF */ \
+ 32858, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_TRUE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} },/* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_3, /* FOR_FCH_RC */ \
+ RC_3, /* REV_FCH_RC */ \
+ KAL_TRUE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_3, /* FOR_DCCH_RC */ \
+ RC_3, /* REV_DCCH_RC */ \
+ KAL_TRUE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION921, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, /* CODING */ \
+ 0, /* frame40Used */ \
+ 0, /* frame80Used */ \
+ 4, }}}, /* maxRate */ \
+ KAL_TRUE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION921, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, /* CODING */ \
+ 0, /* frame40Used */ \
+ 0, /* frame80Used */ \
+ 4, }}}} /* maxRate */ \
+ },
+#else
+ #define SO805A_INFO
+ #define PSC_805A
+#endif
+
+#if (SO_805B == SO_ENABLED)
+ #define SO805B_NEG_MODE NEG_SN
+ #define SO805B_INFO { 0x805B, KAL_TRUE, KAL_TRUE, SO805B_NEG_MODE},
+ #define PSC_805B \
+ { SO805B_NEG_MODE, \
+ { MUX1, MUX1, \
+ RS1_RATES_ALL, RS1_RATES_ALL, \
+ 1, /* NUM_CON_REC */ \
+ {{ 0, /* CON_REF */ \
+ 32859, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_TRUE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} },/* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_3, /* FOR_FCH_RC */ \
+ RC_3, /* REV_FCH_RC */ \
+ KAL_TRUE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_3, /* FOR_DCCH_RC */ \
+ RC_3, /* REV_DCCH_RC */ \
+ KAL_TRUE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION921, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, /* CODING */ \
+ 0, /* frame40Used */ \
+ 0, /* frame80Used */ \
+ 4, }}}, /* maxRate */ \
+ KAL_TRUE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION921, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, /* CODING */ \
+ 0, /* frame40Used */ \
+ 0, /* frame80Used */ \
+ 4, }}}} /* maxRate */ \
+ },
+#else
+ #define SO805B_INFO
+ #define PSC_805B
+#endif
+
+
+#define PSC_SO_CFG_LIST { PSC_33 PSC_25 PSC_24 PSC_23 PSC_22 PSC_15 PSC_4103 \
+ PSC_07 PSC_805A PSC_805B }
+
+
+/*
+ * Async Data Configurations
+ */
+
+/* Distinguish Fax from Async. Used for Alt_SO in Orig & Page Rsp */
+#define DSC_ASYNC_SO_COUNT (SO_04+SO_12+SO_4100)
+#define DSC_FAX_SO_COUNT (SO_05+SO_13+SO_4101)
+#define DSC_SO_COUNT (DSC_ASYNC_SO_COUNT+DSC_FAX_SO_COUNT)
+
+#if (DSC_SO_COUNT > 0)
+ #define DSC_ENABLED
+#endif
+
+/* Japanese Data Modification */
+#ifdef JAPANESE_DATA
+ #define NEG_MODE_SUPPORTED NEG_BOTH
+#else
+ #define NEG_MODE_SUPPORTED NEG_SON
+#endif
+
+#if (SO_04 == SO_ENABLED)
+ /* ASYNC MUX1 */
+ #define SO04_NEG_MODE NEG_BOTH
+ #define SO04_INFO { 4, KAL_TRUE, KAL_TRUE, SO04_NEG_MODE},
+ #define DSC_04 \
+ { SO04_NEG_MODE, \
+ { MUX1, MUX1, RS1_RATES_ALL, RS1_RATES_ALL, 1, \
+ {{ 0, /* CON_REF */ \
+ 4, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_FALSE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_3, /* FOR_FCH_RC */ \
+ RC_3, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_3, /* FOR_DCCH_RC */ \
+ RC_3, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION3, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION3, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}} /* CODING */ \
+ },
+#else
+ #define SO04_INFO
+ #define DSC_04
+#endif
+#if (SO_05 == SO_ENABLED)
+ /* FAX MUX1 */
+ #define SO05_NEG_MODE NEG_BOTH
+ #define SO05_INFO { 5, KAL_TRUE, KAL_TRUE, SO05_NEG_MODE},
+ #define DSC_05 \
+ { SO05_NEG_MODE, \
+ { MUX1, MUX1, RS1_RATES_ALL, RS1_RATES_ALL, 1, \
+ {{ 0, /* CON_REF */ \
+ 5, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_FALSE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_3, /* FOR_FCH_RC */ \
+ RC_3, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_3, /* FOR_DCCH_RC */ \
+ RC_3, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION3, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION3, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}} /* CODING */ \
+ },
+#else
+ #define SO05_INFO
+ #define DSC_05
+#endif
+#if (SO_4100 == SO_ENABLED)
+ /* ASYNC MUX1 */
+ #define SO4100_NEG_MODE NEG_BOTH
+ #define SO4100_INFO { 4100, KAL_TRUE, KAL_TRUE, SO4100_NEG_MODE},
+ #define DSC_4100 \
+ { SO4100_NEG_MODE, \
+ { MUX1, MUX1, RS1_RATES_ALL, RS1_RATES_ALL, 1, \
+ {{ 0, /* CON_REF */ \
+ 4100, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_FALSE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_3, /* FOR_FCH_RC */ \
+ RC_3, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_3, /* FOR_DCCH_RC */ \
+ RC_3, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION3, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION3, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}} /* CODING */ \
+ },
+#else
+ #define SO4100_INFO
+ #define DSC_4100
+#endif
+#if (SO_12 == SO_ENABLED)
+ /* ASYNC MUX2 */
+ #define SO12_NEG_MODE NEG_SN
+ #define SO12_INFO { 12, KAL_TRUE, KAL_TRUE, SO12_NEG_MODE},
+ #define DSC_12 \
+ { SO12_NEG_MODE, \
+ { MUX2, MUX2, RS2_RATES_ALL, RS2_RATES_ALL, 1, \
+ {{ 0, /* CON_REF */ \
+ 12, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_FALSE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_5, /* FOR_FCH_RC */ \
+ RC_4, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_5, /* FOR_DCCH_RC */ \
+ RC_4, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION4, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_5, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION4, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_4, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}} /* CODING */ \
+ },
+#else
+ #define SO12_INFO
+ #define DSC_12
+#endif
+#if (SO_4101 == SO_ENABLED)
+ /* FAX MUX1 */
+ #define SO4101_NEG_MODE NEG_BOTH
+ #define SO4101_INFO { 4101, KAL_TRUE, KAL_TRUE, SO4101_NEG_MODE},
+ #define DSC_4101 \
+ { SO4101_NEG_MODE, \
+ { MUX1, MUX1, RS1_RATES_ALL, RS1_RATES_ALL, 1, \
+ {{ 0, /* CON_REF */ \
+ 4101, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_FALSE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_3, /* FOR_FCH_RC */ \
+ RC_3, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_3, /* FOR_DCCH_RC */ \
+ RC_3, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION3, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION3, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}} /* CODING */ \
+ },
+#else
+ #define SO4101_INFO
+ #define DSC_4101
+#endif
+#if (SO_13 == SO_ENABLED)
+ /* FAX MUX2 */
+ #define SO13_NEG_MODE NEG_SN
+ #define SO13_INFO { 13, KAL_TRUE, KAL_TRUE, SO13_NEG_MODE},
+ #define DSC_13 \
+ { SO13_NEG_MODE, \
+ { MUX2, MUX2, RS2_RATES_ALL, RS2_RATES_ALL, 1, \
+ {{ 0, /* CON_REF */ \
+ 13, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_FALSE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_5, /* FOR_FCH_RC */ \
+ RC_4, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_5, /* FOR_DCCH_RC */ \
+ RC_4, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION4, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_5, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION4, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_4, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}} /* CODING */ \
+ },
+#else
+ #define SO13_INFO
+ #define DSC_13
+#endif
+#define DSC_SO_CFG_LIST { DSC_04 DSC_05 DSC_12 \
+ DSC_13 DSC_4100 DSC_4101 }
+
+/* Distinguish between Async and Fax SO groups.
+ * Used for Alt_SO in Orig and Page Rsp. */
+#define DSC_ASYNC_SO_CFG_LIST { DSC_04 DSC_12 DSC_4100 }
+#define DSC_FAX_SO_CFG_LIST { DSC_05 DSC_13 DSC_4101 }
+
+
+/*
+ * Loopback Service Configurations
+ */
+#define LSC_SO_COUNT (SO_02+SO_09+SO_30+SO_31+SO_32+SO_54+SO_55+SO_75+SO_8002+SO_801E+SO_801F)
+/* Distinguish Markov from Loopback Used for Alt_SO in Orig & Page Rsp */
+#define LSC_MARKOV_SO_COUNT (SO_54+SO_8002+SO_801E+SO_801F)
+#define LSC_LPBK_SO_COUNT (SO_02+SO_09+SO_55+SO_75)
+
+#if (LSC_SO_COUNT > 0)
+ #define LSC_ENABLED
+#else
+ #error "At least one LOOPBACK Service option must be enabled!"
+#endif
+
+#if (SO_02 == SO_ENABLED)
+ /* LOOPBACK MUX1 */
+ #define SO02_NEG_MODE NEG_BOTH
+ #define SO02_INFO { 2, KAL_TRUE, KAL_TRUE, SO02_NEG_MODE},
+ #define LSC_02 \
+ { SO02_NEG_MODE, \
+ { MUX1, MUX1, RS1_RATES_ALL, RS1_RATES_ALL, 1, \
+ {{ 0, /* CON_REF */ \
+ 2, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_FALSE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_3, /* FOR_FCH_RC */ \
+ RC_3, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_3, /* FOR_DCCH_RC */ \
+ RC_3, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION3, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION3, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}} /* CODING */ \
+ },
+#else
+ #define SO02_INFO
+ #define LSC_02
+#endif
+#if (SO_09 == SO_ENABLED)
+ /* LOOPBACK MUX2 */
+ #define SO09_NEG_MODE NEG_BOTH
+ #define SO09_INFO { 9, KAL_TRUE, KAL_TRUE, SO09_NEG_MODE},
+ #define LSC_09 \
+ { SO09_NEG_MODE, \
+ { MUX2, MUX2, RS2_RATES_ALL, RS2_RATES_ALL, 1, \
+ {{ 0, /* CON_REF */ \
+ 9, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_FALSE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_5, /* FOR_FCH_RC */ \
+ RC_4, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_5, /* FOR_DCCH_RC */ \
+ RC_4, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION4, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_5, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION4, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_4, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}} /* CODING */ \
+ },
+#else
+ #define SO09_INFO
+ #define LSC_09
+#endif
+#if (SO_30 == SO_ENABLED)
+ /* SUPP CHAN LOOPBACK MUX1 */
+ #define SO30_NEG_MODE NEG_SN
+ #define SO30_INFO { 30, KAL_TRUE, KAL_TRUE, SO30_NEG_MODE},
+ #define LSC_30 \
+ { SO30_NEG_MODE, \
+ { MUX_OPTION3, MUX1, RS1_RATES_ALL, RS1_RATES_ALL, 1, \
+ {{ 0, /* CON_REF */ \
+ 30, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_FALSE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_3, /* FOR_FCH_RC */ \
+ RC_3, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_3, /* FOR_DCCH_RC */ \
+ RC_3, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION3, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION3, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}} /* CODING */ \
+ },
+#else
+ #define SO30_INFO
+ #define LSC_30
+#endif
+#if (SO_31 == SO_ENABLED)
+ /* SUPP CHAN LOOPBACK MUX2 */
+ #define SO31_NEG_MODE NEG_SN
+ #define SO31_INFO { 31, KAL_TRUE, KAL_TRUE, SO31_NEG_MODE},
+ #define LSC_31 \
+ { SO31_NEG_MODE, \
+ { MUX_OPTION4, MUX2, RS2_RATES_ALL, RS2_RATES_ALL, 1, \
+ {{ 0, /* CON_REF */ \
+ 31, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_FALSE, /* RLP_INFO_INCL */ \
+ 0, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_5, /* FOR_FCH_RC */ \
+ RC_4, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_5, /* FOR_DCCH_RC */ \
+ RC_4, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION4, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_5, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION4, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_4, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}} /* CODING */ \
+ },
+#else
+ #define SO31_INFO
+ #define LSC_31
+#endif
+
+#if (SO_8002 == SO_ENABLED)
+ /* MARKOV MUX1 */
+ #define SO8002_NEG_MODE NEG_BOTH
+ #define SO8002_INFO { 0x8002, KAL_TRUE, KAL_TRUE, SO8002_NEG_MODE},
+ #define LSC_8002 \
+ { SO8002_NEG_MODE, \
+ { MUX1, MUX1, RS1_RATES_ALL, RS1_RATES_ALL, 1, \
+ {{ 0, /* CON_REF */ \
+ 0x8002, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_FALSE, /* RLP_INFO_INCL */ \
+ 0, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_1, /* FOR_FCH_RC */ \
+ RC_1, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_1, /* FOR_DCCH_RC */ \
+ RC_1, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION3, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION3, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}} /* CODING */ \
+ },
+#else
+ #define SO8002_INFO
+ #define LSC_8002
+#endif
+
+#if (SO_801E == SO_ENABLED)
+ /* MARKOV MUX1 */
+ #define SO801E_NEG_MODE NEG_BOTH
+ #define SO801E_INFO { 0x801E, KAL_TRUE, KAL_TRUE, SO801E_NEG_MODE},
+ #define LSC_801E \
+ { SO801E_NEG_MODE, \
+ { MUX1, MUX1, RS1_RATES_ALL, RS1_RATES_ALL, 1, \
+ {{ 0, /* CON_REF */ \
+ 0x801E, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_FALSE, /* RLP_INFO_INCL */ \
+ 0, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_3, /* FOR_FCH_RC */ \
+ RC_3, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_3, /* FOR_DCCH_RC */ \
+ RC_3, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION3, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION3, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}} /* CODING */ \
+ },
+#else
+ #define SO801E_INFO
+ #define LSC_801E
+#endif
+
+#if (SO_32 == SO_ENABLED)
+ #define SO32_NEG_MODE NEG_SN
+ #define SO32_INFO { 32, KAL_TRUE, KAL_TRUE, SO32_NEG_MODE},
+ #define LSC_32 \
+ { SO32_NEG_MODE, \
+ { MUX1, MUX1, RS1_RATES_ALL, RS1_RATES_ALL, 1, \
+ {{ 0, /* CON_REF */ \
+ 32, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_FALSE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_3, /* FOR_FCH_RC */ \
+ RC_3, /* REV_FCH_RC */ \
+ KAL_TRUE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_3, /* FOR_DCCH_RC */ \
+ RC_3, /* REV_DCCH_RC */ \
+ KAL_TRUE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION921, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, /* CODING */ \
+ 0, /* frame40Used */ \
+ 0, /* frame80Used */ \
+ 4, }}}, /* maxRate */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION921, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, /* CODING */ \
+ 0, /* frame40Used */ \
+ 0, /* frame80Used */ \
+ 4, }}}} /* maxRate */ \
+ },
+#else
+ #define SO32_INFO
+ #define LSC_32
+#endif
+
+#if (SO_55 == SO_ENABLED)
+ #define SO55_NEG_MODE NEG_BOTH
+ #define SO55_INFO { 55, KAL_TRUE, KAL_TRUE, SO55_NEG_MODE},
+ #define LSC_55 \
+ { SO55_NEG_MODE, \
+ { MUX2, MUX2, RS2_RATES_ALL, RS2_RATES_ALL, 1, \
+ {{ 0, /* CON_REF */ \
+ 55, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_FALSE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_3, /* FOR_FCH_RC */ \
+ RC_3, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_5, /* FOR_DCCH_RC */ \
+ RC_4, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION4, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_5, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION4, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_4, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}} /* CODING */ \
+ },
+#else
+ #define SO55_INFO
+ #define LSC_55
+#endif
+
+#if (SO_75 == SO_ENABLED)
+ #define SO75_NEG_MODE NEG_BOTH
+ #define SO75_INFO { 75, KAL_TRUE, KAL_TRUE, SO75_NEG_MODE},
+ #define LSC_75 \
+ { SO75_NEG_MODE, \
+ { MUX1, MUX1, RS1_RATES_ALL, RS1_RATES_ALL, 1, \
+ {{ 0, /* CON_REF */ \
+ 75, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_FALSE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_11, /* FOR_FCH_RC */ \
+ RC_8, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_3, /* FOR_DCCH_RC */ \
+ RC_3, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION3, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION3, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}} /* CODING */ \
+ },
+#else
+ #define SO75_INFO
+ #define LSC_75
+#endif
+
+#if (SO_801F == SO_ENABLED)
+ /* MARKOV MUX2 */
+ #define SO801F_NEG_MODE NEG_BOTH
+ #define SO801F_INFO { 0x801F, KAL_TRUE, KAL_TRUE, SO801F_NEG_MODE},
+ #define LSC_801F \
+ { SO801F_NEG_MODE, \
+ { MUX2, MUX2, RS2_RATES_ALL, RS2_RATES_ALL, 1, \
+ {{ 0, /* CON_REF */ \
+ 0x801F, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_TRUE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_5, /* FOR_FCH_RC */ \
+ RC_4, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_5, /* FOR_DCCH_RC */ \
+ RC_4, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION4, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_5, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION4, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_4, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}} /* CODING */ \
+ },
+#else
+ #define SO801F_INFO
+ #define LSC_801F
+#endif
+
+#if (SO_54 == SO_ENABLED)
+ /* LOOPBACK MUX1 */
+ #define SO54_NEG_MODE NEG_BOTH
+ #define SO54_INFO { 54, KAL_TRUE, KAL_TRUE, SO54_NEG_MODE},
+ #define LSC_54 \
+ { SO54_NEG_MODE, \
+ { MUX1, MUX1, RS1_RATES_ALL, RS1_RATES_ALL, 1, \
+ {{ 0, /* CON_REF */ \
+ 54, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_FALSE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_3, /* FOR_FCH_RC */ \
+ RC_3, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_3, /* FOR_DCCH_RC */ \
+ RC_3, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION3, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION3, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}} /* CODING */ \
+ },
+#else
+ #define SO54_INFO
+ #define LSC_54
+#endif
+
+#define LSC_SO_CFG_LIST { LSC_02 LSC_09 LSC_30 LSC_31 LSC_32 LSC_54 \
+ LSC_55 LSC_75 LSC_8002 LSC_801E LSC_801F}
+#define LSC_MARKOV_SO_CFG_LIST { LSC_54 LSC_8002 LSC_801E LSC_801F}
+#define LSC_LPBK_SO_CFG_LIST { LSC_02 LSC_09 LSC_55 LSC_75 }
+
+/*
+ * SMS Service Configurations
+ */
+#define MSC_SO_COUNT (SO_06+SO_14)
+#if (MSC_SO_COUNT > 0)
+ #define MSC_ENABLED
+#endif
+
+#if (SO_06 == SO_ENABLED)
+ /* SMS MUX1 */
+ #define SO06_NEG_MODE NEG_BOTH
+ #define SO06_INFO { 6, KAL_TRUE, KAL_TRUE, SO06_NEG_MODE},
+ #define MSC_06 \
+ { SO06_NEG_MODE, \
+ { MUX1, MUX1, RS1_RATES_ALL, RS1_RATES_ALL, 1, \
+ {{ 0, /* CON_REF */ \
+ 6, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_TRUE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_3, /* FOR_FCH_RC */ \
+ RC_3, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_3, /* FOR_DCCH_RC */ \
+ RC_3, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION3, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION3, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}} /* CODING */ \
+ },
+#else
+ #define SO06_INFO
+ #define MSC_06
+#endif
+#if (SO_14 == SO_ENABLED)
+ /* SMS MUX2 */
+ #define SO14_NEG_MODE NEG_BOTH
+ #define SO14_INFO { 14, KAL_TRUE, KAL_TRUE, SO14_NEG_MODE},
+ #define MSC_14 \
+ { SO14_NEG_MODE, \
+ { MUX2, MUX2, RS2_RATES_ALL, RS2_RATES_ALL, 1, \
+ {{ 0, /* CON_REF */ \
+ 14, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_TRUE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_5, /* FOR_FCH_RC */ \
+ RC_4, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_5, /* FOR_DCCH_RC */ \
+ RC_4, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION4, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_5, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION4, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_4, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}} /* CODING */ \
+ },
+#else
+ #define SO14_INFO
+ #define MSC_14
+#endif
+#define MSC_SO_CFG_LIST { MSC_06 MSC_14 }
+
+
+/*
+ * OTASP Service Configurations
+ */
+#define OSC_SO_COUNT (SO_18+SO_19)
+#if (OSC_SO_COUNT > 0)
+ #define OSC_ENABLED
+#endif
+
+#if (SO_18 == SO_ENABLED)
+ /* OTASP MUX1 */
+ #define SO18_NEG_MODE NEG_BOTH
+ #define SO18_INFO { 18, KAL_TRUE, KAL_TRUE, SO18_NEG_MODE},
+ #define OSC_18 \
+ { SO18_NEG_MODE, \
+ { MUX1, MUX1, RS1_RATES_ALL, RS1_RATES_ALL, 1, \
+ {{ 0, /* CON_REF */ \
+ 18, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_TRUE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_3, /* FOR_FCH_RC */ \
+ RC_3, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_3, /* FOR_DCCH_RC */ \
+ RC_3, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION3, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION3, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}} /* CODING */ \
+ },
+#else
+ #define SO18_INFO
+ #define OSC_18
+#endif
+#if (SO_19 == SO_ENABLED)
+ /* OTASP MUX2 */
+ #define SO19_NEG_MODE NEG_SN
+ #define SO19_INFO { 19, KAL_TRUE, KAL_TRUE, SO19_NEG_MODE},
+ #define OSC_19 \
+ { SO19_NEG_MODE, \
+ { MUX2, MUX2, RS2_RATES_ALL, RS2_RATES_ALL, 1, \
+ {{ 0, /* CON_REF */ \
+ 19, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_TRUE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_5, /* FOR_FCH_RC */ \
+ RC_4, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_5, /* FOR_DCCH_RC */ \
+ RC_4, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION4, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_5, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION4, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_4, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}} /* CODING */ \
+ },
+#else
+ #define SO19_INFO
+ #define OSC_19
+#endif
+#define OSC_SO_CFG_LIST { OSC_18 OSC_19 }
+
+/*
+ * Location Service Configurations
+ */
+#define CSC_SO_COUNT (SO_35+SO_36)
+#if (CSC_SO_COUNT > 0)
+ #define CSC_ENABLED
+#endif
+
+#if (SO_35 == SO_ENABLED)
+ /* Location MUX1 */
+ #define SO35_NEG_MODE NEG_BOTH
+ #define SO35_INFO { 35, KAL_TRUE, KAL_TRUE, SO35_NEG_MODE},
+ #define CSC_35 \
+ { SO35_NEG_MODE, \
+ { MUX1, MUX1, RS1_RATES_ALL, RS1_RATES_ALL, 1, \
+ {{ 0, /* CON_REF */ \
+ 35, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_TRUE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_3, /* FOR_FCH_RC */ \
+ RC_3, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_3, /* FOR_DCCH_RC */ \
+ RC_3, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION3, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION3, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_3, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}} /* CODING */ \
+ },
+#else
+ #define SO35_INFO
+ #define CSC_35
+#endif
+#if (SO_36 == SO_ENABLED)
+ /* Location Services MUX2 */
+ #define SO36_NEG_MODE NEG_BOTH
+ #define SO36_INFO { 36, KAL_TRUE, KAL_TRUE, SO36_NEG_MODE},
+ #define CSC_36 \
+ { SO36_NEG_MODE, \
+ { MUX2, MUX2, RS2_RATES_ALL, RS2_RATES_ALL, 1, \
+ {{ 0, /* CON_REF */ \
+ 36, /* SERVICE_OPTION */ \
+ PRIMARY_CHANNEL, /* FOR_TRAFFIC */ \
+ PRIMARY_CHANNEL, /* REV_TRAFFIC */ \
+ 0, /* UI_ENCRYPT_MODE */ \
+ 1, /* SR_ID */ \
+ KAL_TRUE, /* RLP_INFO_INCL */ \
+ 5, /* RLP_BLOB_LEN */ \
+ { 1, /* RLP_BLOB_TYPE */ \
+ 3, /* RLP_VERSION */ \
+ NULL_VAL, /* RTT Omitted */ \
+ KAL_TRUE, /* INIT_VAR */ \
+ NULL_VAL, /* BS_EXT_SEQ_M Omitted */ \
+ NULL_VAL, /* MS_EXT_SEQ_M Omitted */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_FWD */ \
+ 3, /* MAX_MS_NAK_PER_ROUND_REV */ \
+ 3, /* NAK_ROUND_FWD */ \
+ 3, /* NAK_ROUND_REV */ \
+ { 1, 2, 3,}, /* NAK_PER_ROUND_FWD */ \
+ { 1, 2, 3 },},} }, /* NAK_PER_ROUND_REV */ \
+ KAL_TRUE, /* FCH_CC_INCL */ \
+ 0, /* FCH_FRAME_SIZE */ \
+ RC_5, /* FOR_FCH_RC */ \
+ RC_4, /* REV_FCH_RC */ \
+ KAL_FALSE, /* DCCH_CC_INCL */ \
+ 1, /* DCCH_FRAME_SIZE */ \
+ RC_5, /* FOR_DCCH_RC */ \
+ RC_4, /* REV_DCCH_RC */ \
+ KAL_FALSE, /* FOR_SCH_CC_INCL */ \
+ 1, /* NUM_FOR_SCH */ \
+ {{ 0, /* FOR_SCH_ID */ \
+ MUX_OPTION4, /* FOR_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_5, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}, /* CODING */ \
+ KAL_FALSE, /* REV_SCH_CC_INCL */ \
+ 1, /* NUM_REV_SCH */ \
+ {{ 0, /* REV_SCH_ID */ \
+ MUX_OPTION4, /* REV_SCH_MUX */ \
+ { 2, /* SCH_REC_LEN */ \
+ RC_4, /* SCH_RC */ \
+ SCH_CONV_CODING, }}}} /* CODING */ \
+ },
+#else
+ #define SO36_INFO
+ #define CSC_36
+#endif
+#define CSC_SO_CFG_LIST { CSC_35 CSC_36 }
+
+
+/*
+ * Definition of the Service Option Information List
+ */
+
+#define SO_INFO_LIST { SO01_INFO SO02_INFO SO03_INFO SO04_INFO SO05_INFO \
+ SO06_INFO SO07_INFO SO09_INFO SO12_INFO SO13_INFO \
+ SO14_INFO SO15_INFO SO17_INFO SO18_INFO SO19_INFO \
+ SO22_INFO SO23_INFO SO24_INFO SO25_INFO SO30_INFO \
+ SO31_INFO SO32_INFO SO33_INFO SO35_INFO SO36_INFO \
+ SO54_INFO SO55_INFO SO75_INFO SO4100_INFO SO4101_INFO \
+ SO4103_INFO SO8000_INFO SO8002_INFO SO801E_INFO SO801F_INFO \
+ SO805A_INFO SO805B_INFO SO68_INFO SO73_INFO SO32944_INFO\
+ }
+
+#define SO_COUNT ( SO_01 + SO_02 + SO_03 + SO_04 + SO_05 \
+ + SO_06 + SO_07 + SO_09 + SO_12 + SO_13 \
+ + SO_14 + SO_15 + SO_17 + SO_18 + SO_19 \
+ + SO_22 + SO_23 + SO_24 + SO_25 + SO_30 \
+ + SO_31 + SO_32 + SO_33 + SO_35 + SO_36 \
+ + SO_54 + SO_55 + SO_75 + SO_4100 + SO_4101 \
+ + SO_4103 + SO_8000 + SO_8002 + SO_801E + SO_801F \
+ + SO_805A + SO_805B + SO_68 + SO_73 + SO_32944 \
+ )
+
+
+
+/*
+ * Multiplex Option Information
+ */
+
+#define SUPP_0 \
+ { MUX1, RS1_RATES_ALL, RS1_RATES_ALL }, \
+ { MUX2, RS2_RATES_ALL, RS2_RATES_ALL }
+#if (MAX_SUPP_CHANNELS > 0)
+ #define SUPP_1 \
+ ,{ MUX3, RS1_RATES_ALL, RS1_RATES_ALL }, \
+ { MUX4, RS2_RATES_ALL, RS2_RATES_ALL }
+#else
+ #define SUPP_1
+#endif
+#if (MAX_SUPP_CHANNELS > 1)
+ #define SUPP_2 \
+ ,{ MUX5, RS1_RATES_ALL, RS1_RATES_ALL }, \
+ { MUX6, RS2_RATES_ALL, RS2_RATES_ALL }
+#else
+ #define SUPP_2
+#endif
+#if (MAX_SUPP_CHANNELS > 2)
+ #define SUPP_3 \
+ ,{ MUX7, RS1_RATES_ALL, RS1_RATES_ALL }, \
+ { MUX8, RS2_RATES_ALL, RS2_RATES_ALL }
+#else
+ #define SUPP_3
+#endif
+#if (MAX_SUPP_CHANNELS > 3)
+ #define SUPP_4 \
+ ,{ MUX9, RS1_RATES_ALL, RS1_RATES_ALL }, \
+ { MUX10, RS2_RATES_ALL, RS2_RATES_ALL }
+#else
+ #define SUPP_4
+#endif
+#if (MAX_SUPP_CHANNELS > 4)
+ #define SUPP_5 \
+ ,{ MUX11, RS1_RATES_ALL, RS1_RATES_ALL }, \
+ { MUX12, RS2_RATES_ALL, RS2_RATES_ALL }
+#else
+ #define SUPP_5
+#endif
+#if (MAX_SUPP_CHANNELS > 5)
+ #define SUPP_6 \
+ ,{ MUX13, RS1_RATES_ALL, RS1_RATES_ALL }, \
+ { MUX14, RS2_RATES_ALL, RS2_RATES_ALL }
+#else
+ #define SUPP_6
+#endif
+#if (MAX_SUPP_CHANNELS > 6)
+ #define SUPP_7 \
+ ,{ MUX15, RS1_RATES_ALL, RS1_RATES_ALL }, \
+ { MUX16, RS2_RATES_ALL, RS2_RATES_ALL }
+#else
+ #define SUPP_7
+#endif
+#define MUX_INFO_LIST { SUPP_0 SUPP_1 SUPP_2 SUPP_3 SUPP_4 \
+ SUPP_5 SUPP_6 SUPP_7 }
+
+#endif /* _SCC_PFL_H */
+
+/**Log information: \main\CBP80\cbp80_gdeng_scbp10322\1 2012-09-14 06:09:32 GMT gdeng
+** SCBP#10322**/
+/**Log information: \main\Trophy\Trophy_hjin_href22024\1 2013-03-14 06:22:04 GMT hjin
+** HREF#22024: bug fix for EVRC-B TC_1XADV_01005 fail**/
+/**Log information: \main\Trophy\1 2013-03-14 08:24:09 GMT cshen
+** href#22024**/
+/**Log information: \main\Trophy\SMART\1 2013-04-27 08:09:57 GMT yxma
+** HREF#22188 , modify smartfren primary voice so**/
+/**Log information: \main\Trophy\SMART\2 2013-04-28 02:16:56 GMT yxma
+** HREF#22188 , modify smartfren primary voice so
+|**/
+/**Log information: \main\Trophy\Trophy_gdeng_href22222_fix1\1 2013-06-08 02:09:46 GMT gdeng
+** HREF#22222**/
+/**Log information: \main\Trophy\3 2013-06-08 07:14:45 GMT cshen
+** href#22222**/
+/**Log information: \main\Trophy\Trophy_SO73\1 2013-07-09 05:06:29 GMT gdeng
+** HREF#0000 see scbp11634**/
+/**Log information: \main\Trophy\4 2013-07-17 08:13:04 GMT cshen
+** href#2222**/
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/SCC_PSC.H b/mcu/interface/protocol/as_c2k/1xrtt/SCC_PSC.H
new file mode 100644
index 0000000..a34d86f
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/SCC_PSC.H
@@ -0,0 +1,663 @@
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*************************************************************************
+ *
+ * File Name: scc_psc.h
+ * Project: SCC
+ * Original Author: MMS
+ * Creation Date: Mar. 24/1999
+ *
+ * Description: Packet Data Services Controller Interface
+ *
+ * Restrictions:
+ *
+ * Dependencies:
+ *
+ *************************************************************************
+ * RCS Information
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ *
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ *
+ *
+ *
+ *************************************************************************
+ *
+ * removed!
+ *
+ *
+ ************************************************************************/
+
+#ifndef _SCC_PSC_H
+#define _SCC_PSC_H
+
+/*
+ * Dependencies
+ */
+#include "SCC_TR.H"
+#include "SCC_DATA.H"
+#include "SCC_TUNE.H"
+#include "SCC_PFL.H"
+#include "SCC_API.H"
+#include "SCC_BIOS.H"
+#include "SCC_CPC.H"
+
+void pscReset(void);
+ServiceConfiguration* pscGetCurCfg(void);
+
+
+/*
+ * Interface from CPC
+ */
+
+/***************************************************************************
+ *
+ * Function Name: pscCpcConnectFailInd
+ *
+ * Description: Indication the connection request has failed
+ *
+ * Parameters: kal_uint8 reason: Reason for Failure
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void pscCpcConnectFailInd(kal_uint8 reason);
+
+/***************************************************************************
+ *
+ * Function Name: pscCpcConnectInd
+ *
+ * Description: Indication the previous connection request was
+ * successfull
+ *
+ * Parameters: ServiceConfiguration* cfg: Present service configuration
+ * kal_uint8 cn: Connection Reference within the config
+ * kal_bool rlpCtl: Indication if PSC should control RLP
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void pscCpcConnectInd(ServiceConfiguration* cfg, kal_uint8 cn, kal_bool rlpCtl);
+
+/***************************************************************************
+ *
+ * Function Name: pscCpcDisconnectInd
+ *
+ * Description: Indication the Packet Service option has been
+ * disconnected
+ *
+ * Parameters: kal_uint8 reason: Reason for disconnection
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void pscCpcDisconnectInd(kal_uint8 reason);
+#ifndef MTK_CBP_REL_OPTIMIZE
+/***************************************************************************
+ *
+ * Function Name: pscCpcReleaseInd
+ *
+ * Description: Indication we have left the traffic channel
+ *
+ * Parameters: kal_uint8 reason: reason for traffic channel loss
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void pscCpcReleaseInd(kal_uint8 reason);
+#endif
+/***************************************************************************
+ *
+ * Function Name: pscCpcAlertInd
+ *
+ * Description: Indication of an incoming packet call
+ *
+ * Parameters: FORInfoData *alert: Alert Information structure
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void pscCpcAlertInd(FORInfoData *alert);
+
+/***************************************************************************
+ *
+ * Function Name: pscCpcPageInd
+ *
+ * Description: Indication of an incoming Page request for packet
+ * services
+ *
+ * Parameters: ServiceOption svcOpt: Service Option paged
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void pscCpcPageInd(SysServiceOptionT svcOpt);
+
+/***************************************************************************
+ *
+ * Function Name: pscCpNoSvcInd
+ *
+ * Description: Indication the mobile cannot find a wireless service
+ * provider
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void pscCpNoSvcInd (void);
+
+/***************************************************************************
+ *
+ * Function Name: pscCpcSocmInd
+ *
+ * Description: Indication of an incoming Service Option Control Message
+ * for Packet services
+ *
+ * Parameters: kal_uint8 conRef: Configuration connection reference
+ * kal_uint16 svcOpt: Service Option
+ * kal_uint8 *ctlRec: Message Data
+ * kal_uint8 length: Length of message Data
+ * kal_uint32 actionTime:
+ *
+ * Returns:
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void pscCpcSocmInd(kal_uint8 conRef, kal_uint16 svcOpt, kal_uint8 *ctlRec,
+ kal_uint8 length, kal_uint32 actionTime);
+
+/***************************************************************************
+ *
+ * Function Name: pscCpcSocoInd
+ *
+ * Description: Indication of an incoming Service Option Control Order
+ *
+ * Parameters: kal_uint8 ordq: Message
+ * kal_uint32 actionTime:
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void pscCpcSocoInd(kal_uint8 ordq, kal_uint32 actionTime);
+
+void pscCpcOrigSentInd (void);
+
+/*
+ * Interface from CP
+ */
+
+/***************************************************************************
+ *
+ * Function Name: pscCpIdle
+ *
+ * Description: Indication the CP is in the idle state
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void pscCpIdle(void);
+
+/***************************************************************************
+ *
+ * Function Name: pscCpTcAssigned
+ *
+ * Description: Indication The BS has assigned us a traffic channel
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void pscCpTcAssigned(void);
+
+/***************************************************************************
+ *
+ * Function Name: pscCpHandoffInd
+ *
+ * Description: Indication of a BS handoff
+ *
+ * Parameters: kal_uint8 type: Type of handoff HARD, SOFT, ANALOG
+ * kal_bool cfgChanged: Indication if the configuration has
+ * changed
+ * kal_bool setChanged: Indication if the active set of pilots
+ * has changed
+ * kal_bool freqChanged: Indication if the frequency has
+ * changed
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void pscCpHandoffInd( kal_uint8 type, kal_bool cfgChanged, kal_bool setChanged,
+ kal_bool freqChanged);
+
+/***************************************************************************
+ *
+ * Function Name: pscCpSidNidChange
+ *
+ * Description: Indication if the SID or NID has changed
+ *
+ * Parameters: kal_uint16 sid:
+ * kal_uint16 nid:
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void pscCpSidNidChange(kal_uint16 sid, kal_uint16 nid);
+
+/***************************************************************************
+ *
+ * Function Name: pscCpNetworkPRev
+ *
+ * Description: Indication if the BS protocol revision has changed after
+ * a handoff
+ *
+ * Parameters: kal_uint8 pRev: New Protocol revision
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void pscCpNetworkPRev(kal_uint8 pRev);
+
+/***************************************************************************
+ *
+ * Function Name: pscCpRandInd
+ *
+ * Description: Random number update after an SSD update
+ *
+ * Parameters: kal_uint32 rand
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void pscCpRandInd(kal_uint32 rand);
+
+/***************************************************************************
+ *
+ * Function Name: pscCpSsdbInd
+ *
+ * Description: Indication of new ssdb value after an SSD update
+ *
+ * Parameters: kal_uint8 *ssdb: 8 byte ssd value
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void pscCpSsdbInd(kal_uint8 *ssdb);
+
+/***************************************************************************
+ *
+ * Function Name: pscCpReadyInd
+ *
+ * Description: Indication the CP has found cellular service.
+ *
+ * Parameters:
+ * BandClass band: Band Class of the BS
+ * kal_uint8 block: CDMA Block (A,B,..)
+ * kal_uint16 sid: System Id
+ * kal_uint16 nid: Network Id
+ * kal_uint8 type: Type of system (1 -- CDMA)
+ * (2 -- TDMA)
+ * (3 -- ANALOG)
+ * kal_uint8 pRev: Protocol Revision
+ *
+ * Returns:
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void pscCpReadyInd (SysCdmaBandT band, kal_uint8 block, kal_uint16 sid, kal_uint16 nid, kal_uint8 pRev);
+
+/***************************************************************************
+ *
+ * Function Name: pscCpZone
+ *
+ * Description: Indication of a change in Registration Zone
+ *
+ * Parameters: kal_uint8 zone: New Registration Zone
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void pscCpZone(kal_uint8 zone);
+
+/*
+ * Service Configuration Validation Funcions
+ */
+/***************************************************************************
+ *
+ * Function Name: pscNegGetServCfgNoConnections
+ *
+ * Description: Returns the Preferred Service Configuration given
+ * a valid service option number
+ *
+ * Parameters: ServiceOption: Valid Service Option
+ *
+ * Returns: ServiceConfiguration *: Pointer to a valid
+ * ServiceConfiguration.
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServiceConfiguration* pscNegGetServCfgNoConnections(SysServiceOptionT so);
+
+/***************************************************************************
+ *
+ * Function Name: pscGetPrefServCfg
+ *
+ * Description: Get preferred Service Configuration
+ *
+ * Parameters: None
+ *
+ * Returns: The preferred Service Configuration
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServiceConfiguration* pscGetPrefServCfg(void);
+
+/***************************************************************************
+ * Function Name: pscNegServiceConfigurationInitiation
+ *
+ * Description: Indication to SCC to begin the process of service
+ * configuration negotiation
+ *
+ * Parameters: None
+ *
+ * Returns: ServiceConfiguration *: Pointer to a valid service
+ * configuration
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServiceConfiguration* pscNegServiceConfigurationInitiation(kal_uint8 rs);
+
+/***************************************************************************
+ *
+ * Function Name: pscNegServiceConfigurationValidation
+ *
+ * Description: Validate the given service configuration and
+ * propose an alternate if the given configuration
+ * is not supported and val is KAL_FALSE
+ *
+ * Parameters: ServiceConfiguration *sc: Input -- pointer to a service
+ * configuration
+ * Output -- alternate
+ * configuration
+ * kal_bool val: Validate Only Flag, if it is KAL_TRUE
+ * this routine will not propose an alternate
+ * configuration if the given configuration is
+ * not supported
+ *
+ * Returns: SCResponse: Either 'SC_Accept' 'SC_Reject' or
+ * 'SC_Alternate'
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+SCResponse pscNegServiceConfigurationValidation(kal_bool valOnly,
+ ServiceConfiguration *sc);
+
+/***************************************************************************
+ *
+ * Function Name: pscNegServiceOptionValidation
+ *
+ * Description: Validate service option and propose alternate if
+ * it is not supported
+ *
+ * Parameters: ServiceOption *so: Input: Pointer to service option number
+ * to be validated
+ * Output: Alternative Service Option
+ *
+ * Returns: SCResponse: Either 'SC_Accept' 'SC_Reject' or
+ * 'SC_Alternate'
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+SCResponse pscNegServiceOptionValidation(SysServiceOptionT *so, kal_bool paged);
+
+kal_bool pscViewDormantMode (void);
+
+void pscTcTimerExpiredInd (void);
+
+/****************************************************************************
+ *
+ * Name: pscGetPacketZoneId
+ *
+ * Description: Returns current packet zone id
+ *
+ * Parameters: None
+ *
+ * Returns: kal_uint8 currentZone
+ *
+ ****************************************************************************/
+kal_uint8 pscGetPacketZoneId(void);
+
+/****************************************************************************
+ *
+ * Name: pscGetProfile
+ *
+ * Scope: public
+ *
+ * Description: Retrieves the address of the static structure _profiles.
+ *
+ * Parameters: (none)
+ *
+ * Returns: ServCfgParms * - pointer to _profiles
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServCfgParms *pscGetProfile(void);
+
+
+/***************************************************************************
+ *
+ * Function Name: xxxGetState
+ *
+ * Description:
+ *
+ * Parameters:
+ *
+ * Returns: state
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+kal_uint8 pscGetState(void);
+
+/***************************************************************************
+ *
+ * Function Name: pscCpcInit
+ *
+ * Description: clear global flags.
+ *
+ * Parameters: (none)
+ *
+ *
+ ****************************************************************************/
+void pscCpcInit(void);
+void SetPscState(PscState newState);
+
+void pscHATExpiredInd(void);
+void pscHTExpiredInd(void);
+
+/****************************************************************************
+ *
+ * Name: sccPscSetPzReconnect()
+ *
+ * Scope: public
+ *
+ * Description: This function sets pz_reconnect based on received value.
+ *
+ * Parameters: kal_bool KAL_FALSE - set pz_reconnect = KAL_FALSE
+ * KAL_TRUE - set pz_reconnect = KAL_TRUE
+ *
+ ****************************************************************************/
+void sccPscSetPzReconnect(kal_bool val);
+
+/****************************************************************************
+ *
+ * Name: sccPscGetPzReconnect()
+ *
+ * Scope: public
+ *
+ * Description: This function returns current pz_reconnect value.
+ *
+ * Parameters: void
+ *
+ * Returns: kal_bool pz_reconnect
+ *
+ ****************************************************************************/
+kal_bool sccPscGetPzReconnect(void);
+
+/****************************************************************************
+ *
+ * Name: pscCpcTcEstablishedInd
+ *
+ * Scope: public
+ *
+ * Description: Routes a Traffic Channel Established indication to the PSC.
+ *
+ * Parameters:
+ *
+ * Returns:
+ * void
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void pscCpcTcEstablishedInd (void);
+#ifdef __SENSITIVE_DATA_MOSAIC__
+void sccPscSensitiveClean(void);
+#endif
+#endif /* _SCC_PSC_H */
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/SCC_TR.H b/mcu/interface/protocol/as_c2k/1xrtt/SCC_TR.H
new file mode 100644
index 0000000..b1e0009
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/SCC_TR.H
@@ -0,0 +1,330 @@
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Module: scc_tr.h
+ *
+ * Purpose: Debug/Trace Macros and associated function prototypes for
+ * SCC PE.
+ *
+ ****************************************************************************
+ *
+ * RCS Information
+ *
+ * $Id: SCC_TR.H 1.2 2004/03/25 12:07:26 fpeng Exp $
+ *
+ * $Log: SCC_TR.H $
+ *
+ * 07 04 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * ::KAL type - L3, folder ps
+ *
+ * 03 15 2017 max.wang
+ * [MOLY00235251] [preIT][1X PS CALL]porting code
+ * Porting BIANCO.BRINGUP.DEV to TRUNCK
+ * Revision 1.2 2004/03/25 12:07:26 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:39:37 fpeng
+ * Initial revision
+ * Revision 1.7 2002/10/04 07:33:57 mshaver
+ * Added fault file/line info debugging capability.
+ * Revision 1.6 2002/06/06 14:55:55 bsharma
+ * Updated Copyright info.
+ * Revision 1.5 2002/02/27 20:56:04 mclee
+ * IS801 Trace Ids added
+ * Revision 1.4 2001/03/05 12:12:50 huey
+ * Add SYS_TARGET_SIM compiler option for TRACE marcos
+ * Revision 1.3 2001/03/05 11:56:40 huey
+ * Add SYS_TARGET_SIM compiler option for TRACE fuction macros
+ * Revision 1.2 2001/03/01 15:07:47 huey
+ * add SYS_TARGET_SIM compiling option to define TRACE macros for simulation build
+ * Revision 1.1 2001/01/17 10:57:39 plabarbe
+ * Initial revision
+ * Revision 1.1 2000/10/24 14:11:55 fpeng
+ * Initial revision
+ * Revision 1.3 2000/08/24 00:11:06Z hhong
+ * To update to SCC ver. 2.7
+ * Revision 1.5 2000/02/17 22:16:35 bcassidy
+ * 1. Add support for timer controller module.
+ *
+ * Revision 1.4 2000/01/05 00:09:31 ddoucett
+ * fixed various type mismatches with the api document
+ *
+ * Revision 1.3 1999/12/09 20:56:14 ddoucett
+ * added API id
+ *
+ * Revision 1.2 1999/12/09 20:15:03 ddoucett
+ * added SCC_API id
+ *
+ * Revision 1.1 1999/12/08 06:03:38 ddoucett
+ * Initial revision
+ *
+ * Revision 1.7 1999/07/22 20:19:11 msmith
+ * Added RCS log support
+ *
+ *
+ *
+ *
+ ****************************************************************************
+ *
+ *
+ ****************************************************************************/
+
+/*****************************************************************************
+ * This file contains a sample set of definitions that can be used with
+ * the tracing built into the PE. Tracing is a mechanism that reports
+ * significant events to the user regarding internal processing done by
+ * the PE. A sample implementation is contained in trace.c.
+ *
+ * To enable tracing, the compiler define TRACEON must be set. When enabled
+ * the TRACE macros are compiled in. The mechanism to report the trace is
+ * target dependent. The parameters used in the TRACE macros include:
+ *
+ * cat - the trace category
+ * level - the level the trace event is at (1-high level, 5-detail)
+ * token - the unique trace event identifier within a module
+ * fmt/s - the string that appears in the TRACE macro, it can contain
+ * formatting or be a string only
+ * var1 - if present, the first data item passed into the macro
+ * var2 - if present, the second data item passed into the macro
+ *
+ * Each source file contains the following definitions:
+ * MYNAME - a string representing the name of the source file
+ * MYNAMEID - a unique identifier (defined within cp_tr.h) for that
+ * source file
+ *
+ * These macros provide a flexible means of supporting tracing. The macros
+ * could be implemented to simply print the name of the file and the string
+ * associated with trace macro. Alternatively, a scheme can be used to
+ * transmit just the moduleID, fmt/s tokenID, and any data across a realtime
+ * link to a host that can reconstruct the trace strings for display.
+ *
+ ****************************************************************************/
+#ifndef _SCC_TR_H_
+#define _SCC_TR_H_ 1
+
+/*****************************************************************************
+ * Includes
+ ****************************************************************************/
+#include "itrace.h"
+#include "psw_dhl_trace.h"
+#ifdef TRACEON
+
+ #include "tokens.h" /* include numeric tokens if tracing is enabled */
+
+ #define MYENGINENAME "scc"
+ #define MYENGINEID SCC_ENGINE_ID
+
+ /* Available trace categories */
+ typedef enum
+ {
+ ENG_NO_CATEGORY = 0,
+ CAT_API,
+ CAT_BIOS,
+ CAT_FSM,
+ ENG_ERROR_TR,
+ CAT_SCC
+ } TraceCategory;
+
+ #define NUM_TRACE_CATEGORIES 6
+
+ /* If you get this #error Change MAX_NUM_TRACE_CATEGORIES in itrace.h */
+ #if (NUM_TRACE_CATEGORIES > MAX_NUM_TRACE_CATEGORIES)
+ #error SCC has too many trace categories!
+ #endif
+
+ /* Service Controller Module Ids */
+ #define SCC_CPC_ID 1
+ #define SCC_NEG_ID 2
+ #define SCC_DBC_ID 3
+ #define SCC_OSC_ID 4
+ #define SCC_MSC_ID 5
+ #define SCC_VSC_ID 6
+ #define SCC_DSC_ID 7
+ #define SCC_PSC_ID 8
+ #define SCC_LSC_ID 9
+ #define SCC_BIOS_ID 10
+ #define SCC_API_ID 11
+ #define SCC_TC_ID 12
+ #define SCC_CSC_ID 13
+ #define MAX_MODULEID 13 /* used by the token parser */
+
+ /* Define trace table indices for TRACEINDEX */
+ #define SCC_TRACE_TABLE_FSM_NAMES 1
+ #define SCC_TRACE_TABLE_CPC_STATES 2
+ #define SCC_TRACE_TABLE_CPC_EVENTS 3
+ #define SCC_TRACE_TABLE_DSC_STATES 4
+ #define SCC_TRACE_TABLE_DSC_EVENTS 5
+ #define SCC_TRACE_TABLE_MSC_STATES 6
+ #define SCC_TRACE_TABLE_MSC_EVENTS 7
+ #define SCC_TRACE_TABLE_NEG_STATES 8
+ #define SCC_TRACE_TABLE_NEG_EVENTS 9
+ #define SCC_TRACE_TABLE_PSC_STATES 10
+ #define SCC_TRACE_TABLE_PSC_EVENTS 11
+ #define SCC_TRACE_TABLE_VSC_STATES 12
+ #define SCC_TRACE_TABLE_VSC_EVENTS 13
+ #define SCC_TRACE_TABLE_LSC_STATES 14
+ #define SCC_TRACE_TABLE_LSC_EVENTS 15
+ #define SCC_TRACE_TABLE_DBC_STATES 16
+ #define SCC_TRACE_TABLE_DBC_EVENTS 17
+ #define SCC_TRACE_TABLE_OSC_STATES 18
+ #define SCC_TRACE_TABLE_OSC_EVENTS 19
+ #define SCC_TRACE_TABLE_CSC_STATES 20
+ #define SCC_TRACE_TABLE_CSC_EVENTS 21
+
+ extern CONST char* SccFsmNames[];
+
+#define TRACE_SCC_STATE_INFO_ENTER(SCC_FSM,EVENT,MODULE) if(CONDITIONAL_STATE != SCC_FSM.state) \
+ { \
+ dhl_trace(TRACE_INFO, DHL_USER_FLAG_NONE, DHL_SCC_ENTRY_STATE, \
+ #MODULE, \
+ MODULE##StateNames[SCC_FSM.state], \
+ MODULE##EventNames[EVENT]); \
+ } \
+ else \
+ { \
+ dhl_trace(TRACE_INFO, DHL_USER_FLAG_NONE, DHL_SCC_ENTRY_STATE, \
+ #MODULE, \
+ "conditional state", \
+ MODULE##EventNames[EVENT]); \
+ }
+
+#define TRACE_SCC_STATE_INFO_LEAVE(SCC_FSM,MODULE) if(CONDITIONAL_STATE != SCC_FSM.state) \
+ { \
+ dhl_trace(TRACE_INFO, DHL_USER_FLAG_NONE, DHL_SCC_EXIT_STATE, \
+ #MODULE, \
+ MODULE##StateNames[SCC_FSM.state]); \
+ } \
+ else \
+ { \
+ dhl_trace(TRACE_INFO, DHL_USER_FLAG_NONE, DHL_SCC_EXIT_STATE, \
+ #MODULE, \
+ "conditional state"); \
+ }
+
+
+
+
+
+/*****************************************************************************
+ * Macro definitions for ASSERT handling
+ ****************************************************************************/
+#if (ITRACE_TYPE == TOKEN_TRACING)
+
+#ifdef IASSERT
+#undef IASSERT
+#endif
+
+#ifdef SYS_DEBUG_FAULT_FILE_INFO
+
+#define IASSERT(expr) if (!(expr)) engAssert(SCC_ENGINE_ID, MyNameID, __MODULE__, __LINE__)
+
+#else
+
+#define IASSERT(expr) if (!(expr)) engAssert(SCC_ENGINE_ID, MyNameID, __LINE__)
+
+#endif /* SYS_DEBUG_FAULT_FILE_INFO */
+
+#else /* ~TOKEN_TRACING */
+#define IASSERT(expr) if (!(expr)) engAssert(MyName, __LINE__)
+#endif /* ITRACE_TYPE */
+
+/*****************************************************************************
+ * Macro definitions for tracing enabled
+ ****************************************************************************/
+
+#if (ITRACE_TYPE == TOKEN_TRACING)
+
+#ifdef TRACE
+#undef TRACE
+#endif
+
+#define TRACE(cat, level, token, s) \
+ engTraceEvent(SCC_ENGINE_ID, (kal_uint8)cat, (kal_uint8)level, \
+ MyNameID, token, 0, NULL, 0, NULL)
+
+
+#ifdef TRACEDATA
+#undef TRACEDATA
+#endif
+
+#define TRACEDATA(cat, level, token, str, dat, len) \
+ engTraceDataEvent(SCC_ENGINE_ID, (kal_uint8)cat, (kal_uint8)level, \
+ MyNameID, token, len, (kal_uint8 *)dat)
+
+
+#ifdef FTRACE1P
+#undef FTRACE1P
+#endif
+#define FTRACE1P(cat, level, token, fmt, var1) \
+ engTraceEvent(SCC_ENGINE_ID, (kal_uint8)cat, (kal_uint8)level, \
+ MyNameID, token, sizeof(var1), (kal_uint8 *)&var1, 0, NULL)
+
+#ifdef FTRACE2P
+#undef FTRACE2P
+#endif
+#define FTRACE2P(cat, level, token, fmt, var1, var2) \
+ engTraceEvent(SCC_ENGINE_ID, (kal_uint8)cat, (kal_uint8)level, \
+ MyNameID, token, \
+ sizeof(var1), (kal_uint8 *)&var1, sizeof(var2), (kal_uint8 *)&var2)
+
+#ifdef FTRACES
+#undef FTRACES
+#endif
+#define FTRACES(cat, level, token, fmt, var1) \
+ engTraceStringEvent(SCC_ENGINE_ID, (kal_uint8)cat, (kal_uint8)level, \
+ MyNameID, token, (char *)var1)
+#else /* ~TOKEN_TRACING */
+
+#define TRACE(cat, level, token, s) \
+ engTraceEvent(SCC_ENGINE_ID, (kal_uint8)cat, (kal_uint8)level, \
+ MyName, s, 0, NULL, 0, NULL)
+
+#define TRACEDATA(cat, level, token, str, dat, len) \
+ engTraceDataEvent(SCC_ENGINE_ID, (kal_uint8)cat, (kal_uint8)level, \
+ MyName, str, len, (kal_uint8*)dat)
+
+#define FTRACE1P(cat, level, token, fmt, var1) \
+ engTraceEvent(SCC_ENGINE_ID, (kal_uint8)cat, (kal_uint8)level, \
+ MyName, fmt, (kal_uint8)sizeof(var1), &var1, 0, NULL)
+
+#define FTRACE2P(cat, level, token, fmt, var1, var2) \
+ engTraceEvent(SCC_ENGINE_ID, (kal_uint8)cat, (kal_uint8)level, \
+ MyName, fmt, (kal_uint8)sizeof(var1), &var1, \
+ (kal_uint8)sizeof(var2), &var2)
+
+#define FTRACES(cat, level, token, fmt, var1) \
+ engTraceStringEvent(SCC_ENGINE_ID, (kal_uint8)cat, (kal_uint8)level, \
+ MyName, fmt, (char *)var1)
+
+#if (ITRACE_TYPE == STRING_TRACING)
+
+/* Indexed by FSM ID, which is the same as module ID */
+TRACE_TABLE(SccFsmNames, SCC_TRACE_TABLE_FSM_NAMES, MAX_MODULEID+1) =
+{
+ "", /* Not used */
+ "CPC",
+ "NEG",
+ "DBC",
+ "OSC",
+ "MSC",
+ "VSC",
+ "DSC",
+ "PSC",
+ "LSC"
+};
+
+#endif /* ITRACE_TYPE */
+
+
+
+#endif /* ITRACE_TYPE */
+#endif /* TRACEON */
+#endif /* _SCC_TR_H_ */
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/SCC_TUNE.H b/mcu/interface/protocol/as_c2k/1xrtt/SCC_TUNE.H
new file mode 100644
index 0000000..478deae
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/SCC_TUNE.H
@@ -0,0 +1,374 @@
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*************************************************************************
+ *
+ * File Name: scc_tune.th
+ * Project: SCC
+ * Original Author: Dan Doucette
+ * Creation Date: Oct 26, 1999
+ *
+ * Description: Definition of tuneable parameters
+ *
+ * Restrictions:
+ *
+ * Dependencies:
+ *
+ *************************************************************************
+ *
+ * This Software is the property of ISOTEL Corporation. Unauthorized
+ * use is prohibited.
+ *
+ * ISOTEL Corporation
+ * 340, 525-28 Street S.E.
+ * Calgary, Alberta, Canada T2A 6W9
+ * Tel: (403)275-0041 Fax: (403)274-3598
+ *
+ *
+ *
+ *
+ *************************************************************************
+ *
+ * RCS Log Information
+ *
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ *
+ ************************************************************************/
+
+#ifndef _SCC_TUNE_H
+#define _SCC_TUNE_H
+
+/*
+ * Dependencies
+ */
+#include "sysdefs.h"
+#include "Serv_cfg.h"
+/*
+ * SCC Constants
+ */
+
+/*
+ * Declaration of supported Service Options
+ */
+#define SO_ENABLED 1
+#define SO_DISABLED 0
+
+/* Voice */
+#define SO_01 SO_DISABLED
+#define SO_17 SO_DISABLED
+#define SO_03 SO_ENABLED
+
+#ifdef MTK_CBP_ENCRYPT_VOICE
+#define SO_68 SO_DISABLED
+#else
+#define SO_68 SO_ENABLED
+#endif
+
+#define SO_73 SO_DISABLED
+
+#define SO_8000 SO_DISABLED
+#define SO_56 SO_DISABLED
+#define SO_62 SO_DISABLED
+#define SO_63 SO_DISABLED
+#define SO_70 SO_DISABLED
+
+#ifdef MTK_CBP_ENCRYPT_VOICE
+#define SO_32944 SO_ENABLED
+#else
+#define SO_32944 SO_DISABLED
+#endif
+
+/* Packet Data and Circuit Data */
+#ifdef SYS_OPTION_RLP
+#define SO_04 SO_DISABLED
+#define SO_05 SO_DISABLED
+#define SO_07 SO_DISABLED
+#define SO_12 SO_DISABLED
+#define SO_13 SO_DISABLED
+#ifdef KDDI_EXTENSIONS
+#define SO_15 SO_ENABLED
+#else
+#define SO_15 SO_DISABLED
+#endif
+#define SO_22 SO_DISABLED
+#define SO_23 SO_DISABLED
+#define SO_24 SO_DISABLED
+#define SO_25 SO_DISABLED
+#define SO_33 SO_ENABLED
+#define SO_4100 SO_DISABLED
+#define SO_4101 SO_DISABLED
+#define SO_4103 SO_DISABLED
+#define SO_805A SO_DISABLED
+#define SO_805B SO_DISABLED
+#else
+#define SO_04 SO_DISABLED
+#define SO_05 SO_DISABLED
+#define SO_07 SO_DISABLED
+#define SO_12 SO_DISABLED
+#define SO_13 SO_DISABLED
+#define SO_15 SO_DISABLED
+#define SO_22 SO_DISABLED
+#define SO_23 SO_DISABLED
+#define SO_24 SO_DISABLED
+#define SO_25 SO_DISABLED
+#define SO_33 SO_DISABLED
+#define SO_4100 SO_DISABLED
+#define SO_4101 SO_DISABLED
+#define SO_4103 SO_DISABLED
+#define SO_805A SO_DISABLED
+#define SO_805B SO_DISABLED
+#endif /* SYS_OPTION_RLP */
+
+/* SMS */
+#define SO_06 SO_ENABLED
+#define SO_14 SO_ENABLED
+
+/* OTASP */
+#define SO_18 SO_ENABLED
+#define SO_19 SO_ENABLED
+
+/* Test (loopback/Markov) */
+#define SO_02 SO_ENABLED
+#define SO_09 SO_ENABLED
+#define SO_30 SO_DISABLED
+#define SO_31 SO_DISABLED
+#define SO_32 SO_ENABLED
+#define SO_54 SO_ENABLED
+#define SO_55 SO_ENABLED
+#define SO_75 SO_ENABLED
+#define SO_8002 SO_DISABLED
+#define SO_801E SO_ENABLED
+#define SO_801F SO_ENABLED
+
+/* IS801.1 Location Services */
+#define SO_35 SO_ENABLED
+#define SO_36 SO_ENABLED
+#define SO_08 SO_DISABLED
+#define SO_20 SO_DISABLED
+#define SO_21 SO_DISABLED
+#define SO_16 SO_DISABLED
+#define SO_4104 SO_DISABLED
+#define SO_26 SO_DISABLED
+#define SO_27 SO_DISABLED
+#define SO_28 SO_DISABLED
+#define SO_29 SO_DISABLED
+#define SO_34 SO_DISABLED
+
+
+
+/*
+ * Multiplex Option Information
+ */
+
+/*
+ * Declaration of maximum supported multiplex options
+ */
+#define MAX_FOR_SUPP_CHANNELS 5
+#define MAX_REV_SUPP_CHANNELS 1
+
+/*
+ * SCC Maximum Number of Simultaneous Connections Supported
+ */
+#define SCC_MAX_CONNECTIONS 1 /* range: 1 - 2 */
+/*
+ * SCC Maximum Number of Dialled Digits
+ */
+#define SCC_MAX_DIGITS 50 /* The device must support international dialing up to 49 digits */
+
+
+/*
+ * Maximum Number of Databurst Messages Queued up for Transmission
+ */
+#define DBC_MAX_Q_SIZE 3 /* range: 1 - 255 */
+
+/*
+ * Maximum Data Burst Message Size
+ */
+#define DBC_MAX_MSG_SIZE 240
+
+/*
+ * Maximum number of times to retry connection for a data burst message
+ * send before returning a failure to the sender
+ */
+ /* set to 1, not retry at scc dbc, retry at SMS TL */
+#define DBC_MAX_RETRY_COUNT 1
+/* ---------------------------------------------------------------------
+ * Name: Default Dormant Timeout Value
+ *
+ * Description:
+ * This switch defines the minimum amount of time (in deci-seconds) that
+ * the Packet Data Service will remain in the DORMANT state. This value
+ * may be overridden by the IWF with a Dormant Timer Service Option Control
+ * Message.
+ *
+ * Restrictions:
+ * 0 - 255
+ *
+ * Default Value:
+ * 30, timer length is 3 secomds, modify for ALPS02594252
+ */
+#define SCC_DEFAULT_DORM_TMO 30
+
+/* ---------------------------------------------------------------------
+ * Name: Japanese Packet Data Services Support.
+ *
+ * Description:
+ * This switch determines if SCC will include special support for
+ * Japanese Packet Data Services as defined by DDI/IDO. Many of the
+ * requirements in the DDI/IDO spec override those in IS-707-A.
+ *
+ * Restrictions:
+ * KAL_FALSE, KAL_TRUE
+ *
+ * Default Value:
+ * KAL_FALSE
+ */
+#define SCC_JAPANESE_DATA 0
+
+/* ---------------------------------------------------------------------
+ * Name: Default Service Option.
+ *
+ * Description:
+ * This switch determines the default service option used by the BS.
+ *
+ * Restrictions:
+ * 1 - 65534
+ *
+ * Default Value:
+ * 1
+ */
+#define SCC_DEFAULT_SERVICE_OPTION 1
+
+#define DEFAULT_IDMC KAL_TRUE
+#define DEFAULT_LSD_SO_PREF SERVICE_OPTION_15
+#define DEFAULT_MSD_SO_PREF SERVICE_OPTION_33
+#define DEFAULT_DS_PAGE_MAP SERVICE_OPTION_3
+#define DEFAULT_ASYNC_SO SERVICE_OPTION_12
+#define DEFAULT_FAX_SO SERVICE_OPTION_13
+#define DEFAULT_RS1_DS_SO SERVICE_OPTION_4
+#define DEFAULT_RS2_DS_SO SERVICE_OPTION_12
+#define DEFAULT_RS1_FAX_SO SERVICE_OPTION_5
+#define DEFAULT_RS2_FAX_SO SERVICE_OPTION_13
+#define DEFAULT_PACKET_SO SERVICE_OPTION_15
+#define DEFAULT_QNC_SINGLE SERVICE_OPTION_12
+#define DEFAULT_UP_BRWSR SERVICE_OPTION_12
+#define DEFAULT_BRWSR_ON_ASYNC SERVICE_OPTION_12
+#define DEFAULT_TCP_BRWSR SERVICE_OPTION_12
+#define DEFAULT_IS126_SO SERVICE_OPTION_2
+#define DEFAULT_MARKOV_SO SERVICE_OPTION_32798
+#define DEFAULT_SUPL_LPBK_SO SERVICE_OPTION_30
+#define DEFAULT_SMS_SO SERVICE_OPTION_6
+#define DEFAULT_OTASP_SO SERVICE_OPTION_19
+#define DEFAULT_CSC_SO SERVICE_OPTION_35
+
+/* Function Prototypes */
+kal_uint8* GetRlOrigDigits (void);
+#endif
+/**Log information: \main\CBP80\cbp80_cshen_scbp10103\1 2012-07-26 08:28:55 GMT cshen
+** cbp80_cshen_scbp10103**/
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/SCC_VSC.H b/mcu/interface/protocol/as_c2k/1xrtt/SCC_VSC.H
new file mode 100644
index 0000000..ccdcfac
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/SCC_VSC.H
@@ -0,0 +1,580 @@
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*************************************************************************
+ *
+ * File Name: scc_vsc.h
+ * Project: SCC
+ * Original Author: MMS
+ * Creation Date: Mar. 24/1999
+ *
+ * Description: Voice Services Controller Interface
+ *
+ * Restrictions:
+ *
+ * Dependencies:
+ *
+ *************************************************************************
+ * RCS Information
+ *
+ * $Id: SCC_VSC.H 1.3 2004/09/28 15:36:47 chinh Exp $
+ *
+ * $Log: SCC_VSC.H $
+ *
+ * 07 04 2019 lemon.xiong
+ * [MOLY00418783] [VMOLY]porting code
+ *
+ * 11 05 2018 lemon.xiong
+ * [MOLY00362041] [Gen95][USIR] user sensitive information removal
+ *
+ * .
+ *
+ * 08 28 2017 lemon.xiong
+ * [MOLY00267484] [BIANCO][MT6763][C2K]coverity warning fix
+ *
+ * scc code optimization and scc fsm trace change
+ *
+ * 07 04 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * ::KAL type - L3, folder ps
+ *
+ * 03 29 2017 max.wang
+ * [MOLY00238298] [voice call] porting code from MP6
+ *
+ * porting code for SIXTH00017085
+ *
+ * 11 09 2016 sue.zhong
+ * [MOLY00208435] [6293][C2K]Sync C2K code to UMOLYA TRUNK
+ * Update C2K PS code (1/2)
+ * Revision 1.3 2004/09/28 15:36:47 chinh
+ * Merged changes from cbp6.0.
+ * Revision 1.2 2004/03/25 12:07:27 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:39:38 fpeng
+ * Initial revision
+ * Revision 1.4 2002/06/06 14:56:16 bsharma
+ * Updated Copyright info.
+ * Revision 1.3 2001/12/14 17:15:03 mclee
+ * prototype vscGetCurType()
+ * Revision 1.2 2001/07/02 14:50:30 kmar
+ * Update SCC and SMS to CBP3 v360.
+ * New function prototypes.
+ * Revision 1.1 2001/01/17 10:57:41 plabarbe
+ * Initial revision
+ * Revision 1.1 2000/10/24 14:11:56 fpeng
+ * Initial revision
+ * Revision 1.3 2000/08/24 00:11:02Z hhong
+ * To update to SCC ver. 2.7
+ * Revision 1.16 2000/03/10 00:05:41 bcassidy
+ * 1. Remove vscCpHandoffInd.
+ * [CPC sends connectInd instead].
+ *
+ * Revision 1.15 2000/03/01 23:15:32 bcassidy
+ * 1. Update vscCpcDisconnectInd to match current design.
+ *
+ * Revision 1.14 2000/02/17 19:19:44 dfischer
+ * Added api to get state
+ *
+ * Revision 1.13 2000/02/01 23:21:14 ddoucett
+ * removed hard tabs
+ *
+ * Revision 1.12 1999/12/16 18:14:19 ddoucett
+ * fixed arm compiler warnings
+ *
+ * Revision 1.11 1999/12/08 19:27:06 ddoucett
+ * *** empty log message ***
+ *
+ * Revision 1.10 1999/12/08 06:03:38 ddoucett
+ * redesign of VSC for new negotiation procedures
+ *
+ * Revision 1.9 1999/07/24 00:36:22 msmith
+ * Removed ARM warnings
+ *
+ * Revision 1.8 1999/07/23 20:12:35 msmith
+ * Added support for new HandoffInd parameters and removel of ProtRev from it
+ *
+ * Revision 1.7 1999/07/22 20:19:11 msmith
+ * Added RCS log support
+ *
+ *
+ *
+ * This Software is the property of ISOTEL Research Ltd. Unauthorized
+ * use is prohibited.
+ *
+ * ISOTEL Research Ltd.
+ * 220, 6815-8th Street N.E.
+ * Calgary, Alberta, Canada T2E 7H7
+ * Tel: (403)275-0041 Fax: (403)274-3598
+ *
+ *
+ *
+ *
+ *************************************************************************
+ *
+ * RCS Log Information
+ *
+ *
+ ************************************************************************/
+
+#ifndef _SCC_VSC_H
+#define _SCC_VSC_H
+
+/*
+ * Dependencies
+ */
+
+#include <string.h>
+#include "SCC_TR.H"
+#include "SCC_DATA.H"
+#include "SCC_TUNE.H"
+#include "SCC_PFL.H"
+#include "SCC_API.H"
+#include "SCC_BIOS.H"
+#include "SCC_CPC.H"
+
+/*
+ * Common Voice Services Functions
+ */
+
+/***************************************************************************
+ *
+ * Function Name: vscReset
+ *
+ * Description: Initialize the VSC on power up
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+extern void vscReset(void);
+#ifdef MTK_CBP_REL_OPTIMIZE
+extern kal_bool IsLoopBackInitByVoiceCall(void);
+#endif
+
+/***************************************************************************
+ *
+ * Function Name: vscGetCurCfg
+ *
+ * Description: Returns the Current configuration within VSC
+ *
+ * Parameters: None
+ *
+ * Returns: ServiceConfiguration*: pointer to the Current
+ * configuration
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServiceConfiguration* vscGetCurCfg(void);
+
+
+/*
+ * CPC interface to the Voice Service Controller
+ */
+
+/***************************************************************************
+ *
+ * Function Name: vscCpcAlertInd
+ *
+ * Description: Indication an incoming call for data services is pending
+ *
+ * Parameters: FORInfoData *alert: Alert Information
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void vscCpcAlertInd(FORInfoData *alert);
+
+/***************************************************************************
+ *
+ * Function Name: vscCpcConnectFailInd
+ *
+ * Description: Indication the connection attempt failed
+ *
+ * Parameters: kal_uint8 reason: Reason for Failure
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ***************************************************************************/
+void vscCpcConnectFailInd(kal_uint8 reason);
+
+/***************************************************************************
+ *
+ * Function Name: vscCpcConnectInd
+ *
+ * Description: Indication the CPC has connected a data service option
+ *
+ * Parameters: ServiceConfiguration cfg: connected service configuration
+ * kal_uint8 cn: Connection Record Index
+ * kal_bool rlpCtl: Indication if VSC controlls RLP
+ * kal_bool origDir: Indication of the origination direction
+ * of the call KAL_FALSE -- mobile terminated call
+ * KAL_TRUE -- mobile originated call
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void vscCpcConnectInd(ServiceConfiguration *cfg, kal_uint8 cn);
+
+/****************************************************************************
+ *
+ * Name: dscCpcDisconnectInd
+ *
+ * Scope: public
+ *
+ * Description: Indication that the currently connected Voice service has been
+ * disconnected.
+ *
+ * Parameters:
+ * kal_bool fade - KAL_TRUE: The service was disconnected due to a fade.
+ *
+ * Returns:
+ * void
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+#ifdef MTK_CBP_REL_OPTIMIZE
+void vscCpcDisconnectInd (kal_uint8);
+#else
+void vscCpcDisconnectInd (kal_bool fade);
+#endif
+
+/***************************************************************************
+ *
+ * Function Name: vscCpcPageInd
+ *
+ * Description: Indication of an incoming page for data services
+ *
+ * Parameters: kal_uint16 svcOpt: Service option of the incoming page
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void vscCpcPageInd(kal_uint16 svcOpt);
+
+/***************************************************************************
+ *
+ * Function Name: vscCpcSocoInd
+ *
+ * Description: Indication from CPC of a pending Service Option Control
+ * Order for voice services
+ *
+ * Parameters: kal_uint8 ordq: message contents
+ * kal_uint32 actionTime: action time of the message
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void vscCpcSocoInd(kal_uint8 ordq, kal_uint32 actionTime);
+
+/***************************************************************************
+ *
+ * Function Name: vscCpcSocmInd
+ *
+ * Description: Indication from CPC of a pending Service Option Control
+ * Message for voice services
+ *
+ * Parameters: kal_uint8 conRef: Service Option connection reference
+ * kal_uint16 svcOpt: Service Option
+ * kal_uint8 *ctlRec: Pointer to the message data
+ * kal_uint8 length: length of the message in bytes
+ * kal_uint32 actionTime: action time of the message
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void vscCpcSocmInd(kal_uint8 conRef, kal_uint16 svcOpt, kal_uint8 *ctlRec,
+ kal_uint8 length, kal_uint32 actionTime);
+
+
+/*
+ * Interface from Call Processing
+ */
+/***************************************************************************
+ *
+ * Function Name: vscCpNetworkPRev
+ *
+ * Description: Indication of the current network protocol revision
+ *
+ * Parameters: kal_uint8 pRev: Protocol Revision of the current BS
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void vscCpNetworkPRev(kal_uint8 pRev);
+
+/***************************************************************************
+ *
+ * Function Name: vscCpNoSvcInd
+ *
+ * Description: No Service Currently availible
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void vscCpNoSvcInd(void);
+
+/***************************************************************************
+ *
+ * Function Name: vscCpReadyInd
+ *
+ * Description: Indication the CP is in idle state and has acquired
+ * a base station with the following parameters
+ *
+ * Parameters: BandClass band: Band Class of connection
+ * kal_uint8 block: CDMA Block (A...F)
+ * kal_uint16 sid: System Id
+ * kal_uint16 nid: Network Id
+ * kal_uint8 type: type of channel
+ * (1 = CDMA)
+ * (2 = TDMA)
+ * (3 = AMPS)
+ * kal_uint8 protRev: Protocol revision of the BS
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void vscCpReadyInd(SysCdmaBandT band, kal_uint8 block, kal_uint16 sid,
+ kal_uint16 nid, kal_uint8 protRev);
+
+/*
+ * Voice Services Service Validation Procedures
+ */
+
+/***************************************************************************
+ *
+ * Function Name: vscNegGetServCfgNoConnections
+ *
+ * Description: Returns the Preferred Service Configuration given
+ * a valid service option number
+ *
+ * Parameters: ServiceOption: Valid Service Option
+ *
+ * Returns: ServiceConfiguration *: Pointer to a valid
+ * ServiceConfiguration.
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServiceConfiguration* vscNegGetServCfgNoConnections(SysServiceOptionT so);
+
+/***************************************************************************
+ *
+ * Function Name: vscNegServiceConfigurationInitiation
+ *
+ * Description: Indication to SCC to begin the process of service
+ * configuration negotiation
+ *
+ * Parameters: None
+ *
+ * Returns: ServiceConfiguration *: Pointer to a valid service
+ * configuration
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServiceConfiguration* vscNegServiceConfigurationInitiation(kal_uint8 rs);
+
+/***************************************************************************
+ *
+ * Function Name: vscNegServiceConfigurationValidation
+ *
+ * Description: Validate the given service configuration and
+ * propose an alternate if the given configuration
+ * is not supported and val is KAL_FALSE
+ *
+ * Parameters: ServiceConfiguration *sc: Input -- pointer to a service
+ * configuration
+ * Output -- alternate
+ * configuration
+ * kal_bool val: Validate Only Flag, if it is KAL_TRUE
+ * this routine will not propose an alternate
+ * configuration if the given configuration is
+ * not supported
+ *
+ * Returns: SCResponse: Either 'SC_Accept' 'SC_Reject' or
+ * 'SC_Alternate'
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+SCResponse vscNegServiceConfigurationValidation(kal_bool valOnly,
+ ServiceConfiguration *sc);
+
+/***************************************************************************
+ *
+ * Function Name: vscNegServiceOptionValidation
+ *
+ * Description: Validate service option and propose alternate if
+ * it is not supported
+ *
+ * Parameters: ServiceOption *so: Input: Pointer to service option number
+ * to be validated
+ * Output: Alternative Service Option
+ *
+ * Returns: SCResponse: Either 'SC_Accept' 'SC_Reject' or
+ * 'SC_Alternate'
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+SCResponse vscNegServiceOptionValidation(SysServiceOptionT *so, kal_bool paged);
+
+/***************************************************************************
+ *
+ * Function Name: vscGetNumAltSo
+ *
+ * Description: Returns the number of service options listed for
+ * the voice type.
+ *
+ * Parameters: (none)
+ *
+ * Returns: kal_uint8 - the number of alternative voice service options
+ * supported by the mobile
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+kal_uint8 vscGetNumAltSo(void);
+
+/***************************************************************************
+ *
+ * Function Name: vscCpcIdleConnInd
+ *
+ * Description: Indication of a connection at idle state from CPC. It's
+ * more than likely caused by a queued MO call.
+ *
+ * Parameter:
+ * ServiceConfiguration cfg: connected service configuration
+ * kal_uint8 cn: Connection Record Index
+ *
+ * Returns: None
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void vscCpcIdleConnInd(ServiceConfiguration *cfg, kal_uint8 cn);
+
+/***************************************************************************
+ *
+ * Function Name: vscGetPrefServCfg
+ *
+ * Description: Returns the Preferred Service Configuration
+ *
+ * Parameters: void
+ *
+ * Returns: ServiceConfiguration *: Pointer to a valid
+ * ServiceConfiguration.
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+ServiceConfiguration* vscGetPrefServCfg(void);
+
+/***************************************************************************
+ *
+ * Function Name: vscCpcInit
+ *
+ * Description: Initializes per-call global variables
+ *
+ * Parameters: void
+ *
+ * Returns: None
+ *
+ ****************************************************************************/
+void vscCpcInit( void );
+
+/****************************************************************************
+ *
+ * Name: vscGetState
+ *
+ * Description: Returns current VSC state.
+ *
+ * Parameters: None
+ *
+ * Returns: UIN8 _fsm.state
+ *
+ *****************************************************************************/
+kal_uint8 vscGetState(void);
+
+kal_bool vscCallRelease(void);
+kal_uint16 vscGetCurrentOrigSo(void);
+
+/***************************************************************************
+ *
+ * Function Name: vscGetProfile
+ *
+ * Description: Returns the address of the static structure _profiles.
+ *
+ * Parameters: (none)
+ *
+ * Returns: ServCfgParms * - pointer to voice profiles
+ *
+ * Notes: This is used in support of alternative service options.
+ *
+ ****************************************************************************/
+ServCfgParms *vscGetProfile(void);
+
+/***************************************************************************
+ *
+ * Function Name: vscSetSO73WBEnabled
+ *
+ * Description:
+ *
+ * Parameters: (none)
+ *
+ * Returns:
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+void vscSetSO73WBEnabled(kal_bool Enabled);
+
+/***************************************************************************
+ *
+ * Function Name: vscGetSO73WBEnabled
+ *
+ * Description:
+ *
+ * Parameters: (none)
+ *
+ * Returns:
+ *
+ * Notes:
+ *
+ ****************************************************************************/
+kal_bool vscGetSO73WBEnabled(void);
+#ifdef __SENSITIVE_DATA_MOSAIC__
+void sccVscSensitiveClean(void);
+#endif
+#endif /* _SCC_VSC_H */
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/Serv_cfg.h b/mcu/interface/protocol/as_c2k/1xrtt/Serv_cfg.h
new file mode 100644
index 0000000..e9f30bc
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/Serv_cfg.h
@@ -0,0 +1,558 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Filename: serv_cfg.h - Service Configuration
+ *
+ * Purpose: Definition of Service Configuration structures and
+ * supporting routines.
+ *
+ ****************************************************************************
+ *
+ * PVCS Header Information
+ *
+ * $Revision: 1.4 $
+ * $Author: blee $
+ *
+ * $Log: Serv_cfg.h $
+ *
+ * 09 01 2017 lemon.xiong
+ * [MOLY00267484] [BIANCO][MT6763][C2K]coverity warning fix
+ *
+ * ut code
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ *
+ * 05 17 2017 peijun.zheng
+ * [MOLY00249027] [BIACNO][MT6763][New feature]C2K code release code modification
+ *
+ * C2k code release.
+ * Revision 1.4 2004/10/07 12:43:15 blee
+ * RLP blob for PREV 9
+ * Revision 1.3 2004/04/23 10:50:30 asharma
+ * CBP6.1 (Phase-1) DV Data and Voice Call Setup changes.
+ * Revision 1.2.1.2 2004/04/14 15:20:20 asharma
+ * Revision 1.2 2004/03/25 12:09:04 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.2 2004/02/10 12:50:29 bcolford
+ * Merged CBP4.0 Release 8.05.0 changes.
+ * Revision 1.20 2003/12/17 09:58:48 mclee
+ * Add function scNNGetServiceConfiguration()
+ * Revision 1.19 2003/03/12 16:26:23 byang
+ * CR #1763: Added symbols for SO32858 and SO32859.
+ * Revision 1.18 2002/12/30 19:08:54 akayvan
+ * Per CR570, Cosmetic changes for replacement of
+ * IS2000A with either IS2000_REV_A or IS2000_REV_0.
+ * Revision 1.17 2002/08/22 11:07:42 agontar
+ * Change some static data to be declared constant - CR 1070
+ * Revision 1.16 2002/06/06 13:14:39 chinh
+ * Changed and Added Copyright
+ * Revision 1.15 2002/06/05 16:27:52 byang
+ * CR #741: Add function prototype declaration for
+ * scValidateAlternateRC().
+ * Revision 1.14 2002/02/15 10:29:46 byang
+ * Add new data type, RateSetType, to identify different rate set
+ * classes.
+ *
+ * Revision 1.13 2002/02/14 16:20:51 byang
+ * Add new service option definitions.
+ * Revision 1.12 2002/02/01 14:47:54 byang
+ * Added a new field nnScrIncl to ServiceConfiguration. This flag
+ * is set when the SCR and NNSCR were included in the same
+ * overhead message (i.e. SCM, GHDM, UHDM).
+ * Revision 1.11 2001/11/20 12:33:28 mclee
+ * Add SO for OTAPA
+ * Revision 1.10 2001/11/13 17:45:55 byang
+ * Define strict data types for SCH portion of Service Configuration.
+ * Revision 1.9 2001/10/23 15:51:27 byang
+ * Added support for SO32 and SO55.
+ * Revision 1.8 2001/08/30 15:02:28 byang
+ * Updated Service Configuration data structure to conform to
+ * IS2000 Rev.0 definition.
+ * Revision 1.7 2001/08/14 11:57:49 hhong
+ * Add SO33
+ * Revision 1.6 2001/08/06 13:54:19 akayvan
+ * #define SERVICE_OPTION_54 added.
+ * Revision 1.5 2001/07/02 14:10:30 kmar
+ * Update SCC and SMS to CBP3 v360.
+ * Added #define for SMS Service Options
+ * Revision 1.4 2001/05/22 11:19:02 yfang
+ * supported SO4100 data call
+ * Revision 1.3 2001/04/11 09:58:40 akayvan
+ * Updated ServiceConfiguration structure for supplemental channel
+ * fields per IS2K Rev0 compliance.
+ * Revision 1.2 2001/03/16 11:34:55 akayvan
+ * Traffic code phase1 added.
+ * Revision 1.1 2001/01/17 10:59:24 plabarbe
+ * Initial revision
+ * Revision 1.2 2000/11/27 13:15:20 chinh
+ * Added new functions to support Access State for IS2000
+ * Revision 1.1.1.2 2000/11/11 01:26:54Z chinh
+ * Added new function prototypes and enums to support Access Mode for IS2000
+ * Revision 1.1.1.1 2000/10/24 21:11:27Z chinh
+ * Duplicate revision
+ * Revision 1.1 2000/10/24 21:11:27Z fpeng
+ * Initial revision
+ * Revision 1.5 2000/08/23 22:11:23Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes.
+ * Revision 1.4 2000/07/27 01:29:08Z hhong
+ * To add defines for SO=7 and 15
+ * Revision 1.3 2000/03/09 23:44:57Z dstecker
+ * Added Markov Service Option
+ * Revision 1.2 2000/03/01 18:15:55Z rsattari
+ * Isotel release 2.3 updates.
+ * Revision 1.15 2000/01/17 22:27:19 scotvold
+ * TC Backward Compatibility changes.
+ *
+ * Revision 1.14 1999/03/03 19:45:52 mhayduk
+ * Defined default service option as that from custom.h.
+ *
+ * Revision 1.13 1999/01/26 18:51:48 scotvold
+ * R1.2 API changes.
+ *
+ * Revision 1.12 1999/01/09 00:36:06 scotvold
+ * Changed MultiplexOptionRec to pointer.
+ *
+ * Revision 1.11 1998/11/20 16:46:57 scotvold
+ * Fixed typo in define.
+ *
+ * Revision 1.10 1998/11/02 22:13:40 scotvold
+ * Added Service Option/Multiplex Option record support.
+ *
+ * Revision 1.9 1998/10/20 23:58:23 mhayduk
+ * Added T53 support.
+ *
+ * Revision 1.8 1998/07/14 17:26:09 scotvold
+ * Service Configuration Initiation support.
+ *
+ * Revision 1.7 1998/07/03 16:57:30 dfischer
+ * New load
+ *
+ * Revision 1.6 1998/06/12 14:50:38 scotvold
+ * Updated for Release 0.07.
+ *
+ * Revision 1.5 1998/06/08 21:48:25 scotvold
+ * Updated for Release 0.06.
+ *
+ * Revision 1.4 1998/05/01 18:13:54 scotvold
+ * Update for release 0.04
+ *
+ * Revision 1.3 1998/03/30 23:26:03 mhayduk
+ * Release 0.03.
+ *
+ * Revision 1.1 1998/02/18 16:54:33 mhayduk
+ * Initial revision
+ *
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+#ifndef _SERV_CFG_H_
+
+#define _SERV_CFG_H_ 1
+
+/*****************************************************************************
+ * Includes
+ ****************************************************************************/
+#include "custom.h"
+/*AKK 11-20-00 Added per LMD_SERVICE_CONFIG_NN_MSG*/
+#include "lmdapi.h"
+/*END--AKK 11-20-00 Added per LMD_SERVICE_CONFIG_NN_MSG */
+#include "pswairmsg.h"
+#include "pswapi.h"
+
+/*****************************************************************************
+ * Definitions
+ ****************************************************************************/
+#define FUNDAMENTAL_CODE_CHANNEL 0
+
+typedef enum
+{
+ SC_VALIDATE_PROPOSE = 0,
+ SC_VALIDATE_ONLY = 1
+
+} SCValidationAction;
+
+/* Service configuration defintions */
+
+typedef enum
+{
+ RS1_9600 = 0x80,
+ RS1_4800 = 0x40,
+ RS1_2400 = 0x20,
+ RS1_1200 = 0x10,
+ RS1_RSVD = 0x0F
+} RateSet1;
+
+
+typedef enum
+{
+ RS2_14400 = 0x80,
+ RS2_7200 = 0x40,
+ RS2_3600 = 0x20,
+ RS2_1800 = 0x10,
+ RS2_RSVD = 0x0F
+} RateSet2;
+
+typedef enum
+{
+ RATE_SET_INVALID,
+ RATE_SET_1_CLASS_1, /* RC 1 */
+ RATE_SET_2_CLASS_1, /* RC 2 */
+ RATE_SET_1_CLASS_2, /* RC 3 or RC 5*/
+ RATE_SET_2_CLASS_2, /* RC 4 or RC 6 */
+ RATE_SET_1_CLASS_3 /* RC 8 */
+ } RateSetType;
+
+typedef enum
+{
+ GM_DEFAULT_CONFIG_NEG_BEFORE_SERVICE_CONNECT,
+ GM_SERVICE_OPTION_CONFIG_NEG_BEFORE_SERVICE_CONNECT,
+ GM_SERVICE_OPTION_CONFIG_NO_NEG,
+ GM_USE_STORED_SERVICE_CONFIG
+} GrantedMode;
+
+
+typedef enum
+{
+ DC_MUX_OPTION1_RATE_SET1,
+ DC_MUX_OPTION2_RATE_SET2
+/*AKK 12-30-02 per CR#570 Replaced IS2000A with IS2000_REV_0*/
+#ifdef IS2000_REV_0
+ ,DC_FOR_MUX1RC1_REV_MUX2RC2
+ ,DC_FOR_MUX2RC2_REV_MUX1RC1
+ ,DC_FOR_REV_MUXRC
+#endif
+} DefaultConfig;
+
+
+
+typedef enum
+{
+ FOR_TRANS_RATE_ONE = 0x8,
+ FOR_TRANS_RATE_HALF = 0x4,
+ FOR_TRANS_RATE_QUARTER = 0x2,
+ FOR_TRANS_RATE_EIGHTH = 0x1
+
+} TransmissionRates;
+
+
+/*****************************************************************************
+ * Service Configuration structure definitions
+ ****************************************************************************/
+
+#define CP_MAX_ROUNDS_FWD 7
+#define CP_MAX_ROUNDS_REV 7
+
+#define CP_MAX_NUM_FOR_SCH 2
+#define CP_MAX_NUM_REV_SCH 2
+
+/* AKK 08-22-00 added NN serv cfg record */
+/*AKK 12-30-02 per CR#570 Replaced IS2000A with IS2000_REV_0*/
+#ifdef IS2000_REV_0
+typedef struct
+{
+ kal_uint8 forSchId;
+ kal_uint8 forSchFrameOffset;
+} ForSupCh;
+
+typedef struct
+{
+ kal_uint8 revSchId;
+ kal_uint8 revSchFrameOffset;
+} RevSupCh;
+
+#define CP_MAX_FOR_SUP_CH_REC 4
+#define CP_MAX_REV_SUP_CH_REC 4
+
+/* AKK 07-31-00 IS2000A*/
+typedef struct
+{
+ kal_uint8 srId;
+ kal_uint8 logicalResource;
+ kal_uint8 physicalResource;
+ kal_bool forwardFlag;
+ kal_bool reverseFlag;
+ kal_uint8 priority;
+} LPM;
+/*END-- AKK 07-31-00 IS2000A*/
+
+typedef struct
+{
+ kal_uint8 recordLen;
+ kal_uint8 srId;
+ kal_bool sdbSoOmit;
+} SrvOptConType;
+
+typedef struct
+{
+ kal_uint8 numBitsIdx[16];
+ kal_uint16 numBits[16];
+ kal_uint8 crcLenIdx[16];
+} FlexRateRecType2;
+
+typedef struct
+{
+ kal_uint8 numBitsTableId[8];
+ kal_uint8 numRecs[8];
+ FlexRateRecType2 flexRateRec2[8];
+} FlexRateRecType;
+
+
+typedef struct
+{
+ kal_uint8 numBitsIdx[16];
+ kal_uint16 mask[16];
+} VarRateRecType2;
+
+typedef struct
+{
+ kal_uint8 varRateTableId[8];
+ kal_uint8 numRecs[8];
+ VarRateRecType2 varRateRec2[8];
+} VarRateRecType;
+
+typedef struct
+{
+ kal_uint8 nBitsIdx[16];
+ kal_uint8 numLtus[16];
+} LtuRecType2;
+
+typedef struct
+{
+ kal_uint8 ltuTableId[4];
+ kal_uint8 numRows[4];
+ LtuRecType2 ltuRec2[4];
+/* kal_uint8 nBitsIdx[4][16];
+ kal_uint8 numLtus[4][16];
+ kal_uint8 ltuLen[4][16];*/
+} LtuRecType;
+
+typedef struct
+{
+ kal_uint8 srId[8];
+ kal_uint16 srvNumBits[8];
+} ParTabRecType3;
+
+typedef struct
+{
+ kal_uint8 category[32];
+ kal_uint8 muxHeaderLen[32];
+ kal_uint8 muxHeader[32];
+ kal_uint8 numPartitions[32];
+ ParTabRecType3 parTabRec3[32];
+} ParTabRecType2;
+
+typedef struct
+{
+ kal_uint8 partitionTablesId[4];
+ kal_uint8 numRows[4];
+ ParTabRecType2 parTabRec2[4];
+} ParTabRecType;
+
+
+typedef struct
+{
+ /*AKK 11-17-00 Added per L1D_SERVICE_CONFIG_NN_MSG */
+ kal_bool fpcIncl;
+ kal_bool fpcPriChan; /* valid only if fpc_incl = 1 */
+ kal_uint8 fpcMode; /* valid only if fpc_incl = 1 */
+ kal_bool fpcOlpcFchIncl;
+ kal_uint8 fpcFchFer; /* valid only if fpc_olpc_fch_incl = 1 */
+ kal_uint8 fpcFchMinSetPt; /* valid only if fpc_olpc_fch_incl = 1 */
+ kal_uint8 fpcFchMaxSetPt; /* valid only if fpc_olpc_fch_incl = 1 */
+ kal_bool fpcOlpcDcchIncl;
+ kal_uint8 fpcDcchFer; /* valid only if fpc_olpc_dcch_incl = 1 */
+ kal_uint8 fpcDcchMinSetPt; /* valid only if fpc_olpc_dcch_incl = 1 */
+ kal_uint8 fpcDcchMaxSetPt; /* valid only if fpc_olpc_dcch_incl = 1 */
+ kal_bool gatingRateIncl;
+ kal_uint8 pilotGatingRate; /* valid only if gating_rate_incl = 1 */
+ /*END--AKK 11-17-00 Added per L1D_SERVICE_CONFIG_NN_MSG */
+ kal_bool forSchIncl;
+ kal_uint8 numForSch;
+ ForSupCh forSch[CP_MAX_FOR_SUP_CH_REC]; /* serv opt conn recs */
+ kal_bool revSchIncl;
+ kal_uint8 numRevSch;
+ RevSupCh revSch[CP_MAX_REV_SUP_CH_REC]; /* serv opt conn recs */
+ kal_uint8 lpmInd;
+ /*AKK 11-17-00 Added per LMD_SERVICE_CONFIG_NN_MSG */
+ kal_uint8 numLpmEntries;
+ LPM logicalToPhysicalMappingTable[MAX_LPM_ENTRIES];
+#ifndef REMOVE_IS2000_REL_A
+ kal_uint8 numRec;
+ SrvOptConType serviceOptionConn[8];
+ kal_bool useFlexNumBits;
+ kal_bool numBitsTablesIncl;
+ kal_uint8 numBitsTablesCount;
+ FlexRateRecType flexRateRec;
+ kal_bool useVarRate;
+ kal_uint8 varRateTablesCount;
+ kal_bool varTablesIncl;
+ VarRateRecType varRateRec;
+ kal_bool useOldFlexMapping;
+ kal_uint8 fsch0NbitTableId;
+ kal_uint8 rsch0NbitTableId;
+ kal_uint8 fsch1NbitTableId;
+ kal_uint8 rsch1NbitTableId;
+ kal_uint8 ffchNbitTableId;
+ kal_uint8 rfchNbitTableId;
+ kal_uint8 fdcchNbitTableId;
+ kal_uint8 fdcchNbitsIdx;
+ kal_uint8 rdcchNbitTableId;
+ kal_uint8 rdcchNbitsIdx;
+ kal_bool useOldVarMapping;
+ kal_uint8 fsch0VarTableId;
+ kal_uint8 rsch0VarTableId;
+ kal_uint8 fsch1VarTableId;
+ kal_uint8 rsch1VarTableId;
+ kal_bool rIncRateAllowed;
+ kal_bool fIncRateAllowed;
+ kal_bool ltuInfoIncl;
+ kal_bool ltuTablesIncl;
+ kal_uint8 numLtuTables;
+ LtuRecType ltuRec;
+ kal_bool useOldLtuMapping;
+ kal_uint8 fsch0LtuTabId;
+ kal_uint8 rsch0LtuTabId;
+ kal_uint8 fsch1LtuTabId;
+ kal_uint8 rsch1LtuTabId;
+ kal_bool partitionTablesInfoIncl;
+ kal_bool partitionTablesIncl;
+ kal_uint8 numPartitionTables;
+ ParTabRecType parTabRec;
+ kal_bool useOldPartMapping;
+ kal_uint8 ffchPartTabId;
+ kal_uint8 rfchPartTabId;
+ kal_uint8 fdcchPartTabId;
+ kal_uint8 rdcchPartTabId;
+ kal_bool useEram;
+ kal_bool switchingParamsIncl;
+ kal_uint8 numSoftSwitchingFramesChm;
+ kal_uint8 numSofterSwitchingFramesChm;
+#endif
+ } NNServiceConfiguration;
+#endif
+/*END--AKK 08-22-00 added NN serv cfg record */
+
+/* Service Option Information Element */
+typedef struct
+{
+ kal_uint16 serviceOption;
+ kal_bool forwardSupport;
+ kal_bool reverseSupport;
+ kal_uint8 defaultNegMode;
+} ServiceOptionRec;
+
+/* Service Option Information Record */
+typedef struct
+{
+ kal_uint8 numServiceOption;
+ const ServiceOptionRec* rec;
+} ServiceOptionInfo;
+
+
+/* Multiplex Option Information Element */
+typedef struct
+{
+ kal_uint16 multiplexOption;
+ /*AKK 11-16-00 Modified for LMD_SERVICE_CONFIGURATION_MSG*/
+ kal_uint8 forNumBits;
+ kal_uint8 revNumBits;
+ /*END--AKK 11-16-00 Modified for LMD_SERVICE_CONFIGURATION_MSG*/
+} MultiplexOptionRec;
+
+/* Multiplex Option Information Record */
+typedef struct
+{
+ kal_uint8 numMultiplexOption;
+ const MultiplexOptionRec* rec;
+} MultiplexOptionInfo;
+
+
+/*****************************************************************************
+ * Prototypes
+ ****************************************************************************/
+
+ServiceConfiguration* scGetServiceConfiguration (void);
+ServiceConfiguration* scGetPendingServiceConfiguration (void);
+void scSetServiceConfiguration (ServiceConfiguration* serviceConfig);
+NNServiceConfiguration* scGetNNServiceConfiguration (void);
+void scSetPendingServiceConfiguration(ServiceConfiguration* serviceConfig);
+/*AKK 11-22-00 Per L1D/LMD_SERVICE_CONFIG_NN_MSG*/
+void scSetPendingNNServiceConfiguration(NNServiceConfiguration* serviceConfig);
+void scSetNNServiceConfiguration (NNServiceConfiguration* serviceConfig);
+NNServiceConfiguration* scGetPendingNNServiceConfiguration (void);
+/*END--AKK 11-22-00 Per L1D/LMD_SERVICE_CONFIG_NN_MSG*/
+void scSetInitialServiceConfiguration (kal_bool servNeg,
+ GrantedMode grantedMode,
+ DefaultConfig defaultConfig);
+kal_uint16 scGetServiceOption (void);
+void scSetServiceOption (kal_uint16 serviceOption);
+GrantedMode scGetGrantedModeS (void);
+kal_bool scFindConnection (kal_uint8 conRef, kal_uint16 serviceOption, kal_bool checkPending);
+kal_bool scServiceOptionConnection (void);
+void scDeleteNonPrimaryConnections (void);
+kal_uint16 scServiceOptionValidation (kal_uint16 serviceOption);
+kal_bool scDefaultConfigValidation (DefaultConfig defaultConfig);
+void scSetPendingServCfgWithConnection (kal_uint16 serviceOption);
+kal_uint16 scFindServiceOption (TrafficType trafficType);
+/*AKK 12-30-02 per CR#570 Replaced IS2000A with IS2000_REV_0*/
+#ifdef IS2000_REV_0
+kal_bool cpIsDefaultConfigSupported(DefaultConfig defaultConfig, kal_uint8 forRc, kal_uint8 revRc, kal_uint8 chInd);
+kal_bool cpIsDefaultConfigMismatch(DefaultConfig defaultConfig, kal_uint8 forRc, kal_uint8 revRc);
+#endif
+
+kal_bool scValidateAlternateRC
+(
+ const RcTypes defaultForRc,
+ const RcTypes defaultRevRc,
+ const RcTypes alternateForRc,
+ const RcTypes alternateRevRc
+);
+
+#endif /* _SERV_CFG_H_ */
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/Serv_neg.h b/mcu/interface/protocol/as_c2k/1xrtt/Serv_neg.h
new file mode 100644
index 0000000..1a52458
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/Serv_neg.h
@@ -0,0 +1,227 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Module: serv_neg.h
+ *
+ * Purpose: Header file for serv_neg.c
+ *
+ ****************************************************************************
+ *
+ * PVCS Header Information
+ *
+ * $Revision: 1.2 $
+ * $Author: fpeng $
+ *
+ * $Log: Serv_neg.h $
+ *
+ * 09 01 2017 lemon.xiong
+ * [MOLY00267484] [BIANCO][MT6763][C2K]coverity warning fix
+ *
+ * ut code
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ * Revision 1.2 2004/03/25 12:09:05 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:39:04 fpeng
+ * Initial revision
+ * Revision 1.5 2002/06/06 13:14:44 chinh
+ * Changed and Added Copyright
+ * Revision 1.4 2002/04/23 16:50:17 dstecker
+ * Added action_time parameter to snSHCNM & snNNSHCNM prototypes
+ * Revision 1.3 2002/03/18 11:46:00 dstecker
+ * Added snNNSHCNM prototype
+ * Revision 1.2 2001/08/03 15:15:28 dstecker
+ * Modifications for IS2000 handoffs
+ * Revision 1.1 2001/01/17 10:59:25 plabarbe
+ * Initial revision
+ * Revision 1.1 2000/10/24 14:11:27 fpeng
+ * Initial revision
+ * Revision 1.3 2000/08/23 22:11:26Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes.
+ * Revision 1.2 2000/03/01 18:16:00Z rsattari
+ * Isotel release 2.3 updates.
+ * Revision 1.15 2000/01/17 22:27:19 scotvold
+ * TC Backward Compatibility changes.
+ *
+ * Revision 1.14 1999/09/09 23:36:54 scotvold
+ * The Origination Continuation message is sent upon entry to
+ * the Conversation State to meet spec requirements. It was
+ * sent after reception of Service Connect, however this is
+ * too late.
+ *
+ * Revision 1.13 1999/02/22 05:37:12 scotvold
+ * Minor change.
+ *
+ * Revision 1.12 1999/02/05 02:26:25 scotvold
+ * Added Origination Continuation support.
+ *
+ * Revision 1.11 1999/01/26 18:52:02 scotvold
+ * R1.2 API changes.
+ *
+ * Revision 1.10 1999/01/09 00:36:51 scotvold
+ * Added service option to Req/Resp calls.
+ *
+ * Revision 1.9 1998/10/20 23:58:23 mhayduk
+ * Added T53 support.
+ *
+ * Revision 1.8 1998/10/16 17:11:23 scotvold
+ * Made ftcOrderData global.
+ *
+ * Revision 1.7 1998/09/11 19:44:33 scotvold
+ * Service Negotiation Mode Initialization routine.
+ *
+ * Revision 1.6 1998/09/11 02:40:23 scotvold
+ * Added return to Service Option Control API calls.
+ *
+ * Revision 1.5 1998/07/20 23:23:23 scotvold
+ * Added state machine trace support.
+ *
+ * Revision 1.4 1998/07/14 17:25:39 scotvold
+ * Service Configuration Initiation support.
+ *
+ * Revision 1.3 1998/07/03 16:57:30 dfischer
+ * New load
+ *
+ * Revision 1.2 1998/03/30 23:26:03 mhayduk
+ * Release 0.03.
+ *
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+#ifndef _SERV_NEG_H_
+
+ #define _SERV_NEG_H_ 1
+
+/*****************************************************************************
+* Includes
+****************************************************************************/
+#include "pswapi.h"
+
+
+/****************************************************************************
+ * Defines
+ ****************************************************************************/
+typedef enum
+{
+ SN_STOPPED_ST,
+ SN_SO_NEGOTIATION_ST,
+ SN_NORMAL_SERVICE_ST,
+ SN_WAITING_FOR_SERVICE_RESPONSE_MESSAGE_ST,
+ SN_WAITING_FOR_SERVICE_REQUEST_MESSAGE_ST,
+ SN_WAITING_FOR_SERVICE_CONNECT_MESSAGE_ST,
+ SN_WAITING_FOR_SERVICE_ACTION_TIME_ST,
+ SN_MAX_STATES
+} ServNegState;
+
+
+typedef enum
+{
+ SN_SERV_NEG_DISABLED_EV,
+ SN_SERV_NEG_ENABLED_EV,
+ SN_USER_NEW_SERV_CFG_REQ_EV,
+ SN_SERVICE_REQUEST_MESSAGE_PROPOSE_EV,
+ SN_SERVICE_REQUEST_MESSAGE_REJECT_EV,
+ SN_SERVICE_RESPONSE_MESSAGE_PROPOSE_EV,
+ SN_SERVICE_RESPONSE_MESSAGE_REJECT_EV,
+ SN_SERVICE_CONNECT_MESSAGE_EV,
+ SN_SERVICE_CONNECT_MESSAGE_NO_ACTION_TIME_EV,
+ SN_SERVICE_CONNECT_MESSAGE_REJECTED_EV,
+ SN_SERVICE_OPTION_CONTROL_MESSAGE_EV,
+ SN_SERVICE_OPTION_REQUEST_ORDER_EV,
+ SN_SERVICE_OPTION_RESPONSE_ORDER_EV,
+ SN_SERVICE_OPTION_CONTROL_ORDER_EV,
+ SN_SERV_NEG_ACTION_TIMEOUT_EV,
+ SN_SERV_NEG_SUBFUNCTION_TIMEOUT_EV,
+ SN_MAX_EVENTS
+} ServNegEvent;
+
+
+/*****************************************************************************
+ * Prototypes
+ ****************************************************************************/
+
+kal_bool snGetServNegS (void);
+void snSetInitialServNegS (kal_bool servNegS);
+void snSetServNegS (kal_bool servNegS);
+void snSetSOReqS (kal_uint16 serviceOptionRequested);
+kal_uint8 snGetServConSeq(void);
+
+void snInitiateServiceNegotiation (void);
+ServNegState snGetServNegState (void);
+void snStartServiceNegotiation (ServNegState servNegState);
+void snStopServiceNegotiation (void);
+void snNegotiateNewServCfg (ServiceConfiguration* serviceConfiguration);
+void snServiceRequestAck (void);
+void snServiceControl (kal_uint8 conRef, kal_uint16 serviceOption, kal_uint8 length,
+ kal_uint8* ctlRec);
+void snServiceControlAck (void);
+
+void snSRQM (SRQMData* data);
+void snSRPM (SRPMData* data);
+void snSCNM (SCNMData* data);
+void snSHCNM (ServiceConfiguration* servCfg, kal_uint8 servConSeq, WbiosSystime* actionTime);
+void snSOCM (SOCMFTCData* data);
+void snNNSHCNM (NNServiceConfiguration* serviceConfig, WbiosSystime* actionTime);
+
+void snServiceNegotiationActionTimeout (void);
+void snServiceNegotiationSubfunctionTimeout (void);
+void snServiceConfigurationIndication (void);
+
+void snNegotiateNewServOption(kal_uint16 serviceOption);
+void snServiceOptionRequestAck (void);
+
+void snSORQO (kal_uint16 serviceOption);
+void snSORPO (kal_uint16 serviceOption);
+void snSOCO (void);
+
+void snServiceOptionReqRespOrderTimeout (void);
+
+#endif /* _SERV_NEG_H_ */
+
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/Tc_unf.h b/mcu/interface/protocol/as_c2k/1xrtt/Tc_unf.h
new file mode 100644
index 0000000..f62e58b
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/Tc_unf.h
@@ -0,0 +1,220 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Module: tc_unf.h
+ *
+ * Purpose: Header file for tc_unf.c
+ *
+ ****************************************************************************
+ *
+ * PVCS Header Information
+ *
+ * $Revision: 1.5 $
+ * $Author: wfu $
+ *
+ * $Log: Tc_unf.h $
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ * Revision 1.5 2005/08/02 16:28:12 wfu
+ * - add the functional prototype for unfPCNM()
+ * Revision 1.4 2005/04/06 16:27:44 dstecker
+ * Release A mods
+ * Revision 1.3 2004/04/23 10:50:42 asharma
+ * CBP6.1 (Phase-1) DV Data and Voice Call Setup changes.
+ * Revision 1.2.1.2 2004/04/14 15:20:30 asharma
+ * Revision 1.2 2004/03/25 12:09:10 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.2 2003/08/28 11:20:14 bcolford
+ * Update for merge.
+ * Revision 1.8 2003/05/21 17:13:54 byang
+ * CR#570: Replace compiler flag with IS2000A with IS2000_REV_0.
+ * Revision 1.7 2002/10/28 10:07:13 byang
+ * Modified the return data type for unfERM().
+ * Revision 1.6 2002/10/18 15:50:51 dstecker
+ * Added prototype
+ * Revision 1.5 2002/06/06 13:15:42 chinh
+ * Changed and Added Copyright
+ * Revision 1.4 2001/11/13 17:51:02 byang
+ * Added function prototype declaration for ESCAM, RAM,
+ * and ERM.
+ * Revision 1.3 2001/09/07 18:10:50 akayvan
+ * Updated declaration for unfPCNM() per FPC.
+ * Revision 1.2 2001/08/03 15:15:46 dstecker
+ * Modifications for IS2000 handoffs
+ * Revision 1.1 2001/01/17 10:59:42 plabarbe
+ * Initial revision
+ * Revision 1.1 2000/10/24 14:11:35 fpeng
+ * Initial revision
+ * Revision 1.4 2000/08/31 23:41:46Z bcolford
+ * Replaced AMPS_SUPPORTED with SYS_OPTION_AMPS.
+ * Revision 1.3 2000/08/23 22:11:51Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes.
+ * Revision 1.2 2000/03/01 18:16:32Z rsattari
+ * Isotel release 2.3 updates.
+ * Revision 1.14 2000/01/17 22:27:19 scotvold
+ * TC Backward Compatibility changes.
+ *
+ * Revision 1.13 1999/04/12 13:31:46 scotvold
+ * Added T53 HSPD support.
+ * Added 95B SCAM support.
+ * Added 95B GHDM support and consolidated with EHDM.
+ *
+ * Revision 1.12 1999/02/22 05:44:16 scotvold
+ * Added success/fail return to unfExtHandoffDirection.
+ *
+ * Revision 1.11 1999/02/20 00:39:52 scotvold
+ * Added message encryption support.
+ *
+ * Revision 1.10 1999/02/10 01:49:59 scotvold
+ * Changed return types to kal_bool.
+ *
+ * Revision 1.9 1999/02/08 22:57:20 scotvold
+ * Changed Alert/Flash and Status Request interface.
+ *
+ * Revision 1.8 1998/12/02 00:12:02 scotvold
+ * Removed unfRetrieveParameters(), unfSetParameters().
+ *
+ * Revision 1.7 1998/10/20 23:58:23 mhayduk
+ * Added T53 support.
+ *
+ * Revision 1.6 1998/10/16 17:13:55 scotvold
+ * Made ftcOrderData global.
+ *
+ * Revision 1.5 1998/09/11 02:41:13 scotvold
+ * Added successful return to unfExtNeighbourListUpdate().
+ *
+ * Revision 1.4 1998/07/03 16:57:30 dfischer
+ * New load
+ *
+ * Revision 1.3 1998/06/08 21:48:25 scotvold
+ * Updated for Release 0.06.
+ *
+ * Revision 1.2 1998/03/30 23:26:03 mhayduk
+ * Release 0.03.
+ *
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+#ifndef _TC_UNF_H_
+
+#define _TC_UNF_H_ 1
+
+#include "Msg_defn.h"
+#include "layer2.h"
+
+/* Bitmap for extension records included in GEM */
+#define FWD_GE_REV_CHANNEL_INFO_REC_INC 0x0001
+#define FWD_GE_RADIO_CFG_PARMS_REC_INC 0x0002
+#define FWD_GE_DELAYED_ARQ_REC_INC 0x0004
+
+typedef struct
+{
+ kal_uint16 recIncluded; /* Bitmap for valid extension records in this structure */
+ RevChannelInfoRec revChannelInfo;
+ RCPMData radioConfigParms;
+ DelayedARQInfoRec delayedARQInfo;
+} FwdGEMRecords;
+
+/*****************************************************************************
+ * Prototypes
+ ****************************************************************************/
+kal_bool unfORDM (FTCMessage* msg, FTCORDMData* data);
+kal_bool unfAUCM (FTCMessage* msg, kal_uint32* randu);
+kal_bool unfAWIM (FTCMessage* msg, FORInfoData* data);
+kal_bool unfDBM (FTCMessage* msg, DataBurstData* data);
+kal_bool unfHDM (FTCMessage* msg, HDMData* hdmDataP);
+kal_bool unfITSPM (FTCMessage* msg, ITSPMData* data);
+kal_bool unfNLUM (FTCMessage* msg, NLUMUData* data);
+kal_bool unfBDTMFM (FTCMessage* msg, BDTMFMData* data);
+kal_bool unfPCNPM (FTCMessage* msg, PCNPMData* data);
+kal_bool unfSSDUM (FTCMessage* msg, kal_uint8* randssd);
+kal_bool unfFWIM (FTCMessage* msg, FORInfoData* data);
+kal_bool unfMSRM (FTCMessage* msg, MSRegisteredData* msRegisteredData);
+kal_bool unfSTRQM (FTCMessage* msg, StatusReqData* statusReqData);
+kal_bool unfEHDM (FTCMessage* msg, HDMData* hdmDataP);
+kal_bool unfSRQM (FTCMessage* msg, SRQMData* data);
+kal_bool unfSRPM (FTCMessage* msg, SRPMData* data);
+kal_bool unfSCNM (FTCMessage* msg, SCNMData* data);
+kal_bool unfSOCM (FTCMessage* msg, SOCMFTCData* data);
+kal_bool unfTASM (FTCMessage* msg, TMSIAssignData* tmsiAssignData);
+kal_bool unfSRDM (FTCMessage* msg, ServiceRedirData* servRedirData);
+kal_bool unfSCAM (FTCMessage* msg, SCAMData* scamData);
+/*AKK 01-25-01 Modified per phase2 forward power control reqs*/
+kal_bool unfPCNM (FTCMessage* msg);
+/*END--AKK 01-25-01 Modified per phase2 forward power control reqs*/
+/*Radio Configuration Parameter Message*/
+kal_bool unfRCPM (FTCMessage* msg);
+/*END*/
+
+kal_bool unfENLUM (FTCMessage* msg, NLUMUData* data);
+kal_bool unfCFSRQM (FTCMessage* msg, CFSRQMData* data);
+kal_bool unfCFSCNM (FTCMessage* msg, CFSCNMData* data);
+kal_bool unfGHDM (FTCMessage* msg, HDMData* hdmDataP);
+#ifdef IS2000_REV_0
+kal_bool unfRAM (FTCMessage* pMsg, RAMData* pRAMData);
+RejectReason unfERM (FTCMessage* pMsg, ERMData* pERMData);
+kal_bool unfUHDM (FTCMessage* msg, HDMData* hdmDataP);
+kal_bool unfESCAM (FTCMessage* pMsg, ESCAMData* pEscamData);
+RejectReason unfRATCHGM(FTCMessage* pMsg, RATCHGMData* pRatchgmData);
+kal_bool unfEAWIM (FTCMessage* msg, ExtFORInfoData * data);
+kal_bool unfEFWIM (FTCMessage* msg, ExtFORInfoData * data);
+#endif
+
+void unfDecrypt (kal_uint8* buffer, kal_uint16* index, kal_uint8 numBytesDec);
+kal_bool unfCheckEOO (FTCMessage* msg, kal_uint16 index);
+void cpSetPwrCntlStep(kal_uint8 pwrCntlStep);
+kal_uint16 cpExtensionRecordsIncluded(void);
+RCPMData* cpGetGERecRadioConfigParms(void);
+void cpUpdateStoredRCPMParams(RCPMData* pUpdatedParms);
+FwdGEMRecords* cpGetGEMRecords(void);
+
+#endif /* _TC_UNF_H_ */
+
+/**Log information: \main\CBP80\cbp80_cshen_scbp10097\1 2012-07-25 06:23:22 GMT cshen
+** cbp80_cshen_scbp10097**/
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/ach_msg.h b/mcu/interface/protocol/as_c2k/1xrtt/ach_msg.h
new file mode 100644
index 0000000..6889a25
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/ach_msg.h
@@ -0,0 +1,364 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Module: ach_msg.h
+ *
+ * Purpose: Header file containing structures for Access Channel
+ * Messages.
+ *
+ ****************************************************************************
+ *
+ * PVCS Header Information
+ *
+ * $Revision: 1.3 $
+ * $Author: dstecker $
+ *
+ * $Log: ach_msg.h $
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ *
+ * 05 18 2017 peijun.zheng
+ * [MOLY00249027] [BIACNO][MT6763][New feature]C2K code release code modification
+ *
+ * Fix HSC code release build error and 1xRTT OTA message parse
+ * Revision 1.3 2004/04/06 14:01:59 dstecker
+ * CBP6.1 release 1
+ * Revision 1.2 2004/03/25 12:09:15 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:38:26 fpeng
+ * Initial revision
+ * Revision 1.3 2002/06/06 13:10:20 chinh
+ * Changed and Added Copyright
+ * Revision 1.2 2001/11/20 12:26:00 mclee
+ * include pswnam.h
+ * Revision 1.1 2001/01/17 10:57:59 plabarbe
+ * Initial revision
+ * Revision 1.1 2000/10/24 14:11:00 fpeng
+ * Initial revision
+ * Revision 1.3 2000/08/23 22:05:04Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes
+ * Revision 1.6 1998/11/24 05:40:36 mhayduk
+ * Cleaned up definitions for checking of TMSI Zone length -
+ * max zone size is 8.
+ *
+ * Revision 1.5 1998/05/27 17:16:28 scotvold
+ * Updated for Release 0.05.
+ *
+ * Revision 1.4 1998/05/08 19:26:45 mhayduk
+ * Added defintion of last message type for access channel.
+ *
+ * Revision 1.3 1998/03/30 23:26:03 mhayduk
+ * Release 0.03.
+ *
+ * Revision 1.1 1997/11/06 17:49:24 mhayduk
+ * Initial revision
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+
+#ifndef _ACH_MSG_H_
+
+ #define _ACH_MSG_H_ 1
+
+/*****************************************************************************
+ * Includes
+ ****************************************************************************/
+#include "imsi.h"
+#include "pswnam.h"
+#include "Msg_defn.h"
+
+/*****************************************************************************
+ * Defines
+ ****************************************************************************/
+
+ #define MAX_ACCESS_MSG_SIZE 111 /* 880 bits, refer to Fig. 6.7.1.1-2 */
+
+
+ #define MAX_MSID_LEN 15 /* maximum length of 15 octets for MSID */
+ #define MAX_ACCESS_ADD_PILOT 6 /* max number of additional pilot recs */
+
+ #define EACH_MSG_LENGTH_8_TO_16 978
+ #define CP_ACH_RECONN_MESSAGE CP_ACH_RECONNECT
+/*****************************************************************************
+ * Access Channel Message structures as defined in section 6.7.1.
+ ****************************************************************************/
+
+ /* MSID_TYPE structures - 6.7.1.3.1.1 */
+ /*====================================*/
+ typedef struct
+ {
+ kal_uint32 min1;
+ kal_uint16 min2;
+ kal_uint32 esn;
+ } AcessMsgHdrIMSI_S_ESN;
+
+ typedef struct
+ {
+ kal_uint8 imsiClass;
+ IMSIType imsi;
+ } AcessMsgHdrIMSI;
+
+ typedef struct
+ {
+ kal_uint32 esn;
+ kal_uint8 imsiClass;
+ IMSIType imsi;
+ } AcessMsgHdrIMSI_ESN;
+
+ typedef struct
+ {
+ kal_uint32 TMSI_CODE; /* operation TMSI code */
+ kal_uint8 TMSI_ZONE[CP_MAX_TMSI_ZONE_LEN]; /* TMSI zone */
+ } AcessMsgHdrTMSI;
+
+ /* Common message header */
+ /*=======================*/
+ typedef struct
+ {
+ kal_uint8 msgType;
+ kal_uint8 ackSeq;
+ kal_uint8 msgSeq;
+ kal_bool ackReq;
+ kal_bool validAck;
+ kal_uint8 ackType;
+ kal_uint8 msidType;
+ kal_uint8 msidLen;
+ union
+ {
+ kal_uint32 esn;
+ AcessMsgHdrIMSI_S_ESN imsiSEsn;
+ AcessMsgHdrIMSI imsi;
+ AcessMsgHdrIMSI_ESN imsiEsn;
+ AcessMsgHdrTMSI tmsi;
+ } msid;
+ } AccessMsgHdr;
+
+ /* Common Pilot Additional Pilot Record Fields */
+ typedef struct
+ {
+ kal_uint16 pilotPNPhase;
+ kal_uint8 pilotStrength;
+ kal_bool accessHoEn;
+ kal_bool accessAttempted;
+ } AccessAddPilotRec;
+
+ /* Common Pilot Measurement Fields */
+ typedef struct
+ {
+ kal_uint8 pilotStrength;
+ kal_bool firstIsActive;
+ kal_bool firstIsNta;
+ kal_uint8 numAddPilots;
+ AccessAddPilotRec pilot[MAX_ACCESS_ADD_PILOT];
+ } AccessPilotFields;
+
+ /* Registration Message */
+ /*======================*/
+ typedef struct
+ {
+ AccessMsgHdr header;
+ kal_uint8 authMode;
+ kal_uint32 authr;
+ kal_uint8 randc;
+ kal_uint8 count;
+ kal_uint8 regType;
+ kal_uint8 slotCycleIndex;
+ kal_uint8 mobPRev;
+ kal_uint8 scm;
+ kal_bool mobTerm;
+ kal_uint8 returnCause;
+ AccessPilotFields pilots;
+ } AccessRegistration;
+
+ /* Order Message */
+ /*===============*/
+ typedef struct
+ {
+ AccessMsgHdr header;
+ kal_uint8 order;
+ kal_uint8 addRecordLen;
+ /* Order specific fields */
+ union
+ { /* Order-specific fields */
+ struct
+ {
+ kal_uint8 ordq;
+ kal_uint32 randbs;
+ } s1;
+ struct
+ {
+ kal_uint8 ordq;
+ kal_uint8 rejectedType;
+ } s2;
+ struct
+ {
+ kal_uint8 rejectedOrder;
+ kal_uint8 rejectedOrdq;
+ }s3;
+ kal_uint16 rejectedParamId;
+ kal_uint8 rejectedRecord;
+ } u;
+ AccessPilotFields pilots;
+ } AccessOrder;
+
+
+ /* Data Burst Message */
+ /*====================*/
+ typedef struct
+ {
+ AccessMsgHdr header;
+ kal_uint8 auth_mode;
+ kal_uint32 authr;
+ kal_uint8 randc;
+ kal_uint8 count;
+ kal_uint8 msgNumber;
+ kal_uint8 burstType;
+ kal_uint8 numMsgs;
+ kal_uint8 numFields;
+ kal_uint8 *data;
+ AccessPilotFields pilots;
+ } AccessDataBurst;
+
+ /* Origination Message */
+ /*=====================*/
+ typedef struct
+ {
+ AccessMsgHdr header;
+ kal_uint8 authMode;
+ kal_uint32 authr;
+ kal_uint8 randc;
+ kal_uint8 count;
+ kal_bool mobTerm;
+ kal_uint8 slotCycleIndex;
+ kal_uint8 mobPRev;
+ kal_uint8 scm;
+ kal_uint8 requestMode;
+ kal_bool specialService;
+ kal_uint16 serviceOption;
+ kal_bool pm;
+ kal_bool digitMode;
+ kal_uint8 numberType;
+ kal_uint8 numberPlan;
+ kal_bool moreFields;
+ kal_uint8 numFields;
+ char *chari; /* For now we only support 4-bit DTMF digits */
+ kal_bool narAnCap;
+ kal_bool pacaReorig;
+ kal_uint8 returnCause;
+ kal_bool moreRecords;
+ kal_uint8 encryptionSupported;
+ AccessPilotFields pilots;
+ } AccessOrigination;
+
+ /* Page Response Message */
+ /*=======================*/
+ typedef struct
+ {
+ AccessMsgHdr header;
+ kal_uint8 authMode;
+ kal_uint32 authr;
+ kal_uint8 randc;
+ kal_uint8 count;
+ kal_uint8 mobTerm;
+ kal_uint8 slotCycleIndex;
+ kal_uint8 mobPRev;
+ kal_uint8 scm;
+ kal_uint8 requestMode;
+ kal_uint16 serviceOption;
+ kal_bool pm;
+ kal_bool narAnCap;
+ kal_uint8 encryptionSupported;
+ AccessPilotFields pilots;
+ } AccessPageResponse;
+
+ /* Authentication Challenge Response Message */
+ /*===========================================*/
+ typedef struct
+ {
+ AccessMsgHdr header;
+ kal_uint32 authu;
+ AccessPilotFields pilots;
+ } AccessAuthChallenge;
+
+
+ /* Status Response Message - TBD */
+
+ /* TMSI Assignment Completion Message */
+ /*====================================*/
+ typedef struct
+ {
+ AccessMsgHdr header;
+ kal_uint8 authMode;
+ AccessPilotFields pilots;
+ } AccessTMSIAssignComplete;
+
+ /* Access Channel message structure */
+ /*==================================*/
+ typedef struct
+ {
+ kal_uint8 type; /* message type */
+ kal_uint8 length; /* message length; lenght+body+crc */
+ kal_bool request; /* KAL_TRUE = request, KAL_FALSE = response */
+ kal_uint16 pilotInfoOffset; /* pointer into packed buffer where */
+ /* pilot info is to start */
+ kal_uint8 buffer[MAX_ACCESS_MSG_SIZE];
+ kal_uint32 crc;
+ } AccessChMessage;
+
+
+/*****************************************************************************
+ * Prototypes
+ ****************************************************************************/
+
+
+#endif /* _ACH_MSG_H_ */
+
+
+
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/archive.h b/mcu/interface/protocol/as_c2k/1xrtt/archive.h
new file mode 100644
index 0000000..501d292
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/archive.h
@@ -0,0 +1,94 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 2003-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*****************************************************************************
+
+ FILE NAME: archive.h
+
+ DESCRIPTION:
+
+
+*****************************************************************************/
+#ifndef ARCHIVE_H
+#define ARCHIVE_H
+
+/*****************************************************************************
+ * Includes
+ ****************************************************************************/
+#include "pswnam.h"
+#include "cssapi.h"
+#include "cptimer.h"
+/*****************************************************************************/
+/************************ DATA STRUCTURES & DEFINES **************************/
+/*****************************************************************************/
+
+/* ========================================================================= */
+/* ************************ PRL Processing Parameters ********************** */
+/* ========================================================================= */
+kal_bool cpIsPrlValid(void);
+/****************************************************************************
+ * Custom System Selection API Function Prototypes
+ ****************************************************************************/
+
+kal_bool cpIsOtaspSysCurrent(kal_uint8 code, SysCdmaBandT cur_band, kal_uint16 channel);
+void cpSetOtaSystem(SysBandChannelT system);
+SYSTEM_INFO_1X* cpGetOtaSystem(void);
+void cpSetE911mode(kal_bool mode);
+kal_bool cpGetE911mode(void);
+void cpSetOtaspCall(kal_bool mode);
+kal_bool cpGetOtaspCall(void);
+void cpSetReturnCauseByInd(kal_uint8 indication);
+kal_bool cpIsRedirectionEnabled(void);
+kal_bool cpIsSystemRedirectedToValid(void);
+kal_uint8 cpGetRedirectionRecordType(void);
+SysCdmaBandT cpGetRedirectionBand(void);
+kal_uint8 cpGetRedirectionNumChans(void);
+kal_bool cpGetRedirectionSystem(kal_uint16 *channel);
+
+kal_uint16 cpGetPrlListId(void);
+kal_bool cpGetPrlPrefOnly(void);
+
+void cpArchiveReset(void);
+#endif /* ARCHIVE_H */
+
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/c2k_rsvas.h b/mcu/interface/protocol/as_c2k/1xrtt/c2k_rsvas.h
new file mode 100644
index 0000000..b5bb2a0
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/c2k_rsvas.h
@@ -0,0 +1,312 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2015
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/** \file
+ *
+ * Filename:
+ * ---------
+ * c2k_rsvas.h
+ *
+ * Project:
+ * --------
+ * C2K
+ *
+ * Description:
+ * ------------
+ * This file defines SRLTE C2K RSVAS variable and functions.
+ *
+ * Author:
+ * -------
+ *
+ *
+ *============================================================================
+ * HISTORY
+ * Below this line, this part is controlled by PVCS. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * $Log$
+ *
+ * 06 29 2018 yanfeng.xu
+ * [MOLY00335749] [MT3967][Eiger][O1][MP1] [Overnight][CAT][MBJ][TDD]Externel (EE),0,0,99,/data/vendor/core/,1,modem,Trigger time:[2018-06-24 13:09:15.473562] md1:(MCU_core1.vpe0.tc0(VPE2)) [ASSERT] file:mcu/protocol/as_multimode/rsva/rsvas/src/rsvas_fsm.c line:3106 p1...
+ *
+ * 05 21 2018 yanfeng.xu
+ * [MOLY00327031] [EIGER][MT3967][RDIT][FT][CT][Overnight][Auto][CAT][SH][SIM1:CT][SIM2:CU]md1:(MCU_core0.vpe0.tc0(VPE0)) [ASSERT] file:mcu/protocol/nas_c2k/css/irat/iratrsvas.c line:1742
+ *
+ * 05 15 2018 tina.ma
+ * [MOLY00326014] [Gen95][MSPM] SW changes check in UMOLYE
+ *
+ * MSPM feature merge to UMOLYE
+ *
+ * 02 07 2018 emily.dai
+ * [MOLY00299294] [Bianco][N1][SRLTE][MP1.5][L+L][CT 6M C][Performance][FT][GZ]Flight mode delay time long than Huawei mate 10
+ *
+ * .
+ *
+ * 01 26 2018 emily.dai
+ * [MOLY00299294] [Bianco][N1][SRLTE][MP1.5][L+L][CT 6M C][Performance][FT][GZ]Flight mode delay time long than Huawei mate 10
+ *
+ * .
+ *
+ * 11 23 2017 yanfeng.xu
+ * [MOLY00289575] [MP1.5][VOLTE][UICC][TC-VoLTETeleComp-01007]²åVOLTEÒÆ¶¯¿¨¿¨1×öÖ÷¿¨£¬VOLTEµçÐÅ¿¨¿¨2×ö¸±¿¨£¬¹Ø±ÕVOLTE£¬¿¨1ÒÆ¶¯¿¨×¢²áLTEÍøÂç¡¢¿¨2µçÐÅ¿¨×¢²á1X£¬´Ëʱ¸±¿¨µçÐÅ¿¨²¹³äÒµÎñ×ßµÄCS¶ø·ÇUT£¬²»·ûºÏµçÐÅÒªÇó
+ *
+ * 08 17 2017 yanfeng.xu
+ * [MOLY00271475] [Bianco][C2K][MP2][1xRTT]srlte enhancement feature merge from CBP.MD.MP5.W1709.DEV
+ *
+ * .
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ *
+ * 07 04 2017 yanfeng.xu
+ * [MOLY00261290] [BIANCO][MT6763][RDIT][L+L][BringUp]md1:(MCU_core0.vpe1.tc1(VPE1)) [ASSERT] file:mcu/l1core/modem/el1/el1d/src/tx/ltxerrorcheck.c line:132
+ *
+ * 05 17 2017 peijun.zheng
+ * [MOLY00249027] [BIACNO][MT6763][New feature]C2K code release code modification
+ *
+ * C2k code release.
+ *
+ * 03 21 2017 yanfeng.xu
+ * [MOLY00236690] SIXTH00017091 merge to UMOLYA TRUNK [Kibo+ N1]CMCC card not register network all the time(Once)
+ *
+ * .
+ *
+ * 02 15 2017 danny.dai
+ * [MOLY00229716] [new feature]C2K EM Develop: 1xL3 and EvL3 module codes
+ *
+ * L3 EM: 1xrtt and evdo code for EM
+ *
+ * 11 09 2016 sue.zhong
+ * [MOLY00208435] [6293][C2K]Sync C2K code to UMOLYA TRUNK
+ * Update C2K PS code (1/2)
+ *
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================
+ ****************************************************************************/
+#ifndef _C2K_RSVAS_H
+#define _C2K_RSVAS_H
+
+#ifdef MTK_DEV_C2K_IRAT
+#include "iratapi.h"
+
+#define RSVAS_SET_BIT(Value, Bitmask) (Value = Value | Bitmask)
+#define RSVAS_IS_BIT(Value, Bitmask) (((RSVAS_SERVICE_TYPE_NONE == Value) \
+ &&(Bitmask != RSVAS_SERVICE_TYPE_NONE))? \
+ KAL_FALSE: \
+ ((Value & Bitmask) == Bitmask))
+#define RSVAS_CLEAR_BIT(Value, Bitmask) do{ \
+ (Value = Value & ~Bitmask); \
+ if (0x0 == Value) \
+ { \
+ Value = RSVAS_SERVICE_TYPE_NONE; \
+ } \
+}while(0)
+
+typedef enum
+{
+ RSVAS_OCCUPY_EVENT, /* RSVAS occupy request */
+ RSVAS_OCCUPY_IND_EVENT, /* Receive RSVAS occupy indication from MD1 RSVAS */
+ RSVAS_RELEASE_EVENT, /* RSVAS release request */
+ RSVAS_RESUME_EVENT, /* Receive RSVAS resume request from MD1 RSVAS */
+ RSVAS_VIRTUAL_RESUME_EVENT, /* Receive RSVAS virtual resume request from MD1 RSVAS */
+ RSVAS_ABORT_EVENT, /* Receive RSVAS abort request from MD1 RSVAS */
+ RSVAS_SUSPEND_EVENT, /* Receive RSVAS suspend request from MD1 RSVAS */
+ RSVAS_SUSPEND_CNF_EVENT, /* Receive RSVAS suspend confirm from CSS */
+ RSVAS_VIRTUAL_SUSPEND_EVENT, /* Receive RSVAS virtual suspend request from MD1 RSVAS */
+ RSVAS_VIRTUAL_SUSPEND_CNF_EVENT, /* Receive RSVAS virtual suspend confirm from CSS */
+ RSVAS_VIRTUAL_SUSPEND_COMPLTE_EVENT, /* Receive RSVAS virtual suspend complete ind from MD1 RSVAS */
+ RSVAS_ABORT_CNF_EVENT, /* Receive RSVAS abort confirm from HLP */
+
+ RSVAS_NUM_EVENT
+} RsvasEventT;
+
+typedef enum
+{
+ RSVAS_TEMP_STATE_NONE, /* Non temp state */
+ RSVAS_WAIT_OCCUPY_IND, /* Occupy success, wait occupy indication from RSVAS */
+ RSVAS_WAIT_SUSPEND_REQ, /* After send abort confirm to RSVAS, wait suspend request from RSVAS,
+ next temp state is RSVAS_WAIT_SUSPEND_CNF */
+ RSVAS_WAIT_SUSPEND_CNF, /* After send suspend req to CSS, wait suspend cnf from CSS,
+ next temp state is RSVAS_TEMP_STATE_NONE */
+ RSVAS_WAIT_RESUME_IND, /* Occupy success in virtual mode, wait resume indication from RSVAS,
+ next temp state is RSVAS_WAIT_OCCUPY_IND */
+ RSVAS_WAIT_VIRTUAL_SUSPEND_CNF, /* After send virtual suspend req to CSS, wait virtual suspend cnf from CSS*/
+ RSVAS_WAIT_ABORT_CNF, /* After send abort req to HLP, wait abort confirm from HLP,
+ next temp state is RSVAS_WAIT_SUSPEND_REQ */
+ RSVAS_WAIT_VIRTUAL_SUSPEND_REQ, /* After send abort confirm to RSVAS, wait virtual suspend req from RSVAS,
+ next temp state is RSVAS_WAIT_VIRTUAL_SUSPEND_CNF */
+
+ RSVAS_NUM_TEMP_STATE
+} RsvasTempStateT;
+
+typedef enum
+{
+ CAS_RSVAS_REQUEST_NORMAL = 0,
+ CAS_SRLTE_ENHANCEMENT = 6,
+ CAS_SRLTE_ENHANCEMENT_TOLERENT = 7 /* not used */
+} cas_rsvas_request_type_enum;
+
+typedef struct
+{
+ C2kRsvasIdT rsvasId; /* C2K RSVAS ID */
+ rsvas_service_type_enum servType; /* Service bits mask*/
+ cas_rsvas_request_type_enum reqType; /* Request type */
+} RsvasServiceT;
+
+typedef struct
+{
+ RsvasStateT state; /* Current RSVAS State */
+ RsvasStateT prevstate; /* Previous RSVAS State */
+ RsvasTempStateT tempState; /* Template RSVAS State */
+ RsvasServiceT currService; /* Current occupied or occuping service, RSVAS maybe in normal state (temp state RSVAS_WAIT_OCCUPY_IND),
+ virtual state (temp state RSVAS_WAIT_OCCUPY_IND), connect state */
+ kal_bool PSTransferFromDO; /* Flage of if current PS service is tranferred from DO */
+ kal_bool pendingOccupyReq; /* Flage of if pending RSVAS occupy request */
+ RsvasServiceT occupyReq; /* Pending RSVAS occupy request */
+ C2kRsvasIdT occupyIndNotifyId; /* RSVAS id which C2K RESVAS notify occupy indication to */
+ kal_bool pendingRelReq; /* Only for pending PS service RSVAS release request */
+ RsvasServiceT releaseReq; /* Pending RSVAS release request */
+ rsvas_sim_enum servOwnerSimId; /* The source SIM Id of occupied */
+ rsvas_sim_enum currC2kSimId; /* The current SIM Id of C2K */
+ kal_bool rttBorrowDOService; /* 1xRTT don't occupy PS service, borrow EVDO's */
+ rsvas_abort_action_enum servAbortAction; /* The action after this abort*/
+ mspm_procedure_enum waittingProcedure; /* waitting start cnf procedure*/
+} RsvasContextT;
+
+extern kal_bool waitingForOccupyInd;
+
+rsvas_service_type_enum rsvasClass1xRTTServiceType(const SysServiceOptionT so);
+
+void rsvasInit(void);
+
+RsvasContextT rsvasGetContext(void);
+
+void rsvasSetState(RsvasStateT newState);
+
+kal_bool rsvasIsState(RsvasStateT state);
+
+RsvasStateT rsvasGetState(void);
+
+RsvasStateT rsvasGetPrevState(void);
+
+RsvasTempStateT rsvasGetTempState(void);
+
+kal_bool rsvasIsTempState(RsvasTempStateT tmpState);
+
+void rsvasSetServOwnerSimId(rsvas_sim_enum simId);
+
+void rsvasSetCurrentSimId(uim_access_option_enum cardAccessOption, kal_bool force);
+
+rsvas_sim_enum rsvasGetServOwnerSimId(void);
+
+rsvas_service_type_enum rsvasGetServOwnerType(void);
+
+rsvas_sim_enum rsvasGetSimIdBeforeOccupy(void);
+
+RsvasEventT rsvasConvertMsgIdToEvent(kal_uint32 MsgId);
+
+kal_bool rsvasIsServiceOccupied(C2kRsvasIdT rsvasId, rsvas_service_type_enum servType);
+
+kal_bool rsvasIsCurrService(C2kRsvasIdT rsvasId, rsvas_service_type_enum servType);
+
+kal_bool rsvasIsInSuspend(void);
+
+void rsvasClear1xRTTOccupiedService(void);
+
+void rsvasForceClear1xRTTOccupiedService(void);
+
+void PswIdpRsvasServiceOccupyReqMsg(PswRsvasServiceOccupyRequestT *MsgP);
+
+void PswIdpRsvasServiceReleaseReqMsg(PswRsvasServiceReleaseT *MsgP);
+
+kal_bool rsvasOccupy(const C2kRsvasIdT id,
+ const rsvas_service_type_enum servType,
+ const cas_rsvas_request_type_enum reqType);
+
+void rsvasRelease(const C2kRsvasIdT id,
+ const rsvas_service_type_enum servType);
+
+void rsvasEngine(RsvasEventT event);
+mspm_procedure_enum rsvasServiceTypeToMspmProcedure(const C2kRsvasIdT id, const rsvas_service_type_enum servType, const cas_rsvas_request_type_enum requestType);
+
+mspm_sim_index_enum rsvasGetMspmSimIndex(void);
+
+void rsvasMSPMAsSessionStartCnf(mspm_as_session_start_cnf_struct* msg_ptr);
+
+void rsvasSetServAbortAction(rsvas_abort_action_enum servType);
+
+rsvas_abort_action_enum rsvasGetServAbortAction(void);
+
+void rsvasHandleMspmAsSessionStartCnf(mspm_procedure_enum procedure, kal_bool result);
+#endif /* defined (MTK_DEV_C2K_IRAT) */
+#endif /* _C2K_RSVAS_H */
+
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/cave.h b/mcu/interface/protocol/as_c2k/1xrtt/cave.h
new file mode 100644
index 0000000..7c99bef
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/cave.h
@@ -0,0 +1,123 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Module: cave.h
+ *
+ * Purpose: Header File for the CAVE Algorithm Function.
+ *
+ ****************************************************************************
+ *
+ * VCS Header Information
+ *
+ * $Revision: 1.2 $
+ * $Author: fpeng $
+ *
+ * $Log: cave.h $
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ * Revision 1.2 2004/03/25 12:09:18 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:38:30 fpeng
+ * Initial revision
+ * Revision 1.2 2002/06/06 13:16:40 chinh
+ * Changed and Added Copyright
+ * Revision 1.1 2001/01/17 10:58:08 plabarbe
+ * Initial revision
+ * Revision 1.1 2000/10/24 14:11:03 fpeng
+ * Initial revision
+ * Revision 1.3 2000/08/23 22:05:14Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes
+ * Revision 1.3 1998/03/30 23:26:03 mhayduk
+ * Release 0.03.
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+
+#ifndef _CAVE_H_
+
+ #define _CAVE_H_ 1
+
+ /* CAVE Registers structure */
+ typedef struct CaveRegs
+ {
+ kal_uint32 post_auth_lfsr; /* Linear Feedback Shift Register */
+ kal_uint8 post_auth_offset1; /* offset_1 */
+ kal_uint8 post_auth_offset2; /* offset_2 */
+ kal_uint8 post_auth_data[3]; /* Last auth value saved */
+ kal_uint8 Register[16]; /* Mixing Registers */
+
+ } CAVEREGS;
+
+ /* Function prototypes */
+ void cave( kal_uint8* reg, short nRounds, kal_uint8 *ofs_1, kal_uint8 *ofs_2,
+ kal_uint32 *LFSR);
+
+ void dwordToBytes(kal_uint32 value, kal_uint8 *array);
+ kal_uint32 bytesToDword(kal_uint8 *array);
+ CAVEREGS* getCaveRegs(void);
+
+ /* CMEA/VPM Function Prototypes */
+ void generateCMEAandVPM(kal_uint32 esn, kal_uint32 rands, kal_uint8 *ssdb);
+
+ /* Cellular Data Key generation (ORYX algorithm) */
+ void generateDataKeyORYX(kal_uint8 *ssdb);
+ void generateLTableORYX(kal_uint32 rands);
+ kal_uint8* getLTable(void);
+ kal_uint32 getORYXDataKey(void);
+
+ /* A few handy macros are always appreciated! */
+ #define EncryptMsg(buf, len) EncryptDecryptCMEA(len, buf)
+ #define DecryptMsg(buf, len) EncryptDecryptCMEA(len, buf)
+
+ #define GetAAV() ((kal_uint8) 0xc7)
+
+
+#endif
+
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/channel.h b/mcu/interface/protocol/as_c2k/1xrtt/channel.h
new file mode 100644
index 0000000..146235b
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/channel.h
@@ -0,0 +1,137 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Filename: channel.h
+ *
+ * Purpose: Definition of CHANNEL and supporting routines.
+ *
+ ****************************************************************************
+ *
+ * PVCS Header Information
+ *
+ * $Revision: 1.2 $
+ * $Author: fpeng $
+ *
+ * $Log: channel.h $
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ * Revision 1.2 2004/03/25 12:09:20 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:38:31 fpeng
+ * Initial revision
+ * Revision 1.6 2002/07/31 16:54:38 hans
+ * H and G block added for Other Band Class support (cr474).
+ * Revision 1.5 2002/06/06 13:11:01 chinh
+ * Changed and Added Copyright
+ * Revision 1.4 2002/01/02 10:11:21 AMALA
+ * Added new system selection changes.
+ * Revision 1.3 2001/11/20 12:28:03 mclee
+ * Remove BandClass enum
+ * Revision 1.2 2001/06/27 18:31:08 hans
+ * BAND_CLASS_2 and BAND_CLASS_5 defined in BandClass enum.
+ * Revision 1.1 2001/01/17 10:58:10 plabarbe
+ * Initial revision
+ * Revision 1.2 2000/11/13 14:25:13 byang
+ * IS-2000A Idle Mode and LAC intergration - Initial Release.
+ * Revision 1.1 2000/10/24 21:11:04Z fpeng
+ * Initial revision
+ * Revision 1.3 2000/08/23 22:05:17Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes
+ * Revision 1.8 1999/02/23 00:28:41 mhayduk
+ * Fixed up the frequency to block function so it accounts for
+ * non-PCS bands.
+ *
+ * Revision 1.7 1998/12/07 21:12:41 mhayduk
+ * Added routine to check if Analog is supported in requested band.
+ *
+ * Revision 1.6 1998/10/20 23:58:23 mhayduk
+ * Added T53 support.
+ *
+ * Revision 1.5 1998/06/08 21:48:25 scotvold
+ * Updated for Release 0.06
+ *
+ * Revision 1.4 1998/05/27 17:16:28 scotvold
+ * Updated for Release 0.05.
+ *
+ * Revision 1.3 1998/03/30 23:26:03 mhayduk
+ * Release 0.03.
+ *
+ * Revision 1.1 1997/11/06 17:49:24 mhayduk
+ * Initial revision
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+
+#ifndef _CHANNEL_H_
+
+ #define _CHANNEL_H_ 1
+
+/*****************************************************************************
+ * Includes
+ ****************************************************************************/
+#include "pswnam.h"
+#include "cssapi.h"
+/*****************************************************************************
+ * Defines
+ ****************************************************************************/
+
+/*****************************************************************************
+ * Prototypes
+ ****************************************************************************/
+
+ kal_bool cpIsBandChannelValid(SysBandChannelT *bandChannel);
+ kal_bool cpIsBandSupported(SysCdmaBandT band);
+ kal_bool cpSupportCDMAChannel(SysBandChannelT *bandChannel);
+ kal_uint8 cpFrequencyToBlock(SysCdmaBandT band,kal_uint16 frequency);
+ kal_bool cpIsAnalogSupportedInBand(SysCdmaBandT band);
+ void cpSetCdmaBandSupported(SysCdmaBandT band, kal_bool supported);
+ void cpSetNumBandsSupported(kal_uint8 numBands);
+ kal_uint8 cpGetNumBandsSupported(void);
+#endif /*_CHANNEL_H_ */
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/cptimer.h b/mcu/interface/protocol/as_c2k/1xrtt/cptimer.h
new file mode 100644
index 0000000..ddb1161
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/cptimer.h
@@ -0,0 +1,579 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Module: cptimer.h
+ *
+ * Purpose: Definitions for Call Processing Timer Services.
+ *
+ ****************************************************************************
+ *
+ * PVCS Header Information
+ *
+ * $Revision: 1.7 $
+ * $Author: mclee $
+ *
+ * $Log: cptimer.h $
+ *
+ * 09 18 2020 tina.ma
+ * [MOLY00555839] ?Maxwell-AN00A 10.1.1.160?APR????modemcrash
+ *
+ * .
+ *
+ * 06 08 2020 tina.ma
+ * [MOLY00514816] ??(Bugs) 2883828??19165?????????????19165????CMCC??+CT?IMS+1x????5G?? ???????
+ *
+ * .
+ *
+ * 05 06 2020 tina.ma
+ * [MOLY00514816] ??(Bugs) 2883828??19165?????????????19165????CMCC??+CT?IMS+1x????5G?? ???????
+ *
+ * .
+ *
+ * 03 27 2020 yanfeng.xu
+ * [MOLY00507451] [MT6885][Petrus][China][[SH][MP2][5GMM][Static][CU][MDST][SWIFT][S][ASSERT] file:mcu/protocol/lte_sec/errc/cel/src/errc_cel_cscom.c line:6558
+ *
+ * 07 09 2019 tina.ma
+ * [MOLY00418383] [Rose][Merlot][Q0][BSP+]The call was auto end when you make a call.(once)
+ *
+ * power down registration
+ *
+ * 12 18 2018 danny.dai
+ * [MOLY00370973] [MT6779][Lafite][P0][BSP+][MP2][CTC FT][SH][om_c2k6m][Benchmark][FT_SQC_CS Performace_08]DUT MTC failure 12 times however REF-MI 8 se failure 1 times
+ *
+ * VMOLY.EVB.SEPT.DEV: opt for PCH resync denied issue
+ *
+ * 09 11 2018 yanfeng.xu
+ * [MOLY00348345] [Lafite][SLT]BriefException: [1][core0,vpe0,tc0(vpe0)] Assert fail: clcidp.c 8570 0x0 0x0 0x0 ¨C EVCLC
+ *
+ * 06 07 2018 yanfeng.xu
+ * [MOLY00331827] [Eiger][O1 BSP+][SRLTE][CT 6M C][LTE IOT][FT][SH][ALU][Auto][CAT][PLMN_LIST][Fatal error(task)] err_code1:0x00000305 err_code2:0x88880002 err_code3:0xCCCCCCCC MD Offender:DDM
+ *
+ * 05 23 2018 yanfeng.xu
+ * [MOLY00327962] [EIGER][MT3967][RDIT][FT][TDD][CMCC][GZ][VoLTE][Overnight][Auto][CAT]Externel (EE),0,0,99,/data/vendor/core/,1,modem,[ASSERT] file:mcu/protocol/as_multimode/rsva/rsvas/src/rsvas_utils.c line:286
+ *
+ * 09 07 2017 tina.ma
+ * [MOLY00275192] [Merge from MP5.TC10]after airplane mode,DUT register network slowly than REF
+ *
+ * merge from MP5.TC10 to UMOLYA
+ *
+ * 08 25 2017 danny.dai
+ * [MOLY00273514] Expends 180ms Idle HO delay timer length to 200ms
+ *
+ * Trunk: Expends 180ms Idle HO delay timer length to 200ms
+ *
+ * 06 29 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * ::KAL type - folder inc
+ *
+ * 05 18 2017 gavin.zhang
+ * [MOLY00247455] [6293][C2K][PS]Change KAL timer API to event scheduler API
+ *
+ * PSW timer change.
+ *
+ * 02 28 2017 scott.song
+ * [MOLY00223502] [93m][RTT][FL]merge T0 to Trunk 3322251 3322920 3325989 3326264 3328096 3328437 3331529 3332165 3334136
+ *
+ * .
+ *
+ * 02 24 2017 yanfeng.xu
+ * [MOLY00232146] SIXTH00016529 merge to UMOLYA TRUNK
+ *
+ * 12 01 2016 sue.zhong
+ * [MOLY00213777] [6293][C2K]Sync C2K code to UMOLYA TRUNK(W1648)
+ * Update C2K source
+ * Revision 1.7 2006/03/16 11:55:46 mclee
+ * - Reorder Timer enum in order to keep consistent with ETS.
+ * Revision 1.6 2005/05/06 18:09:11 hans
+ * Test mode sleep delay for Slotted
+ * Revision 1.5 2005/03/18 11:43:05 hans
+ * Merged code changes from CBP4.05 revision 2.02 to CBP4.05 revision 4.21.
+ * Revision 1.4 2004/09/28 16:25:30 hans
+ * Changes from CBP6.0 merged.
+ * Revision 1.3 2004/04/06 14:02:01 dstecker
+ * CBP6.1 release 1
+ * Revision 1.2 2004/03/25 12:09:23 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.3 2004/02/10 12:50:40 bcolford
+ * Merged CBP4.0 Release 8.05.0 changes.
+ * Revision 1.21 2003/12/12 09:55:36 mclee
+ * - Add SLOTTED_IDLE_HO_DELAY 100L
+ * - Add CP_SLOTTED_IDLE_HO_DELAY_TIMER to CPTimerId enum.
+ * Revision 1.20 2003/11/06 11:37:19 ameya
+ * Added the CP_CSS_REDIR_END_TIMER and CP_CSS_MORE_PREF_SCAN_TIMER to the timer enum.
+ * Revision 1.19 2003/09/05 10:17:34 mclee
+ * Add Silent Retry Reset Timer
+ * Revision 1.18 2003/08/22 16:34:12 mclee
+ * Fix CR2554 to properly decrement reg zone timers
+ * Revision 1.17 2003/08/22 11:43:50 mclee
+ * Uim Feature Introduction in SW Base
+ * Revision 1.16 2003/08/12 16:20:43 bcolford
+ * Change the value of the macro ALERT_TIMEOUT back to
+ * the original value of 65sec. See CR No. 2461 for details.
+ * Revision 1.15 2003/07/22 14:10:24 robertk
+ * CR 2461: Changed the value of the AMPS ALERT_TIMEOUT to
+ * get it closer to the specified 65sec.
+ * Revision 1.14 2003/02/19 18:55:06 hans
+ * Absolut timer added for RETRY_DELAY order msg used by RC
+ * Revision 1.13 2002/11/26 19:37:31 hans
+ * 1 sec timer added to time 1 sec between each SCRM msg
+ * with no reply from BS
+ * Revision 1.12 2002/08/27 17:00:44 byang
+ * Add timer ID for ping timer: CP_TC_DCCH_ONLY_PING_TIMER.
+ * Revision 1.11 2002/08/08 14:56:31 mclee
+ * Add LocServ AGPS & LocServ General Timers
+ * Revision 1.10 2002/06/06 13:11:17 chinh
+ * Changed and Added Copyright
+ * Revision 1.9 2002/04/18 09:49:55 mclee
+ * Add Loc Serv timers
+ * Revision 1.8 2002/04/03 16:03:42 chinh
+ * Removed compile option ifdefIS2000A for T72m and T40m.
+ * Revision 1.7 2002/02/25 08:48:29 AMALA
+ * Corrected SS Re-Scan errors.
+ * Revision 1.6 2002/02/06 11:36:30 mclee
+ * Move PSMM and Hard Handoff timers to Traffic CH timer block.
+ * Revision 1.5 2002/01/17 17:14:29 akayvan
+ * Slotted Mode Mods.
+ * Revision 1.4 2001/08/03 15:14:29 dstecker
+ * Modifications for IS2000 handoffs
+ * Revision 1.3 2001/07/18 15:02:05 chinh
+ * cbp3 porting for Idle and Access
+ * Revision 1.2 2001/01/29 18:20:51 dstecker
+ * new access probe architecture
+ * Revision 1.1 2001/01/17 10:58:17 plabarbe
+ * Initial revision
+ * Revision 1.3 2000/11/27 11:55:58 chinh
+ * Changed T40m and added T72m
+ * Revision 1.2 2000/11/13 22:25:21Z byang
+ * IS-2000A Idle Mode and LAC intergration - Initial Release.
+ * Revision 1.1 2000/10/24 21:11:06Z fpeng
+ * Initial revision
+ * Revision 1.4 2000/08/31 23:41:47Z bcolford
+ * Replaced AMPS_SUPPORTED with SYS_OPTION_AMPS.
+ * Revision 1.3 2000/08/23 22:05:21Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes
+ * Revision 1.18 2000/02/25 01:13:11 gfrye
+ * Added analog SMS re-assembly timer.
+ *
+ * Revision 1.17 2000/02/19 00:01:10 gfrye
+ * Added new defined timeouts for the order timer when an
+ * Alert With Info SMS order is received.
+ * see IS-91, section 2.6.4.3.1.
+ *
+ * Revision 1.16 1999/12/10 22:12:11 gfrye
+ * Removed null character.
+ *
+ * Revision 1.15 1999/12/09 21:49:06 gfrye
+ * Added timer for Out Of Service.
+ *
+ * Revision 1.14 1999/06/23 22:46:06 gfrye
+ * New timer CP_SLEEP_WAKEUP_TIMER to guard if ENG_IND_WAKEUP is lost.
+ *
+ * Revision 1.12 1999/06/04 23:27:26 scotvold
+ * New Message Transmitter.
+ *
+ * Revision 1.11 1999/03/02 00:56:20 dfischer
+ * Added sysdet delay timer
+ *
+ * Revision 1.10 1998/10/20 23:58:23 mhayduk
+ * Added T53 support.
+ *
+ * Revision 1.9 1998/09/22 18:44:57 tdaly
+ * Added IS-95 analog mode support.
+ *
+ * Revision 1.8 1998/08/19 15:10:34 mhayduk
+ * Changed to just include stype.h instead of tracemac.h.
+ *
+ * Revision 1.7 1998/07/03 16:57:30 dfischer
+ * New load
+ *
+ * Revision 1.6 1998/06/08 21:48:25 scotvold
+ * Updated for Release 0.06
+ *
+ * Revision 1.5 1998/05/27 17:16:28 scotvold
+ * Updated for Release 0.05.
+ *
+ * Revision 1.4 1998/05/01 18:13:54 scotvold
+ * Update for release 0.04
+ *
+ * Revision 1.3 1998/03/30 23:26:03 mhayduk
+ * Release 0.03.
+ *
+ * Revision 1.1 1997/11/06 17:49:24 mhayduk
+ * Initial revision
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+
+#ifndef _CPTIMER_H_
+
+ #define _CPTIMER_H_ 1
+
+#include "sysdefs.h"
+
+/*****************************************************************************
+ * Includes
+ ****************************************************************************/
+
+/*****************************************************************************
+ * CMDA Definitions
+ ****************************************************************************/
+ #define ACTION_TIME_NOW 0L
+ #define ACTION_TIME_MULT 80L
+
+ /* Defined Timer Constant values - in milliseconds */
+ #define T1m 400L /* Max time MS waits for ACK */
+ #define T2m 200L /* Max time MS to send ACK */
+ #define T3m 320L /* TC duplicate message timeout */
+ #define T4m 2200L /* PCH duplicate message timeout */
+ #define T5m 5000L /* FTC fade timeout */
+ #define T20m 15000L /* pilot acquistion timeout */
+ #define T21m 1000L /* time to receive sync msg */
+ #define T30m 3000L /* PCH monitor timeout */
+ #define T31m 600000L /* Config. Parameters timeout */
+ #define T40m 3000L /* PCH timeout for access */
+ #define T41m 4000L /* time to rx updated ovhd msgs */
+ #define T42m 12000L /* time to rx page/orig response */
+ #define T50m 1000L /* time to rx N5m good TC frames */
+ #define T51m 2000L /* time to rx BS Ack Order */
+ #define T52m 5000L /* Waiting for Order timeout */
+ #define T53m 65000L /* Waiting for Answer timeout */
+ #define T55m 2000L /* Release timeout */
+ #define T56m 200L /* time to rx FTC msg or order */
+#ifdef MTK_PLT_ON_PC_IT
+ #define T57m 1000L /* Registration initialization */
+#else
+ #define T57m 20000L /* Registration initialization */
+#endif
+ #define T59m 5000L /* Response to Service Req/Resp */
+ #define T64m 10000L /* SSD Update Procedure */
+ #define T65m 5000L /* Waiting For Service Connect */
+ #define T66m 200000L /* TMSI_EXP_TIME timer */
+ #define T68m 5000L /* Waiting For Service Req/Resp */
+ #define T69m 24000L /* Full TMSI Timer base period */
+ #define T70m 800L /* time btween meas and CRSRM */
+ #define T71m 40L /* send CFSRM after srch */
+ #define T72m 1000L /* Timeout for access in ho */
+ #define T78m 30000L /* Timeout for TCH ping timer */
+
+/* Frame based counters */
+ #define N1m 13 /* Maximum IS2000 retransmissions */
+ #define N2m 12
+ #define N3m 2
+ #define N5m 2
+ #define N6m 6
+ #define N7m 10
+ #define N8m 40
+ #define N9m 7 /* max size of Zone List */
+ #define N10m 4 /* max size of Sid Nid List */
+ #define N11m 1
+ #define N12m 10 /* Number of frames over which the mobile station *
+ * maintains a running average of the total rcvd power */
+ #define N13m 6 /* max number of pilots in Access HO List */
+
+/*****************************************************************************
+ * PS Implementation Definitions
+ ****************************************************************************/
+ #define CP_1_SECOND 1000L /* generic 1 second interval */
+ #define CP_100_MSEC 100L /* generic 100 ms interval */
+ #define ENG_SLEEP_WAKEUP_TIMEOUT 800L /* time to expect wakeup */
+
+/*****************************************************************************
+ * AMPS Definitions
+ ****************************************************************************/
+
+ /* AMPS Timer Constant values - in milliseconds (as per EIA/TIA-553) */
+ #define MESSAGE_TIMEOUT 3000L /* Default wait for FOCC messages */
+ #define RCF_0_TIMEOUT 400L /* Wait for Message if RCFs = 0 */
+ #define RCF_1_TIMEOUT 1000L /* Wait for CFiller if RCFs = 1 */
+ #define WFOM_TIMEOUT 1500L /* Wait for OMT before Access */
+ #define REGCONF_TIMEOUT 5000L /* Wait for Registration Confirmation */
+ #define WAITMSG_TIMEOUT 5000L /* Timeout in Await Message state */
+ #define ORDER_TIMEOUT 5000L /* Order Timer value */
+ #define ALERT_TIMEOUT 65000L /* Alert Timer value */
+ #define FADE_TIMEOUT 5000L /* SAT Fade Timer value */
+ #define RLSDELAY_TIMEOUT 500L /* Delay if Termination Status set */
+ #define FLASH_TIMEOUT 10000L /* Valid HookFlash window */
+ #define BSCHALL_TIMEOUT 5000L /* Base Station Challenge window */
+ #define TIMING_CHANGE_TIMEOUT 2000L /* Timing Change substate timeout */
+
+ /* IS-91 defines special timers for waiting for order if an
+ * Alert with Info SMS is received, see IS-91, section 2.6.4.3.1 */
+ #define ORDER_TMO_SHORT 600L
+ #define ORDER_TMO_LONG 10000L
+ #define SMS_SEGMENT_TMO 2000L
+
+ /* Max time (ms) we'll sit in IDLE state before we decide to rescan */
+ #define MAX_REDIRECT_DELAY 31000L
+
+ /* Signaling Tone Guard Delay (ms) - for ST Burst separation on Release */
+ #define GUARD_DELAY 250L
+
+ /* Signaling Tone Burst Durations (ms) */
+ #define FLASH_BURST 400L /* HookFlash */
+ #define HANDOFF_BURST 50L /* Handoff */
+ #define RELEASE_BURST 1800L /* Release */
+
+ /* Timer Values (ms) for Discontinuous Transmission (DTX) */
+ #define DTX_SHORT_DELAY 1500L /* Short Delay fot DTX-High */
+ #define DTX_LONG_DELAY 5000L /* Long delay for DTX-High (Audits) */
+ #define DTX_HILO_INTERVAL 300L /* Hi -> Lo Transition Interval */
+ #define DTX_LOHI_WAIT 200L /* Wait after forced Lo -> High */
+
+/* IS801 Location Services Timers */
+ #define LOC_T1_TIMEOUT 2000L /* Pilot Phase Measurement PREF_RESP_QUAL = 000 */
+ #define LOC_T2_TIMEOUT 4000L /* Pilot Phase Measurement PREF_RESP_QUAL = 001 */
+ #define LOC_T3_TIMEOUT 8000L /* Pilot Phase Measurement PREF_RESP_QUAL = 010 */
+ #define LOC_T4_TIMEOUT 16000L /* Pilot Phase Measurement PREF_RESP_QUAL = 011 */
+ #define LOC_T5_TIMEOUT 32000L /* Pilot Phase Measurement PREF_RESP_QUAL = 100 */
+ #define LOC_T6_TIMEOUT 64000L /* Pilot Phase Measurement PREF_RESP_QUAL = 101 */
+ #define LOC_T7_TIMEOUT 128000L /* Pilot Phase Measurement PREF_RESP_QUAL = 110 */
+ #define LOC_T8_TIMEOUT 256000L /* Pilot Phase Measurement PREF_RESP_QUAL = 111 */
+ #define LOC_T9_TIMEOUT 35000L /* Outstanding Response Timeout */
+ #define LOC_GENERAL_TIMEOUT 300000L /* General Session Keep Alive Time */
+
+ /* From Gen93, the low layer shall report the first frame to PSW after 40ms from PCH wakeup.
+ * Corresponding, which time is 20ms from PCH wakeup before Gen93 projects. */
+ #define SLOTTED_IDLE_HO_DELAY 200L /* There exist PCH message (.e.g Data Burst) large than 4 frames in Sprint.
+ * and paging record maybe located after 200ms from PCH wakeup in Vzw.
+ * Expand this timer length for all network, as it is has not risk. */
+
+ #define E911_ACCESS_RESCAN_TIMEOUT 16000L /* Continuous time for E911 access
+ before triggering a rescan */
+ #define MO_BKOFF_TIMEOUT 2000 /* time out before an 1X MO call can be made. */
+ #define CP_1X_ANTENNA_GRANT_TIMEOUT 15*CP_1_SECOND
+ #define CP_BS_RLO_DELAY_TIMEOUT 60L /* Number of ms to wait before releasing TCH
+ * after Lmd TC Msg Sent Ind is processed for BS RLO.
+ */
+
+ #define T1M_FRAME T1m/20 /* T1m (in frames) */
+ #define T2M_FRAME T2m/20 /* T2m (in frames) */
+ #define T4M_FRAMES T4m/20 /* T4m value in frames */
+ #define T5M_FRAME T5m/20 /* T5m in frames */
+ #define T31M_FRAMES T31m/20 /* T31m value in frames */
+ #define ENG_100MSEC_COUNT CP_100_MSEC/20 /* 5 frames to 100 msec */
+ #define ENG_ONESEC_COUNT CP_1_SECOND/20 /* 50 frames in 1 sec */
+
+#ifdef MTK_DEV_C2K_IRAT
+ #define C2K_LTE_CSFB_TIMEOUT 500L /* timer to wait CSFB confirm from MD1 */
+ #define C2K_REPORT_NO_SVC_AFTER_RESUME_TIMEOUT 5000L /* timer to wait report no service to VAL */
+ #define PS_PROTECT_DELAY_TIMEOUT 500L /* PS protection delay for receiving ECAM after valod Ack */
+ #define CP_C2K_POWERDOWN_IN_SUSPEND_TIMEOUT 5000L /* timer expired to disabled*/
+ #define RSVAS_WAIT_SUSPEND_CNF_TIMEOUT 60*CP_1_SECOND /* timer to wait suspend cnf from CSS */
+ #define RSVAS_WAIT_VIRTUAL_SUSPEND_CNF_TIMEOUT 60*CP_1_SECOND /* timer to wait virtual suspend cnf from CSS */
+ #define RSVAS_WAIT_OCCUPY_IND_TIMEOUT 60*CP_1_SECOND /* timer to wait occupy ind from RSVAS */
+ #define PS_SERVICE_ACCESS_PROTECT_TIMEOUT 15*CP_1_SECOND /* max time to PS service access protect */
+#endif
+
+ #define CP_PAGING_PRIORITY_OPT_TIMER_TIMEOUT 30000 /* Timer for boosting slotted mode paging RF priority */
+
+#ifdef MTK_CBP_ENCRYPT_VOICE
+ #define ENCRYPT_VOICE_PROTECT_TIMEOUT 8000L /* encrypt voice fail after timer expired */
+ #define ENCRYPT_RANDOM_NUMBER_TIMEOUT 1L /* encrypt random number generate timer expired */
+#endif
+ #define CP_IMPROVE_SYNC_PRIO_TIMEOUT 10000L /* when exit flight mode, improve 1x priority when sync acquire*/
+ #define CP_ACCESS_PROTECTION_TIMEOUT 60000L /* ACCESS PROTRCT: can not start access attempt, such as
+ *waiting OCCUPY IND, UIM AUTH */
+ #define CP_IDLE_NO_SLEEP_PROTECT_TIMEOUT 60000L /* Protect 1xRTT does not stay in no slotted Idle mode too long */
+
+ /* Absolute Timers */
+ typedef enum
+ {
+ CP_PILOT_ACQUIRE_TIMER, /* 0 pilot acquisition timer */
+ CP_SYNC_ACQUIRE_TIMER, /* 1 sync acquisition timer */
+ CP_RADIO_TUNE_TIMER, /* 2 radio tune timer */
+ /* BCY 08/25/00: renamed from CP_PCH_MONITOR_TIMER */
+ CP_FCSCH_MONITOR_TIMER, /* 3 new page channel msg timer */
+ CP_SYSTEM_ACCESS_STATE_TIMER, /* 4 System Access State timer */
+ CP_TA_TIMER, /* 5 Access timer */
+ CP_SILENT_RETRY_TIMER, /* 6 Silent retry timer */
+
+ /* KEEP TC TIMERS CONTIGUOUS - remember to update FIRST and LAST TIMER *
+ * definitions in eng_tc.c */
+ CP_TC_N5M_GOOD_FRAMES_TIMER, /* 7 N5m Good TC Frames (TC_INIT) */
+ CP_TC_BS_ACK_TIMER, /* 8 BS Ack Order (TC_INIT) */
+ CP_TC_WAITING_FOR_ORDER_STATE_TIMER, /* 9 Waiting for Order State */
+ CP_TC_WAITING_FOR_ANSWER_STATE_TIMER, /* 10 Waiting for Answer State */
+ CP_TC_RELEASE_STATE_TIMER, /* 11 Release State */
+ CP_TC_FADE_TIMER, /* 12 FTC Supervision Fade */
+ CP_TC_SERV_NEG_SUBFUNCTION_TIMER, /* 13 Service Negotiation Subfnc */
+ CP_TC_CF_PERIODIC_SEARCH_TIMER, /* 14 Cand Freq Periodic Search */
+ CP_TC_PSMM_PERIODIC_TIMER, /* 15 Periodic PSMM timer */
+ CP_TC_HARD_HANDOFF_TIMER, /* 16 HHO w return on fail timer */
+ CP_TC_PING_TIMER, /* 17 CPCCH timer */
+
+ /* KEEP TC TIMERS CONTIGUOUS */
+ CP_TMSI_EXP_TIMER = 19, /* 19 TMSI expiration timer */
+ CP_REG_INIT_TIMER, /* 20 Registration Initialization timer */
+ CP_SSD_UPDATE_TIMER, /* 21 SSD Update Procedure timer */
+ CP_FULL_TMSI_TIMER, /* 22 Full TMSI timer */
+ CP_IDLE_HO_TIMER, /* 23 Idle Handoff timer */
+ CP_SLEEP_WAKEUP_TIMER, /* 24 Sleep wakeup timer */
+ CP_WAIT_FOR_SRCH_RSLTS_TIMER, /* 25 Waiting for search rslts in access entry */
+ CP_EC_IO_TIMER, /* 26 Eo/Io Enhanced Access timer */
+ CP_DELAYED_ORIG_WAITING_TIMER, /* 27 Waiting to do delayed orig timer */
+ CP_EMERGENCY_CALLBACK_MODE_TIMER, /* 28 leave emergency call back mode */
+ CP_SLOTTED_TIMER, /* 29 slotted timer */
+ CP_UNUSED_TIMER, /* 30 UNUSED/AVAILABLE TIMER ID */
+
+ CP_LOC_REQ_TIMER0, /* 31 Location Services Outstanding Request Timer #1 */
+ CP_LOC_REQ_TIMER1, /* 32 Loc Timer #2 */
+ CP_LOC_REQ_TIMER2, /* 33 Loc Timer #3 */
+ CP_LOC_PPM_BTWEEN_FIX_TIMER0, /* 34 Pilot Phase Meas Between Fix timer 0 */
+ CP_LOC_PPM_BTWEEN_FIX_TIMER1, /* 35 Pilot PHase Meas Between Fix timer 1 */
+ CP_LOC_PPM_PREF_RESP_QUAL_TIMER0, /* 36 Time window to respond to PPM Request Timer 0*/
+ CP_LOC_PPM_PREF_RESP_QUAL_TIMER1, /* 37 Time window to respond to PPM Request Timer 1*/
+ CP_LOC_GEN_TIMER0, /* 38 General Keep Alive Session Timer */
+ CP_LOC_GEN_TIMER1, /* 39 */
+ CP_LOC_GEN_TIMER2, /* 40 */
+ CP_LOC_PRM_BTWEEN_FIX_TIMER, /* 41 PseudoRange Meas Between Fix Timer */
+ CP_LOC_ACQ_ASST_FRESH_TIMER, /* 42 Acquisition Assist Refresh Timer */
+ CP_LOC_BS_ALM_FRESH_TIMER, /* 43 BS Almanac Refresh Timer */
+ CP_PE_RC_RETRY_DELAY_TIMER, /* 44 rev sch retry delay order received from BS */
+ CP_PE_RC_RSR_REQ_TIMER, /* 45 1 sec ESCAM timer for resource control */
+ CP_SILENT_RETRY_RESET_TIMER, /* 46 Silent Retry Reset Timer */
+ CP_CSS_REDIR_END_TIMER, /* 47 Redirection End timer */
+ CP_CSS_MORE_PREF_SCAN_TIMER, /* 48 When not most pref sys acq, rescan for better serv */
+ CP_SLOTTED_IDLE_HO_DELAY_TIMER, /* 49 Slotted Idle HO Delay Timer */
+ CP_CDMA_TO_AMPS_ACQ_DELAY_TIMER, /* 50 CDMA to AMPS system selection delay timer */
+ CP_RETRY_ORIG_DELAY_TIMER, /* 51 Orig should not be allowed */
+ CP_TC_SLOTTED_DELAY_TIMER, /* 52 Slotted Paging sleep delay */
+ CP_UNUSED_2_TIMER, /* 53 UNUSED/AVAILABLE TIMER ID */
+ CP_IDLE_STATE_TIMER, /* 54 Slotted Paging sleep delay */
+ /* 55: AVAILABLE */
+ CP_REG_THROTTLING_TIMER = 56, /* 56 Timer for Unsuccessful Registration */
+ CP_CSS_EPRL_ESPM_WAIT_TIMER, /* 57 Time to wait for ESPM to validate
+ System Selection */
+ CP_E911_ACCESS_FAIL_TIMER, /* 58 Rescan after E911_ACCESS_RESCAN_TIMEOUT
+ * of continuous E911 probing */
+ CP_1XMO_BKOFF_TIMER, /* 59 Back off timer before origination request is sent. */
+ CP_NO_SERVICE_TIME, /* 60 SMS timer for no svc */
+ CP_1X_ANTENNA_GRANT_TIMER, /* 61 No Pilot Acq Rsp from L1d */
+ CP_TIMING_CHANGE_TIMER, /* 62 Timing Change substate timer */
+ CP_BS_RELEASE_DELAY_TIMER, /* 63 TCH Release delay for BS RLO */
+
+ CP_LOC_PREEMPTION_TIMER,
+#if defined(MTK_CBP) && defined(MTK_DEV_ENGINEER_MODE)
+ CP_TMSI_DURATION_TIMER, /* 65 TMIS duration TIMER from TSAM */
+#endif
+#ifdef MTK_DEV_C2K_IRAT
+ CP_C2K_LTE_CSFB_TIMER, /* 66 C2K LTE CSFB TIMER */
+ CP_C2K_REPORT_NO_SVC_AFTER_RESUME_TIMER, /* 67 wait for report nosvc timer */
+ CP_PS_PROTECT_DELAY_TIMER, /* 68 PS Protection Delay after Valid Ack */
+ CP_C2K_POWERDOWN_IN_SUSPEND_TIMER, /*69 receive power down in suspend delay timer*/
+ CP_IMPROVE_SYNC_PRIO, /* 70 when exit flight mode, improve 1x priority when sync acquire*/
+#endif
+#ifdef MTK_CBP_ENCRYPT_VOICE
+ CP_ENCRYPT_VOICE_TIMER, /* 71 encrypt voice fail after timer expired */
+ CP_ENCRYPT_RANDOM_NUMBER_TIMER, /* 72 encrypt random number generate timer */
+#endif
+#ifdef MTK_DEV_C2K_IRAT
+ CP_RSVAS_WAIT_SUSPEND_CNF_TIMER, /* 73 PSW wait suspend cnf from CSS timer */
+ CP_RSVAS_WAIT_VIRTUAL_SUSPEND_CNF_TIMER, /* 74 PSW wait virtual suspend cnf from CSS timer */
+ CP_RSVAS_WAIT_OCCUPY_IND_TIMER, /* 75 PSW wait occupy ind from RSVAS timer */
+#endif
+
+ CP_PAGING_PRIORITY_OPT_TIMER, /* 76 Timer for boosting slotted mode paging RF priority */
+
+ CP_ACCESS_PROTECTION_TIMER, /* 77 access protection timer */
+#ifdef MTK_DEV_C2K_IRAT
+ CP_PS_SERVICE_ACCESS_PROTECT_TIMER, /* 78 PS service access protect timer */
+#endif
+ CP_REG_REJECT_BAR_TIMER, /* 79 1xRTT reg reject bar timer*/
+ CP_IDLE_NO_SLEEP_PROTECT_TIMER, /* 80 1xRTT Idle no sleep ptotect timer */
+ NUM_TIMERS /* This one MUST be last!! */
+ }
+CPTimerId;
+
+
+/* NOTE: If this enum is changed, please update ets enum PETimerId in ps_trace.txt */
+
+
+ /* Frame Based Timers */
+ typedef enum
+ {
+ CP_TC_SERVICE_ACTION_FRAME_TIMER, /* Service Action timer */
+ NUM_FRAME_TIMERS /* This one MUST be last!! */
+ }
+CPFrameTimerId;
+
+
+
+
+ /* Call Processing Absolute Timer structure */
+ typedef struct
+ {
+ kal_int16 id; /* Timer ID - for WBIOS */
+ kal_uint32 value; /* Timer Value */
+ } CPTimer;
+
+
+ /* Call Processing Frame Based Timer structure */
+ typedef struct
+ {
+ kal_bool active; /* Frame timer state */
+ kal_uint32 frameCount; /* Current frame count */
+#ifdef TRACEON
+ const char *name; /* Frame Timer Name - for TRACE etc. */
+#endif
+ } CPFrameTimer;
+
+
+/*****************************************************************************
+ * Timer function prototypes
+ ****************************************************************************/
+
+ void cpInitTimers (void);
+ void cpInitNonRsvasTimers(void);
+ kal_bool cpStartTimer (CPTimerId timer, kal_uint32 interval);
+ void cpStopTimer (CPTimerId timer);
+ void cpStopAllNonRsvasTimers(void);
+ kal_bool cpIsTimerActive(CPTimerId timer);
+ kal_bool cpLocateTimer(kal_int16 id, CPTimerId *timer);
+
+#endif /* _CPTIMER_H_ */
+
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/cpver.h b/mcu/interface/protocol/as_c2k/1xrtt/cpver.h
new file mode 100644
index 0000000..10be1da
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/cpver.h
@@ -0,0 +1,84 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+#ifndef CPVER_H
+#define CPVER_H
+
+#include "sysdefs.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+#define BOARD_TYPE_NAME_LENGTH 17
+
+typedef struct
+{
+ kal_uint32 FourBytesForBoundary;
+ char SwVersionInforTag[24];
+ char CustomerName[20]; /* VIA/Nokia/Samsung etc*/
+ char SWName[10]; /*sw name, such as VTUI3,Touchflow*/
+ char BoardTypeName[BOARD_TYPE_NAME_LENGTH]; /*board type name defined in makefile_feature*/
+ char BoardVersion[10]; /*such as P0, P1*/
+ kal_uint16 MajorVersion; /* Major CP version, customer should be in charge of the management.*/
+ kal_uint16 MinorVersion; /*Minor CP version, customer should be in charge of the management.*/
+ kal_uint16 ReviseVersion; /*Revise CP version, customer should be in charge of the management.*/
+}SwVersionInfoT;
+
+SwVersionInfoT GetCustomerVersion(void);
+SwVersionInfoT GetPlatformVersion(void);
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif
+/**Log information: \main\vtui2_5x\2 2008-06-18 03:16:48 GMT dwang
+** HREF#240**/
+/**Log information: \main\vtui2_5x\3 2008-09-09 03:02:16 GMT dwang
+** HREF#1894**/
+/**Log information: \main\CBP7FeaturePhone\CBP7FeaturePhone_qwu_href14940\1 2010-10-09 05:50:51 GMT qwu
+** HREF#14940**/
+/**Log information: \main\CBP7FeaturePhone\CBP7FeaturePhone_qwu_href14940\2 2010-10-09 08:37:33 GMT qwu
+** HREF#14940**/
+/**Log information: \main\CBP7FeaturePhone\2 2010-10-11 01:45:29 GMT pchen
+** HREF#14940**/
+/**Log information: \main\CBP7FeaturePhone\CBP7FeaturePhone_wxiong_href14940\1 2010-10-13 03:51:36 GMT wxiong
+** HREF#14940**/
+/**Log information: \main\CBP7FeaturePhone\3 2010-10-13 04:40:23 GMT pfwu
+** CBP7FeaturePhone_wxiong_href14940**/
+/**Log information: \main\CBP7FeaturePhone\CBP7FeaturePhone_hxwang_href15115\1 2010-10-19 10:03:06 GMT hxwang
+** HREF#15115**/
+/**Log information: \main\CBP7FeaturePhone\4 2010-10-20 01:54:22 GMT zlin
+** Merge href 15115.**/
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/crc.h b/mcu/interface/protocol/as_c2k/1xrtt/crc.h
new file mode 100644
index 0000000..758ad5e
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/crc.h
@@ -0,0 +1,108 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Module: crc.h
+ *
+ * Purpose: Header file for crc.c
+ *
+ ****************************************************************************
+ *
+ * PVCS Header Information
+ *
+ * $Revision: 1.2 $
+ * $Author: fpeng $
+ *
+ * $Log: crc.h $
+ * Revision 1.2 2004/03/25 12:09:24 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:38:34 fpeng
+ * Initial revision
+ * Revision 1.3 2002/06/06 13:11:21 chinh
+ * Changed and Added Copyright
+ * Revision 1.2 2001/11/08 12:33:18 AMALA
+ * Corrected CRC 16 bit calculation error.
+ * Revision 1.1 2001/01/17 10:58:19 plabarbe
+ * Initial revision
+ * Revision 1.2 2000/11/13 17:06:01 byang
+ * IS-2000A Idle Mode and LAC integration - Initial Release.
+ * Revision 1.3 2000/08/23 22:05:24Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes
+ * Revision 1.5 1999/05/17 22:42:43 mhayduk
+ * Revised CRC30 algorithm.
+ *
+ * Revision 1.4 1998/03/30 23:26:03 mhayduk
+ * Release 0.03.
+ *
+ * Revision 1.1 1997/11/06 17:49:24 mhayduk
+ * Initial revision
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+
+#ifndef _CRC_H_
+
+ #define _CRC_H_ 1
+
+/*****************************************************************************
+ * Includes
+ ****************************************************************************/
+#include "sysdefs.h"
+
+/*****************************************************************************
+ * Prototypes
+ ****************************************************************************/
+
+ void crcSetEnableFlag (kal_uint16 qualifier);
+/* Amala K. 11/07/01 - changed parameter len to kal_uint16 */
+ kal_uint16 crcCalculate16Bit (kal_uint8 *message, kal_uint16 len);
+ kal_uint32 crcCalculate30Bit (kal_uint8 *message, kal_uint32 len);
+ kal_bool crcCheck16Bit (kal_uint8 *message, kal_uint8 len);
+ kal_bool crcCheck30Bit (kal_uint8 *message, kal_uint16 len);
+
+
+#endif
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/custom.h b/mcu/interface/protocol/as_c2k/1xrtt/custom.h
new file mode 100644
index 0000000..521b833
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/custom.h
@@ -0,0 +1,245 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Module: custom.h
+ *
+ * Purpose: Customer specified compile switches
+ *
+ ****************************************************************************
+ *
+ *
+ * PVCS Header Information
+ *
+ * $Revision: 1.2 $
+ * $Author: fpeng $
+ *
+ * $Log: custom.h $
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ * Revision 1.2 2004/03/25 12:09:24 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:38:35 fpeng
+ * Initial revision
+ * Revision 1.2 2002/06/06 13:11:30 chinh
+ * Changed and Added Copyright
+ * Revision 1.1 2001/01/17 10:58:21 plabarbe
+ * Initial revision
+ * Revision 1.3 2000/12/05 17:44:50 byang
+ * Idle mode - IS2000A Addendum modifications.
+ * Revision 1.2 2000/11/13 14:25:25 byang
+ * IS-2000A Idle Mode and LAC intergration - Initial Release.
+ * Revision 1.1 2000/10/24 21:11:07Z fpeng
+ * Initial revision
+ * Revision 1.7 2000/09/23 02:44:54Z rnookala
+ * Commented out duplicate #defines (constants)
+ * Revision 1.6 2000/09/08 23:56:41Z RSATTARI
+ * Added defines for the fields of the capability information record response.
+ * Revision 1.5 2000/08/31 23:41:48Z bcolford
+ * Replaced AMPS_SUPPORTED with SYS_OPTION_AMPS.
+ * Revision 1.4 2000/08/23 22:05:58Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes.
+ * Revision 1.35 2000/02/22 17:09:55 scotvold
+ * Changed CP_MAX_DATA_BURST_CHAR from 249 to 246,
+ * to take into account MSG_LENGTH and CRC fields.
+ *
+ * Revision 1.34 2000/02/18 23:35:01 gfrye
+ * Added more configurable parameters for PRL list feature.
+ * Added configurable parameters for Analog SMS feature.
+ *
+ * Revision 1.33 2000/02/05 00:02:26 gfrye
+ * Added parameter for number of broadcast messages that can be
+ * screened for duplicates.
+ *
+ * Revision 1.32 2000/01/22 01:48:31 scotvold
+ * Moved channels to css_api.h
+ *
+ * Revision 1.31 2000/01/22 00:29:29 gfrye
+ * Added defines to support custom system selection.
+ *
+ * Revision 1.30 2000/01/17 22:30:45 scotvold
+ * TC Backward Compatibility changes.
+ *
+ * Revision 1.29 1999/10/21 16:58:15 dfischer
+ * Changed c++ stype comment to ansi C
+ *
+ * Revision 1.28 1999/10/21 15:48:54 gfrye
+ * Added compile switch for Korean !S-95A data extensions.
+ *
+ * Revision 1.3 2000/03/09 17:03:13Z bcolford
+ * Set the OP_MODE2 bit in the ENG_CUSTOM_OP_MODE
+ * flag if AMPS is supported.
+ * Revision 1.2.1.3 2000/03/09 15:33:16Z bcolford
+ * Added bit definition for AMPS OP_MODE2.
+ * Revision 1.2 2000/03/01 18:06:06Z rsattari
+ * Isotel release 2.3 updates.
+ * Revision 1.1.1.1.1.1 1999/11/30 23:12:08Z rsattari
+ * Duplicate revision
+ * Revision 1.1.1.1 1999/11/30 23:12:08Z rsattari
+ * Duplicate revision
+ * Revision 1.29 1999/09/29 22:25:31 rsattari
+ * BB changes for new T_ADD/T_DROP.
+ * Revision 1.28 1999/09/20 19:08:47 rsattari
+ * sync with patches.
+ * Revision 1.20.1.2.1.15 1999/09/13 20:11:03 banister
+ * Changed dynamic T_ADD and T_DROP thresh to have 0.5dB resolution and
+ * be independently configurable.
+ * Revision 1.20.1.2.1.14 1999/09/13 19:44:48 banister
+ * Reduced the adaptive T_ADD and T_DROP thresholds.
+ * Revision 1.20.1.2.1.13 1999/09/11 04:08:09 banister
+ * Added an adaptive T_ADD and T_DROP threshold to accommodate
+ * situations where all pilots are below T_ADD.
+ * Revision 1.20.1.2.1.12 1999/09/09 21:20:56 rsattari
+ * 2.10 patch 6.
+ * Revision 1.5 1999/09/04 13:44:00 cdma
+ *
+ * Revision 1.27 1999/09/02 20:33:49 gfrye
+ * Added T53_PLUS_OR_95B compile switch for code common to 95B and
+ * to T53 rev 3+.
+ *
+ * Revision 1.26 1999/08/31 22:59:49 gfrye
+ * Added new registration delay after failure timer.
+ *
+ * Revision 1.25 1999/08/27 19:59:29 gfrye
+ * Added OOSA configuration parameters to support the change from 3
+ * OOSA phases to 4.
+ *
+ * Revision 1.24 1999/08/18 23:48:07 gfrye
+ * 1. Replaced ENG_MAX_BAD_PAGE_CRC with ENG_MAX_BAD_PAGE_FRAME as the new page
+ * channel monitoring scheme is based on a time between valid CRC's
+ * rather than a number of bad CRC's.
+ * 2. Increased the history size from 3 to 7.
+ *
+ * Revision 1.23 1999/08/13 21:30:20 gfrye
+ * Added NOISE_THRESHOLD as follows. No neighbor pilot will be considered a valid target
+ * for handoff if its signal strength is below the NOISE_THRESHOLD specifed in custom.h
+ *
+ * Revision 1.22 1999/08/06 22:23:48 gfrye
+ * Removed comment that is no longer valid.
+ *
+ * Revision 1.21 1999/08/05 01:11:23 scotvold
+ * Moved CP_BCAST_ADDRESS_MAX_SIZE to custom.h.
+ *
+ * Revision 1.20 1999/07/28 20:02:00 gfrye
+ * Added MAX_HISTORY_RECS to define the number of previously visited base
+ * stations for which to store overhead information.
+ * Replace old Idle Handoff Parameters with the parameters for the new more
+ * general algorithm.
+ *
+ * Revision 1.19 1999/07/22 23:23:04 scotvold
+ * Added compile option for Auto Answer.
+ *
+ * Revision 1.18 1999/07/07 21:22:38 scotvold
+ * Separation of HT_MAX and T_MAX for idle handoff.
+ *
+ * Revision 1.17 1999/07/01 16:27:17 dfischer
+ * Added ..._CRC
+ *
+ * Revision 1.16 1999/06/23 22:48:56 gfrye
+ * Added compile option for ACCESS_ENTRY_HANDOFF_ALLOWED.
+ * Added CP_ACCESS_ENTRY_HO_WEAK_PILOT_STRENGTH - threshold for trying a Access entry handoff.
+ *
+ * Revision 1.14 1999/06/09 22:01:45 dfischer
+ * Moved ACQ_SIZE and MSGQ_SIZE from tc_mtx.c to custom.th
+ *
+ * Revision 1.13 1999/06/04 23:27:26 scotvold
+ * New Message Transmitter.
+ *
+ * Revision 1.12 1999/05/19 16:25:19 mhayduk
+ * Added define for T53 MSD support.
+ *
+ * Revision 1.11 1999/04/16 20:16:10 scotvold
+ * Added checking of IHO and OOSA parameters.
+ *
+ * Revision 1.10 1999/04/16 01:25:19 scotvold
+ * Increased CP_MAX_BURST_DTMF_DIGITS to 255.
+ *
+ * Revision 1.9 1999/04/13 19:17:27 scotvold
+ * New Idle Handoff Algorithm.
+ *
+ * Revision 1.7 1999/03/18 19:55:25 mhayduk
+ * Added support for Searching Out of Service Area operation.
+ *
+ * Revision 1.6 1999/03/03 19:35:28 mhayduk
+ * Added new customer define to allow setting of default service
+ * option.
+ *
+ * Revision 1.5 1998/11/02 22:00:39 scotvold
+ * Moved defines to custom.h
+ *
+ * Revision 1.4 1998/10/21 00:04:07 mhayduk
+ * Added T53 support.
+ *
+ * Revision 1.3 1998/06/12 14:50:38 scotvold
+ * Updated for Release 0.07.
+ *
+ * Revision 1.2 1998/06/08 21:53:21 scotvold
+ * Updated for Release 0.06.
+ *
+ * Revision 1.1 1998/05/01 18:13:54 scotvold
+ * Initial revision
+ *
+ * Revision 1.3 1998/03/30 23:26:03 mhayduk
+ * Release 0.03.
+ *
+ * Revision 1.1 1997/11/06 17:49:24 mhayduk
+ * Initial revision
+ *
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+
+#ifndef _CUSTOM_H_
+
+ #define _CUSTOM_H_ 1
+
+#include "pswcustom.h"
+
+#endif /* _CUSTOM_H_ */
+
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/digits.h b/mcu/interface/protocol/as_c2k/1xrtt/digits.h
new file mode 100644
index 0000000..698c779
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/digits.h
@@ -0,0 +1,148 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Module: digits.h
+ *
+ * Purpose: Definitions for Digit-Handling Functions.
+ *
+ ****************************************************************************
+ *
+ * PVCS Header Information
+ *
+ * $Revision: 1.2 $
+ * $Author: fpeng $
+ *
+ * $Log: digits.h $
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ * Revision 1.2 2004/03/25 12:09:25 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:38:36 fpeng
+ * Initial revision
+ * Revision 1.2 2002/06/06 13:11:34 chinh
+ * Changed and Added Copyright
+ * Revision 1.1 2001/01/17 10:58:23 plabarbe
+ * Initial revision
+ * Revision 1.1 2000/10/24 14:11:08 fpeng
+ * Initial revision
+ * Revision 1.3 2000/08/23 22:06:24Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes.
+ * Revision 1.10 1999/10/28 17:10:11 dfischer
+ * Added is called address BCD
+ *
+ * Revision 1.9 1999/10/13 22:25:32 dfischer
+ * Added ascii2bcd
+ *
+ * Revision 1.8 1999/07/16 21:53:24 gfrye
+ * Removed unused functions.
+ *
+ * Revision 1.7 1999/04/16 00:56:05 mhayduk
+ * Modify interface for saving digits and retrieving last 6
+ * digits for authentication purposes.
+ *
+ * Revision 1.6 1999/04/15 01:35:49 mhayduk
+ * Added support for storing encoded digit strings.
+ * Added support for setting and storing authentication digits.
+ *
+ * Revision 1.5 1998/10/20 23:58:23 mhayduk
+ * Added T53 support.
+ *
+ * Revision 1.4 1998/08/13 00:12:05 scotvold
+ * Added DTMF support.
+ *
+ * Revision 1.3 1998/03/30 23:26:03 mhayduk
+ * Release 0.03.
+ *
+ * Revision 1.1 1997/11/06 17:49:24 mhayduk
+ * Initial revision
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+
+#ifndef _DIGITS_H_
+
+ #define _DIGITS_H_ 1
+
+/*****************************************************************************
+ * Defines
+ ****************************************************************************/
+ #define CP_MAX_DIGITS 32
+
+/* Order Qualifier for Stop Continuous DTMF order */
+#define TC_STOP_CONTINUOUS_DTMF 0xFF
+
+
+/**********************************************************************
+ * Global declarations
+ **********************************************************************/
+
+/* DTMF Digit BCD to ASCII conversion */
+extern const char tbcd_[];
+
+
+/*****************************************************************************
+ * Prototypes
+ ****************************************************************************/
+
+/* Scratchpad function prototypes */
+void cpPutDialedDigits(char *digits,kal_bool encoded,kal_uint8 numDigits,
+ kal_bool digitMode);
+char* cpGetCalledAddress(void);
+kal_bool cpIsCalledAddressBCD(void);
+void cpGetLastSixDigits(char *data);
+kal_uint8 cpGetNumCADigits(void);
+
+kal_uint8 ascii2pbcd(char* dest, char* src, kal_uint8 numDigs);
+kal_uint8 ascii2bcd(char* dest, char* src, kal_uint8 numDigs);
+kal_uint8 cpConvertDigit (char digit);
+
+
+#endif /* _DIGITS_H_ */
+
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/eng_accs.h b/mcu/interface/protocol/as_c2k/1xrtt/eng_accs.h
new file mode 100644
index 0000000..a1575fe
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/eng_accs.h
@@ -0,0 +1,196 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Module: eng_accs.h
+ *
+ * Purpose: Header file containing definitions for PE Access Substates.
+ *
+ ****************************************************************************
+ *
+ * PVCS Header Information
+ *
+ * $Revision: 1.5 $
+ * $Author: hans $
+ *
+ * $Log: eng_accs.h $
+ *
+ * 10 26 2017 tina.ma
+ * [MOLY00285322] [Bianco][O1][SRLTE][CT 6M C][LTE IOT][FT][SH][HW][TC-4GFT-07008]MT Failed 4 times
+ *
+ * .
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ *
+ * 06 22 2017 gavin.zhang
+ * [MOLY00258188] [TE CAT][Bianco][C2K][MP1][N1] Externel (EE),0,0,99,/data/core/,1,modem,Trigger time:[2017-06-10 15:25:44.599061] md1:(MCU_core0.vpe0.tc0(VPE0)) [Fatal error(task)] err_code1:0x00000305 err_code2:0x8888016F err_code3:0xCCCCCCCC MD Offender:CPSW
+ *
+ * .
+ *
+ * 12 15 2016 sue.zhong
+ * [MOLY00217270] [6293][C2K]Sync C2K code to UMOLYA TRUNK from C2K CBr (W51)
+ * c2k source
+ *
+ * 11 09 2016 sue.zhong
+ * [MOLY00208435] [6293][C2K]Sync C2K code to UMOLYA TRUNK
+ * Update C2K PS code (1/2)
+ * Revision 1.5 2006/03/20 18:23:13 hans
+ * Access substate filter added for messages and orders. Filter added in pageMsgInAccess() and pageMsgInUpdateOHDInfo(). Missing CP_AUTH_CHALL_MESSAGE case added to pageMsgInUpdateOHDInfo().
+ * Revision 1.4 2005/05/20 14:24:52 vsethuraman
+ * CR 6129 :- cpGetRestartPageChan() function declaration
+ * Revision 1.3 2004/09/28 16:29:47 hans
+ * Changes from CBP6.0 merged.
+ * Revision 1.2 2004/03/25 12:09:25 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:38:38 fpeng
+ * Initial revision
+ * Revision 1.4 2002/06/06 13:11:46 chinh
+ * Changed and Added Copyright
+ * Revision 1.3 2002/05/21 10:44:11 bsharma
+ * Added Prototype for checkAccessEventQueue()
+ * Revision 1.2 2001/01/29 18:20:51 dstecker
+ * new access probe architecture
+ * Revision 1.1 2001/01/17 10:58:27 plabarbe
+ * Initial revision
+ * Revision 1.1 2000/10/24 14:11:09 fpeng
+ * Initial revision
+ * Revision 1.3 2000/08/23 22:06:29Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes.
+ * Revision 1.9 1999/12/14 21:34:57 gfrye
+ * Added routines to initialize all those static kal_bools
+ *
+ * Revision 1.8 1998/10/20 23:58:23 mhayduk
+ * Added T53 support.
+ *
+ * Revision 1.7 1998/07/29 04:20:04 mhayduk
+ * Added access handover support.
+ *
+ * Revision 1.6 1998/07/10 21:04:35 mhayduk
+ * Added prototype for restarting Page Channel in Access.
+ *
+ * Revision 1.5 1998/06/08 21:48:25 scotvold
+ * Updated for Release 0.06
+ *
+ * Revision 1.4 1998/05/27 17:16:28 scotvold
+ * Updated for Release 0.05.
+ *
+ * Revision 1.3 1998/03/30 23:26:03 mhayduk
+ * Release 0.03.
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+
+#ifndef _ENG_ACSS_H_
+
+ #define _ENG_ACSS_H_ 1
+
+
+/****************************************************************************
+ * Includes
+ ****************************************************************************/
+#include "status.h"
+#include "engine.h"
+
+/****************************************************************************
+ * Defines
+ ****************************************************************************/
+
+ #define CP_ACCESS_PAGE 1 /* Page response access */
+ #define CP_ACCESS_REGISTRATION 2 /* Registration access */
+ #define CP_ACCESS_ORIGINATION 3 /* Origination access */
+ #define CP_ACCESS_RESPONSE 4 /* Order & Message response access */
+ #define CP_ACCESS_DATABURST 5 /* Data message transmission */
+ #define CP_ACCESS_PAGE_LOST 10 /* Access fail reason is Page lost */
+
+ #define CP_MAX_ACCESS_SUB_STATES 6
+
+/*****************************************************************************
+ * Data Structures
+ ****************************************************************************/
+
+typedef enum
+{
+ ACH,
+ EACH
+} ChannelTypeT;
+
+/****************************************************************************
+ * Function prototypes
+ ****************************************************************************/
+ void cpRestartPageChanInAccess(void);
+ kal_bool cpGetRestartPageChan(void);
+ void cpSuccessfulAttemptInAccess(void);
+ void cpSetAccessRequest(kal_uint8 type);
+ kal_uint8 cpGetAccessReason(void);
+ kal_uint8 cpGetAccessFailReason(void);
+ void cpSetAccessFailReason(kal_uint8 reason);
+ kal_bool cpGetAccessHOIndicator(void);
+ void cpSetAccessHOIndicator(kal_bool ind);
+
+ CPState cpUpdateOverheadInfo( Callback *event );
+ CPState cpPageResponse( Callback *event );
+ CPState cpOrderMessageResponse( Callback *event );
+ CPState cpOriginationState( Callback *event );
+ CPState cpRegistrationState( Callback *event );
+ CPState cpMessageTransmissionState( Callback *event );
+ void initializeEngAccs(void);
+ void checkAccessEventQueue(void);
+ void cpEngStoreAccessEvent(Callback *accessEvent, Callback *event);
+ CPState cpProcessGeneralPageInAccess(PChMessage *msg);
+ void cpResetAccessCollisionMsgSeq(void);
+ kal_uint8 cpGetAccessCollisionMsgSeq(void);
+ void cpSetAccessSystemTimerIndicator( kal_bool restIndicator );
+ void cpResetMapeRegFailCount(void);
+ void SetAuthrValid(kal_bool valid);
+ kal_bool GetAuthrValid(void);
+ kal_bool cpGetAccessSystemTimerIndicator(void);
+ kal_bool cpIsFirstProbeCompelted(void);
+ void cpSetFirstProbeCompleted(kal_bool firstProbeCompleted);
+#endif /* _ENG_ACSS_H_ */
+
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/eng_idle.h b/mcu/interface/protocol/as_c2k/1xrtt/eng_idle.h
new file mode 100644
index 0000000..6524fd7
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/eng_idle.h
@@ -0,0 +1,537 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Module: eng_idle.h
+ *
+ * Purpose: Header file for eng_idle.c
+ *
+ ****************************************************************************
+ *
+ * PVCS Header Information
+ *
+ * $Workfile$
+ * $Revision: 1.13 $
+ * $Modtime$
+ * $Author: hans $
+ *
+ * $Log: eng_idle.h $
+ *
+ * 09 18 2020 tina.ma
+ * [MOLY00555839] ?Maxwell-AN00A 10.1.1.160?APR????modemcrash
+ *
+ * .
+ *
+ * 09 18 2020 tina.ma
+ * [MOLY00504457] [Titan93] ESVCINFO issue fix
+ *
+ * .
+ *
+ * 11 05 2019 tina.ma
+ * [MOLY00457226] [MT6885][Petrus][MP1][SQC][SI1][C2K][C2K Regression][ASSERT] file:mcu/l1/mml1/mml1_tx/md97/src/mml1_tx_txsys_glb.c line:385 p1:0x00000000 p2:0x00000000 p3:0x00000000 ELM r/wlat:PASS AP detect MDEE time: 7422.856205
+ *
+ * .
+ *
+ * 01 21 2019 tina.ma
+ * [MOLY00379869] [Gen97]merge code from UMOLYE TRUNK
+ *
+ * merge to VMOLY
+ * bar bad cell
+ *
+ * 01 17 2019 tina.ma
+ * [MOLY00379869] [Gen97]merge code from UMOLYE TRUNK
+ *
+ * merge to VMOLY
+ * 1. ECAM
+ * 2. UT
+ * 3. local release
+ * 4. does not trigger registration in sleep mode
+ *
+ * 12 18 2018 danny.dai
+ * [MOLY00370973] [MT6779][Lafite][P0][BSP+][MP2][CTC FT][SH][om_c2k6m][Benchmark][FT_SQC_CS Performace_08]DUT MTC failure 12 times however REF-MI 8 se failure 1 times
+ *
+ * VMOLY.EVB.SEPT.DEV: opt for PCH resync denied issue
+ *
+ * 05 15 2018 tina.ma
+ * [MOLY00326014] [Gen95][MSPM] SW changes check in UMOLYE
+ *
+ * MSPM feature merge to UMOLYE
+ *
+ * 02 09 2018 tina.ma
+ * [MOLY00305248] [6739S10¡¿¡¾ÓÃÀý²âÊÔ¡¿¡¾CDMA¡¿¡¾²ÊÐÅ¡¿¿¨1λÖ÷¿¨£¬Ê¹Óÿ¨2·¢ËͲÊÐÅ£¬ÌáʾÇл»Êý¾ÝͨµÀÖÁ¿¨2£¬²ÊÐÅ·¢ËÍʧ°Ü
+ *
+ * .
+ *
+ * 12 06 2017 tina.ma
+ * [MOLY00294263] [Zion][O1][SRLTE][CT 6M C][LTE IOT][FT][SH][HW][CAT][SWITCH_DATA_ON]System API Dump,741,797,99,/data/vendor/core/,1,,mtkrild:AT command pending too long. assert!!! AT cmd: EC2KCMGS.timer: 600000ms
+ *
+ * <saved by Perforce>
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ *
+ * 05 17 2017 peijun.zheng
+ * [MOLY00249027] [BIACNO][MT6763][New feature]C2K code release code modification
+ *
+ * C2k code release.
+ *
+ * 04 18 2017 jacky.wu
+ * [MOLY00243091] [BIANCO][MT6763][C2K][RDIT][Stress][KAL][UE][core0,vpe0,tc0(vpe0)] Assert fail: l1dspage.c 772 0x1002 0x6 0x0 - L1D_MDM
+ *
+ * .Sync clock calibration state between L1 & L3.
+ *
+ * 02 15 2017 danny.dai
+ * [MOLY00229716] [new feature]C2K EM Develop: 1xL3 and EvL3 module codes
+ *
+ * L3 EM: 1xrtt and evdo code for EM
+ *
+ * 01 10 2017 gavin.zhang
+ * [MOLY00223858] [6293][C2K]Sync PSW code from C2K CBr to UMOLYA trunk
+ *
+ * merge code from T0 to trunk.
+ *
+ * 12 15 2016 sue.zhong
+ * [MOLY00217270] [6293][C2K]Sync C2K code to UMOLYA TRUNK from C2K CBr (W51)
+ * c2k source
+ *
+ * 11 09 2016 sue.zhong
+ * [MOLY00208435] [6293][C2K]Sync C2K code to UMOLYA TRUNK
+ * Update C2K PS code (1/2)
+ * Revision 1.13 2006/03/17 18:16:28 hans
+ * UTS requirement to support CP Spy CP PE QPCH Meas Dump with backward compatibility to cbp4x
+ * Revision 1.12 2006/03/03 13:40:36 vsethuraman
+ * CR7207 :- PN310 CSS and ERI changes.
+ * Revision 1.11 2005/12/21 11:31:54 hans
+ * Updated qpch algorithm and new L1 interface.
+ * Revision 1.10 2005/08/17 14:10:04 hans
+ * CR6900 - Enhanced qpch indicator detection algorithm [DSPM/L1D/PSW]. CR6902 - Immediate PSW-L1D wake message for PCH/FCCCH
+ * Revision 1.9 2005/06/14 15:26:58 wfu
+ * - Fix CR 5245 and 6181: Put the functions' prtotypes related to the Silent retry.
+ * Revision 1.8 2005/05/20 14:22:34 vsethuraman
+ * CR 6129 :- cpGetRestartFcsch() function declaration
+ * Revision 1.7 2005/05/06 18:08:23 hans
+ * Slotted for FCCCH/BCCH added. Test mode command for BCCH enable/disable and sleep delay added.
+ * Revision 1.6 2005/04/06 16:31:39 dstecker
+ * Release A mods
+ * Revision 1.5 2005/03/18 11:43:28 hans
+ * Merged code changes from CBP4.05 revision 2.02 to CBP4.05 revision 4.21.
+ * Revision 1.4 2004/09/28 16:31:39 hans
+ * Changes from CBP6.0 merged.
+ * Revision 1.3 2004/04/06 14:02:05 dstecker
+ * CBP6.1 release 1
+ * Revision 1.2 2004/03/25 12:09:26 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.2 2004/02/10 12:50:42 bcolford
+ * Merged CBP4.0 Release 8.05.0 changes.
+ * Revision 1.17 2003/12/12 09:53:54 mclee
+ * - For distinction between pended user request and other pended requests in
+ * idle, made following name changes:
+ * checkForPendedRequest() to checkForPendedUserRequest()
+ * clearPendedEvent() to clearPendedUserEvent()
+ * pendedEventType() to pendedUserEventType()
+ * - Added function prototypes for Delayed Idle HO
+ * kal_bool checkPendedIdleHORequest(void)
+ * void pendIdleHORequest(IdleHOParms *hoParms)
+ * void clearPendedIdleHORequest(void)
+ * Revision 1.16 2003/11/06 11:38:51 ameya
+ * Added prototype for origPending().
+ * Revision 1.15 2003/04/30 09:32:59 mclee
+ * Modified function prototypes to support changes in eng_idle.c
+ * Revision 1.14 2002/12/03 15:02:01 akayvan
+ * Moved the Spirent's spy structure declaration to here per Chuck's
+ * request.
+ * Revision 1.13 2002/11/13 14:48:07 byang
+ * Add function prototype declaration for cpSetCclmChChangeStatus().
+ * Revision 1.12 2002/10/24 13:43:21 akayvan
+ * Per CRs 1429/1470, added declaration for functions:
+ * cpPerformImmedL1dWake(), and cpCheckForQPCHQ1Q2Modes().
+ * Revision 1.11 2002/09/10 16:50:03 bcolford
+ * Add a prototype to get rid of a warning in callback.c
+ * Revision 1.10 2002/09/03 18:25:14 bcolford
+ * Add a prototype to get current value of AMPS Slotted mode
+ * enable flag.
+ * Revision 1.9 2002/08/23 10:10:09 akayvan
+ * Per system's request added ETS capabilty to modify all QPCH thresholds.
+ * Revision 1.8 2002/07/15 13:10:41 chinh
+ * Removed compile switch CBP3_MERGE (CR598).
+ * Revision 1.7 2002/06/18 18:05:00 akayvan
+ * QPCH Phase2 mods. Added declarations for functions that
+ * support the new ETS commands to set QPCH params, and mode.
+ * Revision 1.6 2002/06/06 13:11:53 chinh
+ * Changed and Added Copyright
+ * Revision 1.5 2002/05/31 20:07:21 akayvan
+ * QPCH/PI mods.
+ * Revision 1.4 2002/01/17 17:16:15 akayvan
+ * Implemented Slotted Mode.
+ * Revision 1.3 2001/12/14 17:09:04 mclee
+ * prototype cpGetSleepModeActive()
+ * Revision 1.2 2001/07/18 15:05:20 chinh
+ * cbp3 porting for Idle and Access
+ * Revision 1.1 2001/01/17 10:58:31 plabarbe
+ * Initial revision
+ * Revision 1.4 2000/12/22 11:42:41 byang
+ * Removed functions for getting and setting IS2000 network
+ * parameters since they are moved to IS2000_NETWORK_PARAMETER global data block.
+ * Revision 1.3 2000/12/05 17:44:57 byang
+ * Idle mode - IS2000A Addendum modifications.
+ * Revision 1.2 2000/11/13 14:25:33 byang
+ * IS-2000A Idle Mode and LAC intergration - Initial Release.
+ * Revision 1.1 2000/10/24 21:11:10Z fpeng
+ * Initial revision
+ * Revision 1.3 2000/08/23 22:06:32Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes.
+ * Revision 1.21 2000/03/09 21:38:38 gfrye
+ * Added functions for accessing the pended user event queue.
+ *
+ * Revision 1.20 1999/12/14 21:34:57 gfrye
+ * Added routines to initialize all those static kal_bools
+ *
+ * Revision 1.19 1999/12/09 21:54:11 gfrye
+ * Added new function prototypes to check for pending originations
+ * or emergency calls.
+ *
+ * Revision 1.18 1999/08/31 00:29:46 gfrye
+ * Added gotPilotMeasurementInIdle so that ho_cc.c can signal when a pilot
+ * measurement has been received.
+ *
+ * Revision 1.17 1999/08/18 23:35:52 gfrye
+ * Added the new prototype wakeL1 to record that L1 has indicated that it
+ * is currently awake.
+ *
+ * Revision 1.16 1999/07/16 21:36:44 gfrye
+ * Added prototype for reportAccessFail.
+ *
+ * Revision 1.15 1999/07/14 17:22:03 gfrye
+ * Added prototype for new function cpRegPending.
+ *
+ * Revision 1.14 1999/06/20 04:44:53 scotvold
+ * Removed redundant declaration.
+ *
+ * Revision 1.13 1999/01/20 19:44:11 mhayduk
+ * Added NDSS support.
+ *
+ * Revision 1.12 1998/11/27 22:25:59 mhayduk
+ * Added slotted mode test capability.
+ * Added support for radio not tuned indication.
+ * Removed cpRegAccessDueToConfig() since engine can be
+ * called recursivelynow.
+ *
+ * Revision 1.11 1998/11/20 16:19:01 mhayduk
+ * Added test mode support to enable/disable slotted mode.
+ *
+ * Revision 1.10 1998/10/20 23:58:23 mhayduk
+ * Added T53 support.
+ *
+ * Revision 1.9 1998/07/29 04:20:04 mhayduk
+ * Added access handover support.
+ *
+ * Revision 1.8 1998/06/09 17:53:29 mhayduk
+ * Added prototype for accepting registration request from new config.
+ *
+ * Revision 1.7 1998/06/08 21:48:25 scotvold
+ * Updated for Release 0.06
+ *
+ * Revision 1.5 1998/05/27 17:16:28 scotvold
+ * Updated for Release 0.05.
+ *
+ * Revision 1.4 1998/05/01 18:13:54 scotvold
+ * Update for release 0.04
+ *
+ * Revision 1.3 1998/03/30 23:26:03 mhayduk
+ * Release 0.03.
+ *
+ * Revision 1.1 1997/11/06 17:49:24 mhayduk
+ * Initial revision
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+
+#ifndef _ENG_IDLE_H_
+
+ #define _ENG_IDLE_H_ 1
+
+/*****************************************************************************
+ * Includes
+ ****************************************************************************/
+#include "engine.h"
+#include "systime.h"
+#include "pswapi.h"
+
+/*****************************************************************************
+ * Defines
+ ****************************************************************************/
+/* primary paging channel is Walsh code 1 */
+#define ENG_PRI_PAGE_CHAN 1
+
+/* primary broadcast control channel is Walsh code 1 */
+#define ENG_PRI_BROADCAST_CONTROL_CHAN 1
+
+#define SLT_PAGING_PRIOR_OPT /* switch for feature slotted mode paging priority boost */
+#define REACQ_FAIL_COUNTER_MAX 3
+extern kal_uint8 _reacqFailCounter;
+extern kal_bool _hasRcvValidPageMsg;
+
+typedef enum
+{
+ FCSCH_UNKNOWN,
+ FCSCH_PCH,
+ FCSCH_BCCH_SR1_NON_TD,
+ FCSCH_BCCH_SR1_TD_OTD,
+ FCSCH_BCCH_SR1_TD_STS,
+ FCSCH_BCCH_SR3
+} FcschTypes;
+
+typedef enum
+{
+ PE_PCH = 0,
+ PE_QPCH1 = 1,
+ PE_QPCH2 = 2,
+ PE_CCI = 3,
+ PE_FCCCH = 4,
+ PE_BC = 5
+} SleepType;
+
+/* Qpch Paging Indicator Test Mode Override */
+typedef enum
+{
+ TM_PI_OFF = 0,
+ TM_PI_ON = 1,
+ TM_PI_UNDETERMINED = 2,
+ TM_PI_ERASURE = 3,
+ TM_PI_AUTO = 4
+} QpchPiTestModeType;
+
+/* In QPCH Test Mode, when position is set to 0xFFF, calculate using hash */
+#define QPCH_TEST_POSITION_AUTO 0xFFF
+#define QPCH_TEST_MODE_OFF ((QPCH_TEST_POSITION_AUTO<<4)|TM_PI_AUTO)
+
+
+/* Definitions for VZW */
+#define MAX_BAD_SECTOR_NUM 5
+#define MAX_FAIL_NUM_TO_BYPASS 3
+#define PSW_CAMP_FLOOR_RX_PWR (-100) /* Floor for camping on receive power, dBm */
+#define PSW_CAMP_FLOOR_ECIO 26 /* Floor for IHO to remaining set Ec/Io, -13dB */
+
+typedef PACKED_PREFIX struct
+{
+ kal_uint8 failNum;
+ kal_uint32 timeStamp;
+ kal_uint16 pilotPN;
+} PACKED_POSTFIX BadSectorT;
+
+#ifdef SLT_PAGING_PRIOR_OPT
+typedef PACKED_PREFIX struct
+{
+ kal_uint32 timeStamp; /* in unit of 20ms */
+ kal_bool mtCall;
+} PACKED_POSTFIX LatestCallInfoT;
+
+#define MAX_LATEST_CALL_NUM 3
+#define MAX_TIME_DURAING (3 * 60 * 1000 / 20) // 9000 frames, 3 min
+typedef PACKED_PREFIX struct
+{
+ LatestCallInfoT list[MAX_LATEST_CALL_NUM];
+ kal_uint8 num;
+ kal_uint8 earliest;
+} PACKED_POSTFIX LatestCallInfoListT;
+#endif
+
+/*****************************************************************************
+ * Prototypes
+ ****************************************************************************/
+
+ void gotPilotMeasurementInIdle(void);
+ void cpSetPrat(PageChRate rate);
+ void cpSetPageChs(kal_uint8 pageChs);
+ void cpSetPageChans(kal_uint8 numChans);
+ void cpSetMsgEntryHO(kal_bool msgEntryHo);
+ kal_uint8 cpGetPageChans(void);
+ kal_uint8 cpGetPageChs(void);
+ PageChRate cpGetPrat(void);
+
+ void cpRestartFcsch(void);
+ kal_bool cpGetRestartFcsch(void);
+ void cpStartFCCCHMonitoring(void);
+ FcschTypes determineBroadcastChanType( void );
+
+ void gotPilotMeasurementInIdle(void);
+ void cpSetPrat(PageChRate rate);
+ void cpSetPageChs(kal_uint8 pageChs);
+ void cpSetPageChans(kal_uint8 numChans);
+ void cpSetMsgEntryHO(kal_bool msgEntryHo);
+ kal_uint8 cpGetPageChans(void);
+ kal_uint8 cpGetPageChs(void);
+
+ PageChRate cpGetPrat(void);
+ void cpRestartFcsch(void);
+ void cpResetFcsch(void);
+ kal_bool cpFilterFrameSlot(WbiosSystime time);
+ void cpSetPageChannelAssignmentChange(void);
+#ifdef MTK_DEV_C2K_IRAT
+ kal_bool cpGetPageChannelAssignmentChange(void);
+#endif
+ void cpSetAttemptedPowerDownReg(void);
+ void cpClearAttemptedPowerDownReg(void);
+#ifdef MTK_DEV_C2K_IRAT
+kal_bool cpIsAttemptedPowerDownReg(void);
+#endif
+ void cpSetCclmChChangeStatus( const kal_bool status );
+ void cpSetStrongPilot(HOPilotInfo *pilotInfo);
+ void cpSetPCHAssignedPilot(IdleChangePilotSet *pilotInfo);
+ void cpSetRetransmissionState(CPState retransmitState);
+ void cpCDMASilentRetryReset(void);
+ kal_bool cpIsSlottedModeEnabled(void);
+ CPState cpIdleState(Callback *event);
+ kal_bool cpIsEXT_SYS_PAR_MSG_SEQCurrent(void);
+ void cpRegPending(void);
+ void reportAccessFail(void);
+ void wakeL1(kal_uint8 status);
+ void initializeEngIdle(void);
+
+ /* Pending User Request Functions */
+ CPState cpHandleOriginationRequest(Callback *event, kal_bool *rsvasOldReleasedNewFail);
+ kal_uint8 checkForPendedUserRequest(Callback *event);
+ kal_bool cpPendUserRequest(Callback *event);
+ kal_uint8 pendedUserEventType(void);
+ void clearPendedUserEvent(void);
+ kal_uint8 checkForPendedEngRequest(void);
+ void clearPendedEngRequest(void);
+ kal_bool origPending(void);
+ kal_bool clearDelayedOrig(void);
+ void cpSetQpchModeEnableFlag(kal_uint16 qualifier, kal_uint16 value);
+ void cpSetT_Slotted(kal_uint8 t_slotted);
+ void cpSetSlotted(kal_bool slotted);
+ kal_bool cpGetSlottedModeEnableFlag (void);
+ kal_bool cpGetSleepModeActive(void);
+ void cpSlotIsComplete(void);
+ void cpDisableSlottedMode(void);
+ void cpSetQpchSleepWakeParams(kal_bool QpchModeEnabled, WakeModeT WakeMode, SleepType SleepCmd);
+ kal_bool cpGetQpchModeEnabled(void);
+ WbiosSystime cpGetPrevQpchSlotFrame(void);
+ WbiosSystime cpGetQpchSlotFrame(void);
+ kal_uint16 cpGetQpchPIPositionR1(void);
+ kal_uint16 cpGetQpchPIPositionR2(void);
+ kal_uint8 cpGetSlotCycleIndex(void);
+ kal_uint16 cpGetPageSlot(void);
+ void cpSetQpchPi1TestMode(kal_uint16 Pi1TestMode);
+ void cpSetQpchPi2TestMode(kal_uint16 Pi2TestMode);
+ kal_uint8 cpIdleGetWakeMode(void);
+ kal_uint8 cpIdleGetNextWakeMode(void);
+ /* Re-Origination Related Functions */
+ void cpStartDelayedOrig(void);
+ void cpDelayedOrigTimeout(void);
+ void cpResetReOrig(void);
+ void cpOrigFail(void);
+ void cpInitReOrig(void);
+ /* SR finish handler..*/
+ void cpSilentRetryFinished(kal_bool ForceFinish);
+ kal_bool cpIsSRFinishedPaused(void);
+ kal_bool cpCheckForQPCHQ1Q2Modes(void);
+ kal_bool cpCheckForQPCHModes(void );
+
+ /* Pended Slotted Mode Idle HO Functions */
+ kal_bool checkPendedIdleHORequest(void);
+ void pendIdleHORequest(IdleHOParms *hoParms);
+ void clearPendedIdleHORequest(void);
+
+ void cpBCCHMonitorStart( const SysBandChannelT *pChannel,
+ const kal_uint16 pilotPn,
+ const kal_uint8 walshCode,
+ const BcchRate brat,
+ const kal_bool tdSupported,
+ const Sr1TdModes tdMode,
+ const Sr1TdPowerLevel tdPwrLevel,
+ const kal_uint8 crat,
+ const Longcode *pLcMask );
+ void cpBCCHMonitorStop( void );
+ void cpBCCHStateStop( void );
+ void cpCDMASilentRetryInSleep(void);
+ void cpIdleSlottedVeto(PswSlottedVetoFlagT flag, kal_bool vetoSlotted);
+ PswSlottedVetoFlagT cpGetSlottedVeto(void);
+ kal_bool cpIsOrigRetryTimerActive( kal_uint16 OrigSO );
+ CpIdleSubStateT cpGetIdleSubState(void);
+ kal_bool cpGetCCLMStatus(void);
+ kal_bool cpIdleGetL1asleep(void);
+ void cpIdleSetL1asleep(kal_bool sleep);
+ kal_bool cpIdleGetSimQpchEnabled(void);
+ void cpIdleSetSimQpchEnabled(kal_bool enabled);
+ kal_bool cpIdleGetQpchCciEnabled(void);
+ void cpIdleSetQpchCciEnabled(kal_bool enabled);
+ kal_bool cpIdleGetDynamicQpchCtrl(kal_uint16* threshLow, kal_uint16* threshHigh);
+ kal_bool cpIdleSetDynamicQpchCtrl(kal_bool enabled, kal_uint16 threshLow, kal_uint16 threshHigh);
+ WbiosSystime cpGetNextWakeUpSlotTime(WbiosSystime currentTime);
+ QpchPiStat cpGetQpchInd(void);
+
+ void cpInitBadSectorList(void);
+ kal_bool cpIsInBadSectorList(kal_uint16 pn);
+ void cpAddBadSectorIntoList(kal_uint16 pn);
+ void cpIncBadSectorInList(kal_uint16 pn);
+ kal_bool cpIsByPassBadSectorInList(kal_uint16 pn, kal_uint32 syncTime, kal_uint8 failNumToByPass);
+ kal_bool cpDelBadSectorFromList(kal_uint16 pn);
+ void cpDelOverdueSectorFromList(kal_uint32 systemTime);
+ void cpSetHashToUnavariableCh (kal_bool flag);
+ kal_bool cpGetHashToUnavariableCh (void);
+
+#ifdef MTK_DEV_C2K_IRAT
+void cpRsvasSuspendClearPendContext(void);
+void cpIdleAbortCallForLocalRelease (void);
+#endif
+
+void cpSetL1ClkCalFlag (kal_bool flag);
+kal_bool cpGetL1ClkCalFlag (void);
+void cpIdleAbortMoCall (CallProcessingEventT event);
+
+#ifdef SLT_PAGING_PRIOR_OPT
+void cpAddLatestCallInfoList(kal_uint32 time, kal_bool mtCall);
+void cpResetLatestCallInfoList(void);
+kal_bool cpLatestCallCriteriaMatch(void);
+#endif
+
+kal_bool cpIdleNeedSlotted(void);
+
+#endif
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/engine.h b/mcu/interface/protocol/as_c2k/1xrtt/engine.h
new file mode 100644
index 0000000..ae1a8c7
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/engine.h
@@ -0,0 +1,1078 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Module: engine.h
+ *
+ * Purpose: Header file for the Protocol Engine.
+ *
+ ****************************************************************************
+ *
+ * PVCS Header Information
+ *
+ *
+ * $Log: engine.h $
+ *
+ * 04 01 2020 yanfeng.xu
+ * [MOLY00509275] [MT6875][Margaux][Q0][MP3][SQC][China][Shanghai][Suburb][5GMM][NSA][Internal][FT][MDST][CAT][CU+CT][ASSERT] file:mcu/l1/ll1/src/mll1_main.c line:20892
+ *
+ * 07 25 2019 tina.ma
+ * [MOLY00424781] [GSMA TS.37] block illegal UE for multiple SIM
+ *
+ * GSMA C2K L3 part
+ *
+ * 01 17 2019 tina.ma
+ * [MOLY00379869] [Gen97]merge code from UMOLYE TRUNK
+ *
+ * merge to VMOLY
+ * 1. ECAM
+ * 2. UT
+ * 3. local release
+ * 4. does not trigger registration in sleep mode
+ *
+ * 09 11 2018 tina.ma
+ * [MOLY00350570] [SE3][SIP][Cervino][Sanity]In SRLTE mode,During sim2 CU mo call,always on the dialing interface and no voice prompts
+ *
+ * .
+ *
+ * 09 10 2018 yanfeng.xu
+ * [MOLY00348715] [UMOLYE][EVDO]remove assert on 97
+ *
+ * 12 15 2017 tina.ma
+ * [MOLY00296406] [MT6763][Bianco][O1][MP2.0][MP2 Regression][Overnight][SZ][CU+CT][4GMM][ASSERT] file:mcu/pcore/modem/common/rsva/rsvas/src/rsvas_utils.c line:482
+ *
+ * .
+ *
+ * 11 08 2017 tina.ma
+ * [MOLY00288039] [MT6763][Bianco][N1][MP1.5][WW FT][China][Shenzhen][SIM1:CU][SIM2:CT][ASSERT] file:mcu/pcore/modem/lte_sec/errc/conn/src/errc_conn_main.c line:1146
+ *
+ * .
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ *
+ * 07 04 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * ::KAL type - L3, folder ps
+ *
+ * 05 19 2017 peijun.zheng
+ * [MOLY00249027] [BIACNO][MT6763][New feature]C2K code release code modification
+ *
+ * Fix L3 DHL trace enum description
+ *
+ * 05 05 2017 tina.ma
+ * [MOLY00247117] [Rose][Bianco N1]The Externel (EE),0,0,99,/data/core/,1,modem,Trigger time:[2017-04-13 14:33:14.932569]md1:(MCU_core0.vpe1.tc1(VPE1)) [ASSERT](Once)
+ *
+ * L1d_init_cnf.
+ *
+ * 04 27 2017 gavin.zhang
+ * [MOLY00245533] [BIANCO][MT6763][RDIT][C2K][SRLTE][Try run][CMW500]Assert fail: xl1fhrtbaw.c 474 0x1104 0xc 0x0
+ *
+ * .
+ *
+ * 04 18 2017 jacky.wu
+ * [MOLY00243091] [BIANCO][MT6763][C2K][RDIT][Stress][KAL][UE][core0,vpe0,tc0(vpe0)] Assert fail: l1dspage.c 772 0x1002 0x6 0x0 - L1D_MDM
+ *
+ * .Sync clock calibration state between L1 & L3.
+ *
+ * 03 06 2017 golden.yang
+ * [MOLY00226193] [6293][C2K]Merge C2K Feature£¨NST, Tx Pwr Meter etc£© Code CL from T0 to Trunck
+ * Merge the Code of NST to TRUNCK Branch
+ *
+ * 02 21 2017 golden.yang
+ * [MOLY00230944] [6293][C2K][BringUp]NSFT Mode BringUp Update for 1XRTT in 93m
+ *
+ * nst relation for 93M
+ *
+ * 01 05 2017 sue.zhong
+ * [MOLY00218409] [6293][C2K]Sync C2K code to UMOLYA TRUNK from C2K CBr (W1701)
+ * merge c2k source
+ *
+ * 12 01 2016 sue.zhong
+ * [MOLY00213777] [6293][C2K]Sync C2K code to UMOLYA TRUNK(W1648)
+ * Update C2K source
+ *
+ * 11 09 2016 sue.zhong
+ * [MOLY00208435] [6293][C2K]Sync C2K code to UMOLYA TRUNK
+ * Update C2K PS code (1/2)
+ * Revision 1.14 2006/03/16 11:59:10 mclee
+ * - Update prototype engRelayOutOfServiceAreaParameters() to include scan time.
+ * Revision 1.13 2006/01/24 12:38:51 wavis
+ * Fix GetNam to always get active NAM.
+ * Revision 1.12 2006/01/12 16:21:35 vxnguyen
+ * Fixed compile errors when AMPS was not included.
+ * Revision 1.11 2006/01/11 15:13:13 blee
+ * Changing function parameters
+ * Revision 1.10 2005/12/21 11:32:12 hans
+ * Updated qpch algorithm and new L1 interface.
+ * Revision 1.9 2005/08/17 14:10:36 hans
+ * CR6900 - Enhanced qpch indicator detection algorithm [DSPM/L1D/PSW]. CR6902 - Immediate PSW-L1D wake message for PCH/FCCCH
+ * Revision 1.8 2005/05/09 17:46:32 wfu
+ * Fix CR 6202: Add struct SilentRetryInfo. Add parameters passed in engRelaySRSetSilentRetryMsg().
+ * Add prototype for engRelayGetSRInf(). Delete engRelaySRIsSilentRetryEnabled() prototype.
+ * Revision 1.7 2005/04/06 16:33:04 dstecker
+ * Release A mods
+ * Revision 1.6 2005/03/18 11:43:59 hans
+ * Merged code changes from CBP4.05 revision 2.02 to CBP4.05 revision 4.21.
+ * Revision 1.5 2004/09/28 16:34:48 hans
+ * Changes from CBP6.0 merged.
+ * Revision 1.4 2004/06/21 17:22:34 dstecker
+ * Idle Handoff for Rev C Changes
+ * Revision 1.3 2004/04/06 14:02:03 dstecker
+ * CBP6.1 release 1
+ * Revision 1.2 2004/03/25 12:09:29 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.3 2004/02/10 12:50:45 bcolford
+ * Merged CBP4.0 Release 8.05.0 changes.
+ * Revision 1.43 2003/12/02 18:02:55 akayvan
+ * Added engine event ENG_NO_IDLE_HANDOFF.
+ * Revision 1.42 2003/11/06 11:42:44 ameya
+ * Added ENG_SYS_REDIRECTION_END_TIME, ENG_IND_FORCE_ANALOG_MODE and ENG_IND_MORE_PREF_SCAN_TIMEOUT. Also prototypes for engRelayForceAnalogMode() and engRelaySRGetSilentRetryStatusMsg().
+ * Revision 1.41 2003/06/26 13:52:07 byang
+ * CR#2394: Modified engRelaySetNewIHOparameters() prototype
+ * declaration to include MinNghbrThr.
+ * Revision 1.40 2003/04/30 09:34:01 mclee
+ * Added Engine request RQ_PAGE_RESPONSE
+ * Revision 1.39 2003/04/25 14:11:25 byang
+ * CR#2171: Add two events: ENG_IND_FSCH_STARTED and
+ * ENG_IND_FSCH_TERMINATED.
+ * Revision 1.38 2003/03/07 11:39:04 byang
+ * CR #1810: Add function prototype declaration for
+ * engRelaySetAccessHoParams().
+ * Revision 1.37 2002/11/26 19:38:25 hans
+ * Engine relay function for resource control declared
+ * Revision 1.36 2002/09/30 15:15:26 mshaver
+ * Changes to support the single NAM data structure type
+ * definition PswIs95NamT, of type packed.
+ * Revision 1.35 2002/09/17 18:20:04 akayvan
+ * cpSetWakeData() parameters were updated for Spirent's QPCH
+ * Spy.
+ * Revision 1.34 2002/08/23 10:10:33 akayvan
+ * Per system's request added ETS capabilty to modify all QPCH thresholds.
+ * Revision 1.33 2002/07/15 13:11:53 chinh
+ * Removed compile switch CBP3_MERGE (CR598).
+ * Revision 1.32 2002/07/11 18:30:09 byang
+ * CR #889: Removed unused field from Callback data type.
+ * Revision 1.31 2002/06/18 18:07:59 akayvan
+ * QPCH Phase2 mods. Added new declaration for
+ * engRelayTestMode(), and cpSetWakeData().
+ * Revision 1.30 2002/06/14 17:14:17 chinh
+ * Added function prototype engRelayL1dAccessComplete().
+ * Revision 1.29 2002/06/13 13:51:17 hans
+ * Not used statistics function engRelayGetAccStats(), engRelayGetPagStats(), engRelayGetMux1FORStats() and engRelayGetMux2FORStats() removed.
+ * Revision 1.28 2002/06/06 13:12:11 chinh
+ * Changed and Added Copyright
+ * Revision 1.27 2002/06/04 20:03:36 hans
+ * Layer2 statistics not used anymore disabled with ifdef's.
+ * Revision 1.26 2002/05/31 20:07:35 akayvan
+ * QPCH/PI mods.
+ * Revision 1.25 2002/05/29 15:23:19 ameya
+ * Added events ENG_IND_SYNC_CSS_FAIL and ENG_IND_SYNC_CSS_PASS to report to the engine whether the sync message passed or failed CSS. Added prototype for engRelaySyncCssDone().
+ * Revision 1.24 2002/05/08 16:47:08 byang
+ * Modified engRelayPMRMParams() input parameter for F-SCH.
+ * Add data structure CPPmrmParms to accommodate F-SCH.
+ * Revision 1.23 2002/03/28 18:22:32 hans
+ * is2000 rev 0 add 2, retrievable and settable parameters implemented.
+ * CR503: get retrievable parameter implemented.
+ * CR508: set retrievable parameter implemented
+ * Revision 1.22 2002/01/28 11:36:11 byang
+ * Add constant ENG_IND_RSCH_STARTED and function prototypes for:
+ * engRelayHspdActiveControlHold(), engRelayRschRelInd(), engRelayDataBufferStatus(), and engRelayRevSchRequest().
+ * Revision 1.21 2002/01/17 17:17:44 akayvan
+ * Implemented Slotted Mode mods.
+ * Revision 1.20 2002/01/10 17:12:17 AMALA
+ * Added emergency mode processing for new system selection.
+ * Revision 1.19 2002/01/08 19:06:40 byang
+ * Renamed engRelaySCServiceControl() to
+ * engRelayServOptionControlResp().
+ * Revision 1.18 2002/01/08 17:03:32 ameya
+ * CBP3.0 merge to 4.0 to support Silent Retry.
+ * Revision 1.17 2002/01/02 10:12:38 AMALA
+ * Added new system selection changes.
+ * Revision 1.16 2001/12/14 17:09:25 mclee
+ * prototype engRelayGetPSInfo()
+ * Revision 1.15 2001/12/07 14:44:43 bcolford
+ * Change RSSI to an unsigned 16 bit value.
+ * Revision 1.14 2001/11/20 12:30:47 mclee
+ * Add prototypes engRelayGetNam, engRelayWriteNam
+ * engRelayMmiChangedNam Add ENG_IND_FORCE_BAND_MODE to status indication for wbios reports.
+ * Revision 1.13 2001/11/08 12:41:56 AMALA
+ * Added PRL processing support for SSPR functionality.
+ * Revision 1.12 2001/10/29 09:35:27 mclee
+ * Changed voiceActivity defined in typeInfo from kal_uint8 to kal_bool
+ * Revision 1.11 2001/10/08 14:46:27 mclee
+ * prototype engRelayGetPrlInfo()
+ * Revision 1.10 2001/09/24 15:19:04 kmar
+ * Update SMS to latest in CBP3.
+ * Added #define RQ_AUTO_ANSWER.
+ * Revision 1.9 2001/09/07 17:59:00 akayvan
+ * Added declaration for engRelayOuterLoopReportReqParams() per
+ * FPC.
+ * Revision 1.8 2001/08/03 15:14:35 dstecker
+ * Modifications for IS2000 handoffs
+ * Revision 1.7 2001/07/18 15:09:05 chinh
+ * cbp3 porting for Idle and Access
+ * Revision 1.6 2001/07/02 14:09:32 kmar
+ * Update SCC and SMS to CBP3 v360.
+ * Added fields related to Information Record support in
+ * RDTCH Origination Continuation Message.
+ * Revision 1.5 2001/06/12 15:39:39 byang
+ * Added new fields to HOIdleParams structure.
+ * Revision 1.4 2001/04/27 16:35:31 byang
+ * Added functionality to set the MS capability database from ETS
+ * and to stored the database into DBM when the MS is powerd-
+ * down. On power-up, the MS Cap. Db. is read from DBM.
+ * Revision 1.3 2001/03/16 11:29:10 akayvan
+ * Traffic code phase1 added.
+ * Revision 1.2 2001/01/29 18:20:52 dstecker
+ * new access probe architecture
+ * Revision 1.1 2001/01/17 10:58:25 plabarbe
+ * Initial revision
+ * Revision 1.2 2000/11/13 14:25:46 byang
+ * IS-2000A Idle Mode and LAC intergration - Initial Release.
+ * Revision 1.1 2000/10/24 21:11:12Z fpeng
+ * Initial revision
+ * Revision 1.7 2000/09/08 23:58:27Z RSATTARI
+ * Added define for full system time (36bit) request type and added data filed for the
+ * CP request structure.
+ * Revision 1.6 2000/08/31 23:41:52Z bcolford
+ * Replaced AMPS_SUPPORTED with SYS_OPTION_AMPS.
+ * Revision 1.5 2000/08/23 22:06:26Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes.
+ * Revision 1.4 2000/07/11 20:57:00Z bsharma
+ * Added CDMA to AMPS Handoff Macro definitions.
+ * Revision 1.3 2000/03/15 20:34:53Z bcolford
+ * Add a new indicator macro to handle the AMPS initialization
+ * acknowledgement.
+ * Revision 1.2 2000/03/01 18:06:12Z rsattari
+ * Isotel release 2.3 updates.
+ * Revision 1.53 2000/04/05 19:50:26 gfrye
+ * Moved Request Mode defined values from acc_asmb.h.
+ *
+ * Revision 1.52 2000/03/09 00:19:06 scotvold
+ * Removed SYS_OPTION_AMPS compile guards for ENG_IND_TC_TO_AVC_HO_START.
+ *
+ * Revision 1.51 2000/03/06 21:25:45 gfrye
+ * Changed value of PCR_UPDATED so that it didn't conflict with the
+ * value STATUS_UPDATED used b OTASP.
+ *
+ * Revision 1.50 2000/03/02 01:57:16 scotvold
+ * Added engRelay calls to extract CPE statistics.
+ *
+ * Revision 1.49 2000/03/01 01:52:59 scotvold
+ * CDMA -> AMPS handoff changes.
+ *
+ * Revision 1.48 2000/02/25 23:24:30 gfrye
+ * Added PCR_UPDATED flag for engRelayNamChanged to indicate that
+ * a NAM parameter may have changed and a parameter change
+ * registration may be required.
+ *
+ * Revision 1.47 2000/02/22 20:42:56 gfrye
+ * Added "AMPS" to name of all Analog SMS API functions.
+ *
+ * Revision 1.46 2000/02/19 02:07:57 scotvold
+ * Put in SYS_OPTION_AMPS guards.
+ *
+ * Revision 1.45 2000/02/19 00:03:23 gfrye
+ * Added new engRelay access functions to the API so that SMS can report
+ * the status of recently received Alert With Info SMS and Extended
+ * Protocol Info Services messages.
+ * Added new callback message types and data fields for the new API functions.
+ *
+ * Revision 1.44 2000/01/21 22:06:27 gfrye
+ * Added new functions to facillitate A-Key update from OTASP.
+ *
+ * Revision 1.43 2000/01/17 22:27:19 scotvold
+ * TC Backward Compatibility changes.
+ *
+ * Revision 1.42 1999/12/09 23:22:04 gfrye
+ * Added new fields to OrigParms to support OTASP and E911 calls.
+ * Added new prototype for when OTASP changes the NAM or PRL.
+ * Added new prototype to record the pilot strength on the sync channel.
+ *
+ * Revision 1.41 1999/08/27 19:45:26 gfrye
+ * Added parameters to engRelayOutOfServiceAreaParameters to support the change
+ * from 3 OOSA phases to 4.
+ *
+ * Revision 1.40 1999/07/28 20:07:39 gfrye
+ * Added prototype for new API function to set parameters for new Idle Handoff
+ * algorithm. Also added kal_bool immediateHo to handoff event structure to indicate
+ * if requested handoff is an "immediate" handoff or a "delayed" handoff.
+ *
+ * Revision 1.39 1999/07/07 21:22:38 scotvold
+ * Separation of HT_MAX and T_MAX for idle handoff.
+ *
+ * Revision 1.38 1999/06/16 00:36:07 scotvold
+ * Added Unacknowledged Data Burst send confirmation.
+ *
+ * Revision 1.37 1999/04/16 00:29:03 scotvold
+ * Added support for already encoded digits.
+ *
+ * Revision 1.36 1999/04/15 01:37:10 mhayduk
+ * Added encoded indication to orig parms.
+ *
+ * Revision 1.35 1999/04/13 19:15:27 scotvold
+ * New Idle Handoff Algorithm.
+ *
+ * Revision 1.34 1999/03/18 19:57:54 mhayduk
+ * Added support for Searching Out of Service Area operation.
+ *
+ * Revision 1.33 1999/03/04 00:31:24 mhayduk
+ * Added test mode support for setting Idle HO parmeters.
+ *
+ * Revision 1.32 1999/02/25 16:41:28 dfischer
+ * Changed SYS_B to 0
+ *
+ * Revision 1.31 1999/02/05 02:24:05 scotvold
+ * Test Mode Statistic Reporting API changes.
+ *
+ * Revision 1.30 1999/01/26 18:49:45 scotvold
+ * R1.2 API changes.
+ *
+ * Revision 1.29 1999/01/20 00:24:33 mhayduk
+ * Added numDigits to origParms.
+ *
+ * Revision 1.28 1999/01/09 00:33:00 scotvold
+ * Added AckInd qualification structure.
+ *
+ * Revision 1.27 1999/01/05 00:28:54 mhayduk
+ * Updated for new API release.
+ *
+ * Revision 1.26 1998/12/02 16:25:27 mhayduk
+ * Updated to remove non-T53 structures and calls.
+ *
+ * Revision 1.25 1998/12/02 01:51:30 scotvold
+ * Added T53 guards for #include.
+ *
+ * Revision 1.24 1998/12/02 00:05:18 scotvold
+ * Added engRelayReverseMultiplexParameters().
+ *
+ * Revision 1.23 1998/11/27 20:38:12 mhayduk
+ * Made SYS_A and SYS_B generally accessible.
+ *
+ * Revision 1.22 1998/11/20 16:36:34 mhayduk
+ * Removed TC pilot set maintenance drop interface and added
+ * slotted mode test flag.
+ *
+ * Revision 1.21 1998/10/31 02:19:17 scotvold
+ * Pilot Set maintenance optimization test.
+ *
+ * Revision 1.20 1998/10/23 14:43:12 mhayduk
+ * Added typedefs for amps structs.
+ *
+ * Revision 1.19 1998/10/20 23:58:23 mhayduk
+ * Added T53 support.
+ *
+ * Revision 1.18 1998/10/07 23:04:08 mhayduk
+ * Added event so access state is notified of received pilot
+ * measurement report.
+ *
+ * Revision 1.17 1998/10/07 22:53:50 tdaly
+ * Added OP_MODE2 to ENG_OP_MODE see #if defined(SYS_OPTION_AMPS).
+ *
+ * Revision 1.16 1998/09/22 18:44:57 tdaly
+ * Added IS-95 analog mode support.
+ *
+ * Revision 1.15 1998/09/11 16:23:17 scotvold
+ * Added Handoff Complete Indication event.
+ *
+ * Revision 1.14 1998/09/11 02:32:08 scotvold
+ * Candidate Frequency API changes. Test Mode changes.
+ *
+ * Revision 1.13 1998/08/14 23:47:01 scotvold
+ * Added Data Burst support.
+ *
+ * Revision 1.12 1998/08/13 00:12:31 scotvold
+ * Added DTMF support.
+ *
+ * Revision 1.11 1998/07/29 04:21:11 mhayduk
+ * Added new indications for access handoff support.
+ *
+ * Revision 1.10 1998/07/27 17:26:30 scotvold
+ * Added TX Acknowledgement failure support.
+ *
+ * Revision 1.9 1998/07/14 17:30:23 scotvold
+ * Minor changes.
+ *
+ * Revision 1.8 1998/07/03 16:57:30 dfischer
+ * New load
+ *
+ * Revision 1.7 1998/06/12 14:50:38 scotvold
+ * Updated for Release 0.07.
+ *
+ * Revision 1.6 1998/06/08 21:48:25 scotvold
+ * Updated for Release 0.06
+ *
+ * Revision 1.5 1998/05/13 18:11:50 mhayduk
+ * Added new error codes for bad NAM parameters.
+ *
+ * Revision 1.4 1998/05/01 18:13:54 scotvold
+ * Update for release 0.04
+ *
+ * Revision 1.3 1998/03/30 23:26:03 mhayduk
+ * Release 0.03.
+ *
+ * Revision 1.1 1997/11/06 17:49:24 mhayduk
+ * Initial revision
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+
+#ifndef _ENGINE_H_
+
+ #define _ENGINE_H_ 1
+
+/*****************************************************************************
+ * Includes
+ ****************************************************************************/
+#include "pswapi.h"
+#include "Serv_cfg.h"
+#include "layer2.h"
+#include "pilots.h"
+#include "namdata.h"
+#include "sync_msg.h"
+#include "Msg_defn.h"
+#include "ho_tc.h"
+#include "stats.h"
+#include "Field.h"
+#include "cssapi.h"
+#include "Ms_Cap_Db.h"
+#include "Ds_Signaling.h"
+
+#include "ho_cf.h"
+#include "ho_ac.h"
+
+#include "resource_control.h"
+#include "loc_pars.h"
+#include "sbp_public_utility.h"
+#include "event_info_utility.h"
+
+#ifdef MTK_DEV_C2K_IRAT
+#include "c2k_rsvas.h"
+#include "valiratapi.h"
+#endif
+
+#include "md_sap.h"
+/*****************************************************************************
+ * Defines
+ ****************************************************************************/
+ /* Request Mode codes - Table 6.7.1.3.2.4-1 */
+ #define CP_REQUEST_MODE_CDMA_ONLY 1
+ #define CP_REQUEST_MODE_WIDE 2
+ #define CP_REQUEST_MODE_CDMA_WIDE 3
+ #define CP_REQUEST_MODE_NARROW_ONLY 4
+ #define CP_REQUEST_MODE_CDMA_NARROW_ONLY 5
+ #define CP_REQUEST_MODE_NARROW_WIDE 6
+ #define CP_REQUEST_MODE_NARROW_WIDE_CDMA 7
+
+ /* Engine system errors */
+ #define ENG_ERR_BAD_PREF_BAND 1 /* pref band mismatch with op_mode */
+ #define ENG_ERR_BAD_PREF_MODE 2 /* pref mode mismatch with op_mode */
+ #define ENG_ERR_BAD_CUSTOM_OPMODE 3 /* bad opmode setting in custom.h */
+ #define ENG_ERR_INCOMPATIBLE_BAND_MODE 4 /* incompatible band/mode combo */
+ #define ENG_ERR_TUNE_RADIO 5 /* Can't tune Radio */
+ #define ENG_ERR_POWER_AMP 6 /* Can't control Power Amplifier */
+ #define ENG_ERR_OOSA_BAD_VALUE 7 /* Bad param value for OOSA select */
+ #define ENG_ERR_IHO_BAD_VALUE 8 /* Bad parm for Idle HandOff */
+
+ /* Call Processing Request types */
+ #define RQ_ENABLE 10 /* (+ NAM Parameter Data) */
+ #define RQ_DISABLE 11 /* (no data) */
+ #define RQ_ORIGINATE 12 /* (+ digits + service option) */
+ #define RQ_ANSWER 13 /* (no data) */
+ #define RQ_FLASH 14 /* (+ digits) */
+ #define RQ_TERMINATE 15 /* (no data) */
+ #define RQ_POWERDOWN 16 /* (no data) */
+ #define RQ_BURST_DTMF 17 /* (+ digits) */
+ #define RQ_CONT_DTMF_ON 18 /* (+ digit) */
+ #define RQ_CONT_DTMF_OFF 19 /* (no data) */
+ #define RQ_VP_ON 20 /* (no data) */
+ #define RQ_VP_OFF 21 /* (no data) */
+ #define RQ_DATA_BURST 22 /* (+ data burst data) */
+ #define RQ_DATA_BURST_UNACK 23 /* (+ data burst data) */
+ #define RQ_DATA_BURST_REJ 24 /* (no data) */
+ #define RQ_WIDE_ANALOG 25 /* (no data) */
+
+ #define RQ_AUTO_ANSWER 27 /* (no data) */
+ #define RQ_PAGE_RESPONSE 28 /* (no data) */
+ #define RQ_TERM_SVC_INACT 29 /* (no data) */
+ #define RQ_AFLT_SEARCH 30 /* (+ aflt info) */
+ #define RQ_LBS_1X_ACQ 31
+ #define RQ_NST_POWERUP 32
+ #define RQ_NST_EXIT 33
+ #define RQ_FULL_SYSTIME_GET 34
+ #define RQ_NST_FER_CFG 35
+ #define RQ_NST_RX_MEAS_CFG 36
+ #define RQ_NST_TX_MEAS_CFG 37
+
+ /* Status indication for different WBIOS Reports */
+ #define ENG_IND_ANTENNA_REQ_GRANTED 57
+ #define ENG_IND_ANTENNA_REQ_DENIED 58
+ #define ENG_IND_ANTENNA_RELEASED 59
+ #define ENG_IND_PILOT_ACQUIRE 60
+ #define ENG_IND_NO_PILOT 61
+ #define ENG_IND_SYNC_ACQUIRE_FAIL 62
+ #define ENG_IND_SYNC_TO_SYS_TIME 63
+ #define ENG_IND_SYNC_TO_SYS_TIME_FAIL 64
+ #define ENG_IND_PAGE_MONITOR 65
+ #define ENG_IND_PAGE_MONITOR_FAIL 66
+ #define ENG_IND_SEND_ACCESS_MSG_FAIL 67
+ #define ENG_IND_SEND_TC_MSG 68
+ #define ENG_IND_SEND_TC_MSG_FAIL 69
+ #define ENG_IND_TC_CONFIG 70
+ #define ENG_IND_LONG_CODE_CHANGED 71
+ #define ENG_IND_RADIO_TUNED 72
+ #define ENG_IND_RADIO_NOT_TUNED 73
+ #define ENG_IND_PILOT_LOST 74
+ #define ENG_IND_PUF_PROBE_SENT 75
+ #define ENG_IND_PUF_PROBE_SENT_MAX_PWR 76
+ #define ENG_IND_PUF_PROBE_NOT_SENT 77
+ #define ENG_IND_WAKEUP 78
+ #define ENG_IND_PILOT_SET 79
+ #define ENG_IND_IHO_COMPLETE 80
+ #define ENG_IND_OOSA_WAKEUP 81
+ #define ENG_IND_TC_TO_AVC_HO_START 82
+ #define ENG_IND_BCCH_MONITOR 83
+ #define ENG_IND_BCCH_MONITOR_FAIL 84
+ #define ENG_IND_FCCCH_MONITOR 85
+ #define ENG_IND_FCCCH_MONITOR_FAIL 86
+ #define ENG_IND_HO_FAIL 87
+ #define ENG_IND_FORCE_BAND_MODE 88
+ #define ENG_SYS_RESCAN_TIME 89
+ #define ENG_IND_DISABLE_E911MODE 90
+ #define ENG_IND_RSCH_STARTED 91
+
+ #define ENG_IND_SYNC_CSS_FAIL 92
+ #define ENG_IND_SYNC_CSS_PASS 93
+ #define ENG_IND_FSCH_STARTED 94
+ #define ENG_IND_FSCH_TERMINATED 95
+ #define ENG_SYS_REDIRECTION_END_TIME 96
+ #define ENG_IND_FORCE_ANALOG_MODE 97
+ #define ENG_IND_IDLE_HANDOFF_ACQUIRE 99 /* and from CPB6.0 Hans Christiansen 080404 */
+
+/* Engine event notification request types for use in CALLBACK */
+ #define ENG_NULL_EVENT 100 /* event complete indicator */
+ #define ENG_IND_TIMEOUT 101 /* CP timer expiry indicator */
+ #define ENG_SYNC_MESSAGE 102 /* SYNC message received ind. */
+ #define ENG_PAGE_MESSAGE 103 /* PCH message received ind. */
+ #define ENG_FTC_MESSAGE 104 /* FTC message received ind. */
+ #define ENG_FCSCH_LOST 105 /* forword common control Ch lost ind. */
+ #define ENG_IDLE_HANDOFF 106 /* Idle handoff request ind. */
+ #define ENG_REGISTRATION_REQ 107 /* Registration access request */
+ #define ENG_ACCESS_FAIL 108 /* Access attempt failed */
+ #define ENG_FTC_N5M_FRAMES 109 /* Rcvd N5m consecutive good frames */
+ #define ENG_ACCESS_PSIST_FAIL 110 /* PSIST calculation = 0 */
+ #define ENG_FTC_LOST 111 /* FTC fade timer timed out */
+ #define ENG_IND_ACK_RECEIVED 112 /* Ack rcvd for a transmitted msg */
+ #define ENG_STRONGEST_PILOT_REPORT 113 /* Strongest pilot report */
+ #define ENG_ACCESS_HO_CANDIDATE 114 /* Access Entry HO candidate found */
+ #define ENG_ACCESS_HO_NO_CANDIDATE 115 /* no Access Entry HO candidate */
+ #define ENG_ACCESS_HO_LIST 116 /* access ho list pilot report */
+ #define ENG_ACCESS_PROBE_HO_FAIL 117 /* access probe ho fail ind. */
+ #define ENG_ACCESS_HO_DENIED 118 /* access ho attempt not allowed */
+ #define ENG_READ_ACCESS_OVERHEAD 119 /* selected overhead read after ho */
+ #define ENG_ACCESS_PROBE_FAIL 120 /* access probe too big */
+ #define ENG_IND_TC_ACK_FAILURE 121 /* TC transmission ACK failure */
+ #define ENG_IND_ACCESS_PILOT_MSMT 122 /* pilot msmt report in access */
+ #define ENG_START_SYS_RESELECT 123 /* Start Sys Reselect Procedures */
+
+ #define ENG_ACCESS_MODE_SEARCH_FAIL 125 /* access mode determination fail */
+ #define ENG_BCCH_MESSAGE 126 /* FCCCH message received ind. */
+ #define ENG_FCCCH_MESSAGE 127 /* BCCH message received ind. */
+ #define ENG_ACCESS_HANDOFF 128 /* Access handoff request ind. */
+
+ #define ENG_IND_QPCH_PI_STATUS 129 /* PI Status */
+ #define ENG_IND_SOFT_HO_COMPLETE 130
+ #define ENG_IND_HARD_HO_COMPLETE 131
+ #define ENG_IND_E911_ACCESS_FAIL 133 /* E911 Access Fail */
+ #define ENG_IND_AFLT_RESULT_RCVD 134 /* AFLT Srch Rslt Rcvd from L1d */
+ #define ENG_IND_OOSA_REQ 135
+ #define ENG_IND_MODEM_FAILURE 136
+ #define ENG_IND_MODEM_READY 137
+ #define ENG_IND_CLK_CAL_START 138
+ #define ENG_IND_CLK_CAL_DONE 139
+
+ #define ENG_IND_CSS_OTASP_ACQ_REQ 150
+ #define ENG_IND_CSS_SELECT_RSP 151
+ #define ENG_IND_CSS_VALIDATE_RSP 152
+ #define ENG_IND_CSS_SYS_ACQ_REQ 153
+
+ #define ENG_IND_FREEZE 154
+ #define ENG_IND_THAW 155
+ #define ENG_IND_RESYNC 156
+ #define ENG_IND_RESYNC_DENIED 157
+
+#ifdef MTK_DEV_C2K_IRAT
+ #define ENG_IND_RSVAS_VIRTUAL_SUSPEND 160 /* inform to stop inter-freq meas if any*/
+ #define ENG_IND_RSVAS_RESUME 161 /* inform to start inter-freq meas if any */
+ #define ENG_IND_RSVAS_OCCUPY_IND 162 /* inform to start access procedure */
+ #define ENG_IND_EXIT_PS_REQ 163 /* inform to exit 1x PS during C2L MPSR procedure */
+ #define ENG_IND_L1D_RAKE_DDL_CNF 164 /* inform thant L1D rake ddl has complete */
+ #define ENG_IND_CSS_FORCE_POWER_DOWN 165 /* inform to do power down flow */
+ #define ENG_IND_LOCAL_RELEASE 166 /* inform PE to do local release */
+#endif
+
+ #define ENG_IND_AMPS_VOICEACT 200
+ #define ENG_IND_AMPS_FSULOCK 202
+ #define ENG_IND_AMPS_RSSIVAL 203
+ #define ENG_IND_AMPS_FOCC 204
+ #define ENG_IND_AMPS_FVC 205
+ #define ENG_IND_AMPS_SCC 206
+ #define ENG_IND_AMPS_TXSTATUS 207
+ #define ENG_IND_AMPS_CARRIERSTATUS 208
+ #define ENG_IND_AMPS_CHANFORMAT 209
+ #define ENG_IND_AMPS_POWERLEVEL 210
+ #define ENG_IND_AMPS_WBIOS_INIT_COMPLETE 211 /* Wbios initialization completed */
+ #define ENG_IND_AMPS_HO_COMPLETE 212
+ #define ENG_IND_EPRL_ESPM_TIMEOUT 213
+ #define ENG_IND_MANUAL_AVOID_SYS 214
+ #define ENG_IND_L1D_DEACTIVE_CNF 215
+ #define ENG_IND_L1D_INIT_CNF 216
+ #define ENG_IND_L1D_OOSA_CNF 217
+ #define ENG_IND_LOCK_ORDER 218
+ #define ENG_IND_UNLOCK_ORDER 219
+ #define STARTUP_OOSA_TRAP_DURATION 1200 /* 120 seconds */
+
+ /* The following defines are used internally by the engine. */
+ /*==========================================================*/
+
+ /* Set Engine supported operating mode by OR'ing supported modes */
+
+ /* Support for PCS and Cellular CDMA */
+ #define ENG_OP_MODE ( OP_MODE0 + OP_MODE1 )
+
+ #define ENG_AMPS_START_SCAN 200 /* Start AMPS channel scanner */
+ #define ENG_AMPS_SCAN_COMPLETE 201 /* Channel scan complete */
+ #define ENG_AMPS_OMT 203 /* OMT received */
+ #define ENG_AMPS_FILLER 204 /* Control Filler received */
+ #define ENG_AMPS_MSCM 205 /* MSCM received */
+ #define ENG_AMPS_SMS_CNF 206 /* MSCM received */
+ #define ENG_AMPS_AWI_SMS_CNF 207 /* MSCM received */
+ #define ENG_NO_IDLE_HANDOFF 210 /* No Idle handoff request ind */
+ #define ENG_UIM_AUTHR 230 /*UIM AUTH Result*/
+ #define ENG_UIM_RANDBS 240
+ #define ENG_UIM_SSD_CONFIRM 241
+#ifdef MTK_CBP_SYNC_OPTIMIZE
+ #define ENG_IND_SIB8_TIMING_CNF 250
+ #define ENG_IND_NO_SIB8_TIMING 251
+#endif /* MTK_CBP_SYNC_OPTIMIZE */
+
+ /* Define protocol revisions */
+ #define CP_P_REV_IS95B 4 /* IS-95B revision level */
+
+/*
+ * Updated Data Mask Bits Defined
+ */
+
+#ifndef NAM_UPDATED
+#define NAM_UPDATED 0x01
+#define IMSI_UPDATED 0x02
+#define MDN_UPDATED 0x04
+#define AUTH_UPDATED 0x08
+#define SSPR_UPDATED 0x10
+#endif
+
+#define STATUS_UPDATED 0x20 /* used by OTASP */
+
+
+/*****************************************************************************
+ * Engine structure definition
+ ****************************************************************************/
+
+ /* Reconnect Message Service Configuration synchronization identifier */
+ #define CP_MAX_SYNC_ID 4
+
+ /* CDMA Structure Definitions */
+ /*==========================================================*/
+
+ /* structure to contain origination parameters */
+ typedef struct
+ {
+ PswCallModeT callMode; /* voice call type */
+ kal_uint8 requestMode; /* requested call type */
+ kal_bool specialService; /* special service option requested */
+ kal_uint16 serviceOption; /* requested service option */
+ kal_bool encoded; /* digits encoded indication */
+ kal_bool digitMode; /* digit encoding indicator */
+ kal_uint8 numberType; /* type of number */
+ kal_uint8 numberPlan; /* numbering plan */
+ char *digits; /* ascii digits, null terminated string */
+ kal_uint8 numDigits; /* number of digits to be dialled */
+
+ kal_bool sendCallingPartyNumber;
+ CallingPartyNumber callingPartyNumber;
+ kal_uint8 OtaspMode;
+
+ kal_bool MultipleCallingPartyNum;
+ kal_bool SendCallingPartySubaddr;
+ Subaddress CallingPartySubaddr;
+ kal_bool SendCalledPartySubaddr;
+ Subaddress CalledPartySubaddr;
+ } OrigParms;
+
+
+ /* Call Processing Request structure */
+ typedef struct
+ {
+ kal_uint8 type; /* Call Processing request type */
+ union
+ {
+ PswIs95NamT *nam; /* Enable Request: NAM Data */
+ OrigParms *origParms; /* Originate Parameters */
+ RTCContDTMFData *contDTMFParms; /* Continuous DTMF Parms */
+ RTCBurstDTMFData *burstDTMFParms; /* Burst DTMF Parameters */
+ RTCFlashData *flashParms; /* Flash Parameters */
+ DataBurstData *dataBurstParms; /* Data Burst Parameters */
+ /* R.Sattari, 9/7/00, added */
+ SessionType *afltParms; /* AFLT Request, LocSrv Data */
+ } requestInfo;
+ } CPRequest;
+
+ typedef CPRequest CP_REQUEST; /* for compatibility with IS-136 */
+
+ typedef struct
+ {
+ CHANNEL_DESC selectRspData;
+ PswCssValidationRsltT ValidateRspData;
+ }CssParameters;
+
+ /* structure to contain idle handoff parameters */
+ typedef struct
+ {
+ HOPilotInfo pilotInfo;
+ kal_uint8 nghbrConfigType; /* NLM, ENLM, GNLM, or UNLM */
+ kal_uint8 nghbrConfig; /* 000, 001, 010, or 011 */
+ kal_bool immediateHo;
+ kal_bool bcchSupported;
+ } IdleHOParms;
+
+ /* Message Transmitter notification structure */
+ typedef struct
+ {
+ RTCMessageType msgType;
+ ReverseOrderCode order;
+ } MTXNotify;
+ /* UIM Auth Result notification structure */
+ typedef struct
+ {
+ kal_uint16 Sw;
+ kal_uint32 result;
+ kal_uint16 caveMsgId;
+ } AuthResult;
+
+ /* Engine initialization data */
+ typedef struct
+ {
+ kal_bool rateSet1Supported; /* Indicates if rate set 1 is used */
+ kal_uint8 rateSet1ForRates; /* Rate set 1 supported forward rates */
+ kal_uint8 rateSet1RevRates; /* Rate set 1 supported reverse rates */
+ kal_bool rateSet2Supported; /* Indicates if rate set 2 is used */
+ kal_uint8 rateSet2ForRates; /* Rate set 2 supported forward rates */
+ kal_uint8 rateSet2RevRates; /* Rate set 2 supported reverse rates */
+ kal_uint8 *muxOptions; /* null term. list of supported options */
+ kal_uint16 *serviceOptions; /* null term. list of supported services */
+ } EngInit;
+
+ /* Engine Callback Notification Message structure. */
+ /* This structure is used internally by the engine. */
+ /*==========================================================*/
+ typedef struct
+ {
+ kal_uint8 type; /* Notification type */
+ union
+ {
+ kal_uint8 timer; /* Expired Timer Number */
+ PswIs95NamT *nam; /* Current NAM parameters */
+ void *messageP; /* pointer to any message type */
+ kal_uint8 regType; /* registration type */
+ OrigParms *origParms; /* Originate Parameters */
+ RTCFlashData *flashParms; /* Flash Parameters */
+ IdleHOParms *idleHOParms; /* pilot info for Idle HO */
+ RTCContDTMFData *contDTMFParms; /* Continuous DTMF Parms */
+ RTCBurstDTMFData *burstDTMFParms; /* Burst DTMF Parameters */
+ DataBurstData *dataBurstParms; /* Data Burst Parameters */
+ MTXNotify notify; /* MTX Notification */
+ AuthResult authr;
+ HOAccessHOList *accessHoList; /* access ho list msmt report */
+ CssParameters CssParms;
+ kal_bool piStatus; /* Status of Pi Signal */
+ SessionType *afltParms; /* AFLT Request, LocSrv Data */
+ } typeInfo;
+ } Callback;
+
+ typedef Callback CALLBACK; /* for compatibility with IS-136 */
+
+
+ typedef enum
+ {
+ TM_CAND_FREQ_SEARCH_REQUEST, /* Candidate Frequency Search Request */
+ TM_CAND_FREQ_SEARCH_CONTROL /* Candidate Frequency Search Control */
+ } TMInjectMsgType;
+
+
+ typedef struct
+ {
+ TMInjectMsgType msgType; /* Injected message type */
+ union
+ {
+ CFSRQMData* cfsrqmData;
+ CFSCNMData* cfscnmData;
+ } type;
+ } TMInjectMsg;
+
+
+ typedef struct
+ {
+ kal_uint8 schId;
+ kal_uint16 schBadFrames;
+ kal_uint16 schTotFrames;
+
+ } CPSchPmrmParms;
+
+ typedef struct
+ {
+ kal_bool fchMeasIncl;
+ kal_uint8 fchBadFrames;
+ kal_uint16 fchTotFrames;
+ kal_bool dcchMeasIncl;
+ kal_uint8 dcchBadFrames;
+ kal_uint16 dcchTotFrames;
+ kal_uint8 numForSch;
+ CPSchPmrmParms schPmrmParms[ CP_MAX_FOR_SCH ];
+ } CPPmrmParms;
+
+ /* Data structure for Silent Retry info */
+ typedef struct
+ {
+ kal_bool enabled;
+ kal_uint8 numAttempts;
+ kal_uint32 interval;
+ kal_uint32 timeToAbort;
+ } SilentRetryInfo;
+
+ typedef struct
+ {
+ kal_bool origInd;
+ kal_bool syncIdIncl;
+ kal_uint8 syncIdLen;
+ kal_uint8 syncId[ CP_MAX_SYNC_ID ];
+ kal_uint16 serviceOption;
+ kal_uint8 srId;
+ } ReconnectParms;
+
+#ifdef MTK_DEV_C2K_IRAT
+ typedef enum
+ {
+ CSFB_STATE_NULL, /* No CSFB action */
+ CSFB_STATE_MT_INIT, /* There is a pending CSFB request to send in MT */
+ CSFB_STATE_MO_INIT, /* There is a pending CSFB request to send in MO */
+ CSFB_STATE_WAIT, /* Wait CSFB confirm */
+ CSFB_STATE_IDLE, /* In the call procedure, need send CSFB stop when call finish */
+ } CsfbState;
+#endif
+#ifdef MTK_CBP_REL_OPTIMIZE
+ typedef struct
+ {
+ kal_bool isOrigPended;
+ OrigParms OriginalParms;
+ }PendingOrigParms;
+#endif
+/*****************************************************************************
+ * Engine Callback function prototypes
+ ****************************************************************************/
+
+
+ /* CDMA Callback function protypes */
+ /*==========================================================*/
+ void engInitialize(void);
+ void engRelayCPRequest(CPRequest *request);
+ void engRelaySCServiceConfigurationRequest (ServiceConfiguration* servCfg);
+ void engRelaySCServiceOptionRequest (kal_uint16 serviceOption);
+ void engRelayPageFrameIndication(PageFrame *frame);
+
+ void engRelayPilotMeasureReport (kal_int16 pilotSeq, kal_uint16 referencePN,
+ PilotReport *report);
+ void engRelayL1dAccessPreambleComplete(WbiosSystime sendtime);
+ void engRelayL1dAccessProbeComplete(WbiosSystime finishTime);
+
+ void engRelayReportStatus(kal_uint8 status);
+ void engRelaySyncFrameIndication(SyncFrame *frame);
+ void engRelayIdleHandoff(kal_uint16 pilotPN);
+ void engRelayTCFrameIndication (TCFrame *frame);
+ void engTimerExpired(kal_int16 timerId);
+
+ void engRelayMultiplexParameters (MuxParmsT* MuxParms);
+ void engRelayTestMode(TestModeMsgT mode, kal_uint16 qualifier, kal_uint16 value);
+ void engRelayTMInjectMsg (TMInjectMsg* tmInjectMsg);
+ /* Emergency Mode Processing */
+ void engRelayE911Mode(kal_bool E911Mode);
+ void engRelayMsCapDb( const MsCapDb* pMsCapDb );
+ void engRelayHspdActiveControlHold
+ (
+ const Ds_HspdActiveControlHoldType newHspdState
+ );
+
+ void engRelayRschRelInd( const kal_uint16 remainDuration );
+
+/* Hans-082802 verify who is using this ?
+ void engRelayDataBufferStatus
+ (
+ const kal_uint8 srId,
+ const kal_uint16 dataSize
+ );
+ */
+
+ void engRelayRevSchRequest
+ (
+ const kal_uint8 srId,
+ const SchRateIndex prefRate,
+ const kal_uint16 duration
+ );
+
+ void cpRunTheEngine(Callback *engRequest);
+ kal_bool cpEngIsOrigQueued(void);
+ void engRelayPMRMParams ( const CPPmrmParms* pPmrm );
+ void engRelayOuterLoopReportReqParams (OuterLoopRepData *outerLoopRepData);
+ void cpSetWakeData(PswCmdStatusMsgT *wakeStatusMsgPtr);
+ void engRelayCDMACandFreqSearchReport(CFSearchReport *srchReport);
+ void engRelayCDMACandFreqSearchTimes(CFSearchTimes *srchTimes);
+ void engRelayCandFreqStart (void);
+ void engRelayCandFreqStop (kal_uint8 numFrames);
+
+ void engRelayNghbrPilotAboveTAdd (HOTCPilot* pilot);
+ void engRelayRemainingPilotAboveTAdd (HOTCPilot* pilot);
+
+ void engRelaySetAccessHoParams(
+ const kal_uint8 noiseFloor,
+ const kal_uint8 thrMin,
+ const kal_uint8 minAct,
+ const kal_uint8 thrSlope );
+
+ void engRelaySetIdleHoParameters
+ (
+ const kal_uint8 ThrMinImmed,
+ const kal_uint8 MinActImmed,
+ const kal_uint8 ThrSlopeImmed,
+ const kal_uint8 ThrMinDelayed,
+ const kal_uint8 MinActDelayed,
+ const kal_uint8 ThrSlopeDelayed,
+ const kal_uint8 DelayCount,
+ const kal_uint8 MinNghbrThr
+ );
+
+ void engRelayServOptionControlResp ( kal_uint8 conRef, kal_uint16 serviceOption,
+ kal_uint8 length, kal_uint8* ctlRec);
+
+ kal_uint32* engRelayGetL2RTCStats (void);
+ void engRelayGetPrlInfo(NamNumber namNumber);
+ void engRelayGetNam(void);
+ void engRelayWriteNam(NamNumber namNumber);
+ kal_bool tmContinuousBCCH(void);
+
+/*****************************************************************************
+ * Misc. function prototypes
+ ****************************************************************************/
+ void setIMSI(PswIs95NamT* Nam);
+
+ /* AMPS Callback function protypes */
+ /*==========================================================*/
+
+ void engRelaySetTempAkey(kal_uint8 *akey);
+ void engRelayDiscardTempAkey(void);
+ void engRelayCommitAkey(void);
+ void engRelayNamChanged(kal_uint8 whatsChanged);
+ void engRelaySyncCssDone(kal_bool indication);
+ void engRelayGetRetrievableStatistics(GetRetrievableParameterMsgT *msgDataPtr);
+ void engRelaySetRetrievableStatistics(SetRetrievableParameterMsgT *MsgDataPtr);
+ void engRelayMmiChangedNam(kal_uint32 whatChangedInNam, NamNumber namNumber);
+ void engRelayForceAnalogMode(void);
+ void engRelayGetPSInfo(void);
+
+ void engRelaySRSetSilentRetryMsg(kal_bool enable, kal_uint8 num, kal_uint32 interval, kal_uint32 abort);
+ SilentRetryInfo* engRelayGetSRInfo(void);
+ void engRelaySRGetSilentRetryStatusMsg(PswGetSilentRetryStatusMsgT *MsgP);
+ void engRelaySRSetAccessIsOrig(kal_bool orig);
+ void engRelaySRIncSilentRetryAttempt(void);
+
+ void engRelayDataBufferStatus(RcDataBufferStatusMsgT *msgPtr);
+ void engRelayDbTxInd(kal_uint8 retry);
+
+ void engRelayInitialAcqPwr(PswInitialAcqReportMsgT *MsgP);
+
+ void engRelayAlternatePilots(PswL1dAlternatePilotsMsgT* msgPtr);
+ void engRelaySysSettingsChanged(void);
+ void engRelaySysManualAvoid(void);
+
+ void engRelaySetLostScanPingFreq( kal_uint8 Geo_Scan_Ping_Frequency,
+ kal_uint8 Non_Geo_Scan_Ping_Frequency );
+ kal_bool PswIsVoiceServiceAllowed( void );
+ void PswInitIsVoiceSupported( void );
+ void engRelaySetSystemSelect( kal_bool val );
+ kal_bool engRelayGetSystemSelect( void );
+ void engRelaySysManualAvoid(void);
+
+#ifdef MTK_DEV_C2K_IRAT
+ void cpSetCsfbState(CsfbState state);
+ CsfbState cpGetCsfbState(void);
+ kal_bool cpIsCSFBNeeded(void);
+ void cpSetPsProtectReqFlag(kal_bool hasSent);
+ kal_bool cpGetPsProtectReqFlag(void);
+ void cpSetEsrProtectMsgFlag(kal_bool hasSent);
+ kal_bool cpGetEsrProtectMsgFlag(void);
+ void cpSetTxIsOngoing(kal_bool TxIsOngoing);
+ kal_bool cpGetTxIsOngoing(void);
+ void cpSetPsReleaseIsPended(kal_bool CssRsvasPsRelease);
+ kal_bool cpGetPsReleaseIsPended(void);
+#endif
+#ifdef MTK_CBP_REL_OPTIMIZE
+ void cpSetPendingOrigParms(kal_bool pending, OrigParms *originalParms);
+ PendingOrigParms* cpGetPendingOrigParms(void);
+#endif
+
+#endif /* _ENGINE_H_ */
+
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/ho_ac.h b/mcu/interface/protocol/as_c2k/1xrtt/ho_ac.h
new file mode 100644
index 0000000..8fe8983
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/ho_ac.h
@@ -0,0 +1,201 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Filename: ho_ac.h
+ *
+ * Purpose: Definition of Access Handoff support.
+ *
+ ****************************************************************************
+ *
+ * VCS Header Information
+ *
+ * $Revision: 1.2 $
+ * $Author: fpeng $
+ *
+ * $Log: ho_ac.h $
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ *
+ * 07 04 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * ::KAL type - L3, folder ps
+ *
+ * 11 09 2016 sue.zhong
+ * [MOLY00208435] [6293][C2K]Sync C2K code to UMOLYA TRUNK
+ * Update C2K PS code (1/2)
+ * Revision 1.2 2004/03/25 12:09:30 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:38:44 fpeng
+ * Initial revision
+ * Revision 1.6 2003/03/07 11:41:17 byang
+ * CR #1809: Add function prototype declaration for
+ * hoACSetFirstIsActive().
+ *
+ * CR#1810: Add function prototype declaration for
+ * hoACSetAccessHoParms().
+ * Revision 1.5 2002/11/20 15:48:45 byang
+ * CR#1478: Modified hoAccessHandoffRecordUpdate() function
+ * prototype.
+ * Revision 1.4 2002/07/15 13:12:40 chinh
+ * Removed compile switch CBP3_MERGE (CR598).
+ * Revision 1.3 2002/06/06 13:12:29 chinh
+ * Changed and Added Copyright
+ * Revision 1.2 2001/07/18 15:09:49 chinh
+ * cbp3 porting for Idle and Access
+ * Revision 1.1 2001/01/17 10:58:39 plabarbe
+ * Initial revision
+ * Revision 1.1 2000/10/24 14:11:14 fpeng
+ * Initial revision
+ * Revision 1.3 2000/08/23 22:08:06Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes.
+ * Revision 1.7 2000/03/01 01:40:45 scotvold
+ * CC Overhead Backward Compatibility.
+ *
+ * Revision 1.6 1999/06/23 22:50:39 gfrye
+ * separated out functions for Access Entry Handoff so they can be shared with T53.
+ *
+ * Revision 1.5 1999/06/20 04:25:14 scotvold
+ * Removed redundant declarations.
+ *
+ * Revision 1.4 1999/05/17 22:41:46 mhayduk
+ * Removed insufficient PCH check from Access ho checks.
+ *
+ * Revision 1.3 1998/12/01 04:45:00 mhayduk
+ * Lint changes.
+ *
+ * Revision 1.2 1998/10/22 15:18:13 mhayduk
+ * Added prototype for hoUpdatePilotMeasurements.
+ *
+ * Revision 1.1 1998/10/20 23:58:23 mhayduk
+ * Initial revision
+ *
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+
+#ifndef _HO_AC_H_
+
+ #define _HO_AC_H_ 1
+
+/*****************************************************************************
+ * Includes
+ ****************************************************************************/
+#include "ho_cc.h"
+
+/*****************************************************************************
+ * Defines
+ ****************************************************************************/
+
+/*****************************************************************************
+ * Configuration structure definitions
+ ****************************************************************************/
+
+ typedef struct
+ {
+ HOPilotInfo pilot;
+ PilotMeasurement measure;
+ kal_bool accessHoEnabled;
+ kal_bool accessAttempted;
+ kal_bool active;
+ kal_uint8 index;
+ } HOAccessHOEntry;
+
+ /* This structure is the combined ACCESS_HO_LIST and OTHER_LIST. */
+ typedef struct
+ {
+ kal_uint8 activeStrength;
+ kal_uint8 numPilots;
+ kal_uint8 numOthers;
+ kal_bool firstIsActive;
+ kal_bool firstIsPTA;
+ HOAccessHOEntry list[N13m];
+ } HOAccessHOList;
+
+ /* the following structure is used for sorting pilots by strength - */
+ /* the list is sorted externally in a separate array of this element */
+ typedef struct
+ {
+ kal_uint16 strength;
+ kal_uint8 index;
+ } HOStrengthIndex;
+
+/*****************************************************************************
+ * Prototypes
+ ****************************************************************************/
+
+
+ void hoACSetNghbrSetAccessInfo (kal_bool state);
+ kal_bool hoACGetNghbrSetAccessInfo (void);
+ void hoClearSavedAccessHoEntries (void);
+ void hoAccessHandoffRecordUpdate( HONeighborRecord *nghbr, kal_uint8 pilot );
+ void hoSaveUpdateIdleRec (kal_uint8 nghbrSetSize,kal_bool* accessInfo,kal_uint8 type);
+ void hoUpdateIdleRec (kal_uint8 nghbrSetSize,kal_bool* accessInfo,kal_uint8 type);
+ void hoAccessHoAttempt (void);
+ void hoBuildAccessHoList (void);
+ void hoUpdatePilotReportingMeasurements (void);
+ void hoRequestPilotMeasurements (void);
+
+ void hoACSetFirstIsActive ( const kal_bool firstIsActive );
+ void hoACClearPilotAttemptedList (void);
+ kal_bool accessHoOptimizeEnabled(void);
+#ifdef MTK_DEV_BUG_FIX_XL2
+ kal_uint16 hoACGetFirstActivePN (void);
+#endif
+ void hoACSetAccessHoParms(
+ const kal_uint8 noiseFloor,
+ const kal_uint8 thrMin,
+ const kal_uint8 minAct,
+ const kal_uint8 thrSlope );
+
+ kal_bool hoExistsAccessHoList(void);
+ void hoClearAccessHoList(void);
+ kal_uint16 hoGetBestAccessHoPnStrength(void);
+
+#endif /*_HO_AC_H_ */
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/ho_cc.h b/mcu/interface/protocol/as_c2k/1xrtt/ho_cc.h
new file mode 100644
index 0000000..b91a5f4
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/ho_cc.h
@@ -0,0 +1,277 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Filename: ho_cc.h
+ *
+ * Purpose: Definition of Handoff set configuration and maintenance
+ * structures and interfaces for Control Channel support.
+ *
+ ****************************************************************************
+ *
+ * VCS Header Information
+ *
+ *
+ * $Log: ho_cc.h $
+ *
+ * 08 21 2017 danny.dai
+ * [MOLY00271967] Merge CL from MP5/MP R1 to Trunk/MP R2.
+ *
+ * Trunk: merge from R1 MP
+ * 1. PCH restore strategy optimation for flight mode
+ * 2. handle SMS paging/DBM in ECBM for Sprint
+ * 3. Broadcast schedule
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ * Revision 1.3 2004/04/06 14:02:08 dstecker
+ * CBP6.1 release 1
+ * Revision 1.2 2004/03/25 12:09:30 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.2 2003/08/28 11:18:09 bcolford
+ * Update for merge.
+ * Revision 1.7 2003/06/26 13:55:33 byang
+ * CR#2394: Modified hoCCSetNewIHOparameters() prototype declaration
+ * to include MinNgbhrThr.
+ * Revision 1.6 2002/11/11 15:29:36 byang
+ * Promote function sendIdlePilotSet() from static to public.
+ * Revision 1.5 2002/07/15 13:13:01 chinh
+ * Removed compile switch CBP3_MERGE (CR598).
+ * Revision 1.4 2002/06/06 13:12:37 chinh
+ * Changed and Added Copyright
+ * Revision 1.3 2001/07/18 15:10:41 chinh
+ * cbp3 porting for Idle and Access
+ * Revision 1.2 2001/06/12 15:41:03 byang
+ * Update idle handoff to IS2000 Rev. 0 specifications.
+ * Revision 1.1 2001/01/17 10:58:42 plabarbe
+ * Initial revision
+ * Revision 1.4 2000/12/22 11:37:47 byang
+ * Fixed incorrect data type for "auxPilotWalsh[]". Changed from
+ * kal_uint16 to kal_uint8.
+ * Revision 1.3 2000/12/05 17:45:04 byang
+ * Idle mode - IS2000A Addendum modifications.
+ * Revision 1.2 2000/11/13 14:25:50 byang
+ * IS-2000A Idle Mode and LAC intergration - Initial Release.
+ * Revision 1.1 2000/10/24 21:11:14Z fpeng
+ * Initial revision
+ * Revision 1.3 2000/08/23 22:08:10Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes.
+ * Revision 1.2 2000/03/01 18:06:42Z rsattari
+ * Isotel release 2.3 updates.
+ * Revision 1.15 1999/08/05 17:48:49 gfrye
+ * Added prototype for hoResetIdleHandoff, new functionto cancel any delayed
+ * idle handoff that might be pending.
+ *
+ * Revision 1.14 1999/07/28 20:25:43 gfrye
+ * Added new prototype hoCCSetNewIHOparameters to set new values for the
+ * Idle Handoff algorithmn parameters.
+ *
+ * Revision 1.13 1999/07/07 21:22:38 scotvold
+ * Separation of HT_MAX and T_MAX for idle handoff.
+ *
+ * Revision 1.12 1999/07/07 16:33:12 gfrye
+ * added hoSlottedModePilotUpdate to request a pilot measurement from eng_idle.c
+ *
+ * Revision 1.11 1999/04/13 19:15:27 scotvold
+ * New Idle Handoff Algorithm.
+ *
+ * Revision 1.10 1999/04/08 23:47:56 mhayduk
+ * Added prototype for hoCCInitialize().
+ *
+ * Revision 1.9 1999/03/04 00:32:09 mhayduk
+ * Added prototypes for Idle HO test mode support.
+ * Added prototype for enabling/disabling slotted mode indicator.
+ *
+ * Revision 1.8 1998/11/17 21:55:49 mhayduk
+ * Initialize idle handoff flag to enabled.
+ *
+ * Revision 1.7 1998/10/22 15:18:13 mhayduk
+ * Added prototype for clearing strong pilot monitoring report.
+ *
+ * Revision 1.6 1998/10/20 23:58:23 mhayduk
+ * Added T53 support.
+ *
+ * Revision 1.5 1998/10/09 00:19:12 mhayduk
+ * Added prototype for access pilot management.
+ *
+ * Revision 1.4 1998/09/11 16:23:50 scotvold
+ * Minor change.
+ *
+ * Revision 1.3 1998/09/11 02:33:06 scotvold
+ * Added test mode to disable Idle Handoffs.
+ *
+ * Revision 1.2 1998/07/29 04:20:04 mhayduk
+ * Added access handover support.
+ *
+ * Revision 1.1 1998/06/08 21:48:25 scotvold
+ * Initial revision
+ *
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+
+#ifndef _HO_CC_H_
+
+ #define _HO_CC_H_ 1
+
+/*****************************************************************************
+ * Includes
+ ****************************************************************************/
+ #include "ho_set.h"
+
+/*****************************************************************************
+ * Configuration structure definitions
+ ****************************************************************************/
+
+
+ /********************************************************************/
+ /* IDLE_HANDOFF_REC[] */
+ /********************************************************************/
+
+ /* Idle Neighbor Record Used by General Neighbor List Message (GNLM) */
+ typedef struct
+ {
+ HOPilotInfo pilotInfo; /* pilot information */
+ kal_uint8 searchPriority;
+ kal_uint8 srchWinNghbr; /* pilot search window size */
+ kal_uint8 srchOffsetNghbr;
+ kal_uint8 nghbrConfig; /* neighbor's configuration */
+ kal_bool accessEntryHo;
+ kal_bool accessHoAllowed;
+ kal_bool bcchSupport;
+ kal_bool addPilotRecIncl;
+ PilotRecType nghbrPilotRecType;
+ kal_uint8 recordLen;
+ HONghbrPilotRec nghbrPilotRec;
+ PilotMeasurement measure;
+ } HONghbrIdleRecord;
+
+ /* R.Sattari, 7/5/00 */
+ typedef struct
+ {
+ kal_uint8 bandClass;
+ kal_uint8 sysAB;
+ } HOAnalogNghbrRecord;
+
+ /* R.Sattari, 7/5/00 */
+ typedef struct
+ {
+ kal_uint8 nghbrSetSize; /* number of entries */
+ kal_uint8 nghbrSrchMode;
+ kal_bool nghbrConfigPnIncl;
+ kal_bool freqFieldsIncl;
+ kal_bool useTime;
+ kal_bool srchOffsetIncl;
+ kal_bool bcchIndIncl;
+ kal_bool settingSearchWin;
+ kal_uint8 globTimeIncl;
+ kal_uint8 globTxDuration;
+ kal_uint8 globTxPeriod;
+ kal_uint8 numNghbr;
+ kal_uint8 numAnalogNghbr;
+ HOAnalogNghbrRecord Arec[CP_MAX_ANALOG_NEIGHBOR_SET];
+ HONghbrIdleRecord rec[CP_MAX_NEIGHBOR_SET];
+ kal_bool ResqEnabled;
+ kal_uint8 ResqDelayTime;
+ kal_uint8 ResqAllowedTime;
+ kal_uint8 ResqAttemptTime;
+ kal_uint16 ResqCodeChan;
+ kal_uint8 ResqQof;
+ kal_bool ResqMinPeriodIncl;
+ kal_uint8 ResqMinPeriod;
+ kal_bool ResqNumTotTransIncl;
+ kal_uint8 ResqNumTotTrans20ms;
+ kal_uint8 ResqNumTotTrans5ms;
+ kal_uint8 ResqNumPreambleRc1Rc2;
+ kal_uint8 ResqNumPreamble;
+ kal_uint8 ResqPowerDelta;
+ kal_bool NghbrResqConfigured[ CP_MAX_NEIGHBOR_SET];
+ } HONghbrIdleHandoffList;
+
+ typedef enum
+ {
+ NO_SYS_DET,
+ IMMEDIATE,
+ DELAYED
+ } DelaySysDetTypeT;
+
+/*****************************************************************************
+ * Prototypes
+ ****************************************************************************/
+
+ void hoResetIdleHandoffTestFlag(void);
+ void hoMonitorIdleState(void);
+ void hoMonitorAccessState(void);
+ void hoMonitorIdleHOTimer(void);
+ void hoIdleHandoverRequest(kal_uint16 pilotPN);
+ void hoSetIdleNeighborList(HONghbrIdleHandoffList *idleHORec,
+ const kal_uint8 neighborListType );
+ kal_uint8 hoGetIdleNeighborListType(void);
+ void hoClearMonitorForStrongestPilot(void);
+ void hoMonitorForStrongestPilot(IdleChangePilotSet *set);
+ void hoCCInitialize(kal_bool powerUp);
+ void hoCCSetIdleHOEnableFlag (kal_uint16 qualifier);
+ void hoCCSetIHOThreshold(kal_uint8 tMax, kal_uint8 t2, kal_uint8 t3,
+ kal_uint8 hTMax, kal_uint8 tCH1, kal_uint8 tCH2, kal_uint8 hTMin);
+ void hoCCSetNewIHOparameters
+ (
+ const kal_uint8 ThrMinImmed,
+ const kal_uint8 MinActImmed,
+ const kal_uint8 ThrSlopeImmed,
+ const kal_uint8 ThrMinDelayed,
+ const kal_uint8 MinActDelayed,
+ const kal_uint8 ThrSlopeDelayed,
+ const kal_uint8 DelayCount,
+ const kal_uint8 MinNgbhrThr
+ );
+
+ void sendIdlePilotSet( void );
+ DelaySysDetTypeT hoCCgetDelayedSysDet(void);
+ void hoCCsetDelayedSysDet(DelaySysDetTypeT sysDet);
+
+#endif /*_HO_SET_H_ */
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/ho_cf.h b/mcu/interface/protocol/as_c2k/1xrtt/ho_cf.h
new file mode 100644
index 0000000..c674074
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/ho_cf.h
@@ -0,0 +1,252 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Module: ho_cf.h
+ *
+ * Purpose: Header file for tc_cf.c
+ *
+ ****************************************************************************
+ *
+ * RCS Header Information
+ *
+ * $Revision: 1.3 $
+ * $Author: hans $
+ *
+ * $Log: ho_cf.h $
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ *
+ * 02 21 2017 tina.ma
+ * [MOLY00230712] [Gen93]add DFS Measurement HO stake
+ * Revision 1.3 2004/09/28 16:36:23 hans
+ * Changes from CBP6.0 merged.
+ * Revision 1.2 2004/03/25 12:09:31 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.2 2003/08/28 11:18:10 bcolford
+ * Update for merge.
+ * Revision 1.7 2003/08/01 13:32:59 mclee
+ * Fix CR2506 by removing all instances of CBP3 compile flag and dead code
+ * Revision 1.6 2003/01/24 15:51:53 dstecker
+ * Added prototype
+ * Revision 1.5 2002/09/26 17:06:43 dstecker
+ * Added new RESTART event and prototypes for handoff return on fail
+ * Revision 1.4 2002/08/19 10:40:10 dstecker
+ * CBP4 candidate frequency implimentation
+ * Revision 1.3 2002/06/06 13:12:41 chinh
+ * Changed and Added Copyright
+ * Revision 1.2 2001/08/03 15:14:43 dstecker
+ * Modifications for IS2000 handoffs
+ * Revision 1.1 2001/01/17 10:58:43 plabarbe
+ * Initial revision
+ * Revision 1.1 2000/10/24 14:11:15 fpeng
+ * Initial revision
+ * Revision 1.3 2000/08/23 22:08:14Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes.
+ * Revision 1.7 2000/01/17 22:27:19 scotvold
+ * TC Backward Compatibility changes.
+ *
+ * Revision 1.6 1998/09/11 02:33:52 scotvold
+ * Candidate Frequency API changes.
+ *
+ * Revision 1.5 1998/07/20 23:22:22 scotvold
+ * Added state machine tracing.
+ *
+ * Revision 1.4 1998/07/03 16:57:30 dfischer
+ * New load
+ *
+ * Revision 1.3 1998/06/12 14:50:38 scotvold
+ * Updated for Release 0.07.
+ *
+ *
+ *
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+
+#ifndef _HO_CF_H_
+
+ #define _HO_CF_H_ 1
+
+
+/****************************************************************************
+ * Defines
+ ****************************************************************************/
+
+#define CF_SF_RX_PWR_THRESH_DISABLED -48 /* -110 + 2 * 31 */
+#define CF_DIFF_RX_PWR_THRESH_DISABLED -30 /* -30 + 2 * 0 */
+
+
+
+/* Private */
+
+typedef enum
+{
+ CF_STOP_ST,
+ CF_IDLE_ST,
+ CF_WFR_SEARCH_TIMES_ST,
+ CF_PENDING_MSG_ST,
+ CF_SEARCH_IDLE_ST,
+ CF_WFR_SEARCH_PERIOD_TIMEOUT_ST,
+ CF_MAX_STATES
+} CFState;
+
+
+typedef enum
+{
+ CF_START_EV,
+ CF_RESTART_EV,
+ CF_STOP_EV,
+ CF_SEARCH_REQUEST_EV,
+ CF_SEARCH_CONTROL_EV,
+ CF_SEARCH_TIMES_EV,
+ CF_SEARCH_REQUEST_ACTION_TIMEOUT_EV,
+ CF_SEARCH_REPORT_EV,
+ CF_PERIODIC_SEARCH_TIMEOUT_EV,
+ CF_PERIODIC_SEARCH_ENABLE_EV,
+ CF_FRESHNESS_TIMEOUT_EV,
+ CF_SEARCH_TIMES_TIMEOUT_EV,
+ CF_MAX_EVENTS
+} CFEvent;
+
+
+
+/****************************************************************************
+ * Public Structures
+ ****************************************************************************/
+
+/* structure to define parameters required by WBIOS to perform a CF search */
+typedef struct
+{
+ SysBandChannelT channel;
+ kal_uint16 cfTAdd; /* In Q16 linear units */
+ NghbrSearchMode cfNghbrSrchMode;
+ kal_uint8 cfSrchWinN;
+ kal_uint8 cfPilotInc;
+} CFSearchParms;
+
+
+/****************************************************************************
+ * Private Structures
+ ****************************************************************************/
+
+typedef struct
+{
+ kal_uint8 lastSrchMsgSeq;
+ kal_uint8 searchType;
+ kal_uint16 searchPeriod; /* in frames according to table 6.6.6.2.8.3.2-1 */
+ kal_uint8 searchMode;
+} CFSearch;
+
+
+typedef struct
+{
+ kal_uint8 cfCdmaBand;
+ kal_uint16 cfCdmaFreq;
+ /* Added sfTotalECThresh,
+ and sfTotalECIOThresh Per IS95B Spec.
+ kal_int8 sfRxPwrThresh; */ /* in dBm/1.23MHz */
+ kal_uint8 sfTotalECThresh;
+ kal_uint8 sfTotalECIOThresh;
+ kal_int8 sfRxPwrThresh; /* in dBm/1.23MHz */
+ kal_int8 diffRxPwrThresh; /* in dBm/1.23MHz */
+ kal_uint8 minTotalPilotEcIo;
+ kal_uint16 cfTAdd; /* in Q16 linear unit */
+ kal_uint8 cfSrchWinN;
+ NghbrSearchMode cfNghbrSrchMode;
+} CFCDMASearch;
+
+
+typedef struct
+{
+ kal_uint8 cfWaitTime;
+ kal_uint8 cfPilotInc;
+ kal_uint8 cfSrchWinR;
+} CFCDMAHandoff;
+
+
+/*****************************************************************************
+ * Prototypes
+ ****************************************************************************/
+
+void hoCFStart (kal_uint8 srchWinN, kal_uint8 srchWinR, kal_uint8 pilotInc);
+void hoCFStop (void);
+void hoCFRestart (void);
+void hoCFRestartPeriodicSearch(kal_uint8 hdmSeq);
+void hoCFResetToIdle(void);
+void hoCFSRQM (CFSRQMData* data);
+void hoCFSCNM (CFSCNMData* data);
+void hoCFSearchTimes (CFSearchTimes* searchTimes);
+void hoCFActionTimeout (void);
+void hoCFSearchReport (CFSearchReport* cfSearchReport);
+void hoCFPeriodicSearchTimeout (void);
+void hoCFFreshnessTimeout (void);
+CFState hoCFGetCandFreqState (void);
+/* HHO with return on fail support */
+void hoSetCFTAdds(kal_uint16 cfTAdds);
+kal_uint16 hoGetCFTAdds( void );
+SysCdmaBandT hoGetCFCdmaBands(void);
+kal_uint16 hoGetCFCdmaChs(void);
+kal_uint8 hoGetCFTfWaitTime(void);
+kal_uint8 hoGetCFPilotInc(void);
+kal_uint8 hoGetCFSrchWinN(void);
+kal_uint8 hoGetCFSrchWinR(void);
+kal_bool hoGetCFSearchPriorityIncl(void);
+CFSet hoGetCFNghbrSet(void);
+kal_uint32 hoGetCFMinTotalPilotEcIo(void);
+kal_uint8 hoGetLastSrchMsgSeq( void );
+kal_uint8 hoGetNumberOfSearchSetPilots( void );
+kal_bool hoCFNotEnoughTime(void);
+void hoCFFrameInd (void);
+void hoSetCfTestMode(kal_uint16 qualifier, kal_uint16 value);
+#endif /* _HO_CF_H_ */
+/**Log information: \main\Trophy_0.3.X\1 2013-03-27 07:30:28 GMT yanliu
+** HANDROID#1748: fix for issue when PILOT_INC=2 and SRCH_WIN_N=14**/
+/**Log information: \main\Trophy\1 2013-04-03 06:32:17 GMT yanliu
+** HANDROID#1748: fix for issue when PILOT_INC=2 and SRCH_WIN_N=14**/
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/ho_set.h b/mcu/interface/protocol/as_c2k/1xrtt/ho_set.h
new file mode 100644
index 0000000..d94a593
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/ho_set.h
@@ -0,0 +1,520 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Filename: ho_set.h
+ *
+ * Purpose: Definition of Handoff set configuration and maintenance
+ * structures and interfaces.
+ *
+ ****************************************************************************
+ *
+ * VCS Header Information
+ *
+ *
+ * $Log: ho_set.h $
+ *
+ * 01 21 2019 tina.ma
+ * [MOLY00379869] [Gen97]merge code from UMOLYE TRUNK
+ *
+ * merge to VMOLY
+ * bar bad cell
+ *
+ * 05 04 2018 yanfeng.xu
+ * [MOLY00324120] ¡¾ÄÚÍⲿÊÔÓá¿Í¨»°¹ý³ÌÖгöÏÖÉùÒô¶Ï¶ÏÐøÐø
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ *
+ * 07 04 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * ::KAL type - L3, folder ps
+ *
+ * 03 23 2017 danny.dai
+ * [MOLY00237433] phase 2 EM for XL3 idle
+ *
+ * [MOLY00226183] [new feature]C2K EM Develop: EM common header files
+ *
+ * Phase 2 EM for XL3 idle
+ *
+ * 12 15 2016 sue.zhong
+ * [MOLY00217270] [6293][C2K]Sync C2K code to UMOLYA TRUNK from C2K CBr (W51)
+ * c2k source
+ *
+ * 11 09 2016 sue.zhong
+ * [MOLY00208435] [6293][C2K]Sync C2K code to UMOLYA TRUNK
+ * Update C2K PS code (1/2)
+ * Revision 1.6 2005/10/05 15:01:24 bcolford
+ * Add prototype for GetPerformSetMaintainence().
+ * Revision 1.5.1.2 2005/09/27 14:07:14 bcolford
+ * Add prototype for hoGetPerformSetMaintenance().
+ * Revision 1.3 2005/08/17 15:17:25 mclee
+ * Add prototype for hoGetPerformSetMaintenance().
+ * Revision 1.5 2004/09/28 17:19:33 hans
+ * Changes from CBP6.0 merged.
+ * Revision 1.4 2004/04/23 10:50:52 asharma
+ * CBP6.1 (Phase-1) DV Data and Voice Call Setup changes.
+ * Revision 1.3.1.2 2004/04/14 15:20:35 asharma
+ * Revision 1.3 2004/04/06 14:02:09 dstecker
+ * CBP6.1 release 1
+ * Revision 1.2 2004/03/25 12:09:32 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.2 2004/02/10 12:50:47 bcolford
+ * Merged CBP4.0 Release 8.05.0 changes.
+ * Revision 1.11 2003/12/17 14:05:06 mshaver
+ * Fixed CR 2853 by uncommenting the
+ * #define DISABLE_REMAIN_SET_SEARCH. This will compile out
+ * the remainder set search software.
+ * Revision 1.10 2003/12/04 18:21:28 blee
+ * If DISABLE_REMAIN_SET_SEARCH is enabled, remaining set part of CP code is compiled out.
+ * Revision 1.9 2003/12/04 18:17:27 blee
+ * Pilot search for remaining set added
+ * Revision 1.8 2002/11/11 15:27:55 byang
+ * CR #1582: Update function prototype declaration
+ * hoSetIdleActiveSet().
+ * Revision 1.7 2002/11/04 15:00:44 dstecker
+ * Added search offset to the candidate handoff structure
+ * Revision 1.6 2002/10/17 10:01:54 dstecker
+ * Added preStrength to HOActiveRecord for piolot power averaging
+ * Revision 1.5 2002/09/26 17:07:31 dstecker
+ * new prototype for search window functions
+ * Revision 1.4 2002/06/06 13:12:45 chinh
+ * Changed and Added Copyright
+ * Revision 1.3 2001/08/03 15:14:48 dstecker
+ * Modifications for IS2000 handoffs
+ * Revision 1.2 2001/06/12 15:41:14 byang
+ * Update idle handoff to IS2000 Rev. 0 specifications.
+ * Revision 1.1 2001/01/17 10:58:46 plabarbe
+ * Initial revision
+ * Revision 1.1 2000/10/24 14:11:15 fpeng
+ * Initial revision
+ * Revision 1.3 2000/08/23 22:08:17Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes.
+ * Revision 1.2 2000/03/01 18:06:49Z rsattari
+ * Isotel release 2.3 updates.
+ * Revision 1.21 2000/01/17 22:27:19 scotvold
+ * TC Backward Compatibility changes.
+ *
+ * Revision 1.20 1999/09/04 02:37:35 scotvold
+ * Added function hoClearPSMMNotifyFlags() to clear PSMM notify flags
+ * in the Active and Candidate Sets.
+ *
+ * Revision 1.19 1999/08/19 23:29:47 scotvold
+ * Added Pilot Set Maintenance inhibit to TEST_PILOT API.
+ *
+ * Revision 1.18 1999/07/21 21:12:30 scotvold
+ * Disjoint Active Set Hard Handoff Fix
+ * Same Pilot PN but different Code Channel.
+ *
+ * Revision 1.17 1999/05/19 20:18:39 mhayduk
+ * Added interface to retrieve the Idle Active Pilot strength.
+ *
+ * Revision 1.16 1999/05/03 17:12:59 scotvold
+ * Disabled Set Maintenance from reception of EHDM/GHDM
+ * to reception of first Pilot Measurement Update after
+ * Handoff Completion. This inhibits transmission of
+ * PSMMs during the Handoff Process.
+ *
+ * Revision 1.15 1999/04/16 20:15:03 scotvold
+ * Lint fixes.
+ *
+ * Revision 1.14 1999/04/12 13:31:46 scotvold
+ * Added T53 HSPD support.
+ * Added 95B SCAM support.
+ * Added 95B GHDM support and consolidated with EHDM.
+ *
+ * Revision 1.13 1998/10/31 02:19:17 scotvold
+ * Pilot Set maintenance optimization test.
+ *
+ * Revision 1.12 1998/09/11 02:34:32 scotvold
+ * KEEP field changes. Received Pilot Measurement change.
+ *
+ * Revision 1.11 1998/08/28 14:43:55 scotvold
+ * Changed Active/Candidate record notify elements.
+ *
+ * Revision 1.10 1998/08/14 23:47:53 scotvold
+ * Major Changes.
+ *
+ * Revision 1.9 1998/07/28 21:54:40 scotvold
+ * Added T_COMP support.
+ *
+ * Revision 1.8 1998/07/10 21:06:34 mhayduk
+ * Added hoIsPilotInRemaining.
+ *
+ * Revision 1.7 1998/07/03 16:57:30 dfischer
+ * New load
+ *
+ * Revision 1.6 1998/06/12 14:50:38 scotvold
+ * Updated for Release 0.07.
+ *
+ * Revision 1.5 1998/06/10 22:52:17 scotvold
+ * Added Q16 conversion routine hoQ16toDb()
+ *
+ * Revision 1.4 1998/06/08 21:48:25 scotvold
+ * Updated for Release 0.06
+ *
+ * Revision 1.3 1998/05/27 17:16:28 scotvold
+ * Updated for Release 0.05.
+ *
+ * Revision 1.2 1998/03/30 23:26:03 mhayduk
+ * Release 0.03.
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+
+#ifndef _HO_SET_H_
+
+#define _HO_SET_H_ 1
+
+/*****************************************************************************
+ * Includes
+ ****************************************************************************/
+#include "layer2.h"
+#include "pilots.h"
+#include "Serv_cfg.h"
+#include "Msg_defn.h"
+#include "Serv_neg.h"
+#include "Tc_unf.h"
+#include "Ilistmgr.h"
+
+/*****************************************************************************
+ * Defines
+ ****************************************************************************/
+#define HO_INVALID_PN 0xFFFF /* invalid PN marker */
+
+/* Default value for pilot search priorities */
+#define ENG_SEARCH_PRIORITY_HIGH 2
+
+/* Table 7.7.2.3.2.14-1 Neighbor Configuration Field */
+#define CP_NGHBR_CONFIG_000 0
+#define CP_NGHBR_CONFIG_001 1
+#define CP_NGHBR_CONFIG_010 2
+#define CP_NGHBR_CONFIG_011 3
+#define CP_NGHBR_CONFIG_100 4
+
+/* defines used to distinguish which access HO indicator is being */
+/* updated in the IDLE_HANDOFF_REC */
+#define CP_IDLE_REC_UPDATE_ENTRY 0
+#define CP_IDLE_REC_UPDATE_ALLOWED 1
+
+/* The constants for remaining set management */
+
+#define MAX_NUM_REMAINING_LIST_WITHOUT_NEIGHBOR_LIST CP_MAX_REMAINING_SET
+
+
+#define MAX_PILOT_PN_INDEX 511
+
+/* Define relationship of neighbor list size and remaining list size. */
+#define MAX_NUM_NEIGHBOR_LIST_0 0
+#define MAX_NUM_NEIGHBOR_LIST_0_REMAINING_LIST_20 20
+#define MAX_NUM_NEIGHBOR_LIST_10 10
+#define MAX_NUM_NEIGHBOR_LIST_10_REMAINING_LIST_16 16
+#define MAX_NUM_NEIGHBOR_LIST_20 20
+#define MAX_NUM_NEIGHBOR_LIST_20_REMAINING_LIST_12 12
+#define MAX_NUM_NEIGHBOR_LIST_30 30
+#define MAX_NUM_NEIGHBOR_LIST_30_REMAINING_LIST_8 8
+#define MAX_NUM_NEIGHBOR_LIST_40 40
+#define MAX_NUM_NEIGHBOR_LIST_40_REMAINING_LIST_4 4
+
+/* If Aset < -13dB, Remaining set search will use fast mode,
+ * then full the search list with remaining pilots. */
+#define T_ASET_FOR_RSET_FAST_MODE 3101 /* -13 dB */
+
+/* Blee : Threshold value of pilot strength for idle mode */
+#define T_ADD_IN_IDLE 1646 /* -16 dB */
+#define T_DROP_IN_IDLE 1038 /* -18 dB */
+#define T_DROP_COUNT_IN_IDLE 3
+
+#define TRIGGER_TRANSMIT_INFO_PILOT_PWR 4135
+#define STOP_TRANSMIT_INFO_PILOT_PWR 10387
+
+/*****************************************************************************
+ * Configuration structure definitions
+ ****************************************************************************/
+
+ /* Handoff Search Configuration information structure */
+ typedef struct
+ {
+ PilotSearchWindow window; /* search windows */
+ kal_uint8 nghbrSrchMode;
+ kal_uint8 pilotInc;
+ kal_uint8 nghbrMaxAge; /* neighbor list age counter max */
+ } HandoffSearchConfig;
+
+
+/* Pilot Set structure definition */
+
+ typedef struct
+ {
+ ActiveRecord actRec;
+ PilotMeasurement measure;
+ kal_uint16 preStrength;
+
+ /* timer is only used for Traffic set maintenance */
+ kal_bool dropTimerEnabled; /* indicates if the timer is active */
+ kal_uint16 dropTimer; /* pilot handoff drop timer - t_tdrop */
+ kal_uint8 tDropCount; /* T_DROP hysteresis counter */
+ kal_bool notifyDropTimer; /* PSMM sent when HO drop timer expires */
+ kal_bool keep; /* keep indicator for PSMM message */
+ kal_uint8 hspdTcompCount; /* Persistence count for Strong active monitoring in HSPD call */
+ } HOActiveRecord;
+
+
+ typedef struct
+ {
+ kal_uint16 pilotPN;
+ PilotMeasurement measure;
+ kal_bool dropTimerEnabled; /* indicates if the timer is active */
+ kal_uint16 dropTimer; /* pilot handoff drop timer - t_tdrop */
+ kal_uint8 tDropCount; /* T_DROP hysteresis counter */
+ kal_bool notifyDynamicTAdd; /* PSMM sent when satisfy Dynamic TAdd */
+ kal_bool notifyTComp[CP_MAX_ACTIVE_SET]; /* PSMM sent for TComp */
+ kal_uint8 srchOffset; /* search offset (0=not included) */
+ kal_uint8 srchWin_N; /* Nghbr pilot CH search window size */
+ } HOCandidateRecord;
+
+
+ typedef struct
+ {
+ kal_uint16 pilotPN;
+ kal_bool isDetectedEver;
+ kal_uint8 tDropCount; /* T_DROP hysteresis counter */
+ kal_uint8 tAddCount;
+ kal_uint8 delayedIHOCount;
+ kal_bool accessEntryHo;
+ kal_bool accessHoAllowed;
+ PilotMeasurement measure;
+ } HORemainingRecord;
+
+ typedef PACKED_PREFIX struct
+ {
+ kal_uint8 stale;
+ kal_uint16 pilotPn;
+ kal_uint16 pnPhase;
+ kal_uint16 pilotStrength;
+ } PACKED_POSTFIX MonSpyRemainSearchResultItemT;
+
+ typedef PACKED_PREFIX struct
+ {
+ kal_uint8 numRemainPilots;
+ MonSpyRemainSearchResultItemT remainData[CP_MAX_REMAINING_SET];
+ } PACKED_POSTFIX MonSpyRemainSearchResultsT;
+
+ typedef struct
+ {
+ kal_uint16 pilotPN;
+ kal_bool supported; /* indicates if this band/freq is supported */
+ kal_bool freqIncl; /* Set to true if includes band and freq */
+ SysCdmaBandT band; /* CDMA band class */
+ kal_uint16 freq; /* CDMA channel number */
+ kal_bool timeIncl;
+ kal_uint8 nghbrTxOffset;
+ kal_uint8 nghbrTxDuration;
+ kal_uint8 nghbrTxPeriod;
+ } HOPilotInfo;
+
+
+ typedef struct
+ {
+ HOPilotInfo pilotInfo;
+ kal_uint8 nghbrConfig; /* neighbor's configuration */
+ kal_bool accessEntryHo;
+ kal_bool accessHoAllowed;
+ kal_uint8 srchWinNghbr;
+ kal_uint8 priority;
+ kal_bool bcchSupport;
+ kal_bool addPilotRecIncl;
+ PilotRecType pilotRecType;
+ HONghbrPilotRec pilotRec;
+ kal_uint8 delayedIHOCount;
+ } HONghbrIdlePilot;
+
+
+ typedef struct
+ {
+ kal_uint8 age;
+ kal_bool remove; /* used for marking removal during neighbor list update */
+ kal_uint8 tAddCount;
+ } HONghbrTCInfo;
+
+
+ typedef struct
+ {
+ NghbrPilot pilot;
+ PilotMeasurement measure;
+ union
+ {
+ HONghbrTCInfo info;
+ HONghbrIdlePilot pilot;
+ } recType;
+ } HONeighborRecord;
+
+
+ /* Traffic Neighbor Record */
+ typedef struct
+ {
+ kal_uint16 pilotPN;
+ kal_uint8 searchPriority;
+ kal_uint8 srchWinNghbr; /* Traffic search window */
+ kal_uint8 age;
+ PilotMeasurement measure;
+ } HONghbrTrafficRecord;
+
+
+ typedef struct
+ {
+ HONghbrTrafficRecord rec[CP_MAX_NEIGHBOR_SET];
+ } HONghbrTrafficList;
+
+typedef enum
+ {
+ COMMON,
+ INDIVIDUAL
+ } srchWinNType;
+
+
+/*****************************************************************************
+ * Prototypes
+ ****************************************************************************/
+
+ void hoConfigSearchWindow(kal_uint8 winA, kal_uint8 winN, kal_uint8 winR, kal_bool sendMsg);
+ void hoConfigSearchWindowA (kal_uint8 winA, kal_bool sendMsg);
+ void hoConfigSearchWindowN (kal_uint8 winN);
+ void hoConfigSearchWindowR(kal_uint8 winR);
+ void hoConfigPilotInc (kal_uint8 pilotInc);
+ void hoSetBandChannel (SysBandChannelT* bandChannel);
+ void hoSetNghbrSrchMode (NghbrSearchMode nghbrSrchMode);
+ void hoConfigNghbrMaxAge (kal_uint8 maxAge);
+
+ void hoResetRcvdPilotMeasurement (void);
+ kal_bool hoRcvdPilotMeasurement (void);
+ void hoPerformSetMaintenance (kal_bool state);
+ kal_bool hoGetPerformSetMaintenance (void);
+ void resetPMRQO(void);
+
+ HandoffSearchConfig* hoGetHandoffSearchConfig (void);
+ kal_uint8 hoGetNghbrMaxAge (void);
+ kal_uint16 hoGetPilotInc (void);
+ kal_uint8 hoGetNghbrSrchMode (void);
+ const PilotSearchWindow * hoGetSrchCfgWindow (void);
+ kal_int16 hoIncrementAndGetPilotSeq (void);
+ SysBandChannelT* hoGetBandChannel (void);
+ kal_uint16 hoGetReferencePN (void);
+ kal_uint16 hoGetActivePilotStrength(void);
+ kal_uint8 hoGetIdleActivePilotStrength(void);
+
+ IListDesc* hoGetActiveSet (void);
+ IListDesc* hoGetCandidateSet (void);
+ IListDesc* hoGetNeighborSet (void);
+ IListDesc* hoGetRemainingSet (void);
+
+ kal_uint16 hoGetNextRemainingSetPilotPN(void);
+ void hoSetRemainingSetPilotPN(kal_uint16 pilotPn);
+ kal_uint8 hoGetNumRemainingSet(void);
+ void hoSetNumRemainingSet(kal_uint8 numRemainSet);
+
+ HOActiveRecord* hoIsPilotInActiveSet (kal_uint16 pilot);
+ kal_uint16 hoGetPilotStrengthInActiveSet (kal_uint16 pilot);
+ HOCandidateRecord* hoIsPilotInCandidateSet (kal_uint16 pilot);
+ HONeighborRecord* hoIsPilotInNghbrSet (kal_uint16 pilot);
+ HORemainingRecord* hoIsPilotInRemainingSet (kal_uint16 pilot);
+
+ void hoResetPilotSet (void);
+ void hoClearSet (kal_bool active, kal_bool candidate, kal_bool neighbor,
+ kal_bool remaining);
+ void hoSetIdleActiveSet (kal_uint16 pilotPN, kal_uint8 codeChan,
+ kal_bool idleHOed, kal_bool sendList);
+
+ void hoResetIdleHandoff(void);
+ void hoPilotMeasureReport (kal_int16 pilotSeq, kal_uint16 referencePN,
+ PilotReport *report);
+ void hoMonitorPilotSets (void);
+ void hoMonitorTransmitInfo(void);
+ void hoMoveActivePilotToCandidateSet (HOActiveRecord* active);
+ void hoMoveActivePilotToNghbrSet (HOActiveRecord* active);
+ void hoMoveCandidatePilotToNghbrSet (HOCandidateRecord* candidate);
+ void hoMoveNghbrPilotToCandidateSet (HONeighborRecord* nghbr, kal_bool setNotifyTComp, kal_uint8 activeEntry);
+ void hoMoveRemainingPilotToCandidateSet (HORemainingRecord* remaining);
+ void hoClearPSMMNotifyFlags (void);
+
+ void hoNghbrPilotAboveTAdd (HOTCPilot* pilot);
+ void hoRemainingPilotAboveTAdd (HOTCPilot* pilot);
+
+ void hoSetSrchWinNType(srchWinNType type);
+ srchWinNType hoGetSrchWinNType(void);
+ kal_bool sendPSMM(kal_bool send);
+ kal_bool sendPeriodicPSMM(void);
+
+ kal_bool sendRequestedPSMM(void);
+ kal_bool sendRequestedEPSMM(void);
+ void hoBuildRemainingPilotList(const kal_uint16 pilotInc, kal_uint16 firstPilotPn );
+ void hoUpdateRemainingPilotList(void);
+ void hoSetRemainingSetSearchEnable(kal_bool enable, kal_uint8 maxNumRemaining);
+ void hoSetTransmitInfoMode(kal_uint8 Mode);
+ kal_bool cpLocValidBsIsStillActive(SysCdmaBandT band, kal_uint16 channel, kal_uint16 pilot_pn);
+ kal_uint16 hoGetStrongestActivePnStrength (void);
+ kal_uint16 hoGetStrongestActivePn (void);
+ kal_uint16 cpGetStrongestSavedOvhdAsetPn(void);
+ kal_uint16 cpUpdateBadCellMeas(kal_uint16 pilotPN, kal_uint16 strength);
+
+#ifdef MTK_DEV_C2K_IRAT
+ void hoIratGetStrongestPilot(HOTCPilot *rec);
+ void hoIratWeakSysMonitor(kal_bool enable, kal_uint8 thresh);
+#endif /* MTK_DEV_C2K_IRAT */
+
+#ifdef MTK_DEV_C2K_IRAT
+ void hoRsvasSetVirtualMode(kal_bool enterVirtualMode);
+ void hoRsvasSetVitualSuspendState(kal_bool virtualSuspended);
+ kal_bool hoRsvasGetVitualSuspendState(void);
+ void hoRsvasSetNewNghbrListPending(kal_bool pending);
+ kal_bool hoRsvasGetNewNghbrListPending(void);
+#endif
+
+#endif /*_HO_SET_H_ */
+/**Log information: \main\CBP80\cbp80_gdeng_scbp10099\1 2012-07-27 09:01:00 GMT gdeng
+** SCBP#10099 **/
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/ho_tc.h b/mcu/interface/protocol/as_c2k/1xrtt/ho_tc.h
new file mode 100644
index 0000000..997f61c
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/ho_tc.h
@@ -0,0 +1,339 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Filename: ho_tc.h
+ *
+ * Purpose: Definition of the Traffic Channel Active Set
+ * structures and interfaces.
+ *
+ ****************************************************************************
+ *
+ * RCS Header Information
+ *
+ * $Revision: 1.6 $
+ * $Author: bcolford $
+ *
+ * $Log: ho_tc.h $
+ *
+ * 06 18 2019 angie.wu
+ * [MOLY00411583] [Global Variable][C2K PDCA][VMOLY]XL2 counters remove&modify
+ *
+ * cross task value[bHHOstart]
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ *
+ * 07 04 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * ::KAL type - L3, folder ps
+ *
+ * 06 14 2017 danny.dai
+ * [MOLY00257397] [Bianco][N1] Externel (EE),0,0,99,/data/core/,1,modem,Trigger time:[2017-06-12 17:16:39.917219] md1:(MCU_core0.vpe0.tc0(VPE0)) [ASSERT] file:mcu/common/modem/c2k/ps/isotel/pe/Ho_set.c line:1658
+ *
+ * Trunk: modify XL3 EM for report state changed
+ *
+ * 11 09 2016 sue.zhong
+ * [MOLY00208435] [6293][C2K]Sync C2K code to UMOLYA TRUNK
+ * Update C2K PS code (1/2)
+ * Revision 1.6 2005/10/20 09:26:12 bcolford
+ * CR No. 7038: Correct the phase of al the pilots for the PSMM and PPSMM messages.
+ * Revision 1.5.1.2 2005/10/06 11:24:21 bcolford
+ * Correct the phase of al the pilots for the PSMM and PPSMM
+ * messages.
+ * Revision 1.6 2005/08/31 18:26:13 winston
+ * CR6641: add function for retrieving set maintenance parameters
+ * Revision 1.5 2005/03/18 10:24:51 bcolford
+ * CBP4.05 [4.21] to CBP6.1 [2.9.0] CP Software Merge.
+ * Revision 1.3 2005/01/14 16:18:00 mclee
+ * - Add #define WALSH_CODE_127
+ * Revision 1.4 2004/09/28 16:37:56 hans
+ * Changes from CBP6.0 merged.
+ * Revision 1.3 2004/04/23 10:50:58 asharma
+ * CBP6.1 (Phase-1) DV Data and Voice Call Setup changes.
+ * Revision 1.2.1.2 2004/04/14 15:20:41 asharma
+ * Revision 1.2 2004/03/25 12:09:33 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.2 2004/02/10 12:50:49 bcolford
+ * Merged CBP4.0 Release 8.05.0 changes.
+ * Revision 1.12 2003/10/15 15:42:51 mclee
+ * Add hoTCGetTMulChan() function to return saved _T_MULCHAN value.
+ * Revision 1.11 2002/12/26 16:14:10 dstecker
+ * Conditional compile flag IS2000A replaced with IS_2000_REV_A and IS_2000_REV_0
+ * Revision 1.10 2002/08/15 12:28:10 dstecker
+ * Added HO_MIN_PILOT_EIGHTH_DB define
+ * Revision 1.9 2002/08/13 13:18:10 dstecker
+ * prototypes
+ * Revision 1.8 2002/06/06 13:12:49 chinh
+ * Changed and Added Copyright
+ * Revision 1.7 2002/02/06 11:39:07 mclee
+ * Remove prototype hoGetCodeChan
+ * Revision 1.6 2001/12/14 17:10:17 mclee
+ * Prototype hoGetCodeChan()
+ * Revision 1.5 2001/10/29 09:40:03 mclee
+ * Modified code to enforce kal_bool to strictly enum type KAL_TRUE or KAL_FALSE
+ * Revision 1.4 2001/08/03 15:14:56 dstecker
+ * Modifications for IS2000 handoffs
+ * Revision 1.3 2001/03/23 14:57:42 akayvan
+ * Added declaration for cpClearECAMParams().
+ * Revision 1.2 2001/03/16 11:31:36 akayvan
+ * Traffic code phase1 added.
+ * Revision 1.1 2001/01/17 10:58:48 plabarbe
+ * Initial revision
+ * Revision 1.1 2000/10/24 14:11:16 fpeng
+ * Initial revision
+ * Revision 1.4 2000/08/31 23:41:55Z bcolford
+ * Replaced AMPS_SUPPORTED with SYS_OPTION_AMPS.
+ * Revision 1.3 2000/08/23 22:08:20Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes.
+ * Revision 1.23 2000/03/01 01:54:43 scotvold
+ * CDMA -> AMPS handoff changes.
+ *
+ * Revision 1.22 2000/01/17 22:27:19 scotvold
+ * TC Backward Compatibility changes.
+ *
+ * Revision 1.21 1999/09/02 23:54:25 scotvold
+ * Updated T53 HSPD to Rev. X7.
+ *
+ * Revision 1.20 1999/08/19 23:29:47 scotvold
+ * Added Pilot Set Maintenance inhibit to TEST_PILOT API.
+ *
+ * Revision 1.19 1999/05/19 16:26:55 mhayduk
+ * Added parameter to hoTCSetT53PRev3Plus() call to enable or
+ * disable the T53 MSD setting.
+ *
+ * Revision 1.18 1999/04/13 21:07:00 dfischer
+ * Added hoTCPowerUp() function.
+ *
+ * Revision 1.17 1999/04/12 13:42:31 scotvold
+ * Put back hoTCGetTAdd() call.
+ *
+ * Revision 1.16 1999/04/12 13:31:46 scotvold
+ * Added T53 HSPD support.
+ * Added 95B SCAM support.
+ * Added 95B GHDM support and consolidated with EHDM.
+ *
+ * Revision 1.15 1999/02/08 22:52:38 scotvold
+ * Changed hoTCHandoffCompleteInd() interface.
+ *
+ * Revision 1.14 1998/11/20 16:41:52 scotvold
+ * Removed TEST_PILOT T_DROP optimization functions.
+ *
+ * Revision 1.13 1998/11/02 22:05:42 scotvold
+ * Moved ENCRYPT_MODEs to eng_tc.c.
+ *
+ * Revision 1.12 1998/10/31 02:19:17 scotvold
+ * Pilot Set maintenance optimization test.
+ *
+ * Revision 1.11 1998/10/20 23:58:23 mhayduk
+ * Added T53 support.
+ *
+ * Revision 1.10 1998/09/11 16:24:30 scotvold
+ * Handoff API changes.
+ *
+ * Revision 1.9 1998/09/11 02:36:00 scotvold
+ * Added changeTimers kal_bool to hoTCConfigThreshold().
+ *
+ * Revision 1.8 1998/08/28 21:47:40 mhayduk
+ * Fixes from linting.
+ *
+ * Revision 1.7 1998/08/28 14:46:03 scotvold
+ * Added defines.
+ *
+ * Revision 1.6 1998/08/18 16:57:23 scotvold
+ * Passed long code state to hoTCExtHandoffDirectionActionTimeout().
+ *
+ * Revision 1.5 1998/08/14 23:48:07 scotvold
+ * Major changes.
+ *
+ * Revision 1.4 1998/08/11 23:03:25 scotvold
+ * Added HDM_SEQ support.
+ *
+ * Revision 1.3 1998/07/03 16:57:30 dfischer
+ * New load
+ *
+ * Revision 1.2 1998/06/12 14:50:38 scotvold
+ * Updated for Release 0.07.
+ *
+ *
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+
+#ifndef _HO_TC_H_
+
+#define _HO_TC_H_ 1
+
+#include "status.h"
+#include "pilots.h"
+#include "pch_msg.h"
+#include "l1dapi.h"
+
+/*****************************************************************************
+ * Defines
+ ****************************************************************************/
+
+#define WALSH_CODE_1 1
+#define WALSH_CODE_63 63
+#define WALSH_CODE_127 127
+
+#define HO_MAX_PILOT_EC_IO 65535U
+#define HO_MIN_PILOT_EC_IO 46
+#define HO_MAX_PILOT_DB 0
+#define HO_MIN_PILOT_DB 63
+#define HO_MIN_PILOT_EIGHTH_DB 253
+
+#define HO_DO_NOT_CHANGE_TIMERS KAL_FALSE
+#define HO_CHANGE_TIMERS KAL_TRUE
+
+#define DEFAULT_NGHBR_SRCH_WIN 10
+
+/*****************************************************************************
+ * Structure definitions
+ ****************************************************************************/
+
+/*****************************************************************************
+ * Prototypes
+ ****************************************************************************/
+void hoTCPowerUp (void);
+void hoTCInitialization (void);
+kal_uint8 hoTCGetHDMSeq (void);
+kal_uint8 hoTCGetFrameOffset (void);
+kal_uint8 hoTCGetTMulchan(void);
+kal_uint16 hoTCGetStrongestActivePn (void);
+void hoTCInitializeStrongestActivePn(void);
+
+kal_uint16 hoTCGetTAdd (void);
+kal_uint16 hoTCGetTDrop (void);
+kal_uint16 hoTCGetTComp (void);
+kal_uint16 hoTCGetTTDrop (void);
+PHDMData* hoTCGetPHDMData (void);
+void hoTCConfigThreshold (kal_uint8 tAdd, kal_uint8 tDrop, kal_uint8 tComp,
+ kal_uint8 tTDrop, kal_bool changeTimers);
+void hoTCAssignCodeChan (kal_uint8 codeChan, kal_uint8 frameOffset,
+ TCActiveList* activeList, kal_bool bandChannelChange);
+void hoTCAssignActiveSet (kal_uint8 numPilots, ActiveInitPilot activeInit[],
+ kal_uint8 frameOffset, TCActiveList* activeList, kal_bool bandChannelChange);
+void tcSetL1dFieldsECAM (kal_uint8 forRc, kal_uint8 revRc, kal_uint8 fpcSubchanGain,
+ kal_bool revFchGatingMode, kal_bool revPwrCntlDelayIncl,
+ kal_uint8 revPwrCntlDelay);
+
+void tcSetL1dChIndFields( kal_uint8 chInd,
+ kal_uint8 fpcFchInitSetpt, kal_uint8 fpcFchFer, kal_uint8 fpcFchMinSetpt, kal_uint8 fpcFchMaxSetpt,
+ kal_uint8 fpcDcchInitSetpt, kal_uint8 fpcDcchFer, kal_uint8 fpcDcchMinSetpt, kal_uint8 fpcDcchMaxSetpt, kal_bool fpcPriChan );
+
+void hoTCAssignActiveSetChInd01 (kal_uint8 numPilots, FcschExtAssignPilotRec01 activeInit[],
+ kal_uint8 frameOffset, kal_bool bandChannelChange );
+
+void hoTCAssignActiveSetChInd10 (kal_uint8 numPilots, FcschExtAssignPilotRec10 activeInit[],
+ kal_uint8 frameOffset, kal_bool bandChannelChange );
+
+void hoTCAssignActiveSetChInd11 (kal_uint8 numPilots, FcschExtAssignPilotRec11 activeInit[],
+ kal_uint8 frameOffset, kal_bool bandChannelChange);
+
+void hoTCAssignActiveSetExtChInd (kal_uint8 numPilots, FcschExtAssignPilotRec101 activeInit[],
+ kal_uint8 frameOffset, kal_bool bandChannelChange );
+
+void hoTCSoftHandoffCompleteInd (void);
+void hoTCHardHandoffCompleteInd (void);
+
+L1dTrafficChanStartMsgT* cpGetECAMParams(void);
+void cpClearECAMParams(void);
+
+FcschChIndType cpGetChInd(void);
+void cpSetChInd( const FcschChIndType chInd );
+FcschChIndType cpGetChIndfromExtChInd( TCExtChInd extChInd );
+
+void hoTCNeighborSetInit (void);
+void hoTCRemainingSetInit (void);
+void hoTCSendPilotSet (void);
+void hoTCNLUM (NLUMUData* data);
+void hoTCSetMaintenance (void);
+void hoTCPilotTimerTick (void);
+void hoTCHDM(HDMData* hdmData, RCPMData* geRadioConfigParms);
+void hoTCHandoffCompleteInd (void);
+void hoTCSCAM (SCAMData* scamData);
+kal_uint8 hoTCQ16toDb (kal_uint16 q16);
+kal_uint8 hoTCQ16to8thDb (kal_uint16 q16);
+kal_uint16 hoTCDbtoQ16 (kal_uint8 dB);
+
+void hoTCResetSoftSlope (void);
+void hoTCConfigIntercept (kal_uint8 softSlope, kal_int8 addIntercept,
+ kal_int8 dropIntercept);
+void hoTCSetActiveSet (kal_uint8 numPilots, ActivePilot activeSet[]);
+
+void hoPSMMPeriodicTimeout(void);
+void hoSetPeriodicPSMMPwrThresh (kal_uint8 minPilotPwrThresh);
+void hoSetPeriodicPSMMECIOThresh (kal_uint8 minPilotECIOThresh);
+void hoSetPeriodicPSMMPeriod (kal_uint32 period);
+kal_bool hoGetTfResetL2s(void);
+kal_bool hoGetTfResetFpcs(void);
+SysCdmaBandT hoGetTfCdmaBands(void);
+kal_uint16 hoGetTfCdmaChs(void);
+SysCdmaBandT hoGetSfCdmaBands(void);
+kal_uint16 hoGetSfCdmaChs(void);
+kal_bool hoGetPeriodicSearchs(void);
+void hoSetPeriodicSearchs(kal_bool periodicSearch);
+kal_bool hoGetCompleteSearchs(void);
+void hoSetHhoStart(kal_bool hhoStart);
+void hoRestoreParmBeforeHandoff(void);
+void hoFormatHOCM(kal_uint8 hoType);
+FTCActiveList hoGetActiveSetFromHOMsg (void);
+HOActiveRecord* findStrongestActive(void);
+kal_uint32 getActivePilotStrength(void);
+void getSetMaintenanceParams(kal_uint16* tAdd, kal_uint16* dynamicTAdd, kal_uint8* softSlope);
+void hoSetDelayedSerNegDuringMOTCInitFlag(kal_bool status);
+kal_bool hoGetDelayedSerNegDuringMOTCInitFlag(void);
+void pPilotReportProc(void);
+void hoSetHandoffDuringMOTCInitFlag(kal_bool status);
+#ifdef IS2000_REV_0
+void hoChanIdSet( kal_uint8 chInd );
+kal_uint8 hoChanIdGet( void );
+#endif
+
+#endif /*_HO_TC_H_ */
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/identity.h b/mcu/interface/protocol/as_c2k/1xrtt/identity.h
new file mode 100644
index 0000000..6653e8c
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/identity.h
@@ -0,0 +1,341 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Filename: identity.h
+ *
+ * Purpose: Define externally available (global) mobile station identity
+ * elements.
+ *
+ ****************************************************************************
+ *
+ * PVCS Header Information
+ *
+ * $Revision: 1.5 $
+ * $Author: hans $
+ *
+ * $Log: identity.h $
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ *
+ * 05 17 2017 peijun.zheng
+ * [MOLY00249027] [BIACNO][MT6763][New feature]C2K code release code modification
+ *
+ * C2k code release.
+ * Revision 1.5 2005/10/06 17:34:53 hans
+ * Merged the appropriate changes from the CBP4.05 CP SW baseline to address CR6049,CR7031,CR7032,CR7033,CR7034
+ * Revision 1.4 2005/03/18 10:24:52 bcolford
+ * CBP4.05 [4.21] to CBP6.1 [2.9.0] CP Software Merge.
+ * Revision 1.2 2004/08/13 10:03:29 agontar
+ * Removed T53 flag; added support for BC3; cleaned up logs
+ * Revision 1.3 2004/04/06 14:02:10 dstecker
+ * CBP6.1 release 1
+ * Revision 1.2 2004/03/25 12:09:34 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.2 2003/08/28 11:18:15 bcolford
+ * Update for merge.
+ * Revision 1.11 2003/05/21 17:11:22 byang
+ * CR#570: Replace compiler flag with IS2000A with IS2000_REV_0.
+ * Revision 1.10 2002/12/04 14:43:55 hans
+ * CR1648: OP mode setting i retrieved direct from ms cap db.
+ * Revision 1.9 2002/09/30 15:15:26 mshaver
+ * Changes to support the single NAM data structure type
+ * definition PswIs95NamT, of type packed.
+ * Revision 1.8 2002/06/06 13:12:53 chinh
+ * Changed and Added Copyright
+ * Revision 1.7 2002/01/17 17:18:36 akayvan
+ * Implemented Slotted Mode mods.
+ * Revision 1.6 2001/11/20 12:26:30 mclee
+ * include pswnam.h
+ * Revision 1.5 2001/11/13 15:37:30 byang
+ * Add function prototype declaration for cpValidatePRev().
+ * Revision 1.4 2001/07/27 16:33:09 mclee
+ * Nam Consolidation fix port from 3.0 to 4.0
+ * Revision 1.3 2001/07/26 14:35:11 bcolford
+ * Add reference for Nam which is used throughout the AMPS
+ * PE software
+ * Revision 1.1 2001/01/17 10:58:50 plabarbe
+ * Initial revision
+ * Revision 1.4 2000/12/22 11:45:44 byang
+ * Consolidate IS2000 global variables into the global structure
+ * IS2000_NETWORK_PARAMETERS.
+ * Revision 1.3 2000/12/05 17:45:11 byang
+ * Idle mode - IS2000A Addendum modifications.
+ * Revision 1.2 2000/11/13 14:25:59 byang
+ * IS-2000A Idle Mode and LAC intergration - Initial Release.
+ * Revision 1.1 2000/10/24 21:11:17Z fpeng
+ * Initial revision
+ * Revision 1.3 2000/08/23 22:09:05Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes.
+ * Revision 1.14 2000/01/17 22:27:19 scotvold
+ * TC Backward Compatibility changes.
+ *
+ * Revision 1.13 1999/05/19 16:28:08 mhayduk
+ * Added support for setting and retrieving value for T53 MSD
+ * P_REV 3+ setting.
+ *
+ * Revision 1.12 1999/04/12 13:31:46 scotvold
+ * Added T53 HSPD support.
+ * Added 95B SCAM support.
+ * Added 95B GHDM support and consolidated with EHDM.
+ *
+ * Revision 1.11 1999/02/20 00:39:52 scotvold
+ * Added message encryption support.
+ *
+ * Revision 1.10 1999/02/08 22:53:10 scotvold
+ * Lint fixes.
+ *
+ * Revision 1.9 1999/01/09 00:33:45 scotvold
+ * Added SSDUpdateInProgress flag interface.
+ *
+ * Revision 1.8 1998/11/20 16:21:21 mhayduk
+ * Moved opmode definitions into header file.
+ *
+ * Revision 1.7 1998/11/02 22:06:40 scotvold
+ * Compile switch for OP_MODEs and P_REV_IN_USEs.
+ *
+ * Revision 1.6 1998/10/20 23:58:23 mhayduk
+ * Added T53 support.
+ *
+ * Revision 1.5 1998/07/31 16:08:50 scotvold
+ * Wrapped Call History Parameter.
+ *
+ * Revision 1.4 1998/06/08 21:48:25 scotvold
+ * Updated for Release 0.06.
+ *
+ * Revision 1.3 1998/03/30 23:26:03 mhayduk
+ * Release 0.03.
+ *
+ * Revision 1.1 1997/11/06 17:49:24 mhayduk
+ * Initial revision
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+
+#ifndef _IDENTITY_H_
+
+#define _IDENTITY_H_ 1
+
+/*****************************************************************************
+ * Includes
+ ****************************************************************************/
+#include "pch_msg.h"
+#include "channel.h"
+#include "systime.h"
+#include "pswapi.h"
+
+/**********************************************************************
+ * Defines
+ **********************************************************************/
+#define CP_HASH_CDMA_CH 0
+#define CP_HASH_PAGE_CH 1
+#define CP_HASH_PAGE_SLOT 2
+#define CP_HASH_ACCESS_CH_PN 3
+#define CP_HASH_BCCH 4
+#define CP_HASH_FCCCH 5
+#define CP_HASH_QPCH 6
+#define CP_HASH_PI_R1 7
+#define CP_HASH_PI_R2 8
+
+/* Define table for mapping op modes by index - Table 7.7.2.3.2.15-3 */
+#define CP_OP_MODE_CDMA_PCS 0
+#define CP_OP_MODE_CDMA_CELLULAR 1
+#define CP_OP_MODE_ANALOG 2
+
+/* type of IMSI_O */
+typedef enum
+{
+ IMSI_O_TYPE_M = 0,
+ IMSI_O_TYPE_T = 1
+} IMSI_O_TYPE;
+
+#define MEID_SIZE 7
+
+typedef struct
+{
+ kal_uint16 type;
+ kal_uint8 meid[MEID_SIZE + 1];
+ kal_uint32 esn;
+} MsidInUseT;
+
+extern PswFTDParaT FTDPara;
+
+static const kal_uint16 CP_INVALID_PN = 0xFFFF;
+
+/**********************************************************************
+ * Global declarations associated with Mobile's identity and shared
+ * amongst files.
+ **********************************************************************/
+
+ /* NAM */
+ /* Consolidate PE and PSW NAM */
+extern PswIs95NamT Nam; /* NAM data */
+extern SecureDataStructT Sdata; /* Secure data */
+extern MsidInUseT _msidInUse; /* MEID/Pseudo ESN or ESN used by CP */
+/* IMSI */
+extern IMSIType IMSI_O; /* operational IMSI */
+extern kal_uint16 MCCs;
+extern kal_uint8 IMSI_11_12s;
+extern IMSI_O_TYPE IMSI_O_Type;
+
+#ifdef MTK_DEV_C2K_IRAT
+extern kal_uint16 MCC_1xOTA;
+#endif /* MTK_DEV_C2K_IRAT */
+
+/* System Parameters for control channels (globally viewed) */
+extern SysBandChannelT CDMA_CHs; /* contains CDMABANDs and CDMACHs */
+extern kal_uint16 PILOT_PNs;
+extern kal_uint8 interCorrSrchCountThresh;
+extern kal_uint8 interCorrectionCorrection;
+extern kal_uint8 achSleepSearchCount;
+
+ /* Begin: added systerm identity parameters from IS-2000A */
+
+typedef struct
+{
+ /* Forward Common Control Channel Parameters */
+ kal_uint8 FCCCHs;
+ FccchRate FCCCH_RATEs;
+ kal_uint8 FCCCH_CODE_RATEs;
+ kal_uint8 FCCCH_CODE_CHANs;
+ kal_uint8 FCCCH_IDs;
+ kal_uint8 NUM_FCCCHs;
+ kal_uint8 FCCCH_CODE_CHAN[ CP_MAX_FCCCH_CODE_CHAN ];
+
+ /* SR1 Parameters */
+ kal_uint8 BCNs;
+ BcchRate BRATs;
+ kal_uint8 BCCH_CODE_RATEs;
+ kal_uint8 BCCHs;
+ kal_bool SR1_BCCH_SUPPORTEDs;
+ Sr1TdModes SR1_TD_MODEs;
+ Sr1TdPowerLevel SR1_TD_POWER_LEVELs;
+ BcchRate SR1_BRAT_TDs;
+ kal_uint8 SR1_CRAT_TDs;
+ BcchRate SR1_BRAT_NON_TDs;
+ kal_uint8 SR1_CRAT_NON_TDs;
+ kal_uint8 BCCH_CODE_CHAN_TDs;
+ kal_uint8 BCCH_CODE_CHAN_NON_TDs;
+
+ /* SR3 Parameters */
+ kal_bool SR3_INCLs;
+ kal_uint8 SR3_PRIMARY_PILOTs;
+ kal_uint8 SR3_PILOT_POWER1s;
+ kal_uint8 SR3_PILOT_POWER2s;
+
+ /* BCast Parameters */
+ kal_uint8 NUM_BCCH_BCASTs;
+ BcchBcast BCCH_BCAST[ MAX_NUM_BCCH_BCAST ];
+
+ /* Quick Paging Channel Parameters */
+ kal_bool QPCH_SUPPORTEDs;
+ kal_uint8 NUM_QPCHs;
+ kal_uint8 QPAGECHs;
+ kal_uint8 ASSIGNED_QPAGECHs;
+ QpchRate QPCH_RATEs;
+ QpchTransPwr QPCH_POWER_LEVEL_PAGEs;
+ kal_bool QPCH_CCI_SUPPORTEDs;
+ QpchTransPwr QPCH_POWER_LEVEL_CONFIGs;
+ kal_bool QPCH_BI_SUPPORTEDs;
+ QpchTransPwr QPCH_POWER_LEVEL_BCASTs;
+
+ /* Network Feature Parameters */
+ kal_bool CS_SUPPORTEDs;
+ kal_bool SDB_SUPPORTEDs;
+} IS2000NetworkParameters;
+
+extern IS2000NetworkParameters IS2000_NETWORK_PARAMETERS;
+
+/* End: added systerm identity parameters from IS-2000A */
+
+extern kal_uint8 P_REVs;
+extern kal_uint8 MIN_P_REVs;
+extern kal_uint8 P_REV_IN_USEs;
+
+/* this group may only be local to eng_init.c */
+extern kal_uint8 SERVSYSs;
+
+/* Scratch Buffer */
+extern kal_uint8 scratch_[];
+
+/* Rx Msg Static Union */
+extern RxMsg rxMsg_;
+
+/**********************************************************************
+ * Prototypes of utilities used in setting/retrieving identity information.
+ **********************************************************************/
+
+void initializeIdentity( void );
+kal_bool retrieveRedirectionChannel( SysBandChannelT *channel);
+kal_bool cpIsOpModeSupported(kal_uint8 opMode);
+kal_uint32 divideIntegers(kal_uint32 div,kal_uint32 base,kal_uint32 upper,kal_uint32 *rem);
+kal_uint16 hash(kal_uint16 range,kal_uint8 application);
+void randomNumberSetSeed(kal_uint32 time);
+kal_uint32 randomInteger(kal_uint32 range);
+kal_uint16 TenBitsToDigital(kal_uint16 n);
+kal_bool cpAccessPsistDelay(kal_uint8 psist, kal_uint8 psist_emg,kal_uint8 accolc,kal_bool secondTerm,
+ kal_uint8 typePsist,kal_bool *fail);
+void cpInitializeCallHistoryParm (kal_uint8 count);
+kal_uint8 cpGetCallHistoryParm (void);
+void cpIncrementCallHistoryParm (void);
+
+void setSSDUpdateInProgress (kal_bool ssdUpdateState);
+kal_bool ssdUpdateInProgress (void);
+
+kal_bool iAm95 (void);
+kal_bool iAm95A (void);
+kal_bool iAmTSB74 (void);
+kal_bool iAmJSTD008 (void);
+kal_bool iAmT53Stream (void);
+kal_bool iAmT53Plus (void);
+kal_bool cpValidatePRev( const kal_uint8 pRev );
+
+#endif /* _IDENTITY_H_ */
+/**Log information: \main\CBP80\cbp80_cshen_scbp10098\1 2012-07-26 06:27:57 GMT cshen
+** cbp80_cshen_scbp10098**/
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/imsi.h b/mcu/interface/protocol/as_c2k/1xrtt/imsi.h
new file mode 100644
index 0000000..a255aa7
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/imsi.h
@@ -0,0 +1,117 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Filename: imsi.h
+ *
+ * Purpose: Definition of IMSI_TYPE and supporting routines.
+ *
+ ****************************************************************************
+ *
+ * PVCS Header Information
+ *
+ * $Revision: 1.2 $
+ * $Author: fpeng $
+ *
+ * $Log: imsi.h $
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ * Revision 1.2 2004/03/25 12:09:34 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:38:49 fpeng
+ * Initial revision
+ * Revision 1.3 2002/06/06 13:13:01 chinh
+ * Changed and Added Copyright
+ * Revision 1.2 2001/11/20 12:31:11 mclee
+ * Removed ImsiType struct
+ * Revision 1.1 2001/01/17 10:58:52 plabarbe
+ * Initial revision
+ * Revision 1.1 2000/10/24 14:11:17 fpeng
+ * Initial revision
+ * Revision 1.3 2000/08/23 22:09:08Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes.
+ * Revision 1.5 1999/01/07 16:29:24 mhayduk
+ * Added new "imsi class" element to structure to easily
+ * distinguish it.
+ *
+ * Revision 1.4 1998/05/27 17:16:28 scotvold
+ * Updated for Release 0.05.
+ *
+ * Revision 1.3 1998/03/30 23:26:03 mhayduk
+ * Release 0.03.
+ *
+ * Revision 1.1 1997/11/06 17:49:24 mhayduk
+ * Initial revision
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+
+#ifndef _IMSI_H_
+
+ #define _IMSI_H_ 1
+
+/*****************************************************************************
+ * Includes
+ ****************************************************************************/
+
+/*****************************************************************************
+ * Define
+ ****************************************************************************/
+ /* IMSI class length defintions, ie. addr_num range */
+ #define CP_CLASS1_MAX_SIZE 7
+ #define CP_IMSI_CLASS_0 0
+ #define CP_IMSI_CLASS_1 1
+
+ /* IMSI field widths are contained in field.h */
+
+/*****************************************************************************
+ * IMSI function prototypes
+ ****************************************************************************/
+
+#endif /*_IMSI_H_ */
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/itrace.h b/mcu/interface/protocol/as_c2k/1xrtt/itrace.h
new file mode 100644
index 0000000..36d4161
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/itrace.h
@@ -0,0 +1,224 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 2002-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*************************************************************************
+ *
+ * File Name: itrace.h
+ * Project: Protocol Engine tracing header file
+ *
+ * Original Author: Stuart Harker
+ * Creation Date: August 10, 1998
+ *
+ * Description:
+ *
+ * Restrictions:
+ * Dependencies:
+ *
+ **************************************************************************
+ **************************************************************************
+ *
+ * RCS Log Information
+ *
+ * $Revision: 1.2 $
+ *
+ * $Log: itrace.h $
+ *
+ * 10 27 2017 sue.zhong
+ * [MOLY00284146] [MT6763][SMO][C2K]Remove relative include path in source and header file
+ * .
+ *
+ *
+ ************************************************************************/
+
+#ifndef _ITRACE_H_
+#define _ITRACE_H_ 1
+
+#include "kal_public_defs.h"
+#include "kal_public_api.h"
+
+/* Each Protocol Engine module has a unique ID */
+/* ********* DO NOT MODIFY ********** */
+enum
+{
+ ISOLIB_ENGINE_ID, /* ISOLIB modules */
+ CP_ENGINE_ID, /* Call Processing engine */
+ RLP_ENGINE_ID, /* RLP protocol engine */
+ PPP_ENGINE_ID, /* PPP protocol engine */
+ TCPIP_ENGINE_ID, /* TCP/IP/UDP protocol engine */
+ NSPE_ENGINE_ID, /* NSPE protocol engine */
+ APPINT_ENGINE_ID, /* AppInt protocol engine */
+ LAYER1_ENGINE_ID, /* Layer 1 driver engine */
+ SMS_ENGINE_ID, /* SMS PE */
+ OTA_ENGINE_ID, /* OTA PE */
+ MEM_ENGINE_ID, /* MEM utility */
+ SCC_ENGINE_ID, /* SCC */
+ BIC_ENGINE_ID, /* Beta Interface Controller */
+ MB_ENGINE_ID,
+ MCM_ENGINE_ID,
+ CSS_ENGINE_ID, /*Custom System Selection*/
+ EXT_APPINT_ENGINE_ID, /*Extended AppInt protocol engine */
+ NUM_ENGINE_IDS /* this must be last */
+};
+typedef kal_uint8 ProtocolEngineID;
+
+/*****************************************************************************
+ * Trace definitions
+ ****************************************************************************/
+#define TOKEN_TRACING 0
+#define STRING_TRACING 1
+
+#ifdef TRACEON
+
+#define TRACE_TABLE(name,id,len) const char* name[len]
+
+#ifndef ITRACE_TYPE
+#define ITRACE_TYPE TOKEN_TRACING
+#endif
+
+/* enable Tracing in the engine code */
+#define TraceIt
+
+/* Trace levels; LEVEL0 = little detail; LEVEL5 = lots of detail */
+typedef enum
+{
+ LEVEL0=0,
+ LEVEL1,
+ LEVEL2,
+ LEVEL3,
+ LEVEL4,
+ LEVEL5
+} TraceLevel;
+
+
+/* this is the maximum number of categories per engine */
+#define MAX_NUM_TRACE_CATEGORIES 100
+
+
+/*****************************************************************************
+ * Trace Function Prototypes
+ ****************************************************************************/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#if (ITRACE_TYPE == TOKEN_TRACING)
+
+#define TRACE_INSTALL(s, i) static const kal_uint8 MyNameID = i;
+
+void engTraceEvent (const ProtocolEngineID engine_id,
+ const kal_uint8 cat, const kal_uint8 level,
+ const kal_uint8 moduleId, const kal_uint8 token,
+ kal_uint8 size1, kal_uint8 *var1,
+ kal_uint8 size2, kal_uint8 *var2);
+
+void engTraceIndexEvent (const ProtocolEngineID engineId,
+ const kal_uint8 cat, const kal_uint8 level,
+ const kal_uint8 modId, const kal_uint8 token,
+ kal_uint16 tableID, kal_uint16 index);
+
+void engTraceStringEvent (const ProtocolEngineID engine_id,
+ const kal_uint8 cat, const kal_uint8 level,
+ const kal_uint8 mod_id, const kal_uint8 token,
+ char *var1);
+
+void engTraceDataEvent (const ProtocolEngineID engineId,
+ const kal_uint8 cat, const kal_uint8 level,
+ const kal_uint8 moduleId, const kal_uint8 token,
+ int size, kal_uint8 *var1);
+
+#ifdef SYS_DEBUG_FAULT_FILE_INFO
+
+void engAssert (const ProtocolEngineID engineId, const kal_uint8 moduleId,
+ const char *filename, unsigned line);
+
+#else
+
+void engAssert (const ProtocolEngineID engineId, const kal_uint8 moduleId,
+ unsigned line);
+
+#endif /* SYS_DEBUG_FAULT_FILE_INFO */
+
+
+#else /* !TOKEN_TRACING */
+
+#define TRACE_INSTALL(s, i) static const char MyName[] = s;
+
+void engTraceEvent (const ProtocolEngineID engine_id,
+ const kal_uint8 cat, const kal_uint8 level,
+ const char *modName,
+ char *string, kal_uint8 size1, void *var1,
+ kal_uint8 size2, void *var2);
+
+void engTraceIndexEvent (const ProtocolEngineID engineId,
+ const kal_uint8 cat, const kal_uint8 level,
+ const char* modName,
+ char* string, const char* table[],
+ kal_uint16 index);
+
+void engTraceStringEvent (const ProtocolEngineID engine_id,
+ const kal_uint8 cat, const kal_uint8 level,
+ const char *modName,
+ char *string, char *var1);
+
+void engTraceDataEvent (const ProtocolEngineID engineId,
+ const kal_uint8 cat, const kal_uint8 level,
+ const char *modName,
+ char *str, int size, kal_uint8 *var1);
+
+void engAssert (const char *modName, unsigned line);
+
+#endif /* ITRACE_TYPE */
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#else /* !TRACEON */
+#define TRACE_INSTALL(s, i)
+
+#endif /* TRACEON */
+#endif /* _ITRACE_H_ */
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/layer2.h b/mcu/interface/protocol/as_c2k/1xrtt/layer2.h
new file mode 100644
index 0000000..a415d12
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/layer2.h
@@ -0,0 +1,288 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Module: layer2.h
+ *
+ * Purpose: Header file containing the structures for the layer 2 operation.
+ *
+ ****************************************************************************
+ *
+ * PVCS Header Information
+ *
+ * $Workfile$
+ * $Revision: 1.5 $
+ * $Modtime$
+ * $Author: wfu $
+ *
+ * $Log: layer2.h $
+ *
+ * 09 18 2020 yanfeng.xu
+ * [MOLY00559524] [Wingtech][Samsung][MT6765][N21][P200813-06136][SMC_Message][USC] CMAS containing Record Type is not received
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ *
+ * 05 17 2017 peijun.zheng
+ * [MOLY00249027] [BIACNO][MT6763][New feature]C2K code release code modification
+ *
+ * C2k code release.
+ *
+ * 11 09 2016 sue.zhong
+ * [MOLY00208435] [6293][C2K]Sync C2K code to UMOLYA TRUNK
+ * Update C2K PS code (1/2)
+ * Revision 1.5 2005/07/18 16:48:26 wfu
+ * Fix CR6696: add two new L2FTCState:L2_FTC_HARD_HANDOFF_INIT_ST and
+ * L2_FTC_HARD_HANDOFF_W_RTN_ON_FAIL_INIT_ST
+ * Revision 1.4 2005/03/18 11:44:42 hans
+ * Merged code changes from CBP4.05 revision 2.02 to CBP4.05 revision 4.21.
+ * Revision 1.3 2004/04/06 14:02:11 dstecker
+ * CBP6.1 release 1
+ * Revision 1.2 2004/03/25 12:09:37 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.2 2003/08/28 11:19:43 bcolford
+ * Update for merge.
+ * Revision 1.18 2003/08/01 13:33:26 mclee
+ * Fix CR2506 by removing all instances of CBP3 compile flag and dead code
+ * Revision 1.17 2003/05/21 17:11:34 byang
+ * CR#570: Replace compiler flag with IS2000A with IS2000_REV_0.
+ * Revision 1.16 2002/12/26 12:08:01 hans
+ * Conditional compile flag IS2000A replaced with IS_2000_REV_A and IS_2000_REV_0 for rev A and Rev 0 specific code.
+ * Revision 1.15 2002/09/26 17:10:05 dstecker
+ * Added prototype
+ * Revision 1.14 2002/08/29 14:07:02 dstecker
+ * Changed l2totalRxPower prototype
+ * Revision 1.13 2002/08/27 17:07:22 byang
+ * Add new frame category for DCCH only discontinous
+ * mode. Insert function prototype declaration for pinging the BS.
+ * Revision 1.12 2002/08/19 10:45:50 dstecker
+ * CBP4 candidate frequency implimentation
+ * Revision 1.11 2002/06/17 17:36:21 hans
+ * Incorrect conditional compilation around Mux1CatSigLen enum entry MUX1_CAT2_SIG_LEN and Mux2CatSigLen enum entry MUX1_CAT2_SIG_LEN removed together with the wrong values.
+ * Revision 1.10 2002/06/13 13:55:36 hans
+ * Statistics functions already disabled with ifdef removed.
+ * Revision 1.9 2002/06/06 13:13:27 chinh
+ * Changed and Added Copyright
+ * Revision 1.8 2002/06/04 20:06:23 hans
+ * Old statistics now handled by lmd disabled with ifdef's
+ * Revision 1.7 2002/03/28 18:24:21 hans
+ * is2000 rev 0 add 2, retrievable and settable parameters implemented.
+ * CR503: get retrievable parameter implemented.
+ * CR508: set retrievable parameter implemented
+ * Revision 1.6 2001/12/14 17:11:17 mclee
+ * prototype GetSyncPageCounts()
+ * Revision 1.5 2001/08/03 15:15:05 dstecker
+ * Modifications for IS2000 handoffs
+ * Revision 1.4 2001/06/21 13:30:26 yfang
+ * merged code from CBP3 to solve the layer2 message sequence mis-matching
+ * Revision 1.3 2001/05/29 14:42:42 akayvan
+ * Added declaration for getPCNPMReceivedstatus() per CR#20.
+ * Revision 1.2 2001/03/16 11:32:23 akayvan
+ * Traffic code phase1 added.
+ * Revision 1.1 2001/01/17 10:58:58 plabarbe
+ * Initial revision
+ * Revision 1.4 2000/12/01 10:47:33 chinh
+ * Modified LAC dsch for IS2000
+ * Revision 1.3 2000/11/14 01:06:24Z byang
+ * IS-2000A Idle Mode and LAC integration - Initial Release.
+ * Revision 1.2 2000/11/13 22:01:18Z hans
+ * Check-in for cbp4 phase 1 integration
+ * Revision 1.1.2.4 2000/11/11 01:47:26Z hans
+ * SDU length calculation is done to handle message with multiple records
+ * Revision 1.1.2.3 2000/11/08 00:17:57Z hans
+ * PchMessage structure is replaced by FcschMessage structure.
+ * New IS2000 PD is not recognized by L3 and is therefore masked out from MSG_TYPE before parsed on to L3.
+ * Revision 1.1.2.2 2000/11/01 02:07:25Z hans
+ * New structure fields added to PChMessage structure.
+ * New Layer 2 (LAC) function prototypes added.
+ * Revision 1.3.2.2 2000/10/13 02:01:52Z hans
+ * CBP4 phase1 LAC implementation
+ * LAC functionality executed before cpRunTheEngine() function call
+ * Revision 1.3.2.1 2000/08/23 22:09:16Z hans
+ * Duplicate revision
+ * Revision 1.3 2000/08/23 22:09:16Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes.
+ * Revision 1.2 2000/03/01 18:15:06Z rsattari
+ * Isotel release 2.3 updates.
+ * Revision 1.20 2000/03/01 22:37:35 gfrye
+ * Added "somTime" to PChMessage structure to store the time at
+ * which the beginning of the message was received. Broadcast SMS
+ * needs this time for Broadcast pages to calculate when to expect
+ * a broadcast message.
+ *
+ * Revision 1.19 2000/01/17 22:27:19 scotvold
+ * TC Backward Compatibility changes.
+ *
+ * Revision 1.18 1999/08/18 23:34:21 gfrye
+ * Added l2PageMonitorInit prototype to reset the new time stamp based
+ * Page channel monitoring scheme.
+ *
+ * Revision 1.17 1999/06/16 00:37:03 scotvold
+ * Reset Power Control Counters after send PMRM.
+ *
+ * Revision 1.16 1999/06/04 23:27:26 scotvold
+ * New Message Transmitter.
+ *
+ * Revision 1.15 1999/05/18 02:12:47 mhayduk
+ * Fixed up comment.
+ *
+ * Revision 1.14 1998/12/02 00:07:12 scotvold
+ * Moved statistic counting here from stats.c
+ *
+ * Revision 1.13 1998/11/20 16:43:38 scotvold
+ * Fixed T53 ifdef.
+ *
+ * Revision 1.12 1998/10/20 23:58:23 mhayduk
+ * Added T53 support.
+ *
+ * Revision 1.11 1998/09/11 02:37:05 scotvold
+ * Candidate Frequency API changes.
+ *
+ * Revision 1.10 1998/08/14 23:48:40 scotvold
+ * Removed numPreamble from Layer 2.
+ *
+ * Revision 1.9 1998/07/27 17:25:26 scotvold
+ * Added external control of Power Control processing.
+ *
+ * Revision 1.8 1998/07/20 23:22:46 scotvold
+ * Added state machine tracing support.
+ *
+ * Revision 1.7 1998/07/14 17:23:38 scotvold
+ * FTC Supervision changes.
+ *
+ * Revision 1.6 1998/07/03 16:57:30 dfischer
+ * New load
+ *
+ * Revision 1.5 1998/06/08 21:48:25 scotvold
+ * Updated for Release 0.06.
+ *
+ * Revision 1.4 1998/05/01 18:13:54 scotvold
+ * Update for release 0.04
+ *
+ * Revision 1.3 1998/03/30 23:26:03 mhayduk
+ * Release 0.03.
+ *
+ * Revision 1.1 1997/11/06 17:49:24 mhayduk
+ * Initial revision
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+
+#ifndef _LAYER2_H_
+
+ #define _LAYER2_H_ 1
+
+#include "sysapi.h"
+#include "pswairmsg.h"
+/*****************************************************************************
+ * Function prototypes
+ ****************************************************************************/
+void l2SyncControl(kal_bool control);
+SyncChannelMessage* l2BuildSyncMessage(SyncFrame *frame);
+
+void l2PageControl(kal_bool control);
+FcschMessage* l2BuildPageMessage(PageFrame *frame);
+
+kal_bool l2OhdMessageDuplicate(FcschMessage *msg);
+kal_bool chechForOVHMsg(kal_uint8 msgType);
+
+kal_bool sduOffset(FcschMessage *fcschMsg, kal_uint16 *index);
+kal_bool sduLength(FcschMessage *fcschMsg, kal_uint16 *index);
+kal_bool getExtMsgLengthInd(kal_uint8 ChanType);
+
+
+void l2PageMonitorInit(void);
+
+/* Traffic Channel Interface */
+void l2FTCStart (void);
+void l2FTCStop (void);
+FTCMessage* l2FTCFrame(TCFrame* frame);
+void l2FTCHardHandoff (void);
+void l2FTCHardHandoffWReturnOnFailure(void);
+void l2FTCSupervision (kal_bool control);
+void l2FTCSupervisionFadeTimeout (void);
+void l2FTCPowerControlInit (void);
+void l2FTCPowerControlCounterReset (void);
+void l2FTCPowerControl (kal_bool control);
+void l2FTCPowerControlParm(kal_uint8 pwrRepThresh, kal_uint8 pwrRepFrames,
+ kal_bool pwrThreshEnable, kal_bool pwrPeriodEnable, kal_uint8 pwrRepDelay);
+PCNPMData* getL2FTCPowerControlParms(void);
+kal_bool* getPCNPMReceivedstatus(void);
+void l2FTCCandFreqSearchParm (kal_int8 sfRxPwrThresh, kal_int8 diffRxPwrThresh);
+kal_int8 l2FTCGetAvgSFRxPwr (void);
+void l2FTCGetTotalPwr(kal_uint8* sfTotalRxPwr/*, kal_uint8* cfTotalRxPwr*/);
+
+void l2RxAcknowledgementProceduresReset (void);
+void l2TCTransmitterControl(TXControl txControl);
+
+void l2GetSyncPageCounts(kal_uint8 *GoodMsgCount, kal_uint8 *BadMsgCount);
+
+kal_uint8 l2totalRxPower (kal_int16 actualRxPwr);
+void l2CpcchPingBs( void );
+void l2FTCHardHandoffTimerExpired (void);
+L2_STATE l2GetPageState (void);
+kal_uint8 l2GetPageMessageLength (void);
+kal_uint8 l2GetPageMessageType (void);
+kal_uint32 calcSumOfEcIoActivePilots(void);
+/* Misc */
+extern kal_uint16 cpCommonFieldWidth(void);
+void l2ResetGoodPageMessageRcvd(void);
+kal_bool l2GoodPageMessageReceived(void);
+void l2Set1xAdvForFchBlankingParms(kal_uint8 rcpmN2mInd, kal_uint8 rpcmDutyCycleIdx, SysActionTimeT actionTime);
+kal_bool l2ExtractRecordsAndMsgTypeFromGEM (kal_uint8* buf, kal_uint16 *index, kal_uint8 *msgType);
+#ifdef MTK_CBP
+kal_bool l2PchChanIsGood(void);
+void l2ResetPchHalfFrames(void);
+#endif
+void PswOTAMsgDhlPeerPrint(kal_uint32 traceid, kal_bool dirFwd, kal_uint8 chanType, kal_uint8 NumByte, kal_uint8* data,kal_uint8 ForChType,kal_uint8 P_REV_IN_USEs);
+
+void resetCrcErrAndMidSciNumInProbes(void);
+void IncCrcErrAndMidSciNumInProbes(void);
+kal_uint32 GetCrcErrAndMidSciNumInProbes(void);
+
+#endif /* _LAYER2_H_ */
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/loc_api.h b/mcu/interface/protocol/as_c2k/1xrtt/loc_api.h
new file mode 100644
index 0000000..89770e2
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/loc_api.h
@@ -0,0 +1,226 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 2002-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************
+ *
+ * Module: loc_api.h
+ *
+ * Purpose: File contains all structures and prototypes used
+ * in loc_api.c
+ *
+ ****************************************************************
+ * PVCS Header Information
+ *
+ * $Revision: 1.3 $
+ * $Author: wavis $
+ *
+ * $Log: loc_api.h $
+ *
+ * 08 09 2017 johnny.ding
+ * [MOLY00257917] [MT6763][Umolya Trunk]merge code to Umolya Trunk
+ *
+ * merge code to Umolya trunk.
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ *
+ * 05 10 2017 johnny.ding
+ * [MOLY00247455] [6293][C2K][PS]Change KAL timer API to event scheduler API
+ *
+ * change kal timer to event schedule.
+ * Revision 1.3 2006/01/03 11:54:03 wavis
+ * Merging in VAL.
+ * Revision 1.2.1.2 2005/11/07 15:13:16 wavis
+ * Merging in VAL/FSM.
+ * Revision 1.2 2004/03/25 12:08:18 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:38:16 fpeng
+ * Initial revision
+ * Revision 1.4 2002/08/25 20:13:39 amala
+ * Fixed AFLT CRs 1107, & 1109
+ * Revision 1.3 2002/08/08 14:52:33 mclee
+ * Added AGPS support & fixed AFLT bugs.
+ * Revision 1.2 2002/06/06 10:56:57 ameya
+ * Updated cpoyright information.
+ * Revision 1.1 2002/04/18 09:55:38 mclee
+ * Initial revision
+ * Revision 1.1 2002/03/19 10:58:03 mclee
+ *
+ ****************************************************************
+ ***************************************************************/
+#ifndef _LOC_API_H
+#define _LOC_API_H 1
+
+#include "bitbash.h"
+
+#include "cptimer.h"
+#include "valapi.h"
+#include "pswapi.h"
+#include "hlpapi.h"
+#include "loc_pars.h"
+#include "loclist.h"
+#include "locsmc.h"
+#include "loctimer.h"
+#include "loclistmgr.h"
+
+/* Defines */
+
+/* Structures */
+
+/* Prototypes */
+
+void LocIS801SessionStartMsg(PswIs801SessionStartMsgT *MsgDataPtr);
+void LocSendMsgReq(SessionType *Sess, kal_uint8 *data, kal_uint16 len);
+void LocIS801TCPBFwdDataRespInfoMsg(PswIs801TcpbFwdDataRespInfoMsgT* MsgDataPtr);
+void LocIS801TCPBRevDataRespInfoMsg(void);
+void LocPosRejectMsg(PswPosRejectMsgT *MsgDataPtr);
+void LocAfltMeasurementsMsg(PswPosAfltMeasurementMsgT *MsgDataPtr);
+void LocAfltAckAbortMsg(PswPosAfltAckAbortMsgT *MsgDataPtr);
+void LocAfltAbortReqMsg(PswPosAfltAbortReqMsgT *MsgDataPtr);
+void LocOrigCancel(PswIs801SessCancelReqMsgT *MsgDataPtr);
+void LocPdeAbort(void);
+void LocPdePRMRsp(PswPseudorangeMsmtRspMsgT *MsgP);
+void LocPdeSessionEndRsp(void);
+void LocPdeInopMsg(void);
+
+void LocRcvMsgInd(kal_uint8 *data, kal_uint16 length);
+void LocMsgConfirmInd(kal_bool success);
+void LocDisconnectInd(void);
+void LocConnectInd(void);
+void LocE911(kal_bool mode);
+void LocOutReqTimeOut(SessionType *Sess);
+void LocDiscardSession(SessionType *Sess, SessionStatusE Status);
+void LocPPMFixTimer(kal_uint32 Id);
+void LocPPMPrefQualTimer(kal_uint32 PPMId);
+void LocPRMFixTimer(kal_uint32 Id);
+void LocSessFixTimer(kal_uint32 Id);
+void LocAcqAsstFresh(void);
+void LocBSAlmFresh(void);
+kal_bool LocTCPsendOK(void);
+void LocApiInit(void);
+kal_bool LocAGPSCapable(void);
+kal_bool LocMSOrigCapable(void);
+kal_bool LocAFLTCapable(void);
+kal_uint8 LocAGpsSessId(void);
+void LocErrorToVal(ValLocErrorTypes Reason);
+SessionType* LocGetSessionPtr(kal_uint8 SessId);
+void LocSetPrivacyMode( kal_bool mode );
+kal_bool LocGetPrivacyMode( void );
+void LocGpsDebugInfoMsg(PswGpsDebugInfoCmdMsgT *MsgP);
+void LocEtsTestCmd(PswLocStateChangedMsgT* MsgP);
+ void LocSendAfltMsgMsgRst(PswPosAfltMeasurementMsgT *MsgDataPtr, SessionType *Sess);
+ void LocSendLecPrmMsg(SessionType *Sess,PswPseudorangeMsmtRspMsgT *MsgP);
+ void LocSendOutPktData(SessionType *Sess);
+#ifdef MTK_DEV_GPSONE_ON_LTE
+kal_bool LocSend2ValTcpConnReq(SessionType *Sess);
+#else
+kal_bool LocSend2ValTcpConnReq(void);
+#endif
+void LocSetAGpsState(SessionType *Sess, kal_uint8 event, void *msgBuffer);
+kal_bool LocSend2ValTcpCloseReqMsg(void) ;
+void LocSend2ValSessDoneMsg(SessionType *Sess, SessionStatusE Status, kal_uint8 SessStatus);
+void LocInitAgpsState(SessionType *Sess);
+void LocSendLecLocReqMsg(SessionType *Sess, kal_bool bCallback);
+void LocSendLecLocEndMsg(SessionType *Sess, kal_bool Flag);
+kal_bool LocLecSendOK(void);
+void LocSessDone(SessionType *Sess, SessionStatusE Status);
+kal_bool LocSMSsendOK(void);
+void LocEphAlmSysRestore(PswIs801EphAlmSystimeMsgT* MsgDataPtr);
+void LocLecLocRsp(PswLocRspDataT * MsgDataPtr);
+void LocLecGpsReady(void);
+kal_bool LocL1dSendOK(void);
+kal_bool LocLecSendOK(void);
+kal_bool LocSMSsendOK(void);
+void LocResetAssis(PswGpsResetAssistMsgT* MsgDataPtr);
+void LocuserMode(void);
+void LocltsMode(void);
+void LoctestMode(void);
+void LocNmeaStream(PswGpsNmeaStreamMsgT* MsgDataPtr);
+void LocMssDone(PswIs801MssDoneMsgT* MsgDataPtr);
+void LocStartModeSet(PswLocStartModeSetMsgT* MsgDataPtr);
+void LocFixModeGet(PswValLocFixModeGetMsgT * MsgDataPtr);
+void LocLecStartModeSet(kal_uint8 LECRestartMode);
+void LocLecPendStartModeSet(kal_uint8 LECRestartMode);
+kal_bool LocLecStartModeMsgPending(void);
+void LocClearOutputInfo(SessionType* sess);
+void LocSendHscAlternateAfcMsg(kal_uint8 Enable);
+void LocFullTimeGet(void);
+void LocRestartMss(PswValRestartMsgT* MsgDataPtr);
+void LocEnterLecReadyState(void);
+void LocSetHlpInactivityTimer(kal_uint32 Interval);
+void Loc1xNetworkAvailInd(void);
+kal_bool LocSendUpdatedAfltPilotSet(kal_uint32 Id);
+void LocLecFrameSysncDone(void);
+void LocCdmaSystemReq(void);
+void LocNmeaOutputSet(kal_bool enable);
+void LocAssistReqMsg(PswAssistReqT* MsgDataPtr);
+void LocPrefRespQualTimer(kal_uint8 Id);
+void LocTcpConnStatus(kal_bool success);
+void LocOutReqTimerMsg(kal_uint8 Id);
+void LocCdmaSystemReadyReq(void);
+void LocMpcConnStatusMsg(PswIs801MpcConnStatusMsgT* MsgDataPtr);
+void Loc60SecTimerMsg(void);
+kal_bool LocSendSessEnd2Pde(SessionType *Sess);
+void LocCdmaSysUnavail(kal_uint16 SessId);
+void LocSendLecSysReadyMsg(kal_bool bReady);
+void LocHandleSysReadyReq(SessionType *Sess);
+kal_uint8 LocEndSess(SessionType* sess);
+void LocPreemptionTimerExp(void);
+void LocCustIdSet(kal_uint8 Id);
+kal_uint8 LocCustIdGet(void);
+#ifdef MTK_CBP
+void LocSetSysParaInfo(SysCdmaBandT band_class,
+ kal_uint16 cdma_freq,
+ kal_uint16 pilot_pn,
+ kal_uint16 sid,
+ kal_uint16 nid,
+ kal_uint16 base_id,
+ kal_uint32 base_lat,
+ kal_uint32 base_long);
+void LocSetMsRefTime(SysCdmaBandT band, kal_uint16 channel, kal_uint16 pilot_pn);
+#endif
+void LocIs801FlowMsg(LocSrvTraceIds traceId, kal_uint16 msgType);
+
+#endif /* _LOC_API_H */
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/loc_bs_request.h b/mcu/interface/protocol/as_c2k/1xrtt/loc_bs_request.h
new file mode 100644
index 0000000..3321db3
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/loc_bs_request.h
@@ -0,0 +1,105 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 2002-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************
+ *
+ * Module: loc_bs_request.h
+ *
+ * Purpose: File contains all structures and prototypes used
+ * in loc_bs_request.c
+ *
+ ****************************************************************
+ * PVCS Header Information
+ *
+ * $Revision: 1.2 $
+ * $Author: fpeng $
+ *
+ * $Log: loc_bs_request.h $
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ *
+ * 07 04 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * ::KAL type - L3, folder ps
+ * Revision 1.2 2004/03/25 12:08:19 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:38:17 fpeng
+ * Initial revision
+ * Revision 1.4 2002/10/25 16:08:55 amala
+ * In struct PRM_PDE_STRUCT, added field: kal_bool MobOffsetIncl,
+ * for CR 1108 fix, AGPS MS System Time Offset correction.
+ * Revision 1.3 2002/08/08 14:52:50 mclee
+ * Added AGPS support & fixed AFLT bugs.
+ * Revision 1.2 2002/06/06 10:57:11 ameya
+ * Updated cpoyright information.
+ * Revision 1.1 2002/04/18 09:56:19 mclee
+ * Initial revision
+ * Revision 1.1 2002/03/19 10:58:03 mclee
+ *
+ ****************************************************************
+ ***************************************************************/
+#ifndef _LOC_BS_REQUEST_H
+#define _LOC_BS_REQUEST_H 1
+
+#include "loc_pars.h"
+
+/* Prototypes */
+void BSReqMSInfo(kal_uint8 *data, kal_uint16 startBit, SessionType *sess);
+kal_bool BSReqPilotPhaseMeas(kal_uint8 *data, kal_uint16 startBit, SessionType *sess);
+kal_bool BSReqPseudoRMeas(kal_uint8 *data, kal_uint16 startBit, kal_uint8 Len, SessionType *sess);
+void BSReqCancel(kal_uint8 *data, kal_uint16 startBit, SessionType *sess);
+void PPMPrefQualTimeout(kal_uint8 PPMId);
+kal_uint8 AssignPPMId(SessionType *Sess);
+kal_bool startPrefRespQualTimer(kal_uint8 PPMid, kal_uint8 PrefRespQual);
+void stopPrefRespQualTimer(kal_uint8 PPMid);
+void SendAfltPilotSet(SessionType *Sess);
+void SendPDEPRMReq(SessionType *Sess);
+kal_bool PPMpendCheck(kal_uint8 SessId);
+kal_bool PRMpendCheck(kal_uint8 SessId);
+kal_bool LecPowerOnReq(SessionType *Sess, kal_bool bPrmReqInc);
+kal_bool LocSendPpMReq(SessionType *Sess);
+void ResetPPMId(kal_uint8 i);
+#endif /* _LOC_BS_REQUEST */
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/loc_bs_response.h b/mcu/interface/protocol/as_c2k/1xrtt/loc_bs_response.h
new file mode 100644
index 0000000..f136a7a
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/loc_bs_response.h
@@ -0,0 +1,107 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 2002-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************
+ *
+ * Module: loc_bs_response.h
+ *
+ * Purpose: File contains all structures and prototypes used
+ * in loc_bs_response.c
+ *
+ ****************************************************************
+ * PVCS Header Information
+ *
+ * $Revision: 1.2 $
+ * $Author: fpeng $
+ *
+ * $Log: loc_bs_response.h $
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ * Revision 1.2 2004/03/25 12:08:19 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:38:17 fpeng
+ * Initial revision
+ * Revision 1.4 2002/08/25 20:13:55 amala
+ * Fixed AFLT CRs 1107, & 1109
+ * Revision 1.3 2002/08/08 14:53:04 mclee
+ * Added AGPS support & fixed AFLT bugs.
+ * Revision 1.2 2002/06/06 10:57:23 ameya
+ * Updated cpoyright information.
+ * Revision 1.1 2002/04/18 09:56:55 mclee
+ * Initial revision
+ * Revision 1.1 2002/03/19 10:58:03 mclee
+ *
+ ****************************************************************
+ ***************************************************************/
+#ifndef _LOC_BS_RESPONSE_H
+#define _LOC_BS_RESPONSE_H 1
+
+#include "loc_pars.h"
+
+#define ALM_FLAG 0x01
+#define EPH_FLAG 0x02
+
+/* Prototypes */
+void BSProvInfo(kal_uint8 *data, kal_uint16 startBit, SessionType *sess, kal_bool UnSol);
+void BSReject(kal_uint8 *data, kal_uint16 startBit, SessionType *sess, kal_bool UnSol);
+void BSAlmanac(kal_uint8 *data, kal_uint16 startBit, SessionType *sess, kal_bool UnSol);
+void GPSAcqAssist(kal_uint8 *data, kal_uint16 startBit, SessionType *sess, kal_uint8 Len, kal_bool UnSol);
+void GPSLocAssist_sCoord(kal_uint8 *data, kal_uint16 startBit, SessionType *sess, kal_bool UnSol);
+void GPSLocAssist_cCoord(kal_uint8 *data, kal_uint16 startBit, SessionType *sess, kal_bool UnSol);
+void GPSSensAssist(kal_uint8 *data, kal_uint16 startBit, SessionType *sessd, kal_uint8 Len, kal_bool UnSol);
+void GPSAlmanac(kal_uint8 *data, kal_uint16 startBit, SessionType *sess, kal_bool UnSol, kal_uint16 len);
+void GPSEphemeris(kal_uint8 *data, kal_uint16 startBit, SessionType *sess, kal_bool UnSol, kal_uint16 len);
+void GPSNavMsgBits(kal_uint8 *data, kal_uint16 startBit, SessionType *sess, kal_bool UnSol);
+void BSLoc(kal_uint8 *data, kal_uint16 startBit, SessionType *sess, kal_bool UnSol, kal_uint16 len);
+void GPSAlmanacCorr(kal_uint8 *data, kal_uint16 startBit, SessionType *sess, kal_bool UnSol);
+void GPSSatHealthInfo(kal_uint8 *data, kal_uint16 startBit, SessionType *sess, kal_bool UnSol);
+kal_bool ManualBSAlmanac(SessionType *sess);
+void LocGpsBased801TDataSend(kal_uint8 *data, kal_uint16 len, kal_uint32 msgId);
+kal_bool ManualBSAlmanac(SessionType *sess);
+void LocResetEphAlmData(kal_uint8 flag);
+void LocAlmEhpUpdateState(void);
+void LocSendAlmEhpUpdateMsg(void);
+#endif /* _LOC_BS_RESPONSE_H */
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/loc_ms_request.h b/mcu/interface/protocol/as_c2k/1xrtt/loc_ms_request.h
new file mode 100644
index 0000000..199b86a
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/loc_ms_request.h
@@ -0,0 +1,99 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 2002-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************
+ *
+ * Module: loc_ms_request.h
+ *
+ * Purpose: File contains all structures and prototypes used
+ * in loc_ms_request.c
+ *
+ ****************************************************************
+ * PVCS Header Information
+ *
+ * $Revision: 1.2 $
+ * $Author: fpeng $
+ *
+ * $Log: loc_ms_request.h $
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ * Revision 1.2 2004/03/25 12:08:20 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:38:18 fpeng
+ * Initial revision
+ * Revision 1.3 2002/08/08 14:53:15 mclee
+ * Added AGPS support & fixed AFLT bugs.
+ * Revision 1.2 2002/06/06 10:57:31 ameya
+ * Updated cpoyright information.
+ * Revision 1.1 2002/04/18 09:57:48 mclee
+ * Initial revision
+ * Revision 1.1 2002/03/19 10:58:03 mclee
+ *
+ ****************************************************************
+ ***************************************************************/
+#ifndef _LOC_MS_REQUEST_H
+#define _LOC_MS_REQUEST_H 1
+
+
+/* Prototypes */
+void MSLocRespReq(SessionType *Sess, kal_bool H_Req, kal_bool C_Req, kal_bool V_Req);
+void MSBSCapReq(SessionType *Sess);
+void MSBSAlmaReq(SessionType *Sess, kal_bool ExtAlm);
+void MSAcqAssistReq(SessionType *Sess, kal_bool Dopp, kal_bool AddDopp, kal_bool CodePhParm, kal_bool AzEl);
+void MSSensAssistReq(SessionType *Sess);
+void putResv4Bits(void);
+void LocSendMSLocRespReq(SessionType *Sess, kal_bool H_Req, kal_bool C_Req, kal_bool V_Req);
+void LocSendMSBSCapReq(SessionType *Sess);
+void LocSendMSBSAlmaReq(SessionType *Sess, kal_bool ExtAlm);
+void LocSendMSAcqAssistReq(SessionType *Sess, kal_bool Dopp, kal_bool AddDopp, kal_bool CodePhParm, kal_bool AzEl);
+void LocSendMSSensAssistReq(SessionType *Sess);
+void LocSendMSGPSEphReq(SessionType *Sess, kal_bool AB_PAR_REQ);
+void MSSendGpsEphReq(SessionType *Sess);
+void MSSendGpsAlmReq(SessionType *Sess);
+
+void LocSendMSGPSAlmReq(SessionType *Sess);
+
+#endif /* _LOC_MS_REQUEST_H */
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/loc_ms_response.h b/mcu/interface/protocol/as_c2k/1xrtt/loc_ms_response.h
new file mode 100644
index 0000000..7bad02f
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/loc_ms_response.h
@@ -0,0 +1,117 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 2002-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************
+ *
+ * Module: loc_ms_response.h
+ *
+ * Purpose: File contains all structures and prototypes used
+ * in loc_ms_response.c
+ *
+ ****************************************************************
+ * PVCS Header Information
+ *
+ * $Revision: 1.2 $
+ * $Author: fpeng $
+ *
+ * $Log: loc_ms_response.h $
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ *
+ * 07 04 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * ::KAL type - L3, folder ps
+ * Revision 1.2 2004/03/25 12:08:20 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:38:18 fpeng
+ * Initial revision
+ * Revision 1.6 2002/10/29 10:54:10 mclee
+ * Sess End Modification
+ * Revision 1.5 2002/10/25 16:09:16 amala
+ * In function, MSProvPilotPhaseMeas, changed TimeRefMS type from kal_int32 to kal_uint16, for fixing error in AFLT MS Time Reference calculation.
+ * Revision 1.4 2002/10/07 16:06:26 mclee
+ * Change struct AFLTPilotMeas to include PNphase. Change kal_uint16 RmsErrPhase to kal_int16
+ * Revision 1.3 2002/08/08 14:53:25 mclee
+ * Added AGPS support & fixed AFLT bugs.
+ * Revision 1.2 2002/06/06 10:57:40 ameya
+ * Updated cpoyright information.
+ * Revision 1.1 2002/04/18 09:58:30 mclee
+ * Initial revision
+ * Revision 1.1 2002/03/19 10:58:03 mclee
+ *
+ ****************************************************************
+ ***************************************************************/
+#ifndef _LOC_MS_RESPONSE_H
+#define _LOC_MS_RESPONSE_H 1
+
+#include "loc_pars.h"
+
+/* Prototypes */
+void MSProvInfo(SessionType *sess, kal_bool UnSol);
+void MSProvPilotPhaseMeas(SessionType *Sess, kal_uint16 TimeRefMS, kal_int16 MobOffset, kal_uint16 RefPN, \
+ kal_uint16 RefPilotStr, kal_uint8 NumPilots, AFLTPilotMeas *ppm, kal_bool UnSol);
+void MSProvPseudorangeMeas(SessionType *Sess, kal_uint8 Len, kal_uint8 *Data, kal_bool UnSol);
+void MSProvCancelAck(SessionType *Sess, BS_ReqTypes elem, kal_bool noOutReq, kal_bool UnSol);
+void MSReject(SessionType *Sess, BS_ReqTypes Type, Loc_RejectReason rejReason, kal_bool UnSol);
+void MSLocResp(SessionType *Sess, PswLocRspDataT *LocRspMsg);
+void putResv3Bits(void);
+void LocSendMsProvInfo(SessionType *Sess, kal_bool UnSol);
+void LocSendMSProvCancelAck(SessionType *Sess, BS_ReqTypes elem, kal_bool noOutReq, kal_bool UnSol);
+void LocSendMSReject(SessionType *Sess, BS_ReqTypes Type, Loc_RejectReason rejReason, kal_bool UnSol);
+void LocSendPPMRsp(SessionType *Sess,PswPosAfltMeasurementMsgT *MsgDataPtr);
+void LocSendPRMRsp(SessionType *Sess,PswPseudorangeMsmtRspMsgT *MsgP);
+void LocSendLocResp(SessionType *Sess, void *msgBuffPtr);
+void LocEncodePpmRsp( PswPosAfltMeasurementMsgT *MsgDataPtr );
+#ifdef MTK_CBP
+void MSSysInfo(SessionType *sess, kal_bool UnSol);
+void MSTimeOffset(SessionType *sess, kal_bool UnSol);
+void LocSendMsSysInfo(SessionType *Sess, kal_bool UnSol);
+void LocSendMsTimeOffset(SessionType *Sess, kal_bool UnSol);
+
+#endif
+
+#endif /* _LOC_MS_RESPONSE_H */
+
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/loc_pars.h b/mcu/interface/protocol/as_c2k/1xrtt/loc_pars.h
new file mode 100644
index 0000000..3c3e929
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/loc_pars.h
@@ -0,0 +1,562 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 2002-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************
+ *
+ * Module: loc_pars.h
+ *
+ * Purpose: File contains all structures and prototypes used
+ * in loc_pars.c
+ *
+ ****************************************************************
+ * PVCS Header Information
+ *
+ * $Revision: 1.2 $
+ * $Author: fpeng $
+ *
+ * $Log: loc_pars.h $
+ *
+ * 08 09 2017 johnny.ding
+ * [MOLY00257917] [MT6763][Umolya Trunk]merge code to Umolya Trunk
+ *
+ * merge code to Umolya trunk.
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ *
+ * 07 04 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * ::KAL type - L3, folder ps
+ *
+ * 12 01 2016 sue.zhong
+ * [MOLY00213777] [6293][C2K]Sync C2K code to UMOLYA TRUNK(W1648)
+ * Update C2K source
+ * Revision 1.2 2004/03/25 12:08:21 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.2 2003/08/28 10:06:22 bcolford
+ * Update for merge.
+ * Revision 1.6 2003/06/27 12:12:27 mclee
+ * Clean up traces
+ * Revision 1.5 2002/10/31 18:24:32 amala
+ * Changed RMS Error Phase parameter type to kal_uint8.
+ * Revision 1.4 2002/10/07 16:06:47 mclee
+ * Change struct AFLTPilotMeas to include PNphase. Change kal_uint16 RmsErrPhase to kal_int16
+ * Revision 1.3 2002/08/08 14:53:37 mclee
+ * Added AGPS support & fixed AFLT bugs.
+ * Revision 1.2 2002/06/06 10:57:49 ameya
+ * Updated cpoyright information.
+ * Revision 1.1 2002/04/18 09:59:04 mclee
+ * Initial revision
+ * Revision 1.1 2002/03/19 10:58:03 mclee
+ *
+ ****************************************************************
+ ***************************************************************/
+#ifndef _LOC_PARS_H
+#define _LOC_PARS_H 1
+
+/* Includes */
+#include "pilots.h"
+#include "pswapi.h"
+#include "locsmc.h"
+#include "valapi.h"
+/* Defines */
+/* Currently planning to support Max 3 simultaneous sessions.
+ * If MAX_SESS_SUPPORTED increases more response element timers
+ * will need to be added in cptimers.h
+ */
+#define MAX_SESS_SUPPORTED 4
+#define LOC_PARS_BUFF_SIZE 250
+#define LOC_SEND_BUFF_SIZE 200
+#define MAX_ASSIST_SIZE 250
+
+#define NULL_VALUE 0xffffffff
+
+#define LocOutputFlagReset(Sess) \
+ Sess->OutSndingInfo.OutsSndingREQ=0;\
+ Sess->OutSndingInfo.OutsSndingRSP=0; \
+ Sess->NumReqOutstanding=0;\
+ Sess->NumRspOutstanding=0;
+
+/* Structures */
+
+typedef enum
+{
+ BS_INIT = 0,
+ MS_ORIG
+} SessSourceType;
+
+typedef struct
+{
+ kal_uint16 RefPN;
+ kal_int16 RefTimeCorr;
+ kal_uint16 NumPilots;
+ AfltPilotSetList afltset;
+} AFLTPilot;
+
+typedef struct
+{
+ kal_uint8 length;
+ kal_uint8 Data[MAX_ASSIST_SIZE];
+} Acq_Assist_Struct;
+
+typedef enum
+{
+ MSA_IMM_AA_SA_FL,
+ MSA_SEQ_AA_SA_FL,
+ MSA_IMM_AA_ONLY_FL,
+ MSA_AFLT_ONLY_FL,
+ NUM_MSA_FLOW
+} MSA_FLOW;
+
+typedef enum
+{
+ MSB_IMM_AA_SA_FL,
+ MSB_IMM_AA_ONLY_FL,
+ MSB_INIT_POS_FL,
+ MSB_EPH_INIT_POS_FL,
+ MSB_EPH_BASED_ON_PPM_FL,
+ MSB_GENERIC_EPH_FL,
+ MSB_EPH_FROM_POS_FL,
+ MSB_ACTIVE_FL,
+ NUM_MSB_FLOW
+} MSB_FLOW;
+
+typedef enum
+{
+ SESSION_START_EV,
+ NEXT_FIX_EV,
+ TCP_CONN_CLOSE_EV,
+ PSW_IS801_TCPB_REV_DATA_RESP_INFO_EV,
+ PSW_IS801_L1d_PPM_RSP_EV,
+ PSW_IS801_LEC_PRM_RSP_EV,
+ GPS_AA_RSP_EV,
+ LOC_OUTREQ_DONE_EV,
+ LOC_RSP_EV,
+ LOC_LEC_LOC_RSP_EV,
+ PPM_REQ_EV=10,
+ PRM_REQ_EV,
+ PRM_TIMER_EXP_EV,
+ PPM_TIMER_EXP_EV,
+ PPM_PREF_QUAL_TIMER_OUT_EV,
+ PRM_ABORT_EV=15,
+ MS_INFO_REQ_EV,
+ BS_REJ_EV,
+ OUT_REQ_TIMER_EXP_EV,
+ MS_CONFIRM_IND_EV,
+ PSW_DISCONN_EV=20,
+ PPM_CANCEL_EV,
+ PRM_CANCEL_EV,
+ LEC_READY_EV,
+ REV_TCP_READY_EV,
+ REV_MS_READY_EV=25,
+ L1d_READY_EV,
+ MSS_DONE,
+ FULL_TIME_GET,
+ TCP_CONN_SUCC_EV,
+ GPS_READY_EV=30,
+ MS_REJ_EV,
+ Cdma_Network_AVAIL_EV,
+ Cdma_System_Req_EV,
+ Assist_Data_Req_EV=34,
+ MPC_Conn_Req_Succ,
+ MPC_Conn_req_Fail,
+
+ DO_PREEMP_READY=40,
+ Cdma_Network_Unavail_EV,
+ AFLT_START,
+ LOC_NUM_EV
+} LOC_EVENT;
+
+typedef enum
+{
+ InstanceId,
+ Sess_Id,
+ Sess_Tag,
+ Num_SessId
+} SESS_IDS;
+
+typedef enum
+{
+ CAP_NOT_SUPP = 0,
+ CAP_TEMP_NOT_SUPP
+} Loc_RejectReason;
+
+typedef struct
+{
+ SESS_IDS Id;
+ kal_uint32 Value;
+} SessParmT;
+
+typedef struct {
+ kal_bool Dopp;
+ kal_bool AddDopp;
+ kal_bool CodePhParm;
+ kal_bool AzEl;
+} LocAAReqMsgT;
+
+typedef struct {
+ kal_bool ExtAlm;
+} LocBSAlmaReqMsgT;
+
+typedef struct {
+ kal_uint8 Toa;
+ kal_uint8 NumWeek;
+} LocGpsAlmReqMsgT;
+
+typedef struct {
+ kal_bool AB_PAR_REQ;
+} LocGpsEphReqMsgT;
+
+typedef struct {
+ kal_bool H_Req;
+ kal_bool C_Req;
+ kal_bool V_Req;
+} LocRespReqMsgT;
+
+typedef struct {
+ kal_bool UnSol;
+} LocMsProvInfoMsgT;
+
+#ifdef MTK_CBP
+typedef struct {
+ kal_bool UnSol;
+} LocMsSysInfoMsgT;
+#endif
+
+typedef struct {
+ BS_ReqTypes elem;
+ kal_bool noOutReq;
+ kal_bool UnSol;
+} LocProvCancelAckMsgT;
+
+typedef struct {
+ BS_ReqTypes Type;
+ Loc_RejectReason rejReason;
+ kal_bool UnSol;
+} LocMsRejMsgT;
+
+typedef struct{
+ kal_uint16 OutsSndingREQ;
+ kal_uint16 OutsSndingRSP;
+} LocSessOutputInfo;
+
+typedef struct
+{
+ kal_uint16 PilotPN;
+ kal_int32 PNphase;
+ kal_uint16 Strength;
+ kal_uint8 RmsErrPhase;
+} AFLTPilotMeas;
+
+/* defines */
+#define MAX_PPM_SUPPORTED 2 /* Currently l1d contans only two pilot buffers
+ * to store Pilot Phase Measurement Requests.
+ */
+#define MAX_PRM_SIZE 50
+
+/* Structures */
+typedef struct
+{
+ kal_uint8 NumFixes;
+ kal_uint8 TimeBFixes;
+ kal_uint8 SessID;
+ kal_bool OffsetReq;
+ kal_uint8 PrefRespQual;
+} PPM_Types;
+
+typedef struct
+{
+ kal_uint8 PrefRespQual;
+ kal_uint8 NumFixes;
+ kal_uint8 TimeBFixes;
+ kal_bool OffsetReq;
+} PRM_Types;
+
+typedef struct
+{
+ kal_uint8 Length;
+ kal_bool MobOffsetIncl;
+ kal_uint8 Data[MAX_PRM_SIZE];
+} PRM_PDE_STRUCT;
+
+typedef enum
+{
+ AFLT_INIT,
+ AFLT_IDLE,
+ AFLT_ACTIVE,
+ AFLT_DORMANT,
+ AFLT_PEND,
+ AFLT_NOT_SUPPORTED
+} AFLT_STATES;
+
+typedef enum
+{
+ PRM_INIT,
+ PRM_IDLE,
+ PRM_ACTIVE,
+ PRM_DORMANT,
+ PRM_PEND,
+ PRM_NOT_SUPPORTED
+} PRM_STATES;
+
+typedef struct
+{
+ kal_uint8 Index;
+ kal_bool bUsed;
+ kal_uint32 InstanceId; /*ralated to VAL*/
+ kal_uint8 Sess_Id;
+ kal_bool Sess_Start;
+ kal_bool Sess_End;
+ SessSourceType Sess_Source;
+ kal_uint8 Sess_Tag; /* Session Tag used by the BS PDE */
+
+ kal_uint32 NumFixes;
+ kal_uint32 OrigNumFixes;
+ kal_uint32 TimeBFixes;
+ kal_uint32 HorizontalAccuracy;
+ kal_uint32 VerticalAccuracy;
+#ifdef MTK_CBP
+ kal_uint32 PseudorangeAccuracy;
+ kal_int32 RatMode;
+ kal_bool OnCTNtwk;
+#endif
+ kal_uint32 Performance;
+
+ kal_uint16 AgpsPendFlag;
+
+ PPM_Types PPMInfo;
+ kal_uint8 PPMId;
+
+ AFLT_STATES AFLTstate;
+ PRM_STATES PRMstate;
+
+ GPS_FIX_MODE FixMode;
+
+ kal_bool bMssFallback;
+ kal_bool bLecRespRcv;
+
+ union {
+ MSA_FLOW Msaflow;
+ MSB_FLOW Msbflow;
+ } AgpsFlow;
+
+ union{
+ MSA_STATES Msastate;
+ MSB_STATES Msbstate;
+ MSS_STATES Mssstate;
+ CP_STATES Cpstate;
+#ifdef MTK_CBP
+ SUPL_MSA_STATE SuplMsaState;
+ SUPL_MSB_STATE SuplMsbState;
+#endif
+ } AGpsState;
+
+ kal_uint8 NumReqOutstanding;
+ kal_uint16 OutstandingREQ;
+ kal_uint8 NumRspOutstanding; /* Used for trace rsp msg */
+ kal_uint16 OutStandingRsp;
+
+ kal_bool bTcpConnReq;
+ kal_bool bOutPutInProcess;
+ kal_bool bOuputDataReady;
+ kal_bool bPPMUnsolicited;
+ kal_bool bPRMUnsolicited;
+
+ LocSessOutputInfo OutSndingInfo;
+ kal_uint16 InputStandingRsp; /* Bit mask for pending response to BS */
+ kal_uint16 InputCancelledRsp; /* Bit mask for cancelled response to BS */
+
+ AFLTPilot PilotInfo;
+ PRM_Types PRMInfo;
+
+ kal_bool AAInc;
+ Acq_Assist_Struct AcqAssistInfo;
+
+ kal_bool PRMReqInc;
+ PswPosAfltMeasurementMsgT PPMData;
+ PswPseudorangeMsmtRspMsgT PRMData;
+
+ LocAAReqMsgT AAReqMsg;
+ LocGpsEphReqMsgT EphReqMsg;
+ LocRespReqMsgT LocRespReqMsg;
+ LocMsProvInfoMsgT MsProvInfoMsg;
+#ifdef MTK_CBP
+ LocMsSysInfoMsgT MsSysInfoMsg;
+#endif
+ LocProvCancelAckMsgT ProvCancelAckMsg;
+ LocMsRejMsgT MsRejMsg;
+ PswLocRspDataT LocRspMsg;
+
+ SessionStatusE Status;
+ kal_bool b1xPreemptionReq;
+ kal_uint8 AgpsSystimeReady; /*0: not ready; 1: success;2: failure.*/
+ ValGpsModeT GpsMode;
+ kal_uint8 flag_gps; //0--AP, 1--3rd, 2--others
+ kal_uint8 cancel_flag; //0--AP, 1--3rd, 2--others
+ kal_bool unsol_resp_flag[MAX_PROV_GPS_INFO];
+} SessionType;
+
+#define bOutSndingFlag(SessionType) SessionType->bOutPutInProcess
+#define bOutputDataReady(SessionType) SessionType->bOuputDataReady
+#define bPrmInProgress(SessionType) ((SessionType->PRMstate!=PRM_INIT)&&(SessionType->PRMstate!=PRM_NOT_SUPPORTED))
+#define bPpmInProgress(SessionType) ((SessionType->AFLTstate!=AFLT_INIT)&&(SessionType->AFLTstate!=AFLT_NOT_SUPPORTED))
+#define bSessionEnd(SessionType) (SessionType->Sess_End)
+#define bAllFixDone(SessionType) (SessionType->NumFixes<=1)
+#define bPpmFixDone(SessionType) (SessionType->PPMInfo.NumFixes==0)
+#define bPrmFixDone(SessionType) (SessionType->PRMInfo.NumFixes==0)
+#define bPpmPrmFixDone(SessionType) (bPpmFixDone(SessionType)&&bPrmFixDone(SessionType))
+#define DecFixNum(SessionType) (SessionType->NumFixes--)
+#define LocSetOutputDataReady(Sess) (Sess->bOuputDataReady=KAL_TRUE)
+
+typedef struct
+{
+ kal_uint8 Rsp_Buff[LOC_SEND_BUFF_SIZE]; /* Response Buffer */
+ kal_uint8 Num_Rsp; /* Rsp Buff current number of responses */
+ kal_uint8 Rsp_Len; /* Rsp Buff current length in bytes */
+ kal_uint8 Req_Buff[LOC_SEND_BUFF_SIZE]; /* Request Buffer */
+ kal_uint8 Num_Req; /* Req Buff current number of requests */
+ kal_uint8 Req_Len; /* Req Buff current length in bytes */
+} OutPDDM;
+
+typedef enum
+{
+ Forward_IS801_msg,
+ Reverse_IS801_msg
+
+}IS801GpsMessage;
+
+typedef enum
+{
+ LOC_GPS_CUST_0,
+ LOC_GPS_CUST_1,
+ LOC_GPS_CUST_ALL
+}LocGpsCustIDE;
+
+#ifdef MTK_CBP
+typedef struct
+{
+ kal_uint16 time_ref;
+ kal_bool still_active;
+ SysCdmaBandT band_class;
+ kal_uint16 cdma_freq;
+ kal_uint16 pilot_pn;
+ kal_uint16 sid;
+ kal_uint16 nid;
+ kal_uint16 base_id;
+ kal_uint32 base_lat;
+ kal_uint32 base_long;
+}MsSysParaInfo;
+
+typedef struct
+{
+ kal_uint32 time_ref;
+ kal_int16 refPn;
+ kal_uint16 sys_t_offset;
+}TimeOffsetMeas;
+#endif
+
+/* Outstanding Request Masks */
+/* Outstanding Request Masks */
+#define OUT_LOC_REQ 0x0001
+#define OUT_BS_CAP 0x0002
+#define OUT_BS_ALM 0x0004
+#define OUT_GPS_ACQ_ASST 0x0008
+#define OUT_GPS_SENS_ASST 0x0010
+#define OUT_GPS_LOC_ASST 0x0020
+#define OUT_GPS_ALM 0x0040
+#define OUT_GPS_EPH 0x0080
+#define OUT_GPS_NAV_MSG 0x0100
+#define OUT_SAT_HEALTH 0x0200
+
+/* OutStanding Responding Masks */
+#define OUT_MS_PROV_INFO 0x0001
+#define OUT_CANCEL_ACK 0x0002
+#define OUT_REJ_ACK 0x0004
+#define OUT_AFLT_PPM 0x0008
+#define OUT_AGPS_PRM 0x0010
+#define OUT_LOC_RSP 0x0020
+#ifdef MTK_CBP
+#define OUT_MS_SYS_PARA 0x0040
+#define OUT_TIME_OFFSET 0x0080
+#endif
+
+extern PPM_Types PPMInfo[MAX_PPM_SUPPORTED];
+extern PRM_PDE_STRUCT PRMPDEInfo;
+extern kal_bool UpOnTraffic;
+extern OutPDDM PDDM;
+extern kal_bool TcpOnTraffic;
+#ifdef MTK_CBP
+extern MsSysParaInfo MsParaInfo;
+extern TimeOffsetMeas TimeMeas;
+#endif
+/* Prototypes */
+
+void parsAssembleMsg(SessionType *Sess);
+void parsRcvMsg(kal_uint8 *data, kal_uint16 len);
+SessionType* parsSessionHandler(kal_uint8 *SessInfo);
+void parsSaveSessionInfo(kal_uint8 *sessioncontent, SessionType *Sess);
+void parsIncrementNewSessTag(void);
+void parsDecOutStandReq(SessionType *Sess);
+void parsDiscardAll(void);
+void parsResetSess(SessionType *Sess);
+kal_bool LocCscDiscardOUtStanding(void);
+kal_bool parsStartOutReqTimer(kal_uint8 SessId);
+SessionType* parsGetSessId(kal_bool NewSess, kal_uint8 SessTag);
+kal_uint8 *parsGetOutBuf(void);
+kal_bool parsGetMsgPending(void);
+kal_uint8 parsGetPendSession(void);
+void parsSendPendMsg(void);
+void parsSetSessHeader(SessionType *Sess, kal_bool new, kal_bool end);
+void parsDisplaySessInfo(SessionType *Sess);
+void parsClearPDDMBuff(void);
+void parsClearPRM(SessionType *Sess, kal_bool Flag);
+void parsClearPPM(SessionType *Sess);
+void LocInitAgpsState(SessionType *Sess);
+void LocSetAGpsState(SessionType *Sess, kal_uint8 event, void *msgBuffer);
+void ParResetPPM(void);
+void LocStartBtweenFixTimer(SessionType* sess);
+void ParResetPPMParm(SessionType *Sess);
+
+#endif /* _LOC_PARS_H */
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/loclist.h b/mcu/interface/protocol/as_c2k/1xrtt/loclist.h
new file mode 100644
index 0000000..ee371a9
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/loclist.h
@@ -0,0 +1,118 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 2006-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*****************************************************************************
+*
+* FILE NAME : loclist.h
+*
+* DESCRIPTION : General purpose linked list routines.
+*
+* HISTORY :
+*****************************************************************************/
+#ifndef _LOCLIST_H_
+#define _LOCLIST_H_
+
+/*----------------------------------------------------------------------------
+ Include Files
+----------------------------------------------------------------------------*/
+/*----------------------------------------------------------------------------
+ Global Defines and Macros
+----------------------------------------------------------------------------*/
+
+/*----------------------------------------------------------------------------
+ Global Typedefs
+----------------------------------------------------------------------------*/
+
+struct _LIST_NODE;
+struct _LIST_STR;
+
+typedef struct _LIST_NODE {
+ struct _LIST_NODE* next;
+ struct _LIST_NODE* prev;
+ void* data;
+} LIST_NODE;
+
+typedef struct _LIST_STR {
+ LIST_NODE* outHead;
+ LIST_NODE* inTail;
+ LIST_NODE* pNode; /* used to scan the list */
+ struct _LIST_STR* free;
+ kal_uint16 numRecords;
+} LIST_STR;
+
+typedef kal_bool (*pMATCH_FUNC)(void* testRec, void* listRec);
+#define NULL_NODE (LIST_NODE*)(0)
+#define NULL_LIST (LIST_STR*)(0)
+
+/* define values for where to start when getting from queue */
+#define FROM_HEAD KAL_TRUE
+#define FROM_TAIL KAL_FALSE
+
+/* define values for where to start when putting to queue */
+#define TO_HEAD KAL_TRUE
+#define TO_TAIL KAL_FALSE
+
+/*----------------------------------------------------------------------------
+ Global Data
+----------------------------------------------------------------------------*/
+
+/*----------------------------------------------------------------------------
+ Global Function Prototypes
+----------------------------------------------------------------------------*/
+
+kal_uint16 LocNumElements(LIST_STR* list);
+void LocCreateFreeList(LIST_STR* flist, LIST_NODE* nodeRecs, kal_uint16 nRecs);
+void LocCreateEmptyList(LIST_STR* list, LIST_STR* flist);
+void LocCreateFullList(LIST_STR* list, LIST_STR* flist, void* recs, kal_uint16 nRecs, kal_uint16 recSize);
+kal_bool LocPutRecord(LIST_STR* list, kal_bool toHead, void* rec);
+kal_bool LocGetRecord(LIST_STR* list, kal_bool fromHead, void** rec, kal_bool removeFromList);
+kal_bool LocGetFirstMatch(LIST_STR* list, kal_bool fromHead, void** rec, void* testRec,
+ pMATCH_FUNC matcher, kal_bool removeFromList);
+kal_bool LocGetNextMatch(LIST_STR* list, kal_bool fromHead, void** rec, void* testRec,
+ pMATCH_FUNC matcher, kal_bool removeFromList);
+void LocFlushList(LIST_STR* list);
+void LocMoveList(LIST_STR* fromList, LIST_STR* toList);
+
+#endif /* _LOCLIST_H */
+
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/loclistmgr.h b/mcu/interface/protocol/as_c2k/1xrtt/loclistmgr.h
new file mode 100644
index 0000000..46fbb43
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/loclistmgr.h
@@ -0,0 +1,71 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 2006-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+#ifndef _LOCLISTMGR_H_
+#define _LOCLISTMGR_H_ 1
+/*****************************************************************************
+*
+* FILE NAME : loclistmgr.h
+*
+* DESCRIPTION : listmgr Controller interface for the LOC Task
+*
+* HISTORY :
+* See Log at end of file
+*
+*****************************************************************************/
+
+/*----------------------------------------------------------------------------
+ Include Files
+----------------------------------------------------------------------------*/
+#include "loc_pars.h"
+
+/*----------------------------------------------------------------------------
+ Global Function Prototypes
+----------------------------------------------------------------------------*/
+void LocListInit(void);
+SessionType *LocGetSessCtlBlk(SESS_IDS Id, kal_uint32 Value, kal_bool bRemove);
+SessionType *LocGetFreeSessCtrlBlk(void);
+
+#endif /*_LOCLISTMGR_H_*/
+
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/locsmc.h b/mcu/interface/protocol/as_c2k/1xrtt/locsmc.h
new file mode 100644
index 0000000..cffd23f
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/locsmc.h
@@ -0,0 +1,155 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 2002-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+#ifndef LOCSMC_H
+#define LOCSMC_H
+/*****************************************************************************
+*
+* FILE NAME : locSmc.h
+*
+* DESCRIPTION :
+*
+*
+*
+* HISTORY :
+*
+* See Log at end of file
+*
+*****************************************************************************/
+
+typedef enum
+{
+ MSA_INIT,
+ MSA_WFR_TCP_CONN,
+ MSA_MS_INFO,
+ MSA_REQ_PPM_AFTER_SYS_PARM_INFO,
+ MSA_GPS_AA,
+ MSA_IMM_AA_SA,
+ MSA_SEQ_AA_SA,
+ MSA_REQ_PRM,
+ MSA_IDLE,
+ MSA_REQ_PPM,
+ MSA_REQ_LOC,
+ MSA_WAIT_1X_WAKEUP,
+ MSA_PREEMPT_TIMER,
+ MSA_WFR_TCP_CLOSING,
+ MSA_WFR_TIME_READY,
+ MSA_NUM_STATE
+} MSA_STATES;
+
+typedef enum
+{
+ MSB_INIT,
+ MSB_WFR_TCP_CONN,
+ MSB_MS_INFO,
+ MSB_REQ_PPM_AFTER_SYS_PARM_INFO,
+ MSB_TIME_GET,
+ MSB_GPS_AA=5,
+ MSB_IMM_AA_SA_ST,
+ MSB_SAT_DATA_REQ,
+ MSB_LOC_RESP_END,
+ MSB_MS_INFO_END,
+ MSB_WAIT_1X_WAKEUP=10,
+ MSB_WFR_ASSIST_REQ,
+ MSB_WFR_MPC_CONN_ST=12,
+ MSB_PREEMPT_TIMER,
+ MSB_PREEMPT_1x,
+ MSB_NUM_STATE
+} MSB_STATES;
+
+typedef enum
+{
+ MSS_INIT,
+ MSS_ACTIVE,
+ MSS_WFR_1X_WAKEUP,
+ MSS_TIME_GET,
+ MSS_NUM_STATE
+}MSS_STATES;
+
+typedef enum
+{
+ CP_INIT,
+ CP_REQ_PPM_MS_INFO,
+ CP_WFR_PPM,
+ CP_REQ_PPM_PRM,
+ CP_GPS_AA,
+ CP_PPM_REQ,
+ CP_PRM_REQ,
+ CP_IDLE_STATE,
+ CP_REQ_LOC,
+ CP_NUM_STATE
+}CP_STATES;
+
+/* define SUPL MSA State */
+typedef enum
+{
+ SUPL_MSA_INIT,
+ SUPL_MSA_MS_INFO,
+ SUPL_MSA_MS_SYS_INFO,
+ SUPL_MSA_PPM,
+ SUPL_MSA_AA,
+ SUPL_MSA_PREEMPT_TIMER,
+ SUPL_MSA_WAIT_1X_WAKEUP,
+ SUPL_MSA_PRM,
+ SUPL_MSA_REQ_PPM,
+ SUPL_MSA_REQ_LOC,
+ SUPL_MSA_NUM_STATE
+}SUPL_MSA_STATE;
+
+/* define SUPL MSB State */
+typedef enum
+{
+ SUPL_MSB_INIT,
+ SUPL_MSB_WFR_ASSIST_REQ,
+ SUPL_MSB_MS_INFO,
+ SUPL_MSB_MS_SYS_INFO,
+ SUPL_MSB_REQ_PPM_AFTER_SYS_PARM_INFO,
+ SUPL_MSB_SAT_DATA_REQ,
+ SUPL_MSB_MS_INFO_END,
+ SUPL_MSB_LOC_RESP_END,
+ SUPL_MSB_NUM_STATE
+}SUPL_MSB_STATE;
+
+#endif /*LOCSMC_H*/
+
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/loctimer.h b/mcu/interface/protocol/as_c2k/1xrtt/loctimer.h
new file mode 100644
index 0000000..1e953f2
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/loctimer.h
@@ -0,0 +1,92 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 2006-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+#ifndef _LOCTIMER_H_
+#define _LOCTIMER_H_ 1
+/*****************************************************************************
+*
+* FILE NAME : loctimer.h
+*
+* DESCRIPTION : Timer Controller interface for the LOC Task
+*
+* HISTORY :
+* See Log at end of file
+*
+*****************************************************************************/
+
+/*----------------------------------------------------------------------------
+ Include Files
+----------------------------------------------------------------------------*/
+
+typedef enum
+{
+ LOC_BTWEEN_FIX_TIMER_ID,
+ PPM_BTWEEN_FIX_TIMER_ID,
+ PRM_BTWEEN_FIX_TIMER_ID,
+ PPM_PREF_RESP_QUAL_TIMER_ID,
+ LOC_OUTREQ_TIMER_ID,
+ Loc_Num_Timer_Type
+}Loc_Timer_TypeE;
+
+/*----------------------------------------------------------------------------
+ Global Data
+----------------------------------------------------------------------------*/
+typedef struct {
+ eventid LocBetweenFixTimer;
+ eventid PPMBetweenFixTimer;
+ eventid PRMBetweenFixTimer;
+ eventid LocOutReqTimer;
+}LocTimerT;
+/*----------------------------------------------------------------------------
+ Global Function Prototypes
+----------------------------------------------------------------------------*/
+void LocStartTimer(kal_uint8 Index, Loc_Timer_TypeE Id, kal_uint32 Interval);
+void LocStopTimer(kal_uint8 Index, Loc_Timer_TypeE Id);
+void LocStartPrefRespQualTimer(kal_uint8 Id, kal_uint32 Interval);
+void LocStopPrefRespQualTimer(kal_uint8 Id);
+void LocTimerInit(void);
+
+#endif /*_LOCTIMER_H_*/
+
+
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/longcode.h b/mcu/interface/protocol/as_c2k/1xrtt/longcode.h
new file mode 100644
index 0000000..df86965
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/longcode.h
@@ -0,0 +1,202 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Filename: longcode.h
+ *
+ * Purpose: Definition of LONGCODE and supporting routines.
+ *
+ ****************************************************************************
+ *
+ * PVCS Header Information
+ *
+ * $Workfile$
+ * $Revision: 1.2 $
+ * $Modtime$
+ * $Author: fpeng $
+ *
+ * $Log: longcode.h $
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ * Revision 1.2 2004/03/25 12:09:38 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:38:52 fpeng
+ * Initial revision
+ * Revision 1.4 2002/06/06 13:13:31 chinh
+ * Changed and Added Copyright
+ * Revision 1.3 2001/08/03 15:15:08 dstecker
+ * Modifications for IS2000 handoffs
+ * Revision 1.2 2001/01/29 18:20:53 dstecker
+ * new access probe architecture
+ * Revision 1.1 2001/01/17 10:59:00 plabarbe
+ * Initial revision
+ * Revision 1.2 2000/11/13 14:26:07 byang
+ * IS-2000A Idle Mode and LAC intergration - Initial Release.
+ * Revision 1.1 2000/10/24 21:11:19Z fpeng
+ * Initial revision
+ * Revision 1.3 2000/08/23 22:09:18Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes.
+ * Revision 1.14 1999/08/16 23:47:08 scotvold
+ * Cleaned up Long Code Transition processing.
+ * Long Code Transition to Public does not use Ordq.
+ *
+ * Revision 1.13 1999/04/12 13:31:46 scotvold
+ * Added T53 HSPD support.
+ * Added 95B SCAM support.
+ * Added 95B GHDM support and consolidated with EHDM.
+ *
+ * Revision 1.12 1999/01/26 18:50:30 scotvold
+ * R1.2 API changes.
+ *
+ * Revision 1.11 1998/11/02 22:07:59 scotvold
+ * Used ENG_IND_LONG_CODE_CHANGED event instead of action timeout.
+ *
+ * Revision 1.10 1998/10/20 23:58:23 mhayduk
+ * Added T53 support.
+ *
+ * Revision 1.9 1998/10/16 17:10:46 scotvold
+ * Made ftcOrderData global.
+ *
+ * Revision 1.8 1998/08/18 16:58:53 scotvold
+ * Added accessor lcGetTCLongCodeState().
+ *
+ * Revision 1.7 1998/08/17 23:03:36 scotvold
+ * Added User long code support.
+ *
+ * Revision 1.6 1998/07/14 18:51:45 scotvold
+ * Typo correction.
+ *
+ * Revision 1.5 1998/07/14 17:24:01 scotvold
+ * Added voice privacy support.
+ *
+ * Revision 1.4 1998/06/08 21:48:25 scotvold
+ * Updated for Release 0.06.
+ *
+ * Revision 1.3 1998/03/30 23:26:03 mhayduk
+ * Release 0.03.
+ *
+ * Revision 1.1 1997/11/06 17:49:24 mhayduk
+ * Initial revision
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+#ifndef _LONGCODE_H_
+
+ #define _LONGCODE_H_ 1
+
+/*****************************************************************************
+ * Includes
+ ****************************************************************************/
+
+
+/*****************************************************************************
+ * Longcode structure definition ACH physical channel
+ ****************************************************************************/
+#define CP_LONGCODE_LEN 6
+
+ typedef struct
+ {
+ kal_uint8 mask[CP_LONGCODE_LEN]; /* data space for 42 bits ordered as 0..47 */
+ /* where bits 0..41 are used */
+ } Longcode;
+
+/*****************************************************************************
+ * Longcode structure definition EACH physical channel
+ ****************************************************************************/
+#define EACH_LONG_CODE_MASK_PAR_SIZE 2 /* long code mask size in bytes */
+
+typedef struct
+{
+ kal_uint32 MaskPar [EACH_LONG_CODE_MASK_PAR_SIZE]; /* long code mask parameter */
+} EACHlongCodeMaskParT;
+
+
+typedef enum
+{
+ PLCM_ESN = 0,
+ PLCM_BS = 1,
+ PLCM_IMSI_M = 2,
+ PLCM_IMSI_T = 3,
+ PLCM_MEID = 4
+} PlcmTypeT;
+
+/*****************************************************************************
+ * Longcode interface prototypes
+ ****************************************************************************/
+ void copyLongCodeState(Longcode *toMask,kal_uint8 *fromMask);
+
+ void setBCCHLongCode(Longcode *pBcchLcode,kal_uint8 bcch,kal_uint16 pilotPN);
+ void setFCCCHLongCode(Longcode *pFccchLcode);
+
+ void setPCHLongCode(Longcode *pchLcode,kal_uint8 pageCh,kal_uint16 pilotPN);
+ void setACHLongCode(Longcode *pchLcode,kal_uint8 acn,kal_uint8 pcn,kal_uint16 base,
+ kal_uint16 pilotPN);
+
+ void lcPermuteESN (kal_uint32 esn);
+ void lcTCLongCodeInitialization (void);
+ void lcTransitionRequestAck (void);
+ kal_bool lcGetTCLongCodeState (void);
+ kal_bool lcLongCodeTransitionInProgress (void);
+ void lcGetTCPublicLongCodeMask (Longcode* longcode);
+ void lcGetTCPrivateLongCodeMask (Longcode* longcode);
+ void lcMSLongCodeTransitionRequest (kal_uint8 lcRequest);
+ void lcBSLongCodeTransitionRequest (void);
+ void lcLongCodeTransitionComplete (void);
+
+ void lcSetLongCodeState(kal_bool state);
+
+ kal_uint32 lcMeidToPseudoESN(kal_uint8 *MEID);
+ void lcSetLongCodeMaskType(PlcmTypeT type);
+ void lcSetLongCodeMask(kal_uint8 *plcm39);
+ kal_bool lcIsPLCMTypeChanged(PlcmTypeT type);
+ kal_bool lcIsPLCMChanged(kal_uint8 *plcm39);
+ void lcSavePLCMParams(void);
+ void lcRestorePLCMParams(void);
+
+#endif /*_LONGCODE_H_ */
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/namdata.h b/mcu/interface/protocol/as_c2k/1xrtt/namdata.h
new file mode 100644
index 0000000..9d722b5
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/namdata.h
@@ -0,0 +1,191 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Module: namdata.h
+ *
+ * Purpose: Definitions and prototypes for IS-95 NAM data parameters
+ *
+ ****************************************************************************
+ *
+ * PVCS Header Information
+ *
+ *
+ * $Log: namdata.h $
+ *
+ * 08 24 2017 sue.zhong
+ * [MOLY00273584] [6293][C2K]Remove un-used C source file in makefile to save compile time.
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ * Revision 1.3 2005/03/18 10:24:53 bcolford
+ * CBP4.05 [4.21] to CBP6.1 [2.9.0] CP Software Merge.
+ * Revision 1.2 2004/08/13 10:04:18 agontar
+ * Removed T53 flag; cleaned up logs
+ * Revision 1.2 2004/03/25 12:09:38 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:38:55 fpeng
+ * Initial revision
+ * Revision 1.10 2002/09/30 15:17:46 mshaver
+ * Changed NamData typedef to be of PswIs95NamT type as this
+ * is now is the single NAM data structure type.
+ * Revision 1.9 2002/07/31 17:12:13 hans
+ * ENG_PREF_BAND_4 (cr726) added as sys option to NAM preferred band selection.
+ * Revision 1.8 2002/06/06 13:13:47 chinh
+ * Changed and Added Copyright
+ * Revision 1.7 2002/02/06 11:43:23 mclee
+ * Removed prototypes to deleted files.
+ * Revision 1.6 2001/11/20 12:32:28 mclee
+ * Move IS95Nam struct and add prototype namGetNam
+ * Revision 1.5 2001/11/08 12:20:33 AMALA
+ * Deleted compiler switch SYS_SEL_1_CBP3_MERGE &
+ * associated non-compiled code.
+ * Revision 1.4 2001/10/08 14:47:02 mclee
+ * comment out NamNumber, move definition to sysdefs.h
+ * Revision 1.3 2001/09/17 14:11:41 AMALA
+ * CBP3 System Selection port
+ * Revision 1.2 2001/05/09 09:45:03 cmastro
+ * changes to compile MMI-integration
+ * Revision 1.1 2001/01/17 10:59:05 plabarbe
+ * Initial revision
+ * Revision 1.1 2000/10/24 14:11:21 fpeng
+ * Initial revision
+ * Revision 1.6 2000/09/23 02:39:28Z rnookala
+ * added spc and nam_lock to structure IS95Nam
+ * Revision 1.5 2000/08/31 23:41:56Z bcolford
+ * Replaced AMPS_SUPPORTED with SYS_OPTION_AMPS.
+ * Revision 1.4 2000/08/23 22:21:27Z rnookala
+ * Isotel release 2.8 Added checksum field to NAM
+ * Revision 1.3 2000/03/01 18:15:19Z rsattari
+ * Isotel release 2.3 updates.
+ * Revision 1.16 1999/12/09 23:06:28 gfrye
+ * Added CDMA Primary and Secondary Channel definitions to the NAM so
+ * that they can be modified by different customers.
+ *
+ * Revision 1.15 1999/08/05 01:11:23 scotvold
+ * Moved CP_BCAST_ADDRESS_MAX_SIZE to custom.h.
+ *
+ * Revision 1.14 1999/01/20 19:08:07 mhayduk
+ * Added broadcast address.
+ *
+ * Revision 1.13 1998/12/30 18:59:49 mhayduk
+ * Moved analog parameters inside SYS_OPTION_AMPS.
+ *
+ * Revision 1.12 1998/11/24 05:40:36 mhayduk
+ * Cleaned up definitions for checking of TMSI Zone length -
+ * max zone size is 8.
+ *
+ * Revision 1.11 1998/10/28 01:26:55 guterman
+ * Changed SCMp tp SCMP[0] for AMPS macros
+ *
+ * Revision 1.10 1998/10/20 23:58:23 mhayduk
+ * Added T53 support.
+ *
+ * Revision 1.9 1998/09/22 18:44:57 tdaly
+ * Added IS-95 analog mode support.
+ *
+ * Revision 1.8 1998/06/08 21:48:25 scotvold
+ * Updated for Release 0.06.
+ *
+ * Revision 1.7 1998/05/29 20:34:49 mhayduk
+ * Fixed SCM mask.
+ *
+ * Revision 1.6 1998/05/27 17:16:28 scotvold
+ * Updated for Release 0.05.
+ *
+ * Revision 1.5 1998/05/01 18:13:54 scotvold
+ * Update for release 0.04
+ *
+ * Revision 1.3 1998/03/30 23:26:03 mhayduk
+ * Release 0.03.
+ *
+ * Revision 1.1 1997/11/06 17:49:24 mhayduk
+ * Initial revision
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+
+#ifndef _NAMDATA_H_
+
+ #define _NAMDATA_H_ 1
+
+/*****************************************************************************
+ * Includes
+ ****************************************************************************/
+#include "pswnam.h"
+/*****************************************************************************
+ * Definitions for use with NAM
+ ****************************************************************************/
+
+ /* Slotted mode bit mask in SCM */
+ #define CP_SLOTTED_MODE_BIT_MASK 0x20
+
+ /* MEID Support indication bit mask in SCM */
+ #define CP_MEID_SUPPORT_INDICATOR_BIT_MASK 0x10
+
+ /* Fields for Station Class Mark (SCMp) -- RS-553 Section 2.3.3 */
+ #define SCM_Band(x) ((x) & 0x08) /* SCMp Mask -- Bandwidth */
+ #define SCM_Trans(x) ((x) & 0x04) /* SCMp Mask -- Transmission */
+ #define SCM_PClass(x) ((x) & 0x03) /* SCMp Mask -- Power Class */
+
+ #define SCM_20MHz (0 << 3) /* 20MHz Bandwidth */
+ #define SCM_25MHz (1 << 3) /* 25MHz Bandwidth */
+
+ #define SCM_NODTX (0 << 2) /* DTX capability disabled */
+ #define SCM_DTX (1 << 2) /* DTX capability enabled */
+
+ #define PCLASS1 0 /* Power Class I -- High */
+ #define PCLASS2 1 /* Power Class II -- Medium */
+ #define PCLASS3 2 /* Power Class III -- Low */
+ #define NO_PCLASS 3 /* Power Class Reserved (bad) */
+
+ /* Macros */
+ #define IS_DTX_ENABLED(x) ( (SCM_Trans(x.SCMp[0]) == SCM_DTX) && ((x).DTXp) )
+
+#endif /* _NAMDATA_H_ */
+
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/ota_api.h b/mcu/interface/protocol/as_c2k/1xrtt/ota_api.h
new file mode 100644
index 0000000..76663d2
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/ota_api.h
@@ -0,0 +1,383 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*************************************************************************
+ *
+ * File Name: ota_api.h
+ * Project: OTASP
+ * Original Author: Dan Doucette
+ * Creation Date: Sept 2, 1999
+ *
+ * Description: Declaration of all of the OTASP callin functions
+ * for all interfaces: UI, DLI, WBIOS
+ *
+ * Restrictions:
+ *
+ * Dependencies:
+ *
+ *************************************************************************
+ *
+ * This Software is the property of ISOTEL Corporation. Unauthorized
+ * use is prohibited.
+ *
+ * ISOTEL Corporation
+ * 340, 525-28 Street S.E.
+ * Calgary, Alberta, Canada T2A 6W9
+ * Tel: (403)275-0041 Fax: (403)274-3598
+ * Web: http://www.isotel.com
+ *
+ *
+ *************************************************************************
+ *
+ * RCS Log Information
+ *
+ *
+ * $Log: ota_api.h $
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ *
+ * 06 01 2017 qiming.li
+ * [MOLY00246713] [UMOLYA]CSS UT
+ *
+ * 11 09 2016 sue.zhong
+ * [MOLY00208435] [6293][C2K]Sync C2K code to UMOLYA TRUNK
+ * Update C2K PS code (1/2)
+ * Revision 1.4 2006/03/10 15:42:01 winston
+ * Fix CR7319: Verizon OTA implementation and bug fixes
+ * Revision 1.3 2005/03/18 13:52:08 blee
+ * 4.05 Merge
+ * Revision 1.2 2004/03/25 12:08:05 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:38:20 fpeng
+ * Initial revision
+ * Revision 1.4 2002/10/29 10:54:39 mclee
+ * Ignore AKEY PREV modification
+ * Revision 1.3 2002/06/06 11:11:13 mclee
+ * Update Copywrite Information
+ * Revision 1.2 2001/11/20 12:14:00 mclee
+ * CBP3 to CBP4 straight OTA directory copy
+ * Revision 1.5 2001/07/17 15:52:02 mclee
+ * Increased Length parameter in PswIOTA messages to kal_uint16.
+ * Revision 1.4 2001/04/03 10:04:32 mclee
+ * Added prototype for otaWbiosSSPRRes defined in ota_api.c
+ * Revision 1.3 2000/10/02 18:39:22Z bsharma
+ * Added a Global to test if we are in a OTASP call
+ * Revision 1.2 2000/09/29 02:30:16Z bsharma
+ * Added prototype for OtaWritePrlToNvramAck() to write PRL to flash
+ * Revision 1.1 2000/08/23 18:53:45Z hhong
+ * Initial revision
+ * Revision 1.12 2000/01/26 23:34:15 ddoucett
+ * added release reason to DisconnectInd
+ *
+ * Revision 1.11 2000/01/25 22:54:05 ddoucett
+ * removed Ssd update functions
+ *
+ * Revision 1.10 2000/01/20 21:46:31 ddoucett
+ * removed ssda and ssdb update functions
+ *
+ * Revision 1.9 2000/01/12 02:02:22 ddoucett
+ * changed to be consistent with api document
+ *
+ * Revision 1.8 1999/12/21 22:24:43 ddoucett
+ * removed control M's
+ *
+ * Revision 1.7 1999/12/21 19:58:58 ddoucett
+ * tested version
+ *
+ * Revision 1.6 1999/11/29 20:55:27 ddoucett
+ * changed api adding disconnectInd and removine InSvcInd
+ *
+ * Revision 1.5 1999/11/25 19:53:35 ddoucett
+ * added ssda and ssdb update procedures
+ *
+ * Revision 1.4 1999/11/23 17:07:49 ddoucett
+ * changed origReq
+ *
+ * Revision 1.3 1999/11/12 20:30:22 ddoucett
+ * fixed define
+ *
+ * Revision 1.2 1999/11/03 00:24:45 ddoucett
+ * added callin for ssd updating
+ *
+ * Revision 1.1 1999/10/06 22:48:12 ddoucett
+ * Initial revision
+ *
+ *
+ ************************************************************************/
+
+#ifndef _OTA_API_H
+#define _OTA_API_H 1
+#include "uimapi.h"
+
+
+typedef enum
+{
+ PSW_UIM_NOTIFY,
+ PSW_WHAT_CHANGED,
+ PSW_NOUIM_INIT,
+ PSW_ILLEG_UPDATE,
+ PSW_UIM_UPDATE,
+ PSW_UIM_RESPONSE,
+ PSW_UIM_GETPRL,
+ PSW_UIM_PRL_RESPONSE,
+ PSW_UIM_STORE_ESN,
+ PSW_UIM_INIT,
+ PSW_UIM_UIMNAMREAD,
+ PSW_NAM_CH_BY_ETS,
+ PSW_NAM_DATA_READ,
+ PSW_NAM_DATA_WRITE,
+ PSW_NAM_DATA_REQ,
+ PSW_UIM_DATA_REQ,
+ CSS_UIM_NOTIFY,
+ CSS_UIM_INIT,
+ CSS_UIM_UIMNAMREAD,
+ PSW_UIM_ESN_STORE,
+ PSW_UIM_OTA_SEC_API_RESPONSE,
+ PSW_UIM_OTA_PARS_RELEASE,
+ PSW_UIM_OTA_PARS_IN_SVC,
+ PSW_UIM_OTA_PARS_IN_SVC_WAIT,
+ PSW_UIM_OTA_PARS_CONFIRM,
+ PSW_UIM_OTA_PARS_RCV_OUST,
+ PSW_UIM_OTA_PARS_UIM_RESPONSE
+} UimFunction;
+
+/*
+ *
+ * User Interface Functions
+ *
+ */
+
+/*
+ * Name: otaWbiosInitialize
+ *
+ * Description: Initialize the OTASP PE
+ *
+ * Parameters: (none)
+ *
+ * Returns: (none)
+ *
+ */
+void otaWbiosInitialize(void);
+
+/*
+ * Name: otaWbiosOrigInd
+ *
+ * Description: Indicates the service configuration controller
+ * has received an otasp origination request from the user
+ *
+ * Parameters: digits - pointer to ascii digits
+ * numDigits - actual number of digits in array
+ *
+ * Returns: (nothing)
+ *
+ */
+void otaWbiosOrigInd(kal_uint8 *digits, kal_uint8 num);
+
+/*
+ * Name: otaWbiosConnectInd
+ *
+ * Description: Indication the previously given origination
+ * request has been received and accepted
+ *
+ * Parameters: None
+ *
+ * Returns: (nothing)
+ *
+ */
+void otaWbiosConnectInd(void);
+
+/*
+ * Name: otaWbiosDisconnectInd
+ *
+ * Description: Indication the OTASP service option has been
+ * disconnected
+ *
+ * Parameters: kal_uint8 reason : Reason for Disconnect
+ *
+ * Returns: (nothing)
+ *
+ */
+void otaWbiosDisconnectInd(kal_uint8 reason);
+
+
+/*
+ * Name: otaWbiosReleaseReq
+ *
+ * Description: Stop the OTASP session. If there is no OTASP session
+ * in progress, nothing will happen,
+ *
+ * Parameters: (nothing)
+ *
+ * Returns: (nothing)
+ *
+ */
+void otaWbiosReleaseReq(void);
+
+/*
+ * Name: otaWbiosMsgConfirmInd
+ *
+ * Description: Indicate the success/failure of the last message sent
+ * with wbiosOtaSendMsg().
+ *
+ * Parameters: success - KAL_TRUE if message was received by base and KAL_FALSE
+ * otherwise (e.g. timeout)
+ *
+ * Returns: (nothing)
+ *
+ */
+void otaWbiosMsgConfirmInd(kal_bool success);
+
+/*
+ * Name: otaWbiosRcvMsgInd
+ *
+ * Description: Indicate the arrival of an OTASP message from the base
+ *
+ * Parameters: data - pointer to octets of OTASP message
+ * len - # of octets in message
+ *
+ * Returns: (nothing)
+ *
+ */
+void otaWbiosRcvMsgInd(kal_uint8 *data, kal_uint8 len);
+
+
+
+/*
+ *
+ * wbios call in functions for calculating MS_RESULT and
+ * A_KEY
+ *
+ */
+
+/*
+ * Name: otaWbiosMS_RESULTInd
+ *
+ * Description: Return results of 'wbiosOtaGenerateMS_RESULTReq'.
+ * See 'ota_bios.h' for details.
+ *
+ * Parameters: MS_RESULT - buffer containing # (N bytes MSB->LSB)
+ * N - number of bytes in MS_RESULT
+ *
+ * Returns: (nothing)
+ *
+ */
+void otaWbiosMS_RESULTInd(kal_uint8 *ms_result, kal_uint8 n);
+
+/*
+ * Name: otaWbiosKInd
+ *
+ * Description: Return results of 'wbiosOtaGenerateKReq'.
+ * The least significant 64-bits of K are all that
+ * need to be passed to this function.
+ * See 'ota_bios.h' for details.
+ *
+ * Parameters: K - buffer containing # (8 bytes MSB->LSB)
+ *
+ * Returns: (nothing)
+ *
+ */
+void otaWbiosKInd(kal_uint8 *k);
+
+/*
+ * Description: This function is called repeatedly to write multiple blocks of data
+ * to FLASH
+ *
+ * Parameters: void
+ *
+ * Returns: void
+ *
+ */
+void OtaWritePrlToNvramAck(void);
+
+/*
+ * Description: Test Mode Msg from ETS instructs PS to ignore A_KEY_PREV
+ *
+ * Parameters: kal_bool Ignore
+ *
+ * Returns: void
+ *
+ */
+void otaWbiosSetIgnoreAkeyPrev(kal_bool Ignore);
+
+/*
+ * Description: Test Mode Msg from ETS instructs PS to ignore A_KEY_PREV
+ *
+ * Parameters: kal_bool Ignore
+ *
+ * Returns: void
+ *
+ */
+kal_bool otaWbiosGetIgnoreAkeyPrev(void);
+
+/*
+ * Name: otaWbiosExcessSPLFailInd()
+ *
+ * Description: Indicate the UI's SPL attempt failure
+ *
+ * Parameters: None
+ *
+ * Returns: None
+ *
+ */
+void otaWbiosExcessSPLFailInd(void);
+
+void otaWbiosKeyResponse(UimRspMsgT* MsgDataP);
+void otaWbiosKeyGenResponse(UimRspMsgT* MsgDataP);
+void otaWbiosOTAPAResponse(UimRspMsgT* MsgDataP);
+void otaWbiosValResponse(UimRspMsgT* MsgDataP);
+void otaWbiosConfResponse(UimRspMsgT* MsgDataP);
+void otaWbiosDNLDResponse(UimRspMsgT* MsgDataP);
+void otaWbiosSSPRConfResponse(UimRspMsgT* MsgDataP);
+void otaWbiosSSPRDNLDResponse(UimRspMsgT* MsgDataP);
+void otaWbiosReAuthRespons(UimRspMsgT *MsgDataP);
+void otaWbiosCommitResponse(UimRspMsgT * MsgDataP);
+void otaWbiosUpdateBinRespons(UimRspMsgT * MsgDataP);
+kal_bool otaWbiosGetUimAKeyGenerated(void);
+extern kal_bool OtaSessionInProgress;
+extern kal_bool otaWbiosInitialized;
+extern kal_bool IOTAinProgress;
+
+#endif /* _OTA_API_H */
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/ota_auth.h b/mcu/interface/protocol/as_c2k/1xrtt/ota_auth.h
new file mode 100644
index 0000000..f64fb48
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/ota_auth.h
@@ -0,0 +1,264 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*************************************************************************
+ *
+ * File Name: ota_auth.h
+ * Project: OTASP
+ * Original Author: Dan Doucette
+ * Creation Date: Sept 3, 1999
+ *
+ * Description: Definition of functions responsible for the
+ * reception and processing of key request messages
+ * and re authentication messages
+ *
+ * Restrictions:
+ *
+ * Dependencies:
+ *
+ *************************************************************************
+ *
+ * This Software is the property of ISOTEL Corporation. Unauthorized
+ * use is prohibited.
+ *
+ * ISOTEL Corporation
+ * 340, 525-28 Street S.E.
+ * Calgary, Alberta, Canada T2A 6W9
+ * Tel: (403)275-0041 Fax: (403)274-3598
+ * Web: http://www.isotel.com
+ *
+ *
+ *************************************************************************
+ *
+ * RCS Log Information
+ *
+ * $Revision: 1.2 $
+ *
+ * $Log: ota_auth.h $
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ *
+ * 11 09 2016 sue.zhong
+ * [MOLY00208435] [6293][C2K]Sync C2K code to UMOLYA TRUNK
+ * Update C2K PS code (1/2)
+ * Revision 1.2 2004/03/25 12:08:06 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:38:21 fpeng
+ * Initial revision
+ * Revision 1.3 2002/06/06 11:11:32 mclee
+ * Update Copywrite Information
+ * Revision 1.2 2001/11/20 12:14:09 mclee
+ * CBP3 to CBP4 straight OTA directory copy
+ * Revision 1.2 2001/05/17 11:06:46 mclee
+ * removed parameters passed in otaMakeIMSI_S1 prototype
+ * Revision 1.1 2000/08/23 11:53:49 hhong
+ * Initial revision
+ * Revision 1.5 2000/01/25 22:54:05 ddoucett
+ * removed hard tabs
+ *
+ * Revision 1.4 1999/12/21 22:24:43 ddoucett
+ * removed control M's
+ *
+ * Revision 1.3 1999/12/21 19:58:58 ddoucett
+ * tested version
+ *
+ * Revision 1.2 1999/11/12 20:30:22 ddoucett
+ * fixed define
+ *
+ * Revision 1.1 1999/10/06 22:48:12 ddoucett
+ * Initial revision
+ *
+ *
+ ************************************************************************/
+
+#ifndef _OTA_AUTH_H
+#define _OTA_AUTH_H 1
+
+/*
+ * Dependencies
+ */
+#include "ota_tune.h" /* User tunable parameters */
+#include "ota_api.h"
+#include "ota_data.h"
+#include "ota_bios.h" /* Interface to OS */
+#include "ota_uim_pars.h"
+#include "ota_sec.h"
+
+/*
+ *
+ * Functions
+ *
+ */
+
+/*
+ * Name: authApiInitialize
+ *
+ * Description: Initialize the AUTHENTICATION unit
+ *
+ * Parameters: (none)
+ *
+ * Returns: (none)
+ *
+ */
+void authApiInitialize(void);
+
+/*
+ * Name: authSecSetDigits
+ *
+ * Description: Set the dialled digits for a user-initiated OTASP
+ * session.
+ * If <6 dialled digits, ESN must be used to fill up to 6.
+ *
+ * Parameters: digits - array of bytes containing dialled digits
+ * digit_mode - if KAL_TRUE, 8-bit else 4-bit digits
+ * len - # of digits in array. Must be at LEAT 6
+ *
+ * Returns: (nothing)
+ *
+ */
+void authSecSetDigits(kal_uint8 *digits, kal_bool digit_mode, kal_uint8 len);
+
+/*
+ * Name: authApiReleaseReq
+ *
+ * Description: Restart the Authentication Unit
+ *
+ * Parameters: (nothing)
+ *
+ * Returns: (nothing)
+ *
+ */
+void authApiReleaseReq(void);
+
+/*
+ * Name: authParsKeyReq
+ *
+ * Description: Receive parameters for key generation
+ *
+ * Parameters: KeyReqMsg* key request message structure defined in
+ * ota_msgs.h
+ *
+ * Returns: (none)
+ *
+ */
+void authParsKeyReq(KeyReqMsg *msg);
+
+/*
+ * Name: authParsKeyGenReq
+ *
+ * Description: Generate key
+ *
+ * Parameters: KeyGenReqMsg key generate structure defined in
+ * ota_msgs.h
+ *
+ * Returns: (none)
+ *
+ */
+void authParsKeyGenReq(KeyGenReqMsg *msg);
+
+/*
+ * Name: authParsReAuthReq
+ *
+ * Description: Re-authenticate the mobile-station
+ *
+ * Parameters: ReAuthReqMsg* reauth request structure defined in
+ * ota_msgs.h
+ *
+ * Returns: (none)
+ *
+ */
+void authParsReAuthReq(ReAuthReqMsg *msg);
+
+/*
+ *
+ * API Interface for MS_RESULT and A_KEY calculations
+ *
+ */
+
+/*
+ * Name: authApiMS_RESULTInd
+ *
+ * Description: Return results of 'wbiosOtaGenerateMS_RESULT'.
+ * See 'ota_bios.h' for details.
+ *
+ * Parameters: MS_RESULT - buffer containing # (N bytes MSB->LSB)
+ * N - number of bytes in MS_RESULT
+ *
+ * Returns: (nothing)
+ *
+ */
+void authApiMS_RESULTInd(kal_uint8 *ms_result, kal_uint8 n);
+
+/*
+ * Name: authApiKInd
+ *
+ * Description: Return results of 'wbiosOtaGenerateKReq'.
+ * The least significant 64-bits of K are all that
+ * need to be passed to this function.
+ * See 'ota_bios.h' for details.
+ *
+ * Parameters: K - buffer containing # (8 bytes MSB->LSB)
+ *
+ * Returns: (nothing)
+ *
+ */
+void authApiKInd(kal_uint8 *k);
+
+/*
+ * Name: otaMakeIMSI_S1
+ *
+ * Description: Creates the IMSI S1 parameter used for authentication
+ *
+ * Parameters: (NONE)
+ *
+ * Returns: kal_uint32 imsi_s1 - returns the imsi s1 parameter
+ *
+ */
+kal_uint32 otaMakeIMSI_S1(void);
+
+
+#endif /* _OTA_AUTH_H */
+
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/ota_bios.h b/mcu/interface/protocol/as_c2k/1xrtt/ota_bios.h
new file mode 100644
index 0000000..d79e0d9
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/ota_bios.h
@@ -0,0 +1,616 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*************************************************************************
+ *
+ * File Name: ota_bios.h
+ * Project: OTASP
+ * Original Author: Dan Doucette
+ * Creation Date: Sept 3, 1999
+ *
+ * Description: IS-683A MS OTASP Protocol Engine call-outs. The customer
+ * must provide an implementation of these functions in
+ * the wrapper for this protocol engine.
+ *
+ * Restrictions: The WBIOS calls must not block.
+ *
+ * Dependencies:
+ *
+ *************************************************************************
+ *
+ * This Software is the property of ISOTEL Research Ltd. Unauthorized
+ * use is prohibited.
+ *
+ * ISOTEL Research Ltd.
+ * 220, 6815-8th Street N.E.
+ * Calgary, Alberta, Canada T2E 7H7
+ * Tel: (403)275-0041 Fax: (403)274-3598
+ *
+ *
+ *************************************************************************
+ *
+ * RCS Log Information
+ *
+ *
+ * $Log: ota_bios.h $
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ *
+ * 07 04 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * ::KAL type - L3, folder ps
+ *
+ * 11 09 2016 sue.zhong
+ * [MOLY00208435] [6293][C2K]Sync C2K code to UMOLYA TRUNK
+ * Update C2K PS code (1/2)
+ * Revision 1.3 2006/03/10 15:44:06 winston
+ * Fix CR7319: Verizon OTA implementation and bug fixes
+ * Revision 1.2 2004/03/25 12:08:06 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:38:21 fpeng
+ * Initial revision
+ * Revision 1.3 2002/06/06 11:11:41 mclee
+ * Update Copywrite Information
+ * Revision 1.2 2001/11/20 12:14:19 mclee
+ * CBP3 to CBP4 straight OTA directory copy
+ * Revision 1.6 2001/06/01 15:08:35 mclee
+ * Fixed Prototype
+ * Revision 1.5 2001/06/01 12:42:56 mclee
+ * Added prototype wbiosOtaNewPRLDownload
+ * Revision 1.4 2001/04/30 15:23:22 mclee
+ * Added prototypes for wbiosOtaEncode3Digit(), wbiosOtaEncode2Digit(), and wbiosOtaEncodeIMSIs1().
+ * Revision 1.3 2001/04/04 10:39:07 mclee
+ * Added prototypes for wbiosOtaPowerDownWait and wbiosOtaPendingPowerDown
+ * Revision 1.2 2000/10/31 22:57:24Z mclee
+ * Added wbiosOtaSPLUnlockInd & wbiosOtaSSDUpdInd
+ * Revision 1.1 2000/08/23 18:53:54Z hhong
+ * Initial revision
+ * Revision 1.13 2000/01/26 23:34:15 ddoucett
+ * added release reason to DisconnectInd
+ *
+ * Revision 1.12 2000/01/25 22:54:05 ddoucett
+ * removed hard tabs
+ *
+ * Revision 1.11 2000/01/20 21:46:31 ddoucett
+ * changed api for AuthOriginatin and AuthTermination. Changed Authx
+ * authentication function to AuthOtapa
+ *
+ * Revision 1.10 2000/01/12 02:02:22 ddoucett
+ * changed to be consistent with api document
+ *
+ * Revision 1.9 1999/12/21 22:24:43 ddoucett
+ * removed control M's
+ *
+ * Revision 1.8 1999/12/21 19:58:58 ddoucett
+ * tested version
+ *
+ * Revision 1.7 1999/11/29 20:55:27 ddoucett
+ * changed api adding disconnectInd and removine InSvcInd
+ *
+ * Revision 1.6 1999/11/25 19:53:35 ddoucett
+ * added update akey event
+ *
+ * Revision 1.5 1999/11/23 17:07:49 ddoucett
+ * changed origReq
+ *
+ * Revision 1.4 1999/11/12 20:30:22 ddoucett
+ * fixed define
+ *
+ * Revision 1.3 1999/11/03 23:38:36 ddoucett
+ * added GetMDNParms
+ *
+ * Revision 1.2 1999/11/03 00:43:48 ddoucett
+ * added release and update procs
+ *
+ * Revision 1.1 1999/10/06 22:48:12 ddoucett
+ * Initial revision
+ *
+ *
+ ************************************************************************/
+#ifndef _OTA_BIOS_H
+#define _OTA_BIOS_H 1
+
+#include "ota_data.h"
+
+/*
+ * Functions
+ */
+
+/*
+ * Name: wbiosOtaConnectInd
+ *
+ * Description: Indication the OTASP PE has been connected
+ *
+ * Parameters: (nothing)
+ *
+ * Returns: (nothing)
+ *
+ */
+void wbiosOtaConnectInd(void);
+
+/*
+ * Name: wbiosOtaDisconnectInd
+ *
+ * Description: Indication the OTASP PE has been disconnected
+ *
+ * Parameters: kal_uint8 reason; Reason for disconnect
+ *
+ * Returns: (nothing)
+ *
+ */
+void wbiosOtaDisconnectInd(kal_uint8 reason);
+
+/*
+ * Name: wbiosOtaReleaseReq
+ *
+ * Description: Request to IS-95 PE to release the present
+ * OTASP connection
+ *
+ * Parameters: (nothing)
+ *
+ * Returns: (nothing)
+ *
+ */
+void wbiosOtaReleaseReq(void);
+
+
+/*
+ * Name: wbiosOtaSessionPrematureTermination
+ *
+ * Description: OTASP engine callout indicating the current OTAPA
+ * session has been prematurely terminated.
+ *
+ * Parameters: (nothing)
+ *
+ * Returns: (nothing)
+ *
+ */
+void wbiosOtaSessionPrematureTermination(void);
+
+/*
+ * Name: wbiosOtaOTAPASessionStateInd
+ *
+ * Description: OTASP engine callout indicating the state of the
+ * current OTAPA session
+ *
+ * Parameters: output: start_stop - KAL_TRUE if an otapa session is
+ * starting
+ * KAL_FALSE if an otapa session is
+ * just ending
+ *
+ * Returns: (nothing)
+ *
+ */
+void wbiosOtaOTAPASessionStateInd(kal_bool start_stop);
+
+
+
+/*
+ * Name: wbiosOtaSendMsgReq
+ *
+ * Description: Send OTASP message on IS-95 Data Link. If CONFIRM
+ * is requested of this message, the status of the message
+ * must be reported via the API (otaWbiosMsgConfirm)
+ *
+ * NOTE: The OTASP PE will ALWAYS use CONFIRM
+ *
+ * Parameters: data - octets to send
+ * len - # of octets
+ * confirm - if KAL_TRUE use confirmed services of Data Link
+ *
+ * Returns: (nothing)
+ *
+ */
+void wbiosOtaSendMsgReq(kal_uint8 *data, kal_uint16 len, kal_bool confirm );
+
+/*
+ * Name: wbiosOtaAcceptMsg
+ *
+ * Description: Indicate status of last received message.
+ * When otaOTASPRcvMsgIndication is called, the message
+ * is processed and if it is valid, this function is called
+ * with success, otherwise with failure.
+ *
+ * Parameters: success - if KAL_TRUE message was valid otherwise invalid.
+ *
+ * Returns: (nothing)
+ *
+ */
+void wbiosOtaAcceptMsg(kal_bool success);
+
+/*
+ * Name: wbiosOtaUpdateData
+ *
+ * Description: Indication to the IS-95 PE some or all of the data
+ * parameters in OTASP have been changed
+ *
+ * Parameters: kal_uint8 dataMask: bitmask indicating which parameters
+ * have changed
+ *
+ * Returns: None
+ *
+ */
+void wbiosOtaUpdateData(kal_uint8 dataMask);
+
+/*
+ * Name: wbiosOtaSSDUpdInd
+ *
+ * Description: SSD Update Success
+ *
+ * Parameters: Nothing
+ *
+ * Returns: Nothing
+ *
+ */
+void wbiosOtaSSDUpdInd(void);
+
+/*
+ * Name: wbiosOtaUpdateAKey
+ *
+ * Description: Indication to the IS-95 PE the A-Key has been
+ * updated
+ *
+ * Parameters: kal_uint8 *akey: 8 byte A-Key
+ *
+ * Returns: None
+ *
+ */
+void wbiosOtaUpdateAKey(kal_uint8 *akey);
+
+/*
+ * Name: wbiosOtaSystemError
+ *
+ * Description: Report a SW error in the OTASP PE. If this function
+ * returns, the behaviour of the OTASP PE will be
+ * unpredicatable.
+ *
+ * Parameters: error - Error Code (see OTA_ERROR_CODE above).
+ *
+ * Returns: (nothing)
+ *
+ */
+void wbiosOtaSystemError(kal_uint16 error);
+
+/*
+ * IMPORTANT
+ * ---------
+ *
+ * Random # generators must be cryptographically secure (pseudo-random,
+ * uniform statistical distribution over range, sequence must be
+ * statistically uncorrelated, and not derivable from previous numbers
+ *
+ * The Blum Blum Shub (BBS) algorithm is acceptable if P, Q and N are
+ * chosen such that a computation based attack on the NEXT random number
+ * is unfeasible.
+ *
+ * NOTE that simple LFSR (Linear Feedback Shift Register) random # generators
+ * are NOT acceptable as all of this type have been cracked (even though
+ * the perdiodicity of such an LFSR could be made large enough).
+ */
+
+/*
+ * Name: wbiosOtaGenerateRAND32
+ *
+ * Description: Generate a pseudo-random. This # does not have to
+ * cryptographically secure and so can be implemented with
+ * ANSI rand(). e.g. kal_uint32 num = rand() + (rand()<<16);
+ *
+ *
+ * Parameters: (nothing)
+ *
+ * Returns: kal_uint32 - random #
+ *
+ */
+kal_uint32 wbiosOtaGenerateRAND32(void);
+
+/*
+ * Name: wbiosOtaGenerateRAND160
+ *
+ * Description: Generate a 160-bit pseudo-random #. This # MUST BE
+ * cryptographically secure and so should be implemented with
+ * Blum Blum Shub (BBS) or equivalent.
+ *
+ * This function is SYNCHRONOUS as it is NOT invoked
+ * directly by the OTASP PE. The MS_RESULT calculation
+ * function (otawbiosGenerateMS_RESULT) can invoke this
+ * function while running in a separate thread.
+ *
+ * Parameters: rand160 - pointer to buffer (20 bytes MSB->LSB)
+ *
+ * Returns: (nothing)
+ *
+ */
+void wbiosOtaGenerateRAND160(kal_uint8 *rand160);
+
+/*
+ * Name: wbiosOtaGenerateMS_RESULTReq
+ *
+ * Description: Calculate MS_RESULT = PARAM_G ^ X MOD PARAM_P.
+ *
+ * X should be produced by calling 'otawbiosGenerateRAND160'
+ * or equivalent.
+ *
+ * This function is ASYNCHRONOUS as the result is expected
+ * to take time and so the result must be passed back
+ * via the otaMS_RESULT() function.
+ *
+ * Parameters: PARAM_G - buffer containing 20 bytes (MSB->LSB)
+ * PARAM_P - buffer containing 64 bytes (MSB->LSB)
+ *
+ * Returns: (nothing)
+ */
+void wbiosOtaGenerateMS_RESULTReq(kal_uint8 *param_g, kal_uint8 *param_p);
+
+/*
+ * Name: wbiosOtaGenerateKReq
+ *
+ * Description: Calculate K = BS_RESULT ^ X MOD PARAM_P.
+ *
+ * X and P are the same value used in CalculateMS_RESULT.
+ *
+ * This function is ASYNCHRONOUS as the result is expected
+ * to take time and so the result must be passed back
+ * via the otaK() function.
+ *
+ * Parameters: BS_RESULT - buffer containing N bytes (MSB->LSB)
+ * N - number of bytes in BS_RESULT
+ *
+ * Returns: success - KAL_TRUE if able to start key generation
+ */
+kal_bool wbiosOtaGenerateKReq(kal_uint8 *bs_result, kal_uint8 n);
+
+
+/*
+ * Authentication Procedures as Defined in IS-95 6.3.12.1.6/7
+ */
+
+/*
+ *
+ * Name: wbiosOtaGetAuthrTermination()
+ *
+ * Description: Calculate AUTHR for Mobile Terminations and calculate new
+ * values for CMEA key, VPM ,and data mask for cellular data
+ * encryption
+ *
+ * Reference: SP-3693 Section 6.3.12.1.7
+ *
+ * Parameters: kal_uint32 Rand - random number used for challenges
+ * kal_uint32 esn - electronic mobile serial number
+ * kal_uint32 imsi_s1 - international mobile station ID (7 digit part)
+ *
+ * Returns: kal_uint32 - 18-bit AUTHR for Page Response
+ * kal_uint8 *authData -- Pointer to a 3 byte AUTH_DATA array
+ *
+ * Notes:
+ *
+ *
+ */
+kal_uint32 wbiosOtaGetAuthrTermination(kal_uint32 rand, kal_uint32 esn, kal_uint32 imsi_s1,
+ kal_uint8 *authData);
+
+/*
+ *
+ * Name: wbiosOtaGetAuthrOrigination()
+ *
+ * Description: Calculates AUTHR for Mobile Origination and calculate new
+ * values for CMEA key, VPM ,and data mask for cellular data
+ * encryption
+ *
+ * Reference: SP-3693 Section 6.3.12.1.6, Appendix A: Section 2.3
+ *
+ * Parameters: kal_uint32 rand - Random number used for BS challenge
+ * kal_uint32 esn - electronic mobile serial number
+ * kal_uint32 imsi_s1 - international mobile station ID (7 digit part)
+ * kal_uint8 *digits - last 6 Called-Address digit codes
+ *
+ * Returns: kal_uint32 - 18-bit AUTHR for Origination
+ * kal_uint8 *authData - pointer to an array of 3 bytes containing
+ * AUTH_DATA parameter.
+ *
+ * Notes: We set up the pre-loads for CAVE here as:
+ *
+ * LFSR 32-bit RANDs value
+ * R9..R11 24-bit IMSI_S1 first, then we overwrite with the
+ * non-zero digit codes (up to 6), such that the
+ * last code goes to the 4 LS bits of R11.
+ *
+ */
+kal_uint32 wbiosOtaGetAuthrOrigination( kal_uint32 rand, kal_uint32 esn,
+ kal_uint32 imsi_s1, kal_uint8 *digits, kal_uint8 *authData);
+
+/*
+ *
+ * Name: wbiosOtaGetAuthOTAPA()
+ *
+ * Description: Calculates AUTHR, AUTHU or AUTHBS
+ *
+ * Parameters: kal_uint32 rand - random value
+ * kal_uint32 esn - Mobile's electronic serial number
+ * kal_uint32 imsi_s1 - imsi s1 value
+ *
+ * Returns: kal_uint32 - 18-bit AUTHR, AUTHU or AUTHBS Value
+ *
+ * Notes: Sets up the LFSR and the CAVE Mixing Registers, and then
+ * runs the CAVE algorithm for 8 rounds. The 18-bit result is
+ * picked up from the CAVE registers, and is returned as an
+ * unsigned long.
+ *
+ */
+kal_uint32 wbiosOtaGetAuthOTAPA(kal_uint32 rand, kal_uint32 esn, kal_uint32 imsi_s1);
+
+/*
+ *
+ * Name: wbiosOtaCalcCRC()
+ *
+ * Description: calculates crc for the given message
+ *
+ * Parameters: kal_uint8 *msg - message to calculate the crc on including
+ * the crc on the end of the message
+ * kal_uint16 length - length of the message
+ *
+ * Returns: kal_uint16 crc - returns the calculated crc
+ *
+ * Notes:
+ *
+ */
+kal_uint16 wbiosOtaCalcCRC(kal_uint8 *msg, kal_uint16 length);
+
+/*
+ * Name: wbiosOtaPendingPowerDown
+ *
+ * Description: Tells OTA powerdown request received during SSPR DBM
+ * write. Set flag for OTA to kick engine to power down
+ * after DBM Block Write.
+ *
+ * Parameters: None
+ *
+ * Returns: void
+ *
+ */
+void wbiosOtaPendingPowerDown(void);
+
+/*
+ * Name: wbiosOtaPendingPowerDown
+ *
+ * Description: Tells PswPowerMsg() in pswueng.c that OTA currently writing
+ * blocks to DBM. Ask engine to hold off powering down.
+ *
+ * Parameters: None
+ *
+ * Returns: kal_bool
+ *
+ */
+kal_bool wbiosOtaPowerDownWait(void);
+
+/*
+ * Name: wbiosOtaEncodeIMSI3Digit
+ *
+ * Description: Encodes 3 digit MDN to 10 bit IMSI stored in kal_uint16
+ *
+ * Parameters: kal_uint8 D1, D2, D3 inputs for encoding
+ *
+ * Returns: kal_uint16 result
+ *
+ */
+kal_uint16 wbiosOtaEncodeIMSI3Digit(kal_uint8 D1, kal_uint8 D2, kal_uint8 D3);
+
+/*
+ * Name: wbiosOtaEncodeIMSI2Digit
+ *
+ * Description: Encodes 2 digit MDN to 7 bit IMSI stored in kal_uint8
+ *
+ * Parameters: kal_uint8 D1, D2, inputs for encoding
+ *
+ * Returns: kal_uint8 result
+ *
+ */
+kal_uint8 wbiosOtaEncodeIMSI2Digit(kal_uint8 D1, kal_uint8 D2);
+
+/*
+ * Name: wbiosOtaEncodeIMSIs1
+ *
+ * Description: Encodes IMSI_s1 from 7 Digit MDN stored in kal_uint32
+ *
+ * Parameters: kal_uint8 digits[7]
+ *
+ * Returns: kal_uint32 result
+ *
+ */
+kal_uint32 wbiosOtaEncodeIMSIs1(kal_uint8 *digits);
+
+/*
+ * Name: wbiosOtaStatusIndication
+ *
+ * Description: send VAL_OTASP_IND_MSG to VAl to indicate the status
+ * of OTA session.
+ *
+ * Parameters: status code
+ *
+ * Returns: none
+ *
+ */
+void wbiosOtaStatusIndication(kal_uint8 status);
+
+/*
+ *
+ * Functions which provide the data interface to semi permanent
+ * memory
+ *
+ */
+void wbiosOtaSetIS95NAMParms(IS95NAMParms* in);
+void wbiosOtaSetIS95IMSIParms(IS95IMSI_TParms* in);
+void wbiosOtaSetIS95MDNParms(IS683DigitParms* in);
+void wbiosOtaSetIS683NAMStatusParms(IS683NAMStatusParms* in);
+void wbiosOtaSetIS683SSPRList(IS683SSPRListBlock* in);
+void wbiosOtaSetIS683SSPRStatus(kal_bool Status);
+kal_bool wbiosOtaGetIS683SSPRStatus(void);
+
+void wbiosOtaGetIS95PermParms(IS95PermParms* out);
+void wbiosOtaGetIS95IMSIParms(IS95IMSI_TParms* in);
+void wbiosOtaGetIS95MDNParms(IS683DigitParms* in);
+void wbiosOtaGetIS95NAMParms(IS95NAMParms* out);
+void wbiosOtaGetIS683NAMStatusParms(IS683NAMStatusParms* out);
+void wbiosOtaGetIS683SSPRList(IS683SSPRListBlock* out);
+
+void wbiosOtaMapMDNtoIMSI(IS683DigitParms *DigitPARMS, IMSIType* imsiP);
+void wbiosOtaMapIMSItoMDN(IMSIType* imsiP, IS683DigitParms* DigitPARMS, kal_bool fmtDigit);
+void wbiosOtaDecodeIMSI3Digit(kal_uint16 code3, kal_uint8 *D1, kal_uint8 *D2, kal_uint8 *D3);
+void wbiosOtaDecodeIMSI2Digit(kal_uint8 code2, kal_uint8 *D1, kal_uint8 *D2);
+void wbiosOtaDecodeIMSIs1(kal_uint32 s1, kal_uint8 *digits);
+kal_bool wbiosOtaGetAKeyGenerated(void);
+void wbiosOtaResetAKeyGenerated(void);
+void wbiosOtaSetPowercycleMode(OtaCompletePowerupModeType mode);
+OtaCompletePowerupModeType wbiosOtaGetPowercycleMode(void);
+void wbiosOtaSetCompletedOtasp(kal_bool var);
+kal_bool wbiosOtaGetCompletedOtasp(void);
+void wbiosOtaSetCompleteOTAPA(kal_bool val);
+kal_bool wbiosOtaGetCompleteOTAPA(void);
+void wbiosOtaSetNamLock(kal_bool namlock);
+kal_bool wbiosOtaGetNamLock(void);
+void wbiosOtaSetIndicateOTACompleted(kal_bool var);
+kal_bool wbiosOtaGetIndicateOTACompleted(void);
+
+#endif /* _OTA_BIOS_H */
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/ota_data.h b/mcu/interface/protocol/as_c2k/1xrtt/ota_data.h
new file mode 100644
index 0000000..324859e
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/ota_data.h
@@ -0,0 +1,270 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*************************************************************************
+ *
+ * File Name: ota_data.h
+ * Project: OTASP
+ * Original Author: Dan Doucette
+ * Creation Date: Sept 2, 1999
+ *
+ * Description: Declaration of all semi permanent data types used
+ * throughout OTASP engine
+ *
+ * Restrictions:
+ *
+ * Dependencies:
+ *
+ *************************************************************************
+ *
+ * This Software is the property of ISOTEL Corporation. Unauthorized
+ * use is prohibited.
+ *
+ * ISOTEL Corporation
+ * 340, 525-28 Street S.E.
+ * Calgary, Alberta, Canada T2A 6W9
+ * Tel: (403)275-0041 Fax: (403)274-3598
+ * Web: http://www.isotel.com
+ *
+ *
+ *************************************************************************
+ *
+ * RCS Log Information
+ *
+ *
+ * $Log: ota_data.h $
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ *
+ * 11 09 2016 sue.zhong
+ * [MOLY00208435] [6293][C2K]Sync C2K code to UMOLYA TRUNK
+ * Update C2K PS code (1/2)
+ * Revision 1.3 2006/03/10 15:44:56 winston
+ * Fix CR7319: Verizon OTA implementation and bug fixes
+ * Revision 1.2 2004/03/25 12:08:06 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:38:22 fpeng
+ * Initial revision
+ * Revision 1.4 2003/05/05 14:26:13 ameya
+ * Moved IS95NAMParms structure and IS95IMSI_TParms structure to wbios.h.
+ * Revision 1.3 2002/06/06 11:11:46 mclee
+ * Update Copywrite Information
+ * Revision 1.2 2001/11/20 12:14:23 mclee
+ * CBP3 to CBP4 straight OTA directory copy
+ * Revision 1.4 2001/02/16 16:31:33 mclee
+ * Added MAX_SID_NID to IS95NAMParms to remain consistent with
+ * cpIS95NAMParms.
+ * Revision 1.3 2001/01/30 01:37:11Z mclee
+ * Added OTAPAAllow field to IS683NAMStatusParms struct.
+ * Revision 1.2 2000/10/31 22:58:12Z mclee
+ * #ifndef OTA data updated parameter to avoid duplicate #define in engine.h
+ * Revision 1.1 2000/08/23 18:53:56Z hhong
+ * Initial revision
+ * Revision 1.8 2000/01/25 22:54:05 ddoucett
+ * removed hard tabs
+ *
+ * Revision 1.7 2000/01/24 23:14:38 ddoucett
+ * removed duplicate NAM_LOCK parameters in structures
+ *
+ * Revision 1.6 2000/01/20 21:46:31 ddoucett
+ * changed SSPRBlockList structure parameter to LIST_SIZE and to kal_uint16
+ *
+ * Revision 1.5 1999/12/21 22:24:43 ddoucett
+ * removed control M's
+ *
+ * Revision 1.4 1999/12/21 19:58:58 ddoucett
+ * tested version
+ *
+ * Revision 1.3 1999/11/12 20:30:22 ddoucett
+ * fixed define
+ *
+ * Revision 1.2 1999/11/03 00:24:19 ddoucett
+ * added Update bitmask defines
+ *
+ * Revision 1.1 1999/10/06 22:48:12 ddoucett
+ * Initial revision
+ *
+ *
+ ************************************************************************/
+
+#ifndef _OTA_DATA_H
+#define _OTA_DATA_H 1
+
+#include "ota_tune.h" /* tunable parameters */
+#include "wbios.h"
+/*
+ * Updated Data Mask Bits Defined
+ */
+
+#ifndef NAM_UPDATED
+#define NAM_UPDATED 0x01
+#define IMSI_UPDATED 0x02
+#define MDN_UPDATED 0x04
+#define AUTH_UPDATED 0x08
+#define SSPR_UPDATED 0x10
+#endif
+
+#define NAMSTATUS_UPDATED 0x20
+#define OTA_MEID_SIZE 7 /* same as defined in NAM */
+#define OTAPA_NAM_LOCK_KEEP_BS_SETTING 1
+#define OTAPA_NAM_LOCK_ALWAYS_LOCKED 2
+
+/* Settings used to determine whether UI will perform powercycle after OTASP completed or
+ * PSW perform an auto powercycle without UI intervention. Auto PSW would be used
+ * on devices without a UI, e.g. datacards.
+ */
+typedef enum
+{
+ OTASP_COMPLETE_UI_POWERCYCLE,
+ OTASP_COMPLETE_PSW_AUTO_POWERCYCLE
+} OtaCompletePowerupModeType;
+
+
+/*
+ * OTASP Protocol Capability
+ *
+ * This structure holds fields that define the capabilities of the
+ * OTASP PE. It selects which protocols and theire respective versions
+ * are supported as wll as general information on the mobile station itself.
+ */
+typedef struct {
+/* ADD (i.e. OR) FEATURES TO INDICATE WHICH PROTOCOLS SHOULD BE SUPPORTED */
+ kal_uint8 FEATURE_IDs;
+
+/* DO NOT NEED TO FILL IN AS THEY WILL BE COPIED FROM THE NAM PERM INDICATORS */
+ kal_uint16 MOB_FIRM_REV; /* Revision of firmware in mobile */
+ kal_uint8 MOB_MODEL; /* Model of mobile */
+
+/* FILL IN AS APPROPRIATE FOR OTASP SUPPORT REQUIRED */
+ kal_uint8 BAND_MODE_CAP; /* Band Mode Capability */
+ kal_uint8 DATA_P_REV; /* NAM Download protocol revision */
+ kal_uint8 A_KEY_P_REV; /* Key Exchange protocol revision */
+ kal_uint8 SSPR_P_REV; /* SSPR protocol revision */
+ kal_uint8 SPL_P_REV; /* Service Provisioning Lock protocol revision */
+ kal_uint8 OTAPA_P_REV; /* OTAPA protocol revision */
+} OTASP_PROTCAP;
+
+/*
+ * IS-95B Authentication Data
+ */
+typedef struct {
+ kal_uint8 A_KEY_TEMP[8];
+ kal_uint8 SSDa[8];
+ kal_uint8 SSDb[8];
+ kal_uint8 A_KEY_COUNT;
+ kal_bool Updated;
+} IS95AuthParms;
+
+/*
+ * IS-95B Permanent Mobile Station Indicators
+ */
+typedef struct {
+ kal_uint32 ESN;
+ kal_uint16 MOB_FIRM_REV;
+ kal_uint8 MOB_MODEL;
+ kal_uint8 SCM;
+ kal_uint8 MOB_P_REV;
+ kal_uint8 MEID[OTA_MEID_SIZE];
+} IS95PermParms;
+
+/*
+ * IS-683 Mobile Directory Number Block
+ */
+typedef struct {
+ kal_uint8 N_DIGITS;
+ kal_uint8 MDN[OTA_MAX_MDN_DIGITS];
+ kal_bool Updated;
+}IS683DigitParms;
+
+/*
+ * IS-683 Status Indicators
+ */
+typedef struct {
+ /* IS-683 flags */
+ kal_uint32 SPC;
+ kal_uint8 NAM_LOCK;
+ kal_bool Updated;
+
+ /* OTA internal flags */
+ kal_bool OTAPAAllow; /* Allows OTAPA session to be handled by MS */
+ kal_bool OTAFuncEnable; /* Enable OTA Functionality in MS */
+ kal_bool SPASMEnable; /* Enable SPASM function in MS */
+ kal_bool SPCChangeAllowed; /* SPC change control flag */
+
+} IS683NAMStatusParms;
+
+/*
+ * SSPR List Data Structures
+ *
+ */
+
+/*
+ * IS-683 SSPR List
+ */
+typedef struct {
+ kal_uint16 PR_LIST_SIZE;
+ kal_uint16 PR_LIST_ID;
+ PRL_PREV PR_SSPR_P_REV;
+ kal_bool PREF_ONLY;
+ kal_uint8 DEF_ROAM_IND;
+ kal_uint16 NUM_ACQ_RECS;
+ kal_uint16 NUM_SYS_RECS;
+ kal_uint16 NUM_SUBNET_RECS;
+} IS683SSPRList;
+
+/*
+ * IS-683 SSPR List in block list form
+ */
+typedef struct {
+ kal_uint16 LIST_SIZE;
+ kal_uint8 SSPRList[PRL_MAX_SIZE+1];
+ kal_bool Updated;
+} IS683SSPRListBlock;
+
+
+
+#endif
+
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/ota_msgs.h b/mcu/interface/protocol/as_c2k/1xrtt/ota_msgs.h
new file mode 100644
index 0000000..3ffdc8f
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/ota_msgs.h
@@ -0,0 +1,441 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*************************************************************************
+ *
+ * File Name: ota_msgs.h
+ * Project: OTASP
+ * Original Author: Dan Doucette
+ * Creation Date: Sept 3, 1999
+ *
+ * Description: Message structure definitions for message passing
+ * between the internal modules of the OTASP engine
+ *
+ * Restrictions:
+ *
+ * Dependencies:
+ *
+ *************************************************************************
+ *
+ * This Software is the property of ISOTEL Corporation. Unauthorized
+ * use is prohibited.
+ *
+ * ISOTEL Corporation
+ * 340, 525-28 Street S.E.
+ * Calgary, Alberta, Canada T2A 6W9
+ * Tel: (403)275-0041 Fax: (403)274-3598
+ * Web: http://www.isotel.com
+ *
+ *
+ *************************************************************************
+ *
+ * RCS Log Information
+ *
+ * $Revision: 1.4 $
+ *
+ * $Log: ota_msgs.h $
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ *
+ * 11 09 2016 sue.zhong
+ * [MOLY00208435] [6293][C2K]Sync C2K code to UMOLYA TRUNK
+ * Update C2K PS code (1/2)
+ * Revision 1.4 2006/03/10 15:45:53 winston
+ * Fix CR7319: Verizon OTA implementation and bug fixes
+ * Revision 1.3 2005/03/18 13:52:13 blee
+ * 4.05 Merge
+ * Revision 1.2 2004/03/25 12:08:06 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:38:22 fpeng
+ * Initial revision
+ * Revision 1.3 2002/06/06 11:11:52 mclee
+ * Update Copywrite Information
+ * Revision 1.2 2001/11/20 12:14:27 mclee
+ * CBP3 to CBP4 straight OTA directory copy
+ * Revision 1.1 2000/08/23 11:53:58 hhong
+ * Initial revision
+ * Revision 1.5 2000/01/26 21:04:37 ddoucett
+ * removed arm compiler warnings
+ *
+ * Revision 1.4 2000/01/25 22:54:05 ddoucett
+ * removed hard tabs
+ *
+ * Revision 1.3 1999/12/21 22:24:43 ddoucett
+ * removed control M's
+ *
+ * Revision 1.2 1999/12/21 19:58:58 ddoucett
+ * tested version
+ *
+ * Revision 1.1 1999/10/06 22:48:12 ddoucett
+ * Initial revision
+ *
+ *
+ ************************************************************************/
+
+#ifndef _OTA_MSGS_H
+#define _OTA_MSGS_H
+
+#include "ota_tune.h" /* Message limit defines */
+
+/*
+ * A few limits used by the messages which are not likely to
+ * be user configurable
+ */
+
+/*
+ * Length in bytes of the diffie hellman prime number
+ * 32 bytes -- 512 bits
+ */
+#define PARAM_P_LEN 64
+
+/*
+ * Length in bytes of the diffie hellman base number
+ * 20 bytes -- 160 bits
+ */
+#define PARAM_G_LEN 20
+
+/*
+ * Length in bytes of the diffie hellman bs result
+ * 32 bytes -- 512 bits
+ */
+#define MAX_BS_RESULT_LEN 64
+
+/*
+ * Length in bytes of the diffie hellman ms result
+ * 32 bytes -- 512 bits
+ */
+#define MAX_MS_RESULT_LEN 64
+
+
+/*
+ * Maximum Number of Validation Blocks contained in a
+ * validation request message
+ */
+#define MAX_NUM_VAL_BLOCKS 3
+
+/*
+ * Maximum Number of configuration Blocks contained in a
+ * configuration response message
+ */
+#define MAX_NUM_CONFIG_BLOCKS 4
+
+/*
+ * Maximum Number of download Blocks contained in a
+ * download response message
+ */
+#define MAX_NUM_DOWNLOAD_BLOCKS 4
+
+/*
+ * Maximum Number of feature Blocks contained in a
+ * protocol capability response message
+ */
+/*#ifdef SYS_OPTION_RUIM*/
+#define MAX_NUM_FEATURE_BLOCKS 32
+/*#else
+#define MAX_NUM_FEATURE_BLOCKS (NAM_DNLD_SUPPORTED+KEY_XCHNG_SUPPORTED+SSPR_SUPPORTED+SSPR_SUPPORTED+SPL_SUPPORTED+OTAPA_SUPPORTED+ERI_SUPPORTED)
+#endif*/
+
+/*
+ * Maximum number of additional fields contained in a
+ * protocol capability response message
+ */
+#define MAX_ADD_FIELD_BLOCKS 1
+
+/*
+ * Maximum Number of record Blocks contained in a
+ * extended protocol capability response message
+ */
+
+#define MAX_NUM_CAP_RECORDS 3
+
+/*
+ * Maximum capbility record Length in record Blocks contained in a
+ * extended protocol capability response message
+ */
+#define MAX_CAP_RECORD_LEN 7
+
+/*
+ * Length of Protocol Capability Request Message without
+ * MEID-capable field
+ */
+#define OTA_PROTCAP_REQ_BASIC_LENGTH 1
+
+/*
+ * OTASP P_Rev
+ */
+#define OTA_MOB_P_REV 0x04
+
+/*
+ * OTA_OP_MODE_TYPE define for Protocol Cap Resp
+ */
+typedef enum {
+ OTA_OP_MODE0 = 0x80, /* Analog */
+ OTA_OP_MODE1 = 0x40, /* CDMA */
+ OTA_OP_MODE2 = 0x20 /* HRPD */
+} OTA_OP_MODE_TYPE;
+
+
+/*
+ * Forward Link Message Formats
+ *
+ */
+
+/* Configuration request message */
+typedef struct {
+ kal_uint8 NUM_BLOCKS;
+ kal_uint8 BLOCK_ID[MAX_NUM_CONFIG_BLOCKS];
+} ConfReqMsg;
+
+/* parameter block */
+typedef struct {
+ kal_uint8 BLOCK_ID;
+ kal_uint8 BLOCK_LEN;
+ kal_uint8 PARAM_DATA[MAX_PARAM_SIZE];
+} ParamData;
+
+#define DOWNLOAD_NAM_IMSI_SIZE (7)
+
+/* download request message */
+typedef struct {
+ kal_uint8 NUM_BLOCKS;
+ ParamData parms[MAX_NUM_DOWNLOAD_BLOCKS];
+} DownReqMsg;
+
+/* MS Key Request Message */
+typedef struct {
+ kal_uint8 A_KEY_P_REV;
+ kal_uint8 PARAM_P[PARAM_P_LEN];
+ kal_uint8 PARAM_G[PARAM_G_LEN];
+} KeyReqMsg;
+
+/* Key Generation Request Message */
+typedef struct {
+ kal_uint8 BS_RESULT_LEN;
+ kal_uint8 BS_RESULT[MAX_BS_RESULT_LEN];
+} KeyGenReqMsg;
+
+/* Re Authenticate Request Message */
+typedef struct {
+ kal_uint32 RAND;
+} ReAuthReqMsg;
+
+/* SSPR Configuration Request Message */
+typedef struct {
+ kal_uint8 BLOCK_ID;
+ kal_uint16 REQUEST_OFFSET;
+ kal_uint8 REQUEST_MAX_SIZE;
+} SSPRConfReqMsg;
+
+/* SSPR Download Request Message */
+typedef struct {
+ kal_uint8 BLOCK_ID;
+ kal_uint8 BLOCK_LEN;
+ kal_uint8 PARAM_DATA [MAX_PARAM_SIZE];
+} SSPRDownReqMsg;
+
+/* validation Request Message */
+typedef struct {
+ kal_uint8 NUM_BLOCKS;
+ ParamData parms[MAX_NUM_VAL_BLOCKS];
+} ValReqMsg;
+
+/* OTAPA Request Message */
+typedef struct {
+ kal_uint8 START_STOP;
+} OTAPAReqMsg;
+
+/* Protocol Capability Request Message */
+typedef struct {
+ kal_uint8 OTASP_P_REV;
+ kal_uint8 NUM_CAP_RECORDS;
+ kal_uint8 CAP_RECORD_TYPE[MAX_NUM_CAP_RECORDS];
+} ProtCapReqMsg;
+
+/*
+ * Reverse Link Message Formats
+ */
+
+/* Configuration Response Message */
+typedef struct {
+ kal_uint8 NUM_BLOCKS;
+ ParamData parms[MAX_NUM_CONFIG_BLOCKS];
+ kal_uint8 RESULT_CODE[MAX_NUM_CONFIG_BLOCKS];
+} ConfRspMsg;
+
+/* Result Code Blocks */
+typedef struct {
+ kal_uint8 BLOCK_ID;
+ kal_uint8 RESULT_CODE;
+} ResultCode;
+
+/* Download Response Message */
+typedef struct {
+ kal_uint8 NUM_BLOCKS;
+ ResultCode results[MAX_NUM_DOWNLOAD_BLOCKS];
+} DownRspMsg;
+
+/* MS Key Response Message */
+typedef struct {
+ kal_uint8 RESULT_CODE;
+} KeyRspMsg;
+
+/* Key Generation Response Message */
+typedef struct {
+ kal_uint8 RESULT_CODE;
+ kal_uint8 MS_RESULT_LEN;
+ kal_uint8 MS_RESULT[MAX_MS_RESULT_LEN];
+} KeyGenRspMsg;
+
+/* Re Authenticate Response Message */
+typedef struct {
+ kal_uint32 AUTHR;
+ kal_uint8 RANDC;
+ kal_uint8 COUNT;
+ kal_uint8 AUTH_DATA[3];
+} ReAuthRspMsg;
+
+/* Commit Response Message */
+typedef struct {
+ kal_uint8 RESULT_CODE;
+} CommitRspMsg;
+
+/* Feature Block */
+typedef struct {
+ kal_uint8 FEATURE_ID;
+ kal_uint8 FEATURE_P_REV;
+} FeatureBlock;
+
+/* Protocol Capability Response Message */
+typedef struct {
+ kal_uint16 MOB_FIRM_REV;
+ kal_uint8 MOB_MODEL;
+ kal_uint8 NUM_FEATURES;
+ FeatureBlock Features[MAX_NUM_FEATURE_BLOCKS];
+ kal_uint8 ADD_LENGTH;
+ kal_uint8 AddFields[MAX_ADD_FIELD_BLOCKS];
+} ProtCapRspMsg;
+
+/* Extended Protocol Capability Response Message Capbility Records Block*/
+typedef struct {
+ kal_uint8 CAP_RECORD_TYPE;
+ kal_uint8 CAP_RECORD_LEN;
+ kal_uint8 Fields[MAX_CAP_RECORD_LEN];
+} CapRecordsBlock;
+
+/* Extended Protocol Capability Response Message */
+typedef struct {
+ kal_uint8 OTASP_MOB_P_REV;
+ kal_uint16 MOB_FIRM_REV;
+ kal_uint8 MOB_MODEL;
+ kal_uint8 NUM_FEATURES;
+ FeatureBlock Features[MAX_NUM_FEATURE_BLOCKS];
+ kal_uint8 NUM_CAP_RECORDS;
+ CapRecordsBlock Records[MAX_NUM_CAP_RECORDS];
+} ExtendedProtCapRspMsg;
+/* SSPR Configuration Response Message */
+typedef struct {
+ kal_uint8 RESULT_CODE;
+ ParamData parms;
+} SSPRConfRspMsg;
+
+/* SSPR Download Response Message */
+typedef struct {
+ kal_uint8 BLOCK_ID;
+ kal_uint8 RESULT_CODE;
+ kal_uint16 SEGMENT_OFFSET;
+ kal_uint8 SEGMENT_SIZE;
+} SSPRDownRspMsg;
+
+/* Validation Response Message */
+typedef struct {
+ kal_uint8 NUM_BLOCKS;
+ ResultCode results[MAX_NUM_VAL_BLOCKS];
+} ValRspMsg;
+
+/* OTAPA Response Message */
+typedef struct {
+ kal_uint8 RESULT_CODE;
+ kal_uint8 NAM_LOCK_IND;
+ kal_uint32 RAND_OTAPA;
+} OTAPARspMsg;
+
+/*
+ * OTA_MsgType: MsgType field of OTASP message (Request == Response)
+ */
+typedef enum {
+ OTA_CONF_RESP=0,
+ OTA_DNLD_RESP,
+ OTA_KEY_RESP,
+ OTA_KEY_GEN_RESP,
+ OTA_RE_AUTH_RESP,
+ OTA_COMMIT_RESP,
+ OTA_PROTCAP_RESP,
+ OTA_SSPR_CONF_RESP,
+ OTA_SSPR_DNLD_RESP,
+ OTA_VAL_RESP,
+ OTA_OTAPA_RESP,
+ OTA_EXT_PROTCAP_RESP=0x10
+} OTASP_RESP_MSG_TYPE;
+
+/*
+ * MsgType field of OTASP message
+ */
+typedef enum {
+ OTA_CONF_REQ=0,
+ OTA_DNLD_REQ,
+ OTA_KEY_REQ,
+ OTA_KEY_GEN_REQ,
+ OTA_RE_AUTH_REQ,
+ OTA_COMMIT_REQ,
+ OTA_PROTCAP_REQ,
+ OTA_SSPR_CONF_REQ,
+ OTA_SSPR_DNLD_REQ,
+ OTA_VAL_REQ,
+ OTA_OTAPA_REQ,
+ OTA_UPDATE_BINARY_REQ
+} OTASP_REQ_MSG_TYPE;
+#endif
+
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/ota_ofs.h b/mcu/interface/protocol/as_c2k/1xrtt/ota_ofs.h
new file mode 100644
index 0000000..ee24ef0
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/ota_ofs.h
@@ -0,0 +1,64 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 2002-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************
+ *
+ * Module: otatok.ofs
+ *
+ * Purpose: Defines module id offsets to add with token value
+ * to create contiguous tokens.
+ *
+ ***************************************************************/
+
+kal_uint16 TokenOffsetsOta[6] =
+{
+ 0,
+ 13,
+ 32,
+ 32,
+ 44,
+ 72
+};
+
+
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/ota_sec.h b/mcu/interface/protocol/as_c2k/1xrtt/ota_sec.h
new file mode 100644
index 0000000..42317f1
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/ota_sec.h
@@ -0,0 +1,417 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*************************************************************************
+ *
+ * File Name: ota_sec.h
+ * Project: OTASP
+ * Original Author: Dan Doucette
+ * Creation Date: Sept 1, 1999
+ *
+ * Description: Declares functions used for the SECURITY and
+ * DATABASE software blocks.
+ *
+ * Restrictions:
+ *
+ * Dependencies:
+ *
+ *************************************************************************
+ *
+ * This Software is the property of ISOTEL Corporation. Unauthorized
+ * use is prohibited.
+ *
+ * ISOTEL Corporation
+ * 340, 525-28 Street S.E.
+ * Calgary, Alberta, Canada T2A 6W9
+ * Tel: (403)275-0041 Fax: (403)274-3598
+ *
+ *
+ *************************************************************************
+ *
+ * RCS Log Information
+ * $Log: ota_sec.h $
+ *
+ * 11 28 2017 sue.zhong
+ * [MOLY00291705] [Coverity Scanned Code Defect]CID:1162735 code defect happened in /mcu/common/modem/c2k/ps/isotel/inc/ota_uim_pars.h
+ * .
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ *
+ * 11 09 2016 sue.zhong
+ * [MOLY00208435] [6293][C2K]Sync C2K code to UMOLYA TRUNK
+ * Update C2K PS code (1/2)
+ * Revision 1.3 2006/03/10 15:41:04 winston
+ * Fix CR7319: Verizon OTA implementation and bug fixes
+ * Revision 1.2 2004/03/25 12:08:08 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:38:23 fpeng
+ * Initial revision
+ * Revision 1.3 2002/06/06 11:12:17 mclee
+ * Update Copywrite Information
+ * Revision 1.2 2001/11/20 12:14:59 mclee
+ * CBP3 to CBP4 straight OTA directory copy
+ * Revision 1.3 2001/04/30 15:24:42 mclee
+ * Added prototype secUpdateNAMParms().
+ * Revision 1.2 2001/04/03 10:07:40 mclee
+ * Added prototype for secSSPRListOK() defined in ota_sec.c
+ * Revision 1.1 2000/08/23 18:54:11Z hhong
+ * Initial revision
+ * Revision 1.10 2000/01/25 22:54:05 ddoucett
+ * removed hard tabs
+ *
+ * Revision 1.9 2000/01/20 21:46:31 ddoucett
+ * removed ssda and ssdb update procedures from the api
+ *
+ * Revision 1.8 1999/12/21 22:24:43 ddoucett
+ * removed control M's
+ *
+ * Revision 1.7 1999/12/21 19:58:58 ddoucett
+ * tested version
+ *
+ * Revision 1.6 1999/11/29 20:55:27 ddoucett
+ * changed api adding disconnectInd and removine InSvcInd
+ *
+ * Revision 1.5 1999/11/25 19:53:35 ddoucett
+ * added ssda and ssdb update procedures
+ *
+ * Revision 1.4 1999/11/23 17:07:49 ddoucett
+ * changed origReq
+ *
+ * Revision 1.3 1999/11/12 20:30:22 ddoucett
+ * fixed define
+ *
+ * Revision 1.2 1999/11/03 00:24:02 ddoucett
+ * added release Request and updating procedure callouts
+ *
+ * Revision 1.1 1999/10/06 22:48:12 ddoucett
+ * Initial revision
+ *
+ *
+ ************************************************************************/
+
+#ifndef _OTA_SEC_H
+#define _OTA_SEC_H 1
+
+/*
+ * Dependencies
+ */
+
+#include "ota_api.h"
+#include "ota_uim_pars.h"
+#include "ota_data.h"
+
+/*
+ *
+ * Functions
+ *
+ */
+/*
+ * Name: secApiConnectInd
+ *
+ * Description: Indication the previously given origination
+ * request has been received and accepted/denied
+ *
+ * Parameters: None
+ *
+ * Returns: (nothing)
+ *
+ */
+void secApiConnectInd(void);
+
+/*
+ * Name: secApiInitialize
+ *
+ * Description: Initialize Security
+ *
+ * Parameters: (none)
+ *
+ * Returns: (none)
+ *
+ */
+void secApiInitialize(void);
+
+/*
+ * Name: secApiOrigInd
+ *
+ * Description: Start an OTASP session. If an OTAPA session is already
+ * in progress, the OTAPA session will be cancelled.
+ * The digits passed are used for authentication procedures
+ * and MUST match the digits used for origination of the
+ * OTASP call with the base-station.
+ *
+ * Parameters: digits - pointer to digits that were used to originate
+ * the OTASP call with the base-station. A maximum of
+ * 6 digits will be copied from this array.
+ * num - actual number of digits in array
+ *
+ * Returns: (nothing)
+ *
+ */
+void secApiOrigInd(kal_uint8 *digits, kal_uint8 num);
+
+
+/*
+ * Name: secApiReleaseReq
+ *
+ * Description: Indication the user has given a release
+ * request
+ *
+ * Parameters: (NONE)
+ *
+ * Returns: (NONE)
+ */
+void secApiReleaseReq(void);
+
+
+/*
+ * Security to Parser Interface
+ */
+
+/*
+ * Name: secParsValidateReq
+ *
+ * Description: Function called in response to the base station
+ * request to validate
+ *
+ * Parameters: ValReqMsg* input: Request parameters
+ * ValRspMsg* output: Response parameters
+ *
+ * Returns: (NONE)
+ */
+void secParsValReq(ValReqMsg* msg);
+
+/*
+ * Name: secParsOTAPAReq
+ *
+ * Description: Network Initiated OTAPA session indication
+ *
+ * Parameters: OTAPAReqMsg* input: Request parameters
+ *
+ * Returns: (NONE)
+ */
+void secParsOTAPAReq(OTAPAReqMsg *req);
+
+void secParsConfReq(ConfReqMsg* req);
+void secParsDNLDReq(DownReqMsg* req);
+void secParsNextDNLDReq(void);
+void GetAuthData(kal_uint8 * authData, kal_uint32 imsi_s1, kal_uint8* digs);
+void secParsKeyReq(KeyReqMsg* req);
+void secParsKeyGenReq(KeyGenReqMsg* req);
+void secParsReAuthReq(ReAuthReqMsg* req);
+void secParsValidateReq(ValReqMsg* req);
+void secParsNextValidateReq(void);
+void secParsNextDNLDReq(void);
+void secParsNextConfReq(void);
+void secParsCommitReq(void);
+void secParsOTAReq(void);
+void secApiResponse(UimRspMsgT* MsgP, OTASP_REQ_MSG_TYPE MsgType);
+void secParsSSPRConfReq(SSPRConfReqMsg* req);
+void secParsSSPRDNLDReq(SSPRDownReqMsg* req);
+/*
+ * DataBase interface functions
+ *
+ */
+
+/*
+ * Name: dataParsConfigReq
+ *
+ * Description:
+ *
+ * Parameters: ConfReqMsg* input message,
+ * ConfRspMsg* output response to input
+ *
+ * Returns: (NONE)
+ */
+void dataParsConfigReq(ConfReqMsg* msg, ConfRspMsg* result);
+
+/*
+ * Name: dataParsProtCap
+ *
+ * Description:
+ *
+ * Parameters: ProtCapRspMsg* output of the protocol capabilities
+ * of the mobile station
+ *
+ * Returns: (NONE)
+ */
+void dataParsProtCap(ProtCapRspMsg* result);
+
+/*
+ * Name: dataParsDownloadReq
+ *
+ * Description:
+ *
+ * Parameters: DownReqMsg* input: request parameters
+ * DownRspMsg* output: response parameters
+ *
+ * Returns: (NONE)
+ */
+void dataParsDownloadReq(DownReqMsg* msg, DownRspMsg* result);
+
+/*
+ * Name: dataParsSSPRConfigReq
+ *
+ * Description:
+ *
+ * Parameters: SSPRConfReqMsg* input: Request parameters
+ * SSPRConfRspMsg* output: Response parameters
+ *
+ * Returns: (NONE)
+ */
+void dataParsSSPRConfigReq(SSPRConfReqMsg* msg, SSPRConfRspMsg* result);
+
+/*
+ * Name: dataParsSSPRDownloadReq
+ *
+ * Description:
+ *
+ * Parameters: SSPRDownReqMsg* input: Request parameters
+ * SSPRDownRspMsg* output: Response parameters
+ *
+ * Returns: (NONE)
+ */
+void dataParsSSPRDownloadReq(SSPRDownReqMsg* msg, SSPRDownRspMsg* result);
+
+
+
+/*
+ * Data interface to the AUTHENTICATION unit
+ */
+
+/*
+ * Name: dataAuthGetPermParms
+ *
+ * Description: Allows access to the permanent parameters
+ * stored in the database
+ *
+ * Parameters: Output: IS95PermParms *parms
+ *
+ * Returns: (NONE)
+ */
+void dataAuthGetPermParms(IS95PermParms *parms);
+
+/*
+ * Name: dataAuthGetNAMParms
+ *
+ * Description: Allows access to the NAM parameters
+ * stored in the database
+ *
+ * Parameters: Output: IS95NAMParms *parms
+ *
+ * Returns: (NONE)
+ */
+void dataAuthGetNAMParms(IS95NAMParms *parms);
+
+/*
+ * Name: secSSPRListOK
+ *
+ * Description: Indicates whether IS683SSPRListBlock correctly populated
+ * and ready for use.
+ *
+ * Parameters: FillOK
+ *
+ * Returns: (NONE)
+ */
+void secSSPRListOK(kal_bool SSPRStatus);
+
+/*
+ * Name: secUpdateParms
+ *
+ * Description: Commit finished. Refresh local Parms structs.
+ *
+ * Parameters: (NONE)
+ *
+ * Returns: (NONE)
+ */
+void secUpdateParms(void);
+
+/*
+ * Name: dataParsExtendedProtCap
+ *
+ * Description:
+ *
+ * Parameters: ProtCapReqMsg* input message,
+ * ExtendedProtCapRspMsg* output response
+ *
+ * Returns: (NONE)
+ */
+void dataParsExtendedProtCap(ProtCapReqMsg *msg, ExtendedProtCapRspMsg *rsp);
+
+/*
+ * Name: otaSecGetCommitMask()
+ *
+ * Description: API used to retrieve CommitUpdateMask
+ *
+ * Parameters: void
+ *
+ * Returns: kal_uint8 CommitUpdateMask
+ */
+kal_uint8 otaSecGetCommitMask(void);
+
+/*
+ * Name: otaSecClearCommitMask()
+ *
+ * Description: Commit finished, refresh local Parm structs.
+ *
+ * Parameters: (NONE)
+ *
+ * Returns: (NONE)
+ */
+void otaSecClearCommitMask(void);
+
+/*
+ * Acquisition Record types
+ */
+#define C_ANALOG 1 /* cellular analog */
+#define C_CDMA_SC 2 /* cellular cdma standard channels */
+#define C_CDMA_CC 3 /* cellular cdma custom channels */
+#define C_CDMA_PC 4 /* cellular cdma preferred */
+#define P_CDMA_BL 5 /* pcs cdma using blocks */
+#define P_CDMA_CH 6 /* pcs cdma using channels */
+
+
+#endif /* _OTA_SEC_H */
+
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/ota_tune.h b/mcu/interface/protocol/as_c2k/1xrtt/ota_tune.h
new file mode 100644
index 0000000..ce3f2a8
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/ota_tune.h
@@ -0,0 +1,301 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*************************************************************************
+ *
+ * File Name: ota_tune.h
+ * Project: IS-683A MS OTASP
+ * Original Author: MMS
+ * Creation Date: Jan. 4th/1999
+ *
+ * Description: IS-683A MS OTASP Tuning File
+ *
+ * Restrictions: It is intended that this file be customer-modified.
+ *
+ * Dependencies:
+ *
+ *************************************************************************
+ *
+ * This Software is the property of ISOTEL Research Ltd. Unauthorized
+ * use is prohibited.
+ *
+ * ISOTEL Research Ltd.
+ * 220, 6815-8th Street N.E.
+ * Calgary, Alberta, Canada T2E 7H7
+ * Tel: (403)275-0041 Fax: (403)274-3598
+ *
+ *
+ *************************************************************************
+ *
+ * RCS Log Information
+ *
+ *
+ ************************************************************************/
+
+#ifndef _OTA_TUNE_H
+#define _OTA_TUNE_H 1
+
+/*
+ * SSPR List Parameters
+ */
+/* ---------------------------------------------------------------------
+ * Name: OTA_PARS_BUFFER_SIZE
+ *
+ * Description: Maximum number of octets that can be transmitted in any one
+ * OTASP message by the OTASP PE.
+ *
+ * Restrictions: 1 - 64K
+ *
+ * Default Value:
+ * 256
+ *
+ */
+#define OTA_PARS_BUFFER_SIZE (256)
+
+/* ---------------------------------------------------------------------
+ * Name: OTA_MAX_SID_NID_PAIRS
+ *
+ * Description: Maximum number of SID/NID pairs supported by OTASP PE
+ *
+ * Restrictions: 1 - 255
+ *
+ * Default Value:
+ * 1
+ *
+ */
+#define OTA_MAX_SID_NID_PAIRS 20
+
+/* ---------------------------------------------------------------------
+ * Name: OTA_MAX_DIGITS
+ *
+ * Description: Maximum number of digits contained in the mobile
+ * origination message
+ *
+ * Restrictions: 1 - 255
+ *
+ * Default Value:
+ * 16
+ *
+ */
+#define OTA_MAX_DIGITS 16
+
+/* ---------------------------------------------------------------------
+ * Name: OTA_MAX_PARAM_SIZE
+ *
+ * Description: Maximum number of bytes any PARAM_DATA message
+ * component may contain
+ *
+ * Restrictions: 1 - 244
+ *
+ * Default Value:
+ * 16
+ *
+ */
+#define MAX_PARAM_SIZE 255
+
+/* ---------------------------------------------------------------------
+ * Name: OTA_MAX_MDN_DIGITS
+ *
+ * Description: Maximum number of digits contained in the mobile
+ * directory number
+ *
+ * Restrictions: 1 - 15
+ *
+ * Default Value:
+ * 15
+ *
+ */
+
+#ifndef OTA_MAX_MDN_DIGITS
+#define OTA_MAX_MDN_DIGITS 15
+#endif
+
+
+/*
+ * Protocol Capabilities
+ */
+/* ---------------------------------------------------------------------
+ * Name: NAM_DNLD_SUPPORTED
+ *
+ * Description: Indicates the mobile supports the downloading of
+ * NAM parameters
+ *
+ * Restrictions: 0 -- KAL_FALSE
+ * 1 -- KAL_TRUE
+ *
+ * Default Value:
+ * KAL_TRUE -- 1
+ *
+ */
+#define NAM_DNLD_SUPPORTED 1
+
+/* ---------------------------------------------------------------------
+ * Name: KEY_XCHNG_SUPPORTED
+ *
+ * Description: Indicates the mobile supports the exchanging of
+ * the A_KEY
+ *
+ * Restrictions: 0 -- KAL_FALSE
+ * 1 -- KAL_TRUE
+ *
+ * Default Value:
+ * KAL_TRUE -- 1
+ *
+ */
+#define KEY_XCHNG_SUPPORTED 1
+
+/* ---------------------------------------------------------------------
+ * Name: SSPR_SUPPORTED
+ *
+ * Description: Indicates the mobile supports System Selection for
+ * Preferred Roaming
+ *
+ * Restrictions: 0 -- KAL_FALSE
+ * 1 -- KAL_TRUE
+ *
+ * Default Value:
+ * KAL_TRUE -- 1
+ *
+ */
+#define SSPR_SUPPORTED 1
+
+/* ---------------------------------------------------------------------
+ * Name: SPL_SUPPORTED
+ *
+ * Description: Indicates the mobile supports Service Programming Lock
+ *
+ * Restrictions: 0 -- KAL_FALSE
+ * 1 -- KAL_TRUE
+ *
+ * Default Value:
+ * KAL_TRUE -- 1
+ *
+ */
+#define SPL_SUPPORTED 1
+
+/* ---------------------------------------------------------------------
+ * Name: OTAPA_SUPPORTED
+ *
+ * Description: Indicates the mobile supports Over The Air Service
+ * Administration
+ *
+ * Restrictions: 0 -- KAL_FALSE
+ * 1 -- KAL_TRUE
+ *
+ * Default Value:
+ * KAL_TRUE -- 1
+ *
+ */
+#define OTAPA_SUPPORTED 1
+
+/* ---------------------------------------------------------------------
+ * Name: ERI_SUPPORTED
+ *
+ * Description: Indicates the mobile supports ERI feature
+ *
+ * Restrictions: 0 -- KAL_FALSE
+ * 1 -- KAL_TRUE
+ *
+ * Default Value:
+ * KAL_TRUE -- 1
+ *
+ */
+#if (defined(VERIZON_EXTENSIONS))
+
+#define ERI_SUPPORTED 1
+
+#else
+
+#define ERI_SUPPORTED 0
+
+#endif
+
+/*
+ * Mobile Band Mode Capabilities
+ */
+/* ---------------------------------------------------------------------
+ * Name: BAND_0_ANALOG
+ *
+ * Description: Indicates the mobile supports Band Class 0 Analog Mode
+ *
+ * Restrictions: 0 -- KAL_FALSE
+ * 1 -- KAL_TRUE
+ *
+ * Default Value:
+ * KAL_TRUE -- 1
+ *
+ */
+#define BAND_0_ANALOG 1
+
+/* ---------------------------------------------------------------------
+ * Name: BAND_0_CDMA
+ *
+ * Description: Indicates the mobile supports Band Class 0 CDMA
+ *
+ * Restrictions: 0 -- KAL_FALSE
+ * 1 -- KAL_TRUE
+ *
+ * Default Value:
+ * KAL_TRUE -- 1
+ *
+ */
+#define BAND_0_CDMA 1
+
+/* ---------------------------------------------------------------------
+ * Name: BAND_1_CDMA
+ *
+ * Description: Indicates the mobile supports Band Class 1 CDMA
+ *
+ * Restrictions: 0 -- KAL_FALSE
+ * 1 -- KAL_TRUE
+ *
+ * Default Value:
+ * KAL_TRUE -- 1
+ *
+ */
+#define BAND_1_CDMA 1
+
+
+
+#endif /* _OTA_TUNE_H */
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/ota_uim_pars.h b/mcu/interface/protocol/as_c2k/1xrtt/ota_uim_pars.h
new file mode 100644
index 0000000..33decac
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/ota_uim_pars.h
@@ -0,0 +1,403 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*************************************************************************
+ *
+ * File Name: ota_uim_pars.h
+ * Project: OTASP
+ *
+ * Description: Declaration of functions used for the interface
+ * between DLI and OTASP engine for UIM
+ *
+ *************************************************************************/
+#ifndef _OTA_PARS_UIM_H
+#define _OTA_PARS_UIM_H 1
+
+/*
+ * Dependencies
+ */
+#include "ota_api.h"
+#include "ota_msgs.h" /* message structure definitions */
+
+/*
+ * ResultCode: Result code to send in any OTASP response
+ */
+/*
+IS-683-C 3.5.1.2 Download Response Message RESULT_CODE :
+'00000000' Accepted - Operation successful
+'00000001' Rejected - Unknown reason
+'00000010' Rejected - Data size mismatch
+'00000011' Rejected - Protocol version mismatch
+'00000100' Rejected - Invalid parameter
+'00000101' Rejected - SID/NID length mismatch
+'00000110' Rejected - Message not expected in this mode
+'00000111' Rejected - BLOCK_ID value not supported
+'00001000' Rejected - Preferred roaming list length mismatch
+'00001001' Rejected - CRC error
+'00001010' Rejected - Mobile station locked
+'00001011' Rejected - Invalid SPC
+'00001100' Rejected - SPC change denied by the user
+'00001101' Rejected - Invalid SPASM
+'00001110' Rejected - BLOCK_ID not expected in this mode
+'00001111' Rejected - User Zone already in PUZL
+'00010000' Rejected - User Zone not in PUZL
+'00010001' Rejected - No entries in PUZL
+'00010010' Rejected - Operation Mode mismatch
+'00010011' Rejected - SimpleIP MAX_NUM_NAI mismatch
+'00010100' Rejected - SimpleIP MAX_NAI_LENGTH mismatch
+'00010101' Rejected - MobileIP MAX_NUM_NAI mismatch
+'00010110' Rejected - MobileIP MAX_NAI_LENGTH mismatch
+'00010111' Rejected - SimpleIP PAP MAX_SS_LENGTH mismatch
+'00011000' Rejected - SmpleIP CHAP MAX_SS_LENGTH mismatch
+'00011001' Rejected - MobileIP MAX_MN-AAA_SS_LENGTH mismatch
+'00011010' Rejected - MobileIP MAX_MN-HA_SS_LENGTH mismatch
+'00011011' Rejected - MobileIP MNAAA_AUTH_ALGORITHM mismatch
+'00011100' Rejected - MobileIP MNHA_AUTH_ALGORITHM mismatch
+'00011101' Rejected - SimpleIP ACT_NAI_ENTRY_INDEX mismatch
+'00011110' Rejected - MobileIP ACT_NAI_ENTRY_INDEX mismatch
+'00011111' Rejected - SimpleIP PAP NAI_ENTRY_INDEX mismatch
+'00100000' Rejected - SimpleIP CHAP NAI_ENTRY_INDEX mismatch
+'00100001' Rejected - MobileIP NAI_ENTRY_INDEX mismatch
+'00100010' Rejected - Unexpected PRL_BLOCK_ID change
+'00100011' Rejected - PRL format mismatch
+'00100100' ~ '01111111' Reserved for future standardization
+'10000000' ~ '11111110' Available for manufacturer-specific Result Code definitions
+'11111111' Reserved
+*/
+typedef enum {
+ PARS_RC_ACCEPTED,
+ PARS_RC_UNKNOWN,
+ PARS_RC_DATA_SIZE_MISMATCH,
+ PARS_RC_PROTOCOL_VERSION_MISMATCH,
+ PARS_RC_INVALID_PARAMETER,
+ PARS_RC_SIDNID_LENGTH_MISMATCH,
+ PARS_RC_MSG_NOT_EXPECTED_IN_THIS_MODE,
+ PARS_RC_BLOCK_ID_NOT_SUPPORTED,
+ PARS_RC_PR_LIST_LENGTH_MISMATCH,
+ PARS_RC_CRC_ERROR,
+ PARS_RC_MOBILE_STATION_LOCKED,
+ PARS_RC_INVALID_SPC,
+ PARS_RC_SPC_CHANGE_DENIED_BY_USER,
+ PARS_RC_INVALID_SPASM,
+ PARS_RC_BLOCK_ID_NOT_EXPECTED_IN_THIS_MODE,
+ PARS_RC_USER_ZONE_ALREAY_IN_PUZL,
+ PARS_RC_USER_ZONE_NOT_IN_PUZL,
+ PARS_RC_NO_ENTRIES_IN_PUZL,
+ PARS_RC_OPERATION_MODE_MISMATCH,
+ PARS_RC_SIP_MAX_NUM_NAI_MISMATCH,
+ PARS_RC_SIP_MAX_NAI_LEN_MISMATCH, /* 0x14 */
+ PARS_RC_MIP_MAX_NUM_NAI_MISMATCH,
+ PARS_RC_MIP_MAX_NAI_LEN_MISMATCH,
+ PARS_RC_SIP_PAP_MAX_SS_LEN_MISMATCH,
+ PARS_RC_SIP_CHAP_MAX_SS_LEN_MATCH,
+ PARS_RC_MIP_MAX_MN_AAA_SS_LEN_MISMATCH,
+ PARS_RC_MIP_MAX_MN_HA_SS_LEN_MISMATCH,
+ PARS_RC_MIP_MN_AAA_AUTH_ALG_MISMATCH,
+ PARS_RC_MIP_HA_AAA_AUTH_ALG_MISMATCH,
+ PARS_RC_SIP_ACT_NAI_ENTRY_INDEX_MISMATCH,
+ PARS_RC_MIP_ACT_NAI_ENTRY_INDEX_MISMATCH, /* 0x1E */
+ PARS_RC_SIP_PAP_NAI_ENTRY_INDEX_MISMATCH,
+ PARS_RC_SIP_CHAP_NAI_ENTRY_INDEX_MISMATCH,
+ PARS_RC_MIP_NAI_ENTRY_INDEX_MISMATCH,
+ PARS_RC_UNEXPECTED_PRL_BLOCK_ID_CHANGE,
+ PARS_RC_PRL_FORMAT_MISMATCH,
+ PARS_RC_HRPD_ACCESS_AUTH_MAX_NAI_LEN_MISMATCH,
+ PARS_RC_HRPD_ACCESS_AUTH_CHAP_MAX_SS_LEN_MISMATCH,
+ PARS_RC_MMD_MAX_NUM_IMPU_MISMATCH,
+ PARS_RC_MMD_MAX_IMPU_LEN_MISMATCH,
+ PARS_RC_MMD_MAX_NUM_P_CSCF_MISMATCH, /* 0x28 */
+ PARS_RC_MMD_MAX_P_CSCF_LEN_MISMATCH,
+ PARS_RC_NUM_MMS_URI_MISMATCH,
+ PARS_RC_MMS_URI_MISMATCH,
+ PARS_RC_MMS_URI_LEN_MISMATCH,
+ PARS_RC_INVALID_MMS_URI
+} ResultCodes;
+
+/*
+ * ValBlockIds: BLOCK_IDs that pertain to the Validate message.
+ * use ADD_BLOCK to assemble a list of these IDs.
+ */
+typedef enum {
+ VERIFY_SPC_BLOCK=0,
+ CHANGE_SPC_BLOCK,
+ VALIDATE_SPASM_BLOCK,
+ VAL_BLOCK_MAX
+} ValBlockIds;
+
+/*
+ * ParsBlockIds: BLOCK_IDs that pertian to Config/Dnld Req/Resp messages
+ * Use ADD_BLOCK to assemble list.
+ */
+typedef enum {
+ OTA_CDMA_ANALOG_NAM_BLOCK,
+ OTA_MDN_BLOCK,
+ OTA_CDMA_NAM_BLOCK,
+ OTA_IMSI_T_BLOCK,
+ PARS_MAX_BLOCKS
+} ParsBlockIds;
+
+/*
+ * ParsSSPRBlockIds; BLOCK_IDs for the SSPR Conf Req/Resp. Use ADD_BLOCK
+ * to make a list. The SSPR Dnld. only supports one BLOCK_ID
+ * (RoamingList)
+ * which is defined separately. The IS683A spec COULD have re-used the
+ * BLOCK_IDs to simplify this.
+ */
+typedef enum {
+ OTA_SSPR_PR_DNLD = 0,
+ OTA_SSPR_DIM=0,
+ OTA_SSPR_PR,
+ PARS_MAX_SSPR_BLOCKS
+} ParsSSPRBlockIds;
+
+
+/*
+ * ParsBlockSize (in bits)
+ */
+#define OTA_CDMA_NAM_BLOCK_SIZE(N) (1+3+10+7+34+4+1+1+1+1+8+((N)*(15+16)))
+#define OTA_CDMA_ANALOG_NAM_BLOCK_SIZE(N) (11+15+1+OTA_CDMA_NAM_BLOCK_SIZE((N)))
+#define OTA_MDN_BLOCK_SIZE(N) (4+((N)*4))
+#define OTA_IMSI_T_BLOCK_SIZE (4+10+7+24)
+
+#define BITS_TO_BYTES(X) (((X)/8) + (((X)%8) ? 1:0))
+
+/*
+ * ADD_BLOCK/REMOVE_BLOCK: Add and remove a BLOCK_ID from a list (kal_uint32)
+ */
+#define ADD_BLOCK(list,block_id) (list |= (1<<block_id))
+#define REMOVE_BLOCK(list,block_id) (list &= ~(1<<block_id))
+#define IS_PRESENT(list,block_id) ((list>>block_id) & 0x01)
+
+#define OTA_QUEUE_SIZE 10
+
+/*
+ * Name: parsApiInitialize
+ *
+ * Description: Initialize the parser.
+ *
+ * Parameters: (none)
+ *
+ * Returns: (nothing)
+ *
+ */
+void parsApiInitialize(void);
+
+/*
+ * Name: parsSecParserLockOut
+ *
+ * Description: Indicates the base station has exceeded its limit
+ * of validation failures
+ *
+ * Parameters: (nothing)
+ *
+ * Returns: (nothing)
+ *
+ */
+void parsSecParserLockOut(void);
+
+/*
+ * Parser to Authentication Response Functions
+ */
+
+/*
+ * Name: parsAuthKeyRspUim
+ *
+ * Description: Function called by the Authenticator to indicate
+ * the completion of the key request.
+ *
+ * Parameters: *KeyRspMsg -- Pointer to a KeyRspMsg struct
+ *
+ * Returns: (NONE)
+ *
+ */
+void parsAuthKeyRspUim(KeyRspMsg* rsp);
+void parsAuthKeyRsp(KeyRspMsg* rsp);
+
+/*
+ * Name: parsAuthKeyGenRspUim
+ *
+ * Description: Function called by the Authenticator to indicate
+ * the completion of the key generation request.
+ *
+ * Parameters: *KeyGenRspMsg -- Pointer to a KeyGenRspMsg struct
+ *
+ * Returns: (NONE)
+ *
+ */
+void parsAuthKeyGenRspUim(KeyGenRspMsg* rsp);
+void parsAuthKeyGenRsp(KeyGenRspMsg* rsp);
+
+/*
+ * Name: parsAuthReAuthRspUim
+ *
+ * Description: Function called by the Authenticator to indicate
+ * the completion of the re-authentication process
+ *
+ * Parameters: *ReAuthRspMsg -- Pointer to a ReAuthRspMsg struct
+ *
+ * Returns: (NONE)
+ *
+ */
+void parsAuthReAuthRspUim(ReAuthRspMsg* rsp);
+void parsAuthReAuthRsp(ReAuthRspMsg* rsp);
+
+/*
+ * Parser to Security response functions
+ */
+
+/*
+ * Name: parsSecOTAPARspUim
+ *
+ * Description: Function called by the security to indicate
+ * the completion of the OTAPA request and to
+ * indicate the security state change to NETWORK
+ *
+ * Parameters: *OTAPARspMsg -- Pointer to a OTAPARspMsg struct
+ *
+ * Returns: (NONE)
+ *
+ */
+void parsSecOTAPARspUim(OTAPARspMsg* rsp);
+void parsSecOTAPARsp(OTAPARspMsg* rsp);
+
+/*
+ * Name: parsSecValRsp
+ *
+ * Description: Function called by security to indicate the
+ * response to a base station validation request
+ *
+ * Parameters: *ValRspMsg -- Pointer to a ValRspMsg struct
+ *
+ * Returns: (NONE)
+ *
+ */
+void parsSecValRsp(ValRspMsg* rsp);
+void parsSecConfRsp(ConfRspMsg* rsp);
+void parsSecSSPRConfRsp(SSPRConfRspMsg* rsp);
+void parsSecDownRsp(DownRspMsg* rsp);
+void parsSecSSPRDownRsp(SSPRDownRspMsg* rsp);
+
+/*
+ * Name: parsSecCommitRsp
+ *
+ * Description: Function called by security to indicate the
+ * response to a base station commit request
+ *
+ * Parameters: *CommitRspMsg -- Pointer to a CommitRspMsg struct
+ *
+ * Returns: (NONE)
+ *
+ */
+void parsSecCommitRsp(CommitRspMsg* rsp);
+
+/*
+ * API to Parser Functions
+ */
+
+/*
+ * Name: parsApiInSvcInd
+ *
+ * Description: Indicates the DLI (CPE) is in the correct state
+ * for processing OTASP messages
+ *
+ * Parameters: (nothing)
+ *
+ * Returns: (nothing)
+ *
+ */
+void parsApiInSvcInd(kal_bool insvc);
+
+/*
+ * Name: parsApiMsgConfirm
+ *
+ * Description: Confirms delivery of the message sent to the
+ * DLI
+ *
+ * Parameters: kal_bool success - KAL_TRUE, message delivered ok
+ * KAL_FALSE, message not delivered to base
+ * station
+ *
+ * Returns: (nothing)
+ *
+ */
+void parsApiMsgConfirm(kal_bool success);
+
+/*
+ * Name: parsApiRcvMsgInd
+ *
+ * Description: Indicates arrival of an OTASP message from the base
+ * station.
+ *
+ * Parameters: data - pointer to octets of OTASP message
+ * len - # of octets in message
+ *
+ * Returns: (nothing)
+ *
+ */
+void parsApiRcvMsgInd(kal_uint8 *data, kal_uint16 len);
+
+/*
+ * Name: parsApiReleaseReq
+ *
+ * Description: User initiated release of OTASP process
+ *
+ * Parameters: kal_uint8 reason; Reason for disconnect
+ *
+ * Returns: (none)
+ *
+ */
+void parsApiReleaseReq(kal_uint8 reason);
+
+/*
+ * Name: parsApiGetUimAKeyGenerated
+ *
+ * Description: For UIM, return whether AKey has been generated during OTA session.
+ *
+ * Parameters: void
+ *
+ * Returns: kal_bool UimAKeyGenerated
+ *
+ */
+kal_bool parsApiGetUimAKeyGenerated(void);
+#endif
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/pch_msg.h b/mcu/interface/protocol/as_c2k/1xrtt/pch_msg.h
new file mode 100644
index 0000000..d501830
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/pch_msg.h
@@ -0,0 +1,1591 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Module: pch_msg.h
+ *
+ * Purpose: Header file Containing structures for Page Channel
+ * Messages.
+ *
+ ****************************************************************************
+ *
+ * PVCS Header Information
+ *
+ * $Revision: 1.7 $
+ * $Author: hans $
+ *
+ * $Log: pch_msg.h $
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ *
+ * 05 18 2017 peijun.zheng
+ * [MOLY00249027] [BIACNO][MT6763][New feature]C2K code release code modification
+ *
+ * Fix HSC code release build error and 1xRTT OTA message parse
+ *
+ * 05 17 2017 peijun.zheng
+ * [MOLY00249027] [BIACNO][MT6763][New feature]C2K code release code modification
+ *
+ * C2k code release.
+ *
+ * 12 15 2016 sue.zhong
+ * [MOLY00217270] [6293][C2K]Sync C2K code to UMOLYA TRUNK from C2K CBr (W51)
+ * c2k source
+ * Revision 1.7 2005/03/18 11:45:06 hans
+ * Merged code changes from CBP4.05 revision 2.02 to CBP4.05 revision 4.21.
+ * Revision 1.6 2005/02/03 13:29:20 dstecker
+ * Changed rlgainCommonPilot to signed in BcchEAPM
+ * Revision 1.5 2004/06/21 17:24:12 dstecker
+ * UNLM message corrections
+ * Revision 1.4 2004/04/23 10:51:07 asharma
+ * CBP6.1 (Phase-1) DV Data and Voice Call Setup changes.
+ * Revision 1.3.1.3 2004/04/19 16:21:40 asharma
+ * Revision 1.3.1.2 2004/04/14 15:20:51 asharma
+ * Revision 1.3 2004/04/06 14:02:18 dstecker
+ * CBP6.1 release 1
+ * Revision 1.2 2004/03/25 12:09:40 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.2 2003/08/28 11:19:53 bcolford
+ * Update for merge.
+ * Revision 1.16 2003/05/21 17:12:40 byang
+ * CR#570: Replace compiler flag with IS2000A with IS2000_REV_0.
+ * Revision 1.15 2002/12/27 11:24:00 hans
+ * Bugfix to Label:CP_PS_1.73.0_LAYER2_FixCR570
+ * Revision 1.14 2002/12/20 11:04:22 byang
+ * CR#570: Compiled out IS2000 Rev. A data tyeps with IS2000_REV_A.
+ * Revision 1.13 2002/10/23 13:47:35 dstecker
+ * Corrected mask used to find add and drop intercept sign bit
+ * Revision 1.12 2002/07/15 13:14:41 chinh
+ * Removed compile switch CBP3_MERGE (CR598).
+ * Revision 1.11 2002/06/06 13:14:04 chinh
+ * Changed and Added Copyright
+ * Revision 1.10 2002/04/11 10:12:08 byang
+ * CR 586: Modify data type for cdmaFreq[ MAX_CDMA_FREQ ]
+ * in PChECCLM from kal_uint8 to kal_uint16.
+ * Revision 1.9 2002/02/14 16:17:54 byang
+ * CR 443: Add an invalid entry for QpchTransPwr type to be used
+ * when the network does not include qpchPowerLevelConfig in the
+ * ESPM.
+ * Revision 1.8 2002/01/17 17:31:21 akayvan
+ * Implemented Slotted Mode mods.
+ * Revision 1.7 2001/10/29 13:55:45 byang
+ * Sign extend the two's complement value for rlgainTrafficPilot in ESPM.
+ * Revision 1.6 2001/10/29 09:48:27 mclee
+ * Modified code to enforce kal_bool to strictly enum type KAL_TRUE or KAL_FALSE
+ * Revision 1.5 2001/10/24 10:23:38 byang
+ * Changed 2 occurances of rlgainAdj data type from kal_uint8 to
+ * kal_int8.
+ * Revision 1.4 2001/07/18 15:13:49 chinh
+ * cbp3 porting for Idle and Access
+ * Revision 1.3 2001/04/27 16:29:53 byang
+ * Update processing of EGSRM & ECCLM for IS-2000 Rev.0.
+ * Revision 1.2 2001/04/06 11:03:41 byang
+ * Fixed extractEnhTCExtAssignment() and made cpExtractPilotRec() a public utility function.
+ * Revision 1.1.1.2 2001/04/05 16:19:21 byang
+ * Made utility function cpExtractPilotRec() into public.
+ * Revision 1.1.1.1 2001/01/17 10:59:11 byang
+ * Duplicate revision
+ * Revision 1.1 2001/01/17 10:59:11 plabarbe
+ * Initial revision
+ * Revision 1.4 2000/12/22 10:23:39 byang
+ * Cosmetic cleanup.
+ * Revision 1.3 2000/12/05 17:45:24 byang
+ * Idle mode - IS2000A Addendum modifications.
+ * Revision 1.2 2000/11/13 14:27:05 byang
+ * IS-2000A Idle Mode and LAC integration - Initial Release.
+ * Revision 1.1 2000/10/24 21:11:23Z fpeng
+ * Initial revision
+ * Revision 1.3 2000/08/23 22:10:10Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes.
+ * Revision 1.19 2000/03/01 01:37:18 scotvold
+ * CC Overhead Backward Compatibility.
+ *
+ * Revision 1.18 1999/10/19 23:59:05 gfrye
+ * Added defines for two page messages that were made obsolete in IS-95B.
+ *
+ * Revision 1.17 1999/07/01 18:12:32 mhayduk
+ * Moved periodic registration defines into header file for
+ * global accessibility.
+ *
+ * Revision 1.16 1999/06/11 03:39:23 mhayduk
+ * Set max neighbor set to use N8m as defined in pilots.h.
+ *
+ * Revision 1.15 1999/06/02 21:36:53 mhayduk
+ * Renamed MAX_CDMA_PCH_ON_BASE to MAX_CDMA_FREQ_PER_BAND and
+ * updated value from 8 to 10.
+ *
+ * Revision 1.14 1999/05/19 17:03:19 mhayduk
+ * Updated parsing of Extended System Parameters message for T53
+ * MSD operation.
+ *
+ * Revision 1.13 1999/04/12 13:31:46 scotvold
+ * Added T53 HSPD support.
+ * Added 95B SCAM support.
+ * Added 95B GHDM support and consolidated with EHDM.
+ *
+ * Revision 1.12 1999/02/08 22:55:04 scotvold
+ * Added common FORInfoData structure.
+ *
+ * Revision 1.11 1999/01/20 19:41:43 mhayduk
+ * Updated broadcast message prototype.
+ *
+ * Revision 1.10 1998/12/01 21:34:24 mhayduk
+ * Added null message type.
+ *
+ * Revision 1.9 1998/11/24 05:40:36 mhayduk
+ * Cleaned up definitions for checking of TMSI Zone length -
+ * max zone size is 8.
+ *
+ * Revision 1.8 1998/10/20 23:58:23 mhayduk
+ * Added T53 support.
+ *
+ * Revision 1.7 1998/08/28 21:47:40 mhayduk
+ * Changed add/drop intercepts so they are signed quantities.
+ *
+ * Revision 1.6 1998/06/12 14:50:38 scotvold
+ * Updated for Release 0.07.
+ *
+ * Revision 1.5 1998/06/08 21:48:25 scotvold
+ * Updated for Release 0.06.
+ *
+ * Revision 1.4 1998/05/27 17:16:28 scotvold
+ * Updated for Release 0.05.
+ *
+ * Revision 1.3 1998/03/30 23:26:03 mhayduk
+ * Release 0.03.
+ *
+ * Revision 1.1 1997/11/06 17:49:24 mhayduk
+ * Initial revision
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+
+#ifndef _PCH_MSG_H_
+
+ #define _PCH_MSG_H_ 1
+
+/****************************************************************************
+ * Includes
+ ****************************************************************************/
+#include "pilots.h"
+#include "ho_cc.h"
+#include "systime.h"
+#include "status.h"
+#include "layer2.h"
+#include "Msg_defn.h"
+
+/****************************************************************************
+ * Defines
+ ****************************************************************************/
+
+ /* REG_PRD range values */
+ #define CP_REG_PRD_MIN 29
+ #define CP_REG_PRD_MAX 85
+
+ #define CP_BASE_LAT_BIT_SET 0x200000L /* bit mask to detect 22nd bit */
+ #define CP_BASE_LONG_BIT_SET 0x400000L /* bit mask to detect 23rd bit */
+ #define CP_INTERCEPT_BIT_SET 0x20 /* bit mask to detect 6th bit */
+
+ #define MAX_CDMA_FREQ_PER_BAND 10 /* max number of frequencies from */
+ /* CDMA channel list */
+ #define MAX_ADDR_LEN 12 /* see table 7.7.2.3.1-1 */
+ #define CP_MAX_EXT_ASSIGN_TRAFFIC_PILOTS 6 /* max TC pilots in Ext. Ch Ass */
+ #define CP_MAX_EXT_ASSIGN_PAGING_PILOTS 20 /* max PCH pilots in Ext. Ch Ass*/
+ #define CP_MAX_ASSIGN_PAGING_PILOTS 6 /* max PCH pilots in Ch Assign */
+ #define CP_MAX_REDIRECT_CHANS 15 /* max redirect chans in svc rediret */
+
+ /* Additional record length specifications */
+ #define MAX_ORDER_ADD_RECORD_LEN 7
+ #define MAX_BURST_DATA 1 /* not supported yet */
+
+ #define CP_MAX_VALID_PAGE_MESSAGE 63
+ #define CP_NULL_MESSAGE 0
+
+typedef enum
+{
+ FCCCH_RATE_9600BPS_20MS_FS = 0,
+ FCCCH_RATE_19200BPS_20MS_FS = 1,
+ FCCCH_RATE_19200BPS_10MS_FS = 2,
+ FCCCH_RATE_38400BPS_20MS_FS = 3,
+ FCCCH_RATE_38400BPS_10MS_FS = 4,
+ FCCCH_RATE_38400BPS_5MS_FS = 5
+} FccchRate;
+
+
+typedef enum
+{
+ QPCH_POWER_INVALID = -1,
+ QPCH_POWER_5DB_BELOW_PILOT = 0,
+ QPCH_POWER_4DB_BELOW_PILOT = 1,
+ QPCH_POWER_3DB_BELOW_PILOT = 2,
+ QPCH_POWER_2DB_BELOW_PILOT = 3,
+ QPCH_POWER_1DB_BELOW_PILOT = 4,
+ QPCH_POWER_SAME_AS_PILOT = 5,
+ QPCH_POWER_1DB_ABOVE_PILOT = 6,
+ QPCH_POWER_2DB_ABOVE_PILOT = 7
+} QpchTransPwr;
+
+/****************************************************************************
+ * Page Channel message structures
+ ****************************************************************************/
+
+ /* Common field structure for Page Channel Messages */
+ /****************************************************/
+ typedef struct
+ {
+ kal_uint8 ackSeq;
+ kal_uint8 msgSeq;
+ kal_bool ackReq;
+ kal_bool validAck;
+ kal_uint8 addrType;
+ kal_uint8 addrLen;
+ kal_uint8 address[ MAX_ADDR_LEN ]; /* variable length field whose length */
+ /* is defined in addr_len, addr_len */
+ /* sizes come from table 7.7.2.3.1-1 */
+ } PChCommonFlds;
+
+
+ /* FAKE QPCH Message used for Spy purpose only */
+ /***********************************************/
+ typedef PACKED_PREFIX struct
+ {
+ kal_uint16 pilotPN;
+ kal_uint8 qpchRate;
+ kal_uint8 PI;
+ kal_uint16 Position;
+ kal_uint8 Status;
+ kal_uint8 Padding[4];
+ } PACKED_POSTFIX QPChPiParametersOvhdSpy;
+
+
+ /* System Parameters Message (SPM) */
+ /*****************************/
+ typedef struct
+ {
+ kal_uint16 pilotPN;
+ kal_uint8 configMsgSeq;
+ kal_uint16 sid;
+ kal_uint16 nid;
+ kal_uint16 regZone;
+ kal_uint8 totalZones;
+ kal_uint8 zoneTimer;
+ kal_bool multSids;
+ kal_bool multNids;
+ kal_uint16 baseId;
+ kal_uint8 baseClass;
+ kal_uint8 pageChan;
+ kal_uint8 maxSlotCycleIndex;
+ kal_bool homeReg;
+ kal_bool forSidReg;
+ kal_bool forNidReg;
+ kal_bool powerUpReg;
+ kal_bool powerDownReg;
+ kal_bool parameterReg;
+ kal_uint8 regPrd;
+ kal_int32 baseLat;
+ kal_int32 baseLong;
+ kal_uint16 regDist;
+ kal_uint8 srchWinA;
+ kal_uint8 srchWinN;
+ kal_uint8 srchWinR;
+ kal_uint8 nghbrMaxAge;
+ kal_uint8 pwrRepThresh;
+ kal_uint8 pwrRepFrames;
+ kal_bool pwrThreshEnable;
+ kal_bool pwrPeriodEnable;
+ kal_uint8 pwrRepDelay;
+ kal_bool rescan;
+ kal_uint8 tAdd;
+ kal_uint8 tDrop;
+ kal_uint8 tComp;
+ kal_uint8 tTdrop;
+ kal_bool extSysParameter;
+ kal_bool extNghbrList;
+ kal_bool genNghbrList;
+ kal_bool globalRedirect;
+
+ /* fields in IS-2000 */
+ kal_bool priNghbrList;
+ kal_bool userZoneId;
+ kal_bool extGlobalRedirect;
+ kal_bool extChanList;
+ kal_bool TTdropRangeIncl;
+ kal_uint8 TTdropRange;
+
+ /* fields in Rev E */
+ kal_bool negSciSupported;
+ kal_bool extRcBitmapAllowed;
+ kal_bool CRRMSupported;
+ kal_bool accessPointPilotInfo;
+ kal_bool accessPointIdt;
+ kal_bool accessPointIdText;
+ kal_bool generalOverheadInfo;
+ kal_bool flexDuplexCdmaChanList;
+ kal_bool altTechInfo;
+ kal_bool frequentGenOvhdInfo;
+ kal_uint8 APPIMPeriodIndex;
+ kal_uint8 GenOvhdCycleIndex;
+ kal_uint8 ATIMCycleIndex;
+ kal_bool AddLocInfoIncl;
+ kal_uint8 LocUncH;
+ kal_uint16 LocHeight;
+ kal_uint8 LocUncV;
+ kal_bool addLocGemAllowed;
+ } PChSystemParameters;
+
+ /* Access Parameters Message (APM) */
+ /*****************************/
+
+#define CP_MAX_NUM_ACCT_SO 16
+#define CP_MAX_NUM_ACCT_SO_GRP 8
+
+ typedef struct
+ {
+ kal_uint8 AcctAocBitmap1;
+ kal_uint16 AcctSo;
+ } APMAcctSo;
+
+ typedef struct
+ {
+ kal_uint8 AcctAocBitmap2;
+ kal_uint8 AcctSoGrp;
+ } APMAcctSoGrp;
+
+ typedef struct
+ {
+ kal_uint16 pilotPN;
+ kal_uint8 accMsgSeq;
+ kal_uint8 accChan;
+ kal_int8 nomPwr;
+ kal_int8 initPwr;
+ kal_uint8 pwrStep;
+ kal_uint8 numStep;
+ kal_uint8 maxCapSz;
+ kal_uint8 pamSz;
+ kal_uint8 psist_0_9;
+ kal_uint8 psist_10;
+ kal_uint8 psist_11;
+ kal_uint8 psist_12;
+ kal_uint8 psist_13;
+ kal_uint8 psist_14;
+ kal_uint8 psist_15;
+ kal_uint8 msgPsist;
+ kal_uint8 regPsist;
+ kal_uint8 probePnRan;
+ kal_uint8 accTmo;
+ kal_uint8 probeBkoff;
+ kal_uint8 bkoff;
+ kal_uint8 maxReqSeq;
+ kal_uint8 maxRspSeq;
+ kal_uint8 auth;
+ kal_uint32 rand;
+ kal_bool nomPwrExt;
+ kal_bool psistEmgIncl;
+ kal_uint8 psistEmg;
+ kal_bool AcctIncl;
+ kal_bool AcctInclEmg;
+ kal_bool AcctAocBitmapIncl;
+ kal_bool AcctSoIncl;
+ kal_uint8 NumAcctSo;
+ APMAcctSo AcctSo[ CP_MAX_NUM_ACCT_SO ];
+ kal_bool AcctSoGrpIncl;
+ kal_uint8 NumAcctSoGrp;
+ APMAcctSoGrp AcctSoGrp[ CP_MAX_NUM_ACCT_SO_GRP ];
+
+ } PChAccessParameters;
+
+ /* Neighbor List Message */
+ /*************************/
+
+ typedef struct
+ {
+ kal_uint8 nghbrConfig;
+ kal_uint16 nghbrPN;
+ } PChNghbrRecord;
+
+ typedef struct
+ {
+ kal_uint16 pilotPN;
+ kal_uint8 configMsgSeq;
+ kal_uint8 pilotInc;
+ PChNghbrRecord nghbrList[ CP_MAX_NEIGHBOR_SET ];
+ } PChNghbrList;
+
+ /* CDMA Channel List Message */
+ /*****************************/
+ typedef struct
+ {
+ kal_uint16 pilotPN;
+ kal_uint8 configMsgSeq;
+ kal_uint8 numCdmaFreq;
+ kal_uint16 cdmaFreq[ MAX_CDMA_FREQ_PER_BAND];
+ } PChChannelList;
+
+ /* (Extended) Channel Assignment Message */
+ /*****************************************/
+
+ /* The following structures define the ASSIGN_MODE info elements in */
+ /* the CDMA Channel Assignment Message */
+
+ /* ASSIGN_MODE 000 - TC Assignment (Band Class 0 Only) */
+ typedef struct
+ {
+ kal_bool freqIncl;
+ kal_uint8 codeChan;
+ kal_uint16 cdmaFreq;
+ kal_uint8 frameOffset;
+ kal_uint8 encryptMode;
+ kal_uint8 dSigEncryptMode;
+ kal_uint8 encKeySize;
+ kal_bool cSigEncryptModeIncl;
+ kal_uint8 cSigEncryptMode;
+ } PChAssignMode000;
+
+
+ /* ASSIGN_MODE 010 - Acquire Analog System */
+ typedef struct
+ {
+ kal_bool respond;
+ kal_bool analogSys;
+ kal_bool useAnalogSys;
+ SysCdmaBandT bandClass;
+ } PChAssignMode010;
+
+ /* ASSIGN_MODE 011 - Analog Voice Channel Assignment */
+ typedef struct
+ {
+ kal_uint16 sid;
+ kal_uint8 vmac;
+ kal_uint16 analogChan;
+ kal_uint8 scc;
+ kal_bool mem;
+ kal_uint8 anChanType;
+ kal_bool dsccMsb;
+ SysCdmaBandT bandClass;
+ } PChAssignMode011;
+
+ /* ASSIGN_MODE 100 - Extended Traffic Channel Assignment */
+ typedef struct
+ {
+ kal_bool freqIncl;
+ kal_bool bypassAlertAnswer; /*SNR 7/18/00 added to comply with IS95B */
+ kal_uint8 defaultConfig;
+ kal_uint8 grantedMode;
+ kal_uint8 srIdRestore;
+ kal_uint8 codeChan;
+ kal_uint8 frameOffset;
+ kal_uint8 encryptMode;
+ SysCdmaBandT bandClass;
+ kal_uint16 cdmaFreq;
+ kal_uint8 dSigEncryptMode;
+ kal_uint8 encKeySize;
+ kal_bool cSigEncryptModeIncl;
+ kal_uint8 cSigEncryptMode;
+ } PChAssignMode100;
+
+
+ /* Following are structures to support the Extended Channel Assignment */
+
+ /* ASSIGN_MODE 000 - Traffic Channel Assignment */
+ typedef struct
+ {
+ kal_bool freqIncl;
+ kal_uint8 defaultConfig;
+ kal_bool bypassAlertAnswer; /*SNR 7/18/00 added to comply with IS95B */
+ kal_uint8 numPilots;
+ kal_uint8 grantedMode;
+ kal_uint8 frameOffset;
+ kal_uint8 encryptMode;
+ SysCdmaBandT bandClass;
+ kal_uint16 cdmaFreq;
+ ActiveInitPilot base[ CP_MAX_EXT_ASSIGN_TRAFFIC_PILOTS ]; /* 6 */
+ kal_uint8 forFchRc;
+ kal_uint8 revFchRc;
+ kal_uint8 fpcFchInitSetpt;
+ kal_uint8 fpcSubchanGain;
+ kal_int8 rlgainAdj;
+ kal_uint8 fpcFchFer;
+ kal_uint8 fpcFchMinSetpt;
+ kal_uint8 fpcFchMaxSetpt;
+ kal_bool revFchGatingMode;
+ kal_bool revPwrCntlDelayIncl;
+ kal_uint8 revPwrCntlDelay;
+ kal_uint8 dSigEncryptMode;
+ kal_uint8 encKeySize;
+ kal_bool cSigEncryptModeIncl;
+ kal_uint8 cSigEncryptMode;
+ kal_bool msgIntInfoIncl;
+ kal_bool changeKeys;
+ kal_bool useUak;
+ kal_bool plcmTypeIncl;
+ kal_uint8 plcmType;
+ kal_uint8 plcm39[PLCM39_SIZE];
+ } PChExtAssignMode000;
+
+ /* ASSIGN_MODE 100 - Enhanced Traffic Channel Assignment */
+ typedef struct
+ {
+ kal_uint16 pilotPn;
+ kal_bool addPilotRecIncl;
+ PilotRecType pilotRecType;
+ kal_uint8 recordLen;
+ HONghbrPilotRec rec;
+ kal_bool pwrCombInd;
+ kal_uint16 codeChanFch;
+ kal_uint8 qofMaskIdFch;
+ } FcschExtAssignPilotRec01;
+
+ typedef struct
+ {
+ kal_bool threeXFchLowIncl;
+ kal_uint8 qofMaskIdFchLow;
+ kal_uint16 codeChanFchLow;
+ kal_bool threeXFchHighIncl;
+ kal_uint8 qofMaskIdFchHigh;
+ kal_uint16 codeChanFchHigh;
+ } FcschExtAssign3XFchInfo;
+
+#define CP_MAX_NUM_PILOTS 8
+
+ typedef struct
+ {
+ kal_uint8 fpcFchInitSetpt;
+ kal_uint8 fpcFchFer;
+ kal_uint8 fpcFchMinSetpt;
+ kal_uint8 fpcFchMaxSetpt;
+ FcschExtAssignPilotRec01 pilot[ CP_MAX_NUM_PILOTS ];
+ kal_bool threeXFchInfoIncl;
+ FcschExtAssign3XFchInfo threeXFch[ CP_MAX_NUM_PILOTS ];
+ } FcschExtAssignChInd01;
+
+ typedef struct
+ {
+ kal_uint16 pilotPn;
+ kal_bool addPilotRecIncl;
+ PilotRecType pilotRecType;
+ kal_uint8 recordLen;
+ HONghbrPilotRec rec;
+ kal_bool pwrCombInd;
+ kal_uint16 codeChanDcch;
+ kal_uint8 qofMaskIdDcch;
+ } FcschExtAssignPilotRec10;
+
+ typedef struct
+ {
+ kal_bool threeXDcchLowIncl;
+ kal_uint8 qofMaskIdDcchLow;
+ kal_uint16 codeChanDcchLow;
+ kal_bool threeXDcchHighIncl;
+ kal_uint8 qofMaskIdDcchHigh;
+ kal_uint16 codeChanDcchHigh;
+ } FcschExtAssign3XDcchInfo;
+
+ typedef struct
+ {
+ kal_uint8 fpcDcchInitSetpt;
+ kal_uint8 fpcDcchFer;
+ kal_uint8 fpcDcchMinSetpt;
+ kal_uint8 fpcDcchMaxSetpt;
+ FcschExtAssignPilotRec10 pilot[ CP_MAX_NUM_PILOTS ];
+ kal_bool threeXDcchInfoIncl;
+ FcschExtAssign3XDcchInfo threeXDcch[ CP_MAX_NUM_PILOTS ];
+ } FcschExtAssignChInd10;
+
+ typedef struct
+ {
+ kal_uint16 pilotPn;
+ kal_bool addPilotRecIncl;
+ PilotRecType pilotRecType;
+ kal_uint8 recordLen;
+ HONghbrPilotRec rec;
+ kal_bool pwrCombInd;
+ kal_uint16 codeChanFch;
+ kal_uint8 qofMaskIdFch;
+ kal_uint16 codeChanDcch;
+ kal_uint8 qofMaskIdDcch;
+ } FcschExtAssignPilotRec11;
+
+ typedef struct
+ {
+ kal_uint16 pilotPn;
+ kal_bool addPilotRecIncl;
+ PilotRecType pilotRecType;
+ kal_uint8 recordLen;
+ HONghbrPilotRec rec;
+ kal_bool forPdchIncl;
+ kal_uint8 walshTableId;
+ kal_uint8 numPdcch;
+ kal_uint8 forPdcchWalsh [ CP_MAX_PDCCH_CH ];
+ kal_uint8 macId;
+ kal_uint8 revCqichCover;
+ kal_uint8 forCpcchWalsh;
+ kal_uint8 forCpcsch;
+ kal_bool pwrCombInd;
+ kal_bool pdchGroupInd;
+ kal_uint16 codeChanFch;
+ kal_uint8 qofMaskIdFch;
+ kal_uint16 codeChanDcch;
+ kal_uint8 qofMaskIdDcch;
+ } FcschExtAssignPilotRec101;
+
+ typedef struct
+ {
+ kal_uint8 fpcFchInitSetpt;
+ kal_uint8 fpcDcchInitSetpt;
+ kal_bool fpcPriChan;
+ kal_uint8 fpcFchFer;
+ kal_uint8 fpcFchMinSetpt;
+ kal_uint8 fpcFchMaxSetpt;
+ kal_uint8 fpcDcchFer;
+ kal_uint8 fpcDcchMinSetpt;
+ kal_uint8 fpcDcchMaxSetpt;
+ FcschExtAssignPilotRec11 pilot[ CP_MAX_NUM_PILOTS ];
+ kal_bool threeXFchInfoIncl;
+ FcschExtAssign3XFchInfo threeXFch[ CP_MAX_NUM_PILOTS ];
+ kal_bool threeXDcchInfoIncl;
+ FcschExtAssign3XDcchInfo threeXDcch[ CP_MAX_NUM_PILOTS ];
+ } FcschExtAssignChInd11;
+
+ typedef enum
+ {
+ CP_CH_IND_RESERVED,
+ CP_CH_IND_FCH,
+ CP_CH_IND_DCCH,
+ CP_CH_IND_FCH_AND_DCCH,
+ FPDCH_FCPCCH_RFCH,
+ FPDCH_FCPCCH_RDCCH,
+ FPDCH_FFCH_RFCH,
+ FPDCH_FDCCH_RDCCH,
+ FPDCH_RFCH_FFCH_RDCCH,
+ FPDCH_RFCH_FFCH_RDCCH_FDCCH
+
+ } FcschChIndType;
+
+ typedef enum
+ {
+ CP_EXT_CH_IND_RESERVED,
+ CP_EXT_CH_IND_FPDCH_FCPCCH_RFCH,
+ CP_EXT_CH_IND_FPDCH_FCPCCH_RDCCH,
+ CP_EXT_CH_IND_FPDCH_FFCH_RFCH,
+ CP_EXT_CH_IND_FPDCH_FDCCH_RDCCH,
+ CP_EXT_CH_IND_FPDCH_FFCH_RFCH_RDCCH,
+ CP_EXT_CH_IND_FPDCH_FFCH_RFCH_FDCCH_RDCCH
+ } FcschExtChIndType;
+
+
+ typedef union
+ {
+ FcschExtAssignChInd01 chInd01;
+ FcschExtAssignChInd10 chInd10;
+ FcschExtAssignChInd11 chInd11;
+ } FcschChIndTypes;
+
+ /* ASSIGN_MODE 100 - Extended Traffic Channel Assignment */
+ typedef struct
+ {
+ kal_bool freqIncl;
+ SysCdmaBandT bandClass;
+ kal_uint16 cdmaFreq;
+ kal_bool bypassAlertAnswer;
+ kal_uint8 grantedMode;
+ kal_uint8 defaultConfig;
+ kal_uint8 forRc;
+ kal_uint8 revRc;
+ kal_uint8 frameOffset;
+ kal_uint8 encryptMode;
+ kal_uint8 fpcSubchanGain;
+ kal_int8 rlgainAdj;
+ kal_uint8 numPilots;
+ FcschChIndType chInd;
+ kal_uint8 chRecordLen;
+ FcschChIndTypes chRec;
+ kal_bool revFchGatingMode;
+ kal_bool revPwrCntlDelayIncl;
+ kal_uint8 revPwrCntlDelay;
+ kal_uint8 dSigEncryptMode;
+ kal_uint8 encKeySize;
+ kal_bool cSigEncryptModeIncl;
+ kal_uint8 cSigEncryptMode;
+ kal_bool threeX1xrlIncl;
+ kal_uint8 oneXrlFreqOffset;
+ kal_bool msgIntInfoIncl;
+ kal_bool changeKeys;
+ kal_bool useUak;
+ kal_bool plcmTypeIncl;
+ kal_uint8 plcmType;
+ kal_uint8 plcm39[PLCM39_SIZE];
+ } FcschExtAssignMode100;
+
+ typedef struct
+ {
+ kal_bool freqIncl;
+ SysCdmaBandT bandClass;
+ kal_uint16 cdmaFreq;
+ kal_bool bypassAlertAnswer;
+ kal_uint8 grantedMode;
+ kal_uint8 srIdRestore;
+ kal_uint8 frameOffset;
+ kal_uint8 encryptMode;
+ kal_uint8 dSigEncryptMode;
+ kal_uint8 encKeySize;
+ kal_bool cSigEncryptModeIncl;
+ kal_uint8 cSigEncryptMode;
+ kal_bool msgIntInfoIncl;
+ kal_bool changeKeys;
+ kal_bool useUak;
+ kal_bool plcmTypeIncl;
+ kal_uint8 plcmType;
+ kal_uint8 plcm39[PLCM39_SIZE];
+ kal_int8 rlgainAdj;
+ kal_uint8 numPilots;
+ kal_uint8 extChInd;
+ kal_uint8 fpcSubchanGain;
+ kal_bool revFchGatingMode;
+ kal_bool revPwrCntlDelayIncl;
+ kal_uint8 revPwrCntlDelay;
+ kal_bool fullCiFeedBackInd;
+ kal_uint8 revCqichFrameOffset;
+ kal_uint8 revCqichReps;
+ kal_uint8 revAckChReps;
+ kal_uint8 forPdchRc;
+ kal_uint8 forFchDcchRc;
+ kal_uint8 revFchDcchRc;
+ kal_bool fpcPriChan;
+ kal_uint8 fpcFchInitSetPt;
+ kal_uint8 fpcFchFer;
+ kal_uint8 fpcFchMinSetPt;
+ kal_uint8 fpcFchMaxSetPt;
+ kal_uint8 fpcDcchInitSetPt;
+ kal_uint8 fpcDcchFer;
+ kal_uint8 fpcDcchMinSetPt;
+ kal_uint8 fpcDcchMaxSetPt;
+ kal_bool pdchGroupIndIncl;
+ kal_bool forPdchParamsIncl;
+ kal_uint8 numSoftSwitchingFrames;
+ kal_uint8 numSofterSwitchingFrames;
+ kal_uint8 numSoftSwitchingFramesChm;
+ kal_uint8 numSofterSwitchingFramesChm;
+ kal_uint8 numSoftSwitchingSlots;
+ kal_uint8 numSofterSwitchingSlots;
+ kal_uint8 numSoftSwitchingSlotsChm;
+ kal_uint8 numSofterSwitchingSlotsChm;
+ kal_uint8 pdchSoftSwitchingDelay;
+ kal_uint8 pdchSofterSwitchingDelay;
+ FcschExtAssignPilotRec101 pilot[ CP_MAX_NUM_PILOTS ];
+ } FcschExtAssignMode101;
+ /* ASSIGN_MODE 001 - Paging Channel Assignment (Band Class 0) */
+ /* ASSIGN_MODE 101 - Extended Paging Channel Assignment */
+ /* EXT ASSIGN_MODE 001 - Paging Channel Assignment */
+ /* This structure covers all 3 types of Paging Channel assignments */
+ /* and allocates storage for the largest number of pilots possible. */
+ typedef struct
+ {
+ kal_bool respond;
+ kal_bool freqIncl;
+ SysCdmaBandT bandClass;
+ kal_uint16 cdmaFreq;
+ kal_uint8 numPilots;
+ kal_uint16 pilotPN [ CP_MAX_EXT_ASSIGN_PAGING_PILOTS ]; /* 20 */
+ } PChPagingAssignment;
+
+ /* This next structure combines the Channel Assignment Message and the */
+ /* Extended Channel Assignment Message. A kal_bool is used to distinguish */
+ /* between the two. */
+ typedef struct
+ {
+ kal_bool extended; /* indicates if the assignment is from */
+ /* extended message or not */
+ kal_uint8 assignMode; /* assign mode of particular msg type */
+
+ /* The particular assignment as defined in assignMode is contained */
+ /* in the union below. Note that modes 2 and 3 (analog assignments) */
+ /* are duplicated across both channel assignment messages. */
+ union
+ {
+ PChPagingAssignment mode001_101;
+ PChExtAssignMode000 mode000Ext;
+ PChAssignMode000 mode000;
+ PChAssignMode010 mode010;
+ PChAssignMode011 mode011;
+ PChAssignMode100 mode100;
+ FcschExtAssignMode100 extMode100;
+ FcschExtAssignMode101 extMode101;
+ } mode;
+
+ } PChChannelAssign;
+
+ /* Data Burst Message */
+ /**********************/
+ /* the data structure used is in msg_dfn.h */
+
+
+ /* Authentication Challenge Message */
+ /*****************************/
+ typedef struct
+ {
+ PChCommonFlds common;
+ kal_uint32 randu;
+ } PChAuthChallenge;
+
+
+ /* SSD Update Message */
+ typedef struct
+ {
+ PChCommonFlds common;
+ kal_uint8 randssd[ 7 ];
+ } PChSSDUpdate;
+
+ /* Feature Notification Message */
+ /* This structure contains the Information Record Types - Table 7.7.5-1 */
+ /* and is shared with the Flash structure */
+ typedef FORInfoData FeatureData;
+
+ /* Extended System Parameters Message (ESPM) */
+
+
+ typedef struct
+ {
+ kal_uint16 pilotPN;
+ kal_uint8 configMsgSeq;
+ kal_bool deleteForTmsi;
+ kal_bool useTmsi;
+ kal_uint8 prefMsidType;
+ kal_uint16 mcc;
+ kal_uint8 imsi_11_12;
+ kal_uint8 tmsiZoneLen;
+ kal_uint8 tmsiZone[ CP_MAX_TMSI_ZONE_LEN ];
+ kal_uint8 bcastIndex;
+ kal_bool imsiTSupported;
+ kal_uint8 pRev;
+ kal_uint8 minPRev;
+ kal_uint8 softSlope;
+ kal_int8 addIntercept;
+ kal_int8 dropIntercept;
+ kal_uint8 packetZoneId;
+ kal_uint8 maxNumAltSo;
+ kal_bool reselectIncluded;
+ kal_uint8 ecThresh;
+ kal_uint8 ecIoThresh;
+ kal_bool pilotReport;
+ kal_bool nghbrSetEntryInfo;
+ kal_bool msgEntryHo;
+ kal_bool nghbrSetAccessInfo;
+ kal_bool accessHo;
+ kal_bool accessHoMsgRsp;
+ kal_bool accessProbeHo;
+
+ /*R.Sattari, 7/14/00 */
+ kal_bool accHoListUpd;
+ kal_bool accProbeHoOtherMsg;
+ kal_uint8 maxNumProbeHo;
+ kal_uint8 nghbrSetSize;
+ kal_bool accessEntryHo[CP_MAX_NEIGHBOR_SET];
+ kal_bool accessHoAllowed[CP_MAX_NEIGHBOR_SET];
+
+ /* new parameters for IS-2000A */
+ kal_bool broadcastGpsAsst;
+ kal_bool qpchSupported;
+ kal_uint8 numQpch;
+ QpchRate qpchRate;
+ QpchTransPwr qpchPowerLevelPage;
+ kal_bool qpchCciSupported;
+ QpchTransPwr qpchPowerLevelConfig;
+ kal_bool sdbSupported;
+ kal_int8 rlgainTrafficPilot;
+ kal_bool revPwrCntlDelayIncl;
+ kal_uint8 revPwrCntlDelay;
+ kal_bool autoMsgSupported;
+ kal_uint8 autoMsgInterval;
+ kal_bool mobQos;
+ kal_bool encSupported;
+ kal_uint8 sigEncryptSup;
+ kal_uint8 uiEncryptSup;
+/* kal_bool storeKey; Removed from PREV 7 */
+ kal_bool useSyncId;
+ kal_bool csSupported;
+ kal_bool BcchSupported;
+ kal_bool MsInitPosLocSupInd;
+ kal_bool PilotInfoReqSupported;
+ kal_bool qpchBiSupported;
+ QpchTransPwr qpchPowerLevelBcast;
+ kal_bool BandClassInfoReq;
+ SysCdmaBandT AltBandClass;
+ kal_bool CdmaOffTimeRepSupInd;
+ kal_bool CdmaOffTimeRepThresholdUnit;
+ kal_uint8 CdmaOffTimeRepThreshold;
+ kal_bool ReleaseToIdleInd;
+ kal_bool ReconnectMsgInd;
+ kal_bool MsgIntegritySup;
+ kal_bool SigIntegritySupIncl;
+ kal_uint8 SigIntegritySup;
+ kal_bool ForPdchSupported;
+ kal_uint8 RlgainAckcqichPilot;
+ kal_bool PdchParamsIncl;
+ kal_uint8 NumSoftSwitchingFrames;
+ kal_uint8 NumSofterSwitchingFrames;
+ kal_uint8 NumSoftSwitchingSlots;
+ kal_uint8 NumSofterSwitchingSlots;
+ kal_uint8 PdchSoftSwitchingDelay;
+ kal_uint8 PdchSofterSwitchingDelay;
+ kal_uint8 WalshTableId;
+ kal_uint8 NumPdcch;
+ kal_uint8 ForPdcchWalsh[CP_MAX_PDCCH_CH];
+
+ } PChExtendedSystemPars;
+
+ /* Extended Neighbor List Message */
+ typedef struct
+ {
+ kal_uint16 pilotPN;
+ kal_uint8 configMsgSeq;
+ kal_uint8 pilotInc;
+ struct
+ {
+ kal_uint8 nghbrConfig;
+ kal_uint16 nghbrPN;
+ kal_uint8 searchPriority;
+ kal_bool freqIncl;
+ SysCdmaBandT nghbrBand;
+ kal_uint16 nghbrFreq;
+ } nghbrs[CP_MAX_NEIGHBOR_SET];
+ } PChExtendedNghbrList;
+
+ /* Status Request Message (STRQM) */
+ typedef struct
+ {
+ PChCommonFlds common;
+ kal_uint8 qualInfoType;
+ kal_uint8 qualInfoLen;
+ kal_uint8 qualInfo[7]; /* max value held in qual_info_len */
+ kal_uint8 numFields;
+ /* The information record type is held in the general message buffer */
+ } PChStatusRequest;
+
+
+ /* Service Redirection Message */
+ /* defined in tcmsgdfn.h */
+
+ /* General Page Message */
+ typedef struct
+ {
+ kal_uint8 configMsgSeq;
+ kal_uint8 accMsgSeq;
+ kal_bool class0Done;
+ kal_bool class1Done;
+ kal_bool tmsiDone;
+ kal_bool orderedTmsis;
+ kal_bool broadcastDone;
+ kal_uint8 addLen;
+ kal_uint8 addPfield;
+ /* The page record is stored in the general page message buffer and */
+ /* would be mapped to page field records as required. */
+ } PChGeneralPage;
+
+ /* Global Service Redirection Message */
+ /* same as Service Redirection Message */
+
+ /* TMSI Assignment Message */
+ /* same definition is shared in tcmsgdfn.h */
+
+ /* ANSI-41 System Parameters Message (A41SPM) */
+ typedef struct
+ {
+ kal_uint16 pilotPn;
+ kal_uint8 configMsgSeq;
+ kal_uint16 sid;
+ kal_uint16 nid;
+ kal_uint8 packetZoneId;
+ kal_uint16 regZone;
+ kal_uint8 totalZones;
+ kal_uint8 zoneTimer;
+ kal_bool multSids;
+ kal_bool multNids;
+ kal_bool homeReg;
+ kal_bool forSidReg;
+ kal_bool forNidReg;
+ kal_bool powerUpReg;
+ kal_bool powerDownReg;
+ kal_bool parameterReg;
+ kal_uint8 regPrd;
+ kal_bool distRegIncl;
+ kal_uint16 regDist;
+ kal_bool deleteForTmsi;
+ kal_bool useTmsi;
+ kal_uint8 prefMsidType;
+ kal_uint8 tmsiZoneLen;
+ kal_uint8 tmsiZone[ CP_MAX_TMSI_ZONE_LEN ];
+ kal_bool imsiTSupported;
+ kal_uint8 maxNumAltSo;
+ kal_bool autoMsgSupported;
+ kal_uint8 autoMsgInterval;
+ kal_bool otherInfoIncl;
+ kal_uint16 baseId;
+ kal_uint16 mcc;
+ kal_uint8 imsi_11_12;
+ kal_uint8 broadcastGpsAsst;
+ kal_uint8 sigEncryptSup;
+/* kal_bool storeKey; deleted from PREV 7 */
+ kal_bool csSupported;
+ kal_bool MsInitPosLocSupInd;
+ kal_bool MsgIntegritySup;
+ kal_bool SigIntegritySupIncl;
+ kal_uint8 SigIntegritySup;
+ } BcchA41SPM;
+
+
+/* MC-RR Parameters Message (MCRRPM) */
+#define CP_MAX_FCCCH_CODE_CHAN 7
+#define MAX_NUM_BCCH_BCAST 7
+#define MAX_QPCH_CODE_CHAN 3
+
+ typedef struct
+ {
+ kal_uint8 bcchCodeChan;
+ BcchRate brat;
+ kal_bool bcchCodeRate;
+ } BcchBcast;
+
+ typedef struct
+ {
+ kal_uint16 pilotPn;
+ kal_uint8 configMsgSeq;
+ kal_uint16 baseId;
+ kal_uint8 pRev;
+ kal_uint8 minPRev;
+ kal_bool sr3Incl;
+ kal_bool sr3CenterFreqIncl;
+ kal_uint16 sr3CenterFreq;
+ BcchRate sr3Brat;
+ kal_uint8 sr3BcchCodeChan;
+ kal_uint8 sr3PrimaryPilot;
+ kal_uint8 sr3PilotPower1;
+ kal_uint8 sr3PilotPower2;
+ kal_uint8 srchWinA;
+ kal_uint8 srchWinR;
+ kal_uint8 tAdd;
+ kal_uint8 tDrop;
+ kal_uint8 tComp;
+ kal_uint8 tTdrop;
+ kal_uint8 nghbrMaxAge;
+ kal_uint8 softSlope;
+ kal_int8 addIntercept;
+ kal_int8 dropIntercept;
+ kal_bool encSupported;
+ kal_uint8 sigEncryptSup;
+ kal_uint8 uiEncryptSup;
+ kal_bool storeKey;
+ kal_uint8 addFieldsLen;
+ kal_bool cchInfoIncl;
+ kal_uint16 mcc;
+ kal_uint8 imsi_11_12;
+ kal_uint8 maxSlotCycleIndex;
+ kal_uint8 pwrRepThresh;
+ kal_uint8 pwrRepFrames;
+ kal_bool pwrThreshEnable;
+ kal_bool pwrPeriodEnable;
+ kal_uint8 pwrRepDelay;
+ kal_bool reselectionIncluded;
+ kal_uint8 ecThresh;
+ kal_uint8 ecIoThresh;
+ kal_int32 baseLat;
+ kal_int32 baseLong;
+ kal_bool pilotReport;
+ kal_bool accEntHoOrder;
+ kal_bool accessHo;
+ kal_bool accessHoMsgRsp;
+ kal_bool accessProbeHo;
+ kal_bool accHoListUpd;
+ kal_bool accProbeHoOtherMsg;
+ kal_uint8 maxNumProbeHo;
+ kal_uint8 numFccch;
+ FccchRate fccchRate;
+ kal_uint8 fccchCodeRate;
+ kal_uint8 fccchCodeChan[ CP_MAX_FCCCH_CODE_CHAN ];
+ kal_uint8 bcastIndex;
+ kal_uint8 numBcchBcast;
+ BcchBcast bcchBcast[ MAX_NUM_BCCH_BCAST ];
+ kal_bool qpchSupported;
+ kal_uint8 numQpch;
+ QpchRate qpchRate;
+ QpchTransPwr qpchPowerLevelPage;
+ kal_bool qpchCciSupported;
+ QpchTransPwr qpchPowerLevelConfig;
+ kal_uint8 qpchCodeChan[ MAX_QPCH_CODE_CHAN ];
+ kal_bool qpchBiSupported;
+ QpchTransPwr qpchPowerLevelBcast;
+ kal_bool sdbSupported;
+ kal_bool broadcastGpsAsst;
+ kal_int8 rlgainTrafficPilot;
+ kal_bool revPwrCntlDelayIncl;
+ kal_uint8 revPwrCntlDelay;
+ kal_bool mobQos;
+ kal_bool useSyncId;
+ kal_uint8 numOptMsg;
+ kal_bool sendingRand;
+ kal_bool priNghbrList;
+ kal_bool userZoneId;
+ kal_bool extGlobalRedirect;
+#ifdef MTK_DEV_C2K_IRAT
+ kal_bool APPilotInfo;
+ kal_bool APIdt;
+ kal_bool APIdText;
+ kal_bool GenOvhdInfoInd;
+ kal_bool FDChanListInd;
+ kal_bool ATIMId;
+#endif /* MTK_DEV_C2K_IRAT*/
+ kal_uint8 Reserved;
+ kal_bool PilotInfoReqSupported;
+ kal_bool BandClassInfoReq;
+ SysCdmaBandT AltBandClass;
+ kal_bool CdmaOffTimeRepSupInd;
+ kal_bool CdmaOffTimeRepThresholdUnit;
+ kal_uint8 CdmaOffTimeRepThreshold;
+ kal_bool ReleaseToIdleInd;
+ kal_bool ReconnectMsgInd;
+ kal_bool TTdropRangeIncl;
+ kal_uint8 TTdropRange;
+ kal_bool ForPdchSupported;
+ kal_uint8 RlgainAckcqichPilot;
+ kal_bool PdchParamsIncl;
+ kal_uint8 NumSoftSwitchingFrames;
+ kal_uint8 NumSofterSwitchingFrames;
+ kal_uint8 NumSoftSwitchingSlots;
+ kal_uint8 NumSofterSwitchingSlots;
+ kal_uint8 PdchSoftSwitchingDelay;
+ kal_uint8 PdchSofterSwitchingDelay;
+ kal_uint8 WalshTableId;
+ kal_uint8 NumPdcch;
+ kal_uint8 ForPdcchWalsh[CP_MAX_PDCCH_CH];
+ } BcchMCRRPM;
+
+/* ANSI-41 RAND Message (A41RANDM) */
+ typedef struct
+ {
+ kal_uint16 pilotPn;
+ kal_uint8 reserved;
+ kal_uint32 rand;
+ } BcchA41RANDM;
+
+
+/* Extended CDMA Channel List Message (ECCLM) */
+#define MAX_CDMA_FREQ 15
+
+ typedef struct
+ {
+ kal_uint16 pilotPn;
+ kal_uint8 configMsgSeq;
+ kal_uint8 numFreq;
+ kal_uint16 cdmaFreq[ MAX_CDMA_FREQ ];
+ kal_bool rcQpchSelIncl;
+ kal_bool rcQpchHashInd[ MAX_CDMA_FREQ ];
+ kal_bool tdSelIncl;
+ Sr1TdModes tdMode;
+ kal_bool tdHashInd[ MAX_CDMA_FREQ ];
+ Sr1TdPowerLevel tdPowerLevel[ MAX_CDMA_FREQ ];
+ } PChECCLM;
+
+/* Extended Global Service Redirection Message (EGSRDM) */
+ typedef struct
+ {
+ kal_uint16 pilotPn;
+ kal_uint8 configMsgSeq;
+ kal_bool redirectPRevIncl;
+ kal_uint8 exclPRevInd;
+ kal_uint8 redirectPmin;
+ kal_uint8 redirectPmax;
+ ServiceRedirData redirData;
+ } PChEGSRM;
+
+/* Enhanced Access Parameter Message (EAPM) */
+#define CP_MAX_MODE_SELECTION_ENTRIES 8
+#define CP_MAX_NUM_MODE_PARM_REC 8
+#define CP_MAX_NUM_CACH 7
+#define CP_MAX_NUM_CPCCH 3
+/*
+#define CP_MAX_NUM_ACCT_SO 16
+#define CP_MAX_NUM_ACCT_SO_GRP 8 */
+
+ typedef struct
+ {
+ kal_uint8 accessMode;
+ kal_uint16 accessModeMinDuration;
+ kal_uint16 accessModeMaxDuration;
+ } BcchEAPMModSel;
+
+ typedef struct
+ {
+ kal_uint8 eachParmRecLen;
+ kal_uint8 applicableModes;
+ kal_uint8 eachNomPwr;
+ kal_uint8 eachInitPwr;
+ kal_uint8 eachPwrStep;
+ kal_uint8 eachNumStep;
+ kal_bool eachPreambleEnabled;
+ kal_uint8 eachPreambleNumFrac;
+ kal_uint8 eachPreambleFracDuration;
+ kal_uint8 eachPreambleOffDuration;
+ kal_uint8 eachPreambleAddDuration;
+ kal_uint8 eachAccessThresh; /* ??? BSR */
+ kal_uint8 eachProbeBkoff;
+ kal_uint8 eachBkoff;
+ kal_uint8 eachSlot;
+ kal_uint8 eachSlotOffset1;
+ kal_uint8 eachSlotOffset2;
+ } BcchEAPMRec;
+
+ typedef struct
+ {
+ kal_uint8 AcctAocBitmap1;
+ kal_uint16 AcctSo;
+ } BcchEAPMAcctSo;
+
+ typedef struct
+ {
+ kal_uint8 AcctAocBitmap2;
+ kal_uint8 AcctSoGrp;
+ } BcchEAPMAcctSoGrp;
+
+#ifdef MTK_DEV_C2K_IRAT
+#define CP_MAX_NUM_ATIM_RADIO_INT_REC 2
+#define CP_MAX_NUM_EUTRAFREQ_REC 7
+#define CP_MAX_NUM_PLMNID 7
+typedef struct
+{
+ kal_uint16 EARFCN;
+ kal_uint8 EARFCNPri;
+ kal_uint8 ThreshX;
+ kal_uint8 RxLevMinEUTRA;
+ kal_uint8 PEMax;
+ kal_bool RxLevMinEUTRAOffsetIncl;
+ kal_uint8 RxLevMinEUTRAOffset;
+ kal_uint8 MeasBandwidth;
+ kal_bool PLMNSameAsPrevChannel;
+ kal_uint8 NumPLMNIDs;
+ kal_uint32 PLMNID[CP_MAX_NUM_PLMNID];
+} EUTRAFreqRec;
+
+typedef struct
+{
+ kal_bool PriorityIncl;
+ kal_uint8 ServingPriority;
+ kal_uint8 ThreshServing;
+ kal_bool PerEARFCNParmsIncl;
+ kal_uint8 RxLevMinEUTRACommon;
+ kal_uint8 PEMaxCommon;
+ kal_bool RxLevMinEUTRAOffsetCommmonIncl;
+ kal_uint8 RxLevMinEUTRAOffsetCommon;
+ kal_bool MaxReselTimerIncl;
+ kal_uint8 MaxReselTimer;
+ kal_bool SrchBackoffTimerIncl;
+ kal_uint8 MinMeasBackoff;
+ kal_uint8 MaxMeasBackoff;
+ kal_bool PLMNIDIncl;
+ kal_uint8 NumEUTRAFreq;
+ EUTRAFreqRec rec[CP_MAX_NUM_EUTRAFREQ_REC];
+} EUtranRec;
+
+typedef struct
+{
+ kal_uint8 type; /* HRPD=2, E-UTRAN=3, WiMAX=4 */
+ kal_uint16 len;
+ union
+ {
+ EUtranRec E_UTRAN;
+ } recType;
+} ATIMRadioIntRec;
+
+typedef struct
+{
+ kal_uint16 pilotPn;
+ kal_uint8 configMsgSeq;
+ kal_uint8 numRadioInterface;
+ ATIMRadioIntRec rec[CP_MAX_NUM_ATIM_RADIO_INT_REC];
+} PchATIM;
+#endif /* MTK_DEV_C2K_IRAT */
+
+typedef struct
+{
+ kal_uint16 pilotPn;
+ kal_uint8 accMsgSeq;
+ kal_bool psistParmsIncl;
+ kal_uint8 psistParmsLen;
+ kal_uint8 psist0_9Each;
+ kal_uint8 psist10Each;
+ kal_uint8 psist11Each;
+ kal_uint8 psist12Each;
+ kal_uint8 psist13Each;
+ kal_uint8 psist14Each;
+ kal_uint8 psist15Each;
+ kal_uint8 psistEmg;
+ kal_uint8 msgPsistEach;
+ kal_uint8 regPsistEach;
+ kal_uint8 lacParmsLen;
+ kal_uint8 accTmo;
+ kal_uint8 probePnRan; /* ??? BSR */
+ kal_uint8 maxReqSeq;
+ kal_uint8 maxRspSeq;
+ kal_uint8 numModeSelectionEntries;
+ BcchEAPMModSel modeSelection[ CP_MAX_MODE_SELECTION_ENTRIES ];
+ kal_int8 rlgainCommonPilot;
+ kal_uint8 icThresh;
+ kal_uint8 icMax;
+ kal_uint8 numModeParmRec;
+ BcchEAPMRec modeParmRec[ CP_MAX_NUM_MODE_PARM_REC ];
+ kal_uint8 baParmsLen;
+ kal_uint8 numEachBa;
+ kal_uint8 eachBaRatesSupported;
+ kal_uint8 raParmsLen;
+ kal_uint8 numEachRa;
+ kal_uint8 numCach;
+ kal_uint8 cachCodeRate;
+ kal_uint8 cachCodeChan[ CP_MAX_NUM_CACH ];
+ kal_uint8 numRccch;
+ kal_uint8 rccchRatesSupported;
+ kal_bool rccchPreambleEnabled;
+ kal_uint8 rccchPreambleNumFrac;
+ kal_uint8 rccchPreambleFracDuration;
+ kal_uint8 rccchPreambleOffDuration;
+ kal_uint8 rccchPreambleAddDuration;
+ kal_uint8 rccchSlot;
+ kal_uint8 rccchSlotOffset1;
+ kal_uint8 rccchSlotOffset2;
+ kal_uint8 rccchNomPwr;
+ kal_uint8 rccchInitPwr;
+ kal_uint8 raPcDelay;
+ kal_uint8 eacamCachDelay;
+ kal_bool rccchHoSupprted;
+ kal_uint8 rccchHoThresh;
+ kal_uint8 eacamPccamDelay;
+ kal_uint8 numCpcch;
+ kal_uint8 cpcchRate;
+ kal_uint8 cpcchCodeChan[ CP_MAX_NUM_CPCCH ];
+/* kal_uint8 RaCpcchStepUp; deleted from PREV 7 */
+/* kal_uint8 RaCpcchStepDn; deleted from PREV 7 */
+ kal_uint8 numPcschRa;
+ kal_bool AcctIncl;
+ kal_bool AcctInclEmg;
+ kal_bool AcctAocBitmapIncl;
+ kal_bool AcctSoIncl;
+ kal_uint8 NumAcctSo;
+ BcchEAPMAcctSo AcctSo[ CP_MAX_NUM_ACCT_SO ];
+ kal_bool AcctSoGrpIncl;
+ kal_uint8 NumAcctSoGrp;
+ BcchEAPMAcctSoGrp AcctSoGrp[ CP_MAX_NUM_ACCT_SO_GRP ];
+} BcchEAPM;
+
+/* Universal Neighbor List Message (UNLM) */
+typedef struct
+{
+ kal_uint8 nghbrConfig;
+ kal_uint16 nghbrPn;
+ kal_bool bcchSupport;
+ kal_bool addPilotRecIncl;
+ PilotRecType nghbrPilotRecType;
+ kal_uint8 recLen;
+ HONghbrPilotRec nghbrPilotRec;
+} BcchUNLMNghbrRec;
+
+#define CP_MAX_CDMA_NGHBR 63
+
+typedef struct
+{
+ kal_uint8 pilotInc;
+ NghbrSearchMode nghbrSrchMode;
+ kal_uint8 srchWinN;
+ kal_bool srchOffsetIncl;
+ kal_bool freqFieldsInc;
+ kal_bool useTiming;
+ kal_bool globalTimingIncl;
+ kal_uint8 globalTxDuration;
+ kal_uint8 globalTxPeriod;
+ kal_bool nghbrSetEntryInfo;
+ kal_bool nghbrSetAccessInfo;
+ kal_uint8 numNghbr;
+ BcchUNLMNghbrRec nghbrRec[ CP_MAX_CDMA_NGHBR ];
+ kal_uint8 searchPriority;
+ kal_uint8 srchWinNghbr;
+ kal_uint8 srchOffsetNghbr;
+ kal_bool freqIncl;
+ SysCdmaBandT nghbrBand;
+ kal_uint16 nghbrFreq;
+ kal_bool timingIncl;
+ kal_uint8 nghbrTxOffset;
+ kal_uint8 nghbrTxDuration;
+ kal_uint8 nghbrTxPeriod;
+ kal_bool accessEntryHo;
+ kal_bool accessHoAllowed;
+ kal_bool ResqEnabled;
+ kal_uint8 ResqDelayTime;
+ kal_uint8 ResqAllowedTime;
+ kal_uint8 ResqAttemptTime;
+ kal_uint16 ResqCodeChan;
+ kal_uint8 ResqQof;
+ kal_bool ResqMinPeriodIncl;
+ kal_uint8 ResqMinPeriod;
+ kal_bool ResqNumTotTransIncl;
+ kal_uint8 ResqNumTotTrans20ms;
+ kal_uint8 ResqNumTotTrans5ms;
+ kal_uint8 ResqNumPreambleRc1Rc2;
+ kal_uint8 ResqNumPreamble;
+ kal_uint8 ResqPowerDelta;
+ kal_bool NghbrResqConfigured[ CP_MAX_CDMA_NGHBR];
+
+} BcchUNLMMcSysterm;
+
+#define CP_MAX_NUM_ANALOG_NGHBR 7
+
+typedef struct
+{
+ kal_uint8 numAnalogNghbr;
+ HOAnalogNghbrRecord analogNghbr[ CP_MAX_NUM_ANALOG_NGHBR ];
+} BcchUNLMAnalog;
+
+typedef enum
+{
+ RADIO_INTERFACE_TYPE_MC_SYSTEM,
+ RADIO_INTERFACE_TYPE_ANALOG_SYSTEM
+} RadioInterfaceType;
+
+typedef struct
+{
+ RadioInterfaceType radioInterfaceType;
+ kal_uint8 radioInterfaceLen;
+
+ union
+ {
+ BcchUNLMMcSysterm cdmaRec;
+ BcchUNLMAnalog analogRec;
+ } type;
+} RadioInterfaces;
+
+#define CP_MAX_RADIO_INTERFACE 15
+
+typedef struct
+{
+ kal_uint16 pilotPn;
+ kal_uint8 configMsgSeq;
+ kal_uint8 numRadioInterface;
+ RadioInterfaces radioInterface[ CP_MAX_RADIO_INTERFACE ];
+} BcchUNLM;
+
+
+/****************************************************************************
+* Prototypes
+****************************************************************************/
+
+/* #ifdef IS2000_REV_0 */
+/* Created to unpack Extended CDMA Channel List Message */
+kal_bool cpExtChanLstMessage( PChECCLM *pECCLM, FcschMessage* pFcschMsg );
+
+/* Created to unpack Extended Global Service Redirect Message */
+kal_bool cpExtGlobServRedirMessage( PChEGSRM *pEGSRM, FcschMessage* pFcschMsg );
+
+/* Create to unpack Neighbor Pilot Records
+ in Universal Neighbor List Message or General Neighbor List Message */
+kal_bool cpExtractPilotRec
+(
+const PilotRecType nghbrRecType,
+const kal_uint16 recLength,
+kal_uint8 *pBuffer,
+kal_uint16 *pMsgNdx,
+HONghbrPilotRec *pRec
+);
+/* #endif */
+
+
+/* Created to unpack ANSI-41 Systerm Parameters Message */
+kal_bool cpAnsi41SysParsMessage( BcchA41SPM *pA41SPM, FcschMessage* pFcschMsg );
+
+/* Created to unpack ANSI-41 RAND Message */
+kal_bool cpAnsi41RandMessage( BcchA41RANDM *pA41RANDM, FcschMessage* pFcschMsg );
+
+/* Created to unpack MC RR Parameters Message */
+kal_bool cpMcRrParsMessage( BcchMCRRPM *pMCRRPM, FcschMessage* pFcschMsg );
+
+#ifdef MTK_DEV_C2K_IRAT
+kal_bool cpAlterTechInfoMessage(PchATIM *pATIM, FcschMessage* pFcschMsg);
+#endif /* MTK_DEV_C2K_IRAT */
+/* Created to unpack Enhanced Access Parameter Message */
+kal_bool cpEnhAccessParsMessage(BcchEAPM *pEAPM,FcschMessage* pFcschMsg);
+
+/* Create to unpack Universal Neighbor List Message */
+kal_bool cpUnivNghbListMessage( BcchUNLM *pUNLM, FcschMessage* pFcschMsg );
+
+PChChannelAssign *cpGetChannelAssignment(void);
+void cpGetPageOrder(kal_uint8 *order,kal_uint8 *ordq);
+kal_uint32 cpGetAuthBS(void);
+kal_uint8 cpGetRoamIndi(void);
+CPState cpRespondToBSOrder_Message(PChMessage *msg,kal_uint16 *index);
+kal_bool cpSysParsMessage(PChSystemParameters *msg,FcschMessage* pFcschMsg, kal_bool checkPN);
+
+kal_bool cpAccessParsMessage(PChAccessParameters *message, FcschMessage* pFcschMsg);
+
+kal_bool cpNeighborListMessage(HONghbrIdleHandoffList *rec,FcschMessage* pFcschMsg);
+kal_bool cpCdmaChannelListMessage(PChChannelList *message,FcschMessage *pFcschMsg);
+kal_bool cpExtSystemParsMessage (PChExtendedSystemPars *msg, FcschMessage* pFcschMsg);
+kal_bool cpGlobalSvcRedirectMessage(ServiceRedirData *redirect,FcschMessage *pFcschMsg);
+kal_bool cpChannelAssignMessage(kal_uint8 *data,kal_uint16 *index);
+kal_bool cpOrderMessage(PChMessage *message,kal_uint16 *index);
+kal_bool cpDataBurstMessage(DataBurstData* dataBurstData,kal_uint8 *data,kal_uint16 *index);
+void cpAuthChallMessage(kal_uint8 *data,kal_uint16 *index,kal_uint32 *randu);
+void cpSSDUpdateMessage(kal_uint8 *data,kal_uint16 *index,kal_uint8 *randSSD);
+kal_bool cpStatusRequestMessage(PChMessage *message,kal_uint16 *index);
+kal_bool cpServiceRedirectMessage(ServiceRedirData *redirect,kal_uint8 *data,kal_uint16 *index);
+kal_bool cpExtChannelAssignMessage(kal_uint8 *data,kal_uint16 *index,kal_uint8 msgType);
+kal_bool validateCodeChan(kal_uint8 PRev, kal_uint8 RC, kal_uint16 CodeChan);
+void extractPLCMFields(kal_uint8 *data, kal_uint16 *index, kal_bool *plcmTypeIncl, kal_uint8 *plcmType, kal_uint8 *plcm39);
+
+#endif /* _PCH_MSG_H_ */
+
+
+
+/**Log information: \main\Trophy_SO73\1 2013-07-09 05:05:19 GMT gdeng
+** HREF#0000 see scbp11634**/
+/**Log information: \main\Trophy\1 2013-07-17 08:12:30 GMT cshen
+** href#2222**/
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/pilots.h b/mcu/interface/protocol/as_c2k/1xrtt/pilots.h
new file mode 100644
index 0000000..89700cc
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/pilots.h
@@ -0,0 +1,417 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Filename: pilots.h
+ *
+ * Purpose: Definition of Pilot structures and supporting routines.
+ *
+ ****************************************************************************
+ *
+ * PVCS Header Information
+ *
+ *
+ * $Log: pilots.h $
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ * Revision 1.3 2004/04/06 14:02:19 dstecker
+ * CBP6.1 release 1
+ * Revision 1.2 2004/03/25 12:09:40 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.2 2004/02/10 12:50:53 bcolford
+ * Merged CBP4.0 Release 8.05.0 changes.
+ * Revision 1.13 2003/12/04 18:18:44 blee
+ * Pilot search for remaining set added
+ * Revision 1.12 2002/12/30 19:07:48 akayvan
+ * Per CR570, corrected replacement of IS2000_ADDENDMENT_2
+ * with IS2000_REV_A instead of IS2000_REV_0, and replaced
+ * IS2000_A_3X with IS2000_REV_A.
+ * Revision 1.11 2002/12/26 16:13:34 dstecker
+ * Conditional compile flag IS2000A replaced with IS_2000_REV_A and IS_2000_REV_0
+ * Revision 1.10 2002/10/31 18:24:03 amala
+ * Changed RMS Error Phase parameter type to kal_uint8.
+ * Revision 1.9 2002/08/26 16:11:02 ameya
+ * Changed CP_MAX_STORED_NEIGHBORS to 40 from 64. Fixed CR# 635.
+ * Revision 1.8 2002/06/06 13:14:08 chinh
+ * Changed and Added Copyright
+ * Revision 1.7 2002/03/01 16:29:59 AMALA
+ * Added Location Services AFLT functionality.
+ * Revision 1.6 2001/09/04 15:27:21 byang
+ * Redefined HO_MAX_WALSH_CODE_LENGTH to be 2
+ * instead of 65 since the maximum size is only 9 bits.
+ *
+ * Revision 1.5 2001/08/03 15:15:20 dstecker
+ * Modifications for IS2000 handoffs
+ * Revision 1.4 2001/07/18 15:14:11 chinh
+ * cbp3 porting for Idle and Access
+ * Revision 1.3 2001/06/29 12:02:56 byang
+ * Added compiler flag IS2000_A_AUX_PILOTfor all auxiliary
+ * pilot record structures declaration and processing code.
+ * Revision 1.2 2001/06/12 15:45:03 byang
+ * Update the maximum neighbor list from 20 to 40.
+ * Moved idle neighbor list structures to here to prevent circular
+ * dependency.
+ * Revision 1.1 2001/01/17 10:59:12 plabarbe
+ * Initial revision
+ * Revision 1.1 2000/10/24 14:11:23 fpeng
+ * Initial revision
+ * Revision 1.4 2000/09/23 02:38:43Z rnookala
+ * changed n8m to 20
+ * Revision 1.3 2000/08/23 22:10:10Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes.
+ * Revision 1.13 2000/01/17 22:27:19 scotvold
+ * TC Backward Compatibility changes.
+ *
+ * Revision 1.12 1998/11/20 16:44:23 scotvold
+ * Moved HOTCPilot Structure definition from ho_tc.h to here.
+ * Removed tDrop for TEST_PILOT optimization.
+ *
+ * Revision 1.11 1998/10/31 02:19:17 scotvold
+ * Pilot Set maintenance optimization test.
+ *
+ * Revision 1.10 1998/10/20 23:58:23 mhayduk
+ * Added T53 support.
+ *
+ * Revision 1.9 1998/08/14 23:49:45 scotvold
+ * Added pilotPN to Remaining measurement.
+ *
+ * Revision 1.8 1998/07/03 16:57:30 dfischer
+ * New load
+ *
+ * Revision 1.7 1998/06/12 14:50:38 scotvold
+ * Updated for Release 0.07.
+ *
+ * Revision 1.6 1998/06/08 21:48:25 scotvold
+ * Updated for Release 0.06.
+ *
+ * Revision 1.5 1998/05/27 17:16:28 scotvold
+ * Updated for Release 0.05.
+ *
+ * Revision 1.4 1998/05/01 18:13:54 scotvold
+ * Update for release 0.04
+ *
+ * Revision 1.3 1998/03/30 23:26:03 mhayduk
+ * Release 0.03.
+ *
+ * Revision 1.1 1997/11/06 17:49:24 mhayduk
+ * Initial revision
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+
+#ifndef _PILOTS_H_
+
+ #define _PILOTS_H_ 1
+
+/*****************************************************************************
+ * Includes
+ ****************************************************************************/
+#include "channel.h"
+#include "sync_msg.h"
+#include "cptimer.h"
+
+/*****************************************************************************
+ * Defines
+ ****************************************************************************/
+#define CP_MAX_ACTIVE_SET N6m
+#define CP_MAX_CANDIDATE_SET N7m
+#define CP_MAX_NEIGHBOR_SET N8m
+#define CP_MAX_ANALOG_NEIGHBOR_SET 7
+
+#ifdef MTK_CBP
+#define CP_MAX_REMAINING_SET 44
+#else
+#define CP_MAX_REMAINING_SET 20
+#endif
+
+#define CP_MAX_CH_CHANGE_LIST CP_MAX_NEIGHBOR_SET
+
+/* Define CF Search Set and Neighbor Set to be of maximum size as the **
+** maximum number of pilots that can be sent in a Candidate Frequency **
+** Search Request Message = N8m as specified in 7.6.6.2.1.4 */
+#define CP_MAX_CANDIDATE_FREQUENCY_SEARCH_SET N8m
+#define CP_MAX_CANDIDATE_FREQUENCY_NEIGHBOR_SET N8m
+
+typedef enum
+{
+ CP_SM_NO_SEARCH_PRIORITIES_OR_SEARCH_WINDOWS,
+ CP_SM_SEARCH_PRIORITIES,
+ CP_SM_SEARCH_WINDOWS,
+ CP_SM_SEARCH_PRIORITIES_AND_SEARCH_WINDOWS
+} NghbrSearchMode;
+
+/*****************************************************************************
+ * Pilot structure definitions
+ ****************************************************************************/
+ typedef enum
+ {
+ PILOT_REC_1X_COMMON_TD,
+ PILOT_REC_1X_AUX_NON_TD,
+ PILOT_REC_1X_AUX_TD,
+ PILOT_REC_3X_COMMON,
+ PILOT_REC_3X_AUX
+ } PilotRecType;
+
+/* Information extracted from the Universal Neighbor List Message */
+ typedef struct
+ {
+ Sr1TdPowerLevel tdPowerLevel;
+ Sr1TdModes tdMode;
+ } HONghbrPilotRecType000;
+
+/* The maximum Walsh Code size in octets */
+/* maximum of 3 bits + 6 bits = 9 bits */
+#define HO_MAX_WALSH_CODE_LENGTH 2
+
+ typedef struct
+ {
+ kal_uint8 qof;
+ kal_uint16 walshLength;
+ kal_uint8 auxPilotWalsh[ HO_MAX_WALSH_CODE_LENGTH ];
+ } HONghbrPilotRecType001;
+
+ typedef struct
+ {
+ kal_uint8 qof;
+ kal_uint16 walshLength;
+ kal_uint8 auxWalsh[ HO_MAX_WALSH_CODE_LENGTH ];
+ kal_uint8 auxTdPowerLevel;
+ kal_uint8 tdMode;
+ } HONghbrPilotRecType010;
+
+ typedef struct
+ {
+ kal_uint8 sr3PrimaryPilot;
+ kal_uint8 sr3PilotPower1;
+ kal_uint8 sr3PilotPower2;
+ } HONghbrPilotRecType011;
+
+ typedef struct
+ {
+ kal_uint8 sr3PrimaryPilot;
+ kal_uint8 sr3PilotPower1;
+ kal_uint8 sr3PilotPower2;
+ kal_uint8 qof;
+ kal_uint16 walshLength;
+ kal_uint8 auxPilotWalsh[ HO_MAX_WALSH_CODE_LENGTH ];
+ kal_bool addInfoIncl1;
+ kal_uint8 qof1;
+ kal_uint16 walshLength1;
+ kal_uint8 auxPilotWalsh1[ HO_MAX_WALSH_CODE_LENGTH ];
+ kal_bool addInfoIncl2;
+ kal_uint8 qof2;
+ kal_uint16 walshLength2;
+ kal_uint8 auxPilotWalsh2[ HO_MAX_WALSH_CODE_LENGTH ];
+ } HONghbrPilotRecType100;
+
+ typedef union
+ {
+ HONghbrPilotRecType000 type000;
+
+ HONghbrPilotRecType001 type001;
+ HONghbrPilotRecType010 type010;
+
+ HONghbrPilotRecType011 type011;
+ HONghbrPilotRecType100 type100;
+
+ } HONghbrPilotRec;
+
+ /* structure used to set search windows for pilot searches */
+ typedef struct
+ {
+ kal_uint8 activeWindow;
+ kal_uint8 neighborWindow;
+ kal_uint8 remainingWindow;
+ } PilotSearchWindow;
+
+ /* structure to define content of the IDLE neighbor list */
+ typedef struct
+ {
+ kal_uint16 pilotPN;
+ kal_bool freqIncluded; /* indicates if freq info is available */
+ SysCdmaBandT band; /* CDMA band */
+ kal_uint16 frequency; /* CDMA_CH frequency */
+ kal_uint8 priority; /* search priority */
+ kal_uint8 srchWinNghbr; /* Neighbor search window */
+ kal_uint8 srchOffsetNghbr;
+ kal_bool timingIncl;
+ kal_uint8 nghbrTxOffset;
+ kal_uint8 nghbrTxDuration;
+ kal_uint8 nghbrTxPeriod;
+ kal_bool bcchSupport;
+ kal_bool addPilotRecIncl;
+ PilotRecType pilotRecType;
+ HONghbrPilotRec pilotRec;
+ } IdleNghbrConfig;
+
+ /* R.Sattari, 6/29/00 */
+ /* structure to define content of the Traffic Channel hopping neighbor list */
+ typedef struct
+ {
+ kal_uint16 nghbrPN;
+ kal_uint8 searchPriority;
+ kal_uint8 srchWinNghbr;
+ kal_bool timeIncl;
+ kal_uint8 nghbrTxOffset;
+ kal_uint8 nghbrTxDuration;
+ kal_uint8 nghbrTxPeriod;
+ kal_uint8 srchOffsetNghbr; /* 0 means not included (only 3 bit value) */
+ kal_uint8 otdPowerLevel;
+ } NghbrPilot;
+
+ /* structure to combine Idle and TC neighbor lists */
+ /* The Global Neighbor Search Window is not included in this structure **
+ ** since it is sent down in the wbiosPilotSearchWindow() call */
+ typedef struct
+ {
+ NghbrSearchMode nghbrSrchMode; /* NGHBR_SRCH_MODE */
+ kal_uint8 numPilots; /* number of pilots provided in list */
+#ifdef MTK_CBP
+ NghbrPilot pilot[ SYS_CP_MAX_NEIGHBOR_LIST_PILOTS ];
+#else
+ NghbrPilot pilot[ CP_MAX_NEIGHBOR_SET ];
+#endif
+ } NghbrList;
+
+
+ /* structure to provide Active Pilot set list */
+ typedef struct
+ {
+ kal_uint8 numPilots; /* number of pilots provided in list */
+ kal_uint16 pilot[CP_MAX_ACTIVE_SET];
+ } ActiveList;
+
+
+ /* structure to define content of Candidate Pilot set */
+ typedef struct
+ {
+ kal_uint8 numPilots; /* number of pilots provided in list */
+ kal_uint16 pilot[CP_MAX_CANDIDATE_SET]; /* list of pilots */
+ } CandList;
+
+
+ /* Pilot lists used to define Idle pilot set*/
+ typedef struct
+ {
+ kal_uint8 nghbrSrchMode;
+ kal_uint8 numPilots;
+#ifdef MTK_CBP
+ IdleNghbrConfig idleNghbrPilot[ SYS_CP_MAX_NEIGHBOR_LIST_PILOTS ];
+#else
+ IdleNghbrConfig idleNghbrPilot[ CP_MAX_NEIGHBOR_SET ];
+#endif
+ } IdlePilotSet;
+
+
+ /* Pilots to be used for Idle channel change */
+ typedef struct
+ {
+ kal_bool frequencyIncluded;
+ SysCdmaBandT band;
+ kal_uint16 frequency;
+ kal_uint8 numPilots;
+ kal_uint16 pilotPN[ CP_MAX_CH_CHANGE_LIST ];
+ } IdleChangePilotSet;
+
+
+ /* Pilot lists used to define or update the searched Pilot Sets */
+ typedef struct
+ {
+ ActiveList active; /* Active pilot list */
+ CandList candidate; /* Candidate pilot list */
+ NghbrList neighbor; /* Neighbor pilot list */
+ } PilotSet;
+
+ /* Amala K. 03/01/02 - AFLT */
+
+ /* individual pilot PILOT_PN & TIME_CORRECTION from BS ALMANAC */
+ typedef struct
+ {
+ kal_uint16 PilotPN;
+ kal_int16 TimeCorrect;
+ } AfltPilotSet;
+
+ /* AFLT Pilot list used to update the searched AFLT Pilot Sets */
+ typedef struct
+ {
+ AfltPilotSet Pilot[SYS_CP_MAX_AFLT_LIST_PILOTS];
+ } AfltPilotSetList;
+ /* Amala K. - AFLT END */
+
+ /* report content for a pilot measurement */
+ /* Pilot Strength measurements = -8 * log10(PS) (8 bit resolution) */
+ /* i.e., the WBIOS has already performed the logarithmic calculation */
+ typedef struct
+ {
+ kal_bool stale;
+ kal_uint16 pnPhase;
+ kal_uint16 strength; /* Power of the pilot in Q16 linear units */
+ } PilotMeasurement;
+
+ /* pilot report structure defines a pilot measurement for each pilot in */
+ /* all lists */
+ typedef struct
+ {
+ kal_uint8 numActive; /* number of pilots in active list */
+ kal_uint8 numCandidate; /* number of pilots in candidate list */
+ kal_uint8 numNeighbor; /* number of pilots in neighbor list */
+ kal_uint8 numRemaining; /* number of pilots in remaining list */
+ PilotMeasurement activeList[ CP_MAX_ACTIVE_SET ];
+ PilotMeasurement candidateList[ CP_MAX_CANDIDATE_SET ];
+ PilotMeasurement neighborList[ CP_MAX_NEIGHBOR_SET ];
+ PilotMeasurement remainingList[CP_MAX_REMAINING_SET];
+ } PilotReport;
+
+
+ typedef struct
+ {
+ kal_uint16 pilotPN;
+ PilotMeasurement measure;
+ } HOTCPilot;
+#endif /*_PILOTS_H_ */
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/psw_dhl_trace.h b/mcu/interface/protocol/as_c2k/1xrtt/psw_dhl_trace.h
new file mode 100644
index 0000000..99e337e
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/psw_dhl_trace.h
@@ -0,0 +1,190 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*******************************************************************************
+ *
+ * Filename:
+ * ---------
+ * psw_dhl_trace.h
+ *
+ * Project:
+ * --------
+ * C2K
+ *
+ * Description:
+ * ------------
+ *
+ *
+ * Author:
+ * -------
+ *
+ *
+ *==============================================================================
+ * HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *==============================================================================
+ ******************************************************************************/
+#ifndef _PSW_DHL_TRACE_H
+#define _PSW_DHL_TRACE_H
+#ifndef GEN_FOR_PC
+#include "stack_config.h"
+#endif
+#include "dhl_trace.h"
+#include "protocol_section.h"
+#if !defined(GEN_FOR_PC)
+#if defined(__DHL_MODULE__) || defined(__CUSTOM_RELEASE__)
+#endif
+#endif
+#if !defined(GEN_FOR_PC)
+#include"psw_dhl_trace_mod_cpsw_utmd.h"
+#endif
+#endif /* _PSW_DHL_TRACE_H */
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/psw_dhl_trace_mod_cpsw_utmd.json b/mcu/interface/protocol/as_c2k/1xrtt/psw_dhl_trace_mod_cpsw_utmd.json
new file mode 100644
index 0000000..7b4c551
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/psw_dhl_trace_mod_cpsw_utmd.json
@@ -0,0 +1,1912 @@
+{
+ "endGen": "-",
+ "legacyParameters": {},
+ "module": "MOD_CPSW",
+ "startGen": "Legacy",
+ "traceClassDefs": [
+ {
+ "TRACE_INFO": {
+ "debugLevel": "Ultra-High",
+ "tag": [
+ "Baseline",
+ "TRACE_INFO",
+ "Sensitive"
+ ],
+ "traceType": "Public"
+ }
+ },
+ {
+ "TRACE_WARNING": {
+ "debugLevel": "High",
+ "tag": [
+ "Baseline",
+ "TRACE_WARNING"
+ ],
+ "traceType": "DesignInfo"
+ }
+ },
+ {
+ "TRACE_ERROR": {
+ "debugLevel": "Ultra-High",
+ "tag": [
+ "Baseline",
+ "TRACE_ERROR"
+ ],
+ "traceType": "Public"
+ }
+ },
+ {
+ "TRACE_FUNC": {
+ "debugLevel": "Low",
+ "tag": [
+ "Baseline",
+ "TRACE_FUNC"
+ ],
+ "traceType": "DesignInfo"
+ }
+ },
+ {
+ "TRACE_STATE": {
+ "debugLevel": "Medium",
+ "tag": [
+ "Baseline",
+ "TRACE_STATE"
+ ],
+ "traceType": "Public"
+ }
+ },
+ {
+ "TRACE_GROUP_1": {
+ "debugLevel": "Ultra-Low",
+ "tag": [
+ "Baseline"
+ ],
+ "traceType": "Public"
+ }
+ },
+ {
+ "TRACE_GROUP_2": {
+ "debugLevel": "Ultra-Low",
+ "tag": [
+ "Baseline"
+ ],
+ "traceType": "Public"
+ }
+ },
+ {
+ "TRACE_GROUP_3": {
+ "debugLevel": "Ultra-Low",
+ "tag": [
+ "Baseline"
+ ],
+ "traceType": "Public"
+ }
+ },
+ {
+ "TRACE_GROUP_4": {
+ "debugLevel": "Ultra-Low",
+ "tag": [
+ "Baseline"
+ ],
+ "traceType": "Public"
+ }
+ },
+ {
+ "TRACE_GROUP_5": {
+ "debugLevel": "Ultra-Low",
+ "tag": [
+ "Baseline"
+ ],
+ "traceType": "Public"
+ }
+ },
+ {
+ "TRACE_GROUP_6": {
+ "debugLevel": "Ultra-Low",
+ "tag": [
+ "Baseline"
+ ],
+ "traceType": "Public"
+ }
+ },
+ {
+ "TRACE_GROUP_7": {
+ "debugLevel": "Ultra-Low",
+ "tag": [
+ "Baseline"
+ ],
+ "traceType": "Public"
+ }
+ },
+ {
+ "TRACE_GROUP_8": {
+ "debugLevel": "Ultra-Low",
+ "tag": [
+ "Baseline"
+ ],
+ "traceType": "Public"
+ }
+ },
+ {
+ "TRACE_GROUP_9": {
+ "debugLevel": "Ultra-Low",
+ "tag": [
+ "Baseline"
+ ],
+ "traceType": "Public"
+ }
+ },
+ {
+ "TRACE_GROUP_10": {
+ "debugLevel": "Ultra-Low",
+ "tag": [
+ "Baseline"
+ ],
+ "traceType": "Public"
+ }
+ },
+ {
+ "TRACE_SENSITIVE_USIR": {
+ "debugLevel": "High",
+ "tag": [
+ "Baseline","USIR"
+ ],
+ "traceType": "Public"
+ }
+ }
+ ],
+ "traceDefs": [
+ {
+ "DHL_CP_PSW_PCH_BAD_CRC_AIR_MSG_TRACE_ID": {
+ "apiType": "index",
+ "format": "[LAYER2]PCH Bad CRC: Length %d; Type %MPchMessageTypeE",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "XRTT_NW_TO_MS_AIR_MSG_SYNC": {
+ "apiType": "ota",
+ "format": "[NW->MS] C2K1XRTT Sync Message",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "XRTT_NW_TO_MS_AIR_MSG_PCH": {
+ "apiType": "ota",
+ "format": "[NW->MS] C2K1XRTT %MPchMessageTypeE",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "XRTT_NW_TO_MS_AIR_MSG_FCH": {
+ "apiType": "ota",
+ "format": "[NW->MS] C2K1XRTT %MFTCMessageType",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "XRTT_MS_TO_NW_AIR_MSG_ACH": {
+ "apiType": "ota",
+ "format": "[MS->NW] C2K1XRTT %MAchMessageTypeE",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "XRTT_MS_TO_NW_AIR_MSG_FCH": {
+ "apiType": "ota",
+ "format": "[MS->NW] C2K1XRTT %MRTCMessageType",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "XRTT_MS_TO_NW_AIR_MSG_LOC": {
+ "apiType": "ota",
+ "format": "[MS->NW] C2K1XRTT Reverse_IS801_msg",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "XRTT_NW_TO_MS_AIR_MSG_LOC": {
+ "apiType": "ota",
+ "format": "[NW->MS] C2K1XRTT Forward_IS801_msg",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_ACCESS_SUSPEND": {
+ "apiType": "index",
+ "format": "[ACC]PE_ACCESS_SUSPEND, Suspend=%d, InAccess=%d",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "DHL_CP_PE_SRBP_MAX_PROBE_SIZE": {
+ "apiType": "index",
+ "format": "[SRBP]MAX_PROBE_SIZE, Size=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_SRBP_STATE_MACHINE_EVENTS": {
+ "apiType": "index",
+ "format": "[SRBP]STATE_MACHINE_EVENTS, State=%MSrbpAccessStateT, Event=%MSrbpAccessEventT",
+ "traceClass": "TRACE_STATE"
+ }
+ },
+ {
+ "DHL_CP_PE_SRBP_START_TA_TIMER": {
+ "apiType": "index",
+ "format": "[SRBP]START_TA_TIMER, Timer=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_SRBP_STOP_TA_TIMER": {
+ "apiType": "index",
+ "format": "[SRBP]STOP_TA_TIMER, Reasons=%MReasonsForTA_Stop",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_SRBP_STOP_ATTEMPT": {
+ "apiType": "index",
+ "format": "[SRBP]STOP_ATTEMPT, accessState=%MSrbpAccessStateT",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_SRBP_FUNCTION_CALL": {
+ "apiType": "index",
+ "format": "[SRBP]FUNCTION_CALL, function=%s",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "DHL_CP_PE_SRBP_ACH_PARMS_1": {
+ "apiType": "index",
+ "format": "[SRBP]ACH_PARMS_1, maxReqSeq=%d, maxRspSeq=%d, msgPsist=%d, regPsist=%d, accTmo=%d, probePnRan=%d, auth=%d, maxCapSz=%d, pamSz=%d, numStep=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_SRBP_ACH_PARMS_2": {
+ "apiType": "index",
+ "format": "[SRBP]ACH_PARMS_2, pwrStep=%d, nomPwr=%d, initPwr=%d, nomPwrExt=%d, accChan=%d, probeBkoff=%d, bkoff=%d, accessMessageBitSize=%d, PSISTs=%d, framesPerSlot=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_SRBP_ACCESS_REQUEST": {
+ "apiType": "index",
+ "format": "[SRBP]SRBP_ACCESS_REQUEST, max Probe Seq=%d",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "DHL_CP_PE_SRBP_ACCESS_RESPONSE": {
+ "apiType": "index",
+ "format": "[SRBP]SRBP_ACCESS_RESPONSE, max Probe Seq=%d",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "DHL_CP_PE_SRBP_ACH_PWR_CORRECT": {
+ "apiType": "index",
+ "format": "[SRBP]ACH_PWR_CORRECT, powerCorrection=%d, useCurrMip=%d, rt=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_SRBP_PROBE_RETRANSMIT": {
+ "apiType": "index",
+ "format": "[SRBP]PROBE_RETRANSMIT, Seq=%d, Probe=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_SRBP_MAX_PROBE_SEQUENCE": {
+ "apiType": "index",
+ "format": "[SRBP]MAX_PROBE_SEQUENCE",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_SRBP_SEQUENCE_RETRANSMIT": {
+ "apiType": "index",
+ "format": "[SRBP]SEQUENCE_RETRANSMIT,seq=%d, bkoff=%d, rs=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_SRBP_INIT_PROBE_HO": {
+ "apiType": "index",
+ "format": "[SRBP]INIT_PROBE_HO,NumProbeHo=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_SRBP_PERSISTENCE_TEST_FAIL": {
+ "apiType": "index",
+ "format": "[SRBP]PERSISTENCE_TEST_FAIL",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_SRBP_INIT_ACH": {
+ "apiType": "index",
+ "format": "[SRBP]INIT_ACH,RN=%d, sendTime=0x%x, powerCorrection=%d, pamSize=%d, ra=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_SRBP_ACH_PROBE_SENT": {
+ "apiType": "index",
+ "format": "[SRBP]ACH_PROBE_SENT,dataLen=%d, sendTime=0x%x, powerCorrection=%d, useCurrMip=%d, pamSize=%d, RN=%d rt=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_SRBP_PERSISTANCE_DELAY": {
+ "apiType": "index",
+ "format": "[SRBP]PERSISTANCE_DELAY,delaySlots=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_SRBP_ACH_LONG_CODE": {
+ "apiType": "index",
+ "format": "[SRBP]ACH_LONG_CODE,[0]=0x%x,[1]=0x%x,[2]=0x%x,[3]=0x%x,[4]=0x%x,[5]=0x%x",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_SRBP_ACH_INIT_PWR": {
+ "apiType": "index",
+ "format": "[SRBP]ACH_INIT_PWR,calculated init pwr=%d, prev_pwr=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_SRBP_MOD_PWR": {
+ "apiType": "index",
+ "format": "[SRBP]MOD_PWR,current pwr=%d, previous pwr=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_SRBP_ACC_CORRECTION": {
+ "apiType": "index",
+ "format": "[SRBP]ACC_CORRECTION,Correction=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_SRBP_SET_ACC_CORR_PARMS": {
+ "apiType": "index",
+ "format": "[SRBP]SET_ACC_CORR_PARMS,nomPwr=%d, nomPwrExt=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_SRBP_RC_INTER_CORR": {
+ "apiType": "index",
+ "format": "[SRBP]RC_INTER_CORR,correction=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_SRBP_STATE_CHANGE": {
+ "apiType": "index",
+ "format": "[SRBP]STATE_CHANGE,Current State=%MSrbpAccessStateT, Next State=%MSrbpAccessStateT",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAC_ACCESS_ATTEMPT": {
+ "apiType": "index",
+ "format": "[LAC]ACCESS_ATTEMPT,maxProbeSize = %d, sizeInBits = %d, validAck = %d msgType = %d, channelType = %d, request = %d, lacLength = %d, retValue = %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAC_ACCESS_RESUME": {
+ "apiType": "index",
+ "format": "[LAC]ACCESS_RESUME,maxProbeSize = %d, sizeInBits = %d, validAck = %d msgType = %d, channelType = %d, request = %d, retValue = %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAC_TA_TIMEOUT": {
+ "apiType": "index",
+ "format": "[LAC]TA_TIMEOUT,maxProbeSize = %d, sizeInBits = %d, validAck = %d msgType = %d, channelType = %d, request = %d, retValue = %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAC_ACCESS_ASM_FAILURE": {
+ "apiType": "index",
+ "format": "[LAC]ACCESS_ASM_FAILURE,maxProbeSize = %d, sizeInBits = %d, validAck = %d msgType = %d, channelType = %d, request = %d, retValue = %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAC_ACCESS_MSG_LEN": {
+ "apiType": "index",
+ "format": "[LAC]ACCESS_MSG_LEN,index= %d, _acccessMsgLength = %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAC_ACCESS_MSG_TO_LARGE": {
+ "apiType": "index",
+ "format": "[LAC]ACCESS_MSG_TO_LARGE,_accessMsgLength+CP_CRC_30_WIDTH = %d, > maxCapsuleSize = %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAC_ACCESS_MSG_FINAL_LENGTH": {
+ "apiType": "index",
+ "format": "[LAC]ACCESS_MSG_FINAL_LENGTH,_accessMsgLength+CP_CRC_30_WIDTH = %d, =< maxCapsuleSize = %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAC_ACCESS_MSG_ACTIVE_PILOTS": {
+ "apiType": "index",
+ "format": "[LAC]ACCESS_MSG_ACTIVE_PILOTS,_pilotReport = %d, activeStrength = %d, firstIsActive = %d, firstIsPTA =%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAC_ACCESS_MSG_EXTRA_PILOTS": {
+ "apiType": "index",
+ "format": "[LAC]ACCESS_MSG_EXTRA_PILOTS,extraPilots = %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAC_ACCESS_NO_EXTRA_PILOTS": {
+ "apiType": "index",
+ "format": "[LAC]ACCESS_NO_EXTRA_PILOTS",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAC_ACCESS_PILOT_REPORT": {
+ "apiType": "index",
+ "format": "[LAC]ACCESS_PILOT_REPORT, _pilotReport =%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAC_SET_PILOT_REPORT": {
+ "apiType": "index",
+ "format": "[LAC]SET_PILOT_REPORT, _pilotReport =%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAC_PILOT_MSMT_REPORT_REC": {
+ "apiType": "index",
+ "format": "[LAC]PILOT_MSMT_REPORT_REC, _pilotReport =%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAC_DB_PAY_LOAD": {
+ "apiType": "index",
+ "format": "[LAC]DB_PAY_LOAD, maxCapSizeInBytes =%d, lacFieldWidthInBytes = %d, dbPayLoadInBytes =%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_SYNC_CH": {
+ "apiType": "index",
+ "format": "[LAYER2]SYNC_CONTROL, control =%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_PAGE_CH": {
+ "apiType": "index",
+ "format": "[LAYER2]PAGE_CONTROL, control =%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_BUILD_SYNC_MSG1": {
+ "apiType": "index",
+ "format": "[LAYER2]Build Sync Received SOM in middle of message, length=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_BUILD_SYNC_MSG2": {
+ "apiType": "index",
+ "format": "[LAYER2]Build Sync SYNC frame missed,, lastFrame=0x%x, currentFrame=0x%x",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_BUILD_SYNC_MSG3": {
+ "apiType": "index",
+ "format": "[LAYER2]Build Sync Received SHORT message (< 40 bits)!,length=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_BUILD_SYNC_MSG4": {
+ "apiType": "index",
+ "format": "[LAYER2]Build Sync CRC failed on SYNC message, length=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_BUILD_SYNC_MSG5": {
+ "apiType": "index",
+ "format": "[LAYER2]Build Sync New SOM on frame, Frame=0x%x",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_BUILD_SYNC_MSG6": {
+ "apiType": "index",
+ "format": "[LAYER2]Build Sync New SYNC Message, length=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_BUILD_SYNC_MSG7": {
+ "apiType": "index",
+ "format": "[LAYER2]Build Sync Bad sync message length, length=%d, type=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_BUILD_PAGE_MSG1": {
+ "apiType": "index",
+ "format": "[LAYER2]Build Page,receive SCI in middle, msglen=0x%x, msgtype=0x%x",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_BUILD_PAGE_MSG2": {
+ "apiType": "index",
+ "format": "[LAYER2]Build Page,receive short msg(<40bits), msglen=0x%x, msgtype=0x%x",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_BUILD_PAGE_MSG3": {
+ "apiType": "index",
+ "format": "[LAYER2]Build Page,new SCI at SysTime 0x%x",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_BUILD_PAGE_MSG4": {
+ "apiType": "index",
+ "format": "[LAYER2]Build Page,new Pch Msg Good CRC, msglen=0x%x, msgtype=0x%x",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_BUILD_PAGE_MSG5": {
+ "apiType": "index",
+ "format": "[LAYER2]Build Page,GPM with SCI fail, srvOpt=%d, para2=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_BUILD_PAGE_MSG6": {
+ "apiType": "index",
+ "format": "[LAYER2]Build Page,GPM with CRC fail, srvOpt=%d, para2=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_FTC_START1": {
+ "apiType": "index",
+ "format": "[LAYER2]FTC_START,State Machine already running, ignore Start",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_FTC_START2": {
+ "apiType": "index",
+ "format": "[LAYER2]FTC_START,State Machine start",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_FTC_START3": {
+ "apiType": "index",
+ "format": "[LAYER2]FTC_START,Wait for N5m Good FTC frames",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_FUNCTION_CALL1": {
+ "apiType": "index",
+ "format": "[LAYER2]FUNCTION_CALL, l2FTCStop()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_FUNCTION_CALL2": {
+ "apiType": "index",
+ "format": "[LAYER2]FUNCTION_CALL, l2FTCFrame()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_FUNCTION_CALL3": {
+ "apiType": "index",
+ "format": "[LAYER2]FUNCTION_CALL, l2FTCHardHandoff()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_FUNCTION_CALL4": {
+ "apiType": "index",
+ "format": "[LAYER2]FUNCTION_CALL, l2FTCHardHandoffWReturnOnFailure",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_FUNCTION_CALL5": {
+ "apiType": "index",
+ "format": "[LAYER2]FUNCTION_CALL, l2RxAcknowledgementProceduresReset",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_l2FTCSM_CALL1": {
+ "apiType": "index",
+ "format": "[LAYER2]l2FTCSM_CALL, Start, Event=%ML2FTCEvent, State=%ML2FTCState",
+ "traceClass": "TRACE_STATE"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_l2FTCSM_CALL2": {
+ "apiType": "index",
+ "format": "[LAYER2]l2FTCSM_CALL, No signalling traffic, Event=%ML2FTCEvent, State=%ML2FTCState",
+ "traceClass": "TRACE_STATE"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_l2FTCSM_CALL3": {
+ "apiType": "index",
+ "format": "[LAYER2]l2FTCSM_CALL, End, Event=%ML2FTCEvent, State=%ML2FTCState",
+ "traceClass": "TRACE_STATE"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_PREDICTED_TIME_EXPIRE_1": {
+ "apiType": "index",
+ "format": "[LAYER2]Predicted fade time expire_1",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_PREDICTED_TIME_EXPIRE_2": {
+ "apiType": "index",
+ "format": "[LAYER2]Predicted fade time expire_2",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_FADE_TIME_EXPIRE": {
+ "apiType": "index",
+ "format": "[LAYER2]Fade time expire",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_CHECK_FTCFrame_CALL": {
+ "apiType": "index",
+ "format": "[LAYER2]CHECK_FTCFrame_CALL, frame=0x%x, mux=0x%x, cat=%d",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_PROC_FTCFrame_CALL1": {
+ "apiType": "index",
+ "format": "[LAYER2]processFTCFrame, rx SOM => New FTC signalling msg",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_PROC_FTCFrame_CALL2": {
+ "apiType": "index",
+ "format": "[LAYER2]processFTCFrame, No SOM => dump FTC sig frame",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_PROC_FTCFrame_CALL3": {
+ "apiType": "index",
+ "format": "[LAYER2]processFTCFrame, Received SOM in middle,rx SOM => New FTC signalling msg",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_PROC_FTCFrame_CALL4": {
+ "apiType": "index",
+ "format": "[LAYER2]processFTCFrame, No SOM => continuation sig msg",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_PROC_FTCFrame_CALL5": {
+ "apiType": "index",
+ "format": "[LAYER2]processFTCFrame, Received SHORT msg(< 40 bits)!",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_PROC_FTCFrame_CALL6": {
+ "apiType": "index",
+ "format": "[LAYER2]processFTCFrame, CRC Failed!",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_PROC_FTCFrame_CALL7": {
+ "apiType": "index",
+ "format": "[LAYER2]processFTCFrame, Still building msg",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_PROC_FTCFrame_CALL8": {
+ "apiType": "index",
+ "format": "[LAYER2]processFTCFrame, Zero length msg!",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_FTC_BUFFER_TO_MSG": {
+ "apiType": "index",
+ "format": "[LAYER2]FTC_BUFFER_TO_MSG, msgLength=%d, msgType=%MFTCMessageType, ACK_SEQr=%d, MSG_SEQr=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_DUPLICATE_MSG1": {
+ "apiType": "index",
+ "format": "[LAYER2]duplicate TCMsg:Acknowledged",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_DUPLICATE_MSG2": {
+ "apiType": "index",
+ "format": "[LAYER2]duplicate TCMsg:Unacknowledged",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_ENG_CALLBACK_PCH_MSG": {
+ "apiType": "index",
+ "format": "[LAYER2]CALLBACK_PCH_MSG, pageMsg->ackReceived = %d, pageMsg->length = %d, pageMsg->type = %d, pageMsg->sduOffset = %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_LAYER2_PAG_STATS": {
+ "apiType": "index",
+ "format": "[LAYER2]PAG STATS, PAG_1(rcvd pch msgs)=0x%x, PAG_2(bad pch msgs)=0x%x, PAG_3(addressed pch msgs)=0x%x,PAG_4(rcvd PCH HalfFrames)=0x%x, PAG_5(valid PCH HalfFrames)=0x%x, PAG_6(PCH Lost Times)=0x%x, PAG_7(Idle Handoff Times)=0x%x",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_CALLBACK_GEM": {
+ "apiType": "index",
+ "format": "[CALLBACK]GEM, FTC Message type=%MFTCMessageType",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_CALLBACK_FUNCTION_CALL": {
+ "apiType": "index",
+ "format": "[CALLBACK]FUNCTION_CALL, Info=%s, type=%MFTCMessageType",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_MTX_MTXSM_CALL1": {
+ "apiType": "index",
+ "format": "[TC_MTX]MTXSM_CALL, msgTransmitter State Machine Start, Event=%MMtxEvent, State=%MMtxState",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_MTX_MTXSM_CALL2": {
+ "apiType": "index",
+ "format": "[TC_MTX]MTXSM_CALL, msgTransmitter State Machine End, Event=%MMtxEvent, State=%MMtxState",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_MTX_FUNCTION_CALL1": {
+ "apiType": "index",
+ "format": "[TC_MTX]MTX_FUNCTION_CALL,startAC(), minSigBitsPerFrame=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_MTX_FUNCTION_CALL2": {
+ "apiType": "index",
+ "format": "[TC_MTX]MTX_FUNCTION_CALL,stopAC(), Para=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_MTX_FUNCTION_CALL3": {
+ "apiType": "index",
+ "format": "[TC_MTX]MTX_FUNCTION_CALL,ackProceduresResetAC(), Para=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_MTX_RXMSGINDAC1": {
+ "apiType": "index",
+ "format": "[TC_MTX]rxMsgIndAC, Received Ack for Msg Seq, ACK_SEQr=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_MTX_RXMSGINDAC3": {
+ "apiType": "index",
+ "format": "[TC_MTX]rxMsgIndAC, Queued Ack for MSG_SEQr, ack.MSG_SEQr=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_MTX_RXMSGINDAC4": {
+ "apiType": "index",
+ "format": "[TC_MTX]rxMsgIndAC, AckQ overflow, ack.MSG_SEQr=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_MTX_RXMSGINDAC5": {
+ "apiType": "index",
+ "format": "[TC_MTX]rxMsgIndAC, Delay RetryCount,Previous RetryCount: %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_MTX_TXMSGCHECK1": {
+ "apiType": "index",
+ "format": "[TC_MTX]txMsgCheck,Exceed window size, Para=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_MTX_TXMSGCHECK2": {
+ "apiType": "index",
+ "format": "[TC_MTX]txMsgCheck,Hasn't exceed window size, Para=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_MTX_FUNCTION_CALL_INFO": {
+ "apiType": "index",
+ "format": "[TC_MTX]txMsg(), RTC Acknowledge Fail,stop Traffic Channel,MSG_SEQ_ACK: %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_MTX_PUTL2FIELDS1": {
+ "apiType": "index",
+ "format": "[TC_MTX]putL2Fields,Tx RTC Message Layer 2 Fields ACK_SEQ: %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_MTX_PUTL2FIELDS2": {
+ "apiType": "index",
+ "format": "[TC_MTX]putL2Fields,Retransmission - MSG_SEQ_ACK: %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_MTX_PUTL2FIELDS3": {
+ "apiType": "index",
+ "format": "[TC_MTX]putL2Fields,First Time - MSG_SEQ_ACK: %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_MTX_PUTL2FIELDS4": {
+ "apiType": "index",
+ "format": "[TC_MTX]putL2Fields,First Time - MSG_SEQ_NOACK: %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_MTX_PUTL2FIELDS5": {
+ "apiType": "index",
+ "format": "[TC_MTX]putL2Fields,RTC Tx Msg Length: %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_PAGE_CHECK_RECORD_1": {
+ "apiType": "index",
+ "format": "[PAGE]PCH Message Address match, ACK_SEQ=%d, MSG_SEQ=%d, VALID_ACK=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_PAGE_CHECK_RECORD_2": {
+ "apiType": "index",
+ "format": "[PAGE]Processing received PCH Order/Message",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_PAGE_DUPLICATE_CHECK": {
+ "apiType": "index",
+ "format": "[PAGE]Duplicate Message detected, MSG_SEQ:%d ACK_REQ:%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_PAGE_RAW_DUMP": {
+ "apiType": "raw",
+ "format": "[PAGE]PAGE_RAW_DUMP",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PE_SYNC_RAW_DUMP": {
+ "apiType": "raw",
+ "format": "[SYNC]SYNC_RAW_DUMP",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_C2K_RSVAS_STATE": {
+ "apiType": "index",
+ "format": "[C2K_RSVAS] C2K_RSVAS_STATE, state:%MRsvasStateT, prevstate:%MRsvasStateT, tempState:%MRsvasTempStateT",
+ "traceClass": "TRACE_STATE"
+ }
+ },
+ {
+ "DHL_C2K_RSVAS_TEMP_STATE": {
+ "apiType": "index",
+ "format": "[C2K_RSVAS] C2K_RSVAS_TEMP_STATE, state:%MRsvasStateT, old tempState:%MRsvasTempStateT, new tempState:%MRsvasTempStateT",
+ "traceClass": "TRACE_STATE"
+ }
+ },
+ {
+ "DHL_PSW_IDLE_ENTRY_STATE": {
+ "apiType": "index",
+ "format": "[PSW_IDLE] PSW_IDLE_ENTRY_STATE, currIdleState=%MCpIdleSubStateT, l1Asleep=%Mkal_bool, event=%MPeRunEngineEvent",
+ "traceClass": "TRACE_STATE"
+ }
+ },
+ {
+ "DHL_PSW_IDLE_EXIT_STATE": {
+ "apiType": "index",
+ "format": "[PSW_IDLE] PSW_IDLE_EXIT_STATE, nextIdleState=%MCpIdleSubStateT, l1Asleep=%Mkal_bool, nextState=%MCPState",
+ "traceClass": "TRACE_STATE"
+ }
+ },
+ {
+ "DHL_PSW_ACCESS_ENTRY_STATE": {
+ "apiType": "index",
+ "format": "[PSW_ACCESS] PSW_ACCESS_ENTRY_STATE, currentState=%MCPState, event=%MPeRunEngineEvent",
+ "traceClass": "TRACE_STATE"
+ }
+ },
+ {
+ "DHL_PSW_ACCESS_EXIT_STATE": {
+ "apiType": "index",
+ "format": "[PSW_ACCESS] PSW_ACCESS_EXIT_STATE, nextState=%MCPState",
+ "traceClass": "TRACE_STATE"
+ }
+ },
+ {
+ "DHL_CP_REG_CONTROL_PARM": {
+ "apiType": "index",
+ "format": "[PSW_REG] CP_REG_CONTROL_PARM, regInitTimerDisabled=%Mkal_bool, TMRegEnabled=%Mkal_bool, regEnabled=%Mkal_bool,regInProgress=%Mkal_bool, registered=%Mkal_bool, Irat1xRegEnabled=%Mkal_bool, cfgCurrent=%Mkal_bool, SafetyNetRegistration=%Mkal_bool, parmChanged=%Mkal_bool, TermModeParmChangeReg=%Mkal_bool",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_REG_CONFIGURE": {
+ "apiType": "index",
+ "format": "[PSW_REG] CP_REG_CONFIGURE, regPrd=%d, TimerBasedcounterEnabled=%Mkal_bool, totalZones=%d,ZoneBasedcounterEnabled=%Mkal_bool, regDist=%d, powerUpReg=%Mkal_bool, parameterReg=%Mkal_bool",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_REG_ZONE_LIST": {
+ "apiType": "index",
+ "format": "[PSW_REG] CP_REG_ZONE_LIST, REG_ZONE=%d, SID=%d, NID=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_REG_SID_NID_LIST": {
+ "apiType": "index",
+ "format": "[PSW_REG] CP_REG_SID_NID_LIST, SID=%d, NID=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_REG_REGENABLED": {
+ "apiType": "index",
+ "format": "[PSW_REG] CP_REG_REGENABLED, MobTermMap=%d, IsMSLocked=%Mkal_bool, WaitCSSValRsp=%Mkal_bool",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_REG_THROTTLING": {
+ "apiType": "index",
+ "format": "[PSW_REG] CP_REG_THROTTLING, regThrottlingPhase=%d, noOfRegAttempts=%d, deltaTime=%d, regThrottlingNumAttempts=%d, regThrottlingDelays=%d, regThrottlingNumPhases=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_PSW_MULTI_BAND": {
+ "apiType": "index",
+ "format": "[PSW_REG] CP_PSW_MULTI_BAND, band=%d, channel=%d, block=%d, %MPswMultiBandTraceIds",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_C2K_RSVAS_KEY_PARAM_PART1": {
+ "apiType": "index",
+ "format": "state:%MRsvasStateT, prevstate:%MRsvasStateT, tempState:%MRsvasTempStateT, currService.rsvasId:%MC2kRsvasIdT, currService.servType:%Mrsvas_service_type_enum, PSTransferFromDO:%Mkal_bool, pendingOccupyReq:%Mkal_bool, occupyReq.rsvasId:%MC2kRsvasIdT, occupyReq.servType:%Mrsvas_service_type_enum,",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_C2K_RSVAS_KEY_PARAM_PART2": {
+ "apiType": "index",
+ "format": "occupyIndNotifyId:%MC2kRsvasIdT, pendingRelReq:%Mkal_bool, releaseReq.rsvasId:%MC2kRsvasIdT, releaseReq.servType:%Mrsvas_service_type_enum, servOwnerSimId:%Mrsvas_sim_enum, currC2kSimId:%Mrsvas_sim_enum, rttBorrowDOService:%Mkal_bool, waittingProcedure:%Mmspm_procedure_enum, servAbortAction:%Mrsvas_abort_action_enum",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_C2K_RSVAS_OCCUPY": {
+ "apiType": "index",
+ "format": "[C2K_RSVAS] C2K_RSVAS_OCCUPY, occupyReq.rsvasId:%MC2kRsvasIdT, occupyReq.servType:%Mrsvas_service_type_enum, occupyReq.reqType:%Mcas_rsvas_request_type_enum",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_C2K_RSVAS_OCCUPY_RESULT": {
+ "apiType": "index",
+ "format": "[C2K_RSVAS] C2K_RSVAS_OCCUPY_RESULT, _occupyResult:%Mkal_bool, occupyIndNotifyId:%MC2kRsvasIdT, tempState:%MRsvasTempStateT",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_C2K_RSVAS_RELEASE": {
+ "apiType": "index",
+ "format": "[C2K_RSVAS] C2K_RSVAS_RELEASE, releaseReq.rsvasId:%MC2kRsvasIdT, releaseReq.servType:%Mrsvas_service_type_enum, releaseReq.reqType:%Mcas_rsvas_request_type_enum",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_C2K_RSVAS_REMOVE": {
+ "apiType": "index",
+ "format": "[C2K_RSVAS] C2K_RSVAS_REMOVE, releaseReq.rsvasId:%MC2kRsvasIdT, releaseReq.servType:%Mrsvas_service_type_enum, releaseReq.reqType:%Mcas_rsvas_request_type_enum",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_C2K_RSVAS_TRANSFER": {
+ "apiType": "index",
+ "format": "[C2K_RSVAS] C2K_RSVAS_TRANSFER, old rsvasId:%MC2kRsvasIdT, new rsvasId:%MC2kRsvasIdT, servType:%Mrsvas_service_type_enum",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_C2K_RSVAS_IS_OCCUPY": {
+ "apiType": "index",
+ "format": "[C2K_RSVAS] C2K_RSVAS_IS_OCCUPY, result:%Mkal_bool, currService.rsvasId:%MC2kRsvasIdT, currService.servType:%Mrsvas_service_type_enum, PSTransferFromDO:%Mkal_bool, query rsvasId:%MC2kRsvasIdT, query servType:%Mrsvas_service_type_enum",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_C2K_RSVAS_RUN_ENGINE": {
+ "apiType": "index",
+ "format": "[C2K_RSVAS] C2K_RSVAS_RUN_ENGINE_START, event:%MRsvasEventT",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_C2K_RSVAS_CHANGE_SIM_INDEX": {
+ "apiType": "index",
+ "format": "[C2K_RSVAS] C2K_RSVAS_CHANGE_SIM_INDEX, old sim index:%Mrsvas_sim_enum, new sim index:%Mrsvas_sim_enum",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_PSW_REPORT_EVENT": {
+ "apiType": "index",
+ "format": "[PSW] PSW_REPORT_EVENT, event:%MCallProcessingEventT",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_PSW_REPORT_STATUS": {
+ "apiType": "index",
+ "format": "[PSW] PSW_REPORT_STATUS, new pe state:%MCPState, prev pe state:%MCPState",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_PSW_SRVOP_SERVICE_CONFIG_VALIDATION": {
+ "apiType": "index",
+ "format": "[PSW] PSW_SRVOP_SERVICE_CONFIG_VALIDATION, validateOnly:%MSCValidationAction, numConRec:%d, serviceOption:%MSysServiceOptionT, CurrentConnectedSO:%MSysServiceOptionT",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_SCC_NEG_SERVICE_CONFIG_VALIDATION": {
+ "apiType": "index",
+ "format": "[SCC_NEG] SCC_NEG_SERVICE_CONFIG_VALIDATION, valOnly:%Mkal_bool, _SvcType:%MSysServiceTypeT, temp_serviceType:%MSysServiceTypeT, result:%MSCResponse",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_SCC_NEG_SET_CURRENT_TYPE": {
+ "apiType": "index",
+ "format": "[SCC_NEG] SCC_NEG_SET_CURRENT_TYPE, new type:%MSysServiceTypeT, old type:%MSysServiceTypeT",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_PE_ENGINE_EVENT": {
+ "apiType": "index",
+ "format": "[PE] PE_ENGINE_EVENT, curr state:%MCPState, event type:%MPeRunEngineEvent",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_PE_START_TIMER": {
+ "apiType": "index",
+ "format": "[PE] PE_START_TIMER, index:%d, timer id:%MCPTimerId, interval(ms):%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_PE_STOP_TIMER": {
+ "apiType": "index",
+ "format": "[PE] PE_STOP_TIMER, timer id:%MCPTimerId",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_PE_TIMER_EXPIRE": {
+ "apiType": "index",
+ "format": "[PE] PE_TIMER_EXPIRE, index:%d, timer id:%MCPTimerId",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_PSW_GET_PARAM": {
+ "apiType": "index",
+ "format": "[PE] PSW_GET_PARAM, parmOpId:%MPswParmOperationId, opType:%MPswParmOperationType",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_PSW_ACCESS_EVENT": {
+ "apiType": "index",
+ "format": "[PSW_ACCESS] PSW_ACCESS_EVENT, accessEvent=%s, accessReason=%MAccessReasonT",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_PSW_DEBUG_INFO": {
+ "apiType": "index",
+ "format": "[PSW] PSW_DEBUG_INFO, Function:%s, %x, %x, %x, %x, %x",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_PSW_DEBUG_TRACE": {
+ "apiType": "index",
+ "format": "[PSW] PSW_DEBUG_TRACE, Function:%s, %s",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_SECURITY_DEBUG_INFO": {
+ "apiType": "index",
+ "format": "[PSW] SECURITY_DEBUG_INFO, Function:%s, Line:%d, %x, %x, %x, %x",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_PSW_CALL_PARM": {
+ "apiType": "index",
+ "format": "[PSW] PSW_CALL_PARM, Irat1xRegEnabled:%Mkal_bool, NoService:%Mkal_bool, reOrig:%Mkal_bool, PswIsVoiceServiceAllowed:%Mkal_bool, pscState:%d, E911mode:%Mkal_bool, ValOpMode:%MOperationModeT, Hdm: %MHybridPrefModeT, UimModeDisabled:%Mkal_bool, UimCardStatus:%MUiccCardStatusType, FactoryMode:%Mkal_bool, SRtimerActive:%Mkal_bool, 1XMO_BKOFFtimerActive:%Mkal_bool",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_PSW_CSFB_EVENT": {
+ "apiType": "index",
+ "format": "[PSW_VOICE] PSW_CSFB_EVENT, isWarning:%Mkal_bool, Function:%s, Line:%d, csfbState:%MCsfbState",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_PSW_DEBUG_FUNC_INFO": {
+ "apiType": "index",
+ "format": "[PSW] PSW_DEBUG_FUNC_INFO, Func:%s, Line:%d, Info:%s, %x, %x, %x",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_CP_INIT_INVALID_INDICATION": {
+ "apiType": "index",
+ "format": "[PSW_SD] CP_INIT_INVALID_INDICATION, Invalid indication in cpSystemDetermination(),indication:%d, Function:%s, Line:%d",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "DHL_CP_INIT_LOC_INVALID_PPM": {
+ "apiType": "index",
+ "format": "[PSW_INIT] CP_INIT_LOC_INVALID_PPM, AFLT should not be done in Init state,%d, Function:%s, Line:%d",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "DHL_PSW_ERR_CARRIER_BAND_MISMATCH": {
+ "apiType": "index",
+ "format": "[PSW_ARCHIVE] PSW_ERR_CARRIER_BAND_MISMATCH, code:%d, Function:%s, Line:%d",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "DHL_PSW_REG_WARNING": {
+ "apiType": "index",
+ "format": "[PSW_REG] PSW_REG_WARNING, Function:%s, Line:%d, value:%Mkal_bool",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "DHL_C2K_RSVAS_WARNING": {
+ "apiType": "index",
+ "format": "[C2K_RSVAS] C2K_RSVAS_WARNING, Function:%s, Line:%d, value 1:%d, value 2:%d",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "DHL_PSW_WARNING": {
+ "apiType": "index",
+ "format": "[PSW] PSW_WARNING, Function:%s, Line:%d, value:%d",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "DHL_PSW_SMS": {
+ "apiType": "index",
+ "format": "[PSW] PSW_SMS, Function:%s, Line:%d, value:%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_PSW_WARNING_NOTE": {
+ "apiType": "index",
+ "format": "[PSW] PSW_WARNING_NOTE, Function:%s, Line:%d, Note:%s",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "DHL_CP_REG_INIT_TIMER_EXPIRED": {
+ "apiType": "index",
+ "format": "[PSW_REG] CP_REG_INIT_TIMER_EXPIRED, Init timer expired, powerUpTimerStarted=%Mkal_bool",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "DHL_CP_REGCOUNT_ENABLE": {
+ "apiType": "index",
+ "format": "[PSW_REG] CP_REGCOUNT_ENABLED, TimerBasedcounterEnabled=%Mkal_bool, regCount=%d, ZoneBasedcounterEnabled=%Mkal_bool",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "LOC_PPM_STATE": {
+ "apiType": "index",
+ "format": "[LOC_PPM_STATE] ppm state=%08x",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_PRM_STATE": {
+ "apiType": "index",
+ "format": "[LOC_PRM_STATE] prm state=%08x",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_CHECK_ALM_EPH_EXP": {
+ "apiType": "index",
+ "format": "[LOC_CHECK_ALM_EPH_EXP] bAlmdataUpdateReq=%Mkal_bool,bEphdataUpdateReq=%Mkal_bool, bLocReqMsgToSend=%Mkal_bool",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_SEND_ALM_EPH_UPDATE": {
+ "apiType": "index",
+ "format": "[LOC_SEND_ALM_EPH_UPDATE] session id=%d,bAlmdataUpdateReq=%Mkal_bool,bEphdataUpdateReq=%Mkal_bool",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_SET_AGPS_FLOW": {
+ "apiType": "index",
+ "format": "[LOC_SET_AGPS_FLOW] InstanceId=%d, Sess_Id=%d,FixMode=%MGPS_FIX_MODE, NumFixes=%d, Msaflow=%MMSA_FLOW, Performance=%d,HorizontalAccuracy=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_STATUS_TRACE_ID": {
+ "apiType": "index",
+ "format": "[LOC_STATUS_TRACE_ID] privacy mode=%d,Cust Id=%d,PRM state=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_MSA_STATE": {
+ "apiType": "index",
+ "format": "[LOC_MSA_STATE], msa state=%MMSA_FLOW",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_SET_AGPS_STATE": {
+ "apiType": "index",
+ "format": "[LOC_SET_AGPS_STATE],InstanceId=%d,Sess_Id=%d,FixMode=%MGPS_FIX_MODE,oldEvent=%d,Msastate=%MMSA_STATES,event=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_TIMER_ID": {
+ "apiType": "index",
+ "format": "[LOC_TIMER_ID], Timer ID:%d, function:%s, line:%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_TIMER_START": {
+ "apiType": "index",
+ "format": "[LOC_TIMER_START], timer id = %d, interval=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_TIMER_STOP": {
+ "apiType": "index",
+ "format": "[LOC_TIMER_STOP], timer id = %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_SESSION_INFO": {
+ "apiType": "index",
+ "format": "[LOC_SESSION_INFO],InstanceId=%d,Sess_Id=%d,FixMode=%MGPS_FIX_MODE,NumFixed=%d,TimeBFixes=%d,HorizontalAccuracy=%d,VerticalAccuracy=%d,PseudorangeAccuracy=%d,Performance=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_OUTPUT_INFO": {
+ "apiType": "index",
+ "format": "[LOC_OUTPUT_INFO],InstanceId=%d, Sess_Id=%d, FixMode=%MGPS_FIX_MODE, LocSMSsendOK=%d,LocTCPsendOK=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_OUT_PUT_STATE": {
+ "apiType": "index",
+ "format": "[LOC_OUT_PUT_STATE], Loc output state=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_SEND_OUT_PKT_DATA": {
+ "apiType": "index",
+ "format": "[LOC_SEND_OUT_PKT_DATA],InstanceId=%d,Sess_Id=%d,OutstandingREQ=%d, OutStandingRsp=%d, NumReqOutstanding=%d, NumRspOutstanding=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_REV_TCBP_TRACE_ID": {
+ "apiType": "index",
+ "format": "[LOC_REV_TCBP_TRACE_ID], TCPsendOK=%d, TcpSendPktSessionId=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_TCP_RCV_STATE": {
+ "apiType": "index",
+ "format": "[LOC_TCP_RCV_STATE], TCP RCV state=%x ",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_AFLT_MEMT_MSG": {
+ "apiType": "index",
+ "format": "[LOC_AFLT_MEMT_MSG],bPpmValEnabled=%Mkal_bool,SessId=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_MSG_CONFIRM_IND": {
+ "apiType": "index",
+ "format": "[LOC_MSG_CONFIRM_IND],SMSsendOK=%Mkal_bool, SmsSendPktSessionId=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_DISCONNECT_IND": {
+ "apiType": "index",
+ "format": "[LOC_DISCONNECT_IND],UpOnTraffic=%Mkal_bool",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_CONNECT_IND": {
+ "apiType": "index",
+ "format": "[LOC_CONNECT_IND], CP connnected",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_SESSION_DONE": {
+ "apiType": "index",
+ "format": "[LOC_SESSION_DONE], instance Id=%d,Status=%d,fix mode=%MGPS_FIX_MODE",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_CONN_STATUS": {
+ "apiType": "index",
+ "format": "[LOC_CONN_STATUS], success=%Mkal_bool",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_RESTART_ID": {
+ "apiType": "index",
+ "format": "[LOC_RESTART_ID], state = %08x",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_ALM_EPH_CHECK_TRACE_ID": {
+ "apiType": "index",
+ "format": "[LOC_ALM_EPH_CHECK_TRACE_ID],bAlmdataUpdateReq=%Mkal_bool, bEphdataUpdateReq=%Mkal_bool, bLocReqMsgToSend=%Mkal_bool",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_PPM_MSM_REQ_TRACE_ID": {
+ "apiType": "index",
+ "format": "[LOC_PPM_MSM_REQ_TRACE_ID],LECSendOK=%Mkal_bool, LecReadyInd=%Mkal_bool, PPMId=%d, PPMInfo[0].SessID=%d, PPMInfo[1].SessID=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_PRM_MSM_REQ_TRACE_ID": {
+ "apiType": "index",
+ "format": "[LOC_PRM_MSM_REQ_TRACE_ID],LECSendOK=%Mkal_bool, LecReadyInd=%Mkal_bool, LocL1dSendOK=%Mkal_bool, PPMInfo[0].SessID=%d, PPMInfo[1].SessID=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_BS_PROV_INFO": {
+ "apiType": "index",
+ "format": "[LOC_BS_PROV_INFO],BS_CAPABILITIES=%MLocSrvTraceIds, Sess_Id=%d, BSRevNo=%d, BS_Cap_GPS=%d, BS_Cap_AFLT=%d, BS_Cap_AutoLoc=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_BS_REJECT_RECEIVED": {
+ "apiType": "index",
+ "format": "[LOC_BS_REJECT_RECEIVED],BS_REJECT_RECEIVED=%MLocSrvTraceIds, Sess_Id=%d, RejMSElement=%MMS_ReqTypes, RejReason=%MLoc_RejectReason",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_BS_RESPONSE_TYPE": {
+ "apiType": "index",
+ "format": "[LOC_BS_RESPONSE_TYPE],RspType=%MBS_RspTypes",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_BS_LOCATION_RSP_RCVD": {
+ "apiType": "index",
+ "format": "[LOC_BS_LOCATION_RSP_RCVD],BS_LOCATION_RSP_RCVD=%MLocSrvTraceIds, TimeRefCDMA=%d, Height=%d, Heading=%d, VelocityHor=%d, VelocityVer=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_ASSIS_DATA_DONE": {
+ "apiType": "index",
+ "format": "[LOC_ASSIS_DATA_DONE],id=%d,part info=%x",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_ALM_EHP_UPDATE_INFO": {
+ "apiType": "index",
+ "format": "[LOC_ALM_EHP_UPDATE_INFO],AssistDataUpdateRcv=%d,AssistDataUpdate=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_RCV_RSP_MSG_INFO": {
+ "apiType": "index",
+ "format": "[LOC_RCV_RSP_MSG_INFO],InstanceId=%x,Sess_Id=%x,RspType=%MBS_RspTypes,OutstandingRsp=%d,NumRspOutstanding=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_RCV_REQ_MSG_INFO": {
+ "apiType": "index",
+ "format": "[LOC_RCV_REQ_MSG_INFO],InstanceId=%x,Sess_Id=%x,ReqType=%MBS_ReqTypes,OutstandingREQ=%d,NumReqOutstanding=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_SESSION_ID": {
+ "apiType": "index",
+ "format": "[LOC_SESSION_ID],Sessino Id = %x",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_SERV_SESS_HEADER_DUMP": {
+ "apiType": "index",
+ "format": "[LOC_SERV_SESS_HEADER_DUMP],Sess_Start=%Mkal_bool,Sess_End=%Mkal_bool,Sess_Source=%MSessSourceType,Sess_Tag=%x,Sess_Id=%x",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_SERV_SESS_REQ_DUMP": {
+ "apiType": "index",
+ "format": "[LOC_SERV_SESS_REQ_DUMP],NumReqOutstanding=%x,Num_Req=%d,Req_Len=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_SERV_SESS_RSP_DUMP": {
+ "apiType": "index",
+ "format": "[LOC_SERV_SESS_RSP_DUMP],Num_Rsp=%d,Rsp_Len=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_SERV_SESS_AFLT_DUMP": {
+ "apiType": "index",
+ "format": "[LOC_SERV_SESS_AFLT_DUMP],PPMId=%d,Msastate=%MMSA_STATES,NumFixes=%d,NumPilots=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_SERV_SESS_AGPS_DUMP": {
+ "apiType": "index",
+ "format": "[LOC_SERV_SESS_AGPS_DUMP],Msastate=%MMSA_STATES,NumFixes=%d,length=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_CLR_PRM_STATUS": {
+ "apiType": "index",
+ "format": "[LOC_CLR_PRM_STATUS],PRMstate=%MPRM_STATES,Flag=%Mkal_bool,LECSendOK=%Mkal_bool",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_CLR_PPM_STATUS": {
+ "apiType": "index",
+ "format": "[LOC_CLR_PPM_STATUS],PPMId=%x,L1dSendOK=%Mkal_bool,SessID_0=%x,SessID_1=%x",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_GPS_READY": {
+ "apiType": "index",
+ "format": "[LOC_GPS_READY],LECSendOK=%Mkal_bool,LecReadyInd=%Mkal_bool,L1dSendOK=%Mkal_bool",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "LOC_SESSION_INVALID": {
+ "apiType": "index",
+ "format": "[LOC_SESSION_INVALID] session is NULL or invalid",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "LOC_UNEXPECTED_EVENT": {
+ "apiType": "index",
+ "format": "[LOC_UNEXPECTED_EVENT] event=%d",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "LOC_SESS_NOT_FOUND": {
+ "apiType": "index",
+ "format": "[LOC_SESS_NOT_FOUND] session handler=%d",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "LOC_INVALID_PPM": {
+ "apiType": "index",
+ "format": "[LOC_INVALID_PPM] fix mode=%MGPS_FIX_MODE",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "LOC_INVALID_PPM_ID": {
+ "apiType": "index",
+ "format": "[LOC_INVALID_PPM_ID] ppm id = %08x",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "LOC_INVALID_RESPONSE_TYPE": {
+ "apiType": "index",
+ "format": "[LOC_INVALID_RESPONSE_TYPE] RspType = %MBS_RspTypes",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "LOC_UNEXPECTED_PARAM": {
+ "apiType": "index",
+ "format": "[LOC_UNEXPECTED_PARAM],param = %x",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "DHL_PSW_OTA_UIM_STATUS": {
+ "apiType": "index",
+ "format": "[PSW_OTA] OTA_UIM_STATUS, function=%MUimFunction, value=%02X",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_PSW_OTA_ERR_PARM_GENERAL_FAIL": {
+ "apiType": "index",
+ "format": "[PSW_OTA] OTA_ERR_PARM_GENERAL_FAIL, OTAPAStart=%MBoolean, Function:%s, Line:%d",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "DHL_PSW_SMS_GENERAL_WARNING": {
+ "apiType": "index",
+ "format": "[PSW_SMS] General Warning %s, %x",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "DHL_PSW_SMS_SEQ_NUM": {
+ "apiType": "index",
+ "format": "[PSW_SMS] tlAseSendMsgReq seqNum = %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_PSW_SMS_CANCEL_ID": {
+ "apiType": "index",
+ "format": "[PSW_SMS] teleserviceId %d, Cancelling Message %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_PSW_SMS_BCAST_PARAM": {
+ "apiType": "index",
+ "format": "[PSW_SMS] smsUiBCastConnect: Service Cat Mask %d, Service Cat Mask %d, Min Priority %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_PSW_SMS_CONFIRM": {
+ "apiType": "index",
+ "format": "[PSW_SMS] smsL2MsgConfirm success %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_PSW_SMS_PRINT": {
+ "apiType": "index",
+ "format": "[PSW_SMS] %s",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_PSW_SMS_TELESRV_ID": {
+ "apiType": "index",
+ "format": "[PSW_SMS] ASE %d received message from TL",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_PSW_SMS_TIMER_ID": {
+ "apiType": "index",
+ "format": "[PSW_SMS] Timer ID:%d, function:%s, line:%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_PSW_SMS_INFO": {
+ "apiType": "index",
+ "format": "[PSW_SMS] teleservice id:%d, SendOnTraffic:%d, MsgId:%d, UserAck:%d, ReadAck:%d, DeliverAck:%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_PSW_TST_NST_GENERAL_TRACE": {
+ "apiType": "index",
+ "format": "[PSW_NST] PSW_TST_NST_GENERAL, Data=%04X,%04X,%04X,%04X,%04X,%04X,%04X,%04X!",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_PSW_TST_NST_STATE_TRACE": {
+ "apiType": "index",
+ "format": "[PSW_NST] PSW_TST_NST_STATE, PerNstState=%MNstState, CurNstState=%MNstState!!",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_SCC_CPC_STATE_CHANGED_TRACE_ID": {
+ "apiType": "index",
+ "format": "[%MSccModuleId] %MCpcStates <- %MCpcStates, %MCpcEvents, %MFsmEventTypeT",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_SCC_CPC_STATE_UNCHANGED_TRACE_ID": {
+ "apiType": "index",
+ "format": "[%MSccModuleId] %MCpcStates, %MCpcEvents, %MFsmEventTypeT",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_SCC_DBC_STATE_CHANGED_TRACE_ID": {
+ "apiType": "index",
+ "format": "[%MSccModuleId] %MDbcStates <- %MDbcStates, %MDbcEvents, %MFsmEventTypeT",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_SCC_DBC_STATE_UNCHANGED_TRACE_ID": {
+ "apiType": "index",
+ "format": "[%MSccModuleId] %MDbcStates, %MDbcEvents, %MFsmEventTypeT",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_SCC_VSC_STATE_CHANGED_TRACE_ID": {
+ "apiType": "index",
+ "format": "[%MSccModuleId] %MVscStates <- %MVscStates, %MVscEvents, %MFsmEventTypeT",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_SCC_VSC_STATE_UNCHANGED_TRACE_ID": {
+ "apiType": "index",
+ "format": "[%MSccModuleId] %MVscStates, %MVscEvents, %MFsmEventTypeT",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_SCC_PSC_STATE_CHANGED_TRACE_ID": {
+ "apiType": "index",
+ "format": "[%MSccModuleId]%MPscState <- %MPscState, %MPscEvents, %MFsmEventTypeT",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_SCC_PSC_STATE_UNCHANGED_TRACE_ID": {
+ "apiType": "index",
+ "format": "[%MSccModuleId] %MPscState, %MPscEvents, %MFsmEventTypeT",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_SCC_LSC_STATE_CHANGED_TRACE_ID": {
+ "apiType": "index",
+ "format": "[%MSccModuleId] %MLscStates <- %MLscStates, %MLscEvents, %MFsmEventTypeT",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_SCC_LSC_STATE_UNCHANGED_TRACE_ID": {
+ "apiType": "index",
+ "format": "[%MSccModuleId] %MLscStates, %MLscEvents, %MFsmEventTypeT",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_SCC_OTHER_STATE_CHANGED_TRACE_ID": {
+ "apiType": "index",
+ "format": "[%MSccModuleId] %d <- %d, %d, %MFsmEventTypeT",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_SCC_OTHER_STATE_UNCHANGED_TRACE_ID": {
+ "apiType": "index",
+ "format": "[%MSccModuleId] %d, %d, %MFsmEventTypeT",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_SCC_ADD_TYPE": {
+ "apiType": "index",
+ "format": "[SCC] ADD, new svcType=%MSysServiceTypeT, current svcType = %MSysServiceTypeT,NegType = %MNegTypes",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_SCC_ADD_MCC": {
+ "apiType": "index",
+ "format": "[SCC] ADD, CT = %d, MCC = %d, numConRec = %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_SCC_ORIG_CONN_TYPE": {
+ "apiType": "index",
+ "format": "[SCC] Orig_conn, new svcType=%MSysServiceTypeT, NegType = %MNegTypes,CT = %d, MCC = %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_SCC_PSC_SET_STATE": {
+ "apiType": "index",
+ "format": "[SCC PSC STATE] %MPscState <- %MPscState",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "DHL_SCC_PSC_SC_VALIDATE": {
+ "apiType": "index",
+ "format": "[SCC PSC]Service Config Validate result rtnStatus = %d, rev= %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "SCC_SERVICE_OPTION_DISABLED_ID": {
+ "apiType": "index",
+ "format": "[SCC Warning] service option disable,prefSO= %d",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "DHL_PSW_DEBUG_INFO_USIR": {
+ "apiType": "index",
+ "format": "[PSW] PSW_DEBUG_INFO, Function:%s, %S, %S",
+ "traceClass": "TRACE_SENSITIVE_USIR"
+ }
+ },
+ {
+ "DHL_SECURITY_DEBUG_INFO_USIR": {
+ "apiType": "index",
+ "format": "[PSW] SECURITY_DEBUG_INFO, Function:%s, %S, %S, %S",
+ "traceClass": "TRACE_SENSITIVE_USIR"
+ }
+ }
+ ],
+ "traceFamily": "PS",
+ "userModule": ""
+}
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/psw_msg_struct.h b/mcu/interface/protocol/as_c2k/1xrtt/psw_msg_struct.h
new file mode 100644
index 0000000..49a6840
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/psw_msg_struct.h
@@ -0,0 +1,2121 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+#ifndef _PSW_MSG_STRUCT_H
+#define _PSW_MSG_STRUCT_H
+
+/*****************************************************************************
+*
+* FILE NAME :psw_msg_struct.h
+*
+* DESCRIPTION :
+*
+*
+* HISTORY :
+* See Log at end of file
+*
+*****************************************************************************/
+/*----------------------------------------------------------------------------
+ Include Files
+----------------------------------------------------------------------------*/
+#include "pswapi.h"
+#include "l1dapi.h"
+#include "valdbmapi.h"
+#include "cptimer.h"
+
+/* PSW Messages PSW_CMD_STATUS_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswCmdStatusMsgT msg;
+} psw_cmd_status_msg_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ LmdGetDebugScrnInfoResponseT msg;
+} psw_debug_scrn_l1d_res_msg_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswForwardSyncChanFrameMsgT msg;
+} psw_forward_sync_chan_frame_msg_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswForwardPageChanFrameMsgT msg;
+} psw_forward_page_chan_frame_msg_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswDschFrameMsgT msg;
+} psw_dsch_chan_frame_msg_struct;
+
+
+/*PSW message begin */
+/* from VAL - SMS related */
+#ifdef LGT_EXTENSIONS
+/* PSW_SMS_UNKNOWN_CONNECT_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSmsUnknownParmsMsgT msg;
+} psw_sms_unknown_connect_msg_struct;
+
+/* PSW_SMS_UNKNOWN_DISCONNECT_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+} psw_sms_unknown_disconnect_msg_struct;
+
+/* PSW_SMS_UNKNOWN_PARMS_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSmsUnknownParmsMsgT msg;
+} psw_sms_unknown_params_msg_struct;
+#endif
+
+/* PSW_SMS_PREF_SRV_OPT_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSmsPrefSrvOptMsgT msg;
+} psw_sms_pref_srv_opt_msg_struct;
+
+/* PSW_SMS_CONNECT_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSmsConnectMsgT msg;
+} psw_sms_connect_msg_struct;
+
+/* PSW_SMS_DISCONNECT_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSmsDisconnectMsgT msg;
+} psw_sms_disconnect_msg_struct;
+
+/* PSW_SMS_BCAST_CONNECT_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSmsBCastParmsMsgT msg;
+} psw_sms_bcast_connect_msg_struct;
+
+/* PSW_SMS_BCAST_DISCONNECT_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+} psw_sms_bcast_disconnect_msg_struct;
+
+
+/* PSW_SMS_BCAST_PARMS_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSmsBCastParmsMsgT msg;
+} psw_sms_bcast_parms_msg_struct;
+
+/* PSW_SMS_SUBMIT_PARMS_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSmsSubmitParmsMsgT msg;
+} psw_sms_submit_parms_msg_struct;
+
+/* PSW_SMS_SUBMIT_DATA_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSmsUserDataMsgT msg;
+} psw_sms_submit_data_msg_struct;
+
+/* PSW_SMS_CANCEL_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSmsCancelMsgT msg;
+} psw_sms_cancel_msg_struct;
+
+/* PSW_SMS_ACK_PARMS_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSmsAckMsgT msg;
+} psw_sms_ack_parms_msg_struct;
+
+/* PSW_SMS_ACK_DATA_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSmsUserDataMsgT msg;
+} psw_sms_ack_data_msg_struct;
+
+/* PSW_SMS_TERMINAL_STATUS_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSmsTerminalStatusMsgT msg;
+} psw_sms_terminal_status_msg_struct;
+
+/* PSW_SMS_TIMER_EXPIRED_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswTimerExpiredMsgT msg;
+} psw_sms_timer_expired_msg_struct;
+
+/* PSW_SMS_RETX_AMOUNT_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSmsRetxAmountMsgT msg;
+} psw_sms_retx_amount_msg_struct;
+
+/* PSW_SMS_CAUSE_CODE_SET_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSmsCauseCodeMsgT msg;
+} psw_sms_cause_code_set_msg_struct;
+
+/* PSW_SMS_REPLY_TL_ACK_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSmsReplyTlAckMsgT msg;
+} psw_sms_reply_tl_ack_msg_struct;
+
+/* PSW_SMS_TLACK_REQ_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSMSTlackReqMsgT msg;
+} psw_sms_tlack_req_msg_struct;
+
+
+/* PSW_TIMER_EXPIRED_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswTimerExpiredMsgT msg;
+} psw_timer_expired_msg_struct;
+
+/* PSW_SMS_PREF_REQ_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSmsPrefReqMsgT msg;
+} psw_sms_pref_req_msg_struct;
+
+/* PSW_SMS_REL_REQ_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+} psw_sms_rel_req_msg_struct;
+
+/* PSW_SMS_TX_REQ_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSmsTxReqMsgT msg;
+} psw_sms_tx_req_msg_struct;
+
+
+/* PSW_SMS_MOREL_TIMER_EXPIRED_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswTimerExpiredMsgT msg;
+} psw_sms_morel_timer_expired_msg_struct;
+
+
+
+/* PSW_SMS_RESEND_TIMER_EXPIRED_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswTimerExpiredMsgT msg;
+} psw_sms_resend_timer_expired_msg_struct;
+
+/* PSW_SMS_MMS_TIMER_EXPIRED_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswTimerExpiredMsgT msg;
+} psw_sms_mms_timer_expired_msg_struct;
+
+/* MSG_ID_PSW_UIM_SMS_CAP_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ UimGetSmsCapRspMsgT msg;
+}psw_uim_sms_cap_msg_struct;
+
+/* MSG_ID_PSW_SMS_RETRY_PERIOD_TIMER_EXPIRED_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswTimerExpiredMsgT msg;
+} psw_sms_retry_period_timer_expired_msg_struct;
+
+/* MSG_ID_PSW_IMS_SMS_READY_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+} psw_ims_sms_ready_msg_struct;
+
+/* MSG_ID_PSW_IMS_SMS_RSP_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+} psw_ims_sms_rsp_msg_struct;
+
+/* MSG_ID_PSW_IMS_SMS_NOTIFY_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+} psw_ims_sms_notify_msg_struct;
+
+/* PSW_SET_MULTI_SMS_MODE_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSMSModeMsgT msg;
+} psw_set_multi_sms_mode_msg_struct;
+
+/* PSW_SMS_BROADCAST_EXPECTED_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSmsBroadcastExpectedMsgT msg;
+} psw_sms_broadcast_expected_msg_struct;
+
+/* PSW_SMS_MT_DATA_BURST_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSmsMtDataBurstMsgT msg;
+} psw_sms_mt_data_burst_msg_struct;
+
+/* MSG_ID_PSW_VAL_PREF_VOICE_SERVICEOPTION_SET_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+} psw_val_pref_voice_serviceoption_set_msg_struct;
+
+/* MSG_ID_PSW_VAL_REG_RESUME */
+typedef struct
+{
+ LOCAL_PARA_HDR
+} psw_val_reg_resume_struct;
+
+/* MSG_ID_PSW_SMS_CBS_INFO_CFG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSmsCbsInfoT msg;
+} psw_sms_cbs_info_cfg_struct;
+
+/* MSG_ID_PSW_VAL_SET_SO_SUPPORT_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSetSoSupportMsgT msg;
+} psw_val_set_so_support_msg_struct;
+
+/* MSG_ID_PSW_SEND_SMS_CONFIRM_MSG */
+#ifdef MTK_PLT_ON_PC_UT
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSendSmsConfirmMsgT msg;
+}psw_send_sms_confirm_msg_struct;
+#endif
+
+/* PSW_SMS_WAIT_L3ACK_TIMER_EXPIRED_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswTimerExpiredMsgT msg;
+} psw_sms_wait_l3ack_timer_expired_msg_struct;
+
+
+/* from DBM */
+#if 0
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#endif
+/* PSW_GET_NAM_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswGetNamMsgT msg;
+} psw_get_nam_msg_struct;
+
+/* PSW_NAM_CHANGED_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswNamChangedMsgT msg;
+} psw_nam_changed_msg_struct;
+
+/* from R-UIM */
+/* PSW_UIM_GET_NAM_DATA_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ UimGetNamDataRspMsgT msg;
+} psw_uim_get_nam_data_msg_struct;
+
+/* PSW_UIM_UPDATE_NAM_DATA_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ UimUpdateNamDataRspMsgT msg;
+} psw_uim_update_nam_data_msg_struct;
+
+/* PSW_UIM_STORE_ESN_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ UimRspMsgT msg;
+} psw_uim_store_esn_msg_struct;
+
+/* PSW_UIM_BS_CHALLENGE_ACK_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ UimRspToPsMsgT msg;
+} psw_uim_bs_challenge_ack_msg_struct;
+
+/* PSW_UIM_CONFIRM_SSD_ACK_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ UimRspToPsMsgT msg;
+} psw_uim_confirm_ssd_ack_msg_struct;
+
+/* PSW_UIM_RUN_CAVE_ACK_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ UimRspToPsMsgT msg;
+} psw_uim_run_cave_ack_msg_struct;
+
+/* PSW_UIM_STATUS_NOTIFY_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ UimNotifyMsgT msg;
+} psw_uim_status_notify_msg_struct;
+
+/* PSW_UIM_DATA_OTAFeature_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ UimRspMsgT msg;
+} psw_uim_data_otafeature_msg_struct;
+
+/* PSW_UIM_MS_KEY_REQUEST_ACK_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ UimRspMsgT msg;
+} psw_uim_ms_key_request_ack_msg_struct;
+
+/* PSW_UIM_KEY_GENERATION_REQUEST_ACK_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ UimRspMsgT msg;
+} psw_uim_key_generation_request_ack_msg_struct;
+
+/* PSW_UIM_COMMIT_ACK_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ UimRspMsgT msg;
+} psw_uim_commit_ack_msg_struct;
+
+/* PSW_UIM_VALIDATE_ACK_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ UimRspMsgT msg;
+} psw_uim_validate_ack_msg_struct;
+
+/* VAL_UIM_VALIDATE_SPC_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ UimRspMsgT msg;
+}val_uim_validate_spc_msg_struct;
+
+/* PSW_UIM_CONFIGURATION_REQUEST_ACK_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ UimRspMsgT msg;
+} psw_uim_configuration_request_ack_msg_struct;
+
+/* PSW_UIM_DOWNLOAD_REQUEST_ACK_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ UimRspMsgT msg;
+} psw_uim_download_request_ack_msg_struct;
+
+/* PSW_UIM_SSPR_CONFIGURATION_REQUEST_ACK_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ UimRspMsgT msg;
+} psw_uim_sspr_configuration_request_ack_msg_struct;
+
+/* PSW_UIM_SSPR_DOWNLOAD_REQUEST_ACK_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ UimRspMsgT msg;
+} psw_uim_sspr_download_request_ack_msg_struct;
+
+/* PSW_UIM_OTAPA_REQUEST_ACK_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ UimRspMsgT msg;
+} psw_uim_otapa_request_ack_msg_struct;
+
+/* PSW_UIM_UPDATE_BINARY_ACK_MSG*/
+typedef struct
+{
+ LOCAL_PARA_HDR
+ UimRspMsgT msg;
+} psw_uim_update_binary_ack_msg_struct;
+
+/* PSW_UIM_OTA_RUN_CAVE_ACK_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ UimRspMsgT msg;
+} psw_uim_ota_run_cave_ack_msg_struct;
+
+/* OTASP IS683 */
+/* PSW_OTASP_RCVD_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswOtaspRcvdMsgT msg;
+} psw_otasp_rcvd_msg_struct;
+
+/* PSW_OTASP_REL_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+} psw_otasp_rel_msg_struct;
+
+/* PSW_OTASP_TX_REQ_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswOtaspTxReqMsgT msg;
+} psw_otasp_tx_req_msg_struct;
+
+/* PSW_OTASP_SO_PREF_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswOtaspSoPrefMsgT msg;
+} psw_otasp_so_pref_msg_struct;
+
+/* PSW_EXP_MOD_MS_RESULT_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswModExpMSResultMsgT msg;
+} psw_exp_mod_ms_result_msg_struct;
+
+/* PSW_EXP_MOD_BS_RESULT_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswModExpBSResultMsgT msg;
+} psw_exp_mod_bs_result_msg_struct;
+
+/* PSW_FILL_SSPR_RSP_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+} psw_file_sspr_rsp_msg_struct;
+
+/* PSW_IOTA_IS683_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswIOTAIS683MsgT msg;
+} psw_iota_is683_msg_struct;
+
+/* PSW_IOTA_PRL_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswIOTAPRLMsgT msg;
+} psw_iota_prl_msg_struct;
+
+/* PSW_OTA_SPL_UNLOCK_FAIL_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+} psw_ota_spl_unlock_fail_msg_struct;
+
+/* PSW_OTA_SET_POWER_UP_MODE_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswOtaSetPowerUpModeMsgT msg;
+} psw_ota_set_power_up_mode_msg_struct;
+
+/* MSG_ID_PSW_VERIFY_SPC_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswVerifySPCMsgT msg;
+} psw_verify_spc_msg_struct;
+
+/* IS801 Location Services */
+/* PSW_POS_AFLT_PPM_REQ_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ VAL_LCS_PPM_REQ_T msg;
+} psw_pos_aflt_ppm_req_msg_struct;
+
+/* PSW_POS_AFLT_MEASUREMENTS_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswPosAfltMeasurementMsgT msg;
+} psw_pos_aflt_measurements_msg_struct;
+
+/* PSW_POS_AFLT_ACK_ABORT_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswPosAfltAckAbortMsgT msg;
+} psw_pos_aflt_ack_abort_msg_struct;
+
+/* PSW_POS_AFLT_ABORT_REQ_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswPosAfltAbortReqMsgT msg;
+} psw_pos_aflt_abort_req_msg_struct;
+
+/* PSW_IS801_TCPB_REV_DATA_RESP_INFO_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+} psw_is801_tcpb_rev_data_resp_info_msg_strcut;
+
+/* PSW_IS801_TCPB_FWD_DATA_RESP_INFO_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswIs801TcpbFwdDataRespInfoMsgT msg;
+} psw_is801_tcpb_fwd_data_resp_info_msg_struct;
+
+/* PSW_IS801_SESSION_START_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswIs801SessionStartMsgT msg;
+} psw_is801_session_start_msg_struct;
+
+/* PSW_IS801_TCP_CONN_STATUS_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswIs801TcpConnStatusMsgT msg;
+} psw_is801_tcp_conn_status_msg_struct;
+
+/* PSW_IS801_RESET_ASSIST_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswGpsResetAssistMsgT msg;
+} psw_is801_reset_assist_msg_struct;
+
+/* PSW_LOC_START_MODE_SET_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswLocStartModeSetMsgT msg;
+} psw_loc_start_mode_set_msg_struct;
+
+/* PSW_LOC_FIX_MODE_GET_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswValLocFixModeGetMsgT msg;
+} psw_loc_fix_mode_get_msg_struct;
+
+/* PSW_IS801_MS_CANCEL_REQ_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswIs801SessCancelReqMsgT msg;
+} psw_is801_ms_cancel_req_msg_struct;
+
+/* PSW_POS_REJECT_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswPosRejectMsgT msg;
+} psw_pos_reject_msg_struct;
+
+/* PSW_IS801_EPH_ALM_TIME_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswIs801EphAlmSystimeMsgT msg;
+} psw_is801_eph_alm_time_msg_struct;
+
+/* PSW_IS801_MSS_DONE_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswIs801MssDoneMsgT msg;
+} psw_is801_mss_done_msg_struct;
+
+/* PSW_IS801_AFLT_INFO_GET_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+} psw_is801_aflt_info_get_msg_struct;
+
+/* PSW_LOC_PREF_REQ_MSG = 475 */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswLocPrefReqMsgT msg;
+} psw_loc_pref_req_msg_struct;
+
+/* PSW_PDE_SESSION_ABORT_REQ_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+} psw_pde_session_abort_req_msg_struct;
+
+/* PSW_PDE_PSEUDORANGE_MSMT_RSP_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswPseudorangeMsmtRspMsgT msg;
+} psw_pde_pseudorange_msmt_rsp_msg_struct;
+
+/* PSW_PDE_SESSION_END_RSP_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+} psw_pde_session_end_rsp_msg_struct;
+
+/* PSW_PDE_GPS_INOP_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+} psw_pde_gps_inop_msg_struct;
+
+/* PSW_GPS_ENABLE_REPORTS_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswGPSEnableReportsMsgT msg;
+} psw_gps_enable_reports_msg_struct;
+
+/* PSW_TEST_LOC_PDDM_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_uint8 data[100];
+} psw_test_loc_pddm_msg_struct;
+
+/* PSW_TEST_POWER_CONTROL_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswTestPowerControlMsgT msg;
+} psw_test_power_control_msg_struct;
+
+/* PSW_L1D_ALTERNATE_PILOTS_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswL1dAlternatePilotsMsgT msg;
+} psw_l1d_alternate_pilots_msg_struct;
+
+/* PSW_LOCATION_SVC_CFG_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswLocationSvcCfgMsgT msg;
+} psw_location_svc_cfg_msg_struct;
+
+/* PSW_IS801_RESTART_FIX_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswValRestartMsgT msg;
+} psw_is801_restart_fix_msg_struct;
+
+/*MS-Based*/
+/* PSW_ASSIST_REQ_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswAssistReqT msg;
+} psw_assist_req_msg_struct;
+
+/* PSW_GPS_NMEA_STREAM_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswGpsNmeaStreamMsgT msg;
+} psw_gps_nmea_stream_msg_struct;
+
+/* PSW_IS801_NMEA_SETTING_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswIs801NmeaOutputSettingMsgT msg;
+} psw_is801_nmea_setting_msg_struct;
+
+/* PSW_IS801_MPC_CONN_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswIs801MpcConnStatusMsgT msg;
+} psw_is801_mpc_conn_msg_struct;
+
+/* PSW_LOC_STATE_CHANGE_ETS_TEST_CMD */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswLocStateChangedMsgT msg;
+} psw_loc_state_change_ets_test_cmd_struct;
+
+/* PSW_IS801_PPM_TIMER_EXP_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswIs801TimerExpMsgT msg;
+} psw_is801_ppm_timer_exp_msg_struct;
+
+/* PSW_IS801_SESS_TIMER_EXP_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswIs801TimerExpMsgT msg;
+} psw_is801_sess_timer_exp_msg_struct;
+
+/* PSW_IS801_PRM_TIMER_EXP_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswIs801TimerExpMsgT msg;
+} psw_is801_prm_timer_exp_msg_struct;
+
+/* PSW_IS801_PREF_RESP_QUAL_TIMER_EXP_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswIs801TimerExpMsgT msg;
+} psw_is801_pref_resp_qual_timer_exp_msg_struct;
+
+/* PSW_IS801_OUT_REQ_TIMER_EXP_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswIs801TimerExpMsgT msg;
+} psw_is801_out_req_timer_exp_msg_struct;
+
+/****MS-Based*********/
+
+/*From LEC*/
+/* PSW_LEC_LOC_RSP_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswLocRspDataT msg;
+} psw_lec_loc_rsp_msg_struct;
+
+/* PSW_GPS_READY_REQ_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+} psw_gps_ready_req_msg_struct;
+
+/* PSW_GPS_READY_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+} psw_gps_ready_msg_struct;
+
+/* PSW_GPS_SIXTY_TIMER_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+} psw_gps_sixty_timer_msg_struct;
+
+/* PSW_GET_TRANSMIT_INFO_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+} psw_get_transmit_info_msg_struct;
+
+/* PSW_SET_TRANSMIT_INFO_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSetTransmitInfoMsgT msg;
+} psw_set_transmit_info_msg_struct;
+
+/* PSW_SYSTEM_READY_REQ_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+} psw_system_ready_req_msg_struct;
+
+/* PSW_IS801_CUSTOMER_SETTING_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswIs801CustomerSettingMsgT msg;
+} psw_is801_customer_setting_msg_struct;
+
+/* PSW_LEC_SESSION_END_RSP_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswLecSessionEndRspMsgT msg;
+}psw_lec_session_end_rsp_msg_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ rsvas_service_type_enum peer_service_type;
+ rsvas_sim_enum sim_in_transfer;
+} rsvas_psw_suspend_service_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ rsvas_service_type_enum peer_service_type;
+} rsvas_psw_abort_service_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ rsvas_service_type_enum peer_service_type;
+ rsvas_sim_enum sim_in_transfer;
+} rsvas_psw_virtual_suspend_service_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ rsvas_sim_enum sim_in_transfer;
+} rsvas_psw_virtual_resume_service_req_struct;
+
+/* MSG_ID_C2K_LTE_CSFB_CNF */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ c2k_lte_csfb_result_enum result;
+} psw_c2k_lte_csfb_cnf_struct;
+
+/*PSW message end */
+/* PSW_IDP_RSVAS_SERVICE_OCCUPY_REQ_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+#ifdef MTK_DEV_C2K_IRAT
+ PswRsvasServiceOccupyRequestT msg;
+#endif
+} psw_idp_rsvas_service_occupy_req_msg_struct;
+
+/* PSW_IDP_RSVAS_SERVICE_RELEASE_REQ_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+#ifdef MTK_DEV_C2K_IRAT
+ PswRsvasServiceReleaseT msg;
+#endif
+} psw_idp_rsvas_service_release_req_msg_struct;
+
+
+/* from L1D */
+/* MSG_ID_PSW_PMRM_REQ_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswPmrMsgT msg;
+} psw_pmrm_req_msg_struct;
+
+/* MSG_ID_PSW_CAND_FREQ_TIMES_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswCandFreqTimesMsgT msg;
+} psw_cand_freq_times_msg_struct;
+
+/* MSG_ID_PSW_CAND_FREQ_MEASUREMENTS_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswCandFreqMeasurementsMsgT msg;
+} psw_cand_freq_measurements_msg_struct;
+
+/* MSG_ID_PSW_SCAN_MEASUREMENTS_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswScanMeasurementsMsgT msg;
+} psw_scan_measurements_msg_struct;
+
+/* MSG_ID_PSW_IDLE_HANDOFF_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswIdleHandoffMsgT msg;
+} psw_idle_handoff_msg_struct;
+
+/* MSG_ID_PSW_START_CF_MEASURE_MSG */
+
+/* MSG_ID_PSW_END_CF_MEASURE_MSG */
+
+/* MSG_ID_PSW_INITIAL_ACQ_REPORT_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswInitialAcqReportMsgT msg;
+} psw_initial_acq_report_msg_struct;
+
+/* MSG_ID_PSW_SET_IDLE_HO_PARAMETERS_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSetIdleHOParmsMsgT msg;
+} psw_set_idle_ho_parameters_msg_struct;
+
+/* MSG_ID_PSW_OUTER_LOOP_REPORT_REQ_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswOuterLoopReportReqMsgT msg;
+} psw_outer_loop_report_req_msg_struct;
+
+/* MSG_ID_PSW_GET_PS_INFO_MSG */
+
+/* MSG_ID_PSW_L1D_ACCESS_PREAMBLE_COMPLETE_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswL1dAccessPreambleCompleteMsgT msg;
+} psw_l1d_access_preamble_complete_msg_struct;
+
+/* MSG_ID_PSW_L1D_ACCESS_COMPLETE_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswL1dAccessCompleteMsgT msg;
+} psw_l1d_access_complete_msg_struct;
+
+/* MSG_ID_PSW_L1D_ACCESS_PROBE_COMPLETE_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswL1dAccessProbeCompleteMsgT msg;
+} psw_l1d_access_probe_complete_msg_struct;
+
+/* MSG_ID_PSW_OOSA_WAKEUP_IND_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswOosaWakupIndMsgT msg;
+} psw_oosa_wakeup_ind_msg_struct;
+
+/* MSG_ID_PSW_SERVICE_OPTION_CONTROL_RESP_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswServiceOptionControlRespMsgT msg;
+} psw_service_option_control_resp_msg_struct;
+
+/* MSG_ID_PSW_RSCH_REL_IND_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswRschRelIndMsgT msg;
+} psw_rsch_rel_ind_msg_struct;
+
+/* MSG_ID_PSW_STAT_CNT_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswStatCntMsgT msg;
+} psw_stat_cnt_msg_struct;
+
+/* MSG_ID_PSW_FORWARD_PAGE_CHAN_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ FcschMessage msg;
+#ifdef MTK_PLT_ON_PC_UT
+ PCHMessageLACField lac;
+#endif
+ kal_uint8 data[CPBUF_SIZE_FWD];
+} psw_forward_page_chan_msg_struct;
+
+/* MSG_ID_PSW_FORWARD_FCCCH_MSG */
+
+
+/* MSG_ID_PSW_FORWARD_BCCH_MSG */
+
+
+/* MSG_ID_PSW_FORWARD_SYNC_CHAN_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ SyncChannelMessage msg;
+} psw_forward_sync_chan_msg_struct;
+
+/* MSG_ID_PSW_DSCH_CHAN_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ FTCMessage msg;
+#ifdef MTK_PLT_ON_PC_UT
+ FTCMessageLACField lac;
+#endif
+ kal_uint8 data[CPBUF_SIZE_FWD];
+} psw_dsch_chan_msg_struct;
+
+/* from RLP */
+/* MSG_ID_PSW_DATA_BUFFER_STATUS_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswDataBufferStatusMsgT msg;
+} psw_data_buffer_status_msg_struct;
+
+
+/* from MMI */
+/* MSG_ID_PSW_POWER_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswPowerMsgT msg;
+} psw_power_msg_struct;
+
+/* MSG_ID_PSW_CALL_INITIATE_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswCallInitiateMsgT msg;
+} psw_call_initiate_msg_struct;
+
+/* MSG_ID_PSW_CALL_INITIATE_WITH_INFO_REC_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswCallInitiateMsgT msg;
+} psw_call_initiate_with_info_rec_msg_struct;
+
+/* MSG_ID_PSW_GET_PRL_INFO_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswGetPrlMsgT msg;
+} psw_get_prl_info_msg_struct;
+
+/* MSG_ID_PSW_E911_MODE_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswE911ModeMsgT msg;
+} psw_e911_mode_msg_struct;
+
+/* MSG_ID_PSW_CALL_ANSWER_MSG */
+
+/* MSG_ID_PSW_CALL_HANGUP_MSG */
+
+/* MSG_ID_PSW_SEND_CONT_DTMF_ON_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSendContDTMFMsgT msg;
+} psw_send_cont_dtmf_on_msg_struct;
+
+/* MSG_ID_PSW_SEND_CONT_DTMF_OFF_MSG */
+
+/* MSG_ID_PSW_SEND_BURST_DTMF_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSendBurstDTMFMsgT msg;
+} psw_send_burst_dtmf_msg_struct;
+
+/* MSG_ID_PSW_HOOKFLASH_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswHookflashMsgT msg;
+} psw_hookflash_msg_struct;
+
+/* MSG_ID_PSW_SET_PRIVACY_MODE_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSetPrivacyModeMsgT msg;
+} psw_set_privacy_mode_msg_struct;
+
+/* MSG_ID_PSW_VAL_SET_DDTM_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswValSetDDTMMsgT msg;
+} psw_set_ddtm_mode_msg_struct;
+
+/* MSG_ID_PSW_SET_RETRIEVABLE_PARAMETER */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSetRetrievableParameterMsgT msg;
+} psw_set_retrievable_parameter_struct;
+
+/* MSG_ID_PSW_GET_RETRIEVABLE_PARAMETER */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswGetRetrievableParameterMsgT msg;
+} psw_get_retrievable_parameter_struct;
+
+/* MSG_ID_PSW_INJECT_HANDOFF_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswInjectHandoffMsgT msg;
+} psw_inject_handoff_msg_struct;
+
+
+/* MSG_ID_PSW_GET_FULL_SYS_TIME_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswGetFullSysTimeMsgT msg;
+} psw_get_full_sys_time_msg_struct;
+
+/* MSG_ID_PSW_SET_SILENT_RETRY_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSetSilentRetryMsgT msg;
+} psw_set_silent_retry_msg_struct;
+
+/* MSG_ID_PSW_GET_SILENT_RETRY_STATUS_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswGetSilentRetryStatusMsgT msg;
+} psw_get_silent_retry_status_msg_struct;
+
+/* MSG_ID_PSW_SET_MOB_PREV_MSG */
+
+/* MSG_ID_PSW_SET_CUSTOM_FEATURE_MSG */
+
+/* MSG_ID_PSW_SET_PRL_ENABLE_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswEnablePrlMsgT msg;
+} psw_set_prl_enable_msg_struct;
+
+/* from generic PS interfaces */
+#ifdef MTK_PLT_ON_PC_UT
+/* MSG_ID_PSW_UNIT_TEST_REVERSE_SIG_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswUnitTestReverseSigMsgT msg;
+} psw_unit_test_reverse_sig_msg_struct;
+#ifdef MTK_DEV_C2K_IRAT
+/* MSG_ID_PSW_SET_IRAT_PARAM_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSetIratParamMsgT msg;
+} psw_set_irat_param_msg_struct;
+#endif
+#endif
+/* MSG_ID_PSW_ENGINE_TEST_MODE_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswEngineTestModeMsgT msg;
+} psw_engine_test_mode_msg_struct;
+
+#if defined (__TC10__) && defined (__TC10_IPC_CDMA_SUPPORT__)
+/* MSG_ID_PSW_ENGINE_TEST_MODE_GET_REQ_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswEngineTestModeGetReqMsgT msg;
+} psw_engine_test_mode_get_req_msg_struct;
+
+/* MSG_ID_PSW_SET_SERVICE_CONFIG_REQ_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSetServiceConfigReqMsgT msg;
+} psw_set_service_config_req_msg_struct;
+#endif
+
+/* MSG_ID_PSW_INIT_NAM_ALREADY_PROVISIONED_MSG */
+
+/* MSG_ID_PSW_HSPD_ACTIVE_CONTROL_HOLD_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswHspdActiveControlHoldMsgT msg;
+} psw_hspd_active_control_hold_msg_struct;
+
+/* MSG_ID_PSW_RSCH_REQUEST_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswRevSchRequestMsgT msg;
+} psw_rsch_request_msg_struct;
+
+/* MSG_ID_PSW_SET_ACCESS_HO_PARAMETERS_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSetAccessHOParmsMsgT msg;
+} psw_set_access_ho_parameters_msg_struct;
+
+/* MSG_ID_PSW_DEBUG_SCREEN_INFO_REQUEST */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswDebugScrnRequestMsgT msg;
+} psw_debug_screen_info_request_struct;
+
+/* MSG_ID_PSW_DEBUG_PILOT_STRENGTH_INFO_REQUEST */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswDebugPilotStrengthMsgT msg;
+} psw_debug_pilot_strength_info_request_struct;
+
+/* MSG_ID_PSW_DEBUG_SCRN_LMD_RSP_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ LmdGetDebugScrnInfoResponseT msg;
+} psw_debug_scrn_lmd_rsp_msg_struct;
+
+/* MSG_ID_PSW_DEBUG_SCRN_L1D_RSP_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ L1dGetDebugScrnInfoResponseT msg;
+} psw_debug_scrn_l1d_rsp_msg_struct;
+
+/* MSG_ID_PSW_EXIT_EMERGENCY_MODE_MSG */
+
+/* MSG_ID_PSW_GET_GPS_DEBUG_INFO_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswGpsDebugInfoCmdMsgT msg;
+} psw_get_gps_debug_info_msg_struct;
+
+/* MSG_ID_PSW_SET_MOBILE_ID_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSetMobileIDMsgT msg;
+} psw_set_mobile_id_msg_struct;
+
+/* MSG_ID_PSW_GET_MOBILE_ID_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswGetMobileIDMsgT msg;
+} psw_get_mobile_id_msg_struct;
+
+/* MSG_ID_PSW_CL1TST_SET_MOBILE_ID_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSetMobileIDMsgT msg;
+} psw_cl1tst_set_mobile_id_msg_struct;
+
+/* MSG_ID_PSW_OTTS_TIMER_SIMULATION */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ CPTimerId id;
+} psw_otts_timer_simulation_struct;
+
+/* MSG_ID_PSW_HLW_MIP_KEYS_UPDATE_MSG */
+
+/* MSG_ID_PSW_READ_RAW_IMSI_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswReadRawIMSIMsgT msg;
+} psw_read_raw_imsi_msg_struct;
+
+/* MSG_ID_PSW_WRITE_RAW_IMSI_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswWriteRawIMSIMsgT msg;
+} psw_write_raw_imsi_msg_struct;
+
+/* MSG_ID_PSW_SLOTTED_VETO_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSlottedVetoMsgT msg;
+} psw_slotted_veto_msg_struct;
+
+
+/* MSG_ID_PSW_GET_MIP_KEYS_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswGetMIPkeysMsgT msg;
+} psw_get_mip_keys_msg_struct;
+
+/* MSG_ID_PSW_SET_SIP_PASSWORD_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSetSIPpasswordMsgT msg;
+} psw_set_sip_password_msg_struct;
+
+/* MSG_ID_PSW_GET_SIP_PASSWORD_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswGetSIPpasswordMsgT msg;
+} psw_get_sip_password_msg_struct;
+
+
+/* MSG_ID_PSW_GET_SPC_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswGetSpcMsgT msg;
+} psw_get_spc_msg_struct;
+
+/* MSG_ID_PSW_GET_SSD_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswGetSSDMsgT msg;
+} psw_get_ssd_msg_struct;
+
+
+/* MSG_ID_PSW_GET_CP_BC_TO_CDMA_BC_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswGetCpBcToCdmaBcMsgT msg;
+} psw_get_cp_bc_to_cdma_bc_msg_struct;
+
+/* MSG_ID_PSW_SET_FLY_MODE_ENABLE_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswFlyModeMsgT msg;
+} psw_set_fly_mode_enable_msg_struct;
+
+/* MSG_ID_PSW_ENABLE_PRL_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswEnablePrlMsgT msg;
+} psw_enable_prl_msg_struct;
+
+/* MSG_ID_PSW_SET_PARM_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ ValGenericSetParmMsgT msg;
+} psw_set_parm_msg_struct;
+
+/* MSG_ID_PSW_GET_PARM_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ ValGenericGetParmMsgT msg;
+} psw_get_parm_msg_struct;
+
+/* MSG_ID_PSW_WRITE_RAW_MDN_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswWriteRawMDNMsg msg;
+} psw_write_raw_mdn_msg_struct;
+
+/* MSG_ID_PSW_TA_TIMER_EXPIRED_MSG */
+
+/* MSG_ID_PSW_DATA_CALL_ANSWER_MSG */
+
+/* MSG_ID_PSW_UICC_FACTORY_MODE_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswUiccFactoryModeMsgT msg;
+} psw_uicc_factory_mode_msg_struct;
+
+/* MSG_ID_PSW_VAL_PILOT_PWR_ACK_MSG */
+
+
+/* MSG_ID_PSW_DS_CALL_REL_MSG */
+
+/* MSG_ID_PSW_PS_CALL_REL_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswPsCallRelMsgT msg;
+} psw_ps_call_rel_msg_struct;
+
+/* MSG_ID_PSW_LS_CALL_REL_MSG */
+
+/* MSG_ID_PSW_DS_ENABLE_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswDsEnableMsgT msg;
+} psw_ds_enable_msg_struct;
+
+/* MSG_ID_PSW_PS_DORMANT_REQ_MSG */
+
+/* MSG_ID_PSW_DATA_PREF_REQ_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswDataPrefReqMsgT msg;
+} psw_data_pref_req_msg_struct;
+
+/* MSG_ID_PSW_VS_PREF_REQ_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswVsPrefReqMsgT msg;
+} psw_vs_pref_req_msg_struct;
+
+/* MSG_ID_PSW_LS_PREF_REQ_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswLsPrefReqMsgT msg;
+} psw_ls_pref_req_msg_struct;
+
+/* MSG_ID_PSW_VS_SWITCH_SO_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswVsSwitchSoMsgT msg;
+} psw_vs_switch_so_msg_struct;
+
+/* MSG_ID_PSW_VS_DS_PREARANG_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswVsDsPreArangMsgT msg;
+} psw_vs_ds_prearang_msg_struct;
+
+/* MSG_ID_PSW_SET_SERVICE_CONFIG_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSetServiceConfigMsgT msg;
+} psw_set_service_config_msg_struct;
+
+/* MSG_ID_PSW_SET_PKZID_HYSTER_TMR_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSetPkzidHysterTmrMsgT msg;
+} psw_set_pkzid_hyster_tmr_msg_struct;
+
+
+/* MSG_ID_PSW_CUSTOM_LOCK_FEATURE_REG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswCustomFeatureMsgT msg;
+} psw_custom_feature_msg_struct;
+
+/* MSG_ID_PSW_CUSTOM_LOCK_TRIGGER */
+
+
+/* System Selection Messages */
+/* MSG_ID_PSW_CSS_SELECT_RSP_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswCssSelectRspMsgT msg;
+} psw_css_select_rsp_msg_struct;
+
+/* MSG_ID_PSW_CSS_VALIDATE_RSP_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswCssValidateRspMsgT msg;
+} psw_css_validate_rsp_msg_struct;
+
+/* MSG_ID_PSW_CSS_SYS_ACQ_REQ_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswCssSysAcqReqMsgT msg;
+} psw_css_sys_acq_req_msg_struct;
+
+/* MSG_ID_PSW_CSS_ACQ_ABORT_REQ_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+} psw_css_sys_acq_abort_req_msg_struct;
+
+/* MSG_ID_PSW_CSS_OOSA_SLEEP_REQ_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswCssOosaSleepReqMsgT msg;
+} psw_css_oosa_sleep_req_msg_struct;
+
+/* MSG_ID_PSW_CSS_OOSA_WAKEUP_REQ_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+} psw_css_oosa_wakeup_req_msg_struct;
+
+/* MSG_ID_PSW_CSS_END_E911_CALL_REQ_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+} psw_css_end_e911_call_req_msg_struct;
+
+/* MSG_ID_PSW_CSS_OTASP_SCAN_FINISHED_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+} psw_css_otasp_scan_finished_msg_struct;
+
+/* MSG_ID_PSW_CSS_INDICATE_IN_SERVICE_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+} psw_css_indicate_in_service_msg_struct;
+
+/* MSG_ID_PSW_NOTIFY_SRV_STATUS_TO_UPPER_LAYER_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+} psw_notify_srv_status_to_upper_layer_msg_struct;
+
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswCssValSyncRspMsgT msg;
+} psw_css_val_sync_rsp_msg_struct;
+
+#ifdef MTK_DEV_C2K_IRAT
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswCssOosaSleepReqMsgT msg;
+}psw_css_oosa_cont_sleep_req_msg_struct;
+
+/* PSW_C2K_SIM_INDEX_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ ValPswC2kSimIndexMsgT msg;
+}psw_c2k_sim_index_msg_struct;
+#endif
+
+/* MSG_ID_PSW_SET_LOST_SCAN_PING_FREQUENCY_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSetLostScanPingFrequencyMsgT msg;
+} psw_set_lost_scan_ping_frequency_msg_struct;
+
+
+/* Other */
+/* MSG_ID_PSW_IRAT_MCC_REQ */
+
+/* MSG_ID_PSW_IRAT_CUR_SYS_MEAS_REQ */
+
+#ifdef MTK_DEV_C2K_IRAT
+/* MSG_ID_PSW_IRAT_RAT_SIG_MON_REQ */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswIratRATSigMonReqT msg;
+} psw_irat_rat_sig_req_struct;
+
+
+/* MSG_ID_PSW_IRAT_1X_REG_REQ */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswIrat1xRegReqMsgT msg;
+} psw_irat_1x_reg_req_struct;
+
+#endif
+/* MSG_ID_PSW_GPS_FRAME_SYNC_DONE_MSG */
+
+/* MSG_ID_PSE_LEC_CDMA_SYSTEM_REQ_MSG */
+
+/* MSG_ID_PSW_USERMODE_MSG */
+
+/* MSG_ID_PSW_TESTMODE_MSG */
+
+/* MSG_ID_PSW_LTE_MSG */
+
+/* MSG_ID_PSW_SET_EMERGENCY_CARD_INIT_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_uint8 msg;
+} psw_set_emerency_card_init_msg_struct;
+
+/* MSG_ID_PSW_MANUAL_AVOID_NETWORK_MSG */
+
+/* MSG_ID_PSW_ANTENNA_CFG_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswAntennaCfgMsgT msg;
+} psw_antenna_cfg_msg_struct;
+
+/* MSG_ID_PSW_ENTER_AKEY_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswEnterAKeyMsgT msg;
+} psw_enter_akey_msg_struct;
+
+/* MSG_ID_PSW_SELECT_ACTIVE_NAM_MSG
+*/
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSelectActiveNamMsgT msg;
+} psw_select_active_nam_msg_struct;
+
+/* MSG_ID_PSW_SET_EMERGENCY_CARD_INIT_MSG
+*/
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_uint8 EmergencyCardInit;
+} psw_set_emergency_card_init_msg_struct;
+
+
+/* MSG_ID_VAL_GET_TRANSMIT_INFO_RSP_MSG
+*/
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswGetTransmitInfoRspMsgT msg;
+} psw_get_transmit_info_rsp_msg_struct;
+
+
+
+/* MSG_ID_PSW_NST_EXIT_TEST_MODE_MSG
+*/
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswNstExitMsgT msg;
+} psw_nst_exit_test_mode_msg_struct;
+
+
+
+/* MSG_ID_PSW_NST_POWER_UP_MSG
+*/
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswNstPowerupMsgT msg;
+} psw_nst_power_up_msg_struct;
+
+
+/* MSG_ID_CL1TST_NST_POWER_UP_CNF_MSG
+*/
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswNstPowerupAckRspMsgT msg;
+} cl1tst_nst_power_up_cnf_msg_struct;
+
+
+/* MSG_ID_PSW_NST_TCH_FER_CFG_MSG
+*/
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswNstTchFerCfgMsgT msg;
+} psw_nst_tch_fer_cfg_msg_struct;
+
+
+/* MSG_ID_CL1TST_NST_TCH_FER_CFG_CNF_MSG
+*/
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswNstTchFerCfgCnfMsgT msg;
+} cl1tst_nst_tch_fer_cfg_cnf_msg_struct;
+
+
+/* MSG_ID_PSW_NST_TCH_FER_CFG_MSG
+*/
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswNstTransmitTchMsgT msg;
+} psw_nst_tx_pwr_meas_cfg_msg_struct;
+
+
+/* MSG_ID_CL1TST_NST_TX_PWR_MEAS_CFG_CNF_MSG
+*/
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswNstTransmitTchAckMsgT msg;
+} cl1tst_nst_tx_pwr_meas_cfg_cnf_msg_struct;
+
+
+/* MSG_ID_PSW_NST_TCH_FER_CFG_MSG
+*/
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswNstRxPwrReqMsgT msg;
+} psw_nst_rx_pwr_meas_cfg_msg_struct;
+
+/* MSG_ID_CL1TST_NST_RX_PWR_MEAS_CFG_CNF_MSG
+*/
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswNstRxPwrRespMsgT msg;
+} cl1tst_nst_rx_pwr_meas_cfg_cnf_msg_struct;
+
+/* MSG_ID_PSW_NST_LIST_SET_MSG
+*/
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswNstListSetMsgT msg;
+} psw_nst_list_set_msg_struct;
+
+/* MSG_ID_CL1TST_NST_LIST_SET_CFG_CNF_MSG
+*/
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswNstListSetRespMsgT msg;
+} cl1tst_nst_list_set_cfg_cnf_msg_struct;
+
+/* Tx NST control Message L1D_TST_NST_TRAFFIC_ON_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ L1dTstTxNstCtrlMsgT msg;
+} l1d_tst_tx_ctrl_msg_struct;
+
+/* Tx NST control Message L1D_TST_NST_TRAFFIC_ON_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ L1dTransmitNstMsgT msg;
+} l1d_transmit_nst_msg_struct;
+
+
+/* NST Rx Power Request Message L1D_TST_RX_PWR_REQ_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ L1dNstRxPwrReqMsgT msg;
+} l1d_nst_rx_pwr_req_msg_struct;
+
+/* NST Rx Power Request Message L1D_TST_RX_PWR_CNFMSG */
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ L1dNstRxPwrCnfMsgT msg;
+} l1d_nst_rx_pwr_cnf_msg_struct;
+
+
+#ifdef MTK_PLT_ON_PC_UT
+
+/*PSW_SEND_SBP_CONFIG_MSG*/
+typedef struct {
+ LOCAL_PARA_HDR
+ PswSetSbpIdMsgT msg;
+}psw_send_sbp_config_msg_struct;
+
+#endif /* MTK_PLT_ON_PC_UT */
+
+/*For ELT version checking*/
+typedef enum {
+ V1_1639_1
+} c2k_codec_min_version;
+
+/* MSG_ID_PSW_L1D_SLT_TX_VERIFY_IND_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswL1dSltTxVerifyIndMsgT msg;
+} psw_l1d_slt_tx_verify_ind_msg_struct;
+
+/* MSG_ID_PSW_1X_SLT_VERIFY_RESULT_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ SltVerifyResultMsgT msg;
+} psw_1x_slt_verify_result_msg_struct;
+
+/* MSG_ID_PSW_DO_SLT_VERIFY_RESULT_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ SltVerifyResultMsgT msg;
+} psw_do_slt_verify_result_msg_struct;
+
+/* MSG_ID_PSW_OTASPPA_CONN_IND_MSG, */
+typedef struct
+{
+ LOCAL_PARA_HDR
+} psw_otasppa_conn_ind_msg_struct;
+
+/* MSG_ID_PSW_OTASPPA_ORIG_IND_MSG, */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_uint8 digits[40];
+} psw_otasppa_orig_ind_msg_struct;
+
+/* MSG_ID_PSW_OTASPPA_DISCONN_IND_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_uint8 reason;
+} psw_otasppa_disconn_ind_msg_struct;
+
+/* MSG_ID_PSW_OTASPPA_MSG_CONFIRM_IND_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_bool success;
+} psw_otasppa_msg_confirm_ind_msg_struct;
+
+/* MSG_ID_PSW_OTASPPA_RECV_MSG_IND_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_uint16 length;
+ kal_uint8 data[255];
+} psw_otasppa_recv_msg_ind_msg_struct;
+
+/* MSG_ID_PSW_OTASPPA_SEND_MSG_REQ_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_uint16 length;
+ kal_uint8 data[255];
+} psw_otasppa_send_msg_req_msg_struct;
+
+/* MSG_ID_PSW_HLP_DRS_UPDATE_IND_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_bool drs;
+ kal_bool reconn_drs0;
+} psw_hlp_drs_update_ind_msg_struct;
+
+/* MSG_ID_PSW_L1D_OOSA_CNF_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+} psw_l1d_oosa_cnf_struct; /* for NWSIM IT case msg check */
+
+/* MSG_ID_PSW_STOP_PSC_DORMANT_TIMER_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+} psw_stop_psc_dormant_timer_msg_struct;
+
+/* MSG_ID_PSW_FORCE_TO_ENTER_DORMANT_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+} psw_force_to_enter_dormant_msg_struct;
+
+#ifdef MTK_PLT_ON_PC_UT
+/* MSG_ID_PSW_SCC_IND_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSccIndMsg msg;
+}psw_scc_ind_msg_struct;
+
+/* MSG_ID_PSW_SCC_REQ_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSccReqMsg msg;
+}psw_scc_req_msg_struct;
+
+#endif
+
+/* MSG_ID_PSW_TST_INJECT_STRING */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswTstInjectEnum tstInject;
+}psw_tst_inject_string_struct;
+
+/* MSG_ID_PSW_SET_GPS_FLOW_MSG */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_uint32 gps_flow;
+}psw_set_gps_flow_msg_struct;
+
+/* MSG_ID_PSW_PKZ_HYSTS_ACTIVE_IND */
+typedef struct
+{
+ LOCAL_PARA_HDR
+} psw_pkz_hysts_active_ind_struct;
+#endif /* _PSW_MSG_STRUCT_H */
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/psw_nvram.h b/mcu/interface/protocol/as_c2k/1xrtt/psw_nvram.h
new file mode 100644
index 0000000..c2be651
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/psw_nvram.h
@@ -0,0 +1,1267 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSKAL_TRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+#ifndef _PSW_NVRAM_H_
+
+#define _PSW_NVRAM_H_ 1
+
+/*****************************************************************************
+ * Includes
+ ****************************************************************************/
+#include "kal_general_types.h"
+#include "c2k_defs.h"
+
+/*****************************/
+/* PswNam definitions start */
+/*****************************/
+ #define NAM_BANDS_SUPPORTED 5
+ /* skip, T53, Korean PCS */
+
+
+ #define CP_MAX_TMSI_ZONE_LEN 8
+ #define NAM_MEID_SIZE 7 /* size of MEID */
+#ifndef MTK_PLT_ON_PC
+ #define REMAINING_NAM_SIZE 3
+#else
+ #define REMAINING_NAM_SIZE 2
+#endif
+
+ #define OTA_ALLOW_OTAPA 0x02 /* User flag to reject network OTAPA attemps */
+ #define OTA_ENABLE_OTA 0x04 /* User flag to enable OTA functionality in MS */
+ #define OTA_ENABLE_SPASM 0x08 /* User flag to enable SPASM function in MS */
+ #define OTA_ENABLE_SPC_CHANGE 0x10 /* User flag to enable SPC Change in MS */
+
+ #define AUTH_AKEY_VALID 0x01 /* Akey Valid. OK for Authentication */
+ #define AUTH_ENABLE_VP 0x02 /* Voice Privacy Enabled */
+ #define MOB_TERM_HOME_ENABLED 0x01 /* receive mobile terminated calls in home system */
+ #define MOB_TERM_SID_ENABLED 0x02 /* receive mobile terminated calls in foreign SID system */
+ #define MOB_TERM_NID_ENABLED 0x04 /* receive mobile terminated calls in foreign NID system */
+
+ #define ROAM_SETTING_DOMESTIC_VOICE 0x01 /* Sprint Allow voice roaming on domestic system */
+ #define ROAM_SETTING_DOMESTIC_DATA 0x02 /* Sprint Allow data roaming on domestic system */
+ #define ROAM_SETTING_INT_VOICE 0x04 /* Sprint Allow voice romaing on international system */
+ #define ROAM_SETTING_INT_DATA 0x08 /* Sprint Allow data roaming on international system */
+#ifdef MTK_CBP
+ #define ROAM_SETTING_LTE_DATA 0x10 /* Sprint Allow LTE data roaming, not used in C2K saved only for AP get */
+ #define ROAM_SETTING_USED_BIT_NUM 5 /* Now only the 5 least significant bits used */
+#endif
+
+ #define NAM_MAX_MDN_DIGITS 16 /* max MDN digit number in NAM template */
+
+ #define SPC_MAX_VALUE 999999
+ #define SPC_MAX_RETRY 15
+
+/* Number of positive and negative sids in the NAM. */
+#define MAX_POSITIVE_SIDS 20
+#define MAX_NEGATIVE_SIDS 10
+
+/* Broadcast Address parameters */
+#define CP_BCAST_ADDRESS_MAX_SIZE 15
+
+/*- - - - - - - */
+/* NAM Defaults */
+/*- - - - - - - */
+#define PSW_DEFAULT_ESN 0xFF04FFFF
+
+#define PSW_DEFAULT_PRL_ENABLE KAL_TRUE
+/* Station Class Mark */
+#define PSW_DEFAULT_SCM_BC0 0x28
+#define PSW_DEFAULT_SCM_BC1 0xA8
+#define PSW_DEFAULT_SCM_BC2 0x28
+#define PSW_DEFAULT_SCM_BC3 0x28
+#define PSW_DEFAULT_SCM_BC4 0xA8
+#define PSW_DEFAULT_SCM_BC5 0x28
+#define PSW_DEFAULT_SCM_BC6 0x28
+#define PSW_DEFAULT_SCM_BC7 0x28
+#define PSW_DEFAULT_SCM_BC8 0x28
+#define PSW_DEFAULT_SCM_BC9 0x28
+#define PSW_DEFAULT_SCM_BC10 0x28
+#define PSW_DEFAULT_SCM_BC11 0x28
+#define PSW_DEFAULT_SCM_BC12 0x28
+#define PSW_DEFAULT_SCM_BC13 0x28
+#define PSW_DEFAULT_SCM_BC14 0x28
+#define PSW_DEFAULT_SCM_BC15 0x28
+#define PSW_DEFAULT_SCM_BC16 0x28
+#define PSW_DEFAULT_SCM_BC17 0x28
+#define PSW_DEFAULT_SCM_BC18 0x28
+#define PSW_DEFAULT_SCM_BC19 0x28
+#define PSW_DEFAULT_SCM_BC20 0x28
+
+#ifdef KDDI_EXTENSIONS
+#define PSW_DEFAULT_PREV 9
+#else
+#define PSW_DEFAULT_PREV 6
+#endif
+
+#define PSW_DEFAULT_SLOT_CYCLE_IDX 2
+#define PSW_DEFAULT_MOB_FIRM_REV 0
+#define PSW_DEFAULT_MOB_MODEL 0
+
+#define PSW_DEFAULT_SSPR_PREV PRL_EXT /* CBP7 should be PRL_EXT...*/
+
+#define PSW_DEFAULT_AKEY_0 0
+#define PSW_DEFAULT_AKEY_1 1
+
+typedef enum
+{
+ IMSI_M_VALID = 1,
+ IMSI_T_VALID,
+ IMSI_VALID_END
+} PswImsiValid;
+
+#define PSW_DEFAULT_VALID_IMSI_MAP (IMSI_M_VALID | IMSI_T_VALID)
+
+#define PSW_DEFAULT_IMSI_M_MCC 359 /*Encoded form of 460*/
+#define PSW_DEFAULT_IMSI_11_12 92 /*Encoded form of 03*/
+
+#define PSW_DEFAULT_NUM_MDN_DIGITS 10
+
+#define PSW_DEFAULT_ASSIGN_TMSI_ZONE_LEN 0
+#define PSW_DEFAULT_ASSIGN_TMSI_ZONE_0 0
+#define PSW_DEFAULT_ASSIGN_TMSI_ZONE_1 0
+#define PSW_DEFAULT_ASSIGN_TMSI_ZONE_2 0
+#define PSW_DEFAULT_ASSIGN_TMSI_ZONE_3 0
+#define PSW_DEFAULT_ASSIGN_TMSI_ZONE_4 0
+#define PSW_DEFAULT_ASSIGN_TMSI_ZONE_5 0
+#define PSW_DEFAULT_ASSIGN_TMSI_ZONE_6 0
+#define PSW_DEFAULT_ASSIGN_TMSI_ZONE_7 0
+#define PSW_DEFAULT_TMSI_CODE 0xFFFFFFFFL
+#define PSW_DEFAULT_TMSI_EXP_TIME 0
+
+/* Up to 20 SIDs; if SID unused, set to 0 */
+#define PSW_DEFAULT_MAX_SID_NID MAX_POSITIVE_SIDS
+#if defined(KDDI_EXTENSIONS)
+#define PSW_DEFAULT_STORED_POS_SID_NID 0
+#else
+#define PSW_DEFAULT_STORED_POS_SID_NID 1
+#endif
+
+typedef enum
+{
+ HOME_ONLY,
+ AUTOMATIC,
+ AUTOMATIC_A,
+ AUTOMATIC_B
+} SystemSelectType;
+
+typedef enum
+{
+ CPC_IDLE_ST,
+ CPC_CONNECTING_ST,
+ CPC_CONNECTED_ST,
+ CPC_DISCONNECT_ST,
+ CPC_NUM_STATES
+} CpcStates;
+
+typedef enum
+{
+ CPC_ORIG_EV,
+ CPC_SOCO_EV,
+ CPC_SOCM_EV,
+ CPC_PAGE_EV,
+ CPC_REL_IND_EV,
+ CPC_ORIG_FAIL_EV,
+ CPC_REJECT_EV,
+ CPC_REL_REQ_EV,
+ CPC_ALERT_EV,
+ CPC_ANSWER_EV,
+ CPC_NEG_CONN_EV,
+ CPC_SWITCH_EV,
+ CPC_DISCONNECT_EV,
+ CPC_CP_CONN_EV,
+ CPC_CP_CONN_ANALOG_EV,
+ CPC_NUM_EVENTS,
+} CpcEvents;
+
+typedef enum {
+ DBC_IDLE_ST,
+ DBC_SYS_BUSY_ST,
+ DBC_CONNECTED_ST,
+ DBC_NUM_STATES
+} DbcStates;
+
+typedef enum {
+ DBC_SEND_MSG_EV,
+ DBC_DATA_BURST_RSP_EV,
+ DBC_PAGE_IND_EV,
+ DBC_CONNECT_IND_EV,
+ DBC_ALERT_IND_EV,
+ DBC_RELEASE_REQ_EV,
+ DBC_DISCONNECT_IND_EV,
+ DBC_PROCESS_Q_EV,
+ DBC_CONN_FAIL_EV,
+ DBC_ACCESS_EV,
+ DBC_IDLE_EV,
+ DBC_NUM_EVENTS
+} DbcEvents;
+
+typedef enum
+{
+ VSC_IDLE_ST,
+ VSC_ALERT_ST,
+ VSC_ANSWER_ST,
+ VSC_WFR_CONNECT_ST,
+ VSC_CONNECTED_ST,
+ VSC_NUM_STATES
+}VscStates;
+
+typedef enum
+{
+ VSC_VS_SwitchReq,
+ VSC_VS_OrigReq,
+ VSC_CPC_PageInd,
+ VSC_CPC_ConnectInd,
+ VSC_CPC_AlertInd,
+ VSC_VS_ConnectReq,
+ VSC_VS_ReleaseReq,
+ VSC_CPC_DisconnectInd,
+ VSC_CPC_ConnectFailInd,
+ VSC_NUM_EVENTS
+}VscEvents;
+
+typedef enum
+{
+ PSC_NULL_ST,
+ PSC_INIT_ST,
+ PSC_CONNECTED_ST,
+ PSC_NO_DMC_CONNECTED_ST,
+ PSC_DORMANT_ST,
+ PSC_RECONNECT_ST,
+ PSC_NUM_STATES
+}PscState;
+
+typedef enum
+{
+ PSC_CPC_AlertInd,
+ PSC_CPC_ConnectFailInd,
+ PSC_CPC_ConnectInd,
+ PSC_CPC_DisconnectInd,
+ PSC_CPC_PageInd,
+#ifndef MTK_CBP_REL_OPTIMIZE
+ PSC_CPC_ReleaseInd,
+#endif
+ PSC_CP_HandoffInd,
+ PSC_CP_IdleInd,
+ PSC_CP_NetworkPRevInd,
+ PSC_CP_PacketZoneIdInd,
+ PSC_CP_SidNidChangeInd,
+ PSC_CP_TcAssignedInd,
+ PSC_CP_ZoneInd,
+
+ PSC_PS_ConnectReq,
+ PSC_PS_DormantReq,
+ PSC_PS_OrigReq,
+ PSC_PS_PrefInd,
+ PSC_PS_ReleaseReq,
+
+ PSC_TC_ExpiredInd,
+ PSC_dmcInd,
+
+ PSC_CPC_TcEstablishedInd,
+ PSC_PS_SuspendReq,
+ PSC_NUM_EVENTS
+}PscEvents;
+
+/*
+ * Loopback Services Controller States
+ */
+typedef enum {
+ LSC_IDLE_ST,
+ LSC_ORIG_ST,
+ LSC_WFR_CONNECT_ST,
+ LSC_CONNECTED_ST,
+ LSC_DISCONNECT_ST,
+ LSC_NUM_STATES
+} LscStates;
+
+/*
+ * Loopback Services Controller Events
+ */
+typedef enum {
+ LSC_ORIG_EV,
+ LSC_PAGE_EV,
+ LSC_CONN_IND_EV,
+ LSC_ALERT_EV,
+ LSC_RELEASE_EV,
+ LSC_DISCONNECT_EV,
+ LSC_CONN_FAIL_EV,
+ LSC_NUM_EVENTS
+} LscEvents;
+
+#if defined(VERIZON_EXTENSIONS)
+#define PSW_DEFAULT_SID_0 2004
+#define PSW_DEFAULT_SYSTEM_SELECT AUTOMATIC_B
+#else
+#define PSW_DEFAULT_SID_0 7
+#define PSW_DEFAULT_SYSTEM_SELECT AUTOMATIC
+#endif
+#define PSW_DEFAULT_SID_1 0
+#define PSW_DEFAULT_SID_2 0
+#define PSW_DEFAULT_SID_3 0
+#define PSW_DEFAULT_SID_4 0
+#define PSW_DEFAULT_SID_5 0
+#define PSW_DEFAULT_SID_6 0
+#define PSW_DEFAULT_SID_7 0
+#define PSW_DEFAULT_SID_8 0
+#define PSW_DEFAULT_SID_9 0
+#define PSW_DEFAULT_SID_10 0
+#define PSW_DEFAULT_SID_11 0
+#define PSW_DEFAULT_SID_12 0
+#define PSW_DEFAULT_SID_13 0
+#define PSW_DEFAULT_SID_14 0
+#define PSW_DEFAULT_SID_15 0
+#define PSW_DEFAULT_SID_16 0
+#define PSW_DEFAULT_SID_17 0
+#define PSW_DEFAULT_SID_18 0
+#define PSW_DEFAULT_SID_19 0
+
+#define PSW_DEFAULT_MOB_TERM_HOME MOB_TERM_HOME_ENABLED
+#define PSW_DEFAULT_MOB_TERM_FOREIGN_SID MOB_TERM_SID_ENABLED
+#define PSW_DEFAULT_MOB_TERM_FOREIGN_NID MOB_TERM_NID_ENABLED
+
+#define PSW_DEFAULT_MOB_TERM_MAP (PSW_DEFAULT_MOB_TERM_HOME | PSW_DEFAULT_MOB_TERM_FOREIGN_SID | PSW_DEFAULT_MOB_TERM_FOREIGN_NID)
+
+
+
+#define PSW_DEFAULT_SPC 0x00000000
+#define PSW_DEFAULT_OTA_CAPABILITY_MAP (OTA_ALLOW_OTAPA | OTA_ENABLE_OTA | OTA_ENABLE_SPASM | OTA_ENABLE_SPC_CHANGE)
+
+#define PSW_DEFAULT_HOME_SID 231
+#define PSW_DEFAULT_EX 0
+#define PSW_DEFAULT_FIRSTCHP 333
+#define PSW_DEFAULT_DTX KAL_FALSE
+#define PSW_DEFAULT_FCCA 333
+#define PSW_DEFAULT_LCCA 313
+#define PSW_DEFAULT_FCCB 334
+#define PSW_DEFAULT_LCCB 354
+
+#define PSW_DEFAULT_NXTREG 0
+#define PSW_DEFAULT_SID 0
+#define PSW_DEFAULT_LOCAID 0
+#define PSW_DEFAULT_PUREG KAL_TRUE
+
+#define PSW_DEFAULT_CPCA 283
+#define PSW_DEFAULT_CSCA 691
+#define PSW_DEFAULT_CPCB 384
+#define PSW_DEFAULT_CSCB 777
+#define PSW_DEFAULT_AUTH_CAPABILITY_MAP 0
+#define PSW_DEFAULT_UIM_ID 0
+
+
+#define PSW_DEFAULT_ROAM_SETTING 0x0F
+#define PSW_DEFAULT_ROAM_SETTING_SPRINT 0x0F /* change from 0x0D to 0x0F on request from LG/sprint */
+
+
+/*- - - - - - End of NAM Defaults - - - - - - - - - - - - - - - - - */
+
+/*- - - - - - - - - - */
+/* MS CAP DB Defaults */
+/*- - - - - - - - - - */
+#define PSW_DEFAULT_SR1_SUPPORTED KAL_TRUE
+#define PSW_DEFAULT_SR3_SUPPORTED KAL_FALSE
+
+#define PSW_DEFAULT_RC_CLASS_1_SUPPORTED KAL_TRUE
+#define PSW_DEFAULT_RC_CLASS_2_SUPPORTED KAL_TRUE
+#define PSW_DEFAULT_RC_CLASS_3_SUPPORTED KAL_TRUE
+
+#define PSW_DEFAULT_UI_ENCRYPT_SUPPORTED UI_Encrypt_Disabled
+
+#define PSW_DEFAULT_ENHANCED_RC KAL_TRUE
+
+/* no mobile assist */
+#define PSW_DEFAULT_REV_FCH_GATING_REQ KAL_TRUE
+#define PSW_DEFAULT_STS_SUPPORTED KAL_FALSE
+#define PSW_DEFAULT_THREE_XC_CH_SUPPORTED KAL_FALSE
+#define PSW_DEFAULT_WLL_SUPPORTED KAL_FALSE
+
+/* no bitmap included */
+#define PSW_DEFAULT_SO_BITMAP_IND SO_0_BITS
+#define PSW_DEFAULT_TIERED_SERVICES KAL_FALSE
+
+#define PSW_DEFAULT_QPCH_SUPPORTED KAL_TRUE
+#define PSW_DEFAULT_SLOTTED_TIMER_SUPPORTED KAL_TRUE
+#define PSW_DEFAULT_CHS_SUPPORTED KAL_FALSE
+#define PSW_DEFAULT_GATING_RATE_SET GATING_RATE_SET_00
+#define PSW_DEFAULT_EXT_CAP_INCLUDED KAL_FALSE
+#define PSW_DEFAULT_MABO_SUPPORTED KAL_FALSE
+#define PSW_DEFAULT_SDB_SUPPORTED KAL_FALSE
+#define PSW_DEFAULT_RLP_CAP_BLOP_LEN 0
+#define PSW_DEFAULT_RLP_CAP_BLOP_MAX_NAK_ROUNDS_FWD 5
+#define PSW_DEFAULT_RLP_CAP_BLOP_MAX_NAK_ROUNDS_REV 5
+#define PSW_DEFAULT_OTD_SUPPORTED KAL_FALSE
+#define PSW_DEFAULT_FCH_SUPPORTED KAL_TRUE
+#define PSW_DEFAULT_FCH_FRAME_SIZE FCH_FS_20MS
+
+/* (1)1x advance feature is required by operator
+ * (2)FOR_RC_11/REV_RC_8 is only used for 1x advance
+ */
+#define PSW_DEFAULT_FWD_FCH_LEN 4
+#define PSW_DEFAULT_FWD_FCH_RC_MAP (FOR_RC_1 | FOR_RC_2 | FOR_RC_3 | FOR_RC_4 | FOR_RC_5 | FOR_RC_11)
+#define PSW_DEFAULT_REV_FCH_LEN 3
+#define PSW_DEFAULT_REV_FCH_RC_MAP (REV_RC_1 | REV_RC_2 | REV_RC_3 | REV_RC_4 |REV_RC_8)
+
+#define PSW_DEFAULT_DCCH_SUPPORTED KAL_FALSE
+#define PSW_DEFAULT_DCCH_FRAME_SIZE DCCH_FS_20MS
+#define PSW_DEFAULT_FWD_DCCH_LEN 3
+#define PSW_DEFAULT_FWD_DCCH_RC_MAP 0
+#define PSW_DEFAULT_REV_DCCH_LEN 2
+#define PSW_DEFAULT_REV_DCCH_RC_MAP REV_RC_INVALID
+
+#define PSW_DEFAULT_FWD_SCH_SUPPORTED KAL_TRUE
+#define PSW_DEFAULT_REV_SCH_SUPPORTED KAL_TRUE
+
+/* 1x advance feature is not required by SCH */
+#define PSW_DEFAULT_FWD_SCH_LEN 3
+#define PSW_DEFAULT_FWD_SCH_RC_MAP (FOR_RC_3 | FOR_RC_4 | FOR_RC_5)
+#define PSW_DEFAULT_FWD_SCH_NUM 1
+
+#define PSW_DEFAULT_FWD_TURBO_SUPPORTED_SCH1 KAL_TRUE
+#define PSW_DEFAULT_FWD_TURBO_SUPPORTED_SCH2 KAL_FALSE
+#define PSW_DEFAULT_FWD_MAX_TURBO_BLOCK_SIZE 4
+#define PSW_DEFAULT_FWD_CONV_SUPPORTED_SCH1 KAL_TRUE
+#define PSW_DEFAULT_FWD_CONV_SUPPORTED_SCH2 KAL_FALSE
+#define PSW_DEFAULT_FWD_MAX_CONV_BLOCK_SIZE 4
+
+/* 1x advance feature is not required by SCH */
+#define PSW_DEFAULT_REV_SCH_LEN 2
+#define PSW_DEFAULT_REV_SCH_RC_MAP (REV_RC_3 | REV_RC_4 )
+#define PSW_DEFAULT_REV_SCH_NUM 1
+
+#define PSW_DEFAULT_REV_TURBO_SUPPORTED_SCH1 KAL_TRUE
+#define PSW_DEFAULT_REV_TURBO_SUPPORTED_SCH2 KAL_FALSE
+#define PSW_DEFAULT_REV_MAX_TURBO_BLOCK_SIZE 4
+#define PSW_DEFAULT_REV_CONV_SUPPORTED_SCH1 KAL_TRUE
+#define PSW_DEFAULT_REV_CONV_SUPPORTED_SCH2 KAL_FALSE
+#define PSW_DEFAULT_REV_MAX_CONV_BLOCK_SIZE 4
+
+#define PSW_DEFAULT_NON_OCTET_ALIGNED_DATA KAL_FALSE
+#define PSW_DEFAULT_OCTET_ALIGNED_DATA KAL_FALSE
+#define PSW_DEFAULT_REV_SCH_DURATION_UNIT 4 /* 100 ms */
+#define PSW_DEFAULT_REV_SCH_DURATION 0x01FF /* infinite */
+
+/* Information record for Extended Multiplex Option */
+#define PSW_DEFAULT_FWD_FCH_MO_SUPPORT (MUX_OPTION_0x1 | MUX_OPTION_0x2)
+#define PSW_DEFAULT_REV_FCH_MO_SUPPORT (MUX_OPTION_0x1 | MUX_OPTION_0x2)
+#define PSW_DEFAULT_FWD_DCCH_MO_SUPPORT 0
+#define PSW_DEFAULT_REV_DCCH_MO_SUPPORT 0
+#define PSW_DEFAULT_FWD_SCH_HIGHEST_RS1_MO FOR_SCH_0x921_MUX_OPTION
+#define PSW_DEFAULT_FWD_SCH_HIGHEST_RS2_MO FOR_SCH_0x912_MUX_OPTION
+#define PSW_DEFAULT_REV_SCH_HIGHEST_RS1_MO FOR_SCH_0x921_MUX_OPTION
+#define PSW_DEFAULT_REV_SCH_HIGHEST_RS2_MO FOR_SCH_0x912_MUX_OPTION
+
+/* Information record for Geo-location codes */
+#define PSW_DEFAULT_GEO_LOC_INCL KAL_TRUE
+
+#if defined(SYS_OPTION_GPS_VASCO)
+ #define PSW_DEFAULT_GEO_LOC_TYPE GL_AFLT_AND_GPS
+ #define PSW_DEFAULT_LOC_GPS_ACQ_CAP 3
+#elif ((defined SYS_OPTION_GPS_EXTERNAL) || (SYS_OPTION_GPS_HW ==SYS_GPS_LOCAL_INTERNAL))
+ #define PSW_DEFAULT_GEO_LOC_TYPE GL_AFLT_AND_GPS
+ #define PSW_DEFAULT_LOC_GPS_ACQ_CAP 1
+#else
+ #define PSW_DEFAULT_GEO_LOC_TYPE GL_AFLT
+ #define PSW_DEFAULT_LOC_GPS_ACQ_CAP 0
+#endif
+
+/* Encryption Mode Supported */
+#define PSW_DEFAULT_ENCRYPT_MODE_SUPPORTED (Basic_Encrypt_Supported)
+
+/* Operating Modes, (OP_MODEp) settings */
+#define OP_MODE0 0x80 /* IS-95B CDMA Band Class 1 and */
+ /* CDMA Band CLASS 4 */
+#define OP_MODE1 0x40 /* IS-95B CDMA Band Class 0 */
+#define OP_MODE2 0x20 /* IS-95B analog mode */
+#define OP_MODE3 0x10 /* IS-91 wide analog mode */
+#define OP_MODE4 0x08 /* IS-91 narrow analog mode */
+
+/* Mobile Station Operation Mode */
+#define PSW_DEFAULT_OP_MODE ( OP_MODE0 | OP_MODE1 )
+
+#define PSW_DEFAULT_LOC_PILOT_PH_CAP 4 /* Sixteenth Chip Meas Cap */
+#define PSW_DEFAULT_LOC_CALC_CAP 0
+#define PSW_DEFAULT_LOC_TCP_CAP KAL_TRUE
+#define PSW_DEFAULT_LOC_MS_ORIG_CAP KAL_TRUE
+
+/* DCCH Only Ping Timeout 15 second */
+#define PSW_DEFAULT_DCCH_ONLY_PING_PERIOD 15000 /* MS resolution */
+#define PSW_DEFAULT_DATA_READY_TO_SEND KAL_TRUE /* DRS */
+#define PSW_DEFAULT_CHANNEL_INDICATOR CH_IND_FCH
+#define PSW_DEFAULT_WLL_INCL KAL_FALSE /* Not wireless local loop */
+
+/* PDCH params */
+#ifdef KDDI_EXTENSIONS
+#define PSW_DEFAULT_PDCH_CHM_SUPPORTED KAL_FALSE
+#define PSW_DEFAULT_FWD_PDCH_SUPPORTED KAL_FALSE
+#define PSW_DEFAULT_PDCH_ACK_DELAY KAL_FALSE
+#else
+#define PSW_DEFAULT_PDCH_CHM_SUPPORTED KAL_TRUE
+#define PSW_DEFAULT_FWD_PDCH_SUPPORTED KAL_TRUE
+#define PSW_DEFAULT_PDCH_ACK_DELAY KAL_TRUE
+#endif
+#define PSW_DEFAULT_EXTENDED_CHAN_INDICATOR 3
+#define PSW_DEFAULT_PDCH_NUM_ARQ_CHAN 0
+#define PSW_DEFAULT_FWD_PDCH_RC_MAP 0x7
+#define PSW_DEFAULT_CH_CONFIG_SUP_MAP ( FPDCH_EXTCHIND_1 | FPDCH_EXTCHIND_2 | \
+ FPDCH_EXTCHIND_3 | FPDCH_EXTCHIND_4 | \
+ FPDCH_EXTCHIND_5 | FPDCH_EXTCHIND_6 )
+
+#define PSW_DEFAULT_SDB_DESIRED_ONLY KAL_FALSE
+#define PSW_DEFAULT_INFO_REC_CAPABILITY_MAP (CP_ACCESS_ENTRY_HO_ENABLED | \
+ CP_ACCESS_PROBE_HO_ENABLED | CP_MAHHO_ENABLED)
+/*- - - - - - End of MS CAP DB Defaults - - - - - - - - - - - - - - */
+
+
+/* Zone based registration list */
+typedef struct
+{
+ kal_uint16 regZone; /* registration zone */
+ kal_uint16 sid; /* system id */
+ kal_uint16 nid; /* network id */
+ kal_uint16 ageTimer; /* age limit in seconds */
+ kal_bool timerEnabled;
+ kal_uint8 block; /* PCS block or serving system */
+ SysCdmaBandT bandClass;
+} ZoneList;
+
+
+/* System/Network registration list */
+typedef struct
+{
+ kal_uint16 sid; /* system id */
+ kal_uint16 nid; /* network id */
+ kal_uint16 ageTimer; /* age limit in seconds */
+ kal_bool timerEnabled;
+ kal_uint8 block; /* PCS block or serving system */
+ SysCdmaBandT bandClass;
+} SidNidList;
+
+
+/*****************************************************************************
+ * IMSI structure
+ ****************************************************************************/
+
+ /* An IMSI is <= 15 digits in length. It is composed of: */
+ /* mcc (3 digits) + nmsi (up to 12 digits) */
+
+ /* An NMSI is <= 12 digits in length. Is is composed of: */
+ /* imsi_11_12 (2 digits) + imsi_s (10 digits) */
+ /* In turn, imsi_s is composed of 2 parts: */
+ /* imsi_s1 (upper 3 digits) + imsi_s2 (lower 7 digits) */
+
+ /* If the imsi is Class 0 then imsiClass must be set to */
+ /* CP_IMSI_CLASS_0 and addrNum is set to 8 */
+ /* If the imsi is Class 1 then imsiClass must be set to */
+ /* CP_IMSI_CLASS_1 and addrNum is set to # of digits in NMSI - 4 */
+
+typedef struct
+{
+ kal_uint16 mcc; /* Mobile Country Code */
+ kal_uint8 imsi_11_12; /* 7 bit IMSI_11_12 */
+ kal_uint16 imsi_s2; /* 10 bit IMSI_S2 value */
+ kal_uint32 imsi_s1; /* 24 bit IMSI_S1 value */
+ kal_uint8 imsiClass; /* CP_IMSI_CLASS_0/1 indication */
+ kal_uint8 addrNum; /* number of digits in NMSI - 4 */
+} IMSIType;
+
+
+/*****************************************************************************
+ * IS-95 NAM structure
+ ****************************************************************************/
+typedef enum
+{
+ NAM_1 = 1,
+ NAM_2
+} NamNumber;
+
+typedef struct
+{
+ /* Permanent Mobile Station Indicators */
+ kal_uint32 ESN; /* Place Holder for ESN, Read only */
+ kal_uint8 SCMp[NAM_BANDS_SUPPORTED];
+ /* Station Class Mark for each band */
+ kal_uint8 SLOT_CYCLE_INDEXp; /* slot cycle index */
+ kal_uint16 MOB_FIRM_REVp; /* mobile firmware revision */
+ kal_uint8 MOB_MODELp; /* Manufacturers model number */
+ kal_uint8 MOB_P_REVp[NAM_BANDS_SUPPORTED];
+ /* Protocol revision number for each band */
+
+ /* Semi-Permanent Mobile Station Indicators */
+ kal_bool ValidZoneEntry; /* indicates a valid ZONE_LIST entry */
+ ZoneList ZONE_LISTsp; /* zone based registration list */
+ kal_bool ValidSidNidEntry; /* indicates a valid SID_NID_LISTsp entry */
+ SidNidList SID_NID_LISTsp; /* System/Network registration list */
+ kal_int32 BASE_LAT_REGsp; /* latitude from base last registered on */
+ kal_int32 BASE_LONG_REGsp;/* longitude from base last registered on */
+ kal_uint16 REG_DIST_REGsp; /* registration distance from last base */
+ kal_uint8 LCKRSN_Psp; /* lock code reason */
+ kal_uint8 MAINTRSNsp; /* maintenance reason */
+ kal_bool DIGITAL_REGsp; /* previous registration on digtal system */
+
+ /* NAM indicators */
+ kal_uint8 PREF_BANDp; /* No longer used */
+ kal_uint8 RESERVED0; /* Previous location for preferred mode */
+ kal_uint8 PREF_BLOCK_BAND1p;/* No longer used */
+ kal_uint8 PREF_SERV_BAND0p; /* No longer used */
+
+ kal_uint8 SPCc; /* left retry count */
+ kal_uint32 RESERVED1[2]; /* Previous Location for A_Key */
+ kal_uint8 RESERVED2[7]; /* Place Holder for previous SSDA */
+ kal_uint8 RESERVED3[8]; /* Place Holder for previous SSDB */
+ kal_uint8 COUNTsp; /* Call History Parameter */
+ kal_uint8 ValidIMSImap; /* Refer to Bit Map text at top of file */
+ IMSIType IMSI_Mp; /* IMSI_M - min */
+ IMSIType IMSI_Tp; /* IMSI_T */
+ kal_uint8 ASSIGNING_TMSI_ZONE_LENsp;
+ kal_uint8 ASSIGNING_TMSI_ZONEsp[ CP_MAX_TMSI_ZONE_LEN ];
+ /* assigning tmsi zone */
+ kal_uint32 TMSI_CODEsp; /* tmsi code */
+ kal_uint32 TMSI_EXP_TIMEsp; /* tmsi expiration timer */
+ kal_uint16 SIDp[MAX_POSITIVE_SIDS]; /* home system ids stored in NAM */
+ kal_uint16 NIDp[MAX_POSITIVE_SIDS]; /* home network ids stored in NAM */
+ kal_uint16 NEG_SIDp[MAX_NEGATIVE_SIDS]; /* negative system ids stored in NAM */
+ kal_uint16 NEG_NIDp[MAX_NEGATIVE_SIDS]; /* negative network ids stored in NAM */
+ kal_uint8 MAX_SID_NID; /* Max sid/nid pairs that can be stored in NAM*/
+ kal_uint8 STORED_POS_SID_NID; /* No of Pos sid/nid pairs stored in NAM */
+ kal_uint8 STORED_NEG_SID_NID; /* No of Neg sid/nid pairs stored in NAM */
+ kal_uint8 ACCOLCp; /* access overload class */
+ kal_uint8 MobTermMap; /* receive mobile terminated calls */
+ kal_uint8 BCAST_ADDR_LENp; /* broadcast address length (0-not config.) */
+ kal_uint8 BCAST_ADDRp[ CP_BCAST_ADDRESS_MAX_SIZE];
+ /* broadcast address data */
+ kal_uint32 SPCp; /* Place holder for previous SPCp */
+ kal_uint8 OTA_Capability_Map; /* See Bit Map explanation at top of file*/
+ kal_uint8 MDN_NUM_DIGITS;
+ kal_uint8 Mdn[NAM_MAX_MDN_DIGITS]; /* MDN - Mobile directory number */
+
+ /* Analog support */
+ kal_uint16 HOME_SIDp; /* home sid for analog system support */
+ kal_uint8 EXp; /* extended address support for analog */
+ kal_uint16 FIRSTCHPp; /* first paging channel */
+ kal_uint8 DTXp; /* Analog DTX Option */
+ kal_uint16 FCCA, LCCA; /* Analog Custom Control Channel Set A */
+ kal_uint16 FCCB, LCCB; /* Custom Control Channel Set B */
+ kal_uint32 NXTREGsp;
+ kal_uint16 SIDsp;
+ kal_uint16 LOCAIDsp;
+ kal_bool PUREGsp;
+
+ kal_uint16 CPCA, CSCA; /* CDMA Primary (and Secondary) Channel A */
+ kal_uint16 CPCB, CSCB; /* CDMA Primary (and Secondary) Channel B */
+ kal_uint8 RESERVED5[125]; /* Previous Mobile IP parameters */
+ kal_uint8 Auth_Capability_Map; /* See Bit Map Explination at top of file */
+ kal_uint8 RESERVED6[89]; /* Previous IS801 Data Call parameters */
+ kal_uint8 SmsTlMaxRetry;
+ kal_uint32 UIM_ID;
+ kal_uint8 RoamingSetting; /* Only for Sprint */
+ kal_uint8 SystemSelect;
+ /* Following array reserved for future use. If new Nam parameter
+ * needed then decrement from array below. Total Nam size is always
+ * 560 bytes. */
+ kal_uint8 FUTURE_EXPAND_FIELDs[REMAINING_NAM_SIZE];
+
+ /* Checksum support */
+ kal_uint16 Checksum; /* checksum for checksum support */
+} PswIs95NamT;
+
+/*****************************/
+/* PswNam definitions end */
+/*****************************/
+
+
+/********************************/
+/* SecureData definitions start */
+/********************************/
+
+/* The goal is to use a EXE_SIZE_MSG_BUFF_3 when writing secure data
+ * to Dbm. Hence,
+ * sizeof(SecureDataStructT) + sizeof(DbmWriteMsgT) = EXE_SIZE_MSG_BUFF_3.
+ * sizeof(DbmWriteMsgT) = 14 bytes. EXE_SIZE_MSG_BUFF_3 = 448
+ * SecureDataStructT must be 434 bytes.
+ * MobileId_Spread_Structure = 33 bytes.
+ * Revision + Akey(1&2) + SSD(1&2) + SPC + SIP + AAA + HA + checksum = 112 bytes.
+ * SECURE_DATA_RESERVED_SIZE = 434 - 33 - 112 -> 289 bytes.
+ */
+#define SECURE_DATA_RESERVED_SIZE 289
+
+typedef struct
+{
+ kal_uint32 *SECURITY_LAYER_1;
+ kal_uint16 MOBILE_ID_2;
+ kal_uint32 *SECURITY_LAYER_2;
+ kal_uint16 MOBILE_ID_4;
+ kal_uint32 *SECURITY_LAYER_3;
+ kal_uint32 *SECURITY_LAYER_4;
+ kal_uint16 MOBILE_ID_1;
+ kal_uint32 *SECURITY_LAYER_5;
+ kal_uint16 MOBILE_ID_3;
+ kal_uint32 *SECURITY_LAYER_6;
+ kal_uint8 mobileIdType;
+} MobileId_Spread_Structure;
+
+typedef struct
+{
+ kal_uint16 Revision; /* Secure Data Revision ID */
+ kal_uint32 AKEY_NAM1[2]; /* Binary Authentication Key for CAVE */
+ kal_uint8 SSDA_NAM1[8]; /* Shared Secret Data 'A' */
+ kal_uint8 SSDB_NAM1[8]; /* Shared Secret Data 'B' */
+ kal_uint32 AKEY_NAM2[2]; /* Binary Authentication Key for CAVE */
+ kal_uint8 SSDA_NAM2[8]; /* Shared Secret Data 'A' */
+ kal_uint8 SSDB_NAM2[8]; /* Shared Secret Data 'B' */
+ kal_uint32 SPCp; /* Service Programming Code */
+ kal_uint8 FutureExpansion[SECURE_DATA_RESERVED_SIZE];
+ kal_uint16 checkSum;
+} SecureDataStructT;
+
+/********************************/
+/* SecureData definitions end */
+/********************************/
+
+
+/*****************************/
+/* MsCapDb definitions start */
+/*****************************/
+
+/* define set of frame sizes */
+typedef enum
+{
+ DCCH_FS_20MS = 1, /* 20 ms frame size only */
+ DCCH_FS_5MS = 2, /* 5 ms frame size only */
+ DCCH_FS_5MS_AND_20MS = 3 /* both 5 and 20 ms frame size */
+} DcchFrameSizeType;
+
+typedef enum
+{
+ FCH_FS_20MS = 0,
+ FCH_FS_5MS_AND_20MS = 1
+} FchFrameSizeType;
+
+/* define set of RC settings */
+
+typedef enum
+{
+ FOR_RC_1 = 0x100,
+ FOR_RC_2 = 0x80,
+ FOR_RC_3 = 0x40,
+ FOR_RC_4 = 0x20,
+ FOR_RC_5 = 0x10,
+ FOR_RC_6 = 0x8,
+ FOR_RC_7 = 0x4,
+ FOR_RC_8 = 0x2,
+ FOR_RC_9 = 0x1,
+ FOR_RC_10 = 0x200,
+ FOR_RC_11 = 0x400,
+ FOR_RC_12 = 0x800,
+ FOR_RC_INVALID = 0
+} ForRcType;
+
+typedef enum
+{
+ REV_RC_1 = 0x20,
+ REV_RC_2 = 0x10,
+ REV_RC_3 = 0x8,
+ REV_RC_4 = 0x4,
+ REV_RC_5 = 0x2,
+ REV_RC_6 = 0x1,
+ REV_RC_7 = 0x40, /*CBP8 --- Added for backword compatibility with CBP7*/
+ REV_RC_8 = 0x80, /*CBP8 --- Added for backword compatibility with CBP7*/
+ REV_RC_INVALID = 0
+} RevRcType;
+
+
+/* define set of RC Preference settings */
+typedef enum
+{
+ RC_PREF_1 = 1,
+ RC_PREF_2 = 2,
+ RC_PREF_3 = 3,
+ RC_PREF_4 = 4,
+ RC_PREF_5 = 5,
+ RC_PREF_6 = 6,
+ RC_PREF_7 = 7,
+ RC_PREF_8 = 8,
+ RC_PREF_9 = 9,
+ RC_PREF_10 = 10,
+ RC_PREF_11 = 11,
+ RC_PREF_12 = 12
+} RcPrefType;
+
+
+
+/* PDCH Channel Config Types (ExtChInd) Support Map */
+typedef enum
+{
+ FPDCH_EXTCHIND_INVALID = 0,
+ FPDCH_EXTCHIND_1 = 0x20,
+ FPDCH_EXTCHIND_2 = 0x10,
+ FPDCH_EXTCHIND_3 = 0x8,
+ FPDCH_EXTCHIND_4 = 0x4,
+ FPDCH_EXTCHIND_5 = 0x2,
+ FPDCH_EXTCHIND_6 = 0x1
+} PDCHChCfgType;
+
+
+
+/* define set of Geo-location support */
+typedef enum
+{
+ GL_NO_SUPPORT = 0,
+ GL_AFLT = 1,
+ GL_AFLT_AND_GPS = 2,
+ GL_GPS = 3
+} GeoLocType;
+
+typedef enum
+{
+ GATING_RATE_SET_00 = 0x00, /* Gating rates 1 */
+ GATING_RATE_SET_01 = 0x01, /* Gating rates 1 and 1/2 */
+ GATING_RATE_SET_10 = 0x02, /* Gating rates 1, 1/2 and 1/4 */
+ GATING_RATE_SET_11 = 0x03 /* reserved */
+} GatingRateSetType;
+
+
+/* FOR SCH Multiplex options --------------------------------------- */
+typedef enum
+{
+ FOR_SCH_0x03_MUX_OPTION = 0x0001, /* For SCH 0x03 Mux options, bit, */
+ FOR_SCH_0x809_MUX_OPTION = 0x0002, /* For SCH 0x809 Mux options, bit, */
+ FOR_SCH_0x811_MUX_OPTION = 0x0004, /* For SCH 0x811 Mux options, bit, */
+ FOR_SCH_0x821_MUX_OPTION = 0x0008, /* For SCH 0x821 Mux options, bit, */
+ FOR_SCH_0x905_MUX_OPTION = 0x0010, /* For SCH 0x905 Mux options, bit, */
+ FOR_SCH_0x909_MUX_OPTION = 0x0020, /* For SCH 0x909 Mux options, bit, */
+ FOR_SCH_0x911_MUX_OPTION = 0x0040, /* For SCH 0x911 Mux options, bit, */
+ FOR_SCH_0x921_MUX_OPTION = 0x0080, /* For SCH 0x921 Mux options, bit, */
+
+ FOR_SCH_0x04_MUX_OPTION = 0x0100, /* For SCH 0x04 Mux options, bit, */
+ FOR_SCH_0x80a_MUX_OPTION = 0x0200, /* For SCH 0x80a Mux options, bit, */
+ FOR_SCH_0x812_MUX_OPTION = 0x0400, /* For SCH 0x812 Mux options, bit, */
+ FOR_SCH_0x822_MUX_OPTION = 0x0800, /* For SCH 0x822 Mux options, bit, */
+ FOR_SCH_0x906_MUX_OPTION = 0x1000, /* For SCH 0x906 Mux options, bit, */
+ FOR_SCH_0x90a_MUX_OPTION = 0x2000, /* For SCH 0x90a Mux options, bit, */
+ FOR_SCH_0x912_MUX_OPTION = 0x4000, /* For SCH 0x912 Mux options, bit, */
+ FOR_SCH_0x922_MUX_OPTION = 0x8000 /* For SCH 0x922 Mux options, bit, */
+} ForSchMuxOptions;
+
+
+/* REV SCH Multiplex options --------------------------------------- */
+typedef enum
+{
+ REV_SCH_0x03_MUX_OPTION = 0x0001, /* Rev SCH 0x03 Mux options, bit, */
+ REV_SCH_0x809_MUX_OPTION = 0x0002, /* Rev SCH 0x809 Mux options, bit, */
+ REV_SCH_0x811_MUX_OPTION = 0x0004, /* Rev SCH 0x811 Mux options, bit, */
+ REV_SCH_0x821_MUX_OPTION = 0x0008, /* Rev SCH 0x821 Mux options, bit, */
+ REV_SCH_0x905_MUX_OPTION = 0x0010, /* Rev SCH 0x905 Mux options, bit, */
+ REV_SCH_0x909_MUX_OPTION = 0x0020, /* Rev SCH 0x909 Mux options, bit, */
+ REV_SCH_0x911_MUX_OPTION = 0x0040, /* Rev SCH 0x911 Mux options, bit, */
+ REV_SCH_0x921_MUX_OPTION = 0x0080, /* Rev SCH 0x921 Mux options, bit, */
+
+ REV_SCH_0x04_MUX_OPTION = 0x0100, /* Rev SCH 0x04 Mux options, bit, */
+ REV_SCH_0x80a_MUX_OPTION = 0x0200, /* Rev SCH 0x80a Mux options, bit, */
+ REV_SCH_0x812_MUX_OPTION = 0x0400, /* Rev SCH 0x812 Mux options, bit, */
+ REV_SCH_0x822_MUX_OPTION = 0x0800, /* Rev SCH 0x822 Mux options, bit, */
+ REV_SCH_0x906_MUX_OPTION = 0x1000, /* Rev SCH 0x906 Mux options, bit, */
+ REV_SCH_0x90a_MUX_OPTION = 0x2000, /* Rev SCH 0x90a Mux options, bit, */
+ REV_SCH_0x912_MUX_OPTION = 0x4000, /* Rev SCH 0x912 Mux options, bit, */
+ REV_SCH_0x922_MUX_OPTION = 0x8000 /* Rev SCH 0x922 Mux options, bit, */
+} RevSchMuxOptions;
+
+typedef enum
+{
+ CP_ACCESS_ENTRY_HO_ENABLED = 0x01,
+ CP_ACCESS_PROBE_HO_ENABLED = 0x02,
+ CP_ANALOG_SEARCH_ENABLED = 0x04,
+ CP_HOPPING_BEACON_ENABLED = 0x08,
+ CP_MAHHO_ENABLED = 0x10,
+ CP_PUF_ENABLED = 0x20,
+ CP_ANALOG_553A_ENABLED = 0x40
+} InfoRecCapability;
+
+/* Multiplex options -------------------------------------- */
+typedef enum
+{
+ MUX_OPTION_0x1 = 0x1,
+ MUX_OPTION_0x2 = 0x2,
+ MUX_OPTION_0x704 = 0x4,
+ MUX_OPTION_0xF00 = 0xF00
+} MuxOptionsTypes;
+
+typedef enum
+{
+ FOR_FCH,
+ REV_FCH,
+ FOR_DCCH,
+ REV_DCCH
+} TrafficChannelTypes;
+
+/* define set of bitmap indicator */
+typedef enum
+{
+ SO_0_BITS = 0,
+ SO_4_BITS = 1,
+ SO_8_BITS = 2,
+ SO_16_BITS = 3
+} ServOptBitmapInd;
+
+typedef enum
+{
+ UI_Encrypt_Disabled = 0,
+ UI_Encrypt_ORYX_Enabled = 1
+} UIEncryptSuppType;
+
+typedef enum
+{
+ Basic_Encrypt_Supported = 0,
+ Basic_And_Enhanced_Supported = 1
+} EncryptModeSuppType;
+
+typedef enum
+{
+ CH_IND_RESERVED = 0x00,
+ CH_IND_FCH = 0x01,
+ CH_IND_DCCH = 0x02,
+ CH_IND_FCH_AND_DCCH = 0x03
+} ChIndType;
+
+typedef struct
+{
+ FchFrameSizeType fchFrameSize; /* FCH_FRAME_SIZE, FCH frame Size capability indicator */
+ kal_uint8 forFchLen; /* FOR_FCH_LEN, Fwd Fundemental Channel Config Info. Len */
+/* HAC-061400 ForRcType */
+ kal_uint16 forFchRcMap; /* FOR_FCH_RC_MAP Forward Fundemental Radio Config. Info.*/
+ kal_uint8 revFchLen; /* REV_FCH_LEN, Rev Fundemental Channel Config Info. Len */
+ RevRcType revFchRcMap; /* REV_FCH_RC_MAP Reverse Fundemental Radio Config. Info.*/
+} FchTypeSpecificFieldsType;
+
+
+typedef struct
+{
+ DcchFrameSizeType dcchFrameSize; /* DCCH_FRAME_SIZE, DCCH frame Size capability indicator */
+ kal_uint8 forDcchLen; /* FOR_DCCH_LEN, Fwd Dedicated Ctrl Ch. Config Info. Len */
+/* HAC-061400 ForRcType */
+ kal_uint16 forDcchRcMap; /* FOR_DCCH_RC_MAP Fwd Dedicated Ch. Radio Config. Info. */
+ kal_uint8 revDcchLen; /* REV_DCCH_LEN, Rev Dedicated Ctrl Ch. Config Info. Len */
+ RevRcType revDcchRcMap; /* REV_DCCH_RC_MAP Rev Dedicated Ch. Radio Config. Info. */
+} DcchTypeSpecificFieldsType;
+
+
+typedef struct
+{
+ kal_uint8 forSchLen; /* FOR_SCH_LEN, Fwd Supplemental length in 3 bit uints */
+ kal_uint16 forSchRcMap; /* FOR_SCH_RC_MAP, Fwd Supplemental Channel Radio Config
+ Information. */
+ kal_uint8 forSchNum; /* FOR_SCH_NUM, Number of Forward Supplemental Cannel */
+ kal_bool forTurboSupportedSch1; /* FOR_TURBO_SUPPORTED, 1 Ch Fwd Turbo Coding Supported */
+ kal_bool forTurboSupportedSch2; /* FOR_TURBO_SUPPORTED, 2 Ch Fwd Turbo Coding Supported */
+ kal_uint8 forMaxTurboBlockSize; /* FOR_MAX_TURBO_BLOCK_SIZE, Fwd Max Turbo Block Size */
+ kal_bool forConvSupportedSch1; /* FOR_CONV_SUPPORTED, 1 Ch Fwd convolutional Coding Supported */
+ kal_bool forConvSupportedSch2; /* FOR_CONV_SUPPORTED, 2 Ch Fwd convolutional Coding Supported */
+ kal_uint8 forMaxConvBlockSize; /* FOR_MAX_CONV_BLOCK_SIZE, Fwd Max Conv. Code Block Size*/
+} ForSchTypeSpecificFieldsType;
+
+
+typedef struct
+{
+ kal_uint8 revSchLen; /* REV_SCH_LEN, Rev Supplemental length in 3 bit uints */
+ kal_uint8 revSchRcMap; /* REV_SCH_RC_MAP Rev Dedicated Ch. Radio Config. Info. */
+ kal_uint8 revSchNum; /* REV_SCH_NUM, Number of Reverse Supplemental Cannel */
+ kal_bool revTurboSupportedSch1; /* REV_TURBO_SUPPORTED, 1 Ch Rev Turbo Coding Supported */
+ kal_bool revTurboSupportedSch2; /* REV_TURBO_SUPPORTED, 2 Ch Rev Turbo Coding Supported */
+ kal_uint8 revMaxTurboBlockSize; /* REV_MAX_TURBO_BLOCK_SIZE, Rev Max Turbo Block Size */
+ kal_bool revConvSupportedSch1; /* REV_CONV_SUPPORTED, 1 Ch Rev convolutional Coding Supported */
+ kal_bool revConvSupportedSch2; /* REV_CONV_SUPPORTED, 2 Ch Rev convolutional Coding Supported */
+ kal_uint8 revMaxConvBlockSize; /* REV_MAX_CONV_BLOCK_SIZE, Rev Max Conv. Code Block Size*/
+} RevSchTypeSpecificFieldsType;
+
+typedef struct
+{
+ kal_uint8 maxMsNakRoundsFwd; /* MAX_MS_NAK_ROUNDS_FWD Maximum number of RLP_NAK rounds
+ supported by the MS on the forward traffic channel */
+ kal_uint8 maxMsNakRoundsRev; /* MAX_MS_NAK_ROUNDS_REV Maximum number of RLP_NAK rounds
+ supported by the MS on the reverse traffic channel */
+} RlpCapBlopLenType;
+
+
+/* define structure for MS capability database */
+typedef struct
+{
+ kal_bool sr1Supported;
+ kal_bool sr3Supported;
+ kal_bool rcClass1Supported;
+ kal_bool rcClass2Supported;
+ kal_bool rcClass3Supported;
+ UIEncryptSuppType UIEncryptionSupported;
+ kal_bool enhancedRc;
+ kal_uint16 Reserved1;
+ kal_bool revFchGatingReq;
+ kal_bool stsSupported;
+ kal_bool threeXCchSupported;
+ kal_bool wllSupported;
+ ServOptBitmapInd soBitmapInd;
+ kal_uint8 Reserved;
+ kal_bool tieredServices;
+ /*------- Information record for Capability Informtion --------------------------------------------*/
+ kal_bool qpchSupported; /* QPCH, Quick Paging Channel Supported */
+ kal_bool slottedTimerSupported; /* SLOTTED_TIMER, Slotted Timer Supported */
+ kal_bool chsSupported; /* CHS_SUPPORTED, Control Hold Mode indicator */
+ GatingRateSetType gatingRateSet; /* GATING_RATE_SET, set of supported Reverse Pilot
+ gating rates. */
+ kal_bool extCapIncluded; /* EXT_CAP_INCLUDED, Extended Capabilities Included
+ Indicator */
+ kal_bool maboSupported; /* MABO, Mobile Assisted Burst Operation Capability
+ indicator */
+ kal_bool sdbSupported; /* SDB, Short Data Burst supported Indicator */
+ kal_uint8 rlpCapBlopLen; /* Field NOT USED. Delete during next MS Cap Cleanup */
+ RlpCapBlopLenType rlpCapBlop; /* RLP_CAP_BLOP, RLP capability information block of bits*/
+
+ /*------- Information record for Channel Configuration Capability Information ---------------------*/
+ kal_bool otdSupported; /* OTD_SUPPORTED, OTD Supported Indicator */
+
+ kal_bool fchSupported; /* FCH_SUPPORTED, Fundemental Ch. Supported Indicator */
+
+ /* FCH Type-specific fields, FCH Capability Infornmation */
+ FchTypeSpecificFieldsType fchTypeSpecificFields;
+
+ kal_bool dcchSupported; /* DCCH_SUPPORTED, Dedicated Ctrl Ch supported Indicator */
+
+ /* DCCH Type-specific fields, DCCH Capability Information*/
+ DcchTypeSpecificFieldsType dcchTypeSpecificFields;
+
+ kal_bool forSchSupported; /* FOR_SCH_SUPPORTED, Fwd Supplemental Ch. Supported */
+
+ /* FOR_SCH, Type-specific fields, Forward Supplemental
+ Channel Configuration Capability Information */
+ ForSchTypeSpecificFieldsType forSchTypeSpecificFields;
+
+ kal_bool revSchSupported; /* REV_SCH_SUPPORTED, Reverse Supplemental Ch. Supported */
+
+ /* REV_SCH Type-specific fields, Reverse Supplemental
+ Channel Configuration Capability Information */
+ RevSchTypeSpecificFieldsType revSchTypeSpecificFields;
+
+ /* Field to hardcode rev sch duration unit (9 bit), if */
+ /* set to 0x0000 rc will do the calculations itself */
+ kal_uint8 revSchDurationUnit;
+ kal_uint16 revSchDuration;
+
+ /* NONOCTET_ALIGNED_DATA Non-octet Aligned Data Block
+ supported indicator. */
+ kal_bool nonOctetAlignedData;
+
+ kal_bool octetAlignedData; /* OCTET_ALIGNED_DATA, Octet Aligned Data Block supported
+ indicator */
+ /*------- Information record for Extended Multiplex Option ----------------------------------------*/
+
+ kal_uint8 forFchMoSupport; /* For FCH Mux option supported */
+
+ kal_uint8 revFchMoSupport; /* Rev FCH Mux option supported */
+
+ kal_uint8 forDcchMoSupport; /* MO_FOR_DCCH, Forward Dedicated Control Channel
+ Multiplex Options */
+ kal_uint8 revDcchMoSupport; /* MO_REV_DCCH, Reverse Dedicated Control Channel
+ Multiplex Options */
+ ForSchMuxOptions forSchHighestRs1Mo; /* The highest Rate Set 1 Forward Supplemental
+ Channel Multiplex option supported */
+ ForSchMuxOptions forSchHighestRs2Mo; /* The highest Rate Set 2 Forward Supplemental
+ Channel Multiplex option supported */
+ RevSchMuxOptions revSchHighestRs1Mo; /* The highest Rate Set 1 Reverse Supplemental
+ Channel Multiplex option supported */
+ RevSchMuxOptions revSchHighestRs2Mo; /* The highest Rate Set 2 Reverse Supplemental
+ Channel Multiplex option supported */
+ /*------- Information record for Geo-location codes -----------------------------------------------*/
+
+ GeoLocType geoLocType; /* GEO_LOC, Geo-location Codes */
+ kal_uint8 Reserved2; /* Previous bandSubclassInfo_5 location */
+ kal_uint8 Reserved3; /* Previous bandSubclassInfo_2_10 location */
+
+ EncryptModeSuppType encryptModeSupported; /* ENCRYPTION_SUPPORTED (Basic/Basic&Enhanced) */
+
+ kal_uint8 opMode; /* Mobile Stations Operation Mode */
+
+ /* IS801 Location Services Capabilities */
+ kal_uint8 locPilotPhCap; /* Mapping in IS801-1 Table 3.2.4.2-2 */
+ kal_uint16 locGPSAcqCap; /* Mapping in IS801-1 Table 3.2.4.2-3 */
+ kal_uint16 locLocCalcCap; /* Mapping in IS801-1 Table 3.2.4.2-4 */
+ kal_bool locTCPCap; /* Location Services TCP capability */
+ kal_bool locMSOrigCap; /* Location Services MS Originated capability */
+
+ /* DCCH Only Ping Time Out */
+ kal_uint16 dcchOnlyPingPeriod;
+
+ kal_bool dataReadyToSend; /* DRS */
+ ChIndType channelIndicator; /* CH_IND */
+ kal_bool pdchChmSupported;
+ kal_uint8 extendedChannelIndicator; /* EXT_CH_IND */
+ kal_bool wllIncl; /* WLL_INCL */
+ kal_uint8 wllDeviceType; /* WLL_DEVICE_TYPE */
+ kal_bool forPdchSupported; /* FOR_PDCH_SUPPORTED */
+ kal_bool ackDelay; /* PDCH: ACK_DELAY */
+ kal_uint8 numArqChan; /* PDCH: NUM_ARQ_CHAN */
+ kal_uint8 forPdchRcMap; /* PDCH: FOR_PDCH_RC_MAP */
+ kal_uint8 chConfigSupMap; /* PDCH: CH_CONFIG_SUP_MAP */
+ kal_bool sdbDesiredOnly; /* Short data burst desired only */
+
+ kal_uint8 InfoRecCapabilityMap;
+ kal_bool geoLocIncl;
+ kal_uint16 checksum;
+
+} MsCapDb;
+
+/*****************************/
+/* MsCapDb definitions end */
+/*****************************/
+
+
+/*****************************/
+/* DbmData definitions start */
+/*****************************/
+
+/* TEMPORARY UNTIL DBM CHANGES MADE FOR MAX_MRU_RECORDS=10 */
+#define MAX_MRU_RECORDS 10
+
+
+/*------------------------------------------------------------------------
+* Nam Data Structures
+* The name of the structure is misleading. It should support everything
+* IS95, T53 and AMPS.
+*
+* This structure should exactly match the structure "IS95Nam" in the
+* protocol engine header file "namdata.h"
+*------------------------------------------------------------------------*/
+
+typedef struct
+{
+ SysCdmaBandT CdmaBand[MAX_MRU_RECORDS];
+ kal_uint16 FreqChan[MAX_MRU_RECORDS];
+} PswDbmDataT;
+
+/*****************************/
+/* DbmData definitions end */
+/*****************************/
+
+
+/*****************************/
+/* PswMisc definitions start */
+/*****************************/
+
+/* PSW MISC parameters reported by DBM */
+typedef enum
+{
+ PSW_SIM_QPCH_FEATURE = 0,
+ PSW_DYNAMIC_QPCH_FEATURE,
+ PSW_QPCH_CCI_FEATURE,
+ PSW_RESERVED_5_FEATURE,
+ PSW_RESERVED_4_FEATURE,
+ PSW_RESERVED_3_FEATURE,
+ PSW_RESERVED_2_FEATURE,
+ PSW_RESERVED_1_FEATURE
+} PswFeatureBitNumT;
+
+
+typedef enum
+{
+ PHY_1X_DIVERSITY_ENABLED = 0,
+ PHY_RESERVED_3_FEATURE = 1,
+ PHY_RESERVED_2_FEATURE = 2,
+ PHY_RESERVED_1_FEATURE = 3,
+ PHY_1X_IC_CONTROL = 4, /* IC Control occupies 4 bits */
+} PhyFeatureBitNumT;
+
+
+typedef enum
+{
+ PSW_SO73_ENABLED = 0,
+ PSW_SO73_WBENABLED,
+ PSW_VOICE_SERVICE_ENABLED,
+ PSW_DDTM_ENABLED,
+ PSW_PRL_ENABLED,
+ PSW_RESERVED_3_ENABLED,
+ PSW_RESERVED_2_ENABLED,
+ PSW_RESERVED_1_ENABLED
+} PswEnableFlagsBitNumT;
+
+#if defined (__TC10__) && defined (__TC10_IPC_CDMA_SUPPORT__)
+typedef struct
+{
+ kal_bool defineRcForAllSo;
+ kal_uint8 forRc;
+ kal_uint8 revRc;
+} PswDefineRcT;
+#endif
+
+typedef struct
+{
+ kal_uint8 StartupActiveNam;
+ kal_uint8 PswFeatureFlags;
+ kal_uint8 PhyFeatureFlags;
+ kal_uint8 PswMiscEnableFlags;
+ kal_uint8 pendingReg;
+ kal_uint16 PrefHomeMOSO;
+ kal_uint16 PrefHomeMTSO;
+ kal_uint16 PrefRoamMOSO;
+ kal_bool IS683NamLock;
+ kal_uint8 DfsEcIoThresh;
+ kal_uint16 qpchPilotEcIoThreshLow;
+ kal_uint16 qpchPilotEcIoThreshHigh;
+ kal_uint8 reserved_0;
+#if defined (__TC10__) && defined (__TC10_IPC_CDMA_SUPPORT__)
+ PswDefineRcT defineRc;
+#endif
+ kal_uint16 checksum;
+} PswMiscT;
+
+#ifdef MTK_CBP_ENCRYPT_VOICE
+#define KMC_PUBLIC_KEY_LEN 48/* KMC public key length by byte = 48 */
+
+typedef struct
+{
+ kal_uint8 KMCKeyVersion;/* KMC key version */
+ kal_uint8 KMCPublicKey[KMC_PUBLIC_KEY_LEN];/* KMC public key */
+ kal_uint8 reserved_0;
+ kal_uint16 checksum;
+} PswDbmCryptDataT;
+#endif
+
+typedef struct
+{
+ kal_uint8 mobileIdType;
+ kal_uint64 value;
+} PswMobileIDT;
+
+/*****************************/
+/* PswMisc definitions end */
+/*****************************/
+
+
+#endif /* _PSW_NVRAM_H_ */
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/pswairmsg.h b/mcu/interface/protocol/as_c2k/1xrtt/pswairmsg.h
new file mode 100644
index 0000000..63e5b89
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/pswairmsg.h
@@ -0,0 +1,657 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+#ifndef _PSWAIRMSG_H_
+
+#define _PSWAIRMSG_H_ 1
+
+/*****************************************************************************
+ * Includes
+ ****************************************************************************/
+#include "psw_nvram.h"
+
+typedef enum
+{
+ /* define the page message types */
+ CP_SPY_QPCH_PI_MESSAGE =0, /* MSG id only used to display QPCH PI parameters in Overhead Signaling Spy window */
+ CP_SYSTEM_PARS_MESSAGE =1,
+ CP_ACCESS_PARS_MESSAGE =2,
+ CP_NEIGHBOR_LIST_MESSAGE =3,
+ CP_CDMA_CHANNEL_LIST =4,
+
+ /* The following two messages are obsolete in 95B */
+ CP_SLOTTED_PAGE =5,
+ CP_PAGE_MESSAGE =6,
+
+ CP_ORDER_MESSAGE =7,
+ CP_CHANNEL_ASSIGN_MESSAGE =8,
+ CP_DATA_BURST_MESSAGE =9,
+ CP_AUTH_CHALL_MESSAGE =10,
+ CP_SSD_UPDATE_MESSAGE =11,
+ CP_FEATURE_NOTIFICATION_MESSAGE =12,
+ CP_EXT_SYSTEM_PARS_MESSAGE =13,
+ CP_EXT_NEIGHBOR_LIST_MESSAGE =14,
+ CP_STATUS_REQUEST_MESSAGE =15,
+ CP_SERVICE_REDIRECT_MESSAGE =16,
+ CP_GENERAL_PAGE_MESSAGE =17,
+ CP_GLOBAL_SERVICE_REDIRECT_MESSAGE =18,
+ CP_TMSI_ASSIGNMENT_MESSAGE =19,
+ CP_PACA_MESSAGE =20,
+ CP_EXT_CHANNEL_ASSIGN_MESSAGE =21,
+ CP_GEN_NEIGHBOR_LIST_MESSAGE =22,
+
+ /* new message types for IS-2000 Rev.0 */
+ CP_USER_ZONE_ID_MESSAGE =23,
+ CP_PRI_NGHBR_LST_MESSAGE =24,
+
+ CP_EXT_GLOB_SERV_REDIR_MESSAGE =26,
+ CP_EXT_CDMA_CHAN_LST_MESSAGE =27,
+ CP_USER_ZONE_REJECT_MESSAGE =28,
+
+/* #ifdef IS2000_REV_A */
+ /* new message types for IS-2000 Rev.A */
+ CP_ANSI_41_SYS_PARS_MESSAGE =29,
+ CP_MC_RR_PARS_MESSAGE =30,
+ CP_ANSI_41_RAND_MESSAGE =31,
+ CP_ENH_ACCESS_PARS_MESSAGE =32,
+ CP_UNIV_NGHBR_LST_MESSAGE =33,
+ CP_SECURITY_MODE_COMMAND_MESSAGE =34,
+ CP_UNIV_PAGE_MESSAGE_1 =35,
+ CP_UNIV_PAGE_MESSAGE_2 =36,
+ CP_UNIV_PAGE_MESSAGE_3 =37,
+ CP_UNIV_PAGE_MESSAGE_4 =38,
+ CP_AUTH_REQ_MESSAGE =39,
+ CP_MEID_EXT_CHANNEL_ASSIGN_MESSAGE =46,
+
+#ifdef MTK_DEV_C2K_IRAT
+ CP_ALTERNATIVE_TECH_INFO_MESSAGE =47,
+#endif /* MTK_DEV_C2K_IRAT */
+
+/* #else
+ #define CP_MAX_VALID_PAGE_MESSAGE 28
+#endif */
+ CP_CSCH_GENERAL_EXTENSION_MESSAGE =63 /* supported (only Radio Config Parms record used for now) */
+
+} PchMessageTypeE;
+
+typedef enum
+{
+ /* Access Channel Message types */
+ CP_ACH_REGISTRATION =1,
+ CP_ACH_ORDER =2,
+ CP_ACH_DATA_BURST =3,
+ CP_ACH_ORIGINATION =4,
+ CP_ACH_PAGE_RESPONSE =5,
+ CP_ACH_AUTH_CHALL =6,
+ CP_ACH_STATUS_RESPONSE =7,
+ CP_ACH_TMSI_ASSIGNMENT_COMP =8,
+ CP_ACH_PACA_CANCEL =9,
+ CP_ACH_EXT_STATUS_RESPONSE =10,
+ CP_ACH_RECONNECT =15,
+ CP_ACH_LAST_MESSAGE =16
+}AchMessageTypeE;
+
+typedef enum
+{
+ CP_FTC_NO_MESSAGE,
+ CP_FTC_ORDER_MESSAGE,
+ CP_FTC_AUTHENTICATION_CHALLENGE_MESSAGE,
+ CP_FTC_ALERT_WITH_INFO_MESSAGE,
+ CP_FTC_DATA_BURST_MESSAGE,
+ CP_FTC_HANDOFF_DIRECTION_MESSAGE,
+ CP_FTC_ANALOG_HANDOFF_DIRECTION_MESSAGE,
+ CP_FTC_IN_TRAFFIC_SYSTEM_PARAMETERS_MESSAGE,
+ CP_FTC_NEIGHBOR_LIST_UPDATE_MESSAGE,
+ CP_FTC_SEND_BURST_DTMF_MESSAGE,
+ CP_FTC_POWER_CONTROL_PARAMETERS_MESSAGE,
+ CP_FTC_RETRIEVE_PARAMETERS_MESSAGE,
+ CP_FTC_SET_PARAMETERS_MESSAGE,
+ CP_FTC_SSD_UPDATE_MESSAGE,
+ CP_FTC_FLASH_WITH_INFORMATION_MESSAGE,
+ CP_FTC_MOBILE_STATION_REGISTERED_MESSAGE,
+ CP_FTC_STATUS_REQUEST_MESSAGE,
+ CP_FTC_EXTENDED_HANDOFF_DIRECTION_MESSAGE,
+ CP_FTC_SERVICE_REQUEST_MESSAGE,
+ CP_FTC_SERVICE_RESPONSE_MESSAGE,
+ CP_FTC_SERVICE_CONNECT_MESSAGE,
+ CP_FTC_SERVICE_OPTION_CONTROL_MESSAGE,
+ CP_FTC_TMSI_ASSIGNMENT_MESSAGE,
+ CP_FTC_SERVICE_REDIRECTION_MESSAGE,
+ CP_FTC_SUPPLEMENTAL_CHANNEL_ASSIGNMENT_MESSAGE,
+ CP_FTC_POWER_CONTROL_MESSAGE,
+ CP_FTC_EXTENDED_NEIGHBOR_LIST_UPDATE_MESSAGE,
+ CP_FTC_CANDIDATE_FREQUENCY_SEARCH_REQUEST_MESSAGE,
+ CP_FTC_CANDIDATE_FREQUENCY_SEARCH_CONTROL_MESSAGE,
+ CP_FTC_POWER_UP_FUNCTION_MESSAGE,
+ CP_FTC_POWER_UP_FUNCTION_COMPLETION_MESSAGE,
+ CP_FTC_GENERAL_HANDOFF_DIRECTION_MESSAGE = 31,
+ CP_FTC_RESOURCE_ALLOCATION_MESSAGE = 32,
+ CP_FTC_EXTENDED_RELEASE_MESSAGE = 33,
+ CP_FTC_UNIVERSAL_HANDOFF_DIRECTION_MESSAGE = 34,
+ CP_FTC_EXTENDED_SUPPLEMENTAL_CHANNEL_ASSIGNMENT_MESSAGE = 35,
+ CP_FTC_MOBILE_ASSISTED_BURST_OPERATION_PARAMETERS_MESSAGE = 36,
+ CP_FTC_USER_ZONE_REJECT_MESSAGE = 37,
+ CP_FTC_USER_ZONE_UPDATE_MESSAGE = 38,
+ CP_FTC_EXTENDED_ALERT_WITH_INFORMATION_MESSAGE = 40,
+ CP_FTC_EXTENDED_FLASH_WITH_INFORMATION_MESSAGE =42,
+ CP_FTC_RATE_CHANGE_MESSAGE = 51,
+ CP_FTC_MEID_UNIVERSAL_HANDOFF_DIRECTION_MESSAGE = 53,
+ CP_FTC_RADIO_CONFIG_PARAM_MESSAGE = 54,
+ CP_FTC_MAX_MESSAGES,
+ CP_FTC_GENERAL_EXTENSION_MESSAGE = 255 /* special case */
+} FTCMessageType;
+
+typedef enum
+{
+ CP_RTC_ORDER_MESSAGE = 1,
+ CP_RTC_AUTHENTICATION_CHALLENGE_RESPONSE_MESSAGE,
+ CP_RTC_FLASH_WITH_INFORMATION_MESSAGE,
+ CP_RTC_DATA_BURST_MESSAGE,
+ CP_RTC_PILOT_STRENGTH_MEASUREMENT_MESSAGE,
+ CP_RTC_POWER_MEASUREMENT_REPORT_MESSAGE,
+ CP_RTC_SEND_BURST_DTMF_MESSAGE,
+ CP_RTC_STATUS_MESSAGE,
+ CP_RTC_ORIGINATION_CONTINUATION_MESSAGE,
+ CP_RTC_HANDOFF_COMPLETION_MESSAGE,
+ CP_RTC_PARAMETERS_RESPONSE_MESSAGE,
+ CP_RTC_SERVICE_REQUEST_MESSAGE,
+ CP_RTC_SERVICE_RESPONSE_MESSAGE,
+ CP_RTC_SERVICE_CONNECT_COMPLETION_MESSAGE,
+ CP_RTC_SERVICE_OPTION_CONTROL_MESSAGE,
+ CP_RTC_STATUS_RESPONSE_MESSAGE,
+ CP_RTC_TMSI_ASSIGNMENT_COMPLETION_MESSAGE,
+ CP_RTC_SUPPLEMENTAL_CHANNEL_REQUEST_MESSAGE,
+ CP_RTC_CANDIDATE_FREQUENCY_SEARCH_RESPONSE_MESSAGE,
+ CP_RTC_CANDIDATE_FREQUENCY_SEARCH_REPORT_MESSAGE,
+ CP_RTC_PERIODIC_PILOT_STRENGTH_MEASUREMENT_MESSAGE,
+ CP_RTC_OUTER_LOOP_REPORT_MESSAGE,
+ CP_RTC_RESOURCE_REQUEST_MESSAGE = 23,
+ CP_RTC_EXTENDED_RELEASE_RESPONSE_MESSAGE = 24,
+ CP_RTC_EXTENDED_PILOT_STRENGTH_MEASUREMENT_MESSAGE=28,
+ CP_RTC_EXTENDED_HANDOFF_COMPLETION_MESSAGE = 29,
+ CP_RTC_RESOURCE_RELEASE_REQUEST_MESSAGE = 30,
+ CP_RTC_MAX_MESSAGES
+} RTCMessageType;
+
+
+/*****************************************************************************
+ * Defines
+ ****************************************************************************/
+#define CP_SYSTIME_SIZE 5 /* # bytes to hold 36 bits */
+#define ENG_SUPERFRAME_COUNT 4 /* 4 frames to a superframe */
+typedef kal_uint32 WbiosSystime; /* holds system time - 32 bits */
+
+/****************************************************************************
+ * Sync Channel message structures
+ ****************************************************************************/
+
+/* define set of allowable page channel data rates */
+typedef enum
+{
+ PRAT_9600=0,
+ PRAT_4800
+} PageChRate;
+
+/* define set of allowable BCCH data rates */
+typedef enum
+{
+ SR1_BRAT_4800 = 0,
+ SR1_BRAT_9600 =1,
+ SR1_BRAT_19200 =2,
+ SR1_BRAT_REVERSED =3
+} BcchRate;
+
+/* define set of allowable SR1 TD Modes */
+typedef enum
+{
+ SR1_OTD = 0,
+ SR1_STS =1,
+ SR1_TD_NOT_USED
+} Sr1TdModes;
+
+/* define set of allowable SR1 TD Power Level */
+typedef enum
+{
+ SR1_9DB = 0,
+ SR1_6DB = 1,
+ SR1_3DB = 2,
+ SR1_SAME_DB =3,
+ SR1_TD_POWER_NOT_USED
+} Sr1TdPowerLevel;
+
+/* Position of the Primary SR3 Pilot */
+typedef enum
+{
+ SR3_LOWEST_FREQ = 0,
+ SR3_CENTER_FREQ = 1,
+ SR3_HIGHEST_FREQ = 2,
+ SR3_RESERVED = 3
+} Sr3PilotPosition;
+
+/* Pilot Transmission Power */
+typedef enum
+{
+ SR3_0_DB = 0,
+ SR3_1_DB = 1,
+ SR3_2_DB = 2,
+ SR3_3_DB = 3,
+ SR3_4_DB = 4,
+ SR3_5_DB = 5,
+ SR3_6_DB = 6,
+ SR3_7_DB = 7
+} Sr3PilotPower;
+
+/* Sync message contents */
+typedef struct
+{
+ kal_uint8 length; /* Message Length */
+ kal_uint8 msgType; /* Message Type */
+ kal_uint8 pRev; /* Protocol Revision Level */
+ kal_uint8 minPRev; /* Minimum protocol revision required by MS */
+ kal_uint16 sid; /* System ID */
+ kal_uint16 nid; /* Network ID */
+ kal_uint16 pilotPN; /* Pilot PN sequence offset index */
+ kal_uint8 lcState[6]; /* Long code state - 42 bits */
+ kal_uint8 sysTime[CP_SYSTIME_SIZE]; /* System time - 36 bits */
+ kal_uint8 lpSec; /* Number of leap seconds */
+ kal_uint8 ltmOff; /* Offset of local time from system time */
+ kal_bool daylt; /* Daylight savings time indicator */
+ PageChRate prat; /* Paging channel data rate */
+ kal_uint16 cdmaFreq; /* Paging channel */
+ kal_uint16 extCdmaFreq; /* For RC2 or greater or supports QPCH */
+ kal_bool sr1BcchSupported; /* Contains BCCH information */
+ kal_bool sr1NonTdFreqIncl;
+ kal_uint16 sr1CdmaFreqNonTd;
+ BcchRate sr1BratNonTd;
+ kal_uint8 sr1CratNonTd;
+ kal_uint8 sr1BcchCodeChanNonTd;
+ kal_bool sr1TdIncl;
+ kal_uint16 sr1CdmaFreqTd;
+ BcchRate sr1BratTd;
+ kal_uint8 sr1CratTd;
+ kal_uint8 sr1BcchCodeChanTd;
+ Sr1TdModes sr1TdMode;
+ Sr1TdPowerLevel sr1TdPowerLevel;
+ /* SR3 Parameters */
+ kal_bool sr3Incl;
+ kal_bool sr3CenterFreqIncl;
+ kal_uint16 sr3CenterFreq;
+ BcchRate sr3Brat;
+ kal_uint8 sr3BcchCodeChan;
+ Sr3PilotPosition sr3PrimaryPilot;
+ Sr3PilotPower sr3PilotPower1;
+ Sr3PilotPower sr3PilotPower2;
+/* BCY 11/14/00 */
+ kal_bool dsIncl;
+ kal_uint32 dsBlob;
+} SyncMessage;
+
+/* Sync message structure for engine */
+typedef struct
+{
+ kal_uint16 startFrame; /* first frame message was received in */
+ kal_uint16 endFrame; /* last frame of message */
+ SyncMessage msg; /* message contents */
+} SyncChannelMessage;
+
+
+
+/* Traffic channel message transmission control */
+typedef enum
+{
+ TX_OFF = 0,
+ TX_ON_IMMEDIATE,
+ TX_ON_CF_RULES
+} TXControl;
+
+
+#define TX_CONTINUOUS 0
+typedef enum
+{
+ RTC_PREAMBLE = 0,
+ RTC_SIGNALING_ONLY,
+ RTC_TRAFFIC
+} RTCTraffic;
+
+
+typedef enum
+{
+ CF_PERIODIC_SEARCH_OFF,
+ CF_PERIODIC_SEARCH_ENABLED,
+ CF_PERIODIC_SEARCH_DISABLED
+} CFPeriodicSearchCtl;
+
+
+typedef enum
+{
+ L2_INACTIVE,
+ L2_IDLE,
+ L2_FILL_MESSAGE,
+ L2_HOLD
+} L2_STATE;
+
+
+typedef enum
+{
+ L2_FTC_STOP_ST,
+ L2_FTC_INITIALIZATION_ST,
+ L2_FTC_IDLE_ST,
+ L2_FTC_HARD_HANDOFF_ST,
+ L2_FTC_CANDIDATE_FREQUENCY_ST,
+ L2_FTC_HARD_HANDOFF_W_RETURN_ON_FAILURE_ST,
+ L2_FTC_HARD_HANDOFF_INIT_ST,
+ L2_FTC_HARD_HANDOFF_W_RTN_ON_FAIL_INIT_ST,
+ L2_FTC_NST_TRFFIC_ST,
+ L2_FTC_MAX_STATES
+} L2FTCState;
+
+
+typedef enum
+{
+ L2_FTC_START_EV,
+ L2_FTC_STOP_EV,
+ L2_FTC_FRAME_EV,
+ L2_FTC_HARD_HANDOFF_EV,
+ L2_FTC_CANDIDATE_FREQUENCY_START_EV,
+ L2_FTC_CANDIDATE_FREQUENCY_END_EV,
+ /* SNR HHO 11/2/00 */
+ L2_FTC_HARD_HANDOFF_W_RETURN_ON_FAILURE_EV,
+ L2_FTC_HARD_HANDOFF_TIMER_EXPIRED_EV,
+ L2_FTC_MAX_EVENTS
+} L2FTCEvent;
+
+#define CP_MAX_MUX1_CATEGORY 14
+#define CP_MAX_MUX2_CATEGORY 26
+#define CP_MAX_MUX1_DCCH_CATEGORY 15
+#define CP_MAX_MUX2_DCCH_CATEGORY 27
+#define CP_MAX_SCH0_CATEGORY 7
+#define CP_MAX_BCCH_CATEGORY 5
+#define CP_MAX_FCCCH_CATEGORY 4
+
+#define F_PCH 0
+#define F_BCCH 1
+#define F_FCCCH 2
+
+#if defined (MTK_CBP)
+/* define the MIN half frames number to calculate the vaild half frames percent */
+#define MIN_HALF_FRAMES 200
+#endif
+#define PCH_FRAME_LENGTH 24 /* units: Bytes */
+
+/* Multiplex Option 1 Category definitions */
+typedef enum
+{ /*bps Rate D&B B&B Primary Signalling Secondary */
+ MUX1_CAT1 = 1, /*9600 1 Primary */
+ MUX1_CAT2 = 2, /*9600 1/2 D&B Primary Signalling */
+ MUX1_CAT3 = 3, /*9600 1/4 D&B Primary Signalling */
+ MUX1_CAT4 = 4, /*9600 1/8 D&B Primary Signalling */
+ MUX1_CAT5 = 5, /*9600 1 B&B Signalling */
+ MUX1_CAT6 = 6, /*4800 1/2 Primary */
+ MUX1_CAT7 = 7, /*2400 1/4 Primary */
+ MUX1_CAT8 = 8, /*1200 1/8 Primary */
+ MUX1_CAT9 = 9, /*9600 1 with bit errors */
+ MUX1_CAT10 = 10, /* Frame with insufficient frame quality */
+ MUX1_CAT11 = 11, /*9600 1/2 D&B Primary Secondary */
+ MUX1_CAT12 = 12, /*9600 1/4 D&B Primary Secondary */
+ MUX1_CAT13 = 13, /*9600 1/8 D&B Primary Secondary */
+ MUX1_CAT14 = 14, /*9600 1 B&B Secondary */
+ MUX1_CAT15 = 15 /*9600 1 DCCH NULL Frame */
+} Mux1Cat;
+
+/* Multiplex Option 2 Category definitions */
+typedef enum
+{ /*bps Rate D&B B&B Primary Signalling Secondary */
+ MUX2_CAT1 = 1, /*14400 1 Primary */
+ MUX2_CAT2 = 2, /*14400 1/2 D&B Primary Signalling */
+ MUX2_CAT3 = 3, /*14400 1/4 D&B Primary Signalling */
+ MUX2_CAT4 = 4, /*14400 1/8 D&B Primary Signalling */
+ MUX2_CAT5 = 5, /*14400 1 B&B Signalling */
+ MUX2_CAT6 = 6, /*14400 1/2 D&B Primary Secondary */
+ MUX2_CAT7 = 7, /*14400 1/4 D&B Primary Secondary */
+ MUX2_CAT8 = 8, /*14400 1/8 D&B Primary Secondary */
+ MUX2_CAT9 = 9, /*14400 1 B&B Secondary */
+ MUX2_CAT10 = 10, /*14400 1/8 D&B Primary Signalling Secondary */
+ MUX2_CAT11 = 11, /*7200 1 Primary */
+ MUX2_CAT12 = 12, /*7200 1/4 D&B Primary Signalling */
+ MUX2_CAT13 = 13, /*7200 1/8 D&B Primary Signalling */
+ MUX2_CAT14 = 14, /*7200 1 B&B Signalling */
+ MUX2_CAT15 = 15, /*7200 1/4 D&B Primary Secondary */
+ MUX2_CAT16 = 16, /*7200 1/8 D&B Primary Secondary */
+ MUX2_CAT17 = 17, /*7200 1 B&B Secondary */
+ MUX2_CAT18 = 18, /*7200 1/8 D&B Primary Signalling Secondary */
+ MUX2_CAT19 = 19, /*3600 1 Primary */
+ MUX2_CAT20 = 20, /*3600 1/8 D&B Primary Signalling */
+ MUX2_CAT21 = 21, /*3600 1 B&B Signalling */
+ MUX2_CAT22 = 22, /*3600 1/8 D&B Primary Secondary */
+ MUX2_CAT23 = 23, /*3600 1 B&B Secondary */
+ MUX2_CAT24 = 24, /*1800 1 Primary */
+ MUX2_CAT25 = 25, /*1800 1 B&B Secondary */
+ MUX2_CAT26 = 26, /* Frame with insufficient frame quality */
+ MUX2_CAT27 = 27 /*1800 1 DCCH NULL Frame */
+} Mux2Cat;
+
+#ifdef MTK_PLT_ON_PC_UT
+#define MAX_TMSI_ZONE_LEN 16
+#endif
+
+/*****************************************************************************
+ * Data Structures
+ ****************************************************************************/
+
+/* Sync Channel Frame Indication data */
+typedef struct
+{
+ kal_uint16 frameNum; /* count of received sync frames modulo 2048 */
+ kal_uint8 *data; /* pointer to 32 bits of frame data */
+} SyncFrame;
+
+/* Page Channel Frame Indication data */
+typedef struct
+{
+ WbiosSystime sysTime; /* system time frame received in */
+ kal_uint16 size; /* size of data in bits */
+ kal_uint8 *data; /* pointer to frame data, including SCI bits */
+} PageFrame;
+
+/* FCCCH Frame Indication data */
+typedef struct
+{
+ WbiosSystime sysTime; /* system time frame received in */
+ kal_uint16 size; /* size of data in bits */
+ kal_uint8 *data; /* pointer to frame data, including SI bits */
+} FCCCHFrame;
+
+/* BCCH Frame Indication data */
+typedef struct
+{
+ WbiosSystime sysTime; /* system time frame received in */
+ kal_uint16 size; /* size of data in bits */
+ kal_uint8 *data; /* pointer to frame data, including SCI bits */
+} BCCHFrame;
+
+/* Page Channel Message structure provides the packed buffer and relevant */
+/* system information. */
+typedef struct
+{
+ WbiosSystime somTime; /* time the start of msg received */
+ WbiosSystime sysTime; /* system time from last frame */
+ kal_bool ackReceived; /* set KAL_TRUE if a VALID ACK for an */
+ /* outstanding ack was received in */
+ /* this message, else set to KAL_FALSE */
+
+ kal_uint16 length; /* length of message */
+ kal_uint8 type; /* message type */
+ kal_uint8 *msgBuffer; /* pointer to packed message buffer*/
+ kal_uint16 sduOffset; /* offset to first bit in L3 SDU */
+ kal_uint8 PD_value; /* Protocol Discriminator*/
+ kal_uint8 ChanType; /* Channel Type: PCH, BCCH, FCCCH*/
+#if defined(MTK_CBP)
+ kal_bool duplicateMsg; /* Indicate it is a duplicate message or not,
+ * KAL_TRUE: ignore the messge body
+ */
+#endif
+ kal_uint16 geRecordsInc; /* if GEM, this will be updated with bitmap of records included */
+} PChMessage;
+
+
+/* BCY 08/28/00: !!! Need to change all PCHMessage to FcschMessage */
+typedef PChMessage FcschMessage;
+
+#ifdef MTK_PLT_ON_PC_UT
+/* LAC field of Page Channel Message, used for UT */
+typedef struct
+{
+ kal_uint8 msgType; /* 8 bits */
+ kal_uint8 msgLen; /* 8 bits */
+ kal_uint8 ackSeq; /* 3 bits */
+ kal_uint8 msgSeq; /* 3 bits */
+ kal_bool ackReq;
+ kal_bool validAck;
+ kal_uint8 addrType; /* 3 bits */
+ kal_uint8 addrLen; /* 4 bits */
+ kal_uint32 imsi_s1; /* 24 bits IMSI_S1 value */
+ kal_uint16 imsi_s2; /* 10 bits IMSI_S2 value */
+ kal_uint32 esn; /* 32 bits ESN value */
+ kal_uint8 imsiClass; /* 1 bits imsi class value */
+ kal_uint8 imsiClassType; /* 2 bits if class0, 1 bit if class1 */
+ kal_uint16 mcc; /* 10 bits for MCC value */
+ kal_uint8 imsi_11_12; /* 7 bits */
+ kal_uint8 imsiAddrNum; /* 3 bits */
+ kal_uint32 tmsiCode; /* 16 or 24 or 32 bits according to addrLen */
+ kal_uint8 bcastAddr[CP_BCAST_ADDRESS_MAX_SIZE]; /* length of array is addrLen */
+ /* following is only for paging record if any */
+ kal_bool validPagingRec;
+ kal_uint8 addrClass; /* 2 bits */
+ kal_uint8 addrSubclass; /* 2 bits */
+ kal_uint8 tmsiZoneLen; /* 4 bits */
+ kal_uint8 tmsiZone[MAX_TMSI_ZONE_LEN];
+ kal_uint8 burstType; /* 6 bits */
+ kal_uint8 burstAddrLen; /* 4 bits */
+ /* following is for CAM/ECAM/MEID ECAM */
+ kal_uint8 assignMode; /* 3 bits */
+} PCHMessageLACField;
+#endif
+
+typedef enum
+{
+ MUX_OPTION_INVALID = 0,
+ MUX_OPTION1 = 1,
+ MUX_OPTION2,
+ MUX_OPTION3,
+ MUX_OPTION4,
+ MUX_OPTION5,
+ MUX_OPTION6,
+ MUX_OPTION7,
+ MUX_OPTION8,
+ MUX_OPTION9,
+ MUX_OPTION10,
+ MUX_OPTION11,
+ MUX_OPTION12,
+ MUX_OPTION13,
+ MUX_OPTION14,
+ MUX_OPTION15,
+ MUX_OPTION16,
+ MUX_OPTION704 = 0x704,
+ MUX_OPTION809 = 0x809,
+ MUX_OPTION80A = 0x80A,
+ MUX_OPTION811 = 0x811,
+ MUX_OPTION812 = 0x812,
+ MUX_OPTION821 = 0x821,
+ MUX_OPTION822 = 0x822,
+ MUX_OPTION905 = 0x905,
+ MUX_OPTION906 = 0x906,
+ MUX_OPTION909 = 0x909,
+ MUX_OPTION90A = 0x90A,
+ MUX_OPTION911 = 0x911,
+ MUX_OPTION912 = 0x912,
+ MUX_OPTION921 = 0x921,
+ MUX_OPTION922 = 0x922,
+ MUX_OPTIONF00 = 0xF00, /* PDCH Mux Option */
+ MUX_OPTIONF20 = 0xF20
+
+} MultiplexOption;
+
+/* Traffic Channel Frame Indication data */
+typedef struct
+{
+ WbiosSystime sysTime; /* system time frame received in */
+ MultiplexOption muxOption; /* multiplex option used in deriving frame */
+ kal_uint8 category; /* frame category # - depends on mux_option */
+ kal_uint8 quality; /* good or bad frame based on category & mux */
+ kal_uint16 sigBits;
+ kal_uint8* data; /* ptr to traffic data (cat. determines len) */
+} TCFrame;
+
+typedef struct
+{
+ /* SNR ACK 1/30/01 */
+ kal_uint8 ackReq;
+ WbiosSystime sysTime;
+ kal_uint8 length;
+ kal_uint8 sduEncryptMode;
+ kal_uint8 encSeq;
+ kal_uint8 extMsgLength;
+ kal_uint8 type;
+ kal_uint8 encryption;
+ kal_uint16 pduStartIndex; /* Start of L3 PDU */
+ kal_uint16 geRecordsInc; /* if GEM, this will be updated with bitmap of records included */
+ kal_uint8* buffer; /* pointer to packed message buffer */
+} FTCMessage;
+
+#ifdef MTK_PLT_ON_PC_UT
+typedef struct
+{
+ kal_uint8 msgLen; /* 8 bits */
+ kal_uint8 msgType; /* 8 bits */
+ kal_uint8 ackSeq; /* 3 bits */
+ kal_uint8 msgSeq; /* 3 bits */
+ kal_uint8 ackReq; /* 1 bit */
+ kal_uint8 encryption; /* 2 bits */
+} FTCMessageLACField;
+#endif
+
+
+typedef struct
+{
+ kal_bool resetFpc;
+ kal_uint8 pwrRepThresh;
+ kal_uint8 pwrRepFrames;
+ kal_bool pwrThreshEnable;
+ kal_bool pwrPeriodEnable;
+ kal_uint8 pwrRepDelay;
+} PCNPMData;
+
+#endif /* _PSWAIRMSG_H_ */
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/pswapi.h b/mcu/interface/protocol/as_c2k/1xrtt/pswapi.h
new file mode 100644
index 0000000..38c02ce
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/pswapi.h
@@ -0,0 +1,5720 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1998-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+#ifndef _PSWAPI_H_
+#define _PSWAPI_H_
+/*****************************************************************************
+*
+* FILE NAME : pswapi.h
+*
+* DESCRIPTION : Protocol stack interface
+*
+* This include file provides system wide global type declarations and
+* constants
+*
+* HISTORY :
+* See Log at end of file
+*
+*****************************************************************************/
+
+/*----------------------------------------------------------------------------
+ Include Files
+----------------------------------------------------------------------------*/
+
+#include "pswnam.h"
+#include "pswcustom.h"
+#include "pswsmstune.h"
+#include "lmdapi.h"
+#include "syscommon.h"
+#include "c2k_defs.h"
+#include "cssapi.h"
+#ifdef MTK_DEV_C2K_IRAT
+#include "iratapi.h"
+#endif
+#include "module_msg_range.h"
+
+#ifdef MTK_PLT_ON_PC_UT
+#include "sbp_public_utility.h"
+#endif
+#include "psw_msgid.h"
+#include "hlpapi.h"
+#include "pswairmsg.h"
+#include "dspmapi.h"
+/*----------------------------------------------------------------------------
+ Global Defines and Macros
+----------------------------------------------------------------------------*/
+
+#define SYS_CP_MAX_AFLT_LIST_PILOTS_MEAS 16 /* max number of pilot pn's in neighbor list measured to PSW */
+
+#define PSW_MAILBOX_CMD EXE_MAILBOX_1_ID
+#define PSW_MAILBOX2_CMD EXE_MAILBOX_2_ID
+
+#define PSW_SYNC_DATA_SIZE 4
+
+#define PSW_MAX_SMS_SIZE 256
+#define PRM_MAX_SIZE 256
+
+#define PSW_NUM_MUX1_COUNTER_INDEX 14
+#define PSW_NUM_MUX2_COUNTER_INDEX 26
+
+/* Data service page acceptance bit map. */
+#define PSW_ASYNC_DATA_PAGE_ACCEPT 1
+#define PSW_FAX_PAGE_ACCEPT 2
+#define PSW_ASYNCDATA_AND_FAX_PAGE_ACCEPT 3
+
+/* Updated NAM Data Mask Bits Defined (whatChangedInNam) */
+#define SLOT_CYCLE_INDEX_UPDATED 0x0001
+#define SCM_UPDATED 0x0002
+#define MOB_TERM_HOME_UPDATED 0x0004
+#define MOB_TERM_FOR_SID_UPDATED 0x0008
+#define MOB_TERM_FOR_NID_UPDATED 0x0010
+#define AKEY_UPDATED 0x0040
+#define SYSTEMSELECT_UPDATED 0x0080
+
+#define PSW_AKEY_UINT64
+
+/* IMSI Character String - Input sizes */
+#define MAX_IMSI_S1_DIGITS 7
+#define MAX_IMSI_S2_DIGITS 3
+#define MAX_IMSI_S_DIGITS 10
+#define MAX_MNC_DIGITS 2
+#define MAX_MCC_DIGITS 3
+#define FIELD_TEST_DATA
+
+#define PSW_GPS7560_DATA_SIZE_MAX 760
+
+/*MS-Based*/
+#define NMEA_SV 16
+#define MAX_SVINVIEW 16
+
+ /* A21 Subscription Info record */
+#define PSW_A21_MS_SUBS_INFO_ELEMENT_ID 0x0B
+#define PSW_A21_MS_SUBS_INFO_ELEMENT_ID_WIDTH 8
+#define PSW_A21_MS_SUBS_INFO_ELEMENT_LEN_WIDTH 8
+#define PSW_A21_MS_SUBS_INFO_BC_REC_ID 0x00
+#define PSW_A21_MS_SUBS_INFO_BC_REC_ID_WIDTH 8
+#define PSW_A21_MS_SUBS_INFO_BC_REC_LEN_WIDTH 8
+#define PSW_A21_MS_SUBS_INFO_BC_ALL_INCLUDE_WIDTH 1
+#define PSW_A21_MS_SUBS_INFO_BC_CURRENT_SUBCLASS_WIDTH 7
+#define PSW_A21_MS_SUBS_INFO_BC_BANDCLASS_WIDTH 8
+#define PSW_A21_MS_SUBS_INFO_BC_RESERVED1_WIDTH 3
+#define PSW_A21_MS_SUBS_INFO_BC_SUBCLASS_LEN_WIDTH 4
+#define PSW_A21_MS_SUBS_INFO_BC_SUBCLASS_WIDTH 8
+#define PSW_A21_MS_SUBS_INFO_HEADER_LEN ((PSW_A21_MS_SUBS_INFO_ELEMENT_ID_WIDTH \
+ + PSW_A21_MS_SUBS_INFO_ELEMENT_LEN_WIDTH \
+ + PSW_A21_MS_SUBS_INFO_BC_REC_ID_WIDTH \
+ + PSW_A21_MS_SUBS_INFO_BC_REC_LEN_WIDTH \
+ + PSW_A21_MS_SUBS_INFO_BC_ALL_INCLUDE_WIDTH \
+ + PSW_A21_MS_SUBS_INFO_BC_CURRENT_SUBCLASS_WIDTH) / 8)
+
+#define PSW_A21_MS_SUBS_INFO_BANDCLASS_LEN ((PSW_A21_MS_SUBS_INFO_BC_BANDCLASS_WIDTH \
+ + PSW_A21_MS_SUBS_INFO_BC_ALL_INCLUDE_WIDTH \
+ + PSW_A21_MS_SUBS_INFO_BC_RESERVED1_WIDTH \
+ + PSW_A21_MS_SUBS_INFO_BC_SUBCLASS_LEN_WIDTH \
+ + PSW_A21_MS_SUBS_INFO_BC_SUBCLASS_WIDTH * 4) / 8)
+
+#define PSW_MAX_A21_MS_SUBS_INFO_LEN (PSW_A21_MS_SUBS_INFO_HEADER_LEN + PSW_A21_MS_SUBS_INFO_BANDCLASS_LEN * NAM_BANDS_SUPPORTED)
+#define MAX_SMS_ACK_PDU_LEN 255
+#define PSW_SMS_CBS_CHA_MAX 4
+
+#define CP_MAX_NUM_FOR_SCH 2
+#define CP_MAX_NUM_REV_SCH 2
+#define CP_MAX_ROUNDS_FWD 7
+#define CP_MAX_ROUNDS_REV 7
+/****************************************************************************
+ * Other Global declarations.
+ ***************************************************************************/
+extern kal_bool VoicePrivacy;
+
+/*----------------------------------------------------------------------------
+ Global Typedefs
+----------------------------------------------------------------------------*/
+typedef enum
+{
+ PE_ENG_ERR_BAD_PREF_BAND =1, /* pref band mismatch with op_mode */
+ PE_ENG_ERR_BAD_PREF_MODE, /* pref mode mismatch with op_mode */
+ PE_ENG_ERR_BAD_CUSTOM_OPMODE, /* bad opmode setting in custom.h */
+ PE_ENG_ERR_INCOMPATIBLE_BAND_MODE, /* incompatible band/mode combo */
+ PE_ENG_ERR_TUNE_RADIO, /* Can't tune Radio */
+ PE_ENG_ERR_POWER_AMP, /* Can't control Power Amplifier */
+ PE_ENG_ERR_OOSA_BAD_VALUE, /* Bad param value for OOSA select */
+ PE_ENG_ERR_IHO_BAD_VALUE, /* Bad parm for Idle HandOff */
+
+ /* Call Processing Request types */
+ PE_RQ_ENABLE =10, /* (+ NAM Parameter Data) */
+ PE_RQ_DISABLE, /* (no data) */
+ PE_RQ_ORIGINATE, /* (+ digits + service option) */
+ PE_RQ_ANSWER, /* (no data) */
+ PE_RQ_FLASH, /* (+ digits) */
+ PE_RQ_TERMINATE, /* (no data) */
+ PE_RQ_POWERDOWN, /* (no data) */
+ PE_RQ_BURST_DTMF, /* (+ digits) */
+ PE_RQ_CONT_DTMF_ON, /* (+ digit) */
+ PE_RQ_CONT_DTMF_OFF, /* (no data) */
+ PE_RQ_VP_ON, /* (no data) */
+ PE_RQ_VP_OFF, /* (no data) */
+ PE_RQ_DATA_BURST, /* (+ data burst data) */
+ PE_RQ_DATA_BURST_UNACK, /* (+ data burst data) */
+ PE_RQ_DATA_BURST_REJ, /* (no data) */
+ PE_RQ_WIDE_ANALOG, /* (no data) */
+
+ PE_RQ_AUTO_ANSWER =27, /* (no data) */
+ PE_RQ_PAGE_RESPONSE, /* (no data) */
+ PE_RQ_TERM_SVC_INACT, /* (no data) */
+ PE_RQ_AFLT_SEARCH, /* (+ aflt info) */
+ PE_RQ_LBS_1X_ACQ,
+ PE_RQ_NST_POWERUP,
+ PE_RQ_NST_EXIT,
+ PE_RQ_FULL_SYSTIME_GET,
+
+ /* Status indication for different WBIOS Reports */
+ PE_ENG_IND_ANTENNA_REQ_GRANTED =57,
+ PE_ENG_IND_ANTENNA_REQ_DENIED,
+ PE_ENG_IND_ANTENNA_RELEASED,
+ PE_ENG_IND_PILOT_ACQUIRE,
+ PE_ENG_IND_NO_PILOT,
+ PE_ENG_IND_SYNC_ACQUIRE_FAIL,
+ PE_ENG_IND_SYNC_TO_SYS_TIME,
+ PE_ENG_IND_SYNC_TO_SYS_TIME_FAIL,
+ PE_ENG_IND_PAGE_MONITOR,
+ PE_ENG_IND_PAGE_MONITOR_FAIL,
+ PE_ENG_IND_SEND_ACCESS_MSG_FAIL,
+ PE_ENG_IND_SEND_TC_MSG,
+ PE_ENG_IND_SEND_TC_MSG_FAIL,
+ PE_ENG_IND_TC_CONFIG,
+ PE_ENG_IND_LONG_CODE_CHANGED,
+ PE_ENG_IND_RADIO_TUNED,
+ PE_ENG_IND_RADIO_NOT_TUNED,
+ PE_ENG_IND_PILOT_LOST,
+ PE_ENG_IND_PUF_PROBE_SENT,
+ PE_ENG_IND_PUF_PROBE_SENT_MAX_PWR,
+ PE_ENG_IND_PUF_PROBE_NOT_SENT,
+ PE_ENG_IND_WAKEUP,
+ PE_ENG_IND_PILOT_SET,
+ PE_ENG_IND_IHO_COMPLETE,
+ PE_ENG_IND_OOSA_WAKEUP,
+ PE_ENG_IND_TC_TO_AVC_HO_START,
+ PE_ENG_IND_BCCH_MONITOR,
+ PE_ENG_IND_BCCH_MONITOR_FAIL,
+ PE_ENG_IND_FCCCH_MONITOR,
+ PE_ENG_IND_FCCCH_MONITOR_FAIL,
+ PE_ENG_IND_HO_FAIL,
+ PE_ENG_IND_FORCE_BAND_MODE,
+ PE_ENG_SYS_RESCAN_TIME,
+ PE_ENG_IND_DISABLE_E911MODE ,
+ PE_ENG_IND_RSCH_STARTED,
+
+ PE_ENG_IND_SYNC_CSS_FAIL =92,
+ PE_ENG_IND_SYNC_CSS_PASS,
+ PE_ENG_IND_FSCH_STARTED,
+ PE_ENG_IND_FSCH_TERMINATED,
+ PE_ENG_SYS_REDIRECTION_END_TIME ,
+ PE_ENG_IND_FORCE_ANALOG_MODE,
+ PE_ENG_IND_IDLE_HANDOFF_ACQUIRE, /* and from CPB6.0 Hans Christiansen 080404 */
+
+ /* Engine event notification request types for use in CALLBACK */
+ PE_ENG_NULL_EVENT =100, /* event complete indicator */
+ PE_ENG_IND_TIMEOUT, /* CP timer expiry indicator */
+ PE_ENG_SYNC_MESSAGE, /* SYNC message received ind. */
+ PE_ENG_PAGE_MESSAGE, /* PCH message received ind. */
+ PE_ENG_FTC_MESSAGE, /* FTC message received ind. */
+ PE_ENG_FCSCH_LOST, /* forword common control Ch lost ind. */
+ PE_ENG_IDLE_HANDOFF, /* Idle handoff request ind. */
+ PE_ENG_REGISTRATION_REQ, /* Registration access request */
+ PE_ENG_ACCESS_FAIL, /* Access attempt failed */
+ PE_ENG_FTC_N5M_FRAMES, /* Rcvd N5m consecutive good frames */
+ PE_ENG_ACCESS_PSIST_FAIL, /* PSIST calculation = 0 */
+ PE_ENG_FTC_LOST, /* FTC fade timer timed out */
+ PE_ENG_IND_ACK_RECEIVED, /* Ack rcvd for a transmitted msg */
+ PE_ENG_STRONGEST_PILOT_REPORT, /* Strongest pilot report */
+ PE_ENG_ACCESS_HO_CANDIDATE, /* Access Entry HO candidate found */
+ PE_ENG_ACCESS_HO_NO_CANDIDATE, /* no Access Entry HO candidate */
+ PE_ENG_ACCESS_HO_LIST, /* access ho list pilot report */
+ PE_ENG_ACCESS_PROBE_HO_FAIL, /* access probe ho fail ind. */
+ PE_ENG_ACCESS_HO_DENIED, /* access ho attempt not allowed */
+ PE_ENG_READ_ACCESS_OVERHEAD, /* selected overhead read after ho */
+ PE_ENG_ACCESS_PROBE_FAIL, /* access probe too big */
+ PE_ENG_IND_TC_ACK_FAILURE, /* TC transmission ACK failure */
+ PE_ENG_IND_ACCESS_PILOT_MSMT, /* pilot msmt report in access */
+ PE_ENG_START_SYS_RESELECT, /* Start Sys Reselect Procedures */
+
+ PE_ENG_ACCESS_MODE_SEARCH_FAIL =125, /* access mode determination fail */
+ PE_ENG_BCCH_MESSAGE, /* FCCCH message received ind. */
+ PE_ENG_FCCCH_MESSAGE, /* BCCH message received ind. */
+ PE_ENG_ACCESS_HANDOFF, /* Access handoff request ind. */
+
+ PE_ENG_IND_QPCH_PI_STATUS =129, /* PI Status */
+ PE_ENG_IND_SOFT_HO_COMPLETE,
+ PE_ENG_IND_HARD_HO_COMPLETE,
+ PE_ENG_IND_E911_ACCESS_FAIL =133, /* E911 Access Fail */
+ PE_ENG_IND_AFLT_RESULT_RCVD, /* AFLT Srch Rslt Rcvd from L1d */
+ PE_ENG_IND_OOSA_REQ,
+ PE_ENG_IND_MODEM_FAILURE,
+ PE_ENG_IND_MODEM_READY,
+ PE_ENG_IND_IRAT_RESET_1XCDMA,
+
+ PE_ENG_IND_CSS_OTASP_ACQ_REQ =150,
+ PE_ENG_IND_CSS_SELECT_RSP,
+ PE_ENG_IND_CSS_VALIDATE_RSP,
+ PE_ENG_IND_CSS_SYS_ACQ_REQ,
+
+ PE_ENG_IND_FREEZE =154,
+ PE_ENG_IND_THAW,
+ PE_ENG_IND_RESYNC,
+ PE_ENG_IND_RESYNC_DENIED,
+
+#ifdef MTK_DEV_C2K_IRAT
+ PE_ENG_IND_RSVAS_VIRTUAL_SUSPEND =160,/* inform to stop inter-freq meas if any*/
+ PE_ENG_IND_RSVAS_RESUME, /* inform to start inter-freq meas if any */
+ PE_ENG_IND_RSVAS_OCCUPY_IND, /* inform to start access procedure */
+ PE_ENG_IND_EXIT_PS_REQ, /* inform to exit 1x PS during C2L MPSR procedure */
+#endif
+
+
+ PE_ENG_AMPS_START_SCAN =200, /* Start AMPS channel scanner */
+ PE_ENG_AMPS_SCAN_COMPLETE =201, /* Channel scan complete */
+ PE_ENG_AMPS_OMT =203, /* OMT received */
+ PE_ENG_AMPS_FILLER =204, /* Control Filler received */
+ PE_ENG_AMPS_MSCM =205, /* MSCM received */
+ PE_ENG_AMPS_SMS_CNF =206, /* MSCM received */
+ PE_ENG_AMPS_AWI_SMS_CNF =207, /* MSCM received */
+ PE_ENG_NO_IDLE_HANDOFF =210, /* No Idle handoff request ind */
+ PE_ENG_IND_EPRL_ESPM_TIMEOUT =213,
+ PE_ENG_IND_MANUAL_AVOID_SYS =214,
+ PE_ENG_IND_L1D_DEACTIVE_CNF =215,
+ PE_ENG_UIM_AUTHR =230, /*UIM AUTH Result*/
+ PE_ENG_UIM_RANDBS =240,
+ PE_ENG_UIM_SSD_CONFIRM =241,
+#ifdef MTK_CBP_SYNC_OPTIMIZE
+ PE_ENG_IND_SIB8_TIMING_CNF =250,
+ PE_ENG_IND_NO_SIB8_TIMING =251
+#endif /* MTK_CBP_SYNC_OPTIMIZE */
+} PeRunEngineEvent;
+
+extern const RetrievableAndSettableParametersT parameterIDTable[];
+
+/* Protocol Revision definitions */
+#define P_REV_1 1 /* 95 (BC0), JSTD008(BC1) */
+#define P_REV_2 2 /* 95A (BC0, BC1) */
+#define P_REV_3 3 /* TSB74 (BC0, BC1), T53 V1 (BC3) */
+#define P_REV_4 4 /* 95B (BC0, BC1), T53 V2 (BC3) */
+#define P_REV_5 5 /* 95B (BC0, BC1), T53 V2 (BC3) */
+#define P_REV_6 6 /* 2000 REL 0 (no BCCH nor FCCCH support) */
+#define P_REV_7 7 /* 2000 REL A (with BCCH and FCCCH support) */
+#define P_REV_8 8 /* 2000 REL B */
+#define P_REV_9 9 /* 2000 REL C */
+#define P_REV_10 10 /* IS-2000-C with encryption */
+
+/* Call Processing State Machine States */
+typedef enum
+{
+ CP_DISABLED, /* CP Disabled */
+ CP_SYS_DETERMINATION, /* System Determination (6.6.1.1) */
+ CP_PILOT_ACQUISITION, /* Pilot Channel Acquisition (6.6.1.2) */
+ CP_SYNC_ACQUISITION, /* Sync Channel Acquisition (6.6.1.3) */
+ CP_TIMING_CHANGE, /* Timing Change (6.6.1.4) */
+ CP_IDLE, /* Idle (6.6.2) */
+ CP_UPDATE_OHD_INFO, /* Update Overhead Information (6.6.3.2) */
+ CP_PAGE_RESPONSE, /* Page Response (6.6.3.3) */
+ CP_ORD_MSG_RESP, /* Order/Message Response (6.6.3.4) */
+ CP_ORIGINATION, /* Origination Attempt (6.6.3.5) */
+ CP_REGISTRATION, /* Registration Attempt (6.6.3.6) */
+ CP_MSG_TRANSMISSION, /* Message Transmission (6.6.3.7) */
+ CP_TC_INIT, /* Traffic Channel Initialization (6.6.4.2) */
+ CP_TC_WAIT_ORDER, /* TC Waiting for Order (6.6.4.3.1) */
+ CP_TC_WAIT_ANSWER, /* TC Waiting for MS Answer (6.6.4.3.2) */
+ CP_TC_CONVERSATION, /* TC Conversation (6.6.4.4) */
+ CP_TC_RELEASE, /* TC Release (6.6.4.5) */
+ CP_NST, /* Non-Signaling Test Mode */
+ CP_FROZEN, /*Temp put here*/
+ CP_TC_FROZEN, /* TC Frozen */
+
+ CP_NUM_STATES
+} CPState;
+
+typedef enum
+{
+ /* Call Processing Event types reported in wbiosReportCPEvent */
+ EV_DISCONNECT = 1, /* CP leaves Conversation ST */
+ EV_PAGE_RECEIVED = 2, /* Page received on Control Ch */
+ EV_STOPALERT = 3, /* CP leaves Waiting For Answer ST*/
+ EV_ABBR_ALERT = 4, /* Abbreviated alert */
+ EV_NOSVC = 5, /* No Service */
+ EV_CDMA_INSVC = 6, /* In Service (Ready) */
+ EV_CPENABLED = 7, /* Call Processing Enabled */
+ EV_CPDISABLED = 8, /* Call Processing Disabled */
+ EV_PDOWNACK = 9, /* Power-Down Acknowledge */
+ EV_CONNANALOG = 10, /* CP enters Conv. ST on voice ch */
+ EV_CONNDIGITAL = 11, /* CP enters Conv. ST on TC ch */
+ EV_TC_ASSIGNED = 12, /* Traffic Channel assigned */
+ EV_ORIG_FAIL = 13, /* Orig. failed - Access failed */
+ EV_NDSS_ORIG_CANCEL = 14, /* Orig. attempt cancelled */
+ EV_INTERCEPT = 15, /* Orig. failed - Intercept */
+ EV_REORDER = 16, /* Orig. failed - Reorder */
+ EV_CC_RELEASE = 17, /* Control Channel - Release */
+ EV_CC_RELEASE_SO_REJ = 18, /* CC Release - Scv Option reject */
+ EV_DIALING_COMPLETE = 19, /* Dialing digits all sent */
+ EV_DIALING_CONTINUE = 20, /* Dialed digits continue on TC */
+ EV_MAINTENANCE = 21, /* Maintenance order received */
+ EV_VP_ON = 22, /* Voice privacy is enabled */
+ EV_VP_OFF = 23, /* Voice privacy is disabled */
+ EV_PSIST_FAIL = 24, /* PSIST calculation failed */
+ EV_TC_RELEASE_MS = 25, /* TC released normally by MS */
+ EV_TC_RELEASE_PDOWN = 26, /* TC released by MS Power Down */
+ EV_TC_RELEASE_DISABLE = 27, /* TC released by MS Disable */
+ EV_TC_RELEASE_BS = 28, /* TC released normally by BS */
+ EV_TC_RELEASE_SO_REJECT = 29, /* TC released by BS Serv Opt Rej */
+ EV_TC_RELEASE_TIMEOUT = 30, /* TC released - Timeout */
+ EV_TC_RELEASE_ACK_FAIL = 31, /* TC released - Ack failure */
+ EV_TC_RELEASE_FADE = 32, /* TC released - Fade */
+ EV_TC_RELEASE_LOCK = 33, /* TC released - due to bs lock */
+ EV_PAGE_FAIL = 34, /* Page Response Fail */
+ EV_RETRY_TIMER_ACTIVE = 35, /* Retry Delay Timer is active */
+ EV_RETRY_TIMER_INACTIVE = 36, /* Retry Delay Timer is inactive */
+ EV_AMPS_INSVC = 37, /* In AMPS Service (Ready) */
+ EV_PACKET_ACTIVE = 38, /* In Active Packet State */
+ EV_PACKET_RELEASED = 39, /* In Inactive Packet State */
+ EV_PACKET_DORMANT = 40, /* In Dormant Packet State */
+ EV_ORIG_REJECTED = 41, /* Origination Rejected */
+ EV_ORIG_ACCT = 42,
+
+ EV_ORIG_USER_CANCEL = 60,
+ EV_ORIG_ACCESS_FAIL = 61,
+ EV_ORIG_NO_SVC_FAIL = 62,
+ EV_ORIG_RETRY_ORDER = 63,
+ EV_SR_ENABLED = 64,
+ EV_SR_DISABLED = 65,
+ EV_ORIG_REQ_RECEIVED = 66,
+ EV_ORIG_REJECTED_SO_NOT_SUPPORTED = 67, /*VAL has requested an SO not supported by the device*/
+ EV_ORIG_BLOCKED_BY_IRAT = 68, /* CDMA not selected by RATC as pri CS service */
+ EV_SMS_CANCEL_BY_PWRDOWN = 69, /* SMS cancel by CP Power Down */
+ /* BEGIN AMPS ONLY */
+ EV_FLASHFAIL = 80, /* Flash request failed */
+ EV_ANALOG_PAGE_RECEIVED = 81, /* Page received on Control Ch */
+ EV_AMPS_IDLE = 82, /* AMPS service is acquired. */
+ /* END AMPS ONLY */
+
+ EV_ABBR_INTERCEPT = 83,
+ EV_ABBR_REORDER = 84,
+ EV_CONN_COMPLETE = 85,
+ EV_ENTER_OOSA = 86,
+ EV_FNM_RELEASE = 87, /* Feature Notification Msg RELEASE=1, ORDM ONLY */
+ EV_DBM_MSID_UPDATED = 88,
+ EV_BUSY_ORIG_FAIL = 89,
+ EV_LOCKED_ORIG_FAIL = 90,
+ EV_ORIG_FAIL_SO_REDIRECT = 91,
+ EV_TC_RELEASE_MT_CALL = 92,
+ EV_REG_SUCCESS = 93, /*MS register with network successfully*/
+#ifdef MTK_DEV_C2K_IRAT
+ EV_RSVAS_SUSPEND_COMPLETE = 94,
+#endif
+#if defined (__MCIF_SUPPORT__) && defined (__CO_ANTENNA__)
+ EV_1X_SLOTTED = 95,
+ EV_1X_NOT_SLOTTED = 96,
+#endif
+ EV_ACCESS_MAX_PROBE_FAIL = 97,
+
+} CallProcessingEventT;
+
+typedef enum
+{
+ CP_ACCESS_REASON_PAGE_RSP = 1,
+ CP_ACCESS_REASON_REGISTRATION,
+ CP_ACCESS_REASON_ORIGINATION,
+ CP_ACCESS_REASON_MSG_RESPONSE,
+ CP_ACCESS_REASON_DATABURST
+} AccessReasonT;
+
+typedef enum
+{
+ PSW_PILOT_ACQUIRE,
+ PSW_NO_PILOT,
+ PSW_SYNC_ACQUIRE_FAIL,
+ PSW_SYNC_TO_SYS_TIME,
+ PSW_SYNC_TO_SYS_TIME_FAIL,
+ PSW_PAGE_MONITOR,
+ PSW_PAGE_MONITOR_FAIL,
+ PSW_BCCH_MONITOR, /* BSR 3/12/04 */
+ PSW_BCCH_MONITOR_FAIL, /* BSR 3/12/04 */
+ PSW_FCCCH_MONITOR, /* BSR 3/16/04 */
+ PSW_FCCCH_MONITOR_FAIL, /* BSR 3/16/04 */
+ PSW_SEND_ACCESS_MSG_FAIL,
+ PSW_SEND_TC_MSG,
+ PSW_SEND_TC_MSG_FAIL,
+ PSW_TC_CONFIG,
+ PSW_LONG_CODE_CHANGED,
+ PSW_RADIO_TUNED,
+ PSW_RADIO_NOT_TUNED,
+ PSW_PILOT_LOST,
+ PSW_PUF_PROBE_SENT,
+ PSW_PUF_PROBE_SENT_MAX_PWR,
+ PSW_PUF_PROBE_NOT_SENT,
+ PSW_IND_WAKEUP,
+ PSW_IND_PILOT_SET,
+ PSW_SOFT_HO_COMPLETE,
+ PSW_OOSA_WAKEUP,
+ PSW_AMPS_HO_COMPLETE,
+ PSW_RSCH_STARTED,
+ PSW_FSCH_STARTED,
+ PSW_FSCH_TERMINATED,
+ PSW_RSR_UPDATED,
+ PSW_HARD_HO_COMPLETE,
+ PSW_IND_FREEZE,
+ PSW_IND_THAW,
+ PSW_IND_RESYNC,
+ PSW_IND_RESYNC_DENIED,
+ PSW_ANTENNA_REQ_GRANTED,
+ PSW_ANTENNA_REQ_DENIED,
+ PSW_ANTENNA_RELEASED,
+ PSW_MODEM_FAILURE,
+ PSW_MODEM_READY,
+ PSW_CLK_CAL_START,
+ PSW_CLK_CAL_DONE,
+ PSW_NUM_CMD_STATUS
+} PswCmdStatusT;
+
+typedef enum
+{
+ PSW_FRAME_CATAGORY_RS1_9600_FULL_PRI = 1,
+ PSW_FRAME_CATAGORY_RS1_9600_DIM_BURST_HALF_PRI_SIG = 2,
+ PSW_FRAME_CATAGORY_RS1_9600_DIM_BURST_QUARTER_PRI_SIG = 3,
+ PSW_FRAME_CATAGORY_RS1_9600_DIM_BURST_EIGHTH_PRI_SIG = 4,
+ PSW_FRAME_CATAGORY_RS1_9600_BLANK_BURST_SIG = 5,
+ PSW_FRAME_CATAGORY_RS1_4800_FULL_PRI = 6,
+ PSW_FRAME_CATAGORY_RS1_2400_FULL_PRI = 7,
+ PSW_FRAME_CATAGORY_RS1_1200_FULL_PRI = 8,
+ PSW_FRAME_CATAGORY_RS1_9600_FULL_PRI_BIT_ERRORS = 9,
+ PSW_FRAME_CATAGORY_RS1_INSUFFICIENT_FRAME_QUALITY = 10,
+ PSW_FRAME_CATAGORY_RS1_9600_DIM_BURST_HALF_PRI_SEC = 11,
+ PSW_FRAME_CATAGORY_RS1_9600_DIM_BURST_QUARTER_PRI_SEC = 12,
+ PSW_FRAME_CATAGORY_RS1_9600_DIM_BURST_EIGHTH_PRI_SEC = 13,
+ PSW_FRAME_CATAGORY_RS1_9600_BLANK_BURST_SEC = 14,
+ PSW_FRAME_CATAGORY_RS1_9600_DCCH_NULL_FRAME = 15,
+ PSW_FRAME_CATAGORY_RS2_14400_FULL_PRI = 1,
+ PSW_FRAME_CATAGORY_RS2_14400_DIM_BURST_HALF_PRI_SIG = 2,
+ PSW_FRAME_CATAGORY_RS2_14400_DIM_BURST_QUARTER_PRI_SIG = 3,
+ PSW_FRAME_CATAGORY_RS2_14400_DIM_BURST_EIGHTH_PRI_SIG = 4,
+ PSW_FRAME_CATAGORY_RS2_14400_BLANK_BURST_SIG = 5,
+ PSW_FRAME_CATAGORY_RS2_14400_DIM_BURST_HALF_PRI_SEC = 6,
+ PSW_FRAME_CATAGORY_RS2_14400_DIM_BURST_QUARTER_PRI_SEC = 7,
+ PSW_FRAME_CATAGORY_RS2_14400_DIM_BURST_EIGHTH_PRI_SEC = 8,
+ PSW_FRAME_CATAGORY_RS2_14400_BLANK_BURST_SEC = 9,
+ PSW_FRAME_CATAGORY_RS2_14400_DIM_BURST_EIGHTH_PRI_SEC_SIG = 10,
+ PSW_FRAME_CATAGORY_RS2_7200_FULL_PRI = 11,
+ PSW_FRAME_CATAGORY_RS2_7200_DIM_BURST_QUARTER_PRI_SIG = 12,
+ PSW_FRAME_CATAGORY_RS2_7200_DIM_BURST_EIGHTH_PRI_SIG = 13,
+ PSW_FRAME_CATAGORY_RS2_7200_BLANK_BURST_SIG = 14,
+ PSW_FRAME_CATAGORY_RS2_7200_DIM_BURST_QUARTER_PRI_SEC = 15,
+ PSW_FRAME_CATAGORY_RS2_7200_DIM_BURST_EIGHTH_PRI_SEC = 16,
+ PSW_FRAME_CATAGORY_RS2_7200_BLANK_BURST_SEC = 17,
+ PSW_FRAME_CATAGORY_RS2_7200_DIM_BURST_EIGHTH_PRI_SEC_SIG = 18,
+ PSW_FRAME_CATAGORY_RS2_3600_FULL_PRI = 19,
+ PSW_FRAME_CATAGORY_RS2_3600_DIM_BURST_EIGHTH_PRI_SIG = 20,
+ PSW_FRAME_CATAGORY_RS2_3600_BLANK_BURST_SIG = 21,
+ PSW_FRAME_CATAGORY_RS2_3600_DIM_BURST_EIGHTH_PRI_SEC = 22,
+ PSW_FRAME_CATAGORY_RS2_3600_BLANK_BURST_SEC = 23,
+ PSW_FRAME_CATAGORY_RS2_1800_FULL_PRI = 24,
+ PSW_FRAME_CATAGORY_RS2_1800_BLANK_BURST_SEC = 25,
+ PSW_FRAME_CATAGORY_RS2_INSUFFICIENT_FRAME_QUALITY = 26,
+ PSW_FRAME_CATAGORY_RS2_14400_DCCH_NULL_FRAME = 27,
+
+ PSW_FRAME_CATAGORY_RS_LAST = PSW_FRAME_CATAGORY_RS2_14400_DCCH_NULL_FRAME
+
+} PswFrameCatagoryT;
+
+
+/* Define redirection record types - Table 7.7.2.3.2.16-1 */
+typedef enum
+{
+ CP_SRD_REDIRECTION_NDSS_OFF,
+ CP_SRD_REDIRECTION_ANALOG,
+ CP_SRD_REDIRECTION_CDMA,
+ CP_SRD_REDIRECTION_TACS,
+ CP_SRD_REDIRECTION_JTACS
+} ServRedirRecord;
+
+typedef enum
+{
+ CP_IDLE_START,
+ CP_IDLE_WAIT_FOR_FCSCH,
+ CP_IDLE_MONITOR,
+ CP_IDLE_HANDOFF,
+ CP_IDLE_CHANNEL_CHANGE,
+ CP_IDLE_ACCESS_ENTRY_HO,
+ CP_IDLE_WAKEUP_FOR_ACCESS,
+ CP_IDLE_POWERDOWN,
+ CP_IDLE_SLOTTED_HO_WAKEUP,
+ CP_IDLE_QPCH_HO_WAKEUP,
+ CP_IDLE_FROZEN,
+ CP_IDLE_MAX
+} CpIdleSubStateT;
+
+typedef enum
+{
+ PSW_BAD_FRAME = 0,
+ PSW_GOOD_FRAME
+} PswFrameQuality;
+
+typedef struct
+{
+ kal_bool Stale;
+ kal_uint16 PnPhase;
+ kal_uint16 Strength;
+} PswPilotMeasurementT;
+
+typedef struct
+{
+ kal_uint16 PilotPN;
+ kal_bool Stale;
+ kal_uint16 PnPhase;
+ kal_uint16 Strength;
+} PswRemainPilotMeasurementT;
+
+/*------------------------------------------------------------------------
+ Define funtion prototypes
+-------------------------------------------------------------------------*/
+
+extern PswIs95NamT* PswNamGet (void);
+extern void PswDbmInit( void );
+
+
+typedef enum
+{
+ PSW_AYNC_DATA = 1, /* bit 0 */
+ PSW_FAX = 2, /* bit 1 */
+ PSW_UPB_ASYNC = 64 /* bit 6 */
+} PswDsEnableBitMapT;
+
+typedef struct
+{
+ kal_bool CssSyncValOk;
+} PswCssValSyncRspMsgT;
+
+/***********************/
+/* Message Definitions */
+/***********************/
+typedef struct
+{
+ kal_uint8 numAlt;
+ kal_uint16 phase[SYS_CP_MAX_CANDIDATE_LIST_PILOTS];
+ kal_uint16 strength[SYS_CP_MAX_CANDIDATE_LIST_PILOTS];
+} AlternatePilotsInfoT;
+
+typedef struct
+{
+ kal_bool pilotFound; /* Pilot found */
+ kal_uint16 pilotStrength; /* Pilot Ec/Io (linear Q6) */
+ kal_int16 rxPower; /* RSSI (dBm) */
+#if defined(MTK_CBP_SYNC_OPTIMIZE)
+ kal_bool retried; /*For mini pilot acq, this channel retries normal ICS or not*/
+#endif
+ AlternatePilotsInfoT altPilots;
+} PswInitialAcqReportMsgT;
+typedef enum
+{
+ PI_OFF = 0,
+ PI_ON = 1,
+ PI_UNDEF = 2,
+ PI_ERASURE = 3
+} QpchPiStat;
+
+typedef enum
+{
+ PSW_PCH = 0,
+ PSW_QPCH1 = 1,
+ PSW_QPCH2 = 2,
+ PSW_CCI = 3,
+ PSW_FCCCH = 4,
+ PSW_BC = 5
+} WakeModeT;
+
+typedef struct
+{
+ WakeModeT WakeMode; /* Status of a command previously sent by PS */
+ kal_int16 QpchInd; /* OFF = 0, ON = 1, Erasure = -1 */
+ kal_int16 QpchMetric; /* X1 if first indicator, X2 if second indicator, Q0 */
+ kal_int16 PilotEnergy; /* Usable path combined Pilot Energy, Q0 */
+ kal_uint16 EcIo; /* Mini-Acq Pilot Ec/Io */
+ kal_uint16 NumPath; /* Number of usable path */
+ kal_uint16 QpchPilotPn; /* Pilot PN Offset */
+ kal_uint32 SysTime; /* Current CDMA time 20ms */
+} PswWakeStatusT;
+
+typedef struct
+{
+ PswCmdStatusT CmdStatus; /* Status of a command previously sent by PS */
+ PswWakeStatusT WakeStatus; /* Status of a command previously sent by PS */
+} PswCmdStatusMsgT;
+
+typedef struct
+{
+ kal_uint16 PnPhase;
+ kal_uint16 Strength;
+} PswCandFreqMeasT;
+
+typedef struct
+{
+ kal_int16 cfTotalRxPwr; /* Total Rx Power on CF */
+ kal_uint8 NumPilots; /* Number of pilot measurements */
+ PswCandFreqMeasT CfPilotList[SYS_CP_MAX_NEIGHBOR_LIST_PILOTS];
+} PswCandFreqMeasurementsMsgT;
+
+typedef struct
+{
+ kal_uint8 TotalOffTimeFwd; /* Total time spent off of forward channel */
+ kal_uint8 MaxOffTimeFwd; /* Max time spent off of forward channel */
+ kal_uint8 TotalOffTimeRev; /* Total time spent off of reverse channel */
+ kal_uint8 MaxOffTimeRev; /* Max time spent off of reverse channel */
+} PswCandFreqTimesMsgT;
+
+typedef struct
+{
+ kal_uint16 PilotPN; /* Pilot PN to handoff to */
+} PswIdleHandoffMsgT;
+
+typedef struct
+{
+ SysSystemTimeT SysTime; /* System time the frame was received at */
+ kal_uint16 EbNt;
+ kal_uint16 DataSize; /* Data size in bits*/
+#ifdef MTK_PLT_ON_PC_UT
+ kal_uint8 Data[PCH_FRAME_LEN]; /* Starting address of frame data */
+#endif
+ kal_uint32 *DataAddress; /* Starting address of frame data */
+} PswForwardPageChanFrameMsgT;
+
+typedef struct
+{
+ SysSystemTimeT SysTime; /* System time the frame was received at */
+ kal_uint8 MuxPduType;
+ kal_uint8 Category;
+ PswFrameQuality Quality;
+ kal_uint16 SigBits;
+ kal_uint8 Data[MAX_FCH_FRAME_BYTE_LEN]; /* Starting address of frame data */
+}PswDschFrameMsgT;
+
+typedef struct
+{
+ kal_uint8 SchId;
+ kal_uint16 SchBadFrames;
+ kal_uint16 SchTotFrames;
+} PswPrmSchT;
+
+typedef struct
+{
+ kal_bool FchMeasIncl; /* FCH measurement included */
+ kal_uint8 FchBadFrames; /* BAD_FRAMESs in IS2000A.5 2.6.4.1.1*/
+ kal_uint16 FchTotFrames; /* TOT_FRAMESs in IS2000A.5 2.6.4.1.1*/
+ kal_bool DcchMeasIncl; /* DCCH measurement included */
+ kal_uint8 DcchBadFrames; /* BAD_FRAMESs in IS2000A.5 2.6.4.1.1*/
+ kal_uint16 DcchTotFrames; /* TOT_FRAMESs in IS2000A.5 2.6.4.1.1*/
+ kal_uint8 NumForSch; /* Number of FSCH to report */
+ PswPrmSchT SchPmr[ SYS_MAX_FSCH ];
+}PswPmrMsgT;
+
+/*AKK 01-26-01 Added the following for phase2 Outer Loop Report Message */
+typedef struct
+{
+ kal_uint8 SchId;
+ kal_uint8 FpcSchCurrSetPt;
+}PswFpcSchReportT;
+
+typedef struct
+{
+ kal_bool FchIncl;
+ kal_uint8 FpcFchCurrSetPt;
+ kal_bool DcchIncl;
+ kal_uint8 FpcDcchCurrSetPt;
+ kal_uint8 NumSup;
+ PswFpcSchReportT FpcSch[2];
+}PswOuterLoopReportReqMsgT;
+/*END--AKK 01-26-01 Added the following for phase2 Outer Loop Report Message */
+
+typedef struct
+{
+ SysSystemTimeT SysTime; /* System time the frame was received at */
+ kal_uint16 DataSize; /* Data size in bits */
+ kal_uint8 Data[1]; /* Starting address of frame data */
+}PswFCCCHFrameMsgT;
+
+typedef struct
+{
+ SysSystemTimeT SysTime; /* System time the frame was received at */
+ kal_uint16 DataSize; /* Data size in bits */
+ kal_uint8 Data[1]; /* Starting address of frame data */
+}PswBCCHFrameMsgT;
+
+typedef struct
+{
+ SysSystemTimeT FrameNum; /* Frame number this signaling data */
+ /* was received. Note: There is no system */
+ /* time while on the sync channel so a */
+ /* counter is used for the frame time */
+#ifdef MTK_PLT_ON_PC_UT
+ kal_uint8 Data[PSW_SYNC_DATA_SIZE*9]; /* This is a fixed 24 bit size */
+#endif
+ kal_uint16 EbNt;
+ kal_uint16 DataLength;
+ kal_uint8 *DataAddress;
+}PswForwardSyncChanFrameMsgT;
+
+typedef struct
+{
+ SysSystemTimeT SysTime; /* System time the frame was received at */
+ kal_uint16 DataSize; /* Data size in bits */
+ kal_uint8 Data[1]; /* Starting address of frame data */
+}PswForwardBCCHFrameMsgT;
+
+typedef struct
+{
+ SysSystemTimeT SysTime; /* System time the frame was received at */
+ kal_uint16 DataSize; /* Data size in bits */
+ kal_uint8 Data[1]; /* Starting address of frame data */
+}PswForwardFCCCHFrameMsgT;
+
+typedef struct
+{
+ SysSystemTimeT SysTime; /* System time the frame was received at */
+ SysMultiplexOptionT MultiplexOpt; /* multiplex option being used */
+ /* (i.e. rate set) */
+ kal_uint16 Strength; /* Power of the pilot in Q16 linear units */
+ PswFrameCatagoryT Catagory; /* Frame category - size of data derived from this */
+ kal_uint8 Data[1]; /* Starting address of frame data */
+}PswForwardTrafficChanFrameMsgT;
+
+typedef struct
+{
+ kal_bool enable; /* KAL_TRUE power up, KAL_FALSE power down */
+} PswFlyModeMsgT;
+
+typedef struct
+{
+ kal_bool PowerUp; /* KAL_TRUE power up, KAL_FALSE power down */
+} PswPowerMsgT;
+
+typedef struct
+{
+ kal_bool EnablePrl; /* KAL_FALSE if PRL is not to be used in system selection */
+} PswEnablePrlMsgT;
+
+typedef struct
+{
+ kal_uint8 NumActive; /* Number of active set pilot measurements */
+ kal_uint8 NumCandidate; /* Number of candidate set pilot measurements */
+ kal_uint8 NumNeighbor; /* Number of neighbor set pilot measurements */
+ kal_uint8 NumRemaining; /* Number of neighbor set pilot measurements */
+ PswPilotMeasurementT Active [SYS_CP_MAX_ACTIVE_LIST_PILOTS];
+ PswPilotMeasurementT Candidate [SYS_CP_MAX_CANDIDATE_LIST_PILOTS];
+ PswPilotMeasurementT Neighbor [SYS_CP_MAX_NEIGHBOR_LIST_PILOTS];
+ PswPilotMeasurementT Remaining [SYS_CP_MAX_REMAINING_LIST_PILOTS];
+} DebugPilotInfo;
+
+typedef struct
+{
+ kal_int16 PilotSeq;
+ kal_uint16 ReferencePN;
+ kal_uint8 NumActive; /* Number of active set pilot measurements */
+ kal_uint8 NumCandidate; /* Number of candidate set pilot measurements */
+ kal_uint8 NumNeighbor; /* Number of neighbor set pilot measurements */
+ PswPilotMeasurementT Active [SYS_CP_MAX_ACTIVE_LIST_PILOTS];
+ PswPilotMeasurementT Candidate [SYS_CP_MAX_CANDIDATE_LIST_PILOTS];
+ PswPilotMeasurementT Neighbor [SYS_CP_MAX_NEIGHBOR_LIST_PILOTS];
+} PswScanMeasurementsMsgT;
+
+typedef enum
+{
+ IGNORE_N5M_FRAMES_IN_TC_INIT = 0,
+ IGNORE_BS_ACK_IN_TC_INIT = 1,
+ IGNORE_HHO_SUCCESS = 2,
+ MAX_NUM_PSW_TEST_MODE_TIMER_TYPE
+} PswTestModeTimerTypeT;
+
+ typedef enum
+ {
+ TM_CRC = 0, /* Enable/Disable CRC Checking */
+ TM_REMAIN_IN_SYNC_STATE = 1, /* Force MS to stay on Sync Channel */
+ TM_ENABLE_IDLE_HANDOFF = 2, /* Enable Idle Handoff */
+ TM_ENABLE_MSG_INJECTION = 3, /* Message Injection Test Mode */
+ TM_ENABLE_SLOTTED_MODE = 4, /* Enable Slotted Mode */
+ TM_ENABLE_REGISTRATION = 5, /* enable/disable registration */
+ TM_ENABLE_PAGE_RESPONSE = 6, /* enable/disable page response */
+
+ TM_ENABLE_QPCH_MODE = 17,
+ TM_DISABLE_ACCESS_AUTH_PARMS = 18, /* Don't include auth parameters in access msgs */
+ TM_DISPLAY_LOC_DATA = 19, /* dump Location Services Data */
+ TM_ENABLE_REMAINING_SET_SEARCH= 20, /* Controls the remaining set search */
+ TM_IGNORE_OTA_AKEY_PREV = 21, /* Ignore A_KEY_PREV in MS Key Req Msg */
+
+ TM_QPCH_SET_PI1 = 22, /* Set Paging Indicator 1 override */
+ TM_QPCH_SET_PI2 = 23, /* Set Paging Indicator 2 override */
+ TM_CONTINUOUS_BCCH = 24, /* Continuously receive the BCCH channel */
+ TM_START_BCCH = 25, /* Used to start or stop the BCCH channel */
+ TM_SLOTTED_DELAY = 26, /* Used to delay before going to sleep in slotted paging */
+
+ TM_REMAIN_IN_PILOT_STATE = 30, /* Force MS to stay on Pilot Acquisition state */
+ TM_REMAIN_IN_IDLE_SLOTTED_OFF_STATE = 31, /* Force MS to stay on Idle state, slotted off */
+ TM_REMAIN_IN_IDLE_SLOTTED_ON_STATE = 32, /* Force MS to stay on Idle state, slotted on */
+ TM_REMAIN_IN_TRAFFIC_STATE = 33, /* Disable fade timer */
+ TM_SECURE_DATA_SPY_DUMP = 34, /* Trigger Dump of Secure Data Spy */
+ TM_ENABLE_IHO_INTER_TEST = 35, /* For inter IHO script test*/
+ TM_ENABLE_HO_CF_TEST = 36, /* For traffic inter freq handoff test*/
+ TM_ENABLE_TIMER_OUT_TEST = 37, /* For timer out test*/
+ MAX_NUM_PSW_TEST_MODE
+ }PswTestModeT, TestModeMsgT;
+
+#define TM_QPCH_FLAG_WRITE_NV 0xfffe
+
+#if defined (__TC10__) && defined (__TC10_IPC_CDMA_SUPPORT__)
+
+typedef PACKED_PREFIX struct
+{
+ PswTestModeT Mode;
+} PACKED_POSTFIX PswEngineTestModeGetReqMsgT;
+
+typedef PACKED_PREFIX struct
+{
+ kal_bool defineRcForAllSo;
+ kal_uint8 forRc;
+ kal_uint8 revRc;
+} PACKED_POSTFIX PswSetServiceConfigReqMsgT;
+#endif
+
+typedef struct
+{
+ kal_uint8 NumAlt;
+ kal_uint16 Phase[SYS_CP_MAX_CANDIDATE_LIST_PILOTS];
+ kal_uint16 Strength[SYS_CP_MAX_CANDIDATE_LIST_PILOTS];
+}PswL1dAlternatePilotsMsgT;
+
+/* PSW_LOCATION_SVC_CFG_MSG */
+typedef struct {
+ kal_bool Mode; /* location privacy enabled */
+} PswLocationSvcCfgMsgT;
+
+typedef struct {
+ kal_uint8 event;
+ kal_uint8 *MsgDataP;
+} PswLocStateChangedMsgT;
+
+typedef enum
+{
+ PSW_REQUEST_MODE_CDMA_ONLY = 1,
+ PSW_REQUEST_MODE_WIDE,
+ PSW_REQUEST_MODE_CDMA_WIDE,
+ PSW_REQUEST_MODE_NARROW_ONLY,
+ PSW_REQUEST_MODE_CDMA_NARROW_ONLY,
+ PSW_REQUEST_MODE_NARROW_WIDE,
+ PSW_REQUEST_MODE_NARROW_WIDE_CDMA
+} PswRequestModeT;
+
+typedef enum
+{
+ PSW_NT_UNKNOWN = 0,
+ PSW_NT_INTERNATIONAL,
+ PSW_NT_NATIONAL,
+ PSW_NT_NETWORK_SPECIFIC,
+ PSW_NT_SUBSCRIBER,
+ PSW_NT_RESERVED,
+ PSW_NT_ABBREVIATED = 6
+} PswNumberTypeT;
+
+typedef enum
+{
+ PSW_NP_UNKNOWN = 0,
+ PSW_NP_ISDN_TELEPHONY,
+ PSW_NP_RESERVED2,
+ PSW_NP_DATA,
+ PSW_NP_TELEX,
+ PSW_NP_RESERVED5,
+ PSW_NP_RESERVED6,
+ PSW_NP_RESERVED7,
+ PSW_NP_RESERVED8,
+ PSW_NP_PRIVATE = 9
+} PswNumberPlanT;
+
+typedef enum /* This section needs to be defined in an order as it appears in SCCGEN.H */
+{
+ PSW_UNKNOWN_SERVICE_TYPE=0,
+ PSW_VOICE_SERVICE_TYPE,
+ PSW_ANALOG_VOICE_SERVICE_TYPE,
+ PSW_ASYNC_FAX_DATA_SERVICE_TYPE,
+ PSW_ASYNC_DATA_SERVICE_TYPE,
+ PSW_FAX_DATA_SERVICE_TYPE,
+ PSW_UP_ASYNC_DATA_SERVICE_TYPE,
+ PSW_PACKET_DATA_SERVICE_TYPE,
+ PSW_QNC_PACKET_DATA_SERVICE_TYPE,
+ PSW_UP_PACKET_DATA_SERVICE_TYPE,
+ PSW_LPBK_SERVICE_TYPE,
+ PSW_SMS_SERVICE_TYPE,
+ PSW_OTASP_SERVICE_TYPE,
+ PSW_TCP_BROWSER_DATA_SERVICE_TYPE,
+ PSW_LOC_SERVICE_TYPE
+} PswServiceT;
+
+typedef enum
+{
+ PSW_PI_ALLOWED,
+ PSW_PI_RESTRICTED,
+ PSW_PI_NUMBER_NA,
+ PSW_PI_RSVD
+} PswPresentationIndicatorT;
+
+typedef enum
+{
+ PSW_SI_USER_PROVIDED_NOT_SCREENED,
+ PSW_SI_USER_PROVIDED_VERIFIED_PASSED,
+ PSW_SI_USER_PROVIDED_VERIFIED_FAILED,
+ PSW_SI_NETWORK_PROVIDED
+} PswScreeningIndicatorT;
+
+typedef struct
+{
+ PswNumberTypeT Type;
+ PswNumberPlanT Plan;
+ PswPresentationIndicatorT Pi;
+ PswScreeningIndicatorT Si;
+ kal_int8 Number[CP_MAX_CALLING_PARTY_NUMBER_SIZE + 1]; /* Inc NULL terminator */
+} PswCallingPartyNumberT;
+
+/* move these two for CBP3_MERGE */
+typedef enum
+{
+ PSW_SUBADDRESS_TYPE_NSAP,
+ PSW_SUBADDRESS_TYPE_USER_SPECIFIED = 2
+} PswSubaddressTypeT;
+
+/* registration type enum */
+typedef enum
+{
+ TIMER_BASED_REGISTRATION = 0,
+ POWER_UP_REGISTRATION = 1,
+ ZONED_BASED_REGISTRATION = 2,
+ POWER_DOWN_REGISTRATION = 3 ,
+ PARAMETER_CHANGE_REGISTRATION = 4,
+ ORDERD_REGISTRATION = 5,
+ DISTANCE_BASED_REGISTRATION = 6
+} reg_type_enum;
+
+typedef struct
+{
+ kal_bool Extension;
+ PswSubaddressTypeT Type;
+ kal_bool Indicator;
+ kal_int8 Address[CP_MAX_SUBADDRESS_SIZE + 1];/*Inc NULL terminator*/
+} PswSubaddressT;
+
+typedef struct
+{
+ kal_bool num_incl;
+ kal_bool digitMode;
+ PswNumberTypeT type;
+ PswNumberPlanT plan;
+ kal_uint8 NumChar;
+ kal_uint8 ms_orig_pos_loc_ind;
+ kal_uint8 number[CP_MAX_CALLING_PARTY_NUMBER_SIZE + 1];
+}PswGlobalEmergencyCall;
+
+typedef struct
+{
+ kal_bool num_info_incl;
+ PswNumberTypeT type;
+ PswNumberPlanT plan;
+ kal_uint8 numFields;
+ kal_uint8 number[CP_MAX_KEYPAD_FACILITY_SIZE+1];
+}PswExtKeypadFacility;
+
+typedef struct
+{
+ kal_bool Mode;
+} PswSetPrivacyModeMsgT;
+
+typedef enum
+{
+ CALL_MODE_UNKNOWN,
+ NORMAL_VOICE,
+ EMERGENCY_E911,
+ WPS,
+ WPS_E911,
+ OTASP,
+ CALL_MODE_END
+} PswCallModeT;
+
+typedef struct
+{
+ PswRequestModeT RequestMode; /* requested call type */
+ PswCallModeT CallMode; /* call type (e.g. emergency, OTASP, WPS ...) */
+ PswServiceOptionT ServiceOption; /* requested service option */
+ kal_bool Encoded;
+ kal_bool DigitMode; /* digit encoding indicator */
+ PswNumberTypeT NumberType; /* type of number */
+ PswNumberPlanT NumberPlan; /* numbering plan */
+ kal_uint8 NumDigits; /* number of digits to be dialled */
+ kal_uint8 OtaspMode; /* target band or system for OTASP Orig */
+ kal_uint8 Digits[CP_MAX_CALLING_PARTY_NUMBER_SIZE +1];/* ascii digits, null terminated string */
+ PswCallingPartyNumberT CPNInfo; /* Calling Party Number Info */
+ PswServiceT ServiceType; /* service types. */
+ kal_bool MultipleCallingPartyNum; /* MS has > 1 calling party num */
+ kal_bool SendCallingPartySubaddr; /* subaddress included? */
+ PswSubaddressT CallingPartySubaddr;
+ kal_bool SendCalledPartySubaddr; /* subaddress included? */
+ PswSubaddressT CalledPartySubaddr;
+ kal_uint16 pktDataIncTimer; /* in seconds*/
+ NspeAppT pktDataAppType;
+} PswCallInitiateMsgT;
+
+typedef struct
+{
+ kal_uint32 TimerId; /* Expired timer Id */
+} PswTimerExpiredMsgT;
+
+/* MSG_ID_PSW_VAL_SET_DDTM_MSG */
+typedef struct
+{
+ kal_bool enabled; /* TRUE: DDTM enabled, FALSE: DDTM disabled */
+} PswValSetDDTMMsgT;
+
+typedef struct
+{
+ kal_uint32 Mux1Stats[PSW_NUM_MUX1_COUNTER_INDEX];
+ kal_uint32 Mux2Stats[PSW_NUM_MUX2_COUNTER_INDEX];
+}PswRevStatParmsMsgT;
+
+typedef struct
+{
+ kal_bool Encoded;
+ kal_uint8 Digit;
+} PswSendContDTMFMsgT;
+
+typedef struct
+{
+ kal_bool Encoded;
+ kal_uint8 NumDigits;
+ kal_uint8 DtmfOnLength;
+ kal_uint8 DtmfOffLength;
+ kal_uint8 Digits[ CP_MAX_BURST_DTMF_DIGITS + 1 ]; /* Incl NULL terminator */
+} PswSendBurstDTMFMsgT;
+
+typedef struct
+{
+ PswNumberTypeT Type;
+ PswNumberPlanT Plan;
+ kal_int8 Number[CP_MAX_CALLED_PARTY_NUMBER_SIZE + 1];/*Inc NULL terminator*/
+} PswCalledPartyNumberT;
+
+
+typedef struct
+{
+ kal_bool SendFeatureIndicator;
+ kal_uint8 Feature;
+ kal_bool SendKeypadFacility;
+ kal_int8 KeypadFacility[CP_MAX_DISPLAY_SIZE + 1]; /* Incl NULL terminator */
+ kal_bool SendCalledPartyNumber;
+ PswCalledPartyNumberT CalledPartyNumber;
+ kal_bool SendCallingPartyNumber;
+ PswCallingPartyNumberT CallingPartyNumber;
+ kal_bool SendConnectedNumber;
+ PswCallingPartyNumberT ConnectedNumber; /* Same format as CallingPartyNumber */
+ kal_bool Send;
+ kal_bool SendCalledPartySubaddress;
+ PswSubaddressT CalledPartySubaddress;
+ kal_bool SendCallingPartySubaddress;
+ PswSubaddressT CallingPartySubaddress;
+ kal_bool SendConnectedSubaddress;
+ PswSubaddressT ConnectedSubaddress;
+ kal_bool sendGlobalEmergencyCall;
+ PswGlobalEmergencyCall EmergencyNum;
+ kal_bool sendExtKeypadFacility;
+ PswExtKeypadFacility ExtKeypadFac;
+#ifdef MTK_CBP
+ kal_bool isEccWith3WC; /* to indicate that this is a ECC throurh 3WC or not */
+#endif
+} PswHookflashMsgT;
+
+typedef struct
+{
+ kal_uint8 NumFrames; /* Number of frames spent off the serving frequency */
+} PswEndCFMeasureMsgT;
+
+typedef struct
+{
+ kal_uint16 EnableBits;
+} PswDsEnableMsgT;
+
+typedef enum
+{
+ PSW_MDR_DISABLED = 0,
+ PSW_MDR_IF_AVAIL,
+ PSW_MDR_ONLY
+} PswPktSvcPrefT;
+
+typedef struct
+{
+ kal_uint8 pageAcceptMap;
+ kal_uint16 ayncDataSOPref;
+ kal_uint16 faxSOPref;
+ kal_bool dormantBySCC;
+ kal_uint16 ldrSOPrefer;
+ kal_uint16 mdrSOPrefer;
+ PswPktSvcPrefT pktSvcPref;
+ kal_uint8 forRc;
+ kal_uint8 revRc;
+} PswDataPrefReqMsgT;
+
+typedef enum
+{
+ PSW_PREFER_MUX1 = 1,
+ PSW_PREFER_MUX2
+} PswMuxPrefMapT;
+
+typedef struct
+{
+ kal_uint16 voiceSO;
+ PswMuxPrefMapT MuxOptPref;
+ kal_bool ToNegotiate;
+ kal_uint8 forRc;
+ kal_uint8 revRc;
+} PswVsPrefReqMsgT;
+
+typedef struct
+{
+ kal_uint8 pageAccptMap;
+ kal_uint16 lpbkSO;
+ kal_uint16 markovSO;
+ kal_uint16 supplSO;
+ kal_bool ToNegotiate;
+ kal_uint8 forRc;
+ kal_uint8 revRc;
+} PswLsPrefReqMsgT;
+
+typedef struct
+{
+ kal_uint16 ServiceOption;
+ kal_bool ToNegotiate;
+ kal_uint8 forRc;
+ kal_uint8 revRc;
+} PswSetServiceConfigMsgT;
+
+/* SNR SR */
+typedef struct
+{
+ kal_bool enable;
+ kal_uint8 numAttempts; /* See MAX_SILENT_RETRIES */
+ kal_uint8 timeBetweenAttempts; /* See SILENT_RETRY_TIMEOUT */
+ kal_uint8 timeBeforeAbort; /* See SILENT_RETRY_RESET_TIMEOUT */
+} PswSetSilentRetryMsgT;
+
+typedef struct
+{
+ kal_uint32 CustomFeature;
+ /*each bit is defined for every cumtomfeafure */
+} PswCustomFeatureMsgT;
+
+typedef struct
+{
+ ExeRspMsgT RspInfo; /* Response routing information */
+} PswGetSilentRetryStatusMsgT;
+
+/* Get Active NAM response message */
+typedef struct
+{
+ kal_bool enable;
+} PswGetSilentRetryStatusResponseMsgT;
+
+typedef struct
+{
+ kal_bool E911Mode; /* KAL_TRUE=EN, KAL_FALSE=DIS */
+} PswE911ModeMsgT;
+
+typedef struct
+{
+ kal_uint8 PRev;
+} PswSetPRevMsgT;
+
+typedef struct
+{
+ NamNumber namNumber;
+} PswGetPrlMsgT;
+
+typedef enum
+{
+ PSW_PAM_DISABLE,
+ PSW_PAM_FAX_NEXT_CALL,
+ PSW_PAM_FAX_TILL_PWDN,
+ PSW_PAM_DATA_NEXT_CALL,
+ PSW_PAM_DATA_TILL_PWDN
+} DsPreArangT;
+
+typedef struct
+{
+ DsPreArangT paType;
+} PswVsDsPreArangMsgT;
+
+typedef struct
+{
+ kal_uint8 HATtmrValue;
+ kal_uint8 HTtmrValue;
+} PswSetPkzidHysterTmrMsgT;
+
+typedef struct
+{
+ kal_uint8 reason;
+} PswPsCallRelMsgT;
+
+typedef struct
+{
+ kal_uint8 ConRef;
+ kal_uint16 SrvOpt;
+ kal_uint8 Length;
+ kal_uint8 CtrlRec[MAX_MSG_LEN];
+} PswServiceOptionControlRespMsgT;
+
+typedef struct
+{
+ kal_uint16 RemainDuration; /* Remaining RSCH duration as assigned by BS */
+} PswRschRelIndMsgT;
+
+/* RLP Message Definitions */
+typedef struct
+{
+ kal_uint8 SrId;
+ kal_uint16 DataSize;
+} PswDataBufferStatusMsgT;
+
+typedef struct
+{
+ kal_uint8 SoPref;
+ kal_uint8 forRc;
+ kal_uint8 revRc;
+} PswSmsPrefReqMsgT;
+
+typedef struct
+{
+ kal_uint8 DataByte[PSW_MAX_SMS_SIZE]; /* contents of SMS. */
+ kal_uint16 len; /* the length of data in DataByte[ ] */
+ kal_bool confirm; /* confirm-required indocator */
+ kal_uint8 Digits[CP_MAX_CALLING_PARTY_NUMBER_SIZE +1]; /* ascii
+ digits, null terminated string*/
+ kal_bool IsE911; /* IsE911 */
+} PswSmsTxReqMsgT;
+typedef struct
+{
+ kal_uint8 len; /* contents of SMS. */
+ kal_uint8 addr[PSW_MAX_SMS_SIZE/4]; /* addr*/
+} PswSmsBroadcastExpectedMsgT;
+typedef struct
+{
+ kal_uint8 len; /* contents of SMS. */
+ kal_uint8 data[PSW_MAX_SMS_SIZE/2]; /* data*/
+} PswSmsMtDataBurstMsgT;
+
+
+typedef struct
+{
+ kal_bool Success;
+} PswOtaspRcvdMsgT;
+
+typedef struct
+{
+ kal_uint16 Length;
+ kal_uint8* Data;
+} PswOtaspTxReqMsgT;
+
+typedef struct
+{
+ kal_uint16 SoPref;
+ kal_uint8 forRc;
+ kal_uint8 revRc;
+} PswOtaspSoPrefMsgT;
+
+typedef struct
+{
+ kal_uint8 mode;
+} PswOtaSetPowerUpModeMsgT;
+
+typedef struct
+{
+ kal_uint16 NewSo;
+} PswVsSwitchSoMsgT;
+
+typedef struct
+{
+ NamNumber namNumber;
+} PswGetNamMsgT;
+
+typedef struct
+{
+ NamNumber namNumber;
+ kal_bool ScmIncl;
+ kal_uint8 Scm[NAM_BANDS_SUPPORTED];
+ kal_bool SlotCycleIncl;
+ kal_uint8 SlotCycleIndex;
+ kal_bool LckRsnIncl;
+ kal_uint8 LckRsn;
+ kal_bool MaintRsnIncl;
+ kal_uint8 MaintRsn;
+ kal_bool prefServiceIncl;
+ kal_uint8 prefBand;
+ kal_uint8 prefMode;
+ kal_uint8 prefBlockBand1;
+ kal_uint8 prefServBand0;
+ kal_bool ImsiMIncl;
+ kal_bool ImsiMValid;
+ IMSIType IMSI_M;
+
+ kal_bool SidNidIdexIncl;
+ kal_uint8 SidNidIdex;
+ kal_bool SidIncl;
+ kal_uint16 Sid;
+ kal_bool NidIncl;
+ kal_uint16 Nid;
+ kal_bool AccolcIncl;
+ kal_uint8 Accolc;
+ kal_bool TermInfoIncl;
+ kal_uint8 MobTermHome;
+ kal_uint8 MobTermSid;
+ kal_uint8 MobTermNid;
+ kal_bool SpcIncl;
+ kal_uint32 Spc;
+ kal_bool MdnIncl;
+ kal_uint8 MdnNumDigits;
+ kal_uint8 Mdn[16];
+ kal_bool AllowOtapaIncl;
+ kal_bool AllowOtapa;
+ kal_bool AnalogParmIncl;
+ kal_uint16 HomeSid;
+ kal_uint16 Sids;
+ kal_uint16 LocaIds;
+ kal_bool Puregs;
+ kal_bool systemSelectIncl;
+ kal_uint8 SystemSelect;
+
+ kal_bool ImsiTIncl;
+ kal_bool ImsiTValid;
+ IMSIType IMSI_T;
+
+ kal_bool CpcaCscaIncl;
+ kal_uint16 CPCA, CSCA; /* CDMA Primary (and Secondary) Channel A */
+
+ kal_bool CpcbCscbIncl;
+ kal_uint16 CPCB, CSCB; /* CDMA Primary (and Secondary) Channel B */
+
+} PswNamChangedMsgT;
+
+typedef struct
+{
+ kal_uint8 msResult[64];
+ kal_uint8 NumBytes;
+} PswModExpMSResultMsgT;
+
+typedef struct
+{
+ kal_uint8 otaK[8];
+} PswModExpBSResultMsgT;
+
+typedef struct
+{
+ kal_bool SSPRListFillOK;
+} PswFillSSPRRspMsgT;
+
+typedef struct
+{
+ kal_uint8 *IS683Msg;
+ kal_uint16 Length;
+} PswIOTAIS683MsgT;
+
+typedef struct
+{
+ kal_uint8 *IOTAPrl;
+ kal_uint16 Length;
+} PswIOTAPRLMsgT;
+
+/* from MMI - SMS related */
+#ifdef SYS_OPTION_SMS_ENGINE
+
+typedef struct
+{
+ PswServiceOptionT SrvOpt;
+} PswSmsPrefSrvOptMsgT;
+
+typedef struct
+{
+ kal_bool DigitMode;
+ kal_bool NumberMode;
+ kal_uint8 NumberType;
+ kal_uint8 NumberPlan;
+ kal_uint8 NumFields;
+ kal_uint8 Char[ SMS_MAX_ADDRESS_CHARS ];
+} PswSmsMCAddrT;
+
+typedef struct
+{
+ kal_uint8 Type;
+ kal_bool Odd;
+ kal_uint8 NumFields;
+ kal_uint8 Char[ SMS_MAX_SUBADDRESS_CHARS ];
+} PswSmsMCSubaddrT;
+
+typedef struct
+{
+ kal_uint16 Category;
+ kal_uint8 Language;
+ kal_uint8 CategoryResult;
+} PswCategoryT;
+
+typedef struct
+{
+ kal_uint8 NumCategories;
+ PswCategoryT Cat[ SMS_MAX_NUM_SERVICE_CATEGORIES ];
+} PswSrvCatProgResultT;
+
+typedef struct
+{
+ kal_uint8 DispMode;
+ kal_uint8 reserved;
+} PswDispModeT;
+
+typedef struct
+{
+ kal_uint16 TeleSrvId; /* Teleservice ID */
+ PswSmsMCAddrT DefaultDestAddr; /* Message center address of all */
+ /* submitted messages */
+ kal_bool DefaultSubaddrPres; /* Indicator if subaddress present */
+ PswSmsMCSubaddrT DefaultSubaddr; /* Message center subaddress */
+} PswSmsConnectMsgT;
+
+typedef struct
+{
+ kal_uint16 TeleSrvId; /* Teleservice ID */
+} PswSmsDisconnectMsgT;
+
+/*
+** PSW_GET_STAT_CNT_MSG,
+*/
+typedef struct
+{
+ StatCounterT StatCounter; /* Statistics counter */
+ kal_uint8 NumElement; /* Number of elements in StatCounter */
+ kal_uint32 *MuxStat;
+ #ifdef MTK_PLT_ON_PC_UT
+ kal_uint32 StatCnt[255];
+ #endif
+} PswStatCntMsgT;
+
+#define PSW_SMS_MAX_USER_DATA_CHARS 256
+
+typedef struct
+{
+ kal_uint8 Year;
+ kal_uint8 Month;
+ kal_uint8 Day;
+ kal_uint8 Hours;
+ kal_uint8 Minutes;
+ kal_uint8 Seconds;
+} PswSmsAbsTimeT;
+
+typedef enum
+{
+ PSW_CAT_UNKNOWN,
+ PSW_CAT_EMERGENCIES,
+ PSW_CAT_ADMINISTRATIVE,
+ PSW_CAT_MAINTENANCE,
+ PSW_CAT_GEN_NEWS_LOCAL,
+ PSW_CAT_GEN_NEWS_REGIONAL,
+ PSW_CAT_GEN_NEWS_NATIONAL,
+ PSW_CAT_GEN_NEWS_INTERNATIONAL,
+ PSW_CAT_FINANCE_NEWS_LOCAL,
+ PSW_CAT_FINANCE_NEWS_REGIONAL,
+ PSW_CAT_FINANCE_NEWS_NATIONAL,
+ PSW_CAT_FINANCE_NEWS_INTERNATIONAL,
+ PSW_CAT_SPORTS_NEWS_LOCAL,
+ PSW_CAT_SPORTS_NEWS_REGIONAL,
+ PSW_CAT_SPORTS_NEWS_NATIONAL,
+ PSW_CAT_SPORTS_NEWS_INTERNATIONAL,
+ PSW_CAT_ENTERTAINMENT_NEWS_LOCAL,
+ PSW_CAT_ENTERTAINMENT_NEWS_REGIONAL,
+ PSW_CAT_ENTERTAINMENT_NEWS_NATIONAL,
+ PSW_CAT_ENTERTAINMENT_NEWS_INTERNATIONAL,
+ PSW_CAT_LOCAL_WEATHER,
+ PSW_CAT_TRAFFIC,
+ PSW_CAT_FLIGHT_SCHEDULE,
+ PSW_CAT_RESTAURANTS,
+ PSW_CAT_LODGINGS,
+ PSW_CAT_RETAIL_DIRECTORY,
+ PSW_CAT_ADVERTISEMENT,
+ PSW_CAT_STOCK_QUOTES,
+ PSW_CAT_EMPLOYMENT_OPPORTUNITIES,
+ PSW_CAT_MEDICAL_HEALTH,
+ PSW_CAT_TECH_NEWS,
+ PSW_CAT_MULTI_CATEGORY
+} PSW_SMS_SERVICE_CAT;
+
+typedef enum
+{
+ PSW_NORMAL,
+ PSW_INTERACTIVE,
+ PSW_URGENT,
+ PSW_EMERGENCY
+} PSW_SMS_PRIORITY;
+
+typedef enum
+{
+ PSW_SMS_NOT_RESTRICTED,
+ PSW_SMS_RESTRICTED,
+ PSW_SMS_CONFIDENTIAL,
+ PSW_SMS_SECRET
+} PSW_SMS_PRIVACY;
+
+typedef enum
+{
+ PSW_SMS_MOBILE_DEFAULT,
+ PSW_SMS_LOW_PRIORITY,
+ PSW_SMS_MEDIUM_PRIORITY,
+ PSW_SMS_HIGH_PRIORITY
+} PSW_SMS_ALERT;
+
+typedef enum
+{
+ PSW_SMS_UNKNOWN,
+ PSW_SMS_ENGLISH,
+ PSW_SMS_FRENCH,
+ PSW_SMS_SPANISH,
+ PSW_SMS_JAPANESE,
+ PSW_SMS_KOREAN,
+ PSW_SMS_CHINESE,
+ PSW_SMS_HEBREW
+} PSW_SMS_LANG;
+
+typedef struct
+{
+ kal_uint8 ErrorClass;
+ kal_uint8 MsgStatusCode;
+} PSW_MSG_STATUS;
+
+typedef enum
+{
+ PSW_SMS_DELIVERY_ACK = 4,
+ PSW_SMS_USER_ACK,
+ PSW_SMS_READ_ACK
+} PSW_MSG_TYPE;
+
+typedef struct
+{
+ kal_uint16 TeleSrvId; /* Teleservice ID */
+ kal_uint16 SeqNum; /* Unique number to coordinate the */
+ /* parameter and user data messages*/
+ kal_bool SendOnTraffic; /* Force SMS on Traffic or let CP */
+ /* decide */
+
+ kal_bool SrvCatPres; /* If service catagory is present */
+ PSW_SMS_SERVICE_CAT SrvCat; /* Service Catagory */
+ kal_uint16 MsgId; /* Message ID of submitted message */
+ kal_bool HeaderInd; /* Header Indicator */
+ kal_bool BearerReplyOptPres;
+ kal_uint8 ReplySeq;
+ kal_uint8 NumUserDataMsgs; /* Number of User data messages */
+ kal_bool AbsValPres; /* Absolute validity period present*/
+ PswSmsAbsTimeT AbsVal; /* Absolute validity period */
+ kal_bool RelValPres; /* Relative validity period present*/
+ kal_uint8 RelVal; /* Relative validity period */
+ kal_bool AbsDelPres; /* Absolute deferred delivery time */
+ /* present */
+ PswSmsAbsTimeT AbsDel; /* Absolute deferred delivery time */
+ kal_bool RelDelPres; /* Relative deferred delivery time */
+ /* present */
+ kal_uint8 RelDel; /* Relative deferred delivery time */
+ kal_bool PriPres; /* Priority indicator present */
+ PSW_SMS_PRIORITY Pri; /* Priority indicator */
+ kal_bool PrvPres; /* Privacy indicator present */
+ PSW_SMS_PRIVACY Prv; /* Privacy indicator */
+ kal_bool ReplyOptPres; /* If reply option is present */
+ kal_bool UserAck; /* User acknowledgement requested */
+ kal_bool DeliverAck; /* delivery acknowledgement */
+ /* requested from message center */
+ kal_bool ReadAck; /* read acknowledgement */
+ kal_bool AlertPres; /* Alert on message delivery present*/
+ PSW_SMS_ALERT Alert; /* Alert on message delivery */
+ kal_bool LangPres; /* Language indicator present */
+ PSW_SMS_LANG Lang; /* Language indicator */
+ kal_bool CallbackNumPres; /* Callback number present */
+ PswSmsMCAddrT CallbackNum; /* Callback number */
+ kal_bool OverrideAddrPres; /* Override Address Present */
+ PswSmsMCAddrT OverrideAddr; /* Override Address */
+ kal_bool OverrideSubaddrPres; /* Override Subaddress Present */
+ PswSmsMCSubaddrT OverrideSubaddr; /* Override Subaddress */
+ kal_bool MsgDepIndexPres; /* Message Deposit Index present */
+ kal_uint16 MsgDepIndex; /* Message Deposit Index */
+ kal_bool SrvCatProgResultPres; /* Service Category Program Results*/
+ PswSrvCatProgResultT SrvCatProgResult; /* Service Category Program Results*/
+ kal_bool DispModePres; /* Service Category Program Results*/
+ PswDispModeT DispMode; /* Service Category Program Results*/
+} PswSmsSubmitParmsMsgT;
+
+typedef struct
+{
+ kal_uint16 SeqNum;
+ kal_uint8 MsgType;
+ kal_uint8 NumMsgs;
+ kal_uint8 MsgEncoding;
+ kal_uint8 NumFields;
+ kal_uint8 Char[ SMS_MAX_USERDATA_LENGTH ]; /* User Data field of message */
+} PswSmsUserDataMsgT;
+
+typedef struct
+{
+ kal_uint16 TeleSrvId; /* Teleservice ID */
+ kal_uint16 MsgId; /* Message ID of submitted message */
+ kal_bool HeaderInd; /* Header Indicator */
+ kal_bool OverrideAddrPres; /* Override address present */
+ PswSmsMCAddrT OverrideAddr; /* Override address */
+ kal_bool SubaddrPres; /* Subaddress Present */
+ PswSmsMCSubaddrT Subaddr; /* Subaddress */
+ kal_bool SendSmsCancelDb; /* Send SMS Cancel Databurst if needed */
+ kal_uint16 SeqNum;
+} PswSmsCancelMsgT;
+
+typedef struct
+{
+ kal_uint16 TeleSrvId; /* Teleservice ID */
+ kal_uint16 SeqNum; /* Unique number to cordinate the */
+ /* parameters and user data messages*/
+ PswSmsMCAddrT Addr; /* Message ceneter address */
+ kal_bool SubaddrPres; /* Subaddress Present */
+ PswSmsMCSubaddrT Subaddr; /* Subaddress */
+ kal_uint16 MsgId; /* Message ID of submitted message */
+ PSW_MSG_TYPE MsgType; /* User/Delivery/Read ack type */
+ kal_bool HeaderInd; /* Header Indicator */
+ kal_uint8 NumUserDataMsgs; /* Number of User data messages */
+ kal_bool RespCodePres; /* User response code present */
+ kal_uint8 RespCode; /* User response code */
+ kal_bool TimeStampPres; /* Time Stamp present */
+ PswSmsAbsTimeT TimeStamp; /* Message Center Time Stamp */
+ kal_bool MsgDepIndexPres; /* Message Deposit Index present */
+ kal_uint16 MsgDepIndex; /* Message Deposit Index */
+ kal_bool MsgStatusPres; /* Message Status present */
+ PSW_MSG_STATUS MsgStatus; /* Message Status */
+} PswSmsAckMsgT;
+
+typedef struct
+{
+ kal_uint32 SvcMask; /* Refer to scc_msc.c / mscGetSvcBitMap() for mapping */
+ kal_uint32 LangMask; /* Refer to scc_msc.c / mscGetLangBitMap() for mapping */
+ PSW_SMS_PRIORITY Priority;
+} PswSmsBCastParmsMsgT;
+
+#if defined(LGT_EXTENSIONS)
+typedef struct
+{
+ kal_uint32 Param1;
+ kal_uint32 Param2;
+ PSW_SMS_PRIORITY Priority;
+} PswSmsUnknownParmsMsgT;
+#endif
+
+typedef enum
+{
+ PSW_NO_TERMINAL_PROBLEMS,
+ PSW_DESTINATION_RESOURSE_SHORTAGE,
+ PSW_DESTINATION_OUT_OF_SERVICE
+}PswTermStatusT;
+
+typedef struct
+{
+ PswTermStatusT Status;
+} PswSmsTerminalStatusMsgT;
+
+typedef struct
+{
+ kal_uint8 NumTempRetries; /* Max # of retries if BS returns errorCode = Temporary */
+ kal_uint8 NumPermRetries; /* Max # of retries if BS returns errorCode = Permanent */
+ kal_uint8 NumTimeoutRetries;/* Max # of retries if no BS SMS Ack received and timeout
+ occurs */
+} PswSmsRetxAmountMsgT;
+
+typedef struct
+{
+ kal_uint8 ErrorClass;
+ kal_uint8 CasueCode;
+} PswSmsCauseCodeMsgT;
+
+typedef struct
+{
+ kal_uint16 SeqNum;
+ kal_uint8 ErrorClass;
+ kal_uint8 CauseCode;
+ kal_bool SendTlAck;
+} PswSmsReplyTlAckMsgT;
+
+ typedef struct
+ {
+ kal_bool MultiSMSMode;
+ }PswSMSModeMsgT;
+ /*
+ This primitive is sent from md3-val to md3-psw to reply an tlack when receives SMS MT message.
+ */
+ typedef struct
+ {
+ kal_uint8 len;
+ kal_uint8 Pdu[MAX_SMS_ACK_PDU_LEN];
+ kal_uint16 seqNum;
+ }PswSMSTlackReqMsgT;
+
+typedef struct {
+ kal_bool CbsState; /* KAL_FALSE, CBS off; KAL_TRUE, CBS on */
+ kal_uint32 LanMask; /* lanuage bitmap */
+ kal_uint32 ChaMask[PSW_SMS_CBS_CHA_MAX]; /* channels bitmap */
+ kal_uint32 CmasMask; /* cmas bitmap */
+}PswSmsCbsInfoT;
+
+#endif
+
+/*-------------------------------------------------------------------**
+ PSW_POS_AFLT_MEASUREMENTS_MSG
+ PswPosAfltMeasurementMsgT
+ L1D reports various position AFLT pilot set list information needed
+ by BS. This list is not necessarily a complete list of position AFLT
+ pilot set list but only those measurements that are completed as of
+ the time the message is generated.
+ *-------------------------------------------------------------------**/
+
+typedef struct
+{
+ kal_uint16 PilotPN;
+ kal_bool Stale;
+ /* PILOT_PN_PHASE sent in PROVIDE PILOT PHASE MEASUREMENTS */
+ kal_int32 PnPhase;
+ /* PILOT_STRENGTH sent in PROVIDE PILOT PHASE MEASUREMENTS */
+ kal_uint16 Strength;
+ /* RMS_ERR_PHASE sent in PROVIDE PILOT PHASE MEASUREMENTS */
+} AFLTPilotMeasurementT;
+
+typedef struct
+{
+ kal_uint8 SeqNum;
+ /* TIME_REF_MS sent in PROVIDE PILOT PHASE MEASUREMENTS */
+ kal_uint16 TimeRefMs;
+ kal_bool OffsetIncl;
+ kal_int16 MobOffset;
+ /* REF_PN sent in PROVIDE PILOT PHASE MEASUREMENTS */
+ kal_uint16 RefPN;
+ /* REF_PILOT_STRENGTH sent in PROVIDE PILOT PHASE MEASUREMENTS */
+ kal_uint16 RefPilotStrength;
+ /* NUM_PILOTS_P sent in PROVIDE PILOT PHASE MEASUREMENTS */
+ /* actual number of pilot measurements in AFLTPilotMeasurement */
+ kal_uint8 NumPilots;
+ AFLTPilotMeasurementT PosAFLT[SYS_CP_MAX_AFLT_LIST_PILOTS_MEAS];
+} PswPosAfltMeasurementMsgT;
+
+/*-------------------------------------------------------------------**
+ PSW_POS_AFLT_ACK_ABORT_MSG
+ PswPosAfltAckAbortMsgT
+ L1D, after receiving L1D_POS_AFLT_ABORT_MSG, acknowledges its
+ position search measurements aborted for given sequence number.
+ *-------------------------------------------------------------------**/
+
+typedef struct
+{
+ kal_uint16 SeqNum;
+} PswPosAfltAckAbortMsgT;
+
+/*-------------------------------------------------------------------**
+ PSW_POS_AFLT_ABORT_REQ_MSG
+ PswPosAfltAbortReqMsgT
+ L1D, requests for position search measurements aborted for given
+ sequence number.
+ *-------------------------------------------------------------------**/
+
+typedef struct
+{
+ kal_uint16 SeqNum;
+} PswPosAfltAbortReqMsgT;
+
+/* mclee location services request element messages */
+typedef struct
+{
+ kal_uint8 SessID;
+ kal_uint8 RejReqType; /* BS Request Element type */
+ kal_bool RejReason;
+} PswPosRejectMsgT;
+
+typedef struct
+{
+ kal_uint8 RecLen;
+ kal_uint8 ProvPseudorangeRec[PRM_MAX_SIZE];
+} PswPseudorangeMsmtRspMsgT;
+
+typedef struct
+{
+ kal_uint8 SoPref;
+ kal_uint8 forRc;
+ kal_uint8 revRc;
+} PswLocPrefReqMsgT;
+
+typedef struct
+{
+ kal_bool Enable;
+ kal_uint8 N1;
+} PswGPSEnableReportsMsgT;
+
+typedef struct
+{
+ kal_uint16 Size;
+ kal_uint8 Sap;
+ kal_uint8 DataP[200];
+} PswIs801TcpbFwdDataRespInfoMsgT;
+
+typedef struct
+{
+ kal_uint8 SessionId;
+} PswIs801TcpBRevDataRespMsgT;
+
+
+typedef enum
+{
+ PSW_GPS_ASSISTANCE_DATA_ALMANAC,
+ PSW_GPS_ASSISTANCE_DATA_EPHEMERIS,
+ PSW_GPS_ASSISTANCE_DATA_LAST_LOCATION,
+ PSW_GPS_ASSISTANCE_DATA_BASE_STATION_ALMANAC,
+ PSW_GPS_ASSISTANCE_DATA_ALMANAC_CORRECTION,
+ PSW_GPS_ASSISTANCE_DATA_SV_HEALTH_INFO,
+ PSW_GPS_ASSISTANCE_DATA_NAVIGATION_MSG_BITS,
+ PSW_GPS_ASSISTANCE_DATA_ALL_GPS_DATA
+}IS801GpsResetAssistanceDataT;
+
+typedef struct
+{
+ IS801GpsResetAssistanceDataT AssisData;
+}PswGpsResetAssistMsgT;
+
+typedef struct
+{
+ kal_uint16 DataLen;
+ kal_uint8 Data[PSW_GPS7560_DATA_SIZE_MAX];
+} PswGpsNmeaStreamMsgT;
+
+typedef struct
+{
+ SysSystemTimeT SendTime;
+} PswL1dAccessPreambleCompleteMsgT;
+
+typedef struct
+{
+ SysSystemTimeT SendTime;
+} PswL1dAccessCompleteMsgT;
+
+typedef struct
+{
+ SysSystemTimeT finishTime;
+} PswL1dAccessProbeCompleteMsgT;
+
+/****************/
+/* ETS Messages */
+/****************/
+
+typedef struct
+{
+ PswTestModeT Mode; /* Test mode */
+ kal_uint16 Enabled; /* Mode Qualifier, typically equivalent to ON/OFF */
+ kal_uint16 Value; /* Mode value*/
+} PswEngineTestModeMsgT;
+
+
+typedef struct
+{
+ kal_bool TimersUsed; /* Timers turned (on = KAL_TRUE) or (off = KAL_FALSE) */
+} PswTestModeTimersUsedMsgT;
+
+typedef struct
+{
+ kal_uint32 MaxCapSize; /* System time to start sending message */
+ kal_uint16 power_correction; /* Tx power level less mean input power */
+ kal_bool use_curr_mip; /* Use current mean input power or not */
+ kal_uint8 data_len; /* Length of data to be sent */
+ kal_uint8 data[30]; /* l3 message data, length, data, crc */
+ kal_bool repeat_data; /* Message data is repeated flag */
+ kal_uint8 lc_mask[6]; /* Access channel long code mask */
+ kal_uint8 pam_size; /* Preamble size in frames */
+ kal_uint16 RN; /* Random chip delay : 0 - 511 */
+} PswAccessSigMsgT;
+
+#ifdef MTK_PLT_ON_PC_UT
+/* For PSW UT */
+typedef struct
+{
+ kal_uint8 lengthInBits;
+ kal_uint8 reverseSigData[CPBUF_SIZE_REV];
+}PswUnitTestReverseSigMsgT;
+#ifdef MTK_DEV_C2K_IRAT
+typedef struct
+{
+ kal_bool paramPsServStatusPresent;
+ kal_bool paramIratModePresent;
+ kal_bool psRegistered;
+ srlteRatTypeT c2kRatType;
+ rat_enum ratMode;
+}PswSetIratParamMsgT;
+#endif
+typedef struct
+{
+ kal_bool success;
+ kal_bool resend;
+}PswSendSmsConfirmMsgT;
+
+typedef struct
+{
+ sbp_id_enum sbpId;
+}PswSetSbpIdMsgT;
+
+#endif
+
+/* Status request message - Request current PS status */
+typedef struct
+{
+ ExeRspMsgT RspInfo; /* Response routing information */
+} PswStatusRequestMsgT;
+
+/* Status request, response */
+typedef struct
+{
+ kal_uint32 Esn;
+ kal_uint8 RFMode;
+ kal_uint8 MIN_Digits;
+ kal_uint8 Min[15];
+ kal_uint8 CPState;
+ kal_uint8 CDMAGoodFrames;
+ kal_uint16 AMPSGoodFrames;
+ kal_uint16 AMPSBadFrames;
+ kal_uint8 CPEntranceReason;
+ kal_uint16 Channel;
+ kal_uint16 PilotPN;
+ kal_uint16 CurSID;
+ kal_uint16 CurNID;
+ kal_uint16 LocAreaID;
+ kal_int16 RSSI;
+ kal_uint8 PowerLevel;
+ kal_bool Slotted_Mode_Flag;
+} PswStatusResponseMsgT;
+
+/* Debug Pilot Strength request message */
+typedef struct
+{
+ ExeRspMsgT RspInfo; /* Response routing information */
+ kal_bool enable;
+} PswDebugPilotStrengthMsgT;
+
+typedef struct
+{
+ DebugPilotInfo *PilotReport;
+} PswDebugPilotStrengthRspMsgT;
+
+/* Debug Screen request message - Request debug screen info */
+typedef struct
+{
+ ExeRspMsgT RspInfo; /* Response routing information */
+} PswDebugScrnRequestMsgT;
+
+/* Debug Screen Response */
+typedef struct
+{
+ kal_uint16 sid;
+ kal_uint16 nid;
+ kal_uint16 badframes;
+ kal_uint16 totframes;
+ kal_uint16 ActPilotPN [SYS_CP_MAX_ACTIVE_LIST_PILOTS];
+ kal_uint16 ActPilotEcIo [SYS_CP_MAX_ACTIVE_LIST_PILOTS];
+ kal_uint16 CandPilotPN [SYS_CP_MAX_CANDIDATE_LIST_PILOTS];
+ kal_uint16 CandPilotEcIo[SYS_CP_MAX_CANDIDATE_LIST_PILOTS];
+ kal_uint16 NghbrPilotPN [SYS_CP_MAX_NEIGHBOR_LIST_PILOTS];
+ kal_uint16 NghbrPilotEcIo [SYS_CP_MAX_NEIGHBOR_LIST_PILOTS];
+ kal_int16 txPower;
+ kal_int16 rxPower;
+ kal_uint8 current_slot_cycle_index;
+ kal_bool slotted_enabled;
+ kal_bool qpch_enabled;
+ kal_uint8 forfchRc;
+ kal_uint8 revfchRc;
+ kal_uint16 serviceOption;
+ PswServiceT serviceType;
+} PswDebugScrnResponseT;
+
+/* Phone State request message */
+typedef struct
+{
+ ExeRspMsgT RspInfo; /* Response routing information */
+} PswPhoneStateRequestMsgT;
+
+/* Phone State request, response */
+typedef struct
+{
+ kal_uint8 State;
+ kal_uint32 total_msg; /* Number of paging ch messages received */
+ kal_uint32 error_msg; /* Number of paging ch messages with bad crc */
+ kal_uint16 acc_1; /* number of layer 3 requests messages generated */
+ kal_uint16 acc_2; /* number of layer 3 response messages generated */
+ kal_uint16 acc_8; /* number of unsuccessful access attempts */
+ kal_uint16 dpchLoss_count; /* Count of paging ch declared */
+ kal_uint16 dtchLoss_count; /* Count of dedicated traffic CH Loss*/
+ kal_uint32 idleHO_count; /* Count of idle handoff*/
+ kal_uint16 hardHO_count; /* Count of hard handoff*/
+ kal_uint16 interFreqIdleHO_count; /* Count of inter_Freq idle handoff*/
+ kal_uint16 MO_count; /* Count of successful MS ORIGINATED */
+ kal_uint16 MT_count; /* Count of successful MS TERMINATED */
+ kal_uint16 powerDownReg_count; /* Count of power down registration */
+ kal_uint16 timeBasedReg_count; /* Count of time based registration */
+ kal_uint16 parameterReg_count; /* Count of parameter change registration */
+ kal_uint16 powerUpReg_count; /* Count of power up registration */
+ kal_uint16 orderedReg_count; /* Count of ordered registration */
+ kal_uint16 zoneBasedReg_count; /* Count of zone based registration */
+ kal_uint16 distanceBasedReg_count; /* Count of distance based registration */
+ kal_uint16 silentryRetryTimeout_count; /* Count of silentry retry timeout */
+ kal_uint16 T40_count; /* Count of T40m timeout */
+ kal_uint16 T41_count; /* Count of T41m timeout */
+ kal_uint16 T50_count; /* Count of T50m timeout */
+ kal_uint16 T51_count; /* Count of T51m timeout */
+ kal_uint16 T52_count; /* Count of T52m timeout */
+ kal_uint16 T55_count; /* Count of T55m timeout */
+} PswPhoneStateResponseMsgT;
+
+/* Set Retreivable Statistics Parameter Request Type */
+typedef struct
+{
+ kal_uint16 ParameterID;
+ kal_uint32 Value;
+} PswSetRetrievableParameterMsgT;
+
+/* Get Retreivable Statistics Parameter Request Type */
+typedef struct
+{
+ StatCounterT StatCounter; /* Statistics counter */
+} PswGetRetrievableParameterMsgT;
+
+/* Get Retreivable Statistics Parameter Response Message Type */
+typedef struct
+{
+ StatCounterT StatCounter; /* Statistics counter */
+ kal_uint32 Value[MAX_STAT_ELEMENT];
+} GetRetrievableParameterRspMsgT;
+
+typedef struct
+{
+ ExeRspMsgT RspInfo; /* Response routing information */
+} PswGetFullSysTimeMsgT;
+
+typedef struct
+{
+ ExeRspMsgT RspInfo; /* Response routing information */
+} PswGetPRevInUseRequestMsgT;
+
+typedef struct
+{
+ kal_uint8 P_Rev_In_Use;
+} PswGetPRevInUseResponseMsgT;
+
+/* aak_akey */
+#ifdef PSW_AKEY_UINT64
+typedef struct
+{
+ ExeRspMsgT RspInfo; /* Response routing information */
+ kal_uint64 akey;
+ kal_uint32 checksum;
+} PswEnterAKeyMsgT;
+#else
+typedef struct
+{
+ ExeRspMsgT RspInfo; /* Response routing information */
+ kal_uint32 akey_low;
+ kal_uint32 akey_high;
+ kal_uint32 checksum;
+} PswEnterAKeyMsgT;
+#endif
+
+typedef struct
+{
+ kal_uint8 NoiseFloor;
+ kal_uint8 ThrMin;
+ kal_uint8 MinAct;
+ kal_uint8 ThrSlope;
+} PswSetAccessHOParmsMsgT;
+
+typedef struct
+{
+ kal_uint8 ThrMinImmed;
+ kal_uint8 MinActImmed;
+ kal_uint8 ThrSlopeImmed;
+ kal_uint8 ThrMinDelayed;
+ kal_uint8 MinActDelayed;
+ kal_uint8 ThrSlopeDelayed;
+ kal_uint8 DelayCount;
+ kal_uint8 MinNghbrThr;
+} PswSetIdleHOParmsMsgT;
+
+typedef struct
+{
+ kal_bool PiStatus;
+} PswQpchPiStatusMsgT;
+
+typedef struct
+{
+ kal_uint8 nomPwrExt;
+ kal_int8 nomPwr;
+ kal_uint8 numPreamble;
+ kal_uint8 bandClass;
+ kal_uint16 cdmaFreq;
+ kal_uint16 pilotPN;
+ kal_uint8 codeChanFCH;
+} PswInjectHandoffMsgT;
+
+/*****************************************************************************
+ * Defines
+ ****************************************************************************/
+typedef enum
+{
+ PSW_UI_ENCRYP_DISABLED,
+ PSW_UI_ORYX_ENABLED
+} PSW_UI_ENCRYPT_MODE_TYPE;
+
+typedef enum
+{
+ PSW_BASIC_ENCRYPT_SUPP,
+ PSW_BASIC_AND_ENHANCED_SUPP
+} PSW_ENCRYPT_MODE_TYPE;
+
+/* define set of frame sizes */
+typedef enum
+{
+ PSW_DCCH_FS_20MS = 1, /* 20 ms frame size only */
+ PSW_DCCH_FS_5MS = 2, /* 5 ms frame size only */
+ PSW_DCCH_FS_5MS_AND_20MS = 3 /* both 5 and 20 ms frame size */
+} PSW_DCCH_FRAME_SIZE_TYPE;
+
+typedef enum
+{
+ PSW_FCH_FS_20MS = 0,
+ PSW_FCH_FS_5MS_AND_20MS = 1
+} PSW_FCH_FRAME_SIZE_TYPE;
+
+/* define set of RC settings */
+typedef enum
+{
+ PSW_FOR_RC_1 = 0x100,
+ PSW_FOR_RC_2 = 0x80,
+ PSW_FOR_RC_3 = 0x40,
+ PSW_FOR_RC_4 = 0x20,
+ PSW_FOR_RC_5 = 0x10,
+ PSW_FOR_RC_6 = 0x8,
+ PSW_FOR_RC_7 = 0x4,
+ PSW_FOR_RC_8 = 0x2,
+ PSW_FOR_RC_9 = 0x1
+} PSW_FOR_RC_TYPE;
+
+typedef enum
+{
+ PSW_REV_RC_1 = 0x20,
+ PSW_REV_RC_2 = 0x10,
+ PSW_REV_RC_3 = 0x8,
+ PSW_REV_RC_4 = 0x4,
+ PSW_REV_RC_5 = 0x2,
+ PSW_REV_RC_6 = 0x1
+} PSW_REV_RC_TYPE;
+
+/* define set of RC Preference settings */
+typedef enum
+{
+ PSW_RC_PREF_1 = 1,
+ PSW_RC_PREF_2 = 2,
+ PSW_RC_PREF_3 = 3,
+ PSW_RC_PREF_4 = 4,
+ PSW_RC_PREF_5 = 5,
+ PSW_RC_PREF_6 = 6,
+ PSW_RC_PREF_7 = 7,
+ PSW_RC_PREF_8 = 8,
+ PSW_RC_PREF_9 = 9
+} PSW_RC_PREF_TYPE;
+
+/* define set of Geo-location support */
+typedef enum
+{
+ PSW_GL_NO_SUPPORT = 0,
+ PSW_GL_AFLT = 1,
+ PSW_GL_AFLT_AND_GPS = 2,
+ PSW_GL_GPS = 3
+} PSW_GEO_LOC_TYPE;
+
+typedef enum
+{
+ PSW_GATING_RATE_SET_00 = 0x00, /* Gating rates 1 */
+ PSW_GATING_RATE_SET_01 = 0x01, /* Gating rates 1 and 1/2 */
+ PSW_GATING_RATE_SET_10 = 0x02, /* Gating rates 1, 1/2 and 1/4 */
+ PSW_GATING_RATE_SET_11 = 0x03 /* reserved */
+} PSW_GATING_RATE_SET_TYPE;
+
+
+/* FOR SCH Multiplex options --------------------------------------- */
+typedef enum
+{
+ PSW_FOR_SCH_0x03_MUX_OPTION = 0x0001, /* For SCH 0x03 Mux options, bit, */
+ PSW_FOR_SCH_0x809_MUX_OPTION = 0x0002, /* For SCH 0x809 Mux options, bit, */
+ PSW_FOR_SCH_0x811_MUX_OPTION = 0x0004, /* For SCH 0x811 Mux options, bit, */
+ PSW_FOR_SCH_0x821_MUX_OPTION = 0x0008, /* For SCH 0x821 Mux options, bit, */
+ PSW_FOR_SCH_0x905_MUX_OPTION = 0x0010, /* For SCH 0x905 Mux options, bit, */
+ PSW_FOR_SCH_0x909_MUX_OPTION = 0x0020, /* For SCH 0x909 Mux options, bit, */
+ PSW_FOR_SCH_0x911_MUX_OPTION = 0x0040, /* For SCH 0x911 Mux options, bit, */
+ PSW_FOR_SCH_0x921_MUX_OPTION = 0x0080, /* For SCH 0x921 Mux options, bit, */
+
+ PSW_FOR_SCH_0x04_MUX_OPTION = 0x0100, /* For SCH 0x04 Mux options, bit, */
+ PSW_FOR_SCH_0x80a_MUX_OPTION = 0x0200, /* For SCH 0x80a Mux options, bit, */
+ PSW_FOR_SCH_0x812_MUX_OPTION = 0x0400, /* For SCH 0x812 Mux options, bit, */
+ PSW_FOR_SCH_0x822_MUX_OPTION = 0x0800, /* For SCH 0x822 Mux options, bit, */
+ PSW_FOR_SCH_0x906_MUX_OPTION = 0x1000, /* For SCH 0x906 Mux options, bit, */
+ PSW_FOR_SCH_0x90a_MUX_OPTION = 0x2000, /* For SCH 0x90a Mux options, bit, */
+ PSW_FOR_SCH_0x912_MUX_OPTION = 0x4000, /* For SCH 0x912 Mux options, bit, */
+ PSW_FOR_SCH_0x922_MUX_OPTION = 0x8000 /* For SCH 0x922 Mux options, bit, */
+} PSW_FOR_SCH_MUX_OPTION;
+
+
+/* REV SCH Multiplex options --------------------------------------- */
+typedef enum
+{
+ PSW_REV_SCH_0x03_MUX_OPTION = 0x0001, /* Rev SCH 0x03 Mux options, bit, */
+ PSW_REV_SCH_0x809_MUX_OPTION = 0x0002, /* Rev SCH 0x809 Mux options, bit, */
+ PSW_REV_SCH_0x811_MUX_OPTION = 0x0004, /* Rev SCH 0x811 Mux options, bit, */
+ PSW_REV_SCH_0x821_MUX_OPTION = 0x0008, /* Rev SCH 0x821 Mux options, bit, */
+ PSW_REV_SCH_0x905_MUX_OPTION = 0x0010, /* Rev SCH 0x905 Mux options, bit, */
+ PSW_REV_SCH_0x909_MUX_OPTION = 0x0020, /* Rev SCH 0x909 Mux options, bit, */
+ PSW_REV_SCH_0x911_MUX_OPTION = 0x0040, /* Rev SCH 0x911 Mux options, bit, */
+ PSW_REV_SCH_0x921_MUX_OPTION = 0x0080, /* Rev SCH 0x921 Mux options, bit, */
+
+ PSW_REV_SCH_0x04_MUX_OPTION = 0x0100, /* Rev SCH 0x04 Mux options, bit, */
+ PSW_REV_SCH_0x80a_MUX_OPTION = 0x0200, /* Rev SCH 0x80a Mux options, bit, */
+ PSW_REV_SCH_0x812_MUX_OPTION = 0x0400, /* Rev SCH 0x812 Mux options, bit, */
+ PSW_REV_SCH_0x822_MUX_OPTION = 0x0800, /* Rev SCH 0x822 Mux options, bit, */
+ PSW_REV_SCH_0x906_MUX_OPTION = 0x1000, /* Rev SCH 0x906 Mux options, bit, */
+ PSW_REV_SCH_0x90a_MUX_OPTION = 0x2000, /* Rev SCH 0x90a Mux options, bit, */
+ PSW_REV_SCH_0x912_MUX_OPTION = 0x4000, /* Rev SCH 0x912 Mux options, bit, */
+ PSW_REV_SCH_0x922_MUX_OPTION = 0x8000 /* Rev SCH 0x922 Mux options, bit, */
+} PSW_REV_SCH_MUX_OPTION;
+
+/* FCH & DCCH Multiplex options -------------------------------------- */
+typedef enum
+{
+ PSW_MUX_OPTION_0x1 = 0x1,
+ PSW_MUX_OPTION_0x2 = 0x2,
+ PSW_MUX_OPTION_0x704 = 0x4
+} PSW_MUX_OPTIONS_TYPES;
+
+/* define set of bitmap indicator */
+typedef enum
+{
+ PSW_SO_0_BITS = 0,
+ PSW_SO_4_BITS = 1,
+ PSW_SO_8_BITS = 2
+} PSW_SERV_OPT_BITMAP_IND;
+
+typedef enum
+{
+ PSW_CH_IND_RESERVED = 0x00,
+ PSW_CH_IND_FCH = 0x01,
+ PSW_CH_IND_DCCH = 0x02,
+ PSW_CH_IND_FCH_AND_DCCH = 0x03
+} PSW_CH_IND_TYPE;
+
+typedef struct
+{
+ PSW_FCH_FRAME_SIZE_TYPE FchFrameSize; /* FCH_FRAME_SIZE, FCH frame Size capability indicator */
+ kal_uint8 ForFchLen; /* FOR_FCH_LEN, Fwd Fundemental Channel Config Info. Len */
+ kal_uint16 ForFchRcMap; /* FOR_FCH_RC_MAP Forward Fundemental Radio Config. Info.*/
+ kal_uint8 RevFchLen; /* REV_FCH_LEN, Rev Fundemental Channel Config Info. Len */
+ PSW_REV_RC_TYPE RevFchRcMap; /* REV_FCH_RC_MAP Reverse Fundemental Radio Config. Info.*/
+} PSW_FCH_TYPE_SPECIFIC_FIELDS_TYPE;
+
+typedef struct
+{
+ PSW_DCCH_FRAME_SIZE_TYPE DcchFrameSize; /* DCCH_FRAME_SIZE, DCCH frame Size capability indicator */
+ kal_uint8 ForDcchLen; /* FOR_DCCH_LEN, Fwd Dedicated Ctrl Ch. Config Info. Len */
+ kal_uint16 ForDcchRcMap; /* FOR_DCCH_RC_MAP Fwd Dedicated Ch. Radio Config. Info. */
+ kal_uint8 RevDcchLen; /* REV_DCCH_LEN, Rev Dedicated Ctrl Ch. Config Info. Len */
+ PSW_REV_RC_TYPE RevDcchRcMap; /* REV_DCCH_RC_MAP Rev Dedicated Ch. Radio Config. Info. */
+} PSW_DCCH_TYPE_SPECIFIC_FIELDS_TYPE;
+
+typedef struct
+{
+ kal_uint8 ForSchLen; /* FOR_SCH_LEN, Fwd Supplemental length in 3 bit uints */
+ kal_uint16 ForSchRcMap; /* FOR_SCH_RC_MAP, Fwd Supplemental Channel Radio Config Information. */
+ kal_uint8 ForSchNum; /* FOR_SCH_NUM, Number of Forward Supplemental Cannel */
+ kal_bool ForTurboSupportedSch1; /* FOR_TURBO_SUPPORTED, 1 Ch Fwd Turbo Coding Supported */
+ kal_bool ForTurboSupportedSch2; /* FOR_TURBO_SUPPORTED, 2 Ch Fwd Turbo Coding Supported */
+ kal_uint8 ForMaxTurboBlockSize; /* FOR_MAX_TURBO_BLOCK_SIZE, Fwd Max Turbo Block Size */
+ kal_bool ForConvSupportedSch1; /* FOR_CONV_SUPPORTED, 1 Ch Fwd convolutional Coding Supported */
+ kal_bool ForConvSupportedSch2; /* FOR_CONV_SUPPORTED, 2 Ch Fwd convolutional Coding Supported */
+ kal_uint8 ForMaxConvBlockSize; /* FOR_MAX_CONV_BLOCK_SIZE, Fwd Max Conv. Code Block Size*/
+} PSW_FOR_SCH_TYPE_SPECIFIC_FIELDS_TYPE;
+
+typedef struct
+{
+ kal_uint8 RevSchLen; /* REV_SCH_LEN, Rev Supplemental length in 3 bit uints */
+ kal_uint8 RevSchRcMap; /* REV_SCH_RC_MAP Rev Dedicated Ch. Radio Config. Info. */
+ kal_uint8 RevSchNum; /* REV_SCH_NUM, Number of Reverse Supplemental Cannel */
+ kal_bool RevTurboSupportedSch1; /* REV_TURBO_SUPPORTED, 1 Ch Rev Turbo Coding Supported */
+ kal_bool RevTurboSupportedSch2; /* REV_TURBO_SUPPORTED, 2 Ch Rev Turbo Coding Supported */
+ kal_uint8 RevMaxTurboBlockSize; /* REV_MAX_TURBO_BLOCK_SIZE, Rev Max Turbo Block Size */
+ kal_bool RevConvSupportedSch1; /* REV_CONV_SUPPORTED, 1 Ch Rev convolutional Coding Supported */
+ kal_bool RevConvSupportedSch2; /* REV_CONV_SUPPORTED, 2 Ch Rev convolutional Coding Supported */
+ kal_uint8 RevMaxConvBlockSize; /* REV_MAX_CONV_BLOCK_SIZE, Rev Max Conv. Code Block Size*/
+} PSW_REV_SCH_TYPE_SPECIFIC_FIELDS_TYPE;
+
+typedef struct
+{
+ kal_uint8 MaxMsNakRoundsFwd; /* MAX_MS_NAK_ROUNDS_FWD Maximum number of RLP_NAK rounds
+ supported by the MS on the forward traffic channel */
+ kal_uint8 MaxMsNakRoundsRev; /* MAX_MS_NAK_ROUNDS_REV Maximum number of RLP_NAK rounds
+ supported by the MS on the reverse traffic channel */
+} PSW_RLP_CAP_BLOB_LEN_TYPE;
+
+/* Status request, response */
+typedef struct
+{
+ kal_uint8 MsCapData[1];
+} PswMsCapDbWriteMsgT;
+
+typedef enum
+{
+ PSW_HSPD_CONTROL_HOLD_STATE = 0,
+ PSW_HSPD_ACTIVE_STATE = 1
+} PswHspdActiveControlHoldT;
+
+typedef struct
+{
+ PswHspdActiveControlHoldT HspdNewState;
+} PswHspdActiveControlHoldMsgT;
+
+typedef enum
+{
+ PSW_SCH_9_6_KBPS = 0,
+ PSW_SCH_19_2_KBPS = 1,
+ PSW_SCH_38_4_KBPS = 2,
+ PSW_SCH_76_8_KBPS = 3,
+ PSW_SCH_153_6_KBPS = 4,
+ PSW_SCH_307_2_KBPS = 5,
+ PSW_SCH_614_4_KBPS = 6
+} PswSchPrefRateT;
+
+typedef struct
+{
+ kal_uint8 SrId;
+ PswSchPrefRateT PrefRate;
+ kal_uint16 Duration;
+} PswRevSchRequestMsgT;
+
+#if defined (__TC10__) && defined (__TC10_IPC_CDMA_SUPPORT__)
+typedef struct
+{
+ kal_bool defineRcForAllSo;
+ kal_uint8 forRc;
+ kal_uint8 revRc;
+} PackedPswDefineRcT;
+#endif
+
+typedef struct
+{
+ kal_uint8 StartupActiveNam;
+ kal_uint8 PswFeatureFlags;
+ kal_uint8 PhyFeatureFlags;
+ kal_uint8 PswMiscEnableFlags;
+ kal_uint8 pendingReg;
+ kal_uint16 PrefHomeMOSO;
+ kal_uint16 PrefHomeMTSO;
+ kal_uint16 PrefRoamMOSO;
+ kal_bool IS683NamLock;
+ kal_uint8 DfsEcIoThresh;
+ kal_uint16 qpchPilotEcIoThreshLow;
+ kal_uint16 qpchPilotEcIoThreshHigh;
+ kal_uint8 reserved_0;
+#if defined (__TC10__) && defined (__TC10_IPC_CDMA_SUPPORT__)
+ PackedPswDefineRcT defineRc;
+#endif
+ kal_uint16 checksum;
+} PackedPswMiscT;
+
+/*#ifdef VERIZON_GPS_DEBUG */
+#define MAX_DEBUG_INFO 64
+#define MAX_NUM_SATELLITES 9
+
+typedef struct
+{
+ ExeRspMsgT RspInfo; /* Response routing information */
+} PswGpsDebugInfoCmdMsgT;
+
+typedef struct
+{
+ kal_bool Valid;
+ kal_uint32 num_pilots_in_aflt_msg;
+ kal_uint32 SystemTime;
+ kal_uint32 LAT;
+ kal_uint32 LONG;
+ kal_uint32 FixType;
+ kal_uint8 SatelliteNumber[MAX_NUM_SATELLITES];
+} PswGpsDebugInfoRspMsgT;
+
+/*#endif */
+
+typedef enum
+{
+ ID_NOT_SET = 0,
+ ESN = 1,
+ MEID = 2,
+ UIMID = 3,
+ SF_EUIMID
+} MobileIDType;
+
+typedef enum
+{
+ PSW_SET_MBID_ELT = 0,
+ PSW_SET_MBID_AT = 1,
+ PSW_SET_MBID_META = 2,
+ PSW_SET_MBID_SYNC_FROM_IMEI = 3,
+ PSW_SET_MBID_INVALID
+} PswSetMobileIdType;
+
+typedef enum
+{
+ PSW_SET_FAILURE = 0,
+ PSW_SET_SUCCESS = 1,
+} PswSetMobileIdStatus;
+
+/* Set ESN message */
+typedef struct
+{
+ MobileIDType Id;
+ kal_uint64 value;
+} PswSetMobileIDMsgT;
+
+/* Get ESN message */
+typedef struct
+{
+ ExeRspMsgT RspInfo; /* Response routing information */
+} PswGetMobileIDMsgT;
+
+/* Verify SPC message */
+typedef struct
+{
+ kal_uint32 SPC;
+ kal_bool reset;
+} PswVerifySPCMsgT;
+
+/* Get ESN response message */
+typedef struct
+{
+ MobileIDType Id;
+ kal_uint64 value;
+} PswGetMobileIDRspMsgT;
+
+/* Get Active NAM message */
+typedef struct
+{
+ ExeRspMsgT RspInfo; /* Response routing information */
+} PswGetActiveNamMsgT;
+
+/* Get Active NAM response message */
+typedef struct
+{
+ kal_uint8 CurrentActiveNam;
+} PswGetActiveNamResponseMsgT;
+
+/* Select Active NAM message */
+typedef struct
+{
+ kal_uint8 SelectActiveNam;
+} PswSelectActiveNamMsgT;
+
+typedef enum
+{
+ DUAL_NAM_NOT_SUPPORTED = 0,
+ NAM1_SELECTED = 1,
+ NAM2_SELECTED = 2,
+ PS_ACTIVE_NAM1_LOCKED = 3,
+ PS_ACTIVE_NAM2_LOCKED = 4
+} ActiveNamResultT;
+
+/* Select Active NAM response message */
+typedef struct
+{
+ kal_uint8 ActiveNamResult;
+} PswSelectActiveNamResponseMsgT;
+
+typedef struct
+{
+ kal_uint8 PWR_CNTL_STEP;
+ kal_bool USE_TIME;
+ kal_uint8 ACTION_TIME;
+ kal_bool FPC_INCL;
+ kal_uint8 FPC_MODE;
+ kal_bool FPC_PRI_CHAN;
+ kal_bool FPC_OLPC_FCH_INCL;
+ kal_uint8 FPC_FCH_FER;
+ kal_uint8 FPC_FCH_MIN_SETPT;
+ kal_uint8 FPC_FCH_MAX_SETPT;
+ kal_bool FPC_OLPC_DCCH_INCL;
+ kal_uint8 FPC_DCCH_FER;
+ kal_uint8 FPC_DCCH_MIN_SETPT;
+ kal_uint8 FPC_DCCH_MAX_SETPT;
+ kal_bool FPC_SEC_CHAN;
+ kal_uint8 NUM_SUP;
+ kal_bool SCH_ID;
+ kal_uint8 FPC_SCH_FER;
+ kal_uint8 FPC_SCH_MIN_SETPT;
+ kal_uint8 FPC_SCH_MAX_SETPT;
+ kal_bool FPC_THRESH_INCL;
+ kal_uint8 FPC_SETPT_THRESH;
+ kal_bool FPC_THRESH_SCH_INCL;
+ kal_uint8 FPC_SETPT_THRESH_SCH;
+ kal_bool RPC_INCL;
+ kal_uint8 RPC_NUM_REC;
+ kal_uint8 RPC_ADJ_REC_TYPE_0;
+ kal_uint8 RPC_ADJ_REC_LEN_0;
+ kal_bool PCM_FCH_INCL;
+ kal_uint8 FCH_CHAN_ADJ_GAIN;
+ kal_bool PCM_DCCH_INCL;
+ kal_uint8 DCCH_CHAN_ADJ_GAIN;
+ kal_bool SCH0_INCL;
+ kal_uint8 SCH0_CHAN_ADJ_GAIN;
+ kal_bool SCH1_INCL;
+ kal_uint8 SCH1_CHAN_ADJ_GAIN;
+ kal_uint8 RPC_ADJ_REC_TYPE_1;
+ kal_uint8 RPC_ADJ_REC_LEN_1;
+ kal_bool RL_ATT_ADJ_GAIN_TYPE_1;
+ kal_bool RC3_RC5_20MS_INCL_1;
+ kal_uint8 RL_ATT_ADJ_GAIN_1500;
+ kal_uint8 RL_ATT_ADJ_GAIN_2700;
+ kal_uint8 RL_ATT_ADJ_GAIN_4800;
+ kal_uint8 RL_ATT_ADJ_GAIN_9600;
+ kal_bool RC4_RC6_20MS_INCL_1;
+ kal_uint8 RL_ATT_ADJ_GAIN_1800;
+ kal_uint8 RL_ATT_ADJ_GAIN_3600;
+ kal_uint8 RL_ATT_ADJ_GAIN_7200;
+ kal_uint8 RL_ATT_ADJ_GAIN_14400;
+ kal_bool MS5_INCL;
+ kal_uint8 NORM_ATT_GAIN_9600_5MS;
+ kal_uint8 RPC_ADJ_REC_TYPE_2;
+ kal_uint8 RPC_ADJ_REC_LEN_2;
+ kal_bool CODE_TYPE;
+ kal_bool RL_ATT_ADJ_GAIN_TYPE_2;
+ kal_bool RC3_RC5_20MS_INCL_2;
+ kal_uint8 RL_ATT_ADJ_GAIN_19200;
+ kal_uint8 RL_ATT_ADJ_GAIN_38400;
+ kal_uint8 RL_ATT_ADJ_GAIN_76800;
+ kal_uint8 RL_ATT_ADJ_GAIN_153600;
+ kal_uint8 RL_ATT_ADJ_GAIN_307200;
+ kal_uint8 RL_ATT_ADJ_GAIN_614400;
+ kal_bool RC4_RC6_20MS_INCL_2;
+ kal_uint8 RL_ATT_ADJ_GAIN_28800;
+ kal_uint8 RL_ATT_ADJ_GAIN_576600;
+ kal_uint8 RL_ATT_ADJ_GAIN_115200;
+ kal_uint8 RL_ATT_ADJ_GAIN_230400;
+ kal_uint8 RL_ATT_ADJ_GAIN_460800;
+ kal_uint8 RL_ATT_ADJ_GAIN_1036800;
+} PswTestPowerControlMsgT;
+
+typedef struct
+{
+ ExeRspMsgT RspInfo;
+} PswReadRawIMSIMsgT;
+
+typedef struct
+{
+ kal_uint8 ValidIMSImap; /* bit0: IMSI_M, bit1:IMSI_T */
+ kal_uint8 M_MCC[3]; /* MCC raw digits */
+ kal_uint8 M_IMSI_11_12[2]; /* M_IMSI_11_12 raw digits */
+ kal_uint8 M_IMSI_S[10]; /* M_IMSI_S raw digits */
+ kal_uint8 M_IMSI_Class;
+ kal_uint8 M_AddrNum;
+ kal_uint8 T_MCC[3]; /* MCC raw digits */
+ kal_uint8 T_IMSI_11_12[2]; /* M_IMSI_11_12 raw digits */
+ kal_uint8 T_IMSI_S[10]; /* M_IMSI_S raw digits */
+ kal_uint8 T_IMSI_Class;
+ kal_uint8 T_AddrNum;
+ kal_uint8 Mdn[NAM_MAX_MDN_DIGITS]; /* MDN max 16 digits */
+ kal_uint8 MDN_NUM_DIGITS; /* MDN number digits */
+ kal_uint8 ACCOLCp; /* access overload class */
+} PswReadRawIMSIRspT;
+
+/* PSW_OOSA_WAKEUP_IND_MSG */
+typedef struct
+{
+ OosaWakeupTypeT OosaWakeupType;
+} PswOosaWakupIndMsgT;
+
+typedef struct
+{
+ kal_bool result; /* Verify result, True:pass, False: not pass */
+} PswL1dSltTxVerifyIndMsgT;
+
+#ifdef MTK_CBP_ENCRYPT_VOICE
+typedef struct
+{
+ kal_bool isMoc ;
+} PswKeyReqMsgT;
+
+typedef struct
+{
+ kal_uint16 SeqNum;
+} PswCancelCipherSmsSendReqT;
+
+#endif
+
+typedef struct
+{
+ kal_bool result; /* SLT verify RF result, KAL_TRUE:success, KAL_FALSE:fail */
+} SltVerifyResultMsgT;
+
+typedef struct
+{
+ CHANNEL_DESC Sys;
+ kal_bool LastChannelInSRSL;
+} PswCssSelectRspMsgT;
+
+typedef enum
+{
+ CP_SYS_REJECTED,
+ CP_SYS_ACCEPTED,
+ CP_SYS_MCC_MNC_NEEDED
+} PswCssValidationRsltT;
+
+typedef enum
+{
+ CP_REG_NOT_ROAMING,
+ CP_REG_NID_ROAMING,
+ CP_REG_SID_ROAMING,
+ CP_REG_UNKNOWN_ROAMING
+} PswRegRoamStatus;
+
+typedef struct
+{
+ PswCssValidationRsltT ValidationRslt;
+ PswRegRoamStatus RegRoamStatus;
+} PswCssValidateRspMsgT;
+
+typedef struct
+{
+ ExeRspMsgT RspInfo;
+} PswGetNamPrefereceMsgT;
+
+typedef enum
+{
+ FORCESLEEP,
+ ACQUISITION,
+#ifdef MTK_DEV_C2K_IRAT
+ ExitPs /* Release 1x PS during C2L MPSR */
+#endif
+} CssForceInitReasonT;
+
+typedef struct
+{
+ CssForceInitReasonT reason;
+} PswCssSysAcqReqMsgT;
+
+typedef struct
+{
+ kal_uint16 duration; /*in the unit of 100ms*/
+} PswCssOosaSleepReqMsgT;
+
+typedef struct
+{
+ kal_bool bActive;
+} PswRlpActivityStatusReportMsgT;
+
+/* PSW_CSS_SET_EMERGENCY_CALLBACK_MODE_MSG */
+typedef struct
+{
+ kal_bool isInCallBackMode;
+} PswCssSetEmergencyCallbackModeMsgT;
+
+typedef enum {
+ PSW_SLOTTED_TST_MODE_VETO_FLAG = 0x0001, /* Test mode veto */
+ PSW_SLOTTED_PE_SMS_VETO_FLAG = 0x0002, /* PE SMS: disabling slotted for paging SMS activity */
+ PSW_SLOTTED_PE_SR_VETO_FLAG = 0x0004, /* PE Silent retry: disable slotted betwen retries */
+ PSW_SLOTTED_PE_LOC_VETO_FLAG = 0x0008, /* PE LOC: Loc srv activity (AFLT, ...) */
+ PSW_SLOTTED_LEC_VETO_FLAG = 0x0010, /* LEC: GPS activity (time sync, ...) */
+ PSW_SLOTTED_L1D_VETO_FLAG = 0x0020, /* L1D: bad 32k slotted veto */
+ PSW_SLOTTED_SPARE_VETO_FLAG10 = 0x0040, /* Spare */
+ PSW_SLOTTED_SPARE_VETO_FLAG9 = 0x0080, /* Spare */
+ PSW_SLOTTED_SPARE_VETO_FLAG8 = 0x0100, /* Spare */
+ PSW_SLOTTED_SPARE_VETO_FLAG7 = 0x0200, /* Spare */
+ PSW_SLOTTED_SPARE_VETO_FLAG6 = 0x0400, /* Spare */
+ PSW_SLOTTED_SPARE_VETO_FLAG5 = 0x0800, /* Spare */
+ PSW_SLOTTED_SPARE_VETO_FLAG4 = 0x1000, /* Spare */
+ PSW_SLOTTED_SPARE_VETO_FLAG3 = 0x2000, /* Spare */
+ PSW_SLOTTED_SPARE_VETO_FLAG2 = 0x4000, /* Spare */
+ PSW_SLOTTED_SPARE_VETO_FLAG1 = 0x8000, /* Spare */
+} PswSlottedVetoFlagT;
+
+typedef struct
+{
+ PswSlottedVetoFlagT flag;
+ kal_bool vetoSlotted;
+} PswSlottedVetoMsgT;
+
+typedef struct
+{
+ ExeRspMsgT RspInfo; /* Response routing information */
+ kal_uint8 SIP_PASSWORD[HLP_MAX_PSWD_LEN];
+} PswSetSIPpasswordMsgT;
+
+typedef struct
+{
+ ExeRspMsgT RspInfo; /* Response routing information */
+} PswGetSIPpasswordMsgT;
+
+typedef struct
+{
+ kal_bool Valid;
+ kal_uint8 Pswd[HLP_MAX_PSWD_LEN];
+} PswGetSIPpasswordRspMsgT;
+
+
+typedef struct
+{
+ ExeRspMsgT RspInfo; /* Response routing information */
+} PswGetMIPkeysMsgT;
+
+typedef struct
+{
+ kal_bool Valid;
+ kal_uint8 MN_AAA_PASSWORD[HLP_MN_PASSWD_MAX_SIZE]; /* MIP AAA Shared Secret*/
+ kal_uint8 MN_HA_PASSWORD[HLP_MN_PASSWD_MAX_SIZE]; /* MIP HA Shared Secret */
+} PswGetMIPkeysRspMsgT;
+
+typedef struct
+{
+ kal_uint32 SPC;
+} PswSetSPCMsgT;
+
+/* MSG_ID_PSW_VAL_SET_SO_SUPPORT_MSG */
+typedef struct
+{
+ kal_uint16 ServiceOption;
+ kal_bool Supported;
+} PswSetSoSupportMsgT;
+
+/* Must match ETS ps_msg.txt enum
+ IP Password Update Response.
+ */
+typedef enum
+{
+ SUCCESS_0,
+ PS_NOT_POWERED_UP,
+ DATA_SERVICES_NOT_SUPPORTED,
+ MOBILE_IP_NOT_SUPPORTED,
+ PREVIOUS_WRITE_NOT_FINISHED,
+ DATA_OUT_OF_RANGE,
+ CHECKSUM_MISMATCH,
+ SECURITY_CODE_OR_SPC_MISMATCH
+ ,UICC_UPDATE_PROHIBITED
+} PswSetSecureDataRspCode;
+
+typedef struct
+{
+ kal_bool Result;
+ PswSetSecureDataRspCode ResponseCode;
+} PswSetSecureDataRspMsgT;
+
+typedef struct
+{
+ ExeRspMsgT RspInfo;
+} PswGetSpcMsgT;
+
+typedef struct
+{
+ ExeRspMsgT RspInfo;
+} PswGetSSDMsgT;
+
+typedef struct
+{
+ kal_bool Valid;
+ kal_uint32 SPC;
+} PswGetSpcRspMsgT;
+
+typedef struct
+{
+ kal_bool Valid;
+ kal_uint8 SSD_A[8];
+ kal_uint8 SSD_B[8];
+} PswGetSSDRspMsgT;
+
+typedef struct
+{
+ ExeRspMsgT RspInfo;
+} PswGetCpBcToCdmaBcMsgT;
+
+typedef struct
+{
+ kal_uint8 namIndex;
+ kal_uint8 bandClass;
+ kal_uint32 subBandMask;
+ kal_uint8 calibTable;
+} BandInfoT;
+
+typedef struct
+{
+ kal_uint8 numBandsSupported;
+ BandInfoT bandInfo[NAM_BANDS_SUPPORTED];
+} PswGetCpBcToCdmaBcRspMsgT;
+
+/* Set Lost Scan Ping Frequency message */
+typedef struct
+{
+ kal_uint8 Geo_Scan_Ping_Frequency;
+ kal_uint8 Non_Geo_Scan_Ping_Frequency;
+} PswSetLostScanPingFrequencyMsgT;
+
+
+typedef enum
+{
+ PSW_SET_MDN_SUCCESS,
+ PSW_SET_MDN_FAIL_INVALID_CHARS,
+ PSW_SET_MDN_FAIL_INVALID_NUM_DIGITS,
+ PSW_SET_MDN_END_RESULT
+}PswSetMdnResponse;
+
+typedef enum
+{
+ PSW_SET_IMSI_SUCCESS,
+ PSW_SET_IMSI_FAIL_INVALID_CHARS = 7,
+ PSW_SET_IMSI_FAIL_INVALID_NUM_DIGITS = 13,
+ PSW_SET_IMSI_FAIL_INVALID_MCC_CHARS = 14,
+ PSW_SET_IMSI_FAIL_INVALID_IMSI_11_12_CHARS = 15,
+ PSW_SET_IMSI_END_RESULT
+}PswWriteRawImsiResponse;
+
+typedef struct
+{
+ ExeRspMsgT RspInfo;
+ char Mdn_Digits[NAM_MAX_MDN_DIGITS]; /* A NULL Terminated String */
+} PswWriteRawMDNMsg;
+
+typedef struct
+{
+ PswSetMdnResponse result;
+} PswSetRawMDNRspMsg;
+
+typedef struct
+{
+ kal_bool Mode;
+} PswUiccFactoryModeMsgT;
+
+typedef enum
+{
+ PSW_PARM_SET_ESN_MEID, /* 0 */
+ PSW_PARM_GET_ESN_MEID, /* 1 */
+ PSW_PARM_SET_SPC, /* 2 */
+ PSW_PARM_GET_SPC, /* 3 */
+ PSW_PARM_SET_AKEY, /* 4 */
+ PSW_PARM_GET_AKEY, /* 5 */
+ PSW_PARM_SET_MSID, /* 6 */
+ PSW_PARM_GET_MSID, /* 7 */
+ PSW_PARM_SET_PREV, /* 8 */
+ PSW_PARM_GET_PREV, /* 9 */
+ PSW_PARM_SET_POSITIVE_SID_NID_LIST, /* 10 */
+ PSW_PARM_GET_POSITIVE_SID_NID_LIST, /* 11 */
+ PSW_PARM_SET_NEGATIVE_SID_NID_LIST, /* 12 */
+ PSW_PARM_GET_NEGATIVE_SID_NID_LIST, /* 13 */
+ PSW_PARM_SET_PRI_SEC_CH, /* 14 */
+ PSW_PARM_GET_PRI_SEC_CH, /* 15 */
+ PSW_PARM_SET_SYSTEM_SELECT, /* 16 */
+ PSW_PARM_GET_SYSTEM_SELECT, /* 17 */
+ PSW_PARM_SET_SLOT_CYCLE_INDEX, /* 18 */
+ PSW_PARM_GET_SLOT_CYCLE_INDEX, /* 19 */
+ PSW_PARM_SET_MDN, /* 20 */
+ PSW_PARM_GET_MDN, /* 21 */
+ PSW_PARM_SET_PRL_ENABLE, /* 22 */
+ PSW_PARM_GET_PRL_ENABLE, /* 23 */
+ PSW_PARM_SET_HOME_SYS_REGISTRATION, /* 24 */
+ PSW_PARM_GET_HOME_SYS_REGISTRATION, /* 25 */
+ PSW_PARM_SET_FOREIGN_SID_REGISTRATION, /* 26 */
+ PSW_PARM_GET_FOREIGN_SID_REGISTRATION, /* 27 */
+ PSW_PARM_SET_FOREIGN_NID_REGISTRATION, /* 28 */
+ PSW_PARM_GET_FOREIGN_NID_REGISTRATION, /* 29 */
+ PSW_PARM_SET_ACCESS_OVERLOAD_CLASS, /* 30 */
+ PSW_PARM_GET_ACCESS_OVERLOAD_CLASS, /* 31 */
+ PSW_PARM_SET_CDMA_PREF_BAND, /* 32 */
+ PSW_PARM_GET_CDMA_PREF_BAND, /* 33 */
+ PSW_PARM_SET_CDMA_PREF_AorB, /* 34 */
+ PSW_PARM_GET_CDMA_PREF_AorB, /* 35 */
+ PSW_PARM_SET_SCM, /* 36 */
+ PSW_PARM_GET_SCM, /* 37 */
+ PSW_PARM_SET_PRL_INFO, /* 38 */
+ PSW_PARM_GET_PRL_INFO, /* 39 */
+ PSW_PARM_SET_OTAPA_ENABLE, /* 40 */
+ PSW_PARM_GET_OTAPA_ENABLE, /* 41 */
+ PSW_PARM_SET_OTA_POWERUP_MODE, /* 42 */
+ PSW_PARM_GET_OTA_POWERUP_MODE, /* 43 */
+ PSW_PARM_SET_IMSI_S1, /* 44 */
+ PSW_PARM_GET_IMSI_S1, /* 45 */
+ PSW_PARM_SET_IMSI_S2, /* 46 */
+ PSW_PARM_GET_IMSI_S2, /* 47 */
+ PSW_PARM_SET_SPC_CHANGE_ENABLE, /* 48 */
+ PSW_PARM_GET_SPC_CHANGE_ENABLE, /* 49 */
+ PSW_PARM_SET_SPASM_ENABLE, /* 50 */
+ PSW_PARM_GET_SPASM_ENABLE, /* 51 */
+ PSW_PARM_SET_SID_NID_LIST_SP, /* 52 */
+ PSW_PARM_GET_SID_NID_LIST_SP, /* 53 */
+ PSW_PARM_SET_DISTANCE_BASED_PARMS, /* 54 */
+ PSW_PARM_GET_DISTANCE_BASED_PARMS, /* 55 */
+ PSW_PARM_SET_ENCODED_MSID, /* 56 */
+ PSW_PARM_GET_ENCODED_MSID, /* 57 */
+ PSW_PARM_SET_ENABLE_OTA, /* 58 */
+ PSW_PARM_GET_ENABLE_OTA, /* 59 */
+ PSW_PARM_SET_PREF_HOME_MO_SO, /* 60 */
+ PSW_PARM_GET_PREF_HOME_MO_SO, /* 61 */
+ PSW_PARM_SET_PREF_ROAM_MO_SO, /* 62 */
+ PSW_PARM_GET_PREF_ROAM_MO_SO, /* 63 */
+ PSW_PARM_SET_PREF_HOME_MT_SO, /* 64 */
+ PSW_PARM_GET_PREF_HOME_MT_SO, /* 65 */
+ PSW_PARM_SET_UNUSED_1, /* 66 AVAILABLE for use */
+ PSW_PARM_GET_UNUSED_1, /* 67 AVAILABLE for use */
+ PSW_PARM_SET_A21_MS_SUBSCRIPTION_INFO, /* 68 */
+ PSW_PARM_GET_A21_MS_SUBSCRIPTION_INFO, /* 69 */
+ PSW_PARM_GET_SLOTTED_MODE_ALLOWED_OBSOLETE, /* 70 */
+ PSW_PARM_SET_VOICE_SERVICE_ALLOWED, /* 71 */
+ PSW_PARM_GET_VOICE_SERVICE_ALLOWED, /* 72 */
+ PSW_PARM_SET_ROAM_SETTING_DOMESTIC_VOICE, /* 73 */
+ PSW_PARM_GET_ROAM_SETTING_DOMESTIC_VOICE, /* 74 */
+ PSW_PARM_SET_ROAM_SETTING_DOMESTIC_DATA, /* 75 */
+ PSW_PARM_GET_ROAM_SETTING_DOMESTIC_DATA, /* 76 */
+ PSW_PARM_SET_ROAM_SETTING_INTERNATIONAL_VOICE, /* 77 */
+ PSW_PARM_GET_ROAM_SETTING_INTERNATIONAL_VOICE, /* 78 */
+ PSW_PARM_SET_ROAM_SETTING_INTERNATIONAL_DATA, /* 79 */
+ PSW_PARM_GET_ROAM_SETTING_INTERNATIONAL_DATA, /* 80 */
+ PSW_PARM_SET_DDTM_MODE_ENABLED, /* 81 */
+ PSW_PARM_GET_DDTM_MODE_ENABLED, /* 82 */
+ PSW_PARM_SET_SO_SUPPORT, /* 83 */
+ PSW_PARM_GET_SO_SUPPORT, /* 84 */
+ PSW_PARM_SET_SLOTTED_MODE_ALLOWED = 85, /* for ETS compatibility with platform not having 71 to 84 in ETS definitions */
+ PSW_PARM_GET_SLOTTED_MODE_ALLOWED,
+ PSW_PARM_SET_SIM_QPCH_ENABLED,
+ PSW_PARM_GET_SIM_QPCH_ENABLED,
+ PSW_PARM_SET_DIV_SUPPORT,
+ PSW_PARM_GET_DIV_SUPPORT,
+ PSW_PARM_SET_QPCH_ENABLE_DYNAMIC_CTRL,
+ PSW_PARM_GET_QPCH_ENABLE_DYNAMIC_CTRL,
+ PSW_PARM_SET_QPCH_CCI_ENABLED,
+ PSW_PARM_GET_QPCH_CCI_ENABLED,
+ PSW_PARM_SET_1XADV_ENABLED,
+ PSW_PARM_GET_1XADV_ENABLED,
+ PSW_PARM_SET_SO73_CONTROL,
+ PSW_PARM_GET_SO73_CONTROL,
+ PSW_PARM_SET_DFS_ECIO_THRESH,
+ PSW_PARM_GET_DFS_ECIO_THRESH,
+ PSW_PARM_SET_IC_MODE,
+ PSW_PARM_GET_IC_MODE,
+ PSW_PARM_VALAT_SET_PRL_ENABLE,
+ PSW_PARM_VALAT_GET_PRL_ENABLE,
+#ifdef MTK_CBP
+ PSW_PARM_SET_ROAM_SETTING_BITMAP, /* bitmap of all roaming setting */
+ PSW_PARM_GET_ROAM_SETTING_BITMAP, /* bitmap of all roaming setting */
+#endif
+
+/* IMPORTANT:
+ when adding new parameters to the list, add BOTH SET and GET,
+ even if one of them is not used/implemented */
+ PSW_PARM_OPERATION_ID_END_LIST
+} PswParmOperationId;
+
+typedef enum
+{
+ PSW_PARM_OPERATION_SUCCESS,
+ PSW_PARM_OPERATION_FAIL_READ_NOT_ALLOWED,
+ PSW_PARM_OPERATION_FAIL_WRITE_NOT_ALLOWED,
+ PSW_PARM_OPERATION_NOT_ALLOWED_IN_PS_STATE,
+ PSW_PARM_OPERATION_FAIL_INVALID_PTR,
+ PSW_PARM_OPERATION_FAIL_INVALID_LENGTH,
+ PSW_PARM_OPERATION_FAIL_INVALID_AKEY_CHECKSUM,
+ PSW_PARM_OPERATION_FAIL_SET_MSID_INVALID_CHARS,
+ PSW_PARM_OPERATION_FAIL_INVALID_CHANNEL,
+ PSW_PARM_OPERATION_GENERAL_FAILURE,
+ PSW_PARM_OPERATION_FAIL_SET_MDN_INVALID_CHARS,
+ PSW_PARM_OPERATION_FAIL_SET_MDN_INVALID_NUM_DIGITS,
+ PSW_PARM_OPERATION_NO_CHANGE_IN_VALUE,
+ PSW_PARM_OPERATION_FAIL_VALUE_OUT_OF_RANGE,
+ PSW_PARM_OPERATION_FAIL_SET_MSID_INVALID_NUM_DIGITS,
+ PSW_PARM_OPERATION_FAIL_SET_MSID_INVALID_MCC_CHARS,
+ PSW_PARM_OPERATION_FAIL_SET_MSID_INVALID_IMSI_11_12_CHARS,
+ PSW_PARM_OPERATION_FAIL_PRL_INVALID,
+ PSW_PARM_OPERATION_FAIL_IMSI_DIGITS_OUT_OF_RANGE,
+ PSW_PARM_OPERATION_FAIL_OP_TYPE_NOT_SUPPORTED,
+ PSW_PARM_OPERATION_FAIL_DEFAULT_NOT_DEFINED,
+ PSW_PARM_OPERATION_FAIL_DEFAULT_NOT_SUPPORTED_FOR_PARM,
+ PSW_PARM_OPERATION_FAIL_SERVICE_OPTION_NOT_SUPPORTED,
+ PSW_PARM_OPERATION_FAIL_UICC_WRITE_ERROR,
+ PSW_PARM_OPERATION_FAIL_UICC_PARM_NOT_UPDATEABLE,
+ PSW_PARM_OPERATION_RESULT_END_LIST
+}PswParmAccessResultCode;
+
+typedef enum
+{
+ UPDATE_MSID_IMSI_M,
+ UPDATE_MSID_IMSI_T,
+ UPDATE_MSID_LIST_END
+} PswMsidFieldToUpdate;
+
+typedef enum
+{
+ PSW_PARM_ESN,
+ PSW_PARM_MEID,
+ PSW_PARM_SPC,
+ PSW_PARM_POS_SID_NID_LIST,
+ PSW_PARM_NEG_SID_NID_LIST,
+ PSW_PARM_SYSTEM_SELECT,
+ PSW_PARM_PRI_SEC_CH,
+ PSW_PARM_AKEY,
+ PSW_PARM_MSID,
+ PSW_PARM_ID_END
+} PswParmID;
+
+typedef enum
+{
+ PSW_PARM_MIN_VALUE,
+ PSW_PARM_MAX_VALUE,
+ PSW_PARM_DEFAULT_VALUE,
+ PSW_PARM_CUSTOM_VALUE,
+ PSW_PARM_OP_TYPE_LIST_END
+} PswParmOperationType;
+
+typedef struct
+{
+ kal_uint64 meid;
+ kal_uint32 esn;
+ kal_uint64 akey;
+ MobileIDType type;
+} PswEsnMeid_APIStruct;
+
+typedef struct
+{
+ kal_uint64 Akey;
+ kal_uint32 checkSum;
+} PswAkey_APIStruct;
+
+typedef struct
+{
+ kal_uint8 PRev;
+} PswPRev_APIStruct;
+
+typedef struct
+{
+ kal_uint8 SCM[NAM_BANDS_SUPPORTED];
+} PswSCM_APIStruct;
+
+typedef struct
+{
+ kal_uint16 SID[MAX_POSITIVE_SIDS];
+ kal_uint16 NID[MAX_POSITIVE_SIDS];
+ kal_uint32 max_count_in_List;
+} PswSIDNIDList_APIStruct;
+
+typedef struct
+{
+ kal_uint32 SPC;
+} PswSPC_APIStruct;
+
+typedef struct
+{
+ SystemSelectType systemSelect;
+} PswSysSelect_APIStruct;
+
+typedef struct
+{
+ kal_bool setA;
+ kal_uint16 CPC_A;
+ kal_uint16 CSC_A;
+ kal_bool setB;
+ kal_uint16 CPC_B;
+ kal_uint16 CSC_B;
+} PswPriSecCh_APIStruct;
+
+typedef struct
+{
+ PswMsidFieldToUpdate UpdateField;
+ char Imsi_Digits[MAX_IMSI_S_DIGITS]; /* A NULL Terminated String */
+ kal_uint8 UpdateIMSI_11_12;
+ char IMSI_11_12[MAX_MNC_DIGITS]; /* A NULL Terminated String */
+ kal_uint8 UpdateMCC;
+ char MCC[MAX_MCC_DIGITS]; /* A NULL Terminated String */
+ kal_uint8 overwrite_mdn_with_imsi_s;
+} PswSetRawMSID_APIStruct;
+
+typedef struct
+{
+ PswMsidFieldToUpdate UpdateField;
+ char Imsi_Digits[MAX_IMSI_S1_DIGITS]; /* A NULL Terminated String */
+} PswSetIMSIS1_APIStruct;
+
+typedef struct
+{
+ PswMsidFieldToUpdate UpdateField;
+ char Imsi_Digits[MAX_IMSI_S2_DIGITS]; /* A NULL Terminated String */
+} PswSetIMSIS2_APIStruct;
+
+typedef struct
+{
+ PswMsidFieldToUpdate Field;
+} PswGetIMSIS12_APIStruct;
+
+typedef struct
+{
+ PswMsidFieldToUpdate Field;
+ kal_uint8 Imsi_Digits[MAX_IMSI_S1_DIGITS]; /* A NULL Terminated String */
+} PswGetIMSIS1Rsp_APIStruct;
+
+typedef struct
+{
+ PswMsidFieldToUpdate Field;
+ kal_uint8 Imsi_Digits[MAX_IMSI_S2_DIGITS]; /* A NULL Terminated String */
+} PswGetIMSIS2Rsp_APIStruct;
+
+typedef struct
+{
+ kal_uint8 PrefMode;
+} PswPrefMode_APIStruct;
+
+typedef struct
+{
+ ExeRspMsgT RspInfo;
+ PswSetRawMSID_APIStruct RawImsi;
+} PswWriteRawIMSIMsgT;
+
+typedef struct
+{
+ PswWriteRawImsiResponse result;
+} PswSetRawIMSIRspMsg;
+
+typedef struct
+{
+ kal_uint8 ValidIMSImap; /* bit0: IMSI_M, bit1:IMSI_T */
+ kal_uint8 M_MCC[3]; /* MCC raw digits */
+ kal_uint8 M_IMSI_11_12[2]; /* M_IMSI_11_12 raw digits */
+ kal_uint8 M_IMSI_S[10]; /* M_IMSI_S raw digits */
+ kal_uint8 M_IMSI_Class;
+ kal_uint8 M_AddrNum;
+ kal_uint8 T_MCC[3]; /* MCC raw digits */
+ kal_uint8 T_IMSI_11_12[2]; /* M_IMSI_11_12 raw digits */
+ kal_uint8 T_IMSI_S[10]; /* M_IMSI_S raw digits */
+ kal_uint8 T_IMSI_Class;
+ kal_uint8 T_AddrNum;
+ kal_uint8 Mdn[NAM_MAX_MDN_DIGITS]; /* MDN max 16 digits */
+ kal_uint8 MDN_NUM_DIGITS; /* MDN number digits */
+ kal_uint8 ACCOLCp; /* access overload class */
+} PswGetRawMSID_APIStruct;
+
+typedef struct
+{
+ PswMsidFieldToUpdate Field;
+} PswGetEncodedMSIDMsg_APIStruct;
+
+typedef struct
+{
+ PswMsidFieldToUpdate Field; /*IMSI_M or IMSI_T*/
+ kal_uint16 mcc; /* Mobile Country Code */
+ kal_uint8 imsi_11_12; /* 7 bit IMSI_11_12 */
+ kal_uint16 imsi_s2; /* 10 bit IMSI_S2 value */
+ kal_uint32 imsi_s1; /* 24 bit IMSI_S1 value */
+ kal_uint8 imsiClass; /* CP_IMSI_CLASS_0/1 indication */
+ kal_uint8 addrNum; /* number of digits in NMSI - 4 */
+} PswGetEncodedMSIDRsp_APIStruct;
+
+typedef struct
+{
+ PswMsidFieldToUpdate Field; /*IMSI_M or IMSI_T*/
+ kal_bool updateMcc;
+ kal_uint16 mcc; /* Mobile Country Code */
+ kal_bool updateImsi_11_12;
+ kal_uint8 imsi_11_12; /* 7 bit IMSI_11_12 */
+ kal_bool updateImsi_s2;
+ kal_uint16 imsi_s2; /* 10 bit IMSI_S2 value */
+ kal_bool updateImsi_s1;
+ kal_uint32 imsi_s1; /* 24 bit IMSI_S1 value */
+ kal_bool updateImsiClass;
+ kal_uint8 imsiClass; /* CP_IMSI_CLASS_0/1 indication */
+ kal_bool updateAddrNum;
+ kal_uint8 addrNum; /* number of digits in NMSI - 4 */
+} PswSetEncodedMSID_APIStruct;
+
+
+typedef struct
+{
+ kal_uint8 Slot_Cycle_Index;
+} PswSlotCycleIndex_APIStruct;
+
+typedef struct
+{
+ char Mdn_Digits[NAM_MAX_MDN_DIGITS]; /* A NULL Terminated String - Max length
+ of 16 */
+} PswRawMdn_APIStruct;
+
+typedef struct
+{
+ kal_bool Prl_Enable;
+} PswPrlEnable_APIStruct;
+
+typedef struct
+{
+ kal_bool Home_System_Registration;
+} PswHomeSysReg_APIStruct;
+
+typedef struct
+{
+ kal_bool Foreign_Sid_Registration;
+} PswForeignSidReg_APIStruct;
+
+typedef struct
+{
+ kal_bool Foreign_Nid_Registration;
+} PswForeignNidReg_APIStruct;
+
+typedef struct
+{
+ kal_uint8 Accolc;
+} PswAccolc_APIStruct;
+
+typedef enum
+{
+ ENG_PREF_SYS_A,
+ ENG_PREF_SYS_B,
+ ENG_PREF_SYS_A_ONLY,
+ ENG_PREF_SYS_B_ONLY,
+ CDMA_PREF_AorB_END
+} PswCdmaPrefAorB;
+
+typedef struct
+{
+ PswCdmaPrefAorB CDMAAorB;
+} PswPrefCDMA_AorB_APIStruct;
+
+typedef enum
+{
+ ENG_PREF_BAND_0,
+ ENG_PREF_BAND_1,
+ ENG_PREF_BAND_0_ONLY,
+ ENG_PREF_BAND_1_ONLY,
+ ENG_PREF_BAND_2_ONLY,
+ ENG_PREF_BAND_3_ONLY,
+ ENG_PREF_BAND_4_ONLY,
+ ENG_PREF_BAND_5_ONLY,
+ ENG_PREF_BAND_6_ONLY,
+ ENG_PREF_BAND_7_ONLY,
+ ENG_PREF_BAND_8_ONLY,
+ ENG_PREF_BAND_9_ONLY,
+ ENG_PREF_BAND_10_ONLY,
+ ENG_PREF_BAND_11_ONLY,
+ ENG_PREF_BAND_12_ONLY,
+ ENG_PREF_BAND_13_ONLY,
+ ENG_PREF_BAND_14_ONLY,
+ ENG_PREF_BAND_15_ONLY,
+ ENG_PREF_BAND_16_ONLY,
+ ENG_NO_PREF_BAND=255,
+ CDMA_PREF_BAND_END
+} PswCdmaPrefBand;
+
+typedef struct
+{
+ PswCdmaPrefBand prefBand;
+} PswPrefCDMA_Band_APIStruct;
+
+typedef struct
+{
+ kal_bool pref_only;
+ kal_uint16 prlId;
+ kal_uint8 prl_prev;
+ kal_uint8 defaultRoamInd;
+} PswPrlInfo_APIStruct;
+
+typedef struct
+{
+ kal_bool OTAPAEnable;
+} PswOTAPAEnable_APIStruct;
+
+typedef struct
+{
+ kal_bool SPCChangeEnable;
+} PswSPCChangeEnable_APIStruct;
+
+typedef struct
+{
+ kal_bool SPASMEnable;
+} PswSPASMEnable_APIStruct;
+
+typedef struct
+{
+ kal_bool EnableOTA;
+}PswEnableOTA_APIStruct;
+
+typedef struct
+{
+ kal_uint8 Mode; /* See enum OtaCompletePowerupModeType */
+} PswOTAPowerupMode_APIStruct;
+
+typedef struct
+{
+ kal_int32 BASE_LAT_REGsp;
+ kal_int32 BASE_LONG_REGsp;
+ kal_uint16 REG_DIST_REGsp;
+} PswDistanceBasedParms_APIStruct;
+
+typedef struct
+{
+ kal_bool ValidSidNidEntry;
+ kal_uint16 sid; /* system id */
+ kal_uint16 nid; /* network id */
+ kal_uint16 ageTimer; /* age limit in seconds */
+ kal_bool timerEnabled;
+ kal_uint8 block; /* PCS block or serving system */
+ SysCdmaBandT bandClass;
+} PswSidNidListsp_APIStruct;
+
+
+typedef struct
+{
+ kal_uint8 Len;
+ kal_uint8 A21MsSubscriptionInfo[PSW_MAX_A21_MS_SUBS_INFO_LEN];
+} PswA21MsSubscriptionInfo_APIStruct;
+
+typedef struct
+{
+ kal_bool RoamingSetting;
+} PswRoamingSetting_APIStruct;
+
+typedef struct
+{
+ /*
+ * ROAM_SETTING_DOMESTIC_VOICE 0x01 Sprint Allow voice roaming on domestic system
+ * ROAM_SETTING_DOMESTIC_DATA 0x02 Sprint Allow data roaming on domestic system
+ * ROAM_SETTING_INT_VOICE 0x04 Sprint Allow voice romaing on international system
+ * ROAM_SETTING_INT_DATA 0x08 Sprint Allow data roaming on international system
+ * ROAM_SETTING_LTE_DATA 0x10 Sprint Allow LTE data roaming, not used in C2K saved only for AP get */
+ kal_uint8 RoamingSettingBitMap;
+} PswRoamingSettingBitMap_APIStruct;
+
+typedef struct
+{
+ kal_uint16 ServiceOption;
+ kal_bool Supported;
+} PswSOSupport_APIStruct;
+
+typedef struct
+{
+ kal_uint16 ServiceOption;
+} PswGetSOSupport_APIStruct;
+
+typedef enum
+{
+ DIV_OFF,
+ DIV_ON_DYNAMIC,
+ DIV_UNDEFINED,
+ DIV_ON_STATIC
+}PswPhyDiversityModeT; /* must map into DSPM API IC Mode */
+
+typedef struct
+{
+ PswPhyDiversityModeT EnabledDiv;
+} PswDivSupport_APIStruct;
+
+typedef struct
+{
+ kal_bool SO73Enabled;
+ kal_bool SO73WBEnabled;
+} PswSO73Control_APIStruct;
+
+typedef struct
+{
+ kal_bool Cdma1xAdvEnabled;
+} Psw1xAdvEnabled_APIStruct;
+
+typedef struct
+{
+ kal_uint8 Strength;
+} PswDfsEcIoThresh_APIStruct;
+
+typedef enum
+{
+ IC_NORMAL,
+ IC_DBG_SRCH_DLY,
+ IC_DBG_IC_DLY,
+ IC_DBG_BYPASS,
+ IC_OFF = 0xF
+}PswPhyICModeT; /* must map into DSPM API IC Mode */
+
+typedef struct
+{
+ PswPhyICModeT ICMode;
+} PswPhyICMode_APIStruct;
+typedef enum
+{
+ MS_MODE_UNKNOWN,
+ MSA,
+ MSB,
+ MSS,
+ /*ControlPlane=4 is changed to ControlPlne=8, for klocwork warning,corresponding to ValGpsFixModeT*/
+ ControlPlane=8,
+ SUPL_MSA,
+ SUPL_MSB,
+}GPS_FIX_MODE;
+
+typedef struct
+{
+ kal_uint32 InstanceID;
+ GPS_FIX_MODE FixMode;
+ kal_uint32 NumFixes;
+ kal_uint32 TimeBFixes;
+ kal_uint32 HorizontalAccuracy;
+ kal_uint32 VerticalAccuracy;
+ kal_uint32 PseudorangeAccuracy;
+ kal_bool OnCTNtwk;
+#ifdef MTK_DEV_GPSONE_ON_LTE
+ kal_int32 RatMode;
+#endif
+ kal_uint32 Performance;
+ kal_uint8 GpsMode;
+ kal_uint8 flag_gps; //0--AP, 1--3rd, 2--others
+} PswIs801SessionStartMsgT;
+
+typedef struct
+{
+ kal_uint32 InstanceID;
+ kal_uint8 flag_gps; //0--AP, 1--3rd, 2--others
+}PswIs801SessCancelReqMsgT;
+
+typedef struct
+{
+ kal_uint32 Index;
+}PswIs801TimerExpMsgT;
+
+typedef struct
+{
+ kal_bool Success;
+}PswIs801TcpConnStatusMsgT;
+
+typedef struct
+{
+ kal_uint32 EphSysTime;
+ kal_uint32 AlmSysTime;
+ kal_uint32 EphTimeInterval;
+ kal_uint32 AlmTimeInterval;
+}PswIs801EphAlmSystimeMsgT;
+
+typedef struct
+{
+ kal_uint32 InstanceID;
+}PswIs801MssDoneMsgT;
+
+typedef struct
+{
+ kal_uint8 enable;
+}PswIs801NmeaOutputSettingMsgT;
+
+typedef struct
+{
+ kal_uint8 Conn;
+ kal_uint32 InstID;
+}PswIs801MpcConnStatusMsgT;
+
+typedef struct
+{
+ kal_uint8 CustomerId;
+}PswIs801CustomerSettingMsgT;
+
+typedef struct
+{
+ kal_uint16 refPn;
+ kal_uint32 refTime;
+ kal_uint16 timeOffset;
+}PswLecSessionEndRspMsgT;
+
+typedef struct
+{
+ kal_uint16 PrefHomeMOServiceOption;
+}PswPrefHomeMOSO_APIStruct;
+
+typedef struct
+{
+ kal_uint16 PrefRoamMOServiceOption;
+}PswPrefRoamMOSO_APIStruct;
+
+typedef struct
+{
+ kal_uint16 PrefHomeMTServiceOption;
+}PswPrefHomeMTSO_APIStruct;
+
+
+typedef struct
+{
+ kal_bool isVoiceServiceAllowed;
+} PswVoiceMode_APIStruct;
+
+typedef struct
+{
+ kal_bool isDdtmEnabled;
+} PswDdtmEnable_APIStruct;
+
+typedef struct
+{
+ kal_bool Enabled;
+} PswFeatureEnabled_APIStruct;
+
+typedef struct
+{
+ kal_bool Enabled;
+ kal_uint16 ThreshLow;
+ kal_uint16 ThreshHigh;
+} PswQpchEnableDynamicCtrl_APIStruct;
+
+#ifdef FIELD_TEST_DATA
+
+typedef struct
+{
+ kal_uint16 SchMux;
+ kal_uint8 SchRc;
+ kal_uint8 SchStatus;
+ kal_uint16 SchDuration;
+ kal_uint8 SchRate;
+} PswSchCcT;
+
+typedef struct
+{
+ kal_uint8 cpState; /*CP state*/
+ kal_uint16 channel; /* Current channel number */
+ kal_uint16 bandClass; /* Current band class */
+ kal_uint16 pilotPNOffset; /* Pilot PN offset */
+ kal_uint8 pageChannel; /* Current page channel Walsh code*/
+ kal_uint8 pageChanRate; /*page channel rate, 0 is full rate(9600), 1 is half rate(4800)*/
+ kal_uint8 block; /* Current CDMA block */
+ kal_uint16 sid; /* System ID */
+ kal_uint16 nid; /* Network ID */
+ kal_uint8 SysDetIndication; /* Reason for entering System Determination */
+ kal_uint8 roam; /* Roam status */
+ kal_uint16 baseId; /* Base station ID */
+ kal_uint16 regZone; /* registration zone */
+ kal_uint32 baseLat; /* latitude from base last registered on */
+ kal_uint32 baseLong; /* longitude from base last registered on */
+ kal_uint8 P_REV; /* Protocol Revision Level (from Sync Channel Message)*/
+ kal_uint8 MIN_P_REV; /* Minimum protocol revision required by MS (from Sync Channel Message)*/
+ kal_uint8 networkPrefSCI; /* max slot cycle index value */
+ kal_bool slotMode; /* slotted Mode (Enabled Or Disable) */
+ kal_bool qpchMode; /* qpch Mode (Enabled Or Disable) */
+ kal_uint16 mcc; /* Mobile Country Code (from extended system parameter message)*/
+ kal_uint8 imsi_11_12; /* Mobile Network Code (from extended system parameter message)*/
+ kal_uint8 SSPR_P_REV_INUSE; /* Current PRL Protocol Revision */
+
+ kal_uint8 currentPacketZoneID; /* Current packet zone ID */
+ kal_uint16 serviceOption; /* Current Service Option */
+ PswSchCcT forSch0Cc; /* Channel configuration of forward supplement channel */
+ PswSchCcT revSch0Cc; /* channel configuration of reverse supplement channel */
+
+ kal_int16 rxPower; /* Rx power */
+ kal_int16 txPower; /* Tx power */
+ kal_uint16 pilotPN[SYS_CP_MAX_ACTIVE_LIST_PILOTS]; /* Pilot PN of the list in active set */
+ kal_uint16 pilotEcIo[SYS_CP_MAX_ACTIVE_LIST_PILOTS]; /* Pilot Ec/Io of the list in active set */
+ kal_uint16 pilotPhase[SYS_CP_MAX_ACTIVE_LIST_PILOTS]; /* Pilot phase of the list in active set*/
+ kal_uint8 numInActiveSet; /* Number of records in active set */
+ kal_uint16 candPilotPN[SYS_CP_MAX_CANDIDATE_LIST_PILOTS]; /* Pilot PN of the list in candidate set */
+ kal_uint16 candPilotEcIo[SYS_CP_MAX_CANDIDATE_LIST_PILOTS]; /* Pilot Ec/Io of the list in candidate set */
+ kal_uint16 candPilotPhase[SYS_CP_MAX_CANDIDATE_LIST_PILOTS]; /* Pilot phase of the list in candidate set*/
+ kal_uint8 numInCandSet; /* Number of records in candidate set */
+ kal_uint16 nghbrPilotPN[SYS_CP_MAX_NEIGHBOR_LIST_PILOTS]; /* Pilot PN of the list in neighbor set */
+ kal_uint16 nghbrPilotEcIo[SYS_CP_MAX_NEIGHBOR_LIST_PILOTS]; /* Pilot Ec/Io of the list in neighbor set */
+ kal_uint16 nghbrPilotPhase[SYS_CP_MAX_NEIGHBOR_LIST_PILOTS]; /* Pilot phase of the list in neighbor set*/
+ kal_uint8 numInNghbrSet; /* Number of records in neighbor set */
+ kal_uint16 FER; /* Frame Error Rate per thousand */
+ kal_uint16 TxAdj; /* Adjust gain of the Tx power */
+
+ kal_uint32 total_msg; /* Number of paging ch messages received */
+ kal_uint32 error_msg; /* Number of paging ch messages with bad crc */
+ kal_uint16 acc_1; /* number of layer 3 requests messages generated */
+ kal_uint16 acc_2; /* number of layer 3 response messages generated */
+ kal_uint16 acc_8; /* number of unsuccessful access attempts */
+
+ kal_uint16 dpchLoss_count; /* Count of paging ch declared */
+ kal_uint16 dtchLoss_count; /* Count of dedicated traffic CH Loss*/
+ kal_uint32 idleHO_count; /* Count of idle handoff*/
+ kal_uint16 hardHO_count; /* Count of hard handoff*/
+ kal_uint16 interFreqIdleHO_count; /* Count of inter_Freq idle handoff*/
+ kal_uint16 MO_count; /* Count of successful MS ORIGINATED */
+ kal_uint16 MT_count; /* Count of successful MS TERMINATED */
+ kal_uint16 powerDownReg_count; /* Count of power down registration */
+ kal_uint16 timeBasedReg_count; /* Count of time based registration */
+ kal_uint16 parameterReg_count; /* Count of parameter change registration */
+ kal_uint16 powerUpReg_count; /* Count of power up registration */
+ kal_uint16 orderedReg_count; /* Count of ordered registration */
+ kal_uint16 zoneBasedReg_count; /* Count of zone based registration */
+ kal_uint16 distanceBasedReg_count; /* Count of distance based registration */
+ kal_uint16 silentryRetryTimeout_count; /* Count of silentry retry timeout */
+ kal_uint16 T40_count; /* Count of T40m timeout */
+ kal_uint16 T41_count; /* Count of T41m timeout */
+ kal_uint16 T50_count; /* Count of T50m timeout */
+ kal_uint16 T51_count; /* Count of T51m timeout */
+ kal_uint16 T52_count; /* Count of T52m timeout */
+ kal_uint16 T55_count; /* Count of T55m timeout */
+
+ kal_uint16 T_ADD;
+ kal_uint16 T_DROP;
+ kal_uint16 T_COMP;
+ kal_uint16 T_tDROP;
+ }PswFTDParaT;
+#endif
+
+#ifdef MTK_DEV_ENGINEER_MODE
+/* This structure is defined for Engineer mode developement, all items in it is 1xEV-DO related and needs to be reported to AP.*/
+typedef struct
+{
+ kal_uint8 bandClass; /* 1xEV-DO current band class. */
+ kal_uint16 channel; /* 1xEV-DO current channel number. */
+ kal_uint16 pilotPN; /* 1xEV-DO pilot PN. */
+ kal_uint8 phySubtype; /* 1xEV-DO phy subtype. */
+ double rssi_dbm; /* 1xEV-DO RSSI_dbm. */
+ kal_uint8 sectorID[16]; /* 1xEV-DO Sector ID. */
+ kal_uint8 subnetMask; /* 1xEV-DO subnetmask. */
+ kal_uint8 colorCode; /* 1xEV-DO color Code. */
+ kal_uint8 uati[16]; /* 1xEV-DO UATI 024. */
+ kal_uint8 pilotInc; /* 1xEV-DO pilotInc. */
+ kal_uint8 activeSetSchWin; /* 1xEV-DO activeSet Search Window. */
+ kal_uint8 neighborSetSchWin; /* 1xEV-DO neighborSet Search Window. */
+ kal_uint8 remainSetSchWin; /* 1xEV-DO remainSet Search Window. */
+ kal_uint8 sameFreq_T_ADD; /* 1xEV-DO T_ADD with same channel. */
+ kal_uint8 sameFreq_T_DROP; /* 1xEV-DO T_DROP with same channel. */
+ kal_uint8 sameFreq_T_tDROP; /* 1xEV-DO T_tDROP with same channel. */
+ kal_uint8 diffFreq_T_ADD; /* 1xEV-DO T_ADD with different channel. */
+ kal_uint8 diffFreq_T_DROP; /* 1xEV-DO T_DROP with different channel. */
+ kal_uint8 diffFreq_T_tDROP; /* 1xEV-DO T_tDROP with different channel. */
+
+ kal_uint8 numInActiveSet; /* 1xEV-DO active set number. */
+ kal_uint16 activePilotPN[SYS_CP_MAX_ACTIVE_LIST_PILOTS]; /* 1xEV-DO activePilotPN. */
+ kal_int16 activePilotEcIo[SYS_CP_MAX_ACTIVE_LIST_PILOTS]; /* 1xEV-DO activePilotEcIo. */
+ kal_uint8 activeDrcCover[SYS_CP_MAX_ACTIVE_LIST_PILOTS]; /* 1xEV-DO activeDrcCover. */
+
+ kal_uint8 numInCandSet; /* 1xEV-DO candidate set number. */
+ kal_uint8 candBand[SYS_CP_MAX_CANDIDATE_LIST_PILOTS]; /* 1xEV-DO band of candidate set. */
+ kal_uint16 candChannel[SYS_CP_MAX_CANDIDATE_LIST_PILOTS]; /* 1xEV-DO channel of candidate set. */
+ kal_uint16 candPilotPN[SYS_CP_MAX_CANDIDATE_LIST_PILOTS]; /* 1xEV-DO pilotPN of candidate set. */
+ kal_int16 candPilotEcIo[SYS_CP_MAX_CANDIDATE_LIST_PILOTS]; /* 1xEV-DO pilotEcIo of candidate set. */
+
+ kal_uint8 numInNghbrSet; /* 1xEV-DO neighbor set numer. */
+ kal_uint8 nghbrBand[SYS_MAX_NEIGHBOR_LIST_PILOTS]; /* 1xEV-DO band of neighbor set. */
+ kal_uint16 nghbrChannel[SYS_MAX_NEIGHBOR_LIST_PILOTS]; /* 1xEV-DO channel of neighbor set. */
+ kal_uint16 nghbrPilotPN[SYS_MAX_NEIGHBOR_LIST_PILOTS]; /* 1xEV-DO pilotPN of neighbor set. */
+ kal_int16 nghbrPilotEcIo[SYS_MAX_NEIGHBOR_LIST_PILOTS]; /* 1xEV-DO pilotEcIo of neighbor set. */
+
+ kal_int32 c_i; /* 1xEV-DO C/I. */
+ kal_uint8 drcAverageValue; /* 1xEV-DO drcAverageValue. */
+ kal_uint32 ftcCrcErrorCount; /* 1xEV-DO ftcCrcErrorCount. */
+ kal_uint32 ftcTotalCount; /* 1xEV-DO ftcTotalCount. */
+ kal_uint8 syncCrcErrorRatio; /* 1xEV-DO syncCrcErrorRatio. */
+
+ kal_uint16 averageTbsize; /* 1xEV-DO averageTbsize. */
+ kal_uint32 rtcRetransmitCount; /* 1xEV-DO rtcRetransmitCount. */
+ kal_uint32 rtcTransmitTotalCount; /* 1xEV-DO rtcTransmitTotalCount. */
+ kal_int16 txPower; /* 1xEV-DO txPower.*/
+ kal_int16 pilotPower; /* 1xEV-DO pilotPower. */
+ kal_uint8 rab_1_ratio; /* 1xEV-DO rab_1_ratio. */
+
+ kal_uint8 sessionState; /* 1xEV-DO Session state. */
+ kal_uint8 atState; /* 1xEV-DO AT state. */
+ kal_uint8 almpState; /* 1xEV-DO ALMP state. */
+ kal_uint8 inspState; /* 1xEV-DO INSP state. */
+ kal_uint8 idpState; /* 1xEV-DO IDP state. */
+ kal_uint8 ompState; /* 1xEV-DO OMP state. */
+ kal_uint8 cspState; /* 1xEV-DO CSP state. */
+ kal_uint8 rupState; /* 1xEV-DO RUP state. */
+}PswFTDDoParaT;
+#endif
+
+MobileIDType ValGetMobileIdType(void);
+/**********MS-Based*********************/
+typedef struct _GPS_POSITION_ERROR {
+kal_uint32 dwHorizontalErrorAlong;
+kal_uint32 dwHorizontalErrorAngle;
+kal_uint32 dwHorizontalErrorPerp;
+kal_uint32 dwVerticalError;
+kal_uint32 dwHorizontalConfidence;
+} GPS_POSITION_ERROR,*PGPS_POSITION_ERROR;
+
+typedef enum
+{
+ GPS_FIX_INVALID,
+ GPS_FIX_NORMAL,
+GPS_FIX_DIEF
+} GPS_FIX_QUALITY;
+
+
+
+typedef enum
+{
+ GPS_FIX_NONE,
+ GPS_FIX_ESTIMATED,
+ GPS_FIX_2D,
+ GPS_FIX_DIFF_2D,
+ GPS_FIX_3D,
+ GPS_FIX_DIFF_3D
+
+} GPS_FIX_TYPE;
+
+
+typedef enum
+{
+ GPS_FIX_3D_AUTO,
+ GPS_FIX_2D_MANU
+}GPS_FIX_SELECTION;
+
+
+typedef struct GPS_Nav_Data_Struct /*GN GPS Navigation solution data*/
+{
+ kal_uint32 Local_TTag; /* Local receiver time-tag since start-up [msec]*/
+ kal_uint32 OS_Time_ms; /* Local Operating System Time [msec]*/
+ kal_uint16 Year; /* UTC Year A.D. [eg 2006]*/
+ kal_uint16 Month; /* UTC Month into the year [range 1..12]*/
+ kal_uint16 Day; /* UTC Days into the month [range 1..31]*/
+ kal_uint16 Hours; /* UTC Hours into the day [range 0..23]*/
+ kal_uint16 Minutes; /* UTC Minutes into the hour [range 0..59]*/
+ kal_uint16 Seconds; /* UTC Seconds into the hour [range 0..59]*/
+ kal_uint16 Milliseconds; /* UTC Milliseconds into the second [range 0..999]*/
+ signed short Gps_WeekNo; /* GPS Week Number*/
+#if !(defined(MTK_PLT_ON_PC) && defined(MTK_PLT_ON_PC_UT))
+ double Gps_TOW; /* Corrected GPS Time of Week [seconds]*/
+ double UTC_Correction; /* Current (GPS-UTC) time difference [seconds]*/
+ double X; /* WGS84 ECEF X Cartesian coordinate [m]*/
+ double Y; /* WGS84 ECEF Y Cartesian coordinate [m]*/
+ double Z; /* WGS84 ECEF Z Cartesian coordinate [m]*/
+ double Latitude; /* WGS84 Latitude [degrees, positive North]*/
+ double Longitude; /* WGS84 Longitude [degrees, positive East]*/
+#else
+ float Gps_TOW; /* Corrected GPS Time of Week [seconds]*/
+ float UTC_Correction; /* Current (GPS-UTC) time difference [seconds]*/
+ float X; /* WGS84 ECEF X Cartesian coordinate [m]*/
+ float Y; /* WGS84 ECEF Y Cartesian coordinate [m]*/
+ float Z; /* WGS84 ECEF Z Cartesian coordinate [m]*/
+ float Latitude; /* WGS84 Latitude [degrees, positive North]*/
+ float Longitude; /* WGS84 Longitude [degrees, positive East]*/
+#endif
+ float Altitude_Ell; /* Altitude above WGS84 Ellipsoid [m]*/
+ float Altitude_MSL; /* Altitude above Mean Sea Level [m]*/
+ float SpeedOverGround; /* 2-dimensional Speed Over Ground [m/s]*/
+ float CourseOverGround; /* 2-dimensional Course Over Ground [degrees]*/
+ float VerticalVelocity; /* Vertical velocity [m/s]*/
+ float N_AccEst; /* Northing 1-sigma (67%) Accuracy estimate [m]*/
+ float E_AccEst; /* Easting 1-sigma (67%) Accuracy estimate [m]*/
+ float V_AccEst; /* Vertical 1-sigma (67%) Accuracy estimate [m]*/
+ float H_AccMaj; /* Horizontal error ellipse semi-major axis [m]*/
+ float H_AccMin; /* Horizontal error ellipse semi-minor axis [m]*/
+ float H_AccMajBrg; /* Bearing of the semi-major axis [degrees]*/
+ float HVel_AccEst; /* Horizontal Velocity 1-sigma (67%) Accuracy estimate [m/s]*/
+ float VVel_AccEst; /* Vertical Velocity 1-sigma (67%) Accuracy estimate [m/s]*/
+ float PR_ResRMS; /* Standard dev of the PR a posteriori residuals [m]*/
+ float H_DOP; /* Horizontal Dilution of Precision*/
+ float V_DOP; /* Vertical Dilution of Precision*/
+ float P_DOP; /* 3-D Position Dilution of Precision*/
+
+ GPS_FIX_TYPE FixType; /* Position fix type*/
+ kal_bool Valid_2D_Fix; /* Is the published 2D position fix "valid"*/
+ /* relative to the required Horizontal*/
+ /* accuracy masks ?*/
+ kal_bool Valid_3D_Fix; /* Is the published 3D position fix "valid"*/
+ /* relative to both the required Horizontal*/
+ /* and Vertical accuracy masks ?*/
+ unsigned char FixMode; /* Solution Fixing Mode*/
+ /* 1 = Forced 2-D at MSL,*/
+ /* 2 = 3-D, with automatic fall back to 2-D*/
+
+ unsigned char SatsInView; /* Satellites in View count*/
+ unsigned char SatsUsed; /* Satellites in Used for Navigation count*/
+
+ unsigned char SatsInViewSVid[NMEA_SV];/* Satellites in View SV id number [PRN]*/
+ unsigned char SatsInViewSNR[NMEA_SV]; /* Satellites in Signal To Noise Ratio [dBHz]*/
+ unsigned char SatsInViewJNR[NMEA_SV]; // Satellites in View Jammer to Noise Ratio [dBHz]
+ kal_uint16 SatsInViewAzim[NMEA_SV];/* Satellites in View Azimuth [degrees]*/
+ signed char SatsInViewElev[NMEA_SV];/* Satellites in View Elevation [degrees]*/
+ /* if = -99 then Azimuth & Elevation angles*/
+ /* are currently unknown*/
+ kal_bool SatsInViewUsed[NMEA_SV];/* Satellites in View Used for Navigation ?*/
+
+} s_GPS_Nav_Data; /* GN GPS Navigation solution data*/
+
+
+
+typedef struct
+{
+ kal_bool MSBFix;
+ s_GPS_Nav_Data GPS_NAV_Data;
+}PswLocRspDataT;
+
+
+
+
+typedef enum
+{
+GPSENG_FIX_NOT_VALID,
+GPSENG_FIX_ESTIMATED,
+GPSENG_FIX_2D,
+GPSENG_FIX_3D,
+GPSENG_FIX_DGPS_2D,
+GPSENG_FIX_DGPS_3D
+} PswGpsEngFixTypeT;
+
+typedef struct
+{
+kal_bool Used;
+kal_uint8 Id;
+kal_uint8 Cn0;
+kal_int8 Elev;
+kal_uint16 Azimuth;
+} PswGpsEngSvInViewT;
+
+typedef struct {
+PswGpsEngFixTypeT FixType;
+kal_uint32 OsTime;
+kal_uint32 LocalTimeTag;
+kal_uint16 UtcYear;
+ kal_uint16 UtcMonth;
+kal_uint16 UtcDay;
+kal_uint16 UtcHour;
+ kal_uint16 UtcMin;
+kal_uint16 UtcSec;
+kal_uint16 UtcMilliSec; /* UTC Millisec into Sec */
+kal_uint16 WeekNo;
+kal_uint32 Tow; /* milliseconds */
+ kal_uint8 UtcDifference; /* (GPS-UTC) seconds */
+ double Lat;
+ double Long;
+ double AltitudeMSL; /* Mean Sea level */
+ double AltitudeElli; /* ? */
+ double X;
+ double Y;
+double Z;
+ float SpeedGround;
+ float CourseGround;
+ float VerticalVelocity; /* Vertical velocity */
+float LocUncAng; /* Location uncertainty angle */
+ float LocUncA; /* ? */
+float LocUncP;
+float LocUncV;
+float VelHUnc; /* Horizontal Velocity RMS 1-sigma (67%) Accuracy estimate */
+float VelVUnc; /* Vertical Velocity RMS 1-sigma (67%) Accuracy estimate */
+float Pdop;
+float Hdop;
+float Vdop;
+kal_uint8 SvInViewNum;
+kal_uint8 SvUsed;
+PswGpsEngSvInViewT SvInView[MAX_SVINVIEW];
+} PswGpsEngWholeNavDataMsgT;
+
+
+
+
+
+/*MS-Based*/
+
+typedef struct
+{
+kal_bool GpsSysReady;
+
+}LecGpsSysReadyT;
+
+typedef struct
+{
+ kal_bool Ref_Time_Req;
+ kal_bool Ref_Pos_Req;
+ kal_bool Ion_Req;
+ kal_bool UTC_Req;
+ kal_bool SV_Health_Req;
+ kal_bool Bad_SV_List_Req;
+ kal_bool Alm_Req;
+ kal_bool Eph_Req;
+
+}PswAssistReqT;
+
+typedef struct
+{
+ ExeRspMsgT rspInfo;
+ kal_uint32 InstanceID;
+ kal_uint8 mode;
+}PswValRestartMsgT;
+
+typedef enum
+{
+ PSW_LOC_HOT_START = 1,
+ PSW_LOC_WARM_START,
+ PSW_LOC_COLD_START
+}PswLocStartMode;
+
+typedef struct
+{
+ PswLocStartMode startMode;
+}PswLocStartModeSetMsgT;
+
+typedef struct
+{
+ ExeRspMsgT oldRspInfo;
+}PswValLocFixModeGetMsgT;
+
+typedef struct
+{
+ GPS_FIX_MODE FixMode;
+ ExeRspMsgT oldRspInfo;
+}PswValLocFixModeGetRspMsgT;
+
+typedef struct
+{
+ kal_uint16 PrefHomeMOServiceOption;
+ kal_uint16 PrefHomeMTServiceOption;
+ kal_uint16 PrefRoamMOServiceOption;
+} PswValPrefVoiceServiceOptionMsgT;
+
+typedef struct
+{
+ kal_bool SlottedModeAllowed;
+} PswSlottedModeAllowed_APIStruct;
+
+typedef struct
+{
+ kal_uint8 Mode; /* 0=Stop/Disable, 0xFF=report on thresholds/state transition only */
+ /* other values = frequency of reporting when below low thresh in */
+ /* units of about 200 ms (i.e set to 5 for 1 sec reporting) */
+} PswSetTransmitInfoMsgT;
+
+typedef enum
+{
+ TRANS_INFO_IDLE, /* Stopped transmitting */
+ TRANS_INFO_ACCESS, /* Transmitting on access channel */
+ TRANS_INFO_TRAFFIC /* Transmitting on traffic channel */
+} TransInfoState;
+
+typedef struct
+{
+ TransInfoState State; /* Fer is not valid in TRANS_INFO_ACCESS state */
+ SysCdmaBandT Band; /* Current CDMA band class */
+ kal_uint16 Channel; /* Current CDMA channel number */
+ kal_int16 Rssi; /* Receive signal level dBm */
+ kal_uint8 PilotEcIo; /* Pilot energy to total receive power 1/8 unit dB */
+ kal_int16 TxPwr; /* Transmit Power dBm */
+ kal_uint16 TotalFrames;
+ kal_uint16 BadFrames;
+} PswGetTransmitInfoRspMsgT;
+
+typedef struct
+{
+ ExeRspMsgT RspInfo;
+ SysCdmaBandT band;
+ kal_uint16 channel;
+ kal_uint8 codeChan;
+ /* CDMA Radio configuration,1 is RC1, 2 is RC2 Etc*/
+ kal_uint8 radioConfig;
+ kal_uint16 numFrames;
+ kal_bool enableAFC;
+} PswNstPowerupMsgT;
+
+typedef struct
+{
+ SysCdmaBandT band;
+ kal_uint16 channel;
+ kal_uint16 numFrames;
+ kal_bool enableAFC;
+} PswNstTchFerCfgMsgT;
+
+
+#define MAX_NST_ACK_CHAR 3
+typedef struct
+{
+ char ackResponse[MAX_NST_ACK_CHAR];
+} PswNstPowerupAckRspMsgT;
+
+typedef struct
+{
+ kal_uint16 badFrames;
+ kal_uint16 totalFrames;
+} PswNstPowerupRspMsgT;
+
+typedef struct
+{
+ kal_uint16 badFrames;
+ kal_uint16 totalFrames;
+} PswNstTchFerCfgCnfMsgT;
+
+
+typedef struct
+{
+ SysCdmaBandT band;
+ kal_uint16 channel;
+ kal_uint8 fwdRc;
+ kal_int16 txPwr; /**Unit is Q6*/
+} PswNstTransmitTchMsgT;
+
+
+typedef struct
+{
+ SysCdmaBandT band;
+ kal_uint16 channel;
+ kal_bool txPwrQ6;
+} PswNstTxPwrMeasCfgMsgT;
+
+
+typedef struct
+{
+ char ackResponse[MAX_NST_ACK_CHAR];
+} PswNstTransmitTchAckMsgT;
+
+typedef struct
+{
+ ExeRspMsgT RspInfo;
+} PswNstExitMsgT;
+
+#define MAX_NUM_LISTS 50
+#define MAX_NUM_RSSI_LEVEL 20
+#define MAX_NUM_TX_PWR_LEVEL 20
+
+typedef struct
+{
+ kal_uint8 count; /* Total of list */
+ kal_uint8 offset[MAX_NUM_LISTS]; /* Num of frame offset */
+ kal_uint16 band[MAX_NUM_LISTS];
+ kal_uint16 channel[MAX_NUM_LISTS];
+ kal_uint8 codeChan[MAX_NUM_LISTS];
+ /* CDMA Radio configuration,1 is RC1, 2 is RC2 Etc*/
+ kal_uint8 radioConfig[MAX_NUM_LISTS];
+ kal_uint16 numFrames[MAX_NUM_LISTS];
+ kal_uint8 txPwrCount[MAX_NUM_LISTS];
+ kal_int16 txPwr[MAX_NUM_LISTS][MAX_NUM_TX_PWR_LEVEL];
+ kal_uint8 rxPwrCount[MAX_NUM_LISTS];
+} PswNstListSetMsgT;
+
+
+typedef struct
+{
+ kal_uint8 count; /* Total of list */
+ kal_uint8 index[MAX_NUM_LISTS];
+ kal_uint16 band[MAX_NUM_LISTS];
+ kal_uint16 channel[MAX_NUM_LISTS];
+ kal_uint8 badFrames[MAX_NUM_LISTS];
+ kal_uint8 totalFrames[MAX_NUM_LISTS];
+ kal_int16 mainRxPwrQ5[MAX_NUM_LISTS][MAX_NUM_RSSI_LEVEL];
+ kal_int16 divRxPwrQ5[MAX_NUM_LISTS][MAX_NUM_RSSI_LEVEL];
+} PswNstListSetRespMsgT;
+
+
+typedef struct
+{
+ ExeRspMsgT RspInfo;
+ SysCdmaBandT band;
+ kal_uint16 channel;
+} PswNstRxPwrReqMsgT;
+
+
+typedef struct
+{
+ kal_bool isSuccess;
+ kal_uint16 PnOffset;
+ kal_int16 Strength;
+ kal_int16 MainRxPwrQ5;
+ kal_int16 DivRxPwrQ5;
+} PswNstRxPwrRespMsgT;
+
+
+typedef struct
+{
+ kal_uint8 Count;
+ kal_uint8 Index;
+ kal_uint8 TotalLevel;
+ kal_int16 MainRxPwrQ5[MAX_NUM_LISTS];
+ kal_int16 DivRxPwrQ5[MAX_NUM_LISTS];
+} PswNstListRxpwrRptMsgT;
+
+typedef struct
+{
+ ExeRspMsgT RspInfo;
+ kal_uint8 txPwrCount; /**txPwrCount should less than MAX_NUM_TX_PWR_LEVEL*/
+ kal_int16 txPwrLevel[MAX_NUM_TX_PWR_LEVEL]; /**unit of txPwrLevel is Q6 dBm*/
+} PswNstTxPwrLevelSetMsgT;
+
+typedef struct
+{
+ kal_bool isSuccess;
+} PswNstTxPwrLevelSetRespMsgT;
+
+
+/* 1XCSFB, 3GPP2 C.S0097, Section 3 */
+typedef struct
+{
+ kal_bool SIDIncluded;
+ kal_uint16 SID;
+ kal_bool NIDIncluded;
+ kal_uint16 NID;
+ kal_bool MULT_SIDSIncluded;
+ kal_bool MULT_SIDS;
+ kal_bool MULT_NIDSIncluded;
+ kal_bool MULT_NIDS;
+ kal_bool REG_ZONEIncluded;
+ kal_uint16 REG_ZONE;
+ kal_bool TOTAL_ZONESIncluded;
+ kal_uint8 TOTAL_ZONES;
+ kal_bool ZONE_TIMERIncluded;
+ kal_uint8 ZONE_TIMER;
+ kal_bool PACKET_ZONE_IDIncluded;
+ kal_uint8 PACKET_ZONE_ID;
+ kal_bool PZIDHystParametersIncluded;
+ kal_bool PZ_HYST_ENABLED;
+ kal_bool PZ_HYST_INFO_INCL;
+ kal_bool PZ_HYST_LIST_LEN;
+ kal_uint8 PZ_HYST_ACT_TIMER;
+ kal_uint8 PZ_HYST_TIMER_MUL;
+ kal_uint8 PZ_HYST_TIMER_EXP;
+ kal_bool P_REVIncluded;
+ kal_uint8 P_REV;
+ kal_bool MIN_P_REVIncluded;
+ kal_uint8 MIN_P_REV;
+ kal_bool NEG_SLOT_CYCLE_INDEX_SUPIncluded;
+ kal_bool NEG_SLOT_CYCLE_INDEX_SUP;
+ kal_bool ENCRYPT_MODEIncluded;
+ kal_uint8 ENCRYPT_MODE;
+ kal_bool ENC_SUPPORTEDIncluded;
+ kal_bool ENC_SUPPORTED;
+ kal_bool SIG_ENCRYPT_SUPIncluded;
+ kal_uint8 SIG_ENCRYPT_SUP;
+ kal_bool MSG_INTEGRITY_SUPIncluded;
+ kal_bool MSG_INTEGRITY_SUP;
+ kal_bool SIG_INTEGRITY_SUP_INCLIncluded;
+ kal_bool SIG_INTEGRITY_SUP_INCL;
+ kal_bool SIG_INTEGRITY_SUPIncluded;
+ kal_uint8 SIG_INTEGRITY_SUP;
+ kal_bool AUTHIncluded;
+ kal_uint8 AUTH;
+ kal_bool MAX_NUM_ALT_SOIncluded;
+ kal_uint8 MAX_NUM_ALT_SO;
+ kal_bool USE_SYNC_IDIncluded;
+ kal_bool USE_SYNC_ID;
+ kal_bool MS_INIT_POS_LOC_SUP_INDIncluded;
+ kal_bool MS_INIT_POS_LOC_SUP_IND;
+ kal_bool MOB_QOSIncluded;
+ kal_bool MOB_QOS;
+ kal_bool BAND_CLASS_INFO_REQIncluded;
+ kal_bool BAND_CLASS_INFO_REQ;
+ kal_bool BAND_CLASSIncluded;
+ kal_uint8 BAND_CLASS;
+ kal_bool BYPASS_REG_INDIncluded;
+ kal_uint8 BYPASS_REG_IND;
+ kal_bool ALT_BAND_CLASSIncluded;
+ kal_uint8 ALT_BAND_CLASS;
+ kal_bool MAX_ADD_SERV_INSTANCEIncluded;
+ kal_uint8 MAX_ADD_SERV_INSTANCE;
+ kal_bool HOME_REGIncluded;
+ kal_bool HOME_REG;
+ kal_bool FOR_SID_REGIncluded;
+ kal_bool FOR_SID_REG;
+ kal_bool FOR_NID_REGIncluded;
+ kal_bool FOR_NID_REG;
+ kal_bool POWER_UP_REGIncluded;
+ kal_bool POWER_UP_REG;
+ kal_bool POWER_DOWN_REGIncluded;
+ kal_bool POWER_DOWN_REG;
+ kal_bool PARAMETER_REGIncluded;
+ kal_bool PARAMETER_REG;
+ kal_bool REG_PRDIncluded;
+ kal_uint8 REG_PRD;
+ kal_bool REG_DISTIncluded;
+ kal_uint16 REG_DIST;
+ kal_bool PREF_MSID_TYPEIncluded;
+ kal_uint8 PREF_MSID_TYPE;
+ kal_bool EXT_PREF_MSID_TYPEIncluded;
+ kal_uint8 EXT_PREF_MSID_TYPE;
+ kal_bool MEID_REQDIncluded;
+ kal_bool MEID_REQD;
+ kal_bool MCCIncluded;
+ kal_uint16 MCC;
+ kal_bool IMSI_11_12Included;
+ kal_uint8 IMSI_11_12;
+ kal_bool IMSI_T_SUPPORTEDIncluded;
+ kal_bool IMSI_T_SUPPORTED;
+ kal_bool RECONNECT_MSG_INDIncluded;
+ kal_bool RECONNECT_MSG_IND;
+ kal_bool RER_MODE_SUPPORTEDIncluded;
+ kal_bool RER_MODE_SUPPORTED;
+ kal_bool TKZ_MODE_SUPPORTEDIncluded;
+ kal_bool TKZ_MODE_SUPPORTED;
+ kal_bool TKZ_IDIncluded;
+ kal_bool TKZ_ID;
+ kal_bool PILOT_REPORTIncluded;
+ kal_bool PILOT_REPORT;
+ kal_bool SDB_SUPPORTEDIncluded;
+ kal_bool SDB_SUPPORTED;
+ kal_bool AUTO_FCSO_ALLOWEDIncluded;
+ kal_bool AUTO_FCSO_ALLOWED;
+ kal_bool SDB_IN_RCNM_INDIncluded;
+ kal_bool SDB_IN_RCNM_IND;
+ kal_bool FPC_FCH_Included;
+ kal_uint8 FPC_FCH_INIT_SETPT_RC3;
+ kal_uint8 FPC_FCH_INIT_SETPT_RC4;
+ kal_uint8 FPC_FCH_INIT_SETPT_RC5;
+ kal_uint8 FPC_FCH_INIT_SETPT_RC11;
+ kal_uint8 FPC_FCH_INIT_SETPT_RC12;
+ kal_bool T_ADD_Included;
+ kal_uint8 T_ADD;
+ kal_bool PILOT_INC_Included;
+ kal_uint8 PILOT_INC;
+ kal_bool RAND_Included;
+ kal_uint32 RAND;
+ kal_bool LP_SEC_Included;
+ kal_uint8 LP_SEC;
+ kal_bool LTM_OFF_Included;
+ kal_uint8 LTM_OFF;
+ kal_bool DAYLT_Included;
+ kal_bool DAYLT;
+ kal_bool GCSNAL2AckTimer_Included;
+ kal_uint8 GCSNAL2AckTimer;
+ kal_bool GCSNASequenceContextTimer_Included;
+ kal_uint8 GCSNASequenceContextTimer;
+} PswCDMA2000Parm;
+
+typedef struct
+{
+ kal_uint16 sid;
+ kal_uint16 nid;
+ kal_bool multipleSID;
+ kal_bool multipleNID;
+ kal_bool homeReg;
+ kal_bool foreignSIDReg;
+ kal_bool foreignNIDReg;
+ kal_bool parameterReg;
+ kal_bool powerUpReg;
+ kal_uint8 registrationPeriod;
+ kal_uint16 registrationZone;
+ kal_uint8 totalZone;
+ kal_uint8 zoneTimer;
+ kal_bool powerDownReg;
+} PswIratCSFBRegParm1xRTT;
+
+typedef struct
+{
+ kal_uint8 ac_Barring0to9;
+ kal_uint8 ac_Barring10;
+ kal_uint8 ac_Barring11;
+ kal_uint8 ac_Barring12;
+ kal_uint8 ac_Barring13;
+ kal_uint8 ac_Barring14;
+ kal_uint8 ac_Barring15;
+ kal_uint8 ac_BarringMsg;
+ kal_uint8 ac_BarringReg;
+ kal_uint8 ac_BarringEmg;
+} PswAC_BarringConfig1xRTT;
+
+typedef struct
+{
+ kal_bool sysTimeInfoIncl;
+ kal_uint8 systemTimeInfo[SYS_SYSTIME_SIZE];
+ kal_bool srchWinSizeIncl;
+ kal_uint16 searchWindowSize;
+ kal_bool csfb_RegParam1XRTTIncl;
+ PswIratCSFBRegParm1xRTT csfb_RegParm1XRTT;
+ kal_bool longCodeStateIncl;
+ kal_uint8 longCodeState1XRTT[6];
+ kal_bool cellReselParm1XRTTIncl;
+ kal_bool csfb_SupportForDualRxUEIncl;
+ kal_bool csfb_SupportForDualRxUE;
+ kal_bool ac_BarringConfig1XRTTIncl;
+ PswAC_BarringConfig1xRTT ac_BarringConfig1XRTT;
+ kal_uint8 ListSize;
+#ifdef MTK_DEV_C2K_IRAT
+ IratSIB8MeasCellListT cellReselParm1XRTT[1];
+#endif /* MTK_DEV_C2K_IRAT */
+} PswSIB8Parm1xRTT;
+
+typedef struct
+{
+ kal_bool inclRand;
+ kal_uint32 rand;
+ kal_bool inclMobParms;
+ PswCDMA2000Parm *mobP;
+} PswCsfbCDMA2000ParmMsgT;
+
+typedef struct
+{
+ PswSIB8Parm1xRTT *sib8P;
+} PswCsfbSib8ParmMsgT;
+
+typedef struct
+{
+ kal_uint16 len;
+ kal_uint8 *data;
+} PswCsfbGcsnaDLMsgT;
+
+typedef struct
+{
+ PswSIB8Parm1xRTT *sib8P;
+} PswCsfbMeasReqMsgT;
+
+typedef struct
+{
+ kal_bool redir;
+#ifdef MTK_DEV_C2K_IRAT
+ IratReSelectionCellListT *redirL;
+#endif /* MTK_DEV_C2K_IRAT */
+} PswCsfbRedirectMsgT;
+
+typedef struct
+{
+ kal_bool inclRand;
+ kal_uint32 rand;
+ kal_bool inclMobParms;
+ PswCDMA2000Parm *mobP;
+} PswCsfbHoEutraPrepMsgT;
+
+typedef struct
+{
+ kal_bool inclTime;
+ kal_uint8 systemTimeInfo[SYS_SYSTIME_SIZE];
+ kal_uint16 len;
+ kal_uint8 *data;
+} PswCsfbMobFromEutraMsgT;
+
+typedef enum
+{
+ RF_UNDEFINED,
+ ONE_RX_ONE_TX,
+ TWO_RX_ONE_TX,
+ TWO_RX_TWO_TX
+} UEAntennaCfgType;
+
+typedef struct
+{
+ UEAntennaCfgType UEAntCfg;
+} PswAntennaCfgMsgT;
+
+typedef struct
+{
+ ExeRspMsgT RspInfo;
+} PswCsfbGetStatusMsgT;
+
+typedef struct
+{
+ kal_uint8 csfbState;
+ kal_uint8 antenna;
+} PswCsfbGetStatusRspMsgT;
+
+#ifdef __TC10_IPC_CDMA_SUPPORT__
+/*SMS auto reg info*/
+typedef struct
+{
+ MobileIDType Id;
+ kal_uint64 value;
+ IMSIType Imsi;
+ kal_uint8 GsmImsi[9]; /* from sim_status_ind */
+ kal_bool IsGsmImsiValid; /* from sim_status_ind */
+} PswSetAutoRegInfoMsgT;
+#endif
+
+#ifdef MTK_DEV_C2K_IRAT
+typedef struct
+{
+ kal_uint8 Action; /* 0-stop; 1-start; 2-update threshold only */
+ kal_int8 Threshold; /* -2x10xlogPS, PS is the pilot strength */
+} PswIratRATSigMonReqT;
+#endif
+/* MTK_DEV_C2K_IRAT */
+
+#ifdef MTK_DEV_C2K_IRAT
+
+typedef enum
+{
+ RSVAS_SERVICE_TYPE_NONE = 0x0000FFFF
+ ,RSVAS_SERVICE_TYPE_UNSPECIFIED = 0x0001FFFF
+#if defined(__GEMINI__)
+ ,RSVAS_SERVICE_TYPE_KEEP = 0x0002FFFF
+#endif
+
+ ,RSVAS_SERVICE_TYPE_CS = 0x00000101
+ ,RSVAS_SERVICE_TYPE_PS = 0x00000202
+ ,RSVAS_SERVICE_TYPE_AS = 0x00000404
+ ,RSVAS_SERVICE_TYPE_HPS = 0x00000808
+ ,RSVAS_SERVICE_TYPE_MEDPS = 0x00001010
+
+ //For MO/MT, EMM notify EAS to do CSFB, CS+PS service may be occupied at the same time
+ ,RSVAS_SERVICE_TYPE_CS_PS = (RSVAS_SERVICE_TYPE_CS|RSVAS_SERVICE_TYPE_PS)
+ ,RSVAS_SERVICE_TYPE_CS_HPS = (RSVAS_SERVICE_TYPE_CS|RSVAS_SERVICE_TYPE_HPS)
+ ,RSVAS_SERVICE_TYPE_PS_HPS = (RSVAS_SERVICE_TYPE_PS|RSVAS_SERVICE_TYPE_HPS)
+ ,RSVAS_SERVICE_TYPE_CS_PS_HPS = (RSVAS_SERVICE_TYPE_CS|RSVAS_SERVICE_TYPE_PS|RSVAS_SERVICE_TYPE_HPS)
+
+ ,RSVAS_SERVICE_TYPE_CS_MEDPS = (RSVAS_SERVICE_TYPE_CS|RSVAS_SERVICE_TYPE_MEDPS)
+ ,RSVAS_SERVICE_TYPE_PS_MEDPS = (RSVAS_SERVICE_TYPE_PS|RSVAS_SERVICE_TYPE_MEDPS)
+ ,RSVAS_SERVICE_TYPE_MEDPS_HPS = (RSVAS_SERVICE_TYPE_MEDPS|RSVAS_SERVICE_TYPE_HPS)
+ ,RSVAS_SERVICE_TYPE_CS_PS_MEDPS = (RSVAS_SERVICE_TYPE_CS|RSVAS_SERVICE_TYPE_PS|RSVAS_SERVICE_TYPE_MEDPS)
+ ,RSVAS_SERVICE_TYPE_CS_MEDPS_HPS = (RSVAS_SERVICE_TYPE_CS|RSVAS_SERVICE_TYPE_MEDPS|RSVAS_SERVICE_TYPE_HPS)
+ ,RSVAS_SERVICE_TYPE_PS_MEDPS_HPS = (RSVAS_SERVICE_TYPE_PS|RSVAS_SERVICE_TYPE_MEDPS|RSVAS_SERVICE_TYPE_HPS)
+ ,RSVAS_SERVICE_TYPE_CS_PS_MEDPS_HPS = (RSVAS_SERVICE_TYPE_CS|RSVAS_SERVICE_TYPE_PS|RSVAS_SERVICE_TYPE_MEDPS|RSVAS_SERVICE_TYPE_HPS)
+
+} rsvas_service_type_enum;
+
+typedef enum {
+ RSVAS_ID_INVALID, /* Invalid C2K RSVAS Id */
+ RSVAS_ID_1XRTT, /* C2K RSVAS Id is 1xRTT */
+ RSVAS_ID_EVDO, /* C2K RSVAS Id is EVDO */
+} C2kRsvasIdT;
+
+/* RSVAS State Machine States */
+typedef enum
+{
+ RSVAS_NORMAL_STATE, /* RSVAS normal mode */
+ RSVAS_CONNECT_STATE, /* RSVAS connect mode */
+ RSVAS_VIRTUAL_STATE, /* RSVAS virtual suspend mode */
+ RSVAS_SUSPEND_STATE, /* RSVAS suspend mode */
+
+ RSVAS_NUM_STATES
+} RsvasStateT;
+
+typedef struct
+{
+ kal_bool rsvasServiceOccupyResult;
+} PswRsvasServiceOccupyResultT;
+
+typedef struct
+{
+ C2kRsvasIdT id;
+ rsvas_service_type_enum servType;
+} PswRsvasServiceOccupyRequestT;
+
+typedef struct
+{
+ C2kRsvasIdT id;
+ rsvas_service_type_enum servType;
+} PswRsvasServiceReleaseT;
+
+
+typedef struct
+{
+ cs_reg_cause_enum cause;
+ kal_bool is_for_silent_redial;
+} PswIrat1xRegReqMsgT;
+
+typedef struct
+{
+ kal_bool Valid;
+ kal_int16 RxPower;
+ kal_int16 TxPower;
+ kal_int16 PRxPhr;
+} AntIdxT;
+
+typedef PACKED_PREFIX struct
+{
+ kal_int16 TasState;
+ kal_int16 TasVer;
+ kal_bool TasEnable;
+ kal_bool UTasEnable;
+ kal_bool EnableForceTas;
+ kal_int16 RxPowerDbmL;
+ kal_int16 RxPowerDbmU;
+ kal_int16 RxPowerDbmLp;
+ AntIdxT AntIdx[20];
+} PACKED_POSTFIX PswFTDTASParaT;
+
+#endif
+
+/******************PswCustomLockDefination***************************************/
+
+#define PSW_FEATURE_TATA 0x80000000
+#define PSW_FEATURE_RELIANCE 0x40000000
+#define PSW_FEATURE_UNICOM 0x20000000
+#define PSW_FEATURE_UIMSUPPORT 0x00000001
+#define PSW_FEATURE_CUSTOM_PRILOCK 0x00000002
+
+
+ typedef enum {
+ PSW_CUSTOM_LOCK_FEATURE_OFF =0,
+ PSW_CUSTOM_LOCK_FEATURE_IMSI =0x01,
+ PSW_CUSTOM_LOCK_FEATURE_SIDNID =0x02,
+ PSW_CUSTOM_LOCK_FEATURE_SYSTEM_VALIDATE = 0x04,
+ PSW_CUSTOM_LOCK_FEATURE_SUBNET =0x08,
+ PSW_CUSTOM_LOCK_FEATURE_EVDO_SYSTEM_VALIDATE = 0x10
+ }PSW_CUSTOM_LOCK_FEATURE;
+
+
+ typedef struct
+{
+ kal_uint16 min_highest3;
+ kal_uint16 min_middle3;
+ kal_uint8 min_middle1;
+ kal_uint16 min_lowest3;
+ /*each bit is defined for every cumtomfeafure */
+} PswMinDigitalValue;
+
+ typedef struct
+ {
+ kal_uint32 PswCustomLockSet;
+
+ kal_bool (*PswCustomImsiLock)(kal_uint16 PhoneMcc,kal_uint8 PhoneMnc,PswMinDigitalValue PhoneMin);
+ kal_bool (*PswCustomSidNidLock)(kal_uint16 PhoneSid,kal_uint16 PhoneNid,kal_bool PrlPrefonly);
+ kal_bool (*PswCustomSubnetLock)(kal_uint8 *Subnet,kal_uint8 mask);
+ kal_bool (*PswCustomSysValidate)(kal_uint16 SysSid,kal_uint16 SysNid) ;
+ kal_bool (*PswCustomDOSysValidate)(kal_uint8 *Subnet, kal_uint8 mask) ;
+
+ }PswCustomLockCallBackT;
+
+ typedef enum
+ {
+ VAL_PSW_CKECK_Custom_Locking_Feature_OK = 0x00,
+ VAL_PSW_CKECK_Custom_IMSI_ERROR,
+ VAL_PSW_CKECK_Custom_DefaultMIN_OK,
+ VAL_PSW_CKECK_Custom_SIDNID_ERROR,
+ VAL_PSW_CKECK_Custom_Locking_Feature_NUM
+ }PswCheckForCustomLockStateT;
+
+
+typedef struct
+{
+ kal_uint8 nCheckRst;
+}PswCheckLockingFeatureRptT;
+
+typedef struct
+{
+ kal_bool valid;
+}PswSetImsiMValidT;
+
+typedef enum
+{
+ QPCH_RATE_4800BPS = 0,
+ /*AKK 09-11-01 Slotted Mode: Corrected 9600PBS to 9600BPS*/
+ QPCH_RATE_9600BPS = 1
+
+} QpchRate;
+
+typedef struct
+{
+ kal_int16 RSSI;
+ kal_int16 PchEbNt;
+ kal_int16 SyncEbNt;
+ kal_int16 EcIo;
+ kal_int32 total_foe;
+}L1dmeasvalue;
+
+typedef PACKED_PREFIX struct
+{
+ QpchRate QpchRate;
+ kal_uint16 QpchPilotPn;
+ kal_int16 QpchPilotPwr;
+ kal_int16 QpchPi1;
+ kal_int16 QpchPi1Status;
+ kal_uint16 QpchPi1Pos;
+ kal_int16 QpchPi1BitIEnergy;
+ kal_int16 QpchPi1BitQEnergy;
+ kal_int16 QpchPi1PilotIEnergy;
+ kal_int16 QpchPi1PilotQEnergy;
+ kal_int16 QpchPi2;
+ kal_int16 QpchPi2Status;
+ kal_uint16 QpchPi2Pos;
+ kal_int16 QpchPi2BitIEnergy;
+ kal_int16 QpchPi2BitQEnergy;
+ kal_int16 QpchPi2PilotIEnergy;
+ kal_int16 QpchPi2PilotQEnergy;
+ kal_int16 QpchSysQpchThi;
+ kal_int16 QpchSysQpchThb;
+} PACKED_POSTFIX QpchSpyData;
+
+typedef enum
+{
+ OUT_STAND_REQ_RCVD,
+ BS_CAPABILITIES,
+ BS_REJECT_RECEIVED,
+ BS_RESPONSE_NOT_SUPPORTED,
+ INVALID_PPM_SESSION_ID,
+ INVALID_LOCSERV_SESSION_ID,
+ OUTGOING_MSG_BUFFER_GET_FAIL,
+ SESS_TAG_MISMATCH,
+ BS_LOCATION_RSP_RCVD,
+ BS_RESPONSE_ELEMENT_RCVD,
+ BS_REQUEST_ELEMENT_RCVD,
+ MS_LOCATION_ORIG_START,
+ LOCSERV_SESS_HEADER_DUMP,
+ LOCSERV_SESS_REQ_DUMP,
+ LOCSERV_SESS_RSP_DUMP,
+ LOCSERV_SESS_AFLT_DUMP,
+ LOCSERV_SESS_AGPS_DUMP,
+ INVALID_AFLT_STATE,
+ INVALID_AGPS_STATE,
+ UNEXPECTED_AFLT_EVENT,
+ UNEXPECTED_AGPS_EVENT,
+ MS_REQUEST_TO_BS,
+ MS_RESPONSE_TO_BS,
+ COLLISION,
+ PDDM_RECEIVED,
+ PDDM_SENT,
+ RMS_PHASE_ERROR_DUMP
+} LocSrvTraceIds;
+
+typedef enum
+{
+ BS_REJECT = 0,
+ PROV_LOC_RSP,
+ PROV_BS_CAP,
+ PROV_BS_ALMANAC,
+ PROV_GPS_ACQ_ASSIST,
+ PROV_GPS_SENSITIV_ASSIST,
+ PROV_GPS_LOC_ASSIST_S_COORD,
+ PROV_GPS_LOC_ASSIST_C_COORD,
+ PROV_GPS_ALMANAC,
+ PROV_GPS_EPHEMERIS,
+ PROV_GPS_NAV_MSG_BITS,
+ PROV_GPS_ALMANAC_CORR,
+ PROV_GPS_SAT_HEALTH_INFO,
+ MAX_PROV_GPS_INFO
+} BS_RspTypes;
+
+typedef enum
+{
+ REQ_RESERVED = 0,
+ REQ_MS_LOC_RSP,
+ REQ_MS_INFO,
+ REQ_AUTO_MEAS_WEIGHT_FAC,
+ REQ_PSEUDO_MEAS,
+ REQ_PILOT_PHASE_MEAS,
+ REQ_TIME_OFFSET_MEAS,
+ REQ_CANCELLATION
+} BS_ReqTypes;
+
+typedef enum
+{
+ RESERVED0 = 0,
+ REQ_LOC_RSP,
+ REQ_BS_CAP,
+ REQ_BS_ALMANAC,
+ REQ_GPS_ACQ_ASSIST,
+ REQ_GPS_SENSITIV_ASSIST,
+ REQ_GPS_LOC_ASSIST,
+ RESERVED1,
+ REQ_GPS_ALMANAC,
+ REQ_GPS_EPHEMERIS,
+ REQ_GPS_NAV_MSG_BITS,
+ REQ_GPS_ALMANAC_CORR,
+ REQ_GPS_SAT_HEALTH_INFO
+} MS_ReqTypes;
+
+typedef enum
+{
+ REJECT = 0,
+ PROV_MS_LOC_RSP,
+ PROV_MS_INFO,
+#ifdef MTK_CBP
+ PROV_SYS_INFO = PROV_MS_INFO,
+#endif
+ PROV_AUTO_MEAS_WEIGHT_FACTOR,
+ PROV_PSEUDO_MEAS,
+ PROV_PILOT_PHASE_MEAS,
+ PROV_TIME_OFFSET_MEAS,
+ PROV_CANCELLATION_ACK
+} MS_RspTypes;
+
+
+typedef struct
+{
+ LocSrvTraceIds traceId;
+ MS_RspTypes rspType;
+}PswIs801FlowMsRspMsg;
+
+typedef struct
+{
+ LocSrvTraceIds traceId;
+ MS_ReqTypes reqType;
+}PswIs801FlowMsReqMsg;
+
+typedef struct
+{
+ LocSrvTraceIds traceId;
+ BS_ReqTypes reqType;
+}PswIs801FlowBsReqMsg;
+
+typedef struct
+{
+ LocSrvTraceIds traceId;
+ BS_RspTypes rspType;
+}PswIs801FlowBsRspMsg;
+
+typedef enum
+{
+ CP_NP_UNKNOWN,
+ CP_NP_ISDN_TELEPHONY,
+ CP_NP_DATA = 3,
+ CP_NP_TELEX,
+ CP_NP_PRIVATE = 9
+} NumberPlan;
+
+
+typedef enum
+{
+ CP_NT_UNKNOWN,
+ CP_NT_INTERNATIONAL,
+ CP_NT_NATIONAL,
+ CP_NT_NETWORK_SPECIFIC,
+ CP_NT_SUBSCRIBER,
+ CP_NT_RSVD,
+ CP_NT_ABBREVIATED
+} NumberType;
+
+
+typedef enum
+{
+ CP_PI_ALLOWED,
+ CP_PI_RESTRICTED,
+ CP_PI_NUMBER_NA,
+ CP_PI_RSVD
+} PresentationIndicator;
+
+typedef enum
+{
+ CP_SI_USER_PROVIDED_NOT_SCREENED,
+ CP_SI_USER_PROVIDED_VERIFIED_PASSED,
+ CP_SI_USER_PROVIDED_VERIFIED_FAILED,
+ CP_SI_NETWORK_PROVIDED
+} ScreeningIndicator;
+
+typedef struct
+{
+ NumberType type;
+ NumberPlan plan;
+ kal_int8 number[CP_MAX_CALLED_PARTY_NUMBER_SIZE + 1];/*Inc NULL terminator*/
+} CalledPartyNumber;
+
+typedef struct
+{
+ NumberType type;
+ NumberPlan plan;
+ PresentationIndicator pi;
+ ScreeningIndicator si;
+ kal_int8 number[CP_MAX_CALLING_PARTY_NUMBER_SIZE + 1]; /* Inc NULL terminator */
+} CallingPartyNumber;
+
+typedef enum
+{
+ CP_SUBADDRESS_TYPE_NSAP,
+ CP_SUBADDRESS_TYPE_USER_SPECIFIED = 2
+} SubaddressType;
+
+typedef enum
+{
+ CP_ODDEVEN_INDICATOR_EVEN,
+ CP_ODDEVEN_INDICATOR_ODD
+} OddEvenIndicator;
+
+typedef struct
+{
+ kal_bool extension;
+ SubaddressType type;
+ OddEvenIndicator indicator;
+ kal_uint8 address[CP_MAX_SUBADDRESS_SIZE + 1];/*Inc NULL terminator*/
+} Subaddress;
+
+typedef enum
+{
+ NO_TRAFFIC,
+ PRIMARY_TRAFFIC,
+ SECONDARY_TRAFFIC
+} TrafficType;
+
+/* IS-707-A-2.10 RLP BLOB for HSPD */
+typedef struct
+{
+ kal_uint8 rlpBlobType;
+ kal_uint8 rlpVersion;
+ kal_uint8 rtt;
+ kal_bool initVar;
+ kal_uint32 bsExtSeqM;
+ kal_uint32 msExtSeqM;
+ kal_uint8 maxMsNakRoundsFwd;
+ kal_uint8 maxMsNakRoundsRev;
+ kal_uint8 nakRoundsFwd;
+ kal_uint8 nakRoundsRev;
+ kal_uint8 nakPerRoundFwd[ CP_MAX_ROUNDS_FWD ];
+ kal_uint8 nakPerRoundRev[ CP_MAX_ROUNDS_REV ];
+ kal_uint8 ddw;
+ kal_uint8 rexmit_timer;
+} RlpBlobPsw;
+
+/* define set of SCH coding options */
+typedef enum
+{
+ SCH_CONV_CODING = 0,
+ SCH_TURBO_CODING = 1
+
+} SchCodingTypes;
+
+/* define set of RC settings */
+typedef enum
+{
+ RC_INVALID = 0,
+ RC_1 = 1,
+ RC_2 = 2,
+ RC_3 = 3,
+ RC_4 = 4,
+ RC_5 = 5,
+ RC_6 = 6,
+ RC_7 = 7,
+ RC_8 = 8,
+ RC_9 = 9,
+ RC_10 = 10, /* PDCH RC */
+ RC_11 = 11,
+ RC_12 = 12,
+ RC_MAX
+} RcTypes;
+
+/* Service configuration structures */
+typedef struct
+{
+ kal_uint8 schRecLen;
+ RcTypes schRc;
+ SchCodingTypes coding;
+ kal_bool frame40Used;
+ kal_bool frame80Used;
+ kal_uint8 maxRate;
+} ChConfigSch;
+
+/* Service option connection record structure */
+typedef struct
+{
+ kal_uint8 conRef; /* service option connection reference */
+ SysServiceOptionT serviceOption;
+ TrafficType forTraffic; /* forward traffic type */
+ TrafficType revTraffic; /* reverse traffic type */
+#ifdef IS2000_REV_0
+ kal_uint8 uiEncryptMode;
+ kal_uint8 srId; /* Set of number of bits per frame of the RFCh*/
+ kal_bool rlpInfoIncl;
+ kal_uint8 rlpBlobLen; /* Set of number of bits per frame of the RFCh*/
+ RlpBlobPsw rlpBlob;
+ kal_bool qosParmsIncl;
+#endif
+} ConnectionRecord;
+
+typedef struct
+{
+ kal_uint8 forSchId;
+ MultiplexOption forSchMux;
+ ChConfigSch forSchChConf;
+} ForSchCc;
+
+typedef struct
+{
+ kal_uint8 revSchId;
+ MultiplexOption revSchMux;
+ ChConfigSch revSchChConf;
+} RevSchCc;
+
+typedef struct
+{
+ MultiplexOption forMuxOption; /* forward multiplex option */
+ MultiplexOption revMuxOption; /* reverse multiplex option */
+ /*AKK 11-16-00 Added per LMD_SERVICE_CONFIGURATION_MSG */
+ kal_uint8 forNumBits; /* Set of number of bits per frame of the FFCh*/
+ kal_uint8 revNumBits; /* Set of number of bits per frame of the RFCh*/
+ kal_uint8 numConRec; /* # of serv opt connection rec */
+ ConnectionRecord conRec[CP_MAX_SERV_OPT_CONN_REC]; /* serv opt conn recs */
+ /* AKK 08-15-00 IS2000A, Added new service configuration fields*/
+ /*AKK 12-30-02 per CR#570 Replaced IS2000A with IS2000_REV_0*/
+#ifdef IS2000_REV_0
+ /*AKK 11-17-00 Per L1D_SERVICE_CONFIGURATION_MSG */
+ kal_bool fchCcIncl;
+ kal_uint8 fchFrameSize;
+ kal_uint8 forFchRc;
+ kal_uint8 revFchRc;
+ kal_bool dcchCcIncl;
+ kal_uint8 dcchFrameSize;
+ kal_uint8 forDcchRc;
+ kal_uint8 revDcchRc;
+ /*AKK 04-07-01 Per IS2K Rev0 fix*/
+
+ kal_bool forSchCcIncl;
+ kal_uint8 numForSch;
+ ForSchCc forSchCc[ CP_MAX_NUM_FOR_SCH ];
+
+ kal_bool revSchCcIncl;
+ kal_uint8 numRevSch;
+ RevSchCc revSchCc[ CP_MAX_NUM_REV_SCH ];
+ kal_uint8 fchDcchMuxOptionInd;
+ kal_uint16 forDcchMuxOption;
+ kal_uint16 revDcchMuxOption;
+ kal_bool forPdchCcIncl;
+ kal_uint16 forPdchMuxOption;
+ kal_uint8 forPdchRc;
+#endif
+ /*END--AKK 11-17-00 Per L1D_SERVICE_CONFIGURATION_MSG */
+ /*END--AKK 08-15-00 IS2000A, Added new service configuration fields*/
+
+ kal_bool nnScrIncl;
+} ServiceConfiguration;
+typedef enum
+{
+ CP_PITCH_MEDIUM,
+ CP_PITCH_HIGH,
+ CP_PITCH_LOW,
+ CP_PITCH_RSVD
+} AlertPitch;
+
+typedef enum
+{
+ CP_ST_TONE_SIGNAL,
+ CP_ST_ISDN_ALERTING,
+ CP_ST_IS54B_ALERTING,
+ CP_ST_RSVD
+} SignalType;
+
+typedef struct
+{
+ SignalType type;
+ AlertPitch pitch;
+ kal_uint8 signal;
+} Signal;
+
+
+typedef struct
+{
+ kal_uint16 pulse_frequency;
+ kal_uint8 pulse_on_time;
+ kal_uint8 pulse_off_time;
+ kal_uint8 pulse_count;
+} MeterPulses;
+
+typedef struct
+{
+ kal_uint8 amplitude;
+ kal_uint16 freq_1;
+ kal_uint16 freq_2;
+ kal_uint8 on_time;
+ kal_uint8 off_time;
+ kal_uint8 repeat;
+ kal_uint8 delay;
+} CadenceGroup;
+
+typedef struct
+{
+ kal_uint8 cadence_count;
+ kal_uint8 num_groups; /* 4 bits in length */
+ CadenceGroup cGroup[CP_MAX_CADENCE_GROUPS_REC];
+} ParametricAlerting;
+
+typedef enum
+{
+ CP_DISPLAY_TAG_BLANK = 0x80,
+ CP_DISPLAY_TAG_SKIP,
+ CP_DISPLAY_TAG_CONTINUATION,
+ CP_DISPLAY_TAG_CALLED_ADDRESS,
+ CP_DISPLAY_TAG_CAUSE,
+ CP_DISPLAY_TAG_PROGRESS_INDICATOR,
+ CP_DISPLAY_TAG_NOTIFICATION_INDICATOR,
+ CP_DISPLAY_TAG_PROMPT,
+ CP_DISPLAY_TAG_ACCUMULATED_DIGITS,
+ CP_DISPLAY_TAG_STATUS,
+ CP_DISPLAY_TAG_INBAND,
+ CP_DISPLAY_TAG_CALLING_ADDRESS,
+ CP_DISPLAY_TAG_REASON,
+ CP_DISPLAY_TAG_CALLING_PARTY_NAME,
+ CP_DISPLAY_TAG_CALLED_PARTY_NAME,
+ CP_DISPLAY_TAG_ORIGINAL_CALLED_NAME,
+ CP_DISPLAY_TAG_REDIRECTING_NAME,
+ CP_DISPLAY_TAG_CONNECTED_NAME,
+ CP_DISPLAY_TAG_ORIGINATING_RESTRICTIONS,
+ CP_DISPLAY_TAG_DATE_TIME_OF_DAY,
+ CP_DISPLAY_TAG_CALL_APPEARANCE_ID,
+ CP_DISPLAY_TAG_FEATURE_ADDRESS,
+ CP_DISPLAY_TAG_REDIRECTION_NAME,
+ CP_DISPLAY_TAG_REDIRECTION_NUMBER,
+ CP_DISPLAY_TAG_REDIRECTING_NUMBER,
+ CP_DISPLAY_TAG_ORIGINAL_CALLED_NUMBER,
+ CP_DISPLAY_TAG_CONNECTED_NUMBER,
+ CP_DISPLAY_TAG_TEXT = 0x9E
+} DisplayTag;
+
+typedef struct
+{
+ DisplayTag display_tag;
+ kal_uint8 display_len;
+ /* include NULL terminator */
+ kal_uint8 chari[CP_MAX_EXTENDED_DISPLAY_SIZE + 1];
+} ExtendedDisplayRec;
+
+typedef struct
+{
+ kal_uint8 ext_display_ind;
+ kal_uint8 display_type;
+ kal_uint8 num_disp_rec;
+ ExtendedDisplayRec extDisp[CP_MAX_EXTENDED_DISPLAY_REC];
+} ExtendedDisplay;
+
+typedef struct
+{
+ kal_uint8 polarity_included;
+ kal_uint8 toggle_mode;
+ kal_uint8 reverse_polarity;
+ kal_uint8 power_denial_time;
+} LineControl;
+
+
+typedef struct
+{
+ kal_uint8 extension_bit_1;
+ NumberType type;
+ NumberPlan plan;
+ kal_uint8 extension_bit_2;
+ PresentationIndicator pi;
+ ScreeningIndicator si;
+ kal_uint8 extension_bit_3;
+ kal_uint8 redirection_reason;
+ kal_uint8 number[CP_MAX_REDIRECTING_NUMBER_SIZE + 1];
+ /* including NULL terminator */
+} RedirectingNumber;
+
+typedef struct
+{
+ kal_uint8 upLink;
+ kal_uint8 downLink;
+} AudioControl;
+
+typedef struct
+{
+ kal_bool rcvdDisplay;
+ kal_int8 display[CP_MAX_DISPLAY_SIZE + 1]; /* Incl NULL terminator */
+ kal_bool rcvdCalledPartyNumber;
+ CalledPartyNumber calledPartyNumber;
+ kal_bool rcvdCallingPartyNumber;
+ CallingPartyNumber callingPartyNumber;
+ kal_bool rcvdConnectedNumber;
+ CallingPartyNumber connectedNumber; /* Same format as CallingPartyNumber */
+ kal_bool rcvdSignal;
+ Signal signal;
+ kal_bool rcvdMessageWaiting;
+ kal_uint8 msgCount;
+ kal_bool rcvdCLIRCause;
+ kal_uint8 clirCause;
+ kal_bool rcvdRelease;
+ kal_bool rcvdAudioControl;
+ AudioControl audioControl;
+ kal_bool rcvdMeterPulse;
+ MeterPulses meterPulse;
+ kal_bool rcvdParametricAlerting;
+ ParametricAlerting parametricAlert;
+ kal_bool rcvdLineControl;
+ LineControl lineControl;
+ kal_bool rcvdExtendedDisplay;
+ ExtendedDisplay extendedDisplay;
+ kal_bool rcvdCalledPartySubaddress;
+ Subaddress calledPartySubaddress;
+ kal_bool rcvdCallingPartySubaddress;
+ Subaddress callingPartySubaddress;
+ kal_bool rcvdConnectedSubaddress;
+ Subaddress connectedSubaddress;
+ kal_bool rcvdRedirectingNumber;
+ RedirectingNumber redirectingNumber;
+ kal_bool rcvdRedirectingSubaddress;
+ Subaddress redirectingSubaddress;
+ kal_bool rcvdCallWaitingIndicator;
+ kal_uint8 callWaitingIndicator;
+} FORInfoData;
+typedef enum
+{
+ SC_REJECT = 0,
+ SC_ACCEPT,
+ SC_ALTERNATIVE,
+ SC_UNKNOWN
+} SCResponse;
+
+typedef enum
+{
+ SCC_DATA_BURST_IND,
+ SCC_CONN_IND,
+ SCC_NEG_CONN_IND,
+ SCC_DISCONN_IND,
+ SCC_RELEASE_IND,
+ SCC_SERV_CONF_VALIDATE,
+ SCC_PAGE_IND,
+ SCC_SERV_OPTIION_VALIDATE,
+ SCC_ALERT_IND,
+ SCC_SOCM_IND,
+ SCC_SOCO_IND,
+ SCC_SERV_CONF_INIT,
+ SCC_PZ_ZONE_IND,
+ SCC_IDLE_IND,
+ SCC_SID_NID_IND,
+ SCC_HAND_OFF_IND,
+ SCC_NW_P_REV_IND,
+ SCC_ZONE_IND,
+ SCC_TC_ASSIGN_IND,
+ SCC_SET_SSDB_IND,
+ /* add code here */
+}Scc_IndMsgType;
+
+typedef enum
+{
+ SCC_VS_ORIG_REQ,
+ SCC_PS_ORIG_REQ,
+ SCC_LS_ORIG_REQ,
+ SCC_SMS_ORIG_REQ,
+ SCC_SMS_REL_REQ,
+ SCC_VS_ANSWER_REQ,
+ SCC_VS_RELESE_REQ,
+ SCC_LS_RELESE_REQ,
+ SCC_VS_SWITCH_REQ,
+ SCC_TIMER_EXPIRY,
+ SCC_PZ_HYSTER_ACT_SET,
+ /* add code here */
+}Scc_ReqMsgType;
+
+typedef struct
+{
+ kal_uint8 msgNumber;
+ kal_uint8 burstType;
+ kal_uint8 numMsgs;
+ kal_uint8 numFields;
+ kal_uint8 data[255];
+}SccDataBurstIndMsg;
+
+typedef struct
+{
+ kal_bool encoded; /* digits encoded indication */
+ kal_bool digitMode; /* digit encoding indicator */
+ kal_uint8 numberType; /* type of number */
+ kal_uint8 numberPlan; /* numbering plan */
+ kal_uint8 digits[CP_MAX_CALLING_PARTY_NUMBER_SIZE +1]; /* ascii digits, null terminated string */
+ kal_uint8 numDigits; /* number of digits to be dialled */
+ PswCallingPartyNumberT CPNInfo; /* Calling Party Number Info */
+ PswCallModeT callMode; /* voice call mode indicator */
+ kal_bool multCPN; /* whether MS has >1 calling party num values */
+ kal_bool inclCallingSub; /* whether calling party subaddr info included */
+ Subaddress callingSub;
+ kal_bool inclCalledSub; /* whether called party subaddr info included */
+ Subaddress calledSub;
+}SccVsOrigReqMsg;
+
+typedef struct
+{
+ SysPacketDataSvcTypeT type;
+ kal_uint8 digits[CP_MAX_CALLING_PARTY_NUMBER_SIZE +1]; /* ascii digits, null terminated string */
+}SccPsOrigReqMsg;
+
+typedef struct
+{
+ SysLoopbackSvcTypeT prefType;
+ kal_uint8 digits[CP_MAX_CALLING_PARTY_NUMBER_SIZE +1]; /* ascii digits, null terminated string */
+}SccLsOrigReqMsg;
+
+typedef struct
+{
+ kal_uint16 SO;
+}SCCSwitchReqMsg;
+
+
+typedef struct
+{
+ kal_uint16 timerID;
+}SCCTimerExpiry;
+
+typedef struct
+{
+ kal_bool bActivated;
+}PZHysterActIndSet;
+
+typedef struct
+{
+ kal_uint8 response;
+ kal_uint8 reason;
+}SccServiceConfigRsp;
+
+typedef struct
+{
+ kal_uint8 reason;
+}SccDisconnectInd;
+
+typedef struct
+{
+ kal_uint8 reason;
+}SccReleaseInd;
+
+typedef struct
+{
+ kal_bool valOnly;
+ ServiceConfiguration sc;
+}SccServiceConfigValidate;
+
+typedef struct
+{
+ SysServiceOptionT so;
+}SccServiceOptiValidate;
+
+typedef struct
+{
+ FORInfoData alertDate;
+}SccAlertInd;
+
+typedef struct
+{
+ kal_uint8 conRef;
+ kal_uint16 serviceOption;
+ kal_uint8 length;
+ kal_uint8 ctlRec[MAX_SERV_OPT_CNTL_RECORD_LEN];
+ kal_uint32 actionTime;
+}SccSocmInd;
+
+typedef struct
+{
+ kal_uint8 ordq;
+ kal_uint32 actionTime;
+}SccSocoInd;
+
+typedef struct
+{
+ kal_uint8 zone;
+}PacketZoneInd;
+
+typedef struct
+{
+ kal_uint16 sid;
+ kal_uint16 nid;
+}SidNidInd;
+
+typedef struct
+{
+ kal_uint8 type;
+ kal_bool cfgChanged;
+ kal_bool setChanged;
+ kal_bool freqChanged;
+}HandOffInd;
+
+typedef struct
+{
+ kal_uint8 ssdB[8];
+}SsdbInd;
+
+typedef struct
+{
+ Scc_IndMsgType type;
+ union
+ {
+ SccDataBurstIndMsg DbIndMsg;
+ SccServiceConfigRsp ServeConfRsp;
+ SccDisconnectInd DisconnctInd;
+ SccReleaseInd ReleaseInd;
+ SccServiceConfigValidate ServConfValidate;
+ SccServiceOptiValidate ServOptiValidate;
+ SccAlertInd AlertInd;
+ SccSocmInd SocmInd;
+ SccSocoInd SocoInd;
+ PacketZoneInd PZondInd;
+ SidNidInd SidNidInd;
+ HandOffInd HandoffInd;
+ SsdbInd SetSsdbInd;
+ /* add code here */
+ } indMsg;
+}PswSccIndMsg;
+
+typedef struct
+{
+ Scc_ReqMsgType type;
+ union
+ {
+ SccVsOrigReqMsg VsOrigMsg;
+ SccPsOrigReqMsg PsOrigMsg;
+ SccLsOrigReqMsg LsOrigMsg;
+ SCCSwitchReqMsg SwitchMsg;
+ SCCTimerExpiry TimerExpMsg;
+ PZHysterActIndSet HysterActSetMsg;
+ /* add code here */
+ } reqMsg;
+}PswSccReqMsg;
+
+typedef enum
+{
+ LOCK_ORDER,
+ UNLOCK_ORDER,
+ MAX_NUM
+} PswTstInjectEnum;
+
+
+void PswCustomLockProcedure(void);
+kal_bool cssCheckSidNidLock(void);
+void PswCustomFeatureMsg(kal_uint32 * MsgP);
+kal_bool PswIsCustomFeatureSet(kal_uint32 CustomFeatureMacro);
+void PswTransformPswMiscDataType(kal_uint8* srcData ,kal_uint8* desData);
+void PswTransformNamDataType(kal_uint8* srcData ,kal_uint8* desData);
+kal_uint16 PswTransformPswMiscDataPackedType(kal_uint8* srcData ,kal_uint8* desData);
+kal_uint16 PswTransformNamDataPackedType(kal_uint8* srcData ,kal_uint8* desData);
+kal_uint16 PswGetNamNumBytes();
+kal_uint16 PswGetPswMiscBytes();
+void PswCustomFeatureReg(PswCustomLockCallBackT* CustomReg);
+kal_uint8 PswGetDefaultRoamSetting();
+PswParmAccessResultCode PswRoamSettingBitMapHandler(kal_uint8 RoamSettingBitMap);
+kal_bool PswCustomFeatureCheck(kal_uint32 FeatureItem);
+void PswSetImsimValidStatusMsg( PswSetImsiMValidT* MsgP );
+CPState getCPState(void);
+kal_bool cpGetE911mode(void);
+kal_bool cpOtaspModeToBandChannel(kal_uint8 code, SysBandChannelT *bandCh, kal_uint8 *block);
+
+#ifdef MTK_DEV_C2K_IRAT
+kal_uint32 PswIratMd1MsgHandler(kal_uint32 MsgId, void* MsgBufferP, kal_uint32 MsgSize);
+rsvas_sim_enum rsvasGetCurrentSimId(void);
+#endif
+
+/*********************PswCustomLockDefination************************************/
+
+/*****************************************************************************
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+*
+*
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+*****************************************************************************/
+
+/*****************************************************************************
+* End of File
+*****************************************************************************/
+#endif /* #ifndef _PSWAPI_H_ */
+/**Log information: \main\CBP80\cbp80_gdeng_scbp10099\1 2012-07-27 08:59:51 GMT gdeng
+** SCBP#10099 **/
+/**Log information: \main\CBP80\cbp80_gdeng_scbp10099\2 2012-07-30 08:20:37 GMT gdeng
+** SCBP#10099**/
+/**Log information: \main\CBP80\cbp80_gdeng_scbp10325\1 2012-09-20 06:13:14 GMT gdeng
+** SCBP#10325**/
+/**Log information: \main\CBP80\cbp80_gdeng_scbp10325\2 2012-09-20 06:23:16 GMT gdeng
+** SCBP#10325**/
+/**Log information: \main\SMART\1 2013-04-25 09:46:39 GMT yxma
+** HREF#22182, add custom lock feature to smartfren
+|**/
+/**Log information: \main\Trophy\Trophy_zjiang_href22256\1 2013-08-21 07:39:32 GMT zjiang
+** HREF#22256.1.crts21316:Ä£¿é¶ÌÐÅ×Ô×¢²á±àÒë°æ±¾Àï´æÔÚµÄ×Ô×¢²á¶ÌÐŶàÓàÉϱ¨ÐÞ¸Ä;2.+CPINÃüÁîÓÅ»¯.**/
+/**Log information: \main\Trophy\2 2013-08-21 07:42:24 GMT cshen
+** href#22256**/
+/**Log information: \main\Trophy\Trophy_xding_href22331\1 2013-12-10 07:18:03 GMT xding
+** HREF#22331, ºÏ²¢MMCÏà¹Ø¹¦Äܵ½Trophy baselineÉÏ**/
+/**Log information: \main\Trophy\3 2013-12-10 08:33:39 GMT jzwang
+** href#22331:Merge MMC latest implementation from Qilian branch.**/
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/pswcustom.h b/mcu/interface/protocol/as_c2k/1xrtt/pswcustom.h
new file mode 100644
index 0000000..1d96ebb
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/pswcustom.h
@@ -0,0 +1,476 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1997-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+#ifndef _PSWCUSTOM_H_
+#define _PSWCUSTOM_H_
+
+#include "kal_public_api.h"
+#include "kal_public_defs.h"
+#include "kal_general_types.h"
+
+/****************************************************************************
+ *
+ * Module: pswcustom.h
+ *
+ * Purpose: Customer specified compile switches
+ *
+* HISTORY :
+* See Log at end of file
+*
+***************************************************************************/
+
+/*****************************************************************************
+ * ------- Code-Build Options ... comment/uncomment as required ------- *
+ ****************************************************************************/
+
+
+#define IS2000_REV_0 1 /* Activate all IS2000 Rev.0 SW */
+#define IS2000_REV_A 1 /* Activate all IS2000 Rev.0 SW */
+#define DSCH_NEW 1
+
+/* Release A and beyond functionality remains supported in the CBP6
+ * baseline SW as indicated by IS2000_REV_A and DSCH_NEW both being defined.
+ * This decision stems from a mixing Rel0 and Rel > A logic that has not been
+ * clearly separated using the above #defines. However, CBP6 solution has
+ * not been verified on RelA networks and thus cannot be truly RelA compliant.
+ * Some of the RelA SW must be cleaned up in order for the SW to be optimized
+ * for Rel0 solutions. The REMOVE_IS2000_REL_A #define was created for this
+ * purpose. In the case where the CBP6 solution is targeted for a RelA system,
+ * REMOVE_IS2000_REL_A must be deleted or set to 0.
+ */
+#define REMOVE_IS2000_REL_A 1
+
+#ifdef IS95A
+#define T53_OR_IS95A 1
+#else /* !IS95A */
+#define T53_PLUS_OR_95B 1
+#endif
+
+/*****************************************************************************
+ * ------- Tune parameters - adjust as required *
+ ****************************************************************************/
+
+#ifdef MTK_PLT_ON_PC_UT
+/* Set default CCI to enabled in UT. */
+#define CP_QPCH_CCI_ENABLED_DEFAULT KAL_TRUE
+#else
+#define CP_QPCH_CCI_ENABLED_DEFAULT KAL_FALSE
+#endif
+
+/* Sim QPCH feature: when enabled, QPCH-like wake may occur before PCH wake
+ in networks where QPCH is disabled. QPCH PI is ignore, the QPCH wake is
+ only used for best PN selection before PCH wake. This is the default init
+ value. It can be changed at run-time and it is stored in PSW Misc DBM */
+#if defined(KDDI_EXTENSIONS)
+#define CP_SIM_QPCH_ENABLED_DEFAULT KAL_TRUE
+#else
+#define CP_SIM_QPCH_ENABLED_DEFAULT KAL_FALSE
+#endif
+/* dynamic QPCH enable/disable based on Pilot Ec/Io thresholds */
+#if defined(KDDI_EXTENSIONS)
+#define CP_QPCH_DYNAMIC_CTRL_ENABLED_DEFAULT KAL_TRUE
+#else
+#define CP_QPCH_DYNAMIC_CTRL_ENABLED_DEFAULT KAL_FALSE
+#endif
+#define CP_QPCH_DYNAMIC_CTRL_ECIO_THRESH_LOW 2609 /* -14 dB */
+#define CP_QPCH_DYNAMIC_CTRL_ECIO_THRESH_HIGH 5205 /* -11 dB */
+
+/* DFS EcIo Threshhold. DFS not started until active EcIo is weaker than threshhold */
+#if defined(KDDI_EXTENSIONS)
+#define CP_DEFAULT_DFS_ECIO_THRESH 24 /* -12.0 dB, Units -0.5dB */
+#else /* always do DFS */
+#define CP_DEFAULT_DFS_ECIO_THRESH 0
+#endif
+
+#define CP_IC_MODE_DEFAULT IC_NORMAL
+
+/* Min # of frames chipset must rx the action in advance of the action time */
+#if defined (MTK_CBP)
+#define CC_MIN_FRAMES_BEFORE_ACTION_TIME 1
+#else
+#define CC_MIN_FRAMES_BEFORE_ACTION_TIME 3
+#endif
+#define TC_MIN_FRAMES_BEFORE_ACTION_TIME 2
+
+/* Better service rescan after redirection in 5 minutes */
+#define REDIRECTION_END_TIME 300000L /* 300 seconds */
+
+/* default 1x Adv Enabled */
+#define CP_1XADV_ENABLED_DEFAULT KAL_TRUE
+/* default SO73 Control */
+#define CP_SO73_ENABLED_DEFAULT KAL_TRUE
+#define CP_SO73_WBENABLED_DEFAULT KAL_TRUE
+
+/**********************************************************************/
+/***************** END CUSTOM SYSTEM SELECTION ************************/
+/**********************************************************************/
+
+/* PCH Layer 2 */
+/* Increased to 6.2 seconds */
+#define ENG_MAX_BAD_PAGE_FRAME 310 /* 310 * 20 msec = 6.2 sec, for the access followed by idle supervsion 3 sec + 3 sec */
+
+/* this sets number of base stations for which
+ * overhead info is stored
+ */
+#define MAX_HISTORY_RECS 7
+
+/* new Idle Handoff Parameters */
+#define THR_SLOPE_RES 2 /* Q-precision resolution of specified line slopes.
+ (2^-THR_SLOPE_RES)*(SPEC integer slope in dB(thresh)
+ /dB(Active pwr)). */
+#define THR_SLOPE_MID 2 /* (2^THR_SLOPE_RES)/2 used for slope rounding. */
+
+#define MIN_ACT_IMMED 34 /* -17.0 dB active power below the "instant" test
+ threshold is THR_MIN_IMMED. */
+
+#define THR_SLOPE_IMMED 1 /* Slope of instant threshold above active power
+ MIN_ACT_IMMED in units of dB(thresh)/dB(Active pwr)/
+ 2^THR_SLOPE_RES. */
+#define THR_MIN_IMMED 4 /* Minimum value of the "instant" test threshold.
+ Units -0.5dB. */
+#define MIN_ACT_DELAYED 34 /* Minimum value of the "persistance" test threshold.
+ Units -0.5dB. */
+#define THR_SLOPE_DELAYED 1 /* Active power below which the "persistance" test
+ threshold is THR_MIN_DELAYED. */
+#define THR_MIN_DELAYED 1 /* Slope of the instant threshold above active power of
+ MIN_ACT_DELAYED, in units of dB(thresh)/dB(active pwr)
+ /2^THR_SLOPE_RES. */
+#define HO_DELAYED_IHO_COUNT 2 /* Persistence test for delayed HO
+ ( default: 2 consecutive search results) */
+#define NOISE_THRESHOLD 50 /* Threshold below which no neighbor pilot will be
+ considered a valid target for handoff, units -0.5dB */
+#define MIN_NGHBR_THR 36 /* Idle Handoff Candidates must be atleast -18.0 dB . */
+
+#if defined(MTK_CBP)
+/* Access Entry HO Parameters */
+#define CP_ACCESS_ENTRY_HO_WEAK_PILOT_STRENGTH 24 /* -12 dB */
+#else
+/* Access Entry HO Parameters */
+#define CP_ACCESS_ENTRY_HO_WEAK_PILOT_STRENGTH 14 /* -7 dB */
+#endif
+
+/* Max # of Access Slots to delay due to persistence before transmit msg */
+#define ENG_MAX_PSIST_ACCESS_SLOTS 6
+
+
+/* Default Service Option */
+
+#define CP_CUSTOM_DEFAULT_SERVICE_OPTION 3 /* Rate set 1, EVRC */
+#define CP_CUSTOM_DEFAULT_HOME_MO_SO 3
+#define CP_CUSTOM_DEFAULT_ROAM_MO_SO 3
+#define CP_CUSTOM_DEFAULT_HOME_MT_SO 3
+
+/* Service Configuration - Maximum Number of Service Option Connections */
+#define CP_MAX_SERV_OPT_CONN_REC 2
+
+/* Maximum Service Option Control Message Record Length */
+#define MAX_SERV_OPT_CNTL_RECORD_LEN 128
+
+/* Maximum Mobile Station Supported Supplemental Code Channels */
+#define CP_MAX_SUP_CODE_CHANNELS 7
+
+/* Maximum Sizes for Messaging Elements */
+#define CP_MAX_CALLED_PARTY_NUMBER_SIZE 32 /* Called Party # record */
+#ifdef MTK_CBP
+#define CP_MAX_CALLING_PARTY_NUMBER_SIZE 50 /* Calling Party # record */
+#else
+#define CP_MAX_CALLING_PARTY_NUMBER_SIZE 32 /* Calling Party # record */
+#endif
+#define CP_MAX_REDIRECTING_NUMBER_SIZE 32 /* Redirecting # record */
+#define CP_MAX_EXTENDED_DISPLAY_SIZE 82 /* Extended Display record */
+#define CP_MAX_DISPLAY_SIZE 82 /* Display record */
+#define CP_MAX_KEYPAD_FACILITY_SIZE 32 /* Keypad Facility record */
+#ifdef MTK_CBP
+#define CP_MAX_SUBADDRESS_SIZE 50 /* Subaddress record */
+#else
+#define CP_MAX_SUBADDRESS_SIZE 32 /* Subaddress record */
+#endif
+#define CP_MAX_BURST_DTMF_DIGITS 255 /* Burst DTMF msg */
+#define CP_MAX_DATA_BURST_CHAR 249 /* Data Burst msg */
+ /* 255 - Data Burst header */
+#define CP_MAX_CADENCE_GROUPS_REC 16
+#define CP_MAX_EXTENDED_DISPLAY_REC 3
+
+/* Traffic Channel Message Transmitter (tc_mtx.c) */
+
+/* TC Transmitter Queue Sizes */
+#define ACKQ_SIZE 8 /* TC Ack Queue Size */
+#define MSGQ_SIZE 8 /* TC Msg Queue Size */
+
+/* Traffic Channel Transmit Window Size */
+#define TC_TX_WINDOW_SIZE 4
+#if ((TC_TX_WINDOW_SIZE == 0) || (TC_TX_WINDOW_SIZE > 4))
+#error "Bad TC Transmit Window Size!"
+#endif
+
+/* Minimum backoff time in frames from T2m to transmit an ACK */
+/* **
+** Have to take into account potential queuing delay of **
+** 1 frame, message passing, and one frame for insurance. **
+** Note: An Acknowledgement Message should fit in one frame: **
+** MSG_LENGTH + MSG_TYPE + ACK_FIELDS + ORDER + **
+** ADD_REC_LEN + RESERVED + CRC = 56 bits = 7 bytes **
+** **
+** Mux 1 9600 bps 1/2 rate - 88 signalling bits **
+** Mux 2 14400 bps 1/2 rate - 138 signalling bits **
+** */
+#define TC_TX_PIGGYBACK_BACKOFF 5
+#if ((TC_TX_PIGGYBACK_BACKOFF < 3) || (TC_TX_PIGGYBACK_BACKOFF > 10))
+#error "Bad TC Transmit Piggyback Backoff!"
+#endif
+
+/* Minimum Signaling Bits Per Frame */
+/* MUX OPTION 1 (RATE SET 1) 9600 bps, 1/2 rate, Dim & Burst */
+#define TC_TX_MIN_MUX1_SIG_BITS_PER_FRAME 88
+/* MUX OPTION 2 (RATE SET 2) 14400 bps, 1/2 rate, Dim & Burst */
+#define TC_TX_MIN_MUX2_SIG_BITS_PER_FRAME 138
+
+/* Minimum Closed Loop Power Control Step Size */
+#define CP_MIN_PWR_CNTL_STEP 2
+
+/* Traffic Channel Pilot Set Maintenance */
+#define CP_T_DROP_COUNT 1
+
+/* Amount of time to inhibit Registration after a failure */
+#define CP_REG_DELAY_AFTER_FAIL 5000 /* msec */
+
+#define ACCESS_FAIL_COUNT 5
+#define DELAYED_ORIG_WAITING_TIME 70000/* time wait before abort orig attempt */
+ /* 70sec (similar to silent retry) */
+/* SNR SR - Silent Retry defines. */
+#define MAX_SILENT_RETRIES 15 /* Max no of sub-attempt permitted */
+#define SILENT_RETRY_TIMEOUT 20L /* 20ms -> 1 frame delay before Reorig */
+#define SILENT_RETRY_RESET_TIMEOUT 30000L /* 45 Sec Failsafe Timeout to reset SR
+ * upon expiration.
+ */
+
+#ifndef OTA_MAX_MDN_DIGITS
+#define OTA_MAX_MDN_DIGITS 15
+#endif
+
+/* MAX_BCASTS is the number of broadcast messages that can be
+ * checked for duplicates.
+ * If more than MAX_BCASTS distinct messages are received within
+ * four broadcast cycles, messages will not be lost but duplicates
+ * may be reported.
+ */
+#define MAX_BCASTS 10
+
+/* MAX_SINGLE_AWI_SMS_WORDS is the maximum size of a
+ * SMS message that can be received in a single
+ * ALERT_WITH_INFO_SMS message. It is in units of FVC words
+ * (each of which has 3 bytes of user data)
+ * NOTE: This must not be greater than 127 !
+ */
+#define MAX_SINGLE_AWI_SMS_WORDS 64
+
+/* MAX_ALERT_WITH_INFO_SMS_SIZE is the maximum size of an
+ * SMS message that can be received via a series of
+ * ALERT_WITH_INFO_SMS messages.
+ */
+#define MAX_ALERT_WITH_INFO_SMS_SIZE 256
+
+/* R.Sattari, 9/6/00, added defines for capability fields of the capability */
+/* information record. Set to 1 for enabled, and to 0 for disabled */
+/* CR 6254
+ These macros are no longer needed. They are replaced by enums in
+ Ms_cap_db.h
+
+#define CP_ACCESS_ENTRY_HO_ENABLED 1
+#define CP_ACCESS_PROBE_HO_ENABLED 1
+#define CP_ANALOG_SEARCH_ENABLED 0
+#define CP_HOPPING_BEACON_ENABLED 0
+#define CP_MAHHO_ENABLED 0
+#define CP_PUF_ENABLED 0
+#define CP_ANALOG_553A_ENABLED 0
+*/
+
+/* PDCH params */
+#define CP_MAX_PDCCH_CH 8
+
+/* Default Customer Preferred Service Option */
+#define PSW_DEFAULT_LSD_SO_PREF SERVICE_OPTION_15
+#define PSW_DEFAULT_MSD_SO_PREF SERVICE_OPTION_33
+#define PSW_DEFAULT_ASYNC_SO SERVICE_OPTION_12
+#define PSW_DEFAULT_FAX_SO SERVICE_OPTION_13
+#define PSW_DEFAULT_IS126_SO SERVICE_OPTION_2
+#define PSW_DEFAULT_MARKOV_SO SERVICE_OPTION_32798
+#define PSW_DEFAULT_SUPL_LPBK_SO SERVICE_OPTION_30
+#if defined(MTK_CBP) || defined(SMARTFREN_EXTENSIONS)
+#define PSW_DEFAULT_SMS_SO SERVICE_OPTION_6
+#else
+#define PSW_DEFAULT_SMS_SO SERVICE_OPTION_14
+#endif
+#define PSW_DEFAULT_OTASP_SO SERVICE_OPTION_19
+#define PSW_DEFAULT_CSC_SO SERVICE_OPTION_35
+#define PSW_DEFAULT_VOICE_SO CP_CUSTOM_DEFAULT_SERVICE_OPTION
+
+
+#define PSW_OTAPA_NAM_LOCK_DEFAULT OTAPA_NAM_LOCK_KEEP_BS_SETTING
+#define PSW_OTASP_POWERUP_MODE_DEFAULT OTASP_COMPLETE_PSW_AUTO_POWERCYCLE
+
+/*****************************************************************************
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+*
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+*
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+*
+ * removed!
+ * removed!
+*****************************************************************************/
+
+/*****************************************************************************
+* End of File
+*****************************************************************************/
+#endif /* _CUSTOM_H_ */
+/**Log information: \main\CBP80\cbp80_cshen_scbp10283\cbp80_gdeng_scbp10309\1 2012-09-13 09:10:44 GMT gdeng
+** scbp10309**/
+/**Log information: \main\SMART\1 2013-04-23 06:23:00 GMT yxma
+** HREF#22166 , add default custom service option to SMARTFREN
+|
+|**/
+/**Log information: \main\SMART\2 2013-04-24 09:44:37 GMT yxma
+** HREF#22179,modify default smartfren sms option
+|**/
+/**Log information: \main\SMART\3 2013-04-27 08:09:18 GMT yxma
+** HREF#22188 , modify smartfren primary voice so**/
+/**Log information: \main\Trophy\Trophy_gdeng_href22222\1 2013-06-08 01:22:06 GMT gdeng
+** HREF#22222**/
+/**Log information: \main\Trophy\2 2013-06-08 01:27:18 GMT cshen
+** href#22222**/
+/**Log information: \main\Trophy\Trophy_SO73\1 2013-07-09 05:09:38 GMT gdeng
+** HREF#0000 **/
+/**Log information: \main\Trophy\Trophy_SO73\2 2013-07-18 05:11:58 GMT gdeng
+** HREF#0000 enable wb 73**/
+/**Log information: \main\Trophy\4 2013-07-18 05:32:44 GMT cshen
+** href#22222**/
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/pswdebug.h b/mcu/interface/protocol/as_c2k/1xrtt/pswdebug.h
new file mode 100644
index 0000000..2d491b7
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/pswdebug.h
@@ -0,0 +1,163 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+#ifndef _PSWDEBUG_H_
+#define _PSWDEBUG_H_
+/*****************************************************************************
+*
+* FILE NAME : pswdebug.h
+*
+* DESCRIPTION : Debug definitions for simultaion debugging
+*
+* HISTORY :
+* See Log at end of file
+*
+*****************************************************************************/
+
+/*----------------------------------------------------------------------------
+ Include Files
+----------------------------------------------------------------------------*/
+/*
+#include "tstapi.h"
+*/
+#include "pswerr.h"
+
+/*----------------------------------------------------------------------------
+ Global Defines and Macros
+----------------------------------------------------------------------------*/
+
+
+/*----------------------------------------------------------------------------
+ Global Typedefs
+----------------------------------------------------------------------------*/
+
+typedef struct
+{
+ kal_bool PsEnabled;
+ kal_bool SendL1dMsgToTst;
+ kal_bool TimerSimulation;
+} PswDebugT;
+
+/*----------------------------------------------------------------------------
+ Global Data
+----------------------------------------------------------------------------*/
+
+/* >>> Old stuff need to clean up */
+
+
+
+typedef enum
+{
+ PSW_DBM_MS_CAP_WRITE,
+ PSW_DBM_NAM_LOCK_WRITE,
+ PSW_DBM_NAM_DATA_WRITE,
+ PSW_DBM_MRU_WRITE,
+ PSW_DBM_CLEAR_MRU,
+ PSW_DBM_SAVE_LAST_SYS_MRU,
+ PSW_DBM_NAM_DATA_PROCESS,
+ PSW_DBM_MRU_DATA_PROCESS,
+ PSW_DBM_INIT_DBM,
+ PSW_DBM_NAM_DATA_READ_REQUEST,
+ PSW_DBM_MRU_READ_REQUEST,
+ PSW_DBM_MSCAP_READ_REQUEST,
+ PSW_DBM_PRL_READ_REQUEST,
+ PSW_DBM_NVM_CHANGED_BY_ETS,
+ PSW_DBM_MISC_DATA_READ_REQUEST,
+ PSW_DBM_MISC_DATA_PROCESS,
+ PSW_DBM_ERI_READ_REQUEST,
+ PSW_DBM_ERI_DATA_PROCESS,
+ PSW_DBM_MSID_WRITE,
+ PSW_DBM_SECURE_DATA_READ_REQUEST,
+ PSW_DBM_SECURE_DATA_PROCESS,
+ PSW_DBM_SECURE_DATA_WRITE,
+ PSW_DBM_SECURE_DATA_WRITE_ACK,
+ PSW_DBM_MISC_DATA_WRITE,
+ PSW_DBM_MISC_DATA_WRITE_ACK,
+ PSW_DBM_MISC_DATA_WRITE_NACK,
+ PSW_DBM_SET_MSID_IN_USE
+} PswDbmTraceIds;
+
+typedef enum
+{
+ BAND_CHANNEL_INVALID,
+ CHANNEL_TO_BLOCK
+} PswMultiBandTraceIds;
+/*----------------------------------------------------------------------------
+ Global Function Prototypes
+----------------------------------------------------------------------------*/
+
+/*****************************************************************************
+* $Log: pswdebug.h $
+*
+* 07 06 2017 sue.zhong
+* [MOLY00259241] [6293][C2K]Replace with KAL data type
+* Correct copyright file header
+*
+* 11 09 2016 sue.zhong
+* [MOLY00208435] [6293][C2K]Sync C2K code to UMOLYA TRUNK
+* Update C2K PS code (1/2)
+* Revision 1.3 2004/09/28 15:23:14 chinh
+* Revision 1.2 2004/03/25 12:07:45 fpeng
+* Updated from 6.0 CP 2.5.0
+* Revision 1.2 2003/08/28 11:28:35 bcolford
+* Update for merge.
+* Revision 1.3 2003/08/22 11:45:08 mclee
+* Uim Feature Introduction in SW Base
+* Revision 1.2 2002/06/06 14:25:15 dstecker
+* Updated copyright notice
+* Revision 1.1 2001/01/17 10:57:46 plabarbe
+* Initial revision
+* Revision 1.1 2000/10/24 21:11:43Z fpeng
+* Initial revision
+* Revision 1.4 2000/03/31 00:18:57Z cmastro
+* adjusted include files
+* Revision 1.3 2000/03/01 18:19:00Z rsattari
+* Revision 1.2 1999/12/02 18:41:54Z cdma
+* Updated comments for CBP3.0
+*****************************************************************************/
+
+/*****************************************************************************
+* End of File
+*****************************************************************************/
+#endif
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/pswdef.h b/mcu/interface/protocol/as_c2k/1xrtt/pswdef.h
new file mode 100644
index 0000000..0761300
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/pswdef.h
@@ -0,0 +1,1016 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+#ifndef _PSWDEF_H_
+#define _PSWDEF_H_
+/*****************************************************************************
+*
+* FILE NAME :
+*
+* DESCRIPTION :
+*
+* HISTORY :
+* See Log at end of file
+*
+*****************************************************************************/
+
+/*----------------------------------------------------------------------------
+ Include Files
+----------------------------------------------------------------------------*/
+
+#include "pswapi.h"
+#include "pswpe.h"
+#include "lmdapi.h"
+#include "l1dapi.h"
+#include "valapi.h"
+#include "Ms_Cap_Db.h"
+#include "sms_data.h"
+#include "ota_data.h"
+#include "valdbmapi.h"
+
+#include "uimapi.h"
+#include "nvram_struct.h"
+
+#ifdef MTK_CBP_SYNC_OPTIMIZE
+#include "hscapi.h"
+#endif /* MTK_CBP_SYNC_OPTIMIZE */
+
+/*----------------------------------------------------------------------------
+ Global Defines and Macros
+----------------------------------------------------------------------------*/
+#define PSW_SET_ACTION_TIME(a) ((a) ? *(a) : SysTimeGet() + 4)
+
+/* Control debugging information flow */
+#define PSW_DBG(x) do {} while (0)
+
+#define MON_TRACE MonTrace
+
+typedef enum
+{
+ /* Driver API */
+ WBIOS_DISTANCE_BASED_REG =0x00,
+ WBIOS_SLOTTED_MODE_ENABLE =0x01,
+ WBIOS_SLOTTED_MODE_DISABLE =0x02,
+ WBIOS_SLEEP =0x03,
+ WBIOS_WAKEUP =0x04,
+ WBIOS_SET_TIMER =0x05,
+ WBIOS_KILL_TIMER =0x06,
+ WBIOS_PILOT_ACQUIRE_ABORT =0x07,
+ WBIOS_PILOT_ACQUIRE_START =0x08,
+ WBIOS_SYNC_TO_SYSTEM_TIME =0x09,
+ WBIOS_SYNC_ACQUIRE_START =0x0A,
+ WBIOS_SYNC_ACQUIRE_ABORT =0x0B,
+ WBIOS_CDMA_CAND_FREQ_SEARCH_ABORT_VISIT =0x0C,
+ WBIOS_CDMA_CAND_FREQ_SEARCH_PARM =0x0D,
+ WBIOS_CDMA_CAND_FREQ_SEARCH_START =0x0E,
+ WBIOS_IDLE_PILOT_SET =0x0F,
+ WBIOS_IDLE_CHANGE_PILOT_SET =0x10,
+ WBIOS_PILOT_SEARCH_WINDOW =0x11,
+ WBIOS_PILOT_SET =0x12,
+ WBIOS_PAGE_MONITOR_START =0x13,
+ WBIOS_PAGE_MONITOR_STOP =0x14,
+ WBIOS_ACCESS_MESSAGE_SEND =0x15,
+ WBIOS_ACCESS_MESSAGE_ABORT =0x16,
+ WBIOS_LONG_CODE_CHANGE =0x17,
+ WBIOS_PUF_PROBE_ABORT =0x18,
+ WBIOS_PUF_PROBE_SEND =0x19,
+ WBIOS_SERVICE_CONFIGURATION =0x1A,
+ WBIOS_SERVICE_OPTION_CONTROL_MESSAGE =0x1B,
+ WBIOS_SERVICE_OPTION_CONTROL_ORDER =0x1C,
+ WBIOS_SERVICE_CONFIGURATION_VALIDATION =0x1D,
+ WBIOS_SERVICE_OPTION_VALIDATION =0x1E,
+ WBIOS_TRAFFIC_CHANNEL_START =0x1F,
+ WBIOS_TRAFFIC_CHANNEL_SOFT_HANDOFF =0x20,
+ WBIOS_TRAFFIC_CHANNEL_STOP =0x21,
+ WBIOS_TRAFFIC_CHANNEL_SEND_MESSAGE =0x22,
+ WBIOS_TRAFFIC_CHANNEL_POWER_STEP =0x23,
+ WBIOS_TRANSMITTER_CONTROL =0x24,
+ WBIOS_DISABLE =0x25,
+ ENG_RELAY_CDMA_CAND_FREQ_SEARCH_REPORT =0x26,
+ ENG_CAND_FREQ_TIMES_MSG =0x27,
+ ENG_CMD_STATUS_MSG =0x28,
+ ENG_RELAY_PAGE_FRAME_INDICATION =0x29,
+ ENG_RELAY_SYNC_FRAME_INDICATION =0x2A,
+ ENG_RELAY_TC_FRAME_INDICATION =0x2B,
+ ENG_RELAY_PILOT_MEASURE_REPORT =0x2C,
+ ENG_RELAY_IDLE_HANDOFF =0x2D,
+
+ /* User Interface (VAL) API */
+ WBIOS_RETRIEVE_CHANNEL =0x2E,
+ WBIOS_SAVE_CHANNEL =0x2F,
+ WBIOS_SET_SSDA =0x30,
+ WBIOS_SET_SSDB =0x31,
+ WBIOS_INITIALIZE_AKEY =0x32,
+ WBIOS_SET_CALL_HIST_PARAMETER =0x33,
+ WBIOS_SET_SID_NID_LIST =0x34,
+ WBIOS_SET_TMSI_ASSIGNMENT =0x35,
+ WBIOS_SET_ZONE_LIST =0x36,
+ WBIOS_DELETE_ZONE_LIST =0x37,
+ WBIOS_DELETE_SID_NID_LIST =0x38,
+ WBIOS_SET_BASE_DISTANCE_REG_INFO =0x39,
+ WBIOS_REPORT_ALERT =0x3A,
+ WBIOS_REPORT_BURST_DTMF =0x3B,
+ WBIOS_REPORT_CP_EVENT =0x3C,
+ WBIOS_REPORT_CP_STATUS =0x3D,
+ WBIOS_REPORT_FEATURE_NOTIFICATION =0x3E,
+ WBIOS_REPORT_FLASH =0x3F,
+ WBIOS_REPORT_LOCK =0x40,
+ WBIOS_REPORT_MAINTENANCE_REQUIRED =0x41,
+ WBIOS_REPORT_REGISTRATION_REJECT =0x42,
+ WBIOS_REPORT_SERVICE_NEGOTIATION_MODE =0x43,
+ WBIOS_REPORT_START_CONTINUOUS_DTMF =0x44,
+ WBIOS_REPORT_STOP_CONTINUOUS_DTMF =0x45,
+ WBIOS_REPORT_SYSTEM_TIME =0x47,
+ WBIOS_REPORT_UNLOCK =0x48,
+ WBIOS_SYSTEM_ERROR =0x49,
+
+ /* New Funcs */
+ /* Note: these must be in sync with ETS so for now not put in */
+ /* sorted catagory above */
+ ENG_RELAY_CP_REQUEST =0x4A,
+ WBIOS_SERVICE_CONFIGURATION_INITIATION =0x4B,
+ WBIOS_ACCEPT_LONG_CODE_CHANGE_REQ =0x4D,
+ WBIOS_TRAFFIC_CHANNEL_HARD_HANDOFF =0x4E,
+ WBIOS_REPORT_DATA_BURST =0x4F,
+ ENG_RELAY_CDMA_CAND_FREQ_SEARCH_TIMES =0x50,
+ ENG_RELAY_REPORT_STATUS =0x51,
+ WBIOS_MULTIPLEX_OPTION_INFORMATION =0x52,
+ WBIOS_SERVICE_OPTION_INFORMATION =0x53,
+ WBIOS_REVERSE_MULTIPLEX_PARAMETERS_GET =0x54,
+ WBIOS_REVERSE_MULTIPLEX_PARAMETERS_SET =0x55,
+ WBIOS_REPORT_REGISTRATION_ACCEPT =0x56,
+ WBIOS_SET_RAND =0x57,
+ WBIOS_SYSTEM_SELECTION =0x58,
+ WBIOS_SC_SERVICE_CONFIGURATION_RESPONSE =0x59,
+ WBIOS_REPORT_CP_RESPONSE =0x5A,
+ WBIOS_ACCEPT_VOICE_PRIVACY_CHANGE =0x5B,
+ WBIOS_REPORT_HANDOFF =0x5C,
+ WBIOS_REPORT_ACCESS_MAX_CAPSULE_SIZE =0x5D,
+ WBIOS_SC_GET_SERV_CFG_NO_CONNECTIONS =0x5E,
+ WBIOS_SC_GET_SERVICE_OPTION_INFO =0x5F,
+ WBIOS_PREAMBLE_OFF =0x60,
+ ENG_RELAY_CAND_FREQ_STOP =0x61,
+ ENG_RELAY_CAND_FREQ_START =0x62,
+ WBIOS_OUT_OF_SERVICE_AREA_SLEEP =0x63,
+ ENG_RELAY_OUT_OF_SERVICE_AREA_PARAMETERS =0x64,
+ WBIOS_REPORT_PWR_REP_FRAMES =0x65,
+ ENG_RELAY_SET_IHO_THRESHOLDS =0x66,
+ ENG_RELAY_SET_IHO_TIMER =0x67,
+ WBIOS_REPORT_CQA =0x68,
+ ENG_RELAY_REVERSE_MULTIPLEX_PARAMTERS =0x69,
+
+ WBIOS_OOSA_WAKEUP =0x6A,
+ WBIOS_REPORT_NETWORK_P_REV =0x6B,
+ WBIOS_REPORT_PACKET_ZONE_ID =0x6C,
+ WBIOS_REQUEST_VOICE_PRIVACY_INDICATION =0x6D,
+ ENG_RELAY_SET_NEW_IHO_PARAMETERS =0x6E,
+
+ WBIOS_REPORT_ROAM_IND =0x6F,
+ WBIOS_SCC_BCAST_CNFG =0x70,
+ WBIOS_REPORT_BCAST_DATA_BURST =0x71,
+ WBIOS_SCC_BCAST_EXPTED =0x72,
+ WBIOS_SCC_CHECK_SO_IS_HSPD =0x73,
+
+ ENG_RELAY_E911_MODE_ENABLE =0x74,
+ ENG_RELAY_E911_MODE_DISABLE =0x75,
+ /*AKK 03-22-00 Added search request/control message parameter */
+ ENG_RELAY_CDMA_CAND_FREQ_SEARCH_RQ_CONTROL_DATA = 0x76,
+ /*AKK 05-15-00 Added TC frame power message parameter */
+ ENG_RELAY_CDMA_CAND_FREQ_TC_FRAME_POWER_DATA = 0x77,
+
+ /*SNR BS COORD 2/1/01 */
+ WBIOS_REPORT_BS_CO_ORD = 0x78,
+ WBIOS_SR_REORIG_CALL = 0X79,
+ WBIOS_SR_FINISHED = 0X7A,
+
+ WBIOS_FOR_SCH = 0x7B,
+ WBIOS_RSR_ALLOC = 0x7C,
+ WBIOS_RSR_DEALLOC = 0x7D,
+ WBIOS_REV_SCH = 0x7E,
+ WBIOS_SCC_IS_SERV_OPTION_ATTRIBUTE_AVAILABLE = 0x7F,
+ WBIOS_SCC_GET_DEFAULT_SERVICE_CONFIGURATION = 0x80,
+ WBIOS_RESOURCE_UPDATE = 0x81,
+ ENG_RELAY_SET_ACCESS_HO_PARAMETERS = 0x82,
+ WBIOS_FOR_SCH_CONFIG_UPDATE = 0x83,
+ WBIOS_REV_SCH_CONFIG_UPDATE = 0x84,
+ WBIOS_SRCH_RESULTS_COMPLETE = 0x85,
+ WBIOS_ENHANCED_ACCESS_MESSAGE_SEND = 0x86,
+ WBIOS_SYNC_MSG_RECVD = 0x87,
+ WBIOS_CSS_VALIDATE_SYNC_MSG = 0x88,
+ WBIOS_AFLT_PILOT_SET = 0x89,
+ WBIOS_AFLT_ABORT_PILOT_SET = 0x8A,
+ WBIOS_FCSCH_MONITOR_STOP = 0x8B,
+ WBIOS_REVERSE_POWER_SET = 0x8C,
+ WBIOS_PREAMBLE_ON = 0x8D,
+ WBIOS_RESOURCE_REQ = 0x8E,
+ WBIOS_PWR_CTL_PARMS = 0x8F,
+ WBIOS_FDSCH_ACQ_IND = 0x90,
+ WBIOS_MULTI_PARM_GET = 0x91,
+ WBIOS_MULTI_PARM_SET = 0x92,
+ WBIOS_TC_TO_AVC_HO = 0x93,
+ WBIOS_PS_INFO_RSP = 0x94,
+ WBIOS_ACCESS_IN_PROGRESS = 0x95,
+ WBIOS_QPCH_CCI_DECODE = 0x96,
+ WBIOS_RSCH_POWER_SET = 0x97,
+ WBIOS_RESET_LMD_MUX_STAT_COUNTS = 0x98,
+ WBIOS_L1D_ALT_PILOT = 0X99,
+ WBIOS_L1D_BAND_SUPPORTED_QUERY = 0x9A,
+ WBIOS_CSS_INDICATE_IN_SERVICE = 0x9B,
+ WBIOS_L1D_DEACTIVE_REQ = 0X9C,
+ WBIOS_L1D_RADIO_CONFIG_PARAMS = 0x9D,
+ WBIOS_HSC_SIB8_TIMING_SYNC_REQ = 0x9E,
+#ifdef MTK_CBP_REL_OPTIMIZE
+ WBIOS_VS_CNTD = 0xA0,
+ WBIOS_VS_REL = 0xA1,
+#endif
+ NUM_PSW_API_ENTRIES
+} PswApiT;
+typedef enum
+{
+ POWERDOWN,
+ MSID,
+ AUTH, /* Include both Akey and SSD */
+ SPC,
+ SIP,
+ MIP,
+ INIT
+} SecureDataType;
+
+typedef enum
+{
+ NAM_DATA_ACK,
+ DATA_ACK,
+ FLUSH_ACK
+} PswDbmAckT;
+
+/* Current status */
+typedef struct
+{
+ kal_uint8 State; /* Protocol stack state */
+ kal_uint16 Channel; /* Frequency channel */
+ kal_uint32 Esn; /* ESN */
+ kal_uint16 PilotPn; /* Pilot PN */
+} PswTstStatusT;
+
+#ifdef SYS_OPTION_HL
+typedef enum
+{
+ NON_DATA_SERVICE,
+ DATA_SERVICE
+} PswDataServiceT;
+#endif
+
+typedef enum
+{
+ DBM_DATA_NOT_INITIALIZED = 0,
+ DBM_DATA_INITIALIZED
+} DbmReadStatusType;
+
+typedef enum
+{
+ PEND_REG_NONE,
+ PEND_REG_PARM_CHANGE,
+ PEND_REG_POWERUP
+} PswPendRegType;
+
+#ifdef MTK_DEV_C2K_IRAT
+typedef enum
+{
+ IRAT_MCC_REQ_INIT = 0,/* when power up,set flag to init */
+ IRAT_HAVE_MCC_REQ = 1,/* when receive PSW_IRAT_MCC_REQ,set flag to IRAT_HAVE_MCC_REQ */
+ IRAT_NO_MCC_REQ = 2, /* when firstly receive ESPM, set flag to IRAT_NO_MCC_REQ */
+} Irat_mcc_req_enum;
+#endif /* MTK_DEV_C2K_IRAT */
+
+typedef enum
+{
+ AIRMSG_1X_PCH,
+ AIRMSG_1X_PCH_MATCHED,
+ AIRMSG_1X_PCH_MATCHED_PAGE,
+ AIRMSG_1X_FFCH,
+ AIRMSG_1X_LOC_IS801,
+ AIRMSG_1X_ACH,
+ AIRMSG_1X_RFCH,
+ AIRMSG_1X_SYNC
+} AirMsgTraceId;
+
+typedef enum
+{
+ NOT_EXISTENCE, /* there is not limited service, and reported no existence to VAL */
+ SYSTEM_LOST_EXISTENCE, /* system lost, but does not report no existence to VAL */
+ EXISTENCE /* there is limited service, and reported existence to VAL */
+}LmtServiceEnum;
+/*----------------------------------------------------------------------------
+ Global Data
+----------------------------------------------------------------------------*/
+#define PSW_MAX_NUMBER_OF_TIMERS 100
+
+extern kal_bool PswTestModeTimersUsed;
+extern kal_bool PswDisplayPeriodicTraces;
+extern PswTstStatusT PswTstStatus; /* Current status */
+
+/*----------------------------------------------------------------------------
+ Global Function Prototypes
+----------------------------------------------------------------------------*/
+#ifdef MTK_CBP_SYNC_OPTIMIZE
+void PswSIB8TimingSyncCnf(HscSib8TimingSyncCnfMsgT *MsgP);
+#endif /* MTK_CBP_SYNC_OPTIMIZE */
+void PswInitialAcqReportMsg(PswInitialAcqReportMsgT *MsgP);
+void PswL1dAlternatePilotsMsg(PswL1dAlternatePilotsMsgT *MsgP);
+void PswL1dAccessPreambleCompleteMsg (PswL1dAccessPreambleCompleteMsgT* MsgP);
+void PswL1dAccessProbeCompleteMsg (PswL1dAccessProbeCompleteMsgT* MsgP);
+void PswCmdStatusMsg (PswCmdStatusMsgT *MsgP);
+void PswCandFreqMeasurementsMsg (PswCandFreqMeasurementsMsgT *MsgP);
+void PswPMReportMsg (PswPmrMsgT *MsgP);
+void PswOuterLoopReportReqMsg (PswOuterLoopReportReqMsgT *MsgP);
+void PswCandFreqTimesMsg (PswCandFreqTimesMsgT *MsgP);
+void PswForwardPageChanFrameMsg (PswForwardPageChanFrameMsgT *MsgP);
+void PswForwardSyncChanFrameMsg (PswForwardSyncChanFrameMsgT *MsgP);
+void PswGetPSInfoMsg(void);
+void PswDSCHFrameMsg (PswDschFrameMsgT *MsgP);
+void PswPowerMsg (PswPowerMsgT *MsgP);
+void PswE911ModeMsg(PswE911ModeMsgT* MsgP);
+void PswCallInitiateMsg (PswCallInitiateMsgT *MsgP, kal_uint32 MsgId, kal_bool reOrig);
+#ifdef MTK_CBP
+void PswHlpDmntCnfMsg(void);
+#endif
+void PswHlpDrsUpdateIndMsg (kal_bool drs, kal_bool reconn_drs0);
+void PswReoriginateCall(void);
+void PswReoriginatePktCall(void);
+void PswSetSilentRetryMsg(PswSetSilentRetryMsgT *MsgP);
+void PswGetSilentRetryStatusMsg(PswGetSilentRetryStatusMsgT *MsgP);
+void PswGetPrlInfoMsg(PswGetPrlMsgT *MsgP);
+void PswCallAnswerMsg (void);
+void PswCallHangupMsg (void);
+void PswScanMeasurementsMsg (PswScanMeasurementsMsgT *MsgP);
+void PswPilotPwrAck (void);
+kal_bool PswGetLastDFSSearch(void);
+void PswTask(kal_uint32 argc, void *argv);
+void PswTestModeTimersUsedMsg (PswTestModeTimersUsedMsgT *MsgP);
+void PswTimerInit (void);
+void PswUimTimerCallBack(kal_uint32 DontCare);
+void PswTstAccessSigMsg(PswAccessSigMsgT *MsgDataPtr);
+void PswIdleHandoffMsg (PswIdleHandoffMsgT *MsgP);
+void PswTimerExpired( kal_uint32 TimerId );
+void PswSmsCbsInfoCfgMsg(PswSmsCbsInfoT *MsgP);
+void PswTATimerExpired( void );
+void PswKillAllTimers( void );
+void PswNamDataRead ( PswIs95NamT *DataP );
+void PswDataRead ( PswDbmDataT *DataP );
+void PswNamDataWrite(kal_bool NvmWriteThru);
+void PswValMdnUpdated(IS683DigitParms *digitParms);
+
+kal_uint32 PswGetSPC(void);
+kal_uint8 PswGetSpcRetryCount();
+void PswMsCapDbDataWrite( const MsCapDb* );
+void DbmDataMsCapDbRequest( void );
+void PswGetMsCapDb( void );
+void PswClearMRUMsg(void);
+void PswNamDataWriteAck(kal_uint8 result);
+void PswNvramWriteCnf(nvram_write_cnf_struct *msgP);
+void PswUpdateNamPreference(void);
+void PswMiscWriteAck(kal_uint8 result);
+void PswSecureDataWriteAck(kal_uint8 result);
+void PswMobileIdWriteAck(kal_uint8 result);
+void PswStaticsParms( PswStatCntMsgT *MsgP );
+void PswTstInitDbmNam( DataInitMode mode );
+void PswMsCapDbDataMsg( MsCapDb * pMsCapDb );
+void PswInitMiscDBToDefault(void);
+void PswTstHspdActiveControlHoldMsg(PswHspdActiveControlHoldMsgT* RxMsgP);
+void PswTstRevSchRequestMsg(PswRevSchRequestMsgT* RxMsgP);
+void PswRschRelInd( PswRschRelIndMsgT *MsgP );
+void PswDataBufferStatusMsg( PswDataBufferStatusMsgT *MsgDataPtr);
+void PswMsCapDataWriteAck(kal_uint8 result);
+void PswInjectHandoff( PswInjectHandoffMsgT *MsgP );
+void PswHookFlashMsg( PswHookflashMsgT* MsgP );
+void PswSendContDTMFOnMsg( PswSendContDTMFMsgT* MsgP );
+void PswSendContDTMFOffMsg( void );
+void PswSendBurstDTMFMsg( PswSendBurstDTMFMsgT* MsgP);
+void PswSetPrivacyModeMsg( PswSetPrivacyModeMsgT* MsgP );
+void PswGetPrivacyModeMsg(void);
+void PswGetFullSysTimeMsg( PswGetFullSysTimeMsgT* RxMsgP );
+
+#ifdef MTK_CBP_ENCRYPT_VOICE
+void PswDbmCryptDataRead(void);
+void PswDbmCryptDataWrite(void);
+void PswDbmCryptDataReadAck(PswDbmCryptDataT* MsgP);
+void PswDbmCryptDataWriteAck(kal_uint8 result);
+#endif
+
+void PswSetIdleHoParameters( PswSetIdleHOParmsMsgT *MsgP );
+void PswSetAccessHoParams ( PswSetAccessHOParmsMsgT *MsgP );
+void PswCssValRspMsg(PswCssValSyncRspMsgT* MsgDataPtr);
+
+kal_bool PswSetServiceOptionSupported(kal_uint16 so, kal_bool setting);
+void PswQpchPiStatusMsg(PswQpchPiStatusMsgT *MsgP);
+void PswGetNamMsg(PswGetNamMsgT *MsgP);
+void PswNamChangedMsg(PswNamChangedMsgT *MsgP);
+
+void PswGetParmMsg(ValGenericGetParmMsgT* MsgP);
+void PswSetParmMsg(ValGenericSetParmMsgT* MsgP);
+void PswUpdateNam(NamNumber namNumber);
+kal_bool PswUpdateUimNam(void);
+#if 0
+/* under construction !*/
+#endif
+kal_uint32 PswSaveChangedNamParms(PswNamChangedMsgT *MsgP);
+void PswServiceOptionControlResp (PswServiceOptionControlRespMsgT *MsgP);
+void PswDbmMiscDataRequest(void);
+
+void PswMiscDataRead(PswMiscT *DataP);
+kal_uint8 PswGetActiveNam(void);
+void PswReportActiveNam(void);
+void PswSelectActiveNam(PswSelectActiveNamMsgT* MsgP);
+void PswGetTransmitInfoMsg(void);
+void PswSetTransmitInfoMsg(PswSetTransmitInfoMsgT* msgDataPtr);
+void PswL1dAlternatePilotsMsg( PswL1dAlternatePilotsMsgT* MsgP);
+void PswRlpCloseReq( void );
+void PswInitSecureDbMsg( void );
+void PswEnablePrlMsg( PswEnablePrlMsgT *MsgP);
+
+#ifdef SYS_OPTION_SMS_ENGINE
+void PswSmsInit( void );
+void PswSmsPrefSrvOptMsg( PswSmsPrefSrvOptMsgT *MsgP );
+void PswSmsConnectMsg( PswSmsConnectMsgT *MsgP );
+void PswSmsDisconnectMsg( PswSmsDisconnectMsgT *MsgP );
+void PswSmsSubmitParmsMsg( PswSmsSubmitParmsMsgT *MsgP );
+void PswSmsSubmitDataMsg( PswSmsUserDataMsgT *MsgP );
+void PswSmsCancelMsg( PswSmsCancelMsgT *MsgP );
+void PswSmsAckParmsMsg( PswSmsAckMsgT *MsgP );
+void PswSmsAckDataMsg( PswSmsUserDataMsgT *MsgP );
+void PswSmsTimerExpired( kal_uint32 TimerId );
+void PswSmsPeriodTimerExpired( kal_uint32 TimerId );
+void PswSmsWaitL3AckTimerExpired( kal_uint32 TimerId );
+void PswSmsWaitRspTimerExpired( kal_uint32 TimerId );
+void PswSmsBCastConnectMsg ( PswSmsBCastParmsMsgT * MsgP );
+void PswSmsBCastDisconnectMsg( void );
+void PswSmsBCastParmsMsg( PswSmsBCastParmsMsgT *MsgP );
+#if defined(LGT_EXTENSIONS)
+void PswSmsUnknownConnectMsg ( PswSmsUnknownParmsMsgT * MsgP );
+void PswSmsUnknownDisconnectMsg( void );
+void PswSmsUnknownParmsMsg( PswSmsUnknownParmsMsgT *MsgP );
+#endif
+void PswSmsTerminalStatusMsg( PswSmsTerminalStatusMsgT *MsgP );
+void PswSmsRetxAmountMsg( PswSmsRetxAmountMsgT *MsgP);
+void PswSmsCauseCodeMsg( PswSmsCauseCodeMsgT *MsgP );
+void PswSmsGetDialInfo(SMS_ADDR *smsInfo);
+void PswSmsReplyTlAckMsg(PswSmsReplyTlAckMsgT *MsgP);
+kal_bool PswSmsIsTeleServiceConnected(kal_uint16 TeleServ);
+void PswSmsResendTimerExpired( kal_uint32 TimerId );
+void PswSmsMoRelTimerExpired( kal_uint32 TimerId );
+void PswSmsMmsTimerExpired( kal_uint32 TimerId );
+void PswSmsCap(UimGetSmsCapRspMsgT *MsgP);
+#ifdef MTK_PLT_ON_PC_UT
+void PswSendSmsConfirm(PswSendSmsConfirmMsgT *MsgP);
+#endif
+void PswSmsMutliModeMsg(PswSMSModeMsgT * MsgP);
+
+void PswSmsTlAckReqMsg(PswSMSTlackReqMsgT *MsgP);
+#endif
+
+void PswDsEnableMsg(PswDsEnableMsgT *MsgDataPtr);
+void PswDataPrefReqMsg(PswDataPrefReqMsgT *MsgDataPtr);
+void PswVsDsPreArangMsg(PswVsDsPreArangMsgT *MsgDataPtr);
+void PswVsPrefReqMsg(PswVsPrefReqMsgT *MsgDataPtr);
+void PswLsPrefReqMsg(PswLsPrefReqMsgT *MsgDataPtr);
+void PswSmsPrefReqMsg(PswSmsPrefReqMsgT *MsgDataPtr);
+void PswSmsRelReqMsg(void);
+void PswSmsTxReqMsg(PswSmsTxReqMsgT *MsgDataPtr);
+
+void PswOtaspRcvdMsg(PswOtaspRcvdMsgT *MsgDataPtr);
+void PswOtaspReleaseMsg(void);
+void PswOtaspTxReqMsg(PswOtaspTxReqMsgT *MsgDataPtr);
+void PswOtaspSoPrefMsg(PswOtaspSoPrefMsgT *MsgDataPtr);
+void PswOtaSetPowerUpModeMsg(PswOtaSetPowerUpModeMsgT *MsgDataPtr);
+void PswOtaSPLUnlockFailMsg(void);
+void PswVsSwitchSoMsg(PswVsSwitchSoMsgT *MsgDataPtr);
+void PswModExpMSResMsg(PswModExpMSResultMsgT *MsgDataPtr);
+void PswModExpBSResMsg(PswModExpBSResultMsgT *MsgDataPtr);
+void PswIOTAIS683Msg(PswIOTAIS683MsgT *MsgDataPtr);
+void PswIOTAPRLMsg(PswIOTAPRLMsgT *MsgDataPtr);
+void PswLocPrefReqMsg(PswLocPrefReqMsgT *MsgP);
+void PswSetServiceConfigMsg(PswSetServiceConfigMsgT *MsgDataPtr);
+#if defined (__TC10__) && defined (__TC10_IPC_CDMA_SUPPORT__)
+void PswSetServiceConfigReqMsg(PswSetServiceConfigReqMsgT *MsgP);
+#endif
+void PswSetPkzidHysterTmrMsg(PswSetPkzidHysterTmrMsgT *MsgDataPtr);
+void psSccUpdateSO (kal_uint16);
+void psSccSetPktCallInitMsgSaved(OrigParms *origP);
+/* service configuration */
+kal_uint8* PswSupportedMuxOptGet( void );
+void PswServNegotationSrvConfigSet( kal_uint16 SrvOpt );
+
+/* conversion routines */
+SysActionTimeT ActTime_ConvPEToSys (WbiosSystime *PeTime);
+
+L1dNghbrSearchModeT CandFreqNghbrSearchMode_ConvPEToL1d (kal_uint8 Mode);
+LmdMsgPriorityT MsgPriority_ConvPEToLmd (Priority Priority);
+SysMultiplexOptionT MultiplexOption_ConvPEToLmd (MultiplexOption MuxOpt);
+MultiplexOption MultiplexOption_ConvLmdToPE ( SysMultiplexOptionT MuxOpt );
+L1dPagingDataRateT PagingDataRate_ConvPEToL1d (PageChRate Rate);
+LmdRatesT Rates_ConvPEToLmd( kal_uint8 Rates );
+LmdRTCTrafficT RTCTrafficType_ConvPEToLmd( RTCTraffic rtcTraffic1 );
+LmdServiceOptionT ServiceOption_ConvPEToLmd (kal_uint16 ServOpt);
+PswEngineTestModeMsgT TestMode_ConvEtsToPE( PswTestModeT Mode );
+LmdTrafficTypeT TrafficType_ConvPEToLmd (TrafficType TrafficType);
+L1dTxControlT TxControl_ConvPEToL1d( TXControl txControl );
+ValNumberTypeT NumberType_ConvPEToVal( NumberType NumType );
+ValNumberPlanT NumberPlan_ConvPEToVal( NumberPlan NumPlan );
+ValPresentationIndicatorT PresInd_ConvPEToVal( PresentationIndicator Pi );
+ValScreeningIndicatorT ScreenInd_ConvPEToVal( ScreeningIndicator Si );
+ValSignalTypeT SignalType_ConvPEToVal( SignalType SignalType );
+ValAlertPitchT AltertPitch_ConvPEToVal( AlertPitch AlertPitch );
+ValRptCpEventT Event_ConvPEToVal( kal_uint8 Event );
+Css1xRptCpEventT Event_ConvPEToCss( kal_uint8 Event );
+ValCPStateT ReportStatusState_ConvPEToVal( CPState State );
+kal_uint8 RequestMode_ConvPswToPE( PswRequestModeT Mode );
+kal_uint16 ServiceOption_ConvPswToPE (kal_uint16 ServOpt);
+NumberType NumberType_ConvPswToPE( PswNumberTypeT NumType );
+NumberPlan NumberPlan_ConvPswToPE( PswNumberPlanT NumPlan );
+
+/* Location Services */
+void PswLocSlottedVeto(kal_bool veto);
+void PswLocAfltRsltInd(void);
+void PswIS801SessionStartMsg(PswIs801SessionStartMsgT *MsgDataPtr);
+void PswIS801TCPBRevDataRespInfoMsg(PswIs801TcpBRevDataRespMsgT *MsgDataPtr);
+void PswIS801EphAlmSysTimeMsg(PswIs801EphAlmSystimeMsgT* MsgDataPtr);
+void PswIS801TCPBFwdDataRespInfoMsg(PswIs801TcpbFwdDataRespInfoMsgT* MsgPtr);
+void PswPosRejectMsg(PswPosRejectMsgT* MsgPtr);
+void PswAfltMeasurementsMsg (PswPosAfltMeasurementMsgT *MsgP);
+void PswAfltPpmReqMsg(VAL_LCS_PPM_REQ_T *req);
+void PswAfltAckAbortMsg (PswPosAfltAckAbortMsgT *MsgP);
+void PswAfltAbortReqMsg (PswPosAfltAbortReqMsgT *MsgDataPtr);
+void PswIS801CancelReqMsg(PswIs801SessCancelReqMsgT *MsgDataPtr);
+void PswPdeSessionAbortReqMsg(void);
+void PswPdePseudorangeMsmtRspMsg(PswPseudorangeMsmtRspMsgT *MsgP);
+void PswPdeSessionEndRspMsg(void);
+void PswPdeGPSInopMsg(void);
+void PswGPSEnableReportsMsg(PswGPSEnableReportsMsgT *MsgP);
+kal_bool PswLocGoodN1MsgSENT(void);
+kal_bool PswLocCDMAKeepAlive(void);
+kal_uint8 PswLocN1GoodFrames(void);
+void PswLocSendN1GoodMsg(void);
+void PswLocSendPSMMIndication(void);
+void PswLocHOCompleteInd(void);
+void PswGpsDebugInfoMsg(PswGpsDebugInfoCmdMsgT* MsgDataPtr);
+void PswIs801GetSectorInfoMsg(void);
+void PswIS801TcpConnStatusMsg(PswIs801TcpConnStatusMsgT* MsgP);
+void PswLocStateChangeTestCmd(PswLocStateChangedMsgT* MsgP);
+void PswIs801SessTimerExpMsg(void* MsgDataPtr);
+void PswIs801PpmTimerExpMsg(void* MsgDataPtr);
+void PswIs801PrmTimerExpMsg(void* MsgDataPtr);
+void PswIs801PrefRespQualTimerExpMsg(void* MsgDataPtr);
+void PswIs801OutReqTimerExpMsg(void* MsgDataPtr);
+void PswLecLocRspMsg(PswLocRspDataT * MsgDataPtr);
+void PswLecGpsReadyMsg(void);
+void PswIs801ResetAssisMsg(PswGpsResetAssistMsgT* MsgDataPtr);
+void PswLecNmeaStreamMsg(PswGpsNmeaStreamMsgT* MsgDataPtr);
+void PswIS801MssDoneMsg(PswIs801MssDoneMsgT* MsgDataPtr);
+void PswIs801RestartMsg(PswValRestartMsgT* MsgDataPtr);
+void PswLocStartModeSetMsg(PswLocStartModeSetMsgT* MsgDataPtr);
+void PswLocFixModeGetMsg(PswValLocFixModeGetMsgT * MsgDataPtr);
+void PswIs801NmeaOutputSettingMsg(PswIs801NmeaOutputSettingMsgT* MsgDataPtr);
+void PswIs8011xNeworkAvail(void);
+void PswIs801SendUpdatedAfltPilotSet(kal_uint32 Sess_Id);
+void PswLecFrameSyncDoneMsg(void);
+void PswLecCdmaSystemReqMsg(void);
+void PswUserModeMsg(void);
+void PswTestModeMsg(void);
+void PswLtsModeMsg(void);
+void PswIs801AssistReqMsg(PswAssistReqT* MsgDataPtr);
+void PswIs801MpcConnStatusMsg(PswIs801MpcConnStatusMsgT* MsgDataPtr);
+void PswIs80160SecTimerMsg(void);
+void PswLecCdmaSystemReadyReqMsg(void);
+void PswIs801CustomerSettingMsg(PswIs801CustomerSettingMsgT* MsgDataPtr);
+void PswLecSessionEndRspMsg(PswLecSessionEndRspMsgT* MsgDataPtr);
+void LocRcvMsgInd(kal_uint8 *data, kal_uint16 length);
+void LocSetPrivacyMode(kal_bool mode);
+
+/* Test routines */
+void PswTstStatusRequest(void);
+void PswGetDebugScreenInfo(PswDebugScrnRequestMsgT* RxMsgP);
+void PswDebugScreenInfoResponse(kal_uint32 MsgId, void *MsgDataPtr);
+void PswPilotStrengthDebugInfo(PswDebugPilotStrengthMsgT *RxMsgP);
+void PswSendPilotStrengthDebugInfo(void);
+void PswNotifySrvStatusToUpperLayer(void);
+void PswEndE911CallReq(void);
+
+#ifdef MTK_CBP_ENCRYPT_VOICE
+void PswEncryptVoiceReqMsg(void);
+#endif
+
+void PswEngineTestModeMsg (PswEngineTestModeMsgT *MsgP);
+void PswStatusResponse(kal_uint32 MsgId, void *MsgDataPtr);
+kal_bool PswGetETSStatusTrigger(void);
+void PswSetPowerLevelIndex(kal_uint8 PLevelIndex);
+void PswPhoneStateRequest(PswPhoneStateRequestMsgT* RxMsgP);
+void PswGetPRevInUseMsg(void);
+/* */
+void PswEnterAKeyMsg (PswEnterAKeyMsgT *MsgP);
+void PswForceAnalogModeMsg(void);
+void PswGetRetrievableStatistics(PswGetRetrievableParameterMsgT *msgDataPtr);
+void PswSetRetrievableStatistics(PswSetRetrievableParameterMsgT * MsgDataPtr);
+void PswTstPowerControlMsg(PswTestPowerControlMsgT* MsgP);
+void PswWriteMDNMsg ( PswWriteRawMDNMsg* );
+void PswSetLostScanPingFrequencyMsg(PswSetLostScanPingFrequencyMsgT *MsgP);
+
+#define PswTstStatusStateSet(a) PswTstStatus.State = (a)
+#define PswTstStatusChannelSet(a) PswTstStatus.Channel = (a)
+#define PswTstStatusEsnSet(a) PswTstStatus.Esn = (a)
+#define PswTstStatusPilotPn(a) PswTstStatus.PilotPn = (a)
+
+#define PSW_MAX_SPY_LEN 64
+
+extern UiccCardStatusType PswUimGetUimCardStatus(void);
+void PswUimAuthResultMsg( UimRspToPsMsgT* msgDataPtr);
+void PswUimBSChallengeMsg( UimRspToPsMsgT* msgDataPtr);
+void PswUimConfirmSSDMsg( UimRspToPsMsgT* msgDataPtr);
+void PswUimStatusNotifyMsg(UimNotifyMsgT* MsgP);
+UimNamT* GetUimNam(void);
+void PswUiccFactoryModeMsg(PswUiccFactoryModeMsgT* MsgP);
+kal_bool PswUiccGetFactoryMode(void);
+
+#ifdef MTK_PLT_ON_PC_UT
+void PswForwardPageChanMsg (FcschMessage *MsgP);
+void PswForwardSyncChanMsg (SyncChannelMessage *MsgP);
+void PswForwardTrafficChanMsg (FTCMessage *MsgP);
+#ifdef MTK_DEV_C2K_IRAT
+void PswSetIratParam(PswSetIratParamMsgT *MsgP);
+#endif
+#endif
+CPState rxPCNM (FTCMessage* msg, CPState currentState);
+void PswWriteRawIMSIMsg(PswWriteRawIMSIMsgT* MsgP);
+void PswReadRawIMSIMsg(void);
+void PswSlottedVetoMsg( PswSlottedVetoMsgT *MsgP );
+void PswOosaWakeupIndMsg(PswOosaWakupIndMsgT* MsgP);
+/*CSS message handle*/
+void PswCssSelectRspMsg(PswCssSelectRspMsgT* MsgP);
+void PswCssValdateRspMsg(PswCssValidateRspMsgT* MsgP);
+void PswCssOosaContSleepReqMsg(PswCssOosaSleepReqMsgT* MsgP);
+void PswCssSysAcqReqMsg(PswCssSysAcqReqMsgT* MsgP);
+void PswCssAcqAbortReqMsg(void);
+void PswCssOosaSleepReqMsg(PswCssOosaSleepReqMsgT* MsgP);
+void PswCssOosaWakeupReqMsg(void);
+void PswCssOtaspScanFinishedMsg(void);
+
+kal_bool PswIsMobileIDSetInDBM( void );
+void PswGetMobileID(PswGetMobileIDMsgT* MsgP);
+void PswCl1tstGetMobileID(void);
+void PswVerifySPC(PswVerifySPCMsgT* MsgP);
+void PswSetMobileID(PswSetMobileIDMsgT* MsgP, PswSetMobileIdType SetType);
+MobileIDType PswGetMobileIDType( void );
+kal_uint8* PswGetMeidInUsePtr(void);
+kal_uint8* PswGetMeidInDbPtr(void);
+kal_uint32 PswGetEsnInUse( void );
+void PswSetSIPpassword(PswSetSIPpasswordMsgT* MsgP);
+void PswGetSIPpassword(PswGetSIPpasswordMsgT* MsgP);
+void PswGetMIPkeys(PswGetMIPkeysMsgT* MsgP);
+void PswSetSecureData(SecureDataType Type, kal_bool RspNeeded);
+void PswWriteMobileId(void);
+void PswReadMobileId(void);
+void PswSetSpc(PswSetSPCMsgT* MsgP);
+void PswGetSPCMsg(void);
+void PswDumpSecureData(void);
+void PswInitSecureDb(void);
+void PswSetPrlEnableMsg( PswEnablePrlMsgT *PswPrlMsg);
+void PswCpBCToCdmaBC(void);
+void PswCpBCToCdmaBCMsg(void);
+kal_uint8 PswGetNamBCIndex(SysCdmaBandT band);
+#if 0
+/* under construction !*/
+#endif
+void PswDbmSetBandInfo(void);
+void PswSetA21MobileSubInfo(void);
+kal_uint32 PswDbmGetSubClassMask(SysCdmaBandT band);
+void PswHlwMipKeysUpdateMsg(void);
+void PswSetSIPpasswordMsg( PswSetSIPpasswordMsgT *MsgP );
+void PswGetSIPpasswordMsg( PswGetSIPpasswordMsgT *MsgP );
+void PswGetMIPkeysMsg( PswGetMIPkeysMsgT *MsgP );
+void PswSetSpcMsg( PswSetSPCMsgT *MsgP );
+void SetNamPrlEnable(kal_bool PrlEnable);
+PswPendRegType PswGetPendingReg(void);
+#if defined (__TC10__) && defined (__TC10_IPC_CDMA_SUPPORT__)
+void PswGetServiceConfigMsg(void);
+void PswUpdateDefineRcForAllService(kal_bool defineRcForAllSo, kal_uint8 forRc, kal_uint8 revRc);
+void PswSetDefineRc(kal_bool defineRcForAllSo, kal_uint8 forRc, kal_uint8 revRc);
+#endif
+void PswSaveMiscDB(void);
+void PswSetPendingReg(PswPendRegType type);
+DbmReadStatusType PswDbmGetDbmDataReadStatus(void);
+void PswDbmSecureDataRequest(void);
+void PswSetFlyMode(PswFlyModeMsgT *PswFlyModeMsg);
+void PswManualAvoidMsg(void);
+#ifdef MTK_DEV_C2K_IRAT
+void PswIratMccReqMsg( void );
+void PswIratCurSysMeasReqMsg( void );
+void PswIratSignalMonitorReqMsg(PswIratRATSigMonReqT* MsgP);
+void PswCssForcePowerDownMsg( void );
+void PswCssDeacInd( void );
+#endif /* MTK_DEV_C2K_IRAT */
+#ifdef FIELD_TEST_DATA
+void PswResetFTDPara(void);
+#endif
+kal_bool IsPswSOEnabled(kal_uint16 so);
+void PswNstPowerupMsg( PswNstPowerupMsgT *MsgP );
+void PswNstTransmitTchMsg( PswNstTransmitTchMsgT *MsgP );
+void PswNstExitTestModeMsg( PswNstExitMsgT *MsgP );
+void PswNstListSetMsg( PswNstListSetMsgT *MsgP );
+void PswNstTchFerCfgMsg( PswNstTchFerCfgMsgT *MsgP );
+void PswNstRxPwrReqMsg( PswNstRxPwrReqMsgT *MsgP );
+void PswNstRxPwrCnfMsg( L1dNstRxPwrCnfMsgT *MsgP );
+void PswNstRxPwrReqNackMsg( void);
+void PswNstTxPwrLevelSetMsg( PswNstTxPwrLevelSetMsgT *MsgP );
+void PswNstPowerupAckMsg( kal_uint8 result );
+void PswNstTransmitTchAckMsg( kal_uint8 result );
+void PswNstTchFerCfgCnfMsg( kal_uint32 badF, kal_uint32 totalF);
+kal_uint16 PswGetPrefHomeMOServiceOption(void);
+kal_uint16 PswGetPrefHomeMTServiceOption(void);
+kal_uint16 PswGetPrefRoamMOServiceOption(void);
+kal_bool PswGetCurrentVoiceService(void);
+void PswSetEmergenceCardInit(kal_uint8* MsgP);
+kal_bool PswGetCurrentDdtmMode(void);
+void PswValSetDdtmMsg(PswValSetDDTMMsgT *MsgP);
+PswPhyICModeT PswDbmGetICMode(void);
+void PswRegResumeMsg(void);
+
+#ifdef MTK_DEV_C2K_IRAT
+void PswRsvasVirtualSuspendReqMsg(void);
+void PswRsvasResumeReqMsg(void);
+void PswRsvasOccupyIndMsg(void);
+void PswLocalReleaseMsg(void);
+void PswL1dRakeDdlCnfMsg(void);
+void PswC2KLteCSFBCnfMsg(void);
+#endif
+
+void PswL1dDeactiveCnfMsg(void);
+void PswGetSSDCmdMsg(void);
+void PswSetPrefTestSO(PswSetServiceConfigMsgT *MsgDataPtr);
+void PswSetSoSupportMsg(PswSetSoSupportMsgT *MsgP);
+void PswL1dOosaCnfMsg(void);
+void PswL1dInitCnfMsg(void);
+
+#if defined(MTK_DEV_SLT)
+void SltInitVerifyResult (void);
+void Psw1xSltVerifyResultIndMsg(SltVerifyResultMsgT *MsgP);
+void PswDoSltVerifyResultIndMsg(SltVerifyResultMsgT *MsgP);
+#if defined(MTK_DEV_SLT_ON_RF_GENERATOR)
+void PswL1dSltTxVerifyIndMsg(PswL1dSltTxVerifyIndMsgT* MsgP);
+#endif
+
+#ifdef MTK_CBP_ENCRYPT_VOICE
+void PswSetKskeyReqMsg(PswKeyReqMsgT* KeyReqMsg);
+void PswClearTempKeyReqMsg(void);
+void PswCancelCipherSmsSendReqMsg(PswCancelCipherSmsSendReqT* CipherSmsReqMsg);
+#endif
+
+#endif
+void PswValFlightModeMsg(void);
+void PswTstInjectStringMsg(PswTstInjectEnum tstInject);
+
+#if defined (__TC10__) && defined (__TC10_IPC_CDMA_SUPPORT__)
+void PswEngineTestModeGetReqMsg (PswEngineTestModeGetReqMsgT *MsgP);
+#endif
+
+
+/*****************************************************************************
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+*
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+*****************************************************************************/
+
+/*****************************************************************************
+* End of File
+*****************************************************************************/
+#endif
+/**Log information: \main\CBP80\cbp80_gdeng_scbp10325\1 2012-09-14 09:34:48 GMT gdeng
+** HREF#10325**/
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/pswdhapi.h b/mcu/interface/protocol/as_c2k/1xrtt/pswdhapi.h
new file mode 100644
index 0000000..a6222fd
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/pswdhapi.h
@@ -0,0 +1,127 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*************************************************************************
+ *
+ * File Name: pswdhapi.h
+ * Project: Diffie Hellman
+ * Original Author: Dan Doucette
+ * Creation Date: Oct. 5, 1999
+ *
+ * Description: Declares the functions required by the user to
+ * calculate the diffie hellman encryption formula
+ *
+ * Restrictions:
+ *
+ * Dependencies:
+ *
+ *************************************************************************
+ *
+ * This Software is the property of ISOTEL Corporation. Unauthorized
+ * use is prohibited.
+ *
+ * ISOTEL Corporation
+ * 340, 525-28 Street S.E.
+ * Calgary, Alberta, Canada T2A 6W9
+ * Tel: (403)275-0041 Fax: (403)274-3598
+ *
+ *
+ *************************************************************************
+ *
+ * RCS Log Information
+ *
+ * $Revision: 1.2 $
+ *
+ * $Log: pswdhapi.h $
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ * Revision 1.2 2004/03/25 12:07:46 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:39:21 fpeng
+ * Initial revision
+ * Revision 1.2 2002/06/06 14:25:27 dstecker
+ * Updated copyright notice
+ * Revision 1.1 2001/07/23 11:34:52 mclee
+ * Initial revision
+ * Revision 1.1 2001/01/24 11:23:59 mclee
+ * Initial revision
+ * Revision 1.1 2001/01/24 00:08:14Z mclee
+ * Initial revision
+ * Revision 1.0 1999/12/02 14:29:40 danfeng hong
+ * Initial revision
+ *
+ *
+ ************************************************************************/
+
+#ifndef DH_API_H_
+#define DH_API_H_
+
+#include "pswdhdata.h"
+#include "pswdhmath.h"
+
+#ifdef WIN_TEST
+
+
+/* #define ASSERT(f) assert(f)\ */
+/*
+#else
+ #include "tracemac.h"
+*/
+#endif
+
+/*
+ * Function calculates g^x mod p and places the result in 'result'
+ *
+ * Conditions: assume g <p
+ */
+void dhCalc(DHGiantInt *result, DHGiantInt *g, DHGiantInt *x, DHGiantInt *p);
+
+void dhKeyCalc(DHEncryptVal *r, DHEncryptVal *g, DHGiantInt *x, DHEncryptVal *p);
+
+void dhEncryptValGet(DHEncryptVal * val, kal_int16 bits);
+
+#endif
+
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/pswdhdata.h b/mcu/interface/protocol/as_c2k/1xrtt/pswdhdata.h
new file mode 100644
index 0000000..e90ef45
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/pswdhdata.h
@@ -0,0 +1,176 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*************************************************************************
+ *
+ * File Name: pswdhdata.h
+ * Project: Diffie Hellman
+ * Original Author: Dan Doucette
+ * Creation Date: Oct. 5 1999
+ *
+ * Description: Defines data types used in the calculation of the
+ * Diffie Hellman exponent
+ *
+ * Restrictions:
+ *
+ * Dependencies:
+ *
+ *************************************************************************
+ *
+ * This Software is the property of ISOTEL Corporation. Unauthorized
+ * use is prohibited.
+ *
+ * ISOTEL Corporation
+ * 340, 525-28 Street S.E.
+ * Calgary, Alberta, Canada T2A 6W9
+ * Tel: (403)275-0041 Fax: (403)274-3598
+ * Web: http://www.isotel.com
+ *
+ *
+ *************************************************************************
+ *
+ * RCS Log Information
+ *
+ * $Revision: 1.2 $
+ *
+ * $Log: pswdhdata.h $
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ * Revision 1.2 2004/03/25 12:07:47 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:39:21 fpeng
+ * Initial revision
+ * Revision 1.2 2002/06/06 14:25:29 dstecker
+ * Updated copyright notice
+ * Revision 1.1 2001/07/23 11:35:29 mclee
+ * Initial revision
+ * Revision 1.1 2001/01/24 11:24:29 mclee
+ * Initial revision
+ * Revision 1.1 2001/01/24 00:08:49Z mclee
+ * Initial revision
+ * Revision 1.0 1999/12/02 14:27:20 danfeng hong
+ * Initial revision
+ *
+ *
+ ************************************************************************/
+
+#ifndef _DH_DATA_H
+#define _DH_DATA_H
+
+#include "pswdhtune.h"
+
+/*
+ * Definition of the type of block used for the storage of the
+ * giant integers
+ */
+typedef kal_uint16 DHBlockType;
+typedef kal_uint32 DHCarryBlockType;
+typedef kal_int32 DHBorrowBlockType;
+
+/*
+ * Define the maximum possible value for the DHBlockType
+ */
+#define DH_MAX_BLOCK_VALUE 0xffff
+
+#define DH_MAX_CARRY_BLOCK_VALUE 0xffffffff
+
+/*
+ * Number of bits in each block
+ */
+#define DH_BIT_SIZE (sizeof(DHBlockType)*8)
+
+/*
+ * Number of half bytes in each block
+ */
+#define DH_HALF_kal_uint8_SIZE (sizeof(DHBlockType)*2)
+
+/*
+ * Number of bytes in each block
+ */
+#define DH_kal_uint8_SIZE (sizeof(DHBlockType))
+
+/*
+ * Number of blocks required to make a giant integer using the above
+ * block size. Eg. 32 blocks @ 16 bits per block = 512 bit integer
+ */
+#define DH_MAX_BLOCKS (DH_KEY_BIT_SIZE+DH_BIT_SIZE-1)/DH_BIT_SIZE
+
+/*
+ * extra blocks to hold extra 32 bits of giant Integers during calculations.
+ */
+ /*
+#define DH_EXTRA_BLOCKS ((32+DH_BIT_SIZE-1)/DH_BIT_SIZE)
+ */
+#define DH_EXTRA_BLOCKS 6
+
+/*
+ * Number of bytes required to make a giant integer using the above
+ * block size.
+ */
+#define DH_MAX_kal_uint8S (DH_KEY_BIT_SIZE+7)/8
+
+/*
+ * generic giant integer types (right-adjusted: LS bit is at 0 bit of 0 byte,
+ * MS bit is in size-1th block)
+ * Each has extra blocks(32 bits) to accommodate larger accumulation and shift values
+ */
+typedef struct {
+ kal_int16 size;
+ DHBlockType number[DH_MAX_BLOCKS+DH_EXTRA_BLOCKS];
+} DHGiantInt;
+
+/*
+ * generic encryption value types (left-adjusted: MS bit is at 7th bit of 0 byte)
+ * value -- hold a byte stream of the encryption value;
+ * bits -- points out how many bits are actual used in the byte stream
+ */
+typedef struct{
+ kal_int16 bits;
+ kal_uint8 value[DH_MAX_kal_uint8S];
+}DHEncryptVal;
+
+#endif
+
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/pswdhmath.h b/mcu/interface/protocol/as_c2k/1xrtt/pswdhmath.h
new file mode 100644
index 0000000..0bb0278
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/pswdhmath.h
@@ -0,0 +1,208 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*************************************************************************
+ *
+ * File Name: pswdhmath.h
+ * Project: Diffie Hellman
+ * Original Author: Dan Doucette
+ * Creation Date: Oct. 5, 1999
+ *
+ * Description: Defines the generic math functions used in the
+ * calculation of the diffie hellman exponent
+ *
+ * Restrictions:
+ *
+ * Dependencies:
+ *
+ *************************************************************************
+ *
+ * This Software is the property of ISOTEL Corporation. Unauthorized
+ * use is prohibited.
+ *
+ * ISOTEL Corporation
+ * 340, 525-28 Street S.E.
+ * Calgary, Alberta, Canada T2A 6W9
+ * Tel: (403)275-0041 Fax: (403)274-3598
+ *
+ *
+ *************************************************************************
+ *
+ * RCS Log Information
+ *
+ * $Revision: 1.2 $
+ *
+ * $Log: pswdhmath.h $
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ * Revision 1.2 2004/03/25 12:07:47 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:39:21 fpeng
+ * Initial revision
+ * Revision 1.2 2002/06/06 14:25:30 dstecker
+ * Updated copyright notice
+ * Revision 1.1 2001/07/23 11:36:09 mclee
+ * Initial revision
+ * Revision 1.1 2001/01/24 11:24:44 mclee
+ * Initial revision
+ * Revision 1.1 2001/01/24 00:09:22Z mclee
+ * Initial revision
+ * Revision 1.0 1999/12/02 14:28:50 danfeng hong
+ * Initial revision
+ *
+ *
+ ************************************************************************/
+
+#ifndef _DH_MATH_H
+#define _DH_MATH_H
+
+/*
+ * convert a DHEncryptVal value to a DHGiantInt value
+ */
+void dhGiantIntAssign(DHGiantInt *dest, DHEncryptVal *src);
+
+/*
+ * convert a DHGiantInt value to a DHEncryptVal value
+ */
+void dhEncryptValAssign(DHEncryptVal * dest, DHGiantInt *src);
+
+/*
+ * r = (m1*m2)%p
+ */
+void dhMulMod(DHGiantInt *r, DHGiantInt* m1, DHGiantInt * m2, DHGiantInt *p);
+
+/*
+ * r = (m1*m2)%p with optimization, need much more memory space than dhMulMod(),
+ * the method is called only when DH_EXTRAMEM macro is defined in dh_tune.h
+ */
+void dhMulModOpti(DHGiantInt *r, DHGiantInt* m1, DHGiantInt * m2, DHGiantInt *p, kal_int16 type);
+
+/*
+ * r = r%p
+ */
+void dhMod(DHGiantInt *r, DHGiantInt *p);
+
+/*
+ * r = mul1*mul2
+ */
+void dhMul(DHGiantInt *r, DHGiantInt* mul1, DHGiantInt * mul2);
+
+/*
+ * r = m1*block
+ */
+void dhMulBlock(DHGiantInt *r, DHGiantInt* m1, DHBlockType block);
+
+/*
+ * r += acc
+ */
+void dhAccFrom(DHGiantInt *r, DHGiantInt *acc);
+
+/*
+ * r -= dec; assume r>=dec
+ */
+void dhDecFrom(DHGiantInt *r, DHGiantInt *dec);
+
+/*
+ * returns:
+ * 1 if a > b
+ * 0 if a == b
+ * -1 if a < b
+ */
+kal_int16 dhCompare(DHGiantInt *a, DHGiantInt *b);
+
+/*
+ * KAL_TRUE if num's value is 0, KAL_FALSE otherwise
+ */
+kal_bool dhEquals0(DHGiantInt *num);
+
+/*
+ * KAL_TRUE if num's value is 1, KAL_FALSE otherwise
+ */
+kal_bool dhEquals1(DHGiantInt *num);
+
+/*
+ * get size of the num's Most Significant Block
+ */
+kal_int16 dhGetDHGiantIntSize(DHGiantInt * num);
+
+/*
+ * left shift blocks DHBlockType of num
+ */
+void dhBlocksShiftLeft(DHGiantInt *num, kal_int16 blocks);
+
+/*
+ * left shift bits of num
+ */
+void dhBitsShiftLeft(DHGiantInt * num, kal_int16 bits);
+
+/*
+ * right shift bits of num
+ */
+void dhBitsShiftRight(DHGiantInt *num, kal_int16 bits);
+
+/*
+ * get how many half bytes are in num's Most Significant block
+ */
+kal_int16 dhGetMSHalfBytesNum(DHGiantInt *num);
+
+/*
+ * get how many half bytes are in num's value
+ */
+kal_int16 dhGetHalfBytesNum(DHGiantInt *num);
+
+/*
+ * block = halfs half bytes from num starting from MS block
+ */
+void dhGetHighestHalfBytes(DHCarryBlockType *block, DHGiantInt *num, kal_int16 halfs);
+
+/*
+ * set a set of accessory fields of public modulus, mostly used by dhMulMod() to
+ * speed up performance
+ */
+void dhSetPHalfs(DHGiantInt *p);
+
+#endif
+
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/pswdhtr.h b/mcu/interface/protocol/as_c2k/1xrtt/pswdhtr.h
new file mode 100644
index 0000000..1157eb3
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/pswdhtr.h
@@ -0,0 +1,128 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+#ifndef _DH_TR_H_
+#define _DH_TR_H_ 1
+
+/*
+*/
+
+#ifdef MTK_PLT_ON_PC
+/*****************************************************************************
+ * Includes
+ ****************************************************************************/
+#include "itrace.h"
+#endif
+
+#ifdef TRACEON
+
+/*****************************************************************************
+ * Includes
+ ****************************************************************************/
+#include "itrace.h"
+
+#define MYENGINENAME "dh_api"
+#define MYENGINEID DH_API_ID
+
+#include "tokens.h" /* include numeric tokens if tracing is enabled */
+
+/*****************************************************************************
+ * Trace definitions
+ ****************************************************************************/
+
+/* Available trace categories */
+typedef enum
+{
+ CAT_ERROR=0, /* Errors must be category 0 for all engines */
+ CAT_DH
+} TraceCategory;
+
+/* this value is the number of categories listed above */
+#define NUM_TRACE_CATEGORIES 2
+
+/* If you get this #error Change MAX_NUM_TRACE_CATEGORIES in itrace.h */
+/*
+#if (NUM_TRACE_CATEGORIES > MAX_NUM_TRACE_CATEGORIES)
+#error DH_API_ID has too many trace categories!
+#endif */
+
+/* Following are the ID definitions for each file to include as 'MyNameID'
+ All entries are unique. The ID tag is associated with the filename.*/
+
+#define DH_API_ID 1
+#define MAX_MODULEID 1
+
+
+#endif /* TRACEON */
+
+#ifndef ASSERT
+#ifdef SYS_DEBUG_FAULT_FILE_INFO
+
+void engAssert (const ProtocolEngineID engineId, const kal_uint8 moduleId,
+ const char *filename, unsigned line);
+#ifndef MTK_PLT_ON_PC
+#define ASSERT(expr) if (!(expr)) \
+ engAssert(MYENGINEID, MyNameID, __MODULE__, __LINE__)
+#endif
+
+#else
+
+void engAssert (const ProtocolEngineID engineId, const kal_uint8 moduleId,
+ unsigned line);
+
+#define ASSERT(expr) if (!(expr)) \
+ engAssert(MYENGINEID, MyNameID, __LINE__)
+
+#endif /* SYS_DEBUG_FAULT_FILE_INFO */
+#endif
+
+/*****************************************************************************
+ * Trace macro definitions
+ ****************************************************************************/
+/*
+#ifndef WIN_TEST
+#include "tracemac.h"
+#endif */
+
+#endif /* _DH_TR_H_ */
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/pswdhtune.h b/mcu/interface/protocol/as_c2k/1xrtt/pswdhtune.h
new file mode 100644
index 0000000..f4934bb
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/pswdhtune.h
@@ -0,0 +1,123 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*************************************************************************
+ *
+ * File Name: pswdhtune.h
+ * Project: Diffie Hellman
+ * Original Author: Dan Doucette
+ * Creation Date: Oct. 5 1999
+ *
+ * Description: Defines the specific types and values unique for
+ * each implementation
+ *
+ * Restrictions:
+ *
+ * Dependencies:
+ *
+ *************************************************************************
+ *
+ * This Software is the property of ISOTEL Corporation. Unauthorized
+ * use is prohibited.
+ *
+ * ISOTEL Corporation
+ * 340, 525-28 Street S.E.
+ * Calgary, Alberta, Canada T2A 6W9
+ * Tel: (403)275-0041 Fax: (403)274-3598
+ *
+ *
+ *************************************************************************
+ *
+ * RCS Log Information
+ *
+ * $Revision: 1.2 $
+ *
+ * $Log: pswdhtune.h $
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ * Revision 1.2 2004/03/25 12:07:47 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:39:22 fpeng
+ * Initial revision
+ * Revision 1.2 2002/06/06 14:25:34 dstecker
+ * Updated copyright notice
+ * Revision 1.1 2001/07/23 11:37:29 mclee
+ * Initial revision
+ * Revision 1.1 2001/01/24 11:25:09 mclee
+ * Initial revision
+ * Revision 1.1 2001/01/24 00:10:45Z mclee
+ * Initial revision
+ * Revision 1.0 1999/12/02 14:27:58 danfeng hong
+ * Initial revision
+ *
+ ************************************************************************/
+
+#ifndef _DH_TUNE_H
+
+#define _DH_TUNE_H
+
+#include "kal_public_api.h"
+#include "kal_public_defs.h"
+
+/***********************************************************************
+ *
+ * User configurable parameters for the diffie hellman calculations
+ *
+ * ********************************************************************/
+/* if the user enviornment can provide extra heap memory space
+ * (about (DH_MAX_BLOCKS+12)' giantInt: 3k for 512bits, 10k for 1024bits)
+ * for diffie-hellman; DH_MAX_BLOCKS: (DH_KEY_BIT_SIZE+DH_BIT_SIZE-1)/DH_BIT_SIZE
+ */
+/*#define DH_EXTRAMEM 1*/
+#ifdef DH_EXTRAMEM
+#define DH_MAX_MOD_AS_SIZE 1
+/*DH_MAX_BLOCKS*/
+#endif
+
+#define DH_KEY_BIT_SIZE 1024
+
+#endif
+
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/pswerr.h b/mcu/interface/protocol/as_c2k/1xrtt/pswerr.h
new file mode 100644
index 0000000..217724c
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/pswerr.h
@@ -0,0 +1,450 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+#ifndef _PSWERRORS_H_
+#define _PSWERRORS_H_
+/*****************************************************************************
+*
+* FILE NAME : pswerr.h
+*
+* DESCRIPTION :
+*
+* Contains the error typdefs for error trapping
+*
+* HISTORY :
+* See Log at end of file
+*
+*****************************************************************************/
+
+/*----------------------------------------------------------------------------
+ Include Files
+----------------------------------------------------------------------------*/
+
+/*----------------------------------------------------------------------------
+ Global Defines and Macros
+----------------------------------------------------------------------------*/
+
+/*----------------------------------------------------------------------------
+ Global Typedefs
+----------------------------------------------------------------------------*/
+
+typedef enum
+{
+ /* Task Processing errors */
+ PSW_ERR_UNEXPECTED_EVENT = 0x1000,
+ PSW_ERR_MAILBOX_SHOULD_NOT_BE_EMPTY = 0x1001,
+ PSW_ERR_INVALID_MSG_ID = 0x1002,
+ PSW_ERR_INVALID_ETS_TEST_MODE = 0x1003,
+ PSW_ERR_STASK_RSA_COMP_FAIL = 0x1004,
+
+ /* Timer errors */
+ PSW_ERR_NO_AVAILABLE_TIMERS = 0x1100,
+ PSW_ERR_NULL_CALLBACK_TIMER_ID = 0x1101,
+ PSW_ERR_INVALID_CALLBACK_TIMER_ID = 0x1102,
+
+ /* Wbios Errors */
+ PSW_ERR_TO_MANY_CAND_FREQ_PILOTS = 0x1200,
+ PSW_ERR_TO_MANY_ACTIVE_SET_PILOTS = 0x1201,
+ PSW_ERR_TO_MANY_CANDIDATE_SET_PILOTS = 0x1202,
+ PSW_ERR_TO_MANY_NEIGHBOR_SET_PILOTS = 0x1203,
+ PSW_ERR_TO_MANY_REMAINING_SET_PILOTS = 0x1204,
+ PSW_ERR_INVALID_BAND = 0x1205,
+ PSW_ERR_INVALID_RATE = 0x1206,
+ PSW_ERR_INVALID_SERVICE_OPTION = 0x1207,
+ PSW_ERR_INVALID_MESSAGE_PRIORITY = 0x1208,
+ PSW_ERR_INVALID_MULTIPLEX_OPTION = 0x1209,
+ PSW_ERR_INVALID_STATUS_VALUE_IN_COMMAND_STATUS_MSG = 0x120A,
+ PSW_ERR_TO_MANY_PILOTS_IN_WBIOS_IDLE_PILOT_SET = 0x120B,
+ PSW_ERR_TO_MANY_PILOTS_IN_USED_CANDIDATE_FREQ_LIST = 0x120C,
+ PSW_ERR_TO_MANY_PILOTS_IN_UNUSED_CANDIDATE_FREQ_LIST = 0x120D,
+ PSW_ERR_TO_MANY_ACTIVE_PILOTS_IN_SET_LIST_UPDATE = 0x120E,
+ PSW_ERR_TO_MANY_CANDIDATE_PILOTS_IN_SET_LIST_UPDATE = 0x120F,
+ PSW_ERR_TO_MANY_NEIGHBOR_PILOTS_IN_SET_LIST_UPDATE = 0x1210,
+ PSW_ERR_ACCESS_MSG_SIZE_MISMATCH = 0x1211,
+ PSW_ERR_TO_MANY_PILOTS_IN_TC_ACTIVE_SET = 0x1212,
+ PSW_ERR_TO_MANY_CONN_IN_SRV_CONFIG = 0x1213,
+ PSW_ERR_INVALID_SRV_CONFIG_TRAFFIC_TYPE = 0x1214,
+ PSW_ERR_INVALID_SERV_OPTION = 0x1215,
+ PSW_ERR_INVALID_MUX_OPTION_IN_SRV_CONFIG = 0x1216,
+ PSW_ERR_NULL_SRV_CONFIG_POINTER = 0x1217,
+ PSW_ERR_INVALID_CANDIDATE_FREQ_NEIGHBOR_SEARCH_MODE = 0x1218,
+ PSW_ERR_INVALID_IDLE_NEIGHBOR_SEARCH_MODE = 0x1219,
+ PSW_ERR_INVALID_NUMBER_IDLE_UPDATE_PILOTS = 0x121A,
+ PSW_ERR_INVALID_TX_CONTROL = 0x121B,
+ PSW_ERR_INVALID_RTC_TRAFFIC_TYPE = 0x121C,
+ PSW_ERR_INVALID_RATE_FROM_PE = 0x121D,
+ PSW_ERR_INVALID_TMSI_LEN = 0x121E,
+ PSW_ERR_TRAFFIC_MSG_SIZE_MISMATCH = 0x121F,
+ PSW_ERR_INVALID_HARD_HANDOFF_PARAMETERS = 0x1220,
+ PSW_ERR_INVALID_NAM_CHECKSUM = 0x1221,
+ PSW_ERR_GETPRL_RECEIVED_UNEXPECTED_MSG_ID = 0x1222,
+ PSW_ERR_GETPRL_RECEIVED_INVALID_MSG_ID = 0x1223,
+ PSW_ERR_GETPRL_MBOX_SHOULD_NOT_BE_EMPTY = 0x1224,
+ PSW_ERR_GETPRL_UNEXPECTED_EVENT = 0x1225,
+ PSW_ERR_INVALID_PRL = 0x1226,
+ PSW_ERR_INVALID_CALL_INITIATE_MSG = 0x1227,
+ PSW_ERR_INVALID_ACTIVE_NAM_ID = 0x1228,
+ PSW_ERR_INVALID_PEND_EVENT_IN_IDLE = 0x1229,
+ PSW_ERR_CONT_DTMF_QUEUE_SIZE_EXCEEDED = 0x122A,
+ PSW_ERR_PEND_FAILED = 0x122B,
+ PSW_ERR_PWR_COMB_IND_INVALID = 0x122C,
+ PSW_ERR_UNEXPECTED_PEND_ENG_REQUEST = 0x122D,
+ PSW_ERR_INVALID_ERI_TABLE = 0x122E,
+ PSW_ERR_NO_ERI_TABLE = 0x122F,
+ PSW_ERR_GET_ERI_TABLE_RECEIVED_UNEXPECTED_MSG_ID = 0x1230,
+ PSW_ERR_GET_ERI_TABLE_RECEIVED_INVALID_MSG_ID = 0x1231,
+ PSW_ERR_GET_ERI_TABLE_MBOX_SHOULD_NOT_BE_EMPTY = 0x1232,
+ PSW_ERR_GET_ERI_TABLE_UNEXPECTED_EVENT = 0x1233,
+ PSW_ERR_ERI_ENTRY_NOT_FOUND = 0x1234,
+ PSW_MOBILE_ID_INCORRECT_SET_OPERATION = 0x1235,
+ PSW_ERR_CORRUPT_SECURE_DATA = 0x1236,
+ PSW_ERR_MOBILE_ID_NOT_SET = 0x1237,
+ PSW_MOBILE_ID_VALUE_OUT_OF_RANGE = 0x1238,
+ PSW_ERR_USING_DEFAULT_NAM = 0x1239,
+ PSW_ERR_USING_DEFAULT_MS_CAP_DB = 0x123A,
+ PSW_ERR_USING_DEFAULT_MRU = 0x123B,
+ PSW_ERR_UPDATE_IMSI_INVALID_IMSI_S_CHARS = 0x123C,
+ PSW_ERR_UPDATE_IMSI_INVALID_IMSI_11_12_CHARS = 0x123D,
+ PSW_ERR_UPDATE_IMSI_INVALID_MCC_CHARS = 0x123E,
+ PSW_ERR_UPDATE_IMSI_NO_VALID_DATA_TO_UPDATE = 0x123F,
+ PSW_ERR_UPDATE_IMSI_GENERAL_FAILURE = 0x1240,
+ PSW_ERR_UPDATE_MDN_INVALID_CHARS = 0x1241,
+ PSW_ERR_UPDATE_MDN_GENERAL_FAILURE = 0x1242,
+ PSW_ERR_SET_PARM_INCORRECT_USAGE = 0x1243,
+ PSW_ERR_BC_NOM_PWR_EXT_MISMATCH = 0x1244,
+ PSW_ATTEMPT_TO_WRITE_INVALID_MOBILE_ID = 0x1246,
+ PSW_ERR_SERVICE_OPTION_DISABLED = 0x1247,
+
+
+
+
+
+
+
+
+
+
+
+ /* Add new Values on Top of this to use the Big Gap */
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PSW_ERR_READ_UIM_DATA_FAILURE = 0x1290,
+ PSW_ERR_UPDATE_UIM_DATA_FAILURE = 0x1291,
+ PSW_ERR_UIM_AUTH_RECEIVED_UNEXPECTED_MSG_ID = 0x1292,
+ PSW_ERR_UIM_AUTH_SW_NOT_OK = 0x1293,
+ PSW_ERR_UIM_AUTH_MBOX_SHOULD_NOT_BE_EMPTY = 0x1294,
+ PSW_ERR_UIM_AUTH_UNEXPECTED_EVENT = 0x1295,
+ PSW_ERR_UIM_AUTH_TIMEOUT = 0x1296,
+ PSW_ERR_UIM_ETS_NAM_UPDATE_IGNORED = 0x1297,
+ PSW_ERR_CSS_PRL_HASH_TABLE_SLOT_FULL = 0x1298,
+ PSW_ERR_BAND_BLOCK_CHANNEL_OUT_OF_RANGE = 0x1299,
+ PSW_ERR_PREF_BAND_NOT_SUPPORTED = 0x129A,
+ PSW_ERR_CARRIER_BAND_MISMATCH = 0x129B,
+ PSW_ERR_BAND_NOT_SUPPORTED_IN_NAM = 0x129C,
+ PSW_ERR_POWER_CLASS_NOT_SUPPORTED = 0x129D,
+ PSW_ERR_PARM_OPERATION_NOT_SUPPORTED = 0x129E,
+ PSW_ERR_PARM_INVALID_LENGTH = 0x129F,
+ PSW_ERR_PARM_INVALID_PTR = 0x12A0,
+ PSW_ERR_PARM_GENERAL_FAILURE = 0x12A1,
+
+ /* User Eng Errors */
+ PSW_ERR_INVALID_NUM_TYPE = 0x1300,
+ PSW_ERR_INVALID_NUM_PLAN = 0x1301,
+ PSW_ERR_INVALID_PRESENTATION_IND = 0x1302,
+ PSW_ERR_INVALID_SCREEN_IND = 0x1303,
+ PSW_ERR_INVALID_SIGNAL_TYPE = 0x1304,
+ PSW_ERR_INVALID_ALERT_PITCH = 0x1305,
+ PSW_ERR_INVALID_CP_EVENT = 0x1306,
+ PSW_ERR_INVALID_CP_STATE = 0x1307,
+ PSW_ERR_INVALID_REQUEST_MODE = 0x1308,
+ PSW_ERR_INVALID_NUMBER_TYPE = 0x1309,
+ PSW_ERR_INVALID_CALL_INIT = 0x130A,
+
+ /* Protocol Engine Errors */
+ PSW_ERR_PE_SYSTEM_ERROR = 0x1400, /* Protocol stack reported error */
+ PSW_ERR_PE_INVALID_TRACE = 0x1401, /* Invalid trace Id from engine */
+ PSW_ERR_PE_INVALID_SPY = 0x1402, /* Invalid spy Id from engine */
+ PSW_ERR_PE_INVALID_ASSERT = 0x1403, /* Invalid assert from engine ( see IASSERT() isolibtr.h) */
+
+ /* Startup errors */
+ PSW_ERR_STARTUP_RECEIVED_UNEXPECTED_MSG_ID = 0x1500,
+ PSW_ERR_STARTUP_RECEIVED_INVALID_MSG_ID = 0x1501,
+ PSW_ERR_STARTUP_MBOX_SHOULD_NOT_BE_EMPTY = 0x1502,
+ PSW_ERR_STARTUP_UNEXPECTED_EVENT = 0x1503,
+
+ /* SMS errors */
+ PSW_ERR_SMS_MSG_RCVD_TO_LARGE = 0x1600,
+ PSW_ERR_INVALID_SAP_CONNECT_VALUE = 0x1601,
+ PSW_ERR_INVALID_SAP_DISCONNECT_VALUE = 0x1602,
+ PSW_ERR_INVALID_SAP_SUBMIT_VALUE = 0x1603,
+ PSW_ERR_INVALID_SAP_CANCEL_VALUE = 0x1604,
+ PSW_ERR_INVALID_SAP_USER_ACK_VALUE = 0x1605,
+ PSW_ERR_INVALID_SAP_ALREADY_CONNECTED_FOR_CONNNECT = 0x1606,
+ PSW_ERR_INVALID_SAP_NOT_CONNECTED_FOR_DISCONNNECT = 0x1607,
+ PSW_ERR_INVALID_SAP_NOT_CONNECTED_FOR_SUBMIT = 0x1608,
+ PSW_ERR_INVALID_SAP_NOT_CONNECTED_FOR_CANCEL = 0x1609,
+ PSW_ERR_INVALID_SAP_NOT_CONNECTED_FOR_USER_ACK = 0x160A,
+ PSW_ERR_INVALID_ENG_ALREADY_CONNECTED_FOR_CONNECT = 0x160B,
+ PSW_ERR_INVALID_ENG_ALREADY_DISCONNECTED_FOR_DISCONNECT = 0x160C,
+ PSW_ERR_INVALID_ENG_ALREADY_DISCONNECTED_FOR_SUBMIT = 0x160D,
+ PSW_ERR_INVALID_ENG_ALREADY_DISCONNECTED_FOR_CANCEL = 0x160E,
+ PSW_ERR_INVALID_ENG_ALREADY_DISCONNECTED_FOR_USER_ACK = 0x160F,
+ PSW_ERR_SMS_ENGINE_ERROR = 0x1610,
+ PSW_ERR_SMS_NO_AVAILABLE_TIMERS = 0x1611,
+ PSW_ERR_SMS_INVALID_CALLBACK_TIMER_ID = 0x1612,
+ PSW_ERR_SMS_DATA_SIZE_TO_LARGE = 0x1613,
+ PSW_ERR_SMS_TOO_MANY_CONNECTIONS_ALREADY = 0x1614,
+ PSW_ERR_INVALID_NUMBER_OF_ADDRESS_CHARS = 0x1615,
+ PSW_ERR_SMS_BCAST_COULD_NOT_BE_CONNECTED = 0x1616,
+ PSW_ERR_SMS_BCAST_ALREADY_DISCONNECTED = 0x1617,
+ PSW_ERR_INVALID_NUM_SMS_MSGS = 0x1618,
+ PSW_ERR_INVALID_FPC_MSG_TYPE = 0x1619,
+ PSW_ERR_SMS_REQ_REJECTED_HYBRID = 0x161A,
+ PSW_ERR_SMS_UNKNOWN_COULD_NOT_BE_CONNECTED = 0x161B,
+ PSW_ERR_SMS_UNKNOWN_ALREADY_DISCONNECTED = 0x161C,
+
+ /* SCC errors */
+ PSW_ERR_SCC_BADLY_BEHAVED = 0x1700,
+ PSW_ERR_SCC_QUEUE_FULL = 0x1701,
+ PSW_ERR_SCC_PSC_INVALID_PREF = 0x1702,
+ PSW_ERR_SCC_VSC_INVALID_PREF = 0x1703,
+ PSW_ERR_SCC_DSC_INVALID_PREF = 0x1704,
+ PSW_ERR_SCC_LSC_INVALID_PREF = 0x1705,
+ PSW_ERR_SCC_MSC_INVALID_PREF = 0x1706,
+ PSW_ERR_SCC_OSC_INVALID_PREF = 0x1707,
+ PSW_ERR_SCC_CSC_INVALID_PREF = 0x1708,
+ PSW_ERR_SCC_NEG_UNSUPPORTED_SERV_OPT = 0x1709,
+ PSW_ERR_SCC_NEG_UNEXPECTED_CP_EVENT = 0x170A,
+ PSW_ERR_SCC_PSC_PREV_CONFLICT = 0x170B,
+ PSW_ERR_SCC_VSC_PREV_CONFLICT = 0x170C,
+ PSW_ERR_SCC_DSC_PREV_CONFLICT = 0x170D,
+ PSW_ERR_SCC_LSC_PREV_CONFLICT = 0x170E,
+ PSW_ERR_SCC_MSC_PREV_CONFLICT = 0x170F,
+ PSW_ERR_SCC_OSC_PREV_CONFLICT = 0x1710,
+
+
+ PSW_ERR_LOC_SESS_NOT_FOUND = 0x1750,
+ PSW_ERR_LOC_AFLT_STATE,
+ PSW_ERR_LOC_TCP_RCV_STATE,
+ PSW_ERR_LOC_OUT_PUT_FULL,
+ PSW_ERR_LOC_OUT_PUT_STATE,
+ PSW_ERR_LOC_INVALID_PPM,
+ PSW_ERR_LOC_PPM_ID,
+ PSW_ERR_LOC_EV,
+ PSW_ERR_LOC_SMS_RCV_STATE,
+ PSW_ERR_LOC_FLOW_STATE,
+ PSW_ERR_LOC_RSP_MSG_NUM,
+ PSW_ERR_LOC_PPM_STATE_ID,
+ PSW_ERR_LOC_PRM_STATE_ID,
+
+ PSW_ERR_LOC_SESS_DONE_INST_ID,
+ PSW_ERR_LOC_PPM_START_ID,
+
+ PSW_ERR_LOC_RESTART_ID,
+ PSW_ERR_LOC_ALM_FLAG_ID,
+ PSW_ERR_LOC_EPH_FLAG_ID,
+ PSW_ERR_LOC_ASSIST_DATA_ID,
+ PSW_ERR_LOC_MSB_CALLBACK_ID,
+ /* ================*/
+ /* Protocol Engine */
+ /* ================*/
+
+ /* SRBP */
+ PE_ERR_INVALID_ATTEMPT_TYPE = 0x1800,
+ PE_ERR_INVALID_BA_RATES_SUPPORTED_VALUE = 0x1801,
+ PE_ERR_INVALID_CHAN_TYPE_GET_ACC_CORRECTION = 0x1802,
+ PE_ERR_INVALID_RADIO_CONFIG = 0x1803,
+ PE_ERR_INVALID_BAND_INIT_EACH_PROBE = 0x1804,
+ PE_ERR_INVALID_FRAME_DURATION_INIT_EACH_PROBE = 0x1805,
+ PE_ERR_INVALID_RATE_INIT_EACH_PROBE = 0x1806,
+ PE_ERR_ACCESS_PROBE_ATTEMPTED_WHILE_ONE_ALREADY_IN_PROGRESS = 0x1807,
+ PE_ERR_ACCESS_ATTEMPTED_PILOT_NOT_IN_AHO_LIST = 0x1808,
+
+ /* RECORD UNFORMAT ERRORS */
+ PSW_ERR_PE_INVALID_RECORD_LENGTH = 0x1900,
+ PSW_ERR_PE_RECORD_NOT_SUPPORTED = 0x1901,
+
+ /* DBM ERRORS */
+ PSW_ERR_PE_INVALID_CHECKSUM_MS_CAP_DB = 0x1A00,
+ PSW_ERR_PE_MS_CAP_DB_UPATE_FAILURE = 0X1A01,
+ PSW_ERR_PE_INVALID_CHECKSUM_PSW_MISC_DB = 0x1A02,
+
+ /* CSS ERRORS */
+ PE_ERR_CSS_INVALID_SYS_PREF_TYPE = 0x1B00,
+ PE_ERR_CSS_INVALID_IND_POWERUP = 0x1B01,
+ PE_ERR_CSS_INVALID_IND_POWERUP_NOT_MOST_PREF = 0x1B02,
+ PE_ERR_CSS_INVALID_IND_POWERUP_NON_SYSTEM_TABLE = 0x1B03,
+ PE_ERR_CSS_INVALID_IND_POWERUP_NEGATIVE = 0x1B04,
+ PE_ERR_CSS_INVALID_IND_CSS_IDLE = 0x1B05,
+ PE_ERR_CSS_INVALID_IND_MORE_PREF_SCAN = 0x1B06,
+ PE_ERR_CSS_INVALID_EMERGENCY = 0x1B07,
+ PE_ERR_CSS_INVALID_IND_SYSTEM_LOST = 0x1B08,
+ PE_ERR_CSS_INVALID_IND_REDIRECTION = 0x1B09,
+ PE_ERR_CSS_INVALID_IND_REGISTRATION_REJECT = 0x1B0A,
+ PE_ERR_CSS_INVALID_IND_OTASP = 0x1B0B,
+ PE_ERR_CSS_INVALID_IND_EMERGENCY_REDIRECTION = 0x1B0C,
+ PE_ERR_CSS_INVALID_IND_EMERGENCY_SYSTEM_LOST = 0x1B0D,
+ PE_ERR_CSS_INVALID_OTASP_CHAN = 0x1B0E,
+ PE_ERR_CSS_INVALID_SYS_TYPE = 0x1B0F,
+ PE_ERR_CSS_INVALID_REDIR_SYS_NOT_FOUND = 0x1B10,
+ PE_ERR_CSS_INVALID_BAND_CLASS_REDIR = 0x1B11,
+ PE_ERR_CSS_INVALID_SYS_TYPE_REDIR = 0x1B12,
+ PE_ERR_CSS_INVALID_CSS_STATE = 0x1B13,
+ PE_ERR_CSS_INVALID_BAND_CLASS_CDMA_AVAIL = 0x1B14,
+ PE_ERR_CSS_INVALID_BAND_CLASS_ADD_CDMA_AVAIL = 0x1B15,
+ PE_ERR_CSS_INVALID_CSS_INDICATION = 0x1B16,
+ PE_ERR_CSS_INVALID_NOT_CDMA_IDLE_FOR_FORCE_ANALOG = 0x1B17,
+ PE_ERR_CSS_INVALID_BAND_CLASS_OTASP = 0x1B18,
+ PE_ERR_CSS_INVALID_SPRINT_PRL = 0x1B19,
+ PE_ERR_CSS_UNSUPPORTED_SSPR_PREV = 0x1B1A,
+ PE_ERR_CSS_EXT_PRL_P_REV_MISMATCH = 0x1B1B,
+ PE_ERR_CSS_INVALID_SYSTEM_REC_TYPE = 0x1B1C,
+ PE_ERR_CSS_INVALID_ACQUSITION_REC_TYPE = 0x1B1D,
+
+ PE_ERR_CSS_LAST_ERROR_MARKER = 0x1BFF,
+
+
+ /* PS PDCH ERRORS */
+ PS_ERR_PDCH_ECAM_NUM_PILOTS_EXC = 0x1C00,
+ PS_ERR_PDCH_INVALID_CONFIG = 0x1C01,
+ PS_ERR_PDCH_LMD_SERVCFG_NN_NUM_LPM_EXC = 0x1C02,
+ PS_ERR_PDCH_UHDM_INVALID_INFOREC = 0x1C03,
+ PS_ERR_PDCH_UHDM_INVALID_CHIND = 0x1C04,
+ PS_ERR_PDCH_UHDM_INVALID_EXTCHIND = 0x1C05,
+ PS_ERR_PDCH_UHDM_INVALID_NUM_PILOTS = 0x1C06,
+ PS_ERR_PDCH_UHDM_INVALID_ADDPILOTREC_LEN = 0x1C07,
+ PS_ERR_PDCH_ERM_INVALID_CHIND = 0x1C08,
+ PS_ERR_PDCH_ERM_EOM = 0x1C09,
+ PS_ERR_PDCH_ERM_INVALID_CHCFG = 0x1C0A,
+
+ PS_ERR_PDCH_LAST_ERROR_MARKER = 0x1CFF,
+
+#ifdef MTK_DEV_C2K_IRAT
+ PSW_ERR_C2K_RSVAS_COMMON = 0x1D00,
+#endif
+
+ /* Last entry place holder */
+ PSW_ERR_NUM_ENTRIES
+} PswErrorCodeT;
+
+/*****************************************************************************
+* $Log: pswerr.h $
+* Revision 1.7 2006/03/03 13:37:16 vsethuraman
+* CR7207 :- PN310 CSS and ERI changes.
+* Revision 1.6 2005/03/18 10:05:21 dstecker
+* Modifications for the 4.05 merge
+* Revision 1.5 2004/09/28 15:24:30 chinh
+* Merged changes from cbp6.0.
+* Revision 1.4 2004/05/04 17:35:50 sulinlow
+* Revision 1.3.1.2 2004/04/30 09:23:17 sulinlow
+* Revision 1.3.1.1 2004/04/23 10:51:38 sulinlow
+* Duplicate revision
+* Revision 1.3 2004/04/23 10:51:38 asharma
+* CBP6.1 (Phase-1) DV Data and Voice Call Setup changes.
+* Revision 1.2.1.2 2004/04/14 15:21:39 asharma
+* Revision 1.2 2004/03/25 12:07:48 fpeng
+* Updated from 6.0 CP 2.5.0
+* Revision 1.3 2004/02/10 12:52:55 bcolford
+* Merged CBP4.0 Release 8.05.0 changes.
+* Revision 1.13 2003/12/17 09:57:12 mclee
+* Add PSW_ERR_INVALID_FPC_MSG_TYPE fault id
+* Revision 1.12 2003/11/06 11:12:38 ameya
+* Added errors that can come up during CSS.
+* Revision 1.11 2003/08/22 11:45:17 mclee
+* Uim Feature Introduction in SW Base
+* Revision 1.10 2003/04/30 09:26:36 mclee
+* add Fault ID PSW_ERR_PEND_ORIG_FAILED
+* Revision 1.9 2003/04/10 15:19:52 mclee
+* Add Cont DTMF Queue Overflow error id.
+* Revision 1.8 2003/04/03 13:41:33 ameya
+* Verified that all the PSW errors listed in the CP software are also listed in the ETS and vice-versa, and also re-numbered the PSW errors in the CP software.
+* Revision 1.7 2003/03/04 09:42:13 mclee
+* Add psw fault ID PSW_ERR_INVALID_PEND_EVENT_IN_IDLE
+* Revision 1.6 2002/07/30 14:16:41 mmalopy
+* - PswErrCodeT enum modified to include an identifier for the
+* Invalid Active NAM monfault (0x48).
+* Revision 1.5 2002/06/06 14:25:36 dstecker
+* Updated copyright notice
+* Revision 1.4 2002/03/13 16:38:17 byang
+* Added PSW_ERR_PE_INVALID_CHECKSUM_MS_CAP_DB
+* (checksum failure in MS CAP DB on power-up)
+* and
+* PSW_ERR_PE_MS_CAP_DB_UPATE_FAILURE
+* (failure to write MS CAP DB to DBM).
+* Revision 1.3 2002/02/21 16:49:49 byang
+* Added new entry
+* PSW_ERR_PE_INVALID_RECORD_LENGTH
+* to PswErrorCodeT.
+* Revision 1.2 2001/01/29 18:06:05 dstecker
+* new access probe architecture
+* Revision 1.1 2001/01/17 10:57:48 plabarbe
+* Initial revision
+* Revision 1.1 2000/10/24 14:11:44 fpeng
+* Initial revision
+* Revision 1.5 2000/08/23 22:29:33Z rnookala
+* Added SMS, PRL and SAP error codes
+* Revision 1.4 2000/05/19 02:02:40Z hhong
+* To support SCC engine.
+* Revision 1.3 2000/03/01 18:19:06Z rsattari
+* Revision 1.2 1999/12/02 18:41:55Z cdma
+* Updated comments for CBP3.0
+*****************************************************************************/
+
+/*****************************************************************************
+* End of File
+*****************************************************************************/
+#endif
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/pswnam.h b/mcu/interface/protocol/as_c2k/1xrtt/pswnam.h
new file mode 100644
index 0000000..be63652
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/pswnam.h
@@ -0,0 +1,114 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1997-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Module: pswnam.h
+ *
+ * Purpose: Definitions and prototypes for IS-95 NAM data parameters
+ *
+ ****************************************************************************
+ *
+ * PVCS Header Information
+ *
+ * $Log: pswnam.h $
+ * Revision 1.4 2006/03/07 16:50:13 winston
+ * CR7319: OTA Verizon features implementation
+ * Revision 1.3 2006/03/03 13:34:06 vsethuraman
+ * CR7207 :- PN310 CSS and ERI changes.
+ * Revision 1.2 2004/03/25 11:46:04 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.3 2004/02/10 15:17:04 bcolford
+ * Merged CBP4.0 Release 8.05.0 changes.
+ * Revision 1.14 2003/11/11 11:30:43 blee
+ * remove the bit-field OTA_NAM_LOCKED from OTA_Capability_Map
+ * Revision 1.12 2003/08/22 11:34:10 mclee
+ * Uim Feature Introduction in SW Base
+ * Revision 1.11 2003/08/13 15:07:15 mclee
+ * Add pref mode defines
+ * Revision 1.10 2002/09/30 14:57:54 mshaver
+ * Changed the following data structures to be packed:
+ * ZoneList, SidNidList, IMSIType. Renamed the data
+ * structure IS95Nam to PswIs95NamT and it now contains the
+ * only NAM data structure definition.
+ * Revision 1.9 2002/08/02 17:51:22 bsharma
+ * Added SmsTlMaxRetry to NAM structure
+ * Revision 1.8 2002/07/31 18:55:50 hans
+ * NUM_BANDS_SUPPORTED increased to include band class 4. Band Class 4 (cr726) and support for other band classes (cr474)
+ * added to Band Class enum.
+ * Revision 1.7 2002/07/26 14:06:30 ameya
+ * Added 20 positive sids/nids and 10 negative sids/nids and a stored negative sid/nid parameter to the NAM structure.
+ * Revision 1.6 2002/07/25 10:07:08 etarolli
+ * Changed NAM MIP MAX field size for password and NAI size.
+ * Revision 1.5 2002/06/04 08:07:22 mshaver
+ * Added VIA Technologies copyright notice.
+ * Revision 1.4 2002/02/27 20:48:37 mclee
+ * Modifed the struct IS95Nam to include the new Is801 related Nam params.
+ * Revision 1.3 2002/02/27 10:52:57 etarolli
+ * Increased following NAM fields max size: MN_NAI from 10 -> 20 MN_PASSWRD from 8 -> 10. Also fixed spelling of MN_NAI field
+ * Revision 1.2 2002/02/06 12:00:54 mclee
+ * Add new A_KeyValid, VP_Enable, and FUTURE_EXPAND_FIELDS to Nam structure.
+ * Revision 1.1 2001/11/20 06:46:36 mclee
+ * Initial revision
+ * Revision 1.1.1.1 2001/10/11 13:24:04 mclee
+ * Duplicate revision
+ * Revision 1.1 2001/10/11 13:24:04 mclee
+ * Initial revision
+ *
+ ****************************************************************************
+ ***************************************************************************/
+
+#ifndef _PSWNAM_H_
+
+#define _PSWNAM_H_ 1
+
+#include "psw_nvram.h"
+
+/*--------------------------------------
+ * Global variables
+ *--------------------------------------*/
+extern PswIs95NamT Nam;
+
+#endif /* _NAMDATA_H_ */
+
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/pswpe.h b/mcu/interface/protocol/as_c2k/1xrtt/pswpe.h
new file mode 100644
index 0000000..2bb8ba7
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/pswpe.h
@@ -0,0 +1,112 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+#ifndef _PSWPE_H_
+#define _PSWPE_H_
+/*****************************************************************************
+*
+* FILE NAME : pswpe.h
+*
+* DESCRIPTION :
+*
+* Includes all PE directory header files the PSW unit has dependcies upon
+*
+* HISTORY :
+* See Log at end of file
+*
+*****************************************************************************/
+
+/*----------------------------------------------------------------------------
+ Include Files
+----------------------------------------------------------------------------*/
+
+ #include "custom.h"
+ #include "systime.h"
+ #include "longcode.h"
+ #include "channel.h"
+ #include "pilots.h"
+ #include "Serv_cfg.h"
+ #include "status.h"
+ #include "layer2.h"
+ #include "srbp_access.h"
+ #include "wbios.h"
+ #include "engine.h"
+ #include "namdata.h"
+ #include "Serv_cfg.h"
+
+/* Remove any type conflicts */
+#undef KAL_TRUE
+#undef KAL_FALSE
+
+/*****************************************************************************
+* $Log: pswpe.h $
+*
+* 07 06 2017 sue.zhong
+* [MOLY00259241] [6293][C2K]Replace with KAL data type
+* Correct copyright file header
+* Revision 1.2 2004/03/25 12:07:48 fpeng
+* Updated from 6.0 CP 2.5.0
+* Revision 1.1 2003/05/12 15:39:22 fpeng
+* Initial revision
+* Revision 1.4 2002/10/21 09:42:51 mshaver
+* Changes to support OTTS incorportated into the baseline.
+* These changes enabled only by #ifdef OTTS.
+* Normal CP operation is unaffected.
+* Revision 1.3 2002/06/06 14:25:40 dstecker
+* Updated copyright notice
+* Revision 1.2 2001/01/29 18:06:05 dstecker
+* new access probe architecture
+* Revision 1.1 2001/01/17 10:57:48 plabarbe
+* Initial revision
+* Revision 1.1 2000/10/24 14:11:44 fpeng
+* Initial revision
+* Revision 1.3 2000/03/01 18:19:08Z rsattari
+* Revision 1.2 1999/12/02 18:41:56Z cdma
+* Updated comments for CBP3.0
+*****************************************************************************/
+
+/*****************************************************************************
+* End of File
+*****************************************************************************/
+#endif
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/pswrsa.h b/mcu/interface/protocol/as_c2k/1xrtt/pswrsa.h
new file mode 100644
index 0000000..f1496de
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/pswrsa.h
@@ -0,0 +1,210 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*****************************************************************************
+*
+* FILE NAME : pswrsa.h
+*
+* DESCRIPTION :
+*
+* This file contains the implementation of RSA encryption based on TomsFastMath.
+*
+* HISTORY :
+* See Log at end of file
+*
+*****************************************************************************/
+/* TomsFastMath, a fast ISO C bignum library.
+ *
+ * This project is meant to fill in where LibTomMath
+ * falls short. That is speed ;-)
+ *
+ * This project is public domain and free for all purposes.
+ *
+ * Tom St Denis, tomstdenis@gmail.com
+ */
+#ifndef PSWRSA_H_
+#define PSWRSA_H_
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <ctype.h>
+#include <limits.h>
+
+#ifndef MIN
+ #define MIN(x,y) (((x)<(y))?(x):(y))
+#endif
+
+#ifndef MAX
+ #define MAX(x,y) (((x)>(y))?(x):(y))
+#endif
+
+/* default configurations for ARM7 besed on test result
+ */
+
+#if (CHAR_BIT & 7)
+ #error CHAR_BIT must be a multiple of eight.
+#endif
+
+typedef unsigned short fp_digit; /* 16 bits */
+typedef unsigned int fp_word; /* 32 bits */
+
+/* # of digits this is */
+#define DIGIT_BIT ((int)((CHAR_BIT) * sizeof(fp_digit)))
+
+/* Maximum Integer Precision in bits
+ * Basically the largest size you will be multiplying should be half [or smaller]
+ * of FP_MAX_SIZE-four_digit
+ * To support max 1024-bits computation need define:
+ */
+#define FP_MAX_SIZE (2048+(8*DIGIT_BIT))
+
+#define FP_MASK (fp_digit)(-1)
+#define FP_SIZE (FP_MAX_SIZE/DIGIT_BIT)
+
+/* signs */
+#define FP_ZPOS 0
+#define FP_NEG 1
+
+/* return codes */
+#define FP_OKAY 0
+#define FP_VAL 1
+#define FP_MEM 2
+
+/* equalities */
+#define FP_LT -1 /* less than */
+#define FP_EQ 0 /* equal to */
+#define FP_GT 1 /* greater than */
+
+/* replies */
+#define FP_YES 1 /* yes response */
+#define FP_NO 0 /* no response */
+
+/* Enable Optimizing computations based on length of the 'big int'(->used):
+ Right now, not need them !
+ */
+/*#define TFM_MUL32
+#define TFM_SQR32 */
+
+/* do we want some overflow checks
+ Not required if you make sure your numbers are within range (e.g. by default
+ a modulus for fp_exptmod() can only be upto 2048 bits long)
+ */
+/* #define TFM_CHECK */
+
+/* this parameter decides the algorithm speed and the peak memory usage
+ because of the stack size limitation, this value can not be too large */
+#define MAXWINSIZE 1
+/*------------------------ data structure ------------------------- */
+
+/* a FP type */
+typedef struct {
+ fp_digit dp[FP_SIZE];
+ int used, sign;
+} fp_int;
+
+/*--------------------- functions and macros -----------------------*/
+
+/* initialize [or zero] an fp int */
+#define fp_init(a) (void)memset((a), 0, sizeof(fp_int))
+#define fp_zero(a) fp_init(a)
+
+/* zero/even/odd ? */
+#define fp_iszero(a) (((a)->used == 0) ? FP_YES : FP_NO)
+#define fp_iseven(a) (((a)->used >= 0 && (((a)->dp[0] & 1) == 0)) ? FP_YES : FP_NO)
+#define fp_isodd(a) (((a)->used > 0 && (((a)->dp[0] & 1) == 1)) ? FP_YES : FP_NO)
+
+/* copy from a to b */
+#define fp_copy(a, b) (void)(((a) != (b)) && memcpy((b), (a), sizeof(fp_int)))
+#define fp_init_copy(a, b) fp_copy(b, a)
+
+/* negate and absolute */
+#define fp_neg(a, b) { fp_copy(a, b); (b)->sign ^= 1; }
+#define fp_abs(a, b) { fp_copy(a, b); (b)->sign = 0; }
+
+/* clamp digits */
+#define fp_clamp(a) { while ((a)->used && (a)->dp[(a)->used-1] == 0) --((a)->used); (a)->sign = (a)->used ? (a)->sign : FP_ZPOS; }
+
+
+/*-------------------------------public interface-----------------------------*/
+/* error codes [will be expanded in future releases] */
+enum {
+ CRYPT_OK=0, /* Result OK */
+ CRYPT_INVALID_ARG, /* Generic invalid argument */
+ CRYPT_MEM, /* Out of memory */
+
+ CRYPT_ERROR, /* Generic Error */
+ CRYPT_NOP, /* Not a failure but no operation was performed */
+ CRYPT_INVALID_KEYSIZE, /* Invalid key size given */
+ CRYPT_INVALID_ROUNDS, /* Invalid number of rounds */
+ CRYPT_FAIL_TESTVECTOR, /* Algorithm failed test vectors */
+ CRYPT_BUFFER_OVERFLOW, /* Not enough space for output */
+ CRYPT_INVALID_PACKET, /* Invalid input packet given */
+ CRYPT_INVALID_PRNGSIZE, /* Invalid number of bits for a PRNG */
+ CRYPT_ERROR_READPRNG, /* Could not read enough from PRNG */
+ CRYPT_INVALID_CIPHER, /* Invalid cipher specified */
+ CRYPT_INVALID_HASH, /* Invalid hash specified */
+ CRYPT_INVALID_PRNG, /* Invalid PRNG specified */
+ CRYPT_PK_TYPE_MISMATCH, /* Not equivalent types of PK keys */
+ CRYPT_PK_NOT_PRIVATE, /* Requires a private PK key */
+ CRYPT_FILE_NOTFOUND, /* File Not Found */
+ CRYPT_PK_INVALID_TYPE, /* Invalid type of PK key */
+ CRYPT_PK_INVALID_SYSTEM,/* Invalid PK system specified */
+ CRYPT_PK_DUP, /* Duplicate key already in key ring */
+ CRYPT_PK_NOT_FOUND, /* Key not found in keyring */
+ CRYPT_PK_INVALID_SIZE, /* Invalid size input for PK parameters */
+ CRYPT_INVALID_PRIME_SIZE/* Invalid size of prime requested */
+};
+
+int rsa_exptmod(unsigned char *in, int inlen,
+ unsigned char *e, int elen,
+ unsigned char *n, int nlen,
+ unsigned char *out, int *outlen);
+int fp_unsigned_bin_size(fp_int *a);
+void fp_read_unsigned_bin(fp_int *a, unsigned char *b, int c);
+void fp_to_unsigned_bin(fp_int *a, unsigned char *b);
+
+#endif /*PSWRSA_H_*/
+
+
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/psws_msg_struct.h b/mcu/interface/protocol/as_c2k/1xrtt/psws_msg_struct.h
new file mode 100644
index 0000000..8511289
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/psws_msg_struct.h
@@ -0,0 +1,113 @@
+/*************************************************************
+******************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*************************************************************
+*
+*
+*************************************************************/
+
+/*****************************************************************************
+*
+* FILE NAME :psws_msg_struct.h
+*
+* DESCRIPTION :
+*
+*
+* HISTORY :
+* See Log at end of file
+*
+*****************************************************************************/
+
+#ifndef _PSWS_MSG_STRUCT_H
+#define _PSWS_MSG_STRUCT_H
+
+/*----------------------------------------------------------------------------
+ Include Files
+----------------------------------------------------------------------------*/
+#include "do_slapi.h"
+#include "psws_msgid.h"
+#include "pswsapi.h"
+
+/* PSWS Messages */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSModExpMSReqMsgT msg;
+} psw_s_mod_exp_msreq_msg_struct;
+
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSModExpKReqMsgT msg;
+} psw_s_mod_exp_kreq_msg_struct;
+
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ DHKepCalReqMsgT msg;
+} do_dhkep_cal_req_msg_struct;
+
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSModExpMSReqMsgT msg;
+} psw_s_mod_exp_ms_req_msg_struct;
+
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSHlpDmuKeyEncReqMsgT msg;
+} psw_s_hlp_dmu_keyenc_req_msg_struct;
+
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+} psw_s_dbm_data_nam_msg_struct;
+
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ PswSHlpDmuKeyGenReqMsgT msg;
+} psw_s_hlp_dmu_keygen_req_msg_struct;
+
+
+#endif
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/pswsapi.h b/mcu/interface/protocol/as_c2k/1xrtt/pswsapi.h
new file mode 100644
index 0000000..6e2b867
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/pswsapi.h
@@ -0,0 +1,158 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*****************************************************************************
+*
+* FILE NAME : pswsapi.h
+*
+* DESCRIPTION : API definition for PSW secondary task.
+*
+* HISTORY :
+* See Log at end of file
+*
+*****************************************************************************/
+#ifndef _PSWSAPI_H_
+#define _PSWSAPI_H_
+
+/*----------------------------------------------------------------------------
+ Global typedefs
+----------------------------------------------------------------------------*/
+
+/*----------------------------------------------------------------------------
+ Include Files
+----------------------------------------------------------------------------*/
+#include "sysapi.h"
+
+#include "module_msg_range.h"
+/*----------------------------------------------------------------------------
+ Global Defines and Macros
+----------------------------------------------------------------------------*/
+#define PSW_S_MAILBOX_CMD EXE_MAILBOX_1_ID
+/*----------------------------------------------------------------------------
+ Message IDs
+----------------------------------------------------------------------------*/
+
+/*-----------------**
+** Message Formats **
+**------------------*/
+typedef struct
+{
+ kal_uint8 parameterP[64];
+ kal_uint8 parameterG[20];
+ kal_uint8 exp[20];
+} PswSModExpMSReqMsgT;
+
+typedef struct
+{
+ kal_uint8 bsResult[64];
+ kal_uint8 parameterP[64];
+ kal_uint8 exp[20];
+ kal_uint8 numbytes;
+} PswSModExpKReqMsgT;
+
+typedef struct
+{
+ kal_uint16 sid;
+ kal_uint16 nid;
+ kal_uint16 EcIo;
+ kal_uint8 curSys;
+ kal_uint16 curChan;
+ SysCdmaBandT curBand;
+} PswSCssValidateSyncMsgT;
+
+typedef struct {
+ kal_uint16 lenKey;
+ kal_uint8 *pKey;
+ kal_uint8 nPubKeyModLen;
+ kal_uint8 *pPubKeyMod;
+ ExeRspMsgT DmuKeyGenReqRspInfo;
+} PswSHlpDmuKeyGenReqMsgT;
+
+typedef struct {
+ kal_uint8 nTextLen;
+ kal_uint8 *pText;
+ kal_uint8 nPubKeyExpLen;
+ kal_uint8 *pPubKeyExp;
+ kal_uint8 nPubKeyModLen;
+ kal_uint8 *pPubKeyMod;
+ kal_uint8 nEncryptTextLen;
+ kal_uint8 *pEncryptText;
+ ExeRspMsgT DmuKeyEncReqRspInfo;
+} PswSHlpDmuKeyEncReqMsgT;
+#endif
+/*****************************************************************************
+* $Log: pswsapi.h $
+*
+* 06 29 2017 sue.zhong
+* [MOLY00259241] [6293][C2K]Replace with KAL data type
+* ::KAL type - folder inc
+*
+* 11 09 2016 sue.zhong
+* [MOLY00208435] [6293][C2K]Sync C2K code to UMOLYA TRUNK
+* Update C2K PS code (1/2)
+* Revision 1.3 2005/03/18 10:05:22 dstecker
+* Modifications for the 4.05 merge
+* Revision 1.2 2004/03/25 12:07:49 fpeng
+* Updated from 6.0 CP 2.5.0
+* Revision 1.1 2003/05/12 15:39:22 fpeng
+* Initial revision
+* Revision 1.3 2002/06/06 14:25:41 dstecker
+* Updated copyright notice
+* Revision 1.2 2002/05/29 15:13:56 ameya
+* Added structure defn for PswSCssValidateSyncMsgT and msg id PSW_S_CSS_VAL_SYNC_MSG.
+* Revision 1.1 2001/11/20 12:03:17 mclee
+* Initial revision
+* Revision 1.3 2001/04/03 10:10:08 mclee
+* Define PswSFillSSPRListMsgT and added enum PSW_S_FILL_SSPR_REQ_MSG
+* Revision 1.2 2001/01/24 22:53:35Z mclee
+* Declaired structs and enum for PswSmodExpMSReqMsgT & PswSModExpKReqMsgT used to inputs to Diffie Hellman Calculation.
+* Revision 1.1.2.1 2000/11/22 00:08:02Z mclee
+* Duplicate revision
+* Revision 1.1 2000/11/22 00:08:02Z mclee
+* Initial revision
+*****************************************************************************/
+
+/*****************************************************************************
+* End of File
+*****************************************************************************/
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/pswsmstune.h b/mcu/interface/protocol/as_c2k/1xrtt/pswsmstune.h
new file mode 100644
index 0000000..880921b
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/pswsmstune.h
@@ -0,0 +1,405 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1997-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+#ifndef _SMS_TUNE_H
+#define _SMS_TUNE_H
+/*************************************************************************
+*
+* File Name: pswsmstune.h
+*
+* Description: SMS Tuning File
+* Contains tunable parameters for Stack SMS Operation.
+*
+* HISTORY :
+* See Log at end of file
+*
+*
+************************************************************************/
+
+
+/* ---------------------------------------------------------------------
+ * Name: SMS_MAX_NUM_ASE
+ *
+ * Description:
+ * This defines the maximum number of ASEs that can be connected to the
+ * Transport Layer.
+ *
+ * Restrictions:
+ * This number must be at most the number of Tele-service Ids
+ *
+ * Default Value:
+ * 5
+ *
+ */
+#define SMS_MAX_NUM_ASE 13
+
+/* ---------------------------------------------------------------------
+ * Name: SMS_TL_CONFIRM
+ *
+ * Description:
+ * This determines how unspecified QoS conditions are handled. If 1, the
+ * Transport Layer will use confirmed Data Link services whenever the
+ * QoS requirements are unspecified (e.g. sending an ACK). If 0, the
+ * non-confirmed service will be used.
+ *
+ * Restrictions:
+ * This number must be 0 or 1
+ *
+ * Default Value:
+ * 0
+ *
+ */
+#define SMS_TL_CONFIRM 1
+
+/* ---------------------------------------------------------------------
+ * Name: SMS_RL_CONFIRM
+ *
+ * Description:
+ * Determines if the relay layer will send a request to the lower
+ * layers with confirmed service.
+ *
+ * Restrictions:
+ * This number must be 0 or 1
+ *
+ * Default Value:
+ * 1
+ *
+ */
+#define SMS_RL_CONFIRM KAL_TRUE
+
+/* ---------------------------------------------------------------------
+ * Name: SMS_TC_ONLY
+ *
+ * Description:
+ * Indicates if the SMS Relay Layer should request the outgoing
+ * message should only be sent on a CDMA traffic channel
+ *
+ * Restrictions:
+ * This number must be 0 or 1
+ *
+ * Default Value:
+ * 0
+ *
+ */
+/* THIS IS IN SCC_TUNE.H => #define SMS_TC_ONLY KAL_FALSE */
+
+
+/* ---------------------------------------------------------------------
+ * Name: SMS_TL_TIMEOUT
+ *
+ * Description:
+ * This specifies how much time (in msec's) to wait for a Transport Layer
+ * acknowledgement from the message center before declaring the transaction
+ * failed.
+ *
+ * Restrictions:
+ * This number must be >0 and <=65535
+ *
+ * Default Value:
+ * 2000 (2 seconds)
+ *
+ */
+#ifdef VERIZON_EXTENSIONS
+#define SMS_TL_TIMEOUT 5000
+#else
+#ifdef MTK_CBP
+#define SMS_TL_TIMEOUT 18000
+#else
+#define SMS_TL_TIMEOUT 18000
+#endif
+
+
+#endif
+
+#ifdef MTK_CBP
+#define SMS_TL_ACK_VZW_TIMEOUT 18000
+#define SMS_TL_L3ACK_TIMEOUT 6000
+#endif
+
+/* ---------------------------------------------------------------------
+ * Name: SMS_RL_QUEUE_SIZE
+ *
+ * Description:
+ * This determines how many message buffers of size SMS_RL_BUFFER_SIZE
+ * that the Relay Layer will allocate for transmitting SMS messages.
+ *
+ * Restrictions:
+ * This number must be >0 and <= 255
+ *
+ * Default Value:
+ * 5
+ *
+ */
+#define SMS_RL_QUEUE_SIZE 5
+
+/* ---------------------------------------------------------------------
+ * Name: SMS_RL_BUFFER_SIZE
+ *
+ * Description:
+ * This determines how large the Relay Layer transmit buffers are in bytes.
+ *
+ * Restrictions:
+ * This number must be >0 and <= 255
+ *
+ * Default Value:
+ * 254
+ *
+ */
+#define SMS_RL_BUFFER_SIZE 254
+
+/* ---------------------------------------------------------------------
+ * Name: SMS_TL_MAX_TRANS
+ *
+ * Description:
+ * This determines how many concurrent teleservice messages
+ * can be awaiting a transport layer acknowledgement
+ *
+ * Restrictions:
+ * This number must be >0 and <= 255
+ *
+ * Default Value:
+ * 5
+ *
+ */
+#define SMS_TL_MAX_TRANS 5
+
+/* ---------------------------------------------------------------------
+ *
+ * Name: GLOBAL_REPLY_SEQ
+ *
+ * Description:
+ * This macro sets the initial value for the GlobalReplySeq
+ * value used for all transport layer messages within the SMS engine.
+ *
+ * Restrictions:
+ * This number must be within 0 <= GLOBAL_REPLY_SEQ <= 65535
+ *
+ * Default Value:
+ * 0
+ *
+ */
+#define GLOBAL_REPLY_SEQ 0
+
+/* ---------------------------------------------------------------------
+ *
+ * Name: SMS_MAX_ADDRESS_CHARS
+ *
+ * Description:
+ * Limit on the number of bytes used for the chari fields of
+ * the SMS_ADDR structure
+ *
+ * Restrictions:
+ * 0 < x < 255
+ *
+ * Default Value:
+ * 32 (same as max for MMI)
+ *
+ */
+#define SMS_MAX_ADDRESS_CHARS 32
+
+/* ---------------------------------------------------------------------
+ *
+ * Name: SMS_MAX_SUBADDRESS_CHARS
+ *
+ * Description:
+ * Limit on the number of bytes used for the chari fields of
+ * the SMS_SUBADDR structure
+ *
+ * Restrictions:
+ * 0 < x < 255
+ *
+ * Default Value:
+ * 30
+ *
+ */
+#define SMS_MAX_SUBADDRESS_CHARS 30
+
+/* ---------------------------------------------------------------------
+ *
+ * Name: SMS_MAX_USERDATA_LENGTH
+ *
+ * Description:
+ * Limit on the number of bytes of data used for the chari
+ * fields in the SMS_USERDATA structure. This field must
+ * be small enough to make the SMS message fit within one
+ * data burst message. There is no segmentation of user
+ * messages!
+ *
+ * Restrictions:
+ * 0 < x < 255
+ *
+ * Default Value:
+ * 200
+ *
+ */
+#define SMS_MAX_USERDATA_LENGTH 220
+
+/* ---------------------------------------------------------------------
+ *
+ * Name: SMS_MAX_NUM_DATA_MSGS
+ *
+ * Description:
+ * Limit on the number of data messages contained within the
+ * SMS_USERDATA structure. This structure can hold multiple
+ * messages each with a different encoding scheme
+ *
+ * Restrictions:
+ * 0 < x < 255
+ *
+ * Default Value:
+ * 2
+ *
+ */
+#define SMS_MAX_NUM_DATA_MSGS 2
+
+/* ---------------------------------------------------------------------
+ *
+ * Name: SMS_TL_MAX_MSG_LENGTH
+ *
+ * Description:
+ * Limits the size of a fully constructed SMS Teleservice Message.
+ * This limit is used in the SMS_TL_MSG structure
+ *
+ * Restrictions:
+ * 0 < x < 255
+ *
+ * Default Value:
+ * 255
+ *
+ */
+#define SMS_TL_MAX_MSG_LENGTH 255
+
+/* ---------------------------------------------------------------------
+ *
+ * Name: SMS_TL_MAX_RETRY
+ *
+ * Description:
+ * Limit to the number of times the Transport Layer will attemt
+ * to resend a message to the message center
+ *
+ * Restrictions:
+ * 0 < x < 255
+ *
+ * Default Value:
+ * 3
+ *
+ */
+#ifdef VERIZON_EXTENSIONS
+#define SMS_TL_MAX_RETRY_TEMP_ERROR 3
+#define SMS_TL_MAX_RETRY_PERM_ERROR 3
+#define SMS_TL_MAX_RETRY_TIMEOUT_ERROR 3
+#else
+
+#ifdef SPRINT_EXTENSIONS
+#define SMS_TL_MAX_RETRY_TEMP_ERROR 0
+#define SMS_TL_MAX_RETRY_PERM_ERROR 0
+#define SMS_TL_MAX_RETRY_TIMEOUT_ERROR 1
+
+#else
+#define SMS_TL_MAX_RETRY_TEMP_ERROR 0
+#define SMS_TL_MAX_RETRY_PERM_ERROR 0
+#ifdef MTK_CBP
+#define SMS_TL_MAX_RETRY_TIMEOUT_ERROR 4
+#else
+#define SMS_TL_MAX_RETRY_TIMEOUT_ERROR 0
+#endif
+#endif
+#endif
+
+/* ---------------------------------------------------------------------
+ *
+ * Name: PSW_MAX_NUM_SERVICE_CATEGORIES
+ *
+ * Description:
+ * Limit to the number of categories for the service category program
+ * results
+ *
+ * Restrictions:
+ * 0 < x < 85
+ *
+ * Default Value:
+ * 30
+ *
+ */
+
+#define SMS_MAX_NUM_SERVICE_CATEGORIES 10
+#define SMS_MAX_CHAR_CATEGORY 20
+#ifdef MTK_CBP
+#define SMS_TL_RESEND_TIMEOUT 5000
+#define SMS_TL_WAIT_RSP_TIMEOUT 165000
+#else
+#define SMS_TL_RESEND_TIMEOUT 10000
+#endif
+
+
+#ifdef MTK_CBP
+#define SMS_TL_MOREL_TIMEOUT 4000
+#define SMS_TL_MMS_TIMEOUT 6000
+#endif
+
+/*****************************************************************************
+* $Log: pswsmstune.h $
+* Revision 1.2 2004/03/25 11:46:04 fpeng
+* Updated from 6.0 CP 2.5.0
+* Revision 1.2 2003/08/27 15:04:56 bcolford
+* Updated for merge
+* Revision 1.7 2003/03/31 13:30:02 bsharma
+* Changed SMS_TL_TIMEOUT to 5 seconds to allow time for origination.
+* Revision 1.6 2003/02/28 16:43:00 dstecker
+* Upgrade SMS to make it 637B compliant
+* Revision 1.5 2002/06/04 08:07:22 mshaver
+* Added VIA Technologies copyright notice.
+* Revision 1.4 2001/10/29 08:48:22 mclee
+* Changed # define SMS_RL_CONFIRM 1 to KAL_TRUE
+* Revision 1.3 2001/09/24 15:00:05 kmar
+* Update SMS to latest in CBP3.
+* Increases SMS_MAX_NUM_ASE to 5 and SMS_MAX_ADDRESS_CHARS to 32.
+* Revision 1.2 2000/12/19 11:57:32 plabarbe
+* Updated to come a bit closer to LSI conventions.
+*****************************************************************************/
+
+/*****************************************************************************
+* End of File
+*****************************************************************************/
+#endif /* _SMS_TUNE_H */
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/pswvalapi.h b/mcu/interface/protocol/as_c2k/1xrtt/pswvalapi.h
new file mode 100644
index 0000000..f72d626
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/pswvalapi.h
@@ -0,0 +1,1891 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+#ifndef PSWVALAPI_H
+#define PSWVALAPI_H
+
+#include "pswcustom.h"
+#include "sysdefs.h"
+#include "sysapi.h"
+#include "pswapi.h"
+#include "pswsmstune.h"
+#include "hlpapi.h"
+//#include "valfsiapi.h"
+
+
+
+ /*-----------------------------------------------------------------
+ * HLWHandler
+ *----------------------------------------------------------------*/
+
+/* VAL_TCPB_CONN_STATUS_MSG */
+typedef enum
+{
+ VAL_TCPB_CONNECT_SUCCESS, /* connection success */
+ VAL_TCPB_CONNECT_FAIL_TCP, /* connection fails on TCP */
+ VAL_TCPB_CONNECT_FAIL_PPP, /* connection fails on PPP */
+ VAL_TCPB_CONNECT_FAIL_RLP, /* connection fails on RLP */
+ VAL_TCPB_CONNECT_FAIL_UART, /* not use */
+ VAL_TCPB_DISCONNECT_NORMAL, /* disconnect from BS */
+ VAL_TCPB_DISCONNECT_MS, /* disconnect from MS */
+ VAL_TCPB_DISCONNECT_FADE, /* disconnect due to fading */
+ VAL_TCPB_CONNECT_FAIL_TRAFFIC, /* connection fails on traffic */
+ VAL_TCPB_CONNECT_FAIL_NOSVC, /* connection fails on no src */
+ VAL_TCPB_CONNECT_DORMANT, /* connection dormant */
+ VAL_TCPB_CONNECT_RECONNECT, /* reconnect after dormant */
+ VAL_TCPB_NUM_CONNECT_STATUS
+} TcpbStatusT;
+
+typedef enum
+{
+ VAL_IE_CLOSEPENDINGWAIT = 6, /* TCP close by peers, wait for user */
+ VAL_IE_CLOSEPENDING = 5, /* TCP graceful close in progress */
+ VAL_IE_RECVMOREDATA = 4, /* more UDP or raw IP data */
+ VAL_IE_NODATA = 3, /* no data available for receive */
+ VAL_IE_CONNECTPENDING = 2, /* TCP connect attempt in progress */
+ VAL_IE_LISTENPENDING = 1, /* listening for remote connect */
+ VAL_IE_SUCCESS = 0, /* request successful */
+ VAL_IE_INVALIDRQST = -1, /* invalid or unknown request */
+ VAL_IE_INVALIDSAP = -2, /* invalid service access point */
+ VAL_IE_INVALIDPORT = -4, /* invalid listen or connect port */
+ VAL_IE_INVALIDADDR = -5, /* invalid connect host address */
+ VAL_IE_NOMOREMBUFS = -6, /* no mbufs available */
+ VAL_IE_NOMORETCBS = -7, /* no tcbs available */
+ VAL_IE_NOLOCALADDR = -8, /* local host address not set */
+ VAL_IE_INVALIDSIZE = -9, /* invalid send or receive size */
+ VAL_IE_INVALIDDATA = -10, /* invalid request field */
+ VAL_IE_INVALIDOPT = -11, /* option incorrectly specified */
+ VAL_IE_INVALIDFLAGS = -12, /* invalid send/sento flags */
+ VAL_IE_INVALIDSTATE = -13, /* invalid TCP state */
+ VAL_TCP_TIME_OUT = -14, /* TCP connecting time out */
+ VAL_TCP_RESET = -15, /* TCP reset by remote */
+ VAL_TCP_ABORT = -16, /* TCP reset by local */
+ VAL_TCP_DISCNT_NORMAL = -17 /* TCP Disconnect normal */
+} ValSocketStatusT;
+
+typedef PACKED_PREFIX struct
+{
+ TcpbStatusT Status;
+} PACKED_POSTFIX ValTcpbConnStatusMsgT;
+
+/* VAL_TCPB_DATA_RECV_MSG */
+typedef PACKED_PREFIX struct
+{
+ kal_uint8 Sap;
+#if defined(MTK_PLT_ON_PC) && defined(MTK_PLT_ON_PC_UT)
+ kal_uint8 Data[255];
+#endif
+ kal_uint8* DataP;
+ kal_uint16 Size;
+} PACKED_POSTFIX ValTcpbDataRecvMsgT;
+
+/* VAL_TCPB_DATA_SEND_RSP_MSG */
+typedef PACKED_PREFIX struct
+{
+ kal_uint8 Sap;
+ ValSocketStatusT status;
+} PACKED_POSTFIX ValTcpbDataSendRspMsgT;
+
+/* VAL_UPB_CONN_STATUS_MSG */
+typedef PACKED_PREFIX struct
+{
+ kal_uint8 Status;
+} PACKED_POSTFIX ValUpbConnStatusMsgT;
+
+/* VAL_TCPB_SEND_DATA_MSG */
+typedef PACKED_PREFIX struct
+{
+ kal_uint8 Sap; /* Socket ID */
+ kal_uint8 SetId; /* Canned Data set ID. Data contents reside in:
+ SetId Data resides in
+ 0 : DataP pointer below. Reserved for LBS only.
+ If DataP needed for other features use
+ new SetId.
+ 1 : HTTP_GetRequest1
+ 2 : HTTP_GetRequest2
+ else : HTTP_NULL
+ */
+ kal_uint16 Size; /* Size of contents in DataP pointer */
+ kal_uint8* DataP; /* Pointer to data */
+} PACKED_POSTFIX ValTcpbSendDataMsgT;
+
+/* VAL_UDPB_SEND_DATA_MSG */
+typedef PACKED_PREFIX struct
+{
+ kal_uint8 Sap; /* Socket ID */
+ kal_uint32 IpAddress; /* 32-bit IP address. */
+ kal_uint16 Port; /* UDP port number. */
+} PACKED_POSTFIX ValUdpbSendDataMsgT;
+
+/* VAL_UPB_SENT_DATA_RSP_MSG */
+typedef PACKED_PREFIX struct
+{
+ kal_uint8 Sap;
+ ValSocketStatusT status;
+} PACKED_POSTFIX ValUdpbSentDataRspMsgT;
+
+typedef PACKED_PREFIX struct
+{
+ kal_uint32 IpAddress; /* 32-bit IP address. */
+ kal_uint16 PortNumber; /* UDP port number. */
+} PACKED_POSTFIX ValAppAddrT;
+
+/* VAL_UPB_RECV_DATA_MSG */
+typedef PACKED_PREFIX struct
+{
+ kal_uint8* Data; /* Point to data buffer. */
+ kal_uint16 Size; /* Size of datagram received. */
+ ValAppAddrT FromAddress;
+ kal_uint8 Sap;
+} PACKED_POSTFIX ValUpbRecvDataMsgT;
+
+/*-----------------------------------------------------------------
+ * AIWHandler
+ *----------------------------------------------------------------*/
+
+/* VAL_NWK_RPT_DATA_SVC_STATUS_WORD_MSG */
+typedef PACKED_PREFIX struct
+{
+ kal_uint8 statusStr[15]; /* ??? buffer overflow in aiweng:mmiAiResult() */
+} PACKED_POSTFIX ValNwkRptDataSvcStatusWordMsgT;
+
+//don't modify following Enum, brew has referred to it
+typedef enum
+{
+ VAL_PSW_DATA_ASYNC,
+ VAL_PSW_DATA_FAX,
+ VAL_PSW_DATA_QNC,
+ VAL_PSW_DATA_PKT_MODEM,
+ VAL_PSW_DATA_PKT_BROWSER
+} ValPswDataTypeT;
+
+//don't modify following Enum, brew has referred to it
+typedef enum
+{
+ VAL_PSW_DATA_CALL_ORIG,
+ VAL_PSW_DATA_CALL_INCOMING,
+ VAL_PSW_DATA_CALL_ALERTING,
+ VAL_PSW_DATA_CALL_CONNECTED,
+ VAL_PSW_DATA_CALL_DORMANCY,
+ VAL_PSW_DATA_CALL_RELEASED,
+ VAL_PSW_DATA_CALL_WFR_RELEASE /*Wait for application to release the browser call because of the OOSA timer expired */
+} ValPswDataCallEvtT;
+
+//don't modify following Struct, brew has referred to it
+typedef PACKED_PREFIX struct
+{
+ ValPswDataTypeT DataType;
+ ValPswDataCallEvtT Event;
+} PACKED_POSTFIX ValPswRptDataCallEvtMsgT;
+
+/*-----------------------------------------------------------------
+ * OTASPHandler
+ *----------------------------------------------------------------*/
+
+ /* VAL_IOTA_683_RSP_MSG */
+ typedef PACKED_PREFIX struct
+ {
+ kal_uint8 *IS683Rsp;
+ kal_uint16 Length;
+ } PACKED_POSTFIX ValIOTARspMsgT;
+
+ /* VAL_IOTA_PRL_RSP_MSG */
+ typedef PACKED_PREFIX struct
+ {
+ kal_uint8 *PRLRsp;
+ kal_uint16 Length;
+ } PACKED_POSTFIX ValIOTAPRLRspMsgT;
+
+ /* VAL_OTASP_IND_MSG */
+ typedef enum
+ {
+ VAL_OTA_PRLDownload,
+ VAL_OTASP_Connect,
+ VAL_OTA_Disconnect,
+ VAL_OTAPA_SessionStart,
+ VAL_OTAPA_SessionStop,
+ VAL_OTAPA_VerifyOK,
+ VAL_OTA_SPASMUnlock,
+ VAL_OTA_AkeyEx,
+ VAL_OTA_SPLUnlock,
+ VAL_OTA_SSDUpd,
+ VAL_OTA_NAMDownload,
+ VAL_OTA_MDNDownload,
+ VAL_OTA_IMSIDownload,
+ VAL_OTA_PRLDownloading,
+ VAL_OTA_DataMaskCommitToNVRAM,
+ VAL_OTA_DataToNVRAM,
+ VAL_OTA_CommitOK,
+ VAL_OTA_ExcessSPCFailure,
+ VAL_OTA_AnalogCDMADownload,
+ VAL_OTA_PRLDownloadOK,
+ VAL_OTA_PRLDownloadFail,
+ VAL_OTA_ProgrammingFail,
+ VAL_OTA_Premature_Terminate,
+ VAL_OTA_VendorLock_Reset,
+ VAL_OTA_Null
+} ValOtaStatusIndT;
+
+ typedef PACKED_PREFIX struct
+ {
+ ValOtaStatusIndT status;
+ } PACKED_POSTFIX ValOtaspIndMsgT;
+
+ /* VAL_OTASP_TX_RSP_MSG */
+ typedef PACKED_PREFIX struct
+ {
+ kal_bool Success;
+ } PACKED_POSTFIX ValOtaspTxRspMsgT;
+
+typedef struct
+{
+ kal_uint16 wSysID; /* System Identification */
+ kal_uint16 wNetID; /* Network Identification */
+ kal_uint16 wBaseID; /* Base Station Identification */
+ kal_uint16 wBaseClass; /* Base Station Class */
+ kal_uint16 wBestPN; /* Best Pilot */
+ kal_uint16 wPacketZoneID; /* Packet Data Service Zone Identifier */
+ kal_uint16 wMobileCountryCode; /* Mobile country code */
+} ValLbsSectorInfo;
+
+typedef struct
+{
+ ValLbsSectorInfo SectorInfo;
+} ValLocGetSectorInfoRspMsgT;
+
+/* MSG_ID_VAL_LOC_ERROR_MSG */
+typedef enum
+{
+ TCP_NOT_SUPP,
+ MS_ORIG_NOT_SUPP,
+ NUM_MULTIPLE_SESS_EXCEEDED,
+ MS_ORIG_SESS_ALREADY_ACTIVE,
+ NETWORK_CANCEL_RCVD,
+ DSP_ERROR,
+ PDE_ERROR
+} ValLocErrorTypes;
+
+typedef struct
+{
+ ValLocErrorTypes Error;
+} ValLocErrorMsgT;
+
+/* MSG_ID_VAL_LOC_PILOT_PHASE_MEAS_MSG */
+/* Refer to PswPosAfltMeasurementMsgT in pswapi.h */
+
+/* MSG_ID_VAL_LOC_PSEUDO_RANGE_MSG */
+
+#define MAX_NUM_PSEUDO_RANGE_PARAM 16
+
+typedef struct
+{
+ kal_uint8 SvPrnNum;
+ kal_uint8 SvCno;
+ kal_uint16 SvCodePhWh;
+ kal_uint16 SvCodePhFr;
+} PseudoRangeParamT;
+
+typedef struct
+{
+ kal_uint8 NumPsRanges;
+ PseudoRangeParamT psRanges[MAX_NUM_PSEUDO_RANGE_PARAM];
+} ValLocPseudoRangeMeasMsgT;
+
+ /*-----------------------------------------------------------------
+ * PSWHandler
+ *----------------------------------------------------------------*/
+
+ /* common ds to 3 VAL_NWK_RPT_xxx messages */
+
+#ifdef MTK_CBP
+#define VAL_MAX_DISPLAY_SIZE 64
+#else
+#define VAL_MAX_DISPLAY_SIZE 62
+#endif
+
+typedef enum
+{
+ VAL_NP_UNKNOWN = 0,
+ VAL_NP_ISDN_TELEPHONY,
+ VAL_NP_DATA = 3,
+ VAL_NP_TELEX,
+ VAL_NP_PRIVATE = 9,
+ VAL_NUMBER_PLAN_INVALID
+} ValNumberPlanT;
+
+typedef enum
+{
+ VAL_NT_UNKNOWN = 0,
+ VAL_NT_INTERNATIONAL,
+ VAL_NT_NATIONAL,
+ VAL_NT_NETWORK_SPECIFIC,
+ VAL_NT_SUBSCRIBER,
+ VAL_NT_RSVD,
+ VAL_NT_ABBREVIATED,
+ VAL_NUMBER_TYPE_INVALID
+} ValNumberTypeT;
+
+#define VAL_MAX_CALLED_PARTY_NUMBER_SIZE 32
+typedef PACKED_PREFIX struct
+{
+ ValNumberTypeT Type;
+ ValNumberPlanT Plan;
+ kal_uint8 Number[VAL_MAX_CALLED_PARTY_NUMBER_SIZE+1];
+} PACKED_POSTFIX ValCalledPartyNumberT;
+
+typedef enum
+{
+ VAL_PI_ALLOWED = 0,
+ VAL_PI_RESTRICTED,
+ VAL_PI_NUMBER_NA,
+ VAL_PI_RSVD,
+ VAL_PRESENTATION_INDICATOR_INVALID
+} ValPresentationIndicatorT;
+
+typedef enum
+{
+ VAL_SI_USER_PROVIDED_NOT_SCREENED = 0,
+ VAL_SI_USER_PROVIDED_VERIFIED_PASSED,
+ VAL_SI_USER_PROVIDED_VERIFIED_FAILED,
+ VAL_SI_NETWORK_PROVIDED,
+ VAL_SCREENING_INDICATOR_INVALID
+} ValScreeningIndicatorT;
+
+#define VAL_MAX_CALLING_PARTY_NUMBER_SIZE 32
+typedef PACKED_PREFIX struct
+{
+ ValNumberTypeT Type;
+ ValNumberPlanT Plan;
+ ValPresentationIndicatorT Pi;
+ ValScreeningIndicatorT Si;
+ kal_uint8 Number[VAL_MAX_CALLING_PARTY_NUMBER_SIZE+1];
+} PACKED_POSTFIX ValCallingPartyNumberT;
+
+typedef enum
+{
+ VAL_ST_TONE_SIGNAL = 0,
+ VAL_ST_ISDN_ALERTING,
+ VAL_ST_IS54B_ALERTING,
+ VAL_ST_RCVD,
+ VAL_SIGNAL_TYPE_INVALID
+} ValSignalTypeT;
+
+typedef enum
+{
+ VAL_PITCH_MEDIUM = 0,
+ VAL_PITCH_HIGH,
+ VAL_PITCH_LOW,
+ VAL_PITCH_RSVD,
+ VAL_ALERT_PITCH_INVALID
+} ValAlertPitchT;
+
+typedef PACKED_PREFIX struct
+{
+ ValSignalTypeT Type;
+ ValAlertPitchT Pitch;
+ kal_uint8 Signal;
+} PACKED_POSTFIX ValSignalT;
+
+typedef enum
+{
+ VAL_SUBADDRESSTYPE_NSAP = 0,
+ VAL_SUBADDRESSTYPE_USER = 2,
+ VAL_SUBADDRESSTYPE_RESERVED
+} ValSubaddressTypeT;
+
+typedef enum
+{
+ VAL_INDICATOR_EVEN = 0,
+ VAL_INDICATOR_ODD
+} ValOddEvenIndicatorT;
+
+#define VAL_MAX_SUBADDRESS_NUMBER_SIZE VAL_MAX_CALLED_PARTY_NUMBER_SIZE /* ??? */
+ typedef PACKED_PREFIX struct
+ {
+ kal_uint8 ExtensionBit;
+ ValSubaddressTypeT SubaddressType;
+ ValOddEvenIndicatorT OddEvenIndicator;
+ kal_uint8 Number[VAL_MAX_SUBADDRESS_NUMBER_SIZE + 1];
+ } PACKED_POSTFIX ValSubaddressT;
+
+ typedef PACKED_PREFIX struct
+ {
+ kal_uint8 UpLink;
+ kal_uint8 DownLink;
+ } PACKED_POSTFIX ValAudioControlT;
+
+ typedef PACKED_PREFIX struct
+ {
+ kal_bool RcvdDisplay;
+ kal_uint8 Display[VAL_MAX_DISPLAY_SIZE + 1];
+
+ kal_bool RcvdCalledPartyNumber;
+ ValCalledPartyNumberT CalledPartyNumber;
+
+ kal_bool RcvdCallingPartyNumber;
+ ValCallingPartyNumberT CallingPartyNumber;
+
+ kal_bool RcvdConnectedNumber;
+ ValCallingPartyNumberT ConnectedNumber; /* Same format as CallingPartyNumber */
+
+ kal_bool RcvdSignal;
+ ValSignalT Signal;
+
+ kal_bool RcvdMessageWaiting;
+ kal_uint8 MsgCount;
+
+ kal_bool RcvdClirCause; /* ??? */
+ kal_uint8 ClirCause;
+
+ kal_bool RcvdRelease;
+
+ kal_bool RcvdAudioControl;
+ ValAudioControlT AudioControl;
+
+ kal_bool RcvdCalledPartySubaddress; /* added since related to Numbers */
+ ValSubaddressT CalledPartySubaddress;
+
+ kal_bool RcvdCallingPartySubaddress;
+ ValSubaddressT CallingPartySubaddress;
+
+ kal_bool RcvdConnectedSubaddress;
+ ValSubaddressT ConnectedSubaddress;
+
+ kal_bool RcvdCallWaitingIndicator;
+ kal_uint8 CallWaitingIndicator;
+ kal_bool MoreData;
+
+ PswServiceOptionT SO;
+ } PACKED_POSTFIX ValNwkRptBasicInfoT;
+
+ /* VAL_ACCESS_MAX_CAPSULE_SIZE_MSG */
+ typedef PACKED_PREFIX struct
+ {
+ kal_uint8 Size;
+ } PACKED_POSTFIX ValAccessMaxCapsuleSizeMsgT;
+
+ /* VAL_BS_CO_ORD_MSG */
+ typedef PACKED_PREFIX struct
+ {
+ kal_uint16 baseId;
+ kal_int32 baseLat;
+ kal_int32 baseLong;
+ } PACKED_POSTFIX ValBSCoOrdMsgT;
+
+ /* VAL_NAM_MSG */
+ typedef PACKED_PREFIX struct
+ {
+ NamNumber namNumber;
+ PswIs95NamT namFields;
+ } PACKED_POSTFIX ValNamMsgT;
+
+#ifdef KDDI_EXTENSIONS
+ /* VAL_PSW_ANTENNA_BARS_RPT_MSG */
+ typedef PACKED_PREFIX struct
+ {
+ kal_uint8 antennabars;
+ } PACKED_POSTFIX ValPswAntennaBarsRptMsgT;
+#endif
+
+ /* VAL_NWK_RPT_ALERT_MORE_INFO_REC_MSG */
+ /* VAL_NWK_RPT_FLASH_MORE_INFO_REC_MSG */
+ /* VAL_NWK_RPT_FEAT_NOTIF_MORE_INFO_REC_MSG */
+ typedef enum
+ {
+ VAL_REDIRECTION_UNKNOWN = 0,
+ VAL_REDIRECTION_BUSY,
+ VAL_REDIRECTION_NO_REPLY,
+ VAL_REDIRECTION_DTE_OUT_OF_ORDER = 0x9,
+ VAL_REDIRECTION_FORWARDING_BY_DTE,
+ VAL_REDIRECTION_UNCONDITIONAL_OR_SYSTEMATIC = 0xF
+ } ValRedirectionReasonT;
+
+#define VAL_MAX_REDIRECTING_NUMBER_SIZE 32
+ typedef PACKED_PREFIX struct
+ {
+ kal_uint8 ExtensionBit1;
+ ValNumberTypeT Type;
+ ValNumberPlanT Plan;
+
+ kal_uint8 ExtensionBit2;
+ ValPresentationIndicatorT Pi;
+ ValScreeningIndicatorT Si;
+
+ kal_uint8 ExtensionBit3;
+ ValRedirectionReasonT RedirectionReason;
+ kal_uint8 Number[VAL_MAX_REDIRECTING_NUMBER_SIZE+1];
+ } PACKED_POSTFIX ValRedirectingNumberT;
+
+ typedef PACKED_PREFIX struct
+ {
+ kal_uint16 PulseFrequency;
+ kal_uint8 PulseOnTime;
+ kal_uint8 PulseOffTime;
+ kal_uint8 PulseCount;
+ } PACKED_POSTFIX ValMeterPulsesT;
+
+ typedef PACKED_PREFIX struct
+ {
+ kal_uint8 Amplitude;
+ kal_uint16 Freq1;
+ kal_uint16 Freq2;
+ kal_uint8 OnTime;
+ kal_uint8 OffTime;
+ kal_uint8 Repeat;
+ kal_uint8 Delay;
+ } PACKED_POSTFIX ValCadenceGroup;
+
+#define VAL_MAX_CADENCE_GROUPS_REC 6
+ typedef PACKED_PREFIX struct
+ {
+ kal_uint8 CadenceCount;
+ kal_uint8 NumGroups;
+ ValCadenceGroup CadenceGroup[VAL_MAX_CADENCE_GROUPS_REC];
+ } PACKED_POSTFIX ValParametricAlertingT;
+
+ typedef PACKED_PREFIX struct
+ {
+ kal_uint8 PolarityIncluded;
+ kal_uint8 ToggleMode;
+ kal_uint8 ReversePolarity;
+ kal_uint8 PowerDenialTime;
+ } PACKED_POSTFIX ValLineControlT;
+
+ typedef enum
+ {
+ VAL_DISPLAYTAG_BLANK = 0x80,
+ VAL_DISPLAYTAG_SKIP,
+ VAL_DISPLAYTAG_CONTINUATION,
+ VAL_DISPLAYTAG_CALLED_ADDRESS,
+ VAL_DISPLAYTAG_CAUSE,
+ VAL_DISPLAYTAG_PROGRESS_INDICATOR,
+ VAL_DISPLAYTAG_NOTIFICATION_INDICATOR,
+ VAL_DISPLAYTAG_PROMPT,
+ VAL_DISPLAYTAG_ACCUMULATED_DIGITS,
+ VAL_DISPLAYTAG_STATUS,
+ VAL_DISPLAYTAG_INBAND,
+ VAL_DISPLAYTAG_CALLING_ADDRESS,
+ VAL_DISPLAYTAG_REASON,
+ VAL_DISPLAYTAG_CALLING_PARTY_NAME,
+ VAL_DISPLAYTAG_CALLED_PARTY_NAME,
+ VAL_DISPLAYTAG_ORIGINAL_CALLED_NAME,
+ VAL_DISPLAYTAG_REDIRECTING_NAME,
+ VAL_DISPLAYTAG_CONNECTED_NAME,
+ VAL_DISPLAYTAG_ORIGINATING_RESTRICTIONS,
+ VAL_DISPLAYTAG_DATE_TIME_OF_DAY,
+ VAL_DISPLAYTAG_CALL_APPEARANCE_ID,
+ VAL_DISPLAYTAG_FEATURE_ADDRESS,
+ VAL_DISPLAYTAG_REDIRECTION_NAME,
+ VAL_DISPLAYTAG_REDIRECTION_NUMBER,
+ VAL_DISPLAYTAG_REDIRECTING_NUMBER,
+ VAL_DISPLAYTAG_ORIGINAL_CALLED_NUMBER,
+ VAL_DISPLAYTAG_CONNECTED_NUMBER,
+ VAL_DISPLAYTAG_TEXT = 0x9E
+ } ValDisplayTagT;
+
+ typedef PACKED_PREFIX struct
+ {
+ ValDisplayTagT DisplayTag;
+ kal_uint8 DisplayLen;
+ kal_uint8 Chari[VAL_MAX_DISPLAY_SIZE + 1];
+ } PACKED_POSTFIX ValExtendedDisplayRec;
+
+#define VAL_NUM_EXTENDED_DISPLAY_REC CP_MAX_EXTENDED_DISPLAY_REC
+
+#if 0
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+ #else
+ typedef PACKED_PREFIX struct
+ {
+ kal_uint8 ExtDisplayInd;
+ kal_uint8 DisplayType;
+ kal_uint8 NumDispRec;
+ ValExtendedDisplayRec ExtendedDisplayRec[VAL_NUM_EXTENDED_DISPLAY_REC];
+ } PACKED_POSTFIX ValExtendedDisplayT;
+ #endif
+ typedef PACKED_PREFIX struct
+ {
+ kal_bool RcvdRedirectingNumber;
+ ValRedirectingNumberT RedirectingNumber;
+ kal_bool RcvdRedirectingSubaddress;
+ ValSubaddressT RedirectingSubaddress;
+ kal_bool RcvdMeterPulses;
+ ValMeterPulsesT MeterPulses;
+ kal_bool RcvdParametricAlerting;
+ ValParametricAlertingT ParametricAlerting;
+ kal_bool RcvdLineControl;
+ ValLineControlT LineControl;
+ kal_bool RcvdExtendedDisplay;
+ ValExtendedDisplayT ExtendedDisplay;
+ PswServiceOptionT SO;
+ } PACKED_POSTFIX ValNwkRptAddInfoT;
+
+ typedef PACKED_PREFIX struct
+ {
+ kal_bool isBasicInfoValid; /* to indicate BasicInfo valid or not */
+ ValNwkRptBasicInfoT NwkRptBasicInfo;
+
+ kal_bool isAddInfoValid; /* to indicate AddInfo valid or not */
+ ValNwkRptAddInfoT NwkRptAddInfo;
+ } PACKED_POSTFIX ValNwkRptInfoMsgT;
+
+ /* VAL_NWK_RPT_ALERT_MSG */
+ typedef ValNwkRptInfoMsgT ValNwkRptAlertMsgT;
+
+ /* VAL_NWK_RPT_FEATURE_NOTIFICATION_MSG */
+ typedef ValNwkRptInfoMsgT ValNwkRptFeatureNotificationMsgT;
+
+ /* VAL_NWK_RPT_FLASH_MSG */
+ typedef ValNwkRptInfoMsgT ValNwkRptFlashMsgT;
+
+
+ /* VAL_NWK_RPT_BURST_DTMF_MSG */
+ typedef PACKED_PREFIX struct
+ {
+ kal_uint8 DtmfOnLength;
+ kal_uint8 DtmfOffLength;
+ kal_uint8 NumOfDigits;
+ kal_uint8 Digits[1];
+ } PACKED_POSTFIX ValNwkRptBurstDtmfMsgT;
+
+ /* VAL_NWK_RPT_CP_EVENT_MSG */
+ typedef enum
+ {
+ VAL_EV_DISCONNECT = 1,
+ VAL_EV_PAGE_RECEIVED,
+ VAL_EV_STOPALERT,
+ VAL_EV_ABBR_ALERT,
+ VAL_EV_NOSVC,
+ VAL_EV_CDMA_INSVC,
+ VAL_EV_CPENABLED,
+ VAL_EV_CPDISABLED,
+ VAL_EV_PDOWNACK,
+ VAL_EV_CONNANALOG,
+ VAL_EV_CONNDIGITAL,
+ VAL_EV_ASSIGNED,
+ VAL_EV_ORIG_FAIL,
+ VAL_EV_NDSS_ORIG_CANCEL,
+ VAL_EV_INTERCEPT,
+ VAL_EV_REORDER,
+ VAL_EV_CC_RELEASE,
+ VAL_EV_CC_RELEASE_SO_REJ,
+ VAL_EV_FNM_RELEASE,
+ VAL_EV_DIALING_COMPLETE,
+ VAL_EV_DIALING_CONTINUE,
+ VAL_EV_MAINTENANCE,
+ VAL_EV_VP_ON,
+ VAL_EV_VP_OFF,
+ VAL_EV_PSIST_FAIL,
+ VAL_EV_TC_RELEASE_MS,
+ VAL_EV_TC_RELEASE_PDOWN,
+ VAL_EV_TC_RELEASE_DISABLE,
+ VAL_EV_TC_RELEASE_BS,
+ VAL_EV_TC_RELEASE_SO_REJECT,
+ VAL_EV_TC_RELEASE_TIMEOUT,
+ VAL_EV_TC_RELEASE_ACK_FAIL,
+ VAL_EV_TC_RELEASE_FADE,
+ VAL_EV_TC_RELEASE_LOCK,
+ VAL_EV_PAGE_FAIL,
+ VAL_EV_RETRY_TIMER_ACTIVE,
+ VAL_EV_RETRY_TIMER_INACTIVE,
+ VAL_EV_AMPS_INSVC,
+ VAL_EV_ORIG_REJECTED,
+ VAL_EV_ORIG_REJECTED_SO_NOT_SUPPORTED,
+ VAL_EV_BUSY_ORIG_FAIL,
+ VAL_EV_ACCT_ORIG_FAIL,
+
+ VAL_EV_PKT_ACTIVE = 50,
+ VAL_EV_PKT_RELEASED,
+ VAL_EV_PKT_DORMANT,
+
+ VAL_EV_ORIG_USER_CANCEL = 60,
+ VAL_EV_ORIG_ACCESS_FAIL,
+ VAL_EV_ORIG_NO_SVC_FAIL,
+ VAL_EV_ORIG_RETRY_ORDER,
+ VAL_EV_SR_ENABLED,
+ VAL_EV_SR_DISABLED,
+ VAL_EV_ORIG_REQ_RECEIVED,
+ VAL_EV_REG_SUCCESS,
+ VAL_EV_ORIG_BLOCKED_BY_IRAT,
+
+ VAL_EV_FLASHFAIL = 80,
+ VAL_EV_ANALOG_PAGE_RECEIVED,
+ VAL_EV_AMPS_IDLE,
+ VAL_EV_ABBR_INTERCEPT,
+ VAL_EV_ABBR_REORDER,
+ VAL_EV_CONNCOMPLETE,
+ VAL_EV_ENTER_OOSA,
+ VAL_EV_MSID_UPDATED,
+ VAL_EV_POWERUP_NV_READ_COMPLETE,
+ VAL_EV_LOCKED_ORIG_FAIL,
+ VAL_EV_TC_RELEASE_MT_CALL,
+#ifdef MTK_CBP
+ VAL_EV_SMS_CANCEL_BY_PWRDOWN,
+#endif
+#ifdef MTK_DEV_C2K_IRAT
+ VAL_EV_PSW_CARD_COMPLETE,
+#endif
+#ifdef MTK_CBP
+ VAL_EV_PRL_LIST_ID_UPDATE,
+#endif
+#if defined (__MCIF_SUPPORT__) && defined (__CO_ANTENNA__)
+ VAL_EV_1X_SLOTTED,
+ VAL_EV_1X_NOT_SLOTTED,
+#endif
+ VAL_EV_ACCESS_MAX_PROBE_FAIL,
+ VAL_RPT_CP_EVENT_INVALID
+ } ValRptCpEventT;
+
+
+//don't modify following macro, brew has referred to it
+#ifdef MTK_CBP
+#define VAL_PSW_MAX_CALLING_PARTY_NUMBER_SIZE 50
+#else
+#define VAL_PSW_MAX_CALLING_PARTY_NUMBER_SIZE 32
+#endif
+/***************************************************************************
+
+ EVENT NAME: VAL_PSW_EVT_CALL_DIALING_MSG
+ DESCRIPTION:
+ Sent when the call is dialing
+ (For example, when AIW sends a ATD13505372343 command to originate a call, UI also should display
+ "dialing 13505372343". We uses VAL_PSW_EVT_CALL_DIALING_MSG to inform UI this status.)
+ MESSAGE TYPE:
+ ValPswCallDialingMsgT
+
+****************************************************************************/
+typedef PACKED_PREFIX struct
+{
+ PswRequestModeT RequestMode; /* requested call type */
+ PswServiceOptionT ServiceOption; /* requested service option */
+ kal_bool Encoded;
+ kal_bool DigitMode; /* digit encoding indicator */
+ kal_uint8 NumDigits; /* number of digits to be dialled */
+ kal_uint8 Digits[VAL_PSW_MAX_CALLING_PARTY_NUMBER_SIZE + 1];
+ /* of ascii digits, null terminated string */
+} PACKED_POSTFIX ValPswCallDialingMsgT;
+
+ typedef PACKED_PREFIX struct
+ {
+ ValRptCpEventT Msg;
+ kal_bool soIncluded;
+ PswServiceOptionT SO;
+ ValPswCallDialingMsgT dialData; /* Valid only for Event VAL_EV_DIALING_COMPLETE */
+ } PACKED_POSTFIX ValRptCpEventMsgT;
+
+ /* VAL_NWK_RPT_CP_RESPONSE_MSG */
+ typedef PACKED_PREFIX struct
+ {
+ kal_uint8 Response;
+ kal_uint8 Request;
+ } PACKED_POSTFIX ValNwkRptCpResponseMsgT;
+
+ /* VAL_NWK_RPT_CP_STATUS_MSG */
+ typedef enum
+ {
+ VAL_CP_DISABLED, /* CP Disabled */
+ VAL_CP_SYS_DETERMINATION, /* System Determination (6.6.1.1) */
+ VAL_CP_PILOT_ACQUISITION, /* Pilot Channel Acquisition (6.6.1.2) */
+ VAL_CP_SYNC_ACQUISITION, /* Sync Channel Acquisition (6.6.1.3) */
+ VAL_CP_TIMING_CHANGE, /* Timing Change (6.6.1.4) */
+ VAL_CP_CDMA_IDLE, /* Idle (6.6.2) */
+ VAL_CP_UPDATE_OHD_INFO, /* Update Overhead Information (6.6.3.2) */
+ VAL_CP_PAGE_RESPONSE, /* Page Response (6.6.3.3) */
+ VAL_CP_ORD_MSG_RESP, /* Order/Message Response (6.6.3.4) */
+ VAL_CP_ORIGINATION, /* Origination Attempt (6.6.3.5) */
+ VAL_CP_REGISTRATION, /* Registration Attempt (6.6.3.6) */
+ VAL_CP_MSG_TRANSMISSION, /* Message Transmission (6.6.3.7) */
+ VAL_CP_TC_INIT, /* Traffic Channel Initialization (6.6.4.2) */
+ VAL_CP_TC_WAIT_ORDER, /* TC Waiting for Order (6.6.4.3.1) */
+ VAL_CP_TC_WAIT_ANSWER, /* TC Waiting for MS Answer (6.6.4.3.2) */
+ VAL_CP_TC_CONVERSATION, /* TC Conversation (6.6.4.4) */
+ VAL_CP_TC_RELEASE, /* TC Release (6.6.4.5) */
+
+ VAL_CP_NUM_STATES, /* Number of Call Processing States */
+ VAL_CP_STATE_INVALID /* Used by PSW for exception handling */
+ } ValCPStateT;
+
+//don't modify following Enum, brew has referred to it
+typedef enum
+{
+ VAL_PSW_IN_SERVICE,
+ VAL_PSW_NO_SERVICE,
+ VAL_PSW_OOSA,
+#ifdef MTK_CBP
+ VAL_PSW_LIMITED_SERVICE,
+#endif
+ VAL_PSW_INVALID_SERVICE_STATUS
+} ValPswServiceStatusT;
+
+ typedef PACKED_PREFIX struct
+ {
+ ValPswServiceStatusT Service_status; /* Status of PS's service */
+ ValCPStateT State; /* Call Processing State */
+ ValCPStateT PrevState; /* Previous Call Processing State */
+ kal_uint8 Roam; /* ROAM Status */
+ kal_uint16 Band; /* Current Operating Band */
+ kal_uint16 Channel; /* Current Channel Number */
+ kal_uint8 Block; /* current CDMA block (if CDMA system) */
+ kal_uint8 ServingSystem; /* Serving System/Block */
+ kal_uint16 Sid; /* Last-Received System ID (sid) */
+ kal_uint16 Nid; /* Current Location Area ID (nid) */
+ kal_uint16 PilotPn; /* PILOT_PN */
+ kal_uint8 pRevInUse; /* CDMA Protocol Revision that MS uses */
+ kal_uint16 RegZone; /* Current Reg Zone Info */
+ } PACKED_POSTFIX ValRptCpStatusMsgT;
+
+ /* VAL_NWK_RPT_DATA_BURST_MSG */
+ typedef PACKED_PREFIX struct
+ {
+ kal_uint8 MsgNumber;
+ kal_uint8 BurstType;
+ kal_uint8 NumMsgs;
+ kal_uint8 NumFields;
+ kal_uint8 Data[1];
+ } PACKED_POSTFIX ValNwkRptDataBurstMsgT;
+
+ /* VAL_NWK_RPT_HANDOFF_MSG */
+ typedef enum
+ {
+ VAL_IDLE_SAME_SYSTEM = 1,
+ VAL_IDLE_NEW_SYSTEM,
+ VAL_SOFT,
+ VAL_HARD,
+ VAL_TC_TO_AVC
+ } ValHandoffTypeT;
+
+ typedef PACKED_PREFIX struct
+ {
+ kal_bool DisjointActiveSet;
+ kal_bool FrameOffsetChange;
+ kal_bool ChannelChange;
+ kal_bool LongCodeChange;
+ kal_bool ServCfgChange;
+ } PACKED_POSTFIX ValHandoffTCReportT;
+
+ typedef PACKED_PREFIX struct
+ {
+ ValHandoffTypeT Type;
+ ValHandoffTCReportT Report;
+ } PACKED_POSTFIX ValNwkRptHandoffMsgT;
+
+ /* VAL_NWK_RPT_REGISTRATION_ACCEPT_MSG */
+ typedef PACKED_PREFIX struct
+ {
+ kal_bool RoamIndPresent;
+ kal_uint8 RoamInd;
+ } PACKED_POSTFIX ValNwkRptRegistrationAcceptMsgT;
+
+ /* VAL_NWK_RPT_SERVICE_CONFIG_MSG */
+ typedef enum
+ {
+ VAL_MUX_OPTION1 = 1,
+ VAL_MUX_OPTION2,
+ VAL_MUX_OPTION3,
+ VAL_MUX_OPTION4,
+ VAL_MUX_OPTION5,
+ VAL_MUX_OPTION6,
+ VAL_MUX_OPTION7,
+ VAL_MUX_OPTION8,
+ VAL_MUX_OPTION9,
+ VAL_MUX_OPTION10,
+ VAL_MUX_OPTION11,
+ VAL_MUX_OPTION12,
+ VAL_MUX_OPTION13,
+ VAL_MUX_OPTION14,
+ VAL_MUX_OPTION15,
+ VAL_MUX_OPTION16
+ } ValMultiplexOptionT;
+
+ //don't modify following Enum, brew has referred to it
+ typedef enum
+ {
+ VAL_SERVICE_OPTION_2 = 2, /* Loopback */
+ VAL_SERVICE_OPTION_3, /* Voice */
+ VAL_SERVICE_OPTION_4, /* Async Data Rate Set I */
+ VAL_SERVICE_OPTION_5, /* Asunc Fax Rate Set I */
+ VAL_SERVICE_OPTION_6, /* SMS */
+ VAL_SERVICE_OPTION_7, /* Packet Data */
+ VAL_SERVICE_OPTION_8, /* Packet Data */
+ VAL_SERVICE_OPTION_9, /* Loopback */
+ VAL_SERVICE_OPTION_10, /* Unknown */
+ VAL_SERVICE_OPTION_11, /* Unknown */
+ VAL_SERVICE_OPTION_12, /* Async Data Rate Set II */
+ VAL_SERVICE_OPTION_13, /* Asunc Fax Rate Set II */
+ VAL_SERVICE_OPTION_14, /* SMS */
+ VAL_SERVICE_OPTION_15, /* Packet Data */
+ VAL_SERVICE_OPTION_16, /* Packet Data */
+ VAL_SERVICE_OPTION_17, /* Voice */
+ VAL_SERVICE_OPTION_18, /* OTASP */
+ VAL_SERVICE_OPTION_19, /* OTASP */
+ VAL_SERVICE_OPTION_20, /* Unknown */
+ VAL_SERVICE_OPTION_21, /* Unknown */
+ VAL_SERVICE_OPTION_22, /* Packet Data */
+ VAL_SERVICE_OPTION_23, /* Packet Data */
+ VAL_SERVICE_OPTION_24, /* Packet Data */
+ VAL_SERVICE_OPTION_25, /* Packet Data */
+ VAL_SERVICE_OPTION_26, /* Packet Data */
+ VAL_SERVICE_OPTION_27, /* Packet Data */
+ VAL_SERVICE_OPTION_28, /* Packet Data */
+ VAL_SERVICE_OPTION_29 /* Packet Data */
+ } ValServiceOptionT;
+
+ typedef enum
+ {
+ VAL_NO_TRAFFIC = 0,
+ VAL_PRIMARY_TRAFFIC,
+ VAL_SECONDARY_TRAFFIC
+ } ValTrafficTypeT;
+
+ typedef PACKED_PREFIX struct
+ {
+ kal_uint8 ConRef;
+ kal_uint16 ServiceOption;
+ ValTrafficTypeT ForTraffic;
+ ValTrafficTypeT RevTraffic;
+ } PACKED_POSTFIX ValConnectionRecordT;
+
+#define VAL_MAX_CON_REC 10 /* not defined in the isotel spec */
+ typedef PACKED_PREFIX struct
+ {
+ ValMultiplexOptionT ForMuxOption;
+ ValMultiplexOptionT RevMuxOption;
+ kal_uint8 ForRates;
+ kal_uint8 RevRates;
+ kal_uint8 NumConRec;
+ ValConnectionRecordT ConRec[VAL_MAX_CON_REC];
+ } PACKED_POSTFIX ValRptSvcConfigMsgT;
+
+ typedef PACKED_PREFIX struct
+ {
+ SysCdmaBandT BandClassInd;
+ kal_uint8 BandBlockInd;
+ kal_uint16 Sid;
+ kal_uint16 Nid;
+ kal_uint8 NetworkType;
+ kal_uint8 ProtRev;
+ } PACKED_POSTFIX ValNwkRptServiceReadyMsgT;
+
+ /* VAL_NWK_RPT_SYSTEM_TIME_MSG */
+#define VAL_SYSTEM_TIME_LEN SYS_SYSTIME_SIZE /* from sysdefs.h */
+ typedef PACKED_PREFIX struct
+ {
+ kal_uint8 SysTime[VAL_SYSTEM_TIME_LEN];
+ kal_uint8 LpSec;
+ kal_int8 LtmOff;
+ kal_uint8 DayLt;
+ kal_bool Valid;
+ } PACKED_POSTFIX ValNwkRptSystemTimeMsgT;
+
+ typedef PACKED_PREFIX struct
+ {
+ ValRptCpEventT AbortReason;
+ PswServiceOptionT SO;
+ } PACKED_POSTFIX ValOrigFinishedMsgT;
+
+ /* VAL_NWK_RPT_PKT_STATE_MSG */
+ typedef enum
+ {
+ PKT_NULL,
+ PKT_ORIGINATED, /* Origination confirmation */
+ PKT_CONNECTED, /* RLP link established */
+ PKT_DORMANT
+ } ValPktStateT;
+
+ typedef struct
+ {
+ ValPktStateT state;
+ } ValNwkRptPktStateMsgT;
+
+ /* VAL_NWK_RPT_PKT_DORM_TMR_MSG */
+ typedef struct
+ {
+ kal_uint8 dormTime; /* unit of 0.1 sec */
+ } ValNwkRptPktDormTmrMsgT;
+
+ /* VAL_PRL_INFO_MSG */
+ typedef struct
+ {
+ NamNumber namNumber;
+ void *PtrToPrl;
+ kal_uint16 prlId;
+ kal_uint16 eri_version_number;
+ } ValPrlInfoMsgT;
+ /* VAL_NWK_RPT_PKT_STATE_MSG */
+ typedef enum
+ {
+ VAL_SYS_1XRTT,
+ VAL_SYS_EVDO
+ } ValSysTypeT;
+
+ /* Set MobileID message */
+typedef PACKED_PREFIX struct
+{
+ ExeRspMsgT RspInfo; /* Response routing information */
+ kal_uint32 SPC;
+ kal_uint64 securitycode;
+ kal_uint8 Id;
+#if defined (__TC10__) && defined (__TC10_IPC_CDMA_SUPPORT__)
+ PswDefineRcT defineRc;
+#endif
+ kal_uint64 value;
+} PACKED_POSTFIX ValSetMobileIDMsgT;
+
+typedef PACKED_PREFIX struct
+{
+ kal_bool Result;
+ kal_uint8 ResponseCode;
+} PACKED_POSTFIX ValSetMobileIDResponseMsgT;
+
+#ifdef MTK_CBP
+/* verify SPC message */
+typedef struct
+{
+ kal_uint32 SPC; /* SPC value to veirify */
+ kal_bool reset; /* reset retry count or not */
+} ValVerifySPCMsgT;
+
+typedef struct
+{
+ kal_bool Result;
+ kal_uint8 ResponseCode;
+} ValVerifySPCResponseMsgT;
+#endif
+
+ /* VAL_PSW_E911_MODE_MSG */
+ typedef PACKED_PREFIX struct
+ {
+ kal_bool mode;
+ } PACKED_POSTFIX ValEmergencyModeMsgT;
+
+#ifdef MTK_CBP
+typedef enum
+{
+ VAL_ROAM_STATUS_HOME = 0,
+ VAL_ROAM_STATUS_INTERNATIONAL_ROAM, /* used if carrier defines certain ERI for international roam */
+ VAL_ROAM_STATUS_GENERIC_OR_DOMESTIC_ROAM, /* used whenever international ERI array is empty or when roaming on non international (i.e. domestic) system */
+ VAL_ROAM_STATUS_UNKOWN = 255
+} ValRoamTypeT;
+
+typedef enum
+{
+ VAL_SYS_NOT_IN_PRL = 0,
+ VAL_SYS_IN_PRL,
+ VAL_SYS_IN_PRL_UNKNOWN = 255
+} ValSysInPrlStatusT;
+
+ /* VAL_CSS_PRL_IND_MSG */
+ typedef PACKED_PREFIX struct
+ {
+ ValSysTypeT sys;
+ kal_bool inPrl;
+} PACKED_POSTFIX ValCssPrlIndMsgT;
+
+typedef enum
+{
+ VAL_POWER_UP_STAGE = 0,
+ VAL_NETWORK_FOUND_STAGE
+}ValNwkSrvStageT;
+#endif
+
+ /* VAL_ROAM_INDICATION_MSG */
+ typedef PACKED_PREFIX struct
+ {
+ kal_uint8 RoamInd;
+ ValSysTypeT sys;
+#ifdef MTK_CBP
+ ValRoamTypeT regRoamStatus;
+#endif
+ kal_uint8 defaultRoamInd;
+ kal_uint16 eri_version_number;
+ kal_bool valid_eri_entry;
+ kal_uint8 icon_image_id;
+ kal_uint8 icon_mode;
+ kal_uint8 call_prompt_id;
+ kal_uint8 alert_call_counter_id;
+ kal_uint8 char_encoding_type;
+ kal_uint8 text_length;
+ kal_uint8 text[MAX_ERI_TEXT_LENGTH];
+} PACKED_POSTFIX ValRoamIndicationMsgT;
+
+typedef PACKED_PREFIX struct
+{
+ ExeRspMsgT RspInfo; /* Response routing information */
+} PACKED_POSTFIX ValEriVersionNumberMsgT;
+typedef PACKED_PREFIX struct
+{
+ kal_uint16 eri_version_number;
+} PACKED_POSTFIX ValEriVersionNumberRspMsgT;
+
+
+ /* VAL_RPT_CQA_MSG */
+ typedef PACKED_PREFIX struct
+ {
+ kal_bool Alarm;
+ } PACKED_POSTFIX ValReportCQAMsgT;
+
+#ifdef KDDI_EXTENSIONS
+ /* VAL_EXTENDED_DATA_BURST_RX_IND_MSG */
+ typedef PACKED_PREFIX struct
+ {
+ kal_uint16 MCC;
+ kal_uint8 DB_Subtype;
+ kal_uint8 Chg_Ind;
+ kal_uint8 Subunit;
+ kal_uint8 Unit;
+ } PACKED_POSTFIX ValExtendedBurstRxIndMsgT;
+#endif
+
+typedef PACKED_PREFIX struct
+{
+ kal_uint16 serviceOption;
+} PACKED_POSTFIX ValRptServiceOptionMsgT;
+
+typedef PACKED_PREFIX struct
+{
+ DsPreArangT PreArrMode;
+} PACKED_POSTFIX ValRptDataPrearrangeMsgT;
+
+typedef PACKED_PREFIX struct
+{
+ kal_uint16 mcc;
+ kal_uint8 imsi_11_12;
+#ifdef MTK_CBP
+ kal_uint16 aiMcc;
+#endif
+} PACKED_POSTFIX ValNetworkInfo;
+
+#ifdef MTK_CBP
+typedef PACKED_PREFIX struct
+{
+ kal_bool existence;
+} PACKED_POSTFIX ValNwkExistenceInfoMsg;
+
+typedef PACKED_PREFIX struct
+{
+ kal_bool inCallState;
+ kal_uint16 serviceOption;
+} PACKED_POSTFIX ValPswRptServiceOptionMsgT;
+#endif
+
+#ifdef MTK_CBP_ENCRYPT_VOICE
+typedef enum
+{
+ ENCRYPT_SUCCESS = 0,
+ ENCRYPT_FAIL,
+ ENCRYPT_TIMEOUT,
+ ENCRYPT_UNKOWN = 255
+} EncryptRspTypeT;
+
+typedef PACKED_PREFIX struct
+{
+ kal_bool result;
+ EncryptRspTypeT reason;
+} PACKED_POSTFIX ValEncryptVoiceRspMsgT;
+#endif
+
+ /*-----------------------------------------------------------------
+ * SMSHandler
+ *----------------------------------------------------------------*/
+ /* these constants are redefined here to avoid recompiling PSW for VAL
+ they all have relevant constants defined in pswsmstune.h */
+ #define VAL_SMS_MAX_ADDRESS_CHARS 32 /* SMS_MAX_ADDRESS_CHARS */
+ #define VAL_SMS_MAX_USERDATA_LENGTH 220/* SMS_MAX_USERDATA_LENGTH */
+ #define VAL_SMS_MAX_SUBADDRESS_CHARS 30 /* SMS_MAX_SUBADDRESS_CHARS */
+ #define VAL_SMS_MAX_NUM_SERVICE_CATEGORIES 10 /* SMS_MAX_NUM_SERVICE_CATEGORIES */
+ #define VAL_SMS_MAX_CHAR_CATEGORY 20 /* SMS_MAX_CHAR_CATEGORY */
+
+/* common to a couple of messages */
+typedef PACKED_PREFIX struct
+{
+ kal_uint8 ErrorClass;
+ kal_uint8 CauseCode;
+} PACKED_POSTFIX ValSmsCauseCodeT;
+
+/* VAL_SMS_CAUSE_CODE_STATUS_MSG */
+typedef PACKED_PREFIX struct
+{
+ kal_uint16 SeqNum; /* The PSW-VAL SeqNum id used in msg assembly */
+ kal_uint8 SmsType; /* 0 = MO and 1 = MT, so can tell which SeqNum */
+ ValSmsCauseCodeT Error; /* Error condition (if any) of last SMS message */
+} PACKED_POSTFIX ValSmsCauseCodeStatusMsgT;
+
+ /* VAL_SMS_DELIVER_IND_DATA_MSG */
+typedef PACKED_PREFIX struct
+{
+ kal_uint16 SeqNum;
+ kal_uint8 MsgType;
+ kal_uint8 NumMsgs;
+ kal_uint8 MsgEncoding;
+ kal_uint8 NumFields; /* Length of data in octets */
+ kal_uint8 Char[ VAL_SMS_MAX_USERDATA_LENGTH ]; /* User Data field of message */
+} PACKED_POSTFIX ValSmsUserDataMsgT;
+
+ /* VAL_SMS_RX_IND_MSG */
+#define VAL_MAX_SMS_SIZE 256 /* ??? change this to header + (maxsize -header) */
+typedef PACKED_PREFIX struct
+{
+ kal_bool Broadcast;
+ kal_uint8 MsgData[VAL_MAX_SMS_SIZE];
+ kal_bool DataTruncated; /* KAL_TRUE: if ascii message is longer than VAL_MAX_SMS_SIZE */
+} PACKED_POSTFIX ValSmsRxIndMsgT;
+
+/* VAL_SMS_TX_RSP_MSG */
+typedef PACKED_PREFIX struct
+{
+ kal_bool TxStatus;
+} PACKED_POSTFIX ValSmsTxRspMsgT;
+
+/* VAL_SMS_TST_CONNECT_MSG */
+typedef PACKED_PREFIX struct
+{
+ kal_uint16 TeleSrvId;
+} PACKED_POSTFIX ValSmsTstConnectMsgT;
+
+/* VAL_SMS_TST_BCAST_CONNECT_MSG */
+/* VAL_SMS_TST_BCAST_PREF_MSG */
+typedef PACKED_PREFIX struct
+{
+ kal_uint32 SvcMask;
+ kal_uint32 LangMask;
+ kal_uint8 Priority;
+} PACKED_POSTFIX ValSmsTstBCastParmsMsgT;
+
+/* VAL_SMS_TST_CANCEL_MSG */
+typedef PACKED_PREFIX struct
+{
+ kal_uint16 TeleSrvId;
+ kal_uint16 MsgId;
+ kal_bool SendSmsCancelDb;
+} PACKED_POSTFIX ValSmsTstCancelMsgT;
+
+/* VAL_SMS_TST_DISCONNECT_MSG */
+typedef PACKED_PREFIX struct
+{
+ kal_uint16 TeleSrvId;
+} PACKED_POSTFIX ValSmsTstDisconnectMsgT;
+
+/* VAL_SMS_TST_PREF_SRV_OPT_MSG */
+typedef PACKED_PREFIX struct
+{
+ kal_uint32 SrvOpt;
+} PACKED_POSTFIX ValSmsTstPrefSrvOptMsgT;
+
+/* VAL_SMS_TST_SUBMIT_MSG - ETS: Create a mobile originated (user submitted) */
+/* SMS message */
+typedef PACKED_PREFIX struct
+{
+ kal_uint16 TeleSrvId;
+ kal_bool SendOnTraffic;
+ kal_uint16 MsgId;
+ kal_bool DigitMode;
+ kal_bool NumberMode;
+ kal_uint8 NumberType;
+ kal_uint8 DestNumDigits;
+ char DestDigits[VAL_SMS_MAX_ADDRESS_CHARS];
+ kal_uint8 CallbackNumDigits;
+ kal_uint8 CallbackDigits[VAL_SMS_MAX_ADDRESS_CHARS];
+ kal_uint8 DefaultMsgs;
+ kal_uint8 UserDefinedMsgEncoding;
+ kal_uint8 UserDefinedMsgOctets[VAL_SMS_MAX_USERDATA_LENGTH];
+ kal_bool UserAck;
+ kal_bool DeliveryAck;
+ kal_uint8 Validity;
+ kal_uint8 Validity_Year;
+ kal_uint8 Validity_Month;
+ kal_uint8 Validity_Day;
+ kal_uint8 Validity_Hours;
+ kal_uint8 Validity_Minutes;
+ kal_uint8 Validity_Seconds;
+ kal_uint8 Relative_Validity;
+ kal_uint8 Delivery;
+ kal_uint8 Delivery_Year;
+ kal_uint8 Delivery_Month;
+ kal_uint8 Delivery_Day;
+ kal_uint8 Delivery_Hours;
+ kal_uint8 Delivery_Minutes;
+ kal_uint8 Delivery_Seconds;
+ kal_uint8 Relative_Delivery;
+ kal_uint8 Priority;
+ kal_uint8 Privacy;
+ kal_uint8 AlertonDelivery;
+ kal_uint8 Language;
+ kal_uint16 ServCategory;
+} PACKED_POSTFIX ValSmsTstSubmitMsgT;
+
+/* VAL_SMS_TST_TERM_STATUS_MSG */
+typedef PACKED_PREFIX struct
+{
+ kal_uint8 Status;
+} PACKED_POSTFIX ValSmsTstTermStatusMsgT;
+
+/* VAL_SMS_TST_USER_ACK_MSG */
+typedef PACKED_PREFIX struct
+{
+ kal_uint16 TeleSrvId;
+ kal_uint8 MsgEncoding;
+ kal_uint8 NumFields;
+ kal_uint8 Char[VAL_SMS_MAX_USERDATA_LENGTH];
+} PACKED_POSTFIX ValSmsTstUserAckMsgT;
+
+/* VAL_SMS_TST_RETX_AMOUNT_MSG */
+typedef PACKED_PREFIX struct
+{
+ kal_uint8 NumTempRetries; /* Max # of retries if BS returns errorCode = Temporary */
+ kal_uint8 NumPermRetries; /* Max # of retries if BS returns errorCode = Permanent */
+ kal_uint8 NumTimeoutRetries;/* Max # of retries if no BS SMS Ack received and timeoutoccurs */
+} PACKED_POSTFIX ValSmsTstRetxAmountMsgT;
+
+/* -> ??? associated to what message in pswsms.c */
+typedef PACKED_PREFIX struct
+{
+ kal_bool DigitMode;
+ kal_bool NumberMode;
+ kal_uint8 NumberType;
+ kal_uint8 NumberPlan;
+ kal_uint8 NumFields;
+ kal_uint8 Char[ VAL_SMS_MAX_ADDRESS_CHARS ];
+} PACKED_POSTFIX ValSmsMCAddrT;
+
+typedef PACKED_PREFIX struct
+{
+ kal_uint8 Type;
+ kal_bool Odd;
+ kal_uint8 NumFields;
+ kal_uint8 Char[ VAL_SMS_MAX_SUBADDRESS_CHARS ];
+} PACKED_POSTFIX ValSmsMCSubaddrT;
+
+typedef PACKED_PREFIX struct
+{
+ kal_uint8 replySeq;
+} PACKED_POSTFIX ValSmsBearerReplyOptionT;
+
+typedef PACKED_PREFIX struct
+{
+ kal_uint8 Year;
+ kal_uint8 Month;
+ kal_uint8 Day;
+ kal_uint8 Hours;
+ kal_uint8 Minutes;
+ kal_uint8 Seconds;
+} PACKED_POSTFIX ValSmsAbsTimeT;
+
+typedef PACKED_PREFIX struct
+{
+ kal_uint8 dispmode;
+ kal_uint8 reserved;
+} PACKED_POSTFIX VAL_SMS_DISPMODE; /* ??? change to conformant typedef */
+
+ typedef enum
+ {
+ VAL_CAT_UNKNOWN,
+ VAL_CAT_EMERGENCIES,
+ VAL_CAT_ADMINISTRATIVE,
+ VAL_CAT_MAINTENANCE,
+ VAL_CAT_GEN_NEWS_LOCAL,
+ VAL_CAT_GEN_NEWS_REGIONAL,
+ VAL_CAT_GEN_NEWS_NATIONAL,
+ VAL_CAT_GEN_NEWS_INTERNATIONAL,
+ VAL_CAT_FINANCE_NEWS_LOCAL,
+ VAL_CAT_FINANCE_NEWS_REGIONAL,
+ VAL_CAT_FINANCE_NEWS_NATIONAL,
+ VAL_CAT_FINANCE_NEWS_INTERNATIONAL,
+ VAL_CAT_SPORTS_NEWS_LOCAL,
+ VAL_CAT_SPORTS_NEWS_REGIONAL,
+ VAL_CAT_SPORTS_NEWS_NATIONAL,
+ VAL_CAT_SPORTS_NEWS_INTERNATIONAL,
+ VAL_CAT_ENTERTAINMENT_NEWS_LOCAL,
+ VAL_CAT_ENTERTAINMENT_NEWS_REGIONAL,
+ VAL_CAT_ENTERTAINMENT_NEWS_NATIONAL,
+ VAL_CAT_ENTERTAINMENT_NEWS_INTERNATIONAL,
+ VAL_CAT_LOCAL_WEATHER,
+ VAL_CAT_TRAFFIC,
+ VAL_CAT_FLIGHT_SCHEDULE,
+ VAL_CAT_RESTAURANTS,
+ VAL_CAT_LODGINGS,
+ VAL_CAT_RETAIL_DIRECTORY,
+ VAL_CAT_ADVERTISEMENT,
+ VAL_CAT_STOCK_QUOTES,
+ VAL_CAT_EMPLOYMENT_OPPORTUNITIES,
+ VAL_CAT_MEDICAL_HEALTH,
+ VAL_CAT_TECH_NEWS,
+ VAL_CAT_MULTI_CATEGORY,
+
+ VAL_CAT_CMAS_PRESIDENT_ALERT = 0X1000, /* 3GPP2 C.R1001-G SPEC */
+ VAL_CAT_CMAS_EXTREME_THREAT_TO_LIFE,
+ VAL_CAT_CMAS_SEVERE_THREAT_TO_LIFE,
+ VAL_CAT_CMAS_CHILD_ABDUCTION_EMERGNY,
+ VAL_CAT_CMAS_TEST_MESSAGE,
+ VAL_CAT_CMAS_RESERVED_MAX =0X10FF
+ } VAL_SMS_SERVICE_CAT; /* ??? change to conformant typedef */
+
+ typedef PACKED_PREFIX struct
+ {
+ kal_uint8 OperationCode;
+ kal_uint16 SrvCat;
+ kal_uint8 Lang;
+ kal_uint8 MaxMsg;
+ kal_uint8 Alert;
+ kal_uint8 NumChar;
+ kal_uint8 Char[ VAL_SMS_MAX_CHAR_CATEGORY ];
+ } PACKED_POSTFIX VAL_SRV_CAT_RECORD;
+
+ typedef PACKED_PREFIX struct
+ {
+ kal_uint8 msgEncoding;
+ kal_uint8 numCat;
+ VAL_SRV_CAT_RECORD cat[VAL_SMS_MAX_NUM_SERVICE_CATEGORIES];
+ } PACKED_POSTFIX VAL_SRV_CAT_DATA;
+#ifdef KDDI_EXTENSIONS
+typedef PACKED_PREFIX struct
+{
+ kal_uint32 msgIpAddr;
+ kal_uint8 CtlFlag;
+} PACKED_POSTFIX ValSmsIpAddrT;
+#endif
+
+typedef PACKED_PREFIX struct
+{
+ kal_uint8 ErrorClass;
+ kal_uint8 MsgStatusCode;
+} PACKED_POSTFIX VAL_MSG_STATUS;
+
+#ifdef MTK_CBP_ENCRYPT_VOICE
+typedef struct
+{
+ kal_uint8 msgType;
+ kal_uint8 subMsgType;
+ kal_uint8 mode;
+ kal_bool SignatureVerifyResult;
+ kal_bool DecryptResult;
+ kal_bool RandomVerifyResult;
+ kal_bool IsKmcVerCrt;
+ kal_uint8 callLen;
+ kal_uint8 callNum[30];
+ kal_uint8 timeStmp[7];
+ kal_uint8 cause;
+ kal_bool msgCheckResult;
+} ValCryptSmsInfoT;
+#endif
+
+
+ typedef PACKED_PREFIX struct
+ {
+ kal_uint16 SeqNum;
+ kal_uint16 TeleSrvId;
+ kal_uint8 NumUserDataMsgs;
+ kal_uint16 MsgId;
+ kal_uint8 Type;
+ kal_bool HeaderInd;
+ kal_bool UserAckPres;
+ kal_bool UserAck;
+ ValSmsMCAddrT Addr;
+ kal_bool SubaddrPres;
+ ValSmsMCSubaddrT Subaddr;
+ ValSmsBearerReplyOptionT BearerReplyOption;
+ kal_bool CatPres;
+ VAL_SMS_SERVICE_CAT Cat;
+ kal_bool UsrRspCodePres;
+ kal_uint8 UsrRspCode;
+ kal_bool TimeStampPres;
+ ValSmsAbsTimeT TimeStamp;
+ kal_bool ValTimeAbsPres;
+ ValSmsAbsTimeT ValTimeAbs;
+ kal_bool ValTimeRelPres;
+ kal_uint8 ValTimeRel;
+ kal_bool DelTimeAbsPres;
+ ValSmsAbsTimeT DelTimeAbs;
+ kal_bool DelTimeRelPres;
+ kal_uint8 DelTimeRel;
+ kal_bool PriPres;
+ kal_uint8 Pri;
+ kal_bool PrvPres;
+ kal_uint8 Prv;
+ kal_bool ReplyOptionPres;
+ kal_bool UserAckReq;
+ kal_bool DakReq;
+ kal_bool ReadAckReq;
+ kal_bool NumMsgPres;
+ kal_uint8 NumMsg;
+ kal_bool AlertPres;
+ kal_uint8 Alert;
+ kal_bool LangPres;
+ kal_uint8 Lang;
+ kal_bool CallbackPres;
+ ValSmsMCAddrT Callback;
+ kal_bool DispModePres;
+ VAL_SMS_DISPMODE DispMode;
+ kal_bool MsgDepIndexPres;
+ kal_uint16 MsgDepIndex;
+ kal_bool srvCatDataPres;
+ VAL_SRV_CAT_DATA srvCatData;
+ kal_bool msgStatusPres;
+ VAL_MSG_STATUS msgStatus;
+ kal_bool transport_ack_reqd;
+#ifdef MTK_CBP_ENCRYPT_VOICE
+ kal_bool cryptSmsInfoPres;
+ ValCryptSmsInfoT cryptSmsInfo;
+#endif
+
+#ifdef KDDI_EXTENSIONS
+ kal_bool msgIpAddrPres;
+ ValSmsIpAddrT msgIpAddress;
+ kal_bool NotifyFlagPres;
+ kal_uint8 NotifyFlag;
+ kal_bool UimIdPres;
+ kal_uint32 UimId;
+#endif
+ } PACKED_POSTFIX ValSmsDeliverIndMsgT;
+
+ /* ??? associated to what sms message */
+typedef PACKED_PREFIX struct
+{
+ kal_uint16 TeleSrvId;
+ kal_uint16 SeqNum;
+ ValSmsCauseCodeT Error;
+} PACKED_POSTFIX ValSmsErrorMsgT;
+
+typedef PACKED_PREFIX struct
+{
+ kal_uint8 SeqNum;
+} PACKED_POSTFIX ValSmsAckL2AckedMsgT;
+
+typedef PACKED_PREFIX struct
+{
+ kal_uint8 MsgEncoding; /* TSB58A defined representation of Char fields */
+ kal_uint8 NumFields; /* the number of Chars present (in the array below) */
+ kal_uint8 AsciiText[225]; /* the decoded user data text */
+} PACKED_POSTFIX ValSmsTstDecDataMsgT;
+
+ /*-----------------------------------------------------------------
+ * RLP Handler
+ *----------------------------------------------------------------*/
+typedef PACKED_PREFIX struct
+{
+ kal_uint32 FwdRateByte;
+ kal_uint32 RevRateByte;
+} PACKED_POSTFIX ValRlpDataRateMsgT;
+ /*-----------------------------------------------------------------
+ * HWD Handler
+ *----------------------------------------------------------------*/
+/* VAL_HWD_BATTERY_READ_DATA_MSG */
+typedef PACKED_PREFIX struct
+{
+ kal_uint16 AuxAdcValue;
+ kal_uint16 BatterVoltage; /* in mV */
+} PACKED_POSTFIX ValBatteryReadDataMsgT;
+
+/* VAL_HWD_TEMPERATURE_READ_DATA_MSG */
+typedef PACKED_PREFIX struct
+{
+ kal_uint16 AuxAdcValue;
+ kal_int8 TempCelcius; /* in C */
+} PACKED_POSTFIX ValTempInfoDataMsgT;
+
+/* VAL_HWD_RX_TX_POWER_INFO_DATA_MSG */
+typedef PACKED_PREFIX struct
+{
+ ExeRspMsgT RspInfo; /* Response routing information */
+ kal_int16 RxPowerDbmQ6;
+ kal_int16 DivRxPowerDbmQ6;
+ kal_int16 TxPowerDbmQ6;
+ kal_uint16 RxGainState;
+ kal_uint16 DivRxGainState;
+ kal_uint16 TxGainState;
+ kal_uint16 TxAgcPdmRep;
+ kal_int16 TxClosedLoopAdjQ6;
+ kal_int16 RxGainIntegral;
+ kal_int16 RxGainCoarse;
+ kal_int16 RxGainFine;
+ kal_int16 RxGainPdmQ3;
+ kal_int16 TxConstPowerOffsetQ6;
+ kal_int16 AvgActiveEcIoQ6;
+ kal_int16 TxAnt;
+} PACKED_POSTFIX ValRxTxPwrInfoMsgT;
+
+/* VAL_PSW_PILOT_PWR_RPT_MSG */
+typedef PACKED_PREFIX struct
+{
+ ExeRspMsgT RspInfo; /* Response routing information */
+ kal_int16 AvgActiveEcIoQ6;
+} PACKED_POSTFIX ValPswPilotPwrRptMsgT;
+
+/* VAL_CSS_CP_PWR_CTRL_MSG */
+typedef PACKED_PREFIX struct
+{
+ kal_bool PowerUp;
+ OperationModeT OpMode;
+} PACKED_POSTFIX ValCssCpPwrCtrlMsgT;
+
+/*-----------------------------------------------------------------
+* VMEMO Handler
+*----------------------------------------------------------------*/
+/* common to data messages for VMEM and VREC */
+typedef PACKED_PREFIX struct
+{
+ kal_uint8 Rate; /* Rate of speech */
+ kal_uint8 SpchData[1]; /* Speech data (size derived from rate) */
+} PACKED_POSTFIX ValVmemDataMsgT;
+
+/* VAL_VMEM_DATA_OFFLINE_MSG */
+typedef ValVmemDataMsgT ValVmemDataOfflineMsgT;
+
+/* VAL_VMEM_DATA_ONLINE_MSG */
+typedef ValVmemDataMsgT ValVmemDataOnlineMsgT;
+
+/* VAL_VREC_MIXED_DATA_MSG */
+typedef ValVmemDataMsgT ValVrecMixedDataMsgT;
+
+/* VAL_VREC_PCM_DATA_MSG */
+typedef PACKED_PREFIX struct
+{
+ kal_uint16 SpchData[160]; /* Speech data (size is fixed at 160) */
+} PACKED_POSTFIX ValVrecPcmDataMsgT;
+
+
+/* VAL_L1DTST_GETPHONESTATUS; rspmsg data structure defined by L1D */
+//typedef ExeRspMsgT ValL1DTstGetPhoneStatusMsgT;
+
+
+/* VAL_L1D_RSSI_RPT_MSG */
+typedef PACKED_PREFIX struct
+{
+ kal_int16 Rssi;
+} PACKED_POSTFIX ValL1dRssiRptMsgT;
+
+typedef enum
+{
+ VAL_RTC_DATA_TIME,
+ VAL_RTC_DATA_DATE /*gqdeng add get rtc data type for time or date information*/
+} ValRtcCurDataT;
+
+ /*-----------------------------------------------------------------
+ * HRPD Handler
+ *----------------------------------------------------------------*/
+#if defined (__TC10__) && defined (__TC10_IPC_CDMA_SUPPORT__)
+typedef enum
+{
+ VAL_HRPD_REV_0,
+ VAL_HRPD_REV_A,
+ VAL_EHPRD_REV_A,
+ VAL_DO_SESS_REV_INVALID = 0xFF
+} ValDoSessionRevE;
+#endif
+
+typedef PACKED_PREFIX struct
+{
+ kal_uint8 SessionOpened; /* 0: session closed, 1-session opened on rev0, 2:session opened on revA */
+ kal_bool IsEhrpd;
+} PACKED_POSTFIX ValHrpdSessionStatusMsgT;
+
+typedef PACKED_PREFIX struct
+{
+ kal_uint8 Success; /* 0: fail, 1-success*/
+} PACKED_POSTFIX ValHrpdA12AuthStatusMsgT;
+
+typedef PACKED_PREFIX struct
+{
+ kal_bool InService;
+#if defined (__TC10__) && defined (__TC10_IPC_CDMA_SUPPORT__)
+ ValDoSessionRevE SessRev; /* 0: HRPD rev.0, 1: HRPD rev.A, 2: ERHRPD rev.A */
+#endif
+} PACKED_POSTFIX ValHrpdSvcStatusMsgT;
+
+typedef PACKED_PREFIX struct
+{
+ kal_bool acqd;
+ kal_uint16 Band; /* Current Operating Band */
+ kal_uint16 Channel; /* Current Channel Number */
+ kal_uint8 SysType;
+ kal_uint8 _ATRevisionNum;
+ kal_uint16 PilotPn; /* PILOT_PN */
+
+} PACKED_POSTFIX ValHrpdNtwkAcqdMsgT;
+
+typedef PACKED_PREFIX struct
+{
+kal_uint16 Ref_Sid;
+kal_uint16 Ref_Nid;
+kal_uint16 Ref_BaseID;
+
+} PACKED_POSTFIX ValCellIDInforT;
+typedef PACKED_PREFIX struct
+{
+kal_uint16 Ref_Sid_Update;
+kal_uint16 Ref_Nid_Update;
+kal_uint16 Ref_BaseID_Update;
+kal_int32 Ref_Lat_Update;
+kal_int32 Ref_Lon_Update;
+} PACKED_POSTFIX ValCellIDInforUpdateT;
+typedef PACKED_PREFIX struct
+{
+ kal_bool PowerUp; /* KAL_TRUE power up, KAL_FALSE power down */
+} PACKED_POSTFIX ValPswPowerMsgT;
+
+typedef PACKED_PREFIX struct
+{
+ kal_uint32 prefMode; /* 4: DETERMINE_MODE_AUTOMATICALLY; 7: CDMA_ONLY; 8: HDR_ONLY */
+} PACKED_POSTFIX ValDoParmSetSucMsgT;
+
+#if defined (__TC10__) && defined (__TC10_IPC_CDMA_SUPPORT__)
+typedef PACKED_PREFIX struct
+{
+ PswTestModeT Mode; /* Test mode */
+ kal_uint16 Enabled; /* Mode Qualifier, typically equivalent to ON/OFF */
+ kal_uint16 Value; /* Mode value*/
+} PACKED_POSTFIX PswEngineTestModeGetCnfMsgT;
+
+typedef PACKED_PREFIX struct
+{
+ kal_bool defineRcForAllSo;
+ kal_uint8 forRc;
+ kal_uint8 revRc;
+} PACKED_POSTFIX ValPswGetServiceConfigCnfMsgT;
+#endif
+
+typedef PACKED_PREFIX struct
+{
+ PswRequestModeT RequestMode; /* requested call type */
+ PswCallModeT CallMode; /* call type (e.g. emergency, OTASP, WPS ...) */
+ PswServiceOptionT ServiceOption; /* requested service option */
+ kal_bool Encoded;
+ kal_bool DigitMode; /* digit encoding indicator */
+ PswNumberTypeT NumberType; /* type of number */
+ PswNumberPlanT NumberPlan; /* numbering plan */
+ kal_uint8 NumDigits; /* number of digits to be dialled */
+ kal_uint8 OtaspMode; /* target band or system for OTASP Orig */
+ kal_uint8 Digits[CP_MAX_CALLING_PARTY_NUMBER_SIZE +1];/* ascii digits, null terminated string */
+ PswCallingPartyNumberT CPNInfo; /* Calling Party Number Info */
+ PswServiceT ServiceType; /* service types. */
+ kal_bool MultipleCallingPartyNum; /* MS has > 1 calling party num */
+ kal_bool SendCallingPartySubaddr; /* subaddress included? */
+ PswSubaddressT CallingPartySubaddr;
+ kal_bool SendCalledPartySubaddr; /* subaddress included? */
+ PswSubaddressT CalledPartySubaddr;
+ kal_uint16 pktDataIncTimer; /* in seconds*/
+ NspeAppT pktDataAppType;
+} PACKED_POSTFIX ValPswCallInitiateMsgT;
+
+#ifdef MTK_DEV_C2K_IRAT
+/* _RPT_CP_EVENT_MSG */
+typedef enum
+{
+ RSVAS_VAL_EVENT_RECV_SUSPEND,
+ RSVAS_VAL_EVENT_RECV_RESUME,
+ RSVAS_VAL_EVENT_INVALID
+} ValRsvasEventT;
+
+typedef PACKED_PREFIX struct
+{
+ ValRsvasEventT event; /* event of C2K RSVAS received */
+} PACKED_POSTFIX ValRptC2kRsvasEventMsgT;
+
+typedef PACKED_PREFIX struct
+{
+ uim_access_option_enum CardAccessOption;
+} PACKED_POSTFIX ValPswC2kSimIndexMsgT;
+#endif
+
+ #endif /* PSWVALAPI_H *//**Log information: \main\vtui2_5x\1 2008-12-03 05:15:45 GMT gdeng
+** HREF#3454**/
+/**Log information: \main\vtui2_5x\2 2008-12-08 07:10:59 GMT gdeng
+** HREF#34554**/
+/**Log information: \main\vtui2_5x\vtui2_5x_gdeng_href4745\1 2009-01-10 05:53:58 GMT gdeng
+** HREF#4745**/
+/**Log information: \main\vtui2_5x\3 2009-01-10 09:00:07 GMT cshen
+** merge from branch vtui2_5x_gdenghref4745**/
+/**Log information: \main\helios_dev\helios_dev_gdeng_href6379\1 2009-04-13 10:42:05 GMT gdeng
+** HREF#6379**/
+/**Log information: \main\helios_dev\3 2009-04-14 04:45:26 GMT cshen
+** merge from branch helios_dev_gdeng_href6379**/
+/**Log information: \main\helios_dev\helios_dev_jyin_href6535\1 2009-04-18 11:02:37 GMT jyin
+** HREF#6535**/
+/**Log information: \main\helios_dev\4 2009-04-18 11:10:18 GMT jyin
+** HREF#6535**/
+/**Log information: \main\helios_dev\helios_dev_zlin_href6743\1 2009-05-07 02:07:14 GMT zlin
+** HREF#6743. LCD wakeup and audio play conflict issue.**/
+/**Log information: \main\helios_dev\5 2009-05-07 02:10:14 GMT zlin
+** Merge zlin href6743.**/
+/**Log information: \main\helios_dev\helios_dev_gdeng_href6987\1 2009-05-19 07:20:21 GMT gdeng
+** HREF#6987**/
+/**Log information: \main\helios_dev\6 2009-05-19 09:18:41 GMT cshen
+** merge from helios_dev_gdeng_href6987**/
+/**Log information: \main\helios_dev\helios_dev_hbi_href7897\1 2009-08-03 09:14:32 GMT hbi
+** HREF#7897:Merge Wendy cbp57_wavis_scbp4873 to fix audio issue when Vmemo stop **/
+/**Log information: \main\helios_dev\7 2009-08-03 09:31:14 GMT ygwu
+** HREF#7897**/
+/**Log information: \main\helios_dev\helios_dev_gdeng_href8638\1 2009-10-12 08:02:30 GMT gdeng
+** HREF#8638**/
+/**Log information: \main\helios_dev\8 2009-10-12 08:44:15 GMT cshen
+** merge from helios_dev_gdeng_href8638**/
+/**Log information: \main\CBP7FeaturePhone\5 2010-09-07 08:50:05 GMT cshen
+** merge from CBP7FeaturePhone_hjin_href14109**/
+/**Log information: \main\CBP7FeaturePhone\CBP7FeaturePhone_gdeng_href14724\1 2010-09-21 09:30:57 GMT gdeng
+** HREF#14724**/
+/**Log information: \main\CBP7FeaturePhone\6 2010-09-21 09:42:31 GMT cshen
+** merge from cbp7featurephone_gdeng_href14724
+|**/
+/**Log information: \main\CBP7FeaturePhone\CBP7FeaturePhone_wzhou_href15015\1 2010-10-14 02:53:22 GMT wzhou
+** FIX CR 15015 **/
+/**Log information: \main\CBP7FeaturePhone\7 2010-10-18 03:14:26 GMT jzwang
+** href15015**/
+/**Log information: \main\CBP7FeaturePhone\CBP7FeaturePhone_yxma_href15574\1 2010-11-11 05:33:40 GMT yxma
+** href15574\ ,add VAL_EV_ORIG_USER_CANCEL_WITH_SO**/
+/**Log information: \main\CBP7FeaturePhone\8 2010-11-11 06:00:21 GMT cshen
+** merge from CBP7FeaturePhone_yxma_href15574**/
+/**Log information: \main\CBP7FeaturePhone\CBP7FeaturePhone_nicholaszhao_href17384\1 2011-07-04 08:06:39 GMT nicholaszhao
+** HREF#17384**/
+/**Log information: \main\CBP7FeaturePhone\9 2011-07-12 09:40:18 GMT marszhang
+** HREF#17384**/
+/**Log information: \main\CBP80\cbp80_cshen_scbp10098\1 2012-07-26 06:28:12 GMT cshen
+** cbp80_cshen_scbp10098**/
+/**Log information: \main\Trophy\Trophy_wzhou_href22163\1 2013-04-25 03:05:50 GMT wzhou
+** HREF#22163: add A12 auth status message in VAL**/
+/**Log information: \main\Trophy\1 2013-04-25 03:06:27 GMT jzwang
+** href#22163**/
+/**Log information: \main\Trophy\Trophy_zjiang_href22291\1 2013-10-28 02:51:20 GMT zjiang
+** HREF#22291.fix crts21779.ºÅÂ볤¶ÈÓÉ15µ÷ÕûΪ32.**/
+/**Log information: \main\Trophy\3 2013-10-28 02:52:57 GMT cshen
+** href#22291**/
+/**Log information: \main\Trophy\Trophy_zjiang_href22291_fix1\1 2013-10-28 06:47:54 GMT zjiang
+** HREF#22291.fix HREF#22291.**/
+/**Log information: \main\Trophy\4 2013-10-28 06:55:19 GMT cshen
+** href#22291**/
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/register.h b/mcu/interface/protocol/as_c2k/1xrtt/register.h
new file mode 100644
index 0000000..98d3506
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/register.h
@@ -0,0 +1,306 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Module: register.h
+ *
+ * Purpose: Definitions and Prototypes for registration procedures.
+ *
+ ****************************************************************************
+ *
+ * PVCS Header Information
+ *
+ * $Workfile$
+ * $Revision: 1.3 $
+ * $Modtime$
+ * $Author: hans $
+ *
+ * $Log: register.h $
+ *
+ * 06 08 2020 tina.ma
+ * [MOLY00514816] ??(Bugs) 2883828??19165?????????????19165????CMCC??+CT?IMS+1x????5G?? ???????
+ *
+ * .
+ *
+ * 04 24 2020 tina.ma
+ * [MOLY00516295] [DH30_VZW][GFIT][CA 1355] TC 5.2.16 Device does not register on VZW 1X until MO call is made when returning from Canada only coverage to mixed coverage.
+ *
+ * .
+ *
+ * 01 19 2020 tina.ma
+ * [MOLY00475246] ?CDMA???????????6F2D???????CDMA?REG_ENABLE=KAL_FALSE????????????????????????
+ *
+ * .
+ *
+ * 07 09 2019 tina.ma
+ * [MOLY00418383] [Rose][Merlot][Q0][BSP+]The call was auto end when you make a call.(once)
+ *
+ * power down registration
+ *
+ * 08 29 2017 tina.ma
+ * [MOLY00274341] [Merge from MP5.TC10]when exit flight mode, if camp on the same cell, report MCC search response eraly
+ *
+ * merge code from MP5.TC10
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ *
+ * 07 05 2017 tina.ma
+ * [MOLY00261277] [MT6763][C2K][MP1][CNOP][Regression]MTC fail after hot swap sim card
+ *
+ * [MOLY00261009] [JADE][P170519-04144 ]After Poweroff, CTC didn't sent power off registration
+ *
+ * .
+ *
+ * 02 21 2017 tina.ma
+ * [MOLY00230424] [Gen93]Stucking to problematic CDMA where strong GSM signal exists
+ *
+ * .
+ *
+ * 01 05 2017 sue.zhong
+ * [MOLY00218409] [6293][C2K]Sync C2K code to UMOLYA TRUNK from C2K CBr (W1701)
+ * merge c2k source
+ *
+ * 12 15 2016 sue.zhong
+ * [MOLY00217270] [6293][C2K]Sync C2K code to UMOLYA TRUNK from C2K CBr (W51)
+ * c2k source
+ *
+ * 12 01 2016 sue.zhong
+ * [MOLY00213777] [6293][C2K]Sync C2K code to UMOLYA TRUNK(W1648)
+ * Update C2K source
+ *
+ * 11 09 2016 sue.zhong
+ * [MOLY00208435] [6293][C2K]Sync C2K code to UMOLYA TRUNK
+ * Update C2K PS code (1/2)
+ * Revision 1.3 2004/09/28 16:49:29 hans
+ * Changes from CBP6.0 merged.
+ * Revision 1.2 2004/03/25 12:09:42 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.2 2003/08/28 11:20:00 bcolford
+ * Update for merge.
+ * Revision 1.6 2003/08/22 16:34:30 mclee
+ * Fix CR2554 to properly decrement reg zone timers
+ * Revision 1.5 2002/10/24 13:46:19 akayvan
+ * Per CRs 1429/1470 added declaration for the function: cpGetTimerRegEnableStatus().
+ * Revision 1.4 2002/06/06 13:14:32 chinh
+ * Changed and Added Copyright
+ * Revision 1.3 2002/02/06 11:45:40 mclee
+ * Add prototype regAddNamSidNidToList()
+ * Revision 1.2 2001/11/20 12:33:10 mclee
+ * Remove ZoneList, SidNidList structures and add regSetTMRegEnabled prototype.
+ * Revision 1.1 2001/01/17 10:59:19 plabarbe
+ * Initial revision
+ * Revision 1.3 2000/12/05 17:45:31 byang
+ * Idle mode - IS2000A Addendum modifications.
+ * Revision 1.2 2000/11/13 14:27:20 byang
+ * IS-2000A Idle Mode and LAC integration - Initial Release.
+ * Revision 1.1 2000/10/24 21:11:26Z fpeng
+ * Initial revision
+ * Revision 1.3 2000/08/23 22:10:21Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes.
+ * Revision 1.2 2000/03/01 18:15:48Z rsattari
+ * Isotel release 2.3 updates.
+ * Revision 1.13 2000/01/21 22:07:25 gfrye
+ * Added parmChangeRegistration to invoke parameter change registration
+ * when one of the key NAM parameters changes.
+ *
+ * Revision 1.12 1999/08/31 00:17:05 gfrye
+ * Added regDelayAfterFail to inhibit further registration attempts after a failure.
+ *
+ * Revision 1.11 1999/08/18 23:09:41 gfrye
+ * Added regSetInProgress function to allow other functions to reset the
+ * _regInProgress flag.
+ *
+ * Revision 1.10 1999/02/25 19:40:00 mhayduk
+ * Added new type for roaming status to indicate a value has not
+ * been set yet.
+ *
+ * Revision 1.9 1999/02/23 00:24:17 mhayduk
+ * Renamed Zone and SidNid list element from pcsBlock to block
+ * so it is more generic.
+ *
+ * Revision 1.8 1998/11/26 23:13:55 mhayduk
+ * Removed SystemInfo status reporting.
+ *
+ * Revision 1.7 1998/09/22 18:44:57 tdaly
+ * Added IS-95 analog mode support.
+ *
+ * Revision 1.6 1998/06/08 21:48:25 scotvold
+ * Updated for Release 0.06.
+ *
+ * Revision 1.5 1998/05/27 17:16:28 scotvold
+ * Updated for Release 0.05.
+ *
+ * Revision 1.4 1998/05/01 18:13:54 scotvold
+ * Update for release 0.04
+ *
+ * Revision 1.3 1998/03/30 23:26:03 mhayduk
+ * Release 0.03.
+ *
+ * Revision 1.1 1997/11/06 17:49:24 mhayduk
+ * Initial revision
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+#ifndef _REGISTER_H_
+
+ #define _REGISTER_H_ 1
+
+/*****************************************************************************
+ * Includes
+ ****************************************************************************/
+#include "pch_msg.h"
+#include "Msg_defn.h"
+#include "pswapi.h"
+
+/*****************************************************************************
+ * Definitions
+ ****************************************************************************/
+
+ /* registration types - Table 6.7.1.3.2.1-1 */
+ #define CP_REG_TIMER_BASED 0
+ #define CP_REG_POWER_UP 1
+ #define CP_REG_ZONE_BASED 2
+ #define CP_REG_POWER_DOWN 3
+ #define CP_REG_PARAMETER_CHANGE 4
+ #define CP_REG_ORDERED 5
+ #define CP_REG_DISTANCE_BASE 6
+
+ /* Registration states */
+ typedef enum
+ {
+ CP_REG_INIT,
+ CP_REG_IDLE,
+ CP_REG_ACCESS,
+ CP_REG_TRAFFIC
+ } RegState;
+
+/*****************************************************************************
+ * Prototypes
+ ****************************************************************************/
+ void regReset(void);
+ void regResetCounterEnabled(void);
+ void regSetState(RegState state);
+ void regSetSidNid(kal_uint16 sid,kal_uint16 Nid);
+
+ void regSetMaxSlotCycleIndex(const kal_uint8 maxIndex);
+
+ /* New function to set the BS longitude and latitude */
+ void regSetLongAndLat(const kal_int32 baseLong,const kal_int32 baseLat );
+
+ /* New function to set the Base Station ID */
+ void regSetBaseId( const kal_uint16 baseId );
+
+ /* New function created for ANSI-41 Systerm Parameters Message
+ to update the Regstration Parameter messages */
+ void regSetRegParsWithA41SPM(const BcchA41SPM *pAnsi41SysPars,const kal_bool call);
+
+ void regSetRegParsWithSysParsMsg(PChSystemParameters *sysPars,kal_bool call);
+ void regSetSlotCycleIndex(kal_uint8 index);
+ void regReceivedNewConfig(void);
+ kal_uint8 regGetSlotCycleIndexSaved(void);
+ kal_uint8 regGetSlotCycleIndex(void);
+ kal_bool regGetMobTerm(void);
+ kal_uint16 regGetBaseId(void);
+ kal_bool regPerformPowerDownReg(void);
+ void regSavePowerDownParameters(void);
+ void regInitializeParameters(kal_bool powerUp);
+ kal_bool regStartInitializationTimer(void);
+ void regClearSidNidList(void);
+ void regClearZoneList(void);
+ void regClearAllLists(void);
+
+ void regTCRegistration(MSRegisteredData *msRegisteredData);
+
+ /* Registration Indications */
+ void regInitializationTimerExpired(void);
+ void regSuperFrameInd(void);
+ void regSuccessfulAccess(kal_bool regTypeMessage, kal_uint8 reason);
+ void regUnsuccessfulAccess(void);
+ void regTCRegisteredMessage(void); /* need to accept message here */
+ void regSetInProgress(kal_bool inProgress);
+ void regDelayAfterFail(void);
+ void parmChangeRegistration(kal_bool reqRequired);
+ void regSetTMRegEnabled(kal_bool param);
+ kal_bool regGetTMRegEnabled(void);
+ void regAddNamSidNidToList(SidNidList *entry);
+ kal_bool cpGetTimerRegEnableStatus(void);
+ kal_bool regRegistrationThrottling (void);
+ void regRegistrationThrottlingInit(void);
+ void regRegistrationThrottlingTimeout(void);
+ void regSetRegPaused(kal_bool param);
+ kal_bool regGetRegPaused( void);
+ void PswRegResume(void);
+ kal_bool regGetApRegCtr( void);
+ void regSetApRegCtr(kal_bool param);
+ kal_bool regPowerDownSearch(void);
+ kal_bool cpIsInZoneList(kal_uint16 restoreSid, kal_uint16 restoreNid, kal_uint16 restoreRegzone);
+ void regTriggeredInThrottling(void);
+ kal_bool noZoneListMatch(void);
+ void regRejectedHandle(void);
+ void regSetWaitMccMncValRsp(kal_bool param);
+ kal_bool regGetWaitMccMncValRsp( void);
+ kal_uint16 regGetRegZoneID(void);
+ kal_uint16 regGetSid(void);
+ kal_bool regIsRegisteredIMSI(IMSIType imsi);
+ kal_bool regIsRegisteredUimId(kal_uint32 uimId);
+ void regClearFlag(void);
+ void regResetRejectCount(void);
+#if defined(MTK_DEV_SLT)
+ void sltStartPowerUpRegister (void);
+#endif
+
+#ifdef MTK_DEV_C2K_IRAT
+kal_bool cpIsEnableMobTermMap(void);
+void PswIrat1xRegReqMsg(PswIrat1xRegReqMsgT *MsgP);
+void PswInterRoaming(void);
+
+#endif /* MTK_DEV_C2K_IRAT */
+
+#endif /* _REGISTER_H_ */
+
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/resource_control.h b/mcu/interface/protocol/as_c2k/1xrtt/resource_control.h
new file mode 100644
index 0000000..0b2878f
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/resource_control.h
@@ -0,0 +1,288 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Module: resource_control.h - Resource Control
+ *
+ *
+ * Purpose: Header file containing definitions to support the Resource
+ * Control.
+ *
+ * Resource Control monitor data in MS and control reverse SCH
+ * resources. Whenever the MS data level is above a certain FCH
+ * threshold level RC will request SCH resources from "signal-
+ * ling".
+ *
+ * RC will depending on the MUX options negociated between the
+ * MS and BS request the SCH resources that will give the fast-
+ * est transmission with optimal usage of the allocation.
+ *
+ * RC will also maintain the RC Channel Config DB with current
+ * channel configuration and resources allocated and scheduled.
+ *
+ *
+ ***************************************************************************
+ *
+ * Revision History:
+ *
+ * $Revision: 1.4 $
+ * $Author: blee $
+ *
+ *
+ * $Log: resource_control.h $
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ * Revision 1.4 2005/06/28 16:46:12 blee
+ * Modified SCRM scheme
+ * Revision 1.3 2005/03/18 11:45:24 hans
+ * Merged code changes from CBP4.05 revision 2.02 to CBP4.05 revision 4.21.
+ * Revision 1.2 2004/03/25 12:09:43 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.2 2003/08/28 11:20:01 bcolford
+ * Update for merge.
+ * Revision 1.1 2003/05/12 15:39:02 fpeng
+ * Initial revision
+ * Revision 1.6 2003/05/08 18:25:20 hans
+ * CR2096: Duration Unit field is now being set in MS. Cap. DB.
+ * CR2013: Duration can now be forced to any valid number in MS
+ * Cap. DB. Ox00 will cause it to be calculated dynamically
+ * depending on data.
+ * Revision 1.5 2003/03/14 13:22:11 hans
+ * Duration unit changed from 3 bit enum to a UNIT16 to hold 9bit resolution.
+ * Revision 1.4 2003/02/19 19:20:50 hans
+ * Resource Control now handle RETRY_DELAY timer received in order msg.
+ * SR_ID is send correctly to signalling instead of SCH_ID.
+ * Fine tuning of handling of infinite duration.
+ * Revision 1.3 2002/11/26 19:43:08 hans
+ * Resource control entity initial version for baseline.
+ * Revision 1.2 2002/11/26 11:36:59 hans
+ * Initial revision: Rev SCH Resource Control entity added for HSPD
+ *
+ ***************************************************************************
+ ****************************************************************************/
+
+#ifndef _RESOURCE_CONTROL_MSG_H_
+
+ #define _RESOURCE_CONTROL_MSG_H_ 1
+
+/*****************************************************************************
+ * Includes
+ ****************************************************************************/
+
+#include "systime.h"
+#include "Ds_Signaling.h"
+
+
+/*****************************************************************************
+ * Global identifiers
+ ****************************************************************************/
+
+#define DURATION_UINT_20MS 0
+
+#define RC_INFINITE_REMAIN_DURATION 0xffff
+#define RC_INFINITE_REMAIN_RESOURCES 0xffffffff
+
+
+typedef enum
+{
+ FCH = 0x01,
+ DCCH = 0x02,
+ CONT_PILOT = 0x04,
+ F_SCH0 = 0x08,
+ R_SCH0 = 0x10
+} ChannelMapT;
+
+typedef enum
+{
+ REV_SCH_0MS = 0,
+ REV_SCH_20MS = 1,
+ REV_SCH_40MS = 2,
+ REV_SCH_60MS = 3,
+ REV_SCH_80MS = 4,
+ REV_SCH_100MS = 5,
+ REV_SCH_120MS = 6,
+ REV_SCH_140MS = 7,
+ REV_SCH_160MS = 8,
+ REV_SCH_320MS = 9,
+ REV_SCH_640MS = 10,
+ REV_SCH_1280MS = 11,
+ REV_SCH_1920MS = 12,
+ REV_SCH_2560MS = 13,
+ REV_SCH_5120MS = 14,
+ REV_SCH_INFINITE = 15
+} revSchDurationUnitsT;
+
+typedef enum
+{
+ PREFERRED_RATE_9_6 = 0,
+ PREFERRED_RATE_19_2 = 1,
+ PREFERRED_RATE_38_4 = 2,
+ PREFERRED_RATE_76_8 = 3,
+ PREFERRED_RATE_153_6 = 4,
+ PREFERRED_RATE_307_2 = 5,
+ PREFERRED_RATE_614_4 = 6
+} revSchRateSet1T;
+
+typedef enum
+{
+ PREFERRED_RATE_14_4 = 0,
+ PREFERRED_RATE_28_8 = 1,
+ PREFERRED_RATE_57_6 = 2,
+ PREFERRED_RATE_115_2 = 3,
+ PREFERRED_RATE_230_4 = 4,
+ PREFERRED_RATE_259_2 = 5,
+ PREFERRED_RATE_460_8 = 6,
+ PREFERRED_RATE_518_4 = 7
+} revSchRateSet2T;
+
+typedef enum
+{
+ REV_SCH_ID_1 = 0,
+ REV_SCH_ID_2 = 1
+} RevSchIdT;
+
+typedef enum
+{
+ RC_NULL_STATE = 0,
+ RC_ACTIVE_STATE
+} RcStateT;
+
+typedef enum
+{
+ RC_WAIT_FOR_EVENT = 0,
+ RC_WAIT_FOR_ASSIGNMENT
+} RcSubStateT;
+
+typedef enum
+{
+ RC_BUFFER_STATUS_EVENT = 0,
+ RC_SCH_ASSIGNMENT_EVENT,
+ RC_SCH_DEALLOCATION_EVENT,
+ RC_TIMER_EVENT
+} RcEventT;
+
+typedef struct
+{
+ RcEventT RcEvent;
+ void *DataPtr;
+} RcDataBufferStatusMsgT;
+
+
+typedef enum
+{
+ RC_RSR_ALLOCATE_TYPE = 0,
+ RC_RSR_DEALLOCATE_BTS_TYPE, /* deallocation by BTS (through ESCAM or UHDM) */
+ RC_RSR_DEALLOCATE_NORMAL_TYPE, /* deallocation due to normal end of burst */
+ RC_RSR_DEALLOCATE_EARLY_TYPE, /* deallocation due to early termination (e.g DTX ot T_ADD Abort) */
+ RC_RETRY_DELAY_TYPE
+} RevSchUpdTypeT;
+
+
+typedef struct
+{
+ ChannelMapT Channel; /* Indicator for channel map */
+ kal_uint8 NumRevSch; /* Number of SCH assigned */
+ /* if supporting more than one Sch Id make this a array of struct */
+ RevSchIdT RevSchId; /* Reverse SCH ID */
+ RevSchUpdTypeT RevSchUpdType;
+ revSchDurationUnitsT DurationUnits; /* number of duration units */
+ kal_uint8 Rate; /* Granted Rev SCH rate */
+ WbiosSystime ActionTime; /* Reverse SCH start time */
+ /* RevSchUpdType: RC_RETRY_DELAY_TYPE, retry order delay Type */
+ kal_uint32 RetryDelayOrder;/* Retry Delay Order, in ms */
+ /* and 0 for clear counter */
+} RcSchUpdInfoT;
+
+typedef struct
+{
+ revSchDurationUnitsT remainDurationUnits;
+} RcSchDeallocInfoT;
+
+
+
+typedef struct
+{
+ Ds_ChanBitmapType Channel; /* Indicator for channel map */
+ kal_uint8 NumRevSch; /* Number of SCH assigned */
+ RevSchIdT RevSchId; /* Reverse SCH ID */
+ kal_uint16 Duration; /* number of duration units */
+ kal_uint8 PreferredRate; /* Preferred Rev SCH rate */
+} RcReqMsgT;
+
+typedef struct
+{
+ ChannelMapT Channel; /* Indicator for channel map */
+} RcRelMsgT;
+
+typedef enum
+{
+ RC_PROCESS_TX_REQUEST = 0,
+ RC_PSW_TASK,
+ RC_PSW_DATA_BUFFER_STATUS_MSG,
+ RC_ENG_RELAY_DATA_BUFFER_STATUS,
+ RC_RESOURCE_CONTROL,
+ RC_INVALID_ASSIGNMENT_RECEIVED,
+ RC_INVALID_SUBSTATE,
+ RC_FAILED_TO_REMOVE_ENTRY,
+ RC_INVALID_STATE
+} rcDebugT;
+
+extern const kal_uint16 rev_sch_duration_table[REV_SCH_INFINITE + 1];
+
+/*****************************************************************************
+ * Resource Control function prototypes
+ ****************************************************************************/
+void rcInitialize(void);
+void resourceControl(RcDataBufferStatusMsgT *msgPtr);
+void rcRetryDelayTimerExpired(void);
+void rcRsrAllocUpd(RcSchUpdInfoT *rcAllocInfoPtr);
+void rcRSchRelInd(kal_uint16 remain_duration);
+
+RcStateT getRcState(void);
+kal_bool validateRSCHParams(const Ds_RevSch* pRevSchParams);
+
+#endif /* _RESOURCE_CONTROL_MSG_H_ */
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/scc_prot.h b/mcu/interface/protocol/as_c2k/1xrtt/scc_prot.h
new file mode 100644
index 0000000..142e168
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/scc_prot.h
@@ -0,0 +1,195 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*************************************************************************
+ *
+ * File Name: scc_prot.h
+ * Project: SCC
+ * Original Author: BJC
+ * Creation Date: Jan. 31, 2000
+ *
+ * Description: Service Option Control Order/Message definitions.
+ *
+ * Restrictions:
+ *
+ * Dependencies:
+ *
+ *************************************************************************
+ * This Software is the property of ISOTEL Corporation. Unauthorized
+ * use is prohibited.
+ *
+ * ISOTEL Corporation.
+ * 340, 525 - 28 Street S.E.
+ * Calgary, Alberta, Canada T2A 6W9
+ * Tel: (403)275-0041 Fax: (403)274-3598
+ *
+ *
+ *
+ *
+ *************************************************************************
+ * RCS Information
+ *
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ *
+ ************************************************************************/
+
+#ifndef _SCC_PROT_H
+#define _SCC_PROT_H
+
+/* -------- Data and Packet Service Option Control Field Types ------------ */
+#define SOC_FIELD_TYPE_MASK 0x07
+#define SOC_RATE_CNTL 0x00
+#define SOC_ZREG_CNTL 0x01
+#define SOC_HHO_CNTL 0x02
+#define SOC_DORM_CNTL 0x03
+#define SOC_PKT_CON_CNTL 0x04
+
+#define SOC_PKT_CON_RSP 0x04
+
+/* ------------------ Rate Control Field Definitions ----------------------*/
+#define SOC_RATE_REDUC_POS 5
+#define SOC_RATE_REDUC_MASK 0x07
+#define SOC_RATE_REDUC_MIN 0
+#define SOC_RATE_REDUC_MAX 8
+
+#define SOC_RATE_REDUC_1 0
+#define SOC_RATE_REDUC_3_4 1
+#define SOC_RATE_REDUC_1_2 2
+#define SOC_RATE_REDUC_1_4 3
+#define SOC_RATE_REDUC_0 4
+
+/* -------------- Zone Registration Control Field Definitions ------------- */
+#define SOC_ZREG_POS 5
+#define SOC_ZREG_MASK 0x07
+#define SOC_ZREG_MIN 0
+#define SOC_ZREG_MAX 2
+
+#define SOC_ZREG_DIS_ALL 0
+#define SOC_ZREG_ENA_REGISTRATION 1
+#define SOC_ZREG_ENA_RECONNECTION 2
+
+/* -------- Reconnect After Hard Handoff Control Field Definitions --------- */
+#define SOC_HHO_POS 5
+#define SOC_HHO_MASK 0x07
+#define SOC_HHO_MIN 0
+#define SOC_HHO_MAX 1
+
+#define SOC_HHO_DIS 0
+#define SOC_HHO_ENA 1
+
+/* --------------- Dormant Timer Control Field Definitions ----------------- */
+#define SOC_DORM_POS 5
+#define SOC_DORM_MASK 0x07
+#define SOC_DORM_MIN 0
+#define SOC_DORM_MAX 1
+
+#define SOC_DORM_DIS 0
+#define SOC_DORM_ENA 1
+
+/* --------- Packet Zone Reconnection Control Field Definitions ------------ */
+#define SOC_PKT_CON_POS 5
+#define SOC_PKT_CON_MASK 0x07
+#define SOC_PKT_CON_MIN 0
+#define SOC_PKT_CON_MAX 3
+
+#define SOC_PKT_CON_DIS 0
+#define SOC_PKT_CON_ENA 1
+#define SOC_PKT_CON_CLEAR_LIST 2
+#define SOC_PKT_CON_TRANSFER_LIST 3
+
+#define SOC_PKT_CON_LIST_LEN_MASK 0x0F
+#define SOC_PKT_CON_LIST_LEN_POS 0
+#define SOC_PKT_CON_LIST_LEN_MIN 0
+#define SOC_PKT_CON_LIST_LEN_MAX 15
+
+/* --------- Packet Zone Connection Response Message Fields ---------------- */
+#define SOC_PKT_RSP_POS 5
+#define SOC_PKT_RSP_MASK 0x07
+
+#define SOC_PKT_RSP_HEADER_LEN 2
+#define SOC_PKT_RSP 0
+
+
+/* ----------------- Vocoder Control Field Definitions --------------------- */
+#define SOC_VOCODER_MOB_TO_MOB_BIT BIT1
+#define SOC_VOCODER_INIT_BIT BIT0
+
+typedef PACKED_PREFIX struct
+{
+ kal_uint8 id;
+ kal_bool new;
+ kal_uint32 time;
+} PACKED_POSTFIX PZone;
+
+#endif /* _SCC_PROT_H */
+/**Log information: \main\CBP80\cbp80_gdeng_scbp10322\1 2012-09-14 06:09:34 GMT gdeng
+** SCBP#10322**/
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/sms_data.h b/mcu/interface/protocol/as_c2k/1xrtt/sms_data.h
new file mode 100644
index 0000000..a7fb7a9
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/sms_data.h
@@ -0,0 +1,382 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*************************************************************************
+ *
+ * File Name: sms_data.h
+ * Project: SMS
+ * Original Author: Dan Doucette
+ * Creation Date: Jan 24, 2000
+ *
+ * Description: Definition of all SMS specific types
+ *
+ * Restrictions:
+ *
+ * Dependencies:
+ *
+ *************************************************************************
+ *
+ * This Software is the property of ISOTEL Corporation. Unauthorized
+ * use is prohibited.
+ *
+ * ISOTEL Corporation
+ * 340, 525-28 Street S.E.
+ * Calgary, Alberta, Canada T2A 6W9
+ * Tel: (403)275-0041 Fax: (403)274-3598
+ *
+ *
+ *
+ *
+ *************************************************************************
+ *
+ * RCS Log Information
+ *
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ *
+ ************************************************************************/
+
+#ifndef _SMS_DATA_H
+#define _SMS_DATA_H 1
+
+#include "sysdefs.h"
+#include "sms_prot.h"
+#include "pswsmstune.h"
+
+#define SMS_CAUSE_CODE_MO_ARRAY 0
+#define SMS_CAUSE_CODE_MT_ARRAY 1
+
+/*
+ * SMS Teleservice Id
+ */
+typedef kal_uint16 SMS_TELESERVICE_ID;
+
+/*
+ * SMS_CAUSE_CODE: Type of error (IS-41C defined)
+ */
+typedef struct
+{
+ SMS_ERROR errorClass;
+ SMS_CODE causeCode;
+} SMS_CAUSE_CODE;
+
+
+/*
+ * SMS_MSG_ID: Identifier of a Tele-service message
+ */
+typedef kal_uint16 SMS_MSG_ID;
+
+/*
+ * SMS Address
+ */
+typedef struct
+{
+ kal_bool digitMode;
+ kal_bool numberMode;
+ kal_uint8 numberType;
+ kal_uint8 numberPlan;
+ kal_uint8 numFields;
+ kal_uint8 chari[SMS_MAX_ADDRESS_CHARS]; /* 4 or 8-bit value */
+} SMS_ADDR;
+
+/*
+ * SMS Sub-Address
+ */
+typedef struct
+{
+ kal_uint8 type;
+ kal_bool odd;
+ kal_uint8 numFields;
+ kal_uint8 chari[SMS_MAX_SUBADDRESS_CHARS];
+} SMS_SUBADDR;
+
+/*
+ * SMS Absolute Time
+ */
+typedef struct {
+ kal_uint8 year;
+ kal_uint8 month;
+ kal_uint8 day;
+ kal_uint8 hours;
+ kal_uint8 minutes;
+ kal_uint8 seconds;
+} SMS_ABSTIME;
+
+/*
+ * SMS User Data
+ */
+typedef struct
+{
+ kal_uint8 msgEncoding;
+ kal_uint8 numFields;
+ kal_uint8 chari[SMS_MAX_USERDATA_LENGTH];
+} SMS_MSG;
+
+typedef struct
+{
+ kal_uint8 messageType;
+ kal_uint8 numMsgs;
+ SMS_MSG msgs[SMS_MAX_NUM_DATA_MSGS];
+} SMS_USERDATA;
+
+typedef kal_uint8 SMS_USER_RESP_CODE;
+
+typedef struct
+{
+ kal_bool userAck;
+ kal_bool deliverAck;
+ kal_bool readAck;
+} SMS_REPLY_OPT;
+
+typedef struct
+{
+ kal_uint8 ErrorClass;
+ kal_uint8 MsgStatusCode;
+} SMS_MSG_STATUS;
+
+/* Information to provide to MMI whenever SMS Ack is received. */
+typedef struct
+{
+ kal_uint8 replySeq;
+ kal_uint8 errorClass;
+ kal_uint8 causeCode;
+} SMS_CAUSE_INFO;
+
+typedef enum
+{
+/* ref ValSmsDisplayModeT in valsmsapi.h */
+ SMS_DISP_MODE_IMMEDIATE = 0,
+ SMS_DISP_MODE_DEFAULT,
+ SMS_DISP_MODE_USER_INVOKE,
+ SMS_DISP_MODE_RESERVED,
+ SMS_MAX_DISP_MODE
+} SMS_DISP_MODE;
+
+ typedef struct
+ {
+ SMS_DISP_MODE dispMode;
+ kal_uint8 reserved;
+ }SmsDispModeT;
+
+#ifdef KDDI_EXTENSIONS
+typedef struct
+{
+ kal_uint32 IpAddress;
+ kal_uint8 CtlFlag;
+}SMS_IPADDRESS;
+#endif
+/*
+ * SMS Relative Time
+ */
+typedef kal_uint8 SMS_RELTIME;
+
+/* Same as Message Center Address except NUMBER_MODE is 0 (T1.607). */
+typedef SMS_ADDR SMS_CALLBACK_NUMBER;
+
+/* Message Deposit Index new 637B subparameter */
+typedef kal_uint16 SMS_MSG_DEP_INDEX;
+
+/* Service Category Program Results */
+typedef struct
+{
+ kal_uint16 category;
+ kal_uint8 categoryResult;
+ kal_uint8 language;
+} SMS_CAT;
+typedef struct
+{
+ kal_uint8 numCat;
+ SMS_CAT cat[SMS_MAX_NUM_SERVICE_CATEGORIES];
+}SMS_SRV_CAT_PROG_RESULT;
+
+/* CALLBACK_ARGS - parameters used by callback functions (see CALLBACK_STRUCT */
+/* below */
+/* kmar: ARG handling different for broadcast than regular SMS, so need to */
+/* keep ARG separate from CALLBACK_STRUCT (unless redesign). */
+typedef struct
+{
+ kal_uint16 TeleSrvId;
+ kal_uint32 DeliverMsgId;
+ kal_uint32 ErrorMsgId;
+} SMS_ASE_CALLBACK_ARGS;
+
+#ifdef MTK_CBP_ENCRYPT_VOICE
+typedef struct
+{
+ kal_uint8 msgType;
+ kal_uint8 subMsgType;
+ kal_uint8 mode;
+ kal_bool DecryptResult;
+ kal_bool SignatureVerifyResult;
+ kal_uint8 RandomVerifyResult;
+ kal_bool IsKmcVerCrt;
+ kal_uint8 callLen;
+ kal_uint8 callNum[30];
+ kal_uint8 timeStmp[7];
+ kal_uint8 cause;
+ kal_bool msgCheckResult;
+}SMS_CRYPT_ASE;
+#endif
+
+
+/* SMS Callback functions - functions that will be called when events arrive */
+typedef SMS_CAUSE_CODE (*SMS_ASE_DELIVER_IND) (SMS_ASE_CALLBACK_ARGS *parm,
+ SMS_ADDR *addr, SMS_MSG_ID id, SMS_MSG_TYPE type, kal_bool *headerInd,
+ SMS_SUBADDR *subaddr, SMS_SVC_CAT *cat, SMS_USERDATA *data, SMS_USER_RESP_CODE *code,
+ SMS_ABSTIME *timestamp, SMS_ABSTIME *vpa, SMS_RELTIME *vpr,
+ SMS_ABSTIME *ddta, SMS_RELTIME *ddtr, SMS_PRIORITY *priority,
+ SMS_PRIVACY *prv, SMS_REPLY_OPT *ReplyOpt, kal_uint8 *numMsgs,
+ SMS_ALERT *alert,SMS_LANG *lang, SMS_CALLBACK_NUMBER *cbNumber,
+ SmsDispModeT *mode,
+ kal_uint16 *msgDepIndex, SMS_SRV_CAT_DATA *srvCatData,
+ SMS_MSG_STATUS *status,
+#ifdef KDDI_EXTENSIONS
+ SMS_IPADDRESS* msgIpAddr, kal_uint8* NotifyFlag, kal_uint32* UimId,
+#endif
+ kal_uint8* replySeq,
+ kal_uint16 SeqNum
+#ifdef MTK_CBP_ENCRYPT_VOICE
+ ,SMS_CRYPT_ASE* smsCryptAse
+#endif
+ );
+
+typedef void (*SMS_ASE_ERROR)(void *parm, kal_uint16 seqNum, SMS_CAUSE_CODE error);
+
+
+/* CALLBACK_STRUCT - the functions to call for events */
+typedef struct
+{
+ SMS_ASE_DELIVER_IND deliver;
+ SMS_ASE_ERROR err;
+} SMS_ASE_CALLBACK_STRUCT;
+
+/* Application Service Element */
+typedef struct
+{
+ SMS_TELESERVICE_ID teleserviceId;
+ kal_uint16 seqNum;
+ SMS_ASE_CALLBACK_STRUCT cb;
+ SMS_ASE_CALLBACK_ARGS cbargs;
+ SMS_ADDR addr;
+ SMS_SUBADDR subAddr;
+ kal_bool busy;
+} SMS_ASE;
+
+/* Error Values */
+#define SMS_ASE_BAD_MSG_PARM 0
+#define SMS_ASE_BAD_MSG_TYPE 1
+#define SMS_ASE_PARAMETER_LENGTH_MISMATCH 2
+#define SMS_TL_DATA_TOO_LARGE 3
+#define SMS_TL_PARAMETER_LENGTH_MISMATCH 4
+#define SMS_ASE_USER_DATA_TOO_LARGE 5
+#define SMS_ASE_CAT_DATA_TOO_LARGE 6
+#define SMS_ASE_MSG_ENCODING_NOT_RECOGNIZED 7
+#define SMS_ASE_ME_MSG_ENCODING_NOT_RECOGNIZED 8
+
+#ifdef MTK_CBP
+typedef struct
+{
+ kal_uint8 RetryPeriod;
+ kal_uint8 RetryInterval;
+ kal_bool SendOnAcc;
+ kal_uint8 PrefSO;
+}PswSmsCapT;
+#endif
+
+#endif /* _SMS_DATA_H */
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/sms_prot.h b/mcu/interface/protocol/as_c2k/1xrtt/sms_prot.h
new file mode 100644
index 0000000..123705f
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/sms_prot.h
@@ -0,0 +1,502 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*************************************************************************
+ *
+ * File Name: sms_prot.h
+ * Project: SMS
+ * Original Author: Dan Doucette
+ * Creation Date: Feb 2, 2000
+ *
+ * Description: Definition of SMS protocol specific constants
+ * and parameter types
+ *
+ * Restrictions:
+ *
+ * Dependencies:
+ *
+ *************************************************************************
+ *
+ * This Software is the property of ISOTEL Corporation. Unauthorized
+ * use is prohibited.
+ *
+ * ISOTEL Corporation
+ * 340, 525-28 Street S.E.
+ * Calgary, Alberta, Canada T2A 6W9
+ * Tel: (403)275-0041 Fax: (403)274-3598
+ *
+ *
+ *
+ *
+ *************************************************************************
+ *
+ * RCS Log Information
+ *
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ *
+ ************************************************************************/
+
+#ifndef _SMS_PROT_H
+#define _SMS_PROT_H 1
+
+#include "pswsmstune.h"
+
+/*
+ * SMS Teleservice Message Types
+ */
+enum teleservice_msg
+{
+ SMS_RSVD,
+ SMS_DELIVER,
+ SMS_SUBMIT,
+ SMS_CANCEL,
+ SMS_DELIVER_ACK,
+ SMS_USER_ACK,
+ SMS_READ_ACK
+};
+typedef kal_uint8 SMS_MSG_TYPE;
+
+/*
+ * SMS Transport Layer Message Types
+ */
+enum transport_msg
+{
+ SMS_PTP,
+ SMS_BROADCAST,
+ SMS_ACK
+};
+typedef enum transport_msg SMS_TL_MSG_TYPE;
+
+/*
+ * SMS Error Values
+ */
+enum sms_errors
+{
+ SMS_ERROR_NO_ERROR,
+ SMS_ERROR_RSVD,
+ SMS_ERROR_TEMP,
+ SMS_ERROR_PERM
+};
+typedef enum sms_errors SMS_ERROR;
+
+/*
+ * SMS Alert Values
+ */
+enum alert
+{
+ SMS_MOBILE_DEFAULT,
+ SMS_LOW_PRIORITY,
+ SMS_MEDIUM_PRIORITY,
+ SMS_HIGH_PRIORITY
+};
+typedef enum alert SMS_ALERT;
+
+/*
+ * SMS Priority Values
+ */
+enum priority
+{
+ SMS_NORMAL,
+ SMS_INTERACTIVE,
+ SMS_URGENT,
+ SMS_EMERGENCY
+};
+typedef enum priority SMS_PRIORITY;
+
+/*
+ * SMS Language Values
+ */
+enum lang
+{
+ SMS_UNKNOWN,
+ SMS_ENGLISH,
+ SMS_FRENCH,
+ SMS_SPANISH,
+ SMS_JAPANESE,
+ SMS_KOREAN,
+ SMS_CHINESE,
+ SMS_HEBREW
+};
+typedef enum lang SMS_LANG;
+
+/*
+ * SMS Privacy Values
+ */
+enum privacy
+{
+ SMS_NOT_RESTRICTED,
+ SMS_RESTRICTED,
+ SMS_CONFIDENTIAL,
+ SMS_SECRET
+};
+typedef enum privacy SMS_PRIVACY;
+
+/*
+ * SMS Cause Codes
+ */
+/*
+TIA/EIA-41-D SMS_CauseCode :
+0 Address vacant
+1 Address translation failure
+2 Network resource shortage
+3 Network failure
+4 Invalid Teleservice ID
+5~31 Other network problem
+32 No page response
+33 Destination busy
+34 No acknowledgment
+35 Destination resource shortage
+36,48~63 SMS delivery postponed
+37 Destination out of service
+38 Destination no longer at this address
+39~47 Other terminal problem
+64 Radio interface resource shortage
+65 Radio interface incompatibility
+66~95 Other radio interface problem
+96 Encoding problem
+97 SMS origination denied
+98 SMS termination denied
+99 Supplementary service not supported
+100 SMS not supported
+101 Reserved
+102 Missing expected parameter
+103 Missing mandatory parameter
+104 Unrecognized parameter value
+105 Unexpected parameter value
+106 User Data size error
+107~255 Other general problems
+*/
+enum cause_code
+{
+ /* Network Errors */
+ SMS_CC_ADDR_VACANT,
+ SMS_CC_ADDR_TRANSLATION_FAIL,
+ SMS_CC_NETWORK_RESOURCE_SHORTAGE,
+ SMS_CC_NETWORK_FAIL,
+ SMS_CC_INVALID_TELESERVICE_ID,
+ SMS_CC_OTHER_NETWORK_ERROR,
+
+ /* Terminal Errors */
+ SMS_CC_NO_PAGE_RESP=32,
+ SMS_CC_DESTINATION_BUSY,
+ SMS_CC_NO_ACK,
+ SMS_CC_DESTINATION_RESOURCE_SHORTAGE,
+ SMS_CC_DELIVERY_POSTPONED,
+ SMS_CC_DESTINATION_OUT_OF_SERVICE,
+ SMS_CC_DESTINATION_ADDR_CHANGE,
+ SMS_CC_OTHER_TERMINAL_ERROR,
+
+ /* Radio Interface Errors */
+ SMS_CC_RADIO_RESOURCE_SHORTAGE=64,
+ SMS_CC_RADIO_INCOMPATIBLE,
+ SMS_CC_OTHER_RADIO_ERROR,
+
+ /* General Problems */
+ SMS_CC_ENCODING_PROBLEM=96,
+ SMS_CC_ORIGINATION_DENIED,
+ SMS_CC_TERMINATION_DENIED,
+ SMS_CC_SUPPL_SERV_NOT_SUPPORTED,
+ SMS_CC_SMS_NOT_SUPPORTED,
+ SMS_CC_RESERVED,
+ SMS_CC_MISSING_EXPECTED_PARM = 102,
+ SMS_CC_MISSING_MANDATORY_PARM,
+ SMS_CC_UNRECOGNIZED_PARM_VALUE,
+ SMS_CC_UNEXPECTED_PARM_VALUE,
+ SMS_CC_USER_DATA_SIZE_ERROR,
+ SMS_CC_CARD_STATUS_ERROR,
+ SMS_CC_OTHER_GENERAL_PROBLEM
+};
+typedef enum cause_code SMS_CODE;
+
+/*
+ * Service Category Program Data
+ */
+
+typedef struct
+{
+ kal_uint8 OperationCode;
+ kal_uint16 SrvCat;
+ kal_uint8 Lang;
+ kal_uint8 MaxMsg;
+ kal_uint8 Alert;
+ kal_uint8 NumChar;
+ kal_uint8 Char[ SMS_MAX_CHAR_CATEGORY ];
+}SMS_SER_CAT_RECORD;
+
+typedef struct
+{
+ kal_uint8 MsgEncoding;
+ kal_uint8 NumCat;
+ SMS_SER_CAT_RECORD cat[ SMS_MAX_NUM_SERVICE_CATEGORIES ];
+} SMS_SRV_CAT_DATA;
+
+/*
+ * SMS Teleservice Identifiers
+ */
+
+/*
+TIA/EIA-41-D Teleservice Identifier :
+IS-91 Extended Protocol Enhanced Services
+Wireless Paging Teleservice
+Wireless Messaging Teleservice
+Voice Mail Notification
+Wireless Application Protocol
+Card Application Toolkit Protocol Teleservice
+*/
+enum sms_teleservices
+{
+ SMS_AMPS_EXT_PROTO_ENHANCED_SERVICES=4096,
+ SMS_CDMA_PAGING_TELESERVICE,
+ SMS_CDMA_MESSAGING_TELESERVICE,
+ SMS_CDMA_VOICE_MAIL_NOTIFICATION,
+/*If defined VZW*/
+ SMS_IMS_SERVICES_TELESERVICE = 4242
+};
+typedef enum sms_teleservices SMS_TELESERVICES;
+
+/*
+ * IS-91 Message Type field values
+ */
+enum sms_mst
+{
+ SMS_VOICEMAIL_STATUS=0x82,
+ SMS_SHORT_MESSAGE_FULL,
+ SMS_CLI_ORDER,
+ SMS_SHORT_MESSAGE
+};
+typedef enum sms_mst SMS_MST_VALUE;
+
+/*
+ * Service Categories as defined in IS-637 SMS
+ */
+enum service_categories
+{
+ SMS_CAT_UNKNOWN,
+ SMS_CAT_EMERGENCIES,
+ SMS_CAT_ADMINISTRATIVE,
+ SMS_CAT_MAINTENANCE,
+ SMS_CAT_GEN_NEWS_LOCAL,
+ SMS_CAT_GEN_NEWS_REGIONAL,
+ SMS_CAT_GEN_NEWS_NATIONAL,
+ SMS_CAT_GEN_NEWS_INTERNATIONAL,
+ SMS_CAT_FINANCE_NEWS_LOCAL,
+ SMS_CAT_FINANCE_NEWS_REGIONAL,
+ SMS_CAT_FINANCE_NEWS_NATIONAL,
+ SMS_CAT_FINANCE_NEWS_INTERNATIONAL,
+ SMS_CAT_SPORTS_NEWS_LOCAL,
+ SMS_CAT_SPORTS_NEWS_REGIONAL,
+ SMS_CAT_SPORTS_NEWS_NATIONAL,
+ SMS_CAT_SPORTS_NEWS_INTERNATIONAL,
+ SMS_CAT_ENTERTAINMENT_NEWS_LOCAL,
+ SMS_CAT_ENTERTAINMENT_NEWS_REGIONAL,
+ SMS_CAT_ENTERTAINMENT_NEWS_NATIONAL,
+ SMS_CAT_ENTERTAINMENT_NEWS_INTERNATIONAL,
+ SMS_CAT_LOCAL_WEATHER,
+ SMS_CAT_TRAFFIC,
+ SMS_CAT_FLIGHT_SCHEDULE,
+ SMS_CAT_RESTAURANTS,
+ SMS_CAT_LODGINGS,
+ SMS_CAT_RETAIL_DIRECTORY,
+ SMS_CAT_ADVERTISEMENT,
+ SMS_CAT_STOCK_QUOTES,
+ SMS_CAT_EMPLOYMENT_OPPORTUNITIES,
+ SMS_CAT_MEDICAL_HEALTH,
+ SMS_CAT_TECH_NEWS,
+ SMS_CAT_MULTI_CATEGORY,
+#if defined(LGT_EXTENSIONS)
+ SMS_CAT_LGT_PUBLIC_CHANNEL = 0x2BE,
+#endif
+ SMS_CAT_CMAS_PRESIDENT_ALERT = 0X1000, /* 3GPP2 C.R1001-G SPEC */
+ SMS_CAT_CMAS_EXTREME_THREAT_TO_LIFE,
+ SMS_CAT_CMAS_SEVERE_THREAT_TO_LIFE,
+ SMS_CAT_CMAS_CHILD_ABDUCTION_EMERGNY,
+ SMS_CAT_CMAS_TEST_MESSAGE,
+ SMS_CAT_CMAS_RESERVED_MAX =0X10FF
+};
+typedef enum service_categories SMS_SVC_CAT;
+
+/*
+ * Transport Layer Message Field Parameter Ids
+ */
+#define SMS_TL_TELESERVICE_ID 0
+#define SMS_TL_SERVICE_CAT 1
+#define SMS_TL_ORIG_ADDR 2
+#define SMS_TL_ORIG_SUBADDR 3
+#define SMS_TL_DEST_ADDR 4
+#define SMS_TL_DEST_SUBADDR 5
+#define SMS_TL_BEARER_RPLY_OPT 6
+#define SMS_TL_CAUSE_CODE 7
+#define SMS_TL_BEARER_DATA 8
+
+/*
+ * Transport Layer Bit Mask Values
+ */
+#define SMS_TL_TELESERVICE_ID_PRESENT (1<<0)
+#define SMS_TL_SERVICE_CAT_PRESENT (1<<1)
+#define SMS_TL_ORIG_ADDR_PRESENT (1<<2)
+#define SMS_TL_ORIG_SUBADDR_PRESENT (1<<3)
+#define SMS_TL_DEST_ADDR_PRESENT (1<<4)
+#define SMS_TL_DEST_SUBADDR_PRESENT (1<<5)
+#define SMS_TL_BEARER_RPLY_OPT_PRESENT (1<<6)
+#define SMS_TL_CAUSE_CODE_PRESENT (1<<7)
+#define SMS_TL_BEARER_DATA_PRESENT (1<<8)
+
+/*
+ * Teleservice Layer Parameter Values
+ */
+#define SMS_ASE_MESSAGE_ID 0
+#define SMS_ASE_USER_DATA 1
+#define SMS_ASE_USER_RESP_CODE 2
+#define SMS_ASE_TIMESTAMP 3
+#define SMS_ASE_VPA 4
+#define SMS_ASE_VPR 5
+#define SMS_ASE_DDTA 6
+#define SMS_ASE_DDTR 7
+#define SMS_ASE_PRIORITY 8
+#define SMS_ASE_PRIVACY 9
+#define SMS_ASE_RPLY_OPT 10
+#define SMS_ASE_MSGNUM 11
+#define SMS_ASE_ALERT 12
+#define SMS_ASE_LANG 13
+#define SMS_ASE_CALLBACK 14
+#define SMS_ASE_DISPMODE 15
+#define SMS_ASE_MENC_DATA 16
+#define SMS_ASE_MSG_DEP_INDEX 17
+#define SMS_ASE_SRV_CAT_DATA 18
+#define SMS_ASE_SRV_CAT_RESULT 19
+#define SMS_ASE_MSG_STATUS 20
+#ifdef KDDI_EXTENSIONS
+#define SMS_ASE_IP_ADDRESS 85
+#define SMS_ASE_NOTIFY_FLAG 86
+#define SMS_ASE_UIM_ID 87
+#endif
+
+#ifdef MTK_CBP_ENCRYPT_VOICE
+#define SMS_MSG_TYPE_CALL_KEY_REQ 0
+#define SMS_MSG_TYPE_CALL_KEY_RSP 1
+#define SMS_MSG_TYPE_CALLED_ENCRYPT_IND 2
+#define SMS_MSG_TYPE_CALLED_KRY_REQ 3
+#define SMS_MSG_TYPE_CALLED_KRY_RSP 4
+#define SMS_MSG_TYPE_ERROR_IND 5
+#define SMS_MSG_TYPE_KMC_PUBLIC_KEY_UPDATE 6
+#define SMS_MSG_TYPE_KMC_PUBLIC_KEY_UPDATE_RSP 7
+#define SMS_MSG_TYPE_KMC_PUBLIC_KEY_UPDATE_CNF 8
+#define SMS_MSG_TYPE_REMOTE_CONTROL_INS 9
+#define SMS_MSG_TYPE_REMOTE_CONTROL_INS_RSP 10
+#endif
+
+
+/*
+ * Teleservice Bit Mask Values
+ */
+#define SMS_ASE_MESSAGE_ID_PRESENT (1<<0)
+#define SMS_ASE_USER_DATA_PRESENT (1<<1)
+#define SMS_ASE_USER_RESP_CODE_PRESENT (1<<2)
+#define SMS_ASE_TIMESTAMP_PRESENT (1<<3)
+#define SMS_ASE_VPA_PRESENT (1<<4)
+#define SMS_ASE_VPR_PRESENT (1<<5)
+#define SMS_ASE_DDTA_PRESENT (1<<6)
+#define SMS_ASE_DDTR_PRESENT (1<<7)
+#define SMS_ASE_PRIORITY_PRESENT (1<<8)
+#define SMS_ASE_PRIVACY_PRESENT (1<<9)
+#define SMS_ASE_RPLY_OPT_PRESENT (1<<10)
+#define SMS_ASE_MSGNUM_PRESENT (1<<11)
+#define SMS_ASE_ALERT_PRESENT (1<<12)
+#define SMS_ASE_LANG_PRESENT (1<<13)
+#define SMS_ASE_CALLBACK_PRESENT (1<<14)
+#define SMS_ASE_DISPMODE_PRESENT (1<<15)
+#define SMS_ASE_MENC_DATA_PRESENT (1<<16)
+#define SMS_ASE_MSG_DEP_INDEX_PRESENT (1<<17)
+#define SMS_ASE_SRV_CAT_DATA_PRESENT (1<<18)
+#define SMS_ASE_SRV_CAT_RESULTS_PRESENT (1<<19)
+#define SMS_ASE_MSG_STATUS_PRESENT (1<<20)
+#ifdef KDDI_EXTENSIONS
+#define SMS_ASE_IP_ADDRESS_PRESENT (1<<21)
+#define SMS_ASE_NOTIFY_FLAG_PRESENT (1<<22)
+#define SMS_ASE_UIM_ID_PRESENT (1<<23)
+#endif
+#ifdef MTK_CBP_ENCRYPT_VOICE
+#define SMS_ASE_SMS_CRYPT_ASE_PRESENT (1<<24)
+#endif
+
+#endif
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/srbp_access.h b/mcu/interface/protocol/as_c2k/1xrtt/srbp_access.h
new file mode 100644
index 0000000..b8ce455
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/srbp_access.h
@@ -0,0 +1,329 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Module: srbp_access.h - Access Procedure
+ *
+ * Purpose: Header file containing structures for Access attempts
+ * on the ACH/EACH Channel.
+ *
+ ****************************************************************************
+ *
+ * PVCS Header Information
+ *
+ * $Author: dstecker $
+ *
+ * $Log: srbp_access.h $
+ *
+ * 10 26 2017 tina.ma
+ * [MOLY00285322] [Bianco][O1][SRLTE][CT 6M C][LTE IOT][FT][SH][HW][TC-4GFT-07008]MT Failed 4 times
+ *
+ * .
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ *
+ * 06 12 2017 gavin.zhang
+ * [MOLY00255976] [BIANCO][MT6763][RDIT][FT][C2K][SRLTE+W][Gemini_Case][SH][Stability][CAT][SIM1:CT][SIM2:CU][ENABLE_IMS]md1:(USIP2_USIP1) [ASSERT] file:md32/usip/fec/modem/c2k/tx/src/c2k_tx_framework.c line:4672
+ *
+ * .
+ *
+ * 01 22 2017 lily.ruan
+ * [MOLY00225859] [6293][C2K]Merge CL from T0 branch to Trunk branch.
+ *
+ * merge access delay feature
+ * Revision 1.6 2005/04/06 16:38:17 dstecker
+ * srbp_access.c, Revision 1.10
+ * Revision 1.5 2005/03/18 11:45:43 hans
+ * Merged code changes from CBP4.05 revision 2.02 to CBP4.05 revision 4.21.
+ * Revision 1.4 2005/02/03 13:42:06 dstecker
+ * Added delaySlots to EnhAccessMsgInfo
+ * Revision 1.3 2004/04/06 14:02:22 dstecker
+ * CBP6.1 release 1
+ * Revision 1.2 2004/03/25 12:09:44 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:39:05 fpeng
+ * Initial revision
+ * Revision 1.14 2002/12/27 14:23:55 dstecker
+ * Added prototype
+ * Revision 1.13 2002/12/27 13:28:55 dstecker
+ * Corrected link problems
+ * Revision 1.12 2002/12/26 16:14:48 dstecker
+ * Conditional compile flag IS2000A replaced with IS_2000_REV_A and IS_2000_REV_0
+ * Revision 1.11 2002/07/17 09:17:36 mclee
+ * Add prototype srbpDisableAccessAuthParms()
+ * Revision 1.10 2002/06/27 17:58:46 dstecker
+ * Changed the resolution of access probe power correction to be in units of half Db instead of full dB
+ * Revision 1.9 2002/06/14 17:17:26 chinh
+ * Added function prototype srbpL1dAccessComplete().
+ * Revision 1.8 2002/06/06 13:14:47 chinh
+ * Changed and Added Copyright
+ * Revision 1.7 2002/05/21 10:46:32 bsharma
+ * Added Prototype for accessGetAccessStatus()
+ * Revision 1.6 2001/11/16 10:58:29 dstecker
+ * Handoff fixes and reverse power control additions
+ * Revision 1.5 2001/10/19 13:41:17 ameya
+ * Changed ( to { in definition of enum SrbpFrameDurT.
+ * Revision 1.4 2001/06/12 15:26:56 byang
+ * Added function prototype declaration for accessSetAUTHs().
+ * Revision 1.3 2001/02/13 15:15:29 dstecker
+ * correct #include srbp_include.h
+ * Revision 1.2 2001/02/13 15:13:43 dstecker
+ * corrected #include access.h to be srbp_access.h
+ * #include pswcustom.h for the IS2000A definition
+ * Revision 1.1 2001/01/29 18:22:34 dstecker
+ * Initial revision
+ * Revision 1.1 2000/12/20 00:25:05Z hans
+ * Initial revision
+ * Revision 1.1 2000/12/18 15:45:18 dstecker
+ * Initial revision
+ * Revision 1.2 2000/11/13 14:25:09 byang
+ * IS-2000A Idle Mode and LAC intergration - Initial Release.
+ * Revision 1.1 2000/10/24 21:10:59Z fpeng
+ * Initial revision
+ * Revision 1.3 2000/08/23 22:05:00Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes
+ * Revision 1.2 2000/03/01 18:05:25Z rsattari
+ * Isotel release 2.3 updates.
+ * Revision 1.11 1999/06/11 02:13:57 mhayduk
+ * Added prototype to set whether L2 data burst ack is required.
+ *
+ * Revision 1.10 1998/12/02 01:51:30 scotvold
+ * Added T53 guards for #include.
+ *
+ * Revision 1.9 1998/10/20 23:58:23 mhayduk
+ * Added T53 support.
+ *
+ * Revision 1.8 1998/10/05 23:20:37 mhayduk
+ * Added prototype for pilot measurement report indication.
+ *
+ * Revision 1.7 1998/07/29 23:49:32 mhayduk
+ * Added capability to reject an access channel message if its
+ * size exceeds the capsule size.
+ *
+ * Revision 1.6 1998/07/29 04:20:04 mhayduk
+ * Added access handover support.
+ *
+ * Revision 1.5 1998/06/12 14:50:38 scotvold
+ * Updated for Release 0.07.
+ *
+ * Revision 1.4 1998/05/27 17:16:28 scotvold
+ * Updated for Release 0.05.
+ *
+ * Revision 1.3 1998/03/30 23:26:03 mhayduk
+ * Release 0.03.
+ *
+ * Revision 1.1 1997/11/06 17:49:24 mhayduk
+ * Initial revision
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+#ifndef _ACCESS_H_
+
+ #define _ACCESS_H_ 1
+
+/*****************************************************************************
+ * Includes
+ ****************************************************************************/
+#include "pswcustom.h"
+#include "ach_msg.h"
+#include "longcode.h"
+#include "pch_msg.h"
+#include "Acc_asmb.h"
+#include "eng_accs.h"
+
+#include "ho_ac.h"
+
+
+/* Access Channel Message Structure frame size - 6.7.1.2. */
+/* HAC 011001 verify that this is enough for EACH also */
+#define ENG_ACCESS_FRAME_SIZE 88
+
+/*****************************************************************************
+ * Access Procedure structure definitions
+ ****************************************************************************/
+
+typedef struct
+{
+ WbiosSystime sendTime; /* system time to start sending message */
+ kal_int16 powerCorrection; /* tx power level less mean input power */
+ kal_bool useCurrMip; /* use current mean input power or not */
+ kal_uint8 dataLen; /* length of data to be sent */
+ kal_uint8 *data; /* l3 message data, length, data, crc */
+ Longcode *lcMask; /* access channel long code mask */
+ kal_uint8 pamSize; /* preamble size in frames */
+ kal_uint16 RN; /* random chip delay : 0 - 511 */
+} AccessMsgInfo;
+
+typedef enum
+{
+ SRBP_FRAME_DURATION_5MS,
+ SRBP_FRAME_DURATION_10MS,
+ SRBP_FRAME_DURATION_20MS
+} SrbpFrameDurT;
+
+typedef struct
+{
+
+ kal_uint8 EachSlot; /* slot duration in 1.25msecs */
+ kal_uint8 SysTimeOffset; /* N as defined in IS2000.2-A 2.1.3.4 */
+ kal_uint16 DelaySlots;
+ EACHlongCodeMaskParT LongCodeMaskPar; /* Parameters to calculate LCM */
+ kal_bool preamble_enabled; /* Allowed to send preamble on RPiCH */
+
+ kal_int16 RPiCH_pwr_preamble; /* RPiCH MOP when transmiting the preamble
+ in dB Q3 format */
+ kal_int16 RPiCH_pwr; /* RPiCH Power after preamble in db
+ Q3 format */
+ kal_bool useCurrMip; /* Flag to indicate use of current mean */
+ /* input power */
+ kal_uint8 preable_num_frac; /* (Fractional preable duration + 1) in
+ 1.25ms */
+ kal_uint8 preamble_frac_duration; /* preamble_frac_duration + 1) in 1.25ms */
+ kal_uint8 preamble_off_duration; /* In 1.25 ms */
+ kal_uint8 preamble_add_duration; /* Additional preamble duration in 1.25ms*/
+ kal_int16 EACH_pwr; /* Transmit power uses on the EACH in db
+ Q3 format */
+ SrbpFrameDurT frame_duration; /* frame duration in unit of
+ msecs(5,10,20)*/
+ kal_uint16 frame_num_bits; /* number of bits per frame */
+ kal_uint8 dataLen; /* length of data to be sent */
+ kal_uint8 *data; /* l3 message data, length, data, crc */
+} EnhAccessMsgInfo;
+
+typedef struct
+{
+ kal_uint8 numAcctSo;
+ kal_uint16 acctSoList[ CP_MAX_NUM_ACCT_SO ];
+ kal_uint8 numAcctSoGrp;
+ kal_uint8 acctSoGrpList[ CP_MAX_NUM_ACCT_SO_GRP ];
+} AcctList;
+
+/* Access Procedure State Machine states */
+typedef enum
+{
+ ENG_SRBP_NULL,
+ ENG_SRBP_INIT,
+ ENG_SRBP_WAIT,
+ ENG_SRBP_ACCESS_HO,
+ ENG_SRBP_ACCESS_PROBE_HO,
+ ENG_SRBP_SUPERVISION_SUSPEND,
+ ENG_SRBP_IDLE
+} SrbpAccessStateT;
+typedef enum
+{
+ TA_STOP_SUPERVISION_SUSPENDED,
+ TA_STOP_WBIOS_FAIL,
+ TA_STOP_L3,
+ TA_STOP_ACCESS_ACKED,
+ TA_STOP_HO
+} ReasonsForTA_Stop;
+
+/* Access Procedure translated events */
+typedef enum
+{
+ ENG_ACCESS_PROC_NO_EVENT = 0,
+ ENG_ACCESS_PROC_TIMEOUT = 1,
+ ENG_ACCESS_PROC_WBIOS_FAIL = 2,
+ ENG_ACCESS_PROC_ACKED = 3,
+ ENG_ACCESS_PROC_PILOT_REPORT = 4,
+ ENG_ACCESS_HO_REQUEST = 5,
+ ENG_ACCESS_HO_RESUME = 6,
+ ENG_ACCESS_PILOT_MSMT_REPORT = 7,
+ ENG_ACCESS_PROC_RESUME = 8,
+ ENG_ACCESS_PREAMBLE_DELAY = 9
+}SrbpAccessEventT;
+/*****************************************************************************
+ * Prototypes
+ ****************************************************************************/
+ kal_bool accessGetInProgressInd( void );
+ void accessSetHOIndicators( kal_bool accessHo,kal_bool accessHoMsgRsp,
+ kal_bool accessProbeHo,kal_bool accProbeHoOtherMsg,kal_uint8 maxNumProbeHo, kal_bool accHoListUpd );
+
+ kal_uint8 accessGetAUTHs( void );
+ void accessSendFailInd( void );
+ void accessReceivedResponse( void );
+ void accessStopAttempt( void );
+ void accessSetAccessPars( PChAccessParameters *msg );
+ void srbpSuspend ( void );
+ void srbpSuspendNoProbes ( void );
+
+ kal_uint16 srbpMaxProbeSizeInBits( ChannelTypeT chanType );
+ void srbpAccessProbe( kal_uint8 *buffP, AccessProbeInfoT *infoP );
+ void srbpDisableAccessAuthParms( kal_bool Disable );
+
+ void accessHoRequest( void );
+ void accessResumeAttempt( void );
+ kal_bool isAccessProbeHoAllowed( void );
+ kal_bool isAccessHoAllowed( void );
+
+ void accessSetAUTHs( const kal_uint8 auth );
+ kal_bool accessSoExistsAcctList(kal_uint16 so);
+ kal_bool isAccessAcctInclEmg(void);
+ kal_bool srbpEcIoThreshold ( void );
+ void srbpSetAccCorrParms( kal_int8 nomPwr, kal_bool nomPwrExt );
+ kal_uint8 srbpGetInterferCorrection( kal_bool OnTCH, kal_uint8 rc );
+ void srbpL1dAccessPreambleComplete( WbiosSystime sendtime );
+ void srbpL1dAccessProbeComplete( WbiosSystime finishTime );
+ kal_int16 srbpGetAccCorrection( void );
+ kal_uint8 srbpGetAccessMsgType( void );
+ void srbpSetAccessMsgType(kal_uint8 accessMsgType);
+ SrbpAccessStateT getSrbpState(void);
+ kal_bool srbpGetAccHoListUpdate(void);
+ void PswSrbpL1dAccessPreambleDelay(void);
+#endif /* _ACCESS_H_ */
+
+
+
+
+
+
+/**Log information: \main\CBP80\cbp80_cshen_scbp10098\1 2012-07-26 06:28:01 GMT cshen
+** cbp80_cshen_scbp10098**/
+/**Log information: \main\CBP80\cbp80_cshen_scbp10098\2 2012-07-26 08:30:43 GMT cshen
+** cbp80_cshen_scbp10098**/
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/stats.h b/mcu/interface/protocol/as_c2k/1xrtt/stats.h
new file mode 100644
index 0000000..584f232
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/stats.h
@@ -0,0 +1,233 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Module: stats.h
+ *
+ * Purpose: This file defines the necessary data structures and interfaces
+ * to maintain the accumulated statistics. Section x.4.5.
+ *
+ ****************************************************************************
+ *
+ * PVCS Header Information
+ *
+ * $Workfile$
+ * $Revision: 1.3 $
+ * $Modtime$
+ * $Author: dstecker $
+ *
+ * $Log: stats.h $
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ * Revision 1.3 2004/04/06 14:02:23 dstecker
+ * CBP6.1 release 1
+ * Revision 1.2 2004/03/25 12:09:45 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:39:06 fpeng
+ * Initial revision
+ * Revision 1.6 2002/06/13 13:59:13 hans
+ * Statistics functions already disabled with ifdef removed.
+ * Revision 1.5 2002/06/06 13:14:56 chinh
+ * Changed and Added Copyright
+ * Revision 1.4 2002/06/04 20:15:01 hans
+ * Old mux1 and mux2 statistics counter now handled by lmd has been disabled with ifdef's.
+ * Length field removed from SetRetrievableParameterMsgT typedef.
+ * Revision 1.3 2002/05/14 20:41:03 hans
+ * CR ID636 bug fix for retrievable and settable parameters.
+ * Revision 1.2 2002/03/28 18:25:13 hans
+ * is2000 rev 0 add 2, retrievable and settable parameters implemented.
+ * CR503: get retrievable parameter implemented.
+ * CR508: set retrievable parameter implemented
+ * Revision 1.1 2001/01/17 10:59:28 plabarbe
+ * Initial revision
+ * Revision 1.1 2000/10/24 14:11:29 fpeng
+ * Initial revision
+ * Revision 1.3 2000/08/23 22:11:29Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes.
+ * Revision 1.10 2000/03/02 01:57:16 scotvold
+ * Added engRelay calls to extract CPE statistics.
+ *
+ * Revision 1.9 2000/01/17 22:27:19 scotvold
+ * TC Backward Compatibility changes.
+ *
+ * Revision 1.8 1999/02/05 02:16:01 scotvold
+ * Test mode API change for reporting statistics.
+ *
+ * Revision 1.7 1998/12/11 20:17:42 lchhailo
+ * changed MAX_16_BIT_VALUE
+ *
+ * Revision 1.6 1998/12/02 00:30:54 scotvold
+ * Added statistic setting and retrieval.
+ *
+ * Revision 1.5 1998/10/20 23:58:23 mhayduk
+ * Added T53 support.
+ *
+ * Revision 1.4 1998/05/01 18:13:54 scotvold
+ * Update for release 0.04
+ *
+ * Revision 1.3 1998/03/30 23:26:03 mhayduk
+ * Release 0.03.
+ *
+ * Revision 1.1 1997/11/06 17:49:24 mhayduk
+ * Initial revision
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+#ifndef _STATS_H_
+
+ #define _STATS_H_ 1
+
+/*****************************************************************************
+ * Includes
+ ****************************************************************************/
+#include "layer2.h"
+#include "Serv_cfg.h"
+
+/*****************************************************************************
+ * Definitions
+ ****************************************************************************/
+
+#define MAX_24_BIT_VALUE 16777216L
+#define MAX_16_BIT_VALUE 65536L
+
+
+ #define ST_MAX_PAG_PEG 7 /* maximum page chan peg count */
+ #define ST_MAX_ACC_PEG 8 /* maximum access chan peg count */
+ #define ST_MAX_LAYER2_RTC_PEG 5 /* maximum layer2 RTC peg count */
+ #define ST_MAX_FCCCH_PEG 4 /* maximum page chan peg count */
+ #define ST_MAX_BCCH_PEG 5 /* maximum page chan peg count */
+
+
+ #define ST_RESERVED 0
+ #define ST_LEN_16 16
+ #define ST_LEN_24 24
+ #define ST_LEN_SYS_TIME 36
+ #define ST_PARAMETER_LEN_16 15
+ #define ST_PARAMETER_LEN_24 23
+ #define ST_UNKNOWN_PARAMETER_LEN 0x03FF
+
+ #define CP_LAYER2_RTC1 0
+ #define CP_LAYER2_RTC2 1
+ #define CP_LAYER2_RTC3 2
+ #define CP_LAYER2_RTC4 3
+ #define CP_LAYER2_RTC5 4
+
+
+/*****************************************************************************
+ * Data Structures
+ ****************************************************************************/
+
+typedef struct
+{
+ kal_uint16 parameterID;
+ kal_uint32 parameter;
+} Parameter32Rec;
+
+/* Multiplex Parameters - for retrieval */
+typedef struct
+{
+ StatCounterT statCounter; /* Statistics counter */
+ kal_uint32 muxStats[MAX_STAT_ELEMENT];
+} MuxParmsT;
+
+/* Traffic Channel Multiplex Parameters - for setting */
+typedef struct
+{
+ kal_uint8 numRec;
+ Parameter32Rec rec[CP_MAX_MUX1_CATEGORY + CP_MAX_MUX2_CATEGORY];
+} MuxRecsT;
+
+typedef struct
+{
+ kal_uint16 ParameterID;
+/* Hans C. Len is not needed in currect implementation: kal_uint16 ParameterLen;
+ */
+ kal_uint32 Value;
+
+} SetRetrievableParameterMsgT;
+
+
+typedef struct
+{
+ ExeRspMsgT RspInfo;
+ StatCounterT StatCounter; /* Statistics counter */
+} GetRetrievableParameterMsgT;
+
+
+
+/*****************************************************************************
+ * Function prototypes
+ ****************************************************************************/
+ void cpResetPageChStatistics(void);
+#if defined (MTK_DEV_OPTIMIZE_XL2)
+ void cpTracePageChStatistics(void);
+#endif
+ void cpAddPageChStatistics(kal_uint8 counter,kal_uint8 value);
+ void cpResetBcchStatistics(void);
+ void cpAddBcchStatistics(kal_uint16 counter,kal_uint16 value);
+ void cpResetFccchStatistics(void);
+ void cpAddFccchStatistics(kal_uint16 counter,kal_uint16 value);
+ void cpResetAccessChStatistics(void);
+ void cpIncAccessChStatistics(kal_uint8 counter);
+#ifdef LMD_EACH_ON
+ void cpIncEACHStatistics(kal_uint16 counter);
+#endif
+ void cpAddressedFcschStatistics(kal_uint8 ChanType);
+ void stResetTCStatistics (void);
+ kal_uint32* stGetL2RTCStats (void);
+ void stMultiplexParameters (MuxParmsT* MuxParms);
+ void stRTPM (FTCMessage* msg);
+ void stSTPM (FTCMessage* msg);
+ void stRetrieveStatistics(GetRetrievableParameterMsgT *msgPtr);
+ void stSetPEStatistics(MuxRecsT *muxRecs);
+ void stSetStatistics(MuxRecsT *muxRecs);
+
+
+#endif /* _STATS_H_ */
+
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/status.h b/mcu/interface/protocol/as_c2k/1xrtt/status.h
new file mode 100644
index 0000000..a96642b
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/status.h
@@ -0,0 +1,235 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Module: status.h
+ *
+ * Purpose: Definitions and prototypes for Call Progression Status.
+ *
+ ****************************************************************************
+ *
+ * PVCS Header Information
+ *
+ * $Workfile$
+ * $Revision: 1.2 $
+ * $Modtime$
+ * $Author: fpeng $
+ *
+ * $Log: status.h $
+ *
+ * 08 29 2017 tina.ma
+ * [MOLY00274341] [Merge from MP5.TC10]when exit flight mode, if camp on the same cell, report MCC search response eraly
+ *
+ * merge code from MP5.TC10
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ *
+ * 05 17 2017 peijun.zheng
+ * [MOLY00249027] [BIACNO][MT6763][New feature]C2K code release code modification
+ *
+ * C2k code release.
+ *
+ * 11 09 2016 sue.zhong
+ * [MOLY00208435] [6293][C2K]Sync C2K code to UMOLYA TRUNK
+ * Update C2K PS code (1/2)
+ * Revision 1.2 2004/03/25 12:09:46 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.2 2004/02/10 12:50:56 bcolford
+ * Merged CBP4.0 Release 8.05.0 changes.
+ * Revision 1.4 2003/11/06 11:24:06 ameya
+ * Added prototype for cpGetCurrentBand().
+ * Revision 1.3 2002/06/06 13:15:00 chinh
+ * Changed and Added Copyright
+ * Revision 1.2 2001/12/14 17:12:20 mclee
+ * prototype cpGetCurrentMode(), cpGetNID(), cpGetPilotPN()
+ * Revision 1.1 2001/01/17 10:59:29 plabarbe
+ * Initial revision
+ * Revision 1.1 2000/10/24 14:11:29 fpeng
+ * Initial revision
+ * Revision 1.5 2000/08/31 23:41:58Z bcolford
+ * Replaced AMPS_SUPPORTED with SYS_OPTION_AMPS.
+ * Revision 1.4 2000/08/23 22:11:31Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes.
+ * Revision 1.17 1999/12/09 22:01:46 gfrye
+ * Moved definitions of System Determination Indications to css_api.h
+ *
+ * Revision 1.16 1999/08/31 00:09:18 gfrye
+ * Added new system determination indication CP_PREV_SYSTEM_LOST_ACCESS.
+ *
+ * Revision 1.15 1999/03/02 00:53:43 dfischer
+ * Added state CP_AMPS_SYSDET_DELAY
+ *
+ * Revision 1.14 1999/02/26 00:33:36 mhayduk
+ * Added PILOT_PN to status record.
+ *
+ * Revision 1.13 1999/02/25 19:40:55 mhayduk
+ * Added call to allow any engine component to request status be
+ * sent to wbios.
+ *
+ * Revision 1.12 1998/12/22 19:08:55 dfischer
+ * Added CP_AMPS_REGCONF_WFOMT
+ *
+ * Revision 1.11 1998/11/27 22:29:13 mhayduk
+ * Removed system A/B definitions and just use the
+ * current ones defined in engine.h.
+ *
+ * Revision 1.10 1998/11/26 23:15:13 mhayduk
+ * Added interfaces to update the new status elements -
+ * mode and block.
+ *
+ * Revision 1.9 1998/11/26 22:08:19 mhayduk
+ * Updated status structure for new api.
+ *
+ * Revision 1.8 1998/10/20 23:58:23 mhayduk
+ * Added T53 support.
+ *
+ * Revision 1.7 1998/09/22 18:44:57 tdaly
+ * Added IS-95 analog mode support.
+ *
+ * Revision 1.6 1998/08/28 20:15:59 mhayduk
+ * Added setting of band.
+ *
+ * Revision 1.5 1998/05/27 17:16:28 scotvold
+ * Updated for Release 0.05.
+ *
+ * Revision 1.4 1998/05/01 18:13:54 scotvold
+ * Update for release 0.04
+ *
+ * Revision 1.3 1998/03/30 23:26:03 mhayduk
+ * Release 0.03.
+ *
+ * Revision 1.1 1997/11/06 17:49:24 mhayduk
+ * Initial revision
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+#ifndef _STATUS_H_
+
+ #define _STATUS_H_ 1
+
+/*****************************************************************************
+ * Includes
+ ****************************************************************************/
+#include "cssapi.h"
+#include "pswapi.h"
+
+/*****************************************************************************
+ * Definitions
+ ****************************************************************************/
+
+
+ #define CP_AMPS_FIRST_STATE CP_AMPS_WBIOS_INIT
+
+ #define CP_AMPS_LAST_STATE CP_AMPS_NUM_STATES
+
+/*****************************************************************************
+ * Call Processing Status Information structure
+ ****************************************************************************/
+ typedef struct
+ {
+ CPState state; /* Call Processing State */
+ CPState prevState; /* Previous Call Processing State */
+ kal_uint8 roam; /* ROAM Status */
+ SysCdmaBandT band; /* Current Operating Band */
+ kal_uint16 channel; /* Current Channel Number */
+ kal_uint8 mode; /* current mode: PCS/CellularAnalog */
+ kal_uint8 block; /* current CDMA block (if CDMA system) */
+ kal_uint8 servingSystem; /* Serving System/Block */
+ kal_uint16 sid; /* Last-Received System ID */
+ kal_uint16 nid; /* Last-Received Network ID */
+ kal_uint16 pilotPN; /* PILOT_PN */
+ } CPStatus;
+
+
+/*****************************************************************************
+ * Function prototypes
+ ****************************************************************************/
+ void cpSetSystemIndication(kal_uint8 indication);
+ kal_uint8 cpGetSystemIndication(void);
+ void setCPState(CPState state);
+ void cpSetRoam(kal_uint8 roam);
+ kal_uint8 cpGetRoam(void);
+ void cpSetCurrentBand(SysCdmaBandT band);
+ SysCdmaBandT cpGetCurrentBand(void);
+ void cpSetCurrentChannel(kal_uint16 channel);
+ kal_uint16 cpGetCurrentChannel(void);
+ void cpSetCurrentBlock(kal_uint8 block);
+ void cpSetServingSystem(kal_uint8 servingSystem);
+ kal_uint8 cpGetServingSystem(void);
+ void cpSetSysID(kal_uint16 sid);
+ kal_uint16 cpGetSysID(void);
+ void cpSetNID(kal_uint16 nid);
+ kal_uint16 cpGetNID(void);
+ void cpSetPilotPN(kal_uint16 pn);
+ kal_uint16 cpGetPilotPN(void);
+ void cpReportStatus(void);
+ void cpSetProtocolRev( kal_uint8 prev );
+ kal_uint8 cpGetProtocolRev(void);
+ void cpSetSystemStatus( kal_uint8 status );
+ kal_uint8 cpGetSystemStatus(void);
+ kal_uint8 cpGetOrigCallMode(void);
+ void cpSetOrigCallMode(kal_uint8 callMode);
+
+#if defined(MTK_DEV_SLT)
+ kal_bool lstIf1xRxValidated (void);
+
+ void lstSet1xRxValidated (kal_bool value);
+
+ void lstInit1xProcedureVariable (void);
+
+ kal_bool lstIf1xTxValidated (void);
+
+ void lstSet1xTxValidated (kal_bool value);
+#endif /* MTK_DEV_SLT */
+void cpSetRegZone(kal_uint16 regZone);
+CPState getCPPrevState(void);
+void cpInitStatus(void);
+
+#endif /* _STATUS_H_ */
+
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/sync_msg.h b/mcu/interface/protocol/as_c2k/1xrtt/sync_msg.h
new file mode 100644
index 0000000..9daa587
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/sync_msg.h
@@ -0,0 +1,109 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Module: sync_msg.h
+ *
+ * Purpose: Header file Containing the structures for the Sync Channel
+ * Message.
+ *
+ ****************************************************************************
+ *
+ * PVCS Header Information
+ *
+ * $Workfile$
+ * $Modtime$
+ *
+ * $Log: sync_msg.h $
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ *
+ * 05 17 2017 peijun.zheng
+ * [MOLY00249027] [BIACNO][MT6763][New feature]C2K code release code modification
+ *
+ * C2k code release.
+ * Revision 1.2 2004/03/25 12:09:47 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:39:07 fpeng
+ * Initial revision
+ * Revision 1.3 2002/06/06 13:15:14 chinh
+ * Changed and Added Copyright
+ * Revision 1.2 2001/06/12 11:14:33 byang
+ * Added 'Not Used' enumeration identifiers.
+ *
+ * Revision 1.1 2001/01/17 10:59:32 plabarbe
+ * Initial revision
+ * Revision 1.3 2000/12/05 17:45:35 byang
+ * Idle mode - IS2000A Addendum modifications.
+ * Revision 1.2 2000/11/13 14:27:23 byang
+ * IS-2000A Idle Mode and LAC integration - Initial Release.
+ * Revision 1.1 2000/10/24 21:11:30Z fpeng
+ * Initial revision
+ * Revision 1.3 2000/08/23 22:11:35Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes.
+ * Revision 1.2 2000/03/01 18:16:15Z rsattari
+ * Isotel release 2.3 updates.
+ * Revision 1.3 1998/03/30 23:26:03 mhayduk
+ * Release 0.03.
+ *
+ * Revision 1.1 1997/11/06 17:49:24 mhayduk
+ * Initial revision
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+#ifndef _SYNC_MSG_H_
+
+ #define _SYNC_MSG_H_ 1
+
+#include "pswairmsg.h"
+
+#endif /* _SYNC_MSG_H_ */
+
+
+
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/systime.h b/mcu/interface/protocol/as_c2k/1xrtt/systime.h
new file mode 100644
index 0000000..63b36e3
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/systime.h
@@ -0,0 +1,121 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Filename: systime.h
+ *
+ * Purpose: Definition of SYSTIME and supporting routines.
+ *
+ ****************************************************************************
+ *
+ * PVCS Header Information
+ *
+ * $Revision: 1.3 $
+ * $Author: hans $
+ *
+ * $Log: systime.h $
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ *
+ * 05 17 2017 peijun.zheng
+ * [MOLY00249027] [BIACNO][MT6763][New feature]C2K code release code modification
+ *
+ * C2k code release.
+ *
+ * 11 09 2016 sue.zhong
+ * [MOLY00208435] [6293][C2K]Sync C2K code to UMOLYA TRUNK
+ * Update C2K PS code (1/2)
+ * Revision 1.3 2004/09/28 17:14:10 hans
+ * Changes from CBP6.0 merged.
+ * Revision 1.2 2004/03/25 12:09:47 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:39:07 fpeng
+ * Initial revision
+ * Revision 1.2 2002/06/06 13:15:18 chinh
+ * Changed and Added Copyright
+ * Revision 1.1 2001/01/17 10:59:34 plabarbe
+ * Initial revision
+ * Revision 1.1 2000/10/24 14:11:31 fpeng
+ * Initial revision
+ * Revision 1.4 2000/09/09 00:05:57Z RSATTARI
+ * Added function proto for cpGetFullSystemTime().
+ * Revision 1.3 2000/08/23 22:11:37Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes.
+ * Revision 1.2 2000/03/01 18:16:18Z rsattari
+ * Isotel release 2.3 updates.
+ * Revision 1.5 1998/07/03 16:57:30 dfischer
+ * New load
+ *
+ * Revision 1.4 1998/06/08 21:48:25 scotvold
+ * Updated for Release 0.06.
+ *
+ * Revision 1.3 1998/03/30 23:26:03 mhayduk
+ * Release 0.03.
+ *
+ * Revision 1.1 1997/11/06 17:49:24 mhayduk
+ * Initial revision
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+#ifndef _SYSTIME_H_
+
+#define _SYSTIME_H_ 1
+
+#include "pswairmsg.h"
+typedef struct
+{
+ kal_uint8 _80msSyncTime[CP_SYSTIME_SIZE];
+ kal_uint8 LP_SEC;
+ kal_uint8 LTM_OFF;
+ kal_bool DAYLT;
+} SyncMsgSysTimeType;
+
+
+/* System Time */
+#endif /*_SYSTIME_H_ */
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/tokens.h b/mcu/interface/protocol/as_c2k/1xrtt/tokens.h
new file mode 100644
index 0000000..668c6e0
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/tokens.h
@@ -0,0 +1,359 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Module: tokens.h
+ *
+ * Purpose: This header file contains a generic list of tokens which are
+ * uniquely numbered. The tokens are to be used in TRACE macros
+ * to facilitate easy identification of tokens and duplications.
+ *
+ ****************************************************************************
+ *
+ * PVCS Header Information
+ *
+ * $Workfile$
+ * $Revision: 1.2 $
+ * $Modtime$
+ * $Author: fpeng $
+ *
+ * $Log: tokens.h $
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ * Revision 1.2 2004/03/25 12:09:48 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.1 2003/05/12 15:39:13 fpeng
+ * Initial revision
+ * Revision 1.2 2002/06/06 13:15:49 chinh
+ * Changed and Added Copyright
+ * Revision 1.1 2001/01/17 10:59:46 plabarbe
+ * Initial revision
+ * Revision 1.1 2000/10/24 14:11:36 fpeng
+ * Initial revision
+ * Revision 1.3 2000/08/23 22:11:54Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes.
+ * Revision 1.2 2000/03/01 18:18:39Z rsattari
+ * Isotel release 2.3 updates.
+ * Revision 1.3 1999/03/22 18:03:15 bcassidy
+ * 1. Add more token ids.
+ *
+ * Revision 1.2 1998/09/25 20:49:58 pjiang
+ * updated the tokens to 250
+ *
+ * Revision 1.1 1998/02/05 21:41:34 dehman
+ * Initial revision
+ *
+ * Revision 1.1 1997/11/06 17:49:24 mhayduk
+ * Initial revision
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+#ifndef _TOKENS_H_
+
+ #define _TOKENS_H_ 1
+
+#define TK01 1
+#define TK02 2
+#define TK03 3
+#define TK04 4
+#define TK05 5
+#define TK06 6
+#define TK07 7
+#define TK08 8
+#define TK09 9
+#define TK10 10
+#define TK11 11
+#define TK12 12
+#define TK13 13
+#define TK14 14
+#define TK15 15
+#define TK16 16
+#define TK17 17
+#define TK18 18
+#define TK19 19
+#define TK20 20
+#define TK21 21
+#define TK22 22
+#define TK23 23
+#define TK24 24
+#define TK25 25
+#define TK26 26
+#define TK27 27
+#define TK28 28
+#define TK29 29
+#define TK30 30
+#define TK31 31
+#define TK32 32
+#define TK33 33
+#define TK34 34
+#define TK35 35
+#define TK36 36
+#define TK37 37
+#define TK38 38
+#define TK39 39
+#define TK40 40
+#define TK41 41
+#define TK42 42
+#define TK43 43
+#define TK44 44
+#define TK45 45
+#define TK46 46
+#define TK47 47
+#define TK48 48
+#define TK49 49
+#define TK50 50
+#define TK51 51
+#define TK52 52
+#define TK53 53
+#define TK54 54
+#define TK55 55
+#define TK56 56
+#define TK57 57
+#define TK58 58
+#define TK59 59
+#define TK60 60
+#define TK61 61
+#define TK62 62
+#define TK63 63
+#define TK64 64
+#define TK65 65
+#define TK66 66
+#define TK67 67
+#define TK68 68
+#define TK69 69
+#define TK70 70
+#define TK71 71
+#define TK72 72
+#define TK73 73
+#define TK74 74
+#define TK75 75
+#define TK76 76
+#define TK77 77
+#define TK78 78
+#define TK79 79
+#define TK80 80
+#define TK81 81
+#define TK82 82
+#define TK83 83
+#define TK84 84
+#define TK85 85
+#define TK86 86
+#define TK87 87
+#define TK88 88
+#define TK89 89
+#define TK90 90
+#define TK91 91
+#define TK92 92
+#define TK93 93
+#define TK94 94
+#define TK95 95
+#define TK96 96
+#define TK97 97
+#define TK98 98
+#define TK99 99
+#define TK100 100
+#define TK101 101
+#define TK102 102
+#define TK103 103
+#define TK104 104
+#define TK105 105
+#define TK106 106
+#define TK107 107
+#define TK108 108
+#define TK109 109
+#define TK110 110
+#define TK111 111
+#define TK112 112
+#define TK113 113
+#define TK114 114
+#define TK115 115
+#define TK116 116
+#define TK117 117
+#define TK118 118
+#define TK119 119
+#define TK120 120
+#define TK121 121
+#define TK122 122
+#define TK123 123
+#define TK124 124
+#define TK125 125
+#define TK126 126
+#define TK127 127
+#define TK128 128
+#define TK129 129
+#define TK130 130
+#define TK131 131
+#define TK132 132
+#define TK133 133
+#define TK134 134
+#define TK135 135
+#define TK136 136
+#define TK137 137
+#define TK138 138
+#define TK139 139
+#define TK140 140
+#define TK141 141
+#define TK142 142
+#define TK143 143
+#define TK144 144
+#define TK145 145
+#define TK146 146
+#define TK147 147
+#define TK148 148
+#define TK149 149
+#define TK150 150
+#define TK151 151
+#define TK152 152
+#define TK153 153
+#define TK154 154
+#define TK155 155
+#define TK156 156
+#define TK157 157
+#define TK158 158
+#define TK159 159
+#define TK160 160
+#define TK161 161
+#define TK162 162
+#define TK163 163
+#define TK164 164
+#define TK165 165
+#define TK166 166
+#define TK167 167
+#define TK168 168
+#define TK169 169
+#define TK170 170
+#define TK171 171
+#define TK172 172
+#define TK173 173
+#define TK174 174
+#define TK175 175
+#define TK176 176
+#define TK177 177
+#define TK178 178
+#define TK179 179
+#define TK180 180
+#define TK181 181
+#define TK182 182
+#define TK183 183
+#define TK184 184
+#define TK185 185
+#define TK186 186
+#define TK187 187
+#define TK188 188
+#define TK189 189
+#define TK190 190
+#define TK191 191
+#define TK192 192
+#define TK193 193
+#define TK194 194
+#define TK195 195
+#define TK196 196
+#define TK197 197
+#define TK198 198
+#define TK199 199
+#define TK200 200
+#define TK201 201
+#define TK202 202
+#define TK203 203
+#define TK204 204
+#define TK205 205
+#define TK206 206
+#define TK207 207
+#define TK208 208
+#define TK209 209
+#define TK210 210
+#define TK211 211
+#define TK212 212
+#define TK213 213
+#define TK214 214
+#define TK215 215
+#define TK216 216
+#define TK217 217
+#define TK218 218
+#define TK219 219
+#define TK220 220
+#define TK221 221
+#define TK222 222
+#define TK223 223
+#define TK224 224
+#define TK225 225
+#define TK226 226
+#define TK227 227
+#define TK228 228
+#define TK229 229
+#define TK230 230
+#define TK231 231
+#define TK232 232
+#define TK233 233
+#define TK234 234
+#define TK235 235
+#define TK236 236
+#define TK237 237
+#define TK238 238
+#define TK239 239
+#define TK240 240
+#define TK241 241
+#define TK242 242
+#define TK243 243
+#define TK244 244
+#define TK245 245
+#define TK246 246
+#define TK247 247
+#define TK248 248
+#define TK249 249
+#define TK250 250
+#define TK251 251
+#define TK252 252
+#define TK253 253
+#define TK254 254
+#define TK255 255
+
+#endif
+
+
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/wbios.h b/mcu/interface/protocol/as_c2k/1xrtt/wbios.h
new file mode 100644
index 0000000..0dd8bd0
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/wbios.h
@@ -0,0 +1,1257 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2016
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Module: wbios.h
+ *
+ * Purpose: WBIOS definitions and prototypes.
+ *
+ ****************************************************************************
+ *
+ * PVCS Header Information
+ *
+ *
+ * $Log: wbios.h $
+ *
+ * 11 03 2019 yanfeng.xu
+ * [MOLY00455977] [MT6885][Petrus][Q0][MP1][SI2][SQC][China][Guangzhou][4GMM][FT][MDST][CAT][FTAA][CT+CMCC][GZ-HOTEL][ASSERT]file:mcu/l1/mml1/mml1_tx/md97/src/mml1_tx_txsys_glb.c line:385
+ *
+ * 08 14 2019 tina.ma
+ * [MOLY00430774] [VMOLY]code merge from UMOLYE--MIPI feature for C2K PSW
+ *
+ * .
+ *
+ * 12 18 2018 danny.dai
+ * [MOLY00370973] [MT6779][Lafite][P0][BSP+][MP2][CTC FT][SH][om_c2k6m][Benchmark][FT_SQC_CS Performace_08]DUT MTC failure 12 times however REF-MI 8 se failure 1 times
+ *
+ * VMOLY.EVB.SEPT.DEV: opt for PCH resync denied issue
+ *
+ * 09 07 2018 yanfeng.xu
+ * [MOLY00342318] [MoDIS on Linux] MoDIS built by Clang toolchain on Linux
+ *
+ * 05 15 2018 tina.ma
+ * [MOLY00326014] [Gen95][MSPM] SW changes check in UMOLYE
+ *
+ * MSPM feature merge to UMOLYE
+ *
+ * 07 21 2017 jiayong.zhang
+ * [MOLY00265972] [Gen93]Merge code from R1 to TRUNK
+ *
+ * .
+ *
+ * 07 18 2017 adel.liao
+ * [MOLY00243822] [6293][C2K][HLP]code modify according to UT on UMOLYA TRUNK.
+ *
+ * UT stub and remove unused code in HLP
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ *
+ * 07 04 2017 yanfeng.xu
+ * [MOLY00261290] [BIANCO][MT6763][RDIT][L+L][BringUp]md1:(MCU_core0.vpe1.tc1(VPE1)) [ASSERT] file:mcu/l1core/modem/el1/el1d/src/tx/ltxerrorcheck.c line:132
+ *
+ * 07 04 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * ::KAL type - L3, folder ps
+ *
+ * 05 19 2017 gavin.zhang
+ * [MOLY00247455] [6293][C2K][PS]Change KAL timer API to event scheduler API
+ *
+ * .
+ *
+ * 05 17 2017 peijun.zheng
+ * [MOLY00249027] [BIACNO][MT6763][New feature]C2K code release code modification
+ *
+ * C2k code release.
+ *
+ * 02 24 2017 yanfeng.xu
+ * [MOLY00231771] SIXTH00016527 merge to UMOLYA TRUNK
+ *
+ * 02 15 2017 danny.dai
+ * [MOLY00229716] [new feature]C2K EM Develop: 1xL3 and EvL3 module codes
+ *
+ * L3 EM: 1xrtt and evdo code for EM
+ *
+ * 02 14 2017 peijun.zheng
+ * [MOLY00226757] [Bianco Bring-up][C2K]Fix the problem of L3 UIM notify msg
+ *
+ * PSW UIM enhance
+ *
+ * 01 22 2017 lily.ruan
+ * [MOLY00225859] [6293][C2K]Merge CL from T0 branch to Trunk branch.
+ *
+ * merge access delay feature
+ *
+ * 01 12 2017 peijun.zheng
+ * [MOLY00221576] [6293][C2K] Fix the problem of bit 64 msg process, UIM enhance bug, Nvram register enhance
+ *
+ * 12 01 2016 sue.zhong
+ * [MOLY00213777] [6293][C2K]Sync C2K code to UMOLYA TRUNK(W1648)
+ * Update C2K source
+ *
+ * 11 09 2016 sue.zhong
+ * [MOLY00208435] [6293][C2K]Sync C2K code to UMOLYA TRUNK
+ * Update C2K PS code (1/2)
+ * Revision 1.14 2006/01/24 12:39:16 wavis
+ * Fix GetNam to always get active NAM.
+ * Revision 1.13 2005/12/21 11:32:26 hans
+ * Updated qpch algorithm and new L1 interface.
+ * Revision 1.12 2005/10/28 10:46:58 blee
+ * Add MMI event for packet data call status
+ * Revision 1.11 2005/10/27 11:59:21 vsethuraman
+ * CR 7079 :- OOSA event defined
+ * Revision 1.10 2005/10/26 13:09:25 hans
+ * cr7085 - Create new MMI Orig User Cancel event indication
+ * Revision 1.9 2005/08/17 14:11:05 hans
+ * CR6900 - Enhanced qpch indicator detection algorithm [DSPM/L1D/PSW]. CR6902 - Immediate PSW-L1D wake message for PCH/FCCCH
+ * Revision 1.8 2005/08/02 16:28:43 wfu
+ * - Add wbiosRschPowerSet prototype.
+ * - Delete wbiosSetTAdd prototype.
+ * Revision 1.7 2005/05/09 17:46:58 wfu
+ * Add #define EV_CONN_COMPLETE 85
+ * Revision 1.6 2005/03/18 11:46:03 hans
+ * Merged code changes from CBP4.05 revision 2.02 to CBP4.05 revision 4.21.
+ * Revision 1.5 2004/09/28 16:55:55 hans
+ * Changes from CBP6.0 merged.
+ * Revision 1.4 2004/04/23 10:51:18 asharma
+ * CBP6.1 (Phase-1) DV Data and Voice Call Setup changes.
+ * Revision 1.3.1.2 2004/04/14 15:21:03 asharma
+ * Revision 1.3 2004/04/06 14:02:27 dstecker
+ * CBP6.1 release 1
+ * Revision 1.2 2004/03/25 12:09:49 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.3 2004/02/10 12:50:57 bcolford
+ * Merged CBP4.0 Release 8.05.0 changes.
+ * Revision 1.70 2003/12/02 18:07:55 akayvan
+ * Added the prototype for wbiosSrchResultsComplete().
+ * Revision 1.69 2003/11/06 11:19:41 ameya
+ * Changed STORED_SID_NID to STORED_POS_SID_NID.
+ * Revision 1.68 2003/08/13 15:09:09 mclee
+ * Remove arguement from sccCPServiceOptionValidation()
+ * Revision 1.67 2003/08/01 13:34:03 mclee
+ * Fix CR2506 by removing all instances of CBP3 compile flag and dead code
+ * Revision 1.66 2003/05/05 14:23:29 ameya
+ * Deleted the cpIS95NAMParms structure that is now merged into IS95NAMParms structure.
+ * Revision 1.65 2003/04/30 09:34:18 mclee
+ * Deleted prototype wbiosSrReorigCall(). Added prototype wbiosReorigCall().
+ * Revision 1.64 2003/04/28 10:49:51 byang
+ * CR#2165: Add data structure definition for R-SCH Config. Update
+ * and function prototype for wbiosRevSchConfigUpdate().
+ * Revision 1.63 2003/03/13 16:36:54 byang
+ * CR#1821: Add definition for data structure
+ * cpForSchL1dConfigUpdate and function prototype declaration
+ * for wbiosForSchConfigUpdate().
+ * Revision 1.62 2002/12/30 19:09:26 akayvan
+ * Per CR570, Cosmetic changes for replacement of
+ * IS2000A with either IS2000_REV_A or IS2000_REV_0.
+ * Revision 1.61 2002/12/26 15:07:56 dstecker
+ * Conditional compile flag IS2000A replaced with IS_2000_REV_A and IS_2000_REV_0
+ * Revision 1.60 2002/12/26 12:08:41 hans
+ * Conditional compile flag IS2000A replaced with IS_2000_REV_A and IS_2000_REV_0 for rev A and Rev 0 specific code.
+ * Revision 1.59 2002/11/21 12:29:07 bcolford
+ * Add prototype to support new RSSI reset callout.
+ * Revision 1.58.1.2 2002/11/12 15:52:00 bcolford
+ * Add prototype for a callout to reset the L1A Rssi state machines
+ * and queues prior to scanning a set of AMPS channels.
+ * Revision 1.58.1.1 2002/10/31 18:24:09 bcolford
+ * Duplicate revision
+ * Revision 1.58 2002/10/31 18:24:09 amala
+ * Changed RMS Error Phase parameter type to kal_uint8.
+ * Revision 1.57 2002/10/18 15:26:10 snreddy
+ * Modified wbiosForSch() and wbiosRevSch() to conform to the
+ * multiple SCh assignment design.
+ * Revision 1.56 2002/09/30 15:15:42 mshaver
+ * Changes to support the single NAM data structure type
+ * definition PswIs95NamT, of type packed.
+ * Revision 1.55 2002/09/10 16:50:35 bcolford
+ * Update the prototype for GetRSSI() function.
+ * Revision 1.54 2002/08/27 17:11:09 byang
+ * Update API for wbiosRsrAlloc(), wbiosRsrDealloc(), and
+ * wbiosResourceUpdate().
+ * Revision 1.53 2002/08/26 16:25:00 ameya
+ * Added events EV_CDMA_INSVC and EV_AMPS_INSVC to the set of events in PE.
+ * Revision 1.52 2002/08/22 11:08:10 agontar
+ * Change some static data to be declared constant - CR 1070
+ * Revision 1.51 2002/08/21 14:47:24 chinh
+ * Modified wbiosAccessMessageAbort() function prototype (CR917).
+ * Revision 1.50 2002/08/19 10:46:26 dstecker
+ * CBP4 candidate frequency implimentation
+ * Revision 1.49 2002/08/09 10:25:42 bcolford
+ * Add prototype to support Amps Focc Idle Mode (or power saving)
+ * control.
+ * Revision 1.48 2002/07/26 14:13:29 ameya
+ * Added negative sids/nids and stored negative sid/nid parameter to cpIS95NAMParms structure.
+ * Revision 1.47.3.2 2002/07/26 09:21:32 bcolford
+ * Add new prototype and macros for controlling Focc Idle Mode
+ * operation
+ * Revision 1.47.3.1 2002/07/16 10:30:39 bcolford
+ * Duplicate revision
+ * Revision 1.47 2002/07/16 10:30:39 dstecker
+ * Work around for TA timer expiration on access probes
+ * Revision 1.46 2002/07/15 13:16:03 chinh
+ * Removed compile switch CBP3_MERGE (CR598).
+ * Revision 1.45 2002/07/11 18:22:33 byang
+ * CR #421: Add EV_RETRY_TIMER_ACTIVE &
+ * EV_RETRY_TIMER_INACTIVE event to notify MMI when
+ * a retry order from the network is in forced.
+ * CR #952: Update function prototype for wbiosReportBurstDTMF().
+ * Revision 1.44 2002/06/13 13:59:58 hans
+ * Statistics functions already disabled with ifdef removed.
+ * Revision 1.43 2002/06/07 14:15:54 chinh
+ * Modified wbiosAccessMessageAbort function prototype to take
+ * the sendTime and preamble size as parameters (CR702).
+ * Revision 1.42 2002/06/06 13:16:07 chinh
+ * Changed and Added Copyright
+ * Revision 1.41 2002/05/31 20:10:21 akayvan
+ * QPCH/PI mods.
+ * Revision 1.40 2002/05/29 15:21:42 ameya
+ * Added prototype for wbiosCssValidateSyncMsg().
+ * Revision 1.39 2002/05/14 20:42:25 hans
+ * CR ID636 bug fix for retrievable and settable parameters.
+ * Revision 1.38 2002/05/10 14:07:27 ameya
+ * Added prototype for wbiosL1dSyncMsgRecvd().
+ * Revision 1.37 2002/05/07 16:29:01 byang
+ * Add function prototype declaration for
+ * wbiosSccGetDefaultServiceConfiguration().
+ * Revision 1.36 2002/03/28 18:26:10 hans
+ * is2000 rev 0 add 2, retrievable and settable parameters implemented.
+ * Revision 1.35 2002/03/01 16:30:06 AMALA
+ * Added Location Services AFLT functionality.
+ * Revision 1.34 2002/02/19 14:06:22 akayvan
+ * Prototype for wbiosReversePowerSet() was modified, also the
+ * declaration for wbiosTrafficChannelPowerStep() was commented
+ * out since it's now merged with wbiosReversePowerSet().
+ * Revision 1.33 2002/02/14 16:24:39 byang
+ * CR373: Add function prototype declaration for
+ * wbiosSccIsServOptionAttributeAvailable().
+ * Revision 1.32 2002/02/13 13:25:42 mshaver
+ * Revision description clean up.
+ * Revision 1.31 2002/02/12 17:21:12 bcolford
+ * Add the abbreviated alert, reorder and intercept processing on the
+ * voice channel as requested by a customer
+ * Revision 1.30 2002/02/06 11:49:56 mclee
+ * Add prototype wbiosAMPSGetkal_uint16Counts
+ * Revision 1.29 2002/01/31 13:52:41 bcolford
+ * Add the hooks for Idle Mode processing.
+ * Revision 1.28 2002/01/17 17:32:20 akayvan
+ * Implemented Slotted Mode mods.
+ * Revision 1.27 2002/01/10 17:12:24 AMALA
+ * Added emergency mode processing for new system selection.
+ * Revision 1.26 2002/01/02 10:13:21 AMALA
+ * Added new system selection changes.
+ * Added system re-scan functionality.
+ * Revision 1.25 2001/12/19 15:10:54 bcolford
+ * Make FrameIndex a 32 bit value so message cracking will work
+ * better.
+ * Revision 1.24 2001/12/14 17:13:14 mclee
+ * prototype wbiosPSInfoRsp()
+ * Revision 1.23 2001/11/20 12:34:32 mclee
+ * Add prototype wbiosReportNamInfo and struct cpModNamparms.
+ * Revision 1.22 2001/11/13 17:51:57 byang
+ * Added support for FSCH, RSCH, control hold and active for FCH.
+ * Revision 1.21 2001/11/08 12:31:59 AMALA
+ * Deleted unused function prototypes:
+ * wbiosGetActivePilotStrengthDbQ()
+ * wbiosGetMeanInputPower()
+ * Revision 1.20 2001/10/31 11:07:34 akayvan
+ * Modified wbiosReversePowerSet() parameter declaration type from
+ * kal_uint8 to kal_int8.
+ * Revision 1.19 2001/10/17 16:58:12 bcolford
+ * Add FOCC Duty Cycling Power Saving feature
+ * Revision 1.18 2001/10/08 14:48:07 mclee
+ * prototype wbiosReportPrlInfo()
+ * Revision 1.17 2001/09/17 14:11:51 AMALA
+ * CBP3 System Selection port
+ * Revision 1.16 2001/09/07 18:11:49 akayvan
+ * Added declaration for the new function
+ * wbiosForPowerControlParams() per FPC.
+ * Revision 1.15 2001/08/30 15:04:37 byang
+ * Modified wbiosSCServiceConfigurationValidation() to accept
+ * an enumeration instead of a Boolean.
+ * Revision 1.14 2001/08/03 15:15:48 dstecker
+ * Modifications for IS2000 handoffs
+ * Revision 1.13 2001/07/18 15:16:42 chinh
+ * cbp3 porting for Idle and Access
+ * Revision 1.12 2001/06/19 10:33:06 byang
+ * Changed the first parameter, pilotSeq, of wbiosPilotSet() from
+ * kal_int8 to kal_int16 for compatibility.
+ * Revision 1.11 2001/06/13 18:00:55 byang
+ * Changed the first parameter, pilotSeq, of wbiosPilotSet() from
+ * kal_uint8 to kal_int8 for compatibility.
+ * Revision 1.10 2001/06/12 15:46:07 byang
+ * Changed the first input parameter, pilotSeq, for
+ * engRelayPilotMeasureReport() from kal_uint8 to kal_int16.
+ * Revision 1.9 2001/05/29 14:19:27 akayvan
+ * Commented out the declaration for wbiosReportPwrRepFrames()
+ * per CR#17.
+ * Revision 1.8 2001/04/03 18:21:02 akayvan
+ * Added wbiosFDSCHAcqInd().
+ * Revision 1.7 2001/03/28 16:09:20 akayvan
+ * Removed declaration for wbiosFcschMonitorStop() per L1D
+ * request. Reduced the number of arguments for the function
+ * declaration of wbiosTrafficChannelSendMessage().
+ * Revision 1.6 2001/03/16 11:36:36 akayvan
+ * Traffic code phase1 added.
+ * Revision 1.5 2001/02/14 10:06:30 dstecker
+ * fixed a vanishing prototype
+ * Revision 1.3 2001/02/09 17:01:56 dstecker
+ * fix compile warnings (none where bugs)
+ * Revision 1.2 2001/01/29 18:20:53 dstecker
+ * new access probe architecture
+ * Revision 1.1 2001/01/17 10:59:55 plabarbe
+ * Initial revision
+ * Revision 1.3 2000/12/05 17:45:38 byang
+ * Idle mode - IS2000A Addendum modifications.
+ * Revision 1.2 2000/11/13 14:27:26 byang
+ * IS-2000A Idle Mode and LAC integration - Initial Release.
+ * Revision 1.1 2000/10/24 21:11:38Z fpeng
+ * Initial revision
+ * Revision 1.12 2000/09/23 02:37:48Z rnookala
+ * removed function protoype wbiosGetPrl
+ * Revision 1.11 2000/09/09 00:07:08Z RSATTARI
+ * Added function proto for wbiosReportFull SystemTime().
+ * Revision 1.10 2000/08/31 23:42:01Z bcolford
+ * Replaced AMPS_SUPPORTED with SYS_OPTION_AMPS.
+ * Revision 1.9 2000/08/23 22:24:32Z rnookala
+ * Isotel release 2.8
+ * Revision 1.8 2000/07/27 01:31:20Z hhong
+ * To add prototye for wbiosAccesptLongCodeChangeReq to get rid of
+ * compiler warning.
+ * Revision 1.7 2000/06/01 15:23:38Z bcolford
+ * Removed prototype to wbiosAMPSL1dStartup() function.
+ * Revision 1.6 2000/05/19 01:19:19Z hhong
+ * To add wbiosReportCPDisconnect
+ * Revision 1.5 2000/03/31 16:58:09Z cmastro
+ * fixed merge misshap
+ * Duplicate revision
+ * Revision 1.2 2000/03/01 18:18:44Z rsattari
+ * Isotel release 2.3 updates.
+ * Revision 1.66 2000/01/25 16:41:18 gfrye
+ * Missed name change in function prototype.
+ *
+ * Revision 1.65 2000/01/25 14:38:32 gfrye
+ * Changed PRL list structure name to Is683PrlList to avoid name
+ * conflict with OTA and removed unused elements.
+ *
+ * Revision 1.64 2000/01/24 16:33:20 gfrye
+ * Changed "wbiosOtaGet" to wbiosGet" to avoid name conflict with OTASP.
+ *
+ * Revision 1.63 2000/01/21 22:14:17 gfrye
+ * Added new functions to get new values for NAM parameters.
+ *
+ * Revision 1.62 2000/01/17 22:27:19 scotvold
+ * TC Backward Compatibility changes.
+ *
+ * Revision 1.61 1999/12/23 18:54:23 gfrye
+ * Added wbiosSetTAdd to inform the SFM of the current value for T_ADD.
+ *
+ * Revision 1.60 1999/12/09 23:04:35 gfrye
+ * New functions for OTASP and PRL support.
+ *
+ * Revision 1.59 1999/09/11 00:20:19 scotvold
+ * Removed repeat flag from wbiosTrafficChannelSendMessage().
+ *
+ * Revision 1.58 1999/09/02 20:18:12 gfrye
+ * Added wbiosSCServiceOptionIsHSPD to determine if a particular
+ * rev 3+ page response or origination is for a HSPD service.
+ *
+ * Revision 1.57 1999/08/27 19:42:19 gfrye
+ * Expanded dynamic range of sleep times for wbiosOutOfServiceAreaSleep.
+ *
+ * Revision 1.56 1999/07/28 19:29:09 gfrye
+ * Added new prototype wbiosOosaWakeup to wake up L1 if an origination is
+ * received during OOSA sleep.
+ *
+ * Revision 1.55 1999/07/23 18:00:22 scotvold
+ * Changes to wbiosReportHandoff API call to indicate
+ * type of Hard Handoff.
+ *
+ * Revision 1.54 1999/06/20 04:28:09 scotvold
+ * Removed redundant declarations.
+ *
+ * Revision 1.53 1999/06/19 02:02:15 dfischer
+ * Added EV_TC_RELEASE_LOCK
+ *
+ * Revision 1.52 1999/06/11 02:11:13 mhayduk
+ * Added new CP response value for data burst sent indication
+ * from L3.
+ *
+ * Revision 1.51 1999/06/11 01:05:03 mhayduk
+ * Added reporting of packet zone ID and P_REVr.
+ *
+ * Revision 1.50 1999/06/04 23:27:26 scotvold
+ * New Message Transmitter.
+ *
+ * Revision 1.49 1999/05/19 20:21:30 mhayduk
+ * Removed wbiosSCHSPDEnabled().
+ * Added wbiosReportPacketZoneID().
+ *
+ * Revision 1.48 1999/05/18 17:37:14 dfischer
+ * Added wait for event EV_ANALOG_PAGE_RECEIVED when a page is received
+ *
+ * Revision 1.47 1999/05/04 21:29:20 mhayduk
+ * Added support to request voice privacy indication for indication
+ * in Page Response.
+ *
+ * Revision 1.46 1999/04/16 00:54:23 mhayduk
+ * Modified parameters passed in AMPS dtmf calls.
+ *
+ * Revision 1.45 1999/04/15 01:38:11 mhayduk
+ * Added reporting of pwr_rep_frames.
+ *
+ * Revision 1.44 1999/04/14 16:45:36 scotvold
+ * EV_TC_RELEASE_XX API changes.
+ * Conversation Quality Alarm API change.
+ *
+ * Revision 1.43 1999/04/12 13:31:46 scotvold
+ * Added T53 HSPD support.
+ * Added 95B SCAM support.
+ * Added 95B GHDM support and consolidated with EHDM.
+ *
+ * Revision 1.42 1999/03/18 19:55:25 mhayduk
+ * Added support for Searching Out of Service Area operation.
+ *
+ * Revision 1.41 1999/03/03 00:30:45 mhayduk
+ * Added support for reporting of PSIST failure.
+ *
+ * Revision 1.40 1999/02/24 04:10:38 scotvold
+ * Added Service Configuration Reject reason.
+ *
+ * Revision 1.39 1999/02/08 22:58:03 scotvold
+ * Changed Feature/Alert/Flash interfaces.
+ * Changed wbiosSCServiceOptionControl interfaces.
+ *
+ * Revision 1.38 1999/02/04 21:54:13 scotvold
+ * Added missing R1.2 changes.
+ *
+ * Revision 1.37 1999/01/26 18:52:17 scotvold
+ * R1.2 API changes.
+ *
+ * Revision 1.36 1999/01/21 17:21:55 lchhailo
+ * fixed syntax
+ *
+ * Revision 1.35 1999/01/20 23:39:20 mhayduk
+ * Added broadcast parameter to wbiosReportDataBurst.
+ *
+ * Revision 1.34 1999/01/20 23:23:12 scotvold
+ * R1.20 API CP Event changes.
+ *
+ * Revision 1.33 1999/01/09 00:41:07 scotvold
+ * R1.20 API changes.
+ *
+ * Revision 1.32 1999/01/07 18:45:27 dfischer
+ * Added wbiosReportMessageWaiting
+ *
+ * Revision 1.31 1999/01/07 16:32:10 mhayduk
+ * Added new wrapper calls: wbiosSystemSelection and
+ * wbiosReportAccessMaxCapsuleSize.
+ *
+ * Revision 1.30 1999/01/06 19:02:35 dfischer
+ * Added EV_MAINTENANCE
+ *
+ * Revision 1.29 1998/12/02 16:25:27 mhayduk
+ * Updated to remove non-T53 structures and calls.
+ *
+ * Revision 1.28 1998/12/02 01:51:30 scotvold
+ * Added T53 guards for #include.
+ *
+ * Revision 1.27 1998/12/02 00:12:51 scotvold
+ * Added statistics.
+ *
+ * Revision 1.26 1998/11/27 17:44:42 mhayduk
+ * Cleaned up event names.
+ *
+ * Revision 1.25 1998/11/27 00:34:25 dfischer
+ * Added EV_DIALING_COMPLETE and EV_DIALING_CONTINUE
+ *
+ * Revision 1.24 1998/11/26 23:35:26 mhayduk
+ * Removed wbiosReportCallPageResponse().
+ *
+ * Revision 1.23 1998/11/26 23:09:59 mhayduk
+ * Remove wbiosReportSystemInfo().
+ *
+ * Revision 1.22 1998/11/26 22:07:27 mhayduk
+ * Added nwe API definitions for API doc rev. 1.12.
+ *
+ * Revision 1.21 1998/11/03 01:15:00 guterman
+ * Fixed typo in wbios function
+ *
+ * Revision 1.20 1998/11/02 22:15:25 scotvold
+ * Added Service Option/Multiplex Option record support.
+ *
+ * Revision 1.19 1998/10/20 23:58:23 mhayduk
+ * Added T53 support.
+ *
+ * Revision 1.18 1998/09/22 18:44:57 tdaly
+ * Added IS-95 analog mode support.
+ *
+ * Revision 1.17 1998/09/11 16:22:48 scotvold
+ * Handoff API changes.
+ *
+ * Revision 1.16 1998/09/11 02:42:30 scotvold
+ * Added return to Service Option Control API calls.
+ *
+ * Revision 1.15 1998/08/17 23:06:26 scotvold
+ * Added wbiosAcceptLongCodeChangeReq() call.
+ *
+ * Revision 1.14 1998/08/14 23:50:28 scotvold
+ * Added Data Burst support.
+ *
+ * Revision 1.13 1998/08/13 00:15:20 scotvold
+ * Added DTMF support.
+ *
+ * Revision 1.12 1998/07/31 16:11:29 scotvold
+ * wbiosSetCallHistParameter() change.
+ *
+ * Revision 1.11 1998/07/27 17:19:55 scotvold
+ * API change for wbiosServiceConfigurationValidation() and wbiosServiceOptionValidation().
+ *
+ * Revision 1.10 1998/07/14 17:26:44 scotvold
+ * Service Configuration Initiation, Transmitter Control, and RTC Traffic Type calls added.
+ *
+ * Revision 1.9 1998/07/03 16:57:30 dfischer
+ * New load
+ *
+ * Revision 1.8 1998/06/12 14:50:38 scotvold
+ * Updated for Release 0.07.
+ *
+ * Revision 1.7 1998/06/10 22:58:04 scotvold
+ * Traffic Channel API updates
+ *
+ * Revision 1.6 1998/06/08 21:48:25 scotvold
+ * Updated for Release 0.06.
+ *
+ * Revision 1.5 1998/05/27 17:16:28 scotvold
+ * Updated for Release 0.05.
+ *
+ * Revision 1.4 1998/05/01 18:13:54 scotvold
+ * Update for release 0.04
+ *
+ * Revision 1.3 1998/03/30 23:26:03 mhayduk
+ * Release 0.03.
+ *
+ * Revision 1.1 1997/11/06 17:49:24 mhayduk
+ * Initial revision
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+#ifndef _WBIOS_H_
+
+ #define _WBIOS_H_ 1
+
+/*****************************************************************************
+ * Includes
+ ****************************************************************************/
+#include "systime.h"
+#include "longcode.h"
+#include "channel.h"
+#include "pilots.h"
+#include "Serv_cfg.h"
+#include "status.h"
+#include "layer2.h"
+#include "srbp_access.h"
+#include "register.h"
+#include "Msg_defn.h"
+#include "pch_msg.h"
+#include "stats.h"
+#include "ho_cf.h"
+#include "pswnam.h"
+#include "lmdapi.h"
+#include "valapi.h"
+#include "eng_idle.h"
+#include "psw_msgid.h"
+#include "css_msgid.h"
+#include "hlp_msgid.h"
+#include "uim_msgid.h"
+#include "lec_msgid.h"
+
+#ifdef MTK_CBP_SYNC_OPTIMIZE
+#include "hscapi.h"
+#endif /* MTK_CBP_SYNC_OPTIMIZE */
+
+#ifdef MTK_CBP_REL_OPTIMIZE
+#include "valpswapi.h"
+#endif
+
+#include "xl3_em.h"
+#include "Msg_defn.h"
+#include "psw_dhl_trace.h"
+
+#ifdef MTK_DEV_C2K_IRAT
+#include "mspm_public_api.h"
+#endif /* MTK_DEV_C2K_IRAT */
+
+/*****************************************************************************
+ * Defines
+ ****************************************************************************/
+
+
+/* Call Processing Response Types */
+#define CP_RSP_BURST_DTMF 1
+#define CP_RSP_CONT_DTMF_ON 2
+#define CP_RSP_CONT_DTMF_OFF 3
+#define CP_RSP_DATA_BURST 4
+#define CP_RSP_DATA_BURST_SENT 5
+#define CP_RSP_FLASH 6
+#define CP_RSP_VP 7
+#define CP_REJ_INVALID_STATE 8
+#define CP_REJ_TC_TXQ_FULL 9
+#define CP_REJ_FC_ERROR 10
+#define CP_REJ_ORDER_ERROR 11
+#define CP_REJ_FMT_OVERFLOW 12
+
+/* Handoff Types */
+#define HO_IDLE_SAME_SYSTEM 1
+#define HO_IDLE_NEW_SYSTEM 2
+#define HO_SOFT 3
+#define HO_HARD 4
+#define HO_TC_TO_AVC 5
+
+/* Service Configuration Request */
+#define SC_REQ_SERV_CFG 1
+#define SC_REQ_SERV_OPT 2
+#define SC_REQ_SERV_CTL 3
+
+/* Service Configuration Response */
+#define SC_RSP_SERV_CFG_REQ 1
+#define SC_RSP_SERV_OPT_REQ 2
+#define SC_RSP_SERV_CTL_REQ 3
+#define SC_IND_SERV_CFG_COMPLETE 4
+#define SC_REJ_BS_REJECT 5
+#define SC_REJ_INVALID_STATE 6
+#define SC_REJ_TC_TXQ_FULL 7
+#define SC_REJ_FC_ERROR 8
+#define SC_REJ_SNM_ERROR 9
+#define SC_REJ_NO_CONN 10
+#define SC_REJ_FMT_OVERFLOW 11
+
+/* These macros specify the operation of AMPS Idle Mode Processing */
+#define FOCC_IDLE_MODE_DISABLE 0
+#define FOCC_IDLE_MODE_ENABLE 1
+
+/* These macros are used to control the AMPS RSSI mechanism */
+#define RSSI_FOR_DISPLAY_ONLY 0
+#define RSSI_FOR_NORMAL_SCANNING 1
+
+#define MAX_SID_NID_PAIRS 20
+#define MAX_IMSI_T_S_SIZE 5
+
+#define NO_SERVICE_TIMEOUT 60000L
+/* Traffic channel message transmission priority levels */
+typedef enum
+{
+ PRIORITY_LOW = 0,
+ PRIORITY_MEDIUM,
+ PRIORITY_HIGH
+} Priority;
+
+/*
+ * IS-95B Authentication Data
+ */
+typedef struct {
+ kal_uint32 A_KEY[2];
+ kal_uint8 SSDa[8];
+ kal_uint8 SSDb[8];
+} cpIS95AuthParms;
+
+/* NAM values requiring.
+ * Parameter Change Registration
+ */
+typedef struct {
+ kal_uint8 slotCycleIndex;
+ kal_uint8 scm;
+ kal_bool mobTermHome;
+ kal_bool mobTermForSid;
+ kal_bool mobTermForNid;
+} cpPcrParms;
+
+/* Forward SCH Assignments */
+typedef struct
+{
+ kal_uint16 pilotPn;
+ kal_uint16 forSchCcIndex;
+ kal_uint8 qofMaskIdSch;
+} cpSupShoRec;
+
+typedef struct
+{
+ kal_uint8 forSchId;
+ SchRateIndex forSchRate;
+ kal_uint8 forSchDuration;
+ WbiosSystime forSchActionTime;
+ kal_uint8 numSupSho;
+ cpSupShoRec supSho[ CP_MAX_SUP_SHO ];
+} cpForSchRec;
+
+typedef struct
+{
+ kal_uint8 schId;
+ kal_uint8 fer;
+ kal_int16 initSetpt;
+ kal_uint8 minSetpt;
+ kal_uint8 maxSetpt;
+} cpFpcParams;
+
+typedef struct
+{
+ kal_bool fpcPriChansIncl;
+ kal_uint8 fpcPriChans;
+ kal_uint8 pilotGatingUseRate;
+ kal_bool forSchFerRep;
+ kal_uint8 numForSch;
+ cpForSchRec forSch[ CP_MAX_FOR_SCH ];
+ kal_bool fpcSchIncl;
+ kal_uint8 fpcModeSch;
+ kal_uint8 fpcSecChan;
+ kal_uint8 fpcSchInitSetptOp;
+ kal_bool fpcThreshSchIncl;
+ kal_uint8 fpcSetptThreshSch;
+ kal_uint8 numSup;
+ kal_bool fpcSchInitSetptIncl;
+ cpFpcParams fpcSchSetpt[ CP_MAX_FOR_SCH ];
+} cpForSchL1dAssign;
+
+
+typedef struct
+{
+ kal_bool droppingFchSchPilot;
+ kal_uint8 numForSch;
+ kal_uint8 numSupSho[ CP_MAX_FOR_SCH ];
+ cpSupShoRec supSho[ CP_MAX_FOR_SCH ][ CP_MAX_SUP_SHO ];
+} cpForSchL1dConfigUpdate;
+
+
+/* Reverse SCH Assignments */
+typedef struct
+{
+ kal_uint8 revSchId;
+ kal_uint8 revSchDuration;
+ WbiosSystime revSchActionTime;
+ SchRateIndex revSchRate;
+ kal_uint8 revWalshId;
+ kal_int16 pilotRefLevel;
+ kal_int16 rschPower;
+} cpRevSchL1dRec;
+
+
+typedef struct
+{
+ kal_uint8 revSchDtxDuration;
+ kal_uint8 numRevSch;
+ cpRevSchL1dRec revSchRec[ CP_MAX_REV_SCH ];
+} cpRevSchL1dAssign;
+
+typedef struct {
+ kal_uint16 FIRSTCHP;
+ kal_uint16 HOME_SID;
+ kal_uint8 EX;
+ kal_uint8 COUNT;
+ kal_uint8 SLOTTED_MODE;
+ kal_uint8 IMSI_M_CLASS;
+ kal_uint8 IMSI_M_ADDR_NUM;
+ kal_uint16 MCC_M;
+ kal_uint8 IMSI_M_11_12;
+ kal_uint8 IMSI_M_S[5];
+ kal_uint8 ACCOLC;
+ kal_uint8 LOCAL_CONTROL;
+ kal_uint8 MOB_TERM_HOME;
+ kal_uint8 MOB_TERM_FOR_SID;
+ kal_uint8 MOB_TERM_FOR_NID;
+ kal_uint8 MAX_SID_NID;
+ kal_uint8 STORED_POS_SID_NID;
+ kal_uint16 SID[MAX_SID_NID_PAIRS];
+ kal_uint16 NID[MAX_SID_NID_PAIRS];
+ kal_bool Updated;
+} IS95NAMParms;
+
+typedef struct {
+ kal_uint8 IMSI_T_CLASS;
+ kal_uint8 IMSI_T_ADDR_NUM;
+ kal_uint16 MCC_T;
+ kal_uint8 IMSI_T_11_12;
+ kal_uint8 IMSI_T_S[MAX_IMSI_T_S_SIZE];
+ kal_bool Updated;
+} IS95IMSI_TParms;
+
+typedef struct
+{
+ kal_uint8 revSchId;
+ kal_uint8 revSchRate;
+ kal_uint8 revWalshId;
+} cpRevSchConfigRec;
+
+typedef struct
+{
+ kal_uint8 numRevSch;
+ cpRevSchConfigRec revSchConfigRec[ CP_MAX_REV_SCH ];
+} cpRevSchConfigUpdate;
+
+
+/* R-CQICH Gain level */
+typedef enum
+{
+ RCQICH_GAIN_LOW = 0,
+ RCQICH_GAIN_HIGH
+} RCqichGainLevel;
+
+
+/*****************************************************************************
+ * WBIOS prototypes
+ ****************************************************************************/
+
+ /* Distance Based registration */
+ kal_bool wbiosDistanceBasedReg(kal_int32 baseLat,kal_int32 baseLatRg,kal_int32 baseLong,
+ kal_int32 baseLongReg,kal_uint16 distance);
+ /* ESN & NVM Interface function prototypes */
+ void wbiosRetrieveChannel (SysBandChannelT *channel, kal_uint8 index);
+ void wbiosSaveChannel(SysBandChannelT *channel);
+ void wbiosSetReturnChannel (SysBandChannelT *channel, kal_bool withSyncCh);
+ void wbiosSetSSDA(kal_uint8 *ssda);
+ void wbiosSetSSDB(kal_uint8 *ssdb);
+ kal_bool wbiosInitializeAkey(kal_uint32 *a_key);
+ void wbiosSetCallHistParameter(kal_uint8 count);
+ void wbiosSetRand(kal_uint32 rand);
+ kal_uint8* wbiosGetPtrToPRL(void);
+ void wbiosSetSIDNIDList(SidNidList *entry);
+ void wbiosSetTMSIAssignment(kal_uint8 len,kal_uint8 *zone,kal_uint32 code,kal_uint32 expTime);
+ void wbiosSetZoneList(ZoneList *entry);
+ void wbiosDeleteZoneList(void);
+ void wbiosDeleteSIDNIDList(void);
+ void wbiosSetBaseDistanceRegInfo(kal_int32 baseLat,kal_int32 baseLong, kal_uint16 distance);
+
+ /* Call Progression Interface function prototypes */
+ void wbiosReportAlert(FORInfoData *alertData);
+ void wbiosReportMessageWaiting(kal_uint8 numMsgs);
+ void wbiosReportBurstDTMF( const kal_uint8 numOfDigits,
+ const kal_uint8 dtmfOnLength,
+ const kal_uint8 dtmfOffLength,
+ const char* digits );
+ void wbiosReportCPEvent(kal_uint8 event, kal_bool inclSO, PswServiceOptionT SO);
+ void wbiosReportCPResponse(kal_uint8 response, kal_uint8 request);
+ void wbiosReportCPStatus(ValRptCpStatusMsgT *status);
+ void wbiosReportDataBurst(kal_uint8 msgNumber, kal_uint8 burstType,kal_uint8 numMsgs,
+ kal_uint8 numFields,kal_uint8* data);
+ void wbiosReportBroadcastDataBurst(kal_uint8 addrLen, kal_uint8 *addr, kal_uint8 msgNumber,
+ kal_uint8 burstType, kal_uint8 numMsgs, kal_uint8 numFields,
+ kal_uint8* data);
+ kal_bool wbiosSccBcastConfigured(void);
+ kal_bool wbiosSccBcastExpected(kal_uint8 burstType, kal_uint8 addrLen, kal_uint8 *addr);
+ void wbiosReportFeatureNotification(FORInfoData *featureData);
+ void wbiosReportFlash(FORInfoData *ftcFlashData);
+ void wbiosReportHandoff(kal_uint8 type, HOTCReport* hoTCReport);
+ void wbiosReportLock(kal_uint8 reason);
+ void wbiosReportMaintenanceRequired(kal_uint8 reason);
+ void wbiosReportPacketZoneID(kal_uint8 zone);
+ void wbiosReportNetworkPRev(kal_uint8 pRev);
+ void wbiosReportNetworkPRevAndPRevInUse(kal_uint8 pRev, kal_uint8 pRevInUse);
+ void wbiosReportRegistrationAccept(kal_bool roamIndPresent, kal_uint8 roamInd);
+ void wbiosReportRegistrationReject(void);
+ void wbiosReportStartContinuousDTMF(char digit);
+ void wbiosReportStopContinuousDTMF(void);
+ void wbiosReportSystemTime(kal_uint8 *sysTime,kal_uint8 lpSec,kal_uint8 ltmOff,kal_uint8 dayLt);
+ void wbiosReportUnlock(void);
+ void wbiosSystemError(kal_uint16 error);
+ kal_bool wbiosSccIsServOptionAttributeAvailable( const kal_uint16 servOption );
+ ServiceConfiguration* wbiosSccGetDefaultServiceConfiguration( const kal_uint16 servOption );
+ ServiceConfiguration* wbiosSccGetPrefServiceConfiguration( kal_uint16 servOption );
+
+
+ /* Slotted Sleep Mode */
+ void wbiosSlottedModeEnable(kal_uint16 pgslot,
+ kal_uint8 slotCycleIndex,
+ kal_bool qpchEnabled,
+ kal_uint8 QPAGECHs,
+ kal_bool QPCH_RATEs/*,
+ kal_uint8 QPCH_POWER_LEVEL_PAGEs*/);
+
+ void wbiosSleep(WbiosSystime sysTime, kal_uint16 PIPosition, SleepType SleepType,
+ QpchTransPwr QpchRatioIdx, kal_uint16 TargetPN);
+ void wbiosSlottedModeDisable(void);
+ void wbiosSrchResultsComplete(void);
+ void wbiosWakeup(WakeModeT wakeMode);
+ void wbiosOosaWakeup(void);
+
+ /* Timer control */
+ kal_int16 wbiosSetTimer(kal_uint32 duration);
+ void wbiosSetTATimer(kal_uint32 duration);
+ void wbiosSetUimTimer(kal_uint32 duration);
+ void wbiosKillTimer(kal_int16 timerId);
+ void wbiosKillTATimer(void);
+ void wbiosKillUimTimer(void);
+
+ /* Channel Acquisition */
+ void wbiosPilotAcquireAbort(void);
+ void wbiosPilotAcquireStart(SysBandChannelT *channel);
+ void wbiosL1dPswRfReleaseReq(void);
+ void wbiosOutOfServiceAreaSleep(kal_uint16 tenthsOfSeconds);
+ void wbiosOosaContSleepReq(kal_uint32 sleepDuration);
+ void wbiosSyncToSystemTime(kal_uint16 frame, kal_uint16 pilotPN, Longcode *lcState,
+ SyncMsgSysTimeType* sysTime);
+ void wbiosSyncAcquireStart(void);
+ void wbiosSyncAcquireAbort(void);
+ void wbiosL1dSyncMsgRecvd(void);
+
+ /* Pilot monitoring */
+ void wbiosCDMACandFreqSearchParm(CFSet* set, CFSearchParms* parms);
+ void wbiosCDMACandFreqSearchStart( WbiosSystime* actionTime, kal_uint8 SearchOffset,
+ kal_uint8 totalOffTimeFwd, kal_uint8 totalOffTimeRev );
+ void wbiosSCNNServiceConfiguration(NNServiceConfiguration* servCfg,
+ WbiosSystime* actionTime);
+
+ void wbiosIdlePilotSet(kal_int16 pilotSeq, IdlePilotSet *set, kal_uint16 pilotInc);
+ void wbiosIdleChangePilotSet (IdleChangePilotSet*set);
+ void wbiosPilotSearchWindow(PilotSearchWindow *window);
+ void wbiosPilotSet(kal_int16 pilotSeq, PilotSet *set, kal_uint16 pilotInc);
+ void wbiosAfltPilotSet(kal_uint16 seqNum, kal_uint16 refPN, kal_int16 refTimeCrrct,
+ kal_uint8 numPilots, AfltPilotSetList *afltSet);
+ void wbiosAfltAbortPilotSet(kal_uint16 seqNum);
+
+ /* Paging Channel */
+ void wbiosPageMonitorStart(SysBandChannelT *channel, PageChRate rate,
+ kal_uint8 pagech, kal_uint16 pilotPN, Longcode *lcMask);
+ void wbiosPageMonitorStop(void);
+
+ /* Create wbios interface for BCCH */
+ void wbiosBCCHMonitorStart( const SysBandChannelT *pChannel,
+ const kal_uint16 pilotPn,
+ const kal_uint8 walshCode,
+ const BcchRate brat,
+ const kal_bool tdSupported,
+ const Sr1TdModes tdMode,
+ const Sr1TdPowerLevel tdPwrLevel,
+ const kal_uint8 crat,
+ const Longcode *pLcMask );
+
+ void wbiosBCCHMonitorStop( void );
+
+ /* Create wbios interface for FCCCH */
+ void wbiosFCCCHMonitorStart( const kal_uint16 pilotPn,
+ const kal_uint8 walshCode,
+ const kal_uint8 crat,
+ const FccchRate dataRate,
+ const Longcode *pLcMask );
+
+ void wbiosFcschMonitorStop( void );
+
+ /* Access Channel Message */
+ void wbiosAccessMessageSend(AccessMsgInfo *info, kal_bool firstProbe, WbiosSystime delayTime);
+ void wbiosAccessMessageAbort(WbiosSystime sendTime, WbiosSystime L1dAccessCompleteTime, kal_uint8 pamSize);
+ void wbiosReportAccessMaxCapsuleSize(kal_uint8 size);
+ kal_bool wbiosRequestVoicePrivacyIndication(kal_uint16 serviceOption);
+
+ /* Traffic Channel */
+ void wbiosLongCodeChange(Longcode* mask, WbiosSystime* actionTime);
+ kal_bool wbiosAcceptLongCodeChangeReq(kal_bool lcPrivate);
+ void wbiosPUFProbeAbort(void);
+ void wbiosPUFProbeSend(SysBandChannelT* channel, kal_uint8 setupSize, kal_uint8 pulseSize,
+ WbiosSystime* actionTime, kal_uint8 PUFPowerOffset);
+ void wbiosReverseMultiplexParametersGet (void);
+ void wbiosMultiplexParametersGet(StatCounterT statCounter);
+ void wbiosResetLmdMuxStatCounts(void);
+
+ void wbiosMultiplexParametersSet(LmdSetStatCntMsgT *msgPtr);
+ MultiplexOptionInfo* wbiosSCGetMultiplexOptionInfo(void);
+ ServiceConfiguration* wbiosSCGetServCfgNoConnections(kal_uint16 serviceOption);
+ const ServiceOptionInfo* wbiosSCGetServiceOptionInfo(void);
+
+ void wbiosSCReportServiceNegotiationMode(kal_bool mode);
+ void wbiosSCServiceConfiguration(ServiceConfiguration* servCfg,
+ WbiosSystime* actionTime);
+
+ ServiceConfiguration* wbiosSCServiceConfigurationInitiation (void);
+ void wbiosSCServiceConfigurationResponse(kal_uint8 reason, kal_uint8 response);
+
+ SCResponse wbiosSCServiceConfigurationValidation(
+ SCValidationAction validationAction,
+ ServiceConfiguration* servCfg);
+
+ RejectReason wbiosSCServiceOptionControlMessage(kal_uint8 conRef,
+ kal_uint16 serviceOption, kal_uint8 length,
+ kal_uint8* ctlRec, WbiosSystime* actionTime);
+
+ RejectReason wbiosSCServiceOptionControlOrder(kal_uint8 ordq,
+ WbiosSystime* actionTime);
+
+ SCResponse wbiosSCServiceOptionValidation(SysServiceOptionT* serviceOption);
+
+ kal_bool wbiosSCValidateNumSup (kal_bool direction, kal_uint8 numSup);
+
+ void wbiosTrafficChannelStart(PhyInitCfg* phyInitCfg,
+ WbiosSystime* actionTime);
+
+
+ void wbiosPDCHParams
+ (
+ const WbiosSystime* pActionTime,
+ kal_bool trafficInitSetup,
+ kal_bool forPdchParamsIncl
+ );
+ void wbiosReversePowerSet(PhyInitCfg* phyInitCfg, kal_bool rpcIncl, kal_bool onTCH);
+
+
+ void wbiosPreambleOn(void);
+
+ void wbiosSendPwrCtlParms( PCNPMData* PCNPMDataPtr );
+
+ void wbiosResourceReq( kal_bool ContinuousPilot,
+ kal_uint8 PilotGatingRate );
+
+ void wbiosTrafficChannelSoftHandoff(PhySHOCfg* phySHOCfg,
+ WbiosSystime* actionTime);
+ void wbiosTrafficChannelHardHandoff(PhyHHOCfg* phyHHOCfg,
+ WbiosSystime* actionTime);
+
+ void wbiosTrafficChannelStop(void);
+ void wbiosTrafficChannelSendMessage(kal_uint8* data, kal_uint8 length,kal_uint8 retryCount);
+ /*void wbiosTrafficChannelPowerStep(kal_uint8 pwrCntlStep);
+ */
+ void wbiosForPowerControlParams(PCNMData* pcnmData);
+ void wbiosRadioConfigurationParams(void);
+ kal_uint8 wbiosforFchBlankingDutyCycle(void);
+
+ void wbiosSupplementalChannelAssignment(SupCodeCfg* supCodeCfg,
+ ForSupCodeList* forSupList,
+ WbiosSystime* forStartTime,
+ WbiosSystime* revStartTime);
+ void wbiosTransmitterControl(TXControl txControl);
+ void wbiosPreambleOff(void);
+ void wbiosFDSCHAcqInd(void);
+ void wbiosReportCQA (kal_bool alarm);
+ void wbiosRschPowerSet(kal_int16 pilotRefLevel, kal_int16 rschPower);
+
+ void wbiosE911Mode(kal_bool mode);
+ void wbiosOrigFinished(void);
+
+ void wbiosReorigCall(void);
+#ifndef MTK_CBP_REL_OPTIMIZE
+ void wbiosReorigPktCall(void);
+#else
+ void wbiosVsCntdIndMsg(void);
+ void wbiosVsRelIndMsg(kal_bool isMoCall, ValPswCallEndReasonT eReason);
+ void wbiosReleaseCall(kal_uint8 reason, kal_bool mtc);
+#endif
+ void wbiosReportBSCoOrd(kal_uint16 baseID, kal_int32 baseLAT, kal_int32 baseLONG);
+ void wbiosReportPrlInfo(NamNumber namNumber, PRL_HEADER* ptrToPrl);
+
+ void wbiosSetAkey(kal_uint32 *akey);
+ void wbiosGetIS95Auth(cpIS95AuthParms* out);
+ void wbiosGetIS95NAMParms(IS95NAMParms* namParms);
+ void wbiosGetIS95IMSIParms(IS95IMSI_TParms* imsiParms);
+ void wbiosDumpPchMsg(kal_uint8 length, kal_uint8 *msg);
+ void wbiosDumpSyncMsg(kal_uint8 length, kal_uint8 *msg);
+ void wbiosDumpFtcMsg(kal_uint8 length, kal_uint8 *msg);
+ void wbiosReportNamInfo(PswIs95NamT* ptrToNam);
+ void wbiosPSInfoRsp(kal_uint8 SCC, kal_uint8 type, kal_uint8 State);
+
+ /* High Speed Packet Data Service Calls */
+ void wbiosResourceUpdate( const WbiosSystime* pActionTime,
+ const kal_uint8 chInd,
+ const kal_bool srvcConfigNonNegInc
+ );
+
+ void wbiosRsrDealloc( const WbiosSystime* pActionTime,
+ const kal_uint16 channels,
+ const kal_uint8 pilotType,
+ const kal_uint8 pilotGatingRate,
+ const kal_bool switchParamsInc,
+ const kal_uint8 numSoftSwitchingFramesChm,
+ const kal_uint8 numSofterSwitchingFramesChm
+ );
+
+ void wbiosRsrAlloc( const WbiosSystime*,
+ const kal_uint16 channelType,
+ const kal_uint8 fpcPriChan );
+
+ void wbiosForSch( const cpForSchL1dAssign* );
+ void wbiosRevSch( const cpRevSchL1dAssign* );
+ void wbiosForSchConfigUpdate( const cpForSchL1dConfigUpdate* );
+ void wbiosRevSchConfigUpdate( const cpRevSchConfigUpdate* );
+ void wbiosAccessInProg(kal_bool access
+#ifdef MTK_DEV_C2K_IRAT
+ , kal_bool relRfRes
+#endif
+ );
+ void wbiosSetPaModeChanged(kal_bool Changed);
+ void wbiosRptDataPrearrMode(kal_uint8 paMode);
+ void wbiosSetOrigAbortReason(kal_uint8 reason);
+ void wbiosL1dAlternatePilot(kal_uint16 AltPhase, kal_uint16 PN);
+ void wbiosEnterFlyMode(kal_uint16 tenthsOfSeconds);
+ void WbiosReportMccMnc(kal_uint16 MCC, kal_uint8 IMSI_11_12
+#ifdef MTK_CBP
+ , kal_uint16 AIMCC
+#endif
+ );
+
+ /* PDCH */
+ void wbiosRateChange ( const WbiosSystime* pActionTime,
+ const RATCHGMData* pRATCHGMData );
+ void wbiosCdmaBandSupportedQuery(void);
+
+#if defined(MTK_DEV_SLT)
+ void wbiosReportSltVerifyResult(kal_bool result);
+#endif
+
+#endif /* _WBIOS_H_ */
+
+
+ void wbiosCssSelectReq(kal_uint8 indication);
+ void wbiosCssValidateReq(kal_uint16 sid, kal_uint16 nid, SysBandChannelT* bandCh, kal_uint16 pilotStrength, kal_int16 rxPower);
+ void wbiosCssMccMncValidateReq(kal_uint16 mcc, kal_uint16 imsi_11_12, SysBandChannelT* bandCh, kal_uint16 pilotStrength, kal_int16 rxPower);
+ void wbiosCssUpdateLastSavedEcIoRxPwr(kal_uint16 pilotStrength, kal_int16 rxPower);
+ void wbiosCssUpdateActiveNam(kal_uint8 ActiveNam);
+ void wbiosCssIndicateInService(void);
+ void wbiosCssSetCallPending(kal_bool CallPending, kal_bool IsVoice);
+ void wbiosCssSysParmsUpdate(kal_uint16 sid, kal_uint16 nid);
+ void wbiosCssOosaWakeupInd(void);
+ void wbiosCssE911ModeInd(kal_bool e911);
+ void wbiosCssEventReport(Css1xRptCpEventT event);
+ void wbiosCssRedirInd(kal_bool Redir);
+ void wbiosCssOosaSleepCnf(void);
+ void wbiosCssPrlUpdate(void);
+ void wbiosCss1xSaveLastSysInMru(void);
+ void wbiosCssClearMru(void);
+ void wbiosCss1xDoOverlapInd(kal_uint8 overLap);
+#ifdef LGT_EXTENSIONS
+ void wbiosCss1xRegStatusInd(kal_uint8 regStatus);
+#endif
+ void wbiosReportDialComplete(OrigParms *origP);
+ void wbiosReportOverheadCurrent(void);
+ void wbiosReportCPEventToVal (kal_uint8 event);
+ void wbiosReportServiceConfig(void);
+ void wbiosTransmitInfo(void);
+ void wbiosL1dInit(void);
+ void wbiosL1dReset(void);
+ void wbiosReportExistenceInfo(kal_bool existence);
+ void wbiosReportCurrServOption (kal_bool inCallState, kal_uint16 serviceOption);
+
+#ifdef MTK_CBP_ENCRYPT_VOICE
+ void wbiosReportEncryptVoiceRsp(kal_bool result, EncryptRspTypeT reason);
+#endif
+
+#ifdef MTK_DEV_C2K_IRAT
+ void wbiosReportIratMcc(void);
+ void wbiosReportIratMccChange(kal_uint16 MCC,kal_bool enable);
+ void wbiosReportIratPilotInfo(HOTCPilot *rec);
+ void wbiosReportIratWeakSysInd(HOTCPilot *rec);
+ void wbiosReportIratEUtranNghbrInfo(kal_bool EUTranAvail, PchATIM *msg);
+ void wbiosReportCellIdInd(kal_uint16 mcc, kal_uint16 mnc);
+
+#if defined(MTK_CBP_SYNC_OPTIMIZE)
+void wbiosSib8TimingSyncReq(void);
+#endif /* MTK_CBP_SYNC_OPTIMIZE */
+
+ void wbiosSetHscProtectAntennaStatus(kal_bool protectStatus);
+ void wbiosL1dProtectAntennaStart(ProtectProcT protectProc);
+ void wbiosL1dProtectAntennaStop(void);
+ void wbiosL1dSetRatStatus(kal_bool active);
+ void wbiosCssRsvasSuspendReq(void);
+ void wbiosCssRsvasDoVrtlSuspReq(void);
+ void wbiosCssRsvasDoResumeReq(void);
+ void wbiosCssRsvasVrtlResumeReq(void);
+ void wbiosCssRsvasResumeReq(void);
+ void wbiosCssRsvasEventReport(CssRsvasEventT cssRsvasEvent);
+ void wbiosHlpRsvasAbortReq(kal_bool TriggeredByCs);
+ void wbiosIdpRsvasServiceOccupyInd(void);
+ void wbiosIdpRsvasServiceOccupyCnf(kal_bool result);
+ void wbiosTrafficChannelStopForRsvas(kal_bool isSuspend);
+ void c2kLteCsfbReq(c2k_lte_csfb_req_type_enum csfb_req_type);
+ void c2kLteCsfbStopReq(c2k_lte_csfb_stop_req_type_enum csfb_stop_req_type);
+ void rsvasCasProtectCsServiceReq(kal_bool is_protect);
+ void wbiosValReportC2kRsvasEvent(ValRsvasEventT event);
+ void wbiosErrc1xPsConnStatusInd(kal_bool psConnectionStatus);
+ void wbiosL1dEsrProtect(kal_bool protect);
+ void wbiosL1dRakeDdlReq(void);
+ void wbiosPswCssSysAcqReq(CssForceInitReasonT reason);
+ void wbiosRsvasAsSessionStartReq(mspm_sim_index_enum simIndex, mspm_procedure_enum procedure, kal_uint32 ackId);
+ void wbiosRsvasAsSessionEndNtf(mspm_sim_index_enum simIndex, mspm_procedure_enum procedure);
+#endif /* MTK_DEV_C2K_IRAT */
+
+void wbiosL1dDeactiveReq(void);
+void wbiosIdpPsw1xrttPagePositionChangeInd(void);
+
+void wbiosRsvasOccupyIndMsg(void);
+void wbiosRsvasResumeReqMsg(void);
+void wbiosRsvasVirtualSuspendReqMsg(void);
+void wbiosPswLocalReleaseMsg(void);
+void wbiosInternalPowerMsg(kal_bool powerUp);
+
+void PswSendEltMsg(msg_type msg_id, local_para_struct *log_msg_ptr);
+void PswSendIRatMsg(msg_type MsgId, void* MsgBufferP, kal_uint32 MsgSize);
+void wbiosHsc1XPriorityBoot(kal_bool Control);
+
+void PswProcessNvRamReadCnf(local_para_struct *local_para_ptr, peer_buff_struct *peer_buff_ptr);
+
+void cpSetRedirectionRec(ServiceRedirData *rec);
+ServiceRedirData* cpGetRedirectionRec(void);
+
+#ifdef __C2K_RF_HOPPING_SUPPORT__
+void cpReportNoActiveFreq(void);
+void cpReportActiveFreq(SysCdmaBandT activeBand, kal_uint16 activeFreq);
+void cpReportActiveNghborInIdle(HONghbrIdleHandoffList* idleHORec);
+void cpReportActiveNghborInTraffic( SysCdmaBandT neighBand, kal_uint16 neighFreq);
+void RttRfHoppingNotify(kal_uint32 ReportMask);
+#endif
+
+#ifdef SLT_PAGING_PRIOR_OPT
+void wbiosL1dPagingPriorOpt(kal_bool enable);
+#endif
+
+/**Log information: \main\CBP80\cbp80_cshen_scbp10098\1 2012-07-26 06:28:03 GMT cshen
+** cbp80_cshen_scbp10098**/
+/**Log information: \main\Trophy_SO73\1 2013-07-10 06:59:45 GMT gdeng
+** HREF#0000 SCBP#11784**/
+/**Log information: \main\Trophy\1 2013-07-17 08:12:49 GMT cshen
+** href#2222**/
+/**Log information: \main\Trophy\Trophy_yanliu_handroid2028\1 2013-08-30 07:03:36 GMT yanliu
+** HANDROID#2028: check in SD's MT slotted optimization**/
+/**Log information: \main\Trophy\2 2013-08-30 07:07:35 GMT yanliu
+** HANDROID#2028 merged: check in SD's MT slotted optimization**/
+/**Log information: \main\Trophy\Trophy_xding_href22331\1 2013-12-10 07:26:48 GMT xding
+** HREF#22331, ºÏ²¢MMCÏà¹Ø¹¦Äܵ½Trophy baselineÉÏ**/
+/**Log information: \main\Trophy\3 2013-12-10 08:35:23 GMT jzwang
+** href#22331:Merge MMC latest implementation from Qilian branch.**/
+
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/xl3_em.h b/mcu/interface/protocol/as_c2k/1xrtt/xl3_em.h
new file mode 100644
index 0000000..4f5979c
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/xl3_em.h
@@ -0,0 +1,115 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2015
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/****************************************************************************
+ *
+ * Module: xl3_em.h
+ *
+ * Purpose: xl3 engineer mode definitions and prototypes.
+ *
+ ****************************************************************************/
+
+#ifndef _XL3_EM_H_
+#define _XL3_EM_H_
+
+#ifdef __MODEM_EM_MODE__
+
+#ifndef MTK_PLT_ON_PC
+#define __XL3_EM_MODE__ 1
+#endif
+
+#include "em_public_struct_xl1.h" /* use EM_SYS_MAX_ACTIVE_LIST_PILOTS */
+#include "em_public_struct_xl3.h"
+#include "sysfrc.h"
+#include "eng_idle.h"
+#include "Msg_defn.h"
+
+void Xl3ServingCellInfoInit(void);
+em_1x_slotted_event_enum Xl3EmSlottedEventConvertFromSleepCmd(SleepType inter_slttted_event);
+em_1x_slotted_event_enum Xl3EmSlottedEventConvertFromWakeMode(kal_uint8 status, WakeModeT wake_mode);
+void Xl3PagingInfoInit(void);
+void Xl3SystemSearchInfoInit(void);
+kal_bool Xl3InPagingSlots(void);
+void Xl3StartOrStopRcvPagingInNSM(void);
+void Xl3StartRcvPaging(kal_uint8 wake_type, kal_bool pi_off);
+void Xl3SetPagingMatchFlag(kal_bool matched, kal_uint8 mismatchStep, kal_uint16 match_so);
+void Xl3EmSetQpchStatus(QpchPiStat pi_status);
+void Xl3SetQpchHoInfo(kal_uint16 dest_pn);
+void Xl3AddPchMsgState(kal_uint8 rcv_frame_num,
+ kal_uint8 valid_pch_msg_num,
+ kal_uint8 bad_crc_num,
+ kal_uint8 middle_sci_num,
+ kal_uint8 invalid_frame_num);
+void Xl3StopRcvPaging(void);
+void Xl3CrcInfoInit(void);
+void Xl3UpdateFtcCrcInfo(kal_bool ftc_crc_quality);
+
+void Xl3SetSystemSearchIndication(kal_uint16 indication);
+void Xl3SetSystemSearchRFGrantedTime(void);
+void Xl3SetSystemSearchChannelSDTime(kal_uint16 band, kal_uint16 channel);
+void Xl3SetSystemSearchOOSATime(void);
+void Xl3SetSystemSearchWakeupTime(void);
+void Xl3SetSystemSearchPATime(void);
+void Xl3SetSystemSearchSATime(void);
+void Xl3SetSystemSearchTCTime(void);
+void Xl3HoInfoInit(void);
+void Xl3SetHoInfoEcIo(kal_uint8 src_ecio, kal_uint8 dest_ecio);
+void Xl3SetHoInfoCommonAset(kal_uint16 src_band, kal_uint16 src_channel, kal_uint16 src_pn,
+ kal_uint16 dest_band, kal_uint16 dest_channel, kal_uint16 dest_pn);
+void Xl3SetHoInfoTrafficAset(kal_uint16 src_band, kal_uint16 src_channel,
+ kal_uint16 dest_band, kal_uint16 dest_channel, FTCActiveList* active);
+
+void Xl3EmUpdateReqMsg(local_para_struct *local_para_ptr);
+void Xl3SendEmXl3CpStatusInd(void);
+void Xl3SendEmXl3SlottedModeInfoInd(em_1x_slotted_event_enum slotted_event);
+void Xl3SendEm1xrttCallEventsInd(em_call_events_enum call_event, em_call_type_enum call_type);
+void Xl3SendEmC2kRsvasInfoInd(em_rsvas_event_enum event);
+void Xl3SendEmCpEventInd(em_cp_abnormal_event_enum Abnormal_event, em_1x_ho_event_enum Ho_event);
+void Xl3SendEmXl3PagingInfoInd(void);
+void Xl3SendEmXl3SetInfoInd(void);
+
+void Xl3SetEmXl3SystemSearchInfo(kal_bool searchSuccess);
+void Xl3SendEmXl3SystemSearchInfoInd(void);
+
+void Xl3SetCallFailReason(em_1xrtt_call_fail_reason_enum fail_reason);
+em_1xrtt_call_fail_reason_enum Xl3GetCallFailReason(void);
+void Xl3ResetCallFailReason(void);
+void Xl3SendEmXl3CallFailReasonInd(em_c2k_call_type_enum call_type);
+
+
+#endif/* __MODEM_EM_MODE__ */
+
+#endif/* _XL3_EM_H_ */
+