1f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* 2f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville * Copyright (C) 2006 The Android Open Source Project 3f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville * 4f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville * Licensed under the Apache License, Version 2.0 (the "License"); 5f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville * you may not use this file except in compliance with the License. 6f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville * You may obtain a copy of the License at 7f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville * 8f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville * http://www.apache.org/licenses/LICENSE-2.0 9f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville * 10f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville * Unless required by applicable law or agreed to in writing, software 11f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville * distributed under the License is distributed on an "AS IS" BASIS, 12f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville * See the License for the specific language governing permissions and 14f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville * limitations under the License. 15f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville */ 16f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 17f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* 18f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville * ISSUES: 19f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville * 20f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville */ 21f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 22f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/** 23f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville * TODO 24f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville * 257f8568086f2ea14885b0091c793e14c2656f0da2Wink Saville * 26f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville */ 27f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 28f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 297f8568086f2ea14885b0091c793e14c2656f0da2Wink Saville#ifndef ANDROID_RIL_CDMA_SMS_H 30f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville#define ANDROID_RIL_CDMA_SMS_H 1 31f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 32f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville#include <stdlib.h> 33f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 34f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville#ifdef __cplusplus 35f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilleextern "C" { 36f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville#endif 37f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 38f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* Used by RIL_REQUEST_CDMA_SEND_SMS and RIL_UNSOL_RESPONSE_CDMA_NEW_SMS */ 39f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 40f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville#define RIL_CDMA_SMS_ADDRESS_MAX 36 41f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville#define RIL_CDMA_SMS_SUBADDRESS_MAX 36 42f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville#define RIL_CDMA_SMS_BEARER_DATA_MAX 255 43f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 44f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef enum { 45f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_DIGIT_MODE_4_BIT = 0, /* DTMF digits */ 46f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_DIGIT_MODE_8_BIT = 1, 47f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_DIGIT_MODE_MAX32 = 0x10000000 /* Force constant ENUM size in structures */ 48f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_DigitMode; 49f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 50f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef enum { 51f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_NUMBER_MODE_NOT_DATA_NETWORK = 0, 52f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_NUMBER_MODE_DATA_NETWORK = 1, 53f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_NUMBER_MODE_MAX32 = 0x10000000 /* Force constant ENUM size in structures */ 54f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_NumberMode; 55f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 56f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef enum { 57f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_NUMBER_TYPE_UNKNOWN = 0, 58f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_NUMBER_TYPE_INTERNATIONAL_OR_DATA_IP = 1, 59f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* INTERNATIONAL is used when number mode is not data network address. 607f8568086f2ea14885b0091c793e14c2656f0da2Wink Saville * DATA_IP is used when the number mode is data network address 61f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville */ 62f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_NUMBER_TYPE_NATIONAL_OR_INTERNET_MAIL = 2, 63f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* NATIONAL is used when the number mode is not data network address. 647f8568086f2ea14885b0091c793e14c2656f0da2Wink Saville * INTERNET_MAIL is used when the number mode is data network address. 657f8568086f2ea14885b0091c793e14c2656f0da2Wink Saville * For INTERNET_MAIL, in the address data "digits", each byte contains 667f8568086f2ea14885b0091c793e14c2656f0da2Wink Saville * an ASCII character. Examples are "x@y.com,a@b.com - ref TIA/EIA-637A 3.4.3.3 67f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville */ 68f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_NUMBER_TYPE_NETWORK = 3, 69f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_NUMBER_TYPE_SUBSCRIBER = 4, 70f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_NUMBER_TYPE_ALPHANUMERIC = 5, 71f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* GSM SMS: address value is GSM 7-bit chars */ 72f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_NUMBER_TYPE_ABBREVIATED = 6, 73f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_NUMBER_TYPE_RESERVED_7 = 7, 74f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_NUMBER_TYPE_MAX32 = 0x10000000 /* Force constant ENUM size in structures */ 75f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_NumberType; 76f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 77f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef enum { 78f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_NUMBER_PLAN_UNKNOWN = 0, 79f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_NUMBER_PLAN_TELEPHONY = 1, /* CCITT E.164 and E.163, including ISDN plan */ 807f8568086f2ea14885b0091c793e14c2656f0da2Wink Saville RIL_CDMA_SMS_NUMBER_PLAN_RESERVED_2 = 2, 81f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_NUMBER_PLAN_DATA = 3, /* CCITT X.121 */ 82f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_NUMBER_PLAN_TELEX = 4, /* CCITT F.69 */ 837f8568086f2ea14885b0091c793e14c2656f0da2Wink Saville RIL_CDMA_SMS_NUMBER_PLAN_RESERVED_5 = 5, 847f8568086f2ea14885b0091c793e14c2656f0da2Wink Saville RIL_CDMA_SMS_NUMBER_PLAN_RESERVED_6 = 6, 857f8568086f2ea14885b0091c793e14c2656f0da2Wink Saville RIL_CDMA_SMS_NUMBER_PLAN_RESERVED_7 = 7, 867f8568086f2ea14885b0091c793e14c2656f0da2Wink Saville RIL_CDMA_SMS_NUMBER_PLAN_RESERVED_8 = 8, 877f8568086f2ea14885b0091c793e14c2656f0da2Wink Saville RIL_CDMA_SMS_NUMBER_PLAN_PRIVATE = 9, 887f8568086f2ea14885b0091c793e14c2656f0da2Wink Saville RIL_CDMA_SMS_NUMBER_PLAN_RESERVED_10 = 10, 897f8568086f2ea14885b0091c793e14c2656f0da2Wink Saville RIL_CDMA_SMS_NUMBER_PLAN_RESERVED_11 = 11, 907f8568086f2ea14885b0091c793e14c2656f0da2Wink Saville RIL_CDMA_SMS_NUMBER_PLAN_RESERVED_12 = 12, 917f8568086f2ea14885b0091c793e14c2656f0da2Wink Saville RIL_CDMA_SMS_NUMBER_PLAN_RESERVED_13 = 13, 927f8568086f2ea14885b0091c793e14c2656f0da2Wink Saville RIL_CDMA_SMS_NUMBER_PLAN_RESERVED_14 = 14, 937f8568086f2ea14885b0091c793e14c2656f0da2Wink Saville RIL_CDMA_SMS_NUMBER_PLAN_RESERVED_15 = 15, 94f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_NUMBER_PLAN_MAX32 = 0x10000000 /* Force constant ENUM size in structures */ 95f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_NumberPlan; 96f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 97f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef struct { 98f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_DigitMode digit_mode; 99f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* Indicates 4-bit or 8-bit */ 100f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_NumberMode number_mode; 101f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* Used only when digitMode is 8-bit */ 102f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_NumberType number_type; 103f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* Used only when digitMode is 8-bit. 1047f8568086f2ea14885b0091c793e14c2656f0da2Wink Saville * To specify an international address, use the following: 105f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville * digitMode = RIL_CDMA_SMS_DIGIT_MODE_8_BIT 106f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville * numberMode = RIL_CDMA_SMS_NOT_DATA_NETWORK 107f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville * numberType = RIL_CDMA_SMS_NUMBER_TYPE_INTERNATIONAL_OR_DATA_IP 108f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville * numberPlan = RIL_CDMA_SMS_NUMBER_PLAN_TELEPHONY 109f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville * numberOfDigits = number of digits 110f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville * digits = ASCII digits, e.g. '1', '2', '3'3, '4', and '5' 111f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville */ 112f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_NumberPlan number_plan; 113f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* Used only when digitMode is 8-bit */ 114f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char number_of_digits; 115f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char digits[ RIL_CDMA_SMS_ADDRESS_MAX ]; 1167f8568086f2ea14885b0091c793e14c2656f0da2Wink Saville /* Each byte in this array represnts a 40bit or 8-bit digit of address data */ 117f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_Address; 118f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 119f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef enum { 120f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_SUBADDRESS_TYPE_NSAP = 0, /* CCITT X.213 or ISO 8348 AD2 */ 121f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_SUBADDRESS_TYPE_USER_SPECIFIED = 1, /* e.g. X.25 */ 122f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_SUBADDRESS_TYPE_MAX32 = 0x10000000 /* Force constant ENUM size in structures */ 123f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_SubaddressType; 124f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 125f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef struct { 126f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_SubaddressType subaddressType; 127f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* 1 means the last byte's lower 4 bits should be ignored */ 128f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char odd; 129f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char number_of_digits; 130f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* Each byte respresents a 8-bit digit of subaddress data */ 131f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char digits[ RIL_CDMA_SMS_SUBADDRESS_MAX ]; 132f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_Subaddress; 133f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 134f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef struct { 135f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville int uTeleserviceID; 136f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char bIsServicePresent; 137f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville int uServicecategory; 138f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_Address sAddress; 139f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_Subaddress sSubAddress; 140f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville int uBearerDataLen; 141f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char aBearerData[ RIL_CDMA_SMS_BEARER_DATA_MAX ]; 142f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_Message; 143f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 144f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* Used by RIL_REQUEST_CDMA_SMS_ACKNOWLEDGE */ 145f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 146f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef enum { 147f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_NO_ERROR = 0, 148f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_ERROR = 1, 149f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_ERROR_MAX32 = 0x10000000 /* Force constant ENUM size in structures */ 150f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_ErrorClass; 151f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 152f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef struct { 153f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_ErrorClass uErrorClass; 154b60444ef2fe63b372e13f3d38ebf8448d6c127f5jsh int uSMSCauseCode; /* As defined in N.S00005, 6.5.2.125. 155b60444ef2fe63b372e13f3d38ebf8448d6c127f5jsh Currently, only 35 (resource shortage) and 156b60444ef2fe63b372e13f3d38ebf8448d6c127f5jsh 39 (other terminal problem) are reported. */ 157f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_Ack; 158f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 159a592eebc476a3d234f47f93e58252f8c822fc772Wink Saville/* Used by RIL_REQUEST_CDMA_SMS_GET_BROADCAST_CONFIG and 160a592eebc476a3d234f47f93e58252f8c822fc772Wink Saville RIL_REQUEST_CDMA_SMS_SET_BROADCAST_CONFIG */ 161f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 162f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef struct { 163a592eebc476a3d234f47f93e58252f8c822fc772Wink Saville int service_category; 164a592eebc476a3d234f47f93e58252f8c822fc772Wink Saville int language; 165a592eebc476a3d234f47f93e58252f8c822fc772Wink Saville unsigned char selected; 166a592eebc476a3d234f47f93e58252f8c822fc772Wink Saville} RIL_CDMA_BroadcastSmsConfigInfo; 167f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 168f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* Used by RIL_REQUEST_CDMA_WRITE_SMS_TO_RUIM */ 169f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 170f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef struct { 171f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville int status; /* Status of message. See TS 27.005 3.1, "<stat>": */ 172f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* 0 = "REC UNREAD" */ 173f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* 1 = "REC READ" */ 174f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* 2 = "STO UNSENT" */ 175f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* 3 = "STO SENT" */ 176f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 177f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_Message message; 178f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_WriteArgs; 179f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 180f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 181f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* Used by RIL_REQUEST_ENCODE_CDMA_SMS and RIL_REQUEST_DECODE_CDMA_SMS*/ 182f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 1837f8568086f2ea14885b0091c793e14c2656f0da2Wink Saville#define RIL_CDMA_SMS_UDH_MAX_SND_SIZE 128 184f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville#define RIL_CDMA_SMS_UDH_EO_DATA_SEGMENT_MAX 131 /* 140 - 3 - 6 */ 185f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville#define RIL_CDMA_SMS_MAX_UD_HEADERS 7 186f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville#define RIL_CDMA_SMS_USER_DATA_MAX 229 187f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville#define RIL_CDMA_SMS_ADDRESS_MAX 36 188f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville#define RIL_CDMA_SMS_UDH_LARGE_PIC_SIZE 128 189f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville#define RIL_CDMA_SMS_UDH_SMALL_PIC_SIZE 32 190f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville#define RIL_CDMA_SMS_UDH_VAR_PIC_SIZE 134 191f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville#define RIL_CDMA_SMS_UDH_ANIM_NUM_BITMAPS 4 192f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville#define RIL_CDMA_SMS_UDH_LARGE_BITMAP_SIZE 32 193f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville#define RIL_CDMA_SMS_UDH_SMALL_BITMAP_SIZE 8 194f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville#define RIL_CDMA_SMS_UDH_OTHER_SIZE 226 195f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville#define RIL_CDMA_SMS_IP_ADDRESS_SIZE 4 196f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 197f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* ------------------- */ 198f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* ---- User Data ---- */ 199f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* ------------------- */ 200f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef enum { 201f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_CONCAT_8 = 0x00, 202f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_SPECIAL_SM, 203f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* 02 - 03 Reserved */ 204f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_PORT_8 = 0x04, 205f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_PORT_16, 206f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_SMSC_CONTROL, 207f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_SOURCE, 208f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_CONCAT_16, 209f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_WCMP, 210f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_TEXT_FORMATING, 211f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_PRE_DEF_SOUND, 212f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_USER_DEF_SOUND, 213f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_PRE_DEF_ANIM, 214f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_LARGE_ANIM, 215f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_SMALL_ANIM, 216f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_LARGE_PICTURE, 217f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_SMALL_PICTURE, 218f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_VAR_PICTURE, 219f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 220f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_USER_PROMPT = 0x13, 221f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_EXTENDED_OBJECT = 0x14, 222f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 223f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* 15 - 1F Reserved for future EMS */ 224f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 225f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_RFC822 = 0x20, 226f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 227f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* 21 - 6F Reserved for future use */ 228f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* 70 - 7f Reserved for (U)SIM Toolkit Security Headers */ 229f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* 80 - 9F SME to SME specific use */ 230f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* A0 - BF Reserved for future use */ 231f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* C0 - DF SC specific use */ 232f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* E0 - FF Reserved for future use */ 233f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 234f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_OTHER = 0xFFFF, /* For unsupported or proprietary headers */ 235f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_ID_MAX32 = 0x10000000 /* Force constant ENUM size in structures */ 236f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 237f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_UdhId; 238f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 239f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef struct { 240f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /*indicates the reference number for a particular concatenated short message. */ 241f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /*it is constant for every short message which makes up a particular concatenated short message*/ 242f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char msg_ref; 243f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 244f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /*indicates the total number of short messages within the concatenated short message. 2457f8568086f2ea14885b0091c793e14c2656f0da2Wink Saville The value shall start at 1 and remain constant for every 246f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville short message which makes up the concatenated short message. 247f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville if it is 0 then the receiving entity shall ignore the whole Information Element*/ 248f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char total_sm; 249f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 2507f8568086f2ea14885b0091c793e14c2656f0da2Wink Saville /* 2517f8568086f2ea14885b0091c793e14c2656f0da2Wink Saville * it indicates the sequence number of a particular short message within the concatenated short 2527f8568086f2ea14885b0091c793e14c2656f0da2Wink Saville * message. The value shall start at 1 and increment by one for every short message sent 2537f8568086f2ea14885b0091c793e14c2656f0da2Wink Saville * within the concatenated short message. If the value is zero or the value is 2547f8568086f2ea14885b0091c793e14c2656f0da2Wink Saville * greater than the value in octet 2 then the receiving 255f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville * entity shall ignore the whole Information Element. 256f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville */ 257f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char seq_num; 258f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_UdhConcat8; 259f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 260f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* GW message waiting actions 261f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville*/ 262f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef enum { 263f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_GW_MSG_WAITING_NONE, 264f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_GW_MSG_WAITING_DISCARD, 265f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_GW_MSG_WAITING_STORE, 266f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_GW_MSG_WAITING_NONE_1111, 267f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_GW_MSG_WAITING_MAX32 = 0x10000000 /* Force constant ENUM size in structures */ 268f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_GWMsgWaiting; 269f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 270f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* GW message waiting types 271f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville*/ 272f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef enum { 273f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_GW_MSG_WAITING_VOICEMAIL, 274f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_GW_MSG_WAITING_FAX, 275f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_GW_MSG_WAITING_EMAIL, 276f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_GW_MSG_WAITING_OTHER, 277f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_GW_MSG_WAITING_KIND_MAX32 = 0x10000000 /* Force constant ENUM size in structures */ 278f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_GWMsgWaitingKind; 279f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 280f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef struct { 281f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_GWMsgWaiting msg_waiting; 282f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_GWMsgWaitingKind msg_waiting_kind; 283f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 284f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /*it indicates the number of messages of the type specified in Octet 1 waiting.*/ 285f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char message_count; 286f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_UdhSpecialSM; 287f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 288f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef struct { 289f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char dest_port; 290f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char orig_port; 291f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_UdhWap8; 292f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 293f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef struct { 294f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned short dest_port; 295f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned short orig_port; 296f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_UdhWap16; 297f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 298f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef struct { 299f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned short msg_ref; 300f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char total_sm; 301f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char seq_num; 302f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 303f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_UdhConcat16; 304f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 305f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef enum { 306f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_LEFT_ALIGNMENT = 0, 307f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_CENTER_ALIGNMENT, 308f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_RIGHT_ALIGNMENT, 309f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_DEFAULT_ALIGNMENT, 310f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_MAX_ALIGNMENT, 311f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_ALIGNMENT_MAX32 = 0x10000000 /* Force constant ENUM size in structures */ 312f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_UdhAlignment; 313f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 314f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef enum { 315f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_FONT_NORMAL = 0, 316f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_FONT_LARGE, 317f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_FONT_SMALL, 318f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_FONT_RESERVED, 319f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_FONT_MAX, 320f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_FONT_MAX32 = 0x10000000 /* Force constant ENUM size in structures */ 321f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_UdhFontSize; 322f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 323f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef enum { 324f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_TEXT_COLOR_BLACK = 0x0, 325f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_TEXT_COLOR_DARK_GREY = 0x1, 326f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_TEXT_COLOR_DARK_RED = 0x2, 327f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_TEXT_COLOR_DARK_YELLOW = 0x3, 328f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_TEXT_COLOR_DARK_GREEN = 0x4, 329f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_TEXT_COLOR_DARK_CYAN = 0x5, 330f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_TEXT_COLOR_DARK_BLUE = 0x6, 331f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_TEXT_COLOR_DARK_MAGENTA = 0x7, 332f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_TEXT_COLOR_GREY = 0x8, 333f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_TEXT_COLOR_WHITE = 0x9, 334f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_TEXT_COLOR_BRIGHT_RED = 0xA, 335f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_TEXT_COLOR_BRIGHT_YELLOW = 0xB, 336f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_TEXT_COLOR_BRIGHT_GREEN = 0xC, 337f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_TEXT_COLOR_BRIGHT_CYAN = 0xD, 338f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_TEXT_COLOR_BRIGHT_BLUE = 0xE, 339f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_TEXT_COLOR_BRIGHT_MAGENTA = 0xF, 340f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_TEXT_COLOR_MAX32 = 0x10000000 /* Force constant ENUM size in structures */ 341f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_UdhTextColor; 342f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 343f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef struct { 344f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char start_position; 345f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char text_formatting_length; 346f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UdhAlignment alignment_type ; /*bit 0 and bit 1*/ 347f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UdhFontSize font_size ; /*bit 3 and bit 2*/ 348f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char style_bold; /*bit 4 */ 349f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char style_italic; /*bit 5 */ 350f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char style_underlined; /*bit 6 */ 351f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char style_strikethrough; /*bit 7 */ 352f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 353f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* if FALSE, ignore the following color information */ 354f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char is_color_present; 355f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UdhTextColor text_color_foreground; 356f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UdhTextColor text_color_background; 357f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 358f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_UdhTextFormating; 359f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 360f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* Predefined sound 361f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville*/ 362f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef struct { 363f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char position; 364f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char snd_number; 365f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_UdhPreDefSound; 366f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 367f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* User Defined sound 368f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville*/ 369f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef struct { 370f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char data_length; 371f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char position; 372f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char user_def_sound[RIL_CDMA_SMS_UDH_MAX_SND_SIZE]; 373f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_UdhUserDefSound; 374f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 375f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* Large picture 376f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville*/ 377f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef struct { 378f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char position; 379f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char data[RIL_CDMA_SMS_UDH_LARGE_PIC_SIZE]; 380f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_UdhLargePictureData; 381f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 382f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* Small picture 383f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville*/ 384f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef struct { 385f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char position; 386f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char data[RIL_CDMA_SMS_UDH_SMALL_PIC_SIZE]; 387f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_UdhSmallPictureData; 388f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 389f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* Variable length picture 390f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville*/ 391f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef struct { 392f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char position; 393f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char width; /* Number of pixels - Should be a mutliple of 8 */ 394f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char height; 395f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char data[RIL_CDMA_SMS_UDH_VAR_PIC_SIZE]; 396f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_UdhVarPicture; 397f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 398f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* Predefined animation 399f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville*/ 400f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef struct { 401f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char position; 402f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char animation_number; 403f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_UdhPreDefAnim; 404f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 405f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* Large animation 406f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville*/ 407f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef struct { 408f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char position; 409f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char data[RIL_CDMA_SMS_UDH_ANIM_NUM_BITMAPS][RIL_CDMA_SMS_UDH_LARGE_BITMAP_SIZE]; 410f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_UdhLargeAnim; 411f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 412f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* Small animation 413f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville*/ 414f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef struct { 415f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char position; 416f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char data[RIL_CDMA_SMS_UDH_ANIM_NUM_BITMAPS][RIL_CDMA_SMS_UDH_SMALL_BITMAP_SIZE]; 417f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_UdhSmallAnim; 418f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 419f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* User Prompt Indicator UDH 420f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville*/ 421f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef struct { 422f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char number_of_objects; 423f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* Number of objects of the same kind that follow this header which will 424f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville ** be stitched together by the applications. For example, 5 small pictures 425f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville ** are to be stitched together horizontally, or 6 iMelody tones are to be 426f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville ** connected together with intermediate iMelody header and footer ignored. 427f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville ** Allowed objects to be stitched: 428f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville ** - Images (small, large, variable) 429f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville ** - User defined sounds 430f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville */ 431f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_UdhUserPrompt; 432f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 433f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef struct { 434f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char length; 435f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 436f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char data[RIL_CDMA_SMS_UDH_EO_DATA_SEGMENT_MAX]; 437f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* RIL_CDMA_SMS_UDH_EO_VCARD: See http://www.imc.org/pdi/vcard-21.doc for payload */ 438f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* RIL_CDMA_SMS_UDH_EO_VCALENDAR: See http://www.imc.org/pdi/vcal-10.doc */ 439f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* Or: Unsupported/proprietary extended objects */ 440f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 441f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_UdhEoContent; 442f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 443f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* Extended Object UDH 444f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville*/ 445f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* Extended Object IDs/types 446f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville*/ 447f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef enum { 448f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_EO_VCARD = 0x09, 449f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_EO_VCALENDAR = 0x0A, 450f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UDH_EO_MAX32 = 0x10000000 /* Force constant ENUM size in structures */ 451f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_UdhEoId; 452f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 453f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef struct { 454f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* Extended objects are to be used together with 16-bit concatenation 455f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville ** UDH. The max number of segments supported for E.O. is 8 at least. 456f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville */ 457f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UdhEoContent content; 458f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 459f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char first_segment; 460f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* The following fields are only present in the first segment of a 461f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville ** concatenated SMS message. 462f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville */ 463f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char reference; 464f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* Identify those extended object segments which should be linked together 465f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville */ 466f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned short length; 467f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* Length of the whole extended object data 468f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville */ 469f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char control; 470f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UdhEoId type; 471f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned short position; 472f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* Absolute position of the E.O. in the whole text after concatenation, 473f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville ** starting from 1. 474f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville */ 475f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_UdhEo; 476f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 477f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef struct { 478f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UdhId header_id; 479f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char header_length; 480f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char data[RIL_CDMA_SMS_UDH_OTHER_SIZE]; 481f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_UdhOther; 482f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 483f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef struct { 484f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char header_length; 485f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_UdhRfc822; 486f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 487f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef struct { 488f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UdhId header_id; 489f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 490f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville union { 491f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UdhConcat8 concat_8; // 00 4927f8568086f2ea14885b0091c793e14c2656f0da2Wink Saville 493f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UdhSpecialSM special_sm; // 01 494f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UdhWap8 wap_8; // 04 495f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UdhWap16 wap_16; // 05 496f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UdhConcat16 concat_16; // 08 497f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UdhTextFormating text_formating; // 0a 498f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UdhPreDefSound pre_def_sound; // 0b 499f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UdhUserDefSound user_def_sound; // 0c 500f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UdhPreDefAnim pre_def_anim; // 0d 501f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UdhLargeAnim large_anim; // 0e 502f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UdhSmallAnim small_anim; // 0f 503f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UdhLargePictureData large_picture; // 10 504f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UdhSmallPictureData small_picture; // 11 505f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UdhVarPicture var_picture; // 12 5067f8568086f2ea14885b0091c793e14c2656f0da2Wink Saville 507f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UdhUserPrompt user_prompt; // 13 508f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UdhEo eo; // 14 5097f8568086f2ea14885b0091c793e14c2656f0da2Wink Saville 510f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UdhRfc822 rfc822; // 20 511f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UdhOther other; 512f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 5137f8568086f2ea14885b0091c793e14c2656f0da2Wink Saville }u; 514f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_Udh; 515f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 516f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* ----------------------------- */ 517f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* -- User data encoding type -- */ 518f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* ----------------------------- */ 519f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef enum { 520f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_ENCODING_OCTET = 0, /* 8-bit */ 521f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_ENCODING_IS91EP, /* varies */ 522f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_ENCODING_ASCII, /* 7-bit */ 523f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_ENCODING_IA5, /* 7-bit */ 524f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_ENCODING_UNICODE, /* 16-bit */ 525f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_ENCODING_SHIFT_JIS, /* 8 or 16-bit */ 526f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_ENCODING_KOREAN, /* 8 or 16-bit */ 527f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_ENCODING_LATIN_HEBREW, /* 8-bit */ 528f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_ENCODING_LATIN, /* 8-bit */ 529f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_ENCODING_GSM_7_BIT_DEFAULT, /* 7-bit */ 530f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_ENCODING_MAX32 = 0x10000000 531f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 532f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_UserDataEncoding; 533f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 534f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* ------------------------ */ 535f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* -- IS-91 EP data type -- */ 536f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* ------------------------ */ 537f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef enum { 538f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_IS91EP_VOICE_MAIL = 0x82, 539f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_IS91EP_SHORT_MESSAGE_FULL = 0x83, 540f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_IS91EP_CLI_ORDER = 0x84, 541f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_IS91EP_SHORT_MESSAGE = 0x85, 542f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_IS91EP_MAX32 = 0x10000000 543f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 544f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_IS91EPType; 545f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 546f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef struct { 547f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* NOTE: If message_id.udh_present == TRUE: 548f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville ** 'num_headers' is the number of User Data Headers (UDHs), 549f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville ** and 'headers' include all those headers. 550f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville */ 551f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char num_headers; 552f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_Udh headers[RIL_CDMA_SMS_MAX_UD_HEADERS]; 553f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 554f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UserDataEncoding encoding; 555f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_IS91EPType is91ep_type; 556f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 557f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /*---------------------------------------------------------------------- 558f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 'data_len' indicates the valid number of bytes in the 'data' array. 559f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 560f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 'padding_bits' (0-7) indicates how many bits in the last byte of 'data' 561f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville are invalid bits. This parameter is only used for Mobile-Originated 562f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville messages. There is no way for the API to tell how many padding bits 563f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville exist in the received message. Instead, the application can find out how 564f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville many padding bits exist in the user data when decoding the user data. 565f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 566f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 'data' has the raw bits of the user data field of the SMS message. 567f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville The client software should decode the raw user data according to its 568f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville supported encoding types and languages. 569f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 570f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville EXCEPTION 1: CMT-91 user data raw bits are first translated into BD fields 571f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville (e.g. num_messages, callback, etc.) The translated user data field in 572f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville VMN and Short Message is in the form of ASCII characters, each occupying 573f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville a byte in the resulted 'data'. 574f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 575f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville EXCEPTION 2: GSM 7-bit Default characters are decoded so that each byte 576f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville has one 7-bit GSM character. 577f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 578f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 'number_of_digits' is the number of digits/characters (7, 8, 16, or 579f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville whatever bits) in the raw user data, which can be used by the client 580f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville when decoding the user data according to the encoding type and language. 581f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville -------------------------------------------------------------------------*/ 582f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char data_len; 583f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char padding_bits; 584f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char data[ RIL_CDMA_SMS_USER_DATA_MAX ]; 585f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char number_of_digits; 586f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 587f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_CdmaUserData; 588f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 589f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* -------------------- */ 590f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* ---- Message Id ---- */ 591f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* -------------------- */ 592f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef enum { 593f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_BD_TYPE_RESERVED_0 = 0, 594f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_BD_TYPE_DELIVER, /* MT only */ 595f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_BD_TYPE_SUBMIT, /* MO only */ 596f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_BD_TYPE_CANCELLATION, /* MO only */ 597f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_BD_TYPE_DELIVERY_ACK, /* MT only */ 598f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_BD_TYPE_USER_ACK, /* MT & MO */ 599f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_BD_TYPE_READ_ACK, /* MT & MO */ 600f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_BD_TYPE_MAX32 = 0x10000000 601f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 602f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_BdMessageType; 603f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 604f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef unsigned int RIL_CDMA_SMS_MessageNumber; 605f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 606f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef struct { 607f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_BdMessageType type; 608f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_MessageNumber id_number; 609f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char udh_present; 610f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* NOTE: if FEATURE_SMS_UDH is not defined, 611f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville ** udh_present should be ignored. 612f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville */ 613f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_MessageId; 614f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 615f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef unsigned char RIL_CDMA_SMS_UserResponse; 616f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 617f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* ------------------- */ 618f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* ---- Timestamp ---- */ 619f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* ------------------- */ 620f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef struct { 621f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* If 'year' is between 96 and 99, the actual year is 1900 + 'year'; 622f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville if 'year' is between 00 and 95, the actual year is 2000 + 'year'. 623f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville NOTE: Each field has two BCD digits and byte arrangement is <MSB, ... ,LSB> 624f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville */ 625f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char year; /* 0x00-0x99 */ 626f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char month; /* 0x01-0x12 */ 627f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char day; /* 0x01-0x31 */ 628f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char hour; /* 0x00-0x23 */ 629f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char minute; /* 0x00-0x59 */ 630f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char second; /* 0x00-0x59 */ 631f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville signed char timezone; /* +/-, [-48,+48] number of 15 minutes - GW only */ 632f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_Timestamp; 633f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 634f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* ------------------ */ 635f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* ---- Priority ---- */ 636f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* ------------------ */ 637f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef enum { 638f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_PRIORITY_NORMAL = 0, 639f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_PRIORITY_INTERACTIVE, 640f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_PRIORITY_URGENT, 641f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_PRIORITY_EMERGENCY, 642f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_PRIORITY_MAX32 = 0x10000000 643f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 644f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_Priority; 645f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 646f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* ----------------- */ 647f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* ---- Privacy ---- */ 648f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* ----------------- */ 649f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef enum { 650f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_PRIVACY_NORMAL = 0, 651f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_PRIVACY_RESTRICTED, 652f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_PRIVACY_CONFIDENTIAL, 653f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_PRIVACY_SECRET, 654f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_PRIVACY_MAX32 = 0x10000000 655f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 656f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_Privacy; 657f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 658f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* ---------------------- */ 659f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* ---- Reply option ---- */ 660f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* ---------------------- */ 661f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef struct { 662f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* whether user ack is requested 663f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville */ 664f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char user_ack_requested; 665f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 666f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* whether delivery ack is requested. 667f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville Should be FALSE for incoming messages. 668f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville */ 669f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char delivery_ack_requested; 670f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 671f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* Message originator requests the receiving phone to send back a READ_ACK 672f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville ** message automatically when the user reads the received message. 673f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville */ 674f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char read_ack_requested; 675f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 676f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_ReplyOption; 677f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 678f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef enum { 679f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_ALERT_MODE_DEFAULT = 0, 680f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_ALERT_MODE_LOW_PRIORITY = 1, 681f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_ALERT_MODE_MEDIUM_PRIORITY = 2, 682f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_ALERT_MODE_HIGH_PRIORITY = 3, 683f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 684f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* For pre-IS637A implementations, alert_mode only has values of True/False: 685f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville */ 686f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_ALERT_MODE_OFF = 0, 687f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_ALERT_MODE_ON = 1 688f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 689f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_AlertMode; 690f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 691f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* ------------------ */ 692f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* ---- Language ---- */ 693f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* ------------------ */ 694f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef enum { 695f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_LANGUAGE_UNSPECIFIED = 0, 696f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_LANGUAGE_ENGLISH, 697f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_LANGUAGE_FRENCH, 698f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_LANGUAGE_SPANISH, 699f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_LANGUAGE_JAPANESE, 700f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_LANGUAGE_KOREAN, 701f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_LANGUAGE_CHINESE, 702f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_LANGUAGE_HEBREW, 703f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_LANGUAGE_MAX32 = 0x10000000 704f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 705f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_Language; 706f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 707f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* ---------------------------------- */ 708f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* ---------- Display Mode ---------- */ 709f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* ---------------------------------- */ 710f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef enum { 711f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_DISPLAY_MODE_IMMEDIATE = 0, 712f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_DISPLAY_MODE_DEFAULT = 1, 713f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_DISPLAY_MODE_USER_INVOKE = 2, 714f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_DISPLAY_MODE_RESERVED = 3 715f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_DisplayMode; 716f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 717f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* IS-637B parameters/fields 718f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville*/ 719f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 720f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* ---------------------------------- */ 721f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* ---------- Delivery Status ------- */ 722f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* ---------------------------------- */ 723f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef enum { 724f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_DELIVERY_STATUS_ACCEPTED = 0, /* ERROR_CLASS_NONE */ 725f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_DELIVERY_STATUS_DEPOSITED_TO_INTERNET = 1, /* ERROR_CLASS_NONE */ 726f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_DELIVERY_STATUS_DELIVERED = 2, /* ERROR_CLASS_NONE */ 727f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_DELIVERY_STATUS_CANCELLED = 3, /* ERROR_CLASS_NONE */ 728f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 729f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_DELIVERY_STATUS_NETWORK_CONGESTION = 4, /* ERROR_CLASS_TEMP & PERM */ 730f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_DELIVERY_STATUS_NETWORK_ERROR = 5, /* ERROR_CLASS_TEMP & PERM */ 731f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_DELIVERY_STATUS_CANCEL_FAILED = 6, /* ERROR_CLASS_PERM */ 732f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_DELIVERY_STATUS_BLOCKED_DESTINATION = 7, /* ERROR_CLASS_PERM */ 733f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_DELIVERY_STATUS_TEXT_TOO_LONG = 8, /* ERROR_CLASS_PERM */ 734f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_DELIVERY_STATUS_DUPLICATE_MESSAGE = 9, /* ERROR_CLASS_PERM */ 735f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_DELIVERY_STATUS_INVALID_DESTINATION = 10, /* ERROR_CLASS_PERM */ 736f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_DELIVERY_STATUS_MESSAGE_EXPIRED = 13, /* ERROR_CLASS_PERM */ 737f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 738f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_DELIVERY_STATUS_UNKNOWN_ERROR = 0x1F /* ERROR_CLASS_PERM */ 739f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 740f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* All the other values are reserved */ 741f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 742f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_DeliveryStatusE; 743f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 744f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef struct { 745f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_ErrorClass error_class; 746f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_DeliveryStatusE status; 747f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_DeliveryStatus; 748f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 749f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef struct { 750f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char address[RIL_CDMA_SMS_IP_ADDRESS_SIZE]; 751f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char is_valid; 752f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_IpAddress; 753f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 754f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville/* This special parameter captures any unrecognized/proprietary parameters 755f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville*/ 756f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef struct { 757f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char input_other_len; 758f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char desired_other_len; /* used during decoding */ 759f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char * other_data; 760f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_OtherParm; 761f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 762f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef struct { 763f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* the mask indicates which fields are present in this message */ 764f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned int mask; 765f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 766f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_MessageId message_id; 767f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_CdmaUserData user_data; 768f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_UserResponse user_response; 769f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_Timestamp mc_time; 770f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_Timestamp validity_absolute; 771f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_Timestamp validity_relative; 772f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_Timestamp deferred_absolute; 773f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_Timestamp deferred_relative; 774f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_Priority priority; 775f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_Privacy privacy; 776f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_ReplyOption reply_option; 777f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char num_messages; /* the actual value; not BCDs */ 778f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_AlertMode alert_mode; 779f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* For pre-IS-637A implementations, alert_mode is either Off or On. */ 780f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_Language language; 781f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_Address callback; 782f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_DisplayMode display_mode; 783f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 784f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_DeliveryStatus delivery_status; 785f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned int deposit_index; 786f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 787f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_IpAddress ip_address; 788f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char rsn_no_notify; 789f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 790f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville /* See function comments of wms_ts_decode() and 791f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville ** wms_ts_decode_cdma_bd_with_other() for details regarding 'other' parameters 792f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville */ 793f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville RIL_CDMA_SMS_OtherParm other; 794f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 795f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_SMS_ClientBd; 796f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 797f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Savilletypedef struct { 798f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char length; /* length, in bytes, of the encoded SMS message */ 799f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville unsigned char * data; /* the encoded SMS message (max 255 bytes) */ 800f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} RIL_CDMA_Encoded_SMS; 801f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 802f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville#ifdef __cplusplus 803f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville} 804f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville#endif 805f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville 806f4c4d36c410a3501d282dd7de1c7c3350734f27eWink Saville#endif /*ANDROID_RIL_CDMA_SMS_H*/ 807