diff options
author | Andrew Jiang <sam.andrew.jiang@gmail.com> | 2014-01-14 12:08:52 -0500 |
---|---|---|
committer | Jiangyi <sam.andrew.jiang@gmail.com> | 2014-10-27 19:52:41 -0400 |
commit | 2ea306f220277d73beb0d7b01a5925b7e8b244ff (patch) | |
tree | 4b8950a59697e1d7924233a106d9573810d4afff | |
parent | e8bab759a41a792ce7ce20a84e9bab9585b7460c (diff) | |
download | device_samsung_i9300-2ea306f220277d73beb0d7b01a5925b7e8b244ff.zip device_samsung_i9300-2ea306f220277d73beb0d7b01a5925b7e8b244ff.tar.gz device_samsung_i9300-2ea306f220277d73beb0d7b01a5925b7e8b244ff.tar.bz2 |
I9300: Update RIL header to v9 [2/2]
Change-Id: I8891182a084c9b05c3203b8bc8aeb1c066f6a60d
-rw-r--r-- | include/telephony/ril.h | 115 |
1 files changed, 112 insertions, 3 deletions
diff --git a/include/telephony/ril.h b/include/telephony/ril.h index fefc563..325ad24 100644 --- a/include/telephony/ril.h +++ b/include/telephony/ril.h @@ -19,6 +19,7 @@ #include <stdlib.h> #include <stdint.h> +#include <telephony/ril_cdma_sms.h> #ifndef FEATURE_UNIT_TEST #include <sys/time.h> #endif /* !FEATURE_UNIT_TEST */ @@ -27,7 +28,7 @@ extern "C" { #endif -#define RIL_VERSION 8 /* Current version */ +#define RIL_VERSION 9 /* Current version */ #ifdef LEGACY_RIL #define RIL_VERSION_MIN 2 /* Minimum RIL_VERSION supported */ #else @@ -125,7 +126,8 @@ typedef enum { PREF_NET_TYPE_LTE_CDMA_EVDO = 8, /* LTE, CDMA and EvDo */ PREF_NET_TYPE_LTE_GSM_WCDMA = 9, /* LTE, GSM/WCDMA */ PREF_NET_TYPE_LTE_CMDA_EVDO_GSM_WCDMA = 10, /* LTE, CDMA, EvDo, GSM/WCDMA */ - PREF_NET_TYPE_LTE_ONLY = 11 /* LTE only */ + PREF_NET_TYPE_LTE_ONLY = 11, /* LTE only */ + PREF_NET_TYPE_LTE_WCDMA = 12 /* LTE/WCDMA */ } RIL_PreferredNetworkType; /* Source for cdma subscription */ @@ -239,6 +241,28 @@ typedef struct { to point connections. */ } RIL_Data_Call_Response_v6; +typedef enum { + RADIO_TECH_3GPP = 1, /* 3GPP Technologies - GSM, WCDMA */ + RADIO_TECH_3GPP2 = 2 /* 3GPP2 Technologies - CDMA */ +} RIL_RadioTechnologyFamily; + +typedef struct { + RIL_RadioTechnologyFamily tech; + unsigned char retry; /* 0 == not retry, nonzero == retry */ + int messageRef; /* Valid field if retry is set to nonzero. + Contains messageRef from RIL_SMS_Response + corresponding to failed MO SMS. + */ + + union { + /* Valid field if tech is RADIO_TECH_3GPP2. See RIL_REQUEST_CDMA_SEND_SMS */ + RIL_CDMA_SMS_Message* cdmaMessage; + + /* Valid field if tech is RADIO_TECH_3GPP. See RIL_REQUEST_SEND_SMS */ + char** gsmMessage; + } message; +} RIL_IMS_SMS_Message; + typedef struct { int messageRef; /* TP-Message-Reference for GSM, and BearerData MessageId for CDMA @@ -394,6 +418,7 @@ typedef enum { PDP_FAIL_SERVICE_OPTION_NOT_SUBSCRIBED = 0x21, /* no retry */ PDP_FAIL_SERVICE_OPTION_OUT_OF_ORDER = 0x22, PDP_FAIL_NSAPI_IN_USE = 0x23, /* no retry */ + PDP_FAIL_REGULAR_DEACTIVATION = 0x24, /* restart radio */ PDP_FAIL_ONLY_IPV4_ALLOWED = 0x32, /* no retry */ PDP_FAIL_ONLY_IPV6_ALLOWED = 0x33, /* no retry */ PDP_FAIL_ONLY_SINGLE_BEARER_ALLOWED = 0x34, @@ -404,7 +429,7 @@ typedef enum { PDP_FAIL_DATA_REGISTRATION_FAIL = -2, /* reasons for data call drop - network/modem disconnect */ - PDP_FAIL_SIGNAL_LOST = -3, /* no retry */ + PDP_FAIL_SIGNAL_LOST = -3, PDP_FAIL_PREF_RADIO_TECH_CHANGED = -4,/* preferred technology has changed, should retry with parameters appropriate for new technology */ PDP_FAIL_RADIO_POWER_OFF = -5, /* data call was disconnected because radio was resetting, @@ -3494,6 +3519,67 @@ typedef struct { */ #define RIL_REQUEST_SET_UNSOL_CELL_INFO_LIST_RATE 110 +/** + * RIL_REQUEST_SET_INITIAL_ATTACH_APN + * + * Set an apn to initial attach network + * "response" is NULL + * + * Valid errors: + * SUCCESS + * RADIO_NOT_AVAILABLE (radio resetting) + * GENERIC_FAILURE + * SUBSCRIPTION_NOT_AVAILABLE + */ +#define RIL_REQUEST_SET_INITIAL_ATTACH_APN 111 + +/** + * RIL_REQUEST_IMS_REGISTRATION_STATE + * + * Request current IMS registration state + * + * "data" is NULL + * + * "response" is int * + * ((int *)response)[0] is registration state: + * 0 - Not registered + * 1 - Registered + * + * If ((int*)response)[0] is = 1, then ((int *) response)[1] + * must follow with IMS SMS format: + * + * ((int *) response)[1] is of type RIL_RadioTechnologyFamily + * + * Valid errors: + * SUCCESS + * RADIO_NOT_AVAILABLE + * GENERIC_FAILURE + */ +#define RIL_REQUEST_IMS_REGISTRATION_STATE 112 + +/** + * RIL_REQUEST_IMS_SEND_SMS + * + * Send a SMS message over IMS + * + * "data" is const RIL_IMS_SMS_Message * + * + * "response" is a const RIL_SMS_Response * + * + * Based on the return error, caller decides to resend if sending sms + * fails. SMS_SEND_FAIL_RETRY means retry, and other errors means no retry. + * In case of retry, data is encoded based on Voice Technology available. + * + * Valid errors: + * SUCCESS + * RADIO_NOT_AVAILABLE + * SMS_SEND_FAIL_RETRY + * FDN_CHECK_FAILURE + * GENERIC_FAILURE + * + */ +#define RIL_REQUEST_IMS_SEND_SMS 113 + /* SAMSUNG REQUESTS */ #define RIL_REQUEST_GET_CELL_BROADCAST_CONFIG 10002 @@ -4037,6 +4123,21 @@ typedef struct { */ #define RIL_UNSOL_CELL_INFO_LIST 1036 +/** + * RIL_UNSOL_RESPONSE_IMS_NETWORK_STATE_CHANGED + * + * Called when IMS registration state has changed + * + * To get IMS registration state and IMS SMS format, callee needs to invoke the + * following request on main thread: + * + * RIL_REQUEST_IMS_REGISTRATION_STATE + * + * "data" is NULL + * + */ +#define RIL_UNSOL_RESPONSE_IMS_NETWORK_STATE_CHANGED 1037 + /* SAMSUNG RESPONSE */ #define SAMSUNG_UNSOL_RESPONSE_BASE 11000 @@ -4140,6 +4241,14 @@ typedef struct { RIL_GetVersion getVersion; } RIL_RadioFunctions; +typedef struct { + char *apn; + char *protocol; + int authtype; + char *username; + char *password; +} RIL_InitialAttachApn; + #ifdef RIL_SHLIB struct RIL_Env { /** |