1 #ifndef _AR6XAPI_LINUX_H
2 #define _AR6XAPI_LINUX_H
5 * Copyright (c) 2004-2007 Atheros Communications Inc.
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License version 2 as
11 * published by the Free Software Foundation;
13 * Software distributed under the License is distributed on an "AS
14 * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
15 * implied. See the License for the specific language governing
16 * rights and limitations under the License.
28 void ar6000_ready_event(void *devt
, A_UINT8
*datap
, A_UINT8 phyCap
);
29 A_UINT8
ar6000_iptos_to_userPriority(A_UINT8
*pkt
);
30 A_STATUS
ar6000_control_tx(void *devt
, void *osbuf
, WMI_PRI_STREAM_ID streamID
);
31 void ar6000_connect_event(struct ar6_softc
*ar
, A_UINT16 channel
,
32 A_UINT8
*bssid
, A_UINT16 listenInterval
,
33 A_UINT16 beaconInterval
, NETWORK_TYPE networkType
,
34 A_UINT8 beaconIeLen
, A_UINT8 assocReqLen
,
35 A_UINT8 assocRespLen
,A_UINT8
*assocInfo
);
36 void ar6000_disconnect_event(struct ar6_softc
*ar
, A_UINT8 reason
,
37 A_UINT8
*bssid
, A_UINT8 assocRespLen
,
38 A_UINT8
*assocInfo
, A_UINT16 protocolReasonStatus
);
39 void ar6000_tkip_micerr_event(struct ar6_softc
*ar
, A_UINT8 keyid
,
41 void ar6000_bitrate_rx(void *devt
, A_INT32 rateKbps
);
42 void ar6000_channelList_rx(void *devt
, A_INT8 numChan
, A_UINT16
*chanList
);
43 void ar6000_regDomain_event(struct ar6_softc
*ar
, A_UINT32 regCode
);
44 void ar6000_txPwr_rx(void *devt
, A_UINT8 txPwr
);
45 void ar6000_keepalive_rx(void *devt
, A_UINT8 configured
);
46 void ar6000_neighborReport_event(struct ar6_softc
*ar
, int numAps
,
47 WMI_NEIGHBOR_INFO
*info
);
48 void ar6000_set_numdataendpts(struct ar6_softc
*ar
, A_UINT32 num
);
49 void ar6000_scanComplete_event(struct ar6_softc
*ar
, A_STATUS status
);
50 void ar6000_targetStats_event(struct ar6_softc
*ar
, WMI_TARGET_STATS
*pStats
);
51 void ar6000_rssiThreshold_event(struct ar6_softc
*ar
,
52 WMI_RSSI_THRESHOLD_VAL newThreshold
,
54 void ar6000_reportError_event(struct ar6_softc
*, WMI_TARGET_ERROR_VAL errorVal
);
55 void ar6000_cac_event(struct ar6_softc
*ar
, A_UINT8 ac
, A_UINT8 cac_indication
,
56 A_UINT8 statusCode
, A_UINT8
*tspecSuggestion
);
57 void ar6000_hbChallengeResp_event(struct ar6_softc
*, A_UINT32 cookie
, A_UINT32 source
);
59 ar6000_roam_tbl_event(struct ar6_softc
*ar
, WMI_TARGET_ROAM_TBL
*pTbl
);
62 ar6000_roam_data_event(struct ar6_softc
*ar
, WMI_TARGET_ROAM_DATA
*p
);
65 ar6000_wow_list_event(struct ar6_softc
*ar
, A_UINT8 num_filters
,
66 WMI_GET_WOW_LIST_REPLY
*wow_reply
);
68 void ar6000_pmkid_list_event(void *devt
, A_UINT8 numPMKID
,
69 WMI_PMKID
*pmkidList
);
71 void ar6000_gpio_intr_rx(A_UINT32 intr_mask
, A_UINT32 input_values
);
72 void ar6000_gpio_data_rx(A_UINT32 reg_id
, A_UINT32 value
);
73 void ar6000_gpio_ack_rx(void);
75 void ar6000_dbglog_init_done(struct ar6_softc
*ar
);
77 #ifdef SEND_EVENT_TO_APP
78 void ar6000_send_event_to_app(struct ar6_softc
*ar
, A_UINT16 eventId
, A_UINT8
*datap
, int len
);
81 #ifdef CONFIG_HOST_TCMD_SUPPORT
82 void ar6000_tcmd_rx_report_event(void *devt
, A_UINT8
* results
, int len
);
85 void ar6000_tx_retry_err_event(void *devt
);
87 void ar6000_snrThresholdEvent_rx(void *devt
,
88 WMI_SNR_THRESHOLD_VAL newThreshold
,
91 void ar6000_lqThresholdEvent_rx(void *devt
, WMI_LQ_THRESHOLD_VAL range
, A_UINT8 lqVal
);
94 void ar6000_ratemask_rx(void *devt
, A_UINT16 ratemask
);
96 A_STATUS
ar6000_get_driver_cfg(struct net_device
*dev
,
99 void ar6000_bssInfo_event_rx(struct ar6_softc
*ar
, A_UINT8
*data
, int len
);
101 void ar6000_dbglog_event(struct ar6_softc
*ar
, A_UINT32 dropped
,
102 A_INT8
*buffer
, A_UINT32 length
);
104 int ar6000_dbglog_get_debug_logs(struct ar6_softc
*ar
);
106 void ar6000_indicate_tx_activity(void *devt
, A_UINT8 trafficClass
, A_BOOL Active
);
108 void ar6000_dset_open_req(void *devt
,
110 A_UINT32 targ_handle
,
111 A_UINT32 targ_reply_fn
,
112 A_UINT32 targ_reply_arg
);
113 void ar6000_dset_close(void *devt
, A_UINT32 access_cookie
);
114 void ar6000_dset_data_req(void *devt
,
115 A_UINT32 access_cookie
,
119 A_UINT32 targ_reply_fn
,
120 A_UINT32 targ_reply_arg
);