OSDN Git Service

Port RIL v4 to gingerbread from master.
[android-x86/hardware-ril.git] / include / telephony / ril.h
index 1cbdfad..d3c7569 100644 (file)
@@ -40,7 +40,7 @@
 extern "C" {
 #endif
 
-#define RIL_VERSION 3
+#define RIL_VERSION 4
 
 #define CDMA_ALPHA_INFO_BUFFER_LENGTH 64
 #define CDMA_NUMBER_INFO_BUFFER_LENGTH 81
@@ -157,9 +157,11 @@ typedef struct {
 typedef struct {
     int             cid;        /* Context ID */
     int             active;     /* 0=inactive, 1=active/physical link down, 2=active/physical link up */
-    char *          type;       /* X.25, IP, IPV6, etc. */
+    char *          type;       /* One of the PDP_type values in TS 27.007 section 10.1.1.
+                                   For example, "IP", "IPV6", "IPV4V6", or "PPP". */
     char *          apn;
-    char *          address;
+    char *          address;    /* The IPv4 or IPv6 address assigned to the call, e.g., "192.0.1.3"
+                                   or "2001:db8::1". */
 } RIL_Data_Call_Response;
 
 typedef struct {
@@ -1316,17 +1318,24 @@ typedef struct {
  *                          1 => PAP may be performed; CHAP is never performed.
  *                          2 => CHAP may be performed; PAP is never performed.
  *                          3 => PAP / CHAP may be performed - baseband dependent.
+ * ((const char **)data)[6] is the PDP type to request if the radio technology is GSM/UMTS.
+ *                          Must be one of the PDP_type values in TS 27.007 section 10.1.1.
+ *                          For example, "IP", "IPV6", "IPV4V6", or "PPP".
  *
  * "response" is a char **
- * ((char **)response)[0] indicating PDP CID, which is generated by RIL. This Connection ID is
- *                          used in GSM/UMTS and CDMA
- * ((char **)response)[1] indicating the network interface name for GSM/UMTS or CDMA
- * ((char **)response)[2] indicating the IP address for this interface for GSM/UMTS
- *                          and NULL for CDMA
+ * ((char **)response)[0] the Connection ID, CID, which is generated by RIL.
+ * ((char **)response)[1] the network interface name.
+ * ((char **)response)[2] a numeric IPv4 or IPv6 address that has been assigned to the interface.
+ * ((char **)response)[3] a space-separated list of numeric IPv4 or IPv6 DNS addresses.
+ *                        Ignored on Android platforms before 3.0 and instead two DNS IP addresses
+ *                        are retrieved from system properties "net.$IN.dns1" and "net.$IN.dns2".
+ * ((char **)response)[4] the numeric IPv4 or IPv6 address of the default gateway.
+ *                        Ignored on Android platforms before 3.0 and instead an IP address
+ *                        is retrieved from system property "net.$IN.gw".
  *
- * FIXME may need way to configure QoS settings
- *
- * replaces  RIL_REQUEST_SETUP_DEFAULT_PDP
+ * Notes:
+ *   1) Numeric addresses must be in the Java InetAddress parsable representation.
+ *   2) $IN in the above comments is the interface name from response[1].
  *
  * Valid errors:
  *  SUCCESS
@@ -1621,6 +1630,9 @@ typedef struct {
  *
  * "data" is const char **
  * ((char**)data)[0] indicating CID
+ * ((char**)data)[1] indicating Disconnect Reason
+ *                   0 => No specific reason specified
+ *                   1 => Radio shutdown requested
  *
  * "response" is NULL
  *