dbus-handler.h File Reference

#include <sys/types.h>
#include <sys/socket.h>
#include <linux/types.h>
#include <linux/netlink.h>
#include <linux/rtnetlink.h>
#include <linux/if_ether.h>
#include <iwlib.h>
#include <wireless.h>
#include <dbus/dbus.h>
#include <wlancond.h>
#include "common.h"

Include dependency graph for dbus-handler.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define DBUS_API_SUBJECT_TO_CHANGE
#define CLEAR   1
#define SET   2

Functions

void init_dbus_handlers (DBusConnection *connection)
void destroy_dbus_handlers (DBusConnection *connection)
int socket_open (void)
void init_iwreq (struct iwreq *req)
gboolean ask_scan_results (int ifindex)
void set_wlan_state (int new_state, int send_signal, force_t force)
guint get_wlan_state (void)
void set_scan_state (guint new_state)
guint get_scan_state (void)
int init_dbus_handler (void)
int clean_dbus_handler (void)
void clear_wpa_mode (void)
int wpa_ie_push (unsigned char *ap_mac_addr, unsigned char *ap_wpa_ie, int ap_wpa_ie_len, char *ssid, int ssid_len, unsigned int authentication_type)
gboolean get_wpa_mode (void)
int set_interface_state (int sock, int dir, short flags)
void clear_wpa_keys (unsigned char *bssid)
void clean_roam_cache (void)
guint get_mode (void)
int scan (gchar *ssid, int ssid_len, gboolean add_timer)
void update_own_ie (unsigned char *wpa_ie, guint wpa_ie_len)
gboolean set_power_state (guint state, int sock)
guint get_encryption_info (void)
void remove_connect_timer (void)
int disassociate_eap (void)
int wpa_mic_failure_event (dbus_bool_t key_type, dbus_bool_t is_fatal)
int get_we_device_name (void)
unsigned char * find_pmkid_from_pmk_cache (unsigned char *mac)
DBusHandlerResult wlancond_req_handler (DBusConnection *connection, DBusMessage *message, void *user_data)
int associate (struct scan_results_t *scan_results)
gboolean remove_from_roam_cache (unsigned char *bssid)
scan_results_tfind_connection (GSList *scan_list, struct connect_params_t *conn, gboolean update_roam_cache)
void remove_roam_scan_timer (void)
void remove_scan_timer (void)
int associate_supplicant (void)
int set_bssid (unsigned char *bssid)
int find_connection_and_associate (GSList *scan_results, gboolean update_roam_cache)
int scan_results_ioctl (int ifindex, GSList **scan_results_save)
void set_wlan_signal (gboolean high_or_low)
gboolean decrease_signal_in_roam_cache (unsigned char *bssid)
int mlme_command (guchar *addr, guint16 cmd, guint16 reason_code)


Detailed Description

Copyright (C) 2004 Nokia Corporation. All rights reserved.

Author:
Janne Ylalehto <janne.ylalehto@nokia.com>
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

Definition in file dbus-handler.h.


Function Documentation

gboolean ask_scan_results ( int  ifindex  ) 

Scan results request.

Parameters:
ifindex Interface index.
Returns:
status.

Definition at line 2206 of file dbus-handler.c.

References clean_roam_cache(), clean_scan_results(), CLEAR, connect_from_scan_results(), get_scan_state(), get_wlan_state(), network_compare(), NO_SIGNAL, power_down_after_scan, wlan_status_t::roam_cache, scan_name_cache, scan_results_ioctl(), send_dbus_scan_results(), set_interface_state(), set_scan_state(), set_wlan_state(), wlan_status_t::signal, socket_open(), wlan_status, WLANCOND_LOW, and WLANCOND_MAX_NETWORKS.

Referenced by print_event_token().

Here is the call graph for this function:

int associate ( struct scan_results_t scan_results  ) 

Associate function to associate to selected access point.

Parameters:
scan_results Scan results.
Returns:
status.

Definition at line 1510 of file dbus-handler.c.

References connect_params_t::adhoc_channel, connect_params_t::authentication_type, scan_results_t::bssid, connect_params_t::bssid, scan_results_t::channel, clear_wpa_keys(), wlan_status_t::conn, connect_params_t::encryption, get_wpa_mode(), connect_params_t::mode, set_bssid(), set_encryption_method(), set_essid(), set_freq(), set_wep_keys(), connect_params_t::ssid, scan_results_t::ssid, connect_params_t::ssid_len, scan_results_t::ssid_len, update_algorithms(), wlan_connect_timer_cb(), wlan_connect_timer_id, wlan_status, WLANCOND_CONNECT_TIMEOUT, scan_results_t::wpa_ie, scan_results_t::wpa_ie_len, and wpa_ie_push().

Referenced by find_connection_and_associate().

Here is the call graph for this function:

int associate_supplicant ( void   ) 

Associate EAP D-BUS request.

Returns:
status.

Definition at line 2831 of file dbus-handler.c.

Referenced by handle_wap_event().

int clean_dbus_handler ( void   ) 

Helper function for cleaning handler.

Definition at line 206 of file dbus-handler.c.

References wlan_socket.

Referenced by clean_data().

void clean_roam_cache ( void   ) 

Clean roaming cache.

Definition at line 1044 of file dbus-handler.c.

References clean_scan_results(), wlan_status_t::roam_cache, and wlan_status.

Referenced by ask_scan_results(), find_connection(), and set_wlan_state().

Here is the call graph for this function:

void clear_wpa_keys ( unsigned char *  bssid  ) 

Clear WPA keys.

Parameters:
bssid optional BSSID which keys to remove.

Definition at line 1222 of file dbus-handler.c.

References init_iwreq(), and socket_open().

Referenced by associate(), clear_wpa_mode(), disassociate_request(), and handle_wap_event().

Here is the call graph for this function:

void clear_wpa_mode ( void   ) 

Clear WPA mode related stuff.

Definition at line 1051 of file dbus-handler.c.

References clear_wpa_keys(), wlan_status_t::group_cipher, wpa_ie_save_t::ie, wpa_ie_save_t::ie_len, wlan_status_t::pairwise_cipher, wlan_status_t::pmk_cache, wlan_status, and wlan_status_t::wpa_ie.

Referenced by set_wlan_state().

Here is the call graph for this function:

gboolean decrease_signal_in_roam_cache ( unsigned char *  bssid  ) 

Give penalty to failed AP.

Parameters:
bssid BSSID.
Returns:
status.

Definition at line 1806 of file dbus-handler.c.

References compare_scan_entry(), print_mac(), wlan_status_t::roam_cache, scan_results_t::rssi, wlan_status, and WLANCOND_RSSI_PENALTY.

Referenced by handle_wap_event().

Here is the call graph for this function:

void destroy_dbus_handlers ( DBusConnection *  connection  ) 

Destroy D-BUS handlers.

Parameters:
connection DBUS connection.

Definition at line 3037 of file dbus-handler.c.

Referenced by main().

int disassociate_eap ( void   ) 

Disassociate EAP D-BUS request.

Returns:
status.

Definition at line 2898 of file dbus-handler.c.

References disassociate_cb().

Referenced by handle_wap_event().

Here is the call graph for this function:

struct scan_results_t* find_connection ( GSList *  ap_list,
struct connect_params_t conn,
gboolean  update_roam_cache 
)

Find connection.

Parameters:
ap_list List of access points.
conn Connection parameters.
update_roam_cache Update roaming cache or not.
Returns:
scan_results_t Returns best connection if found.

Definition at line 1942 of file dbus-handler.c.

References connect_params_t::bssid, check_capabilities(), clean_roam_cache(), wlan_status_t::conn, is_ap_in_black_list(), print_mac(), connect_params_t::ssid, and wlan_status.

Referenced by find_connection_and_associate().

Here is the call graph for this function:

int find_connection_and_associate ( GSList *  scan_results,
gboolean  update_roam_cache 
)

Find connection and associate.

Parameters:
scan_results Scan results.
Returns:
status.

Definition at line 2021 of file dbus-handler.c.

References associate(), connect_params_t::bssid, wlan_status_t::conn, find_connection(), connect_params_t::mode, connect_params_t::ssid, scan_results_t::ssid, connect_params_t::ssid_len, and wlan_status.

Referenced by connect_from_scan_results(), handle_wap_event(), settings_and_connect_request(), and wlan_connect_timer_cb().

Here is the call graph for this function:

unsigned char* find_pmkid_from_pmk_cache ( unsigned char *  mac  ) 

Find entry from PMKSA cache.

Parameters:
mac MAC address to identify the entry.
Returns:
PMKID or NULL.

Definition at line 1133 of file dbus-handler.c.

References compare_pmk_entry(), wlan_status_t::pmk_cache, pmksa_cache_t::pmkid, print_mac(), and wlan_status.

Referenced by generate_wpa2_ie().

Here is the call graph for this function:

guint get_encryption_info ( void   ) 

Get encryption info.

Returns:
status.

Definition at line 174 of file dbus-handler.c.

References wlan_status_t::pairwise_cipher, and wlan_status.

Referenced by handle_wap_event().

guint get_mode ( void   ) 

Helper function for getting the wlan mode.

Returns:
mode.

Definition at line 786 of file dbus-handler.c.

References wlan_status_t::conn, connect_params_t::mode, and wlan_status.

Referenced by icd_check_signal_dbus(), and status_request().

guint get_scan_state ( void   ) 

Helper function for getting the scan state.

Returns:
state.

Definition at line 778 of file dbus-handler.c.

References wlan_status_t::scan, and wlan_status.

Referenced by ask_scan_results(), handle_wap_event(), print_event_token(), scan(), and scan_request().

int get_we_device_name ( void   ) 

Find the name of the wireless device, needed in all ioctl calls. Save the result so that we don't need to find it in every ioctl call.

Returns:
status.

Definition at line 909 of file dbus-handler.c.

References set_we_name(), socket_open(), and wlan_status.

Referenced by main().

Here is the call graph for this function:

guint get_wlan_state ( void   ) 

Helper function for getting the wlan state.

Returns:
state.

Definition at line 746 of file dbus-handler.c.

References wlan_status_t::state, and wlan_status.

Referenced by ask_scan_results(), connect_from_scan_results(), connection_status_request(), disassociate_request(), handle_custom_event(), handle_wap_event(), icd_check_signal_dbus(), init_if(), scan_request(), set_powersave_request(), set_wlan_state(), status_request(), wlan_connect_timer_cb(), wlan_if_down_cb(), wlan_roam_scan_cb(), and wlan_scan_cb().

gboolean get_wpa_mode ( void   ) 

Check if WPA mode is in use.

Returns:
TRUE if mode is in use.

Definition at line 1071 of file dbus-handler.c.

References wlan_status_t::pairwise_cipher, and wlan_status.

Referenced by associate(), disassociate_request(), and handle_wap_event().

int init_dbus_handler ( void   ) 

Helper function for initializing handler structs

Definition at line 194 of file dbus-handler.c.

References get_own_mac().

Referenced by main().

Here is the call graph for this function:

void init_dbus_handlers ( DBusConnection *  connection  ) 

Create bindings for D-BUS handlers.

Parameters:
connection DBUS connection.

Definition at line 3014 of file dbus-handler.c.

Referenced by main().

void init_iwreq ( struct iwreq *  req  ) 

Helper function for initializing the iwreq.

Definition at line 93 of file dbus-handler.c.

References wlan_status_t::ifname, and wlan_status.

Referenced by clear_wpa_keys(), mlme_command(), scan(), scan_results_ioctl(), set_bssid(), set_encryption_method_helper(), set_essid(), set_freq(), set_mode(), set_power_state(), set_tx_power(), set_wep_keys(), set_wpa_ie(), and status_request().

int mlme_command ( guchar *  addr,
guint16  cmd,
guint16  reason_code 
)

MLME command.

Parameters:
addr Access point MAC address.
cmd Command.
reason_code Reason for leaving.
Returns:
status.

Definition at line 480 of file dbus-handler.c.

References init_iwreq(), and socket_open().

Referenced by disassociate_request(), handle_mic_failure(), and set_wlan_state().

Here is the call graph for this function:

gboolean remove_from_roam_cache ( unsigned char *  bssid  ) 

Remove from roam cache.

Parameters:
bssid BSSID to remove.
Returns:
status.

Definition at line 1779 of file dbus-handler.c.

References clean_scan_results_item(), compare_scan_entry(), print_mac(), wlan_status_t::roam_cache, and wlan_status.

Referenced by wlan_connect_timer_cb().

Here is the call graph for this function:

int scan ( gchar *  ssid,
int  ssid_len,
gboolean  add_timer 
)

Helper function for scanning.

Parameters:
ssid SSID to scan.
ssid_len SSID length.
Returns:
status.

Definition at line 1152 of file dbus-handler.c.

References get_scan_state(), init_iwreq(), wlan_status_t::scan_id, set_scan_state(), socket_open(), wlan_scan_cb(), wlan_status, and WLANCOND_SCAN_TIMEOUT.

Referenced by disassociate_request(), handle_custom_event(), handle_wap_event(), scan_request(), settings_and_connect_request(), wlan_connect_timer_cb(), and wlan_roam_scan_cb().

Here is the call graph for this function:

int scan_results_ioctl ( int  ifindex,
GSList **  scan_results_save 
)

Get scan results from mac80211.

Parameters:
ifindex Interface index.
scan_results_save Scan results to save.
Returns:
status.

Definition at line 2075 of file dbus-handler.c.

References get_interface_data(), wlan_status_t::ifname, init_iwreq(), print_event_token(), wireless_iface::range, save_scan_results(), socket_open(), and wlan_status.

Referenced by ask_scan_results(), and settings_and_connect_request().

Here is the call graph for this function:

int set_bssid ( unsigned char *  bssid  ) 

Helper function for setting the BSSID.

Parameters:
bssid BSSID.
Returns:
status.

Definition at line 629 of file dbus-handler.c.

References init_iwreq(), print_mac(), and socket_open().

Referenced by associate(), handle_wap_event(), and set_wlan_state().

Here is the call graph for this function:

int set_interface_state ( int  sock,
int  dir,
short  flags 
)

Set interface state.

Parameters:
socket socket.
dir direction.
flags settings flags.
Returns:
status.

Definition at line 927 of file dbus-handler.c.

References wlan_status_t::ifname, SET, and wlan_status.

Referenced by ask_scan_results(), init_if(), and set_wlan_state().

gboolean set_power_state ( guint  new_state,
int  sock 
)

Set WLAN power state.

Parameters:
state New power state.
sock socket.
Returns:
status.

Definition at line 797 of file dbus-handler.c.

References get_gconf_int(), INACTIVE_SLEEP_GCONF_PATH, init_iwreq(), wlan_status_t::power, SLEEP_GCONF_PATH, wlan_status, WLANCOND_DEFAULT_SLEEP_TIMEOUT, WLANCOND_LONG_CAM_TIMEOUT, and WLANCOND_VERY_SHORT_CAM_TIMEOUT.

Referenced by icd_check_signal_dbus(), init_if(), set_powersave_request(), and settings_and_connect_request().

Here is the call graph for this function:

void set_scan_state ( guint  new_state  ) 

Helper function for setting new scan state.

Parameters:
new_state New scan state.

Definition at line 755 of file dbus-handler.c.

References wlan_status_t::scan, scan_name_cache, send_dbus_scan_results(), and wlan_status.

Referenced by ask_scan_results(), disconnect_request(), scan(), set_wlan_state(), and settings_and_connect_request().

Here is the call graph for this function:

void set_wlan_state ( int  new_state,
int  send_signal,
force_t  force 
)

Helper function for setting new wlan state

Parameters:
new_state New state for WLAN.
send_signal Should signal be sent.
force If shutdown is forced or not.

Definition at line 654 of file dbus-handler.c.

References connect_params_t::bssid, clean_roam_cache(), CLEAR, clear_wpa_mode(), wlan_status_t::conn, disconnected_signal(), DISCONNECTED_SIGNAL, get_wlan_state(), mlme_command(), NULL_BSSID, remove_connect_timer(), remove_scan_timer(), remove_wlan_if_timer(), wlan_status_t::retry_count, set_bssid(), set_interface_state(), set_scan_state(), set_wlan_signal(), socket_open(), wlan_status_t::state, wlan_if_down_cb(), wlan_if_down_timer_id, wlan_status, WLANCOND_HIGH, WLANCOND_REASON_LEAVING, and WLANCOND_SHUTDOWN_DELAY.

Referenced by ask_scan_results(), connect_from_scan_results(), disassociate_request(), disconnect_request(), handle_mic_failure(), handle_wap_event(), icd_check_signal_dbus(), init_if(), main(), mode_change(), print_event_token(), scan_request(), set_powersave_request(), settings_and_connect_request(), wlan_connect_timer_cb(), wlan_if_down_cb(), wlan_scan_cb(), and wpa_ie_push_cb().

Here is the call graph for this function:

int socket_open ( void   ) 

Helper function for socket opening.

Definition at line 78 of file dbus-handler.c.

References wlan_socket.

Referenced by ask_scan_results(), clear_wpa_keys(), get_interface_data(), get_own_mac(), get_we_device_name(), icd_check_signal_dbus(), mlme_command(), scan(), scan_request(), scan_results_ioctl(), set_bssid(), set_encryption_method_helper(), set_essid(), set_freq(), set_mode(), set_powersave_request(), set_wep_keys(), set_wlan_state(), set_wpa_ie(), settings_and_connect_request(), and status_request().

void update_own_ie ( unsigned char *  wpa_ie,
guint  wpa_ie_len 
)

Update our Information Element.

Parameters:
wpa_ie WPA Information Element.
wpa_ie_len WPA Information Element length.

Definition at line 164 of file dbus-handler.c.

References wpa_ie_save_t::ie, wpa_ie_save_t::ie_len, wlan_status, and wlan_status_t::wpa_ie.

Referenced by generate_wpa2_ie(), and generate_wpa_ie().

DBusHandlerResult wlancond_req_handler ( DBusConnection *  connection,
DBusMessage *  message,
void *  user_data 
)

Generic handler for D-Bus requests.

Parameters:
message DBUS message.
connection DBUS connection.
Returns:
status.

Definition at line 2953 of file dbus-handler.c.

References method_handler_t::func, handlers, icd_check_signal_dbus(), method_handler_t::interface, and method_handler_t::name.

Here is the call graph for this function:

int wpa_ie_push ( unsigned char *  ap_mac_addr,
unsigned char *  ap_wpa_ie,
int  ap_wpa_ie_len,
char *  ssid,
int  ssid_len,
unsigned int  authentication_type 
)

WPA IE D-BUS push.

Parameters:
ap_mac_addr Access point MAC address.
ap_wpa_ie Pointer to access point WPA IE.
ap_wpa_ie_len Access point WPA IE length.
authentication_type authentication type.
Returns:
status.

Definition at line 2730 of file dbus-handler.c.

References wlan_status_t::group_cipher, wpa_ie_save_t::ie, wpa_ie_save_t::ie_len, wlan_status_t::pairwise_cipher, wlan_status, wlan_status_t::wpa_ie, and wpa_ie_push_cb().

Referenced by associate().

Here is the call graph for this function:

int wpa_mic_failure_event ( dbus_bool_t  key_type,
dbus_bool_t  is_fatal 
)

WPA MIC failure event D-BUS request.

Parameters:
key_type Key type, Unicast/Broadcast key.
is_fatal Error is fatal if true.
Returns:
status.

Definition at line 2787 of file dbus-handler.c.

Referenced by handle_mic_failure().


Generated on Sat Dec 6 22:17:23 2008 for WLAN Connection Daemon by  doxygen 1.5.1