summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authornharold <nharold@google.com>2017-06-16 22:43:34 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-06-16 22:43:34 +0000
commitf9f24bb52c50dd8dd39f5293eeb92f97caf7c10b (patch)
tree0a578b39df7785b20e8c8bb80006d3071d434988 /include
parentc83d72d663af3345e27097f9dcdd854058d11417 (diff)
parent6f664a9b215ccfa5dea381a21108ec6b556419bd (diff)
downloadandroid_hardware_ril-f9f24bb52c50dd8dd39f5293eeb92f97caf7c10b.tar.gz
android_hardware_ril-f9f24bb52c50dd8dd39f5293eeb92f97caf7c10b.tar.bz2
android_hardware_ril-f9f24bb52c50dd8dd39f5293eeb92f97caf7c10b.zip
Merge "Keepalive RIL Interface" am: b507005da6
am: 6f664a9b21 Change-Id: I298c15b19403f5917de86632207bd3e3dda794ef
Diffstat (limited to 'include')
-rw-r--r--include/telephony/ril.h74
1 files changed, 74 insertions, 0 deletions
diff --git a/include/telephony/ril.h b/include/telephony/ril.h
index 10b8e6e..eeaea49 100644
--- a/include/telephony/ril.h
+++ b/include/telephony/ril.h
@@ -5770,6 +5770,43 @@ typedef struct {
*/
#define RIL_REQUEST_STOP_NETWORK_SCAN 143
+/**
+ * RIL_REQUEST_START_KEEPALIVE
+ *
+ * Start a keepalive session
+ *
+ * Request that the modem begin sending keepalive packets on a particular
+ * data call, with a specified source, destination, and format.
+ *
+ * "data" is a const RIL_RequestKeepalive
+ * "response" is RIL_KeepaliveStatus with a valid "handle"
+ *
+ * Valid errors:
+ * SUCCESS
+ * NO_RESOURCES
+ * INVALID_ARGUMENTS
+ *
+ */
+#define RIL_REQUEST_START_KEEPALIVE 144
+
+/**
+ * RIL_REQUEST_STOP_KEEPALIVE
+ *
+ * Stops an ongoing keepalive session
+ *
+ * Requests that a keepalive session with the given handle be stopped.
+ * there is no parameter for this request.
+ *
+ * "data" is an integer handle
+ * "response" is NULL
+ *
+ * Valid errors:
+ * SUCCESS
+ * INVALID_ARGUMENTS
+ *
+ */
+#define RIL_REQUEST_STOP_KEEPALIVE 145
+
/***********************************************************************/
/**
@@ -6446,6 +6483,14 @@ typedef struct {
*/
#define RIL_UNSOL_NETWORK_SCAN_RESULT 1049
+/**
+ * RIL_UNSOL_KEEPALIVE_STATUS
+ *
+ * "data" is NULL
+ * "response" is a const RIL_KeepaliveStatus *
+ */
+#define RIL_UNSOL_KEEPALIVE_STATUS 1050
+
/***********************************************************************/
@@ -6606,6 +6651,35 @@ typedef struct {
loosely defined in LTE Layer 3 spec 24.008 */
} RIL_PCO_Data;
+typedef enum {
+ NATT_IPV4 = 0, /* Keepalive specified by RFC 3948 Sec. 2.3 using IPv4 */
+ NATT_IPV6 = 1 /* Keepalive specified by RFC 3948 Sec. 2.3 using IPv6 */
+} RIL_KeepaliveType;
+
+#define MAX_INADDR_LEN 16
+typedef struct {
+ RIL_KeepaliveType type; /* Type of keepalive packet */
+ char sourceAddress[MAX_INADDR_LEN]; /* Source address in network-byte order */
+ int sourcePort; /* Source port if applicable, or 0x7FFFFFFF;
+ the maximum value is 65535 */
+ char destinationAddress[MAX_INADDR_LEN]; /* Destination address in network-byte order */
+ int destinationPort; /* Destination port if applicable or 0x7FFFFFFF;
+ the maximum value is 65535 */
+ int maxKeepaliveIntervalMillis; /* Maximum milliseconds between two packets */
+ int cid; /* Context ID, uniquely identifies this call */
+} RIL_KeepaliveRequest;
+
+typedef enum {
+ KEEPALIVE_ACTIVE, /* Keepalive session is active */
+ KEEPALIVE_INACTIVE, /* Keepalive session is inactive */
+ KEEPALIVE_PENDING /* Keepalive session status not available */
+} RIL_KeepaliveStatusCode;
+
+typedef struct {
+ uint32_t sessionHandle;
+ RIL_KeepaliveStatusCode code;
+} RIL_KeepaliveStatus;
+
#ifdef RIL_SHLIB
struct RIL_Env {
/**