[s3c24xx] ar6000: use net_device_ops
[openwrt/svn-archive/archive.git] / target / linux / s3c24xx / files-2.6.30 / drivers / ar6000 / ar6000 / ar6xapi_linux.h
1 #ifndef _AR6XAPI_LINUX_H
2 #define _AR6XAPI_LINUX_H
3 /*
4 *
5 * Copyright (c) 2004-2007 Atheros Communications Inc.
6 * All rights reserved.
7 *
8 *
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;
12 *
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.
17 *
18 *
19 *
20 */
21
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25
26 struct ar6_softc;
27
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,
40 A_BOOL ismcast);
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,
53 A_INT16 rssi);
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);
58 void
59 ar6000_roam_tbl_event(struct ar6_softc *ar, WMI_TARGET_ROAM_TBL *pTbl);
60
61 void
62 ar6000_roam_data_event(struct ar6_softc *ar, WMI_TARGET_ROAM_DATA *p);
63
64 void
65 ar6000_wow_list_event(struct ar6_softc *ar, A_UINT8 num_filters,
66 WMI_GET_WOW_LIST_REPLY *wow_reply);
67
68 void ar6000_pmkid_list_event(void *devt, A_UINT8 numPMKID,
69 WMI_PMKID *pmkidList);
70
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);
74
75 void ar6000_dbglog_init_done(struct ar6_softc *ar);
76
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);
79 #endif
80
81 #ifdef CONFIG_HOST_TCMD_SUPPORT
82 void ar6000_tcmd_rx_report_event(void *devt, A_UINT8 * results, int len);
83 #endif
84
85 void ar6000_tx_retry_err_event(void *devt);
86
87 void ar6000_snrThresholdEvent_rx(void *devt,
88 WMI_SNR_THRESHOLD_VAL newThreshold,
89 A_UINT8 snr);
90
91 void ar6000_lqThresholdEvent_rx(void *devt, WMI_LQ_THRESHOLD_VAL range, A_UINT8 lqVal);
92
93
94 void ar6000_ratemask_rx(void *devt, A_UINT16 ratemask);
95
96 A_STATUS ar6000_get_driver_cfg(struct net_device *dev,
97 A_UINT16 cfgParam,
98 void *result);
99 void ar6000_bssInfo_event_rx(struct ar6_softc *ar, A_UINT8 *data, int len);
100
101 void ar6000_dbglog_event(struct ar6_softc *ar, A_UINT32 dropped,
102 A_INT8 *buffer, A_UINT32 length);
103
104 int ar6000_dbglog_get_debug_logs(struct ar6_softc *ar);
105
106 void ar6000_indicate_tx_activity(void *devt, A_UINT8 trafficClass, A_BOOL Active);
107
108 void ar6000_dset_open_req(void *devt,
109 A_UINT32 id,
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,
116 A_UINT32 offset,
117 A_UINT32 length,
118 A_UINT32 targ_buf,
119 A_UINT32 targ_reply_fn,
120 A_UINT32 targ_reply_arg);
121
122
123
124 #ifdef __cplusplus
125 }
126 #endif
127
128 #endif