diff options
author | nharold <nharold@google.com> | 2017-06-16 22:43:34 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-06-16 22:43:34 +0000 |
commit | f9f24bb52c50dd8dd39f5293eeb92f97caf7c10b (patch) | |
tree | 0a578b39df7785b20e8c8bb80006d3071d434988 /include | |
parent | c83d72d663af3345e27097f9dcdd854058d11417 (diff) | |
parent | 6f664a9b215ccfa5dea381a21108ec6b556419bd (diff) | |
download | android_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.h | 74 |
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 { /** |