Merge "DO NOT MERGE Fix security vulnerability in pre-O rild code." into nyc-dev am: f0cbbbcdac am: ab379831bc am: a5eeaef8ee am: 6c6d404fb5 am: 96582369cb -s ours am: 7421b551d3
am: 49139f9cdd
Change-Id: Iba305e6d621ca1d258a7181bbec092697a4dc90f
diff --git a/include/libril/ril_ex.h b/include/libril/ril_ex.h
index 251e8ff..757bcf9 100644
--- a/include/libril/ril_ex.h
+++ b/include/libril/ril_ex.h
@@ -22,6 +22,8 @@
#define NUM_ELEMS_SOCKET(a) (sizeof (a) / sizeof (a)[0])
+struct ril_event;
+
void rilEventAddWakeup_helper(struct ril_event *ev);
int blockingWrite_helper(int fd, void* data, size_t len);
diff --git a/include/telephony/ril.h b/include/telephony/ril.h
index 8d7febc..4e6aa6c 100644
--- a/include/telephony/ril.h
+++ b/include/telephony/ril.h
@@ -2194,7 +2194,14 @@
* "response" is const RIL_CardStatus_v6 *
*
* Valid errors:
- * Must never fail
+ *
+ * SUCCESS
+ * RADIO_NOT_AVAILABLE
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_GET_SIM_STATUS 1
@@ -2215,6 +2222,13 @@
* SUCCESS
* RADIO_NOT_AVAILABLE (radio resetting)
* PASSWORD_INCORRECT
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * INVALID_ARGUMENTS
+ * INVALID_SIM_STATE
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_ENTER_SIM_PIN 2
@@ -2238,6 +2252,13 @@
* RADIO_NOT_AVAILABLE (radio resetting)
* PASSWORD_INCORRECT
* (PUK is invalid)
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * INVALID_ARGUMENTS
+ * INVALID_SIM_STATE
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_ENTER_SIM_PUK 3
@@ -2260,6 +2281,13 @@
* SUCCESS
* RADIO_NOT_AVAILABLE (radio resetting)
* PASSWORD_INCORRECT
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * INVALID_ARGUMENTS
+ * INVALID_SIM_STATE
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_ENTER_SIM_PIN2 4
@@ -2283,6 +2311,13 @@
* RADIO_NOT_AVAILABLE (radio resetting)
* PASSWORD_INCORRECT
* (PUK2 is invalid)
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * INVALID_ARGUMENTS
+ * INVALID_SIM_STATE
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_ENTER_SIM_PUK2 5
@@ -2306,7 +2341,13 @@
* RADIO_NOT_AVAILABLE (radio resetting)
* PASSWORD_INCORRECT
* (old PIN is invalid)
- *
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * INVALID_ARGUMENTS
+ * INVALID_SIM_STATE
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_CHANGE_SIM_PIN 6
@@ -2331,6 +2372,13 @@
* RADIO_NOT_AVAILABLE (radio resetting)
* PASSWORD_INCORRECT
* (old PIN2 is invalid)
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * INVALID_ARGUMENTS
+ * INVALID_SIM_STATE
+ * REQUEST_NOT_SUPPORTED
*
*/
@@ -2352,8 +2400,13 @@
* SUCCESS
* RADIO_NOT_AVAILABLE (radio resetting)
* PASSWORD_INCORRECT
- * SIM_ABSENT
* (code is invalid)
+ * SIM_ABSENT
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_ENTER_NETWORK_DEPERSONALIZATION 8
@@ -2373,6 +2426,10 @@
* RADIO_NOT_AVAILABLE (radio resetting)
* NO_MEMORY
* (request will be made again in a few hundred msec)
+ * INTERNAL_ERR
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_GET_CURRENT_CALLS 9
@@ -2405,8 +2462,10 @@
* NO_NETWORK_FOUND
* INVALID_CALL_ID
* DEVICE_IN_USE
- * MODE_NOT_SUPPORTED
+ * OPERATION_NOT_ALLOWED
* ABORTED
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_DIAL 10
@@ -2424,6 +2483,12 @@
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE (radio resetting)
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * INVALID_SIM_STATE
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_GET_IMSI 11
@@ -2452,6 +2517,9 @@
* NO_MEMORY
* INVALID_CALL_ID
* INVALID_ARGUMENTS
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_HANGUP 12
@@ -2479,6 +2547,9 @@
* NO_RESOURCES
* OPERATION_NOT_ALLOWED
* INVALID_ARGUMENTS
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_HANGUP_WAITING_OR_BACKGROUND 13
@@ -2505,6 +2576,8 @@
* OPERATION_NOT_ALLOWED
* INVALID_ARGUMENTS
* NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_HANGUP_FOREGROUND_RESUME_BACKGROUND 14
@@ -2540,6 +2613,9 @@
* INVALID_ARGUMENTS
* INVALID_CALL_ID
* OPERATION_NOT_ALLOWED
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_SWITCH_WAITING_OR_HOLDING_AND_ACTIVE 15
@@ -2563,6 +2639,9 @@
* INVALID_CALL_ID
* INVALID_ARGUMENTS
* OPERATION_NOT_ALLOWED
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_CONFERENCE 16
@@ -2586,6 +2665,8 @@
* INVALID_CALL_ID
* OPERATION_NOT_ALLOWED
* INVALID_ARGUMENTS
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_UDUB 17
@@ -2635,6 +2716,10 @@
* SUCCESS
* RADIO_NOT_AVAILABLE
* NO_MEMORY
+ * INTERNAL_ERR
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*
* See also: RIL_REQUEST_LAST_DATA_CALL_FAIL_CAUSE
*/
@@ -2660,6 +2745,8 @@
* MODEM_ERR
* NOT_PROVISIONED
* REQUEST_NOT_SUPPORTED
+ * NO_RESOURCES
+ * CANCELLED
*/
#define RIL_REQUEST_SIGNAL_STRENGTH 19
@@ -2674,6 +2761,11 @@
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_VOICE_REGISTRATION_STATE 20
@@ -2694,6 +2786,8 @@
* MODEM_ERR
* NOT_PROVISIONED
* REQUEST_NOT_SUPPORTED
+ * NO_RESOURCES
+ * CANCELLED
*/
#define RIL_REQUEST_DATA_REGISTRATION_STATE 21
@@ -2719,6 +2813,8 @@
* INTERNAL_ERR
* SYSTEM_ERR
* REQUEST_NOT_SUPPORTED
+ * NO_RESOURCES
+ * CANCELLED
*/
#define RIL_REQUEST_OPERATOR 22
@@ -2754,6 +2850,8 @@
* OPERATION_NOT_ALLOWED
* INVALID_MODEM_STATE
* REQUEST_NOT_SUPPORTED
+ * NO_RESOURCES
+ * CANCELLED
*/
#define RIL_REQUEST_RADIO_POWER 23
@@ -2781,6 +2879,10 @@
* MODEM_ERR
* INTERNAL_ERR
* INVALID_CALL_ID
+ * NO_RESOURCES
+ * CANCELLED
+ * INVALID_MODEM_STATE
+ * REQUEST_NOT_SUPPORTED
*
* See also: RIL_REQUEST_DTMF_STOP, RIL_REQUEST_DTMF_START
*
@@ -2820,6 +2922,11 @@
* INVALID_SMSC_ADDRESS
* MODEM_ERR
* NETWORK_ERR
+ * OPERATION_NOT_ALLOWED
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
* MODE_NOT_SUPPORTED
* SIM_ABSENT
*
@@ -2863,6 +2970,11 @@
* NETWORK_ERR
* ENCODING_ERR
* INVALID_SMSC_ADDRESS
+ * OPERATION_NOT_ALLOWED
+ * INTERNAL_ERR
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
* MODE_NOT_SUPPORTED
* SIM_ABSENT
*
@@ -2940,8 +3052,9 @@
*
* Other errors could include:
* RADIO_NOT_AVAILABLE, OP_NOT_ALLOWED_BEFORE_REG_TO_NW,
- * OP_NOT_ALLOWED_DURING_VOICE_CALL and REQUEST_NOT_SUPPORTED,
- * INVALID_ARGUMENTS, SIM_ABSENT
+ * OP_NOT_ALLOWED_DURING_VOICE_CALL, REQUEST_NOT_SUPPORTED,
+ * INVALID_ARGUMENTS, INTERNAL_ERR, NO_MEMORY, NO_RESOURCES,
+ * SIM_ABSENT and CANCELLED
*
* See also: RIL_REQUEST_DEACTIVATE_DATA_CALL
*/
@@ -2971,6 +3084,9 @@
* RADIO_NOT_AVAILABLE
* SIM_PIN2
* SIM_PUK2
+ * INVALID_SIM_STATE
+ * SIM_ERR
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_SIM_IO 28
@@ -3009,6 +3125,9 @@
* ABORTED
* SYSTEM_ERR
* INVALID_STATE
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*
* See also: RIL_REQUEST_CANCEL_USSD, RIL_UNSOL_ON_USSD
*/
@@ -3032,6 +3151,9 @@
* INTERNAL_ERR
* NO_MEMORY
* INVALID_STATE
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_CANCEL_USSD 30
@@ -3056,6 +3178,9 @@
* INTERNAL_ERR
* FDN_CHECK_FAILURE
* SYSTEM_ERR
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_GET_CLIR 31
@@ -3075,6 +3200,11 @@
* SS_MODIFIED_TO_SS
* INVALID_ARGUMENTS
* SYSTEM_ERR
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_SET_CLIR 32
@@ -3107,6 +3237,9 @@
* INTERNAL_ERR
* NO_MEMORY
* FDN_CHECK_FAILURE
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_QUERY_CALL_FORWARD_STATUS 33
@@ -3132,6 +3265,9 @@
* INTERNAL_ERR
* INVALID_STATE
* FDN_CHECK_FAILURE
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_SET_CALL_FORWARD 34
@@ -3166,6 +3302,9 @@
* NO_MEMORY
* FDN_CHECK_FAILURE
* INVALID_ARGUMENTS
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_QUERY_CALL_WAITING 35
@@ -3193,6 +3332,9 @@
* INTERNAL_ERR
* INVALID_STATE
* FDN_CHECK_FAILURE
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_SET_CALL_WAITING 36
@@ -3219,6 +3361,11 @@
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_SMS_ACKNOWLEDGE 37
@@ -3242,6 +3389,8 @@
* MODEM_ERR
* NOT_PROVISIONED
* REQUEST_NOT_SUPPORTED
+ * NO_RESOURCES
+ * CANCELLED
*/
#define RIL_REQUEST_GET_IMEI 38
@@ -3266,6 +3415,8 @@
* MODEM_ERR
* NOT_PROVISIONED
* REQUEST_NOT_SUPPORTED
+ * NO_RESOURCES
+ * CANCELLED
*/
#define RIL_REQUEST_GET_IMEISV 39
@@ -3292,6 +3443,9 @@
* MODEM_ERR
* INTERNAL_ERR
* INVALID_CALL_ID
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_ANSWER 40
@@ -3322,6 +3476,10 @@
* INVALID_STATE
* INVALID_ARGUMENTS
* REQUEST_NOT_SUPPORTED
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
* SIM_ABSENT
*
* See also: RIL_REQUEST_SETUP_DATA_CALL
@@ -3361,6 +3519,9 @@
* SYSTEM_ERR
* MODEM_ERR
* FDN_CHECK_FAILURE
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*
*/
#define RIL_REQUEST_QUERY_FACILITY_LOCK 42
@@ -3398,6 +3559,9 @@
* MODEM_ERR
* INVALID_STATE
* FDN_CHECK_FAILURE
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*
*/
#define RIL_REQUEST_SET_FACILITY_LOCK 43
@@ -3428,6 +3592,9 @@
* INTERNAL_ERR
* SYSTEM_ERR
* FDN_CHECK_FAILURE
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*
*/
#define RIL_REQUEST_CHANGE_BARRING_PASSWORD 44
@@ -3453,6 +3620,8 @@
* INVALID_ARGUMENTS
* MODEM_ERR
* REQUEST_NOT_SUPPORTED
+ * NO_RESOURCES
+ * CANCELLED
*
*/
#define RIL_REQUEST_QUERY_NETWORK_SELECTION_MODE 45
@@ -3479,6 +3648,8 @@
* INVALID_ARGUMENTS
* MODEM_ERR
* REQUEST_NOT_SUPPORTED
+ * NO_RESOURCES
+ * CANCELLED
*
* Note: Returns ILLEGAL_SIM_OR_ME when the failure is permanent and
* no retries needed, such as illegal SIM or ME.
@@ -3509,6 +3680,8 @@
* INVALID_ARGUMENTS
* MODEM_ERR
* REQUEST_NOT_SUPPORTED
+ * NO_RESOURCES
+ * CANCELLED
*
* Note: Returns ILLEGAL_SIM_OR_ME when the failure is permanent and
* no retries needed, such as illegal SIM or ME.
@@ -3547,6 +3720,8 @@
* REQUEST_NOT_SUPPORTED
* CANCELLED
* OPERATION_NOT_ALLOWED
+ * NO_RESOURCES
+ * CANCELLED
*
*/
#define RIL_REQUEST_QUERY_AVAILABLE_NETWORKS 48
@@ -3574,6 +3749,9 @@
* MODEM_ERR
* INTERNAL_ERR
* INVALID_CALL_ID
+ * CANCELLED
+ * INVALID_MODEM_STATE
+ * REQUEST_NOT_SUPPORTED
*
* See also: RIL_REQUEST_DTMF, RIL_REQUEST_DTMF_STOP
*/
@@ -3598,6 +3776,9 @@
* MODEM_ERR
* INTERNAL_ERR
* INVALID_CALL_ID
+ * CANCELLED
+ * INVALID_MODEM_STATE
+ * REQUEST_NOT_SUPPORTED
*
* See also: RIL_REQUEST_DTMF, RIL_REQUEST_DTMF_START
*/
@@ -3622,6 +3803,8 @@
* MODEM_ERR
* NOT_PROVISIONED
* REQUEST_NOT_SUPPORTED
+ * NO_RESOURCES
+ * CANCELLED
*
*/
#define RIL_REQUEST_BASEBAND_VERSION 51
@@ -3657,6 +3840,8 @@
* INVALID_CALL_ID
* INVALID_STATE
* OPERATION_NOT_ALLOWED
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_SEPARATE_CONNECTION 52
@@ -3680,6 +3865,10 @@
* INVALID_ARGUMENTS
* NO_MEMORY
* REQUEST_RATE_LIMITED
+ * INTERNAL_ERR
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_SET_MUTE 53
@@ -3701,6 +3890,10 @@
* SS_MODIFIED_TO_SS
* NO_MEMORY
* REQUEST_RATE_LIMITED
+ * INTERNAL_ERR
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_GET_MUTE 54
@@ -3726,6 +3919,9 @@
* MODEM_ERR
* INTERNAL_ERR
* FDN_CHECK_FAILURE
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_QUERY_CLIP 55
@@ -3753,6 +3949,11 @@
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*
* See also: RIL_REQUEST_LAST_CALL_FAIL_CAUSE
*
@@ -3775,6 +3976,11 @@
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE (radio resetting)
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
* SIM_ABSENT
*
* See also: RIL_UNSOL_DATA_CALL_LIST_CHANGED
@@ -3881,6 +4087,8 @@
* INTERNAL_ERR
* SYSTEM_ERR
* INVALID_ARGUMENTS
+ * NO_RESOURCES
+ * CANCELLED
* REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_SCREEN_STATE 61
@@ -3909,6 +4117,9 @@
* SYSTEM_ERR
* MODEM_ERR
* INTERNAL_ERR
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*
* See also: RIL_UNSOL_SUPP_SVC_NOTIFICATION.
*/
@@ -3935,8 +4146,11 @@
* NO_MEMORY
* NO_RESOURCES
* INVALID_MODEM_STATE
- * MODE_NOT_SUPPORTED
+ * OPERATION_NOT_ALLOWED
* INVALID_SMSC_ADDRESS
+ * CANCELLED
+ * INVALID_MODEM_STATE
+ * REQUEST_NOT_SUPPORTED
* SIM_ABSENT
*
*/
@@ -3961,6 +4175,11 @@
* SYSTEM_ERR
* MODEM_ERR
* NO_SUCH_ENTRY
+ * INTERNAL_ERR
+ * NO_RESOURCES
+ * CANCELLED
+ * INVALID_MODEM_STATE
+ * REQUEST_NOT_SUPPORTED
* SIM_ABSENT
*
*/
@@ -3986,6 +4205,8 @@
* INVALID_ARGUMENTS
* MODEM_ERR
* REQUEST_NOT_SUPPORTED
+ * NO_RESOURCES
+ * CANCELLED
*
* See also: RIL_REQUEST_QUERY_AVAILABLE_BAND_MODE
*/
@@ -4010,6 +4231,8 @@
* SYSTEM_ERR
* MODEM_ERR
* REQUEST_NOT_SUPPORTED
+ * NO_RESOURCES
+ * CANCELLED
*
* See also: RIL_REQUEST_SET_BAND_MODE
*/
@@ -4030,6 +4253,11 @@
* Valid errors:
* RIL_E_SUCCESS
* RIL_E_RADIO_NOT_AVAILABLE (radio resetting)
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_STK_GET_PROFILE 67
@@ -4047,6 +4275,11 @@
* Valid errors:
* RIL_E_SUCCESS
* RIL_E_RADIO_NOT_AVAILABLE (radio resetting)
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_STK_SET_PROFILE 68
@@ -4068,6 +4301,13 @@
* RIL_E_RADIO_NOT_AVAILABLE (radio resetting)
* SIM_BUSY
* OPERATION_NOT_ALLOWED
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * INVALID_ARGUMENTS
+ * MODEM_ERR
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_STK_SEND_ENVELOPE_COMMAND 69
@@ -4086,6 +4326,12 @@
* RIL_E_SUCCESS
* RIL_E_RADIO_NOT_AVAILABLE (radio resetting)
* RIL_E_OPERATION_NOT_ALLOWED
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * INVALID_MODEM_STATE
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_STK_SEND_TERMINAL_RESPONSE 70
@@ -4107,6 +4353,11 @@
* RIL_E_SUCCESS
* RIL_E_RADIO_NOT_AVAILABLE (radio resetting)
* RIL_E_OPERATION_NOT_ALLOWED
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_STK_HANDLE_CALL_SETUP_REQUESTED_FROM_SIM 71
@@ -4131,6 +4382,9 @@
* INVALID_CALL_ID
* INVALID_STATE
* OPERATION_NOT_ALLOWED
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_EXPLICIT_CALL_TRANSFER 72
@@ -4155,6 +4409,8 @@
* INVALID_ARGUMENTS
* MODEM_ERR
* REQUEST_NOT_SUPPORTED
+ * NO_RESOURCES
+ * CANCELLED
*/
#define RIL_REQUEST_SET_PREFERRED_NETWORK_TYPE 73
@@ -4178,6 +4434,8 @@
* INVALID_ARGUMENTS
* MODEM_ERR
* REQUEST_NOT_SUPPORTED
+ * NO_RESOURCES
+ * CANCELLED
*
* See also: RIL_REQUEST_SET_PREFERRED_NETWORK_TYPE
*/
@@ -4200,6 +4458,8 @@
* MODEM_ERR
* NO_NETWORK_FOUND
* REQUEST_NOT_SUPPORTED
+ * NO_RESOURCES
+ * CANCELLED
*/
#define RIL_REQUEST_GET_NEIGHBORING_CELL_IDS 75
@@ -4228,6 +4488,8 @@
* INVALID_ARGUMENTS
* MODEM_ERR
* REQUEST_NOT_SUPPORTED
+ * NO_RESOURCES
+ * CANCELLED
*
* See also: RIL_REQUEST_SCREEN_STATE, RIL_UNSOL_RESPONSE_NETWORK_STATE_CHANGED
*/
@@ -4249,6 +4511,11 @@
* RADIO_NOT_AVAILABLE
* SIM_ABSENT
* SUBSCRIPTION_NOT_AVAILABLE
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*
* See also: RIL_REQUEST_CDMA_GET_SUBSCRIPTION_SOURCE
*/
@@ -4276,6 +4543,8 @@
* MODEM_ERR
* REQUEST_NOT_SUPPORTED
* OPERATION_NOT_ALLOWED
+ * NO_RESOURCES
+ * CANCELLED
*/
#define RIL_REQUEST_CDMA_SET_ROAMING_PREFERENCE 78
@@ -4302,6 +4571,8 @@
* INVALID_ARGUMENTS
* MODEM_ERR
* REQUEST_NOT_SUPPORTED
+ * NO_RESOURCES
+ * CANCELLED
*/
#define RIL_REQUEST_CDMA_QUERY_ROAMING_PREFERENCE 79
@@ -4324,11 +4595,14 @@
* INVALID_ARGUMENTS
* MODEM_ERR
* INTERNAL_ERR
- * NO_MEMOR
+ * NO_MEMORY
* INVALID_ARGUMENTS
* MODEM_ERR
* INTERNAL_ERR
- * NO_MEMORYY
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_SET_TTY_MODE 80
@@ -4354,6 +4628,9 @@
* INTERNAL_ERR
* NO_MEMORY
* INVALID_ARGUMENTS
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_QUERY_TTY_MODE 81
@@ -4378,6 +4655,9 @@
* INTERNAL_ERR
* NO_MEMORY
* INVALID_CALL_ID
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_CDMA_SET_PREFERRED_VOICE_PRIVACY_MODE 82
@@ -4401,6 +4681,9 @@
* INTERNAL_ERR
* NO_MEMORY
* INVALID_ARGUMENTS
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_CDMA_QUERY_PREFERRED_VOICE_PRIVACY_MODE 83
@@ -4424,6 +4707,9 @@
* INTERNAL_ERR
* INVALID_CALL_ID
* INVALID_STATE
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*
*/
#define RIL_REQUEST_CDMA_FLASH 84
@@ -4451,6 +4737,10 @@
* MODEM_ERR
* INTERNAL_ERR
* INVALID_CALL_ID
+ * NO_RESOURCES
+ * CANCELLED
+ * OPERATION_NOT_ALLOWED
+ * REQUEST_NOT_SUPPORTED
*
*/
#define RIL_REQUEST_CDMA_BURST_DTMF 85
@@ -4480,6 +4770,8 @@
* INVALID_ARGUMENTS
* MODEM_ERR
* REQUEST_NOT_SUPPORTED
+ * NO_RESOURCES
+ * CANCELLED
*
*/
#define RIL_REQUEST_CDMA_VALIDATE_AND_WRITE_AKEY 86
@@ -4514,6 +4806,10 @@
* NETWORK_ERR
* ENCODING_ERR
* INVALID_SMSC_ADDRESS
+ * OPERATION_NOT_ALLOWED
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
* MODE_NOT_SUPPORTED
* SIM_ABSENT
*
@@ -4541,9 +4837,10 @@
* SYSTEM_ERR
* MODEM_ERR
* INVALID_STATE
- * MODE_NOT_SUPPORTED
+ * OPERATION_NOT_ALLOWED
* NETWORK_NOT_READY
* INVALID_MODEM_STATE
+ * REQUEST_NOT_SUPPORTED
*
*/
#define RIL_REQUEST_CDMA_SMS_ACKNOWLEDGE 88
@@ -4568,7 +4865,11 @@
* NO_RESOURCES
* MODEM_ERR
* SYSTEM_ERR
- *
+ * INTERNAL_ERR
+ * NO_RESOURCES
+ * CANCELLED
+ * INVALID_MODEM_STATE
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_GSM_GET_BROADCAST_SMS_CONFIG 89
@@ -4592,6 +4893,11 @@
* REQUEST_RATE_LIMITED
* MODEM_ERR
* SYSTEM_ERR
+ * INTERNAL_ERR
+ * NO_RESOURCES
+ * CANCELLED
+ * INVALID_MODEM_STATE
+ * REQUEST_NOT_SUPPORTED
*
*/
#define RIL_REQUEST_GSM_SET_BROADCAST_SMS_CONFIG 90
@@ -4616,7 +4922,12 @@
* NO_MEMORY
* SYSTEM_ERR
* REQUEST_RATE_LIMITED
- * MODEM_ERR
+* MODEM_ERR
+* INTERNAL_ERR
+* NO_RESOURCES
+* CANCELLED
+* INVALID_MODEM_STATE
+ * REQUEST_NOT_SUPPORTED
*
*/
#define RIL_REQUEST_GSM_SMS_BROADCAST_ACTIVATION 91
@@ -4641,6 +4952,11 @@
* NO_RESOURCES
* MODEM_ERR
* SYSTEM_ERR
+ * INTERNAL_ERR
+ * NO_RESOURCES
+ * CANCELLED
+ * INVALID_MODEM_STATE
+ * REQUEST_NOT_SUPPORTED
*
*/
#define RIL_REQUEST_CDMA_GET_BROADCAST_SMS_CONFIG 92
@@ -4665,6 +4981,11 @@
* REQUEST_RATE_LIMITED
* MODEM_ERR
* SYSTEM_ERR
+ * INTERNAL_ERR
+ * NO_RESOURCES
+ * CANCELLED
+ * INVALID_MODEM_STATE
+ * REQUEST_NOT_SUPPORTED
*
*/
#define RIL_REQUEST_CDMA_SET_BROADCAST_SMS_CONFIG 93
@@ -4690,6 +5011,11 @@
* SYSTEM_ERR
* REQUEST_RATE_LIMITED
* MODEM_ERR
+ * INTERNAL_ERR
+ * NO_RESOURCES
+ * CANCELLED
+ * INVALID_MODEM_STATE
+ * REQUEST_NOT_SUPPORTED
*
*/
#define RIL_REQUEST_CDMA_SMS_BROADCAST_ACTIVATION 94
@@ -4725,6 +5051,9 @@
* MODEM_ERR
* NOT_PROVISIONED
* REQUEST_NOT_SUPPORTED
+ * INTERNAL_ERR
+ * NO_RESOURCES
+ * CANCELLED
*
*/
@@ -4752,8 +5081,11 @@
* NO_MEMORY
* NO_RESOURCES
* INVALID_MODEM_STATE
- * MODE_NOT_SUPPORTED
+ * OPERATION_NOT_ALLOWED
* INVALID_SMSC_ADDRESS
+ * CANCELLED
+ * INVALID_MODEM_STATE
+ * REQUEST_NOT_SUPPORTED
* SIM_ABSENT
*
*/
@@ -4778,6 +5110,11 @@
* SYSTEM_ERR
* MODEM_ERR
* NO_SUCH_ENTRY
+ * INTERNAL_ERR
+ * NO_RESOURCES
+ * CANCELLED
+ * INVALID_MODEM_STATE
+ * REQUEST_NOT_SUPPORTED
* SIM_ABSENT
*/
#define RIL_REQUEST_CDMA_DELETE_SMS_ON_RUIM 97
@@ -4813,6 +5150,8 @@
* MODEM_ERR
* NOT_PROVISIONED
* REQUEST_NOT_SUPPORTED
+ * NO_RESOURCES
+ * CANCELLED
*
*/
#define RIL_REQUEST_DEVICE_IDENTITY 98
@@ -4838,6 +5177,8 @@
* INVALID_ARGUMENTS
* MODEM_ERR
* REQUEST_NOT_SUPPORTED
+ * NO_RESOURCES
+ * CANCELLED
*
*/
#define RIL_REQUEST_EXIT_EMERGENCY_CALLBACK_MODE 99
@@ -4862,6 +5203,9 @@
* INVALID_ARGUMENTS
* INVALID_MODEM_STATE
* NOT_PROVISIONED
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
* SIM_ABSENT
*
*/
@@ -4886,6 +5230,9 @@
* REQUEST_RATE_LIMITED
* MODEM_ERR
* NO_RESOURCES
+ * INTERNAL_ERR
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
* SIM_ABSENT
*/
#define RIL_REQUEST_SET_SMSC_ADDRESS 101
@@ -4910,6 +5257,10 @@
* SYSTEM_ERR
* REQUEST_RATE_LIMITED
* MODEM_ERR
+ * INTERNAL_ERR
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*
*/
#define RIL_REQUEST_REPORT_SMS_MEMORY_STATUS 102
@@ -4926,6 +5277,11 @@
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*
*/
#define RIL_REQUEST_REPORT_STK_SERVICE_IS_RUNNING 103
@@ -4945,6 +5301,11 @@
* SUCCESS
* RADIO_NOT_AVAILABLE
* SUBSCRIPTION_NOT_AVAILABLE
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*
* See also: RIL_REQUEST_CDMA_SET_SUBSCRIPTION_SOURCE
*/
@@ -4962,6 +5323,11 @@
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_ISIM_AUTHENTICATION 105
@@ -4982,6 +5348,11 @@
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_ACKNOWLEDGE_INCOMING_GSM_SMS_WITH_PDU 106
@@ -5009,6 +5380,11 @@
* RIL_E_RADIO_NOT_AVAILABLE (radio resetting)
* SIM_BUSY
* OPERATION_NOT_ALLOWED
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
* SIM_ABSENT
*/
#define RIL_REQUEST_STK_SEND_ENVELOPE_WITH_STATUS 107
@@ -5026,6 +5402,11 @@
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_VOICE_RADIO_TECH 108
@@ -5050,6 +5431,8 @@
* MODEM_ERR
* NO_NETWORK_FOUND
* REQUEST_NOT_SUPPORTED
+ * NO_RESOURCES
+ * CANCELLED
*
*/
#define RIL_REQUEST_GET_CELL_INFO_LIST 109
@@ -5075,6 +5458,8 @@
* SYSTEM_ERR
* INVALID_ARGUMENTS
* REQUEST_NOT_SUPPORTED
+ * NO_RESOURCES
+ * CANCELLED
*/
#define RIL_REQUEST_SET_UNSOL_CELL_INFO_LIST_RATE 110
@@ -5109,6 +5494,8 @@
* MODEM_ERR
* NOT_PROVISIONED
* REQUEST_NOT_SUPPORTED
+ * NO_RESOURCES
+ * CANCELLED
*
*/
#define RIL_REQUEST_SET_INITIAL_ATTACH_APN 111
@@ -5136,6 +5523,12 @@
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * INVALID_MODEM_STATE
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_IMS_REGISTRATION_STATE 112
@@ -5168,7 +5561,11 @@
* NETWORK_ERR
* ENCODING_ERR
* INVALID_SMSC_ADDRESS
- * MODE_NOT_SUPPORTED
+ * OPERATION_NOT_ALLOWED
+ * INTERNAL_ERR
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*
*/
#define RIL_REQUEST_IMS_SEND_SMS 113
@@ -5189,6 +5586,11 @@
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_SIM_TRANSMIT_APDU_BASIC 114
@@ -5211,6 +5613,14 @@
* RADIO_NOT_AVAILABLE
* MISSING_RESOURCE
* NO_SUCH_ELEMENT
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * SIM_ERR
+ * INVALID_SIM_STATE
+ * MISSING_RESOURCE
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_SIM_OPEN_CHANNEL 115
@@ -5228,6 +5638,11 @@
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_SIM_CLOSE_CHANNEL 116
@@ -5246,6 +5661,11 @@
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_SIM_TRANSMIT_APDU_CHANNEL 117
@@ -5262,6 +5682,7 @@
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_NV_READ_ITEM 118
@@ -5278,6 +5699,7 @@
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_NV_WRITE_ITEM 119
@@ -5294,6 +5716,7 @@
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_NV_WRITE_CDMA_PRL 120
@@ -5313,6 +5736,7 @@
* Valid errors:
* SUCCESS
* RADIO_NOT_AVAILABLE
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_NV_RESET_CONFIG 121
@@ -5335,6 +5759,8 @@
* INVALID_ARGUMENTS
* MODEM_ERR
* REQUEST_NOT_SUPPORTED
+ * NO_RESOURCES
+ * CANCELLED
*
*/
#define RIL_REQUEST_SET_UICC_SUBSCRIPTION 122
@@ -5363,6 +5789,8 @@
* DEVICE_IN_USE
* INVALID_MODEM_STATE
* REQUEST_NOT_SUPPORTED
+ * NO_RESOURCES
+ * CANCELLED
*
*/
#define RIL_REQUEST_ALLOW_DATA 123
@@ -5376,6 +5804,10 @@
* "data" is NULL
*
* "response" is an array of RIL_HardwareConfig.
+ *
+ * Valid errors:
+ * RADIO_NOT_AVAILABLE
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_GET_HARDWARE_CONFIG 124
@@ -5397,6 +5829,17 @@
* int sw1; Status bytes per 3GPP TS 31.102 section 7.3
* int sw2;
* char *simResponse; Response in Base64 format, see 3GPP TS 31.102 7.1.2
+ *
+ * Valid errors:
+ * RADIO_NOT_AVAILABLE
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * INVALID_MODEM_STATE
+ * INVALID_ARGUMENTS
+ * SIM_ERR
+ * REQUEST_NOT_SUPPORTED
*/
#define RIL_REQUEST_SIM_AUTHENTICATION 125
@@ -5414,6 +5857,10 @@
* SUCCESS
* RADIO_NOT_AVAILABLE
* REQUEST_NOT_SUPPORTED
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
*
* See also: RIL_UNSOL_DC_RT_INFO_CHANGED
*/
@@ -5450,6 +5897,11 @@
* SUCCESS
* RADIO_NOT_AVAILABLE (radio resetting)
* SUBSCRIPTION_NOT_AVAILABLE
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
* SIM_ABSENT
*/
#define RIL_REQUEST_SET_DATA_PROFILE 128
@@ -5471,6 +5923,8 @@
* INTERNAL_ERR
* SYSTEM_ERR
* REQUEST_NOT_SUPPORTED
+ * NO_RESOURCES
+ * CANCELLED
*/
#define RIL_REQUEST_SHUTDOWN 129
@@ -5487,6 +5941,10 @@
* OPERATION_NOT_ALLOWED
* INVALID_STATE
* REQUEST_NOT_SUPPORTED
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
*/
#define RIL_REQUEST_GET_RADIO_CAPABILITY 130
@@ -5513,6 +5971,8 @@
* MODEM_ERR
* INVALID_STATE
* REQUEST_NOT_SUPPORTED
+ * NO_RESOURCES
+ * CANCELLED
*/
#define RIL_REQUEST_SET_RADIO_CAPABILITY 131
@@ -5533,6 +5993,9 @@
* LCE_NOT_SUPPORTED
* INTERNAL_ERR
* REQUEST_NOT_SUPPORTED
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
* SIM_ABSENT
*/
#define RIL_REQUEST_START_LCE 132
@@ -5549,6 +6012,11 @@
* SUCCESS
* RADIO_NOT_AVAILABLE
* LCE_NOT_SUPPORTED
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
* SIM_ABSENT
*/
#define RIL_REQUEST_STOP_LCE 133
@@ -5564,6 +6032,11 @@
* SUCCESS
* RADIO_NOT_AVAILABLE
* LCE_NOT_SUPPORTED
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
* SIM_ABSENT
*/
#define RIL_REQUEST_PULL_LCEDATA 134
@@ -5590,6 +6063,7 @@
* MODEM_ERR
* NOT_PROVISIONED
* REQUEST_NOT_SUPPORTED
+ * NO_RESOURCES CANCELLED
*/
#define RIL_REQUEST_GET_ACTIVITY_INFO 135
@@ -5623,6 +6097,10 @@
* RIL_E_INVALID_ARGUMENTS
* RIL_E_RADIO_NOT_AVAILABLE
* RIL_E_REQUEST_NOT_SUPPORTED
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
*/
#define RIL_REQUEST_SET_CARRIER_RESTRICTIONS 136
@@ -5641,6 +6119,10 @@
* RIL_E_SUCCESS
* RIL_E_RADIO_NOT_AVAILABLE
* RIL_E_REQUEST_NOT_SUPPORTED
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
*/
#define RIL_REQUEST_GET_CARRIER_RESTRICTIONS 137
@@ -5665,6 +6147,8 @@
* SYSTEM_ERR
* INVALID_ARGUMENTS
* REQUEST_NOT_SUPPORTED
+ * NO_RESOURCES
+ * CANCELLED
*/
#define RIL_REQUEST_SEND_DEVICE_STATE 138
@@ -5690,6 +6174,8 @@
* INTERNAL_ERR
* SYSTEM_ERR
* REQUEST_NOT_SUPPORTED
+ * NO_RESOURCES
+ * CANCELLED
*/
#define RIL_REQUEST_SET_UNSOLICITED_RESPONSE_FILTER 139
@@ -5717,6 +6203,10 @@
* REQUEST_NOT_SUPPORTED
* SIM_ABSENT
* INVALID_ARGUMENTS
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
*/
#define RIL_REQUEST_SET_SIM_CARD_POWER 140
@@ -5738,6 +6228,10 @@
* RIL_E_REQUEST_NOT_SUPPORTED
* INVALID_ARGUMENTS
* MODEM_INTERNAL_FAILURE
+ * INTERNAL_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
*/
#define RIL_REQUEST_SET_CARRIER_INFO_IMSI_ENCRYPTION 141
@@ -5762,6 +6256,8 @@
* MODEM_ERR
* INVALID_ARGUMENTS
* REQUEST_NOT_SUPPORTED
+ * NO_RESOURCES
+ * CANCELLED
*
*/
#define RIL_REQUEST_START_NETWORK_SCAN 142
@@ -5781,6 +6277,10 @@
* SUCCESS
* INTERNAL_ERR
* MODEM_ERR
+ * NO_MEMORY
+ * NO_RESOURCES
+ * CANCELLED
+ * REQUEST_NOT_SUPPORTED
*
*/
#define RIL_REQUEST_STOP_NETWORK_SCAN 143
diff --git a/libril/Android.mk b/libril/Android.mk
index d4ed8f4..681e3c4 100644
--- a/libril/Android.mk
+++ b/libril/Android.mk
@@ -28,7 +28,7 @@
LOCAL_STATIC_LIBRARIES := \
libprotobuf-c-nano-enable_malloc \
-LOCAL_CFLAGS += -Wno-unused-parameter
+LOCAL_CFLAGS += -Wall -Wextra -Wno-unused-parameter -Werror
ifeq ($(SIM_COUNT), 2)
LOCAL_CFLAGS += -DANDROID_MULTI_SIM -DDSDA_RILD1
diff --git a/libril/RilSapSocket.h b/libril/RilSapSocket.h
index 4f6316c..1a816c5 100644
--- a/libril/RilSapSocket.h
+++ b/libril/RilSapSocket.h
@@ -36,22 +36,6 @@
*/
class RilSapSocket : public RilSocket {
/**
- * Function pointer to the ril initialization funtion.
- *
- * @param Ril environment variable with place request and
- * response handlers and timeout handler.
- *
- * @param Number of arguements for the initialization function.
- *
- * @param Arguements to the initialization function used to
- * generate instance id of the ril daemon.
- *
- * @return Radio functions with handlers for onRequest, onStateRequest,
- * supports, onCancel and getVersion.
- */
- RIL_RadioFunctions *(*UimInit)(const struct RIL_Env *, int argc, char **argv);
-
- /**
* Place holder for the radio functions returned by the initialization
* function. Currenty only onRequest handler is being used.
*/
diff --git a/libril/ril.cpp b/libril/ril.cpp
index fa9d630..973a97c 100644
--- a/libril/ril.cpp
+++ b/libril/ril.cpp
@@ -114,12 +114,8 @@
static int s_registerCalled = 0;
static pthread_t s_tid_dispatch;
-static pthread_t s_tid_reader;
static int s_started = 0;
-static int s_fdDebug = -1;
-static int s_fdDebug_socket2 = -1;
-
static int s_fdWakeupRead;
static int s_fdWakeupWrite;
@@ -128,44 +124,30 @@
static struct ril_event s_wakeupfd_event;
static pthread_mutex_t s_pendingRequestsMutex = PTHREAD_MUTEX_INITIALIZER;
-static pthread_mutex_t s_writeMutex = PTHREAD_MUTEX_INITIALIZER;
static pthread_mutex_t s_wakeLockCountMutex = PTHREAD_MUTEX_INITIALIZER;
static RequestInfo *s_pendingRequests = NULL;
#if (SIM_COUNT >= 2)
static pthread_mutex_t s_pendingRequestsMutex_socket2 = PTHREAD_MUTEX_INITIALIZER;
-static pthread_mutex_t s_writeMutex_socket2 = PTHREAD_MUTEX_INITIALIZER;
static RequestInfo *s_pendingRequests_socket2 = NULL;
#endif
#if (SIM_COUNT >= 3)
static pthread_mutex_t s_pendingRequestsMutex_socket3 = PTHREAD_MUTEX_INITIALIZER;
-static pthread_mutex_t s_writeMutex_socket3 = PTHREAD_MUTEX_INITIALIZER;
static RequestInfo *s_pendingRequests_socket3 = NULL;
#endif
#if (SIM_COUNT >= 4)
static pthread_mutex_t s_pendingRequestsMutex_socket4 = PTHREAD_MUTEX_INITIALIZER;
-static pthread_mutex_t s_writeMutex_socket4 = PTHREAD_MUTEX_INITIALIZER;
static RequestInfo *s_pendingRequests_socket4 = NULL;
#endif
-static struct ril_event s_wake_timeout_event;
-static struct ril_event s_debug_event;
-
-
static const struct timeval TIMEVAL_WAKE_TIMEOUT = {ANDROID_WAKE_LOCK_SECS,ANDROID_WAKE_LOCK_USECS};
static pthread_mutex_t s_startupMutex = PTHREAD_MUTEX_INITIALIZER;
static pthread_cond_t s_startupCond = PTHREAD_COND_INITIALIZER;
-static pthread_mutex_t s_dispatchMutex = PTHREAD_MUTEX_INITIALIZER;
-static pthread_cond_t s_dispatchCond = PTHREAD_COND_INITIALIZER;
-
-static RequestInfo *s_toDispatchHead = NULL;
-static RequestInfo *s_toDispatchTail = NULL;
-
static UserCallbackInfo *s_last_wake_timeout_info = NULL;
static void *s_lastNITZTimeData = NULL;
@@ -435,9 +417,6 @@
extern "C" void
RIL_register (const RIL_RadioFunctions *callbacks) {
- int ret;
- int flags;
-
RLOGI("SIM_COUNT: %d", SIM_COUNT);
if (callbacks == NULL) {
@@ -573,9 +552,7 @@
extern "C" void
RIL_onRequestAck(RIL_Token t) {
RequestInfo *pRI;
- int ret;
- size_t errorOffset;
RIL_SOCKET_ID socket_id = RIL_SOCKET_1;
pRI = (RequestInfo *)t;
@@ -609,7 +586,6 @@
RIL_onRequestComplete(RIL_Token t, RIL_Errno e, void *response, size_t responselen) {
RequestInfo *pRI;
int ret;
- size_t errorOffset;
RIL_SOCKET_ID socket_id = RIL_SOCKET_1;
pRI = (RequestInfo *)t;
@@ -955,7 +931,7 @@
case RIL_E_SIM_FULL: return "E_SIM_FULL";
case RIL_E_NETWORK_REJECT: return "E_NETWORK_REJECT";
case RIL_E_OPERATION_NOT_ALLOWED: return "E_OPERATION_NOT_ALLOWED";
- case RIL_E_EMPTY_RECORD: "E_EMPTY_RECORD";
+ case RIL_E_EMPTY_RECORD: return "E_EMPTY_RECORD";
case RIL_E_INVALID_SMS_FORMAT: return "E_INVALID_SMS_FORMAT";
case RIL_E_ENCODING_ERR: return "E_ENCODING_ERR";
case RIL_E_INVALID_SMSC_ADDRESS: return "E_INVALID_SMSC_ADDRESS";
diff --git a/libril/ril_commands.h b/libril/ril_commands.h
index de73936..94c2a26 100644
--- a/libril/ril_commands.h
+++ b/libril/ril_commands.h
@@ -158,3 +158,5 @@
{RIL_REQUEST_SET_CARRIER_INFO_IMSI_ENCRYPTION, radio::setCarrierInfoForImsiEncryptionResponse},
{RIL_REQUEST_START_NETWORK_SCAN, radio::startNetworkScanResponse},
{RIL_REQUEST_STOP_NETWORK_SCAN, radio::stopNetworkScanResponse},
+ {RIL_REQUEST_START_KEEPALIVE, radio::startKeepaliveResponse},
+ {RIL_REQUEST_STOP_KEEPALIVE, radio::stopKeepaliveResponse},
diff --git a/libril/ril_service.cpp b/libril/ril_service.cpp
index 10ef3cb..d661acf 100644
--- a/libril/ril_service.cpp
+++ b/libril/ril_service.cpp
@@ -32,6 +32,7 @@
#define INVALID_HEX_CHAR 16
+using namespace android::hardware::radio;
using namespace android::hardware::radio::V1_0;
using namespace android::hardware::radio::deprecated::V1_0;
using ::android::hardware::configureRpcThreadpool;
@@ -40,8 +41,6 @@
using ::android::hardware::hidl_string;
using ::android::hardware::hidl_vec;
using ::android::hardware::hidl_array;
-using ::android::hardware::radio::V1_1::NetworkScanRequest;
-using ::android::hardware::radio::V1_1::KeepaliveRequest;
using ::android::hardware::Void;
using android::CommandInfo;
using android::RequestInfo;
@@ -111,10 +110,12 @@
void convertRilCellInfoListToHal(void *response, size_t responseLen, hidl_vec<CellInfo>& records);
-struct RadioImpl : public ::android::hardware::radio::V1_1::IRadio {
+struct RadioImpl : public V1_1::IRadio {
int32_t mSlotId;
sp<IRadioResponse> mRadioResponse;
sp<IRadioIndication> mRadioIndication;
+ sp<V1_1::IRadioResponse> mRadioResponseV1_1;
+ sp<V1_1::IRadioIndication> mRadioIndicationV1_1;
Return<void> setResponseFunctions(
const ::android::sp<IRadioResponse>& radioResponse,
@@ -245,7 +246,7 @@
Return<void> getAvailableNetworks(int32_t serial);
- Return<void> startNetworkScan(int32_t serial, const NetworkScanRequest& request);
+ Return<void> startNetworkScan(int32_t serial, const V1_1::NetworkScanRequest& request);
Return<void> stopNetworkScan(int32_t serial);
@@ -437,18 +438,18 @@
Return<void> setIndicationFilter(int32_t serial, int32_t indicationFilter);
- Return<void> startKeepalive(int32_t serial, const KeepaliveRequest& keepalive);
+ Return<void> startKeepalive(int32_t serial, const V1_1::KeepaliveRequest& keepalive);
Return<void> stopKeepalive(int32_t serial, int32_t sessionHandle);
Return<void> setSimCardPower(int32_t serial, bool powerUp);
Return<void> setSimCardPower_1_1(int32_t serial,
- const ::android::hardware::radio::V1_1::CardPowerState state);
+ const V1_1::CardPowerState state);
Return<void> responseAcknowledgement();
Return<void> setCarrierInfoForImsiEncryption(int32_t serial,
- const ::android::hardware::radio::V1_1::ImsiEncryptionInfo& message);
+ const V1_1::ImsiEncryptionInfo& message);
void checkReturnStatus(Return<void>& ret);
};
@@ -748,6 +749,8 @@
if (isRadioService) {
radioService[slotId]->mRadioResponse = NULL;
radioService[slotId]->mRadioIndication = NULL;
+ radioService[slotId]->mRadioResponseV1_1 = NULL;
+ radioService[slotId]->mRadioIndicationV1_1 = NULL;
} else {
oemHookService[slotId]->mOemHookResponse = NULL;
oemHookService[slotId]->mOemHookIndication = NULL;
@@ -783,6 +786,13 @@
mRadioResponse = radioResponseParam;
mRadioIndication = radioIndicationParam;
+ mRadioResponseV1_1 = V1_1::IRadioResponse::castFrom(mRadioResponse).withDefault(nullptr);
+ mRadioIndicationV1_1 = V1_1::IRadioIndication::castFrom(mRadioIndication).withDefault(nullptr);
+ if (mRadioResponseV1_1 == nullptr || mRadioIndicationV1_1 == nullptr) {
+ mRadioResponseV1_1 = nullptr;
+ mRadioIndicationV1_1 = nullptr;
+ }
+
mCounterRadio[mSlotId]++;
ret = pthread_rwlock_unlock(radioServiceRwlockPtr);
@@ -1331,7 +1341,7 @@
return Void();
}
-Return<void> RadioImpl::startNetworkScan(int32_t serial, const NetworkScanRequest& request) {
+Return<void> RadioImpl::startNetworkScan(int32_t serial, const V1_1::NetworkScanRequest& request) {
#if VDBG
RLOGD("startNetworkScan: serial %d", serial);
#endif
@@ -1359,7 +1369,7 @@
sendErrorResponse(pRI, RIL_E_INVALID_ARGUMENTS);
return Void();
}
- const ::android::hardware::radio::V1_1::RadioAccessSpecifier& ras_from =
+ const V1_1::RadioAccessSpecifier& ras_from =
request.specifiers[i];
RIL_RadioAccessSpecifier& ras_to = scan_request.specifiers[i];
@@ -1369,15 +1379,15 @@
std::copy(ras_from.channels.begin(), ras_from.channels.end(), ras_to.channels);
const std::vector<uint32_t> * bands = nullptr;
switch (request.specifiers[i].radioAccessNetwork) {
- case ::android::hardware::radio::V1_1::RadioAccessNetworks::GERAN:
+ case V1_1::RadioAccessNetworks::GERAN:
ras_to.bands_length = ras_from.geranBands.size();
bands = (std::vector<uint32_t> *) &ras_from.geranBands;
break;
- case ::android::hardware::radio::V1_1::RadioAccessNetworks::UTRAN:
+ case V1_1::RadioAccessNetworks::UTRAN:
ras_to.bands_length = ras_from.utranBands.size();
bands = (std::vector<uint32_t> *) &ras_from.utranBands;
break;
- case ::android::hardware::radio::V1_1::RadioAccessNetworks::EUTRAN:
+ case V1_1::RadioAccessNetworks::EUTRAN:
ras_to.bands_length = ras_from.eutranBands.size();
bands = (std::vector<uint32_t> *) &ras_from.eutranBands;
break;
@@ -1391,8 +1401,8 @@
}
}
- s_vendorFunctions->onRequest(
- RIL_REQUEST_START_NETWORK_SCAN, &scan_request, sizeof(scan_request), pRI);
+ CALL_ONREQUEST(RIL_REQUEST_START_NETWORK_SCAN, &scan_request, sizeof(scan_request), pRI,
+ mSlotId);
return Void();
}
@@ -1491,7 +1501,6 @@
RIL_SMS_WriteArgs args;
args.status = (int) smsWriteArgs.status;
- int len;
if (!copyHidlStringToRil(&args.pdu, smsWriteArgs.pdu, pRI)) {
return Void();
}
@@ -2154,9 +2163,13 @@
return true;
}
+struct ImsCdmaSms {
+ RIL_IMS_SMS_Message imsSms;
+ RIL_CDMA_SMS_Message cdmaSms;
+};
+
bool dispatchImsCdmaSms(const ImsSmsMessage& message, RequestInfo *pRI) {
- RIL_IMS_SMS_Message rism = {};
- RIL_CDMA_SMS_Message rcsm = {};
+ ImsCdmaSms temp = {};
if (message.cdmaMessage.size() != 1) {
RLOGE("dispatchImsCdmaSms: Invalid len %s", requestToString(pRI->pCI->requestNumber));
@@ -2164,15 +2177,20 @@
return false;
}
- rism.tech = RADIO_TECH_3GPP2;
- rism.retry = BOOL_TO_INT(message.retry);
- rism.messageRef = message.messageRef;
- rism.message.cdmaMessage = &rcsm;
+ temp.imsSms.tech = RADIO_TECH_3GPP2;
+ temp.imsSms.retry = BOOL_TO_INT(message.retry);
+ temp.imsSms.messageRef = message.messageRef;
+ temp.imsSms.message.cdmaMessage = &temp.cdmaSms;
- constructCdmaSms(rcsm, message.cdmaMessage[0]);
+ constructCdmaSms(temp.cdmaSms, message.cdmaMessage[0]);
- CALL_ONREQUEST(pRI->pCI->requestNumber, &rism, sizeof(RIL_RadioTechnologyFamily) +
- sizeof(uint8_t) + sizeof(int32_t) + sizeof(rcsm), pRI, pRI->socket_id);
+ // Vendor code expects payload length to include actual msg payload
+ // (sizeof(RIL_CDMA_SMS_Message)) instead of (RIL_CDMA_SMS_Message *) + size of other fields in
+ // RIL_IMS_SMS_Message
+ int payloadLen = sizeof(RIL_RadioTechnologyFamily) + sizeof(uint8_t) + sizeof(int32_t)
+ + sizeof(RIL_CDMA_SMS_Message);
+
+ CALL_ONREQUEST(pRI->pCI->requestNumber, &temp.imsSms, payloadLen, pRI, pRI->socket_id);
return true;
}
@@ -2375,7 +2393,6 @@
pf.authContext = authContext;
- int len;
if (!copyHidlStringToRil(&pf.authData, authData, pRI)) {
return Void();
}
@@ -2773,8 +2790,7 @@
return Void();
}
-Return<void> RadioImpl::setSimCardPower_1_1(int32_t serial,
- const ::android::hardware::radio::V1_1::CardPowerState state) {
+Return<void> RadioImpl::setSimCardPower_1_1(int32_t serial, const V1_1::CardPowerState state) {
#if VDBG
RLOGD("setSimCardPower_1_1: serial %d state %d", serial, state);
#endif
@@ -2782,6 +2798,102 @@
return Void();
}
+Return<void> RadioImpl::setCarrierInfoForImsiEncryption(int32_t serial,
+ const V1_1::ImsiEncryptionInfo& data) {
+#if VDBG
+ RLOGD("setCarrierInfoForImsiEncryption: serial %d", serial);
+#endif
+ RequestInfo *pRI = android::addRequestToList(
+ serial, mSlotId, RIL_REQUEST_SET_CARRIER_INFO_IMSI_ENCRYPTION);
+ if (pRI == NULL) {
+ return Void();
+ }
+
+ RIL_CarrierInfoForImsiEncryption imsiEncryption = {};
+
+ if (!copyHidlStringToRil(&imsiEncryption.mnc, data.mnc, pRI)) {
+ return Void();
+ }
+ if (!copyHidlStringToRil(&imsiEncryption.mcc, data.mcc, pRI)) {
+ memsetAndFreeStrings(1, imsiEncryption.mnc);
+ return Void();
+ }
+ if (!copyHidlStringToRil(&imsiEncryption.keyIdentifier, data.keyIdentifier, pRI)) {
+ memsetAndFreeStrings(2, imsiEncryption.mnc, imsiEncryption.mcc);
+ return Void();
+ }
+ int32_t lSize = data.carrierKey.size();
+ imsiEncryption.carrierKey = new uint8_t[lSize];
+ memcpy(imsiEncryption.carrierKey, data.carrierKey.data(), lSize);
+ imsiEncryption.expirationTime = data.expirationTime;
+ CALL_ONREQUEST(pRI->pCI->requestNumber, &imsiEncryption,
+ sizeof(RIL_CarrierInfoForImsiEncryption), pRI, mSlotId);
+ delete(imsiEncryption.carrierKey);
+ return Void();
+}
+
+Return<void> RadioImpl::startKeepalive(int32_t serial, const V1_1::KeepaliveRequest& keepalive) {
+#if VDBG
+ RLOGD("%s(): %d", __FUNCTION__, serial);
+#endif
+ RequestInfo *pRI = android::addRequestToList(serial, mSlotId, RIL_REQUEST_START_KEEPALIVE);
+ if (pRI == NULL) {
+ return Void();
+ }
+
+ RIL_KeepaliveRequest kaReq = {};
+
+ kaReq.type = static_cast<RIL_KeepaliveType>(keepalive.type);
+ switch(kaReq.type) {
+ case NATT_IPV4:
+ if (keepalive.sourceAddress.size() != 4 ||
+ keepalive.destinationAddress.size() != 4) {
+ RLOGE("Invalid address for keepalive!");
+ sendErrorResponse(pRI, RIL_E_INVALID_ARGUMENTS);
+ return Void();
+ }
+ break;
+ case NATT_IPV6:
+ if (keepalive.sourceAddress.size() != 16 ||
+ keepalive.destinationAddress.size() != 16) {
+ RLOGE("Invalid address for keepalive!");
+ sendErrorResponse(pRI, RIL_E_INVALID_ARGUMENTS);
+ return Void();
+ }
+ break;
+ default:
+ RLOGE("Unknown packet keepalive type!");
+ sendErrorResponse(pRI, RIL_E_INVALID_ARGUMENTS);
+ return Void();
+ }
+
+ ::memcpy(kaReq.sourceAddress, keepalive.sourceAddress.data(), keepalive.sourceAddress.size());
+ kaReq.sourcePort = keepalive.sourcePort;
+
+ ::memcpy(kaReq.destinationAddress,
+ keepalive.destinationAddress.data(), keepalive.destinationAddress.size());
+ kaReq.destinationPort = keepalive.destinationPort;
+
+ kaReq.maxKeepaliveIntervalMillis = keepalive.maxKeepaliveIntervalMillis;
+ kaReq.cid = keepalive.cid; // This is the context ID of the data call
+
+ CALL_ONREQUEST(pRI->pCI->requestNumber, &kaReq, sizeof(RIL_KeepaliveRequest), pRI, mSlotId);
+ return Void();
+}
+
+Return<void> RadioImpl::stopKeepalive(int32_t serial, int32_t sessionHandle) {
+#if VDBG
+ RLOGD("%s(): %d", __FUNCTION__, serial);
+#endif
+ RequestInfo *pRI = android::addRequestToList(serial, mSlotId, RIL_REQUEST_STOP_KEEPALIVE);
+ if (pRI == NULL) {
+ return Void();
+ }
+
+ CALL_ONREQUEST(pRI->pCI->requestNumber, &sessionHandle, sizeof(uint32_t), pRI, mSlotId);
+ return Void();
+}
+
Return<void> RadioImpl::responseAcknowledgement() {
android::releaseWakeLock();
return Void();
@@ -2825,43 +2937,6 @@
return Void();
}
-Return<void> RadioImpl::setCarrierInfoForImsiEncryption(int32_t serial,
- const ::android::hardware::radio::V1_1::ImsiEncryptionInfo& data) {
- RLOGD("setCarrierInfoForImsiEncryption: serial %d", serial);
- RequestInfo *pRI = android::addRequestToList(serial, mSlotId, RIL_REQUEST_SET_CARRIER_INFO_IMSI_ENCRYPTION);
- RIL_CarrierInfoForImsiEncryption imsiEncryption = {};
-
- if (!copyHidlStringToRil(&imsiEncryption.mnc, data.mnc, pRI)) {
- return Void();
- }
- if (!copyHidlStringToRil(&imsiEncryption.mcc, data.mcc, pRI)) {
- memsetAndFreeStrings(1, imsiEncryption.mnc);
- return Void();
- }
- if (!copyHidlStringToRil(&imsiEncryption.keyIdentifier, data.keyIdentifier, pRI)) {
- memsetAndFreeStrings(2, imsiEncryption.mnc, imsiEncryption.mcc);
- return Void();
- }
- int32_t lSize = data.carrierKey.size();
- imsiEncryption.carrierKey = new uint8_t[lSize];
- memcpy(imsiEncryption.carrierKey, data.carrierKey.data(), lSize);
- imsiEncryption.expirationTime = data.expirationTime;
- s_vendorFunctions->onRequest(pRI->pCI->requestNumber, &imsiEncryption, sizeof(RIL_CarrierInfoForImsiEncryption), pRI);
- delete(imsiEncryption.carrierKey);
- return Void();
-}
-
-Return<void> RadioImpl::startKeepalive(int32_t serial, const KeepaliveRequest& keepalive) {
- RLOGD("startKeepalive: serial %d", serial);
- return Void();
-}
-
-Return<void> RadioImpl::stopKeepalive(int32_t serial, int32_t sessionHandle) {
- RLOGD("stopKeepalive: serial %d", serial);
- return Void();
-}
-
-
/***************************************************************************************************
* RESPONSE FUNCTIONS
* Functions above are used for requests going from framework to vendor code. The ones below are
@@ -4382,7 +4457,6 @@
RadioResponseInfo responseInfo = {};
populateResponseInfo(responseInfo, serial, responseType, e);
bool manual = false;
- int serviceClass;
if (response == NULL || responseLen != sizeof(int)) {
RLOGE("getNetworkSelectionModeResponse Invalid response: NULL");
if (e == RIL_E_SUCCESS) responseInfo.error = RadioError::INVALID_RESPONSE;
@@ -4617,7 +4691,6 @@
RadioResponseInfo responseInfo = {};
populateResponseInfo(responseInfo, serial, responseType, e);
bool enable = false;
- int serviceClass;
if (response == NULL || responseLen != sizeof(int)) {
RLOGE("getMuteResponse Invalid response: NULL");
if (e == RIL_E_SUCCESS) responseInfo.error = RadioError::INVALID_RESPONSE;
@@ -6486,24 +6559,15 @@
int responseType, int serial, RIL_Errno e,
void *response, size_t responseLen) {
RLOGD("setCarrierInfoForImsiEncryptionResponse: serial %d", serial);
- if (radioService[slotId]->mRadioResponse != NULL) {
+ if (radioService[slotId]->mRadioResponseV1_1 != NULL) {
RadioResponseInfo responseInfo = {};
populateResponseInfo(responseInfo, serial, responseType, e);
- Return<sp<::android::hardware::radio::V1_1::IRadioResponse>> ret =
- ::android::hardware::radio::V1_1::IRadioResponse::castFrom(
- radioService[slotId]->mRadioResponse);
- if (ret.isOk()) {
- sp<::android::hardware::radio::V1_1::IRadioResponse> radioResponseV1_1 = ret;
- Return<void> retStatus
- = radioResponseV1_1->setCarrierInfoForImsiEncryptionResponse(responseInfo);
- radioService[slotId]->checkReturnStatus(retStatus);
- } else {
- RLOGE("setCarrierInfoForImsiEncryptionResponse: ret.isOk() == false for "
- "radioService[%d]" , slotId);
- }
+ Return<void> retStatus = radioService[slotId]->mRadioResponseV1_1->
+ setCarrierInfoForImsiEncryptionResponse(responseInfo);
+ radioService[slotId]->checkReturnStatus(retStatus);
} else {
- RLOGE("setCarrierInfoForImsiEncryptionResponse: radioService[%d]->mRadioResponse == NULL",
- slotId);
+ RLOGE("setCarrierInfoForImsiEncryptionResponse: radioService[%d]->mRadioResponseV1_1 == "
+ "NULL", slotId);
}
return 0;
}
@@ -6536,27 +6600,24 @@
RLOGD("setSimCardPowerResponse: serial %d", serial);
#endif
- if (radioService[slotId]->mRadioResponse != NULL) {
+ if (radioService[slotId]->mRadioResponse != NULL
+ || radioService[slotId]->mRadioResponseV1_1 != NULL) {
RadioResponseInfo responseInfo = {};
populateResponseInfo(responseInfo, serial, responseType, e);
- Return<sp<::android::hardware::radio::V1_1::IRadioResponse>> ret =
- ::android::hardware::radio::V1_1::IRadioResponse::castFrom(
- radioService[slotId]->mRadioResponse);
- if (ret.isOk()) {
- sp<::android::hardware::radio::V1_1::IRadioResponse> radioResponseV1_1 = ret;
- Return<void> retStatus
- = radioResponseV1_1->setSimCardPowerResponse_1_1(responseInfo);
+ if (radioService[slotId]->mRadioResponseV1_1 != NULL) {
+ Return<void> retStatus = radioService[slotId]->mRadioResponseV1_1->
+ setSimCardPowerResponse_1_1(responseInfo);
radioService[slotId]->checkReturnStatus(retStatus);
} else {
- RLOGD("setSimCardPowerResponse: ret.isOK() == false for radioService[%d]",
+ RLOGD("setSimCardPowerResponse: radioService[%d]->mRadioResponseV1_1 == NULL",
slotId);
Return<void> retStatus
= radioService[slotId]->mRadioResponse->setSimCardPowerResponse(responseInfo);
radioService[slotId]->checkReturnStatus(retStatus);
}
} else {
- RLOGE("setSimCardPowerResponse: radioService[%d]->mRadioResponse == NULL",
- slotId);
+ RLOGE("setSimCardPowerResponse: radioService[%d]->mRadioResponse == NULL && "
+ "radioService[%d]->mRadioResponseV1_1 == NULL", slotId, slotId);
}
return 0;
}
@@ -6567,21 +6628,14 @@
RLOGD("startNetworkScanResponse: serial %d", serial);
#endif
- if (radioService[slotId]->mRadioResponse != NULL) {
+ if (radioService[slotId]->mRadioResponseV1_1 != NULL) {
RadioResponseInfo responseInfo = {};
populateResponseInfo(responseInfo, serial, responseType, e);
- Return<sp<::android::hardware::radio::V1_1::IRadioResponse>> ret =
- ::android::hardware::radio::V1_1::IRadioResponse::castFrom(
- radioService[slotId]->mRadioResponse);
- if (ret.isOk()) {
- sp<::android::hardware::radio::V1_1::IRadioResponse> radioResponseV1_1 = ret;
- Return<void> retStatus = radioResponseV1_1->startNetworkScanResponse(responseInfo);
- radioService[slotId]->checkReturnStatus(retStatus);
- } else {
- RLOGD("startNetworkScanResponse: ret.isOK() == false for radioService[%d]", slotId);
- }
+ Return<void> retStatus
+ = radioService[slotId]->mRadioResponseV1_1->startNetworkScanResponse(responseInfo);
+ radioService[slotId]->checkReturnStatus(retStatus);
} else {
- RLOGE("startNetworkScanResponse: radioService[%d]->mRadioResponse == NULL", slotId);
+ RLOGE("startNetworkScanResponse: radioService[%d]->mRadioResponseV1_1 == NULL", slotId);
}
return 0;
@@ -6593,26 +6647,73 @@
RLOGD("stopNetworkScanResponse: serial %d", serial);
#endif
- if (radioService[slotId]->mRadioResponse != NULL) {
+ if (radioService[slotId]->mRadioResponseV1_1 != NULL) {
RadioResponseInfo responseInfo = {};
populateResponseInfo(responseInfo, serial, responseType, e);
- Return<sp<::android::hardware::radio::V1_1::IRadioResponse>> ret =
- ::android::hardware::radio::V1_1::IRadioResponse::castFrom(
- radioService[slotId]->mRadioResponse);
- if (ret.isOk()) {
- sp<::android::hardware::radio::V1_1::IRadioResponse> radioResponseV1_1 = ret;
- Return<void> retStatus = radioResponseV1_1->stopNetworkScanResponse(responseInfo);
- radioService[slotId]->checkReturnStatus(retStatus);
- } else {
- RLOGD("stopNetworkScanResponse: ret.isOK() == false for radioService[%d]", slotId);
- }
+ Return<void> retStatus
+ = radioService[slotId]->mRadioResponseV1_1->stopNetworkScanResponse(responseInfo);
+ radioService[slotId]->checkReturnStatus(retStatus);
} else {
- RLOGE("stopNetworkScanResponse: radioService[%d]->mRadioResponse == NULL", slotId);
+ RLOGE("stopNetworkScanResponse: radioService[%d]->mRadioResponseV1_1 == NULL", slotId);
}
return 0;
}
+void convertRilKeepaliveStatusToHal(const RIL_KeepaliveStatus *rilStatus,
+ V1_1::KeepaliveStatus& halStatus) {
+ halStatus.sessionHandle = rilStatus->sessionHandle;
+ halStatus.code = static_cast<V1_1::KeepaliveStatusCode>(rilStatus->code);
+}
+
+int radio::startKeepaliveResponse(int slotId, int responseType, int serial, RIL_Errno e,
+ void *response, size_t responseLen) {
+#if VDBG
+ RLOGD("%s(): %d", __FUNCTION__, serial);
+#endif
+ RadioResponseInfo responseInfo = {};
+ populateResponseInfo(responseInfo, serial, responseType, e);
+
+ // If we don't have a radio service, there's nothing we can do
+ if (radioService[slotId]->mRadioResponseV1_1 == NULL) {
+ RLOGE("%s: radioService[%d]->mRadioResponseV1_1 == NULL", __FUNCTION__, slotId);
+ return 0;
+ }
+
+ V1_1::KeepaliveStatus ks = {};
+ if (response == NULL || responseLen != sizeof(V1_1::KeepaliveStatus)) {
+ RLOGE("%s: invalid response - %d", __FUNCTION__, static_cast<int>(e));
+ if (e == RIL_E_SUCCESS) responseInfo.error = RadioError::INVALID_RESPONSE;
+ } else {
+ convertRilKeepaliveStatusToHal(static_cast<RIL_KeepaliveStatus*>(response), ks);
+ }
+
+ Return<void> retStatus =
+ radioService[slotId]->mRadioResponseV1_1->startKeepaliveResponse(responseInfo, ks);
+ radioService[slotId]->checkReturnStatus(retStatus);
+ return 0;
+}
+
+int radio::stopKeepaliveResponse(int slotId, int responseType, int serial, RIL_Errno e,
+ void *response, size_t responseLen) {
+#if VDBG
+ RLOGD("%s(): %d", __FUNCTION__, serial);
+#endif
+ RadioResponseInfo responseInfo = {};
+ populateResponseInfo(responseInfo, serial, responseType, e);
+
+ // If we don't have a radio service, there's nothing we can do
+ if (radioService[slotId]->mRadioResponseV1_1 == NULL) {
+ RLOGE("%s: radioService[%d]->mRadioResponseV1_1 == NULL", __FUNCTION__, slotId);
+ return 0;
+ }
+
+ Return<void> retStatus =
+ radioService[slotId]->mRadioResponseV1_1->stopKeepaliveResponse(responseInfo);
+ radioService[slotId]->checkReturnStatus(retStatus);
+ return 0;
+}
+
int radio::sendRequestRawResponse(int slotId,
int responseType, int serial, RIL_Errno e,
void *response, size_t responseLen) {
@@ -6677,7 +6778,11 @@
return 0;
}
-// Radio Indication functions
+/***************************************************************************************************
+ * INDICATION FUNCTIONS
+ * The below function handle unsolicited messages coming from the Radio
+ * (messages for which there is no pending request)
+ **************************************************************************************************/
RadioIndicationType convertIntToRadioIndicationType(int indicationType) {
return indicationType == RESPONSE_UNSOLICITED ? (RadioIndicationType::UNSOLICITED) :
@@ -7160,7 +7265,7 @@
SimRefreshResult refreshResult = {};
RIL_SimRefreshResponse_v7 *simRefreshResponse = ((RIL_SimRefreshResponse_v7 *) response);
refreshResult.type =
- (android::hardware::radio::V1_0::SimRefreshType) simRefreshResponse->result;
+ (V1_0::SimRefreshType) simRefreshResponse->result;
refreshResult.efId = simRefreshResponse->ef_id;
refreshResult.aid = convertCharPtrToHidlString(simRefreshResponse->aid);
@@ -7245,18 +7350,18 @@
msg.isServicePresent = rilMsg->bIsServicePresent;
msg.serviceCategory = rilMsg->uServicecategory;
msg.address.digitMode =
- (android::hardware::radio::V1_0::CdmaSmsDigitMode) rilMsg->sAddress.digit_mode;
+ (V1_0::CdmaSmsDigitMode) rilMsg->sAddress.digit_mode;
msg.address.numberMode =
- (android::hardware::radio::V1_0::CdmaSmsNumberMode) rilMsg->sAddress.number_mode;
+ (V1_0::CdmaSmsNumberMode) rilMsg->sAddress.number_mode;
msg.address.numberType =
- (android::hardware::radio::V1_0::CdmaSmsNumberType) rilMsg->sAddress.number_type;
+ (V1_0::CdmaSmsNumberType) rilMsg->sAddress.number_type;
msg.address.numberPlan =
- (android::hardware::radio::V1_0::CdmaSmsNumberPlan) rilMsg->sAddress.number_plan;
+ (V1_0::CdmaSmsNumberPlan) rilMsg->sAddress.number_plan;
int digitLimit = MIN((rilMsg->sAddress.number_of_digits), RIL_CDMA_SMS_ADDRESS_MAX);
msg.address.digits.setToExternal(rilMsg->sAddress.digits, digitLimit);
- msg.subAddress.subaddressType = (android::hardware::radio::V1_0::CdmaSmsSubaddressType)
+ msg.subAddress.subaddressType = (V1_0::CdmaSmsSubaddressType)
rilMsg->sSubAddress.subaddressType;
msg.subAddress.odd = rilMsg->sSubAddress.odd;
@@ -8033,10 +8138,10 @@
void convertRilRadioCapabilityToHal(void *response, size_t responseLen, RadioCapability& rc) {
RIL_RadioCapability *rilRadioCapability = (RIL_RadioCapability *) response;
rc.session = rilRadioCapability->session;
- rc.phase = (android::hardware::radio::V1_0::RadioCapabilityPhase) rilRadioCapability->phase;
+ rc.phase = (V1_0::RadioCapabilityPhase) rilRadioCapability->phase;
rc.raf = rilRadioCapability->rat;
rc.logicalModemUuid = convertCharPtrToHidlString(rilRadioCapability->logicalModemUuid);
- rc.status = (android::hardware::radio::V1_0::RadioCapabilityStatus) rilRadioCapability->status;
+ rc.status = (V1_0::RadioCapabilityStatus) rilRadioCapability->status;
}
int radio::radioCapabilityIndicationInd(int slotId,
@@ -8269,7 +8374,7 @@
#if VDBG
RLOGD("networkScanResultInd");
#endif
- if (radioService[slotId] != NULL && radioService[slotId]->mRadioIndication != NULL) {
+ if (radioService[slotId] != NULL && radioService[slotId]->mRadioIndicationV1_1 != NULL) {
if (response == NULL || responseLen == 0) {
RLOGE("networkScanResultInd: invalid response");
return 0;
@@ -8280,30 +8385,21 @@
RLOGD("networkScanResultInd");
#endif
- Return<sp<::android::hardware::radio::V1_1::IRadioIndication>> ret =
- ::android::hardware::radio::V1_1::IRadioIndication::castFrom(
- radioService[slotId]->mRadioIndication);
- if (ret.isOk()) {
- RIL_NetworkScanResult *networkScanResult = (RIL_NetworkScanResult *) response;
+ RIL_NetworkScanResult *networkScanResult = (RIL_NetworkScanResult *) response;
- ::android::hardware::radio::V1_1::NetworkScanResult result;
- result.status =
- (::android::hardware::radio::V1_1::ScanStatus) networkScanResult->status;
- result.error = (RadioError) e;
- convertRilCellInfoListToHal(
- networkScanResult->network_infos,
- networkScanResult->network_infos_length * sizeof(RIL_CellInfo_v12),
- result.networkInfos);
+ V1_1::NetworkScanResult result;
+ result.status = (V1_1::ScanStatus) networkScanResult->status;
+ result.error = (RadioError) e;
+ convertRilCellInfoListToHal(
+ networkScanResult->network_infos,
+ networkScanResult->network_infos_length * sizeof(RIL_CellInfo_v12),
+ result.networkInfos);
- sp<::android::hardware::radio::V1_1::IRadioIndication> radioIndicationV1_1 = ret;
- Return<void> retStatus = radioIndicationV1_1->networkScanResult(
- convertIntToRadioIndicationType(indicationType), result);
- radioService[slotId]->checkReturnStatus(retStatus);
- } else {
- RLOGE("networkScanResultInd: ret.isOk() == false for radioService[%d]", slotId);
- }
+ Return<void> retStatus = radioService[slotId]->mRadioIndicationV1_1->networkScanResult(
+ convertIntToRadioIndicationType(indicationType), result);
+ radioService[slotId]->checkReturnStatus(retStatus);
} else {
- RLOGE("networkScanResultInd: radioService[%d]->mRadioIndication == NULL", slotId);
+ RLOGE("networkScanResultInd: radioService[%d]->mRadioIndicationV1_1 == NULL", slotId);
}
return 0;
}
@@ -8311,31 +8407,56 @@
int radio::carrierInfoForImsiEncryption(int slotId,
int indicationType, int token, RIL_Errno e, void *response,
size_t responseLen) {
- if (radioService[slotId] != NULL && radioService[slotId]->mRadioIndication != NULL) {
+ if (radioService[slotId] != NULL && radioService[slotId]->mRadioIndicationV1_1 != NULL) {
if (response == NULL || responseLen == 0) {
RLOGE("carrierInfoForImsiEncryption: invalid response");
return 0;
}
RLOGD("carrierInfoForImsiEncryption");
- Return<sp<::android::hardware::radio::V1_1::IRadioIndication>> ret =
- ::android::hardware::radio::V1_1::IRadioIndication::castFrom(
- radioService[slotId]->mRadioIndication);
- if (ret.isOk()) {
- sp<::android::hardware::radio::V1_1::IRadioIndication> radioIndicationV1_1 = ret;
- Return<void> retStatus = radioIndicationV1_1->carrierInfoForImsiEncryption(
- convertIntToRadioIndicationType(indicationType));
- radioService[slotId]->checkReturnStatus(retStatus);
- } else {
- RLOGE("carrierInfoForImsiEncryptionResponse: ret.isOk() == false for radioService[%d]",
- slotId);
- }
+ Return<void> retStatus = radioService[slotId]->mRadioIndicationV1_1->
+ carrierInfoForImsiEncryption(convertIntToRadioIndicationType(indicationType));
+ radioService[slotId]->checkReturnStatus(retStatus);
} else {
- RLOGE("carrierInfoForImsiEncryption: radioService[%d]->mRadioIndication == NULL", slotId);
+ RLOGE("carrierInfoForImsiEncryption: radioService[%d]->mRadioIndicationV1_1 == NULL",
+ slotId);
}
return 0;
}
+int radio::keepaliveStatusInd(int slotId,
+ int indicationType, int token, RIL_Errno e, void *response,
+ size_t responseLen) {
+#if VDBG
+ RLOGD("%s(): token=%d", __FUNCTION__, token);
+#endif
+ if (radioService[slotId] == NULL || radioService[slotId]->mRadioIndication == NULL) {
+ RLOGE("%s: radioService[%d]->mRadioIndication == NULL", __FUNCTION__, slotId);
+ return 0;
+ }
+
+ auto ret = V1_1::IRadioIndication::castFrom(
+ radioService[slotId]->mRadioIndication);
+ if (!ret.isOk()) {
+ RLOGE("%s: ret.isOk() == false for radioService[%d]", __FUNCTION__, slotId);
+ return 0;
+ }
+ sp<V1_1::IRadioIndication> radioIndicationV1_1 = ret;
+
+ if (response == NULL || responseLen != sizeof(V1_1::KeepaliveStatus)) {
+ RLOGE("%s: invalid response", __FUNCTION__);
+ return 0;
+ }
+
+ V1_1::KeepaliveStatus ks;
+ convertRilKeepaliveStatusToHal(static_cast<RIL_KeepaliveStatus*>(response), ks);
+
+ Return<void> retStatus = radioIndicationV1_1->keepaliveStatus(
+ convertIntToRadioIndicationType(indicationType), ks);
+ radioService[slotId]->checkReturnStatus(retStatus);
+ return 0;
+}
+
int radio::oemHookRawInd(int slotId,
int indicationType, int token, RIL_Errno e, void *response,
size_t responseLen) {
diff --git a/libril/ril_service.h b/libril/ril_service.h
index be7cc2d..2240e2a 100644
--- a/libril/ril_service.h
+++ b/libril/ril_service.h
@@ -541,6 +541,14 @@
int responseType, int serial, RIL_Errno e,
void *response, size_t responselen);
+int startKeepaliveResponse(int slotId,
+ int responseType, int serial, RIL_Errno e,
+ void *response, size_t responselen);
+
+int stopKeepaliveResponse(int slotId,
+ int responseType, int serial, RIL_Errno e,
+ void *response, size_t responselen);
+
void acknowledgeRequest(int slotId, int serial);
int radioStateChangedInd(int slotId,
@@ -713,6 +721,10 @@
int indicationType, int token, RIL_Errno e, void *response,
size_t responselen);
+int keepaliveStatusInd(int slotId,
+ int indicationType, int token, RIL_Errno e, void *response,
+ size_t responselen);
+
int sendRequestRawResponse(int slotId,
int responseType, int serial, RIL_Errno e,
void *response, size_t responseLen);
diff --git a/libril/sap_service.cpp b/libril/sap_service.cpp
index 2ac6745..85ff903 100644
--- a/libril/sap_service.cpp
+++ b/libril/sap_service.cpp
@@ -532,7 +532,6 @@
void *sapDecodeMessage(MsgId msgId, MsgType msgType, uint8_t *payloadPtr, size_t payloadLen) {
void *responsePtr = NULL;
- bool decodeStatus = false;
pb_istream_t stream;
/* Create the stream */
diff --git a/librilutils/Android.mk b/librilutils/Android.mk
index 0c6e9ea..275fea9 100644
--- a/librilutils/Android.mk
+++ b/librilutils/Android.mk
@@ -14,6 +14,8 @@
LOCAL_EXPORT_C_INCLUDE_DIRS := \
$(LOCAL_PATH)/../include
+LOCAL_CFLAGS := -Wall -Wextra -Werror
+
LOCAL_PROTOC_OPTIMIZE_TYPE := nanopb-c-enable_malloc
LOCAL_MODULE:= librilutils
@@ -37,6 +39,8 @@
LOCAL_EXPORT_C_INCLUDE_DIRS := \
$(LOCAL_PATH)/../include
+LOCAL_CFLAGS : -Wall -Wextra -Werror
+
LOCAL_PROTOC_OPTIMIZE_TYPE := nanopb-c-enable_malloc
LOCAL_MODULE:= librilutils_static
@@ -51,6 +55,7 @@
src_proto := $(LOCAL_PATH)
LOCAL_MODULE := sap-api-java-static
LOCAL_SRC_FILES := proto/sap-api.proto
+LOCAL_CFLAGS := -Wall -Wextra -Werror
LOCAL_PROTOC_OPTIMIZE_TYPE := micro
include $(BUILD_STATIC_JAVA_LIBRARY)
diff --git a/reference-ril/Android.mk b/reference-ril/Android.mk
index 6d170c9..6afdbd3 100644
--- a/reference-ril/Android.mk
+++ b/reference-ril/Android.mk
@@ -14,8 +14,11 @@
LOCAL_SHARED_LIBRARIES := \
liblog libcutils libutils libril librilutils
+LOCAL_STATIC_LIBRARIES := libqemu_pipe libbase
+
# for asprinf
LOCAL_CFLAGS := -D_GNU_SOURCE
+LOCAL_CFLAGS += -Wall -Wextra -Wno-unused-variable -Wno-unused-function -Werror
LOCAL_C_INCLUDES :=
diff --git a/reference-ril/reference-ril.c b/reference-ril/reference-ril.c
index c20fb81..1f448f2 100644
--- a/reference-ril/reference-ril.c
+++ b/reference-ril/reference-ril.c
@@ -37,7 +37,7 @@
#include <cutils/sockets.h>
#include <sys/system_properties.h>
#include <termios.h>
-#include <system/qemu_pipe.h>
+#include <qemu_pipe.h>
#include "ril.h"
@@ -802,9 +802,11 @@
}
return;
+#ifdef WORKAROUND_ERRONEOUS_ANSWER
error:
RIL_onRequestComplete(t, RIL_E_GENERIC_FAILURE, NULL, 0);
at_response_free(p_response);
+#endif
}
static void requestDial(void *data, size_t datalen __unused, RIL_Token t)
@@ -887,9 +889,13 @@
ATResponse *p_response = NULL;
int err;
char *line;
- int count =0;
- int numofElements=sizeof(RIL_SignalStrength_v6)/sizeof(int);
- int response[numofElements];
+ int count = 0;
+ // Accept a response that is at least v6, and up to v10
+ int minNumOfElements=sizeof(RIL_SignalStrength_v6)/sizeof(int);
+ int maxNumOfElements=sizeof(RIL_SignalStrength_v10)/sizeof(int);
+ int response[maxNumOfElements];
+
+ memset(response, 0, sizeof(response));
err = at_send_command_singleline("AT+CSQ", "+CSQ:", &p_response);
@@ -903,9 +909,9 @@
err = at_tok_start(&line);
if (err < 0) goto error;
- for (count =0; count < numofElements; count ++) {
+ for (count = 0; count < maxNumOfElements; count++) {
err = at_tok_nextint(&line, &(response[count]));
- if (err < 0) goto error;
+ if (err < 0 && count < minNumOfElements) goto error;
}
RIL_onRequestComplete(t, RIL_E_SUCCESS, response, sizeof(response));
@@ -1074,12 +1080,6 @@
RIL_onRequestComplete(t, RIL_E_SUCCESS, responseStr, count*sizeof(char*));
at_response_free(p_response);
-
- return;
-error:
- RLOGE("requestCdmaDeviceIdentity must never return an error when radio is on");
- at_response_free(p_response);
- RIL_onRequestComplete(t, RIL_E_GENERIC_FAILURE, NULL, 0);
}
static void requestCdmaGetSubscriptionSource(int request __unused, void *data,
@@ -1168,11 +1168,6 @@
responseStr[3] = "8587777777"; // MIN
responseStr[4] = "1"; // PRL Version
RIL_onRequestComplete(t, RIL_E_SUCCESS, responseStr, count*sizeof(char*));
-
- return;
-error:
- RLOGE("requestRegistrationState must never return an error when radio is on");
- RIL_onRequestComplete(t, RIL_E_GENERIC_FAILURE, NULL, 0);
}
static void requestCdmaGetRoamingPreference(int request __unused, void *data __unused,
diff --git a/rild/Android.mk b/rild/Android.mk
index 4f5802b..7ac505c 100644
--- a/rild/Android.mk
+++ b/rild/Android.mk
@@ -17,6 +17,7 @@
librilutils_static
LOCAL_CFLAGS := -DRIL_SHLIB
+LOCAL_CFLAGS += -Wall -Wextra -Werror
ifeq ($(SIM_COUNT), 2)
LOCAL_CFLAGS += -DANDROID_MULTI_SIM