1 //=====================================================================
2 // Device related include
3 //=====================================================================
10 //====================================================================================
11 // Function declaration
12 //====================================================================================
13 void hal_remove_mapping_key( struct hw_data * pHwData, u8 *pmac_addr );
14 void hal_remove_default_key( struct hw_data * pHwData, u32 index );
15 unsigned char hal_set_mapping_key( struct hw_data * adapter, u8 *pmac_addr, u8 null_key, u8 wep_on, u8 *ptx_tsc, u8 *prx_tsc, u8 key_type, u8 key_len, u8 *pkey_data );
16 unsigned char hal_set_default_key( struct hw_data * adapter, u8 index, u8 null_key, u8 wep_on, u8 *ptx_tsc, u8 *prx_tsc, u8 key_type, u8 key_len, u8 *pkey_data );
17 void hal_clear_all_default_key( struct hw_data * pHwData );
18 void hal_clear_all_group_key( struct hw_data * pHwData );
19 void hal_clear_all_mapping_key( struct hw_data * pHwData );
20 void hal_clear_all_key( struct hw_data * pHwData );
21 void hal_get_ethernet_address( struct hw_data * pHwData, u8 *current_address );
22 void hal_set_ethernet_address( struct hw_data * pHwData, u8 *current_address );
23 void hal_get_permanent_address( struct hw_data * pHwData, u8 *pethernet_address );
24 void hal_set_power_save_mode( struct hw_data * pHwData, unsigned char power_save, unsigned char wakeup, unsigned char dtim );
25 void hal_get_power_save_mode( struct hw_data * pHwData, u8 *pin_pwr_save );
26 void hal_set_slot_time( struct hw_data * pHwData, u8 type );
27 #define hal_set_atim_window( _A, _ATM )
28 void hal_start_bss( struct hw_data * pHwData, u8 mac_op_mode );
29 void hal_join_request( struct hw_data * pHwData, u8 bss_type ); // 0:BSS STA 1:IBSS STA//
30 void hal_stop_sync_bss( struct hw_data * pHwData );
31 void hal_resume_sync_bss( struct hw_data * pHwData);
32 void hal_set_aid( struct hw_data * pHwData, u16 aid );
33 void hal_set_bssid( struct hw_data * pHwData, u8 *pbssid );
34 void hal_get_bssid( struct hw_data * pHwData, u8 *pbssid );
35 void hal_set_beacon_period( struct hw_data * pHwData, u16 beacon_period );
36 void hal_set_listen_interval( struct hw_data * pHwData, u16 listen_interval );
37 void hal_set_cap_info( struct hw_data * pHwData, u16 capability_info );
38 void hal_set_ssid( struct hw_data * pHwData, u8 *pssid, u8 ssid_len );
39 void hal_set_current_channel( struct hw_data * pHwData, ChanInfo channel );
40 void hal_set_accept_broadcast( struct hw_data * pHwData, u8 enable );
41 void hal_set_accept_multicast( struct hw_data * pHwData, u8 enable );
42 void hal_set_accept_beacon( struct hw_data * pHwData, u8 enable );
43 void hal_stop( struct hw_data * pHwData );
44 void hal_start_tx0( struct hw_data * pHwData );
45 #define hal_get_cwmin( _A ) ( (_A)->cwmin )
46 void hal_set_cwmax( struct hw_data * pHwData, u16 cwin_max );
47 #define hal_get_cwmax( _A ) ( (_A)->cwmax )
48 void hal_set_rsn_wpa( struct hw_data * pHwData, u32 * RSN_IE_Bitmap , u32 * RSN_OUI_type , unsigned char bDesiredAuthMode);
49 void hal_set_connect_info( struct hw_data * pHwData, unsigned char boConnect );
50 u8 hal_get_est_sq3( struct hw_data * pHwData, u8 Count );
51 void hal_set_rf_power( struct hw_data * pHwData, u8 PowerIndex ); // 20060621 Modify
52 void hal_set_radio_mode( struct hw_data * pHwData, unsigned char boValue);
53 void hal_descriptor_indicate( struct hw_data * pHwData, PDESCRIPTOR pDes );
54 u8 hal_get_antenna_number( struct hw_data * pHwData );
55 u32 hal_get_bss_pk_cnt( struct hw_data * pHwData );
56 #define hal_get_region_from_EEPROM( _A ) ( (_A)->reg.EEPROMRegion )
57 void hal_set_accept_promiscuous ( struct hw_data * pHwData, u8 enable);
58 #define hal_get_tx_buffer( _A, _B ) Wb35Tx_get_tx_buffer( _A, _B )
59 u8 hal_get_hw_radio_off ( struct hw_data * pHwData );
60 #define hal_software_set( _A ) (_A->SoftwareSet)
61 #define hal_driver_init_OK( _A ) (_A->IsInitOK)
62 #define hal_rssi_boundary_high( _A ) (_A->RSSI_high)
63 #define hal_rssi_boundary_low( _A ) (_A->RSSI_low)
64 #define hal_scan_interval( _A ) (_A->Scan_Interval)
66 #define PHY_DEBUG( msg, args... )
68 unsigned char hal_get_dxx_reg( struct hw_data * pHwData, u16 number, u32 * pValue );
69 unsigned char hal_set_dxx_reg( struct hw_data * pHwData, u16 number, u32 value );
70 #define hal_get_time_count( _P ) (_P->time_count/10) // return 100ms count
71 #define hal_detect_error( _P ) (_P->WbUsb.DetectCount)
73 //-------------------------------------------------------------------------
74 // The follow function is unused for IS89C35
75 //-------------------------------------------------------------------------
76 #define hal_disable_interrupt(_A)
77 #define hal_enable_interrupt(_A)
78 #define hal_get_interrupt_type( _A)
79 #define hal_get_clear_interrupt(_A)
80 #define hal_ibss_disconnect(_A) hal_stop_sync_bss(_A)
81 #define hal_join_request_stop(_A)
82 unsigned char hal_idle( struct hw_data * pHwData );
83 #define hw_get_cxx_reg( _A, _B, _C )
84 #define hw_set_cxx_reg( _A, _B, _C )
85 #define hw_get_dxx_reg( _A, _B, _C ) hal_get_dxx_reg( _A, _B, (u32 *)_C )
86 #define hw_set_dxx_reg( _A, _B, _C ) hal_set_dxx_reg( _A, _B, (u32)_C )