yu.dong | c33b307 | 2024-08-21 23:14:49 -0700 | [diff] [blame^] | 1 | /***************************************************************************** |
| 2 | * Copyright Statement: |
| 3 | * -------------------- |
| 4 | * This software is protected by Copyright and the information contained |
| 5 | * herein is confidential. The software may not be copied and the information |
| 6 | * contained herein may not be used or disclosed except with the written |
| 7 | * permission of MediaTek Inc. (C) 2016 |
| 8 | * |
| 9 | * BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES |
| 10 | * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"") |
| 11 | * RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON |
| 12 | * AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES, |
| 13 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF |
| 14 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT. |
| 15 | * NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE |
| 16 | * SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR |
| 17 | * SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH |
| 18 | * THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO |
| 19 | * NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S |
| 20 | * SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM. |
| 21 | * |
| 22 | * BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE |
| 23 | * LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE, |
| 24 | * AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE, |
| 25 | * OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO |
| 26 | * MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. |
| 27 | * |
| 28 | * THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE |
| 29 | * WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF |
| 30 | * LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND |
| 31 | * RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER |
| 32 | * THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC). |
| 33 | * |
| 34 | *****************************************************************************/ |
| 35 | /************************************************************* |
| 36 | * |
| 37 | * This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc. |
| 38 | * |
| 39 | * Any unauthorized use inconsistent with the terms of such license is strictly prohibited. |
| 40 | * |
| 41 | * Copyright (c) 2006-2012 VIA Telecom, Inc. All rights reserved. |
| 42 | * |
| 43 | *************************************************************/ |
| 44 | |
| 45 | /*=========================================================================== |
| 46 | |
| 47 | V A L S M S DEFINE H E A D E R F I L E |
| 48 | |
| 49 | This file contains the definitions for the SMS |
| 50 | module of the VIA Abstraction Layer. |
| 51 | |
| 52 | ===========================================================================*/ |
| 53 | #ifndef VALSMSDEFINE_H |
| 54 | #define VALSMSDEFINE_H |
| 55 | |
| 56 | #include "valapi.h" |
| 57 | #include "valsmscust.h" |
| 58 | |
| 59 | //don't modify following macro, brew has referred to it |
| 60 | /* field mask definitions */ |
| 61 | #define SERVICE_CAT_PRESENT 0x00000001 |
| 62 | #define ADDRESS_PRESENT 0x00000002 |
| 63 | #define SMS_SUBADDRESS_PRESENT 0x00000004 |
| 64 | #define USER_DATA_PRESENT 0x00000008 |
| 65 | #define USER_RESP_CODE_PRESENT 0x00000010 |
| 66 | #define MC_TIME_STAMP_PRESENT 0x00000020 |
| 67 | #define ABS_VAL_PERIOD_PRESENT 0x00000040 |
| 68 | #define REL_VAL_PERIOD_PRESENT 0x00000080 |
| 69 | #define ABS_DEF_DEL_TIME_PRESENT 0x00000100 |
| 70 | #define REL_DEF_DEL_TIME_PRESENT 0X00000200 |
| 71 | #define PRIORITY_IND_PRESENT 0x00000400 |
| 72 | #define PRIVACY_IND_PRESENT 0x00000800 |
| 73 | #define REPLY_OPTION_PRESENT 0x00001000 |
| 74 | #define NUM_MESSAGES_PRESENT 0x00002000 |
| 75 | #define ALERT_MSG_DEL_PRESENT 0x00004000 |
| 76 | #define LANGUAGE_IND_PRESENT 0x00008000 |
| 77 | #define CALLBACK_NUM_PRESENT 0x00010000 |
| 78 | #define MSG_DISP_MODE_PRESENT 0x00020000 |
| 79 | #define MULT_ENCODE_USER_DATA_PRESENT 0x00040000 |
| 80 | #define MESSAGE_DEPOSIT_INDEX_PRESENT 0x00080000 |
| 81 | #define MESSAGE_STATUS_PRESENT 0x00400000 |
| 82 | #define SER_CAT_PROGRAM_RESULT_PRESENT 0x00800000 |
| 83 | #define SER_CAT_PROGRAM_DATA_PRESENT 0x01000000 |
| 84 | #define BEARER_REPLY_OPTION_PRESENT 0x02000000 |
| 85 | #ifdef KDDI_EXTENSIONS |
| 86 | #define IP_ADDRESS_PRESENT 0x04000000 |
| 87 | #define NOTIFY_FLAG_PRESENT 0x08000000 |
| 88 | #define UIM_ID_PRESENT 0x10000000 |
| 89 | #endif |
| 90 | |
| 91 | typedef kal_uint16 ValSmsRecIdT; |
| 92 | |
| 93 | //don't modify following Enum, brew has referred to it |
| 94 | /*! txt message type define |
| 95 | */ |
| 96 | typedef enum |
| 97 | { |
| 98 | EMPTY = 0, /* the block has not occupied by a sms message */ |
| 99 | READ = 0x01, |
| 100 | TO_BE_READ = 0x03, |
| 101 | SENT = 0x05, |
| 102 | TO_BE_SENT = 0x07, |
| 103 | DUPLICATE_READ=0x0F, |
| 104 | DUPLICATE_TO_BE_READ=0x11, |
| 105 | DRAFT = 0x15, |
| 106 | |
| 107 | ARCHIVE_READ = 0x21, |
| 108 | ARCHIVE_TO_BE_READ = 0x23, |
| 109 | ARCHIVE_SENT = 0x25, |
| 110 | ARCHIVE_TO_BE_SENT = 0x27, |
| 111 | |
| 112 | NOT_COMPLETE = 0x33, |
| 113 | |
| 114 | TO_BE_DELETED = 0x40, |
| 115 | |
| 116 | VAL_SMS_MAX_STATE |
| 117 | } ValSmsStatT; |
| 118 | |
| 119 | //don't modify following Enum, brew has referred to it |
| 120 | /*sms message type*/ |
| 121 | typedef enum |
| 122 | { |
| 123 | VAL_SMS_SMS_MSG_TYPE_POINT_TO_POINT = 0, |
| 124 | VAL_SMS_SMS_MSG_TYPE_BROADCAST, |
| 125 | #if defined(LGT_EXTENSIONS) |
| 126 | VAL_SMS_SMS_MSG_TYPE_UNKNOWN, |
| 127 | #endif |
| 128 | VAL_SMS_SMS_MSG_TYPE_ACKNOWLEDGE, |
| 129 | VAL_SMS_MAX_SMS_MSG_TYPE |
| 130 | } ValSmsTransMsgTypeT; |
| 131 | |
| 132 | /* Macro to validate ValSmsMsgTypeT */ |
| 133 | #define IS_VALID_VSMS_MSG_TYPE(a) ((VAL_SMS_SMS_MSG_TYPE_POINT_TO_POINT == (a)) || \ |
| 134 | ((VAL_SMS_SMS_MSG_TYPE_POINT_TO_POINT < (a)) && \ |
| 135 | ((a) < VAL_SMS_MAX_SMS_MSG_TYPE))) |
| 136 | |
| 137 | //don't modify following Enum, brew has referred to it |
| 138 | typedef enum |
| 139 | { |
| 140 | VAL_SMS_MSG_TYPE_RESERVED = 0, |
| 141 | VAL_SMS_MSG_TYPE_TERMINATION_DELIVER, |
| 142 | VAL_SMS_MSG_TYPE_ORIGINATION_SUBMIT, |
| 143 | VAL_SMS_MSG_TYPE_ORIGINATION_CANCELLATION, |
| 144 | VAL_SMS_MSG_TYPE_TERMINATION_DELIVERY_ACK, |
| 145 | VAL_SMS_MSG_TYPE_USER_ACK, |
| 146 | VAL_SMS_MSG_TYPE_READ_ACK, |
| 147 | VAL_SMS_MAX_MSG_TYPE |
| 148 | } ValSmsTeleMsgT; |
| 149 | |
| 150 | /* Macro for validating vsms msg type */ |
| 151 | #define IS_VALID_SMS_MSG(a) \ |
| 152 | ((VAL_SMS_MSG_TYPE_RESERVED == (a)) || ((VAL_SMS_MSG_TYPE_RESERVED < (a)) && ((a) < VAL_SMS_MAX_MSG_TYPE))) |
| 153 | |
| 154 | //don't modify following Enum, brew has referred to it |
| 155 | /*! Val sms teleservice id define */ |
| 156 | typedef enum |
| 157 | { |
| 158 | /*---------------------------------------------------------------- |
| 159 | The following are not defined as a teleservice in IS-637, |
| 160 | but they are used to indicate the teleservice type in Analog mode. |
| 161 | -----------------------------------------------------------------*/ |
| 162 | VAL_SMS_TS_ID_IS91_PAGE = 0, |
| 163 | VAL_SMS_TS_ID_IS91_VOICE_MAIL = 1, |
| 164 | VAL_SMS_TS_ID_IS91_SHORT_MESSAGE = 2, |
| 165 | |
| 166 | /*---------------------------------------------------------------- |
| 167 | Voice mail notification through Message Waiting Indication in |
| 168 | CDMA mode or Analog mode |
| 169 | -----------------------------------------------------------------*/ |
| 170 | VAL_SMS_TS_ID_VOICE_MAIL_MWI = 3, |
| 171 | |
| 172 | /*---------------------------------------------------------------- |
| 173 | IS-637 Teleservices |
| 174 | -----------------------------------------------------------------*/ |
| 175 | VAL_SMS_TS_ID_IS91 = 4096, |
| 176 | VAL_SMS_TS_ID_PAGE = 4097, |
| 177 | VAL_SMS_TS_ID_MESSAGE = 4098, |
| 178 | VAL_SMS_TS_ID_VOICE_MAIL = 4099, |
| 179 | VAL_SMS_TS_ID_WAP, |
| 180 | VAL_SMS_TS_ID_WEMT , /*add for EMS*/ |
| 181 | VAL_SMS_TS_ID_SCPT, /*add for SCPT*/ |
| 182 | VAL_SMS_TS_ID_CATPT, /*add for UIM card application*/ |
| 183 | VAL_SMS_BROAD_CAST_SRV, /*add for the broadcast service*/ |
| 184 | VAL_SMS_TS_ID_IMSSRV = 4242, |
| 185 | #if defined(LGT_EXTENSIONS) |
| 186 | VAL_SMS_LGT_UNKNOWN = 32521, /* FEATURE_UNKNOWN_TID_SUPPORT */ |
| 187 | #endif |
| 188 | VAL_SMS_MPC_ID = 65001, |
| 189 | VAL_SMS_TS_ID_PUSH= 65002, /*sms push for China Telecom*/ |
| 190 | VAL_SMS_REGISTER_SRV =65005, /*add for register message service*/ |
| 191 | VAL_SMS_TS_ID_DM_PUSH = 65009, |
| 192 | |
| 193 | VAL_SMS_MAX_TS_ID |
| 194 | } ValSmsTeleSrvIdT; |
| 195 | |
| 196 | /*! Macro for validating vsms teleservice id type */ |
| 197 | #define IS_VALID_SMS_TELESERVICE_ID(a) \ |
| 198 | ((VAL_SMS_TS_ID_IS91_PAGE == (a)) || ((VAL_SMS_TS_ID_IS91_PAGE < (a)) && ((a) < VAL_SMS_MAX_TS_ID))) |
| 199 | |
| 200 | |
| 201 | typedef enum |
| 202 | { |
| 203 | VAL_SMS_SVR_CAT_UNKNOWN = 0, |
| 204 | VAL_SMS_SVR_CAT_EMERGENCIES, |
| 205 | VAL_SMS_SVR_CAT_ADMINISTRATIVE, |
| 206 | VAL_SMS_SVR_CAT_MAINTENANCE, |
| 207 | VAL_SMS_SVR_CAT_GEN_NEWS_LOCAL, |
| 208 | VAL_SMS_SVR_CAT_GEN_NEWS_REGIONAL, |
| 209 | VAL_SMS_SVR_CAT_GEN_NEWS_NATIONAL, |
| 210 | VAL_SMS_SVR_CAT_GEN_NEWS_INTERNATIONAL, |
| 211 | VAL_SMS_SVR_CAT_FINANCE_NEWS_LOCAL, |
| 212 | VAL_SMS_SVR_CAT_FINANCE_NEWS_REGIONAL, |
| 213 | VAL_SMS_SVR_CAT_FINANCE_NEWS_NATIONAL, |
| 214 | VAL_SMS_SVR_CAT_FINANCE_NEWS_INTERNATIONAL, |
| 215 | VAL_SMS_SVR_CAT_SPORTS_NEWS_LOCAL, |
| 216 | VAL_SMS_SVR_CAT_SPORTS_NEWS_REGIONAL, |
| 217 | VAL_SMS_SVR_CAT_SPORTS_NEWS_NATIONAL, |
| 218 | VAL_SMS_SVR_CAT_SPORTS_NEWS_INTERNATIONAL, |
| 219 | VAL_SMS_SVR_CAT_ENTERTAINMENT_NEWS_LOCAL, |
| 220 | VAL_SMS_SVR_CAT_ENTERTAINMENT_NEWS_REGIONAL, |
| 221 | VAL_SMS_SVR_CAT_ENTERTAINMENT_NEWS_NATIONAL, |
| 222 | VAL_SMS_SVR_CAT_ENTERTAINMENT_NEWS_INTERNATIONAL, |
| 223 | VAL_SMS_SVR_CAT_LOCAL_WEATHER, |
| 224 | VAL_SMS_SVR_CAT_TRAFFIC, |
| 225 | VAL_SMS_SVR_CAT_FLIGHT_SCHEDULE, |
| 226 | VAL_SMS_SVR_CAT_RESTAURANTS, |
| 227 | VAL_SMS_SVR_CAT_LODGINGS, |
| 228 | VAL_SMS_SVR_CAT_RETAIL_DIRECTORY, |
| 229 | VAL_SMS_SVR_CAT_ADVERTISEMENT, |
| 230 | VAL_SMS_SVR_CAT_STOCK_QUOTES, |
| 231 | VAL_SMS_SVR_CAT_EMPLOYMENT_OPPORTUNITIES, |
| 232 | VAL_SMS_SVR_CAT_MEDICAL_HEALTH, |
| 233 | VAL_SMS_SVR_CAT_TECH_NEWS, |
| 234 | VAL_SMS_SVR_CAT_MULTI_CATEGORY, |
| 235 | VAL_SMS_SVR_CAT_CMAS_PRESIDENT_ALERT = 0X1000, /* 3GPP2 C.R1001-G SPEC */ |
| 236 | VAL_SMS_SVR_CAT_CMAS_EXTREME_THREAT_TO_LIFE, |
| 237 | VAL_SMS_SVR_CAT_CMAS_SEVERE_THREAT_TO_LIFE, |
| 238 | VAL_SMS_SVR_CAT_CMAS_CHILD_ABDUCTION_EMERGNY, |
| 239 | VAL_SMS_SVR_CAT_CMAS_TEST_MESSAGE, |
| 240 | VAL_SMS_SVR_CAT_CMAS_RESERVED_MAX =0X10FF, |
| 241 | VAL_SMS_MAX_SVR_CAT |
| 242 | } ValSmsSrvCatT; |
| 243 | |
| 244 | /* Macro for validating ValSmsSrvCatT */ |
| 245 | #define IS_VALID_SMS_SERVICE_CAT(a) \ |
| 246 | ((VAL_SMS_SVR_CAT_UNKNOWN == (a)) || ((VAL_SMS_SVR_CAT_UNKNOWN <(a)) && ((a) < VAL_SMS_MAX_SVR_CAT))) |
| 247 | //don't modify following Enum, brew has referred to it |
| 248 | typedef enum |
| 249 | { |
| 250 | VAL_SMS_NUMBER_PLAN_UNKNOWN = 0, |
| 251 | VAL_SMS_NUMBER_PLAN_TELEPHONY, |
| 252 | VAL_SMS_NUMBER_PLAN_DATA = 3, |
| 253 | VAL_SMS_NUMBER_PLAN_TELEX, |
| 254 | VAL_SMS_NUMBER_PLAN_PRIVATE = 9, |
| 255 | VAL_SMS_MAX_NUMBER_PLAN |
| 256 | } ValSmsNumPlanT; |
| 257 | |
| 258 | /* Macro for validating ValSmsNumPlanT */ |
| 259 | #define IS_VALID_SMS_NUMBER_PLAN(a) \ |
| 260 | ((VAL_SMS_NUMBER_PLAN_UNKNOWN == (a)) || ((VAL_SMS_NUMBER_PLAN_UNKNOWN <(a)) && ((a) < VAL_SMS_MAX_NUMBER_PLAN))) |
| 261 | |
| 262 | //don't modify following Enum, brew has referred to it |
| 263 | typedef enum |
| 264 | { |
| 265 | VAL_SMS_DIGIT_MODE_4_BIT = 0, |
| 266 | VAL_SMS_DIGIT_MODE_8_BIT, |
| 267 | VAL_SMS_MAX_DIGIT_MODE |
| 268 | } ValSmsDigitModeT; |
| 269 | |
| 270 | /* Macro for validating VAL_SMS digit mode type */ |
| 271 | #define IS_VALID_SMS_DIGIT_MODE(a) \ |
| 272 | ((VAL_SMS_DIGIT_MODE_4_BIT ==(a))|| ((VAL_SMS_DIGIT_MODE_4_BIT <(a)) && ((a) < VAL_SMS_MAX_DIGIT_MODE))) |
| 273 | |
| 274 | typedef enum |
| 275 | { |
| 276 | VAL_SMS_NUMBER_MODE_ANSI_T1_607 = 0, |
| 277 | VAL_SMS_NUMBER_MODE_DATA_NETWORK, |
| 278 | VAL_SMS_MAX_NUMBER_MODE |
| 279 | } ValSmsNumModeT; |
| 280 | |
| 281 | /* Macro for validating vsms number mode type */ |
| 282 | #define IS_VALID_SMS_NUMBER_MODE(a) \ |
| 283 | ( (VAL_SMS_NUMBER_MODE_ANSI_T1_607 == (a)) || ((VAL_SMS_NUMBER_MODE_ANSI_T1_607 <(a)) && ((a) < VAL_SMS_MAX_NUMBER_MODE))) |
| 284 | |
| 285 | //don't modify following Enum, brew has referred to it |
| 286 | typedef enum |
| 287 | { |
| 288 | VAL_SMS_NUMBER_TYPE_UNKNOWN = 0, |
| 289 | VAL_SMS_NUMBER_TYPE_INTERNATIONAL, |
| 290 | VAL_SMS_NUMBER_TYPE_NATIONAL, |
| 291 | VAL_SMS_NUMBER_TYPE_NETWORK_SPECIFIC, |
| 292 | VAL_SMS_NUMBER_TYPE_SUBSCRIBER, |
| 293 | VAL_SMS_NUMBER_TYPE_RESERVED, |
| 294 | VAL_SMS_NUMBER_TYPE_ABBREVIATED, |
| 295 | VAL_SMS_MAX_NUMBER_TYPE |
| 296 | } ValSmsNumberT; |
| 297 | |
| 298 | /* Macro for validating ValSmsNumberT */ |
| 299 | #define IS_VALID_SMS_NUMBER_TYPE(a) \ |
| 300 | ((VAL_SMS_NUMBER_TYPE_UNKNOWN == (a)) || ((VAL_SMS_NUMBER_TYPE_UNKNOWN <(a)) && ((a) < VAL_SMS_MAX_NUMBER_TYPE))) |
| 301 | |
| 302 | typedef enum |
| 303 | { |
| 304 | VAL_SMS_DATA_NUM_TYPE_UNKNOWN = 0, |
| 305 | VAL_SMS_DATA_NUM_TYPE_RFC_791, /* Internet Protocol */ |
| 306 | VAL_SMS_DATA_NUM_TYPE_RFC_822, /* Internet Email Address */ |
| 307 | VAL_SMS_MAX_DATA_NUM_TYPE |
| 308 | } ValSmsDataNumberT; |
| 309 | |
| 310 | /* Macro for validating ValSmsDataNumberT */ |
| 311 | #define IS_VALID_SMS_DATA_NUMBER_TYPE(a) \ |
| 312 | ((VAL_SMS_DATA_NUM_TYPE_UNKNOWN == (a)) ||((VAL_SMS_DATA_NUM_TYPE_UNKNOWN <(a)) && ((a) < VAL_SMS_MAX_DATA_NUM_TYPE))) |
| 313 | |
| 314 | //don't modify following Struct, brew has referred to it |
| 315 | typedef struct |
| 316 | { |
| 317 | ValSmsDigitModeT DigitMode; |
| 318 | ValSmsNumModeT NumberMode; |
| 319 | union |
| 320 | { |
| 321 | ValSmsNumberT NumType; |
| 322 | ValSmsDataNumberT DataNumType; |
| 323 | } NumberType; |
| 324 | ValSmsNumPlanT NumberPlan; |
| 325 | kal_uint8 NumFields; |
| 326 | kal_uint8 Address[VAL_SMS_MAX_ADDRESS_LEN]; |
| 327 | } ValSmsAddressT; |
| 328 | |
| 329 | typedef enum |
| 330 | { |
| 331 | VAL_SMS_SUBADDR_TYPE_NSAP = 0, |
| 332 | VAL_SMS_SUBADDR_TYPE_USER, |
| 333 | VAL_SMS_MAX_SUBADDR_TYPE |
| 334 | } ValSmsSubAddrT; |
| 335 | |
| 336 | /* Macro for validating ValSmsSubAddrT */ |
| 337 | #define IS_VALID_SMS_SUBADDR_TYPE(a) \ |
| 338 | ((VAL_SMS_SUBADDR_TYPE_NSAP ==(a)) || ((VAL_SMS_SUBADDR_TYPE_NSAP < (a)) && ((a) < VAL_SMS_MAX_SUBADDR_TYPE))) |
| 339 | |
| 340 | |
| 341 | typedef struct |
| 342 | { |
| 343 | ValSmsSubAddrT SubaddrType; |
| 344 | kal_uint8 Odd; |
| 345 | kal_uint8 NumFields; |
| 346 | kal_uint8 Address[VAL_SMS_MAX_SUBADDR_LEN]; |
| 347 | } ValSmsSubaddressT; |
| 348 | |
| 349 | typedef struct |
| 350 | { |
| 351 | kal_uint8 replySeq; |
| 352 | } ValSmsBearerRlyOptionT; |
| 353 | |
| 354 | //don't modify following Enum, brew has referred to it |
| 355 | typedef enum |
| 356 | { |
| 357 | VAL_SMS_MSG_ENCODE_OCTET = 0, |
| 358 | VAL_SMS_MSG_ENCODE_IS91_EXT_PROT_MSG, |
| 359 | VAL_SMS_MSG_ENCODE_7BIT_ASCII, |
| 360 | VAL_SMS_MSG_ENCODE_IA5, |
| 361 | VAL_SMS_MSG_ENCODE_UNICODE, |
| 362 | VAL_SMS_MSG_ENCODE_SHIFT_JIS, |
| 363 | VAL_SMS_MSG_ENCODE_KS_C_5601, |
| 364 | VAL_SMS_MSG_ENCODE_LATIN_HEBREW, |
| 365 | VAL_SMS_MSG_ENCODE_LATIN, |
| 366 | VAL_SMS_MSG_ENCODE_GSM_7BIT, |
| 367 | #ifdef MTK_CBP |
| 368 | VAL_SMS_MSG_ENCODE_GSM_DCS, /* KWID867 */ |
| 369 | #endif |
| 370 | VAL_SMS_MAX_MSG_ENCODE |
| 371 | } ValSmsMsgEncodeT; |
| 372 | |
| 373 | /* Macro for validating vsms message encode type */ |
| 374 | #define IS_VALID_SMS_MSG_ENCODE(a) \ |
| 375 | ((VAL_SMS_MSG_ENCODE_OCTET == (a)) || ((VAL_SMS_MSG_ENCODE_OCTET <(a)) && ((a) < VAL_SMS_MAX_MSG_ENCODE))) |
| 376 | |
| 377 | //don't modify following Struct, brew has referred to it |
| 378 | typedef struct |
| 379 | { |
| 380 | ValSmsMsgEncodeT MessageEncoding; |
| 381 | kal_uint8 MessageType; |
| 382 | kal_uint8 NumFields; |
| 383 | kal_uint8 Data[VAL_SMS_MAX_USER_DATA_LEN]; |
| 384 | } ValSmsUserDataT; |
| 385 | |
| 386 | //don't modify following Enum, brew has referred to it |
| 387 | typedef enum |
| 388 | { |
| 389 | VAL_SMS_PRIORITY_NORMAL = 0, |
| 390 | VAL_SMS_PRIORITY_INTERACTIVE, |
| 391 | VAL_SMS_PRIORITY_URGENT, |
| 392 | VAL_SMS_PRIORITY_EMERGENCY, |
| 393 | VAL_SMS_MAX_PRIORITY |
| 394 | } ValSmsPriorityT; |
| 395 | |
| 396 | /* Macro for validating vsms priority type */ |
| 397 | #define IS_VALID_SMS_PRIORITY(a) \ |
| 398 | ((VAL_SMS_PRIORITY_NORMAL == (a)) ||((VAL_SMS_PRIORITY_NORMAL <(a)) && ((a) < VAL_SMS_MAX_PRIORITY))) |
| 399 | |
| 400 | //don't modify following Enum, brew has referred to it |
| 401 | typedef enum |
| 402 | { |
| 403 | VAL_SMS_PRIVACY_NOT_RESTRICTED = 0, |
| 404 | VAL_SMS_PRIVACY_RESTRICTED, |
| 405 | VAL_SMS_PRIVACY_CONFIDENTIAL, |
| 406 | VAL_SMS_PRIVACY_SECRET, |
| 407 | VAL_SMS_MAX_PRIVACY |
| 408 | } ValSmsPrivacyT; |
| 409 | |
| 410 | /* Macro for validating vsms privacy type */ |
| 411 | #define IS_VALID_SMS_PRIVACY(a) \ |
| 412 | ((VAL_SMS_PRIVACY_NOT_RESTRICTED == (a)) ||((VAL_SMS_PRIVACY_NOT_RESTRICTED <(a)) && ((a) < VAL_SMS_MAX_ERRCLASS))) |
| 413 | |
| 414 | typedef struct |
| 415 | { |
| 416 | kal_bool UserAckReq; /*true for user ack is required*/ |
| 417 | kal_bool DakReq; /*true for delivery ack is required*/ |
| 418 | kal_bool ReadAckReq; /*true for read ack is required*/ |
| 419 | } ValSmsRplOptionT; |
| 420 | |
| 421 | typedef enum |
| 422 | { |
| 423 | VAL_SMS_ALERT_MOBILE_DEFAULT = 0, |
| 424 | VAL_SMS_ALERT_LOW_PRIORITY, |
| 425 | VAL_SMS_ALERT_MEDIUM_PRIORITY, |
| 426 | VAL_SMS_ALERT_HIGH_PRIORITY, |
| 427 | VAL_SMS_MAX_ALERT |
| 428 | } ValSmsAlertT; |
| 429 | |
| 430 | /* Macro for validating vsms alert type */ |
| 431 | #define IS_VALID_SMS_ALERT(a) \ |
| 432 | ((VAL_SMS_ALERT_MOBILE_DEFAULT == (a)) || \ |
| 433 | ((VAL_SMS_ALERT_MOBILE_DEFAULT < (a)) && ((a) < VAL_SMS_MAX_ALERT))) |
| 434 | |
| 435 | //don't modify following Enum, brew has referred to it |
| 436 | typedef enum |
| 437 | { |
| 438 | VAL_SMS_LANGUAGE_UNKNOWN = 0, |
| 439 | VAL_SMS_LANGUAGE_ENGLISH, |
| 440 | VAL_SMS_LANGUAGE_FRENCH, |
| 441 | VAL_SMS_LANGUAGE_SPANISH, |
| 442 | VAL_SMS_LANGUAGE_JAPANESE, |
| 443 | VAL_SMS_LANGUAGE_KOREAN, |
| 444 | VAL_SMS_LANGUAGE_CHINESE, |
| 445 | VAL_SMS_LANGUAGE_HEBREW, |
| 446 | #if defined(LGT_EXTENSIONS) |
| 447 | VAL_SMS_LANGUAGE_KOREAN_LGT=64, |
| 448 | #endif |
| 449 | VAL_SMS_MAX_LANGUAGE |
| 450 | } ValSmsLanguageT; |
| 451 | |
| 452 | /* Macro for validating vsms language type */ |
| 453 | #define IS_VALID_SMS_LANGUAGE(a) \ |
| 454 | ((VAL_SMS_LANGUAGE_UNKNOWN == (a)) || \ |
| 455 | ((VAL_SMS_LANGUAGE_UNKNOWN <(a)) && ((a) < VAL_SMS_MAX_LANGUAGE))) |
| 456 | |
| 457 | //don't modify following Struct, brew has referred to it |
| 458 | typedef struct |
| 459 | { |
| 460 | ValSmsDigitModeT DigitMode; |
| 461 | ValSmsNumberT NumberType; |
| 462 | ValSmsNumPlanT NumberPlan; |
| 463 | kal_uint8 NumFields; |
| 464 | kal_uint8 Digits[VAL_SMS_CALLBACK_NUMBER_MAX_DIGITS]; |
| 465 | } ValSmsCbNumberT; |
| 466 | |
| 467 | //don't modify following Enum, brew has referred to it |
| 468 | typedef enum |
| 469 | { |
| 470 | VAL_SMS_DISP_MODE_IMMEDIATE = 0, |
| 471 | VAL_SMS_DISP_MODE_DEFAULT, |
| 472 | VAL_SMS_DISP_MODE_USER_INVOKE, |
| 473 | VAL_SMS_DISP_MODE_RESERVED, |
| 474 | VAL_SMS_MAX_DISP_MODE |
| 475 | } ValSmsDisplayModeT; |
| 476 | |
| 477 | /* Macro for validating vsms mssage display mode type */ |
| 478 | #define IS_VALID_SMS_MSG_DISP_MODE(a) \ |
| 479 | ((VAL_SMS_DISP_MODE_IMMEDIATE == (a)) || \ |
| 480 | ((VAL_SMS_DISP_MODE_IMMEDIATE <(a)) && ((a) < VAL_SMS_MAX_DISP_MODE))) |
| 481 | |
| 482 | //don't modify following Enum, brew has referred to it |
| 483 | typedef struct |
| 484 | { |
| 485 | ValSmsDisplayModeT SmsDispMode; |
| 486 | kal_uint8 Reserved; |
| 487 | } ValSmsDispModeT; |
| 488 | |
| 489 | /*! Error class */ |
| 490 | typedef enum |
| 491 | { |
| 492 | VAL_SMS_ERRCLASS_NO_ERROR, |
| 493 | VAL_SMS_ERRCLASS_TEMPORARY = 2, |
| 494 | VAL_SMS_ERRCLASS_PERMANENT = 3, |
| 495 | VAL_SMS_MAX_ERRCLASS |
| 496 | } ValSmsErrClassT; |
| 497 | |
| 498 | /*! Macro to validate ValSmsErrClassT */ |
| 499 | #define IS_VAL_SMS_NO_ERR_CLASS(a) (VAL_SMS_ERRCLASS_NO_ERROR == (a)) |
| 500 | #define IS_VAL_SMS_ERR_CLASS(a) ((VAL_SMS_ERRCLASS_TEMPORARY <= (a)) && ((a) < VAL_SMS_MAX_ERRCLASS)) |
| 501 | #define IS_VALID_SMS_ERR_CLASS(a) (IS_VAL_SMS_NO_ERR_CLASS(a) || IS_VAL_SMS_ERR_CLASS(a)) |
| 502 | |
| 503 | typedef enum |
| 504 | { |
| 505 | VAL_SMS_MSGSTATUS_ACCEPTED, |
| 506 | VAL_SMS_MSGSTATUS_DEPOSITED_TO_INTERNET, |
| 507 | VAL_SMS_MSGSTATUS_DELIVERED, |
| 508 | VAL_SMS_MSGSTATUS_CANCELLED, |
| 509 | VAL_SMS_MSGSTATUS_NETWORK_CONGESTION, |
| 510 | VAL_SMS_MSGSTATUS_NETWORK_ERROR, |
| 511 | VAL_SMS_MSGSTATUS_CANCEL_FAILED, |
| 512 | VAL_SMS_MSGSTATUS_BLOCKED_DESTINATION, |
| 513 | VAL_SMS_MSGSTATUS_TEXT_TOO_LONG, |
| 514 | VAL_SMS_MSGSTATUS_DUPLICATE_MESSAGE, |
| 515 | VAL_SMS_MSGSTATUS_INVALID_DESTINATION, |
| 516 | VAL_SMS_MSGSTATUS_EXPIRED, |
| 517 | VAL_SMS_MAX_MSGSTATUS |
| 518 | } ValSmsMsgStatusCodeT; |
| 519 | |
| 520 | //don't modify following Struct, brew has referred to it |
| 521 | typedef struct |
| 522 | { |
| 523 | ValSmsErrClassT ErrorClass; |
| 524 | ValSmsMsgStatusCodeT MsgStatusCode; |
| 525 | } ValSmsMsgStatusT; |
| 526 | |
| 527 | typedef enum |
| 528 | { |
| 529 | VAL_SMS_CATRESULT_SUCCESS, |
| 530 | VAL_SMS_CATRESULT_MEMORY_EXCEEDED, |
| 531 | VAL_SMS_CATRESULT_LIMIT_EXCEEDED, |
| 532 | VAL_SMS_CATRESULT_ALREADY_PROGRAMMED, |
| 533 | VAL_SMS_CATRESULT_NOT_PREVIOUSLY_PROGRAMMED, |
| 534 | VAL_SMS_CATRESULT_INVALID_MAX_MESSAGES, |
| 535 | VAL_SMS_CATRESULT_INVALID_ALERT_OPTION, |
| 536 | VAL_SMS_CATRESULT_INVALID_CATEGORY_NAME, |
| 537 | VAL_SMS_CATRESULT_UNSPECIFIED_FAILURE, |
| 538 | VAL_SMS_MAX_CATRESULT |
| 539 | } ValSmsCategoryResultCodeT; |
| 540 | |
| 541 | typedef struct |
| 542 | { |
| 543 | ValSmsSrvCatT Category; |
| 544 | ValSmsCategoryResultCodeT CategoryResult; |
| 545 | ValSmsLanguageT Language; |
| 546 | } ValSmsCategoryResultT; |
| 547 | |
| 548 | typedef struct |
| 549 | { |
| 550 | kal_uint8 NumCategories; |
| 551 | ValSmsCategoryResultT Cat[VAL_SMS_MAX_CATEGORIES]; |
| 552 | } ValSmsSrvCatProgRsltT; |
| 553 | |
| 554 | typedef enum |
| 555 | { |
| 556 | VAL_SMS_OP_DELETE, |
| 557 | VAL_SMS_OP_ADD, |
| 558 | VAL_SMS_OP_CLEAR_ALL, |
| 559 | VAL_SMS_MAX_OP |
| 560 | } ValSmsOperationCodeT; |
| 561 | |
| 562 | typedef enum |
| 563 | { |
| 564 | VAL_NO_ALERT = 0, |
| 565 | VAL_MOBILE_DEFAULT_ALERT, |
| 566 | VAL_VIBRATE_ALERT_ONCE, |
| 567 | VAL_VIBRATE_ALERT_REPEAT, |
| 568 | VAL_VISUAL_ALERT_ONCE, |
| 569 | VAL_VISUAL_ALERT_REPEAT, |
| 570 | VAL_LOW_PRIORITY_ALERT_ONCE, |
| 571 | VAL_LOW_PRIORITY_ALERT_REPEAT, |
| 572 | VAL_MED_PRIORITY_ALERT_ONCE, |
| 573 | VAL_MED_PRIORITY_ALERT_REPEAT, |
| 574 | VAL_HIGH_PRIORITY_ALERT_ONCE, |
| 575 | VAL_HIGH_PRIORITY_ALERT_REPEAT, |
| 576 | VAL_SMS_MAX_CAT_ALERT |
| 577 | } ValSmsCatAlertT; |
| 578 | |
| 579 | typedef struct |
| 580 | { |
| 581 | ValSmsOperationCodeT OperationCode; |
| 582 | ValSmsSrvCatT SrvCat; |
| 583 | ValSmsLanguageT Lang; |
| 584 | /*the maximum number of messages that may be stored in the mobile station for this Service Category*/ |
| 585 | kal_uint8 MaxMsg; |
| 586 | ValSmsCatAlertT Alert; |
| 587 | kal_uint8 NumChar; |
| 588 | kal_uint8 Chari[VAL_SMS_MAX_CHAR_IN_CATEGORY]; |
| 589 | } ValSmsCatDataT; |
| 590 | |
| 591 | typedef struct |
| 592 | { |
| 593 | ValSmsMsgEncodeT MsgEncoding; |
| 594 | kal_uint8 NumCat; |
| 595 | ValSmsCatDataT Cat[VAL_SMS_MAX_CATEGORIES]; |
| 596 | } ValSmsSrvCatProgDataT; |
| 597 | |
| 598 | #ifdef KDDI_EXTENSIONS |
| 599 | typedef struct |
| 600 | { |
| 601 | kal_uint32 IpAddress; |
| 602 | kal_uint8 CtlFlag; |
| 603 | } ValSmsIpAddressT; |
| 604 | #endif |
| 605 | //don't modify following Struct, brew has referred to it |
| 606 | typedef struct |
| 607 | { |
| 608 | /* required fields */ |
| 609 | kal_uint32 FieldMask; /* the field mask */ |
| 610 | ValSmsRecIdT SmsMsgRecId; /* the phisical position of sms record in the storage device, UI NEEDN't fill it */ |
| 611 | 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.*/ |
| 612 | kal_uint8 NumUserData; /* number of user data */ |
| 613 | ValSmsTransMsgTypeT TransMsgType; /* transport layer message type, UI may not fill it */ |
| 614 | kal_uint16 MsgId; /* message id, required, UI NEEDN'T fill it */ |
| 615 | 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 */ |
| 616 | ValSmsTeleMsgT TeleMsgType; /* teleservice layer message type, required. UI MUST give it a correct value */ |
| 617 | ValSmsTeleSrvIdT TeleSrvId; /* teleservice id, required, UI MUST give it a correct value */ |
| 618 | /* following is the optional fields */ |
| 619 | ValSmsSrvCatT SrvCat; /* for broadcasting message, required, else, optional */ |
| 620 | ValSmsAddressT Address; /* required for submit and delivery message */ |
| 621 | ValSmsSubaddressT Subaddress; /* optional */ |
| 622 | ValSmsBearerRlyOptionT BearerReplyOption; |
| 623 | ValSmsUserDataT UserData[VAL_SMS_MAX_NUM_DATA_MSGS]; /* user data or multi encoding user data */ |
| 624 | kal_uint8 UserRspCode; |
| 625 | ValSmsAbsTimeT TimeStamp; |
| 626 | ValSmsAbsTimeT ValTimeAbs; |
| 627 | kal_uint8 RelValPeriod; |
| 628 | ValSmsAbsTimeT AbsDelTime; |
| 629 | kal_uint8 RelDelPeriod; |
| 630 | ValSmsPriorityT Priority; |
| 631 | ValSmsPrivacyT Privacy; |
| 632 | ValSmsRplOptionT RplOp; |
| 633 | kal_uint8 NumMsgs; /* only for VMN message */ |
| 634 | ValSmsAlertT Alert; |
| 635 | ValSmsLanguageT Lang; |
| 636 | ValSmsCbNumberT CallBackNum; |
| 637 | ValSmsDispModeT DispMode; |
| 638 | kal_uint16 MsgDepIndex; |
| 639 | kal_uint16 SeqNum; /*only for receive message */ |
| 640 | ValSmsMsgStatusT MsgStatus; /*used only for SMS delivery Acknowledgement message */ |
| 641 | ValSmsSrvCatProgRsltT SrvCatProgResult; /* only for submitting message */ |
| 642 | ValSmsSrvCatProgDataT SrvCatData; /*only for delivery message */ |
| 643 | #ifdef MTK_CBP_ENCRYPT_VOICE |
| 644 | kal_bool CryptSmsPres; |
| 645 | ValCryptSmsInfoT CryptSmsInfo; /*sms crypt sms*/ |
| 646 | #endif |
| 647 | #ifdef KDDI_EXTENSIONS |
| 648 | ValSmsIpAddressT MsgIpAddr; |
| 649 | kal_uint8 NotifyFlag; |
| 650 | kal_uint32 UimId; |
| 651 | #endif |
| 652 | kal_bool IsImsPPdownLoad; |
| 653 | kal_uint8 seq_id; |
| 654 | } ValSmsTxtRecordT; |
| 655 | |
| 656 | #ifdef MTK_CBP_ENCRYPT_VOICE |
| 657 | typedef enum |
| 658 | { |
| 659 | VAL_SMS_MSG_TYPE_CALL_KEY_REQ= 0, |
| 660 | VAL_SMS_MSG_TYPE_CALL_KEY_RSP, |
| 661 | VAL_SMS_MSG_TYPE_CALLED_ENCRYPT_IND, |
| 662 | VAL_SMS_MSG_TYPE_CALLED_KEY_REQ, |
| 663 | VAL_SMS_MSG_TYPE_CALLED_KEY_RSP, |
| 664 | VAL_SMS_MSG_TYPE_ERROR_IND, |
| 665 | VAL_SMS_MSG_TYPE_KMC_PUBLIC_KEY_UPDATE , |
| 666 | VAL_SMS_MSG_TYPE_KMC_PUBLIC_KEY_UPDATE_RSP, |
| 667 | VAL_SMS_MSG_TYPE_KMC_PUBLIC_KEY_UPDATE_CNF, |
| 668 | VAL_SMS_MSG_TYPE_REMOTE_CONTROL_INS , |
| 669 | VAL_SMS_MSG_TYPE_REMOTE_CONTROL_INS_RSP, |
| 670 | VAL_SMS_MSG_TYPE_INITIAL, |
| 671 | }ValSpeSmsMsgTypeT; |
| 672 | |
| 673 | typedef struct |
| 674 | { |
| 675 | kal_uint8 mode; |
| 676 | kal_uint8 calledNum[11]; |
| 677 | kal_uint8 calledBytes; |
| 678 | } ValCryptSmsCallKeyInfoT; |
| 679 | |
| 680 | typedef struct |
| 681 | { |
| 682 | kal_uint8 rspType; |
| 683 | kal_uint8 result; |
| 684 | } ValCryptRcInsRspInfoT; |
| 685 | #endif |
| 686 | |
| 687 | |
| 688 | #endif |
| 689 | /**Log information: D:\ClearCase\pchen_vtui2\HZREF\cp\inc\valsmsdefine.h@@\main\vtui2_plus\2 2008-05-07 07:13:18 GMT pchen |
| 690 | ** HZTP#0000**/ |
| 691 | /**Log information: \main\vtui2_5x\sms_contact_refactory\2 2008-08-05 08:38:03 GMT dwang |
| 692 | ** HREF#0000 |
| 693 | |Merge vtui2_plus**/ |
| 694 | /**Log information: \main\vtui2_5x\sms_contact_refactory\3 2008-08-12 06:39:10 GMT pchen |
| 695 | ** HREF#1445**/ |
| 696 | /**Log information: \main\vtui2_5x\sms_contact_refactory\4 2008-10-23 05:56:27 GMT pchen |
| 697 | ** HREF#1445**/ |
| 698 | /**Log information: \main\vtui2_5x\sms_contact_refactory\5 2008-12-01 13:19:35 GMT ltian |
| 699 | ** HREF#1445**/ |
| 700 | /**Log information: \main\vtui2_5x\sms_contact_refactory\6 2009-03-06 08:03:57 GMT pchen |
| 701 | ** HREF#1445**/ |
| 702 | /**Log information: \main\vtui2_5x\sms_contact_refactory\7 2009-03-10 09:05:38 GMT pchen |
| 703 | ** HREF#1445**/ |
| 704 | /**Log information: \main\vtui2_5x\sms_contact_refactory_1\1 2009-03-20 01:29:03 GMT yfan |
| 705 | ** HREF#1580**/ |
| 706 | /**Log information: \main\helios_dev\touchflow\1 2009-06-05 06:27:24 GMT yfan |
| 707 | ** HREF#1580**/ |
| 708 | /**Log information: \main\helios_dev\touchflow\2 2009-06-05 06:27:45 GMT yfan |
| 709 | ** HREF#1580**/ |
| 710 | /**Log information: \main\helios_dev\touchflow\touchflow_pchen_href8751\1 2009-11-16 08:13:58 GMT pchen |
| 711 | ** HREF#8751 **/ |
| 712 | /**Log information: \main\helios_dev\touchflow\3 2009-11-16 09:16:34 GMT dwang |
| 713 | ** HREF#8751**/ |
| 714 | /**Log information: \main\VTUI3\2 2010-01-11 12:32:21 GMT qwu |
| 715 | ** HREF#10125**/ |
| 716 | /**Log information: \main\CBP7FeaturePhone\CBP7FeaturePhone_nicholaszhao_href17384\1 2011-07-04 08:34:21 GMT nicholaszhao |
| 717 | ** HREF#17384**/ |
| 718 | /**Log information: \main\CBP7FeaturePhone\3 2011-07-12 09:42:01 GMT marszhang |
| 719 | ** HREF#17384**/ |
| 720 | |