Go to the documentation of this file.00001
00023 #ifndef _DBUS_HANDLER_H_
00024 #define _DBUS_HANDLER_H_
00025
00026 #include <sys/types.h>
00027 #include <sys/socket.h>
00028 #include <linux/types.h>
00029 #include <linux/netlink.h>
00030 #include <linux/rtnetlink.h>
00031 #include <linux/if_ether.h>
00032 #define DBUS_API_SUBJECT_TO_CHANGE
00033 #include <dbus/dbus.h>
00034 #include <wlancond.h>
00035
00036 #include "libnl-handler.h"
00037 #include "common.h"
00038
00040 typedef struct scan_cb_data {
00041 char ssid[WLANCOND_MAX_SSID_SIZE+1];
00042 guint32 ssid_len;
00043 guint32 count;
00044 } scan_cb_data;
00045
00046 enum {
00047 SCAN_NORMAL = 0,
00048 SCAN_SPLIT
00049 };
00050
00051 extern struct wlan_status_t wlan_status;
00052
00056 void init_dbus_handlers(DBusConnection *connection);
00057
00061 void destroy_dbus_handlers(DBusConnection *connection);
00062
00063 int socket_open(void);
00064 gboolean ask_scan_results(void);
00065 void set_wlan_state(int new_state, int send_signal, gboolean delay_shutdown);
00066 guint get_wlan_state(void);
00067 void set_scan_state(guint new_state);
00068 guint get_scan_state(void);
00069 int init_dbus_handler(void);
00070 int clean_dbus_handler(void);
00071 void clear_wpa_mode(void);
00072 int wpa_ie_push(char* ap_mac_addr);
00073 gboolean get_wpa_mode(void);
00074 int set_interface_state(int sock, int dir, short flags);
00075 void clean_roam_cache(void);
00076 guint get_mode(void);
00077 gboolean set_real_power_state(guint new_state, int sock);
00078 int scan(gchar *ssid, int ssid_len, gboolean add_timer);
00079 void update_own_ie(unsigned char* wpa_ie, guint wpa_ie_len);
00080 gboolean set_power_state(guint state);
00081 guint get_encryption_info(void);
00082 void remove_connect_timer(void);
00083 int disassociate_eap(void);
00084 int check_pmksa_cache(unsigned char* own_mac, int own_mac_len,
00085 unsigned char* bssid, int bssid_len,
00086 uint32_t authentication_type,
00087 uint32_t pairwise_key_cipher_suite,
00088 uint32_t group_key_cipher_suite,
00089 int *status);
00090 void set_call_type(const char *type);
00091 int context_parser(DBusMessageIter *actit);
00092 int wpa_mic_failure_event(dbus_bool_t key_type, dbus_bool_t is_fatal);
00093 void save_device_interface(void);
00094 gboolean remove_from_pmksa_cache(unsigned char* mac);
00095 int find_pmkid_from_pmk_cache(unsigned char* mac, unsigned char** pmkid);
00096 DBusHandlerResult wlancond_req_handler(DBusConnection *connection,
00097 DBusMessage *message, void *user_data);
00098
00099 int associate(struct scan_results_t *scan_results);
00100 gboolean remove_from_roam_cache(roam_cache_key_t* const key);
00101 struct scan_results_t* find_connection(
00102 GSList* scan_list, struct connect_params_t *conn,
00103 gboolean update_roam_cache);
00104 void remove_roam_scan_timer(void);
00105 void remove_scan_timer(void);
00106 int set_bssid(unsigned char *bssid);
00107 int set_essid(char* essid, int essid_len);
00108 void clear_essid_and_bssid(void);
00109 int find_connection_and_associate(GSList *scan_results,
00110 gboolean update_roam_cache,
00111 gboolean create_new_adhoc,
00112 gboolean autoconnect);
00113 int scan_results_ioctl(int ifindex, GSList** scan_results_save, char* ssid,
00114 guint ssid_len);
00115 void set_wlan_signal(gboolean high_or_low);
00116 gboolean decrease_signal_in_roam_cache(roam_cache_key_t* const key);
00117 int mlme_command(guchar* addr, guint16 cmd, guint16 reason_code);
00118 void schedule_scan(guint seconds);
00119 gboolean scan_retries_left(void);
00120 void connected_signal(char* bssid);
00121 gint run_calibration(void);
00122 void kill_supplicant(void);
00123 gboolean get_inactivity_status(void);
00124 gboolean get_setting_bool(const gchar* path, gboolean *error);
00125 gboolean can_adjust_psm(void);
00126 struct scan_results_t* copy_scan_results(struct scan_results_t *results);
00127 gboolean set_tx_power(guint power);
00128
00129 #define CLEAR 1
00130 #define SET 2
00131
00132 #define ETOOMANYREGISTRARS -500
00133 #define ETOOWEAKAP -2
00134 #define ENEEDEXTRASCAN -3
00135 #define ESUPPLICANT -5
00136 #define EWRONGSSID -7
00137
00138 #endif