libiwinfo: reimplement iwinfo.lua in C and package it as "iwinfo"
[project/luci.git] / contrib / package / 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, char *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_txpower(const char *ifname, int *buf);
37 int wext_get_bitrate(const char *ifname, int *buf);
38 int wext_get_signal(const char *ifname, int *buf);
39 int wext_get_noise(const char *ifname, int *buf);
40 int wext_get_quality(const char *ifname, int *buf);
41 int wext_get_quality_max(const char *ifname, int *buf);
42 int wext_get_encryption(const char *ifname, char *buf);
43 int wext_get_assoclist(const char *ifname, char *buf, int *len);
44 int wext_get_txpwrlist(const char *ifname, char *buf, int *len);
45 int wext_get_scanlist(const char *ifname, char *buf, int *len);
46 int wext_get_freqlist(const char *ifname, char *buf, int *len);
47 int wext_get_countrylist(const char *ifname, char *buf, int *len);
48 int wext_get_hwmodelist(const char *ifname, int *buf);
49 int wext_get_mbssid_support(const char *ifname, int *buf);
50 void wext_close(void);
51
52 static const struct iwinfo_ops wext_ops = {
53 .channel = wext_get_channel,
54 .frequency = wext_get_frequency,
55 .txpower = wext_get_txpower,
56 .bitrate = wext_get_bitrate,
57 .signal = wext_get_signal,
58 .noise = wext_get_noise,
59 .quality = wext_get_quality,
60 .quality_max = wext_get_quality_max,
61 .mbssid_support = wext_get_mbssid_support,
62 .hwmodelist = wext_get_hwmodelist,
63 .mode = wext_get_mode,
64 .ssid = wext_get_ssid,
65 .bssid = wext_get_bssid,
66 .country = wext_get_country,
67 .encryption = wext_get_encryption,
68 .assoclist = wext_get_assoclist,
69 .txpwrlist = wext_get_txpwrlist,
70 .scanlist = wext_get_scanlist,
71 .freqlist = wext_get_freqlist,
72 .countrylist = wext_get_countrylist,
73 .close = wext_close
74 };
75
76 #endif