104949598a23f501be6eec21697465fd46a28840aDmitry Shmidt/*
204949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * WPA Supplicant - auto scan
304949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * Copyright (c) 2012, Intel Corporation. All rights reserved.
404949598a23f501be6eec21697465fd46a28840aDmitry Shmidt *
504949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * This software may be distributed under the terms of the BSD license.
604949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * See README for more details.
704949598a23f501be6eec21697465fd46a28840aDmitry Shmidt */
804949598a23f501be6eec21697465fd46a28840aDmitry Shmidt
904949598a23f501be6eec21697465fd46a28840aDmitry Shmidt#ifndef AUTOSCAN_H
1004949598a23f501be6eec21697465fd46a28840aDmitry Shmidt#define AUTOSCAN_H
1104949598a23f501be6eec21697465fd46a28840aDmitry Shmidt
1204949598a23f501be6eec21697465fd46a28840aDmitry Shmidtstruct wpa_supplicant;
1304949598a23f501be6eec21697465fd46a28840aDmitry Shmidt
1404949598a23f501be6eec21697465fd46a28840aDmitry Shmidtstruct autoscan_ops {
1504949598a23f501be6eec21697465fd46a28840aDmitry Shmidt	const char *name;
1604949598a23f501be6eec21697465fd46a28840aDmitry Shmidt
1704949598a23f501be6eec21697465fd46a28840aDmitry Shmidt	void * (*init)(struct wpa_supplicant *wpa_s, const char *params);
1804949598a23f501be6eec21697465fd46a28840aDmitry Shmidt	void (*deinit)(void *priv);
1904949598a23f501be6eec21697465fd46a28840aDmitry Shmidt
2004949598a23f501be6eec21697465fd46a28840aDmitry Shmidt	int (*notify_scan)(void *priv, struct wpa_scan_results *scan_res);
2104949598a23f501be6eec21697465fd46a28840aDmitry Shmidt};
2204949598a23f501be6eec21697465fd46a28840aDmitry Shmidt
2304949598a23f501be6eec21697465fd46a28840aDmitry Shmidt#ifdef CONFIG_AUTOSCAN
2404949598a23f501be6eec21697465fd46a28840aDmitry Shmidt
2504949598a23f501be6eec21697465fd46a28840aDmitry Shmidtint autoscan_init(struct wpa_supplicant *wpa_s, int req_scan);
2604949598a23f501be6eec21697465fd46a28840aDmitry Shmidtvoid autoscan_deinit(struct wpa_supplicant *wpa_s);
2704949598a23f501be6eec21697465fd46a28840aDmitry Shmidtint autoscan_notify_scan(struct wpa_supplicant *wpa_s,
2804949598a23f501be6eec21697465fd46a28840aDmitry Shmidt			 struct wpa_scan_results *scan_res);
2904949598a23f501be6eec21697465fd46a28840aDmitry Shmidt
3004949598a23f501be6eec21697465fd46a28840aDmitry Shmidt#else /* CONFIG_AUTOSCAN */
3104949598a23f501be6eec21697465fd46a28840aDmitry Shmidt
3204949598a23f501be6eec21697465fd46a28840aDmitry Shmidtstatic inline int autoscan_init(struct wpa_supplicant *wpa_s, int req_scan)
3304949598a23f501be6eec21697465fd46a28840aDmitry Shmidt{
3404949598a23f501be6eec21697465fd46a28840aDmitry Shmidt	return 0;
3504949598a23f501be6eec21697465fd46a28840aDmitry Shmidt}
3604949598a23f501be6eec21697465fd46a28840aDmitry Shmidt
3704949598a23f501be6eec21697465fd46a28840aDmitry Shmidtstatic inline void autoscan_deinit(struct wpa_supplicant *wpa_s)
3804949598a23f501be6eec21697465fd46a28840aDmitry Shmidt{
3904949598a23f501be6eec21697465fd46a28840aDmitry Shmidt}
4004949598a23f501be6eec21697465fd46a28840aDmitry Shmidt
4104949598a23f501be6eec21697465fd46a28840aDmitry Shmidtstatic inline int autoscan_notify_scan(struct wpa_supplicant *wpa_s,
4204949598a23f501be6eec21697465fd46a28840aDmitry Shmidt				       struct wpa_scan_results *scan_res)
4304949598a23f501be6eec21697465fd46a28840aDmitry Shmidt{
4404949598a23f501be6eec21697465fd46a28840aDmitry Shmidt	return 0;
4504949598a23f501be6eec21697465fd46a28840aDmitry Shmidt}
4604949598a23f501be6eec21697465fd46a28840aDmitry Shmidt
4704949598a23f501be6eec21697465fd46a28840aDmitry Shmidt#endif /* CONFIG_AUTOSCAN */
4804949598a23f501be6eec21697465fd46a28840aDmitry Shmidt
4904949598a23f501be6eec21697465fd46a28840aDmitry Shmidt#endif /* AUTOSCAN_H */
50