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

📄 hsm.h

📁 It is something about net security also.Maybe useful.Hope you like it.
💻 H
📖 第 1 页 / 共 2 页
字号:
/***********************************************************************h*   **   Name:       	hsm.h* *   Description:  	*		HSM related data structures. *  *   Author:  *  *   History:  *  *h*   **********************************************************************/#ifndef _HSM_H#define _HSM_H#include "ga622t.h"/*** Define Constants ***/#ifdef _GA622T_#define 	MAXPRI_ADAPTER		4#define		PRI_QUOTIENT		100#elif _FA31X_#define 	MAXPRI_ADAPTER		1#endif#define 	MAC_ADDR_LEN		6#define 	PROMISCUOUS_ON 					0x1#define 	ACCEPT_ALL_MULTICAST_ON 		0x2#define 	ACCEPT_ALL_BROADCAST_ON 		0x4#define 	MULTICAST_HASH_ENABLE 			0x8#define 	ACCEPT_PERFECT_MATCH_ON 		0x10#define 	ACCEPT_ALL_UNICAST_ON 			0x20#define 	PROMISCUOUS_OFF 				0x40#define 	ACCEPT_ALL_MULTICAST_OFF 		0x80/* *	Defines for descriptor structure. */#define		OWN			0x80000000   /* 31 bit	*/#define		MORE		0x40000000   /* 30 bit	*/#define		INTR		0x20000000   /* 29 bit	*/#define		DESCOK		0x08000000   /* 27 bit	*//* * Transmit Status bit definitions. */#define		TXA			0x04000000   /* 26 bit	*/#define     TFU    		0x02000000   /* 25 bit	*/#define     CRS    		0x01000000   /* 24 bit	*/#define     TD    		0x00800000   /* 23 bit	*/#define     OWC    		0x00200000   /* 21 bit	*/#define     EC     		0x00100000   /* 20 bit	*/#define     CCNT   		0x000F0000   /* 19-16 bit	*//* * Receive Status bit definitions. */#define		RXA			0x04000000   /* 26 bit	*/#define     RXO    		0x02000000   /* 25 bit	*/#define     RXE_DEST   	0x01800000   /* 24 and 23 bit	*/#define     RXE_LONG	0x00400000   /* 22 bit	*/#define     RUNT    	0x00200000   /* 21 bit	*/#define     ISE    		0x00100000   /* 20 bit	*/#define     CRCE   		0x00080000   /* 19 bit	*/#define     FAE   		0x00040000   /* 18 bit	*/#define     LBP   		0x00020000   /* 17 bit	*/#define     COL   		0x00010000   /* 16 bit	*/#define		SUCCESS		0#define		FAILURE		1#define 	OK			SUCCESS#define 	ERROR		FAILURE/* For Indicating check-sum information to the adapter in the extended status*/#define 	UDPPKT 			0x00200000		/* bit 21 */#define 	TCPPKT			0x00080000		/* bit 19 */#define 	IPPKT			0x00020000		/* bit 17 */#define 	UDPERR 			0x00400000		/* bit 22 */#define 	TCPERR 			0x00100000		/* bit 20 */#define 	IPERR 			0x00040000		/* bit 18 */#define 	RXUDPON 		0x00200000		/* bit 21 */#define 	RXTCPON			0x00080000		/* bit 19 */#define 	RXIPON			0x00020000		/* bit 17 *//* *	Defines for the Adapter Status. */#define		ADAPTER_INITIALIZED			0x01#define		ADAPTER_OPEN				0x02#define		ADAPTER_RESETTING			0x04#define		ADAPTER_OPEN_WAITFOR_RESET	0x08#define		LINK_UP						0x10#define		ADAPTER_SLEEPING			0x20#define		ADAPTER_SUSPENDED			0x40/* *	Defines for RCB. */#define		RCB_FREE	0x00#define		RCB_INUSE	0x01#define		RCB_BAD		0x02#define 	MAX_FRAGS 	20#define 	MAX_PKTS 	20#define 	INTR_UNCLAIMED 	0#define 	INTR_CLAIMED 	1#define 	MAX_POWER_PTRN	4	/*	Max. number of pattern allowed	*/#define		MAX_PTRN_SZ		128	/*	Max. Number of bytes for each pattern in 									Pattern buffer memory.	*//* *	Defines for physical capabilities  */#define		TX_CHKSUM_OFFLOAD_ON_GEN	0x00000001#define		TX_CHKSUM_OFFLOAD_OFF_GEN	0x00000002#define		TX_CHKSUM_OFFLOAD_ON_PP		0x00000004#define		TX_CHKSUM_OFFLOAD_OFF_PP	0x00000008#define		SET_RX_CHKSUM_OFFLOAD_ON	0x00000010#define		SET_RX_CHKSUM_OFFLOAD_OFF	0x00000020#define		RX_IP_CHKSUM_DISCARD_ON		0x00000040#define		RX_IP_CHKSUM_DISCARD_OFF	0x00000080#define		RX_TCP_CHKSUM_DISCARD_ON	0x00000100#define		RX_TCP_CHKSUM_DISCARD_OFF	0x00000200#define		RX_UDP_CHKSUM_DISCARD_ON	0x00000400#define		RX_UDP_CHKSUM_DISCARD_OFF	0x00000800/*#define		SET_AUTO_NEG_ON				0x00001000#define		SET_AUTO_NEG_OFF			0x00002000 To set the Auto neg. on/off from the registry*//*Ramit : From Registry *//*#define		SET_AUTO_NEG_ON				AutoNegFlg#define		SET_AUTO_NEG_OFF			AutoNegFlg*/#define		AUTO_NEG_ON					0x00001000#define		AUTO_NEG_OFF				0x00002000#define		SET_WOL_ON					0x00010000#define		SET_WOL_OFF					0x00020000#define		VLAN_TAG_INSERTION_GEN_ON	0x00100000#define		VLAN_TAG_INSERTION_GEN_OFF	0x00200000#define		VLAN_TAG_INSERTION_PP_ON	0x00400000#define		VLAN_TAG_INSERTION_PP_OFF	0x00800000#define		JUMBO_FRAMES_ON				0x01000000#define		JUMBO_FRAMES_OFF			0x02000000#define		BIG_ENDIAN					0x80000000/* * Defines for Send and Receive routines. */#define		RCB_THRESH		((RX_QUEUE_SZ) / 2)#define 	WOL_FLAG		0x0000021F#ifdef _GA622T_#define		RX_QUEUES		(RXDESC0 | RXDESC1 | RXDESC2 | RXDESC3)#define		TX_QUEUES		(TXDESC0 | TXDESC1 | TXDESC2 | TXDESC3)#endif#define		TX_OK			DESCOK#define		RX_OK			DESCOK#define		RX_ERR			(ISE | CRCE | FAE | COL | RXA | RXO)#define		TX_ERR			(TXA | TFU | OWC | EC | TD | CCNT)#ifdef FWARE_DOWNLOAD#define F_EAM				0x16#define F_DR				0x1D#define F_AR				0x1E#define F_JAR				0x1F#define F_START_ADDRESS		(0x8400)#define F_VERIFY_ADDRESS	(0x8000)#define DATA_SIZE			14592		#endif#ifdef PM_WOL#define WKPAT0	0x00000020#define WKPAT1	0x00000040#define WKPAT2	0x00000080#define WKPAT3	0x00000100/* Revisit, reduce this */#define MAX_PAT_LEN 200#endif#ifdef _GA622T_#define	CMDSTS_SIZE_MASK	0x0000ffff#elif _FA31X_#define	CMDSTS_SIZE_MASK	0x00000fff#endif#define		RESET_IN_PROGRESS	100/*Madhu Cache line changes*/#define		RX_BUF_ALIGNMENT	64/*** Define Macros ***//*Check sum Macros*/#define		UDP_PKT(Rcb)			((Rcb)->ExtSts & UDPPKT)#define		TCP_PKT(Rcb)			((Rcb)->ExtSts & TCPPKT)#define		IP_PKT(Rcb)			((Rcb)->ExtSts & IPPKT)#define		UDPCHKSUMERR(Rcb)	((Rcb)->ExtSts & UDPERR)#define		TCPCHKSUMERR(Rcb)	((Rcb)->ExtSts & TCPERR)#define		IPCHKSUMERR(Rcb)	((Rcb)->ExtSts & IPERR)#define		UDPCHKSUM(pAdapter)	((pAdapter)->ChksumFlags & RXUDPON)#define		TCPCHKSUM(pAdapter)	((pAdapter)->ChksumFlags & RXTCPON)#define		IPCHKSUM(pAdapter)	((pAdapter)->ChksumFlags & RXIPON)#define 	RX_COMPLETE(pDesc) (pDesc) ? ((pDesc)->CmdSts & OWN) : 0#define 	TX_DESC_SET_SIZE(pDesc,Size) \				(pDesc)->CmdSts|=(CMDSTS_SIZE_MASK&(Size))#define 	TX_DESC_SET_BUF(pDesc,pBuf) \				(pDesc)->BufPtr=(UINT)(pBuf)#define 	TX_DESC_SET_OWN(pDesc) \				(pDesc)->CmdSts|=OWN#define 	CLEAN_UP_DESC(CurrDesc)	\				(CurrDesc)->CmdSts = 0;	\				(CurrDesc)->ExtSts = 0;/*#define 	TX_ERRORED(pDesc)		\				((pDesc) ? ( !((pDesc)->CmdSts & TX_OK) ) : 0)#define 	TX_ERRORED(pDesc)		\				((pDesc) ? ( ((pDesc)->CmdSts & TX_ERR) ) : 0) Ramit : Both Bits should be checked ERR and !OK */#define 	TX_ERRORED(pDesc)  ( ((pDesc)->CmdSts & TX_ERR) && (!((pDesc)->CmdSts & TX_OK)) ) #define 	RX_ERRORED(pDesc) ( ((pDesc)->CmdSts & (RX_ERR)) && (!((pDesc)->CmdSts & (RX_OK))) )/*#define 	RX_ERRORED(pDesc) (!((pDesc)->CmdSts & (RX_OK))) */#define 	TX_COMPLETE(pDesc) 			\				((pDesc) ? (!( (pDesc)->CmdSts & (OWN) )) : 0)#define 	GET_TCB_NEXT(pAdap,Priority) \				(pAdap)->PriQue[(Priority)].pTcbListNext#define 	GET_TCB_HEAD(pAdapter,Priority) \				(pAdapter)->PriQue[Priority].pTcbListHead#define 	GET_RCB_EXTENDED_STATUS(pAdapter, HsmRcb) \			((HsmRcb)->pRxDp->ExtSts)#define 	SET_TCB_HEAD(pAdapter,Priority,NewHead) \				(pAdapter)->PriQue[Priority].pTcbListHead = (NewHead)#define 	SET_TCB_NEXT(pAdapter, Priority, NewNext) \				(pAdapter)->PriQue[Priority].pTcbListNext = (NewNext)#define 	SET_RCB_HEAD(pAdapter,Priority,NewHead) \				(pAdapter)->PriQue[Priority].pRcbListHead = (NewHead)#define 	SET_RCB_TAIL(pAdapter, Priority, NewTail) \				(pAdapter)->PriQue[Priority].pRcbListTail = (NewTail)#ifdef _GA622T_#define 	SET_TCB_CHKSUM(pDesc,ChkSum) \				(pDesc)->ExtSts |= (ChkSum)  #elif _FA31X_#define 	SET_TCB_CHKSUM(pDesc,ChkSum)#endif#define	 	TX_DESC_SET_MORE(pDesc,val) \				( (val) ? ((pDesc)->CmdSts |= MORE) : \				((pDesc)->CmdSts &= ~(MORE)) ) #define	 	TX_DESC_SET_INTR(Desc,Value) \				( (Value) ? ((Desc)->CmdSts |= INTR) : \				((Desc)->CmdSts &= ~(INTR)) ) #define 	INC_FREE_RX_DESC(pAdapter, Prio)  \        		(pAdapter)->PriQue[Prio].iFreeRxDesc++#define 	DEC_FREE_RX_DESC(pAdapter, Prio,count) \        		(pAdapter)->PriQue[Prio].iFreeRxDesc -= count#define 	FREE_RX_DESC(pAdapter, Prio)  \        		(pAdapter)->PriQue[Prio].iFreeRxDesc#define 	GET_RCB_NEXT(pAdapter, Priority) \        		(pAdapter)->PriQue[Priority].pRcbListNext#define 	GET_RCB_TAIL(pAdapter, Priority) \        		(pAdapter)->PriQue[Priority].pRcbListTail#define 	GET_RCB_HEAD(pAdapter, Priority) \        		(pAdapter)->PriQue[Priority].pRcbListHead#define 	SET_RCB_NEXT(pAdapter, Priority, NewNext) \        		(pAdapter)->PriQue[Priority].pRcbListNext = (NewNext)#define 	RCB_SET_MORE(pRcb) \        	{ \               	if((pRcb)->pRxDp->CmdSts & MORE) \                   	(pRcb)->More = 1; \               	else \                   	LastFullPacket = (pRcb); \        	}#define 	DESC_CLEAR_OWN(pDesc) \				(pDesc)->CmdSts &= ~(OWN)#define		RX_DESC_GET_SIZE(pDesc) \				(pDesc)->CmdSts & CMDSTS_SIZE_MASK#define		UPDATE_RCB_TAIL(pRcbTail,pRcb) \			{ \				(pRcbTail)->pRxDp->link = (UINT) ((pRcb)->pRxDpPa);	\				(pRcb)->pRxDp->link = 0;	\				(pRcbTail)->pNext = (pRcb); \				(pRcbTail) = (pRcb);  \				(pRcbTail)->pNext = NULL; \			}#define 	INC_CURR_TCB(pAdapter, Priority, pTcb,count,base) \ 			((base) + \ 				(((UINT)pTcb - (UINT)base)/sizeof(HsmTCB) + count) % 	\				pAdapter->PriQue[Priority].iMaxTxDesc)#define		HsmMulticastDisable(pAdapter)	clear_mca_tbl((pAdapter))#define 	HsmAttachBuffer(pRCB, Bufptr)  \				(((pRCB)->pRxDp->BufPtr) = (UINT)(Bufptr))#define		HsmIsRxPacketErrored(pRCB)	\				(((pRCB)->pRxDp->CmdSts & RX_ERR)?1:0)#define 	HsmSetRxdCmdSts(pRCB, Value)	\				(((pRCB)->pRxDp->CmdSts) |= (UINT)(Value))#define 	HsmClearRxdCmdSts(pRCB, Value)	\				(((pRCB)->pRxDp->CmdSts) &= ~(Value))#define		HsmGetMaxTxDesc(pAdapter, Prio)	\				pAdapter->PriQue[Prio].iMaxTxDesc#define		HsmGetMaxRxDesc(pAdapter, Prio)	\				pAdapter->PriQue[Prio].iMaxRxDesc/* * 	Macros to enable and disable interrupts. * 	Disabling the interrupts is done by writing a 0 to the IE flag in IER.  * 	Enabling the interrupts is done by writing a 1 to the IE flag in IER.  */#define 	HsmEnableInterrupts(pAdapter)	\				NsmRegWrite32((pAdapter)->pNsmContext, \					((pAdapter)->RegAddr + IER), IE)#define 	HsmDisableInterrupts(pAdapter)	\				NsmRegWrite32((pAdapter)->pNsmContext, \					((pAdapter)->RegAddr + IER), 0)#ifdef PM_WOL#define WAKE_STATE POWER_STATE_D0#define WAKE_ON_LAN_MODES (MPR | PATM3 | PATM2 | PATM1 | PATM0 | PHYINT)#define	OFFSET 		0	#define	APAT_MASK		1	#define	WKPAT_MASK		2#define PAT_OFFSET	0x80#define WKPAT (WKPAT0 | WKPAT1 | WKPAT2 | WKPAT3)#define APAT_ALL (APAT0 | APAT1 | APAT2 | APAT3)#ifdef DEBUGUCHAR PatternHeadArray[] = {0xff,0xff, 0xff,							0xff,0xff, 0xff,							0x08, 0x0, 0x17,							0x0b, 0x66, 0x16,							0x08, 0x0};#endif#endif /* PM_WOL */							/*** Typedef Definitions ***/typedef UCHAR MacAddr[6];/*** Global (extern) Data Declarations ***//* Ramit : Tunable Parametersextern	UINT	MinTxDescCnt_0, MaxTxDescCnt_0; extern	UINT	MinTxDescCnt_1, MaxTxDescCnt_1; extern	UINT	MinTxDescCnt_2, MaxTxDescCnt_2; extern	UINT	MinTxDescCnt_3, MaxTxDescCnt_3; extern	UINT	MinRxDescCnt_0, MaxRxDescCnt_0; extern	UINT	MinRxDescCnt_1, MaxRxDescCnt_1; extern	UINT	MinRxDescCnt_2, MaxRxDescCnt_2; extern	UINT	MinRxDescCnt_3, MaxRxDescCnt_3; *//* Ramit: In Adapter Context *//*extern	UINT	IntrHoldoff;*/	/*	Interrupt hold off value *//*extern	UINT	TxDrth;	*/		/*	Tx Drain Threshold *//*extern	UINT	RxDrth;	*/		/*	Rx Drain Threshold *//*extern	UINT	TxFlth;	*/		/*	Tx Fill Threshold *//*extern	UINT	PauseCounterVal; *//*extern	UINT	RxFFLO;extern	UINT	RxFFHI;extern	UINT	RxSTLO;extern 	UINT	RxSTHI;*//* Ramit: In Adpater Context extern	UINT	MediaSpeed;extern	UINT	DuplexMode;

⌨️ 快捷键说明

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