#define CONNECTION_ERROR 2
#define CONNECTION_WARN 3
-typedef enum
-{
- FEATURE_TYPE_TELEPHONY = 0,
- FEATURE_TYPE_WIFI = 1,
- FEATURE_TYPE_TETHERING_BLUETOOTH = 2
-} enable_feature_type_e;
+#define CONNECTION_MAC_INFO_LENGTH 17
+#define ETHERNET_MAC_INFO_FILE "/sys/class/net/eth0/address"
+#define WIFI_MAC_INFO_FILE "/sys/class/net/wlan0/address"
+
+#define TELEPHONY_FEATURE "http://tizen.org/feature/network.telephony"
+#define WIFI_FEATURE "http://tizen.org/feature/network.wifi"
+#define TETHERING_BLUETOOTH_FEATURE "http://tizen.org/feature/network.tethering.bluetooth"
+#define ETHERNET_FEATURE "http://tizen.org/feature/network.ethernet"
typedef enum
{
CONNECTION_CELLULAR_SUBSCRIBER_2 = 0x01,
} connection_cellular_subscriber_id_e;
+#if !defined TIZEN_TV
+#define CHECK_FEATURE_SUPPORTED(...) \
+ do { \
+ int rv = _connection_check_feature_supported(__VA_ARGS__, NULL); \
+ if( rv != CONNECTION_ERROR_NONE ) \
+ return rv; \
+ } while(0)
+#else
+#define CHECK_FEATURE_SUPPORTED(...)
+#endif
+
#define CONNECTION_LOG(log_level, format, args...) \
do { \
switch (log_level) { \
} \
} while(0)
-#define CONNECTION_MUTEX_LOCK _connection_inter_mutex_lock()
-#define CONNECTION_MUTEX_UNLOCK _connection_inter_mutex_unlock()
-
#define SECURE_CONNECTION_LOG(log_level, format, args...) \
do { \
switch (log_level) { \
#define VCONF_TELEPHONY_DEFAULT_DATA_SERVICE \
"db/telephony/dualsim/default_data_service"
-bool _connection_is_created(void);
-
-typedef struct _connection_handle_s
-{
+typedef struct _connection_handle_s {
connection_type_changed_cb type_changed_callback;
connection_address_changed_cb ip_changed_callback;
connection_address_changed_cb proxy_changed_callback;
- void *state_changed_user_data;
+ connection_ethernet_cable_state_chaged_cb ethernet_cable_state_changed_callback;
+ void *type_changed_user_data;
void *ip_changed_user_data;
void *proxy_changed_user_data;
+ void *ethernet_cable_state_changed_user_data;
} connection_handle_s;
+typedef void(*libnet_ethernet_cable_state_changed_cb)
+ (connection_ethernet_cable_state_e state);
+
+bool _connection_is_created(void);
-bool _connection_libnet_init(void);
+int _connection_libnet_init(void);
bool _connection_libnet_deinit(void);
int _connection_libnet_get_wifi_state(connection_wifi_state_e *state);
int _connection_libnet_get_ethernet_state(connection_ethernet_state_e *state);
+int _connection_libnet_get_ethernet_cable_state(connection_ethernet_cable_state_e* state);
+int _connection_libnet_set_ethernet_cable_state_changed_cb(
+ libnet_ethernet_cable_state_changed_cb callback);
int _connection_libnet_get_bluetooth_state(connection_bt_state_e* state);
bool _connection_libnet_check_profile_validity(connection_profile_h profile);
bool _connection_libnet_check_profile_cb_validity(connection_profile_h profile);
int _connection_libnet_close_profile(connection_profile_h profile, connection_closed_cb callback, void *user_data);
int _connection_libnet_add_route(const char *interface_name, const char *host_address);
int _connection_libnet_remove_route(const char *interface_name, const char *host_address);
+int _connection_libnet_add_route_ipv6(const char *interface_name, const char *host_address, const char * gateway);
+int _connection_libnet_remove_route_ipv6(const char *interface_name, const char *host_address, const char * gateway);
void _connection_libnet_add_to_profile_list(connection_profile_h profile);
void _connection_libnet_remove_from_profile_list(connection_profile_h profile);
bool _connection_libnet_add_to_profile_cb_list(connection_profile_h profile,
int _connection_libnet_check_get_privilege();
int _connection_libnet_check_profile_privilege();
-bool _connection_libnet_get_is_check_enable_feature();
-bool _connection_libnet_get_enable_feature_state(enable_feature_type_e feature_type);
-int _connection_libnet_check_enable_feature();
+int _connection_check_feature_supported(const char *feature_name, ...);
guint _connection_callback_add(GSourceFunc func, gpointer user_data);
void _connection_callback_cleanup(void);
net_state_type_t _connection_profile_convert_to_net_state(connection_profile_state_e state);
int _connection_libnet_set_cellular_subscriber_id(connection_profile_h profile, connection_cellular_subscriber_id_e sim_id);
-void _connection_inter_mutex_lock(void);
-void _connection_inter_mutex_unlock(void);
#ifdef __cplusplus
}