INT 62 - BW-TCP - HARDWARE DRIVER (ETHDEV.SYS) - API AH = function 00h get physical hardware address DS:DX -> 6-byte buffer for address Return: AX = length of hardware address??? 01h NOP for ETHDEV.ODI 02h initialize 03h get real IP address DS:SI -> DWORD buffer for IP address 04h set ??? BX = ??? ES:SI -> FAR routine for ??? 05h ??? 06h ??? 07h ??? DS:SI -> ??? 08h ??? CX = ??? ES:SI -> func08 buffer 09h hook timer interrupt Return: AX = handler ID if successful 0Ah unhook timer interrupt DX = handler ID 0Bh add ??? AL = ??? DX = ??? BP = ??? ES:SI -> ??? 0Ch remove ??? DX = ??? BP = ??? 0Dh NOP for ETHDEV.ODI 0Eh begin critical section 0Fh end critical section 10h query critical section Return: CF clear if no critical section active CF set if in critical section 11h set ??? ES:SI -> ??? Return: CF clear 12h get ? Return: AX = ??? (memory variable incremented after reading) 13h ??? CX = ??? Return: AL = 00h if CF clear 14h ??? ES:SI -> ??? Return: AL = 00h if CF clear 15h get ??? (call after reading ETHDEV27 device) Return: AX = ??? (destroyed???) 16h ??? 17h ??? DX = segment of ??? Return: Cf clear 18h allocate and map EMS for driver Note: calls function 17h after EMS allocated and mapped FEh map EMS 00h map in driver's memory 01h map out driver's memory Return: CF clear if successful CF set on error AL = error code Note: the Beame&Whiteside TCP/IP protocol stack uses two consecutive interrupts (62h and 63h by default); the BW-NFS client uses a third consecutive interrupt (64h by default) if it is loaded SeeAlso: AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63"BW-TCP",INT 64"BW-NFS" Format of func08 buffer: Offset Size Description 00h 6 BYTEs hardware address??? 06h 6 BYTEs ??? 0Ch WORD ??? 0Eh WORD ??? .