[Feature][Modem]Update MTK MODEM V1.6 baseline version: MOLY.NR15.R3.MD700.IVT.MP1MR3.MP.V1.6
MTK modem version: MT2735_IVT_MOLY.NR15.R3.MD700.IVT.MP1MR3.MP.V1.6.tar.gz
RF modem version: NA
Change-Id: I45a4c2752fa9d1a618beacd5d40737fb39ab64fb
diff --git a/mcu/interface/protocol/l4_c2k/valsmsdefine.h b/mcu/interface/protocol/l4_c2k/valsmsdefine.h
new file mode 100644
index 0000000..d49ed93
--- /dev/null
+++ b/mcu/interface/protocol/l4_c2k/valsmsdefine.h
@@ -0,0 +1,720 @@
+/*****************************************************************************
+* 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-2012 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+
+/*===========================================================================
+
+ V A L S M S DEFINE H E A D E R F I L E
+
+ This file contains the definitions for the SMS
+ module of the VIA Abstraction Layer.
+
+===========================================================================*/
+#ifndef VALSMSDEFINE_H
+#define VALSMSDEFINE_H
+
+#include "valapi.h"
+#include "valsmscust.h"
+
+//don't modify following macro, brew has referred to it
+/* field mask definitions */
+#define SERVICE_CAT_PRESENT 0x00000001
+#define ADDRESS_PRESENT 0x00000002
+#define SMS_SUBADDRESS_PRESENT 0x00000004
+#define USER_DATA_PRESENT 0x00000008
+#define USER_RESP_CODE_PRESENT 0x00000010
+#define MC_TIME_STAMP_PRESENT 0x00000020
+#define ABS_VAL_PERIOD_PRESENT 0x00000040
+#define REL_VAL_PERIOD_PRESENT 0x00000080
+#define ABS_DEF_DEL_TIME_PRESENT 0x00000100
+#define REL_DEF_DEL_TIME_PRESENT 0X00000200
+#define PRIORITY_IND_PRESENT 0x00000400
+#define PRIVACY_IND_PRESENT 0x00000800
+#define REPLY_OPTION_PRESENT 0x00001000
+#define NUM_MESSAGES_PRESENT 0x00002000
+#define ALERT_MSG_DEL_PRESENT 0x00004000
+#define LANGUAGE_IND_PRESENT 0x00008000
+#define CALLBACK_NUM_PRESENT 0x00010000
+#define MSG_DISP_MODE_PRESENT 0x00020000
+#define MULT_ENCODE_USER_DATA_PRESENT 0x00040000
+#define MESSAGE_DEPOSIT_INDEX_PRESENT 0x00080000
+#define MESSAGE_STATUS_PRESENT 0x00400000
+#define SER_CAT_PROGRAM_RESULT_PRESENT 0x00800000
+#define SER_CAT_PROGRAM_DATA_PRESENT 0x01000000
+#define BEARER_REPLY_OPTION_PRESENT 0x02000000
+#ifdef KDDI_EXTENSIONS
+#define IP_ADDRESS_PRESENT 0x04000000
+#define NOTIFY_FLAG_PRESENT 0x08000000
+#define UIM_ID_PRESENT 0x10000000
+#endif
+
+typedef kal_uint16 ValSmsRecIdT;
+
+//don't modify following Enum, brew has referred to it
+/*! txt message type define
+*/
+typedef enum
+{
+ EMPTY = 0, /* the block has not occupied by a sms message */
+ READ = 0x01,
+ TO_BE_READ = 0x03,
+ SENT = 0x05,
+ TO_BE_SENT = 0x07,
+ DUPLICATE_READ=0x0F,
+ DUPLICATE_TO_BE_READ=0x11,
+ DRAFT = 0x15,
+
+ ARCHIVE_READ = 0x21,
+ ARCHIVE_TO_BE_READ = 0x23,
+ ARCHIVE_SENT = 0x25,
+ ARCHIVE_TO_BE_SENT = 0x27,
+
+ NOT_COMPLETE = 0x33,
+
+ TO_BE_DELETED = 0x40,
+
+ VAL_SMS_MAX_STATE
+} ValSmsStatT;
+
+//don't modify following Enum, brew has referred to it
+/*sms message type*/
+typedef enum
+{
+ VAL_SMS_SMS_MSG_TYPE_POINT_TO_POINT = 0,
+ VAL_SMS_SMS_MSG_TYPE_BROADCAST,
+#if defined(LGT_EXTENSIONS)
+ VAL_SMS_SMS_MSG_TYPE_UNKNOWN,
+#endif
+ VAL_SMS_SMS_MSG_TYPE_ACKNOWLEDGE,
+ VAL_SMS_MAX_SMS_MSG_TYPE
+} ValSmsTransMsgTypeT;
+
+/* Macro to validate ValSmsMsgTypeT */
+#define IS_VALID_VSMS_MSG_TYPE(a) ((VAL_SMS_SMS_MSG_TYPE_POINT_TO_POINT == (a)) || \
+ ((VAL_SMS_SMS_MSG_TYPE_POINT_TO_POINT < (a)) && \
+ ((a) < VAL_SMS_MAX_SMS_MSG_TYPE)))
+
+//don't modify following Enum, brew has referred to it
+typedef enum
+{
+ VAL_SMS_MSG_TYPE_RESERVED = 0,
+ VAL_SMS_MSG_TYPE_TERMINATION_DELIVER,
+ VAL_SMS_MSG_TYPE_ORIGINATION_SUBMIT,
+ VAL_SMS_MSG_TYPE_ORIGINATION_CANCELLATION,
+ VAL_SMS_MSG_TYPE_TERMINATION_DELIVERY_ACK,
+ VAL_SMS_MSG_TYPE_USER_ACK,
+ VAL_SMS_MSG_TYPE_READ_ACK,
+ VAL_SMS_MAX_MSG_TYPE
+} ValSmsTeleMsgT;
+
+/* Macro for validating vsms msg type */
+#define IS_VALID_SMS_MSG(a) \
+ ((VAL_SMS_MSG_TYPE_RESERVED == (a)) || ((VAL_SMS_MSG_TYPE_RESERVED < (a)) && ((a) < VAL_SMS_MAX_MSG_TYPE)))
+
+//don't modify following Enum, brew has referred to it
+/*! Val sms teleservice id define */
+typedef enum
+{
+ /*----------------------------------------------------------------
+ The following are not defined as a teleservice in IS-637,
+ but they are used to indicate the teleservice type in Analog mode.
+ -----------------------------------------------------------------*/
+ VAL_SMS_TS_ID_IS91_PAGE = 0,
+ VAL_SMS_TS_ID_IS91_VOICE_MAIL = 1,
+ VAL_SMS_TS_ID_IS91_SHORT_MESSAGE = 2,
+
+ /*----------------------------------------------------------------
+ Voice mail notification through Message Waiting Indication in
+ CDMA mode or Analog mode
+ -----------------------------------------------------------------*/
+ VAL_SMS_TS_ID_VOICE_MAIL_MWI = 3,
+
+ /*----------------------------------------------------------------
+ IS-637 Teleservices
+ -----------------------------------------------------------------*/
+ VAL_SMS_TS_ID_IS91 = 4096,
+ VAL_SMS_TS_ID_PAGE = 4097,
+ VAL_SMS_TS_ID_MESSAGE = 4098,
+ VAL_SMS_TS_ID_VOICE_MAIL = 4099,
+ VAL_SMS_TS_ID_WAP,
+ VAL_SMS_TS_ID_WEMT , /*add for EMS*/
+ VAL_SMS_TS_ID_SCPT, /*add for SCPT*/
+ VAL_SMS_TS_ID_CATPT, /*add for UIM card application*/
+ VAL_SMS_BROAD_CAST_SRV, /*add for the broadcast service*/
+ VAL_SMS_TS_ID_IMSSRV = 4242,
+#if defined(LGT_EXTENSIONS)
+ VAL_SMS_LGT_UNKNOWN = 32521, /* FEATURE_UNKNOWN_TID_SUPPORT */
+#endif
+ VAL_SMS_MPC_ID = 65001,
+ VAL_SMS_TS_ID_PUSH= 65002, /*sms push for China Telecom*/
+ VAL_SMS_REGISTER_SRV =65005, /*add for register message service*/
+ VAL_SMS_TS_ID_DM_PUSH = 65009,
+
+ VAL_SMS_MAX_TS_ID
+} ValSmsTeleSrvIdT;
+
+/*! Macro for validating vsms teleservice id type */
+#define IS_VALID_SMS_TELESERVICE_ID(a) \
+ ((VAL_SMS_TS_ID_IS91_PAGE == (a)) || ((VAL_SMS_TS_ID_IS91_PAGE < (a)) && ((a) < VAL_SMS_MAX_TS_ID)))
+
+
+typedef enum
+{
+ VAL_SMS_SVR_CAT_UNKNOWN = 0,
+ VAL_SMS_SVR_CAT_EMERGENCIES,
+ VAL_SMS_SVR_CAT_ADMINISTRATIVE,
+ VAL_SMS_SVR_CAT_MAINTENANCE,
+ VAL_SMS_SVR_CAT_GEN_NEWS_LOCAL,
+ VAL_SMS_SVR_CAT_GEN_NEWS_REGIONAL,
+ VAL_SMS_SVR_CAT_GEN_NEWS_NATIONAL,
+ VAL_SMS_SVR_CAT_GEN_NEWS_INTERNATIONAL,
+ VAL_SMS_SVR_CAT_FINANCE_NEWS_LOCAL,
+ VAL_SMS_SVR_CAT_FINANCE_NEWS_REGIONAL,
+ VAL_SMS_SVR_CAT_FINANCE_NEWS_NATIONAL,
+ VAL_SMS_SVR_CAT_FINANCE_NEWS_INTERNATIONAL,
+ VAL_SMS_SVR_CAT_SPORTS_NEWS_LOCAL,
+ VAL_SMS_SVR_CAT_SPORTS_NEWS_REGIONAL,
+ VAL_SMS_SVR_CAT_SPORTS_NEWS_NATIONAL,
+ VAL_SMS_SVR_CAT_SPORTS_NEWS_INTERNATIONAL,
+ VAL_SMS_SVR_CAT_ENTERTAINMENT_NEWS_LOCAL,
+ VAL_SMS_SVR_CAT_ENTERTAINMENT_NEWS_REGIONAL,
+ VAL_SMS_SVR_CAT_ENTERTAINMENT_NEWS_NATIONAL,
+ VAL_SMS_SVR_CAT_ENTERTAINMENT_NEWS_INTERNATIONAL,
+ VAL_SMS_SVR_CAT_LOCAL_WEATHER,
+ VAL_SMS_SVR_CAT_TRAFFIC,
+ VAL_SMS_SVR_CAT_FLIGHT_SCHEDULE,
+ VAL_SMS_SVR_CAT_RESTAURANTS,
+ VAL_SMS_SVR_CAT_LODGINGS,
+ VAL_SMS_SVR_CAT_RETAIL_DIRECTORY,
+ VAL_SMS_SVR_CAT_ADVERTISEMENT,
+ VAL_SMS_SVR_CAT_STOCK_QUOTES,
+ VAL_SMS_SVR_CAT_EMPLOYMENT_OPPORTUNITIES,
+ VAL_SMS_SVR_CAT_MEDICAL_HEALTH,
+ VAL_SMS_SVR_CAT_TECH_NEWS,
+ VAL_SMS_SVR_CAT_MULTI_CATEGORY,
+ VAL_SMS_SVR_CAT_CMAS_PRESIDENT_ALERT = 0X1000, /* 3GPP2 C.R1001-G SPEC */
+ VAL_SMS_SVR_CAT_CMAS_EXTREME_THREAT_TO_LIFE,
+ VAL_SMS_SVR_CAT_CMAS_SEVERE_THREAT_TO_LIFE,
+ VAL_SMS_SVR_CAT_CMAS_CHILD_ABDUCTION_EMERGNY,
+ VAL_SMS_SVR_CAT_CMAS_TEST_MESSAGE,
+ VAL_SMS_SVR_CAT_CMAS_RESERVED_MAX =0X10FF,
+ VAL_SMS_MAX_SVR_CAT
+} ValSmsSrvCatT;
+
+/* Macro for validating ValSmsSrvCatT */
+#define IS_VALID_SMS_SERVICE_CAT(a) \
+ ((VAL_SMS_SVR_CAT_UNKNOWN == (a)) || ((VAL_SMS_SVR_CAT_UNKNOWN <(a)) && ((a) < VAL_SMS_MAX_SVR_CAT)))
+//don't modify following Enum, brew has referred to it
+typedef enum
+{
+ VAL_SMS_NUMBER_PLAN_UNKNOWN = 0,
+ VAL_SMS_NUMBER_PLAN_TELEPHONY,
+ VAL_SMS_NUMBER_PLAN_DATA = 3,
+ VAL_SMS_NUMBER_PLAN_TELEX,
+ VAL_SMS_NUMBER_PLAN_PRIVATE = 9,
+ VAL_SMS_MAX_NUMBER_PLAN
+} ValSmsNumPlanT;
+
+/* Macro for validating ValSmsNumPlanT */
+#define IS_VALID_SMS_NUMBER_PLAN(a) \
+ ((VAL_SMS_NUMBER_PLAN_UNKNOWN == (a)) || ((VAL_SMS_NUMBER_PLAN_UNKNOWN <(a)) && ((a) < VAL_SMS_MAX_NUMBER_PLAN)))
+
+//don't modify following Enum, brew has referred to it
+typedef enum
+{
+ VAL_SMS_DIGIT_MODE_4_BIT = 0,
+ VAL_SMS_DIGIT_MODE_8_BIT,
+ VAL_SMS_MAX_DIGIT_MODE
+} ValSmsDigitModeT;
+
+/* Macro for validating VAL_SMS digit mode type */
+#define IS_VALID_SMS_DIGIT_MODE(a) \
+ ((VAL_SMS_DIGIT_MODE_4_BIT ==(a))|| ((VAL_SMS_DIGIT_MODE_4_BIT <(a)) && ((a) < VAL_SMS_MAX_DIGIT_MODE)))
+
+typedef enum
+{
+ VAL_SMS_NUMBER_MODE_ANSI_T1_607 = 0,
+ VAL_SMS_NUMBER_MODE_DATA_NETWORK,
+ VAL_SMS_MAX_NUMBER_MODE
+} ValSmsNumModeT;
+
+/* Macro for validating vsms number mode type */
+#define IS_VALID_SMS_NUMBER_MODE(a) \
+ ( (VAL_SMS_NUMBER_MODE_ANSI_T1_607 == (a)) || ((VAL_SMS_NUMBER_MODE_ANSI_T1_607 <(a)) && ((a) < VAL_SMS_MAX_NUMBER_MODE)))
+
+//don't modify following Enum, brew has referred to it
+typedef enum
+{
+ VAL_SMS_NUMBER_TYPE_UNKNOWN = 0,
+ VAL_SMS_NUMBER_TYPE_INTERNATIONAL,
+ VAL_SMS_NUMBER_TYPE_NATIONAL,
+ VAL_SMS_NUMBER_TYPE_NETWORK_SPECIFIC,
+ VAL_SMS_NUMBER_TYPE_SUBSCRIBER,
+ VAL_SMS_NUMBER_TYPE_RESERVED,
+ VAL_SMS_NUMBER_TYPE_ABBREVIATED,
+ VAL_SMS_MAX_NUMBER_TYPE
+} ValSmsNumberT;
+
+/* Macro for validating ValSmsNumberT */
+#define IS_VALID_SMS_NUMBER_TYPE(a) \
+ ((VAL_SMS_NUMBER_TYPE_UNKNOWN == (a)) || ((VAL_SMS_NUMBER_TYPE_UNKNOWN <(a)) && ((a) < VAL_SMS_MAX_NUMBER_TYPE)))
+
+typedef enum
+{
+ VAL_SMS_DATA_NUM_TYPE_UNKNOWN = 0,
+ VAL_SMS_DATA_NUM_TYPE_RFC_791, /* Internet Protocol */
+ VAL_SMS_DATA_NUM_TYPE_RFC_822, /* Internet Email Address */
+ VAL_SMS_MAX_DATA_NUM_TYPE
+} ValSmsDataNumberT;
+
+/* Macro for validating ValSmsDataNumberT */
+#define IS_VALID_SMS_DATA_NUMBER_TYPE(a) \
+ ((VAL_SMS_DATA_NUM_TYPE_UNKNOWN == (a)) ||((VAL_SMS_DATA_NUM_TYPE_UNKNOWN <(a)) && ((a) < VAL_SMS_MAX_DATA_NUM_TYPE)))
+
+//don't modify following Struct, brew has referred to it
+typedef struct
+{
+ ValSmsDigitModeT DigitMode;
+ ValSmsNumModeT NumberMode;
+ union
+ {
+ ValSmsNumberT NumType;
+ ValSmsDataNumberT DataNumType;
+ } NumberType;
+ ValSmsNumPlanT NumberPlan;
+ kal_uint8 NumFields;
+ kal_uint8 Address[VAL_SMS_MAX_ADDRESS_LEN];
+} ValSmsAddressT;
+
+typedef enum
+{
+ VAL_SMS_SUBADDR_TYPE_NSAP = 0,
+ VAL_SMS_SUBADDR_TYPE_USER,
+ VAL_SMS_MAX_SUBADDR_TYPE
+} ValSmsSubAddrT;
+
+/* Macro for validating ValSmsSubAddrT */
+#define IS_VALID_SMS_SUBADDR_TYPE(a) \
+ ((VAL_SMS_SUBADDR_TYPE_NSAP ==(a)) || ((VAL_SMS_SUBADDR_TYPE_NSAP < (a)) && ((a) < VAL_SMS_MAX_SUBADDR_TYPE)))
+
+
+typedef struct
+{
+ ValSmsSubAddrT SubaddrType;
+ kal_uint8 Odd;
+ kal_uint8 NumFields;
+ kal_uint8 Address[VAL_SMS_MAX_SUBADDR_LEN];
+} ValSmsSubaddressT;
+
+ typedef struct
+ {
+ kal_uint8 replySeq;
+ } ValSmsBearerRlyOptionT;
+
+//don't modify following Enum, brew has referred to it
+typedef enum
+{
+ VAL_SMS_MSG_ENCODE_OCTET = 0,
+ VAL_SMS_MSG_ENCODE_IS91_EXT_PROT_MSG,
+ VAL_SMS_MSG_ENCODE_7BIT_ASCII,
+ VAL_SMS_MSG_ENCODE_IA5,
+ VAL_SMS_MSG_ENCODE_UNICODE,
+ VAL_SMS_MSG_ENCODE_SHIFT_JIS,
+ VAL_SMS_MSG_ENCODE_KS_C_5601,
+ VAL_SMS_MSG_ENCODE_LATIN_HEBREW,
+ VAL_SMS_MSG_ENCODE_LATIN,
+ VAL_SMS_MSG_ENCODE_GSM_7BIT,
+#ifdef MTK_CBP
+ VAL_SMS_MSG_ENCODE_GSM_DCS, /* KWID867 */
+#endif
+ VAL_SMS_MAX_MSG_ENCODE
+} ValSmsMsgEncodeT;
+
+/* Macro for validating vsms message encode type */
+#define IS_VALID_SMS_MSG_ENCODE(a) \
+ ((VAL_SMS_MSG_ENCODE_OCTET == (a)) || ((VAL_SMS_MSG_ENCODE_OCTET <(a)) && ((a) < VAL_SMS_MAX_MSG_ENCODE)))
+
+//don't modify following Struct, brew has referred to it
+typedef struct
+{
+ ValSmsMsgEncodeT MessageEncoding;
+ kal_uint8 MessageType;
+ kal_uint8 NumFields;
+ kal_uint8 Data[VAL_SMS_MAX_USER_DATA_LEN];
+} ValSmsUserDataT;
+
+//don't modify following Enum, brew has referred to it
+typedef enum
+{
+ VAL_SMS_PRIORITY_NORMAL = 0,
+ VAL_SMS_PRIORITY_INTERACTIVE,
+ VAL_SMS_PRIORITY_URGENT,
+ VAL_SMS_PRIORITY_EMERGENCY,
+ VAL_SMS_MAX_PRIORITY
+} ValSmsPriorityT;
+
+/* Macro for validating vsms priority type */
+#define IS_VALID_SMS_PRIORITY(a) \
+ ((VAL_SMS_PRIORITY_NORMAL == (a)) ||((VAL_SMS_PRIORITY_NORMAL <(a)) && ((a) < VAL_SMS_MAX_PRIORITY)))
+
+//don't modify following Enum, brew has referred to it
+typedef enum
+{
+ VAL_SMS_PRIVACY_NOT_RESTRICTED = 0,
+ VAL_SMS_PRIVACY_RESTRICTED,
+ VAL_SMS_PRIVACY_CONFIDENTIAL,
+ VAL_SMS_PRIVACY_SECRET,
+ VAL_SMS_MAX_PRIVACY
+} ValSmsPrivacyT;
+
+/* Macro for validating vsms privacy type */
+#define IS_VALID_SMS_PRIVACY(a) \
+ ((VAL_SMS_PRIVACY_NOT_RESTRICTED == (a)) ||((VAL_SMS_PRIVACY_NOT_RESTRICTED <(a)) && ((a) < VAL_SMS_MAX_ERRCLASS)))
+
+typedef struct
+{
+ kal_bool UserAckReq; /*true for user ack is required*/
+ kal_bool DakReq; /*true for delivery ack is required*/
+ kal_bool ReadAckReq; /*true for read ack is required*/
+} ValSmsRplOptionT;
+
+typedef enum
+{
+ VAL_SMS_ALERT_MOBILE_DEFAULT = 0,
+ VAL_SMS_ALERT_LOW_PRIORITY,
+ VAL_SMS_ALERT_MEDIUM_PRIORITY,
+ VAL_SMS_ALERT_HIGH_PRIORITY,
+ VAL_SMS_MAX_ALERT
+} ValSmsAlertT;
+
+/* Macro for validating vsms alert type */
+#define IS_VALID_SMS_ALERT(a) \
+ ((VAL_SMS_ALERT_MOBILE_DEFAULT == (a)) || \
+ ((VAL_SMS_ALERT_MOBILE_DEFAULT < (a)) && ((a) < VAL_SMS_MAX_ALERT)))
+
+//don't modify following Enum, brew has referred to it
+typedef enum
+{
+ VAL_SMS_LANGUAGE_UNKNOWN = 0,
+ VAL_SMS_LANGUAGE_ENGLISH,
+ VAL_SMS_LANGUAGE_FRENCH,
+ VAL_SMS_LANGUAGE_SPANISH,
+ VAL_SMS_LANGUAGE_JAPANESE,
+ VAL_SMS_LANGUAGE_KOREAN,
+ VAL_SMS_LANGUAGE_CHINESE,
+ VAL_SMS_LANGUAGE_HEBREW,
+#if defined(LGT_EXTENSIONS)
+ VAL_SMS_LANGUAGE_KOREAN_LGT=64,
+#endif
+ VAL_SMS_MAX_LANGUAGE
+} ValSmsLanguageT;
+
+/* Macro for validating vsms language type */
+#define IS_VALID_SMS_LANGUAGE(a) \
+ ((VAL_SMS_LANGUAGE_UNKNOWN == (a)) || \
+ ((VAL_SMS_LANGUAGE_UNKNOWN <(a)) && ((a) < VAL_SMS_MAX_LANGUAGE)))
+
+//don't modify following Struct, brew has referred to it
+typedef struct
+{
+ ValSmsDigitModeT DigitMode;
+ ValSmsNumberT NumberType;
+ ValSmsNumPlanT NumberPlan;
+ kal_uint8 NumFields;
+ kal_uint8 Digits[VAL_SMS_CALLBACK_NUMBER_MAX_DIGITS];
+} ValSmsCbNumberT;
+
+//don't modify following Enum, brew has referred to it
+typedef enum
+{
+ VAL_SMS_DISP_MODE_IMMEDIATE = 0,
+ VAL_SMS_DISP_MODE_DEFAULT,
+ VAL_SMS_DISP_MODE_USER_INVOKE,
+ VAL_SMS_DISP_MODE_RESERVED,
+ VAL_SMS_MAX_DISP_MODE
+} ValSmsDisplayModeT;
+
+/* Macro for validating vsms mssage display mode type */
+#define IS_VALID_SMS_MSG_DISP_MODE(a) \
+ ((VAL_SMS_DISP_MODE_IMMEDIATE == (a)) || \
+ ((VAL_SMS_DISP_MODE_IMMEDIATE <(a)) && ((a) < VAL_SMS_MAX_DISP_MODE)))
+
+//don't modify following Enum, brew has referred to it
+typedef struct
+{
+ ValSmsDisplayModeT SmsDispMode;
+ kal_uint8 Reserved;
+} ValSmsDispModeT;
+
+/*! Error class */
+typedef enum
+{
+ VAL_SMS_ERRCLASS_NO_ERROR,
+ VAL_SMS_ERRCLASS_TEMPORARY = 2,
+ VAL_SMS_ERRCLASS_PERMANENT = 3,
+ VAL_SMS_MAX_ERRCLASS
+} ValSmsErrClassT;
+
+/*! Macro to validate ValSmsErrClassT */
+#define IS_VAL_SMS_NO_ERR_CLASS(a) (VAL_SMS_ERRCLASS_NO_ERROR == (a))
+#define IS_VAL_SMS_ERR_CLASS(a) ((VAL_SMS_ERRCLASS_TEMPORARY <= (a)) && ((a) < VAL_SMS_MAX_ERRCLASS))
+#define IS_VALID_SMS_ERR_CLASS(a) (IS_VAL_SMS_NO_ERR_CLASS(a) || IS_VAL_SMS_ERR_CLASS(a))
+
+typedef enum
+{
+ VAL_SMS_MSGSTATUS_ACCEPTED,
+ VAL_SMS_MSGSTATUS_DEPOSITED_TO_INTERNET,
+ VAL_SMS_MSGSTATUS_DELIVERED,
+ VAL_SMS_MSGSTATUS_CANCELLED,
+ VAL_SMS_MSGSTATUS_NETWORK_CONGESTION,
+ VAL_SMS_MSGSTATUS_NETWORK_ERROR,
+ VAL_SMS_MSGSTATUS_CANCEL_FAILED,
+ VAL_SMS_MSGSTATUS_BLOCKED_DESTINATION,
+ VAL_SMS_MSGSTATUS_TEXT_TOO_LONG,
+ VAL_SMS_MSGSTATUS_DUPLICATE_MESSAGE,
+ VAL_SMS_MSGSTATUS_INVALID_DESTINATION,
+ VAL_SMS_MSGSTATUS_EXPIRED,
+ VAL_SMS_MAX_MSGSTATUS
+} ValSmsMsgStatusCodeT;
+
+//don't modify following Struct, brew has referred to it
+typedef struct
+{
+ ValSmsErrClassT ErrorClass;
+ ValSmsMsgStatusCodeT MsgStatusCode;
+} ValSmsMsgStatusT;
+
+typedef enum
+{
+ VAL_SMS_CATRESULT_SUCCESS,
+ VAL_SMS_CATRESULT_MEMORY_EXCEEDED,
+ VAL_SMS_CATRESULT_LIMIT_EXCEEDED,
+ VAL_SMS_CATRESULT_ALREADY_PROGRAMMED,
+ VAL_SMS_CATRESULT_NOT_PREVIOUSLY_PROGRAMMED,
+ VAL_SMS_CATRESULT_INVALID_MAX_MESSAGES,
+ VAL_SMS_CATRESULT_INVALID_ALERT_OPTION,
+ VAL_SMS_CATRESULT_INVALID_CATEGORY_NAME,
+ VAL_SMS_CATRESULT_UNSPECIFIED_FAILURE,
+ VAL_SMS_MAX_CATRESULT
+} ValSmsCategoryResultCodeT;
+
+typedef struct
+{
+ ValSmsSrvCatT Category;
+ ValSmsCategoryResultCodeT CategoryResult;
+ ValSmsLanguageT Language;
+} ValSmsCategoryResultT;
+
+typedef struct
+{
+ kal_uint8 NumCategories;
+ ValSmsCategoryResultT Cat[VAL_SMS_MAX_CATEGORIES];
+} ValSmsSrvCatProgRsltT;
+
+typedef enum
+{
+ VAL_SMS_OP_DELETE,
+ VAL_SMS_OP_ADD,
+ VAL_SMS_OP_CLEAR_ALL,
+ VAL_SMS_MAX_OP
+} ValSmsOperationCodeT;
+
+typedef enum
+{
+ VAL_NO_ALERT = 0,
+ VAL_MOBILE_DEFAULT_ALERT,
+ VAL_VIBRATE_ALERT_ONCE,
+ VAL_VIBRATE_ALERT_REPEAT,
+ VAL_VISUAL_ALERT_ONCE,
+ VAL_VISUAL_ALERT_REPEAT,
+ VAL_LOW_PRIORITY_ALERT_ONCE,
+ VAL_LOW_PRIORITY_ALERT_REPEAT,
+ VAL_MED_PRIORITY_ALERT_ONCE,
+ VAL_MED_PRIORITY_ALERT_REPEAT,
+ VAL_HIGH_PRIORITY_ALERT_ONCE,
+ VAL_HIGH_PRIORITY_ALERT_REPEAT,
+ VAL_SMS_MAX_CAT_ALERT
+} ValSmsCatAlertT;
+
+typedef struct
+{
+ ValSmsOperationCodeT OperationCode;
+ ValSmsSrvCatT SrvCat;
+ ValSmsLanguageT Lang;
+ /*the maximum number of messages that may be stored in the mobile station for this Service Category*/
+ kal_uint8 MaxMsg;
+ ValSmsCatAlertT Alert;
+ kal_uint8 NumChar;
+ kal_uint8 Chari[VAL_SMS_MAX_CHAR_IN_CATEGORY];
+} ValSmsCatDataT;
+
+typedef struct
+{
+ ValSmsMsgEncodeT MsgEncoding;
+ kal_uint8 NumCat;
+ ValSmsCatDataT Cat[VAL_SMS_MAX_CATEGORIES];
+} ValSmsSrvCatProgDataT;
+
+#ifdef KDDI_EXTENSIONS
+typedef struct
+{
+ kal_uint32 IpAddress;
+ kal_uint8 CtlFlag;
+} ValSmsIpAddressT;
+#endif
+//don't modify following Struct, brew has referred to it
+typedef struct
+{
+ /* required fields */
+ kal_uint32 FieldMask; /* the field mask */
+ ValSmsRecIdT SmsMsgRecId; /* the phisical position of sms record in the storage device, UI NEEDN't fill it */
+ ValSmsStatT SMSState; /* sms message status, UI may not fill it when sending, But if UI want to write or update a message, it must fill it.*/
+ kal_uint8 NumUserData; /* number of user data */
+ ValSmsTransMsgTypeT TransMsgType; /* transport layer message type, UI may not fill it */
+ kal_uint16 MsgId; /* message id, required, UI NEEDN'T fill it */
+ kal_bool HeaderInd; /* message head indication, required. UI MUST give it a correct value. True for the user data field includes a User Data Header, else set false */
+ ValSmsTeleMsgT TeleMsgType; /* teleservice layer message type, required. UI MUST give it a correct value */
+ ValSmsTeleSrvIdT TeleSrvId; /* teleservice id, required, UI MUST give it a correct value */
+ /* following is the optional fields */
+ ValSmsSrvCatT SrvCat; /* for broadcasting message, required, else, optional */
+ ValSmsAddressT Address; /* required for submit and delivery message */
+ ValSmsSubaddressT Subaddress; /* optional */
+ ValSmsBearerRlyOptionT BearerReplyOption;
+ ValSmsUserDataT UserData[VAL_SMS_MAX_NUM_DATA_MSGS]; /* user data or multi encoding user data */
+ kal_uint8 UserRspCode;
+ ValSmsAbsTimeT TimeStamp;
+ ValSmsAbsTimeT ValTimeAbs;
+ kal_uint8 RelValPeriod;
+ ValSmsAbsTimeT AbsDelTime;
+ kal_uint8 RelDelPeriod;
+ ValSmsPriorityT Priority;
+ ValSmsPrivacyT Privacy;
+ ValSmsRplOptionT RplOp;
+ kal_uint8 NumMsgs; /* only for VMN message */
+ ValSmsAlertT Alert;
+ ValSmsLanguageT Lang;
+ ValSmsCbNumberT CallBackNum;
+ ValSmsDispModeT DispMode;
+ kal_uint16 MsgDepIndex;
+ kal_uint16 SeqNum; /*only for receive message */
+ ValSmsMsgStatusT MsgStatus; /*used only for SMS delivery Acknowledgement message */
+ ValSmsSrvCatProgRsltT SrvCatProgResult; /* only for submitting message */
+ ValSmsSrvCatProgDataT SrvCatData; /*only for delivery message */
+#ifdef MTK_CBP_ENCRYPT_VOICE
+ kal_bool CryptSmsPres;
+ ValCryptSmsInfoT CryptSmsInfo; /*sms crypt sms*/
+#endif
+#ifdef KDDI_EXTENSIONS
+ ValSmsIpAddressT MsgIpAddr;
+ kal_uint8 NotifyFlag;
+ kal_uint32 UimId;
+#endif
+ kal_bool IsImsPPdownLoad;
+ kal_uint8 seq_id;
+} ValSmsTxtRecordT;
+
+#ifdef MTK_CBP_ENCRYPT_VOICE
+typedef enum
+{
+ VAL_SMS_MSG_TYPE_CALL_KEY_REQ= 0,
+ VAL_SMS_MSG_TYPE_CALL_KEY_RSP,
+ VAL_SMS_MSG_TYPE_CALLED_ENCRYPT_IND,
+ VAL_SMS_MSG_TYPE_CALLED_KEY_REQ,
+ VAL_SMS_MSG_TYPE_CALLED_KEY_RSP,
+ VAL_SMS_MSG_TYPE_ERROR_IND,
+ VAL_SMS_MSG_TYPE_KMC_PUBLIC_KEY_UPDATE ,
+ VAL_SMS_MSG_TYPE_KMC_PUBLIC_KEY_UPDATE_RSP,
+ VAL_SMS_MSG_TYPE_KMC_PUBLIC_KEY_UPDATE_CNF,
+ VAL_SMS_MSG_TYPE_REMOTE_CONTROL_INS ,
+ VAL_SMS_MSG_TYPE_REMOTE_CONTROL_INS_RSP,
+ VAL_SMS_MSG_TYPE_INITIAL,
+}ValSpeSmsMsgTypeT;
+
+typedef struct
+{
+ kal_uint8 mode;
+ kal_uint8 calledNum[11];
+ kal_uint8 calledBytes;
+} ValCryptSmsCallKeyInfoT;
+
+typedef struct
+{
+ kal_uint8 rspType;
+ kal_uint8 result;
+} ValCryptRcInsRspInfoT;
+#endif
+
+
+#endif
+/**Log information: D:\ClearCase\pchen_vtui2\HZREF\cp\inc\valsmsdefine.h@@\main\vtui2_plus\2 2008-05-07 07:13:18 GMT pchen
+** HZTP#0000**/
+/**Log information: \main\vtui2_5x\sms_contact_refactory\2 2008-08-05 08:38:03 GMT dwang
+** HREF#0000
+|Merge vtui2_plus**/
+/**Log information: \main\vtui2_5x\sms_contact_refactory\3 2008-08-12 06:39:10 GMT pchen
+** HREF#1445**/
+/**Log information: \main\vtui2_5x\sms_contact_refactory\4 2008-10-23 05:56:27 GMT pchen
+** HREF#1445**/
+/**Log information: \main\vtui2_5x\sms_contact_refactory\5 2008-12-01 13:19:35 GMT ltian
+** HREF#1445**/
+/**Log information: \main\vtui2_5x\sms_contact_refactory\6 2009-03-06 08:03:57 GMT pchen
+** HREF#1445**/
+/**Log information: \main\vtui2_5x\sms_contact_refactory\7 2009-03-10 09:05:38 GMT pchen
+** HREF#1445**/
+/**Log information: \main\vtui2_5x\sms_contact_refactory_1\1 2009-03-20 01:29:03 GMT yfan
+** HREF#1580**/
+/**Log information: \main\helios_dev\touchflow\1 2009-06-05 06:27:24 GMT yfan
+** HREF#1580**/
+/**Log information: \main\helios_dev\touchflow\2 2009-06-05 06:27:45 GMT yfan
+** HREF#1580**/
+/**Log information: \main\helios_dev\touchflow\touchflow_pchen_href8751\1 2009-11-16 08:13:58 GMT pchen
+** HREF#8751 **/
+/**Log information: \main\helios_dev\touchflow\3 2009-11-16 09:16:34 GMT dwang
+** HREF#8751**/
+/**Log information: \main\VTUI3\2 2010-01-11 12:32:21 GMT qwu
+** HREF#10125**/
+/**Log information: \main\CBP7FeaturePhone\CBP7FeaturePhone_nicholaszhao_href17384\1 2011-07-04 08:34:21 GMT nicholaszhao
+** HREF#17384**/
+/**Log information: \main\CBP7FeaturePhone\3 2011-07-12 09:42:01 GMT marszhang
+** HREF#17384**/
+