[Feature]Upload Modem source code

Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/interface/protocol/l2_c2k/common/hlpapi.h b/mcu/interface/protocol/l2_c2k/common/hlpapi.h
new file mode 100644
index 0000000..4d9562e
--- /dev/null
+++ b/mcu/interface/protocol/l2_c2k/common/hlpapi.h
@@ -0,0 +1,1971 @@
+/*****************************************************************************
+*  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 _HLPAPI_H_
+#define _HLPAPI_H_
+/*****************************************************************************
+*
+* FILE NAME   : hlpapi.h
+*
+* DESCRIPTION :
+*
+*     This include file provides system wide global type declarations and
+*     constants
+*
+* HISTORY     :
+*     See Log at end of file.
+*
+*****************************************************************************/
+
+/*----------------------------------------------------------------------------
+ Include Files
+----------------------------------------------------------------------------*/
+#include "module_msg_range.h"
+#include "sysdefs.h"
+#include "pswcustom.h"
+#include "valatdata.h"
+#include "cpbuf.h"
+#include "iopapi.h"
+#include "sbp_public_utility.h"
+#include "hlp_nvram.h"
+#include "slc_nvram.h"
+
+#define EAP_AKA_PRIME 1
+
+/*----------------------------------------------------------------------------
+ Global Defines and Macros
+----------------------------------------------------------------------------*/
+#define HLP_MAILBOX_CMD                  EXE_MAILBOX_1_ID
+#define HLP_MAILBOX2_CMD                 EXE_MAILBOX_2_ID
+#define HLP_SEC_MAILBOX                  EXE_MESSAGE_MBOX_3
+#define HLP_SEC_CMD                      EXE_MAILBOX_3_ID
+
+#define HLP_MAX_SIZE_DATA                240
+#define HLP_MAX_NUM_REV_RLP              300
+#define HLP_MAX_SPY_LEN                  164
+#define MAX_NUM_DO_INACTIVITY_TICKS      4500    /* 4500 x 6.67ms = 30 sec */
+#define MAX_NUM_1X_INACTIVITY_TICKS      30      /* second */
+
+#define HLP_AKA_KEY_LEN                  16 /*128 bits 3G TS 33.105.v.3.0(2000-03)*/
+#define HLP_AKA_RAND_LEN                 16 /*128 bits 3G TS 33.105.v.3.0(2000-03)*/
+#define HLP_AKA_FMK_LEN                  4  /*32 bits */
+#define HLP_AKA_AMF_LEN                  2  /*16 bits 3G TS 33.105.v.3.0(2000-03)*/
+#define HLP_AKA_MACA_LEN                 8  /*64 bits 3G TS 33.105.v.3.0(2000-03)*/
+#define HLP_AKA_MACS_LEN                 8  /*64 bits 3G TS 33.105.v.3.0(2000-03)*/
+#define HLP_AKA_RES_LEN                  16 /*32<->128 bits 3G TS 33.105.v.3.0(2000-03)*/
+#define HLP_AKA_CK_LEN                   16 /*128 bits 3G TS 33.105.v.3.0(2000-03)*/
+#define HLP_AKA_IK_LEN                   16 /*128 bits 3G TS 33.105.v.3.0(2000-03)*/
+#define HLP_AKA_AK_LEN                   6  /*48 bits 3G TS 33.105.v.3.0(2000-03)*/
+#define HLP_AKA_AKS_LEN                  6  /*48 bits 3G TS 33.105.v.3.0(2000-03)*/
+#define HLP_AKA_UAK_LEN                  16
+#define HLP_AKA_AUTN_LEN                 16
+#define HLP_AKA_AUTS_LEN                 16
+
+#define EAP_AKA_NONCE_S_LEN              16
+#define EAP_AKA_NONCE_MT_LEN             16
+#define EAP_AKA_MAC_LEN                  16
+#define EAP_AKA_K_AUT_LEN                32
+#define EAP_AKA_K_ENCR_LEN               16
+#define EAP_AKA_MSK_DATA_LEN             64
+#define EAP_AKA_IV_LEN                   16
+
+#define EAP_AKA_RAND_LEN                 16
+#define EAP_AKA_AUTN_LEN                 16
+#define EAP_AKA_RES_MAX_LEN              16
+#define EAP_AKA_MK_LEN                   20
+#define EAP_AKA_MSK_LEN                  64
+#define EAP_AKA_AUTS_LEN                 14
+#define EAP_AKA_IK_LEN                   16
+#define EAP_AKA_CK_LEN                   16
+#define EAP_AKA_SHA1_MAC_LEN             20
+
+#define EAP_AKA_PSEUDONYM_LEN            128
+#define EAP_AKA_REAUTH_ID_LEN            128
+#define EAP_AKA_KC_LEN                   8
+#define RM_WRITE_FLAG_SND_ACK            1
+
+#if EAP_AKA_PRIME
+#define EAP_AKA_K_RE_LEN                 32
+#define EAP_AKA_EMSK_DATA_LEN            64
+#define EAP_AKA_PRIME_MK_LEN             208
+#endif
+
+#define HLP_MAX_SOCKET                   10
+
+#define HLP_MN_PASSWD_MAX_SIZE           HLP_MAX_PSWD_LEN
+#define HLP_BETTER_SYSTEM_THRESH         20
+#define MN_NAI_MAX_SIZE                  HLP_MAX_USRID_LEN
+#define HLP_NUM_DIAL_STRING_DIGITS       11
+
+#ifdef CBP7_EHRPD
+#define MAX_HLP_FLOW_SUPPORTED           8  /* 6 */ /*Must be same as MAX_RLP_FLOW_SUPPORTED*/
+#define MAX_RLP_FRAMES_PER_IP_PKT        32
+#define NUM_HLP_FWD_IP_DATA_IND_ENTRIES  16
+#endif
+
+#define HSPD_PRI
+
+
+#define VAL_UIM_FILE_CHANGE_LIST_MAX     50
+#define HLP_VZW_PCO_CODE                 0xFF00
+#define HLP_VZW_PCO_CODE_STR             "FF00"
+#define HLP_VZW_PCO_MCCMNC_LEN           6
+#define HLP_VZW_PCO_MCCMNC_STR           "311480"
+#define HLP_VZW_PCO_CODE_STR_LEN         4
+
+#define HLP_MAX_APN_NUM                  10
+#define HLP_UIM_USIM_ACL_TAG           0xDD
+#define HLP_UIM_USIM_ACL_SEPERATOR     0x2E
+#define HLP_MIP_ERROR_CODE_BASE        0x80b0
+#define HLP_PDN_ERROR_CODE_BASE        0x8000
+
+/***********************************************************************/
+/* Global Typedefs                                                     */
+/**********************************************************************/
+
+
+/***********************************************************************/
+/* Enumeration Definitions                                             */
+/***********************************************************************/
+typedef enum
+{
+   HlpDataChRetOK,
+   HlpDataChRetOK_Empty,
+   HlpDataChRetFull,
+   HlpDataChRetErr
+} HlpDataChRetStatus;
+
+typedef  struct {
+   CpBufferT   *bufPtr;
+   kal_uint16   offset;
+   kal_uint16   dataLen;
+   kal_uint8    nRLPFlow;
+   kal_uint8    streamType;
+
+   kal_uint16   tcpTag;
+   kal_uint32   tcpPort;
+   kal_uint32   srcIpAddr;
+   kal_uint32   dstIpAddr;
+
+#ifdef CBP7_EHRPD
+   kal_uint16   FrameType;   /* distinguish Ipv4/Ipv6 and PDN-ID */
+#endif
+
+   kal_uint8    BearerId;
+} RmDataCpBuffDescT;
+
+typedef enum
+{
+   RmDataQBuffOK,/*Process successfully*/
+   RmDataQBuffOK_Empty,/* Buffer Q empty after read successfully */
+   RmDataQBuffFull,/* Buffer Q full */
+   RmDataQBuffErr /* Error occurred. */
+} RmDataQBuffStatusE;
+
+typedef enum
+{
+   DO_NETWORK,
+   RTT_NETWORK,
+   NON_CONNECTED
+} NetworkT;
+
+typedef enum
+{
+   IN_SERVICE,
+   OOSA,
+   TO_ACQUIRE
+} SvcStatusT;
+
+typedef enum
+{
+   ASYNC_DATA,
+   NETWORK_RM,
+   PPP_ONLY,
+   RELAY_RM,
+   MAIN_CONN
+} NspeAppT;
+
+typedef enum
+{
+   DO_ONLY,       /* DO is active and is the only system that is allowed.  */
+   DO_PREFERRED,  /* DO and 1X are both active, DO is preferred.       */
+   RTT_ONLY,      /* 1X is active and is the only system that is allowed.  */
+   RTT_PREFERRED,  /* DO and 1X are both active, 1X is preferred.       */
+   NO_PREFERENCE,
+#ifdef MTK_CBP
+   HLP_NTW_PREF_NONE
+#endif
+} NetworkPrefT;
+
+typedef enum
+{
+   CONNECTION_FAILED_IND,
+   CONNECTION_CLOSED_IND,
+   CONNECTION_OPENED_IND
+} ConnectionRspT;
+
+typedef enum
+{
+   Um,  /* Service Stream */
+   Rm,
+   Um_AccessStream,
+   PppEndPointMax
+} pppEndPointT;
+
+typedef enum
+{
+   DO_FOUND,    /* Only DO network is found */
+   RTT_FOUND,   /* Only 1X network is found */
+   BOTH,        /* Both network are found   */
+   NEITHER      /* Nothing available        */
+} NetworkRspT;
+
+typedef enum
+{
+   HA_DEC0,
+   HA_DEC1,
+   HA_ENC0,
+   HA_ENC1
+} pppHaPortT;
+
+typedef enum
+{
+   HLP_NETWORK_ERROR_EVDO_CO_NO_SERVICE,
+   HLP_NETWORK_ERROR_EVDO_CO_ACCESS_FAILURE,
+   HLP_NETWORK_ERROR_EVDO_CO_REDIRECTION,
+   HLP_NETWORK_ERROR_EVDO_CO_NOT_PREFERRED,
+   HLP_NETWORK_ERROR_EVDO_CO_MODE_HANDOFF,
+   HLP_NETWORK_ERROR_EVDO_CO_IN_PROGRESS,
+   HLP_NETWORK_ERROR_EVDO_CO_SETUP_TIMEOUT,
+   HLP_NETWORK_ERROR_EVDO_CO_SESSION_NOT_OPEN,
+   HLP_NETWORK_ERROR_EVDO_RELEASE_NO_REASON,
+   HLP_NETWORK_ERROR_EVDO_PROTOCOL_FAILURE,
+   HLP_NETWORK_ERROR_EVDO_DENY_NO_REASON,
+   HLP_NETWORK_ERROR_EVDO_DENY_NETWORK_BUSY,
+   HLP_NETWORK_ERROR_EVDO_DENY_AUTHENTICATION,
+   HLP_NETWORK_ERROR_EVDO_REDIRECT_TO_1X,
+   HLP_NETWORK_ERROR_EVDO_FADE,
+   HLP_NETWORK_ERROR_EVDO_USER_DISCONNECTED
+#if defined (MTK_DEV_C2K_IRAT) && defined (MTK_DEV_C2K_SRLTE_L1)
+   ,
+   HLP_NETWORK_ERROR_EVDO_RSVAS_SUSPEND,
+   HLP_NETWORK_ERROR_EVDO_RSVAS_VIRTUAL_SUSPEND
+#endif
+   ,
+   HLP_NETWORK_SESSION_NEGOTIATION_COMPLETE,
+   HLP_NETWORK_ERROR_EVDO_LAST
+}HlpConnCloseReasonT;
+
+typedef struct HlpPPPHaLLD
+{
+   kal_uint32               sourceAddr;
+   kal_uint32               xferCount;
+   kal_uint32               configReg;
+   kal_uint32               nextInLLD;
+} HlpPPPHaLLDT;
+
+typedef enum
+{
+   REG_TIMER_EXPIRED,
+   DORMANT_RECONN,
+   SID_NID_CHANGE,
+   PKT_ZID_CHANGE,
+   COLOR_CODE_CHANGE
+} MipReRegReasonT;
+
+typedef enum
+{
+    Check_T_Dormancy = 0x01,
+    Check_T_HRPD_Search = 0x02,
+    Check_T_Rapid_Dormancy = 0x04,
+    Check_T_ResDef_Dormancy = 0x08,
+    Check_Dormancy_All = 0x0f
+} DormParmCheckT;
+
+typedef enum
+{
+    HLP_TIMER_TCH_SETUP,
+    HLP_TIMER_WFR_SYS_RSP,
+    HLP_TIMER_1X_CONNECTION_5MIN,
+    HLP_TIMER_WFR_FAST_CONN,
+    HLP_TIMER_DATA_RETRY,
+    HLP_TIMER_DO_RETRY,
+    HLP_TIMER_FALLBACK,
+    HLP_TIMER_DO_OOSA_CONNECT_1X,
+    HLP_TIMER_WFR_RM_CONNECT,
+    HLP_TIMER_PPP_UM_REQ,
+    HLP_TIMER_PPP_RM_REQ,
+    HLP_TIMER_PPP_A12_REQ,
+    HLP_TIMER_PPP_AUX_REQ,
+    HLP_TIMER_PPP_UM_LOCAL_AUTH_REQ,
+    HLP_TIMER_PPP_RM_LOCAL_AUTH_REQ,
+    HLP_TIMER_PPP_A12_LOCAL_AUTH_REQ,
+    HLP_TIMER_PPP_AUX_LOCAL_AUTH_REQ,
+    HLP_TIMER_PPP_UM_REMOTE_AUTH_REQ,
+    HLP_TIMER_PPP_RM_REMOTE_AUTH_REQ,
+    HLP_TIMER_PPP_A12_REMOTE_AUTH_REQ,
+    HLP_TIMER_PPP_AUX_REMOTE_AUTH_REQ,
+    HLP_TIMER_PPP_MNRP_REQ,
+    HLP_TIMER_WFR_UIM_AUTH_RSP,
+    HLP_TIMER_THROTTLING_HSPD,
+    HLP_TIMER_THROTTLING_HRPD,
+    HLP_TIMER_IP_250MS,
+    HLP_TIMER_DRMNT_RCNT_BACKOFF,
+    HLP_TIMER_WFR_HANDOFF_HYST,
+    HLP_TIMER_XOFF_RSP,
+    HLP_TIMER_TCH_REL,
+    HLP_TIMER_C109_PULSE,
+    HLP_TIMER_PPP_CONNECT_BACKOFF,
+    HLP_TIMER_DATA_RELEASE,
+    HLP_TIMER_PDN_REQ_0,               /* ehrpd start, 0-4 not the pdn id, but the pdn array index */
+    HLP_TIMER_PDN_REQ_1,
+    HLP_TIMER_PDN_REQ_2,
+    HLP_TIMER_PDN_REQ_3,
+    HLP_TIMER_PDN_REQ_4,
+    HLP_TIMER_VSE_VER_CAP_IND,
+    HLP_TIMER_VSE_PPP_INACT,
+    HLP_TIMER_IMS_WFR_RSP,
+    HLP_TIMER_PDN_INACT_0,
+    HLP_TIMER_PDN_INACT_1,
+    HLP_TIMER_PDN_INACT_2,
+    HLP_TIMER_PDN_INACT_3,
+    HLP_TIMER_PDN_INACT_4,
+    HLP_TIMER_THROTTLING_EHRPD,
+    HLP_TIMER_UE_PARTIAL_CONTEXT,      /* ehrpd end */
+    HLP_TIMER_MIP_RRP_REG,             /* mip start */
+    HLP_TIMER_MIP_RRP_DEREG,
+    HLP_TIMER_MIP_RRQ_REG,
+    HLP_TIMER_MIP_AGENT_ADV,
+    HLP_TIMER_MIP_LIFETIME,            /* mip end */
+    HLP_TIMER_IPV6_TEST,
+    HLP_TIMER_NAT,
+    HLP_TIMER_A12_REDIAL_PENDING,
+    HLP_TIMER_RSVAS_ABORT_REQ,
+    HLP_TIMER_VSNCP_PDN_OPEN,   
+    HLP_TIMER_MAX_NUM
+}hlp_timer_enum;
+
+typedef enum
+{
+   /*Network Generates PDN Error*/
+   GeneralError = 0x8000,
+   UnauthorizedAPN,
+   PDNLimitExceeded,
+   NoPGWAvailable,
+   PGWUnreachable,
+   PGWReject,
+   InsufficientParameters,
+   ResourceUnavailable,
+   AdminProhibited,
+   PDNIDAlreadyInUse,
+   SubScriptionLimitation,
+   PDNConnAlreadyExistForPDN,
+   EmergencyNotSupported,
+   ReconnectNotAllowed,
+   /*User Defined PDN Error*/
+   EAPAKAfailure = 0x8080,
+   RetryTmrThrottling,
+   NetworkNoRsp,
+   PDNAttachAbort,
+   PDNLimitExceededInUESide,
+   PDNIDAlreadyInUseInUESide,
+   InvalidPDNAttachReq,
+   PdnRecFailure,
+   MainConnSetupFailure,
+   BearerResourceUnAvailable,
+   OpAbortByUser,
+   RttDataConnected,
+   EAPAKAReject,
+   LCPNego3Failure,
+   TCHSetupFailure,
+   NwNoRspInLCP,
+   NwNoRspInAuth,
+   A12Retry3Failure,
+   RsvasSuspended,
+   AbortByGMSS,
+   /*User Defined PPP Error*/
+   PppAuthFail = 0x80b0,
+   MipPppLcpTmo,
+   MipPppNcpTmo,
+   SipPppLcpTmo,
+   SipPppNcpTmo,
+   MipPppOptMismatch,
+   SipPppOptMismatch,
+   MipSolTmo,
+   MipRrqTmo,
+   MipRrpErr,
+   MipLcpFail,
+   SipLcpFail,
+   MipNcpFail,
+   SipNcpFail,
+   A12AuthFail,
+   EapAkaAuthFail,
+   MipAdminProhibFail,
+   MultiTchFail,
+   PppA12LcpTmo,
+   DnsNoResponse,
+   /*Network Generates MIP Error*/
+   /*0x80f0 - 0x8140: MIP error code, shall not disorder it*/
+   MipUnspecifiedFailure = 0x80f0,
+   MipAdminProhibited,
+   MipInsuffResources1,
+   MipMnFailedAuth,
+   MipHaFailedAuth,
+   MipLifetimeTooLong,
+   MipPoorlyFormedReq,
+   MipPoorlyFormedReply,
+   MipEncapUnavail,
+   MipReservedUnavail,
+   MipRevTunUnavail,
+   MipRTNTNotSet,
+   MipMnTooDistant,
+   MipInvalidCareOfAddr,
+   MipRegTimeout,
+   MipDsNotSupport,
+   MipHnUnreachable,
+   MipHaHostUnreachable,
+   MipHaPortUnreachable,
+   MipHaUnreachable = 0x8108,
+   MipVendorSpecific,
+   MipNonzeroHaAddr,
+   MipNonzeroHomeAddr = 0x8110,
+   MipMissingNai,
+   MipMissingHa,
+   MipMissingHomeAddr,
+   MipUnknownChall = 0x8118,
+   MipMissingChall,
+   MipStaleChall,
+   MipMissingMnFa,
+   MipReasonUnspec = 0x8130,
+   MipAdminProhib,
+   MipInsuffResources2,
+   MipMnFailedAuth2,
+   MipFaFailedAuth,
+   MipIdentMismatch,
+   MipPoorlyFormedReq2,
+   MipTooManyBindings,
+   MipUnknownHaAddr,
+   MipRevTunnelUnavail,
+   MipRTNTNotSet2,
+   MipEncapsulationUnavail = 0x813b,
+   MipRegWithRedirected = 0x813f,
+   MipErrCodeFromHome = 0x8140,
+   NullError   = 0xeeee,
+   NoError     = 0xffff
+}DataConnErrCodeT;
+
+/***********************************************************************/
+/* Message/Struct Definitions                                          */
+/***********************************************************************/
+typedef struct
+{
+   NetworkT    networkType;
+   SvcStatusT  svcStatus;
+} networkSvcT;
+
+typedef struct
+{
+   networkSvcT ServiceStatus;
+} HlpOosaIndMsgT;
+
+typedef struct
+{
+   NetworkRspT  SysToBeConnected;
+} HlpSystemQueryRspMsgT;
+
+/* Same as ValPswCallEndReasonT defined in valpswapi.h */
+typedef enum
+{
+  HLP_PSW_ORIG_FAIL=2,
+  HLP_PSW_ORIG_CANCELED_NDSS,
+  HLP_PSW_ORIG_CANCELED,
+  HLP_PSW_INTERCEPT,
+  HLP_PSW_REORDER,
+  HLP_PSW_CC_RELEASE,
+  HLP_PSW_CC_RELEASE_SO_REJ,
+  HLP_PSW_FNM_RELEASE,
+  HLP_PSW_DIALING_COMPLETE,
+  HLP_PSW_DIALING_CONTINUE,
+  HLP_PSW_MAINTENANCE,
+  HLP_PSW_VP_ON,
+  HLP_PSW_VP_OFF,
+  HLP_PSW_PSIST_FAIL,
+  HLP_PSW_TC_RELEASE_MS,
+  HLP_PSW_TC_RELEASE_PDOWN,
+  HLP_PSW_TC_RELEASE_DISABLE,
+  HLP_PSW_TC_RELEASE_BS,
+  HLP_PSW_TC_RELEASE_SO_REJECT,
+  HLP_PSW_TC_RELEASE_TIMEOUT,
+  HLP_PSW_TC_RELEASE_ACK_FAIL,
+  HLP_PSW_TC_RELEASE_FADE,
+  HLP_PSW_TC_RELEASE_LOCK,
+  HLP_PSW_PAGE_FAIL,
+  HLP_PSW_RETRY_TIMER_ACTIVE,
+  HLP_PSW_RETRY_TIMER_INACTIVE,
+  HLP_PSW_AMPS_INSVC,
+  HLP_PSW_ORIG_REJECTED,
+  HLP_PSW_EV_ORIG_RETRY_ORDER,
+  HLP_PSW_SO_REDIRECT
+} HlpPswCallEndReasonT;
+
+typedef struct
+{
+   HlpPswCallEndReasonT reason;
+} HlpConnectionFailedIndMsgT;
+
+typedef struct
+{
+   ConnectionRspT ConnRsp;
+} HlpConnectionRspMsgT;
+
+typedef struct
+{
+   kal_uint16 sid;
+   kal_uint16 nid;
+} HlpSidNidChangIndMsgT;
+
+typedef struct
+{
+   kal_uint8 pid;
+} HlpPktZoneIdChangIndMsgT;
+
+typedef struct
+{
+   kal_uint8 subnetId[16];
+} HlpSubnetIdChangIndMsgT;
+
+typedef struct
+{
+   kal_uint8            CallNumber[HLP_MAX_BWSR_DIG_LEN]; /* ASCII chars, NULL terminated       */
+   kal_uint8            UserId[HLP_MAX_USRID_LEN];        /* Username use for SIP               */
+   kal_uint8            Pswd[HLP_MAX_PSWD_LEN];           /* Password use for SIP               */
+} DialingInfoT;
+
+typedef struct
+{
+   NspeAppT  AppInstance;
+   kal_uint8         Action;
+} HlpUmAppInstanceMsgT;
+
+typedef struct
+{
+  kal_uint8   FileCount;
+  kal_uint16  FileId[VAL_UIM_FILE_CHANGE_LIST_MAX];
+} HlpUimFileChangeMsgT;
+
+typedef struct {
+   kal_uint32 ipaddress;
+   kal_uint16 port;
+} FilterMux;
+
+typedef struct {
+   FilterMux socket[4];
+   kal_uint16  currentSocketNum;
+}MuxInfo;
+
+typedef struct
+{
+   kal_bool gotoDormant;
+} HlpConnectionReleasedIndMsgT;
+
+typedef struct
+{
+   kal_bool               success;                            /* True = TCH connection and 1X RLP established. */
+} HlpConnectionIndMsgT;
+
+typedef struct
+{
+   kal_bool             TcpType;   /* KAL_TRUE=TCP, KAL_FALSE=UDP */
+   kal_int16            socketId;  /* input socket Id, will be used in the response message */
+   ExeRspMsgT       SocketCreateRspInfo;
+   ExeRspMsgT       SocketConnRspInfo;
+   ExeRspMsgT       SocketCloseRspInfo;
+} HlpSocketCreateMsgT;
+
+typedef struct
+{
+   kal_uint32           IpAddr;
+   kal_uint16           Port;
+} HlpAppAddrT;
+
+typedef struct
+{
+   kal_uint8            Sap;
+   HlpAppAddrT      ResourceAddr;
+   ExeRspMsgT       SocketBindRspInfo;
+} HlpSocketBindMsgT;
+
+typedef struct
+{
+   kal_uint8            Sap;
+   kal_bool             Passive;  /* KAL_FALSE=active, TURE=listen                   */
+   HlpAppAddrT      DestAddr; /* IP and port number if active mode is chosen */
+} HlpSocketConnectMsgT;
+
+typedef enum
+{
+   HLP_IP6_ADDR_TYPE_PUBLIC,
+   HLP_IP6_ADDR_TYPE_PUBLIC_TEMP,
+   HLP_IP6_ADDR_TYPE_LOCAL
+} HlpIp6AddrTypeE;
+
+typedef struct
+{
+   kal_uint8            Sap;
+   kal_uint8 FlowId;
+   HlpIp6AddrTypeE AddrType;
+   kal_uint16 PeerAddrPort;
+   kal_uint32 PeerAddrIp[4];
+} HlpIp6SocketConnectMsgT;
+
+typedef struct
+{
+   kal_uint8 Sap;
+} HlpIp6SocketConnectRspMsgT;
+
+typedef struct
+{
+   kal_uint8            Sap;
+   kal_bool             Graceful;
+} HlpSocketCloseMsgT;
+
+typedef struct
+{
+   kal_uint8            Sap;   /*server's sap*/
+   kal_int16            SockListenfd;
+   kal_int16            sockfd[5];
+   kal_uint8            SocketNum;
+   ExeRspMsgT       MmiSocketListenRspInfo;
+} HlpSocketListenMsgT;
+
+typedef struct
+{
+   kal_uint8            Sap;
+   kal_uint8            opt_type;           /* Specifies which option is being set */
+   kal_uint16           size;
+} HlpOptionRequestMsgT;
+
+typedef struct
+{
+   kal_uint8            Sap;
+   kal_int8             how;
+} HlpSocketShutDownMsgT;
+
+typedef struct
+{
+   kal_uint8            Sap;
+   kal_bool             lingerOnOff;
+   kal_uint32           lingerTime;
+} HlpSocketLingerMsgT;
+
+typedef struct
+{
+   kal_uint32           IpAddr;        /* 32-bit IP address.               */
+   kal_uint16           UdpPort;       /* UDP port address.                */
+} HlpDatagramAddrT;
+
+typedef struct
+{
+   kal_uint8*           DataBufP;      /* Point to the first byte          */
+   kal_uint16           DataLen;       /* size of data in byte             */
+   kal_uint8            Flags;         /* if IP_MOREDATA is set in the flag
+                                      it indicates that datagram is not
+                                      able to fit into allocated buffer
+                                      Datagram is truncated to fit.    */
+} HlpDatagramT;
+
+typedef struct
+{
+#if defined(MTK_PLT_ON_PC) && defined(MTK_PLT_ON_PC_UT)
+    kal_uint8            data[255];
+#endif
+    kal_uint8*           DataP;   /* point to the first byte of data.    */
+    kal_uint16           Size;    /* The size of data in byte.           */
+    kal_bool             Push;    /* KAL_TRUE, send immediately;             */
+                              /* KAL_FALSE, TCP determine by itself.     */
+    HlpDatagramAddrT To;      /* The address of receipent for UDP    */
+    kal_uint8            Sap;     /* Socket of which the data is going to
+                                 be sent.                            */
+} HlpSocketSendReqMsgT;
+
+typedef   struct
+{
+   kal_uint8    Sap;
+}   HlpUpbRecvDataRspMsgT;
+
+typedef struct
+{
+   kal_uint8    Sap;
+} HlpTcpbRecvRspMsgT;
+
+typedef struct
+{
+   kal_uint32   SrcIp;
+   kal_uint32   DestIp;
+   kal_uint16   SrcPort;
+   kal_uint16   DestPort;
+   kal_uint16   DataLength;
+   kal_uint8   *DataPtr;
+} HlpMipRrpMsgT;
+
+typedef struct
+{
+   kal_uint32   SrcIp;
+   kal_uint32   DestIp;
+   kal_uint16   DataLength;
+   kal_uint8   *DataPtr;
+} HlpMipAgentAdvMsgT;
+
+typedef struct
+{
+   kal_uint8    Status;
+   kal_uint32   LocalIp;
+   kal_uint32   RemoteIp;
+} HlpMipUmPppStatusMsgT;
+
+typedef struct
+{
+   pppEndPointT  interface;
+   kal_uint8         status;
+   kal_uint32        localAddr;
+   kal_uint32        remoteAddr;
+   kal_uint32        priDNS;
+   kal_uint32        secDNS;
+} HlpPppStatusMsgT;
+
+typedef struct
+{
+   kal_uint8            UserId[HLP_MAX_USRID_LEN];
+   kal_uint8            Pswd[HLP_MAX_PSWD_LEN];
+} HlpUsernamePasswdMsgT;
+
+typedef struct
+{
+   hlp_timer_enum       TimerID;
+} HlpTimerExpiredMsgT;
+
+typedef struct
+{
+   kal_uint8*           DataP;   /* point to the first byte of data.    */
+   kal_uint16           Size;    /* The size of data in byte.           */
+   kal_bool             Push;    /* KAL_TRUE, send immediately;             */
+                             /* KAL_FALSE, TCP determine by itself.     */
+   kal_uint8            Sap;     /* Socket of which the data is going to
+                                be sent.                            */
+} HlpTcpbDataSendReqMsgT;
+
+typedef struct
+{
+   HlpDatagramT      SendData;    /* Datagram itself..                  */
+   HlpDatagramAddrT  To;          /* The address of receipent.          */
+   kal_uint8             Sap;         /* SAP to TCB                         */
+} HlpUpbSendDataMsgT;
+
+typedef struct
+{
+   kal_bool              NetworkMode;  /* True: Network Mode, +CRM=2        */
+                                   /* False: Relay Mode,  +CRM=1        */
+} HlpSetNetworkOrRelayModeMsgT;
+
+#ifdef CBP7_EHRPD
+typedef struct {
+   CpBufferT   *dataPtr;
+   kal_uint16   offset;
+   kal_uint16   dataLen;
+} PafHlpFwdDataPktT;
+
+typedef struct
+{
+   kal_uint8       nAppType;
+   kal_uint8       nRLPFlowId;
+   kal_uint8       nRoute;
+   kal_bool        bRohcEnabled;
+   kal_uint8       numRlpFrames;
+   PafHlpFwdDataPktT   rlpFrames[MAX_RLP_FRAMES_PER_IP_PKT];
+} HlpRlpFwdIPDataPktT;
+#endif
+
+#if 1 //!defined (MTK_DEV_MEMORY_OPT)
+#define NUM_HLP_FWD_DATA_IND_ENTRIES     600
+#define NUM_HLP_REV_DATA_IND_ENTRIES     150
+#else
+/* under construction !*/
+/* under construction !*/
+#endif
+
+typedef RmDataCpBuffDescT HlpRlpFwdDataPktT;
+typedef RmDataCpBuffDescT HlpRlpRevDataPktT;
+
+typedef struct
+{
+   kal_uint8   forceNetworkPref;
+   kal_uint8   forceCSSResp;
+} HlpSysSelPrefSetMsgT;
+
+typedef struct
+{
+   kal_uint8     nDMUV;
+} HlpValDMUVSetMsgT;
+
+typedef struct
+{
+   HlpConnCloseReasonT ConnCloseReason;
+} HlpConnStatusMsgT;
+
+#ifdef HSPD_PRI
+
+#define RSA_PUBLIC_KEY_BIT     (1<<0)
+#define AUTH_SET_BIT           (1<<1)
+#define PKOID_SET_BIT          (1<<2)
+
+typedef enum
+{
+   RSA_PUBLIC_KEY_SET = RSA_PUBLIC_KEY_BIT,
+   AUTH_SET           = AUTH_SET_BIT,
+   SET_BOTH           = RSA_PUBLIC_KEY_BIT|AUTH_SET_BIT,
+   PKOID_SET          = PKOID_SET_BIT
+} RsaSetE;
+
+typedef struct
+{
+   kal_uint8 nPKOID;
+   kal_uint8 nActiveDmuRsaPublicKeyNo;
+   kal_uint8 MN_Authenticator[MN_AUTH_MAX_SIZE];
+} HlpRSAPublicKeyOrgIdInfoT;
+
+typedef enum
+{
+   /* Set All Params in a Profile */
+   HL_PARM_SET_HSPD_SEG_PROFILE_DATA             = 0,
+   HL_PARM_GET_HSPD_SEG_PROFILE_DATA,
+   HL_PARM_SET_HSPD_SECURE_SEG_PROFILE_DATA,  /* no Gets for Secure Data */
+
+   HL_PARM_SET_HSPD_SECURE_SEG_PROFILE_BYTE_DATA,
+
+   HL_PARM_GET_HSPD_SECURE_SEG_PROFILE_DATA,
+
+   /* Set All HSPD SegData together, that are not part of a Profile */
+   HL_PARM_SET_HSPD_SEG_ALL_DATA,
+   HL_PARM_GET_HSPD_SEG_ALL_DATA,
+
+   /* Init HSPD Db to defaults */
+   HL_PARM_SET_HSPD_SEG_INIT,   /* Init Hspd Data that are not part of a Profile */
+   HL_PARM_SET_HSPD_SEG_PROFILE_INIT, /* Init a Profile, with ProfileId */
+
+   /* Set Individual Params in HSPD SegData, that are not part of a Profile */
+   HL_PARM_SET_ACTIVE_PROFILE,                   /* ActiveProfile */
+   HL_PARM_GET_ACTIVE_PROFILE                    = 10,
+   HL_PARM_SET_NUM_PROFILE,                      /* NumProfiles */
+   HL_PARM_GET_NUM_PROFILE,
+   HL_PARM_SET_RRP_TIMEOUT,                      /* RRPTimeout */
+   HL_PARM_GET_RRP_TIMEOUT,
+   HL_PARM_SET_NUM_REG_RETRIES,                  /* NumRegRetries */
+   HL_PARM_GET_NUM_REG_RETRIES,
+   HL_PARM_SET_REG_BACKOFF,                      /* RRA */
+   HL_PARM_GET_REG_BACKOFF,
+   HL_PARM_SET_IS801_IPADDR,                     /* Is801_IpAddr */
+   HL_PARM_GET_IS801_IPADDR                      = 20,
+   HL_PARM_SET_IS801_PORTNUM,                    /* Is801_PortNum */
+   HL_PARM_GET_IS801_PORTNUM,
+   HL_PARM_SET_IS801_USERID,                     /* Is801_UserId[HLP_MAX_USRID_LEN]*/
+   HL_PARM_GET_IS801_USERID,
+   HL_PARM_SET_IS801_PSWD,                       /* Is801_Pswd[HLP_MAX_PSWD_LEN] */
+   HL_PARM_GET_IS801_PSWD,
+   HL_PARM_SET_IS801_CALLEDNUMBER,               /* Is801_CalledNumber[HLP_MAX_BWSR_DIG_LEN] */
+   HL_PARM_GET_IS801_CALLEDNUMBER,
+   HL_PARM_SET_MN_HA_AUTH,                       /* 0-RFC2002, 1-RFC2002bis */
+   HL_PARM_GET_MN_HA_AUTH                        = 30,
+   HL_PARM_SET_MN_HA_AUTH_ALGO,                  /* MN_HA_Auth_Algo */
+   HL_PARM_GET_MN_HA_AUTH_ALGO,
+   HL_PARM_SET_MN_AAA_AUTH_ALGO,                 /* MN_AAA_Auth_Algo */
+   HL_PARM_GET_MN_AAA_AUTH_ALGO,
+   HL_PARM_SET_MN_AUTHENTICATOR,                 /* MN_Authenticator[MN_AUTH_MAX_SIZE] */
+   HL_PARM_GET_MN_AUTHENTICATOR,
+   HL_PARM_SET_ACTIVE_DMURSA_PK,                 /* ActiveDmuRsaPublicKey */
+   HL_PARM_GET_ACTIVE_DMURSA_PK,
+   HL_PARM_SET_NPKOID,                           /* nPKOID */
+   HL_PARM_GET_NPKOID                            = 40,
+   HL_PARM_SET_SIP_NAI,                          /* SIP_NAI[HLP_MN_NAI_MAX_SIZE] */
+   HL_PARM_GET_SIP_NAI,
+   HL_PARM_SET_SIP_DUN_NAI,                      /* SIP_DUN_NAI[HLP_MN_NAI_MAX_SIZE] */
+   HL_PARM_GET_SIP_DUN_NAI,
+   HL_PARM_SET_AN_NAI,                           /* AN_NAI[HLP_MN_NAI_MAX_SIZE] */
+   HL_PARM_GET_AN_NAI,
+   HL_PARM_SET_DORMANT_HANDOFF_OPTSET,           /* DormantHandoffOptSet */
+   HL_PARM_GET_DORMANT_HANDOFF_OPTSET,
+   HL_PARM_SET_DATA_SCRM_ENABLED,                /* DataScrmEnabled */
+   HL_PARM_GET_DATA_SCRM_ENABLED                 = 50,
+   HL_PARM_SET_DATA_TRTL_ENABLED,                /* DataTrtlEnabled */
+   HL_PARM_GET_DATA_TRTL_ENABLED,
+   HL_PARM_SET_PREFRC,                           /* PrefRc */
+   HL_PARM_GET_PREFRC,
+   HL_PARM_SET_DNS_PRI_IP_ADDR,
+   HL_PARM_GET_DNS_PRI_IP_ADDR,
+   HL_PARM_SET_DNS_SEC_IP_ADDR,
+   HL_PARM_GET_DNS_SEC_IP_ADDR,
+   HL_PARM_GET_DNS_IP_ADDR,
+   HL_PARM_SET_DNS_IP_ADDR                       = 60,
+   HL_PARM_SET_MIP_MODE,
+   HL_PARM_GET_MIP_MODE,
+
+   /* Set Individual Params in HSPD Secure SegData, that are not part of a Profile */
+   HL_PARM_SET_SIP_STRING_PASSWORD,
+   HL_PARM_GET_SIP_STRING_PASSWORD,
+   HL_PARM_SET_AN_PASSWORD,
+   HL_PARM_GET_AN_PASSWORD,
+   HL_PARM_SET_AN_BINARY_PASSWORD,
+   HL_PARM_SET_SIP_BINARY_PASSWORD,
+   HL_PARM_SET_PACKET_DIAL_STRING,
+   HL_PARM_GET_PACKET_DIAL_STRING                = 70,
+   HL_PARM_SET_VJ_COMPRESSION_ENABLE,
+   HL_PARM_GET_VJ_COMPRESSION_ENABLE,
+   HL_PARM_SET_MIP_STRING_PASSWORD,
+   HL_PARM_GET_MIP_STRING_PASSWORD,
+   HL_PARM_SET_MIP_BINARY_PASSWORD,
+   HL_PARM_GET_MIP_BINARY_PASSWORD,
+   HL_PARM_SET_QNC_ENABLED,
+   HL_PARM_GET_QNC_ENABLED,
+   HL_PARM_SET_MDR_MODE_ENABLED,
+   HL_PARM_GET_MDR_MODE_ENABLED                  = 80,
+   HL_PARM_SECURE_PROFILE_DATA_INIT,
+   HL_PARM_GET_SIP_BINARY_PASSWORD,
+#ifdef CBP7_EHRPD
+   HL_PARM_SET_AKA_PASSWORD                      = 83,
+   HL_PARM_GET_AKA_PASSWORD,
+   HL_PARM_SET_AKA_RROFILEDATA,
+   HL_PARM_GET_AKA_PROFILEDATA,
+#endif
+   HL_PARM_GET_HSPD_LOCK                         = 87,
+   HL_PARM_SET_HSPD_LOCK,
+   HL_PARM_SET_HSPD_LOCK_CODE,
+   HL_PARM_SET_DATA_AUTO_PACKET_DETECTION,
+   HL_PARM_GET_DATA_AUTO_PACKET_DETECTION,
+   HL_PARM_SET_DATA_SO,
+   HL_PARM_GET_DATA_SO,
+   HL_PARM_SET_MN_NAI,
+   HL_PARM_GET_MN_NAI,
+   HL_PARM_SET_MN_DUN_NAI,
+   HL_PARM_GET_MN_DUN_NAI,
+   HL_PARM_SET_MN_HA_SPI_ENABLE,
+   HL_PARM_GET_MN_HA_SPI_ENABLE,
+   HL_PARM_SET_MN_HA_SPI,
+   HL_PARM_GET_MN_HA_SPI,
+   HL_PARM_SET_MN_AAA_SPI_ENABLE,
+   HL_PARM_GET_MN_AAA_SPI_ENABLE,
+   HL_PARM_SET_MN_AAA_SPI,
+   HL_PARM_GET_MN_AAA_SPI,
+   HL_PARM_SET_MN_REVERSE_TUNNELING,
+   HL_PARM_GET_MN_REVERSE_TUNNELING,
+   HL_PARM_SET_MN_HOME_IP_ADDRESS,
+   HL_PARM_GET_MN_HOME_IP_ADDRESS,
+   HL_PARM_SET_HOME_AGENT_PRIMARY_IP_ADDRESS,
+   HL_PARM_GET_HOME_AGENT_PRIMARY_IP_ADDRESS,
+   HL_PARM_SET_HOME_AGENT_SECONDARY_IP_ADDRESS,
+   HL_PARM_GET_HOME_AGENT_SECONDARY_IP_ADDRESS,
+
+   HL_PARM_SET_HSPD_NETWORKMODE,
+   HL_PARM_GET_HSPD_NETWORKMODE,
+
+   HL_PARM_SET_HSPD_DORMANT_TIMER_MODE,
+   HL_PARM_GET_HSPD_DORMANT_TIMER_MODE,
+
+   HL_PARM_SET_MIP_DE_REG_RETRIES                = 118,
+   HL_PARM_GET_MIP_DE_REG_RETRIES,
+   HL_PARM_SET_MIP_RE_REG_ONLYIF_TRAFFIC,
+   HL_PARM_GET_MIP_RE_REG_ONLYIF_TRAFFIC,
+   HL_PARM_SET_MIP_NAI_ENABLE,
+   HL_PARM_GET_MIP_NAI_ENABLE,
+
+   HL_PARM_SET_DATA_DO_TO_1X_ENABLE,
+   HL_PARM_GET_DATA_DO_TO_1X_ENABLE,
+
+   HL_PARM_SET_DATA_PPP_UM_CONFIG                = 126,
+   HL_PARM_GET_DATA_PPP_UM_CONFIG,
+   HL_PARM_SET_DATA_PPP_RM_CONFIG,
+   HL_PARM_GET_DATA_PPP_RM_CONFIG,
+   HL_PARM_SET_DATA_TCP_CONFIG,
+   HL_PARM_GET_DATA_TCP_CONFIG,
+
+   HL_PARM_SET_DO_RETRY_TIMER                    = 132,
+   HL_PARM_GET_DO_RETRY_TIMER,
+
+#ifdef CBP7_EHRPD
+   HL_PARM_SET_EHRPD_TEST_MODE                   = 148,
+   HL_PARM_GET_EHRPD_TEST_MODE,
+#endif
+
+   HL_PARM_SET_PROFILE_VALID                     = 150,
+   HL_PARM_GET_PROFILE_VALID,
+   HL_PARM_VAL_AT_SET_HSPD_NETWORKMODE,
+   HL_PARM_VAL_AT_SET_AN_NAI,
+   HL_PARM_VAL_AT_GET_AN_NAI,
+
+   HL_PARM_OPERATION_ID_END_LIST
+} HlpParmOperationId;
+
+typedef enum
+{
+   HL_PARM_MIN_VALUE,
+   HL_PARM_MAX_VALUE,
+   HL_PARM_DEFAULT_VALUE,
+   HL_PARM_CUSTOM_VALUE,
+   HL_PARM_OP_TYPE_LIST_END
+} HlpParmOperationType;
+
+typedef enum
+{
+   HL_PARM_OPERATION_SUCCESS,
+   HL_PARM_OPERATION_FAIL_READ_NOT_ALLOWED,
+   HL_PARM_OPERATION_FAIL_WRITE_NOT_ALLOWED,
+   HL_PARM_OPERATION_NOT_ALLOWED_IN_HL_STATE,
+   HL_PARM_OPERATION_FAIL_INVALID_PTR,
+   HL_PARM_OPERATION_FAIL_INVALID_LENGTH,
+   HL_PARM_OPERATION_GENERAL_FAILURE,
+   HL_PARM_OPERATION_NO_CHANGE_IN_VALUE,
+   HL_PARM_OPERATION_FAIL_VALUE_OUT_OF_RANGE,
+   HL_PARM_OPERATION_PARAMETER_NOT_SUPPORTED,
+   HL_PARM_OPERATION_INTERFACE_NOT_SUPPORTED,
+   HL_PARM_OPERATION_FAIL_OP_TYPE_NOT_SUPPORTED,
+   HL_PARM_OPERATION_FAIL_DEFAULT_NOT_DEFINED,
+   HL_PARM_OPERATION_FAIL_DEFAULT_NOT_SUPPORTED_FOR_PARM,
+   HL_PARM_OPERATION_RESULT_END_LIST
+} HlpParmAccessResultCode;
+
+typedef enum
+{
+   NOT_CONNECTED,
+   DO_CONNECTING,
+   DO_CONNECTED,
+   RTT_CONNECTING,
+   RTT_CONNECTED
+} ConnStateT;
+
+typedef struct
+{
+   ExeRspMsgT resp;
+   kal_uint8   SMS_Over_IP_Networks_Indication;
+   kal_uint8   SigComp;
+   kal_uint8   ImsDomain[72];
+   kal_uint8   AkaPassword[72];
+   kal_uint16  SipT1Timer_ims;
+   kal_uint16  SipTFTimer_ims;
+   kal_uint16  SipT2Timer_ims;
+   kal_uint16  SipPcscfPort;
+} HlpSmsImsEtsCfgSetT;
+
+typedef struct
+{
+   kal_uint8   SMS_Over_IP_Networks_Indication;
+   kal_uint8   SigComp;
+   kal_uint8   ImsDomain[72];
+   kal_uint8   AkaPassword[72];
+   kal_uint16  SipT1Timer_ims;
+   kal_uint16  SipTFTimer_ims;
+   kal_uint16  SipT2Timer_ims;
+   kal_uint16  SipPcscfPort;
+} HlpSmsImsEtsCfgGetT;
+
+/* The following structures are to be obsolete
+   but keep them for backword compatible now
+typedef   struct
+{
+   ExeRspMsgT resp;
+   kal_uint16  restartTimer;
+   kal_uint8   lcpReqTry;
+   kal_uint8   lcpNakTry;
+   kal_uint8   lcpTermTry;
+   kal_uint8   authRetry;
+   kal_uint8   ipcpReqTry;
+   kal_uint8   ipcpNakTry;
+   kal_uint8   ipcpTermTry;
+   kal_uint8   ipcpCompression;
+}   HlpPppUmEtsCfgSetT;
+
+typedef   struct
+{
+   kal_uint8 result;
+}   HlpPppUmEtsCfgSetRespT;
+
+typedef   struct
+{
+   kal_uint8   result;
+   kal_uint16  restartTimer;
+   kal_uint8   lcpReqTry;
+   kal_uint8   lcpNakTry;
+   kal_uint8   lcpTermTry;
+   kal_uint8   authRetry;
+   kal_uint8   ipcpReqTry;
+   kal_uint8   ipcpNakTry;
+   kal_uint8   ipcpTermTry;
+   kal_uint8   ipcpCompression;
+}   HlpPppUmEtsCfgGetT;
+
+typedef   struct
+{
+   kal_uint16  restartTimer;
+   kal_uint8   lcpReqTry;
+   kal_uint8   lcpNakTry;
+   kal_uint8   lcpTermTry;
+   kal_uint8   authRetry;
+   kal_uint8   ipcpReqTry;
+   kal_uint8   ipcpNakTry;
+   kal_uint8   ipcpTermTry;
+   kal_uint8   ipcpCompression;
+}   HlpPppUmEtsCfgT;
+   The above structures are to be obsolete
+   but keep them for backword compatible now */
+
+
+
+typedef struct
+{
+   kal_uint32  RxBytes;
+   kal_uint32  RxPackets;
+   kal_uint32  BadRxPackets;
+   kal_uint32  TxBytes;
+   kal_uint32  TxPackets;
+   kal_uint64  TotalRxBytes;
+   kal_uint64  TotalRxPackets;
+   kal_uint64  TotalBadRxPackets;
+   kal_uint64  TotalTxBytes;
+   kal_uint64  TotalTxPackets;
+} IPCounterT;
+
+typedef struct
+{
+   kal_uint8   lcpReqTries;
+   kal_uint8   lcpNakTries;
+   kal_uint16  lcpRestartTimer;
+   kal_uint8   lcpTermTries;
+   kal_uint16  lcpTermTimer;
+   kal_uint8   authRetries;
+   kal_uint16  authTimer;
+   kal_uint8   ncpReqTries;
+   kal_uint8   ncpNakTries;
+   kal_uint16  ncpReStrTimer;
+   kal_uint8   ncpTermTries;
+   kal_uint16  ncpTermTimer;
+} HlpPppUmCfg_APIStruct;
+
+typedef struct
+{
+   kal_bool    pppKeepAlive;
+   kal_bool    pppDetect;
+   kal_uint8   lcpReqTries;
+   kal_uint8   lcpNakTries;
+} HlpPppRmCfg_APIStruct;
+
+typedef struct
+{
+   kal_uint16  tcpMtu;
+} HlpTcpCfgSet_APIStruct;
+
+typedef struct
+{
+   kal_uint16  tcpMtu;
+   kal_uint16  tcpWinSize_1XRTT;
+   kal_uint16  tcpWinSize_EVDO;
+} HlpTcpCfg_APIStruct;
+
+typedef struct{
+   kal_uint8 ProfileId;
+   kal_uint8 NAI[HLP_MN_NAI_MAX_SIZE];
+} HlpHspdMNNAI_APIStruct;
+
+typedef struct{
+   kal_uint8 ProfileId;
+   kal_uint8 MN_REV_TUNNELING;
+} HlpHspdRevTunneling_APIStruct;
+
+typedef struct{
+   kal_uint8  ProfileId;
+   kal_uint32 SPI;
+} HlpHspdMNSPI_APIStruct;
+
+typedef struct{
+   kal_uint8 ProfileId;
+   kal_bool  SPI_Enable;
+} HlpHspdMNSPIEnable_APIStruct;
+
+typedef struct{
+   kal_uint8 ProfileId;
+   kal_uint32 IPAddress;
+} HlpHspdProfileIPAddress_APIStruct;
+
+typedef struct{
+   kal_uint8 ProfileId;
+} HlpHspdProfileParmGet_APIStruct;
+
+typedef struct{
+   kal_uint8    ProfileId;
+   kal_bool     Profile_Valid;
+   kal_uint32   MN_HOME_IP_ADDR;
+   kal_uint32   HA_PRI_IP_ADDR;
+   kal_uint32   HA_SEC_IP_ADDR;
+   kal_uint8    MN_NAI[HLP_MN_NAI_MAX_SIZE];
+   kal_uint8    MN_DUN_NAI[HLP_MN_NAI_MAX_SIZE];
+   kal_uint8    MN_REV_TUNNELING;
+   kal_bool     bMN_HA_SPI_Enable;
+   kal_uint32   MN_HA_SPI;
+   kal_bool     bMN_AAA_SPI_Enable;
+   kal_uint32   MN_AAA_SPI;
+} HlpProfileData_APIStruct;
+
+typedef struct
+{
+   kal_uint8     ProfileId;
+   kal_bool      Profile_Valid;
+   kal_uint8     MN_AAA_PASSWORD_LEN;
+   kal_uint8     MN_AAA_PASSWORD[MN_PASSWD_MAX_SIZE]; /* MIP AAA Shared Secret*/
+   kal_uint8     MN_HA_PASSWORD_LEN;
+   kal_uint8     MN_HA_PASSWORD[MN_PASSWD_MAX_SIZE]; /* MIP HA Shared Secret  */
+} HlpSecureProfileData_APIStruct;
+
+typedef struct
+{
+   kal_uint8   ProfileId;   /* Init the data to defaults, for this ProfileId */
+} HlpInitHspdProfileData_APIStruct;
+
+typedef struct
+{
+   kal_uint8   ProfileId;   /* Init the data to defaults, for this ProfileId */
+} HlpGetHspdProfileData_APIStruct;
+
+typedef struct
+{
+
+   /* HSPD Seg Data, that are not part of a profile */
+   /*===============================================*/
+   kal_uint8    RRPTimeout;      /* RRP MIP Registration timeout        */
+   kal_uint8    NumRegRetries;   /* RRP MIP Registration Retry Attempts */
+   kal_uint16   RRA;             /* Pre Re-registration backoff         */
+   kal_uint32   Is801_IpAddr;
+   kal_uint16   Is801_PortNum;
+   kal_uint8    Is801_UserId[HLP_MAX_USRID_LEN];
+   kal_uint8    Is801_Pswd[HLP_MAX_PSWD_LEN];
+   kal_uint8    Is801_CalledNumber[HLP_MAX_BWSR_DIG_LEN];
+
+   kal_uint8    MN_HA_AUTH;  /* 0-RFC2002, 1-RFC2002bis, 2-bypassHA */
+   kal_uint8    MN_HA_Auth_Algo;
+   kal_uint8    MN_AAA_Auth_Algo;
+   kal_uint8    MN_Authenticator[MN_AUTH_MAX_SIZE];
+   kal_uint8    ActiveDmuRsaPublicKey;   /* 0-TestKey, 1-CommercialKey */
+   kal_uint8    nPKOID;
+
+   kal_uint8    SIP_NAI[HLP_MN_NAI_MAX_SIZE];
+   kal_uint8    SIP_DUN_NAI[HLP_MN_NAI_MAX_SIZE];
+   kal_uint8    AN_NAI[HLP_MN_NAI_MAX_SIZE];
+
+   kal_uint8    DormantHandoffOptSet;  /* 0-Disabled, 1-Enabled */
+   kal_uint8    DataScrmEnabled;  /* Supp Chan Supported */
+   kal_uint8    DataTrtlEnabled;   /* Slow Down data at high CPU utilization */
+   kal_uint8    PrefRc; /* Preferred Radio Cfg. Default-RC3 */
+   kal_uint32   DNS_PRI_IP_ADDR;
+   kal_uint32   DNS_SEC_IP_ADDR;
+   kal_uint8    MIPMode;
+
+   kal_uint32   ActiveProfile;
+   kal_uint8    NumProfiles;
+   kal_uint8    VJCompEnabled;
+   /* HSPD Secure Seg Data, that are not part of a profile */
+   /*======================================================*/
+   /* Only Set applies, no Gets for Secure Data */
+   kal_uint8    SIP_PASSWORD[HLP_MAX_PSWD_LEN]; /* Simple IP User Password   */
+   kal_uint8    AN_PASSWORD[HLP_MAX_PSWD_LEN]; /* AN Shared Secret*/
+} HlpHspdSegData_APIStruct;
+
+typedef struct
+{
+  kal_uint8 RRPTimeout;
+} HlpRrpTimeout_APIStruct;
+
+typedef struct
+{
+  kal_uint8 NumRegRetries;
+} HlpNumRegRetries_APIStruct;
+
+typedef struct
+{
+  kal_uint8 NumDeRegRetries;
+} HlpDeRegRetries_APIStruct;
+
+typedef struct
+{
+  kal_bool ReRegOnlyIfTraffic;
+} HlpReRegOnlyIfTraffic_APIStruct;
+
+typedef struct
+{
+  kal_bool MipNaiEnabled;
+} HlpMipNaiEnable_APIStruct;
+
+typedef struct
+{
+  kal_uint16 RRA;
+}  HlpReRegBackoff_APIStruct;
+
+typedef struct
+{
+   kal_uint32   Is801_IpAddr;
+} HlpIs801IpAddr_APIStruct;
+
+typedef   struct
+{
+   kal_uint16   Is801_PortNum;
+}    HlpIs801PortNum_APIStruct;
+
+typedef struct
+{
+   kal_uint8    Is801_UserId[HLP_MAX_USRID_LEN];
+} HlpIs801UserId_APIStruct;
+
+typedef struct
+{
+   kal_uint8    Is801_Pswd[HLP_MAX_PSWD_LEN];
+} HlpIs801Pswd_APIStruct;
+
+typedef struct
+{
+   kal_uint8    Is801_CalledNumber[HLP_MAX_BWSR_DIG_LEN];
+} HlpIs801CalledNumber_APIStruct;
+
+typedef struct
+{
+   kal_uint8    MN_HA_AUTH;  /* 0-RFC2002, 1-RFC2002bis, 2-bypassHA */
+} HlpMNHAAUTH_APIStruct;
+typedef  struct
+{
+   kal_uint8    MN_HA_Auth_Algo;
+} HlpMNHAAuthAlgo_APIStruct;
+
+typedef struct
+{
+   kal_uint8    MN_AAA_Auth_Algo;
+} HlpMNAAAAuthAlgo_APIStruct;
+
+typedef struct
+{
+   kal_uint8    MN_Authenticator[MN_AUTH_MAX_SIZE];
+}  HlpMNAuthenticator_APIStruct;
+
+typedef struct
+{
+   kal_uint8    ActiveDmuRsaPublicKey;   /* 0-TestKey, 1-CommercialKey */
+} HlpActiveDmuRsaPublicKey_APIStruct;
+
+typedef struct
+{
+   kal_uint8    nPKOID;
+} HlpPKOID_APIStruct;
+
+typedef struct
+{
+   kal_uint8    SIP_NAI[HLP_MN_NAI_MAX_SIZE];
+} HlpSIPNAI_APIStruct;
+
+typedef struct
+{
+   kal_uint8    SIP_DUN_NAI[HLP_MN_NAI_MAX_SIZE];
+} HlpSIPDUNNAI_APIStruct;
+
+typedef struct
+{
+   kal_uint8    AN_NAI[HLP_MN_NAI_MAX_SIZE];
+} HlpANNAI_APIStruct;
+
+typedef struct
+{
+   kal_uint8    DormantHandoffOptSet;  /* 0-Disabled, 1-Enabled */
+} HlpDormantHandoffOptSet_APIStruct;
+
+typedef struct
+{
+   kal_uint8    DataScrmEnabled;   /* Supp Chan Supported */
+} HlpDataScrmEnabled_APIStruct;
+
+typedef struct
+{
+   kal_uint8    DataTrtlEnabled;   /* Slow Down data at high CPU utilization */
+} HlpDataTrtlEnabled_APIStruct;
+
+typedef struct
+{
+   kal_uint8    PrefRc; /* Preferred Radio Cfg. Default-RC3 */
+} HlpPrefRc_APIStruct;
+
+typedef struct
+{
+   kal_uint8    VJCompressionEnabled;
+}  HlpVJCompressionEnabled_APIStruct;
+
+typedef struct
+{
+   kal_uint8    DialString[HLP_NUM_DIAL_STRING_DIGITS];
+}  HlpDialString_APIStruct;
+
+typedef struct
+{
+   kal_bool     QNC_Enabled;
+} HlpQncEnabled_APIStruct;
+
+typedef struct
+{
+   kal_uint8    MDR_Mode;
+}  HlpMdrMode_APIStruct;
+
+typedef struct
+{
+   kal_bool DoTo1X_Enabled;
+}  HlpDoTo1XEnabled_APIStruct;
+
+typedef  struct
+{
+   kal_uint32   DNS_PRI_IP_ADDR;
+}  HlpDNSPRIIPADDR_APIStruct;
+
+typedef  struct
+{
+   kal_uint32   DNS_SEC_IP_ADDR;
+}  HlpDNSSECIPADDR_APIStruct;
+
+typedef  struct
+{
+   HlpDNSPRIIPADDR_APIStruct PriIpAddr;
+   HlpDNSSECIPADDR_APIStruct SecIpAddr;
+}   HlpDNSIPADDR_APIStruct;
+
+typedef  struct
+{
+  kal_uint32 ActiveProfile;
+}  HlpActiveProfile_APIStruct;
+
+typedef   struct
+{
+  kal_uint8    ProfileId;
+  kal_bool     Profile_Valid;
+}  HlpProfileValid_APIStruct;
+
+typedef  struct
+{
+   kal_uint8    NumProfiles;
+}  HlpNumProfiles_APIStruct;
+
+typedef struct
+{
+   kal_uint8    MipMode;
+}  HlpMipMode_APIStruct;
+
+typedef struct
+{
+   kal_uint8    SIP_PASSWORD[HLP_MAX_PSWD_LEN];
+}  HlpSipPassword_APIStruct;
+
+typedef  struct
+{
+   kal_uint8    AN_PASSWORD[HLP_MAX_PSWD_LEN];
+}  HlpAnPassword_APIStruct;
+
+typedef struct
+{
+   kal_uint8    AN_PASSWORD_LEN;
+   kal_uint8    AN_PASSWORD[HLP_MAX_PSWD_LEN];
+}  HlpAnBinaryPassword_APIStruct;
+
+typedef struct
+{
+   kal_uint8    ProfileId;
+   kal_uint8    MN_AAA_PASSWORD_LEN;
+   kal_uint8    MN_AAA_PASSWORD[HLP_MN_PASSWD_MAX_SIZE];
+   kal_uint8    MN_HA_PASSWORD_LEN;
+   kal_uint8    MN_HA_PASSWORD[HLP_MN_PASSWD_MAX_SIZE];
+} HlpMIPPasswordHex_APIStruct;
+
+typedef struct
+{
+   kal_uint8    ProfileId;
+   kal_uint8    MN_HA_PASSWORD[HLP_MN_PASSWD_MAX_SIZE];
+   kal_uint8    MN_AAA_PASSWORD[HLP_MN_PASSWD_MAX_SIZE];
+}    HlpMIPPasswordString_APIStruct;
+
+typedef   struct
+{
+   kal_uint8    SIP_PASSWORD_LEN;
+   kal_uint8    SIP_PASSWORD[HLP_MAX_PSWD_LEN];
+}  HlpSIPPasswordHex_APIStruct;
+
+typedef  struct
+{
+   kal_uint8    ProfileId;   /* Init the data to defaults, for this ProfileId */
+}  HlpSecureSegInit_APIStruct;
+
+typedef struct
+{
+    kal_bool HspdLocked;
+} HlpHspdLockGet_APIStruct;
+
+typedef struct
+{
+    kal_uint16  LockCode;
+    kal_bool    Lock;
+} HlpHspdLockSet_APIStruct;
+
+typedef struct
+{
+    kal_uint16  CurrentLockCode;
+    kal_uint16  NewLockCode;
+} HlpHspdLockCode_APIStruct;
+
+typedef struct
+{
+    kal_bool Enable; /*   KAL_TRUE: Scan the serial link for PPP packets
+           Default is KAL_FALSE: Wait for ATD #777*/
+} HlpDataAutoPacketDetection_APIStruct;
+
+typedef  struct
+{
+    kal_bool HspdNetworkMode;
+} HlpHspdNetworkMode_APIStruct;
+
+typedef  struct
+{
+   kal_uint16 T_Dormancy;
+   kal_uint16 T_HRPD_Search;
+   kal_uint16 T_Rapid_Dormancy;
+   kal_uint16 T_ResDef_Dormancy;
+#ifdef MTK_CBP
+   /* refer to DormParmCheckT enum
+    * bit3: T_ResDef_Dormancy; bit2: T_Rapid_Dormancy; bit1: T_HRPD_Search; bit0: T_Dormancy.
+    * if 1, need check
+    */
+   DormParmCheckT Check_Flag;
+#endif
+}   HlpDormantTimerData_APIStruct;
+
+typedef  struct
+{
+   kal_uint16 T_DO_Retry;
+} HlpDoRetryTimerData_APIStruct;
+
+typedef  struct {
+   kal_uint16 T_Dormancy;
+} HlpValCtaUpdateReqMsgT;
+
+typedef enum
+{
+  HLP_DATA_SO_PRE701=0,
+  HLP_DATA_SO_QP=1,
+  HLP_DATA_SO_IS701=2
+} HlpDataSOType;
+
+typedef  struct
+{
+  HlpDataSOType SOSetType;
+}  HlpDataSO_APIStruct;
+
+typedef struct
+{
+   HlpParmOperationId ParmId;
+   kal_bool InProgress;
+   kal_bool RspNeeded;
+   ExeRspMsgT  RspInfo;
+   kal_int16       RegId;
+} HlpSecureRspType;
+
+typedef struct {
+   kal_uint8 N_DIGITS;
+   kal_uint8 MDN[OTA_MAX_MDN_DIGITS];
+} HlpPswMDNUpdatedMsgT;
+
+typedef struct
+{
+   kal_bool TriggeredByCs;
+} HlpPswRsvasAbortReqMsgT;
+
+#define MAX_CHAP_DATA_LEN 16
+
+typedef   struct{
+   kal_uint8 ChapId;
+   kal_uint8 ChapLen;
+   kal_uint8 ChapData[MAX_CHAP_DATA_LEN];
+}  HlpUimAccessChapTestMsgT;
+
+typedef   struct {
+   kal_uint16 T_Dormancy;
+   kal_uint16 T_HRPD_Search;
+   kal_uint16 T_Rapid_Dormancy;
+   kal_uint16 T_ResDef_Dormancy;
+   DormParmCheckT Check_Flag;
+}  HlpDormancyTimersSetMsgT;
+
+typedef   struct {
+   kal_uint16 T_DO_Retry;
+}  HlpDORetryTimersSetMsgT;
+
+typedef HlpSecureRspType HlpSegRspType;
+#endif
+
+#ifdef CBP7_EHRPD
+typedef struct
+{
+   kal_uint8    AKA_PASSWORD[HLP_MAX_PSWD_LEN];
+} HlpAkaPassword_APIStruct;
+
+typedef struct
+{
+   HlpHspdAkaProfileDataT    AkaProfileData;
+} HlpAkaProfileData_APIStruct;
+
+typedef enum
+{
+   AKAAuth_Success,
+   AKAAuth_AUTNFailure,
+   AKAAuth_SQNSyncFailure,
+   AKAAuth_RESInvalid,
+   AKAAuth_CKInvalid,
+   AKAAuth_IKInvalid,
+   AKAAuth_UnknowFailure
+#if EAP_AKA_PRIME
+   ,
+   AKAAuth_KDFIputInvalid,
+   AKAAuth_KDFInvalid
+#endif
+} EapAkaAuthResultT;
+
+typedef struct
+{
+   EapAkaAuthResultT authResult;
+} HlpSecAkaAuthRspMsgT;
+#endif
+
+typedef struct
+{
+   kal_bool bEncryptDecryptResult;
+} HlpSecAesCryptRspMsgT;
+
+typedef   struct
+{
+   ExeRspMsgT  RspInfo;
+   kal_uint8 FlowId;
+   HlpIp6AddrTypeE AddrType;
+   kal_uint16 LocalAddrPort;
+   kal_uint16 PeerAddrPort;
+   kal_uint32 PeerAddrIp[4];
+}  HlpIp6TcpConnectionOpenMsgT;
+
+typedef struct
+{
+   kal_uint8 Sap;
+}  HlpTcpConnectionOpenRspMsgT;
+
+typedef struct
+{
+   ExeRspMsgT  RspInfo;
+   kal_uint16 LocalAddrPort;
+   kal_uint16 PeerAddrPort;
+   kal_uint32 PeerAddrIp;
+}  HlpIp4TcpConnectionOpenMsgT;
+
+#ifdef CBP7_EHRPD
+typedef struct
+{
+   kal_bool eEHRPD;
+} HlpImsEHRPDAttriMsgT;
+
+/* IP6 related Begin */
+
+typedef struct
+{
+   ExeRspMsgT  RspInfo;
+   kal_uint8 FlowId;
+   HlpIp6AddrTypeE AddrType;
+   kal_uint16 LocalAddrPort;
+   kal_uint16 PeerAddrPort;
+   kal_uint32 PeerAddrIp[4];
+   kal_int32  PayloadSize;
+} HlpIp6UdpConnectionOpenMsgT;
+
+typedef struct
+{
+   kal_uint8 Sap;
+} HlpIp6UdpConnectionOpenRspMsgT;
+
+typedef struct
+{
+   kal_uint8 Sap;
+} HlpIp6UdpConnectionCloseMsgT;
+
+typedef struct
+{
+   kal_uint8 Sap;
+} HlpIp6TcpConnectionCloseMsgT;
+
+/* IP6 related End */
+
+
+typedef struct
+{
+   kal_bool bRevRohcOnRlpFlow;
+   HlpProtocolIdentifierT  RevProtcolID;
+   RevRohcProtocolParmsT   RevRohcParms;
+   kal_bool bFwdRohcOnRlpFlow;
+   HlpProtocolIdentifierT  FwdProtcolID;
+   FwdRohcProtocolParmsT   FwdRohcParms;
+} HlpRlpFlowProtocolInfoT;
+
+typedef struct
+{
+   HlpRlpFlowProtocolInfoT RlpFlowProtocolInfo[MAX_HLP_FLOW_SUPPORTED];
+} HlpRlpFlowProtocolInfoMsgT;
+
+typedef struct
+{
+   kal_uint8  curRoute;
+} HlpRlpRouteChangedMsgT;
+#endif
+
+typedef enum
+{
+   HLP_PPP_ROUTE_DEFAULT,
+   HLP_PPP_ROUTE_NDIS
+} HlpPppRouteTypeE;
+
+typedef struct
+{
+   kal_uint8 RouteType;
+} HlpPppRouteTypeSetMsgT;
+
+typedef enum
+{
+   PATH_HDLC,
+   PATH_IP,
+   PATH_ROHC,
+   PATH_IP_WITH_PDNMUX
+} HlpRlpDataPathT;
+
+typedef struct
+{
+   NetworkT   network;
+   SvcStatusT svcStatus;
+} HlpSvcStatusMsgT;
+
+typedef enum
+{
+  CONN_SUSPEND,
+  CONN_RESUME,
+  CONN_DISABLE,
+  CONN_RELEASE,
+  CONN_RESET
+} ConnCmdT;
+
+typedef struct
+{
+  ConnCmdT   dataCmd;
+} HlpDataConnectionCmdT;
+
+typedef enum
+{
+   PowerUp,
+   HybridRegistration,
+   RTTOnlyRegistration,
+   TriggerPDRegistration,
+   DefaultAttach,
+   SetIPv6Address,
+   DedicateAttach,
+   DetachAll,
+   SendPING_IPv4,
+   SendPING_IPv6
+} ActionT;
+
+typedef struct
+{
+  ActionT    myAction;
+  kal_uint32     Ipv4Src;
+  kal_uint32     Ipv4Dst;
+  kal_uint32     Ipv6Src[4];
+  kal_uint32     Ipv6Dst[4];
+  kal_uint8      PDNid;
+  kal_uint8      PDNtype;
+  kal_uint8      AttachType;
+  kal_uint8      APNstring[16];
+} HlpTestBrowserConnectMsgT;
+
+typedef struct
+{
+   kal_bool bPowerUp;
+} HlpPowerReqMsgT;
+
+
+typedef enum
+{
+   HLP_DOANAUTH_CHINATELECOM,
+   HLP_DOANAUTH_INDONESIASMART,
+   HLP_DOANAUTH_CARRIER_MAX
+} HlpDOANAuthT;
+
+typedef struct
+{
+   HlpDOANAuthT   DOANAuthAlgo;
+} HlpDOANAuthAlgoSetMsgT;
+
+typedef struct
+{
+  kal_uint32  SrcAddr;
+  kal_uint32  DstAddress;
+  kal_uint32  Length;
+  kal_uint8   Data[520];
+} HlpValPingReqMsgT;
+
+typedef struct
+{
+  kal_uint8     Apn[100]; /* APN of PDN which need update its inactivity timer */
+} HlpValUpdatePdnInactivityTimerT;
+
+typedef enum
+{
+    HLP_VAL_SET_PCMT_MODE = 0,
+    HLP_VAL_READ_PCMT_MODE,
+    HLP_VAL_PCMT_INVALID_MODE = 255
+}HlpValPcmtModeT;
+
+typedef struct
+{
+    ExeRspMsgT      RspInfo;
+    HlpValPcmtModeT mode;
+    kal_bool            pcmtIratSet;
+    kal_uint32          pcmtIratValue;
+    kal_bool            pcmtEhrpdSet;
+    kal_uint32          pcmtEhrpdValue;
+}  HlpValPcmtParaMsgT;
+
+typedef struct
+{
+  kal_uint8 AppSubType;
+} HlpPppDataReqMsgT;
+
+typedef enum
+{
+   HLP_UT_CONFIG_PARAM_1X_PS_ORIG_FAIL_REASON,
+   HLP_UT_CONFIG_PARAM_CONTINUE_PROCESS_RATDM_UL_DATA,
+   HLP_UT_CONFIG_PARAM_MCC,
+   HLP_UT_CONFIG_PARAM_COMPLETE_PROCESS_DL_DATA,
+   HLP_UT_CONFIG_PARAM_SBP_ID,
+   HLP_UT_CONFIG_PARAM_MAX
+}HlpUtConfigParamT;
+
+typedef struct
+{
+    kal_uint32 LocalIPAddr;
+    kal_uint32 PriDNSAddr;
+	kal_uint32 RemoteIPAddr;
+    kal_uint32 SecDNSAddr;
+    kal_uint16 IPv4MTU;
+}NwAppliedParm1xHRPDT;
+
+typedef struct
+{
+   kal_uint8		 Cid;							   /*context id of PDP*/
+   NetworkPrefT	     NetworkPref;
+   NspeAppT		     AppType;
+   DialingInfoT      CallInfo;
+   kal_uint16		 InactivityTmr; 				   /* number of seconds for 1X RLP only  */
+   kal_bool			 ReleaseTchWhenFallback;		   /* MIP to SIP fallback, release TCH	 */
+   HlpPppRouteTypeE  RouteType;
+}HlpPppConnectReqMsgT;
+
+typedef struct
+{
+   kal_uint8			 	Cid; /*context id of PDP*/
+   DataConnErrCodeT     ErrCode;
+   NwAppliedParm1xHRPDT Parm;
+}HlpPppConnectCnfMsgT;
+
+typedef struct
+{
+   kal_uint8			 	Cid; /*context id of PDP*/
+}HlpPppDisconnectReqMsgT;
+
+typedef struct
+{
+   kal_uint8			 	Cid; /*context id of PDP*/
+}HlpPppUpdateReqMsgT;
+
+typedef struct
+{
+   kal_uint8			 	Cid; /*context id of PDP*/
+}HlpPppDisconnectCnfMsgT;
+
+typedef enum
+{
+   DISCONNECT_BY_NW,
+   DISCONNECT_BY_ME    
+}DataDiscCauseT;
+
+typedef struct
+{
+   kal_uint8			   Cid; /*context id of PDP*/
+   DataDiscCauseT      Cause;
+}HlpPppDisconnectIndMsgT;
+
+typedef struct
+{
+   kal_uint8				 Cid; /*context id of PDP*/
+   NwAppliedParm1xHRPDT  Parm;
+}HlpPppModifyIndMsgT;
+
+/*---------------------------------------------------------------
+*  Declare global variables
+*----------------------------------------------------------------*/
+extern kal_bool           PppFilterIpMux;
+
+extern MuxInfo        FilterMuxInfo;
+/*---------------------------------------------------------------
+*  Declare global function prototypes
+*----------------------------------------------------------------*/
+
+extern void PppHaDecode0Lisr (kal_uint32 irq_id);
+extern void PppHaDecode1Lisr (kal_uint32 irq_id);
+extern void PppHaEncode0Lisr (kal_uint32 irq_id);
+extern void PppHaEncode1Lisr (kal_uint32 irq_id);
+extern void  HlpSetInternetPdnId(kal_uint8 PdnId);
+
+RmDataQBuffStatusE RmWrite(RmDataCpBuffDescT *Buff, kal_uint32 flags);
+RmDataQBuffStatusE RmRead(RmDataCpBuffDescT * Buff);
+void C2kPppLineStatusNotify(kal_uint32 PppStatus);
+void C2kPppLineStatusIndicate(kal_uint32 PppStatus);
+kal_bool HlpIsHightPriorityConnReq(void);
+
+#endif
+
+
+