d599edcaea
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
94 lines
4.3 KiB
C
94 lines
4.3 KiB
C
/*
|
|
* Copyright (c) 2007-2008 Atheros Communications Inc.
|
|
*
|
|
* Permission to use, copy, modify, and/or distribute this software for any
|
|
* purpose with or without fee is hereby granted, provided that the above
|
|
* copyright notice and this permission notice appear in all copies.
|
|
*
|
|
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
*/
|
|
|
|
#ifndef _PUB_ZFW_H
|
|
#define _PUB_ZFW_H
|
|
|
|
#include "../oal_dt.h"
|
|
|
|
|
|
/* Buffer management */
|
|
#ifdef ZM_ENABLE_BUFFER_DEBUG
|
|
extern zbuf_t* zfwBufAllocateWithContext(zdev_t* dev, u16_t len, u8_t *functionName, ULONG line);
|
|
#define zfwBufAllocate(dev, len) zfwBufAllocateWithContext(dev, len, (u8_t *)__func__, __LINE__)
|
|
#else
|
|
extern zbuf_t* zfwBufAllocate(zdev_t* dev, u16_t len);
|
|
#endif
|
|
extern void zfwBufFree(zdev_t* dev, zbuf_t* buf, u16_t errCode);
|
|
extern u16_t zfwBufChain(zdev_t* dev, zbuf_t** head, zbuf_t* tail);
|
|
extern u16_t zfwBufCopy(zdev_t* dev, zbuf_t* dst, zbuf_t* src);
|
|
extern u16_t zfwBufSetSize(zdev_t* dev, zbuf_t* buf, u16_t size);
|
|
extern u16_t zfwBufRemoveHead(zdev_t* dev, zbuf_t* buf, u16_t size);
|
|
extern u16_t zfwBufGetSize(zdev_t* dev, zbuf_t* buf);
|
|
extern void zfwCopyBufContext(zdev_t* dev, zbuf_t* source, zbuf_t* dest);
|
|
|
|
/* Memory management */
|
|
extern void* zfwMemAllocate(zdev_t* dev, u32_t size);
|
|
extern void zfwMemFree(zdev_t* dev, void* mem, u32_t size);
|
|
extern void zfwMemoryCopy(u8_t* dst, u8_t* src, u16_t length);
|
|
extern void zfwMemoryMove(u8_t* dst, u8_t* src, u16_t length);
|
|
extern void zfwZeroMemory(u8_t* va, u16_t length);
|
|
extern u8_t zfwMemoryIsEqual(u8_t* m1, u8_t* m2, u16_t length);
|
|
|
|
/* Others */
|
|
extern void zfwSleep(zdev_t* dev, u32_t ms);
|
|
extern u16_t zfwGetVapId(zdev_t* dev);
|
|
extern u16_t zfwStaAddIeWpaRsn(zdev_t* dev, zbuf_t* buf, u16_t offset, u8_t frameType);
|
|
extern u32_t zfwWaitForEvent(zdev_t *dev, u32_t event, u32_t timeout);
|
|
extern void zfwSendEvent(zdev_t* dev);
|
|
extern void zfwGetActiveScanDur(zdev_t* dev, u8_t* Dur );
|
|
extern void zfwGetShowZeroLengthSSID(zdev_t* dev, u8_t* Dur );
|
|
/* For debugging */
|
|
extern void zfwDumpBuf(zdev_t* dev, zbuf_t* buf);
|
|
extern void zfwDbgReadRegDone(zdev_t* dev, u32_t addr, u32_t val);
|
|
/* For Evl */
|
|
extern void zfwDbgDownloadFwInitDone(zdev_t* dev);
|
|
extern void zfwDbgReadFlashDone(zdev_t* dev, u32_t addr, u32_t* rspdata, u32_t datalen);
|
|
extern void zfwDbgGetFlashChkSumDone(zdev_t* dev, u32_t* rspdata);
|
|
extern void zfwDbgProgrameFlashDone(zdev_t* dev);
|
|
extern void zfwDbgProgrameFlashChkDone(zdev_t* dev);
|
|
extern void zfwDbgWriteRegDone(zdev_t* dev, u32_t addr, u32_t val);
|
|
extern void zfwDbgWriteEepromDone(zdev_t* dev, u32_t addr, u32_t val);
|
|
extern void zfwDbgReadTallyDone(zdev_t* dev);
|
|
extern void zfwWlanReadRegDone(zdev_t* dev, u32_t addr, u32_t val);
|
|
extern void zfwWlanWriteRegDone(zdev_t* dev, u32_t addr, u32_t val);
|
|
extern void zfwWlanReadTallyDone(zdev_t* dev);
|
|
extern void zfwDbgQueryHwTxBusyDone(zdev_t* dev, u32_t val);
|
|
extern u32_t zfwReadReg(zdev_t* dev, u32_t offset);
|
|
extern u32_t zfwReadEeprom(zdev_t* dev, u32_t addr);
|
|
|
|
/* Reserved for Vista, please return 0 */
|
|
extern u8_t zfwGetPktEncExemptionActionType(zdev_t* dev, zbuf_t* buf);
|
|
|
|
#ifdef ZM_ENABLE_CENC
|
|
/* Reserved for CENC, please return 0 */
|
|
extern u8_t zfwCencHandleBeaconProbrespon(zdev_t* dev, u8_t *pWIEc,
|
|
u8_t *pPeerSSIDc, u8_t *pPeerAddrc);
|
|
#endif //ZM_ENABLE_CENC
|
|
|
|
#ifdef ZM_HALPLUS_LOCK
|
|
extern asmlinkage struct zsWlanDev *zfwGetWlanDev(zdev_t* dev);
|
|
extern asmlinkage void zfwEnterCriticalSection(zdev_t* dev);
|
|
extern asmlinkage void zfwLeaveCriticalSection(zdev_t* dev);
|
|
extern asmlinkage u8_t zfwBufReadByte(zdev_t* dev, zbuf_t* buf, u16_t offset);
|
|
extern asmlinkage u16_t zfwBufReadHalfWord(zdev_t* dev, zbuf_t* buf, u16_t offset);
|
|
extern asmlinkage void zfwBufWriteByte(zdev_t* dev, zbuf_t* buf, u16_t offset, u8_t value);
|
|
extern asmlinkage void zfwBufWriteHalfWord(zdev_t* dev, zbuf_t* buf, u16_t offset, u16_t value);
|
|
extern asmlinkage u8_t *zfwGetBuffer(zdev_t* dev, zbuf_t* buf);
|
|
#endif
|
|
|
|
#endif //_PUB_ZFW_H
|