---
 include/gprs-context.h |   41 +++++++++++++++++++++++++++++++++++++++++
 src/gprs.c             |    2 ++
 2 files changed, 43 insertions(+), 0 deletions(-)

diff --git a/include/gprs-context.h b/include/gprs-context.h
index c29c0dc..eee8e18 100644
--- a/include/gprs-context.h
+++ b/include/gprs-context.h
@@ -37,6 +37,7 @@ struct ofono_gprs_context;
 enum ofono_gprs_proto {
        OFONO_GPRS_PROTO_IP = 0,
        OFONO_GPRS_PROTO_IPV6,
+       OFONO_GPRS_PROTO_IPV4V6,
 };
 
 enum ofono_gprs_context_type {
@@ -47,6 +48,14 @@ enum ofono_gprs_context_type {
        OFONO_GPRS_CONTEXT_TYPE_IMS,
 };
 
+enum ofono_gprs_addrconf_method {
+       OFONO_GPRS_ADDRCONF_NONE,
+       OFONO_GPRS_ADDRCONF_STATIC,
+       OFONO_GPRS_ADDRCONF_DHCP,
+       OFONO_GPRS_ADDRCONF_STATELESS,
+       OFONO_GPRS_ADDRCONF_DHCPV6,
+};
+
 struct ofono_gprs_primary_context {
        unsigned int cid;
        int direction;
@@ -56,6 +65,26 @@ struct ofono_gprs_primary_context {
        enum ofono_gprs_proto proto;
 };
 
+void ofono_gprs_context_set_ip_interface(struct ofono_gprs_context *gc,
+                                       const char *interface);
+void ofono_gprs_context_set_ip_addrconf(struct ofono_gprs_context *gc,
+                                       enum ofono_gprs_addrconf_method method);
+void ofono_gprs_context_set_ip_address(struct ofono_gprs_context *gc,
+                                       const char *address);
+void ofono_gprs_context_set_ip_netmask(struct ofono_gprs_context *gc,
+                                       const char *netmask);
+void ofono_gprs_context_set_ip_gateway(struct ofono_gprs_context *gc,
+                                       const char *netmask);
+void ofono_gprs_context_set_ip_dns_servers(struct ofono_gprs_context *gc,
+                                               const char **dns);
+
+void ofono_gprs_context_set_ipv6_interface(struct ofono_gprs_context *gc,
+                                       const char *interface);
+void ofono_gprs_context_set_ipv6_address(struct ofono_gprs_context *gc,
+                                               const char *address);
+void ofono_gprs_context_set_ipv6_dns_servers(struct ofono_gprs_context *gc,
+                                               const char **dns);
+
 typedef void (*ofono_gprs_context_cb_t)(const struct ofono_error *error,
                                        void *data);
 typedef void (*ofono_gprs_context_up_cb_t)(const struct ofono_error *error,
@@ -63,6 +92,10 @@ typedef void (*ofono_gprs_context_up_cb_t)(const struct 
ofono_error *error,
                                const char *address, const char *netmask,
                                const char *gw, const char **dns, void *data);
 
+typedef void (*ofono_gprs_context_activate_cb_t)(const struct ofono_error 
*error,
+                                       ofono_bool_t single_bearers,
+                                       void *data);
+
 struct ofono_gprs_context_driver {
        const char *name;
        int (*probe)(struct ofono_gprs_context *gc, unsigned int vendor,
@@ -71,6 +104,14 @@ struct ofono_gprs_context_driver {
        void (*activate_primary)(struct ofono_gprs_context *gc,
                                const struct ofono_gprs_primary_context *ctx,
                                ofono_gprs_context_up_cb_t cb, void *data);
+       void (*activate_primary_new)(struct ofono_gprs_context *gc,
+                                       unsigned int id,
+                                       const char *apn,
+                                       enum ofono_gprs_proto proto,
+                                       const char *username,
+                                       const char *password,
+                                       ofono_gprs_context_activate_cb_t cb,
+                                       void *data);
        void (*deactivate_primary)(struct ofono_gprs_context *gc,
                                        unsigned int id,
                                        ofono_gprs_context_cb_t cb, void *data);
diff --git a/src/gprs.c b/src/gprs.c
index 92d0b1a..37e7aee 100644
--- a/src/gprs.c
+++ b/src/gprs.c
@@ -224,6 +224,8 @@ static const char *gprs_proto_to_string(enum 
ofono_gprs_proto proto)
                return "ip";
        case OFONO_GPRS_PROTO_IPV6:
                return "ipv6";
+       case OFONO_GPRS_PROTO_IPV4V6:
+               return "ipv4v6";
        };
 
        return NULL;
-- 
1.7.1

_______________________________________________
ofono mailing list
[email protected]
http://lists.ofono.org/listinfo/ofono

Reply via email to