📄 interrup.m
字号:
BX:DX -> function table
CX = ??? (000Eh)
SeeAlso: AX=BC00h/BX=3F3Fh,AX=BC02h
--------s-2FBC04-----------------------------
INT 2F - MediaVision MVSOUND.SYS - GET DMA AND IRQ CHANNELS
AX = BC04h
Return: AX = 4D56h ('MV')
BL = DMA channel
CL = IRQ number
SeeAlso: AX=BC00h/BX=3F3Fh,AX=BC01h"MVSOUND"
--------V-2FBC06-----------------------------
INT 2F U - MS Windows 3.0, DOS 5+ EGA.SYS - GET VERSION INFO
AX = BC06h
Return: BX = 5456h ("TV")
CH = major version
CL = minor version
DL = revision
SeeAlso: AX=BC00h"EGA",INT 10/AH=FAh"EGA"
--------s-2FBC06-----------------------------
INT 2F - MediaVision MVSOUND.SYS - GET STATUS STRING
AX = BC06h
Return: AX = 4D56h ('MV')
DX:BX -> status string (first byte 0Ch if no status message to display)
SeeAlso: AX=BC00h/BX=3F3Fh,AX=BC01h"MVSOUND",AX=BC0Bh"MVSOUND"
--------s-2FBC0B-----------------------------
INT 2F - MediaVision MVSOUND.SYS - GET EXECUTABLE PATH
AX = BC0Bh
Return: BX:DX -> ASCIZ path for MVPROAS.EXE, 0000h:0000h if not available
SeeAlso: AX=BC00h/BX=3F3Fh
--------s-2FBC0E-----------------------------
INT 2F - MediaVision MVSOUND.SYS - RE-INITIALIZE INT 09 HANDLER
AX = BC0Eh
Return: BX = status
0000h on failure
AX = 0000h
FFFFh if successful
DX:AX -> prior INT 09 handler
Desc: re-initialize INT 09 handler to re-enable hotkeys (e.g. after loading
KEYB)
--------U-2FBE00-----------------------------
INT 2F - REDVIEW - INSTALLATION CHECK
AX = BE00h
Return: AL = FFh if installed
Program: REDVIEW is a public-domain TSR by Alexandr Novy and Petr Horak which
copies data sent to standard output to standard error when the
former has been redirected to a file, thus allowing the data to
be seen on the screen at the same time it is captured in a file
--------N-2FBF00-----------------------------
INT 2F - PC LAN PROGRAM REDIRIFS.EXE internal - INSTALLATION CHECK
AX = BF00h
Return: AL = FFh if installed
Note: this function is also supported by NetSoft's DOS-NET v1.20+; however,
none of the remaining BFxxh calls are supported
SeeAlso: AX=BF01h,AX=BF80h,INT 2A/AX=4147h
--------N-2FBF01-----------------------------
INT 2F U - PC LAN PROGRAM REDIRIFS.EXE internal - ???
AX = BF01h
???
Return: ???
SeeAlso: AX=BF00h
--------N-2FBF80-----------------------------
INT 2F - PC LAN PROG REDIR.SYS internal - SET REDIRIFS ENTRY POINT
AX = BF80h
ES:DI -> FAR entry point to IFS handler in REDIRIFS
Return: AL = FFh if installed
ES:DI -> internal workspace
Note: all future IFS calls to REDIR.SYS are passed to the ES:DI entry point
SeeAlso: AX=BF00h
--------F-2FC0-------------------------------
INT 2F - METZ XpressFax Hardware TSR (CLASS2) - API
AH = C0h
AL = function code (01h to 15h)
Return: ???
SeeAlso: AX=C000h/BX=444Bh,AX=CB00h/BX=4D53h
--------N-2FC000-----------------------------
INT 2F - Novell ODI Link Support Layer (LSL.COM) - INSTALLATION CHECK
AX = C000h
Return: AL = FFh if installed
DX:BX -> FAR entry point (see #02986,#02987,#02988)
ES:SI -> signature string "LINKSUP$"
Range: AH=C0h to AH=FFh, selected by scanning for first free multiplex number
Note: on return, ES = DX for LSL v1.10 and v2.05; LSL makes use of this in
its search for a previous installation
SeeAlso: AX=5100h,AX=C000h"NESL"
(Table 02986)
Call LSL function "Request MLID Registration" with:
BX = 0001h
ES:SI -> registration??? record (see #02990)
DS:DI -> buffer for LSL information block (see #02991)
Return: AX = completion code (0000h,8001h) (see #02989)
DS:DI buffer filled if successful
BX,CX corrupted
Note: see "Novell LAN Driver Developer's Guide, Volume III" for more details
(Table 02987)
Call LSL function "get support entry points" with:
BX = 0002h
ES:SI -> buffer for entry point record (see #02992)
Return: ES:SI buffer filled
(Table 02988)
Call LSL function "Request MLID API entry point" with:
BX = 0003h
Return: ES:SI -> MLID (Multiple Link Interface Driver) API entry point
(call with BX=function 00h-10h, not range-checked)
Note: LSL v1.10 and v2.05 execute BX=0003h for BX=0000h and any BX >= 0003h
(Table 02989)
Values for LSL completion code:
0000h successful
8001h out of resources
8002h bad parameter
8003h no more items
8004h item not present
8005h failed
8006h receive overflow
8007h canceled
8008h bad command
8009h duplicate entry
800Ah no such handler
800Bh no such driver
Format of LSL registration record:
Offset Size Description (Table 02990)
00h DWORD -> ??? FAR function (to be called with ES:SI -> ??? and
returning AX = completion code)
04h DWORD -> ???
08h DWORD -> ??? data (at least 3Eh bytes)
Format of LSL information block:
Offset Size Description (Table 02991)
00h DWORD -> ??? entry point (called with BX=function 00h-11h)
04h WORD ???
06h WORD ???
Note: due to a fencepost error, LSL v2.05 (distributed with Novell DOS 7)
will crash if the above entry point is called with BX=0012h
Format of entry point record:
Offset Size Description (Table 02992)
00h DWORD pointer to protocol support entry point in LSL (see #02993)
04h DWORD pointer to general support entry point in LSL (see #02994)
(Table 02993)
Call protocol support entry point with:
BX = function number
0000h ???
0001h ???
0002h ???
0003h "ScheduleAESEvent"
ES:SI -> AES ECB to be scheduled (see #02997)
Return: ES,SI preserved
0004h "CancelAESEvent"
ES:SI -> ECB to be cancelled (see #02997)
Return: ES,SI preserved
0005h "GetIntervalMarker"
Return: DX:AX = current interval marker in milliseconds
all other registers preserved
0006h "RegisterStack"
AX = logical board number
ES:SI -> bound stack info structure (see #03007)
Return: BX = assigned Stack ID if AX=0000h
0007h "DeRegisterStack"
AX = protocol stack's assigned Stack ID
0008h "RegisterDefaultStack"
AX = logical board number
ES:SI -> stack info structure (see #03008)
0009h "DeRegisterDefaultStack"
AX = logical board number
000Ah "RegisterPrescanStack"
AX = logical board number
ES:SI -> stack info structure (see #03008)
000Bh "DeRegisterPrescanStack"
AX = logical board number
000Ch "SendPacket"
ES:SI -> send ECB
Return: interrupts disabled
000Dh ???
000Eh ???
000Fh ???
0010h "GetStackIDFromName"
ES:SI -> counted NUL-terminated protocol name (max 15 chars)
Return: BX = Stack ID if AX=0000h
0011h "GetPIDFromStackIDBoard"
AX = Stack ID for protocol
CX = logical board number
ES:SI -> 6-byte buffer for protocol ID
0012h "GetMLIDControlEntry"
AX = logical board number
Return: ES:SI -> MLID control handler (see #02995) if AX=0000h
0013h "GetProtocolControlEntry"
AX = Stack ID or
FFFEh Prescan stack
CX = logical board number
FFFFh default protocol
CX = logical board number
Return: ES:SI -> protocol stack control entry point if AX=0000h
(see #02996)
0014h "GetLSLStatistics"
Return: AX = 0000h (successful)
ZF set
ES:SI -> LSL statistics table (see #02999)
0015h "BindStack"
AX = protocol stack's assigned Stack ID
CX = logical board number
0016h "UnbindStack"
AX = protocol stack's assigned Stack ID
CX = logical board number
0017h "AddProtocolID"
AX = frame type ID code
ES:SI -> 6-byte protocol ID
CX:DI -> counted NUL-terminated short protocol name (max 15 ch)
0018h "RelinquishControl"
Return: after LSL performs any necessary background processing
0019h "GetLSLConfiguration"
Return: AX = 0000h (successful)
ZF set
ES:SI -> LSL configuration table (see #02998)
001Ah "GetTickMarker"
Return: AX = number of 55ms ticks since LSL loaded
BX destroyed
Return: AX = completion code (see #02989)
ZF set if successful
SS:SP, DS, BP preserved; most other registers may be destroyed
(Table 02994)
Call general support entry point with:
BX = function number
0000h "Allocate Memory" (obsolete)
always returns AX=8008h (BAD_COMMAND)
0001h "Free Memory" (obsolete)
always returns AX=8008h (BAD_COMMAND)
0002h "Realloc Memory" (obsolete)
always returns AX=8008h (BAD_COMMAND)
0003h "Memory Statistics" (obsolete)
always returns AX=8008h (BAD_COMMAND)
0004h "Add Memory To Pool" (obsolete)
always returns AX=8008h (BAD_COMMAND)
0005h "AddGeneralService"
ES:SI -> General Service Control Block (see #03009)
0006h "RemoveGeneralService"
ES:SI -> General Service Control Block (see #03009)
0007h "GetNETcfgPath"
Return: AX = 0000h (successful)
DS:DX -> ASCIZ pathname for NET.CFG
0008h U ??? (in LSL 1.10)
Return: AX = 0000h
ES:SI -> ??? (a 22-byte data area)
000Ah "GetCriticalSectionStatus"
Return: BX = total outstanding calls to "StartCriticalSection"
000Bh "ServiceEvents"
interrupts disabled
Return: interrupts disabled
0010h "GetStackECB"
DS:DI -> Lookahead structure (see #03010)
interrupts disabled
Return: ES:SI -> ECB if successful (AX=0000h,ZF set)
interrupts disabled
8000h-FFFFh reserved for user general service providers
Return: AX = completion code (see #02989)
ZF set if successful
SS:SP, DS, BP preserved
(Table 02995)
Call MLID control handler with:
AX = logical board number
BX = function number
0000h "GetMLIDConfiguration"
Return: ES:SI -> MLID's configuration table if successful
(see #03002 for format)
0001h "GetMLIDStatistics"
Return: ES:SI -> MLID's statistics table if successful
(see #03002 for format)
0002h "AddMulticastAddress"
ES:SI -> 6-byte multicast address to add
0003h "DeleteMulticastAddress"
ES:SI -> 6-byte multicast address to delete
0005h "MLIDShutdown"
CX = type
0000h permanent (also deregisters from LSL)
other temporary (shutdown hardware only)
0006h "MLIDReset" reinitialize board / restart from temp shutdown
0007h "Create Connection" (obsolete?)
???
0008h "Delete Connection" (obsolete?)
???
0009h "SetLookAheadSize"
CX = requested lookahead size (00h-80h)
000Ah "PromiscuousChange"
CX = what to receive promiscuously
bit 0: MAC frames
bit 1: non-MAC frames
000Bh "RegisterReceiveMonitor"
CX = subfunction
0000h disable receive monitoring
else enable receive monitoring
ES:SI -> monitor receive routine
ES:DI -> monitor transmit routine
000Ch "Driver Poll" (obsolete?)
???
Return: AX = completion code (see #02989)
ZF set if successful
Note: not all boards/MLIDs support function 0010h; see bit 13 in the MLID
mode flags field of the MLID's configuration table
(Table 02996)
Call protocol stack control entry point with:
BX = function number
0000h "GetProtocolStackConfiguration"
Return: ES:SI -> protocol stack's configuration table
(see #03001)
0001h "GetProtocolStackStatistics"
Return: ES:SI -> protocol stack's statistics table (see #03000)
0002h "BindToMLID"
CX = board number to bind to
ES:SI -> implementation-dependant parameter string
0003h "UnBindFromMLID"
CX = board number from which protocol should unbind
ES:SI -> optional implementation-dependant parameter string
0004h "MLIDDeRegistered"
CX = board number that has de-registered from LSL
Return: AX = status
0000h successful
else implementation-dependant error codes
ZF set if successful
SS:SP, DS, BP preserved
Format of AES ECB:
Offset Size Description (Table 02997)
00h DWORD "AESLink" pointer used by LSL for list management
04h DWORD number of milliseconds to wait
08h DWORD "AESStatus" (is set to 00000000h when AES ESR is invoked)
0Ch DWORD -> function to be invoked when time expires
ES:SI will point to this structure on entry,
DS, BP, and SS:SP must be preserved.
SeeAlso: #03011
Format of LSL Configuration Table:
Offset Size Description (Table 02998)
00h BYTE major version of configuration table
01h BYTE minor version of configuration table (decimal, 0-99)
02h 8 BYTEs reserved
0Ah BYTE LSL major version (decimal)
0Bh BYTE LSL minor version (decimal, 0-99)
---LSL 1.0x ---
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -