iPXE
Data Structures | Macros | Typedefs | Functions
tlan.h File Reference

Go to the source code of this file.

Data Structures

struct  tlan_adapter_entry
 

Macros

#define FALSE   0
 
#define TRUE   1
 
#define TLAN_MIN_FRAME_SIZE   64
 
#define TLAN_MAX_FRAME_SIZE   1600
 
#define TLAN_NUM_RX_LISTS   4
 
#define TLAN_NUM_TX_LISTS   2
 
#define TLAN_IGNORE   0
 
#define TLAN_RECORD   1
 
#define TLAN_DEBUG_GNRL   0x0001
 
#define TLAN_DEBUG_TX   0x0002
 
#define TLAN_DEBUG_RX   0x0004
 
#define TLAN_DEBUG_LIST   0x0008
 
#define TLAN_DEBUG_PROBE   0x0010
 
#define TX_TIMEOUT   (10*HZ) /* We need time for auto-neg */
 
#define MAX_TLAN_BOARDS   8 /* Max number of boards installed at a time */
 
#define PCI_DEVICE_ID_NETELLIGENT_10_T2   0xB012
 
#define PCI_DEVICE_ID_NETELLIGENT_10_100_WS_5100   0xB030
 
#define PCI_DEVICE_ID_OLICOM_OC2183   0x0013
 
#define PCI_DEVICE_ID_OLICOM_OC2325   0x0012
 
#define PCI_DEVICE_ID_OLICOM_OC2326   0x0014
 
#define TLAN_ADAPTER_NONE   0x00000000
 
#define TLAN_ADAPTER_UNMANAGED_PHY   0x00000001
 
#define TLAN_ADAPTER_BIT_RATE_PHY   0x00000002
 
#define TLAN_ADAPTER_USE_INTERN_10   0x00000004
 
#define TLAN_ADAPTER_ACTIVITY_LED   0x00000008
 
#define TLAN_SPEED_DEFAULT   0
 
#define TLAN_SPEED_10   10
 
#define TLAN_SPEED_100   100
 
#define TLAN_DUPLEX_DEFAULT   0
 
#define TLAN_DUPLEX_HALF   1
 
#define TLAN_DUPLEX_FULL   2
 
#define EISA_ID   0xc80 /* EISA ID Registers */
 
#define EISA_ID0   0xc80 /* EISA ID Register 0 */
 
#define EISA_ID1   0xc81 /* EISA ID Register 1 */
 
#define EISA_ID2   0xc82 /* EISA ID Register 2 */
 
#define EISA_ID3   0xc83 /* EISA ID Register 3 */
 
#define EISA_CR   0xc84 /* EISA Control Register */
 
#define EISA_REG0   0xc88 /* EISA Configuration Register 0 */
 
#define EISA_REG1   0xc89 /* EISA Configuration Register 1 */
 
#define EISA_REG2   0xc8a /* EISA Configuration Register 2 */
 
#define EISA_REG3   0xc8f /* EISA Configuration Register 3 */
 
#define EISA_APROM   0xc90 /* Ethernet Address PROM */
 
#define TLAN_BUFFERS_PER_LIST   10
 
#define TLAN_LAST_BUFFER   0x80000000
 
#define TLAN_CSTAT_UNUSED   0x8000
 
#define TLAN_CSTAT_FRM_CMP   0x4000
 
#define TLAN_CSTAT_READY   0x3000
 
#define TLAN_CSTAT_EOC   0x0800
 
#define TLAN_CSTAT_RX_ERROR   0x0400
 
#define TLAN_CSTAT_PASS_CRC   0x0200
 
#define TLAN_CSTAT_DP_PR   0x0100
 
#define TLAN_PHY_MAX_ADDR   0x1F
 
#define TLAN_PHY_NONE   0x20
 
#define TLAN_TIMER_LINK_BEAT   1
 
#define TLAN_TIMER_ACTIVITY   2
 
#define TLAN_TIMER_PHY_PDOWN   3
 
#define TLAN_TIMER_PHY_PUP   4
 
#define TLAN_TIMER_PHY_RESET   5
 
#define TLAN_TIMER_PHY_START_LINK   6
 
#define TLAN_TIMER_PHY_FINISH_AN   7
 
#define TLAN_TIMER_FINISH_RESET   8
 
#define TLAN_TIMER_ACT_DELAY   (HZ/10)
 
#define TLAN_EEPROM_ACK   0
 
#define TLAN_EEPROM_STOP   1
 
#define TLAN_HOST_CMD   0x00
 
#define TLAN_HC_GO   0x80000000
 
#define TLAN_HC_STOP   0x40000000
 
#define TLAN_HC_ACK   0x20000000
 
#define TLAN_HC_CS_MASK   0x1FE00000
 
#define TLAN_HC_EOC   0x00100000
 
#define TLAN_HC_RT   0x00080000
 
#define TLAN_HC_NES   0x00040000
 
#define TLAN_HC_AD_RST   0x00008000
 
#define TLAN_HC_LD_TMR   0x00004000
 
#define TLAN_HC_LD_THR   0x00002000
 
#define TLAN_HC_REQ_INT   0x00001000
 
#define TLAN_HC_INT_OFF   0x00000800
 
#define TLAN_HC_INT_ON   0x00000400
 
#define TLAN_HC_AC_MASK   0x000000FF
 
#define TLAN_CH_PARM   0x04
 
#define TLAN_DIO_ADR   0x08
 
#define TLAN_DA_ADR_INC   0x8000
 
#define TLAN_DA_RAM_ADR   0x4000
 
#define TLAN_HOST_INT   0x0A
 
#define TLAN_HI_IV_MASK   0x1FE0
 
#define TLAN_HI_IT_MASK   0x001C
 
#define TLAN_DIO_DATA   0x0C
 
#define TLAN_NET_CMD   0x00
 
#define TLAN_NET_CMD_NRESET   0x80
 
#define TLAN_NET_CMD_NWRAP   0x40
 
#define TLAN_NET_CMD_CSF   0x20
 
#define TLAN_NET_CMD_CAF   0x10
 
#define TLAN_NET_CMD_NOBRX   0x08
 
#define TLAN_NET_CMD_DUPLEX   0x04
 
#define TLAN_NET_CMD_TRFRAM   0x02
 
#define TLAN_NET_CMD_TXPACE   0x01
 
#define TLAN_NET_SIO   0x01
 
#define TLAN_NET_SIO_MINTEN   0x80
 
#define TLAN_NET_SIO_ECLOK   0x40
 
#define TLAN_NET_SIO_ETXEN   0x20
 
#define TLAN_NET_SIO_EDATA   0x10
 
#define TLAN_NET_SIO_NMRST   0x08
 
#define TLAN_NET_SIO_MCLK   0x04
 
#define TLAN_NET_SIO_MTXEN   0x02
 
#define TLAN_NET_SIO_MDATA   0x01
 
#define TLAN_NET_STS   0x02
 
#define TLAN_NET_STS_MIRQ   0x80
 
#define TLAN_NET_STS_HBEAT   0x40
 
#define TLAN_NET_STS_TXSTOP   0x20
 
#define TLAN_NET_STS_RXSTOP   0x10
 
#define TLAN_NET_STS_RSRVD   0x0F
 
#define TLAN_NET_MASK   0x03
 
#define TLAN_NET_MASK_MASK7   0x80
 
#define TLAN_NET_MASK_MASK6   0x40
 
#define TLAN_NET_MASK_MASK5   0x20
 
#define TLAN_NET_MASK_MASK4   0x10
 
#define TLAN_NET_MASK_RSRVD   0x0F
 
#define TLAN_NET_CONFIG   0x04
 
#define TLAN_NET_CFG_RCLK   0x8000
 
#define TLAN_NET_CFG_TCLK   0x4000
 
#define TLAN_NET_CFG_BIT   0x2000
 
#define TLAN_NET_CFG_RXCRC   0x1000
 
#define TLAN_NET_CFG_PEF   0x0800
 
#define TLAN_NET_CFG_1FRAG   0x0400
 
#define TLAN_NET_CFG_1CHAN   0x0200
 
#define TLAN_NET_CFG_MTEST   0x0100
 
#define TLAN_NET_CFG_PHY_EN   0x0080
 
#define TLAN_NET_CFG_MSMASK   0x007F
 
#define TLAN_MAN_TEST   0x06
 
#define TLAN_DEF_VENDOR_ID   0x08
 
#define TLAN_DEF_DEVICE_ID   0x0A
 
#define TLAN_DEF_REVISION   0x0C
 
#define TLAN_DEF_SUBCLASS   0x0D
 
#define TLAN_DEF_MIN_LAT   0x0E
 
#define TLAN_DEF_MAX_LAT   0x0F
 
#define TLAN_AREG_0   0x10
 
#define TLAN_AREG_1   0x16
 
#define TLAN_AREG_2   0x1C
 
#define TLAN_AREG_3   0x22
 
#define TLAN_HASH_1   0x28
 
#define TLAN_HASH_2   0x2C
 
#define TLAN_GOOD_TX_FRMS   0x30
 
#define TLAN_TX_UNDERUNS   0x33
 
#define TLAN_GOOD_RX_FRMS   0x34
 
#define TLAN_RX_OVERRUNS   0x37
 
#define TLAN_DEFERRED_TX   0x38
 
#define TLAN_CRC_ERRORS   0x3A
 
#define TLAN_CODE_ERRORS   0x3B
 
#define TLAN_MULTICOL_FRMS   0x3C
 
#define TLAN_SINGLECOL_FRMS   0x3E
 
#define TLAN_EXCESSCOL_FRMS   0x40
 
#define TLAN_LATE_COLS   0x41
 
#define TLAN_CARRIER_LOSS   0x42
 
#define TLAN_ACOMMIT   0x43
 
#define TLAN_LED_REG   0x44
 
#define TLAN_LED_ACT   0x10
 
#define TLAN_LED_LINK   0x01
 
#define TLAN_BSIZE_REG   0x45
 
#define TLAN_MAX_RX   0x46
 
#define TLAN_INT_DIS   0x48
 
#define TLAN_ID_TX_EOC   0x04
 
#define TLAN_ID_RX_EOF   0x02
 
#define TLAN_ID_RX_EOC   0x01
 
#define TLAN_INT_NUMBER_OF_INTS   8
 
#define TLAN_INT_NONE   0x0000
 
#define TLAN_INT_TX_EOF   0x0001
 
#define TLAN_INT_STAT_OVERFLOW   0x0002
 
#define TLAN_INT_RX_EOF   0x0003
 
#define TLAN_INT_DUMMY   0x0004
 
#define TLAN_INT_TX_EOC   0x0005
 
#define TLAN_INT_STATUS_CHECK   0x0006
 
#define TLAN_INT_RX_EOC   0x0007
 
#define TLAN_TLPHY_ID   0x10
 
#define TLAN_TLPHY_CTL   0x11
 
#define TLAN_TC_IGLINK   0x8000
 
#define TLAN_TC_SWAPOL   0x4000
 
#define TLAN_TC_AUISEL   0x2000
 
#define TLAN_TC_SQEEN   0x1000
 
#define TLAN_TC_MTEST   0x0800
 
#define TLAN_TC_RESERVED   0x07F8
 
#define TLAN_TC_NFEW   0x0004
 
#define TLAN_TC_INTEN   0x0002
 
#define TLAN_TC_TINT   0x0001
 
#define TLAN_TLPHY_STS   0x12
 
#define TLAN_TS_MINT   0x8000
 
#define TLAN_TS_PHOK   0x4000
 
#define TLAN_TS_POLOK   0x2000
 
#define TLAN_TS_TPENERGY   0x1000
 
#define TLAN_TS_RESERVED   0x0FFF
 
#define TLAN_TLPHY_PAR   0x19
 
#define TLAN_PHY_CIM_STAT   0x0020
 
#define TLAN_PHY_SPEED_100   0x0040
 
#define TLAN_PHY_DUPLEX_FULL   0x0080
 
#define TLAN_PHY_AN_EN_STAT   0x0400
 
#define NAT_SEM_ID1   0x2000
 
#define NAT_SEM_ID2   0x5C01
 
#define LEVEL1_ID1   0x7810
 
#define LEVEL1_ID2   0x0000
 
#define CIRC_INC(a, b)   if ( ++a >= b ) a = 0
 
#define TLan_ClearBit(bit, port)   outb_p(inb_p(port) & ~bit, port)
 
#define TLan_GetBit(bit, port)   ((int) (inb_p(port) & bit))
 
#define TLan_SetBit(bit, port)   outb_p(inb_p(port) | bit, port)
 
#define XOR8(a, b, c, d, e, f, g, h)   xor( a, xor( b, xor( c, xor( d, xor( e, xor( f, xor( g, h ) ) ) ) ) ) )
 
#define DA(a, bit)   ( ( (u8) a[bit/8] ) & ( (u8) ( 1 << bit%8 ) ) )
 

Typedefs

typedef struct tlan_adapter_entry TLanAdapterEntry
 

Functions

 FILE_LICENCE (GPL2_OR_LATER)
 
static u8 TLan_DioRead8 (u16 base_addr, u16 internal_addr)
 
static u16 TLan_DioRead16 (u16 base_addr, u16 internal_addr)
 
static u32 TLan_DioRead32 (u16 base_addr, u16 internal_addr)
 
static void TLan_DioWrite8 (u16 base_addr, u16 internal_addr, u8 data)
 
static void TLan_DioWrite16 (u16 base_addr, u16 internal_addr, u16 data)
 
static void TLan_DioWrite32 (u16 base_addr, u16 internal_addr, u32 data)
 
static u32 xor (u32 a, u32 b)
 
static u32 TLan_HashFunc (u8 *a)
 

Macro Definition Documentation

◆ FALSE

#define FALSE   0

Definition at line 45 of file tlan.h.

◆ TRUE

#define TRUE   1

Definition at line 46 of file tlan.h.

◆ TLAN_MIN_FRAME_SIZE

#define TLAN_MIN_FRAME_SIZE   64

Definition at line 48 of file tlan.h.

◆ TLAN_MAX_FRAME_SIZE

#define TLAN_MAX_FRAME_SIZE   1600

Definition at line 49 of file tlan.h.

◆ TLAN_NUM_RX_LISTS

#define TLAN_NUM_RX_LISTS   4

Definition at line 51 of file tlan.h.

◆ TLAN_NUM_TX_LISTS

#define TLAN_NUM_TX_LISTS   2

Definition at line 52 of file tlan.h.

◆ TLAN_IGNORE

#define TLAN_IGNORE   0

Definition at line 54 of file tlan.h.

◆ TLAN_RECORD

#define TLAN_RECORD   1

Definition at line 55 of file tlan.h.

◆ TLAN_DEBUG_GNRL

#define TLAN_DEBUG_GNRL   0x0001

Definition at line 59 of file tlan.h.

◆ TLAN_DEBUG_TX

#define TLAN_DEBUG_TX   0x0002

Definition at line 60 of file tlan.h.

◆ TLAN_DEBUG_RX

#define TLAN_DEBUG_RX   0x0004

Definition at line 61 of file tlan.h.

◆ TLAN_DEBUG_LIST

#define TLAN_DEBUG_LIST   0x0008

Definition at line 62 of file tlan.h.

◆ TLAN_DEBUG_PROBE

#define TLAN_DEBUG_PROBE   0x0010

Definition at line 63 of file tlan.h.

◆ TX_TIMEOUT

#define TX_TIMEOUT   (10*HZ) /* We need time for auto-neg */

Definition at line 65 of file tlan.h.

◆ MAX_TLAN_BOARDS

#define MAX_TLAN_BOARDS   8 /* Max number of boards installed at a time */

Definition at line 66 of file tlan.h.

◆ PCI_DEVICE_ID_NETELLIGENT_10_T2

#define PCI_DEVICE_ID_NETELLIGENT_10_T2   0xB012

Definition at line 74 of file tlan.h.

◆ PCI_DEVICE_ID_NETELLIGENT_10_100_WS_5100

#define PCI_DEVICE_ID_NETELLIGENT_10_100_WS_5100   0xB030

Definition at line 75 of file tlan.h.

◆ PCI_DEVICE_ID_OLICOM_OC2183

#define PCI_DEVICE_ID_OLICOM_OC2183   0x0013

Definition at line 77 of file tlan.h.

◆ PCI_DEVICE_ID_OLICOM_OC2325

#define PCI_DEVICE_ID_OLICOM_OC2325   0x0012

Definition at line 80 of file tlan.h.

◆ PCI_DEVICE_ID_OLICOM_OC2326

#define PCI_DEVICE_ID_OLICOM_OC2326   0x0014

Definition at line 83 of file tlan.h.

◆ TLAN_ADAPTER_NONE

#define TLAN_ADAPTER_NONE   0x00000000

Definition at line 94 of file tlan.h.

◆ TLAN_ADAPTER_UNMANAGED_PHY

#define TLAN_ADAPTER_UNMANAGED_PHY   0x00000001

Definition at line 95 of file tlan.h.

◆ TLAN_ADAPTER_BIT_RATE_PHY

#define TLAN_ADAPTER_BIT_RATE_PHY   0x00000002

Definition at line 96 of file tlan.h.

◆ TLAN_ADAPTER_USE_INTERN_10

#define TLAN_ADAPTER_USE_INTERN_10   0x00000004

Definition at line 97 of file tlan.h.

◆ TLAN_ADAPTER_ACTIVITY_LED

#define TLAN_ADAPTER_ACTIVITY_LED   0x00000008

Definition at line 98 of file tlan.h.

◆ TLAN_SPEED_DEFAULT

#define TLAN_SPEED_DEFAULT   0

Definition at line 100 of file tlan.h.

◆ TLAN_SPEED_10

#define TLAN_SPEED_10   10

Definition at line 101 of file tlan.h.

◆ TLAN_SPEED_100

#define TLAN_SPEED_100   100

Definition at line 102 of file tlan.h.

◆ TLAN_DUPLEX_DEFAULT

#define TLAN_DUPLEX_DEFAULT   0

Definition at line 104 of file tlan.h.

◆ TLAN_DUPLEX_HALF

#define TLAN_DUPLEX_HALF   1

Definition at line 105 of file tlan.h.

◆ TLAN_DUPLEX_FULL

#define TLAN_DUPLEX_FULL   2

Definition at line 106 of file tlan.h.

◆ EISA_ID

#define EISA_ID   0xc80 /* EISA ID Registers */

Definition at line 115 of file tlan.h.

◆ EISA_ID0

#define EISA_ID0   0xc80 /* EISA ID Register 0 */

Definition at line 116 of file tlan.h.

◆ EISA_ID1

#define EISA_ID1   0xc81 /* EISA ID Register 1 */

Definition at line 117 of file tlan.h.

◆ EISA_ID2

#define EISA_ID2   0xc82 /* EISA ID Register 2 */

Definition at line 118 of file tlan.h.

◆ EISA_ID3

#define EISA_ID3   0xc83 /* EISA ID Register 3 */

Definition at line 119 of file tlan.h.

◆ EISA_CR

#define EISA_CR   0xc84 /* EISA Control Register */

Definition at line 120 of file tlan.h.

◆ EISA_REG0

#define EISA_REG0   0xc88 /* EISA Configuration Register 0 */

Definition at line 121 of file tlan.h.

◆ EISA_REG1

#define EISA_REG1   0xc89 /* EISA Configuration Register 1 */

Definition at line 122 of file tlan.h.

◆ EISA_REG2

#define EISA_REG2   0xc8a /* EISA Configuration Register 2 */

Definition at line 123 of file tlan.h.

◆ EISA_REG3

#define EISA_REG3   0xc8f /* EISA Configuration Register 3 */

Definition at line 124 of file tlan.h.

◆ EISA_APROM

#define EISA_APROM   0xc90 /* Ethernet Address PROM */

Definition at line 125 of file tlan.h.

◆ TLAN_BUFFERS_PER_LIST

#define TLAN_BUFFERS_PER_LIST   10

Definition at line 134 of file tlan.h.

◆ TLAN_LAST_BUFFER

#define TLAN_LAST_BUFFER   0x80000000

Definition at line 135 of file tlan.h.

◆ TLAN_CSTAT_UNUSED

#define TLAN_CSTAT_UNUSED   0x8000

Definition at line 136 of file tlan.h.

◆ TLAN_CSTAT_FRM_CMP

#define TLAN_CSTAT_FRM_CMP   0x4000

Definition at line 137 of file tlan.h.

◆ TLAN_CSTAT_READY

#define TLAN_CSTAT_READY   0x3000

Definition at line 138 of file tlan.h.

◆ TLAN_CSTAT_EOC

#define TLAN_CSTAT_EOC   0x0800

Definition at line 139 of file tlan.h.

◆ TLAN_CSTAT_RX_ERROR

#define TLAN_CSTAT_RX_ERROR   0x0400

Definition at line 140 of file tlan.h.

◆ TLAN_CSTAT_PASS_CRC

#define TLAN_CSTAT_PASS_CRC   0x0200

Definition at line 141 of file tlan.h.

◆ TLAN_CSTAT_DP_PR

#define TLAN_CSTAT_DP_PR   0x0100

Definition at line 142 of file tlan.h.

◆ TLAN_PHY_MAX_ADDR

#define TLAN_PHY_MAX_ADDR   0x1F

Definition at line 154 of file tlan.h.

◆ TLAN_PHY_NONE

#define TLAN_PHY_NONE   0x20

Definition at line 155 of file tlan.h.

◆ TLAN_TIMER_LINK_BEAT

#define TLAN_TIMER_LINK_BEAT   1

Definition at line 164 of file tlan.h.

◆ TLAN_TIMER_ACTIVITY

#define TLAN_TIMER_ACTIVITY   2

Definition at line 165 of file tlan.h.

◆ TLAN_TIMER_PHY_PDOWN

#define TLAN_TIMER_PHY_PDOWN   3

Definition at line 166 of file tlan.h.

◆ TLAN_TIMER_PHY_PUP

#define TLAN_TIMER_PHY_PUP   4

Definition at line 167 of file tlan.h.

◆ TLAN_TIMER_PHY_RESET

#define TLAN_TIMER_PHY_RESET   5

Definition at line 168 of file tlan.h.

◆ TLAN_TIMER_PHY_START_LINK

#define TLAN_TIMER_PHY_START_LINK   6

Definition at line 169 of file tlan.h.

◆ TLAN_TIMER_PHY_FINISH_AN

#define TLAN_TIMER_PHY_FINISH_AN   7

Definition at line 170 of file tlan.h.

◆ TLAN_TIMER_FINISH_RESET

#define TLAN_TIMER_FINISH_RESET   8

Definition at line 171 of file tlan.h.

◆ TLAN_TIMER_ACT_DELAY

#define TLAN_TIMER_ACT_DELAY   (HZ/10)

Definition at line 173 of file tlan.h.

◆ TLAN_EEPROM_ACK

#define TLAN_EEPROM_ACK   0

Definition at line 183 of file tlan.h.

◆ TLAN_EEPROM_STOP

#define TLAN_EEPROM_STOP   1

Definition at line 184 of file tlan.h.

◆ TLAN_HOST_CMD

#define TLAN_HOST_CMD   0x00

Definition at line 194 of file tlan.h.

◆ TLAN_HC_GO

#define TLAN_HC_GO   0x80000000

Definition at line 195 of file tlan.h.

◆ TLAN_HC_STOP

#define TLAN_HC_STOP   0x40000000

Definition at line 196 of file tlan.h.

◆ TLAN_HC_ACK

#define TLAN_HC_ACK   0x20000000

Definition at line 197 of file tlan.h.

◆ TLAN_HC_CS_MASK

#define TLAN_HC_CS_MASK   0x1FE00000

Definition at line 198 of file tlan.h.

◆ TLAN_HC_EOC

#define TLAN_HC_EOC   0x00100000

Definition at line 199 of file tlan.h.

◆ TLAN_HC_RT

#define TLAN_HC_RT   0x00080000

Definition at line 200 of file tlan.h.

◆ TLAN_HC_NES

#define TLAN_HC_NES   0x00040000

Definition at line 201 of file tlan.h.

◆ TLAN_HC_AD_RST

#define TLAN_HC_AD_RST   0x00008000

Definition at line 202 of file tlan.h.

◆ TLAN_HC_LD_TMR

#define TLAN_HC_LD_TMR   0x00004000

Definition at line 203 of file tlan.h.

◆ TLAN_HC_LD_THR

#define TLAN_HC_LD_THR   0x00002000

Definition at line 204 of file tlan.h.

◆ TLAN_HC_REQ_INT

#define TLAN_HC_REQ_INT   0x00001000

Definition at line 205 of file tlan.h.

◆ TLAN_HC_INT_OFF

#define TLAN_HC_INT_OFF   0x00000800

Definition at line 206 of file tlan.h.

◆ TLAN_HC_INT_ON

#define TLAN_HC_INT_ON   0x00000400

Definition at line 207 of file tlan.h.

◆ TLAN_HC_AC_MASK

#define TLAN_HC_AC_MASK   0x000000FF

Definition at line 208 of file tlan.h.

◆ TLAN_CH_PARM

#define TLAN_CH_PARM   0x04

Definition at line 209 of file tlan.h.

◆ TLAN_DIO_ADR

#define TLAN_DIO_ADR   0x08

Definition at line 210 of file tlan.h.

◆ TLAN_DA_ADR_INC

#define TLAN_DA_ADR_INC   0x8000

Definition at line 211 of file tlan.h.

◆ TLAN_DA_RAM_ADR

#define TLAN_DA_RAM_ADR   0x4000

Definition at line 212 of file tlan.h.

◆ TLAN_HOST_INT

#define TLAN_HOST_INT   0x0A

Definition at line 213 of file tlan.h.

◆ TLAN_HI_IV_MASK

#define TLAN_HI_IV_MASK   0x1FE0

Definition at line 214 of file tlan.h.

◆ TLAN_HI_IT_MASK

#define TLAN_HI_IT_MASK   0x001C

Definition at line 215 of file tlan.h.

◆ TLAN_DIO_DATA

#define TLAN_DIO_DATA   0x0C

Definition at line 216 of file tlan.h.

◆ TLAN_NET_CMD

#define TLAN_NET_CMD   0x00

Definition at line 221 of file tlan.h.

◆ TLAN_NET_CMD_NRESET

#define TLAN_NET_CMD_NRESET   0x80

Definition at line 222 of file tlan.h.

◆ TLAN_NET_CMD_NWRAP

#define TLAN_NET_CMD_NWRAP   0x40

Definition at line 223 of file tlan.h.

◆ TLAN_NET_CMD_CSF

#define TLAN_NET_CMD_CSF   0x20

Definition at line 224 of file tlan.h.

◆ TLAN_NET_CMD_CAF

#define TLAN_NET_CMD_CAF   0x10

Definition at line 225 of file tlan.h.

◆ TLAN_NET_CMD_NOBRX

#define TLAN_NET_CMD_NOBRX   0x08

Definition at line 226 of file tlan.h.

◆ TLAN_NET_CMD_DUPLEX

#define TLAN_NET_CMD_DUPLEX   0x04

Definition at line 227 of file tlan.h.

◆ TLAN_NET_CMD_TRFRAM

#define TLAN_NET_CMD_TRFRAM   0x02

Definition at line 228 of file tlan.h.

◆ TLAN_NET_CMD_TXPACE

#define TLAN_NET_CMD_TXPACE   0x01

Definition at line 229 of file tlan.h.

◆ TLAN_NET_SIO

#define TLAN_NET_SIO   0x01

Definition at line 230 of file tlan.h.

◆ TLAN_NET_SIO_MINTEN

#define TLAN_NET_SIO_MINTEN   0x80

Definition at line 231 of file tlan.h.

◆ TLAN_NET_SIO_ECLOK

#define TLAN_NET_SIO_ECLOK   0x40

Definition at line 232 of file tlan.h.

◆ TLAN_NET_SIO_ETXEN

#define TLAN_NET_SIO_ETXEN   0x20

Definition at line 233 of file tlan.h.

◆ TLAN_NET_SIO_EDATA

#define TLAN_NET_SIO_EDATA   0x10

Definition at line 234 of file tlan.h.

◆ TLAN_NET_SIO_NMRST

#define TLAN_NET_SIO_NMRST   0x08

Definition at line 235 of file tlan.h.

◆ TLAN_NET_SIO_MCLK

#define TLAN_NET_SIO_MCLK   0x04

Definition at line 236 of file tlan.h.

◆ TLAN_NET_SIO_MTXEN

#define TLAN_NET_SIO_MTXEN   0x02

Definition at line 237 of file tlan.h.

◆ TLAN_NET_SIO_MDATA

#define TLAN_NET_SIO_MDATA   0x01

Definition at line 238 of file tlan.h.

◆ TLAN_NET_STS

#define TLAN_NET_STS   0x02

Definition at line 239 of file tlan.h.

◆ TLAN_NET_STS_MIRQ

#define TLAN_NET_STS_MIRQ   0x80

Definition at line 240 of file tlan.h.

◆ TLAN_NET_STS_HBEAT

#define TLAN_NET_STS_HBEAT   0x40

Definition at line 241 of file tlan.h.

◆ TLAN_NET_STS_TXSTOP

#define TLAN_NET_STS_TXSTOP   0x20

Definition at line 242 of file tlan.h.

◆ TLAN_NET_STS_RXSTOP

#define TLAN_NET_STS_RXSTOP   0x10

Definition at line 243 of file tlan.h.

◆ TLAN_NET_STS_RSRVD

#define TLAN_NET_STS_RSRVD   0x0F

Definition at line 244 of file tlan.h.

◆ TLAN_NET_MASK

#define TLAN_NET_MASK   0x03

Definition at line 245 of file tlan.h.

◆ TLAN_NET_MASK_MASK7

#define TLAN_NET_MASK_MASK7   0x80

Definition at line 246 of file tlan.h.

◆ TLAN_NET_MASK_MASK6

#define TLAN_NET_MASK_MASK6   0x40

Definition at line 247 of file tlan.h.

◆ TLAN_NET_MASK_MASK5

#define TLAN_NET_MASK_MASK5   0x20

Definition at line 248 of file tlan.h.

◆ TLAN_NET_MASK_MASK4

#define TLAN_NET_MASK_MASK4   0x10

Definition at line 249 of file tlan.h.

◆ TLAN_NET_MASK_RSRVD

#define TLAN_NET_MASK_RSRVD   0x0F

Definition at line 250 of file tlan.h.

◆ TLAN_NET_CONFIG

#define TLAN_NET_CONFIG   0x04

Definition at line 251 of file tlan.h.

◆ TLAN_NET_CFG_RCLK

#define TLAN_NET_CFG_RCLK   0x8000

Definition at line 252 of file tlan.h.

◆ TLAN_NET_CFG_TCLK

#define TLAN_NET_CFG_TCLK   0x4000

Definition at line 253 of file tlan.h.

◆ TLAN_NET_CFG_BIT

#define TLAN_NET_CFG_BIT   0x2000

Definition at line 254 of file tlan.h.

◆ TLAN_NET_CFG_RXCRC

#define TLAN_NET_CFG_RXCRC   0x1000

Definition at line 255 of file tlan.h.

◆ TLAN_NET_CFG_PEF

#define TLAN_NET_CFG_PEF   0x0800

Definition at line 256 of file tlan.h.

◆ TLAN_NET_CFG_1FRAG

#define TLAN_NET_CFG_1FRAG   0x0400

Definition at line 257 of file tlan.h.

◆ TLAN_NET_CFG_1CHAN

#define TLAN_NET_CFG_1CHAN   0x0200

Definition at line 258 of file tlan.h.

◆ TLAN_NET_CFG_MTEST

#define TLAN_NET_CFG_MTEST   0x0100

Definition at line 259 of file tlan.h.

◆ TLAN_NET_CFG_PHY_EN

#define TLAN_NET_CFG_PHY_EN   0x0080

Definition at line 260 of file tlan.h.

◆ TLAN_NET_CFG_MSMASK

#define TLAN_NET_CFG_MSMASK   0x007F

Definition at line 261 of file tlan.h.

◆ TLAN_MAN_TEST

#define TLAN_MAN_TEST   0x06

Definition at line 262 of file tlan.h.

◆ TLAN_DEF_VENDOR_ID

#define TLAN_DEF_VENDOR_ID   0x08

Definition at line 263 of file tlan.h.

◆ TLAN_DEF_DEVICE_ID

#define TLAN_DEF_DEVICE_ID   0x0A

Definition at line 264 of file tlan.h.

◆ TLAN_DEF_REVISION

#define TLAN_DEF_REVISION   0x0C

Definition at line 265 of file tlan.h.

◆ TLAN_DEF_SUBCLASS

#define TLAN_DEF_SUBCLASS   0x0D

Definition at line 266 of file tlan.h.

◆ TLAN_DEF_MIN_LAT

#define TLAN_DEF_MIN_LAT   0x0E

Definition at line 267 of file tlan.h.

◆ TLAN_DEF_MAX_LAT

#define TLAN_DEF_MAX_LAT   0x0F

Definition at line 268 of file tlan.h.

◆ TLAN_AREG_0

#define TLAN_AREG_0   0x10

Definition at line 269 of file tlan.h.

◆ TLAN_AREG_1

#define TLAN_AREG_1   0x16

Definition at line 270 of file tlan.h.

◆ TLAN_AREG_2

#define TLAN_AREG_2   0x1C

Definition at line 271 of file tlan.h.

◆ TLAN_AREG_3

#define TLAN_AREG_3   0x22

Definition at line 272 of file tlan.h.

◆ TLAN_HASH_1

#define TLAN_HASH_1   0x28

Definition at line 273 of file tlan.h.

◆ TLAN_HASH_2

#define TLAN_HASH_2   0x2C

Definition at line 274 of file tlan.h.

◆ TLAN_GOOD_TX_FRMS

#define TLAN_GOOD_TX_FRMS   0x30

Definition at line 275 of file tlan.h.

◆ TLAN_TX_UNDERUNS

#define TLAN_TX_UNDERUNS   0x33

Definition at line 276 of file tlan.h.

◆ TLAN_GOOD_RX_FRMS

#define TLAN_GOOD_RX_FRMS   0x34

Definition at line 277 of file tlan.h.

◆ TLAN_RX_OVERRUNS

#define TLAN_RX_OVERRUNS   0x37

Definition at line 278 of file tlan.h.

◆ TLAN_DEFERRED_TX

#define TLAN_DEFERRED_TX   0x38

Definition at line 279 of file tlan.h.

◆ TLAN_CRC_ERRORS

#define TLAN_CRC_ERRORS   0x3A

Definition at line 280 of file tlan.h.

◆ TLAN_CODE_ERRORS

#define TLAN_CODE_ERRORS   0x3B

Definition at line 281 of file tlan.h.

◆ TLAN_MULTICOL_FRMS

#define TLAN_MULTICOL_FRMS   0x3C

Definition at line 282 of file tlan.h.

◆ TLAN_SINGLECOL_FRMS

#define TLAN_SINGLECOL_FRMS   0x3E

Definition at line 283 of file tlan.h.

◆ TLAN_EXCESSCOL_FRMS

#define TLAN_EXCESSCOL_FRMS   0x40

Definition at line 284 of file tlan.h.

◆ TLAN_LATE_COLS

#define TLAN_LATE_COLS   0x41

Definition at line 285 of file tlan.h.

◆ TLAN_CARRIER_LOSS

#define TLAN_CARRIER_LOSS   0x42

Definition at line 286 of file tlan.h.

◆ TLAN_ACOMMIT

#define TLAN_ACOMMIT   0x43

Definition at line 287 of file tlan.h.

◆ TLAN_LED_REG

#define TLAN_LED_REG   0x44

Definition at line 288 of file tlan.h.

◆ TLAN_LED_ACT

#define TLAN_LED_ACT   0x10

Definition at line 289 of file tlan.h.

◆ TLAN_LED_LINK

#define TLAN_LED_LINK   0x01

Definition at line 290 of file tlan.h.

◆ TLAN_BSIZE_REG

#define TLAN_BSIZE_REG   0x45

Definition at line 291 of file tlan.h.

◆ TLAN_MAX_RX

#define TLAN_MAX_RX   0x46

Definition at line 292 of file tlan.h.

◆ TLAN_INT_DIS

#define TLAN_INT_DIS   0x48

Definition at line 293 of file tlan.h.

◆ TLAN_ID_TX_EOC

#define TLAN_ID_TX_EOC   0x04

Definition at line 294 of file tlan.h.

◆ TLAN_ID_RX_EOF

#define TLAN_ID_RX_EOF   0x02

Definition at line 295 of file tlan.h.

◆ TLAN_ID_RX_EOC

#define TLAN_ID_RX_EOC   0x01

Definition at line 296 of file tlan.h.

◆ TLAN_INT_NUMBER_OF_INTS

#define TLAN_INT_NUMBER_OF_INTS   8

Definition at line 302 of file tlan.h.

◆ TLAN_INT_NONE

#define TLAN_INT_NONE   0x0000

Definition at line 304 of file tlan.h.

◆ TLAN_INT_TX_EOF

#define TLAN_INT_TX_EOF   0x0001

Definition at line 305 of file tlan.h.

◆ TLAN_INT_STAT_OVERFLOW

#define TLAN_INT_STAT_OVERFLOW   0x0002

Definition at line 306 of file tlan.h.

◆ TLAN_INT_RX_EOF

#define TLAN_INT_RX_EOF   0x0003

Definition at line 307 of file tlan.h.

◆ TLAN_INT_DUMMY

#define TLAN_INT_DUMMY   0x0004

Definition at line 308 of file tlan.h.

◆ TLAN_INT_TX_EOC

#define TLAN_INT_TX_EOC   0x0005

Definition at line 309 of file tlan.h.

◆ TLAN_INT_STATUS_CHECK

#define TLAN_INT_STATUS_CHECK   0x0006

Definition at line 310 of file tlan.h.

◆ TLAN_INT_RX_EOC

#define TLAN_INT_RX_EOC   0x0007

Definition at line 311 of file tlan.h.

◆ TLAN_TLPHY_ID

#define TLAN_TLPHY_ID   0x10

Definition at line 319 of file tlan.h.

◆ TLAN_TLPHY_CTL

#define TLAN_TLPHY_CTL   0x11

Definition at line 320 of file tlan.h.

◆ TLAN_TC_IGLINK

#define TLAN_TC_IGLINK   0x8000

Definition at line 321 of file tlan.h.

◆ TLAN_TC_SWAPOL

#define TLAN_TC_SWAPOL   0x4000

Definition at line 322 of file tlan.h.

◆ TLAN_TC_AUISEL

#define TLAN_TC_AUISEL   0x2000

Definition at line 323 of file tlan.h.

◆ TLAN_TC_SQEEN

#define TLAN_TC_SQEEN   0x1000

Definition at line 324 of file tlan.h.

◆ TLAN_TC_MTEST

#define TLAN_TC_MTEST   0x0800

Definition at line 325 of file tlan.h.

◆ TLAN_TC_RESERVED

#define TLAN_TC_RESERVED   0x07F8

Definition at line 326 of file tlan.h.

◆ TLAN_TC_NFEW

#define TLAN_TC_NFEW   0x0004

Definition at line 327 of file tlan.h.

◆ TLAN_TC_INTEN

#define TLAN_TC_INTEN   0x0002

Definition at line 328 of file tlan.h.

◆ TLAN_TC_TINT

#define TLAN_TC_TINT   0x0001

Definition at line 329 of file tlan.h.

◆ TLAN_TLPHY_STS

#define TLAN_TLPHY_STS   0x12

Definition at line 330 of file tlan.h.

◆ TLAN_TS_MINT

#define TLAN_TS_MINT   0x8000

Definition at line 331 of file tlan.h.

◆ TLAN_TS_PHOK

#define TLAN_TS_PHOK   0x4000

Definition at line 332 of file tlan.h.

◆ TLAN_TS_POLOK

#define TLAN_TS_POLOK   0x2000

Definition at line 333 of file tlan.h.

◆ TLAN_TS_TPENERGY

#define TLAN_TS_TPENERGY   0x1000

Definition at line 334 of file tlan.h.

◆ TLAN_TS_RESERVED

#define TLAN_TS_RESERVED   0x0FFF

Definition at line 335 of file tlan.h.

◆ TLAN_TLPHY_PAR

#define TLAN_TLPHY_PAR   0x19

Definition at line 336 of file tlan.h.

◆ TLAN_PHY_CIM_STAT

#define TLAN_PHY_CIM_STAT   0x0020

Definition at line 337 of file tlan.h.

◆ TLAN_PHY_SPEED_100

#define TLAN_PHY_SPEED_100   0x0040

Definition at line 338 of file tlan.h.

◆ TLAN_PHY_DUPLEX_FULL

#define TLAN_PHY_DUPLEX_FULL   0x0080

Definition at line 339 of file tlan.h.

◆ TLAN_PHY_AN_EN_STAT

#define TLAN_PHY_AN_EN_STAT   0x0400

Definition at line 340 of file tlan.h.

◆ NAT_SEM_ID1

#define NAT_SEM_ID1   0x2000

Definition at line 343 of file tlan.h.

◆ NAT_SEM_ID2

#define NAT_SEM_ID2   0x5C01

Definition at line 344 of file tlan.h.

◆ LEVEL1_ID1

#define LEVEL1_ID1   0x7810

Definition at line 345 of file tlan.h.

◆ LEVEL1_ID2

#define LEVEL1_ID2   0x0000

Definition at line 346 of file tlan.h.

◆ CIRC_INC

#define CIRC_INC (   a,
  b 
)    if ( ++a >= b ) a = 0

Definition at line 348 of file tlan.h.

◆ TLan_ClearBit

#define TLan_ClearBit (   bit,
  port 
)    outb_p(inb_p(port) & ~bit, port)

Definition at line 434 of file tlan.h.

◆ TLan_GetBit

#define TLan_GetBit (   bit,
  port 
)    ((int) (inb_p(port) & bit))

Definition at line 435 of file tlan.h.

◆ TLan_SetBit

#define TLan_SetBit (   bit,
  port 
)    outb_p(inb_p(port) | bit, port)

Definition at line 436 of file tlan.h.

◆ XOR8

#define XOR8 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h 
)    xor( a, xor( b, xor( c, xor( d, xor( e, xor( f, xor( g, h ) ) ) ) ) ) )

Definition at line 462 of file tlan.h.

◆ DA

#define DA (   a,
  bit 
)    ( ( (u8) a[bit/8] ) & ( (u8) ( 1 << bit%8 ) ) )

Definition at line 463 of file tlan.h.

Typedef Documentation

◆ TLanAdapterEntry

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( GPL2_OR_LATER  )

◆ TLan_DioRead8()

static u8 TLan_DioRead8 ( u16  base_addr,
u16  internal_addr 
)
inlinestatic

Definition at line 352 of file tlan.h.

353 {
354  outw(internal_addr, base_addr + TLAN_DIO_ADR);
355  return (inb((base_addr + TLAN_DIO_DATA) + (internal_addr & 0x3)));
356 
357 } /* TLan_DioRead8 */
#define TLAN_DIO_ADR
Definition: tlan.h:210
#define outw(data, io_addr)
Definition: io.h:319
uint64_t base_addr
Definition: multiboot.h:13
uint8_t inb(volatile uint8_t *io_addr)
Read byte from I/O-mapped device.
#define TLAN_DIO_DATA
Definition: tlan.h:216

References base_addr, inb(), outw, TLAN_DIO_ADR, and TLAN_DIO_DATA.

Referenced by TLan_FinishReset(), tlan_probe(), and TLan_SetMulticastList().

◆ TLan_DioRead16()

static u16 TLan_DioRead16 ( u16  base_addr,
u16  internal_addr 
)
inlinestatic

Definition at line 362 of file tlan.h.

363 {
364  outw(internal_addr, base_addr + TLAN_DIO_ADR);
365  return (inw((base_addr + TLAN_DIO_DATA) + (internal_addr & 0x2)));
366 
367 } /* TLan_DioRead16 */
#define TLAN_DIO_ADR
Definition: tlan.h:210
uint16_t inw(volatile uint16_t *io_addr)
Read 16-bit word from I/O-mapped device.
#define outw(data, io_addr)
Definition: io.h:319
uint64_t base_addr
Definition: multiboot.h:13
#define TLAN_DIO_DATA
Definition: tlan.h:216

References base_addr, inw(), outw, TLAN_DIO_ADR, and TLAN_DIO_DATA.

◆ TLan_DioRead32()

static u32 TLan_DioRead32 ( u16  base_addr,
u16  internal_addr 
)
inlinestatic

Definition at line 372 of file tlan.h.

373 {
374  outw(internal_addr, base_addr + TLAN_DIO_ADR);
375  return (inl(base_addr + TLAN_DIO_DATA));
376 
377 } /* TLan_DioRead32 */
#define TLAN_DIO_ADR
Definition: tlan.h:210
#define outw(data, io_addr)
Definition: io.h:319
uint64_t base_addr
Definition: multiboot.h:13
uint32_t inl(volatile uint32_t *io_addr)
Read 32-bit dword from I/O-mapped device.
#define TLAN_DIO_DATA
Definition: tlan.h:216

References base_addr, inl(), outw, TLAN_DIO_ADR, and TLAN_DIO_DATA.

◆ TLan_DioWrite8()

static void TLan_DioWrite8 ( u16  base_addr,
u16  internal_addr,
u8  data 
)
inlinestatic

Definition at line 382 of file tlan.h.

383 {
384  outw(internal_addr, base_addr + TLAN_DIO_ADR);
385  outb(data, base_addr + TLAN_DIO_DATA + (internal_addr & 0x3));
386 
387 }
#define TLAN_DIO_ADR
Definition: tlan.h:210
#define outw(data, io_addr)
Definition: io.h:319
uint64_t base_addr
Definition: multiboot.h:13
#define outb(data, io_addr)
Definition: io.h:309
uint8_t data[48]
Additional event data.
Definition: ena.h:22
#define TLAN_DIO_DATA
Definition: tlan.h:216

References base_addr, data, outb, outw, TLAN_DIO_ADR, and TLAN_DIO_DATA.

Referenced by TLan_FinishReset(), TLan_ResetAdapter(), TLan_SetMac(), and TLan_SetMulticastList().

◆ TLan_DioWrite16()

static void TLan_DioWrite16 ( u16  base_addr,
u16  internal_addr,
u16  data 
)
inlinestatic

Definition at line 392 of file tlan.h.

393 {
394  outw(internal_addr, base_addr + TLAN_DIO_ADR);
395  outw(data, base_addr + TLAN_DIO_DATA + (internal_addr & 0x2));
396 
397 }
#define TLAN_DIO_ADR
Definition: tlan.h:210
#define outw(data, io_addr)
Definition: io.h:319
uint64_t base_addr
Definition: multiboot.h:13
uint8_t data[48]
Additional event data.
Definition: ena.h:22
#define TLAN_DIO_DATA
Definition: tlan.h:216

References base_addr, data, outw, TLAN_DIO_ADR, and TLAN_DIO_DATA.

Referenced by TLan_FinishReset(), TLan_PhyFinishAutoNeg(), TLan_PhyStartLink(), and TLan_ResetAdapter().

◆ TLan_DioWrite32()

static void TLan_DioWrite32 ( u16  base_addr,
u16  internal_addr,
u32  data 
)
inlinestatic

Definition at line 402 of file tlan.h.

403 {
404  outw(internal_addr, base_addr + TLAN_DIO_ADR);
405  outl(data, base_addr + TLAN_DIO_DATA + (internal_addr & 0x2));
406 
407 }
#define TLAN_DIO_ADR
Definition: tlan.h:210
#define outw(data, io_addr)
Definition: io.h:319
#define outl(data, io_addr)
Definition: io.h:329
uint64_t base_addr
Definition: multiboot.h:13
uint8_t data[48]
Additional event data.
Definition: ena.h:22
#define TLAN_DIO_DATA
Definition: tlan.h:216

References base_addr, data, outl, outw, TLAN_DIO_ADR, and TLAN_DIO_DATA.

Referenced by TLan_ResetAdapter(), and TLan_SetMulticastList().

◆ xor()

static u32 xor ( u32  a,
u32  b 
)
inlinestatic

Definition at line 457 of file tlan.h.

458 {
459  return ((a && !b) || (!a && b));
460 }
uint32_t a
Definition: md4.c:28
uint32_t b
Definition: md4.c:29

References a, and b.

Referenced by bigint_swap_raw().

◆ TLan_HashFunc()

static u32 TLan_HashFunc ( u8 a)
inlinestatic

Definition at line 465 of file tlan.h.

466 {
467  u32 hash;
468 
469  hash =
470  XOR8(DA(a, 0), DA(a, 6), DA(a, 12), DA(a, 18), DA(a, 24),
471  DA(a, 30), DA(a, 36), DA(a, 42));
472  hash |=
473  XOR8(DA(a, 1), DA(a, 7), DA(a, 13), DA(a, 19), DA(a, 25),
474  DA(a, 31), DA(a, 37), DA(a, 43)) << 1;
475  hash |=
476  XOR8(DA(a, 2), DA(a, 8), DA(a, 14), DA(a, 20), DA(a, 26),
477  DA(a, 32), DA(a, 38), DA(a, 44)) << 2;
478  hash |=
479  XOR8(DA(a, 3), DA(a, 9), DA(a, 15), DA(a, 21), DA(a, 27),
480  DA(a, 33), DA(a, 39), DA(a, 45)) << 3;
481  hash |=
482  XOR8(DA(a, 4), DA(a, 10), DA(a, 16), DA(a, 22), DA(a, 28),
483  DA(a, 34), DA(a, 40), DA(a, 46)) << 4;
484  hash |=
485  XOR8(DA(a, 5), DA(a, 11), DA(a, 17), DA(a, 23), DA(a, 29),
486  DA(a, 35), DA(a, 41), DA(a, 47)) << 5;
487 
488  return hash;
489 
490 }
uint32_t a
Definition: md4.c:28
#define DA(a, bit)
Definition: tlan.h:463
pseudo_bit_t hash[0x00010]
Hash algorithm.
Definition: arbel.h:13
#define XOR8(a, b, c, d, e, f, g, h)
Definition: tlan.h:462
uint32_t u32
Definition: stdint.h:23

References a, DA, hash, and XOR8.