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

📄 smctr.h

📁 linux-2.6.15.6
💻 H
📖 第 1 页 / 共 5 页
字号:
#define RAM_SIZE                        0x10000#define INIT_SYS_CONFIG_PTR_OFFSET      (RAM_SIZE-ISCP_BLOCK_SIZE)#define SCGP_BLOCK_OFFSET               0#define SCLB_NOT_VALID                  0x0000  /* Initially, SCLB not valid */#define SCLB_VALID                      0x8000  /* Host tells TRC SCLB valid */#define SCLB_PROCESSED                  0x0000  /* TRC says SCLB processed */#define SCLB_RESUME_CONTROL_NOT_VALID   0x0000  /* Initially, RC not valid */#define SCLB_RESUME_CONTROL_VALID       0x4000  /* Host tells TRC RC valid */#define SCLB_IACK_CODE_NOT_VALID        0x0000  /* Initially, IACK not valid */#define SCLB_IACK_CODE_VALID            0x2000  /* Host tells TRC IACK valid */#define SCLB_CMD_NOP                    0x0000#define SCLB_CMD_REMOVE                 0x0001#define SCLB_CMD_SUSPEND_ACB_CHAIN      0x0002#define SCLB_CMD_SET_INTERRUPT_MASK     0x0003#define SCLB_CMD_CLEAR_INTERRUPT_MASK   0x0004#define SCLB_CMD_RESERVED_5             0x0005#define SCLB_CMD_RESERVED_6             0x0006#define SCLB_CMD_RESERVED_7             0x0007#define SCLB_CMD_RESERVED_8             0x0008#define SCLB_CMD_RESERVED_9             0x0009#define SCLB_CMD_RESERVED_A             0x000A#define SCLB_CMD_RESERVED_B             0x000B#define SCLB_CMD_RESERVED_C             0x000C#define SCLB_CMD_RESERVED_D             0x000D#define SCLB_CMD_RESERVED_E             0x000E#define SCLB_CMD_RESERVED_F             0x000F#define SCLB_RC_ACB                     0x0001  /* Action Command Block Chain */#define SCLB_RC_RES0                    0x0002  /* Always Zero */#define SCLB_RC_RES1                    0x0004  /* Always Zero */#define SCLB_RC_RES2                    0x0008  /* Always Zero */#define SCLB_RC_RX_MAC_FCB              0x0010  /* RX_MAC_FCB Chain */#define SCLB_RC_RX_MAC_BDB              0x0020  /* RX_MAC_BDB Chain */#define SCLB_RC_RX_NON_MAC_FCB          0x0040  /* RX_NON_MAC_FCB Chain */#define SCLB_RC_RX_NON_MAC_BDB          0x0080  /* RX_NON_MAC_BDB Chain */#define SCLB_RC_TFCB0                   0x0100  /* TX Priority 0 FCB Chain */#define SCLB_RC_TFCB1                   0x0200  /* TX Priority 1 FCB Chain */#define SCLB_RC_TFCB2                   0x0400  /* TX Priority 2 FCB Chain */#define SCLB_RC_TFCB3                   0x0800  /* TX Priority 3 FCB Chain */#define SCLB_RC_TFCB4                   0x1000  /* TX Priority 4 FCB Chain */#define SCLB_RC_TFCB5                   0x2000  /* TX Priority 5 FCB Chain */#define SCLB_RC_TFCB6                   0x4000  /* TX Priority 6 FCB Chain */#define SCLB_RC_TFCB7                   0x8000  /* TX Priority 7 FCB Chain */#define SCLB_IMC_RES0                   0x0001  /* */#define SCLB_IMC_MAC_TYPE_3             0x0002  /* MAC_ARC_INDICATE */#define SCLB_IMC_MAC_ERROR_COUNTERS     0x0004  /* */#define SCLB_IMC_RES1                   0x0008  /* */#define SCLB_IMC_MAC_TYPE_2             0x0010  /* QUE_MAC_INDICATE */#define SCLB_IMC_TX_FRAME               0x0020  /* */#define SCLB_IMC_END_OF_TX_QUEUE        0x0040  /* */#define SCLB_IMC_NON_MAC_RX_RESOURCE    0x0080  /* */#define SCLB_IMC_MAC_RX_RESOURCE        0x0100  /* */#define SCLB_IMC_NON_MAC_RX_FRAME       0x0200  /* */#define SCLB_IMC_MAC_RX_FRAME           0x0400  /* */#define SCLB_IMC_TRC_FIFO_STATUS        0x0800  /* */#define SCLB_IMC_COMMAND_STATUS         0x1000  /* */#define SCLB_IMC_MAC_TYPE_1             0x2000  /* Self Removed */#define SCLB_IMC_TRC_INTRNL_TST_STATUS  0x4000  /* */#define SCLB_IMC_RES2                   0x8000  /* */#define DMA_TRIGGER                     0x0004#define FREQ_16MB_BIT                   0x0010#define THDREN                          0x0020#define CFG0_RSV1                       0x0040#define CFG0_RSV2                       0x0080#define ETREN                           0x0100#define RX_OWN_BIT                      0x0200#define RXATMAC                         0x0400#define PROMISCUOUS_BIT                 0x0800#define USETPT                          0x1000#define SAVBAD_BIT                      0x2000#define ONEQUE                          0x4000#define NO_AUTOREMOVE                   0x8000#define RX_FCB_AREA_8316        0x00000000#define RX_BUFF_AREA_8316       0x00000000#define TRC_POINTER(X)          ((unsigned long)(X) - tp->ram_access)#define RX_FCB_TRC_POINTER(X)   ((unsigned long)(X) - tp->ram_access + RX_FCB_AREA_8316)#define RX_BUFF_TRC_POINTER(X) ((unsigned long)(X) - tp->ram_access + RX_BUFF_AREA_8316)// Offset 0: MSR - Memory Select Register//#define r587_MSR        0x000   // Register Offset//#define       MSR_RST         0x080   // LAN Controller Reset#define MSR_MENB        0x040   // Shared Memory Enable#define MSR_RA18        0x020   // Ram Address bit 18   (583, 584, 587)#define MSR_RA17        0x010   // Ram Address bit 17   (583, 584, 585/790)#define MSR_RA16        0x008   // Ram Address bit 16   (583, 584, 585/790)#define MSR_RA15        0x004   // Ram Address bit 15   (583, 584, 585/790)#define MSR_RA14        0x002   // Ram Address bit 14   (583, 584, 585/790)#define MSR_RA13        0x001   // Ram Address bit 13   (583, 584, 585/790)#define MSR_MASK        0x03F   // Mask for Address bits RA18-RA13 (583, 584, 587)#define MSR                     0x00#define IRR                     0x04#define HWR                     0x04#define LAAR                    0x05#define IMCCR                   0x05#define LAR0                    0x08#define BDID                    0x0E    // Adapter ID byte register offset#define CSR                     0x10#define PR                      0x11#define MSR_RST                 0x80#define MSR_MEMB                0x40#define MSR_0WS                 0x20#define FORCED_16BIT_MODE       0x0002#define INTERFRAME_SPACING_16           0x0003  /* 6 bytes */#define INTERFRAME_SPACING_4            0x0001  /* 2 bytes */#define MULTICAST_ADDRESS_BIT           0x0010#define NON_SRC_ROUTING_BIT             0x0020#define LOOPING_MODE_MASK       0x0007/* * Decode firmware defines. */#define SWAP_BYTES(X)		((X & 0xff) << 8) | (X >> 8)#define WEIGHT_OFFSET		5#define TREE_SIZE_OFFSET	9#define TREE_OFFSET		11/* The Huffman Encoding Tree is constructed of these nodes. */typedef struct {	__u8	llink;	/* Short version of above node. */	__u8	tag;	__u8	info;	/* This node is used on decodes. */	__u8	rlink;} DECODE_TREE_NODE;#define ROOT	0	/* Branch value. */#define LEAF	0	/* Tag field value. */#define BRANCH	1	/* Tag field value. *//* * Multicast Table Structure */typedef struct {        __u8    address[6];        __u8    instance_count;} McTable;/* * Fragment Descriptor Definition */typedef struct {        __u8  *fragment_ptr;        __u32   fragment_length;} FragmentStructure;/* * Data Buffer Structure Definition */typedef struct {        __u32 fragment_count;        FragmentStructure       fragment_list[MAXFRAGMENTS];} DataBufferStructure;#pragma pack(1)typedef struct {                __u8    IType;                __u8    ISubtype;} Interrupt_Status_Word;#pragma pack(1)typedef struct BDBlockType {                __u16                   info;                   /* 02 */                __u32                   trc_next_ptr;           /* 06 */                __u32                   trc_data_block_ptr;     /* 10 */                __u16                   buffer_length;          /* 12 */                __u16                   *data_block_ptr;        /* 16 */                struct  BDBlockType     *next_ptr;              /* 20 */                struct  BDBlockType     *back_ptr;              /* 24 */                __u8                    filler[8];              /* 32 */} BDBlock;#pragma pack(1)typedef struct FCBlockType {                __u16                   frame_status;           /* 02 */                __u16                   info;                   /* 04 */                __u32                   trc_next_ptr;           /* 08 */                __u32                   trc_bdb_ptr;            /* 12 */                __u16                   frame_length;           /* 14 */                BDBlock                 *bdb_ptr;               /* 18 */                struct  FCBlockType     *next_ptr;              /* 22 */                struct  FCBlockType     *back_ptr;              /* 26 */                __u16                   memory_alloc;           /* 28 */                __u8                    filler[4];              /* 32 */} FCBlock;#pragma pack(1)typedef struct SBlockType{                __u8                           Internal_Error_Count;                __u8                           Line_Error_Count;                __u8                           AC_Error_Count;                __u8                           Burst_Error_Count;                __u8                            RESERVED_COUNTER_0;                __u8                            AD_TRANS_Count;                __u8                            RCV_Congestion_Count;                __u8                            Lost_FR_Error_Count;                __u8                            FREQ_Error_Count;                __u8                            FR_Copied_Error_Count;                __u8                            RESERVED_COUNTER_1;                __u8                            Token_Error_Count;                __u16                           TI_NDIS_Ring_Status;                __u16                           BCN_Type;                __u16                           Error_Code;                __u16                           SA_of_Last_AMP_SMP[3];                __u16                           UNA[3];                __u16                           Ucode_Version_Number;                __u16                           Status_CHG_Indicate;                __u16                           RESERVED_STATUS_0;} SBlock;#pragma pack(1)typedef struct ACBlockType {                __u16                   cmd_done_status;    /* 02 */                __u16                   cmd_info;           /* 04 */                __u32                   trc_next_ptr;           /* 08 */                __u16                   cmd;                /* 10 */                __u16                   subcmd;             /* 12 */                __u16                   data_offset_lo;         /* 14 */                __u16                   data_offset_hi;         /* 16 */                struct  ACBlockType     *next_ptr;              /* 20 */                __u8                    filler[12];             /* 32 */} ACBlock;#define NUM_OF_INTERRUPTS               0x20#pragma pack(1)typedef struct {                Interrupt_Status_Word   IStatus[NUM_OF_INTERRUPTS];} ISBlock;#pragma pack(1)typedef struct {                __u16                   valid_command;          /* 02 */                __u16                   iack_code;              /* 04 */                __u16                   resume_control;         /* 06 */                __u16                   int_mask_control;       /* 08 */                __u16                   int_mask_state;         /* 10 */                __u8                    filler[6];              /* 16 */} SCLBlock;#pragma pack(1)typedef struct{                __u16                   config;                 /* 02 */                __u32                   trc_sclb_ptr;           /* 06 */                __u32                   trc_acb_ptr;            /* 10 */                __u32                   trc_isb_ptr;            /* 14 */                __u16                   isbsiz;                 /* 16 */                SCLBlock                *sclb_ptr;              /* 20 */                ACBlock                 *acb_ptr;               /* 24 */                ISBlock                 *isb_ptr;               /* 28 */                __u16                   Non_Mac_Rx_Bdbs;        /* 30 DEBUG */                __u8                    filler[2];              /* 32 */} SCGBlock;#pragma pack(1)typedef struct{	__u32		trc_scgb_ptr;	SCGBlock	*scgb_ptr;} ISCPBlock;#pragma pack()typedef struct net_local {	ISCPBlock       *iscpb_ptr;        SCGBlock        *scgb_ptr;        SCLBlock        *sclb_ptr;        ISBlock         *isb_ptr;	ACBlock         *acb_head;        ACBlock         *acb_curr;        ACBlock         *acb_next;	__u8		adapter_name[12];	__u16		num_rx_bdbs	[NUM_RX_QS_USED];	__u16		num_rx_fcbs	[NUM_RX_QS_USED];	__u16		num_tx_bdbs	[NUM_TX_QS_USED];	__u16		num_tx_fcbs	[NUM_TX_QS_USED];	__u16		num_of_tx_buffs;	__u16		tx_buff_size	[NUM_TX_QS_USED];	__u16		tx_buff_used	[NUM_TX_QS_USED];	__u16		tx_queue_status	[NUM_TX_QS_USED];	FCBlock		*tx_fcb_head[NUM_TX_QS_USED];	FCBlock		*tx_fcb_curr[NUM_TX_QS_USED];	FCBlock		*tx_fcb_end[NUM_TX_QS_USED];	BDBlock		*tx_bdb_head[NUM_TX_QS_USED];	__u16		*tx_buff_head[NUM_TX_QS_USED];	__u16		*tx_buff_end[NUM_TX_QS_USED];	__u16		*tx_buff_curr[NUM_TX_QS_USED];	__u16		num_tx_fcbs_used[NUM_TX_QS_USED];	FCBlock		*rx_fcb_head[NUM_RX_QS_USED];	FCBlock		*rx_fcb_curr[NUM_RX_QS_USED];

⌨️ 快捷键说明

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