X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=include%2Fipconfig.h;h=3612755a378987bdaabf3475af34da859afe79b9;hb=3dabff35b045357620740e0497b7c0445174057c;hp=0b70252d03d8506b2520515702c71c6828ffc712;hpb=1c7e42c140557bb9e0e0c7573f8112aa4e833e9f;p=framework%2Fconnectivity%2Fconnman.git diff --git a/include/ipconfig.h b/include/ipconfig.h index 0b70252..3612755 100644 --- a/include/ipconfig.h +++ b/include/ipconfig.h @@ -2,7 +2,7 @@ * * Connection Manager * - * Copyright (C) 2007-2010 Intel Corporation. All rights reserved. + * Copyright (C) 2007-2012 Intel Corporation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -32,24 +32,26 @@ extern "C" { * @short_description: Functions for IP configuration handling */ -struct connman_ipaddress { - unsigned char prefixlen; - char *local; - char *peer; - char *broadcast; - char *gateway; -}; +struct connman_ipaddress; -struct connman_ipaddress *connman_ipaddress_alloc(void); +struct connman_ipaddress *connman_ipaddress_alloc(int family); void connman_ipaddress_free(struct connman_ipaddress *ipaddress); -void connman_ipaddress_set(struct connman_ipaddress *ipaddress, - const char *address, const char *netmask, const char *gateway); +int connman_ipaddress_set_ipv4(struct connman_ipaddress *ipaddress, + const char *address, const char *netmask, + const char *gateway); +int connman_ipaddress_set_ipv6(struct connman_ipaddress *ipaddress, + const char *address, + unsigned char prefix_length, + const char *gateway); +void connman_ipaddress_set_peer(struct connman_ipaddress *ipaddress, + const char *peer); void connman_ipaddress_clear(struct connman_ipaddress *ipaddress); void connman_ipaddress_copy(struct connman_ipaddress *ipaddress, struct connman_ipaddress *source); enum connman_ipconfig_type { CONNMAN_IPCONFIG_TYPE_UNKNOWN = 0, + CONNMAN_IPCONFIG_TYPE_ALL = 0, CONNMAN_IPCONFIG_TYPE_IPV4 = 1, CONNMAN_IPCONFIG_TYPE_IPV6 = 2, }; @@ -60,55 +62,11 @@ enum connman_ipconfig_method { CONNMAN_IPCONFIG_METHOD_FIXED = 2, CONNMAN_IPCONFIG_METHOD_MANUAL = 3, CONNMAN_IPCONFIG_METHOD_DHCP = 4, + CONNMAN_IPCONFIG_METHOD_AUTO = 5, }; struct connman_ipconfig; -struct connman_ipconfig_ops { - void (*up) (struct connman_ipconfig *ipconfig); - void (*down) (struct connman_ipconfig *ipconfig); - void (*lower_up) (struct connman_ipconfig *ipconfig); - void (*lower_down) (struct connman_ipconfig *ipconfig); - void (*ip_bound) (struct connman_ipconfig *ipconfig); - void (*ip_release) (struct connman_ipconfig *ipconfig); -}; - -struct connman_ipconfig *connman_ipconfig_create(int index); -struct connman_ipconfig *connman_ipconfig_clone(struct connman_ipconfig *ipconfig); -struct connman_ipconfig *connman_ipconfig_ref(struct connman_ipconfig *ipconfig); -void connman_ipconfig_unref(struct connman_ipconfig *ipconfig); - -void *connman_ipconfig_get_data(struct connman_ipconfig *ipconfig); -void connman_ipconfig_set_data(struct connman_ipconfig *ipconfig, void *data); - -int connman_ipconfig_get_index(struct connman_ipconfig *ipconfig); -const char *connman_ipconfig_get_ifname(struct connman_ipconfig *ipconfig); - -void connman_ipconfig_set_ops(struct connman_ipconfig *ipconfig, - const struct connman_ipconfig_ops *ops); - -int connman_ipconfig_set_method(struct connman_ipconfig *ipconfig, - enum connman_ipconfig_method method); - -void connman_ipconfig_bind(struct connman_ipconfig *ipconfig, - struct connman_ipaddress *ipaddress); - -#define CONNMAN_IPCONFIG_PRIORITY_LOW -100 -#define CONNMAN_IPCONFIG_PRIORITY_DEFAULT 0 -#define CONNMAN_IPCONFIG_PRIORITY_HIGH 100 - -struct connman_ipconfig_driver { - const char *name; - enum connman_ipconfig_type type; - int priority; - int (*request) (struct connman_ipconfig *ipconfig); - int (*release) (struct connman_ipconfig *ipconfig); - int (*renew) (struct connman_ipconfig *ipconfig); -}; - -int connman_ipconfig_driver_register(struct connman_ipconfig_driver *driver); -void connman_ipconfig_driver_unregister(struct connman_ipconfig_driver *driver); - #ifdef __cplusplus } #endif