| 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 |
| 129 | |