2 * Network Client Library
4 * Copyright 2012 Samsung Electronics Co., Ltd
6 * Licensed under the Flora License, Version 1.1 (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.tizenopensource.org/license
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 __NETWORK_INTERNAL_H__
21 #define __NETWORK_INTERNAL_H__
27 #include <glib-object.h>
29 #include "network-info.h"
30 #include "network-cm-intf.h"
31 #include "network-wifi-intf.h"
37 /*****************************************************************************
39 *****************************************************************************/
41 /** Maximum Profile Count */
42 #define NET_PROFILE_LIST_MAX 512
44 #define CONNMAN_MAX_BUFLEN 512
46 #define CONNMAN_STATE_STRLEN 16
48 #define NET_MEMFREE(x) {if(x != NULL) free(x); x = NULL;}
50 #define CONNMAN_SERVICE "net.connman"
51 #define CONNMAN_MANAGER_INTERFACE CONNMAN_SERVICE ".Manager"
52 #define CONNMAN_TECHNOLOGY_INTERFACE CONNMAN_SERVICE ".Technology"
53 #define CONNMAN_SERVICE_INTERFACE CONNMAN_SERVICE ".Service"
54 #define CONNMAN_PROFILE_INTERFACE CONNMAN_SERVICE ".Profile"
55 #define CONNMAN_COUNTER_INTERFACE CONNMAN_SERVICE ".Counter"
56 #define CONNMAN_ERROR_INTERFACE CONNMAN_SERVICE ".Error"
57 #define CONNMAN_AGENT_INTERFACE CONNMAN_SERVICE ".Agent"
58 #define CONNMAN_MESH_INTERFACE CONNMAN_SERVICE ".Mesh"
60 #define CONNMAN_MANAGER_PATH "/"
61 #define CONNMAN_PATH "/net/connman"
62 #define CONNMAN_TECHNOLOGY_PATH "/net/connman/technology"
63 #define CONNMAN_WIFI_TECHNOLOGY_PATH "/net/connman/technology/wifi"
65 #define NETCONFIG_SERVICE "net.netconfig"
66 #define NETCONFIG_NETWORK_INTERFACE NETCONFIG_SERVICE ".network"
67 #define NETCONFIG_TCPDUMP_INTERFACE NETCONFIG_SERVICE ".tcpdump"
68 #define NETCONFIG_WIFI_INTERFACE NETCONFIG_SERVICE ".wifi"
69 #define NETCONFIG_STATISTICS_INTERFACE NETCONFIG_SERVICE ".network_statistics"
70 #define NETCONFIG_MPTCP_INTERFACE NETCONFIG_SERVICE ".mptcp"
71 #define NETCONFIG_ETHERNET_INTERFACE NETCONFIG_SERVICE ".ethernet"
73 #define NETCONFIG_NETWORK_PATH "/net/netconfig/network"
74 #define NETCONFIG_WIFI_PATH "/net/netconfig/wifi"
75 #define NETCONFIG_STATISTICS_PATH "/net/netconfig/network_statistics"
76 #define NETCONFIG_MPTCP_PATH "/net/netconfig/mptcp"
77 #define NETCONFIG_ETHERNET_PATH "/net/netconfig/ethernet"
79 #define NETCONFIG_TV_PROFILE_INTERFACE NETCONFIG_SERVICE ".tv_profile"
81 #define TELEPHONY_SERVICE "com.tcore.ps"
82 #define TELEPHONY_MASTER_INTERFACE TELEPHONY_SERVICE ".master"
83 #define TELEPHONY_MODEM_INTERFACE TELEPHONY_SERVICE ".modem"
84 #define TELEPHONY_NETWORK_INTERFACE TELEPHONY_SERVICE ".network"
85 #define TELEPHONY_PROFILE_INTERFACE TELEPHONY_SERVICE ".context"
87 #define TELEPHONY_MASTER_PATH "/"
88 #define TELEPHONY_MODEM_PATH "/qmimodem0"
90 #define SUPPLICANT_SERVICE "fi.w1.wpa_supplicant1"
91 #define SUPPLICANT_INTERFACE "fi.w1.wpa_supplicant1"
92 #define SUPPLICANT_IFACE_INTERFACE SUPPLICANT_INTERFACE ".Interface"
93 #define SUPPLICANT_IFACE_BSS SUPPLICANT_INTERFACE ".BSS"
94 #define SUPPLICANT_PATH "/fi/w1/wpa_supplicant1"
96 #define DBUS_PROPERTIES_INTERFACE "org.freedesktop.DBus.Properties"
98 #define CONNMAN_MANAGER_SIGNAL_FILTER \
99 "type='signal',interface='net.connman.Manager'"
100 #define CONNMAN_SERVICE_SIGNAL_FILTER \
101 "type='signal',interface='net.connman.Service'"
102 #define NETCONFIG_WIFI_FILTER \
103 "type='signal',interface='net.netconfig.wifi'"
104 #define SUPPLICANT_INTERFACE_SIGNAL_FILTER \
105 "type='signal',interface='fi.w1.wpa_supplicant1.Interface'"
107 #define SIGNAL_PROPERTY_CHANGED "PropertyChanged"
108 #define SIGNAL_PROPERTIES_CHANGED "PropertiesChanged"
109 #define SIGNAL_TECHNOLOGY_ADDED "TechnologyAdded"
110 #define SIGNAL_TECHNOLOGY_REMOVED "TechnologyRemoved"
111 #define SIGNAL_SERVICES_CHANGED "ServicesChanged"
112 #define SIGNAL_SCAN_DONE "ScanDone"
114 #define CONNMAN_CELLULAR_TECHNOLOGY_PREFIX \
115 CONNMAN_PATH "/technology/cellular"
116 #define CONNMAN_WIFI_TECHNOLOGY_PREFIX \
117 CONNMAN_PATH "/technology/wifi"
118 #define CONNMAN_ETHERNET_TECHNOLOGY_PREFIX \
119 CONNMAN_PATH "/technology/ethernet"
120 #define CONNMAN_BLUETOOTH_TECHNOLOGY_PREFIX \
121 CONNMAN_PATH "/technology/bluetooth"
122 #define CONNMAN_MESH_TECHNOLOGY_PREFIX \
123 CONNMAN_PATH "/technology/mesh"
125 #define CONNMAN_CELLULAR_SERVICE_PROFILE_PREFIX \
126 CONNMAN_PATH "/service/cellular_"
127 #define CONNMAN_WIFI_SERVICE_PROFILE_PREFIX \
128 CONNMAN_PATH "/service/wifi_"
129 #define CONNMAN_ETHERNET_SERVICE_PROFILE_PREFIX \
130 CONNMAN_PATH "/service/ethernet_"
131 #define CONNMAN_BLUETOOTH_SERVICE_PROFILE_PREFIX \
132 CONNMAN_PATH "/service/bluetooth_"
133 #define CONNMAN_MESH_PROFILE_PREFIX \
134 CONNMAN_PATH "/mesh/mesh_"
136 /** Network related Daemon Signals */
137 #define NETCONFIG_SIGNAL_POWERON_COMPLETED "PowerOnCompleted"
138 #define NETCONFIG_SIGNAL_POWEROFF_COMPLETED "PowerOffCompleted"
139 #define NETCONFIG_SIGNAL_ETHERNET_CABLE_STATE "EthernetCableState"
140 #define NETCONFIG_SIGNAL_TDLS_CONNECTED "TDLSConnect"
141 #define NETCONFIG_SIGNAL_TDLS_DISCONNECTED "TDLSDisconnect"
142 #define NETCONFIG_SIGNAL_TDLS_PEER_FOUND "TDLSPeerFound"
143 #define NETCONFIG_SIGNAL_WIFI_CONNECT_FAIL "WiFiConnectFail"
144 #define NETCONFIG_SIGNAL_DPM_WIFI "DPMWifi"
145 #define NETCONFIG_SIGNAL_DPM_WIFI_PROFILE "DPMWifiProfile"
146 #define NETCONFIG_SIGNAL_NETWORK_CONFIGURATION_CHANGED "NetworkConfigChanged"
149 #define LOG_TAG "NET_CLIENT"
151 #define NETWORK_LOW 1
152 #define NETWORK_HIGH 2
153 #define NETWORK_ERROR 3
155 #define NETWORK_LOG(log_level, format, args...) \
157 switch (log_level) { \
158 case NETWORK_ERROR: \
159 SLOGE(format, ##args); \
162 SLOGI(format, ##args); \
165 SLOGD(format, ##args); \
169 #define SECURE_NETWORK_LOG(log_level, format, args...) \
171 switch (log_level) { \
172 case NETWORK_ERROR: \
173 SECURE_SLOGE(format, ##args); \
176 SECURE_SLOGI(format, ##args); \
179 SECURE_SLOGD(format, ##args); \
183 #define NERWORK_LOG_RED "\033[0;31m"
184 #define NERWORK_LOG_GREEN "\033[0;32m"
185 #define NERWORK_LOG_BROWN "\033[0;33m"
186 #define NERWORK_LOG_BLUE "\033[0;34m"
187 #define NERWORK_LOG_END "\033[0;m"
188 #define __NETWORK_FUNC_ENTER__ /*NETWORK_LOG(NETWORK_LOW, NERWORK_LOG_GREEN"Entering (%s)" NERWORK_LOG_END, __func__);*/
189 #define __NETWORK_FUNC_EXIT__ /*NETWORK_LOG(NETWORK_LOW, NERWORK_LOG_RED"Quit (%s)" NERWORK_LOG_END, __func__);*/
192 /*****************************************************************************
194 *****************************************************************************/
196 /*****************************************************************************
198 *****************************************************************************/
202 char* ProfileName[NET_PROFILE_LIST_MAX];
203 } network_services_list_t;
205 /*****************************************************************************
207 *****************************************************************************/
208 net_device_t _net_get_tech_type_from_path(const char *profile_name);
209 int _net_get_tech_state(GVariant *iter, network_tech_state_info_t *tech_state);
210 char* _net_print_error(net_err_t error);
211 int _net_is_valid_service_type(net_service_type_t service_type);
212 int _net_check_profile_name(const char *ProfileName);
213 int _net_get_profile_list(network_info_t *network_info, net_device_t device_type,
214 net_profile_info_t **profile_info, int *profile_count);
215 int _net_get_all_profile_list(network_info_t *network_info,
216 net_profile_info_t **profile_info, int *profile_count);
217 int _net_get_default_profile_info(network_info_t *network_info,
218 net_profile_info_t *profile_info);
219 void _net_clear_request_table(network_info_t *network_info);
221 int _net_dbus_create_gdbus_call(network_info_t *network_info);
222 void _net_dbus_close_gdbus_call(network_info_t *network_info);
228 #endif /* __NETWORK_INTERNAL_H__ */