iwinfo: keep an array of backends, reduce the number of ifdefs and hardcoded strcmp...
[openwrt/openwrt.git] / package / network / utils / iwinfo / src / include / iwinfo / wext.h
1 /*
2 * iwinfo - Wireless Information Library - Linux Wireless Extension Headers
3 *
4 * Copyright (C) 2009-2010 Jo-Philipp Wich <xm@subsignal.org>
5 *
6 * The iwinfo library is free software: you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License version 2
8 * as published by the Free Software Foundation.
9 *
10 * The iwinfo library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13 * See the GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License along
16 * with the iwinfo library. If not, see http://www.gnu.org/licenses/.
17 */
18
19 #ifndef __IWINFO_WEXT_H_
20 #define __IWINFO_WEXT_H_
21
22 #include <fcntl.h>
23
24 #include "iwinfo.h"
25 #include "iwinfo/utils.h"
26 #include "iwinfo/api/wext.h"
27
28
29 int wext_probe(const char *ifname);
30 int wext_get_mode(const char *ifname, int *buf);
31 int wext_get_ssid(const char *ifname, char *buf);
32 int wext_get_bssid(const char *ifname, char *buf);
33 int wext_get_country(const char *ifname, char *buf);
34 int wext_get_channel(const char *ifname, int *buf);
35 int wext_get_frequency(const char *ifname, int *buf);
36 int wext_get_frequency_offset(const char *ifname, int *buf);
37 int wext_get_txpower(const char *ifname, int *buf);
38 int wext_get_txpower_offset(const char *ifname, int *buf);
39 int wext_get_bitrate(const char *ifname, int *buf);
40 int wext_get_signal(const char *ifname, int *buf);
41 int wext_get_noise(const char *ifname, int *buf);
42 int wext_get_quality(const char *ifname, int *buf);
43 int wext_get_quality_max(const char *ifname, int *buf);
44 int wext_get_encryption(const char *ifname, char *buf);
45 int wext_get_phyname(const char *ifname, char *buf);
46 int wext_get_assoclist(const char *ifname, char *buf, int *len);
47 int wext_get_txpwrlist(const char *ifname, char *buf, int *len);
48 int wext_get_scanlist(const char *ifname, char *buf, int *len);
49 int wext_get_freqlist(const char *ifname, char *buf, int *len);
50 int wext_get_countrylist(const char *ifname, char *buf, int *len);
51 int wext_get_hwmodelist(const char *ifname, int *buf);
52 int wext_get_mbssid_support(const char *ifname, int *buf);
53 int wext_get_hardware_id(const char *ifname, char *buf);
54 int wext_get_hardware_name(const char *ifname, char *buf);
55 void wext_close(void);
56
57 static const struct iwinfo_ops wext_ops = {
58 .name = "wext",
59 .probe = wext_probe,
60 .channel = wext_get_channel,
61 .frequency = wext_get_frequency,
62 .frequency_offset = wext_get_frequency_offset,
63 .txpower = wext_get_txpower,
64 .txpower_offset = wext_get_txpower_offset,
65 .bitrate = wext_get_bitrate,
66 .signal = wext_get_signal,
67 .noise = wext_get_noise,
68 .quality = wext_get_quality,
69 .quality_max = wext_get_quality_max,
70 .mbssid_support = wext_get_mbssid_support,
71 .hwmodelist = wext_get_hwmodelist,
72 .mode = wext_get_mode,
73 .ssid = wext_get_ssid,
74 .bssid = wext_get_bssid,
75 .country = wext_get_country,
76 .hardware_id = wext_get_hardware_id,
77 .hardware_name = wext_get_hardware_name,
78 .encryption = wext_get_encryption,
79 .phyname = wext_get_phyname,
80 .assoclist = wext_get_assoclist,
81 .txpwrlist = wext_get_txpwrlist,
82 .scanlist = wext_get_scanlist,
83 .freqlist = wext_get_freqlist,
84 .countrylist = wext_get_countrylist,
85 .close = wext_close
86 };
87
88 #endif