📄 ar6000_cs.h
字号:
/* * Copyright (c) 2004-2006 Atheros Communications Inc. * * Wireless Network driver for Atheros AR6001 * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation; * * Software distributed under the License is distributed on an "AS * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or * implied. See the License for the specific language governing * rights and limitations under the License. * * */#ifndef _AR6000_CS_H_#define _AR6000_CS_H_#include "../include/athdefs.h"#include "../include/athtypes.h"#include "../include/osapi.h"typedef struct _CF_PNP_INFO_ { A_UINT16 CF_ManufacturerCode; /* JEDEC Code */ A_UINT16 CF_ManufacturerID; /* manf-specific ID */ A_UINT8 CF_FunctionNo; /* function number 1-7 */ A_UINT8 CF_FunctionClass; /* function class */} CF_PNP_INFO, *PCF_PNP_INFO;//Forward decltypedef struct _CFFUNCTION_ *PCFFUNCTION;typedef struct _CFREQUEST_ *PCFREQUEST;typedef void * PCFDEVICE;typedef A_INT32 CF_STATUS;#define CF_SUCCESS(status) ((CF_STATUS)(status) >= 0)#define CF_STATUS_SUCCESS 0#define CF_STATUS_ERROR -1/* Structure used by the upper layer to register itself with the* device driver.*/typedef struct _CFFUNCTION_ { A_UCHAR *pName; /* name of registering driver */ A_UINT8 MaxDevices; /* maximum number of devices supported by this function */ A_UINT8 NumDevices; /* number of devices supported by this function */ /* callback functions provided by the Upper layer module to the driver. */ A_BOOL (*pProbe)(struct _CFFUNCTION_ *pFunction, PCFDEVICE pDevice); void (*pRemove)(struct _CFFUNCTION_ *pFunction, PCFDEVICE pDevice); /* Currently Unused CF_STATUS (*pSuspend)(struct _CFFUNCTION *pFunction, CFPOWER_STATE state); CF_STATUS (*pResume)(struct _CFFUNCTION *pFunction); CF_STATUS (*pWake) (struct _CFFUNCTION *pFunction, CFPOWER_STATE state, BOOL enable); */ /* Cookie for the upper layer. */ void * pContext; PCF_PNP_INFO pIds; //NULL terminated list of PNP info. struct _CFFUNCTION_ *next; //hanger for the Func ctx list maintained by bus drv.} CFFUNCTION;/* CFREQUEST request flags */typedef A_UINT8 CFREQUEST_FLAGS;/* write operation */#define CFREQ_FLAGS_DATA_WRITE 0x01#define CFREQ_FLAGS_FIXED_ADDRESS 0x02typedef struct _CFREQUEST_ { void * pDataBuffer; /* starting address of buffer */ A_UINT32 address; /* address to which data has to be written */ A_UINT32 length; /* length of data to be written */ CFREQUEST_FLAGS Flags; void * pCompleteContext; /* completion context */ CF_STATUS Status; /* completion status */ struct _CFFUNCTION* pFunction; /* function driver that generated request (internal use)*/}CFREQUEST;typedef void (*pIsrHandler)(void *, A_BOOL *);typedef void (*pDsrHandler)(unsigned long);/* API function prototypes */CF_STATUS CF_RegisterFunction(PCFFUNCTION pFunction);CF_STATUS CF_UnregisterFunction(PCFFUNCTION pFunction);CF_STATUS CF_BusRequest_Word(PCFDEVICE, PCFREQUEST);CF_STATUS CF_BusRequest_Byte(PCFDEVICE, PCFREQUEST);void CF_SetIrqHandler(PCFDEVICE, pIsrHandler, pDsrHandler, void *);void CF_MaskIrqHandler(PCFDEVICE);void CF_UnMaskIrqHandler(PCFDEVICE);#define CFDEVICE_SET_IRQ_HANDLER(pDev,pFn1,pFn2,pContext) \ CF_SetIrqHandler(pDev,pFn1,pFn2,pContext);#define CFDEVICE_CALL_REQUESTW_FUNC(pDev, pReq) \ CF_BusRequest_Word(pDev, pReq)#define CFDEVICE_CALL_REQUESTB_FUNC(pDev, pReq) \ CF_BusRequest_Byte(pDev, pReq)#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -