AOH :: INT-D.TXT
PC Interrupt Listing Part 4 of 8
|
Interrupt List, part 4 of 8
This compilation is Copyright (c) 1989,1990,1991,1992 Ralf Brown
----------2180-------------------------------
INT 21 - European MSDOS 4.0 - "AEXEC" - EXECUTE PROGRAM IN BACKGROUND
AH = 80h
CX = mode
0000h place child in zombie mode on exit to preserve exit code
0001h discard child process and exit code on termination
DS:DX -> ASCIZ full program name
ES:BX -> parameter block (as for AX=4B00h)
Return: CF clear if successful
AX = Command Subgroup ID (CSID)
CF set on error
AX = error code (see AH=59h)
Desc: asynchronously execute a program, creating a new process for it
Notes: this function is called by the DETACH command
there is a system-wide limit of 32 processes
the CSID is used to identify all processes that have been spawned by
a given process, whether directly or indirectly
programs to be run in the background must use the new executable format
(see AH=4Bh)
background processes may only perform asynchronous (background) EXECs,
either this function or AX=4B04h
background processes may execute INT 11, INT 12, INT 21, INT 2A, and
INT 2F at any time; they may execute INT 10 and INT 16 only while
they have opened a popup screen via INT 2F/AX=1401h; no other
interrupts may be executed from the background
background processes may not use drive B: or overlay their code
segments
SeeAlso: AH=4Bh,AX=8700h,INT 2F/AX=1400h"POPUP"
----------218080-----------------------------
INT 21 - PCW Weather Card interface - UNINSTALL PCW.COM AND FREE MEMORY
AX = 8080h
Return: ???
SeeAlso: AX=7070h/BX=7070h
----------2181-------------------------------
INT 21 - European MSDOS 4.0 - "FREEZE" - STOP A PROCESS
AH = 81h
BX = flag (00h freeze command subtree, 01h only specified process)
CX = Process ID of head of command subtree
Return: CF clear if successful
CF set on error
AX = error code (no such process)
Desc: temporarily suspend a process or a process and all of its children
Note: if BX=0001h, this call will not return until the process is actually
frozen, which may not be until after it unblocks from an I/O
operation
SeeAlso: AH=82h,AH=89h,AX=8E00h,INT 15/AX=101Dh
----------2182-------------------------------
INT 21 - European MSDOS 4.0 - "RESUME" - RESTART A PROCESS
AH = 82h
BX = flag (00h resume command subtree, 01h only specified process)
CX = Process ID of head of command subtree
Return: CF clear if successful
CF set on error
AX = error code (no such process)
Desc: restart a previously-suspended process or a process and all of its
children
SeeAlso: AX=81h,INT 15/AX=101Eh
----------2183-------------------------------
INT 21 - European MSDOS 4.0 - "PARTITION" - GET/SET FOREGROUND PARTITION SIZE
AH = 83h
AL = function
00h get size
01h set new size
BX = new size in paragraphs
Return: CF clear if successful
BX = current size (function 00h) or old size (function 01h)
CF set on error
AX = error code (01h,07h,0Dh)(see AH=59h)
Desc: specify or determine how much memory may be allocated by the foreground
process
Note: if the partition size is set to 0000h, no partition management is done
and all memory allocation is compatible with DOS 3.2.
the partition size can be changed regardless of what use is being made
of the changed memory; subsequent allocations will follow the
partition rules (foreground processes may allocate only foreground
memory; background processes allocate background memory first, then
foreground memory)
SeeAlso: AH=48h,AH=4Ah
----------2183-------------------------------
INT 21 - VIRUS - "SVC" - INSTALLATION CHECK
AH = 83h
Return: DX = 1990h if resident
SeeAlso: AH=76h,AH=84h"VIRUS"
----------2184-------------------------------
INT 21 - VIRUS - "SVC 5.0" or "SVC 6.0" - INSTALLATION CHECK
AH = 84h
Return: DX = 1990h if resident
BH = version number (major in high nybble, minor in low)
SeeAlso: AH=83h"VIRUS",AH=89h"VIRUS"
----------218400-----------------------------
INT 21 - European MSDOS 4.0 - "CREATMEM" - CREATE A SHARED MEMORY AREA
AX = 8400h
BX = size in bytes (0000h = 65536)
CX = flags
bit 6: zero-initialize segment
DS:DX -> ASCIZ name (must begin with "\SHAREMEM\")
Return: CF clear if successful
AX = segment address of shared memory global object
CF set on error
AX = error code (06h,08h) (see AH=59h)
Desc: create an area of memory which may be accessed by multiple processes
Notes: shared memory objects are created as special files (thus the
restriction on the name)
on successful creation, the reference count is set to 1
SeeAlso: AX=8401h,AX=8402h,INT 15/AX=DE19h
----------218401-----------------------------
INT 21 - European MSDOS 4.0 - "GETMEM" - OBTAIN ACCESS TO SHARED MEMORY AREA
AX = 8401h
CX = flags
bit 7: writable segment (ignored by MSDOS 4.0)
DS:DX -> ASCIZ name (must begin with "\SHAREMEM\")
Return: CF clear if successful
AX = segment address of shared memory global object
CX = size in bytes
CF set on error
AX = error code (invalid name)
Desc: get address of a previously-created area of memory which may be
accessed by multiple processes
Note: this call increments the reference count for the shared memory area
SeeAlso: AX=8400h,AX=8402h
----------218402-----------------------------
INT 21 - European MSDOS 4.0 - "RELEASEMEM" - FREE SHARED MEMORY AREA
AX = 8402h
BX = handle (segment address of shared memory object)
Return: CF clear if successful
CF set on error
AX = error code (no such name)
Desc: indicate that the specified area of shared memory will no longer be
used by the caller
Note: the reference count is decremented and the shared memory area is
deallocated if the new reference count is zero
SeeAlso: AX=8400h,AX=8401h,INT 15/AX=DE19h
----------2185-------------------------------
INT 21 U - European MSDOS 4.0 - ???
AH = 85h
???
Return: ???
----------2186-------------------------------
INT 21 - European MSDOS 4.0 - "SETFILETABLE" - INSTALL NEW FILE HANDLE TABLE
AH = 86h
BX = total number of file handles in new table
Return: CF clear if successful
CF set on error
AX = error code (06h,08h) (see AH=59h)
Desc: adjust the size of the per-process open file table, thus raising or
lowering the limit on the number of files the caller can open
simultaneously
Notes: any currently-open files are copied to the new table
if the table is increased beyond the default 20 handles, only the
first 20 will be inherited by child processes
error 06h is returned if the requested number of handles exceeds
system limits or would require closing currently-open files
SeeAlso: AH=26h,AH=67h
----------2187-------------------------------
INT 21 - European MSDOS 4.0 - "GETPID" - GET PROCESS IDENTIFIER
AH = 87h
Return: AX = PID
BX = parent process's PID
CX = Command Subgroup ID (CSID)
Desc: determine an identifier by which to access the calling process
Notes: called by MS C v5.1 getpid() function
this function apparently must return AX=0001h for INT 21/AH=80h to
succeed
one possible check for European MSDOS 4.0 is to issue this call with
AL=00h and check whether AL is nonzero on return
SeeAlso: AH=30h,AH=62h,AH=80h
----------2188-------------------------------
INT 21 U - European MSDOS 4.0 - ???
AH = 88h
???
Return: ???
----------2189-------------------------------
INT 21 - European MSDOS 4.0 - SLEEP
AH = 89h
CX = time in milliseconds or 0000h to give up time slice
Return: CF clear if successful
CX = 0000h
CF set on error
AX = error code (interrupted system call)
CX = sleep time remaining
Desc: suspend the calling process for the specified duration
Notes: the sleep interval is rounded up to the next higher increment of the
scheduler clock, and may be extended further if other processes are
running
this call may be interrupted by signals (see AH=8Dh)
reportedly called by Microsoft C 4.0 startup code
background processes have higher priority than the foreground process,
and should thus periodically yield the CPU
SeeAlso: AH=81h,INT 15/AX=1000h,INT 2F/AX=1680h,INT 7A/BX=000Ah
----------2189-------------------------------
INT 21 - VIRUS - "Vriest" - INSTALLATION CHECK
AH = 89h
Return: AX = 0123h if resident
SeeAlso: AH=84h"VIRUS",AH=90h"VIRUS"
----------218A-------------------------------
INT 21 - European MSDOS 4.0 - "CWAIT" - WAIT FOR CHILD TO TERMINATE
AH = 8Ah
BL = range (00h command subtree, 01h any child)
BH = suspend flag
00h suspend if children exist but none are dead
01h return if no dead children
CX = Process ID of head of command subtree
Return: CF clear if successful
AH = termination type
00h normal termination
01h aborted by Control-C
02h aborted by I/O error
03h terminate and stay resident
04h aborted by signal
05h aborted by program error
AL = return code from child or aborting signal
BX = PID of child (0000h if no dead children)
CF set on error
AX = error code (no child,interrupted system call)
Desc: get return code from an asynchronously-executed child program,
optionally waiting if no return code is available
SeeAlso: AH=4Bh,AH=4Dh,AH=80h,AH=8Dh
----------218B-------------------------------
INT 21 U - European MSDOS 4.0 - ???
AH = 8Bh
???
Return: ???
----------218C-------------------------------
INT 21 - European MSDOS 4.0 - SET SIGNAL HANDLER
AH = 8Ch
AL = signal number (see below)
BL = action (see below)
DS:DX -> signal handler
Return: CF clear if successful
AL = previous action
ES:BX -> previous signal handler
CF set on error
AX = error code (01h,invalid SigNumber or Action) (see AH=59h)
Desc: set the routine which will be invoked on a number of exceptional
conditions
Note: all signals will be sent to the most recently installed handler
SeeAlso: AH=8Dh
Values for signal number:
01h SIGINTR Control-C or user defined interrupt key
08h SIGTERM program termination
09h SIGPIPE broken pipe
0Dh SIGUSER1 reserved for user definition
0Eh SIGUSER2 reserved for user definition
Values for signal action:
00h SIG_DFL terminate process on receipt
01h SIG_IGN ignore signal
02h SIG_GET signal is accepted
03h SIG_ERR sender gets error
04h SIG_ACK acknowledge received signal and clear it, but don't
change current setting
Signal handler is called with:
AL = signal number
AH = signal argument
Return: RETF, CF set: terminate process
RETF, CF clear, ZF set: abort any interrupted system call with an error
RETF, CF clear, ZF clear: restart any interrupted system call
IRET: restart any interrupted system call
Note: the signal handler may also perform a nonlocal GOTO by resetting the
stack pointer and jumping; before doing so, it should dismiss the
signal by calling this function with BL=04h
----------218D-------------------------------
INT 21 - European MSDOS 4.0 - SEND SIGNAL
AH = 8Dh
AL = signal number (see AH=8Ch)
BH = signal argument
BL = action
00h send to entire command subtree
01h send only to specified process
DX = Process ID
Return: CF clear if successful
CF set on error
AX = error code (01h,06h)(see AH=59h)
Desc: invoke the exceptional-condition handler for the specified process
Note: error 06h may be returned if one or more of the affected processes
have an error handler for the signal
SeeAlso: AH=8Ch
----------218E00-----------------------------
INT 21 - European MSDOS 4.0 - "SETPRI" - GET/SET PROCESS PRIORITY
AX = 8E00h
BH = 00h
BL = action
00h set priority for command subtree
01h set priority for specified process only
CX = Process ID
DH = 00h
DL = change in priority (00h to get priority)
Return: CF clear if successful
DL = process priority
DH destroyed
CF set on error
AX = error code (01h,no such process)(see AH=59h)
Desc: specify or determine the execution priority of the specified process
or the process and all of its children
SeeAlso: AH=81h
----------218F-------------------------------
INT 21 U - European MSDOS 4.0 - ???
AH = 8Fh
???
Return: ???
----------2190-------------------------------
INT 21 U - European MSDOS 4.0 - ???
AH = 90h
???
Return: ???
----------2190-------------------------------
INT 21 - VIRUS - "Carioca" - INSTALLATION CHECK
AH = 90h
Return: AH = 01h if resident
SeeAlso: AH=89h"VIRUS",AX=9753h"VIRUS"
----------2191-------------------------------
INT 21 U - European MSDOS 4.0 - ???
AH = 91h
???
Return: ???
----------2192-------------------------------
INT 21 U - European MSDOS 4.0 - ???
AH = 92h
???
Return: ???
----------2193-------------------------------
INT 21 - European MSDOS 4.0 - "PIPE" - CREATE A NEW PIPE
AH = 93h
CX = size in bytes
Return: CF clear if successful
AX = read handle
BX = write handle
CF set on error
AX = error code (08h) (see AH=59h)
Desc: create a communications channel which may be used for interprocess
data and command exchanges
SeeAlso: AH=3Ch,AH=3Fh,AH=40h,AH=84h
----------2194-------------------------------
INT 21 U - European MSDOS 4.0 - ???
AH = 94h
???
Return: ???
----------2195-------------------------------
INT 21 - European MSDOS 4.0 - HARD ERROR PROCESSING
AH = 95h
AL = new state
00h enabled
01h disabled, automatically fail hard errors
Return: AX = previous setting
Desc: specify whether hard (critical) errors should automatically fail the
system call or invoke an INT 24
SeeAlso: INT 24
----------2196-------------------------------
INT 21 U - European MSDOS 4.0 - ???
AH = 96h
???
Return: ???
----------2197-------------------------------
INT 21 U - European MSDOS 4.0 - ???
AH = 97h
???
Return: ???
----------219753-----------------------------
INT 21 - VIRUS - "Nina" - INSTALLATION CHECK
AX = 9753h
Return: never (executes original program) if virus resident
SeeAlso: AH=90h"VIRUS",AX=A1D5h"VIRUS"
----------2198-------------------------------
INT 21 U - European MSDOS 4.0 - ???
AH = 98h
???
Return: ???
----------2199-------------------------------
INT 21 u - European MSDOS 4.0 - "PBLOCK" - BLOCK A PROCESS
AH = 99h
DS:BX -> memory location to block on
CX = timeout in milliseconds
DH = nonzero if interruptible
Return: CF clear if awakened by event
AX = 0000h
CF set if unusual wakeup
ZF set if timeout, clear if interrupted by signal
AX = nonzero
Desc: suspend calling process until another process sends a "restart" signal
or a timeout occurs
SeeAlso: AH=9Ah,INT 2F/AX=0802h
----------219A-------------------------------
INT 21 u - European MSDOS 4.0 - "PRUN" - UNBLOCK A PROCESS
AH = 9Ah
DS:BX -> memory location processes may have blocked on
Return: AX = number of processes awakened
ZF set if no processes awakened
Desc: restart all processes waiting for the specified "restart" signal
SeeAlso: AH=99h,INT 2F/AX=0802h
----------21A0-------------------------------
INT 21 - Attachmate Extra - GET 3270 DISPLAY STATE
AH = A0h
Return: AL = display status
bit 7 : 0=windowed, 1=enlarged
bits 6-3: current screen profile number 0-9
bits 2-0: active window number
0=PC, 1-4=host B-E, 5-6=notepad F-G
BX = host window status
bit 15: reserved
bit 14: 0=host E window installed, 1=not
bit 13: 0=host E terminal on, 1=off
bit 12: 0=host E window displayed, 1=not
bit 11: reserved
bit 10: 0=host D window installed, 1=not
bit 9: 0=host D terminal on, 1=off
bit 8: 0=host D window displayed, 1=not
bit 7: reserved
bit 6: 0=host C window installed, 1=not
bit 5: 0=host C terminal on, 1=off
bit 4: 0=host C window displayed, 1=not
bit 3: reserved
bit 2: 0=host B window installed, 1=not
bit 1: 0=host B terminal on, 1=off
bit 0: 0=host B window displayed, 1=not
Note: Attachmate Extra is a 3270 emulator by Attachmate Corporation
SeeAlso: AH=A1h
----------21A1-------------------------------
INT 21 - Attachmate Extra - SET 3270 DISPLAY STATE
AH = A1h
AL = set status byte
bit 7 : 0=windowed, 1=enlarged
bits 6-3: current screen profile number 0-9
bits 2-0: active window number
0=PC, 1-4=host B-E, 5-6=notepad F-G
SeeAlso: AH=A0h,AH=A2h
----------21A1D5-----------------------------
INT 21 - VIRUS - "789"/"Filehider" - INSTALLATION CHECK
AX = A1D5h
Return: AX = 900Dh if resident
SeeAlso: AX=9753h,AX=A55Ah
----------21A2-------------------------------
INT 21 - Attachmate Extra - SET HOST WINDOW STATE
AH = A2h
AL = set status byte
bit 7 : 0=power off, 1=power on
bit 6 : 0=not installed, 1=installed
bits 5-3: reserved
bits 2-0: window number 1-4=host B-E
SeeAlso: AH=A1h
----------21A3-------------------------------
INT 21 - Attachmate Extra - SEND KEYSTROKES TO HOST WINDOW
AH = A3h
AL = window number (1-4=host B-E)
CX = 0001h
DS:BX -> keystroke buffer
DL = zero if keystroke buffer contains host function code,
non-zero if keystroke buffer contains ASCII character
Return: CX = zero if character sent, non-zero if not
BX incremented if CX=0
Values for host function code:
00h=reserved 10h=PF16 20h=Clear 30h=SysRq
01h=PF1 11h=PF17 21h=Print 31h=ErInp
02h=PF2 12h=PF18 22h=Left 32h=ErEof
03h=PF3 13h=PF19 23h=Right 33h=Ident
04h=PF4 14h=PF20 24h=Up 34h=Test
05h=PF5 15h=PF21 25h=Down 35h=Reset
06h=PF6 16h=PF22 26h=Home 36h=DevCncl
07h=PF7 17h=PF23 27h=Fast Left 37h=Dup
08h=PF8 18h=PF24 28h=Fast Right 38h=FldMark
09h=PF9 19h=Alt on 29h=Bksp 39h=Enter
0Ah=PF10 1Ah=Alt off 2Ah=Insert 3Ah=CrSel
0Bh=PF11 1Bh=Shift on 2Bh=Delete
0Ch=PF12 1Ch=Shift off 2Ch=Backtab
0Dh=PF13 1Dh=PA1 2Dh=Tab
0Eh=PF14 1Eh=PA2 2Eh=Newline
0Fh=PF15 1Fh=PA3 2Fh=Attn
----------21A4-------------------------------
INT 21 - Attachmate Extra - GET HOST WINDOW BUFFER ADDRESS
AH = A4h
AL = window number (1-4=host B-E)
Return: DS:BX -> 3270 display buffer
SeeAlso: AH=A5h,AH=B8h
----------21A5-------------------------------
INT 21 - Attachmate Extra - GET HOST WINDOW CURSOR POSITION
AH = A5h
AL = window number (1-4=host B-E)
Return: BX = cursor position (80 * row + column, where 0:0 is upper left)
Note: if the host window is configured with the Extended Attribute (EAB)
feature, multiply the cursor position by 2 to obtain the byte offset
into the display buffer
SeeAlso: AH=A4h
----------21A55A-----------------------------
INT 21 - VIRUS - "Eddie-2" - INSTALLATION CHECK
AX = A55Ah
Return: AX = 5AA5h if resident
SeeAlso: AX=A1D5h,AX=AA00h
----------21AA00-----------------------------
INT 21 - VIRUS - "Blinker" - INSTALLATION CHECK
AX = AA00h
Return: AX = 00AAh if resident
SeeAlso: AX=A55Ah,AX=AA03h
----------21AA03-----------------------------
INT 21 - VIRUS - "Backtime" - INSTALLATION CHECK
AX = AA03h
Return: AX = 03AAh if resident
SeeAlso: AX=AA00h,AH=ABh
----------21AB-------------------------------
INT 21 - VIRUS - "600" or "Voronezh"-family - INSTALLATION CHECK
AH = ABh
Return: AX = 5555h if resident
SeeAlso: AX=AA03h,AX=BBBBh"VIRUS"
----------21AF-------------------------------
INT 21 - Attachmate Extra - GET TRANSLATE TABLE ADDRESS
AH = AFh
Return: DS:BX -> translate tables (see below)
Format of translate tables:
Offset Size Description
00h 256 BYTEs ASCII to 3270 buffer code translate table
100h 256 BYTEs 3270 buffer code to ASCII translate table
200h 256 BYTEs 3270 buffer code to EBCDIC translate table
300h 256 BYTEs EBCDIC to 3270 buffer code translate table
----------21B5-------------------------------
INT 21 - Novell NetWare shell 3.01 - TASK MODE CONTROL
AH = B5h
AL = subfunction
03h get task mode
Return: AH = 00h
AL = current task mode byte
04h get task mode pointer
Return: ES:BX -> task mode byte
Notes: the task mode byte specifies how task cleanup should be performed, but
is declared to be version-dependent
allows a program to disable the automatic cleanup for programs managing
task swapping, etc.
Values for task mode byte in version 3.01:
00h-03h reserved
04h no task cleanup
----------21B6-------------------------------
INT 21 - Novell NetWare - FILE SERVICES - EXTENDED FILE ATTRIBUTES
AH = B6h
AL = subfunction
00h get extended file attributes
01h set extended file attributes
CL = extended file attributes (see below)
DS:DX -> ASCIZ pathname (max 255 bytes)
Return: CF set on error
AL = error code
8Ch caller lacks privileges
FEh not permitted to search directory
FFh file not found
CF clear if successful
AL = 00h (success)
CL = current extended file attributes (see below)
Note: this function is supported by Advanced NetWare 2.1+
SeeAlso: AX=4300h,AH=E3h/SF=0Fh
Bitmask of extended file attributes:
bits 2-0: search mode (executables only)
000 none (use shell's default search)
001 search on all opens without path
010 do not search
011 search on read-only opens without path
100 reserved
101 search on all opens
110 reserved
111 search on all read-only opens
bit 3: reserved
bit 4: transactions on file tracked
bit 5: file's FAT indexed
bit 6: read audit (to be implemented)
bit 7: write audit (to be implemented)
----------21B8-------------------------------
INT 21 - Attachmate Extra - DISABLE HOST BUFFER UPDATES
AH = B8h
AL = window number (1-4=host B-E)
DL = 01h
Notes: only valid in CUT mode
next AID keystroke (eg Enter) enables host buffer updates
SeeAlso: AH=A4h
----------21B800-----------------------------
INT 21 - Novell NetWare - PRINT SERVICES - GET DEFAULT CAPTURE FLAGS
AX = B800h
CX = size of reply buffer (01h-3Fh)
ES:BX -> reply buffer for capture flags table (see below)
Return: AL = status
00h successful
Note: this function is supported by Advanced NetWare 2.0+
SeeAlso: AX=B801h,AX=B802h,AH=DFh/DL=00h,AH=DFh/DL=04h
Format of capture flags table:
Offset Size Description
00h BYTE status (used internally, should be set to 00h)
01h BYTE print flags
bit 2: print capture file if interrupted by loss of connection
3: no automatic form feed after print job
6: printing control sequences interpreted by print service
7: print banner page before capture file
02h BYTE tab size (01h-12h, default 08h)
03h BYTE printer number on server (00h-04h, default 00h)
04h BYTE number of copies to print (00h-FFh, default 01h)
05h BYTE form type required in printer (default 00h)
06h BYTE reserved
07h 13 BYTEs text to be placed on banner page
14h BYTE reserved
15h BYTE default local printer (00h = LPT1)
16h WORD timeout in clock ticks for flushing capture file on inactivity
(big-endian)
0000h = never timeout
18h BYTE flush capture file on LPT close if nonzero
19h WORD maximum lines per page (big-endian)
1Bh WORD maximum characters per line (big-endian)
1Dh 13 BYTEs name of form required in printer
2Ah BYTE LPT capture flag
00h inactive, FFh LPT device is being captured
2Bh BYTE file capture flag
00h if no file specified, FFh if capturing to file
2Ch BYTE timing out (00h if no timeout in effect, FFh if timeout counter
running)
2Dh DWORD address of printer setup string (big-endian)
31h DWORD address of printer reset string (big-endian)
35h BYTE target connection ID
36h BYTE capture in progress if FFh
37h BYTE job queued for printing if FFh
38h BYTE print job valid if FFh
39h DWORD bindery object ID of print queue if previous byte FFh
3Dh WORD print job number (1-999) `````(big-endian)
----------21B801-----------------------------
INT 21 - Novell NetWare - PRINT SERVICES - SET DEFAULT CAPTURE FLAGS
AX = B801h
CX = size of buffer (01h-3Fh)
ES:BX -> buffer containing capture flags table (see below)
Return: AL = status
00h successful
Note: this function is supported by Advanced NetWare 2.0+
SeeAlso: AX=B800h,AX=B803h,AH=DFh/DL=00h,AH=DFh/DL=04h
----------21B802-----------------------------
INT 21 - Novell NetWare - PRINT SERVICES - GET SPECIFIC CAPTURE FLAGS
AX = B802h
CX = size of reply buffer (01h-3Fh)
DH = LPT port (00h-02h)
ES:BX -> reply buffer for capture flags table (see AX=B800h)
Return: AL = status
00h successful
Note: this function is supported by Advanced NetWare 2.1+
SeeAlso: AX=B800h,AX=B803h,AH=DFh/DL=00h,AH=DFh/DL=04h
----------21B803-----------------------------
INT 21 - Novell NetWare - PRINT SERVICES - SET SPECIFIC CAPTURE FLAGS
AX = B803h
CX = size of buffer (01h-3Fh)
DH = LPT port (00h-02h)
ES:BX -> buffer containing capture flags table (see below)
Return: AL = status
00h successful
Note: this function is supported by Advanced NetWare 2.1+
SeeAlso: AX=B800h,AX=B803h,AH=DFh/DL=00h,AH=DFh/DL=04h
----------21B804-----------------------------
INT 21 - Novell NetWare - PRINT SERVICES - GET DEFAULT LOCAL PRINTER
AX = B804h
Return: DH = default LPT port (00h-02h)
Note: this function is supported by Advanced NetWare 2.1+
SeeAlso: AX=B800h,AX=B805h,AH=DFh/DL=00h
----------21B805-----------------------------
INT 21 - Novell NetWare - PRINT SERVICES - SET DEFAULT LOCAL PRINTER
AX = B805h
DH = new default LPT port (00h-02h)
Return: AL = status
00h successful
Note: this function is supported by Advanced NetWare 2.1+
SeeAlso: AX=B800h,AX=B804h,AH=DFh/DL=00h
----------21B806-----------------------------
INT 21 - Novell NetWare - PRINT SERVICES - SET CAPTURE PRINT QUEUE
AX = B806h
DH = LPT port (00h-02h)
BX:CX = print queue's object ID
Return: AL = status
00h successful
FFh job already set
Desc: specify the print queue on which a print job is to be placed the next
time a capture is started on the given printer port
Note: this function is supported by Advanced NetWare 2.1+
SeeAlso: AX=B801h,AX=B807h,AX=E009h
----------21B807-----------------------------
INT 21 - Novell NetWare - PRINT SERVICES - SET CAPTURE PRINT JOB
AX = B807h
DH = LPT port (00h-02h)
BX = job number (see AH=E3h/SF=68h)
SI:DI:CX = NetWare file handle (see AH=E3h/SF=68h)
Return: AL = status
00h successful
FFh job already queued
Desc: specify the capture file and print job to be used for subsequent
output to the given printer port
Note: this function is supported by Advanced NetWare 2.1+
SeeAlso: AX=B801h,AX=B806h,AX=E009h,AH=E3h/SF=68h
----------21B808-----------------------------
INT 21 - Novell NetWare - PRINT SERVICES - GET BANNER USER NAME
AX = B808h
ES:BX -> 12-byte buffer for user name
Return: AL = status
00h successful
Desc: get the user name which is printed on the banner page
Notes: this function is supported by Advanced NetWare 2.1+
the default name is the login name of the user
SeeAlso: AX=B809h
----------21B809-----------------------------
INT 21 - Novell NetWare - PRINT SERVICES - GET BANNER USER NAME
AX = B809h
ES:BX -> 12-byte buffer containing user name
Return: AL = status
00h successful
Desc: specify the user name which is printed on the banner page
Notes: this function is supported by Advanced NetWare 2.1+
the default name is the login name of the user
SeeAlso: AX=B808h
----------21BB-------------------------------
INT 21 - Novell NetWare - WORKSTATION - SET END OF JOB STATUS
AH = BBh
AL = new EOJ flag
00h disable EOJs
01h enable EOJs
Return: AL = old EOJ flag
Desc: specify whether the network shell should automatically generate an
End of Job call when the root command processor regains control
Note: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AH=D6h
----------21BBBB-----------------------------
INT 21 - VIRUS - "Hey You" - INSTALLATION CHECK
AX = BBBBh
Return: AX = 6969h
SeeAlso: AH=ABh"VIRUS",AH=BEh"VIRUS"
----------21BC-------------------------------
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOG PHYSICAL RECORD
AH = BCh
AL = flags
bit 0: lock as well as log record
1: non-exclusive lock
BX = file handle
CX:DX = starting offset in file
SI:DI = length of region to lock
BP = timeout in timer ticks (1/18 sec)
0000h = don't wait if already locked
Return: AL = status
00h successful
96h no dynamic memory for file
FEh timed out
FFh failed
Desc: add the specified physical record to the log table, optionally locking
it
Note: this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AH=5Ch,AH=BDh,AH=BEh,AH=BFh,AH=C2h,AH=D0h
----------21BD-------------------------------
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE PHYSICAL RECORD
AH = BDh
BX = file handle
CX:DX = starting offset in file
SI:DI = length of record
Return: AL = status
00h successful
FFh record not locked
Desc: unlock the specified physical record but do not remove it from log
table
Note: this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AH=BCh,AH=BEh"NetWare",AH=C0h,AH=C3h,AH=D2h
----------21BE-------------------------------
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR PHYSICAL RECORD
AH = BEh
BX = file handle
CX:DX = starting offset within file
SI:DI = record length in bytes
Return: AL = status
00h successful
FFh specified record not locked
Desc: unlock the physical record and remove it from the log table
Note: this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AH=5Ch,AH=BCh,AH=BDh,AH=C1h,AH=C4h,AH=D4h
----------21BE-------------------------------
INT 21 - VIRUS - "Datalock" - INSTALLATION CHECK
AH = BEh
Return: AX = 1234h if resident
SeeAlso: AX=BBBBh,AX=BE00h
----------21BE00-----------------------------
INT 21 - VIRUS - "USSR-1049" - INSTALLATION CHECK
AX = BE00h
CF set
Return: CF clear if resident
SeeAlso: AH=BEh"VIRUS",AH=C0h"VIRUS"
----------21BF-------------------------------
INT 21 - Novell NetWare 4.6, Alloy NTNX - LOG/LOCK RECORD (FCB)
AH = BFh
AL = flags
bit 0: lock as well as log record
1: non-exclusive lock
DS:DX -> opened FCB (see AH=0Fh)
BX:CX = offset
BP = lock timeout in timer ticks (1/18 sec)
SI:DI = length
Return: AL = error code (see AH=BCh)
SeeAlso: AH=BCh,AH=C0h"NetWare",AH=C2h"NetWare"
----------21C0-------------------------------
INT 21 - Novell NetWare 4.6, Alloy NTNX - RELEASE RECORD (FCB)
AH = C0h
DS:DX -> FCB (see AH=0Fh)
BX:CX = offset
Return: AL = error code (see AH=BCh)
Note: unlocks record but does not remove it from log table
SeeAlso: AH=BDh,AH=BFh,AH=C1h"NetWare",AH=C3h
----------21C0-------------------------------
INT 21 - VIRUS - "Slow"/"Zerotime", "Solano" - INSTALLATION CHECK
AH = C0h
Return: AX = 0300h if "Slow"/"Zerotime" resident
AX = 1234h if "Solano" resident
SeeAlso: AX=BE00h,AH=C1h"VIRUS",AX=C301h"VIRUS"
----------21C1-------------------------------
INT 21 - Novell NetWare 4.6, Alloy NTNX - CLEAR RECORD (FCB)
AH = C1h
DS:DX -> opened FCB (see AH=0Fh)
BX:CX = offset
Return: AL = error code (see AH=BCh)
Note: unlocks record and removes it from log table
SeeAlso: AH=BEh,AH=C0h"NetWare",AH=C4h
----------21C1-------------------------------
INT 21 - VIRUS - "Solano" - ???
AH = C1h
???
Return: ???
SeeAlso: AH=C0h"VIRUS"
----------21C2-------------------------------
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOCK PHYSICAL RECORD SET
AH = C2h
AL = flags
bit 1: non-exclusive lock
BP = lock timeout in timer ticks (1/18 sec) 0000h = no wait
Return: AL = status
00h successful
FEh timed out
FFh failed
Desc: attempt to lock all physical records listed in the log table
Notes: this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
Alloy NTNX
status FFh will be retuend if one or more physical records have been
exclusively locked by another process
SeeAlso: AH=BFh,AH=C3h,AH=D1h
----------21C2-------------------------------
INT 21 - VIRUS - "Scott's Valley" - ???
AH = C2h
???
Return: ???
SeeAlso: AH=C0h"VIRUS"
----------21C3-------------------------------
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE PHYSICAL RECRD SET
AH = C3h
Desc: unlock all currently-locked physical records in the log table, but do
not remove them from the table
Note: this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AH=BDh,AH=C0h,AH=C2h"NetWare",AH=C4h,AH=D3h
----------21C301DXF1F1-----------------------
INT 21 - VIRUS - "905"/"Backfont" - INSTALLATION CHECK
AX = C301h
DX = F1F1h
Return: DX = 0E0Eh if resident
SeeAlso: AH=C0h"VIRUS",AX=C500h"VIRUS"
----------21C4-------------------------------
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR PHYSICAL RECORD SET
AH = C4h
Desc: unlock all physical records in the log table and remove them from the
log table
Note: this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AH=BEh,AH=C1h,AH=D5h
----------21C500-----------------------------
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - OPEN SEMAPHORE
AX = C500h
DS:DX -> semaphore name (counted string, max 127 bytes)
CL = initial value for semaphore
Return: AL = status
00h successful
BL = number of processes having semaphore open
CX:DX = semaphore handle
FEh invalid name length
FFh invalid semaphore value
Notes: this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
Alloy NTNX
the semaphore's value is incremented by AX=C503h and decremented by
AX=C502h
SeeAlso: AX=C501h,AX=C502h,AX=C503h,AX=C504h
----------21C500-----------------------------
INT 21 - VIRUS - "Sverdlov" - INSTALLATION CHECK
AX = C500h
Return: AX = 6731h if resident
SeeAlso: AX=C301h"VIRUS",AH=C6h"VIRUS"
----------21C501-----------------------------
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - EXAMINE SEMAPHORE
AX = C501h
CX:DX = semaphore handle
Return: AL = status
00h successful
CX = semaphore value (-127 to 127)
DL = count of processes which have the semaphore open
FFh invalid handle
Note: this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AX=C500h"NetWare",AX=C502h,AX=C504h
----------21C502-----------------------------
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - WAIT ON SEMAPHORE
AX = C502h
CX:DX = semaphore handle
BP = timeout limit in timer ticks (1/18 sec)
0000h return immediately if semaphore already zero or negative
Return: AL = status
00h successful
FEh timeout
FFh invalid handle
Desc: decrement the semaphore's value, optionally waiting until its value
becomes positive before decrementing
Note: this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AX=C500h"NetWare",AX=C501h,AX=C503h
----------21C503-----------------------------
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - SIGNAL SEMAPHORE
AX = C503h
CX:DX = semaphore handle
Return: AL = status
00h successful
01h semaphore value overflowed
FFh invalid handle
Desc: increment the semaphore's value and signal the first process (if any)
in the queue waiting on the semaphore
Note: this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AX=C500h"NetWare",AX=C502h
----------21C504-----------------------------
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLOSE SEMAPHORE
AX = C504h
CX:DX = semaphore handle
Return: AL = status
00h successful
FFh invalid handle
Desc: decrement the semaphore's open count, and delete the semaphore if the
count reaches zero
Note: this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AX=C500h"NetWare",AX=C501h
----------21C6-------------------------------
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - GET OR SET LOCK MODE
AH = C6h
AL = subfunction
00h set old "compatibility" mode (default)
01h set new extended locks mode
02h get lock mode
Return: AL = current lock mode
Note: this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
Alloy NTNX
the locking mode should be 01h for NetWare 4.61+ and Advanced
NetWare 1.0+ locking calls, and 00h for all older calls
SeeAlso: AH=BCh,AH=C4h,AH=D0h
----------21C6-------------------------------
INT 21 - VIRUS - "Socha" - INSTALLATION CHECK
AH = C6h
Return: AL = 55h if resident
SeeAlso: AX=C500h"VIRUS",AX=C603h
----------21C603-----------------------------
INT 21 - VIRUS - "Yankee" or "MLTI" - INSTALLATION CHECK
AX = C603h
CF set
Return: CF clear if resident
SeeAlso: AX=C500h"VIRUS",AX=C700h"VIRUS"
----------21C700-----------------------------
INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - BEGIN TRANSACTION
AX = C700h
Return: CF clear if successful
AL = 00h
CF set on error
AL = error code
96h out of memory
FEh implicit transaction already active, converted to explicit
FFh explicit transaction already active
Note: this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
SeeAlso: AX=C701h,AX=C702h,AX=C703h
----------21C700-----------------------------
INT 21 - VIRUS - "MH-757" - INSTALLATION CHECK
AX = C700h
Return: AL = 07h if resident
SeeAlso: AX=C603h"VIRUS",AH=CBh"VIRUS"
----------21C701-----------------------------
INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - END TRANSACTION
AX = C701h
Return: AL = status
00h successful
CX:DX = transaction number
FDh transaction tracking disabled
FEh transaction ended records locked
FFh no explicit transaction active
CF clear except when AL=FFh
Note: this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
SeeAlso: AX=C700h"NetWare",AX=C703h
----------21C702-----------------------------
INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - INSTALLATION CHECK
AX = C702h
Return: AL = status
00h not available
01h available
FDh available but disabled
Desc: determine whether the default file server supports TTS
Note: this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
----------21C703-----------------------------
INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - ABORT TRANSACTION
AX = C703h
Return: CF clear if successful
AL = 00h
CF set on error
AL = error code
FDh transaction tracking disabled, no backout
FEh transaction ended records locked
FFh no explicit transaction active
Note: this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
SeeAlso: AX=C700h"NetWare",AX=C701h,AX=C704h
----------21C704-----------------------------
INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - TRANSACTION STATUS
AX = C704h
CX:DX = transaction number (see AX=C701h)
Return: AL = status
00h successful
FFh not yet written to disk
Desc: verify that a transaction has actually been written to disk
Notes: this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
transactions are written to disk in the order in which they are ended,
but it may take as much as five seconds for the data to be written
SeeAlso: AX=C700h"NetWare",AX=C701h,AX=C703h
----------21C705-----------------------------
INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - GET APPLICTN THRESHOLDS
AX = C705h
Return: AL = status
00h successful
CL = maximum logical record locks (default 0)
CH = maximum physical record locks (default 0)
Desc: get the per-application limits on record locks allowed before an
implicit transaction is begun
Notes: this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
if either limit is FFh, implicit transactions are disabled for the
corresponding lock type
SeeAlso: AX=C706h,AX=C707h
----------21C706-----------------------------
INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - SET APPLICTN THRESHOLDS
AX = C706h
CL = maximum logical record locks (default 0)
CH = maximum physical record locks (default 0)
Return: AL = status
00h successful
Desc: specify the per-application limits on record locks allowed before an
implicit transaction is begun
Notes: this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
if either limit is set to FFh, implicit transactions are disabled for
the corresponding lock type
SeeAlso: AX=C705h,AX=C708h
----------21C707-----------------------------
INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - GET WORKSTN THRESHOLDS
AX = C707h
Return: AL = status
00h successful
CL = maximum logical record locks (default 0)
CH = maximum physical record locks (default 0)
Desc: get the per-workstation limits on record locks allowed before an
implicit transaction is begun
Notes: this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
if either limit is FFh, implicit transactions are disabled for the
corresponding lock type
SeeAlso: AX=C705h,AX=C708h
----------21C708-----------------------------
INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - SET WORKSTN THRESHOLDS
AX = C708h
CL = maximum logical record locks (default 0)
CH = maximum physical record locks (default 0)
Return: AL = status
00h successful
Desc: specify the per-workstation limits on record locks allowed before an
implicit transaction is begun
Notes: this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
if either limit is set to FFh, implicit transactions are disabled for
the corresponding lock type
SeeAlso: AX=C706h,AX=C707h
----------21C8-------------------------------
INT 21 - Novell NetWare 4.0 - BEGIN LOGICAL FILE LOCKING
AH = C8h
if function C6h lock mode 00h:
DL = mode
00h no wait
01h wait
if function C6h lock mode 01h:
BP = timeout in timer ticks (1/18 sec)
Return: AL = error code
SeeAlso: AH=C9h
----------21C9-------------------------------
INT 21 - Novell NetWare 4.0 - END LOGICAL FILE LOCKING
AH = C9h
Return: AL = error code
SeeAlso: AH=C8h
----------21CA-------------------------------
INT 21 - Novell NetWare 4.0, Alloy NTNX - LOG/LOCK PERSONAL FILE (FCB)
AH = CAh
DS:DX -> FCB (see AH=0Fh)
if function C6h lock mode 01h:
AL = log and lock flag
00h log file only
01h lock as well as log file
BP = lock timeout in timer ticks (1/18 sec)
Return: AL = error code
00h successful
96h no dynamic memory for file
FEh timeout
FFh failed
SeeAlso: AH=CBh
----------21CA15-----------------------------
INT 21 - VIRUS - "Piter" - ???
AX = CA15h
???
Return: ???
SeeAlso: AH=CCh"VIRUS"
----------21CB-------------------------------
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOCK FILE SET
AH = CBh
if function C6h lock mode 00h:
DL = mode
00h no wait
01h wait
if function C6h lock mode 01h:
BP = lock timeout in timer ticks (1/18 sec) 0000h = no wait
Return: AL = status
00h successful
FEh timed out
FFh failed
Desc: attempt to lock all files listed in the log table
Notes: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX
status FFh will be returned if one or more of the files have already
been exclusively locked by another process
SeeAlso: AH=CAh,AH=CDh,AH=D1h,AH=EBh
----------21CB-------------------------------
INT 21 - VIRUS - "Milous" - INSTALLATION CHECK
AH = CBh
Return: AL = 07h if resident
SeeAlso: AX=C700h"VIRUS",AX=CB02h
----------21CB02-----------------------------
INT 21 - VIRUS - "Witcode" - INSTALLATION CHECK
AX = CB02h
Return: AX = 02CBh if resident
SeeAlso: AH=CBh"VIRUS",AH=CCh"VIRUS"
----------21CC-------------------------------
INT 21 - Novell NetWare 4.0, Alloy NTNX - RELEASE FILE (FCB)
AH = CCh
DS:DX -> FCB (see AH=0Fh)
Return: none
Note: unlocks file, but does not remove it from the log table or close it
SeeAlso: AH=CAh,AH=CDh
----------21CC-------------------------------
INT 21 - VIRUS - "Westwood" - INSTALLATION CHECK
AH = CCh
Return: AX = 0700h if resident
SeeAlso: AX=CB02h,AH=CDh"VIRUS",AX=D000h"VIRUS"
----------21CD-------------------------------
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE FILE SET
AH = CDh
Return: none
Desc: unlock all files listed in the log table, but don't remove them from
the table
Note: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AH=CBh,AH=CCh,AH=CFh,AH=D3h
----------21CD-------------------------------
INT 21 - VIRUS - "Westwood" - ???
AH = CDh
???
Return: ???
SeeAlso: AH=CCh"VIRUS"
----------21CE-------------------------------
INT 21 - Novell NetWare 4.0, Alloy NTNX - CLEAR FILE (FCB)
AH = CEh
DS:DX -> FCB (see AH=0Fh)
Return: AL = error code
Note: unlocks file and removes it from log table, then closes all opened and
logged occurrences
SeeAlso: AH=CAh,AH=CFh,AH=EDh"NetWare"
----------21CF-------------------------------
INT 21 - LANstep - ???
AH = CFh
???
Return: ???
Note: LANstep is a redesign of the Waterloo Microsystems PORT network
----------21CF-------------------------------
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR FILE SET
AH = CFh
Return: AL = 00h
Desc: unlock and remove all files from log table
Note: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AH=CAh,AH=CEh,AH=EBh"NetWare"
----------21D0-------------------------------
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOG LOGICAL RECORD
AH = D0h
DS:DX -> record string (counted string, max 99 data bytes)
if function C6h lock mode 01h: (Novell, NTNX only)
AL = flags
bit 0: lock as well as log the record
bit 1: non-exclusive lock
BP = lock timeout in timer ticks (1/18 sec)
Return: AL = status
00h successful
96h no dynamic memory for file
FEh timed out
FFh unsuccessful
Desc: add the specified logical record name to the log table, and optionally
lock the record
Notes: this function is supported by NetWare 4.6+, Advanced NetWare 1.0+,
Banyan VINES, and Alloy NTNX
locks on logical record names are advisory and may be ignored by other
applications
SeeAlso: AH=BCh,AH=D1h,AH=D2h,AH=D4h,AH=EBh
----------21D000-----------------------------
INT 21 - VIRUS - "Fellowship" - INSTALLATION CHECK
AX = D000h
Return: BX = 1234h if resident
SeeAlso: AH=CCh"VIRUS",AH=D5h"VIRUS",AX=D5AAh
----------21D1-------------------------------
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOCK LOGICAL RECORD SET
AH = D1h
AL = lock type (00h exclusive, 01h shareable)
if function C6h lock mode 00h:
DL = mode
00h no wait
01h wait
if function C6h lock mode 01h: (Novell only)
BP = lock timeout in timer ticks (1/18 sec) 0000h = no wait
0000h no wait
Return: AL = status (see AH=CBh)
Desc: attempt to lock all logical record names listed in the log table
Notes: this function is supported by NetWare 4.6+, Advanced Netware 1.0+,
Banyan VINES, and Alloy NTNX
status FFh will be returned if one or more logical records have been
exclusively locked by another process
locks on logical record names are advisory and may be ignored by other
applications
SeeAlso: AH=C2h,AH=CBh,AH=D0h,AH=D3h,AH=D5h
----------21D2-------------------------------
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE LOGICAL RECORD
AH = D2h
DS:DX -> semaphore identifier (counted string up to 99 chars long)
Return: AL = status
00h successful
FFh no such record
Desc: unlock the logical record name but do not remove it from the log table
Notes: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+,
Banyan VINES, and Alloy NTNX
locks on logical record names are advisory and may be ignored by other
applications
SeeAlso: AH=BDh,AH=D0h,AH=D3h,AH=D4h
----------21D3-------------------------------
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE LOGICAL RECORD SET
AH = D3h
Desc: unlock all currently-locked logical record names in the log table, but
do not remove them from the table
Notes: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+,
Banyan VINES, and Alloy NTNX
locks on logical record names are advisory and may be ignored by other
applications
SeeAlso: AH=C3h,AH=CDh,AH=D1h,AH=D2h,AH=D5h
----------21D4-------------------------------
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR LOGICAL RECORD
AH = D4h
DS:DX -> logical record name (counted string up to 99 chars long)
Return: AL = status
00h successful
FFh no such record name
Desc: unlock and remove the logical record name from the log table
Notes: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+,
Banyan VINES, and Alloy NTNX
locks on logical record names are advisory and may be ignored by other
applications
SeeAlso: AH=BEh,AH=D0h,AH=D2h,AH=D5h
----------21D5-------------------------------
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR LOGICAL RECORD SET
AH = D5h
Return: AL = error code (see AH=D4h)
Desc: unlock and remove all logical record name from the log table
Notes: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+,
Banyan VINES, and Alloy NTNX
locks on logical record names are advisory and may be ignored by other
applications
SeeAlso: AH=D1h,AH=D3h,AH=D4h
----------21D5-------------------------------
INT 21 - VIRUS - "Carfield" - ???
AH = D5h
???
Return: ???
SeeAlso: AX=D5AAh,AH=F3h"Carfield"
----------21D5AA-----------------------------
INT 21 - VIRUS - "Diamond-A", "Diamond-B" - INSTALLATION CHECK
AX = D5AAh
Return: AX = 2A55h if "Diamond-A" resident
AX = 2A03h if "Diamond-B"-family virus resident
SeeAlso: AX=D000h,AH=D5h"VIRUS",AX=D5AAh/BP=DEAAh
----------21D5AABPDEAA-----------------------
INT 21 - VIRUS - "Dir" - INSTALLATION CHECK
AX = D5AAh
BP = DEAAh
Return: SI = 4321h if resident
SeeAlso: AX=D5AAh,AX=DADAh"VIRUS"
----------21D6-------------------------------
INT 21 - Novell NetWare - WORKSTATION - END OF JOB
AH = D6h
BX = job flag (0000h current job, FFFFh all processes on workstation)
Return: AL = error code
Desc: unlocks and clears all locked or logged files and records held by the
process(es), closes all files, resets error and lock modes, and
releases all network resources
Note: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AH=BBh,AH=D7h
----------21D7-------------------------------
INT 21 - Novell NetWare - CONNECTION SERVICES - SYSTEM LOGOUT
AH = D7h
Return: AL = error code
Desc: this function closes the caller's open files, logs it out from all
file servers, detaches the workstation from all non-default file
servers, and maps a drive to the default server's SYS:LOGIN directory
Note: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AH=D6h,AH=E3h/SF=14h,AH=F1h
----------21D8-------------------------------
INT 21 - Novell NetWare, Banyan VINES - ALLOCATE RESOURCE
AH = D8h
DL = resource number
Return: AL = status
00h successful
FFh unsucessful
SeeAlso: AH=D9h
----------21D9-------------------------------
INT 21 - Novell NetWare, Banyan VINES - DEALLOCATE RESOURCE
AH = D9h
DL = resource number
Return: AL = status (see AH=D8h)
SeeAlso: AH=D8h
----------21DA-------------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME INFO WITH NUMBER
AH = DAh
DL = volume number
ES:DI -> reply buffer (see below)
Return: AL = 00h
Note: this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
SeeAlso: AH=36h,AH=E2h/SF=15h,AH=E3h/SF=E9h
Format of reply buffer:
Offset Size Description
00h WORD sectors/block
02h WORD total blocks on volume
04h WORD unused blocks
06h WORD total directory entries
08h WORD unused directory entries
0Ah 16 BYTEs volume name, null padded
1Ah WORD removable flag, 0000h = not removable
Note: all words are big-endian
----------21DADA-----------------------------
INT 21 - VIRUS - "Gotcha" - INSTALLATION CHECK
AX = DADAh
Return: AH = A5h
SeeAlso: AX=D5AAh,AH=DAFEh"VIRUS"
----------21DAFE-----------------------------
INT 21 - VIRUS - "Plovdiv 1.3" - INSTALLATION CHECK
AX = DAFEh
Return: AX = 1234h if resident
SeeAlso: AX=DADAh,AH=DDh"VIRUS",AH=DEh"VIRUS"
----------21DB-------------------------------
INT 21 - Novell NetWare - WORKSTATION - GET NUMBER OF LOCAL DRIVES
AH = DBh
Return: AL = number of local disks as set by LASTDRIVE in CONFIG.SYS
Note: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AH=0Eh
----------21DC-------------------------------
INT 21 - Novell NetWare - CONNECTION SERVICES - GET CONNECTION NUMBER
AH = DCh
Return: AL = logical connection number
00h if NetWare not loaded or this machine is a non-dedicated server
CX = station number in ASCII (CL = first digit)
Notes: this function is supported by NetWare 4.0+, Banyan VINES, and Alloy
NTNX
station number only unique for those PCs connected to same semaphore
service
----------21DC-------------------------------
INT 21 - PCMag PCMANAGE/DCOMPRES - TURN ON/OFF
AH = DCh
DX = state
0000h turn on
0001h turn off
SeeAlso: AX=FEDCh
----------21DD-------------------------------
INT 21 - Novell NetWare - WORKSTATION - SET NetWare ERROR MODE
AH = DDh
DL = error mode
00h invoke INT 24 on critical I/O errors (default)
01h return NetWare extended error code in AL
02h return error code in AL, mapped to standard DOS error codes
Return: AL = previous error mode
Note: this function is supported by Advanced NetWare 2.0+
SeeAlso: INT 24
----------21DD-------------------------------
INT 21 - VIRUS - "Jerusalem"-family - RELOCATE VIRUS???
AH = DDh
CX = number of bytes to copy
DS:SI -> source of copy
ES:DI -> destination of copy
Return: does not return normally; return address is caller's CS:0100h with
AX = ???
SeeAlso: AH=E0h"VIRUS",AH=EEh"VIRUS"
----------21DE-------------------------------
INT 21 - VIRUS - "Durban" - INSTALLATION CHECK
AH = DEh
Return: AH = DFh if resident
SeeAlso: AX=DAFEh,AX=DEDEh"VIRUS"
----------21DE-------------------------------
INT 21 - VIRUS - "April 1st EXE" - ???
AH = DEh
???
Return: ???
----------21DE-------------------------------
INT 21 - Novell NetWare - MESSAGE SERVICES - SET BROADCAST MODE
AH = DEh
DL = broadcast mode
00h receive server and workstation broadcasts (default)
01h receive server broadcasts, discard user messages
02h store server broadcasts for retrieval
03h store all broadcasts for retrieval
Return: AL = new broadcast mode
Note: this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
----------21DE--DL04-------------------------
INT 21 - Novell NetWare - MESSAGE SERVICES - GET BROADCAST MODE
AH = DEh
DL = 04h
Return: AL = current broadcast mode
00h receive server and workstation broadcasts (default)
01h receive server broadcasts, discard user message
02h store server broadcasts for retrieval
03h store all broadcasts for retrieval
Note: this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
----------21DE-------------------------------
INT 21 - Novell NetWare 4.0 - SHELL TIMER INTERRUPT CHECKS
AH = DEh
DL = function
05h disable shell timer interrupt checks
06h enable shell timer interrupt checks
Return: ???
----------21DEDE-----------------------------
INT 21 - VIRUS - "Brothers" - INSTALLATION CHECK
AX = DEDEh
Return: AH = 41h if resident
SeeAlso: AH=DEh"VIRUS",AH=E0h"VIRUS"
----------21DF--DL00-------------------------
INT 21 - Novell NetWare - PRINT SERVICES - START LPT CAPTURE
AH = DFh
DL = 00h
Return: AL = status
00h successful
Desc: this function redirects the default LPT to a capture file on the file
server
Note: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX; under NTNX, it sends a print break (see INT 17/AH=84h)
a print job is queued when the first character of output is captured
SeeAlso: AX=B800h,AX=B804h,AH=DFh/DL=01h,AH=DFh/DL=02h,AH=DFh/DL=03h
SeeAlso: AH=DFh/DL=04h,AX=F003h
----------21DF--DL01-------------------------
INT 21 - Novell NetWare - PRINT SERVICES - END LPT CAPTURE
AH = DFh
DL = 01h
Return: AL = status
00h successful
Desc: stop redirecting the default LPT, close the capture file, and release
the job in the print queue for printing
Note: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX; under NTNX, it sends a print break (see INT 17/AH=84h)
after this call, the default LPT defaults to local printing
SeeAlso: AH=DFh/DL=00h,AH=DFh/DL=02h,AH=DFh/DL=03h,AH=DFh/DL=05h
----------21DF--DL02-------------------------
INT 21 - Novell NetWare - PRINT SERVICES - CANCEL LPT CAPTURE
AH = DFh
DL = 02h
Return: AL = status
00h successful
Desc: this function ends the capture of the default LPT, removes the job from
the print queue, and deletes the capture file unless it is a
permanent capture file
Notes: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX; under NTNX, it sends a print break (see INT 17/AH=84h)
after this call, the default LPT defaults to local printing
SeeAlso: AH=DFh/DL=00h,AH=DFh/DL=06h
----------21DF--DL02-------------------------
INT 21 - Novell NetWare - PRINT SERVICES - FLUSH LPT CAPTURE
AH = DFh
DL = 03h
Return: AL = status
00h successful
Desc: this function closes the current capture file for the default LPT
and starts printing it if it is not a permanent capture file
Notes: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX; under NTNX, it sends a print break (see INT 17/AH=84h)
if more data is sent to the LPT port after this call, a new capture
file will be opeend
SeeAlso: AH=DFh/DL=00h,AH=DFh/DL=01h,AH=DFh/DL=02h,AH=DFh/DL=07h
----------21DF--DL04-------------------------
INT 21 - Novell NetWare - PRINT SERVICES - START SPECIFIC LPT CAPTURE
AH = DFh
DL = 04h
DH = LPT port (00h-02h)
Return: AL = status
00h successful
Desc: this function redirects the specified LPT to a capture file on the file
server
Notes: this function is supported by Advanced NetWare 2.1+
a print job is queued when the first character of output is captured
SeeAlso: AX=B800h,AH=DFh/DL=00h,AH=DFh/DL=05h,AH=DFh/DL=06h,AH=DFh/DL=07h
SeeAlso: AX=F003h
----------21DF--DL05-------------------------
INT 21 - Novell NetWare - PRINT SERVICES - END SPECIFIC LPT CAPTURE
AH = DFh
DL = 05h
DH = LPT port (00h-02h)
Return: AL = status
00h successful
Desc: stop redirecting the specified LPT, close the capture file, and release
the job in the print queue for printing
Notes: this function is supported by Advanced NetWare 2.1+
after this call, the specified LPT defaults to local printing
SeeAlso: AH=DFh/DL=01h,AH=DFh/DL=04h,AH=DFh/DL=06h,AH=DFh/DL=07h
----------21DF--DL06-------------------------
INT 21 - Novell NetWare - PRINT SERVICES - CANCEL SPECIFIC LPT CAPTURE
AH = DFh
DL = 06h
DH = LPT port (00h-02h)
Return: AL = status
00h successful
Desc: this function ends the capture of the specified LPT, removes the job
from the print queue, and deletes the capture file unless it is a
permanent capture file
Notes: this function is supported by Advanced NetWare 2.1+
after this call, the specified LPT defaults to local printing
SeeAlso: AH=DFh/DL=02h,AH=DFh/DL=04h,AH=DFh/DL=05h,AH=DFh/DL=07h
----------21DF--DL07-------------------------
INT 21 - Novell NetWare - PRINT SERVICES - FLUSH SPECIFIC LPT CAPTURE
AH = DFh
DL = 07h
DH = LPT port (00h-02h)
Return: AL = status
00h successful
Desc: this function closes the current capture file for the specified LPT
and starts printing it if it is not a permanent capture file
Notes: this function is supported by Advanced NetWare 2.1+
if more data is sent to the LPT port after this call, a new capture
file will be opeend
SeeAlso: AH=DFh/DL=03h,AH=DFh/DL=04h,AH=DFh/DL=05h,AH=DFh/DL=06h
----------21E0-------------------------------
INT 21 - Digital Research DOS Plus - CALL BDOS
AH = E0h
CL = BDOS function number (see INT E0"CP/M")
other registers as appropriate for function
Return: as appropriate for function
SeeAlso: AX=4459h,INT E0"CP/M"
----------21E0-------------------------------
INT 21 - OS/286, OS/386 - INITIALIZE REAL PROCEDURE
AH = E0h
???
Return: ???
SeeAlso: AH=E1h"OS/286"
----------21E0-------------------------------
INT 21 - DoubleDOS - MENU CONTROL
AH = E0h
AL = subfunction
01h exchange tasks
73h resume invisible job if suspended
74h kill other job
75h suspend invisible job
Note: identical to AH=F0h
SeeAlso: AH=F0h"DoubleDOS"
----------21E0-------------------------------
INT 21 - VIRUS - "Jerusalem", "Armagedon" - INSTALLATION CHECK
AH = E0h
Return: AX = 0300h if "Jerusalem" resident
AX = DADAh if "Armagedon" resident
SeeAlso: AH=DEh"VIRUS",AX=DEDEh"VIRUS",AX=E00Fh
----------21E0-------------------------------
INT 21 - Novell NetWare 4.0, Alloy NTNX - PRINT SPOOLING
AH = E0h
DS:SI -> request buffer
ES:DI -> reply buffer
subfunction in third byte of request buffer
00h spool data to a capture file
01h close and queue capture file
02h set spool flags
03h spool existing file
04h get spool queue entry
05h remove entry from spool queue
Return: AL = status
----------21E0--SF06-------------------------
INT 21 - Novell NetWare - PRINT SERVICES - GET PRINTER STATUS
AH = E0h subfn 06h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
FFh no such printer
Desc: get current state of specified printer attached to the server
Note: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX
Format of request buffer:
Offset Size Description
00h WORD 0002h (length of following data)
02h BYTE 06h (subfunction "Get Printer Status")
03h BYTE printer number (00h-04h)
Format of reply buffer:
Offset Size Description
00h WORD (call) 0004h (size of following results buffer)
02h BYTE flag: 00h printer active, FFh printer halted
03h BYTE flag: 00h printer online, 01h printer offline
04h BYTE current form type
05h BYTE target printer number (00h-04h)
same as number in request buffer unless rerouted by server
console
----------21E0--SF09-------------------------
INT 21 - Novell NetWare - PRINT SERVICES - SPECIFY CAPTURE FILE
AH = E0h subfn 09h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
9Ch invalid path
Desc: create a permanent capture file for the next print capture to be
started
Notes: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX
the caller must have read, write, and create rights for the directory
containing the capture file
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 102h)
02h BYTE 09h (subfunction "Specify Capture File")
03h BYTE directory handle or 00h
04h BYTE length of filename
05h N BYTEs name of capture file
Format of reply buffer:
Offset Size Description
00h WORD (call) 0000h (no results returned)
----------21E00F-----------------------------
INT 21 - VIRUS - "8-tunes" - INSTALLATION CHECK
AX = E00Fh
Return: AX = 4C31h if resident
SeeAlso: AH=E0h"VIRUS",AH=E1h"VIRUS"
----------21E1-------------------------------
INT 21 - OS/286, OS/386 - ISSUE REAL PROCEDURE CALL
AH = E1h
???
Return: ???
Note: protected mode only???
SeeAlso: AH=E0h"OS/286",AH=E2h"OS/286",AH=E3h"OS/286",AX=250Eh,INT 31/AX=0301h
----------21E1-------------------------------
INT 21 - DoubleDOS - CLEAR KEYBOARD BUFFER FOR CURRENT JOB
AH = E1h
SeeAlso: AH=E2h"DoubleDOS",AH=E3h"DoubleDOS",AH=E8h"DoubleDOS"
SeeAlso: AH=F1h"DoubleDOS"
----------21E1-------------------------------
INT 21 - VIRUS - "Mendoza", "Fu Manchu" - INSTALLATION CHECK
AH = E1h
Return: AX = 0300h if "Mendoza" resident
AX = 0400h if "Fu Manchu" resident
SeeAlso: AX=E00Fh,AH=E4h"VIRUS"
----------21E1--SF00-------------------------
INT 21 - Novell NetWare - MESSAGE SERVICES - SEND BROADCAST MESSAGE
AH = E1h subfn 00h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
FEh I/O error or out of dynamic workspace
Note: this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
SeeAlso: AH=DEh"NetWare",AH=DEh/DL=04h,AH=E1h/SF=01h,AH=E1h/SF=04h
SeeAlso: AH=E1h/SF=09h
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 9Eh)
02h BYTE 00h (subfunction "Send Broadcast Message")
03h BYTE number of connections (01h-64h)
04h N BYTEs list of connections to receive broadcast message
BYTE length of message (01h-37h)
N BYTEs broadcast message (no control characters or characters > 7Eh)
Format of reply buffer:
Offset Size Description
00h WORD (call) size of following results buffer (max 65h)
02h BYTE number of connections
03h N BYTEs list of per-connection results
00h successful
FCh message rejected due to lack of buffer space
FDh invalid connection number
FFh blocked (see also AH=E1h/SF=02h)
----------21E1--SF01-------------------------
INT 21 - Novell NetWare - MESSAGE SERVICES - GET BROADCAST MESSAGE
AH = E1h subfn 01h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
FCh full message queue
FEh out of dynamic workspace
Note: this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
SeeAlso: AH=DEh/DL=04h,AH=E1h/SF=00h,AH=E1h/SF=05h,AH=E1h/SF=09h
Format of request buffer:
Offset Size Description
00h WORD 0001h (length of following data)
02h BYTE 01h (subfunction "Get Broadcast Message")
Format of reply buffer:
Offset Size Description
00h WORD (call) size of following results buffer (max 38h)
02h BYTE length of message (00h-37h)
00h if no broadcast messages pending
03h N BYTEs message (no control characters or characters > 7Eh)
----------21E1-------------------------------
INT 21 - Novell NetWare - MESSAGE SERVICES - ENABLE/DISABLE BROADCAST MESSAGES
AH = E1h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer
Return: AL = error code
Note: these functions are supported by NetWare 4.0+ but are not listed in
_NetWare_System_Calls--DOS_; they may be obsolete
SeeAlso: AH=E1h/SF=00h,AH=E1h/SF=04h,AH=E1h/SF=09h
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 9Eh)
02h BYTE subfunction
02h disable station broadcasts
03h enable station broadcasts
03h ???
Format of reply buffer:
Offset Size Description
00h WORD (call) size of following results buffer
02h ???
----------21E1--SF04-------------------------
INT 21 - Novell NetWare - MESSAGE SERVICES - SEND PERSONAL MESSAGE
AH = E1h subfn 04h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
FEh I/O error or out of dynamic workspace
Notes: this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
message pipes use CPU time on the file server; IPX, SPX, or NetBIOS
connections should be used for peer-to-peer communications as these
protocols do not use file server time
SeeAlso: AH=E1h/SF=00h,AH=E1h/SF=05h,AH=E1h/SF=06h,AH=E1h/SF=08h
Format of request buffer:
Offset Size Description
00h WORD length of following data (max E5h)
02h BYTE 04h (subfunction "Send Personal Message")
03h BYTE number of connections (01h-64h)
04h N BYTEs list of connections to receive broadcast message
BYTE length of message (01h-7Eh)
N BYTEs message (no control characters or characters > 7Eh)
Format of reply buffer:
Offset Size Description
00h WORD (call) size of following results buffer (max 65h)
02h BYTE number of connections
03h N BYTEs list of per-connection results
00h successful
FCh message rejected because queue is full (contains 6 msgs)
FDh incomplete pipe
FFh failed
----------21E1--SF05-------------------------
INT 21 - Novell NetWare - MESSAGE SERVICES - GET PERSONAL MESSAGE
AH = E1h subfn 05h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
FEh out of dynamic workspace
Desc: return the oldest message in the default file server's message queue
for the calling workstation
Note: this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
SeeAlso: AH=E1h/SF=01h,AH=E1h/SF=04h,AH=E1h/SF=06h,AH=E1h/SF=08h
Format of request buffer:
Offset Size Description
00h WORD 0001h (length of following data)
02h BYTE 05h (subfunction "Get Personal Message")
Format of reply buffer:
Offset Size Description
00h WORD (call) size of following results buffer (max 80h)
02h BYTE connection number of sending station
03h BYTE length of message (00h-7Eh)
00h if no personal messages pending
04h N BYTEs message (no control characters or characters > 7Eh)
----------21E1--SF06-------------------------
INT 21 - Novell NetWare - MESSAGE SERVICES - OPEN MESSAGE PIPE
AH = E1h subfn 06h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
FEh out of dynamic workspace
Note: this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
SeeAlso: AH=E1h/SF=04h,AH=E1h/SF=07h,AH=E1h/SF=08h
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 66h)
02h BYTE 06h (subfunction "Open Message Pipe")
03h BYTE number of pipes to open (01h-64h)
04h N BYTEs list of connection numbers
Format of reply buffer:
Offset Size Description
00h WORD (call) size of following results buffer (max 65h)
02h BYTE number of connections
03h N BYTEs list of results
00h successful
FEh incomplete (target half not yet created)
FFh failed
----------21E1--SF07-------------------------
INT 21 - Novell NetWare - MESSAGE SERVICES - CLOSE MESSAGE PIPE
AH = E1h subfn 07h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
FCh full message queue
FEh out of dynamic workspace
Note: this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
SeeAlso: AH=E1h/SF=05h,AH=E1h/SF=06h,AH=E1h/SF=08h
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 66h)
02h BYTE 07h (subfunction "Close Message Pipe")
03h BYTE number of pipes to close (01h-64h)
04h N BYTEs list of connection numbers
Format of reply buffer:
Offset Size Description
00h WORD (call) size of following results buffer (max 65h)
02h BYTE number of connections
03h N BYTEs list of results
00h successful
FDh failed
FFh no such pipe
----------21E1--SF08-------------------------
INT 21 - Novell NetWare - MESSAGE SERVICES - CHECK PIPE STATUS
AH = E1h subfn 08h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
FCh full message queue
FEh out of dynamic workspace
Note: this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
SeeAlso: AH=E1h/SF=05h,AH=E1h/SF=06h,AH=E1h/SF=07h
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 66h)
02h BYTE 08h (subfunction "Check Pipe Status")
03h BYTE number of pipes to monitor (01h-64h)
04h N BYTEs list of connection numbers
Format of reply buffer:
Offset Size Description
00h WORD (call) size of following results buffer (max 65h)
02h BYTE number of connections
03h N BYTEs list of pipe statuses
00h open
FEh incomplete
FFh closed
----------21E1--SF09-------------------------
INT 21 - Novell NetWare - MESSAGE SERVICES - BROADCAST TO CONSOLE
AH = E1h subfn 09h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
FCh full message queue
FEh out of dynamic workspace
Desc: send a one-line message to the system console on the default file
server
Note: this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
SeeAlso: AH=DEh/DL=04h,AH=E1h/SF=00h,AH=E1h/SF=01h,AH=E3h/SF=D1h
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 3Eh)
02h BYTE 09h (subfunction "Broadcast to Console")
03h BYTE length of message (01h-3Ch)
04h N BYTEs message (no control characters or characters > 7Eh)
Format of reply buffer:
Offset Size Description
00h WORD (call) 0000h (no results returned)
----------21E2-------------------------------
INT 21 - OS/286, OS/386 - SET REAL PROCEDURE SIGNAL HANDLER
AH = E2h
???
Return: ???
SeeAlso: AH=E0h"OS/286",AH=E1h"OS/286",AH=E6h"OS/286"
----------21E2-------------------------------
INT 21 - DoubleDOS - SEND CHARACTER TO KEYBOARD BUFFER OF OTHER JOB
AH = E2h
AL = character
Return: AL = 00h successful
01h buffer full (128 characters)
SeeAlso: AH=E1h"DoubleDOS",AH=E3h"DoubleDOS",AH=E8h"DoubleDOS"
SeeAlso: AH=F2h"DoubleDOS"
----------21E2--SF00-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - SET DIRECTORY HANDLE
AH = E2h subfn 00h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status (00h,98h,9Bh,9Ch) (see below)
Desc: set the target handle to reference the directory specified by the
source handle and the source path; both handles must refer to the
same file server
Notes: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX
the target handle is not changed if this function fails
SeeAlso: AH=E2h/SF=01h,AH=E2h/SF=12h,AH=E2h/SF=13h
Values for status:
00h successful
84h not permitted to create
8Ah not permitted to delete
8Bh not permitted to rename
8Ch not permitted to modify
98h nonexistent volume
9Bh invalid directory handle
9Ch invalid path
9Eh invalid filename
9Fh directory currently in use
A0h directory not empty
FCh no such bindery object
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 103h)
02h BYTE 00h (subfunction "Set Directory Handle")
03h BYTE directory handle of target
04h BYTE directory handle of source
05h BYTE length of source directory path (01h-FFh)
06h N BYTEs source directory path
Format of reply buffer:
Offset Size Description
00h WORD (call) 0000h (no results returned)
----------21E2--SF01-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - GET DIRECTORY PATH
AH = E2h subfn 01h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status (00h,9Bh) (see AH=E2h/SF=00h)
Note: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AH=E2h/SF=02h,AH=E2h/SF=03h,AH=E2h/SF=1Ah,AH=E9h
Format of request buffer:
Offset Size Description
00h WORD 0002h (length of following data)
02h BYTE 01h (subfunction "Get Directory Path")
03h BYTE directory handle
Format of reply buffer:
Offset Size Description
00h WORD (call) length of following data buffer
02h BYTE length of directory path (01h-FFh)
03h N BYTEs full directory path including volume
----------21E2--SF02-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - SCAN DIRECTORY INFORMATION
AH = E2h subfn 02h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status (00h,98h,9Bh,9Ch) (see AH=E2h/SF=00h)
Desc: get information about the first or next subdirectory of the specified
directory
Note: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AH=E2h/SF=01h,AH=E2h/SF=03h,AH=E2h/SF=19h
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 104h)
02h BYTE 02h (subfunction "Scan Directory Information")
03h BYTE directory handle
04h WORD subdirectory number (big-endian)
0000h for first call, returned subdir number + 1 on next call
06h BYTE length of directory path
07h N BYTEs directory path
Format of reply buffer:
Offset Size Description
00h WORD (call) 001Ch (length of following data buffer)
02h 16 BYTEs subdirectory name
12h DWORD date and time of creation (big-endian) (see below)
16h DWORD object ID of owner (bid-endian)
1Ah BYTE maximum directory rights (see AH=E2h/SF=03h)
1Bh BYTE unused
1Ch WORD subdirectory number (big-endian)
Bitmask of date and time:
bits 31-25: year-1980
bits 24-21: month
bits 20-16: day
bits 15-11: hour
bits 10-5: minute
bits 4-0: second
----------21E2--SF03-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - GET EFFECTIVE DIRECTORY RIGHTS
AH = E2h subfn 03h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status (00h,98h,9Bh) (see AH=E2h/SF=00h)
Note: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AH=E2h/SF=01h,AH=E2h/SF=02h
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 102h)
02h BYTE 03h (subfunction "Get Effective Directory Rights")
03h BYTE directory handle
04h BYTE length of directory path (00h-FFh)
05h N BYTEs directory path
Format of reply buffer:
Offset Size Description
00h WORD (call) 0001h (length of following data buffer)
02h BYTE effective directory rights (see below)
Bitmask of directory rights:
bit 0: reading allowed
bit 1: writing allowed
bit 2: opens allowed
bit 3: file creation allowed
bit 4: deletion allowed
bit 5: "parental" may create/delete subdirectories and
grant/revoke trustee rights
bit 6: directory search allowed
bit 7: file attributes may be changed
----------21E2--SF04-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - MODIFY MAXIMUM RIGHTS MASK
AH = E2h subfn 04h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status (00h,8Ch,98h,9Ch) (see AH=E2h/SF=00h)
Notes: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AH=E2h/SF=03h,AH=E2h/SF=0Ah,AH=E2h/SF=0Dh
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 104h)
02h BYTE 04h (subfunction "Modify Maximum Rights Mask")
03h BYTE directory handle
04h BYTE rights to grant (see AH=E2h/SF=03h)
05h BYTE rights to revoke (see AH=E2h/SF=03h)
06h BYTE length of directory path (00h-FFh)
07h N BYTEs directory path
Note: the rights specified at offset 05h are revoked first, and then the
rights specified at offset 04h are added to the resulting rights
mask
Format of reply buffer:
Offset Size Description
00h WORD (call) 0000h (no results returned)
----------21E2--SF05-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME NUMBER
AH = E2h subfn 05h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status (00h,98h) (see AH=E2h/SF=00h)
Notes: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AH=DAh,AH=E2h/SF=02h,AH=E2h/SF=05h,AH=E2h/SF=15h,AH=E3h/SF=E9h
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 12h)
02h BYTE 05h (subfunction "Get Volume Number")
03h BYTE length of volume name (01h-10h)
04h N BYTEs volume name
Format of reply buffer:
Offset Size Description
00h WORD (call) 0001h (length of following results buffer)
02h BYTE volume number
----------21E2--SF06-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME NAME
AH = E2h subfn 06h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status (00h,98h) (see AH=E2h/SF=00h)
Notes: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AH=DAh,AH=E2h/SF=02h,AH=E2h/SF=05h,AH=E2h/SF=15h,AH=E2h/SF=1Ah
SeeAlso: AH=E3h/SF=E9h
Format of request buffer:
Offset Size Description
00h WORD 0002h (length of following data)
02h BYTE 06h (subfunction "Get Volume Name")
03h BYTE volume number
Format of reply buffer:
Offset Size Description
00h WORD (call) 0011h (length of following results buffer)
02h BYTE length of volume name
03h 16 BYTEs NUL-padded volume name
----------21E2--SF0A-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - CREATE DIRECTORY
AH = E2h subfn 0Ah
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status (00h,84h,98h,FCh) (see AH=E2h/SF=00h)
Note: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AH=39h,AH=E2h/SF=0Bh,AH=E2h/SF=0Fh
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 103h)
02h BYTE 0Ah (subfunction "Create Directory")
03h BYTE directory handle
04h BYTE maximum directory rights (see AH=E2h/SF=01h)
05h BYTE length of directory path (00h-FFh)
06h N BYTEs directory path
Format of reply buffer:
Offset Size Description
00h WORD (call) 0000h (no data returned)
----------21E2--SF0B-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - DELETE DIRECTORY
AH = E2h subfn 0Bh
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status (00h,8Ah,98h,9Bh,9Ch,9Fh,A0h) (see AH=E2h/SF=00h)
Note: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AH=3Ah,AH=E2h/SF=0Ah,AH=E2h/SF=0Fh
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 103h)
02h BYTE 0Bh (subfunction "Delete Directory")
03h BYTE directory handle
04h BYTE unused
05h BYTE length of directory path (00h-FFh)
06h N BYTEs directory path
Format of reply buffer:
Offset Size Description
00h WORD (call) 0000h (no data returned)
----------21E2--SF0C-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - SCAN DIRECTORY FOR TRUSTEES
AH = E2h subfn 0Ch
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
9Ch no more trustees
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E2h/SF=0Dh,AH=E2h/SF=0Eh,AH=E3h/SF=47h
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 103h)
02h BYTE 0Ch (subfunction "Scan Directory For Trustees")
03h BYTE directory handle
04h BYTE sequence number
00h on first call, increment for each subsequent call
05h BYTE length of directory path (00h-FFh)
06h N BYTEs directory path
Format of reply buffer:
Offset Size Description
00h WORD (call) 0031h (length of following results buffer)
02h 16 BYTEs directory name
12h 4 BYTEs date and time of creation
16h DWORD object ID of owner (big-endian)
1Ah 5 DWORDs object IDs of Trustees 0 through 4 (big-endian)
00000000h = end of group
2Eh 5 BYTEs directory rights for Trustees 0 through 4 (see AH=E2h/SF=03h)
----------21E2--SF0D-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - ADD TRUSTEE TO DIRECTORY
AH = E2h subfn 0Dh
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status (00h,8Ch,FCh) (see AH=E2h/SF=00h)
Note: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AH=E2h/SF=0Ch,AH=E2h/SF=0Eh,AH=E3h/SF=47h
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 107h)
02h BYTE 0Dh (subfunction "Add Trustee To Directory")
03h BYTE directory handle
04h DWORD object ID of trustee (big-endian)
08h BYTE trustee directory rights (see AH=E2h/SF=01h)
09h BYTE length of directory path (00h-FFh)
0Ah N BYTEs directory path
Format of reply buffer:
Offset Size Description
00h WORD (call) 0000h (no data returned)
----------21E2--SF0E-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - DELETE TRUSTEE FROM DIRECTORY
AH = E2h subfn 0Eh
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status (00h,98h,9Bh,9Ch) (see AH=E2h/SF=00h)
Note: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AH=E2h/SF=0Ch,AH=E2h/SF=0Dh
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 107h)
02h BYTE 0Eh (subfunction "Delete Trustee From Directory")
03h BYTE directory handle
04h DWORD object ID of trustee (big-endian)
08h BYTE unused
09h BYTE length of directory path (00h-FFh)
0Ah N BYTEs directory path
Format of reply buffer:
Offset Size Description
00h WORD (call) 0000h (no data returned)
----------21E2--SF0F-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - RENAME DIRECTORY
AH = E2h subfn 0Fh
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status (00h,8Bh,9Bh,9Ch,9Eh) (see AH=E2h/SF=00h)
Notes: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX
directories SYS:LOGIN, SYS:MAIL, and SYS:PUBLIC must not be renamed
SeeAlso: AH=56h,AH=E2h/SF=0Ah,AH=E2h/SF=0Bh
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 111h)
02h BYTE 0Fh (subfunction "Rename Directory")
03h BYTE directory handle
04h BYTE length of directory path (00h-FFh)
05h N BYTEs directory path
BYTE length of new directory name (01h-0Eh)
N BYTEs new directory name
Format of reply buffer:
Offset Size Description
00h WORD (call) 0000h (no data returned)
----------21E2--SF10-------------------------
INT 21 - Novell NetWare - FILE SERVICES - PURGE ERASED FILES
AH = E2h subfn 10h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
C6h no console rights
Notes: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX
purges files marked for deletion on the file server by the calling
workstation
SeeAlso: AH=13h,AH=41h,AH=E2h/SF=11h,AH=E3h/SF=CEh,AX=F244h
Format of request buffer:
Offset Size Description
00h WORD 0001h (length of following data)
02h BYTE 10h (subfunction "Purge Erased Files")
Format of reply buffer:
Offset Size Description
00h WORD (call) 0000h (no results returned)
----------21E2--SF11-------------------------
INT 21 - Novell NetWare - FILE SERVICES - RESTORE ERASED FILE
AH = E2h subfn 11h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
98h nonexistent volume
FFh no more erased files
Notes: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX
restores one file marked for deletion which has not yet been purged
SeeAlso: AH=13h,AH=41h,AH=E2h/SF=10h,AH=E3h/SF=CEh,AX=F244h
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 13h)
02h BYTE 11h (subfunction "Restore Erased File")
03h BYTE directory handle or 00h
04h BYTE length of volume name
05h N BYTEs volume name (including colon)
Note: if both a directory handle and a volume name are specified, the volume
name overrides the handle
Format of reply buffer:
Offset Size Description
00h WORD (call) 001Eh (size of following results buffer)
02h 15 BYTEs ASCIZ name of erased file
11h 15 BYTEs ASCIZ name under which file was restored
----------21E2--SF12-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - ALLOC PERMANENT DIRECTORY HANDLE
AH = E2h subfn 12h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status (00h,98h,9Ch) (see AH=E2h/SF=00h)
Note: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AH=E2h/SF=00h,AH=E2h/SF=13h,AH=E2h/SF=14h
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 103h)
02h BYTE 12h (subfunction "Alloc Permanent Directory Handle")
03h BYTE directory handle
04h BYTE drive ('A'-'Z')
05h BYTE length of directory path
06h N BYTEs directory path
Format of reply buffer:
Offset Size Description
00h WORD (call) 0002h (size of following results buffer)
02h BYTE new directory handle
03h BYTE effective directory rights (see AH=E2h/SF=01h)
----------21E2--SF13-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - ALLOC TEMPORARY DIRECTORY HANDLE
AH = E2h subfn 13h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see AH=E2h/SF=12h)
Return: AL = status (00h,98h,9Ch) (see AH=E2h/SF=00h)
Notes: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX
this call is the same as AH=E2h/SF=12h except that the directory handle
will be automatically deallocated when the calling application
executes an End of Job call (AH=D6h) or terminates
SeeAlso: AH=D6h,AH=E2h/SF=00h,AH=E2h/SF=12h,AH=E2h/SF=14h,AH=E2h/SF=16h
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 103h)
02h BYTE 13h (subfunction "Alloc Temporary Directory Handle")
03h BYTE directory handle
04h BYTE drive ('A'-'Z')
05h BYTE length of directory path
06h N BYTEs directory path
----------21E2--SF14-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - DEALLOCATE DIRECTORY HANDLE
AH = E2h subfn 14h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status (00h,9Bh) (see AH=E2h/SF=00h)
Notes: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AH=E2h/SF=12h,AH=E2h/SF=13h
Format of request buffer:
Offset Size Description
00h WORD 0002h (length of following data)
02h BYTE 14h (subfunction "Deallocate Directory Handle")
03h BYTE directory handle
Format of reply buffer:
Offset Size Description
00h WORD (call) 0000h (no returned data)
----------21E2--SF15-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME INFO WITH HANDLE
AH = E2h subfn 15h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
Notes: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AH=DAh,AH=E2h/SF=02h,AH=E2h/SF=06h,AH=E2h/SF=19h,AH=E3h/SF=E9h
Format of request buffer:
Offset Size Description
00h WORD 0002h (length of following data)
02h BYTE 15h (subfunction "Get Volume Info With Handle")
03h BYTE directory handle
Format of reply buffer:
Offset Size Description
00h WORD (call) 001Ch (length of following results buffer)
02h WORD sectors per block (big-endian)
04h WORD total blocks on volume (big-endian)
06h WORD blocks available on volume (big-endian)
08h WORD total directory slots (big-endian)
0Ah WORD directory slots available (big-endian)
0Ch 16 BYTEs NUL-padded volume name
1Ch WORD flag: volume removable if nonzero (big-endian)
----------21E2--SF16-------------------------
INT 21 u - Novell NetWare - DIRECTORY SERVICES - ALLOC SPECIAL TEMP DIR HANDLE
AH = E2h subfn 16h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer
Return: AL = status
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX,
but is not described in _NetWare_System_Calls--DOS_
SeeAlso: AH=E2h/SF=13h,AH=E2h/SF=14h
Format of request buffer:
Offset Size Description
00h WORD length of following data
02h BYTE 16h (subfunction "Allocate Special Temporary Directory Handle")
???
----------21E2--SF17-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - SAVE DIRECTORY HANDLE
AH = E2h subfn 17h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
else network error code
Note: this function is supported by Advanced NetWare 2.0+ and Alloy NTNX
SeeAlso: AH=E2h/SF=12h,AH=E2h/SF=17h
Format of request buffer:
Offset Size Description
00h WORD 0002h (length of following data)
02h BYTE 18h (subfunction "Restore Directory Handle")
03h BYTE directory handle
Format of reply buffer:
Offset Size Description
00h WORD (call) 0010h (length of following results buffer)
02h 16 BYTEs save buffer
----------21E2--SF18-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - RESTORE DIRECTORY HANDLE
AH = E2h subfn 18h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
else network error code
Desc: restore a previously saved directory handle to reproduce an executing
environment, possibly on a different execution site
Note: this function is supported by Advanced NetWare 2.0+ and Alloy NTNX
SeeAlso: AH=E2h/SF=12h,AH=E2h/SF=17h
Format of request buffer:
Offset Size Description
00h WORD 0011h (length of following data)
02h BYTE 18h (subfunction "Restore Directory Handle")
03h 16 BYTEs save buffer
Format of reply buffer:
Offset Size Description
00h WORD (call) 0002h (length of following results buffer)
02h BYTE new directory handle
03h BYTE effective rights (see AH=E2h/SF=03h)
----------21E2--SF19-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - SET DIRECTORY INFORMATION
AH = E2h subfn 19h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status (00h,9Bh,9Ch) (see AH=E2h/SF=00h)
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E2h/SF=02h,AH=E2h/SF=0Fh
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 10Bh)
02h BYTE 19h (subfunction "Set Directory Information")
03h BYTE directory handle
04h DWORD date and time of creation (big-endian)
08h DWORD object ID of owner (big-endian)
0Ch BYTE maximum directory rightes (see AH=E2h/SF=03h)
0Dh BYTE length of directory path
0Eh N BYTEs directory path
Format of reply buffer:
Offset Size Description
00h WORD (call) 0000h (no results returned)
----------21E2--SF1A-------------------------
INT 21 - Novell NetWare - FILE SERVER - GET PATH FROM DIRECTORY ENTRY
AH = E2h subfn 1Ah
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
Note: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AH=E2h/SF=01h,AH=E2h/SF=06h,AH=E3h/SF=D7h
Format of request buffer:
Offset Size Description
00h WORD 0004h (length of following data)
02h BYTE 1Ah (subfunction "Get Path From Directory Entry")
03h BYTE volume number (00h-1Fh)
04h WORD directory entry number (big-endian)
Format of reply buffer:
Offset Size Description
00h WORD (call) size of following results record (max 200h)
02h 256 BYTEs path
----------21E3-------------------------------
INT 21 - OS/286, OS/386 - ISSUE REAL INTERRUPT
AH = E3h
AL = interrupt number
???
Return: ???
Note: protected mode only???
SeeAlso: AH=E1h"OS/286",INT 31/AX=0300h
----------21E3-------------------------------
INT 21 - DoubleDOS - ADD CHARACTER TO KEYBOARD BUFFER OF CURRENT JOB
AH = E3h
AL = character
Return: AL = 00h successful
01h buffer full (128 characters)
SeeAlso: AH=E1h"DoubleDOS",AH=E2h"DoubleDOS",AH=E8h"DoubleDOS"
SeeAlso: AH=F3h"DoubleDOS"
----------21E3-------------------------------
INT 21 - Novell NetWare - CONNECTION CONTROL
AH = E3h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
else error code
Note: supported by NetWare 4.0+, Advanced NetWare 1.0+, and Alloy NTNX
SeeAlso: AH=E3h/SF=0Ah,AH=E3h/SF=32h,AH=E3h/SF=64h,AH=E3h/SF=C8h
Format of request buffer:
Offset Size Description
00h WORD length of following data
02h BYTE subfunction number
00h login
01h change password
02h map user to station set
03h map object to number
04h map number to object
05h get station's logged information
06h get station's root mask (obsolete)
07h map group name to number
08h map number to group name
09h get memberset M of group G
var depends on subfunction
Notes: the above subfunctions are not described in _NetWare_System_Calls--DOS_
see separate entries below for other subfunctions
Format of reply buffer:
Offset Size Description
00h WORD (call) length of following buffer space for results
var depends on subfunction
Format of object property:
Offset Size Description
00h 1-16 BYTEs property name
N BYTE flags
bit 0: property is dynamic
bit 1: property is a set rather than an item
N+1 BYTE security levels (see below)
???
Names of well-known properties:
ACCOUNT_BALANCE
ACCOUNT_SERVERS
GROUP_MEMBERS
GROUPS_I'M_IN
IDENTIFICATION user's name
LOGIN_CONTROL
NET_ADDRESS
OPERATORS
PASSWORD
SECURITY_EQUALS
Values for security levels:
00h "anyone" everyone may access
01h "logged" only logged-in clients may access
02h "object" only clients logged-in with object's name, type, and password
03h "supervisor" only clients logged-in with supervisor privileges
04h "NetWare" only NetWare may access
Note: the above values are stored in a nybble; the high half-byte is write
access and the low half-byte is read access
Values for object type:
0000h unknown
0001h user
0002h user group
0003h print queue
0004h file server
0005h job server
0006h gateway
0007h print server
0008h archive queue
0009h archive server
000Ah job queue
000Bh administration
0026h remote bridge server
0047h advertising print server
0048h-8000h reserved
FFFFh wild (used only for finding objects)
----------21E3--SF0A-------------------------
INT 21 - Novell NetWare - CONNECTION SERVICES - ENTER LOGIN AREA
AH = E3h subfn 0Ah
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
Desc: change the login directory for the calling workstation
Note: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AH=D7h,AH=E3h/SF=14h
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 102h)
02h BYTE 0Ah (subfunction "Enter Login Area")
03h BYTE number of local drives
04h BYTE length of subdirectory name (00h-FFh)
05h N BYTEs name of subdirectory under SYS:LOGIN where to find the login
utility
Format of reply buffer:
Offset Size Description
00h WORD (call) 0000h (no data returned)
----------21E3--SF0D-------------------------
INT 21 - Novell NetWare - MESSAGE SERVICES - LOG NETWORK MESSAGE
AH = E3h subfn 0Dh
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
Desc: append a line to the default file server's NET$LOG.MSG file
Note: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AH=E1h/SF=09h
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 52h)
02h BYTE 0Dh (subfunction "Log Network Message")
03h BYTE length of message (01h-50h)
04h N BYTEs message (no control characters or characters > 7Eh)
----------21E3--SF0E-------------------------
INT 21 - Novell NetWare - FILE SERVER - GET DISK UTILIZATION
AH = E3h subfn 0Eh
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
98h nonexistent volume
F2h not permitted to read object
Notes: this function is supported by Advanced NetWare 2.1+
the caller must have bindery object read privileges
SeeAlso: AH=E3h/SF=11h,AH=E3h/SF=D6h,AH=E3h/SF=D9h,AH=E3h/SF=E6h,AH=E3h/SF=E9h
Format of request buffer:
Offset Size Description
00h WORD 0005h (length of following data)
02h BYTE 0Eh (subfunction "Get Disk Utilization")
03h BYTE volume number (00h-1Fh)
04h DWORD object ID (big-endian)
Format of reply buffer:
Offset Size Description
00h WORD (call) 000Bh (size of following results buffer)
02h BYTE volume number (00h-1Fh)
03h DWORD object ID (big-endian)
07h WORD directories used by object (big-endian)
09h WORD files created by object (big-endian)
0Bh WORD disk blocks used by object-created files (big-endian)
----------21E3--SF0F-------------------------
INT 21 - Novell NetWare - FILE SERVICES - SCAN FILE INFORMATION
AH = E3h subfn 0Fh
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
89h not permitted to search directory
FFh no more matching files
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=B6h,AH=E3h/SF=10h
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 105h)
02h BYTE 0Fh (subfunction "Scan File Information")
03h WORD sequence number (big-endian)
FFFFh on first call
05h BYTE directory handle or 00h
06h BYTE search attributes (see AX=4301h)
07h BYTE length of filespec
08h N BYTEs ASCIZ uppercase filespec
Format of reply buffer:
Offset Size Description
00h WORD (call) 005Eh (size of following results buffer)
02h WORD next sequence number (place in request buffer for next call)
04h 15 BYTEs ASCIZ filename
13h BYTE file attributes (see AX=4301h for format)
14h BYTE extended file attributes (see AH=B6h for format)
15h DWORD file size in bytes (big-endian)
19h WORD file's creation date (big-endian) (see AX=5700h for format)
1Bh WORD date of last access (big-endian) (see AX=5700h for format)
1Dh DWORD date and time of last update (big-endian) (see AH=E2h/SF=02h)
21h DWORD object ID of owner (big-endian)
25h DWORD date and time last archived (big-endian) (see AH=E2h/SF=02h)
29h 55 BYTEs reserved
----------21E3--SF10-------------------------
INT 21 - Novell NetWare - FILE SERVICES - SET FILE INFORMATION
AH = E3h subfn 10h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
the caller must have modify privileges on the directory containing the
file
SeeAlso: AH=B6h,AH=E3h/SF=0Fh
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 151h)
02h BYTE 10h (subfunction "Set File Information")
03h BYTE file attributes (see AX=4301h for format)
04h BYTE extended file attributes (see AH=B6h for format)
05h 4 BYTEs reserved
09h WORD file's creation date (big-endian) (see AX=5700h for format)
0Bh WORD date of last access (big-endian) (see AX=5700h for format)
0Dh DWORD date and time of last update (big-endian) (see AH=E2h/SF=02h)
11h DWORD object ID of owner (big-endian)
15h DWORD date and time last archived (big-endian) (see AH=E2h/SF=02h)
19h 56 BYTEs reserved
51h BYTE directory handle or 00h
52h BYTE search attributes (see AX=4301h for format)
53h BYTE length of filename
54h N BYTEs filename
Format of reply buffer:
Offset Size Description
00h WORD (call) 0000h (no results returned)
----------21E3--SF11-------------------------
INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER INFORMATION
AH = E3h subfn 11h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
Note: this function is supported by Advanced NetWare 2.1+
SeeAlso: AH=E3h/SF=0Eh,AH=E3h/SF=CDh,AH=E3h/SF=D3h,AH=E3h/SF=E7h,AH=E7h
Format of request buffer:
Offset Size Description
00h WORD 0001h (length of following data)
02h BYTE 11h (subfunction "Get File Server Information")
Format of reply buffer:
Offset Size Description
00h WORD (call) 0080h (size of following results buffer)
02h 48 BYTEs server's name
32h BYTE NetWare version
33h BYTE NetWare subversion (0-99)
34h WORD number of connections supported (big-endian)
36h WORD number of connections in use (big-endian)
38h WORD maximum connected volumes (big-endian)
---Advanced NetWare 2.1+ ---
3Ah BYTE operating system revision number
3Bh BYTE fault tolerance (SFT) level
3Ch BYTE TTS level
3Dh WORD maximum simultaneously-used connections (big-endian)
3Fh BYTE accounting version
40h BYTE VAP version
41h BYTE queueing version
42h BYTE print server version
43h BYTE virtual console version
44h BYTE security restrictions level
45h BYTE internetwork bridge version
46h 60 BYTEs reserved
----------21E3--SF13-------------------------
INT 21 - Novell NetWare - CONNECTION SERVICES - GET INTERNET ADDRESS
AH = E3h subfn 13h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=DCh"NetWare",AH=E3h/SF=16h,AH=EEh"NetWare"
Format of request buffer:
Offset Size Description
00h WORD 0002h (length of following data)
02h BYTE 13h (subfunction "Get Internet Address")
03h BYTE logical connection number (01h-64h)
Format of reply buffer:
Offset Size Description
00h WORD (call) 000Ch (length of following results buffer)
02h 4 BYTEs network number
06h 6 BYTEs physical node address
0Ch 2 BYTEs socket number
----------21E3--SF14-------------------------
INT 21 - Novell NetWare - CONNECTION SERVICES - LOGIN TO FILE SERVER
AH = E3h subfn 14h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
Desc: this function retrieves a list indicating the connection numbers under
which a bindery object is logged into the default file server
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=D7h"NetWare",AH=F1h"NetWare"
Format of request buffer:
Offset Size Description
00h WORD length of following data (max B3h)
02h BYTE 14h (subfunction "Login To File Server")
03h WORD type of object (big-endian)
05h BYTE length of object's name (01h-2Fh)
06h N BYTEs object's name
BYTE length of password
N BYTEs password
Format of reply buffer:
Offset Size Description
00h WORD (call) 0000h (no data returned)
----------21E3--SF15-------------------------
INT 21 - Novell NetWare - CONNECTION SERVICES - GET OBJECT CONNECTION NUMBERS
AH = E3h subfn 15h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
Desc: this function retrieves a list indicating the connection numbers under
which a bindery object is logged into the default file server
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=DCh"NetWare",AH=E3h/SF=16h
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 33h)
02h BYTE 15h (subfunction "Get Object Connection Numbers")
03h WORD type of object (big-endian)
05h BYTE length of object's name (01h-2Fh)
06h N BYTEs object's name
Format of reply buffer:
Offset Size Description
00h WORD (call) length of following results buffer (max 65h)
02h BYTE number of connections
03h N BYTEs connection list
----------21E3--SF16-------------------------
INT 21 - Novell NetWare - CONNECTION SERVICES - GET CONNECTION INFORMATION
AH = E3h subfn 16h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=D7h,AH=DCh"NetWare",AH=E3h/SF=14h
Format of request buffer:
Offset Size Description
00h WORD 0002h (length of following data)
02h BYTE 16h (subfunction "Get Connection Information")
03h BYTE logical connection number (01h-64h)
Format of reply buffer:
Offset Size Description
00h WORD (call) 003Dh (length of following results buffer)
02h DWORD object ID for object logged in on the connection (big-endian)
00000000h if no object logged in
06h WORD type of object (big-endian)
08h 48 BYTEs name of object
38h 7 BYTEs login time (see below)
Format of login time:
Offset Size Description
00h BYTE year (80-99 = 1980-1999, 00-79 = 2000-2079)
01h BYTE month (1-12)
02h BYTE day (1-31)
03h BYTE hour (0-23)
04h BYTE minute (0-59)
05h BYTE second (0-59)
06h BYTE day of week (0 = Sunday)
----------21E3--SF32-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - CREATE BINDERY OBJECT
AH = E3h subfn 32h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
96h server out of memory
EEh object already exists
EFh invalid name
F1h invalid bindery security level
F5h not permitted to create objects
FEh server bindery locked
FFh bindery failure
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=33h,AH=E3h/SF=34h,AH=E3h/SF=38h,AH=E3h/SF=39h
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 35h)
02h BYTE 32h (subfunction "Create Bindery Object")
03h BYTE object flag
00h static
01h dynamic
04h BYTE object security levels
05h WORD type of object (big-endian)
07h BYTE length of object's name
08h N BYTEs object's name
Format of reply buffer:
Offset Size Description
00h WORD 0000h (no data returned)
----------21E3--SF33-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - DELETE BINDERY OBJECT
AH = E3h subfn 33h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
96h server out of memory
EFh invalid name
F0h wildcard not allowed
F4h not permitted to delete objects
FCh no such object
FEh server bindery locked
FFh bindery failure
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=34h
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 33h)
02h BYTE 33h (subfunction "Delete Bindery Object")
03h WORD type of object (big-endian)
05h BYTE length of object's name (01h-2Fh)
06h N BYTEs object's name
Format of reply buffer:
Offset Size Description
00h WORD (call) 0000h (no data returned)
----------21E3--SF34-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - RENAME BINDERY OBJECT
AH = E3h subfn 34h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
96h server out of memory
EFh invalid name
F0h wildcard not allowed
F3h not permitted to rename object
FCh no such object
FEh server bindery locked
FFh bindery failure
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=33h
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 63h)
02h BYTE 34h (subfunction "Rename Bindery Object")
03h WORD type of object (big-endian)
05h BYTE length of object's name (01h-2Fh)
06h N BYTEs object's name
BYTE length of new name (01h-2Fh)
N BYTEs new name
Format of reply buffer:
Offset Size Description
00h WORD (call) 0000h (no data returned)
----------21E3--SF35-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - GET BINDERY OBJECT ID
AH = E3h subfn 35h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
96h server out of memory
FCh no such object
FEh server bindery locked
FFh bindery failure
Notes: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
the requesting workstation must be logged into the file server with
read access to the bindery object
SeeAlso: AH=E3h/SF=36h,AH=E3h/SF=44h
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 33h)
02h BYTE 35h (subfunction "Get Bindery Object ID")
03h WORD type of object (big-endian)
05h BYTE length of object's name
06h N BYTEs object's name
Format of reply buffer:
Offset Size Description
00h WORD (call) 0036h (length of following buffer space)
02h DWORD object ID (big-endian)
06h WORD type of object (big-endian)
08h 48 BYTEs object name
----------21E3--SF36-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - GET BINDERY OBJECT NAME
AH = E3h subfn 36h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
96h server out of memory
EFh invalid name
F0h wildcard not allowed
FCh no such object
FEh server bindery locked
FFh bindery failure
Notes: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
the requesting workstation must be logged into the file server with
read access to the bindery object
SeeAlso: AH=E3h/SF=35h,AH=E3h/SF=44h
Format of request buffer:
Offset Size Description
00h WORD 0005h (length of following data)
02h BYTE 36h (subfunction "Get Bindery Object Name")
03h DWORD object ID (big-endian)
Format of reply buffer:
Offset Size Description
00h WORD (call) 0036h (length of following buffer space)
02h DWORD object ID (big-endian)
06h WORD type of object (big-endian)
08h 48 BYTEs object name
----------21E3--SF37-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - SCAN BINDERY OBJECT
AH = E3h subfn 37h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
96h server out of memory
EFh invalid name
FCh no such object
FEh server bindery locked
FFh bindery failure
Notes: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
the requesting workstation must be logged into the file server with
read access to the bindery object
SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=33h,AH=E3h/SF=38h,AH=E3h/SF=3Ch
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 37h)
02h BYTE 37h (subfunction "Scan Bindery Object")
03h DWORD last object ID (big-endian)
07h WORD type of object (big-endian)
09h BYTE length of object's name
0Ah N BYTEs object's name
Format of reply buffer:
Offset Size Description
00h WORD (call) 0039h (length of following buffer space)
02h DWORD object ID (big-endian)
FFFFFFFFh for first call
06h WORD type of object (big-endian)
08h BYTE length of object's name (01h-2Fh)
09h N BYTEs object name
BYTE object flag (00h static, 01h dynamic)
BYTE object's security levels
BYTE object properties flag (00h no, FFh yes)
----------21E3--SF38-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - CHANGE BINDERY OBJECT SECURITY
AH = E3h subfn 38h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
96h server out of memory
F0h wildcard not allowed
F1h invalid bindery security level
FBh no such property
FCh no such object
FEh server bindery locked
FFh bindery failure
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=3Bh
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 34h)
02h BYTE 38h (subfunction "Change Bindery Object Security")
03h BYTE new security levels
04h WORD type of object (big-endian)
06h BYTE length of object's name (01h-2Fh)
07h N BYTEs object name
Format of reply buffer:
Offset Size Description
00h WORD (call) 0000h (no data returned)
----------21E3--SF39-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - CREATE PROPERTY
AH = E3h subfn 39h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
96h server out of memory
EDh property already exists
EFh invalid name
F0h wildcard not allowed
F1h invalid bindery security level
F7h not permitted to create properties
FCh no such object
FEh server bindery locked
FFh bindery failure
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=3Bh
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 45h)
02h BYTE 39h (subfunction "Create Property")
03h WORD type of object (big-endian)
05h BYTE length of object's name (01h-2Fh)
06h N BYTEs object's name
BYTE property flags
BYTE property security levels
BYTE length of property's name (01h-0Fh)
N BYTEs property's name
Format of reply buffer:
Offset Size Description
00h WORD (call) 0000h (no data returned)
----------21E3--SF3A-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - DELETE PROPERTY
AH = E3h subfn 3Ah
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
96h server out of memory
F0h wildcard not allowed
F1h invalid bindery security level
F6h not permitted to delete properties
FBh no such property
FCh no such object
FEh server bindery locked
FFh bindery failure
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=39h
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 43h)
02h BYTE 3Ah (subfunction "Delete Property")
03h WORD type of object (big-endian)
05h BYTE length of object's name (01h-2Fh)
06h N BYTEs object's name
BYTE length of property's name (01h-0Fh)
N BYTEs property's name
Format of reply buffer:
Offset Size Description
00h WORD (call) 0000h (no data returned)
----------21E3--SF3B-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - CHANGE PROPERTY SECURITY
AH = E3h subfn 3Bh
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
96h server out of memory
F0h wildcard not allowed
F1h invalid bindery security level
FBh no such property
FCh no such object
FEh server bindery locked
FFh bindery failure
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=38h
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 44h)
02h BYTE 3Bh (subfunction "Change Property Security")
03h WORD type of object (big-endian)
05h BYTE length of object's name (01h-2Fh)
06h N BYTEs object name
BYTE new property security levels
BYTE length of property's name
N BYTEs property name
Format of reply buffer:
Offset Size Description
00h WORD (call) 0000h (no data returned)
----------21E3--SF3C-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - SCAN PROPERTY
AH = E3h subfn 3Ch
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
96h server out of memory
F0h wildcard not allowed
F1h invalid bindery security level
FBh no such property
FCh no such object
FEh server bindery locked
FFh bindery failure
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=37h,AH=E3h/SF=3Bh
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 47h)
02h BYTE 3Ch (subfunction "Scan Property")
03h WORD type of object (big-endian)
05h BYTE length of object's name (01h-2Fh)
06h N BYTEs object name
DWORD sequence number (big-endian)
FFFFFFFFh for first call
BYTE length of property's name (01h-0Fh)
N BYTEs property's name
Format of reply buffer:
Offset Size Description
00h WORD (call) 0018h (length of following results buffer)
02h 16 BYTEs property name
12h BYTE property flags
13h BYTE property security levels
14h DWORD sequence number (big-endian)
18h BYTE property value flag (00h no, FFh yes)
19h BYTE more properties (00h no, FFh yes)
----------21E3--SF3D-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - READ PROPERTY VALUE
AH = E3h subfn 3Dh
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
96h server out of memory
ECh no such segment
F0h wildcard not allowed
F1h invalid bindery security level
F9h not permitted to read property
FBh no such property
FCh no such object
FEh server bindery locked
FFh bindery failure
Desc: retrieve one 128-byte segment of the specified property's value
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=39h,AH=E3h/SF=3Ch,AH=E3h/SF=3Eh
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 44h)
02h BYTE 3Dh (subfunction "Read Property Value")
03h WORD type of object (big-endian)
05h BYTE length of object's name (01h-2Fh)
06h N BYTEs object name
BYTE segment number (01h on first call, increment until done)
BYTE length of property's name (01h-0Fh)
N BYTEs property name
Format of reply buffer:
Offset Size Description
00h WORD (call) 0082h (length of following results buffer)
02h 128 BYTEs property's value
82h BYTE more segments (00h no, FFh yes)
83h BYTE property's flags
----------21E3--SF3E-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - WRITE PROPERTY VALUE
AH = E3h subfn 3Eh
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
96h server out of memory
E8h not item property
ECh no such segment
F0h wildcard not allowed
F1h invalid bindery security level
F8h not permitted to write property
FBh no such property
FCh no such object
FEh server bindery locked
FFh bindery failure
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=39h,AH=E3h/SF=3Ch,AH=E3h/SF=3Eh
Format of request buffer:
Offset Size Description
00h WORD length of following data (max C5h)
02h BYTE 3Eh (subfunction "Write Property Value")
03h WORD type of object (big-endian)
05h BYTE length of object's name (01h-2Fh)
06h N BYTEs object name
BYTE segment number (01h on first call, increment until done)
BYTE erase remaining segments (00h no, FFh yes)
BYTE length of property's name (01h-0Fh)
N BYTEs property name
128 BYTEs property value segment
Format of reply buffer:
Offset Size Description
00h WORD (call) 0000h (no data returned)
----------21E3--SF3F-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - VERIFY BINDERY OBJECT PASSWORD
AH = E3h subfn 3Fh
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
96h server out of memory
F0h wildcard not allowed
FBh no such property
FCh no such object
FEh server bindery locked
FFh bindery failure: no such object, bad password
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=40h
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 133h)
02h BYTE 3Fh (subfunction "Verify Bindery Object Password")
03h WORD type of object (big-endian)
05h BYTE length of object's name (01h-2Fh)
06h N BYTEs object name
BYTE length of password (00h-7Fh)
N BYTEs password
Format of reply buffer:
Offset Size Description
00h WORD (call) 0000h (no data returned)
----------21E3--SF40-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - CHANGE BINDERY OBJECT PASSWORD
AH = E3h subfn 40h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
96h server out of memory
F0h wildcard not allowed
FBh no such property
FCh no such object
FEh server bindery locked
FFh bindery failure: no such object, no password for object, or
invalid old password
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=3Fh,AH=E3h/SF=41h
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 133h)
02h BYTE 40h (subfunction "Change Bindery Object Password")
03h WORD type of object (big-endian)
05h BYTE length of object's name (01h-2Fh)
06h N BYTEs object name
BYTE length of old password (00h-7Fh)
N BYTEs old password
BYTE length of new password (00h-7Fh)
N BYTEs new password
Format of reply buffer:
Offset Size Description
00h WORD (call) 0000h (no data returned)
----------21E3--SF41-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - ADD BINDERY OBJECT TO SET
AH = E3h subfn 41h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
96h server out of memory
E9h member already exists
EBh not a group property
F0h wildcard not allowed
F8h can't write property
FBh no such property
FCh no such object
FEh server bindery locked
FFh bindery failure
Desc: add the specified object to a set property
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=40h,AH=E3h/SF=42h,AH=E3h/SF=43h
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 75h)
02h BYTE 41h (subfunction "Add Bindery Object to Set")
03h WORD type of object (big-endian)
05h BYTE length of object's name
06h N BYTEs object name
BYTE length of property name (01h-0Fh)
N BYTEs property name
WORD type of member object (big-endian)
BYTE length of member object's name
N BYTEs member object's name
Format of reply buffer:
Offset Size Description
00h WORD (call) 0000h (no data returned)
----------21E3--SF42-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - DELETE BINDERY OBJECT FROM SET
AH = E3h subfn 42h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
96h server out of memory
EAh member does not exist
EBh not a group property
F0h wildcard not allowed
F8h can't write property
FBh no such property
FCh no such object
FEh server bindery locked
FFh bindery failure
Desc: delete the specified object from a set property
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=40h,AH=E3h/SF=42h,AH=E3h/SF=43h
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 75h)
02h BYTE 42h (subfunction "Delete Bindery Object from Set")
03h WORD type of object (big-endian)
05h BYTE length of object's name
06h N BYTEs object name
BYTE length of property name (01h-0Fh)
N BYTEs property name
WORD type of member object (big-endian)
BYTE length of member object's name
N BYTEs member object's name
Format of reply buffer:
Offset Size Description
00h WORD (call) 0000h (no data returned)
----------21E3--SF43-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - IS BINDERY OBJECT IN SET
AH = E3h subfn 43h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
96h server out of memory
EAh member does not exist
EBh not a group property
F0h wildcard not allowed
F9h not permitted to read property
FBh no such property
FCh no such object
FEh server bindery locked
FFh bindery failure
Notes: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
the caller must have read access to the property
SeeAlso: AH=E3h/SF=41h,AH=E3h/SF=42h
Format of request buffer:
Offset Size Description
00h WORD length of following data (max 75h)
02h BYTE 43h (subfunction "Is Bindery Object In Set")
03h WORD type of object (big-endian)
05h BYTE length of object's name
06h N BYTEs object's name
BYTE length of property's name
N BYTEs property's name
WORD type of member object (big-endian)
BYTE length of member object's name
N BYTEs member object's name
Format of reply buffer:
Offset Size Description
00h WORD (call) 0000h (no data returned)
----------21E3--SF44-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - CLOSE BINDERY
AH = E3h subfn 44h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=45h
Format of request buffer:
Offset Size Description
00h WORD 0001h (length of following data)
02h BYTE 44h (subfunction "Close Bindery")
Format of reply buffer:
Offset Size Description
00h WORD (call) 0000h (no data returned)
----------21E3--SF45-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - OPEN BINDERY
AH = E3h subfn 45h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
Notes: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
the bindery may only be opened by the supervisor or an object with
equivalent privileges
SeeAlso: AH=E3h/SF=44h
Format of request buffer:
Offset Size Description
00h WORD 0001h (length of following data)
02h BYTE 45h (subfunction "Open Bindery")
Format of reply buffer:
Offset Size Description
00h WORD (call) 0000h (no data returned)
----------21E3--SF46-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - GET BINDERY ACCESS LEVEL
AH = E3h subfn 46h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
Format of request buffer:
Offset Size Description
00h WORD 0001h (length of following data)
02h BYTE 46h (subfunction "Get Bindery Access Level")
Format of reply buffer:
Offset Size Description
00h WORD 0005h (length of following buffer)
02h BYTE security levels
03h DWORD object ID (big-endian)
----------21E3--SF47-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - SCAN BINDERY OBJ TRUSTEE PATHS
AH = E3h subfn 47h
DS:SI -> request buffer (see below)
ES:DI -> reply buffer (see below)
Return: AL = status
00h successful
96h server out of memory
F0h wildcard not allowed
F1h invalid bindery security level
FCh no such object
FEh server bindery locked
FFh bindery failure
Desc: iterate through the directories to which an object is a trustee
Note: this function is supported by Advanced NetWare