X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=include%2Futil.h;h=f1efcce7d53eb2939e197e6578a81e39fccda655;hb=5462712d8c437c24e284906be695372a7b42df2a;hp=4115fc4c46d89ee90c8efa0c21e01d2a2973879c;hpb=9a3ca5b758a41bca71d180edc180305f78e4e049;p=platform%2Fcore%2Fconnectivity%2Fnet-config.git diff --git a/include/util.h b/include/util.h index 4115fc4..f1efcce 100755 --- a/include/util.h +++ b/include/util.h @@ -25,6 +25,7 @@ extern "C" { #endif #include +#include #include "wifi.h" #include "plugin.h" @@ -33,6 +34,30 @@ extern "C" { #define MAX_SIZE_ERROR_BUFFER 256 +#define ETHERNET_FEATURE "http://tizen.org/feature/network.ethernet" +#define TETHERING_FEATURE "http://tizen.org/feature/network.tethering" +#define WIFI_DIRECT_FEATURE "http://tizen.org/feature/network.wifi.direct" +#define WIFI_SOFTAP_FEATURE "http://tizen.org/feature/network.wifi.softap" + +/** Macros to handle rtattributes */ +#define RTA_ALIGNTO 4 +#define RTA_ALIGN(len) ( ((len)+RTA_ALIGNTO-1) & ~(RTA_ALIGNTO-1) ) +#define RTA_LENGTH(len) (RTA_ALIGN(sizeof(struct rtattr)) + (len)) +#define RTA_DATA(rta) ((void*)(((char*)(rta)) + RTA_LENGTH(0))) +#define NLMSG_TAIL(nmsg) \ + ((struct rtattr *) (((void *) (nmsg)) + NLMSG_ALIGN((nmsg)->nlmsg_len))) + +typedef enum { + NETCONFIG_SUPPORTED_FEATURE_ETHERNET = 0, + NETCONFIG_SUPPORTED_FEATURE_TETHERING, + NETCONFIG_SUPPORTED_FEATURE_WIFI_DIRECT, + NETCONFIG_SUPPORTED_FEATURE_WIFI_SOFTAP, + NETCONFIG_SUPPORTED_FEATURE_MAX, +} netconfig_supported_feature_e; + +bool netconfig_check_feature_supported(netconfig_supported_feature_e feature); + +gboolean netconfig_check_passphrase(const gchar *service, const char *passphrase); GKeyFile *netconfig_keyfile_load(const char *pathname); void netconfig_keyfile_save(GKeyFile *keyfile, const char *pathname); @@ -51,11 +76,14 @@ gboolean netconfig_is_wifi_tethering_on(void); gboolean netconfig_interface_up(const char *ifname); gboolean netconfig_interface_down(const char *ifname); +int __netconfig_get_interface_index(const char *interface_name); int netconfig_execute_cmd(const char *cmd); int netconfig_execute_file(const char *file_path, char *const args[], char *const env[]); +int netconfig_execute_file_no_wait(const char *file_path, + char *const args[]); int netconfig_execute_clatd(const char *file_path, char *const args[]); -int netconfig_add_route_ipv6(gchar *ip_addr, gchar *interface, gchar *gateway, unsigned char prefix_len); +int netconfig_add_route_ipv6(gchar *interface, gchar *gateway); int netconfig_del_route_ipv6(gchar *ip_addr, gchar *interface, gchar *gateway, unsigned char prefix_len); int netconfig_add_route_ipv4(gchar *ip_addr, gchar *subnet, gchar *interface, gint address_family); int netconfig_del_route_ipv4(gchar *ip_addr, gchar *subnet, gchar *interface, gint address_family);