xref: /aosp_15_r20/hardware/ril/include/telephony/ril.h (revision 062a843b36e31144e02d312b6b2de34642e6750e)
1*062a843bSAndroid Build Coastguard Worker /*
2*062a843bSAndroid Build Coastguard Worker  * Copyright (C) 2006 The Android Open Source Project
3*062a843bSAndroid Build Coastguard Worker  *
4*062a843bSAndroid Build Coastguard Worker  * Licensed under the Apache License, Version 2.0 (the "License");
5*062a843bSAndroid Build Coastguard Worker  * you may not use this file except in compliance with the License.
6*062a843bSAndroid Build Coastguard Worker  * You may obtain a copy of the License at
7*062a843bSAndroid Build Coastguard Worker  *
8*062a843bSAndroid Build Coastguard Worker  *      http://www.apache.org/licenses/LICENSE-2.0
9*062a843bSAndroid Build Coastguard Worker  *
10*062a843bSAndroid Build Coastguard Worker  * Unless required by applicable law or agreed to in writing, software
11*062a843bSAndroid Build Coastguard Worker  * distributed under the License is distributed on an "AS IS" BASIS,
12*062a843bSAndroid Build Coastguard Worker  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*062a843bSAndroid Build Coastguard Worker  * See the License for the specific language governing permissions and
14*062a843bSAndroid Build Coastguard Worker  * limitations under the License.
15*062a843bSAndroid Build Coastguard Worker  */
16*062a843bSAndroid Build Coastguard Worker 
17*062a843bSAndroid Build Coastguard Worker #ifndef ANDROID_RIL_H
18*062a843bSAndroid Build Coastguard Worker #define ANDROID_RIL_H 1
19*062a843bSAndroid Build Coastguard Worker 
20*062a843bSAndroid Build Coastguard Worker #include <stdlib.h>
21*062a843bSAndroid Build Coastguard Worker #include <stdint.h>
22*062a843bSAndroid Build Coastguard Worker #include <telephony/ril_cdma_sms.h>
23*062a843bSAndroid Build Coastguard Worker #include <telephony/ril_nv_items.h>
24*062a843bSAndroid Build Coastguard Worker #include <telephony/ril_msim.h>
25*062a843bSAndroid Build Coastguard Worker 
26*062a843bSAndroid Build Coastguard Worker #ifndef FEATURE_UNIT_TEST
27*062a843bSAndroid Build Coastguard Worker #include <sys/time.h>
28*062a843bSAndroid Build Coastguard Worker #endif /* !FEATURE_UNIT_TEST */
29*062a843bSAndroid Build Coastguard Worker 
30*062a843bSAndroid Build Coastguard Worker #ifdef __cplusplus
31*062a843bSAndroid Build Coastguard Worker extern "C" {
32*062a843bSAndroid Build Coastguard Worker #endif
33*062a843bSAndroid Build Coastguard Worker 
34*062a843bSAndroid Build Coastguard Worker #ifndef SIM_COUNT
35*062a843bSAndroid Build Coastguard Worker #if defined(ANDROID_SIM_COUNT_2)
36*062a843bSAndroid Build Coastguard Worker #define SIM_COUNT 2
37*062a843bSAndroid Build Coastguard Worker #elif defined(ANDROID_SIM_COUNT_3)
38*062a843bSAndroid Build Coastguard Worker #define SIM_COUNT 3
39*062a843bSAndroid Build Coastguard Worker #elif defined(ANDROID_SIM_COUNT_4)
40*062a843bSAndroid Build Coastguard Worker #define SIM_COUNT 4
41*062a843bSAndroid Build Coastguard Worker #else
42*062a843bSAndroid Build Coastguard Worker #define SIM_COUNT 1
43*062a843bSAndroid Build Coastguard Worker #endif
44*062a843bSAndroid Build Coastguard Worker 
45*062a843bSAndroid Build Coastguard Worker #ifndef ANDROID_MULTI_SIM
46*062a843bSAndroid Build Coastguard Worker #define SIM_COUNT 1
47*062a843bSAndroid Build Coastguard Worker #endif
48*062a843bSAndroid Build Coastguard Worker #endif
49*062a843bSAndroid Build Coastguard Worker 
50*062a843bSAndroid Build Coastguard Worker /*
51*062a843bSAndroid Build Coastguard Worker  * RIL version.
52*062a843bSAndroid Build Coastguard Worker  * Value of RIL_VERSION should not be changed in future. Here onwards,
53*062a843bSAndroid Build Coastguard Worker  * when a new change is supposed to be introduced  which could involve new
54*062a843bSAndroid Build Coastguard Worker  * schemes added like Wakelocks, data structures added/updated, etc, we would
55*062a843bSAndroid Build Coastguard Worker  * just document RIL version associated with that change below. When OEM updates its
56*062a843bSAndroid Build Coastguard Worker  * RIL with those changes, they would return that new RIL version during RIL_REGISTER.
57*062a843bSAndroid Build Coastguard Worker  * We should make use of the returned version by vendor to identify appropriate scheme
58*062a843bSAndroid Build Coastguard Worker  * or data structure version to use.
59*062a843bSAndroid Build Coastguard Worker  *
60*062a843bSAndroid Build Coastguard Worker  * Documentation of RIL version and associated changes
61*062a843bSAndroid Build Coastguard Worker  * RIL_VERSION = 12 : This version corresponds to updated data structures namely
62*062a843bSAndroid Build Coastguard Worker  *                    RIL_Data_Call_Response_v11, RIL_SIM_IO_v6, RIL_CardStatus_v6,
63*062a843bSAndroid Build Coastguard Worker  *                    RIL_SimRefreshResponse_v7, RIL_CDMA_CallWaiting_v6,
64*062a843bSAndroid Build Coastguard Worker  *                    RIL_LTE_SignalStrength_v8, RIL_SignalStrength_v10, RIL_CellIdentityGsm_v12
65*062a843bSAndroid Build Coastguard Worker  *                    RIL_CellIdentityWcdma_v12, RIL_CellIdentityLte_v12,RIL_CellInfoGsm_v12,
66*062a843bSAndroid Build Coastguard Worker  *                    RIL_CellInfoWcdma_v12, RIL_CellInfoLte_v12, RIL_CellInfo_v12.
67*062a843bSAndroid Build Coastguard Worker  *
68*062a843bSAndroid Build Coastguard Worker  * RIL_VERSION = 13 : This version includes new wakelock semantics and as the first
69*062a843bSAndroid Build Coastguard Worker  *                    strongly versioned version it enforces structure use.
70*062a843bSAndroid Build Coastguard Worker  *
71*062a843bSAndroid Build Coastguard Worker  * RIL_VERSION = 14 : New data structures are added, namely RIL_CarrierMatchType,
72*062a843bSAndroid Build Coastguard Worker  *                    RIL_Carrier, RIL_CarrierRestrictions and RIL_PCO_Data.
73*062a843bSAndroid Build Coastguard Worker  *                    New commands added: RIL_REQUEST_SET_CARRIER_RESTRICTIONS,
74*062a843bSAndroid Build Coastguard Worker  *                    RIL_REQUEST_SET_CARRIER_RESTRICTIONS and RIL_UNSOL_PCO_DATA.
75*062a843bSAndroid Build Coastguard Worker  *
76*062a843bSAndroid Build Coastguard Worker  * RIL_VERSION = 15 : New commands added:
77*062a843bSAndroid Build Coastguard Worker  *                    RIL_UNSOL_MODEM_RESTART,
78*062a843bSAndroid Build Coastguard Worker  *                    RIL_REQUEST_SEND_DEVICE_STATE,
79*062a843bSAndroid Build Coastguard Worker  *                    RIL_REQUEST_SET_UNSOLICITED_RESPONSE_FILTER,
80*062a843bSAndroid Build Coastguard Worker  *                    RIL_REQUEST_SET_SIM_CARD_POWER,
81*062a843bSAndroid Build Coastguard Worker  *                    RIL_REQUEST_SET_CARRIER_INFO_IMSI_ENCRYPTION,
82*062a843bSAndroid Build Coastguard Worker  *                    RIL_UNSOL_CARRIER_INFO_IMSI_ENCRYPTION
83*062a843bSAndroid Build Coastguard Worker  *                    The new parameters for RIL_REQUEST_SETUP_DATA_CALL,
84*062a843bSAndroid Build Coastguard Worker  *                    Updated data structures: RIL_DataProfileInfo_v15, RIL_InitialAttachApn_v15
85*062a843bSAndroid Build Coastguard Worker  *                    New data structure RIL_DataRegistrationStateResponse,
86*062a843bSAndroid Build Coastguard Worker  *                    RIL_VoiceRegistrationStateResponse same is
87*062a843bSAndroid Build Coastguard Worker  *                    used in RIL_REQUEST_DATA_REGISTRATION_STATE and
88*062a843bSAndroid Build Coastguard Worker  *                    RIL_REQUEST_VOICE_REGISTRATION_STATE respectively.
89*062a843bSAndroid Build Coastguard Worker  *                    New data structure RIL_OpenChannelParams.
90*062a843bSAndroid Build Coastguard Worker  *                    RIL_REQUEST_START_NETWORK_SCAN
91*062a843bSAndroid Build Coastguard Worker  *                    RIL_REQUEST_STOP_NETWORK_SCAN
92*062a843bSAndroid Build Coastguard Worker  *                    RIL_UNSOL_NETWORK_SCAN_RESULT
93*062a843bSAndroid Build Coastguard Worker  */
94*062a843bSAndroid Build Coastguard Worker #define RIL_VERSION 12
95*062a843bSAndroid Build Coastguard Worker #define LAST_IMPRECISE_RIL_VERSION 12 // Better self-documented name
96*062a843bSAndroid Build Coastguard Worker #define RIL_VERSION_MIN 6 /* Minimum RIL_VERSION supported */
97*062a843bSAndroid Build Coastguard Worker 
98*062a843bSAndroid Build Coastguard Worker #define CDMA_ALPHA_INFO_BUFFER_LENGTH 64
99*062a843bSAndroid Build Coastguard Worker #define CDMA_NUMBER_INFO_BUFFER_LENGTH 81
100*062a843bSAndroid Build Coastguard Worker 
101*062a843bSAndroid Build Coastguard Worker #define MAX_RILDS 3
102*062a843bSAndroid Build Coastguard Worker #define MAX_SERVICE_NAME_LENGTH 6
103*062a843bSAndroid Build Coastguard Worker #define MAX_CLIENT_ID_LENGTH 2
104*062a843bSAndroid Build Coastguard Worker #define MAX_DEBUG_SOCKET_NAME_LENGTH 12
105*062a843bSAndroid Build Coastguard Worker #define MAX_QEMU_PIPE_NAME_LENGTH  11
106*062a843bSAndroid Build Coastguard Worker #define MAX_UUID_LENGTH 64
107*062a843bSAndroid Build Coastguard Worker #define MAX_BANDS 8
108*062a843bSAndroid Build Coastguard Worker #define MAX_CHANNELS 32
109*062a843bSAndroid Build Coastguard Worker #define MAX_RADIO_ACCESS_NETWORKS 8
110*062a843bSAndroid Build Coastguard Worker #define MAX_BROADCAST_SMS_CONFIG_INFO 25
111*062a843bSAndroid Build Coastguard Worker 
112*062a843bSAndroid Build Coastguard Worker 
113*062a843bSAndroid Build Coastguard Worker typedef void * RIL_Token;
114*062a843bSAndroid Build Coastguard Worker 
115*062a843bSAndroid Build Coastguard Worker typedef enum {
116*062a843bSAndroid Build Coastguard Worker     RIL_SOCKET_1,
117*062a843bSAndroid Build Coastguard Worker #if (SIM_COUNT >= 2)
118*062a843bSAndroid Build Coastguard Worker     RIL_SOCKET_2,
119*062a843bSAndroid Build Coastguard Worker #if (SIM_COUNT >= 3)
120*062a843bSAndroid Build Coastguard Worker     RIL_SOCKET_3,
121*062a843bSAndroid Build Coastguard Worker #endif
122*062a843bSAndroid Build Coastguard Worker #if (SIM_COUNT >= 4)
123*062a843bSAndroid Build Coastguard Worker     RIL_SOCKET_4,
124*062a843bSAndroid Build Coastguard Worker #endif
125*062a843bSAndroid Build Coastguard Worker #endif
126*062a843bSAndroid Build Coastguard Worker     RIL_SOCKET_NUM
127*062a843bSAndroid Build Coastguard Worker } RIL_SOCKET_ID;
128*062a843bSAndroid Build Coastguard Worker 
129*062a843bSAndroid Build Coastguard Worker 
130*062a843bSAndroid Build Coastguard Worker typedef enum {
131*062a843bSAndroid Build Coastguard Worker     RIL_E_SUCCESS = 0,
132*062a843bSAndroid Build Coastguard Worker     RIL_E_RADIO_NOT_AVAILABLE = 1,     /* If radio did not start or is resetting */
133*062a843bSAndroid Build Coastguard Worker     RIL_E_GENERIC_FAILURE = 2,
134*062a843bSAndroid Build Coastguard Worker     RIL_E_PASSWORD_INCORRECT = 3,      /* for PIN/PIN2 methods only! */
135*062a843bSAndroid Build Coastguard Worker     RIL_E_SIM_PIN2 = 4,                /* Operation requires SIM PIN2 to be entered */
136*062a843bSAndroid Build Coastguard Worker     RIL_E_SIM_PUK2 = 5,                /* Operation requires SIM PIN2 to be entered */
137*062a843bSAndroid Build Coastguard Worker     RIL_E_REQUEST_NOT_SUPPORTED = 6,
138*062a843bSAndroid Build Coastguard Worker     RIL_E_CANCELLED = 7,
139*062a843bSAndroid Build Coastguard Worker     RIL_E_OP_NOT_ALLOWED_DURING_VOICE_CALL = 8, /* data ops are not allowed during voice
140*062a843bSAndroid Build Coastguard Worker                                                    call on a Class C GPRS device */
141*062a843bSAndroid Build Coastguard Worker     RIL_E_OP_NOT_ALLOWED_BEFORE_REG_TO_NW = 9,  /* data ops are not allowed before device
142*062a843bSAndroid Build Coastguard Worker                                                    registers in network */
143*062a843bSAndroid Build Coastguard Worker     RIL_E_SMS_SEND_FAIL_RETRY = 10,             /* fail to send sms and need retry */
144*062a843bSAndroid Build Coastguard Worker     RIL_E_SIM_ABSENT = 11,                      /* fail to set the location where CDMA subscription
145*062a843bSAndroid Build Coastguard Worker                                                    shall be retrieved because of SIM or RUIM
146*062a843bSAndroid Build Coastguard Worker                                                    card absent */
147*062a843bSAndroid Build Coastguard Worker     RIL_E_SUBSCRIPTION_NOT_AVAILABLE = 12,      /* fail to find CDMA subscription from specified
148*062a843bSAndroid Build Coastguard Worker                                                    location */
149*062a843bSAndroid Build Coastguard Worker     RIL_E_MODE_NOT_SUPPORTED = 13,              /* HW does not support preferred network type */
150*062a843bSAndroid Build Coastguard Worker     RIL_E_FDN_CHECK_FAILURE = 14,               /* command failed because recipient is not on FDN list */
151*062a843bSAndroid Build Coastguard Worker     RIL_E_ILLEGAL_SIM_OR_ME = 15,               /* network selection failed due to
152*062a843bSAndroid Build Coastguard Worker                                                    illegal SIM or ME */
153*062a843bSAndroid Build Coastguard Worker     RIL_E_MISSING_RESOURCE = 16,                /* no logical channel available */
154*062a843bSAndroid Build Coastguard Worker     RIL_E_NO_SUCH_ELEMENT = 17,                  /* application not found on SIM */
155*062a843bSAndroid Build Coastguard Worker     RIL_E_DIAL_MODIFIED_TO_USSD = 18,           /* DIAL request modified to USSD */
156*062a843bSAndroid Build Coastguard Worker     RIL_E_DIAL_MODIFIED_TO_SS = 19,             /* DIAL request modified to SS */
157*062a843bSAndroid Build Coastguard Worker     RIL_E_DIAL_MODIFIED_TO_DIAL = 20,           /* DIAL request modified to DIAL with different
158*062a843bSAndroid Build Coastguard Worker                                                    data */
159*062a843bSAndroid Build Coastguard Worker     RIL_E_USSD_MODIFIED_TO_DIAL = 21,           /* USSD request modified to DIAL */
160*062a843bSAndroid Build Coastguard Worker     RIL_E_USSD_MODIFIED_TO_SS = 22,             /* USSD request modified to SS */
161*062a843bSAndroid Build Coastguard Worker     RIL_E_USSD_MODIFIED_TO_USSD = 23,           /* USSD request modified to different USSD
162*062a843bSAndroid Build Coastguard Worker                                                    request */
163*062a843bSAndroid Build Coastguard Worker     RIL_E_SS_MODIFIED_TO_DIAL = 24,             /* SS request modified to DIAL */
164*062a843bSAndroid Build Coastguard Worker     RIL_E_SS_MODIFIED_TO_USSD = 25,             /* SS request modified to USSD */
165*062a843bSAndroid Build Coastguard Worker     RIL_E_SUBSCRIPTION_NOT_SUPPORTED = 26,      /* Subscription not supported by RIL */
166*062a843bSAndroid Build Coastguard Worker     RIL_E_SS_MODIFIED_TO_SS = 27,               /* SS request modified to different SS request */
167*062a843bSAndroid Build Coastguard Worker     RIL_E_LCE_NOT_SUPPORTED = 36,               /* LCE service not supported(36 in RILConstants.java) */
168*062a843bSAndroid Build Coastguard Worker     RIL_E_NO_MEMORY = 37,                       /* Not sufficient memory to process the request */
169*062a843bSAndroid Build Coastguard Worker     RIL_E_INTERNAL_ERR = 38,                    /* Modem hit unexpected error scenario while handling
170*062a843bSAndroid Build Coastguard Worker                                                    this request */
171*062a843bSAndroid Build Coastguard Worker     RIL_E_SYSTEM_ERR = 39,                      /* Hit platform or system error */
172*062a843bSAndroid Build Coastguard Worker     RIL_E_MODEM_ERR = 40,                       /* Vendor RIL got unexpected or incorrect response
173*062a843bSAndroid Build Coastguard Worker                                                    from modem for this request */
174*062a843bSAndroid Build Coastguard Worker     RIL_E_INVALID_STATE = 41,                   /* Unexpected request for the current state */
175*062a843bSAndroid Build Coastguard Worker     RIL_E_NO_RESOURCES = 42,                    /* Not sufficient resource to process the request */
176*062a843bSAndroid Build Coastguard Worker     RIL_E_SIM_ERR = 43,                         /* Received error from SIM card */
177*062a843bSAndroid Build Coastguard Worker     RIL_E_INVALID_ARGUMENTS = 44,               /* Received invalid arguments in request */
178*062a843bSAndroid Build Coastguard Worker     RIL_E_INVALID_SIM_STATE = 45,               /* Can not process the request in current SIM state */
179*062a843bSAndroid Build Coastguard Worker     RIL_E_INVALID_MODEM_STATE = 46,             /* Can not process the request in current Modem state */
180*062a843bSAndroid Build Coastguard Worker     RIL_E_INVALID_CALL_ID = 47,                 /* Received invalid call id in request */
181*062a843bSAndroid Build Coastguard Worker     RIL_E_NO_SMS_TO_ACK = 48,                   /* ACK received when there is no SMS to ack */
182*062a843bSAndroid Build Coastguard Worker     RIL_E_NETWORK_ERR = 49,                     /* Received error from network */
183*062a843bSAndroid Build Coastguard Worker     RIL_E_REQUEST_RATE_LIMITED = 50,            /* Operation denied due to overly-frequent requests */
184*062a843bSAndroid Build Coastguard Worker     RIL_E_SIM_BUSY = 51,                        /* SIM is busy */
185*062a843bSAndroid Build Coastguard Worker     RIL_E_SIM_FULL = 52,                        /* The target EF is full */
186*062a843bSAndroid Build Coastguard Worker     RIL_E_NETWORK_REJECT = 53,                  /* Request is rejected by network */
187*062a843bSAndroid Build Coastguard Worker     RIL_E_OPERATION_NOT_ALLOWED = 54,           /* Not allowed the request now */
188*062a843bSAndroid Build Coastguard Worker     RIL_E_EMPTY_RECORD = 55,                    /* The request record is empty */
189*062a843bSAndroid Build Coastguard Worker     RIL_E_INVALID_SMS_FORMAT = 56,              /* Invalid sms format */
190*062a843bSAndroid Build Coastguard Worker     RIL_E_ENCODING_ERR = 57,                    /* Message not encoded properly */
191*062a843bSAndroid Build Coastguard Worker     RIL_E_INVALID_SMSC_ADDRESS = 58,            /* SMSC address specified is invalid */
192*062a843bSAndroid Build Coastguard Worker     RIL_E_NO_SUCH_ENTRY = 59,                   /* No such entry present to perform the request */
193*062a843bSAndroid Build Coastguard Worker     RIL_E_NETWORK_NOT_READY = 60,               /* Network is not ready to perform the request */
194*062a843bSAndroid Build Coastguard Worker     RIL_E_NOT_PROVISIONED = 61,                 /* Device doesnot have this value provisioned */
195*062a843bSAndroid Build Coastguard Worker     RIL_E_NO_SUBSCRIPTION = 62,                 /* Device doesnot have subscription */
196*062a843bSAndroid Build Coastguard Worker     RIL_E_NO_NETWORK_FOUND = 63,                /* Network cannot be found */
197*062a843bSAndroid Build Coastguard Worker     RIL_E_DEVICE_IN_USE = 64,                   /* Operation cannot be performed because the device
198*062a843bSAndroid Build Coastguard Worker                                                    is currently in use */
199*062a843bSAndroid Build Coastguard Worker     RIL_E_ABORTED = 65,                         /* Operation aborted */
200*062a843bSAndroid Build Coastguard Worker     RIL_E_INVALID_RESPONSE = 66,                /* Invalid response sent by vendor code */
201*062a843bSAndroid Build Coastguard Worker     // OEM specific error codes. To be used by OEM when they don't want to reveal
202*062a843bSAndroid Build Coastguard Worker     // specific error codes which would be replaced by Generic failure.
203*062a843bSAndroid Build Coastguard Worker     RIL_E_OEM_ERROR_1 = 501,
204*062a843bSAndroid Build Coastguard Worker     RIL_E_OEM_ERROR_2 = 502,
205*062a843bSAndroid Build Coastguard Worker     RIL_E_OEM_ERROR_3 = 503,
206*062a843bSAndroid Build Coastguard Worker     RIL_E_OEM_ERROR_4 = 504,
207*062a843bSAndroid Build Coastguard Worker     RIL_E_OEM_ERROR_5 = 505,
208*062a843bSAndroid Build Coastguard Worker     RIL_E_OEM_ERROR_6 = 506,
209*062a843bSAndroid Build Coastguard Worker     RIL_E_OEM_ERROR_7 = 507,
210*062a843bSAndroid Build Coastguard Worker     RIL_E_OEM_ERROR_8 = 508,
211*062a843bSAndroid Build Coastguard Worker     RIL_E_OEM_ERROR_9 = 509,
212*062a843bSAndroid Build Coastguard Worker     RIL_E_OEM_ERROR_10 = 510,
213*062a843bSAndroid Build Coastguard Worker     RIL_E_OEM_ERROR_11 = 511,
214*062a843bSAndroid Build Coastguard Worker     RIL_E_OEM_ERROR_12 = 512,
215*062a843bSAndroid Build Coastguard Worker     RIL_E_OEM_ERROR_13 = 513,
216*062a843bSAndroid Build Coastguard Worker     RIL_E_OEM_ERROR_14 = 514,
217*062a843bSAndroid Build Coastguard Worker     RIL_E_OEM_ERROR_15 = 515,
218*062a843bSAndroid Build Coastguard Worker     RIL_E_OEM_ERROR_16 = 516,
219*062a843bSAndroid Build Coastguard Worker     RIL_E_OEM_ERROR_17 = 517,
220*062a843bSAndroid Build Coastguard Worker     RIL_E_OEM_ERROR_18 = 518,
221*062a843bSAndroid Build Coastguard Worker     RIL_E_OEM_ERROR_19 = 519,
222*062a843bSAndroid Build Coastguard Worker     RIL_E_OEM_ERROR_20 = 520,
223*062a843bSAndroid Build Coastguard Worker     RIL_E_OEM_ERROR_21 = 521,
224*062a843bSAndroid Build Coastguard Worker     RIL_E_OEM_ERROR_22 = 522,
225*062a843bSAndroid Build Coastguard Worker     RIL_E_OEM_ERROR_23 = 523,
226*062a843bSAndroid Build Coastguard Worker     RIL_E_OEM_ERROR_24 = 524,
227*062a843bSAndroid Build Coastguard Worker     RIL_E_OEM_ERROR_25 = 525
228*062a843bSAndroid Build Coastguard Worker } RIL_Errno;
229*062a843bSAndroid Build Coastguard Worker 
230*062a843bSAndroid Build Coastguard Worker typedef enum {
231*062a843bSAndroid Build Coastguard Worker     RIL_CALL_ACTIVE = 0,
232*062a843bSAndroid Build Coastguard Worker     RIL_CALL_HOLDING = 1,
233*062a843bSAndroid Build Coastguard Worker     RIL_CALL_DIALING = 2,    /* MO call only */
234*062a843bSAndroid Build Coastguard Worker     RIL_CALL_ALERTING = 3,   /* MO call only */
235*062a843bSAndroid Build Coastguard Worker     RIL_CALL_INCOMING = 4,   /* MT call only */
236*062a843bSAndroid Build Coastguard Worker     RIL_CALL_WAITING = 5     /* MT call only */
237*062a843bSAndroid Build Coastguard Worker } RIL_CallState;
238*062a843bSAndroid Build Coastguard Worker 
239*062a843bSAndroid Build Coastguard Worker typedef enum {
240*062a843bSAndroid Build Coastguard Worker     RADIO_STATE_OFF = 0,                   /* Radio explictly powered off (eg CFUN=0) */
241*062a843bSAndroid Build Coastguard Worker     RADIO_STATE_UNAVAILABLE = 1,           /* Radio unavailable (eg, resetting or not booted) */
242*062a843bSAndroid Build Coastguard Worker     RADIO_STATE_ON = 10                    /* Radio is on */
243*062a843bSAndroid Build Coastguard Worker } RIL_RadioState;
244*062a843bSAndroid Build Coastguard Worker 
245*062a843bSAndroid Build Coastguard Worker typedef enum {
246*062a843bSAndroid Build Coastguard Worker     RADIO_TECH_UNKNOWN = 0,
247*062a843bSAndroid Build Coastguard Worker     RADIO_TECH_GPRS = 1,
248*062a843bSAndroid Build Coastguard Worker     RADIO_TECH_EDGE = 2,
249*062a843bSAndroid Build Coastguard Worker     RADIO_TECH_UMTS = 3,
250*062a843bSAndroid Build Coastguard Worker     RADIO_TECH_IS95A = 4,
251*062a843bSAndroid Build Coastguard Worker     RADIO_TECH_IS95B = 5,
252*062a843bSAndroid Build Coastguard Worker     RADIO_TECH_1xRTT =  6,
253*062a843bSAndroid Build Coastguard Worker     RADIO_TECH_EVDO_0 = 7,
254*062a843bSAndroid Build Coastguard Worker     RADIO_TECH_EVDO_A = 8,
255*062a843bSAndroid Build Coastguard Worker     RADIO_TECH_HSDPA = 9,
256*062a843bSAndroid Build Coastguard Worker     RADIO_TECH_HSUPA = 10,
257*062a843bSAndroid Build Coastguard Worker     RADIO_TECH_HSPA = 11,
258*062a843bSAndroid Build Coastguard Worker     RADIO_TECH_EVDO_B = 12,
259*062a843bSAndroid Build Coastguard Worker     RADIO_TECH_EHRPD = 13,
260*062a843bSAndroid Build Coastguard Worker     RADIO_TECH_LTE = 14,
261*062a843bSAndroid Build Coastguard Worker     RADIO_TECH_HSPAP = 15, // HSPA+
262*062a843bSAndroid Build Coastguard Worker     RADIO_TECH_GSM = 16, // Only supports voice
263*062a843bSAndroid Build Coastguard Worker     RADIO_TECH_TD_SCDMA = 17,
264*062a843bSAndroid Build Coastguard Worker     RADIO_TECH_IWLAN = 18,
265*062a843bSAndroid Build Coastguard Worker     RADIO_TECH_LTE_CA = 19
266*062a843bSAndroid Build Coastguard Worker } RIL_RadioTechnology;
267*062a843bSAndroid Build Coastguard Worker 
268*062a843bSAndroid Build Coastguard Worker typedef enum {
269*062a843bSAndroid Build Coastguard Worker     RAF_UNKNOWN =  (1 <<  RADIO_TECH_UNKNOWN),
270*062a843bSAndroid Build Coastguard Worker     RAF_GPRS = (1 << RADIO_TECH_GPRS),
271*062a843bSAndroid Build Coastguard Worker     RAF_EDGE = (1 << RADIO_TECH_EDGE),
272*062a843bSAndroid Build Coastguard Worker     RAF_UMTS = (1 << RADIO_TECH_UMTS),
273*062a843bSAndroid Build Coastguard Worker     RAF_IS95A = (1 << RADIO_TECH_IS95A),
274*062a843bSAndroid Build Coastguard Worker     RAF_IS95B = (1 << RADIO_TECH_IS95B),
275*062a843bSAndroid Build Coastguard Worker     RAF_1xRTT = (1 << RADIO_TECH_1xRTT),
276*062a843bSAndroid Build Coastguard Worker     RAF_EVDO_0 = (1 << RADIO_TECH_EVDO_0),
277*062a843bSAndroid Build Coastguard Worker     RAF_EVDO_A = (1 << RADIO_TECH_EVDO_A),
278*062a843bSAndroid Build Coastguard Worker     RAF_HSDPA = (1 << RADIO_TECH_HSDPA),
279*062a843bSAndroid Build Coastguard Worker     RAF_HSUPA = (1 << RADIO_TECH_HSUPA),
280*062a843bSAndroid Build Coastguard Worker     RAF_HSPA = (1 << RADIO_TECH_HSPA),
281*062a843bSAndroid Build Coastguard Worker     RAF_EVDO_B = (1 << RADIO_TECH_EVDO_B),
282*062a843bSAndroid Build Coastguard Worker     RAF_EHRPD = (1 << RADIO_TECH_EHRPD),
283*062a843bSAndroid Build Coastguard Worker     RAF_LTE = (1 << RADIO_TECH_LTE),
284*062a843bSAndroid Build Coastguard Worker     RAF_HSPAP = (1 << RADIO_TECH_HSPAP),
285*062a843bSAndroid Build Coastguard Worker     RAF_GSM = (1 << RADIO_TECH_GSM),
286*062a843bSAndroid Build Coastguard Worker     RAF_TD_SCDMA = (1 << RADIO_TECH_TD_SCDMA),
287*062a843bSAndroid Build Coastguard Worker     RAF_LTE_CA = (1 << RADIO_TECH_LTE_CA)
288*062a843bSAndroid Build Coastguard Worker } RIL_RadioAccessFamily;
289*062a843bSAndroid Build Coastguard Worker 
290*062a843bSAndroid Build Coastguard Worker typedef enum {
291*062a843bSAndroid Build Coastguard Worker     BAND_MODE_UNSPECIFIED = 0,      //"unspecified" (selected by baseband automatically)
292*062a843bSAndroid Build Coastguard Worker     BAND_MODE_EURO = 1,             //"EURO band" (GSM-900 / DCS-1800 / WCDMA-IMT-2000)
293*062a843bSAndroid Build Coastguard Worker     BAND_MODE_USA = 2,              //"US band" (GSM-850 / PCS-1900 / WCDMA-850 / WCDMA-PCS-1900)
294*062a843bSAndroid Build Coastguard Worker     BAND_MODE_JPN = 3,              //"JPN band" (WCDMA-800 / WCDMA-IMT-2000)
295*062a843bSAndroid Build Coastguard Worker     BAND_MODE_AUS = 4,              //"AUS band" (GSM-900 / DCS-1800 / WCDMA-850 / WCDMA-IMT-2000)
296*062a843bSAndroid Build Coastguard Worker     BAND_MODE_AUS_2 = 5,            //"AUS band 2" (GSM-900 / DCS-1800 / WCDMA-850)
297*062a843bSAndroid Build Coastguard Worker     BAND_MODE_CELL_800 = 6,         //"Cellular" (800-MHz Band)
298*062a843bSAndroid Build Coastguard Worker     BAND_MODE_PCS = 7,              //"PCS" (1900-MHz Band)
299*062a843bSAndroid Build Coastguard Worker     BAND_MODE_JTACS = 8,            //"Band Class 3" (JTACS Band)
300*062a843bSAndroid Build Coastguard Worker     BAND_MODE_KOREA_PCS = 9,        //"Band Class 4" (Korean PCS Band)
301*062a843bSAndroid Build Coastguard Worker     BAND_MODE_5_450M = 10,          //"Band Class 5" (450-MHz Band)
302*062a843bSAndroid Build Coastguard Worker     BAND_MODE_IMT2000 = 11,         //"Band Class 6" (2-GMHz IMT2000 Band)
303*062a843bSAndroid Build Coastguard Worker     BAND_MODE_7_700M_2 = 12,        //"Band Class 7" (Upper 700-MHz Band)
304*062a843bSAndroid Build Coastguard Worker     BAND_MODE_8_1800M = 13,         //"Band Class 8" (1800-MHz Band)
305*062a843bSAndroid Build Coastguard Worker     BAND_MODE_9_900M = 14,          //"Band Class 9" (900-MHz Band)
306*062a843bSAndroid Build Coastguard Worker     BAND_MODE_10_800M_2 = 15,       //"Band Class 10" (Secondary 800-MHz Band)
307*062a843bSAndroid Build Coastguard Worker     BAND_MODE_EURO_PAMR_400M = 16,  //"Band Class 11" (400-MHz European PAMR Band)
308*062a843bSAndroid Build Coastguard Worker     BAND_MODE_AWS = 17,             //"Band Class 15" (AWS Band)
309*062a843bSAndroid Build Coastguard Worker     BAND_MODE_USA_2500M = 18        //"Band Class 16" (US 2.5-GHz Band)
310*062a843bSAndroid Build Coastguard Worker } RIL_RadioBandMode;
311*062a843bSAndroid Build Coastguard Worker 
312*062a843bSAndroid Build Coastguard Worker typedef enum {
313*062a843bSAndroid Build Coastguard Worker     RC_PHASE_CONFIGURED = 0,  // LM is configured is initial value and value after FINISH completes
314*062a843bSAndroid Build Coastguard Worker     RC_PHASE_START      = 1,  // START is sent before Apply and indicates that an APPLY will be
315*062a843bSAndroid Build Coastguard Worker                               // forthcoming with these same parameters
316*062a843bSAndroid Build Coastguard Worker     RC_PHASE_APPLY      = 2,  // APPLY is sent after all LM's receive START and returned
317*062a843bSAndroid Build Coastguard Worker                               // RIL_RadioCapability.status = 0, if any START's fail no
318*062a843bSAndroid Build Coastguard Worker                               // APPLY will be sent
319*062a843bSAndroid Build Coastguard Worker     RC_PHASE_UNSOL_RSP  = 3,  // UNSOL_RSP is sent with RIL_UNSOL_RADIO_CAPABILITY
320*062a843bSAndroid Build Coastguard Worker     RC_PHASE_FINISH     = 4   // FINISH is sent after all commands have completed. If an error
321*062a843bSAndroid Build Coastguard Worker                               // occurs in any previous command the RIL_RadioAccessesFamily and
322*062a843bSAndroid Build Coastguard Worker                               // logicalModemUuid fields will be the prior configuration thus
323*062a843bSAndroid Build Coastguard Worker                               // restoring the configuration to the previous value. An error
324*062a843bSAndroid Build Coastguard Worker                               // returned by this command will generally be ignored or may
325*062a843bSAndroid Build Coastguard Worker                               // cause that logical modem to be removed from service.
326*062a843bSAndroid Build Coastguard Worker } RadioCapabilityPhase;
327*062a843bSAndroid Build Coastguard Worker 
328*062a843bSAndroid Build Coastguard Worker typedef enum {
329*062a843bSAndroid Build Coastguard Worker     RC_STATUS_NONE       = 0, // This parameter has no meaning with RC_PHASE_START,
330*062a843bSAndroid Build Coastguard Worker                               // RC_PHASE_APPLY
331*062a843bSAndroid Build Coastguard Worker     RC_STATUS_SUCCESS    = 1, // Tell modem the action transaction of set radio
332*062a843bSAndroid Build Coastguard Worker                               // capability was success with RC_PHASE_FINISH
333*062a843bSAndroid Build Coastguard Worker     RC_STATUS_FAIL       = 2, // Tell modem the action transaction of set radio
334*062a843bSAndroid Build Coastguard Worker                               // capability is fail with RC_PHASE_FINISH.
335*062a843bSAndroid Build Coastguard Worker } RadioCapabilityStatus;
336*062a843bSAndroid Build Coastguard Worker 
337*062a843bSAndroid Build Coastguard Worker #define RIL_RADIO_CAPABILITY_VERSION 1
338*062a843bSAndroid Build Coastguard Worker typedef struct {
339*062a843bSAndroid Build Coastguard Worker     int version;            // Version of structure, RIL_RADIO_CAPABILITY_VERSION
340*062a843bSAndroid Build Coastguard Worker     int session;            // Unique session value defined by framework returned in all "responses/unsol"
341*062a843bSAndroid Build Coastguard Worker     int phase;              // CONFIGURED, START, APPLY, FINISH
342*062a843bSAndroid Build Coastguard Worker     int rat;                // RIL_RadioAccessFamily for the radio
343*062a843bSAndroid Build Coastguard Worker     char logicalModemUuid[MAX_UUID_LENGTH]; // A UUID typically "com.xxxx.lmX where X is the logical modem.
344*062a843bSAndroid Build Coastguard Worker     int status;             // Return status and an input parameter for RC_PHASE_FINISH
345*062a843bSAndroid Build Coastguard Worker } RIL_RadioCapability;
346*062a843bSAndroid Build Coastguard Worker 
347*062a843bSAndroid Build Coastguard Worker // Do we want to split Data from Voice and the use
348*062a843bSAndroid Build Coastguard Worker // RIL_RadioTechnology for get/setPreferredVoice/Data ?
349*062a843bSAndroid Build Coastguard Worker typedef enum {
350*062a843bSAndroid Build Coastguard Worker     PREF_NET_TYPE_GSM_WCDMA                = 0, /* GSM/WCDMA (WCDMA preferred) */
351*062a843bSAndroid Build Coastguard Worker     PREF_NET_TYPE_GSM_ONLY                 = 1, /* GSM only */
352*062a843bSAndroid Build Coastguard Worker     PREF_NET_TYPE_WCDMA                    = 2, /* WCDMA  */
353*062a843bSAndroid Build Coastguard Worker     PREF_NET_TYPE_GSM_WCDMA_AUTO           = 3, /* GSM/WCDMA (auto mode, according to PRL) */
354*062a843bSAndroid Build Coastguard Worker     PREF_NET_TYPE_CDMA_EVDO_AUTO           = 4, /* CDMA and EvDo (auto mode, according to PRL) */
355*062a843bSAndroid Build Coastguard Worker     PREF_NET_TYPE_CDMA_ONLY                = 5, /* CDMA only */
356*062a843bSAndroid Build Coastguard Worker     PREF_NET_TYPE_EVDO_ONLY                = 6, /* EvDo only */
357*062a843bSAndroid Build Coastguard Worker     PREF_NET_TYPE_GSM_WCDMA_CDMA_EVDO_AUTO = 7, /* GSM/WCDMA, CDMA, and EvDo (auto mode, according to PRL) */
358*062a843bSAndroid Build Coastguard Worker     PREF_NET_TYPE_LTE_CDMA_EVDO            = 8, /* LTE, CDMA and EvDo */
359*062a843bSAndroid Build Coastguard Worker     PREF_NET_TYPE_LTE_GSM_WCDMA            = 9, /* LTE, GSM/WCDMA */
360*062a843bSAndroid Build Coastguard Worker     PREF_NET_TYPE_LTE_CMDA_EVDO_GSM_WCDMA  = 10, /* LTE, CDMA, EvDo, GSM/WCDMA */
361*062a843bSAndroid Build Coastguard Worker     PREF_NET_TYPE_LTE_ONLY                 = 11, /* LTE only */
362*062a843bSAndroid Build Coastguard Worker     PREF_NET_TYPE_LTE_WCDMA                = 12,  /* LTE/WCDMA */
363*062a843bSAndroid Build Coastguard Worker     PREF_NET_TYPE_TD_SCDMA_ONLY            = 13, /* TD-SCDMA only */
364*062a843bSAndroid Build Coastguard Worker     PREF_NET_TYPE_TD_SCDMA_WCDMA           = 14, /* TD-SCDMA and WCDMA */
365*062a843bSAndroid Build Coastguard Worker     PREF_NET_TYPE_TD_SCDMA_LTE             = 15, /* TD-SCDMA and LTE */
366*062a843bSAndroid Build Coastguard Worker     PREF_NET_TYPE_TD_SCDMA_GSM             = 16, /* TD-SCDMA and GSM */
367*062a843bSAndroid Build Coastguard Worker     PREF_NET_TYPE_TD_SCDMA_GSM_LTE         = 17, /* TD-SCDMA,GSM and LTE */
368*062a843bSAndroid Build Coastguard Worker     PREF_NET_TYPE_TD_SCDMA_GSM_WCDMA       = 18, /* TD-SCDMA, GSM/WCDMA */
369*062a843bSAndroid Build Coastguard Worker     PREF_NET_TYPE_TD_SCDMA_WCDMA_LTE       = 19, /* TD-SCDMA, WCDMA and LTE */
370*062a843bSAndroid Build Coastguard Worker     PREF_NET_TYPE_TD_SCDMA_GSM_WCDMA_LTE   = 20, /* TD-SCDMA, GSM/WCDMA and LTE */
371*062a843bSAndroid Build Coastguard Worker     PREF_NET_TYPE_TD_SCDMA_GSM_WCDMA_CDMA_EVDO_AUTO  = 21, /* TD-SCDMA, GSM/WCDMA, CDMA and EvDo */
372*062a843bSAndroid Build Coastguard Worker     PREF_NET_TYPE_TD_SCDMA_LTE_CDMA_EVDO_GSM_WCDMA   = 22  /* TD-SCDMA, LTE, CDMA, EvDo GSM/WCDMA */
373*062a843bSAndroid Build Coastguard Worker } RIL_PreferredNetworkType;
374*062a843bSAndroid Build Coastguard Worker 
375*062a843bSAndroid Build Coastguard Worker /* Source for cdma subscription */
376*062a843bSAndroid Build Coastguard Worker typedef enum {
377*062a843bSAndroid Build Coastguard Worker    CDMA_SUBSCRIPTION_SOURCE_RUIM_SIM = 0,
378*062a843bSAndroid Build Coastguard Worker    CDMA_SUBSCRIPTION_SOURCE_NV = 1
379*062a843bSAndroid Build Coastguard Worker } RIL_CdmaSubscriptionSource;
380*062a843bSAndroid Build Coastguard Worker 
381*062a843bSAndroid Build Coastguard Worker /* User-to-User signaling Info activation types derived from 3GPP 23.087 v8.0 */
382*062a843bSAndroid Build Coastguard Worker typedef enum {
383*062a843bSAndroid Build Coastguard Worker     RIL_UUS_TYPE1_IMPLICIT = 0,
384*062a843bSAndroid Build Coastguard Worker     RIL_UUS_TYPE1_REQUIRED = 1,
385*062a843bSAndroid Build Coastguard Worker     RIL_UUS_TYPE1_NOT_REQUIRED = 2,
386*062a843bSAndroid Build Coastguard Worker     RIL_UUS_TYPE2_REQUIRED = 3,
387*062a843bSAndroid Build Coastguard Worker     RIL_UUS_TYPE2_NOT_REQUIRED = 4,
388*062a843bSAndroid Build Coastguard Worker     RIL_UUS_TYPE3_REQUIRED = 5,
389*062a843bSAndroid Build Coastguard Worker     RIL_UUS_TYPE3_NOT_REQUIRED = 6
390*062a843bSAndroid Build Coastguard Worker } RIL_UUS_Type;
391*062a843bSAndroid Build Coastguard Worker 
392*062a843bSAndroid Build Coastguard Worker /* User-to-User Signaling Information data coding schemes. Possible values for
393*062a843bSAndroid Build Coastguard Worker  * Octet 3 (Protocol Discriminator field) in the UUIE. The values have been
394*062a843bSAndroid Build Coastguard Worker  * specified in section 10.5.4.25 of 3GPP TS 24.008 */
395*062a843bSAndroid Build Coastguard Worker typedef enum {
396*062a843bSAndroid Build Coastguard Worker     RIL_UUS_DCS_USP = 0,          /* User specified protocol */
397*062a843bSAndroid Build Coastguard Worker     RIL_UUS_DCS_OSIHLP = 1,       /* OSI higher layer protocol */
398*062a843bSAndroid Build Coastguard Worker     RIL_UUS_DCS_X244 = 2,         /* X.244 */
399*062a843bSAndroid Build Coastguard Worker     RIL_UUS_DCS_RMCF = 3,         /* Reserved for system mangement
400*062a843bSAndroid Build Coastguard Worker                                      convergence function */
401*062a843bSAndroid Build Coastguard Worker     RIL_UUS_DCS_IA5c = 4          /* IA5 characters */
402*062a843bSAndroid Build Coastguard Worker } RIL_UUS_DCS;
403*062a843bSAndroid Build Coastguard Worker 
404*062a843bSAndroid Build Coastguard Worker /* User-to-User Signaling Information defined in 3GPP 23.087 v8.0
405*062a843bSAndroid Build Coastguard Worker  * This data is passed in RIL_ExtensionRecord and rec contains this
406*062a843bSAndroid Build Coastguard Worker  * structure when type is RIL_UUS_INFO_EXT_REC */
407*062a843bSAndroid Build Coastguard Worker typedef struct {
408*062a843bSAndroid Build Coastguard Worker   RIL_UUS_Type    uusType;    /* UUS Type */
409*062a843bSAndroid Build Coastguard Worker   RIL_UUS_DCS     uusDcs;     /* UUS Data Coding Scheme */
410*062a843bSAndroid Build Coastguard Worker   int             uusLength;  /* Length of UUS Data */
411*062a843bSAndroid Build Coastguard Worker   char *          uusData;    /* UUS Data */
412*062a843bSAndroid Build Coastguard Worker } RIL_UUS_Info;
413*062a843bSAndroid Build Coastguard Worker 
414*062a843bSAndroid Build Coastguard Worker /* CDMA Signal Information Record as defined in C.S0005 section 3.7.5.5 */
415*062a843bSAndroid Build Coastguard Worker typedef struct {
416*062a843bSAndroid Build Coastguard Worker   char isPresent;    /* non-zero if signal information record is present */
417*062a843bSAndroid Build Coastguard Worker   char signalType;   /* as defined 3.7.5.5-1 */
418*062a843bSAndroid Build Coastguard Worker   char alertPitch;   /* as defined 3.7.5.5-2 */
419*062a843bSAndroid Build Coastguard Worker   char signal;       /* as defined 3.7.5.5-3, 3.7.5.5-4 or 3.7.5.5-5 */
420*062a843bSAndroid Build Coastguard Worker } RIL_CDMA_SignalInfoRecord;
421*062a843bSAndroid Build Coastguard Worker 
422*062a843bSAndroid Build Coastguard Worker typedef struct {
423*062a843bSAndroid Build Coastguard Worker     RIL_CallState   state;
424*062a843bSAndroid Build Coastguard Worker     int             index;      /* Connection Index for use with, eg, AT+CHLD */
425*062a843bSAndroid Build Coastguard Worker     int             toa;        /* type of address, eg 145 = intl */
426*062a843bSAndroid Build Coastguard Worker     char            isMpty;     /* nonzero if is mpty call */
427*062a843bSAndroid Build Coastguard Worker     char            isMT;       /* nonzero if call is mobile terminated */
428*062a843bSAndroid Build Coastguard Worker     char            als;        /* ALS line indicator if available
429*062a843bSAndroid Build Coastguard Worker                                    (0 = line 1) */
430*062a843bSAndroid Build Coastguard Worker     char            isVoice;    /* nonzero if this is is a voice call */
431*062a843bSAndroid Build Coastguard Worker     char            isVoicePrivacy;     /* nonzero if CDMA voice privacy mode is active */
432*062a843bSAndroid Build Coastguard Worker     char *          number;     /* Remote party number */
433*062a843bSAndroid Build Coastguard Worker     int             numberPresentation; /* 0=Allowed, 1=Restricted, 2=Not Specified/Unknown 3=Payphone */
434*062a843bSAndroid Build Coastguard Worker     char *          name;       /* Remote party name */
435*062a843bSAndroid Build Coastguard Worker     int             namePresentation; /* 0=Allowed, 1=Restricted, 2=Not Specified/Unknown 3=Payphone */
436*062a843bSAndroid Build Coastguard Worker     RIL_UUS_Info *  uusInfo;    /* NULL or Pointer to User-User Signaling Information */
437*062a843bSAndroid Build Coastguard Worker } RIL_Call;
438*062a843bSAndroid Build Coastguard Worker 
439*062a843bSAndroid Build Coastguard Worker /* Deprecated, use RIL_Data_Call_Response_v6 */
440*062a843bSAndroid Build Coastguard Worker typedef struct {
441*062a843bSAndroid Build Coastguard Worker     int             cid;        /* Context ID, uniquely identifies this call */
442*062a843bSAndroid Build Coastguard Worker     int             active;     /* 0=inactive, 1=active/physical link down, 2=active/physical link up */
443*062a843bSAndroid Build Coastguard Worker     char *          type;       /* One of the PDP_type values in TS 27.007 section 10.1.1.
444*062a843bSAndroid Build Coastguard Worker                                    For example, "IP", "IPV6", "IPV4V6", or "PPP". */
445*062a843bSAndroid Build Coastguard Worker     char *          apn;        /* ignored */
446*062a843bSAndroid Build Coastguard Worker     char *          address;    /* An address, e.g., "192.0.1.3" or "2001:db8::1". */
447*062a843bSAndroid Build Coastguard Worker } RIL_Data_Call_Response_v4;
448*062a843bSAndroid Build Coastguard Worker 
449*062a843bSAndroid Build Coastguard Worker /*
450*062a843bSAndroid Build Coastguard Worker  * Returned by RIL_REQUEST_SETUP_DATA_CALL, RIL_REQUEST_DATA_CALL_LIST
451*062a843bSAndroid Build Coastguard Worker  * and RIL_UNSOL_DATA_CALL_LIST_CHANGED, on error status != 0.
452*062a843bSAndroid Build Coastguard Worker  */
453*062a843bSAndroid Build Coastguard Worker typedef struct {
454*062a843bSAndroid Build Coastguard Worker     int             status;     /* A RIL_DataCallFailCause, 0 which is PDP_FAIL_NONE if no error */
455*062a843bSAndroid Build Coastguard Worker     int             suggestedRetryTime; /* If status != 0, this fields indicates the suggested retry
456*062a843bSAndroid Build Coastguard Worker                                            back-off timer value RIL wants to override the one
457*062a843bSAndroid Build Coastguard Worker                                            pre-configured in FW.
458*062a843bSAndroid Build Coastguard Worker                                            The unit is miliseconds.
459*062a843bSAndroid Build Coastguard Worker                                            The value < 0 means no value is suggested.
460*062a843bSAndroid Build Coastguard Worker                                            The value 0 means retry should be done ASAP.
461*062a843bSAndroid Build Coastguard Worker                                            The value of INT_MAX(0x7fffffff) means no retry. */
462*062a843bSAndroid Build Coastguard Worker     int             cid;        /* Context ID, uniquely identifies this call */
463*062a843bSAndroid Build Coastguard Worker     int             active;     /* 0=inactive, 1=active/physical link down, 2=active/physical link up */
464*062a843bSAndroid Build Coastguard Worker     char *          type;       /* One of the PDP_type values in TS 27.007 section 10.1.1.
465*062a843bSAndroid Build Coastguard Worker                                    For example, "IP", "IPV6", "IPV4V6", or "PPP". If status is
466*062a843bSAndroid Build Coastguard Worker                                    PDP_FAIL_ONLY_SINGLE_BEARER_ALLOWED this is the type supported
467*062a843bSAndroid Build Coastguard Worker                                    such as "IP" or "IPV6" */
468*062a843bSAndroid Build Coastguard Worker     char *          ifname;     /* The network interface name */
469*062a843bSAndroid Build Coastguard Worker     char *          addresses;  /* A space-delimited list of addresses with optional "/" prefix length,
470*062a843bSAndroid Build Coastguard Worker                                    e.g., "192.0.1.3" or "192.0.1.11/16 2001:db8::1/64".
471*062a843bSAndroid Build Coastguard Worker                                    May not be empty, typically 1 IPv4 or 1 IPv6 or
472*062a843bSAndroid Build Coastguard Worker                                    one of each. If the prefix length is absent the addresses
473*062a843bSAndroid Build Coastguard Worker                                    are assumed to be point to point with IPv4 having a prefix
474*062a843bSAndroid Build Coastguard Worker                                    length of 32 and IPv6 128. */
475*062a843bSAndroid Build Coastguard Worker     char *          dnses;      /* A space-delimited list of DNS server addresses,
476*062a843bSAndroid Build Coastguard Worker                                    e.g., "192.0.1.3" or "192.0.1.11 2001:db8::1".
477*062a843bSAndroid Build Coastguard Worker                                    May be empty. */
478*062a843bSAndroid Build Coastguard Worker     char *          gateways;   /* A space-delimited list of default gateway addresses,
479*062a843bSAndroid Build Coastguard Worker                                    e.g., "192.0.1.3" or "192.0.1.11 2001:db8::1".
480*062a843bSAndroid Build Coastguard Worker                                    May be empty in which case the addresses represent point
481*062a843bSAndroid Build Coastguard Worker                                    to point connections. */
482*062a843bSAndroid Build Coastguard Worker } RIL_Data_Call_Response_v6;
483*062a843bSAndroid Build Coastguard Worker 
484*062a843bSAndroid Build Coastguard Worker typedef struct {
485*062a843bSAndroid Build Coastguard Worker     int             status;     /* A RIL_DataCallFailCause, 0 which is PDP_FAIL_NONE if no error */
486*062a843bSAndroid Build Coastguard Worker     int             suggestedRetryTime; /* If status != 0, this fields indicates the suggested retry
487*062a843bSAndroid Build Coastguard Worker                                            back-off timer value RIL wants to override the one
488*062a843bSAndroid Build Coastguard Worker                                            pre-configured in FW.
489*062a843bSAndroid Build Coastguard Worker                                            The unit is miliseconds.
490*062a843bSAndroid Build Coastguard Worker                                            The value < 0 means no value is suggested.
491*062a843bSAndroid Build Coastguard Worker                                            The value 0 means retry should be done ASAP.
492*062a843bSAndroid Build Coastguard Worker                                            The value of INT_MAX(0x7fffffff) means no retry. */
493*062a843bSAndroid Build Coastguard Worker     int             cid;        /* Context ID, uniquely identifies this call */
494*062a843bSAndroid Build Coastguard Worker     int             active;     /* 0=inactive, 1=active/physical link down, 2=active/physical link up */
495*062a843bSAndroid Build Coastguard Worker     char *          type;       /* One of the PDP_type values in TS 27.007 section 10.1.1.
496*062a843bSAndroid Build Coastguard Worker                                    For example, "IP", "IPV6", "IPV4V6", or "PPP". If status is
497*062a843bSAndroid Build Coastguard Worker                                    PDP_FAIL_ONLY_SINGLE_BEARER_ALLOWED this is the type supported
498*062a843bSAndroid Build Coastguard Worker                                    such as "IP" or "IPV6" */
499*062a843bSAndroid Build Coastguard Worker     char *          ifname;     /* The network interface name */
500*062a843bSAndroid Build Coastguard Worker     char *          addresses;  /* A space-delimited list of addresses with optional "/" prefix length,
501*062a843bSAndroid Build Coastguard Worker                                    e.g., "192.0.1.3" or "192.0.1.11/16 2001:db8::1/64".
502*062a843bSAndroid Build Coastguard Worker                                    May not be empty, typically 1 IPv4 or 1 IPv6 or
503*062a843bSAndroid Build Coastguard Worker                                    one of each. If the prefix length is absent the addresses
504*062a843bSAndroid Build Coastguard Worker                                    are assumed to be point to point with IPv4 having a prefix
505*062a843bSAndroid Build Coastguard Worker                                    length of 32 and IPv6 128. */
506*062a843bSAndroid Build Coastguard Worker     char *          dnses;      /* A space-delimited list of DNS server addresses,
507*062a843bSAndroid Build Coastguard Worker                                    e.g., "192.0.1.3" or "192.0.1.11 2001:db8::1".
508*062a843bSAndroid Build Coastguard Worker                                    May be empty. */
509*062a843bSAndroid Build Coastguard Worker     char *          gateways;   /* A space-delimited list of default gateway addresses,
510*062a843bSAndroid Build Coastguard Worker                                    e.g., "192.0.1.3" or "192.0.1.11 2001:db8::1".
511*062a843bSAndroid Build Coastguard Worker                                    May be empty in which case the addresses represent point
512*062a843bSAndroid Build Coastguard Worker                                    to point connections. */
513*062a843bSAndroid Build Coastguard Worker     char *          pcscf;    /* the Proxy Call State Control Function address
514*062a843bSAndroid Build Coastguard Worker                                  via PCO(Protocol Configuration Option) for IMS client. */
515*062a843bSAndroid Build Coastguard Worker } RIL_Data_Call_Response_v9;
516*062a843bSAndroid Build Coastguard Worker 
517*062a843bSAndroid Build Coastguard Worker typedef struct {
518*062a843bSAndroid Build Coastguard Worker     int             status;     /* A RIL_DataCallFailCause, 0 which is PDP_FAIL_NONE if no error */
519*062a843bSAndroid Build Coastguard Worker     int             suggestedRetryTime; /* If status != 0, this fields indicates the suggested retry
520*062a843bSAndroid Build Coastguard Worker                                            back-off timer value RIL wants to override the one
521*062a843bSAndroid Build Coastguard Worker                                            pre-configured in FW.
522*062a843bSAndroid Build Coastguard Worker                                            The unit is miliseconds.
523*062a843bSAndroid Build Coastguard Worker                                            The value < 0 means no value is suggested.
524*062a843bSAndroid Build Coastguard Worker                                            The value 0 means retry should be done ASAP.
525*062a843bSAndroid Build Coastguard Worker                                            The value of INT_MAX(0x7fffffff) means no retry. */
526*062a843bSAndroid Build Coastguard Worker     int             cid;        /* Context ID, uniquely identifies this call */
527*062a843bSAndroid Build Coastguard Worker     int             active;     /* 0=inactive, 1=active/physical link down, 2=active/physical link up */
528*062a843bSAndroid Build Coastguard Worker     char *          type;       /* One of the PDP_type values in TS 27.007 section 10.1.1.
529*062a843bSAndroid Build Coastguard Worker                                    For example, "IP", "IPV6", "IPV4V6", or "PPP". If status is
530*062a843bSAndroid Build Coastguard Worker                                    PDP_FAIL_ONLY_SINGLE_BEARER_ALLOWED this is the type supported
531*062a843bSAndroid Build Coastguard Worker                                    such as "IP" or "IPV6" */
532*062a843bSAndroid Build Coastguard Worker     char *          ifname;     /* The network interface name */
533*062a843bSAndroid Build Coastguard Worker     char *          addresses;  /* A space-delimited list of addresses with optional "/" prefix length,
534*062a843bSAndroid Build Coastguard Worker                                    e.g., "192.0.1.3" or "192.0.1.11/16 2001:db8::1/64".
535*062a843bSAndroid Build Coastguard Worker                                    May not be empty, typically 1 IPv4 or 1 IPv6 or
536*062a843bSAndroid Build Coastguard Worker                                    one of each. If the prefix length is absent the addresses
537*062a843bSAndroid Build Coastguard Worker                                    are assumed to be point to point with IPv4 having a prefix
538*062a843bSAndroid Build Coastguard Worker                                    length of 32 and IPv6 128. */
539*062a843bSAndroid Build Coastguard Worker     char *          dnses;      /* A space-delimited list of DNS server addresses,
540*062a843bSAndroid Build Coastguard Worker                                    e.g., "192.0.1.3" or "192.0.1.11 2001:db8::1".
541*062a843bSAndroid Build Coastguard Worker                                    May be empty. */
542*062a843bSAndroid Build Coastguard Worker     char *          gateways;   /* A space-delimited list of default gateway addresses,
543*062a843bSAndroid Build Coastguard Worker                                    e.g., "192.0.1.3" or "192.0.1.11 2001:db8::1".
544*062a843bSAndroid Build Coastguard Worker                                    May be empty in which case the addresses represent point
545*062a843bSAndroid Build Coastguard Worker                                    to point connections. */
546*062a843bSAndroid Build Coastguard Worker     char *          pcscf;    /* the Proxy Call State Control Function address
547*062a843bSAndroid Build Coastguard Worker                                  via PCO(Protocol Configuration Option) for IMS client. */
548*062a843bSAndroid Build Coastguard Worker     int             mtu;        /* MTU received from network
549*062a843bSAndroid Build Coastguard Worker                                    Value <= 0 means network has either not sent a value or
550*062a843bSAndroid Build Coastguard Worker                                    sent an invalid value */
551*062a843bSAndroid Build Coastguard Worker } RIL_Data_Call_Response_v11;
552*062a843bSAndroid Build Coastguard Worker 
553*062a843bSAndroid Build Coastguard Worker typedef enum {
554*062a843bSAndroid Build Coastguard Worker     RADIO_TECH_3GPP = 1, /* 3GPP Technologies - GSM, WCDMA */
555*062a843bSAndroid Build Coastguard Worker     RADIO_TECH_3GPP2 = 2 /* 3GPP2 Technologies - CDMA */
556*062a843bSAndroid Build Coastguard Worker } RIL_RadioTechnologyFamily;
557*062a843bSAndroid Build Coastguard Worker 
558*062a843bSAndroid Build Coastguard Worker typedef struct {
559*062a843bSAndroid Build Coastguard Worker     RIL_RadioTechnologyFamily tech;
560*062a843bSAndroid Build Coastguard Worker     unsigned char             retry;       /* 0 == not retry, nonzero == retry */
561*062a843bSAndroid Build Coastguard Worker     int                       messageRef;  /* Valid field if retry is set to nonzero.
562*062a843bSAndroid Build Coastguard Worker                                               Contains messageRef from RIL_SMS_Response
563*062a843bSAndroid Build Coastguard Worker                                               corresponding to failed MO SMS.
564*062a843bSAndroid Build Coastguard Worker                                             */
565*062a843bSAndroid Build Coastguard Worker 
566*062a843bSAndroid Build Coastguard Worker     union {
567*062a843bSAndroid Build Coastguard Worker         /* Valid field if tech is RADIO_TECH_3GPP2. See RIL_REQUEST_CDMA_SEND_SMS */
568*062a843bSAndroid Build Coastguard Worker         RIL_CDMA_SMS_Message* cdmaMessage;
569*062a843bSAndroid Build Coastguard Worker 
570*062a843bSAndroid Build Coastguard Worker         /* Valid field if tech is RADIO_TECH_3GPP. See RIL_REQUEST_SEND_SMS */
571*062a843bSAndroid Build Coastguard Worker         char**                gsmMessage;   /* This is an array of pointers where pointers
572*062a843bSAndroid Build Coastguard Worker                                                are contiguous but elements pointed by those pointers
573*062a843bSAndroid Build Coastguard Worker                                                are not contiguous
574*062a843bSAndroid Build Coastguard Worker                                             */
575*062a843bSAndroid Build Coastguard Worker     } message;
576*062a843bSAndroid Build Coastguard Worker } RIL_IMS_SMS_Message;
577*062a843bSAndroid Build Coastguard Worker 
578*062a843bSAndroid Build Coastguard Worker typedef struct {
579*062a843bSAndroid Build Coastguard Worker     int messageRef;   /* TP-Message-Reference for GSM,
580*062a843bSAndroid Build Coastguard Worker                          and BearerData MessageId for CDMA
581*062a843bSAndroid Build Coastguard Worker                          (See 3GPP2 C.S0015-B, v2.0, table 4.5-1). */
582*062a843bSAndroid Build Coastguard Worker     char *ackPDU;     /* or NULL if n/a */
583*062a843bSAndroid Build Coastguard Worker     int errorCode;    /* See 3GPP 27.005, 3.2.5 for GSM/UMTS,
584*062a843bSAndroid Build Coastguard Worker                          3GPP2 N.S0005 (IS-41C) Table 171 for CDMA,
585*062a843bSAndroid Build Coastguard Worker                          -1 if unknown or not applicable*/
586*062a843bSAndroid Build Coastguard Worker } RIL_SMS_Response;
587*062a843bSAndroid Build Coastguard Worker 
588*062a843bSAndroid Build Coastguard Worker /** Used by RIL_REQUEST_WRITE_SMS_TO_SIM */
589*062a843bSAndroid Build Coastguard Worker typedef struct {
590*062a843bSAndroid Build Coastguard Worker     int status;     /* Status of message.  See TS 27.005 3.1, "<stat>": */
591*062a843bSAndroid Build Coastguard Worker                     /*      0 = "REC UNREAD"    */
592*062a843bSAndroid Build Coastguard Worker                     /*      1 = "REC READ"      */
593*062a843bSAndroid Build Coastguard Worker                     /*      2 = "STO UNSENT"    */
594*062a843bSAndroid Build Coastguard Worker                     /*      3 = "STO SENT"      */
595*062a843bSAndroid Build Coastguard Worker     char * pdu;     /* PDU of message to write, as an ASCII hex string less the SMSC address,
596*062a843bSAndroid Build Coastguard Worker                        the TP-layer length is "strlen(pdu)/2". */
597*062a843bSAndroid Build Coastguard Worker     char * smsc;    /* SMSC address in GSM BCD format prefixed by a length byte
598*062a843bSAndroid Build Coastguard Worker                        (as expected by TS 27.005) or NULL for default SMSC */
599*062a843bSAndroid Build Coastguard Worker } RIL_SMS_WriteArgs;
600*062a843bSAndroid Build Coastguard Worker 
601*062a843bSAndroid Build Coastguard Worker /** Used by RIL_REQUEST_DIAL */
602*062a843bSAndroid Build Coastguard Worker typedef struct {
603*062a843bSAndroid Build Coastguard Worker     char * address;
604*062a843bSAndroid Build Coastguard Worker     int clir;
605*062a843bSAndroid Build Coastguard Worker             /* (same as 'n' paremeter in TS 27.007 7.7 "+CLIR"
606*062a843bSAndroid Build Coastguard Worker              * clir == 0 on "use subscription default value"
607*062a843bSAndroid Build Coastguard Worker              * clir == 1 on "CLIR invocation" (restrict CLI presentation)
608*062a843bSAndroid Build Coastguard Worker              * clir == 2 on "CLIR suppression" (allow CLI presentation)
609*062a843bSAndroid Build Coastguard Worker              */
610*062a843bSAndroid Build Coastguard Worker     RIL_UUS_Info *  uusInfo;    /* NULL or Pointer to User-User Signaling Information */
611*062a843bSAndroid Build Coastguard Worker } RIL_Dial;
612*062a843bSAndroid Build Coastguard Worker 
613*062a843bSAndroid Build Coastguard Worker typedef struct {
614*062a843bSAndroid Build Coastguard Worker     int command;    /* one of the commands listed for TS 27.007 +CRSM*/
615*062a843bSAndroid Build Coastguard Worker     int fileid;     /* EF id */
616*062a843bSAndroid Build Coastguard Worker     char *path;     /* "pathid" from TS 27.007 +CRSM command.
617*062a843bSAndroid Build Coastguard Worker                        Path is in hex asciii format eg "7f205f70"
618*062a843bSAndroid Build Coastguard Worker                        Path must always be provided.
619*062a843bSAndroid Build Coastguard Worker                      */
620*062a843bSAndroid Build Coastguard Worker     int p1;
621*062a843bSAndroid Build Coastguard Worker     int p2;
622*062a843bSAndroid Build Coastguard Worker     int p3;
623*062a843bSAndroid Build Coastguard Worker     char *data;     /* May be NULL*/
624*062a843bSAndroid Build Coastguard Worker     char *pin2;     /* May be NULL*/
625*062a843bSAndroid Build Coastguard Worker } RIL_SIM_IO_v5;
626*062a843bSAndroid Build Coastguard Worker 
627*062a843bSAndroid Build Coastguard Worker typedef struct {
628*062a843bSAndroid Build Coastguard Worker     int command;    /* one of the commands listed for TS 27.007 +CRSM*/
629*062a843bSAndroid Build Coastguard Worker     int fileid;     /* EF id */
630*062a843bSAndroid Build Coastguard Worker     char *path;     /* "pathid" from TS 27.007 +CRSM command.
631*062a843bSAndroid Build Coastguard Worker                        Path is in hex asciii format eg "7f205f70"
632*062a843bSAndroid Build Coastguard Worker                        Path must always be provided.
633*062a843bSAndroid Build Coastguard Worker                      */
634*062a843bSAndroid Build Coastguard Worker     int p1;
635*062a843bSAndroid Build Coastguard Worker     int p2;
636*062a843bSAndroid Build Coastguard Worker     int p3;
637*062a843bSAndroid Build Coastguard Worker     char *data;     /* May be NULL*/
638*062a843bSAndroid Build Coastguard Worker     char *pin2;     /* May be NULL*/
639*062a843bSAndroid Build Coastguard Worker     char *aidPtr;   /* AID value, See ETSI 102.221 8.1 and 101.220 4, NULL if no value. */
640*062a843bSAndroid Build Coastguard Worker } RIL_SIM_IO_v6;
641*062a843bSAndroid Build Coastguard Worker 
642*062a843bSAndroid Build Coastguard Worker /* Used by RIL_REQUEST_SIM_TRANSMIT_APDU_CHANNEL and
643*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SIM_TRANSMIT_APDU_BASIC. */
644*062a843bSAndroid Build Coastguard Worker typedef struct {
645*062a843bSAndroid Build Coastguard Worker     int sessionid;  /* "sessionid" from TS 27.007 +CGLA command. Should be
646*062a843bSAndroid Build Coastguard Worker                        ignored for +CSIM command. */
647*062a843bSAndroid Build Coastguard Worker 
648*062a843bSAndroid Build Coastguard Worker     /* Following fields are used to derive the APDU ("command" and "length"
649*062a843bSAndroid Build Coastguard Worker        values in TS 27.007 +CSIM and +CGLA commands). */
650*062a843bSAndroid Build Coastguard Worker     int cla;
651*062a843bSAndroid Build Coastguard Worker     int instruction;
652*062a843bSAndroid Build Coastguard Worker     int p1;
653*062a843bSAndroid Build Coastguard Worker     int p2;
654*062a843bSAndroid Build Coastguard Worker     int p3;         /* A negative P3 implies a 4 byte APDU. */
655*062a843bSAndroid Build Coastguard Worker     char *data;     /* May be NULL. In hex string format. */
656*062a843bSAndroid Build Coastguard Worker } RIL_SIM_APDU;
657*062a843bSAndroid Build Coastguard Worker 
658*062a843bSAndroid Build Coastguard Worker typedef struct {
659*062a843bSAndroid Build Coastguard Worker     int sw1;
660*062a843bSAndroid Build Coastguard Worker     int sw2;
661*062a843bSAndroid Build Coastguard Worker     char *simResponse;  /* In hex string format ([a-fA-F0-9]*), except for SIM_AUTHENTICATION
662*062a843bSAndroid Build Coastguard Worker                            response for which it is in Base64 format, see 3GPP TS 31.102 7.1.2 */
663*062a843bSAndroid Build Coastguard Worker } RIL_SIM_IO_Response;
664*062a843bSAndroid Build Coastguard Worker 
665*062a843bSAndroid Build Coastguard Worker /* See also com.android.internal.telephony.gsm.CallForwardInfo */
666*062a843bSAndroid Build Coastguard Worker 
667*062a843bSAndroid Build Coastguard Worker typedef struct {
668*062a843bSAndroid Build Coastguard Worker     int             status;     /*
669*062a843bSAndroid Build Coastguard Worker                                  * For RIL_REQUEST_QUERY_CALL_FORWARD_STATUS
670*062a843bSAndroid Build Coastguard Worker                                  * status 1 = active, 0 = not active
671*062a843bSAndroid Build Coastguard Worker                                  *
672*062a843bSAndroid Build Coastguard Worker                                  * For RIL_REQUEST_SET_CALL_FORWARD:
673*062a843bSAndroid Build Coastguard Worker                                  * status is:
674*062a843bSAndroid Build Coastguard Worker                                  * 0 = disable
675*062a843bSAndroid Build Coastguard Worker                                  * 1 = enable
676*062a843bSAndroid Build Coastguard Worker                                  * 2 = interrogate
677*062a843bSAndroid Build Coastguard Worker                                  * 3 = registeration
678*062a843bSAndroid Build Coastguard Worker                                  * 4 = erasure
679*062a843bSAndroid Build Coastguard Worker                                  */
680*062a843bSAndroid Build Coastguard Worker 
681*062a843bSAndroid Build Coastguard Worker     int             reason;      /* from TS 27.007 7.11 "reason" */
682*062a843bSAndroid Build Coastguard Worker     int             serviceClass;/* From 27.007 +CCFC/+CLCK "class"
683*062a843bSAndroid Build Coastguard Worker                                     See table for Android mapping from
684*062a843bSAndroid Build Coastguard Worker                                     MMI service code
685*062a843bSAndroid Build Coastguard Worker                                     0 means user doesn't input class */
686*062a843bSAndroid Build Coastguard Worker     int             toa;         /* "type" from TS 27.007 7.11 */
687*062a843bSAndroid Build Coastguard Worker     char *          number;      /* "number" from TS 27.007 7.11. May be NULL */
688*062a843bSAndroid Build Coastguard Worker     int             timeSeconds; /* for CF no reply only */
689*062a843bSAndroid Build Coastguard Worker }RIL_CallForwardInfo;
690*062a843bSAndroid Build Coastguard Worker 
691*062a843bSAndroid Build Coastguard Worker typedef struct {
692*062a843bSAndroid Build Coastguard Worker    char * cid;         /* Combination of LAC and Cell Id in 32 bits in GSM.
693*062a843bSAndroid Build Coastguard Worker                         * Upper 16 bits is LAC and lower 16 bits
694*062a843bSAndroid Build Coastguard Worker                         * is CID (as described in TS 27.005)
695*062a843bSAndroid Build Coastguard Worker                         * Primary Scrambling Code (as described in TS 25.331)
696*062a843bSAndroid Build Coastguard Worker                         *         in 9 bits in UMTS
697*062a843bSAndroid Build Coastguard Worker                         * Valid values are hexadecimal 0x0000 - 0xffffffff.
698*062a843bSAndroid Build Coastguard Worker                         */
699*062a843bSAndroid Build Coastguard Worker    int    rssi;        /* Received RSSI in GSM,
700*062a843bSAndroid Build Coastguard Worker                         * Level index of CPICH Received Signal Code Power in UMTS
701*062a843bSAndroid Build Coastguard Worker                         */
702*062a843bSAndroid Build Coastguard Worker } RIL_NeighboringCell;
703*062a843bSAndroid Build Coastguard Worker 
704*062a843bSAndroid Build Coastguard Worker typedef struct {
705*062a843bSAndroid Build Coastguard Worker   char lce_status;                 /* LCE service status:
706*062a843bSAndroid Build Coastguard Worker                                     * -1 = not supported;
707*062a843bSAndroid Build Coastguard Worker                                     * 0 = stopped;
708*062a843bSAndroid Build Coastguard Worker                                     * 1 = active.
709*062a843bSAndroid Build Coastguard Worker                                     */
710*062a843bSAndroid Build Coastguard Worker   unsigned int actual_interval_ms; /* actual LCE reporting interval,
711*062a843bSAndroid Build Coastguard Worker                                     * meaningful only if LCEStatus = 1.
712*062a843bSAndroid Build Coastguard Worker                                     */
713*062a843bSAndroid Build Coastguard Worker } RIL_LceStatusInfo;
714*062a843bSAndroid Build Coastguard Worker 
715*062a843bSAndroid Build Coastguard Worker typedef struct {
716*062a843bSAndroid Build Coastguard Worker   unsigned int last_hop_capacity_kbps; /* last-hop cellular capacity: kilobits/second. */
717*062a843bSAndroid Build Coastguard Worker   unsigned char confidence_level;      /* capacity estimate confidence: 0-100 */
718*062a843bSAndroid Build Coastguard Worker   unsigned char lce_suspended;         /* LCE report going to be suspended? (e.g., radio
719*062a843bSAndroid Build Coastguard Worker                                         * moves to inactive state or network type change)
720*062a843bSAndroid Build Coastguard Worker                                         * 1 = suspended;
721*062a843bSAndroid Build Coastguard Worker                                         * 0 = not suspended.
722*062a843bSAndroid Build Coastguard Worker                                         */
723*062a843bSAndroid Build Coastguard Worker } RIL_LceDataInfo;
724*062a843bSAndroid Build Coastguard Worker 
725*062a843bSAndroid Build Coastguard Worker typedef enum {
726*062a843bSAndroid Build Coastguard Worker     RIL_MATCH_ALL = 0,          /* Apply to all carriers with the same mcc/mnc */
727*062a843bSAndroid Build Coastguard Worker     RIL_MATCH_SPN = 1,          /* Use SPN and mcc/mnc to identify the carrier */
728*062a843bSAndroid Build Coastguard Worker     RIL_MATCH_IMSI_PREFIX = 2,  /* Use IMSI prefix and mcc/mnc to identify the carrier */
729*062a843bSAndroid Build Coastguard Worker     RIL_MATCH_GID1 = 3,         /* Use GID1 and mcc/mnc to identify the carrier */
730*062a843bSAndroid Build Coastguard Worker     RIL_MATCH_GID2 = 4,         /* Use GID2 and mcc/mnc to identify the carrier */
731*062a843bSAndroid Build Coastguard Worker } RIL_CarrierMatchType;
732*062a843bSAndroid Build Coastguard Worker 
733*062a843bSAndroid Build Coastguard Worker typedef struct {
734*062a843bSAndroid Build Coastguard Worker     const char * mcc;
735*062a843bSAndroid Build Coastguard Worker     const char * mnc;
736*062a843bSAndroid Build Coastguard Worker     RIL_CarrierMatchType match_type;   /* Specify match type for the carrier.
737*062a843bSAndroid Build Coastguard Worker                                         * If it’s RIL_MATCH_ALL, match_data is null;
738*062a843bSAndroid Build Coastguard Worker                                         * otherwise, match_data is the value for the match type.
739*062a843bSAndroid Build Coastguard Worker                                         */
740*062a843bSAndroid Build Coastguard Worker     const char * match_data;
741*062a843bSAndroid Build Coastguard Worker } RIL_Carrier;
742*062a843bSAndroid Build Coastguard Worker 
743*062a843bSAndroid Build Coastguard Worker typedef struct {
744*062a843bSAndroid Build Coastguard Worker   int32_t len_allowed_carriers;         /* length of array allowed_carriers */
745*062a843bSAndroid Build Coastguard Worker   int32_t len_excluded_carriers;        /* length of array excluded_carriers */
746*062a843bSAndroid Build Coastguard Worker   RIL_Carrier * allowed_carriers;       /* list of allowed carriers */
747*062a843bSAndroid Build Coastguard Worker   RIL_Carrier * excluded_carriers;      /* list of explicitly excluded carriers
748*062a843bSAndroid Build Coastguard Worker                                          * which match allowed_carriers. Eg. allowed_carriers match
749*062a843bSAndroid Build Coastguard Worker                                          * mcc/mnc, excluded_carriers has same mcc/mnc and gid1
750*062a843bSAndroid Build Coastguard Worker                                          * is ABCD. It means except the carrier whose gid1 is ABCD,
751*062a843bSAndroid Build Coastguard Worker                                          * all carriers with the same mcc/mnc are allowed.
752*062a843bSAndroid Build Coastguard Worker                                          */
753*062a843bSAndroid Build Coastguard Worker } RIL_CarrierRestrictions;
754*062a843bSAndroid Build Coastguard Worker 
755*062a843bSAndroid Build Coastguard Worker typedef struct {
756*062a843bSAndroid Build Coastguard Worker   char * mcc;                         /* MCC of the Carrier. */
757*062a843bSAndroid Build Coastguard Worker   char * mnc ;                        /* MNC of the Carrier. */
758*062a843bSAndroid Build Coastguard Worker   uint8_t * carrierKey;               /* Public Key from the Carrier used to encrypt the
759*062a843bSAndroid Build Coastguard Worker                                        * IMSI/IMPI.
760*062a843bSAndroid Build Coastguard Worker                                        */
761*062a843bSAndroid Build Coastguard Worker   int32_t carrierKeyLength;            /* Length of the Public Key. */
762*062a843bSAndroid Build Coastguard Worker   char * keyIdentifier;               /* The keyIdentifier Attribute value pair that helps
763*062a843bSAndroid Build Coastguard Worker                                        * a server locate the private key to decrypt the
764*062a843bSAndroid Build Coastguard Worker                                        * permanent identity.
765*062a843bSAndroid Build Coastguard Worker                                        */
766*062a843bSAndroid Build Coastguard Worker   int64_t expirationTime;             /* Date-Time (in UTC) when the key will expire. */
767*062a843bSAndroid Build Coastguard Worker 
768*062a843bSAndroid Build Coastguard Worker } RIL_CarrierInfoForImsiEncryption;
769*062a843bSAndroid Build Coastguard Worker 
770*062a843bSAndroid Build Coastguard Worker /* See RIL_REQUEST_LAST_CALL_FAIL_CAUSE */
771*062a843bSAndroid Build Coastguard Worker typedef enum {
772*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_UNOBTAINABLE_NUMBER = 1,
773*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_NO_ROUTE_TO_DESTINATION = 3,
774*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_CHANNEL_UNACCEPTABLE = 6,
775*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_OPERATOR_DETERMINED_BARRING = 8,
776*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_NORMAL = 16,
777*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_BUSY = 17,
778*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_NO_USER_RESPONDING = 18,
779*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_NO_ANSWER_FROM_USER = 19,
780*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_CALL_REJECTED = 21,
781*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_NUMBER_CHANGED = 22,
782*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_PREEMPTION = 25,
783*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_DESTINATION_OUT_OF_ORDER = 27,
784*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_INVALID_NUMBER_FORMAT = 28,
785*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_FACILITY_REJECTED = 29,
786*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_RESP_TO_STATUS_ENQUIRY = 30,
787*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_NORMAL_UNSPECIFIED = 31,
788*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_CONGESTION = 34,
789*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_NETWORK_OUT_OF_ORDER = 38,
790*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_TEMPORARY_FAILURE = 41,
791*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_SWITCHING_EQUIPMENT_CONGESTION = 42,
792*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_ACCESS_INFORMATION_DISCARDED = 43,
793*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_REQUESTED_CIRCUIT_OR_CHANNEL_NOT_AVAILABLE = 44,
794*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_RESOURCES_UNAVAILABLE_OR_UNSPECIFIED = 47,
795*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_QOS_UNAVAILABLE = 49,
796*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_REQUESTED_FACILITY_NOT_SUBSCRIBED = 50,
797*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_INCOMING_CALLS_BARRED_WITHIN_CUG = 55,
798*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_BEARER_CAPABILITY_NOT_AUTHORIZED = 57,
799*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_BEARER_CAPABILITY_UNAVAILABLE = 58,
800*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_SERVICE_OPTION_NOT_AVAILABLE = 63,
801*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_BEARER_SERVICE_NOT_IMPLEMENTED = 65,
802*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_ACM_LIMIT_EXCEEDED = 68,
803*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_REQUESTED_FACILITY_NOT_IMPLEMENTED = 69,
804*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_ONLY_DIGITAL_INFORMATION_BEARER_AVAILABLE = 70,
805*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_SERVICE_OR_OPTION_NOT_IMPLEMENTED = 79,
806*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_INVALID_TRANSACTION_IDENTIFIER = 81,
807*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_USER_NOT_MEMBER_OF_CUG = 87,
808*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_INCOMPATIBLE_DESTINATION = 88,
809*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_INVALID_TRANSIT_NW_SELECTION = 91,
810*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_SEMANTICALLY_INCORRECT_MESSAGE = 95,
811*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_INVALID_MANDATORY_INFORMATION = 96,
812*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_MESSAGE_TYPE_NON_IMPLEMENTED = 97,
813*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98,
814*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_INFORMATION_ELEMENT_NON_EXISTENT = 99,
815*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_CONDITIONAL_IE_ERROR = 100,
816*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101,
817*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_RECOVERY_ON_TIMER_EXPIRED = 102,
818*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_PROTOCOL_ERROR_UNSPECIFIED = 111,
819*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_INTERWORKING_UNSPECIFIED = 127,
820*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_CALL_BARRED = 240,
821*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_FDN_BLOCKED = 241,
822*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_IMSI_UNKNOWN_IN_VLR = 242,
823*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_IMEI_NOT_ACCEPTED = 243,
824*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_DIAL_MODIFIED_TO_USSD = 244, /* STK Call Control */
825*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_DIAL_MODIFIED_TO_SS = 245,
826*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_DIAL_MODIFIED_TO_DIAL = 246,
827*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_RADIO_OFF = 247, /* Radio is OFF */
828*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_OUT_OF_SERVICE = 248, /* No cellular coverage */
829*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_NO_VALID_SIM = 249, /* No valid SIM is present */
830*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_RADIO_INTERNAL_ERROR = 250, /* Internal error at Modem */
831*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_NETWORK_RESP_TIMEOUT = 251, /* No response from network */
832*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_NETWORK_REJECT = 252, /* Explicit network reject */
833*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_RADIO_ACCESS_FAILURE = 253, /* RRC connection failure. Eg.RACH */
834*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_RADIO_LINK_FAILURE = 254, /* Radio Link Failure */
835*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_RADIO_LINK_LOST = 255, /* Radio link lost due to poor coverage */
836*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_RADIO_UPLINK_FAILURE = 256, /* Radio uplink failure */
837*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_RADIO_SETUP_FAILURE = 257, /* RRC connection setup failure */
838*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_RADIO_RELEASE_NORMAL = 258, /* RRC connection release, normal */
839*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_RADIO_RELEASE_ABNORMAL = 259, /* RRC connection release, abnormal */
840*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_ACCESS_CLASS_BLOCKED = 260, /* Access class barring */
841*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_NETWORK_DETACH = 261, /* Explicit network detach */
842*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_CDMA_LOCKED_UNTIL_POWER_CYCLE = 1000,
843*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_CDMA_DROP = 1001,
844*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_CDMA_INTERCEPT = 1002,
845*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_CDMA_REORDER = 1003,
846*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_CDMA_SO_REJECT = 1004,
847*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_CDMA_RETRY_ORDER = 1005,
848*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_CDMA_ACCESS_FAILURE = 1006,
849*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_CDMA_PREEMPTED = 1007,
850*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_CDMA_NOT_EMERGENCY = 1008, /* For non-emergency number dialed
851*062a843bSAndroid Build Coastguard Worker                                             during emergency callback mode */
852*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_CDMA_ACCESS_BLOCKED = 1009, /* CDMA network access probes blocked */
853*062a843bSAndroid Build Coastguard Worker 
854*062a843bSAndroid Build Coastguard Worker     /* OEM specific error codes. Used to distinguish error from
855*062a843bSAndroid Build Coastguard Worker      * CALL_FAIL_ERROR_UNSPECIFIED and help assist debugging */
856*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_OEM_CAUSE_1 = 0xf001,
857*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_OEM_CAUSE_2 = 0xf002,
858*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_OEM_CAUSE_3 = 0xf003,
859*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_OEM_CAUSE_4 = 0xf004,
860*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_OEM_CAUSE_5 = 0xf005,
861*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_OEM_CAUSE_6 = 0xf006,
862*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_OEM_CAUSE_7 = 0xf007,
863*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_OEM_CAUSE_8 = 0xf008,
864*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_OEM_CAUSE_9 = 0xf009,
865*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_OEM_CAUSE_10 = 0xf00a,
866*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_OEM_CAUSE_11 = 0xf00b,
867*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_OEM_CAUSE_12 = 0xf00c,
868*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_OEM_CAUSE_13 = 0xf00d,
869*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_OEM_CAUSE_14 = 0xf00e,
870*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_OEM_CAUSE_15 = 0xf00f,
871*062a843bSAndroid Build Coastguard Worker 
872*062a843bSAndroid Build Coastguard Worker     CALL_FAIL_ERROR_UNSPECIFIED = 0xffff /* This error will be deprecated soon,
873*062a843bSAndroid Build Coastguard Worker                                             vendor code should make sure to map error
874*062a843bSAndroid Build Coastguard Worker                                             code to specific error */
875*062a843bSAndroid Build Coastguard Worker } RIL_LastCallFailCause;
876*062a843bSAndroid Build Coastguard Worker 
877*062a843bSAndroid Build Coastguard Worker typedef struct {
878*062a843bSAndroid Build Coastguard Worker   RIL_LastCallFailCause cause_code;
879*062a843bSAndroid Build Coastguard Worker   char *                vendor_cause;
880*062a843bSAndroid Build Coastguard Worker } RIL_LastCallFailCauseInfo;
881*062a843bSAndroid Build Coastguard Worker 
882*062a843bSAndroid Build Coastguard Worker /* See RIL_REQUEST_LAST_DATA_CALL_FAIL_CAUSE */
883*062a843bSAndroid Build Coastguard Worker typedef enum {
884*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_NONE = 0, /* No error, connection ok */
885*062a843bSAndroid Build Coastguard Worker 
886*062a843bSAndroid Build Coastguard Worker     /* an integer cause code defined in TS 24.008
887*062a843bSAndroid Build Coastguard Worker        section 6.1.3.1.3 or TS 24.301 Release 8+ Annex B.
888*062a843bSAndroid Build Coastguard Worker        If the implementation does not have access to the exact cause codes,
889*062a843bSAndroid Build Coastguard Worker        then it should return one of the following values,
890*062a843bSAndroid Build Coastguard Worker        as the UI layer needs to distinguish these
891*062a843bSAndroid Build Coastguard Worker        cases for error notification and potential retries. */
892*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_OPERATOR_BARRED = 0x08,               /* no retry */
893*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_NAS_SIGNALLING = 0x0E,
894*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_LLC_SNDCP = 0x19,
895*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_INSUFFICIENT_RESOURCES = 0x1A,
896*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_MISSING_UKNOWN_APN = 0x1B,            /* no retry */
897*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_UNKNOWN_PDP_ADDRESS_TYPE = 0x1C,      /* no retry */
898*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_USER_AUTHENTICATION = 0x1D,           /* no retry */
899*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_ACTIVATION_REJECT_GGSN = 0x1E,        /* no retry */
900*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_ACTIVATION_REJECT_UNSPECIFIED = 0x1F,
901*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_SERVICE_OPTION_NOT_SUPPORTED = 0x20,  /* no retry */
902*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_SERVICE_OPTION_NOT_SUBSCRIBED = 0x21, /* no retry */
903*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_SERVICE_OPTION_OUT_OF_ORDER = 0x22,
904*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_NSAPI_IN_USE = 0x23,                  /* no retry */
905*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_REGULAR_DEACTIVATION = 0x24,          /* possibly restart radio,
906*062a843bSAndroid Build Coastguard Worker                                                       based on framework config */
907*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_QOS_NOT_ACCEPTED = 0x25,
908*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_NETWORK_FAILURE = 0x26,
909*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_UMTS_REACTIVATION_REQ = 0x27,
910*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_FEATURE_NOT_SUPP = 0x28,
911*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_TFT_SEMANTIC_ERROR = 0x29,
912*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_TFT_SYTAX_ERROR = 0x2A,
913*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_UNKNOWN_PDP_CONTEXT = 0x2B,
914*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_FILTER_SEMANTIC_ERROR = 0x2C,
915*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_FILTER_SYTAX_ERROR = 0x2D,
916*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_PDP_WITHOUT_ACTIVE_TFT = 0x2E,
917*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_ONLY_IPV4_ALLOWED = 0x32,             /* no retry */
918*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_ONLY_IPV6_ALLOWED = 0x33,             /* no retry */
919*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_ONLY_SINGLE_BEARER_ALLOWED = 0x34,
920*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_ESM_INFO_NOT_RECEIVED = 0x35,
921*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_PDN_CONN_DOES_NOT_EXIST = 0x36,
922*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_MULTI_CONN_TO_SAME_PDN_NOT_ALLOWED = 0x37,
923*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_MAX_ACTIVE_PDP_CONTEXT_REACHED = 0x41,
924*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_UNSUPPORTED_APN_IN_CURRENT_PLMN = 0x42,
925*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_INVALID_TRANSACTION_ID = 0x51,
926*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_MESSAGE_INCORRECT_SEMANTIC = 0x5F,
927*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_INVALID_MANDATORY_INFO = 0x60,
928*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_MESSAGE_TYPE_UNSUPPORTED = 0x61,
929*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_MSG_TYPE_NONCOMPATIBLE_STATE = 0x62,
930*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_UNKNOWN_INFO_ELEMENT = 0x63,
931*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_CONDITIONAL_IE_ERROR = 0x64,
932*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_MSG_AND_PROTOCOL_STATE_UNCOMPATIBLE = 0x65,
933*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_PROTOCOL_ERRORS = 0x6F,             /* no retry */
934*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_APN_TYPE_CONFLICT = 0x70,
935*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_INVALID_PCSCF_ADDR = 0x71,
936*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_INTERNAL_CALL_PREEMPT_BY_HIGH_PRIO_APN = 0x72,
937*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_EMM_ACCESS_BARRED = 0x73,
938*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_EMERGENCY_IFACE_ONLY = 0x74,
939*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_IFACE_MISMATCH = 0x75,
940*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_COMPANION_IFACE_IN_USE = 0x76,
941*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_IP_ADDRESS_MISMATCH = 0x77,
942*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_IFACE_AND_POL_FAMILY_MISMATCH = 0x78,
943*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_EMM_ACCESS_BARRED_INFINITE_RETRY = 0x79,
944*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_AUTH_FAILURE_ON_EMERGENCY_CALL = 0x7A,
945*062a843bSAndroid Build Coastguard Worker 
946*062a843bSAndroid Build Coastguard Worker     // OEM specific error codes. To be used by OEMs when they don't want to
947*062a843bSAndroid Build Coastguard Worker     // reveal error code which would be replaced by PDP_FAIL_ERROR_UNSPECIFIED
948*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_OEM_DCFAILCAUSE_1 = 0x1001,
949*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_OEM_DCFAILCAUSE_2 = 0x1002,
950*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_OEM_DCFAILCAUSE_3 = 0x1003,
951*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_OEM_DCFAILCAUSE_4 = 0x1004,
952*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_OEM_DCFAILCAUSE_5 = 0x1005,
953*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_OEM_DCFAILCAUSE_6 = 0x1006,
954*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_OEM_DCFAILCAUSE_7 = 0x1007,
955*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_OEM_DCFAILCAUSE_8 = 0x1008,
956*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_OEM_DCFAILCAUSE_9 = 0x1009,
957*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_OEM_DCFAILCAUSE_10 = 0x100A,
958*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_OEM_DCFAILCAUSE_11 = 0x100B,
959*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_OEM_DCFAILCAUSE_12 = 0x100C,
960*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_OEM_DCFAILCAUSE_13 = 0x100D,
961*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_OEM_DCFAILCAUSE_14 = 0x100E,
962*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_OEM_DCFAILCAUSE_15 = 0x100F,
963*062a843bSAndroid Build Coastguard Worker 
964*062a843bSAndroid Build Coastguard Worker     /* Not mentioned in the specification */
965*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_VOICE_REGISTRATION_FAIL = -1,
966*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_DATA_REGISTRATION_FAIL = -2,
967*062a843bSAndroid Build Coastguard Worker 
968*062a843bSAndroid Build Coastguard Worker    /* reasons for data call drop - network/modem disconnect */
969*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_SIGNAL_LOST = -3,
970*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_PREF_RADIO_TECH_CHANGED = -4,/* preferred technology has changed, should retry
971*062a843bSAndroid Build Coastguard Worker                                              with parameters appropriate for new technology */
972*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_RADIO_POWER_OFF = -5,        /* data call was disconnected because radio was resetting,
973*062a843bSAndroid Build Coastguard Worker                                              powered off - no retry */
974*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_TETHERED_CALL_ACTIVE = -6,   /* data call was disconnected by modem because tethered
975*062a843bSAndroid Build Coastguard Worker                                              mode was up on same APN/data profile - no retry until
976*062a843bSAndroid Build Coastguard Worker                                              tethered call is off */
977*062a843bSAndroid Build Coastguard Worker 
978*062a843bSAndroid Build Coastguard Worker     PDP_FAIL_ERROR_UNSPECIFIED = 0xffff,  /* retry silently. Will be deprecated soon as
979*062a843bSAndroid Build Coastguard Worker                                              new error codes are added making this unnecessary */
980*062a843bSAndroid Build Coastguard Worker } RIL_DataCallFailCause;
981*062a843bSAndroid Build Coastguard Worker 
982*062a843bSAndroid Build Coastguard Worker /* See RIL_REQUEST_SETUP_DATA_CALL */
983*062a843bSAndroid Build Coastguard Worker typedef enum {
984*062a843bSAndroid Build Coastguard Worker     RIL_DATA_PROFILE_DEFAULT    = 0,
985*062a843bSAndroid Build Coastguard Worker     RIL_DATA_PROFILE_TETHERED   = 1,
986*062a843bSAndroid Build Coastguard Worker     RIL_DATA_PROFILE_IMS        = 2,
987*062a843bSAndroid Build Coastguard Worker     RIL_DATA_PROFILE_FOTA       = 3,
988*062a843bSAndroid Build Coastguard Worker     RIL_DATA_PROFILE_CBS        = 4,
989*062a843bSAndroid Build Coastguard Worker     RIL_DATA_PROFILE_OEM_BASE   = 1000,    /* Start of OEM-specific profiles */
990*062a843bSAndroid Build Coastguard Worker     RIL_DATA_PROFILE_INVALID    = 0xFFFFFFFF
991*062a843bSAndroid Build Coastguard Worker } RIL_DataProfile;
992*062a843bSAndroid Build Coastguard Worker 
993*062a843bSAndroid Build Coastguard Worker /* Used by RIL_UNSOL_SUPP_SVC_NOTIFICATION */
994*062a843bSAndroid Build Coastguard Worker typedef struct {
995*062a843bSAndroid Build Coastguard Worker     int     notificationType;   /*
996*062a843bSAndroid Build Coastguard Worker                                  * 0 = MO intermediate result code
997*062a843bSAndroid Build Coastguard Worker                                  * 1 = MT unsolicited result code
998*062a843bSAndroid Build Coastguard Worker                                  */
999*062a843bSAndroid Build Coastguard Worker     int     code;               /* See 27.007 7.17
1000*062a843bSAndroid Build Coastguard Worker                                    "code1" for MO
1001*062a843bSAndroid Build Coastguard Worker                                    "code2" for MT. */
1002*062a843bSAndroid Build Coastguard Worker     int     index;              /* CUG index. See 27.007 7.17. */
1003*062a843bSAndroid Build Coastguard Worker     int     type;               /* "type" from 27.007 7.17 (MT only). */
1004*062a843bSAndroid Build Coastguard Worker     char *  number;             /* "number" from 27.007 7.17
1005*062a843bSAndroid Build Coastguard Worker                                    (MT only, may be NULL). */
1006*062a843bSAndroid Build Coastguard Worker } RIL_SuppSvcNotification;
1007*062a843bSAndroid Build Coastguard Worker 
1008*062a843bSAndroid Build Coastguard Worker #define RIL_CARD_MAX_APPS     8
1009*062a843bSAndroid Build Coastguard Worker 
1010*062a843bSAndroid Build Coastguard Worker typedef enum {
1011*062a843bSAndroid Build Coastguard Worker     RIL_CARDSTATE_ABSENT     = 0,
1012*062a843bSAndroid Build Coastguard Worker     RIL_CARDSTATE_PRESENT    = 1,
1013*062a843bSAndroid Build Coastguard Worker     RIL_CARDSTATE_ERROR      = 2,
1014*062a843bSAndroid Build Coastguard Worker     RIL_CARDSTATE_RESTRICTED = 3  /* card is present but not usable due to carrier restrictions.*/
1015*062a843bSAndroid Build Coastguard Worker } RIL_CardState;
1016*062a843bSAndroid Build Coastguard Worker 
1017*062a843bSAndroid Build Coastguard Worker typedef enum {
1018*062a843bSAndroid Build Coastguard Worker     RIL_PERSOSUBSTATE_UNKNOWN                   = 0, /* initial state */
1019*062a843bSAndroid Build Coastguard Worker     RIL_PERSOSUBSTATE_IN_PROGRESS               = 1, /* in between each lock transition */
1020*062a843bSAndroid Build Coastguard Worker     RIL_PERSOSUBSTATE_READY                     = 2, /* when either SIM or RUIM Perso is finished
1021*062a843bSAndroid Build Coastguard Worker                                                         since each app can only have 1 active perso
1022*062a843bSAndroid Build Coastguard Worker                                                         involved */
1023*062a843bSAndroid Build Coastguard Worker     RIL_PERSOSUBSTATE_SIM_NETWORK               = 3,
1024*062a843bSAndroid Build Coastguard Worker     RIL_PERSOSUBSTATE_SIM_NETWORK_SUBSET        = 4,
1025*062a843bSAndroid Build Coastguard Worker     RIL_PERSOSUBSTATE_SIM_CORPORATE             = 5,
1026*062a843bSAndroid Build Coastguard Worker     RIL_PERSOSUBSTATE_SIM_SERVICE_PROVIDER      = 6,
1027*062a843bSAndroid Build Coastguard Worker     RIL_PERSOSUBSTATE_SIM_SIM                   = 7,
1028*062a843bSAndroid Build Coastguard Worker     RIL_PERSOSUBSTATE_SIM_NETWORK_PUK           = 8, /* The corresponding perso lock is blocked */
1029*062a843bSAndroid Build Coastguard Worker     RIL_PERSOSUBSTATE_SIM_NETWORK_SUBSET_PUK    = 9,
1030*062a843bSAndroid Build Coastguard Worker     RIL_PERSOSUBSTATE_SIM_CORPORATE_PUK         = 10,
1031*062a843bSAndroid Build Coastguard Worker     RIL_PERSOSUBSTATE_SIM_SERVICE_PROVIDER_PUK  = 11,
1032*062a843bSAndroid Build Coastguard Worker     RIL_PERSOSUBSTATE_SIM_SIM_PUK               = 12,
1033*062a843bSAndroid Build Coastguard Worker     RIL_PERSOSUBSTATE_RUIM_NETWORK1             = 13,
1034*062a843bSAndroid Build Coastguard Worker     RIL_PERSOSUBSTATE_RUIM_NETWORK2             = 14,
1035*062a843bSAndroid Build Coastguard Worker     RIL_PERSOSUBSTATE_RUIM_HRPD                 = 15,
1036*062a843bSAndroid Build Coastguard Worker     RIL_PERSOSUBSTATE_RUIM_CORPORATE            = 16,
1037*062a843bSAndroid Build Coastguard Worker     RIL_PERSOSUBSTATE_RUIM_SERVICE_PROVIDER     = 17,
1038*062a843bSAndroid Build Coastguard Worker     RIL_PERSOSUBSTATE_RUIM_RUIM                 = 18,
1039*062a843bSAndroid Build Coastguard Worker     RIL_PERSOSUBSTATE_RUIM_NETWORK1_PUK         = 19, /* The corresponding perso lock is blocked */
1040*062a843bSAndroid Build Coastguard Worker     RIL_PERSOSUBSTATE_RUIM_NETWORK2_PUK         = 20,
1041*062a843bSAndroid Build Coastguard Worker     RIL_PERSOSUBSTATE_RUIM_HRPD_PUK             = 21,
1042*062a843bSAndroid Build Coastguard Worker     RIL_PERSOSUBSTATE_RUIM_CORPORATE_PUK        = 22,
1043*062a843bSAndroid Build Coastguard Worker     RIL_PERSOSUBSTATE_RUIM_SERVICE_PROVIDER_PUK = 23,
1044*062a843bSAndroid Build Coastguard Worker     RIL_PERSOSUBSTATE_RUIM_RUIM_PUK             = 24
1045*062a843bSAndroid Build Coastguard Worker } RIL_PersoSubstate;
1046*062a843bSAndroid Build Coastguard Worker 
1047*062a843bSAndroid Build Coastguard Worker typedef enum {
1048*062a843bSAndroid Build Coastguard Worker     RIL_APPSTATE_UNKNOWN               = 0,
1049*062a843bSAndroid Build Coastguard Worker     RIL_APPSTATE_DETECTED              = 1,
1050*062a843bSAndroid Build Coastguard Worker     RIL_APPSTATE_PIN                   = 2, /* If PIN1 or UPin is required */
1051*062a843bSAndroid Build Coastguard Worker     RIL_APPSTATE_PUK                   = 3, /* If PUK1 or Puk for UPin is required */
1052*062a843bSAndroid Build Coastguard Worker     RIL_APPSTATE_SUBSCRIPTION_PERSO    = 4, /* perso_substate should be look at
1053*062a843bSAndroid Build Coastguard Worker                                                when app_state is assigned to this value */
1054*062a843bSAndroid Build Coastguard Worker     RIL_APPSTATE_READY                 = 5
1055*062a843bSAndroid Build Coastguard Worker } RIL_AppState;
1056*062a843bSAndroid Build Coastguard Worker 
1057*062a843bSAndroid Build Coastguard Worker typedef enum {
1058*062a843bSAndroid Build Coastguard Worker     RIL_PINSTATE_UNKNOWN              = 0,
1059*062a843bSAndroid Build Coastguard Worker     RIL_PINSTATE_ENABLED_NOT_VERIFIED = 1,
1060*062a843bSAndroid Build Coastguard Worker     RIL_PINSTATE_ENABLED_VERIFIED     = 2,
1061*062a843bSAndroid Build Coastguard Worker     RIL_PINSTATE_DISABLED             = 3,
1062*062a843bSAndroid Build Coastguard Worker     RIL_PINSTATE_ENABLED_BLOCKED      = 4,
1063*062a843bSAndroid Build Coastguard Worker     RIL_PINSTATE_ENABLED_PERM_BLOCKED = 5
1064*062a843bSAndroid Build Coastguard Worker } RIL_PinState;
1065*062a843bSAndroid Build Coastguard Worker 
1066*062a843bSAndroid Build Coastguard Worker typedef enum {
1067*062a843bSAndroid Build Coastguard Worker   RIL_APPTYPE_UNKNOWN = 0,
1068*062a843bSAndroid Build Coastguard Worker   RIL_APPTYPE_SIM     = 1,
1069*062a843bSAndroid Build Coastguard Worker   RIL_APPTYPE_USIM    = 2,
1070*062a843bSAndroid Build Coastguard Worker   RIL_APPTYPE_RUIM    = 3,
1071*062a843bSAndroid Build Coastguard Worker   RIL_APPTYPE_CSIM    = 4,
1072*062a843bSAndroid Build Coastguard Worker   RIL_APPTYPE_ISIM    = 5
1073*062a843bSAndroid Build Coastguard Worker } RIL_AppType;
1074*062a843bSAndroid Build Coastguard Worker 
1075*062a843bSAndroid Build Coastguard Worker /*
1076*062a843bSAndroid Build Coastguard Worker  * Please note that registration state UNKNOWN is
1077*062a843bSAndroid Build Coastguard Worker  * treated as "out of service" in the Android telephony.
1078*062a843bSAndroid Build Coastguard Worker  * Registration state REG_DENIED must be returned if Location Update
1079*062a843bSAndroid Build Coastguard Worker  * Reject (with cause 17 - Network Failure) is received
1080*062a843bSAndroid Build Coastguard Worker  * repeatedly from the network, to facilitate
1081*062a843bSAndroid Build Coastguard Worker  * "managed roaming"
1082*062a843bSAndroid Build Coastguard Worker  */
1083*062a843bSAndroid Build Coastguard Worker typedef enum {
1084*062a843bSAndroid Build Coastguard Worker     RIL_NOT_REG_AND_NOT_SEARCHING = 0,           // Not registered, MT is not currently searching
1085*062a843bSAndroid Build Coastguard Worker                                                  // a new operator to register
1086*062a843bSAndroid Build Coastguard Worker     RIL_REG_HOME = 1,                            // Registered, home network
1087*062a843bSAndroid Build Coastguard Worker     RIL_NOT_REG_AND_SEARCHING = 2,               // Not registered, but MT is currently searching
1088*062a843bSAndroid Build Coastguard Worker                                                  // a new operator to register
1089*062a843bSAndroid Build Coastguard Worker     RIL_REG_DENIED = 3,                          // Registration denied
1090*062a843bSAndroid Build Coastguard Worker     RIL_UNKNOWN = 4,                             // Unknown
1091*062a843bSAndroid Build Coastguard Worker     RIL_REG_ROAMING = 5,                         // Registered, roaming
1092*062a843bSAndroid Build Coastguard Worker     RIL_NOT_REG_AND_EMERGENCY_AVAILABLE_AND_NOT_SEARCHING = 10,   // Same as
1093*062a843bSAndroid Build Coastguard Worker                                                  // RIL_NOT_REG_AND_NOT_SEARCHING but indicates that
1094*062a843bSAndroid Build Coastguard Worker                                                  // emergency calls are enabled.
1095*062a843bSAndroid Build Coastguard Worker     RIL_NOT_REG_AND_EMERGENCY_AVAILABLE_AND_SEARCHING = 12,  // Same as RIL_NOT_REG_AND_SEARCHING
1096*062a843bSAndroid Build Coastguard Worker                                                  // but indicates that
1097*062a843bSAndroid Build Coastguard Worker                                                  // emergency calls are enabled.
1098*062a843bSAndroid Build Coastguard Worker     RIL_REG_DENIED_AND_EMERGENCY_AVAILABLE = 13, // Same as REG_DENIED but indicates that
1099*062a843bSAndroid Build Coastguard Worker                                                  // emergency calls are enabled.
1100*062a843bSAndroid Build Coastguard Worker     RIL_UNKNOWN_AND_EMERGENCY_AVAILABLE = 14,    // Same as UNKNOWN but indicates that
1101*062a843bSAndroid Build Coastguard Worker                                                  // emergency calls are enabled.
1102*062a843bSAndroid Build Coastguard Worker } RIL_RegState;
1103*062a843bSAndroid Build Coastguard Worker 
1104*062a843bSAndroid Build Coastguard Worker typedef struct
1105*062a843bSAndroid Build Coastguard Worker {
1106*062a843bSAndroid Build Coastguard Worker   RIL_AppType      app_type;
1107*062a843bSAndroid Build Coastguard Worker   RIL_AppState     app_state;
1108*062a843bSAndroid Build Coastguard Worker   RIL_PersoSubstate perso_substate; /* applicable only if app_state ==
1109*062a843bSAndroid Build Coastguard Worker                                        RIL_APPSTATE_SUBSCRIPTION_PERSO */
1110*062a843bSAndroid Build Coastguard Worker   char             *aid_ptr;        /* null terminated string, e.g., from 0xA0, 0x00 -> 0x41,
1111*062a843bSAndroid Build Coastguard Worker                                        0x30, 0x30, 0x30 */
1112*062a843bSAndroid Build Coastguard Worker   char             *app_label_ptr;  /* null terminated string */
1113*062a843bSAndroid Build Coastguard Worker   int              pin1_replaced;   /* applicable to USIM, CSIM & ISIM */
1114*062a843bSAndroid Build Coastguard Worker   RIL_PinState     pin1;
1115*062a843bSAndroid Build Coastguard Worker   RIL_PinState     pin2;
1116*062a843bSAndroid Build Coastguard Worker } RIL_AppStatus;
1117*062a843bSAndroid Build Coastguard Worker 
1118*062a843bSAndroid Build Coastguard Worker /* Deprecated, use RIL_CardStatus_v6 */
1119*062a843bSAndroid Build Coastguard Worker typedef struct
1120*062a843bSAndroid Build Coastguard Worker {
1121*062a843bSAndroid Build Coastguard Worker   RIL_CardState card_state;
1122*062a843bSAndroid Build Coastguard Worker   RIL_PinState  universal_pin_state;             /* applicable to USIM and CSIM: RIL_PINSTATE_xxx */
1123*062a843bSAndroid Build Coastguard Worker   int           gsm_umts_subscription_app_index; /* value < RIL_CARD_MAX_APPS, -1 if none */
1124*062a843bSAndroid Build Coastguard Worker   int           cdma_subscription_app_index;     /* value < RIL_CARD_MAX_APPS, -1 if none */
1125*062a843bSAndroid Build Coastguard Worker   int           num_applications;                /* value <= RIL_CARD_MAX_APPS */
1126*062a843bSAndroid Build Coastguard Worker   RIL_AppStatus applications[RIL_CARD_MAX_APPS];
1127*062a843bSAndroid Build Coastguard Worker } RIL_CardStatus_v5;
1128*062a843bSAndroid Build Coastguard Worker 
1129*062a843bSAndroid Build Coastguard Worker typedef struct
1130*062a843bSAndroid Build Coastguard Worker {
1131*062a843bSAndroid Build Coastguard Worker   RIL_CardState card_state;
1132*062a843bSAndroid Build Coastguard Worker   RIL_PinState  universal_pin_state;             /* applicable to USIM and CSIM: RIL_PINSTATE_xxx */
1133*062a843bSAndroid Build Coastguard Worker   int           gsm_umts_subscription_app_index; /* value < RIL_CARD_MAX_APPS, -1 if none */
1134*062a843bSAndroid Build Coastguard Worker   int           cdma_subscription_app_index;     /* value < RIL_CARD_MAX_APPS, -1 if none */
1135*062a843bSAndroid Build Coastguard Worker   int           ims_subscription_app_index;      /* value < RIL_CARD_MAX_APPS, -1 if none */
1136*062a843bSAndroid Build Coastguard Worker   int           num_applications;                /* value <= RIL_CARD_MAX_APPS */
1137*062a843bSAndroid Build Coastguard Worker   RIL_AppStatus applications[RIL_CARD_MAX_APPS];
1138*062a843bSAndroid Build Coastguard Worker } RIL_CardStatus_v6;
1139*062a843bSAndroid Build Coastguard Worker 
1140*062a843bSAndroid Build Coastguard Worker /** The result of a SIM refresh, returned in data[0] of RIL_UNSOL_SIM_REFRESH
1141*062a843bSAndroid Build Coastguard Worker  *      or as part of RIL_SimRefreshResponse_v7
1142*062a843bSAndroid Build Coastguard Worker  */
1143*062a843bSAndroid Build Coastguard Worker typedef enum {
1144*062a843bSAndroid Build Coastguard Worker     /* A file on SIM has been updated.  data[1] contains the EFID. */
1145*062a843bSAndroid Build Coastguard Worker     SIM_FILE_UPDATE = 0,
1146*062a843bSAndroid Build Coastguard Worker     /* SIM initialized.  All files should be re-read. */
1147*062a843bSAndroid Build Coastguard Worker     SIM_INIT = 1,
1148*062a843bSAndroid Build Coastguard Worker     /* SIM reset.  SIM power required, SIM may be locked and all files should be re-read. */
1149*062a843bSAndroid Build Coastguard Worker     SIM_RESET = 2
1150*062a843bSAndroid Build Coastguard Worker } RIL_SimRefreshResult;
1151*062a843bSAndroid Build Coastguard Worker 
1152*062a843bSAndroid Build Coastguard Worker typedef struct {
1153*062a843bSAndroid Build Coastguard Worker     RIL_SimRefreshResult result;
1154*062a843bSAndroid Build Coastguard Worker     int                  ef_id; /* is the EFID of the updated file if the result is */
1155*062a843bSAndroid Build Coastguard Worker                                 /* SIM_FILE_UPDATE or 0 for any other result. */
1156*062a843bSAndroid Build Coastguard Worker     char *               aid;   /* is AID(application ID) of the card application */
1157*062a843bSAndroid Build Coastguard Worker                                 /* See ETSI 102.221 8.1 and 101.220 4 */
1158*062a843bSAndroid Build Coastguard Worker                                 /*     For SIM_FILE_UPDATE result it can be set to AID of */
1159*062a843bSAndroid Build Coastguard Worker                                 /*         application in which updated EF resides or it can be */
1160*062a843bSAndroid Build Coastguard Worker                                 /*         NULL if EF is outside of an application. */
1161*062a843bSAndroid Build Coastguard Worker                                 /*     For SIM_INIT result this field is set to AID of */
1162*062a843bSAndroid Build Coastguard Worker                                 /*         application that caused REFRESH */
1163*062a843bSAndroid Build Coastguard Worker                                 /*     For SIM_RESET result it is NULL. */
1164*062a843bSAndroid Build Coastguard Worker } RIL_SimRefreshResponse_v7;
1165*062a843bSAndroid Build Coastguard Worker 
1166*062a843bSAndroid Build Coastguard Worker /* Deprecated, use RIL_CDMA_CallWaiting_v6 */
1167*062a843bSAndroid Build Coastguard Worker typedef struct {
1168*062a843bSAndroid Build Coastguard Worker     char *          number;             /* Remote party number */
1169*062a843bSAndroid Build Coastguard Worker     int             numberPresentation; /* 0=Allowed, 1=Restricted, 2=Not Specified/Unknown */
1170*062a843bSAndroid Build Coastguard Worker     char *          name;               /* Remote party name */
1171*062a843bSAndroid Build Coastguard Worker     RIL_CDMA_SignalInfoRecord signalInfoRecord;
1172*062a843bSAndroid Build Coastguard Worker } RIL_CDMA_CallWaiting_v5;
1173*062a843bSAndroid Build Coastguard Worker 
1174*062a843bSAndroid Build Coastguard Worker typedef struct {
1175*062a843bSAndroid Build Coastguard Worker     char *          number;             /* Remote party number */
1176*062a843bSAndroid Build Coastguard Worker     int             numberPresentation; /* 0=Allowed, 1=Restricted, 2=Not Specified/Unknown */
1177*062a843bSAndroid Build Coastguard Worker     char *          name;               /* Remote party name */
1178*062a843bSAndroid Build Coastguard Worker     RIL_CDMA_SignalInfoRecord signalInfoRecord;
1179*062a843bSAndroid Build Coastguard Worker     /* Number type/Number plan required to support International Call Waiting */
1180*062a843bSAndroid Build Coastguard Worker     int             number_type;        /* 0=Unknown, 1=International, 2=National,
1181*062a843bSAndroid Build Coastguard Worker                                            3=Network specific, 4=subscriber */
1182*062a843bSAndroid Build Coastguard Worker     int             number_plan;        /* 0=Unknown, 1=ISDN, 3=Data, 4=Telex, 8=Nat'l, 9=Private */
1183*062a843bSAndroid Build Coastguard Worker } RIL_CDMA_CallWaiting_v6;
1184*062a843bSAndroid Build Coastguard Worker 
1185*062a843bSAndroid Build Coastguard Worker /**
1186*062a843bSAndroid Build Coastguard Worker  * Which types of Cell Broadcast Message (CBM) are to be received by the ME
1187*062a843bSAndroid Build Coastguard Worker  *
1188*062a843bSAndroid Build Coastguard Worker  * uFromServiceID - uToServiceID defines a range of CBM message identifiers
1189*062a843bSAndroid Build Coastguard Worker  * whose value is 0x0000 - 0xFFFF as defined in TS 23.041 9.4.1.2.2 for GMS
1190*062a843bSAndroid Build Coastguard Worker  * and 9.4.4.2.2 for UMTS. All other values can be treated as empty
1191*062a843bSAndroid Build Coastguard Worker  * CBM message ID.
1192*062a843bSAndroid Build Coastguard Worker  *
1193*062a843bSAndroid Build Coastguard Worker  * uFromCodeScheme - uToCodeScheme defines a range of CBM data coding schemes
1194*062a843bSAndroid Build Coastguard Worker  * whose value is 0x00 - 0xFF as defined in TS 23.041 9.4.1.2.3 for GMS
1195*062a843bSAndroid Build Coastguard Worker  * and 9.4.4.2.3 for UMTS.
1196*062a843bSAndroid Build Coastguard Worker  * All other values can be treated as empty CBM data coding scheme.
1197*062a843bSAndroid Build Coastguard Worker  *
1198*062a843bSAndroid Build Coastguard Worker  * selected 0 means message types specified in <fromServiceId, toServiceId>
1199*062a843bSAndroid Build Coastguard Worker  * and <fromCodeScheme, toCodeScheme>are not accepted, while 1 means accepted.
1200*062a843bSAndroid Build Coastguard Worker  *
1201*062a843bSAndroid Build Coastguard Worker  * Used by RIL_REQUEST_GSM_GET_BROADCAST_CONFIG and
1202*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_GSM_SET_BROADCAST_CONFIG.
1203*062a843bSAndroid Build Coastguard Worker  */
1204*062a843bSAndroid Build Coastguard Worker typedef struct {
1205*062a843bSAndroid Build Coastguard Worker     int fromServiceId;
1206*062a843bSAndroid Build Coastguard Worker     int toServiceId;
1207*062a843bSAndroid Build Coastguard Worker     int fromCodeScheme;
1208*062a843bSAndroid Build Coastguard Worker     int toCodeScheme;
1209*062a843bSAndroid Build Coastguard Worker     unsigned char selected;
1210*062a843bSAndroid Build Coastguard Worker } RIL_GSM_BroadcastSmsConfigInfo;
1211*062a843bSAndroid Build Coastguard Worker 
1212*062a843bSAndroid Build Coastguard Worker /* No restriction at all including voice/SMS/USSD/SS/AV64 and packet data. */
1213*062a843bSAndroid Build Coastguard Worker #define RIL_RESTRICTED_STATE_NONE           0x00
1214*062a843bSAndroid Build Coastguard Worker /* Block emergency call due to restriction. But allow all normal voice/SMS/USSD/SS/AV64. */
1215*062a843bSAndroid Build Coastguard Worker #define RIL_RESTRICTED_STATE_CS_EMERGENCY   0x01
1216*062a843bSAndroid Build Coastguard Worker /* Block all normal voice/SMS/USSD/SS/AV64 due to restriction. Only Emergency call allowed. */
1217*062a843bSAndroid Build Coastguard Worker #define RIL_RESTRICTED_STATE_CS_NORMAL      0x02
1218*062a843bSAndroid Build Coastguard Worker /* Block all voice/SMS/USSD/SS/AV64 including emergency call due to restriction.*/
1219*062a843bSAndroid Build Coastguard Worker #define RIL_RESTRICTED_STATE_CS_ALL         0x04
1220*062a843bSAndroid Build Coastguard Worker /* Block packet data access due to restriction. */
1221*062a843bSAndroid Build Coastguard Worker #define RIL_RESTRICTED_STATE_PS_ALL         0x10
1222*062a843bSAndroid Build Coastguard Worker 
1223*062a843bSAndroid Build Coastguard Worker /* The status for an OTASP/OTAPA session */
1224*062a843bSAndroid Build Coastguard Worker typedef enum {
1225*062a843bSAndroid Build Coastguard Worker     CDMA_OTA_PROVISION_STATUS_SPL_UNLOCKED,
1226*062a843bSAndroid Build Coastguard Worker     CDMA_OTA_PROVISION_STATUS_SPC_RETRIES_EXCEEDED,
1227*062a843bSAndroid Build Coastguard Worker     CDMA_OTA_PROVISION_STATUS_A_KEY_EXCHANGED,
1228*062a843bSAndroid Build Coastguard Worker     CDMA_OTA_PROVISION_STATUS_SSD_UPDATED,
1229*062a843bSAndroid Build Coastguard Worker     CDMA_OTA_PROVISION_STATUS_NAM_DOWNLOADED,
1230*062a843bSAndroid Build Coastguard Worker     CDMA_OTA_PROVISION_STATUS_MDN_DOWNLOADED,
1231*062a843bSAndroid Build Coastguard Worker     CDMA_OTA_PROVISION_STATUS_IMSI_DOWNLOADED,
1232*062a843bSAndroid Build Coastguard Worker     CDMA_OTA_PROVISION_STATUS_PRL_DOWNLOADED,
1233*062a843bSAndroid Build Coastguard Worker     CDMA_OTA_PROVISION_STATUS_COMMITTED,
1234*062a843bSAndroid Build Coastguard Worker     CDMA_OTA_PROVISION_STATUS_OTAPA_STARTED,
1235*062a843bSAndroid Build Coastguard Worker     CDMA_OTA_PROVISION_STATUS_OTAPA_STOPPED,
1236*062a843bSAndroid Build Coastguard Worker     CDMA_OTA_PROVISION_STATUS_OTAPA_ABORTED
1237*062a843bSAndroid Build Coastguard Worker } RIL_CDMA_OTA_ProvisionStatus;
1238*062a843bSAndroid Build Coastguard Worker 
1239*062a843bSAndroid Build Coastguard Worker typedef struct {
1240*062a843bSAndroid Build Coastguard Worker     int signalStrength;  /* Valid values are (0-31, 99) as defined in TS 27.007 8.5 */
1241*062a843bSAndroid Build Coastguard Worker     int bitErrorRate;    /* bit error rate (0-7, 99) as defined in TS 27.007 8.5 */
1242*062a843bSAndroid Build Coastguard Worker } RIL_GW_SignalStrength;
1243*062a843bSAndroid Build Coastguard Worker 
1244*062a843bSAndroid Build Coastguard Worker typedef struct {
1245*062a843bSAndroid Build Coastguard Worker     int signalStrength;  /* Valid values are (0-31, 99) as defined in TS 27.007 8.5 */
1246*062a843bSAndroid Build Coastguard Worker     int bitErrorRate;    /* bit error rate (0-7, 99) as defined in TS 27.007 8.5 */
1247*062a843bSAndroid Build Coastguard Worker     int timingAdvance;   /* Timing Advance in bit periods. 1 bit period = 48/13 us.
1248*062a843bSAndroid Build Coastguard Worker                           * INT_MAX denotes invalid value */
1249*062a843bSAndroid Build Coastguard Worker } RIL_GSM_SignalStrength_v12;
1250*062a843bSAndroid Build Coastguard Worker 
1251*062a843bSAndroid Build Coastguard Worker typedef struct {
1252*062a843bSAndroid Build Coastguard Worker     int signalStrength;  /* Valid values are (0-31, 99) as defined in TS 27.007 8.5 */
1253*062a843bSAndroid Build Coastguard Worker     int bitErrorRate;    /* bit error rate (0-7, 99) as defined in TS 27.007 8.5 */
1254*062a843bSAndroid Build Coastguard Worker } RIL_SignalStrengthWcdma;
1255*062a843bSAndroid Build Coastguard Worker 
1256*062a843bSAndroid Build Coastguard Worker typedef struct {
1257*062a843bSAndroid Build Coastguard Worker     int dbm;  /* Valid values are positive integers.  This value is the actual RSSI value
1258*062a843bSAndroid Build Coastguard Worker                * multiplied by -1.  Example: If the actual RSSI is -75, then this response
1259*062a843bSAndroid Build Coastguard Worker                * value will be 75.
1260*062a843bSAndroid Build Coastguard Worker                */
1261*062a843bSAndroid Build Coastguard Worker     int ecio; /* Valid values are positive integers.  This value is the actual Ec/Io multiplied
1262*062a843bSAndroid Build Coastguard Worker                * by -10.  Example: If the actual Ec/Io is -12.5 dB, then this response value
1263*062a843bSAndroid Build Coastguard Worker                * will be 125.
1264*062a843bSAndroid Build Coastguard Worker                */
1265*062a843bSAndroid Build Coastguard Worker } RIL_CDMA_SignalStrength;
1266*062a843bSAndroid Build Coastguard Worker 
1267*062a843bSAndroid Build Coastguard Worker 
1268*062a843bSAndroid Build Coastguard Worker typedef struct {
1269*062a843bSAndroid Build Coastguard Worker     int dbm;  /* Valid values are positive integers.  This value is the actual RSSI value
1270*062a843bSAndroid Build Coastguard Worker                * multiplied by -1.  Example: If the actual RSSI is -75, then this response
1271*062a843bSAndroid Build Coastguard Worker                * value will be 75.
1272*062a843bSAndroid Build Coastguard Worker                */
1273*062a843bSAndroid Build Coastguard Worker     int ecio; /* Valid values are positive integers.  This value is the actual Ec/Io multiplied
1274*062a843bSAndroid Build Coastguard Worker                * by -10.  Example: If the actual Ec/Io is -12.5 dB, then this response value
1275*062a843bSAndroid Build Coastguard Worker                * will be 125.
1276*062a843bSAndroid Build Coastguard Worker                */
1277*062a843bSAndroid Build Coastguard Worker     int signalNoiseRatio; /* Valid values are 0-8.  8 is the highest signal to noise ratio. */
1278*062a843bSAndroid Build Coastguard Worker } RIL_EVDO_SignalStrength;
1279*062a843bSAndroid Build Coastguard Worker 
1280*062a843bSAndroid Build Coastguard Worker typedef struct {
1281*062a843bSAndroid Build Coastguard Worker     int signalStrength;  /* Valid values are (0-31, 99) as defined in TS 27.007 8.5 */
1282*062a843bSAndroid Build Coastguard Worker     int rsrp;            /* The current Reference Signal Receive Power in dBm multipled by -1.
1283*062a843bSAndroid Build Coastguard Worker                           * Range: 44 to 140 dBm
1284*062a843bSAndroid Build Coastguard Worker                           * INT_MAX: 0x7FFFFFFF denotes invalid value.
1285*062a843bSAndroid Build Coastguard Worker                           * Reference: 3GPP TS 36.133 9.1.4 */
1286*062a843bSAndroid Build Coastguard Worker     int rsrq;            /* The current Reference Signal Receive Quality in dB multiplied by -1.
1287*062a843bSAndroid Build Coastguard Worker                           * Range: 20 to 3 dB.
1288*062a843bSAndroid Build Coastguard Worker                           * INT_MAX: 0x7FFFFFFF denotes invalid value.
1289*062a843bSAndroid Build Coastguard Worker                           * Reference: 3GPP TS 36.133 9.1.7 */
1290*062a843bSAndroid Build Coastguard Worker     int rssnr;           /* The current reference signal signal-to-noise ratio in 0.1 dB units.
1291*062a843bSAndroid Build Coastguard Worker                           * Range: -200 to +300 (-200 = -20.0 dB, +300 = 30dB).
1292*062a843bSAndroid Build Coastguard Worker                           * INT_MAX : 0x7FFFFFFF denotes invalid value.
1293*062a843bSAndroid Build Coastguard Worker                           * Reference: 3GPP TS 36.101 8.1.1 */
1294*062a843bSAndroid Build Coastguard Worker     int cqi;             /* The current Channel Quality Indicator.
1295*062a843bSAndroid Build Coastguard Worker                           * Range: 0 to 15.
1296*062a843bSAndroid Build Coastguard Worker                           * INT_MAX : 0x7FFFFFFF denotes invalid value.
1297*062a843bSAndroid Build Coastguard Worker                           * Reference: 3GPP TS 36.101 9.2, 9.3, A.4 */
1298*062a843bSAndroid Build Coastguard Worker } RIL_LTE_SignalStrength;
1299*062a843bSAndroid Build Coastguard Worker 
1300*062a843bSAndroid Build Coastguard Worker typedef struct {
1301*062a843bSAndroid Build Coastguard Worker     int signalStrength;  /* Valid values are (0-31, 99) as defined in TS 27.007 8.5 */
1302*062a843bSAndroid Build Coastguard Worker     int rsrp;            /* The current Reference Signal Receive Power in dBm multipled by -1.
1303*062a843bSAndroid Build Coastguard Worker                           * Range: 44 to 140 dBm
1304*062a843bSAndroid Build Coastguard Worker                           * INT_MAX: 0x7FFFFFFF denotes invalid value.
1305*062a843bSAndroid Build Coastguard Worker                           * Reference: 3GPP TS 36.133 9.1.4 */
1306*062a843bSAndroid Build Coastguard Worker     int rsrq;            /* The current Reference Signal Receive Quality in dB multiplied by -1.
1307*062a843bSAndroid Build Coastguard Worker                           * Range: 20 to 3 dB.
1308*062a843bSAndroid Build Coastguard Worker                           * INT_MAX: 0x7FFFFFFF denotes invalid value.
1309*062a843bSAndroid Build Coastguard Worker                           * Reference: 3GPP TS 36.133 9.1.7 */
1310*062a843bSAndroid Build Coastguard Worker     int rssnr;           /* The current reference signal signal-to-noise ratio in 0.1 dB units.
1311*062a843bSAndroid Build Coastguard Worker                           * Range: -200 to +300 (-200 = -20.0 dB, +300 = 30dB).
1312*062a843bSAndroid Build Coastguard Worker                           * INT_MAX : 0x7FFFFFFF denotes invalid value.
1313*062a843bSAndroid Build Coastguard Worker                           * Reference: 3GPP TS 36.101 8.1.1 */
1314*062a843bSAndroid Build Coastguard Worker     int cqi;             /* The current Channel Quality Indicator.
1315*062a843bSAndroid Build Coastguard Worker                           * Range: 0 to 15.
1316*062a843bSAndroid Build Coastguard Worker                           * INT_MAX : 0x7FFFFFFF denotes invalid value.
1317*062a843bSAndroid Build Coastguard Worker                           * Reference: 3GPP TS 36.101 9.2, 9.3, A.4 */
1318*062a843bSAndroid Build Coastguard Worker     int timingAdvance;   /* timing advance in micro seconds for a one way trip from cell to device.
1319*062a843bSAndroid Build Coastguard Worker                           * Approximate distance can be calculated using 300m/us * timingAdvance.
1320*062a843bSAndroid Build Coastguard Worker                           * Range: 0 to 0x7FFFFFFE
1321*062a843bSAndroid Build Coastguard Worker                           * INT_MAX : 0x7FFFFFFF denotes invalid value.
1322*062a843bSAndroid Build Coastguard Worker                           * Reference: 3GPP 36.321 section 6.1.3.5
1323*062a843bSAndroid Build Coastguard Worker                           * also: http://www.cellular-planningoptimization.com/2010/02/timing-advance-with-calculation.html */
1324*062a843bSAndroid Build Coastguard Worker } RIL_LTE_SignalStrength_v8;
1325*062a843bSAndroid Build Coastguard Worker 
1326*062a843bSAndroid Build Coastguard Worker typedef struct {
1327*062a843bSAndroid Build Coastguard Worker     int rscp;    /* The Received Signal Code Power in dBm multipled by -1.
1328*062a843bSAndroid Build Coastguard Worker                   * Range : 25 to 120
1329*062a843bSAndroid Build Coastguard Worker                   * INT_MAX: 0x7FFFFFFF denotes invalid value.
1330*062a843bSAndroid Build Coastguard Worker                   * Reference: 3GPP TS 25.123, section 9.1.1.1 */
1331*062a843bSAndroid Build Coastguard Worker } RIL_TD_SCDMA_SignalStrength;
1332*062a843bSAndroid Build Coastguard Worker 
1333*062a843bSAndroid Build Coastguard Worker /* Deprecated, use RIL_SignalStrength_v6 */
1334*062a843bSAndroid Build Coastguard Worker typedef struct {
1335*062a843bSAndroid Build Coastguard Worker     RIL_GW_SignalStrength   GW_SignalStrength;
1336*062a843bSAndroid Build Coastguard Worker     RIL_CDMA_SignalStrength CDMA_SignalStrength;
1337*062a843bSAndroid Build Coastguard Worker     RIL_EVDO_SignalStrength EVDO_SignalStrength;
1338*062a843bSAndroid Build Coastguard Worker } RIL_SignalStrength_v5;
1339*062a843bSAndroid Build Coastguard Worker 
1340*062a843bSAndroid Build Coastguard Worker typedef struct {
1341*062a843bSAndroid Build Coastguard Worker     RIL_GW_SignalStrength   GW_SignalStrength;
1342*062a843bSAndroid Build Coastguard Worker     RIL_CDMA_SignalStrength CDMA_SignalStrength;
1343*062a843bSAndroid Build Coastguard Worker     RIL_EVDO_SignalStrength EVDO_SignalStrength;
1344*062a843bSAndroid Build Coastguard Worker     RIL_LTE_SignalStrength  LTE_SignalStrength;
1345*062a843bSAndroid Build Coastguard Worker } RIL_SignalStrength_v6;
1346*062a843bSAndroid Build Coastguard Worker 
1347*062a843bSAndroid Build Coastguard Worker typedef struct {
1348*062a843bSAndroid Build Coastguard Worker     RIL_GW_SignalStrength       GW_SignalStrength;
1349*062a843bSAndroid Build Coastguard Worker     RIL_CDMA_SignalStrength     CDMA_SignalStrength;
1350*062a843bSAndroid Build Coastguard Worker     RIL_EVDO_SignalStrength     EVDO_SignalStrength;
1351*062a843bSAndroid Build Coastguard Worker     RIL_LTE_SignalStrength_v8   LTE_SignalStrength;
1352*062a843bSAndroid Build Coastguard Worker } RIL_SignalStrength_v8;
1353*062a843bSAndroid Build Coastguard Worker 
1354*062a843bSAndroid Build Coastguard Worker typedef struct {
1355*062a843bSAndroid Build Coastguard Worker     RIL_GW_SignalStrength       GW_SignalStrength;
1356*062a843bSAndroid Build Coastguard Worker     RIL_CDMA_SignalStrength     CDMA_SignalStrength;
1357*062a843bSAndroid Build Coastguard Worker     RIL_EVDO_SignalStrength     EVDO_SignalStrength;
1358*062a843bSAndroid Build Coastguard Worker     RIL_LTE_SignalStrength_v8   LTE_SignalStrength;
1359*062a843bSAndroid Build Coastguard Worker     RIL_TD_SCDMA_SignalStrength TD_SCDMA_SignalStrength;
1360*062a843bSAndroid Build Coastguard Worker } RIL_SignalStrength_v10;
1361*062a843bSAndroid Build Coastguard Worker 
1362*062a843bSAndroid Build Coastguard Worker typedef struct {
1363*062a843bSAndroid Build Coastguard Worker     int mcc;    /* 3-digit Mobile Country Code, 0..999, INT_MAX if unknown */
1364*062a843bSAndroid Build Coastguard Worker     int mnc;    /* 2 or 3-digit Mobile Network Code, 0..999;
1365*062a843bSAndroid Build Coastguard Worker                    the most significant nibble encodes the number of digits - {2, 3, 0 (unset)};
1366*062a843bSAndroid Build Coastguard Worker                    INT_MAX if unknown */
1367*062a843bSAndroid Build Coastguard Worker     int lac;    /* 16-bit Location Area Code, 0..65535, INT_MAX if unknown  */
1368*062a843bSAndroid Build Coastguard Worker     int cid;    /* 16-bit GSM Cell Identity described in TS 27.007, 0..65535, INT_MAX if unknown  */
1369*062a843bSAndroid Build Coastguard Worker } RIL_CellIdentityGsm;
1370*062a843bSAndroid Build Coastguard Worker 
1371*062a843bSAndroid Build Coastguard Worker typedef struct {
1372*062a843bSAndroid Build Coastguard Worker     int mcc;    /* 3-digit Mobile Country Code, 0..999, INT_MAX if unknown */
1373*062a843bSAndroid Build Coastguard Worker     int mnc;    /* 2 or 3-digit Mobile Network Code, 0..999;
1374*062a843bSAndroid Build Coastguard Worker                    the most significant nibble encodes the number of digits - {2, 3, 0 (unset)};
1375*062a843bSAndroid Build Coastguard Worker                    INT_MAX if unknown */
1376*062a843bSAndroid Build Coastguard Worker     int lac;    /* 16-bit Location Area Code, 0..65535, INT_MAX if unknown  */
1377*062a843bSAndroid Build Coastguard Worker     int cid;    /* 16-bit GSM Cell Identity described in TS 27.007, 0..65535, INT_MAX if unknown  */
1378*062a843bSAndroid Build Coastguard Worker     int arfcn;  /* 16-bit GSM Absolute RF channel number; this value must be reported */
1379*062a843bSAndroid Build Coastguard Worker     uint8_t bsic; /* 6-bit Base Station Identity Code; 0xFF if unknown */
1380*062a843bSAndroid Build Coastguard Worker } RIL_CellIdentityGsm_v12;
1381*062a843bSAndroid Build Coastguard Worker 
1382*062a843bSAndroid Build Coastguard Worker typedef struct {
1383*062a843bSAndroid Build Coastguard Worker     int mcc;    /* 3-digit Mobile Country Code, 0..999, INT_MAX if unknown  */
1384*062a843bSAndroid Build Coastguard Worker     int mnc;    /* 2 or 3-digit Mobile Network Code, 0..999;
1385*062a843bSAndroid Build Coastguard Worker                    the most significant nibble encodes the number of digits - {2, 3, 0 (unset)};
1386*062a843bSAndroid Build Coastguard Worker                    INT_MAX if unknown */
1387*062a843bSAndroid Build Coastguard Worker     int lac;    /* 16-bit Location Area Code, 0..65535, INT_MAX if unknown  */
1388*062a843bSAndroid Build Coastguard Worker     int cid;    /* 28-bit UMTS Cell Identity described in TS 25.331, 0..268435455, INT_MAX if unknown  */
1389*062a843bSAndroid Build Coastguard Worker     int psc;    /* 9-bit UMTS Primary Scrambling Code described in TS 25.331, 0..511, INT_MAX if unknown */
1390*062a843bSAndroid Build Coastguard Worker } RIL_CellIdentityWcdma;
1391*062a843bSAndroid Build Coastguard Worker 
1392*062a843bSAndroid Build Coastguard Worker typedef struct {
1393*062a843bSAndroid Build Coastguard Worker     int mcc;    /* 3-digit Mobile Country Code, 0..999, INT_MAX if unknown  */
1394*062a843bSAndroid Build Coastguard Worker     int mnc;    /* 2 or 3-digit Mobile Network Code, 0..999;
1395*062a843bSAndroid Build Coastguard Worker                    the most significant nibble encodes the number of digits - {2, 3, 0 (unset)};
1396*062a843bSAndroid Build Coastguard Worker                    INT_MAX if unknown */
1397*062a843bSAndroid Build Coastguard Worker     int lac;    /* 16-bit Location Area Code, 0..65535, INT_MAX if unknown  */
1398*062a843bSAndroid Build Coastguard Worker     int cid;    /* 28-bit UMTS Cell Identity described in TS 25.331, 0..268435455, INT_MAX if unknown  */
1399*062a843bSAndroid Build Coastguard Worker     int psc;    /* 9-bit UMTS Primary Scrambling Code described in TS 25.331, 0..511; this value must be reported */
1400*062a843bSAndroid Build Coastguard Worker     int uarfcn; /* 16-bit UMTS Absolute RF Channel Number; this value must be reported */
1401*062a843bSAndroid Build Coastguard Worker } RIL_CellIdentityWcdma_v12;
1402*062a843bSAndroid Build Coastguard Worker 
1403*062a843bSAndroid Build Coastguard Worker typedef struct {
1404*062a843bSAndroid Build Coastguard Worker     int networkId;      /* Network Id 0..65535, INT_MAX if unknown */
1405*062a843bSAndroid Build Coastguard Worker     int systemId;       /* CDMA System Id 0..32767, INT_MAX if unknown  */
1406*062a843bSAndroid Build Coastguard Worker     int basestationId;  /* Base Station Id 0..65535, INT_MAX if unknown  */
1407*062a843bSAndroid Build Coastguard Worker     int longitude;      /* Longitude is a decimal number as specified in 3GPP2 C.S0005-A v6.0.
1408*062a843bSAndroid Build Coastguard Worker                          * It is represented in units of 0.25 seconds and ranges from -2592000
1409*062a843bSAndroid Build Coastguard Worker                          * to 2592000, both values inclusive (corresponding to a range of -180
1410*062a843bSAndroid Build Coastguard Worker                          * to +180 degrees). INT_MAX if unknown */
1411*062a843bSAndroid Build Coastguard Worker 
1412*062a843bSAndroid Build Coastguard Worker     int latitude;       /* Latitude is a decimal number as specified in 3GPP2 C.S0005-A v6.0.
1413*062a843bSAndroid Build Coastguard Worker                          * It is represented in units of 0.25 seconds and ranges from -1296000
1414*062a843bSAndroid Build Coastguard Worker                          * to 1296000, both values inclusive (corresponding to a range of -90
1415*062a843bSAndroid Build Coastguard Worker                          * to +90 degrees). INT_MAX if unknown */
1416*062a843bSAndroid Build Coastguard Worker } RIL_CellIdentityCdma;
1417*062a843bSAndroid Build Coastguard Worker 
1418*062a843bSAndroid Build Coastguard Worker typedef struct {
1419*062a843bSAndroid Build Coastguard Worker     int mcc;    /* 3-digit Mobile Country Code, 0..999, INT_MAX if unknown  */
1420*062a843bSAndroid Build Coastguard Worker     int mnc;    /* 2 or 3-digit Mobile Network Code, 0..999;
1421*062a843bSAndroid Build Coastguard Worker                    the most significant nibble encodes the number of digits - {2, 3, 0 (unset)};
1422*062a843bSAndroid Build Coastguard Worker                    INT_MAX if unknown */
1423*062a843bSAndroid Build Coastguard Worker     int ci;     /* 28-bit Cell Identity described in TS ???, INT_MAX if unknown */
1424*062a843bSAndroid Build Coastguard Worker     int pci;    /* physical cell id 0..503, INT_MAX if unknown  */
1425*062a843bSAndroid Build Coastguard Worker     int tac;    /* 16-bit tracking area code, INT_MAX if unknown  */
1426*062a843bSAndroid Build Coastguard Worker } RIL_CellIdentityLte;
1427*062a843bSAndroid Build Coastguard Worker 
1428*062a843bSAndroid Build Coastguard Worker typedef struct {
1429*062a843bSAndroid Build Coastguard Worker     int mcc;    /* 3-digit Mobile Country Code, 0..999, INT_MAX if unknown  */
1430*062a843bSAndroid Build Coastguard Worker     int mnc;    /* 2 or 3-digit Mobile Network Code, 0..999;
1431*062a843bSAndroid Build Coastguard Worker                    the most significant nibble encodes the number of digits - {2, 3, 0 (unset)};
1432*062a843bSAndroid Build Coastguard Worker                    INT_MAX if unknown */
1433*062a843bSAndroid Build Coastguard Worker     int ci;     /* 28-bit Cell Identity described in TS ???, INT_MAX if unknown */
1434*062a843bSAndroid Build Coastguard Worker     int pci;    /* physical cell id 0..503; this value must be reported */
1435*062a843bSAndroid Build Coastguard Worker     int tac;    /* 16-bit tracking area code, INT_MAX if unknown  */
1436*062a843bSAndroid Build Coastguard Worker     int earfcn; /* 18-bit LTE Absolute RF Channel Number; this value must be reported */
1437*062a843bSAndroid Build Coastguard Worker } RIL_CellIdentityLte_v12;
1438*062a843bSAndroid Build Coastguard Worker 
1439*062a843bSAndroid Build Coastguard Worker typedef struct {
1440*062a843bSAndroid Build Coastguard Worker     int mcc;    /* 3-digit Mobile Country Code, 0..999, INT_MAX if unknown  */
1441*062a843bSAndroid Build Coastguard Worker     int mnc;    /* 2 or 3-digit Mobile Network Code, 0..999;
1442*062a843bSAndroid Build Coastguard Worker                    the most significant nibble encodes the number of digits - {2, 3, 0 (unset)};
1443*062a843bSAndroid Build Coastguard Worker                    INT_MAX if unknown */
1444*062a843bSAndroid Build Coastguard Worker     int lac;    /* 16-bit Location Area Code, 0..65535, INT_MAX if unknown  */
1445*062a843bSAndroid Build Coastguard Worker     int cid;    /* 28-bit UMTS Cell Identity described in TS 25.331, 0..268435455, INT_MAX if unknown  */
1446*062a843bSAndroid Build Coastguard Worker     int cpid;    /* 8-bit Cell Parameters ID described in TS 25.331, 0..127, INT_MAX if unknown */
1447*062a843bSAndroid Build Coastguard Worker } RIL_CellIdentityTdscdma;
1448*062a843bSAndroid Build Coastguard Worker 
1449*062a843bSAndroid Build Coastguard Worker typedef struct {
1450*062a843bSAndroid Build Coastguard Worker   RIL_CellIdentityGsm   cellIdentityGsm;
1451*062a843bSAndroid Build Coastguard Worker   RIL_GW_SignalStrength signalStrengthGsm;
1452*062a843bSAndroid Build Coastguard Worker } RIL_CellInfoGsm;
1453*062a843bSAndroid Build Coastguard Worker 
1454*062a843bSAndroid Build Coastguard Worker typedef struct {
1455*062a843bSAndroid Build Coastguard Worker   RIL_CellIdentityGsm_v12   cellIdentityGsm;
1456*062a843bSAndroid Build Coastguard Worker   RIL_GSM_SignalStrength_v12 signalStrengthGsm;
1457*062a843bSAndroid Build Coastguard Worker } RIL_CellInfoGsm_v12;
1458*062a843bSAndroid Build Coastguard Worker 
1459*062a843bSAndroid Build Coastguard Worker typedef struct {
1460*062a843bSAndroid Build Coastguard Worker   RIL_CellIdentityWcdma cellIdentityWcdma;
1461*062a843bSAndroid Build Coastguard Worker   RIL_SignalStrengthWcdma signalStrengthWcdma;
1462*062a843bSAndroid Build Coastguard Worker } RIL_CellInfoWcdma;
1463*062a843bSAndroid Build Coastguard Worker 
1464*062a843bSAndroid Build Coastguard Worker typedef struct {
1465*062a843bSAndroid Build Coastguard Worker   RIL_CellIdentityWcdma_v12 cellIdentityWcdma;
1466*062a843bSAndroid Build Coastguard Worker   RIL_SignalStrengthWcdma signalStrengthWcdma;
1467*062a843bSAndroid Build Coastguard Worker } RIL_CellInfoWcdma_v12;
1468*062a843bSAndroid Build Coastguard Worker 
1469*062a843bSAndroid Build Coastguard Worker typedef struct {
1470*062a843bSAndroid Build Coastguard Worker   RIL_CellIdentityCdma      cellIdentityCdma;
1471*062a843bSAndroid Build Coastguard Worker   RIL_CDMA_SignalStrength   signalStrengthCdma;
1472*062a843bSAndroid Build Coastguard Worker   RIL_EVDO_SignalStrength   signalStrengthEvdo;
1473*062a843bSAndroid Build Coastguard Worker } RIL_CellInfoCdma;
1474*062a843bSAndroid Build Coastguard Worker 
1475*062a843bSAndroid Build Coastguard Worker typedef struct {
1476*062a843bSAndroid Build Coastguard Worker   RIL_CellIdentityLte        cellIdentityLte;
1477*062a843bSAndroid Build Coastguard Worker   RIL_LTE_SignalStrength_v8  signalStrengthLte;
1478*062a843bSAndroid Build Coastguard Worker } RIL_CellInfoLte;
1479*062a843bSAndroid Build Coastguard Worker 
1480*062a843bSAndroid Build Coastguard Worker typedef struct {
1481*062a843bSAndroid Build Coastguard Worker   RIL_CellIdentityLte_v12    cellIdentityLte;
1482*062a843bSAndroid Build Coastguard Worker   RIL_LTE_SignalStrength_v8  signalStrengthLte;
1483*062a843bSAndroid Build Coastguard Worker } RIL_CellInfoLte_v12;
1484*062a843bSAndroid Build Coastguard Worker 
1485*062a843bSAndroid Build Coastguard Worker typedef struct {
1486*062a843bSAndroid Build Coastguard Worker   RIL_CellIdentityTdscdma cellIdentityTdscdma;
1487*062a843bSAndroid Build Coastguard Worker   RIL_TD_SCDMA_SignalStrength signalStrengthTdscdma;
1488*062a843bSAndroid Build Coastguard Worker } RIL_CellInfoTdscdma;
1489*062a843bSAndroid Build Coastguard Worker 
1490*062a843bSAndroid Build Coastguard Worker // Must be the same as CellInfo.TYPE_XXX
1491*062a843bSAndroid Build Coastguard Worker typedef enum {
1492*062a843bSAndroid Build Coastguard Worker   RIL_CELL_INFO_TYPE_NONE   = 0, /* indicates no cell information */
1493*062a843bSAndroid Build Coastguard Worker   RIL_CELL_INFO_TYPE_GSM    = 1,
1494*062a843bSAndroid Build Coastguard Worker   RIL_CELL_INFO_TYPE_CDMA   = 2,
1495*062a843bSAndroid Build Coastguard Worker   RIL_CELL_INFO_TYPE_LTE    = 3,
1496*062a843bSAndroid Build Coastguard Worker   RIL_CELL_INFO_TYPE_WCDMA  = 4,
1497*062a843bSAndroid Build Coastguard Worker   RIL_CELL_INFO_TYPE_TD_SCDMA  = 5
1498*062a843bSAndroid Build Coastguard Worker } RIL_CellInfoType;
1499*062a843bSAndroid Build Coastguard Worker 
1500*062a843bSAndroid Build Coastguard Worker // Must be the same as CellInfo.TIMESTAMP_TYPE_XXX
1501*062a843bSAndroid Build Coastguard Worker typedef enum {
1502*062a843bSAndroid Build Coastguard Worker     RIL_TIMESTAMP_TYPE_UNKNOWN = 0,
1503*062a843bSAndroid Build Coastguard Worker     RIL_TIMESTAMP_TYPE_ANTENNA = 1,
1504*062a843bSAndroid Build Coastguard Worker     RIL_TIMESTAMP_TYPE_MODEM = 2,
1505*062a843bSAndroid Build Coastguard Worker     RIL_TIMESTAMP_TYPE_OEM_RIL = 3,
1506*062a843bSAndroid Build Coastguard Worker     RIL_TIMESTAMP_TYPE_JAVA_RIL = 4,
1507*062a843bSAndroid Build Coastguard Worker } RIL_TimeStampType;
1508*062a843bSAndroid Build Coastguard Worker 
1509*062a843bSAndroid Build Coastguard Worker typedef struct {
1510*062a843bSAndroid Build Coastguard Worker   RIL_CellInfoType  cellInfoType;   /* cell type for selecting from union CellInfo */
1511*062a843bSAndroid Build Coastguard Worker   int               registered;     /* !0 if this cell is registered 0 if not registered */
1512*062a843bSAndroid Build Coastguard Worker   RIL_TimeStampType timeStampType;  /* type of time stamp represented by timeStamp */
1513*062a843bSAndroid Build Coastguard Worker   uint64_t          timeStamp;      /* Time in nanos as returned by ril_nano_time */
1514*062a843bSAndroid Build Coastguard Worker   union {
1515*062a843bSAndroid Build Coastguard Worker     RIL_CellInfoGsm     gsm;
1516*062a843bSAndroid Build Coastguard Worker     RIL_CellInfoCdma    cdma;
1517*062a843bSAndroid Build Coastguard Worker     RIL_CellInfoLte     lte;
1518*062a843bSAndroid Build Coastguard Worker     RIL_CellInfoWcdma   wcdma;
1519*062a843bSAndroid Build Coastguard Worker     RIL_CellInfoTdscdma tdscdma;
1520*062a843bSAndroid Build Coastguard Worker   } CellInfo;
1521*062a843bSAndroid Build Coastguard Worker } RIL_CellInfo;
1522*062a843bSAndroid Build Coastguard Worker 
1523*062a843bSAndroid Build Coastguard Worker typedef struct {
1524*062a843bSAndroid Build Coastguard Worker   RIL_CellInfoType  cellInfoType;   /* cell type for selecting from union CellInfo */
1525*062a843bSAndroid Build Coastguard Worker   int               registered;     /* !0 if this cell is registered 0 if not registered */
1526*062a843bSAndroid Build Coastguard Worker   RIL_TimeStampType timeStampType;  /* type of time stamp represented by timeStamp */
1527*062a843bSAndroid Build Coastguard Worker   uint64_t          timeStamp;      /* Time in nanos as returned by ril_nano_time */
1528*062a843bSAndroid Build Coastguard Worker   union {
1529*062a843bSAndroid Build Coastguard Worker     RIL_CellInfoGsm_v12     gsm;
1530*062a843bSAndroid Build Coastguard Worker     RIL_CellInfoCdma        cdma;
1531*062a843bSAndroid Build Coastguard Worker     RIL_CellInfoLte_v12     lte;
1532*062a843bSAndroid Build Coastguard Worker     RIL_CellInfoWcdma_v12   wcdma;
1533*062a843bSAndroid Build Coastguard Worker     RIL_CellInfoTdscdma     tdscdma;
1534*062a843bSAndroid Build Coastguard Worker   } CellInfo;
1535*062a843bSAndroid Build Coastguard Worker } RIL_CellInfo_v12;
1536*062a843bSAndroid Build Coastguard Worker 
1537*062a843bSAndroid Build Coastguard Worker typedef struct {
1538*062a843bSAndroid Build Coastguard Worker   RIL_CellInfoType  cellInfoType;   /* cell type for selecting from union CellInfo */
1539*062a843bSAndroid Build Coastguard Worker   union {
1540*062a843bSAndroid Build Coastguard Worker     RIL_CellIdentityGsm_v12 cellIdentityGsm;
1541*062a843bSAndroid Build Coastguard Worker     RIL_CellIdentityWcdma_v12 cellIdentityWcdma;
1542*062a843bSAndroid Build Coastguard Worker     RIL_CellIdentityLte_v12 cellIdentityLte;
1543*062a843bSAndroid Build Coastguard Worker     RIL_CellIdentityTdscdma cellIdentityTdscdma;
1544*062a843bSAndroid Build Coastguard Worker     RIL_CellIdentityCdma cellIdentityCdma;
1545*062a843bSAndroid Build Coastguard Worker   };
1546*062a843bSAndroid Build Coastguard Worker }RIL_CellIdentity_v16;
1547*062a843bSAndroid Build Coastguard Worker 
1548*062a843bSAndroid Build Coastguard Worker typedef struct {
1549*062a843bSAndroid Build Coastguard Worker     RIL_RegState regState;                // Valid reg states are RIL_NOT_REG_AND_NOT_SEARCHING,
1550*062a843bSAndroid Build Coastguard Worker                                           // REG_HOME, RIL_NOT_REG_AND_SEARCHING, REG_DENIED,
1551*062a843bSAndroid Build Coastguard Worker                                           // UNKNOWN, REG_ROAMING defined in RegState
1552*062a843bSAndroid Build Coastguard Worker     RIL_RadioTechnology rat;              // indicates the available voice radio technology,
1553*062a843bSAndroid Build Coastguard Worker                                           // valid values as defined by RadioTechnology.
1554*062a843bSAndroid Build Coastguard Worker     int32_t cssSupported;                 // concurrent services support indicator. if
1555*062a843bSAndroid Build Coastguard Worker                                           // registered on a CDMA system.
1556*062a843bSAndroid Build Coastguard Worker                                           // 0 - Concurrent services not supported,
1557*062a843bSAndroid Build Coastguard Worker                                           // 1 - Concurrent services supported
1558*062a843bSAndroid Build Coastguard Worker     int32_t roamingIndicator;             // TSB-58 Roaming Indicator if registered
1559*062a843bSAndroid Build Coastguard Worker                                           // on a CDMA or EVDO system or -1 if not.
1560*062a843bSAndroid Build Coastguard Worker                                           // Valid values are 0-255.
1561*062a843bSAndroid Build Coastguard Worker     int32_t systemIsInPrl;                // indicates whether the current system is in the
1562*062a843bSAndroid Build Coastguard Worker                                           // PRL if registered on a CDMA or EVDO system or -1 if
1563*062a843bSAndroid Build Coastguard Worker                                           // not. 0=not in the PRL, 1=in the PRL
1564*062a843bSAndroid Build Coastguard Worker     int32_t defaultRoamingIndicator;      // default Roaming Indicator from the PRL,
1565*062a843bSAndroid Build Coastguard Worker                                           // if registered on a CDMA or EVDO system or -1 if not.
1566*062a843bSAndroid Build Coastguard Worker                                           // Valid values are 0-255.
1567*062a843bSAndroid Build Coastguard Worker     int32_t reasonForDenial;              // reasonForDenial if registration state is 3
1568*062a843bSAndroid Build Coastguard Worker                                           // (Registration denied) this is an enumerated reason why
1569*062a843bSAndroid Build Coastguard Worker                                           // registration was denied. See 3GPP TS 24.008,
1570*062a843bSAndroid Build Coastguard Worker                                           // 10.5.3.6 and Annex G.
1571*062a843bSAndroid Build Coastguard Worker                                           // 0 - General
1572*062a843bSAndroid Build Coastguard Worker                                           // 1 - Authentication Failure
1573*062a843bSAndroid Build Coastguard Worker                                           // 2 - IMSI unknown in HLR
1574*062a843bSAndroid Build Coastguard Worker                                           // 3 - Illegal MS
1575*062a843bSAndroid Build Coastguard Worker                                           // 4 - Illegal ME
1576*062a843bSAndroid Build Coastguard Worker                                           // 5 - PLMN not allowed
1577*062a843bSAndroid Build Coastguard Worker                                           // 6 - Location area not allowed
1578*062a843bSAndroid Build Coastguard Worker                                           // 7 - Roaming not allowed
1579*062a843bSAndroid Build Coastguard Worker                                           // 8 - No Suitable Cells in this Location Area
1580*062a843bSAndroid Build Coastguard Worker                                           // 9 - Network failure
1581*062a843bSAndroid Build Coastguard Worker                                           // 10 - Persistent location update reject
1582*062a843bSAndroid Build Coastguard Worker                                           // 11 - PLMN not allowed
1583*062a843bSAndroid Build Coastguard Worker                                           // 12 - Location area not allowed
1584*062a843bSAndroid Build Coastguard Worker                                           // 13 - Roaming not allowed in this Location Area
1585*062a843bSAndroid Build Coastguard Worker                                           // 15 - No Suitable Cells in this Location Area
1586*062a843bSAndroid Build Coastguard Worker                                           // 17 - Network Failure
1587*062a843bSAndroid Build Coastguard Worker                                           // 20 - MAC Failure
1588*062a843bSAndroid Build Coastguard Worker                                           // 21 - Sync Failure
1589*062a843bSAndroid Build Coastguard Worker                                           // 22 - Congestion
1590*062a843bSAndroid Build Coastguard Worker                                           // 23 - GSM Authentication unacceptable
1591*062a843bSAndroid Build Coastguard Worker                                           // 25 - Not Authorized for this CSG
1592*062a843bSAndroid Build Coastguard Worker                                           // 32 - Service option not supported
1593*062a843bSAndroid Build Coastguard Worker                                           // 33 - Requested service option not subscribed
1594*062a843bSAndroid Build Coastguard Worker                                           // 34 - Service option temporarily out of order
1595*062a843bSAndroid Build Coastguard Worker                                           // 38 - Call cannot be identified
1596*062a843bSAndroid Build Coastguard Worker                                           // 48-63 - Retry upon entry into a new cell
1597*062a843bSAndroid Build Coastguard Worker                                           // 95 - Semantically incorrect message
1598*062a843bSAndroid Build Coastguard Worker                                           // 96 - Invalid mandatory information
1599*062a843bSAndroid Build Coastguard Worker                                           // 97 - Message type non-existent or not implemented
1600*062a843bSAndroid Build Coastguard Worker                                           // 98 - Message type not compatible with protocol state
1601*062a843bSAndroid Build Coastguard Worker                                           // 99 - Information element non-existent or
1602*062a843bSAndroid Build Coastguard Worker                                           //      not implemented
1603*062a843bSAndroid Build Coastguard Worker                                           // 100 - Conditional IE error
1604*062a843bSAndroid Build Coastguard Worker                                           // 101 - Message not compatible with protocol state;
1605*062a843bSAndroid Build Coastguard Worker     RIL_CellIdentity_v16 cellIdentity;    // current cell information
1606*062a843bSAndroid Build Coastguard Worker }RIL_VoiceRegistrationStateResponse;
1607*062a843bSAndroid Build Coastguard Worker 
1608*062a843bSAndroid Build Coastguard Worker 
1609*062a843bSAndroid Build Coastguard Worker typedef struct {
1610*062a843bSAndroid Build Coastguard Worker     RIL_RegState regState;                // Valid reg states are RIL_NOT_REG_AND_NOT_SEARCHING,
1611*062a843bSAndroid Build Coastguard Worker                                           // REG_HOME, RIL_NOT_REG_AND_SEARCHING, REG_DENIED,
1612*062a843bSAndroid Build Coastguard Worker                                           // UNKNOWN, REG_ROAMING defined in RegState
1613*062a843bSAndroid Build Coastguard Worker     RIL_RadioTechnology rat;              // indicates the available data radio technology,
1614*062a843bSAndroid Build Coastguard Worker                                           // valid values as defined by RadioTechnology.
1615*062a843bSAndroid Build Coastguard Worker     int32_t reasonDataDenied;             // if registration state is 3 (Registration
1616*062a843bSAndroid Build Coastguard Worker                                           // denied) this is an enumerated reason why
1617*062a843bSAndroid Build Coastguard Worker                                           // registration was denied. See 3GPP TS 24.008,
1618*062a843bSAndroid Build Coastguard Worker                                           // Annex G.6 "Additional cause codes for GMM".
1619*062a843bSAndroid Build Coastguard Worker                                           // 7 == GPRS services not allowed
1620*062a843bSAndroid Build Coastguard Worker                                           // 8 == GPRS services and non-GPRS services not allowed
1621*062a843bSAndroid Build Coastguard Worker                                           // 9 == MS identity cannot be derived by the network
1622*062a843bSAndroid Build Coastguard Worker                                           // 10 == Implicitly detached
1623*062a843bSAndroid Build Coastguard Worker                                           // 14 == GPRS services not allowed in this PLMN
1624*062a843bSAndroid Build Coastguard Worker                                           // 16 == MSC temporarily not reachable
1625*062a843bSAndroid Build Coastguard Worker                                           // 40 == No PDP context activated
1626*062a843bSAndroid Build Coastguard Worker     int32_t maxDataCalls;                 // The maximum number of simultaneous Data Calls that
1627*062a843bSAndroid Build Coastguard Worker                                           // must be established using setupDataCall().
1628*062a843bSAndroid Build Coastguard Worker     RIL_CellIdentity_v16 cellIdentity;    // Current cell information
1629*062a843bSAndroid Build Coastguard Worker }RIL_DataRegistrationStateResponse;
1630*062a843bSAndroid Build Coastguard Worker 
1631*062a843bSAndroid Build Coastguard Worker /* Names of the CDMA info records (C.S0005 section 3.7.5) */
1632*062a843bSAndroid Build Coastguard Worker typedef enum {
1633*062a843bSAndroid Build Coastguard Worker   RIL_CDMA_DISPLAY_INFO_REC,
1634*062a843bSAndroid Build Coastguard Worker   RIL_CDMA_CALLED_PARTY_NUMBER_INFO_REC,
1635*062a843bSAndroid Build Coastguard Worker   RIL_CDMA_CALLING_PARTY_NUMBER_INFO_REC,
1636*062a843bSAndroid Build Coastguard Worker   RIL_CDMA_CONNECTED_NUMBER_INFO_REC,
1637*062a843bSAndroid Build Coastguard Worker   RIL_CDMA_SIGNAL_INFO_REC,
1638*062a843bSAndroid Build Coastguard Worker   RIL_CDMA_REDIRECTING_NUMBER_INFO_REC,
1639*062a843bSAndroid Build Coastguard Worker   RIL_CDMA_LINE_CONTROL_INFO_REC,
1640*062a843bSAndroid Build Coastguard Worker   RIL_CDMA_EXTENDED_DISPLAY_INFO_REC,
1641*062a843bSAndroid Build Coastguard Worker   RIL_CDMA_T53_CLIR_INFO_REC,
1642*062a843bSAndroid Build Coastguard Worker   RIL_CDMA_T53_RELEASE_INFO_REC,
1643*062a843bSAndroid Build Coastguard Worker   RIL_CDMA_T53_AUDIO_CONTROL_INFO_REC
1644*062a843bSAndroid Build Coastguard Worker } RIL_CDMA_InfoRecName;
1645*062a843bSAndroid Build Coastguard Worker 
1646*062a843bSAndroid Build Coastguard Worker /* Display Info Rec as defined in C.S0005 section 3.7.5.1
1647*062a843bSAndroid Build Coastguard Worker    Extended Display Info Rec as defined in C.S0005 section 3.7.5.16
1648*062a843bSAndroid Build Coastguard Worker    Note: the Extended Display info rec contains multiple records of the
1649*062a843bSAndroid Build Coastguard Worker    form: display_tag, display_len, and display_len occurrences of the
1650*062a843bSAndroid Build Coastguard Worker    chari field if the display_tag is not 10000000 or 10000001.
1651*062a843bSAndroid Build Coastguard Worker    To save space, the records are stored consecutively in a byte buffer.
1652*062a843bSAndroid Build Coastguard Worker    The display_tag, display_len and chari fields are all 1 byte.
1653*062a843bSAndroid Build Coastguard Worker */
1654*062a843bSAndroid Build Coastguard Worker 
1655*062a843bSAndroid Build Coastguard Worker typedef struct {
1656*062a843bSAndroid Build Coastguard Worker   char alpha_len;
1657*062a843bSAndroid Build Coastguard Worker   char alpha_buf[CDMA_ALPHA_INFO_BUFFER_LENGTH];
1658*062a843bSAndroid Build Coastguard Worker } RIL_CDMA_DisplayInfoRecord;
1659*062a843bSAndroid Build Coastguard Worker 
1660*062a843bSAndroid Build Coastguard Worker /* Called Party Number Info Rec as defined in C.S0005 section 3.7.5.2
1661*062a843bSAndroid Build Coastguard Worker    Calling Party Number Info Rec as defined in C.S0005 section 3.7.5.3
1662*062a843bSAndroid Build Coastguard Worker    Connected Number Info Rec as defined in C.S0005 section 3.7.5.4
1663*062a843bSAndroid Build Coastguard Worker */
1664*062a843bSAndroid Build Coastguard Worker 
1665*062a843bSAndroid Build Coastguard Worker typedef struct {
1666*062a843bSAndroid Build Coastguard Worker   char len;
1667*062a843bSAndroid Build Coastguard Worker   char buf[CDMA_NUMBER_INFO_BUFFER_LENGTH];
1668*062a843bSAndroid Build Coastguard Worker   char number_type;
1669*062a843bSAndroid Build Coastguard Worker   char number_plan;
1670*062a843bSAndroid Build Coastguard Worker   char pi;
1671*062a843bSAndroid Build Coastguard Worker   char si;
1672*062a843bSAndroid Build Coastguard Worker } RIL_CDMA_NumberInfoRecord;
1673*062a843bSAndroid Build Coastguard Worker 
1674*062a843bSAndroid Build Coastguard Worker /* Redirecting Number Information Record as defined in C.S0005 section 3.7.5.11 */
1675*062a843bSAndroid Build Coastguard Worker typedef enum {
1676*062a843bSAndroid Build Coastguard Worker   RIL_REDIRECTING_REASON_UNKNOWN = 0,
1677*062a843bSAndroid Build Coastguard Worker   RIL_REDIRECTING_REASON_CALL_FORWARDING_BUSY = 1,
1678*062a843bSAndroid Build Coastguard Worker   RIL_REDIRECTING_REASON_CALL_FORWARDING_NO_REPLY = 2,
1679*062a843bSAndroid Build Coastguard Worker   RIL_REDIRECTING_REASON_CALLED_DTE_OUT_OF_ORDER = 9,
1680*062a843bSAndroid Build Coastguard Worker   RIL_REDIRECTING_REASON_CALL_FORWARDING_BY_THE_CALLED_DTE = 10,
1681*062a843bSAndroid Build Coastguard Worker   RIL_REDIRECTING_REASON_CALL_FORWARDING_UNCONDITIONAL = 15,
1682*062a843bSAndroid Build Coastguard Worker   RIL_REDIRECTING_REASON_RESERVED
1683*062a843bSAndroid Build Coastguard Worker } RIL_CDMA_RedirectingReason;
1684*062a843bSAndroid Build Coastguard Worker 
1685*062a843bSAndroid Build Coastguard Worker typedef struct {
1686*062a843bSAndroid Build Coastguard Worker   RIL_CDMA_NumberInfoRecord redirectingNumber;
1687*062a843bSAndroid Build Coastguard Worker   /* redirectingReason is set to RIL_REDIRECTING_REASON_UNKNOWN if not included */
1688*062a843bSAndroid Build Coastguard Worker   RIL_CDMA_RedirectingReason redirectingReason;
1689*062a843bSAndroid Build Coastguard Worker } RIL_CDMA_RedirectingNumberInfoRecord;
1690*062a843bSAndroid Build Coastguard Worker 
1691*062a843bSAndroid Build Coastguard Worker /* Line Control Information Record as defined in C.S0005 section 3.7.5.15 */
1692*062a843bSAndroid Build Coastguard Worker typedef struct {
1693*062a843bSAndroid Build Coastguard Worker   char lineCtrlPolarityIncluded;
1694*062a843bSAndroid Build Coastguard Worker   char lineCtrlToggle;
1695*062a843bSAndroid Build Coastguard Worker   char lineCtrlReverse;
1696*062a843bSAndroid Build Coastguard Worker   char lineCtrlPowerDenial;
1697*062a843bSAndroid Build Coastguard Worker } RIL_CDMA_LineControlInfoRecord;
1698*062a843bSAndroid Build Coastguard Worker 
1699*062a843bSAndroid Build Coastguard Worker /* T53 CLIR Information Record */
1700*062a843bSAndroid Build Coastguard Worker typedef struct {
1701*062a843bSAndroid Build Coastguard Worker   char cause;
1702*062a843bSAndroid Build Coastguard Worker } RIL_CDMA_T53_CLIRInfoRecord;
1703*062a843bSAndroid Build Coastguard Worker 
1704*062a843bSAndroid Build Coastguard Worker /* T53 Audio Control Information Record */
1705*062a843bSAndroid Build Coastguard Worker typedef struct {
1706*062a843bSAndroid Build Coastguard Worker   char upLink;
1707*062a843bSAndroid Build Coastguard Worker   char downLink;
1708*062a843bSAndroid Build Coastguard Worker } RIL_CDMA_T53_AudioControlInfoRecord;
1709*062a843bSAndroid Build Coastguard Worker 
1710*062a843bSAndroid Build Coastguard Worker typedef struct {
1711*062a843bSAndroid Build Coastguard Worker 
1712*062a843bSAndroid Build Coastguard Worker   RIL_CDMA_InfoRecName name;
1713*062a843bSAndroid Build Coastguard Worker 
1714*062a843bSAndroid Build Coastguard Worker   union {
1715*062a843bSAndroid Build Coastguard Worker     /* Display and Extended Display Info Rec */
1716*062a843bSAndroid Build Coastguard Worker     RIL_CDMA_DisplayInfoRecord           display;
1717*062a843bSAndroid Build Coastguard Worker 
1718*062a843bSAndroid Build Coastguard Worker     /* Called Party Number, Calling Party Number, Connected Number Info Rec */
1719*062a843bSAndroid Build Coastguard Worker     RIL_CDMA_NumberInfoRecord            number;
1720*062a843bSAndroid Build Coastguard Worker 
1721*062a843bSAndroid Build Coastguard Worker     /* Signal Info Rec */
1722*062a843bSAndroid Build Coastguard Worker     RIL_CDMA_SignalInfoRecord            signal;
1723*062a843bSAndroid Build Coastguard Worker 
1724*062a843bSAndroid Build Coastguard Worker     /* Redirecting Number Info Rec */
1725*062a843bSAndroid Build Coastguard Worker     RIL_CDMA_RedirectingNumberInfoRecord redir;
1726*062a843bSAndroid Build Coastguard Worker 
1727*062a843bSAndroid Build Coastguard Worker     /* Line Control Info Rec */
1728*062a843bSAndroid Build Coastguard Worker     RIL_CDMA_LineControlInfoRecord       lineCtrl;
1729*062a843bSAndroid Build Coastguard Worker 
1730*062a843bSAndroid Build Coastguard Worker     /* T53 CLIR Info Rec */
1731*062a843bSAndroid Build Coastguard Worker     RIL_CDMA_T53_CLIRInfoRecord          clir;
1732*062a843bSAndroid Build Coastguard Worker 
1733*062a843bSAndroid Build Coastguard Worker     /* T53 Audio Control Info Rec */
1734*062a843bSAndroid Build Coastguard Worker     RIL_CDMA_T53_AudioControlInfoRecord  audioCtrl;
1735*062a843bSAndroid Build Coastguard Worker   } rec;
1736*062a843bSAndroid Build Coastguard Worker } RIL_CDMA_InformationRecord;
1737*062a843bSAndroid Build Coastguard Worker 
1738*062a843bSAndroid Build Coastguard Worker #define RIL_CDMA_MAX_NUMBER_OF_INFO_RECS 10
1739*062a843bSAndroid Build Coastguard Worker 
1740*062a843bSAndroid Build Coastguard Worker typedef struct {
1741*062a843bSAndroid Build Coastguard Worker   char numberOfInfoRecs;
1742*062a843bSAndroid Build Coastguard Worker   RIL_CDMA_InformationRecord infoRec[RIL_CDMA_MAX_NUMBER_OF_INFO_RECS];
1743*062a843bSAndroid Build Coastguard Worker } RIL_CDMA_InformationRecords;
1744*062a843bSAndroid Build Coastguard Worker 
1745*062a843bSAndroid Build Coastguard Worker /* See RIL_REQUEST_NV_READ_ITEM */
1746*062a843bSAndroid Build Coastguard Worker typedef struct {
1747*062a843bSAndroid Build Coastguard Worker   RIL_NV_Item itemID;
1748*062a843bSAndroid Build Coastguard Worker } RIL_NV_ReadItem;
1749*062a843bSAndroid Build Coastguard Worker 
1750*062a843bSAndroid Build Coastguard Worker /* See RIL_REQUEST_NV_WRITE_ITEM */
1751*062a843bSAndroid Build Coastguard Worker typedef struct {
1752*062a843bSAndroid Build Coastguard Worker   RIL_NV_Item   itemID;
1753*062a843bSAndroid Build Coastguard Worker   char *        value;
1754*062a843bSAndroid Build Coastguard Worker } RIL_NV_WriteItem;
1755*062a843bSAndroid Build Coastguard Worker 
1756*062a843bSAndroid Build Coastguard Worker typedef enum {
1757*062a843bSAndroid Build Coastguard Worker     HANDOVER_STARTED = 0,
1758*062a843bSAndroid Build Coastguard Worker     HANDOVER_COMPLETED = 1,
1759*062a843bSAndroid Build Coastguard Worker     HANDOVER_FAILED = 2,
1760*062a843bSAndroid Build Coastguard Worker     HANDOVER_CANCELED = 3
1761*062a843bSAndroid Build Coastguard Worker } RIL_SrvccState;
1762*062a843bSAndroid Build Coastguard Worker 
1763*062a843bSAndroid Build Coastguard Worker /* hardware configuration reported to RILJ. */
1764*062a843bSAndroid Build Coastguard Worker typedef enum {
1765*062a843bSAndroid Build Coastguard Worker    RIL_HARDWARE_CONFIG_MODEM = 0,
1766*062a843bSAndroid Build Coastguard Worker    RIL_HARDWARE_CONFIG_SIM = 1,
1767*062a843bSAndroid Build Coastguard Worker } RIL_HardwareConfig_Type;
1768*062a843bSAndroid Build Coastguard Worker 
1769*062a843bSAndroid Build Coastguard Worker typedef enum {
1770*062a843bSAndroid Build Coastguard Worker    RIL_HARDWARE_CONFIG_STATE_ENABLED = 0,
1771*062a843bSAndroid Build Coastguard Worker    RIL_HARDWARE_CONFIG_STATE_STANDBY = 1,
1772*062a843bSAndroid Build Coastguard Worker    RIL_HARDWARE_CONFIG_STATE_DISABLED = 2,
1773*062a843bSAndroid Build Coastguard Worker } RIL_HardwareConfig_State;
1774*062a843bSAndroid Build Coastguard Worker 
1775*062a843bSAndroid Build Coastguard Worker typedef struct {
1776*062a843bSAndroid Build Coastguard Worker    int rilModel;
1777*062a843bSAndroid Build Coastguard Worker    uint32_t rat; /* bitset - ref. RIL_RadioTechnology. */
1778*062a843bSAndroid Build Coastguard Worker    int maxVoice;
1779*062a843bSAndroid Build Coastguard Worker    int maxData;
1780*062a843bSAndroid Build Coastguard Worker    int maxStandby;
1781*062a843bSAndroid Build Coastguard Worker } RIL_HardwareConfig_Modem;
1782*062a843bSAndroid Build Coastguard Worker 
1783*062a843bSAndroid Build Coastguard Worker typedef struct {
1784*062a843bSAndroid Build Coastguard Worker    char modemUuid[MAX_UUID_LENGTH];
1785*062a843bSAndroid Build Coastguard Worker } RIL_HardwareConfig_Sim;
1786*062a843bSAndroid Build Coastguard Worker 
1787*062a843bSAndroid Build Coastguard Worker typedef struct {
1788*062a843bSAndroid Build Coastguard Worker   RIL_HardwareConfig_Type type;
1789*062a843bSAndroid Build Coastguard Worker   char uuid[MAX_UUID_LENGTH];
1790*062a843bSAndroid Build Coastguard Worker   RIL_HardwareConfig_State state;
1791*062a843bSAndroid Build Coastguard Worker   union {
1792*062a843bSAndroid Build Coastguard Worker      RIL_HardwareConfig_Modem modem;
1793*062a843bSAndroid Build Coastguard Worker      RIL_HardwareConfig_Sim sim;
1794*062a843bSAndroid Build Coastguard Worker   } cfg;
1795*062a843bSAndroid Build Coastguard Worker } RIL_HardwareConfig;
1796*062a843bSAndroid Build Coastguard Worker 
1797*062a843bSAndroid Build Coastguard Worker typedef enum {
1798*062a843bSAndroid Build Coastguard Worker   SS_CFU,
1799*062a843bSAndroid Build Coastguard Worker   SS_CF_BUSY,
1800*062a843bSAndroid Build Coastguard Worker   SS_CF_NO_REPLY,
1801*062a843bSAndroid Build Coastguard Worker   SS_CF_NOT_REACHABLE,
1802*062a843bSAndroid Build Coastguard Worker   SS_CF_ALL,
1803*062a843bSAndroid Build Coastguard Worker   SS_CF_ALL_CONDITIONAL,
1804*062a843bSAndroid Build Coastguard Worker   SS_CLIP,
1805*062a843bSAndroid Build Coastguard Worker   SS_CLIR,
1806*062a843bSAndroid Build Coastguard Worker   SS_COLP,
1807*062a843bSAndroid Build Coastguard Worker   SS_COLR,
1808*062a843bSAndroid Build Coastguard Worker   SS_WAIT,
1809*062a843bSAndroid Build Coastguard Worker   SS_BAOC,
1810*062a843bSAndroid Build Coastguard Worker   SS_BAOIC,
1811*062a843bSAndroid Build Coastguard Worker   SS_BAOIC_EXC_HOME,
1812*062a843bSAndroid Build Coastguard Worker   SS_BAIC,
1813*062a843bSAndroid Build Coastguard Worker   SS_BAIC_ROAMING,
1814*062a843bSAndroid Build Coastguard Worker   SS_ALL_BARRING,
1815*062a843bSAndroid Build Coastguard Worker   SS_OUTGOING_BARRING,
1816*062a843bSAndroid Build Coastguard Worker   SS_INCOMING_BARRING
1817*062a843bSAndroid Build Coastguard Worker } RIL_SsServiceType;
1818*062a843bSAndroid Build Coastguard Worker 
1819*062a843bSAndroid Build Coastguard Worker typedef enum {
1820*062a843bSAndroid Build Coastguard Worker   SS_ACTIVATION,
1821*062a843bSAndroid Build Coastguard Worker   SS_DEACTIVATION,
1822*062a843bSAndroid Build Coastguard Worker   SS_INTERROGATION,
1823*062a843bSAndroid Build Coastguard Worker   SS_REGISTRATION,
1824*062a843bSAndroid Build Coastguard Worker   SS_ERASURE
1825*062a843bSAndroid Build Coastguard Worker } RIL_SsRequestType;
1826*062a843bSAndroid Build Coastguard Worker 
1827*062a843bSAndroid Build Coastguard Worker typedef enum {
1828*062a843bSAndroid Build Coastguard Worker   SS_ALL_TELE_AND_BEARER_SERVICES,
1829*062a843bSAndroid Build Coastguard Worker   SS_ALL_TELESEVICES,
1830*062a843bSAndroid Build Coastguard Worker   SS_TELEPHONY,
1831*062a843bSAndroid Build Coastguard Worker   SS_ALL_DATA_TELESERVICES,
1832*062a843bSAndroid Build Coastguard Worker   SS_SMS_SERVICES,
1833*062a843bSAndroid Build Coastguard Worker   SS_ALL_TELESERVICES_EXCEPT_SMS
1834*062a843bSAndroid Build Coastguard Worker } RIL_SsTeleserviceType;
1835*062a843bSAndroid Build Coastguard Worker 
1836*062a843bSAndroid Build Coastguard Worker #define SS_INFO_MAX 4
1837*062a843bSAndroid Build Coastguard Worker #define NUM_SERVICE_CLASSES 7
1838*062a843bSAndroid Build Coastguard Worker 
1839*062a843bSAndroid Build Coastguard Worker typedef struct {
1840*062a843bSAndroid Build Coastguard Worker   int numValidIndexes; /* This gives the number of valid values in cfInfo.
1841*062a843bSAndroid Build Coastguard Worker                        For example if voice is forwarded to one number and data
1842*062a843bSAndroid Build Coastguard Worker                        is forwarded to a different one then numValidIndexes will be
1843*062a843bSAndroid Build Coastguard Worker                        2 indicating total number of valid values in cfInfo.
1844*062a843bSAndroid Build Coastguard Worker                        Similarly if all the services are forwarded to the same
1845*062a843bSAndroid Build Coastguard Worker                        number then the value of numValidIndexes will be 1. */
1846*062a843bSAndroid Build Coastguard Worker 
1847*062a843bSAndroid Build Coastguard Worker   RIL_CallForwardInfo cfInfo[NUM_SERVICE_CLASSES]; /* This is the response data
1848*062a843bSAndroid Build Coastguard Worker                                                       for SS request to query call
1849*062a843bSAndroid Build Coastguard Worker                                                       forward status. see
1850*062a843bSAndroid Build Coastguard Worker                                                       RIL_REQUEST_QUERY_CALL_FORWARD_STATUS */
1851*062a843bSAndroid Build Coastguard Worker } RIL_CfData;
1852*062a843bSAndroid Build Coastguard Worker 
1853*062a843bSAndroid Build Coastguard Worker typedef struct {
1854*062a843bSAndroid Build Coastguard Worker   RIL_SsServiceType serviceType;
1855*062a843bSAndroid Build Coastguard Worker   RIL_SsRequestType requestType;
1856*062a843bSAndroid Build Coastguard Worker   RIL_SsTeleserviceType teleserviceType;
1857*062a843bSAndroid Build Coastguard Worker   int serviceClass;
1858*062a843bSAndroid Build Coastguard Worker   RIL_Errno result;
1859*062a843bSAndroid Build Coastguard Worker 
1860*062a843bSAndroid Build Coastguard Worker   union {
1861*062a843bSAndroid Build Coastguard Worker     int ssInfo[SS_INFO_MAX]; /* This is the response data for most of the SS GET/SET
1862*062a843bSAndroid Build Coastguard Worker                                 RIL requests. E.g. RIL_REQUSET_GET_CLIR returns
1863*062a843bSAndroid Build Coastguard Worker                                 two ints, so first two values of ssInfo[] will be
1864*062a843bSAndroid Build Coastguard Worker                                 used for response if serviceType is SS_CLIR and
1865*062a843bSAndroid Build Coastguard Worker                                 requestType is SS_INTERROGATION */
1866*062a843bSAndroid Build Coastguard Worker 
1867*062a843bSAndroid Build Coastguard Worker     RIL_CfData cfData;
1868*062a843bSAndroid Build Coastguard Worker   };
1869*062a843bSAndroid Build Coastguard Worker } RIL_StkCcUnsolSsResponse;
1870*062a843bSAndroid Build Coastguard Worker 
1871*062a843bSAndroid Build Coastguard Worker /**
1872*062a843bSAndroid Build Coastguard Worker  * Data connection power state
1873*062a843bSAndroid Build Coastguard Worker  */
1874*062a843bSAndroid Build Coastguard Worker typedef enum {
1875*062a843bSAndroid Build Coastguard Worker     RIL_DC_POWER_STATE_LOW      = 1,        // Low power state
1876*062a843bSAndroid Build Coastguard Worker     RIL_DC_POWER_STATE_MEDIUM   = 2,        // Medium power state
1877*062a843bSAndroid Build Coastguard Worker     RIL_DC_POWER_STATE_HIGH     = 3,        // High power state
1878*062a843bSAndroid Build Coastguard Worker     RIL_DC_POWER_STATE_UNKNOWN  = INT32_MAX // Unknown state
1879*062a843bSAndroid Build Coastguard Worker } RIL_DcPowerStates;
1880*062a843bSAndroid Build Coastguard Worker 
1881*062a843bSAndroid Build Coastguard Worker /**
1882*062a843bSAndroid Build Coastguard Worker  * Data connection real time info
1883*062a843bSAndroid Build Coastguard Worker  */
1884*062a843bSAndroid Build Coastguard Worker typedef struct {
1885*062a843bSAndroid Build Coastguard Worker     uint64_t                    time;       // Time in nanos as returned by ril_nano_time
1886*062a843bSAndroid Build Coastguard Worker     RIL_DcPowerStates           powerState; // Current power state
1887*062a843bSAndroid Build Coastguard Worker } RIL_DcRtInfo;
1888*062a843bSAndroid Build Coastguard Worker 
1889*062a843bSAndroid Build Coastguard Worker /**
1890*062a843bSAndroid Build Coastguard Worker  * Data profile to modem
1891*062a843bSAndroid Build Coastguard Worker  */
1892*062a843bSAndroid Build Coastguard Worker typedef struct {
1893*062a843bSAndroid Build Coastguard Worker     /* id of the data profile */
1894*062a843bSAndroid Build Coastguard Worker     int profileId;
1895*062a843bSAndroid Build Coastguard Worker     /* the APN to connect to */
1896*062a843bSAndroid Build Coastguard Worker     char* apn;
1897*062a843bSAndroid Build Coastguard Worker     /** one of the PDP_type values in TS 27.007 section 10.1.1.
1898*062a843bSAndroid Build Coastguard Worker      * For example, "IP", "IPV6", "IPV4V6", or "PPP".
1899*062a843bSAndroid Build Coastguard Worker      */
1900*062a843bSAndroid Build Coastguard Worker     char* protocol;
1901*062a843bSAndroid Build Coastguard Worker     /** authentication protocol used for this PDP context
1902*062a843bSAndroid Build Coastguard Worker      * (None: 0, PAP: 1, CHAP: 2, PAP&CHAP: 3)
1903*062a843bSAndroid Build Coastguard Worker      */
1904*062a843bSAndroid Build Coastguard Worker     int authType;
1905*062a843bSAndroid Build Coastguard Worker     /* the username for APN, or NULL */
1906*062a843bSAndroid Build Coastguard Worker     char* user;
1907*062a843bSAndroid Build Coastguard Worker     /* the password for APN, or NULL */
1908*062a843bSAndroid Build Coastguard Worker     char* password;
1909*062a843bSAndroid Build Coastguard Worker     /* the profile type, TYPE_COMMON-0, TYPE_3GPP-1, TYPE_3GPP2-2 */
1910*062a843bSAndroid Build Coastguard Worker     int type;
1911*062a843bSAndroid Build Coastguard Worker     /* the period in seconds to limit the maximum connections */
1912*062a843bSAndroid Build Coastguard Worker     int maxConnsTime;
1913*062a843bSAndroid Build Coastguard Worker     /* the maximum connections during maxConnsTime */
1914*062a843bSAndroid Build Coastguard Worker     int maxConns;
1915*062a843bSAndroid Build Coastguard Worker     /** the required wait time in seconds after a successful UE initiated
1916*062a843bSAndroid Build Coastguard Worker      * disconnect of a given PDN connection before the device can send
1917*062a843bSAndroid Build Coastguard Worker      * a new PDN connection request for that given PDN
1918*062a843bSAndroid Build Coastguard Worker      */
1919*062a843bSAndroid Build Coastguard Worker     int waitTime;
1920*062a843bSAndroid Build Coastguard Worker     /* true to enable the profile, 0 to disable, 1 to enable */
1921*062a843bSAndroid Build Coastguard Worker     int enabled;
1922*062a843bSAndroid Build Coastguard Worker } RIL_DataProfileInfo;
1923*062a843bSAndroid Build Coastguard Worker 
1924*062a843bSAndroid Build Coastguard Worker typedef struct {
1925*062a843bSAndroid Build Coastguard Worker     /* id of the data profile */
1926*062a843bSAndroid Build Coastguard Worker     int profileId;
1927*062a843bSAndroid Build Coastguard Worker     /* the APN to connect to */
1928*062a843bSAndroid Build Coastguard Worker     char* apn;
1929*062a843bSAndroid Build Coastguard Worker     /** one of the PDP_type values in TS 27.007 section 10.1.1.
1930*062a843bSAndroid Build Coastguard Worker      * For example, "IP", "IPV6", "IPV4V6", or "PPP".
1931*062a843bSAndroid Build Coastguard Worker      */
1932*062a843bSAndroid Build Coastguard Worker     char* protocol;
1933*062a843bSAndroid Build Coastguard Worker     /** one of the PDP_type values in TS 27.007 section 10.1.1 used on roaming network.
1934*062a843bSAndroid Build Coastguard Worker      * For example, "IP", "IPV6", "IPV4V6", or "PPP".
1935*062a843bSAndroid Build Coastguard Worker      */
1936*062a843bSAndroid Build Coastguard Worker     char *roamingProtocol;
1937*062a843bSAndroid Build Coastguard Worker     /** authentication protocol used for this PDP context
1938*062a843bSAndroid Build Coastguard Worker      * (None: 0, PAP: 1, CHAP: 2, PAP&CHAP: 3)
1939*062a843bSAndroid Build Coastguard Worker      */
1940*062a843bSAndroid Build Coastguard Worker     int authType;
1941*062a843bSAndroid Build Coastguard Worker     /* the username for APN, or NULL */
1942*062a843bSAndroid Build Coastguard Worker     char* user;
1943*062a843bSAndroid Build Coastguard Worker     /* the password for APN, or NULL */
1944*062a843bSAndroid Build Coastguard Worker     char* password;
1945*062a843bSAndroid Build Coastguard Worker     /* the profile type, TYPE_COMMON-0, TYPE_3GPP-1, TYPE_3GPP2-2 */
1946*062a843bSAndroid Build Coastguard Worker     int type;
1947*062a843bSAndroid Build Coastguard Worker     /* the period in seconds to limit the maximum connections */
1948*062a843bSAndroid Build Coastguard Worker     int maxConnsTime;
1949*062a843bSAndroid Build Coastguard Worker     /* the maximum connections during maxConnsTime */
1950*062a843bSAndroid Build Coastguard Worker     int maxConns;
1951*062a843bSAndroid Build Coastguard Worker     /** the required wait time in seconds after a successful UE initiated
1952*062a843bSAndroid Build Coastguard Worker      * disconnect of a given PDN connection before the device can send
1953*062a843bSAndroid Build Coastguard Worker      * a new PDN connection request for that given PDN
1954*062a843bSAndroid Build Coastguard Worker      */
1955*062a843bSAndroid Build Coastguard Worker     int waitTime;
1956*062a843bSAndroid Build Coastguard Worker     /* true to enable the profile, 0 to disable, 1 to enable */
1957*062a843bSAndroid Build Coastguard Worker     int enabled;
1958*062a843bSAndroid Build Coastguard Worker     /* supported APN types bitmask. See RIL_ApnTypes for the value of each bit. */
1959*062a843bSAndroid Build Coastguard Worker     int supportedTypesBitmask;
1960*062a843bSAndroid Build Coastguard Worker     /** the bearer bitmask. See RIL_RadioAccessFamily for the value of each bit. */
1961*062a843bSAndroid Build Coastguard Worker     int bearerBitmask;
1962*062a843bSAndroid Build Coastguard Worker     /** maximum transmission unit (MTU) size in bytes */
1963*062a843bSAndroid Build Coastguard Worker     int mtu;
1964*062a843bSAndroid Build Coastguard Worker     /** the MVNO type: possible values are "imsi", "gid", "spn" */
1965*062a843bSAndroid Build Coastguard Worker     char *mvnoType;
1966*062a843bSAndroid Build Coastguard Worker     /** MVNO match data. Can be anything defined by the carrier. For example,
1967*062a843bSAndroid Build Coastguard Worker      *        SPN like: "A MOBILE", "BEN NL", etc...
1968*062a843bSAndroid Build Coastguard Worker      *        IMSI like: "302720x94", "2060188", etc...
1969*062a843bSAndroid Build Coastguard Worker      *        GID like: "4E", "33", etc...
1970*062a843bSAndroid Build Coastguard Worker      */
1971*062a843bSAndroid Build Coastguard Worker     char *mvnoMatchData;
1972*062a843bSAndroid Build Coastguard Worker } RIL_DataProfileInfo_v15;
1973*062a843bSAndroid Build Coastguard Worker 
1974*062a843bSAndroid Build Coastguard Worker /* Tx Power Levels */
1975*062a843bSAndroid Build Coastguard Worker #define RIL_NUM_TX_POWER_LEVELS     5
1976*062a843bSAndroid Build Coastguard Worker 
1977*062a843bSAndroid Build Coastguard Worker /**
1978*062a843bSAndroid Build Coastguard Worker  * Aggregate modem activity information
1979*062a843bSAndroid Build Coastguard Worker  */
1980*062a843bSAndroid Build Coastguard Worker typedef struct {
1981*062a843bSAndroid Build Coastguard Worker 
1982*062a843bSAndroid Build Coastguard Worker   /* total time (in ms) when modem is in a low power or
1983*062a843bSAndroid Build Coastguard Worker    * sleep state
1984*062a843bSAndroid Build Coastguard Worker    */
1985*062a843bSAndroid Build Coastguard Worker   uint32_t sleep_mode_time_ms;
1986*062a843bSAndroid Build Coastguard Worker 
1987*062a843bSAndroid Build Coastguard Worker   /* total time (in ms) when modem is awake but neither
1988*062a843bSAndroid Build Coastguard Worker    * the transmitter nor receiver are active/awake */
1989*062a843bSAndroid Build Coastguard Worker   uint32_t idle_mode_time_ms;
1990*062a843bSAndroid Build Coastguard Worker 
1991*062a843bSAndroid Build Coastguard Worker   /* total time (in ms) during which the transmitter is active/awake,
1992*062a843bSAndroid Build Coastguard Worker    * subdivided by manufacturer-defined device-specific
1993*062a843bSAndroid Build Coastguard Worker    * contiguous increasing ranges of transmit power between
1994*062a843bSAndroid Build Coastguard Worker    * 0 and the transmitter's maximum transmit power.
1995*062a843bSAndroid Build Coastguard Worker    */
1996*062a843bSAndroid Build Coastguard Worker   uint32_t tx_mode_time_ms[RIL_NUM_TX_POWER_LEVELS];
1997*062a843bSAndroid Build Coastguard Worker 
1998*062a843bSAndroid Build Coastguard Worker   /* total time (in ms) for which receiver is active/awake and
1999*062a843bSAndroid Build Coastguard Worker    * the transmitter is inactive */
2000*062a843bSAndroid Build Coastguard Worker   uint32_t rx_mode_time_ms;
2001*062a843bSAndroid Build Coastguard Worker } RIL_ActivityStatsInfo;
2002*062a843bSAndroid Build Coastguard Worker 
2003*062a843bSAndroid Build Coastguard Worker typedef enum {
2004*062a843bSAndroid Build Coastguard Worker     RIL_APN_TYPE_UNKNOWN      = 0x0,          // Unknown
2005*062a843bSAndroid Build Coastguard Worker     RIL_APN_TYPE_DEFAULT      = 0x1,          // APN type for default data traffic
2006*062a843bSAndroid Build Coastguard Worker     RIL_APN_TYPE_MMS          = 0x2,          // APN type for MMS traffic
2007*062a843bSAndroid Build Coastguard Worker     RIL_APN_TYPE_SUPL         = 0x4,          // APN type for SUPL assisted GPS
2008*062a843bSAndroid Build Coastguard Worker     RIL_APN_TYPE_DUN          = 0x8,          // APN type for DUN traffic
2009*062a843bSAndroid Build Coastguard Worker     RIL_APN_TYPE_HIPRI        = 0x10,         // APN type for HiPri traffic
2010*062a843bSAndroid Build Coastguard Worker     RIL_APN_TYPE_FOTA         = 0x20,         // APN type for FOTA
2011*062a843bSAndroid Build Coastguard Worker     RIL_APN_TYPE_IMS          = 0x40,         // APN type for IMS
2012*062a843bSAndroid Build Coastguard Worker     RIL_APN_TYPE_CBS          = 0x80,         // APN type for CBS
2013*062a843bSAndroid Build Coastguard Worker     RIL_APN_TYPE_IA           = 0x100,        // APN type for IA Initial Attach APN
2014*062a843bSAndroid Build Coastguard Worker     RIL_APN_TYPE_EMERGENCY    = 0x200,        // APN type for Emergency PDN. This is not an IA apn,
2015*062a843bSAndroid Build Coastguard Worker                                               // but is used for access to carrier services in an
2016*062a843bSAndroid Build Coastguard Worker                                               // emergency call situation.
2017*062a843bSAndroid Build Coastguard Worker     RIL_APN_TYPE_ALL          = 0xFFFFFFFF    // All APN types
2018*062a843bSAndroid Build Coastguard Worker } RIL_ApnTypes;
2019*062a843bSAndroid Build Coastguard Worker 
2020*062a843bSAndroid Build Coastguard Worker typedef enum {
2021*062a843bSAndroid Build Coastguard Worker     RIL_DST_POWER_SAVE_MODE,        // Device power save mode (provided by PowerManager)
2022*062a843bSAndroid Build Coastguard Worker                                     // True indicates the device is in power save mode.
2023*062a843bSAndroid Build Coastguard Worker     RIL_DST_CHARGING_STATE,         // Device charging state (provided by BatteryManager)
2024*062a843bSAndroid Build Coastguard Worker                                     // True indicates the device is charging.
2025*062a843bSAndroid Build Coastguard Worker     RIL_DST_LOW_DATA_EXPECTED       // Low data expected mode. True indicates low data traffic
2026*062a843bSAndroid Build Coastguard Worker                                     // is expected, for example, when the device is idle
2027*062a843bSAndroid Build Coastguard Worker                                     // (e.g. not doing tethering in the background). Note
2028*062a843bSAndroid Build Coastguard Worker                                     // this doesn't mean no data is expected.
2029*062a843bSAndroid Build Coastguard Worker } RIL_DeviceStateType;
2030*062a843bSAndroid Build Coastguard Worker 
2031*062a843bSAndroid Build Coastguard Worker typedef enum {
2032*062a843bSAndroid Build Coastguard Worker     RIL_UR_SIGNAL_STRENGTH            = 0x01, // When this bit is set, modem should always send the
2033*062a843bSAndroid Build Coastguard Worker                                               // signal strength update through
2034*062a843bSAndroid Build Coastguard Worker                                               // RIL_UNSOL_SIGNAL_STRENGTH, otherwise suppress it.
2035*062a843bSAndroid Build Coastguard Worker     RIL_UR_FULL_NETWORK_STATE         = 0x02, // When this bit is set, modem should always send
2036*062a843bSAndroid Build Coastguard Worker                                               // RIL_UNSOL_RESPONSE_VOICE_NETWORK_STATE_CHANGED
2037*062a843bSAndroid Build Coastguard Worker                                               // when any field in
2038*062a843bSAndroid Build Coastguard Worker                                               // RIL_REQUEST_VOICE_REGISTRATION_STATE or
2039*062a843bSAndroid Build Coastguard Worker                                               // RIL_REQUEST_DATA_REGISTRATION_STATE changes. When
2040*062a843bSAndroid Build Coastguard Worker                                               // this bit is not set, modem should suppress
2041*062a843bSAndroid Build Coastguard Worker                                               // RIL_UNSOL_RESPONSE_VOICE_NETWORK_STATE_CHANGED
2042*062a843bSAndroid Build Coastguard Worker                                               // only when insignificant fields change
2043*062a843bSAndroid Build Coastguard Worker                                               // (e.g. cell info).
2044*062a843bSAndroid Build Coastguard Worker                                               // Modem should continue sending
2045*062a843bSAndroid Build Coastguard Worker                                               // RIL_UNSOL_RESPONSE_VOICE_NETWORK_STATE_CHANGED
2046*062a843bSAndroid Build Coastguard Worker                                               // when significant fields are updated even when this
2047*062a843bSAndroid Build Coastguard Worker                                               // bit is not set. The following fields are
2048*062a843bSAndroid Build Coastguard Worker                                               // considered significant, registration state and
2049*062a843bSAndroid Build Coastguard Worker                                               // radio technology.
2050*062a843bSAndroid Build Coastguard Worker     RIL_UR_DATA_CALL_DORMANCY_CHANGED = 0x04  // When this bit is set, modem should send the data
2051*062a843bSAndroid Build Coastguard Worker                                               // call list changed unsolicited response
2052*062a843bSAndroid Build Coastguard Worker                                               // RIL_UNSOL_DATA_CALL_LIST_CHANGED whenever any
2053*062a843bSAndroid Build Coastguard Worker                                               // field in RIL_Data_Call_Response changes.
2054*062a843bSAndroid Build Coastguard Worker                                               // Otherwise modem should suppress the unsolicited
2055*062a843bSAndroid Build Coastguard Worker                                               // response when the only changed field is 'active'
2056*062a843bSAndroid Build Coastguard Worker                                               // (for data dormancy). For all other fields change,
2057*062a843bSAndroid Build Coastguard Worker                                               // modem should continue sending
2058*062a843bSAndroid Build Coastguard Worker                                               // RIL_UNSOL_DATA_CALL_LIST_CHANGED regardless this
2059*062a843bSAndroid Build Coastguard Worker                                               // bit is set or not.
2060*062a843bSAndroid Build Coastguard Worker } RIL_UnsolicitedResponseFilter;
2061*062a843bSAndroid Build Coastguard Worker 
2062*062a843bSAndroid Build Coastguard Worker typedef struct {
2063*062a843bSAndroid Build Coastguard Worker     char * aidPtr; /* AID value, See ETSI 102.221 and 101.220*/
2064*062a843bSAndroid Build Coastguard Worker     int p2;        /* P2 parameter (described in ISO 7816-4)
2065*062a843bSAndroid Build Coastguard Worker                       P2Constants:NO_P2 if to be ignored */
2066*062a843bSAndroid Build Coastguard Worker } RIL_OpenChannelParams;
2067*062a843bSAndroid Build Coastguard Worker 
2068*062a843bSAndroid Build Coastguard Worker typedef enum {
2069*062a843bSAndroid Build Coastguard Worker     RIL_ONE_SHOT = 0x01, // Performs the scan only once
2070*062a843bSAndroid Build Coastguard Worker     RIL_PERIODIC = 0x02  // Performs the scan periodically until cancelled
2071*062a843bSAndroid Build Coastguard Worker } RIL_ScanType;
2072*062a843bSAndroid Build Coastguard Worker 
2073*062a843bSAndroid Build Coastguard Worker typedef enum {
2074*062a843bSAndroid Build Coastguard Worker     GERAN = 0x01,   // GSM EDGE Radio Access Network
2075*062a843bSAndroid Build Coastguard Worker     UTRAN = 0x02,   // Universal Terrestrial Radio Access Network
2076*062a843bSAndroid Build Coastguard Worker     EUTRAN = 0x03,  // Evolved Universal Terrestrial Radio Access Network
2077*062a843bSAndroid Build Coastguard Worker } RIL_RadioAccessNetworks;
2078*062a843bSAndroid Build Coastguard Worker 
2079*062a843bSAndroid Build Coastguard Worker typedef enum {
2080*062a843bSAndroid Build Coastguard Worker     GERAN_BAND_T380 = 1,
2081*062a843bSAndroid Build Coastguard Worker     GERAN_BAND_T410 = 2,
2082*062a843bSAndroid Build Coastguard Worker     GERAN_BAND_450 = 3,
2083*062a843bSAndroid Build Coastguard Worker     GERAN_BAND_480 = 4,
2084*062a843bSAndroid Build Coastguard Worker     GERAN_BAND_710 = 5,
2085*062a843bSAndroid Build Coastguard Worker     GERAN_BAND_750 = 6,
2086*062a843bSAndroid Build Coastguard Worker     GERAN_BAND_T810 = 7,
2087*062a843bSAndroid Build Coastguard Worker     GERAN_BAND_850 = 8,
2088*062a843bSAndroid Build Coastguard Worker     GERAN_BAND_P900 = 9,
2089*062a843bSAndroid Build Coastguard Worker     GERAN_BAND_E900 = 10,
2090*062a843bSAndroid Build Coastguard Worker     GERAN_BAND_R900 = 11,
2091*062a843bSAndroid Build Coastguard Worker     GERAN_BAND_DCS1800 = 12,
2092*062a843bSAndroid Build Coastguard Worker     GERAN_BAND_PCS1900 = 13,
2093*062a843bSAndroid Build Coastguard Worker     GERAN_BAND_ER900 = 14,
2094*062a843bSAndroid Build Coastguard Worker } RIL_GeranBands;
2095*062a843bSAndroid Build Coastguard Worker 
2096*062a843bSAndroid Build Coastguard Worker typedef enum {
2097*062a843bSAndroid Build Coastguard Worker     UTRAN_BAND_1 = 1,
2098*062a843bSAndroid Build Coastguard Worker     UTRAN_BAND_2 = 2,
2099*062a843bSAndroid Build Coastguard Worker     UTRAN_BAND_3 = 3,
2100*062a843bSAndroid Build Coastguard Worker     UTRAN_BAND_4 = 4,
2101*062a843bSAndroid Build Coastguard Worker     UTRAN_BAND_5 = 5,
2102*062a843bSAndroid Build Coastguard Worker     UTRAN_BAND_6 = 6,
2103*062a843bSAndroid Build Coastguard Worker     UTRAN_BAND_7 = 7,
2104*062a843bSAndroid Build Coastguard Worker     UTRAN_BAND_8 = 8,
2105*062a843bSAndroid Build Coastguard Worker     UTRAN_BAND_9 = 9,
2106*062a843bSAndroid Build Coastguard Worker     UTRAN_BAND_10 = 10,
2107*062a843bSAndroid Build Coastguard Worker     UTRAN_BAND_11 = 11,
2108*062a843bSAndroid Build Coastguard Worker     UTRAN_BAND_12 = 12,
2109*062a843bSAndroid Build Coastguard Worker     UTRAN_BAND_13 = 13,
2110*062a843bSAndroid Build Coastguard Worker     UTRAN_BAND_14 = 14,
2111*062a843bSAndroid Build Coastguard Worker     UTRAN_BAND_19 = 19,
2112*062a843bSAndroid Build Coastguard Worker     UTRAN_BAND_20 = 20,
2113*062a843bSAndroid Build Coastguard Worker     UTRAN_BAND_21 = 21,
2114*062a843bSAndroid Build Coastguard Worker     UTRAN_BAND_22 = 22,
2115*062a843bSAndroid Build Coastguard Worker     UTRAN_BAND_25 = 25,
2116*062a843bSAndroid Build Coastguard Worker     UTRAN_BAND_26 = 26,
2117*062a843bSAndroid Build Coastguard Worker } RIL_UtranBands;
2118*062a843bSAndroid Build Coastguard Worker 
2119*062a843bSAndroid Build Coastguard Worker typedef enum {
2120*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_1 = 1,
2121*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_2 = 2,
2122*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_3 = 3,
2123*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_4 = 4,
2124*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_5 = 5,
2125*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_6 = 6,
2126*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_7 = 7,
2127*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_8 = 8,
2128*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_9 = 9,
2129*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_10 = 10,
2130*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_11 = 11,
2131*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_12 = 12,
2132*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_13 = 13,
2133*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_14 = 14,
2134*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_17 = 17,
2135*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_18 = 18,
2136*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_19 = 19,
2137*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_20 = 20,
2138*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_21 = 21,
2139*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_22 = 22,
2140*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_23 = 23,
2141*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_24 = 24,
2142*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_25 = 25,
2143*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_26 = 26,
2144*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_27 = 27,
2145*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_28 = 28,
2146*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_30 = 30,
2147*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_31 = 31,
2148*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_33 = 33,
2149*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_34 = 34,
2150*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_35 = 35,
2151*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_36 = 36,
2152*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_37 = 37,
2153*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_38 = 38,
2154*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_39 = 39,
2155*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_40 = 40,
2156*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_41 = 41,
2157*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_42 = 42,
2158*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_43 = 43,
2159*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_44 = 44,
2160*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_45 = 45,
2161*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_46 = 46,
2162*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_47 = 47,
2163*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_48 = 48,
2164*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_65 = 65,
2165*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_66 = 66,
2166*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_68 = 68,
2167*062a843bSAndroid Build Coastguard Worker     EUTRAN_BAND_70 = 70,
2168*062a843bSAndroid Build Coastguard Worker } RIL_EutranBands;
2169*062a843bSAndroid Build Coastguard Worker 
2170*062a843bSAndroid Build Coastguard Worker typedef struct {
2171*062a843bSAndroid Build Coastguard Worker     RIL_RadioAccessNetworks radio_access_network; // The type of network to scan.
2172*062a843bSAndroid Build Coastguard Worker     uint32_t bands_length;                        // Length of bands
2173*062a843bSAndroid Build Coastguard Worker     union {
2174*062a843bSAndroid Build Coastguard Worker         RIL_GeranBands geran_bands[MAX_BANDS];
2175*062a843bSAndroid Build Coastguard Worker         RIL_UtranBands utran_bands[MAX_BANDS];
2176*062a843bSAndroid Build Coastguard Worker         RIL_EutranBands eutran_bands[MAX_BANDS];
2177*062a843bSAndroid Build Coastguard Worker     } bands;
2178*062a843bSAndroid Build Coastguard Worker     uint32_t channels_length;                     // Length of channels
2179*062a843bSAndroid Build Coastguard Worker     uint32_t channels[MAX_CHANNELS];              // Frequency channels to scan
2180*062a843bSAndroid Build Coastguard Worker } RIL_RadioAccessSpecifier;
2181*062a843bSAndroid Build Coastguard Worker 
2182*062a843bSAndroid Build Coastguard Worker typedef struct {
2183*062a843bSAndroid Build Coastguard Worker     RIL_ScanType type;                                              // Type of the scan
2184*062a843bSAndroid Build Coastguard Worker     int32_t interval;                                               // Time interval in seconds
2185*062a843bSAndroid Build Coastguard Worker                                                                     // between periodic scans, only
2186*062a843bSAndroid Build Coastguard Worker                                                                     // valid when type=RIL_PERIODIC
2187*062a843bSAndroid Build Coastguard Worker     uint32_t specifiers_length;                                     // Length of specifiers
2188*062a843bSAndroid Build Coastguard Worker     RIL_RadioAccessSpecifier specifiers[MAX_RADIO_ACCESS_NETWORKS]; // Radio access networks
2189*062a843bSAndroid Build Coastguard Worker                                                                     // with bands/channels.
2190*062a843bSAndroid Build Coastguard Worker } RIL_NetworkScanRequest;
2191*062a843bSAndroid Build Coastguard Worker 
2192*062a843bSAndroid Build Coastguard Worker typedef enum {
2193*062a843bSAndroid Build Coastguard Worker     PARTIAL = 0x01,   // The result contains a part of the scan results
2194*062a843bSAndroid Build Coastguard Worker     COMPLETE = 0x02,  // The result contains the last part of the scan results
2195*062a843bSAndroid Build Coastguard Worker } RIL_ScanStatus;
2196*062a843bSAndroid Build Coastguard Worker 
2197*062a843bSAndroid Build Coastguard Worker typedef struct {
2198*062a843bSAndroid Build Coastguard Worker     RIL_ScanStatus status;              // The status of the scan
2199*062a843bSAndroid Build Coastguard Worker     uint32_t network_infos_length;      // Total length of RIL_CellInfo
2200*062a843bSAndroid Build Coastguard Worker     RIL_CellInfo_v12* network_infos;    // List of network information
2201*062a843bSAndroid Build Coastguard Worker     RIL_Errno error;
2202*062a843bSAndroid Build Coastguard Worker } RIL_NetworkScanResult;
2203*062a843bSAndroid Build Coastguard Worker 
2204*062a843bSAndroid Build Coastguard Worker /**
2205*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_GET_SIM_STATUS
2206*062a843bSAndroid Build Coastguard Worker  *
2207*062a843bSAndroid Build Coastguard Worker  * Requests status of the SIM interface and the SIM card
2208*062a843bSAndroid Build Coastguard Worker  *
2209*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
2210*062a843bSAndroid Build Coastguard Worker  *
2211*062a843bSAndroid Build Coastguard Worker  * "response" is const RIL_CardStatus_v6 *
2212*062a843bSAndroid Build Coastguard Worker  *
2213*062a843bSAndroid Build Coastguard Worker  * Valid errors:
2214*062a843bSAndroid Build Coastguard Worker  *
2215*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
2216*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
2217*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
2218*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
2219*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
2220*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
2221*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
2222*062a843bSAndroid Build Coastguard Worker  */
2223*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_GET_SIM_STATUS 1
2224*062a843bSAndroid Build Coastguard Worker 
2225*062a843bSAndroid Build Coastguard Worker /**
2226*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_ENTER_SIM_PIN
2227*062a843bSAndroid Build Coastguard Worker  *
2228*062a843bSAndroid Build Coastguard Worker  * Supplies SIM PIN. Only called if RIL_CardStatus has RIL_APPSTATE_PIN state
2229*062a843bSAndroid Build Coastguard Worker  *
2230*062a843bSAndroid Build Coastguard Worker  * "data" is const char **
2231*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[0] is PIN value
2232*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[1] is AID value, See ETSI 102.221 8.1 and 101.220 4, NULL if no value.
2233*062a843bSAndroid Build Coastguard Worker  *
2234*062a843bSAndroid Build Coastguard Worker  * "response" is int *
2235*062a843bSAndroid Build Coastguard Worker  * ((int *)response)[0] is the number of retries remaining, or -1 if unknown
2236*062a843bSAndroid Build Coastguard Worker  *
2237*062a843bSAndroid Build Coastguard Worker  * Valid errors:
2238*062a843bSAndroid Build Coastguard Worker  *
2239*062a843bSAndroid Build Coastguard Worker  * SUCCESS
2240*062a843bSAndroid Build Coastguard Worker  * RADIO_NOT_AVAILABLE (radio resetting)
2241*062a843bSAndroid Build Coastguard Worker  * PASSWORD_INCORRECT
2242*062a843bSAndroid Build Coastguard Worker  * INTERNAL_ERR
2243*062a843bSAndroid Build Coastguard Worker  * NO_MEMORY
2244*062a843bSAndroid Build Coastguard Worker  * NO_RESOURCES
2245*062a843bSAndroid Build Coastguard Worker  * CANCELLED
2246*062a843bSAndroid Build Coastguard Worker  * INVALID_ARGUMENTS
2247*062a843bSAndroid Build Coastguard Worker  * INVALID_SIM_STATE
2248*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
2249*062a843bSAndroid Build Coastguard Worker  */
2250*062a843bSAndroid Build Coastguard Worker 
2251*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_ENTER_SIM_PIN 2
2252*062a843bSAndroid Build Coastguard Worker 
2253*062a843bSAndroid Build Coastguard Worker /**
2254*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_ENTER_SIM_PUK
2255*062a843bSAndroid Build Coastguard Worker  *
2256*062a843bSAndroid Build Coastguard Worker  * Supplies SIM PUK and new PIN.
2257*062a843bSAndroid Build Coastguard Worker  *
2258*062a843bSAndroid Build Coastguard Worker  * "data" is const char **
2259*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[0] is PUK value
2260*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[1] is new PIN value
2261*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[2] is AID value, See ETSI 102.221 8.1 and 101.220 4, NULL if no value.
2262*062a843bSAndroid Build Coastguard Worker  *
2263*062a843bSAndroid Build Coastguard Worker  * "response" is int *
2264*062a843bSAndroid Build Coastguard Worker  * ((int *)response)[0] is the number of retries remaining, or -1 if unknown
2265*062a843bSAndroid Build Coastguard Worker  *
2266*062a843bSAndroid Build Coastguard Worker  * Valid errors:
2267*062a843bSAndroid Build Coastguard Worker  *
2268*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
2269*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE (radio resetting)
2270*062a843bSAndroid Build Coastguard Worker  *  PASSWORD_INCORRECT
2271*062a843bSAndroid Build Coastguard Worker  *     (PUK is invalid)
2272*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
2273*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
2274*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
2275*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
2276*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
2277*062a843bSAndroid Build Coastguard Worker  *  INVALID_SIM_STATE
2278*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
2279*062a843bSAndroid Build Coastguard Worker  */
2280*062a843bSAndroid Build Coastguard Worker 
2281*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_ENTER_SIM_PUK 3
2282*062a843bSAndroid Build Coastguard Worker 
2283*062a843bSAndroid Build Coastguard Worker /**
2284*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_ENTER_SIM_PIN2
2285*062a843bSAndroid Build Coastguard Worker  *
2286*062a843bSAndroid Build Coastguard Worker  * Supplies SIM PIN2. Only called following operation where SIM_PIN2 was
2287*062a843bSAndroid Build Coastguard Worker  * returned as a a failure from a previous operation.
2288*062a843bSAndroid Build Coastguard Worker  *
2289*062a843bSAndroid Build Coastguard Worker  * "data" is const char **
2290*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[0] is PIN2 value
2291*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[1] is AID value, See ETSI 102.221 8.1 and 101.220 4, NULL if no value.
2292*062a843bSAndroid Build Coastguard Worker  *
2293*062a843bSAndroid Build Coastguard Worker  * "response" is int *
2294*062a843bSAndroid Build Coastguard Worker  * ((int *)response)[0] is the number of retries remaining, or -1 if unknown
2295*062a843bSAndroid Build Coastguard Worker  *
2296*062a843bSAndroid Build Coastguard Worker  * Valid errors:
2297*062a843bSAndroid Build Coastguard Worker  *
2298*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
2299*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE (radio resetting)
2300*062a843bSAndroid Build Coastguard Worker  *  PASSWORD_INCORRECT
2301*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
2302*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
2303*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
2304*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
2305*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
2306*062a843bSAndroid Build Coastguard Worker  *  INVALID_SIM_STATE
2307*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
2308*062a843bSAndroid Build Coastguard Worker  */
2309*062a843bSAndroid Build Coastguard Worker 
2310*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_ENTER_SIM_PIN2 4
2311*062a843bSAndroid Build Coastguard Worker 
2312*062a843bSAndroid Build Coastguard Worker /**
2313*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_ENTER_SIM_PUK2
2314*062a843bSAndroid Build Coastguard Worker  *
2315*062a843bSAndroid Build Coastguard Worker  * Supplies SIM PUK2 and new PIN2.
2316*062a843bSAndroid Build Coastguard Worker  *
2317*062a843bSAndroid Build Coastguard Worker  * "data" is const char **
2318*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[0] is PUK2 value
2319*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[1] is new PIN2 value
2320*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[2] is AID value, See ETSI 102.221 8.1 and 101.220 4, NULL if no value.
2321*062a843bSAndroid Build Coastguard Worker  *
2322*062a843bSAndroid Build Coastguard Worker  * "response" is int *
2323*062a843bSAndroid Build Coastguard Worker  * ((int *)response)[0] is the number of retries remaining, or -1 if unknown
2324*062a843bSAndroid Build Coastguard Worker  *
2325*062a843bSAndroid Build Coastguard Worker  * Valid errors:
2326*062a843bSAndroid Build Coastguard Worker  *
2327*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
2328*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE (radio resetting)
2329*062a843bSAndroid Build Coastguard Worker  *  PASSWORD_INCORRECT
2330*062a843bSAndroid Build Coastguard Worker  *     (PUK2 is invalid)
2331*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
2332*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
2333*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
2334*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
2335*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
2336*062a843bSAndroid Build Coastguard Worker  *  INVALID_SIM_STATE
2337*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
2338*062a843bSAndroid Build Coastguard Worker  */
2339*062a843bSAndroid Build Coastguard Worker 
2340*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_ENTER_SIM_PUK2 5
2341*062a843bSAndroid Build Coastguard Worker 
2342*062a843bSAndroid Build Coastguard Worker /**
2343*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_CHANGE_SIM_PIN
2344*062a843bSAndroid Build Coastguard Worker  *
2345*062a843bSAndroid Build Coastguard Worker  * Supplies old SIM PIN and new PIN.
2346*062a843bSAndroid Build Coastguard Worker  *
2347*062a843bSAndroid Build Coastguard Worker  * "data" is const char **
2348*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[0] is old PIN value
2349*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[1] is new PIN value
2350*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[2] is AID value, See ETSI 102.221 8.1 and 101.220 4, NULL if no value.
2351*062a843bSAndroid Build Coastguard Worker  *
2352*062a843bSAndroid Build Coastguard Worker  * "response" is int *
2353*062a843bSAndroid Build Coastguard Worker  * ((int *)response)[0] is the number of retries remaining, or -1 if unknown
2354*062a843bSAndroid Build Coastguard Worker  *
2355*062a843bSAndroid Build Coastguard Worker  * Valid errors:
2356*062a843bSAndroid Build Coastguard Worker  *
2357*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
2358*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE (radio resetting)
2359*062a843bSAndroid Build Coastguard Worker  *  PASSWORD_INCORRECT
2360*062a843bSAndroid Build Coastguard Worker  *     (old PIN is invalid)
2361*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
2362*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
2363*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
2364*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
2365*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
2366*062a843bSAndroid Build Coastguard Worker  *  INVALID_SIM_STATE
2367*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
2368*062a843bSAndroid Build Coastguard Worker  */
2369*062a843bSAndroid Build Coastguard Worker 
2370*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_CHANGE_SIM_PIN 6
2371*062a843bSAndroid Build Coastguard Worker 
2372*062a843bSAndroid Build Coastguard Worker 
2373*062a843bSAndroid Build Coastguard Worker /**
2374*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_CHANGE_SIM_PIN2
2375*062a843bSAndroid Build Coastguard Worker  *
2376*062a843bSAndroid Build Coastguard Worker  * Supplies old SIM PIN2 and new PIN2.
2377*062a843bSAndroid Build Coastguard Worker  *
2378*062a843bSAndroid Build Coastguard Worker  * "data" is const char **
2379*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[0] is old PIN2 value
2380*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[1] is new PIN2 value
2381*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[2] is AID value, See ETSI 102.221 8.1 and 101.220 4, NULL if no value.
2382*062a843bSAndroid Build Coastguard Worker  *
2383*062a843bSAndroid Build Coastguard Worker  * "response" is int *
2384*062a843bSAndroid Build Coastguard Worker  * ((int *)response)[0] is the number of retries remaining, or -1 if unknown
2385*062a843bSAndroid Build Coastguard Worker  *
2386*062a843bSAndroid Build Coastguard Worker  * Valid errors:
2387*062a843bSAndroid Build Coastguard Worker  *
2388*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
2389*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE (radio resetting)
2390*062a843bSAndroid Build Coastguard Worker  *  PASSWORD_INCORRECT
2391*062a843bSAndroid Build Coastguard Worker  *     (old PIN2 is invalid)
2392*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
2393*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
2394*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
2395*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
2396*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
2397*062a843bSAndroid Build Coastguard Worker  *  INVALID_SIM_STATE
2398*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
2399*062a843bSAndroid Build Coastguard Worker  *
2400*062a843bSAndroid Build Coastguard Worker  */
2401*062a843bSAndroid Build Coastguard Worker 
2402*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_CHANGE_SIM_PIN2 7
2403*062a843bSAndroid Build Coastguard Worker 
2404*062a843bSAndroid Build Coastguard Worker /**
2405*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_ENTER_NETWORK_DEPERSONALIZATION
2406*062a843bSAndroid Build Coastguard Worker  *
2407*062a843bSAndroid Build Coastguard Worker  * Requests that network personlization be deactivated
2408*062a843bSAndroid Build Coastguard Worker  *
2409*062a843bSAndroid Build Coastguard Worker  * "data" is const char **
2410*062a843bSAndroid Build Coastguard Worker  * ((const char **)(data))[0]] is network depersonlization code
2411*062a843bSAndroid Build Coastguard Worker  *
2412*062a843bSAndroid Build Coastguard Worker  * "response" is int *
2413*062a843bSAndroid Build Coastguard Worker  * ((int *)response)[0] is the number of retries remaining, or -1 if unknown
2414*062a843bSAndroid Build Coastguard Worker  *
2415*062a843bSAndroid Build Coastguard Worker  * Valid errors:
2416*062a843bSAndroid Build Coastguard Worker  *
2417*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
2418*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE (radio resetting)
2419*062a843bSAndroid Build Coastguard Worker  *  PASSWORD_INCORRECT
2420*062a843bSAndroid Build Coastguard Worker  *  SIM_ABSENT
2421*062a843bSAndroid Build Coastguard Worker  *     (code is invalid)
2422*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
2423*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
2424*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
2425*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
2426*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
2427*062a843bSAndroid Build Coastguard Worker  */
2428*062a843bSAndroid Build Coastguard Worker 
2429*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_ENTER_NETWORK_DEPERSONALIZATION 8
2430*062a843bSAndroid Build Coastguard Worker 
2431*062a843bSAndroid Build Coastguard Worker /**
2432*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_GET_CURRENT_CALLS
2433*062a843bSAndroid Build Coastguard Worker  *
2434*062a843bSAndroid Build Coastguard Worker  * Requests current call list
2435*062a843bSAndroid Build Coastguard Worker  *
2436*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
2437*062a843bSAndroid Build Coastguard Worker  *
2438*062a843bSAndroid Build Coastguard Worker  * "response" must be a "const RIL_Call **"
2439*062a843bSAndroid Build Coastguard Worker  *
2440*062a843bSAndroid Build Coastguard Worker  * Valid errors:
2441*062a843bSAndroid Build Coastguard Worker  *
2442*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
2443*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE (radio resetting)
2444*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
2445*062a843bSAndroid Build Coastguard Worker  *      (request will be made again in a few hundred msec)
2446*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
2447*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
2448*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
2449*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
2450*062a843bSAndroid Build Coastguard Worker  */
2451*062a843bSAndroid Build Coastguard Worker 
2452*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_GET_CURRENT_CALLS 9
2453*062a843bSAndroid Build Coastguard Worker 
2454*062a843bSAndroid Build Coastguard Worker 
2455*062a843bSAndroid Build Coastguard Worker /**
2456*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_DIAL
2457*062a843bSAndroid Build Coastguard Worker  *
2458*062a843bSAndroid Build Coastguard Worker  * Initiate voice call
2459*062a843bSAndroid Build Coastguard Worker  *
2460*062a843bSAndroid Build Coastguard Worker  * "data" is const RIL_Dial *
2461*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
2462*062a843bSAndroid Build Coastguard Worker  *
2463*062a843bSAndroid Build Coastguard Worker  * This method is never used for supplementary service codes
2464*062a843bSAndroid Build Coastguard Worker  *
2465*062a843bSAndroid Build Coastguard Worker  * Valid errors:
2466*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
2467*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE (radio resetting)
2468*062a843bSAndroid Build Coastguard Worker  *  DIAL_MODIFIED_TO_USSD
2469*062a843bSAndroid Build Coastguard Worker  *  DIAL_MODIFIED_TO_SS
2470*062a843bSAndroid Build Coastguard Worker  *  DIAL_MODIFIED_TO_DIAL
2471*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
2472*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
2473*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
2474*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
2475*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
2476*062a843bSAndroid Build Coastguard Worker  *  FDN_CHECK_FAILURE
2477*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
2478*062a843bSAndroid Build Coastguard Worker  *  NO_SUBSCRIPTION
2479*062a843bSAndroid Build Coastguard Worker  *  NO_NETWORK_FOUND
2480*062a843bSAndroid Build Coastguard Worker  *  INVALID_CALL_ID
2481*062a843bSAndroid Build Coastguard Worker  *  DEVICE_IN_USE
2482*062a843bSAndroid Build Coastguard Worker  *  OPERATION_NOT_ALLOWED
2483*062a843bSAndroid Build Coastguard Worker  *  ABORTED
2484*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
2485*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
2486*062a843bSAndroid Build Coastguard Worker  */
2487*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_DIAL 10
2488*062a843bSAndroid Build Coastguard Worker 
2489*062a843bSAndroid Build Coastguard Worker /**
2490*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_GET_IMSI
2491*062a843bSAndroid Build Coastguard Worker  *
2492*062a843bSAndroid Build Coastguard Worker  * Get the SIM IMSI
2493*062a843bSAndroid Build Coastguard Worker  *
2494*062a843bSAndroid Build Coastguard Worker  * Only valid when radio state is "RADIO_STATE_ON"
2495*062a843bSAndroid Build Coastguard Worker  *
2496*062a843bSAndroid Build Coastguard Worker  * "data" is const char **
2497*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[0] is AID value, See ETSI 102.221 8.1 and 101.220 4, NULL if no value.
2498*062a843bSAndroid Build Coastguard Worker  * "response" is a const char * containing the IMSI
2499*062a843bSAndroid Build Coastguard Worker  *
2500*062a843bSAndroid Build Coastguard Worker  * Valid errors:
2501*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
2502*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE (radio resetting)
2503*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
2504*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
2505*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
2506*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
2507*062a843bSAndroid Build Coastguard Worker  *  INVALID_SIM_STATE
2508*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
2509*062a843bSAndroid Build Coastguard Worker  */
2510*062a843bSAndroid Build Coastguard Worker 
2511*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_GET_IMSI 11
2512*062a843bSAndroid Build Coastguard Worker 
2513*062a843bSAndroid Build Coastguard Worker /**
2514*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_HANGUP
2515*062a843bSAndroid Build Coastguard Worker  *
2516*062a843bSAndroid Build Coastguard Worker  * Hang up a specific line (like AT+CHLD=1x)
2517*062a843bSAndroid Build Coastguard Worker  *
2518*062a843bSAndroid Build Coastguard Worker  * After this HANGUP request returns, RIL should show the connection is NOT
2519*062a843bSAndroid Build Coastguard Worker  * active anymore in next RIL_REQUEST_GET_CURRENT_CALLS query.
2520*062a843bSAndroid Build Coastguard Worker  *
2521*062a843bSAndroid Build Coastguard Worker  * "data" is an int *
2522*062a843bSAndroid Build Coastguard Worker  * (int *)data)[0] contains Connection index (value of 'x' in CHLD above)
2523*062a843bSAndroid Build Coastguard Worker  *
2524*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
2525*062a843bSAndroid Build Coastguard Worker  *
2526*062a843bSAndroid Build Coastguard Worker  * Valid errors:
2527*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
2528*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE (radio resetting)
2529*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
2530*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
2531*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
2532*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
2533*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
2534*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
2535*062a843bSAndroid Build Coastguard Worker  *  INVALID_CALL_ID
2536*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
2537*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
2538*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
2539*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
2540*062a843bSAndroid Build Coastguard Worker  */
2541*062a843bSAndroid Build Coastguard Worker 
2542*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_HANGUP 12
2543*062a843bSAndroid Build Coastguard Worker 
2544*062a843bSAndroid Build Coastguard Worker /**
2545*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_HANGUP_WAITING_OR_BACKGROUND
2546*062a843bSAndroid Build Coastguard Worker  *
2547*062a843bSAndroid Build Coastguard Worker  * Hang up waiting or held (like AT+CHLD=0)
2548*062a843bSAndroid Build Coastguard Worker  *
2549*062a843bSAndroid Build Coastguard Worker  * After this HANGUP request returns, RIL should show the connection is NOT
2550*062a843bSAndroid Build Coastguard Worker  * active anymore in next RIL_REQUEST_GET_CURRENT_CALLS query.
2551*062a843bSAndroid Build Coastguard Worker  *
2552*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
2553*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
2554*062a843bSAndroid Build Coastguard Worker  *
2555*062a843bSAndroid Build Coastguard Worker  * Valid errors:
2556*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
2557*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE (radio resetting)
2558*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
2559*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
2560*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
2561*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
2562*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
2563*062a843bSAndroid Build Coastguard Worker  *  INVALID_CALL_ID
2564*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
2565*062a843bSAndroid Build Coastguard Worker  *  OPERATION_NOT_ALLOWED
2566*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
2567*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
2568*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
2569*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
2570*062a843bSAndroid Build Coastguard Worker  */
2571*062a843bSAndroid Build Coastguard Worker 
2572*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_HANGUP_WAITING_OR_BACKGROUND 13
2573*062a843bSAndroid Build Coastguard Worker 
2574*062a843bSAndroid Build Coastguard Worker /**
2575*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_HANGUP_FOREGROUND_RESUME_BACKGROUND
2576*062a843bSAndroid Build Coastguard Worker  *
2577*062a843bSAndroid Build Coastguard Worker  * Hang up waiting or held (like AT+CHLD=1)
2578*062a843bSAndroid Build Coastguard Worker  *
2579*062a843bSAndroid Build Coastguard Worker  * After this HANGUP request returns, RIL should show the connection is NOT
2580*062a843bSAndroid Build Coastguard Worker  * active anymore in next RIL_REQUEST_GET_CURRENT_CALLS query.
2581*062a843bSAndroid Build Coastguard Worker  *
2582*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
2583*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
2584*062a843bSAndroid Build Coastguard Worker  *
2585*062a843bSAndroid Build Coastguard Worker  * Valid errors:
2586*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
2587*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE (radio resetting)
2588*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
2589*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
2590*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
2591*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
2592*062a843bSAndroid Build Coastguard Worker  *  INVALID_CALL_ID
2593*062a843bSAndroid Build Coastguard Worker  *  OPERATION_NOT_ALLOWED
2594*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
2595*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
2596*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
2597*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
2598*062a843bSAndroid Build Coastguard Worker  */
2599*062a843bSAndroid Build Coastguard Worker 
2600*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_HANGUP_FOREGROUND_RESUME_BACKGROUND 14
2601*062a843bSAndroid Build Coastguard Worker 
2602*062a843bSAndroid Build Coastguard Worker /**
2603*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SWITCH_WAITING_OR_HOLDING_AND_ACTIVE
2604*062a843bSAndroid Build Coastguard Worker  *
2605*062a843bSAndroid Build Coastguard Worker  * Switch waiting or holding call and active call (like AT+CHLD=2)
2606*062a843bSAndroid Build Coastguard Worker  *
2607*062a843bSAndroid Build Coastguard Worker  * State transitions should be is follows:
2608*062a843bSAndroid Build Coastguard Worker  *
2609*062a843bSAndroid Build Coastguard Worker  * If call 1 is waiting and call 2 is active, then if this re
2610*062a843bSAndroid Build Coastguard Worker  *
2611*062a843bSAndroid Build Coastguard Worker  *   BEFORE                               AFTER
2612*062a843bSAndroid Build Coastguard Worker  * Call 1   Call 2                 Call 1       Call 2
2613*062a843bSAndroid Build Coastguard Worker  * ACTIVE   HOLDING                HOLDING     ACTIVE
2614*062a843bSAndroid Build Coastguard Worker  * ACTIVE   WAITING                HOLDING     ACTIVE
2615*062a843bSAndroid Build Coastguard Worker  * HOLDING  WAITING                HOLDING     ACTIVE
2616*062a843bSAndroid Build Coastguard Worker  * ACTIVE   IDLE                   HOLDING     IDLE
2617*062a843bSAndroid Build Coastguard Worker  * IDLE     IDLE                   IDLE        IDLE
2618*062a843bSAndroid Build Coastguard Worker  *
2619*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
2620*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
2621*062a843bSAndroid Build Coastguard Worker  *
2622*062a843bSAndroid Build Coastguard Worker  * Valid errors:
2623*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
2624*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE (radio resetting)
2625*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
2626*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
2627*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
2628*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
2629*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
2630*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
2631*062a843bSAndroid Build Coastguard Worker  *  INVALID_CALL_ID
2632*062a843bSAndroid Build Coastguard Worker  *  OPERATION_NOT_ALLOWED
2633*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
2634*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
2635*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
2636*062a843bSAndroid Build Coastguard Worker  */
2637*062a843bSAndroid Build Coastguard Worker 
2638*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SWITCH_WAITING_OR_HOLDING_AND_ACTIVE 15
2639*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SWITCH_HOLDING_AND_ACTIVE 15
2640*062a843bSAndroid Build Coastguard Worker 
2641*062a843bSAndroid Build Coastguard Worker /**
2642*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_CONFERENCE
2643*062a843bSAndroid Build Coastguard Worker  *
2644*062a843bSAndroid Build Coastguard Worker  * Conference holding and active (like AT+CHLD=3)
2645*062a843bSAndroid Build Coastguard Worker 
2646*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
2647*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
2648*062a843bSAndroid Build Coastguard Worker  *
2649*062a843bSAndroid Build Coastguard Worker  * Valid errors:
2650*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
2651*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE (radio resetting)
2652*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
2653*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
2654*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
2655*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
2656*062a843bSAndroid Build Coastguard Worker  *  INVALID_CALL_ID
2657*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
2658*062a843bSAndroid Build Coastguard Worker  *  OPERATION_NOT_ALLOWED
2659*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
2660*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
2661*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
2662*062a843bSAndroid Build Coastguard Worker  */
2663*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_CONFERENCE 16
2664*062a843bSAndroid Build Coastguard Worker 
2665*062a843bSAndroid Build Coastguard Worker /**
2666*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_UDUB
2667*062a843bSAndroid Build Coastguard Worker  *
2668*062a843bSAndroid Build Coastguard Worker  * Send UDUB (user determined used busy) to ringing or
2669*062a843bSAndroid Build Coastguard Worker  * waiting call answer)(RIL_BasicRequest r);
2670*062a843bSAndroid Build Coastguard Worker  *
2671*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
2672*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
2673*062a843bSAndroid Build Coastguard Worker  *
2674*062a843bSAndroid Build Coastguard Worker  * Valid errors:
2675*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
2676*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE (radio resetting)
2677*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
2678*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
2679*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
2680*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
2681*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
2682*062a843bSAndroid Build Coastguard Worker  *  INVALID_CALL_ID
2683*062a843bSAndroid Build Coastguard Worker  *  OPERATION_NOT_ALLOWED
2684*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
2685*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
2686*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
2687*062a843bSAndroid Build Coastguard Worker  */
2688*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_UDUB 17
2689*062a843bSAndroid Build Coastguard Worker 
2690*062a843bSAndroid Build Coastguard Worker /**
2691*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_LAST_CALL_FAIL_CAUSE
2692*062a843bSAndroid Build Coastguard Worker  *
2693*062a843bSAndroid Build Coastguard Worker  * Requests the failure cause code for the most recently terminated call
2694*062a843bSAndroid Build Coastguard Worker  *
2695*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
2696*062a843bSAndroid Build Coastguard Worker  * "response" is a const RIL_LastCallFailCauseInfo *
2697*062a843bSAndroid Build Coastguard Worker  * RIL_LastCallFailCauseInfo contains LastCallFailCause and vendor cause.
2698*062a843bSAndroid Build Coastguard Worker  * The vendor cause code must be used for debugging purpose only.
2699*062a843bSAndroid Build Coastguard Worker  * The implementation must return one of the values of LastCallFailCause
2700*062a843bSAndroid Build Coastguard Worker  * as mentioned below.
2701*062a843bSAndroid Build Coastguard Worker  *
2702*062a843bSAndroid Build Coastguard Worker  * GSM failure reasons codes for the cause codes defined in TS 24.008 Annex H
2703*062a843bSAndroid Build Coastguard Worker  * where possible.
2704*062a843bSAndroid Build Coastguard Worker  * CDMA failure reasons codes for the possible call failure scenarios
2705*062a843bSAndroid Build Coastguard Worker  * described in the "CDMA IS-2000 Release A (C.S0005-A v6.0)" standard.
2706*062a843bSAndroid Build Coastguard Worker  * Any of the following reason codes if the call is failed or dropped due to reason
2707*062a843bSAndroid Build Coastguard Worker  * mentioned with in the braces.
2708*062a843bSAndroid Build Coastguard Worker  *
2709*062a843bSAndroid Build Coastguard Worker  *      CALL_FAIL_RADIO_OFF (Radio is OFF)
2710*062a843bSAndroid Build Coastguard Worker  *      CALL_FAIL_OUT_OF_SERVICE (No cell coverage)
2711*062a843bSAndroid Build Coastguard Worker  *      CALL_FAIL_NO_VALID_SIM (No valid SIM)
2712*062a843bSAndroid Build Coastguard Worker  *      CALL_FAIL_RADIO_INTERNAL_ERROR (Modem hit unexpected error scenario)
2713*062a843bSAndroid Build Coastguard Worker  *      CALL_FAIL_NETWORK_RESP_TIMEOUT (No response from network)
2714*062a843bSAndroid Build Coastguard Worker  *      CALL_FAIL_NETWORK_REJECT (Explicit network reject)
2715*062a843bSAndroid Build Coastguard Worker  *      CALL_FAIL_RADIO_ACCESS_FAILURE (RRC connection failure. Eg.RACH)
2716*062a843bSAndroid Build Coastguard Worker  *      CALL_FAIL_RADIO_LINK_FAILURE (Radio Link Failure)
2717*062a843bSAndroid Build Coastguard Worker  *      CALL_FAIL_RADIO_LINK_LOST (Radio link lost due to poor coverage)
2718*062a843bSAndroid Build Coastguard Worker  *      CALL_FAIL_RADIO_UPLINK_FAILURE (Radio uplink failure)
2719*062a843bSAndroid Build Coastguard Worker  *      CALL_FAIL_RADIO_SETUP_FAILURE (RRC connection setup failure)
2720*062a843bSAndroid Build Coastguard Worker  *      CALL_FAIL_RADIO_RELEASE_NORMAL (RRC connection release, normal)
2721*062a843bSAndroid Build Coastguard Worker  *      CALL_FAIL_RADIO_RELEASE_ABNORMAL (RRC connection release, abnormal)
2722*062a843bSAndroid Build Coastguard Worker  *      CALL_FAIL_ACCESS_CLASS_BLOCKED (Access class barring)
2723*062a843bSAndroid Build Coastguard Worker  *      CALL_FAIL_NETWORK_DETACH (Explicit network detach)
2724*062a843bSAndroid Build Coastguard Worker  *
2725*062a843bSAndroid Build Coastguard Worker  * OEM causes (CALL_FAIL_OEM_CAUSE_XX) must be used for debug purpose only
2726*062a843bSAndroid Build Coastguard Worker  *
2727*062a843bSAndroid Build Coastguard Worker  * If the implementation does not have access to the exact cause codes,
2728*062a843bSAndroid Build Coastguard Worker  * then it should return one of the values listed in RIL_LastCallFailCause,
2729*062a843bSAndroid Build Coastguard Worker  * as the UI layer needs to distinguish these cases for tone generation or
2730*062a843bSAndroid Build Coastguard Worker  * error notification.
2731*062a843bSAndroid Build Coastguard Worker  *
2732*062a843bSAndroid Build Coastguard Worker  * Valid errors:
2733*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
2734*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
2735*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
2736*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
2737*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
2738*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
2739*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
2740*062a843bSAndroid Build Coastguard Worker  *
2741*062a843bSAndroid Build Coastguard Worker  * See also: RIL_REQUEST_LAST_DATA_CALL_FAIL_CAUSE
2742*062a843bSAndroid Build Coastguard Worker  */
2743*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_LAST_CALL_FAIL_CAUSE 18
2744*062a843bSAndroid Build Coastguard Worker 
2745*062a843bSAndroid Build Coastguard Worker /**
2746*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SIGNAL_STRENGTH
2747*062a843bSAndroid Build Coastguard Worker  *
2748*062a843bSAndroid Build Coastguard Worker  * Requests current signal strength and associated information
2749*062a843bSAndroid Build Coastguard Worker  *
2750*062a843bSAndroid Build Coastguard Worker  * Must succeed if radio is on.
2751*062a843bSAndroid Build Coastguard Worker  *
2752*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
2753*062a843bSAndroid Build Coastguard Worker  *
2754*062a843bSAndroid Build Coastguard Worker  * "response" is a const RIL_SignalStrength *
2755*062a843bSAndroid Build Coastguard Worker  *
2756*062a843bSAndroid Build Coastguard Worker  * Valid errors:
2757*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
2758*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
2759*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
2760*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
2761*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
2762*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
2763*062a843bSAndroid Build Coastguard Worker  *  NOT_PROVISIONED
2764*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
2765*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
2766*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
2767*062a843bSAndroid Build Coastguard Worker  */
2768*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SIGNAL_STRENGTH 19
2769*062a843bSAndroid Build Coastguard Worker 
2770*062a843bSAndroid Build Coastguard Worker /**
2771*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_VOICE_REGISTRATION_STATE
2772*062a843bSAndroid Build Coastguard Worker  *
2773*062a843bSAndroid Build Coastguard Worker  * Request current registration state
2774*062a843bSAndroid Build Coastguard Worker  *
2775*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
2776*062a843bSAndroid Build Coastguard Worker  * "response" is a const RIL_VoiceRegistrationStateResponse *
2777*062a843bSAndroid Build Coastguard Worker  *
2778*062a843bSAndroid Build Coastguard Worker  * Valid errors:
2779*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
2780*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
2781*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
2782*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
2783*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
2784*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
2785*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
2786*062a843bSAndroid Build Coastguard Worker  */
2787*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_VOICE_REGISTRATION_STATE 20
2788*062a843bSAndroid Build Coastguard Worker 
2789*062a843bSAndroid Build Coastguard Worker /**
2790*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_DATA_REGISTRATION_STATE
2791*062a843bSAndroid Build Coastguard Worker  *
2792*062a843bSAndroid Build Coastguard Worker  * Request current DATA registration state
2793*062a843bSAndroid Build Coastguard Worker  *
2794*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
2795*062a843bSAndroid Build Coastguard Worker  * "response" is a const RIL_DataRegistrationStateResponse *
2796*062a843bSAndroid Build Coastguard Worker  *
2797*062a843bSAndroid Build Coastguard Worker  * Valid errors:
2798*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
2799*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
2800*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
2801*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
2802*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
2803*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
2804*062a843bSAndroid Build Coastguard Worker  *  NOT_PROVISIONED
2805*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
2806*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
2807*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
2808*062a843bSAndroid Build Coastguard Worker  */
2809*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_DATA_REGISTRATION_STATE 21
2810*062a843bSAndroid Build Coastguard Worker 
2811*062a843bSAndroid Build Coastguard Worker /**
2812*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_OPERATOR
2813*062a843bSAndroid Build Coastguard Worker  *
2814*062a843bSAndroid Build Coastguard Worker  * Request current operator ONS or EONS
2815*062a843bSAndroid Build Coastguard Worker  *
2816*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
2817*062a843bSAndroid Build Coastguard Worker  * "response" is a "const char **"
2818*062a843bSAndroid Build Coastguard Worker  * ((const char **)response)[0] is long alpha ONS or EONS
2819*062a843bSAndroid Build Coastguard Worker  *                                  or NULL if unregistered
2820*062a843bSAndroid Build Coastguard Worker  *
2821*062a843bSAndroid Build Coastguard Worker  * ((const char **)response)[1] is short alpha ONS or EONS
2822*062a843bSAndroid Build Coastguard Worker  *                                  or NULL if unregistered
2823*062a843bSAndroid Build Coastguard Worker  * ((const char **)response)[2] is 5 or 6 digit numeric code (MCC + MNC)
2824*062a843bSAndroid Build Coastguard Worker  *                                  or NULL if unregistered
2825*062a843bSAndroid Build Coastguard Worker  *
2826*062a843bSAndroid Build Coastguard Worker  * Valid errors:
2827*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
2828*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
2829*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
2830*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
2831*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
2832*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
2833*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
2834*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
2835*062a843bSAndroid Build Coastguard Worker  */
2836*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_OPERATOR 22
2837*062a843bSAndroid Build Coastguard Worker 
2838*062a843bSAndroid Build Coastguard Worker /**
2839*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_RADIO_POWER
2840*062a843bSAndroid Build Coastguard Worker  *
2841*062a843bSAndroid Build Coastguard Worker  * Toggle radio on and off (for "airplane" mode)
2842*062a843bSAndroid Build Coastguard Worker  * If the radio is is turned off/on the radio modem subsystem
2843*062a843bSAndroid Build Coastguard Worker  * is expected return to an initialized state. For instance,
2844*062a843bSAndroid Build Coastguard Worker  * any voice and data calls will be terminated and all associated
2845*062a843bSAndroid Build Coastguard Worker  * lists emptied.
2846*062a843bSAndroid Build Coastguard Worker  *
2847*062a843bSAndroid Build Coastguard Worker  * "data" is int *
2848*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is > 0 for "Radio On"
2849*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is == 0 for "Radio Off"
2850*062a843bSAndroid Build Coastguard Worker  *
2851*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
2852*062a843bSAndroid Build Coastguard Worker  *
2853*062a843bSAndroid Build Coastguard Worker  * Turn radio on if "on" > 0
2854*062a843bSAndroid Build Coastguard Worker  * Turn radio off if "on" == 0
2855*062a843bSAndroid Build Coastguard Worker  *
2856*062a843bSAndroid Build Coastguard Worker  * Valid errors:
2857*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
2858*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
2859*062a843bSAndroid Build Coastguard Worker  *  OPERATION_NOT_ALLOWED
2860*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
2861*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
2862*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
2863*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
2864*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
2865*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
2866*062a843bSAndroid Build Coastguard Worker  *  DEVICE_IN_USE
2867*062a843bSAndroid Build Coastguard Worker  *  OPERATION_NOT_ALLOWED
2868*062a843bSAndroid Build Coastguard Worker  *  INVALID_MODEM_STATE
2869*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
2870*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
2871*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
2872*062a843bSAndroid Build Coastguard Worker  */
2873*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_RADIO_POWER 23
2874*062a843bSAndroid Build Coastguard Worker 
2875*062a843bSAndroid Build Coastguard Worker /**
2876*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_DTMF
2877*062a843bSAndroid Build Coastguard Worker  *
2878*062a843bSAndroid Build Coastguard Worker  * Send a DTMF tone
2879*062a843bSAndroid Build Coastguard Worker  *
2880*062a843bSAndroid Build Coastguard Worker  * If the implementation is currently playing a tone requested via
2881*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_DTMF_START, that tone should be cancelled and the new tone
2882*062a843bSAndroid Build Coastguard Worker  * should be played instead
2883*062a843bSAndroid Build Coastguard Worker  *
2884*062a843bSAndroid Build Coastguard Worker  * "data" is a char * containing a single character with one of 12 values: 0-9,*,#
2885*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
2886*062a843bSAndroid Build Coastguard Worker  *
2887*062a843bSAndroid Build Coastguard Worker  * FIXME should this block/mute microphone?
2888*062a843bSAndroid Build Coastguard Worker  * How does this interact with local DTMF feedback?
2889*062a843bSAndroid Build Coastguard Worker  *
2890*062a843bSAndroid Build Coastguard Worker  * Valid errors:
2891*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
2892*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
2893*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
2894*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
2895*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
2896*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
2897*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
2898*062a843bSAndroid Build Coastguard Worker  *  INVALID_CALL_ID
2899*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
2900*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
2901*062a843bSAndroid Build Coastguard Worker  *  INVALID_MODEM_STATE
2902*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
2903*062a843bSAndroid Build Coastguard Worker  *
2904*062a843bSAndroid Build Coastguard Worker  * See also: RIL_REQUEST_DTMF_STOP, RIL_REQUEST_DTMF_START
2905*062a843bSAndroid Build Coastguard Worker  *
2906*062a843bSAndroid Build Coastguard Worker  */
2907*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_DTMF 24
2908*062a843bSAndroid Build Coastguard Worker 
2909*062a843bSAndroid Build Coastguard Worker /**
2910*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SEND_SMS
2911*062a843bSAndroid Build Coastguard Worker  *
2912*062a843bSAndroid Build Coastguard Worker  * Send an SMS message
2913*062a843bSAndroid Build Coastguard Worker  *
2914*062a843bSAndroid Build Coastguard Worker  * "data" is const char **
2915*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[0] is SMSC address in GSM BCD format prefixed
2916*062a843bSAndroid Build Coastguard Worker  *      by a length byte (as expected by TS 27.005) or NULL for default SMSC
2917*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[1] is SMS in PDU format as an ASCII hex string
2918*062a843bSAndroid Build Coastguard Worker  *      less the SMSC address
2919*062a843bSAndroid Build Coastguard Worker  *      TP-Layer-Length is be "strlen(((const char **)data)[1])/2"
2920*062a843bSAndroid Build Coastguard Worker  *
2921*062a843bSAndroid Build Coastguard Worker  * "response" is a const RIL_SMS_Response *
2922*062a843bSAndroid Build Coastguard Worker  *
2923*062a843bSAndroid Build Coastguard Worker  * Based on the return error, caller decides to resend if sending sms
2924*062a843bSAndroid Build Coastguard Worker  * fails. SMS_SEND_FAIL_RETRY means retry (i.e. error cause is 332)
2925*062a843bSAndroid Build Coastguard Worker  *
2926*062a843bSAndroid Build Coastguard Worker  * Valid errors:
2927*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
2928*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
2929*062a843bSAndroid Build Coastguard Worker  *  SMS_SEND_FAIL_RETRY
2930*062a843bSAndroid Build Coastguard Worker  *  FDN_CHECK_FAILURE
2931*062a843bSAndroid Build Coastguard Worker  *  NETWORK_REJECT
2932*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
2933*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
2934*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
2935*062a843bSAndroid Build Coastguard Worker  *  REQUEST_RATE_LIMITED
2936*062a843bSAndroid Build Coastguard Worker  *  INVALID_SMS_FORMAT
2937*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
2938*062a843bSAndroid Build Coastguard Worker  *  ENCODING_ERR
2939*062a843bSAndroid Build Coastguard Worker  *  INVALID_SMSC_ADDRESS
2940*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
2941*062a843bSAndroid Build Coastguard Worker  *  NETWORK_ERR
2942*062a843bSAndroid Build Coastguard Worker  *  OPERATION_NOT_ALLOWED
2943*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
2944*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
2945*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
2946*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
2947*062a843bSAndroid Build Coastguard Worker  *  MODE_NOT_SUPPORTED
2948*062a843bSAndroid Build Coastguard Worker  *  SIM_ABSENT
2949*062a843bSAndroid Build Coastguard Worker  *
2950*062a843bSAndroid Build Coastguard Worker  * FIXME how do we specify TP-Message-Reference if we need to resend?
2951*062a843bSAndroid Build Coastguard Worker  */
2952*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SEND_SMS 25
2953*062a843bSAndroid Build Coastguard Worker 
2954*062a843bSAndroid Build Coastguard Worker 
2955*062a843bSAndroid Build Coastguard Worker /**
2956*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SEND_SMS_EXPECT_MORE
2957*062a843bSAndroid Build Coastguard Worker  *
2958*062a843bSAndroid Build Coastguard Worker  * Send an SMS message. Identical to RIL_REQUEST_SEND_SMS,
2959*062a843bSAndroid Build Coastguard Worker  * except that more messages are expected to be sent soon. If possible,
2960*062a843bSAndroid Build Coastguard Worker  * keep SMS relay protocol link open (eg TS 27.005 AT+CMMS command)
2961*062a843bSAndroid Build Coastguard Worker  *
2962*062a843bSAndroid Build Coastguard Worker  * "data" is const char **
2963*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[0] is SMSC address in GSM BCD format prefixed
2964*062a843bSAndroid Build Coastguard Worker  *      by a length byte (as expected by TS 27.005) or NULL for default SMSC
2965*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[1] is SMS in PDU format as an ASCII hex string
2966*062a843bSAndroid Build Coastguard Worker  *      less the SMSC address
2967*062a843bSAndroid Build Coastguard Worker  *      TP-Layer-Length is be "strlen(((const char **)data)[1])/2"
2968*062a843bSAndroid Build Coastguard Worker  *
2969*062a843bSAndroid Build Coastguard Worker  * "response" is a const RIL_SMS_Response *
2970*062a843bSAndroid Build Coastguard Worker  *
2971*062a843bSAndroid Build Coastguard Worker  * Based on the return error, caller decides to resend if sending sms
2972*062a843bSAndroid Build Coastguard Worker  * fails. SMS_SEND_FAIL_RETRY means retry (i.e. error cause is 332)
2973*062a843bSAndroid Build Coastguard Worker  *
2974*062a843bSAndroid Build Coastguard Worker  * Valid errors:
2975*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
2976*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
2977*062a843bSAndroid Build Coastguard Worker  *  SMS_SEND_FAIL_RETRY
2978*062a843bSAndroid Build Coastguard Worker  *  NETWORK_REJECT
2979*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
2980*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
2981*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
2982*062a843bSAndroid Build Coastguard Worker  *  INVALID_SMS_FORMAT
2983*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
2984*062a843bSAndroid Build Coastguard Worker  *  REQUEST_RATE_LIMITED
2985*062a843bSAndroid Build Coastguard Worker  *  FDN_CHECK_FAILURE
2986*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
2987*062a843bSAndroid Build Coastguard Worker  *  NETWORK_ERR
2988*062a843bSAndroid Build Coastguard Worker  *  ENCODING_ERR
2989*062a843bSAndroid Build Coastguard Worker  *  INVALID_SMSC_ADDRESS
2990*062a843bSAndroid Build Coastguard Worker  *  OPERATION_NOT_ALLOWED
2991*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
2992*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
2993*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
2994*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
2995*062a843bSAndroid Build Coastguard Worker  *  MODE_NOT_SUPPORTED
2996*062a843bSAndroid Build Coastguard Worker  *  SIM_ABSENT
2997*062a843bSAndroid Build Coastguard Worker  *
2998*062a843bSAndroid Build Coastguard Worker  */
2999*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SEND_SMS_EXPECT_MORE 26
3000*062a843bSAndroid Build Coastguard Worker 
3001*062a843bSAndroid Build Coastguard Worker 
3002*062a843bSAndroid Build Coastguard Worker /**
3003*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SETUP_DATA_CALL
3004*062a843bSAndroid Build Coastguard Worker  *
3005*062a843bSAndroid Build Coastguard Worker  * Setup a packet data connection. If RIL_Data_Call_Response_v6.status
3006*062a843bSAndroid Build Coastguard Worker  * return success it is added to the list of data calls and a
3007*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_DATA_CALL_LIST_CHANGED is sent. The call remains in the
3008*062a843bSAndroid Build Coastguard Worker  * list until RIL_REQUEST_DEACTIVATE_DATA_CALL is issued or the
3009*062a843bSAndroid Build Coastguard Worker  * radio is powered off/on. This list is returned by RIL_REQUEST_DATA_CALL_LIST
3010*062a843bSAndroid Build Coastguard Worker  * and RIL_UNSOL_DATA_CALL_LIST_CHANGED.
3011*062a843bSAndroid Build Coastguard Worker  *
3012*062a843bSAndroid Build Coastguard Worker  * The RIL is expected to:
3013*062a843bSAndroid Build Coastguard Worker  *  - Create one data call context.
3014*062a843bSAndroid Build Coastguard Worker  *  - Create and configure a dedicated interface for the context
3015*062a843bSAndroid Build Coastguard Worker  *  - The interface must be point to point.
3016*062a843bSAndroid Build Coastguard Worker  *  - The interface is configured with one or more addresses and
3017*062a843bSAndroid Build Coastguard Worker  *    is capable of sending and receiving packets. The prefix length
3018*062a843bSAndroid Build Coastguard Worker  *    of the addresses must be /32 for IPv4 and /128 for IPv6.
3019*062a843bSAndroid Build Coastguard Worker  *  - Must NOT change the linux routing table.
3020*062a843bSAndroid Build Coastguard Worker  *  - Support up to RIL_REQUEST_DATA_REGISTRATION_STATE response[5]
3021*062a843bSAndroid Build Coastguard Worker  *    number of simultaneous data call contexts.
3022*062a843bSAndroid Build Coastguard Worker  *
3023*062a843bSAndroid Build Coastguard Worker  * "data" is a const char **
3024*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[0] Radio technology to use: 0-CDMA, 1-GSM/UMTS, 2...
3025*062a843bSAndroid Build Coastguard Worker  *                          for values above 2 this is RIL_RadioTechnology + 2.
3026*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[1] is a RIL_DataProfile (support is optional)
3027*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[2] is the APN to connect to if radio technology is GSM/UMTS. This APN will
3028*062a843bSAndroid Build Coastguard Worker  *                          override the one in the profile. NULL indicates no APN overrride.
3029*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[3] is the username for APN, or NULL
3030*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[4] is the password for APN, or NULL
3031*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[5] is the PAP / CHAP auth type. Values:
3032*062a843bSAndroid Build Coastguard Worker  *                          0 => PAP and CHAP is never performed.
3033*062a843bSAndroid Build Coastguard Worker  *                          1 => PAP may be performed; CHAP is never performed.
3034*062a843bSAndroid Build Coastguard Worker  *                          2 => CHAP may be performed; PAP is never performed.
3035*062a843bSAndroid Build Coastguard Worker  *                          3 => PAP / CHAP may be performed - baseband dependent.
3036*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[6] is the non-roaming/home connection type to request. Must be one of the
3037*062a843bSAndroid Build Coastguard Worker  *                          PDP_type values in TS 27.007 section 10.1.1.
3038*062a843bSAndroid Build Coastguard Worker  *                          For example, "IP", "IPV6", "IPV4V6", or "PPP".
3039*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[7] is the roaming connection type to request. Must be one of the
3040*062a843bSAndroid Build Coastguard Worker  *                          PDP_type values in TS 27.007 section 10.1.1.
3041*062a843bSAndroid Build Coastguard Worker  *                          For example, "IP", "IPV6", "IPV4V6", or "PPP".
3042*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[8] is the bitmask of APN type in decimal string format. The
3043*062a843bSAndroid Build Coastguard Worker  *                          bitmask will encapsulate the following values:
3044*062a843bSAndroid Build Coastguard Worker  *                          ia,mms,agps,supl,hipri,fota,dun,ims,default.
3045*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[9] is the bearer bitmask in decimal string format. Each bit is a
3046*062a843bSAndroid Build Coastguard Worker  *                          RIL_RadioAccessFamily. "0" or NULL indicates all RATs.
3047*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[10] is the boolean in string format indicating the APN setting was
3048*062a843bSAndroid Build Coastguard Worker  *                           sent to the modem through RIL_REQUEST_SET_DATA_PROFILE earlier.
3049*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[11] is the mtu size in bytes of the mobile interface to which
3050*062a843bSAndroid Build Coastguard Worker  *                           the apn is connected.
3051*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[12] is the MVNO type:
3052*062a843bSAndroid Build Coastguard Worker  *                           possible values are "imsi", "gid", "spn".
3053*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[13] is MVNO match data in string. Can be anything defined by the carrier.
3054*062a843bSAndroid Build Coastguard Worker  *                           For example,
3055*062a843bSAndroid Build Coastguard Worker  *                           SPN like: "A MOBILE", "BEN NL", etc...
3056*062a843bSAndroid Build Coastguard Worker  *                           IMSI like: "302720x94", "2060188", etc...
3057*062a843bSAndroid Build Coastguard Worker  *                           GID like: "4E", "33", etc...
3058*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[14] is the boolean string indicating data roaming is allowed or not. "1"
3059*062a843bSAndroid Build Coastguard Worker  *                           indicates data roaming is enabled by the user, "0" indicates disabled.
3060*062a843bSAndroid Build Coastguard Worker  *
3061*062a843bSAndroid Build Coastguard Worker  * "response" is a RIL_Data_Call_Response_v11
3062*062a843bSAndroid Build Coastguard Worker  *
3063*062a843bSAndroid Build Coastguard Worker  * FIXME may need way to configure QoS settings
3064*062a843bSAndroid Build Coastguard Worker  *
3065*062a843bSAndroid Build Coastguard Worker  * Valid errors:
3066*062a843bSAndroid Build Coastguard Worker  *  SUCCESS should be returned on both success and failure of setup with
3067*062a843bSAndroid Build Coastguard Worker  *  the RIL_Data_Call_Response_v6.status containing the actual status.
3068*062a843bSAndroid Build Coastguard Worker  *  For all other errors the RIL_Data_Call_Resonse_v6 is ignored.
3069*062a843bSAndroid Build Coastguard Worker  *
3070*062a843bSAndroid Build Coastguard Worker  *  Other errors could include:
3071*062a843bSAndroid Build Coastguard Worker  *    RADIO_NOT_AVAILABLE, OP_NOT_ALLOWED_BEFORE_REG_TO_NW,
3072*062a843bSAndroid Build Coastguard Worker  *    OP_NOT_ALLOWED_DURING_VOICE_CALL, REQUEST_NOT_SUPPORTED,
3073*062a843bSAndroid Build Coastguard Worker  *    INVALID_ARGUMENTS, INTERNAL_ERR, NO_MEMORY, NO_RESOURCES,
3074*062a843bSAndroid Build Coastguard Worker  *    CANCELLED and SIM_ABSENT
3075*062a843bSAndroid Build Coastguard Worker  *
3076*062a843bSAndroid Build Coastguard Worker  * See also: RIL_REQUEST_DEACTIVATE_DATA_CALL
3077*062a843bSAndroid Build Coastguard Worker  */
3078*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SETUP_DATA_CALL 27
3079*062a843bSAndroid Build Coastguard Worker 
3080*062a843bSAndroid Build Coastguard Worker 
3081*062a843bSAndroid Build Coastguard Worker /**
3082*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SIM_IO
3083*062a843bSAndroid Build Coastguard Worker  *
3084*062a843bSAndroid Build Coastguard Worker  * Request SIM I/O operation.
3085*062a843bSAndroid Build Coastguard Worker  * This is similar to the TS 27.007 "restricted SIM" operation
3086*062a843bSAndroid Build Coastguard Worker  * where it assumes all of the EF selection will be done by the
3087*062a843bSAndroid Build Coastguard Worker  * callee.
3088*062a843bSAndroid Build Coastguard Worker  *
3089*062a843bSAndroid Build Coastguard Worker  * "data" is a const RIL_SIM_IO_v6 *
3090*062a843bSAndroid Build Coastguard Worker  * Please note that RIL_SIM_IO has a "PIN2" field which may be NULL,
3091*062a843bSAndroid Build Coastguard Worker  * or may specify a PIN2 for operations that require a PIN2 (eg
3092*062a843bSAndroid Build Coastguard Worker  * updating FDN records)
3093*062a843bSAndroid Build Coastguard Worker  *
3094*062a843bSAndroid Build Coastguard Worker  * "response" is a const RIL_SIM_IO_Response *
3095*062a843bSAndroid Build Coastguard Worker  *
3096*062a843bSAndroid Build Coastguard Worker  * Arguments and responses that are unused for certain
3097*062a843bSAndroid Build Coastguard Worker  * values of "command" should be ignored or set to NULL
3098*062a843bSAndroid Build Coastguard Worker  *
3099*062a843bSAndroid Build Coastguard Worker  * Valid errors:
3100*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
3101*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
3102*062a843bSAndroid Build Coastguard Worker  *  SIM_PIN2
3103*062a843bSAndroid Build Coastguard Worker  *  SIM_PUK2
3104*062a843bSAndroid Build Coastguard Worker  *  INVALID_SIM_STATE
3105*062a843bSAndroid Build Coastguard Worker  *  SIM_ERR
3106*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
3107*062a843bSAndroid Build Coastguard Worker  */
3108*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SIM_IO 28
3109*062a843bSAndroid Build Coastguard Worker 
3110*062a843bSAndroid Build Coastguard Worker /**
3111*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SEND_USSD
3112*062a843bSAndroid Build Coastguard Worker  *
3113*062a843bSAndroid Build Coastguard Worker  * Send a USSD message
3114*062a843bSAndroid Build Coastguard Worker  *
3115*062a843bSAndroid Build Coastguard Worker  * If a USSD session already exists, the message should be sent in the
3116*062a843bSAndroid Build Coastguard Worker  * context of that session. Otherwise, a new session should be created.
3117*062a843bSAndroid Build Coastguard Worker  *
3118*062a843bSAndroid Build Coastguard Worker  * The network reply should be reported via RIL_UNSOL_ON_USSD
3119*062a843bSAndroid Build Coastguard Worker  *
3120*062a843bSAndroid Build Coastguard Worker  * Only one USSD session may exist at a time, and the session is assumed
3121*062a843bSAndroid Build Coastguard Worker  * to exist until:
3122*062a843bSAndroid Build Coastguard Worker  *   a) The android system invokes RIL_REQUEST_CANCEL_USSD
3123*062a843bSAndroid Build Coastguard Worker  *   b) The implementation sends a RIL_UNSOL_ON_USSD with a type code
3124*062a843bSAndroid Build Coastguard Worker  *      of "0" (USSD-Notify/no further action) or "2" (session terminated)
3125*062a843bSAndroid Build Coastguard Worker  *
3126*062a843bSAndroid Build Coastguard Worker  * "data" is a const char * containing the USSD request in UTF-8 format
3127*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
3128*062a843bSAndroid Build Coastguard Worker  *
3129*062a843bSAndroid Build Coastguard Worker  * Valid errors:
3130*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
3131*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
3132*062a843bSAndroid Build Coastguard Worker  *  FDN_CHECK_FAILURE
3133*062a843bSAndroid Build Coastguard Worker  *  USSD_MODIFIED_TO_DIAL
3134*062a843bSAndroid Build Coastguard Worker  *  USSD_MODIFIED_TO_SS
3135*062a843bSAndroid Build Coastguard Worker  *  USSD_MODIFIED_TO_USSD
3136*062a843bSAndroid Build Coastguard Worker  *  SIM_BUSY
3137*062a843bSAndroid Build Coastguard Worker  *  OPERATION_NOT_ALLOWED
3138*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
3139*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
3140*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
3141*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
3142*062a843bSAndroid Build Coastguard Worker  *  ABORTED
3143*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
3144*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
3145*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
3146*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
3147*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
3148*062a843bSAndroid Build Coastguard Worker  *
3149*062a843bSAndroid Build Coastguard Worker  * See also: RIL_REQUEST_CANCEL_USSD, RIL_UNSOL_ON_USSD
3150*062a843bSAndroid Build Coastguard Worker  */
3151*062a843bSAndroid Build Coastguard Worker 
3152*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SEND_USSD 29
3153*062a843bSAndroid Build Coastguard Worker 
3154*062a843bSAndroid Build Coastguard Worker /**
3155*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_CANCEL_USSD
3156*062a843bSAndroid Build Coastguard Worker  *
3157*062a843bSAndroid Build Coastguard Worker  * Cancel the current USSD session if one exists
3158*062a843bSAndroid Build Coastguard Worker  *
3159*062a843bSAndroid Build Coastguard Worker  * "data" is null
3160*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
3161*062a843bSAndroid Build Coastguard Worker  *
3162*062a843bSAndroid Build Coastguard Worker  * Valid errors:
3163*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
3164*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
3165*062a843bSAndroid Build Coastguard Worker  *  SIM_BUSY
3166*062a843bSAndroid Build Coastguard Worker  *  OPERATION_NOT_ALLOWED
3167*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
3168*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
3169*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
3170*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
3171*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
3172*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
3173*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
3174*062a843bSAndroid Build Coastguard Worker  */
3175*062a843bSAndroid Build Coastguard Worker 
3176*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_CANCEL_USSD 30
3177*062a843bSAndroid Build Coastguard Worker 
3178*062a843bSAndroid Build Coastguard Worker /**
3179*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_GET_CLIR
3180*062a843bSAndroid Build Coastguard Worker  *
3181*062a843bSAndroid Build Coastguard Worker  * Gets current CLIR status
3182*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
3183*062a843bSAndroid Build Coastguard Worker  * "response" is int *
3184*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is "n" parameter from TS 27.007 7.7
3185*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[1] is "m" parameter from TS 27.007 7.7
3186*062a843bSAndroid Build Coastguard Worker  *
3187*062a843bSAndroid Build Coastguard Worker  * Valid errors:
3188*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
3189*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
3190*062a843bSAndroid Build Coastguard Worker  *  SS_MODIFIED_TO_DIAL
3191*062a843bSAndroid Build Coastguard Worker  *  SS_MODIFIED_TO_USSD
3192*062a843bSAndroid Build Coastguard Worker  *  SS_MODIFIED_TO_SS
3193*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
3194*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
3195*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
3196*062a843bSAndroid Build Coastguard Worker  *  FDN_CHECK_FAILURE
3197*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
3198*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
3199*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
3200*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
3201*062a843bSAndroid Build Coastguard Worker  */
3202*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_GET_CLIR 31
3203*062a843bSAndroid Build Coastguard Worker 
3204*062a843bSAndroid Build Coastguard Worker /**
3205*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SET_CLIR
3206*062a843bSAndroid Build Coastguard Worker  *
3207*062a843bSAndroid Build Coastguard Worker  * "data" is int *
3208*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is "n" parameter from TS 27.007 7.7
3209*062a843bSAndroid Build Coastguard Worker  *
3210*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
3211*062a843bSAndroid Build Coastguard Worker  *
3212*062a843bSAndroid Build Coastguard Worker  * Valid errors:
3213*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
3214*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
3215*062a843bSAndroid Build Coastguard Worker  *  SS_MODIFIED_TO_DIAL
3216*062a843bSAndroid Build Coastguard Worker  *  SS_MODIFIED_TO_USSD
3217*062a843bSAndroid Build Coastguard Worker  *  SS_MODIFIED_TO_SS
3218*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
3219*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
3220*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
3221*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
3222*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
3223*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
3224*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
3225*062a843bSAndroid Build Coastguard Worker  */
3226*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SET_CLIR 32
3227*062a843bSAndroid Build Coastguard Worker 
3228*062a843bSAndroid Build Coastguard Worker /**
3229*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_QUERY_CALL_FORWARD_STATUS
3230*062a843bSAndroid Build Coastguard Worker  *
3231*062a843bSAndroid Build Coastguard Worker  * "data" is const RIL_CallForwardInfo *
3232*062a843bSAndroid Build Coastguard Worker  *
3233*062a843bSAndroid Build Coastguard Worker  * "response" is const RIL_CallForwardInfo **
3234*062a843bSAndroid Build Coastguard Worker  * "response" points to an array of RIL_CallForwardInfo *'s, one for
3235*062a843bSAndroid Build Coastguard Worker  * each distinct registered phone number.
3236*062a843bSAndroid Build Coastguard Worker  *
3237*062a843bSAndroid Build Coastguard Worker  * For example, if data is forwarded to +18005551212 and voice is forwarded
3238*062a843bSAndroid Build Coastguard Worker  * to +18005559999, then two separate RIL_CallForwardInfo's should be returned
3239*062a843bSAndroid Build Coastguard Worker  *
3240*062a843bSAndroid Build Coastguard Worker  * If, however, both data and voice are forwarded to +18005551212, then
3241*062a843bSAndroid Build Coastguard Worker  * a single RIL_CallForwardInfo can be returned with the service class
3242*062a843bSAndroid Build Coastguard Worker  * set to "data + voice = 3")
3243*062a843bSAndroid Build Coastguard Worker  *
3244*062a843bSAndroid Build Coastguard Worker  * Valid errors:
3245*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
3246*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
3247*062a843bSAndroid Build Coastguard Worker  *  SS_MODIFIED_TO_DIAL
3248*062a843bSAndroid Build Coastguard Worker  *  SS_MODIFIED_TO_USSD
3249*062a843bSAndroid Build Coastguard Worker  *  SS_MODIFIED_TO_SS
3250*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
3251*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
3252*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
3253*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
3254*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
3255*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
3256*062a843bSAndroid Build Coastguard Worker  *  FDN_CHECK_FAILURE
3257*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
3258*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
3259*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
3260*062a843bSAndroid Build Coastguard Worker  */
3261*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_QUERY_CALL_FORWARD_STATUS 33
3262*062a843bSAndroid Build Coastguard Worker 
3263*062a843bSAndroid Build Coastguard Worker 
3264*062a843bSAndroid Build Coastguard Worker /**
3265*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SET_CALL_FORWARD
3266*062a843bSAndroid Build Coastguard Worker  *
3267*062a843bSAndroid Build Coastguard Worker  * Configure call forward rule
3268*062a843bSAndroid Build Coastguard Worker  *
3269*062a843bSAndroid Build Coastguard Worker  * "data" is const RIL_CallForwardInfo *
3270*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
3271*062a843bSAndroid Build Coastguard Worker  *
3272*062a843bSAndroid Build Coastguard Worker  * Valid errors:
3273*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
3274*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
3275*062a843bSAndroid Build Coastguard Worker  *  SS_MODIFIED_TO_DIAL
3276*062a843bSAndroid Build Coastguard Worker  *  SS_MODIFIED_TO_USSD
3277*062a843bSAndroid Build Coastguard Worker  *  SS_MODIFIED_TO_SS
3278*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
3279*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
3280*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
3281*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
3282*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
3283*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
3284*062a843bSAndroid Build Coastguard Worker  *  FDN_CHECK_FAILURE
3285*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
3286*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
3287*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
3288*062a843bSAndroid Build Coastguard Worker  */
3289*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SET_CALL_FORWARD 34
3290*062a843bSAndroid Build Coastguard Worker 
3291*062a843bSAndroid Build Coastguard Worker 
3292*062a843bSAndroid Build Coastguard Worker /**
3293*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_QUERY_CALL_WAITING
3294*062a843bSAndroid Build Coastguard Worker  *
3295*062a843bSAndroid Build Coastguard Worker  * Query current call waiting state
3296*062a843bSAndroid Build Coastguard Worker  *
3297*062a843bSAndroid Build Coastguard Worker  * "data" is const int *
3298*062a843bSAndroid Build Coastguard Worker  * ((const int *)data)[0] is the TS 27.007 service class to query.
3299*062a843bSAndroid Build Coastguard Worker  * "response" is a const int *
3300*062a843bSAndroid Build Coastguard Worker  * ((const int *)response)[0] is 0 for "disabled" and 1 for "enabled"
3301*062a843bSAndroid Build Coastguard Worker  *
3302*062a843bSAndroid Build Coastguard Worker  * If ((const int *)response)[0] is = 1, then ((const int *)response)[1]
3303*062a843bSAndroid Build Coastguard Worker  * must follow, with the TS 27.007 service class bit vector of services
3304*062a843bSAndroid Build Coastguard Worker  * for which call waiting is enabled.
3305*062a843bSAndroid Build Coastguard Worker  *
3306*062a843bSAndroid Build Coastguard Worker  * For example, if ((const int *)response)[0]  is 1 and
3307*062a843bSAndroid Build Coastguard Worker  * ((const int *)response)[1] is 3, then call waiting is enabled for data
3308*062a843bSAndroid Build Coastguard Worker  * and voice and disabled for everything else
3309*062a843bSAndroid Build Coastguard Worker  *
3310*062a843bSAndroid Build Coastguard Worker  * Valid errors:
3311*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
3312*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
3313*062a843bSAndroid Build Coastguard Worker  *  SS_MODIFIED_TO_DIAL
3314*062a843bSAndroid Build Coastguard Worker  *  SS_MODIFIED_TO_USSD
3315*062a843bSAndroid Build Coastguard Worker  *  SS_MODIFIED_TO_SS
3316*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
3317*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
3318*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
3319*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
3320*062a843bSAndroid Build Coastguard Worker  *  FDN_CHECK_FAILURE
3321*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
3322*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
3323*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
3324*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
3325*062a843bSAndroid Build Coastguard Worker  */
3326*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_QUERY_CALL_WAITING 35
3327*062a843bSAndroid Build Coastguard Worker 
3328*062a843bSAndroid Build Coastguard Worker 
3329*062a843bSAndroid Build Coastguard Worker /**
3330*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SET_CALL_WAITING
3331*062a843bSAndroid Build Coastguard Worker  *
3332*062a843bSAndroid Build Coastguard Worker  * Configure current call waiting state
3333*062a843bSAndroid Build Coastguard Worker  *
3334*062a843bSAndroid Build Coastguard Worker  * "data" is const int *
3335*062a843bSAndroid Build Coastguard Worker  * ((const int *)data)[0] is 0 for "disabled" and 1 for "enabled"
3336*062a843bSAndroid Build Coastguard Worker  * ((const int *)data)[1] is the TS 27.007 service class bit vector of
3337*062a843bSAndroid Build Coastguard Worker  *                           services to modify
3338*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
3339*062a843bSAndroid Build Coastguard Worker  *
3340*062a843bSAndroid Build Coastguard Worker  * Valid errors:
3341*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
3342*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
3343*062a843bSAndroid Build Coastguard Worker  *  SS_MODIFIED_TO_DIAL
3344*062a843bSAndroid Build Coastguard Worker  *  SS_MODIFIED_TO_USSD
3345*062a843bSAndroid Build Coastguard Worker  *  SS_MODIFIED_TO_SS
3346*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
3347*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
3348*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
3349*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
3350*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
3351*062a843bSAndroid Build Coastguard Worker  *  FDN_CHECK_FAILURE
3352*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
3353*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
3354*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
3355*062a843bSAndroid Build Coastguard Worker  */
3356*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SET_CALL_WAITING 36
3357*062a843bSAndroid Build Coastguard Worker 
3358*062a843bSAndroid Build Coastguard Worker /**
3359*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SMS_ACKNOWLEDGE
3360*062a843bSAndroid Build Coastguard Worker  *
3361*062a843bSAndroid Build Coastguard Worker  * Acknowledge successful or failed receipt of SMS previously indicated
3362*062a843bSAndroid Build Coastguard Worker  * via RIL_UNSOL_RESPONSE_NEW_SMS
3363*062a843bSAndroid Build Coastguard Worker  *
3364*062a843bSAndroid Build Coastguard Worker  * "data" is int *
3365*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is 1 on successful receipt
3366*062a843bSAndroid Build Coastguard Worker  *                  (basically, AT+CNMA=1 from TS 27.005
3367*062a843bSAndroid Build Coastguard Worker  *                  is 0 on failed receipt
3368*062a843bSAndroid Build Coastguard Worker  *                  (basically, AT+CNMA=2 from TS 27.005)
3369*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[1] if data[0] is 0, this contains the failure cause as defined
3370*062a843bSAndroid Build Coastguard Worker  *                  in TS 23.040, 9.2.3.22. Currently only 0xD3 (memory
3371*062a843bSAndroid Build Coastguard Worker  *                  capacity exceeded) and 0xFF (unspecified error) are
3372*062a843bSAndroid Build Coastguard Worker  *                  reported.
3373*062a843bSAndroid Build Coastguard Worker  *
3374*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
3375*062a843bSAndroid Build Coastguard Worker  *
3376*062a843bSAndroid Build Coastguard Worker  * FIXME would like request that specified RP-ACK/RP-ERROR PDU
3377*062a843bSAndroid Build Coastguard Worker  *
3378*062a843bSAndroid Build Coastguard Worker  * Valid errors:
3379*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
3380*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
3381*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
3382*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
3383*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
3384*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
3385*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
3386*062a843bSAndroid Build Coastguard Worker  */
3387*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SMS_ACKNOWLEDGE  37
3388*062a843bSAndroid Build Coastguard Worker 
3389*062a843bSAndroid Build Coastguard Worker /**
3390*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_GET_IMEI - DEPRECATED
3391*062a843bSAndroid Build Coastguard Worker  *
3392*062a843bSAndroid Build Coastguard Worker  * Get the device IMEI, including check digit
3393*062a843bSAndroid Build Coastguard Worker  *
3394*062a843bSAndroid Build Coastguard Worker  * The request is DEPRECATED, use RIL_REQUEST_DEVICE_IDENTITY
3395*062a843bSAndroid Build Coastguard Worker  * Valid when RadioState is not RADIO_STATE_UNAVAILABLE
3396*062a843bSAndroid Build Coastguard Worker  *
3397*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
3398*062a843bSAndroid Build Coastguard Worker  * "response" is a const char * containing the IMEI
3399*062a843bSAndroid Build Coastguard Worker  *
3400*062a843bSAndroid Build Coastguard Worker  * Valid errors:
3401*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
3402*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE (radio resetting)
3403*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
3404*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
3405*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
3406*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
3407*062a843bSAndroid Build Coastguard Worker  *  NOT_PROVISIONED
3408*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
3409*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
3410*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
3411*062a843bSAndroid Build Coastguard Worker  */
3412*062a843bSAndroid Build Coastguard Worker 
3413*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_GET_IMEI 38
3414*062a843bSAndroid Build Coastguard Worker 
3415*062a843bSAndroid Build Coastguard Worker /**
3416*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_GET_IMEISV - DEPRECATED
3417*062a843bSAndroid Build Coastguard Worker  *
3418*062a843bSAndroid Build Coastguard Worker  * Get the device IMEISV, which should be two decimal digits
3419*062a843bSAndroid Build Coastguard Worker  *
3420*062a843bSAndroid Build Coastguard Worker  * The request is DEPRECATED, use RIL_REQUEST_DEVICE_IDENTITY
3421*062a843bSAndroid Build Coastguard Worker  * Valid when RadioState is not RADIO_STATE_UNAVAILABLE
3422*062a843bSAndroid Build Coastguard Worker  *
3423*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
3424*062a843bSAndroid Build Coastguard Worker  * "response" is a const char * containing the IMEISV
3425*062a843bSAndroid Build Coastguard Worker  *
3426*062a843bSAndroid Build Coastguard Worker  * Valid errors:
3427*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
3428*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE (radio resetting)
3429*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
3430*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
3431*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
3432*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
3433*062a843bSAndroid Build Coastguard Worker  *  NOT_PROVISIONED
3434*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
3435*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
3436*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
3437*062a843bSAndroid Build Coastguard Worker  */
3438*062a843bSAndroid Build Coastguard Worker 
3439*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_GET_IMEISV 39
3440*062a843bSAndroid Build Coastguard Worker 
3441*062a843bSAndroid Build Coastguard Worker 
3442*062a843bSAndroid Build Coastguard Worker /**
3443*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_ANSWER
3444*062a843bSAndroid Build Coastguard Worker  *
3445*062a843bSAndroid Build Coastguard Worker  * Answer incoming call
3446*062a843bSAndroid Build Coastguard Worker  *
3447*062a843bSAndroid Build Coastguard Worker  * Will not be called for WAITING calls.
3448*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SWITCH_WAITING_OR_HOLDING_AND_ACTIVE will be used in this case
3449*062a843bSAndroid Build Coastguard Worker  * instead
3450*062a843bSAndroid Build Coastguard Worker  *
3451*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
3452*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
3453*062a843bSAndroid Build Coastguard Worker  *
3454*062a843bSAndroid Build Coastguard Worker  * Valid errors:
3455*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
3456*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE (radio resetting)
3457*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
3458*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
3459*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
3460*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
3461*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
3462*062a843bSAndroid Build Coastguard Worker  *  INVALID_CALL_ID
3463*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
3464*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
3465*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
3466*062a843bSAndroid Build Coastguard Worker  */
3467*062a843bSAndroid Build Coastguard Worker 
3468*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_ANSWER 40
3469*062a843bSAndroid Build Coastguard Worker 
3470*062a843bSAndroid Build Coastguard Worker /**
3471*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_DEACTIVATE_DATA_CALL
3472*062a843bSAndroid Build Coastguard Worker  *
3473*062a843bSAndroid Build Coastguard Worker  * Deactivate packet data connection and remove from the
3474*062a843bSAndroid Build Coastguard Worker  * data call list if SUCCESS is returned. Any other return
3475*062a843bSAndroid Build Coastguard Worker  * values should also try to remove the call from the list,
3476*062a843bSAndroid Build Coastguard Worker  * but that may not be possible. In any event a
3477*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_RADIO_POWER off/on must clear the list. An
3478*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_DATA_CALL_LIST_CHANGED is not expected to be
3479*062a843bSAndroid Build Coastguard Worker  * issued because of an RIL_REQUEST_DEACTIVATE_DATA_CALL.
3480*062a843bSAndroid Build Coastguard Worker  *
3481*062a843bSAndroid Build Coastguard Worker  * "data" is const char **
3482*062a843bSAndroid Build Coastguard Worker  * ((char**)data)[0] indicating CID
3483*062a843bSAndroid Build Coastguard Worker  * ((char**)data)[1] indicating Disconnect Reason
3484*062a843bSAndroid Build Coastguard Worker  *                   0 => No specific reason specified
3485*062a843bSAndroid Build Coastguard Worker  *                   1 => Radio shutdown requested
3486*062a843bSAndroid Build Coastguard Worker  *
3487*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
3488*062a843bSAndroid Build Coastguard Worker  *
3489*062a843bSAndroid Build Coastguard Worker  * Valid errors:
3490*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
3491*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
3492*062a843bSAndroid Build Coastguard Worker  *  INVALID_CALL_ID
3493*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
3494*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
3495*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
3496*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
3497*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
3498*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
3499*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
3500*062a843bSAndroid Build Coastguard Worker  *  SIM_ABSENT
3501*062a843bSAndroid Build Coastguard Worker  *
3502*062a843bSAndroid Build Coastguard Worker  * See also: RIL_REQUEST_SETUP_DATA_CALL
3503*062a843bSAndroid Build Coastguard Worker  */
3504*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_DEACTIVATE_DATA_CALL 41
3505*062a843bSAndroid Build Coastguard Worker 
3506*062a843bSAndroid Build Coastguard Worker /**
3507*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_QUERY_FACILITY_LOCK
3508*062a843bSAndroid Build Coastguard Worker  *
3509*062a843bSAndroid Build Coastguard Worker  * Query the status of a facility lock state
3510*062a843bSAndroid Build Coastguard Worker  *
3511*062a843bSAndroid Build Coastguard Worker  * "data" is const char **
3512*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[0] is the facility string code from TS 27.007 7.4
3513*062a843bSAndroid Build Coastguard Worker  *                      (eg "AO" for BAOC, "SC" for SIM lock)
3514*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[1] is the password, or "" if not required
3515*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[2] is the TS 27.007 service class bit vector of
3516*062a843bSAndroid Build Coastguard Worker  *                           services to query
3517*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[3] is AID value, See ETSI 102.221 8.1 and 101.220 4, NULL if no value.
3518*062a843bSAndroid Build Coastguard Worker  *                            This is only applicable in the case of Fixed Dialing Numbers
3519*062a843bSAndroid Build Coastguard Worker  *                            (FDN) requests.
3520*062a843bSAndroid Build Coastguard Worker  *
3521*062a843bSAndroid Build Coastguard Worker  * "response" is an int *
3522*062a843bSAndroid Build Coastguard Worker  * ((const int *)response) 0 is the TS 27.007 service class bit vector of
3523*062a843bSAndroid Build Coastguard Worker  *                           services for which the specified barring facility
3524*062a843bSAndroid Build Coastguard Worker  *                           is active. "0" means "disabled for all"
3525*062a843bSAndroid Build Coastguard Worker  *
3526*062a843bSAndroid Build Coastguard Worker  *
3527*062a843bSAndroid Build Coastguard Worker  * Valid errors:
3528*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
3529*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
3530*062a843bSAndroid Build Coastguard Worker  *  SS_MODIFIED_TO_DIAL
3531*062a843bSAndroid Build Coastguard Worker  *  SS_MODIFIED_TO_USSD
3532*062a843bSAndroid Build Coastguard Worker  *  SS_MODIFIED_TO_SS
3533*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
3534*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
3535*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
3536*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
3537*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
3538*062a843bSAndroid Build Coastguard Worker  *  FDN_CHECK_FAILURE
3539*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
3540*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
3541*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
3542*062a843bSAndroid Build Coastguard Worker  *
3543*062a843bSAndroid Build Coastguard Worker  */
3544*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_QUERY_FACILITY_LOCK 42
3545*062a843bSAndroid Build Coastguard Worker 
3546*062a843bSAndroid Build Coastguard Worker /**
3547*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SET_FACILITY_LOCK
3548*062a843bSAndroid Build Coastguard Worker  *
3549*062a843bSAndroid Build Coastguard Worker  * Enable/disable one facility lock
3550*062a843bSAndroid Build Coastguard Worker  *
3551*062a843bSAndroid Build Coastguard Worker  * "data" is const char **
3552*062a843bSAndroid Build Coastguard Worker  *
3553*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[0] = facility string code from TS 27.007 7.4
3554*062a843bSAndroid Build Coastguard Worker  * (eg "AO" for BAOC)
3555*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[1] = "0" for "unlock" and "1" for "lock"
3556*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[2] = password
3557*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[3] = string representation of decimal TS 27.007
3558*062a843bSAndroid Build Coastguard Worker  *                            service class bit vector. Eg, the string
3559*062a843bSAndroid Build Coastguard Worker  *                            "1" means "set this facility for voice services"
3560*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[4] = AID value, See ETSI 102.221 8.1 and 101.220 4, NULL if no value.
3561*062a843bSAndroid Build Coastguard Worker  *                            This is only applicable in the case of Fixed Dialing Numbers
3562*062a843bSAndroid Build Coastguard Worker  *                            (FDN) requests.
3563*062a843bSAndroid Build Coastguard Worker  *
3564*062a843bSAndroid Build Coastguard Worker  * "response" is int *
3565*062a843bSAndroid Build Coastguard Worker  * ((int *)response)[0] is the number of retries remaining, or -1 if unknown
3566*062a843bSAndroid Build Coastguard Worker  *
3567*062a843bSAndroid Build Coastguard Worker  * Valid errors:
3568*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
3569*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
3570*062a843bSAndroid Build Coastguard Worker  *  SS_MODIFIED_TO_DIAL
3571*062a843bSAndroid Build Coastguard Worker  *  SS_MODIFIED_TO_USSD
3572*062a843bSAndroid Build Coastguard Worker  *  SS_MODIFIED_TO_SS
3573*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
3574*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
3575*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
3576*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
3577*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
3578*062a843bSAndroid Build Coastguard Worker  *  FDN_CHECK_FAILURE
3579*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
3580*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
3581*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
3582*062a843bSAndroid Build Coastguard Worker  *
3583*062a843bSAndroid Build Coastguard Worker  */
3584*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SET_FACILITY_LOCK 43
3585*062a843bSAndroid Build Coastguard Worker 
3586*062a843bSAndroid Build Coastguard Worker /**
3587*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_CHANGE_BARRING_PASSWORD
3588*062a843bSAndroid Build Coastguard Worker  *
3589*062a843bSAndroid Build Coastguard Worker  * Change call barring facility password
3590*062a843bSAndroid Build Coastguard Worker  *
3591*062a843bSAndroid Build Coastguard Worker  * "data" is const char **
3592*062a843bSAndroid Build Coastguard Worker  *
3593*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[0] = facility string code from TS 27.007 7.4
3594*062a843bSAndroid Build Coastguard Worker  * (eg "AO" for BAOC)
3595*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[1] = old password
3596*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[2] = new password
3597*062a843bSAndroid Build Coastguard Worker  *
3598*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
3599*062a843bSAndroid Build Coastguard Worker  *
3600*062a843bSAndroid Build Coastguard Worker  * Valid errors:
3601*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
3602*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
3603*062a843bSAndroid Build Coastguard Worker  *  SS_MODIFIED_TO_DIAL
3604*062a843bSAndroid Build Coastguard Worker  *  SS_MODIFIED_TO_USSD
3605*062a843bSAndroid Build Coastguard Worker  *  SS_MODIFIED_TO_SS
3606*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
3607*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
3608*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
3609*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
3610*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
3611*062a843bSAndroid Build Coastguard Worker  *  FDN_CHECK_FAILURE
3612*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
3613*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
3614*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
3615*062a843bSAndroid Build Coastguard Worker  *
3616*062a843bSAndroid Build Coastguard Worker  */
3617*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_CHANGE_BARRING_PASSWORD 44
3618*062a843bSAndroid Build Coastguard Worker 
3619*062a843bSAndroid Build Coastguard Worker /**
3620*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_QUERY_NETWORK_SELECTION_MODE
3621*062a843bSAndroid Build Coastguard Worker  *
3622*062a843bSAndroid Build Coastguard Worker  * Query current network selectin mode
3623*062a843bSAndroid Build Coastguard Worker  *
3624*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
3625*062a843bSAndroid Build Coastguard Worker  *
3626*062a843bSAndroid Build Coastguard Worker  * "response" is int *
3627*062a843bSAndroid Build Coastguard Worker  * ((const int *)response)[0] is
3628*062a843bSAndroid Build Coastguard Worker  *     0 for automatic selection
3629*062a843bSAndroid Build Coastguard Worker  *     1 for manual selection
3630*062a843bSAndroid Build Coastguard Worker  *
3631*062a843bSAndroid Build Coastguard Worker  * Valid errors:
3632*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
3633*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
3634*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
3635*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
3636*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
3637*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
3638*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
3639*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
3640*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
3641*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
3642*062a843bSAndroid Build Coastguard Worker  *
3643*062a843bSAndroid Build Coastguard Worker  */
3644*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_QUERY_NETWORK_SELECTION_MODE 45
3645*062a843bSAndroid Build Coastguard Worker 
3646*062a843bSAndroid Build Coastguard Worker /**
3647*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SET_NETWORK_SELECTION_AUTOMATIC
3648*062a843bSAndroid Build Coastguard Worker  *
3649*062a843bSAndroid Build Coastguard Worker  * Specify that the network should be selected automatically
3650*062a843bSAndroid Build Coastguard Worker  *
3651*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
3652*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
3653*062a843bSAndroid Build Coastguard Worker  *
3654*062a843bSAndroid Build Coastguard Worker  * This request must not respond until the new operator is selected
3655*062a843bSAndroid Build Coastguard Worker  * and registered
3656*062a843bSAndroid Build Coastguard Worker  *
3657*062a843bSAndroid Build Coastguard Worker  * Valid errors:
3658*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
3659*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
3660*062a843bSAndroid Build Coastguard Worker  *  ILLEGAL_SIM_OR_ME
3661*062a843bSAndroid Build Coastguard Worker  *  OPERATION_NOT_ALLOWED
3662*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
3663*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
3664*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
3665*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
3666*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
3667*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
3668*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
3669*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
3670*062a843bSAndroid Build Coastguard Worker  *
3671*062a843bSAndroid Build Coastguard Worker  * Note: Returns ILLEGAL_SIM_OR_ME when the failure is permanent and
3672*062a843bSAndroid Build Coastguard Worker  *       no retries needed, such as illegal SIM or ME.
3673*062a843bSAndroid Build Coastguard Worker  *
3674*062a843bSAndroid Build Coastguard Worker  */
3675*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SET_NETWORK_SELECTION_AUTOMATIC 46
3676*062a843bSAndroid Build Coastguard Worker 
3677*062a843bSAndroid Build Coastguard Worker /**
3678*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SET_NETWORK_SELECTION_MANUAL
3679*062a843bSAndroid Build Coastguard Worker  *
3680*062a843bSAndroid Build Coastguard Worker  * Manually select a specified network.
3681*062a843bSAndroid Build Coastguard Worker  *
3682*062a843bSAndroid Build Coastguard Worker  * "data" is const char * specifying MCCMNC of network to select (eg "310170")
3683*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
3684*062a843bSAndroid Build Coastguard Worker  *
3685*062a843bSAndroid Build Coastguard Worker  * This request must not respond until the new operator is selected
3686*062a843bSAndroid Build Coastguard Worker  * and registered
3687*062a843bSAndroid Build Coastguard Worker  *
3688*062a843bSAndroid Build Coastguard Worker  * Valid errors:
3689*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
3690*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
3691*062a843bSAndroid Build Coastguard Worker  *  ILLEGAL_SIM_OR_ME
3692*062a843bSAndroid Build Coastguard Worker  *  OPERATION_NOT_ALLOWED
3693*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
3694*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
3695*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
3696*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
3697*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
3698*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
3699*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
3700*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
3701*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
3702*062a843bSAndroid Build Coastguard Worker  *
3703*062a843bSAndroid Build Coastguard Worker  * Note: Returns ILLEGAL_SIM_OR_ME when the failure is permanent and
3704*062a843bSAndroid Build Coastguard Worker  *       no retries needed, such as illegal SIM or ME.
3705*062a843bSAndroid Build Coastguard Worker  *
3706*062a843bSAndroid Build Coastguard Worker  */
3707*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SET_NETWORK_SELECTION_MANUAL 47
3708*062a843bSAndroid Build Coastguard Worker 
3709*062a843bSAndroid Build Coastguard Worker /**
3710*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_QUERY_AVAILABLE_NETWORKS
3711*062a843bSAndroid Build Coastguard Worker  *
3712*062a843bSAndroid Build Coastguard Worker  * Scans for available networks
3713*062a843bSAndroid Build Coastguard Worker  *
3714*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
3715*062a843bSAndroid Build Coastguard Worker  * "response" is const char ** that should be an array of n*4 strings, where
3716*062a843bSAndroid Build Coastguard Worker  *    n is the number of available networks
3717*062a843bSAndroid Build Coastguard Worker  * For each available network:
3718*062a843bSAndroid Build Coastguard Worker  *
3719*062a843bSAndroid Build Coastguard Worker  * ((const char **)response)[n+0] is long alpha ONS or EONS
3720*062a843bSAndroid Build Coastguard Worker  * ((const char **)response)[n+1] is short alpha ONS or EONS
3721*062a843bSAndroid Build Coastguard Worker  * ((const char **)response)[n+2] is 5 or 6 digit numeric code (MCC + MNC)
3722*062a843bSAndroid Build Coastguard Worker  * ((const char **)response)[n+3] is a string value of the status:
3723*062a843bSAndroid Build Coastguard Worker  *           "unknown"
3724*062a843bSAndroid Build Coastguard Worker  *           "available"
3725*062a843bSAndroid Build Coastguard Worker  *           "current"
3726*062a843bSAndroid Build Coastguard Worker  *           "forbidden"
3727*062a843bSAndroid Build Coastguard Worker  *
3728*062a843bSAndroid Build Coastguard Worker  * Valid errors:
3729*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
3730*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
3731*062a843bSAndroid Build Coastguard Worker  *  OPERATION_NOT_ALLOWED
3732*062a843bSAndroid Build Coastguard Worker  *  ABORTED
3733*062a843bSAndroid Build Coastguard Worker  *  DEVICE_IN_USE
3734*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
3735*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
3736*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
3737*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
3738*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
3739*062a843bSAndroid Build Coastguard Worker  *  OPERATION_NOT_ALLOWED
3740*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
3741*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
3742*062a843bSAndroid Build Coastguard Worker  *
3743*062a843bSAndroid Build Coastguard Worker  */
3744*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_QUERY_AVAILABLE_NETWORKS 48
3745*062a843bSAndroid Build Coastguard Worker 
3746*062a843bSAndroid Build Coastguard Worker /**
3747*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_DTMF_START
3748*062a843bSAndroid Build Coastguard Worker  *
3749*062a843bSAndroid Build Coastguard Worker  * Start playing a DTMF tone. Continue playing DTMF tone until
3750*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_DTMF_STOP is received
3751*062a843bSAndroid Build Coastguard Worker  *
3752*062a843bSAndroid Build Coastguard Worker  * If a RIL_REQUEST_DTMF_START is received while a tone is currently playing,
3753*062a843bSAndroid Build Coastguard Worker  * it should cancel the previous tone and play the new one.
3754*062a843bSAndroid Build Coastguard Worker  *
3755*062a843bSAndroid Build Coastguard Worker  * "data" is a char *
3756*062a843bSAndroid Build Coastguard Worker  * ((char *)data)[0] is a single character with one of 12 values: 0-9,*,#
3757*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
3758*062a843bSAndroid Build Coastguard Worker  *
3759*062a843bSAndroid Build Coastguard Worker  * Valid errors:
3760*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
3761*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
3762*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
3763*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
3764*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
3765*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
3766*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
3767*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
3768*062a843bSAndroid Build Coastguard Worker  *  INVALID_CALL_ID
3769*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
3770*062a843bSAndroid Build Coastguard Worker  *  INVALID_MODEM_STATE
3771*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
3772*062a843bSAndroid Build Coastguard Worker  *
3773*062a843bSAndroid Build Coastguard Worker  * See also: RIL_REQUEST_DTMF, RIL_REQUEST_DTMF_STOP
3774*062a843bSAndroid Build Coastguard Worker  */
3775*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_DTMF_START 49
3776*062a843bSAndroid Build Coastguard Worker 
3777*062a843bSAndroid Build Coastguard Worker /**
3778*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_DTMF_STOP
3779*062a843bSAndroid Build Coastguard Worker  *
3780*062a843bSAndroid Build Coastguard Worker  * Stop playing a currently playing DTMF tone.
3781*062a843bSAndroid Build Coastguard Worker  *
3782*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
3783*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
3784*062a843bSAndroid Build Coastguard Worker  *
3785*062a843bSAndroid Build Coastguard Worker  * Valid errors:
3786*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
3787*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
3788*062a843bSAndroid Build Coastguard Worker  *  OPERATION_NOT_ALLOWED
3789*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
3790*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
3791*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
3792*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
3793*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
3794*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
3795*062a843bSAndroid Build Coastguard Worker  *  INVALID_CALL_ID
3796*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
3797*062a843bSAndroid Build Coastguard Worker  *  INVALID_MODEM_STATE
3798*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
3799*062a843bSAndroid Build Coastguard Worker  *
3800*062a843bSAndroid Build Coastguard Worker  * See also: RIL_REQUEST_DTMF, RIL_REQUEST_DTMF_START
3801*062a843bSAndroid Build Coastguard Worker  */
3802*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_DTMF_STOP 50
3803*062a843bSAndroid Build Coastguard Worker 
3804*062a843bSAndroid Build Coastguard Worker /**
3805*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_BASEBAND_VERSION
3806*062a843bSAndroid Build Coastguard Worker  *
3807*062a843bSAndroid Build Coastguard Worker  * Return string value indicating baseband version, eg
3808*062a843bSAndroid Build Coastguard Worker  * response from AT+CGMR
3809*062a843bSAndroid Build Coastguard Worker  *
3810*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
3811*062a843bSAndroid Build Coastguard Worker  * "response" is const char * containing version string for log reporting
3812*062a843bSAndroid Build Coastguard Worker  *
3813*062a843bSAndroid Build Coastguard Worker  * Valid errors:
3814*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
3815*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
3816*062a843bSAndroid Build Coastguard Worker  *  EMPTY_RECORD
3817*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
3818*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
3819*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
3820*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
3821*062a843bSAndroid Build Coastguard Worker  *  NOT_PROVISIONED
3822*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
3823*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
3824*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
3825*062a843bSAndroid Build Coastguard Worker  *
3826*062a843bSAndroid Build Coastguard Worker  */
3827*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_BASEBAND_VERSION 51
3828*062a843bSAndroid Build Coastguard Worker 
3829*062a843bSAndroid Build Coastguard Worker /**
3830*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SEPARATE_CONNECTION
3831*062a843bSAndroid Build Coastguard Worker  *
3832*062a843bSAndroid Build Coastguard Worker  * Separate a party from a multiparty call placing the multiparty call
3833*062a843bSAndroid Build Coastguard Worker  * (less the specified party) on hold and leaving the specified party
3834*062a843bSAndroid Build Coastguard Worker  * as the only other member of the current (active) call
3835*062a843bSAndroid Build Coastguard Worker  *
3836*062a843bSAndroid Build Coastguard Worker  * Like AT+CHLD=2x
3837*062a843bSAndroid Build Coastguard Worker  *
3838*062a843bSAndroid Build Coastguard Worker  * See TS 22.084 1.3.8.2 (iii)
3839*062a843bSAndroid Build Coastguard Worker  * TS 22.030 6.5.5 "Entering "2X followed by send"
3840*062a843bSAndroid Build Coastguard Worker  * TS 27.007 "AT+CHLD=2x"
3841*062a843bSAndroid Build Coastguard Worker  *
3842*062a843bSAndroid Build Coastguard Worker  * "data" is an int *
3843*062a843bSAndroid Build Coastguard Worker  * (int *)data)[0] contains Connection index (value of 'x' in CHLD above) "response" is NULL
3844*062a843bSAndroid Build Coastguard Worker  *
3845*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
3846*062a843bSAndroid Build Coastguard Worker  *
3847*062a843bSAndroid Build Coastguard Worker  * Valid errors:
3848*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
3849*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE (radio resetting)
3850*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
3851*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
3852*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
3853*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
3854*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
3855*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
3856*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
3857*062a843bSAndroid Build Coastguard Worker  *  INVALID_CALL_ID
3858*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
3859*062a843bSAndroid Build Coastguard Worker  *  OPERATION_NOT_ALLOWED
3860*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
3861*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
3862*062a843bSAndroid Build Coastguard Worker  */
3863*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SEPARATE_CONNECTION 52
3864*062a843bSAndroid Build Coastguard Worker 
3865*062a843bSAndroid Build Coastguard Worker 
3866*062a843bSAndroid Build Coastguard Worker /**
3867*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SET_MUTE
3868*062a843bSAndroid Build Coastguard Worker  *
3869*062a843bSAndroid Build Coastguard Worker  * Turn on or off uplink (microphone) mute.
3870*062a843bSAndroid Build Coastguard Worker  *
3871*062a843bSAndroid Build Coastguard Worker  * Will only be sent while voice call is active.
3872*062a843bSAndroid Build Coastguard Worker  * Will always be reset to "disable mute" when a new voice call is initiated
3873*062a843bSAndroid Build Coastguard Worker  *
3874*062a843bSAndroid Build Coastguard Worker  * "data" is an int *
3875*062a843bSAndroid Build Coastguard Worker  * (int *)data)[0] is 1 for "enable mute" and 0 for "disable mute"
3876*062a843bSAndroid Build Coastguard Worker  *
3877*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
3878*062a843bSAndroid Build Coastguard Worker  *
3879*062a843bSAndroid Build Coastguard Worker  * Valid errors:
3880*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
3881*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE (radio resetting)
3882*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
3883*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
3884*062a843bSAndroid Build Coastguard Worker  *  REQUEST_RATE_LIMITED
3885*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
3886*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
3887*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
3888*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
3889*062a843bSAndroid Build Coastguard Worker  */
3890*062a843bSAndroid Build Coastguard Worker 
3891*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SET_MUTE 53
3892*062a843bSAndroid Build Coastguard Worker 
3893*062a843bSAndroid Build Coastguard Worker /**
3894*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_GET_MUTE
3895*062a843bSAndroid Build Coastguard Worker  *
3896*062a843bSAndroid Build Coastguard Worker  * Queries the current state of the uplink mute setting
3897*062a843bSAndroid Build Coastguard Worker  *
3898*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
3899*062a843bSAndroid Build Coastguard Worker  * "response" is an int *
3900*062a843bSAndroid Build Coastguard Worker  * (int *)response)[0] is 1 for "mute enabled" and 0 for "mute disabled"
3901*062a843bSAndroid Build Coastguard Worker  *
3902*062a843bSAndroid Build Coastguard Worker  * Valid errors:
3903*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
3904*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE (radio resetting)
3905*062a843bSAndroid Build Coastguard Worker  *  SS_MODIFIED_TO_DIAL
3906*062a843bSAndroid Build Coastguard Worker  *  SS_MODIFIED_TO_USSD
3907*062a843bSAndroid Build Coastguard Worker  *  SS_MODIFIED_TO_SS
3908*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
3909*062a843bSAndroid Build Coastguard Worker  *  REQUEST_RATE_LIMITED
3910*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
3911*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
3912*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
3913*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
3914*062a843bSAndroid Build Coastguard Worker  */
3915*062a843bSAndroid Build Coastguard Worker 
3916*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_GET_MUTE 54
3917*062a843bSAndroid Build Coastguard Worker 
3918*062a843bSAndroid Build Coastguard Worker /**
3919*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_QUERY_CLIP
3920*062a843bSAndroid Build Coastguard Worker  *
3921*062a843bSAndroid Build Coastguard Worker  * Queries the status of the CLIP supplementary service
3922*062a843bSAndroid Build Coastguard Worker  *
3923*062a843bSAndroid Build Coastguard Worker  * (for MMI code "*#30#")
3924*062a843bSAndroid Build Coastguard Worker  *
3925*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
3926*062a843bSAndroid Build Coastguard Worker  * "response" is an int *
3927*062a843bSAndroid Build Coastguard Worker  * (int *)response)[0] is 1 for "CLIP provisioned"
3928*062a843bSAndroid Build Coastguard Worker  *                           and 0 for "CLIP not provisioned"
3929*062a843bSAndroid Build Coastguard Worker  *                           and 2 for "unknown, e.g. no network etc"
3930*062a843bSAndroid Build Coastguard Worker  *
3931*062a843bSAndroid Build Coastguard Worker  * Valid errors:
3932*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
3933*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE (radio resetting)
3934*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
3935*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
3936*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
3937*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
3938*062a843bSAndroid Build Coastguard Worker  *  FDN_CHECK_FAILURE
3939*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
3940*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
3941*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
3942*062a843bSAndroid Build Coastguard Worker  */
3943*062a843bSAndroid Build Coastguard Worker 
3944*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_QUERY_CLIP 55
3945*062a843bSAndroid Build Coastguard Worker 
3946*062a843bSAndroid Build Coastguard Worker /**
3947*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_LAST_DATA_CALL_FAIL_CAUSE - Deprecated use the status
3948*062a843bSAndroid Build Coastguard Worker  * field in RIL_Data_Call_Response_v6.
3949*062a843bSAndroid Build Coastguard Worker  *
3950*062a843bSAndroid Build Coastguard Worker  * Requests the failure cause code for the most recently failed PDP
3951*062a843bSAndroid Build Coastguard Worker  * context or CDMA data connection active
3952*062a843bSAndroid Build Coastguard Worker  * replaces RIL_REQUEST_LAST_PDP_FAIL_CAUSE
3953*062a843bSAndroid Build Coastguard Worker  *
3954*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
3955*062a843bSAndroid Build Coastguard Worker  *
3956*062a843bSAndroid Build Coastguard Worker  * "response" is a "int *"
3957*062a843bSAndroid Build Coastguard Worker  * ((int *)response)[0] is an integer cause code defined in TS 24.008
3958*062a843bSAndroid Build Coastguard Worker  *   section 6.1.3.1.3 or close approximation
3959*062a843bSAndroid Build Coastguard Worker  *
3960*062a843bSAndroid Build Coastguard Worker  * If the implementation does not have access to the exact cause codes,
3961*062a843bSAndroid Build Coastguard Worker  * then it should return one of the values listed in
3962*062a843bSAndroid Build Coastguard Worker  * RIL_DataCallFailCause, as the UI layer needs to distinguish these
3963*062a843bSAndroid Build Coastguard Worker  * cases for error notification
3964*062a843bSAndroid Build Coastguard Worker  * and potential retries.
3965*062a843bSAndroid Build Coastguard Worker  *
3966*062a843bSAndroid Build Coastguard Worker  * Valid errors:
3967*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
3968*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
3969*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
3970*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
3971*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
3972*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
3973*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
3974*062a843bSAndroid Build Coastguard Worker  *
3975*062a843bSAndroid Build Coastguard Worker  * See also: RIL_REQUEST_LAST_CALL_FAIL_CAUSE
3976*062a843bSAndroid Build Coastguard Worker  *
3977*062a843bSAndroid Build Coastguard Worker  * Deprecated use the status field in RIL_Data_Call_Response_v6.
3978*062a843bSAndroid Build Coastguard Worker  */
3979*062a843bSAndroid Build Coastguard Worker 
3980*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_LAST_DATA_CALL_FAIL_CAUSE 56
3981*062a843bSAndroid Build Coastguard Worker 
3982*062a843bSAndroid Build Coastguard Worker /**
3983*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_DATA_CALL_LIST
3984*062a843bSAndroid Build Coastguard Worker  *
3985*062a843bSAndroid Build Coastguard Worker  * Returns the data call list. An entry is added when a
3986*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SETUP_DATA_CALL is issued and removed on a
3987*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_DEACTIVATE_DATA_CALL. The list is emptied
3988*062a843bSAndroid Build Coastguard Worker  * when RIL_REQUEST_RADIO_POWER off/on is issued.
3989*062a843bSAndroid Build Coastguard Worker  *
3990*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
3991*062a843bSAndroid Build Coastguard Worker  * "response" is an array of RIL_Data_Call_Response_v6
3992*062a843bSAndroid Build Coastguard Worker  *
3993*062a843bSAndroid Build Coastguard Worker  * Valid errors:
3994*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
3995*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE (radio resetting)
3996*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
3997*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
3998*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
3999*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
4000*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
4001*062a843bSAndroid Build Coastguard Worker  *  SIM_ABSENT
4002*062a843bSAndroid Build Coastguard Worker  *
4003*062a843bSAndroid Build Coastguard Worker  * See also: RIL_UNSOL_DATA_CALL_LIST_CHANGED
4004*062a843bSAndroid Build Coastguard Worker  */
4005*062a843bSAndroid Build Coastguard Worker 
4006*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_DATA_CALL_LIST 57
4007*062a843bSAndroid Build Coastguard Worker 
4008*062a843bSAndroid Build Coastguard Worker /**
4009*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_RESET_RADIO - DEPRECATED
4010*062a843bSAndroid Build Coastguard Worker  *
4011*062a843bSAndroid Build Coastguard Worker  * Request a radio reset. The RIL implementation may postpone
4012*062a843bSAndroid Build Coastguard Worker  * the reset until after this request is responded to if the baseband
4013*062a843bSAndroid Build Coastguard Worker  * is presently busy.
4014*062a843bSAndroid Build Coastguard Worker  *
4015*062a843bSAndroid Build Coastguard Worker  * The request is DEPRECATED, use RIL_REQUEST_RADIO_POWER
4016*062a843bSAndroid Build Coastguard Worker  *
4017*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
4018*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
4019*062a843bSAndroid Build Coastguard Worker  *
4020*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4021*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
4022*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE (radio resetting)
4023*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
4024*062a843bSAndroid Build Coastguard Worker  */
4025*062a843bSAndroid Build Coastguard Worker 
4026*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_RESET_RADIO 58
4027*062a843bSAndroid Build Coastguard Worker 
4028*062a843bSAndroid Build Coastguard Worker /**
4029*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_OEM_HOOK_RAW
4030*062a843bSAndroid Build Coastguard Worker  *
4031*062a843bSAndroid Build Coastguard Worker  * This request reserved for OEM-specific uses. It passes raw byte arrays
4032*062a843bSAndroid Build Coastguard Worker  * back and forth.
4033*062a843bSAndroid Build Coastguard Worker  *
4034*062a843bSAndroid Build Coastguard Worker  * It can be invoked on the Java side from
4035*062a843bSAndroid Build Coastguard Worker  * com.android.internal.telephony.Phone.invokeOemRilRequestRaw()
4036*062a843bSAndroid Build Coastguard Worker  *
4037*062a843bSAndroid Build Coastguard Worker  * "data" is a char * of bytes copied from the byte[] data argument in java
4038*062a843bSAndroid Build Coastguard Worker  * "response" is a char * of bytes that will returned via the
4039*062a843bSAndroid Build Coastguard Worker  * caller's "response" Message here:
4040*062a843bSAndroid Build Coastguard Worker  * (byte[])(((AsyncResult)response.obj).result)
4041*062a843bSAndroid Build Coastguard Worker  *
4042*062a843bSAndroid Build Coastguard Worker  * An error response here will result in
4043*062a843bSAndroid Build Coastguard Worker  * (((AsyncResult)response.obj).result) == null and
4044*062a843bSAndroid Build Coastguard Worker  * (((AsyncResult)response.obj).exception) being an instance of
4045*062a843bSAndroid Build Coastguard Worker  * com.android.internal.telephony.gsm.CommandException
4046*062a843bSAndroid Build Coastguard Worker  *
4047*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4048*062a843bSAndroid Build Coastguard Worker  *  All
4049*062a843bSAndroid Build Coastguard Worker  */
4050*062a843bSAndroid Build Coastguard Worker 
4051*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_OEM_HOOK_RAW 59
4052*062a843bSAndroid Build Coastguard Worker 
4053*062a843bSAndroid Build Coastguard Worker /**
4054*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_OEM_HOOK_STRINGS
4055*062a843bSAndroid Build Coastguard Worker  *
4056*062a843bSAndroid Build Coastguard Worker  * This request reserved for OEM-specific uses. It passes strings
4057*062a843bSAndroid Build Coastguard Worker  * back and forth.
4058*062a843bSAndroid Build Coastguard Worker  *
4059*062a843bSAndroid Build Coastguard Worker  * It can be invoked on the Java side from
4060*062a843bSAndroid Build Coastguard Worker  * com.android.internal.telephony.Phone.invokeOemRilRequestStrings()
4061*062a843bSAndroid Build Coastguard Worker  *
4062*062a843bSAndroid Build Coastguard Worker  * "data" is a const char **, representing an array of null-terminated UTF-8
4063*062a843bSAndroid Build Coastguard Worker  * strings copied from the "String[] strings" argument to
4064*062a843bSAndroid Build Coastguard Worker  * invokeOemRilRequestStrings()
4065*062a843bSAndroid Build Coastguard Worker  *
4066*062a843bSAndroid Build Coastguard Worker  * "response" is a const char **, representing an array of null-terminated UTF-8
4067*062a843bSAndroid Build Coastguard Worker  * stings that will be returned via the caller's response message here:
4068*062a843bSAndroid Build Coastguard Worker  *
4069*062a843bSAndroid Build Coastguard Worker  * (String[])(((AsyncResult)response.obj).result)
4070*062a843bSAndroid Build Coastguard Worker  *
4071*062a843bSAndroid Build Coastguard Worker  * An error response here will result in
4072*062a843bSAndroid Build Coastguard Worker  * (((AsyncResult)response.obj).result) == null and
4073*062a843bSAndroid Build Coastguard Worker  * (((AsyncResult)response.obj).exception) being an instance of
4074*062a843bSAndroid Build Coastguard Worker  * com.android.internal.telephony.gsm.CommandException
4075*062a843bSAndroid Build Coastguard Worker  *
4076*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4077*062a843bSAndroid Build Coastguard Worker  *  All
4078*062a843bSAndroid Build Coastguard Worker  */
4079*062a843bSAndroid Build Coastguard Worker 
4080*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_OEM_HOOK_STRINGS 60
4081*062a843bSAndroid Build Coastguard Worker 
4082*062a843bSAndroid Build Coastguard Worker /**
4083*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SCREEN_STATE - DEPRECATED
4084*062a843bSAndroid Build Coastguard Worker  *
4085*062a843bSAndroid Build Coastguard Worker  * Indicates the current state of the screen.  When the screen is off, the
4086*062a843bSAndroid Build Coastguard Worker  * RIL should notify the baseband to suppress certain notifications (eg,
4087*062a843bSAndroid Build Coastguard Worker  * signal strength and changes in LAC/CID or BID/SID/NID/latitude/longitude)
4088*062a843bSAndroid Build Coastguard Worker  * in an effort to conserve power.  These notifications should resume when the
4089*062a843bSAndroid Build Coastguard Worker  * screen is on.
4090*062a843bSAndroid Build Coastguard Worker  *
4091*062a843bSAndroid Build Coastguard Worker  * Note this request is deprecated. Use RIL_REQUEST_SEND_DEVICE_STATE to report the device state
4092*062a843bSAndroid Build Coastguard Worker  * to the modem and use RIL_REQUEST_SET_UNSOLICITED_RESPONSE_FILTER to turn on/off unsolicited
4093*062a843bSAndroid Build Coastguard Worker  * response from the modem in different scenarios.
4094*062a843bSAndroid Build Coastguard Worker  *
4095*062a843bSAndroid Build Coastguard Worker  * "data" is int *
4096*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is == 1 for "Screen On"
4097*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is == 0 for "Screen Off"
4098*062a843bSAndroid Build Coastguard Worker  *
4099*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
4100*062a843bSAndroid Build Coastguard Worker  *
4101*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4102*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
4103*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
4104*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
4105*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
4106*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
4107*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
4108*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
4109*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
4110*062a843bSAndroid Build Coastguard Worker  */
4111*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SCREEN_STATE 61
4112*062a843bSAndroid Build Coastguard Worker 
4113*062a843bSAndroid Build Coastguard Worker 
4114*062a843bSAndroid Build Coastguard Worker /**
4115*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SET_SUPP_SVC_NOTIFICATION
4116*062a843bSAndroid Build Coastguard Worker  *
4117*062a843bSAndroid Build Coastguard Worker  * Enables/disables supplementary service related notifications
4118*062a843bSAndroid Build Coastguard Worker  * from the network.
4119*062a843bSAndroid Build Coastguard Worker  *
4120*062a843bSAndroid Build Coastguard Worker  * Notifications are reported via RIL_UNSOL_SUPP_SVC_NOTIFICATION.
4121*062a843bSAndroid Build Coastguard Worker  *
4122*062a843bSAndroid Build Coastguard Worker  * "data" is int *
4123*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is == 1 for notifications enabled
4124*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is == 0 for notifications disabled
4125*062a843bSAndroid Build Coastguard Worker  *
4126*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
4127*062a843bSAndroid Build Coastguard Worker  *
4128*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4129*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
4130*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
4131*062a843bSAndroid Build Coastguard Worker  *  SIM_BUSY
4132*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
4133*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
4134*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
4135*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
4136*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
4137*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
4138*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
4139*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
4140*062a843bSAndroid Build Coastguard Worker  *
4141*062a843bSAndroid Build Coastguard Worker  * See also: RIL_UNSOL_SUPP_SVC_NOTIFICATION.
4142*062a843bSAndroid Build Coastguard Worker  */
4143*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SET_SUPP_SVC_NOTIFICATION 62
4144*062a843bSAndroid Build Coastguard Worker 
4145*062a843bSAndroid Build Coastguard Worker /**
4146*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_WRITE_SMS_TO_SIM
4147*062a843bSAndroid Build Coastguard Worker  *
4148*062a843bSAndroid Build Coastguard Worker  * Stores a SMS message to SIM memory.
4149*062a843bSAndroid Build Coastguard Worker  *
4150*062a843bSAndroid Build Coastguard Worker  * "data" is RIL_SMS_WriteArgs *
4151*062a843bSAndroid Build Coastguard Worker  *
4152*062a843bSAndroid Build Coastguard Worker  * "response" is int *
4153*062a843bSAndroid Build Coastguard Worker  * ((const int *)response)[0] is the record index where the message is stored.
4154*062a843bSAndroid Build Coastguard Worker  *
4155*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4156*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
4157*062a843bSAndroid Build Coastguard Worker  *  SIM_FULL
4158*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
4159*062a843bSAndroid Build Coastguard Worker  *  INVALID_SMS_FORMAT
4160*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
4161*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
4162*062a843bSAndroid Build Coastguard Worker  *  ENCODING_ERR
4163*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
4164*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
4165*062a843bSAndroid Build Coastguard Worker  *  INVALID_MODEM_STATE
4166*062a843bSAndroid Build Coastguard Worker  *  OPERATION_NOT_ALLOWED
4167*062a843bSAndroid Build Coastguard Worker  *  INVALID_SMSC_ADDRESS
4168*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
4169*062a843bSAndroid Build Coastguard Worker  *  INVALID_MODEM_STATE
4170*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
4171*062a843bSAndroid Build Coastguard Worker  *  SIM_ABSENT
4172*062a843bSAndroid Build Coastguard Worker  *
4173*062a843bSAndroid Build Coastguard Worker  */
4174*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_WRITE_SMS_TO_SIM 63
4175*062a843bSAndroid Build Coastguard Worker 
4176*062a843bSAndroid Build Coastguard Worker /**
4177*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_DELETE_SMS_ON_SIM
4178*062a843bSAndroid Build Coastguard Worker  *
4179*062a843bSAndroid Build Coastguard Worker  * Deletes a SMS message from SIM memory.
4180*062a843bSAndroid Build Coastguard Worker  *
4181*062a843bSAndroid Build Coastguard Worker  * "data" is int  *
4182*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is the record index of the message to delete.
4183*062a843bSAndroid Build Coastguard Worker  *
4184*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
4185*062a843bSAndroid Build Coastguard Worker  *
4186*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4187*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
4188*062a843bSAndroid Build Coastguard Worker  *  SIM_FULL
4189*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
4190*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
4191*062a843bSAndroid Build Coastguard Worker  *  REQUEST_RATE_LIMITED
4192*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
4193*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
4194*062a843bSAndroid Build Coastguard Worker  *  NO_SUCH_ENTRY
4195*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
4196*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
4197*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
4198*062a843bSAndroid Build Coastguard Worker  *  INVALID_MODEM_STATE
4199*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
4200*062a843bSAndroid Build Coastguard Worker  *  SIM_ABSENT
4201*062a843bSAndroid Build Coastguard Worker  *
4202*062a843bSAndroid Build Coastguard Worker  */
4203*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_DELETE_SMS_ON_SIM 64
4204*062a843bSAndroid Build Coastguard Worker 
4205*062a843bSAndroid Build Coastguard Worker /**
4206*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SET_BAND_MODE
4207*062a843bSAndroid Build Coastguard Worker  *
4208*062a843bSAndroid Build Coastguard Worker  * Assign a specified band for RF configuration.
4209*062a843bSAndroid Build Coastguard Worker  *
4210*062a843bSAndroid Build Coastguard Worker  * "data" is int *
4211*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is a RIL_RadioBandMode
4212*062a843bSAndroid Build Coastguard Worker  *
4213*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
4214*062a843bSAndroid Build Coastguard Worker  *
4215*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4216*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
4217*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
4218*062a843bSAndroid Build Coastguard Worker  *  OPERATION_NOT_ALLOWED
4219*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
4220*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
4221*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
4222*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
4223*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
4224*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
4225*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
4226*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
4227*062a843bSAndroid Build Coastguard Worker  *
4228*062a843bSAndroid Build Coastguard Worker  * See also: RIL_REQUEST_QUERY_AVAILABLE_BAND_MODE
4229*062a843bSAndroid Build Coastguard Worker  */
4230*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SET_BAND_MODE 65
4231*062a843bSAndroid Build Coastguard Worker 
4232*062a843bSAndroid Build Coastguard Worker /**
4233*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_QUERY_AVAILABLE_BAND_MODE
4234*062a843bSAndroid Build Coastguard Worker  *
4235*062a843bSAndroid Build Coastguard Worker  * Query the list of band mode supported by RF.
4236*062a843bSAndroid Build Coastguard Worker  *
4237*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
4238*062a843bSAndroid Build Coastguard Worker  *
4239*062a843bSAndroid Build Coastguard Worker  * "response" is int *
4240*062a843bSAndroid Build Coastguard Worker  * "response" points to an array of int's, the int[0] is the size of array;
4241*062a843bSAndroid Build Coastguard Worker  * subsequent values are a list of RIL_RadioBandMode listing supported modes.
4242*062a843bSAndroid Build Coastguard Worker  *
4243*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4244*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
4245*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
4246*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
4247*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
4248*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
4249*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
4250*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
4251*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
4252*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
4253*062a843bSAndroid Build Coastguard Worker  *
4254*062a843bSAndroid Build Coastguard Worker  * See also: RIL_REQUEST_SET_BAND_MODE
4255*062a843bSAndroid Build Coastguard Worker  */
4256*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_QUERY_AVAILABLE_BAND_MODE 66
4257*062a843bSAndroid Build Coastguard Worker 
4258*062a843bSAndroid Build Coastguard Worker /**
4259*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_STK_GET_PROFILE
4260*062a843bSAndroid Build Coastguard Worker  *
4261*062a843bSAndroid Build Coastguard Worker  * Requests the profile of SIM tool kit.
4262*062a843bSAndroid Build Coastguard Worker  * The profile indicates the SAT/USAT features supported by ME.
4263*062a843bSAndroid Build Coastguard Worker  * The SAT/USAT features refer to 3GPP TS 11.14 and 3GPP TS 31.111
4264*062a843bSAndroid Build Coastguard Worker  *
4265*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
4266*062a843bSAndroid Build Coastguard Worker  *
4267*062a843bSAndroid Build Coastguard Worker  * "response" is a const char * containing SAT/USAT profile
4268*062a843bSAndroid Build Coastguard Worker  * in hexadecimal format string starting with first byte of terminal profile
4269*062a843bSAndroid Build Coastguard Worker  *
4270*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4271*062a843bSAndroid Build Coastguard Worker  *  RIL_E_SUCCESS
4272*062a843bSAndroid Build Coastguard Worker  *  RIL_E_RADIO_NOT_AVAILABLE (radio resetting)
4273*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
4274*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
4275*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
4276*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
4277*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
4278*062a843bSAndroid Build Coastguard Worker  */
4279*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_STK_GET_PROFILE 67
4280*062a843bSAndroid Build Coastguard Worker 
4281*062a843bSAndroid Build Coastguard Worker /**
4282*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_STK_SET_PROFILE
4283*062a843bSAndroid Build Coastguard Worker  *
4284*062a843bSAndroid Build Coastguard Worker  * Download the STK terminal profile as part of SIM initialization
4285*062a843bSAndroid Build Coastguard Worker  * procedure
4286*062a843bSAndroid Build Coastguard Worker  *
4287*062a843bSAndroid Build Coastguard Worker  * "data" is a const char * containing SAT/USAT profile
4288*062a843bSAndroid Build Coastguard Worker  * in hexadecimal format string starting with first byte of terminal profile
4289*062a843bSAndroid Build Coastguard Worker  *
4290*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
4291*062a843bSAndroid Build Coastguard Worker  *
4292*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4293*062a843bSAndroid Build Coastguard Worker  *  RIL_E_SUCCESS
4294*062a843bSAndroid Build Coastguard Worker  *  RIL_E_RADIO_NOT_AVAILABLE (radio resetting)
4295*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
4296*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
4297*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
4298*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
4299*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
4300*062a843bSAndroid Build Coastguard Worker  */
4301*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_STK_SET_PROFILE 68
4302*062a843bSAndroid Build Coastguard Worker 
4303*062a843bSAndroid Build Coastguard Worker /**
4304*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_STK_SEND_ENVELOPE_COMMAND
4305*062a843bSAndroid Build Coastguard Worker  *
4306*062a843bSAndroid Build Coastguard Worker  * Requests to send a SAT/USAT envelope command to SIM.
4307*062a843bSAndroid Build Coastguard Worker  * The SAT/USAT envelope command refers to 3GPP TS 11.14 and 3GPP TS 31.111
4308*062a843bSAndroid Build Coastguard Worker  *
4309*062a843bSAndroid Build Coastguard Worker  * "data" is a const char * containing SAT/USAT command
4310*062a843bSAndroid Build Coastguard Worker  * in hexadecimal format string starting with command tag
4311*062a843bSAndroid Build Coastguard Worker  *
4312*062a843bSAndroid Build Coastguard Worker  * "response" is a const char * containing SAT/USAT response
4313*062a843bSAndroid Build Coastguard Worker  * in hexadecimal format string starting with first byte of response
4314*062a843bSAndroid Build Coastguard Worker  * (May be NULL)
4315*062a843bSAndroid Build Coastguard Worker  *
4316*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4317*062a843bSAndroid Build Coastguard Worker  *  RIL_E_SUCCESS
4318*062a843bSAndroid Build Coastguard Worker  *  RIL_E_RADIO_NOT_AVAILABLE (radio resetting)
4319*062a843bSAndroid Build Coastguard Worker  *  SIM_BUSY
4320*062a843bSAndroid Build Coastguard Worker  *  OPERATION_NOT_ALLOWED
4321*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
4322*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
4323*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
4324*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
4325*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
4326*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
4327*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
4328*062a843bSAndroid Build Coastguard Worker  */
4329*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_STK_SEND_ENVELOPE_COMMAND 69
4330*062a843bSAndroid Build Coastguard Worker 
4331*062a843bSAndroid Build Coastguard Worker /**
4332*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_STK_SEND_TERMINAL_RESPONSE
4333*062a843bSAndroid Build Coastguard Worker  *
4334*062a843bSAndroid Build Coastguard Worker  * Requests to send a terminal response to SIM for a received
4335*062a843bSAndroid Build Coastguard Worker  * proactive command
4336*062a843bSAndroid Build Coastguard Worker  *
4337*062a843bSAndroid Build Coastguard Worker  * "data" is a const char * containing SAT/USAT response
4338*062a843bSAndroid Build Coastguard Worker  * in hexadecimal format string starting with first byte of response data
4339*062a843bSAndroid Build Coastguard Worker  *
4340*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
4341*062a843bSAndroid Build Coastguard Worker  *
4342*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4343*062a843bSAndroid Build Coastguard Worker  *  RIL_E_SUCCESS
4344*062a843bSAndroid Build Coastguard Worker  *  RIL_E_RADIO_NOT_AVAILABLE (radio resetting)
4345*062a843bSAndroid Build Coastguard Worker  *  RIL_E_OPERATION_NOT_ALLOWED
4346*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
4347*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
4348*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
4349*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
4350*062a843bSAndroid Build Coastguard Worker  *  INVALID_MODEM_STATE
4351*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
4352*062a843bSAndroid Build Coastguard Worker  */
4353*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_STK_SEND_TERMINAL_RESPONSE 70
4354*062a843bSAndroid Build Coastguard Worker 
4355*062a843bSAndroid Build Coastguard Worker /**
4356*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_STK_HANDLE_CALL_SETUP_REQUESTED_FROM_SIM
4357*062a843bSAndroid Build Coastguard Worker  *
4358*062a843bSAndroid Build Coastguard Worker  * When STK application gets RIL_UNSOL_STK_CALL_SETUP, the call actually has
4359*062a843bSAndroid Build Coastguard Worker  * been initialized by ME already. (We could see the call has been in the 'call
4360*062a843bSAndroid Build Coastguard Worker  * list') So, STK application needs to accept/reject the call according as user
4361*062a843bSAndroid Build Coastguard Worker  * operations.
4362*062a843bSAndroid Build Coastguard Worker  *
4363*062a843bSAndroid Build Coastguard Worker  * "data" is int *
4364*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is > 0 for "accept" the call setup
4365*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is == 0 for "reject" the call setup
4366*062a843bSAndroid Build Coastguard Worker  *
4367*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
4368*062a843bSAndroid Build Coastguard Worker  *
4369*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4370*062a843bSAndroid Build Coastguard Worker  *  RIL_E_SUCCESS
4371*062a843bSAndroid Build Coastguard Worker  *  RIL_E_RADIO_NOT_AVAILABLE (radio resetting)
4372*062a843bSAndroid Build Coastguard Worker  *  RIL_E_OPERATION_NOT_ALLOWED
4373*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
4374*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
4375*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
4376*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
4377*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
4378*062a843bSAndroid Build Coastguard Worker  */
4379*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_STK_HANDLE_CALL_SETUP_REQUESTED_FROM_SIM 71
4380*062a843bSAndroid Build Coastguard Worker 
4381*062a843bSAndroid Build Coastguard Worker /**
4382*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_EXPLICIT_CALL_TRANSFER
4383*062a843bSAndroid Build Coastguard Worker  *
4384*062a843bSAndroid Build Coastguard Worker  * Connects the two calls and disconnects the subscriber from both calls.
4385*062a843bSAndroid Build Coastguard Worker  *
4386*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
4387*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
4388*062a843bSAndroid Build Coastguard Worker  *
4389*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4390*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
4391*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE (radio resetting)
4392*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
4393*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
4394*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
4395*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
4396*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
4397*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
4398*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
4399*062a843bSAndroid Build Coastguard Worker  *  INVALID_CALL_ID
4400*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
4401*062a843bSAndroid Build Coastguard Worker  *  OPERATION_NOT_ALLOWED
4402*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
4403*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
4404*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
4405*062a843bSAndroid Build Coastguard Worker  */
4406*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_EXPLICIT_CALL_TRANSFER 72
4407*062a843bSAndroid Build Coastguard Worker 
4408*062a843bSAndroid Build Coastguard Worker /**
4409*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SET_PREFERRED_NETWORK_TYPE
4410*062a843bSAndroid Build Coastguard Worker  *
4411*062a843bSAndroid Build Coastguard Worker  * Requests to set the preferred network type for searching and registering
4412*062a843bSAndroid Build Coastguard Worker  * (CS/PS domain, RAT, and operation mode)
4413*062a843bSAndroid Build Coastguard Worker  *
4414*062a843bSAndroid Build Coastguard Worker  * "data" is int * which is RIL_PreferredNetworkType
4415*062a843bSAndroid Build Coastguard Worker  *
4416*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
4417*062a843bSAndroid Build Coastguard Worker  *
4418*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4419*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
4420*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE (radio resetting)
4421*062a843bSAndroid Build Coastguard Worker  *  OPERATION_NOT_ALLOWED
4422*062a843bSAndroid Build Coastguard Worker  *  MODE_NOT_SUPPORTED
4423*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
4424*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
4425*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
4426*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
4427*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
4428*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
4429*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
4430*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
4431*062a843bSAndroid Build Coastguard Worker  */
4432*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SET_PREFERRED_NETWORK_TYPE 73
4433*062a843bSAndroid Build Coastguard Worker 
4434*062a843bSAndroid Build Coastguard Worker /**
4435*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_GET_PREFERRED_NETWORK_TYPE
4436*062a843bSAndroid Build Coastguard Worker  *
4437*062a843bSAndroid Build Coastguard Worker  * Query the preferred network type (CS/PS domain, RAT, and operation mode)
4438*062a843bSAndroid Build Coastguard Worker  * for searching and registering
4439*062a843bSAndroid Build Coastguard Worker  *
4440*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
4441*062a843bSAndroid Build Coastguard Worker  *
4442*062a843bSAndroid Build Coastguard Worker  * "response" is int *
4443*062a843bSAndroid Build Coastguard Worker  * ((int *)reponse)[0] is == RIL_PreferredNetworkType
4444*062a843bSAndroid Build Coastguard Worker  *
4445*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4446*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
4447*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
4448*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
4449*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
4450*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
4451*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
4452*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
4453*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
4454*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
4455*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
4456*062a843bSAndroid Build Coastguard Worker  *
4457*062a843bSAndroid Build Coastguard Worker  * See also: RIL_REQUEST_SET_PREFERRED_NETWORK_TYPE
4458*062a843bSAndroid Build Coastguard Worker  */
4459*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_GET_PREFERRED_NETWORK_TYPE 74
4460*062a843bSAndroid Build Coastguard Worker 
4461*062a843bSAndroid Build Coastguard Worker /**
4462*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_NEIGHBORING_CELL_IDS
4463*062a843bSAndroid Build Coastguard Worker  *
4464*062a843bSAndroid Build Coastguard Worker  * Request neighboring cell id in GSM network
4465*062a843bSAndroid Build Coastguard Worker  *
4466*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
4467*062a843bSAndroid Build Coastguard Worker  * "response" must be a " const RIL_NeighboringCell** "
4468*062a843bSAndroid Build Coastguard Worker  *
4469*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4470*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
4471*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
4472*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
4473*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
4474*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
4475*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
4476*062a843bSAndroid Build Coastguard Worker  *  NO_NETWORK_FOUND
4477*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
4478*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
4479*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
4480*062a843bSAndroid Build Coastguard Worker  */
4481*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_GET_NEIGHBORING_CELL_IDS 75
4482*062a843bSAndroid Build Coastguard Worker 
4483*062a843bSAndroid Build Coastguard Worker /**
4484*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SET_LOCATION_UPDATES
4485*062a843bSAndroid Build Coastguard Worker  *
4486*062a843bSAndroid Build Coastguard Worker  * Enables/disables network state change notifications due to changes in
4487*062a843bSAndroid Build Coastguard Worker  * LAC and/or CID (for GSM) or BID/SID/NID/latitude/longitude (for CDMA).
4488*062a843bSAndroid Build Coastguard Worker  * Basically +CREG=2 vs. +CREG=1 (TS 27.007).
4489*062a843bSAndroid Build Coastguard Worker  *
4490*062a843bSAndroid Build Coastguard Worker  * Note:  The RIL implementation should default to "updates enabled"
4491*062a843bSAndroid Build Coastguard Worker  * when the screen is on and "updates disabled" when the screen is off.
4492*062a843bSAndroid Build Coastguard Worker  *
4493*062a843bSAndroid Build Coastguard Worker  * "data" is int *
4494*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is == 1 for updates enabled (+CREG=2)
4495*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is == 0 for updates disabled (+CREG=1)
4496*062a843bSAndroid Build Coastguard Worker  *
4497*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
4498*062a843bSAndroid Build Coastguard Worker  *
4499*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4500*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
4501*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
4502*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
4503*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
4504*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
4505*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
4506*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
4507*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
4508*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
4509*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
4510*062a843bSAndroid Build Coastguard Worker  *
4511*062a843bSAndroid Build Coastguard Worker  * See also: RIL_REQUEST_SCREEN_STATE, RIL_UNSOL_RESPONSE_NETWORK_STATE_CHANGED
4512*062a843bSAndroid Build Coastguard Worker  */
4513*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SET_LOCATION_UPDATES 76
4514*062a843bSAndroid Build Coastguard Worker 
4515*062a843bSAndroid Build Coastguard Worker /**
4516*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_CDMA_SET_SUBSCRIPTION_SOURCE
4517*062a843bSAndroid Build Coastguard Worker  *
4518*062a843bSAndroid Build Coastguard Worker  * Request to set the location where the CDMA subscription shall
4519*062a843bSAndroid Build Coastguard Worker  * be retrieved
4520*062a843bSAndroid Build Coastguard Worker  *
4521*062a843bSAndroid Build Coastguard Worker  * "data" is int *
4522*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is == RIL_CdmaSubscriptionSource
4523*062a843bSAndroid Build Coastguard Worker  *
4524*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
4525*062a843bSAndroid Build Coastguard Worker  *
4526*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4527*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
4528*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
4529*062a843bSAndroid Build Coastguard Worker  *  SIM_ABSENT
4530*062a843bSAndroid Build Coastguard Worker  *  SUBSCRIPTION_NOT_AVAILABLE
4531*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
4532*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
4533*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
4534*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
4535*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
4536*062a843bSAndroid Build Coastguard Worker  *
4537*062a843bSAndroid Build Coastguard Worker  * See also: RIL_REQUEST_CDMA_GET_SUBSCRIPTION_SOURCE
4538*062a843bSAndroid Build Coastguard Worker  */
4539*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_CDMA_SET_SUBSCRIPTION_SOURCE 77
4540*062a843bSAndroid Build Coastguard Worker 
4541*062a843bSAndroid Build Coastguard Worker /**
4542*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_CDMA_SET_ROAMING_PREFERENCE
4543*062a843bSAndroid Build Coastguard Worker  *
4544*062a843bSAndroid Build Coastguard Worker  * Request to set the roaming preferences in CDMA
4545*062a843bSAndroid Build Coastguard Worker  *
4546*062a843bSAndroid Build Coastguard Worker  * "data" is int *
4547*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is == 0 for Home Networks only, as defined in PRL
4548*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is == 1 for Roaming on Affiliated networks, as defined in PRL
4549*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is == 2 for Roaming on Any Network, as defined in the PRL
4550*062a843bSAndroid Build Coastguard Worker  *
4551*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
4552*062a843bSAndroid Build Coastguard Worker  *
4553*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4554*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
4555*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
4556*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
4557*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
4558*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
4559*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
4560*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
4561*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
4562*062a843bSAndroid Build Coastguard Worker  *  OPERATION_NOT_ALLOWED
4563*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
4564*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
4565*062a843bSAndroid Build Coastguard Worker  */
4566*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_CDMA_SET_ROAMING_PREFERENCE 78
4567*062a843bSAndroid Build Coastguard Worker 
4568*062a843bSAndroid Build Coastguard Worker /**
4569*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_CDMA_QUERY_ROAMING_PREFERENCE
4570*062a843bSAndroid Build Coastguard Worker  *
4571*062a843bSAndroid Build Coastguard Worker  * Request the actual setting of the roaming preferences in CDMA in the modem
4572*062a843bSAndroid Build Coastguard Worker  *
4573*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
4574*062a843bSAndroid Build Coastguard Worker  *
4575*062a843bSAndroid Build Coastguard Worker  * "response" is int *
4576*062a843bSAndroid Build Coastguard Worker  * ((int *)response)[0] is == 0 for Home Networks only, as defined in PRL
4577*062a843bSAndroid Build Coastguard Worker  * ((int *)response)[0] is == 1 for Roaming on Affiliated networks, as defined in PRL
4578*062a843bSAndroid Build Coastguard Worker  * ((int *)response)[0] is == 2 for Roaming on Any Network, as defined in the PRL
4579*062a843bSAndroid Build Coastguard Worker  *
4580*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
4581*062a843bSAndroid Build Coastguard Worker  *
4582*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4583*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
4584*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
4585*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
4586*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
4587*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
4588*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
4589*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
4590*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
4591*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
4592*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
4593*062a843bSAndroid Build Coastguard Worker  */
4594*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_CDMA_QUERY_ROAMING_PREFERENCE 79
4595*062a843bSAndroid Build Coastguard Worker 
4596*062a843bSAndroid Build Coastguard Worker /**
4597*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SET_TTY_MODE
4598*062a843bSAndroid Build Coastguard Worker  *
4599*062a843bSAndroid Build Coastguard Worker  * Request to set the TTY mode
4600*062a843bSAndroid Build Coastguard Worker  *
4601*062a843bSAndroid Build Coastguard Worker  * "data" is int *
4602*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is == 0 for TTY off
4603*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is == 1 for TTY Full
4604*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is == 2 for TTY HCO (hearing carryover)
4605*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is == 3 for TTY VCO (voice carryover)
4606*062a843bSAndroid Build Coastguard Worker  *
4607*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
4608*062a843bSAndroid Build Coastguard Worker  *
4609*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4610*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
4611*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
4612*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
4613*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
4614*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
4615*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
4616*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
4617*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
4618*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
4619*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
4620*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
4621*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
4622*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
4623*062a843bSAndroid Build Coastguard Worker  */
4624*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SET_TTY_MODE 80
4625*062a843bSAndroid Build Coastguard Worker 
4626*062a843bSAndroid Build Coastguard Worker /**
4627*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_QUERY_TTY_MODE
4628*062a843bSAndroid Build Coastguard Worker  *
4629*062a843bSAndroid Build Coastguard Worker  * Request the setting of TTY mode
4630*062a843bSAndroid Build Coastguard Worker  *
4631*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
4632*062a843bSAndroid Build Coastguard Worker  *
4633*062a843bSAndroid Build Coastguard Worker  * "response" is int *
4634*062a843bSAndroid Build Coastguard Worker  * ((int *)response)[0] is == 0 for TTY off
4635*062a843bSAndroid Build Coastguard Worker  * ((int *)response)[0] is == 1 for TTY Full
4636*062a843bSAndroid Build Coastguard Worker  * ((int *)response)[0] is == 2 for TTY HCO (hearing carryover)
4637*062a843bSAndroid Build Coastguard Worker  * ((int *)response)[0] is == 3 for TTY VCO (voice carryover)
4638*062a843bSAndroid Build Coastguard Worker  *
4639*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
4640*062a843bSAndroid Build Coastguard Worker  *
4641*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4642*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
4643*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
4644*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
4645*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
4646*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
4647*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
4648*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
4649*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
4650*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
4651*062a843bSAndroid Build Coastguard Worker  */
4652*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_QUERY_TTY_MODE 81
4653*062a843bSAndroid Build Coastguard Worker 
4654*062a843bSAndroid Build Coastguard Worker /**
4655*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_CDMA_SET_PREFERRED_VOICE_PRIVACY_MODE
4656*062a843bSAndroid Build Coastguard Worker  *
4657*062a843bSAndroid Build Coastguard Worker  * Request to set the preferred voice privacy mode used in voice
4658*062a843bSAndroid Build Coastguard Worker  * scrambling
4659*062a843bSAndroid Build Coastguard Worker  *
4660*062a843bSAndroid Build Coastguard Worker  * "data" is int *
4661*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is == 0 for Standard Privacy Mode (Public Long Code Mask)
4662*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is == 1 for Enhanced Privacy Mode (Private Long Code Mask)
4663*062a843bSAndroid Build Coastguard Worker  *
4664*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
4665*062a843bSAndroid Build Coastguard Worker  *
4666*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4667*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
4668*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
4669*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
4670*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
4671*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
4672*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
4673*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
4674*062a843bSAndroid Build Coastguard Worker  *  INVALID_CALL_ID
4675*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
4676*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
4677*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
4678*062a843bSAndroid Build Coastguard Worker  */
4679*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_CDMA_SET_PREFERRED_VOICE_PRIVACY_MODE 82
4680*062a843bSAndroid Build Coastguard Worker 
4681*062a843bSAndroid Build Coastguard Worker /**
4682*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_CDMA_QUERY_PREFERRED_VOICE_PRIVACY_MODE
4683*062a843bSAndroid Build Coastguard Worker  *
4684*062a843bSAndroid Build Coastguard Worker  * Request the setting of preferred voice privacy mode
4685*062a843bSAndroid Build Coastguard Worker  *
4686*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
4687*062a843bSAndroid Build Coastguard Worker  *
4688*062a843bSAndroid Build Coastguard Worker  * "response" is int *
4689*062a843bSAndroid Build Coastguard Worker  * ((int *)response)[0] is == 0 for Standard Privacy Mode (Public Long Code Mask)
4690*062a843bSAndroid Build Coastguard Worker  * ((int *)response)[0] is == 1 for Enhanced Privacy Mode (Private Long Code Mask)
4691*062a843bSAndroid Build Coastguard Worker  *
4692*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
4693*062a843bSAndroid Build Coastguard Worker  *
4694*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4695*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
4696*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
4697*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
4698*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
4699*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
4700*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
4701*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
4702*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
4703*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
4704*062a843bSAndroid Build Coastguard Worker  */
4705*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_CDMA_QUERY_PREFERRED_VOICE_PRIVACY_MODE 83
4706*062a843bSAndroid Build Coastguard Worker 
4707*062a843bSAndroid Build Coastguard Worker /**
4708*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_CDMA_FLASH
4709*062a843bSAndroid Build Coastguard Worker  *
4710*062a843bSAndroid Build Coastguard Worker  * Send FLASH
4711*062a843bSAndroid Build Coastguard Worker  *
4712*062a843bSAndroid Build Coastguard Worker  * "data" is const char *
4713*062a843bSAndroid Build Coastguard Worker  * ((const char *)data)[0] is a FLASH string
4714*062a843bSAndroid Build Coastguard Worker  *
4715*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
4716*062a843bSAndroid Build Coastguard Worker  *
4717*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4718*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
4719*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
4720*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
4721*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
4722*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
4723*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
4724*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
4725*062a843bSAndroid Build Coastguard Worker  *  INVALID_CALL_ID
4726*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
4727*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
4728*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
4729*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
4730*062a843bSAndroid Build Coastguard Worker  *
4731*062a843bSAndroid Build Coastguard Worker  */
4732*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_CDMA_FLASH 84
4733*062a843bSAndroid Build Coastguard Worker 
4734*062a843bSAndroid Build Coastguard Worker /**
4735*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_CDMA_BURST_DTMF
4736*062a843bSAndroid Build Coastguard Worker  *
4737*062a843bSAndroid Build Coastguard Worker  * Send DTMF string
4738*062a843bSAndroid Build Coastguard Worker  *
4739*062a843bSAndroid Build Coastguard Worker  * "data" is const char **
4740*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[0] is a DTMF string
4741*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[1] is the DTMF ON length in milliseconds, or 0 to use
4742*062a843bSAndroid Build Coastguard Worker  *                          default
4743*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[2] is the DTMF OFF length in milliseconds, or 0 to use
4744*062a843bSAndroid Build Coastguard Worker  *                          default
4745*062a843bSAndroid Build Coastguard Worker  *
4746*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
4747*062a843bSAndroid Build Coastguard Worker  *
4748*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4749*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
4750*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
4751*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
4752*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
4753*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
4754*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
4755*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
4756*062a843bSAndroid Build Coastguard Worker  *  INVALID_CALL_ID
4757*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
4758*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
4759*062a843bSAndroid Build Coastguard Worker  *  OPERATION_NOT_ALLOWED
4760*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
4761*062a843bSAndroid Build Coastguard Worker  *
4762*062a843bSAndroid Build Coastguard Worker  */
4763*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_CDMA_BURST_DTMF 85
4764*062a843bSAndroid Build Coastguard Worker 
4765*062a843bSAndroid Build Coastguard Worker /**
4766*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_CDMA_VALIDATE_AND_WRITE_AKEY
4767*062a843bSAndroid Build Coastguard Worker  *
4768*062a843bSAndroid Build Coastguard Worker  * Takes a 26 digit string (20 digit AKEY + 6 digit checksum).
4769*062a843bSAndroid Build Coastguard Worker  * If the checksum is valid the 20 digit AKEY is written to NV,
4770*062a843bSAndroid Build Coastguard Worker  * replacing the existing AKEY no matter what it was before.
4771*062a843bSAndroid Build Coastguard Worker  *
4772*062a843bSAndroid Build Coastguard Worker  * "data" is const char *
4773*062a843bSAndroid Build Coastguard Worker  * ((const char *)data)[0] is a 26 digit string (ASCII digits '0'-'9')
4774*062a843bSAndroid Build Coastguard Worker  *                         where the last 6 digits are a checksum of the
4775*062a843bSAndroid Build Coastguard Worker  *                         first 20, as specified in TR45.AHAG
4776*062a843bSAndroid Build Coastguard Worker  *                         "Common Cryptographic Algorithms, Revision D.1
4777*062a843bSAndroid Build Coastguard Worker  *                         Section 2.2"
4778*062a843bSAndroid Build Coastguard Worker  *
4779*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
4780*062a843bSAndroid Build Coastguard Worker  *
4781*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4782*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
4783*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
4784*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
4785*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
4786*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
4787*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
4788*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
4789*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
4790*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
4791*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
4792*062a843bSAndroid Build Coastguard Worker  *
4793*062a843bSAndroid Build Coastguard Worker  */
4794*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_CDMA_VALIDATE_AND_WRITE_AKEY 86
4795*062a843bSAndroid Build Coastguard Worker 
4796*062a843bSAndroid Build Coastguard Worker /**
4797*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_CDMA_SEND_SMS
4798*062a843bSAndroid Build Coastguard Worker  *
4799*062a843bSAndroid Build Coastguard Worker  * Send a CDMA SMS message
4800*062a843bSAndroid Build Coastguard Worker  *
4801*062a843bSAndroid Build Coastguard Worker  * "data" is const RIL_CDMA_SMS_Message *
4802*062a843bSAndroid Build Coastguard Worker  *
4803*062a843bSAndroid Build Coastguard Worker  * "response" is a const RIL_SMS_Response *
4804*062a843bSAndroid Build Coastguard Worker  *
4805*062a843bSAndroid Build Coastguard Worker  * Based on the return error, caller decides to resend if sending sms
4806*062a843bSAndroid Build Coastguard Worker  * fails. The CDMA error class is derived as follows,
4807*062a843bSAndroid Build Coastguard Worker  * SUCCESS is error class 0 (no error)
4808*062a843bSAndroid Build Coastguard Worker  * SMS_SEND_FAIL_RETRY is error class 2 (temporary failure)
4809*062a843bSAndroid Build Coastguard Worker  *
4810*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4811*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
4812*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
4813*062a843bSAndroid Build Coastguard Worker  *  SMS_SEND_FAIL_RETRY
4814*062a843bSAndroid Build Coastguard Worker  *  NETWORK_REJECT
4815*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
4816*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
4817*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
4818*062a843bSAndroid Build Coastguard Worker  *  REQUEST_RATE_LIMITED
4819*062a843bSAndroid Build Coastguard Worker  *  INVALID_SMS_FORMAT
4820*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
4821*062a843bSAndroid Build Coastguard Worker  *  FDN_CHECK_FAILURE
4822*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
4823*062a843bSAndroid Build Coastguard Worker  *  NETWORK_ERR
4824*062a843bSAndroid Build Coastguard Worker  *  ENCODING_ERR
4825*062a843bSAndroid Build Coastguard Worker  *  INVALID_SMSC_ADDRESS
4826*062a843bSAndroid Build Coastguard Worker  *  OPERATION_NOT_ALLOWED
4827*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
4828*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
4829*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
4830*062a843bSAndroid Build Coastguard Worker  *  MODE_NOT_SUPPORTED
4831*062a843bSAndroid Build Coastguard Worker  *  SIM_ABSENT
4832*062a843bSAndroid Build Coastguard Worker  *
4833*062a843bSAndroid Build Coastguard Worker  */
4834*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_CDMA_SEND_SMS 87
4835*062a843bSAndroid Build Coastguard Worker 
4836*062a843bSAndroid Build Coastguard Worker /**
4837*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_CDMA_SMS_ACKNOWLEDGE
4838*062a843bSAndroid Build Coastguard Worker  *
4839*062a843bSAndroid Build Coastguard Worker  * Acknowledge the success or failure in the receipt of SMS
4840*062a843bSAndroid Build Coastguard Worker  * previously indicated via RIL_UNSOL_RESPONSE_CDMA_NEW_SMS
4841*062a843bSAndroid Build Coastguard Worker  *
4842*062a843bSAndroid Build Coastguard Worker  * "data" is const RIL_CDMA_SMS_Ack *
4843*062a843bSAndroid Build Coastguard Worker  *
4844*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
4845*062a843bSAndroid Build Coastguard Worker  *
4846*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4847*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
4848*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
4849*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
4850*062a843bSAndroid Build Coastguard Worker  *  NO_SMS_TO_ACK
4851*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
4852*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
4853*062a843bSAndroid Build Coastguard Worker  *  REQUEST_RATE_LIMITED
4854*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
4855*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
4856*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
4857*062a843bSAndroid Build Coastguard Worker  *  OPERATION_NOT_ALLOWED
4858*062a843bSAndroid Build Coastguard Worker  *  NETWORK_NOT_READY
4859*062a843bSAndroid Build Coastguard Worker  *  INVALID_MODEM_STATE
4860*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
4861*062a843bSAndroid Build Coastguard Worker  *
4862*062a843bSAndroid Build Coastguard Worker  */
4863*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_CDMA_SMS_ACKNOWLEDGE 88
4864*062a843bSAndroid Build Coastguard Worker 
4865*062a843bSAndroid Build Coastguard Worker /**
4866*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_GSM_GET_BROADCAST_SMS_CONFIG
4867*062a843bSAndroid Build Coastguard Worker  *
4868*062a843bSAndroid Build Coastguard Worker  * Request the setting of GSM/WCDMA Cell Broadcast SMS config.
4869*062a843bSAndroid Build Coastguard Worker  *
4870*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
4871*062a843bSAndroid Build Coastguard Worker  *
4872*062a843bSAndroid Build Coastguard Worker  * "response" is a const RIL_GSM_BroadcastSmsConfigInfo **
4873*062a843bSAndroid Build Coastguard Worker  * "responselen" is count * sizeof (RIL_GSM_BroadcastSmsConfigInfo *)
4874*062a843bSAndroid Build Coastguard Worker  *
4875*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4876*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
4877*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
4878*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
4879*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
4880*062a843bSAndroid Build Coastguard Worker  *  REQUEST_RATE_LIMITED
4881*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
4882*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
4883*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
4884*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
4885*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
4886*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
4887*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
4888*062a843bSAndroid Build Coastguard Worker  *  INVALID_MODEM_STATE
4889*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
4890*062a843bSAndroid Build Coastguard Worker  */
4891*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_GSM_GET_BROADCAST_SMS_CONFIG 89
4892*062a843bSAndroid Build Coastguard Worker 
4893*062a843bSAndroid Build Coastguard Worker /**
4894*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_GSM_SET_BROADCAST_SMS_CONFIG
4895*062a843bSAndroid Build Coastguard Worker  *
4896*062a843bSAndroid Build Coastguard Worker  * Set GSM/WCDMA Cell Broadcast SMS config
4897*062a843bSAndroid Build Coastguard Worker  *
4898*062a843bSAndroid Build Coastguard Worker  * "data" is a const RIL_GSM_BroadcastSmsConfigInfo **
4899*062a843bSAndroid Build Coastguard Worker  * "datalen" is count * sizeof(RIL_GSM_BroadcastSmsConfigInfo *)
4900*062a843bSAndroid Build Coastguard Worker  *
4901*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
4902*062a843bSAndroid Build Coastguard Worker  *
4903*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4904*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
4905*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
4906*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
4907*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
4908*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
4909*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
4910*062a843bSAndroid Build Coastguard Worker  *  REQUEST_RATE_LIMITED
4911*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
4912*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
4913*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
4914*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
4915*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
4916*062a843bSAndroid Build Coastguard Worker  *  INVALID_MODEM_STATE
4917*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
4918*062a843bSAndroid Build Coastguard Worker  *
4919*062a843bSAndroid Build Coastguard Worker  */
4920*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_GSM_SET_BROADCAST_SMS_CONFIG 90
4921*062a843bSAndroid Build Coastguard Worker 
4922*062a843bSAndroid Build Coastguard Worker /**
4923*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_GSM_SMS_BROADCAST_ACTIVATION
4924*062a843bSAndroid Build Coastguard Worker  *
4925*062a843bSAndroid Build Coastguard Worker * Enable or disable the reception of GSM/WCDMA Cell Broadcast SMS
4926*062a843bSAndroid Build Coastguard Worker  *
4927*062a843bSAndroid Build Coastguard Worker  * "data" is const int *
4928*062a843bSAndroid Build Coastguard Worker  * (const int *)data[0] indicates to activate or turn off the
4929*062a843bSAndroid Build Coastguard Worker  * reception of GSM/WCDMA Cell Broadcast SMS, 0-1,
4930*062a843bSAndroid Build Coastguard Worker  *                       0 - Activate, 1 - Turn off
4931*062a843bSAndroid Build Coastguard Worker  *
4932*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
4933*062a843bSAndroid Build Coastguard Worker  *
4934*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4935*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
4936*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
4937*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
4938*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
4939*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
4940*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
4941*062a843bSAndroid Build Coastguard Worker  *  REQUEST_RATE_LIMITED
4942*062a843bSAndroid Build Coastguard Worker *   MODEM_ERR
4943*062a843bSAndroid Build Coastguard Worker *   INTERNAL_ERR
4944*062a843bSAndroid Build Coastguard Worker *   NO_RESOURCES
4945*062a843bSAndroid Build Coastguard Worker *   CANCELLED
4946*062a843bSAndroid Build Coastguard Worker *   INVALID_MODEM_STATE
4947*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
4948*062a843bSAndroid Build Coastguard Worker  *
4949*062a843bSAndroid Build Coastguard Worker  */
4950*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_GSM_SMS_BROADCAST_ACTIVATION 91
4951*062a843bSAndroid Build Coastguard Worker 
4952*062a843bSAndroid Build Coastguard Worker /**
4953*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_CDMA_GET_BROADCAST_SMS_CONFIG
4954*062a843bSAndroid Build Coastguard Worker  *
4955*062a843bSAndroid Build Coastguard Worker  * Request the setting of CDMA Broadcast SMS config
4956*062a843bSAndroid Build Coastguard Worker  *
4957*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
4958*062a843bSAndroid Build Coastguard Worker  *
4959*062a843bSAndroid Build Coastguard Worker  * "response" is a const RIL_CDMA_BroadcastSmsConfigInfo **
4960*062a843bSAndroid Build Coastguard Worker  * "responselen" is count * sizeof (RIL_CDMA_BroadcastSmsConfigInfo *)
4961*062a843bSAndroid Build Coastguard Worker  *
4962*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4963*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
4964*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
4965*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
4966*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
4967*062a843bSAndroid Build Coastguard Worker  *  REQUEST_RATE_LIMITED
4968*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
4969*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
4970*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
4971*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
4972*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
4973*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
4974*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
4975*062a843bSAndroid Build Coastguard Worker  *  INVALID_MODEM_STATE
4976*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
4977*062a843bSAndroid Build Coastguard Worker  *
4978*062a843bSAndroid Build Coastguard Worker  */
4979*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_CDMA_GET_BROADCAST_SMS_CONFIG 92
4980*062a843bSAndroid Build Coastguard Worker 
4981*062a843bSAndroid Build Coastguard Worker /**
4982*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_CDMA_SET_BROADCAST_SMS_CONFIG
4983*062a843bSAndroid Build Coastguard Worker  *
4984*062a843bSAndroid Build Coastguard Worker  * Set CDMA Broadcast SMS config
4985*062a843bSAndroid Build Coastguard Worker  *
4986*062a843bSAndroid Build Coastguard Worker  * "data" is a const RIL_CDMA_BroadcastSmsConfigInfo **
4987*062a843bSAndroid Build Coastguard Worker  * "datalen" is count * sizeof(const RIL_CDMA_BroadcastSmsConfigInfo *)
4988*062a843bSAndroid Build Coastguard Worker  *
4989*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
4990*062a843bSAndroid Build Coastguard Worker  *
4991*062a843bSAndroid Build Coastguard Worker  * Valid errors:
4992*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
4993*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
4994*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
4995*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
4996*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
4997*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
4998*062a843bSAndroid Build Coastguard Worker  *  REQUEST_RATE_LIMITED
4999*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
5000*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
5001*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
5002*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
5003*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
5004*062a843bSAndroid Build Coastguard Worker  *  INVALID_MODEM_STATE
5005*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5006*062a843bSAndroid Build Coastguard Worker  *
5007*062a843bSAndroid Build Coastguard Worker  */
5008*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_CDMA_SET_BROADCAST_SMS_CONFIG 93
5009*062a843bSAndroid Build Coastguard Worker 
5010*062a843bSAndroid Build Coastguard Worker /**
5011*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_CDMA_SMS_BROADCAST_ACTIVATION
5012*062a843bSAndroid Build Coastguard Worker  *
5013*062a843bSAndroid Build Coastguard Worker  * Enable or disable the reception of CDMA Broadcast SMS
5014*062a843bSAndroid Build Coastguard Worker  *
5015*062a843bSAndroid Build Coastguard Worker  * "data" is const int *
5016*062a843bSAndroid Build Coastguard Worker  * (const int *)data[0] indicates to activate or turn off the
5017*062a843bSAndroid Build Coastguard Worker  * reception of CDMA Broadcast SMS, 0-1,
5018*062a843bSAndroid Build Coastguard Worker  *                       0 - Activate, 1 - Turn off
5019*062a843bSAndroid Build Coastguard Worker  *
5020*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
5021*062a843bSAndroid Build Coastguard Worker  *
5022*062a843bSAndroid Build Coastguard Worker  * Valid errors:
5023*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
5024*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
5025*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
5026*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
5027*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
5028*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
5029*062a843bSAndroid Build Coastguard Worker  *  REQUEST_RATE_LIMITED
5030*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
5031*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
5032*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
5033*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
5034*062a843bSAndroid Build Coastguard Worker  *  INVALID_MODEM_STATE
5035*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5036*062a843bSAndroid Build Coastguard Worker  *
5037*062a843bSAndroid Build Coastguard Worker  */
5038*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_CDMA_SMS_BROADCAST_ACTIVATION 94
5039*062a843bSAndroid Build Coastguard Worker 
5040*062a843bSAndroid Build Coastguard Worker /**
5041*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_CDMA_SUBSCRIPTION
5042*062a843bSAndroid Build Coastguard Worker  *
5043*062a843bSAndroid Build Coastguard Worker  * Request the device MDN / H_SID / H_NID.
5044*062a843bSAndroid Build Coastguard Worker  *
5045*062a843bSAndroid Build Coastguard Worker  * The request is only allowed when CDMA subscription is available.  When CDMA
5046*062a843bSAndroid Build Coastguard Worker  * subscription is changed, application layer should re-issue the request to
5047*062a843bSAndroid Build Coastguard Worker  * update the subscription information.
5048*062a843bSAndroid Build Coastguard Worker  *
5049*062a843bSAndroid Build Coastguard Worker  * If a NULL value is returned for any of the device id, it means that error
5050*062a843bSAndroid Build Coastguard Worker  * accessing the device.
5051*062a843bSAndroid Build Coastguard Worker  *
5052*062a843bSAndroid Build Coastguard Worker  * "response" is const char **
5053*062a843bSAndroid Build Coastguard Worker  * ((const char **)response)[0] is MDN if CDMA subscription is available
5054*062a843bSAndroid Build Coastguard Worker  * ((const char **)response)[1] is a comma separated list of H_SID (Home SID) if
5055*062a843bSAndroid Build Coastguard Worker  *                              CDMA subscription is available, in decimal format
5056*062a843bSAndroid Build Coastguard Worker  * ((const char **)response)[2] is a comma separated list of H_NID (Home NID) if
5057*062a843bSAndroid Build Coastguard Worker  *                              CDMA subscription is available, in decimal format
5058*062a843bSAndroid Build Coastguard Worker  * ((const char **)response)[3] is MIN (10 digits, MIN2+MIN1) if CDMA subscription is available
5059*062a843bSAndroid Build Coastguard Worker  * ((const char **)response)[4] is PRL version if CDMA subscription is available
5060*062a843bSAndroid Build Coastguard Worker  *
5061*062a843bSAndroid Build Coastguard Worker  * Valid errors:
5062*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
5063*062a843bSAndroid Build Coastguard Worker  *  RIL_E_SUBSCRIPTION_NOT_AVAILABLE
5064*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
5065*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
5066*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
5067*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
5068*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
5069*062a843bSAndroid Build Coastguard Worker  *  NOT_PROVISIONED
5070*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5071*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
5072*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
5073*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
5074*062a843bSAndroid Build Coastguard Worker  *
5075*062a843bSAndroid Build Coastguard Worker  */
5076*062a843bSAndroid Build Coastguard Worker 
5077*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_CDMA_SUBSCRIPTION 95
5078*062a843bSAndroid Build Coastguard Worker 
5079*062a843bSAndroid Build Coastguard Worker /**
5080*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_CDMA_WRITE_SMS_TO_RUIM
5081*062a843bSAndroid Build Coastguard Worker  *
5082*062a843bSAndroid Build Coastguard Worker  * Stores a CDMA SMS message to RUIM memory.
5083*062a843bSAndroid Build Coastguard Worker  *
5084*062a843bSAndroid Build Coastguard Worker  * "data" is RIL_CDMA_SMS_WriteArgs *
5085*062a843bSAndroid Build Coastguard Worker  *
5086*062a843bSAndroid Build Coastguard Worker  * "response" is int *
5087*062a843bSAndroid Build Coastguard Worker  * ((const int *)response)[0] is the record index where the message is stored.
5088*062a843bSAndroid Build Coastguard Worker  *
5089*062a843bSAndroid Build Coastguard Worker  * Valid errors:
5090*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
5091*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
5092*062a843bSAndroid Build Coastguard Worker  *  SIM_FULL
5093*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
5094*062a843bSAndroid Build Coastguard Worker  *  INVALID_SMS_FORMAT
5095*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
5096*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
5097*062a843bSAndroid Build Coastguard Worker  *  ENCODING_ERR
5098*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
5099*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
5100*062a843bSAndroid Build Coastguard Worker  *  INVALID_MODEM_STATE
5101*062a843bSAndroid Build Coastguard Worker  *  OPERATION_NOT_ALLOWED
5102*062a843bSAndroid Build Coastguard Worker  *  INVALID_SMSC_ADDRESS
5103*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
5104*062a843bSAndroid Build Coastguard Worker  *  INVALID_MODEM_STATE
5105*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5106*062a843bSAndroid Build Coastguard Worker  *  SIM_ABSENT
5107*062a843bSAndroid Build Coastguard Worker  *
5108*062a843bSAndroid Build Coastguard Worker  */
5109*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_CDMA_WRITE_SMS_TO_RUIM 96
5110*062a843bSAndroid Build Coastguard Worker 
5111*062a843bSAndroid Build Coastguard Worker /**
5112*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_CDMA_DELETE_SMS_ON_RUIM
5113*062a843bSAndroid Build Coastguard Worker  *
5114*062a843bSAndroid Build Coastguard Worker  * Deletes a CDMA SMS message from RUIM memory.
5115*062a843bSAndroid Build Coastguard Worker  *
5116*062a843bSAndroid Build Coastguard Worker  * "data" is int  *
5117*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is the record index of the message to delete.
5118*062a843bSAndroid Build Coastguard Worker  *
5119*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
5120*062a843bSAndroid Build Coastguard Worker  *
5121*062a843bSAndroid Build Coastguard Worker  * Valid errors:
5122*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
5123*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
5124*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
5125*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
5126*062a843bSAndroid Build Coastguard Worker  *  REQUEST_RATE_LIMITED
5127*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
5128*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
5129*062a843bSAndroid Build Coastguard Worker  *  NO_SUCH_ENTRY
5130*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
5131*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
5132*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
5133*062a843bSAndroid Build Coastguard Worker  *  INVALID_MODEM_STATE
5134*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5135*062a843bSAndroid Build Coastguard Worker  *  SIM_ABSENT
5136*062a843bSAndroid Build Coastguard Worker  */
5137*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_CDMA_DELETE_SMS_ON_RUIM 97
5138*062a843bSAndroid Build Coastguard Worker 
5139*062a843bSAndroid Build Coastguard Worker /**
5140*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_DEVICE_IDENTITY
5141*062a843bSAndroid Build Coastguard Worker  *
5142*062a843bSAndroid Build Coastguard Worker  * Request the device ESN / MEID / IMEI / IMEISV.
5143*062a843bSAndroid Build Coastguard Worker  *
5144*062a843bSAndroid Build Coastguard Worker  * The request is always allowed and contains GSM and CDMA device identity;
5145*062a843bSAndroid Build Coastguard Worker  * it substitutes the deprecated requests RIL_REQUEST_GET_IMEI and
5146*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_GET_IMEISV.
5147*062a843bSAndroid Build Coastguard Worker  *
5148*062a843bSAndroid Build Coastguard Worker  * If a NULL value is returned for any of the device id, it means that error
5149*062a843bSAndroid Build Coastguard Worker  * accessing the device.
5150*062a843bSAndroid Build Coastguard Worker  *
5151*062a843bSAndroid Build Coastguard Worker  * When CDMA subscription is changed the ESN/MEID may change.  The application
5152*062a843bSAndroid Build Coastguard Worker  * layer should re-issue the request to update the device identity in this case.
5153*062a843bSAndroid Build Coastguard Worker  *
5154*062a843bSAndroid Build Coastguard Worker  * "response" is const char **
5155*062a843bSAndroid Build Coastguard Worker  * ((const char **)response)[0] is IMEI if GSM subscription is available
5156*062a843bSAndroid Build Coastguard Worker  * ((const char **)response)[1] is IMEISV if GSM subscription is available
5157*062a843bSAndroid Build Coastguard Worker  * ((const char **)response)[2] is ESN if CDMA subscription is available
5158*062a843bSAndroid Build Coastguard Worker  * ((const char **)response)[3] is MEID if CDMA subscription is available
5159*062a843bSAndroid Build Coastguard Worker  *
5160*062a843bSAndroid Build Coastguard Worker  * Valid errors:
5161*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
5162*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
5163*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
5164*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
5165*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
5166*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
5167*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
5168*062a843bSAndroid Build Coastguard Worker  *  NOT_PROVISIONED
5169*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5170*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
5171*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
5172*062a843bSAndroid Build Coastguard Worker  *
5173*062a843bSAndroid Build Coastguard Worker  */
5174*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_DEVICE_IDENTITY 98
5175*062a843bSAndroid Build Coastguard Worker 
5176*062a843bSAndroid Build Coastguard Worker /**
5177*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_EXIT_EMERGENCY_CALLBACK_MODE
5178*062a843bSAndroid Build Coastguard Worker  *
5179*062a843bSAndroid Build Coastguard Worker  * Request the radio's system selection module to exit emergency
5180*062a843bSAndroid Build Coastguard Worker  * callback mode.  RIL will not respond with SUCCESS until the modem has
5181*062a843bSAndroid Build Coastguard Worker  * completely exited from Emergency Callback Mode.
5182*062a843bSAndroid Build Coastguard Worker  *
5183*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
5184*062a843bSAndroid Build Coastguard Worker  *
5185*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
5186*062a843bSAndroid Build Coastguard Worker  *
5187*062a843bSAndroid Build Coastguard Worker  * Valid errors:
5188*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
5189*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
5190*062a843bSAndroid Build Coastguard Worker  *  OPERATION_NOT_ALLOWED
5191*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
5192*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
5193*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
5194*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
5195*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
5196*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5197*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
5198*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
5199*062a843bSAndroid Build Coastguard Worker  *
5200*062a843bSAndroid Build Coastguard Worker  */
5201*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_EXIT_EMERGENCY_CALLBACK_MODE 99
5202*062a843bSAndroid Build Coastguard Worker 
5203*062a843bSAndroid Build Coastguard Worker /**
5204*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_GET_SMSC_ADDRESS
5205*062a843bSAndroid Build Coastguard Worker  *
5206*062a843bSAndroid Build Coastguard Worker  * Queries the default Short Message Service Center address on the device.
5207*062a843bSAndroid Build Coastguard Worker  *
5208*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
5209*062a843bSAndroid Build Coastguard Worker  *
5210*062a843bSAndroid Build Coastguard Worker  * "response" is const char * containing the SMSC address.
5211*062a843bSAndroid Build Coastguard Worker  *
5212*062a843bSAndroid Build Coastguard Worker  * Valid errors:
5213*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
5214*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
5215*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
5216*062a843bSAndroid Build Coastguard Worker  *  REQUEST_RATE_LIMITED
5217*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
5218*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
5219*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
5220*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
5221*062a843bSAndroid Build Coastguard Worker  *  INVALID_MODEM_STATE
5222*062a843bSAndroid Build Coastguard Worker  *  NOT_PROVISIONED
5223*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
5224*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
5225*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5226*062a843bSAndroid Build Coastguard Worker  *  SIM_ABSENT
5227*062a843bSAndroid Build Coastguard Worker  *
5228*062a843bSAndroid Build Coastguard Worker  */
5229*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_GET_SMSC_ADDRESS 100
5230*062a843bSAndroid Build Coastguard Worker 
5231*062a843bSAndroid Build Coastguard Worker /**
5232*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SET_SMSC_ADDRESS
5233*062a843bSAndroid Build Coastguard Worker  *
5234*062a843bSAndroid Build Coastguard Worker  * Sets the default Short Message Service Center address on the device.
5235*062a843bSAndroid Build Coastguard Worker  *
5236*062a843bSAndroid Build Coastguard Worker  * "data" is const char * containing the SMSC address.
5237*062a843bSAndroid Build Coastguard Worker  *
5238*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
5239*062a843bSAndroid Build Coastguard Worker  *
5240*062a843bSAndroid Build Coastguard Worker  * Valid errors:
5241*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
5242*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
5243*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
5244*062a843bSAndroid Build Coastguard Worker  *  INVALID_SMS_FORMAT
5245*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
5246*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
5247*062a843bSAndroid Build Coastguard Worker  *  REQUEST_RATE_LIMITED
5248*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
5249*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
5250*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
5251*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
5252*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5253*062a843bSAndroid Build Coastguard Worker  *  SIM_ABSENT
5254*062a843bSAndroid Build Coastguard Worker  */
5255*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SET_SMSC_ADDRESS 101
5256*062a843bSAndroid Build Coastguard Worker 
5257*062a843bSAndroid Build Coastguard Worker /**
5258*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_REPORT_SMS_MEMORY_STATUS
5259*062a843bSAndroid Build Coastguard Worker  *
5260*062a843bSAndroid Build Coastguard Worker  * Indicates whether there is storage available for new SMS messages.
5261*062a843bSAndroid Build Coastguard Worker  *
5262*062a843bSAndroid Build Coastguard Worker  * "data" is int *
5263*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is 1 if memory is available for storing new messages
5264*062a843bSAndroid Build Coastguard Worker  *                  is 0 if memory capacity is exceeded
5265*062a843bSAndroid Build Coastguard Worker  *
5266*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
5267*062a843bSAndroid Build Coastguard Worker  *
5268*062a843bSAndroid Build Coastguard Worker  * Valid errors:
5269*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
5270*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
5271*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
5272*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
5273*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
5274*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
5275*062a843bSAndroid Build Coastguard Worker  *  REQUEST_RATE_LIMITED
5276*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
5277*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
5278*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
5279*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
5280*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5281*062a843bSAndroid Build Coastguard Worker  *
5282*062a843bSAndroid Build Coastguard Worker  */
5283*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_REPORT_SMS_MEMORY_STATUS 102
5284*062a843bSAndroid Build Coastguard Worker 
5285*062a843bSAndroid Build Coastguard Worker /**
5286*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_REPORT_STK_SERVICE_IS_RUNNING
5287*062a843bSAndroid Build Coastguard Worker  *
5288*062a843bSAndroid Build Coastguard Worker  * Indicates that the StkSerivce is running and is
5289*062a843bSAndroid Build Coastguard Worker  * ready to receive RIL_UNSOL_STK_XXXXX commands.
5290*062a843bSAndroid Build Coastguard Worker  *
5291*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
5292*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
5293*062a843bSAndroid Build Coastguard Worker  *
5294*062a843bSAndroid Build Coastguard Worker  * Valid errors:
5295*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
5296*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
5297*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
5298*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
5299*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
5300*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
5301*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5302*062a843bSAndroid Build Coastguard Worker  *
5303*062a843bSAndroid Build Coastguard Worker  */
5304*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_REPORT_STK_SERVICE_IS_RUNNING 103
5305*062a843bSAndroid Build Coastguard Worker 
5306*062a843bSAndroid Build Coastguard Worker /**
5307*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_CDMA_GET_SUBSCRIPTION_SOURCE
5308*062a843bSAndroid Build Coastguard Worker  *
5309*062a843bSAndroid Build Coastguard Worker  * Request to query the location where the CDMA subscription shall
5310*062a843bSAndroid Build Coastguard Worker  * be retrieved
5311*062a843bSAndroid Build Coastguard Worker  *
5312*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
5313*062a843bSAndroid Build Coastguard Worker  *
5314*062a843bSAndroid Build Coastguard Worker  * "response" is int *
5315*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is == RIL_CdmaSubscriptionSource
5316*062a843bSAndroid Build Coastguard Worker  *
5317*062a843bSAndroid Build Coastguard Worker  * Valid errors:
5318*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
5319*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
5320*062a843bSAndroid Build Coastguard Worker  *  SUBSCRIPTION_NOT_AVAILABLE
5321*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
5322*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
5323*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
5324*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
5325*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5326*062a843bSAndroid Build Coastguard Worker  *
5327*062a843bSAndroid Build Coastguard Worker  * See also: RIL_REQUEST_CDMA_SET_SUBSCRIPTION_SOURCE
5328*062a843bSAndroid Build Coastguard Worker  */
5329*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_CDMA_GET_SUBSCRIPTION_SOURCE 104
5330*062a843bSAndroid Build Coastguard Worker 
5331*062a843bSAndroid Build Coastguard Worker /**
5332*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_ISIM_AUTHENTICATION
5333*062a843bSAndroid Build Coastguard Worker  *
5334*062a843bSAndroid Build Coastguard Worker  * Request the ISIM application on the UICC to perform AKA
5335*062a843bSAndroid Build Coastguard Worker  * challenge/response algorithm for IMS authentication
5336*062a843bSAndroid Build Coastguard Worker  *
5337*062a843bSAndroid Build Coastguard Worker  * "data" is a const char * containing the challenge string in Base64 format
5338*062a843bSAndroid Build Coastguard Worker  * "response" is a const char * containing the response in Base64 format
5339*062a843bSAndroid Build Coastguard Worker  *
5340*062a843bSAndroid Build Coastguard Worker  * Valid errors:
5341*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
5342*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
5343*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
5344*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
5345*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
5346*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
5347*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5348*062a843bSAndroid Build Coastguard Worker  */
5349*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_ISIM_AUTHENTICATION 105
5350*062a843bSAndroid Build Coastguard Worker 
5351*062a843bSAndroid Build Coastguard Worker /**
5352*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_ACKNOWLEDGE_INCOMING_GSM_SMS_WITH_PDU
5353*062a843bSAndroid Build Coastguard Worker  *
5354*062a843bSAndroid Build Coastguard Worker  * Acknowledge successful or failed receipt of SMS previously indicated
5355*062a843bSAndroid Build Coastguard Worker  * via RIL_UNSOL_RESPONSE_NEW_SMS, including acknowledgement TPDU to send
5356*062a843bSAndroid Build Coastguard Worker  * as the RP-User-Data element of the RP-ACK or RP-ERROR PDU.
5357*062a843bSAndroid Build Coastguard Worker  *
5358*062a843bSAndroid Build Coastguard Worker  * "data" is const char **
5359*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[0] is "1" on successful receipt (send RP-ACK)
5360*062a843bSAndroid Build Coastguard Worker  *                          is "0" on failed receipt (send RP-ERROR)
5361*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[1] is the acknowledgement TPDU in hexadecimal format
5362*062a843bSAndroid Build Coastguard Worker  *
5363*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
5364*062a843bSAndroid Build Coastguard Worker  *
5365*062a843bSAndroid Build Coastguard Worker  * Valid errors:
5366*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
5367*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
5368*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
5369*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
5370*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
5371*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
5372*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5373*062a843bSAndroid Build Coastguard Worker  */
5374*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_ACKNOWLEDGE_INCOMING_GSM_SMS_WITH_PDU 106
5375*062a843bSAndroid Build Coastguard Worker 
5376*062a843bSAndroid Build Coastguard Worker /**
5377*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_STK_SEND_ENVELOPE_WITH_STATUS
5378*062a843bSAndroid Build Coastguard Worker  *
5379*062a843bSAndroid Build Coastguard Worker  * Requests to send a SAT/USAT envelope command to SIM.
5380*062a843bSAndroid Build Coastguard Worker  * The SAT/USAT envelope command refers to 3GPP TS 11.14 and 3GPP TS 31.111.
5381*062a843bSAndroid Build Coastguard Worker  *
5382*062a843bSAndroid Build Coastguard Worker  * This request has one difference from RIL_REQUEST_STK_SEND_ENVELOPE_COMMAND:
5383*062a843bSAndroid Build Coastguard Worker  * the SW1 and SW2 status bytes from the UICC response are returned along with
5384*062a843bSAndroid Build Coastguard Worker  * the response data, using the same structure as RIL_REQUEST_SIM_IO.
5385*062a843bSAndroid Build Coastguard Worker  *
5386*062a843bSAndroid Build Coastguard Worker  * The RIL implementation shall perform the normal processing of a '91XX'
5387*062a843bSAndroid Build Coastguard Worker  * response in SW1/SW2 to retrieve the pending proactive command and send it
5388*062a843bSAndroid Build Coastguard Worker  * as an unsolicited response, as RIL_REQUEST_STK_SEND_ENVELOPE_COMMAND does.
5389*062a843bSAndroid Build Coastguard Worker  *
5390*062a843bSAndroid Build Coastguard Worker  * "data" is a const char * containing the SAT/USAT command
5391*062a843bSAndroid Build Coastguard Worker  * in hexadecimal format starting with command tag
5392*062a843bSAndroid Build Coastguard Worker  *
5393*062a843bSAndroid Build Coastguard Worker  * "response" is a const RIL_SIM_IO_Response *
5394*062a843bSAndroid Build Coastguard Worker  *
5395*062a843bSAndroid Build Coastguard Worker  * Valid errors:
5396*062a843bSAndroid Build Coastguard Worker  *  RIL_E_SUCCESS
5397*062a843bSAndroid Build Coastguard Worker  *  RIL_E_RADIO_NOT_AVAILABLE (radio resetting)
5398*062a843bSAndroid Build Coastguard Worker  *  SIM_BUSY
5399*062a843bSAndroid Build Coastguard Worker  *  OPERATION_NOT_ALLOWED
5400*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
5401*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
5402*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
5403*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
5404*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5405*062a843bSAndroid Build Coastguard Worker  *  SIM_ABSENT
5406*062a843bSAndroid Build Coastguard Worker  */
5407*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_STK_SEND_ENVELOPE_WITH_STATUS 107
5408*062a843bSAndroid Build Coastguard Worker 
5409*062a843bSAndroid Build Coastguard Worker /**
5410*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_VOICE_RADIO_TECH
5411*062a843bSAndroid Build Coastguard Worker  *
5412*062a843bSAndroid Build Coastguard Worker  * Query the radio technology type (3GPP/3GPP2) used for voice. Query is valid only
5413*062a843bSAndroid Build Coastguard Worker  * when radio state is not RADIO_STATE_UNAVAILABLE
5414*062a843bSAndroid Build Coastguard Worker  *
5415*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
5416*062a843bSAndroid Build Coastguard Worker  * "response" is int *
5417*062a843bSAndroid Build Coastguard Worker  * ((int *) response)[0] is of type const RIL_RadioTechnology
5418*062a843bSAndroid Build Coastguard Worker  *
5419*062a843bSAndroid Build Coastguard Worker  * Valid errors:
5420*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
5421*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
5422*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
5423*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
5424*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
5425*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
5426*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5427*062a843bSAndroid Build Coastguard Worker  */
5428*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_VOICE_RADIO_TECH 108
5429*062a843bSAndroid Build Coastguard Worker 
5430*062a843bSAndroid Build Coastguard Worker /**
5431*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_GET_CELL_INFO_LIST
5432*062a843bSAndroid Build Coastguard Worker  *
5433*062a843bSAndroid Build Coastguard Worker  * Request all of the current cell information known to the radio. The radio
5434*062a843bSAndroid Build Coastguard Worker  * must a list of all current cells, including the neighboring cells. If for a particular
5435*062a843bSAndroid Build Coastguard Worker  * cell information isn't known then the appropriate unknown value will be returned.
5436*062a843bSAndroid Build Coastguard Worker  * This does not cause or change the rate of RIL_UNSOL_CELL_INFO_LIST.
5437*062a843bSAndroid Build Coastguard Worker  *
5438*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
5439*062a843bSAndroid Build Coastguard Worker  *
5440*062a843bSAndroid Build Coastguard Worker  * "response" is an array of  RIL_CellInfo_v12.
5441*062a843bSAndroid Build Coastguard Worker  *
5442*062a843bSAndroid Build Coastguard Worker  * Valid errors:
5443*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
5444*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
5445*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
5446*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
5447*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
5448*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
5449*062a843bSAndroid Build Coastguard Worker  *  NO_NETWORK_FOUND
5450*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5451*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
5452*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
5453*062a843bSAndroid Build Coastguard Worker  *
5454*062a843bSAndroid Build Coastguard Worker  */
5455*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_GET_CELL_INFO_LIST 109
5456*062a843bSAndroid Build Coastguard Worker 
5457*062a843bSAndroid Build Coastguard Worker /**
5458*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SET_UNSOL_CELL_INFO_LIST_RATE
5459*062a843bSAndroid Build Coastguard Worker  *
5460*062a843bSAndroid Build Coastguard Worker  * Sets the minimum time between when RIL_UNSOL_CELL_INFO_LIST should be invoked.
5461*062a843bSAndroid Build Coastguard Worker  * A value of 0, means invoke RIL_UNSOL_CELL_INFO_LIST when any of the reported
5462*062a843bSAndroid Build Coastguard Worker  * information changes. Setting the value to INT_MAX(0x7fffffff) means never issue
5463*062a843bSAndroid Build Coastguard Worker  * a RIL_UNSOL_CELL_INFO_LIST.
5464*062a843bSAndroid Build Coastguard Worker  *
5465*062a843bSAndroid Build Coastguard Worker  * "data" is int *
5466*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is minimum time in milliseconds
5467*062a843bSAndroid Build Coastguard Worker  *
5468*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
5469*062a843bSAndroid Build Coastguard Worker  *
5470*062a843bSAndroid Build Coastguard Worker  * Valid errors:
5471*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
5472*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
5473*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
5474*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
5475*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
5476*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
5477*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5478*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
5479*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
5480*062a843bSAndroid Build Coastguard Worker  */
5481*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SET_UNSOL_CELL_INFO_LIST_RATE 110
5482*062a843bSAndroid Build Coastguard Worker 
5483*062a843bSAndroid Build Coastguard Worker /**
5484*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SET_INITIAL_ATTACH_APN
5485*062a843bSAndroid Build Coastguard Worker  *
5486*062a843bSAndroid Build Coastguard Worker  * Set an apn to initial attach network
5487*062a843bSAndroid Build Coastguard Worker  *
5488*062a843bSAndroid Build Coastguard Worker  * "data" is a const char **
5489*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[0] is the APN to connect if radio technology is LTE
5490*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[1] is the connection type to request must be one of the
5491*062a843bSAndroid Build Coastguard Worker  *                          PDP_type values in TS 27.007 section 10.1.1.
5492*062a843bSAndroid Build Coastguard Worker  *                          For example, "IP", "IPV6", "IPV4V6", or "PPP".
5493*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[2] is the PAP / CHAP auth type. Values:
5494*062a843bSAndroid Build Coastguard Worker  *                          0 => PAP and CHAP is never performed.
5495*062a843bSAndroid Build Coastguard Worker  *                          1 => PAP may be performed; CHAP is never performed.
5496*062a843bSAndroid Build Coastguard Worker  *                          2 => CHAP may be performed; PAP is never performed.
5497*062a843bSAndroid Build Coastguard Worker  *                          3 => PAP / CHAP may be performed - baseband dependent.
5498*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[3] is the username for APN, or NULL
5499*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[4] is the password for APN, or NULL
5500*062a843bSAndroid Build Coastguard Worker  *
5501*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
5502*062a843bSAndroid Build Coastguard Worker  *
5503*062a843bSAndroid Build Coastguard Worker  * Valid errors:
5504*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
5505*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE (radio resetting)
5506*062a843bSAndroid Build Coastguard Worker  *  SUBSCRIPTION_NOT_AVAILABLE
5507*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
5508*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
5509*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
5510*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
5511*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
5512*062a843bSAndroid Build Coastguard Worker  *  NOT_PROVISIONED
5513*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5514*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
5515*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
5516*062a843bSAndroid Build Coastguard Worker  *
5517*062a843bSAndroid Build Coastguard Worker  */
5518*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SET_INITIAL_ATTACH_APN 111
5519*062a843bSAndroid Build Coastguard Worker 
5520*062a843bSAndroid Build Coastguard Worker /**
5521*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_IMS_REGISTRATION_STATE
5522*062a843bSAndroid Build Coastguard Worker  *
5523*062a843bSAndroid Build Coastguard Worker  * This message is DEPRECATED and shall be removed in a future release (target: 2018);
5524*062a843bSAndroid Build Coastguard Worker  * instead, provide IMS registration status via an IMS Service.
5525*062a843bSAndroid Build Coastguard Worker  *
5526*062a843bSAndroid Build Coastguard Worker  * Request current IMS registration state
5527*062a843bSAndroid Build Coastguard Worker  *
5528*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
5529*062a843bSAndroid Build Coastguard Worker  *
5530*062a843bSAndroid Build Coastguard Worker  * "response" is int *
5531*062a843bSAndroid Build Coastguard Worker  * ((int *)response)[0] is registration state:
5532*062a843bSAndroid Build Coastguard Worker  *              0 - Not registered
5533*062a843bSAndroid Build Coastguard Worker  *              1 - Registered
5534*062a843bSAndroid Build Coastguard Worker  *
5535*062a843bSAndroid Build Coastguard Worker  * If ((int*)response)[0] is = 1, then ((int *) response)[1]
5536*062a843bSAndroid Build Coastguard Worker  * must follow with IMS SMS format:
5537*062a843bSAndroid Build Coastguard Worker  *
5538*062a843bSAndroid Build Coastguard Worker  * ((int *) response)[1] is of type RIL_RadioTechnologyFamily
5539*062a843bSAndroid Build Coastguard Worker  *
5540*062a843bSAndroid Build Coastguard Worker  * Valid errors:
5541*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
5542*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
5543*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
5544*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
5545*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
5546*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
5547*062a843bSAndroid Build Coastguard Worker  *  INVALID_MODEM_STATE
5548*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5549*062a843bSAndroid Build Coastguard Worker  */
5550*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_IMS_REGISTRATION_STATE 112
5551*062a843bSAndroid Build Coastguard Worker 
5552*062a843bSAndroid Build Coastguard Worker /**
5553*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_IMS_SEND_SMS
5554*062a843bSAndroid Build Coastguard Worker  *
5555*062a843bSAndroid Build Coastguard Worker  * Send a SMS message over IMS
5556*062a843bSAndroid Build Coastguard Worker  *
5557*062a843bSAndroid Build Coastguard Worker  * "data" is const RIL_IMS_SMS_Message *
5558*062a843bSAndroid Build Coastguard Worker  *
5559*062a843bSAndroid Build Coastguard Worker  * "response" is a const RIL_SMS_Response *
5560*062a843bSAndroid Build Coastguard Worker  *
5561*062a843bSAndroid Build Coastguard Worker  * Based on the return error, caller decides to resend if sending sms
5562*062a843bSAndroid Build Coastguard Worker  * fails. SMS_SEND_FAIL_RETRY means retry, and other errors means no retry.
5563*062a843bSAndroid Build Coastguard Worker  * In case of retry, data is encoded based on Voice Technology available.
5564*062a843bSAndroid Build Coastguard Worker  *
5565*062a843bSAndroid Build Coastguard Worker  * Valid errors:
5566*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
5567*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
5568*062a843bSAndroid Build Coastguard Worker  *  SMS_SEND_FAIL_RETRY
5569*062a843bSAndroid Build Coastguard Worker  *  FDN_CHECK_FAILURE
5570*062a843bSAndroid Build Coastguard Worker  *  NETWORK_REJECT
5571*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
5572*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
5573*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
5574*062a843bSAndroid Build Coastguard Worker  *  INVALID_SMS_FORMAT
5575*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
5576*062a843bSAndroid Build Coastguard Worker  *  REQUEST_RATE_LIMITED
5577*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
5578*062a843bSAndroid Build Coastguard Worker  *  NETWORK_ERR
5579*062a843bSAndroid Build Coastguard Worker  *  ENCODING_ERR
5580*062a843bSAndroid Build Coastguard Worker  *  INVALID_SMSC_ADDRESS
5581*062a843bSAndroid Build Coastguard Worker  *  OPERATION_NOT_ALLOWED
5582*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
5583*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
5584*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
5585*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5586*062a843bSAndroid Build Coastguard Worker  *
5587*062a843bSAndroid Build Coastguard Worker  */
5588*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_IMS_SEND_SMS 113
5589*062a843bSAndroid Build Coastguard Worker 
5590*062a843bSAndroid Build Coastguard Worker /**
5591*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SIM_TRANSMIT_APDU_BASIC
5592*062a843bSAndroid Build Coastguard Worker  *
5593*062a843bSAndroid Build Coastguard Worker  * Request APDU exchange on the basic channel. This command reflects TS 27.007
5594*062a843bSAndroid Build Coastguard Worker  * "generic SIM access" operation (+CSIM). The modem must ensure proper function
5595*062a843bSAndroid Build Coastguard Worker  * of GSM/CDMA, and filter commands appropriately. It should filter
5596*062a843bSAndroid Build Coastguard Worker  * channel management and SELECT by DF name commands.
5597*062a843bSAndroid Build Coastguard Worker  *
5598*062a843bSAndroid Build Coastguard Worker  * "data" is a const RIL_SIM_APDU *
5599*062a843bSAndroid Build Coastguard Worker  * "sessionid" field should be ignored.
5600*062a843bSAndroid Build Coastguard Worker  *
5601*062a843bSAndroid Build Coastguard Worker  * "response" is a const RIL_SIM_IO_Response *
5602*062a843bSAndroid Build Coastguard Worker  *
5603*062a843bSAndroid Build Coastguard Worker  * Valid errors:
5604*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
5605*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
5606*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
5607*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
5608*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
5609*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
5610*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5611*062a843bSAndroid Build Coastguard Worker  */
5612*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SIM_TRANSMIT_APDU_BASIC 114
5613*062a843bSAndroid Build Coastguard Worker 
5614*062a843bSAndroid Build Coastguard Worker /**
5615*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SIM_OPEN_CHANNEL
5616*062a843bSAndroid Build Coastguard Worker  *
5617*062a843bSAndroid Build Coastguard Worker  * Open a new logical channel and select the given application. This command
5618*062a843bSAndroid Build Coastguard Worker  * reflects TS 27.007 "open logical channel" operation (+CCHO). This request
5619*062a843bSAndroid Build Coastguard Worker  * also specifies the P2 parameter (described in ISO 7816-4).
5620*062a843bSAndroid Build Coastguard Worker  *
5621*062a843bSAndroid Build Coastguard Worker  * "data" is a const RIL_OpenChannelParam *
5622*062a843bSAndroid Build Coastguard Worker  *
5623*062a843bSAndroid Build Coastguard Worker  * "response" is int *
5624*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] contains the session id of the logical channel.
5625*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[1] onwards may optionally contain the select response for the
5626*062a843bSAndroid Build Coastguard Worker  *     open channel command with one byte per integer.
5627*062a843bSAndroid Build Coastguard Worker  *
5628*062a843bSAndroid Build Coastguard Worker  * Valid errors:
5629*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
5630*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
5631*062a843bSAndroid Build Coastguard Worker  *  MISSING_RESOURCE
5632*062a843bSAndroid Build Coastguard Worker  *  NO_SUCH_ELEMENT
5633*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
5634*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
5635*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
5636*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
5637*062a843bSAndroid Build Coastguard Worker  *  SIM_ERR
5638*062a843bSAndroid Build Coastguard Worker  *  INVALID_SIM_STATE
5639*062a843bSAndroid Build Coastguard Worker  *  MISSING_RESOURCE
5640*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5641*062a843bSAndroid Build Coastguard Worker  */
5642*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SIM_OPEN_CHANNEL 115
5643*062a843bSAndroid Build Coastguard Worker 
5644*062a843bSAndroid Build Coastguard Worker /**
5645*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SIM_CLOSE_CHANNEL
5646*062a843bSAndroid Build Coastguard Worker  *
5647*062a843bSAndroid Build Coastguard Worker  * Close a previously opened logical channel. This command reflects TS 27.007
5648*062a843bSAndroid Build Coastguard Worker  * "close logical channel" operation (+CCHC).
5649*062a843bSAndroid Build Coastguard Worker  *
5650*062a843bSAndroid Build Coastguard Worker  * "data" is int *
5651*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is the session id of logical the channel to close.
5652*062a843bSAndroid Build Coastguard Worker  *
5653*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
5654*062a843bSAndroid Build Coastguard Worker  *
5655*062a843bSAndroid Build Coastguard Worker  * Valid errors:
5656*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
5657*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
5658*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
5659*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
5660*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
5661*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
5662*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5663*062a843bSAndroid Build Coastguard Worker  */
5664*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SIM_CLOSE_CHANNEL 116
5665*062a843bSAndroid Build Coastguard Worker 
5666*062a843bSAndroid Build Coastguard Worker /**
5667*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SIM_TRANSMIT_APDU_CHANNEL
5668*062a843bSAndroid Build Coastguard Worker  *
5669*062a843bSAndroid Build Coastguard Worker  * Exchange APDUs with a UICC over a previously opened logical channel. This
5670*062a843bSAndroid Build Coastguard Worker  * command reflects TS 27.007 "generic logical channel access" operation
5671*062a843bSAndroid Build Coastguard Worker  * (+CGLA). The modem should filter channel management and SELECT by DF name
5672*062a843bSAndroid Build Coastguard Worker  * commands.
5673*062a843bSAndroid Build Coastguard Worker  *
5674*062a843bSAndroid Build Coastguard Worker  * "data" is a const RIL_SIM_APDU*
5675*062a843bSAndroid Build Coastguard Worker  *
5676*062a843bSAndroid Build Coastguard Worker  * "response" is a const RIL_SIM_IO_Response *
5677*062a843bSAndroid Build Coastguard Worker  *
5678*062a843bSAndroid Build Coastguard Worker  * Valid errors:
5679*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
5680*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
5681*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
5682*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
5683*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
5684*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
5685*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5686*062a843bSAndroid Build Coastguard Worker  */
5687*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SIM_TRANSMIT_APDU_CHANNEL 117
5688*062a843bSAndroid Build Coastguard Worker 
5689*062a843bSAndroid Build Coastguard Worker /**
5690*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_NV_READ_ITEM
5691*062a843bSAndroid Build Coastguard Worker  *
5692*062a843bSAndroid Build Coastguard Worker  * Read one of the radio NV items defined in RadioNVItems.java / ril_nv_items.h.
5693*062a843bSAndroid Build Coastguard Worker  * This is used for device configuration by some CDMA operators.
5694*062a843bSAndroid Build Coastguard Worker  *
5695*062a843bSAndroid Build Coastguard Worker  * "data" is a const RIL_NV_ReadItem *
5696*062a843bSAndroid Build Coastguard Worker  *
5697*062a843bSAndroid Build Coastguard Worker  * "response" is const char * containing the contents of the NV item
5698*062a843bSAndroid Build Coastguard Worker  *
5699*062a843bSAndroid Build Coastguard Worker  * Valid errors:
5700*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
5701*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
5702*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5703*062a843bSAndroid Build Coastguard Worker  */
5704*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_NV_READ_ITEM 118
5705*062a843bSAndroid Build Coastguard Worker 
5706*062a843bSAndroid Build Coastguard Worker /**
5707*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_NV_WRITE_ITEM
5708*062a843bSAndroid Build Coastguard Worker  *
5709*062a843bSAndroid Build Coastguard Worker  * Write one of the radio NV items defined in RadioNVItems.java / ril_nv_items.h.
5710*062a843bSAndroid Build Coastguard Worker  * This is used for device configuration by some CDMA operators.
5711*062a843bSAndroid Build Coastguard Worker  *
5712*062a843bSAndroid Build Coastguard Worker  * "data" is a const RIL_NV_WriteItem *
5713*062a843bSAndroid Build Coastguard Worker  *
5714*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
5715*062a843bSAndroid Build Coastguard Worker  *
5716*062a843bSAndroid Build Coastguard Worker  * Valid errors:
5717*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
5718*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
5719*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5720*062a843bSAndroid Build Coastguard Worker  */
5721*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_NV_WRITE_ITEM 119
5722*062a843bSAndroid Build Coastguard Worker 
5723*062a843bSAndroid Build Coastguard Worker /**
5724*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_NV_WRITE_CDMA_PRL
5725*062a843bSAndroid Build Coastguard Worker  *
5726*062a843bSAndroid Build Coastguard Worker  * Update the CDMA Preferred Roaming List (PRL) in the radio NV storage.
5727*062a843bSAndroid Build Coastguard Worker  * This is used for device configuration by some CDMA operators.
5728*062a843bSAndroid Build Coastguard Worker  *
5729*062a843bSAndroid Build Coastguard Worker  * "data" is a const char * containing the PRL as a byte array
5730*062a843bSAndroid Build Coastguard Worker  *
5731*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
5732*062a843bSAndroid Build Coastguard Worker  *
5733*062a843bSAndroid Build Coastguard Worker  * Valid errors:
5734*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
5735*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
5736*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5737*062a843bSAndroid Build Coastguard Worker  */
5738*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_NV_WRITE_CDMA_PRL 120
5739*062a843bSAndroid Build Coastguard Worker 
5740*062a843bSAndroid Build Coastguard Worker /**
5741*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_NV_RESET_CONFIG
5742*062a843bSAndroid Build Coastguard Worker  *
5743*062a843bSAndroid Build Coastguard Worker  * Reset the radio NV configuration to the factory state.
5744*062a843bSAndroid Build Coastguard Worker  * This is used for device configuration by some CDMA operators.
5745*062a843bSAndroid Build Coastguard Worker  *
5746*062a843bSAndroid Build Coastguard Worker  * "data" is int *
5747*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is 1 to reload all NV items
5748*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is 2 for erase NV reset (SCRTN)
5749*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is 3 for factory reset (RTN)
5750*062a843bSAndroid Build Coastguard Worker  *
5751*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
5752*062a843bSAndroid Build Coastguard Worker  *
5753*062a843bSAndroid Build Coastguard Worker  * Valid errors:
5754*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
5755*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
5756*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5757*062a843bSAndroid Build Coastguard Worker  */
5758*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_NV_RESET_CONFIG 121
5759*062a843bSAndroid Build Coastguard Worker 
5760*062a843bSAndroid Build Coastguard Worker  /** RIL_REQUEST_SET_UICC_SUBSCRIPTION
5761*062a843bSAndroid Build Coastguard Worker  * FIXME This API needs to have more documentation.
5762*062a843bSAndroid Build Coastguard Worker  *
5763*062a843bSAndroid Build Coastguard Worker  * Selection/de-selection of a subscription from a SIM card
5764*062a843bSAndroid Build Coastguard Worker  * "data" is const  RIL_SelectUiccSub*
5765*062a843bSAndroid Build Coastguard Worker 
5766*062a843bSAndroid Build Coastguard Worker  *
5767*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
5768*062a843bSAndroid Build Coastguard Worker  *
5769*062a843bSAndroid Build Coastguard Worker  *  Valid errors:
5770*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
5771*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE (radio resetting)
5772*062a843bSAndroid Build Coastguard Worker  *  SUBSCRIPTION_NOT_SUPPORTED
5773*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
5774*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
5775*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
5776*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
5777*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
5778*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5779*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
5780*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
5781*062a843bSAndroid Build Coastguard Worker  *
5782*062a843bSAndroid Build Coastguard Worker  */
5783*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SET_UICC_SUBSCRIPTION  122
5784*062a843bSAndroid Build Coastguard Worker 
5785*062a843bSAndroid Build Coastguard Worker /**
5786*062a843bSAndroid Build Coastguard Worker  *  RIL_REQUEST_ALLOW_DATA
5787*062a843bSAndroid Build Coastguard Worker  *
5788*062a843bSAndroid Build Coastguard Worker  *  Tells the modem whether data calls are allowed or not
5789*062a843bSAndroid Build Coastguard Worker  *
5790*062a843bSAndroid Build Coastguard Worker  * "data" is int *
5791*062a843bSAndroid Build Coastguard Worker  * FIXME slotId and aid will be added.
5792*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is == 0 to allow data calls
5793*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is == 1 to disallow data calls
5794*062a843bSAndroid Build Coastguard Worker  *
5795*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
5796*062a843bSAndroid Build Coastguard Worker  *
5797*062a843bSAndroid Build Coastguard Worker  *  Valid errors:
5798*062a843bSAndroid Build Coastguard Worker  *
5799*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
5800*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE (radio resetting)
5801*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
5802*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
5803*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
5804*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
5805*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
5806*062a843bSAndroid Build Coastguard Worker  *  DEVICE_IN_USE
5807*062a843bSAndroid Build Coastguard Worker  *  INVALID_MODEM_STATE
5808*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5809*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
5810*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
5811*062a843bSAndroid Build Coastguard Worker  *
5812*062a843bSAndroid Build Coastguard Worker  */
5813*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_ALLOW_DATA  123
5814*062a843bSAndroid Build Coastguard Worker 
5815*062a843bSAndroid Build Coastguard Worker /**
5816*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_GET_HARDWARE_CONFIG
5817*062a843bSAndroid Build Coastguard Worker  *
5818*062a843bSAndroid Build Coastguard Worker  * Request all of the current hardware (modem and sim) associated
5819*062a843bSAndroid Build Coastguard Worker  * with the RIL.
5820*062a843bSAndroid Build Coastguard Worker  *
5821*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
5822*062a843bSAndroid Build Coastguard Worker  *
5823*062a843bSAndroid Build Coastguard Worker  * "response" is an array of  RIL_HardwareConfig.
5824*062a843bSAndroid Build Coastguard Worker  *
5825*062a843bSAndroid Build Coastguard Worker  * Valid errors:
5826*062a843bSAndroid Build Coastguard Worker  * RADIO_NOT_AVAILABLE
5827*062a843bSAndroid Build Coastguard Worker  * REQUEST_NOT_SUPPORTED
5828*062a843bSAndroid Build Coastguard Worker  */
5829*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_GET_HARDWARE_CONFIG 124
5830*062a843bSAndroid Build Coastguard Worker 
5831*062a843bSAndroid Build Coastguard Worker /**
5832*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SIM_AUTHENTICATION
5833*062a843bSAndroid Build Coastguard Worker  *
5834*062a843bSAndroid Build Coastguard Worker  * Returns the response of SIM Authentication through RIL to a
5835*062a843bSAndroid Build Coastguard Worker  * challenge request.
5836*062a843bSAndroid Build Coastguard Worker  *
5837*062a843bSAndroid Build Coastguard Worker  * "data" Base64 encoded string containing challenge:
5838*062a843bSAndroid Build Coastguard Worker  *      int   authContext;          P2 value of authentication command, see P2 parameter in
5839*062a843bSAndroid Build Coastguard Worker  *                                  3GPP TS 31.102 7.1.2
5840*062a843bSAndroid Build Coastguard Worker  *      char *authData;             the challenge string in Base64 format, see 3GPP
5841*062a843bSAndroid Build Coastguard Worker  *                                  TS 31.102 7.1.2
5842*062a843bSAndroid Build Coastguard Worker  *      char *aid;                  AID value, See ETSI 102.221 8.1 and 101.220 4,
5843*062a843bSAndroid Build Coastguard Worker  *                                  NULL if no value
5844*062a843bSAndroid Build Coastguard Worker  *
5845*062a843bSAndroid Build Coastguard Worker  * "response" Base64 encoded strings containing response:
5846*062a843bSAndroid Build Coastguard Worker  *      int   sw1;                  Status bytes per 3GPP TS 31.102 section 7.3
5847*062a843bSAndroid Build Coastguard Worker  *      int   sw2;
5848*062a843bSAndroid Build Coastguard Worker  *      char *simResponse;          Response in Base64 format, see 3GPP TS 31.102 7.1.2
5849*062a843bSAndroid Build Coastguard Worker  *
5850*062a843bSAndroid Build Coastguard Worker  *  Valid errors:
5851*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
5852*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
5853*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
5854*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
5855*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
5856*062a843bSAndroid Build Coastguard Worker  *  INVALID_MODEM_STATE
5857*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
5858*062a843bSAndroid Build Coastguard Worker  *  SIM_ERR
5859*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5860*062a843bSAndroid Build Coastguard Worker  */
5861*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SIM_AUTHENTICATION 125
5862*062a843bSAndroid Build Coastguard Worker 
5863*062a843bSAndroid Build Coastguard Worker /**
5864*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_GET_DC_RT_INFO
5865*062a843bSAndroid Build Coastguard Worker  *
5866*062a843bSAndroid Build Coastguard Worker  * The request is DEPRECATED, use RIL_REQUEST_GET_ACTIVITY_INFO
5867*062a843bSAndroid Build Coastguard Worker  * Requests the Data Connection Real Time Info
5868*062a843bSAndroid Build Coastguard Worker  *
5869*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
5870*062a843bSAndroid Build Coastguard Worker  *
5871*062a843bSAndroid Build Coastguard Worker  * "response" is the most recent RIL_DcRtInfo
5872*062a843bSAndroid Build Coastguard Worker  *
5873*062a843bSAndroid Build Coastguard Worker  * Valid errors:
5874*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
5875*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
5876*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5877*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
5878*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
5879*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
5880*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
5881*062a843bSAndroid Build Coastguard Worker  *
5882*062a843bSAndroid Build Coastguard Worker  * See also: RIL_UNSOL_DC_RT_INFO_CHANGED
5883*062a843bSAndroid Build Coastguard Worker  */
5884*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_GET_DC_RT_INFO 126
5885*062a843bSAndroid Build Coastguard Worker 
5886*062a843bSAndroid Build Coastguard Worker /**
5887*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SET_DC_RT_INFO_RATE
5888*062a843bSAndroid Build Coastguard Worker  *
5889*062a843bSAndroid Build Coastguard Worker  * The request is DEPRECATED
5890*062a843bSAndroid Build Coastguard Worker  * This is the minimum number of milliseconds between successive
5891*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_DC_RT_INFO_CHANGED messages and defines the highest rate
5892*062a843bSAndroid Build Coastguard Worker  * at which RIL_UNSOL_DC_RT_INFO_CHANGED's will be sent. A value of
5893*062a843bSAndroid Build Coastguard Worker  * 0 means send as fast as possible.
5894*062a843bSAndroid Build Coastguard Worker  *
5895*062a843bSAndroid Build Coastguard Worker  * "data" The number of milliseconds as an int
5896*062a843bSAndroid Build Coastguard Worker  *
5897*062a843bSAndroid Build Coastguard Worker  * "response" is null
5898*062a843bSAndroid Build Coastguard Worker  *
5899*062a843bSAndroid Build Coastguard Worker  * Valid errors:
5900*062a843bSAndroid Build Coastguard Worker  *  SUCCESS must not fail
5901*062a843bSAndroid Build Coastguard Worker  */
5902*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SET_DC_RT_INFO_RATE 127
5903*062a843bSAndroid Build Coastguard Worker 
5904*062a843bSAndroid Build Coastguard Worker /**
5905*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SET_DATA_PROFILE
5906*062a843bSAndroid Build Coastguard Worker  *
5907*062a843bSAndroid Build Coastguard Worker  * Set data profile in modem
5908*062a843bSAndroid Build Coastguard Worker  * Modem should erase existed profiles from framework, and apply new profiles
5909*062a843bSAndroid Build Coastguard Worker  * "data" is a const RIL_DataProfileInfo **
5910*062a843bSAndroid Build Coastguard Worker  * "datalen" is count * sizeof(const RIL_DataProfileInfo *)
5911*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
5912*062a843bSAndroid Build Coastguard Worker  *
5913*062a843bSAndroid Build Coastguard Worker  * Valid errors:
5914*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
5915*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE (radio resetting)
5916*062a843bSAndroid Build Coastguard Worker  *  SUBSCRIPTION_NOT_AVAILABLE
5917*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
5918*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
5919*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
5920*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
5921*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5922*062a843bSAndroid Build Coastguard Worker  *  SIM_ABSENT
5923*062a843bSAndroid Build Coastguard Worker  */
5924*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SET_DATA_PROFILE 128
5925*062a843bSAndroid Build Coastguard Worker 
5926*062a843bSAndroid Build Coastguard Worker /**
5927*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SHUTDOWN
5928*062a843bSAndroid Build Coastguard Worker  *
5929*062a843bSAndroid Build Coastguard Worker  * Device is shutting down. All further commands are ignored
5930*062a843bSAndroid Build Coastguard Worker  * and RADIO_NOT_AVAILABLE must be returned.
5931*062a843bSAndroid Build Coastguard Worker  *
5932*062a843bSAndroid Build Coastguard Worker  * "data" is null
5933*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
5934*062a843bSAndroid Build Coastguard Worker  *
5935*062a843bSAndroid Build Coastguard Worker  * Valid errors:
5936*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
5937*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
5938*062a843bSAndroid Build Coastguard Worker  *  OPERATION_NOT_ALLOWED
5939*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
5940*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
5941*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
5942*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5943*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
5944*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
5945*062a843bSAndroid Build Coastguard Worker  */
5946*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SHUTDOWN 129
5947*062a843bSAndroid Build Coastguard Worker 
5948*062a843bSAndroid Build Coastguard Worker /**
5949*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_GET_RADIO_CAPABILITY
5950*062a843bSAndroid Build Coastguard Worker  *
5951*062a843bSAndroid Build Coastguard Worker  * Used to get phone radio capablility.
5952*062a843bSAndroid Build Coastguard Worker  *
5953*062a843bSAndroid Build Coastguard Worker  * "data" is the RIL_RadioCapability structure
5954*062a843bSAndroid Build Coastguard Worker  *
5955*062a843bSAndroid Build Coastguard Worker  * Valid errors:
5956*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
5957*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
5958*062a843bSAndroid Build Coastguard Worker  *  OPERATION_NOT_ALLOWED
5959*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
5960*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5961*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
5962*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
5963*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
5964*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
5965*062a843bSAndroid Build Coastguard Worker  */
5966*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_GET_RADIO_CAPABILITY 130
5967*062a843bSAndroid Build Coastguard Worker 
5968*062a843bSAndroid Build Coastguard Worker /**
5969*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SET_RADIO_CAPABILITY
5970*062a843bSAndroid Build Coastguard Worker  *
5971*062a843bSAndroid Build Coastguard Worker  * Used to set the phones radio capability. Be VERY careful
5972*062a843bSAndroid Build Coastguard Worker  * using this request as it may cause some vendor modems to reset. Because
5973*062a843bSAndroid Build Coastguard Worker  * of the possible modem reset any RIL commands after this one may not be
5974*062a843bSAndroid Build Coastguard Worker  * processed.
5975*062a843bSAndroid Build Coastguard Worker  *
5976*062a843bSAndroid Build Coastguard Worker  * "data" is the RIL_RadioCapability structure
5977*062a843bSAndroid Build Coastguard Worker  *
5978*062a843bSAndroid Build Coastguard Worker  * "response" is the RIL_RadioCapability structure, used to feedback return status
5979*062a843bSAndroid Build Coastguard Worker  *
5980*062a843bSAndroid Build Coastguard Worker  * Valid errors:
5981*062a843bSAndroid Build Coastguard Worker  *  SUCCESS means a RIL_UNSOL_RADIO_CAPABILITY will be sent within 30 seconds.
5982*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
5983*062a843bSAndroid Build Coastguard Worker  *  OPERATION_NOT_ALLOWED
5984*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
5985*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
5986*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
5987*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
5988*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
5989*062a843bSAndroid Build Coastguard Worker  *  INVALID_STATE
5990*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
5991*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
5992*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
5993*062a843bSAndroid Build Coastguard Worker  */
5994*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SET_RADIO_CAPABILITY 131
5995*062a843bSAndroid Build Coastguard Worker 
5996*062a843bSAndroid Build Coastguard Worker /**
5997*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_START_LCE
5998*062a843bSAndroid Build Coastguard Worker  *
5999*062a843bSAndroid Build Coastguard Worker  * Start Link Capacity Estimate (LCE) service if supported by the radio.
6000*062a843bSAndroid Build Coastguard Worker  *
6001*062a843bSAndroid Build Coastguard Worker  * "data" is const int *
6002*062a843bSAndroid Build Coastguard Worker  * ((const int*)data)[0] specifies the desired reporting interval (ms).
6003*062a843bSAndroid Build Coastguard Worker  * ((const int*)data)[1] specifies the LCE service mode. 1: PULL; 0: PUSH.
6004*062a843bSAndroid Build Coastguard Worker  *
6005*062a843bSAndroid Build Coastguard Worker  * "response" is the RIL_LceStatusInfo.
6006*062a843bSAndroid Build Coastguard Worker  *
6007*062a843bSAndroid Build Coastguard Worker  * Valid errors:
6008*062a843bSAndroid Build Coastguard Worker  * SUCCESS
6009*062a843bSAndroid Build Coastguard Worker  * RADIO_NOT_AVAILABLE
6010*062a843bSAndroid Build Coastguard Worker  * LCE_NOT_SUPPORTED
6011*062a843bSAndroid Build Coastguard Worker  * INTERNAL_ERR
6012*062a843bSAndroid Build Coastguard Worker  * REQUEST_NOT_SUPPORTED
6013*062a843bSAndroid Build Coastguard Worker  * NO_MEMORY
6014*062a843bSAndroid Build Coastguard Worker  * NO_RESOURCES
6015*062a843bSAndroid Build Coastguard Worker  * CANCELLED
6016*062a843bSAndroid Build Coastguard Worker  * SIM_ABSENT
6017*062a843bSAndroid Build Coastguard Worker  */
6018*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_START_LCE 132
6019*062a843bSAndroid Build Coastguard Worker 
6020*062a843bSAndroid Build Coastguard Worker /**
6021*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_STOP_LCE
6022*062a843bSAndroid Build Coastguard Worker  *
6023*062a843bSAndroid Build Coastguard Worker  * Stop Link Capacity Estimate (LCE) service, the STOP operation should be
6024*062a843bSAndroid Build Coastguard Worker  * idempotent for the radio modem.
6025*062a843bSAndroid Build Coastguard Worker  *
6026*062a843bSAndroid Build Coastguard Worker  * "response" is the RIL_LceStatusInfo.
6027*062a843bSAndroid Build Coastguard Worker  *
6028*062a843bSAndroid Build Coastguard Worker  * Valid errors:
6029*062a843bSAndroid Build Coastguard Worker  * SUCCESS
6030*062a843bSAndroid Build Coastguard Worker  * RADIO_NOT_AVAILABLE
6031*062a843bSAndroid Build Coastguard Worker  * LCE_NOT_SUPPORTED
6032*062a843bSAndroid Build Coastguard Worker  * INTERNAL_ERR
6033*062a843bSAndroid Build Coastguard Worker  * NO_MEMORY
6034*062a843bSAndroid Build Coastguard Worker  * NO_RESOURCES
6035*062a843bSAndroid Build Coastguard Worker  * CANCELLED
6036*062a843bSAndroid Build Coastguard Worker  * REQUEST_NOT_SUPPORTED
6037*062a843bSAndroid Build Coastguard Worker  *  SIM_ABSENT
6038*062a843bSAndroid Build Coastguard Worker  */
6039*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_STOP_LCE 133
6040*062a843bSAndroid Build Coastguard Worker 
6041*062a843bSAndroid Build Coastguard Worker /**
6042*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_PULL_LCEDATA
6043*062a843bSAndroid Build Coastguard Worker  *
6044*062a843bSAndroid Build Coastguard Worker  * Pull LCE service for capacity information.
6045*062a843bSAndroid Build Coastguard Worker  *
6046*062a843bSAndroid Build Coastguard Worker  * "response" is the RIL_LceDataInfo.
6047*062a843bSAndroid Build Coastguard Worker  *
6048*062a843bSAndroid Build Coastguard Worker  * Valid errors:
6049*062a843bSAndroid Build Coastguard Worker  * SUCCESS
6050*062a843bSAndroid Build Coastguard Worker  * RADIO_NOT_AVAILABLE
6051*062a843bSAndroid Build Coastguard Worker  * LCE_NOT_SUPPORTED
6052*062a843bSAndroid Build Coastguard Worker  * INTERNAL_ERR
6053*062a843bSAndroid Build Coastguard Worker  * NO_MEMORY
6054*062a843bSAndroid Build Coastguard Worker  * NO_RESOURCES
6055*062a843bSAndroid Build Coastguard Worker  * CANCELLED
6056*062a843bSAndroid Build Coastguard Worker  * REQUEST_NOT_SUPPORTED
6057*062a843bSAndroid Build Coastguard Worker  *  SIM_ABSENT
6058*062a843bSAndroid Build Coastguard Worker  */
6059*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_PULL_LCEDATA 134
6060*062a843bSAndroid Build Coastguard Worker 
6061*062a843bSAndroid Build Coastguard Worker /**
6062*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_GET_ACTIVITY_INFO
6063*062a843bSAndroid Build Coastguard Worker  *
6064*062a843bSAndroid Build Coastguard Worker  * Get modem activity information for power consumption estimation.
6065*062a843bSAndroid Build Coastguard Worker  *
6066*062a843bSAndroid Build Coastguard Worker  * Request clear-on-read statistics information that is used for
6067*062a843bSAndroid Build Coastguard Worker  * estimating the per-millisecond power consumption of the cellular
6068*062a843bSAndroid Build Coastguard Worker  * modem.
6069*062a843bSAndroid Build Coastguard Worker  *
6070*062a843bSAndroid Build Coastguard Worker  * "data" is null
6071*062a843bSAndroid Build Coastguard Worker  * "response" is const RIL_ActivityStatsInfo *
6072*062a843bSAndroid Build Coastguard Worker  *
6073*062a843bSAndroid Build Coastguard Worker  * Valid errors:
6074*062a843bSAndroid Build Coastguard Worker  *
6075*062a843bSAndroid Build Coastguard Worker  * SUCCESS
6076*062a843bSAndroid Build Coastguard Worker  * RADIO_NOT_AVAILABLE (radio resetting)
6077*062a843bSAndroid Build Coastguard Worker  * NO_MEMORY
6078*062a843bSAndroid Build Coastguard Worker  * INTERNAL_ERR
6079*062a843bSAndroid Build Coastguard Worker  * SYSTEM_ERR
6080*062a843bSAndroid Build Coastguard Worker  * MODEM_ERR
6081*062a843bSAndroid Build Coastguard Worker  * NOT_PROVISIONED
6082*062a843bSAndroid Build Coastguard Worker  * REQUEST_NOT_SUPPORTED
6083*062a843bSAndroid Build Coastguard Worker  * NO_RESOURCES CANCELLED
6084*062a843bSAndroid Build Coastguard Worker  */
6085*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_GET_ACTIVITY_INFO 135
6086*062a843bSAndroid Build Coastguard Worker 
6087*062a843bSAndroid Build Coastguard Worker /**
6088*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SET_CARRIER_RESTRICTIONS
6089*062a843bSAndroid Build Coastguard Worker  *
6090*062a843bSAndroid Build Coastguard Worker  * Set carrier restrictions for this sim slot. Expected modem behavior:
6091*062a843bSAndroid Build Coastguard Worker  *  If never receives this command
6092*062a843bSAndroid Build Coastguard Worker  *  - Must allow all carriers
6093*062a843bSAndroid Build Coastguard Worker  *  Receives this command with data being NULL
6094*062a843bSAndroid Build Coastguard Worker  *  - Must allow all carriers. If a previously allowed SIM is present, modem must not reload
6095*062a843bSAndroid Build Coastguard Worker  *    the SIM. If a previously disallowed SIM is present, reload the SIM and notify Android.
6096*062a843bSAndroid Build Coastguard Worker  *  Receives this command with a list of carriers
6097*062a843bSAndroid Build Coastguard Worker  *  - Only allow specified carriers, persist across power cycles and FDR. If a present SIM
6098*062a843bSAndroid Build Coastguard Worker  *    is in the allowed list, modem must not reload the SIM. If a present SIM is *not* in
6099*062a843bSAndroid Build Coastguard Worker  *    the allowed list, modem must detach from the registered network and only keep emergency
6100*062a843bSAndroid Build Coastguard Worker  *    service, and notify Android SIM refresh reset with new SIM state being
6101*062a843bSAndroid Build Coastguard Worker  *    RIL_CARDSTATE_RESTRICTED. Emergency service must be enabled.
6102*062a843bSAndroid Build Coastguard Worker  *
6103*062a843bSAndroid Build Coastguard Worker  * "data" is const RIL_CarrierRestrictions *
6104*062a843bSAndroid Build Coastguard Worker  * A list of allowed carriers and possibly a list of excluded carriers.
6105*062a843bSAndroid Build Coastguard Worker  * If data is NULL, means to clear previous carrier restrictions and allow all carriers
6106*062a843bSAndroid Build Coastguard Worker  *
6107*062a843bSAndroid Build Coastguard Worker  * "response" is int *
6108*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] contains the number of allowed carriers which have been set correctly.
6109*062a843bSAndroid Build Coastguard Worker  * On success, it should match the length of list data->allowed_carriers.
6110*062a843bSAndroid Build Coastguard Worker  * If data is NULL, the value must be 0.
6111*062a843bSAndroid Build Coastguard Worker  *
6112*062a843bSAndroid Build Coastguard Worker  * Valid errors:
6113*062a843bSAndroid Build Coastguard Worker  *  RIL_E_SUCCESS
6114*062a843bSAndroid Build Coastguard Worker  *  RIL_E_INVALID_ARGUMENTS
6115*062a843bSAndroid Build Coastguard Worker  *  RIL_E_RADIO_NOT_AVAILABLE
6116*062a843bSAndroid Build Coastguard Worker  *  RIL_E_REQUEST_NOT_SUPPORTED
6117*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
6118*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
6119*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
6120*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
6121*062a843bSAndroid Build Coastguard Worker  */
6122*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SET_CARRIER_RESTRICTIONS 136
6123*062a843bSAndroid Build Coastguard Worker 
6124*062a843bSAndroid Build Coastguard Worker /**
6125*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_GET_CARRIER_RESTRICTIONS
6126*062a843bSAndroid Build Coastguard Worker  *
6127*062a843bSAndroid Build Coastguard Worker  * Get carrier restrictions for this sim slot. Expected modem behavior:
6128*062a843bSAndroid Build Coastguard Worker  *  Return list of allowed carriers, or null if all carriers are allowed.
6129*062a843bSAndroid Build Coastguard Worker  *
6130*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
6131*062a843bSAndroid Build Coastguard Worker  *
6132*062a843bSAndroid Build Coastguard Worker  * "response" is const RIL_CarrierRestrictions *.
6133*062a843bSAndroid Build Coastguard Worker  * If response is NULL, it means all carriers are allowed.
6134*062a843bSAndroid Build Coastguard Worker  *
6135*062a843bSAndroid Build Coastguard Worker  * Valid errors:
6136*062a843bSAndroid Build Coastguard Worker  *  RIL_E_SUCCESS
6137*062a843bSAndroid Build Coastguard Worker  *  RIL_E_RADIO_NOT_AVAILABLE
6138*062a843bSAndroid Build Coastguard Worker  *  RIL_E_REQUEST_NOT_SUPPORTED
6139*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
6140*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
6141*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
6142*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
6143*062a843bSAndroid Build Coastguard Worker  */
6144*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_GET_CARRIER_RESTRICTIONS 137
6145*062a843bSAndroid Build Coastguard Worker 
6146*062a843bSAndroid Build Coastguard Worker /**
6147*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SEND_DEVICE_STATE
6148*062a843bSAndroid Build Coastguard Worker  *
6149*062a843bSAndroid Build Coastguard Worker  * Send the updated device state.
6150*062a843bSAndroid Build Coastguard Worker  * Modem can perform power saving based on the provided device state.
6151*062a843bSAndroid Build Coastguard Worker  * "data" is const int *
6152*062a843bSAndroid Build Coastguard Worker  * ((const int*)data)[0] A RIL_DeviceStateType that specifies the device state type.
6153*062a843bSAndroid Build Coastguard Worker  * ((const int*)data)[1] Specifies the state. See RIL_DeviceStateType for the definition of each
6154*062a843bSAndroid Build Coastguard Worker  *                       type.
6155*062a843bSAndroid Build Coastguard Worker  *
6156*062a843bSAndroid Build Coastguard Worker  * "datalen" is count * sizeof(const RIL_DeviceState *)
6157*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
6158*062a843bSAndroid Build Coastguard Worker  *
6159*062a843bSAndroid Build Coastguard Worker  * Valid errors:
6160*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
6161*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE (radio resetting)
6162*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
6163*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
6164*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
6165*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
6166*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
6167*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
6168*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
6169*062a843bSAndroid Build Coastguard Worker  */
6170*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SEND_DEVICE_STATE 138
6171*062a843bSAndroid Build Coastguard Worker 
6172*062a843bSAndroid Build Coastguard Worker /**
6173*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SET_UNSOLICITED_RESPONSE_FILTER
6174*062a843bSAndroid Build Coastguard Worker  *
6175*062a843bSAndroid Build Coastguard Worker  * Set the unsolicited response filter
6176*062a843bSAndroid Build Coastguard Worker  * This is used to prevent unnecessary application processor
6177*062a843bSAndroid Build Coastguard Worker  * wake up for power saving purposes by suppressing the
6178*062a843bSAndroid Build Coastguard Worker  * unsolicited responses in certain scenarios.
6179*062a843bSAndroid Build Coastguard Worker  *
6180*062a843bSAndroid Build Coastguard Worker  * "data" is an int *
6181*062a843bSAndroid Build Coastguard Worker  *
6182*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is a 32-bit bitmask of RIL_UnsolicitedResponseFilter
6183*062a843bSAndroid Build Coastguard Worker  *
6184*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
6185*062a843bSAndroid Build Coastguard Worker  *
6186*062a843bSAndroid Build Coastguard Worker  * Valid errors:
6187*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
6188*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS (e.g. the requested filter doesn't exist)
6189*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE (radio resetting)
6190*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
6191*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
6192*062a843bSAndroid Build Coastguard Worker  *  SYSTEM_ERR
6193*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
6194*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
6195*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
6196*062a843bSAndroid Build Coastguard Worker  */
6197*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SET_UNSOLICITED_RESPONSE_FILTER 139
6198*062a843bSAndroid Build Coastguard Worker 
6199*062a843bSAndroid Build Coastguard Worker  /**
6200*062a843bSAndroid Build Coastguard Worker   * RIL_REQUEST_SET_SIM_CARD_POWER
6201*062a843bSAndroid Build Coastguard Worker   *
6202*062a843bSAndroid Build Coastguard Worker   * Set SIM card power up or down
6203*062a843bSAndroid Build Coastguard Worker   *
6204*062a843bSAndroid Build Coastguard Worker   * Request is equivalent to inserting and removing the card, with
6205*062a843bSAndroid Build Coastguard Worker   * an additional effect where the ability to detect card removal/insertion
6206*062a843bSAndroid Build Coastguard Worker   * is disabled when the SIM card is powered down.
6207*062a843bSAndroid Build Coastguard Worker   *
6208*062a843bSAndroid Build Coastguard Worker   * This will generate RIL_UNSOL_RESPONSE_SIM_STATUS_CHANGED
6209*062a843bSAndroid Build Coastguard Worker   * as if the SIM had been inserted or removed.
6210*062a843bSAndroid Build Coastguard Worker   *
6211*062a843bSAndroid Build Coastguard Worker   * "data" is int *
6212*062a843bSAndroid Build Coastguard Worker   * ((int *)data)[0] is 1 for "SIM POWER UP"
6213*062a843bSAndroid Build Coastguard Worker   * ((int *)data)[0] is 0 for "SIM POWER DOWN"
6214*062a843bSAndroid Build Coastguard Worker   *
6215*062a843bSAndroid Build Coastguard Worker   * "response" is NULL
6216*062a843bSAndroid Build Coastguard Worker   *
6217*062a843bSAndroid Build Coastguard Worker   * Valid errors:
6218*062a843bSAndroid Build Coastguard Worker   *  SUCCESS
6219*062a843bSAndroid Build Coastguard Worker   *  RADIO_NOT_AVAILABLE
6220*062a843bSAndroid Build Coastguard Worker   *  REQUEST_NOT_SUPPORTED
6221*062a843bSAndroid Build Coastguard Worker   *  SIM_ABSENT
6222*062a843bSAndroid Build Coastguard Worker   *  INVALID_ARGUMENTS
6223*062a843bSAndroid Build Coastguard Worker   *  INTERNAL_ERR
6224*062a843bSAndroid Build Coastguard Worker   *  NO_MEMORY
6225*062a843bSAndroid Build Coastguard Worker   *  NO_RESOURCES
6226*062a843bSAndroid Build Coastguard Worker   *  CANCELLED
6227*062a843bSAndroid Build Coastguard Worker   */
6228*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SET_SIM_CARD_POWER 140
6229*062a843bSAndroid Build Coastguard Worker 
6230*062a843bSAndroid Build Coastguard Worker /**
6231*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SET_CARRIER_INFO_IMSI_ENCRYPTION
6232*062a843bSAndroid Build Coastguard Worker  *
6233*062a843bSAndroid Build Coastguard Worker  * Provide Carrier specific information to the modem that will be used to
6234*062a843bSAndroid Build Coastguard Worker  * encrypt the IMSI and IMPI. Sent by the framework during boot, carrier
6235*062a843bSAndroid Build Coastguard Worker  * switch and everytime we receive a new certificate.
6236*062a843bSAndroid Build Coastguard Worker  *
6237*062a843bSAndroid Build Coastguard Worker  * "data" is the RIL_CarrierInfoForImsiEncryption * structure.
6238*062a843bSAndroid Build Coastguard Worker  *
6239*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
6240*062a843bSAndroid Build Coastguard Worker  *
6241*062a843bSAndroid Build Coastguard Worker  * Valid errors:
6242*062a843bSAndroid Build Coastguard Worker  *  RIL_E_SUCCESS
6243*062a843bSAndroid Build Coastguard Worker  *  RIL_E_RADIO_NOT_AVAILABLE
6244*062a843bSAndroid Build Coastguard Worker  *  SIM_ABSENT
6245*062a843bSAndroid Build Coastguard Worker  *  RIL_E_REQUEST_NOT_SUPPORTED
6246*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
6247*062a843bSAndroid Build Coastguard Worker  *  MODEM_INTERNAL_FAILURE
6248*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
6249*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
6250*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
6251*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
6252*062a843bSAndroid Build Coastguard Worker  */
6253*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_SET_CARRIER_INFO_IMSI_ENCRYPTION 141
6254*062a843bSAndroid Build Coastguard Worker 
6255*062a843bSAndroid Build Coastguard Worker /**
6256*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_START_NETWORK_SCAN
6257*062a843bSAndroid Build Coastguard Worker  *
6258*062a843bSAndroid Build Coastguard Worker  * Starts a new network scan
6259*062a843bSAndroid Build Coastguard Worker  *
6260*062a843bSAndroid Build Coastguard Worker  * Request to start a network scan with specified radio access networks with frequency bands and/or
6261*062a843bSAndroid Build Coastguard Worker  * channels.
6262*062a843bSAndroid Build Coastguard Worker  *
6263*062a843bSAndroid Build Coastguard Worker  * "data" is a const RIL_NetworkScanRequest *.
6264*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
6265*062a843bSAndroid Build Coastguard Worker  *
6266*062a843bSAndroid Build Coastguard Worker  * Valid errors:
6267*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
6268*062a843bSAndroid Build Coastguard Worker  *  RADIO_NOT_AVAILABLE
6269*062a843bSAndroid Build Coastguard Worker  *  OPERATION_NOT_ALLOWED
6270*062a843bSAndroid Build Coastguard Worker  *  DEVICE_IN_USE
6271*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
6272*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
6273*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
6274*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
6275*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
6276*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
6277*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
6278*062a843bSAndroid Build Coastguard Worker  *
6279*062a843bSAndroid Build Coastguard Worker  */
6280*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_START_NETWORK_SCAN 142
6281*062a843bSAndroid Build Coastguard Worker 
6282*062a843bSAndroid Build Coastguard Worker /**
6283*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_STOP_NETWORK_SCAN
6284*062a843bSAndroid Build Coastguard Worker  *
6285*062a843bSAndroid Build Coastguard Worker  * Stops an ongoing network scan
6286*062a843bSAndroid Build Coastguard Worker  *
6287*062a843bSAndroid Build Coastguard Worker  * Request to stop the ongoing network scan. Since the modem can only perform one scan at a time,
6288*062a843bSAndroid Build Coastguard Worker  * there is no parameter for this request.
6289*062a843bSAndroid Build Coastguard Worker  *
6290*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
6291*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
6292*062a843bSAndroid Build Coastguard Worker  *
6293*062a843bSAndroid Build Coastguard Worker  * Valid errors:
6294*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
6295*062a843bSAndroid Build Coastguard Worker  *  INTERNAL_ERR
6296*062a843bSAndroid Build Coastguard Worker  *  MODEM_ERR
6297*062a843bSAndroid Build Coastguard Worker  *  NO_MEMORY
6298*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
6299*062a843bSAndroid Build Coastguard Worker  *  CANCELLED
6300*062a843bSAndroid Build Coastguard Worker  *  REQUEST_NOT_SUPPORTED
6301*062a843bSAndroid Build Coastguard Worker  *
6302*062a843bSAndroid Build Coastguard Worker  */
6303*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_STOP_NETWORK_SCAN 143
6304*062a843bSAndroid Build Coastguard Worker 
6305*062a843bSAndroid Build Coastguard Worker /**
6306*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_START_KEEPALIVE
6307*062a843bSAndroid Build Coastguard Worker  *
6308*062a843bSAndroid Build Coastguard Worker  * Start a keepalive session
6309*062a843bSAndroid Build Coastguard Worker  *
6310*062a843bSAndroid Build Coastguard Worker  * Request that the modem begin sending keepalive packets on a particular
6311*062a843bSAndroid Build Coastguard Worker  * data call, with a specified source, destination, and format.
6312*062a843bSAndroid Build Coastguard Worker  *
6313*062a843bSAndroid Build Coastguard Worker  * "data" is a const RIL_RequestKeepalive
6314*062a843bSAndroid Build Coastguard Worker  * "response" is RIL_KeepaliveStatus with a valid "handle"
6315*062a843bSAndroid Build Coastguard Worker  *
6316*062a843bSAndroid Build Coastguard Worker  * Valid errors:
6317*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
6318*062a843bSAndroid Build Coastguard Worker  *  NO_RESOURCES
6319*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
6320*062a843bSAndroid Build Coastguard Worker  *
6321*062a843bSAndroid Build Coastguard Worker  */
6322*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_START_KEEPALIVE 144
6323*062a843bSAndroid Build Coastguard Worker 
6324*062a843bSAndroid Build Coastguard Worker /**
6325*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_STOP_KEEPALIVE
6326*062a843bSAndroid Build Coastguard Worker  *
6327*062a843bSAndroid Build Coastguard Worker  * Stops an ongoing keepalive session
6328*062a843bSAndroid Build Coastguard Worker  *
6329*062a843bSAndroid Build Coastguard Worker  * Requests that a keepalive session with the given handle be stopped.
6330*062a843bSAndroid Build Coastguard Worker  * there is no parameter for this request.
6331*062a843bSAndroid Build Coastguard Worker  *
6332*062a843bSAndroid Build Coastguard Worker  * "data" is an integer handle
6333*062a843bSAndroid Build Coastguard Worker  * "response" is NULL
6334*062a843bSAndroid Build Coastguard Worker  *
6335*062a843bSAndroid Build Coastguard Worker  * Valid errors:
6336*062a843bSAndroid Build Coastguard Worker  *  SUCCESS
6337*062a843bSAndroid Build Coastguard Worker  *  INVALID_ARGUMENTS
6338*062a843bSAndroid Build Coastguard Worker  *
6339*062a843bSAndroid Build Coastguard Worker  */
6340*062a843bSAndroid Build Coastguard Worker #define RIL_REQUEST_STOP_KEEPALIVE 145
6341*062a843bSAndroid Build Coastguard Worker 
6342*062a843bSAndroid Build Coastguard Worker /***********************************************************************/
6343*062a843bSAndroid Build Coastguard Worker 
6344*062a843bSAndroid Build Coastguard Worker /**
6345*062a843bSAndroid Build Coastguard Worker  * RIL_RESPONSE_ACKNOWLEDGEMENT
6346*062a843bSAndroid Build Coastguard Worker  *
6347*062a843bSAndroid Build Coastguard Worker  * This is used by Asynchronous solicited messages and Unsolicited messages
6348*062a843bSAndroid Build Coastguard Worker  * to acknowledge the receipt of those messages in RIL.java so that the ack
6349*062a843bSAndroid Build Coastguard Worker  * can be used to let ril.cpp to release wakelock.
6350*062a843bSAndroid Build Coastguard Worker  *
6351*062a843bSAndroid Build Coastguard Worker  * Valid errors
6352*062a843bSAndroid Build Coastguard Worker  * SUCCESS
6353*062a843bSAndroid Build Coastguard Worker  * RADIO_NOT_AVAILABLE
6354*062a843bSAndroid Build Coastguard Worker  */
6355*062a843bSAndroid Build Coastguard Worker 
6356*062a843bSAndroid Build Coastguard Worker #define RIL_RESPONSE_ACKNOWLEDGEMENT 800
6357*062a843bSAndroid Build Coastguard Worker 
6358*062a843bSAndroid Build Coastguard Worker /***********************************************************************/
6359*062a843bSAndroid Build Coastguard Worker 
6360*062a843bSAndroid Build Coastguard Worker 
6361*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_RESPONSE_BASE 1000
6362*062a843bSAndroid Build Coastguard Worker 
6363*062a843bSAndroid Build Coastguard Worker /**
6364*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_RESPONSE_RADIO_STATE_CHANGED
6365*062a843bSAndroid Build Coastguard Worker  *
6366*062a843bSAndroid Build Coastguard Worker  * Indicate when value of RIL_RadioState has changed.
6367*062a843bSAndroid Build Coastguard Worker  *
6368*062a843bSAndroid Build Coastguard Worker  * Callee will invoke RIL_RadioStateRequest method on main thread
6369*062a843bSAndroid Build Coastguard Worker  *
6370*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
6371*062a843bSAndroid Build Coastguard Worker  */
6372*062a843bSAndroid Build Coastguard Worker 
6373*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_RESPONSE_RADIO_STATE_CHANGED 1000
6374*062a843bSAndroid Build Coastguard Worker 
6375*062a843bSAndroid Build Coastguard Worker 
6376*062a843bSAndroid Build Coastguard Worker /**
6377*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_RESPONSE_CALL_STATE_CHANGED
6378*062a843bSAndroid Build Coastguard Worker  *
6379*062a843bSAndroid Build Coastguard Worker  * Indicate when call state has changed
6380*062a843bSAndroid Build Coastguard Worker  *
6381*062a843bSAndroid Build Coastguard Worker  * Callee will invoke RIL_REQUEST_GET_CURRENT_CALLS on main thread
6382*062a843bSAndroid Build Coastguard Worker  *
6383*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
6384*062a843bSAndroid Build Coastguard Worker  *
6385*062a843bSAndroid Build Coastguard Worker  * Response should be invoked on, for example,
6386*062a843bSAndroid Build Coastguard Worker  * "RING", "BUSY", "NO CARRIER", and also call state
6387*062a843bSAndroid Build Coastguard Worker  * transitions (DIALING->ALERTING ALERTING->ACTIVE)
6388*062a843bSAndroid Build Coastguard Worker  *
6389*062a843bSAndroid Build Coastguard Worker  * Redundent or extraneous invocations are tolerated
6390*062a843bSAndroid Build Coastguard Worker  */
6391*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_RESPONSE_CALL_STATE_CHANGED 1001
6392*062a843bSAndroid Build Coastguard Worker 
6393*062a843bSAndroid Build Coastguard Worker 
6394*062a843bSAndroid Build Coastguard Worker /**
6395*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_RESPONSE_VOICE_NETWORK_STATE_CHANGED
6396*062a843bSAndroid Build Coastguard Worker  *
6397*062a843bSAndroid Build Coastguard Worker  * Called when the voice network state changed
6398*062a843bSAndroid Build Coastguard Worker  *
6399*062a843bSAndroid Build Coastguard Worker  * Callee will invoke the following requests on main thread:
6400*062a843bSAndroid Build Coastguard Worker  *
6401*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_VOICE_REGISTRATION_STATE
6402*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_OPERATOR
6403*062a843bSAndroid Build Coastguard Worker  *
6404*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
6405*062a843bSAndroid Build Coastguard Worker  *
6406*062a843bSAndroid Build Coastguard Worker  * FIXME should this happen when SIM records are loaded? (eg, for
6407*062a843bSAndroid Build Coastguard Worker  * EONS)
6408*062a843bSAndroid Build Coastguard Worker  */
6409*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_RESPONSE_VOICE_NETWORK_STATE_CHANGED 1002
6410*062a843bSAndroid Build Coastguard Worker 
6411*062a843bSAndroid Build Coastguard Worker /**
6412*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_RESPONSE_NEW_SMS
6413*062a843bSAndroid Build Coastguard Worker  *
6414*062a843bSAndroid Build Coastguard Worker  * Called when new SMS is received.
6415*062a843bSAndroid Build Coastguard Worker  *
6416*062a843bSAndroid Build Coastguard Worker  * "data" is const char *
6417*062a843bSAndroid Build Coastguard Worker  * This is a pointer to a string containing the PDU of an SMS-DELIVER
6418*062a843bSAndroid Build Coastguard Worker  * as an ascii string of hex digits. The PDU starts with the SMSC address
6419*062a843bSAndroid Build Coastguard Worker  * per TS 27.005 (+CMT:)
6420*062a843bSAndroid Build Coastguard Worker  *
6421*062a843bSAndroid Build Coastguard Worker  * Callee will subsequently confirm the receipt of thei SMS with a
6422*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SMS_ACKNOWLEDGE
6423*062a843bSAndroid Build Coastguard Worker  *
6424*062a843bSAndroid Build Coastguard Worker  * No new RIL_UNSOL_RESPONSE_NEW_SMS
6425*062a843bSAndroid Build Coastguard Worker  * or RIL_UNSOL_RESPONSE_NEW_SMS_STATUS_REPORT messages should be sent until a
6426*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SMS_ACKNOWLEDGE has been received
6427*062a843bSAndroid Build Coastguard Worker  */
6428*062a843bSAndroid Build Coastguard Worker 
6429*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_RESPONSE_NEW_SMS 1003
6430*062a843bSAndroid Build Coastguard Worker 
6431*062a843bSAndroid Build Coastguard Worker /**
6432*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_RESPONSE_NEW_SMS_STATUS_REPORT
6433*062a843bSAndroid Build Coastguard Worker  *
6434*062a843bSAndroid Build Coastguard Worker  * Called when new SMS Status Report is received.
6435*062a843bSAndroid Build Coastguard Worker  *
6436*062a843bSAndroid Build Coastguard Worker  * "data" is const char *
6437*062a843bSAndroid Build Coastguard Worker  * This is a pointer to a string containing the PDU of an SMS-STATUS-REPORT
6438*062a843bSAndroid Build Coastguard Worker  * as an ascii string of hex digits. The PDU starts with the SMSC address
6439*062a843bSAndroid Build Coastguard Worker  * per TS 27.005 (+CDS:).
6440*062a843bSAndroid Build Coastguard Worker  *
6441*062a843bSAndroid Build Coastguard Worker  * Callee will subsequently confirm the receipt of the SMS with a
6442*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SMS_ACKNOWLEDGE
6443*062a843bSAndroid Build Coastguard Worker  *
6444*062a843bSAndroid Build Coastguard Worker  * No new RIL_UNSOL_RESPONSE_NEW_SMS
6445*062a843bSAndroid Build Coastguard Worker  * or RIL_UNSOL_RESPONSE_NEW_SMS_STATUS_REPORT messages should be sent until a
6446*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_SMS_ACKNOWLEDGE has been received
6447*062a843bSAndroid Build Coastguard Worker  */
6448*062a843bSAndroid Build Coastguard Worker 
6449*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_RESPONSE_NEW_SMS_STATUS_REPORT 1004
6450*062a843bSAndroid Build Coastguard Worker 
6451*062a843bSAndroid Build Coastguard Worker /**
6452*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_RESPONSE_NEW_SMS_ON_SIM
6453*062a843bSAndroid Build Coastguard Worker  *
6454*062a843bSAndroid Build Coastguard Worker  * Called when new SMS has been stored on SIM card
6455*062a843bSAndroid Build Coastguard Worker  *
6456*062a843bSAndroid Build Coastguard Worker  * "data" is const int *
6457*062a843bSAndroid Build Coastguard Worker  * ((const int *)data)[0] contains the slot index on the SIM that contains
6458*062a843bSAndroid Build Coastguard Worker  * the new message
6459*062a843bSAndroid Build Coastguard Worker  */
6460*062a843bSAndroid Build Coastguard Worker 
6461*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_RESPONSE_NEW_SMS_ON_SIM 1005
6462*062a843bSAndroid Build Coastguard Worker 
6463*062a843bSAndroid Build Coastguard Worker /**
6464*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_ON_USSD
6465*062a843bSAndroid Build Coastguard Worker  *
6466*062a843bSAndroid Build Coastguard Worker  * Called when a new USSD message is received.
6467*062a843bSAndroid Build Coastguard Worker  *
6468*062a843bSAndroid Build Coastguard Worker  * "data" is const char **
6469*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[0] points to a type code, which is
6470*062a843bSAndroid Build Coastguard Worker  *  one of these string values:
6471*062a843bSAndroid Build Coastguard Worker  *      "0"   USSD-Notify -- text in ((const char **)data)[1]
6472*062a843bSAndroid Build Coastguard Worker  *      "1"   USSD-Request -- text in ((const char **)data)[1]
6473*062a843bSAndroid Build Coastguard Worker  *      "2"   Session terminated by network
6474*062a843bSAndroid Build Coastguard Worker  *      "3"   other local client (eg, SIM Toolkit) has responded
6475*062a843bSAndroid Build Coastguard Worker  *      "4"   Operation not supported
6476*062a843bSAndroid Build Coastguard Worker  *      "5"   Network timeout
6477*062a843bSAndroid Build Coastguard Worker  *
6478*062a843bSAndroid Build Coastguard Worker  * The USSD session is assumed to persist if the type code is "1", otherwise
6479*062a843bSAndroid Build Coastguard Worker  * the current session (if any) is assumed to have terminated.
6480*062a843bSAndroid Build Coastguard Worker  *
6481*062a843bSAndroid Build Coastguard Worker  * ((const char **)data)[1] points to a message string if applicable, which
6482*062a843bSAndroid Build Coastguard Worker  * should always be in UTF-8.
6483*062a843bSAndroid Build Coastguard Worker  */
6484*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_ON_USSD 1006
6485*062a843bSAndroid Build Coastguard Worker /* Previously #define RIL_UNSOL_ON_USSD_NOTIFY 1006   */
6486*062a843bSAndroid Build Coastguard Worker 
6487*062a843bSAndroid Build Coastguard Worker /**
6488*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_ON_USSD_REQUEST
6489*062a843bSAndroid Build Coastguard Worker  *
6490*062a843bSAndroid Build Coastguard Worker  * Obsolete. Send via RIL_UNSOL_ON_USSD
6491*062a843bSAndroid Build Coastguard Worker  */
6492*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_ON_USSD_REQUEST 1007
6493*062a843bSAndroid Build Coastguard Worker 
6494*062a843bSAndroid Build Coastguard Worker /**
6495*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_NITZ_TIME_RECEIVED
6496*062a843bSAndroid Build Coastguard Worker  *
6497*062a843bSAndroid Build Coastguard Worker  * Called when radio has received a NITZ time message
6498*062a843bSAndroid Build Coastguard Worker  *
6499*062a843bSAndroid Build Coastguard Worker  * "data" is const char * pointing to NITZ time string
6500*062a843bSAndroid Build Coastguard Worker  * in the form "yy/mm/dd,hh:mm:ss(+/-)tz,dt"
6501*062a843bSAndroid Build Coastguard Worker  */
6502*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_NITZ_TIME_RECEIVED  1008
6503*062a843bSAndroid Build Coastguard Worker 
6504*062a843bSAndroid Build Coastguard Worker /**
6505*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_SIGNAL_STRENGTH
6506*062a843bSAndroid Build Coastguard Worker  *
6507*062a843bSAndroid Build Coastguard Worker  * Radio may report signal strength rather han have it polled.
6508*062a843bSAndroid Build Coastguard Worker  *
6509*062a843bSAndroid Build Coastguard Worker  * "data" is a const RIL_SignalStrength *
6510*062a843bSAndroid Build Coastguard Worker  */
6511*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_SIGNAL_STRENGTH  1009
6512*062a843bSAndroid Build Coastguard Worker 
6513*062a843bSAndroid Build Coastguard Worker 
6514*062a843bSAndroid Build Coastguard Worker /**
6515*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_DATA_CALL_LIST_CHANGED
6516*062a843bSAndroid Build Coastguard Worker  *
6517*062a843bSAndroid Build Coastguard Worker  * "data" is an array of RIL_Data_Call_Response_v6 identical to that
6518*062a843bSAndroid Build Coastguard Worker  * returned by RIL_REQUEST_DATA_CALL_LIST. It is the complete list
6519*062a843bSAndroid Build Coastguard Worker  * of current data contexts including new contexts that have been
6520*062a843bSAndroid Build Coastguard Worker  * activated. A data call is only removed from this list when the
6521*062a843bSAndroid Build Coastguard Worker  * framework sends a RIL_REQUEST_DEACTIVATE_DATA_CALL or the radio
6522*062a843bSAndroid Build Coastguard Worker  * is powered off/on.
6523*062a843bSAndroid Build Coastguard Worker  *
6524*062a843bSAndroid Build Coastguard Worker  * See also: RIL_REQUEST_DATA_CALL_LIST
6525*062a843bSAndroid Build Coastguard Worker  */
6526*062a843bSAndroid Build Coastguard Worker 
6527*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_DATA_CALL_LIST_CHANGED 1010
6528*062a843bSAndroid Build Coastguard Worker 
6529*062a843bSAndroid Build Coastguard Worker /**
6530*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_SUPP_SVC_NOTIFICATION
6531*062a843bSAndroid Build Coastguard Worker  *
6532*062a843bSAndroid Build Coastguard Worker  * Reports supplementary service related notification from the network.
6533*062a843bSAndroid Build Coastguard Worker  *
6534*062a843bSAndroid Build Coastguard Worker  * "data" is a const RIL_SuppSvcNotification *
6535*062a843bSAndroid Build Coastguard Worker  *
6536*062a843bSAndroid Build Coastguard Worker  */
6537*062a843bSAndroid Build Coastguard Worker 
6538*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_SUPP_SVC_NOTIFICATION 1011
6539*062a843bSAndroid Build Coastguard Worker 
6540*062a843bSAndroid Build Coastguard Worker /**
6541*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_STK_SESSION_END
6542*062a843bSAndroid Build Coastguard Worker  *
6543*062a843bSAndroid Build Coastguard Worker  * Indicate when STK session is terminated by SIM.
6544*062a843bSAndroid Build Coastguard Worker  *
6545*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
6546*062a843bSAndroid Build Coastguard Worker  */
6547*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_STK_SESSION_END 1012
6548*062a843bSAndroid Build Coastguard Worker 
6549*062a843bSAndroid Build Coastguard Worker /**
6550*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_STK_PROACTIVE_COMMAND
6551*062a843bSAndroid Build Coastguard Worker  *
6552*062a843bSAndroid Build Coastguard Worker  * Indicate when SIM issue a STK proactive command to applications
6553*062a843bSAndroid Build Coastguard Worker  *
6554*062a843bSAndroid Build Coastguard Worker  * "data" is a const char * containing SAT/USAT proactive command
6555*062a843bSAndroid Build Coastguard Worker  * in hexadecimal format string starting with command tag
6556*062a843bSAndroid Build Coastguard Worker  *
6557*062a843bSAndroid Build Coastguard Worker  */
6558*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_STK_PROACTIVE_COMMAND 1013
6559*062a843bSAndroid Build Coastguard Worker 
6560*062a843bSAndroid Build Coastguard Worker /**
6561*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_STK_EVENT_NOTIFY
6562*062a843bSAndroid Build Coastguard Worker  *
6563*062a843bSAndroid Build Coastguard Worker  * Indicate when SIM notifies applcations some event happens.
6564*062a843bSAndroid Build Coastguard Worker  * Generally, application does not need to have any feedback to
6565*062a843bSAndroid Build Coastguard Worker  * SIM but shall be able to indicate appropriate messages to users.
6566*062a843bSAndroid Build Coastguard Worker  *
6567*062a843bSAndroid Build Coastguard Worker  * "data" is a const char * containing SAT/USAT commands or responses
6568*062a843bSAndroid Build Coastguard Worker  * sent by ME to SIM or commands handled by ME, in hexadecimal format string
6569*062a843bSAndroid Build Coastguard Worker  * starting with first byte of response data or command tag
6570*062a843bSAndroid Build Coastguard Worker  *
6571*062a843bSAndroid Build Coastguard Worker  */
6572*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_STK_EVENT_NOTIFY 1014
6573*062a843bSAndroid Build Coastguard Worker 
6574*062a843bSAndroid Build Coastguard Worker /**
6575*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_STK_CALL_SETUP
6576*062a843bSAndroid Build Coastguard Worker  *
6577*062a843bSAndroid Build Coastguard Worker  * Indicate when SIM wants application to setup a voice call.
6578*062a843bSAndroid Build Coastguard Worker  *
6579*062a843bSAndroid Build Coastguard Worker  * "data" is const int *
6580*062a843bSAndroid Build Coastguard Worker  * ((const int *)data)[0] contains timeout value (in milliseconds)
6581*062a843bSAndroid Build Coastguard Worker  */
6582*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_STK_CALL_SETUP 1015
6583*062a843bSAndroid Build Coastguard Worker 
6584*062a843bSAndroid Build Coastguard Worker /**
6585*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_SIM_SMS_STORAGE_FULL
6586*062a843bSAndroid Build Coastguard Worker  *
6587*062a843bSAndroid Build Coastguard Worker  * Indicates that SMS storage on the SIM is full.  Sent when the network
6588*062a843bSAndroid Build Coastguard Worker  * attempts to deliver a new SMS message.  Messages cannot be saved on the
6589*062a843bSAndroid Build Coastguard Worker  * SIM until space is freed.  In particular, incoming Class 2 messages
6590*062a843bSAndroid Build Coastguard Worker  * cannot be stored.
6591*062a843bSAndroid Build Coastguard Worker  *
6592*062a843bSAndroid Build Coastguard Worker  * "data" is null
6593*062a843bSAndroid Build Coastguard Worker  *
6594*062a843bSAndroid Build Coastguard Worker  */
6595*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_SIM_SMS_STORAGE_FULL 1016
6596*062a843bSAndroid Build Coastguard Worker 
6597*062a843bSAndroid Build Coastguard Worker /**
6598*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_SIM_REFRESH
6599*062a843bSAndroid Build Coastguard Worker  *
6600*062a843bSAndroid Build Coastguard Worker  * Indicates that file(s) on the SIM have been updated, or the SIM
6601*062a843bSAndroid Build Coastguard Worker  * has been reinitialized.
6602*062a843bSAndroid Build Coastguard Worker  *
6603*062a843bSAndroid Build Coastguard Worker  * In the case where RIL is version 6 or older:
6604*062a843bSAndroid Build Coastguard Worker  * "data" is an int *
6605*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is a RIL_SimRefreshResult.
6606*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[1] is the EFID of the updated file if the result is
6607*062a843bSAndroid Build Coastguard Worker  * SIM_FILE_UPDATE or NULL for any other result.
6608*062a843bSAndroid Build Coastguard Worker  *
6609*062a843bSAndroid Build Coastguard Worker  * In the case where RIL is version 7:
6610*062a843bSAndroid Build Coastguard Worker  * "data" is a RIL_SimRefreshResponse_v7 *
6611*062a843bSAndroid Build Coastguard Worker  *
6612*062a843bSAndroid Build Coastguard Worker  * Note: If the SIM state changes as a result of the SIM refresh (eg,
6613*062a843bSAndroid Build Coastguard Worker  * SIM_READY -> SIM_LOCKED_OR_ABSENT), RIL_UNSOL_RESPONSE_SIM_STATUS_CHANGED
6614*062a843bSAndroid Build Coastguard Worker  * should be sent.
6615*062a843bSAndroid Build Coastguard Worker  */
6616*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_SIM_REFRESH 1017
6617*062a843bSAndroid Build Coastguard Worker 
6618*062a843bSAndroid Build Coastguard Worker /**
6619*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_CALL_RING
6620*062a843bSAndroid Build Coastguard Worker  *
6621*062a843bSAndroid Build Coastguard Worker  * Ring indication for an incoming call (eg, RING or CRING event).
6622*062a843bSAndroid Build Coastguard Worker  * There must be at least one RIL_UNSOL_CALL_RING at the beginning
6623*062a843bSAndroid Build Coastguard Worker  * of a call and sending multiple is optional. If the system property
6624*062a843bSAndroid Build Coastguard Worker  * ro.telephony.call_ring.multiple is false then the upper layers
6625*062a843bSAndroid Build Coastguard Worker  * will generate the multiple events internally. Otherwise the vendor
6626*062a843bSAndroid Build Coastguard Worker  * ril must generate multiple RIL_UNSOL_CALL_RING if
6627*062a843bSAndroid Build Coastguard Worker  * ro.telephony.call_ring.multiple is true or if it is absent.
6628*062a843bSAndroid Build Coastguard Worker  *
6629*062a843bSAndroid Build Coastguard Worker  * The rate of these events is controlled by ro.telephony.call_ring.delay
6630*062a843bSAndroid Build Coastguard Worker  * and has a default value of 3000 (3 seconds) if absent.
6631*062a843bSAndroid Build Coastguard Worker  *
6632*062a843bSAndroid Build Coastguard Worker  * "data" is null for GSM
6633*062a843bSAndroid Build Coastguard Worker  * "data" is const RIL_CDMA_SignalInfoRecord * if CDMA
6634*062a843bSAndroid Build Coastguard Worker  */
6635*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_CALL_RING 1018
6636*062a843bSAndroid Build Coastguard Worker 
6637*062a843bSAndroid Build Coastguard Worker /**
6638*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_RESPONSE_SIM_STATUS_CHANGED
6639*062a843bSAndroid Build Coastguard Worker  *
6640*062a843bSAndroid Build Coastguard Worker  * Indicates that SIM state changes.
6641*062a843bSAndroid Build Coastguard Worker  *
6642*062a843bSAndroid Build Coastguard Worker  * Callee will invoke RIL_REQUEST_GET_SIM_STATUS on main thread
6643*062a843bSAndroid Build Coastguard Worker 
6644*062a843bSAndroid Build Coastguard Worker  * "data" is null
6645*062a843bSAndroid Build Coastguard Worker  */
6646*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_RESPONSE_SIM_STATUS_CHANGED 1019
6647*062a843bSAndroid Build Coastguard Worker 
6648*062a843bSAndroid Build Coastguard Worker /**
6649*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_RESPONSE_CDMA_NEW_SMS
6650*062a843bSAndroid Build Coastguard Worker  *
6651*062a843bSAndroid Build Coastguard Worker  * Called when new CDMA SMS is received
6652*062a843bSAndroid Build Coastguard Worker  *
6653*062a843bSAndroid Build Coastguard Worker  * "data" is const RIL_CDMA_SMS_Message *
6654*062a843bSAndroid Build Coastguard Worker  *
6655*062a843bSAndroid Build Coastguard Worker  * Callee will subsequently confirm the receipt of the SMS with
6656*062a843bSAndroid Build Coastguard Worker  * a RIL_REQUEST_CDMA_SMS_ACKNOWLEDGE
6657*062a843bSAndroid Build Coastguard Worker  *
6658*062a843bSAndroid Build Coastguard Worker  * No new RIL_UNSOL_RESPONSE_CDMA_NEW_SMS should be sent until
6659*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_CDMA_SMS_ACKNOWLEDGE has been received
6660*062a843bSAndroid Build Coastguard Worker  *
6661*062a843bSAndroid Build Coastguard Worker  */
6662*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_RESPONSE_CDMA_NEW_SMS 1020
6663*062a843bSAndroid Build Coastguard Worker 
6664*062a843bSAndroid Build Coastguard Worker /**
6665*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_RESPONSE_NEW_BROADCAST_SMS
6666*062a843bSAndroid Build Coastguard Worker  *
6667*062a843bSAndroid Build Coastguard Worker  * Called when new Broadcast SMS is received
6668*062a843bSAndroid Build Coastguard Worker  *
6669*062a843bSAndroid Build Coastguard Worker  * "data" can be one of the following:
6670*062a843bSAndroid Build Coastguard Worker  * If received from GSM network, "data" is const char of 88 bytes
6671*062a843bSAndroid Build Coastguard Worker  * which indicates each page of a CBS Message sent to the MS by the
6672*062a843bSAndroid Build Coastguard Worker  * BTS as coded in 3GPP 23.041 Section 9.4.1.2.
6673*062a843bSAndroid Build Coastguard Worker  * If received from UMTS network, "data" is const char of 90 up to 1252
6674*062a843bSAndroid Build Coastguard Worker  * bytes which contain between 1 and 15 CBS Message pages sent as one
6675*062a843bSAndroid Build Coastguard Worker  * packet to the MS by the BTS as coded in 3GPP 23.041 Section 9.4.2.2.
6676*062a843bSAndroid Build Coastguard Worker  *
6677*062a843bSAndroid Build Coastguard Worker  */
6678*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_RESPONSE_NEW_BROADCAST_SMS 1021
6679*062a843bSAndroid Build Coastguard Worker 
6680*062a843bSAndroid Build Coastguard Worker /**
6681*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_CDMA_RUIM_SMS_STORAGE_FULL
6682*062a843bSAndroid Build Coastguard Worker  *
6683*062a843bSAndroid Build Coastguard Worker  * Indicates that SMS storage on the RUIM is full.  Messages
6684*062a843bSAndroid Build Coastguard Worker  * cannot be saved on the RUIM until space is freed.
6685*062a843bSAndroid Build Coastguard Worker  *
6686*062a843bSAndroid Build Coastguard Worker  * "data" is null
6687*062a843bSAndroid Build Coastguard Worker  *
6688*062a843bSAndroid Build Coastguard Worker  */
6689*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_CDMA_RUIM_SMS_STORAGE_FULL 1022
6690*062a843bSAndroid Build Coastguard Worker 
6691*062a843bSAndroid Build Coastguard Worker /**
6692*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_RESTRICTED_STATE_CHANGED
6693*062a843bSAndroid Build Coastguard Worker  *
6694*062a843bSAndroid Build Coastguard Worker  * Indicates a restricted state change (eg, for Domain Specific Access Control).
6695*062a843bSAndroid Build Coastguard Worker  *
6696*062a843bSAndroid Build Coastguard Worker  * Radio need send this msg after radio off/on cycle no matter it is changed or not.
6697*062a843bSAndroid Build Coastguard Worker  *
6698*062a843bSAndroid Build Coastguard Worker  * "data" is an int *
6699*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] contains a bitmask of RIL_RESTRICTED_STATE_* values.
6700*062a843bSAndroid Build Coastguard Worker  */
6701*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_RESTRICTED_STATE_CHANGED 1023
6702*062a843bSAndroid Build Coastguard Worker 
6703*062a843bSAndroid Build Coastguard Worker /**
6704*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_ENTER_EMERGENCY_CALLBACK_MODE
6705*062a843bSAndroid Build Coastguard Worker  *
6706*062a843bSAndroid Build Coastguard Worker  * Indicates that the radio system selection module has
6707*062a843bSAndroid Build Coastguard Worker  * autonomously entered emergency callback mode.
6708*062a843bSAndroid Build Coastguard Worker  *
6709*062a843bSAndroid Build Coastguard Worker  * "data" is null
6710*062a843bSAndroid Build Coastguard Worker  *
6711*062a843bSAndroid Build Coastguard Worker  */
6712*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_ENTER_EMERGENCY_CALLBACK_MODE 1024
6713*062a843bSAndroid Build Coastguard Worker 
6714*062a843bSAndroid Build Coastguard Worker /**
6715*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_CDMA_CALL_WAITING
6716*062a843bSAndroid Build Coastguard Worker  *
6717*062a843bSAndroid Build Coastguard Worker  * Called when CDMA radio receives a call waiting indication.
6718*062a843bSAndroid Build Coastguard Worker  *
6719*062a843bSAndroid Build Coastguard Worker  * "data" is const RIL_CDMA_CallWaiting *
6720*062a843bSAndroid Build Coastguard Worker  *
6721*062a843bSAndroid Build Coastguard Worker  */
6722*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_CDMA_CALL_WAITING 1025
6723*062a843bSAndroid Build Coastguard Worker 
6724*062a843bSAndroid Build Coastguard Worker /**
6725*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_CDMA_OTA_PROVISION_STATUS
6726*062a843bSAndroid Build Coastguard Worker  *
6727*062a843bSAndroid Build Coastguard Worker  * Called when CDMA radio receives an update of the progress of an
6728*062a843bSAndroid Build Coastguard Worker  * OTASP/OTAPA call.
6729*062a843bSAndroid Build Coastguard Worker  *
6730*062a843bSAndroid Build Coastguard Worker  * "data" is const int *
6731*062a843bSAndroid Build Coastguard Worker  *  For CDMA this is an integer OTASP/OTAPA status listed in
6732*062a843bSAndroid Build Coastguard Worker  *  RIL_CDMA_OTA_ProvisionStatus.
6733*062a843bSAndroid Build Coastguard Worker  *
6734*062a843bSAndroid Build Coastguard Worker  */
6735*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_CDMA_OTA_PROVISION_STATUS 1026
6736*062a843bSAndroid Build Coastguard Worker 
6737*062a843bSAndroid Build Coastguard Worker /**
6738*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_CDMA_INFO_REC
6739*062a843bSAndroid Build Coastguard Worker  *
6740*062a843bSAndroid Build Coastguard Worker  * Called when CDMA radio receives one or more info recs.
6741*062a843bSAndroid Build Coastguard Worker  *
6742*062a843bSAndroid Build Coastguard Worker  * "data" is const RIL_CDMA_InformationRecords *
6743*062a843bSAndroid Build Coastguard Worker  *
6744*062a843bSAndroid Build Coastguard Worker  */
6745*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_CDMA_INFO_REC 1027
6746*062a843bSAndroid Build Coastguard Worker 
6747*062a843bSAndroid Build Coastguard Worker /**
6748*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_OEM_HOOK_RAW
6749*062a843bSAndroid Build Coastguard Worker  *
6750*062a843bSAndroid Build Coastguard Worker  * This is for OEM specific use.
6751*062a843bSAndroid Build Coastguard Worker  *
6752*062a843bSAndroid Build Coastguard Worker  * "data" is a byte[]
6753*062a843bSAndroid Build Coastguard Worker  */
6754*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_OEM_HOOK_RAW 1028
6755*062a843bSAndroid Build Coastguard Worker 
6756*062a843bSAndroid Build Coastguard Worker /**
6757*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_RINGBACK_TONE
6758*062a843bSAndroid Build Coastguard Worker  *
6759*062a843bSAndroid Build Coastguard Worker  * Indicates that nework doesn't have in-band information,  need to
6760*062a843bSAndroid Build Coastguard Worker  * play out-band tone.
6761*062a843bSAndroid Build Coastguard Worker  *
6762*062a843bSAndroid Build Coastguard Worker  * "data" is an int *
6763*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] == 0 for stop play ringback tone.
6764*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] == 1 for start play ringback tone.
6765*062a843bSAndroid Build Coastguard Worker  */
6766*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_RINGBACK_TONE 1029
6767*062a843bSAndroid Build Coastguard Worker 
6768*062a843bSAndroid Build Coastguard Worker /**
6769*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_RESEND_INCALL_MUTE
6770*062a843bSAndroid Build Coastguard Worker  *
6771*062a843bSAndroid Build Coastguard Worker  * Indicates that framework/application need reset the uplink mute state.
6772*062a843bSAndroid Build Coastguard Worker  *
6773*062a843bSAndroid Build Coastguard Worker  * There may be situations where the mute state becomes out of sync
6774*062a843bSAndroid Build Coastguard Worker  * between the application and device in some GSM infrastructures.
6775*062a843bSAndroid Build Coastguard Worker  *
6776*062a843bSAndroid Build Coastguard Worker  * "data" is null
6777*062a843bSAndroid Build Coastguard Worker  */
6778*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_RESEND_INCALL_MUTE 1030
6779*062a843bSAndroid Build Coastguard Worker 
6780*062a843bSAndroid Build Coastguard Worker /**
6781*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_CDMA_SUBSCRIPTION_SOURCE_CHANGED
6782*062a843bSAndroid Build Coastguard Worker  *
6783*062a843bSAndroid Build Coastguard Worker  * Called when CDMA subscription source changed.
6784*062a843bSAndroid Build Coastguard Worker  *
6785*062a843bSAndroid Build Coastguard Worker  * "data" is int *
6786*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is == RIL_CdmaSubscriptionSource
6787*062a843bSAndroid Build Coastguard Worker  */
6788*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_CDMA_SUBSCRIPTION_SOURCE_CHANGED 1031
6789*062a843bSAndroid Build Coastguard Worker 
6790*062a843bSAndroid Build Coastguard Worker /**
6791*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_CDMA_PRL_CHANGED
6792*062a843bSAndroid Build Coastguard Worker  *
6793*062a843bSAndroid Build Coastguard Worker  * Called when PRL (preferred roaming list) changes.
6794*062a843bSAndroid Build Coastguard Worker  *
6795*062a843bSAndroid Build Coastguard Worker  * "data" is int *
6796*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is PRL_VERSION as would be returned by RIL_REQUEST_CDMA_SUBSCRIPTION
6797*062a843bSAndroid Build Coastguard Worker  */
6798*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_CDMA_PRL_CHANGED 1032
6799*062a843bSAndroid Build Coastguard Worker 
6800*062a843bSAndroid Build Coastguard Worker /**
6801*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_EXIT_EMERGENCY_CALLBACK_MODE
6802*062a843bSAndroid Build Coastguard Worker  *
6803*062a843bSAndroid Build Coastguard Worker  * Called when Emergency Callback Mode Ends
6804*062a843bSAndroid Build Coastguard Worker  *
6805*062a843bSAndroid Build Coastguard Worker  * Indicates that the radio system selection module has
6806*062a843bSAndroid Build Coastguard Worker  * proactively exited emergency callback mode.
6807*062a843bSAndroid Build Coastguard Worker  *
6808*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
6809*062a843bSAndroid Build Coastguard Worker  *
6810*062a843bSAndroid Build Coastguard Worker  */
6811*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_EXIT_EMERGENCY_CALLBACK_MODE 1033
6812*062a843bSAndroid Build Coastguard Worker 
6813*062a843bSAndroid Build Coastguard Worker /**
6814*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_RIL_CONNECTED
6815*062a843bSAndroid Build Coastguard Worker  *
6816*062a843bSAndroid Build Coastguard Worker  * Called the ril connects and returns the version
6817*062a843bSAndroid Build Coastguard Worker  *
6818*062a843bSAndroid Build Coastguard Worker  * "data" is int *
6819*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is RIL_VERSION
6820*062a843bSAndroid Build Coastguard Worker  */
6821*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_RIL_CONNECTED 1034
6822*062a843bSAndroid Build Coastguard Worker 
6823*062a843bSAndroid Build Coastguard Worker /**
6824*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_VOICE_RADIO_TECH_CHANGED
6825*062a843bSAndroid Build Coastguard Worker  *
6826*062a843bSAndroid Build Coastguard Worker  * Indicates that voice technology has changed. Contains new radio technology
6827*062a843bSAndroid Build Coastguard Worker  * as a data in the message.
6828*062a843bSAndroid Build Coastguard Worker  *
6829*062a843bSAndroid Build Coastguard Worker  * "data" is int *
6830*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is of type const RIL_RadioTechnology
6831*062a843bSAndroid Build Coastguard Worker  *
6832*062a843bSAndroid Build Coastguard Worker  */
6833*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_VOICE_RADIO_TECH_CHANGED 1035
6834*062a843bSAndroid Build Coastguard Worker 
6835*062a843bSAndroid Build Coastguard Worker /**
6836*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_CELL_INFO_LIST
6837*062a843bSAndroid Build Coastguard Worker  *
6838*062a843bSAndroid Build Coastguard Worker  * Same information as returned by RIL_REQUEST_GET_CELL_INFO_LIST, but returned
6839*062a843bSAndroid Build Coastguard Worker  * at the rate no greater than specified by RIL_REQUEST_SET_UNSOL_CELL_INFO_RATE.
6840*062a843bSAndroid Build Coastguard Worker  *
6841*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
6842*062a843bSAndroid Build Coastguard Worker  *
6843*062a843bSAndroid Build Coastguard Worker  * "response" is an array of RIL_CellInfo_v12.
6844*062a843bSAndroid Build Coastguard Worker  */
6845*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_CELL_INFO_LIST 1036
6846*062a843bSAndroid Build Coastguard Worker 
6847*062a843bSAndroid Build Coastguard Worker /**
6848*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_RESPONSE_IMS_NETWORK_STATE_CHANGED
6849*062a843bSAndroid Build Coastguard Worker  *
6850*062a843bSAndroid Build Coastguard Worker  * This message is DEPRECATED and shall be removed in a future release (target: 2018);
6851*062a843bSAndroid Build Coastguard Worker  * instead, provide IMS registration status via an IMS Service.
6852*062a843bSAndroid Build Coastguard Worker  *
6853*062a843bSAndroid Build Coastguard Worker  * Called when IMS registration state has changed
6854*062a843bSAndroid Build Coastguard Worker  *
6855*062a843bSAndroid Build Coastguard Worker  * To get IMS registration state and IMS SMS format, callee needs to invoke the
6856*062a843bSAndroid Build Coastguard Worker  * following request on main thread:
6857*062a843bSAndroid Build Coastguard Worker  *
6858*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_IMS_REGISTRATION_STATE
6859*062a843bSAndroid Build Coastguard Worker  *
6860*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
6861*062a843bSAndroid Build Coastguard Worker  *
6862*062a843bSAndroid Build Coastguard Worker  */
6863*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_RESPONSE_IMS_NETWORK_STATE_CHANGED 1037
6864*062a843bSAndroid Build Coastguard Worker 
6865*062a843bSAndroid Build Coastguard Worker /**
6866*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_UICC_SUBSCRIPTION_STATUS_CHANGED
6867*062a843bSAndroid Build Coastguard Worker  *
6868*062a843bSAndroid Build Coastguard Worker  * Indicated when there is a change in subscription status.
6869*062a843bSAndroid Build Coastguard Worker  * This event will be sent in the following scenarios
6870*062a843bSAndroid Build Coastguard Worker  *  - subscription readiness at modem, which was selected by telephony layer
6871*062a843bSAndroid Build Coastguard Worker  *  - when subscription is deactivated by modem due to UICC card removal
6872*062a843bSAndroid Build Coastguard Worker  *  - When network invalidates the subscription i.e. attach reject due to authentication reject
6873*062a843bSAndroid Build Coastguard Worker  *
6874*062a843bSAndroid Build Coastguard Worker  * "data" is const int *
6875*062a843bSAndroid Build Coastguard Worker  * ((const int *)data)[0] == 0 for Subscription Deactivated
6876*062a843bSAndroid Build Coastguard Worker  * ((const int *)data)[0] == 1 for Subscription Activated
6877*062a843bSAndroid Build Coastguard Worker  *
6878*062a843bSAndroid Build Coastguard Worker  */
6879*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_UICC_SUBSCRIPTION_STATUS_CHANGED 1038
6880*062a843bSAndroid Build Coastguard Worker 
6881*062a843bSAndroid Build Coastguard Worker /**
6882*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_SRVCC_STATE_NOTIFY
6883*062a843bSAndroid Build Coastguard Worker  *
6884*062a843bSAndroid Build Coastguard Worker  * Called when Single Radio Voice Call Continuity(SRVCC)
6885*062a843bSAndroid Build Coastguard Worker  * progress state has changed
6886*062a843bSAndroid Build Coastguard Worker  *
6887*062a843bSAndroid Build Coastguard Worker  * "data" is int *
6888*062a843bSAndroid Build Coastguard Worker  * ((int *)data)[0] is of type const RIL_SrvccState
6889*062a843bSAndroid Build Coastguard Worker  *
6890*062a843bSAndroid Build Coastguard Worker  */
6891*062a843bSAndroid Build Coastguard Worker 
6892*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_SRVCC_STATE_NOTIFY 1039
6893*062a843bSAndroid Build Coastguard Worker 
6894*062a843bSAndroid Build Coastguard Worker /**
6895*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_HARDWARE_CONFIG_CHANGED
6896*062a843bSAndroid Build Coastguard Worker  *
6897*062a843bSAndroid Build Coastguard Worker  * Called when the hardware configuration associated with the RILd changes
6898*062a843bSAndroid Build Coastguard Worker  *
6899*062a843bSAndroid Build Coastguard Worker  * "data" is an array of RIL_HardwareConfig
6900*062a843bSAndroid Build Coastguard Worker  *
6901*062a843bSAndroid Build Coastguard Worker  */
6902*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_HARDWARE_CONFIG_CHANGED 1040
6903*062a843bSAndroid Build Coastguard Worker 
6904*062a843bSAndroid Build Coastguard Worker /**
6905*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_DC_RT_INFO_CHANGED
6906*062a843bSAndroid Build Coastguard Worker  *
6907*062a843bSAndroid Build Coastguard Worker  * The message is DEPRECATED, use RIL_REQUEST_GET_ACTIVITY_INFO
6908*062a843bSAndroid Build Coastguard Worker  * Sent when the DC_RT_STATE changes but the time
6909*062a843bSAndroid Build Coastguard Worker  * between these messages must not be less than the
6910*062a843bSAndroid Build Coastguard Worker  * value set by RIL_REQUEST_SET_DC_RT_RATE.
6911*062a843bSAndroid Build Coastguard Worker  *
6912*062a843bSAndroid Build Coastguard Worker  * "data" is the most recent RIL_DcRtInfo
6913*062a843bSAndroid Build Coastguard Worker  *
6914*062a843bSAndroid Build Coastguard Worker  */
6915*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_DC_RT_INFO_CHANGED 1041
6916*062a843bSAndroid Build Coastguard Worker 
6917*062a843bSAndroid Build Coastguard Worker /**
6918*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_RADIO_CAPABILITY
6919*062a843bSAndroid Build Coastguard Worker  *
6920*062a843bSAndroid Build Coastguard Worker  * Sent when RIL_REQUEST_SET_RADIO_CAPABILITY completes.
6921*062a843bSAndroid Build Coastguard Worker  * Returns the phone radio capability exactly as
6922*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_GET_RADIO_CAPABILITY and should be the
6923*062a843bSAndroid Build Coastguard Worker  * same set as sent by RIL_REQUEST_SET_RADIO_CAPABILITY.
6924*062a843bSAndroid Build Coastguard Worker  *
6925*062a843bSAndroid Build Coastguard Worker  * "data" is the RIL_RadioCapability structure
6926*062a843bSAndroid Build Coastguard Worker  */
6927*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_RADIO_CAPABILITY 1042
6928*062a843bSAndroid Build Coastguard Worker 
6929*062a843bSAndroid Build Coastguard Worker /*
6930*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_ON_SS
6931*062a843bSAndroid Build Coastguard Worker  *
6932*062a843bSAndroid Build Coastguard Worker  * Called when SS response is received when DIAL/USSD/SS is changed to SS by
6933*062a843bSAndroid Build Coastguard Worker  * call control.
6934*062a843bSAndroid Build Coastguard Worker  *
6935*062a843bSAndroid Build Coastguard Worker  * "data" is const RIL_StkCcUnsolSsResponse *
6936*062a843bSAndroid Build Coastguard Worker  *
6937*062a843bSAndroid Build Coastguard Worker  */
6938*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_ON_SS 1043
6939*062a843bSAndroid Build Coastguard Worker 
6940*062a843bSAndroid Build Coastguard Worker /**
6941*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_STK_CC_ALPHA_NOTIFY
6942*062a843bSAndroid Build Coastguard Worker  *
6943*062a843bSAndroid Build Coastguard Worker  * Called when there is an ALPHA from UICC during Call Control.
6944*062a843bSAndroid Build Coastguard Worker  *
6945*062a843bSAndroid Build Coastguard Worker  * "data" is const char * containing ALPHA string from UICC in UTF-8 format.
6946*062a843bSAndroid Build Coastguard Worker  *
6947*062a843bSAndroid Build Coastguard Worker  */
6948*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_STK_CC_ALPHA_NOTIFY 1044
6949*062a843bSAndroid Build Coastguard Worker 
6950*062a843bSAndroid Build Coastguard Worker /**
6951*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_LCEDATA_RECV
6952*062a843bSAndroid Build Coastguard Worker  *
6953*062a843bSAndroid Build Coastguard Worker  * Called when there is an incoming Link Capacity Estimate (LCE) info report.
6954*062a843bSAndroid Build Coastguard Worker  *
6955*062a843bSAndroid Build Coastguard Worker  * "data" is the RIL_LceDataInfo structure.
6956*062a843bSAndroid Build Coastguard Worker  *
6957*062a843bSAndroid Build Coastguard Worker  */
6958*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_LCEDATA_RECV 1045
6959*062a843bSAndroid Build Coastguard Worker 
6960*062a843bSAndroid Build Coastguard Worker  /**
6961*062a843bSAndroid Build Coastguard Worker   * RIL_UNSOL_PCO_DATA
6962*062a843bSAndroid Build Coastguard Worker   *
6963*062a843bSAndroid Build Coastguard Worker   * Called when there is new Carrier PCO data received for a data call.  Ideally
6964*062a843bSAndroid Build Coastguard Worker   * only new data will be forwarded, though this is not required.  Multiple
6965*062a843bSAndroid Build Coastguard Worker   * boxes of carrier PCO data for a given call should result in a series of
6966*062a843bSAndroid Build Coastguard Worker   * RIL_UNSOL_PCO_DATA calls.
6967*062a843bSAndroid Build Coastguard Worker   *
6968*062a843bSAndroid Build Coastguard Worker   * "data" is the RIL_PCO_Data structure.
6969*062a843bSAndroid Build Coastguard Worker   *
6970*062a843bSAndroid Build Coastguard Worker   */
6971*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_PCO_DATA 1046
6972*062a843bSAndroid Build Coastguard Worker 
6973*062a843bSAndroid Build Coastguard Worker  /**
6974*062a843bSAndroid Build Coastguard Worker   * RIL_UNSOL_MODEM_RESTART
6975*062a843bSAndroid Build Coastguard Worker   *
6976*062a843bSAndroid Build Coastguard Worker   * Called when there is a modem reset.
6977*062a843bSAndroid Build Coastguard Worker   *
6978*062a843bSAndroid Build Coastguard Worker   * "reason" is "const char *" containing the reason for the reset. It
6979*062a843bSAndroid Build Coastguard Worker   * could be a crash signature if the restart was due to a crash or some
6980*062a843bSAndroid Build Coastguard Worker   * string such as "user-initiated restart" or "AT command initiated
6981*062a843bSAndroid Build Coastguard Worker   * restart" that explains the cause of the modem restart.
6982*062a843bSAndroid Build Coastguard Worker   *
6983*062a843bSAndroid Build Coastguard Worker   * When modem restarts, one of the following radio state transitions will happen
6984*062a843bSAndroid Build Coastguard Worker   * 1) RADIO_STATE_ON->RADIO_STATE_UNAVAILABLE->RADIO_STATE_ON or
6985*062a843bSAndroid Build Coastguard Worker   * 2) RADIO_STATE_OFF->RADIO_STATE_UNAVAILABLE->RADIO_STATE_OFF
6986*062a843bSAndroid Build Coastguard Worker   * This message can be sent either just before the RADIO_STATE changes to RADIO_STATE_UNAVAILABLE
6987*062a843bSAndroid Build Coastguard Worker   * or just after but should never be sent after the RADIO_STATE changes from UNAVAILABLE to
6988*062a843bSAndroid Build Coastguard Worker   * AVAILABLE(RADIO_STATE_ON/RADIO_STATE_OFF) again.
6989*062a843bSAndroid Build Coastguard Worker   *
6990*062a843bSAndroid Build Coastguard Worker   * It should NOT be sent after the RADIO_STATE changes to AVAILABLE after the
6991*062a843bSAndroid Build Coastguard Worker   * modem restart as that could be interpreted as a second modem reset by the
6992*062a843bSAndroid Build Coastguard Worker   * framework.
6993*062a843bSAndroid Build Coastguard Worker   */
6994*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_MODEM_RESTART 1047
6995*062a843bSAndroid Build Coastguard Worker 
6996*062a843bSAndroid Build Coastguard Worker /**
6997*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_CARRIER_INFO_IMSI_ENCRYPTION
6998*062a843bSAndroid Build Coastguard Worker  *
6999*062a843bSAndroid Build Coastguard Worker  * Called when the modem needs Carrier specific information that will
7000*062a843bSAndroid Build Coastguard Worker  * be used to encrypt IMSI and IMPI.
7001*062a843bSAndroid Build Coastguard Worker  *
7002*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
7003*062a843bSAndroid Build Coastguard Worker  *
7004*062a843bSAndroid Build Coastguard Worker  */
7005*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_CARRIER_INFO_IMSI_ENCRYPTION 1048
7006*062a843bSAndroid Build Coastguard Worker 
7007*062a843bSAndroid Build Coastguard Worker /**
7008*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_NETWORK_SCAN_RESULT
7009*062a843bSAndroid Build Coastguard Worker  *
7010*062a843bSAndroid Build Coastguard Worker  * Returns incremental result for the network scan which is started by
7011*062a843bSAndroid Build Coastguard Worker  * RIL_REQUEST_START_NETWORK_SCAN, sent to report results, status, or errors.
7012*062a843bSAndroid Build Coastguard Worker  *
7013*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
7014*062a843bSAndroid Build Coastguard Worker  * "response" is a const RIL_NetworkScanResult *
7015*062a843bSAndroid Build Coastguard Worker  */
7016*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_NETWORK_SCAN_RESULT 1049
7017*062a843bSAndroid Build Coastguard Worker 
7018*062a843bSAndroid Build Coastguard Worker /**
7019*062a843bSAndroid Build Coastguard Worker  * RIL_UNSOL_KEEPALIVE_STATUS
7020*062a843bSAndroid Build Coastguard Worker  *
7021*062a843bSAndroid Build Coastguard Worker  * "data" is NULL
7022*062a843bSAndroid Build Coastguard Worker  * "response" is a const RIL_KeepaliveStatus *
7023*062a843bSAndroid Build Coastguard Worker  */
7024*062a843bSAndroid Build Coastguard Worker #define RIL_UNSOL_KEEPALIVE_STATUS 1050
7025*062a843bSAndroid Build Coastguard Worker 
7026*062a843bSAndroid Build Coastguard Worker /***********************************************************************/
7027*062a843bSAndroid Build Coastguard Worker 
7028*062a843bSAndroid Build Coastguard Worker 
7029*062a843bSAndroid Build Coastguard Worker #if defined(ANDROID_MULTI_SIM)
7030*062a843bSAndroid Build Coastguard Worker /**
7031*062a843bSAndroid Build Coastguard Worker  * RIL_Request Function pointer
7032*062a843bSAndroid Build Coastguard Worker  *
7033*062a843bSAndroid Build Coastguard Worker  * @param request is one of RIL_REQUEST_*
7034*062a843bSAndroid Build Coastguard Worker  * @param data is pointer to data defined for that RIL_REQUEST_*
7035*062a843bSAndroid Build Coastguard Worker  *        data is owned by caller, and should not be modified or freed by callee
7036*062a843bSAndroid Build Coastguard Worker  *        structures passed as data may contain pointers to non-contiguous memory
7037*062a843bSAndroid Build Coastguard Worker  * @param t should be used in subsequent call to RIL_onResponse
7038*062a843bSAndroid Build Coastguard Worker  * @param datalen is the length of "data" which is defined as other argument. It may or may
7039*062a843bSAndroid Build Coastguard Worker  *        not be equal to sizeof(data). Refer to the documentation of individual structures
7040*062a843bSAndroid Build Coastguard Worker  *        to find if pointers listed in the structure are contiguous and counted in the datalen
7041*062a843bSAndroid Build Coastguard Worker  *        length or not.
7042*062a843bSAndroid Build Coastguard Worker  *        (Eg: RIL_IMS_SMS_Message where we don't have datalen equal to sizeof(data))
7043*062a843bSAndroid Build Coastguard Worker  *
7044*062a843bSAndroid Build Coastguard Worker  */
7045*062a843bSAndroid Build Coastguard Worker typedef void (*RIL_RequestFunc) (int request, void *data,
7046*062a843bSAndroid Build Coastguard Worker                                     size_t datalen, RIL_Token t, RIL_SOCKET_ID socket_id);
7047*062a843bSAndroid Build Coastguard Worker 
7048*062a843bSAndroid Build Coastguard Worker /**
7049*062a843bSAndroid Build Coastguard Worker  * This function should return the current radio state synchronously
7050*062a843bSAndroid Build Coastguard Worker  */
7051*062a843bSAndroid Build Coastguard Worker typedef RIL_RadioState (*RIL_RadioStateRequest)(RIL_SOCKET_ID socket_id);
7052*062a843bSAndroid Build Coastguard Worker 
7053*062a843bSAndroid Build Coastguard Worker #else
7054*062a843bSAndroid Build Coastguard Worker /* Backward compatible */
7055*062a843bSAndroid Build Coastguard Worker 
7056*062a843bSAndroid Build Coastguard Worker /**
7057*062a843bSAndroid Build Coastguard Worker  * RIL_Request Function pointer
7058*062a843bSAndroid Build Coastguard Worker  *
7059*062a843bSAndroid Build Coastguard Worker  * @param request is one of RIL_REQUEST_*
7060*062a843bSAndroid Build Coastguard Worker  * @param data is pointer to data defined for that RIL_REQUEST_*
7061*062a843bSAndroid Build Coastguard Worker  *        data is owned by caller, and should not be modified or freed by callee
7062*062a843bSAndroid Build Coastguard Worker  *        structures passed as data may contain pointers to non-contiguous memory
7063*062a843bSAndroid Build Coastguard Worker  * @param t should be used in subsequent call to RIL_onResponse
7064*062a843bSAndroid Build Coastguard Worker  * @param datalen is the length of "data" which is defined as other argument. It may or may
7065*062a843bSAndroid Build Coastguard Worker  *        not be equal to sizeof(data). Refer to the documentation of individual structures
7066*062a843bSAndroid Build Coastguard Worker  *        to find if pointers listed in the structure are contiguous and counted in the datalen
7067*062a843bSAndroid Build Coastguard Worker  *        length or not.
7068*062a843bSAndroid Build Coastguard Worker  *        (Eg: RIL_IMS_SMS_Message where we don't have datalen equal to sizeof(data))
7069*062a843bSAndroid Build Coastguard Worker  *
7070*062a843bSAndroid Build Coastguard Worker  */
7071*062a843bSAndroid Build Coastguard Worker typedef void (*RIL_RequestFunc) (int request, void *data,
7072*062a843bSAndroid Build Coastguard Worker                                     size_t datalen, RIL_Token t);
7073*062a843bSAndroid Build Coastguard Worker 
7074*062a843bSAndroid Build Coastguard Worker /**
7075*062a843bSAndroid Build Coastguard Worker  * This function should return the current radio state synchronously
7076*062a843bSAndroid Build Coastguard Worker  */
7077*062a843bSAndroid Build Coastguard Worker typedef RIL_RadioState (*RIL_RadioStateRequest)();
7078*062a843bSAndroid Build Coastguard Worker 
7079*062a843bSAndroid Build Coastguard Worker #endif
7080*062a843bSAndroid Build Coastguard Worker 
7081*062a843bSAndroid Build Coastguard Worker 
7082*062a843bSAndroid Build Coastguard Worker /**
7083*062a843bSAndroid Build Coastguard Worker  * This function returns "1" if the specified RIL_REQUEST code is
7084*062a843bSAndroid Build Coastguard Worker  * supported and 0 if it is not
7085*062a843bSAndroid Build Coastguard Worker  *
7086*062a843bSAndroid Build Coastguard Worker  * @param requestCode is one of RIL_REQUEST codes
7087*062a843bSAndroid Build Coastguard Worker  */
7088*062a843bSAndroid Build Coastguard Worker 
7089*062a843bSAndroid Build Coastguard Worker typedef int (*RIL_Supports)(int requestCode);
7090*062a843bSAndroid Build Coastguard Worker 
7091*062a843bSAndroid Build Coastguard Worker /**
7092*062a843bSAndroid Build Coastguard Worker  * This function is called from a separate thread--not the
7093*062a843bSAndroid Build Coastguard Worker  * thread that calls RIL_RequestFunc--and indicates that a pending
7094*062a843bSAndroid Build Coastguard Worker  * request should be cancelled.
7095*062a843bSAndroid Build Coastguard Worker  *
7096*062a843bSAndroid Build Coastguard Worker  * On cancel, the callee should do its best to abandon the request and
7097*062a843bSAndroid Build Coastguard Worker  * call RIL_onRequestComplete with RIL_Errno CANCELLED at some later point.
7098*062a843bSAndroid Build Coastguard Worker  *
7099*062a843bSAndroid Build Coastguard Worker  * Subsequent calls to  RIL_onRequestComplete for this request with
7100*062a843bSAndroid Build Coastguard Worker  * other results will be tolerated but ignored. (That is, it is valid
7101*062a843bSAndroid Build Coastguard Worker  * to ignore the cancellation request)
7102*062a843bSAndroid Build Coastguard Worker  *
7103*062a843bSAndroid Build Coastguard Worker  * RIL_Cancel calls should return immediately, and not wait for cancellation
7104*062a843bSAndroid Build Coastguard Worker  *
7105*062a843bSAndroid Build Coastguard Worker  * Please see ITU v.250 5.6.1 for how one might implement this on a TS 27.007
7106*062a843bSAndroid Build Coastguard Worker  * interface
7107*062a843bSAndroid Build Coastguard Worker  *
7108*062a843bSAndroid Build Coastguard Worker  * @param t token wants to be canceled
7109*062a843bSAndroid Build Coastguard Worker  */
7110*062a843bSAndroid Build Coastguard Worker 
7111*062a843bSAndroid Build Coastguard Worker typedef void (*RIL_Cancel)(RIL_Token t);
7112*062a843bSAndroid Build Coastguard Worker 
7113*062a843bSAndroid Build Coastguard Worker typedef void (*RIL_TimedCallback) (void *param);
7114*062a843bSAndroid Build Coastguard Worker 
7115*062a843bSAndroid Build Coastguard Worker /**
7116*062a843bSAndroid Build Coastguard Worker  * Return a version string for your RIL implementation
7117*062a843bSAndroid Build Coastguard Worker  */
7118*062a843bSAndroid Build Coastguard Worker typedef const char * (*RIL_GetVersion) (void);
7119*062a843bSAndroid Build Coastguard Worker 
7120*062a843bSAndroid Build Coastguard Worker typedef struct {
7121*062a843bSAndroid Build Coastguard Worker     int version;        /* set to RIL_VERSION */
7122*062a843bSAndroid Build Coastguard Worker     RIL_RequestFunc onRequest;
7123*062a843bSAndroid Build Coastguard Worker     RIL_RadioStateRequest onStateRequest;
7124*062a843bSAndroid Build Coastguard Worker     RIL_Supports supports;
7125*062a843bSAndroid Build Coastguard Worker     RIL_Cancel onCancel;
7126*062a843bSAndroid Build Coastguard Worker     RIL_GetVersion getVersion;
7127*062a843bSAndroid Build Coastguard Worker } RIL_RadioFunctions;
7128*062a843bSAndroid Build Coastguard Worker 
7129*062a843bSAndroid Build Coastguard Worker typedef struct {
7130*062a843bSAndroid Build Coastguard Worker     char *apn;                  /* the APN to connect to */
7131*062a843bSAndroid Build Coastguard Worker     char *protocol;             /* one of the PDP_type values in TS 27.007 section 10.1.1 used on
7132*062a843bSAndroid Build Coastguard Worker                                    roaming network. For example, "IP", "IPV6", "IPV4V6", or "PPP".*/
7133*062a843bSAndroid Build Coastguard Worker     int authtype;               /* authentication protocol used for this PDP context
7134*062a843bSAndroid Build Coastguard Worker                                    (None: 0, PAP: 1, CHAP: 2, PAP&CHAP: 3) */
7135*062a843bSAndroid Build Coastguard Worker     char *username;             /* the username for APN, or NULL */
7136*062a843bSAndroid Build Coastguard Worker     char *password;             /* the password for APN, or NULL */
7137*062a843bSAndroid Build Coastguard Worker } RIL_InitialAttachApn;
7138*062a843bSAndroid Build Coastguard Worker 
7139*062a843bSAndroid Build Coastguard Worker typedef struct {
7140*062a843bSAndroid Build Coastguard Worker     char *apn;                  /* the APN to connect to */
7141*062a843bSAndroid Build Coastguard Worker     char *protocol;             /* one of the PDP_type values in TS 27.007 section 10.1.1 used on
7142*062a843bSAndroid Build Coastguard Worker                                    home network. For example, "IP", "IPV6", "IPV4V6", or "PPP". */
7143*062a843bSAndroid Build Coastguard Worker     char *roamingProtocol;      /* one of the PDP_type values in TS 27.007 section 10.1.1 used on
7144*062a843bSAndroid Build Coastguard Worker                                    roaming network. For example, "IP", "IPV6", "IPV4V6", or "PPP".*/
7145*062a843bSAndroid Build Coastguard Worker     int authtype;               /* authentication protocol used for this PDP context
7146*062a843bSAndroid Build Coastguard Worker                                    (None: 0, PAP: 1, CHAP: 2, PAP&CHAP: 3) */
7147*062a843bSAndroid Build Coastguard Worker     char *username;             /* the username for APN, or NULL */
7148*062a843bSAndroid Build Coastguard Worker     char *password;             /* the password for APN, or NULL */
7149*062a843bSAndroid Build Coastguard Worker     int supportedTypesBitmask;  /* supported APN types bitmask. See RIL_ApnTypes for the value of
7150*062a843bSAndroid Build Coastguard Worker                                    each bit. */
7151*062a843bSAndroid Build Coastguard Worker     int bearerBitmask;          /* the bearer bitmask. See RIL_RadioAccessFamily for the value of
7152*062a843bSAndroid Build Coastguard Worker                                    each bit. */
7153*062a843bSAndroid Build Coastguard Worker     int modemCognitive;         /* indicating the APN setting was sent to the modem through
7154*062a843bSAndroid Build Coastguard Worker                                    setDataProfile earlier. */
7155*062a843bSAndroid Build Coastguard Worker     int mtu;                    /* maximum transmission unit (MTU) size in bytes */
7156*062a843bSAndroid Build Coastguard Worker     char *mvnoType;             /* the MVNO type: possible values are "imsi", "gid", "spn" */
7157*062a843bSAndroid Build Coastguard Worker     char *mvnoMatchData;        /* MVNO match data. Can be anything defined by the carrier.
7158*062a843bSAndroid Build Coastguard Worker                                    For example,
7159*062a843bSAndroid Build Coastguard Worker                                      SPN like: "A MOBILE", "BEN NL", etc...
7160*062a843bSAndroid Build Coastguard Worker                                      IMSI like: "302720x94", "2060188", etc...
7161*062a843bSAndroid Build Coastguard Worker                                      GID like: "4E", "33", etc... */
7162*062a843bSAndroid Build Coastguard Worker } RIL_InitialAttachApn_v15;
7163*062a843bSAndroid Build Coastguard Worker 
7164*062a843bSAndroid Build Coastguard Worker typedef struct {
7165*062a843bSAndroid Build Coastguard Worker     int authContext;            /* P2 value of authentication command, see P2 parameter in
7166*062a843bSAndroid Build Coastguard Worker                                    3GPP TS 31.102 7.1.2 */
7167*062a843bSAndroid Build Coastguard Worker     char *authData;             /* the challenge string in Base64 format, see 3GPP
7168*062a843bSAndroid Build Coastguard Worker                                    TS 31.102 7.1.2 */
7169*062a843bSAndroid Build Coastguard Worker     char *aid;                  /* AID value, See ETSI 102.221 8.1 and 101.220 4,
7170*062a843bSAndroid Build Coastguard Worker                                    NULL if no value. */
7171*062a843bSAndroid Build Coastguard Worker } RIL_SimAuthentication;
7172*062a843bSAndroid Build Coastguard Worker 
7173*062a843bSAndroid Build Coastguard Worker typedef struct {
7174*062a843bSAndroid Build Coastguard Worker     int cid;                    /* Context ID, uniquely identifies this call */
7175*062a843bSAndroid Build Coastguard Worker     char *bearer_proto;         /* One of the PDP_type values in TS 27.007 section 10.1.1.
7176*062a843bSAndroid Build Coastguard Worker                                    For example, "IP", "IPV6", "IPV4V6". */
7177*062a843bSAndroid Build Coastguard Worker     int pco_id;                 /* The protocol ID for this box.  Note that only IDs from
7178*062a843bSAndroid Build Coastguard Worker                                    FF00H - FFFFH are accepted.  If more than one is included
7179*062a843bSAndroid Build Coastguard Worker                                    from the network, multiple calls should be made to send all
7180*062a843bSAndroid Build Coastguard Worker                                    of them. */
7181*062a843bSAndroid Build Coastguard Worker     int contents_length;        /* The number of octets in the contents. */
7182*062a843bSAndroid Build Coastguard Worker     char *contents;             /* Carrier-defined content.  It is binary, opaque and
7183*062a843bSAndroid Build Coastguard Worker                                    loosely defined in LTE Layer 3 spec 24.008 */
7184*062a843bSAndroid Build Coastguard Worker } RIL_PCO_Data;
7185*062a843bSAndroid Build Coastguard Worker 
7186*062a843bSAndroid Build Coastguard Worker typedef enum {
7187*062a843bSAndroid Build Coastguard Worker     NATT_IPV4 = 0,              /* Keepalive specified by RFC 3948 Sec. 2.3 using IPv4 */
7188*062a843bSAndroid Build Coastguard Worker     NATT_IPV6 = 1               /* Keepalive specified by RFC 3948 Sec. 2.3 using IPv6 */
7189*062a843bSAndroid Build Coastguard Worker } RIL_KeepaliveType;
7190*062a843bSAndroid Build Coastguard Worker 
7191*062a843bSAndroid Build Coastguard Worker #define MAX_INADDR_LEN 16
7192*062a843bSAndroid Build Coastguard Worker typedef struct {
7193*062a843bSAndroid Build Coastguard Worker     RIL_KeepaliveType type;                  /* Type of keepalive packet */
7194*062a843bSAndroid Build Coastguard Worker     char sourceAddress[MAX_INADDR_LEN];      /* Source address in network-byte order */
7195*062a843bSAndroid Build Coastguard Worker     int sourcePort;                          /* Source port if applicable, or 0x7FFFFFFF;
7196*062a843bSAndroid Build Coastguard Worker                                                 the maximum value is 65535 */
7197*062a843bSAndroid Build Coastguard Worker     char destinationAddress[MAX_INADDR_LEN]; /* Destination address in network-byte order */
7198*062a843bSAndroid Build Coastguard Worker     int destinationPort;                     /* Destination port if applicable or 0x7FFFFFFF;
7199*062a843bSAndroid Build Coastguard Worker                                                 the maximum value is 65535 */
7200*062a843bSAndroid Build Coastguard Worker     int maxKeepaliveIntervalMillis;          /* Maximum milliseconds between two packets */
7201*062a843bSAndroid Build Coastguard Worker     int cid;                                 /* Context ID, uniquely identifies this call */
7202*062a843bSAndroid Build Coastguard Worker } RIL_KeepaliveRequest;
7203*062a843bSAndroid Build Coastguard Worker 
7204*062a843bSAndroid Build Coastguard Worker typedef enum {
7205*062a843bSAndroid Build Coastguard Worker     KEEPALIVE_ACTIVE,                       /* Keepalive session is active */
7206*062a843bSAndroid Build Coastguard Worker     KEEPALIVE_INACTIVE,                     /* Keepalive session is inactive */
7207*062a843bSAndroid Build Coastguard Worker     KEEPALIVE_PENDING                       /* Keepalive session status not available */
7208*062a843bSAndroid Build Coastguard Worker } RIL_KeepaliveStatusCode;
7209*062a843bSAndroid Build Coastguard Worker 
7210*062a843bSAndroid Build Coastguard Worker typedef struct {
7211*062a843bSAndroid Build Coastguard Worker     uint32_t sessionHandle;
7212*062a843bSAndroid Build Coastguard Worker     RIL_KeepaliveStatusCode code;
7213*062a843bSAndroid Build Coastguard Worker } RIL_KeepaliveStatus;
7214*062a843bSAndroid Build Coastguard Worker 
7215*062a843bSAndroid Build Coastguard Worker #ifdef RIL_SHLIB
7216*062a843bSAndroid Build Coastguard Worker struct RIL_Env {
7217*062a843bSAndroid Build Coastguard Worker     /**
7218*062a843bSAndroid Build Coastguard Worker      * "t" is parameter passed in on previous call to RIL_Notification
7219*062a843bSAndroid Build Coastguard Worker      * routine.
7220*062a843bSAndroid Build Coastguard Worker      *
7221*062a843bSAndroid Build Coastguard Worker      * If "e" != SUCCESS, then response can be null/is ignored
7222*062a843bSAndroid Build Coastguard Worker      *
7223*062a843bSAndroid Build Coastguard Worker      * "response" is owned by caller, and should not be modified or
7224*062a843bSAndroid Build Coastguard Worker      * freed by callee
7225*062a843bSAndroid Build Coastguard Worker      *
7226*062a843bSAndroid Build Coastguard Worker      * RIL_onRequestComplete will return as soon as possible
7227*062a843bSAndroid Build Coastguard Worker      */
7228*062a843bSAndroid Build Coastguard Worker     void (*OnRequestComplete)(RIL_Token t, RIL_Errno e,
7229*062a843bSAndroid Build Coastguard Worker                            void *response, size_t responselen);
7230*062a843bSAndroid Build Coastguard Worker 
7231*062a843bSAndroid Build Coastguard Worker #if defined(ANDROID_MULTI_SIM)
7232*062a843bSAndroid Build Coastguard Worker     /**
7233*062a843bSAndroid Build Coastguard Worker      * "unsolResponse" is one of RIL_UNSOL_RESPONSE_*
7234*062a843bSAndroid Build Coastguard Worker      * "data" is pointer to data defined for that RIL_UNSOL_RESPONSE_*
7235*062a843bSAndroid Build Coastguard Worker      *
7236*062a843bSAndroid Build Coastguard Worker      * "data" is owned by caller, and should not be modified or freed by callee
7237*062a843bSAndroid Build Coastguard Worker      */
7238*062a843bSAndroid Build Coastguard Worker     void (*OnUnsolicitedResponse)(int unsolResponse, const void *data, size_t datalen, RIL_SOCKET_ID socket_id);
7239*062a843bSAndroid Build Coastguard Worker #else
7240*062a843bSAndroid Build Coastguard Worker     /**
7241*062a843bSAndroid Build Coastguard Worker      * "unsolResponse" is one of RIL_UNSOL_RESPONSE_*
7242*062a843bSAndroid Build Coastguard Worker      * "data" is pointer to data defined for that RIL_UNSOL_RESPONSE_*
7243*062a843bSAndroid Build Coastguard Worker      *
7244*062a843bSAndroid Build Coastguard Worker      * "data" is owned by caller, and should not be modified or freed by callee
7245*062a843bSAndroid Build Coastguard Worker      */
7246*062a843bSAndroid Build Coastguard Worker     void (*OnUnsolicitedResponse)(int unsolResponse, const void *data, size_t datalen);
7247*062a843bSAndroid Build Coastguard Worker #endif
7248*062a843bSAndroid Build Coastguard Worker     /**
7249*062a843bSAndroid Build Coastguard Worker      * Call user-specifed "callback" function on on the same thread that
7250*062a843bSAndroid Build Coastguard Worker      * RIL_RequestFunc is called. If "relativeTime" is specified, then it specifies
7251*062a843bSAndroid Build Coastguard Worker      * a relative time value at which the callback is invoked. If relativeTime is
7252*062a843bSAndroid Build Coastguard Worker      * NULL or points to a 0-filled structure, the callback will be invoked as
7253*062a843bSAndroid Build Coastguard Worker      * soon as possible
7254*062a843bSAndroid Build Coastguard Worker      */
7255*062a843bSAndroid Build Coastguard Worker 
7256*062a843bSAndroid Build Coastguard Worker     void (*RequestTimedCallback) (RIL_TimedCallback callback,
7257*062a843bSAndroid Build Coastguard Worker                                    void *param, const struct timeval *relativeTime);
7258*062a843bSAndroid Build Coastguard Worker    /**
7259*062a843bSAndroid Build Coastguard Worker     * "t" is parameter passed in on previous call RIL_Notification routine
7260*062a843bSAndroid Build Coastguard Worker     *
7261*062a843bSAndroid Build Coastguard Worker     * RIL_onRequestAck will be called by vendor when an Async RIL request was received
7262*062a843bSAndroid Build Coastguard Worker     * by them and an ack needs to be sent back to java ril.
7263*062a843bSAndroid Build Coastguard Worker     */
7264*062a843bSAndroid Build Coastguard Worker     void (*OnRequestAck) (RIL_Token t);
7265*062a843bSAndroid Build Coastguard Worker };
7266*062a843bSAndroid Build Coastguard Worker 
7267*062a843bSAndroid Build Coastguard Worker 
7268*062a843bSAndroid Build Coastguard Worker /**
7269*062a843bSAndroid Build Coastguard Worker  *  RIL implementations must defined RIL_Init
7270*062a843bSAndroid Build Coastguard Worker  *  argc and argv will be command line arguments intended for the RIL implementation
7271*062a843bSAndroid Build Coastguard Worker  *  Return NULL on error
7272*062a843bSAndroid Build Coastguard Worker  *
7273*062a843bSAndroid Build Coastguard Worker  * @param env is environment point defined as RIL_Env
7274*062a843bSAndroid Build Coastguard Worker  * @param argc number of arguments
7275*062a843bSAndroid Build Coastguard Worker  * @param argv list fo arguments
7276*062a843bSAndroid Build Coastguard Worker  *
7277*062a843bSAndroid Build Coastguard Worker  */
7278*062a843bSAndroid Build Coastguard Worker const RIL_RadioFunctions *RIL_Init(const struct RIL_Env *env, int argc, char **argv);
7279*062a843bSAndroid Build Coastguard Worker 
7280*062a843bSAndroid Build Coastguard Worker /**
7281*062a843bSAndroid Build Coastguard Worker  *  If BT SAP(SIM Access Profile) is supported, then RIL implementations must define RIL_SAP_Init
7282*062a843bSAndroid Build Coastguard Worker  *  for initializing RIL_RadioFunctions used for BT SAP communcations. It is called whenever RILD
7283*062a843bSAndroid Build Coastguard Worker  *  starts or modem restarts. Returns handlers for SAP related request that are made on SAP
7284*062a843bSAndroid Build Coastguard Worker  *  sepecific socket, analogous to the RIL_RadioFunctions returned by the call to RIL_Init
7285*062a843bSAndroid Build Coastguard Worker  *  and used on the general RIL socket.
7286*062a843bSAndroid Build Coastguard Worker  *  argc and argv will be command line arguments intended for the RIL implementation
7287*062a843bSAndroid Build Coastguard Worker  *  Return NULL on error.
7288*062a843bSAndroid Build Coastguard Worker  *
7289*062a843bSAndroid Build Coastguard Worker  * @param env is environment point defined as RIL_Env
7290*062a843bSAndroid Build Coastguard Worker  * @param argc number of arguments
7291*062a843bSAndroid Build Coastguard Worker  * @param argv list fo arguments
7292*062a843bSAndroid Build Coastguard Worker  *
7293*062a843bSAndroid Build Coastguard Worker  */
7294*062a843bSAndroid Build Coastguard Worker const RIL_RadioFunctions *RIL_SAP_Init(const struct RIL_Env *env, int argc, char **argv);
7295*062a843bSAndroid Build Coastguard Worker 
7296*062a843bSAndroid Build Coastguard Worker #else /* RIL_SHLIB */
7297*062a843bSAndroid Build Coastguard Worker 
7298*062a843bSAndroid Build Coastguard Worker /**
7299*062a843bSAndroid Build Coastguard Worker  * Call this once at startup to register notification routine
7300*062a843bSAndroid Build Coastguard Worker  *
7301*062a843bSAndroid Build Coastguard Worker  * @param callbacks user-specifed callback function
7302*062a843bSAndroid Build Coastguard Worker  */
7303*062a843bSAndroid Build Coastguard Worker void RIL_register (const RIL_RadioFunctions *callbacks);
7304*062a843bSAndroid Build Coastguard Worker 
7305*062a843bSAndroid Build Coastguard Worker void rilc_thread_pool();
7306*062a843bSAndroid Build Coastguard Worker 
7307*062a843bSAndroid Build Coastguard Worker 
7308*062a843bSAndroid Build Coastguard Worker /**
7309*062a843bSAndroid Build Coastguard Worker  *
7310*062a843bSAndroid Build Coastguard Worker  * RIL_onRequestComplete will return as soon as possible
7311*062a843bSAndroid Build Coastguard Worker  *
7312*062a843bSAndroid Build Coastguard Worker  * @param t is parameter passed in on previous call to RIL_Notification
7313*062a843bSAndroid Build Coastguard Worker  *          routine.
7314*062a843bSAndroid Build Coastguard Worker  * @param e error code
7315*062a843bSAndroid Build Coastguard Worker  *          if "e" != SUCCESS, then response can be null/is ignored
7316*062a843bSAndroid Build Coastguard Worker  * @param response is owned by caller, and should not be modified or
7317*062a843bSAndroid Build Coastguard Worker  *                 freed by callee
7318*062a843bSAndroid Build Coastguard Worker  * @param responselen the length of response in byte
7319*062a843bSAndroid Build Coastguard Worker  */
7320*062a843bSAndroid Build Coastguard Worker void RIL_onRequestComplete(RIL_Token t, RIL_Errno e,
7321*062a843bSAndroid Build Coastguard Worker                            void *response, size_t responselen);
7322*062a843bSAndroid Build Coastguard Worker 
7323*062a843bSAndroid Build Coastguard Worker /**
7324*062a843bSAndroid Build Coastguard Worker  * RIL_onRequestAck will be called by vendor when an Async RIL request was received by them and
7325*062a843bSAndroid Build Coastguard Worker  * an ack needs to be sent back to java ril. This doesn't mark the end of the command or it's
7326*062a843bSAndroid Build Coastguard Worker  * results, just that the command was received and will take a while. After sending this Ack
7327*062a843bSAndroid Build Coastguard Worker  * its vendor's responsibility to make sure that AP is up whenever needed while command is
7328*062a843bSAndroid Build Coastguard Worker  * being processed.
7329*062a843bSAndroid Build Coastguard Worker  *
7330*062a843bSAndroid Build Coastguard Worker  * @param t is parameter passed in on previous call to RIL_Notification
7331*062a843bSAndroid Build Coastguard Worker  *          routine.
7332*062a843bSAndroid Build Coastguard Worker  */
7333*062a843bSAndroid Build Coastguard Worker void RIL_onRequestAck(RIL_Token t);
7334*062a843bSAndroid Build Coastguard Worker 
7335*062a843bSAndroid Build Coastguard Worker #if defined(ANDROID_MULTI_SIM)
7336*062a843bSAndroid Build Coastguard Worker /**
7337*062a843bSAndroid Build Coastguard Worker  * @param unsolResponse is one of RIL_UNSOL_RESPONSE_*
7338*062a843bSAndroid Build Coastguard Worker  * @param data is pointer to data defined for that RIL_UNSOL_RESPONSE_*
7339*062a843bSAndroid Build Coastguard Worker  *     "data" is owned by caller, and should not be modified or freed by callee
7340*062a843bSAndroid Build Coastguard Worker  * @param datalen the length of data in byte
7341*062a843bSAndroid Build Coastguard Worker  */
7342*062a843bSAndroid Build Coastguard Worker 
7343*062a843bSAndroid Build Coastguard Worker void RIL_onUnsolicitedResponse(int unsolResponse, const void *data,
7344*062a843bSAndroid Build Coastguard Worker                                 size_t datalen, RIL_SOCKET_ID socket_id);
7345*062a843bSAndroid Build Coastguard Worker #else
7346*062a843bSAndroid Build Coastguard Worker /**
7347*062a843bSAndroid Build Coastguard Worker  * @param unsolResponse is one of RIL_UNSOL_RESPONSE_*
7348*062a843bSAndroid Build Coastguard Worker  * @param data is pointer to data defined for that RIL_UNSOL_RESPONSE_*
7349*062a843bSAndroid Build Coastguard Worker  *     "data" is owned by caller, and should not be modified or freed by callee
7350*062a843bSAndroid Build Coastguard Worker  * @param datalen the length of data in byte
7351*062a843bSAndroid Build Coastguard Worker  */
7352*062a843bSAndroid Build Coastguard Worker 
7353*062a843bSAndroid Build Coastguard Worker void RIL_onUnsolicitedResponse(int unsolResponse, const void *data,
7354*062a843bSAndroid Build Coastguard Worker                                 size_t datalen);
7355*062a843bSAndroid Build Coastguard Worker #endif
7356*062a843bSAndroid Build Coastguard Worker 
7357*062a843bSAndroid Build Coastguard Worker /**
7358*062a843bSAndroid Build Coastguard Worker  * Call user-specifed "callback" function on on the same thread that
7359*062a843bSAndroid Build Coastguard Worker  * RIL_RequestFunc is called. If "relativeTime" is specified, then it specifies
7360*062a843bSAndroid Build Coastguard Worker  * a relative time value at which the callback is invoked. If relativeTime is
7361*062a843bSAndroid Build Coastguard Worker  * NULL or points to a 0-filled structure, the callback will be invoked as
7362*062a843bSAndroid Build Coastguard Worker  * soon as possible
7363*062a843bSAndroid Build Coastguard Worker  *
7364*062a843bSAndroid Build Coastguard Worker  * @param callback user-specifed callback function
7365*062a843bSAndroid Build Coastguard Worker  * @param param parameter list
7366*062a843bSAndroid Build Coastguard Worker  * @param relativeTime a relative time value at which the callback is invoked
7367*062a843bSAndroid Build Coastguard Worker  */
7368*062a843bSAndroid Build Coastguard Worker 
7369*062a843bSAndroid Build Coastguard Worker void RIL_requestTimedCallback (RIL_TimedCallback callback,
7370*062a843bSAndroid Build Coastguard Worker                                void *param, const struct timeval *relativeTime);
7371*062a843bSAndroid Build Coastguard Worker 
7372*062a843bSAndroid Build Coastguard Worker #endif /* RIL_SHLIB */
7373*062a843bSAndroid Build Coastguard Worker 
7374*062a843bSAndroid Build Coastguard Worker #ifdef __cplusplus
7375*062a843bSAndroid Build Coastguard Worker }
7376*062a843bSAndroid Build Coastguard Worker #endif
7377*062a843bSAndroid Build Coastguard Worker 
7378*062a843bSAndroid Build Coastguard Worker #endif /*ANDROID_RIL_H*/
7379