GNU Linux-libre 4.19.245-gnu1
[releases.git] / drivers / staging / vt6656 / card.h
1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3  * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc.
4  * All rights reserved.
5  *
6  * File: card.h
7  *
8  * Purpose: Provide functions to setup NIC operation mode
9  *
10  * Author: Tevin Chen
11  *
12  * Date: May 21, 1996
13  *
14  */
15
16 #ifndef __CARD_H__
17 #define __CARD_H__
18 #include "device.h"
19
20 /* init card type */
21
22 #define CB_MAX_CHANNEL_24G      14
23 #define CB_MAX_CHANNEL_5G       42 /* add channel9(5045MHz), 41==>42 */
24 #define CB_MAX_CHANNEL          (CB_MAX_CHANNEL_24G + CB_MAX_CHANNEL_5G)
25
26 struct vnt_private;
27
28 void vnt_set_channel(struct vnt_private *priv, u32 connection_channel);
29 void vnt_set_rspinf(struct vnt_private *priv, u8 bb_type);
30 void vnt_update_ifs(struct vnt_private *priv);
31 void vnt_update_top_rates(struct vnt_private *priv);
32 int vnt_ofdm_min_rate(struct vnt_private *priv);
33 void vnt_adjust_tsf(struct vnt_private *priv, u8 rx_rate,
34                     u64 time_stamp, u64 local_tsf);
35 bool vnt_get_current_tsf(struct vnt_private *priv, u64 *current_tsf);
36 bool vnt_clear_current_tsf(struct vnt_private *priv);
37 void vnt_reset_next_tbtt(struct vnt_private *priv, u16 beacon_interval);
38 void vnt_update_next_tbtt(struct vnt_private *priv, u64 tsf,
39                           u16 beacon_interval);
40 u64 vnt_get_next_tbtt(u64 tsf, u16 beacon_interval);
41 u64 vnt_get_tsf_offset(u8 rx_rate, u64 tsf1, u64 tsf2);
42 int vnt_radio_power_off(struct vnt_private *priv);
43 int vnt_radio_power_on(struct vnt_private *priv);
44 u8 vnt_get_pkt_type(struct vnt_private *priv);
45 void vnt_set_bss_mode(struct vnt_private *priv);
46
47 #endif /* __CARD_H__ */