1 /****************************************************************************** 2 * 3 * Copyright(c) 2007 - 2019 Realtek Corporation. 4 * 5 * This program is free software; you can redistribute it and/or modify it 6 * under the terms of version 2 of the GNU General Public License as 7 * published by the Free Software Foundation. 8 * 9 * This program is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 * more details. 13 * 14 *****************************************************************************/ 15 #ifndef __OSDEP_INTF_H_ 16 #define __OSDEP_INTF_H_ 17 18 struct dvobj_priv *devobj_init(void); 19 void devobj_deinit(struct dvobj_priv *pdvobj); 20 u8 devobj_data_init(struct dvobj_priv *dvobj); 21 void devobj_data_deinit(struct dvobj_priv *dvobj); 22 u8 devobj_trx_resource_init(struct dvobj_priv *dvobj); 23 void devobj_trx_resource_deinit(struct dvobj_priv *dvobj); 24 25 u8 rtw_init_drv_sw(_adapter *padapter); 26 u8 rtw_free_drv_sw(_adapter *padapter); 27 u8 rtw_reset_drv_sw(_adapter *padapter); 28 void rtw_drv_stop_prim_iface(_adapter *adapter); 29 30 #if 0 /*#ifdef CONFIG_CORE_CMD_THREAD*/ 31 u32 rtw_start_drv_threads(_adapter *padapter); 32 void rtw_stop_drv_threads(_adapter *padapter); 33 #endif 34 35 #if defined(CONFIG_WOWLAN) || defined(CONFIG_AP_WOWLAN) 36 void rtw_cancel_dynamic_chk_timer(_adapter *padapter); 37 #endif 38 void rtw_cancel_all_timer(_adapter *padapter); 39 40 41 #ifdef PLATFORM_LINUX 42 int rtw_ioctl(struct net_device *dev, struct ifreq *rq, int cmd); 43 44 int rtw_init_netdev_name(struct net_device *pnetdev, const char *ifname); 45 struct net_device *rtw_init_netdev(_adapter *padapter); 46 47 void rtw_os_ndev_free(_adapter *adapter); 48 int rtw_os_ndev_init(_adapter *adapter, const char *name); 49 void rtw_os_ndev_deinit(_adapter *adapter); 50 void rtw_os_ndev_unregister(_adapter *adapter); 51 void rtw_os_ndevs_unregister(struct dvobj_priv *dvobj); 52 int rtw_os_ndevs_init(struct dvobj_priv *dvobj); 53 void rtw_os_ndevs_deinit(struct dvobj_priv *dvobj); 54 55 u16 rtw_os_recv_select_queue(u8 *msdu, enum rtw_rx_llc_hdl llc_hdl); 56 57 int rtw_ndev_notifier_register(void); 58 void rtw_ndev_notifier_unregister(void); 59 void rtw_inetaddr_notifier_register(void); 60 void rtw_inetaddr_notifier_unregister(void); 61 62 #include "../os_dep/linux/rtw_proc.h" 63 #include "../os_dep/linux/nlrtw.h" 64 65 #ifdef CONFIG_IOCTL_CFG80211 66 #include "../os_dep/linux/ioctl_cfg80211.h" 67 #endif /* CONFIG_IOCTL_CFG80211 */ 68 69 u8 rtw_rtnl_lock_needed(struct dvobj_priv *dvobj); 70 void rtw_set_rtnl_lock_holder(struct dvobj_priv *dvobj, _thread_hdl_ thd_hdl); 71 72 #endif /* PLATFORM_LINUX */ 73 74 75 #ifdef PLATFORM_FREEBSD 76 extern int rtw_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data); 77 #endif 78 79 void rtw_ips_dev_unload(_adapter *padapter); 80 81 #ifdef CONFIG_IPS 82 int rtw_ips_pwr_up(_adapter *padapter); 83 void rtw_ips_pwr_down(_adapter *padapter); 84 #endif 85 86 #ifdef CONFIG_CONCURRENT_MODE 87 struct _io_ops; 88 struct dvobj_priv; 89 u8 rtw_drv_add_vir_ifaces(struct dvobj_priv *dvobj); 90 void rtw_drv_stop_vir_ifaces(struct dvobj_priv *dvobj); 91 void rtw_drv_free_vir_ifaces(struct dvobj_priv *dvobj); 92 #endif 93 94 void rtw_ndev_destructor(_nic_hdl ndev); 95 #ifdef CONFIG_ARP_KEEP_ALIVE 96 int rtw_gw_addr_query(_adapter *padapter); 97 #endif 98 99 int rtw_suspend_common(_adapter *padapter); 100 int rtw_resume_common(_adapter *padapter); 101 int rtw_suspend_free_assoc_resource(_adapter *padapter); 102 103 #endif /* _OSDEP_INTF_H_ */ 104