blob: b22d271fb6750b6c1f5d4a52298edc5b08149c5c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
/*
* lib80211 -- common bits for IEEE802.11 drivers
*
* Copyright(c) 2008 John W. Linville <linville@tuxdriver.com>
*
*/
#include <linux/module.h>
#include <linux/ieee80211.h>
#include <net/lib80211.h>
#define DRV_NAME "lib80211"
#define DRV_DESCRIPTION "common routines for IEEE802.11 drivers"
MODULE_DESCRIPTION(DRV_DESCRIPTION);
MODULE_AUTHOR("John W. Linville <linville@tuxdriver.com>");
MODULE_LICENSE("GPL");
const char *escape_ssid(const char *ssid, u8 ssid_len)
{
static char escaped[IEEE80211_MAX_SSID_LEN * 2 + 1];
const char *s = ssid;
char *d = escaped;
if (is_empty_ssid(ssid, ssid_len)) {
memcpy(escaped, "<hidden>", sizeof("<hidden>"));
return escaped;
}
ssid_len = min_t(u8, ssid_len, IEEE80211_MAX_SSID_LEN);
while (ssid_len--) {
if (*s == '\0') {
*d++ = '\\';
*d++ = '0';
s++;
} else {
*d++ = *s++;
}
}
*d = '\0';
return escaped;
}
EXPORT_SYMBOL(escape_ssid);
static int __init ieee80211_init(void)
{
printk(KERN_INFO DRV_NAME ": " DRV_DESCRIPTION "\n");
return 0;
}
static void __exit ieee80211_exit(void)
{
}
module_init(ieee80211_init);
module_exit(ieee80211_exit);
|