📄 bcm570x_lm.h
字号:
#define LM_REQUESTED_MEDIA_TYPE_UTP_AUTO 2#define LM_REQUESTED_MEDIA_TYPE_UTP_10MBPS 3#define LM_REQUESTED_MEDIA_TYPE_UTP_10MBPS_FULL_DUPLEX 4#define LM_REQUESTED_MEDIA_TYPE_UTP_100MBPS 5#define LM_REQUESTED_MEDIA_TYPE_UTP_100MBPS_FULL_DUPLEX 6#define LM_REQUESTED_MEDIA_TYPE_UTP_1000MBPS 7#define LM_REQUESTED_MEDIA_TYPE_UTP_1000MBPS_FULL_DUPLEX 8#define LM_REQUESTED_MEDIA_TYPE_FIBER_100MBPS 9#define LM_REQUESTED_MEDIA_TYPE_FIBER_100MBPS_FULL_DUPLEX 10#define LM_REQUESTED_MEDIA_TYPE_FIBER_1000MBPS 11#define LM_REQUESTED_MEDIA_TYPE_FIBER_1000MBPS_FULL_DUPLEX 12#define LM_REQUESTED_MEDIA_TYPE_MAC_LOOPBACK 0xfffe#define LM_REQUESTED_MEDIA_TYPE_PHY_LOOPBACK 0xfffftypedef LM_UINT32 LM_REQUESTED_MEDIA_TYPE, *PLM_REQUESTED_MEDIA_TYPE;/******************************************************************************//* Media type. *//******************************************************************************/#define LM_MEDIA_TYPE_UNKNOWN -1#define LM_MEDIA_TYPE_AUTO 0#define LM_MEDIA_TYPE_UTP 1#define LM_MEDIA_TYPE_BNC 2#define LM_MEDIA_TYPE_AUI 3#define LM_MEDIA_TYPE_FIBER 4typedef LM_UINT32 LM_MEDIA_TYPE, *PLM_MEDIA_TYPE;/******************************************************************************//* Line speed. *//******************************************************************************/#define LM_LINE_SPEED_UNKNOWN 0#define LM_LINE_SPEED_10MBPS 1#define LM_LINE_SPEED_100MBPS 2#define LM_LINE_SPEED_1000MBPS 3typedef LM_UINT32 LM_LINE_SPEED, *PLM_LINE_SPEED;/******************************************************************************//* Duplex mode. *//******************************************************************************/#define LM_DUPLEX_MODE_UNKNOWN 0#define LM_DUPLEX_MODE_HALF 1#define LM_DUPLEX_MODE_FULL 2typedef LM_UINT32 LM_DUPLEX_MODE, *PLM_DUPLEX_MODE;/******************************************************************************//* Power state. *//******************************************************************************/#define LM_POWER_STATE_D0 0#define LM_POWER_STATE_D1 1#define LM_POWER_STATE_D2 2#define LM_POWER_STATE_D3 3typedef LM_UINT32 LM_POWER_STATE, *PLM_POWER_STATE;/******************************************************************************//* Task offloading. *//******************************************************************************/#define LM_TASK_OFFLOAD_NONE 0x0000#define LM_TASK_OFFLOAD_TX_IP_CHECKSUM 0x0001#define LM_TASK_OFFLOAD_RX_IP_CHECKSUM 0x0002#define LM_TASK_OFFLOAD_TX_TCP_CHECKSUM 0x0004#define LM_TASK_OFFLOAD_RX_TCP_CHECKSUM 0x0008#define LM_TASK_OFFLOAD_TX_UDP_CHECKSUM 0x0010#define LM_TASK_OFFLOAD_RX_UDP_CHECKSUM 0x0020#define LM_TASK_OFFLOAD_TCP_SEGMENTATION 0x0040typedef LM_UINT32 LM_TASK_OFFLOAD, *PLM_TASK_OFFLOAD;/******************************************************************************//* Flow control. *//******************************************************************************/#define LM_FLOW_CONTROL_NONE 0x00#define LM_FLOW_CONTROL_RECEIVE_PAUSE 0x01#define LM_FLOW_CONTROL_TRANSMIT_PAUSE 0x02#define LM_FLOW_CONTROL_RX_TX_PAUSE (LM_FLOW_CONTROL_RECEIVE_PAUSE | \ LM_FLOW_CONTROL_TRANSMIT_PAUSE)/* This value can be or-ed with RECEIVE_PAUSE and TRANSMIT_PAUSE. If the *//* auto-negotiation is disabled and the RECEIVE_PAUSE and TRANSMIT_PAUSE *//* bits are set, then flow control is enabled regardless of link partner's *//* flow control capability. */#define LM_FLOW_CONTROL_AUTO_PAUSE 0x80000000typedef LM_UINT32 LM_FLOW_CONTROL, *PLM_FLOW_CONTROL;/******************************************************************************//* Wake up mode. *//******************************************************************************/#define LM_WAKE_UP_MODE_NONE 0#define LM_WAKE_UP_MODE_MAGIC_PACKET 1#define LM_WAKE_UP_MODE_NWUF 2#define LM_WAKE_UP_MODE_LINK_CHANGE 4typedef LM_UINT32 LM_WAKE_UP_MODE, *PLM_WAKE_UP_MODE;/******************************************************************************//* Counters. *//******************************************************************************/#define LM_COUNTER_FRAMES_XMITTED_OK 0#define LM_COUNTER_FRAMES_RECEIVED_OK 1#define LM_COUNTER_ERRORED_TRANSMIT_COUNT 2#define LM_COUNTER_ERRORED_RECEIVE_COUNT 3#define LM_COUNTER_RCV_CRC_ERROR 4#define LM_COUNTER_ALIGNMENT_ERROR 5#define LM_COUNTER_SINGLE_COLLISION_FRAMES 6#define LM_COUNTER_MULTIPLE_COLLISION_FRAMES 7#define LM_COUNTER_FRAMES_DEFERRED 8#define LM_COUNTER_MAX_COLLISIONS 9#define LM_COUNTER_RCV_OVERRUN 10#define LM_COUNTER_XMIT_UNDERRUN 11#define LM_COUNTER_UNICAST_FRAMES_XMIT 12#define LM_COUNTER_MULTICAST_FRAMES_XMIT 13#define LM_COUNTER_BROADCAST_FRAMES_XMIT 14#define LM_COUNTER_UNICAST_FRAMES_RCV 15#define LM_COUNTER_MULTICAST_FRAMES_RCV 16#define LM_COUNTER_BROADCAST_FRAMES_RCV 17typedef LM_UINT32 LM_COUNTER_TYPE, *PLM_COUNTER_TYPE;/******************************************************************************//* Forward definition. *//******************************************************************************/typedef struct _LM_DEVICE_BLOCK *PLM_DEVICE_BLOCK;typedef struct _LM_PACKET *PLM_PACKET;/******************************************************************************//* Function prototypes. *//******************************************************************************/LM_STATUS LM_GetAdapterInfo (PLM_DEVICE_BLOCK pDevice);LM_STATUS LM_InitializeAdapter (PLM_DEVICE_BLOCK pDevice);LM_STATUS LM_ResetAdapter (PLM_DEVICE_BLOCK pDevice);LM_STATUS LM_DisableInterrupt (PLM_DEVICE_BLOCK pDevice);LM_STATUS LM_EnableInterrupt (PLM_DEVICE_BLOCK pDevice);LM_STATUS LM_SendPacket (PLM_DEVICE_BLOCK pDevice, PLM_PACKET pPacket);LM_STATUS LM_ServiceInterrupts (PLM_DEVICE_BLOCK pDevice);LM_STATUS LM_QueueRxPackets (PLM_DEVICE_BLOCK pDevice);LM_STATUS LM_SetReceiveMask (PLM_DEVICE_BLOCK pDevice, LM_UINT32 Mask);LM_STATUS LM_Halt (PLM_DEVICE_BLOCK pDevice);LM_STATUS LM_Abort (PLM_DEVICE_BLOCK pDevice);LM_STATUS LM_MulticastAdd (PLM_DEVICE_BLOCK pDevice, PLM_UINT8 pMcAddress);LM_STATUS LM_MulticastDel (PLM_DEVICE_BLOCK pDevice, PLM_UINT8 pMcAddress);LM_STATUS LM_MulticastClear (PLM_DEVICE_BLOCK pDevice);LM_STATUS LM_SetMacAddress (PLM_DEVICE_BLOCK pDevice, PLM_UINT8 pMacAddress);LM_STATUS LM_LoopbackAddress (PLM_DEVICE_BLOCK pDevice, PLM_UINT8 pAddress);LM_UINT32 LM_GetCrcCounter (PLM_DEVICE_BLOCK pDevice);LM_WAKE_UP_MODE LM_PMCapabilities (PLM_DEVICE_BLOCK pDevice);LM_STATUS LM_NwufAdd (PLM_DEVICE_BLOCK pDevice, LM_UINT32 ByteMaskSize, LM_UINT8 * pByteMask, LM_UINT8 * pPattern);LM_STATUS LM_NwufRemove (PLM_DEVICE_BLOCK pDevice, LM_UINT32 ByteMaskSize, LM_UINT8 * pByteMask, LM_UINT8 * pPattern);LM_STATUS LM_SetPowerState (PLM_DEVICE_BLOCK pDevice, LM_POWER_STATE PowerLevel);LM_VOID LM_ReadPhy (PLM_DEVICE_BLOCK pDevice, LM_UINT32 PhyReg, PLM_UINT32 pData32);LM_VOID LM_WritePhy (PLM_DEVICE_BLOCK pDevice, LM_UINT32 PhyReg, LM_UINT32 Data32);LM_STATUS LM_ControlLoopBack (PLM_DEVICE_BLOCK pDevice, LM_UINT32 Control);LM_STATUS LM_SetupPhy (PLM_DEVICE_BLOCK pDevice);int LM_BlinkLED (PLM_DEVICE_BLOCK pDevice, LM_UINT32 BlinkDuration);/******************************************************************************//* These are the OS specific functions called by LMAC. *//******************************************************************************/LM_STATUS MM_ReadConfig16 (PLM_DEVICE_BLOCK pDevice, LM_UINT32 Offset, LM_UINT16 * pValue16);LM_STATUS MM_WriteConfig16 (PLM_DEVICE_BLOCK pDevice, LM_UINT32 Offset, LM_UINT16 Value16);LM_STATUS MM_ReadConfig32 (PLM_DEVICE_BLOCK pDevice, LM_UINT32 Offset, LM_UINT32 * pValue32);LM_STATUS MM_WriteConfig32 (PLM_DEVICE_BLOCK pDevice, LM_UINT32 Offset, LM_UINT32 Value32);LM_STATUS MM_MapMemBase (PLM_DEVICE_BLOCK pDevice);LM_STATUS MM_MapIoBase (PLM_DEVICE_BLOCK pDevice);LM_STATUS MM_IndicateRxPackets (PLM_DEVICE_BLOCK pDevice);LM_STATUS MM_IndicateTxPackets (PLM_DEVICE_BLOCK pDevice);LM_STATUS MM_StartTxDma (PLM_DEVICE_BLOCK pDevice, PLM_PACKET pPacket);LM_STATUS MM_CompleteTxDma (PLM_DEVICE_BLOCK pDevice, PLM_PACKET pPacket);LM_STATUS MM_AllocateMemory (PLM_DEVICE_BLOCK pDevice, LM_UINT32 BlockSize, PLM_VOID * pMemoryBlockVirt);LM_STATUS MM_AllocateSharedMemory (PLM_DEVICE_BLOCK pDevice, LM_UINT32 BlockSize, PLM_VOID * pMemoryBlockVirt, PLM_PHYSICAL_ADDRESS pMemoryBlockPhy, LM_BOOL Cached);LM_STATUS MM_GetConfig (PLM_DEVICE_BLOCK pDevice);LM_STATUS MM_IndicateStatus (PLM_DEVICE_BLOCK pDevice, LM_STATUS Status);LM_STATUS MM_InitializeUmPackets (PLM_DEVICE_BLOCK pDevice);LM_STATUS MM_FreeRxBuffer (PLM_DEVICE_BLOCK pDevice, PLM_PACKET pPacket);LM_STATUS MM_CoalesceTxBuffer (PLM_DEVICE_BLOCK pDevice, PLM_PACKET pPacket);LM_STATUS LM_MbufWorkAround (PLM_DEVICE_BLOCK pDevice);LM_STATUS LM_SetLinkSpeed (PLM_DEVICE_BLOCK pDevice, LM_REQUESTED_MEDIA_TYPE RequestedMediaType);#if INCLUDE_5703_A0_FIXLM_STATUS LM_Load5703DmaWFirmware (PLM_DEVICE_BLOCK pDevice);#endif#endif /* LM_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -