summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominggoes Isakh <drjisakh@gmail.com>2017-08-27 22:33:55 +0200
committerAlex Tsanis <alextsanisbadlorg@gmail.com>2017-09-17 07:39:58 +0000
commite64d3f903737d52d017d9f7be0c16660f26e9d72 (patch)
tree4c30c4302838b517c78fd41b093721ac3c130425
parenteaa1e64920750e41af31481d456001eaea62bc03 (diff)
galaxys2-common: ril: update header from hardware/ril
Change-Id: Id7ccacfa70e3fdf61d6206dd5fdb0efc2cb376c6
-rw-r--r--include/telephony/ril.h1041
1 files changed, 732 insertions, 309 deletions
diff --git a/include/telephony/ril.h b/include/telephony/ril.h
index 90b004f..e6995d7 100644
--- a/include/telephony/ril.h
+++ b/include/telephony/ril.h
@@ -31,7 +31,7 @@
extern "C" {
#endif
-
+#ifndef SIM_COUNT
#if defined(ANDROID_SIM_COUNT_2)
#define SIM_COUNT 2
#elif defined(ANDROID_SIM_COUNT_3)
@@ -45,6 +45,7 @@ extern "C" {
#ifndef ANDROID_MULTI_SIM
#define SIM_COUNT 1
#endif
+#endif
/*
* RIL version.
@@ -66,13 +67,25 @@ extern "C" {
*
* RIL_VERSION = 13 : This version includes new wakelock semantics and as the first
* strongly versioned version it enforces structure use.
+ *
* RIL_VERSION = 14 : New data structures are added, namely RIL_CarrierMatchType,
* RIL_Carrier, RIL_CarrierRestrictions and RIL_PCO_Data.
* New commands added: RIL_REQUEST_SET_CARRIER_RESTRICTIONS,
- * RIL_REQUEST_SET_CARRIER_RESTRICTIONS and
- * RIL_UNSOL_PCO_DATA
-*/
-
+ * RIL_REQUEST_SET_CARRIER_RESTRICTIONS and RIL_UNSOL_PCO_DATA.
+ *
+ * RIL_VERSION = 15 : New commands added:
+ * RIL_UNSOL_MODEM_RESTART,
+ * RIL_REQUEST_SEND_DEVICE_STATE,
+ * RIL_REQUEST_SET_UNSOLICITED_RESPONSE_FILTER,
+ * RIL_REQUEST_SET_SIM_CARD_POWER
+ * The new parameters for RIL_REQUEST_SETUP_DATA_CALL,
+ * Updated data structures: RIL_DataProfileInfo_v15, RIL_InitialAttachApn_v15
+ * New data structure RIL_DataRegistrationStateResponse,
+ * RIL_VoiceRegistrationStateResponse same is
+ * used in RIL_REQUEST_DATA_REGISTRATION_STATE and
+ * RIL_REQUEST_VOICE_REGISTRATION_STATE respectively.
+ * New data structure RIL_OpenChannelParams.
+ */
#define RIL_VERSION 12
#define LAST_IMPRECISE_RIL_VERSION 12 // Better self-documented name
#define RIL_VERSION_MIN 6 /* Minimum RIL_VERSION supported */
@@ -81,7 +94,7 @@ extern "C" {
#define CDMA_NUMBER_INFO_BUFFER_LENGTH 81
#define MAX_RILDS 3
-#define MAX_SOCKET_NAME_LENGTH 6
+#define MAX_SERVICE_NAME_LENGTH 6
#define MAX_CLIENT_ID_LENGTH 2
#define MAX_DEBUG_SOCKET_NAME_LENGTH 12
#define MAX_QEMU_PIPE_NAME_LENGTH 11
@@ -144,9 +157,11 @@ typedef enum {
RIL_E_SS_MODIFIED_TO_SS = 27, /* SS request modified to different SS request */
RIL_E_LCE_NOT_SUPPORTED = 36, /* LCE service not supported(36 in RILConstants.java) */
RIL_E_NO_MEMORY = 37, /* Not sufficient memory to process the request */
- RIL_E_INTERNAL_ERR = 38, /* Hit unexpected vendor internal error scenario */
+ RIL_E_INTERNAL_ERR = 38, /* Modem hit unexpected error scenario while handling
+ this request */
RIL_E_SYSTEM_ERR = 39, /* Hit platform or system error */
- RIL_E_MODEM_ERR = 40, /* Hit unexpected modem error */
+ RIL_E_MODEM_ERR = 40, /* Vendor RIL got unexpected or incorrect response
+ from modem for this request */
RIL_E_INVALID_STATE = 41, /* Unexpected request for the current state */
RIL_E_NO_RESOURCES = 42, /* Not sufficient resource to process the request */
RIL_E_SIM_ERR = 43, /* Received error from SIM card */
@@ -173,6 +188,7 @@ typedef enum {
RIL_E_DEVICE_IN_USE = 64, /* Operation cannot be performed because the device
is currently in use */
RIL_E_ABORTED = 65, /* Operation aborted */
+ RIL_E_INVALID_RESPONSE = 66, /* Invalid response sent by vendor code */
// OEM specific error codes. To be used by OEM when they don't want to reveal
// specific error codes which would be replaced by Generic failure.
RIL_E_OEM_ERROR_1 = 501,
@@ -583,6 +599,7 @@ typedef struct {
} RIL_Dial;
typedef struct {
+ int cla; /* OnePlus */
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.
@@ -597,6 +614,7 @@ typedef struct {
} RIL_SIM_IO_v5;
typedef struct {
+ int cla; /* OnePlus */
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.
@@ -781,6 +799,21 @@ typedef enum {
CALL_FAIL_DIAL_MODIFIED_TO_USSD = 244, /* STK Call Control */
CALL_FAIL_DIAL_MODIFIED_TO_SS = 245,
CALL_FAIL_DIAL_MODIFIED_TO_DIAL = 246,
+ CALL_FAIL_RADIO_OFF = 247, /* Radio is OFF */
+ CALL_FAIL_OUT_OF_SERVICE = 248, /* No cellular coverage */
+ CALL_FAIL_NO_VALID_SIM = 249, /* No valid SIM is present */
+ CALL_FAIL_RADIO_INTERNAL_ERROR = 250, /* Internal error at Modem */
+ CALL_FAIL_NETWORK_RESP_TIMEOUT = 251, /* No response from network */
+ CALL_FAIL_NETWORK_REJECT = 252, /* Explicit network reject */
+ CALL_FAIL_RADIO_ACCESS_FAILURE = 253, /* RRC connection failure. Eg.RACH */
+ CALL_FAIL_RADIO_LINK_FAILURE = 254, /* Radio Link Failure */
+ CALL_FAIL_RADIO_LINK_LOST = 255, /* Radio link lost due to poor coverage */
+ CALL_FAIL_RADIO_UPLINK_FAILURE = 256, /* Radio uplink failure */
+ CALL_FAIL_RADIO_SETUP_FAILURE = 257, /* RRC connection setup failure */
+ CALL_FAIL_RADIO_RELEASE_NORMAL = 258, /* RRC connection release, normal */
+ CALL_FAIL_RADIO_RELEASE_ABNORMAL = 259, /* RRC connection release, abnormal */
+ CALL_FAIL_ACCESS_CLASS_BLOCKED = 260, /* Access class barring */
+ CALL_FAIL_NETWORK_DETACH = 261, /* Explicit network detach */
CALL_FAIL_CDMA_LOCKED_UNTIL_POWER_CYCLE = 1000,
CALL_FAIL_CDMA_DROP = 1001,
CALL_FAIL_CDMA_INTERCEPT = 1002,
@@ -792,6 +825,25 @@ typedef enum {
CALL_FAIL_CDMA_NOT_EMERGENCY = 1008, /* For non-emergency number dialed
during emergency callback mode */
CALL_FAIL_CDMA_ACCESS_BLOCKED = 1009, /* CDMA network access probes blocked */
+
+ /* OEM specific error codes. Used to distinguish error from
+ * CALL_FAIL_ERROR_UNSPECIFIED and help assist debugging */
+ CALL_FAIL_OEM_CAUSE_1 = 0xf001,
+ CALL_FAIL_OEM_CAUSE_2 = 0xf002,
+ CALL_FAIL_OEM_CAUSE_3 = 0xf003,
+ CALL_FAIL_OEM_CAUSE_4 = 0xf004,
+ CALL_FAIL_OEM_CAUSE_5 = 0xf005,
+ CALL_FAIL_OEM_CAUSE_6 = 0xf006,
+ CALL_FAIL_OEM_CAUSE_7 = 0xf007,
+ CALL_FAIL_OEM_CAUSE_8 = 0xf008,
+ CALL_FAIL_OEM_CAUSE_9 = 0xf009,
+ CALL_FAIL_OEM_CAUSE_10 = 0xf00a,
+ CALL_FAIL_OEM_CAUSE_11 = 0xf00b,
+ CALL_FAIL_OEM_CAUSE_12 = 0xf00c,
+ CALL_FAIL_OEM_CAUSE_13 = 0xf00d,
+ CALL_FAIL_OEM_CAUSE_14 = 0xf00e,
+ CALL_FAIL_OEM_CAUSE_15 = 0xf00f,
+
CALL_FAIL_ERROR_UNSPECIFIED = 0xffff /* This error will be deprecated soon,
vendor code should make sure to map error
code to specific error */
@@ -995,6 +1047,35 @@ typedef enum {
RIL_APPTYPE_ISIM = 5
} RIL_AppType;
+/*
+ * Please note that registration state UNKNOWN is
+ * treated as "out of service" in the Android telephony.
+ * Registration state REG_DENIED must be returned if Location Update
+ * Reject (with cause 17 - Network Failure) is received
+ * repeatedly from the network, to facilitate
+ * "managed roaming"
+ */
+typedef enum {
+ RIL_NOT_REG_AND_NOT_SEARCHING = 0, // Not registered, MT is not currently searching
+ // a new operator to register
+ RIL_REG_HOME = 1, // Registered, home network
+ RIL_NOT_REG_AND_SEARCHING = 2, // Not registered, but MT is currently searching
+ // a new operator to register
+ RIL_REG_DENIED = 3, // Registration denied
+ RIL_UNKNOWN = 4, // Unknown
+ RIL_REG_ROAMING = 5, // Registered, roaming
+ RIL_NOT_REG_AND_EMERGENCY_AVAILABLE_AND_NOT_SEARCHING = 10, // Same as
+ // RIL_NOT_REG_AND_NOT_SEARCHING but indicates that
+ // emergency calls are enabled.
+ RIL_NOT_REG_AND_EMERGENCY_AVAILABLE_AND_SEARCHING = 12, // Same as RIL_NOT_REG_AND_SEARCHING
+ // but indicates that
+ // emergency calls are enabled.
+ RIL_REG_DENIED_AND_EMERGENCY_AVAILABLE = 13, // Same as REG_DENIED but indicates that
+ // emergency calls are enabled.
+ RIL_UNKNOWN_AND_EMERGENCY_AVAILABLE = 14, // Same as UNKNOWN but indicates that
+ // emergency calls are enabled.
+} RIL_RegState;
+
typedef struct
{
RIL_AppType app_type;
@@ -1374,6 +1455,7 @@ typedef struct {
// Must be the same as CellInfo.TYPE_XXX
typedef enum {
+ RIL_CELL_INFO_TYPE_NONE = 0, /* indicates no cell information */
RIL_CELL_INFO_TYPE_GSM = 1,
RIL_CELL_INFO_TYPE_CDMA = 2,
RIL_CELL_INFO_TYPE_LTE = 3,
@@ -1418,6 +1500,100 @@ typedef struct {
} CellInfo;
} RIL_CellInfo_v12;
+typedef struct {
+ RIL_CellInfoType cellInfoType; /* cell type for selecting from union CellInfo */
+ union {
+ RIL_CellIdentityGsm_v12 cellIdentityGsm;
+ RIL_CellIdentityWcdma_v12 cellIdentityWcdma;
+ RIL_CellIdentityLte_v12 cellIdentityLte;
+ RIL_CellIdentityTdscdma cellIdentityTdscdma;
+ RIL_CellIdentityCdma cellIdentityCdma;
+ };
+}RIL_CellIdentity_v16;
+
+typedef struct {
+ RIL_RegState regState; // Valid reg states are RIL_NOT_REG_AND_NOT_SEARCHING,
+ // REG_HOME, RIL_NOT_REG_AND_SEARCHING, REG_DENIED,
+ // UNKNOWN, REG_ROAMING defined in RegState
+ RIL_RadioTechnology rat; // indicates the available voice radio technology,
+ // valid values as defined by RadioTechnology.
+ int32_t cssSupported; // concurrent services support indicator. if
+ // registered on a CDMA system.
+ // 0 - Concurrent services not supported,
+ // 1 - Concurrent services supported
+ int32_t roamingIndicator; // TSB-58 Roaming Indicator if registered
+ // on a CDMA or EVDO system or -1 if not.
+ // Valid values are 0-255.
+ int32_t systemIsInPrl; // indicates whether the current system is in the
+ // PRL if registered on a CDMA or EVDO system or -1 if
+ // not. 0=not in the PRL, 1=in the PRL
+ int32_t defaultRoamingIndicator; // default Roaming Indicator from the PRL,
+ // if registered on a CDMA or EVDO system or -1 if not.
+ // Valid values are 0-255.
+ int32_t reasonForDenial; // reasonForDenial if registration state is 3
+ // (Registration denied) this is an enumerated reason why
+ // registration was denied. See 3GPP TS 24.008,
+ // 10.5.3.6 and Annex G.
+ // 0 - General
+ // 1 - Authentication Failure
+ // 2 - IMSI unknown in HLR
+ // 3 - Illegal MS
+ // 4 - Illegal ME
+ // 5 - PLMN not allowed
+ // 6 - Location area not allowed
+ // 7 - Roaming not allowed
+ // 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 type not compatible with protocol state
+ // 99 - Information element non-existent or
+ // not implemented
+ // 100 - Conditional IE error
+ // 101 - Message not compatible with protocol state;
+ RIL_CellIdentity_v16 cellIdentity; // current cell information
+}RIL_VoiceRegistrationStateResponse;
+
+
+typedef struct {
+ RIL_RegState regState; // Valid reg states are RIL_NOT_REG_AND_NOT_SEARCHING,
+ // REG_HOME, RIL_NOT_REG_AND_SEARCHING, REG_DENIED,
+ // UNKNOWN, REG_ROAMING defined in RegState
+ RIL_RadioTechnology rat; // indicates the available data radio technology,
+ // valid values as defined by RadioTechnology.
+ int32_t reasonDataDenied; // if registration state is 3 (Registration
+ // denied) this is an enumerated reason why
+ // registration was denied. See 3GPP TS 24.008,
+ // Annex G.6 "Additional 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
+ int32_t maxDataCalls; // The maximum number of simultaneous Data Calls that
+ // must be established using setupDataCall().
+ RIL_CellIdentity_v16 cellIdentity; // Current cell information
+}RIL_DataRegistrationStateResponse;
+
/* Names of the CDMA info records (C.S0005 section 3.7.5) */
typedef enum {
RIL_CDMA_DISPLAY_INFO_REC,
@@ -1711,6 +1887,56 @@ typedef struct {
int enabled;
} RIL_DataProfileInfo;
+typedef struct {
+ /* id of the data profile */
+ int profileId;
+ /* the APN to connect to */
+ char* apn;
+ /** one of the PDP_type values in TS 27.007 section 10.1.1.
+ * For example, "IP", "IPV6", "IPV4V6", or "PPP".
+ */
+ char* protocol;
+ /** one of the PDP_type values in TS 27.007 section 10.1.1 used on roaming network.
+ * For example, "IP", "IPV6", "IPV4V6", or "PPP".
+ */
+ char *roamingProtocol;
+ /** authentication protocol used for this PDP context
+ * (None: 0, PAP: 1, CHAP: 2, PAP&CHAP: 3)
+ */
+ int authType;
+ /* the username for APN, or NULL */
+ char* user;
+ /* the password for APN, or NULL */
+ char* password;
+ /* the profile type, TYPE_COMMON-0, TYPE_3GPP-1, TYPE_3GPP2-2 */
+ int type;
+ /* the period in seconds to limit the maximum connections */
+ int maxConnsTime;
+ /* the maximum connections during maxConnsTime */
+ int maxConns;
+ /** the required wait time in seconds after a successful UE initiated
+ * disconnect of a given PDN connection before the device can send
+ * a new PDN connection request for that given PDN
+ */
+ int waitTime;
+ /* true to enable the profile, 0 to disable, 1 to enable */
+ int enabled;
+ /* supported APN types bitmask. See RIL_ApnTypes for the value of each bit. */
+ int supportedTypesBitmask;
+ /** the bearer bitmask. See RIL_RadioAccessFamily for the value of each bit. */
+ int bearerBitmask;
+ /** maximum transmission unit (MTU) size in bytes */
+ int mtu;
+ /** the MVNO type: possible values are "imsi", "gid", "spn" */
+ char *mvnoType;
+ /** MVNO match data. Can be anything defined by the carrier. For example,
+ * SPN like: "A MOBILE", "BEN NL", etc...
+ * IMSI like: "302720x94", "2060188", etc...
+ * GID like: "4E", "33", etc...
+ */
+ char *mvnoMatchData;
+} RIL_DataProfileInfo_v15;
+
/* Tx Power Levels */
#define RIL_NUM_TX_POWER_LEVELS 5
@@ -1729,6 +1955,71 @@ typedef struct {
uint32_t rx_mode_time_ms;
} RIL_ActivityStatsInfo;
+typedef enum {
+ RIL_APN_TYPE_UNKNOWN = 0x0, // Unknown
+ RIL_APN_TYPE_DEFAULT = 0x1, // APN type for default data traffic
+ RIL_APN_TYPE_MMS = 0x2, // APN type for MMS traffic
+ RIL_APN_TYPE_SUPL = 0x4, // APN type for SUPL assisted GPS
+ RIL_APN_TYPE_DUN = 0x8, // APN type for DUN traffic
+ RIL_APN_TYPE_HIPRI = 0x10, // APN type for HiPri traffic
+ RIL_APN_TYPE_FOTA = 0x20, // APN type for FOTA
+ RIL_APN_TYPE_IMS = 0x40, // APN type for IMS
+ RIL_APN_TYPE_CBS = 0x80, // APN type for CBS
+ RIL_APN_TYPE_IA = 0x100, // APN type for IA Initial Attach APN
+ RIL_APN_TYPE_EMERGENCY = 0x200, // APN type for Emergency PDN. This is not an IA apn,
+ // but is used for access to carrier services in an
+ // emergency call situation.
+ RIL_APN_TYPE_ALL = 0xFFFFFFFF // All APN types
+} RIL_ApnTypes;
+
+typedef enum {
+ RIL_DST_POWER_SAVE_MODE, // Device power save mode (provided by PowerManager)
+ // True indicates the device is in power save mode.
+ RIL_DST_CHARGING_STATE, // Device charging state (provided by BatteryManager)
+ // True indicates the device is charging.
+ RIL_DST_LOW_DATA_EXPECTED // Low data expected mode. True indicates low data traffic
+ // is expected, for example, when the device is idle
+ // (e.g. not doing tethering in the background). Note
+ // this doesn't mean no data is expected.
+} RIL_DeviceStateType;
+
+typedef enum {
+ RIL_UR_SIGNAL_STRENGTH = 0x01, // When this bit is set, modem should always send the
+ // signal strength update through
+ // RIL_UNSOL_SIGNAL_STRENGTH, otherwise suppress it.
+ RIL_UR_FULL_NETWORK_STATE = 0x02, // When this bit is set, modem should always send
+ // RIL_UNSOL_RESPONSE_VOICE_NETWORK_STATE_CHANGED
+ // when any field in
+ // RIL_REQUEST_VOICE_REGISTRATION_STATE or
+ // RIL_REQUEST_DATA_REGISTRATION_STATE changes. When
+ // this bit is not set, modem should suppress
+ // RIL_UNSOL_RESPONSE_VOICE_NETWORK_STATE_CHANGED
+ // only when insignificant fields change
+ // (e.g. cell info).
+ // Modem should continue sending
+ // RIL_UNSOL_RESPONSE_VOICE_NETWORK_STATE_CHANGED
+ // when significant fields are updated even when this
+ // bit is not set. The following fields are
+ // considered significant, registration state and
+ // radio technology.
+ RIL_UR_DATA_CALL_DORMANCY_CHANGED = 0x04 // When this bit is set, modem should send the data
+ // call list changed unsolicited response
+ // RIL_UNSOL_DATA_CALL_LIST_CHANGED whenever any
+ // field in RIL_Data_Call_Response changes.
+ // Otherwise modem should suppress the unsolicited
+ // response when the only changed field is 'active'
+ // (for data dormancy). For all other fields change,
+ // modem should continue sending
+ // RIL_UNSOL_DATA_CALL_LIST_CHANGED regardless this
+ // bit is set or not.
+} RIL_UnsolicitedResponseFilter;
+
+typedef struct {
+ char * aidPtr; /* AID value, See ETSI 102.221 and 101.220*/
+ int p2; /* P2 parameter (described in ISO 7816-4)
+ P2Constants:NO_P2 if to be ignored */
+} RIL_OpenChannelParams;
+
/**
* RIL_REQUEST_GET_SIM_STATUS
*
@@ -1759,7 +2050,6 @@ typedef struct {
*
* SUCCESS
* RADIO_NOT_AVAILABLE (radio resetting)
- * GENERIC_FAILURE
* PASSWORD_INCORRECT
*/
@@ -1782,7 +2072,6 @@ typedef struct {
*
* SUCCESS
* RADIO_NOT_AVAILABLE (radio resetting)
- * GENERIC_FAILURE
* PASSWORD_INCORRECT
* (PUK is invalid)
*/
@@ -1806,7 +2095,6 @@ typedef struct {
*
* SUCCESS
* RADIO_NOT_AVAILABLE (radio resetting)
- * GENERIC_FAILURE
* PASSWORD_INCORRECT
*/
@@ -1829,7 +2117,6 @@ typedef struct {
*
* SUCCESS
* RADIO_NOT_AVAILABLE (radio resetting)
- * GENERIC_FAILURE
* PASSWORD_INCORRECT
* (PUK2 is invalid)
*/
@@ -1853,7 +2140,6 @@ typedef struct {
*
* SUCCESS
* RADIO_NOT_AVAILABLE (radio resetting)
- * GENERIC_FAILURE
* PASSWORD_INCORRECT
* (old PIN is invalid)
*
@@ -1879,7 +2165,6 @@ typedef struct {
*
* SUCCESS
* RADIO_NOT_AVAILABLE (radio resetting)
- * GENERIC_FAILURE
* PASSWORD_INCORRECT
* (old PIN2 is invalid)
*
@@ -1902,7 +2187,6 @@ typedef struct {
*
* SUCCESS
* RADIO_NOT_AVAILABLE (radio resetting)
- * GENERIC_FAILURE
* PASSWORD_INCORRECT
* (code is invalid)
*/
@@ -1923,7 +2207,6 @@ typedef struct {
* SUCCESS
* RADIO_NOT_AVAILABLE (radio resetting)
* NO_MEMORY
- * GENERIC_FAILURE
* (request will be made again in a few hundred msec)
*/
@@ -1959,7 +2242,6 @@ typedef struct {
* DEVICE_IN_USE
* MODE_NOT_SUPPORTED
* ABORTED
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_DIAL 10
@@ -1977,7 +2259,6 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE (radio resetting)
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_GET_IMSI 11
@@ -2006,7 +2287,6 @@ typedef struct {
* NO_MEMORY
* INVALID_CALL_ID
* INVALID_ARGUMENTS
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_HANGUP 12
@@ -2034,7 +2314,6 @@ typedef struct {
* NO_RESOURCES
* OPERATION_NOT_ALLOWED
* INVALID_ARGUMENTS
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_HANGUP_WAITING_OR_BACKGROUND 13
@@ -2061,7 +2340,6 @@ typedef struct {
* OPERATION_NOT_ALLOWED
* INVALID_ARGUMENTS
* NO_RESOURCES
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_HANGUP_FOREGROUND_RESUME_BACKGROUND 14
@@ -2097,7 +2375,6 @@ typedef struct {
* INVALID_ARGUMENTS
* INVALID_CALL_ID
* OPERATION_NOT_ALLOWED
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_SWITCH_WAITING_OR_HOLDING_AND_ACTIVE 15
@@ -2121,7 +2398,6 @@ typedef struct {
* INVALID_CALL_ID
* INVALID_ARGUMENTS
* OPERATION_NOT_ALLOWED
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_CONFERENCE 16
@@ -2145,7 +2421,6 @@ typedef struct {
* INVALID_CALL_ID
* OPERATION_NOT_ALLOWED
* INVALID_ARGUMENTS
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_UDUB 17
@@ -2155,14 +2430,36 @@ typedef struct {
* Requests the failure cause code for the most recently terminated call
*
* "data" is NULL
- * "response" is a "int *"
- * ((int *)response)[0] is RIL_LastCallFailCause. GSM failure reasons are
- * mapped to cause codes defined in TS 24.008 Annex H where possible. CDMA
- * failure reasons are derived from the possible call failure scenarios
+ * "response" is a const RIL_LastCallFailCauseInfo *
+ * RIL_LastCallFailCauseInfo contains LastCallFailCause and vendor cause.
+ * The vendor cause code must be used for debugging purpose only.
+ * The implementation must return one of the values of LastCallFailCause
+ * as mentioned below.
+ *
+ * GSM failure reasons codes for the cause codes defined in TS 24.008 Annex H
+ * where possible.
+ * CDMA failure reasons codes for the possible call failure scenarios
* described in the "CDMA IS-2000 Release A (C.S0005-A v6.0)" standard.
- *
- * The implementation should return CALL_FAIL_ERROR_UNSPECIFIED for blocked
- * MO calls by restricted state (See RIL_UNSOL_RESTRICTED_STATE_CHANGED)
+ * Any of the following reason codes if the call is failed or dropped due to reason
+ * mentioned with in the braces.
+ *
+ * CALL_FAIL_RADIO_OFF (Radio is OFF)
+ * CALL_FAIL_OUT_OF_SERVICE (No cell coverage)
+ * CALL_FAIL_NO_VALID_SIM (No valid SIM)
+ * CALL_FAIL_RADIO_INTERNAL_ERROR (Modem hit unexpected error scenario)
+ * CALL_FAIL_NETWORK_RESP_TIMEOUT (No response from network)
+ * CALL_FAIL_NETWORK_REJECT (Explicit network reject)
+ * CALL_FAIL_RADIO_ACCESS_FAILURE (RRC connection failure. Eg.RACH)
+ * CALL_FAIL_RADIO_LINK_FAILURE (Radio Link Failure)
+ * CALL_FAIL_RADIO_LINK_LOST (Radio link lost due to poor coverage)
+ * CALL_FAIL_RADIO_UPLINK_FAILURE (Radio uplink failure)
+ * CALL_FAIL_RADIO_SETUP_FAILURE (RRC connection setup failure)
+ * CALL_FAIL_RADIO_RELEASE_NORMAL (RRC connection release, normal)
+ * CALL_FAIL_RADIO_RELEASE_ABNORMAL (RRC connection release, abnormal)
+ * CALL_FAIL_ACCESS_CLASS_BLOCKED (Access class barring)
+ * CALL_FAIL_NETWORK_DETACH (Explicit network detach)
+ *
+ * OEM causes (CALL_FAIL_OEM_CAUSE_XX) must be used for debug purpose only
*
* If the implementation does not have access to the exact cause codes,
* then it should return one of the values listed in RIL_LastCallFailCause,
@@ -2173,7 +2470,6 @@ typedef struct {
* SUCCESS
* RADIO_NOT_AVAILABLE
* NO_MEMORY
- * GENERIC_FAILURE
*
* See also: RIL_REQUEST_LAST_DATA_CALL_FAIL_CAUSE
*/
@@ -2193,6 +2489,12 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
+ * NO_MEMORY
+ * INTERNAL_ERR
+ * SYSTEM_ERR
+ * MODEM_ERR
+ * NOT_PROVISIONED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_SIGNAL_STRENGTH 19
@@ -2202,124 +2504,11 @@ typedef struct {
* Request current registration state
*
* "data" is NULL
- * "response" is a "char **"
- * ((const char **)response)[0] is registration state 0-6,
- * 0 - Not registered, MT is not currently searching
- * a new operator to register
- * 1 - Registered, home network
- * 2 - Not registered, but MT is currently searching
- * a new operator to register
- * 3 - Registration denied
- * 4 - Unknown
- * 5 - Registered, roaming
- * 10 - Same as 0, but indicates that emergency calls
- * are enabled.
- * 12 - Same as 2, but indicates that emergency calls
- * are enabled.
- * 13 - Same as 3, but indicates that emergency calls
- * are enabled.
- * 14 - Same as 4, but indicates that emergency calls
- * are enabled.
- *
- * ((const char **)response)[1] is LAC if registered on a GSM/WCDMA system or
- * NULL if not.Valid LAC are 0x0000 - 0xffff
- * ((const char **)response)[2] is CID if registered on a * GSM/WCDMA or
- * NULL if not.
- * Valid CID are 0x00000000 - 0xffffffff
- * In GSM, CID is Cell ID (see TS 27.007)
- * in 16 bits
- * In UMTS, CID is UMTS Cell Identity
- * (see TS 25.331) in 28 bits
- * ((const char **)response)[3] indicates the available voice radio technology,
- * valid values as defined by RIL_RadioTechnology.
- * ((const char **)response)[4] is Base Station ID if registered on a CDMA
- * system or NULL if not. Base Station ID in
- * decimal format
- * ((const char **)response)[5] is Base Station latitude if registered on a
- * CDMA system or NULL if not. Base Station
- * latitude is a decimal number as specified in
- * 3GPP2 C.S0005-A v6.0. It is represented in
- * units of 0.25 seconds and ranges from -1296000
- * to 1296000, both values inclusive (corresponding
- * to a range of -90 to +90 degrees).
- * ((const char **)response)[6] is Base Station longitude if registered on a
- * CDMA system or NULL if not. Base Station
- * longitude is a decimal number as specified in
- * 3GPP2 C.S0005-A v6.0. It is represented in
- * units of 0.25 seconds and ranges from -2592000
- * to 2592000, both values inclusive (corresponding
- * to a range of -180 to +180 degrees).
- * ((const char **)response)[7] is concurrent services support indicator if
- * registered on a CDMA system 0-1.
- * 0 - Concurrent services not supported,
- * 1 - Concurrent services supported
- * ((const char **)response)[8] is System ID if registered on a CDMA system or
- * NULL if not. Valid System ID are 0 - 32767
- * ((const char **)response)[9] is Network ID if registered on a CDMA system or
- * NULL if not. Valid System ID are 0 - 65535
- * ((const char **)response)[10] is the TSB-58 Roaming Indicator if registered
- * on a CDMA or EVDO system or NULL if not. Valid values
- * are 0-255.
- * ((const char **)response)[11] indicates whether the current system is in the
- * PRL if registered on a CDMA or EVDO system or NULL if
- * not. 0=not in the PRL, 1=in the PRL
- * ((const char **)response)[12] is the default Roaming Indicator from the PRL,
- * if registered on a CDMA or EVDO system or NULL if not.
- * Valid values are 0-255.
- * ((const char **)response)[13] if registration state is 3 (Registration
- * denied) this is an enumerated reason why
- * registration was denied. See 3GPP TS 24.008,
- * 10.5.3.6 and Annex G.
- * 0 - General
- * 1 - Authentication Failure
- * 2 - IMSI unknown in HLR
- * 3 - Illegal MS
- * 4 - Illegal ME
- * 5 - PLMN not allowed
- * 6 - Location area not allowed
- * 7 - Roaming not allowed
- * 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
- * to a UMTS network.
- *
- * Please note that registration state 4 ("unknown") is treated
- * as "out of service" in the Android telephony system
- *
- * Registration state 3 can be returned if Location Update Reject
- * (with cause 17 - Network Failure) is received repeatedly from the network,
- * to facilitate "managed roaming"
+ * "response" is a const RIL_VoiceRegistrationStateResponse *
*
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_VOICE_REGISTRATION_STATE 20
@@ -2329,46 +2518,17 @@ typedef struct {
* Request current DATA registration state
*
* "data" is NULL
- * "response" is a "char **"
- * ((const char **)response)[0] is registration state 0-5 from TS 27.007 10.1.20 AT+CGREG
- * ((const char **)response)[1] is LAC if registered or NULL if not
- * ((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.
- *
- * The values at offsets 6..10 are optional LTE location information in decimal.
- * If a value is unknown that value may be NULL. If all values are NULL,
- * none need to be present.
- * ((const char **)response)[6] is TAC, a 16-bit Tracking Area Code.
- * ((const char **)response)[7] is CID, a 0-503 Physical Cell Identifier.
- * ((const char **)response)[8] is ECI, a 28-bit E-UTRAN Cell Identifier.
- * ((const char **)response)[9] is CSGID, a 27-bit Closed Subscriber Group Identity.
- * ((const char **)response)[10] is TADV, a 6-bit timing advance value.
- *
- * LAC and CID are in hexadecimal format.
- * valid LAC are 0x0000 - 0xffff
- * valid CID are 0x00000000 - 0x0fffffff
- *
- * Please note that registration state 4 ("unknown") is treated
- * as "out of service" in the Android telephony system
+ * "response" is a const RIL_DataRegistrationStateResponse *
*
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
- * GENERIC_FAILURE
+ * NO_MEMORY
+ * INTERNAL_ERR
+ * SYSTEM_ERR
+ * MODEM_ERR
+ * NOT_PROVISIONED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_DATA_REGISTRATION_STATE 21
@@ -2390,7 +2550,10 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
- * GENERIC_FAILURE
+ * NO_MEMORY
+ * INTERNAL_ERR
+ * SYSTEM_ERR
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_OPERATOR 22
@@ -2416,7 +2579,16 @@ typedef struct {
* SUCCESS
* RADIO_NOT_AVAILABLE
* OPERATION_NOT_ALLOWED
- * GENERIC_FAILURE
+ * INVALID_STATE
+ * NO_MEMORY
+ * INTERNAL_ERR
+ * SYSTEM_ERR
+ * INVALID_ARGUMENTS
+ * MODEM_ERR
+ * DEVICE_IN_USE
+ * OPERATION_NOT_ALLOWED
+ * INVALID_MODEM_STATE
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_RADIO_POWER 23
@@ -2444,7 +2616,6 @@ typedef struct {
* MODEM_ERR
* INTERNAL_ERR
* INVALID_CALL_ID
- * GENERIC_FAILURE
*
* See also: RIL_REQUEST_DTMF_STOP, RIL_REQUEST_DTMF_START
*
@@ -2467,7 +2638,6 @@ typedef struct {
*
* Based on the return error, caller decides to resend if sending sms
* fails. SMS_SEND_FAIL_RETRY means retry (i.e. error cause is 332)
- * and GENERIC_FAILURE means no retry (i.e. error cause is 500)
*
* Valid errors:
* SUCCESS
@@ -2486,7 +2656,6 @@ typedef struct {
* MODEM_ERR
* NETWORK_ERR
* MODE_NOT_SUPPORTED
- * GENERIC_FAILURE
*
* FIXME how do we specify TP-Message-Reference if we need to resend?
*/
@@ -2511,7 +2680,6 @@ typedef struct {
*
* Based on the return error, caller decides to resend if sending sms
* fails. SMS_SEND_FAIL_RETRY means retry (i.e. error cause is 332)
- * and GENERIC_FAILURE means no retry (i.e. error cause is 500)
*
* Valid errors:
* SUCCESS
@@ -2530,7 +2698,6 @@ typedef struct {
* ENCODING_ERR
* INVALID_SMSC_ADDRESS
* MODE_NOT_SUPPORTED
- * GENERIC_FAILURE
*
*/
#define RIL_REQUEST_SEND_SMS_EXPECT_MORE 26
@@ -2570,10 +2737,30 @@ 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 connection type to request must be one of the
+ * ((const char **)data)[6] is the non-roaming/home 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] is the roaming 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.
+ * ((const char **)data)[8] is the bitmask of APN type in decimal string format. The
+ * bitmask will encapsulate the following values:
+ * ia,mms,agps,supl,hipri,fota,dun,ims,default.
+ * ((const char **)data)[9] is the bearer bitmask in decimal string format. Each bit is a
+ * RIL_RadioAccessFamily. "0" or NULL indicates all RATs.
+ * ((const char **)data)[10] is the boolean in string format indicating the APN setting was
+ * sent to the modem through RIL_REQUEST_SET_DATA_PROFILE earlier.
+ * ((const char **)data)[11] is the mtu size in bytes of the mobile interface to which
+ * the apn is connected.
+ * ((const char **)data)[12] is the MVNO type:
+ * possible values are "imsi", "gid", "spn".
+ * ((const char **)data)[13] is MVNO match data in string. Can be anything defined by the carrier.
+ * For example,
+ * SPN like: "A MOBILE", "BEN NL", etc...
+ * IMSI like: "302720x94", "2060188", etc...
+ * GID like: "4E", "33", etc...
+ * ((const char **)data)[14] is the boolean string indicating data roaming is allowed or not. "1"
+ * indicates data roaming is enabled by the user, "0" indicates disabled.
*
* "response" is a RIL_Data_Call_Response_v11
*
@@ -2585,8 +2772,9 @@ typedef struct {
* 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,
- * OP_NOT_ALLOWED_DURING_VOICE_CALL and REQUEST_NOT_SUPPORTED.
+ * RADIO_NOT_AVAILABLE, OP_NOT_ALLOWED_BEFORE_REG_TO_NW,
+ * OP_NOT_ALLOWED_DURING_VOICE_CALL and REQUEST_NOT_SUPPORTED,
+ * INVALID_ARGUMENTS
*
* See also: RIL_REQUEST_DEACTIVATE_DATA_CALL
*/
@@ -2614,7 +2802,6 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
- * GENERIC_FAILURE
* SIM_PIN2
* SIM_PUK2
*/
@@ -2655,7 +2842,6 @@ typedef struct {
* ABORTED
* SYSTEM_ERR
* INVALID_STATE
- * GENERIC_FAILURE
*
* See also: RIL_REQUEST_CANCEL_USSD, RIL_UNSOL_ON_USSD
*/
@@ -2679,7 +2865,6 @@ typedef struct {
* INTERNAL_ERR
* NO_MEMORY
* INVALID_STATE
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_CANCEL_USSD 30
@@ -2704,7 +2889,6 @@ typedef struct {
* INTERNAL_ERR
* FDN_CHECK_FAILURE
* SYSTEM_ERR
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_GET_CLIR 31
@@ -2724,7 +2908,6 @@ typedef struct {
* SS_MODIFIED_TO_SS
* INVALID_ARGUMENTS
* SYSTEM_ERR
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_SET_CLIR 32
@@ -2757,7 +2940,6 @@ typedef struct {
* INTERNAL_ERR
* NO_MEMORY
* FDN_CHECK_FAILURE
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_QUERY_CALL_FORWARD_STATUS 33
@@ -2783,7 +2965,6 @@ typedef struct {
* INTERNAL_ERR
* INVALID_STATE
* FDN_CHECK_FAILURE
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_SET_CALL_FORWARD 34
@@ -2818,7 +2999,6 @@ typedef struct {
* NO_MEMORY
* FDN_CHECK_FAILURE
* INVALID_ARGUMENTS
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_QUERY_CALL_WAITING 35
@@ -2846,7 +3026,6 @@ typedef struct {
* INTERNAL_ERR
* INVALID_STATE
* FDN_CHECK_FAILURE
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_SET_CALL_WAITING 36
@@ -2873,7 +3052,6 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_SMS_ACKNOWLEDGE 37
@@ -2891,7 +3069,12 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE (radio resetting)
- * GENERIC_FAILURE
+ * NO_MEMORY
+ * INTERNAL_ERR
+ * SYSTEM_ERR
+ * MODEM_ERR
+ * NOT_PROVISIONED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_GET_IMEI 38
@@ -2910,7 +3093,12 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE (radio resetting)
- * GENERIC_FAILURE
+ * NO_MEMORY
+ * INTERNAL_ERR
+ * SYSTEM_ERR
+ * MODEM_ERR
+ * NOT_PROVISIONED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_GET_IMEISV 39
@@ -2937,7 +3125,6 @@ typedef struct {
* MODEM_ERR
* INTERNAL_ERR
* INVALID_CALL_ID
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_ANSWER 40
@@ -2964,7 +3151,10 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
- * GENERIC_FAILURE
+ * INVALID_CALL_ID
+ * INVALID_STATE
+ * INVALID_ARGUMENTS
+ * REQUEST_NOT_SUPPORTED
*
* See also: RIL_REQUEST_SETUP_DATA_CALL
*/
@@ -3003,7 +3193,6 @@ typedef struct {
* SYSTEM_ERR
* MODEM_ERR
* FDN_CHECK_FAILURE
- * GENERIC_FAILURE
*
*/
#define RIL_REQUEST_QUERY_FACILITY_LOCK 42
@@ -3041,7 +3230,6 @@ typedef struct {
* MODEM_ERR
* INVALID_STATE
* FDN_CHECK_FAILURE
- * GENERIC_FAILURE
*
*/
#define RIL_REQUEST_SET_FACILITY_LOCK 43
@@ -3072,7 +3260,6 @@ typedef struct {
* INTERNAL_ERR
* SYSTEM_ERR
* FDN_CHECK_FAILURE
- * GENERIC_FAILURE
*
*/
#define RIL_REQUEST_CHANGE_BARRING_PASSWORD 44
@@ -3092,7 +3279,12 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
- * GENERIC_FAILURE
+ * NO_MEMORY
+ * INTERNAL_ERR
+ * SYSTEM_ERR
+ * INVALID_ARGUMENTS
+ * MODEM_ERR
+ * REQUEST_NOT_SUPPORTED
*
*/
#define RIL_REQUEST_QUERY_NETWORK_SELECTION_MODE 45
@@ -3113,12 +3305,15 @@ typedef struct {
* RADIO_NOT_AVAILABLE
* ILLEGAL_SIM_OR_ME
* OPERATION_NOT_ALLOWED
- * GENERIC_FAILURE
+ * NO_MEMORY
+ * INTERNAL_ERR
+ * SYSTEM_ERR
+ * INVALID_ARGUMENTS
+ * MODEM_ERR
+ * REQUEST_NOT_SUPPORTED
*
* Note: Returns ILLEGAL_SIM_OR_ME when the failure is permanent and
* no retries needed, such as illegal SIM or ME.
- * Returns GENERIC_FAILURE for all other causes that might be
- * fixed by retries.
*
*/
#define RIL_REQUEST_SET_NETWORK_SELECTION_AUTOMATIC 46
@@ -3139,12 +3334,16 @@ typedef struct {
* RADIO_NOT_AVAILABLE
* ILLEGAL_SIM_OR_ME
* OPERATION_NOT_ALLOWED
- * GENERIC_FAILURE
+ * INVALID_STATE
+ * NO_MEMORY
+ * INTERNAL_ERR
+ * SYSTEM_ERR
+ * INVALID_ARGUMENTS
+ * MODEM_ERR
+ * REQUEST_NOT_SUPPORTED
*
* Note: Returns ILLEGAL_SIM_OR_ME when the failure is permanent and
* no retries needed, such as illegal SIM or ME.
- * Returns GENERIC_FAILURE for all other causes that might be
- * fixed by retries.
*
*/
#define RIL_REQUEST_SET_NETWORK_SELECTION_MANUAL 47
@@ -3168,14 +3367,18 @@ typedef struct {
* "current"
* "forbidden"
*
- * This request must not respond until the new operator is selected
- * and registered
- *
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
* OPERATION_NOT_ALLOWED
- * GENERIC_FAILURE
+ * ABORTED
+ * DEVICE_IN_USE
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * MODEM_ERR
+ * REQUEST_NOT_SUPPORTED
+ * CANCELLED
+ * OPERATION_NOT_ALLOWED
*
*/
#define RIL_REQUEST_QUERY_AVAILABLE_NETWORKS 48
@@ -3203,7 +3406,6 @@ typedef struct {
* MODEM_ERR
* INTERNAL_ERR
* INVALID_CALL_ID
- * GENERIC_FAILURE
*
* See also: RIL_REQUEST_DTMF, RIL_REQUEST_DTMF_STOP
*/
@@ -3228,7 +3430,6 @@ typedef struct {
* MODEM_ERR
* INTERNAL_ERR
* INVALID_CALL_ID
- * GENERIC_FAILURE
*
* See also: RIL_REQUEST_DTMF, RIL_REQUEST_DTMF_START
*/
@@ -3247,7 +3448,12 @@ typedef struct {
* SUCCESS
* RADIO_NOT_AVAILABLE
* EMPTY_RECORD
- * GENERIC_FAILURE
+ * NO_MEMORY
+ * INTERNAL_ERR
+ * SYSTEM_ERR
+ * MODEM_ERR
+ * NOT_PROVISIONED
+ * REQUEST_NOT_SUPPORTED
*
*/
#define RIL_REQUEST_BASEBAND_VERSION 51
@@ -3283,7 +3489,6 @@ typedef struct {
* INVALID_CALL_ID
* INVALID_STATE
* OPERATION_NOT_ALLOWED
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_SEPARATE_CONNECTION 52
@@ -3307,7 +3512,6 @@ typedef struct {
* INVALID_ARGUMENTS
* NO_MEMORY
* REQUEST_RATE_LIMITED
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_SET_MUTE 53
@@ -3329,7 +3533,6 @@ typedef struct {
* SS_MODIFIED_TO_SS
* NO_MEMORY
* REQUEST_RATE_LIMITED
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_GET_MUTE 54
@@ -3355,7 +3558,6 @@ typedef struct {
* MODEM_ERR
* INTERNAL_ERR
* FDN_CHECK_FAILURE
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_QUERY_CLIP 55
@@ -3383,7 +3585,6 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
- * GENERIC_FAILURE
*
* See also: RIL_REQUEST_LAST_CALL_FAIL_CAUSE
*
@@ -3406,7 +3607,6 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE (radio resetting)
- * GENERIC_FAILURE
*
* See also: RIL_UNSOL_DATA_CALL_LIST_CHANGED
*/
@@ -3428,7 +3628,6 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE (radio resetting)
- * GENERIC_FAILURE
* REQUEST_NOT_SUPPORTED
*/
@@ -3489,7 +3688,7 @@ typedef struct {
#define RIL_REQUEST_OEM_HOOK_STRINGS 60
/**
- * RIL_REQUEST_SCREEN_STATE
+ * RIL_REQUEST_SCREEN_STATE - DEPRECATED
*
* Indicates the current state of the screen. When the screen is off, the
* RIL should notify the baseband to suppress certain notifications (eg,
@@ -3497,6 +3696,10 @@ typedef struct {
* in an effort to conserve power. These notifications should resume when the
* screen is on.
*
+ * Note this request is deprecated. Use RIL_REQUEST_SEND_DEVICE_STATE to report the device state
+ * to the modem and use RIL_REQUEST_SET_UNSOLICITED_RESPONSE_FILTER to turn on/off unsolicited
+ * response from the modem in different scenarios.
+ *
* "data" is int *
* ((int *)data)[0] is == 1 for "Screen On"
* ((int *)data)[0] is == 0 for "Screen Off"
@@ -3505,7 +3708,11 @@ typedef struct {
*
* Valid errors:
* SUCCESS
- * GENERIC_FAILURE
+ * NO_MEMORY
+ * INTERNAL_ERR
+ * SYSTEM_ERR
+ * INVALID_ARGUMENTS
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_SCREEN_STATE 61
@@ -3533,7 +3740,6 @@ typedef struct {
* SYSTEM_ERR
* MODEM_ERR
* INTERNAL_ERR
- * GENERIC_FAILURE
*
* See also: RIL_UNSOL_SUPP_SVC_NOTIFICATION.
*/
@@ -3562,7 +3768,6 @@ typedef struct {
* INVALID_MODEM_STATE
* MODE_NOT_SUPPORTED
* INVALID_SMSC_ADDRESS
- * GENERIC_FAILURE
*
*/
#define RIL_REQUEST_WRITE_SMS_TO_SIM 63
@@ -3586,7 +3791,6 @@ typedef struct {
* SYSTEM_ERR
* MODEM_ERR
* NO_SUCH_ENTRY
- * GENERIC_FAILURE
*
*/
#define RIL_REQUEST_DELETE_SMS_ON_SIM 64
@@ -3605,7 +3809,12 @@ typedef struct {
* SUCCESS
* RADIO_NOT_AVAILABLE
* OPERATION_NOT_ALLOWED
- * GENERIC_FAILURE
+ * NO_MEMORY
+ * INTERNAL_ERR
+ * SYSTEM_ERR
+ * INVALID_ARGUMENTS
+ * MODEM_ERR
+ * REQUEST_NOT_SUPPORTED
*
* See also: RIL_REQUEST_QUERY_AVAILABLE_BAND_MODE
*/
@@ -3625,7 +3834,11 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
- * GENERIC_FAILURE
+ * NO_MEMORY
+ * INTERNAL_ERR
+ * SYSTEM_ERR
+ * MODEM_ERR
+ * REQUEST_NOT_SUPPORTED
*
* See also: RIL_REQUEST_SET_BAND_MODE
*/
@@ -3646,7 +3859,6 @@ typedef struct {
* Valid errors:
* RIL_E_SUCCESS
* RIL_E_RADIO_NOT_AVAILABLE (radio resetting)
- * RIL_E_GENERIC_FAILURE
*/
#define RIL_REQUEST_STK_GET_PROFILE 67
@@ -3664,7 +3876,6 @@ typedef struct {
* Valid errors:
* RIL_E_SUCCESS
* RIL_E_RADIO_NOT_AVAILABLE (radio resetting)
- * RIL_E_GENERIC_FAILURE
*/
#define RIL_REQUEST_STK_SET_PROFILE 68
@@ -3686,7 +3897,6 @@ typedef struct {
* RIL_E_RADIO_NOT_AVAILABLE (radio resetting)
* SIM_BUSY
* OPERATION_NOT_ALLOWED
- * RIL_E_GENERIC_FAILURE
*/
#define RIL_REQUEST_STK_SEND_ENVELOPE_COMMAND 69
@@ -3705,7 +3915,6 @@ typedef struct {
* RIL_E_SUCCESS
* RIL_E_RADIO_NOT_AVAILABLE (radio resetting)
* RIL_E_OPERATION_NOT_ALLOWED
- * RIL_E_GENERIC_FAILURE
*/
#define RIL_REQUEST_STK_SEND_TERMINAL_RESPONSE 70
@@ -3727,7 +3936,6 @@ typedef struct {
* RIL_E_SUCCESS
* RIL_E_RADIO_NOT_AVAILABLE (radio resetting)
* RIL_E_OPERATION_NOT_ALLOWED
- * RIL_E_GENERIC_FAILURE
*/
#define RIL_REQUEST_STK_HANDLE_CALL_SETUP_REQUESTED_FROM_SIM 71
@@ -3752,7 +3960,6 @@ typedef struct {
* INVALID_CALL_ID
* INVALID_STATE
* OPERATION_NOT_ALLOWED
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_EXPLICIT_CALL_TRANSFER 72
@@ -3769,9 +3976,14 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE (radio resetting)
- * GENERIC_FAILURE
* OPERATION_NOT_ALLOWED
* MODE_NOT_SUPPORTED
+ * NO_MEMORY
+ * INTERNAL_ERR
+ * SYSTEM_ERR
+ * INVALID_ARGUMENTS
+ * MODEM_ERR
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_SET_PREFERRED_NETWORK_TYPE 73
@@ -3789,7 +4001,12 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
- * GENERIC_FAILURE
+ * NO_MEMORY
+ * INTERNAL_ERR
+ * SYSTEM_ERR
+ * INVALID_ARGUMENTS
+ * MODEM_ERR
+ * REQUEST_NOT_SUPPORTED
*
* See also: RIL_REQUEST_SET_PREFERRED_NETWORK_TYPE
*/
@@ -3806,7 +4023,12 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
- * GENERIC_FAILURE
+ * NO_MEMORY
+ * INTERNAL_ERR
+ * SYSTEM_ERR
+ * MODEM_ERR
+ * NO_NETWORK_FOUND
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_GET_NEIGHBORING_CELL_IDS 75
@@ -3829,7 +4051,12 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
- * GENERIC_FAILURE
+ * NO_MEMORY
+ * INTERNAL_ERR
+ * SYSTEM_ERR
+ * INVALID_ARGUMENTS
+ * MODEM_ERR
+ * REQUEST_NOT_SUPPORTED
*
* See also: RIL_REQUEST_SCREEN_STATE, RIL_UNSOL_RESPONSE_NETWORK_STATE_CHANGED
*/
@@ -3849,7 +4076,6 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
- * GENERIC_FAILURE
* SIM_ABSENT
* SUBSCRIPTION_NOT_AVAILABLE
*
@@ -3872,7 +4098,13 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
- * GENERIC_FAILURE
+ * NO_MEMORY
+ * INTERNAL_ERR
+ * SYSTEM_ERR
+ * INVALID_ARGUMENTS
+ * MODEM_ERR
+ * REQUEST_NOT_SUPPORTED
+ * OPERATION_NOT_ALLOWED
*/
#define RIL_REQUEST_CDMA_SET_ROAMING_PREFERENCE 78
@@ -3893,7 +4125,12 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
- * GENERIC_FAILURE
+ * NO_MEMORY
+ * INTERNAL_ERR
+ * SYSTEM_ERR
+ * INVALID_ARGUMENTS
+ * MODEM_ERR
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_CDMA_QUERY_ROAMING_PREFERENCE 79
@@ -3921,7 +4158,6 @@ typedef struct {
* MODEM_ERR
* INTERNAL_ERR
* NO_MEMORYY
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_SET_TTY_MODE 80
@@ -3947,7 +4183,6 @@ typedef struct {
* INTERNAL_ERR
* NO_MEMORY
* INVALID_ARGUMENTS
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_QUERY_TTY_MODE 81
@@ -3972,7 +4207,6 @@ typedef struct {
* INTERNAL_ERR
* NO_MEMORY
* INVALID_CALL_ID
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_CDMA_SET_PREFERRED_VOICE_PRIVACY_MODE 82
@@ -3996,7 +4230,6 @@ typedef struct {
* INTERNAL_ERR
* NO_MEMORY
* INVALID_ARGUMENTS
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_CDMA_QUERY_PREFERRED_VOICE_PRIVACY_MODE 83
@@ -4020,7 +4253,6 @@ typedef struct {
* INTERNAL_ERR
* INVALID_CALL_ID
* INVALID_STATE
- * GENERIC_FAILURE
*
*/
#define RIL_REQUEST_CDMA_FLASH 84
@@ -4048,7 +4280,6 @@ typedef struct {
* MODEM_ERR
* INTERNAL_ERR
* INVALID_CALL_ID
- * GENERIC_FAILURE
*
*/
#define RIL_REQUEST_CDMA_BURST_DTMF 85
@@ -4072,7 +4303,12 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
- * GENERIC_FAILURE
+ * NO_MEMORY
+ * INTERNAL_ERR
+ * SYSTEM_ERR
+ * INVALID_ARGUMENTS
+ * MODEM_ERR
+ * REQUEST_NOT_SUPPORTED
*
*/
#define RIL_REQUEST_CDMA_VALIDATE_AND_WRITE_AKEY 86
@@ -4090,7 +4326,6 @@ typedef struct {
* fails. The CDMA error class is derived as follows,
* SUCCESS is error class 0 (no error)
* SMS_SEND_FAIL_RETRY is error class 2 (temporary failure)
- * and GENERIC_FAILURE is error class 3 (permanent and no retry)
*
* Valid errors:
* SUCCESS
@@ -4109,7 +4344,6 @@ typedef struct {
* ENCODING_ERR
* INVALID_SMSC_ADDRESS
* MODE_NOT_SUPPORTED
- * GENERIC_FAILURE
*
*/
#define RIL_REQUEST_CDMA_SEND_SMS 87
@@ -4138,7 +4372,6 @@ typedef struct {
* MODE_NOT_SUPPORTED
* NETWORK_NOT_READY
* INVALID_MODEM_STATE
- * GENERIC_FAILURE
*
*/
#define RIL_REQUEST_CDMA_SMS_ACKNOWLEDGE 88
@@ -4163,7 +4396,6 @@ typedef struct {
* NO_RESOURCES
* MODEM_ERR
* SYSTEM_ERR
- * GENERIC_FAILURE
*
*/
#define RIL_REQUEST_GSM_GET_BROADCAST_SMS_CONFIG 89
@@ -4188,7 +4420,6 @@ typedef struct {
* REQUEST_RATE_LIMITED
* MODEM_ERR
* SYSTEM_ERR
- * GENERIC_FAILURE
*
*/
#define RIL_REQUEST_GSM_SET_BROADCAST_SMS_CONFIG 90
@@ -4214,7 +4445,6 @@ typedef struct {
* SYSTEM_ERR
* REQUEST_RATE_LIMITED
* MODEM_ERR
- * GENERIC_FAILURE
*
*/
#define RIL_REQUEST_GSM_SMS_BROADCAST_ACTIVATION 91
@@ -4239,7 +4469,6 @@ typedef struct {
* NO_RESOURCES
* MODEM_ERR
* SYSTEM_ERR
- * GENERIC_FAILURE
*
*/
#define RIL_REQUEST_CDMA_GET_BROADCAST_SMS_CONFIG 92
@@ -4249,7 +4478,7 @@ typedef struct {
*
* Set CDMA Broadcast SMS config
*
- * "data" is an const RIL_CDMA_BroadcastSmsConfigInfo **
+ * "data" is a const RIL_CDMA_BroadcastSmsConfigInfo **
* "datalen" is count * sizeof(const RIL_CDMA_BroadcastSmsConfigInfo *)
*
* "response" is NULL
@@ -4264,7 +4493,6 @@ typedef struct {
* REQUEST_RATE_LIMITED
* MODEM_ERR
* SYSTEM_ERR
- * GENERIC_FAILURE
*
*/
#define RIL_REQUEST_CDMA_SET_BROADCAST_SMS_CONFIG 93
@@ -4290,7 +4518,6 @@ typedef struct {
* SYSTEM_ERR
* REQUEST_RATE_LIMITED
* MODEM_ERR
- * GENERIC_FAILURE
*
*/
#define RIL_REQUEST_CDMA_SMS_BROADCAST_ACTIVATION 94
@@ -4319,6 +4546,14 @@ typedef struct {
* Valid errors:
* SUCCESS
* RIL_E_SUBSCRIPTION_NOT_AVAILABLE
+ * NO_MEMORY
+ * INTERNAL_ERR
+ * SYSTEM_ERR
+ * INVALID_ARGUMENTS
+ * MODEM_ERR
+ * NOT_PROVISIONED
+ * REQUEST_NOT_SUPPORTED
+ *
*/
#define RIL_REQUEST_CDMA_SUBSCRIPTION 95
@@ -4347,7 +4582,6 @@ typedef struct {
* INVALID_MODEM_STATE
* MODE_NOT_SUPPORTED
* INVALID_SMSC_ADDRESS
- * GENERIC_FAILURE
*
*/
#define RIL_REQUEST_CDMA_WRITE_SMS_TO_RUIM 96
@@ -4371,7 +4605,6 @@ typedef struct {
* SYSTEM_ERR
* MODEM_ERR
* NO_SUCH_ENTRY
- * GENERIC_FAILURE
*
*/
#define RIL_REQUEST_CDMA_DELETE_SMS_ON_RUIM 97
@@ -4400,7 +4633,14 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
- * GENERIC_FAILURE
+ * NO_MEMORY
+ * INTERNAL_ERR
+ * SYSTEM_ERR
+ * INVALID_ARGUMENTS
+ * MODEM_ERR
+ * NOT_PROVISIONED
+ * REQUEST_NOT_SUPPORTED
+ *
*/
#define RIL_REQUEST_DEVICE_IDENTITY 98
@@ -4419,7 +4659,12 @@ typedef struct {
* SUCCESS
* RADIO_NOT_AVAILABLE
* OPERATION_NOT_ALLOWED
- * GENERIC_FAILURE
+ * NO_MEMORY
+ * INTERNAL_ERR
+ * SYSTEM_ERR
+ * INVALID_ARGUMENTS
+ * MODEM_ERR
+ * REQUEST_NOT_SUPPORTED
*
*/
#define RIL_REQUEST_EXIT_EMERGENCY_CALLBACK_MODE 99
@@ -4444,7 +4689,6 @@ typedef struct {
* INVALID_ARGUMENTS
* INVALID_MODEM_STATE
* NOT_PROVISIONED
- * GENERIC_FAILURE
*
*/
#define RIL_REQUEST_GET_SMSC_ADDRESS 100
@@ -4468,7 +4712,6 @@ typedef struct {
* REQUEST_RATE_LIMITED
* MODEM_ERR
* NO_RESOURCES
- * GENERIC_FAILURE
*
*/
#define RIL_REQUEST_SET_SMSC_ADDRESS 101
@@ -4493,7 +4736,6 @@ typedef struct {
* SYSTEM_ERR
* REQUEST_RATE_LIMITED
* MODEM_ERR
- * GENERIC_FAILURE
*
*/
#define RIL_REQUEST_REPORT_SMS_MEMORY_STATUS 102
@@ -4510,7 +4752,6 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
- * GENERIC_FAILURE
*
*/
#define RIL_REQUEST_REPORT_STK_SERVICE_IS_RUNNING 103
@@ -4529,7 +4770,6 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
- * GENERIC_FAILURE
* SUBSCRIPTION_NOT_AVAILABLE
*
* See also: RIL_REQUEST_CDMA_SET_SUBSCRIPTION_SOURCE
@@ -4548,7 +4788,6 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_ISIM_AUTHENTICATION 105
@@ -4569,7 +4808,6 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_ACKNOWLEDGE_INCOMING_GSM_SMS_WITH_PDU 106
@@ -4597,7 +4835,6 @@ typedef struct {
* RIL_E_RADIO_NOT_AVAILABLE (radio resetting)
* SIM_BUSY
* OPERATION_NOT_ALLOWED
- * RIL_E_GENERIC_FAILURE
*/
#define RIL_REQUEST_STK_SEND_ENVELOPE_WITH_STATUS 107
@@ -4614,7 +4851,6 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_VOICE_RADIO_TECH 108
@@ -4629,6 +4865,17 @@ typedef struct {
* "data" is NULL
*
* "response" is an array of RIL_CellInfo_v12.
+ *
+ * Valid errors:
+ * SUCCESS
+ * RADIO_NOT_AVAILABLE
+ * NO_MEMORY
+ * INTERNAL_ERR
+ * SYSTEM_ERR
+ * MODEM_ERR
+ * NO_NETWORK_FOUND
+ * REQUEST_NOT_SUPPORTED
+ *
*/
#define RIL_REQUEST_GET_CELL_INFO_LIST 109
@@ -4648,7 +4895,11 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
- * GENERIC_FAILURE
+ * NO_MEMORY
+ * INTERNAL_ERR
+ * SYSTEM_ERR
+ * INVALID_ARGUMENTS
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_SET_UNSOL_CELL_INFO_LIST_RATE 110
@@ -4656,19 +4907,43 @@ typedef struct {
* RIL_REQUEST_SET_INITIAL_ATTACH_APN
*
* Set an apn to initial attach network
+ *
+ * "data" is a const char **
+ * ((const char **)data)[0] is the APN to connect if radio technology is LTE
+ * ((const char **)data)[1] 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)[2] is the PAP / CHAP auth type. Values:
+ * 0 => PAP and CHAP is never performed.
+ * 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)[3] is the username for APN, or NULL
+ * ((const char **)data)[4] is the password for APN, or NULL
+ *
* "response" is NULL
*
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE (radio resetting)
- * GENERIC_FAILURE
* SUBSCRIPTION_NOT_AVAILABLE
+ * NO_MEMORY
+ * INTERNAL_ERR
+ * SYSTEM_ERR
+ * INVALID_ARGUMENTS
+ * MODEM_ERR
+ * NOT_PROVISIONED
+ * REQUEST_NOT_SUPPORTED
+ *
*/
#define RIL_REQUEST_SET_INITIAL_ATTACH_APN 111
/**
* RIL_REQUEST_IMS_REGISTRATION_STATE
*
+ * This message is DEPRECATED and shall be removed in a future release (target: 2018);
+ * instead, provide IMS registration status via an IMS Service.
+ *
* Request current IMS registration state
*
* "data" is NULL
@@ -4686,7 +4961,6 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_IMS_REGISTRATION_STATE 112
@@ -4720,7 +4994,6 @@ typedef struct {
* ENCODING_ERR
* INVALID_SMSC_ADDRESS
* MODE_NOT_SUPPORTED
- * GENERIC_FAILURE
*
*/
#define RIL_REQUEST_IMS_SEND_SMS 113
@@ -4741,7 +5014,6 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_SIM_TRANSMIT_APDU_BASIC 114
@@ -4749,9 +5021,10 @@ typedef struct {
* RIL_REQUEST_SIM_OPEN_CHANNEL
*
* Open a new logical channel and select the given application. This command
- * reflects TS 27.007 "open logical channel" operation (+CCHO).
+ * reflects TS 27.007 "open logical channel" operation (+CCHO). This request
+ * also specifies the P2 parameter (described in ISO 7816-4).
*
- * "data" is const char * and set to AID value, See ETSI 102.221 and 101.220.
+ * "data" is a const RIL_OpenChannelParam *
*
* "response" is int *
* ((int *)data)[0] contains the session id of the logical channel.
@@ -4761,7 +5034,6 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
- * GENERIC_FAILURE
* MISSING_RESOURCE
* NO_SUCH_ELEMENT
*/
@@ -4781,7 +5053,6 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_SIM_CLOSE_CHANNEL 116
@@ -4800,7 +5071,6 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_SIM_TRANSMIT_APDU_CHANNEL 117
@@ -4817,7 +5087,6 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_NV_READ_ITEM 118
@@ -4834,7 +5103,6 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_NV_WRITE_ITEM 119
@@ -4851,7 +5119,6 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_NV_WRITE_CDMA_PRL 120
@@ -4871,7 +5138,6 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
- * GENERIC_FAILURE
*/
#define RIL_REQUEST_NV_RESET_CONFIG 121
@@ -4887,8 +5153,13 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE (radio resetting)
- * GENERIC_FAILURE
* SUBSCRIPTION_NOT_SUPPORTED
+ * NO_MEMORY
+ * INTERNAL_ERR
+ * SYSTEM_ERR
+ * INVALID_ARGUMENTS
+ * MODEM_ERR
+ * REQUEST_NOT_SUPPORTED
*
*/
#define RIL_REQUEST_SET_UICC_SUBSCRIPTION 122
@@ -4909,7 +5180,14 @@ typedef struct {
*
* SUCCESS
* RADIO_NOT_AVAILABLE (radio resetting)
- * GENERIC_FAILURE
+ * NO_MEMORY
+ * INTERNAL_ERR
+ * SYSTEM_ERR
+ * MODEM_ERR
+ * INVALID_ARGUMENTS
+ * DEVICE_IN_USE
+ * INVALID_MODEM_STATE
+ * REQUEST_NOT_SUPPORTED
*
*/
#define RIL_REQUEST_ALLOW_DATA 123
@@ -4960,7 +5238,7 @@ typedef struct {
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
- * GENERIC_FAILURE
+ * REQUEST_NOT_SUPPORTED
*
* See also: RIL_UNSOL_DC_RT_INFO_CHANGED
*/
@@ -4989,14 +5267,13 @@ typedef struct {
*
* Set data profile in modem
* Modem should erase existed profiles from framework, and apply new profiles
- * "data" is an const RIL_DataProfileInfo **
+ * "data" is a const RIL_DataProfileInfo **
* "datalen" is count * sizeof(const RIL_DataProfileInfo *)
* "response" is NULL
*
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE (radio resetting)
- * GENERIC_FAILURE
* SUBSCRIPTION_NOT_AVAILABLE
*/
#define RIL_REQUEST_SET_DATA_PROFILE 128
@@ -5014,7 +5291,10 @@ typedef struct {
* SUCCESS
* RADIO_NOT_AVAILABLE
* OPERATION_NOT_ALLOWED
- * GENERIC_FAILURE
+ * NO_MEMORY
+ * INTERNAL_ERR
+ * SYSTEM_ERR
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_SHUTDOWN 129
@@ -5081,7 +5361,8 @@ typedef struct {
* SUCCESS
* RADIO_NOT_AVAILABLE
* OPERATION_NOT_ALLOWED
- * GENERIC_FAILURE
+ * INVALID_STATE
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_GET_RADIO_CAPABILITY 130
@@ -5101,7 +5382,13 @@ typedef struct {
* SUCCESS means a RIL_UNSOL_RADIO_CAPABILITY will be sent within 30 seconds.
* RADIO_NOT_AVAILABLE
* OPERATION_NOT_ALLOWED
- * GENERIC_FAILURE
+ * NO_MEMORY
+ * INTERNAL_ERR
+ * SYSTEM_ERR
+ * INVALID_ARGUMENTS
+ * MODEM_ERR
+ * INVALID_STATE
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_SET_RADIO_CAPABILITY 131
@@ -5120,6 +5407,8 @@ typedef struct {
* SUCCESS
* RADIO_NOT_AVAILABLE
* LCE_NOT_SUPPORTED
+ * INTERNAL_ERR
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_START_LCE 132
@@ -5168,7 +5457,12 @@ typedef struct {
*
* SUCCESS
* RADIO_NOT_AVAILABLE (radio resetting)
- * GENERIC_FAILURE
+ * NO_MEMORY
+ * INTERNAL_ERR
+ * SYSTEM_ERR
+ * MODEM_ERR
+ * NOT_PROVISIONED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_GET_ACTIVITY_INFO 135
@@ -5211,6 +5505,81 @@ typedef struct {
*/
#define RIL_REQUEST_GET_CARRIER_RESTRICTIONS 137
+/**
+ * RIL_REQUEST_SEND_DEVICE_STATE
+ *
+ * Send the updated device state.
+ * Modem can perform power saving based on the provided device state.
+ * "data" is const int *
+ * ((const int*)data)[0] A RIL_DeviceStateType that specifies the device state type.
+ * ((const int*)data)[1] Specifies the state. See RIL_DeviceStateType for the definition of each
+ * type.
+ *
+ * "datalen" is count * sizeof(const RIL_DeviceState *)
+ * "response" is NULL
+ *
+ * Valid errors:
+ * SUCCESS
+ * RADIO_NOT_AVAILABLE (radio resetting)
+ * NO_MEMORY
+ * INTERNAL_ERR
+ * SYSTEM_ERR
+ * INVALID_ARGUMENTS
+ * REQUEST_NOT_SUPPORTED
+ */
+#define RIL_REQUEST_SEND_DEVICE_STATE 138
+
+/**
+ * RIL_REQUEST_SET_UNSOLICITED_RESPONSE_FILTER
+ *
+ * Set the unsolicited response filter
+ * This is used to prevent unnecessary application processor
+ * wake up for power saving purposes by suppressing the
+ * unsolicited responses in certain scenarios.
+ *
+ * "data" is an int *
+ *
+ * ((int *)data)[0] is a 32-bit bitmask of RIL_UnsolicitedResponseFilter
+ *
+ * "response" is NULL
+ *
+ * Valid errors:
+ * SUCCESS
+ * INVALID_ARGUMENTS (e.g. the requested filter doesn't exist)
+ * RADIO_NOT_AVAILABLE (radio resetting)
+ * NO_MEMORY
+ * INTERNAL_ERR
+ * SYSTEM_ERR
+ * REQUEST_NOT_SUPPORTED
+ */
+#define RIL_REQUEST_SET_UNSOLICITED_RESPONSE_FILTER 139
+
+ /**
+ * RIL_REQUEST_SET_SIM_CARD_POWER
+ *
+ * Set SIM card power up or down
+ *
+ * Request is equivalent to inserting and removing the card, with
+ * an additional effect where the ability to detect card removal/insertion
+ * is disabled when the SIM card is powered down.
+ *
+ * This will generate RIL_UNSOL_RESPONSE_SIM_STATUS_CHANGED
+ * as if the SIM had been inserted or removed.
+ *
+ * "data" is int *
+ * ((int *)data)[0] is 1 for "SIM POWER UP"
+ * ((int *)data)[0] is 0 for "SIM POWER DOWN"
+ *
+ * "response" is NULL
+ *
+ * Valid errors:
+ * SUCCESS
+ * RADIO_NOT_AVAILABLE
+ * REQUEST_NOT_SUPPORTED
+ * SIM_ABSENT
+ * INVALID_ARGUMENTS
+ */
+#define RIL_REQUEST_SET_SIM_CARD_POWER 140
/***********************************************************************/
/**
@@ -5719,6 +6088,9 @@ typedef struct {
/**
* RIL_UNSOL_RESPONSE_IMS_NETWORK_STATE_CHANGED
*
+ * This message is DEPRECATED and shall be removed in a future release (target: 2018);
+ * instead, provide IMS registration status via an IMS Service.
+ *
* Called when IMS registration state has changed
*
* To get IMS registration state and IMS SMS format, callee needs to invoke the
@@ -5838,6 +6210,28 @@ typedef struct {
*
*/
#define RIL_UNSOL_PCO_DATA 1046
+ /**
+ * RIL_UNSOL_MODEM_RESTART
+ *
+ * Called when there is a modem reset.
+ *
+ * "reason" is "const char *" containing the reason for the reset. It
+ * could be a crash signature if the restart was due to a crash or some
+ * string such as "user-initiated restart" or "AT command initiated
+ * restart" that explains the cause of the modem restart.
+ *
+ * When modem restarts, one of the following radio state transitions will happen
+ * 1) RADIO_STATE_ON->RADIO_STATE_UNAVAILABLE->RADIO_STATE_ON or
+ * 2) RADIO_STATE_OFF->RADIO_STATE_UNAVAILABLE->RADIO_STATE_OFF
+ * This message can be sent either just before the RADIO_STATE changes to RADIO_STATE_UNAVAILABLE
+ * or just after but should never be sent after the RADIO_STATE changes from UNAVAILABLE to
+ * AVAILABLE(RADIO_STATE_ON/RADIO_STATE_OFF) again.
+ *
+ * It should NOT be sent after the RADIO_STATE changes to AVAILABLE after the
+ * modem restart as that could be interpreted as a second modem reset by the
+ * framework.
+ */
+#define RIL_UNSOL_MODEM_RESTART 1047
/***********************************************************************/
@@ -5968,14 +6362,41 @@ typedef struct {
} RIL_RadioFunctions;
typedef struct {
- char *apn;
- char *protocol;
- int authtype;
- char *username;
- char *password;
+ char *apn; /* the APN to connect to */
+ char *protocol; /* one of the PDP_type values in TS 27.007 section 10.1.1 used on
+ roaming network. For example, "IP", "IPV6", "IPV4V6", or "PPP".*/
+ int authtype; /* authentication protocol used for this PDP context
+ (None: 0, PAP: 1, CHAP: 2, PAP&CHAP: 3) */
+ char *username; /* the username for APN, or NULL */
+ char *password; /* the password for APN, or NULL */
} RIL_InitialAttachApn;
typedef struct {
+ char *apn; /* the APN to connect to */
+ char *protocol; /* one of the PDP_type values in TS 27.007 section 10.1.1 used on
+ home network. For example, "IP", "IPV6", "IPV4V6", or "PPP". */
+ char *roamingProtocol; /* one of the PDP_type values in TS 27.007 section 10.1.1 used on
+ roaming network. For example, "IP", "IPV6", "IPV4V6", or "PPP".*/
+ int authtype; /* authentication protocol used for this PDP context
+ (None: 0, PAP: 1, CHAP: 2, PAP&CHAP: 3) */
+ char *username; /* the username for APN, or NULL */
+ char *password; /* the password for APN, or NULL */
+ int supportedTypesBitmask; /* supported APN types bitmask. See RIL_ApnTypes for the value of
+ each bit. */
+ int bearerBitmask; /* the bearer bitmask. See RIL_RadioAccessFamily for the value of
+ each bit. */
+ int modemCognitive; /* indicating the APN setting was sent to the modem through
+ setDataProfile earlier. */
+ int mtu; /* maximum transmission unit (MTU) size in bytes */
+ char *mvnoType; /* the MVNO type: possible values are "imsi", "gid", "spn" */
+ char *mvnoMatchData; /* MVNO match data. Can be anything defined by the carrier.
+ For example,
+ SPN like: "A MOBILE", "BEN NL", etc...
+ IMSI like: "302720x94", "2060188", etc...
+ GID like: "4E", "33", etc... */
+} RIL_InitialAttachApn_v15;
+
+typedef struct {
int authContext; /* P2 value of authentication command, see P2 parameter in
3GPP TS 31.102 7.1.2 */
char *authData; /* the challenge string in Base64 format, see 3GPP
@@ -6067,6 +6488,8 @@ const RIL_RadioFunctions *RIL_SAP_Init(const struct RIL_Env *env, int argc, char
*/
void RIL_register (const RIL_RadioFunctions *callbacks);
+void rilc_thread_pool();
+
/**
*