📄 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 + -