summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorWink Saville <wink@google.com>2011-02-18 10:14:07 -0800
committerWink Saville <wink@google.com>2011-02-18 10:14:07 -0800
commitc0114b325877907fcdf7a5baa24e54a752e7e58b (patch)
tree60bb5c8ddc9a855db37cf576c179a13b6316bd8b /include
parentfce03232dffed9b84b9ee549988727692e4a4233 (diff)
downloadandroid_hardware_ril-c0114b325877907fcdf7a5baa24e54a752e7e58b.tar.gz
android_hardware_ril-c0114b325877907fcdf7a5baa24e54a752e7e58b.tar.bz2
android_hardware_ril-c0114b325877907fcdf7a5baa24e54a752e7e58b.zip
Changes for ril.h version 6.
- Changes to support LTE and EHRPD radio technology - Support IPv6 in addition to IPv4 on the modems - Detailed GPRS registration denied causes - Access to multiple apps on UICC card - Access to ISIM app on UICC - Deprecate RIL_REQUEST_LAST_DATA_CALL_FAIL_CAUSE as it can causes problems when several PDN contexts are active. Failure reason should be returned when setup_data_call returns - Added RIL_RadioTechnology - Added RIL_PreferredNetworkType - Added RIL_CdmaSubscriptionSource - Added RIL_LTE_SignalStrength - Added AID to SIM requests as an optional parameter - Add new error codes for returning disconnect reasons - RIL_Data_Call_Response_v3/v5 Added fields to support IPv6 and return status as it will now be returned as part of RIL_REQUEST_SETUP_DATA_CALL - Rename RIL_REQUEST_REGISTRATION_STATE to RIL_REQUEST_VOICE_REGISTRATION_STATE response[3] return RIL_RadioTechnology for voice calls response[13] more error codes - Rename RIL_REQUEST_GPRS_REGISTRATION_STATE to RIL_REQUEST_DATA_REGISTRATION_STATE Changed response[3] to be RIL_RadioTechnology for data calls Added response[4] error codes for registration being denied Added response[5] Max simultaneous data calls - RIL_REQUEST_SETUP_DATA_CALL Changed data[0] to be RIL_RadioTechnology Response is now a RIL_Data_Call_Response_v5 - RIL_REQUEST_DATA_CALL_LIST Response is now a RIL_Data_Call_Response_v5 - RIL_UNSOL_DATA_CALL_LIST_CHANGED Response is now a RIL_Data_Call_Response_v5 - RIL_REQUEST_SET_PREFERRED_NETWORK_TYPE Changed data[0] to be RIL_PreferredNetworkType - RIL_REQUEST_GET_PREFERRED_NETWORK_TYPE Changed response[0] to be RIL_PreferredNetworkType - Rename RIL_REQUEST_SET_CDMA_SUBSCRIPTION to RIL_REQUEST_SET_CDMA_SUBSCRIPTION_SOURCE - Added RIL_REQUEST_GET_CDMA_SUBSCRIPTION_SOURCE - Added support for AID to RIL_UNSOL_SIM_REFRESH - Added RIL_UNSOL_CDMA_SUBSCRIPTION_SOURCE_CHANGED - Added RIL_UNSOL_PRL_CHANGED - Added RIL_UNSOL_EXIT_EMERGENCY_CALLBACK_MODE - Rename RIL_UNSOL_RESPONSE_NETWORK_CHANGED to RIL_UNSOL_RESPONSE_VOICE_NETWORK_CHANGED Have refercence-ril and mock-ril use a private copy of ril.h so the ril may evolve separately from them. Change-Id: I1b952069f5406f5dc42480d019970d10f0120358
Diffstat (limited to 'include')
-rw-r--r--include/telephony/ril.h326
1 files changed, 242 insertions, 84 deletions
diff --git a/include/telephony/ril.h b/include/telephony/ril.h
index 7ede182..f06089b 100644
--- a/include/telephony/ril.h
+++ b/include/telephony/ril.h
@@ -14,20 +14,6 @@
* limitations under the License.
*/
- /* ISSUES:
- * - SMS retransmit (specifying TP-Message-ID)
- *
- */
-
-/**
- * TODO
- *
- * Supp Service Notification (+CSSN)
- * GPRS PDP context deactivate notification
- *
- */
-
-
#ifndef ANDROID_RIL_H
#define ANDROID_RIL_H 1
@@ -40,7 +26,7 @@
extern "C" {
#endif
-#define RIL_VERSION 5 /* Current version */
+#define RIL_VERSION 6 /* Current version */
#define RIL_VERSION_MIN 2 /* Minimum RIL_VERSION supported */
#define CDMA_ALPHA_INFO_BUFFER_LENGTH 64
@@ -116,6 +102,29 @@ typedef enum {
RADIO_TECH_HSPAP = 15 // HSPA+
} RIL_RadioTechnology;
+// Do we want to split Data from Voice and the use
+// RIL_RadioTechnology for get/setPreferredVoice/Data ?
+typedef enum {
+ PREF_NET_TYPE_GSM_WCDMA = 0, /* GSM/WCDMA (WCDMA preferred) */
+ PREF_NET_TYPE_GSM_ONLY = 1, /* GSM only */
+ PREF_NET_TYPE_WCDMA = 2, /* WCDMA */
+ PREF_NET_TYPE_GSM_WCDMA_AUTO = 3, /* GSM/WCDMA (auto mode, according to PRL) */
+ PREF_NET_TYPE_CDMA_EVDO_AUTO = 4, /* CDMA and EvDo (auto mode, according to PRL) */
+ PREF_NET_TYPE_CDMA_ONLY = 5, /* CDMA only */
+ PREF_NET_TYPE_EVDO_ONLY = 6, /* EvDo only */
+ PREF_NET_TYPE_GSM_WCDMA_CDMA_EVDO_AUTO = 7, /* GSM/WCDMA, CDMA, and EvDo (auto mode, according to PRL) */
+ PREF_NET_TYPE_LTE_CDMA_EVDO = 8, /* LTE, CDMA and EvDo */
+ PREF_NET_TYPE_LTE_GSM_WCDMA = 9, /* LTE, GSM/WCDMA */
+ PREF_NET_TYPE_LTE_CMDA_EVDO_GSM_WCDMA = 10, /* LTE, CDMA, EvDo, GSM/WCDMA */
+ PREF_NET_TYPE_LTE_ONLY = 11 /* LTE only */
+} RIL_PreferredNetworkType;
+
+/* Source for cdma subscription */
+typedef enum {
+ CDMA_SUBSCRIPTION_SOURCE_RUIM_SIM = 0,
+ CDMA_SUBSCRIPTION_SOURCE_NV = 1
+} RIL_CdmaSubscriptionSource;
+
/* User-to-User signaling Info activation types derived from 3GPP 23.087 v8.0 */
typedef enum {
RIL_UUS_TYPE1_IMPLICIT = 0,
@@ -174,16 +183,15 @@ typedef struct {
RIL_UUS_Info * uusInfo; /* NULL or Pointer to User-User Signaling Information */
} RIL_Call;
-/* Deprecated, use RIL_Data_Call_Response_v5 */
+/* Deprecated, use RIL_Data_Call_Response_v6 */
typedef struct {
int cid; /* Context ID, uniquely identifies this call */
int active; /* 0=inactive, 1=active/physical link down, 2=active/physical link up */
char * type; /* One of the PDP_type values in TS 27.007 section 10.1.1.
For example, "IP", "IPV6", "IPV4V6", or "PPP". */
char * apn; /* ignored */
- char * address; /* A space-delimited list of addresses, e.g., "192.0.1.3" or
- "192.0.1.11 2001:db8::1". */
-} RIL_Data_Call_Response_v3;
+ char * address; /* An address, e.g., "192.0.1.3" or "2001:db8::1". */
+} RIL_Data_Call_Response_v4;
/*
* Returned by RIL_REQUEST_SETUP_DATA_CALL, RIL_REQUEST_DATA_CALL_LIST
@@ -198,14 +206,20 @@ typedef struct {
PDP_FAIL_ONLY_SINGLE_BEARER_ALLOWED this is the type supported
such as "IP" or "IPV6" */
char * ifname; /* The network interface name */
- char * addresses; /* A space-delimited list of addresses,
- e.g., "192.0.1.3" or "192.0.1.11 2001:db8::1".
+ char * addresses; /* A space-delimited list of addresses with optional "/" prefix length,
+ e.g., "192.0.1.3" or "192.0.1.11/16 2001:db8::1/64".
May not be empty, typically 1 IPv4 or 1 IPv6 or
- one of each. */
+ one of each. If the prefix length is absent the addresses
+ are assumed to be point to point with IPv4 having a prefix
+ length of 32 and IPv6 128. */
char * dnses; /* A space-delimited list of DNS server addresses,
e.g., "192.0.1.3" or "192.0.1.11 2001:db8::1".
May be empty. */
-} RIL_Data_Call_Response_v5;
+ char * gateways; /* A space-delimited list of default gateway addresses,
+ e.g., "192.0.1.3" or "192.0.1.11 2001:db8::1".
+ May be empty in which case the addresses represent point
+ to point connections. */
+} RIL_Data_Call_Response_v6;
typedef struct {
int messageRef; /* TP-Message-Reference for GSM,
@@ -254,7 +268,22 @@ typedef struct {
int p3;
char *data; /* May be NULL*/
char *pin2; /* May be NULL*/
-} RIL_SIM_IO;
+} RIL_SIM_IO_v5;
+
+typedef struct {
+ int command; /* one of the commands listed for TS 27.007 +CRSM*/
+ int fileid; /* EF id */
+ char *path; /* "pathid" from TS 27.007 +CRSM command.
+ Path is in hex asciii format eg "7f205f70"
+ Path must always be provided.
+ */
+ int p1;
+ int p2;
+ int p3;
+ char *data; /* May be NULL*/
+ char *pin2; /* May be NULL*/
+ char *aidPtr; /* AID value, See ETSI 102.221 8.1 and 101.220 4, NULL if no value. */
+} RIL_SIM_IO_v6;
typedef struct {
int sw1;
@@ -353,11 +382,11 @@ typedef enum {
PDP_FAIL_PROTOCOL_ERRORS = 0x6F, /* no retry */
/* Not mentioned in the specification */
- PDP_FAIL_REGISTRATION_FAIL = -1,
- PDP_FAIL_GPRS_REGISTRATION_FAIL = -2,
+ PDP_FAIL_VOICE_REGISTRATION_FAIL = -1,
+ PDP_FAIL_DATA_REGISTRATION_FAIL = -2,
/* reasons for data call drop - network/modem disconnect */
- PDP_FAIL_SIGNAL_LOST = -3, /* should retry */
+ PDP_FAIL_SIGNAL_LOST = -3, /* no retry */
PDP_FAIL_PREF_RADIO_TECH_CHANGED = -4,/* preferred technology has changed, should retry
with parameters appropriate for new technology */
PDP_FAIL_RADIO_POWER_OFF = -5, /* data call was disconnected because radio was resetting,
@@ -453,7 +482,8 @@ typedef enum {
RIL_APPTYPE_SIM = 1,
RIL_APPTYPE_USIM = 2,
RIL_APPTYPE_RUIM = 3,
- RIL_APPTYPE_CSIM = 4
+ RIL_APPTYPE_CSIM = 4,
+ RIL_APPTYPE_ISIM = 5
} RIL_AppType;
typedef struct
@@ -465,37 +495,61 @@ typedef struct
char *aid_ptr; /* null terminated string, e.g., from 0xA0, 0x00 -> 0x41,
0x30, 0x30, 0x30 */
char *app_label_ptr; /* null terminated string */
- int pin1_replaced; /* applicable to USIM and CSIM */
+ int pin1_replaced; /* applicable to USIM, CSIM & ISIM */
RIL_PinState pin1;
RIL_PinState pin2;
} RIL_AppStatus;
+/* Deprecated, use RIL_CardStatus_v6 */
+typedef struct
+{
+ RIL_CardState card_state;
+ RIL_PinState universal_pin_state; /* applicable to USIM and CSIM: RIL_PINSTATE_xxx */
+ int gsm_umts_subscription_app_index; /* value < RIL_CARD_MAX_APPS, -1 if none */
+ int cdma_subscription_app_index; /* value < RIL_CARD_MAX_APPS, -1 if none */
+ int num_applications; /* value <= RIL_CARD_MAX_APPS */
+ RIL_AppStatus applications[RIL_CARD_MAX_APPS];
+} RIL_CardStatus_v5;
+
typedef struct
{
RIL_CardState card_state;
RIL_PinState universal_pin_state; /* applicable to USIM and CSIM: RIL_PINSTATE_xxx */
- int gsm_umts_subscription_app_index; /* value < RIL_CARD_MAX_APPS */
- int cdma_subscription_app_index; /* value < RIL_CARD_MAX_APPS */
+ int gsm_umts_subscription_app_index; /* value < RIL_CARD_MAX_APPS, -1 if none */
+ int cdma_subscription_app_index; /* value < RIL_CARD_MAX_APPS, -1 if none */
+ int ims_subscription_app_index; /* value < RIL_CARD_MAX_APPS, -1 if none */
int num_applications; /* value <= RIL_CARD_MAX_APPS */
RIL_AppStatus applications[RIL_CARD_MAX_APPS];
-} RIL_CardStatus;
+} RIL_CardStatus_v6;
/* The result of a SIM refresh, returned in data[0] of RIL_UNSOL_SIM_REFRESH */
typedef enum {
/* A file on SIM has been updated. data[1] contains the EFID. */
SIM_FILE_UPDATE = 0,
- /* SIM initialized. All files should be re-read. */
+ /* SIM initialized. All files should be re-read. data[1] contains AID that caused REFRESH */
SIM_INIT = 1,
/* SIM reset. SIM power required, SIM may be locked and all files should be re-read. */
SIM_RESET = 2
} RIL_SimRefreshResult;
+/* Deprecated, use RIL_CDMA_CallWaiting_v6 */
typedef struct {
char * number; /* Remote party number */
int numberPresentation; /* 0=Allowed, 1=Restricted, 2=Not Specified/Unknown */
char * name; /* Remote party name */
RIL_CDMA_SignalInfoRecord signalInfoRecord;
-} RIL_CDMA_CallWaiting;
+} RIL_CDMA_CallWaiting_v5;
+
+typedef struct {
+ char * number; /* Remote party number */
+ int numberPresentation; /* 0=Allowed, 1=Restricted, 2=Not Specified/Unknown */
+ char * name; /* Remote party name */
+ RIL_CDMA_SignalInfoRecord signalInfoRecord;
+ /* Number type/Number plan required to support International Call Waiting */
+ int number_type; /* 0=Unknown, 1=International, 2=National,
+ 3=Network specific, 4=subscriber */
+ int number_plan; /* 0=Unknown, 1=ISDN, 3=Data, 4=Telex, 8=Nat'l, 9=Private */
+} RIL_CDMA_CallWaiting_v6;
/**
* Which types of Cell Broadcast Message (CBM) are to be received by the ME
@@ -581,12 +635,29 @@ typedef struct {
int signalNoiseRatio; /* Valid values are 0-8. 8 is the highest signal to noise ratio. */
} RIL_EVDO_SignalStrength;
+typedef struct {
+ int signalStrength; /* Valid values are (0-31, 99) as defined in TS 27.007 8.5 */
+ int rsrp; /* The current Reference Signal Receive Power in dBm
+ * multipled by -1. Range: 44 to 140 dBm, TODO: doc reference */
+ int rsrq; /* The current Reference Signal Receive Quality in dB
+ * multiplied by -1. Range: 20 to 3 dB. TODO: doc reference */
+ int rssnr; /* TODO: Need documentation and doc reference */
+ int cqi; /* TODO: Need documentation and doc reference */
+} RIL_LTE_SignalStrength;
+
+/* Deprecated, use RIL_SignalStrength_v6 */
+typedef struct {
+ RIL_GW_SignalStrength GW_SignalStrength;
+ RIL_CDMA_SignalStrength CDMA_SignalStrength;
+ RIL_EVDO_SignalStrength EVDO_SignalStrength;
+} RIL_SignalStrength_v5;
typedef struct {
RIL_GW_SignalStrength GW_SignalStrength;
RIL_CDMA_SignalStrength CDMA_SignalStrength;
RIL_EVDO_SignalStrength EVDO_SignalStrength;
-} RIL_SignalStrength;
+ RIL_LTE_SignalStrength LTE_SignalStrength;
+} RIL_SignalStrength_v6;
/* Names of the CDMA info records (C.S0005 section 3.7.5) */
typedef enum {
@@ -709,7 +780,7 @@ typedef struct {
*
* "data" is NULL
*
- * "response" is const RIL_CardStatus *
+ * "response" is const RIL_CardStatus_v5 *
*
* Valid errors:
* Must never fail
@@ -723,6 +794,7 @@ typedef struct {
*
* "data" is const char **
* ((const char **)data)[0] is PIN value
+ * ((const char **)data)[1] is AID value, See ETSI 102.221 8.1 and 101.220 4, NULL if no value.
*
* "response" is int *
* ((int *)response)[0] is the number of retries remaining, or -1 if unknown
@@ -746,6 +818,7 @@ typedef struct {
* "data" is const char **
* ((const char **)data)[0] is PUK value
* ((const char **)data)[1] is new PIN value
+ * ((const char **)data)[2] is AID value, See ETSI 102.221 8.1 and 101.220 4, NULL if no value.
*
* "response" is int *
* ((int *)response)[0] is the number of retries remaining, or -1 if unknown
@@ -769,6 +842,7 @@ typedef struct {
*
* "data" is const char **
* ((const char **)data)[0] is PIN2 value
+ * ((const char **)data)[1] is AID value, See ETSI 102.221 8.1 and 101.220 4, NULL if no value.
*
* "response" is int *
* ((int *)response)[0] is the number of retries remaining, or -1 if unknown
@@ -791,6 +865,7 @@ typedef struct {
* "data" is const char **
* ((const char **)data)[0] is PUK2 value
* ((const char **)data)[1] is new PIN2 value
+ * ((const char **)data)[2] is AID value, See ETSI 102.221 8.1 and 101.220 4, NULL if no value.
*
* "response" is int *
* ((int *)response)[0] is the number of retries remaining, or -1 if unknown
@@ -814,6 +889,7 @@ typedef struct {
* "data" is const char **
* ((const char **)data)[0] is old PIN value
* ((const char **)data)[1] is new PIN value
+ * ((const char **)data)[2] is AID value, See ETSI 102.221 8.1 and 101.220 4, NULL if no value.
*
* "response" is int *
* ((int *)response)[0] is the number of retries remaining, or -1 if unknown
@@ -839,6 +915,7 @@ typedef struct {
* "data" is const char **
* ((const char **)data)[0] is old PIN2 value
* ((const char **)data)[1] is new PIN2 value
+ * ((const char **)data)[2] is AID value, See ETSI 102.221 8.1 and 101.220 4, NULL if no value.
*
* "response" is int *
* ((int *)response)[0] is the number of retries remaining, or -1 if unknown
@@ -921,7 +998,8 @@ typedef struct {
*
* Only valid when radio state is "RADIO_STATE_SIM_READY"
*
- * "data" is NULL
+ * "data" is const char **
+ * ((const char **)data)[0] is AID value, See ETSI 102.221 8.1 and 101.220 4, NULL if no value.
* "response" is a const char * containing the IMSI
*
* Valid errors:
@@ -1098,7 +1176,7 @@ typedef struct {
#define RIL_REQUEST_SIGNAL_STRENGTH 19
/**
- * RIL_REQUEST_REGISTRATION_STATE
+ * RIL_REQUEST_VOICE_REGISTRATION_STATE
*
* Request current registration state
*
@@ -1182,6 +1260,29 @@ typedef struct {
* 8 - No Suitable Cells in this Location Area
* 9 - Network failure
* 10 - Persistent location update reject
+ * 11 - PLMN not allowed
+ * 12 - Location area not allowed
+ * 13 - Roaming not allowed in this Location Area
+ * 15 - No Suitable Cells in this Location Area
+ * 17 - Network Failure
+ * 20 - MAC Failure
+ * 21 - Sync Failure
+ * 22 - Congestion
+ * 23 - GSM Authentication unacceptable
+ * 25 - Not Authorized for this CSG
+ * 32 - Service option not supported
+ * 33 - Requested service option not subscribed
+ * 34 - Service option temporarily out of order
+ * 38 - Call cannot be identified
+ * 48-63 - Retry upon entry into a new cell
+ * 95 - Semantically incorrect message
+ * 96 - Invalid mandatory information
+ * 97 - Message type non-existent or not implemented
+ * 98 - Message not compatible with protocol state
+ * 99 - Information element non-existent or not implemented
+ * 100 - Conditional IE error
+ * 101 - Message not compatible with protocol state
+ * 111 - Protocol error, unspecified
* ((const char **)response)[14] is the Primary Scrambling Code of the current
* cell as described in TS 25.331, in hexadecimal
* format, or NULL if unknown or not registered
@@ -1199,12 +1300,12 @@ typedef struct {
* RADIO_NOT_AVAILABLE
* GENERIC_FAILURE
*/
-#define RIL_REQUEST_REGISTRATION_STATE 20
+#define RIL_REQUEST_VOICE_REGISTRATION_STATE 20
/**
- * RIL_REQUEST_GPRS_REGISTRATION_STATE
+ * RIL_REQUEST_DATA_REGISTRATION_STATE
*
- * Request current GPRS registration state
+ * Request current DATA registration state
*
* "data" is NULL
* "response" is a "char **"
@@ -1213,6 +1314,19 @@ typedef struct {
* ((const char **)response)[2] is CID if registered or NULL if not
* ((const char **)response)[3] indicates the available data radio technology,
* valid values as defined by RIL_RadioTechnology.
+ * ((const char **)response)[4] if registration state is 3 (Registration
+ * denied) this is an enumerated reason why
+ * registration was denied. See 3GPP TS 24.008,
+ * Annex G.6 "Additonal cause codes for GMM".
+ * 7 == GPRS services not allowed
+ * 8 == GPRS services and non-GPRS services not allowed
+ * 9 == MS identity cannot be derived by the network
+ * 10 == Implicitly detached
+ * 14 == GPRS services not allowed in this PLMN
+ * 16 == MSC temporarily not reachable
+ * 40 == No PDP context activated
+ * ((const char **)response)[5] The maximum number of simultaneous Data Calls that can be
+ * established using RIL_REQUEST_SETUP_DATA_CALL.
*
* LAC and CID are in hexadecimal format.
* valid LAC are 0x0000 - 0xffff
@@ -1226,7 +1340,7 @@ typedef struct {
* RADIO_NOT_AVAILABLE
* GENERIC_FAILURE
*/
-#define RIL_REQUEST_GPRS_REGISTRATION_STATE 21
+#define RIL_REQUEST_DATA_REGISTRATION_STATE 21
/**
* RIL_REQUEST_OPERATOR
@@ -1368,12 +1482,12 @@ typedef struct {
* is capable of sending and receiving packets. The prefix length
* of the addresses must be /32 for IPv4 and /128 for IPv6.
* - Must NOT change the linux routing table.
- * - Support up to RIL_REQUEST_GPRS_REGISTRATION_STATE response[5]
+ * - Support up to RIL_REQUEST_DATA_REGISTRATION_STATE response[5]
* number of simultaneous data call contexts.
*
* "data" is a const char **
- * ((const char **)data)[0] indicates whether to setup connection on radio technology CDMA
- * or GSM/UMTS, 0-1. 0 - CDMA, 1-GSM/UMTS
+ * ((const char **)data)[0] Radio technology to use: 0-CDMA, 1-GSM/UMTS, 2...
+ * for values above 2 this is RIL_RadioTechnology + 2.
* ((const char **)data)[1] is a RIL_DataProfile (support is optional)
* ((const char **)data)[2] is the APN to connect to if radio technology is GSM/UMTS. This APN will
* override the one in the profile. NULL indicates no APN overrride.
@@ -1384,18 +1498,19 @@ typedef struct {
* 1 => PAP may be performed; CHAP is never performed.
* 2 => CHAP may be performed; PAP is never performed.
* 3 => PAP / CHAP may be performed - baseband dependent.
- * ((const char **)data)[6] is the PDP type to request if the radio technology is GSM/UMTS.
- * Must be one of the PDP_type values in TS 27.007 section 10.1.1.
+ * ((const char **)data)[6] is the connection type to request must be one of the
+ * PDP_type values in TS 27.007 section 10.1.1.
* For example, "IP", "IPV6", "IPV4V6", or "PPP".
+ * ((const char **)data)[7] Optional connection property parameters, format to be defined.
*
- * "response" is a RIL_Data_Call_Response_v5
+ * "response" is a RIL_Data_Call_Response_v6
*
* FIXME may need way to configure QoS settings
*
* Valid errors:
* SUCCESS should be returned on both success and failure of setup with
- * the RIL_Data_Call_Response_v5.status containing the actual status.
- * For all other errors the RIL_Data_Call_Resonse_v5 is ignored.
+ * the RIL_Data_Call_Response_v6.status containing the actual status.
+ * For all other errors the RIL_Data_Call_Resonse_v6 is ignored.
*
* Other errors could include:
* RADIO_NOT_AVAILABLE, GENERIC_FAILURE, OP_NOT_ALLOWED_BEFORE_REG_TO_NW,
@@ -1414,7 +1529,7 @@ typedef struct {
* where it assumes all of the EF selection will be done by the
* callee.
*
- * "data" is a const RIL_SIM_IO *
+ * "data" is a const RIL_SIM_IO_v5 *
* Please note that RIL_SIM_IO has a "PIN2" field which may be NULL,
* or may specify a PIN2 for operations that require a PIN2 (eg
* updating FDN records)
@@ -1713,6 +1828,7 @@ typedef struct {
* ((const char **)data)[1] is the password, or "" if not required
* ((const char **)data)[2] is the TS 27.007 service class bit vector of
* services to query
+ * ((const char **)data)[3] is AID value, See ETSI 102.221 8.1 and 101.220 4, NULL if no value.
*
* "response" is an int *
* ((const int *)response) 0 is the TS 27.007 service class bit vector of
@@ -1742,6 +1858,7 @@ typedef struct {
* ((const char **)data)[3] = string representation of decimal TS 27.007
* service class bit vector. Eg, the string
* "1" means "set this facility for voice services"
+ * ((const char **)data)[4] = AID value, See ETSI 102.221 8.1 and 101.220 4, NULL if no value.
*
* "response" is int *
* ((int *)response)[0] is the number of retries remaining, or -1 if unknown
@@ -2018,7 +2135,8 @@ typedef struct {
#define RIL_REQUEST_QUERY_CLIP 55
/**
- * RIL_REQUEST_LAST_DATA_CALL_FAIL_CAUSE
+ * RIL_REQUEST_LAST_DATA_CALL_FAIL_CAUSE - Deprecated use the status
+ * field in RIL_Data_Call_Response_v6.
*
* Requests the failure cause code for the most recently failed PDP
* context or CDMA data connection active
@@ -2042,7 +2160,8 @@ typedef struct {
* GENERIC_FAILURE
*
* See also: RIL_REQUEST_LAST_CALL_FAIL_CAUSE
- * TODO: Deprecate when v5 is completed.
+ *
+ * Deprecated use the status field in RIL_Data_Call_Response_v6.
*/
#define RIL_REQUEST_LAST_DATA_CALL_FAIL_CAUSE 56
@@ -2056,7 +2175,7 @@ typedef struct {
* replaces RIL_REQUEST_PDP_CONTEXT_LIST
*
* "data" is NULL
- * "response" is an array of RIL_Data_Call_Response_v5
+ * "response" is an array of RIL_Data_Call_Response_v6
*
* Valid errors:
* SUCCESS
@@ -2412,16 +2531,7 @@ typedef struct {
* Requests to set the preferred network type for searching and registering
* (CS/PS domain, RAT, and operation mode)
*
- * "data" is int *
- *
- * ((int *)data)[0] is == 0 for GSM/WCDMA (WCDMA preferred)
- * ((int *)data)[0] is == 1 for GSM only
- * ((int *)data)[0] is == 2 for WCDMA only
- * ((int *)data)[0] is == 3 for GSM/WCDMA (auto mode, according to PRL)
- * ((int *)data)[0] is == 4 for CDMA and EvDo (auto mode, according to PRL)
- * ((int *)data)[0] is == 5 for CDMA only
- * ((int *)data)[0] is == 6 for EvDo only
- * ((int *)data)[0] is == 7 for GSM/WCDMA, CDMA, and EvDo (auto mode, according to PRL)
+ * "data" is int * which is RIL_PreferredNetworkType
*
* "response" is NULL
*
@@ -2442,14 +2552,7 @@ typedef struct {
* "data" is NULL
*
* "response" is int *
- * ((int *)response)[0] is == 0 for GSM/WCDMA (WCDMA preferred)
- * ((int *)response)[0] is == 1 for GSM only
- * ((int *)response)[0] is == 2 for WCDMA only
- * ((int *)response)[0] is == 3 for GSM/WCDMA (auto mode, according to PRL)
- * ((int *)response)[0] is == 4 for CDMA and EvDo (auto mode, according to PRL)
- * ((int *)response)[0] is == 5 for CDMA only
- * ((int *)response)[0] is == 6 for EvDo only
- * ((int *)response)[0] is == 7 for GSM/WCDMA, CDMA, and EvDo (auto mode, according to PRL)
+ * ((int *)reponse)[0] is == RIL_PreferredNetworkType
*
* Valid errors:
* SUCCESS
@@ -2501,14 +2604,13 @@ typedef struct {
#define RIL_REQUEST_SET_LOCATION_UPDATES 76
/**
- * RIL_REQUEST_CDMA_SET_SUBSCRIPTION
+ * RIL_REQUEST_CDMA_SET_SUBSCRIPTION_SOURCE
*
* Request to set the location where the CDMA subscription shall
* be retrieved
*
* "data" is int *
- * ((int *)data)[0] is == 0 from RUIM/SIM (default)
- * ((int *)data)[0] is == 1 from NV
+ * ((int *)data)[0] is == RIL_CdmaSubscriptionSource
*
* "response" is NULL
*
@@ -2518,8 +2620,10 @@ typedef struct {
* GENERIC_FAILURE
* SIM_ABSENT
* SUBSCRIPTION_NOT_AVAILABLE
+ *
+ * See also: RIL_REQUEST_CDMA_GET_SUBSCRIPTION_SOURCE
*/
-#define RIL_REQUEST_CDMA_SET_SUBSCRIPTION 77
+#define RIL_REQUEST_CDMA_SET_SUBSCRIPTION_SOURCE 77
/**
* RIL_REQUEST_CDMA_SET_ROAMING_PREFERENCE
@@ -3041,6 +3145,27 @@ typedef struct {
*/
#define RIL_REQUEST_REPORT_STK_SERVICE_IS_RUNNING 103
+/**
+ * RIL_REQUEST_CDMA_GET_SUBSCRIPTION_SOURCE
+ *
+ * Request to query the location where the CDMA subscription shall
+ * be retrieved
+ *
+ * "data" is NULL
+ *
+ * "response" is int *
+ * ((int *)data)[0] is == RIL_CdmaSubscriptionSource
+ *
+ * Valid errors:
+ * SUCCESS
+ * RADIO_NOT_AVAILABLE
+ * GENERIC_FAILURE
+ * SUBSCRIPTION_NOT_AVAILABLE
+ *
+ * See also: RIL_REQUEST_CDMA_SET_SUBSCRIPTION_SOURCE
+ */
+#define RIL_REQUEST_CDMA_GET_SUBSCRIPTION_SOURCE 104
+
/***********************************************************************/
@@ -3078,15 +3203,13 @@ typedef struct {
/**
- * RIL_UNSOL_RESPONSE_NETWORK_STATE_CHANGED
+ * RIL_UNSOL_RESPONSE_VOICE_NETWORK_STATE_CHANGED
*
- * Called when network state, operator name, or GPRS state has changed
- * Basically on, +CREG and +CGREG
+ * Called when the voice network state changed
*
* Callee will invoke the following requests on main thread:
*
- * RIL_REQUEST_REGISTRATION_STATE
- * RIL_REQUEST_GPRS_REGISTRATION_STATE
+ * RIL_REQUEST_VOICE_REGISTRATION_STATE
* RIL_REQUEST_OPERATOR
*
* "data" is NULL
@@ -3094,7 +3217,7 @@ typedef struct {
* FIXME should this happen when SIM records are loaded? (eg, for
* EONS)
*/
-#define RIL_UNSOL_RESPONSE_NETWORK_STATE_CHANGED 1002
+#define RIL_UNSOL_RESPONSE_VOICE_NETWORK_STATE_CHANGED 1002
/**
* RIL_UNSOL_RESPONSE_NEW_SMS
@@ -3207,7 +3330,7 @@ typedef struct {
* has been activated or deactivated
* replaces RIL_UNSOL_PDP_CONTEXT_LIST_CHANGED
*
- * "data" is an array of RIL_Data_Call_Response_v5 identical to that
+ * "data" is an array of RIL_Data_Call_Response_v6 identical to that
* returned by RIL_REQUEST_DATA_CALL_LIST
*
* See also: RIL_REQUEST_DATA_CALL_LIST
@@ -3292,7 +3415,8 @@ typedef struct {
* "data" is an int *
* ((int *)data)[0] is a RIL_SimRefreshResult.
* ((int *)data)[1] is the EFID of the updated file if the result is
- * SIM_FILE_UPDATE or NULL for any other result.
+ * SIM_FILE_UPDATE, AID(application ID) of the card application
+ * triggering the REFRESH if the result is SIM_INIT, or NULL for any other result.
*
* Note: If the radio state changes as a result of the SIM refresh (eg,
* SIM_READY -> SIM_LOCKED_OR_ABSENT), RIL_UNSOL_RESPONSE_RADIO_STATE_CHANGED
@@ -3461,6 +3585,40 @@ typedef struct {
* "data" is null
*/
#define RIL_UNSOL_RESEND_INCALL_MUTE 1030
+
+/**
+ * RIL_UNSOL_CDMA_SUBSCRIPTION_SOURCE_CHANGED
+ *
+ * Called when CDMA subscription source changed.
+ *
+ * "data" is int *
+ * ((int *)data)[0] is == RIL_CdmaSubscriptionSource
+ */
+#define RIL_UNSOL_CDMA_SUBSCRIPTION_CHANGED 1031
+
+/**
+ * RIL_UNSOL_CDMA_PRL_CHANGED
+ *
+ * Called when PRL (preferred roaming list) changes.
+ *
+ * "data" is int *
+ * ((int *)data)[0] is PRL_VERSION as would be returned by RIL_REQUEST_CDMA_SUBSCRIPTION
+ */
+#define RIL_UNSOL_CDMA_PRL_CHANGED 1032
+
+/**
+ * RIL_UNSOL_EXIT_EMERGENCY_CALLBACK_MODE
+ *
+ * Called when Emergency Callback Mode Ends
+ *
+ * Indicates that the radio system selection module has
+ * proactively exited emergency callback mode.
+ *
+ * "data" is NULL
+ *
+ */
+#define RIL_UNSOL_EXIT_EMERGENCY_CALLBACK_MODE 1033
+
/***********************************************************************/