home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 24
/
CD_ASCQ_24_0995.iso
/
dos
/
tools
/
inter47
/
interrup.f
< prev
next >
Wrap
Text File
|
1995-08-13
|
342KB
|
8,900 lines
Interrupt List, part 6 of 13
This compilation is Copyright (c) 1989,1990,1991,1992,1993,1994,1995 Ralf Brown
--------D-2160-------------------------------
INT 21 - DOS 3.0+ - "TRUENAME" - CANONICALIZE FILENAME OR PATH
AH = 60h
DS:SI -> ASCIZ filename or path
ES:DI -> 128-byte buffer for canonicalized name
Return: CF set on error
AX = error code
02h invalid component in directory path or drive letter only
03h malformed path or invalid drive letter
ES:DI buffer unchanged
CF clear if successful
AH = 00h
AL = destroyed (00h or 5Ch or last char of current dir on drive)
buffer filled with qualified name of form D:\PATH\FILE.EXT or
\\MACHINE\PATH\FILE.EXT
Desc: determine the canonical name of the specified filename or path,
corresponding to the undocumented TRUENAME command in COMMAND.COM
Notes: the input path need not actually exist
letters are uppercased, forward slashes converted to backslashes,
asterisks converted to appropriate number of question marks, and
file and directory names are truncated to 8.3 if necessary. (DR-DOS
3.41 and 5.0 do not expand asterisks)
'.' and '..' in the path are resolved
filespecs on local drives always start with "d:", those on network
drives always start with "\\"
if path string is on a JOINed drive, the returned name is the one that
would be needed if the drive were not JOINed; similarly for a
SUBSTed, ASSIGNed, or network drive letter. Because of this, it is
possible to get a qualified name that is not legal under the current
combination of SUBSTs, ASSIGNs, JOINs, and network redirections
under DOS 3.3 through 6.00, a device name is translated differently if
the device name does not have an explicit directory or the directory
is \DEV (relative directory DEV from the root directory works
correctly). In these cases, the returned string consists of the
unchanged device name and extension appended to the string X:/
(forward slash instead of backward slash as in all other cases) where
X is the default or explicit drive letter.
functions which take pathnames require canonical paths if invoked via
INT 21/AX=5D00h
supported by OS/2 v1.1 compatibility box
NetWare 2.1x does not support characters with the high bit set; early
versions of NetWare 386 support such characters except in this call.
In addition, NetWare returns error code 3 for the path "X:\"; one
should use "X:\." instead.
for DOS 3.3-6.0, the input and output buffers may be the same, as the
canonicalized name is built in an internal buffer and copied to the
specified output buffer as the very last step
for DR DOS 6.0, this function is not automatically called when on a
network. Device drivers reportedly cannot make this call from their
INIT function. Using the same pointer for both input and output
buffers is not supported in the April 1992 and earlier versions of
DR DOS
Corel's CORELCDX and MSCDEX without the /S switch return canonical
names of the form "\\D.\A.\path", where "D" is the CD-ROM drive
letter and "A" appears to indicate the first physical CD-ROM drive;
MSCDEX with the /S switch returns a canonical name with embedded
blanks. Novell DOS 7 NWCDEX as of the 11/16/94 update returns the
same canonical path as MSCDEX; earlier revisions returned
"Cdex.D:\path", where "D" is the CD-ROM drive letter
SeeAlso: AX=5FB3h,AX=7160h,INT 2F/AX=1123h,INT 2F/AX=1221h
--------D-2161-------------------------------
INT 21 - DOS 3.0+ - UNUSED
AH = 61h
Return: AL = 00h
Note: this function does nothing and returns immediately
--------O-2161--BP6467-----------------------
INT 21 U - OS/2 v1.x FAPI - OS/2 FILE SYSTEM JOIN/SUBST
AH = 61h
BP = 6467h ("dg")
AL = function
00h list
01h add
02h delete
BX = drive number
CX = size of buffer
SI = type (0002h JOIN, 0003h SUBST)
ES:DI -> buffer
Return: ???
Notes: used by JOIN and SUBST to communicate with the OS/2 file system
also supported by OS/2 v2.0+ Virtual DOS Machines
--------D-2162-------------------------------
INT 21 - DOS 3.0+ - GET CURRENT PSP ADDRESS
AH = 62h
Return: BX = segment of PSP for current process
Notes: this function does not use any of the DOS-internal stacks and may
thus be called at any time, even during another INT 21h call
the current PSP is not necessarily the caller's PSP
identical to the undocumented AH=51h
SeeAlso: AH=50h,AH=51h
--------D-216300-----------------------------
INT 21 - DOS 2.25 only - GET LEAD BYTE TABLE ADDRESS
AX = 6300h
Return: CF clear if successful
DS:SI -> lead byte table (see #0951)
CF set on error
AX = error code (01h) (see #0885 at AH=59h)
Notes: does not preserve any registers other than SS:SP
the US version of MS-DOS 3.30 treats this as an unused function,
setting AL=00h and returning immediately
SeeAlso: AX=6301h,AH=07h,AH=08h,AH=0Bh
Format of double-byte character set lead byte table entry:
Offset Size Description (Table 0951)
00h 2 BYTEs low/high ends of a range of leading byte of double-byte chars
02h 2 BYTEs low/high ends of a range of leading byte of double-byte chars
...
N 2 BYTEs 00h,00h end flag
--------D-216300-----------------------------
INT 21 - Far East DOS 3.2+ - GET DOUBLE BYTE CHARACTER SET LEAD-BYTE TABLE
AX = 6300h
Return: AL = error code
00h successful
DS:SI -> DBCS table (see #0952)
all other registers except CS:IP and SS:SP destroyed
FFh not supported
Notes: probably identical to AH=63h/AL=00h for DOS 2.25
the US version of MS-DOS 3.30 treats this as an unused function,
setting AL=00h and returning immediately
the US version of DOS 4.0+ accepts this function, but returns an empty
list
SeeAlso: AX=6300h"DOS 2.25"
Format of DBCS table:
Offset Size Description (Table 0952)
00h 2 BYTEs low/high ends of a range of leading byte of double-byte chars
02h 2 BYTEs low/high ends of a range of leading byte of double-byte chars
...
N 2 BYTEs 00h,00h end flag
--------D-216301-----------------------------
INT 21 - DOS 2.25, Far East DOS 3.2+ - SET KOREAN (HANGEUL) INPUT MODE
AX = 6301h
DL = new mode
00h return only full characters on DOS keyboard input functions
01h return partially-formed (interim) characters also
Return: AL = status
00h successful
FFh invalid mode
Note: Novell DOS 7 simply stores DL in the caller's PSP (see #0603 at AH=26h)
SeeAlso: AH=07h,AH=08h,AH=0Bh,AH=63h,AX=6302h
--------D-216302-----------------------------
INT 21 - DOS 2.25, Far East DOS 3.2+ - GET KOREAN (HANGEUL) INPUT MODE
AX = 6302h
Return: AL = status
00h successful
DL = current input mode
00h return only full characters (clears interim flag)
01h return partial characters (sets interim flag)
FFh not supported
Note: Novell DOS 7 simply reads the value out of the caller's PSP, so it
can return values other than 00h or 01h if the last call to AX=6301h
used another value
SeeAlso: AH=07h,AH=08h,AH=0Bh,AH=63h,AX=6301h
--------v-216303------------------------
INT 21 - VIRUS - "DOS IDLE" - INSTALLATION CHECK
AX = 6303h
Return: BX = 6303h if resident
SeeAlso: AX=5643h"VIRUS",AX=6304h"VIRUS",AX=9AD5h"VIRUS"
--------v-216304------------------------
INT 21 - VIRUS - "Replicator" - INSTALLATION CHECK
AX = 6304h
Return: BX = 6304h if resident
SeeAlso: AX=6303h"VIRUS",AX=6969h"VIRUS"
--------D-2164-------------------------------
INT 21 - DOS 3.2+ internal - SET DEVICE DRIVER LOOKAHEAD FLAG
AH = 64h
AL = flag
00h (default) call device driver function 5 (non-dest read)
before INT 21/AH=01h,08h,0Ah
nonzero don't call driver function 5
Return: nothing (MS-DOS)
CF set, AX=error code??? (DR-DOS 5.0, which does not support this call)
Notes: this function is called by the DOS 3.3+ PRINT.COM
under MS-DOS, this function does not use any of the DOS-internal stacks
and may thus be called at any time, even during another DOS call
SeeAlso: AH=01h,AH=08h,AH=0Ah,AX=5D06h
--------O-2164--DX0000-----------------------
INT 21 U - OS/2 v2.0+ Virtual DOS Machine - ENABLE AUTOMATIC TITLE SWITCH
AH = 64h
DX = 0000h (function number)
CX = 636Ch (magic value, "cl")
BX = 0000h (indicates special request)
Note: if CX is not 636Ch on entry, INT 21/AH=6Ch is invoked, because a bug
in OS/2 1.x FAPI erroneously called AH=64h instead of AH=6Ch
SeeAlso: AH=64h/DX=0001h,INT 21/AH=4Bh
--------O-2164--DX0001-----------------------
INT 21 U - OS/2 v2.0+ Virtual DOS Machine - SET SESSION TITLE
AH = 64h
DX = 0001h (function number)
CX = 636Ch (magic value, "cl")
BX = 0000h (indicates special request)
ES:DI -> new ASCIZ title (max 12 char) or "" to restore default title
Note: if CX is not 636Ch on entry, INT 21/AH=6Ch is invoked, because a bug
in OS/2 1.x FAPI erroneously called AH=64h instead of AH=6Ch
SeeAlso: AH=64h/DX=0000h,AH=64h/DX=0002h,INT 15/AH=12h/BH=05h
--------O-2164--DX0002-----------------------
INT 21 U - OS/2 v2.0+ Virtual DOS Machine - GET SESSION TITLE
AH = 64h
DX = 0002h (function number)
CX = 636Ch (magic value, "cl")
BX = 0000h (indicates special request)
ES:DI -> 13-byte buffer for current title
Return: buffer filled (single 00h if title never changed)
Note: if CX is not 636Ch on entry, INT 21/AH=6Ch is invoked, because a bug
in OS/2 1.x FAPI erroneously called AH=64h instead of AH=6Ch
SeeAlso: AH=64h/DX=0000h,AH=64h/DX=0001h,INT 15/AH=12h/BH=05h
--------O-2164--DX0003-----------------------
INT 21 U - OS/2 v2.1 Virtual DOS Machine - GET LASTDRIVE
AH = 64h
DX = 0003h (function number)
CX = 636Ch (magic value, "cl")
BX = 0000h (indicates special request)
Return: AL = highest drive supported
Notes: if CX is not 636Ch on entry, INT 21/AH=6Ch is invoked, because a bug
in OS/2 1.x FAPI erroneously called AH=64h instead of AH=6Ch
used by WinOS2
not supported by OS/2 Warp 3.0, check list of lists instead (see #0840)
SeeAlso: AH=52h
--------O-2164--DX0004-----------------------
INT 21 U - OS/2 v2.1+ Virtual DOS Machine - GET SIZE OF PTDA JFT
AH = 64h
DX = 0004h (function number)
CX = 636Ch (magic value, "cl")
BX = 0000h (indicates special request)
Return: AX = number of entries in OS/2 JFT for VDM
Notes: if CX is not 636Ch on entry, INT 21/AH=6Ch is invoked, because a bug
in OS/2 1.x FAPI erroneously called AH=64h instead of AH=6Ch
in an OS/2 VDM, the DOS Job File Table in the PSP contains an index
into the OS/2 JFT in the Per-Task Data Area rather than an SFT index
because the OS/2 SFT can contain more than 255 entries
--------O-2164--DX0005-----------------------
INT 21 U - OS/2 v2.1+ Virtual DOS Machine - GET SECOND SFT FLAGS WORD
AH = 64h
DX = 0005h (function number)
CX = 636Ch (magic value, "cl")
BX = 0000h (indicates special request)
DI = DOS file handle
Return: AX = value of second flags word from OS/2 SFT entry for file
Notes: if CX is not 636Ch on entry, INT 21/AH=6Ch is invoked, because a bug
in OS/2 1.x FAPI erroneously called AH=64h instead of AH=6Ch
the OS/2 SFT has two flags words rather than DOS's one word, and this
function provides access to the word which is not present in DOS
--------O-2164--DX0006-----------------------
INT 21 U - OS/2 v2.1+ Virtual DOS Machine - UNLOAD DOSKRNL SYMBOLS & LOAD PROGR
AH = 64h
DX = 0006h (function number)
CX = 636Ch (magic value, "cl")
BX = 0000h (indicates special request)
ES:DI -> ASCIZ filespec
DS = base address for loading
Notes: if CX is not 636Ch on entry, INT 21/AH=6Ch is invoked, because a bug
in OS/2 1.x FAPI erroneously called AH=64h instead of AH=6Ch
this function is only supported by the kernel debugging version of
OS2KRNL
--------O-2164--DX0007-----------------------
INT 21 U - OS/2 v2.1+ Virtual DOS Machine - GET WinOS2 CALL GATE ADDRESS
AH = 64h
DX = 0007h (function number)
CX = 636Ch (magic value, "cl")
BX = 0000h (indicates special request)
Return: AX = call gate address
Notes: if CX is not 636Ch on entry, INT 21/AH=6Ch is invoked, because a bug
in OS/2 1.x FAPI erroneously called AH=64h instead of AH=6Ch
used by WinOS2 to make direct calls to OS2KRNL, bypassing the overhead
of DOSKRNL
--------O-2164--DX0008-----------------------
INT 21 U - OS/2 v2.1+ Virtual DOS Machine - GET LOADING MESSAGE
AH = 64h
DX = 0008h (function number)
CX = 636Ch (magic value, "cl")
BX = 0000h (indicates special request)
Return: DS:DX -> '$'-terminated message "Loading. Please wait."
Notes: if CX is not 636Ch on entry, INT 21/AH=6Ch is invoked, because a bug
in OS/2 1.x FAPI erroneously called AH=64h instead of AH=6Ch
this function permits National Language Support for the initial message
displayed while WinOS2 starts a full-screen session
--------O-2164--CX636C-----------------------
INT 21 U - OS/2 v2.1+ Virtual DOS Machine - OS/2 API support
AH = 64h
CX = 636Ch ("cl")
BX = API ordinal (see #0953)
other registers as appropriate for API call
Return: as appropriate for API call
SeeAlso: AH=64h/BX=0025h,AH=64h/BX=00B6h,AH=64h/BX=00CBh
(Table 0953)
Values for OS/2 API ordinal:
0025h DOS32StartSession
0082h DosGetCP
00B6h DosQFSAttach
00BFh DosEditName
00CBh DosForceDelete
0144h Dos32CreateEventSem
0145h Dos32OpenEvenSem
0146h Dos32CloseEventSem
0147h Dos32ResetEventSem
0148h Dos32PostEventSem
0149h Dos32WaitEventSem
014Ah Dos32QueryEventSem
014Bh Dos32CreateMutexSem
014Ch Dos32OpenMutexSem
014Dh Dos32CloseMutexSem
014Eh Dos32RequestMutexSem
014Fh Dos32ReleaseMutexSem
0150h Dos32QueryMutexSem
0151h Dos32CreateMuxWaitSem
0152h Dos32OpenMuxWaitSem
0153h Dos32CloseMuxWaitSem
0154h Dos32WaitMuxWaitSem
0155h Dos32AddMuxWaitSem
0156h Dos32DeleteMuxWaitSem
0157h Dos32QueryMuxWaitSem
--------O-2164--BX0025-----------------------
INT 21 U - OS/2 v2.1+ Virtual DOS Machine - OS/2 API DOS32StartSession
AH = 64h
BX = 0025h (API ordinal)
CX = 636Ch ("cl")
DS:SI -> STARTDATA structure (see #0954)
Return: AX = return code
SeeAlso: AH=64h/CX=636Ch,AH=64h/BX=00B6h
Format of OS/2 Virtual DOS Machine STARTDATA structure:
Offset Size Description (Table 0954)
00h WORD length of structure (must be 0018h,001Eh,0020h,0032h,or 003Ch)
02h WORD relation of new process to caller (00h independent, 01h child)
04h WORD fore/background (00h foreground, 01h background)
06h WORD trace options (00h-02h, 00h = no trace)
08h DWORD pointer to ASCIZ program title (max 62 chars) or 0000h:0000h
0Ch DWORD pointer to ASCIZ program name (max 128 chars) or 0000h:0000h
10h DWORD pointer to ASCIZ program args (max 144 chars) or 0000h:0000h
14h DWORD "TermQ" (currently reserved, must be 00000000h)
18h DWORD pointer to environment (max 486 bytes) or 0000h:0000h
1Ch WORD inheritance (00h or 01h)
1Eh WORD session type
00h OS/2 session manager determines type (default)
01h OS/2 full-screen
02h OS/2 window
03h PM
04h VDM full-screen
07h VDM window
20h DWORD pointer to ASCIZ icon filename (max 128 chars) or 0000h:0000h
24h DWORD "PgmHandle" (currently reserved, must be 00000000h)
28h WORD "PgmControl"
2Ah WORD initial column
2Ch WORD initial row
2Eh WORD initial width
30h WORD initial height
32h WORD reserved (0)
34h DWORD "ObjectBuffer" (currently reserved, must be 00000000h)
38h DWORD "ObjectBufferLen" (currently reserved, must be 00000000h)
--------O-2164--BX00B6-----------------------
INT 21 U - OS/2 v2.1+ Virtual DOS Machine - OS/2 API DosQFSAttach
AH = 64h
BX = 00B6h (API ordinal)
CX = 636Ch (magic value "cl")
DS = user's data segment
ES:DI -> FSQAttachStruc (see #0955)
Return: CF set on error
AX = error code (see #0885 at AH=59h)
CF clear if successful
AX = 0000h
data buffer filled
SeeAlso: AH=64h/CX=636Ch
Format of OS/2 Virtual DOS Machine FSQAttachStruc:
Offset Size Description (Table 0955)
00h DWORD reserved
04h DWORD pointer to the offset of the data buffer length
08h DWORD pointer to the offset of the data buffer
0Ch WORD FSA Info level
0Eh WORD ordinal index into table
10h DWORD pointer to the offset of the device name
Notes: The segment value of the buffer, buffer length, and device
name MUST all be the same. It is defined on entry in the DS
register. The details of each info level are defined in the
OS/2 CP Reference.
--------O-2164--BX00CB-----------------------
INT 21 U - OS/2 v2.1+ Virtual DOS Machine - OS/2 API DosForceDelete
AH = 64h
BX = 00CBh (API ordinal)
CX = 636Ch (magic value "cl")
DS:DX -> ASCIZ filename
Return: CF clear if successful
AX destroyed
CF set on error
AX = error code (02h,03h,05h) (see #0885 at AH=59h)
Desc: delete a file without saving it to the undelete directory
SeeAlso: AH=41h,AH=64h/CX=636Ch
--------D-2165-------------------------------
INT 21 - DOS 3.3+ - GET EXTENDED COUNTRY INFORMATION
AH = 65h
AL = info ID
01h get general internationalization info
02h get pointer to uppercase table
04h get pointer to filename uppercase table
05h get pointer to filename terminator table
06h get pointer to collating sequence table
07h (DOS 4.0+) get pointer to Double-Byte Character Set table
BX = code page (FFFFh=global code page)
DX = country ID (FFFFh=current country)
ES:DI -> country information buffer (see #0956)
CX = size of buffer (>= 5)
Return: CF set on error
AX = error code (see #0885 at AH=59h)
CF clear if successful
CX = size of country information returned
ES:DI -> country information
Notes: AL=05h appears to return same info for all countries and codepages; it
has been documented for DOS 5+, but was undocumented in ealier
versions
NLSFUNC must be installed to get info for countries other than the
default
subfunctions 02h and 04h are identical under OS/2
SeeAlso: AH=38h,INT 2F/AX=1401h,INT 2F/AX=1402h,INT 2F/AX=14FEh
Format of country information:
Offset Size Description (Table 0956)
00h BYTE info ID
---if info ID = 01h---
01h WORD size
03h WORD country ID
05h WORD code page
07h 34 BYTEs country-dependent info (see AH=38h)
---if info ID = 02h---
01h DWORD pointer to uppercase table (see #0957)
---if info ID = 04h---
01h DWORD pointer to filename uppercase table (see #0958)
---if info ID = 05h---
01h DWORD pointer to filename character table (see #0959)
---if info ID = 06h---
01h DWORD pointer to collating table (see #0960)
---if info ID = 07h (DOS 4.0+)---
01h DWORD pointer to DBCS lead byte table (see #0961)
Format of uppercase table:
Offset Size Description (Table 0957)
00h WORD table size
02h 128 BYTEs uppercase equivalents (if any) of chars 80h to FFh
Format of filename uppercase table:
Offset Size Description (Table 0958)
00h WORD table size
02h 128 BYTEs uppercase equivalents (if any) of chars 80h to FFh
Format of filename terminator table:
Offset Size Description (Table 0959)
00h WORD table size (not counting this word)
02h BYTE ??? (01h for MS-DOS 3.30-6.00)
03h BYTE lowest permissible character value for filename
04h BYTE highest permissible character value for filename
05h BYTE ??? (00h for MS-DOS 3.30-6.00)
06h BYTE first excluded character in range \ all characters in this
07h BYTE last excluded character in range / range are illegal
08h BYTE ??? (02h for MS-DOS 3.30-6.00)
09h BYTE number of illegal (terminator) characters
0Ah N BYTEs characters which terminate a filename: ."/\[]:|<>+=;,
Note: partially documented for DOS 5+, but undocumented for earlier versions
Format of collating table:
Offset Size Description (Table 0960)
00h WORD table size
02h 256 BYTEs values used to sort characters 00h to FFh
Format of DBCS lead byte table:
Offset Size Description (Table 0961)
00h WORD length
02h 2N BYTEs start/end for N lead byte ranges
WORD 0000h (end of table)
--------D-2165-------------------------------
INT 21 - DOS 4.0+ - COUNTRY-DEPENDENT CHARACTER CAPITALIZATION
AH = 65h
AL = function
20h capitalize character
DL = character to capitalize
Return: DL = capitalized character
21h capitalize string
DS:DX -> string to capitalize
CX = length of string
22h capitalize ASCIZ string
DS:DX -> ASCIZ string to capitalize
Return: CF set on error
AX = error code (see #0885 at AH=59h)
CF clear if successful
Note: these calls have been documented for DOS 5+, but were undocumented in
DOS 4.x.
--------D-216523-----------------------------
INT 21 U - DOS 4.0+ - DETERMINE IF CHARACTER REPRESENTS YES/NO RESPONSE
AX = 6523h
DL = character
DH = second character of double-byte character (if applicable)
Return: CF set on error
CF clear if successful
AX = type
00h no
01h yes
02h neither yes nor no
--------D-2165-------------------------------
INT 21 U - DOS 4.0+ internal - COUNTRY-DEPENDENT FILENAME CAPITALIZATION
AH = 65h
AL = function
A0h capitalize filename character
DL = character to capitalize
Return: DL = capitalized character
A1h capitalize counted filename string
DS:DX -> filename string to capitalize
CX = length of string
A2h capitalize ASCIZ filename
DS:DX -> ASCIZ filename to capitalize
Return: CF set on error
AX = error code (see #0885 at AH=59h)
CF clear if successful
Note: nonfunctional in DOS 4.00 through 6.00 due to a bug (the code sets a
pointer depending on the high bit of AL, but doesn't clear the
bit before branching by function number).
--------D-216601-----------------------------
INT 21 - DOS 3.3+ - GET GLOBAL CODE PAGE TABLE
AX = 6601h
Return: CF set on error
AX = error code (see #0885 at AH=59h)
CF clear if successful
BX = active code page (see #0962)
DX = system code page (see #0962)
SeeAlso: AX=6602h
--------D-216602-----------------------------
INT 21 - DOS 3.3+ - SET GLOBAL CODE PAGE TABLE
AX = 6602h
BX = active code page (see #0962)
DX = system code page (active page at boot time)
Return: CF set on error
AX = error code (see #0885 at AH=59h)
CF clear if successful
AX = EB41h (Novell NWDOS v7.0 when NLSFUNC not installed and
request was for previously-active code page)
SeeAlso: AX=6601h,INT 2F/AX=14FFh
(Table 0962)
Values for code page:
437 US
850 Multilingual
852 Slavic/Latin II (DOS 5+)
857 Turkish
860 Portugal
861 Iceland
863 Canada (French)
865 Norway/Denmark
--------D-2167-------------------------------
INT 21 - DOS 3.3+ - SET HANDLE COUNT
AH = 67h
BX = size of new file handle table for process
Return: CF clear if successful
CF set on error
AX = error code (see #0885 at 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: if BX <= 20, no action is taken if the handle limit has not yet been
increased, and the table is copied back into the PSP if the limit
is currently > 20 handles
for file handle tables of > 20 handles, DOS 3.30 never reuses the
same memory block, even if the limit is being reduced; this can lead
to memory fragmentation as a new block is allocated and the existing
one freed
only the first 20 handles are copied to child processes in DOS 3.3-6.0
increasing the file handles here will not, in general, increase the
number of files that can be opened using the runtime library of a
high-level language such as C
Novell DOS 7 reportedly terminates the calling program if the JFT is
being reduced in size and there are any open file handles beyond
the portion of the JFT being retained
BUGS: the original release of DOS 3.30 allocates a full 64K for the handle
table on requests for an even number of handles
DR-DOS 3.41 and 5.0 will lose track of any open file handles beyond
the portion of the JFT retained after the call; MS-DOS will indicate
error 04h if any of the JFT entries to be removed are open
SeeAlso: AH=26h,AH=86h
--------D-2168-------------------------------
INT 21 - DOS 3.3+ - "FFLUSH" - COMMIT FILE
AH = 68h
BX = file handle
Return: CF clear if successful
all data still in DOS disk buffers is written to disk immediately,
and the file's directory entry is updated
CF set on error
AX = error code (see #0885 at AH=59h)
SeeAlso: AX=5D01h,AH=6Ah,INT 2F/AX=1107h
--------D-2169-------------------------------
INT 21 U - DOS 4.0+ internal - GET/SET DISK SERIAL NUMBER
AH = 69h
AL = subfunction
00h get serial number
01h set serial number
BL = drive (0=default, 1=A, 2=B, etc)
BH = info level (00h only for DOS; OS/2 allows other levels)
DS:DX -> disk info (see #0963)
Return: CF set on error
AX = error code (see #0885 at AH=59h)
CF clear if successful
AX destroyed
(AL = 00h) buffer filled with appropriate values from extended BPB
(AL = 01h) extended BPB on disk set to values from buffer
Notes: does not generate a critical error; all errors are returned in AX
error 0005h given if no extended BPB on disk
does not work on network drives (error 0001h)
buffer after first two bytes is exact copy of bytes 27h thru 3Dh of
extended BPB on disk
this function is supported under Novell NetWare versions 2.0A through
3.11; the returned serial number is the one a DIR would display,
the volume label is the NetWare volume label, and the file system
is set to "FAT16".
this function is not supported by Novell DOS 7
the serial number is computed from the current date and time when the
disk is created; the first part is the sum of the seconds/hundredths
and month/day, the second part is the sum of the hours/minutes and
year
the volume label which is read or set is the one stored in the extended
BPB on disks formatted with DOS 4.0+, rather than the special root
directory entry used by the DIR command in COMMAND.COM (use AH=11h
to find that volume label)
SeeAlso: AX=440Dh
Format of disk info:
Offset Size Description (Table 0963)
00h WORD info level (zero)
02h DWORD disk serial number (binary)
06h 11 BYTEs volume label or "NO NAME " if none present
11h 8 BYTEs (AL=00h only) filesystem type--string "FAT12 " or "FAT16 "
--------O-2169-------------------------------
INT 21 - DR-DOS 5.0 - NULL FUNCTION
AH = 69h
Return: AL = 00h
SeeAlso: AH=18h
--------v-216969-----------------------------
INT 21 - VIRUS - "Rape-747" - INSTALLATION CHECK
AX = 6969h
Return: AX = 0666h if resident
SeeAlso: AX=58CCh,AX=6304h"VIRUS",AH=76h"VIRUS"
--------d-2169FFDX0000-----------------------
INT 21 U - CUBIT v4.00 - GET CUBIT INT 21 HANDLER
AX = 69FFh
DX = 0000h
BX = CB00h (magic value)
Return: ES:BX -> CUBITR.EXE handler for INT 21
Note: the installation check consists of testing that the first eight bytes
at the returned interrupt handler are EBh 07h "CUBITR" (a short
jump around the signature followed by the signature); the byte
following the signature (i.e. ES:[BX+8]) indicates whether CUBITR
is active (01h) or disabled (00h)
SeeAlso: AX=69FFh/DX=CFBFh
Index: installation check;CUBIT
--------d-2169FFDXCFBF-----------------------
INT 21 U - CUBIT v4.00 - UNINSTALL
AX = 69FFh
DX = CFBFh
CX = EFCFh
BX = CB00h (magic value)
Return: ES:BX -> CUBITR.EXE handler for INT 21
CX = status
2020h successful
2222h failed
Note: if DX is neither 0000h nor CFBFh on entry, some other code is executed
SeeAlso: AX=69FFh/DX=0000h
--------D-216A-------------------------------
INT 21 U - DOS 4.0+ - COMMIT FILE
AH = 6Ah
BX = file handle
Return: CF clear if successful
AH = 68h
CF set on error
AX = error code (06h) (see #0885 at AH=59h)
Note: identical to AH=68h in DOS 5.0-6.0; not known whether this is the case
in DOS 4.x
SeeAlso: AH=68h
--------D-216B-------------------------------
INT 21 U - DOS 4.0 internal - IFS IOCTL
AH = 6Bh
AL = subfunction
00h ???
DS:SI -> Current Directory Structure???
CL = drive (1=A:)
01h ???
DS:SI -> ???
CL = file handle???
02h ???
DS:SI -> Current Directory Structure???
DI = ???
CX = drive (1=A:)
Return: CF set on error
AX = error code (see #0885 at INT 21/AH=59h)
CF clear if successful
Note: passed through to INT 2F/AX=112Fh with AX on top of stack
SeeAlso: AH=6Bh"DOS 5",INT 2F/AX=112Fh
--------D-216B-------------------------------
INT 21 U - DOS 5+ - NULL FUNCTION
AH = 6Bh
Return: AL = 00h
Note: this function does nothing and returns immediately
SeeAlso: AH=6Bh"DOS 4"
--------D-216C00-----------------------------
INT 21 - DOS 4.0+ - EXTENDED OPEN/CREATE
AX = 6C00h
BL = open mode as in AL for normal open (see also AH=3Dh)
bit 7: inheritance
bits 4-6: sharing mode
bit 3 reserved
bits 0-2: access mode
BH = flags
bit 6 = auto commit on every write (see also AH=68h)
bit 5 = return error rather than doing INT 24h
CX = create attribute (see #0965)
DL = action if file exists/does not exist (see #0966)
DH = 00h (reserved)
DS:SI -> ASCIZ file name
Return: CF set on error
AX = error code (see #0885 at AH=59h)
CF clear if successful
AX = file handle
CX = status (see #0964)
Notes: the PC LAN Program only supports DL=01h, DL=10h/sharing=compatibility,
and DL=12h
DR-DOS reportedly does not support this function and does not return
an "invalid function call" error when this function is used.
the documented bits of BX are stored in the SFT when the file is opened
(see #0853,#0854)
BUG: this function has bugs (at least in DOS 5.0 and 6.2) when used with
drives handled via the network redirector (INT 2F/AX=112Eh):
- CX (attribute) is not passed to the redirector if DL=11h,
- CX does not return the status, it is returned unchanged because
DOS does a PUSH CX/POP CX when calling the redirector.
SeeAlso: AH=3Ch,AH=3Dh,AX=6C01h,AH=71h,INT 2F/AX=112Eh
(Table 0964)
Values for extended open function status:
01h file opened
02h file created
03h file replaced
Bitfields for file create attribute:
Bit(s) Description (Table 0965)
6-15 reserved
5 archive
4 reserved
3 volume label
2 system
1 hidden
0 readonly
Bitfields for action:
Bit(s) Description (Table 0966)
7-4 action if file does not exist
0000 fail
0001 create
3-0 action if file exists
0000 fail
0001 open
0010 replace/open
--------O-216C01-----------------------------
INT 21 U - OS/2 v2.0 - "DosOpen2"
AX = 6C01h
BL = open mode as in AL for normal open (see also AH=3Dh)
bit 7: inheritance
bits 4-6: sharing mode
bit 3 reserved
bits 0-2: access mode
BH = flags
bit 6 = auto commit on every write (see also AH=68h)
bit 5 = return error rather than doing INT 24h
CX = create attribute (see #0965)
DL = action if file exists/does not exist (see #0966)
DH = 00h (reserved)
DS:SI -> ASCIZ file name
ES:DI -> EAOP structure
Return: CF set on error
AX = error code (see #0885 at AH=59h)
CF clear if successful
AX = file handle
CX = status (see #0964)
Note: this function is virtually identical to AX=6C00h, but supports OS/2's
extended attributes
SeeAlso: AX=5704h,AX=6C00h,AH=6Fh"OS/2"
--------D-216D-------------------------------
INT 21 U - DOS 5+ ROM - FIND FIRST ROM PROGRAM
AH = 6Dh
DS:DX -> ASCIZ program name (may contain wildcrds)
Return: CF clear if found
[DTA] = ROM search structure (see #0967)
CF set if not found
AX = error code
0002h name not found in ROM
0003h name contains colon or backslash
Notes: the '*' wildcard matches all remaining characters in a ROM program's
name; any following characters in the search mask are ignored up to
another asterisk, which must be matched by an asterisk in the
found program's name.
the search mask and program names may contain multiple periods
SeeAlso: AH=1Ah,AH=4Eh,AH=6Eh,AX=6F00h,AX=6F02h
Format of ROM search structure:
Offset Size Description (Table 0967)
00h 13 BYTEs ASCIZ name of found ROM program
0Dh DWORD address at which to resume search (do not modify)
11h var ASCIZ search mask passed in (do not modify)
--------O-216D-------------------------------
INT 21 U - OS/2 v1.x FAPI - "DosMkDir2"
AH = 6Dh
???
Return: ???
Note: also supported by OS/2 v2.0+ Virtual DOS Machines
SeeAlso: AH=39h
--------O-216D-------------------------------
INT 21 U - Novell DOS 7 - NOP
AH = 6Dh
Return: AX = 0000h
Note: this function invokes the same code as other NOP functions such as
AH=18h and AH=61h
--------D-216E-------------------------------
INT 21 U - DOS 5+ ROM - FIND NEXT ROM PROGRAM
AH = 6Eh
[DTA] = result of previous FindFirst ROM (see AH=6Dh)
Return: CF clear if found
[DTA] = updated ROM search structure (see #0967)
CF set if not found
AX = 0012h (no more matches)
SeeAlso: AH=4Fh,AH=6Dh
--------O-216E-------------------------------
INT 21 U - OS/2 v1.x FAPI - "DosENumAttrib"
AH = 6Eh
???
Return: ???
Note: also supported by OS/2 v2.0+ Virtual DOS Machines
SeeAlso: AX=5703h,AH=6Fh"OS/2",INT 2F/AX=112Dh
--------O-216F-------------------------------
INT 21 U - OS/2 v1.x FAPI - "DosQMaxEASize" - GET MAXIMUM SIZE OF EXTENDED ATTR
AH = 6Fh
???
Return: ???
Note: also supported by OS/2 v2.0+ Virtual DOS Machines
SeeAlso: AX=5703h,AX=6C01h,AH=6Eh"OS/2"
--------D-216F00-----------------------------
INT 21 U - DOS 5+ ROM - GET ROM SCAN START ADDRESS
AX = 6F00h
Return: CF clear
AL = 00h
BX = current ROM scan starting segment
SeeAlso: AH=6Dh,AX=6F01h,AX=6F02h
--------D-216F01-----------------------------
INT 21 U - DOS 5+ ROM - SET ROM SCAN START ADDRESS
AX = 6F01h
BX = new ROM scan starting address
Return: CF clear
AL = 00h
SeeAlso: AX=6F00h,AX=6F03h
--------D-216F02-----------------------------
INT 21 U - DOS 5+ ROM - GET EXCLUSION REGION LIST
AX = 6F02h
ES:BX -> buffer for exclusion region list (see #0968)
Return: CF clear
AL = 00h
ES:BX = 0000h:0000h on error, unchanged if buffer filled
SeeAlso: AX=6F00h,AX=6F03h
Format of ROM exclusion region list:
Offset Size Description (Table 0968)
00h WORD number of entries
02h 2N WORDs start/end segments of N excluded regions
--------D-216F03-----------------------------
INT 21 U - DOS 5+ ROM - SET EXCLUSION REGION LIST
AX = 6F03h
DS:DX -> new exclusion region list (see #0968)
Return: CF clear
AL = 00h
Notes: DOS saves only the pointer and assumes that the contents of the list
are never changed, and that regions do not overlap
if AL > 03h on entry, DOS returns CF set/AL=01h
SeeAlso: AX=6F01h,AX=6F02h
--------D-2170-------------------------------
INT 21 - MS-DOS 7 (Windows95) - ??? (country-specific?)
AH = 70h
AL = subfunction
00h get ??? info
CX = buffer size (3Ah bytes needed)
ES:DI -> buffer
01h set above info
02h set ??? info
CX = buffer size >= 26h;
first three bytes are skipped, the rest is copied to somewhere
in the DOS data segment
Return: CF clear if successful
ES:DI buffer filled (func 00h)
returned was (among others) "ENU USA GR"..."AM PM M/d/yy"...
"dddd,MMMMdd,yyyy" in the German Preview version, and "US"
instead of "GR" in the US build 450 version (with German
country setting)
CF set on error
AX = error code
7000h if function not supported
----------217070BX6060-----------------------
INT 21 - PCW Weather Card interface - GET DATA SEGMENT
AX = 7070h
BX = 6060h
CX = 7070h
DX = 7070h
SI = 7070h
DI = 7070h
Return: AX = segment of data structure (see #0969)
Notes: the data structure is at offset 516 from this segment
the update byte is at offset 514 from this segment. Updates are
once per second while this byte is nonzero and it is decremented
once per second. While this byte is 0 updates are once per minute.
SeeAlso: AX=7070h/BX=7070h
Format of PCW Weather Card data structure:
Offset Type Description (Table 0969)
00h WORD hour
02h WORD minute
04h WORD second
06h WORD day
08h WORD month
0Ah WORD year
0Ch WORD ???
0Eh WORD relative barometric pressure (in 1/100 inches)
10h WORD ???
12h WORD ???
14h WORD temperature 1 (in 1/10 degrees F)
16h WORD temperature 1 lowest (in 1/10 degrees F)
18h WORD temperature 1 highest (in 1/10 degrees F)
1Ah WORD temperature 2 (in 1/10 degrees F)
1Ch WORD temperature 2 lowest (in 1/10 degrees F)
1Eh WORD temperature 2 highest (in 1/10 degrees F)
20h WORD wind speed (in MPH)
22h WORD average of 60 wind speed samples (in MPH)
24h WORD highest wind speed (in MPH)
26h WORD wind chill factor (in 1/10 degrees F)
28h WORD lowest wind chill factor (in 1/10 degrees F)
2Ah WORD ???
2Ch WORD wind direction (in degrees)
2Eh WORD accumulated daily rainfall (in 1/10 inches)
30h WORD accumulated annual rainfall (in 1/10 inches)
----------217070BX7070-----------------------
INT 21 - PCW Weather Card interface - INSTALLATION CHECK
AX = 7070h
BX = 7070h
CX = 7070h
DX = 7070h
SI = 7070h
DI = 7070h
Return: AX = 0070h
BX = 0070h
CX = 0070h
DX = 0070h
SI = 0070h
DI = 0070h
SeeAlso: AX=7070h/BX=6060h,AX=8080h
--------D-2171-------------------------------
INT 21 - MS-DOS 7 (Chicago) - LONG FILENAME FUNCTIONS
AH = 71h
AL = function
39h create directory
3Ah remove directory
3Bh set current directory
41h delete file
43h get file attributes (BL=00h), set file attributes (BL=01h)
47h get current directory
4Eh find first file
4Fh find next file
56h move (rename) file
6Ch create/open file
Return: CF set on error
AX = error code
7100h if function not supported
CF clear if successful
other registers as for corresponding "old" DOS function
Notes: if error 7100h is returned, the old-style function should be called
AX=714Eh returns a "search handle" which must be passed to AX=714Fh;
when the search is complete, AX=71A1h must be called to terminate
the search
SeeAlso: AH=39h,AH=3Ah,AH=3Bh,AH=41h,AH=43h,AH=47h,AH=4Eh,AH=4Fh,AH=56h,AH=6Ch
SeeAlso: AX=714Eh,AX=714Fh,AX=71A0h,AX=71A1h
--------D-21714ESI0000-----------------------
INT 21 - Windows95 - LONG FILENAME - FIND FIRST MATCHING FILE
AX = 714Eh
SI = 0000h
DS:DX -> ASCIZ filespec
ES:DI -> FindData record (see #2695)
Return: CF clear if successful
AX = filefind handle (needed to continue search)
CF set on error
AX = error code
7100h if function not supported
Note: this function is only available when IFSMgr is running, not under bare
MS-DOS 7
SeeAlso: AX=714Fh,AX=71A1h
Format of Windows95 long filename FindData record:
Offset Size Description (Table 2695)
00h DWORD file attributes
bits 0-6 standard DOS attributes (see #0643 at INT 21/AX=4301h)
bit 8: temporary file
04h QWORD file creation time (number of 100ns intervals since 1/1/1601)
0Ch QWORD last access time
14h QWORD last modification time
1Ch DWORD file size (high 32 bits)
20h DWORD file size (low 32 bits)
24h 8 BYTEs reserved
2Ch 260 BYTEs ASCIZ full filename
130h 14 BYTEs ASCIZ short filename (for backward compatibility)
--------D-21714FSI0000-----------------------
INT 21 - Windows95 - LONG FILENAME - FIND NEXT MATCHING FILE
AX = 714Fh
SI = 0000h
BX = filefind handle (from AX=714Eh)
ES:DI -> FindData record (see #2695)
Return: CF clear if successful
CF set on error
AX = error code
7100h if function not supported
Note: this function is only available when IFSMgr is running, not under bare
MS-DOS 7
SeeAlso: AX=714Eh,AX=71A1h
--------D-217160-----------------------------
INT 21 - Windows95 - LONG FILENAME - "TRUENAME" - CANONICALIZE FILENAME OR PATH
AX = 7160h
CX = ??? (apparently must be 0002h)
DS:SI -> ASCIZ filename or path
ES:DI -> 128-byte buffer for canonicalized name
Return: CF set on error
AX = error code
02h invalid component in directory path or drive letter only
03h malformed path or invalid drive letter
ES:DI buffer unchanged
CF clear if successful
AH = 00h
AL = destroyed (00h or 5Ch or last char of current dir on drive)
buffer filled with qualified name of form D:\PATH\FILE.EXT or
\\MACHINE\PATH\FILE.EXT
Desc: determine the canonical name of the specified filename or path,
corresponding to the undocumented TRUENAME command in COMMAND.COM
SeeAlso: AH=60h
--------D-2171A0-----------------------------
INT 21 - Windows95 - LONG FILENAME - GET VOLUME INFORMATION
AX = 71A0h
DS:SI -> ASCIZ root name (e.g. "C:\")
ES:DI -> buffer for file system name
CX = size of ES:DI buffer
Return: CF clear if successful
BX = flags (see below)
CX = maximum length of file name [usually 255]
DX = maximum length of path [usually 260]
ES:DI buffer filled (ASCIZ, e.g. "FAT","NTFS","CDFS")
CF set on error
AX = error code
7100h if function not supported
Note: for the file system name buffer, 32 bytes should be sufficient; that's
what is used in some sample code by Walter Oney from Microsoft.
SeeAlso: AX=714Eh
Bitfields for flags:
Bit(s) Description
0 searches are case sensitive
1 preserves case in directory entries
2 uses Unicode characters in file and directory names
3-13 reserved (0)
14 supports DOS long filename functions
15 volume is compressed
--------D-2171A1-----------------------------
INT 21 - Windows95 - LONG FILENAME - "FindClose" - TERMINATE DIRECTORY SEARCH
AX = 71A1h
BX = filefind handle (from AX=714Eh)
Return: CF clear if successful
CF set on error
AX = error code
7100h if function not supported
Notes: this function must be called after starting a search with AX=714Eh,
to indicate that the search handle returned by that function will
no longer be used
this function is only available when IFSMgr is running, not under bare
MS-DOS 7
SeeAlso: AH=4Eh,AX=714Eh,AX=714Fh
--------D-2172-------------------------------
INT 21 - MS-DOS 7 (Windows95) - ???
AH = 72h
details not available
--------D-2173-------------------------------
INT 21 - MS-DOS 7 (Windows95) - DRIVE LOCKING ???
AH = 73h
AL = subfunction
00h get ???: CL =
00h: drive flag???
01h: ??? flag
01h set ???: CL =
00h: drive flag???
set to 06h if CH bit 1 =1, else to 00h
01h: ??? flag
set flag bit 3 to bit 3 of CH
DL = drive (0=current, 1=A:, etc.)
Return: CF clear if successful
for AL=00h:
AL = value of CL on entry
for CL=00h: AH = flag and 06h (i.e. bits 1 and 2 used)
for CL=01h: AH = flag and 08h (i.e. bit 3 used)
(flag being taken from a table of bytes)
CF set on error
AX = error code
7300h if function not supported
--------v-2176-------------------------------
INT 21 - VIRUS - "Klaeren"/"Hate" - INSTALLATION CHECK
AH = 76h
Return: AL = 48h if resident
SeeAlso: AX=6969h,AX=7700h"VIRUS"
--------v-217700-----------------------------
INT 21 - VIRUS - "Growing Block" - INSTALLATION CHECK
AX = 7700h
Return: AX = 0920h if resident
SeeAlso: AH=76h,AX=7BCEh,AH=7Fh
--------V-217734-----------------------------
INT 21 U - SCROLLit v1.7 - INSTALLATION CHECK
AX = 7734h
Return: DX = 3477h if installed
AX = segment of resident code
Program: ScrollIt is a shareware backscroll utility by Bromfield Software
Products
--------U-217761-----------------------------
INT 21 - WATCH.COM v3.2+ - INSTALLATION CHECK
AX = 7761h ('wa')
Return: AX = 6177h
Note: WATCH.COM is part of the "TSR" package by TurboPower Software
SeeAlso: INT 16/AX=7761h
--------v-217BCE-----------------------------
INT 21 - VIRUS - "Whisper"/"Taipan" - INSTALLATION CHECK???
AX = 7BCEh
Return: ???
SeeAlso: AX=7700h,AH=7Fh"VIRUS"
--------v-217F-------------------------------
INT 21 - VIRUS - "Squeaker" - INSTALLATION CHECK
AH = 7Fh
Return: AH = 80h if resident
SeeAlso: AX=7BCEh,AH=83h"VIRUS"
--------D-2180-------------------------------
INT 21 - European MS-DOS 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 #0885 at AH=59h)
Program: European MS-DOS 4.0 was written for Siemens in Germany and then used
by several other European OEMs; its release falls between mainstream
versions 3.2 and 3.3
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 #0809 at 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
see AX=8700h for an installation check
the "NE" new executable format made its first appearance in European
MS-DOS 4.0
SeeAlso: AH=4Bh,AH=87h,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
--------D-2181-------------------------------
INT 21 - European MS-DOS 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
--------D-2182-------------------------------
INT 21 - European MS-DOS 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: AH=81h,INT 15/AX=101Eh
--------D-2183-------------------------------
INT 21 - European MS-DOS 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 #0885 at 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
--------v-2183-------------------------------
INT 21 - VIRUS - "SVC" - INSTALLATION CHECK
AH = 83h
Return: DX = 1990h if resident
SeeAlso: AH=76h,AH=84h"VIRUS"
--------v-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"
--------D-218400-----------------------------
INT 21 - European MS-DOS 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 #0885 at 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
--------D-218401-----------------------------
INT 21 - European MS-DOS 4.0 - "GETMEM" - OBTAIN ACCESS TO SHARED MEMORY AREA
AX = 8401h
CX = flags
bit 7: writable segment (ignored by MS-DOS 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
--------D-218402-----------------------------
INT 21 - European MS-DOS 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
--------D-2185-------------------------------
INT 21 U - European MS-DOS 4.0 - ???
AH = 85h
???
Return: ???
--------D-2186-------------------------------
INT 21 - European MS-DOS 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 #0885 at 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
--------D-2187-------------------------------
INT 21 - European MS-DOS 4.0 - "GETPID" - GET PROCESS IDENTIFIER
AH = 87h
Return: AX = PID
BX = parent process's PID
CX = Command Subgroup ID (CSID)
Program: European MS-DOS 4.0 was written for Siemens in Germany and then used
by several other European OEMs; its release falls between mainstream
versions 3.2 and 3.3
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 MS-DOS 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
Index: installation check;European MS-DOS 4.0
--------D-2188-------------------------------
INT 21 U - European MS-DOS 4.0 - ???
AH = 88h
???
Return: ???
SeeAlso: AH=87h
--------D-2189-------------------------------
INT 21 - European MS-DOS 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
--------v-2189-------------------------------
INT 21 - VIRUS - "Vriest" - INSTALLATION CHECK
AH = 89h
Return: AX = 0123h if resident
SeeAlso: AH=84h"VIRUS",AH=90h"VIRUS"
--------D-218A-------------------------------
INT 21 - European MS-DOS 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 (see #0970)
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
(Table 0970)
Values for 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
--------D-218B-------------------------------
INT 21 U - European MS-DOS 4.0 - ???
AH = 8Bh
???
Return: ???
SeeAlso: AH=87h
--------D-218C-------------------------------
INT 21 - European MS-DOS 4.0 - SET SIGNAL HANDLER
AH = 8Ch
AL = signal number (see #0971)
BL = action (see #0972)
DS:DX -> signal handler (see #0973)
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 #0885 at 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
(Table 0971)
Values for European MS-DOS 4.0 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
(Table 0972)
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
(Table 0973)
Values signal handler is called with:
AL = signal number (see #0971)
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
--------D-218D-------------------------------
INT 21 - European MS-DOS 4.0 - SEND SIGNAL
AH = 8Dh
AL = signal number (see #0971)
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 #0885 at 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
--------D-218E00BH00-------------------------
INT 21 - European MS-DOS 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 #0885 at AH=59h)
Desc: specify or determine the execution priority of the specified process
or the process and all of its children
SeeAlso: AH=81h
--------D-218F-------------------------------
INT 21 U - European MS-DOS 4.0 - ???
AH = 8Fh
???
Return: ???
SeeAlso: AH=87h
--------D-2190-------------------------------
INT 21 U - European MS-DOS 4.0 - ???
AH = 90h
???
Return: ???
SeeAlso: AH=87h
--------v-2190-------------------------------
INT 21 - VIRUS - "Carioca" - INSTALLATION CHECK
AH = 90h
Return: AH = 01h if resident
SeeAlso: AH=89h"VIRUS",AX=9753h"VIRUS"
--------D-2191-------------------------------
INT 21 U - European MS-DOS 4.0 - ???
AH = 91h
???
Return: ???
SeeAlso: AH=87h
--------D-2192-------------------------------
INT 21 U - European MS-DOS 4.0 - ???
AH = 92h
???
Return: ???
SeeAlso: AH=87h
--------D-2193-------------------------------
INT 21 - European MS-DOS 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 #0885 at 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
--------D-2194-------------------------------
INT 21 U - European MS-DOS 4.0 - ???
AH = 94h
???
Return: ???
SeeAlso: AH=87h
--------D-2195-------------------------------
INT 21 - European MS-DOS 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
--------D-2196-------------------------------
INT 21 U - European MS-DOS 4.0 - ???
AH = 96h
???
Return: ???
--------D-2197-------------------------------
INT 21 U - European MS-DOS 4.0 - ???
AH = 97h
???
Return: ???
--------v-219753-----------------------------
INT 21 - VIRUS - "Nina" - INSTALLATION CHECK
AX = 9753h
Return: never (executes original program) if virus resident
SeeAlso: AH=90h"VIRUS",AX=A1D5h"VIRUS",AX=9AD5h"VIRUS"
--------D-2198-------------------------------
INT 21 U - European MS-DOS 4.0 - ???
AH = 98h
???
Return: ???
--------D-2199-------------------------------
INT 21 u - European MS-DOS 4.0 - "PBLOCK" - BLOCK A PROCESS
AH = 99h
DS:BX -> memory location to block on
CX = timeout in milliseconds
DH = nonzero if interruptable
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
--------D-219A-------------------------------
INT 21 u - European MS-DOS 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
Program: European MS-DOS 4.0 was written for Siemens in Germany and then used
by several other European OEMs; its release falls between mainstream
versions 3.2 and 3.3
Desc: restart all processes waiting for the specified "restart" signal
SeeAlso: AH=99h,INT 2F/AX=0802h
--------v-219AD5------------------------
INT 21 - VIRUS - "Massacre/Beavis" - INSTALLATION CHECK
AX = 9AD5h
Return: AX = 9AD4h if resident
SeeAlso: AX=6969h"VIRUS",AX=A1D5h"VIRUS"
--------I-21A0-------------------------------
INT 21 - Attachmate Extra! - GET 3270 DISPLAY STATE
AH = A0h
Return: AL = display status (see #0974)
BX = host window status (see #0975)
Program: Attachmate Extra! is a 3270 emulator by Attachmate Corporation
SeeAlso: AH=A1h
Bitfields for Attachmate Extra! display status:
Bit(s) Description (Table 0974)
7 0=windowed, 1=enlarged
6-3 current screen profile number 0-9
2-0 active window number (0=PC, 1-4=host B-E, 5-6=notepad F-G)
Bitfields for host window status:
Bit(s) Description (Table 0975)
15 reserved
14 0=host E window installed, 1=not
13 0=host E terminal on, 1=off
12 0=host E window displayed, 1=not
11 reserved
10 0=host D window installed, 1=not
9 0=host D terminal on, 1=off
8 0=host D window displayed, 1=not
7 reserved
6 0=host C window installed, 1=not
5 0=host C terminal on, 1=off
4 0=host C window displayed, 1=not
3 reserved
2 0=host B window installed, 1=not
1 0=host B terminal on, 1=off
0 0=host B window displayed, 1=not
--------I-21A1-------------------------------
INT 21 - Attachmate Extra! - SET 3270 DISPLAY STATE
AH = A1h
AL = new display status byte (see #0974)
SeeAlso: AH=A0h,AH=A2h
--------v-21A1D5-----------------------------
INT 21 - VIRUS - "789"/"Filehider" - INSTALLATION CHECK
AX = A1D5h
Return: AX = 900Dh if resident
SeeAlso: AX=9753h,AX=9AD5h,AX=A55Ah
--------I-21A2-------------------------------
INT 21 - Attachmate Extra! - SET HOST WINDOW STATE
AH = A2h
AL = new host window status byte (see #0976)
SeeAlso: AH=A1h
Bitfields for Attachmate Extra! host window status:
Bit(s) Description (Table 0976)
7 0=power off, 1=power on
6 0=not installed, 1=installed
5-3 reserved
2-0 window number 1-4=host B-E
--------I-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 (see #0977),
non-zero if keystroke buffer contains ASCII character
Return: CX = zero if character sent, non-zero if not
BX incremented if CX=0
(Table 0977)
Values for Attachmate Extra! host function code:
00h=reserved 10h=PF16 20h=Clear 30h=SysReq
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
--------I-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
--------I-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
--------v-21A55A-----------------------------
INT 21 - VIRUS - "Eddie-2" - INSTALLATION CHECK
AX = A55Ah
Return: AX = 5AA5h if resident
SeeAlso: AX=A1D5h,AX=AA00h
--------v-21AA00-----------------------------
INT 21 - VIRUS - "Blinker" - INSTALLATION CHECK
AX = AA00h
Return: AX = 00AAh if resident
SeeAlso: AX=A55Ah,AX=AA03h
--------v-21AA03-----------------------------
INT 21 - VIRUS - "Backtime" - INSTALLATION CHECK
AX = AA03h
Return: AX = 03AAh if resident
SeeAlso: AX=AA00h,AH=ABh
--------v-21AB-------------------------------
INT 21 - VIRUS - "600" or "Voronezh"-family - INSTALLATION CHECK
AH = ABh
Return: AX = 5555h if resident
SeeAlso: AX=AA03h,AX=ABCDh,AX=BBBBh"VIRUS"
--------v-21ABCD------------------------
INT 21 - VIRUS - "SuperVirus 2" - INSTALLATION CHECK
AX = ABCDh
Return: AX = DCBAh if resident
SeeAlso: AH=ABh"VIRUS",AX=BBBBh"VIRUS"
--------I-21AF-------------------------------
INT 21 - Attachmate Extra! - GET TRANSLATE TABLE ADDRESS
AH = AFh
Return: DS:BX -> translate tables (see #0978)
Format of Attachmate Extra! translate tables:
Offset Size Description (Table 0978)
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
--------N-21B300-----------------------------
INT 21 U - Novell NetWare - CHECK LIP/PACKET SIGNING/IPX CHECKSUM SUPPORT???
AX = B300h
Return: AX = 0000h if supported???
Note: this function appeared with the packet signing/Large Internet Packets/
IPX Checksum-aware NetWare shells
SeeAlso: AX=B301h,AX=B302h
--------N-21B301-----------------------------
INT 21 U - Novell NetWare - CHECK SIGNATURE LEVEL???
AX = B301h
Return: AX = 0000h if supported???
BX:CX indicate signature level (see #0979)
Note: this function appeared with the packet signing/Large Internet Packets/
IPX Checksum-aware NetWare shells
SeeAlso: AX=B300h,AX=B304h,#1581 at INT 2F/AX=7A20h/BX=0000h
(Table 0979)
Values for signature level indicator:
0000h:0000h = signature level 0
0002h:0000h = signature level 1
0202h:0000h = signature level 2
0202h:0202h = signature level 3
--------N-21B302-----------------------------
INT 21 U - Novell NetWare - START PACKET SIGNING
AX = B302h
CX = server connection (1-8)
DS:SI -> 24-byte buffer containing ???
Return: ???
Notes: this function appeared with the packet signing/Large Internet Packets/
IPX Checksum-aware NetWare shells
if packet signing is active, this call is required if and only if the
last call successfully authenticated the workstation to the server
SeeAlso: AX=B300h,#1581
--------N-21B304-----------------------------
INT 21 U - Novell NetWare - SET SIGNATURE LEVEL
AX = B304h
BX:CX = new signature level (see AX=B301h)
Return: ???
Note: this function appeared with the packet signing/Large Internet Packets/
IPX Checksum-aware NetWare shells
SeeAlso: AX=B300h,AX=B301h,AX=B306h,#1581
--------N-21B306-----------------------------
INT 21 - Novell NetWare - RENEGOTIATE SECURITY LEVEL
AX = B306h
CX = server connection number (01h-08h)
Return: ???
Note: this function appeared with the packet signing/Large Internet Packets/
IPX Checksum-aware NetWare shells
SeeAlso: AX=B300h,AX=B304h,#1581
--------N-21B4-------------------------------
INT 21 U - Novell NetWare - "AttachHandle"
AH = B4h
DS:SI -> input buffer (see #0980)
Return: AX = DOS file handle or return code
Note: this is an interface provided by NetWare to give DOS file access to
NetWare files on non-DOS systems such as Macintosh, OS/2, and Unix
SeeAlso: AX=E909h
Format of Novell NetWare input buffer:
Offset Size Description (Table 0980)
00h BYTE "WorkFileServer"
01h BYTE access code
02h DWORD "OpenHandle"
06h WORD "OpenHandleCount"
08h DWORD "OpenFileSize"
Note: the six bytes at 02h-07h appear to be the six-byte NetWare handle
returned by AX=E909h
--------N-21B500-----------------------------
INT 21 U - Novell NetWare - VNETWARE.386 API - GET INSTANCE DATA
AX = B500h
Return: ES:BX -> data
CX = length
SeeAlso: AX=B501h,AX=B502h
--------N-21B501-----------------------------
INT 21 U - Novell NetWare - VNETWARE.386 API - END VIRTUAL MACHINE
AX = B501h
SeeAlso: AX=B500h,AX=B502h
--------N-21B502-----------------------------
INT 21 U - Novell NetWare - VNETWARE.386 API - START VIRTUAL MACHINE
AX = B502h
SeeAlso: AX=B500h,AX=B501h
--------N-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 (see #0981)
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.
(Table 0981)
Values for NetWare task mode byte in version 3.01:
00h-03h reserved
04h no task cleanup
--------N-21B505-----------------------------
INT 21 U - Novell NetWare - VNETWARE.386 API - SET VIRTUAL MACHINE ID
AX = B505h
???
Return: ???
SeeAlso: AX=B502h,AX=B506h
--------N-21B506-----------------------------
INT 21 U - Novell NetWare - VNETWARE.386 API - GET VIRTUAL MACH SUPPORT LEVEL
AX = B506h
Return: AX = ??? (0002h)
SeeAlso: AX=B505h
--------N-21B507-----------------------------
INT 21 - Novell NetWare - NetWare Shell - GET NUMBER OF PACKET BURST BUFFERS
AX = B507h
Return: AL = number of packet burst buffers (configured at shell load time)
--------N-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 #0982)
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 #0982)
Note: this function is supported by Advanced NetWare 2.1+
SeeAlso: AX=4300h,AH=E3h/SF=0Fh
Bitfields for NetWare extended file attributes:
Bit(s) Description (Table 0982)
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
3 reserved
4 transactions on file tracked
5 file's FAT indexed
6 read audit (to be implemented)
7 write audit (to be implemented)
--------N-21B7-------------------------------
INT 21 U - Novell NetWare - "HoldFileModeSet" (obsolete)
AH = B7h
AL = new value for HoldFileFlag
Return: AL = previous value of HoldFileFlag
Note: this function provided backward compatibility with a bug in early
DOS versions and CP/M, but is no longer used or supported
--------I-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
--------N-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 #0983)
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 NetWare capture flags table:
Offset Size Description (Table 0983)
00h BYTE status (used internally, should be set to 00h)
01h BYTE print flags (see #0984)
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 (big-endian) timeout in clock ticks for flushing capture file
on inactivity, or 0000h to disable timeout
18h BYTE flush capture file on LPT close if nonzero
19h WORD (big-endian) maximum lines per page
1Bh WORD (big-endian) maximum characters per line
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 (big-endian) address of printer setup string
31h DWORD (big-endian) address of printer reset string
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 (big-endian) print job number (1-999)
Bitfields for NetWare print flags:
Bit(s) Description (Table 0984)
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
--------N-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 #0983)
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
--------N-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 #0983)
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
--------N-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 #0983)
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
--------N-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
--------N-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
--------N-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,AH=E0h/SF=09h
--------N-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,AH=E0/SF=09h,AH=E3h/SF=68h
--------N-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
--------N-21B809-----------------------------
INT 21 - Novell NetWare - PRINT SERVICES - SET 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
--------N-21B9-------------------------------
INT 21 U - Novell NetWare - "SpecialAttachableFunction"
AH = B9h
AL = FFh to hook this function
ES:BX -> function to invoke on AH=B9h when AL<>FFh
Note: this function is no longer used or supported by current versions of
NetWare
--------N-21BA-------------------------------
INT 21 U - Novell NetWare - "ReturnCommandComPointers"
AH = BAh
Return: DX = environment segment
ES:DI -> COMMAND.COM drive
Desc: used to edit the COMSPEC and PATH variables in the master environment
when mapping network drives
Note: this function was documented in older Novell documents which are no
longer available
--------N-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=19h,AH=D6h
--------v-21BBBB-----------------------------
INT 21 - VIRUS - "Hey You" - INSTALLATION CHECK
AX = BBBBh
Return: AX = 6969h
SeeAlso: AH=ABh"VIRUS",AH=BEh"VIRUS"
--------N-21BC-------------------------------
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOG PHYSICAL RECORD
AH = BCh
AL = flags (see #0986)
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 (see #0985)
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
(Table 0985)
Values for NetWare status:
00h successful
96h no dynamic memory for file
FEh timed out
FFh failed
Bitfields for NetWare flags:
Bit(s) Description (Table 0986)
0 lock as well as log record
1 non-exclusive lock
--------N-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
--------N-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
--------v-21BE-------------------------------
INT 21 - VIRUS - "Datalock" - INSTALLATION CHECK
AH = BEh
Return: AX = 1234h if resident
SeeAlso: AX=BBBBh,AX=BE00h
--------v-21BE00-----------------------------
INT 21 - VIRUS - "USSR-1049" - INSTALLATION CHECK
AX = BE00h
CF set
Return: CF clear if resident
SeeAlso: AH=BEh"VIRUS",AH=C0h"VIRUS"
--------N-21BF-------------------------------
INT 21 O - Novell NetWare, Alloy NTNX - LOG/LOCK RECORD (FCB)
AH = BFh
AL = flags (see #0986)
DS:DX -> opened FCB (see #0574 at AH=0Fh)
BX:CX = offset
BP = lock timeout in timer ticks (1/18 sec) if AL nonzero
SI:DI = length
Return: AL = error code (see #0985)
Note: this function was added in NetWare 4.6, but was removed some time prior
to Advanced NetWare 2.15, and is no longer listed in current Novell
documentation
SeeAlso: AH=BCh,AH=C0h"NetWare",AH=C2h"NetWare"
--------N-21C0-------------------------------
INT 21 O - Novell NetWare, Alloy NTNX - RELEASE RECORD (FCB)
AH = C0h
DS:DX -> non-extended FCB (see #0574 at AH=0Fh)
BX:CX = offset
Return: AL = error code (see #0985)
Notes: unlocks record but does not remove it from log table
this function was added in NetWare 4.6, but was removed some time prior
to Advanced NetWare 2.15, and is no longer listed in current Novell
documentation
SeeAlso: AH=BDh,AH=BFh,AH=C1h"NetWare",AH=C3h
--------v-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"
--------N-21C1-------------------------------
INT 21 O - Novell NetWare, Alloy NTNX - CLEAR RECORD (FCB)
AH = C1h
DS:DX -> opened FCB (see #0574 at AH=0Fh)
BX:CX = offset
Return: AL = error code (see #0985)
Note: unlocks record and removes it from log table
this function was added in NetWare 4.6, but was removed some time prior
to Advanced NetWare, and is no longer listed in current Novell
documentation
SeeAlso: AH=BEh,AH=C0h"NetWare",AH=C4h
--------v-21C1-------------------------------
INT 21 - VIRUS - "Solano" - ???
AH = C1h
???
Return: ???
SeeAlso: AH=C0h"VIRUS"
--------N-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 returned if one or more physical records have been
exclusively locked by another process
SeeAlso: AH=BFh,AH=C3h,AH=D1h
--------v-21C2-------------------------------
INT 21 - VIRUS - "Scott's Valley" - ???
AH = C2h
???
Return: ???
SeeAlso: AH=C0h"VIRUS"
--------N-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
--------v-21C301DXF1F1-----------------------
INT 21 - VIRUS - "905"/"Backfont" - INSTALLATION CHECK
AX = C301h
DX = F1F1h
Return: DX = 0E0Eh if resident
SeeAlso: AH=C0h"VIRUS",AX=C500h"VIRUS"
--------N-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
--------N-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
03h name length greater than 127 (see Novell document FYI.A.4611)
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
--------v-21C500-----------------------------
INT 21 - VIRUS - "Sverdlov" - INSTALLATION CHECK
AX = C500h
Return: AX = 6731h if resident
SeeAlso: AX=C301h"VIRUS",AH=C6h"VIRUS"
--------N-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
--------N-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
--------N-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
--------N-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
--------N-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
--------v-21C6-------------------------------
INT 21 - VIRUS - "Socha" - INSTALLATION CHECK
AH = C6h
Return: AL = 55h if resident
SeeAlso: AX=C500h"VIRUS",AX=C603h
--------v-21C603-----------------------------
INT 21 - VIRUS - "Yankee Doodle" or "MLTI" - INSTALLATION CHECK
AX = C603h
BX = version number (002Ch or 002Dh)
CF set
Return: CF clear if resident
ZF set if resident and input BX matches version
SeeAlso: AX=C500h"VIRUS",AX=C700h"VIRUS"
--------N-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
--------v-21C700-----------------------------
INT 21 - VIRUS - "MH-757" - INSTALLATION CHECK
AX = C700h
Return: AL = 07h if resident
SeeAlso: AX=C603h"VIRUS",AH=CBh"VIRUS"
--------N-21C701-----------------------------
INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - END TRANSACTION
AX = C701h
Return: AL = status (00h,FDh-FFh) (see #0987)
00h successful
CX:DX = transaction number
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
(Table 0987)
Values for NetWare TTS status:
00h successful
FDh transaction tracking disabled
FEh transaction ended records locked
FFh no explicit transaction active
--------N-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+
--------N-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-FFh) (see #0987)
Note: this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
SeeAlso: AX=C700h"NetWare",AX=C701h,AX=C704h
--------N-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
--------N-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
--------N-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
--------N-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
--------N-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
--------N-21C8-------------------------------
INT 21 O - Novell NetWare - 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
Desc: used to provide TTS support for applications which are not aware of
Novell's Transaction Tracking System
Note: this function was added in NetWare 4.0, but was removed some time prior
to Advanced NetWare 2.15, and is no longer listed in current Novell
documentation
SeeAlso: AH=C9h
--------N-21C9-------------------------------
INT 21 O - Novell NetWare - END LOGICAL FILE LOCKING
AH = C9h
Return: AL = error code
Desc: used to provide TTS support for applications which are not aware of
Novell's Transaction Tracking System
Note: this function was added in NetWare 4.0, but was removed some time prior
to Advanced NetWare 2.15, and is no longer listed in current Novell
documentation
SeeAlso: AH=C8h
--------N-21CA-------------------------------
INT 21 O - Novell NetWare, Alloy NTNX - LOG/LOCK PERSONAL FILE (FCB)
AH = CAh
DS:DX -> FCB (see #0574 at 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
Desc: provides file locking support for FCBs
Note: this function was added in NetWare 4.0, but was removed some time prior
to Advanced NetWare 2.15, and is no longer listed in current Novell
documentation
SeeAlso: AH=CBh
--------v-21CA15-----------------------------
INT 21 - VIRUS - "Piter" - ???
AX = CA15h
???
Return: ???
SeeAlso: AH=CCh"VIRUS"
--------N-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,FEh,FFh) (see #0988)
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
(Table 0988)
Values for NetWare status:
00h successful
FEh timed out
FFh failed
--------v-21CB-------------------------------
INT 21 - VIRUS - "Milous" - INSTALLATION CHECK
AH = CBh
Return: AL = 07h if resident
SeeAlso: AX=C700h"VIRUS",AX=CB02h
--------v-21CB02-----------------------------
INT 21 - VIRUS - "Witcode" - INSTALLATION CHECK
AX = CB02h
Return: AX = 02CBh if resident
SeeAlso: AH=CBh"VIRUS",AH=CCh"VIRUS"
--------N-21CC-------------------------------
INT 21 O - Novell NetWare, Alloy NTNX - RELEASE FILE (FCB)
AH = CCh
DS:DX -> FCB (see #0574 at AH=0Fh)
Return: none
Desc: unlocks file, but does not remove it from the log table or close it
Note: this function was added in NetWare 4.0, but was removed some time prior
to Advanced NetWare 2.15, and is no longer listed in current Novell
documentation
SeeAlso: AH=CAh,AH=CDh
--------v-21CC-------------------------------
INT 21 - VIRUS - "Westwood" - INSTALLATION CHECK
AH = CCh
Return: AX = 0700h if resident
SeeAlso: AX=CB02h,AH=CDh"VIRUS",AX=D000h"VIRUS"
--------N-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
--------v-21CD-------------------------------
INT 21 - VIRUS - "Westwood" - ???
AH = CDh
???
Return: ???
SeeAlso: AH=CCh"VIRUS"
--------N-21CE-------------------------------
INT 21 O - Novell NetWare, Alloy NTNX - CLEAR FILE (FCB)
AH = CEh
DS:DX -> FCB (see #0574 at AH=0Fh)
Return: AL = error code
Desc: unlocks file and removes it from log table, then closes all opened and
logged occurrences
Note: this function was added in NetWare 4.0, but was removed some time prior
to Advanced NetWare 2.15, and is no longer listed in current Novell
documentation
SeeAlso: AH=CAh,AH=CFh,AH=EDh"NetWare"
--------N-21CF-------------------------------
INT 21 - LANstep - ???
AH = CFh
???
Return: ???
Program: LANstep is a redesign of the Waterloo Microsystems PORT network
--------N-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"
--------N-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
--------v-21D000-----------------------------
INT 21 - VIRUS - "Fellowship" - INSTALLATION CHECK
AX = D000h
Return: BX = 1234h if resident
SeeAlso: AH=CCh"VIRUS",AH=D5h"VIRUS",AX=D5AAh
--------N-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
Return: AL = status (see #0988)
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
--------N-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
--------v-21D2-------------------------------
INT 21 - VIRUS???
AH = D2h
???
Return: ???
Note: this call is intercepted by the Search&Destroy SDRes v27.03 bundled
with Novell DOS 7, and is presumably some virus's installation check
SeeAlso: AH=4Ah/BX=00B6h
--------N-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
--------N-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,FFh) (see #0989)
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
(Table 0989)
Values for NetWare status:
00h successful
FFh no such record name
--------N-21D5-------------------------------
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR LOGICAL RECORD SET
AH = D5h
Return: AL = error code (00h,FFh) (see #0989)
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
--------v-21D5-------------------------------
INT 21 - VIRUS - "Carfield" - ???
AH = D5h
???
Return: ???
SeeAlso: AX=D5AAh,AH=F3h"Carfield"
--------v-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
--------v-21D5AABPDEAA-----------------------
INT 21 - VIRUS - "Dir" - INSTALLATION CHECK
AX = D5AAh
BP = DEAAh
Return: SI = 4321h if resident
SeeAlso: AX=D5AAh,AX=DADAh"VIRUS"
--------N-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
--------N-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
--------N-21D8-------------------------------
INT 21 - Novell NetWare, Banyan VINES - ALLOCATE RESOURCE
AH = D8h
DL = resource number
Return: AL = status (00h successful, FFh unsucessful)
Note: this function is no longer used or supported by NetWare, and is not
documented in Novell documents
SeeAlso: AH=D9h
--------N-21D9-------------------------------
INT 21 - Novell NetWare, Banyan VINES - DEALLOCATE RESOURCE
AH = D9h
DL = resource number
Return: AL = status (00h successful, FFh unsucessful)
Note: this function is no longer used or supported by NetWare, and is not
documented in Novell documents
SeeAlso: AH=D8h
--------N-21DA-------------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME INFO WITH NUMBER
AH = DAh
DL = volume number
ES:DI -> reply buffer (see #0990)
Return: AL = 00h
Notes: this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
operator console rights are not required to make this call
reported total blocks and total unused blocks include the Hot Fix
Table; the NetWare shell's implementation of INT 21/AH=36h will
report values larger than 268MB as 268MB.
SeeAlso: AH=36h,AH=E2h/SF=15h,AH=E3h/SF=E9h
Format of NetWare reply buffer:
Offset Size Description (Table 0990)
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
--------v-21DADA-----------------------------
INT 21 - VIRUS - "Gotcha" - INSTALLATION CHECK
AX = DADAh
Return: AH = A5h
SeeAlso: AX=D5AAh,AX=DAFEh"VIRUS"
--------v-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"
--------N-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
--------N-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
SeeAlso: AH=F2h"NetWare"
--------d-21DC-------------------------------
INT 21 - PCMag PCMANAGE/DCOMPRES - TURN ON/OFF
AH = DCh
DX = state
0000h turn on
0001h turn off
SeeAlso: AX=FEDCh
--------N-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
--------v-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: AX=DDEFh,AH=E0h"VIRUS",AH=EEh"VIRUS"
--------v-21DDEF------------------------
INT 21 - VIRUS- "GOLGI" - INSTALLATION CHECK
AX = DDEFh
Return: AX = EFDDh if resident
SeeAlso: AH=DDh"VIRUS",AH=DEh"VIRUS"
--------v-21DE-------------------------------
INT 21 - VIRUS - "Durban" - INSTALLATION CHECK
AH = DEh
Return: AH = DFh if resident
SeeAlso: AX=DAFEh,AX=DDEFh,AH=DEh"April 1st",AX=DEADh"90210"
--------v-21DE-------------------------------
INT 21 - VIRUS - "April 1st EXE" - ???
AH = DEh
???
Return: ???
--------N-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+
--------N-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+
--------N-21DE-------------------------------
INT 21 - Novell NetWare - SHELL TIMER INTERRUPT CHECKS
AH = DEh
DL = function
05h disable shell timer interrupt checks
06h enable shell timer interrupt checks
Return: ???
Note: this function was added in NetWare 4.0, but is not listed in current
Novell documentation and is probably no longer supported
--------v-21DEAD------------------------
INT 21 - VIRUS - "90210" - INSTALLATION CHECK
AX = DEADh
Return: AX = AAAAh if resident
SeeAlso: AH=DEh"VIRUS",AX=DEADh"Shifting",AX=DEDEh"VIRUS"
--------v-21DEAD------------------------
INT 21 - VIRUS - "Shifting Objective" - RELOCATE CODE ???
AX = DEADh
SeeAlso: AX=FEADh
SeeAlso: AX=DEADh"90210",AX=DEDEh"VIRUS"
--------v-21DEDE-----------------------------
INT 21 - VIRUS - "Brothers" - INSTALLATION CHECK
AX = DEDEh
Return: AH = 41h if resident
SeeAlso: AX=DEADh"Shifting",AH=E0h"VIRUS"
--------N-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
--------N-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
--------N-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
--------N-21DF--DL03-------------------------
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
--------N-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
--------N-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
--------N-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
--------N-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
--------T-21DF00DX534C-----------------------
INT 21 U - Software Carousel - INSTALLATION CHECK
AX = DF00h
DX = 534Ch ("SL")
DI = 534Ch ("SL")
Return: AX = 00FFh if installed
???
Program: Software Carousel is a task switcher by SoftLogic Solutions, Inc.
--------T-21DF01-----------------------------
INT 21 - Software Carousel - SWITCH TO ANOTHER TASK
AX = DF01h
BL = task number (00h = next task)
Return: AL = status
00h Carousel not running
01h successful
FFh unsucessful
AH = error code (01h,02h) (see #0991)
(Table 0991)
Values for Software Carousel error code:
00h invalid subfunction in AL
01h invalid task number
02h tried to switch to task with no memory size
03h tried to kill program in partition with no program running
04h tried to change size of an active memory partition
05h invalid memory size
06h tried to send command to task with a pending previous command
--------T-21DF02-----------------------------
INT 21 - Software Carousel - KILL PROGRAM IN MEMORY PARTITION
AX = DF02h
BL = task number
Return: AL = status
00h Carousel not running
01h successful
FFh unsucessful
AH = error code (01h,03h) (see #0991)
--------T-21DF03-----------------------------
INT 21 - Software Carousel - GET PARTITION SIZE AND PROGRAM STATUS
AX = DF03h
BL = task number
Return: AL = status
00h Carousel not running
01h successful
BL = partition state (00h no program running, 01h prog running)
DX = partition size in KB
FFh unsucessful
AH = error code (01h) (see #0991)
SeeAlso: AX=DF05h
--------T-21DF04-----------------------------
INT 21 - Software Carousel - GET PARTITION NAME
AX = DF04h
BL = task number
Return: AL = status
00h Carousel not running
01h successful
CX = length of name (00h if default partition name)
ES:BX -> partition name (if CX nonzero)
FFh unsucessful
AH = error code (01h) (see #0991)
SeeAlso: AX=DF06h
--------T-21DF05-----------------------------
INT 21 - Software Carousel - CHANGE PARTITION SIZE
AX = DF05h
BL = task number
DX = new size in KB
Return: AL = status
00h Carousel not running
01h successful
FFh unsucessful
AH = error code (01h,04h,05h) (see #0991)
BX = minimum size allowed
CX = maximum size available
SeeAlso: AX=DF03h
--------T-21DF06-----------------------------
INT 21 - Software Carousel - CHANGE PARTITION NAME
AX = DF06h
BL = task number
CX = length of new name (00h to use default, max 18h)
DS:SI -> new name
Return: AL = status
00h Carousel not running
01h successful
FFh unsucessful
AH = error code (01h) (see #0991)
SeeAlso: AX=DF04h
--------T-21DF07-----------------------------
INT 21 - Software Carousel - SEND COMMAND TO MEMORY SECTION
AX = DF07h
BL = task number
CX = length of command (max 8 chars)
DS:SI -> command line
Return: AL = status
00h Carousel not running
01h successful
FFh unsucessful
AH = error code (01h,06h) (see #0991)
Note: the maximum length seems too small and may be a typo for 80 characters
--------T-21DF08-----------------------------
INT 21 - Software Carousel - SELECTIVELY ENABLE/DISABLE MENU AND SWITCHING
AX = DF08h
BL = new state of keyboard (00h disabled, 01h enabled)
Return: AL = status
00h Carousel not running
01h successful
Program: Software Carousel is a task switcher by SoftLogic Solutions, Inc.
Note: when the keyboard is is disabled, the user may neither access the
Carousel menu nor switch to another memory section
--------T-21DF09-----------------------------
INT 21 - Software Carousel - BOOT THE SYSTEM
AX = DF09h
Return: AL = status
00h Carousel not running
FFh unsucessful
AH = error code (01h,03h) (see #0991)
Note: this function never returns if successful
--------T-21DF0A-----------------------------
INT 21 - Software Carousel - GET MEMORY SIZE/PARTITION NUMBER OF CURRENT TASK
AX = DF0Ah
Return: AL = status
00h Carousel not running
01h successful
BL = task number
DX = memory size in KB
FFh unsucessful
AH = error code (01h,03h) (see #0991)
--------T-21DF0B-----------------------------
INT 21 - Software Carousel - SET TASK SWITCH CALLBACK
AX = DF0Bh
BH = interrupt number or 00h
BL = function number to invoke on partition switch
CL = function number to call when it is safe for resident programs
to perform DOS calls
DS:DX -> FAR function to call if BH=00h
Return: AL = status
00h Carousel not running
01h successful
FFh unsucessful
AH = error code (01h,03h) (see #0991)
Notes: the specified interrupt or FAR function is called with AH set to the
appropriate one of the values specified in BL and CL, and BL set to
the new task number
the function specified by CL will not be called until the notification
is enabled with AX=DF0Ch
SeeAlso: AX=DF0Ch
--------T-21DF0C-----------------------------
INT 21 - Software Carousel - ENABLE DOS-CALL SAFETY NOTIFICATION
AX = DF0Ch
Return: AL = status
00h Carousel not running
01h successful
Program: Software Carousel is a task switcher by SoftLogic Solutions, Inc.
SeeAlso: AX=DF0Bh
--------O-21E0-------------------------------
INT 21 - Digital Research DOS Plus - CALL BDOS
AH = E0h
CL = BDOS function number (see #2602 at INT E0"CP/M")
other registers as appropriate for function
Return: as appropriate for function
SeeAlso: AX=4459h,INT E0"CP/M"
--------E-21E0-------------------------------
INT 21 - OS/286, OS/386 - INITIALIZE REAL PROCEDURE
AH = E0h
???
Return: ???
SeeAlso: AH=E1h"OS/286"
--------T-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"
--------v-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
--------N-21E0-------------------------------
INT 21 - Novell NetWare, Alloy NTNX - PRINT SPOOLING
AH = E0h
DS:SI -> request buffer (see #0992)
ES:DI -> reply buffer
Return: AL = status
Note: this function was added in NetWare 4.0, but is no longer listed in
current Novell documentation and may no longer be supported
SeeAlso: AH-E3h/SF=68h
Format of NetWare request buffer:
Offset Size Description (Table 0992)
00h WORD length of following data
02h BYTE subfunction
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
03h ???
--------N-21E0--SF06-------------------------
INT 21 - Novell NetWare - PRINT SERVICES - GET PRINTER STATUS
AH = E0h subfn 06h
DS:SI -> request buffer (see #0993)
ES:DI -> reply buffer (see #0994)
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 NetWare "Get Printer Status" request buffer:
Offset Size Description (Table 0993)
00h WORD 0002h (length of following data)
02h BYTE 06h (subfunction "Get Printer Status")
03h BYTE printer number (00h-04h)
SeeAlso: #0994
Format of NetWare "Get Printer Status" reply buffer:
Offset Size Description (Table 0994)
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
SeeAlso: #0993
--------N-21E0--SF09-------------------------
INT 21 - Novell NetWare - PRINT SERVICES - SPECIFY CAPTURE FILE
AH = E0h subfn 09h
DS:SI -> request buffer (see #0995)
ES:DI -> reply buffer (see #0996)
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 NetWare "Specify Capture File" request buffer:
Offset Size Description (Table 0995)
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
SeeAlso: #0996
Format of NetWare reply buffer:
Offset Size Description (Table 0996)
00h WORD (call) 0000h (no results returned)
SeeAlso: #0995
--------v-21E00F-----------------------------
INT 21 - VIRUS - "8-tunes" - INSTALLATION CHECK
AX = E00Fh
Return: AX = 4C31h if resident
SeeAlso: AH=E0h"VIRUS",AH=E1h"VIRUS"
--------E-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
--------T-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"
--------v-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"
--------N-21E1--SF00-------------------------
INT 21 - Novell NetWare - MESSAGE SERVICES - SEND BROADCAST MESSAGE
AH = E1h subfn 00h
DS:SI -> request buffer (see #0997)
ES:DI -> reply buffer (see #0998)
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 NetWare "Send Broadcast Message" request buffer:
Offset Size Description (Table 0997)
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)
SeeAlso: #0998
Format of NetWare "Send Broadcast Message" reply buffer:
Offset Size Description (Table 0998)
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)
SeeAlso: #0997
--------N-21E1--SF01-------------------------
INT 21 - Novell NetWare - MESSAGE SERVICES - GET BROADCAST MESSAGE
AH = E1h subfn 01h
DS:SI -> request buffer (see #0999)
ES:DI -> reply buffer (see #1000)
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 NetWare "Get Broadcast Message" request buffer:
Offset Size Description (Table 0999)
00h WORD 0001h (length of following data)
02h BYTE 01h (subfunction "Get Broadcast Message")
SeeAlso: #1000
Format of NetWare "Get Broadcast Message" reply buffer:
Offset Size Description (Table 1000)
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)
SeeAlso: #0999
--------N-21E1-------------------------------
INT 21 - Novell NetWare - MESSAGE SERVICES - ENABLE/DISABLE BROADCAST MESSAGES
AH = E1h
DS:SI -> request buffer (see #1001)
ES:DI -> reply buffer (see #1002)
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 NetWare "Enable/Disable Broadcast Messages" request buffer:
Offset Size Description (Table 1001)
00h WORD length of following data (max 9Eh)
02h BYTE subfunction
02h disable station broadcasts
03h enable station broadcasts
03h ???
SeeAlso: #1002
Format of NetWare "Enable/Disable Broadcast Messages" reply buffer:
Offset Size Description (Table 1002)
00h WORD (call) size of following results buffer
02h ???
SeeAlso: #1001
--------N-21E1--SF04-------------------------
INT 21 O - Novell NetWare - MESSAGE SERVICES - SEND PERSONAL MESSAGE
AH = E1h subfn 04h
DS:SI -> request buffer (see #1003)
ES:DI -> reply buffer (see #1004)
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-2.x
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 NetWare "Send Personal Message" request buffer:
Offset Size Description (Table 1003)
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)
SeeAlso: #1004
Format of NetWare "Send Personal Message" reply buffer:
Offset Size Description (Table 1004)
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
SeeAlso: #1003
--------N-21E1--SF05-------------------------
INT 21 O - Novell NetWare - MESSAGE SERVICES - GET PERSONAL MESSAGE
AH = E1h subfn 05h
DS:SI -> request buffer (see #1005)
ES:DI -> reply buffer (see #1006)
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-2.x
SeeAlso: AH=E1h/SF=01h,AH=E1h/SF=04h,AH=E1h/SF=06h,AH=E1h/SF=08h
Format of NetWare "Get Personal Message" request buffer:
Offset Size Description (Table 1005)
00h WORD 0001h (length of following data)
02h BYTE 05h (subfunction "Get Personal Message")
SeeAlso: #1006
Format of NetWare "Get Personal Message" reply buffer:
Offset Size Description (Table 1006)
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)
SeeAlso: #1005
--------N-21E1--SF06-------------------------
INT 21 O - Novell NetWare - MESSAGE SERVICES - OPEN MESSAGE PIPE
AH = E1h subfn 06h
DS:SI -> request buffer (see #1007)
ES:DI -> reply buffer (see #1008)
Return: AL = status
00h successful
FEh out of dynamic workspace
Note: this function is supported by NetWare 4.0+ and Advanced NetWare 1.0-2.x
SeeAlso: AH=E1h/SF=04h,AH=E1h/SF=07h,AH=E1h/SF=08h
Format of NetWare "Open Message Pipe" request buffer:
Offset Size Description (Table 1007)
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
SeeAlso: #1008,#1009,#1012
Format of NetWare "Open Message Pipe" reply buffer:
Offset Size Description (Table 1008)
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
SeeAlso: #1007,#1010,#1013
--------N-21E1--SF07-------------------------
INT 21 O - Novell NetWare - MESSAGE SERVICES - CLOSE MESSAGE PIPE
AH = E1h subfn 07h
DS:SI -> request buffer (see #1009)
ES:DI -> reply buffer (see #1010)
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-2.x
SeeAlso: AH=E1h/SF=05h,AH=E1h/SF=06h,AH=E1h/SF=08h
Format of NetWare "Close Mesage Pipe" request buffer:
Offset Size Description (Table 1009)
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
SeeAlso: #1007,#1010
Format of NetWare "Close Message Pipe" reply buffer:
Offset Size Description (Table 1010)
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
SeeAlso: #1008,#1009
--------N-21E1--SF08-------------------------
INT 21 O - Novell NetWare - MESSAGE SERVICES - CHECK PIPE STATUS
AH = E1h subfn 08h
DS:SI -> request buffer (see #1012)
ES:DI -> reply buffer (see #1013)
Return: AL = status (see #1011)
Note: this function is supported by NetWare 4.0+ and Advanced NetWare 1.0-2.x
SeeAlso: AH=E1h/SF=05h,AH=E1h/SF=06h,AH=E1h/SF=07h
(Table 1011)
Values for NetWare function status:
00h successful
FCh full message queue
FEh out of dynamic workspace
SeeAlso: #1016
Format of NetWare "Check Pipe Status" request buffer:
Offset Size Description (Table 1012)
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
SeeAlso: #1007,#1013
Format of NetWare "Check Pipe Status" reply buffer:
Offset Size Description (Table 1013)
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
SeeAlso: #1008,#1012
--------N-21E1--SF09-------------------------
INT 21 - Novell NetWare - MESSAGE SERVICES - BROADCAST TO CONSOLE
AH = E1h subfn 09h
DS:SI -> request buffer (see #1014)
ES:DI -> reply buffer (see #1015)
Return: AL = status (see #1011)
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 NetWare "Broadcast to Console" request buffer:
Offset Size Description (Table 1014)
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)
SeeAlso: #1015
Format of NetWare reply buffer:
Offset Size Description (Table 1015)
00h WORD (call) 0000h (no results returned)
SeeAlso: #1014
--------E-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"
--------N-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"
--------N-21E2--SF00-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - SET DIRECTORY HANDLE
AH = E2h subfn 00h
DS:SI -> request buffer (see #1017)
ES:DI -> reply buffer (see #1018)
Return: AL = status (00h,98h,9Bh,9Ch) (see #1016)
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
(Table 1016)
Values for NetWare function 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
C6h no console rights
FCh no such bindery object
SeeAlso: #1011,#1043
Format of NetWare "Set Directory Handle" request buffer:
Offset Size Description (Table 1017)
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 NetWare reply buffer:
Offset Size Description (Table 1018)
00h WORD (call) 0000h (no results returned)
--------N-21E2--SF01-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - GET DIRECTORY PATH
AH = E2h subfn 01h
DS:SI -> request buffer (see #1019)
ES:DI -> reply buffer (see #1020)
Return: AL = status (00h,9Bh) (see #1016)
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 NetWare "Get Directory Path" request buffer:
Offset Size Description (Table 1019)
00h WORD 0002h (length of following data)
02h BYTE 01h (subfunction "Get Directory Path")
03h BYTE directory handle
SeeAlso: #1020,#1021
Format of NetWare "Get Directory Path" reply buffer:
Offset Size Description (Table 1020)
00h WORD (call) length of following data buffer
02h BYTE length of directory path (01h-FFh)
03h N BYTEs full directory path including volume
SeeAlso: #1019,#1022
--------N-21E2--SF02-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - SCAN DIRECTORY INFORMATION
AH = E2h subfn 02h
DS:SI -> request buffer (see #1021)
ES:DI -> reply buffer (see #1022)
Return: AL = status (00h,98h,9Bh,9Ch) (see #1016)
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 NetWare "Scan Directory Information" request buffer:
Offset Size Description (Table 1021)
00h WORD length of following data (max 104h)
02h BYTE 02h (subfunction "Scan Directory Information")
03h BYTE directory handle
04h WORD (big-endian) subdirectory number
0000h for first call, returned subdir number + 1 on next call
06h BYTE length of directory path
07h N BYTEs directory path
SeeAlso: #1019,#1022
Format of NetWare "Scan Directory Information" reply buffer:
Offset Size Description (Table 1022)
00h WORD (call) 001Ch (length of following data buffer)
02h 16 BYTEs subdirectory name
12h DWORD (big-endian) date and time of creation (see #1023)
16h DWORD (big-endian) object ID of owner
1Ah BYTE maximum directory rights (see #1026)
1Bh BYTE unused
1Ch WORD (big-endian) subdirectory number
SeeAlso: #1020,#1021
Bitfields for NetWare date and time:
Bit(s) Description (Table 1023)
31-25 year-1980
24-21 month
20-16 day
15-11 hour
10-5 minute
4-0 second
--------N-21E2--SF03-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - GET EFFECTIVE DIRECTORY RIGHTS
AH = E2h subfn 03h
DS:SI -> request buffer (see #1024)
ES:DI -> reply buffer (see #1025)
Return: AL = status (00h,98h,9Bh) (see #1016)
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 NetWare "Get Effective Directory Rights" request buffer:
Offset Size Description (Table 1024)
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
SeeAlso: #1025,#1027
Format of NetWare "Get Effective Directory Rights" reply buffer:
Offset Size Description (Table 1025)
00h WORD (call) 0001h (length of following data buffer)
02h BYTE effective directory rights (see #1026)
SeeAlso: #1024
Bitfields for NetWare directory rights:
Bit(s) Description (Table 1026)
0 reading allowed
1 writing allowed
2 opens allowed
3 file creation allowed
4 deletion allowed
5 "parental" may create/delete subdirectories and grant/revoke trustee
rights
6 directory search allowed
7 file attributes may be changed
SeeAlso: #1025,#1027
--------N-21E2--SF04-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - MODIFY MAXIMUM RIGHTS MASK
AH = E2h subfn 04h
DS:SI -> request buffer (see #1027)
ES:DI -> reply buffer (see #1028)
Return: AL = status (00h,8Ch,98h,9Ch) (see #1016)
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 NetWare "Modify Maximum Rights Mask" request buffer:
Offset Size Description (Table 1027)
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 #1026)
05h BYTE rights to revoke (see #1026)
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
SeeAlso: #1024,#1028
Format of NetWare reply buffer:
Offset Size Description (Table 1028)
00h WORD (call) 0000h (no results returned)
SeeAlso: #1027
--------N-21E2--SF05-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME NUMBER
AH = E2h subfn 05h
DS:SI -> request buffer (see #1029)
ES:DI -> reply buffer (see #1030)
Return: AL = status (00h,98h) (see #1016)
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 NetWare "Get Volume Number" request buffer:
Offset Size Description (Table 1029)
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
SeeAlso: #1030
Format of NetWare "Get Volume Number" reply buffer:
Offset Size Description (Table 1030)
00h WORD (call) 0001h (length of following results buffer)
02h BYTE volume number
SeeAlso: #1029
--------N-21E2--SF06-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME NAME
AH = E2h subfn 06h
DS:SI -> request buffer (see #1031)
ES:DI -> reply buffer (see #1032)
Return: AL = status (00h,98h) (see #1016)
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 NetWare "Get Volume Name" request buffer:
Offset Size Description (Table 1031)
00h WORD 0002h (length of following data)
02h BYTE 06h (subfunction "Get Volume Name")
03h BYTE volume number
SeeAlso: #1032
Format of NetWare "Get Volume Name" reply buffer:
Offset Size Description (Table 1032)
00h WORD (call) 0011h (length of following results buffer)
02h BYTE length of volume name
03h 16 BYTEs NUL-padded volume name
SeeAlso: #1031
--------N-21E2--SF0A-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - CREATE DIRECTORY
AH = E2h subfn 0Ah
DS:SI -> request buffer (see #1033)
ES:DI -> reply buffer (see #1034)
Return: AL = status (00h,84h,98h,FCh) (see #1016)
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 NetWare "Create Directory" request buffer:
Offset Size Description (Table 1033)
00h WORD length of following data (max 103h)
02h BYTE 0Ah (subfunction "Create Directory")
03h BYTE directory handle
04h BYTE maximum directory rights (see #1026)
05h BYTE length of directory path (00h-FFh)
06h N BYTEs directory path
SeeAlso: #1034,#1035
Format of NetWare reply buffer:
Offset Size Description (Table 1034)
00h WORD (call) 0000h (no data returned)
SeeAlso: #1033,#1035
--------N-21E2--SF0B-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - DELETE DIRECTORY
AH = E2h subfn 0Bh
DS:SI -> request buffer (see #1035)
ES:DI -> reply buffer (see #1034)
Return: AL = status (00h,8Ah,98h,9Bh,9Ch,9Fh,A0h) (see #1016)
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 NetWare "Delete Directory" request buffer:
Offset Size Description (Table 1035)
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
SeeAlso: #1033,#1034
--------N-21E2--SF0C-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - SCAN DIRECTORY FOR TRUSTEES
AH = E2h subfn 0Ch
DS:SI -> request buffer (see #1036)
ES:DI -> reply buffer (see #1037)
Return: AL = status (00h,9Ch) (see also #1016)
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 NetWare "Scan Directory For Trustees" request buffer:
Offset Size Description (Table 1036)
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
SeeAlso: #1037,#1038
Format of NetWare "Scan Directory For Trustees" reply buffer:
Offset Size Description (Table 1037)
00h WORD (call) 0031h (length of following results buffer)
02h 16 BYTEs directory name
12h 4 BYTEs date and time of creation
16h DWORD (big-endian) object ID of owner
1Ah 5 DWORDs (big-endian) object IDs of Trustees 0 through 4
00000000h = end of group
2Eh 5 BYTEs directory rights for Trustees 0 through 4 (see #1026)
SeeAlso: #1036,#1040
--------N-21E2--SF0D-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - ADD TRUSTEE TO DIRECTORY
AH = E2h subfn 0Dh
DS:SI -> request buffer (see #1038)
ES:DI -> reply buffer (see #1040)
Return: AL = status (00h,8Ch,FCh) (see #1016)
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 NetWare "Add Trustee To Directory" request buffer:
Offset Size Description (Table 1038)
00h WORD length of following data (max 107h)
02h BYTE 0Dh (subfunction "Add Trustee To Directory")
03h BYTE directory handle
04h DWORD (big-endian) object ID of trustee
08h BYTE trustee directory rights (see #1026)
09h BYTE length of directory path (00h-FFh)
0Ah N BYTEs directory path
SeeAlso: #1040
--------N-21E2--SF0E-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - DELETE TRUSTEE FROM DIRECTORY
AH = E2h subfn 0Eh
DS:SI -> request buffer (see #1039)
ES:DI -> reply buffer (see #1040)
Return: AL = status (00h,98h,9Bh,9Ch) (see #1016)
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 NetWare "Delete Trustee From Directory" request buffer:
Offset Size Description (Table 1039)
00h WORD length of following data (max 107h)
02h BYTE 0Eh (subfunction "Delete Trustee From Directory")
03h BYTE directory handle
04h DWORD (big-endian) object ID of trustee
08h BYTE unused
09h BYTE length of directory path (00h-FFh)
0Ah N BYTEs directory path
SeeAlso: #1040
Format of NetWare reply buffer:
Offset Size Description (Table 1040)
00h WORD (call) 0000h (no data returned)
--------N-21E2--SF0F-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - RENAME DIRECTORY
AH = E2h subfn 0Fh
DS:SI -> request buffer (see #1041)
ES:DI -> reply buffer (see #1040)
Return: AL = status (00h,8Bh,9Bh,9Ch,9Eh) (see #1016)
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 NetWare "Rename Directory" request buffer:
Offset Size Description (Table 1041)
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
--------N-21E2--SF10-------------------------
INT 21 - Novell NetWare - FILE SERVICES - PURGE ERASED FILES
AH = E2h subfn 10h
DS:SI -> request buffer (see #1042)
ES:DI -> reply buffer (see #1040)
Return: AL = status (00h,C6h) (see #1043)
Desc: purges files marked for deletion on the file server by the calling
workstation
Note: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AH=13h,AH=41h,AH=E2h/SF=11h,AH=E3h/SF=CEh,AX=F244h
Format of NetWare "Purge Erased Files" request buffer:
Offset Size Description (Table 1042)
00h WORD 0001h (length of following data)
02h BYTE 10h (subfunction "Purge Erased Files")
--------N-21E2--SF11-------------------------
INT 21 - Novell NetWare - FILE SERVICES - RESTORE ERASED FILE
AH = E2h subfn 11h
DS:SI -> request buffer (see #1044)
ES:DI -> reply buffer (see #1045)
Return: AL = status (00h,98h,FFh) (see #1043)
Desc: restores one file marked for deletion which has not yet been purged
Note: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AH=13h,AH=41h,AH=E2h/SF=10h,AH=E3h/SF=CEh,AX=F244h
(Table 1043)
Values for NetWare function status:
00h successful
98h nonexistent volume
9Ch invalid path
C6h no console rights
FFh no more erased files
SeeAlso: #1016,#1073
Format of NetWare "Restore Erased File" request buffer:
Offset Size Description (Table 1044)
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
SeeAlso: #1045
Format of NetWare "Restore Erased File" reply buffer:
Offset Size Description (Table 1045)
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
SeeAlso: #1044
--------N-21E2--SF12-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - ALLOC PERMANENT DIRECTORY HANDLE
AH = E2h subfn 12h
DS:SI -> request buffer (see #1046)
ES:DI -> reply buffer (see #1047)
Return: AL = status (00h,98h,9Ch) (see #1043)
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 NetWare "Allocate Permanent Directory Handle" request buffer:
Offset Size Description (Table 1046)
00h WORD length of following data (max 103h)
02h BYTE 12h (subfunction "Allocate Permanent Directory Handle")
03h BYTE directory handle
04h BYTE drive ('A'-'Z')
05h BYTE length of directory path
06h N BYTEs directory path
SeeAlso: #1047,#1048
Format of NetWare reply buffer:
Offset Size Description (Table 1047)
00h WORD (call) 0002h (size of following results buffer)
02h BYTE new directory handle
03h BYTE effective directory rights (see #1026)
--------N-21E2--SF13-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - ALLOC TEMPORARY DIRECTORY HANDLE
AH = E2h subfn 13h
DS:SI -> request buffer (see #1048)
ES:DI -> reply buffer (see #1050)
Return: AL = status (00h,98h,9Ch) (see #1043)
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 NetWare "Allocate Temporary Directory Handle" request buffer:
Offset Size Description (Table 1048)
00h WORD length of following data (max 103h)
02h BYTE 13h (subfunction "Allocate Temporary Directory Handle")
03h BYTE directory handle
04h BYTE drive ('A'-'Z')
05h BYTE length of directory path
06h N BYTEs directory path
SeeAlso: #1046,#1049
--------N-21E2--SF14-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - DEALLOCATE DIRECTORY HANDLE
AH = E2h subfn 14h
DS:SI -> request buffer (see #1049)
ES:DI -> reply buffer (see #1050)
Return: AL = status (00h,9Bh) (see #1016)
Note: 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 NetWare request buffer:
Offset Size Description (Table 1049)
00h WORD 0002h (length of following data)
02h BYTE 14h (subfunction "Deallocate Directory Handle")
03h BYTE directory handle
Format of NetWare reply buffer:
Offset Size Description (Table 1050)
00h WORD (call) 0000h (no returned data)
--------N-21E2--SF15-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME INFO WITH HANDLE
AH = E2h subfn 15h
DS:SI -> request buffer (see #1051)
ES:DI -> reply buffer (see #1052)
Return: AL = status
00h successful
Note: 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 NetWare request buffer:
Offset Size Description (Table 1051)
00h WORD 0002h (length of following data)
02h BYTE 15h (subfunction "Get Volume Info With Handle")
03h BYTE directory handle
Format of NetWare reply buffer:
Offset Size Description (Table 1052)
00h WORD (call) 001Ch (length of following results buffer)
02h WORD (big-endian) sectors per block
04h WORD (big-endian) total blocks on volume
06h WORD (big-endian) blocks available on volume
08h WORD (big-endian) total directory slots
0Ah WORD (big-endian) directory slots available
0Ch 16 BYTEs NUL-padded volume name
1Ch WORD (big-endian) flag: volume removable if nonzero
--------N-21E2--SF16-------------------------
INT 21 u - Novell NetWare - DIRECTORY SERVICES - ALLOC SPECIAL TEMP DIR HANDLE
AH = E2h subfn 16h
DS:SI -> request buffer (see #1053)
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 NetWare request buffer:
Offset Size Description (Table 1053)
00h WORD length of following data
02h BYTE 16h (subfunction "Allocate Special Temporary Directory Handle")
???
--------N-21E2--SF17-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - SAVE DIRECTORY HANDLE
AH = E2h subfn 17h
DS:SI -> request buffer (see #1054)
ES:DI -> reply buffer (see #1055)
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 NetWare request buffer:
Offset Size Description (Table 1054)
00h WORD 0002h (length of following data)
02h BYTE 18h (subfunction "Restore Directory Handle")
03h BYTE directory handle
Format of NetWare reply buffer:
Offset Size Description (Table 1055)
00h WORD (call) 0010h (length of following results buffer)
02h 16 BYTEs save buffer
--------N-21E2--SF18-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - RESTORE DIRECTORY HANDLE
AH = E2h subfn 18h
DS:SI -> request buffer (see #1056)
ES:DI -> reply buffer (see #1057)
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 NetWare request buffer:
Offset Size Description (Table 1056)
00h WORD 0011h (length of following data)
02h BYTE 18h (subfunction "Restore Directory Handle")
03h 16 BYTEs save buffer
Format of NetWare reply buffer:
Offset Size Description (Table 1057)
00h WORD (call) 0002h (length of following results buffer)
02h BYTE new directory handle
03h BYTE effective rights (see #1026)
--------N-21E2--SF19-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - SET DIRECTORY INFORMATION
AH = E2h subfn 19h
DS:SI -> request buffer (see #1058)
ES:DI -> reply buffer (see #1059)
Return: AL = status (00h,9Bh,9Ch) (see #1016)
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E2h/SF=02h,AH=E2h/SF=0Fh
Format of NetWare request buffer:
Offset Size Description (Table 1058)
00h WORD length of following data (max 10Bh)
02h BYTE 19h (subfunction "Set Directory Information")
03h BYTE directory handle
04h DWORD (big-endian) date and time of creation
08h DWORD (big-endian) object ID of owner
0Ch BYTE maximum directory rights (see #1026)
0Dh BYTE length of directory path
0Eh N BYTEs directory path
Format of NetWare reply buffer:
Offset Size Description (Table 1059)
00h WORD (call) 0000h (no results returned)
--------N-21E2--SF1A-------------------------
INT 21 - Novell NetWare - FILE SERVER - GET PATH FROM DIRECTORY ENTRY
AH = E2h subfn 1Ah
DS:SI -> request buffer (see #1060)
ES:DI -> reply buffer (see #1061)
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 NetWare request buffer:
Offset Size Description (Table 1060)
00h WORD 0004h (length of following data)
02h BYTE 1Ah (subfunction "Get Path From Directory Entry")
03h BYTE volume number (00h-1Fh)
04h WORD (big-endian) directory entry number
Format of NetWare reply buffer:
Offset Size Description (Table 1061)
00h WORD (call) size of following results record (max 200h)
02h 256 BYTEs path
--------E-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
--------T-21E3-------------------------------
INT 21 - DoubleDOS - ADD CHARACTER TO KEYBOARD BUFFER OF CURRENT JOB
AH = E3h
AL = character
Return: AL = status
00h successful
01h buffer full (128 characters)
SeeAlso: AH=E1h"DoubleDOS",AH=E2h"DoubleDOS",AH=E8h"DoubleDOS"
SeeAlso: AH=F3h"DoubleDOS"
--------N-21E3-------------------------------
INT 21 - Novell NetWare - CONNECTION CONTROL
AH = E3h
DS:SI -> request buffer (see #1062)
ES:DI -> reply buffer (see #1063)
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 NetWare request buffer:
Offset Size Description (Table 1062)
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
SeeAlso: #1063,#1064,#1067
Format of NetWare reply buffer:
Offset Size Description (Table 1063)
00h WORD (call) length of following buffer space for results
var depends on subfunction
SeeAlso: #1062
Format of NetWare object property:
Offset Size Description (Table 1064)
00h 1-16 BYTEs property name (see also #1065)
N BYTE flags
bit 0: property is dynamic
bit 1: property is a set rather than an item
N+1 BYTE security levels (see #1066)
???
(Table 1065)
Values for names of well-known NetWare properties:
ACCOUNT_BALANCE
ACCOUNT_SERVERS
GROUP_MEMBERS
GROUPS_I'M_IN
IDENTIFICATION user's name
LOGIN_CONTROL
NET_ADDRESS
OPERATORS
PASSWORD
SECURITY_EQUALS
(Table 1066)
Values for NetWare 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
(Table 1067)
Values for NetWare 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
0021h NAS SNA gateway
0026h remote bridge server
0027h TCPIP gateway
002Dh time synchronization server
002Eh archive server dynamic SAP
0047h advertising print server
0053h print queue uwer
0048h-8000h reserved
FFFFh wild (used only for finding objects)
--------N-21E3--SF0A-------------------------
INT 21 - Novell NetWare - CONNECTION SERVICES - ENTER LOGIN AREA
AH = E3h subfn 0Ah
DS:SI -> request buffer (see #1068)
ES:DI -> reply buffer (see #1069)
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 NetWare request buffer:
Offset Size Description (Table 1068)
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 NetWare reply buffer:
Offset Size Description (Table 1069)
00h WORD (call) 0000h (no data returned)
--------N-21E3--SF0C-------------------------
INT 21 U - Novell NetWare - VERIFY NETWORK SERIAL NUMBER
AH = E3h subfn 0Ch
DS:SI -> request buffer (see #1070)
ES:DI -> reply buffer (see #1071)
Return: AL = status
00h successful
Note: if the network serial number to be verified is correct, the reply
buffer will contain the corresponding application number
SeeAlso: AH=E3h/SF=12h
Format of NetWare request buffer:
Offset Size Description (Table 1070)
00h WORD 0005h (length of following data)
02h BYTE 0Ch (subfunction "Verify Network Serial Number")
03h DWORD (big-endian) network serial number to verify
Format of NetWare reply buffer:
Offset Size Description (Table 1071)
00h WORD (call) 0002h (size of following results buffer)
02h WORD (big-endian) application number
--------N-21E3--SF0D-------------------------
INT 21 - Novell NetWare - MESSAGE SERVICES - LOG NETWORK MESSAGE
AH = E3h subfn 0Dh
DS:SI -> request buffer (see #1072)
ES:DI -> reply buffer (see #1069)
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 NetWare request buffer:
Offset Size Description (Table 1072)
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)
--------N-21E3--SF0E-------------------------
INT 21 - Novell NetWare - FILE SERVER - GET DISK UTILIZATION
AH = E3h subfn 0Eh
DS:SI -> request buffer (see #1074)
ES:DI -> reply buffer (see #1075)
Return: AL = status (00h,98h,F2h) (see #1073)
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
(Table 1073)
Values for NetWare function status:
00h successful
98h nonexistent volume
F2h not permitted to read object
SeeAlso: #1043,#1076
Format of NetWare request buffer:
Offset Size Description (Table 1074)
00h WORD 0005h (length of following data)
02h BYTE 0Eh (subfunction "Get Disk Utilization")
03h BYTE volume number (00h-1Fh)
04h DWORD (big-endian) object ID
Format of NetWare reply buffer:
Offset Size Description (Table 1075)
00h WORD (call) 000Bh (size of following results buffer)
02h BYTE volume number (00h-1Fh)
03h DWORD (big-endian) object ID
07h WORD (big-endian) directories used by object
09h WORD (big-endian) files created by object
0Bh WORD (big-endian) disk blocks used by object-created files
--------N-21E3--SF0F-------------------------
INT 21 - Novell NetWare - FILE SERVICES - SCAN FILE INFORMATION
AH = E3h subfn 0Fh
DS:SI -> request buffer (see #1077)
ES:DI -> reply buffer (see #1078)
Return: AL = status (see #1076)
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=B6h,AH=E3h/SF=10h
(Table 1076)
Values for NetWare function status:
00h successful
89h not permitted to search directory
FFh no more matching files
SeeAlso: #1073,#1094
Format of NetWare request buffer:
Offset Size Description (Table 1077)
00h WORD length of following data (max 105h)
02h BYTE 0Fh (subfunction "Scan File Information")
03h WORD (big-endian) sequence number
FFFFh on first call
05h BYTE directory handle or 00h
06h BYTE search attributes (see #0643 at AX=4301h)
07h BYTE length of filespec
08h N BYTEs ASCIZ uppercase filespec
Format of NetWare reply buffer:
Offset Size Description (Table 1078)
00h WORD (call) 005Eh (size of following results buffer)
02h WORD next sequence number (place in request buffer for next call)
04h 14 BYTEs ASCIZ filename
12h BYTE file attributes (see #0643 at AX=4301h)
13h BYTE extended file attributes (see #0982 at AH=B6h)
14h DWORD (big-endian) file size in bytes
18h WORD (big-endian) file's creation date (see #0877 at AX=5700h)
1Ah WORD (big-endian) date of last access (see #0876 at AX=5700h)
1Ch DWORD (big-endian) date and time of last update (see #1023)
20h DWORD (big-endian) object ID of owner
24h DWORD (big-endian) date and time last archived (see #1023)
28h 55 BYTEs reserved
Note: the official documentation erroneously lists the field at offset 04h as
15 bytes and thus shifts the remaining fields by one byte
--------N-21E3--SF10-------------------------
INT 21 - Novell NetWare - FILE SERVICES - SET FILE INFORMATION
AH = E3h subfn 10h
DS:SI -> request buffer (see #1079)
ES:DI -> reply buffer (see #1080)
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 NetWare request buffer:
Offset Size Description (Table 1079)
00h WORD length of following data (max 151h)
02h BYTE 10h (subfunction "Set File Information")
03h BYTE file attributes (see #0643 at AX=4301h)
04h BYTE extended file attributes (see #0982 at AH=B6h)
05h 4 BYTEs reserved
09h WORD (big-endian) file's creation date (see #0877 at AX=5700h)
0Bh WORD (big-endian) date of last access (see #0876 at AX=5700h)
0Dh DWORD (big-endian) date and time of last update (see #1023)
11h DWORD (big-endian) object ID of owner
15h DWORD (big-endian) date and time last archived (see #1023)
19h 56 BYTEs reserved
51h BYTE directory handle or 00h
52h BYTE search attributes (see #0643 at AX=4301h)
53h BYTE length of filename
54h N BYTEs filename
Format of NetWare reply buffer:
Offset Size Description (Table 1080)
00h WORD (call) 0000h (no results returned)
--------N-21E3--SF11-------------------------
INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER INFORMATION
AH = E3h subfn 11h
DS:SI -> request buffer (see #1081)
ES:DI -> reply buffer (see #1082)
Return: AL = status
00h successful
Desc: determine the version of software installed on the file server and
how it is configured
Note: this function is supported by Advanced NetWare 2.1+
SeeAlso: AH=E3h/SF=0Eh,AE3h/SF=12h,AH=E3h/SF=CDh,AH=E3h/SF=D3h,AH=E3h/SF=E7h
SeeAlso: AH=E7h
Format of NetWare request buffer:
Offset Size Description (Table 1081)
00h WORD 0001h (length of following data)
02h BYTE 11h (subfunction "Get File Server Information")
Format of NetWare reply buffer:
Offset Size Description (Table 1082)
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 (big-endian) number of connections supported
NetWare 4.01 reportedly returns maximum simulataneously-used
connections
36h WORD (big-endian) number of connections in use
38h WORD (big-endian) maximum connected volumes
---Advanced NetWare 2.1+ ---
3Ah BYTE operating system revision number
3Bh BYTE fault tolerance (SFT) level
3Ch BYTE TTS level
3Dh WORD (big-endian) maximum simultaneously-used connections
NetWare 4.01 reportedly returns number of connections in use
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
--------N-21E3--SF12-------------------------
INT 21 - Novell NetWare - GET NETWORK SERIAL NUMBER
AH = E3h subfn 12h
AL = 00h
BX = CX = DX = 0000h
DS:SI -> request buffer (see #1083)
ES:DI -> reply buffer (see #1084)
Return: AL = status
00h successful
Desc: return the serial number and application number for the software
installed on the file server
Notes: this function is supported by Advanced NetWare 2.1+
reportedly, the workstation crashes if AL,BX,CX, and DX are not all
zero
SeeAlso: AH=E3h/SF=0Ch,AH=E3h/SF=11h
Format of NetWare request buffer:
offset size description (Table 1083)
00h WORD 0001h (length of following data)
02h BYTE 12h (subfunction "Get Serial Number")
Format of NetWare reply buffer:
offset size description (Table 1084)
00h WORD (call) 0006h (size of following results buffer)
02h 4 BYTEs (big-endian) NetWare server serial number
06h 2 BYTEs (big-endian) NetWare application serial number
--------N-21E3--SF13-------------------------
INT 21 - Novell NetWare - CONNECTION SERVICES - GET INTERNET ADDRESS
AH = E3h subfn 13h
DS:SI -> request buffer (see #1085)
ES:DI -> reply buffer (see #1086)
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 NetWare request buffer:
Offset Size Description (Table 1085)
00h WORD 0002h (length of following data)
02h BYTE 13h (subfunction "Get Internet Address")
03h BYTE logical connection number (01h-64h)
Format of NetWare reply buffer:
Offset Size Description (Table 1086)
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
--------N-21E3--SF14-------------------------
INT 21 - Novell NetWare - CONNECTION SERVICES - LOGIN TO FILE SERVER
AH = E3h subfn 14h
DS:SI -> request buffer (see #1087)
ES:DI -> reply buffer (see #1088)
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 NetWare request buffer:
Offset Size Description (Table 1087)
00h WORD length of following data (max B3h)
02h BYTE 14h (subfunction "Login To File Server")
03h WORD (big-endian) type of object
05h BYTE length of object's name (01h-2Fh)
06h N BYTEs object's name
BYTE length of password
N BYTEs password
Format of NetWare reply buffer:
Offset Size Description (Table 1088)
00h WORD (call) 0000h (no data returned)
--------N-21E3--SF15-------------------------
INT 21 - Novell NetWare - CONNECTION SERVICES - GET OBJECT CONNECTION NUMBERS
AH = E3h subfn 15h
DS:SI -> request buffer (see #1089)
ES:DI -> reply buffer (see #1090)
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 NetWare request buffer:
Offset Size Description (Table 1089)
00h WORD length of following data (max 33h)
02h BYTE 15h (subfunction "Get Object Connection Numbers")
03h WORD (big-endian) type of object
05h BYTE length of object's name (01h-2Fh)
06h N BYTEs object's name
Format of NetWare reply buffer:
Offset Size Description (Table 1090)
00h WORD (call) length of following results buffer (max 65h)
02h BYTE number of connections
03h N BYTEs connection list
--------N-21E3--SF16-------------------------
INT 21 - Novell NetWare - CONNECTION SERVICES - GET CONNECTION INFORMATION
AH = E3h subfn 16h
DS:SI -> request buffer (see #1091)
ES:DI -> reply buffer (see #1092)
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 NetWare request buffer:
Offset Size Description (Table 1091)
00h WORD 0002h (length of following data)
02h BYTE 16h (subfunction "Get Connection Information")
03h BYTE logical connection number (01h-64h)
Format of NetWare reply buffer:
Offset Size Description (Table 1092)
00h WORD (call) 003Eh (length of following results buffer)
02h DWORD (big-endian) object ID for object logged in on the connection
00000000h if no object logged in
06h WORD (big-endian) type of object
08h 48 BYTEs name of object
38h 7 BYTEs login time (see #1093)
Note: much of the Novell documentation incorrectly states the reply buffer
length as 3Fh instead of 40h, which corresponds to a results length
of 3Dh (61) bytes instead of the correct 3Eh (62) bytes
Format of NetWare login time:
Offset Size Description (Table 1093)
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)
--------N-21E3--SF32-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - CREATE BINDERY OBJECT
AH = E3h subfn 32h
DS:SI -> request buffer (see #1095)
ES:DI -> reply buffer (see #1096)
Return: AL = status (see #1094)
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
(Table 1094)
Values for NetWare function status:
00h successful
96h server out of memory
EEh object already exists
EFh invalid name
F0h wildcard not allowed
F1h invalid bindery security level
F3h not permitted to rename object
F4h not permitted to delete objects
F5h not permitted to create objects
FCh no such object
FEh server bindery locked
FFh bindery failure
SeeAlso: #1076,#1101
Format of NetWare request buffer:
Offset Size Description (Table 1095)
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 (big-endian) type of object
07h BYTE length of object's name
08h N BYTEs object's name
Format of NetWare reply buffer:
Offset Size Description (Table 1096)
00h WORD 0000h (no data returned)
--------N-21E3--SF33-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - DELETE BINDERY OBJECT
AH = E3h subfn 33h
DS:SI -> request buffer (see #1097)
ES:DI -> reply buffer (see #1096)
Return: AL = status (see #1094)
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=34h
Format of NetWare request buffer:
Offset Size Description (Table 1097)
00h WORD length of following data (max 33h)
02h BYTE 33h (subfunction "Delete Bindery Object")
03h WORD (big-endian) type of object
05h BYTE length of object's name (01h-2Fh)
06h N BYTEs object's name
--------N-21E3--SF34-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - RENAME BINDERY OBJECT
AH = E3h subfn 34h
DS:SI -> request buffer (see #1098)
ES:DI -> reply buffer (see #1096)
Return: AL = status (see #1094)
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=33h
Format of NetWare request buffer:
Offset Size Description (Table 1098)
00h WORD length of following data (max 63h)
02h BYTE 34h (subfunction "Rename Bindery Object")
03h WORD (big-endian) type of object
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
--------N-21E3--SF35-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - GET BINDERY OBJECT ID
AH = E3h subfn 35h
DS:SI -> request buffer (see #1099)
ES:DI -> reply buffer (see #1100)
Return: AL = status (00h,96h,FCh,FEh,FFh) (see #1101)
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 NetWare request buffer:
Offset Size Description (Table 1099)
00h WORD length of following data (max 33h)
02h BYTE 35h (subfunction "Get Bindery Object ID")
03h WORD (big-endian) type of object
05h BYTE length of object's name
06h N BYTEs object's name
Format of NetWare reply buffer:
Offset Size Description (Table 1100)
00h WORD (call) 0036h (length of following buffer space)
02h DWORD (big-endian) object ID
06h WORD (big-endian) type of object
08h 48 BYTEs object name
--------N-21E3--SF36-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - GET BINDERY OBJECT NAME
AH = E3h subfn 36h
DS:SI -> request buffer (see #1102)
ES:DI -> reply buffer (see #1103)
Return: AL = status (see #1101)
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
(Table 1101)
Values for NetWare function 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
SeeAlso: #1094,#1107
Format of NetWare request buffer:
Offset Size Description (Table 1102)
00h WORD 0005h (length of following data)
02h BYTE 36h (subfunction "Get Bindery Object Name")
03h DWORD (big-endian) object ID
Format of NetWare reply buffer:
Offset Size Description (Table 1103)
00h WORD (call) 0036h (length of following buffer space)
02h DWORD (big-endian) object ID
06h WORD (big-endian) type of object
08h 48 BYTEs object name
--------N-21E3--SF37-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - SCAN BINDERY OBJECT
AH = E3h subfn 37h
DS:SI -> request buffer (see #1104)
ES:DI -> reply buffer (see #1105)
Return: AL = status (see #1101)
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 NetWare request buffer:
Offset Size Description (Table 1104)
00h WORD length of following data (max 37h)
02h BYTE 37h (subfunction "Scan Bindery Object")
03h DWORD (big-endian) last object ID
07h WORD (big-endian) type of object
09h BYTE length of object's name
0Ah N BYTEs object's name
Format of NetWare reply buffer:
Offset Size Description (Table 1105)
00h WORD (call) 0039h (length of following buffer space)
02h DWORD (big-endian) object ID
FFFFFFFFh for first call
06h WORD (big-endian) type of object
08h 48 BYTEs object name (counted string)
38h BYTE object flag (00h static, 01h dynamic)
39h BYTE object's security levels
3Ah BYTE object properties flag (00h no, FFh yes)
--------N-21E3--SF38-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - CHANGE BINDERY OBJECT SECURITY
AH = E3h subfn 38h
DS:SI -> request buffer (see #1106)
ES:DI -> reply buffer (see #1109)
Return: AL = status (00h,96h,F0h,F1h,FBh,FCh,FEh,FFh) (see #1107)
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=3Bh
Format of NetWare request buffer:
Offset Size Description (Table 1106)
00h WORD length of following data (max 34h)
02h BYTE 38h (subfunction "Change Bindery Object Security")
03h BYTE new security levels
04h WORD (big-endian) type of object
06h BYTE length of object's name (01h-2Fh)
07h N BYTEs object name
--------N-21E3--SF39-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - CREATE PROPERTY
AH = E3h subfn 39h
DS:SI -> request buffer (see #1108)
ES:DI -> reply buffer (see #1109)
Return: AL = status (see #1107)
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=3Bh
(Table 1107)
Values for NetWare function status:
00h successful
96h server out of memory
EDh property already exists
EFh invalid name
F0h wildcard not allowed
F1h invalid bindery security level
F6h not permitted to delete properties
F7h not permitted to create properties
FBh no such property
FCh no such object
FEh server bindery locked
FFh bindery failure
SeeAlso: #1101,#1111
Format of NetWare request buffer:
Offset Size Description (Table 1108)
00h WORD length of following data (max 45h)
02h BYTE 39h (subfunction "Create Property")
03h WORD (big-endian) type of object
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 NetWare reply buffer:
Offset Size Description (Table 1109)
00h WORD (call) 0000h (no data returned)
--------N-21E3--SF3A-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - DELETE PROPERTY
AH = E3h subfn 3Ah
DS:SI -> request buffer (see #1110)
ES:DI -> reply buffer (see #1109)
Return: AL = status (see #1107)
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=39h
Format of NetWare request buffer:
Offset Size Description (Table 1110)
00h WORD length of following data (max 43h)
02h BYTE 3Ah (subfunction "Delete Property")
03h WORD (big-endian) type of object
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
--------N-21E3--SF3B-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - CHANGE PROPERTY SECURITY
AH = E3h subfn 3Bh
DS:SI -> request buffer (see #1112)
ES:DI -> reply buffer (see #1109)
Return: AL = status (see #1111)
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=38h
(Table 1111)
Values for NetWare function 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
SeeAlso: #1107,#1115
Format of NetWare request buffer:
Offset Size Description (Table 1112)
00h WORD length of following data (max 44h)
02h BYTE 3Bh (subfunction "Change Property Security")
03h WORD (big-endian) type of object
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
--------N-21E3--SF3C-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - SCAN PROPERTY
AH = E3h subfn 3Ch
DS:SI -> request buffer (see #1113)
ES:DI -> reply buffer (see #1114)
Return: AL = status (00h,96h,F1h,FBh,FCh,FEh,FFh) (see #1111)
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=37h,AH=E3h/SF=3Bh
Format of NetWare request buffer:
Offset Size Description (Table 1113)
00h WORD length of following data (max 47h)
02h BYTE 3Ch (subfunction "Scan Property")
03h WORD (big-endian) type of object
05h BYTE length of object's name (01h-2Fh)
06h N BYTEs object name
DWORD (big-endian) sequence number
FFFFFFFFh for first call
BYTE length of property's name (01h-0Fh)
N BYTEs property's name
Format of NetWare reply buffer:
Offset Size Description (Table 1114)
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 (big-endian) sequence number
18h BYTE property value flag (00h no, FFh yes)
19h BYTE more properties (00h no, FFh yes)
--------N-21E3--SF3D-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - READ PROPERTY VALUE
AH = E3h subfn 3Dh
DS:SI -> request buffer (see #1116)
ES:DI -> reply buffer (see #1117)
Return: AL = status (see #1115)
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
(Table 1115)
Values for NetWare function 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
F9h not permitted to read property
FBh no such property
FCh no such object
FEh server bindery locked
FFh bindery failure
SeeAlso: #1111,#1120
Format of NetWare request buffer:
Offset Size Description (Table 1116)
00h WORD length of following data (max 44h)
02h BYTE 3Dh (subfunction "Read Property Value")
03h WORD (big-endian) type of object
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 NetWare reply buffer:
Offset Size Description (Table 1117)
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
--------N-21E3--SF3E-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - WRITE PROPERTY VALUE
AH = E3h subfn 3Eh
DS:SI -> request buffer (see #1118)
ES:DI -> reply buffer (see #1119)
Return: AL = status (see #1115)
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 NetWare request buffer:
Offset Size Description (Table 1118)
00h WORD length of following data (max C5h)
02h BYTE 3Eh (subfunction "Write Property Value")
03h WORD (big-endian) type of object
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 NetWare reply buffer:
Offset Size Description (Table 1119)
00h WORD (call) 0000h (no data returned)
--------N-21E3--SF3F-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - VERIFY BINDERY OBJECT PASSWORD
AH = E3h subfn 3Fh
DS:SI -> request buffer (see #1121)
ES:DI -> reply buffer (see #1119)
Return: AL = status (see #1120)
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=40h
(Table 1120)
Values for NetWare function 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, no password for object,
or invalid old password
SeeAlso: #1115,#1124
Format of NetWare request buffer:
Offset Size Description (Table 1121)
00h WORD length of following data (max 133h)
02h BYTE 3Fh (subfunction "Verify Bindery Object Password")
03h WORD (big-endian) type of object
05h BYTE length of object's name (01h-2Fh)
06h N BYTEs object name
BYTE length of password (00h-7Fh)
N BYTEs password
--------N-21E3--SF40-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - CHANGE BINDERY OBJECT PASSWORD
AH = E3h subfn 40h
DS:SI -> request buffer (see #1122)
ES:DI -> reply buffer (see #1123)
Return: AL = status (see #1120)
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=3Fh,AH=E3h/SF=41h
Format of NetWare request buffer:
Offset Size Description (Table 1122)
00h WORD length of following data (max 133h)
02h BYTE 40h (subfunction "Change Bindery Object Password")
03h WORD (big-endian) type of object
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 NetWare reply buffer:
Offset Size Description (Table 1123)
00h WORD (call) 0000h (no data returned)
--------N-21E3--SF41-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - ADD BINDERY OBJECT TO SET
AH = E3h subfn 41h
DS:SI -> request buffer (see #1125)
ES:DI -> reply buffer (see #1123)
Return: AL = status (see #1124)
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
(Table 1124)
Values for NetWare function status:
00h successful
96h server out of memory
E9h member already exists
EAh member does not exist
EBh not a group property
F0h wildcard not allowed
F8h can't write property
F9h not permitted to read property
FBh no such property
FCh no such object
FEh server bindery locked
FFh bindery failure
SeeAlso: #1120,#1135
Format of NetWare request buffer:
Offset Size Description (Table 1125)
00h WORD length of following data (max 75h)
02h BYTE 41h (subfunction "Add Bindery Object to Set")
03h WORD (big-endian) type of object
05h BYTE length of object's name
06h N BYTEs object name
BYTE length of property name (01h-0Fh)
N BYTEs property name
WORD (big-endian) type of member object
BYTE length of member object's name
N BYTEs member object's name
--------N-21E3--SF42-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - DELETE BINDERY OBJECT FROM SET
AH = E3h subfn 42h
DS:SI -> request buffer (see #1126)
ES:DI -> reply buffer (see #1127)
Return: AL = status (see #1124)
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 NetWare request buffer:
Offset Size Description (Table 1126)
00h WORD length of following data (max 75h)
02h BYTE 42h (subfunction "Delete Bindery Object from Set")
03h WORD (big-endian) type of object
05h BYTE length of object's name
06h N BYTEs object name
BYTE length of property name (01h-0Fh)
N BYTEs property name
WORD (big-endian) type of member object
BYTE length of member object's name
N BYTEs member object's name
Format of NetWare reply buffer:
Offset Size Description (Table 1127)
00h WORD (call) 0000h (no data returned)
--------N-21E3--SF43-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - IS BINDERY OBJECT IN SET
AH = E3h subfn 43h
DS:SI -> request buffer (see #1128)
ES:DI -> reply buffer (see #1127)
Return: AL = status (see #1124)
Desc: determine whether the specified object is a member of the given set
property
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 NetWare request buffer:
Offset Size Description (Table 1128)
00h WORD length of following data (max 75h)
02h BYTE 43h (subfunction "Is Bindery Object In Set")
03h WORD (big-endian) type of object
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 (big-endian) type of member object
BYTE length of member object's name
N BYTEs member object's name
--------N-21E3--SF44-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - CLOSE BINDERY
AH = E3h subfn 44h
DS:SI -> request buffer (see #1129)
ES:DI -> reply buffer (see #1127)
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 NetWare request buffer:
Offset Size Description (Table 1129)
00h WORD 0001h (length of following data)
02h BYTE 44h (subfunction "Close Bindery")
--------N-21E3--SF45-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - OPEN BINDERY
AH = E3h subfn 45h
DS:SI -> request buffer (see #1130)
ES:DI -> reply buffer (see #1127)
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 NetWare request buffer:
Offset Size Description (Table 1130)
00h WORD 0001h (length of following data)
02h BYTE 45h (subfunction "Open Bindery")
--------N-21E3--SF46-------------------------
INT 21 - Novell NetWare - BINDERY SERVICES - GET BINDERY ACCESS LEVEL
AH = E3h subfn 46h
DS:SI -> request buffer (see #1131)
ES:DI -> reply buffer (see #1132)
Return: AL = status
00h successful
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
Format of NetWare request buffer:
Offset Size Description (Table 1131)
00h WORD 0001h (length of following data)
02h BYTE 46h (subfunction "Get Bindery Access Level")
Format of NetWare reply buffer:
Offset Size Description (Table 1132)
00h WORD 0005h (length of following buffer)
02h BYTE security levels
03h DWORD (big-endian) object ID
--------N-21E3--SF47-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - SCAN BINDERY OBJ TRUSTEE PATHS
AH = E3h subfn 47h
DS:SI -> request buffer (see #1133)
ES:DI -> reply buffer (see #1134)
Return: AL = status (00h,96h,F0h,F1h,FCh,FEh,FFh) (see #1135)
Desc: iterate through the directories to which an object is a trustee
Note: this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E2h/SF=0Ch,AH=E2h/SF=0Dh,AH=E2h/SF=0Eh
Format of NetWare request buffer:
Offset Size Description (Table 1133)
00h WORD 0008h (length of following data)
02h BYTE 47h (subfunction "Scan Bindery Object Trustee Paths")
03h BYTE volume number (00h-1Fh)
04h WORD (big-endian) last sequence number (FFFFh on first call)
06h DWORD (big-endian) object ID
Format of NetWare reply buffer:
Offset Size Description (Table 1134)
00h WORD (call) length of following results buffer (max 107h)
02h WORD (big-endian) next sequence number
04h DWORD (big-endian) object ID
08h BYTE trustee directory rights (see #1026 at AH=E2h/SF=03h)
09h BYTE length of trustee path
0Ah N BYTEs trustee path
--------N-21E3--SF64-------------------------
INT 21 - Novell NetWare - QUEUE SERVICES - CREATE QUEUE
AH = E3h subfn 64h
DS:SI -> request buffer (see #1136)
ES:DI -> reply buffer (see #1137)
Return: AL = status (00h,96h,99h,9Bh,9Ch,EDh-F1h,F5h,F7h,FCh,FEh,FFh)
(see #1135)
Notes: this function is supported by Advanced NetWare 2.1+
caller must be on a workstation with supervisor privileges
SeeAlso: AH=E3h/SF=65h,AH=E3h/SF=66h,AH=E3h/SF=68h,AH=E3h/SF=6Bh
(Table 1135)
Values for NetWare function status:
00h successful
96h server out of memory
99h directory full
9Bh invalid directory handle
9Ch invalid path
D0h queue error
D1h no such queue
D2h no server for queue
D3h no queue rights
D4h queue full
D5h no queue job
D6h no job rights
D7h queue servicing error
D8h queue not active
D9h station is not a server
DAh queue halted
DBh too many queue servers
EDh property already exists
EEh object already exists
EFh invalid name
F0h wildcard not allowed
F1h invalid bindery security level
F5h not permitted to create object
F7h not permitted to create property
FCh no such object
FEh server bindery locked
FFh bindery failure
SeeAlso: #1124,#1171,#1572 at INT 2F/AX=7A20h/BX=0000h
Format of NetWare request buffer:
Offset Size Description (Table 1136)
00h WORD length of following data (max ABh)
02h BYTE 64h (subfunction "Create Queue")
03h WORD (big-endian) queue type
05h BYTE length of queue's name (01h-2Fh)
06h N BYTEs queue's name
BYTE directory handle or 00h
BYTE length of path name (01h-76h)
N BYTEs path name of directory in which to create queue subdirectory
Format of NetWare reply buffer:
Offset Size Description (Table 1137)
00h WORD (call) 0004h (size of following results buffer)
02h DWORD (big-endian) object ID of queue
--------N-21E3--SF65-------------------------
INT 21 - Novell NetWare - QUEUE SERVICES - DESTROY QUEUE
AH = E3h subfn 65h
DS:SI -> request buffer (see #1138)
ES:DI -> reply buffer (see #1143)
Return: AL = status (00h,96h,9Ch,D0h,D1h,FFh) (see also AH=E3h/SF=64h)
FFh hardware failure
Desc: abort all active jobs, detach all job servers, remove all job entries,
delete all job files, remove the queue object and its properties
from the bindery, and delete the queue's subdirectory
Notes: this function is supported by Advanced NetWare 2.1+
caller must have SUPERVISOR privileges
SeeAlso: AH=E3h/SF=64h,AH=E3h/SF=66h,AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=70h
Format of NetWare request buffer:
Offset Size Description (Table 1138)
00h WORD 0005h (length of following data)
02h BYTE 65h (subfunction "Destroy Queue")
03h DWORD (big-endian) object ID of queue
--------N-21E3--SF66-------------------------
INT 21 - Novell NetWare - QUEUE SERVICES - READ QUEUE CURRENT STATUS
AH = E3h subfn 66h
DS:SI -> request buffer (see #1139)
ES:DI -> reply buffer (see #1140)
Return: AL = status (00h,96h,9Ch,D1h-D3h,F1h,FCh,FEh,FFh) (see #1135)
Notes: this function is supported by Advanced NetWare 2.1+
caller must be on a workstation which is security-equivalent to a
member of the queue's Q_USERS or Q_OPERATORS properties
SeeAlso: AH=E3h/SF=64h,AH=E3h/SF=67h,AH=E3h/SF=6Fh,AH=E3h/SF=76h
Format of NetWare request buffer:
Offset Size Description (Table 1139)
00h WORD 0005h (length of following data)
02h BYTE 66h (subfunction "Read Queue Current Status")
03h DWORD (big-endian) object ID of queue
Format of NetWare reply buffer:
Offset Size Description (Table 1140)
00h WORD (call) 0085h (size of following results)
02h DWORD (big-endian) object ID of queue
06h BYTE status of queue (see #1141)
07h BYTE number of jobs in queue (00h-FAh)
08h BYTE number of servers attached to queue (00h-19h)
09h 25 DWORDs list of object IDs of attached servers
6Dh 25 BYTEs list of attached servers' stations
86h BYTE (call) maximum number of servers to return
Bitfields for NetWare queue status:
Bit(s) Description (Table 1141)
0 operator disabled addition of new jobs
1 operator refuses additional job servers attaching
2 operator disabled job servicing
--------N-21E3--SF67-------------------------
INT 21 - Novell NetWare - QUEUE SERVICES - SET QUEUE CURRENT STATUS
AH = E3h subfn 67h
DS:SI -> request buffer (see #1142)
ES:DI -> reply buffer (see #1143)
Return: AL = status (00h,96h,9Ch,D0h,D1h,D3h,FEh,FFh) (see #1135)
Notes: this function is supported by Advanced NetWare 2.1+
caller must have operator privileges
SeeAlso: AH=E3h/SF=64h,AH=E3h/SF=66h,AH=E3h/SF=6Fh,AH=E3h/SF=76h
Format of NetWare request buffer:
Offset Size Description (Table 1142)
00h WORD 0006h (length of following data)
02h BYTE 67h (subfunction "Set Queue Current Status")
03h DWORD (big-endian) object ID of queue
07h BYTE queue status (see #1141)
Format of NetWare reply buffer:
Offset Size Description (Table 1143)
00h WORD (call) 0000h (no results returned)
--------N-21E3--SF68-------------------------
INT 21 - Novell NetWare - QUEUE SERVICES - CREATE QUEUE JOB AND FILE
AH = E3h subfn 68h
DS:SI -> request buffer (see #1144)
ES:DI -> reply buffer (see #1145)
Return: AL = status (00h,96h,99h,9Ch,D0h-D4h,DAh,EDh,EFh-F1h,F7h,FCh,FEh,FFh)
(see #1135)
Notes: this function is supported by Advanced NetWare 2.1+
caller must be on a workstation which is security-equivalent to a
member of the queue's Q_USER property
SeeAlso: AX=B807h,AH=E0h"SPOOLING",AH=E3h/SF=69h,AH=E3h/SF=6Ah,AH=E3h/SF=6Eh
Format of NetWare request buffer:
Offset Size Description (Table 1144)
00h WORD 0107h (length of following data)
02h BYTE 68h (subfunction "Close File and Start Queue Job")
03h DWORD (big-endian) object ID of queue
07h BYTE client station
08h BYTE client task number
09h DWORD (big-endian) object ID of client
0Dh DWORD (big-endian) object ID of target server
FFFFFFFh if any server acceptable
11h 6 BYTEs target execution time (year,month,day,hour,minute,second)
FFFFFFFFFFFFh to execute as soon as possible
17h 6 BYTEs job entry time (year,month,day,hour,minute,second)
1Dh WORD (big-endian) job number
1Fh WORD (big-endian) job type
21h BYTE job position
22h BYTE job control flags
23h 14 BYTEs ASCIZ job file name
31h 6 BYTEs job file handle
37h BYTE server station
38h BYTE server task number
39h DWORD (big-endian) object ID of server
3Dh 50 BYTEs ASCIZ job description string
6Fh 152 BYTEs client record area
Format of NetWare reply buffer:
Offset Size Description (Table 1145)
00h WORD (call) 0036h (size of following results buffer)
02h BYTE client station
03h BYTE client task number
04h DWORD (big-endian) object ID of client
08h DWORD (big-endian) object ID of target server
0Ch 6 BYTEs target execution time (year,month,day,hour,minute,second)
12h 6 BYTEs job entry time (year,month,day,hour,minute,second)
18h WORD (big-endian) job number
1Ah WORD (big-endian) job type
1Ch BYTE job position
1Dh BYTE job control flags
1Eh 14 BYTEs ASCIZ job file name
2Ch 6 BYTEs job file handle
32h BYTE server station
33h BYTE server task number
34h DWORD (big-endian) object ID of server or 00000000h
--------N-21E3--SF69-------------------------
INT 21 - Novell NetWare - QUEUE SERVICES - CLOSE FILE AND START QUEUE JOB
AH = E3h subfn 69h
DS:SI -> request buffer (see #1146)
ES:DI -> reply buffer (see #1147)
Return: AL = status (00h,96h,D0h,D1h,D3h,D5h,D6h,FEh,FFh) (see #1135)
Notes: this function is supported by Advanced NetWare 2.1+
caller must be on the workstation which created the job
SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Eh
Format of NetWare request buffer:
Offset Size Description (Table 1146)
00h WORD 0007h (length of following data)
02h BYTE 69h (subfunction "Close File and Start Queue Job")
03h DWORD (big-endian) object ID of queue
07h WORD (big-endian) job number
Format of NetWare reply buffer:
Offset Size Description (Table 1147)
00h WORD (call) 0000h (no results returned)
--------N-21E3--SF6A-------------------------
INT 21 - Novell NetWare - QUEUE SERVICES - REMOVE JOB FROM QUEUE
AH = E3h subfn 6Ah
DS:SI -> request buffer (see #1148)
ES:DI -> reply buffer (see #1147)
Return: AL = status (00h,96h,D0h,D1h,D5h,D6h,FEh,FFh) (see #1135)
Notes: this function is supported by Advanced NetWare 2.1+
caller must have created the job or be an operator
SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Eh
Format of NetWare request buffer:
Offset Size Description (Table 1148)
00h WORD 0007h (length of following data)
02h BYTE 6Ah (subfunction "Remove Job From Queue")
03h DWORD (big-endian) object ID of queue
07h WORD (big-endian) job number
--------N-21E3--SF6B-------------------------
INT 21 - Novell NetWare - QUEUE SERVICES - GET QUEUE JOB LIST
AH = E3h subfn 6Bh
DS:SI -> request buffer (see #1149)
ES:DI -> reply buffer (see #1150)
Return: AL = status (00h,96h,9Ch,D0h-D3h,FCh,FEh,FFh) (see #1135)
Notes: this function is supported by Advanced NetWare 2.1+
caller must be on a workstation which is security-equivalent to a
member of the Q_USERS or Q_OPERATORS properties
SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Eh
Format of NetWare request buffer:
Offset Size Description (Table 1149)
00h WORD 0005h (length of following data)
02h BYTE 6Bh (subfunction "Get Queue Job List")
03h DWORD (big-endian) object ID of queue
Format of NetWare reply buffer:
Offset Size Description (Table 1150)
00h WORD (call) size of following results buffer (max 1F6h)
02h WORD (big-endian) job count
04h N WORDs (big-endian) list of job numbers by position in queue
WORD maximum job numbers
--------N-21E3--SF6C-------------------------
INT 21 - Novell NetWare - QUEUE SERVICES - READ QUEUE JOB ENTRY
AH = E3h subfn 6Ch
DS:SI -> request buffer (see #1151)
ES:DI -> reply buffer (see #1152)
Return: AL = status (00h,96h,D0h-D3h,D5h,FCh,FEh,FFh) (see #1135)
Notes: this function is supported by Advanced NetWare 2.1+
caller must be on a workstation which is security-equivalent to a
member of the Q_USERS, Q_OPERATORS, or Q_SERVERS properties
SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Eh
Format of NetWare request buffer:
Offset Size Description (Table 1151)
00h WORD 0007h (length of following data)
02h BYTE 6Ch (subfunction "Read Queue Job Entry")
03h DWORD (big-endian) object ID of queue
07h WORD (big-endian) job number
Format of NetWare reply buffer:
Offset Size Description (Table 1152)
00h WORD (call) 0100h (size of following results)
02h BYTE client station number
03h BYTE client task number
04h DWORD object ID of client
08h DWORD (big-endian) object ID of target server
FFFFFFFFh if any server acceptable
0Ch 6 BYTEs target execution time (year,month,day,hour,minute,second)
FFFFFFFFFFFFh if serviced as soon as possible
12h 6 BYTEs job entry time (year,month,day,hour,minute,second)
18h WORD (big-endian) job number
1Ah WORD (big-endian) job type
1Ch BYTE job position
1Dh BYTE job control flags (see #1153)
1Eh 14 BYTEs ASCIZ job filename
2Ch 6 BYTEs job file handle
32h BYTE server station
33h BYTE server task number
34h DWORD object ID of server
38h 50 BYTEs ASCIZ job description string
6Ah 152 BYTEs client record area
Bitfields for NetWare job control flags:
Bit(s) Description (Table 1153)
3 job will be serviced automatically if connection broken
4 job remains in queue after server aborts job
5 client has not filled associated job file
6 User Hold--job advances, but cannot be serviced until this is
cleared by user or operator
7 Operator Hold--job advances, but cannot be serviced until this is
cleared by an operator
--------N-21E3--SF6D-------------------------
INT 21 - Novell NetWare - QUEUE SERVICES - CHANGE QUEUE JOB ENTRY
AH = E3h subfn 6Dh
DS:SI -> request buffer (see #1154)
ES:DI -> reply buffer (see #1156)
Return: AL = status (00h,96h,D0h,D1h,D5h,D7h,FEh,FFh) (see #1135)
Notes: this function is supported by Advanced NetWare 2.1+
caller must be an operator or the user who created the job
SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Ch,AH=E3h/SF=6Eh
Format of NetWare request buffer:
Offset Size Description (Table 1154)
00h WORD 0105h (length of following data)
02h BYTE 6Dh (subfunction "Change Queue Job Entry")
03h DWORD (big-endian) object ID of queue
07h BYTE client station number
08h BYTE client task number
09h DWORD (big-endian) object ID of client
0Dh DWORD (big-endian) object ID of target server
11h 6 BYTEs target execution time (year,month,day,hour,minute,second)
17h 6 BYTEs job entry time (year,month,day,hour,minute,second)
1Dh WORD (big-endian) job number
1Fh WORD (big-endian) job type
21h BYTE job position
22h BYTE job control flags (see #1153)
23h 14 BYTEs ASCIZ job filename
31h 6 BYTEs job file handle
37h BYTE server station
38h BYTE server task number
39h DWORD object ID of server
3Dh 50 BYTEs ASCIZ job description string
6Fh 152 BYTEs client record area
--------N-21E3--SF6E-------------------------
INT 21 - Novell NetWare - QUEUE SERVICES - CHANGE QUEUE JOB POSITION
AH = E3h subfn 6Eh
DS:SI -> request buffer (see #1155)
ES:DI -> reply buffer (see #1156)
Return: AL = status (00h,96h,D0h,D1h,D5h,D6h,FEh,FFh) (see #1135)
Notes: this function is supported by Advanced NetWare 2.1+
caller must be an operator
if the specified position is greater than the number of jobs in the
queue, the job is placed at the end of the queue
SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Ch,AH=E3h/SF=6Dh
Format of NetWare request buffer:
Offset Size Description (Table 1155)
00h WORD 0008h (length of following data)
02h BYTE 6Eh (subfunction "Change Queue Job Position")
03h DWORD (big-endian) object ID of queue
07h WORD (big-endian) job number
09h BYTE new position in queue (01h-FAh)
Format of NetWare reply buffer:
Offset Size Description (Table 1156)
00h WORD (call) 0000h (no results returned)
--------N-21E3--SF6F-------------------------
INT 21 - Novell NetWare - QUEUE SERVICES - ATTACH QUEUE SERVER TO QUEUE
AH = E3h subfn 6Fh
DS:SI -> request buffer (see #1157)
ES:DI -> reply buffer (see #1156)
Return: AL = status (00h,96h,9Ch,D0h,D1h,D3h,DAh,DBh,FEh,FFh)
(see also AH=E3h/SF=64h)
FFh bindery failure, or no such property, or no such member
Desc: attach the calling job server to the specified queue
Notes: this function is supported by Advanced NetWare 2.1+
a queue may have up to 25 job servers attached
the calling workstation must be security-equivalent to a member of the
queue's Q_SERVERS property
SeeAlso: AH=E3h/SF=70h,AH=E3h/SF=71h,AH=E3h/SF=72h,AH=E3h/SF=73h,AH=E3h/SF=76h
Format of NetWare request buffer:
Offset Size Description (Table 1157)
00h WORD 0005h (length of following data)
02h BYTE 6Fh (subfunction "Attach Queue Server To Queue")
03h DWORD (big-endian) object ID of queue
--------N-21E3--SF70-------------------------
INT 21 - Novell NetWare - QUEUE SERVICES - DETACH QUEUE SERVER FROM QUEUE
AH = E3h subfn 70h
DS:SI -> request buffer (see #1158)
ES:DI -> reply buffer (see #1156)
Return: AL = status (00h,96h,9Ch,D0h,D1h,D2h,FEh,FFh) (see #1135)
Desc: remove the calling job server from the specified queue's list of
servers
Notes: this function is supported by Advanced NetWare 2.1+
the caller must have previously attached itself to the queue
SeeAlso: AH=E3h/SF=6Fh,AH=E3h/SF=72h,AH=E3h/SF=73h,AH=E3h/SF=76h
Format of NetWare request buffer:
Offset Size Description (Table 1158)
00h WORD 0005h (length of following data)
02h BYTE 70h (subfunction "Detach Queue Server From Queue")
03h DWORD (big-endian) object ID of queue
--------N-21E3--SF71-------------------------
INT 21 - Novell NetWare - QUEUE SERVICES - SERVICE QUEUE JOB AND OPEN FILE
AH = E3h subfn 71h
DS:SI -> request buffer (see #1159)
ES:DI -> reply buffer (see #1145)
Return: AL = status (00h,96h,9Ch,D0h,D1h,D3h,D5h,D9h,DAh,FEh,FFh)
(see #1135)
Notes: this function is supported by Advanced NetWare 2.1+
the caller must be on a workstation which is security-equivalent to a
member of the queue's Q_USERS, Q_OPERATORS, or Q_SERVERS properties
SeeAlso: AH=E3h/SF=6Fh,AH=E3h/SF=72h,AH=E3h/SF=73h,AH=E3h/SF=76h
Format of NetWare request buffer:
Offset Size Description (Table 1159)
00h WORD 0007h (length of following data)
02h BYTE 71h (subfunction "Service Queue Job and Open File")
03h DWORD (big-endian) object ID of queue
07h WORD (big-endian) target job type
FFFFh any
--------N-21E3--SF72-------------------------
INT 21 - Novell NetWare - QUEUE SERVICES - FINISH SERVICING QUEUE JOB AND FILE
AH = E3h subfn 72h
DS:SI -> request buffer (see #1160)
ES:DI -> reply buffer (see #1162)
Return: AL = status (00h,96h,D0h,D1h,D6h) (see #1135)
Desc: inform the Queue Management System (QMS) that the queue server has
completed a job
Notes: this function is supported by Advanced NetWare 2.1+
the caller must be a job server which has previously obtained a job
for servicing
SeeAlso: AH=E3h/SF=6Fh,AH=E3h/SF=71h,AH=E3h/SF=73h,AH=E3h/SF=76h
Format of NetWare request buffer:
Offset Size Description (Table 1160)
00h WORD 000Bh (length of following data)
02h BYTE 72h (subfunction "Finish Servicing Queue Job and File")
03h DWORD (big-endian) object ID of queue
07h WORD (big-endian) job number
09h DWORD (big-endian) charge
--------N-21E3--SF73-------------------------
INT 21 - Novell NetWare - QUEUE SERVICES - ABORT SERVICING QUEUE JOB AND FILE
AH = E3h subfn 73h
DS:SI -> request buffer (see #1161)
ES:DI -> reply buffer (see #1162)
Return: AL = status (00h,96h,D0h,D1h,D6h,D9h) (see #1135)
Desc: inform the Queue Management System (QMS) that the queue server is
unable to service a previously-accepted job
Notes: this function is supported by Advanced NetWare 2.1+
this is an old version of the call (see AH=E3h/SF=84h)
only a job server which previously accepted a job for servicing may
call this function
SeeAlso: AH=E3h/SF=6Fh,AH=E3h/SF=71h,AH=E3h/SF=72h,AH=E3h/SF=76h,AH=E3h/SF=84h
Format of NetWare request buffer:
Offset Size Description (Table 1161)
00h WORD 0007h (length of following data)
02h BYTE 73h (subfunction "Abort Servicing Queue Job and File")
03h DWORD (big-endian) object ID of queue
07h WORD (big-endian) job number
Format of NetWare reply buffer:
Offset Size Description (Table 1162)
00h WORD (call) 0000h (no results returned)
--------N-21E3--SF74-------------------------
INT 21 - Novell NetWare - QUEUE SERVICES - CHANGE TO CLIENT RIGHTS
AH = E3h subfn 74h
DS:SI -> request buffer (see #1163)
ES:DI -> reply buffer (see #1162)
Return: AL = status (00h,96h,D0h,D1h,D5h,D9h) (see #1135)
Desc: temporarily assume the login identity of the client submitting the
job being serviced
Notes: this function is supported by Advanced NetWare 2.1+
caller must be a job server which has obtained a job for servicing
SeeAlso: AH=E3h/SF=75h
Format of NetWare request buffer:
Offset Size Description (Table 1163)
00h WORD 0007h (length of following data)
02h BYTE 74h (subfunction "Change To Client Rights")
03h DWORD (big-endian) object ID of queue
07h WORD (big-endian) job number
--------N-21E3--SF75-------------------------
INT 21 - Novell NetWare - QUEUE SERVICES - RESTORE QUEUE SERVER RIGHTS
AH = E3h subfn 75h
DS:SI -> request buffer (see #1164)
ES:DI -> reply buffer (see #1162)
Return: AL = status (00h,96h,9Ch,D0h,D1h,D3h,D5h,D9h,DAh,FEh,FFh) (see #1135)
Desc: restore server's own identity after assuming the login identity of the
client submitting the job being serviced
Notes: this function is supported by Advanced NetWare 2.1+
caller must be a job server which has previously changed its identity
SeeAlso: AH=E3h/SF=74h
Format of NetWare request buffer:
Offset Size Description (Table 1164)
00h WORD 0001h (length of following data)
02h BYTE 75h (subfunction "Change To Client Rights")
--------N-21E3--SF76-------------------------
INT 21 - Novell NetWare - QUEUE SERVICES - READ QUEUE SERVER CURRENT STATUS
AH = E3h subfn 76h
DS:SI -> request buffer (see #1165)
ES:DI -> reply buffer (see #1166)
Return: AL = status (00h,96h,9Ch,D1h-D3h,F1h,FCh,FEh,FFh) (see #1135)
Notes: this function is supported by Advanced NetWare 2.1+
caller must be on a workstation which is security-equivalent to a
member of the Q_USERS or Q_OPERATORS properties
SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ch,AH=E3h/SF=6Fh,AH=E3h/SF=77h,AH=E3h/SF=78h
Format of NetWare request buffer:
Offset Size Description (Table 1165)
00h WORD 000Ah (length of following data)
02h BYTE 76h (subfunction "Read Queue Server Current Status")
03h DWORD (big-endian) object ID of queue
07h DWORD (big-endian) object ID of server
0Bh BYTE server station
Format of NetWare reply buffer:
Offset Size Description (Table 1166)
00h WORD (call) 0040h (size of following results)
02h 64 BYTEs server status record (format depends on server)
first four bytes should contain estimated "price" for an
average job
--------N-21E3--SF77-------------------------
INT 21 - Novell NetWare - QUEUE SERVICES - SET QUEUE SERVER CURRENT STATUS
AH = E3h subfn 77h
DS:SI -> request buffer (see #1167)
ES:DI -> reply buffer (see #1168)
Return: AL = status (00h,96h,9Ch,D0h,D1h,FEh,FFh) (see #1135)
Notes: this function is supported by Advanced NetWare 2.1+
caller must be a job server which has attached itself to the queue
SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ch,AH=E3h/SF=6Fh,AH=E3h/SF=76h,AH=E3h/SF=78h
Format of NetWare request buffer:
Offset Size Description (Table 1167)
00h WORD 0045h (length of following data)
02h BYTE 77h (subfunction "Set Queue Server Current Status")
03h DWORD (big-endian) object ID of queue
07h 64 BYTEs server status record (format depends on server)
first four bytes should contain estimated "price" for an
average job
Format of NetWare reply buffer:
Offset Size Description (Table 1168)
00h WORD (call) 0000h (no results returned)
--------N-21E3--SF78-------------------------
INT 21 - Novell NetWare - QUEUE SERVICES - GET QUEUE JOB'S FILE SIZE
AH = E3h subfn 78h
DS:SI -> request buffer (see #1169)
ES:DI -> reply buffer (see #1170)
Return: AL = status (see also #1135)
00h successful
Notes: this function is supported by Advanced NetWare 2.1+
caller must be on a workstation which is security-equivalent to a
member of the queue's Q_USERS, Q_OPERATORS, or Q_SERVERS properties
SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ch,AH=E3h/SF=71h
Format of NetWare request buffer:
Offset Size Description (Table 1169)
00h WORD 0007h (length of following data)
02h BYTE 78h (subfunction "Get Queue Job's File Size")
03h DWORD (big-endian) object ID of queue
07h WORD (big-endian) job number
Format of NetWare reply buffer:
Offset Size Description (Table 1170)
00h WORD (call) 000Ah (size of following results)
02h DWORD (big-endian) object ID of queue
06h WORD (big-endian) job number
08h DWORD (big-endian) size of job file in bytes
--------N-21E3--SF84-------------------------
INT 21 - Novell NetWare - QUEUE SERVICES - ABORT SERVICING QUEUE JOB
AH = E3h subfn 84h
DS:SI -> request buffer (see #2692)
ES:DI -> reply buffer (see #2693)
Return: AL = status (00h,96h,D0h,D1h,D6h,D9h) (see #1135)
Desc: inform the Queue Management System (QMS) that the queue server is
unable to service a previously-accepted job
Notes: this function is supported by Advanced NetWare 3.1+
this variant of Abort Servicing Queue Job allows use of the high
connection byte in the NCP packet header, unlike AH=E3h/SF=73h
SeeAlso: AH=E3h/SF=6Fh,AH=E3h/SF=71h,AH=E3h/SF=72h,AH=E3h/SF=73h,AH=E3h/SF=76h
Format of NetWare request buffer:
Offset Size Description (Table 2692)
00h WORD 0007h (length of following data)
02h BYTE 84h (subfunction "Abort Servicing Queue Job")
03h DWORD (big-endian) object ID of queue
07h WORD (big-endian) job number
Format of NetWare reply buffer:
Offset Size Description (Table 2693)
00h WORD (call) 0000h (no results returned)
--------N-21E3--SF96-------------------------
INT 21 - Novell NetWare - ACCOUNTING SERVICES - GET ACCOUNT STATUS
AH = E3h subfn 96h
DS:SI -> request buffer (see #1172)
ES:DI -> reply buffer (see #1173)
Return: AL = status (00h,C0h,C1h) (see #1171)
Note: this function is supported by Advanced NetWare 2.1+
SeeAlso: AH=E3h/SF=97h,AH=E3h/SF=98h,AH=E3h/SF=99h
(Table 1171)
Values for NetWare function status:
00h successful
C0h no account privileges
C1h no account balance
C2h credit limit exceeded
C3h too many holds on account
SeeAlso: #1135,#1181
Format of NetWare request buffer:
Offset Size Description (Table 1172)
00h WORD length of following data (max 33h)
02h BYTE 96h (subfunction "Get Account Status")
03h WORD (big-endian) type of bindery object
05h BYTE length of object name (01h to 2Fh)
06h N BYTEs object name
Format of NetWare reply buffer:
Offset Size Description (Table 1173)
00h WORD (call) length of following buffer space
02h DWORD (big-endian) account balance
06h DWORD (big-endian) credit limit
signed number indicating lowest allowable account balance
0Ah 120 BYTEs reserved
82h DWORD (big-endian) object ID, server 1
86h DWORD (big-endian) hold amount, server 1
...
F8h DWORD (big-endian) object ID, server 16
FCh DWORD (big-endian) hold amount, server 16
Note: the reply buffer lists the servers which have placed holds on a portion
of the account balance, and the amount reserved by each
--------N-21E3--SF97-------------------------
INT 21 - Novell NetWare - ACCOUNTING SERVICES - SUBMIT ACCOUNT CHARGE
AH = E3h subfn 97h
DS:SI -> request buffer (see #1174)
ES:DI -> reply buffer (see #1176)
Return: AL = status (00h,C0h-C2h) (see #1171)
Note: this function is supported by Advanced NetWare 2.1+
SeeAlso: AH=E3h/SF=96h,AH=E3h/SF=98h
Format of NetWare request buffer:
Offset Size Description (Table 1174)
00h WORD length of following data (max 13Fh)
02h BYTE 97h (subfunction "Submit Account Charge")
03h WORD (big-endian) service type
05h DWORD (big-endian) amount to be charged to account
09h DWORD (big-endian) amount of prior hold to be cancelled
0Dh WORD (big-endian) type of bindery object
0Fh WORD (big-endian) type of comment
8000h-FFFFh reserved for experimental use
11h BYTE length of object's name
12h N BYTEs object name
BYTE length of comment
N BYTEs comment
--------N-21E3--SF98-------------------------
INT 21 - Novell NetWare - ACCOUNTING SERVICES - SUBMIT ACCOUNT HOLD
AH = E3h subfn 98h
DS:SI -> request buffer (see #1175)
ES:DI -> reply buffer (see #1176)
Return: AL = status (00h,C0h-C3h) (see #1171)
Note: this function is supported by Advanced NetWare 2.1+
SeeAlso: AH=E3h/SF=96h,AH=E3h/SF=97h
Format of NetWare request buffer:
Offset Size Description (Table 1175)
00h WORD length of following data (max 37h)
02h BYTE 98h (subfunction "Submit Account Hold")
03h DWORD (big-endian) amount of account balance to reserve
07h WORD (big-endian) type of bindery object
09h BYTE length of object's name
0Ah N BYTEs object name
Format of NetWare reply buffer:
Offset Size Description (Table 1176)
00h WORD 0000h (no data returned)
--------N-21E3--SF99-------------------------
INT 21 - Novell NetWare - ACCOUNTING SERVICES - SUBMIT ACCOUNT NOTE
AH = E3h subfn 99h
DS:SI -> request buffer (see #1177)
ES:DI -> reply buffer (see #1176)
Return: AL = status (00h,C0h) (see #1171)
Note: this function is supported by Advanced NetWare 2.1+
SeeAlso: AH=E3h/SF=96h
Format of NetWare request buffer:
Offset Size Description (Table 1177)
00h WORD length of following data (max 137h)
02h BYTE 99h (subfunction "Submit Account Note")
03h WORD (big-endian) type of service
05h WORD (big-endian) type of bindery object
07h WORD (big-endian) type of comment
8000h-FFFFh reserved for experimental use
09h BYTE length of object's name
0Ah N BYTEs object name
BYTE length of comment
N BYTEs comment
--------N-21E3--SFC8-------------------------
INT 21 - Novell NetWare - FILE SERVER - CHECK CONSOLE PRIVILEGES
AH = E3h subfn C8h
DS:SI -> request buffer (see #1178)
ES:DI -> reply buffer (see #1176)
Return: AL = status (00h,C6h) (see #1181)
Desc: determine whether the caller is a console operator
Notes: this function is supported by Advanced NetWare 2.1+
NetWare determines console privileges by checking the file server's
OPERATOR property for the caller's object ID
SeeAlso: AH=E3h/SF=C9h,AH=E3h/SF=D1h
Format of NetWare request buffer:
Offset Size Description (Table 1178)
00h WORD 0001h (length of following data)
02h BYTE C8h (subfunction "Check Console Privileges")
--------N-21E3--SFC9-------------------------
INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER DESCRIPTION STRINGS
AH = E3h subfn C9h
DS:SI -> request buffer (see #1179)
ES:DI -> reply buffer (see #1180)
Return: AL = status
00h successful
Notes: this function is supported by Advanced NetWare 2.1+
the calling workstation must be attached to the file server
SeeAlso: AH=E3h/SF=11h,AH=E3h/SF=CDh,AH=E3h/SF=E8h
Format of NetWare request buffer:
Offset Size Description (Table 1179)
00h WORD 0001h (length of following data)
02h BYTE C9h (subfunction "Get File Server Description Strings")
Format of NetWare reply buffer:
Offset Size Description (Table 1180)
00h WORD (call) 0200h (size of following results buffer)
02h var ASCIZ name of company distributing this copy of NetWare
var ASCIZ version and revision
9 BYTEs ASCIZ revision date (mm/dd/yy)
var ASCIZ copyright notice
--------N-21E3--SFCA-------------------------
INT 21 - Novell NetWare - FILE SERVER - SET FILE SERVER DATE AND TIME
AH = E3h subfn CAh
DS:SI -> request buffer (see #1182)
ES:DI -> reply buffer (see #1184)
Return: AL = status (00h,C6h) (see #1181)
Notes: this function is supported by Advanced NetWare 2.1+
the calling workstation must have console operator privileges
SeeAlso: AH=2Bh,AH=2Dh,AH=E3h/SF=C8h,AH=E7h
(Table 1181)
Values for NetWare function status:
00h successful
C6h no console rights
SeeAlso: #1171,#1195
Format of NetWare request buffer:
Offset Size Description (Table 1182)
00h WORD 0007h (length of following data)
02h BYTE CAh (subfunction "Set File Server Date And Time")
03h BYTE year (00-79 = 2000-2079, 80-99 = 1980-1999)
04h BYTE month (1-12)
05h BYTE day (1-31)
06h BYTE hour (0-23)
07h BYTE minute
08h BYTR second
--------N-21E3--SFCB-------------------------
INT 21 - Novell NetWare - FILE SERVER - DISABLE FILE SERVER LOGIN
AH = E3h subfn CBh
DS:SI -> request buffer (see #1183)
ES:DI -> reply buffer (see #1184)
Return: AL = status (00h,C6h) (see #1181)
Notes: this function is supported by Advanced NetWare 2.1+
the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CCh,AH=E3h/SF=D3h
Format of NetWare request buffer:
Offset Size Description (Table 1183)
00h WORD 0001h (length of following data)
02h BYTE CBh (subfunction "Disable File Server Login")
Format of NetWare reply buffer:
Offset Size Description (Table 1184)
00h WORD (call) 0000h (no results returned)
--------N-21E3--SFCC-------------------------
INT 21 - Novell NetWare - FILE SERVER - ENABLE FILE SERVER LOGIN
AH = E3h subfn CCh
DS:SI -> request buffer (see #1185)
ES:DI -> reply buffer (see #1184)
Return: AL = status (00h,C6h) (see #1181)
Notes: this function is supported by Advanced NetWare 2.1+
the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CBh
Format of NetWare request buffer:
Offset Size Description (Table 1185)
00h WORD 0001h (length of following data)
02h BYTE CCh (subfunction "Enable File Server Login")
--------N-21E3--SFCD-------------------------
INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER LOGIN STATUS
AH = E3h subfn CDh
DS:SI -> request buffer (see #1186)
ES:DI -> reply buffer (see #1187)
Return: AL = status (00h,C6h) (see #1181)
Notes: this function is supported by Advanced NetWare 2.1+
the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CBh,AH=E3h/SF=CCh
Format of NetWare request buffer:
Offset Size Description (Table 1186)
00h WORD 0001h (length of following data)
02h BYTE CDh (subfunction "Get File Server Login Status")
Format of NetWare reply buffer:
Offset Size Description (Table 1187)
00h WORD (call) 0001h (size of following results buffer)
02h BYTE login state (00h disabled, 01h enabled)
--------N-21E3--SFCE-------------------------
INT 21 - Novell NetWare - FILE SERVICES - PURGE ALL ERASED FILES
AH = E3h subfn CEh
DS:SI -> request buffer (see #1188)
ES:DI -> reply buffer (see #1190)
Return: AL = status (00h,C6h) (see #1181)
Desc: all files marked for deletion on the file server are purged, regardless
of which workstation actually erased them
Notes: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX
the calling workstation must have console operator privileges
SeeAlso: AH=13h,AH=E2h/SF=10h,AH=E3h/SF=C8h,AX=F244h
Format of NetWare request buffer:
Offset Size Description (Table 1188)
00h WORD 0001h (length of following data)
02h BYTE CEh (subfunction "Purge All Erased Files")
--------N-21E3--SFCF-------------------------
INT 21 - Novell NetWare - FILE SERVER - DISABLE TRANSACTION TRACKING
AH = E3h subfn CFh
DS:SI -> request buffer (see #1189)
ES:DI -> reply buffer (see #1190)
Return: AL = status (00h,C6h) (see #1181)
Notes: this function is supported by Advanced NetWare 2.1+
the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=D0h
Format of NetWare request buffer:
Offset Size Description (Table 1189)
00h WORD 0001h (length of following data)
02h BYTE CFh (subfunction "Disable Transaction Tracking")
Format of NetWare reply buffer:
Offset Size Description (Table 1190)
00h WORD (call) 0000h (no results returned)
--------N-21E3--SFD0-------------------------
INT 21 - Novell NetWare - FILE SERVER - ENABLE TRANSACTION TRACKING
AH = E3h subfn D0h
DS:SI -> request buffer (see #1191)
ES:DI -> reply buffer (see #1190)
Return: AL = status (00h,C6h) (see #1195)
Desc: restart transaction tracking after being stopped either explicitly by
AH=E3h/SF=CFh or automatically due to a full transaction volume
Notes: this function is supported by Advanced NetWare 2.1+
the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CFh
Format of NetWare request buffer:
Offset Size Description (Table 1191)
00h WORD 0001h (length of following data)
02h BYTE D0h (subfunction "Enable Transaction Tracking")
--------N-21E3--SFD1-------------------------
INT 21 - Novell NetWare - FILE SERVER - SEND CONSOLE BROADCAST
AH = E3h subfn D1h
DS:SI -> request buffer (see #1192)
ES:DI -> reply buffer (see #1194)
Return: AL = status (00h,C6h) (see #1195)
Notes: this function is supported by Advanced NetWare 2.1+
the calling workstation must have console operator privileges
the broadcast message will not be received by workstations which have
disabled broadcasts with AH=E1h/SF=02h
SeeAlso: AH=E1h/SF=02h,AH=E1h/SF=09h,AH=E3h/SF=C8h,AH=E3h/SF=D3h
Format of NetWare request buffer:
Offset Size Description (Table 1192)
00h WORD length of following data (max A2h)
02h BYTE D1h (subfunction "Send Console Broadcast")
03h BYTE number of connections to receive message
00h = all, else specific list below
04h N BYTEs connection list
BYTE length of message (max 3Ch)
N BYTEs message
--------N-21E3--SFD2-------------------------
INT 21 - Novell NetWare - FILE SERVER - CLEAR CONNECTION NUMBER
AH = E3h subfn D2h
DS:SI -> request buffer (see #1193)
ES:DI -> reply buffer (see #1194)
Return: AL = status (00h,C6h) (see #1195)
Desc: close the open files and release all file locks for a connection,
abort transactions if a TTS file server, and detach from the file
server
Notes: this function is supported by Advanced NetWare 2.1+
the caller must have SUPERVISOR privileges
SeeAlso: AH=E3h/SF=C9h,AH=E3h/SF=D1h
Format of NetWare request buffer:
Offset Size Description (Table 1193)
00h WORD 0002h (length of following data)
02h BYTE D2h (subfunction "Clear Connection Number")
03h BYTE connection number
Format of NetWare reply buffer:
Offset Size Description (Table 1194)
00h WORD (call) 0000h (no results returned)
--------N-21E3--SFD3-------------------------
INT 21 - Novell NetWare - FILE SERVER - DOWN FILE SERVER
AH = E3h subfn D3h
DS:SI -> request buffer (see #1196)
ES:DI -> reply buffer (see #1194)
Return: AL = status (00h,C6h,FFh) (see #1195)
Desc: take down the file server
Notes: this function is supported by Advanced NetWare 2.1+
the calling workstation must have SUPERVISOR privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CBh,AH=E3h/SF=CFh,AH=E3h/SF=D1h
(Table 1195)
Values for NetWare function status:
00h successful
C6h no console rights
FFh files open
SeeAlso: #1181,#1223
Format of NetWare request buffer:
Offset Size Description (Table 1196)
00h WORD 0002h (length of following data)
02h BYTE D3h (subfunction "Down File Server")
03h BYTE flag: force down even if files open if nonzero
--------N-21E3--SFD4-------------------------
INT 21 - Novell NetWare - FILE SERVER - GET FILE SYSTEM STATISTICS
AH = E3h subfn D4h
DS:SI -> request buffer (see #1197)
ES:DI -> reply buffer (see #1198)
Return: AL = status (00h,C6h) (see #1195)
Notes: this function is supported by Advanced NetWare 2.1+
the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=0Eh,AH=E3h/SF=C8h,AH=E3h/SF=D9h,AH=E3h/SF=E7h,AH=E3h/SF=E8h
Format of NetWare request buffer:
Offset Size Description (Table 1197)
00h WORD 0001h (length of following data)
02h BYTE D4h (subfunction "Get File System Statistics")
Format of NetWare reply buffer:
Offset Size Description (Table 1198)
00h WORD (call) 0028h (size of following results buffer)
02h DWORD clock ticks since system started
06h WORD maximum open files set by configuration
08h WORD maximum files open concurrently
0Ah WORD current number of open files
0Ch DWORD total files opened
10h DWORD total file read requests
14h DWORD total file write requests
18h WORD current changed FATs
1Ah WORD total changed FATs
1Ch WORD number of FAT write errors
1Eh WORD number of fatal FAT write errors
20h WORD number of FAT scan errors
22h WORD maximum concurrently-indexed files
24h WORD current number of indexed files
26h WORD number of attached indexed files
28h WORD number of indexed files available
Note: all fields except the first are big-endian
--------N-21E3--SFD5-------------------------
INT 21 - Novell NetWare - FILE SERVER - GET TRANSACTION TRACKING STATISTICS
AH = E3h subfn D5h
DS:SI -> request buffer (see #1199)
ES:DI -> reply buffer (see #1200)
Return: AL = status (00h,C6h) (see #1195)
Notes: this function is supported by Advanced NetWare 2.1+
the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CFh,AH=E3h/SF=D0h,AH=E3h/SF=E8h
Format of NetWare request buffer:
Offset Size Description (Table 1199)
00h WORD 0001h (length of following data)
02h BYTE D5h (subfunction "TTS Get Statistics")
Format of NetWare reply buffer:
Offset Size Description (Table 1200)
00h WORD (call) length of following results buffer (max 1BCh)
02h DWORD (big-endian) clock ticks since system started
06h BYTE transaction tracking supported if nonzero
(all following fields are invalid if zero)
07h BYTE transaction tracking enabled
08h WORD (big-endian) transaction volume number
0Ah WORD (big-endian) maximum simultaneous transactions configured
0Ch WORD (big-endian) maximum simultaneous transactions since startup
0Eh WORD (big-endian) current transactions in progress
10h DWORD (big-endian) total transactions performed
14h DWORD (big-endian) total write transactions
18h DWORD (big-endian) total transactions backed out
1Ch WORD (big-endian) number of unfilled backout requests
1Eh WORD (big-endian) disk blocks used for transaction tracking
20h DWORD (big-endian) blocks allocated for tracked-file FATs
24h DWORD (big-endian) number of file size changes during a transaction
28h DWORD (big-endian) number of file truncations during a transaction
2Ch BYTE number of records following
2Dh Active Transaction Records [array]
Offset Size Description
00h BYTE logical connection number
01h BYTE task number
--------N-21E3--SFD6-------------------------
INT 21 - Novell NetWare - FILE SERVER - GET DISK CACHE STATISTICS
AH = E3h subfn D6h
DS:SI -> request buffer (see #1201)
ES:DI -> reply buffer (see #1202)
Return: AL = status (00h,C6h) (see #1195)
Notes: this function is supported by Advanced NetWare 2.1+
the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=D5h,AH=E3h/SF=D8h,AH=E3h/SF=D9h,AH=E3h/SF=E6h
Format of NetWare request buffer:
Offset Size Description (Table 1201)
00h WORD 0001h (length of following data)
02h BYTE D6h (subfunction "Get Disk Cache Statistics")
Format of NetWare reply buffer:
Offset Size Description (Table 1202)
00h WORD (call) 004Eh (length of following results buffer)
02h DWORD clock ticks since system started
06h WORD number of cache buffers
08h WORD size of cache buffer in bytes
0Ah WORD number of dirty cache buffers
0Ch DWORD number of cache read requests
10h DWORD number of cache write requests
14h DWORD number of cache hits
18h DWORD number of cache misses
1Ch DWORD number of physical read requests
20h DWORD number of physical write requests
24h WORD number of physical read errors
26h WORD number of physical write errors
28h DWORD cache get requests
2Ch DWORD cache full write requests
30h DWORD cache partial write requests
34h DWORD background dirty writes
38h DWORD background aged writes
3Ch DWORD total cache writes
40h DWORD number of cache allocations
44h WORD thrashing count
46h WORD number of times LRU block was dirty
48h WORD number of reads on cache blocks not yet filled by writes
4Ah WORD number of times a fragmented write occurred
4Ch WORD number of cache hits on unavailable block
4Eh WORD number of times a cache block was scrapped
Note: all fields except the first are big-endian
--------N-21E3--SFD7-------------------------
INT 21 - Novell NetWare - FILE SERVER - GET DRIVE MAPPING TABLE
AH = E3h subfn D7h
DS:SI -> request buffer (see #1203)
ES:DI -> reply buffer (see #1204)
Return: AL = status (00h,C6h) (see #1195)
Notes: this function is supported by Advanced NetWare 2.1+
the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=D6h,AH=E3h/SF=D9h,AH=E3h/SF=E6h,AH=E3h/SF=E9h
Format of NetWare request buffer:
Offset Size Description (Table 1203)
00h WORD 0001h (length of following data)
02h BYTE D7h (subfunction "Get Drive Mapping Table")
Format of NetWare reply buffer:
Offset Size Description (Table 1204)
00h WORD (call) 00ECh (length of following results buffer)
02h DWORD (big-endian) clock tick elapsed since system started
06h BYTE fault tolerance (SFT) level
07h BYTE number of logical drives attached to server
08h BYTE number of physical drives attached to server
09h 5 BYTEs disk channel types (00h none, 01h XT, 02h AT, 03h SCSI,
04h disk coprocessor drive, 32h-FFh value-added drive types)
0Eh WORD (big-endian) number of outstanding controller commands
10h 32 BYTEs drive mapping table (FFh = no such drive)
30h 32 BYTEs drive mirror table (secondary physical drive, FFh = none)
50h 32 BYTEs dead mirror table (last drive mapped to, FFh if never mirrored)
70h BYTE physical drive being remirrored (FFh = none)
71h BYTE reserved
72h DWORD (big-endian) remirrored block
76h 60 BYTEs SFT error table (internal error counters)
--------N-21E3--SFD8-------------------------
INT 21 - Novell NetWare - FILE SERVER - GET PHYSICAL DISK STATISTICS
AH = E3h subfn D8h
DS:SI -> request buffer (see #1205)
ES:DI -> reply buffer (see #1206)
Return: AL = status (00h,C6h) (see #1195)
Notes: this function is supported by Advanced NetWare 2.1+
the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=D9h,AH=E3h/SF=E9h
Format of NetWare request buffer:
Offset Size Description (Table 1205)
00h WORD 0002h (length of following data)
02h BYTE D8h (subfunction "Get Physical Disk Statistics")
03h BYTE physical disk number
Format of NetWare reply buffer:
Offset Size Description (Table 1206)
00h WORD (call) 005Dh (size of following results record)
02h DWORD (big-endian) clock ticks since system started
06h BYTE physical disk channel
07h BYTE flag: drive removable if nonzero
08h BYTE physical drive type
09h BYTE drive number within controller
0Ah BYTE controller number
0Bh BYTE controller type
0Ch DWORD (big-endian) size of drive in 4K disk blocks
10h WORD (big-endian) number of cylinders on drive
12h BYTE number of heads
13h BYTE number of sectors per track
14h 64 BYTEs ASCIZ drive make and model
54h WORD (big-endian) number of I/O errors
56h DWORD (big-endian) start of Hot Fix table
5Ah WORD (big-endian) size of Hot Fix table
5Ch WORD (big-endian) number of Hot Fix blocks available
5Eh BYTE flag: Hot Fix disabled if nonzero
--------N-21E3--SFD9-------------------------
INT 21 - Novell NetWare - FILE SERVER - GET DISK CHANNEL STATISTICS
AH = E3h subfn D9h
DS:SI -> request buffer (see #1207)
ES:DI -> reply buffer (see #1208)
Return: AL = status (00h,C6h) (see #1195)
Notes: this function is supported by Advanced NetWare 2.1+
the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=D8h,AH=E3h/SF=E6h,AH=E3h/SF=E9h
Format of NetWare request buffer:
Offset Size Description (Table 1207)
00h WORD 0002h (length of following data)
02h BYTE D9h (subfunction "Get Disk Channel Statistics")
03h BYTE channel number
Format of NetWare reply buffer:
Offset Size Description (Table 1208)
00h WORD (call) 00A8h (size of following results record)
02h DWORD (big-endian) clock ticks since system started
06h WORD (big-endian) channel run state (see #1209)
08h WORD (big-endian) channel synchronization state (see #1210)
0Ah BYTE driver type
0Bh BYTE major version of driver
0Ch BYTE minor version of driver
0Dh 65 BYTEs ASCIZ driver description
4Eh WORD (big-endian) first I/O address used
50h WORD (big-endian) length of first I/O address
52h WORD (big-endian) second I/O address used
54h WORD (big-endian) length of second I/O address
56h 3 BYTEs first shared memory address
59h 2 BYTEs length of first shared memory address
5Bh 3 BYTEs second shared memory address
5Eh 2 BYTEs length of second shared memory address
60h BYTE first interrupt number in-use flag
61h BYTE first interrupt number used
62h BYTE second interrupt number in-use flag
63h BYTE second interrupt number used
64h BYTE first DMA channel in-use flag
65h BYTE first DMA channel used
66h BYTE second DMA channel in-use flag
67h BYTE second DMA channel used
68h BYTE flags
69h BYTE reserved
6Ah 80 BYTEs ASCIZ configuration description
(Table 1209)
Values for channel run state:
0000h running
0001h being stopped
0002h stopped
0003h nonfunctional
(Table 1210)
Values for channel synchronization state:
0000h not in use
0002h used by NetWare, no other requests
0004h used by NetWare, other requests
0006h in use, not needed by NetWare
0008h in use, needed by NetWare
000Ah channel released, NetWare should use it
--------N-21E3--SFDA-------------------------
INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S TASK INFORMATION
AH = E3h subfn DAh
DS:SI -> request buffer (see #1211)
ES:DI -> reply buffer (see #1212)
Return: AL = status (00h,C6h) (see #1223)
Notes: this function is supported by Advanced NetWare 2.1+
the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DBh,AH=E3h/SF=DFh,AH=E3h/SF=E1h,AH=E3h/SF=E5h
Format of NetWare request buffer:
Offset Size Description (Table 1211)
00h WORD 0003h (length of following data)
02h BYTE DAh (subfunction "Get Connection's Task Information")
03h WORD (big-endian) logical connection number
Format of NetWare reply buffer:
Offset Size Description (Table 1212)
00h WORD (call) size of following results record (max 1FEh)
02h BYTE lock status of connection (see #1213)
03h var Lock Status Information (see #1214)
N BYTE number of records following
N+1 Active Task Information Records [array]
Offset Size Description
00h BYTE task number (01h-FFh)
01h BYTE task state
01h in TTS explicit transaction
02h in TTS implicit transaction
04h shared fileset lock active
(Table 1213)
Values for lock status of connection:
00h no locks
01h waiting on physical record lock
02h waiting on file lock
03h waiting on logical record lock
04h waiting on semaphore
Format of Lock Status Information:
Offset Size Description (Table 1214)
---lock status 00h---
no fields
---lock status 01h---
00h BYTE number of waiting task
01h DWORD start address
05h DWORD end address
09h BYTE volume number
0Ah WORD directory entry number
0Ch 14 BYTEs ASCIZ filename
---lock status 02h---
00h BYTE number of waiting task
01h BYTE volume number
02h WORD directory entry number
04h 14 BYTEs ASCIZ filename
---lock status 03h---
00h BYTE number of waiting task
01h BYTE length of record name
02h N BYTEs ASCIZ record name
---lock status 04h---
00h BYTE number of waiting task
01h BYTE length of semaphore's name
02h N BYTEs ASCIZ semaphore name
--------N-21E3--SFDB-------------------------
INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S OPEN FILES
AH = E3h subfn DBh
DS:SI -> request buffer (see #1215)
ES:DI -> reply buffer (see #1216)
Return: AL = status (00h,C6h) (see #1223)
Notes: this function is supported by Advanced NetWare 2.1+
the calling workstation must have console operator privileges
SeeAlso: AH=E2h/SF=1Ah,AH=E3h/SF=C8h,AH=E3h/SF=DAh,AH=E3h/SF=DCh,AH=E3h/SF=DFh
SeeAlso: AH=E3h/SF=E1h
Format of NetWare request buffer:
Offset Size Description (Table 1215)
00h WORD 0005h (length of following data)
02h BYTE DBh (subfunction "Get Connection's Open Files")
03h WORD (big-endian) logical connection number
05h WORD (big-endian) last record seen (0000h on first call)
Format of NetWare reply buffer:
Offset Size Description (Table 1216)
00h WORD (call) size of following results record (max 1FEh)
02h WORD next request record (place in "last record" field on next call)
0000h if no more records
04h BYTE number of records following
05h var array of File Information Records (see #1217)
Format of NetWare File Information Record:
Offset Size Description (Table 1217)
00h BYTE task number
01h BYTE lock flags (see #1218)
02h BYTE access flags (see #1219)
03h BYTE lock type
00h no lock
FEh file lock
FFh locked by Begin Share File Set
04h BYTE volume number (00h-1Fh)
05h WORD (big-endian) directory entry
07h 14 BYTEs ASCIZ filename
Bitfields for lock flags:
Bit(s) Description (Table 1218)
0 file is locked
1 file opened Shareable
2 logged
3 file opened Normal
6 TTS holding lock
7 Transaction Flag set on file
Bitfields for access flags:
Bit(s) Description (Table 1219)
0 file open for reading by calling station
1 file open for writing by calling station
2 deny reads by other stations
3 deny writes by other stations
4 file detached
5 TTS Holding Detach
6 TTS Holding Open
--------N-21E3--SFDC-------------------------
INT 21 - Novell NetWare - FILE SERVER - GET CONNECTIONS USING A FILE
AH = E3h subfn DCh
DS:SI -> request buffer (see #1220)
ES:DI -> reply buffer (see #1221)
Return: AL = status (00h,C6h) (see #1223)
Notes: this function is supported by Advanced NetWare 2.1+
the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DAh,AH=E3h/SF=DBh,AH=E3h/SF=DFh,AH=E3h/SF=E1h
Format of NetWare request buffer:
Offset Size Description (Table 1220)
00h WORD length of following data (max 104h)
02h BYTE DCh (subfunction "Get Connections Using a File")
03h WORD (big-endian) last record (0000h on first call)
05h BYTE directory handle
06h BYTE length of file path
07h N BYTEs ASCIZ file path
Format of NetWare reply buffer:
Offset Size Description (Table 1221)
00h WORD (call) size of following results record (max 1FEh)
02h WORD (big-endian) count of tasks which have opened or logged file
04h WORD (big-endian) count of tasks which have opened file
06h WORD (big-endian) count of opens for reading
08h WORD (big-endian) count of opens for writing
0Ah WORD (big-endian) deny read count
0Ch WORD (big-endian) deny write count
0Eh WORD next request record (place in "last record" field on next call)
0000h if no more records
10h BYTE locked flag
00h not locked exclusively
else locked exclusively
11h BYTE number of records following
12h var array of File Usage Information Records (see #1222)
Format of NetWare File Usage Information Record:
Offset Size Description (Table 1222)
00h WORD (big-endian) logical connection number
02h BYTE task number
03h BYTE lock flags (see #1218)
04h BYTE access flags (see #1219)
05h BYTE lock type
00h no lock
FEh file lock
FFh locked by Begin Share File Set
--------N-21E3--SFDD-------------------------
INT 21 - Novell NetWare - FILE SERVER - GET PHYSICAL RECORD LOCKS BY CONN&FILE
AH = E3h subfn DDh
DS:SI -> request buffer (see #1224)
ES:DI -> reply buffer (see #1225)
Return: AL = status (00h,C6h,FFh) (see #1223)
Notes: this function is supported by Advanced NetWare 2.1+
the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DEh,AH=E3h/SF=DFh
(Table 1223)
Values for NetWare function status:
00h successful
C6h no console rights
FFh file not open
SeeAlso: #1195,#1245
Format of NetWare request buffer:
Offset Size Description (Table 1224)
00h WORD 0016h (length of following data)
02h BYTE DDh (subfunction "Get Physical Record Locks by Connection and
File")
03h WORD (big-endian) logical connection number
05h WORD (big-endian) last record seen (0000h on first call)
07h BYTE volume number (00h-1Fh)
08h WORD (big-endian) directory handle
0Ah 14 BYTEs ASCIZ filename
Format of NetWare reply buffer:
Offset Size Description (Table 1225)
00h WORD (call) size of following results record (max 1FEh)
02h WORD next request record (place in "last record" on next call)
0000h if no more records
04h BYTE number of physical record locks
05h BYTE number of records following
06h var array of Physical Record Lock Info records (see #1226)
Format of NetWare Physical Record Lock Info:
Offset Size Description (Table 1226)
00h BYTE task number
01h BYTE lock status (see #1227)
02h DWORD (big-endian) starting offset of record in file
06h DWORD (big-endian) ending offset of record in file
Bitfields for lock status:
Bit(s) Description (Table 1227)
0 exclusive lock
1 shareable lock
2 logged
6 lock held by TTS
--------N-21E3--SFDE-------------------------
INT 21 - Novell NetWare - FILE SERVER - GET PHYSICAL RECORD LOCKS BY FILE
AH = E3h subfn DEh
DS:SI -> request buffer (see #1228)
ES:DI -> reply buffer (see #1229)
Return: AL = status (00h,C6h,FFh) (see #1223)
Notes: this function is supported by Advanced NetWare 2.1+
the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DDh,AH=E3h/SF=DFh
Format of NetWare request buffer:
Offset Size Description (Table 1228)
00h WORD length of following data (max 104h)
02h BYTE DEh (subfunction "Get Physical Record Locks by File")
03h WORD (big-endian) last record seen (0000h on first call)
05h BYTE directory handle
06h BYTE length of filename
07h N BYTEs ASCIZ filename
Format of NetWare reply buffer:
Offset Size Description (Table 1229)
00h WORD (call) size of following results record (max 1FEh)
02h WORD next request record (place in "last record" on next call)
0000h if no more records
04h BYTE number of physical record locks
05h BYTE number of records following
06h var array of Physical Record Lock Info records (see #1230)
Format of NetWare Physical Record Lock Info:
Offset Size Description (Table 1230)
00h WORD (big-endian) number of tasks logging record
02h WORD (big-endian) number of tasks with shareable lock
04h DWORD (big-endian) starting offset of record in file
08h DWORD (big-endian) ending offset of record in file
0Ch WORD (big-endian) logical connection number
0Eh BYTE task number
0Fh BYTE lock type
00h none
FEh file lock
FFh Begin Share File Set lock
--------N-21E3--SFDF-------------------------
INT 21 - Novell NetWare - FILE SERVER - GET LOGICAL RECORDS BY CONNECTION
AH = E3h subfn DFh
DS:SI -> request buffer (see #1231)
ES:DI -> reply buffer (see #1232)
Return: AL = status (00h,C6h) (see #1223)
Notes: this function is supported by Advanced NetWare 2.1+
the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DDh,AH=E3h/SF=E0h,AH=E3h/SF=E2h
Format of NetWare request buffer:
Offset Size Description (Table 1231)
00h WORD 0005h (length of following data)
02h BYTE DFh (subfunction "Get Logical Records By Connection")
03h WORD (big-endian) logical connection number
05h WORD (big-endian) last record seen (0000h on first call)
Format of NetWare reply buffer:
Offset Size Description (Table 1232)
00h WORD (call) size of following results record (max 1FEh)
02h WORD next request record (place in "last record" field on next call)
0000h if no more locked records
09h BYTE number of records following
0Ah var array of Logical Lock Information Records (see #1233)
Format of NetWare Logical Lock Information Record:
Offset Size Description (Table 1233)
00h BYTE task number
01h BYTE lock status (see #1227)
02h BYTE length of logical lock's name
03h N BYTEs logical lock's name
--------N-21E3--SFE0-------------------------
INT 21 - Novell NetWare - FILE SERVER - GET LOGICAL RECORD INFORMATION
AH = E3h subfn E0h
DS:SI -> request buffer (see #1234)
ES:DI -> reply buffer (see #1235)
Return: AL = status (00h,C6h) (see #1223)
Notes: this function is supported by Advanced NetWare 2.1+
the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DDh,AH=E3h/SF=DFh,AH=E3h/SF=E2h
Format of NetWare request buffer:
Offset Size Description (Table 1234)
00h WORD length of following data (max 67h)
02h BYTE E0h (subfunction "Get Logical Record Information")
03h WORD (big-endian) last record seen (0000h on first call)
05h BYTE length of logical record's name
06h N BYTEs logical record's name
Format of NetWare reply buffer:
Offset Size Description (Table 1235)
00h WORD (call) size of following results record (max 200h)
02h WORD (big-endian) number of logical connections logging the record
04h WORD (big-endian) number of logical connections with shareable lock
06h WORD (big-endian) next request record (place in "last record" field
on next call)
08h BYTE locked exclusively if nonzero
09h BYTE number of records following
0Ah var array of Task Information Records (see #1236)
Format of NetWare Task Information Record:
Offset Size Description (Table 1236)
00h WORD (big-endian) logical connection number
02h BYTE task number
03h BYTE lock status (see #1227)
--------N-21E3--SFE1-------------------------
INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S SEMAPHORES
AH = E3h subfn E1h
DS:SI -> request buffer (see #1237)
ES:DI -> reply buffer (see #1238)
Return: AL = status (00h,C6h) (see #1223)
Notes: this function is supported by Advanced NetWare 2.1+
the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DBh,AH=E3h/SF=DFh,AH=E3h/SF=E2h
Format of NetWare request buffer:
Offset Size Description (Table 1237)
00h WORD 0005h (length of following data)
02h BYTE E1h (subfunction "Get Connection's Semaphores")
03h WORD (big-endian) logical connection number
05h WORD (big-endian) last record seen (0000h on first call)
Format of NetWare reply buffer:
Offset Size Description (Table 1238)
00h WORD (call) size of following results record (max 1FEh)
02h WORD next request record (place in "last record" field on next call)
04h BYTE number of records following
05h var array of Semaphore Information Records (see #1239)
Format of NetWare Semaphore Information Record:
Offset Size Description (Table 1239)
00h WORD (big-endian) open count
02h BYTE semaphore value (-128 to 127)
03h BYTE task number
04h BYTE lock type
05h BYTE length of semaphore's name
06h N BYTEs semaphore's name
14 BYTEs filename
--------N-21E3--SFE2-------------------------
INT 21 - Novell NetWare - FILE SERVER - GET SEMAPHORE INFORMATION
AH = E3h subfn E2h
DS:SI -> request buffer (see #1240)
ES:DI -> reply buffer (see #1241)
Return: AL = status (00h,C6h) (see #1245)
Notes: this function is supported by Advanced NetWare 2.1+
the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=E1h
Format of NetWare request buffer:
Offset Size Description (Table 1240)
00h WORD length of following data (max 83h)
02h BYTE E2h (subfunction "Get LAN Driver's Configuration Information")
03h WORD (big-endian) last record seen (0000h on first call)
05h BYTE length of semaphore's name (01h-7Fh)
06h N BYTEs semaphore's name
Format of NetWare reply buffer:
Offset Size Description (Table 1241)
00h WORD (call) size of following results buffer (max 1FEh)
02h WORD next request record (place in "last record" on next call)
0000h if no more
04h WORD (big-endian) number of logical connections opening semaphore
06h BYTE semaphore value (-127 to 128)
07h BYTE number of records following
08h var array of Semaphore Information records (see #1242)
Format of NetWare Semaphore Information:
Offset Size Description (Table 1242)
00h WORD (big-endian) logical connection number
02h BYTE task number
--------N-21E3--SFE3-------------------------
INT 21 - Novell NetWare - FILE SERVER - GET LAN DRIVER'S CONFIGURATION INFO
AH = E3h subfn E3h
DS:SI -> request buffer (see #1243)
ES:DI -> reply buffer (see #1244)
Return: AL = status (00h,C6h) (see #1245)
Notes: this function is supported by Advanced NetWare 2.1+
the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=E7h,AH=E3h/SF=E8h
Format of NetWare request buffer:
Offset Size Description (Table 1243)
00h WORD 0002h (length of following data)
02h BYTE E3h (subfunction "Get LAN Driver's Configuration Information")
03h BYTE LAN board (00h-03h)
Format of NetWare reply buffer:
Offset Size Description (Table 1244)
00h WORD (call) 00ACh (size of following results buffer)
02h 4 BYTEs network number
06h 6 BYTEs node number
0Ch BYTE LAN driver installed (00h no--remaining fields invalid)
0Dh BYTE option number selected at configuration time
0Eh 160 BYTEs configuration text
ASCIZ hardware type
ASCIZ hardware settings
--------N-21E3--SFE5-------------------------
INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S USAGE STATISTICS
AH = E3h subfn E5h
DS:SI -> request buffer (see #1246)
ES:DI -> reply buffer (see #1247)
Return: AL = status (00h,C6h) (see #1245)
Notes: this function is supported by Advanced NetWare 2.1+
one must have console operator privileges to get statistics for logical
connections other than one's own
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DAh,AH=E3h/SF=DBh,AH=E3h/SF=E1h
(Table 1245)
Values for NetWare function status:
00h successful
C6h no console rights
SeeAlso: #1223,#1265
Format of NetWare request buffer:
Offset Size Description (Table 1246)
00h WORD 0003h (length of following data)
02h BYTE E5h (subfunction "Get Connection's Usage Statistics")
03h WORD (big-endian) logical connection number
Format of NetWare reply buffer:
Offset Size Description (Table 1247)
00h WORD (call) 0014h (size of following results record)
02h DWORD (big-endian) clock ticks since server started
06h 6 BYTEs bytes read
0Ch 6 BYTEs bytes written
12h DWORD (big-endian) total request packets
--------N-21E3--SFE6-------------------------
INT 21 - Novell NetWare - FILE SERVER - GET BINDERY OBJECT DISK SPACE LEFT
AH = E3h subfn E6h
DS:SI -> request buffer (see #1248)
ES:DI -> reply buffer (see #1249)
Return: AL = status (00h,C6h) (see #1245)
Notes: this function is supported by Advanced NetWare 2.1+
one must have console operator privileges to get the free space for
other bindery objects
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=E8h,AH=E3h/SF=E9h
Format of NetWare request buffer:
Offset Size Description (Table 1248)
00h WORD 0005h (length of following data)
02h BYTE E6h (subfunction "Get Bindery Object Disk Space Left")
03h DWORD (big-endian) object ID
Format of NetWare reply buffer:
Offset Size Description (Table 1249)
00h WORD (call) 000Fh (size of following results buffer)
02h DWORD (big-endian) clock ticks elapsed since server started
06h DWORD (big-endian) object ID
0Ah DWORD (big-endian) 4K disk blocks available to user
0Eh BYTE restrictions (00h enforced, FFh not enforced)
--------N-21E3--SFE7-------------------------
INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER LAN I/O STATISTICS
AH = E3h subfn E7h
DS:SI -> request buffer (see #1250)
ES:DI -> reply buffer (see #1251)
Return: AL = status
00h successful
Note: this function is supported by Advanced NetWare 2.1+
SeeAlso: AH=E3h/SF=0Eh,AH=E3h/SF=11h,AH=E3h/SF=D3h,AH=E3h/SF=E8h,AH=E7h
Format of NetWare request buffer:
Offset Size Description (Table 1250)
00h WORD 0001h (length of following data)
02h BYTE E7h (subfunction "Get File Server LAN I/O Statistics")
Format of NetWare reply buffer:
Offset Size Description (Table 1251)
00h WORD (call) 0042h (size of following results buffer)
02h DWORD clock ticks since system started
06h WORD total routing buffers
08h WORD maximum routing buffers used
0Ah WORD current routing buffers used
0Ch DWORD total file service packets
10h WORD number of file service packets buffered
12h WORD number of invalid connection packets
14h WORD packets with bad logical connection numbers
16h WORD number of packets received during processing
18h WORD number of requests reprocessed
1Ah WORD packets with bad sequence numbers
1Ch WORD number of duplicate replies sent
1Eh WORD number of acknowledgements sent
20h WORD number of packets with bad request types
22h WORD requests to attach to ws for which a request is being processed
24h WORD requests to attach from ws which is already attaching
26h WORD number of forged detach requests
28h WORD detach requests with bad connection number
2Ah WORD requests to detach from ws for which requests pending
2Ch WORD number of cancelled replies
2Eh WORD packets discarded due to excessive hop count
30h WORD packets discarded due to unknown net
32h WORD incoming packets discarded for lack of DGroup buffer
34h WORD outgoing packets discarded due to lack of buffer
36h WORD received packets destined for B,C, or D side drivers
38h DWORD number of NetBIOS packets propagated through net
3Ch DWORD total number of non-file-service packets
40h DWORD total number of routed packets
Note: all fields except the first are big-endian
--------N-21E3--SFE8-------------------------
INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER MISC INFORMATION
AH = E3h subfn E8h
DS:SI -> request buffer (see #1252)
ES:DI -> reply buffer (see #1253)
Return: AL = status (00h,C6h) (see #1245)
Note: this function is supported by Advanced NetWare 2.1+
SeeAlso: AH=E3h/SF=0Eh,AH=E3h/SF=11h,AH=E3h/SF=CDh,AH=E3h/SF=E7h
Format of NetWare request buffer:
Offset Size Description (Table 1252)
00h WORD 0001h (length of following data)
02h BYTE E8h (subfunction "Get File Server Misc Information")
Format of NetWare reply buffer:
Offset Size Description (Table 1253)
00h WORD (call) size of following results buffer (max 0048h)
02h DWORD (big-endian) clock ticks since system started
06h BYTE CPU type
00h Motorola 68000
01h Intel 8086, 8088, or V20
02h Intel 80286+
07h BYTE reserved
08h BYTE number of service processes in server
09h BYTE server utilization in percent
0Ah WORD (big-endian) maximum bindery objects set by configuration
0000h = unlimited
0Ch WORD (big-endian) maximum number of bindery objects used
0Eh WORD (big-endian) current number of bindery objects in use
10h WORD (big-endian) total server memory in KB
12h WORD (big-endian) wasted server memory in KB
normally 0000h
14h WORD number of records following (01h-03h)
16h var array of Dynamic Memory Information records (see #1254)
Format of NetWare Dynamic Memory Information:
Offset Size Description (Table 1254)
00h DWORD (big-endian) total dynamic space
04h DWORD (big-endian) maximum dynamic space used
08h DWORD (big-endian) current dynamic space usage
--------N-21E3--SFE9-------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME INFORMATION
AH = E3h subfn E9h
DS:SI -> request buffer (see #1255)
ES:DI -> reply buffer (see #1256)
Return: AL = status
00h successful
Notes: this function is supported by Advanced NetWare 2.1+
SeeAlso: AH=DAh,AH=E2h/SF=15h
Format of NetWare request buffer:
Offset Size Description (Table 1255)
00h WORD 0002h (length of following data)
02h BYTE E9h (subfunction "Get Volume Information")
03h BYTE directory handle
Format of NetWare reply buffer:
Offset Size Description (Table 1256)
00h WORD (call) 0028h (length of following results buffer)
02h DWORD (big-endian) elapsed system time
06h BYTE volume number
07h BYTE logical drive number
08h WORD (big-endian) sectors per block
0Ah WORD (big-endian) starting block
0Ch WORD (big-endian) total blocks on volume
0Eh WORD (big-endian) blocks available on volume
10h WORD (big-endian) total directory slots
12h WORD (big-endian) directory slots available
14h WORD (big-endian) maximum directory entries actually used
16h BYTE flag: volume hashed if nonzero
17h BYTE flag: volume cached if nonzero
18h BYTE flag: volume removable if nonzero
19h BYTE flag: volume mounted if nonzero
1Ah 16 BYTEs NUL-padded volume name
--------N-21E4-------------------------------
INT 21 O - Novell NetWare - SET FILE ATTRIBUTES (FCB)
AH = E4h
CL = file attributes (see #1257)
DX:DX -> FCB (see #0574 at AH=0Fh)
Return: AL = error code
Note: this function was added in NetWare 4.0, but was removed some time prior
to Advanced NetWare 2.15, and is no longer listed in current Novell
documentation
SeeAlso: AX=4301h
Bitfields for NetWare file attributes:
Bit(s) Description (Table 1257)
0 read only
1 hidden
2 system
7 shareable
--------v-21E4-------------------------------
INT 21 - VIRUS - "Anarkia" - INSTALLATION CHECK
AH = E4h
Return: AH = 04h if resident
SeeAlso: AH=E1h"VIRUS",AH=E7h"VIRUS"
--------T-21E400-----------------------------
INT 21 - DoubleDOS - INSTALLATION CHECK/PROGRAM STATUS
AX = E400h
Return: AL = program status
00h if DoubleDOS not present
01h if running in visible DoubleDOS partition
02h if running in the invisible DoubleDOS partition
SeeAlso: AH=E5h"DoubleDOS",AX=F400h
--------E-21E400-----------------------------
INT 21 - OS/286, OS/386 - CHAIN TO REAL-MODE HANDLER
AX = E400h
???
Return: ???
Note: protected mode only???
--------E-21E402-----------------------------
INT 21 - OS/286, OS/386 - SET PROTECTED-MODE TASK GATE
AX = E402h
???
Return: ???
Note: protected mode only???
SeeAlso: AX=E403h
--------E-21E403-----------------------------
INT 21 - OS/286, OS/386 - REMOVE PROTECTED-MODE TASK GATE
AX = E403h
???
Return: ???
Note: protected mode only???
SeeAlso: AX=E402h
--------N-21E5-------------------------------
INT 21 O - Novell NetWare - UPDATE FILE SIZE (FCB)
AH = E5h
DS:DX -> FCB (see #0574 at AH=0Fh)
Return: AL = (unreliable) return code
Notes: this function was added in NetWare 4.0, but was removed some time prior
to Advanced NetWare 2.15, and is no longer listed in current Novell
documentation
on success, NetWare sets AL to zero; on errors it restores AL
--------T-21E5-------------------------------
INT 21 - DoubleDOS - OTHER PROGRAM STATUS
AH = E5h
Return: AL = status
00h no program in other partition
01h program in other partition is running
02h program in other partition is suspended
SeeAlso: AX=E400h"DoubleDOS",AH=F5h"DoubleDOS"
--------E-21E500-----------------------------
INT 21 - OS/286, OS/386 - HEAP MANAGEMENT STRATEGY
AX = E500h
???
Return: ???
SeeAlso: AX=E501h
--------E-21E501-----------------------------
INT 21 - OS/286, OS/386 - FORCE HEAP COMPACTION
AX = E501h
???
Return: ???
SeeAlso: AX=E500h
--------N-21E6-------------------------------
INT 21 O - Novell NetWare - COPY FILE TO FILE (FCB)
AH = E6h
CX:DX = number of bytes to copy
DS:SI -> opened source FCB
ES:DI -> opened destination FCB
Return: AL = error code
CX = ???
DX = ???
Note: this function was added in NetWare 4.0, but was removed some time prior
to Advanced NetWare 2.15, and is no longer listed in current Novell
documentation
--------E-21E6-------------------------------
INT 21 P - OS/286, OS/386 - ISSUE REAL PROCEDURE SIGNAL FROM PROTECTED MODE
AH = E6h
???
Return: ???
SeeAlso: AH=E2h"OS/286"
--------N-21E7-------------------------------
INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER DATE AND TIME
AH = E7h
DS:DX -> date/time buffer (see #1258)
Return: AL = error code
00h successful
FFh unsuccessful
Note: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+,
Alloy NTNX, and Banyan VINES
SeeAlso: AH=2Ah,AH=2Ch,AX=5FC0h,AH=E3h/SF=CAh
Format of NetWare date/time buffer:
Offset Size Description (Table 1258)
00h BYTE year (80-99 = 1980-1999, 0-79 = 2000-2079)
01h BYTE month (1=Jan)
02h BYTE day
03h BYTE hours
04h BYTE minutes
05h BYTE seconds
06h BYTE day of week (0 = Sunday) (Novell and NTNX only)
--------E-21E7-------------------------------
INT 21 - OS/286, OS/386 - CREATE CODE SEGMENT
AH = E7h
???
Return: ???
SeeAlso: AH=E8h"OS/286",AH=E9h"OS/286",AH=EAh"OS/286"
--------v-21E7-------------------------------
INT 21 - VIRUS - "Spyer"/"Kiev" - INSTALLATION CHECK
AH = E7h
Return: AH = 78h if resident
SeeAlso: AH=E4h"VIRUS",AX=EC59h
--------N-21E8-------------------------------
INT 21 O - Novell NetWare, Alloy NTNX - SET FCB RE-OPEN MODE
AH = E8h
DL = mode
00h no automatic re-open
01h auto re-open
Return: AL = error code
Desc: provided backward compatibility with a bug in CP/M and early DOS vers
Note: this function was added in NetWare 4.6, but was removed some time prior
to Advanced NetWare 2.15, and is no longer listed in current Novell
documentation
--------E-21E8-------------------------------
INT 21 - OS/286, OS/386 - SEGMENT CREATION
AH = E8h
AL = type
00h data segment
01h data window/alias
02h real segment
03h real window/alias
CX:DX = size in bytes
SI:BX -> start of desired memory block
Return: AX = selector
06h shareable segment
???
Return: ???
SeeAlso: AH=E7h"OS/286",AH=E9h"OS/286"
--------T-21E8-------------------------------
INT 21 - DoubleDOS - SET/RESET KEYBOARD CONTROL FLAGS
AH = E8h
AL = program for which to set flags (00h this program, 01h other)
DX = keyboard control flags (see #1259)
Return: DX = previous flags
Notes: disabling Ctrl-PrtSc will allow the program to intercept the keystroke;
disabling any of the other keystrokes disables them completely
identical to AH=F8h
SeeAlso: AH=E1h"DoubleDOS",AH=E2h"DoubleDOS",AH=E3h"DoubleDOS"
SeeAlso: AH=F8h"DoubleDOS"
Bitfields for DoubleDOS keyboard control flags:
Bit(s) Description (Table 1259)
0 menu
1 exchange
2 entire keyboard enable/disable
3 Ctrl-C
4 Ctrl-PrtSc
5 Alt/Erase
6 Ctrl-Break
7 Ctrl-NumLock
8 shift-PrtSc
9-13 undefined
14 cancel key (clear keyboard buffer)
15 suspend key
Note: setting a enables the corresponding key or operatin, clearing a
disables it
--------E-21E9-------------------------------
INT 21 P - OS/286, OS/386 - CHANGE SEGMENTS
AH = E9h
AL = function
01h change code segment parameters
02h change data segment parameters
05h adjust segment limit
06h change segment base address
???
Return: ???
SeeAlso: AH=E7h"OS/286",AH=E8h"OS/286",AH=EAh"OS/286",AH=EDh"OS/286"
SeeAlso: INT 31/AX=0007h,INT 31/AX=0008h
--------T-21E9-------------------------------
INT 21 - DoubleDOS - SET TIMESHARING PRIORITY
AH = E9h
AL = new priority (see #1260)
Return: AL = priority setting if AL=05h on entry
Note: identical to AH=F9h
SeeAlso: AH=EAh"DoubleDOS",AH=EBh"DoubleDOS",AH=F9h"DoubleDOS"
(Table 1260)
Values for DoubleDOS timesharing priority:
00h visible program gets 70%, invisible gets 30% (default)
01h visible program gets 50%, invisible gets 50%
02h visible program gets 30%, invisible gets 70%
03h Top program gets 70%, bottom program gets 30%
04h Top program gets 30%, bottom program gets 70%
05h get current priority
--------N-21E900-----------------------------
INT 21 - Novell NetWare - DIRECTORY SERVICES - GET DIRECTORY HANDLE
AX = E900h
DX = drive number to check (0 = A:, ..., 25 = Z:, 26 ... 31)
Return: AL = directory handle
AH = flags (drive not mapped if none set)
bit 0: permanent handle
bit 1: temporary handle
bit 7: mapped to local drive
Note: this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AH=E2h/SF=00h,AH=E2h/SF=01h,AH=E2h/SF=0Ah
--------N-21E905-----------------------------
INT 21 - Novell NetWare shell 3.01 - MAP A FAKE ROOT DIRECTORY
AX = E905h
BL = drive number (0=default, 1=A:, ...)
DS:DX -> ASCIZ path for fake root (may include server name or be empty)
Return: CF set on error
AL = error code (03h,0Fh,11h) (see #0885 at AH=59h)
CF clear if successful
Note: if drive is not currently mapped, a drive mapping will be created
SeeAlso: AX=E906h
--------N-21E906-----------------------------
INT 21 - Novell NetWare shell 3.01 - DELETE FAKE ROOT DIRECTORY
AX = E906h
BL = drive number (0=default, 1=A:, ...)
Note: drive remains mapped
SeeAlso: AX=E905h
--------N-21E907-----------------------------
INT 21 - Novell NetWare shell 3.01 - GET RELATIVE DRIVE DEPTH
AX = E907h
BL = drive number (0=default, 1=A:, ...)
Return: AL = number of directories below the fake root
FFh if no fake root assigned
SeeAlso: AX=E905h
--------N-21E908BL00-------------------------
INT 21 - Novell NetWare shell 3.01 - SET SHOW DOTS
AX = E908h
BL = 00h don't return '.' or '..' during directory scans
= nonzero directory scans will return '.' or '..' entries
Return: BL = previous show-dots setting
--------N-21E909-----------------------------
INT 21 - Novell NetWare - NetWare shell - CONVERT DOS FILE HANDLE TO NETWARE
AX = E909h
BX = DOS file handle
Return: AX = 0000h if successful
BX:CX:DX = NetWare file handle
Notes: this function is partially a reverse of "AttachHandle" (AH=B4h)
many NetWare 3.x functions use a four-byte file handle, which appears
to be the high four bytes of the six-byte NetWare handle
SeeAlso: AH=B4h"NetWare"
--------N-21EA-------------------------------
INT 21 - Novell NetWare, Alloy NTNX - RETURN SHELL VERSION
AH = EAh
AL = return version environment string
00h don't return string
nonzero return string in 40-byte buffer pointed to by ES:DI
Return: buffer filled with three null-terminated entries:
major operating system
version
hardware type
Return: AH = operating system (00h = MS-DOS)
AL = hardware type
00h IBM PC
01h Victor 9000
BH = major shell version
BL = minor shell version
CH = (v3.01+) shell type
00h conventional memory
01h expanded memory
02h extended memory
CL = shell revision number
Note: this function is supported by NetWare 4.6 and Advanced NetWare 1.0+
--------T-21EA-------------------------------
INT 21 - DoubleDOS - TURN OFF TASK SWITCHING
AH = EAh
Return: task switching turned off
SeeAlso: AH=E9h"DoubleDOS",AH=EBh"DoubleDOS",AH=FAh"DoubleDOS"
SeeAlso: INT FA"DoubleDOS"
--------E-21EA-------------------------------
INT 21 - OS/286, OS/386 - ALLOCATE HUGE SEGMENT
AH = EAh
???
Return: ???
Note: protected mode only???
SeeAlso: AH=E7h"OS/286",AH=E8h"OS/286",AH=E9h"OS/286"
--------N-21EB-------------------------------
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOG FILE
AH = EBh
DS:DX -> ASCIZ filename
if function C6h lock mode 01h:
AL = flags
00h log file only
01h lock as well as log file
BP = lock timeout in timer ticks (1/18 second)
0000h = don't wait if file already locked
Return: AL = status (see #1261)
Desc: add the location and size of the specified file to the log table and
optionally lock the file
Note: this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AH=BCh"NetWare",AH=CAh,AH=D0h,AH=ECh"NetWare",AH=EDh"NetWare"
(Table 1261)
Values for NetWare status:
00h successful
96h no dynamic memory for file
FEh timed out
FFh failed
--------T-21EB-------------------------------
INT 21 - DoubleDOS - TURN ON TASK SWITCHING
AH = EBh
Return: task switching turned on
SeeAlso: AH=E9h"DoubleDOS",AH=EAh"DoubleDOS",AH=FBh"DoubleDOS"
SeeAlso: INT FB"DoubleDOS"
--------E-21EB00-----------------------------
INT 21 - OS/386 VMM - GET A PAGE TABLE ENTRY BY LINEAR ADDRESS
AX = EB00h
???
Return: ???
Note: protected mode only???
SeeAlso: AX=EB02h,AX=EB04h,INT 31/AX=0506h
--------E-21EB02-----------------------------
INT 21 - OS/386 VMM - GET A PAGE TABLE ENTRY BY 16-BIT SEGMENT:OFFSET
AX = EB02h
???
Return: ???
Note: protected mode only???
SeeAlso: AX=EB00h,AX=EB04h
--------E-21EB03-----------------------------
INT 21 - OS/386 VMM - FREE MAPPED PAGES
AX = EB03h
???
Return: ???
Note: protected mode only???
SeeAlso: AX=EB05h,INT 31/AX=0801h
--------E-21EB04-----------------------------
INT 21 - OS/386 VMM - GET A PAGE TABLE ENTRY BY 32-BIT SEGMENT:OFFSET
AX = EB04h
???
Return: ???
Note: protected mode only???
SeeAlso: AX=EB00h,AX=EB02h
--------E-21EB05-----------------------------
INT 21 - OS/386 VMM - MAP PAGES
AX = EB05h
???
Return: ???
Note: protected mode only???
SeeAlso: AX=EB03h,INT 31/AX=0800h
--------E-21EB06-----------------------------
INT 21 - OS/386 VMM - LOCK PAGES IN MEMORY
AX = EB06h
???
Return: ???
Note: protected mode only???
SeeAlso: AX=EB07h,INT 31/AX=0600h
--------E-21EB07-----------------------------
INT 21 - OS/386 VMM - UNLOCK MEMORY PAGES
AX = EB07h
???
Return: ???
Note: protected mode only???
SeeAlso: AX=EB06h,INT 31/AX=0601h
--------N-21EC-------------------------------
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE FILE
AH = ECh
DS:DX -> ASCIZ filename
Return: AL = status
00h successful
FFh file not found
Desc: unlock the specified file but retain it in the log table
Note: this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AH=CDh,AH=EBh"NetWare",AH=EDh"NetWare"
--------T-21EC-------------------------------
INT 21 - DoubleDOS - GET VIRTUAL SCREEN ADDRESS
AH = ECh
Return: ES = segment of virtual screen
Desc: determine the address of the virtual screen to which the program
should write instead of the actual video memory, so that the
multitasked programs do not interfere with each other's output
Notes: screen address can change if task-switching is on!!
identical to AH=FCh
SeeAlso: INT 10/AH=FEh,AH=FCh"DoubleDOS",INT FC"DoubleDOS"
--------E-21EC-------------------------------
INT 21 - OS/286, OS/386 - BLOCK TRANSFER
AH = ECh
???
Return: ???
--------v-21EC59-----------------------------
INT 21 - VIRUS - "Terror" - INSTALLATION CHECK
AX = EC59h
Return: BP = EC59h if resident
SeeAlso: AH=E7h"VIRUS",AH=EEh"VIRUS"
--------N-21ED-------------------------------
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR FILE
AH = EDh
DS:DX -> ASCIZ filename
Return: AL = status
00h successful
FFh no files found
Desc: unlock the file 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=CBh"NetWare",AH=CEh,AH=CFh,AH=EBh"NetWare",AH=ECh"NetWare"
--------E-21ED-------------------------------
INT 21 - OS/286, OS/386 - GET SEGMENT OR WINDOW DESCRIPTOR
AH = EDh
???
Return: ???
Note: protected mode only???
SeeAlso: AH=E9h"OS/286"
--------N-21EE-------------------------------
INT 21 - Novell NetWare - CONNECTION SERVICES - GET PHYSICAL STATION ADDRESS
AH = EEh
Return: CX:BX:AX = six-byte physical address
Note: this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
Alloy NTNX
SeeAlso: AH=E3h/SF=13h
--------T-21EE-------------------------------
INT 21 - DoubleDOS - GIVE AWAY TIME TO OTHER TASKS
AH = EEh
AL = number of 55ms time slices to give away
Return: returns after giving away time slices
SeeAlso: AH=FEh"DoubleDOS",INT FE"DoubleDOS"
--------v-21EE-------------------------------
INT 21 - VIRUS - "Jerusalem-G", "Pregnant" - INSTALLATION CHECK
AH = EEh
Return: AX = 0300h if "Jerusalem-G" resident
AL = 05h if "Pregnant" resident
SeeAlso: AH=DDh"VIRUS",AX=EC59h,AH=F0h"VIRUS"
--------N-21EF00-----------------------------
INT 21 - Novell NetWare - WORKSTATION - GET DRIVE HANDLE TABLE
AX = EF00h
Return: ES:SI -> network shell's 32-byte drive handle table
AX = 0000h
Notes: this function is supported by Advanced NetWare 1.0+
each byte in the drive handle table contains the directory handle for
the corresponding drive, or 00h if not mapped to a directory
SeeAlso: AX=EF01h,AX=EF02h,AX=EF03h,AX=EF04h
--------N-21EF01-----------------------------
INT 21 - Novell NetWare - WORKSTATION - GET DRIVE FLAG TABLE
AX = EF01h
Return: ES:SI -> network shell's 32-byte drive flag table (see #1262)
AX = 0000h
Notes: this function is supported by Advanced NetWare 1.0+
each byte in the drive flag table corresponds to a drive
SeeAlso: AX=EF00h,AX=EF02h,AX=EF03h
(Table 1262)
Values in NetWare drive flag table:
00h drive is not mapped
01h permanent network drive
02h temporary network drive
80h mapped to local drive
81h local drive used as permanent network drive
82h local drive used as temporary network drive
--------N-21EF02-----------------------------
INT 21 - Novell NetWare - WORKSTATION - GET DRIVE CONNECTION ID TABLE
AX = EF02h
Return: ES:SI -> network shell's 32-byte drive conection ID table
AX = 0000h
Notes: this function is supported by Advanced NetWare 1.0+
each byte in the connection ID table corresponds to a drive and
contains either the connection ID (1-8) of the server for that drive
or 00h if the drive is not mapped to a file server
SeeAlso: AX=EF01h,AX=EF03h,AX=F002h
--------N-21EF03-----------------------------
INT 21 - Novell NetWare - WORKSTATION - GET CONNECTION ID TABLE
AX = EF03h
Return: ES:SI -> network shell's connection ID table (see #1263)
AX = 0000h
Note: this function is supported by Advanced NetWare 1.0+
SeeAlso: AX=EF00h,AX=EF02h,AX=EF04h,AX=F002h
Format of NetWare connection ID table [one entry of eight-element array]:
Offset Size Description (Table 1263)
00h BYTE in-use flag
E0h AES temporary
F8h IPX in critical section
FAh processing
FBh holding
FCh AES waiting
FDh waiting
FEh receiving
FFh sending
01h BYTE order number assigned to server (1-8)
02h DWORD (big-endian) file server's network address
06h 6 BYTEs (big-endian) file server's node address
0Ch WORD (big-endian) socket number
0Eh WORD (big-endian) base receive timeout in clock ticks
10h 6 BYTEs (big-endian) preferred routing node
16h BYTE packet sequence number
17h BYTE connection number (FFh = no connection)
18h BYTE connection status (00h if active)
19h WORD (big-endian) maximum receive timeout in clock ticks
1Bh 5 BYTEs reserved
--------N-21EF04-----------------------------
INT 21 - Novell NetWare - WORKSTATION - GET FILE SERVER NAME TABLE
AX = EF04h
Return: ES:SI -> network shell's file server name table (see #1264)
AX = 0000h
Note: this function is supported by Advanced NetWare 1.0+
SeeAlso: AX=EF03h
Format of file server name table:
Offset Size Description (Table 1264)
00h 48 BYTEs ASCIZ server name for first entry in connection ID table
30h 48 BYTEs ASCIZ server name for second entry in connection ID table
...
150h 48 BYTEs ASCIZ server name for eighth entry in connection ID table
--------T-21F0-------------------------------
INT 21 - DoubleDOS - MENU CONTROL
AH = F0h
AL = subfunction
01h exchange tasks
73h resume invisible job if suspended
74h kill other job
75h suspend invisible job
Note: identical to AH=E0h
SeeAlso: AH=E0h"DoubleDOS"
--------v-21F0-------------------------------
INT 21 - VIRUS - "Frere Jacques" - INSTALLATION CHECK
AH = F0h
Return: AX = 0300h if resident
SeeAlso: AH=EEh"VIRUS",AH=F1h"VIRUS"
--------N-21F000-----------------------------
INT 21 - Novell NetWare - WORKSTATION - SET PREFERRED CONNECTION ID
AX = F000h
DL = connection ID of prefered file server (1-8) or 00h for none
Notes: this function is supported by Advanced NetWare 1.0+
the preferred connection ID is set to 00h by the shell on EOJ
SeeAlso: AH=D6h,AX=EF03h,AX=F001h,AX=F002h,AX=F005h
--------N-21F001-----------------------------
INT 21 - Novell NetWare - WORKSTATION - GET PREFERRED CONNECTION ID
AX = F001h
Return: AL = connection ID of preferred file server (1-8), 00h if not set
Notes: this function is supported by Advanced NetWare 1.0+
the preferred connection ID is set to 00h by the shell on EOJ
SeeAlso: AH=D6h,AX=EF03h,AX=F000h,AX=F002h,AX=F005h
--------N-21F002-----------------------------
INT 21 - Novell NetWare - WORKSTATION - GET DEFAULT CONNECTION ID
AX = F002h
Return: AL = connection ID of current default file server (1-8) (see AX=EF03h)
Note: this function is supported by Advanced NetWare 1.0+
SeeAlso: AX=EF03h,AX=F000h,AX=F004h
--------N-21F003-----------------------------
INT 21 - Novell NetWare - PRINT SERVICES - GET LPT CAPTURE STATUS
AX = F003h
Return: AH = status
00h not active
FFh active
AL = connection ID (01h-08h)
Note: this function is supported by Advanced NetWare 1.0+
SeeAlso: AX=B800h,AX=B804h,AH=DFh/DL=00h,AH=DFh/DL=04h
--------N-21F004-----------------------------
INT 21 - Novell NetWare - WORKSTATION - SET PRIMARY CONNECTION ID
AX = F004h
DL = connection ID of primary file server (1-8) or 00h for none
Note: this function is supported by Advanced NetWare 2.0+
SeeAlso: AH=D6h,AX=EF03h,AX=F000h,AX=F002h,AX=F005h
--------N-21F005-----------------------------
INT 21 - Novell NetWare - WORKSTATION - GET PRIMARY CONNECTION ID
AX = F005h
Return: AL = connection ID of primary file server (1-8), 00h if not set
Notes: this function is supported by Advanced NetWare 2.0+
by default, the primary file server is the one from which the login
script executed; it is set to 00h if the workstation is not logged in
and when it detaches from its primary file server
SeeAlso: AH=D6h,AX=EF03h,AX=F000h,AX=F002h,AX=F004h
--------N-21F1-------------------------------
INT 21 - Novell NetWare - CONNECTION SERVICES - FILE SERVER CONNECTION
AH = F1h
AL = subfunction
00h attach to file server
DL = preferred file server (01h-08h)
01h detach from file server
DL = connection ID
02h logout from file server
DL = connection ID
Return: AL = status (see #1265)
Note: these functions are supported by Advanced NetWare 1.0+
SeeAlso: AH=D7h"NetWare",AH=E3h/SF=14h
(Table 1265)
Values for NetWare function status:
00h successful
F8h already attached to server
F9h connection table full
FAh no more server slots
FCh unknown file server
FEh server bindery locked
FFh no response from server, or connection does not exist
SeeAlso: #1245,#1293
--------T-21F1-------------------------------
INT 21 - DoubleDOS - CLEAR KEYBOARD BUFFER FOR CURRENT JOB
AH = F1h
SeeAlso: AH=E1h"DoubleDOS",AH=F2h"DoubleDOS",AH=F3h"DoubleDOS"
SeeAlso: AH=F8h"DoubleDOS"
--------v-21F1-------------------------------
INT 21 - VIRUS - "F1-337" - ???
AH = F1h
???
Return: ???
SeeAlso: AH=F0h"VIRUS",AX=F1E9h
--------v-21F1E9-----------------------------
INT 21 - VIRUS - "Tremor" - INSTALLATION CHECK
AX = F1E9h
Return: AX = installation state
CADEh installed, and calling program is infected
F100h not installed (normal DOS return value)
else installed, but calling program is not infected
SeeAlso: AH=F1h"VIRUS",AX=F2AAh
--------N-21F2-------------------------------
INT 21 u - Novell NetWare v3.01+ shell interface - MULTIPLEXOR
AH = F2h
AL = function (see #1266)
(subfunction stored at DS:SI for AL=56h,57h,
DS:SI+2 for AL=15h-17h,23h, DS:SI+11h for AL=68h)
CX = length of request buffer in bytes
DX = length of reply buffer in bytes
DS:SI -> request buffer (contents vary by function)
ES:DI -> reply buffer (contents vary by function)
Return: AL = status
reply buffer filled as appropriate for function
Note: this is a multiplexor providing a "raw" interface to the underlying
NetWare Core Protocol. Many functions which were accessed via a
separate AH function in older versions can also be accessed here,
but some NetWare 3.x calls appear to be available only here.
SeeAlso: AX=F244h,AX=F268h/SF=3Dh
(Table 1266)
Values for NetWare Core Protocol functions:
Fnc/Subfn Description
01h File Set Lock
02h File Release Lock
03h Log File (see AH=EBh"NetWare")
04h Lock File Set (see AH=CBh"NetWare")
05h Release File (see AH=CCh,AH=ECh"NetWare")
06h Release File Set (see AH=CDh"NetWare")
07h Clear File (see AH=CEh,AH=EDh"NetWare")
08h Clear File Set (see AH=CFh"NetWare")
09h Log Logical Record (see AH=D0h"NetWare")
0Ah Lock Logical Record Set (see AH=D1h"NetWare")
0Bh Clear Logical Record (see AH=D4h"NetWare")
0Ch Release Logical Record (see AH=D2h"NetWare")
0Dh Release Logical Record Set (see AH=D3h"NetWare")
0Eh Clear Logical Record Set (see AH=D5h"NetWare")
0Fh Allocate Resource (see AH=D8h"NetWare")
10h Deallocate Resource (see AH=D9h"NetWare")
11h/0Ah Get Printer Queue
11h/xxh print spooling (see AX=E0xxh"NetWare")
12h Get Volume Info with Number (see AH=DAh"NetWare")
13h Get Station Number (see AH=DCh"NetWare")
14h Get File Server Date and Time (NW v2.2+) (see AH=E7h"NetWare")
15h/xxh broadcast services (see AX=E1xxh"NetWare")
16h/01h Get Directory Path
16h/0Fh Rename Directory
16h/1Bh Scan Salvagable Files
16h/1Ch Recover Salvagable File
16h/1Dh Purge Salvagable File
16h/1Eh Scan Dir Entry
16h/1Fh Get Dir ENtry
16h/20h Scan Volume for Restrictions
16h/21h Add User Disk Space Restriction (see AX=F216h/SF=21h)
16h/22h Clear Volume Restrictions
16h/23h Scan Dir Restrictions
16h/24h Set Directory Disk Space Restriction (see AX=F216h/SF=24h)
16h/25h Set Entry
16h/26h Scan File or Directory For Extended Trustees (see AX=F216h/SF=26h)
16h/27h Add Extended Trustee to Directory or File (see AX=F216h/SF=27h)
16h/28h Scan File Physical
16h/29h Get Object Disk Restrictions (see AX=F216h/SF=29h)
16h/2Ah Get Effective Rights
16h/2Bh Delete Trustee
16h/2Ch Get Volume Usage
16h/2Dh Get Dir Info
16h/2Eh Move Entry
16h/2Fh Fill Name Space Buffer
16h/30h Get Name Space Entry
16h/31h Open Data Stream
16h/32h Get Object Effective Rights
16h/33h Get Extended Volume Info
16h/F3h Map Directory Number to Path
16h/xxh file/directory services (see AX=E2xxh"NetWare")
17h/0Eh Get Disk Utilization
17h/17h Get Encryption Key
17h/18h Login Object Encrypted
17h/1Ch Get Connection Information (see AX=F217h/SF=1Ch)
17h/1Fh Get Connection List from Object
17h/32h Create Bindery Object
17h/33h Delete Bindery Object
17h/34h Rename Object
17h/35h Get Bindery Object ID
17h/36h Get Bindery Object Name
17h/37h Scan Bindery Object
17h/38h Change Bindery Object Security
17h/39h Create Property
17h/3Ah Delete Property
17h/3Bh Change Property Security
17h/3Ch Scan Property
17h/3Dh Read Property Value
17h/3Eh Write Property Value
17h/41h Add Bindery Object to Set
17h/42h Delete Bindery Object from Set
17h/43h Is Bindery Object in Set
17h/44h Close Bindery
17h/45h Open Bindery
17h/46h Get Bindery Access Level
17h/47h Scan Bindery Object Trustee Paths
17h/48h Get Bindery Object Access Level
17h/49h Is Station a Manager?
17h/4Ah Verify Bindery Object Password Encrypted
17h/4Bh Change Bindery Object Password Encrypted
17h/4Ch Get Relation of an Object
17h/96h Get Account Status
17h/97h Submit Account Charge
17h/98h Submit Account Hold
17h/99h Submit Account Note
17h/D2h Clear Connection Number (Logout Station) (see AX=F217h/SF=D2h)
17h/DAh Get Connection's Task Information (NW v2.2)
17h/DBh Get Connection's Open Files (NW v2.2)
17h/DCh Get Connections Using a File (NW v2.2)
17h/E5h Get Connection's Usage Statistics (NW v2.2)
17h/E6h Get Object's Remaining Disk Space
17h/EAh Get Connection's Task Information (NW v3.11+)
17h/EBh Get Connection's Open Files (NW v3.11+) (see AX=F217h/SF=EBh)
17h/ECh Get Connections Using a File (NW v3.11+) (see AX=F217h/SF=ECh)
17h/EEh Get Physical Record Locks by File (see AX=F217h/SF=EEh)
17h/F2h Get Semaphore Information (see AX=F217h/SF=F2h)
17h/F3h Map Directory Number to Path (see AX=F217h/SF=F3h)
17h/F4h Convert Path to Directory Entry (see AX=F217h/SF=F4h)
17h/xxh connection control (see AX=E3xxh"NetWare")
18h End of Job (see AH=D6h"NetWare")
19h Logout (see AH=D7h"NetWare")
1Ah Log Physical Record (see AH=BCh"NetWare")
1Bh Lock Physical Record Set (see AH=C2h"NetWare")
1Ch Release Physical Record (see AH=BDh"NetWare")
1Dh Release Physical Record Set (see AH=C3h"NetWare")
1Eh Clear Physical Record (see AH=BEh"NetWare")
1Fh Clear Physical Record Set (see AH=C4h"NetWare")
20h/xxh semaphore services (see AX=C5xxh"NetWare")
21h Negotiate Buffer
22h/00h TTS Is Available (see AX=C702h"NetWare")
22h/01h TTS Begin Transaction (see AX=C700h"NetWare")
22h/02h TTS End Transaction (see AX=C701h"NetWare")
22h/03h TTS Abort Transaction (see AX=C703h"NetWare")
22h/04h TTS Transaction Status (see AX=C704h"NetWare")
22h/05h TTS Get Application Thresholds (see AX=C705h"NetWare")
22h/06h TTS Set Application Thresholds (see AX=C706h"NetWare")
22h/07h TTS Get Workstation Thresholds (see AX=C707h"NetWare")
22h/08h TTS Set Workstation Thresholds (see AX=C708h"NetWare")
22h/09h TTS Get Control Flags
22h/0Ah TTS Set Control Flags
23h/01h AFP Create Directory
23h/02h AFP Create File
23h/03h AFP Delete
23h/04h AFP Get Entry ID From Name
23h/05h AFP Get File Infomration
23h/06h AFP Get Entry ID From NetWare Handle
23h/07h AFP Rename
23h/08h AFP Open File Fork
23h/09h AFP Set File Information
23h/0Ah AFP Scan File Information
23h/0Bh AFP Alloc Temporary Dir Handle
23h/0Ch AFP Get Entry ID From Path Name
23h/0Dh AFP 2.0 Create Directory
23h/0Eh AFP Get DOS Name from Entry ID
23h/0Eh AFP 2.0 Create File
23h/10h AFP 2.0 Set File Information
23h/11h AFP 2.0 Scan File Information
23h/13h AFP Get Macintosh Info on Deleted File
3Dh Commit File
3Eh File Search Initialize (FindFirst)
3Fh File Search Continue (FindNext)
40h Search File
42h File Close
43h File Create
44h Erase Files
45h File Rename
46h Set File Attributes
47h Get File Size
48h File Read
49h File Write
4Ah File Server Copy (see AH=F3h"NetWare")
4Bh Set File Time and Date
4Ch File Open
4Dh Create New File
4Eh Allow Task Access to File
4Fh Set Extended File Attributes (see AH=B6h"NetWare")
55h Get File Bit Map
56h/xx extended attribute services (OS/2)
56h/01h close extended attribute
56h/02h write extended attribute
56h/03h read extended attribute
56h/04h enumerate extended attribute
56h/05h duplicate EA
57h/01h open/create file/directory
57h/02h init search, continue with 57h/03h
57h/03h Scan NS Entry Info
57h/04h rename file/directory
57h/05h scan for trustees
57h/06h Get NS Entry Info (see AX=F257h/SF=06h)
57h/07h Set NS Entry DOS Info
57h/08h delete file/directory
57h/09h set short directory handle
57h/0Ah Add Trustee
57h/0Bh Delete Trustee
57h/0Ch Allocate Temp NS Dir Handle
57h/13h Read NS Info
57h/15h get path string for short directory handle
57h/16h Get Directory Base
57h/17h Get NS Info
57h/19h Write NS Info
57h/1Ah Read Extended NS Info
57h/1Bh Write Extended NS Infor
57h/1Ch Get NS Path
57h/1Dh Get Effective Rights
58h/01h Get Volume Audit Statistics
58h/02h Add Audit Property
58h/03h Login as Volume Auditor
58h/04h Change Auditor Password
58h/05h Check Audit Access
58h/06h Remove Audit Property
58h/07h Disable Auditing on Volume
58h/08h Enable Auditing on Volume
58h/09h Is User Audited?
58h/0Ah Read Auditing Bit Map
58h/0Bh Read Audit Config Header
58h/0Dh Logout as Volume Auditor
58h/0Eh Reset Auditing File
58h/0Fh Reset Audit History File
58h/10h Write Auditing Bit Map
58h/11h Write Audit Config Header
58h/13h Get Auditing Flags
58h/14h Close Old Auditing File
58h/15h Delete Old Auditing File
58h/16h Check Audit Level Two Access
5Ah/01h Get DM (Data Migration) Info
5Ah/80h Move File Data to DM
5Ah/81h DM File Information
5Ah/82h Volume DM Status
5Ah/83h Get Migration or Status Information
5Ah/84h DM Support Module Information
5Ah/85h Move File Data from DM
5Ah/86h Get or Set Default Support Module
61h Negotiate LIP Buffer, packet signing, and IPX checksums
65h Packet Burst Connection
68h/xxh NetWare 4.x directory services (subfn at DS:[SI+11h])
68h/01h NDS resolve name
68h/03h NDS read property
68h/35h NDS get server address
68h/36h NDS set keys
68h/39h NDS begin login
68h/3Ah NDS finish login
68h/3Bh NDS begin authenticate
68h/3Ch NDS finish authenticate
68h/3Dh NDS Logout
72h NetWare 4.x Time Services
7Bh/01h Get Cache Information
7Bh/02h Get File Server Information
7Bh/03h Get NetWare File Systems Information
7Bh/04h Get User Information
7Bh/05h Get Packet Burst Information
7Bh/06h Get IPX/SPX Information
7Bh/07h Get Garbage Collection Information
7Bh/08h Get CPU Information
7Bh/09h Get Volume Switch Information
7Bh/0Ah Get NLM Loaded List
7Bh/0Bh Get NLM Information
7Bh/0Ch Get Directory Cache Information
7Bh/0Dh Get OS Version Information
7Bh/0Eh Get Active Connection List by Type
7Bh/0Fh Get NLM's Resource Tag List
7Bh/14h Get Active LAN Board List
7Bh/15h Get LAN Configuration Information
7Bh/16h Get LAN Common Counters Information
7Bh/17h Get LAN Custom Counters Information
7Bh/18h Get LAN Config Strings
7Bh/19h Get LSL Informatino
7Bh/1Ah Get LSL Logical Board Statistics
7Bh/1Eh Get Media Manager Object Information
7Bh/1Fh Get Media Manager Object List
7Bh/20h Get Media Manager Object Children List
7Bh/21h Get Volume Segment List
7Bh/28h Get Active Protocol Stacks
7Bh/29h Get Protocol Stack Configuration Information
7Bh/2Ah Get Protocol Stack Statistics Information
7Bh/2Bh Get Protocol Stack Custom Information
7Bh/2Ch Get Protocol Stack Numbers By Media Number
7Bh/2Dh Get Protocol Stack Numbers By LAN Board Number
7Bh/2Eh Get Media Name by Media Number
7Bh/2Fh Get Loaded Media Number List
7Bh/32h Get General Router and SAP Information
7Bh/33h Get Network Router Information
7Bh/34h Get Network Routers Information
7Bh/35h Get Known Networks Information
7Bh/36h Get Server Information
7Bh/38h Get Known Servers Information
7Bh/3Ch Get Server Set Commands Information
7Bh/3Dh Get Server Set Categories
Note: the subfunction is stored at DS:SI for AL=56h,57h, DS:SI+2 for
AL=15h-17h,23h
--------T-21F2-------------------------------
INT 21 - DoubleDOS - SEND CHARACTER TO KEYBOARD BUFFER OF OTHER JOB
AH = F2h
AL = character
Return: AL = status
00h successful
01h buffer full (128 characters)
SeeAlso: AH=E2h"DoubleDOS",AH=F1h"DoubleDOS",AH=F3h"DoubleDOS"
SeeAlso: AH=F8h"DoubleDOS"
--------N-21F216SF21-------------------------
INT 21 - Novell NetWare v3+ - ADD USER DISK SPACE RESTRICTION
AX = F216h subfn 21h
CX = length of request buffer in bytes
DX = length of reply buffer in bytes
DS:SI -> request buffer (see #1267)
ES:DI -> reply buffer (ignored)
Return: AL = status
SeeAlso: AX=F216h/SF=24h
Format of NetWare request buffer:
Offset Size Description (Table 1267)
00h WORD 000Ah (length of following data)
02h BYTE 21h (subfunction "Add User Disk Space Restriction")
03h BYTE volume number
04h DWORD (big-endian) object ID
08h DWORD (big-endian) disk space limit in 4K blocks
00000000h to 40000000h
--------N-21F216SF24-------------------------
INT 21 - Novell NetWare v3+ - SET DIRECTORY DISK SPACE RESTRICTION
AX = F216h subfn 24h
CX = length of request buffer in bytes
DX = length of reply buffer in bytes
DS:SI -> request buffer (see #1268)
ES:DI -> reply buffer (ignored)
Return: AL = status
SeeAlso: AX=F216h/SF=21h
Format of NetWare request buffer:
Offset Size Description (Table 1268)
00h WORD 0006h (length of following data)
02h BYTE 24h (subfunction "Set Directory Disk Space Restriction")
03h BYTE directory handle
04h DWORD (big-endian) disk space limit in 4K blocks
00000000h to remove restriction, negative to set to 0 blocks
--------N-21F216SF26-------------------------
INT 21 - Novell NetWare v3+ - SCAN FILE OR DIRECTORY FOR EXTENDED TRUSTEES
AX = F216h subfn 26h
CX = length of request buffer in bytes
DX = length of reply buffer in bytes
DS:SI -> request buffer (see #1269)
ES:DI -> reply buffer (see #1270)
Return: AL = status
Desc: get up to 20 extended trustee entries per call for a file or directory
Format of NetWare request buffer:
Offset Size Description (Table 1269)
00h WORD length of following data
02h BYTE 26h (subfunc "Scan File or Directory For Extended Trustees")
03h BYTE directory handle
04h BYTE sequence number
00h for first call, increment by number of returned entries
05h BYTE length of path
06h N BYTEs pathname
Format of NetWare reply buffer:
Offset Size Description (Table 1270)
00h BYTE number of entries returned (max 20)
01h 20 DWORDs (big-endian) list of object IDs
51h 20 WORDs list of associated trustee rights
--------N-21F216SF27-------------------------
INT 21 - Novell NetWare v3+ - ADD EXTENDED TRUSTEE TO DIRECTORY OR FILE
AX = F216h subfn 27h
CX = length of request buffer in bytes
DX = length of reply buffer in bytes
DS:SI -> request buffer (see #1271)
ES:DI -> reply buffer (ignored)
Return: AL = status
Format of NetWare request buffer:
Offset Size Description (Table 1271)
00h WORD length of following data
02h BYTE 27h (subfunction "Add Extended Trustee to Directory or File")
03h BYTE directory handle
04h DWORD (big-endian) object ID
08h WORD trustee rights (see #1272)
0Ah BYTE path length
0Bh N BYTEs path name
Bitfields for NetWare trustee rights:
Bit(s) Description (Table 1272)
0 read
1 write
3 create
4 delete
5 access
6 file
7 modify
8 supervisor
--------N-21F216SF29-------------------------
INT 21 - Novell NetWare v3+ - GET OBJECT DISK RESTRICTIONS
AX = F216h subfn 29h
CX = length of request buffer in bytes
DX = length of reply buffer in bytes
DS:SI -> request buffer (see #1273)
ES:DI -> reply buffer (see #1274)
Return: AL = status
reply buffer filled
Note: this function returns successfully, showing no restriction, if an
invalid object ID is specified
SeeAlso: AX=F216h/SF=24h
Format of NetWare request buffer:
Offset Size Description (Table 1273)
00h WORD 0006h (length of following data)
02h BYTE 21h (subfunction "Get Object Disk Restrictions")
03h BYTE volume number
04h DWORD (big-endian) object ID
Format of NetWare reply buffer:
Offset Size Description (Table 1274)
00h DWORD disk space limit
04h DWORD disk space currently in use by object
--------N-21F216SF33-------------------------
INT 21 - Novell NetWare v4 - GET EXTENDED VOLUME INFORMATION
AX = F216h subfn 33h
CX = length of request buffer in bytes
DX = length of reply buffer in bytes
DS:SI -> request buffer (see #2733)
ES:DI -> reply buffer (see #2734)
Return: AL = status (see #1572 at INT 2F/AX=7A20h/BX=0000h)
reply buffer filled
Format of NetWare "Get Extended Volume Information" request buffer:
Offset Size Description (Table 2733)
00h WORD length of following data
02h BYTE 33h (subfunction "Get Extended Volume Information")
03h DWORD volume number
SeeAlso: #2734
Format of NetWare "Get Extended Volume Information" reply buffer:
Offset Size Description (Table 2734)
00h WORD length of returned data
02h DWORD volume type
06h DWORD status flag bits
0Ah DWORD sector size
0Eh DWORD sectors per cluster
12h DWORD total clusters in volume
16h DWORD free clusters
1Ah DWORD freeable suballocated clusters
1Eh DWORD freeable in-limbo sectors
22h DWORD non-freeable in-limbo sectors
26h DWORD non-freeable available suballocated sectors
2Ah DWORD unuable suballocated sectors
2Eh DWORD total suballocated clusters
32h DWORD number of data streams
36h DWORD number of in-limbo data streams
3Ah DWORD age of oldest deleted file in clock ticks
3Eh DWORD number of compressed data streams
42h DWORD number of compressed in-limbo data streams
46h DWORD number of uncompressable data streams
4Ah DWORD number of precompressed sectors
4Eh DWORD number of compressed sectors
52h DWORD number of migrated files
56h DWORD number of migrated sectors
5Ah DWORD number of clusters used by FAT
5Eh DWORD number of clusters used by directories
62h DWORD number of clusters used by extended directories
66h DWORD total number of directory entries
6Ah DWORD number of unused directory entries
6Eh DWORD total number of extended directory extants
72h DWORD number of unused extended directory extants
76h DWORD number of extended attributes defined
7Ah DWORD number of extended-attribute extants used
7Eh DWORD object ID for Directory Services
82h DWORD date and time volume last modified
86h var counted??? volume name string
SeeAlso: #2733
--------N-21F217SF1C-------------------------
INT 21 - Novell NetWare v3+ - GET CONNECTION INFORMATION
AX = F217h subfn 1Ch
CX = length of request buffer in bytes
DX = length of reply buffer in bytes
DS:SI -> request buffer (see #1275)
ES:DI -> reply buffer (see #1276)
Return: AL = status
reply buffer filled
SeeAlso: AH=F2h"Novell"
Format of NetWare request buffer:
Offset Size Description (Table 1275)
00h WORD 0005h (length of following data)
02h BYTE 1Ch (subfunction "Get Connection Information")
03h DWORD target connection number
Note: connection numbers greater than the maximum supported by the server
can cause ABENDs
Format of NetWare reply buffer:
Offset Size Description (Table 1276)
00h DWORD (big-endian) unique user ID, 00000000h if no one logged in
04h WORD (big-endian) user type
06h 48 BYTEs user name
36h 7 BYTEs login time (see #1258)
3Dh BYTE reserved
--------N-21F217SF1D-------------------------
INT 21 - Novell NetWare v4 - CHANGE CONNECTION STATE
AX = F217h subfn 1Dh
CX = length of request buffer in bytes
DX = length of reply buffer in bytes
DS:SI -> request buffer (see #2729)
ES:DI -> reply buffer
Return: AL = status (see #1572 at INT 2F/AX=7A20h/BX=0000h)
reply buffer filled
Format of NetWare "Change Connection State" requst buffer:
Offset Size Description (Table 2729)
00h WORD length of following data
02h BYTE 1Dh (subfunction "Change Connection State")
03h DWORD new state
--------N-21F217SF1E-------------------------
INT 21 - Novell NetWare v4 - SET WATCHDOG DELAY INTERVAL
AX = F217h subfn 1Eh
CX = length of request buffer in bytes
DX = length of reply buffer in bytes
DS:SI -> request buffer (see #2732)
ES:DI -> reply buffer
Return: AL = status (see #1572 at INT 2F/AX=7A20h/BX=0000h)
reply buffer filled
Format of NetWare "Set Watchdog Delay Interval" request buffer:
Offset Size Description (Table 2732)
00h WORD length of following data
02h BYTE 1Eh (subfunction "Set Watchdog Delay Interval")
03h DWORD interval in minutes
--------N-21F217SF1F-------------------------
INT 21 - Novell NetWare v4 - GET CONNECTION LIST
AX = F217h subfn 1Fh
CX = length of request buffer in bytes
DX = length of reply buffer in bytes
DS:SI -> request buffer (see #2731)
ES:DI -> reply buffer
Return: AL = status (see #1572 at INT 2F/AX=7A20h/BX=0000h)
reply buffer filled
Format of NetWare "Get Connection List" request buffer:
Offset Size Description (Table 2731)
00h WORD length of following data
02h BYTE 1Fh (subfunction "Get Connection List")
03h DWORD object ID
07h DWORD ??? (initialize to FFFFFFFFh before first call)
--------N-21F217SF33-------------------------
INT 21 - Novell NetWare v2.2+ - GET VOLUME EXTENDED INFORMATION
AX = F217h subfn 33h
CX = length of request buffer in bytes
DX = length of reply buffer in bytes
DS:SI -> request buffer (see #2727)
ES:DI -> reply buffer (see #2728)
Return: AX = status (see #1572 at INT 2F/AX=7A20h/BX=0000h)
Format of NetWare "Get Volume Extended Information" request buffer:
Offset Size Description (Table 2727)
00h WORD 0002h (length of following data)
02h BYTE 33h (subfunction "Get Volume Extended Information")
03h BYTE volume ID
SeeAlso: #2728
Format of NetWare "Get Volume Extended Information" reply buffer:
Offset Size Description (Table 2728)
00h WORD (call) length of buffer
(ret) length of returned data
02h DWORD ???
06h DWORD features
bit 0: suballocation
bit 1: compressoin
bit 2: migration
bit 3: auditing
0Ah 31 DWORDs ???
86h var ASCIZ volume name
SeeAlso: #2727
--------N-21F217SF41-------------------------
INT 21 - Novell NetWare v2.2+ - ADD OBJECT TO SET
AX = F217h subfn 41h
BX = number of fragments in request packet (max 5)
CX = connection handle
DX = 0000h (length of reply buffer in bytes)
DS:SI -> request buffer (see #2694)
Return: AX = status (see #1572 at INT 2F/AX=7A20h/BX=0000h)
Desc: add a member to an object's group property
SeeAlso: AH=F2h"Novell"
Format of NetWare "Add Object to Set" request buffer:
Offset Size Description (Table 2694)
00h WORD length of following data
02h BYTE 41h (subfunction "Add Object to Set")
03h WORD (big-endian) object type
05h BYTE length of object name
06h N BYTEs object name
BYTE length of property name
N BYTEs property name
WORD type of object being added to set
BYTE length of member object's name
N BYTEs member object's name
--------N-21F217SFD2-------------------------
INT 21 - Novell NetWare v3+ - CLEAR CONNECTION NUMBER (LOGOUT STATION)
AX = F217h subfn D2h
CX = length of request buffer in bytes
DX = length of reply buffer in bytes
DS:SI -> request buffer (see #1277)
ES:DI -> reply buffer (ignored)
Return: AL = status
reply buffer filled
Format of NetWare request buffer:
Offset Size Description (Table 1277)
00h WORD 0002h (length of following data)
02h BYTE D2h (subfunction "Clear Connection Number")
03h BYTE connection number
--------N-21F217SFEB-------------------------
INT 21 - Novell NetWare v3+ - GET CONNECTION'S OPEN FILES
AX = F217h subfn EBh
CX = length of request buffer in bytes
DX = length of reply buffer in bytes
DS:SI -> request buffer (see #1278)
ES:DI -> reply buffer (see #1279)
Return: AL = status
reply buffer filled
Format of NetWare request buffer:
Offset Size Description (Table 1278)
00h WORD 0005h (length of following data)
02h BYTE EBh (subfunction "Get Connection's Open Files")
03h WORD target connection number
05h WORD last record seen (set to 0000h for first call)
Note: connection numbers greater than the maximum supported by the server
can cause ABENDs
Format of NetWare reply buffer:
Offset Size Description (Table 1279)
00h WORD next request record
02h WORD number of records returned (max 28)
04h 29N BYTEs array of connection records (see #1280)
Format of NetWare connection record:
Offset Size Description (Table 1280)
00h WORD task number
02h BYTE lock type
03h BYTE access control
04h BYTE lock flag
05h BYTE volume number
06h DWORD parent directory entry number
0Ah DWORD directory entry number
0Eh BYTE reserved
0Fh BYTE data stream type
10h BYTE file name length
11h 12 BYTEs file name
--------N-21F217SFEC-------------------------
INT 21 - Novell NetWare v3+ - GET CONNECTIONS USING A FILE
AX = F217h subfn ECh
CX = length of request buffer in bytes
DX = length of reply buffer in bytes
DS:SI -> request buffer (see #1281)
ES:DI -> reply buffer (see #1282)
Return: AL = status
reply buffer filled
Format of NetWare request buffer:
Offset Size Description (Table 1281)
00h WORD 0009h (length of following data)
02h BYTE ECh (subfunction "Get Connections Using a File")
03h BYTE data stream type
04h BYTE volume number
05h DWORD directory entry number
09h WORD last record seen (0000h for first call)
Format of NetWare reply buffer:
Offset Size Description (Table 1282)
00h WORD next request record
02h WORD use count
04h WORD open count
06h WORD number of times open for reading
08h WORD number of times open for writing
0Ah WORD Deny Read count
0Ch WORD Deny Write count
0Eh BYTE flag: locked
0Fh BYTE data stream type
10h WORD number of records returned (max 70)
12h 7N BYTEs returned records (see #1283)
Format of returned record:
Offset Size Description (Table 1283)
00h WORD connection number
02h WORD task number
04h BYTE lock type
05h BYTE access flag
06h BYTE lock flag
--------N-21F217SFEE-------------------------
INT 21 - Novell NetWare v3+ - GET PHYSICAL RECORD LOCKS BY FILE
AX = F217h subfn EEh
CX = length of request buffer in bytes
DX = length of reply buffer in bytes
DS:SI -> request buffer (see #1284)
ES:DI -> reply buffer (see #1285)
Return: AL = status
reply buffer filled
Format of NetWare request buffer:
Offset Size Description (Table 1284)
00h WORD 0009h (length of following data)
02h BYTE EEh (subfunction "Get Physical Record Locks by File")
03h BYTE data stream number
04h BYTE volume number
05h DWORD directory entry number
09h WORD last record seen (0000h for first call)
Format of NetWare reply buffer:
Offset Size Description (Table 1285)
00h WORD next request record
02h WORD number of locks
04h 17N BYTEs array of lock records, one per lock (see #1286)
Format of NetWare lock record:
Offset Size Description (Table 1286)
00h WORD logged count
02h WORD number of shareable locks
04h DWORD start offset of record
08h DWORD end offset of record
0Ch WORD logical connection number
0Eh WORD task number
10h BYTE lock type
--------N-21F217SFF2-------------------------
INT 21 - Novell NetWare v3+ - GET SEMAPHORE INFORMATION
AX = F217h subfn F2h
CX = length of request buffer in bytes
DX = length of reply buffer in bytes
DS:SI -> request buffer (see #1287)
ES:DI -> reply buffer (see #1288)
Return: AL = status
reply buffer filled
Format of NetWare request buffer:
Offset Size Description (Table 1287)
00h WORD length of following data (max 84h)
02h BYTE F2h (subfunction "Get Semaphore Information")
03h WORD last record seen (0000h on first call)
05h BYTE length of semaphore name (max 128)
06h N BYTEs semaphore name
Format of NetWare reply buffer:
Offset Size Description (Table 1288)
00h WORD next request record
02h WORD open count
04h BYTE value of semaphore
05h WORD number of records returned
07h 2N WORDs list of logical connection number/task number pairs
--------N-21F217SFF3-------------------------
INT 21 - Novell NetWare v3+ - MAP DIRECTORY NUMBER TO PATH
AX = F217h subfn F3h
CX = length of request buffer in bytes
DX = length of reply buffer in bytes
DS:SI -> request buffer (see #1289)
ES:DI -> reply buffer (see #1290)
Return: AL = status
reply buffer filled
SeeAlso: AX=F217h/SF=F4h
Format of NetWare request buffer:
Offset Size Description (Table 1289)
00h WORD 0007h (length of following data)
02h BYTE F3h (subfunction "Map Directory Number to Path")
03h BYTE volume number
04h DWORD directory entry number
08h BYTE name space type
Format of NetWare reply buffer:
Offset Size Description (Table 1290)
00h BYTE directory path length
01h N BYTEs directory path (NetWare style, separated by length descriptors
rather than slashes or backslashes)
--------N-21F217SFF4-------------------------
INT 21 - Novell NetWare v3+ - CONVERT PATH TO DIRECTORY ENTRY
AX = F217h subfn F4h
CX = length of request buffer in bytes
DX = length of reply buffer in bytes
DS:SI -> request buffer (see #1291)
ES:DI -> reply buffer (see #1292)
Return: AL = status
reply buffer filled
SeeAlso: AX=F217h/SF=F3h
Format of NetWare "Convert Path to Directory Entry" request buffer:
Offset Size Description (Table 1291)
00h WORD length of following data
02h BYTE F4h (subfunction "Convert Path to Directory Entry")
03h BYTE directory handle or 00h for none
04h BYTE length of directory path
05h N BYTEs directory path (must be fully qualified if no handle specified)
Format of NetWare "Convert Path to Directory Entry" reply buffer:
Offset Size Description (Table 1292)
00h BYTE (ret) volume number
01h DWORD (ret) directory entry number
--------N-21F217SFFE-------------------------
INT 21 - Novell NetWare v4 - CLEAR CONNECTION NUMBER
AX = F217h subfn FEh
CX = length of request buffer in bytes
DX = length of reply buffer in bytes
DS:SI -> request buffer (see #2730)
ES:DI -> reply buffer
Return: AL = status (see #1572 at INT 2F/AX=7A20h/BX=0000h)
reply buffer filled
Format of NetWare "Clear Connection Number" request buffer:
Offset Size Description (Table 2730)
00h WORD length of following data
02h BYTE FEh (subfunction "Clear Connection Number")
03h DWORD connection number
--------N-21F244-----------------------------
INT 21 - Novell NetWare - FILE SERVICES - ERASE FILES
AX = F244h
DS:SI -> request buffer (see #1294)
ES:DI -> reply buffer (ignored???)
Return: AL = status (see #1293)
Note: this function only marks the file for deletion; use AH=E2h/SF=CEh to
actually delete all marked files
SeeAlso: AH=13h,AH=41h,AH=E2h/SF=0Bh,AH=E3h/SF=CEh
(Table 1293)
Values for NetWare function status:
00h successful
98h nonexistent volume
9Bh invaid directory handle
9Ch invalid path
FFh no files found
SeeAlso: #1265,#1572 at INT 2F/AX=7A20h/BX=0000h
Format of NetWare request buffer:
Offset Size Description (Table 1294)
00h BYTE directory handle
01h BYTE search attributes (see #0643 at AX=4301h)
02h BYTE length of filespec
03h N BYTEs ASCIZ filespec (may include wildcards)
--------N-21F257SF06-------------------------
INT 21 - Novell NetWare v3+ - GET INFORMATION ABOUT FILE OR DIRECTORY
AX = F257h subfn 06h
CX = length of request buffer in bytes
DX = length of reply buffer in bytes
DS:SI -> request buffer (see #1295)
ES:DI -> reply buffer (see #1297)
Return: AL = status
reply buffer filled
Format of NetWare request buffer:
Offset Size Description (Table 1295)
00h BYTE 06h (subfunction "Get NS Entry Info")
01h BYTE name space
02h BYTE destination name space
03h WORD search attributes
05h DWORD return information mask (see #1296)
09h BYTE volume number
0Ah DWORD directory base
0Eh BYTE handle flag
00h first byte of dir base is dir handle; ignore volume number
01h dir base = unique ID, volume number set
FFh volume number and dir base ignored, volume part of path
0Fh BYTE number of path components
10h N BYTEs list of path components (each a counted string)
Bitfields for return information mask:
Bit(s) Description (Table 1296)
0 include filename
1 data stream space allocated info
2 attributes info
3 data stream size info
4 total space allocated for all data streams
5 extended attributes info
6 archive info
7 modify info
8 create info
9 name space info
10 directory info
11 rights info
Format of NetWare reply buffer for name space info:
Offset Size Description (Table 1297)
00h 72 BYTEs reserved
48h DWORD creator's name space number
4Ch 257 BYTEs reserved
--------N-21F258SF01-------------------------
INT 21 - Novell NetWare v4+ - GET VOLUME AUDITING STATISTICS
AX = F258h subfn 01h
CX = length of request buffer in bytes (0005h)
DX = length of reply buffer in bytes (0020h)
DS:SI -> request buffer (see #1298)
ES:DI -> reply buffer (see #1299)
Return: AL = status
reply buffer filled
SeeAlso: AX=F268h/SF=C8h
Format of NetWare "Get Volume Auditing Statistics" request buffer:
Offset Size Description (Table 1298)
00h BYTE 01h (function "Get Volume Auditing Statistics")
01h DWORD volume
SeeAlso: #1299
Format of NetWare "Get Volume Auditing Statistics" reply buffer:
Offset Size Description (Table 1299)
00h WORD auditing version (date)
02h WORD audit file version (date)
04h DWORD auditing enabled flag
08h DWORD audit file's size
0Ch DWORD audit configuration file's size
10h DWORD maximum audit file size
14h DWORD audit file size threshold
18h DWORD number of audit records
1Ch DWORD number of history records
SeeAlso: #1298,#1311
--------N-21F268SF01-------------------------
INT 21 - Novell NetWare v4+ - GET TREE NAME
AX = F268h subfn 01h
CX = length of request buffer in bytes (0001h)
DX = length of reply buffer in bytes (0064h)
DS:SI -> request buffer (see #1300)
ES:DI -> reply buffer (see #1301)
Return: AL = status
reply buffer filled
SeeAlso: AX=F268h/SF=04h
Format of NetWare "Get Tree Name" request buffer:
Offset Size Description (Table 1300)
00h BYTE 01h
Format of NetWare "Get Tree Name" reply buffer:
Offset Size Description (Table 1301)
00h DWORD ???
04h DWORD ???
08h 32 BYTEs tree name, padded with underscores ('_')
28h 60 BYTEs ???
--------N-21F268SF04-------------------------
INT 21 - Novell NetWare v4+ - GET BINDERY CONTEXT
AX = F268h subfn 04h
CX = length of request buffer in bytes (0001h)
DX = length of reply buffer in bytes
DS:SI -> request buffer (see #1302)
ES:DI -> reply buffer (see #1303)
Return: AL = status
reply buffer filled
SeeAlso: AX=F268h/SF=01h,AX=F268h/SF=C8h
Format of NetWare "Get Bindery Context" request buffer:
Offset Size Description (Table 1302)
00h BYTE 04h
Format of NetWare "Get Bindery Context" reply buffer:
Offset Size Description (Table 1303)
00h DWORD length
04h N WORDs Unicode bindery context string
--------N-21F268SF16-------------------------
INT 21 - Novell NetWare v4+ - NDS LIST PARTITIONS
AX = F268h subfn 16h
CX = length of request buffer in bytes
DX = length of reply buffer in bytes
DS:SI -> request buffer (see #1304)
ES:DI -> reply buffer (see #1305)
Return: AL = status
reply buffer filled
Note: the length specified in CX must be exactly 13 bytes more than the
length field at offset 09h in the request buffer for this function
to be successful
SeeAlso: AX=F268h/SF=35h
Format of NetWare "NDS List Partitions" request buffer:
Offset Size Description (Table 1304)
00h BYTE 02h
01h DWORD ??? (FFFFFFFFh)
05h DWORD ??? (00000202h)
09h DWORD length (00000018h)
0Dh DWORD ??? (00000000h)
11h DWORD function (00000016h) (subfunction "NDS List Partitions")
15h DWORD ??? (00000400h)
19h DWORD API version (00000000h)
1Dh DWORD ??? (00000000h)
21h DWORD iteration (FFFFFFFFh)
SeeAlso: #1305,#1306
Format of NetWare "NDS List Partitions" reply buffer:
Offset Size Description (Table 1305)
00h DWORD length
04h DWORD ???
08h DWORD return code
0Ch DWORD iteration
10h 1000 BYTEs returned data
SeeAlso: #1304
--------N-21F268SF35-------------------------
INT 21 - Novell NetWare v4+ - NDS GET SERVER NAME AND ADDRESS
AX = F268h subfn 35h
CX = length of request buffer in bytes
DX = length of reply buffer in bytes
DS:SI -> request buffer (see #1306)
ES:DI -> reply buffer (see #1307)
Return: AL = status
reply buffer filled
Note: the length specified in CX must be exactly 13 bytes more than the
length field at offset 09h in the request buffer for this function
to be successful
SeeAlso: AX=F268h/SF=16h
Format of NetWare "NDS Get Server Name and Address" request buffer:
Offset Size Description (Table 1306)
00h BYTE 02h
01h DWORD ??? (FFFFFFFFh)
05h DWORD ??? (00000202h)
09h DWORD length (0000000Ch)
0Dh DWORD ??? (00000000h)
11h DWORD function (00000035h) (subfunc "NDS Get Server Name and Addr")
15h DWORD ??? (00000400h)
SeeAlso: #1304,#1307
Format of NetWare "NDS Get Server Name and Address" reply buffer:
Offset Size Description (Table 1307)
00h DWORD length
04h DWORD ???
08h DWORD return code
0Ch DWORD length of name
10h N WORDs Unicode server name string
var padding
DWORD ??? (00000001h)
DWORD ??? (00000000h)
DWORD ??? (0000000Ch)
12 BYTEs server's IPX address
SeeAlso: #1306
--------N-21F268SF3D-------------------------
INT 21 - Novell NetWare v4+ - NDS LOGOUT
AX = F268h subfn 3Dh
CX = length of request buffer in bytes
DX = length of reply buffer in bytes
DS:SI -> request buffer (see #1308)
ES:DI -> reply buffer (see #1309)
Return: AL = status
reply buffer filled
Format of NetWare "NDS Logout" request buffer:
Offset Size Description (Table 1308)
00h BYTE 02h
01h DWORD ??? (FFFFFFFFh)
05h DWORD ??? (00000202h)
09h DWORD length (0000000Ch)
0Dh DWORD ??? (00000000h)
11h DWORD function (0000003Dh) (subfunction "NDS Logout")
15h DWORD ??? (00000000h)
SeeAlso: #1309
Format of NetWare "NDS Logout" reply buffer:
Offset Size Description (Table 1309)
00h DWORD length
04h DWORD ???
08h DWORD return code
SeeAlso: #1308
--------N-21F268SFC8-------------------------
INT 21 - Novell NetWare v4+ - GET DS AUDITING STATISTICS
AX = F268h subfn C8h
CX = length of request buffer in bytes (0001h)
DX = length of reply buffer in bytes (0020h)
DS:SI -> request buffer (see #1310)
ES:DI -> reply buffer (see #1311)
Return: AL = status
reply buffer filled
SeeAlso: AX=F258h/SF=01h,AX=F268h/SF=01h,AX=F268h/SF=04h
Format of NetWare "Get DS Auditing Statistics" request buffer:
Offset Size Description (Table 1310)
00h BYTE C8h
SeeAlso: #1311
Format of NetWare "Get DS Auditing Statistics" reply buffer:
Offset Size Description (Table 1311)
00h WORD auditing version (date)
02h WORD audit file version (date)
04h DWORD auditing enabled flag
08h DWORD audit file's size
0Ch DWORD audit configuration file's size
10h DWORD maximum audit file size
14h DWORD audit file size threshold
18h DWORD number of audit records
1Ch DWORD number of history records
SeeAlso: #1299,#1310
--------N-21F272-----------------------------
INT 21 - Novell NetWare v4+ - GET FILE SERVER UTC TIME
AX = F272h
CX = length of request buffer in bytes (0003h)
DX = length of reply buffer in bytes (0064h)
DS:SI -> request buffer (see #1312)
ES:DI -> reply buffer (see #1313)
Return: AL = status
reply buffer filled
Format of NetWare "Get File Server UTC Time" request buffer:
Offset Size Description (Table 1312)
00h BYTE ??? (00h)
01h BYTE ??? (01h)
02h BYTE ??? (01h)
SeeAlso: #1313
Format of NetWare "Get File Server UTC Time" reply buffer:
Offset Size Description (Table 1313)
00h DWORD seconds
04h DWORD ???
04h DWORD ??? (00000204h)
04h DWORD ??? (00000000h)
04h DWORD ??? (00000000h)
04h DWORD ??? (FFFFFFFFh)
04h DWORD ??? (00000000h)
SeeAlso: #1312
--------N-21F27BSF33-------------------------
INT 21 - Novell NetWare v4+ - GET ROUTER INFO
AX = F27Bh subfn 33h
CX = length of request buffer in bytes
DX = length of reply buffer in bytes
DS:SI -> request buffer (see #1314)
ES:DI -> reply buffer (see #1315)
Return: AL = status
reply buffer filled
SeeAlso: AX=F27Bh/SF=35h
Format of NetWare "Get Router Info" request buffer:
Offset Size Description (Table 1314)
00h WORD ???
02h BYTE 33h (function "Get Router Info")
03h DWORD network number
SeeAlso: #1315
Format of NetWare "Get Router Info" reply buffer:
Offset Size Description (Table 1315)
00h DWORD timestamp
04h DWORD ???
08h DWORD network number
0Ch WORD hops
0Eh WORD ???
10h WORD time
SeeAlso: #1314,#1316
--------N-21F27BSF35-------------------------
INT 21 - Novell NetWare v4+ - GET KNOWN NETWORKS INFO
AX = F27Bh subfn 35h
CX = length of request buffer in bytes
DX = length of reply buffer in bytes
DS:SI -> request buffer (see #1316)
ES:DI -> reply buffer (see #1317)
Return: AL = status
reply buffer filled
SeeAlso: AX=F27Bh/SF=33h
Format of NetWare "Get Router Info" request buffer:
Offset Size Description (Table 1316)
00h WORD ???
02h BYTE 35h (function "Get Known Networks Info")
03h DWORD ??? (00000000h)
SeeAlso: #1317
Format of NetWare "Get Router Info" reply buffer:
Offset Size Description (Table 1317)
00h DWORD timestamp
04h DWORD ???
08h DWORD number of records following
0Ch var array of network info records
Offset Size Description
00h WORD network number
04h WORD hops
06h WORD ???
08h WORD time
SeeAlso: #1314,#1316
--------v-21F2AA-----------------------------
INT 21 - VIRUS - "PcVrsDs" - INSTALLATION CHECK
AX = F2AAh
Return: AH = AAh if resident
SeeAlso: AH=F1h"VIRUS",AH=F3h"VIRUS"
--------N-21F3-------------------------------
INT 21 - Novell NetWare - FILE SERVICES - FILE SERVER FILE COPY
AH = F3h
ES:DI -> request buffer (see #1318)
Return: AL = status/error code
CX:DX = number of bytes copied
Notes: this function is supported by Advanced NetWare 2.0+
both source and destination must be on the same file server
SeeAlso: AH=3Ch,AH=3Fh
Format of NetWare request buffer:
Offset Size Description (Table 1318)
00h WORD source file handle (as returned by AH=3Ch or AH=3Dh)
02h WORD destination file handle
04h DWORD starting offset in source
08h DWORD starting offset in destination
0Ch DWORD number of bytes to copy
--------T-21F3-------------------------------
INT 21 - DoubleDOS - ADD CHARACTER TO KEYBOARD BUFFER OF CURRENT JOB
AH = F3h
AL = character
Return: AL = 00h successful
01h buffer full (128 characters)
SeeAlso: AH=E3h"DoubleDOS",AH=F1h"DoubleDOS",AH=F2h"DoubleDOS"
SeeAlso: AH=F8h"DoubleDOS"
--------v-21F3-------------------------------
INT 21 - VIRUS - "Carfield" - INSTALLATION CHECK
AH = F3h
Return: AX = 0400h if resident
SeeAlso: AH=D5h"Carfield",AX=F2AAh,AH=F7h"VIRUS"
--------T-21F400-----------------------------
INT 21 - DoubleDOS - INSTALLATION CHECK/PROGRAM STATUS
AX = F400h
Return: AL = program status
00h if DoubleDOS not present
01h if running in visible DoubleDOS partition
02h if running in the invisible DoubleDOS partition
SeeAlso: AX=E400h,AH=F5h"DoubleDOS"
--------T-21F5-------------------------------
INT 21 - DoubleDOS - OTHER PROGRAM STATUS
AH = F5h
Return: AL = program status
00h no program in other partition
01h program in other partition is running
02h program in other partition is suspended
SeeAlso: AH=E5h"DoubleDOS",AX=F400h"DoubleDOS"
--------v-21F7-------------------------------
INT 21 - VIRUS - "GP1" - INSTALLATION CHECK
AH = F7h
Return: AX = 0300h if resident
SeeAlso: AH=F0h"VIRUS",AH=F9h"VIRUS"
--------D-21F8-------------------------------
INT 21 - DOS v2.11-2.13 - SET OEM INT 21 HANDLER
AH = F8h
DS:DX -> OEM INT 21 handler for functions F9h to FFh
FFFFh:FFFFh disables OEM handler
Notes: this function is known to be supported by Toshiba T1000 ROM MS-DOS
v2.11, Sanyo MS-DOS v2.11, and TI Professional Computer DOS v2.13
calls to AH=F9h through AH=FFH will return AL=00h if no handler set
handler is called with all registers exactly as set by caller, and
should exit with IRET
SeeAlso: AH=F9h"OEM"
--------T-21F8-------------------------------
INT 21 - DoubleDOS - SET/RESET KEYBOARD CONTROL FLAGS
AH = F8h
AL = program for which to set flags
00h this program
01h other program
DX = keyboard control flags (see #1259 at AH=E8h"DoubleDOS")
Return: DX = previous flags
Notes: disabling Ctrl-PrtSc will allow the program to intercept the keystroke;
disabling any of the other keystrokes disables them completely
this function is identical to AH=E8h
SeeAlso: AH=E8h"DoubleDOS",AH=F1h"DoubleDOS",AH=F2h"DoubleDOS"
SeeAlso: AH=F3h"DoubleDOS"
--------D-21F9-------------------------------
INT 21 - DOS v2.11-2.13 - OEM FUNCTION
AH = F9h
Return: AL = 00h if no OEM function handler installed (see AH=F8h"OEM")
SeeAlso: AH=F8h"OEM",AH=FAh"OEM"
--------T-21F9-------------------------------
INT 21 - DoubleDOS - SET TIMESHARING PRIORITY
AH = F9h
AL = priority
00h visible program gets 70%, invisible gets 30% (default)
01h visible program gets 50%, invisible gets 50%
02h visible program gets 30%, invisible gets 70%
03h Top program gets 70%, bottom program gets 30%
04h Top program gets 30%, bottom program gets 70%
05h get current priority
Return: AL = priority setting
Note: identical to AH=E9h
SeeAlso: AH=E9h"DoubleDOS",AH=FAh"DoubleDOS",AH=FBh"DoubleDOS"
--------v-21F9-------------------------------
INT 21 - VIRUS - "Satans-Bug" - INSTALLATION CHECK
AH = F9h
Return: AX = AC0Ah if resident
SeeAlso: AH=F7h"VIRUS",AH=FBh"VIRUS",AX=FEDCh"VIRUS"
--------D-21FA-------------------------------
INT 21 - DOS v2.11-2.13 - OEM FUNCTION
AH = FAh
Return: AL = 00h if no OEM function handler installed (see AH=F8h"OEM")
SeeAlso: AH=F8h"OEM",AH=F9h"OEM",AH=FBh"OEM"
--------T-21FA-------------------------------
INT 21 - DoubleDOS - TURN OFF TASK SWITCHING
AH = FAh
Return: task switching turned off
SeeAlso: AH=EAh"DoubleDOS",AH=F9h"DoubleDOS",AH=FBh"DoubleDOS"
SeeAlso: INT FA"DoubleDOS"
--------v-21FA--DX5945-----------------------
INT 21 U - PC Tools v7+ VDEFEND, VSAFE, VWATCH - API
AH = FAh
DX = 5945h
AL = function (00h-02h for VDEFEND, 00h-07h for VSAFE and VWATCH)
Return: varies by function
Note: this API is identical to the API on INT 13/AH=FAh and INT 16/AH=FAh,
so it is listed in its entirety only under INT 16/AX=FA00h and
following
SeeAlso: INT 13/AX=FA00h,INT 16/AX=FA00h
--------D-21FB-------------------------------
INT 21 - DOS v2.11-2.13 - OEM FUNCTION
AH = FBh
Return: AL = 00h if no OEM function handler installed (see AH=F8h"OEM")
SeeAlso: AH=F8h"OEM",AH=FAh"OEM",AH=FCh"OEM"
--------T-21FB-------------------------------
INT 21 - DoubleDOS - TURN ON TASK SWITCHING
AH = FBh
Return: task switching turned on
SeeAlso: AH=EBh"DoubleDOS",AH=F9h"DoubleDOS",AH=FAh"DoubleDOS"
SeeAlso: INT FB"DoubleDOS"
--------v-21FB-------------------------------
INT 21 - VIRUS - "Cinderella" - INSTALLATION CHECK
AH = FBh
Return: AH = 00h if resident
SeeAlso: AH=F9h"VIRUS",AX=FB0Ah
--------v-21FB0A-----------------------------
INT 21 - VIRUS - "dBASE" - INSTALLATION CHECK
AX = FB0Ah
Return: AX = 0AFBh if resident
SeeAlso: AH=FBh"VIRUS",AH=FCh"VIRUS"
--------D-21FC-------------------------------
INT 21 - DOS v2.11-2.13 - OEM FUNCTION
AH = FCh
Return: AL = 00h if no OEM function handler installed (see AH=F8h"OEM")
SeeAlso: AH=F8h"OEM",AH=FBh"OEM",AH=FDh"OEM"
--------T-21FC-------------------------------
INT 21 - DoubleDOS - GET VIRTUAL SCREEN ADDRESS
AH = FCh
Return: ES = segment of virtual screen
Desc: Determine the address of the virtual screen to which the program
should write instead of the actual video memory, so that the
multitasked programs do not interfere with each other's output.
Notes: screen address can change if task-switching is on!!
identical to AH=ECh
SeeAlso: AH=ECh"DoubleDOS",INT FC"DoubleDOS"
--------v-21FC-------------------------------
INT 21 - VIRUS - "Troi" - INSTALLATION CHECK
AH = FCh
Return: AL = A5h if resident
SeeAlso: AX=FB0Ah"VIRUS",AH=FDh"VIRUS"
--------D-21FD-------------------------------
INT 21 - DOS v2.11-2.13 - OEM FUNCTION
AH = FDh
Return: AL = 00h if no OEM function handler installed (see AH=F8h"OEM")
SeeAlso: AH=F8h"OEM",AH=FCh"OEM",AH=FEh"OEM"
--------v-21FD-------------------------------
INT 21 - VIRUS - "Border" - INSTALLATION CHECK
AH = FDh
Return: AH = 13h if resident
SeeAlso: AH=FCh"VIRUS",AH=FEh"VIRUS"
--------s-21FD12BX3457-----------------------
INT 21 - Gravis UltraSound - MegaEm/MEGA_EM - INSTALLATION CHECK
AX = FD12h
BX = 3457h
Return: AX = 5678h if installed
BX = 1235h if v1.x or v2.x installed
CL = interrupt vector used by MegaEm (default 81h)
BX = 1237h if v3.x installed
CL = interrupt vector used by MegaEm (default 81h)
DX = version number
Program: MegaEm is a protected-mode SoundBlaster, SoundCanvas, and MT-32
emulator for the Gravis UltraSound
SeeAlso: INT 2F/AX=CD00h/BX=464Fh,INT 7E/AX=00FEh"SBOS"
--------D-21FE-------------------------------
INT 21 - DOS v2.11-2.13 - OEM FUNCTION
AH = FEh
Return: AL = 00h if no OEM function handler installed (see AH=F8h"OEM")
SeeAlso: AH=F8h"OEM",AH=FDh"OEM",AH=FFh"OEM"
--------T-21FE-------------------------------
INT 21 - DoubleDOS - GIVE AWAY TIME TO OTHER TASKS
AH = FEh
AL = number of 55ms time slices to give away
Return: returns after giving away time slices
SeeAlso: AH=EEh"DoubleDOS",INT FE"DoubleDOS"
--------v-21FE-------------------------------
INT 21 - VIRUS - "483" - INSTALLATION CHECK
AH = FEh
Return: AH = 00h if resident
SeeAlso: AH=FDh"VIRUS",AX=FE01h
--------v-21FE01-----------------------------
INT 21 - VIRUS - "Flip" - INSTALLATION CHECK
AX = FE01h
Return: AX = 01FEh if resident
SeeAlso: AH=FEh"VIRUS",AX=FE02h
--------v-21FE02-----------------------------
INT 21 - VIRUS - "2468"/"Tequila" - INSTALLATION CHECK
AX = FE02h
Return: AX = 01FDh if resident
SeeAlso: AX=FE01h,AX=FE03h,AX=FEDCh"VIRUS"
--------v-21FE03-----------------------------
INT 21 - VIRUS - "2468"/"Tequila" - DISPLAY VIRUS MESSAGE
AX = FE03h
SeeAlso: AX=FE02h,AX=FEADh
--------v-21FEAD------------------------
INT 21 - VIRUS - "Shifting Objective" - INSTALLATION CHECK
AX = FEADh
Return: AX = D00Dh if resident
SeeAlso: AX=FE03h,AX=FEDCh"VIRUS"
--------d-21FEDC-----------------------------
INT 21 - PCMag PCMANAGE/DCOMPRES - INSTALLATION CHECK
AX = FEDCh
Return: AX = CDEFh if installed
Program: the PCMANAGE/DCOMPRES combination from PC Magazine permits
infrequently-used files to be compressed to save space and
transparently expanded when accessed
SeeAlso: AH=DCh,INT 2D/AL=10h"dLite"
--------v-21FEDC-----------------------------
INT 21 - VIRUS - "Black Monday" - INSTALLATION CHECK
AX = FEDCh
Return: AL = DCh if resident
SeeAlso: AX=FE02h,AX=FEFEh
--------v-21FEFE-----------------------------
INT 21 - VIRUS - "CIDER" - INSTALLATION CHECK
AX = FEFEh
Return: SI = 1994h if resident
SeeAlso: AX=FEDCh"VIRUS",AH=FFh"VIRUS"
--------!---Section--------------------------