diff options
| author | Simon Shields <keepcalm444@gmail.com> | 2016-10-01 21:59:47 +1000 |
|---|---|---|
| committer | Simon Shields <keepcalm444@gmail.com> | 2016-10-22 02:50:37 +1100 |
| commit | 9958e4b098642a01d1e7ec076270427e4fc30240 (patch) | |
| tree | 2205926d093ecf23cd9ac909d5027e5b701ac434 | |
| parent | 0abd98edbf999d902dd830b986e686267b036856 (diff) | |
i9300: update ril header
Change-Id: Ic3df7075eb810a789348fab686322b557684775b
| -rw-r--r-- | include/telephony/ril.h | 792 |
1 files changed, 729 insertions, 63 deletions
diff --git a/include/telephony/ril.h b/include/telephony/ril.h index e13ad9f..1c91997 100644 --- a/include/telephony/ril.h +++ b/include/telephony/ril.h @@ -46,7 +46,29 @@ extern "C" { #define SIM_COUNT 1 #endif -#define RIL_VERSION 11 /* Current version */ +/* + * RIL version. + * Value of RIL_VERSION should not be changed in future. Here onwards, + * when a new change is supposed to be introduced which could involve new + * schemes added like Wakelocks, data structures added/updated, etc, we would + * just document RIL version associated with that change below. When OEM updates its + * RIL with those changes, they would return that new RIL version during RIL_REGISTER. + * We should make use of the returned version by vendor to identify appropriate scheme + * or data structure version to use. + * + * Documentation of RIL version and associated changes + * RIL_VERSION = 12 : This version corresponds to updated data structures namely + * RIL_Data_Call_Response_v11, RIL_SIM_IO_v6, RIL_CardStatus_v6, + * RIL_SimRefreshResponse_v7, RIL_CDMA_CallWaiting_v6, + * RIL_LTE_SignalStrength_v8, RIL_SignalStrength_v10, RIL_CellIdentityGsm_v12 + * RIL_CellIdentityWcdma_v12, RIL_CellIdentityLte_v12,RIL_CellInfoGsm_v12, + * RIL_CellInfoWcdma_v12, RIL_CellInfoLte_v12, RIL_CellInfo_v12. + * + * RIL_VERSION = 13 : This version includes new wakelock semantics and as the first + * strongly versioned version it enforces structure use. + */ +#define RIL_VERSION 12 +#define LAST_IMPRECISE_RIL_VERSION 12 // Better self-documented name #define RIL_VERSION_MIN 6 /* Minimum RIL_VERSION supported */ #define CDMA_ALPHA_INFO_BUFFER_LENGTH 64 @@ -113,9 +135,65 @@ typedef enum { RIL_E_SS_MODIFIED_TO_DIAL = 24, /* SS request modified to DIAL */ RIL_E_SS_MODIFIED_TO_USSD = 25, /* SS request modified to USSD */ RIL_E_SUBSCRIPTION_NOT_SUPPORTED = 26, /* Subscription not supported by RIL */ - RIL_E_SS_MODIFIED_TO_SS = 27 /* SS request modified to different SS request */ - - + 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_SYSTEM_ERR = 39, /* Hit platform or system error */ + RIL_E_MODEM_ERR = 40, /* Hit unexpected modem error */ + 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 */ + RIL_E_INVALID_ARGUMENTS = 44, /* Received invalid arguments in request */ + RIL_E_INVALID_SIM_STATE = 45, /* Can not process the request in current SIM state */ + RIL_E_INVALID_MODEM_STATE = 46, /* Can not process the request in current Modem state */ + RIL_E_INVALID_CALL_ID = 47, /* Received invalid call id in request */ + RIL_E_NO_SMS_TO_ACK = 48, /* ACK received when there is no SMS to ack */ + RIL_E_NETWORK_ERR = 49, /* Received error from network */ + RIL_E_REQUEST_RATE_LIMITED = 50, /* Operation denied due to overly-frequent requests */ + RIL_E_SIM_BUSY = 51, /* SIM is busy */ + RIL_E_SIM_FULL = 52, /* The target EF is full */ + RIL_E_NETWORK_REJECT = 53, /* Request is rejected by network */ + RIL_E_OPERATION_NOT_ALLOWED = 54, /* Not allowed the request now */ + RIL_E_EMPTY_RECORD = 55, /* The request record is empty */ + RIL_E_INVALID_SMS_FORMAT = 56, /* Invalid sms format */ + RIL_E_ENCODING_ERR = 57, /* Message not encoded properly */ + RIL_E_INVALID_SMSC_ADDRESS = 58, /* SMSC address specified is invalid */ + RIL_E_NO_SUCH_ENTRY = 59, /* No such entry present to perform the request */ + RIL_E_NETWORK_NOT_READY = 60, /* Network is not ready to perform the request */ + RIL_E_NOT_PROVISIONED = 61, /* Device doesnot have this value provisioned */ + RIL_E_NO_SUBSCRIPTION = 62, /* Device doesnot have subscription */ + RIL_E_NO_NETWORK_FOUND = 63, /* Network cannot be found */ + RIL_E_DEVICE_IN_USE = 64, /* Operation cannot be performed because the device + is currently in use */ + RIL_E_ABORTED = 65, /* Operation aborted */ + // 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, + RIL_E_OEM_ERROR_2 = 502, + RIL_E_OEM_ERROR_3 = 503, + RIL_E_OEM_ERROR_4 = 504, + RIL_E_OEM_ERROR_5 = 505, + RIL_E_OEM_ERROR_6 = 506, + RIL_E_OEM_ERROR_7 = 507, + RIL_E_OEM_ERROR_8 = 508, + RIL_E_OEM_ERROR_9 = 509, + RIL_E_OEM_ERROR_10 = 510, + RIL_E_OEM_ERROR_11 = 511, + RIL_E_OEM_ERROR_12 = 512, + RIL_E_OEM_ERROR_13 = 513, + RIL_E_OEM_ERROR_14 = 514, + RIL_E_OEM_ERROR_15 = 515, + RIL_E_OEM_ERROR_16 = 516, + RIL_E_OEM_ERROR_17 = 517, + RIL_E_OEM_ERROR_18 = 518, + RIL_E_OEM_ERROR_19 = 519, + RIL_E_OEM_ERROR_20 = 520, + RIL_E_OEM_ERROR_21 = 521, + RIL_E_OEM_ERROR_22 = 522, + RIL_E_OEM_ERROR_23 = 523, + RIL_E_OEM_ERROR_24 = 524, + RIL_E_OEM_ERROR_25 = 525 } RIL_Errno; typedef enum { @@ -188,6 +266,28 @@ typedef enum { } RIL_RadioAccessFamily; typedef enum { + BAND_MODE_UNSPECIFIED = 0, //"unspecified" (selected by baseband automatically) + BAND_MODE_EURO = 1, //"EURO band" (GSM-900 / DCS-1800 / WCDMA-IMT-2000) + BAND_MODE_USA = 2, //"US band" (GSM-850 / PCS-1900 / WCDMA-850 / WCDMA-PCS-1900) + BAND_MODE_JPN = 3, //"JPN band" (WCDMA-800 / WCDMA-IMT-2000) + BAND_MODE_AUS = 4, //"AUS band" (GSM-900 / DCS-1800 / WCDMA-850 / WCDMA-IMT-2000) + BAND_MODE_AUS_2 = 5, //"AUS band 2" (GSM-900 / DCS-1800 / WCDMA-850) + BAND_MODE_CELL_800 = 6, //"Cellular" (800-MHz Band) + BAND_MODE_PCS = 7, //"PCS" (1900-MHz Band) + BAND_MODE_JTACS = 8, //"Band Class 3" (JTACS Band) + BAND_MODE_KOREA_PCS = 9, //"Band Class 4" (Korean PCS Band) + BAND_MODE_5_450M = 10, //"Band Class 5" (450-MHz Band) + BAND_MODE_IMT2000 = 11, //"Band Class 6" (2-GMHz IMT2000 Band) + BAND_MODE_7_700M_2 = 12, //"Band Class 7" (Upper 700-MHz Band) + BAND_MODE_8_1800M = 13, //"Band Class 8" (1800-MHz Band) + BAND_MODE_9_900M = 14, //"Band Class 9" (900-MHz Band) + BAND_MODE_10_800M_2 = 15, //"Band Class 10" (Secondary 800-MHz Band) + BAND_MODE_EURO_PAMR_400M = 16, //"Band Class 11" (400-MHz European PAMR Band) + BAND_MODE_AWS = 17, //"Band Class 15" (AWS Band) + BAND_MODE_USA_2500M = 18 //"Band Class 16" (US 2.5-GHz Band) +} RIL_RadioBandMode; + +typedef enum { RC_PHASE_CONFIGURED = 0, // LM is configured is initial value and value after FINISH completes RC_PHASE_START = 1, // START is sent before Apply and indicates that an APPLY will be // forthcoming with these same parameters @@ -590,10 +690,53 @@ typedef struct { /* See RIL_REQUEST_LAST_CALL_FAIL_CAUSE */ typedef enum { CALL_FAIL_UNOBTAINABLE_NUMBER = 1, + CALL_FAIL_NO_ROUTE_TO_DESTINATION = 3, + CALL_FAIL_CHANNEL_UNACCEPTABLE = 6, + CALL_FAIL_OPERATOR_DETERMINED_BARRING = 8, CALL_FAIL_NORMAL = 16, CALL_FAIL_BUSY = 17, + CALL_FAIL_NO_USER_RESPONDING = 18, + CALL_FAIL_NO_ANSWER_FROM_USER = 19, + CALL_FAIL_CALL_REJECTED = 21, + CALL_FAIL_NUMBER_CHANGED = 22, + CALL_FAIL_PREEMPTION = 25, + CALL_FAIL_DESTINATION_OUT_OF_ORDER = 27, + CALL_FAIL_INVALID_NUMBER_FORMAT = 28, + CALL_FAIL_FACILITY_REJECTED = 29, + CALL_FAIL_RESP_TO_STATUS_ENQUIRY = 30, + CALL_FAIL_NORMAL_UNSPECIFIED = 31, CALL_FAIL_CONGESTION = 34, + CALL_FAIL_NETWORK_OUT_OF_ORDER = 38, + CALL_FAIL_TEMPORARY_FAILURE = 41, + CALL_FAIL_SWITCHING_EQUIPMENT_CONGESTION = 42, + CALL_FAIL_ACCESS_INFORMATION_DISCARDED = 43, + CALL_FAIL_REQUESTED_CIRCUIT_OR_CHANNEL_NOT_AVAILABLE = 44, + CALL_FAIL_RESOURCES_UNAVAILABLE_OR_UNSPECIFIED = 47, + CALL_FAIL_QOS_UNAVAILABLE = 49, + CALL_FAIL_REQUESTED_FACILITY_NOT_SUBSCRIBED = 50, + CALL_FAIL_INCOMING_CALLS_BARRED_WITHIN_CUG = 55, + CALL_FAIL_BEARER_CAPABILITY_NOT_AUTHORIZED = 57, + CALL_FAIL_BEARER_CAPABILITY_UNAVAILABLE = 58, + CALL_FAIL_SERVICE_OPTION_NOT_AVAILABLE = 63, + CALL_FAIL_BEARER_SERVICE_NOT_IMPLEMENTED = 65, CALL_FAIL_ACM_LIMIT_EXCEEDED = 68, + CALL_FAIL_REQUESTED_FACILITY_NOT_IMPLEMENTED = 69, + CALL_FAIL_ONLY_DIGITAL_INFORMATION_BEARER_AVAILABLE = 70, + CALL_FAIL_SERVICE_OR_OPTION_NOT_IMPLEMENTED = 79, + CALL_FAIL_INVALID_TRANSACTION_IDENTIFIER = 81, + CALL_FAIL_USER_NOT_MEMBER_OF_CUG = 87, + CALL_FAIL_INCOMPATIBLE_DESTINATION = 88, + CALL_FAIL_INVALID_TRANSIT_NW_SELECTION = 91, + CALL_FAIL_SEMANTICALLY_INCORRECT_MESSAGE = 95, + CALL_FAIL_INVALID_MANDATORY_INFORMATION = 96, + CALL_FAIL_MESSAGE_TYPE_NON_IMPLEMENTED = 97, + CALL_FAIL_MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98, + CALL_FAIL_INFORMATION_ELEMENT_NON_EXISTENT = 99, + CALL_FAIL_CONDITIONAL_IE_ERROR = 100, + CALL_FAIL_MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101, + CALL_FAIL_RECOVERY_ON_TIMER_EXPIRED = 102, + CALL_FAIL_PROTOCOL_ERROR_UNSPECIFIED = 111, + CALL_FAIL_INTERWORKING_UNSPECIFIED = 127, CALL_FAIL_CALL_BARRED = 240, CALL_FAIL_FDN_BLOCKED = 241, CALL_FAIL_IMSI_UNKNOWN_IN_VLR = 242, @@ -612,7 +755,9 @@ 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 */ - CALL_FAIL_ERROR_UNSPECIFIED = 0xffff + CALL_FAIL_ERROR_UNSPECIFIED = 0xffff /* This error will be deprecated soon, + vendor code should make sure to map error + code to specific error */ } RIL_LastCallFailCause; typedef struct { @@ -631,6 +776,8 @@ typedef enum { as the UI layer needs to distinguish these cases for error notification and potential retries. */ PDP_FAIL_OPERATOR_BARRED = 0x08, /* no retry */ + PDP_FAIL_NAS_SIGNALLING = 0x0E, + PDP_FAIL_LLC_SNDCP = 0x19, PDP_FAIL_INSUFFICIENT_RESOURCES = 0x1A, PDP_FAIL_MISSING_UKNOWN_APN = 0x1B, /* no retry */ PDP_FAIL_UNKNOWN_PDP_ADDRESS_TYPE = 0x1C, /* no retry */ @@ -643,10 +790,62 @@ typedef enum { PDP_FAIL_NSAPI_IN_USE = 0x23, /* no retry */ PDP_FAIL_REGULAR_DEACTIVATION = 0x24, /* possibly restart radio, based on framework config */ + PDP_FAIL_QOS_NOT_ACCEPTED = 0x25, + PDP_FAIL_NETWORK_FAILURE = 0x26, + PDP_FAIL_UMTS_REACTIVATION_REQ = 0x27, + PDP_FAIL_FEATURE_NOT_SUPP = 0x28, + PDP_FAIL_TFT_SEMANTIC_ERROR = 0x29, + PDP_FAIL_TFT_SYTAX_ERROR = 0x2A, + PDP_FAIL_UNKNOWN_PDP_CONTEXT = 0x2B, + PDP_FAIL_FILTER_SEMANTIC_ERROR = 0x2C, + PDP_FAIL_FILTER_SYTAX_ERROR = 0x2D, + PDP_FAIL_PDP_WITHOUT_ACTIVE_TFT = 0x2E, PDP_FAIL_ONLY_IPV4_ALLOWED = 0x32, /* no retry */ PDP_FAIL_ONLY_IPV6_ALLOWED = 0x33, /* no retry */ PDP_FAIL_ONLY_SINGLE_BEARER_ALLOWED = 0x34, + PDP_FAIL_ESM_INFO_NOT_RECEIVED = 0x35, + PDP_FAIL_PDN_CONN_DOES_NOT_EXIST = 0x36, + PDP_FAIL_MULTI_CONN_TO_SAME_PDN_NOT_ALLOWED = 0x37, + PDP_FAIL_MAX_ACTIVE_PDP_CONTEXT_REACHED = 0x41, + PDP_FAIL_UNSUPPORTED_APN_IN_CURRENT_PLMN = 0x42, + PDP_FAIL_INVALID_TRANSACTION_ID = 0x51, + PDP_FAIL_MESSAGE_INCORRECT_SEMANTIC = 0x5F, + PDP_FAIL_INVALID_MANDATORY_INFO = 0x60, + PDP_FAIL_MESSAGE_TYPE_UNSUPPORTED = 0x61, + PDP_FAIL_MSG_TYPE_NONCOMPATIBLE_STATE = 0x62, + PDP_FAIL_UNKNOWN_INFO_ELEMENT = 0x63, + PDP_FAIL_CONDITIONAL_IE_ERROR = 0x64, + PDP_FAIL_MSG_AND_PROTOCOL_STATE_UNCOMPATIBLE = 0x65, PDP_FAIL_PROTOCOL_ERRORS = 0x6F, /* no retry */ + PDP_FAIL_APN_TYPE_CONFLICT = 0x70, + PDP_FAIL_INVALID_PCSCF_ADDR = 0x71, + PDP_FAIL_INTERNAL_CALL_PREEMPT_BY_HIGH_PRIO_APN = 0x72, + PDP_FAIL_EMM_ACCESS_BARRED = 0x73, + PDP_FAIL_EMERGENCY_IFACE_ONLY = 0x74, + PDP_FAIL_IFACE_MISMATCH = 0x75, + PDP_FAIL_COMPANION_IFACE_IN_USE = 0x76, + PDP_FAIL_IP_ADDRESS_MISMATCH = 0x77, + PDP_FAIL_IFACE_AND_POL_FAMILY_MISMATCH = 0x78, + PDP_FAIL_EMM_ACCESS_BARRED_INFINITE_RETRY = 0x79, + PDP_FAIL_AUTH_FAILURE_ON_EMERGENCY_CALL = 0x7A, + + // OEM specific error codes. To be used by OEMs when they don't want to + // reveal error code which would be replaced by PDP_FAIL_ERROR_UNSPECIFIED + PDP_FAIL_OEM_DCFAILCAUSE_1 = 0x1001, + PDP_FAIL_OEM_DCFAILCAUSE_2 = 0x1002, + PDP_FAIL_OEM_DCFAILCAUSE_3 = 0x1003, + PDP_FAIL_OEM_DCFAILCAUSE_4 = 0x1004, + PDP_FAIL_OEM_DCFAILCAUSE_5 = 0x1005, + PDP_FAIL_OEM_DCFAILCAUSE_6 = 0x1006, + PDP_FAIL_OEM_DCFAILCAUSE_7 = 0x1007, + PDP_FAIL_OEM_DCFAILCAUSE_8 = 0x1008, + PDP_FAIL_OEM_DCFAILCAUSE_9 = 0x1009, + PDP_FAIL_OEM_DCFAILCAUSE_10 = 0x100A, + PDP_FAIL_OEM_DCFAILCAUSE_11 = 0x100B, + PDP_FAIL_OEM_DCFAILCAUSE_12 = 0x100C, + PDP_FAIL_OEM_DCFAILCAUSE_13 = 0x100D, + PDP_FAIL_OEM_DCFAILCAUSE_14 = 0x100E, + PDP_FAIL_OEM_DCFAILCAUSE_15 = 0x100F, /* Not mentioned in the specification */ PDP_FAIL_VOICE_REGISTRATION_FAIL = -1, @@ -662,7 +861,8 @@ typedef enum { mode was up on same APN/data profile - no retry until tethered call is off */ - PDP_FAIL_ERROR_UNSPECIFIED = 0xffff, /* retry silently */ + PDP_FAIL_ERROR_UNSPECIFIED = 0xffff, /* retry silently. Will be deprecated soon as + new error codes are added making this unnecessary */ } RIL_DataCallFailCause; /* See RIL_REQUEST_SETUP_DATA_CALL */ @@ -905,6 +1105,13 @@ typedef struct { typedef struct { int signalStrength; /* Valid values are (0-31, 99) as defined in TS 27.007 8.5 */ int bitErrorRate; /* bit error rate (0-7, 99) as defined in TS 27.007 8.5 */ + int timingAdvance; /* Timing Advance in bit periods. 1 bit period = 48/13 us. + * INT_MAX denotes invalid value */ +} RIL_GSM_SignalStrength_v12; + +typedef struct { + int signalStrength; /* Valid values are (0-31, 99) as defined in TS 27.007 8.5 */ + int bitErrorRate; /* bit error rate (0-7, 99) as defined in TS 27.007 8.5 */ } RIL_SignalStrengthWcdma; typedef struct { @@ -1013,7 +1220,6 @@ typedef struct { RIL_TD_SCDMA_SignalStrength TD_SCDMA_SignalStrength; } RIL_SignalStrength_v10; -/** RIL_CellIdentityGsm */ typedef struct { int mcc; /* 3-digit Mobile Country Code, 0..999, INT_MAX if unknown */ int mnc; /* 2 or 3-digit Mobile Network Code, 0..999, INT_MAX if unknown */ @@ -1021,7 +1227,15 @@ typedef struct { int cid; /* 16-bit GSM Cell Identity described in TS 27.007, 0..65535, INT_MAX if unknown */ } RIL_CellIdentityGsm; -/** RIL_CellIdentityWcdma */ +typedef struct { + int mcc; /* 3-digit Mobile Country Code, 0..999, INT_MAX if unknown */ + int mnc; /* 2 or 3-digit Mobile Network Code, 0..999, INT_MAX if unknown */ + int lac; /* 16-bit Location Area Code, 0..65535, INT_MAX if unknown */ + int cid; /* 16-bit GSM Cell Identity described in TS 27.007, 0..65535, INT_MAX if unknown */ + int arfcn; /* 16-bit GSM Absolute RF channel number, INT_MAX if unknown */ + uint8_t bsic;/* 6-bit Base Station Identity Code, 0xFF if unknown */ +} RIL_CellIdentityGsm_v12; + typedef struct { int mcc; /* 3-digit Mobile Country Code, 0..999, INT_MAX if unknown */ int mnc; /* 2 or 3-digit Mobile Network Code, 0..999, INT_MAX if unknown */ @@ -1030,7 +1244,15 @@ typedef struct { int psc; /* 9-bit UMTS Primary Scrambling Code described in TS 25.331, 0..511, INT_MAX if unknown */ } RIL_CellIdentityWcdma; -/** RIL_CellIdentityCdma */ +typedef struct { + int mcc; /* 3-digit Mobile Country Code, 0..999, INT_MAX if unknown */ + int mnc; /* 2 or 3-digit Mobile Network Code, 0..999, INT_MAX if unknown */ + int lac; /* 16-bit Location Area Code, 0..65535, INT_MAX if unknown */ + int cid; /* 28-bit UMTS Cell Identity described in TS 25.331, 0..268435455, INT_MAX if unknown */ + int psc; /* 9-bit UMTS Primary Scrambling Code described in TS 25.331, 0..511, INT_MAX if unknown */ + int uarfcn; /* 16-bit UMTS Absolute RF Channel Number, INT_MAX if unknown */ +} RIL_CellIdentityWcdma_v12; + typedef struct { int networkId; /* Network Id 0..65535, INT_MAX if unknown */ int systemId; /* CDMA System Id 0..32767, INT_MAX if unknown */ @@ -1046,7 +1268,6 @@ typedef struct { * to +90 degrees). INT_MAX if unknown */ } RIL_CellIdentityCdma; -/** RIL_CellIdentityLte */ typedef struct { int mcc; /* 3-digit Mobile Country Code, 0..999, INT_MAX if unknown */ int mnc; /* 2 or 3-digit Mobile Network Code, 0..999, INT_MAX if unknown */ @@ -1055,7 +1276,15 @@ typedef struct { int tac; /* 16-bit tracking area code, INT_MAX if unknown */ } RIL_CellIdentityLte; -/** RIL_CellIdentityTdscdma */ +typedef struct { + int mcc; /* 3-digit Mobile Country Code, 0..999, INT_MAX if unknown */ + int mnc; /* 2 or 3-digit Mobile Network Code, 0..999, INT_MAX if unknown */ + int ci; /* 28-bit Cell Identity described in TS ???, INT_MAX if unknown */ + int pci; /* physical cell id 0..503, INT_MAX if unknown */ + int tac; /* 16-bit tracking area code, INT_MAX if unknown */ + int earfcn; /* 18-bit LTE Absolute RC Channel Number, INT_MAX if unknown */ +} RIL_CellIdentityLte_v12; + typedef struct { int mcc; /* 3-digit Mobile Country Code, 0..999, INT_MAX if unknown */ int mnc; /* 2 or 3-digit Mobile Network Code, 0..999, INT_MAX if unknown */ @@ -1064,32 +1293,42 @@ typedef struct { int cpid; /* 8-bit Cell Parameters ID described in TS 25.331, 0..127, INT_MAX if unknown */ } RIL_CellIdentityTdscdma; -/** RIL_CellInfoGsm */ typedef struct { RIL_CellIdentityGsm cellIdentityGsm; RIL_GW_SignalStrength signalStrengthGsm; } RIL_CellInfoGsm; -/** RIL_CellInfoWcdma */ +typedef struct { + RIL_CellIdentityGsm_v12 cellIdentityGsm; + RIL_GSM_SignalStrength_v12 signalStrengthGsm; +} RIL_CellInfoGsm_v12; + typedef struct { RIL_CellIdentityWcdma cellIdentityWcdma; RIL_SignalStrengthWcdma signalStrengthWcdma; } RIL_CellInfoWcdma; -/** RIL_CellInfoCdma */ +typedef struct { + RIL_CellIdentityWcdma_v12 cellIdentityWcdma; + RIL_SignalStrengthWcdma signalStrengthWcdma; +} RIL_CellInfoWcdma_v12; + typedef struct { RIL_CellIdentityCdma cellIdentityCdma; RIL_CDMA_SignalStrength signalStrengthCdma; RIL_EVDO_SignalStrength signalStrengthEvdo; } RIL_CellInfoCdma; -/** RIL_CellInfoLte */ typedef struct { RIL_CellIdentityLte cellIdentityLte; RIL_LTE_SignalStrength_v8 signalStrengthLte; } RIL_CellInfoLte; -/** RIL_CellInfoTdscdma */ +typedef struct { + RIL_CellIdentityLte_v12 cellIdentityLte; + RIL_LTE_SignalStrength_v8 signalStrengthLte; +} RIL_CellInfoLte_v12; + typedef struct { RIL_CellIdentityTdscdma cellIdentityTdscdma; RIL_TD_SCDMA_SignalStrength signalStrengthTdscdma; @@ -1127,6 +1366,20 @@ typedef struct { } CellInfo; } RIL_CellInfo; +typedef struct { + RIL_CellInfoType cellInfoType; /* cell type for selecting from union CellInfo */ + int registered; /* !0 if this cell is registered 0 if not registered */ + RIL_TimeStampType timeStampType; /* type of time stamp represented by timeStamp */ + uint64_t timeStamp; /* Time in nanos as returned by ril_nano_time */ + union { + RIL_CellInfoGsm_v12 gsm; + RIL_CellInfoCdma cdma; + RIL_CellInfoLte_v12 lte; + RIL_CellInfoWcdma_v12 wcdma; + RIL_CellInfoTdscdma tdscdma; + } CellInfo; +} RIL_CellInfo_v12; + /* Names of the CDMA info records (C.S0005 section 3.7.5) */ typedef enum { RIL_CDMA_DISPLAY_INFO_REC, @@ -1631,6 +1884,7 @@ typedef struct { * * SUCCESS * RADIO_NOT_AVAILABLE (radio resetting) + * NO_MEMORY * GENERIC_FAILURE * (request will be made again in a few hundred msec) */ @@ -1654,6 +1908,19 @@ typedef struct { * DIAL_MODIFIED_TO_USSD * DIAL_MODIFIED_TO_SS * DIAL_MODIFIED_TO_DIAL + * INVALID_ARGUMENTS + * NO_MEMORY + * INVALID_STATE + * NO_RESOURCES + * INTERNAL_ERR + * FDN_CHECK_FAILURE + * MODEM_ERR + * NO_SUBSCRIPTION + * NO_NETWORK_FOUND + * INVALID_CALL_ID + * DEVICE_IN_USE + * MODE_NOT_SUPPORTED + * ABORTED * GENERIC_FAILURE */ #define RIL_REQUEST_DIAL 10 @@ -1693,6 +1960,14 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE (radio resetting) + * INVALID_ARGUMENTS + * NO_MEMORY + * INVALID_STATE + * MODEM_ERR + * INTERNAL_ERR + * NO_MEMORY + * INVALID_CALL_ID + * INVALID_ARGUMENTS * GENERIC_FAILURE */ @@ -1712,6 +1987,15 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE (radio resetting) + * INVALID_STATE + * NO_MEMORY + * MODEM_ERR + * INTERNAL_ERR + * NO_MEMORY + * INVALID_CALL_ID + * NO_RESOURCES + * OPERATION_NOT_ALLOWED + * INVALID_ARGUMENTS * GENERIC_FAILURE */ @@ -1731,6 +2015,14 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE (radio resetting) + * INVALID_STATE + * NO_MEMORY + * MODEM_ERR + * INTERNAL_ERR + * INVALID_CALL_ID + * OPERATION_NOT_ALLOWED + * INVALID_ARGUMENTS + * NO_RESOURCES * GENERIC_FAILURE */ @@ -1759,6 +2051,14 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE (radio resetting) + * INVALID_STATE + * NO_MEMORY + * MODEM_ERR + * INTERNAL_ERR + * INVALID_STATE + * INVALID_ARGUMENTS + * INVALID_CALL_ID + * OPERATION_NOT_ALLOWED * GENERIC_FAILURE */ @@ -1776,6 +2076,13 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE (radio resetting) + * NO_MEMORY + * MODEM_ERR + * INTERNAL_ERR + * INVALID_STATE + * INVALID_CALL_ID + * INVALID_ARGUMENTS + * OPERATION_NOT_ALLOWED * GENERIC_FAILURE */ #define RIL_REQUEST_CONFERENCE 16 @@ -1792,6 +2099,14 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE (radio resetting) + * INVALID_STATE + * NO_RESOURCES + * NO_MEMORY + * MODEM_ERR + * INTERNAL_ERR + * INVALID_CALL_ID + * OPERATION_NOT_ALLOWED + * INVALID_ARGUMENTS * GENERIC_FAILURE */ #define RIL_REQUEST_UDUB 17 @@ -1819,6 +2134,7 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE + * NO_MEMORY * GENERIC_FAILURE * * See also: RIL_REQUEST_LAST_DATA_CALL_FAIL_CAUSE @@ -2061,6 +2377,7 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE + * OPERATION_NOT_ALLOWED * GENERIC_FAILURE */ #define RIL_REQUEST_RADIO_POWER 23 @@ -2083,6 +2400,12 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE + * INVALID_ARGUMENTS + * NO_RESOURCES + * NO_MEMORY + * MODEM_ERR + * INTERNAL_ERR + * INVALID_CALL_ID * GENERIC_FAILURE * * See also: RIL_REQUEST_DTMF_STOP, RIL_REQUEST_DTMF_START @@ -2113,6 +2436,18 @@ typedef struct { * RADIO_NOT_AVAILABLE * SMS_SEND_FAIL_RETRY * FDN_CHECK_FAILURE + * NETWORK_REJECT + * INVALID_STATE + * INVALID_ARGUMENTS + * NO_MEMORY + * REQUEST_RATE_LIMITED + * INVALID_SMS_FORMAT + * SYSTEM_ERR + * ENCODING_ERR + * INVALID_SMSC_ADDRESS + * MODEM_ERR + * NETWORK_ERR + * MODE_NOT_SUPPORTED * GENERIC_FAILURE * * FIXME how do we specify TP-Message-Reference if we need to resend? @@ -2144,6 +2479,19 @@ typedef struct { * SUCCESS * RADIO_NOT_AVAILABLE * SMS_SEND_FAIL_RETRY + * NETWORK_REJECT + * INVALID_STATE + * INVALID_ARGUMENTS + * NO_MEMORY + * INVALID_SMS_FORMAT + * SYSTEM_ERR + * REQUEST_RATE_LIMITED + * FDN_CHECK_FAILURE + * MODEM_ERR + * NETWORK_ERR + * ENCODING_ERR + * INVALID_SMSC_ADDRESS + * MODE_NOT_SUPPORTED * GENERIC_FAILURE * */ @@ -2260,6 +2608,15 @@ typedef struct { * USSD_MODIFIED_TO_DIAL * USSD_MODIFIED_TO_SS * USSD_MODIFIED_TO_USSD + * SIM_BUSY + * OPERATION_NOT_ALLOWED + * INVALID_ARGUMENTS + * NO_MEMORY + * MODEM_ERR + * INTERNAL_ERR + * ABORTED + * SYSTEM_ERR + * INVALID_STATE * GENERIC_FAILURE * * See also: RIL_REQUEST_CANCEL_USSD, RIL_UNSOL_ON_USSD @@ -2278,6 +2635,12 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE + * SIM_BUSY + * OPERATION_NOT_ALLOWED + * MODEM_ERR + * INTERNAL_ERR + * NO_MEMORY + * INVALID_STATE * GENERIC_FAILURE */ @@ -2298,6 +2661,11 @@ typedef struct { * SS_MODIFIED_TO_DIAL * SS_MODIFIED_TO_USSD * SS_MODIFIED_TO_SS + * NO_MEMORY + * MODEM_ERR + * INTERNAL_ERR + * FDN_CHECK_FAILURE + * SYSTEM_ERR * GENERIC_FAILURE */ #define RIL_REQUEST_GET_CLIR 31 @@ -2316,6 +2684,8 @@ typedef struct { * SS_MODIFIED_TO_DIAL * SS_MODIFIED_TO_USSD * SS_MODIFIED_TO_SS + * INVALID_ARGUMENTS + * SYSTEM_ERR * GENERIC_FAILURE */ #define RIL_REQUEST_SET_CLIR 32 @@ -2342,6 +2712,13 @@ typedef struct { * SS_MODIFIED_TO_DIAL * SS_MODIFIED_TO_USSD * SS_MODIFIED_TO_SS + * INVALID_ARGUMENTS + * NO_MEMORY + * SYSTEM_ERR + * MODEM_ERR + * INTERNAL_ERR + * NO_MEMORY + * FDN_CHECK_FAILURE * GENERIC_FAILURE */ #define RIL_REQUEST_QUERY_CALL_FORWARD_STATUS 33 @@ -2361,6 +2738,13 @@ typedef struct { * SS_MODIFIED_TO_DIAL * SS_MODIFIED_TO_USSD * SS_MODIFIED_TO_SS + * INVALID_ARGUMENTS + * NO_MEMORY + * SYSTEM_ERR + * MODEM_ERR + * INTERNAL_ERR + * INVALID_STATE + * FDN_CHECK_FAILURE * GENERIC_FAILURE */ #define RIL_REQUEST_SET_CALL_FORWARD 34 @@ -2390,6 +2774,12 @@ typedef struct { * SS_MODIFIED_TO_DIAL * SS_MODIFIED_TO_USSD * SS_MODIFIED_TO_SS + * NO_MEMORY + * MODEM_ERR + * INTERNAL_ERR + * NO_MEMORY + * FDN_CHECK_FAILURE + * INVALID_ARGUMENTS * GENERIC_FAILURE */ #define RIL_REQUEST_QUERY_CALL_WAITING 35 @@ -2412,6 +2802,12 @@ typedef struct { * SS_MODIFIED_TO_DIAL * SS_MODIFIED_TO_USSD * SS_MODIFIED_TO_SS + * INVALID_ARGUMENTS + * NO_MEMORY + * MODEM_ERR + * INTERNAL_ERR + * INVALID_STATE + * FDN_CHECK_FAILURE * GENERIC_FAILURE */ #define RIL_REQUEST_SET_CALL_WAITING 36 @@ -2497,6 +2893,12 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE (radio resetting) + * INVALID_STATE + * NO_MEMORY + * SYSTEM_ERR + * MODEM_ERR + * INTERNAL_ERR + * INVALID_CALL_ID * GENERIC_FAILURE */ @@ -2557,6 +2959,12 @@ typedef struct { * SS_MODIFIED_TO_DIAL * SS_MODIFIED_TO_USSD * SS_MODIFIED_TO_SS + * INVALID_ARGUMENTS + * NO_MEMORY + * INTERNAL_ERR + * SYSTEM_ERR + * MODEM_ERR + * FDN_CHECK_FAILURE * GENERIC_FAILURE * */ @@ -2589,6 +2997,12 @@ typedef struct { * SS_MODIFIED_TO_DIAL * SS_MODIFIED_TO_USSD * SS_MODIFIED_TO_SS + * INVALID_ARGUMENTS + * INTERNAL_ERR + * NO_MEMORY + * MODEM_ERR + * INVALID_STATE + * FDN_CHECK_FAILURE * GENERIC_FAILURE * */ @@ -2614,6 +3028,12 @@ typedef struct { * SS_MODIFIED_TO_DIAL * SS_MODIFIED_TO_USSD * SS_MODIFIED_TO_SS + * INVALID_ARGUMENTS + * NO_MEMORY + * MODEM_ERR + * INTERNAL_ERR + * SYSTEM_ERR + * FDN_CHECK_FAILURE * GENERIC_FAILURE * */ @@ -2654,6 +3074,7 @@ typedef struct { * SUCCESS * RADIO_NOT_AVAILABLE * ILLEGAL_SIM_OR_ME + * OPERATION_NOT_ALLOWED * GENERIC_FAILURE * * Note: Returns ILLEGAL_SIM_OR_ME when the failure is permanent and @@ -2679,6 +3100,7 @@ typedef struct { * SUCCESS * RADIO_NOT_AVAILABLE * ILLEGAL_SIM_OR_ME + * OPERATION_NOT_ALLOWED * GENERIC_FAILURE * * Note: Returns ILLEGAL_SIM_OR_ME when the failure is permanent and @@ -2714,6 +3136,7 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE + * OPERATION_NOT_ALLOWED * GENERIC_FAILURE * */ @@ -2735,6 +3158,13 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE + * INVALID_ARGUMENTS + * NO_RESOURCES + * NO_MEMORY + * SYSTEM_ERR + * MODEM_ERR + * INTERNAL_ERR + * INVALID_CALL_ID * GENERIC_FAILURE * * See also: RIL_REQUEST_DTMF, RIL_REQUEST_DTMF_STOP @@ -2752,6 +3182,14 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE + * OPERATION_NOT_ALLOWED + * NO_RESOURCES + * NO_MEMORY + * INVALID_ARGUMENTS + * SYSTEM_ERR + * MODEM_ERR + * INTERNAL_ERR + * INVALID_CALL_ID * GENERIC_FAILURE * * See also: RIL_REQUEST_DTMF, RIL_REQUEST_DTMF_START @@ -2770,6 +3208,7 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE + * EMPTY_RECORD * GENERIC_FAILURE * */ @@ -2796,6 +3235,16 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE (radio resetting) + * INVALID_ARGUMENTS + * INVALID_STATE + * NO_RESOURCES + * NO_MEMORY + * SYSTEM_ERR + * MODEM_ERR + * INTERNAL_ERR + * INVALID_CALL_ID + * INVALID_STATE + * OPERATION_NOT_ALLOWED * GENERIC_FAILURE */ #define RIL_REQUEST_SEPARATE_CONNECTION 52 @@ -2817,6 +3266,9 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE (radio resetting) + * INVALID_ARGUMENTS + * NO_MEMORY + * REQUEST_RATE_LIMITED * GENERIC_FAILURE */ @@ -2837,6 +3289,8 @@ typedef struct { * SS_MODIFIED_TO_DIAL * SS_MODIFIED_TO_USSD * SS_MODIFIED_TO_SS + * NO_MEMORY + * REQUEST_RATE_LIMITED * GENERIC_FAILURE */ @@ -2858,6 +3312,11 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE (radio resetting) + * NO_MEMORY + * SYSTEM_ERR + * MODEM_ERR + * INTERNAL_ERR + * FDN_CHECK_FAILURE * GENERIC_FAILURE */ @@ -3030,6 +3489,12 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE + * SIM_BUSY + * INVALID_ARGUMENTS + * NO_MEMORY + * SYSTEM_ERR + * MODEM_ERR + * INTERNAL_ERR * GENERIC_FAILURE * * See also: RIL_UNSOL_SUPP_SVC_NOTIFICATION. @@ -3048,6 +3513,17 @@ typedef struct { * * Valid errors: * SUCCESS + * SIM_FULL + * INVALID_ARGUMENTS + * INVALID_SMS_FORMAT + * INTERNAL_ERR + * MODEM_ERR + * ENCODING_ERR + * NO_MEMORY + * NO_RESOURCES + * INVALID_MODEM_STATE + * MODE_NOT_SUPPORTED + * INVALID_SMSC_ADDRESS * GENERIC_FAILURE * */ @@ -3065,6 +3541,13 @@ typedef struct { * * Valid errors: * SUCCESS + * SIM_FULL + * INVALID_ARGUMENTS + * NO_MEMORY + * REQUEST_RATE_LIMITED + * SYSTEM_ERR + * MODEM_ERR + * NO_SUCH_ENTRY * GENERIC_FAILURE * */ @@ -3076,32 +3559,17 @@ typedef struct { * Assign a specified band for RF configuration. * * "data" is int * - * ((int *)data)[0] is == 0 for "unspecified" (selected by baseband automatically) - * ((int *)data)[0] is == 1 for "EURO band" (GSM-900 / DCS-1800 / WCDMA-IMT-2000) - * ((int *)data)[0] is == 2 for "US band" (GSM-850 / PCS-1900 / WCDMA-850 / WCDMA-PCS-1900) - * ((int *)data)[0] is == 3 for "JPN band" (WCDMA-800 / WCDMA-IMT-2000) - * ((int *)data)[0] is == 4 for "AUS band" (GSM-900 / DCS-1800 / WCDMA-850 / WCDMA-IMT-2000) - * ((int *)data)[0] is == 5 for "AUS band 2" (GSM-900 / DCS-1800 / WCDMA-850) - * ((int *)data)[0] is == 6 for "Cellular (800-MHz Band)" - * ((int *)data)[0] is == 7 for "PCS (1900-MHz Band)" - * ((int *)data)[0] is == 8 for "Band Class 3 (JTACS Band)" - * ((int *)data)[0] is == 9 for "Band Class 4 (Korean PCS Band)" - * ((int *)data)[0] is == 10 for "Band Class 5 (450-MHz Band)" - * ((int *)data)[0] is == 11 for "Band Class 6 (2-GMHz IMT2000 Band)" - * ((int *)data)[0] is == 12 for "Band Class 7 (Upper 700-MHz Band)" - * ((int *)data)[0] is == 13 for "Band Class 8 (1800-MHz Band)" - * ((int *)data)[0] is == 14 for "Band Class 9 (900-MHz Band)" - * ((int *)data)[0] is == 15 for "Band Class 10 (Secondary 800-MHz Band)" - * ((int *)data)[0] is == 16 for "Band Class 11 (400-MHz European PAMR Band)" - * ((int *)data)[0] is == 17 for "Band Class 15 (AWS Band)" - * ((int *)data)[0] is == 18 for "Band Class 16 (US 2.5-GHz Band)" + * ((int *)data)[0] is a RIL_RadioBandMode * * "response" is NULL * * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE + * OPERATION_NOT_ALLOWED * GENERIC_FAILURE + * + * See also: RIL_REQUEST_QUERY_AVAILABLE_BAND_MODE */ #define RIL_REQUEST_SET_BAND_MODE 65 @@ -3113,28 +3581,8 @@ typedef struct { * "data" is NULL * * "response" is int * - * "response" points to an array of int's, the int[0] is the size of array, reset is one for - * each available band mode. - * - * 0 for "unspecified" (selected by baseband automatically) - * 1 for "EURO band" (GSM-900 / DCS-1800 / WCDMA-IMT-2000) - * 2 for "US band" (GSM-850 / PCS-1900 / WCDMA-850 / WCDMA-PCS-1900) - * 3 for "JPN band" (WCDMA-800 / WCDMA-IMT-2000) - * 4 for "AUS band" (GSM-900 / DCS-1800 / WCDMA-850 / WCDMA-IMT-2000) - * 5 for "AUS band 2" (GSM-900 / DCS-1800 / WCDMA-850) - * 6 for "Cellular (800-MHz Band)" - * 7 for "PCS (1900-MHz Band)" - * 8 for "Band Class 3 (JTACS Band)" - * 9 for "Band Class 4 (Korean PCS Band)" - * 10 for "Band Class 5 (450-MHz Band)" - * 11 for "Band Class 6 (2-GMHz IMT2000 Band)" - * 12 for "Band Class 7 (Upper 700-MHz Band)" - * 13 for "Band Class 8 (1800-MHz Band)" - * 14 for "Band Class 9 (900-MHz Band)" - * 15 for "Band Class 10 (Secondary 800-MHz Band)" - * 16 for "Band Class 11 (400-MHz European PAMR Band)" - * 17 for "Band Class 15 (AWS Band)" - * 18 for "Band Class 16 (US 2.5-GHz Band)" + * "response" points to an array of int's, the int[0] is the size of array; + * subsequent values are a list of RIL_RadioBandMode listing supported modes. * * Valid errors: * SUCCESS @@ -3198,6 +3646,8 @@ typedef struct { * Valid errors: * RIL_E_SUCCESS * RIL_E_RADIO_NOT_AVAILABLE (radio resetting) + * SIM_BUSY + * OPERATION_NOT_ALLOWED * RIL_E_GENERIC_FAILURE */ #define RIL_REQUEST_STK_SEND_ENVELOPE_COMMAND 69 @@ -3216,6 +3666,7 @@ typedef struct { * Valid errors: * 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 @@ -3237,6 +3688,7 @@ typedef struct { * Valid errors: * 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 @@ -3252,6 +3704,16 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE (radio resetting) + * INVALID_STATE + * NO_RESOURCES + * NO_MEMORY + * INVALID_ARGUMENTS + * SYSTEM_ERR + * MODEM_ERR + * INTERNAL_ERR + * INVALID_CALL_ID + * INVALID_STATE + * OPERATION_NOT_ALLOWED * GENERIC_FAILURE */ #define RIL_REQUEST_EXPLICIT_CALL_TRANSFER 72 @@ -3270,6 +3732,7 @@ typedef struct { * SUCCESS * RADIO_NOT_AVAILABLE (radio resetting) * GENERIC_FAILURE + * OPERATION_NOT_ALLOWED * MODE_NOT_SUPPORTED */ #define RIL_REQUEST_SET_PREFERRED_NETWORK_TYPE 73 @@ -3412,6 +3875,14 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE + * INVALID_ARGUMENTS + * MODEM_ERR + * INTERNAL_ERR + * NO_MEMOR + * INVALID_ARGUMENTS + * MODEM_ERR + * INTERNAL_ERR + * NO_MEMORYY * GENERIC_FAILURE */ #define RIL_REQUEST_SET_TTY_MODE 80 @@ -3434,6 +3905,10 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE + * MODEM_ERR + * INTERNAL_ERR + * NO_MEMORY + * INVALID_ARGUMENTS * GENERIC_FAILURE */ #define RIL_REQUEST_QUERY_TTY_MODE 81 @@ -3453,6 +3928,12 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE + * INVALID_ARGUMENTS + * SYSTEM_ERR + * MODEM_ERR + * INTERNAL_ERR + * NO_MEMORY + * INVALID_CALL_ID * GENERIC_FAILURE */ #define RIL_REQUEST_CDMA_SET_PREFERRED_VOICE_PRIVACY_MODE 82 @@ -3473,6 +3954,10 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE + * MODEM_ERR + * INTERNAL_ERR + * NO_MEMORY + * INVALID_ARGUMENTS * GENERIC_FAILURE */ #define RIL_REQUEST_CDMA_QUERY_PREFERRED_VOICE_PRIVACY_MODE 83 @@ -3490,6 +3975,13 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE + * INVALID_ARGUMENTS + * NO_MEMORY + * SYSTEM_ERR + * MODEM_ERR + * INTERNAL_ERR + * INVALID_CALL_ID + * INVALID_STATE * GENERIC_FAILURE * */ @@ -3512,6 +4004,12 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE + * INVALID_ARGUMENTS + * NO_MEMORY + * SYSTEM_ERR + * MODEM_ERR + * INTERNAL_ERR + * INVALID_CALL_ID * GENERIC_FAILURE * */ @@ -3560,6 +4058,19 @@ typedef struct { * SUCCESS * RADIO_NOT_AVAILABLE * SMS_SEND_FAIL_RETRY + * NETWORK_REJECT + * INVALID_STATE + * INVALID_ARGUMENTS + * NO_MEMORY + * REQUEST_RATE_LIMITED + * INVALID_SMS_FORMAT + * SYSTEM_ERR + * FDN_CHECK_FAILURE + * MODEM_ERR + * NETWORK_ERR + * ENCODING_ERR + * INVALID_SMSC_ADDRESS + * MODE_NOT_SUPPORTED * GENERIC_FAILURE * */ @@ -3578,6 +4089,17 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE + * INVALID_ARGUMENTS + * NO_SMS_TO_ACK + * INVALID_STATE + * NO_MEMORY + * REQUEST_RATE_LIMITED + * SYSTEM_ERR + * MODEM_ERR + * INVALID_STATE + * MODE_NOT_SUPPORTED + * NETWORK_NOT_READY + * INVALID_MODEM_STATE * GENERIC_FAILURE * */ @@ -3596,6 +4118,13 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE + * INVALID_STATE + * NO_MEMORY + * REQUEST_RATE_LIMITED + * SYSTEM_ERR + * NO_RESOURCES + * MODEM_ERR + * SYSTEM_ERR * GENERIC_FAILURE * */ @@ -3614,6 +4143,13 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE + * INVALID_STATE + * INVALID_ARGUMENTS + * NO_MEMORY + * SYSTEM_ERR + * REQUEST_RATE_LIMITED + * MODEM_ERR + * SYSTEM_ERR * GENERIC_FAILURE * */ @@ -3634,6 +4170,12 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE + * INVALID_STATE + * INVALID_ARGUMENTS + * NO_MEMORY + * SYSTEM_ERR + * REQUEST_RATE_LIMITED + * MODEM_ERR * GENERIC_FAILURE * */ @@ -3652,6 +4194,13 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE + * INVALID_STATE + * NO_MEMORY + * REQUEST_RATE_LIMITED + * SYSTEM_ERR + * NO_RESOURCES + * MODEM_ERR + * SYSTEM_ERR * GENERIC_FAILURE * */ @@ -3670,6 +4219,13 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE + * INVALID_STATE + * INVALID_ARGUMENTS + * NO_MEMORY + * SYSTEM_ERR + * REQUEST_RATE_LIMITED + * MODEM_ERR + * SYSTEM_ERR * GENERIC_FAILURE * */ @@ -3690,6 +4246,12 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE + * INVALID_STATE + * INVALID_ARGUMENTS + * NO_MEMORY + * SYSTEM_ERR + * REQUEST_RATE_LIMITED + * MODEM_ERR * GENERIC_FAILURE * */ @@ -3736,6 +4298,17 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE + * SIM_FULL + * INVALID_ARGUMENTS + * INVALID_SMS_FORMAT + * INTERNAL_ERR + * MODEM_ERR + * ENCODING_ERR + * NO_MEMORY + * NO_RESOURCES + * INVALID_MODEM_STATE + * MODE_NOT_SUPPORTED + * INVALID_SMSC_ADDRESS * GENERIC_FAILURE * */ @@ -3754,6 +4327,12 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE + * INVALID_ARGUMENTS + * NO_MEMORY + * REQUEST_RATE_LIMITED + * SYSTEM_ERR + * MODEM_ERR + * NO_SUCH_ENTRY * GENERIC_FAILURE * */ @@ -3801,6 +4380,7 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE + * OPERATION_NOT_ALLOWED * GENERIC_FAILURE * */ @@ -3818,6 +4398,14 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE + * NO_MEMORY + * REQUEST_RATE_LIMITED + * SYSTEM_ERR + * INTERNAL_ERR + * MODEM_ERR + * INVALID_ARGUMENTS + * INVALID_MODEM_STATE + * NOT_PROVISIONED * GENERIC_FAILURE * */ @@ -3835,6 +4423,13 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE + * INVALID_ARGUMENTS + * INVALID_SMS_FORMAT + * NO_MEMORY + * SYSTEM_ERR + * REQUEST_RATE_LIMITED + * MODEM_ERR + * NO_RESOURCES * GENERIC_FAILURE * */ @@ -3854,6 +4449,12 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE + * INVALID_ARGUMENTS + * NO_MEMORY + * INVALID_STATE + * SYSTEM_ERR + * REQUEST_RATE_LIMITED + * MODEM_ERR * GENERIC_FAILURE * */ @@ -3956,6 +4557,8 @@ typedef struct { * Valid errors: * RIL_E_SUCCESS * 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 @@ -3987,7 +4590,7 @@ typedef struct { * * "data" is NULL * - * "response" is an array of RIL_CellInfo. + * "response" is an array of RIL_CellInfo_v12. */ #define RIL_REQUEST_GET_CELL_INFO_LIST 109 @@ -4067,6 +4670,18 @@ typedef struct { * RADIO_NOT_AVAILABLE * SMS_SEND_FAIL_RETRY * FDN_CHECK_FAILURE + * NETWORK_REJECT + * INVALID_ARGUMENTS + * INVALID_STATE + * NO_MEMORY + * INVALID_SMS_FORMAT + * SYSTEM_ERR + * REQUEST_RATE_LIMITED + * MODEM_ERR + * NETWORK_ERR + * ENCODING_ERR + * INVALID_SMSC_ADDRESS + * MODE_NOT_SUPPORTED * GENERIC_FAILURE * */ @@ -4360,6 +4975,7 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE + * OPERATION_NOT_ALLOWED * GENERIC_FAILURE */ #define RIL_REQUEST_SHUTDOWN 129 @@ -4374,6 +4990,7 @@ typedef struct { * Valid errors: * SUCCESS * RADIO_NOT_AVAILABLE + * OPERATION_NOT_ALLOWED * GENERIC_FAILURE */ #define RIL_REQUEST_GET_RADIO_CAPABILITY 130 @@ -4393,11 +5010,12 @@ typedef struct { * Valid errors: * SUCCESS means a RIL_UNSOL_RADIO_CAPABILITY will be sent within 30 seconds. * RADIO_NOT_AVAILABLE + * OPERATION_NOT_ALLOWED * GENERIC_FAILURE */ #define RIL_REQUEST_SET_RADIO_CAPABILITY 131 - /** +/** * RIL_REQUEST_START_LCE * * Start Link Capacity Estimate (LCE) service if supported by the radio. @@ -4443,7 +5061,8 @@ typedef struct { * LCE_NOT_SUPPORTED */ #define RIL_REQUEST_PULL_LCEDATA 134 - /** + +/** * RIL_REQUEST_GET_ACTIVITY_INFO * * Get modem activity statisitics info. @@ -4463,6 +5082,18 @@ typedef struct { */ #define RIL_REQUEST_GET_ACTIVITY_INFO 135 +/** + * RIL_RESPONSE_ACKNOWLEDGEMENT + * + * This is used by Asynchronous solicited messages and Unsolicited messages + * to acknowledge the receipt of those messages in RIL.java so that the ack + * can be used to let ril.cpp to release wakelock. + * + * Valid errors + * SUCCESS + * RADIO_NOT_AVAILABLE + */ +#define RIL_RESPONSE_ACKNOWLEDGEMENT 800 /* SAMSUNG REQUESTS */ #undef RIL_REQUEST_SIM_OPEN_CHANNEL @@ -5005,7 +5636,7 @@ typedef struct { * * "data" is NULL * - * "response" is an array of RIL_CellInfo. + * "response" is an array of RIL_CellInfo_v12. */ #define RIL_UNSOL_CELL_INFO_LIST 1036 @@ -5109,7 +5740,7 @@ typedef struct { */ #define RIL_UNSOL_STK_CC_ALPHA_NOTIFY 1044 - /** +/** * RIL_UNSOL_LCEDATA_RECV * * Called when there is an incoming Link Capacity Estimate (LCE) info report. @@ -5119,6 +5750,7 @@ typedef struct { */ #define RIL_UNSOL_LCEDATA_RECV 1045 + /* SAMSUNG RESPONSE */ #define SAMSUNG_UNSOL_RESPONSE_BASE 11000 @@ -5156,7 +5788,6 @@ typedef struct { /***********************************************************************/ - #if defined(ANDROID_MULTI_SIM) /** * RIL_Request Function pointer @@ -5307,6 +5938,13 @@ struct RIL_Env { void (*RequestTimedCallback) (RIL_TimedCallback callback, void *param, const struct timeval *relativeTime); + /** + * "t" is parameter passed in on previous call RIL_Notification routine + * + * RIL_onRequestAck will be called by vendor when an Async RIL request was received + * by them and an ack needs to be sent back to java ril. + */ + void (*OnRequestAck) (RIL_Token t); }; @@ -5322,6 +5960,22 @@ struct RIL_Env { */ const RIL_RadioFunctions *RIL_Init(const struct RIL_Env *env, int argc, char **argv); +/** + * If BT SAP(SIM Access Profile) is supported, then RIL implementations must define RIL_SAP_Init + * for initializing RIL_RadioFunctions used for BT SAP communcations. It is called whenever RILD + * starts or modem restarts. Returns handlers for SAP related request that are made on SAP + * sepecific socket, analogous to the RIL_RadioFunctions returned by the call to RIL_Init + * and used on the general RIL socket. + * argc and argv will be command line arguments intended for the RIL implementation + * Return NULL on error. + * + * @param env is environment point defined as RIL_Env + * @param argc number of arguments + * @param argv list fo arguments + * + */ +const RIL_RadioFunctions *RIL_SAP_Init(const struct RIL_Env *env, int argc, char **argv); + #else /* RIL_SHLIB */ /** @@ -5347,6 +6001,18 @@ void RIL_register (const RIL_RadioFunctions *callbacks); void RIL_onRequestComplete(RIL_Token t, RIL_Errno e, void *response, size_t responselen); +/** + * RIL_onRequestAck will be called by vendor when an Async RIL request was received by them and + * an ack needs to be sent back to java ril. This doesn't mark the end of the command or it's + * results, just that the command was received and will take a while. After sending this Ack + * its vendor's responsibility to make sure that AP is up whenever needed while command is + * being processed. + * + * @param t is parameter passed in on previous call to RIL_Notification + * routine. + */ +void RIL_onRequestAck(RIL_Token t); + #if defined(ANDROID_MULTI_SIM) /** * @param unsolResponse is one of RIL_UNSOL_RESPONSE_* |
