home *** CD-ROM | disk | FTP | other *** search
/ Current Shareware 1994 January / SHAR194.ISO / sys_util / inter37b.zip / INTERRUP.E < prev    next >
Text File  |  1993-10-03  |  266KB  |  7,120 lines

  1. Interrupt List, part 5 of 10
  2. This compilation is Copyright (c) 1989,1990,1991,1992,1993 Ralf Brown
  3. --------D-2180-------------------------------
  4. INT 21 - European MS-DOS 4.0 - "AEXEC" - EXECUTE PROGRAM IN BACKGROUND
  5.     AH = 80h
  6.     CX = mode
  7.         0000h place child in zombie mode on exit to preserve exit code
  8.         0001h discard child process and exit code on termination
  9.     DS:DX -> ASCIZ full program name
  10.     ES:BX -> parameter block (as for AX=4B00h)
  11. Return: CF clear if successful
  12.         AX = Command Subgroup ID (CSID)
  13.     CF set on error
  14.         AX = error code (see AH=59h)
  15. Program: European MS-DOS 4.0 was written for Siemens in Germany and then used
  16.       by several other European OEMs; its release falls between mainstream
  17.       versions 3.2 and 3.3
  18. Desc:    asynchronously execute a program, creating a new process for it
  19. Notes:    this function is called by the DETACH command
  20.     there is a system-wide limit of 32 processes
  21.     the CSID is used to identify all processes that have been spawned by
  22.       a given process, whether directly or indirectly
  23.     programs to be run in the background must use the new executable format
  24.       (see AH=4Bh)
  25.     background processes may only perform asynchronous (background) EXECs,
  26.       either this function or AX=4B04h
  27.     background processes may execute INT 11, INT 12, INT 21, INT 2A, and
  28.       INT 2F at any time; they may execute INT 10 and INT 16 only while
  29.       they have opened a popup screen via INT 2F/AX=1401h; no other
  30.       interrupts may be executed from the background
  31.     background processes may not use drive B: or overlay their code
  32.       segments
  33.     see AX=8700h for an installation check
  34.     the "NE" new executable format made its first appearance in European
  35.       MS-DOS 4.0
  36. SeeAlso: AH=4Bh,AH=87h,INT 2F/AX=1400h"POPUP"
  37. ----------218080-----------------------------
  38. INT 21 - PCW Weather Card interface - UNINSTALL PCW.COM AND FREE MEMORY
  39.     AX = 8080h
  40. Return: ???
  41. SeeAlso: AX=7070h/BX=7070h
  42. --------D-2181-------------------------------
  43. INT 21 - European MS-DOS 4.0 - "FREEZE" - STOP A PROCESS
  44.     AH = 81h
  45.     BX = flag (00h freeze command subtree, 01h only specified process)
  46.     CX = Process ID of head of command subtree
  47. Return: CF clear if successful
  48.     CF set on error
  49.         AX = error code (no such process)
  50. Desc:    temporarily suspend a process or a process and all of its children
  51. Note:    if BX=0001h, this call will not return until the process is actually
  52.       frozen, which may not be until after it unblocks from an I/O
  53.       operation
  54. SeeAlso: AH=82h,AH=89h,AX=8E00h,INT 15/AX=101Dh
  55. --------D-2182-------------------------------
  56. INT 21 - European MS-DOS 4.0 - "RESUME" - RESTART A PROCESS
  57.     AH = 82h
  58.     BX = flag (00h resume command subtree, 01h only specified process)
  59.     CX = Process ID of head of command subtree
  60. Return: CF clear if successful
  61.     CF set on error
  62.         AX = error code (no such process)
  63. Desc:    restart a previously-suspended process or a process and all of its
  64.       children
  65. SeeAlso: AH=81h,INT 15/AX=101Eh
  66. --------D-2183-------------------------------
  67. INT 21 - European MS-DOS 4.0 - "PARTITION" - GET/SET FOREGROUND PARTITION SIZE
  68.     AH = 83h
  69.     AL = function
  70.         00h get size
  71.         01h set new size
  72.         BX = new size in paragraphs
  73. Return: CF clear if successful
  74.         BX = current size (function 00h) or old size (function 01h)
  75.     CF set on error
  76.         AX = error code (01h,07h,0Dh)(see AH=59h)
  77. Desc:    specify or determine how much memory may be allocated by the foreground
  78.       process
  79. Note:    if the partition size is set to 0000h, no partition management is done
  80.       and all memory allocation is compatible with DOS 3.2.
  81.     the partition size can be changed regardless of what use is being made
  82.       of the changed memory; subsequent allocations will follow the
  83.       partition rules (foreground processes may allocate only foreground
  84.       memory; background processes allocate background memory first, then
  85.       foreground memory)
  86. SeeAlso: AH=48h,AH=4Ah
  87. --------v-2183-------------------------------
  88. INT 21 - VIRUS - "SVC" - INSTALLATION CHECK
  89.     AH = 83h
  90. Return: DX = 1990h if resident
  91. SeeAlso: AH=76h,AH=84h"VIRUS"
  92. --------v-2184-------------------------------
  93. INT 21 - VIRUS - "SVC 5.0" or "SVC 6.0" - INSTALLATION CHECK
  94.     AH = 84h
  95. Return: DX = 1990h if resident
  96.         BH = version number (major in high nybble, minor in low)
  97. SeeAlso: AH=83h"VIRUS",AH=89h"VIRUS"
  98. --------D-218400-----------------------------
  99. INT 21 - European MS-DOS 4.0 - "CREATMEM" - CREATE A SHARED MEMORY AREA
  100.     AX = 8400h
  101.     BX = size in bytes (0000h = 65536)
  102.     CX = flags
  103.         bit 6: zero-initialize segment
  104.     DS:DX -> ASCIZ name (must begin with "\SHAREMEM\")
  105. Return: CF clear if successful
  106.         AX = segment address of shared memory global object
  107.     CF set on error
  108.         AX = error code (06h,08h) (see AH=59h)
  109. Desc:    create an area of memory which may be accessed by multiple processes
  110. Notes:    shared memory objects are created as special files (thus the
  111.       restriction on the name)
  112.     on successful creation, the reference count is set to 1
  113. SeeAlso: AX=8401h,AX=8402h,INT 15/AX=DE19h
  114. --------D-218401-----------------------------
  115. INT 21 - European MS-DOS 4.0 - "GETMEM" - OBTAIN ACCESS TO SHARED MEMORY AREA
  116.     AX = 8401h
  117.     CX = flags
  118.         bit 7: writable segment (ignored by MS-DOS 4.0)
  119.     DS:DX -> ASCIZ name (must begin with "\SHAREMEM\")
  120. Return: CF clear if successful
  121.         AX = segment address of shared memory global object
  122.         CX = size in bytes
  123.     CF set on error
  124.         AX = error code (invalid name)
  125. Desc:    get address of a previously-created area of memory which may be
  126.       accessed by multiple processes
  127. Note:    this call increments the reference count for the shared memory area
  128. SeeAlso: AX=8400h,AX=8402h
  129. --------D-218402-----------------------------
  130. INT 21 - European MS-DOS 4.0 - "RELEASEMEM" - FREE SHARED MEMORY AREA
  131.     AX = 8402h
  132.     BX = handle (segment address of shared memory object)
  133. Return: CF clear if successful
  134.     CF set on error
  135.         AX = error code (no such name)
  136. Desc:    indicate that the specified area of shared memory will no longer be
  137.       used by the caller
  138. Note:    the reference count is decremented and the shared memory area is
  139.       deallocated if the new reference count is zero
  140. SeeAlso: AX=8400h,AX=8401h,INT 15/AX=DE19h
  141. --------D-2185-------------------------------
  142. INT 21 U - European MS-DOS 4.0 - ???
  143.     AH = 85h
  144.     ???
  145. Return: ???
  146. --------D-2186-------------------------------
  147. INT 21 - European MS-DOS 4.0 - "SETFILETABLE" - INSTALL NEW FILE HANDLE TABLE
  148.     AH = 86h
  149.     BX = total number of file handles in new table
  150. Return: CF clear if successful
  151.     CF set on error
  152.         AX = error code (06h,08h) (see AH=59h)
  153. Desc:    adjust the size of the per-process open file table, thus raising or
  154.       lowering the limit on the number of files the caller can open
  155.       simultaneously
  156. Notes:    any currently-open files are copied to the new table
  157.     if the table is increased beyond the default 20 handles, only the
  158.       first 20 will be inherited by child processes
  159.     error 06h is returned if the requested number of handles exceeds
  160.       system limits or would require closing currently-open files
  161. SeeAlso: AH=26h,AH=67h
  162. --------D-2187-------------------------------
  163. INT 21 - European MS-DOS 4.0 - "GETPID" - GET PROCESS IDENTIFIER
  164.     AH = 87h
  165. Return: AX = PID
  166.     BX = parent process's PID
  167.     CX = Command Subgroup ID (CSID)
  168. Program: European MS-DOS 4.0 was written for Siemens in Germany and then used
  169.       by several other European OEMs; its release falls between mainstream
  170.       versions 3.2 and 3.3
  171. Desc:    determine an identifier by which to access the calling process
  172. Notes:    called by MS C v5.1 getpid() function
  173.     this function apparently must return AX=0001h for INT 21/AH=80h to
  174.       succeed
  175.     one possible check for European MS-DOS 4.0 is to issue this call with
  176.       AL=00h and check whether AL is nonzero on return
  177. SeeAlso: AH=30h,AH=62h,AH=80h
  178. Index:    installation check;European MS-DOS 4.0
  179. --------D-2188-------------------------------
  180. INT 21 U - European MS-DOS 4.0 - ???
  181.     AH = 88h
  182.     ???
  183. Return: ???
  184. SeeAlso: AH=87h
  185. --------D-2189-------------------------------
  186. INT 21 - European MS-DOS 4.0 - SLEEP
  187.     AH = 89h
  188.     CX = time in milliseconds or 0000h to give up time slice
  189. Return: CF clear if successful
  190.         CX = 0000h
  191.     CF set on error
  192.         AX = error code (interrupted system call)
  193.         CX = sleep time remaining
  194. Desc:    suspend the calling process for the specified duration
  195. Notes:    the sleep interval is rounded up to the next higher increment of the
  196.       scheduler clock, and may be extended further if other processes are
  197.       running
  198.     this call may be interrupted by signals (see AH=8Dh)
  199.     reportedly called by Microsoft C 4.0 startup code
  200.     background processes have higher priority than the foreground process,
  201.       and should thus periodically yield the CPU
  202. SeeAlso: AH=81h,INT 15/AX=1000h,INT 2F/AX=1680h,INT 7A/BX=000Ah
  203. --------v-2189-------------------------------
  204. INT 21 - VIRUS - "Vriest" - INSTALLATION CHECK
  205.     AH = 89h
  206. Return: AX = 0123h if resident
  207. SeeAlso: AH=84h"VIRUS",AH=90h"VIRUS"
  208. --------D-218A-------------------------------
  209. INT 21 - European MS-DOS 4.0 - "CWAIT" - WAIT FOR CHILD TO TERMINATE
  210.     AH = 8Ah
  211.     BL = range (00h command subtree, 01h any child)
  212.     BH = suspend flag
  213.         00h suspend if children exist but none are dead
  214.         01h return if no dead children
  215.     CX = Process ID of head of command subtree
  216. Return: CF clear if successful
  217.         AH = termination type
  218.         00h normal termination
  219.         01h aborted by Control-C
  220.         02h aborted by I/O error
  221.         03h terminate and stay resident
  222.         04h aborted by signal
  223.         05h aborted by program error
  224.         AL = return code from child or aborting signal
  225.         BX = PID of child (0000h if no dead children)
  226.     CF set on error
  227.         AX = error code (no child,interrupted system call)
  228. Desc:    get return code from an asynchronously-executed child program,
  229.       optionally waiting if no return code is available
  230. SeeAlso: AH=4Bh,AH=4Dh,AH=80h,AH=8Dh
  231. --------D-218B-------------------------------
  232. INT 21 U - European MS-DOS 4.0 - ???
  233.     AH = 8Bh
  234.     ???
  235. Return: ???
  236. SeeAlso: AH=87h
  237. --------D-218C-------------------------------
  238. INT 21 - European MS-DOS 4.0 - SET SIGNAL HANDLER
  239.     AH = 8Ch
  240.     AL = signal number (see below)
  241.     BL = action (see below)
  242.     DS:DX -> signal handler
  243. Return: CF clear if successful
  244.         AL = previous action
  245.         ES:BX -> previous signal handler
  246.     CF set on error
  247.         AX = error code (01h,invalid SigNumber or Action) (see AH=59h)
  248. Desc:    set the routine which will be invoked on a number of exceptional
  249.       conditions
  250. Note:    all signals will be sent to the most recently installed handler
  251. SeeAlso: AH=8Dh
  252.  
  253. Values for signal number:
  254.  01h    SIGINTR        Control-C or user defined interrupt key
  255.  08h    SIGTERM        program termination
  256.  09h    SIGPIPE        broken pipe
  257.  0Dh    SIGUSER1    reserved for user definition
  258.  0Eh    SIGUSER2    reserved for user definition
  259.  
  260. Values for signal action:
  261.  00h    SIG_DFL        terminate process on receipt
  262.  01h    SIG_IGN        ignore signal
  263.  02h    SIG_GET        signal is accepted
  264.  03h    SIG_ERR        sender gets error
  265.  04h    SIG_ACK        acknowledge received signal and clear it, but don't
  266.             change current setting
  267.  
  268. Signal handler is called with:
  269.     AL = signal number
  270.     AH = signal argument
  271. Return: RETF, CF set: terminate process
  272.     RETF, CF clear, ZF set: abort any interrupted system call with an error
  273.     RETF, CF clear, ZF clear: restart any interrupted system call
  274.     IRET: restart any interrupted system call
  275. Note:    the signal handler may also perform a nonlocal GOTO by resetting the
  276.       stack pointer and jumping; before doing so, it should dismiss the
  277.       signal by calling this function with BL=04h
  278. --------D-218D-------------------------------
  279. INT 21 - European MS-DOS 4.0 - SEND SIGNAL
  280.     AH = 8Dh
  281.     AL = signal number (see AH=8Ch)
  282.     BH = signal argument
  283.     BL = action
  284.         00h send to entire command subtree
  285.         01h send only to specified process
  286.     DX = Process ID
  287. Return: CF clear if successful
  288.     CF set on error
  289.         AX = error code (01h,06h)(see AH=59h)
  290. Desc:    invoke the exceptional-condition handler for the specified process
  291. Note:    error 06h may be returned if one or more of the affected processes
  292.       have an error handler for the signal
  293. SeeAlso: AH=8Ch
  294. --------D-218E00BH00-------------------------
  295. INT 21 - European MS-DOS 4.0 - "SETPRI" - GET/SET PROCESS PRIORITY
  296.     AX = 8E00h
  297.     BH = 00h
  298.     BL = action
  299.         00h set priority for command subtree
  300.         01h set priority for specified process only
  301.     CX = Process ID
  302.     DH = 00h
  303.     DL = change in priority (00h to get priority)
  304. Return: CF clear if successful
  305.         DL = process priority
  306.         DH destroyed
  307.     CF set on error
  308.         AX = error code (01h,no such process)(see AH=59h)
  309. Desc:    specify or determine the execution priority of the specified process
  310.       or the process and all of its children
  311. SeeAlso: AH=81h
  312. --------D-218F-------------------------------
  313. INT 21 U - European MS-DOS 4.0 - ???
  314.     AH = 8Fh
  315.     ???
  316. Return: ???
  317. SeeAlso: AH=87h
  318. --------D-2190-------------------------------
  319. INT 21 U - European MS-DOS 4.0 - ???
  320.     AH = 90h
  321.     ???
  322. Return: ???
  323. SeeAlso: AH=87h
  324. --------v-2190-------------------------------
  325. INT 21 - VIRUS - "Carioca" - INSTALLATION CHECK
  326.     AH = 90h
  327. Return: AH = 01h if resident
  328. SeeAlso: AH=89h"VIRUS",AX=9753h"VIRUS"
  329. --------D-2191-------------------------------
  330. INT 21 U - European MS-DOS 4.0 - ???
  331.     AH = 91h
  332.     ???
  333. Return: ???
  334. SeeAlso: AH=87h
  335. --------D-2192-------------------------------
  336. INT 21 U - European MS-DOS 4.0 - ???
  337.     AH = 92h
  338.     ???
  339. Return: ???
  340. SeeAlso: AH=87h
  341. --------D-2193-------------------------------
  342. INT 21 - European MS-DOS 4.0 - "PIPE" - CREATE A NEW PIPE
  343.     AH = 93h
  344.     CX = size in bytes
  345. Return: CF clear if successful
  346.         AX = read handle
  347.         BX = write handle
  348.     CF set on error
  349.         AX = error code (08h) (see AH=59h)
  350. Desc:    create a communications channel which may be used for interprocess
  351.       data and command exchanges
  352. SeeAlso: AH=3Ch,AH=3Fh,AH=40h,AH=84h
  353. --------D-2194-------------------------------
  354. INT 21 U - European MS-DOS 4.0 - ???
  355.     AH = 94h
  356.     ???
  357. Return: ???
  358. SeeAlso: AH=87h
  359. --------D-2195-------------------------------
  360. INT 21 - European MS-DOS 4.0 - HARD ERROR PROCESSING
  361.     AH = 95h
  362.     AL = new state
  363.        00h enabled
  364.        01h disabled, automatically fail hard errors
  365. Return: AX = previous setting
  366. Desc:    specify whether hard (critical) errors should automatically fail the
  367.       system call or invoke an INT 24
  368. SeeAlso: INT 24
  369. --------D-2196-------------------------------
  370. INT 21 U - European MS-DOS 4.0 - ???
  371.     AH = 96h
  372.     ???
  373. Return: ???
  374. --------D-2197-------------------------------
  375. INT 21 U - European MS-DOS 4.0 - ???
  376.     AH = 97h
  377.     ???
  378. Return: ???
  379. --------v-219753-----------------------------
  380. INT 21 - VIRUS - "Nina" - INSTALLATION CHECK
  381.     AX = 9753h
  382. Return: never (executes original program) if virus resident
  383. SeeAlso: AH=90h"VIRUS",AX=A1D5h"VIRUS"
  384. --------D-2198-------------------------------
  385. INT 21 U - European MS-DOS 4.0 - ???
  386.     AH = 98h
  387.     ???
  388. Return: ???
  389. --------D-2199-------------------------------
  390. INT 21 u - European MS-DOS 4.0 - "PBLOCK" - BLOCK A PROCESS
  391.     AH = 99h
  392.     DS:BX -> memory location to block on
  393.     CX = timeout in milliseconds
  394.     DH = nonzero if interruptable
  395. Return: CF clear if awakened by event
  396.         AX = 0000h
  397.     CF set if unusual wakeup
  398.         ZF set if timeout, clear if interrupted by signal
  399.         AX = nonzero
  400. Desc:    suspend calling process until another process sends a "restart" signal
  401.       or a timeout occurs
  402. SeeAlso: AH=9Ah,INT 2F/AX=0802h
  403. --------D-219A-------------------------------
  404. INT 21 u - European MS-DOS 4.0 - "PRUN" - UNBLOCK A PROCESS
  405.     AH = 9Ah
  406.     DS:BX -> memory location processes may have blocked on
  407. Return: AX = number of processes awakened
  408.     ZF set if no processes awakened
  409. Program: European MS-DOS 4.0 was written for Siemens in Germany and then used
  410.       by several other European OEMs; its release falls between mainstream
  411.       versions 3.2 and 3.3
  412. Desc:    restart all processes waiting for the specified "restart" signal
  413. SeeAlso: AH=99h,INT 2F/AX=0802h
  414. --------I-21A0-------------------------------
  415. INT 21 - Attachmate Extra - GET 3270 DISPLAY STATE
  416.     AH = A0h
  417. Return: AL = display status
  418.         bit     7  : 0=windowed, 1=enlarged
  419.         bits 6-3: current screen profile number 0-9
  420.         bits 2-0: active window number
  421.             0=PC, 1-4=host B-E, 5-6=notepad F-G
  422.     BX = host window status (see below)
  423. Program: Attachmate Extra is a 3270 emulator by Attachmate Corporation
  424. SeeAlso: AH=A1h
  425.  
  426. Bitfields for host window status:
  427.  bit 15 reserved
  428.  bit 14 0=host E window installed, 1=not
  429.  bit 13 0=host E terminal on, 1=off
  430.  bit 12 0=host E window displayed, 1=not
  431.  bit 11 reserved
  432.  bit 10 0=host D window installed, 1=not
  433.  bit 9    0=host D terminal on, 1=off
  434.  bit 8    0=host D window displayed, 1=not
  435.  bit 7    reserved
  436.  bit 6    0=host C window installed, 1=not
  437.  bit 5    0=host C terminal on, 1=off
  438.  bit 4    0=host C window displayed, 1=not
  439.  bit 3    reserved
  440.  bit 2    0=host B window installed, 1=not
  441.  bit 1    0=host B terminal on, 1=off
  442.  bit 0    0=host B window displayed, 1=not
  443. --------I-21A1-------------------------------
  444. INT 21 - Attachmate Extra - SET 3270 DISPLAY STATE
  445.     AH = A1h
  446.     AL = set status byte
  447.         bit     7  : 0=windowed, 1=enlarged
  448.         bits 6-3: current screen profile number 0-9
  449.         bits 2-0: active window number
  450.             0=PC, 1-4=host B-E, 5-6=notepad F-G
  451. SeeAlso: AH=A0h,AH=A2h
  452. --------v-21A1D5-----------------------------
  453. INT 21 - VIRUS - "789"/"Filehider" - INSTALLATION CHECK
  454.     AX = A1D5h
  455. Return: AX = 900Dh if resident
  456. SeeAlso: AX=9753h,AX=A55Ah
  457. --------I-21A2-------------------------------
  458. INT 21 - Attachmate Extra - SET HOST WINDOW STATE
  459.     AH = A2h
  460.     AL = set status byte
  461.         bit     7  : 0=power off, 1=power on
  462.         bit     6  : 0=not installed, 1=installed
  463.         bits 5-3: reserved
  464.         bits 2-0: window number 1-4=host B-E
  465. SeeAlso: AH=A1h
  466. --------I-21A3-------------------------------
  467. INT 21 - Attachmate Extra - SEND KEYSTROKES TO HOST WINDOW
  468.     AH = A3h
  469.     AL = window number (1-4=host B-E)
  470.     CX = 0001h
  471.     DS:BX -> keystroke buffer
  472.     DL = zero if keystroke buffer contains host function code,
  473.          non-zero if keystroke buffer contains ASCII character
  474. Return: CX = zero if character sent, non-zero if not
  475.     BX incremented if CX=0
  476.  
  477. Values for host function code:
  478.     00h=reserved    10h=PF16    20h=Clear    30h=SysRq
  479.     01h=PF1        11h=PF17    21h=Print    31h=ErInp
  480.     02h=PF2        12h=PF18    22h=Left    32h=ErEof
  481.     03h=PF3        13h=PF19    23h=Right    33h=Ident
  482.     04h=PF4        14h=PF20    24h=Up        34h=Test
  483.     05h=PF5        15h=PF21    25h=Down    35h=Reset
  484.     06h=PF6        16h=PF22    26h=Home    36h=DevCncl
  485.     07h=PF7        17h=PF23    27h=Fast Left    37h=Dup
  486.     08h=PF8        18h=PF24    28h=Fast Right    38h=FldMark
  487.     09h=PF9        19h=Alt on    29h=Bksp    39h=Enter
  488.     0Ah=PF10    1Ah=Alt off    2Ah=Insert    3Ah=CrSel
  489.     0Bh=PF11    1Bh=Shift on    2Bh=Delete
  490.     0Ch=PF12    1Ch=Shift off    2Ch=Backtab
  491.     0Dh=PF13    1Dh=PA1        2Dh=Tab
  492.     0Eh=PF14    1Eh=PA2        2Eh=Newline
  493.     0Fh=PF15    1Fh=PA3        2Fh=Attn
  494. --------I-21A4-------------------------------
  495. INT 21 - Attachmate Extra - GET HOST WINDOW BUFFER ADDRESS
  496.     AH = A4h
  497.     AL = window number (1-4=host B-E)
  498. Return: DS:BX -> 3270 display buffer
  499. SeeAlso: AH=A5h,AH=B8h
  500. --------I-21A5-------------------------------
  501. INT 21 - Attachmate Extra - GET HOST WINDOW CURSOR POSITION
  502.     AH = A5h
  503.     AL = window number (1-4=host B-E)
  504. Return: BX = cursor position (80 * row + column, where 0:0 is upper left)
  505. Note:    if the host window is configured with the Extended Attribute (EAB)
  506.       feature, multiply the cursor position by 2 to obtain the byte offset
  507.       into the display buffer
  508. SeeAlso: AH=A4h
  509. --------v-21A55A-----------------------------
  510. INT 21 - VIRUS - "Eddie-2" - INSTALLATION CHECK
  511.     AX = A55Ah
  512. Return: AX = 5AA5h if resident
  513. SeeAlso: AX=A1D5h,AX=AA00h
  514. --------v-21AA00-----------------------------
  515. INT 21 - VIRUS - "Blinker" - INSTALLATION CHECK
  516.     AX = AA00h
  517. Return: AX = 00AAh if resident
  518. SeeAlso: AX=A55Ah,AX=AA03h
  519. --------v-21AA03-----------------------------
  520. INT 21 - VIRUS - "Backtime" - INSTALLATION CHECK
  521.     AX = AA03h
  522. Return: AX = 03AAh if resident
  523. SeeAlso: AX=AA00h,AH=ABh
  524. --------v-21AB-------------------------------
  525. INT 21 - VIRUS - "600" or "Voronezh"-family - INSTALLATION CHECK
  526.     AH = ABh
  527. Return: AX = 5555h if resident
  528. SeeAlso: AX=AA03h,AX=BBBBh"VIRUS"
  529. --------I-21AF-------------------------------
  530. INT 21 - Attachmate Extra - GET TRANSLATE TABLE ADDRESS
  531.     AH = AFh
  532. Return: DS:BX -> translate tables (see below)
  533.  
  534. Format of translate tables:
  535. Offset    Size    Description
  536.  00h 256 BYTEs    ASCII to 3270 buffer code translate table
  537. 100h 256 BYTEs    3270 buffer code to ASCII translate table
  538. 200h 256 BYTEs    3270 buffer code to EBCDIC translate table
  539. 300h 256 BYTEs    EBCDIC to 3270 buffer code translate table
  540. --------N-21B4-------------------------------
  541. INT 21 U - Novell Netware - "AttachHandle"
  542.     AH = B4h
  543.     DS:SI -> input buffer (see below)
  544. Return: AX = handle or return code
  545. Note:    this is an interface provided by NetWare to give DOS file access to
  546.       NetWare files on non-DOS systems such as Macintosh, OS/2, and Unix
  547.  
  548. Format of input buffer:
  549. Offset    Size    Description
  550.  00h    BYTE    "WorkFileServer"
  551.  01h    BYTE    access code
  552.  02h    DWORD    "OpenHandle"
  553.  06h    WORD    "OpenHandleCount"
  554.  08h    DWORD    "OpenFileSize"
  555. --------N-21B500-----------------------------
  556. INT 21 U - Novell NetWare - VNETWARE.386 API - GET INSTANCE DATA
  557.     AX = B500h
  558. Return: ES:BX -> data
  559.     CX = length
  560. SeeAlso: AX=B501h,AX=B502h
  561. --------N-21B501-----------------------------
  562. INT 21 U - Novell NetWare - VNETWARE.386 API - END VIRTUAL MACHINE
  563.     AX = B501h
  564. SeeAlso: AX=B500h,AX=B502h
  565. --------N-21B502-----------------------------
  566. INT 21 U - Novell NetWare - VNETWARE.386 API - START VIRTUAL MACHINE
  567.     AX = B502h
  568. SeeAlso: AX=B500h,AX=B501h
  569. --------N-21B5-------------------------------
  570. INT 21 - Novell NetWare shell 3.01 - TASK MODE CONTROL
  571.     AH = B5h
  572.     AL = subfunction
  573.         03h get task mode
  574.         Return: AH = 00h
  575.             AL = current task mode byte
  576.         04h get task mode pointer
  577.         Return: ES:BX -> task mode byte
  578. Notes:    the task mode byte specifies how task cleanup should be performed, but
  579.       is declared to be version-dependent
  580.     allows a program to disable the automatic cleanup for programs managing
  581.       task swapping, etc.
  582.  
  583. Values for task mode byte in version 3.01:
  584.  00h-03h reserved
  585.  04h     no task cleanup
  586. --------N-21B505-----------------------------
  587. INT 21 U - Novell NetWare - VNETWARE.386 API - SET VIRTUAL MACHINE ID
  588.     AX = B505h
  589.     ???
  590. Return: ???
  591. SeeAlso: AX=B502h,AX=B506h
  592. --------N-21B506-----------------------------
  593. INT 21 U - Novell NetWare - VNETWARE.386 API - GET VIRTUAL MACH SUPPORT LEVEL
  594.     AX = B506h
  595. Return: AX = ??? (0002h)
  596. SeeAlso: AX=B505h
  597. --------N-21B6-------------------------------
  598. INT 21 - Novell NetWare - FILE SERVICES - EXTENDED FILE ATTRIBUTES
  599.     AH = B6h
  600.     AL = subfunction
  601.         00h get extended file attributes
  602.         01h set extended file attributes
  603.         CL = extended file attributes (see below)
  604.     DS:DX -> ASCIZ pathname (max 255 bytes)
  605. Return: CF set on error
  606.         AL = error code
  607.         8Ch caller lacks privileges
  608.         FEh not permitted to search directory
  609.         FFh file not found
  610.     CF clear if successful
  611.         AL = 00h (success)
  612.         CL = current extended file attributes (see below)
  613. Note:    this function is supported by Advanced NetWare 2.1+
  614. SeeAlso: AX=4300h,AH=E3h/SF=0Fh
  615.  
  616. Bitfields for extended file attributes:
  617.  bits 2-0  search mode (executables only)
  618.     000 none (use shell's default search)
  619.     001 search on all opens without path
  620.     010 do not search
  621.     011 search on read-only opens without path
  622.     100 reserved
  623.     101 search on all opens
  624.     110 reserved
  625.     111 search on all read-only opens
  626.  bit 3    reserved
  627.  bit 4    transactions on file tracked
  628.  bit 5    file's FAT indexed
  629.  bit 6    read audit (to be implemented)
  630.  bit 7    write audit (to be implemented)
  631. --------N-21B7-------------------------------
  632. INT 21 U - Novell NetWare - "HoldFileModeSet" (obsolete)
  633.     AH = B7h
  634.     AL = new value for HoldFileFlag
  635. Return: AL = previous value of HoldFileFlag
  636. Note:    this function provided backward compatibility with a bug in early
  637.       DOS versions and CP/M, but is no longer used or supported
  638. --------I-21B8-------------------------------
  639. INT 21 - Attachmate Extra - DISABLE HOST BUFFER UPDATES
  640.     AH = B8h
  641.     AL = window number (1-4=host B-E)
  642.     DL = 01h
  643. Notes:    only valid in CUT mode
  644.     next AID keystroke (eg Enter) enables host buffer updates
  645. SeeAlso: AH=A4h
  646. --------N-21B800-----------------------------
  647. INT 21 - Novell NetWare - PRINT SERVICES - GET DEFAULT CAPTURE FLAGS
  648.     AX = B800h
  649.     CX = size of reply buffer (01h-3Fh)
  650.     ES:BX -> reply buffer for capture flags table (see below)
  651. Return: AL = status
  652.         00h successful
  653. Note:    this function is supported by Advanced NetWare 2.0+
  654. SeeAlso: AX=B801h,AX=B802h,AH=DFh/DL=00h,AH=DFh/DL=04h
  655.  
  656. Format of capture flags table:
  657. Offset    Size    Description
  658.  00h    BYTE    status (used internally, should be set to 00h)
  659.  01h    BYTE    print flags
  660.         bit 2: print capture file if interrupted by loss of connection
  661.         bit 3: no automatic form feed after print job
  662.         bit 6: printing control sequences interpreted by print service
  663.         bit 7: print banner page before capture file
  664.  02h    BYTE    tab size (01h-12h, default 08h)
  665.  03h    BYTE    printer number on server (00h-04h, default 00h)
  666.  04h    BYTE    number of copies to print (00h-FFh, default 01h)
  667.  05h    BYTE    form type required in printer (default 00h)
  668.  06h    BYTE    reserved
  669.  07h 13 BYTEs    text to be placed on banner page
  670.  14h    BYTE    reserved
  671.  15h    BYTE    default local printer (00h = LPT1)
  672.  16h    WORD    (big-endian) timeout in clock ticks for flushing capture file
  673.         on inactivity, or 0000h to disable timeout
  674.  18h    BYTE    flush capture file on LPT close if nonzero
  675.  19h    WORD    (big-endian) maximum lines per page
  676.  1Bh    WORD    (big-endian) maximum characters per line
  677.  1Dh 13 BYTEs    name of form required in printer
  678.  2Ah    BYTE    LPT capture flag
  679.         00h inactive, FFh LPT device is being captured
  680.  2Bh    BYTE    file capture flag
  681.         00h if no file specified, FFh if capturing to file
  682.  2Ch    BYTE    timing out (00h if no timeout in effect, FFh if timeout counter
  683.         running)
  684.  2Dh    DWORD    (big-endian) address of printer setup string
  685.  31h    DWORD    (big-endian) address of printer reset string
  686.  35h    BYTE    target connection ID
  687.  36h    BYTE    capture in progress if FFh
  688.  37h    BYTE    job queued for printing if FFh
  689.  38h    BYTE    print job valid if FFh
  690.  39h    DWORD    bindery object ID of print queue if previous byte FFh
  691.  3Dh    WORD    (big-endian) print job number (1-999)
  692. --------N-21B801-----------------------------
  693. INT 21 - Novell NetWare - PRINT SERVICES - SET DEFAULT CAPTURE FLAGS
  694.     AX = B801h
  695.     CX = size of buffer (01h-3Fh)
  696.     ES:BX -> buffer containing capture flags table (see below)
  697. Return: AL = status
  698.         00h successful
  699. Note:    this function is supported by Advanced NetWare 2.0+
  700. SeeAlso: AX=B800h,AX=B803h,AH=DFh/DL=00h,AH=DFh/DL=04h
  701. --------N-21B802-----------------------------
  702. INT 21 - Novell NetWare - PRINT SERVICES - GET SPECIFIC CAPTURE FLAGS
  703.     AX = B802h
  704.     CX = size of reply buffer (01h-3Fh)
  705.     DH = LPT port (00h-02h)
  706.     ES:BX -> reply buffer for capture flags table (see AX=B800h)
  707. Return: AL = status
  708.         00h successful
  709. Note:    this function is supported by Advanced NetWare 2.1+
  710. SeeAlso: AX=B800h,AX=B803h,AH=DFh/DL=00h,AH=DFh/DL=04h
  711. --------N-21B803-----------------------------
  712. INT 21 - Novell NetWare - PRINT SERVICES - SET SPECIFIC CAPTURE FLAGS
  713.     AX = B803h
  714.     CX = size of buffer (01h-3Fh)
  715.     DH = LPT port (00h-02h)
  716.     ES:BX -> buffer containing capture flags table (see below)
  717. Return: AL = status
  718.         00h successful
  719. Note:    this function is supported by Advanced NetWare 2.1+
  720. SeeAlso: AX=B800h,AX=B803h,AH=DFh/DL=00h,AH=DFh/DL=04h
  721. --------N-21B804-----------------------------
  722. INT 21 - Novell NetWare - PRINT SERVICES - GET DEFAULT LOCAL PRINTER
  723.     AX = B804h
  724. Return: DH = default LPT port (00h-02h)
  725. Note:    this function is supported by Advanced NetWare 2.1+
  726. SeeAlso: AX=B800h,AX=B805h,AH=DFh/DL=00h
  727. --------N-21B805-----------------------------
  728. INT 21 - Novell NetWare - PRINT SERVICES - SET DEFAULT LOCAL PRINTER
  729.     AX = B805h
  730.     DH = new default LPT port (00h-02h)
  731. Return: AL = status
  732.         00h successful
  733. Note:    this function is supported by Advanced NetWare 2.1+
  734. SeeAlso: AX=B800h,AX=B804h,AH=DFh/DL=00h
  735. --------N-21B806-----------------------------
  736. INT 21 - Novell NetWare - PRINT SERVICES - SET CAPTURE PRINT QUEUE
  737.     AX = B806h
  738.     DH = LPT port (00h-02h)
  739.     BX:CX = print queue's object ID
  740. Return: AL = status
  741.         00h successful
  742.         FFh job already set
  743. Desc:    specify the print queue on which a print job is to be placed the next
  744.       time a capture is started on the given printer port
  745. Note:    this function is supported by Advanced NetWare 2.1+
  746. SeeAlso: AX=B801h,AX=B807h,AX=E009h
  747. --------N-21B807-----------------------------
  748. INT 21 - Novell NetWare - PRINT SERVICES - SET CAPTURE PRINT JOB
  749.     AX = B807h
  750.     DH = LPT port (00h-02h)
  751.     BX = job number (see AH=E3h/SF=68h)
  752.     SI:DI:CX = NetWare file handle (see AH=E3h/SF=68h)
  753. Return: AL = status
  754.         00h successful
  755.         FFh job already queued
  756. Desc:    specify the capture file and print job to be used for subsequent
  757.       output to the given printer port
  758. Note:    this function is supported by Advanced NetWare 2.1+
  759. SeeAlso: AX=B801h,AX=B806h,AX=E009h,AH=E3h/SF=68h
  760. --------N-21B808-----------------------------
  761. INT 21 - Novell NetWare - PRINT SERVICES - GET BANNER USER NAME
  762.     AX = B808h
  763.     ES:BX -> 12-byte buffer for user name
  764. Return: AL = status
  765.         00h successful
  766. Desc:    get the user name which is printed on the banner page
  767. Notes:    this function is supported by Advanced NetWare 2.1+
  768.     the default name is the login name of the user
  769. SeeAlso: AX=B809h
  770. --------N-21B809-----------------------------
  771. INT 21 - Novell NetWare - PRINT SERVICES - SET BANNER USER NAME
  772.     AX = B809h
  773.     ES:BX -> 12-byte buffer containing user name
  774. Return: AL = status
  775.         00h successful
  776. Desc:    specify the user name which is printed on the banner page
  777. Notes:    this function is supported by Advanced NetWare 2.1+
  778.     the default name is the login name of the user
  779. SeeAlso: AX=B808h
  780. --------N-21B9-------------------------------
  781. INT 21 U - Novell NetWare - "SpecialAttachableFunction"
  782.     AH = B9h
  783.     AL = FFh to hook this function
  784.         ES:BX -> function to invoke on AH=B9h when AL<>FFh
  785. Note:    this function is no longer used or supported by current versions of
  786.       NetWare
  787. --------N-21BA-------------------------------
  788. INT 21 U - Novell NetWare - "ReturnCommandComPointers"
  789.     AH = BAh
  790. Return: DX = environment segment
  791.     ES:DI -> COMMAND.COM drive
  792. Desc:    used to edit the COMSPEC and PATH variables in the master environment
  793.       when mapping network drives
  794. Note:    this function was documented in older Novell documents which are no
  795.       longer available
  796. --------N-21BB-------------------------------
  797. INT 21 - Novell NetWare - WORKSTATION - SET END OF JOB STATUS
  798.     AH = BBh
  799.     AL = new EOJ flag
  800.         00h disable EOJs
  801.         01h enable EOJs
  802. Return: AL = old EOJ flag
  803. Desc:    specify whether the network shell should automatically generate an
  804.       End of Job call when the root command processor regains control
  805. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  806.       Alloy NTNX
  807. SeeAlso: AH=19h,AH=D6h
  808. --------v-21BBBB-----------------------------
  809. INT 21 - VIRUS - "Hey You" - INSTALLATION CHECK
  810.     AX = BBBBh
  811. Return: AX = 6969h
  812. SeeAlso: AH=ABh"VIRUS",AH=BEh"VIRUS"
  813. --------N-21BC-------------------------------
  814. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOG PHYSICAL RECORD
  815.     AH = BCh
  816.     AL = flags
  817.         bit 0: lock as well as log record
  818.         bit 1: non-exclusive lock
  819.     BX = file handle
  820.     CX:DX = starting offset in file
  821.     SI:DI = length of region to lock
  822.     BP = timeout in timer ticks (1/18 sec)
  823.         0000h = don't wait if already locked
  824. Return: AL = status
  825.         00h successful
  826.         96h no dynamic memory for file
  827.         FEh timed out
  828.         FFh failed
  829. Desc:    add the specified physical record to the log table, optionally locking
  830.       it
  831. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  832.       Alloy NTNX
  833. SeeAlso: AH=5Ch,AH=BDh,AH=BEh,AH=BFh,AH=C2h,AH=D0h
  834. --------N-21BD-------------------------------
  835. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE PHYSICAL RECORD
  836.     AH = BDh
  837.     BX = file handle
  838.     CX:DX = starting offset in file
  839.     SI:DI = length of record
  840. Return: AL = status
  841.         00h successful
  842.         FFh record not locked
  843. Desc:    unlock the specified physical record but do not remove it from log
  844.       table
  845. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  846.       Alloy NTNX
  847. SeeAlso: AH=BCh,AH=BEh"NetWare",AH=C0h,AH=C3h,AH=D2h
  848. --------N-21BE-------------------------------
  849. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR PHYSICAL RECORD
  850.     AH = BEh
  851.     BX = file handle
  852.     CX:DX = starting offset within file
  853.     SI:DI = record length in bytes
  854. Return: AL = status
  855.         00h successful
  856.         FFh specified record not locked
  857. Desc:    unlock the physical record and remove it from the log table
  858. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  859.       Alloy NTNX
  860. SeeAlso: AH=5Ch,AH=BCh,AH=BDh,AH=C1h,AH=C4h,AH=D4h
  861. --------v-21BE-------------------------------
  862. INT 21 - VIRUS - "Datalock" - INSTALLATION CHECK
  863.     AH = BEh
  864. Return: AX = 1234h if resident
  865. SeeAlso: AX=BBBBh,AX=BE00h
  866. --------v-21BE00-----------------------------
  867. INT 21 - VIRUS - "USSR-1049" - INSTALLATION CHECK
  868.     AX = BE00h
  869.     CF set
  870. Return: CF clear if resident
  871. SeeAlso: AH=BEh"VIRUS",AH=C0h"VIRUS"
  872. --------N-21BF-------------------------------
  873. INT 21 O - Novell NetWare, Alloy NTNX - LOG/LOCK RECORD (FCB)
  874.     AH = BFh
  875.     AL = flags
  876.         bit 0: lock as well as log record
  877.         bit 1: non-exclusive lock
  878.     DS:DX -> opened FCB (see AH=0Fh)
  879.     BX:CX = offset
  880.     BP = lock timeout in timer ticks (1/18 sec) if AL nonzero
  881.     SI:DI = length
  882. Return: AL = error code (see AH=BCh)
  883. Note:    this function was added in NetWare 4.6, but was removed some time prior
  884.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  885.       documentation
  886. SeeAlso: AH=BCh,AH=C0h"NetWare",AH=C2h"NetWare"
  887. --------N-21C0-------------------------------
  888. INT 21 O - Novell NetWare, Alloy NTNX - RELEASE RECORD (FCB)
  889.     AH = C0h
  890.     DS:DX -> non-extended FCB (see AH=0Fh)
  891.     BX:CX = offset
  892. Return: AL = error code (see AH=BCh)
  893. Notes:    unlocks record but does not remove it from log table
  894.     this function was added in NetWare 4.6, but was removed some time prior
  895.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  896.       documentation
  897. SeeAlso: AH=BDh,AH=BFh,AH=C1h"NetWare",AH=C3h
  898. --------v-21C0-------------------------------
  899. INT 21 - VIRUS - "Slow"/"Zerotime", "Solano" - INSTALLATION CHECK
  900.     AH = C0h
  901. Return: AX = 0300h if "Slow"/"Zerotime" resident
  902.     AX = 1234h if "Solano" resident
  903. SeeAlso: AX=BE00h,AH=C1h"VIRUS",AX=C301h"VIRUS"
  904. --------N-21C1-------------------------------
  905. INT 21 O - Novell NetWare, Alloy NTNX - CLEAR RECORD (FCB)
  906.     AH = C1h
  907.     DS:DX -> opened FCB (see AH=0Fh)
  908.     BX:CX = offset
  909. Return: AL = error code (see AH=BCh)
  910. Note:    unlocks record and removes it from log table
  911.     this function was added in NetWare 4.6, but was removed some time prior
  912.       to Advanced NetWare, and is no longer listed in current Novell
  913.       documentation
  914. SeeAlso: AH=BEh,AH=C0h"NetWare",AH=C4h
  915. --------v-21C1-------------------------------
  916. INT 21 - VIRUS - "Solano" - ???
  917.     AH = C1h
  918.     ???
  919. Return: ???
  920. SeeAlso: AH=C0h"VIRUS"
  921. --------N-21C2-------------------------------
  922. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOCK PHYSICAL RECORD SET
  923.     AH = C2h
  924.     AL = flags
  925.         bit 1: non-exclusive lock
  926.     BP = lock timeout in timer ticks (1/18 sec) 0000h = no wait
  927. Return: AL = status
  928.         00h successful
  929.         FEh timed out
  930.         FFh failed
  931. Desc:    attempt to lock all physical records listed in the log table
  932. Notes:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  933.       Alloy NTNX
  934.     status FFh will be retuend if one or more physical records have been
  935.       exclusively locked by another process
  936. SeeAlso: AH=BFh,AH=C3h,AH=D1h
  937. --------v-21C2-------------------------------
  938. INT 21 - VIRUS - "Scott's Valley" - ???
  939.     AH = C2h
  940.     ???
  941. Return: ???
  942. SeeAlso: AH=C0h"VIRUS"
  943. --------N-21C3-------------------------------
  944. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE PHYSICAL RECRD SET
  945.     AH = C3h
  946. Desc:    unlock all currently-locked physical records in the log table, but do
  947.       not remove them from the table
  948. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  949.       Alloy NTNX
  950. SeeAlso: AH=BDh,AH=C0h,AH=C2h"NetWare",AH=C4h,AH=D3h
  951. --------v-21C301DXF1F1-----------------------
  952. INT 21 - VIRUS - "905"/"Backfont" - INSTALLATION CHECK
  953.     AX = C301h
  954.     DX = F1F1h
  955. Return: DX = 0E0Eh if resident
  956. SeeAlso: AH=C0h"VIRUS",AX=C500h"VIRUS"
  957. --------N-21C4-------------------------------
  958. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR PHYSICAL RECORD SET
  959.     AH = C4h
  960. Desc:    unlock all physical records in the log table and remove them from the
  961.       log table
  962. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  963.       Alloy NTNX
  964. SeeAlso: AH=BEh,AH=C1h,AH=D5h
  965. --------N-21C500-----------------------------
  966. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - OPEN SEMAPHORE
  967.     AX = C500h
  968.     DS:DX -> semaphore name (counted string, max 127 bytes)
  969.     CL = initial value for semaphore
  970. Return: AL = status
  971.         00h successful
  972.         BL = number of processes having semaphore open
  973.         CX:DX = semaphore handle
  974.         FEh invalid name length
  975.         FFh invalid semaphore value
  976. Notes:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  977.       Alloy NTNX
  978.     the semaphore's value is incremented by AX=C503h and decremented by
  979.       AX=C502h
  980. SeeAlso: AX=C501h,AX=C502h,AX=C503h,AX=C504h
  981. --------v-21C500-----------------------------
  982. INT 21 - VIRUS - "Sverdlov" - INSTALLATION CHECK
  983.     AX = C500h
  984. Return: AX = 6731h if resident
  985. SeeAlso: AX=C301h"VIRUS",AH=C6h"VIRUS"
  986. --------N-21C501-----------------------------
  987. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - EXAMINE SEMAPHORE
  988.     AX = C501h
  989.     CX:DX = semaphore handle
  990. Return: AL = status
  991.         00h successful
  992.         CX = semaphore value (-127 to 127)
  993.         DL = count of processes which have the semaphore open
  994.         FFh invalid handle
  995. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  996.       Alloy NTNX
  997. SeeAlso: AX=C500h"NetWare",AX=C502h,AX=C504h
  998. --------N-21C502-----------------------------
  999. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - WAIT ON SEMAPHORE
  1000.     AX = C502h
  1001.     CX:DX = semaphore handle
  1002.     BP = timeout limit in timer ticks (1/18 sec)
  1003.         0000h return immediately if semaphore already zero or negative
  1004. Return: AL = status
  1005.         00h successful
  1006.         FEh timeout
  1007.         FFh invalid handle
  1008. Desc:    decrement the semaphore's value, optionally waiting until its value
  1009.       becomes positive before decrementing
  1010. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  1011.       Alloy NTNX
  1012. SeeAlso: AX=C500h"NetWare",AX=C501h,AX=C503h
  1013. --------N-21C503-----------------------------
  1014. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - SIGNAL SEMAPHORE
  1015.     AX = C503h
  1016.     CX:DX = semaphore handle
  1017. Return: AL = status
  1018.         00h successful
  1019.         01h semaphore value overflowed
  1020.         FFh invalid handle
  1021. Desc:    increment the semaphore's value and signal the first process (if any)
  1022.       in the queue waiting on the semaphore
  1023. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  1024.       Alloy NTNX
  1025. SeeAlso: AX=C500h"NetWare",AX=C502h
  1026. --------N-21C504-----------------------------
  1027. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLOSE SEMAPHORE
  1028.     AX = C504h
  1029.     CX:DX = semaphore handle
  1030. Return: AL = status
  1031.         00h successful
  1032.         FFh invalid handle
  1033. Desc:    decrement the semaphore's open count, and delete the semaphore if the
  1034.       count reaches zero
  1035. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  1036.       Alloy NTNX
  1037. SeeAlso: AX=C500h"NetWare",AX=C501h
  1038. --------N-21C6-------------------------------
  1039. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - GET OR SET LOCK MODE
  1040.     AH = C6h
  1041.     AL = subfunction
  1042.         00h set old "compatibility" mode (default)
  1043.         01h set new extended locks mode
  1044.         02h get lock mode
  1045. Return: AL = current lock mode
  1046. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  1047.       Alloy NTNX
  1048.     the locking mode should be 01h for NetWare 4.61+ and Advanced
  1049.       NetWare 1.0+ locking calls, and 00h for all older calls
  1050. SeeAlso: AH=BCh,AH=C4h,AH=D0h
  1051. --------v-21C6-------------------------------
  1052. INT 21 - VIRUS - "Socha" - INSTALLATION CHECK
  1053.     AH = C6h
  1054. Return: AL = 55h if resident
  1055. SeeAlso: AX=C500h"VIRUS",AX=C603h
  1056. --------v-21C603-----------------------------
  1057. INT 21 - VIRUS - "Yankee" or "MLTI" - INSTALLATION CHECK
  1058.     AX = C603h
  1059.     CF set
  1060. Return: CF clear if resident
  1061. SeeAlso: AX=C500h"VIRUS",AX=C700h"VIRUS"
  1062. --------N-21C700-----------------------------
  1063. INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - BEGIN TRANSACTION
  1064.     AX = C700h
  1065. Return: CF clear if successful
  1066.         AL = 00h
  1067.     CF set on error
  1068.         AL = error code
  1069.         96h out of memory
  1070.         FEh implicit transaction already active, converted to explicit
  1071.         FFh explicit transaction already active
  1072. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  1073. SeeAlso: AX=C701h,AX=C702h,AX=C703h
  1074. --------v-21C700-----------------------------
  1075. INT 21 - VIRUS - "MH-757" - INSTALLATION CHECK
  1076.     AX = C700h
  1077. Return: AL = 07h if resident
  1078. SeeAlso: AX=C603h"VIRUS",AH=CBh"VIRUS"
  1079. --------N-21C701-----------------------------
  1080. INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - END TRANSACTION
  1081.     AX = C701h
  1082. Return: AL = status
  1083.         00h successful
  1084.         CX:DX = transaction number
  1085.         FDh transaction tracking disabled
  1086.         FEh transaction ended records locked
  1087.         FFh no explicit transaction active
  1088.     CF clear except when AL=FFh
  1089. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  1090. SeeAlso: AX=C700h"NetWare",AX=C703h
  1091. --------N-21C702-----------------------------
  1092. INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - INSTALLATION CHECK
  1093.     AX = C702h
  1094. Return: AL = status
  1095.         00h not available
  1096.         01h available
  1097.         FDh available but disabled
  1098. Desc:    determine whether the default file server supports TTS
  1099. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  1100. --------N-21C703-----------------------------
  1101. INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - ABORT TRANSACTION
  1102.     AX = C703h
  1103. Return: CF clear if successful
  1104.         AL = 00h
  1105.     CF set on error
  1106.         AL = error code
  1107.         FDh transaction tracking disabled, no backout
  1108.         FEh transaction ended records locked
  1109.         FFh no explicit transaction active
  1110. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  1111. SeeAlso: AX=C700h"NetWare",AX=C701h,AX=C704h
  1112. --------N-21C704-----------------------------
  1113. INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - TRANSACTION STATUS
  1114.     AX = C704h
  1115.     CX:DX = transaction number (see AX=C701h)
  1116. Return: AL = status
  1117.         00h successful
  1118.         FFh not yet written to disk
  1119. Desc:    verify that a transaction has actually been written to disk
  1120. Notes:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  1121.     transactions are written to disk in the order in which they are ended,
  1122.       but it may take as much as five seconds for the data to be written
  1123. SeeAlso: AX=C700h"NetWare",AX=C701h,AX=C703h
  1124. --------N-21C705-----------------------------
  1125. INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - GET APPLICTN THRESHOLDS
  1126.     AX = C705h
  1127. Return: AL = status
  1128.         00h successful
  1129.     CL = maximum logical record locks (default 0)
  1130.     CH = maximum physical record locks (default 0)
  1131. Desc:    get the per-application limits on record locks allowed before an
  1132.       implicit transaction is begun
  1133. Notes:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  1134.     if either limit is FFh, implicit transactions are disabled for the
  1135.       corresponding lock type
  1136. SeeAlso: AX=C706h,AX=C707h
  1137. --------N-21C706-----------------------------
  1138. INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - SET APPLICTN THRESHOLDS
  1139.     AX = C706h
  1140.     CL = maximum logical record locks (default 0)
  1141.     CH = maximum physical record locks (default 0)
  1142. Return: AL = status
  1143.         00h successful
  1144. Desc:    specify the per-application limits on record locks allowed before an
  1145.       implicit transaction is begun
  1146. Notes:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  1147.     if either limit is set to FFh, implicit transactions are disabled for
  1148.       the corresponding lock type
  1149. SeeAlso: AX=C705h,AX=C708h
  1150. --------N-21C707-----------------------------
  1151. INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - GET WORKSTN THRESHOLDS
  1152.     AX = C707h
  1153. Return: AL = status
  1154.         00h successful
  1155.     CL = maximum logical record locks (default 0)
  1156.     CH = maximum physical record locks (default 0)
  1157. Desc:    get the per-workstation limits on record locks allowed before an
  1158.       implicit transaction is begun
  1159. Notes:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  1160.     if either limit is FFh, implicit transactions are disabled for the
  1161.       corresponding lock type
  1162. SeeAlso: AX=C705h,AX=C708h
  1163. --------N-21C708-----------------------------
  1164. INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - SET WORKSTN THRESHOLDS
  1165.     AX = C708h
  1166.     CL = maximum logical record locks (default 0)
  1167.     CH = maximum physical record locks (default 0)
  1168. Return: AL = status
  1169.         00h successful
  1170. Desc:    specify the per-workstation limits on record locks allowed before an
  1171.       implicit transaction is begun
  1172. Notes:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  1173.     if either limit is set to FFh, implicit transactions are disabled for
  1174.       the corresponding lock type
  1175. SeeAlso: AX=C706h,AX=C707h
  1176. --------N-21C8-------------------------------
  1177. INT 21 O - Novell NetWare - BEGIN LOGICAL FILE LOCKING
  1178.     AH = C8h
  1179.     if function C6h lock mode 00h:
  1180.         DL = mode
  1181.         00h no wait
  1182.         01h wait
  1183.     if function C6h lock mode 01h:
  1184.         BP = timeout in timer ticks (1/18 sec)
  1185. Return: AL = error code
  1186. Desc:    used to provide TTS support for applications which are not aware of
  1187.       Novell's Transaction Tracking System
  1188. Note:    this function was added in NetWare 4.0, but was removed some time prior
  1189.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  1190.       documentation
  1191. SeeAlso: AH=C9h
  1192. --------N-21C9-------------------------------
  1193. INT 21 O - Novell NetWare - END LOGICAL FILE LOCKING
  1194.     AH = C9h
  1195. Return: AL = error code
  1196. Desc:    used to provide TTS support for applications which are not aware of
  1197.       Novell's Transaction Tracking System
  1198. Note:    this function was added in NetWare 4.0, but was removed some time prior
  1199.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  1200.       documentation
  1201. SeeAlso: AH=C8h
  1202. --------N-21CA-------------------------------
  1203. INT 21 O - Novell NetWare, Alloy NTNX - LOG/LOCK PERSONAL FILE (FCB)
  1204.     AH = CAh
  1205.     DS:DX -> FCB (see AH=0Fh)
  1206.     if function C6h lock mode 01h:
  1207.         AL = log and lock flag
  1208.         00h log file only
  1209.         01h lock as well as log file
  1210.         BP = lock timeout in timer ticks (1/18 sec)
  1211. Return: AL = error code
  1212.         00h successful
  1213.         96h no dynamic memory for file
  1214.         FEh timeout
  1215.         FFh failed
  1216. Desc:    provides file locking support for FCBs
  1217. Note:    this function was added in NetWare 4.0, but was removed some time prior
  1218.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  1219.       documentation
  1220. SeeAlso: AH=CBh
  1221. --------v-21CA15-----------------------------
  1222. INT 21 - VIRUS - "Piter" - ???
  1223.     AX = CA15h
  1224.     ???
  1225. Return: ???
  1226. SeeAlso: AH=CCh"VIRUS"
  1227. --------N-21CB-------------------------------
  1228. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOCK FILE SET
  1229.     AH = CBh
  1230.     if function C6h lock mode 00h:
  1231.         DL = mode
  1232.         00h no wait
  1233.         01h wait
  1234.     if function C6h lock mode 01h:
  1235.         BP = lock timeout in timer ticks (1/18 sec) 0000h = no wait
  1236. Return: AL = status
  1237.         00h successful
  1238.         FEh timed out
  1239.         FFh failed
  1240. Desc:    attempt to lock all files listed in the log table
  1241. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1242.       Alloy NTNX
  1243.     status FFh will be returned if one or more of the files have already
  1244.       been exclusively locked by another process
  1245. SeeAlso: AH=CAh,AH=CDh,AH=D1h,AH=EBh
  1246. --------v-21CB-------------------------------
  1247. INT 21 - VIRUS - "Milous" - INSTALLATION CHECK
  1248.     AH = CBh
  1249. Return: AL = 07h if resident
  1250. SeeAlso: AX=C700h"VIRUS",AX=CB02h
  1251. --------v-21CB02-----------------------------
  1252. INT 21 - VIRUS - "Witcode" - INSTALLATION CHECK
  1253.     AX = CB02h
  1254. Return: AX = 02CBh if resident
  1255. SeeAlso: AH=CBh"VIRUS",AH=CCh"VIRUS"
  1256. --------N-21CC-------------------------------
  1257. INT 21 O - Novell NetWare, Alloy NTNX - RELEASE FILE (FCB)
  1258.     AH = CCh
  1259.     DS:DX -> FCB (see AH=0Fh)
  1260. Return: none
  1261. Desc:    unlocks file, but does not remove it from the log table or close it
  1262. Note:    this function was added in NetWare 4.0, but was removed some time prior
  1263.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  1264.       documentation
  1265. SeeAlso: AH=CAh,AH=CDh
  1266. --------v-21CC-------------------------------
  1267. INT 21 - VIRUS - "Westwood" - INSTALLATION CHECK
  1268.     AH = CCh
  1269. Return: AX = 0700h if resident
  1270. SeeAlso: AX=CB02h,AH=CDh"VIRUS",AX=D000h"VIRUS"
  1271. --------N-21CD-------------------------------
  1272. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE FILE SET
  1273.     AH = CDh
  1274. Return: none
  1275. Desc:    unlock all files listed in the log table, but don't remove them from
  1276.       the table
  1277. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1278.       Alloy NTNX
  1279. SeeAlso: AH=CBh,AH=CCh,AH=CFh,AH=D3h
  1280. --------v-21CD-------------------------------
  1281. INT 21 - VIRUS - "Westwood" - ???
  1282.     AH = CDh
  1283.     ???
  1284. Return: ???
  1285. SeeAlso: AH=CCh"VIRUS"
  1286. --------N-21CE-------------------------------
  1287. INT 21 O - Novell NetWare, Alloy NTNX - CLEAR FILE (FCB)
  1288.     AH = CEh
  1289.     DS:DX -> FCB (see AH=0Fh)
  1290. Return: AL = error code
  1291. Desc:    unlocks file and removes it from log table, then closes all opened and
  1292.       logged occurrences
  1293. Note:    this function was added in NetWare 4.0, but was removed some time prior
  1294.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  1295.       documentation
  1296. SeeAlso: AH=CAh,AH=CFh,AH=EDh"NetWare"
  1297. --------N-21CF-------------------------------
  1298. INT 21 - LANstep - ???
  1299.     AH = CFh
  1300.     ???
  1301. Return: ???
  1302. Program: LANstep is a redesign of the Waterloo Microsystems PORT network
  1303. --------N-21CF-------------------------------
  1304. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR FILE SET
  1305.     AH = CFh
  1306. Return: AL = 00h
  1307. Desc:    unlock and remove all files from log table
  1308. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1309.       Alloy NTNX
  1310. SeeAlso: AH=CAh,AH=CEh,AH=EBh"NetWare"
  1311. --------N-21D0-------------------------------
  1312. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOG LOGICAL RECORD
  1313.     AH = D0h
  1314.     DS:DX -> record string (counted string, max 99 data bytes)
  1315.     if function C6h lock mode 01h: (Novell, NTNX only)
  1316.         AL = flags
  1317.         bit 0: lock as well as log the record
  1318.         bit 1: non-exclusive lock
  1319.         BP = lock timeout in timer ticks (1/18 sec)
  1320. Return: AL = status
  1321.         00h successful
  1322.         96h no dynamic memory for file
  1323.         FEh timed out
  1324.         FFh unsuccessful
  1325. Desc:    add the specified logical record name to the log table, and optionally
  1326.       lock the record
  1327. Notes:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+,
  1328.       Banyan VINES, and Alloy NTNX
  1329.     locks on logical record names are advisory and may be ignored by other
  1330.       applications
  1331. SeeAlso: AH=BCh,AH=D1h,AH=D2h,AH=D4h,AH=EBh
  1332. --------v-21D000-----------------------------
  1333. INT 21 - VIRUS - "Fellowship" - INSTALLATION CHECK
  1334.     AX = D000h
  1335. Return: BX = 1234h if resident
  1336. SeeAlso: AH=CCh"VIRUS",AH=D5h"VIRUS",AX=D5AAh
  1337. --------N-21D1-------------------------------
  1338. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOCK LOGICAL RECORD SET
  1339.     AH = D1h
  1340.     AL = lock type (00h exclusive, 01h shareable)
  1341.     if function C6h lock mode 00h:
  1342.         DL = mode
  1343.         00h no wait
  1344.         01h wait
  1345.     if function C6h lock mode 01h: (Novell only)
  1346.        BP = lock timeout in timer ticks (1/18 sec) 0000h = no wait
  1347.         0000h no wait
  1348. Return: AL = status (see AH=CBh)
  1349. Desc:    attempt to lock all logical record names listed in the log table
  1350. Notes:    this function is supported by NetWare 4.6+, Advanced Netware 1.0+,
  1351.       Banyan VINES, and Alloy NTNX
  1352.     status FFh will be returned if one or more logical records have been
  1353.       exclusively locked by another process
  1354.     locks on logical record names are advisory and may be ignored by other
  1355.       applications
  1356. SeeAlso: AH=C2h,AH=CBh,AH=D0h,AH=D3h,AH=D5h
  1357. --------N-21D2-------------------------------
  1358. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE LOGICAL RECORD
  1359.     AH = D2h
  1360.     DS:DX -> semaphore identifier (counted string up to 99 chars long)
  1361. Return: AL = status
  1362.         00h successful
  1363.         FFh no such record
  1364. Desc:    unlock the logical record name but do not remove it from the log table
  1365. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+,
  1366.       Banyan VINES, and Alloy NTNX
  1367.     locks on logical record names are advisory and may be ignored by other
  1368.       applications
  1369. SeeAlso: AH=BDh,AH=D0h,AH=D3h,AH=D4h
  1370. --------N-21D3-------------------------------
  1371. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE LOGICAL RECORD SET
  1372.     AH = D3h
  1373. Desc:    unlock all currently-locked logical record names in the log table, but
  1374.       do not remove them from the table
  1375. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+,
  1376.       Banyan VINES, and Alloy NTNX
  1377.     locks on logical record names are advisory and may be ignored by other
  1378.       applications
  1379. SeeAlso: AH=C3h,AH=CDh,AH=D1h,AH=D2h,AH=D5h
  1380. --------N-21D4-------------------------------
  1381. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR LOGICAL RECORD
  1382.     AH = D4h
  1383.     DS:DX -> logical record name (counted string up to 99 chars long)
  1384. Return: AL = status
  1385.         00h successful
  1386.         FFh no such record name
  1387. Desc:    unlock and remove the logical record name from the log table
  1388. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+,
  1389.       Banyan VINES, and Alloy NTNX
  1390.     locks on logical record names are advisory and may be ignored by other
  1391.       applications
  1392. SeeAlso: AH=BEh,AH=D0h,AH=D2h,AH=D5h
  1393. --------N-21D5-------------------------------
  1394. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR LOGICAL RECORD SET
  1395.     AH = D5h
  1396. Return: AL = error code (see AH=D4h)
  1397. Desc:    unlock and remove all logical record name from the log table
  1398. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+,
  1399.       Banyan VINES, and Alloy NTNX
  1400.     locks on logical record names are advisory and may be ignored by other
  1401.       applications
  1402. SeeAlso: AH=D1h,AH=D3h,AH=D4h
  1403. --------v-21D5-------------------------------
  1404. INT 21 - VIRUS - "Carfield" - ???
  1405.     AH = D5h
  1406.     ???
  1407. Return: ???
  1408. SeeAlso: AX=D5AAh,AH=F3h"Carfield"
  1409. --------v-21D5AA-----------------------------
  1410. INT 21 - VIRUS - "Diamond-A", "Diamond-B" - INSTALLATION CHECK
  1411.     AX = D5AAh
  1412. Return: AX = 2A55h if "Diamond-A" resident
  1413.     AX = 2A03h if "Diamond-B"-family virus resident
  1414. SeeAlso: AX=D000h,AH=D5h"VIRUS",AX=D5AAh/BP=DEAAh
  1415. --------v-21D5AABPDEAA-----------------------
  1416. INT 21 - VIRUS - "Dir" - INSTALLATION CHECK
  1417.     AX = D5AAh
  1418.     BP = DEAAh
  1419. Return: SI = 4321h if resident
  1420. SeeAlso: AX=D5AAh,AX=DADAh"VIRUS"
  1421. --------N-21D6-------------------------------
  1422. INT 21 - Novell NetWare - WORKSTATION - END OF JOB
  1423.     AH = D6h
  1424.     BX = job flag (0000h current job, FFFFh all processes on workstation)
  1425. Return: AL = error code
  1426. Desc:    unlocks and clears all locked or logged files and records held by the
  1427.       process(es), closes all files, resets error and lock modes, and
  1428.       releases all network resources
  1429. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1430.       Alloy NTNX
  1431. SeeAlso: AH=BBh,AH=D7h
  1432. --------N-21D7-------------------------------
  1433. INT 21 - Novell NetWare - CONNECTION SERVICES - SYSTEM LOGOUT
  1434.     AH = D7h
  1435. Return: AL = error code
  1436. Desc:    this function closes the caller's open files, logs it out from all
  1437.       file servers, detaches the workstation from all non-default file
  1438.       servers, and maps a drive to the default server's SYS:LOGIN directory
  1439. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1440.       Alloy NTNX
  1441. SeeAlso: AH=D6h,AH=E3h/SF=14h,AH=F1h
  1442. --------N-21D8-------------------------------
  1443. INT 21 - Novell NetWare, Banyan VINES - ALLOCATE RESOURCE
  1444.     AH = D8h
  1445.     DL = resource number
  1446. Return: AL = status
  1447.         00h successful
  1448.         FFh unsucessful
  1449. Note:    this function is no longer used or supported by NetWare, and is not
  1450.       documented in Novell documents
  1451. SeeAlso: AH=D9h
  1452. --------N-21D9-------------------------------
  1453. INT 21 - Novell NetWare, Banyan VINES - DEALLOCATE RESOURCE
  1454.     AH = D9h
  1455.     DL = resource number
  1456. Return: AL = status (see AH=D8h)
  1457. Note:    this function is no longer used or supported by NetWare, and is not
  1458.       documented in Novell documents
  1459. SeeAlso: AH=D8h
  1460. --------N-21DA-------------------------------
  1461. INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME INFO WITH NUMBER
  1462.     AH = DAh
  1463.     DL = volume number
  1464.     ES:DI -> reply buffer (see below)
  1465. Return: AL = 00h
  1466. Notes:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  1467.     operator console rights are not required to make this call
  1468.     reported total blocks and total unused blocks include the Hot Fix
  1469.       Table; the NetWare shell's implementation of INT 21/AH=36h will
  1470.       report values larger than 268MB as 268MB.
  1471. SeeAlso: AH=36h,AH=E2h/SF=15h,AH=E3h/SF=E9h
  1472.  
  1473. Format of reply buffer:
  1474. Offset    Size    Description
  1475.  00h    WORD    sectors/block
  1476.  02h    WORD    total blocks on volume
  1477.  04h    WORD    unused blocks
  1478.  06h    WORD    total directory entries
  1479.  08h    WORD    unused directory entries
  1480.  0Ah 16 BYTEs    volume name, null padded
  1481.  1Ah    WORD    removable flag, 0000h = not removable
  1482. Note:    all words are big-endian
  1483. --------v-21DADA-----------------------------
  1484. INT 21 - VIRUS - "Gotcha" - INSTALLATION CHECK
  1485.     AX = DADAh
  1486. Return: AH = A5h
  1487. SeeAlso: AX=D5AAh,AX=DAFEh"VIRUS"
  1488. --------v-21DAFE-----------------------------
  1489. INT 21 - VIRUS - "Plovdiv 1.3" - INSTALLATION CHECK
  1490.     AX = DAFEh
  1491. Return: AX = 1234h if resident
  1492. SeeAlso: AX=DADAh,AH=DDh"VIRUS",AH=DEh"VIRUS"
  1493. --------N-21DB-------------------------------
  1494. INT 21 - Novell NetWare - WORKSTATION - GET NUMBER OF LOCAL DRIVES
  1495.     AH = DBh
  1496. Return: AL = number of local disks as set by LASTDRIVE in CONFIG.SYS
  1497. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1498.       Alloy NTNX
  1499. SeeAlso: AH=0Eh
  1500. --------N-21DC-------------------------------
  1501. INT 21 - Novell NetWare - CONNECTION SERVICES - GET CONNECTION NUMBER
  1502.     AH = DCh
  1503. Return: AL = logical connection number
  1504.         00h if NetWare not loaded or this machine is a non-dedicated server
  1505.     CX = station number in ASCII (CL = first digit)
  1506. Notes:    this function is supported by NetWare 4.0+, Banyan VINES, and Alloy
  1507.       NTNX
  1508.     station number only unique for those PCs connected to same semaphore
  1509.       service
  1510. --------d-21DC-------------------------------
  1511. INT 21 - PCMag PCMANAGE/DCOMPRES - TURN ON/OFF
  1512.     AH = DCh
  1513.     DX = state
  1514.         0000h turn on
  1515.         0001h turn off
  1516. SeeAlso: AX=FEDCh
  1517. --------N-21DD-------------------------------
  1518. INT 21 - Novell NetWare - WORKSTATION - SET NetWare ERROR MODE
  1519.     AH = DDh
  1520.     DL = error mode
  1521.         00h invoke INT 24 on critical I/O errors (default)
  1522.         01h return NetWare extended error code in AL
  1523.         02h return error code in AL, mapped to standard DOS error codes
  1524. Return: AL = previous error mode
  1525. Note:    this function is supported by Advanced NetWare 2.0+
  1526. SeeAlso: INT 24
  1527. --------v-21DD-------------------------------
  1528. INT 21 - VIRUS - "Jerusalem"-family - RELOCATE VIRUS???
  1529.     AH = DDh
  1530.     CX = number of bytes to copy
  1531.     DS:SI -> source of copy
  1532.     ES:DI -> destination of copy
  1533. Return: does not return normally; return address is caller's CS:0100h with
  1534.       AX = ???
  1535. SeeAlso: AH=E0h"VIRUS",AH=EEh"VIRUS"
  1536. --------v-21DE-------------------------------
  1537. INT 21 - VIRUS - "Durban" - INSTALLATION CHECK
  1538.     AH = DEh
  1539. Return: AH = DFh if resident
  1540. SeeAlso: AX=DAFEh,AX=DEDEh"VIRUS"
  1541. --------v-21DE-------------------------------
  1542. INT 21 - VIRUS - "April 1st EXE" - ???
  1543.     AH = DEh
  1544.     ???
  1545. Return: ???
  1546. --------N-21DE-------------------------------
  1547. INT 21 - Novell NetWare - MESSAGE SERVICES - SET BROADCAST MODE
  1548.     AH = DEh
  1549.     DL = broadcast mode
  1550.         00h receive server and workstation broadcasts (default)
  1551.         01h receive server broadcasts, discard user messages
  1552.         02h store server broadcasts for retrieval
  1553.         03h store all broadcasts for retrieval
  1554. Return: AL = new broadcast mode
  1555. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  1556. --------N-21DE--DL04-------------------------
  1557. INT 21 - Novell NetWare - MESSAGE SERVICES - GET BROADCAST MODE
  1558.     AH = DEh
  1559.     DL = 04h
  1560. Return: AL = current broadcast mode
  1561.         00h receive server and workstation broadcasts (default)
  1562.         01h receive server broadcasts, discard user message
  1563.         02h store server broadcasts for retrieval
  1564.         03h store all broadcasts for retrieval
  1565. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  1566. --------N-21DE-------------------------------
  1567. INT 21 - Novell NetWare - SHELL TIMER INTERRUPT CHECKS
  1568.     AH = DEh
  1569.     DL = function
  1570.         05h disable shell timer interrupt checks
  1571.         06h enable shell timer interrupt checks
  1572. Return: ???
  1573. Note:    this function was added in NetWare 4.0, but is not listed in current
  1574.       Novell documentation and is probably no longer supported
  1575. --------v-21DEDE-----------------------------
  1576. INT 21 - VIRUS - "Brothers" - INSTALLATION CHECK
  1577.     AX = DEDEh
  1578. Return: AH = 41h if resident
  1579. SeeAlso: AH=DEh"VIRUS",AH=E0h"VIRUS"
  1580. --------N-21DF--DL00-------------------------
  1581. INT 21 - Novell NetWare - PRINT SERVICES - START LPT CAPTURE
  1582.     AH = DFh
  1583.     DL = 00h
  1584. Return: AL = status
  1585.         00h successful
  1586. Desc:    this function redirects the default LPT to a capture file on the file
  1587.       server
  1588. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1589.       Alloy NTNX; under NTNX, it sends a print break (see INT 17/AH=84h)
  1590.     a print job is queued when the first character of output is captured
  1591. SeeAlso: AX=B800h,AX=B804h,AH=DFh/DL=01h,AH=DFh/DL=02h,AH=DFh/DL=03h
  1592. SeeAlso: AH=DFh/DL=04h,AX=F003h
  1593. --------N-21DF--DL01-------------------------
  1594. INT 21 - Novell NetWare - PRINT SERVICES - END LPT CAPTURE
  1595.     AH = DFh
  1596.     DL = 01h
  1597. Return: AL = status
  1598.         00h successful
  1599. Desc:    stop redirecting the default LPT, close the capture file, and release
  1600.       the job in the print queue for printing
  1601. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1602.       Alloy NTNX; under NTNX, it sends a print break (see INT 17/AH=84h)
  1603.     after this call, the default LPT defaults to local printing
  1604. SeeAlso: AH=DFh/DL=00h,AH=DFh/DL=02h,AH=DFh/DL=03h,AH=DFh/DL=05h
  1605. --------N-21DF--DL02-------------------------
  1606. INT 21 - Novell NetWare - PRINT SERVICES - CANCEL LPT CAPTURE
  1607.     AH = DFh
  1608.     DL = 02h
  1609. Return: AL = status
  1610.         00h successful
  1611. Desc:    this function ends the capture of the default LPT, removes the job from
  1612.       the print queue, and deletes the capture file unless it is a
  1613.       permanent capture file
  1614. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1615.       Alloy NTNX; under NTNX, it sends a print break (see INT 17/AH=84h)
  1616.     after this call, the default LPT defaults to local printing
  1617. SeeAlso: AH=DFh/DL=00h,AH=DFh/DL=06h
  1618. --------N-21DF--DL03-------------------------
  1619. INT 21 - Novell NetWare - PRINT SERVICES - FLUSH LPT CAPTURE
  1620.     AH = DFh
  1621.     DL = 03h
  1622. Return: AL = status
  1623.         00h successful
  1624. Desc:    this function closes the current capture file for the default LPT
  1625.       and starts printing it if it is not a permanent capture file
  1626. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1627.       Alloy NTNX; under NTNX, it sends a print break (see INT 17/AH=84h)
  1628.     if more data is sent to the LPT port after this call, a new capture
  1629.       file will be opeend
  1630. SeeAlso: AH=DFh/DL=00h,AH=DFh/DL=01h,AH=DFh/DL=02h,AH=DFh/DL=07h
  1631. --------N-21DF--DL04-------------------------
  1632. INT 21 - Novell NetWare - PRINT SERVICES - START SPECIFIC LPT CAPTURE
  1633.     AH = DFh
  1634.     DL = 04h
  1635.     DH = LPT port (00h-02h)
  1636. Return: AL = status
  1637.         00h successful
  1638. Desc:    this function redirects the specified LPT to a capture file on the file
  1639.       server
  1640. Notes:    this function is supported by Advanced NetWare 2.1+
  1641.     a print job is queued when the first character of output is captured
  1642. SeeAlso: AX=B800h,AH=DFh/DL=00h,AH=DFh/DL=05h,AH=DFh/DL=06h,AH=DFh/DL=07h
  1643. SeeAlso: AX=F003h
  1644. --------N-21DF--DL05-------------------------
  1645. INT 21 - Novell NetWare - PRINT SERVICES - END SPECIFIC LPT CAPTURE
  1646.     AH = DFh
  1647.     DL = 05h
  1648.     DH = LPT port (00h-02h)
  1649. Return: AL = status
  1650.         00h successful
  1651. Desc:    stop redirecting the specified LPT, close the capture file, and release
  1652.       the job in the print queue for printing
  1653. Notes:    this function is supported by Advanced NetWare 2.1+
  1654.     after this call, the specified LPT defaults to local printing
  1655. SeeAlso: AH=DFh/DL=01h,AH=DFh/DL=04h,AH=DFh/DL=06h,AH=DFh/DL=07h
  1656. --------N-21DF--DL06-------------------------
  1657. INT 21 - Novell NetWare - PRINT SERVICES - CANCEL SPECIFIC LPT CAPTURE
  1658.     AH = DFh
  1659.     DL = 06h
  1660.     DH = LPT port (00h-02h)
  1661. Return: AL = status
  1662.         00h successful
  1663. Desc:    this function ends the capture of the specified LPT, removes the job
  1664.       from the print queue, and deletes the capture file unless it is a
  1665.       permanent capture file
  1666. Notes:    this function is supported by Advanced NetWare 2.1+
  1667.     after this call, the specified LPT defaults to local printing
  1668. SeeAlso: AH=DFh/DL=02h,AH=DFh/DL=04h,AH=DFh/DL=05h,AH=DFh/DL=07h
  1669. --------N-21DF--DL07-------------------------
  1670. INT 21 - Novell NetWare - PRINT SERVICES - FLUSH SPECIFIC LPT CAPTURE
  1671.     AH = DFh
  1672.     DL = 07h
  1673.     DH = LPT port (00h-02h)
  1674. Return: AL = status
  1675.         00h successful
  1676. Desc:    this function closes the current capture file for the specified LPT
  1677.       and starts printing it if it is not a permanent capture file
  1678. Notes:    this function is supported by Advanced NetWare 2.1+
  1679.     if more data is sent to the LPT port after this call, a new capture
  1680.       file will be opeend
  1681. SeeAlso: AH=DFh/DL=03h,AH=DFh/DL=04h,AH=DFh/DL=05h,AH=DFh/DL=06h
  1682. --------T-21DF00DX534C-----------------------
  1683. INT 21 U - Software Carousel - INSTALLATION CHECK
  1684.     AX = DF00h
  1685.     DX = 534Ch ("SL")
  1686.     DI = 534Ch ("SL")
  1687. Return: AX = 00FFh if installed
  1688.         ???
  1689. Program: Software Carousel is a task switcher by SoftLogic Solutions, Inc.
  1690. --------T-21DF01-----------------------------
  1691. INT 21 - Software Carousel - SWITCH TO ANOTHER TASK
  1692.     AX = DF01h
  1693.     BL = task number (00h = next task)
  1694. Return: AL = status
  1695.         00h Carousel not running
  1696.         01h successful
  1697.         FFh unsucessful
  1698.         AH = error code (01h,02h) (see below)
  1699.  
  1700. Values for error code:
  1701.  00h    invalid subfunction in AL
  1702.  01h    invalid task number
  1703.  02h    tried to switch to task with no memory size
  1704.  03h    tried to kill program in partition with no program running
  1705.  04h    tried to change size of an active memory partition
  1706.  05h    invalid memory size
  1707.  06h    tried to send command to task with a pending previous command
  1708. --------T-21DF02-----------------------------
  1709. INT 21 - Software Carousel - KILL PROGRAM IN MEMORY PARTITION
  1710.     AX = DF02h
  1711.     BL = task number
  1712. Return: AL = status
  1713.         00h Carousel not running
  1714.         01h successful
  1715.         FFh unsucessful
  1716.         AH = error code (01h,03h) (see AX=DF01h)
  1717. --------T-21DF03-----------------------------
  1718. INT 21 - Software Carousel - GET PARTITION SIZE AND PROGRAM STATUS
  1719.     AX = DF03h
  1720.     BL = task number
  1721. Return: AL = status
  1722.         00h Carousel not running
  1723.         01h successful
  1724.         BL = partition state (00h no program running, 01h prog running)
  1725.         DX = partition size in KB
  1726.         FFh unsucessful
  1727.         AH = error code (01h) (see AX=DF01h)
  1728. SeeAlso: AX=DF05h
  1729. --------T-21DF04-----------------------------
  1730. INT 21 - Software Carousel - GET PARTITION NAME
  1731.     AX = DF04h
  1732.     BL = task number
  1733. Return: AL = status
  1734.         00h Carousel not running
  1735.         01h successful
  1736.         CX = length of name (00h if default partition name)
  1737.         ES:BX -> partition name (if CX nonzero)
  1738.         FFh unsucessful
  1739.         AH = error code (01h) (see AX=DF01h)
  1740. SeeAlso: AX=DF06h
  1741. --------T-21DF05-----------------------------
  1742. INT 21 - Software Carousel - CHANGE PARTITION SIZE
  1743.     AX = DF05h
  1744.     BL = task number
  1745.     DX = new size in KB
  1746. Return: AL = status
  1747.         00h Carousel not running
  1748.         01h successful
  1749.         FFh unsucessful
  1750.         AH = error code (01h,04h,05h) (see AX=DF01h)
  1751.     BX = minimum size allowed
  1752.     CX = maximum size available
  1753. SeeAlso: AX=DF03h
  1754. --------T-21DF06-----------------------------
  1755. INT 21 - Software Carousel - CHANGE PARTITION NAME
  1756.     AX = DF06h
  1757.     BL = task number
  1758.     CX = length of new name (00h to use default, max 18h)
  1759.     DS:SI -> new name
  1760. Return: AL = status
  1761.         00h Carousel not running
  1762.         01h successful
  1763.         FFh unsucessful
  1764.         AH = error code (01h) (see AX=DF01h)
  1765. SeeAlso: AX=DF04h
  1766. --------T-21DF07-----------------------------
  1767. INT 21 - Software Carousel - SEND COMMAND TO MEMORY SECTION
  1768.     AX = DF07h
  1769.     BL = task number
  1770.     CX = length of command (max 8 chars)
  1771.     DS:SI -> command line
  1772. Return: AL = status
  1773.         00h Carousel not running
  1774.         01h successful
  1775.         FFh unsucessful
  1776.         AH = error code (01h,06h) (see AX=DF01h)
  1777. Note:    the maximum length seems too small and may be a typo for 80 characters
  1778. --------T-21DF08-----------------------------
  1779. INT 21 - Software Carousel - SELECTIVELY ENABLE/DISABLE MENU AND SWITCHING
  1780.     AX = DF08h
  1781.     BL = new state of keyboard (00h disabled, 01h enabled)
  1782. Return: AL = status
  1783.         00h Carousel not running
  1784.         01h successful
  1785. Program: Software Carousel is a task switcher by SoftLogic Solutions, Inc.
  1786. Note:    when the keyboard is is disabled, the user may neither access the
  1787.       Carousel menu nor switch to another memory section
  1788. --------T-21DF09-----------------------------
  1789. INT 21 - Software Carousel - BOOT THE SYSTEM
  1790.     AX = DF09h
  1791. Return: AL = status
  1792.         00h Carousel not running
  1793.         FFh unsucessful
  1794.         AH = error code (01h,03h) (see AX=DF01h)
  1795. Note:    this function never returns is successful
  1796. --------T-21DF0A-----------------------------
  1797. INT 21 - Software Carousel - GET MEMORY SIZE/PARTITION NUMBER OF CURRENT TASK
  1798.     AX = DF0Ah
  1799. Return: AL = status
  1800.         00h Carousel not running
  1801.         01h successful
  1802.         BL = task number
  1803.         DX = memory size in KB
  1804.         FFh unsucessful
  1805.         AH = error code (01h,03h) (see AX=DF01h)
  1806. --------T-21DF0B-----------------------------
  1807. INT 21 - Software Carousel - SET TASK SWITCH CALLBACK
  1808.     AX = DF0Bh
  1809.     BH = interrupt number or 00h
  1810.     BL = function number to invoke on partition switch
  1811.     CL = function number to call when it is safe for resident programs
  1812.         to perform DOS calls
  1813.     DS:DX -> FAR function to call if BH=00h
  1814. Return: AL = status
  1815.         00h Carousel not running
  1816.         01h successful
  1817.         FFh unsucessful
  1818.         AH = error code (01h,03h) (see AX=DF01h)
  1819. Notes:    the specified interrupt or FAR function is called with AH set to the
  1820.       appropriate one of the values specified in BL and CL, and BL set to
  1821.       the new task number
  1822.     the function specified by CL will not be called until the notification
  1823.       is enabled with AX=DF0Ch
  1824. SeeAlso: AX=DF0Ch
  1825. --------T-21DF0C-----------------------------
  1826. INT 21 - Software Carousel - ENABLE DOS-CALL SAFETY NOTIFICATION
  1827.     AX = DF0Ch
  1828. Return: AL = status
  1829.         00h Carousel not running
  1830.         01h successful
  1831. Program: Software Carousel is a task switcher by SoftLogic Solutions, Inc.
  1832. SeeAlso: AX=DF0Bh
  1833. --------O-21E0-------------------------------
  1834. INT 21 - Digital Research DOS Plus - CALL BDOS
  1835.     AH = E0h
  1836.     CL = BDOS function number (see INT E0"CP/M")
  1837.     other registers as appropriate for function
  1838. Return: as appropriate for function
  1839. SeeAlso: AX=4459h,INT E0"CP/M"
  1840. --------E-21E0-------------------------------
  1841. INT 21 - OS/286, OS/386 - INITIALIZE REAL PROCEDURE
  1842.     AH = E0h
  1843.     ???
  1844. Return: ???
  1845. SeeAlso: AH=E1h"OS/286"
  1846. --------T-21E0-------------------------------
  1847. INT 21 - DoubleDOS - MENU CONTROL
  1848.     AH = E0h
  1849.     AL = subfunction
  1850.         01h exchange tasks
  1851.         73h resume invisible job if suspended
  1852.         74h kill other job
  1853.         75h suspend invisible job
  1854. Note:    identical to AH=F0h
  1855. SeeAlso: AH=F0h"DoubleDOS"
  1856. --------v-21E0-------------------------------
  1857. INT 21 - VIRUS - "Jerusalem", "Armagedon" - INSTALLATION CHECK
  1858.     AH = E0h
  1859. Return: AX = 0300h if "Jerusalem" resident
  1860.     AX = DADAh if "Armagedon" resident
  1861. SeeAlso: AH=DEh"VIRUS",AX=DEDEh"VIRUS",AX=E00Fh
  1862. --------N-21E0-------------------------------
  1863. INT 21 - Novell NetWare, Alloy NTNX - PRINT SPOOLING
  1864.     AH = E0h
  1865.     DS:SI -> request buffer (see below)
  1866.     ES:DI -> reply buffer
  1867. Return: AL = status
  1868. Note:    this function was added in NetWare 4.0, but is no longer listed in
  1869.       current Novell documentation and may no longer be supported
  1870. SeeAlso: AH-E3h/SF=68h
  1871.  
  1872. Format of request buffer:
  1873. Offset    Size    Description
  1874.  00h    WORD    length of following data
  1875.  02h    BYTE    subfunction
  1876.         00h spool data to a capture file
  1877.         01h close and queue capture file
  1878.         02h set spool flags
  1879.         03h spool existing file
  1880.         04h get spool queue entry
  1881.         05h remove entry from spool queue
  1882.  03h    ???
  1883. --------N-21E0--SF06-------------------------
  1884. INT 21 - Novell NetWare - PRINT SERVICES - GET PRINTER STATUS
  1885.     AH = E0h subfn 06h
  1886.     DS:SI -> request buffer (see below)
  1887.     ES:DI -> reply buffer (see below)
  1888. Return: AL = status
  1889.         00h successful
  1890.         FFh no such printer
  1891. Desc:    get current state of specified printer attached to the server
  1892. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1893.       Alloy NTNX
  1894.  
  1895. Format of request buffer:
  1896. Offset    Size    Description
  1897.  00h    WORD    0002h (length of following data)
  1898.  02h    BYTE    06h (subfunction "Get Printer Status")
  1899.  03h    BYTE    printer number (00h-04h)
  1900.  
  1901. Format of reply buffer:
  1902. Offset    Size    Description
  1903.  00h    WORD    (call) 0004h (size of following results buffer)
  1904.  02h    BYTE    flag: 00h printer active, FFh printer halted
  1905.  03h    BYTE    flag: 00h printer online, 01h printer offline
  1906.  04h    BYTE    current form type
  1907.  05h    BYTE    target printer number (00h-04h)
  1908.         same as number in request buffer unless rerouted by server
  1909.         console
  1910. --------N-21E0--SF09-------------------------
  1911. INT 21 - Novell NetWare - PRINT SERVICES - SPECIFY CAPTURE FILE
  1912.     AH = E0h subfn 09h
  1913.     DS:SI -> request buffer (see below)
  1914.     ES:DI -> reply buffer (see below)
  1915. Return: AL = status
  1916.         00h successful
  1917.         9Ch invalid path
  1918. Desc:    create a permanent capture file for the next print capture to be
  1919.       started
  1920. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1921.       Alloy NTNX
  1922.     the caller must have read, write, and create rights for the directory
  1923.       containing the capture file
  1924.  
  1925. Format of request buffer:
  1926. Offset    Size    Description
  1927.  00h    WORD    length of following data (max 102h)
  1928.  02h    BYTE    09h (subfunction "Specify Capture File")
  1929.  03h    BYTE    directory handle or 00h
  1930.  04h    BYTE    length of filename
  1931.  05h  N BYTEs    name of capture file
  1932.  
  1933. Format of reply buffer:
  1934. Offset    Size    Description
  1935.  00h    WORD    (call) 0000h (no results returned)
  1936. --------v-21E00F-----------------------------
  1937. INT 21 - VIRUS - "8-tunes" - INSTALLATION CHECK
  1938.     AX = E00Fh
  1939. Return: AX = 4C31h if resident
  1940. SeeAlso: AH=E0h"VIRUS",AH=E1h"VIRUS"
  1941. --------E-21E1-------------------------------
  1942. INT 21 - OS/286, OS/386 - ISSUE REAL PROCEDURE CALL
  1943.     AH = E1h
  1944.     ???
  1945. Return: ???
  1946. Note:    protected mode only???
  1947. SeeAlso: AH=E0h"OS/286",AH=E2h"OS/286",AH=E3h"OS/286",AX=250Eh,INT 31/AX=0301h
  1948. --------T-21E1-------------------------------
  1949. INT 21 - DoubleDOS - CLEAR KEYBOARD BUFFER FOR CURRENT JOB
  1950.     AH = E1h
  1951. SeeAlso: AH=E2h"DoubleDOS",AH=E3h"DoubleDOS",AH=E8h"DoubleDOS"
  1952. SeeAlso: AH=F1h"DoubleDOS"
  1953. --------v-21E1-------------------------------
  1954. INT 21 - VIRUS - "Mendoza", "Fu Manchu" - INSTALLATION CHECK
  1955.     AH = E1h
  1956. Return: AX = 0300h if "Mendoza" resident
  1957.     AX = 0400h if "Fu Manchu" resident
  1958. SeeAlso: AX=E00Fh,AH=E4h"VIRUS"
  1959. --------N-21E1--SF00-------------------------
  1960. INT 21 - Novell NetWare - MESSAGE SERVICES - SEND BROADCAST MESSAGE
  1961.     AH = E1h subfn 00h
  1962.     DS:SI -> request buffer (see below)
  1963.     ES:DI -> reply buffer (see below)
  1964. Return: AL = status
  1965.         00h successful
  1966.         FEh I/O error or out of dynamic workspace
  1967. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  1968. SeeAlso: AH=DEh"NetWare",AH=DEh/DL=04h,AH=E1h/SF=01h,AH=E1h/SF=04h
  1969. SeeAlso: AH=E1h/SF=09h
  1970.  
  1971. Format of request buffer:
  1972. Offset    Size    Description
  1973.  00h    WORD    length of following data (max 9Eh)
  1974.  02h    BYTE    00h (subfunction "Send Broadcast Message")
  1975.  03h    BYTE    number of connections (01h-64h)
  1976.  04h  N BYTEs    list of connections to receive broadcast message
  1977.     BYTE    length of message (01h-37h)
  1978.       N BYTEs    broadcast message (no control characters or characters > 7Eh)
  1979.  
  1980. Format of reply buffer:
  1981. Offset    Size    Description
  1982.  00h    WORD    (call) size of following results buffer (max 65h)
  1983.  02h    BYTE    number of connections
  1984.  03h  N BYTEs    list of per-connection results
  1985.         00h successful
  1986.         FCh message rejected due to lack of buffer space
  1987.         FDh invalid connection number
  1988.         FFh blocked (see also AH=E1h/SF=02h)
  1989. --------N-21E1--SF01-------------------------
  1990. INT 21 - Novell NetWare - MESSAGE SERVICES - GET BROADCAST MESSAGE
  1991.     AH = E1h subfn 01h
  1992.     DS:SI -> request buffer (see below)
  1993.     ES:DI -> reply buffer (see below)
  1994. Return: AL = status
  1995.         00h successful
  1996.         FCh full message queue
  1997.         FEh out of dynamic workspace
  1998. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  1999. SeeAlso: AH=DEh/DL=04h,AH=E1h/SF=00h,AH=E1h/SF=05h,AH=E1h/SF=09h
  2000.  
  2001. Format of request buffer:
  2002. Offset    Size    Description
  2003.  00h    WORD    0001h (length of following data)
  2004.  02h    BYTE    01h (subfunction "Get Broadcast Message")
  2005.  
  2006. Format of reply buffer:
  2007. Offset    Size    Description
  2008.  00h    WORD    (call) size of following results buffer (max 38h)
  2009.  02h    BYTE    length of message (00h-37h)
  2010.         00h if no broadcast messages pending
  2011.  03h  N BYTEs    message (no control characters or characters > 7Eh)
  2012. --------N-21E1-------------------------------
  2013. INT 21 - Novell NetWare - MESSAGE SERVICES - ENABLE/DISABLE BROADCAST MESSAGES
  2014.     AH = E1h
  2015.     DS:SI -> request buffer (see below)
  2016.     ES:DI -> reply buffer
  2017. Return: AL = error code
  2018. Note:    these functions are supported by NetWare 4.0+ but are not listed in
  2019.       _NetWare_System_Calls--DOS_; they may be obsolete
  2020. SeeAlso: AH=E1h/SF=00h,AH=E1h/SF=04h,AH=E1h/SF=09h
  2021.  
  2022. Format of request buffer:
  2023. Offset    Size    Description
  2024.  00h    WORD    length of following data (max 9Eh)
  2025.  02h    BYTE    subfunction
  2026.         02h disable station broadcasts
  2027.         03h enable station broadcasts
  2028.  03h    ???
  2029.  
  2030. Format of reply buffer:
  2031. Offset    Size    Description
  2032.  00h    WORD    (call) size of following results buffer
  2033.  02h    ???
  2034. --------N-21E1--SF04-------------------------
  2035. INT 21 - Novell NetWare - MESSAGE SERVICES - SEND PERSONAL MESSAGE
  2036.     AH = E1h subfn 04h
  2037.     DS:SI -> request buffer (see below)
  2038.     ES:DI -> reply buffer (see below)
  2039. Return: AL = status
  2040.         00h successful
  2041.         FEh I/O error or out of dynamic workspace
  2042. Notes:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  2043.     message pipes use CPU time on the file server; IPX, SPX, or NetBIOS
  2044.       connections should be used for peer-to-peer communications as these
  2045.       protocols do not use file server time
  2046. SeeAlso: AH=E1h/SF=00h,AH=E1h/SF=05h,AH=E1h/SF=06h,AH=E1h/SF=08h
  2047.  
  2048. Format of request buffer:
  2049. Offset    Size    Description
  2050.  00h    WORD    length of following data (max E5h)
  2051.  02h    BYTE    04h (subfunction "Send Personal Message")
  2052.  03h    BYTE    number of connections (01h-64h)
  2053.  04h  N BYTEs    list of connections to receive broadcast message
  2054.     BYTE    length of message (01h-7Eh)
  2055.       N BYTEs    message (no control characters or characters > 7Eh)
  2056.  
  2057. Format of reply buffer:
  2058. Offset    Size    Description
  2059.  00h    WORD    (call) size of following results buffer (max 65h)
  2060.  02h    BYTE    number of connections
  2061.  03h  N BYTEs    list of per-connection results
  2062.         00h successful
  2063.         FCh message rejected because queue is full (contains 6 msgs)
  2064.         FDh incomplete pipe
  2065.         FFh failed
  2066. --------N-21E1--SF05-------------------------
  2067. INT 21 - Novell NetWare - MESSAGE SERVICES - GET PERSONAL MESSAGE
  2068.     AH = E1h subfn 05h
  2069.     DS:SI -> request buffer (see below)
  2070.     ES:DI -> reply buffer (see below)
  2071. Return: AL = status
  2072.         00h successful
  2073.         FEh out of dynamic workspace
  2074. Desc:    return the oldest message in the default file server's message queue
  2075.       for the calling workstation
  2076. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  2077. SeeAlso: AH=E1h/SF=01h,AH=E1h/SF=04h,AH=E1h/SF=06h,AH=E1h/SF=08h
  2078.  
  2079. Format of request buffer:
  2080. Offset    Size    Description
  2081.  00h    WORD    0001h (length of following data)
  2082.  02h    BYTE    05h (subfunction "Get Personal Message")
  2083.  
  2084. Format of reply buffer:
  2085. Offset    Size    Description
  2086.  00h    WORD    (call) size of following results buffer (max 80h)
  2087.  02h    BYTE    connection number of sending station
  2088.  03h    BYTE    length of message (00h-7Eh)
  2089.         00h if no personal messages pending
  2090.  04h  N BYTEs    message (no control characters or characters > 7Eh)
  2091. --------N-21E1--SF06-------------------------
  2092. INT 21 - Novell NetWare - MESSAGE SERVICES - OPEN MESSAGE PIPE
  2093.     AH = E1h subfn 06h
  2094.     DS:SI -> request buffer (see below)
  2095.     ES:DI -> reply buffer (see below)
  2096. Return: AL = status
  2097.         00h successful
  2098.         FEh out of dynamic workspace
  2099. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  2100. SeeAlso: AH=E1h/SF=04h,AH=E1h/SF=07h,AH=E1h/SF=08h
  2101.  
  2102. Format of request buffer:
  2103. Offset    Size    Description
  2104.  00h    WORD    length of following data (max 66h)
  2105.  02h    BYTE    06h (subfunction "Open Message Pipe")
  2106.  03h    BYTE    number of pipes to open (01h-64h)
  2107.  04h  N BYTEs    list of connection numbers
  2108.  
  2109. Format of reply buffer:
  2110. Offset    Size    Description
  2111.  00h    WORD    (call) size of following results buffer (max 65h)
  2112.  02h    BYTE    number of connections
  2113.  03h  N BYTEs    list of results
  2114.         00h successful
  2115.         FEh incomplete (target half not yet created)
  2116.         FFh failed
  2117. --------N-21E1--SF07-------------------------
  2118. INT 21 - Novell NetWare - MESSAGE SERVICES - CLOSE MESSAGE PIPE
  2119.     AH = E1h subfn 07h
  2120.     DS:SI -> request buffer (see below)
  2121.     ES:DI -> reply buffer (see below)
  2122. Return: AL = status
  2123.         00h successful
  2124.         FCh full message queue
  2125.         FEh out of dynamic workspace
  2126. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  2127. SeeAlso: AH=E1h/SF=05h,AH=E1h/SF=06h,AH=E1h/SF=08h
  2128.  
  2129. Format of request buffer:
  2130. Offset    Size    Description
  2131.  00h    WORD    length of following data (max 66h)
  2132.  02h    BYTE    07h (subfunction "Close Message Pipe")
  2133.  03h    BYTE    number of pipes to close (01h-64h)
  2134.  04h  N BYTEs    list of connection numbers
  2135.  
  2136. Format of reply buffer:
  2137. Offset    Size    Description
  2138.  00h    WORD    (call) size of following results buffer (max 65h)
  2139.  02h    BYTE    number of connections
  2140.  03h  N BYTEs    list of results
  2141.         00h successful
  2142.         FDh failed
  2143.         FFh no such pipe
  2144. --------N-21E1--SF08-------------------------
  2145. INT 21 - Novell NetWare - MESSAGE SERVICES - CHECK PIPE STATUS
  2146.     AH = E1h subfn 08h
  2147.     DS:SI -> request buffer (see below)
  2148.     ES:DI -> reply buffer (see below)
  2149. Return: AL = status (see below)
  2150. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  2151. SeeAlso: AH=E1h/SF=05h,AH=E1h/SF=06h,AH=E1h/SF=07h
  2152.  
  2153. Values for status:
  2154.  00h    successful
  2155.  FCh    full message queue
  2156.  FEh    out of dynamic workspace
  2157.  
  2158. Format of request buffer:
  2159. Offset    Size    Description
  2160.  00h    WORD    length of following data (max 66h)
  2161.  02h    BYTE    08h (subfunction "Check Pipe Status")
  2162.  03h    BYTE    number of pipes to monitor (01h-64h)
  2163.  04h  N BYTEs    list of connection numbers
  2164.  
  2165. Format of reply buffer:
  2166. Offset    Size    Description
  2167.  00h    WORD    (call) size of following results buffer (max 65h)
  2168.  02h    BYTE    number of connections
  2169.  03h  N BYTEs    list of pipe statuses
  2170.         00h open
  2171.         FEh incomplete
  2172.         FFh closed
  2173. --------N-21E1--SF09-------------------------
  2174. INT 21 - Novell NetWare - MESSAGE SERVICES - BROADCAST TO CONSOLE
  2175.     AH = E1h subfn 09h
  2176.     DS:SI -> request buffer (see below)
  2177.     ES:DI -> reply buffer (see below)
  2178. Return: AL = status (see AH=E1h/SF=08h)
  2179. Desc:    send a one-line message to the system console on the default file
  2180.       server
  2181. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  2182. SeeAlso: AH=DEh/DL=04h,AH=E1h/SF=00h,AH=E1h/SF=01h,AH=E3h/SF=D1h
  2183.  
  2184. Format of request buffer:
  2185. Offset    Size    Description
  2186.  00h    WORD    length of following data (max 3Eh)
  2187.  02h    BYTE    09h (subfunction "Broadcast to Console")
  2188.  03h    BYTE    length of message (01h-3Ch)
  2189.  04h  N BYTEs    message (no control characters or characters > 7Eh)
  2190.  
  2191. Format of reply buffer:
  2192. Offset    Size    Description
  2193.  00h    WORD    (call) 0000h (no results returned)
  2194. --------E-21E2-------------------------------
  2195. INT 21 - OS/286, OS/386 - SET REAL PROCEDURE SIGNAL HANDLER
  2196.     AH = E2h
  2197.     ???
  2198. Return: ???
  2199. SeeAlso: AH=E0h"OS/286",AH=E1h"OS/286",AH=E6h"OS/286"
  2200. --------N-21E2-------------------------------
  2201. INT 21 - DoubleDOS - SEND CHARACTER TO KEYBOARD BUFFER OF OTHER JOB
  2202.     AH = E2h
  2203.     AL = character
  2204. Return: AL = 00h successful
  2205.          01h buffer full (128 characters)
  2206. SeeAlso: AH=E1h"DoubleDOS",AH=E3h"DoubleDOS",AH=E8h"DoubleDOS"
  2207. SeeAlso: AH=F2h"DoubleDOS"
  2208. --------N-21E2--SF00-------------------------
  2209. INT 21 - Novell NetWare - DIRECTORY SERVICES - SET DIRECTORY HANDLE
  2210.     AH = E2h subfn 00h
  2211.     DS:SI -> request buffer (see below)
  2212.     ES:DI -> reply buffer (see below)
  2213. Return: AL = status (00h,98h,9Bh,9Ch) (see below)
  2214. Desc:    set the target handle to reference the directory specified by the
  2215.       source handle and the source path; both handles must refer to the
  2216.       same file server
  2217. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  2218.       Alloy NTNX
  2219.     the target handle is not changed if this function fails
  2220. SeeAlso: AH=E2h/SF=01h,AH=E2h/SF=12h,AH=E2h/SF=13h
  2221.  
  2222. Values for status:
  2223.  00h    successful
  2224.  84h    not permitted to create
  2225.  8Ah    not permitted to delete
  2226.  8Bh    not permitted to rename
  2227.  8Ch    not permitted to modify
  2228.  98h    nonexistent volume
  2229.  9Bh    invalid directory handle
  2230.  9Ch    invalid path
  2231.  9Eh    invalid filename
  2232.  9Fh    directory currently in use
  2233.  A0h    directory not empty
  2234.  FCh    no such bindery object
  2235.  
  2236. Format of request buffer:
  2237. Offset    Size    Description
  2238.  00h    WORD    length of following data (max 103h)
  2239.  02h    BYTE    00h (subfunction "Set Directory Handle")
  2240.  03h    BYTE    directory handle of target
  2241.  04h    BYTE    directory handle of source
  2242.  05h    BYTE    length of source directory path (01h-FFh)
  2243.  06h  N BYTEs    source directory path
  2244.  
  2245. Format of reply buffer:
  2246. Offset    Size    Description
  2247.  00h    WORD    (call) 0000h (no results returned)
  2248. --------N-21E2--SF01-------------------------
  2249. INT 21 - Novell NetWare - DIRECTORY SERVICES - GET DIRECTORY PATH
  2250.     AH = E2h subfn 01h
  2251.     DS:SI -> request buffer (see below)
  2252.     ES:DI -> reply buffer (see below)
  2253. Return: AL = status (00h,9Bh) (see AH=E2h/SF=00h)
  2254. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  2255.       Alloy NTNX
  2256. SeeAlso: AH=E2h/SF=02h,AH=E2h/SF=03h,AH=E2h/SF=1Ah,AH=E9h
  2257.  
  2258. Format of request buffer:
  2259. Offset    Size    Description
  2260.  00h    WORD    0002h (length of following data)
  2261.  02h    BYTE    01h (subfunction "Get Directory Path")
  2262.  03h    BYTE    directory handle
  2263.  
  2264. Format of reply buffer:
  2265. Offset    Size    Description
  2266.  00h    WORD    (call) length of following data buffer
  2267.  02h    BYTE    length of directory path (01h-FFh)
  2268.  03h  N BYTEs    full directory path including volume
  2269. --------N-21E2--SF02-------------------------
  2270. INT 21 - Novell NetWare - DIRECTORY SERVICES - SCAN DIRECTORY INFORMATION
  2271.     AH = E2h subfn 02h
  2272.     DS:SI -> request buffer (see below)
  2273.     ES:DI -> reply buffer (see below)
  2274. Return: AL = status (00h,98h,9Bh,9Ch) (see AH=E2h/SF=00h)
  2275. Desc:    get information about the first or next subdirectory of the specified
  2276.       directory
  2277. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  2278.       Alloy NTNX
  2279. SeeAlso: AH=E2h/SF=01h,AH=E2h/SF=03h,AH=E2h/SF=19h
  2280.  
  2281. Format of request buffer:
  2282. Offset    Size    Description
  2283.  00h    WORD    length of following data (max 104h)
  2284.  02h    BYTE    02h (subfunction "Scan Directory Information")
  2285.  03h    BYTE    directory handle
  2286.  04h    WORD    (big-endian) subdirectory number
  2287.         0000h for first call, returned subdir number + 1 on next call
  2288.  06h    BYTE    length of directory path
  2289.  07h  N BYTEs    directory path
  2290.  
  2291. Format of reply buffer:
  2292. Offset    Size    Description
  2293.  00h    WORD    (call) 001Ch (length of following data buffer)
  2294.  02h 16 BYTEs    subdirectory name
  2295.  12h    DWORD    (big-endian) date and time of creation (see below)
  2296.  16h    DWORD    (big-endian) object ID of owner
  2297.  1Ah    BYTE    maximum directory rights (see AH=E2h/SF=03h)
  2298.  1Bh    BYTE    unused
  2299.  1Ch    WORD    (big-endian) subdirectory number
  2300.  
  2301. Bitfields for date and time:
  2302.  bits 31-25    year-1980
  2303.  bits 24-21    month
  2304.  bits 20-16    day
  2305.  bits 15-11    hour
  2306.  bits 10-5    minute
  2307.  bits 4-0    second
  2308. --------N-21E2--SF03-------------------------
  2309. INT 21 - Novell NetWare - DIRECTORY SERVICES - GET EFFECTIVE DIRECTORY RIGHTS
  2310.     AH = E2h subfn 03h
  2311.     DS:SI -> request buffer (see below)
  2312.     ES:DI -> reply buffer (see below)
  2313. Return: AL = status (00h,98h,9Bh) (see AH=E2h/SF=00h)
  2314. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  2315.       Alloy NTNX
  2316. SeeAlso: AH=E2h/SF=01h,AH=E2h/SF=02h
  2317.  
  2318. Format of request buffer:
  2319. Offset    Size    Description
  2320.  00h    WORD    length of following data (max 102h)
  2321.  02h    BYTE    03h (subfunction "Get Effective Directory Rights")
  2322.  03h    BYTE    directory handle
  2323.  04h    BYTE    length of directory path (00h-FFh)
  2324.  05h  N BYTEs    directory path
  2325.  
  2326. Format of reply buffer:
  2327. Offset    Size    Description
  2328.  00h    WORD    (call) 0001h (length of following data buffer)
  2329.  02h    BYTE    effective directory rights (see below)
  2330.  
  2331. Bitfields for directory rights:
  2332.  bit 0    reading allowed
  2333.  bit 1    writing allowed
  2334.  bit 2    opens allowed
  2335.  bit 3    file creation allowed
  2336.  bit 4    deletion allowed
  2337.  bit 5    "parental" may create/delete subdirectories and
  2338.     grant/revoke trustee rights
  2339.  bit 6    directory search allowed
  2340.  bit 7    file attributes may be changed
  2341. --------N-21E2--SF04-------------------------
  2342. INT 21 - Novell NetWare - DIRECTORY SERVICES - MODIFY MAXIMUM RIGHTS MASK
  2343.     AH = E2h subfn 04h
  2344.     DS:SI -> request buffer (see below)
  2345.     ES:DI -> reply buffer (see below)
  2346. Return: AL = status (00h,8Ch,98h,9Ch) (see AH=E2h/SF=00h)
  2347. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  2348.       Alloy NTNX
  2349. SeeAlso: AH=E2h/SF=03h,AH=E2h/SF=0Ah,AH=E2h/SF=0Dh
  2350.  
  2351. Format of request buffer:
  2352. Offset    Size    Description
  2353.  00h    WORD    length of following data (max 104h)
  2354.  02h    BYTE    04h (subfunction "Modify Maximum Rights Mask")
  2355.  03h    BYTE    directory handle
  2356.  04h    BYTE    rights to grant (see AH=E2h/SF=03h)
  2357.  05h    BYTE    rights to revoke (see AH=E2h/SF=03h)
  2358.  06h    BYTE    length of directory path (00h-FFh)
  2359.  07h  N BYTEs    directory path
  2360. Note:    the rights specified at offset 05h are revoked first, and then the
  2361.       rights specified at offset 04h are added to the resulting rights
  2362.       mask
  2363.  
  2364. Format of reply buffer:
  2365. Offset    Size    Description
  2366.  00h    WORD    (call) 0000h (no results returned)
  2367. --------N-21E2--SF05-------------------------
  2368. INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME NUMBER
  2369.     AH = E2h subfn 05h
  2370.     DS:SI -> request buffer (see below)
  2371.     ES:DI -> reply buffer (see below)
  2372. Return: AL = status (00h,98h) (see AH=E2h/SF=00h)
  2373. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  2374.       Alloy NTNX
  2375. SeeAlso: AH=DAh,AH=E2h/SF=02h,AH=E2h/SF=05h,AH=E2h/SF=15h,AH=E3h/SF=E9h
  2376.  
  2377. Format of request buffer:
  2378. Offset    Size    Description
  2379.  00h    WORD    length of following data (max 12h)
  2380.  02h    BYTE    05h (subfunction "Get Volume Number")
  2381.  03h    BYTE    length of volume name (01h-10h)
  2382.  04h  N BYTEs    volume name
  2383.  
  2384. Format of reply buffer:
  2385. Offset    Size    Description
  2386.  00h    WORD    (call) 0001h (length of following results buffer)
  2387.  02h    BYTE    volume number
  2388. --------N-21E2--SF06-------------------------
  2389. INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME NAME
  2390.     AH = E2h subfn 06h
  2391.     DS:SI -> request buffer (see below)
  2392.     ES:DI -> reply buffer (see below)
  2393. Return: AL = status (00h,98h) (see AH=E2h/SF=00h)
  2394. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  2395.       Alloy NTNX
  2396. SeeAlso: AH=DAh,AH=E2h/SF=02h,AH=E2h/SF=05h,AH=E2h/SF=15h,AH=E2h/SF=1Ah
  2397. SeeAlso: AH=E3h/SF=E9h
  2398.  
  2399. Format of request buffer:
  2400. Offset    Size    Description
  2401.  00h    WORD    0002h (length of following data)
  2402.  02h    BYTE    06h (subfunction "Get Volume Name")
  2403.  03h    BYTE    volume number
  2404.  
  2405. Format of reply buffer:
  2406. Offset    Size    Description
  2407.  00h    WORD    (call) 0011h (length of following results buffer)
  2408.  02h    BYTE    length of volume name
  2409.  03h 16 BYTEs    NUL-padded volume name
  2410. --------N-21E2--SF0A-------------------------
  2411. INT 21 - Novell NetWare - DIRECTORY SERVICES - CREATE DIRECTORY
  2412.     AH = E2h subfn 0Ah
  2413.     DS:SI -> request buffer (see below)
  2414.     ES:DI -> reply buffer (see below)
  2415. Return: AL = status (00h,84h,98h,FCh) (see AH=E2h/SF=00h)
  2416. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  2417.       Alloy NTNX
  2418. SeeAlso: AH=39h,AH=E2h/SF=0Bh,AH=E2h/SF=0Fh
  2419.  
  2420. Format of request buffer:
  2421. Offset    Size    Description
  2422.  00h    WORD    length of following data (max 103h)
  2423.  02h    BYTE    0Ah (subfunction "Create Directory")
  2424.  03h    BYTE    directory handle
  2425.  04h    BYTE    maximum directory rights (see AH=E2h/SF=01h)
  2426.  05h    BYTE    length of directory path (00h-FFh)
  2427.  06h  N BYTEs    directory path
  2428.  
  2429. Format of reply buffer:
  2430. Offset    Size    Description
  2431.  00h    WORD    (call) 0000h (no data returned)
  2432. --------N-21E2--SF0B-------------------------
  2433. INT 21 - Novell NetWare - DIRECTORY SERVICES - DELETE DIRECTORY
  2434.     AH = E2h subfn 0Bh
  2435.     DS:SI -> request buffer (see below)
  2436.     ES:DI -> reply buffer (see below)
  2437. Return: AL = status (00h,8Ah,98h,9Bh,9Ch,9Fh,A0h) (see AH=E2h/SF=00h)
  2438. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  2439.       Alloy NTNX
  2440. SeeAlso: AH=3Ah,AH=E2h/SF=0Ah,AH=E2h/SF=0Fh
  2441.  
  2442. Format of request buffer:
  2443. Offset    Size    Description
  2444.  00h    WORD    length of following data (max 103h)
  2445.  02h    BYTE    0Bh (subfunction "Delete Directory")
  2446.  03h    BYTE    directory handle
  2447.  04h    BYTE    unused
  2448.  05h    BYTE    length of directory path (00h-FFh)
  2449.  06h  N BYTEs    directory path
  2450.  
  2451. Format of reply buffer:
  2452. Offset    Size    Description
  2453.  00h    WORD    (call) 0000h (no data returned)
  2454. --------N-21E2--SF0C-------------------------
  2455. INT 21 - Novell NetWare - DIRECTORY SERVICES - SCAN DIRECTORY FOR TRUSTEES
  2456.     AH = E2h subfn 0Ch
  2457.     DS:SI -> request buffer (see below)
  2458.     ES:DI -> reply buffer (see below)
  2459. Return: AL = status
  2460.         00h successful
  2461.         9Ch no more trustees
  2462. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2463. SeeAlso: AH=E2h/SF=0Dh,AH=E2h/SF=0Eh,AH=E3h/SF=47h
  2464.  
  2465. Format of request buffer:
  2466. Offset    Size    Description
  2467.  00h    WORD    length of following data (max 103h)
  2468.  02h    BYTE    0Ch (subfunction "Scan Directory For Trustees")
  2469.  03h    BYTE    directory handle
  2470.  04h    BYTE    sequence number
  2471.         00h on first call, increment for each subsequent call
  2472.  05h    BYTE    length of directory path (00h-FFh)
  2473.  06h  N BYTEs    directory path
  2474.  
  2475. Format of reply buffer:
  2476. Offset    Size    Description
  2477.  00h    WORD    (call) 0031h (length of following results buffer)
  2478.  02h 16 BYTEs    directory name
  2479.  12h  4 BYTEs    date and time of creation
  2480.  16h    DWORD    (big-endian) object ID of owner
  2481.  1Ah  5 DWORDs    (big-endian) object IDs of Trustees 0 through 4
  2482.         00000000h = end of group
  2483.  2Eh  5 BYTEs    directory rights for Trustees 0 through 4 (see AH=E2h/SF=03h)
  2484. --------N-21E2--SF0D-------------------------
  2485. INT 21 - Novell NetWare - DIRECTORY SERVICES - ADD TRUSTEE TO DIRECTORY
  2486.     AH = E2h subfn 0Dh
  2487.     DS:SI -> request buffer (see below)
  2488.     ES:DI -> reply buffer (see below)
  2489. Return: AL = status (00h,8Ch,FCh) (see AH=E2h/SF=00h)
  2490. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  2491.       Alloy NTNX
  2492. SeeAlso: AH=E2h/SF=0Ch,AH=E2h/SF=0Eh,AH=E3h/SF=47h
  2493.  
  2494. Format of request buffer:
  2495. Offset    Size    Description
  2496.  00h    WORD    length of following data (max 107h)
  2497.  02h    BYTE    0Dh (subfunction "Add Trustee To Directory")
  2498.  03h    BYTE    directory handle
  2499.  04h    DWORD    (big-endian) object ID of trustee
  2500.  08h    BYTE    trustee directory rights (see AH=E2h/SF=01h)
  2501.  09h    BYTE    length of directory path (00h-FFh)
  2502.  0Ah  N BYTEs    directory path
  2503.  
  2504. Format of reply buffer:
  2505. Offset    Size    Description
  2506.  00h    WORD    (call) 0000h (no data returned)
  2507. --------N-21E2--SF0E-------------------------
  2508. INT 21 - Novell NetWare - DIRECTORY SERVICES - DELETE TRUSTEE FROM DIRECTORY
  2509.     AH = E2h subfn 0Eh
  2510.     DS:SI -> request buffer (see below)
  2511.     ES:DI -> reply buffer (see below)
  2512. Return: AL = status (00h,98h,9Bh,9Ch) (see AH=E2h/SF=00h)
  2513. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  2514.       Alloy NTNX
  2515. SeeAlso: AH=E2h/SF=0Ch,AH=E2h/SF=0Dh
  2516.  
  2517. Format of request buffer:
  2518. Offset    Size    Description
  2519.  00h    WORD    length of following data (max 107h)
  2520.  02h    BYTE    0Eh (subfunction "Delete Trustee From Directory")
  2521.  03h    BYTE    directory handle
  2522.  04h    DWORD    (big-endian) object ID of trustee
  2523.  08h    BYTE    unused
  2524.  09h    BYTE    length of directory path (00h-FFh)
  2525.  0Ah  N BYTEs    directory path
  2526.  
  2527. Format of reply buffer:
  2528. Offset    Size    Description
  2529.  00h    WORD    (call) 0000h (no data returned)
  2530. --------N-21E2--SF0F-------------------------
  2531. INT 21 - Novell NetWare - DIRECTORY SERVICES - RENAME DIRECTORY
  2532.     AH = E2h subfn 0Fh
  2533.     DS:SI -> request buffer (see below)
  2534.     ES:DI -> reply buffer (see below)
  2535. Return: AL = status (00h,8Bh,9Bh,9Ch,9Eh) (see AH=E2h/SF=00h)
  2536. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  2537.       Alloy NTNX
  2538.     directories SYS:LOGIN, SYS:MAIL, and SYS:PUBLIC must not be renamed
  2539. SeeAlso: AH=56h,AH=E2h/SF=0Ah,AH=E2h/SF=0Bh
  2540.  
  2541. Format of request buffer:
  2542. Offset    Size    Description
  2543.  00h    WORD    length of following data (max 111h)
  2544.  02h    BYTE    0Fh (subfunction "Rename Directory")
  2545.  03h    BYTE    directory handle
  2546.  04h    BYTE    length of directory path (00h-FFh)
  2547.  05h  N BYTEs    directory path
  2548.     BYTE    length of new directory name (01h-0Eh)
  2549.       N BYTEs    new directory name
  2550.  
  2551. Format of reply buffer:
  2552. Offset    Size    Description
  2553.  00h    WORD    (call) 0000h (no data returned)
  2554. --------N-21E2--SF10-------------------------
  2555. INT 21 - Novell NetWare - FILE SERVICES - PURGE ERASED FILES
  2556.     AH = E2h subfn 10h
  2557.     DS:SI -> request buffer (see below)
  2558.     ES:DI -> reply buffer (see below)
  2559. Return: AL = status
  2560.         00h successful
  2561.         C6h no console rights
  2562. Desc:    purges files marked for deletion on the file server by the calling
  2563.       workstation
  2564. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  2565.       Alloy NTNX
  2566. SeeAlso: AH=13h,AH=41h,AH=E2h/SF=11h,AH=E3h/SF=CEh,AX=F244h
  2567.  
  2568. Format of request buffer:
  2569. Offset    Size    Description
  2570.  00h    WORD    0001h (length of following data)
  2571.  02h    BYTE    10h (subfunction "Purge Erased Files")
  2572.  
  2573. Format of reply buffer:
  2574. Offset    Size    Description
  2575.  00h    WORD    (call) 0000h (no results returned)
  2576. --------N-21E2--SF11-------------------------
  2577. INT 21 - Novell NetWare - FILE SERVICES - RESTORE ERASED FILE
  2578.     AH = E2h subfn 11h
  2579.     DS:SI -> request buffer (see below)
  2580.     ES:DI -> reply buffer (see below)
  2581. Return: AL = status
  2582.         00h successful
  2583.         98h nonexistent volume
  2584.         FFh no more erased files
  2585. Desc:    restores one file marked for deletion which has not yet been purged
  2586. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  2587.       Alloy NTNX
  2588. SeeAlso: AH=13h,AH=41h,AH=E2h/SF=10h,AH=E3h/SF=CEh,AX=F244h
  2589.  
  2590. Format of request buffer:
  2591. Offset    Size    Description
  2592.  00h    WORD    length of following data (max 13h)
  2593.  02h    BYTE    11h (subfunction "Restore Erased File")
  2594.  03h    BYTE    directory handle or 00h
  2595.  04h    BYTE    length of volume name
  2596.  05h  N BYTEs    volume name (including colon)
  2597. Note:    if both a directory handle and a volume name are specified, the volume
  2598.       name overrides the handle
  2599.  
  2600. Format of reply buffer:
  2601. Offset    Size    Description
  2602.  00h    WORD    (call) 001Eh (size of following results buffer)
  2603.  02h 15 BYTEs    ASCIZ name of erased file
  2604.  11h 15 BYTEs    ASCIZ name under which file was restored
  2605. --------N-21E2--SF12-------------------------
  2606. INT 21 - Novell NetWare - DIRECTORY SERVICES - ALLOC PERMANENT DIRECTORY HANDLE
  2607.     AH = E2h subfn 12h
  2608.     DS:SI -> request buffer (see below)
  2609.     ES:DI -> reply buffer (see below)
  2610. Return: AL = status (00h,98h,9Ch) (see AH=E2h/SF=00h)
  2611. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  2612.       Alloy NTNX
  2613. SeeAlso: AH=E2h/SF=00h,AH=E2h/SF=13h,AH=E2h/SF=14h
  2614.  
  2615. Format of request buffer:
  2616. Offset    Size    Description
  2617.  00h    WORD    length of following data (max 103h)
  2618.  02h    BYTE    12h (subfunction "Alloc Permanent Directory Handle")
  2619.  03h    BYTE    directory handle
  2620.  04h    BYTE    drive ('A'-'Z')
  2621.  05h    BYTE    length of directory path
  2622.  06h  N BYTEs    directory path
  2623.  
  2624. Format of reply buffer:
  2625. Offset    Size    Description
  2626.  00h    WORD    (call) 0002h (size of following results buffer)
  2627.  02h    BYTE    new directory handle
  2628.  03h    BYTE    effective directory rights (see AH=E2h/SF=01h)
  2629. --------N-21E2--SF13-------------------------
  2630. INT 21 - Novell NetWare - DIRECTORY SERVICES - ALLOC TEMPORARY DIRECTORY HANDLE
  2631.     AH = E2h subfn 13h
  2632.     DS:SI -> request buffer (see below)
  2633.     ES:DI -> reply buffer (see AH=E2h/SF=12h)
  2634. Return: AL = status (00h,98h,9Ch) (see AH=E2h/SF=00h)
  2635. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  2636.       Alloy NTNX
  2637.     this call is the same as AH=E2h/SF=12h except that the directory handle
  2638.       will be automatically deallocated when the calling application
  2639.       executes an End of Job call (AH=D6h) or terminates
  2640. SeeAlso: AH=D6h,AH=E2h/SF=00h,AH=E2h/SF=12h,AH=E2h/SF=14h,AH=E2h/SF=16h
  2641.  
  2642. Format of request buffer:
  2643. Offset    Size    Description
  2644.  00h    WORD    length of following data (max 103h)
  2645.  02h    BYTE    13h (subfunction "Alloc Temporary Directory Handle")
  2646.  03h    BYTE    directory handle
  2647.  04h    BYTE    drive ('A'-'Z')
  2648.  05h    BYTE    length of directory path
  2649.  06h  N BYTEs    directory path
  2650. --------N-21E2--SF14-------------------------
  2651. INT 21 - Novell NetWare - DIRECTORY SERVICES - DEALLOCATE DIRECTORY HANDLE
  2652.     AH = E2h subfn 14h
  2653.     DS:SI -> request buffer (see below)
  2654.     ES:DI -> reply buffer (see below)
  2655. Return: AL = status (00h,9Bh) (see AH=E2h/SF=00h)
  2656. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  2657.       Alloy NTNX
  2658. SeeAlso: AH=E2h/SF=12h,AH=E2h/SF=13h
  2659.  
  2660. Format of request buffer:
  2661. Offset    Size    Description
  2662.  00h    WORD    0002h (length of following data)
  2663.  02h    BYTE    14h (subfunction "Deallocate Directory Handle")
  2664.  03h    BYTE    directory handle
  2665.  
  2666. Format of reply buffer:
  2667. Offset    Size    Description
  2668.  00h    WORD    (call) 0000h (no returned data)
  2669. --------N-21E2--SF15-------------------------
  2670. INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME INFO WITH HANDLE
  2671.     AH = E2h subfn 15h
  2672.     DS:SI -> request buffer (see below)
  2673.     ES:DI -> reply buffer (see below)
  2674. Return: AL = status
  2675.         00h successful
  2676. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  2677.       Alloy NTNX
  2678. SeeAlso: AH=DAh,AH=E2h/SF=02h,AH=E2h/SF=06h,AH=E2h/SF=19h,AH=E3h/SF=E9h
  2679.  
  2680. Format of request buffer:
  2681. Offset    Size    Description
  2682.  00h    WORD    0002h (length of following data)
  2683.  02h    BYTE    15h (subfunction "Get Volume Info With Handle")
  2684.  03h    BYTE    directory handle
  2685.  
  2686. Format of reply buffer:
  2687. Offset    Size    Description
  2688.  00h    WORD    (call) 001Ch (length of following results buffer)
  2689.  02h    WORD    (big-endian) sectors per block
  2690.  04h    WORD    (big-endian) total blocks on volume
  2691.  06h    WORD    (big-endian) blocks available on volume
  2692.  08h    WORD    (big-endian) total directory slots
  2693.  0Ah    WORD    (big-endian) directory slots available
  2694.  0Ch 16 BYTEs    NUL-padded volume name
  2695.  1Ch    WORD    (big-endian) flag: volume removable if nonzero
  2696. --------N-21E2--SF16-------------------------
  2697. INT 21 u - Novell NetWare - DIRECTORY SERVICES - ALLOC SPECIAL TEMP DIR HANDLE
  2698.     AH = E2h subfn 16h
  2699.     DS:SI -> request buffer (see below)
  2700.     ES:DI -> reply buffer
  2701. Return: AL = status
  2702. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX,
  2703.       but is not described in _NetWare_System_Calls--DOS_
  2704. SeeAlso: AH=E2h/SF=13h,AH=E2h/SF=14h
  2705.  
  2706. Format of request buffer:
  2707. Offset    Size    Description
  2708.  00h    WORD    length of following data
  2709.  02h    BYTE    16h (subfunction "Allocate Special Temporary Directory Handle")
  2710.     ???
  2711. --------N-21E2--SF17-------------------------
  2712. INT 21 - Novell NetWare - DIRECTORY SERVICES - SAVE DIRECTORY HANDLE
  2713.     AH = E2h subfn 17h
  2714.     DS:SI -> request buffer (see below)
  2715.     ES:DI -> reply buffer (see below)
  2716. Return: AL = status
  2717.         00h successful
  2718.         else network error code
  2719. Note:    this function is supported by Advanced NetWare 2.0+ and Alloy NTNX
  2720. SeeAlso: AH=E2h/SF=12h,AH=E2h/SF=17h
  2721.  
  2722. Format of request buffer:
  2723. Offset    Size    Description
  2724.  00h    WORD    0002h (length of following data)
  2725.  02h    BYTE    18h (subfunction "Restore Directory Handle")
  2726.  03h    BYTE    directory handle
  2727.  
  2728. Format of reply buffer:
  2729. Offset    Size    Description
  2730.  00h    WORD    (call) 0010h (length of following results buffer)
  2731.  02h 16 BYTEs    save buffer
  2732. --------N-21E2--SF18-------------------------
  2733. INT 21 - Novell NetWare - DIRECTORY SERVICES - RESTORE DIRECTORY HANDLE
  2734.     AH = E2h subfn 18h
  2735.     DS:SI -> request buffer (see below)
  2736.     ES:DI -> reply buffer (see below)
  2737. Return: AL = status
  2738.         00h successful
  2739.         else network error code
  2740. Desc:    restore a previously saved directory handle to reproduce an executing
  2741.       environment, possibly on a different execution site
  2742. Note:    this function is supported by Advanced NetWare 2.0+ and Alloy NTNX
  2743. SeeAlso: AH=E2h/SF=12h,AH=E2h/SF=17h
  2744.  
  2745. Format of request buffer:
  2746. Offset    Size    Description
  2747.  00h    WORD    0011h (length of following data)
  2748.  02h    BYTE    18h (subfunction "Restore Directory Handle")
  2749.  03h 16 BYTEs    save buffer
  2750.  
  2751. Format of reply buffer:
  2752. Offset    Size    Description
  2753.  00h    WORD    (call) 0002h (length of following results buffer)
  2754.  02h    BYTE    new directory handle
  2755.  03h    BYTE    effective rights (see AH=E2h/SF=03h)
  2756. --------N-21E2--SF19-------------------------
  2757. INT 21 - Novell NetWare - DIRECTORY SERVICES - SET DIRECTORY INFORMATION
  2758.     AH = E2h subfn 19h
  2759.     DS:SI -> request buffer (see below)
  2760.     ES:DI -> reply buffer (see below)
  2761. Return: AL = status (00h,9Bh,9Ch) (see AH=E2h/SF=00h)
  2762. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2763. SeeAlso: AH=E2h/SF=02h,AH=E2h/SF=0Fh
  2764.  
  2765. Format of request buffer:
  2766. Offset    Size    Description
  2767.  00h    WORD    length of following data (max 10Bh)
  2768.  02h    BYTE    19h (subfunction "Set Directory Information")
  2769.  03h    BYTE    directory handle
  2770.  04h    DWORD    (big-endian) date and time of creation
  2771.  08h    DWORD    (big-endian) object ID of owner
  2772.  0Ch    BYTE    maximum directory rightes (see AH=E2h/SF=03h)
  2773.  0Dh    BYTE    length of directory path
  2774.  0Eh  N BYTEs    directory path
  2775.  
  2776. Format of reply buffer:
  2777. Offset    Size    Description
  2778.  00h    WORD    (call) 0000h (no results returned)
  2779. --------N-21E2--SF1A-------------------------
  2780. INT 21 - Novell NetWare - FILE SERVER - GET PATH FROM DIRECTORY ENTRY
  2781.     AH = E2h subfn 1Ah
  2782.     DS:SI -> request buffer (see below)
  2783.     ES:DI -> reply buffer (see below)
  2784. Return: AL = status
  2785.         00h successful
  2786. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  2787.       Alloy NTNX
  2788. SeeAlso: AH=E2h/SF=01h,AH=E2h/SF=06h,AH=E3h/SF=D7h
  2789.  
  2790. Format of request buffer:
  2791. Offset    Size    Description
  2792.  00h    WORD    0004h (length of following data)
  2793.  02h    BYTE    1Ah (subfunction "Get Path From Directory Entry")
  2794.  03h    BYTE    volume number (00h-1Fh)
  2795.  04h    WORD    (big-endian) directory entry number
  2796.  
  2797. Format of reply buffer:
  2798. Offset    Size    Description
  2799.  00h    WORD    (call) size of following results record (max 200h)
  2800.  02h 256 BYTEs    path
  2801. --------E-21E3-------------------------------
  2802. INT 21 - OS/286, OS/386 - ISSUE REAL INTERRUPT
  2803.     AH = E3h
  2804.     AL = interrupt number
  2805.     ???
  2806. Return: ???
  2807. Note:    protected mode only???
  2808. SeeAlso: AH=E1h"OS/286",INT 31/AX=0300h
  2809. --------T-21E3-------------------------------
  2810. INT 21 - DoubleDOS - ADD CHARACTER TO KEYBOARD BUFFER OF CURRENT JOB
  2811.     AH = E3h
  2812.     AL = character
  2813. Return: AL = 00h successful
  2814.          01h buffer full (128 characters)
  2815. SeeAlso: AH=E1h"DoubleDOS",AH=E2h"DoubleDOS",AH=E8h"DoubleDOS"
  2816. SeeAlso: AH=F3h"DoubleDOS"
  2817. --------N-21E3-------------------------------
  2818. INT 21 - Novell NetWare - CONNECTION CONTROL
  2819.     AH = E3h
  2820.     DS:SI -> request buffer (see below)
  2821.     ES:DI -> reply buffer (see below)
  2822. Return: AL = status
  2823.         00h successful
  2824.         else error code
  2825. Note:    supported by NetWare 4.0+, Advanced NetWare 1.0+, and Alloy NTNX
  2826. SeeAlso: AH=E3h/SF=0Ah,AH=E3h/SF=32h,AH=E3h/SF=64h,AH=E3h/SF=C8h
  2827.  
  2828. Format of request buffer:
  2829. Offset    Size    Description
  2830.  00h    WORD    length of following data
  2831.  02h    BYTE    subfunction number
  2832.         00h login
  2833.         01h change password
  2834.         02h map user to station set
  2835.         03h map object to number
  2836.         04h map number to object
  2837.         05h get station's logged information
  2838.         06h get station's root mask (obsolete)
  2839.         07h map group name to number
  2840.         08h map number to group name
  2841.         09h get memberset M of group G
  2842.     var    depends on subfunction
  2843. Notes:    the above subfunctions are not described in _NetWare_System_Calls--DOS_
  2844.     see separate entries below for other subfunctions
  2845.  
  2846. Format of reply buffer:
  2847. Offset    Size    Description
  2848.  00h    WORD    (call) length of following buffer space for results
  2849.     var    depends on subfunction
  2850.  
  2851. Format of object property:
  2852. Offset    Size    Description
  2853.  00h 1-16 BYTEs property name
  2854.   N    BYTE    flags
  2855.         bit 0: property is dynamic
  2856.         bit 1: property is a set rather than an item
  2857.  N+1    BYTE    security levels (see below)
  2858.     ???
  2859.  
  2860. Names of well-known properties:
  2861.  ACCOUNT_BALANCE
  2862.  ACCOUNT_SERVERS
  2863.  GROUP_MEMBERS
  2864.  GROUPS_I'M_IN
  2865.  IDENTIFICATION        user's name
  2866.  LOGIN_CONTROL
  2867.  NET_ADDRESS
  2868.  OPERATORS
  2869.  PASSWORD
  2870.  SECURITY_EQUALS
  2871.  
  2872. Values for security levels:
  2873.  00h    "anyone" everyone may access
  2874.  01h    "logged" only logged-in clients may access
  2875.  02h    "object" only clients logged-in with object's name, type, and password
  2876.  03h    "supervisor" only clients logged-in with supervisor privileges
  2877.  04h    "NetWare" only NetWare may access
  2878. Note:    the above values are stored in a nybble; the high half-byte is write
  2879.       access and the low half-byte is read access
  2880.  
  2881. Values for object type:
  2882.  0000h    unknown
  2883.  0001h    user
  2884.  0002h    user group
  2885.  0003h    print queue
  2886.  0004h    file server
  2887.  0005h    job server
  2888.  0006h    gateway
  2889.  0007h    print server
  2890.  0008h    archive queue
  2891.  0009h    archive server
  2892.  000Ah    job queue
  2893.  000Bh    administration
  2894.  0026h    remote bridge server
  2895.  0047h    advertising print server
  2896.  0048h-8000h reserved
  2897.  FFFFh    wild (used only for finding objects)
  2898. --------N-21E3--SF0A-------------------------
  2899. INT 21 - Novell NetWare - CONNECTION SERVICES - ENTER LOGIN AREA
  2900.     AH = E3h subfn 0Ah
  2901.     DS:SI -> request buffer (see below)
  2902.     ES:DI -> reply buffer (see below)
  2903. Return: AL = status
  2904.         00h successful
  2905. Desc:    change the login directory for the calling workstation
  2906. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  2907.       Alloy NTNX
  2908. SeeAlso: AH=D7h,AH=E3h/SF=14h
  2909.  
  2910. Format of request buffer:
  2911. Offset    Size    Description
  2912.  00h    WORD    length of following data (max 102h)
  2913.  02h    BYTE    0Ah (subfunction "Enter Login Area")
  2914.  03h    BYTE    number of local drives
  2915.  04h    BYTE    length of subdirectory name (00h-FFh)
  2916.  05h  N BYTEs    name of subdirectory under SYS:LOGIN where to find the login
  2917.         utility
  2918.  
  2919. Format of reply buffer:
  2920. Offset    Size    Description
  2921.  00h    WORD    (call) 0000h (no data returned)
  2922. --------N-21E3--SF0C-------------------------
  2923. INT 21 U - Novell Netware - VERIFY NETWORK SERIAL NUMBER
  2924.     AH = E3h subfn 0Ch
  2925.     DS:SI -> request buffer (see below)
  2926.     ES:DI -> reply buffer (see below)
  2927. Return: AL = status
  2928.         00h successful
  2929. Note:    if the network serial number to be verified is correct, the reply
  2930.       buffer will contain the corresponding application number
  2931. SeeAlso: AH=E3h/SF=12h
  2932.  
  2933. Format of request buffer:
  2934. Offset    Size    Description
  2935.  00h    WORD    0005h (length of following data)
  2936.  02h    BYTE    0Ch (subfunction "Verify Network Serial Number")
  2937.  03h    DWORD    (big-endian) network serial number to verify
  2938.  
  2939. Format of reply buffer:
  2940. Offset    Size    Description
  2941.  00h    WORD    (call) 0002h (size of following results buffer)
  2942.  02h    WORD    (big-endian) application number
  2943. --------N-21E3--SF0D-------------------------
  2944. INT 21 - Novell NetWare - MESSAGE SERVICES - LOG NETWORK MESSAGE
  2945.     AH = E3h subfn 0Dh
  2946.     DS:SI -> request buffer (see below)
  2947.     ES:DI -> reply buffer (see below)
  2948. Return: AL = status
  2949.         00h successful
  2950. Desc:    append a line to the default file server's NET$LOG.MSG file
  2951. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  2952.       Alloy NTNX
  2953. SeeAlso: AH=E1h/SF=09h
  2954.  
  2955. Format of request buffer:
  2956. Offset    Size    Description
  2957.  00h    WORD    length of following data (max 52h)
  2958.  02h    BYTE    0Dh (subfunction "Log Network Message")
  2959.  03h    BYTE    length of message (01h-50h)
  2960.  04h  N BYTEs    message (no control characters or characters > 7Eh)
  2961. --------N-21E3--SF0E-------------------------
  2962. INT 21 - Novell NetWare - FILE SERVER - GET DISK UTILIZATION
  2963.     AH = E3h subfn 0Eh
  2964.     DS:SI -> request buffer (see below)
  2965.     ES:DI -> reply buffer (see below)
  2966. Return: AL = status
  2967.         00h successful
  2968.         98h nonexistent volume
  2969.         F2h not permitted to read object
  2970. Notes:    this function is supported by Advanced NetWare 2.1+
  2971.     the caller must have bindery object read privileges
  2972. SeeAlso: AH=E3h/SF=11h,AH=E3h/SF=D6h,AH=E3h/SF=D9h,AH=E3h/SF=E6h,AH=E3h/SF=E9h
  2973.  
  2974. Format of request buffer:
  2975. Offset    Size    Description
  2976.  00h    WORD    0005h (length of following data)
  2977.  02h    BYTE    0Eh (subfunction "Get Disk Utilization")
  2978.  03h    BYTE    volume number (00h-1Fh)
  2979.  04h    DWORD    (big-endian) object ID
  2980.  
  2981. Format of reply buffer:
  2982. Offset    Size    Description
  2983.  00h    WORD    (call) 000Bh (size of following results buffer)
  2984.  02h    BYTE    volume number (00h-1Fh)
  2985.  03h    DWORD    (big-endian) object ID
  2986.  07h    WORD    (big-endian) directories used by object
  2987.  09h    WORD    (big-endian) files created by object
  2988.  0Bh    WORD    (big-endian) disk blocks used by object-created files
  2989. --------N-21E3--SF0F-------------------------
  2990. INT 21 - Novell NetWare - FILE SERVICES - SCAN FILE INFORMATION
  2991.     AH = E3h subfn 0Fh
  2992.     DS:SI -> request buffer (see below)
  2993.     ES:DI -> reply buffer (see below)
  2994. Return: AL = status
  2995.         00h successful
  2996.         89h not permitted to search directory
  2997.         FFh no more matching files
  2998. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2999. SeeAlso: AH=B6h,AH=E3h/SF=10h
  3000.  
  3001. Format of request buffer:
  3002. Offset    Size    Description
  3003.  00h    WORD    length of following data (max 105h)
  3004.  02h    BYTE    0Fh (subfunction "Scan File Information")
  3005.  03h    WORD    (big-endian) sequence number
  3006.         FFFFh on first call
  3007.  05h    BYTE    directory handle or 00h
  3008.  06h    BYTE    search attributes (see AX=4301h)
  3009.  07h    BYTE    length of filespec
  3010.  08h  N BYTEs    ASCIZ uppercase filespec
  3011.  
  3012. Format of reply buffer:
  3013. Offset    Size    Description
  3014.  00h    WORD    (call) 005Eh (size of following results buffer)
  3015.  02h    WORD    next sequence number (place in request buffer for next call)
  3016.  04h 14 BYTEs    ASCIZ filename
  3017.  12h    BYTE    file attributes (see AX=4301h for format)
  3018.  13h    BYTE    extended file attributes (see AH=B6h for format)
  3019.  14h    DWORD    (big-endian) file size in bytes
  3020.  18h    WORD    (big-endian) file's creation date (see AX=5700h for format)
  3021.  1Ah    WORD    (big-endian) date of last access (see AX=5700h for format)
  3022.  1Ch    DWORD    (big-endian) date and time of last update (see AH=E2h/SF=02h)
  3023.  20h    DWORD    (big-endian) object ID of owner
  3024.  24h    DWORD    (big-endian) date and time last archived (see AH=E2h/SF=02h)
  3025.  28h 55 BYTEs    reserved
  3026. Note:    the official documentation erroneously lists the field at offset 04h as
  3027.       15 bytes and thus shifts the remaining fields by one byte
  3028. --------N-21E3--SF10-------------------------
  3029. INT 21 - Novell NetWare - FILE SERVICES - SET FILE INFORMATION
  3030.     AH = E3h subfn 10h
  3031.     DS:SI -> request buffer (see below)
  3032.     ES:DI -> reply buffer (see below)
  3033. Return: AL = status
  3034.         00h successful
  3035. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  3036.     the caller must have modify privileges on the directory containing the
  3037.       file
  3038. SeeAlso: AH=B6h,AH=E3h/SF=0Fh
  3039.  
  3040. Format of request buffer:
  3041. Offset    Size    Description
  3042.  00h    WORD    length of following data (max 151h)
  3043.  02h    BYTE    10h (subfunction "Set File Information")
  3044.  03h    BYTE    file attributes (see AX=4301h for format)
  3045.  04h    BYTE    extended file attributes (see AH=B6h for format)
  3046.  05h  4 BYTEs    reserved
  3047.  09h    WORD    (big-endian) file's creation date (see AX=5700h for format)
  3048.  0Bh    WORD    (big-endian) date of last access (see AX=5700h for format)
  3049.  0Dh    DWORD    (big-endian) date and time of last update (see AH=E2h/SF=02h)
  3050.  11h    DWORD    (big-endian) object ID of owner
  3051.  15h    DWORD    (big-endian) date and time last archived (see AH=E2h/SF=02h)
  3052.  19h 56 BYTEs    reserved
  3053.  51h    BYTE    directory handle or 00h
  3054.  52h    BYTE    search attributes (see AX=4301h for format)
  3055.  53h    BYTE    length of filename
  3056.  54h  N BYTEs    filename
  3057. Format of reply buffer:
  3058. Offset    Size    Description
  3059.  00h    WORD    (call) 0000h (no results returned)
  3060. --------N-21E3--SF11-------------------------
  3061. INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER INFORMATION
  3062.     AH = E3h subfn 11h
  3063.     DS:SI -> request buffer (see below)
  3064.     ES:DI -> reply buffer (see below)
  3065. Return: AL = status
  3066.         00h successful
  3067. Desc:    determine the version of software installed on the file server and
  3068.       how it is configured
  3069. Note:    this function is supported by Advanced NetWare 2.1+
  3070. SeeAlso: AH=E3h/SF=0Eh,AE3h/SF=12h,AH=E3h/SF=CDh,AH=E3h/SF=D3h,AH=E3h/SF=E7h
  3071. SeeAlso: AH=E7h
  3072.  
  3073. Format of request buffer:
  3074. Offset    Size    Description
  3075.  00h    WORD    0001h (length of following data)
  3076.  02h    BYTE    11h (subfunction "Get File Server Information")
  3077.  
  3078. Format of reply buffer:
  3079. Offset    Size    Description
  3080.  00h    WORD    (call) 0080h (size of following results buffer)
  3081.  02h 48 BYTEs    server's name
  3082.  32h    BYTE    NetWare version
  3083.  33h    BYTE    NetWare subversion (0-99)
  3084.  34h    WORD    (big-endian) number of connections supported
  3085.  36h    WORD    (big-endian) number of connections in use
  3086.  38h    WORD    (big-endian) maximum connected volumes
  3087. ---Advanced NetWare 2.1+ ---
  3088.  3Ah    BYTE    operating system revision number
  3089.  3Bh    BYTE    fault tolerance (SFT) level
  3090.  3Ch    BYTE    TTS level
  3091.  3Dh    WORD    (big-endian) maximum simultaneously-used connections
  3092.  3Fh    BYTE    accounting version
  3093.  40h    BYTE    VAP version
  3094.  41h    BYTE    queueing version
  3095.  42h    BYTE    print server version
  3096.  43h    BYTE    virtual console version
  3097.  44h    BYTE    security restrictions level
  3098.  45h    BYTE    internetwork bridge version
  3099.  46h 60 BYTEs    reserved
  3100. --------N-21E3--SF12-------------------------
  3101. INT 21 - Novell NetWare - GET SERIAL NUMBER
  3102.     AH = E3h subfn 12h
  3103.     AL = 00h
  3104.     BX = CX = DX = 0000h
  3105.     DS:SI -> request buffer (see below)
  3106.     ES:DI -> reply buffer (see below)
  3107. Return: AL = status
  3108.         00h successful
  3109. Desc:    return the serial number and application number for the software
  3110.       installed on the file server
  3111. Notes:    this function is supported by Advanced Netware 2.1+
  3112.     reportedly, the workstation crashes if AL,BX,CX, and DX are not all
  3113.       zero
  3114. SeeAlso: AH=E3h/SF=0Ch,AH=E3h/SF=11h
  3115.  
  3116. Format of request buffer:
  3117. offset     size    description
  3118.  00h     WORD    0001h (length of following data)
  3119.  02h     BYTE    12h (subfunction "Get Serial Number")
  3120.  
  3121. Format of reply buffer:
  3122. offset     size    description
  3123.  00h     WORD    (call) 0006h (size of following results buffer)
  3124.  02h   4 BYTEs    (big-endian) Netware software serial number
  3125.  06h   2 BYTEs    (big-endian) Netware software application number
  3126. --------N-21E3--SF13-------------------------
  3127. INT 21 - Novell NetWare - CONNECTION SERVICES - GET INTERNET ADDRESS
  3128.     AH = E3h subfn 13h
  3129.     DS:SI -> request buffer (see below)
  3130.     ES:DI -> reply buffer (see below)
  3131. Return: AL = status
  3132.         00h successful
  3133. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  3134. SeeAlso: AH=DCh"NetWare",AH=E3h/SF=16h,AH=EEh"NetWare"
  3135.  
  3136. Format of request buffer:
  3137. Offset    Size    Description
  3138.  00h    WORD    0002h (length of following data)
  3139.  02h    BYTE    13h (subfunction "Get Internet Address")
  3140.  03h    BYTE    logical connection number (01h-64h)
  3141.  
  3142. Format of reply buffer:
  3143. Offset    Size    Description
  3144.  00h    WORD    (call) 000Ch (length of following results buffer)
  3145.  02h  4 BYTEs    network number
  3146.  06h  6 BYTEs    physical node address
  3147.  0Ch  2 BYTEs    socket number
  3148. --------N-21E3--SF14-------------------------
  3149. INT 21 - Novell NetWare - CONNECTION SERVICES - LOGIN TO FILE SERVER
  3150.     AH = E3h subfn 14h
  3151.     DS:SI -> request buffer (see below)
  3152.     ES:DI -> reply buffer (see below)
  3153. Return: AL = status
  3154.         00h successful
  3155. Desc:    this function retrieves a list indicating the connection numbers under
  3156.       which a bindery object is logged into the default file server
  3157. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  3158. SeeAlso: AH=D7h"NetWare",AH=F1h"NetWare"
  3159.  
  3160. Format of request buffer:
  3161. Offset    Size    Description
  3162.  00h    WORD    length of following data (max B3h)
  3163.  02h    BYTE    14h (subfunction "Login To File Server")
  3164.  03h    WORD    (big-endian) type of object
  3165.  05h    BYTE    length of object's name (01h-2Fh)
  3166.  06h  N BYTEs    object's name
  3167.     BYTE    length of password
  3168.       N BYTEs    password
  3169.  
  3170. Format of reply buffer:
  3171. Offset    Size    Description
  3172.  00h    WORD    (call) 0000h (no data returned)
  3173. --------N-21E3--SF15-------------------------
  3174. INT 21 - Novell NetWare - CONNECTION SERVICES - GET OBJECT CONNECTION NUMBERS
  3175.     AH = E3h subfn 15h
  3176.     DS:SI -> request buffer (see below)
  3177.     ES:DI -> reply buffer (see below)
  3178. Return: AL = status
  3179.         00h successful
  3180. Desc:    this function retrieves a list indicating the connection numbers under
  3181.       which a bindery object is logged into the default file server
  3182. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  3183. SeeAlso: AH=DCh"NetWare",AH=E3h/SF=16h
  3184.  
  3185. Format of request buffer:
  3186. Offset    Size    Description
  3187.  00h    WORD    length of following data (max 33h)
  3188.  02h    BYTE    15h (subfunction "Get Object Connection Numbers")
  3189.  03h    WORD    (big-endian) type of object
  3190.  05h    BYTE    length of object's name (01h-2Fh)
  3191.  06h  N BYTEs    object's name
  3192.  
  3193. Format of reply buffer:
  3194. Offset    Size    Description
  3195.  00h    WORD    (call) length of following results buffer (max 65h)
  3196.  02h    BYTE    number of connections
  3197.  03h  N BYTEs    connection list
  3198. --------N-21E3--SF16-------------------------
  3199. INT 21 - Novell NetWare - CONNECTION SERVICES - GET CONNECTION INFORMATION
  3200.     AH = E3h subfn 16h
  3201.     DS:SI -> request buffer (see below)
  3202.     ES:DI -> reply buffer (see below)
  3203. Return: AL = status
  3204.         00h successful
  3205. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  3206. SeeAlso: AH=D7h,AH=DCh"NetWare",AH=E3h/SF=14h
  3207.  
  3208. Format of request buffer:
  3209. Offset    Size    Description
  3210.  00h    WORD    0002h (length of following data)
  3211.  02h    BYTE    16h (subfunction "Get Connection Information")
  3212.  03h    BYTE    logical connection number (01h-64h)
  3213.  
  3214. Format of reply buffer:
  3215. Offset    Size    Description
  3216.  00h    WORD    (call) 003Eh (length of following results buffer)
  3217.  02h    DWORD    (big-endian) object ID for object logged in on the connection
  3218.         00000000h if no object logged in
  3219.  06h    WORD    (big-endian) type of object
  3220.  08h 48 BYTEs    name of object
  3221.  38h  7 BYTEs    login time (see below)
  3222. Note:    much of the Novell documentation incorrectly states the reply buffer
  3223.       length as 3Fh instead of 40h, which corresponds to a results length
  3224.       of 3Dh (61) bytes instead of the correct 3Eh (62) bytes
  3225.  
  3226. Format of login time:
  3227. Offset    Size    Description
  3228.  00h    BYTE    year (80-99 = 1980-1999, 00-79 = 2000-2079)
  3229.  01h    BYTE    month (1-12)
  3230.  02h    BYTE    day (1-31)
  3231.  03h    BYTE    hour (0-23)
  3232.  04h    BYTE    minute (0-59)
  3233.  05h    BYTE    second (0-59)
  3234.  06h    BYTE    day of week (0 = Sunday)
  3235. --------N-21E3--SF32-------------------------
  3236. INT 21 - Novell NetWare - BINDERY SERVICES - CREATE BINDERY OBJECT
  3237.     AH = E3h subfn 32h
  3238.     DS:SI -> request buffer (see below)
  3239.     ES:DI -> reply buffer (see below)
  3240. Return: AL = status (see below)
  3241. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  3242. SeeAlso: AH=E3h/SF=33h,AH=E3h/SF=34h,AH=E3h/SF=38h,AH=E3h/SF=39h
  3243.  
  3244. Values for status:
  3245.  00h    successful
  3246.  96h    server out of memory
  3247.  EEh    object already exists
  3248.  EFh    invalid name
  3249.  F0h    wildcard not allowed
  3250.  F1h    invalid bindery security level
  3251.  F3h    not permitted to rename object
  3252.  F4h    not permitted to delete objects
  3253.  F5h    not permitted to create objects
  3254.  FCh    no such object
  3255.  FEh    server bindery locked
  3256.  FFh    bindery failure
  3257.  
  3258. Format of request buffer:
  3259. Offset    Size    Description
  3260.  00h    WORD    length of following data (max 35h)
  3261.  02h    BYTE    32h (subfunction "Create Bindery Object")
  3262.  03h    BYTE    object flag
  3263.         00h static
  3264.         01h dynamic
  3265.  04h    BYTE    object security levels
  3266.  05h    WORD    (big-endian) type of object
  3267.  07h    BYTE    length of object's name
  3268.  08h  N BYTEs    object's name
  3269.  
  3270. Format of reply buffer:
  3271. Offset    Size    Description
  3272.  00h    WORD    0000h (no data returned)
  3273. --------N-21E3--SF33-------------------------
  3274. INT 21 - Novell NetWare - BINDERY SERVICES - DELETE BINDERY OBJECT
  3275.     AH = E3h subfn 33h
  3276.     DS:SI -> request buffer (see below)
  3277.     ES:DI -> reply buffer (see below)
  3278. Return: AL = status (see AH=E3h/SF=32h)
  3279. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  3280. SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=34h
  3281.  
  3282. Format of request buffer:
  3283. Offset    Size    Description
  3284.  00h    WORD    length of following data (max 33h)
  3285.  02h    BYTE    33h (subfunction "Delete Bindery Object")
  3286.  03h    WORD    (big-endian) type of object
  3287.  05h    BYTE    length of object's name (01h-2Fh)
  3288.  06h  N BYTEs    object's name
  3289.  
  3290. Format of reply buffer:
  3291. Offset    Size    Description
  3292.  00h    WORD    (call) 0000h (no data returned)
  3293. --------N-21E3--SF34-------------------------
  3294. INT 21 - Novell NetWare - BINDERY SERVICES - RENAME BINDERY OBJECT
  3295.     AH = E3h subfn 34h
  3296.     DS:SI -> request buffer (see below)
  3297.     ES:DI -> reply buffer (see below)
  3298. Return: AL = status (see AH=E3h/SF=32h)
  3299. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  3300. SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=33h
  3301.  
  3302. Format of request buffer:
  3303. Offset    Size    Description
  3304.  00h    WORD    length of following data (max 63h)
  3305.  02h    BYTE    34h (subfunction "Rename Bindery Object")
  3306.  03h    WORD    (big-endian) type of object
  3307.  05h    BYTE    length of object's name (01h-2Fh)
  3308.  06h  N BYTEs    object's name
  3309.     BYTE    length of new name (01h-2Fh)
  3310.       N BYTEs    new name
  3311.  
  3312. Format of reply buffer:
  3313. Offset    Size    Description
  3314.  00h    WORD    (call) 0000h (no data returned)
  3315. --------N-21E3--SF35-------------------------
  3316. INT 21 - Novell NetWare - BINDERY SERVICES - GET BINDERY OBJECT ID
  3317.     AH = E3h subfn 35h
  3318.     DS:SI -> request buffer (see below)
  3319.     ES:DI -> reply buffer (see below)
  3320. Return: AL = status
  3321.         00h successful
  3322.         96h server out of memory
  3323.         FCh no such object
  3324.         FEh server bindery locked
  3325.         FFh bindery failure
  3326. Notes:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  3327.     the requesting workstation must be logged into the file server with
  3328.       read access to the bindery object
  3329. SeeAlso: AH=E3h/SF=36h,AH=E3h/SF=44h
  3330.  
  3331. Format of request buffer:
  3332. Offset    Size    Description
  3333.  00h    WORD    length of following data (max 33h)
  3334.  02h    BYTE    35h (subfunction "Get Bindery Object ID")
  3335.  03h    WORD    (big-endian) type of object
  3336.  05h    BYTE    length of object's name
  3337.  06h  N BYTEs    object's name
  3338.  
  3339. Format of reply buffer:
  3340. Offset    Size    Description
  3341.  00h    WORD    (call) 0036h (length of following buffer space)
  3342.  02h    DWORD    (big-endian) object ID
  3343.  06h    WORD    (big-endian) type of object
  3344.  08h 48 BYTEs    object name
  3345. --------N-21E3--SF36-------------------------
  3346. INT 21 - Novell NetWare - BINDERY SERVICES - GET BINDERY OBJECT NAME
  3347.     AH = E3h subfn 36h
  3348.     DS:SI -> request buffer (see below)
  3349.     ES:DI -> reply buffer (see below)
  3350. Return: AL = status (see below)
  3351. Notes:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  3352.     the requesting workstation must be logged into the file server with
  3353.       read access to the bindery object
  3354. SeeAlso: AH=E3h/SF=35h,AH=E3h/SF=44h
  3355.  
  3356. Values for status:
  3357.  00h    successful
  3358.  96h    server out of memory
  3359.  EFh    invalid name
  3360.  F0h    wildcard not allowed
  3361.  FCh    no such object
  3362.  FEh    server bindery locked
  3363.  FFh    bindery failure
  3364.  
  3365. Format of request buffer:
  3366. Offset    Size    Description
  3367.  00h    WORD    0005h (length of following data)
  3368.  02h    BYTE    36h (subfunction "Get Bindery Object Name")
  3369.  03h    DWORD    (big-endian) object ID
  3370.  
  3371. Format of reply buffer:
  3372. Offset    Size    Description
  3373.  00h    WORD    (call) 0036h (length of following buffer space)
  3374.  02h    DWORD    (big-endian) object ID
  3375.  06h    WORD    (big-endian) type of object
  3376.  08h 48 BYTEs    object name
  3377. --------N-21E3--SF37-------------------------
  3378. INT 21 - Novell NetWare - BINDERY SERVICES - SCAN BINDERY OBJECT
  3379.     AH = E3h subfn 37h
  3380.     DS:SI -> request buffer (see below)
  3381.     ES:DI -> reply buffer (see below)
  3382. Return: AL = status (see AH=E3h/SF=36h)
  3383. Notes:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  3384.     the requesting workstation must be logged into the file server with
  3385.       read access to the bindery object
  3386. SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=33h,AH=E3h/SF=38h,AH=E3h/SF=3Ch
  3387.  
  3388. Format of request buffer:
  3389. Offset    Size    Description
  3390.  00h    WORD    length of following data (max 37h)
  3391.  02h    BYTE    37h (subfunction "Scan Bindery Object")
  3392.  03h    DWORD    (big-endian) last object ID
  3393.  07h    WORD    (big-endian) type of object
  3394.  09h    BYTE    length of object's name
  3395.  0Ah  N BYTEs    object's name
  3396.  
  3397. Format of reply buffer:
  3398. Offset    Size    Description
  3399.  00h    WORD    (call) 0039h (length of following buffer space)
  3400.  02h    DWORD    (big-endian) object ID
  3401.         FFFFFFFFh for first call
  3402.  06h    WORD    (big-endian) type of object
  3403.  08h 48 BYTEs    object name (counted string)
  3404.  38h    BYTE    object flag (00h static, 01h dynamic)
  3405.  39h    BYTE    object's security levels
  3406.  3Ah    BYTE    object properties flag (00h no, FFh yes)
  3407. --------N-21E3--SF38-------------------------
  3408. INT 21 - Novell NetWare - BINDERY SERVICES - CHANGE BINDERY OBJECT SECURITY
  3409.     AH = E3h subfn 38h
  3410.     DS:SI -> request buffer (see below)
  3411.     ES:DI -> reply buffer (see below)
  3412. Return: AL = status
  3413.         00h successful
  3414.         96h server out of memory
  3415.         F0h wildcard not allowed
  3416.         F1h invalid bindery security level
  3417.         FBh no such property
  3418.         FCh no such object
  3419.         FEh server bindery locked
  3420.         FFh bindery failure
  3421. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  3422. SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=3Bh
  3423.  
  3424. Format of request buffer:
  3425. Offset    Size    Description
  3426.  00h    WORD    length of following data (max 34h)
  3427.  02h    BYTE    38h (subfunction "Change Bindery Object Security")
  3428.  03h    BYTE    new security levels
  3429.  04h    WORD    (big-endian) type of object
  3430.  06h    BYTE    length of object's name (01h-2Fh)
  3431.  07h  N BYTEs    object name
  3432.  
  3433. Format of reply buffer:
  3434. Offset    Size    Description
  3435.  00h    WORD    (call) 0000h (no data returned)
  3436. --------N-21E3--SF39-------------------------
  3437. INT 21 - Novell NetWare - BINDERY SERVICES - CREATE PROPERTY
  3438.     AH = E3h subfn 39h
  3439.     DS:SI -> request buffer (see below)
  3440.     ES:DI -> reply buffer (see below)
  3441. Return: AL = status (see below)
  3442. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  3443. SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=3Bh
  3444.  
  3445. Values for status:
  3446.  00h    successful
  3447.  96h    server out of memory
  3448.  EDh    property already exists
  3449.  EFh    invalid name
  3450.  F0h    wildcard not allowed
  3451.  F1h    invalid bindery security level
  3452.  F6h    not permitted to delete properties
  3453.  F7h    not permitted to create properties
  3454.  FBh    no such property
  3455.  FCh    no such object
  3456.  FEh    server bindery locked
  3457.  FFh    bindery failure
  3458.  
  3459. Format of request buffer:
  3460. Offset    Size    Description
  3461.  00h    WORD    length of following data (max 45h)
  3462.  02h    BYTE    39h (subfunction "Create Property")
  3463.  03h    WORD    (big-endian) type of object
  3464.  05h    BYTE    length of object's name (01h-2Fh)
  3465.  06h  N BYTEs    object's name
  3466.     BYTE    property flags
  3467.     BYTE    property security levels
  3468.     BYTE    length of property's name (01h-0Fh)
  3469.       N BYTEs    property's name
  3470.  
  3471. Format of reply buffer:
  3472. Offset    Size    Description
  3473.  00h    WORD    (call) 0000h (no data returned)
  3474. --------N-21E3--SF3A-------------------------
  3475. INT 21 - Novell NetWare - BINDERY SERVICES - DELETE PROPERTY
  3476.     AH = E3h subfn 3Ah
  3477.     DS:SI -> request buffer (see below)
  3478.     ES:DI -> reply buffer (see below)
  3479. Return: AL = status (see AH=E3h/SF=39h)
  3480. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  3481. SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=39h
  3482.  
  3483. Format of request buffer:
  3484. Offset    Size    Description
  3485.  00h    WORD    length of following data (max 43h)
  3486.  02h    BYTE    3Ah (subfunction "Delete Property")
  3487.  03h    WORD    (big-endian) type of object
  3488.  05h    BYTE    length of object's name (01h-2Fh)
  3489.  06h  N BYTEs    object's name
  3490.     BYTE    length of property's name (01h-0Fh)
  3491.       N BYTEs    property's name
  3492.  
  3493. Format of reply buffer:
  3494. Offset    Size    Description
  3495.  00h    WORD    (call) 0000h (no data returned)
  3496. --------N-21E3--SF3B-------------------------
  3497. INT 21 - Novell NetWare - BINDERY SERVICES - CHANGE PROPERTY SECURITY
  3498.     AH = E3h subfn 3Bh
  3499.     DS:SI -> request buffer (see below)
  3500.     ES:DI -> reply buffer (see below)
  3501. Return: AL = status
  3502.         00h successful
  3503.         96h server out of memory
  3504.         F0h wildcard not allowed
  3505.         F1h invalid bindery security level
  3506.         FBh no such property
  3507.         FCh no such object
  3508.         FEh server bindery locked
  3509.         FFh bindery failure
  3510. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  3511. SeeAlso: AH=E3h/SF=38h
  3512.  
  3513. Format of request buffer:
  3514. Offset    Size    Description
  3515.  00h    WORD    length of following data (max 44h)
  3516.  02h    BYTE    3Bh (subfunction "Change Property Security")
  3517.  03h    WORD    (big-endian) type of object
  3518.  05h    BYTE    length of object's name (01h-2Fh)
  3519.  06h  N BYTEs    object name
  3520.     BYTE    new property security levels
  3521.     BYTE    length of property's name
  3522.       N BYTEs    property name
  3523.  
  3524. Format of reply buffer:
  3525. Offset    Size    Description
  3526.  00h    WORD    (call) 0000h (no data returned)
  3527. --------N-21E3--SF3C-------------------------
  3528. INT 21 - Novell NetWare - BINDERY SERVICES - SCAN PROPERTY
  3529.     AH = E3h subfn 3Ch
  3530.     DS:SI -> request buffer (see below)
  3531.     ES:DI -> reply buffer (see below)
  3532. Return: AL = status (see below)
  3533. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  3534. SeeAlso: AH=E3h/SF=37h,AH=E3h/SF=3Bh
  3535.  
  3536. Values for status:
  3537.  00h    successful
  3538.  96h    server out of memory
  3539.  F1h    invalid bindery security level
  3540.  FBh    no such property
  3541.  FCh    no such object
  3542.  FEh    server bindery locked
  3543.  FFh    bindery failure
  3544.  
  3545. Format of request buffer:
  3546. Offset    Size    Description
  3547.  00h    WORD    length of following data (max 47h)
  3548.  02h    BYTE    3Ch (subfunction "Scan Property")
  3549.  03h    WORD    (big-endian) type of object
  3550.  05h    BYTE    length of object's name (01h-2Fh)
  3551.  06h  N BYTEs    object name
  3552.     DWORD    (big-endian) sequence number
  3553.         FFFFFFFFh for first call
  3554.     BYTE    length of property's name (01h-0Fh)
  3555.       N BYTEs    property's name
  3556.  
  3557. Format of reply buffer:
  3558. Offset    Size    Description
  3559.  00h    WORD    (call) 0018h (length of following results buffer)
  3560.  02h 16 BYTEs    property name
  3561.  12h    BYTE    property flags
  3562.  13h    BYTE    property security levels
  3563.  14h    DWORD    (big-endian) sequence number
  3564.  18h    BYTE    property value flag (00h no, FFh yes)
  3565.  19h    BYTE    more properties (00h no, FFh yes)
  3566. --------N-21E3--SF3D-------------------------
  3567. INT 21 - Novell NetWare - BINDERY SERVICES - READ PROPERTY VALUE
  3568.     AH = E3h subfn 3Dh
  3569.     DS:SI -> request buffer (see below)
  3570.     ES:DI -> reply buffer (see below)
  3571. Return: AL = status (see below)
  3572. Desc:    retrieve one 128-byte segment of the specified property's value
  3573. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  3574. SeeAlso: AH=E3h/SF=39h,AH=E3h/SF=3Ch,AH=E3h/SF=3Eh
  3575.  
  3576. Values for status:
  3577.  00h    successful
  3578.  96h    server out of memory
  3579.  E8h    not item property
  3580.  ECh    no such segment
  3581.  F0h    wildcard not allowed
  3582.  F1h    invalid bindery security level
  3583.  F8h    not permitted to write property
  3584.  F9h    not permitted to read property
  3585.  FBh    no such property
  3586.  FCh    no such object
  3587.  FEh    server bindery locked
  3588.  FFh    bindery failure
  3589.  
  3590. Format of request buffer:
  3591. Offset    Size    Description
  3592.  00h    WORD    length of following data (max 44h)
  3593.  02h    BYTE    3Dh (subfunction "Read Property Value")
  3594.  03h    WORD    (big-endian) type of object
  3595.  05h    BYTE    length of object's name (01h-2Fh)
  3596.  06h  N BYTEs    object name
  3597.     BYTE    segment number (01h on first call, increment until done)
  3598.     BYTE    length of property's name (01h-0Fh)
  3599.       N BYTEs    property name
  3600.  
  3601. Format of reply buffer:
  3602. Offset    Size    Description
  3603.  00h    WORD    (call) 0082h (length of following results buffer)
  3604.  02h 128 BYTEs    property's value
  3605.  82h    BYTE    more segments (00h no, FFh yes)
  3606.  83h    BYTE    property's flags
  3607. --------N-21E3--SF3E-------------------------
  3608. INT 21 - Novell NetWare - BINDERY SERVICES - WRITE PROPERTY VALUE
  3609.     AH = E3h subfn 3Eh
  3610.     DS:SI -> request buffer (see below)
  3611.     ES:DI -> reply buffer (see below)
  3612. Return: AL = status (see AH=E3h/SF=3Dh)
  3613. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  3614. SeeAlso: AH=E3h/SF=39h,AH=E3h/SF=3Ch,AH=E3h/SF=3Eh
  3615.  
  3616. Format of request buffer:
  3617. Offset    Size    Description
  3618.  00h    WORD    length of following data (max C5h)
  3619.  02h    BYTE    3Eh (subfunction "Write Property Value")
  3620.  03h    WORD    (big-endian) type of object
  3621.  05h    BYTE    length of object's name (01h-2Fh)
  3622.  06h  N BYTEs    object name
  3623.     BYTE    segment number (01h on first call, increment until done)
  3624.     BYTE    erase remaining segments (00h no, FFh yes)
  3625.     BYTE    length of property's name (01h-0Fh)
  3626.       N BYTEs    property name
  3627.     128 BYTEs    property value segment
  3628.  
  3629. Format of reply buffer:
  3630. Offset    Size    Description
  3631.  00h    WORD    (call) 0000h (no data returned)
  3632. --------N-21E3--SF3F-------------------------
  3633. INT 21 - Novell NetWare - BINDERY SERVICES - VERIFY BINDERY OBJECT PASSWORD
  3634.     AH = E3h subfn 3Fh
  3635.     DS:SI -> request buffer (see below)
  3636.     ES:DI -> reply buffer (see below)
  3637. Return: AL = status (see below)
  3638. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  3639. SeeAlso: AH=E3h/SF=40h
  3640.  
  3641. Values for status:
  3642.  00h    successful
  3643.  96h    server out of memory
  3644.  F0h    wildcard not allowed
  3645.  FBh    no such property
  3646.  FCh    no such object
  3647.  FEh    server bindery locked
  3648.  FFh    bindery failure: no such object, bad password, no password for object,
  3649.             or invalid old password
  3650.  
  3651. Format of request buffer:
  3652. Offset    Size    Description
  3653.  00h    WORD    length of following data (max 133h)
  3654.  02h    BYTE    3Fh (subfunction "Verify Bindery Object Password")
  3655.  03h    WORD    (big-endian) type of object
  3656.  05h    BYTE    length of object's name (01h-2Fh)
  3657.  06h  N BYTEs    object name
  3658.     BYTE    length of password (00h-7Fh)
  3659.       N BYTEs    password
  3660.  
  3661. Format of reply buffer:
  3662. Offset    Size    Description
  3663.  00h    WORD    (call) 0000h (no data returned)
  3664. --------N-21E3--SF40-------------------------
  3665. INT 21 - Novell NetWare - BINDERY SERVICES - CHANGE BINDERY OBJECT PASSWORD
  3666.     AH = E3h subfn 40h
  3667.     DS:SI -> request buffer (see below)
  3668.     ES:DI -> reply buffer (see below)
  3669. Return: AL = status (see AH=E3h/SF=3Fh)
  3670. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  3671. SeeAlso: AH=E3h/SF=3Fh,AH=E3h/SF=41h
  3672.  
  3673. Format of request buffer:
  3674. Offset    Size    Description
  3675.  00h    WORD    length of following data (max 133h)
  3676.  02h    BYTE    40h (subfunction "Change Bindery Object Password")
  3677.  03h    WORD    (big-endian) type of object
  3678.  05h    BYTE    length of object's name (01h-2Fh)
  3679.  06h  N BYTEs    object name
  3680.     BYTE    length of old password (00h-7Fh)
  3681.       N BYTEs    old password
  3682.     BYTE    length of new password (00h-7Fh)
  3683.       N BYTEs    new password
  3684.  
  3685. Format of reply buffer:
  3686. Offset    Size    Description
  3687.  00h    WORD    (call) 0000h (no data returned)
  3688. --------N-21E3--SF41-------------------------
  3689. INT 21 - Novell NetWare - BINDERY SERVICES - ADD BINDERY OBJECT TO SET
  3690.     AH = E3h subfn 41h
  3691.     DS:SI -> request buffer (see below)
  3692.     ES:DI -> reply buffer (see below)
  3693. Return: AL = status (see below)
  3694. Desc:    add the specified object to a set property
  3695. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  3696. SeeAlso: AH=E3h/SF=40h,AH=E3h/SF=42h,AH=E3h/SF=43h
  3697.  
  3698. Values for status:
  3699.  00h    successful
  3700.  96h    server out of memory
  3701.  E9h    member already exists
  3702.  EAh    member does not exist
  3703.  EBh    not a group property
  3704.  F0h    wildcard not allowed
  3705.  F8h    can't write property
  3706.  F9h    not permitted to read property
  3707.  FBh    no such property
  3708.  FCh    no such object
  3709.  FEh    server bindery locked
  3710.  FFh    bindery failure
  3711.  
  3712. Format of request buffer:
  3713. Offset    Size    Description
  3714.  00h    WORD    length of following data (max 75h)
  3715.  02h    BYTE    41h (subfunction "Add Bindery Object to Set")
  3716.  03h    WORD    (big-endian) type of object
  3717.  05h    BYTE    length of object's name
  3718.  06h  N BYTEs    object name
  3719.     BYTE    length of property name (01h-0Fh)
  3720.       N BYTEs    property name
  3721.     WORD    (big-endian) type of member object
  3722.     BYTE    length of member object's name
  3723.       N BYTEs    member object's name
  3724.  
  3725. Format of reply buffer:
  3726. Offset    Size    Description
  3727.  00h    WORD    (call) 0000h (no data returned)
  3728. --------N-21E3--SF42-------------------------
  3729. INT 21 - Novell NetWare - BINDERY SERVICES - DELETE BINDERY OBJECT FROM SET
  3730.     AH = E3h subfn 42h
  3731.     DS:SI -> request buffer (see below)
  3732.     ES:DI -> reply buffer (see below)
  3733. Return: AL = status (see AH=E3h/SF=41h)
  3734. Desc:    delete the specified object from a set property
  3735. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  3736. SeeAlso: AH=E3h/SF=40h,AH=E3h/SF=42h,AH=E3h/SF=43h
  3737.  
  3738. Format of request buffer:
  3739. Offset    Size    Description
  3740.  00h    WORD    length of following data (max 75h)
  3741.  02h    BYTE    42h (subfunction "Delete Bindery Object from Set")
  3742.  03h    WORD    (big-endian) type of object
  3743.  05h    BYTE    length of object's name
  3744.  06h  N BYTEs    object name
  3745.     BYTE    length of property name (01h-0Fh)
  3746.       N BYTEs    property name
  3747.     WORD    (big-endian) type of member object
  3748.     BYTE    length of member object's name
  3749.       N BYTEs    member object's name
  3750.  
  3751. Format of reply buffer:
  3752. Offset    Size    Description
  3753.  00h    WORD    (call) 0000h (no data returned)
  3754. --------N-21E3--SF43-------------------------
  3755. INT 21 - Novell NetWare - BINDERY SERVICES - IS BINDERY OBJECT IN SET
  3756.     AH = E3h subfn 43h
  3757.     DS:SI -> request buffer (see below)
  3758.     ES:DI -> reply buffer (see below)
  3759. Return: AL = status (see AH=E3h/SF=41h)
  3760. Desc:    determine whether the specified object is a member of the given set
  3761.       property
  3762. Notes:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  3763.     the caller must have read access to the property
  3764. SeeAlso: AH=E3h/SF=41h,AH=E3h/SF=42h
  3765.  
  3766. Format of request buffer:
  3767. Offset    Size    Description
  3768.  00h    WORD    length of following data (max 75h)
  3769.  02h    BYTE    43h (subfunction "Is Bindery Object In Set")
  3770.  03h    WORD    (big-endian) type of object
  3771.  05h    BYTE    length of object's name
  3772.  06h  N BYTEs    object's name
  3773.     BYTE    length of property's name
  3774.       N BYTEs    property's name
  3775.     WORD    (big-endian) type of member object
  3776.     BYTE    length of member object's name
  3777.       N BYTEs    member object's name
  3778.  
  3779. Format of reply buffer:
  3780. Offset    Size    Description
  3781.  00h    WORD    (call) 0000h (no data returned)
  3782. --------N-21E3--SF44-------------------------
  3783. INT 21 - Novell NetWare - BINDERY SERVICES - CLOSE BINDERY
  3784.     AH = E3h subfn 44h
  3785.     DS:SI -> request buffer (see below)
  3786.     ES:DI -> reply buffer (see below)
  3787. Return: AL = status
  3788.         00h successful
  3789. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  3790. SeeAlso: AH=E3h/SF=45h
  3791.  
  3792. Format of request buffer:
  3793. Offset    Size    Description
  3794.  00h    WORD    0001h (length of following data)
  3795.  02h    BYTE    44h (subfunction "Close Bindery")
  3796.  
  3797. Format of reply buffer:
  3798. Offset    Size    Description
  3799.  00h    WORD    (call) 0000h (no data returned)
  3800. --------N-21E3--SF45-------------------------
  3801. INT 21 - Novell NetWare - BINDERY SERVICES - OPEN BINDERY
  3802.     AH = E3h subfn 45h
  3803.     DS:SI -> request buffer (see below)
  3804.     ES:DI -> reply buffer (see below)
  3805. Return: AL = status
  3806.         00h successful
  3807. Notes:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  3808.     the bindery may only be opened by the supervisor or an object with
  3809.       equivalent privileges
  3810. SeeAlso: AH=E3h/SF=44h
  3811.  
  3812. Format of request buffer:
  3813. Offset    Size    Description
  3814.  00h    WORD    0001h (length of following data)
  3815.  02h    BYTE    45h (subfunction "Open Bindery")
  3816.  
  3817. Format of reply buffer:
  3818. Offset    Size    Description
  3819.  00h    WORD    (call) 0000h (no data returned)
  3820. --------N-21E3--SF46-------------------------
  3821. INT 21 - Novell NetWare - BINDERY SERVICES - GET BINDERY ACCESS LEVEL
  3822.     AH = E3h subfn 46h
  3823.     DS:SI -> request buffer (see below)
  3824.     ES:DI -> reply buffer (see below)
  3825. Return: AL = status
  3826.         00h successful
  3827. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  3828.  
  3829. Format of request buffer:
  3830. Offset    Size    Description
  3831.  00h    WORD    0001h (length of following data)
  3832.  02h    BYTE    46h (subfunction "Get Bindery Access Level")
  3833.  
  3834. Format of reply buffer:
  3835. Offset    Size    Description
  3836.  00h    WORD    0005h (length of following buffer)
  3837.  02h    BYTE    security levels
  3838.  03h    DWORD    (big-endian) object ID
  3839. --------N-21E3--SF47-------------------------
  3840. INT 21 - Novell NetWare - DIRECTORY SERVICES - SCAN BINDERY OBJ TRUSTEE PATHS
  3841.     AH = E3h subfn 47h
  3842.     DS:SI -> request buffer (see below)
  3843.     ES:DI -> reply buffer (see below)
  3844. Return: AL = status
  3845.         00h successful
  3846.         96h server out of memory
  3847.         F0h wildcard not allowed
  3848.         F1h invalid bindery security level
  3849.         FCh no such object
  3850.         FEh server bindery locked
  3851.         FFh bindery failure
  3852. Desc:    iterate through the directories to which an object is a trustee
  3853. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  3854. SeeAlso: AH=E2h/SF=0Ch,AH=E2h/SF=0Dh,AH=E2h/SF=0Eh
  3855.  
  3856. Format of request buffer:
  3857. Offset    Size    Description
  3858.  00h    WORD    0008h (length of following data)
  3859.  02h    BYTE    47h (subfunction "Scan Bindery Object Trustee Paths")
  3860.  03h    BYTE    volume number (00h-1Fh)
  3861.  04h    WORD    (big-endian) last sequence number (00h on first call)
  3862.  06h    DWORD    (big-endian) object ID
  3863.  
  3864. Format of reply buffer:
  3865. Offset    Size    Description
  3866.  00h    WORD    (call) length of following results buffer (max 107h)
  3867.  02h    WORD    (big-endian) next sequence number
  3868.  04h    DWORD    (big-endian) object ID
  3869.  08h    BYTE    trustee directory rights (see AH=E2h/SF=03h)
  3870.  09h    BYTE    length fo trustee path
  3871.  0Ah  N BYTEs    trustee path
  3872. --------N-21E3--SF64-------------------------
  3873. INT 21 - Novell NetWare - QUEUE SERVICES - CREATE QUEUE
  3874.     AH = E3h subfn 64h
  3875.     DS:SI -> request buffer (see below)
  3876.     ES:DI -> reply buffer (see below)
  3877. Return: AL = status (00h,96h,99h,9Bh,9Ch,EDh-F1h,F5h,F7h,FCh,FEh,FFh)
  3878.         (see below)
  3879. Notes:    this function is supported by Advanced NetWare 2.1+
  3880.     caller must be on a workstation with supervisor privileges
  3881. SeeAlso: AH=E3h/SF=65h,AH=E3h/SF=66h,AH=E3h/SF=68h,AH=E3h/SF=6Bh
  3882.  
  3883. Values for status:
  3884.  00h    successful
  3885.  96h    server out of memory
  3886.  99h    directory full
  3887.  9Bh    invalid directory handle
  3888.  9Ch    invalid path
  3889.  D0h    queue error
  3890.  D1h    no such queue
  3891.  D2h    no server for queue
  3892.  D3h    no queue rights
  3893.  D4h    queue full
  3894.  D5h    no queue job
  3895.  D6h    no job rights
  3896.  D7h    queue servicing error
  3897.  D9h    station is not a server
  3898.  DAh    queue halted
  3899.  DBh    too many queue servers
  3900.  EDh    property already exists
  3901.  EEh    object already exists
  3902.  EFh    invalid name
  3903.  F0h    wildcard not allowed
  3904.  F1h    invalid bindery security level
  3905.  F5h    not permitted to create object
  3906.  F7h    not permitted to create property
  3907.  FCh    no such object
  3908.  FEh    server bindery locked
  3909.  FFh    bindery failure
  3910.  
  3911. Format of request buffer:
  3912. Offset    Size    Description
  3913.  00h    WORD    length of following data (max ABh)
  3914.  02h    BYTE    64h (subfunction "Create Queue")
  3915.  03h    WORD    (big-endian) queue type
  3916.  05h    BYTE    length of queue's name (01h-2Fh)
  3917.  06h  N BYTEs    queue's name
  3918.     BYTE    directory handle or 00h
  3919.     BYTE    length of path name (01h-76h)
  3920.       N BYTEs    path name of directory in which to create queue subdirectory
  3921.  
  3922. Format of reply buffer:
  3923. Offset    Size    Description
  3924.  00h    WORD    (call) 0004h (size of following results buffer)
  3925.  02h    DWORD    (big-endian) object ID of queue
  3926. --------N-21E3--SF65-------------------------
  3927. INT 21 - Novell NetWare - QUEUE SERVICES - DESTROY QUEUE
  3928.     AH = E3h subfn 65h
  3929.     DS:SI -> request buffer (see below)
  3930.     ES:DI -> reply buffer (see below)
  3931. Return: AL = status (00h,96h,9Ch,D0h,D1h,FFh) (see also AH=E3h/SF=64h)
  3932.         FFh hardware failure
  3933. Desc:    abort all active jobs, detach all job servers, remove all job entries,
  3934.       delete all job files, remove the queue object and its properties
  3935.       from the bindery, and delete the queue's subdirectory
  3936. Notes:    this function is supported by Advanced NetWare 2.1+
  3937.     caller must have SUPERVISOR privileges
  3938. SeeAlso: AH=E3h/SF=64h,AH=E3h/SF=66h,AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=70h
  3939.  
  3940. Format of request buffer:
  3941. Offset    Size    Description
  3942.  00h    WORD    0005h (length of following data)
  3943.  02h    BYTE    65h (subfunction "Destroy Queue")
  3944.  03h    DWORD    (big-endian) object ID of queue
  3945.  
  3946. Format of reply buffer:
  3947. Offset    Size    Description
  3948.  00h    WORD    (call) 0000h (no results returned)
  3949. --------N-21E3--SF66-------------------------
  3950. INT 21 - Novell NetWare - QUEUE SERVICES - READ QUEUE CURRENT STATUS
  3951.     AH = E3h subfn 66h
  3952.     DS:SI -> request buffer (see below)
  3953.     ES:DI -> reply buffer (see below)
  3954. Return: AL = status (00h,96h,9Ch,D1h-D3h,F1h,FCh,FEh,FFh) (see AH=E3h/SF=64h)
  3955. Notes:    this function is supported by Advanced NetWare 2.1+
  3956.     caller must be on a workstation which is security-equivalent to a
  3957.       member of the queue's Q_USERS or Q_OPERATORS properties
  3958. SeeAlso: AH=E3h/SF=64h,AH=E3h/SF=67h,AH=E3h/SF=6Fh,AH=E3h/SF=76h
  3959.  
  3960. Format of request buffer:
  3961. Offset    Size    Description
  3962.  00h    WORD    0005h (length of following data)
  3963.  02h    BYTE    66h (subfunction "Read Queue Current Status")
  3964.  03h    DWORD    (big-endian) object ID of queue
  3965.  
  3966. Format of reply buffer:
  3967. Offset    Size    Description
  3968.  00h    WORD    (call) 0085h (size of following results)
  3969.  02h    DWORD    (big-endian) object ID of queue
  3970.  06h    BYTE    status of queue
  3971.         bit 0: operator disabled addition of new jobs
  3972.         bit 1: operator refuses additional job servers attaching
  3973.         bit 2: operator disabled job servicing
  3974.  07h    BYTE    number of jobs in queue (00h-FAh)
  3975.  08h    BYTE    number of servers attached to queue (00h-19h)
  3976.  09h 25 DWORDs    list of object IDs of attached servers
  3977.  6Dh 25 BYTEs    list of attached servers' stations
  3978.  86h    BYTE    (call) maximum number of servers to return
  3979. --------N-21E3--SF67-------------------------
  3980. INT 21 - Novell NetWare - QUEUE SERVICES - SET QUEUE CURRENT STATUS
  3981.     AH = E3h subfn 67h
  3982.     DS:SI -> request buffer (see below)
  3983.     ES:DI -> reply buffer (see below)
  3984. Return: AL = status (00h,96h,9Ch,D0h,D1h,D3h,FEh,FFh) (see AH=E3h/SF=64h)
  3985. Notes:    this function is supported by Advanced NetWare 2.1+
  3986.     caller must have operator privileges
  3987. SeeAlso: AH=E3h/SF=64h,AH=E3h/SF=66h,AH=E3h/SF=6Fh,AH=E3h/SF=76h
  3988.  
  3989. Format of request buffer:
  3990. Offset    Size    Description
  3991.  00h    WORD    0006h (length of following data)
  3992.  02h    BYTE    67h (subfunction "Set Queue Current Status")
  3993.  03h    DWORD    (big-endian) object ID of queue
  3994.  07h    BYTE    queue status
  3995.         bit 0: operator disabled addition of new jobs
  3996.         bit 1: operator refuses additional job servers attaching
  3997.         bit 2: operator disabled job servicing
  3998.  
  3999. Format of reply buffer:
  4000. Offset    Size    Description
  4001.  00h    WORD    (call) 0000h (no results returned)
  4002. --------N-21E3--SF68-------------------------
  4003. INT 21 - Novell NetWare - QUEUE SERVICES - CREATE QUEUE JOB AND FILE
  4004.     AH = E3h subfn 68h
  4005.     DS:SI -> request buffer (see below)
  4006.     ES:DI -> reply buffer (see below)
  4007. Return: AL = status (00h,96h,99h,9Ch,D0h-D4h,DAh,EDh,EFh-F1h,F7h,FCh,FEh,FFh)
  4008.         (see AH=E3h/SF=64h)
  4009. Notes:    this function is supported by Advanced NetWare 2.1+
  4010.     caller must be on a workstation which is security-equivalent to a
  4011.       member of the queue's Q_USER property
  4012. SeeAlso: AH=E0h"SPOOLING",AH=E3h/SF=69h,AH=E3h/SF=6Ah,AH=E3h/SF=6Eh
  4013.  
  4014. Format of request buffer:
  4015. Offset    Size    Description
  4016.  00h    WORD    0107h (length of following data)
  4017.  02h    BYTE    68h (subfunction "Close File and Start Queue Job")
  4018.  03h    DWORD    (big-endian) object ID of queue
  4019.  07h    BYTE    client station
  4020.  08h    BYTE    client task number
  4021.  09h    DWORD    (big-endian) object ID of client
  4022.  0Dh    DWORD    (big-endian) object ID of target server
  4023.         FFFFFFFh if any server acceptable
  4024.  11h  6 BYTEs    target execution time (year,month,day,hour,minute,second)
  4025.         FFFFFFFFFFFFh to execute as soon as possible
  4026.  17h  6 BYTEs    job entry time (year,month,day,hour,minute,second)
  4027.  1Dh    WORD    (big-endian) job number
  4028.  1Fh    WORD    (big-endian) job type
  4029.  21h    BYTE    job position
  4030.  22h    BYTE    job control flags
  4031.  23h 14 BYTEs    ASCIZ job file name
  4032.  31h  6 BYTEs    job file handle
  4033.  37h    BYTE    server station
  4034.  38h    BYTE    server task number
  4035.  39h    DWORD    (big-endian) object ID of server
  4036.  3Dh 50 BYTEs    ASCIZ job description string
  4037.  6Fh 152 BYTEs    client record area
  4038.  
  4039. Format of reply buffer:
  4040. Offset    Size    Description
  4041.  00h    WORD    (call) 0036h (size of following results buffer)
  4042.  02h    BYTE    client station
  4043.  03h    BYTE    client task number
  4044.  04h    DWORD    (big-endian) object ID of client
  4045.  08h    DWORD    (big-endian) object ID of target server
  4046.  0Ch  6 BYTEs    target execution time (year,month,day,hour,minute,second)
  4047.  12h  6 BYTEs    job entry time (year,month,day,hour,minute,second)
  4048.  18h    WORD    (big-endian) job number
  4049.  1Ah    WORD    (big-endian) job type
  4050.  1Ch    BYTE    job position
  4051.  1Dh    BYTE    job control flags
  4052.  1Eh 14 BYTEs    ASCIZ job file name
  4053.  2Ch  6 BYTEs    job file handle
  4054.  32h    BYTE    server station
  4055.  33h    BYTE    server task number
  4056.  34h    DWORD    (big-endian) object ID of server or 00000000h
  4057. --------N-21E3--SF69-------------------------
  4058. INT 21 - Novell NetWare - QUEUE SERVICES - CLOSE FILE AND START QUEUE JOB
  4059.     AH = E3h subfn 69h
  4060.     DS:SI -> request buffer (see below)
  4061.     ES:DI -> reply buffer (see below)
  4062. Return: AL = status (00h,96h,D0h,D1h,D3h,D5h,D6h,FEh,FFh) (see AH=E3h/SF=64h)
  4063. Notes:    this function is supported by Advanced NetWare 2.1+
  4064.     caller must be on the workstation which created the job
  4065. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Eh
  4066.  
  4067. Format of request buffer:
  4068. Offset    Size    Description
  4069.  00h    WORD    0007h (length of following data)
  4070.  02h    BYTE    69h (subfunction "Close File and Start Queue Job")
  4071.  03h    DWORD    (big-endian) object ID of queue
  4072.  07h    WORD    (big-endian) job number
  4073.  
  4074. Format of reply buffer:
  4075. Offset    Size    Description
  4076.  00h    WORD    (call) 0000h (no results returned)
  4077. --------N-21E3--SF6A-------------------------
  4078. INT 21 - Novell NetWare - QUEUE SERVICES - REMOVE JOB FROM QUEUE
  4079.     AH = E3h subfn 6Ah
  4080.     DS:SI -> request buffer (see below)
  4081.     ES:DI -> reply buffer (see below)
  4082. Return: AL = status (00h,96h,D0h,D1h,D5h,D6h,FEh,FFh) (see AH=E3h/SF=64h)
  4083. Notes:    this function is supported by Advanced NetWare 2.1+
  4084.     caller must have created the job or be an operator
  4085. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Eh
  4086.  
  4087. Format of request buffer:
  4088. Offset    Size    Description
  4089.  00h    WORD    0007h (length of following data)
  4090.  02h    BYTE    6Ah (subfunction "Remove Job From Queue")
  4091.  03h    DWORD    (big-endian) object ID of queue
  4092.  07h    WORD    (big-endian) job number
  4093.  
  4094. Format of reply buffer:
  4095. Offset    Size    Description
  4096.  00h    WORD    (call) 0000h (no results returned)
  4097. --------N-21E3--SF6B-------------------------
  4098. INT 21 - Novell NetWare - QUEUE SERVICES - GET QUEUE JOB LIST
  4099.     AH = E3h subfn 6Bh
  4100.     DS:SI -> request buffer (see below)
  4101.     ES:DI -> reply buffer (see below)
  4102. Return: AL = status (00h,96h,9Ch,D0h-D3h,FCh,FEh,FFh) (see AH=E3h/SF=64h)
  4103. Notes:    this function is supported by Advanced NetWare 2.1+
  4104.     caller must be on a workstation which is security-equivalent to a
  4105.       member of the Q_USERS or Q_OPERATORS properties
  4106. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Eh
  4107.  
  4108. Format of request buffer:
  4109. Offset    Size    Description
  4110.  00h    WORD    0005h (length of following data)
  4111.  02h    BYTE    6Bh (subfunction "Get Queue Job List")
  4112.  03h    DWORD    (big-endian) object ID of queue
  4113.  
  4114. Format of reply buffer:
  4115. Offset    Size    Description
  4116.  00h    WORD    (call) size of following results buffer (max 1F6h)
  4117.  02h    WORD    (big-endian) job count
  4118.  04h  N WORDs    (big-endian) list of job numbers by position in queue
  4119.     WORD    maximum job numbers
  4120. --------N-21E3--SF6C-------------------------
  4121. INT 21 - Novell NetWare - QUEUE SERVICES - READ QUEUE JOB ENTRY
  4122.     AH = E3h subfn 6Ch
  4123.     DS:SI -> request buffer (see below)
  4124.     ES:DI -> reply buffer (see below)
  4125. Return: AL = status (00h,96h,D0h-D3h,D5h,FCh,FEh,FFh) (see AH=E3h/SF=64h)
  4126. Notes:    this function is supported by Advanced NetWare 2.1+
  4127.     caller must be on a workstation which is security-equivalent to a
  4128.       member of the Q_USERS, Q_OPERATORS, or Q_SERVERS properties
  4129. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Eh
  4130.  
  4131. Format of request buffer:
  4132. Offset    Size    Description
  4133.  00h    WORD    0007h (length of following data)
  4134.  02h    BYTE    6Ch (subfunction "Read Queue Job Entry")
  4135.  03h    DWORD    (big-endian) object ID of queue
  4136.  07h    WORD    (big-endian) job number
  4137.  
  4138. Format of reply buffer:
  4139. Offset    Size    Description
  4140.  00h    WORD    (call) 0100h (size of following results)
  4141.  02h    BYTE    client station number
  4142.  03h    BYTE    client task number
  4143.  04h    DWORD    object ID of client
  4144.  08h    DWORD    (big-endian) object ID of target server
  4145.         FFFFFFFFh if any server acceptable
  4146.  0Ch  6 BYTEs    target execution time (year,month,day,hour,minute,second)
  4147.         FFFFFFFFFFFFh if serviced as soon as possible
  4148.  12h  6 BYTEs    job entry time (year,month,day,hour,minute,second)
  4149.  18h    WORD    (big-endian) job number
  4150.  1Ah    WORD    (big-endian) job type
  4151.  1Ch    BYTE    job position
  4152.  1Dh    BYTE    job control flags (see below)
  4153.  1Eh 14 BYTEs    ASCIZ job filename
  4154.  2Ch  6 BYTEs    job file handle
  4155.  32h    BYTE    server station
  4156.  33h    BYTE    server task number
  4157.  34h    DWORD    object ID of server
  4158.  38h 50 BYTEs    ASCIZ job description string
  4159.  6Ah 152 BYTEs    client record area
  4160.  
  4161. Bitfields for job control flags:
  4162.  bit 3    job will be serviced automatically if connection broken
  4163.  bit 4    job remains in queue after server aborts job
  4164.  bit 5    client has not filled associated job file
  4165.  bit 6    User Hold--job advances, but cannot be serviced until this bit is
  4166.       cleared by user or operator
  4167.  bit 7    Operator Hold--job advances, but cannot be serviced until this bit is
  4168.       cleared by an operator
  4169. --------N-21E3--SF6D-------------------------
  4170. INT 21 - Novell NetWare - QUEUE SERVICES - CHANGE QUEUE JOB ENTRY
  4171.     AH = E3h subfn 6Dh
  4172.     DS:SI -> request buffer (see below)
  4173.     ES:DI -> reply buffer (see below)
  4174. Return: AL = status (00h,96h,D0h,D1h,D5h,D7h,FEh,FFh) (see AH=E3h/SF=64h)
  4175. Notes:    this function is supported by Advanced NetWare 2.1+
  4176.     caller must be an operator or the user who created the job
  4177. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Ch,AH=E3h/SF=6Eh
  4178.  
  4179. Format of request buffer:
  4180. Offset    Size    Description
  4181.  00h    WORD    0105h (length of following data)
  4182.  02h    BYTE    6Dh (subfunction "Change Queue Job Entry")
  4183.  03h    DWORD    (big-endian) object ID of queue
  4184.  07h    BYTE    client station number
  4185.  08h    BYTE    client task number
  4186.  09h    DWORD    (big-endian) object ID of client
  4187.  0Dh    DWORD    (big-endian) object ID of target server
  4188.  11h  6 BYTEs    target execution time (year,month,day,hour,minute,second)
  4189.  17h  6 BYTEs    job entry time (year,month,day,hour,minute,second)
  4190.  1Dh    WORD    (big-endian) job number
  4191.  1Fh    WORD    (big-endian) job type
  4192.  21h    BYTE    job position
  4193.  22h    BYTE    job control flags (see AH=E3h/SF=6Ch)
  4194.  23h 14 BYTEs    ASCIZ job filename
  4195.  31h  6 BYTEs    job file handle
  4196.  37h    BYTE    server station
  4197.  38h    BYTE    server task number
  4198.  39h    DWORD    object ID of server
  4199.  3Dh 50 BYTEs    ASCIZ job description string
  4200.  6Fh 152 BYTEs    client record area
  4201.  
  4202. Format of reply buffer:
  4203. Offset    Size    Description
  4204.  00h    WORD    (call) 0000h (no results returned)
  4205. --------N-21E3--SF6E-------------------------
  4206. INT 21 - Novell NetWare - QUEUE SERVICES - CHANGE QUEUE JOB POSITION
  4207.     AH = E3h subfn 6Eh
  4208.     DS:SI -> request buffer (see below)
  4209.     ES:DI -> reply buffer (see below)
  4210. Return: AL = status (00h,96h,D0h,D1h,D5h,D6h,FEh,FFh) (see AH=E3h/SF=64h)
  4211. Notes:    this function is supported by Advanced NetWare 2.1+
  4212.     caller must be an operator
  4213.     if the specified position is greater than the number of jobs in the
  4214.       queue, the job is placed at the end of the queue
  4215. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Ch,AH=E3h/SF=6Dh
  4216.  
  4217. Format of request buffer:
  4218. Offset    Size    Description
  4219.  00h    WORD    0008h (length of following data)
  4220.  02h    BYTE    6Eh (subfunction "Change Queue Job Position")
  4221.  03h    DWORD    (big-endian) object ID of queue
  4222.  07h    WORD    (big-endian) job number
  4223.  09h    BYTE    new position in queue (01h-FAh)
  4224.  
  4225. Format of reply buffer:
  4226. Offset    Size    Description
  4227.  00h    WORD    (call) 0000h (no results returned)
  4228. --------N-21E3--SF6F-------------------------
  4229. INT 21 - Novell NetWare - QUEUE SERVICES - ATTACH QUEUE SERVER TO QUEUE
  4230.     AH = E3h subfn 6Fh
  4231.     DS:SI -> request buffer (see below)
  4232.     ES:DI -> reply buffer (see below)
  4233. Return: AL = status (00h,96h,9Ch,D0h,D1h,D3h,DAh,DBh,FEh,FFh)
  4234.         (see also AH=E3h/SF=64h)
  4235.         FFh bindery failure, or no such property, or no such member
  4236. Desc:    attach the calling job server to the specified queue
  4237. Notes:    this function is supported by Advanced NetWare 2.1+
  4238.     a queue may have up to 25 job servers attached
  4239.     the calling workstation must be security-equivalent to a member of the
  4240.       queue's Q_SERVERS property
  4241. SeeAlso: AH=E3h/SF=70h,AH=E3h/SF=71h,AH=E3h/SF=72h,AH=E3h/SF=73h,AH=E3h/SF=76h
  4242.  
  4243. Format of request buffer:
  4244. Offset    Size    Description
  4245.  00h    WORD    0005h (length of following data)
  4246.  02h    BYTE    6Fh (subfunction "Attach Queue Server To Queue")
  4247.  03h    DWORD    (big-endian) object ID of queue
  4248.  
  4249. Format of reply buffer:
  4250. Offset    Size    Description
  4251.  00h    WORD    (call) 0000h (no results returned)
  4252. --------N-21E3--SF70-------------------------
  4253. INT 21 - Novell NetWare - QUEUE SERVICES - DETACH QUEUE SERVER FROM QUEUE
  4254.     AH = E3h subfn 70h
  4255.     DS:SI -> request buffer (see below)
  4256.     ES:DI -> reply buffer (see below)
  4257. Return: AL = status (00h,96h,9Ch,D0h,D1h,D2h,FEh,FFh) (see AH=E3h/SF=64h)
  4258. Desc:    remove the calling job server from the specified queue's list of
  4259.       servers
  4260. Notes:    this function is supported by Advanced NetWare 2.1+
  4261.     the caller must have previously attached itself to the queue
  4262. SeeAlso: AH=E3h/SF=6Fh,AH=E3h/SF=72h,AH=E3h/SF=73h,AH=E3h/SF=76h
  4263.  
  4264. Format of request buffer:
  4265. Offset    Size    Description
  4266.  00h    WORD    0005h (length of following data)
  4267.  02h    BYTE    70h (subfunction "Detach Queue Server From Queue")
  4268.  03h    DWORD    (big-endian) object ID of queue
  4269.  
  4270. Format of reply buffer:
  4271. Offset    Size    Description
  4272.  00h    WORD    (call) 0000h (no results returned)
  4273. --------N-21E3--SF71-------------------------
  4274. INT 21 - Novell NetWare - QUEUE SERVICES - SERVICE QUEUE JOB AND OPEN FILE
  4275.     AH = E3h subfn 71h
  4276.     DS:SI -> request buffer (see below)
  4277.     ES:DI -> reply buffer (see AH=E3h/SF=68h)
  4278. Return: AL = status (00h,96h,9Ch,D0h,D1h,D3h,D5h,D9h,DAh,FEh,FFh)
  4279.         (see AH=E3h/SF=64h)
  4280. Notes:    this function is supported by Advanced NetWare 2.1+
  4281.     the caller must be on a workstation which is security-equivalent to a
  4282.       member of the queue's Q_USERS, Q_OPERATORS, or Q_SERVERS properties
  4283. SeeAlso: AH=E3h/SF=6Fh,AH=E3h/SF=72h,AH=E3h/SF=73h,AH=E3h/SF=76h
  4284.  
  4285. Format of request buffer:
  4286. Offset    Size    Description
  4287.  00h    WORD    0007h (length of following data)
  4288.  02h    BYTE    71h (subfunction "Service Queue Job and Open File")
  4289.  03h    DWORD    (big-endian) object ID of queue
  4290.  07h    WORD    (big-endian) target job type
  4291.         FFFFh any
  4292. --------N-21E3--SF72-------------------------
  4293. INT 21 - Novell NetWare - QUEUE SERVICES - FINISH SERVICING QUEUE JOB AND FILE
  4294.     AH = E3h subfn 72h
  4295.     DS:SI -> request buffer (see below)
  4296.     ES:DI -> reply buffer (see below)
  4297. Return: AL = status (00h,96h,D0h,D1h,D6h) (see AH=E3h/SF=64h)
  4298. Desc:    inform the Queue Management System (QMS) that the queue server has
  4299.       completed a job
  4300. Notes:    this function is supported by Advanced NetWare 2.1+
  4301.     the caller must be a job server which has previously obtained a job
  4302.       for servicing
  4303. SeeAlso: AH=E3h/SF=6Fh,AH=E3h/SF=71h,AH=E3h/SF=73h,AH=E3h/SF=76h
  4304.  
  4305. Format of request buffer:
  4306. Offset    Size    Description
  4307.  00h    WORD    000Bh (length of following data)
  4308.  02h    BYTE    72h (subfunction "Finish Servicing Queue Job and File")
  4309.  03h    DWORD    (big-endian) object ID of queue
  4310.  07h    WORD    (big-endian) job number
  4311.  09h    DWORD    (big-endian) charge
  4312.  
  4313. Format of reply buffer:
  4314. Offset    Size    Description
  4315.  00h    WORD    (call) 0000h (no results returned)
  4316. --------N-21E3--SF73-------------------------
  4317. INT 21 - Novell NetWare - QUEUE SERVICES - ABORT SERVICING QUEUE JOB AND FILE
  4318.     AH = E3h subfn 73h
  4319.     DS:SI -> request buffer (see below)
  4320.     ES:DI -> reply buffer (see below)
  4321. Return: AL = status (00h,96h,D0h,D1h,D6h,D9h) (see AH=E3h/SF=64h)
  4322. Desc:    inform the Queue Management System (QMS) that the queue server is
  4323.       unable to service a previously-accepted job
  4324. Note:    this function is supported by Advanced NetWare 2.1+
  4325. SeeAlso: AH=E3h/SF=6Fh,AH=E3h/SF=71h,AH=E3h/SF=72h,AH=E3h/SF=76h
  4326.  
  4327. Format of request buffer:
  4328. Offset    Size    Description
  4329.  00h    WORD    0007h (length of following data)
  4330.  02h    BYTE    73h (subfunction "Abort Servicing Queue Job and File")
  4331.  03h    DWORD    (big-endian) object ID of queue
  4332.  07h    WORD    (big-endian) job number
  4333.  
  4334. Format of reply buffer:
  4335. Offset    Size    Description
  4336.  00h    WORD    (call) 0000h (no results returned)
  4337. --------N-21E3--SF74-------------------------
  4338. INT 21 - Novell NetWare - QUEUE SERVICES - CHANGE TO CLIENT RIGHTS
  4339.     AH = E3h subfn 74h
  4340.     DS:SI -> request buffer (see below)
  4341.     ES:DI -> reply buffer (see below)
  4342. Return: AL = status (00h,96h,D0h,D1h,D5h,D9h) (see AH=E3h/SF=64h)
  4343. Desc:    temporarily assume the login identity of the client submitting the
  4344.       job being serviced
  4345. Notes:    this function is supported by Advanced NetWare 2.1+
  4346.     caller must be a job server which has obtained a job for servicing
  4347. SeeAlso: AH=E3h/SF=75h
  4348.  
  4349. Format of request buffer:
  4350. Offset    Size    Description
  4351.  00h    WORD    0007h (length of following data)
  4352.  02h    BYTE    74h (subfunction "Change To Client Rights")
  4353.  03h    DWORD    (big-endian) object ID of queue
  4354.  07h    WORD    (big-endian) job number
  4355.  
  4356. Format of reply buffer:
  4357. Offset    Size    Description
  4358.  00h    WORD    (call) 0000h (no results returned)
  4359. --------N-21E3--SF75-------------------------
  4360. INT 21 - Novell NetWare - QUEUE SERVICES - RESTORE QUEUE SERVER RIGHTS
  4361.     AH = E3h subfn 75h
  4362.     DS:SI -> request buffer (see below)
  4363.     ES:DI -> reply buffer (see below)
  4364. Return: AL = status (00h,96h,9Ch,D0h,D1h,D3h,D5h,D9h,DAh,FEh,FFh)
  4365.         (see AH=E3h/SF=64h)
  4366. Desc:    restore server's own identity after assuming the login identity of the
  4367.       client submitting the job being serviced
  4368. Notes:    this function is supported by Advanced NetWare 2.1+
  4369.     caller must be a job server which has previously changed its identity
  4370. SeeAlso: AH=E3h/SF=74h
  4371.  
  4372. Format of request buffer:
  4373. Offset    Size    Description
  4374.  00h    WORD    0001h (length of following data)
  4375.  02h    BYTE    75h (subfunction "Change To Client Rights")
  4376.  
  4377. Format of reply buffer:
  4378. Offset    Size    Description
  4379.  00h    WORD    (call) 0000h (no results returned)
  4380. --------N-21E3--SF76-------------------------
  4381. INT 21 - Novell NetWare - QUEUE SERVICES - READ QUEUE SERVER CURRENT STATUS
  4382.     AH = E3h subfn 76h
  4383.     DS:SI -> request buffer (see below)
  4384.     ES:DI -> reply buffer (see below)
  4385. Return: AL = status (00h,96h,9Ch,D1h-D3h,F1h,FCh,FEh,FFh) (see AH=E3h/SF=64h)
  4386. Notes:    this function is supported by Advanced NetWare 2.1+
  4387.     caller must be on a workstation which is security-equivalent to a
  4388.       member of the Q_USERS or Q_OPERATORS properties
  4389. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ch,AH=E3h/SF=6Fh,AH=E3h/SF=77h,AH=E3h/SF=78h
  4390.  
  4391. Format of request buffer:
  4392. Offset    Size    Description
  4393.  00h    WORD    000Ah (length of following data)
  4394.  02h    BYTE    76h (subfunction "Read Queue Server Current Status")
  4395.  03h    DWORD    (big-endian) object ID of queue
  4396.  07h    DWORD    (big-endian) object ID of server
  4397.  0Bh    BYTE    server station
  4398.  
  4399. Format of reply buffer:
  4400. Offset    Size    Description
  4401.  00h    WORD    (call) 0040h (size of following results)
  4402.  02h 64 BYTEs    server status record (format depends on server)
  4403.         first four bytes should contain estimated "price" for an
  4404.         average job
  4405. --------N-21E3--SF77-------------------------
  4406. INT 21 - Novell NetWare - QUEUE SERVICES - SET QUEUE SERVER CURRENT STATUS
  4407.     AH = E3h subfn 77h
  4408.     DS:SI -> request buffer (see below)
  4409.     ES:DI -> reply buffer (see below)
  4410. Return: AL = status (00h,96h,9Ch,D0h,D1h,FEh,FFh) (see AH=E3h/SF=64h)
  4411. Notes:    this function is supported by Advanced NetWare 2.1+
  4412.     caller must be a job server which has attached itself to the queue
  4413. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ch,AH=E3h/SF=6Fh,AH=E3h/SF=76h,AH=E3h/SF=78h
  4414.  
  4415. Format of request buffer:
  4416. Offset    Size    Description
  4417.  00h    WORD    0045h (length of following data)
  4418.  02h    BYTE    77h (subfunction "Set Queue Server Current Status")
  4419.  03h    DWORD    (big-endian) object ID of queue
  4420.  02h 64 BYTEs    server status record (format depends on server)
  4421.         first four bytes should contain estimated "price" for an
  4422.         average job
  4423.  
  4424. Format of reply buffer:
  4425. Offset    Size    Description
  4426.  00h    WORD    (call) 0000h (no results returned)
  4427. --------N-21E3--SF78-------------------------
  4428. INT 21 - Novell NetWare - QUEUE SERVICES - GET QUEUE JOB'S FILE SIZE
  4429.     AH = E3h subfn 78h
  4430.     DS:SI -> request buffer (see below)
  4431.     ES:DI -> reply buffer (see below)
  4432. Return: AL = status (see also AH=E3h/SF=64h)
  4433.         00h successful
  4434. Notes:    this function is supported by Advanced NetWare 2.1+
  4435.     caller must be on a workstation which is security-equivalent to a
  4436.       member of the queue's Q_USERS, Q_OPERATORS, or Q_SERVERS properties
  4437. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ch,AH=E3h/SF=71h
  4438.  
  4439. Format of request buffer:
  4440. Offset    Size    Description
  4441.  00h    WORD    0007h (length of following data)
  4442.  02h    BYTE    78h (subfunction "Get Queue Job's File Size")
  4443.  03h    DWORD    (big-endian) object ID of queue
  4444.  07h    WORD    (big-endian) job number
  4445.  
  4446. Format of reply buffer:
  4447. Offset    Size    Description
  4448.  00h    WORD    (call) 000Ah (size of following results)
  4449.  02h    DWORD    (big-endian) object ID of queue
  4450.  06h    WORD    (big-endian) job number
  4451.  08h    DWORD    (big-endian) size of job file in bytes
  4452. --------N-21E3--SF96-------------------------
  4453. INT 21 - Novell NetWare - ACCOUNTING SERVICES - GET ACCOUNT STATUS
  4454.     AH = E3h subfn 96h
  4455.     DS:SI -> request buffer (see below)
  4456.     ES:DI -> reply buffer (see below)
  4457. Return: AL = status (00h,C0h,C1h) (see below)
  4458. Note:    this function is supported by Advanced NetWare 2.1+
  4459. SeeAlso: AH=E3h/SF=97h,AH=E3h/SF=98h,AH=E3h/SF=99h
  4460.  
  4461. Values for status:
  4462.  00h    successful
  4463.  C0h    no account privileges
  4464.  C1h    no account balance
  4465.  C2h    credit limit exceeded
  4466.  C3h    too many holds on account
  4467.  
  4468. Format of request buffer:
  4469. Offset    Size    Description
  4470.  00h    WORD    length of following data (max 33h)
  4471.  02h    BYTE    96h (subfunction "Get Account Status")
  4472.  03h    WORD    (big-endian) type of bindery object
  4473.  05h    BYTE    length of object name (01h to 2Fh)
  4474.  06h  N BYTEs    object name
  4475.  
  4476. Format of reply buffer:
  4477. Offset    Size    Description
  4478.  00h    WORD    (call) length of following buffer space
  4479.  02h    DWORD    (big-endian) account balance
  4480.  06h    DWORD    (big-endian) credit limit
  4481.         signed number indicating lowest allowable account balance
  4482.  0Ah 120 BYTEs    reserved
  4483.  82h    DWORD    (big-endian) object ID, server 1
  4484.  86h    DWORD    (big-endian) hold amount, server 1
  4485.     ...
  4486.  F8h    DWORD    (big-endian) object ID, server 16
  4487.  FCh    DWORD    (big-endian) hold amount, server 16
  4488. Note:    the reply buffer lists the servers which have placed holds on a portion
  4489.       of the account balance, and the amount reserved by each
  4490. --------N-21E3--SF97-------------------------
  4491. INT 21 - Novell NetWare - ACCOUNTING SERVICES - SUBMIT ACCOUNT CHARGE
  4492.     AH = E3h subfn 97h
  4493.     DS:SI -> request buffer (see below)
  4494.     ES:DI -> reply buffer (see below)
  4495. Return: AL = status (00h,C0h-C2h) (see AH=E3h/SF=96h)
  4496. Note:    this function is supported by Advanced NetWare 2.1+
  4497. SeeAlso: AH=E3h/SF=96h,AH=E3h/SF=98h
  4498.  
  4499. Format of request buffer:
  4500. Offset    Size    Description
  4501.  00h    WORD    length of following data (max 13Fh)
  4502.  02h    BYTE    97h (subfunction "Submit Account Charge")
  4503.  03h    WORD    (big-endian) service type
  4504.  05h    DWORD    (big-endian) amount to be charged to account
  4505.  09h    DWORD    (big-endian) amount of prior hold to be cancelled
  4506.  0Dh    WORD    (big-endian) type of bindery object
  4507.  0Fh    WORD    (big-endian) type of comment
  4508.         8000h-FFFFh reserved for experimental use
  4509.  11h    BYTE    length of object's name
  4510.  12h  N BYTEs    object name
  4511.     BYTE    length of comment
  4512.       N BYTEs    comment
  4513.  
  4514. Format of reply buffer:
  4515. Offset    Size    Description
  4516.  00h    WORD    0000h (no data returned)
  4517. --------N-21E3--SF98-------------------------
  4518. INT 21 - Novell NetWare - ACCOUNTING SERVICES - SUBMIT ACCOUNT HOLD
  4519.     AH = E3h subfn 98h
  4520.     DS:SI -> request buffer (see below)
  4521.     ES:DI -> reply buffer (see below)
  4522. Return: AL = status (00h,C0h-C3h) (see AH=E3h/SF=96h)
  4523. Note:    this function is supported by Advanced NetWare 2.1+
  4524. SeeAlso: AH=E3h/SF=96h,AH=E3h/SF=97h
  4525.  
  4526. Format of request buffer:
  4527. Offset    Size    Description
  4528.  00h    WORD    length of following data (max 37h)
  4529.  02h    BYTE    98h (subfunction "Submit Account Hold")
  4530.  03h    DWORD    (big-endian) amount of account balance to reserve
  4531.  07h    WORD    (big-endian) type of bindery object
  4532.  09h    BYTE    length of object's name
  4533.  0Ah  N BYTEs    object name
  4534.  
  4535. Format of reply buffer:
  4536. Offset    Size    Description
  4537.  00h    WORD    0000h (no data returned)
  4538. --------N-21E3--SF99-------------------------
  4539. INT 21 - Novell NetWare - ACCOUNTING SERVICES - SUBMIT ACCOUNT NOTE
  4540.     AH = E3h subfn 99h
  4541.     DS:SI -> request buffer (see below)
  4542.     ES:DI -> reply buffer (see below)
  4543. Return: AL = status
  4544.         00h successful
  4545.         C0h no account privileges
  4546. Note:    this function is supported by Advanced NetWare 2.1+
  4547. SeeAlso: AH=E3h/SF=96h
  4548.  
  4549. Format of request buffer:
  4550. Offset    Size    Description
  4551.  00h    WORD    length of following data (max 137h)
  4552.  02h    BYTE    99h (subfunction "Submit Account Note")
  4553.  03h    WORD    (big-endian) type of service
  4554.  05h    WORD    (big-endian) type of bindery object
  4555.  07h    WORD    (big-endian) type of comment
  4556.         8000h-FFFFh reserved for experimental use
  4557.  09h    BYTE    length of object's name
  4558.  0Ah  N BYTEs    object name
  4559.     BYTE    length of comment
  4560.       N BYTEs    comment
  4561.  
  4562. Format of reply buffer:
  4563. Offset    Size    Description
  4564.  00h    WORD    0000h (no data returned)
  4565. --------N-21E3--SFC8-------------------------
  4566. INT 21 - Novell NetWare - FILE SERVER - CHECK CONSOLE PRIVILEGES
  4567.     AH = E3h subfn C8h
  4568.     DS:SI -> request buffer (see below)
  4569.     ES:DI -> reply buffer (see below)
  4570. Return: AL = status
  4571.         00h successful
  4572.         C6h no console rights
  4573. Desc:    determine whether the caller is a console operator
  4574. Notes:    this function is supported by Advanced NetWare 2.1+
  4575.     NetWare determines console privileges by checking the file server's
  4576.       OPERATOR property for the caller's object ID
  4577. SeeAlso: AH=E3h/SF=C9h,AH=E3h/SF=D1h
  4578.  
  4579. Format of request buffer:
  4580. Offset    Size    Description
  4581.  00h    WORD    0001h (length of following data)
  4582.  02h    BYTE    C8h (subfunction "Check Console Privileges")
  4583.  
  4584. Format of reply buffer:
  4585. Offset    Size    Description
  4586.  00h    WORD    (call) 0000h (no results returned)
  4587. --------N-21E3--SFC9-------------------------
  4588. INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER DESCRIPTION STRINGS
  4589.     AH = E3h subfn C9h
  4590.     DS:SI -> request buffer (see below)
  4591.     ES:DI -> reply buffer (see below)
  4592. Return: AL = status
  4593.         00h successful
  4594. Notes:    this function is supported by Advanced NetWare 2.1+
  4595.     the calling workstation must be attached to the file server
  4596. SeeAlso: AH=E3h/SF=11h,AH=E3h/SF=CDh,AH=E3h/SF=E8h
  4597.  
  4598. Format of request buffer:
  4599. Offset    Size    Description
  4600.  00h    WORD    0001h (length of following data)
  4601.  02h    BYTE    C9h (subfunction "Get File Server Description Strings")
  4602.  
  4603. Format of reply buffer:
  4604. Offset    Size    Description
  4605.  00h    WORD    (call) 0200h (size of following results buffer)
  4606.  02h    var    ASCIZ name of company distributing this copy of NetWare
  4607.     var    ASCIZ version and revision
  4608.       9 BYTEs    ASCIZ revision date (mm/dd/yy)
  4609.     var    ASCIZ copyright notice
  4610. --------N-21E3--SFCA-------------------------
  4611. INT 21 - Novell NetWare - FILE SERVER - SET FILE SERVER DATE AND TIME
  4612.     AH = E3h subfn CAh
  4613.     DS:SI -> request buffer (see below)
  4614.     ES:DI -> reply buffer (see below)
  4615. Return: AL = status
  4616.         00h successful
  4617.         C6h no console rights
  4618. Notes:    this function is supported by Advanced NetWare 2.1+
  4619.     the calling workstation must have console operator privileges
  4620. SeeAlso: AH=2Bh,AH=2Dh,AH=E3h/SF=C8h,AH=E7h
  4621.  
  4622. Format of request buffer:
  4623. Offset    Size    Description
  4624.  00h    WORD    0007h (length of following data)
  4625.  02h    BYTE    CAh (subfunction "Set File Server Date And Time")
  4626.  03h    BYTE    year (00-79 = 2000-2079, 80-99 = 1980-1999)
  4627.  04h    BYTE    month (1-12)
  4628.  05h    BYTE    day (1-31)
  4629.  06h    BYTE    hour (0-23)
  4630.  07h    BYTE    minute
  4631.  08h    BYTR    second
  4632.  
  4633. Format of reply buffer:
  4634. Offset    Size    Description
  4635.  00h    WORD    (call) 0000h (no results returned)
  4636. --------N-21E3--SFCB-------------------------
  4637. INT 21 - Novell NetWare - FILE SERVER - DISABLE FILE SERVER LOGIN
  4638.     AH = E3h subfn CBh
  4639.     DS:SI -> request buffer (see below)
  4640.     ES:DI -> reply buffer (see below)
  4641. Return: AL = status
  4642.         00h successful
  4643.         C6h no console rights
  4644. Notes:    this function is supported by Advanced NetWare 2.1+
  4645.     the calling workstation must have console operator privileges
  4646. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CCh,AH=E3h/SF=D3h
  4647.  
  4648. Format of request buffer:
  4649. Offset    Size    Description
  4650.  00h    WORD    0001h (length of following data)
  4651.  02h    BYTE    CBh (subfunction "Disable File Server Login")
  4652.  
  4653. Format of reply buffer:
  4654. Offset    Size    Description
  4655.  00h    WORD    (call) 0000h (no results returned)
  4656. --------N-21E3--SFCC-------------------------
  4657. INT 21 - Novell NetWare - FILE SERVER - ENABLE FILE SERVER LOGIN
  4658.     AH = E3h subfn CCh
  4659.     DS:SI -> request buffer (see below)
  4660.     ES:DI -> reply buffer (see below)
  4661. Return: AL = status
  4662.         00h successful
  4663.         C6h no console rights
  4664. Notes:    this function is supported by Advanced NetWare 2.1+
  4665.     the calling workstation must have console operator privileges
  4666. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CBh
  4667.  
  4668. Format of request buffer:
  4669. Offset    Size    Description
  4670.  00h    WORD    0001h (length of following data)
  4671.  02h    BYTE    CCh (subfunction "Enable File Server Login")
  4672.  
  4673. Format of reply buffer:
  4674. Offset    Size    Description
  4675.  00h    WORD    (call) 0000h (no results returned)
  4676. --------N-21E3--SFCD-------------------------
  4677. INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER LOGIN STATUS
  4678.     AH = E3h subfn CDh
  4679.     DS:SI -> request buffer (see below)
  4680.     ES:DI -> reply buffer (see below)
  4681. Return: AL = status
  4682.         00h successful
  4683.         C6h no console rights
  4684. Notes:    this function is supported by Advanced NetWare 2.1+
  4685.     the calling workstation must have console operator privileges
  4686. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CBh,AH=E3h/SF=CCh
  4687.  
  4688. Format of request buffer:
  4689. Offset    Size    Description
  4690.  00h    WORD    0001h (length of following data)
  4691.  02h    BYTE    CDh (subfunction "Get File Server Login Status")
  4692.  
  4693. Format of reply buffer:
  4694. Offset    Size    Description
  4695.  00h    WORD    (call) 0001h (size of following results buffer)
  4696.  02h    BYTE    login state (00h disabled, 01h enabled)
  4697. --------N-21E3--SFCE-------------------------
  4698. INT 21 - Novell NetWare - FILE SERVICES - PURGE ALL ERASED FILES
  4699.     AH = E3h subfn CEh
  4700.     DS:SI -> request buffer (see below)
  4701.     ES:DI -> reply buffer (see below)
  4702. Return: AL = status
  4703.         00h successful
  4704.         C6h no console rights
  4705. Desc:    all files marked for deletion on the file server are purged, regardless
  4706.       of which workstation actually erased them
  4707. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  4708.       Alloy NTNX
  4709.     the calling workstation must have console operator privileges
  4710. SeeAlso: AH=13h,AH=E2h/SF=10h,AH=E3h/SF=C8h,AX=F244h
  4711.  
  4712. Format of request buffer:
  4713. Offset    Size    Description
  4714.  00h    WORD    0001h (length of following data)
  4715.  02h    BYTE    CEh (subfunction "Purge All Erased Files")
  4716.  
  4717. Format of reply buffer:
  4718. Offset    Size    Description
  4719.  00h    WORD    (call) 0000h (no results returned)
  4720. --------N-21E3--SFCF-------------------------
  4721. INT 21 - Novell NetWare - FILE SERVER - DISABLE TRANSACTION TRACKING
  4722.     AH = E3h subfn CFh
  4723.     DS:SI -> request buffer (see below)
  4724.     ES:DI -> reply buffer (see below)
  4725. Return: AL = status
  4726.         00h successful
  4727.         C6h no console rights
  4728. Notes:    this function is supported by Advanced NetWare 2.1+
  4729.     the calling workstation must have console operator privileges
  4730. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=D0h
  4731.  
  4732. Format of request buffer:
  4733. Offset    Size    Description
  4734.  00h    WORD    0001h (length of following data)
  4735.  02h    BYTE    CFh (subfunction "Disable Transaction Tracking")
  4736.  
  4737. Format of reply buffer:
  4738. Offset    Size    Description
  4739.  00h    WORD    (call) 0000h (no results returned)
  4740. --------N-21E3--SFD0-------------------------
  4741. INT 21 - Novell NetWare - FILE SERVER - ENABLE TRANSACTION TRACKING
  4742.     AH = E3h subfn D0h
  4743.     DS:SI -> request buffer (see below)
  4744.     ES:DI -> reply buffer (see below)
  4745. Return: AL = status
  4746.         00h successful
  4747.         C6h no console rights
  4748. Desc:    restart transaction tracking after being stopped either explicitly by
  4749.       AH=E3h/SF=CFh or automatically due to a full transaction volume
  4750. Notes:    this function is supported by Advanced NetWare 2.1+
  4751.     the calling workstation must have console operator privileges
  4752. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CFh
  4753.  
  4754. Format of request buffer:
  4755. Offset    Size    Description
  4756.  00h    WORD    0001h (length of following data)
  4757.  02h    BYTE    D0h (subfunction "Enable Transaction Tracking")
  4758.  
  4759. Format of reply buffer:
  4760. Offset    Size    Description
  4761.  00h    WORD    (call) 0000h (no results returned)
  4762. --------N-21E3--SFD1-------------------------
  4763. INT 21 - Novell NetWare - FILE SERVER - SEND CONSOLE BROADCAST
  4764.     AH = E3h subfn D1h
  4765.     DS:SI -> request buffer (see below)
  4766.     ES:DI -> reply buffer (see below)
  4767. Return: AL = status
  4768.         00h successful
  4769.         C6h no console rights
  4770. Notes:    this function is supported by Advanced NetWare 2.1+
  4771.     the calling workstation must have console operator privileges
  4772.     the broadcast message will not be received by workstations which have
  4773.       disabled broadcasts with AH=E1h/SF=02h
  4774. SeeAlso: AH=E1h/SF=02h,AH=E1h/SF=09h,AH=E3h/SF=C8h,AH=E3h/SF=D3h
  4775.  
  4776. Format of request buffer:
  4777. Offset    Size    Description
  4778.  00h    WORD    length of following data (max A2h)
  4779.  02h    BYTE    D1h (subfunction "Send Console Broadcast")
  4780.  03h    BYTE    number of connections to receive message
  4781.         00h = all, else specific list below
  4782.  04h  N BYTEs    connection list
  4783.     BYTE    length of message (max 3Ch)
  4784.       N BYTEs    message
  4785.  
  4786. Format of reply buffer:
  4787. Offset    Size    Description
  4788.  00h    WORD    (call) 0000h (no results returned)
  4789. --------N-21E3--SFD2-------------------------
  4790. INT 21 - Novell NetWare - FILE SERVER - CLEAR CONNECTION NUMBER
  4791.     AH = E3h subfn D2h
  4792.     DS:SI -> request buffer (see below)
  4793.     ES:DI -> reply buffer (see below)
  4794. Return: AL = status
  4795.         00h successful
  4796.         C6h no console rights
  4797. Desc:    close the open files and release all file locks for a connection,
  4798.       abort transactions if a TTS file server, and detach from the file
  4799.       server
  4800. Notes:    this function is supported by Advanced NetWare 2.1+
  4801.     the caller must have SUPERVISOR privileges
  4802. SeeAlso: AH=E3h/SF=C9h,AH=E3h/SF=D1h
  4803.  
  4804. Format of request buffer:
  4805. Offset    Size    Description
  4806.  00h    WORD    0002h (length of following data)
  4807.  02h    BYTE    D2h (subfunction "Clear Connection Number")
  4808.  03h    BYTE    connection number
  4809.  
  4810. Format of reply buffer:
  4811. Offset    Size    Description
  4812.  00h    WORD    (call) 0000h (no results returned)
  4813. --------N-21E3--SFD3-------------------------
  4814. INT 21 - Novell NetWare - FILE SERVER - DOWN FILE SERVER
  4815.     AH = E3h subfn D3h
  4816.     DS:SI -> request buffer (see below)
  4817.     ES:DI -> reply buffer (see below)
  4818. Return: AL = status
  4819.         00h successful
  4820.         C6h no console rights
  4821.         FFh files open
  4822. Desc:    take down the file server
  4823. Notes:    this function is supported by Advanced NetWare 2.1+
  4824.     the calling workstation must have SUPERVISOR privileges
  4825. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CBh,AH=E3h/SF=CFh,AH=E3h/SF=D1h
  4826.  
  4827. Format of request buffer:
  4828. Offset    Size    Description
  4829.  00h    WORD    0002h (length of following data)
  4830.  02h    BYTE    D3h (subfunction "Down File Server")
  4831.  03h    BYTE    flag: force down even if files open if nonzero
  4832.  
  4833. Format of reply buffer:
  4834. Offset    Size    Description
  4835.  00h    WORD    (call) 0000h (no results returned)
  4836. --------N-21E3--SFD4-------------------------
  4837. INT 21 - Novell NetWare - FILE SERVER - GET FILE SYSTEM STATISTICS
  4838.     AH = E3h subfn D4h
  4839.     DS:SI -> request buffer (see below)
  4840.     ES:DI -> reply buffer (see below)
  4841. Return: AL = status
  4842.         00h successful
  4843.         C6h no console rights
  4844. Notes:    this function is supported by Advanced NetWare 2.1+
  4845.     the calling workstation must have console operator privileges
  4846. SeeAlso: AH=E3h/SF=0Eh,AH=E3h/SF=C8h,AH=E3h/SF=D9h,AH=E3h/SF=E7h,AH=E3h/SF=E8h
  4847.  
  4848. Format of request buffer:
  4849. Offset    Size    Description
  4850.  00h    WORD    0001h (length of following data)
  4851.  02h    BYTE    D4h (subfunction "Get File System Statistics")
  4852.  
  4853. Format of reply buffer:
  4854. Offset    Size    Description
  4855.  00h    WORD    (call) 0028h (size of following results buffer)
  4856.  02h    DWORD    clock ticks since system started
  4857.  06h    WORD    maximum open files set by configuration
  4858.  08h    WORD    maximum files open concurrently
  4859.  0Ah    WORD    current number of open files
  4860.  0Ch    DWORD    total files opened
  4861.  10h    DWORD    total file read requests
  4862.  14h    DWORD    total file write requests
  4863.  18h    WORD    current changed FATs
  4864.  1Ah    WORD    total changed FATs
  4865.  1Ch    WORD    number of FAT write errors
  4866.  1Eh    WORD    number of fatal FAT write errors
  4867.  20h    WORD    number of FAT scan errors
  4868.  22h    WORD    maximum concurrently-indexed files
  4869.  24h    WORD    current number of indexed files
  4870.  26h    WORD    number of attached indexed files
  4871.  28h    WORD    number of indexed files available
  4872. Note:    all fields except the first are big-endian
  4873. --------N-21E3--SFD5-------------------------
  4874. INT 21 - Novell NetWare - FILE SERVER - GET TRANSACTION TRACKING STATISTICS
  4875.     AH = E3h subfn D5h
  4876.     DS:SI -> request buffer (see below)
  4877.     ES:DI -> reply buffer (see below)
  4878. Return: AL = status
  4879.         00h successful
  4880.         C6h no console rights
  4881. Notes:    this function is supported by Advanced NetWare 2.1+
  4882.     the calling workstation must have console operator privileges
  4883. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CFh,AH=E3h/SF=D0h,AH=E3h/SF=E8h
  4884.  
  4885. Format of request buffer:
  4886. Offset    Size    Description
  4887.  00h    WORD    0001h (length of following data)
  4888.  02h    BYTE    D5h (subfunction "TTS Get Statistics")
  4889.  
  4890. Format of reply buffer:
  4891. Offset    Size    Description
  4892.  00h    WORD    (call) length of following results buffer (max 1BCh)
  4893.  02h    DWORD    (big-endian) clock ticks since system started
  4894.  06h    BYTE    transaction tracking supported if nonzero
  4895.         (all following fields are invalid if zero)
  4896.  07h    BYTE    transaction tracking enabled
  4897.  08h    WORD    (big-endian) transaction volume number
  4898.  0Ah    WORD    (big-endian) maximum simultaneous transactions configured
  4899.  0Ch    WORD    (big-endian) maximum simultaneous transactions since startup
  4900.  0Eh    WORD    (big-endian) current transactions in progress
  4901.  10h    DWORD    (big-endian) total transactions performed
  4902.  14h    DWORD    (big-endian) total write transactions
  4903.  18h    DWORD    (big-endian) total transactions backed out
  4904.  1Ch    WORD    (big-endian) number of unfilled backout requests
  4905.  1Eh    WORD    (big-endian) disk blocks used for transaction tracking
  4906.  20h    DWORD    (big-endian) blocks allocated for tracked-file FATs
  4907.  24h    DWORD    (big-endian) number of file size changes during a transaction
  4908.  28h    DWORD    (big-endian) number of file truncations during a transaction
  4909.  2Ch    BYTE    number of records following
  4910.  2Dh    Active Transaction Records [array]
  4911.     Offset    Size    Description
  4912.      00h    BYTE    logical connection number
  4913.      01h    BYTE    task number
  4914. --------N-21E3--SFD6-------------------------
  4915. INT 21 - Novell NetWare - FILE SERVER - GET DISK CACHE STATISTICS
  4916.     AH = E3h subfn D6h
  4917.     DS:SI -> request buffer (see below)
  4918.     ES:DI -> reply buffer (see below)
  4919. Return: AL = status
  4920.         00h successful
  4921.         C6h no console rights
  4922. Notes:    this function is supported by Advanced NetWare 2.1+
  4923.     the calling workstation must have console operator privileges
  4924. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=D5h,AH=E3h/SF=D8h,AH=E3h/SF=D9h,AH=E3h/SF=E6h
  4925.  
  4926. Format of request buffer:
  4927. Offset    Size    Description
  4928.  00h    WORD    0001h (length of following data)
  4929.  02h    BYTE    D6h (subfunction "Get Disk Cache Statistics")
  4930.  
  4931. Format of reply buffer:
  4932. Offset    Size    Description
  4933.  00h    WORD    (call) 004Eh (length of following results buffer)
  4934.  02h    DWORD    clock ticks since system started
  4935.  06h    WORD    number of cache buffers
  4936.  08h    WORD    size of cache buffer in bytes
  4937.  0Ah    WORD    number of dirty cache buffers
  4938.  0Ch    DWORD    number of cache read requests
  4939.  10h    DWORD    number of cache write requests
  4940.  14h    DWORD    number of cache hits
  4941.  18h    DWORD    number of cache misses
  4942.  1Ch    DWORD    number of physical read requests
  4943.  20h    DWORD    number of physical write requests
  4944.  24h    WORD    number of physical read errors
  4945.  26h    WORD    number of physical write errors
  4946.  28h    DWORD    cache get requests
  4947.  2Ch    DWORD    cache full write requests
  4948.  30h    DWORD    cache partial write requests
  4949.  34h    DWORD    background dirty writes
  4950.  38h    DWORD    background aged writes
  4951.  3Ch    DWORD    total cache writes
  4952.  40h    DWORD    number of cache allocations
  4953.  44h    WORD    thrashing count
  4954.  46h    WORD    number of times LRU block was dirty
  4955.  48h    WORD    number of reads on cache blocks not yet filled by writes
  4956.  4Ah    WORD    number of times a fragmented write occurred
  4957.  4Ch    WORD    number of cache hits on unavailable block
  4958.  4Eh    WORD    number of times a cache block was scrapped
  4959. Note:    all fields except the first are big-endian
  4960. --------N-21E3--SFD7-------------------------
  4961. INT 21 - Novell NetWare - FILE SERVER - GET DRIVE MAPPING TABLE
  4962.     AH = E3h subfn D7h
  4963.     DS:SI -> request buffer (see below)
  4964.     ES:DI -> reply buffer (see below)
  4965. Return: AL = status
  4966.         00h successful
  4967.         C6h no console rights
  4968. Notes:    this function is supported by Advanced NetWare 2.1+
  4969.     the calling workstation must have console operator privileges
  4970. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=D6h,AH=E3h/SF=D9h,AH=E3h/SF=E6h,AH=E3h/SF=E9h
  4971.  
  4972. Format of request buffer:
  4973. Offset    Size    Description
  4974.  00h    WORD    0001h (length of following data)
  4975.  02h    BYTE    D7h (subfunction "Get Drive Mapping Table")
  4976.  
  4977. Format of reply buffer:
  4978. Offset    Size    Description
  4979.  00h    WORD    (call) 00ECh (length of following results buffer)
  4980.  02h    DWORD    (big-endian) clock tick elapsed since system started
  4981.  06h    BYTE    fault tolerance (SFT) level
  4982.  07h    BYTE    number of logical drives attached to server
  4983.  08h    BYTE    number of physical drives attached to server
  4984.  09h  5 BYTEs    disk channel types (00h none, 01h XT, 02h AT, 03h SCSI,
  4985.         04h disk coprocessor drive, 32h-FFh value-added drive types)
  4986.  0Eh    WORD    (big-endian) number of outstanding controller commands
  4987.  10h 32 BYTEs    drive mapping table (FFh = no such drive)
  4988.  30h 32 BYTEs    drive mirror table (secondary physical drive, FFh = none)
  4989.  50h 32 BYTEs    dead mirror table (last drive mapped to, FFh if never mirrored)
  4990.  70h    BYTE    physical drive being remirrored (FFh = none)
  4991.  71h    BYTE    reserved
  4992.  72h    DWORD    (big-endian) remirrored block
  4993.  76h 60 BYTEs    SFT error table (internal error counters)
  4994. --------N-21E3--SFD8-------------------------
  4995. INT 21 - Novell NetWare - FILE SERVER - GET PHYSICAL DISK STATISTICS
  4996.     AH = E3h subfn D8h
  4997.     DS:SI -> request buffer (see below)
  4998.     ES:DI -> reply buffer (see below)
  4999. Return: AL = status
  5000.         00h successful
  5001.         C6h no console rights
  5002. Notes:    this function is supported by Advanced NetWare 2.1+
  5003.     the calling workstation must have console operator privileges
  5004. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=D9h,AH=E3h/SF=E9h
  5005.  
  5006. Format of request buffer:
  5007. Offset    Size    Description
  5008.  00h    WORD    0002h (length of following data)
  5009.  02h    BYTE    D8h (subfunction "Get Physical Disk Statistics")
  5010.  03h    BYTE    physical disk number
  5011.  
  5012. Format of reply buffer:
  5013. Offset    Size    Description
  5014.  00h    WORD    (call) 005Dh (size of following results record)
  5015.  02h    DWORD    (big-endian) clock ticks since system started
  5016.  06h    BYTE    physical disk channel
  5017.  07h    BYTE    flag: drive removable if nonzero
  5018.  08h    BYTE    physical drive type
  5019.  09h    BYTE    drive number within controller
  5020.  0Ah    BYTE    controller number
  5021.  0Bh    BYTE    controller type
  5022.  0Ch    DWORD    (big-endian) size of drive in 4K disk blocks
  5023.  10h    WORD    (big-endian) number of cylinders on drive
  5024.  12h    BYTE    number of heads
  5025.  13h    BYTE    number of sectors per track
  5026.  14h 64 BYTEs    ASCIZ drive make and model
  5027.  54h    WORD    (big-endian) number of I/O errors
  5028.  56h    DWORD    (big-endian) start of Hot Fix table
  5029.  5Ah    WORD    (big-endian) size of Hot Fix table
  5030.  5Ch    WORD    (big-endian) number of Hot Fix blocks available
  5031.  5Eh    BYTE    flag: Hot Fix disabled if nonzero
  5032. --------N-21E3--SFD9-------------------------
  5033. INT 21 - Novell NetWare - FILE SERVER - GET DISK CHANNEL STATISTICS
  5034.     AH = E3h subfn D9h
  5035.     DS:SI -> request buffer (see below)
  5036.     ES:DI -> reply buffer (see below)
  5037. Return: AL = status
  5038.         00h successful
  5039.         C6h no console rights
  5040. Notes:    this function is supported by Advanced NetWare 2.1+
  5041.     the calling workstation must have console operator privileges
  5042. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=D8h,AH=E3h/SF=E6h,AH=E3h/SF=E9h
  5043.  
  5044. Format of request buffer:
  5045. Offset    Size    Description
  5046.  00h    WORD    0002h (length of following data)
  5047.  02h    BYTE    D9h (subfunction "Get Disk Channel Statistics")
  5048.  03h    BYTE    channel number
  5049.  
  5050. Format of reply buffer:
  5051. Offset    Size    Description
  5052.  00h    WORD    (call) 00A8h (size of following results record)
  5053.  02h    DWORD    (big-endian) clock ticks since system started
  5054.  06h    WORD    (big-endian) channel run state (see below)
  5055.  08h    WORD    (big-endian) channel synchronization state (see below)
  5056.  0Ah    BYTE    driver type
  5057.  0Bh    BYTE    major version of driver
  5058.  0Ch    BYTE    minor version of driver
  5059.  0Dh 65 BYTEs    ASCIZ driver description
  5060.  4Eh    WORD    (big-endian) first I/O address used
  5061.  50h    WORD    (big-endian) length of first I/O address
  5062.  52h    WORD    (big-endian) second I/O address used
  5063.  54h    WORD    (big-endian) length of second I/O address
  5064.  56h  3 BYTEs    first shared memory address
  5065.  59h  2 BYTEs    length of first shared memory address
  5066.  5Bh  3 BYTEs    second shared memory address
  5067.  5Eh  2 BYTEs    length of second shared memory address
  5068.  60h    BYTE    first interrupt number in-use flag
  5069.  61h    BYTE    first interrupt number used
  5070.  62h    BYTE    second interrupt number in-use flag
  5071.  63h    BYTE    second interrupt number used
  5072.  64h    BYTE    first DMA channel in-use flag
  5073.  65h    BYTE    first DMA channel used
  5074.  66h    BYTE    second DMA channel in-use flag
  5075.  67h    BYTE    second DMA channel used
  5076.  68h    BYTE    flags
  5077.  69h    BYTE    reserved
  5078.  6Ah 80 BYTEs    ASCIZ configuration description
  5079.  
  5080. Values for channel run state:
  5081.  0000h    running
  5082.  0001h    being stopped
  5083.  0002h    stopped
  5084.  0003h    nonfunctional
  5085.  
  5086. Values for channel synchronization state:
  5087.  0000h    not in use
  5088.  0002h    used by NetWare, no other requests
  5089.  0004h    used by NetWare, other requests
  5090.  0006h    in use, not needed by NetWare
  5091.  0008h    in use, needed by NetWare
  5092.  000Ah    channel released, NetWare should use it
  5093. --------N-21E3--SFDA-------------------------
  5094. INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S TASK INFORMATION
  5095.     AH = E3h subfn DAh
  5096.     DS:SI -> request buffer (see below)
  5097.     ES:DI -> reply buffer (see below)
  5098. Return: AL = status
  5099.         00h successful
  5100.         C6h no console rights
  5101. Notes:    this function is supported by Advanced NetWare 2.1+
  5102.     the calling workstation must have console operator privileges
  5103. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DBh,AH=E3h/SF=DFh,AH=E3h/SF=E1h,AH=E3h/SF=E5h
  5104.  
  5105. Format of request buffer:
  5106. Offset    Size    Description
  5107.  00h    WORD    0003h (length of following data)
  5108.  02h    BYTE    DAh (subfunction "Get Connection's Task Information")
  5109.  03h    WORD    (big-endian) logical connection number
  5110.  
  5111. Format of reply buffer:
  5112. Offset    Size    Description
  5113.  00h    WORD    (call) size of following results record (max 1FEh)
  5114.  02h    BYTE    lock status of connection (see below)
  5115.  03h    var    Lock Status Information (see below)
  5116.  N    BYTE    number of records following
  5117.  N+1    Active Task Information Records [array]
  5118.     Offset    Size    Description
  5119.      00h    BYTE    task number (01h-FFh)
  5120.      01h    BYTE    task state
  5121.             01h in TTS explicit transaction
  5122.             02h in TTS implicit transaction
  5123.             04h shared fileset lock active
  5124.  
  5125. Values for lock status of connection:
  5126.  00h    no locks
  5127.  01h    waiting on physical record lock
  5128.  02h    waiting on file lock
  5129.  03h    waiting on logical record lock
  5130.  04h    waiting on semaphore
  5131.  
  5132. Format of Lock Status Information:
  5133. Offset    Size    Description
  5134. ---lock status 00h---
  5135.  no fields
  5136. ---lock status 01h---
  5137.  00h    BYTE    number of waiting task
  5138.  01h    DWORD    start address
  5139.  05h    DWORD    end address
  5140.  09h    BYTE    volume number
  5141.  0Ah    WORD    directory entry number
  5142.  0Ch 14 BYTEs    ASCIZ filename
  5143. ---lock status 02h---
  5144.  00h    BYTE    number of waiting task
  5145.  01h    BYTE    volume number
  5146.  02h    WORD    directory entry number
  5147.  04h 14 BYTEs    ASCIZ filename
  5148. ---lock status 03h---
  5149.  00h    BYTE    number of waiting task
  5150.  01h    BYTE    length of record name
  5151.  02h  N BYTEs    ASCIZ record name
  5152. ---lock status 04h---
  5153.  00h    BYTE    number of waiting task
  5154.  01h    BYTE    length of semaphore's name
  5155.  02h  N BYTEs    ASCIZ semaphore name
  5156. --------N-21E3--SFDB-------------------------
  5157. INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S OPEN FILES
  5158.     AH = E3h subfn DBh
  5159.     DS:SI -> request buffer (see below)
  5160.     ES:DI -> reply buffer (see below)
  5161. Return: AL = status
  5162.         00h successful
  5163.         C6h no console rights
  5164. Notes:    this function is supported by Advanced NetWare 2.1+
  5165.     the calling workstation must have console operator privileges
  5166. SeeAlso: AH=E2h/SF=1Ah,AH=E3h/SF=C8h,AH=E3h/SF=DAh,AH=E3h/SF=DCh,AH=E3h/SF=DFh
  5167. SeeAlso: AH=E3h/SF=E1h
  5168.  
  5169. Format of request buffer:
  5170. Offset    Size    Description
  5171.  00h    WORD    0005h (length of following data)
  5172.  02h    BYTE    DBh (subfunction "Get Connection's Open Files")
  5173.  03h    WORD    (big-endian) logical connection number
  5174.  05h    WORD    (big-endian) last record seen (0000h on first call)
  5175.  
  5176. Format of reply buffer:
  5177. Offset    Size    Description
  5178.  00h    WORD    (call) size of following results record (max 1FEh)
  5179.  02h    WORD    next request record (place in "last record" field on next call)
  5180.         0000h if no more records
  5181.  04h    BYTE    number of records following
  5182.  05h    var    array of File Information Records (see below)
  5183.  
  5184. Format of File Information Record:
  5185. Offset    Size    Description
  5186.  00h    BYTE    task number
  5187.  01h    BYTE    lock flags (see below)
  5188.  02h    BYTE    access flags (see below)
  5189.  03h    BYTE    lock type
  5190.         00h no lock
  5191.         FEh file lock
  5192.         FFh locked by Begin Share File Set
  5193.  04h    BYTE    volume number (00h-1Fh)
  5194.  05h    WORD    (big-endian) directory entry
  5195.  07h 14 BYTEs    ASCIZ filename
  5196.  
  5197. Bitfields for lock flags:
  5198.  bit 0    file is locked
  5199.  bit 1    file opened Shareable
  5200.  bit 2    logged
  5201.  bit 3    file opened Normal
  5202.  bit 6    TTS holding lock
  5203.  bit 7    Transaction Flag set on file
  5204.  
  5205. Bitfields for access flags:
  5206.  bit 0    file open for reading by calling station
  5207.  bit 1    file open for writing by calling station
  5208.  bit 2    deny reads by other stations
  5209.  bit 3    deny writes by other stations
  5210.  bit 4    file detached
  5211.  bit 5    TTS Holding Detach
  5212.  bit 6    TTS Holding Open
  5213. --------N-21E3--SFDC-------------------------
  5214. INT 21 - Novell NetWare - FILE SERVER - GET CONNECTIONS USING A FILE
  5215.     AH = E3h subfn DCh
  5216.     DS:SI -> request buffer (see below)
  5217.     ES:DI -> reply buffer (see below)
  5218. Return: AL = status
  5219.         00h successful
  5220.         C6h no console rights
  5221. Notes:    this function is supported by Advanced NetWare 2.1+
  5222.     the calling workstation must have console operator privileges
  5223. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DAh,AH=E3h/SF=DBh,AH=E3h/SF=DFh,AH=E3h/SF=E1h
  5224.  
  5225. Format of request buffer:
  5226. Offset    Size    Description
  5227.  00h    WORD    length of following data (max 104h)
  5228.  02h    BYTE    DCh (subfunction "Get Connections Using a File")
  5229.  03h    WORD    (big-endian) last record (0000h on first call)
  5230.  05h    BYTE    directory handle
  5231.  06h    BYTE    length of file path
  5232.  07h  N BYTEs    ASCIZ file path
  5233.  
  5234. Format of reply buffer:
  5235. Offset    Size    Description
  5236.  00h    WORD    (call) size of following results record (max 1FEh)
  5237.  02h    WORD    (big-endian) count of tasks which have opened or logged file
  5238.  04h    WORD    (big-endian) count of tasks which have opened file
  5239.  06h    WORD    (big-endian) count of opens for reading
  5240.  08h    WORD    (big-endian) count of opens for writing
  5241.  0Ah    WORD    (big-endian) deny read count
  5242.  0Ch    WORD    (big-endian) deny write count
  5243.  0Eh    WORD    next request record (place in "last record" field on next call)
  5244.         0000h if no more records
  5245.  10h    BYTE    locked flag
  5246.         00h not locked exclusively
  5247.         else locked exclusively
  5248.  11h    BYTE    number of records following
  5249.  12h    var    array of File Usage Information Records (see below)
  5250.  
  5251. Format of File Usage Information Record:
  5252. Offset    Size    Description
  5253.  00h    WORD    (big-endian) logical connection number
  5254.  02h    BYTE    task number
  5255.  03h    BYTE    lock flags (see AH=E3h/SF=DBh)
  5256.  04h    BYTE    access flags (see AH=E3h/SF=DBh)
  5257.  05h    BYTE    lock type
  5258.         00h no lock
  5259.         FEh file lock
  5260.         FFh locked by Begin Share File Set
  5261. --------N-21E3--SFDD-------------------------
  5262. INT 21 - Novell NetWare - FILE SERVER - GET PHYSICAL RECORD LOCKS BY CONN&FILE
  5263.     AH = E3h subfn DDh
  5264.     DS:SI -> request buffer (see below)
  5265.     ES:DI -> reply buffer (see below)
  5266. Return: AL = status
  5267.         00h successful
  5268.         C6h no console rights
  5269.         FFh file not open
  5270. Notes:    this function is supported by Advanced NetWare 2.1+
  5271.     the calling workstation must have console operator privileges
  5272. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DEh,AH=E3h/SF=DFh
  5273.  
  5274. Format of request buffer:
  5275. Offset    Size    Description
  5276.  00h    WORD    0016h (length of following data)
  5277.  02h    BYTE    DDh (subfunction "Get Physical Record Locks by Connection and
  5278.             File")
  5279.  03h    WORD    (big-endian) logical connection number
  5280.  05h    WORD    (big-endian) last record seen (0000h on first call)
  5281.  07h    BYTE    volume number (00h-1Fh)
  5282.  08h    WORD    (big-endian) directory handle
  5283.  0Ah 14 BYTEs    ASCIZ filename
  5284.  
  5285. Format of reply buffer:
  5286. Offset    Size    Description
  5287.  00h    WORD    (call) size of following results record (max 1FEh)
  5288.  02h    WORD    next request record (place in "last record" on next call)
  5289.         0000h if no more records
  5290.  04h    BYTE    number of physical record locks
  5291.  05h    BYTE    number of records following
  5292.  06h    var    array of Physical Record Lock Info records (see below)
  5293.  
  5294. Format of Physical Record Lock Info:
  5295. Offset    Size    Description
  5296.  00h    BYTE    task number
  5297.  01h    BYTE    lock status (see below)
  5298.  02h    DWORD    (big-endian) starting offset of record in file
  5299.  06h    DWORD    (big-endian) ending offset of record in file
  5300.  
  5301. Bitfields for lock status:
  5302.  bit 0    exclusive lock
  5303.  bit 1    shareable lock
  5304.  bit 2    logged
  5305.  bit 6    lock held by TTS
  5306. --------N-21E3--SFDE-------------------------
  5307. INT 21 - Novell NetWare - FILE SERVER - GET PHYSICAL RECORD LOCKS BY FILE
  5308.     AH = E3h subfn DEh
  5309.     DS:SI -> request buffer (see below)
  5310.     ES:DI -> reply buffer (see below)
  5311. Return: AL = status
  5312.         00h successful
  5313.         C6h no console rights
  5314.         FFh file not open
  5315. Notes:    this function is supported by Advanced NetWare 2.1+
  5316.     the calling workstation must have console operator privileges
  5317. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DDh,AH=E3h/SF=DFh
  5318.  
  5319. Format of request buffer:
  5320. Offset    Size    Description
  5321.  00h    WORD    length of following data (max 104h)
  5322.  02h    BYTE    DEh (subfunction "Get Physical Record Locks by File")
  5323.  03h    WORD    (big-endian) last record seen (0000h on first call)
  5324.  05h    BYTE    directory handle
  5325.  06h    BYTE    length of filename
  5326.  07h  N BYTEs    ASCIZ filename
  5327.  
  5328. Format of reply buffer:
  5329. Offset    Size    Description
  5330.  00h    WORD    (call) size of following results record (max 1FEh)
  5331.  02h    WORD    next request record (place in "last record" on next call)
  5332.         0000h if no more records
  5333.  04h    BYTE    number of physical record locks
  5334.  05h    BYTE    number of records following
  5335.  06h    var    array of Physical Record Lock Info records (see below)
  5336.  
  5337. Format of Physical Record Lock Info:
  5338. Offset    Size    Description
  5339.  00h    WORD    (big-endian) number of tasks logging record
  5340.  02h    WORD    (big-endian) number of tasks with shareable lock
  5341.  04h    DWORD    (big-endian) starting offset of record in file
  5342.  08h    DWORD    (big-endian) ending offset of record in file
  5343.  0Ch    WORD    (big-endian) logical connection number
  5344.  0Eh    BYTE    task number
  5345.  0Fh    BYTE    lock type
  5346.         00h none
  5347.         FEh file lock
  5348.         FFh Begin Share File Set lock
  5349. --------N-21E3--SFDF-------------------------
  5350. INT 21 - Novell NetWare - FILE SERVER - GET LOGICAL RECORDS BY CONNECTION
  5351.     AH = E3h subfn DFh
  5352.     DS:SI -> request buffer (see below)
  5353.     ES:DI -> reply buffer (see below)
  5354. Return: AL = status
  5355.         00h successful
  5356.         C6h no console rights
  5357. Notes:    this function is supported by Advanced NetWare 2.1+
  5358.     the calling workstation must have console operator privileges
  5359. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DDh,AH=E3h/SF=E0h,AH=E3h/SF=E2h
  5360.  
  5361. Format of request buffer:
  5362. Offset    Size    Description
  5363.  00h    WORD    0005h (length of following data)
  5364.  02h    BYTE    DFh (subfunction "Get Logical Records By Connection")
  5365.  03h    WORD    (big-endian) logical connection number
  5366.  05h    WORD    (big-endian) last record seen (0000h on first call)
  5367.  
  5368. Format of reply buffer:
  5369. Offset    Size    Description
  5370.  00h    WORD    (call) size of following results record (max 1FEh)
  5371.  02h    WORD    next request record (place in "last record" field on next call)
  5372.         0000h if no more locked records
  5373.  09h    BYTE    number of records following
  5374.  0Ah    var    array of Logical Lock Information Records (see below)
  5375.  
  5376. Format of Logical Lock Information Record:
  5377. Offset    Size    Description
  5378.  00h    BYTE    task number
  5379.  01h    BYTE    lock status (see AH=E3h/SF=DDh)
  5380.  02h    BYTE    length of logical lock's name
  5381.  03h  N BYTEs    logical lock's name
  5382. --------N-21E3--SFE0-------------------------
  5383. INT 21 - Novell NetWare - FILE SERVER - GET LOGICAL RECORD INFORMATION
  5384.     AH = E3h subfn E0h
  5385.     DS:SI -> request buffer (see below)
  5386.     ES:DI -> reply buffer (see below)
  5387. Return: AL = status
  5388.         00h successful
  5389.         C6h no console rights
  5390. Notes:    this function is supported by Advanced NetWare 2.1+
  5391.     the calling workstation must have console operator privileges
  5392. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DDh,AH=E3h/SF=DFh,AH=E3h/SF=E2h
  5393.  
  5394. Format of request buffer:
  5395. Offset    Size    Description
  5396.  00h    WORD    length of following data (max 67h)
  5397.  02h    BYTE    E0h (subfunction "Get Logical Record Information")
  5398.  03h    WORD    (big-endian) last record seen (0000h on first call)
  5399.  05h    BYTE    length of logical record's name
  5400.  06h  N BYTEs    logical record's name
  5401.  
  5402. Format of reply buffer:
  5403. Offset    Size    Description
  5404.  00h    WORD    (call) size of following results record (max 200h)
  5405.  02h    WORD    (big-endian) number of logical connections logging the record
  5406.  04h    WORD    (big-endian) number of logical connections with shareable lock
  5407.  06h    WORD    (big-endian) next request record (place in "last record" field
  5408.             on next call)
  5409.  08h    BYTE    locked exclusively if nonzero
  5410.  09h    BYTE    number of records following
  5411.  0Ah    var    array of Task Information Records (see below)
  5412.  
  5413. Format of Task Information Record:
  5414. Offset    Size    Description
  5415.  00h    WORD    (big-endian) logical connection number
  5416.  02h    BYTE    task number
  5417.  03h    BYTE    lock status (see AH=E3h/SF=DDh)
  5418. --------N-21E3--SFE1-------------------------
  5419. INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S SEMAPHORES
  5420.     AH = E3h subfn E1h
  5421.     DS:SI -> request buffer (see below)
  5422.     ES:DI -> reply buffer (see below)
  5423. Return: AL = status
  5424.         00h successful
  5425.         C6h no console rights
  5426. Notes:    this function is supported by Advanced NetWare 2.1+
  5427.     the calling workstation must have console operator privileges
  5428. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DBh,AH=E3h/SF=DFh,AH=E3h/SF=E2h
  5429.  
  5430. Format of request buffer:
  5431. Offset    Size    Description
  5432.  00h    WORD    0005h (length of following data)
  5433.  02h    BYTE    E1h (subfunction "Get Connection's Semaphores")
  5434.  03h    WORD    (big-endian) logical connection number
  5435.  05h    WORD    (big-endian) last record seen (0000h on first call)
  5436.  
  5437. Format of reply buffer:
  5438. Offset    Size    Description
  5439.  00h    WORD    (call) size of following results record (max 1FEh)
  5440.  02h    WORD    next request record (place in "last record" field on next call)
  5441.  04h    BYTE    number of records following
  5442.  05h    var    array of Semaphore Information Records
  5443.  
  5444. Format of Semaphore Information Record:
  5445. Offset    Size    Description
  5446.  00h    WORD    (big-endian) open count
  5447.  02h    BYTE    semaphore value (-128 to 127)
  5448.  03h    BYTE    task number
  5449.  04h    BYTE    lock type
  5450.  05h    BYTE    length of semaphore's name
  5451.  06h  N BYTEs    semaphore's name
  5452.      14 BYTEs    filename
  5453. --------N-21E3--SFE2-------------------------
  5454. INT 21 - Novell NetWare - FILE SERVER - GET SEMAPHORE INFORMATION
  5455.     AH = E3h subfn E2h
  5456.     DS:SI -> request buffer (see below)
  5457.     ES:DI -> reply buffer (see below)
  5458. Return: AL = status
  5459.         00h successful
  5460.         C6h no console rights
  5461. Notes:    this function is supported by Advanced NetWare 2.1+
  5462.     the calling workstation must have console operator privileges
  5463. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=E1h
  5464.  
  5465. Format of request buffer:
  5466. Offset    Size    Description
  5467.  00h    WORD    length of following data (max 83h)
  5468.  02h    BYTE    E2h (subfunction "Get LAN Driver's Configuration Information")
  5469.  03h    WORD    (big-endian) last record seen (0000h on first call)
  5470.  05h    BYTE    length of semaphore's name (01h-7Fh)
  5471.  06h  N BYTEs    semaphore's name
  5472.  
  5473. Format of reply buffer:
  5474. Offset    Size    Description
  5475.  00h    WORD    (call) size of following results buffer (max 1FEh)
  5476.  02h    WORD    next request record (place in "last record" on next call)
  5477.         0000h if no more
  5478.  04h    WORD    (big-endian) number of logical connections opening semaphore
  5479.  06h    BYTE    semaphore value (-127 to 128)
  5480.  07h    BYTE    number of records following
  5481.  08h    var    array of Semaphore Information records (see below)
  5482.  
  5483. Format of Semaphore Information:
  5484. Offset    Size    Description
  5485.  00h    WORD    (big-endian) logical connection number
  5486.  02h    BYTE    task number
  5487. --------N-21E3--SFE3-------------------------
  5488. INT 21 - Novell NetWare - FILE SERVER - GET LAN DRIVER'S CONFIGURATION INFO
  5489.     AH = E3h subfn E3h
  5490.     DS:SI -> request buffer (see below)
  5491.     ES:DI -> reply buffer (see below)
  5492. Return: AL = status
  5493.         00h successful
  5494.         C6h no console rights
  5495. Notes:    this function is supported by Advanced NetWare 2.1+
  5496.     the calling workstation must have console operator privileges
  5497. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=E7h,AH=E3h/SF=E8h
  5498.  
  5499. Format of request buffer:
  5500. Offset    Size    Description
  5501.  00h    WORD    0002h (length of following data)
  5502.  02h    BYTE    E3h (subfunction "Get LAN Driver's Configuration Information")
  5503.  03h    BYTE    LAN board (00h-03h)
  5504.  
  5505. Format of reply buffer:
  5506. Offset    Size    Description
  5507.  00h    WORD    (call) 00ACh (size of following results buffer)
  5508.  02h  4 BYTEs    network number
  5509.  06h  6 BYTEs    node number
  5510.  0Ch    BYTE    LAN driver installed (00h no--remaining fields invalid)
  5511.  0Dh    BYTE    option number selected at configuration time
  5512.  0Eh 160 BYTEs    configuration text
  5513.         ASCIZ hardware type
  5514.         ASCIZ hardware settings
  5515. --------N-21E3--SFE5-------------------------
  5516. INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S USAGE STATISTICS
  5517.     AH = E3h subfn E5h
  5518.     DS:SI -> request buffer (see below)
  5519.     ES:DI -> reply buffer (see below)
  5520. Return: AL = status
  5521.         00h successful
  5522.         C6h no console rights
  5523. Notes:    this function is supported by Advanced NetWare 2.1+
  5524.     one must have console operator privileges to get statistics for logical
  5525.       connections other than one's own
  5526. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DAh,AH=E3h/SF=DBh,AH=E3h/SF=E1h
  5527.  
  5528. Format of request buffer:
  5529. Offset    Size    Description
  5530.  00h    WORD    0003h (length of following data)
  5531.  02h    BYTE    E5h (subfunction "Get Connection's Usage Statistics")
  5532.  03h    WORD    (big-endian) logical connection number
  5533.  
  5534. Format of reply buffer:
  5535. Offset    Size    Description
  5536.  00h    WORD    (call) 0014h (size of following results record)
  5537.  02h    DWORD    (big-endian) clock ticks since server started
  5538.  06h  6 BYTEs    bytes read
  5539.  0Ch  6 BYTEs    bytes written
  5540.  12h    DWORD    (big-endian) total request packets
  5541. --------N-21E3--SFE6-------------------------
  5542. INT 21 - Novell NetWare - FILE SERVER - GET BINDERY OBJECT DISK SPACE LEFT
  5543.     AH = E3h subfn E6h
  5544.     DS:SI -> request buffer (see below)
  5545.     ES:DI -> reply buffer (see below)
  5546. Return: AL = status
  5547.         00h successful
  5548.         C6h no console rights
  5549. Notes:    this function is supported by Advanced NetWare 2.1+
  5550.     one must have console operator privileges to get the free space for
  5551.       other bindery objects
  5552. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=E8h,AH=E3h/SF=E9h
  5553.  
  5554. Format of request buffer:
  5555. Offset    Size    Description
  5556.  00h    WORD    0005h (length of following data)
  5557.  02h    BYTE    E6h (subfunction "Get Bindery Object Disk Space Left")
  5558.  03h    DWORD    (big-endian) object ID
  5559.  
  5560. Format of reply buffer:
  5561. Offset    Size    Description
  5562.  00h    WORD    (call) 000Fh (size of following results buffer)
  5563.  02h    DWORD    (big-endian) clock ticks elapsed since server started
  5564.  06h    DWORD    (big-endian) object ID
  5565.  0Ah    DWORD    (big-endian) 4K disk blocks available to user
  5566.  0Eh    BYTE    restrictions (00h enforced, FFh not enforced)
  5567. --------N-21E3--SFE7-------------------------
  5568. INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER LAN I/O STATISTICS
  5569.     AH = E3h subfn E7h
  5570.     DS:SI -> request buffer (see below)
  5571.     ES:DI -> reply buffer (see below)
  5572. Return: AL = status
  5573.         00h successful
  5574. Note:    this function is supported by Advanced NetWare 2.1+
  5575. SeeAlso: AH=E3h/SF=0Eh,AH=E3h/SF=11h,AH=E3h/SF=D3h,AH=E3h/SF=E8h,AH=E7h
  5576.  
  5577. Format of request buffer:
  5578. Offset    Size    Description
  5579.  00h    WORD    0001h (length of following data)
  5580.  02h    BYTE    E7h (subfunction "Get File Server LAN I/O Statistics")
  5581.  
  5582. Format of reply buffer:
  5583. Offset    Size    Description
  5584.  00h    WORD    (call) 0042h (size of following results buffer)
  5585.  02h    DWORD    clock ticks since system started
  5586.  06h    WORD    total routing buffers
  5587.  08h    WORD    maximum routing buffers used
  5588.  0Ah    WORD    current routing buffers used
  5589.  0Ch    DWORD    total file service packets
  5590.  10h    WORD    number of file service packets buffered
  5591.  12h    WORD    number of invalid connection packets
  5592.  14h    WORD    packets with bad logical connection numbers
  5593.  16h    WORD    number of packets received during processing
  5594.  18h    WORD    number of requests reprocessed
  5595.  1Ah    WORD    packets with bad sequence numbers
  5596.  1Ch    WORD    number of duplicate replies sent
  5597.  1Eh    WORD    number of acknowledgements sent
  5598.  20h    WORD    number of packets with bad request types
  5599.  22h    WORD    requests to attach to ws for which a request is being processed
  5600.  24h    WORD    requests to attach from ws which is already attaching
  5601.  26h    WORD    number of forged detach requests
  5602.  28h    WORD    detach requests with bad connection number
  5603.  2Ah    WORD    requests to detach from ws for which requests pending
  5604.  2Ch    WORD    number of cancelled replies
  5605.  2Eh    WORD    packets discarded due to excessive hop count
  5606.  30h    WORD    packets discarded due to unknown net
  5607.  32h    WORD    incoming packets discarded for lack of DGroup buffer
  5608.  34h    WORD    outgoing packets discarded due to lack of buffer
  5609.  36h    WORD    received packets destined for B,C, or D side drivers
  5610.  38h    DWORD    number of NetBIOS packets propagated through net
  5611.  3Ch    DWORD    total number of non-file-service packets
  5612.  40h    DWORD    total number of routed packets
  5613. Note:    all fields except the first are big-endian
  5614. --------N-21E3--SFE8-------------------------
  5615. INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER MISC INFORMATION
  5616.     AH = E3h subfn E8h
  5617.     DS:SI -> request buffer (see below)
  5618.     ES:DI -> reply buffer (see below)
  5619. Return: AL = status
  5620.         00h successful
  5621.         C6h no console rights
  5622. Note:    this function is supported by Advanced NetWare 2.1+
  5623. SeeAlso: AH=E3h/SF=0Eh,AH=E3h/SF=11h,AH=E3h/SF=CDh,AH=E3h/SF=E7h
  5624.  
  5625. Format of request buffer:
  5626. Offset    Size    Description
  5627.  00h    WORD    0001h (length of following data)
  5628.  02h    BYTE    E8h (subfunction "Get File Server Misc Information")
  5629.  
  5630. Format of reply buffer:
  5631. Offset    Size    Description
  5632.  00h    WORD    (call) size of following results buffer (max 0048h)
  5633.  02h    DWORD    (big-endian) clock ticks since system started
  5634.  06h    BYTE    CPU type
  5635.         00h Motorola 68000
  5636.         01h Intel 8086, 8088, or V20
  5637.         02h Intel 80286+
  5638.  07h    BYTE    reserved
  5639.  08h    BYTE    number of service processes in server
  5640.  09h    BYTE    server utilization in percent
  5641.  0Ah    WORD    (big-endian) maximum bindery objects set by configuration
  5642.         0000h = unlimited
  5643.  0Ch    WORD    (big-endian) maximum number of bindery objects used
  5644.  0Eh    WORD    (big-endian) current number of bindery objects in use
  5645.  10h    WORD    (big-endian) total server memory in KB
  5646.  12h    WORD    (big-endian) wasted server memory in KB
  5647.         normally 0000h
  5648.  14h    WORD    number of records following (01h-03h)
  5649.  16h    var    array of Dynamic Memory Information records (see below)
  5650.  
  5651. Format of Dynamic Memory Information:
  5652. Offset    Size    Description
  5653.  00h    DWORD    (big-endian) total dynamic space
  5654.  04h    DWORD    (big-endian) maximum dynamic space used
  5655.  08h    DWORD    (big-endian) current dynamic space usage
  5656. --------N-21E3--SFE9-------------------------
  5657. INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME INFORMATION
  5658.     AH = E3h subfn E9h
  5659.     DS:SI -> request buffer (see below)
  5660.     ES:DI -> reply buffer (see below)
  5661. Return: AL = status
  5662.         00h successful
  5663. Notes:    this function is supported by Advanced NetWare 2.1+
  5664. SeeAlso: AH=DAh,AH=E2h/SF=15h
  5665.  
  5666. Format of request buffer:
  5667. Offset    Size    Description
  5668.  00h    WORD    0002h (length of following data)
  5669.  02h    BYTE    E9h (subfunction "Get Volume Information")
  5670.  03h    BYTE    directory handle
  5671.  
  5672. Format of reply buffer:
  5673. Offset    Size    Description
  5674.  00h    WORD    (call) 0028h (length of following results buffer)
  5675.  02h    DWORD    (big-endian) elapsed system time
  5676.  06h    BYTE    volume number
  5677.  07h    BYTE    logical drive number
  5678.  08h    WORD    (big-endian) sectors per block
  5679.  0Ah    WORD    (big-endian) starting block
  5680.  0Ch    WORD    (big-endian) total blocks on volume
  5681.  0Eh    WORD    (big-endian) blocks available on volume
  5682.  10h    WORD    (big-endian) total directory slots
  5683.  12h    WORD    (big-endian) directory slots available
  5684.  14h    WORD    (big-endian) maximum directory entries actually used
  5685.  16h    BYTE    flag: volume hashed if nonzero
  5686.  17h    BYTE    flag: volume cached if nonzero
  5687.  18h    BYTE    flag: volume removable if nonzero
  5688.  19h    BYTE    flag: volume mounted if nonzero
  5689.  1Ah 16 BYTEs    NUL-padded volume name
  5690. --------N-21E4-------------------------------
  5691. INT 21 O - Novell NetWare - SET FILE ATTRIBUTES (FCB)
  5692.     AH = E4h
  5693.     CL = file attributes (see below)
  5694.     DX:DX -> FCB (see AH=0Fh)
  5695. Return: AL = error code
  5696. Note:    this function was added in NetWare 4.0, but was removed some time prior
  5697.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  5698.       documentation
  5699. SeeAlso: AX=4301h
  5700.  
  5701. Bitfields for file attributes:
  5702.  bit 0    read only
  5703.  bit 1    hidden
  5704.  bit 2    system
  5705.  bit 7    shareable
  5706. --------v-21E4-------------------------------
  5707. INT 21 - VIRUS - "Anarkia" - INSTALLATION CHECK
  5708.     AH = E4h
  5709. Return: AH = 04h if resident
  5710. SeeAlso: AH=E1h"VIRUS",AH=E7h"VIRUS"
  5711. --------T-21E400-----------------------------
  5712. INT 21 - DoubleDOS - INSTALLATION CHECK/PROGRAM STATUS
  5713.     AX = E400h
  5714. Return: AL = 00h if DoubleDOS not present
  5715.        = 01h if running in visible DoubleDOS partition
  5716.        = 02h if running in the invisible DoubleDOS partition
  5717. SeeAlso: AH=E5h"DoubleDOS",AX=F400h
  5718. --------E-21E400-----------------------------
  5719. INT 21 - OS/286, OS/386 - CHAIN TO REAL-MODE HANDLER
  5720.     AX = E400h
  5721.     ???
  5722. Return: ???
  5723. Note:    protected mode only???
  5724. --------E-21E402-----------------------------
  5725. INT 21 - OS/286, OS/386 - SET PROTECTED-MODE TASK GATE
  5726.     AX = E402h
  5727.     ???
  5728. Return: ???
  5729. Note:    protected mode only???
  5730. SeeAlso: AX=E403h
  5731. --------E-21E403-----------------------------
  5732. INT 21 - OS/286, OS/386 - REMOVE PROTECTED-MODE TASK GATE
  5733.     AX = E403h
  5734.     ???
  5735. Return: ???
  5736. Note:    protected mode only???
  5737. SeeAlso: AX=E402h
  5738. --------N-21E5-------------------------------
  5739. INT 21 O - Novell NetWare - UPDATE FILE SIZE (FCB)
  5740.     AH = E5h
  5741.     DS:DX -> FCB (see AH=0Fh)
  5742. Return: AL = (unreliable) return code
  5743. Notes:    this function was added in NetWare 4.0, but was removed some time prior
  5744.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  5745.       documentation
  5746.     on success, NetWare sets AL to zero; on errors it restores AL
  5747. Return: AL = error code
  5748. --------T-21E5-------------------------------
  5749. INT 21 - DoubleDOS - OTHER PROGRAM STATUS
  5750.     AH = E5h
  5751. Return: AL = 00h no program in other partition
  5752.        = 01h program in other partition is running
  5753.        = 02h program in other partition is suspended
  5754. SeeAlso: AX=E400h"DoubleDOS",AH=F5h"DoubleDOS"
  5755. --------E-21E500-----------------------------
  5756. INT 21 - OS/286, OS/386 - HEAP MANAGEMENT STRATEGY
  5757.     AX = E500h
  5758.     ???
  5759. Return: ???
  5760. SeeAlso: AX=E501h
  5761. --------E-21E501-----------------------------
  5762. INT 21 - OS/286, OS/386 - FORCE HEAP COMPACTION
  5763.     AX = E501h
  5764.     ???
  5765. Return: ???
  5766. SeeAlso: AX=E500h
  5767. --------N-21E6-------------------------------
  5768. INT 21 O - Novell NetWare - COPY FILE TO FILE (FCB)
  5769.     AH = E6h
  5770.     CX:DX = number of bytes to copy
  5771.     DS:SI -> opened source FCB
  5772.     ES:DI -> opened destination FCB
  5773. Return: AL = error code
  5774.     CX = ???
  5775.     DX = ???
  5776. Note:    this function was added in NetWare 4.0, but was removed some time prior
  5777.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  5778.       documentation
  5779. --------E-21E6-------------------------------
  5780. INT 21 P - OS/286, OS/386 - ISSUE REAL PROCEDURE SIGNAL FROM PROTECTED MODE
  5781.     AH = E6h
  5782.     ???
  5783. Return: ???
  5784. SeeAlso: AH=E2h"OS/286"
  5785. --------N-21E7-------------------------------
  5786. INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER DATE AND TIME
  5787.     AH = E7h
  5788.     DS:DX -> date/time buffer (see below)
  5789. Return: AL = error code
  5790.         00h successful
  5791.         FFh unsuccessful
  5792. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+,
  5793.       Alloy NTNX, and Banyan VINES
  5794. SeeAlso: AH=2Ah,AH=2Ch,AX=5FC0h,AH=E3h/SF=CAh
  5795.  
  5796. Format of date/time buffer:
  5797. Offset    Size    Description
  5798.  00h    BYTE    year (80-99 = 1980-1999, 0-79 = 2000-2079)
  5799.  01h    BYTE    month (1=Jan)
  5800.  02h    BYTE    day
  5801.  03h    BYTE    hours
  5802.  04h    BYTE    minutes
  5803.  05h    BYTE    seconds
  5804.  06h    BYTE    day of week (0 = Sunday) (Novell and NTNX only)
  5805. --------E-21E7-------------------------------
  5806. INT 21 - OS/286, OS/386 - CREATE CODE SEGMENT
  5807.     AH = E7h
  5808.     ???
  5809. Return: ???
  5810. SeeAlso: AH=E8h"OS/286",AH=E9h"OS/286",AH=EAh"OS/286"
  5811. --------v-21E7-------------------------------
  5812. INT 21 - VIRUS - "Spyer"/"Kiev" - INSTALLATION CHECK
  5813.     AH = E7h
  5814. Return: AH = 78h if resident
  5815. SeeAlso: AH=E4h"VIRUS",AX=EC59h
  5816. --------N-21E8-------------------------------
  5817. INT 21 O - Novell NetWare, Alloy NTNX - SET FCB RE-OPEN MODE
  5818.     AH = E8h
  5819.     DL = mode
  5820.         00h no automatic re-open
  5821.         01h auto re-open
  5822. Return: AL = error code
  5823. Desc:    provided backward compatibility with a bug in CP/M and early DOS vers
  5824. Note:    this function was added in NetWare 4.6, but was removed some time prior
  5825.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  5826.       documentation
  5827. --------E-21E8-------------------------------
  5828. INT 21 - OS/286, OS/386 - SEGMENT CREATION
  5829.     AH = E8h
  5830.     AL = type
  5831.         00h data segment
  5832.         01h data window/alias
  5833.         02h real segment
  5834.         03h real window/alias
  5835.         06h shareable segment
  5836.     ???
  5837. Return: ???
  5838. SeeAlso: AH=E7h"OS/286",AH=E9h"OS/286"
  5839. --------T-21E8-------------------------------
  5840. INT 21 - DoubleDOS - SET/RESET KEYBOARD CONTROL FLAGS
  5841.     AH = E8h
  5842.     AL = 00h set flags for this program
  5843.        = 01h set flags for other program
  5844.     DX = keyboard control flags (see below)
  5845. Return: DX = previous flags
  5846. Notes:    disabling Ctrl-PrtSc will allow the program to intercept the keystroke;
  5847.       disabling any of the other keystrokes disables them completely
  5848.     identical to AH=F8h
  5849. SeeAlso: AH=E1h"DoubleDOS",AH=E2h"DoubleDOS",AH=E3h"DoubleDOS"
  5850. SeeAlso: AH=F8h"DoubleDOS"
  5851.  
  5852. Bitfields for keyboard control flags:
  5853.  bit 0    menu
  5854.  bit 1    exchange
  5855.  bit 2    entire keyboard enable/disable
  5856.  bit 3    Ctrl-C
  5857.  bit 4    Ctrl-PrtSc
  5858.  bit 5    Alt/Erase
  5859.  bit 6    Ctrl-Break
  5860.  bit 7    Ctrl-NumLock
  5861.  bit 8    shift-PrtSc
  5862.  bit 9-13 undefined
  5863.  bit 14 cancel key (clear keyboard buffer)
  5864.  bit 15 suspend key
  5865. Note:    setting a bit enables the corresponding key or operatin, clearing a
  5866.       bit disables it
  5867. --------E-21E9-------------------------------
  5868. INT 21 P - OS/286, OS/386 - CHANGE SEGMENTS
  5869.     AH = E9h
  5870.     AL = function
  5871.         01h change code segment parameters
  5872.         02h change data segment parameters
  5873.         05h adjust segment limit
  5874.         06h change segment base address
  5875.     ???
  5876. Return: ???
  5877. SeeAlso: AH=E7h"OS/286",AH=E8h"OS/286",AH=EAh"OS/286",AH=EDh"OS/286"
  5878. SeeAlso: INT 31/AX=0007h,INT 31/AX=0008h
  5879. --------T-21E9-------------------------------
  5880. INT 21 - DoubleDOS - SET TIMESHARING PRIORITY
  5881.     AH = E9h
  5882.     AL = 00h visible program gets 70%, invisible gets 30% (default)
  5883.        = 01h visible program gets 50%, invisible gets 50%
  5884.        = 02h visible program gets 30%, invisible gets 70%
  5885.        = 03h Top program gets 70%, bottom program gets 30%
  5886.        = 04h Top program gets 30%, bottom program gets 70%
  5887.        = 05h get current priority
  5888.         Return: AL = priority setting
  5889. Note:    identical to AH=F9h
  5890. SeeAlso: AH=EAh"DoubleDOS",AH=EBh"DoubleDOS",AH=F9h"DoubleDOS"
  5891. --------N-21E900-----------------------------
  5892. INT 21 - Novell NetWare - DIRECTORY SERVICES - GET DIRECTORY HANDLE
  5893.     AX = E900h
  5894.     DX = drive number to check (0 = A:, ..., 25 = Z:, 26 ... 31)
  5895. Return: AL = directory handle
  5896.     AH = flags (drive not mapped if none set)
  5897.         bit 0: permanent handle
  5898.         bit 1: temporary handle
  5899.         bit 7: mapped to local drive
  5900. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  5901.       Alloy NTNX
  5902. SeeAlso: AH=E2h/SF=00h,AH=E2h/SF=01h,AH=E2h/SF=0Ah
  5903. --------N-21E905-----------------------------
  5904. INT 21 - Novell NetWare shell 3.01 - MAP A FAKE ROOT DIRECTORY
  5905.     AX = E905h
  5906.     BL = drive number (0=default, 1=A:, ...)
  5907.     DS:DX -> ASCIZ path for fake root (may include server name or be empty)
  5908. Return: CF set on error
  5909.         AL = error code (03h,0Fh,11h) (see AH=59h)
  5910.     CF clear if successful
  5911. Note:    if drive is not currently mapped, a drive mapping will be created
  5912. SeeAlso: AX=E906h
  5913. --------N-21E906-----------------------------
  5914. INT 21 - Novell NetWare shell 3.01 - DELETE FAKE ROOT DIRECTORY
  5915.     AX = E906h
  5916.     BL = drive number (0=default, 1=A:, ...)
  5917. Note:    drive remains mapped
  5918. SeeAlso: AX=E905h
  5919. --------N-21E907-----------------------------
  5920. INT 21 - Novell NetWare shell 3.01 - GET RELATIVE DRIVE DEPTH
  5921.     AX = E907h
  5922.     BL = drive number (0=default, 1=A:, ...)
  5923. Return: AL = number of directories below the fake root
  5924.         FFh if no fake root assigned
  5925. SeeAlso: AX=E905h
  5926. --------N-21E908BL00-------------------------
  5927. INT 21 - Novell NetWare shell 3.01 - SET SHOW DOTS
  5928.     AX = E908h
  5929.     BL = 00h    don't return '.' or '..' during directory scans
  5930.        = nonzero    directory scans will return '.' or '..' entries
  5931. Return: BL = previous show-dots setting
  5932. --------N-21EA-------------------------------
  5933. INT 21 - Novell NetWare, Alloy NTNX - RETURN SHELL VERSION
  5934.     AH = EAh
  5935.     AL = return version environment string
  5936.         00h        don't return string
  5937.         nonzero    return string in 40-byte buffer pointed to by ES:DI
  5938.         Return: buffer filled with three null-terminated entries:
  5939.             major operating system
  5940.             version
  5941.             hardware type
  5942. Return: AH = operating system (00h = MS-DOS)
  5943.     AL = hardware type
  5944.         00h IBM PC
  5945.         01h Victor 9000
  5946.     BH = major shell version
  5947.     BL = minor shell version
  5948.     CH = (v3.01+) shell type
  5949.         00h conventional memory
  5950.         01h expanded memory
  5951.         02h extended memory
  5952.     CL = shell revision number
  5953. Note:    this function is supported by NetWare 4.6 and Advanced NetWare 1.0+
  5954. --------T-21EA-------------------------------
  5955. INT 21 - DoubleDOS - TURN OFF TASK SWITCHING
  5956.     AH = EAh
  5957. Return: task switching turned off
  5958. SeeAlso: AH=E9h"DoubleDOS",AH=EBh"DoubleDOS",AH=FAh"DoubleDOS"
  5959. SeeAlso: INT FA"DoubleDOS"
  5960. --------E-21EA-------------------------------
  5961. INT 21 - OS/286, OS/386 - ALLOCATE HUGE SEGMENT
  5962.     AH = EAh
  5963.     ???
  5964. Return: ???
  5965. Note:    protected mode only???
  5966. SeeAlso: AH=E7h"OS/286",AH=E8h"OS/286",AH=E9h"OS/286"
  5967. --------N-21EB-------------------------------
  5968. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOG FILE
  5969.     AH = EBh
  5970.     DS:DX -> ASCIZ filename
  5971.     if function C6h lock mode 01h:
  5972.         AL = flags
  5973.         00h log file only
  5974.         01h lock as well as log file
  5975.             BP = lock timeout in timer ticks (1/18 second)
  5976.             0000h = don't wait if file already locked
  5977. Return: AL = error code
  5978.         00h successful
  5979.         96h no dynamic memory for file
  5980.         FEh timed out
  5981.         FFh failed
  5982. Desc:    add the location and size of the specified file to the log table and
  5983.       optionally lock the file
  5984. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  5985.       Alloy NTNX
  5986. SeeAlso: AH=BCh"NetWare",AH=CAh,AH=D0h,AH=ECh"NetWare",AH=EDh"NetWare"
  5987. --------T-21EB-------------------------------
  5988. INT 21 - DoubleDOS - TURN ON TASK SWITCHING
  5989.     AH = EBh
  5990. Return: task switching turned on
  5991. SeeAlso: AH=E9h"DoubleDOS",AH=EAh"DoubleDOS",AH=FBh"DoubleDOS"
  5992. SeeAlso: INT FB"DoubleDOS"
  5993. --------E-21EB00-----------------------------
  5994. INT 21 - OS/386 VMM - GET A PAGE TABLE ENTRY BY LINEAR ADDRESS
  5995.     AX = EB00h
  5996.     ???
  5997. Return: ???
  5998. Note:    protected mode only???
  5999. SeeAlso: AX=EB02h,AX=EB04h,INT 31/AX=0506h
  6000. --------E-21EB02-----------------------------
  6001. INT 21 - OS/386 VMM - GET A PAGE TABLE ENTRY BY 16-BIT SEGMENT:OFFSET
  6002.     AX = EB02h
  6003.     ???
  6004. Return: ???
  6005. Note:    protected mode only???
  6006. SeeAlso: AX=EB00h,AX=EB04h
  6007. --------E-21EB03-----------------------------
  6008. INT 21 - OS/386 VMM - FREE MAPPED PAGES
  6009.     AX = EB03h
  6010.     ???
  6011. Return: ???
  6012. Note:    protected mode only???
  6013. SeeAlso: AX=EB05h,INT 31/AX=0801h
  6014. --------E-21EB04-----------------------------
  6015. INT 21 - OS/386 VMM - GET A PAGE TABLE ENTRY BY 32-BIT SEGMENT:OFFSET
  6016.     AX = EB04h
  6017.     ???
  6018. Return: ???
  6019. Note:    protected mode only???
  6020. SeeAlso: AX=EB00h,AX=EB02h
  6021. --------E-21EB05-----------------------------
  6022. INT 21 - OS/386 VMM - MAP PAGES
  6023.     AX = EB05h
  6024.     ???
  6025. Return: ???
  6026. Note:    protected mode only???
  6027. SeeAlso: AX=EB03h,INT 31/AX=0800h
  6028. --------E-21EB06-----------------------------
  6029. INT 21 - OS/386 VMM - LOCK PAGES IN MEMORY
  6030.     AX = EB06h
  6031.     ???
  6032. Return: ???
  6033. Note:    protected mode only???
  6034. SeeAlso: AX=EB07h,INT 31/AX=0600h
  6035. --------E-21EB07-----------------------------
  6036. INT 21 - OS/386 VMM - UNLOCK MEMORY PAGES
  6037.     AX = EB07h
  6038.     ???
  6039. Return: ???
  6040. Note:    protected mode only???
  6041. SeeAlso: AX=EB06h,INT 31/AX=0601h
  6042. --------N-21EC-------------------------------
  6043. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE FILE
  6044.     AH = ECh
  6045.     DS:DX -> ASCIZ filename
  6046. Return: AL = status
  6047.         00h successful
  6048.         FFh file not found
  6049. Desc:    unlock the specified file but retain it in the log table
  6050. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  6051.       Alloy NTNX
  6052. SeeAlso: AH=CDh,AH=EBh"NetWare",AH=EDh"NetWare"
  6053. --------T-21EC-------------------------------
  6054. INT 21 - DoubleDOS - GET VIRTUAL SCREEN ADDRESS
  6055.     AH = ECh
  6056. Return: ES = segment of virtual screen
  6057. Desc:    determine the address of the virtual screen to which the program
  6058.       should write instead of the actual video memory, so that the
  6059.       multitasked programs do not interfere with each other's output
  6060. Notes:    screen address can change if task-switching is on!!
  6061.     identical to AH=FCh
  6062. SeeAlso: INT 10/AH=FEh,AH=FCh"DoubleDOS",INT FC"DoubleDOS"
  6063. --------E-21EC-------------------------------
  6064. INT 21 - OS/286, OS/386 - BLOCK TRANSFER
  6065.     AH = ECh
  6066.     ???
  6067. Return: ???
  6068. --------v-21EC59-----------------------------
  6069. INT 21 - VIRUS - "Terror" - INSTALLATION CHECK
  6070.     AX = EC59h
  6071. Return: BP = EC59h if resident
  6072. SeeAlso: AH=E7h"VIRUS",AH=EEh"VIRUS"
  6073. --------N-21ED-------------------------------
  6074. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR FILE
  6075.     AH = EDh
  6076.     DS:DX -> ASCIZ filename
  6077. Return: AL = status
  6078.         00h successful
  6079.         FFh no files found
  6080. Desc:    unlock the file and remove it from the log table
  6081. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  6082.       Alloy NTNX
  6083. SeeAlso: AH=CBh"NetWare",AH=CEh,AH=CFh,AH=EBh"NetWare",AH=ECh"NetWare"
  6084. --------E-21ED-------------------------------
  6085. INT 21 - OS/286, OS/386 - GET SEGMENT OR WINDOW DESCRIPTOR
  6086.     AH = EDh
  6087.     ???
  6088. Return: ???
  6089. Note:    protected mode only???
  6090. SeeAlso: AH=E9h"OS/286"
  6091. --------N-21EE-------------------------------
  6092. INT 21 - Novell NetWare - CONNECTION SERVICES - GET PHYSICAL STATION ADDRESS
  6093.     AH = EEh
  6094. Return: CX:BX:AX = six-byte physical address
  6095. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  6096.       Alloy NTNX
  6097. SeeAlso: AH=E3h/SF=13h
  6098. --------T-21EE-------------------------------
  6099. INT 21 - DoubleDOS - GIVE AWAY TIME TO OTHER TASKS
  6100.     AH = EEh
  6101.     AL = number of 55ms time slices to give away
  6102. Return: returns after giving away time slices
  6103. SeeAlso: AH=FEh"DoubleDOS",INT FE"DoubleDOS"
  6104. --------v-21EE-------------------------------
  6105. INT 21 - VIRUS - "Jerusalem-G", "Pregnant" - INSTALLATION CHECK
  6106.     AH = EEh
  6107. Return: AX = 0300h if "Jerusalem-G" resident
  6108.     AL = 05h if "Pregnant" resident
  6109. SeeAlso: AH=DDh"VIRUS",AX=EC59h,AH=F0h"VIRUS"
  6110. --------N-21EF00-----------------------------
  6111. INT 21 - Novell NetWare - WORKSTATION - GET DRIVE HANDLE TABLE
  6112.     AX = EF00h
  6113. Return: ES:SI -> network shell's 32-byte drive handle table
  6114.     AX = 0000h
  6115. Notes:    this function is supported by Advanced NetWare 1.0+
  6116.     each byte in the drive handle table contains the directory handle for
  6117.       the corresponding drive, or 00h if not mapped to a directory
  6118. SeeAlso: AX=EF01h,AX=EF02h,AX=EF03h,AX=EF04h
  6119. --------N-21EF01-----------------------------
  6120. INT 21 - Novell NetWare - WORKSTATION - GET DRIVE FLAG TABLE
  6121.     AX = EF01h
  6122. Return: ES:SI -> network shell's 32-byte drive flag table (see below)
  6123.     AX = 0000h
  6124. Notes:    this function is supported by Advanced NetWare 1.0+
  6125.     each byte in the drive flag table corresponds to a drive
  6126. SeeAlso: AX=EF00h,AX=EF02h,AX=EF03h
  6127.  
  6128. Values in drive flag table:
  6129.  00h    drive is not mapped
  6130.  01h    permanent network drive
  6131.  02h    temporary network drive
  6132.  80h    mapped to local drive
  6133.  81h    local drive used as permanent network drive
  6134.  82h    local drive used as temporary network drive
  6135. --------N-21EF02-----------------------------
  6136. INT 21 - Novell NetWare - WORKSTATION - GET DRIVE CONNECTION ID TABLE
  6137.     AX = EF02h
  6138. Return: ES:SI -> network shell's 32-byte drive conection ID table
  6139.     AX = 0000h
  6140. Notes:    this function is supported by Advanced NetWare 1.0+
  6141.     each byte in the connection ID table corresponds to a drive and
  6142.       contains either the connection ID (1-8) of the server for that drive
  6143.       or 00h if the drive is not mapped to a file server
  6144. SeeAlso: AX=EF01h,AX=EF03h,AX=F002h
  6145. --------N-21EF03-----------------------------
  6146. INT 21 - Novell NetWare - WORKSTATION - GET CONNECTION ID TABLE
  6147.     AX = EF03h
  6148. Return: ES:SI -> network shell's connection ID table (see below)
  6149.     AX = 0000h
  6150. Note:    this function is supported by Advanced NetWare 1.0+
  6151. SeeAlso: AX=EF00h,AX=EF02h,AX=EF04h,AX=F002h
  6152.  
  6153. Format of connection ID table [one entry of eight-element array]:
  6154. Offset    Size    Description
  6155.  00h    BYTE    in use flag
  6156.         E0h AES temporary
  6157.         F8h IPX in critical section
  6158.         FAh processing
  6159.         FBh holding
  6160.         FCh AES waiting
  6161.         FDh waiting
  6162.         FEh receiving
  6163.         FFh sending
  6164.  01h    BYTE    order number assigned to server (1-8)
  6165.  02h    DWORD    (big-endian) file server's network address
  6166.  06h  6 BYTEs    (big-endian) file server's node address
  6167.  0Ch    WORD    (big-endian) socket number
  6168.  0Eh    WORD    (big-endian) base receive timeout in clock ticks
  6169.  10h  6 BYTEs    (big-endian) preferred routing node
  6170.  16h    BYTE    packet sequence number
  6171.  17h    BYTE    connection number (FFh = no connection)
  6172.  18h    BYTE    connection status (00h if active)
  6173.  19h    WORD    (big-endian) maximum receive timeout in clock ticks
  6174.  1Bh  5 BYTEs    reserved
  6175. --------N-21EF04-----------------------------
  6176. INT 21 - Novell NetWare - WORKSTATION - GET FILE SERVER NAME TABLE
  6177.     AX = EF04h
  6178. Return: ES:SI -> network shell's file server name table (see below)
  6179.     AX = 0000h
  6180. Notes:    this function is supported by Advanced NetWare 1.0+
  6181.     the name table consists of eight 48-byte entries, each consisting of
  6182.       an ASCIZ server name for the corresponding entry in the connection
  6183.       ID table
  6184. SeeAlso: AX=EF03h
  6185. --------T-21F0-------------------------------
  6186. INT 21 - DoubleDOS - MENU CONTROL
  6187.     AH = F0h
  6188.     AL = subfunction
  6189.         01h exchange tasks
  6190.         73h resume invisible job if suspended
  6191.         74h kill other job
  6192.         75h suspend invisible job
  6193. Note:    identical to AH=E0h
  6194. SeeAlso: AH=E0h"DoubleDOS"
  6195. --------v-21F0-------------------------------
  6196. INT 21 - VIRUS - "Frere Jacques" - INSTALLATION CHECK
  6197.     AH = F0h
  6198. Return: AX = 0300h if resident
  6199. SeeAlso: AH=EEh"VIRUS",AH=F1h"VIRUS"
  6200. --------N-21F000-----------------------------
  6201. INT 21 - Novell NetWare - WORKSTATION - SET PREFERRED CONNECTION ID
  6202.     AX = F000h
  6203.     DL = connection ID of prefered file server (1-8) or 00h for none
  6204. Notes:    this function is supported by Advanced NetWare 1.0+
  6205.     the preferred connection ID is set to 00h by the shell on EOJ
  6206. SeeAlso: AH=D6h,AX=EF03h,AX=F001h,AX=F002h,AX=F005h
  6207. --------N-21F001-----------------------------
  6208. INT 21 - Novell NetWare - WORKSTATION - GET PREFERRED CONNECTION ID
  6209.     AX = F001h
  6210. Return: AL = connection ID of preferred file server (1-8), 00h if not set
  6211. Notes:    this function is supported by Advanced NetWare 1.0+
  6212.     the preferred connection ID is set to 00h by the shell on EOJ
  6213. SeeAlso: AH=D6h,AX=EF03h,AX=F000h,AX=F002h,AX=F005h
  6214. --------N-21F002-----------------------------
  6215. INT 21 - Novell NetWare - WORKSTATION - GET DEFAULT CONNECTION ID
  6216.     AX = F002h
  6217. Return: AL = connection ID of current default file server (1-8) (see AX=EF03h)
  6218. Note:    this function is supported by Advanced NetWare 1.0+
  6219. SeeAlso: AX=EF03h,AX=F000h,AX=F004h
  6220. --------N-21F003-----------------------------
  6221. INT 21 - Novell NetWare - PRINT SERVICES - GET LPT CAPTURE STATUS
  6222.     AX = F003h
  6223. Return: AH = status
  6224.         00h not active
  6225.         FFh active
  6226.         AL = connection ID (01h-08h)
  6227. Note:    this function is supported by Advanced NetWare 1.0+
  6228. SeeAlso: AX=B800h,AX=B804h,AH=DFh/DL=00h,AH=DFh/DL=04h
  6229. --------N-21F004-----------------------------
  6230. INT 21 - Novell NetWare - WORKSTATION - SET PRIMARY CONNECTION ID
  6231.     AX = F004h
  6232.     DL = connection ID of primary file server (1-8) or 00h for none
  6233. Note:    this function is supported by Advanced NetWare 2.0+
  6234. SeeAlso: AH=D6h,AX=EF03h,AX=F000h,AX=F002h,AX=F005h
  6235. --------N-21F005-----------------------------
  6236. INT 21 - Novell NetWare - WORKSTATION - GET PRIMARY CONNECTION ID
  6237.     AX = F005h
  6238. Return: AL = connection ID of primary file server (1-8), 00h if not set
  6239. Notes:    this function is supported by Advanced NetWare 2.0+
  6240.     by default, the primary file server is the one from which the login
  6241.       script executed; it is set to 00h if the workstation is not logged in
  6242.       and when it detaches from its primary file server
  6243. SeeAlso: AH=D6h,AX=EF03h,AX=F000h,AX=F002h,AX=F004h
  6244. --------N-21F1-------------------------------
  6245. INT 21 - Novell NetWare - CONNECTION SERVICES - FILE SERVER CONNECTION
  6246.     AH = F1h
  6247.     AL = subfunction
  6248.         00h attach to file server
  6249.         DL = preferred file server (01h-08h)
  6250.         01h detach from file server
  6251.         DL = connection ID
  6252.         02h logout from file server
  6253.         DL = connection ID
  6254. Return: AL = status
  6255.         00h successful
  6256.         F8h already attached to server
  6257.         F9h connection table full
  6258.         FAh no more server slots
  6259.         FCh unknown file server
  6260.         FEh server bindery locked
  6261.         FFh no response from server, or connection does not exist
  6262. Note:    these functions are supported by Advanced NetWare 1.0+
  6263. SeeAlso: AH=D7h"NetWare",AH=E3h/SF=14h
  6264. --------T-21F1-------------------------------
  6265. INT 21 - DoubleDOS - CLEAR KEYBOARD BUFFER FOR CURRENT JOB
  6266.     AH = F1h
  6267. SeeAlso: AH=E1h"DoubleDOS",AH=F2h"DoubleDOS",AH=F3h"DoubleDOS"
  6268. SeeAlso: AH=F8h"DoubleDOS"
  6269. --------v-21F1-------------------------------
  6270. INT 21 - VIRUS - "F1-337" - ???
  6271.     AH = F1h
  6272.     ???
  6273. Return: ???
  6274. SeeAlso: AH=F0h"VIRUS",AX=F1E9h
  6275. --------v-21F1E9-----------------------------
  6276. INT 21 - VIRUS - "Tremor" - INSTALLATION CHECK
  6277.     AX = F1E9h
  6278. Return: AX = installation state
  6279.         CADEh installed, and calling program is infected
  6280.         F100h not installed (normal DOS return value)
  6281.         else  installed, but calling program is not infected
  6282. SeeAlso: AH=F1h"VIRUS",AX=F2AAh
  6283. --------N-21F2-------------------------------
  6284. INT 21 u - Novell NetWare v3.01+ shell interface - MULTIPLEXOR
  6285.     AH = F2h
  6286.     AL = function
  6287.         15h broadcast services (see AH=E1h"NetWare")
  6288.         16h file/directory services (see AH=E2h"NetWare")
  6289.         17h connection control (see AH=E3h"NetWare")
  6290.     CX = length of request buffer in bytes
  6291.     DX = length of reply buffer in bytes
  6292.     DS:SI -> request buffer (contents vary by function)
  6293.     ES:DI -> reply buffer (contents vary by function)
  6294. Return: AL = status
  6295.     reply buffer filled as appropriate for function
  6296. Note:    this is a multiplexor providing a "raw" interface to the underlying
  6297.       Netware Core Protocol.  Many functions which were accessed via a
  6298.       separate AH function in older versions can also be accessed here
  6299.       (the function number in AL is added to CCh to get the old function
  6300.       number which is desired), but some NetWare 3.x calls appear to be
  6301.       available only here.
  6302. SeeAlso: AX=F244h
  6303. --------T-21F2-------------------------------
  6304. INT 21 - DoubleDOS - SEND CHARACTER TO KEYBOARD BUFFER OF OTHER JOB
  6305.     AH = F2h
  6306.     AL = character
  6307. Return: AL = 00h successful
  6308.          01h buffer full (128 characters)
  6309. SeeAlso: AH=E2h"DoubleDOS",AH=F1h"DoubleDOS",AH=F3h"DoubleDOS"
  6310. SeeAlso: AH=F8h"DoubleDOS"
  6311. --------N-21F244-----------------------------
  6312. INT 21 - Novell NetWare - FILE SERVICES - ERASE FILES
  6313.     AX = F244h
  6314.     DS:SI -> request buffer (see below)
  6315.     ES:DI -> reply buffer (ignored???)
  6316. Return: AL = status
  6317.         00h successful
  6318.         98h nonexistent volume
  6319.         9Bh invaid directory handle
  6320.         9Ch invalid path
  6321.         FFh no files found
  6322. Note:    this function only marks the file for deletion; use AH=E2h/SF=CEh to
  6323.       actually delete all marked files
  6324. SeeAlso: AH=13h,AH=41h,AH=E2h/SF=0Bh,AH=E3h/SF=CEh
  6325.  
  6326. Format of request buffer:
  6327. Offset    Size    Description
  6328.  00h    BYTE    directory handle
  6329.  01h    BYTE    search attributes (see AX=4301h)
  6330.  02h    BYTE    length of filespec
  6331.  03h  N BYTEs    ASCIZ filespec (may include wildcards)
  6332. --------v-21F2AA-----------------------------
  6333. INT 21 - VIRUS - "PcVrsDs" - INSTALLATION CHECK
  6334.     AX = F2AAh
  6335. Return: AH = AAh if resident
  6336. SeeAlso: AH=F1h"VIRUS",AH=F3h"VIRUS"
  6337. --------N-21F3-------------------------------
  6338. INT 21 - Novell NetWare - FILE SERVICES - FILE SERVER FILE COPY
  6339.     AH = F3h
  6340.     ES:DI -> request buffer (see below)
  6341. Return: AL = status/error code
  6342.     CX:DX = number of bytes copied
  6343. Notes:    this function is supported by Advanced NetWare 2.0+
  6344.     both source and destination must be on the same file server
  6345. SeeAlso: AH=3Ch,AH=3Fh
  6346.  
  6347. Format of request buffer:
  6348. Offset    Size    Description
  6349.  00h    WORD    source file handle (as returned by AH=3Ch or AH=3Dh)
  6350.  02h    WORD    destination file handle
  6351.  04h    DWORD    starting offset in source
  6352.  08h    DWORD    starting offset in destination
  6353.  0Ch    DWORD    number of bytes to copy
  6354. --------T-21F3-------------------------------
  6355. INT 21 - DoubleDOS - ADD CHARACTER TO KEYBOARD BUFFER OF CURRENT JOB
  6356.     AH = F3h
  6357.     AL = character
  6358. Return: AL = 00h successful
  6359.          01h buffer full (128 characters)
  6360. SeeAlso: AH=E3h"DoubleDOS",AH=F1h"DoubleDOS",AH=F2h"DoubleDOS"
  6361. SeeAlso: AH=F8h"DoubleDOS"
  6362. --------v-21F3-------------------------------
  6363. INT 21 - VIRUS - "Carfield" - INSTALLATION CHECK
  6364.     AH = F3h
  6365. Return: AX = 0400h if resident
  6366. SeeAlso: AH=D5h"Carfield",AX=F2AAh,AH=F7h"VIRUS"
  6367. --------T-21F400-----------------------------
  6368. INT 21 - DoubleDOS - INSTALLATION CHECK/PROGRAM STATUS
  6369.     AX = F400h
  6370. Return: AL = 00h if DoubleDOS not present
  6371.        = 01h if running in visible DoubleDOS partition
  6372.        = 02h if running in the invisible DoubleDOS partition
  6373. SeeAlso: AX=E400h,AH=F5h"DoubleDOS"
  6374. --------T-21F5-------------------------------
  6375. INT 21 - DoubleDOS - OTHER PROGRAM STATUS
  6376.     AH = F5h
  6377. Return: AL = 00h no program in other partition
  6378.        = 01h program in other partition is running
  6379.        = 02h program in other partition is suspended
  6380. SeeAlso: AH=E5h"DoubleDOS",AX=F400h"DoubleDOS"
  6381. --------v-21F7-------------------------------
  6382. INT 21 - VIRUS - "GP1" - INSTALLATION CHECK
  6383.     AH = F7h
  6384. Return: AX = 0300h if resident
  6385. SeeAlso: AH=F0h"VIRUS",AH=FBh"VIRUS"
  6386. --------D-21F8-------------------------------
  6387. INT 21 - DOS v2.11 - SET OEM INT 21 HANDLER
  6388.     AH = F8h
  6389.     DS:DX -> OEM INT 21 handler for functions F9h to FFh
  6390.          FFFFh:FFFFh disables OEM handler
  6391. Notes:    this function is supported by Toshiba T1000 ROM MS-DOS 2.11
  6392.     calls to AH=F9h through AH=FFH will return AL=00h if no handler set
  6393.     handler is called with all registers exactly as set by caller, and
  6394.       should exit with IRET
  6395. SeeAlso: AH=F9h"OEM"
  6396. --------T-21F8-------------------------------
  6397. INT 21 - DoubleDOS - SET/RESET KEYBOARD CONTROL FLAGS
  6398.     AH = F8h
  6399.     AL = 00h set flags for this program
  6400.        = 01h set flags for other program
  6401.     DX = keyboard control flags (see AH=E8h"DoubleDOS")
  6402. Return: DX = previous flags
  6403. Notes:    disabling Ctrl-PrtSc will allow the program to intercept the keystroke;
  6404.       disabling any of the other keystrokes disables them completely
  6405.     this function is identical to AH=E8h
  6406. SeeAlso: AH=E8h"DoubleDOS",AH=F1h"DoubleDOS",AH=F2h"DoubleDOS"
  6407. SeeAlso: AH=F3h"DoubleDOS"
  6408. --------D-21F9-------------------------------
  6409. INT 21 - DOS v2.11 - OEM FUNCTION
  6410.     AH = F9h
  6411. SeeAlso: AH=F8h"OEM",AH=FAh"OEM"
  6412. --------T-21F9-------------------------------
  6413. INT 21 - DoubleDOS - SET TIMESHARING PRIORITY
  6414.     AH = F9h
  6415.     AL = 00h visible program gets 70%, invisible gets 30% (default)
  6416.        = 01h visible program gets 50%, invisible gets 50%
  6417.        = 02h visible program gets 30%, invisible gets 70%
  6418.        = 03h Top program gets 70%, bottom program gets 30%
  6419.        = 04h Top program gets 30%, bottom program gets 70%
  6420.        = 05h get current priority
  6421.         Return: AL = priority setting
  6422. Note:    identical to AH=E9h
  6423. SeeAlso: AH=E9h"DoubleDOS",AH=FAh"DoubleDOS",AH=FBh"DoubleDOS"
  6424. --------D-21FA-------------------------------
  6425. INT 21 - DOS v2.11 - OEM FUNCTION
  6426.     AH = FAh
  6427. SeeAlso: AH=F8h"OEM",AH=F9h"OEM",AH=FBh"OEM"
  6428. --------T-21FA-------------------------------
  6429. INT 21 - DoubleDOS - TURN OFF TASK SWITCHING
  6430.     AH = FAh
  6431. Return: task switching turned off
  6432. SeeAlso: AH=EAh"DoubleDOS",AH=F9h"DoubleDOS",AH=FBh"DoubleDOS"
  6433. SeeAlso: INT FA"DoubleDOS"
  6434. --------v-21FA--DX5945-----------------------
  6435. INT 21 U - PC Tools v7+ VDEFEND, VSAFE, VWATCH - API
  6436.     AH = FAh
  6437.     DX = 5945h
  6438.     AL = function (00h-02h for VDEFEND, 00h-07h for VSAFE and VWATCH)
  6439. Return: varies by function
  6440. Note:    this API is identical to the API on INT 13/AH=FAh and INT 16/AH=FAh,
  6441.       so it is listed in its entirety only under INT 16/AX=FA00h and
  6442.       following
  6443. SeeAlso: INT 13/AX=FA00h,INT 16/AX=FA00h
  6444. --------D-21FB-------------------------------
  6445. INT 21 - DOS v2.11 - OEM FUNCTION
  6446.     AH = FBh
  6447. SeeAlso: AH=F8h"OEM",AH=FAh"OEM",AH=FCh"OEM"
  6448. --------T-21FB-------------------------------
  6449. INT 21 - DoubleDOS - TURN ON TASK SWITCHING
  6450.     AH = FBh
  6451. Return: task switching turned on
  6452. SeeAlso: AH=EBh"DoubleDOS",AH=F9h"DoubleDOS",AH=FAh"DoubleDOS"
  6453. SeeAlso: INT FB"DoubleDOS"
  6454. --------v-21FB-------------------------------
  6455. INT 21 - VIRUS - "Cinderella" - INSTALLATION CHECK
  6456.     AH = FBh
  6457. Return: AH = 00h if resident
  6458. SeeAlso: AH=F7h"VIRUS",AX=FB0Ah
  6459. --------v-21FB0A-----------------------------
  6460. INT 21 - VIRUS - "dBASE" - INSTALLATION CHECK
  6461.     AX = FB0Ah
  6462. Return: AX = 0AFBh if resident
  6463. SeeAlso: AH=FBh"VIRUS",AH=FCh"VIRUS"
  6464. --------D-21FC-------------------------------
  6465. INT 21 - DOS v2.11 - OEM FUNCTION
  6466.     AH = FCh
  6467. SeeAlso: AH=F8h"OEM",AH=FBh"OEM",AH=FDh"OEM"
  6468. --------T-21FC-------------------------------
  6469. INT 21 - DoubleDOS - GET VIRTUAL SCREEN ADDRESS
  6470.     AH = FCh
  6471. Return: ES = segment of virtual screen
  6472. Desc:    Determine the address of the virtual screen to which the program
  6473.       should write instead of the actual video memory, so that the
  6474.       multitasked programs do not interfere with each other's output.
  6475. Notes:    screen address can change if task-switching is on!!
  6476.     identical to AH=ECh
  6477. SeeAlso: AH=ECh"DoubleDOS",INT FC"DoubleDOS"
  6478. --------v-21FC-------------------------------
  6479. INT 21 - VIRUS - "Troi" - INSTALLATION CHECK
  6480.     AH = FCh
  6481. Return: AL = A5h if resident
  6482. SeeAlso: AX=FB0Ah"VIRUS",AH=FDh"VIRUS"
  6483. --------D-21FD-------------------------------
  6484. INT 21 - DOS v2.11 - OEM FUNCTION
  6485.     AH = FDh
  6486. SeeAlso: AH=F8h"OEM",AH=FCh"OEM",AH=FEh"DOS"
  6487. --------v-21FD-------------------------------
  6488. INT 21 - VIRUS - "Border" - INSTALLATION CHECK
  6489.     AH = FDh
  6490. Return: AH = 13h if resident
  6491. SeeAlso: AH=FCh"VIRUS",AH=FEh"VIRUS"
  6492. --------D-21FE-------------------------------
  6493. INT 21 - DOS v2.11 - OEM FUNCTION
  6494.     AH = FEh
  6495. SeeAlso: AH=F8h"OEM",AH=FDh"OEM",AH=FFh"OEM"
  6496. --------T-21FE-------------------------------
  6497. INT 21 - DoubleDOS - GIVE AWAY TIME TO OTHER TASKS
  6498.     AH = FEh
  6499.     AL = number of 55ms time slices to give away
  6500. Return: returns after giving away time slices
  6501. SeeAlso: AH=EEh"DoubleDOS",INT FE"DoubleDOS"
  6502. --------v-21FE-------------------------------
  6503. INT 21 - VIRUS - "483" - INSTALLATION CHECK
  6504.     AH = FEh
  6505. Return: AH = 00h if resident
  6506. SeeAlso: AH=FDh"VIRUS",AX=FE01h
  6507. --------v-21FE01-----------------------------
  6508. INT 21 - VIRUS - "Flip" - INSTALLATION CHECK
  6509.     AX = FE01h
  6510. Return: AX = 01FEh if resident
  6511. SeeAlso: AH=FEh"VIRUS",AX=FE02h
  6512. --------v-21FE02-----------------------------
  6513. INT 21 - VIRUS - "2468"/"Tequila" - INSTALLATION CHECK
  6514.     AX = FE02h
  6515. Return: AX = 01FDh if resident
  6516. SeeAlso: AX=FE01h,AX=FE03h,AX=FEDCh"VIRUS"
  6517. --------v-21FE03-----------------------------
  6518. INT 21 - VIRUS - "2468"/"Tequila" - DISPLAY VIRUS MESSAGE
  6519.     AX = FE03h
  6520. SeeAlso: AX=FE02h
  6521. --------d-21FEDC-----------------------------
  6522. INT 21 - PCMag PCMANAGE/DCOMPRES - INSTALLATION CHECK
  6523.     AX = FEDCh
  6524. Return: AX = CDEFh if installed
  6525. Program: the PCMANAGE/DCOMPRES combination from PC Magazine permits
  6526.       infrequently-used files to be compressed to save space and
  6527.       transparently expanded when accessed
  6528. SeeAlso: AH=DCh,INT 2D/AL=10h"dLite"
  6529. --------v-21FEDC-----------------------------
  6530. INT 21 - VIRUS - "Black Monday" - INSTALLATION CHECK
  6531.     AX = FEDCh
  6532. Return: AL = DCh if resident
  6533. SeeAlso: AX=FE02h,AH=FFh"VIRUS"
  6534. --------D-21FF-------------------------------
  6535. INT 21 - DOS v2.11 - OEM FUNCTION
  6536.     AH = FFh
  6537. SeeAlso: AH=F8h"OEM",AH=FEh"OEM"
  6538. --------K-21FF-------------------------------
  6539. INT 21 - CED (Command EDitor) - INSTALLABLE COMMANDS
  6540.     AH = FFh
  6541.     AL = subfunction
  6542.         00h add installable command
  6543.            BL = mode - bit 0 = 1 callable from DOS prompt
  6544.                bit 1 = 1 callable from application
  6545.            DS:SI -> CR-terminated command name
  6546.            ES:DI -> FAR routine entry point
  6547.         01h remove installable command
  6548.            DS:SI -> CR-terminated command name
  6549.         02h reserved, may be used to test for CED installation
  6550. Return: CF clear if successful
  6551.     CF set on error
  6552.         AX = 01h invalid function
  6553.          02h command not found (subfunction 01h only)
  6554.          08h insufficient memory (subfunction 00h only)
  6555.          0Eh bad data (subfunction 00h only)
  6556.     AH = FFh if CED not installed
  6557. Program: CED is a shareware DOS command-line enhancer by Christopher J. Dunford
  6558. SeeAlso: AX=0A00h
  6559. --------E-21FF-------------------------------
  6560. INT 21 - DJ GO32.EXE 80386+ DOS extender - DOS EXTENSIONS
  6561.     AH = FFh
  6562.     AL = function
  6563.         01h create file
  6564.         02h open file
  6565.         03h get file statistics
  6566.         04h get time of day
  6567.         05h set time of day
  6568.         06h stat
  6569.         07h system
  6570. Program: GO32.EXE is a DOS extender included as part of the 80386 port of the
  6571.       GNU C/C++ compiler by DJ Delorie and distributed as DJGPP
  6572. SeeAlso: INT 10/AH=FFh"GO32"
  6573. --------K-21FF-------------------------------
  6574. INT 21 - DOSED.COM - INSTALLATION CHECK
  6575.     AH = FFh
  6576.     DS:SI -> "DOSED"
  6577.     ES = 0000h
  6578. Return: ES:DI -> "DOSED" if installed
  6579. Program: DOSED is a free DOS commandline editor/history buffer by Sverre H.
  6580.       Huseby
  6581. --------v-21FF-------------------------------
  6582. INT 21 - VIRUS - "Sunday", "Tumen 0.5", "Hero" - INSTALLATION CHECK
  6583.     AH = FFh
  6584. Return: AH = 00h if "Tumen 0.5" or "Hero" resident
  6585.     AX = 0400h if "Sunday" resident
  6586. SeeAlso: AX=FEDCh"VIRUS",AX=FF0Fh
  6587. --------E-21FF-------------------------------
  6588. INT 21 UP - Rational Systems DOS/4GW - API
  6589.     AH = FFh
  6590.     DH = function (00h-17h) (see also separate entries below)
  6591.     DL = subfunction or argument
  6592. Return: CF clear if valid function number
  6593.         AX = status???
  6594.     CF set if invalid function
  6595. SeeAlso: INT 15/AX=BFDCh
  6596. --------E-21FF--DH02-------------------------
  6597. INT 21 UP - Rational Systems DOS/4GW - SET ???
  6598.     AH = FFh
  6599.     DH = 02h
  6600.     DL = ???
  6601. Return: CF clear
  6602. --------E-21FF--DH05-------------------------
  6603. INT 21 UP - Rational Systems DOS/4GW - ???
  6604.     AH = FFh
  6605.     DH = 05h
  6606.     BX = ???
  6607. Return: ???
  6608. --------E-21FF--DH06-------------------------
  6609. INT 21 UP - Rational Systems DOS/4GW - ???
  6610.     AH = FFh
  6611.     DH = 06h
  6612.     BX = ???
  6613. Return: ???
  6614. --------E-21FF--DH07-------------------------
  6615. INT 21 UP - Rational Systems DOS/4GW - ???
  6616.     AH = FFh
  6617.     DH = 07h
  6618.     BX = ???
  6619. Return: ???
  6620. --------E-21FF--DH08-------------------------
  6621. INT 21 UP - Rational Systems DOS/4GW - ???
  6622.     AH = FFh
  6623.     DH = 08h
  6624.     BX = ???
  6625.     CX = ???
  6626.     ES = ???
  6627. Return: ???
  6628. --------E-21FF--DH09-------------------------
  6629. INT 21 UP - Rational Systems DOS/4GW - GET ???
  6630.     AH = FFh
  6631.     DH = 09h
  6632. Return: ES:BX -> ???
  6633. --------E-21FF--DH0A-------------------------
  6634. INT 21 UP - Rational Systems DOS/4GW - ???
  6635.     AH = FFh
  6636.     DH = 0Ah
  6637.     AL = ???
  6638.     BX = ???
  6639.     CX = ???
  6640. Return: ES = ??? or 0000h
  6641. --------E-21FF--DH0B-------------------------
  6642. INT 21 UP - Rational Systems DOS/4GW - ???
  6643.     AH = FFh
  6644.     DH = 0Bh
  6645.     AL = ???
  6646.     BX = ???
  6647.     CX = ???
  6648. Return: ???
  6649. --------E-21FF--DH0C-------------------------
  6650. INT 21 UP - Rational Systems DOS/4GW - GET/SET ???
  6651.     AH = FFh
  6652.     DH = 0Ch
  6653.     DL = ??? (00h or 01h)
  6654. Return: CF clear if successful
  6655.         AL = previous value of ???
  6656.     CF set on error (DL out of range)
  6657.         AX = FFFFh
  6658. --------E-21FF--DH0D-------------------------
  6659. INT 21 UP - Rational Systems DOS/4GW - ???
  6660.     AH = FFh
  6661.     DH = 0Dh
  6662.     ???
  6663. Return: ???
  6664. --------E-21FF--DH0E-------------------------
  6665. INT 21 UP - Rational Systems DOS/4GW - ???
  6666.     AH = FFh
  6667.     DH = 0Eh
  6668. Return: DX:AX -> XBRK structure (see INT 15/AX=BF02h)
  6669.     BX = ???
  6670.     CX = ???
  6671. SeeAlso: INT 15/AX=BF02h
  6672. --------E-21FF--DH0F-------------------------
  6673. INT 21 UP - Rational Systems DOS/4GW - ???
  6674.     AH = FFh
  6675.     DH = 0Fh
  6676.     ???
  6677. Return: ???
  6678. --------E-21FF--DH10-------------------------
  6679. INT 21 UP - Rational Systems DOS/4GW - ???
  6680.     AH = FFh
  6681.     DH = 10h
  6682.     AL = ???
  6683.     BX = ???
  6684.     CX = ???
  6685.     DI = ???
  6686.     SI = ???
  6687. Return: ???
  6688. Note:    among other things, frees two memory blocks via INT 21/AH=49h
  6689. --------E-21FF--DH11-------------------------
  6690. INT 21 UP - Rational Systems DOS/4GW - NOP
  6691.     AH = FFh
  6692.     DH = 11h
  6693. --------E-21FF--DH12-------------------------
  6694. INT 21 UP - Rational Systems DOS/4GW - EXCHANGE ??? POINTERS
  6695.     AH = FFh
  6696.     DH = 12h
  6697.     DS:SI -> new ???
  6698.     ES:DI -> new ???
  6699. Return: DS:SI -> previous ???
  6700.     ES:DI -> previous ???
  6701. --------E-21FF--DH13-------------------------
  6702. INT 21 UP - Rational Systems DOS/4GW - ???
  6703.     AH = FFh
  6704.     DH = 13h
  6705.     AL = ???
  6706.     ES = ???
  6707. Return: ???
  6708. --------E-21FF--DH14-------------------------
  6709. INT 21 UP - Rational Systems DOS/4GW - ???
  6710.     AH = FFh
  6711.     DH = 14h
  6712.     BX = ???
  6713.     CX = ???
  6714. Return: CF clear
  6715.         AX = ???
  6716.         DX = ???
  6717. --------E-21FF--DH15-------------------------
  6718. INT 21 UP - Rational Systems DOS/4GW - GET ??? FUNCTIONS
  6719.     AH = FFh
  6720.     DH = 15h
  6721. Return: CF clear
  6722.         DX:AX -> FAR function for ???
  6723.         CX:BX -> FAR function for ???
  6724.         SI:DI -> FAR function for ???
  6725. --------E-21FF--DH16-------------------------
  6726. INT 21 UP - Rational Systems DOS/4GW - GET ???
  6727.     AH = FFh
  6728.     DH = 16h
  6729. Return: AX = ???
  6730. --------E-21FF--DH17-------------------------
  6731. INT 21 UP - Rational Systems DOS/4GW - ???
  6732.     AH = FFH
  6733.     DH = 17h
  6734.     AL = ???
  6735.     DL = ???
  6736. Return: ???
  6737. --------N-21FF00-----------------------------
  6738. INT 21 - TopWare Network OS v5.10+ - GET SYSTEM INFORMATION
  6739.     AX = FF00h
  6740.     CL = what to get
  6741.         00h user information
  6742.         01h drive mapping
  6743.         02h printer server(s)
  6744.         05h local DOS drive number
  6745. Return: ES:BX -> desired information (see below)
  6746. Program: TopWare Network Operating System is manufactured by Grand Computer
  6747.       Company
  6748. Note:    this call is only supported on Workstations, not on the server
  6749. SeeAlso: AX=FF04h,INT 2F/AX=FF00h
  6750.  
  6751. Format of user information:
  6752. Offset    Size    Description
  6753.  00h    BYTE    node ID
  6754.  01h 15 BYTEs    user name
  6755.  10h    WORD    user number
  6756.  12h    BYTE    group number
  6757.  
  6758. Format of drive mapping [array]:
  6759. Offset    Size    Description
  6760.  00h    BYTE    bits 6-0: drive number (1=A:, etc.)
  6761.         bit 7: this is a server drive
  6762.  01h  3 BYTEs    mapping drive (for example, "C:\")
  6763.  04h 64 BYTEs    current directory
  6764. --------E-21FF00DX0078-----------------------
  6765. INT 21 - Rational Systems DOS/4G - INSTALLATION CHECK
  6766.     AX = FF00h
  6767.     DX = 0078h
  6768. Return: AL <> 00h if installed
  6769.         GS = segment of kernel if nonzero
  6770. SeeAlso: INT 15/AX=BF02h
  6771. --------N-21FF04-----------------------------
  6772. INT 21 - TopWare Network OS v5.10+ - GET/SET DEFAULT FILE PROTECTION ATTRIBS
  6773.     AX = FF04h
  6774.     CL = function
  6775.         00h get protections
  6776.         Return: BH = read attribute
  6777.             BL = write attribute
  6778.         01h set protections
  6779.         BH = read attribute
  6780.         BL = write attribute
  6781. Note:    this function is supported only on Workstations, not on the server
  6782. SeeAlso: AX=FF00h"TopWare"
  6783. --------v-21FF0F-----------------------------
  6784. INT 21 - FLU_SHOT+ v1.83 - INSTALLATION CHECK
  6785.     AX = FF0Fh
  6786. Return: AX = 0101h if resident
  6787. Program: FLU_SHOT+ is an antivirus/antitrojan program by Ross M. Greenberg and
  6788.       Software Concepts Design
  6789. Note:    the "PSQR/1720" virus calls this function to determine whether
  6790.       FLU_SHOT+ is present
  6791. SeeAlso: AH=FFh"VIRUS",AX=FF10h
  6792. --------v-21FF10-----------------------------
  6793. INT 21 - VIRUS - "Twins" - INSTALLATION CHECK
  6794.     AX = FF10h
  6795. Return: AL = 07h if resident
  6796. SeeAlso: AX=FF0Fh,AX=FFFEh
  6797. --------N-21FF80DHFF-------------------------
  6798. INT 21 - TopWare Network OS v5.10+ - SEND MESSAGE
  6799.     AX = FF80h
  6800.     DH = FFh
  6801.     DL = destination address (FFh for broadcast)
  6802.     CX = message length (max 2000)
  6803.     DS:SI -> message to be sent (see below)
  6804. Return: nothing
  6805. Program: TopWare Network Operating System is manufactured by Grand Computer
  6806.       Company
  6807. Notes:    this function is supported on both Workstations and the server
  6808.     there is no guarantee that the message will be received correctly, or
  6809.       at all, by the destination
  6810.  
  6811. Format of message:
  6812. Offset    Size    Description
  6813.  00h    BYTE    type code
  6814.         07h TopSend
  6815.         11h user application
  6816.         other reserved for TopWare
  6817.  01h    var    data
  6818. Note:    sending messages with a type code other than 11h will cause
  6819.       unpredictable results
  6820. --------N-21FF82-----------------------------
  6821. INT 21 - TopWare Network OS v5.10+ - GET STATION ADDRESS
  6822.     AX = FF82h
  6823. Return: AL = station address
  6824. Note:    this function is supported on both Workstations and the server
  6825. SeeAlso: AX=FF91h
  6826. --------N-21FF8C-----------------------------
  6827. INT 21 - TopWare Network OS v5.10+ - GET STATUS OF TopShow/Emulated FUNCTION
  6828.     AX = FF8Ch
  6829.     BL = subfunction
  6830.         00h get TopShow status
  6831.         FFh get Emulated status
  6832. Return: AL = status
  6833.         00h not installed
  6834.         01h already installed
  6835. --------N-21FF8D-----------------------------
  6836. INT 21 - TopWare Network OS v5.10+ - CALL TopShow FUNCTION
  6837.     AX = FF8Dh
  6838.     CH = monochrome flag (01h monochrome, 00h not monochrome)
  6839.     CL = screen mode of station to be viewed (see below)
  6840.     BL = graphic page number for monochrome
  6841. Return: AL = status (00h successful, else failed)
  6842. SeeAlso: AX=FF8Eh,AX=FFCFh
  6843.  
  6844. Values for screen mode:
  6845.  00h    text mode
  6846.  01h    720x348
  6847.  02h    640x408
  6848.  03h    720x352
  6849.  04h    640x390
  6850.  05h    reserved
  6851. --------N-21FF8E-----------------------------
  6852. INT 21 - TopWare Network OS v5.10+ - CANCEL TopShow FUNCTION
  6853.     AX = FF8Eh
  6854. Return: AL = 00h (successful, TopShow removed)
  6855. SeeAlso: AX=FF8Dh
  6856. --------N-21FF91-----------------------------
  6857. INT 21 - TopWare Network OS v5.10+ - GET FILE SERVER STATION NUMBER
  6858.     AX = FF91h
  6859. Return: AL = station number of file server
  6860. SeeAlso: AX=FF82h
  6861. --------N-21FF97-----------------------------
  6862. INT 21 - TopWare Network OS v5.10+ - GET MAXIMUM STATION NUMBER (server only)
  6863.     AX = FF97h
  6864. Return: AL = maximum station number
  6865. SeeAlso: AX=FF98h
  6866. --------N-21FF98-----------------------------
  6867. INT 21 - TopWare Network OS v5.10+ - GET MAXIMUM FILE NUMBER (server only)
  6868.     AX = FF98h
  6869. Return: AL = maximum file
  6870. SeeAlso: AX=FF97h
  6871. --------N-21FF9A-----------------------------
  6872. INT 21 - TopWare Network OS v5.10+ - RECEIVE OF USER-DEFINED PACKETS
  6873.     AX = FF9Ah
  6874.     ES:BX -> buffer for user-defined packet (see below)
  6875. Return: nothing
  6876.  
  6877. Format of user-defined packet:
  6878. Offset    Size    Description
  6879.  00h    BYTE    FFh
  6880.  01h    WORD    (call) length of data field plus 3
  6881.         (return) length of received message (0000h if none received)
  6882.  03h    BYTE    destination ID (FFh for broadcast message)
  6883.  04h    BYTE    sending station ID
  6884.  05h    BYTE    type code (11h; all other codes reserved for TopWare)
  6885.  06h  N BYTEs    received message
  6886. --------N-21FF9F-----------------------------
  6887. INT 21 - TopWare Network OS v5.10+ - ENABLE/DISABLE TopTerm SERVICE
  6888.     AX = FF9Fh
  6889.     CL = new state (00h disable [disregard TopTerm packets], 01h enable)
  6890. Return: AL = status (00h successful, FFh failed)
  6891. Note:    this function is only supported by Workstations, not the server
  6892. --------N-21FFB0-----------------------------
  6893. INT 21 - TopWare Network OS v5.10+ - GET SPOOLER PRINTING PRIORITY
  6894.     AX = FFB0h
  6895. Return: AL = priority status (see below)
  6896. SeeAlso: AX=FFB1h
  6897.  
  6898. Bitfields for printer priority status:
  6899.  bit 0    LPT1 has high priority
  6900.  bit 1    LPT2 has high priority
  6901.  bit 2    LPT3 has high priority
  6902. --------N-21FFB1-----------------------------
  6903. INT 21 - TopWare Network OS v5.10+ - SET SPOOLER PRINTING PRIORITY
  6904.     AX = FFB1h
  6905.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6906.     CH = new priority (00h normal, 01h high)
  6907. Return: nothing
  6908. SeeAlso: AX=FFB0h
  6909. --------N-21FFB3-----------------------------
  6910. INT 21 - TopWare Network OS v5.10+ - GET DEFAULT START-OF-JOB FORMFEED STATUS
  6911.     AX = FFB3h
  6912. Return: AL = starting formfeed status (see below)
  6913. SeeAlso: AX=FFB4h,AX=FFC0h
  6914.  
  6915. Bitfields for printer start-of-job formfeed status:
  6916.  bit 0    LPT1 has formfeed enabled
  6917.  bit 1    LPT2 has formfeed enabled
  6918.  bit 2    LPT3 has formfeed enabled
  6919. --------N-21FFB4-----------------------------
  6920. INT 21 - TopWare Network OS v5.10+ - SET DEFAULT START-OF-JOB FORMFEED STATUS
  6921.     AX = FFB4h
  6922.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6923.     CH = new formfeed status (00h off, 01h on)
  6924. Return: nothing
  6925. SeeAlso: AX=FFB3h,AX=FFC1h
  6926. --------N-21FFBB-----------------------------
  6927. INT 21 - TopWare Network OS v5.10+ - GET PRINTER SERVER STATION ADDRESS
  6928.     AX = FFBBh
  6929.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6930. Return: AL = current mapping printer server station number
  6931.         00h if local
  6932. SeeAlso: AX=FFBCh
  6933. --------N-21FFBC-----------------------------
  6934. INT 21 - TopWare Network OS v5.10+ - CANCEL TopShow FUNCTION
  6935.     AX = FFBCh
  6936.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6937.     CL = printer server station address or 00h for local printer
  6938. Return: AL = status (00h successful, else failed)
  6939. SeeAlso: AX=FFBBh
  6940. --------N-21FFBD-----------------------------
  6941. INT 21 - TopWare Network OS v5.10+ - GET CURRENT AUTOPRINT TIME
  6942.     AX = FFBDh
  6943.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6944. Return: AX = current AutoPrint timeout in clock ticks
  6945. SeeAlso: AX=FFBEh
  6946. --------N-21FFBE-----------------------------
  6947. INT 21 - TopWare Network OS v5.10+ - SET AUTOPRINT TIME
  6948.     AX = FFBEh
  6949.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6950.     BX = timeout in clock ticks
  6951. SeeAlso: AX=FFBDh
  6952. --------N-21FFBF-----------------------------
  6953. INT 21 - TopWare Network OS v5.10+ - GET LOGON USER INFORMATION
  6954.     AX = FFBFh
  6955.     DX:BX -> buffer for logon information (see below)
  6956. Return: AL = status (00h successful, else failed)
  6957.     AH = number of logged-in stations
  6958.  
  6959. Format of logon information:
  6960. Offset    Size    Description
  6961.  00h    BYTE    station address
  6962.  01h 15 BYTEs    username
  6963. --------N-21FFC0-----------------------------
  6964. INT 21 - TopWare Network OS v5.10+ - GET DEFAULT END-OF-JOB FORMFEED STATUS
  6965.     AX = FFC0h
  6966. Return: AL = ending formfeed status (see below)
  6967. SeeAlso: AX=FFB3h,AX=FFC1h
  6968.  
  6969. Bitfields for printer end-of-job formfeed status:
  6970.  bit 0    LPT1 has formfeed enabled
  6971.  bit 1    LPT2 has formfeed enabled
  6972.  bit 2    LPT3 has formfeed enabled
  6973. --------N-21FFC1-----------------------------
  6974. INT 21 - TopWare Network OS v5.10+ - SET DEFAULT END-OF-JOB FORMFEED STATUS
  6975.     AX = FFC1h
  6976.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6977.     CH = new formfeed status (00h off, 01h on)
  6978. Return: nothing
  6979. SeeAlso: AX=FFB4h,AX=FFC0h
  6980. --------N-21FFC2-----------------------------
  6981. INT 21 - TopWare Network OS v5.10+ - GET DEFAULT COPIES OF SPOOLING FILE
  6982.     AX = FFC2h
  6983.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6984. Return: AL = default number of copies printed
  6985. SeeAlso: AX=FFC7h
  6986. --------N-21FFC3-----------------------------
  6987. INT 21 - TopWare Network OS v5.10+ - GET SHARING STATUS OF PRINTER SERVER
  6988.     AX = FFC3h
  6989. Return: AL = sharing status of printers (see below)
  6990.         FFh if not a printer server
  6991.  
  6992. Bitfields for printer sharing status:
  6993.  bit 0    LPT1 is shared
  6994.  bit 1    LPT2 is shared
  6995.  bit 2    LPT3 is shared
  6996. --------N-21FFC4-----------------------------
  6997. INT 21 - TopWare Network OS v5.10+ - GET/SET LPT PORT ON PRINT SERVER
  6998.     AX = FFC4h
  6999.     BL = subfunction
  7000.         00h get
  7001.         Return: AL = mapped printer port on print server
  7002.         01h set
  7003.         CL = network printer port (00h LPT1, 01h LPT2, 02h LPT3)
  7004.     CH = local printer (00h LPT1, 01h LPT2, 02h LPT3)
  7005. --------N-21FFC6-----------------------------
  7006. INT 21 - TopWare Network OS v5.10+ - SET DEFAULT PRINT FILE HEADER
  7007.     AX = FFC6h
  7008.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  7009.     CL = header state (00h off, 01h on)
  7010. SeeAlso: AX=FFC8h
  7011. --------N-21FFC7-----------------------------
  7012. INT 21 - TopWare Network OS v5.10+ - SET DEFAULT PRINT COPIES
  7013.     AX = FFC7h
  7014.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  7015.     CL = new default number of copies to print
  7016. SeeAlso: AX=FFC2h
  7017. --------N-21FFC8-----------------------------
  7018. INT 21 - TopWare Network OS v5.10+ - GET DEFAULT PRINT FILE HEADER STATUS
  7019.     AX = FFC8h
  7020. Return: AL = header status for printers (see below)
  7021. SeeAlso: AX=FFC6h
  7022.  
  7023. Bitfields for print header status:
  7024.  bit 0    LPT1 has headers enabled
  7025.  bit 1    LPT2 has headers enabled
  7026.  bit 2    LPT3 has headers enabled
  7027. --------N-21FFC9-----------------------------
  7028. INT 21 - TopWare Network OS v5.10+ - SET PRINTER SHARING
  7029.     AX = FFC9h
  7030.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  7031.     CL = new sharing state (00h off, 01h on)
  7032. Return: AL = status (00h successful, FFh not printer server)
  7033. --------N-21FFCA-----------------------------
  7034. INT 21 - TopWare Network OS v5.10+ - MOVE FILE FROM ONE PRINT SERVER TO ANOTHER
  7035.     AX = FFCAh
  7036.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  7037.     CL = original printer server station address
  7038.     BL = target printer server station address
  7039.     DS:DX -> filename (12 bytes)
  7040. Return: AL = status (00h successful, else failed)
  7041. SeeAlso: AX=FFCBh
  7042. --------N-21FFCB-----------------------------
  7043. INT 21 - TopWare Network OS v5.10+ - DELETE FILE FROM SPOOLING QUEUE
  7044.     AX = FFCBh
  7045.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  7046.     CL = printer server station address
  7047.     DS:DX -> filename (12 bytes)
  7048. Return: AL = status (00h successful, else failed)
  7049. SeeAlso: AX=FFCAh
  7050. --------N-21FFCC-----------------------------
  7051. INT 21 - TopWare Network OS v5.10+ - GET PRINT SERVER'S SPOOLING QUEUE STATUS
  7052.     AX = FFCCh
  7053.     CL = printer server station address
  7054.     BH = start item number of spooling file for print server
  7055.     BL = number of the item to be retrieved
  7056.     DS:DX -> buffer for queued file information (see below)
  7057. Return: AL = status
  7058.         00h successful
  7059.         AH = number of spool files
  7060.         DS:DX buffer filled
  7061.         nonzero failed
  7062.  
  7063. Format of queued file information buffer [16-item array, one element]:
  7064. Offset    Size    Description
  7065.  00h 12 BYTEs    filename
  7066.  0Ch    DWORD    size
  7067.  10h    WORD    date
  7068.  12h    WORD    time
  7069.  14h 15 BYTEs    username
  7070.  23h    BYTE    count
  7071.  24h    BYTE    flag: header
  7072.  25h    BYTE    print number
  7073. --------N-21FFCD-----------------------------
  7074. INT 21 - TopWare Network OS v5.10+ - GET STATUS OF ALL PRINT SERVERS
  7075.     AX = FFCDh
  7076.     DS:DX -> buffer for server status (see below)
  7077. Return: AL = status
  7078.         00h successful
  7079.         AH = number of print servers
  7080.         nonzero failed
  7081.  
  7082. Format of server status:
  7083. Offset    Size    Description
  7084.  00h    BYTE    station address
  7085.  01h 15 BYTEs    username
  7086.  10h    BYTE    flag: 01h printer is shared, 00h sharing disabled
  7087.  11h    BYTE    number of files pending in queue
  7088. --------N-21FFCF-----------------------------
  7089. INT 21 - TopWare Network OS v5.10+ - CALL TopLook FUNCTION
  7090.     AX = FFCFh
  7091.     DH = page number (0-2, 2 is text mode)
  7092.     DL = type
  7093.         00h look at specific screen
  7094.         01h AutoLook on
  7095.         FFh AutoLook off
  7096.     BH = station number wishing to look
  7097.     BL = station number to be looked at
  7098.     CH = monochrome flag (01h monochrome, 00h not monochrome)
  7099.     CL = screen mode (see AX=FF8Dh)
  7100. Return: AL = status (00h successful, nonzero failed)
  7101. SeeAlso: AX=FF8Dh
  7102. --------v-21FFFE-----------------------------
  7103. INT 21 - VIRUS - "08/15"/"Many Fingers" - INSTALLATION CHECK
  7104.     AX = FFFEh
  7105. Return: AX = 0815h if resident
  7106. SeeAlso: AX=FF10h,AX=FFFFh
  7107. --------v-21FFFF-----------------------------
  7108. INT 21 - VIRUS - "Ontario", "Year 1992"/"B1M92" - INSTALLATION CHECK
  7109.     AX = FFFFh
  7110. Return: AX = 0000h if "Ontario" resident
  7111.     AX = 1992h if "Year 1992"/"B1M92" resident
  7112. SeeAlso: AX=FF0Fh,AX=FFFFh/CX=0000h,INT 6B"VIRUS"
  7113. --------v-21FFFFCX0000-----------------------
  7114. INT 21 - VIRUS - "Revenge" - INSTALLATION CHECK
  7115.     AX = FFFFh
  7116.     CX = 0000h
  7117. Return: CX = 0006h if resident
  7118. SeeAlso: AX=FFFFh,INT 6B"VIRUS"
  7119. --------!------------------------------------
  7120.