1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun /* include/net/virt_wifi.h 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * Define the extension interface for the network data simulation 5*4882a593Smuzhiyun * 6*4882a593Smuzhiyun * Copyright (C) 2019 Google, Inc. 7*4882a593Smuzhiyun * 8*4882a593Smuzhiyun * Author: lesl@google.com 9*4882a593Smuzhiyun */ 10*4882a593Smuzhiyun #ifndef __VIRT_WIFI_H 11*4882a593Smuzhiyun #define __VIRT_WIFI_H 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun struct virt_wifi_network_simulation { 14*4882a593Smuzhiyun void (*notify_device_open)(struct net_device *dev); 15*4882a593Smuzhiyun void (*notify_device_stop)(struct net_device *dev); 16*4882a593Smuzhiyun void (*notify_scan_trigger)(struct wiphy *wiphy, 17*4882a593Smuzhiyun struct cfg80211_scan_request *request); 18*4882a593Smuzhiyun int (*generate_virt_scan_result)(struct wiphy *wiphy); 19*4882a593Smuzhiyun }; 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun int virt_wifi_register_network_simulation( 22*4882a593Smuzhiyun struct virt_wifi_network_simulation *ops); 23*4882a593Smuzhiyun int virt_wifi_unregister_network_simulation(void); 24*4882a593Smuzhiyun #endif 25*4882a593Smuzhiyun 26