diff options
author | Wink Saville <wink@google.com> | 2011-02-18 10:14:07 -0800 |
---|---|---|
committer | Wink Saville <wink@google.com> | 2011-02-18 10:14:07 -0800 |
commit | c0114b325877907fcdf7a5baa24e54a752e7e58b (patch) | |
tree | 60bb5c8ddc9a855db37cf576c179a13b6316bd8b /include | |
parent | fce03232dffed9b84b9ee549988727692e4a4233 (diff) | |
download | android_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.h | 326 |
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 + /***********************************************************************/ |