rtmp.h

来自「Ralink RT61 SoftAP Driver source code. 」· C头文件 代码 · 共 1,769 行 · 第 1/5 页

H
1,769
字号
#endif

    // This soft Rx Antenna Diversity mechanism is used only when user set 
    // RX Antenna = DIVERSITY ON
    SOFT_RX_ANT_DIVERSITY         RxAnt;

    // ----------------------------
    // DEBUG paramerts
    // ----------------------------
    ULONG                   DebugSetting[4];

    RT_802_11_EVENT_TABLE   EventTab;

    PORT_CONFIG             PortCfg;
    RT_802_11_APCLI_TABLE   ApCliTab;
    RT_802_11_WDS_TABLE     WdsTab;

    MAC_TABLE                           MacTab;
	spinlock_t                          MacTabLock;

	BSS_TABLE			ScanTab;     // BSS Table
	ULONG				LastScanTime;     // Record last scan time for issue BSSID_SCAN_LIST
	
	CHAR					BGRssiOffset1;				// Store B/G RSSI#1 Offset value on EEPROM 0x9Ah
	CHAR					BGRssiOffset2;				// Store B/G RSSI#2 Offset value 
	CHAR					ARssiOffset1;				// Store A RSSI#1 Offset value on EEPROM 0x9Ch
	CHAR					ARssiOffset2;				// Store A RSSI#2 Offset value 
	
	struct timer_list       QuickResponeForRateUpTimer;
	BOOLEAN					QuickResponeForRateUpTimerRunning;

	CHAR					DefaultTxAntenna;
	UCHAR					AModeGainValue;						// 11A Gain value

	RT_SIGNAL_STRUC			RTSignal;
	ULONG					ApdPid;

	UCHAR					dfstest;

	BOOLEAN                 NeedSwapToLittleEndian;

#ifdef RALINK_ATE
	ATE_INFO				ate;
#endif	// RALINK_ATE

#ifdef THREAD_ISR
	UINT					Rtmp_Masked_Int;	/* global interrupt mask */

	struct tasklet_struct 	rx_done_task;
	struct tasklet_struct 	tx_done_task;
	struct tasklet_struct 	mgmt_done_task;
	struct tasklet_struct 	ac0_dma_done_task;
	struct tasklet_struct 	ac1_dma_done_task;
	struct tasklet_struct 	ac2_dma_done_task;
	struct tasklet_struct 	ac3_dma_done_task;
	struct tasklet_struct 	hcca_dma_done_task;

	BOOLEAN					rx_done_running;
	BOOLEAN					tx_done_running;
	BOOLEAN					mgmt_done_running;
	BOOLEAN					ac0_dma_done_running;
	BOOLEAN					ac1_dma_done_running;
	BOOLEAN					ac2_dma_done_running;
	BOOLEAN					ac3_dma_done_running;
	BOOLEAN					hcca_dma_done_running;

	BOOLEAN					Rx_Early_Done;
#endif /* THREAD_ISR */
}   RTMP_ADAPTER, *PRTMP_ADAPTER;

//
// SHA context
// for GPL md5 use
/*
typedef struct
{
    ULONG       H[5];
    ULONG       W[80];
    INT         lenW;
    ULONG       sizeHi, sizeLo;
}   SHA_CTX;
*/

//
// Enable & Disable NIC interrupt via writing interrupt mask register
// Since it use ADAPTER structure, it have to be put after structure definition.
//
VOID    NICDisableInterrupt(
    IN  PRTMP_ADAPTER   pAdapter);

VOID    NICEnableInterrupt(
    IN  PRTMP_ADAPTER   pAdapter,
    IN	UINT32			int_mask);

NDIS_STATUS NICLoadFirmware(
    IN  PRTMP_ADAPTER   pAdapter);

BOOLEAN NICCheckForHang(
    IN  PRTMP_ADAPTER   pAd);

VOID NICUpdateRawCounters(
    IN  PRTMP_ADAPTER   pAdapter);

INT     RT61_close(
    IN  struct net_device *net_dev);

#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)
irqreturn_t RTMPIsr(
    IN  INT             irq, 
    IN  VOID            *dev_instance, 
    IN  struct pt_regs  *rgs);
#else
VOID    RTMPIsr(
    IN  INT             irq, 
    IN  VOID            *dev_instance, 
    IN  struct pt_regs  *rgs);
#endif

INT     RT61_open(
    IN  struct net_device *net_dev);

INT     RTMPSendPackets(
    IN  struct sk_buff *skb, 
    IN  struct net_device *net_dev);

INT     RT61_probe(
    IN  struct pci_dev              *pPci_Dev, 
    IN  const struct pci_device_id  *ent);

INT     RT61_ioctl(
    IN  struct net_device   *net_dev, 
    IN  OUT struct ifreq    *rq, 
    IN  INT                 cmd);

VOID RT61_Init_MSSID(
	IN	PRTMP_ADAPTER	pAd,
	IN	struct net_device *net_dev);

VOID RT61_Init_WDS(
	IN	PRTMP_ADAPTER	pAd,
	IN	struct net_device *net_dev);

VOID RT61_Init_APCLI(
	IN	PRTMP_ADAPTER	pAd,
	IN	struct net_device *net_dev);

INT	VirtualIF_open(
	IN	struct net_device *dev);

INT	VirtualIF_close(
	IN	struct net_device *dev);

INT VirtualIF_ioctl(
	IN	struct net_device   *net_dev,
	IN	struct ifreq        *rq, 
	IN	INT                 cmd);

INT	VirtualIFSendPackets(
	IN	struct sk_buff      *skb, 
	IN	struct net_device   *net_dev);

struct net_device_stats *VirtualIF_get_ether_stats(
	IN	struct net_device *net_dev);

VOID    RTMPRingCleanUp(
    IN  PRTMP_ADAPTER   pAdapter,
    IN  UCHAR           RingType);

#if WIRELESS_EXT >= 12
struct iw_statistics *RT61_get_wireless_stats(
    IN  struct net_device *net_dev);
#endif

struct net_device_stats *RT61_get_ether_stats(
    IN  struct net_device *net_dev);

VOID    RT61_set_rx_mode(
    IN  struct net_device *net_dev);

VOID REPORT_ETHERNET_FRAME_TO_LLC(
	IN	PRTMP_ADAPTER	pAd, 
	IN	PUCHAR			p8023hdr,
	IN	PUCHAR			pData,
	IN	ULONG			DataSize,
	IN	struct net_device	*net_dev);

VOID REPORT_ETHERNET_FRAME_TO_LLC_WITH_NON_COPY(
	IN	PRTMP_ADAPTER	pAd, 
	IN	PUCHAR			p8023hdr,
	IN	PUCHAR			pData,
	IN	ULONG			DataSize,
	IN	struct net_device	*net_dev);

NDIS_STATUS RTMPAllocAdapterBlock(
    IN	PRTMP_ADAPTER   pAdapter);

NDIS_STATUS RTMPAllocDMAMemory(
    IN  PRTMP_ADAPTER   pAd);

VOID    RTMPFreeDMAMemory(
    IN  PRTMP_ADAPTER   pAd);

VOID    NICReadEEPROMParameters(
    IN  PRTMP_ADAPTER       pAdapter);

VOID    NICInitAsicFromEEPROM(
    IN  PRTMP_ADAPTER       pAdapter);

VOID    NICInitTxRxRingAndBacklogQueue(
    IN  PRTMP_ADAPTER   pAdapter);

NDIS_STATUS	NICInitializeAdapter(
    IN  PRTMP_ADAPTER   pAdapter);

VOID    NICInitializeAsic(
    IN  PRTMP_ADAPTER   pAdapter);

VOID    NICIssueReset(
    IN  PRTMP_ADAPTER   pAdapter);

VOID	PortCfgInit(
	IN	PRTMP_ADAPTER pAdapter);

VOID    NICResetFromError(
    IN  PRTMP_ADAPTER   pAdapter);

PUCHAR  RTMPFindSection(
    IN  PCHAR   buffer);

INT RTMPGetKeyParameter(
    IN  PCHAR   key,
    OUT PCHAR   dest,   
    IN  INT     destsize,
    IN  PCHAR   buffer);

VOID    RTMPReadParametersFromFile(
    IN  PRTMP_ADAPTER   pAd);
    
ULONG   RTMPEqualMemory(
    IN  PVOID   pSrc1,
    IN  PVOID   pSrc2,
    IN  ULONG   Length);

ULONG   RTMPCompareMemory(
    IN  PVOID   pSrc1,
    IN  PVOID   pSrc2,
    IN  ULONG   Length);

VOID    NdisZeroMemory(
    IN  PVOID   pSrc,
    IN  ULONG   Length);

VOID    NdisMoveMemory(
    OUT PVOID   pDest,
    IN  PVOID   pSrc,
    IN  ULONG   Length);

VOID AtoH(
	IN CHAR		*src,
	OUT UCHAR	*dest,
	IN INT		destlen);

UCHAR BtoH(
	IN CHAR		ch);

VOID RTMPSetLED(
	IN PRTMP_ADAPTER 	pAd, 
	IN UCHAR			Status);

VOID	RTMPBuildDesireRate(
	IN PRTMP_ADAPTER 	pAd,
	IN UCHAR			apidx,
	IN UCHAR			rate);

VOID RTMPPrepareRadarDetectParams(
	IN PRTMP_ADAPTER	pAd);

//
// Private routines in rtmp_data.c
//
VOID    RTMPHandleRxDoneInterrupt(
    IN  PRTMP_ADAPTER   pAdapter);

VOID	RTMPHandleTxDoneInterrupt(
	IN	PRTMP_ADAPTER	pAdapter);

VOID    RTMPHandleTxRingDmaDoneInterrupt(
	IN	PRTMP_ADAPTER	pAdapter,
	IN  INT_SOURCE_CSR_STRUC TxRingBitmap);

VOID	RTMPHandleMgmtRingDmaDoneInterrupt(
	IN	PRTMP_ADAPTER	pAdapter);

NDIS_STATUS RTMPSendPacket(
    IN  PRTMP_ADAPTER   pAdapter,
    IN  struct sk_buff *skb);
    
 VOID    RTMPDeQueuePacket(
    IN  PRTMP_ADAPTER   pAdapter,
    IN  BOOLEAN			bMoreData,
    IN	BOOLEAN			bIntContext);

NDIS_STATUS	RTMPFreeTXDRequest(
	IN	PRTMP_ADAPTER	pAdapter,
	IN	UCHAR			RingType,
	IN	UCHAR			NumberRequired,
    IN 	PUCHAR          FreeNumberIs);

NDIS_STATUS	MlmeHardTransmit(
	IN	PRTMP_ADAPTER	pAdapter,
	IN  struct sk_buff	*pPacket);

USHORT  RTMPCalcDuration(
    IN  PRTMP_ADAPTER   pAdapter,
    IN  UCHAR           Rate,
    IN  ULONG           Size);

#ifdef APCLI_SUPPORT
VOID	RTMPCheckRates(
	IN PRTMP_ADAPTER  pAd,
	IN OUT UCHAR      SupRate[],
	IN OUT UCHAR      *SupRateLen);
#endif

VOID	RTMPWriteTxDescriptor(
    IN  PRTMP_ADAPTER pAd,
	IN	PTXD_STRUC	pSourceTxD,
	IN	UCHAR		CipherAlg,
	IN  UCHAR       KeyTable,
	IN  UCHAR       KeyIdx,
	IN	BOOLEAN		Ack,
	IN	BOOLEAN		Fragment,
	IN  BOOLEAN     InsTimestamp,
	IN	UCHAR		RetryMode,
	IN	UCHAR		Ifs,
	IN	UINT		Rate,
//	IN	UCHAR		Service,
	IN	ULONG		Length,
	IN  UCHAR       AccessCategory,
	IN  UCHAR       PID,
	IN  struct sk_buff  *pSkb,
	IN  struct sk_buff  *pNextSkb,
	IN  BOOLEAN     bWmmCapable,
	IN  BOOLEAN     bPiggyBack,
	IN	BOOLEAN		bAfterRTSCTS,
	IN	BOOLEAN		bBurstMode);

BOOLEAN RTMPSearchTupleCache(
    IN  PRTMP_ADAPTER   pAdapter,
    IN  PHEADER_802_11  pHeader);

VOID    RTMPUpdateTupleCache(

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?