2 * Network Configuration Module
4 * Copyright (c) 2000 - 2012 Samsung Electronics Co., Ltd. All rights reserved.
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
20 #ifndef __NETCONFIG_WIFI_NETLINK_SCAN_H__
21 #define __NETCONFIG_WIFI_NETLINK_SCAN_H__
29 #define NETCONFIG_SSID_LEN 32
30 #define NETCONFIG_BSSID_LEN 17
31 #define NETCONFIG_MAX_VSIE_LEN 255
33 #define NL80211_CMD_SCAN_ABORTED 35
34 #define NL80211_CMD_GET_SCAN 32
35 #define NL80211_CMD_TRIGGER_SCAN 33
36 #define NL80211_CMD_NEW_SCAN_RESULTS 34
37 #define NL80211_BSS_BSSID 1
38 #define NL80211_BSS_FREQUENCY 2
39 #define NL80211_BSS_INFORMATION_ELEMENTS 6
40 #define NL80211_BSS_SIGNAL_MBM 7
41 #define NL80211_BSS_MAX 15
42 #define NL80211_ATTR_BSS 47
43 #define NL80211_ATTR_IFINDEX 3
44 #define NL80211_ATTR_SCAN_SSIDS 45
45 #define NL80211_ATTR_MAX 221
47 struct bss_scan_info_t{
48 char bssid[NETCONFIG_BSSID_LEN+1];
49 char ssid[NETCONFIG_SSID_LEN+1];
50 char vsie[NETCONFIG_MAX_VSIE_LEN+1];
56 struct netconfig_netlink_scan_results {
61 struct netconfig_netlink_scan_handler_args {
69 struct nl_sock *socket;
71 } netconfig_nl_global;
73 void __netconfig_notify_netlink_scan_done(void);
74 int handle_netlink_scan(Wifi *wifi, GDBusMethodInvocation *context);
75 int handle_netlink_specific_scan(Wifi *wifi, GDBusMethodInvocation *context, gchar *ssid);
81 #endif /* __NETCONFIG_WIFI_NETLINK_SCAN_H__ */