mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
122 lines
2.9 KiB
122 lines
2.9 KiB
;*****************************************************************;
|
|
;** Copyright(c) Microsoft Corp., 1988-1993 **;
|
|
;*****************************************************************;
|
|
;:ts=8
|
|
TITLE CHICASM.ASM - Chicago (PNP) Specific vnbt routines
|
|
.XLIST
|
|
;*** VNBT -- NetBios over TCP/IP VxD
|
|
;
|
|
;
|
|
.386p
|
|
include vmm.inc
|
|
include dosmgr.inc
|
|
include netvxd.inc
|
|
include vdhcp.inc
|
|
include debug.inc
|
|
include vtdi.inc
|
|
include vip.inc
|
|
|
|
include vnbt.inc
|
|
include vnetbios.inc
|
|
.LIST
|
|
|
|
IFDEF CHICAGO
|
|
|
|
EXTRN _GetDhcpOption:NEAR
|
|
EXTRN NCB_Handler:NEAR
|
|
|
|
|
|
VxD_CODE_SEG
|
|
|
|
;****************************************************************************
|
|
;** _RegisterLana2
|
|
;
|
|
; Registers the requested lana with the VNetbios driver.
|
|
;
|
|
; Entry: [ESP+4] - PNP Device context
|
|
; [ESP+8] - Lana number to register
|
|
;
|
|
; Exit: EAX will return the lana registered or 0xff if the lana couldn't
|
|
; be registered.
|
|
;
|
|
; Uses:
|
|
;
|
|
BeginProc _RegisterLana2
|
|
|
|
VxDcall VNETBIOS_Get_Version
|
|
jnc Do_Register
|
|
mov eax, 0ffh ; yukk! vnetbios is not loaded!
|
|
jmp Register_Fail
|
|
|
|
Do_Register:
|
|
mov ecx, [esp+4] ; PNP device context
|
|
mov eax, [esp+8] ; Get the request lana to register
|
|
|
|
push ebx
|
|
push edx
|
|
|
|
mov ebx, 1 ; Take over RM lana
|
|
mov edx, NCB_Handler
|
|
VxDcall VNETBIOS_Register2 ; Carry set on failure
|
|
jnc RegLana10
|
|
mov eax, 0ffh ; Failed
|
|
|
|
RegLana10:
|
|
pop edx
|
|
pop ebx
|
|
Register_Fail:
|
|
ret
|
|
|
|
EndProc _RegisterLana2
|
|
|
|
|
|
;****************************************************************************
|
|
;** _DeregisterLana
|
|
;
|
|
; Deregisters the requested lana with the VNetbios driver.
|
|
;
|
|
; Entry: [ESP+4] - Lana number to deregister
|
|
;
|
|
; Uses:
|
|
;
|
|
BeginProc _DeregisterLana
|
|
|
|
mov eax, [esp+4] ; Lana to deregister
|
|
|
|
VxDcall VNETBIOS_Deregister
|
|
|
|
ret
|
|
EndProc _DeregisterLana
|
|
|
|
;****************************************************************************
|
|
;** _IPRegisterAddrChangeHandler
|
|
;
|
|
; Registers a handler with IP to handle binding and unbinding
|
|
;
|
|
; Entry: [ESP+4] - Pointer to handler
|
|
; [ESP+8] - TRUE to set the handler, FALSE to remove the handler
|
|
;
|
|
; Exit: EAX will contain TRUE if successful, FALSE other wise
|
|
;
|
|
; Uses:
|
|
;
|
|
BeginProc _IPRegisterAddrChangeHandler
|
|
|
|
mov eax, [esp+8] ; bool
|
|
push eax
|
|
mov eax, [esp+8] ; Handler (yes, it should be esp+8)
|
|
push eax
|
|
|
|
VxDcall VIP_Register_Addr_Change; Carry set on failure
|
|
|
|
add esp, 8
|
|
ret
|
|
|
|
EndProc _IPRegisterAddrChangeHandler
|
|
|
|
VxD_CODE_ENDS
|
|
|
|
ENDIF ;CHICAGO
|
|
|
|
END
|
|
|