Go to the documentation of this file.00001
00024 #ifndef _LIBNL_HANDLER_H_
00025 #define _LIBNL_HANDLER_H_
00026
00027 #include <netlink/genl/genl.h>
00028 #include <netlink/genl/family.h>
00029 #include <netlink/genl/ctrl.h>
00030 #include <linux/nl80211.h>
00031
00032 #include "common.h"
00033
00034
00035 #define WLANCOND_CIPHER_SUITE_NONE 0x000FAC00
00036 #define WLANCOND_CIPHER_SUITE_WEP40 0x000FAC01
00037 #define WLANCOND_CIPHER_SUITE_TKIP 0x000FAC02
00038 #define WLANCOND_CIPHER_SUITE_CCMP 0x000FAC04
00039 #define WLANCOND_CIPHER_SUITE_WEP104 0x000FAC05
00040
00041
00042 #define WLANCOND_KEY_MGMT_802_1X 0x000FAC01
00043 #define WLANCOND_KEY_MGMT_PSK 0x000FAC02
00044
00045
00046 #define WLANCOND_CQM_THRESHOLD_ACTIVE -70
00047 #define WLANCOND_CQM_THRESHOLD_IDLE -80
00048 #define WLANCOND_CQM_HYSTERESIS 3
00049
00050 struct get_family_t {
00051 const char *group_name;
00052 int id;
00053 };
00054
00055 int init_nl80211(void);
00056 int nl_send_recv_msgs(struct nl_msg *msg, int (*valid_handler)(struct nl_msg *, void *), void *valid_data);
00057 void nl80211_cleanup(void);
00058 int nl80211_connect(struct scan_results_t *scan_results, struct wlan_status_t *wlan_status);
00059 int nl80211_leave_adhoc(guint32 ifindex);
00060 int nl80211_set_op_mode(guint32 ifindex, guint32 mode);
00061 int nl80211_mlme_command(guchar* addr, guint16 cmd, guint16 reason_code, guint32 ifindex);
00062 int nl80211_get_signal_info(guint8 *power, struct wlan_status_t *wlan_status);
00063 int nl80211_set_power_save(gboolean new_state, guint32 ifindex);
00064 int nl80211_scan(wlan_status_t* const wlan_status, int ssid_len, char* const ssid);
00065 int nl80211_send_get_scan_results(wlan_status_t* const wlan_status, GSList** const scan_results);
00066 void nl80211_scan_ready(void);
00067 int nl80211_set_cqm(guint32 threshold, guint32 hyst);
00068 int nl80211_set_tx_power(int tx_power, guint32 ifindex);
00069 int nl80211_get_phy_info(guint32 ifindex);
00070 int nl80211_set_channel(guint32 ifindex, guint32 channel);
00071
00072 #endif
00073