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 + -
显示快捷键?