📄 csvchip.h
字号:
//**********************************************************************
//
// Filename:
//
// Description:
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
// Copyright(c) Cirrus Logic Corporation 2001, All Rights Reserved
//
//**********************************************************************
#ifndef _CSvchip_h_
#define _CSvchip_h_
/* Chip Configuration */
typedef struct CFG_t
{
// PORT IOBase;
// WORD IOSize; /* In bytes */
// DWORD MemoryBase;
// WORD MemorySize; /* In bytes */
// DWORD ROMBase;
// WORD ROMSize; /* In bytes */
// BYTE IntLine;/* QQQQQQQQQQQQ */
// EA EthernetAddr;
WORD RequestedMediaSpeed; /* 0 = Autodetect */
WORD DetectedMediaSpeed; /* 10 = 10 Mbit */
BYTE RequestedMediaType;
BYTE DetectedMediaType;
BYTE RequestedDuplexMode;
BYTE CurrentDuplexMode;
//QQQ BYTE Filtering;
// BYTE BusType;
// WORD BusSlot;
// @kml 02/28/00 BYTE MaxTxCount;
// BYTE MaxRxCount;
// WORD LookAheadSize;
// DWORD Flags;
} CFG, *PCFG;
/* Media Speed and Media Type */
#define MEDIA_AUTO_DETECT 0x00
#define MEDIA_BASE_T 0x01
#define MEDIA_BASE_AUI 0x02
#define MEDIA_BASE_2 0x03
#define MEDIA_10_MBPS 0x0A
#define MEDIA_100_MBPS 0x64
#define MEDIA_PENDING 0xFE
#define MEDIA_NONE 0xFF
/* Duplex Mode */
#define DUPLEX_AUTO_NEGOTIATE 0x00
#define DUPLEX_HALF 0x01
#define DUPLEX_FULL 0x02
#define DUPLEX_PENDING 0xFE
#define DUPLEX_NONE 0xFF
/* Filtering */
#define FILTER_INDIVIDUAL_ACCEPT 0x01
#define FILTER_BROADCAST_ACCEPT 0x02
#define FILTER_MULTICAST_ACCEPT 0x04
#define FILTER_PROMISCUOUS_ACCEPT 0x08
/* Transmit Errors */
#define TX_ERR_NO_BUFFER 0x0001
#define TX_ERR_TOO_BIG 0x0002
#define TX_ERR_TOO_MANY_FRAGS 0x0004
#define TX_ERR_SQE_ERROR 0x0008
#define TX_ERR_JABBER 0x0010
#define TX_ERR_LOCK_FAIL 0x0020
#define TX_ERR_EXCESS_COLL 0x0100
#define TX_ERR_UNDERRUN 0x0200
#define TX_ERR_OUT_OF_WIN 0x0400
#define TX_ERR_LOSS_CRS 0x1000
#define TX_ERR_FRAME_ABORT 0x2000
/* Receive Errors */
#define RX_ERR_CRC_ERROR 0x0001
#define RX_ERR_EXTRA_DATA 0x0002
#define RX_ERR_RUNT 0x0004
#define RX_ERR_FRAMING 0x0008
#define RX_ERR_OVERRUN 0x0010
#define RX_ERR_RX_ERR 0x0020
#define RX_ERR_RX_MISS 0x0100
#define RX_ERR_DRIBBLE 0x0200
#define RX_ERR_TOO_MANY_FRAGS 0x0400
#define RX_ERR_NO_BUFFER 0x0800
/* Flags */
#define FLAG_BUS_MASTER 0x00000001
#define FLAG_INTERRUPT_SHARED 0x00000002
#define FLAG_LP_CANT_AUTO_NEG 0x00000004
/* Instance Chip Data */
typedef struct CHIP_t
{
DWORD SerialNumber; /* Adapter Serial number from EEPROM */
CFG Config; /* Common chip configuration */
void *pData; /* Chip private data */
void *pPSD; /* Protocol stack private data */
void *pOSD; /* Operating System private data */
} CHIP, *PCHIP;
/*
* Return codes.
*/
#define MAC_SUCCESSFUL 0
#define MAC_FAILED 1
#define MAC_ERROR_PHY_NOT_FOUND 2
#define MAC_ERROR_CANNOT_STARTUP_QUEUES 3
#define MAC_ERROR_CANNOT_INITCHIP 4
#define MAC_ERROR_CANNOT_STARTUP_PHY 5
#define MAC_ERROR_NO_RX_FRAME 6
#define MAC_ERROR_RXBUFF_LEN 7
#define MAC_ERROR_RX_LEN 8
#define MAC_ERROR_DIFF_REG_VALUS 9
#define MAC_ERROR_RX_LEN_NOT_MATCH 10
#define MAC_ERROR_RX_DATA_NOT_MATCH 11
#define MAC_ERROR_MEM_CONTENTS 12
#define MAC_ERROR_WRITE_REG_BYTE 13
#define MAC_ERROR_WRITE_REG_WORD 14
#define MAC_ERROR_WRITE_REG_DWORD 15
#define MAC_ERROR_MEMORY_ALLOCATION 16
#define MAC_ERROR_MAC_INTERNAL_RAM 17
#define MAC_ERROR_INVALID_TEST 18
#define MAC_ERROR_INVALID_PARAMETER 19
#endif /* _CSvchip_h_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -