⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 desc.h

📁 VIA VT6655 x86下的Linux Source Code
💻 H
📖 第 1 页 / 共 2 页
字号:
} __attribute__ ((__packed__))
STDES0;

#endif


typedef struct tagTDES1 {
    volatile    WORD    wReqCount;
    volatile    BYTE    byTCR;
    volatile    BYTE    byReserved;
} __attribute__ ((__packed__))
STDES1;


typedef struct tagDEVICE_TD_INFO{
    struct sk_buff*     skb;
    PBYTE               buf;
    dma_addr_t          skb_dma;
    dma_addr_t          buf_dma;
    dma_addr_t          curr_desc;
    DWORD               dwReqCount;
    DWORD               dwHeaderLength;
    BYTE                byFlags;
} DEVICE_TD_INFO,    *PDEVICE_TD_INFO;

/*
static inline PDEVICE_TD_INFO alloc_td_info(void) {
    PDEVICE_TD_INFO  ptr;
    if ((ptr = kmalloc(sizeof(DEVICE_TD_INFO),GFP_ATOMIC))==NULL)
        return NULL;
    else {
        memset(ptr,0,sizeof(DEVICE_TD_INFO));
        return ptr;
    }
}
*/

//
// transmit descriptor
//
typedef struct tagSTxDesc {
    volatile    STDES0  m_td0TD0;
    volatile    STDES1  m_td1TD1;    
    volatile    U32    buff_addr;
    volatile    U32    next_desc; 
    struct tagSTxDesc*  next; //4 bytes       
    volatile    PDEVICE_TD_INFO pTDInfo;//4 bytes
    volatile    U32    Reserved[2];//8 bytes    
} __attribute__ ((__packed__))  
STxDesc, DEF* PSTxDesc;
typedef const STxDesc DEF*      PCSTxDesc;


typedef struct tagSTxSyncDesc {
    volatile    STDES0  m_td0TD0;
    volatile    STDES1  m_td1TD1;
    volatile    DWORD   buff_addr; // pointer to logical buffer
    volatile    DWORD   next_desc; // pointer to next logical descriptor
    volatile    WORD    m_wFIFOCtl;
    volatile    WORD    m_wTimeStamp;
    struct tagSTxSyncDesc*  next; //4 bytes       
    volatile    PDEVICE_TD_INFO pTDInfo;//4 bytes    
    volatile    DWORD   m_dwReserved2;
} __attribute__ ((__packed__))  
STxSyncDesc, DEF* PSTxSyncDesc;
typedef const STxSyncDesc DEF*      PCSTxSyncDesc;


//
// RsvTime buffer header
//
typedef struct tagSRrvTime_gRTS {
    WORD        wRTSTxRrvTime_ba;
    WORD        wRTSTxRrvTime_aa;
    WORD        wRTSTxRrvTime_bb;
    WORD        wReserved;
    WORD        wTxRrvTime_b;
    WORD        wTxRrvTime_a;
}__attribute__ ((__packed__))  
SRrvTime_gRTS, DEF* PSRrvTime_gRTS;
typedef const SRrvTime_gRTS DEF*     PCSRrvTime_gRTS;

typedef struct tagSRrvTime_gCTS {
    WORD        wCTSTxRrvTime_ba;
    WORD        wReserved;
    WORD        wTxRrvTime_b;
    WORD        wTxRrvTime_a;
}__attribute__ ((__packed__))      
SRrvTime_gCTS, DEF* PSRrvTime_gCTS;
typedef const SRrvTime_gCTS DEF*     PCSRrvTime_gCTS;

typedef struct tagSRrvTime_ab {
    WORD        wRTSTxRrvTime;
    WORD        wTxRrvTime;
}__attribute__ ((__packed__))      
SRrvTime_ab, DEF* PSRrvTime_ab;
typedef const SRrvTime_ab DEF*     PCSRrvTime_ab;

typedef struct tagSRrvTime_atim {
    WORD        wCTSTxRrvTime_ba;
    WORD        wTxRrvTime_a;
}__attribute__ ((__packed__))      
SRrvTime_atim, DEF* PSRrvTime_atim;
typedef const SRrvTime_atim DEF*     PCSRrvTime_atim;

//
// RTS buffer header
//
typedef struct tagSRTSData {
    WORD    wFrameControl;
    WORD    wDurationID;
    BYTE    abyRA[U_ETHER_ADDR_LEN];
    BYTE    abyTA[U_ETHER_ADDR_LEN];
}__attribute__ ((__packed__))      
SRTSData, DEF* PSRTSData;
typedef const SRTSData DEF*      PCSRTSData;

typedef struct tagSRTS_g {
    BYTE        bySignalField_b;
    BYTE        byServiceField_b;
    WORD        wTransmitLength_b;
    BYTE        bySignalField_a;
    BYTE        byServiceField_a;
    WORD        wTransmitLength_a;
    WORD        wDuration_ba;
    WORD        wDuration_aa;
    WORD        wDuration_bb;
    WORD        wReserved;
    SRTSData    Data;
}__attribute__ ((__packed__))      
SRTS_g, DEF* PSRTS_g;
typedef const SRTS_g DEF*     PCSRTS_g;


typedef struct tagSRTS_g_FB {
    BYTE        bySignalField_b;
    BYTE        byServiceField_b;
    WORD        wTransmitLength_b;
    BYTE        bySignalField_a;    
    BYTE        byServiceField_a;    
    WORD        wTransmitLength_a;
    WORD        wDuration_ba;
    WORD        wDuration_aa;
    WORD        wDuration_bb;
    WORD        wReserved;
    WORD        wRTSDuration_ba_f0;
    WORD        wRTSDuration_aa_f0;
    WORD        wRTSDuration_ba_f1;
    WORD        wRTSDuration_aa_f1;
    SRTSData    Data;
}__attribute__ ((__packed__))          
SRTS_g_FB, DEF* PSRTS_g_FB;
typedef const SRTS_g_FB DEF*     PCSRTS_g_FB;


typedef struct tagSRTS_ab {
    BYTE        bySignalField;
    BYTE        byServiceField;
    WORD        wTransmitLength;
    WORD        wDuration;
    WORD        wReserved;
    SRTSData    Data;
}__attribute__ ((__packed__))
SRTS_ab, DEF* PSRTS_ab;
typedef const SRTS_ab DEF*     PCSRTS_ab;


typedef struct tagSRTS_a_FB {
    BYTE        bySignalField;    
    BYTE        byServiceField;    
    WORD        wTransmitLength;    
    WORD        wDuration;    
    WORD        wReserved;
    WORD        wRTSDuration_f0;
    WORD        wRTSDuration_f1;
    SRTSData    Data;
}__attribute__ ((__packed__))    
SRTS_a_FB, DEF* PSRTS_a_FB;
typedef const SRTS_a_FB DEF*     PCSRTS_a_FB;


//
// CTS buffer header
//
typedef struct tagSCTSData {
    WORD    wFrameControl;
    WORD    wDurationID;
    BYTE    abyRA[U_ETHER_ADDR_LEN];
    WORD    wReserved;
}__attribute__ ((__packed__))      
SCTSData, DEF* PSCTSData;

typedef struct tagSCTS {
    BYTE        bySignalField_b;
    BYTE        byServiceField_b;
    WORD        wTransmitLength_b;
    WORD        wDuration_ba;
    WORD        wReserved;
    SCTSData    Data;
}__attribute__ ((__packed__))      
SCTS, DEF* PSCTS;
typedef const SCTS DEF*     PCSCTS;

typedef struct tagSCTS_FB {
    BYTE        bySignalField_b;
    BYTE        byServiceField_b;
    WORD        wTransmitLength_b;
    WORD        wDuration_ba;
    WORD        wReserved;
    WORD        wCTSDuration_ba_f0;
    WORD        wCTSDuration_ba_f1;
    SCTSData    Data;
}__attribute__ ((__packed__))    
SCTS_FB, DEF* PSCTS_FB;
typedef const SCTS_FB DEF*     PCSCTS_FB;


//
// Tx FIFO header
//
typedef struct tagSTxBufHead {
    DWORD   adwTxKey[4];
    WORD    wFIFOCtl;
    WORD    wTimeStamp;
    WORD    wFragCtl;
    BYTE    byTxPower;    
    BYTE    wReserved;
}__attribute__ ((__packed__))          
STxBufHead, DEF* PSTxBufHead;
typedef const STxBufHead DEF*   PCSTxBufHead;

typedef struct tagSTxShortBufHead {
    WORD    wFIFOCtl;
    WORD    wTimeStamp;
}__attribute__ ((__packed__))          
STxShortBufHead, DEF* PSTxShortBufHead;
typedef const STxShortBufHead DEF*   PCSTxShortBufHead;

//
// Tx data header
//
typedef struct tagSTxDataHead_g {
    BYTE    bySignalField_b;
    BYTE    byServiceField_b;
    WORD    wTransmitLength_b;
    BYTE    bySignalField_a;
    BYTE    byServiceField_a;
    WORD    wTransmitLength_a;
    WORD    wDuration_b;
    WORD    wDuration_a;
    WORD    wTimeStampOff_b;
    WORD    wTimeStampOff_a;
}__attribute__ ((__packed__))          
STxDataHead_g, DEF* PSTxDataHead_g;
typedef const STxDataHead_g DEF*  PCSTxDataHead_g;

typedef struct tagSTxDataHead_g_FB {
    BYTE    bySignalField_b;
    BYTE    byServiceField_b;
    WORD    wTransmitLength_b;
    BYTE    bySignalField_a;
    BYTE    byServiceField_a;
    WORD    wTransmitLength_a;
    WORD    wDuration_b;
    WORD    wDuration_a;
    WORD    wDuration_a_f0;
    WORD    wDuration_a_f1;
    WORD    wTimeStampOff_b;
    WORD    wTimeStampOff_a;
}__attribute__ ((__packed__))    
STxDataHead_g_FB, DEF* PSTxDataHead_g_FB;
typedef const STxDataHead_g_FB DEF*  PCSTxDataHead_g_FB;


typedef struct tagSTxDataHead_ab {
    BYTE    bySignalField;
    BYTE    byServiceField;
    WORD    wTransmitLength;
    WORD    wDuration;
    WORD    wTimeStampOff;
}__attribute__ ((__packed__))
STxDataHead_ab, DEF* PSTxDataHead_ab;
typedef const STxDataHead_ab DEF*  PCSTxDataHead_ab;


typedef struct tagSTxDataHead_a_FB {
    BYTE    bySignalField;
    BYTE    byServiceField;
    WORD    wTransmitLength;    
    WORD    wDuration;    
    WORD    wTimeStampOff;
    WORD    wDuration_f0;
    WORD    wDuration_f1;
}__attribute__ ((__packed__))    
STxDataHead_a_FB, DEF* PSTxDataHead_a_FB;
typedef const STxDataHead_a_FB DEF*  PCSTxDataHead_a_FB;

//
// MICHDR data header
//
typedef struct tagSMICHDRHead {
    DWORD   adwHDR0[4];
    DWORD   adwHDR1[4];
    DWORD   adwHDR2[4];
}__attribute__ ((__packed__))
SMICHDRHead, DEF* PSMICHDRHead;
typedef const SMICHDRHead DEF*   PCSMICHDRHead;

typedef struct tagSBEACONCtl {
    DWORD   BufReady : 1;
    DWORD   TSF      : 15;
    DWORD   BufLen   : 11;
    DWORD   Reserved : 5;
}__attribute__ ((__packed__))
SBEACONCtl;


typedef struct tagSSecretKey {
    DWORD   dwLowDword;
    BYTE    byHighByte;
}__attribute__ ((__packed__))    
SSecretKey;

typedef struct tagSKeyEntry {
    BYTE  abyAddrHi[2];
    WORD  wKCTL;
    BYTE  abyAddrLo[4];
    DWORD dwKey0[4];
    DWORD dwKey1[4];
    DWORD dwKey2[4];
    DWORD dwKey3[4];
    DWORD dwKey4[4];
}__attribute__ ((__packed__))    
SKeyEntry;
/*---------------------  Export Macros ------------------------------*/

/*---------------------  Export Classes  ----------------------------*/

/*---------------------  Export Variables  --------------------------*/

/*---------------------  Export Functions  --------------------------*/




#endif // __DESC_H__

⌨️ 快捷键说明

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