xref: /OK3568_Linux_fs/external/rkwifibt/drivers/rtl8852bs/include/osdep_intf.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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