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

📄 ssx31bdrv.h

📁 海思KEY驱动
💻 H
📖 第 1 页 / 共 2 页
字号:
typedef struct tagSSX31BBasicRD
{
    ULONG ulFlag:8,
    	  ulOpCode:8,
	ulStatus:16;


    ULONG ulInputContext;

    ULONG ulInputLength:20,
    	  ulReserve1:6,
    	  ulGatherEnable:1,
	ulInputNum:5;



    ULONG ulOutputContext;

    ULONG ulOutputLength:20,
    	  ulReserve2:6,
    	  ulScatterEnable:1,
	 ulOutputNum:5;

    ULONG ulID;

}SSX31B_BASIC_RD;
#endif
#define SSX31B_BASIC_RD_LENGTH sizeof(SSX31B_BASIC_RD)
/*********************************************************pke**************************/
#ifdef BIG_ENDIAN

typedef struct tagSSX31BPkeBD
{
    ULONG ulReserve:16,
    	  ulOpCode:8,
    	  ulFlag:8;

    ULONG ulInputContext;

    ULONG ulInputNum:5,
    	  ulGatherEnable:1,
    	  ulReserve1:6,
    	  ulInputLength:20;

    ULONG ulOutputContext;

    ULONG ulOutputNum:5,
    	  ulScatterEnable:1,
    	  ulOutputLength1:10,
    	  ulOutputLength0:16;

    ULONG ulID;

}SSX31B_PKE_BD;
#else
typedef struct tagSSX31BPkeBD
{
    ULONG ulFlag:8,
	ulOpCode:8,
	ulReserve:16;
    

    ULONG ulInputContext;

    ULONG ulInputLength:20,
	ulReserve1:6,
	ulGatherEnable:1,
	ulInputNum:5;

    ULONG ulOutputContext;

    ULONG ulOutputLength0:16,
    	  ulOutputLength1:10,
    	  ulScatterEnable:1,
	ulOutputNum:5;
    
    ULONG ulID;

}SSX31B_PKE_BD;
#endif
#define SSX31B_PKE_BD_LENGTH sizeof(SSX31B_PKE_BD)



#ifdef BIG_ENDIAN
typedef struct tagSSX31BPkeRD
{
    ULONG ulStatus:16,
    	  ulOpCode:8,
    	  ulFlag:8;

    ULONG ulInputContext;

    ULONG ulInputNum:5,
    	  ulGatherEnable:1,
    	  ulReserve1:6,
    	  ulInputLength:20;

    ULONG ulOutputContext;

    ULONG ulOutputNum:5,
    	  ulScatterEnable:1,
    	  ulOutputLength1:10,
    	  ulOutputLength0:16;

    ULONG ulID;

}SSX31B_PKE_RD;
#else
typedef struct tagSSX31BPkeRD
{
    ULONG ulFlag:8,
    	  ulOpCode:8,
	ulStatus:16;


    ULONG ulInputContext;

    ULONG ulInputLength:20,
    	  ulReserve1:6,
    	  ulGatherEnable:1,
	ulInputNum:5;



    ULONG ulOutputContext;

    ULONG ulOutputLength0:16,
    	  ulOutputLength1:10,
    	  ulScatterEnable:1,
	 ulOutputNum:5;

    ULONG ulID;

}SSX31B_PKE_RD;
#endif
#define SSX31B_PKE_RD_LENGTH sizeof(SSX31B_PKE_RD)



#ifdef BIG_ENDIAN
/* input context descriptor */
typedef struct tagSSX31BPKEICD
{
    ULONG ulInputPtr;
    ULONG ulInputAttrib:8,
    	  ulOrig:8,
    	  ulInputLen:16;
}SSX31B_PKE_ICD;
#else
typedef struct tagSSX31BPKEICD
{
    ULONG ulInputPtr;
    ULONG ulInputLen:16,
    	  ulOrig:8,
	  ulInputAttrib:8;
}SSX31B_PKE_ICD;
#endif
#define SSX31B_PKE_ICD_LENGTH sizeof(SSX31B_PKE_ICD)

#ifdef BIG_ENDIAN
/* output context descriptor */
typedef struct tagSSX31BPKEOcd
{
    ULONG ulOutputPtr;
    ULONG ulOutputAttrib:8,
    	  ulOrig:8,
    	  ulOutputLen:16;
}SSX31B_PKE_OCD;
#else
typedef struct tagSSX31BPKEOcd
{
    ULONG ulOutputPtr;
    ULONG ulOutputLen:16,
    	  ulOrig:8,
	  ulOutputAttrib:8;
}SSX31B_PKE_OCD;
#endif
#define SSX31B_PKE_OCD_LENGTH sizeof(SSX31B_PKE_OCD)




/*********************************************************pke**************************/


#ifdef BIG_ENDIAN
typedef struct tagSSX31BIPSecBD
{
    ULONG ulReserve:16,
    	  ulOpCode:8,
    	  ulFlag:8;

    ULONG ulInputContext;

    ULONG ulInputNum:5,
    	  ulGatherEnable:1,
    	  ulReserve1:6,
    	  ulInputLength:20;

    ULONG ulOutputContext;

    ULONG ulOutputNum:5,
    	  ulScatterEnable:1,
    	  ulReserve2:6,
    	  ulOutputLength:20;

    ULONG ulID;

    
    ULONG ulMBufPtr;
    ULONG ulOrigBuf;
   
}SSX31B_IPSEC_BD;
#else
typedef struct tagSSX31BIPSecBD
{
    ULONG ulFlag:8,
	ulOpCode:8,
	ulReserve:16;


    ULONG ulInputContext;

    ULONG ulInputLength:20,
	ulReserve1:6,
	ulGatherEnable:1,
	ulInputNum:5;

    ULONG ulOutputContext;

    ULONG ulOutputLength:20,
	ulReserve2:6,
	ulScatterEnable:1,
	ulOutputNum:5;

    ULONG ulID;

    
    ULONG ulMBufPtr;
    ULONG ulOrigBuf;

}SSX31B_IPSEC_BD;

#endif
#define SSX31B_IPSEC_BD_LENGTH sizeof(SSX31B_IPSEC_BD)



#ifdef BIG_ENDIAN
typedef struct tagSSX31BIPSecRD
{
    ULONG ulStatus:16,
    	  ulOpCode:8,
    	  ulFlag:8;

    ULONG ulInputContext;

    ULONG ulInputNum:5,
    	  ulGatherEnable:1,
    	  ulReserve1:6,
    	  ulInputLength:20;

    ULONG ulOutputContext;

    ULONG ulOutputNum:5,
    	  ulScatterEnable:1,
    	  ulReserve2:6,
    	  ulOutputLength:20;

    ULONG ulID;

    
    ULONG ulMBufPtr; 
    ULONG ulOrigBuf; 
   
}SSX31B_IPSEC_RD;
#else
typedef struct tagSSX31BIPSecRD
{
    ULONG  ulFlag:8,
	ulOpCode:8,
	ulStatus:16;


    ULONG ulInputContext;

    ULONG ulInputLength:20,
	ulReserve1:6,
	ulGatherEnable:1,
	ulInputNum:5;

    ULONG ulOutputContext;

    ULONG ulOutputLength:20,
	ulReserve2:6,
	ulScatterEnable:1,
	ulOutputNum:5;

    ULONG ulID;

    
    ULONG ulMBufPtr; 
    ULONG ulOrigBuf; 

}SSX31B_IPSEC_RD;
#endif
#define SSX31B_IPSEC_RD_LENGTH sizeof(SSX31B_IPSEC_RD)




typedef struct tagSSX31Bdrvctrl
{

    struct pci_dev * pPciDev;
    ULONG phymembase;

    CHAR      pchName[50];    


    ULONG     ulPciMemBase;           

    ULONG     ulMemBase;              

    ULONG     ulIPSecBDMemBase;       
    ULONG     ulIPSecBDDescs;         
    ULONG     ulFreeIPSecBDs;         
    ULONG     ulCurrIPSecBdWritePtr;  
    ULONG     ulCurrIPSecBdReadPtr;   

    ULONG     ulIPSecRDMemBase;       
    ULONG     ulIPSecRDDescs;         
    ULONG     ulFreeIPSecRDs;         
    ULONG     ulCurrIPSecRdReadPtr;   
    ULONG     ulCurrIPSecRdWritePtr;  

    ULONG     ulSaBDMemBase;          
    ULONG     ulSaBDDescs;            
    ULONG     ulFreeSaBDs;            
    ULONG     ulCurrSaBdWritePtr;     
    ULONG     ulCurrSaBdReadPtr;      

    ULONG     ulSaRDMemBase;          
    ULONG     ulSaRDDescs;            
    ULONG     ulFreeSaRDs;            
    ULONG     ulCurrSaRdReadPtr;      
    ULONG     ulCurrSaRdWritePtr;     
    
    ULONG     ulPkeBDMemBase;         
    ULONG     ulPkeBDDescs;           
    ULONG     ulFreePkeBDs;           
    ULONG     ulCurrPkeBdWritePtr;    
    ULONG     ulCurrPkeBdReadPtr;     

    ULONG     ulPkeRDMemBase;         
    ULONG     ulPkeRDDescs;           
    ULONG     ulFreePkeRDs;           
    ULONG     ulCurrPkeRdReadPtr;     
    ULONG     ulCurrPkeRdWritePtr;    
    
    
    
    
    

    SSX31B_ICD*  pstGather;           
    ULONG     ulCtrlWordMemBase;      

    ULONG ulIPSecPerfCnt; 
    ULONG ulIPSecPerfErrCnt;



    ULONG     ulOutSSX31BPkts;        
    ULONG     ulOutSSX31BBytes;       
       
    ULONG     ulInSSX31BPkts;         
    ULONG     ulInSSX31BBytes;        

    ULONG     ulLastOutSSX31BBytes;   
    ULONG     ulLastOutSSX31BPkts;    

    ULONG     ulLastInSSX31BBytes;    
    ULONG     ulLastInSSX31BPkts;     

    ULONG     ulOutSSX31BByteRate;    
    ULONG     ulOutSSX31BPacketRate;  
    
    ULONG     ulInSSX31BByteRate;     
    ULONG     ulInSSX31BPacketRate;   

    ULONG     ulTmtDone;              
    ULONG     ulTmtSADone;            
    ULONG     ulTmtPKEDone;
    ULONG     ulTmtErr;               
    ULONG     ulTmtTypeErr;           
    ULONG     ulTmtBDFullErr;         
    ULONG     ulTmtCall;              
    ULONG     ulAssembleFrmErr;       
    ULONG     ulScatterSliceErr;      
    ULONG     ulGatherSliceErr;       
    
    
    ULONG     ulIntCounter;           
    
    
    ULONG     ulPktSPIErr;            
    ULONG     ulPktICVErr;            
    ULONG     ulPktSeqNumErr;         
    ULONG     ulPktProcTimeoutErr;    
    ULONG     ulPktUnkownIPHeadErr;   
    ULONG     ulPktFrgSegErr;         
    ULONG     ulPktLenDismatchErr;    
                                      
    ULONG     ulPktBDLengErr;         
    ULONG     ulPktStuctErr;          
    ULONG     ulPktPadErr;            
    ULONG     ulAlignErr;             
    ULONG     ulOperCodeErr;          

    
    ULONG     ulHwFlowExpireErr;      
    ULONG     ulInvalidSAErr;         

    
    ULONG     ulSoftFlowExpireErr;    

/*toyarm*/
    ULONG     ulMemBase_dmaaddr;
    ULONG     ulIPSecBDMemBase_dmaaddr;       
    ULONG     ulIPSecRDMemBase_dmaaddr;       
    ULONG     ulSaBDMemBase_dmaaddr;     
    ULONG     ulSaRDMemBase_dmaaddr;
    ULONG     ulPkeBDMemBase_dmaaddr;             
    ULONG     ulPkeRDMemBase_dmaaddr;             
    SSX31B_ICD*  pstGather_dmaaddr;               
    ULONG     ulCtrlWordMemBase_dmaaddr;      
    ULONG    ulMemSize,ulGatherSize,ulCtrlWordSize;
} SSX31BDRV_CTRL;

#endif

⌨️ 快捷键说明

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