2 * Network Configuration Module
4 * Copyright (c) 2000 - 2012 Samsung Electronics Co., Ltd. All rights reserved.
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
20 #ifndef __NETCONFIG_UTIL_H__
21 #define __NETCONFIG_UTIL_H__
33 #define NETCONFIG_TIZEN_SYSTEM_ENV "/run/tizen-system-env"
35 #define MAX_SIZE_ERROR_BUFFER 256
37 #define ETHERNET_FEATURE "http://tizen.org/feature/network.ethernet"
38 #define TETHERING_FEATURE "http://tizen.org/feature/network.tethering"
39 #define WIFI_DIRECT_FEATURE "http://tizen.org/feature/network.wifi.direct"
41 gboolean netconfig_check_passphrase(const gchar *service, const char *passphrase);
42 GKeyFile *netconfig_keyfile_load(const char *pathname);
43 void netconfig_keyfile_save(GKeyFile *keyfile, const char *pathname);
45 void netconfig_start_timer_seconds(guint secs,
46 gboolean(*callback) (gpointer), void *user_data, guint *timer_id);
47 void netconfig_start_timer(guint msecs,
48 gboolean(*callback) (gpointer), void *user_data, guint *timer_id);
49 void netconfig_stop_timer(guint *timer_id);
51 void netconfig_wifi_enable_device_picker_test(void);
52 void netconfig_wifi_device_picker_service_start(void);
53 void netconfig_wifi_device_picker_service_stop(void);
55 gboolean netconfig_is_wifi_direct_on(void);
56 gboolean netconfig_is_wifi_tethering_on(void);
58 gboolean netconfig_interface_up(const char *ifname);
59 gboolean netconfig_interface_down(const char *ifname);
60 int __netconfig_get_interface_index(const char *interface_name);
62 int netconfig_execute_cmd(const char *cmd);
63 int netconfig_execute_file(const char *file_path, char *const args[], char *const env[]);
64 int netconfig_execute_file_no_wait(const char *file_path,
66 int netconfig_execute_clatd(const char *file_path, char *const args[]);
67 int netconfig_add_route_ipv6(gchar *ip_addr, gchar *interface, gchar *gateway, unsigned char prefix_len);
68 int netconfig_del_route_ipv6(gchar *ip_addr, gchar *interface, gchar *gateway, unsigned char prefix_len);
69 int netconfig_add_route_ipv4(gchar *ip_addr, gchar *subnet, gchar *interface, gint address_family);
70 int netconfig_del_route_ipv4(gchar *ip_addr, gchar *subnet, gchar *interface, gint address_family);
72 gboolean handle_launch_direct(Wifi *wifi, GDBusMethodInvocation *context);
73 gboolean handle_launch_mdns(Network *object, GDBusMethodInvocation *context,
76 gboolean netconfig_send_notification_to_net_popup(const char * noti, const char * data);
77 int netconfig_send_message_to_net_popup(const char *title,
78 const char *content, const char *type, const char *ssid);
79 int netconfig_send_restriction_to_net_popup(const char *title,
80 const char *type, const char *restriction);
81 void netconfig_set_system_event(int sys_evt, int evt_key, int evt_val);
82 void netconfig_set_vconf_int(const char * key, int value);
83 void netconfig_set_vconf_str(const char * key, const char * value);
84 int netconfig_vconf_get_int(const char * key, int *value);
85 int netconfig_vconf_get_bool(const char * key, int *value);
86 char* netconfig_get_env(const char *key);
87 void netconfig_set_mac_address_from_file(void);
88 void __netconfig_pop_wifi_connected_poppup(const char *ssid);
90 void netconfig_get_telephony_network_type(int *svctype, int *pstype);
91 gboolean __netconfig_wifi_get_sim_imsi(Wifi *wifi, GDBusMethodInvocation *context);
92 netconfig_error_e __netconfig_wifi_req_aka_auth(GArray *rand_data, GArray *autn_data,
93 GDBusMethodInvocation *context, struct wifi_authentication_data **data);
94 gboolean __netconfig_wifi_req_sim_auth(GArray *rand_data,
95 GDBusMethodInvocation *context, struct wifi_authentication_data **data);
96 gboolean netconfig_tapi_check_sim_state(void);
97 gboolean __netconfig_wifi_get_aka_authdata(Wifi *wifi,
98 GDBusMethodInvocation *context, struct wifi_authentication_data **data);
99 gboolean __netconfig_wifi_get_sim_authdata(Wifi *wifi,
100 GDBusMethodInvocation *context, struct wifi_authentication_data **data);
102 bool netconfig_check_feature_supported(const char *feature);
103 void netconfig_plugin_init();
104 void netconfig_plugin_deinit();
105 gboolean netconfig_get_headed_plugin_flag();
106 gboolean netconfig_get_telephony_plugin_flag();
113 TIZEN_PROFILE_UNKNOWN = 0,
114 TIZEN_PROFILE_MOBILE = 0x1,
115 TIZEN_PROFILE_WEARABLE = 0x2,
116 TIZEN_PROFILE_TV = 0x4,
117 TIZEN_PROFILE_IVI = 0x8,
118 TIZEN_PROFILE_COMMON = 0x10,
120 extern tizen_profile_t _get_tizen_profile();
122 #define TIZEN_TELEPHONY_ENABLE (_get_tizen_profile() == TIZEN_PROFILE_MOBILE)
123 #define TIZEN_WLAN_BOARD_SPRD (_get_tizen_profile() == TIZEN_PROFILE_MOBILE)
124 #define TIZEN_TV (_get_tizen_profile() == TIZEN_PROFILE_TV)
125 #define TIZEN_NTP_ENABLE 1 /* 1: enable, 0: disable */
127 #endif /* __NETCONFIG_UTIL_H__ */