home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / PROG_GEN / INTER40B.ZIP / INTERRUP.F < prev    next >
Text File  |  1994-04-03  |  294KB  |  7,875 lines

  1. Interrupt List, part 6 of 11
  2. This compilation is Copyright (c) 1989,1990,1991,1992,1993,1994 Ralf Brown
  3. --------N-21C0-------------------------------
  4. INT 21 O - Novell NetWare, Alloy NTNX - RELEASE RECORD (FCB)
  5.     AH = C0h
  6.     DS:DX -> non-extended FCB (see AH=0Fh)
  7.     BX:CX = offset
  8. Return: AL = error code (see AH=BCh)
  9. Notes:    unlocks record but does not remove it from log table
  10.     this function was added in NetWare 4.6, but was removed some time prior
  11.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  12.       documentation
  13. SeeAlso: AH=BDh,AH=BFh,AH=C1h"NetWare",AH=C3h
  14. --------v-21C0-------------------------------
  15. INT 21 - VIRUS - "Slow"/"Zerotime", "Solano" - INSTALLATION CHECK
  16.     AH = C0h
  17. Return: AX = 0300h if "Slow"/"Zerotime" resident
  18.     AX = 1234h if "Solano" resident
  19. SeeAlso: AX=BE00h,AH=C1h"VIRUS",AX=C301h"VIRUS"
  20. --------N-21C1-------------------------------
  21. INT 21 O - Novell NetWare, Alloy NTNX - CLEAR RECORD (FCB)
  22.     AH = C1h
  23.     DS:DX -> opened FCB (see AH=0Fh)
  24.     BX:CX = offset
  25. Return: AL = error code (see AH=BCh)
  26. Note:    unlocks record and removes it from log table
  27.     this function was added in NetWare 4.6, but was removed some time prior
  28.       to Advanced NetWare, and is no longer listed in current Novell
  29.       documentation
  30. SeeAlso: AH=BEh,AH=C0h"NetWare",AH=C4h
  31. --------v-21C1-------------------------------
  32. INT 21 - VIRUS - "Solano" - ???
  33.     AH = C1h
  34.     ???
  35. Return: ???
  36. SeeAlso: AH=C0h"VIRUS"
  37. --------N-21C2-------------------------------
  38. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOCK PHYSICAL RECORD SET
  39.     AH = C2h
  40.     AL = flags
  41.         bit 1: non-exclusive lock
  42.     BP = lock timeout in timer ticks (1/18 sec) 0000h = no wait
  43. Return: AL = status
  44.         00h successful
  45.         FEh timed out
  46.         FFh failed
  47. Desc:    attempt to lock all physical records listed in the log table
  48. Notes:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  49.       Alloy NTNX
  50.     status FFh will be returned if one or more physical records have been
  51.       exclusively locked by another process
  52. SeeAlso: AH=BFh,AH=C3h,AH=D1h
  53. --------v-21C2-------------------------------
  54. INT 21 - VIRUS - "Scott's Valley" - ???
  55.     AH = C2h
  56.     ???
  57. Return: ???
  58. SeeAlso: AH=C0h"VIRUS"
  59. --------N-21C3-------------------------------
  60. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE PHYSICAL RECRD SET
  61.     AH = C3h
  62. Desc:    unlock all currently-locked physical records in the log table, but do
  63.       not remove them from the table
  64. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  65.       Alloy NTNX
  66. SeeAlso: AH=BDh,AH=C0h,AH=C2h"NetWare",AH=C4h,AH=D3h
  67. --------v-21C301DXF1F1-----------------------
  68. INT 21 - VIRUS - "905"/"Backfont" - INSTALLATION CHECK
  69.     AX = C301h
  70.     DX = F1F1h
  71. Return: DX = 0E0Eh if resident
  72. SeeAlso: AH=C0h"VIRUS",AX=C500h"VIRUS"
  73. --------N-21C4-------------------------------
  74. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR PHYSICAL RECORD SET
  75.     AH = C4h
  76. Desc:    unlock all physical records in the log table and remove them from the
  77.       log table
  78. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  79.       Alloy NTNX
  80. SeeAlso: AH=BEh,AH=C1h,AH=D5h
  81. --------N-21C500-----------------------------
  82. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - OPEN SEMAPHORE
  83.     AX = C500h
  84.     DS:DX -> semaphore name (counted string, max 127 bytes)
  85.     CL = initial value for semaphore
  86. Return: AL = status
  87.         00h successful
  88.         BL = number of processes having semaphore open
  89.         CX:DX = semaphore handle
  90.         03h name length greater than 127 (see Novell document FYI.A.4611)
  91.         FEh invalid name length
  92.         FFh invalid semaphore value
  93. Notes:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  94.       Alloy NTNX
  95.     the semaphore's value is incremented by AX=C503h and decremented by
  96.       AX=C502h
  97. SeeAlso: AX=C501h,AX=C502h,AX=C503h,AX=C504h
  98. --------v-21C500-----------------------------
  99. INT 21 - VIRUS - "Sverdlov" - INSTALLATION CHECK
  100.     AX = C500h
  101. Return: AX = 6731h if resident
  102. SeeAlso: AX=C301h"VIRUS",AH=C6h"VIRUS"
  103. --------N-21C501-----------------------------
  104. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - EXAMINE SEMAPHORE
  105.     AX = C501h
  106.     CX:DX = semaphore handle
  107. Return: AL = status
  108.         00h successful
  109.         CX = semaphore value (-127 to 127)
  110.         DL = count of processes which have the semaphore open
  111.         FFh invalid handle
  112. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  113.       Alloy NTNX
  114. SeeAlso: AX=C500h"NetWare",AX=C502h,AX=C504h
  115. --------N-21C502-----------------------------
  116. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - WAIT ON SEMAPHORE
  117.     AX = C502h
  118.     CX:DX = semaphore handle
  119.     BP = timeout limit in timer ticks (1/18 sec)
  120.         0000h return immediately if semaphore already zero or negative
  121. Return: AL = status
  122.         00h successful
  123.         FEh timeout
  124.         FFh invalid handle
  125. Desc:    decrement the semaphore's value, optionally waiting until its value
  126.       becomes positive before decrementing
  127. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  128.       Alloy NTNX
  129. SeeAlso: AX=C500h"NetWare",AX=C501h,AX=C503h
  130. --------N-21C503-----------------------------
  131. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - SIGNAL SEMAPHORE
  132.     AX = C503h
  133.     CX:DX = semaphore handle
  134. Return: AL = status
  135.         00h successful
  136.         01h semaphore value overflowed
  137.         FFh invalid handle
  138. Desc:    increment the semaphore's value and signal the first process (if any)
  139.       in the queue waiting on the semaphore
  140. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  141.       Alloy NTNX
  142. SeeAlso: AX=C500h"NetWare",AX=C502h
  143. --------N-21C504-----------------------------
  144. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLOSE SEMAPHORE
  145.     AX = C504h
  146.     CX:DX = semaphore handle
  147. Return: AL = status
  148.         00h successful
  149.         FFh invalid handle
  150. Desc:    decrement the semaphore's open count, and delete the semaphore if the
  151.       count reaches zero
  152. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  153.       Alloy NTNX
  154. SeeAlso: AX=C500h"NetWare",AX=C501h
  155. --------N-21C6-------------------------------
  156. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - GET OR SET LOCK MODE
  157.     AH = C6h
  158.     AL = subfunction
  159.         00h set old "compatibility" mode (default)
  160.         01h set new extended locks mode
  161.         02h get lock mode
  162. Return: AL = current lock mode
  163. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  164.       Alloy NTNX
  165.     the locking mode should be 01h for NetWare 4.61+ and Advanced
  166.       NetWare 1.0+ locking calls, and 00h for all older calls
  167. SeeAlso: AH=BCh,AH=C4h,AH=D0h
  168. --------v-21C6-------------------------------
  169. INT 21 - VIRUS - "Socha" - INSTALLATION CHECK
  170.     AH = C6h
  171. Return: AL = 55h if resident
  172. SeeAlso: AX=C500h"VIRUS",AX=C603h
  173. --------v-21C603-----------------------------
  174. INT 21 - VIRUS - "Yankee" or "MLTI" - INSTALLATION CHECK
  175.     AX = C603h
  176.     CF set
  177. Return: CF clear if resident
  178. SeeAlso: AX=C500h"VIRUS",AX=C700h"VIRUS"
  179. --------N-21C700-----------------------------
  180. INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - BEGIN TRANSACTION
  181.     AX = C700h
  182. Return: CF clear if successful
  183.         AL = 00h
  184.     CF set on error
  185.         AL = error code
  186.         96h out of memory
  187.         FEh implicit transaction already active, converted to explicit
  188.         FFh explicit transaction already active
  189. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  190. SeeAlso: AX=C701h,AX=C702h,AX=C703h
  191. --------v-21C700-----------------------------
  192. INT 21 - VIRUS - "MH-757" - INSTALLATION CHECK
  193.     AX = C700h
  194. Return: AL = 07h if resident
  195. SeeAlso: AX=C603h"VIRUS",AH=CBh"VIRUS"
  196. --------N-21C701-----------------------------
  197. INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - END TRANSACTION
  198.     AX = C701h
  199. Return: AL = status
  200.         00h successful
  201.         CX:DX = transaction number
  202.         FDh transaction tracking disabled
  203.         FEh transaction ended records locked
  204.         FFh no explicit transaction active
  205.     CF clear except when AL=FFh
  206. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  207. SeeAlso: AX=C700h"NetWare",AX=C703h
  208. --------N-21C702-----------------------------
  209. INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - INSTALLATION CHECK
  210.     AX = C702h
  211. Return: AL = status
  212.         00h not available
  213.         01h available
  214.         FDh available but disabled
  215. Desc:    determine whether the default file server supports TTS
  216. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  217. --------N-21C703-----------------------------
  218. INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - ABORT TRANSACTION
  219.     AX = C703h
  220. Return: CF clear if successful
  221.         AL = 00h
  222.     CF set on error
  223.         AL = error code
  224.         FDh transaction tracking disabled, no backout
  225.         FEh transaction ended records locked
  226.         FFh no explicit transaction active
  227. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  228. SeeAlso: AX=C700h"NetWare",AX=C701h,AX=C704h
  229. --------N-21C704-----------------------------
  230. INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - TRANSACTION STATUS
  231.     AX = C704h
  232.     CX:DX = transaction number (see AX=C701h)
  233. Return: AL = status
  234.         00h successful
  235.         FFh not yet written to disk
  236. Desc:    verify that a transaction has actually been written to disk
  237. Notes:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  238.     transactions are written to disk in the order in which they are ended,
  239.       but it may take as much as five seconds for the data to be written
  240. SeeAlso: AX=C700h"NetWare",AX=C701h,AX=C703h
  241. --------N-21C705-----------------------------
  242. INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - GET APPLICTN THRESHOLDS
  243.     AX = C705h
  244. Return: AL = status
  245.         00h successful
  246.     CL = maximum logical record locks (default 0)
  247.     CH = maximum physical record locks (default 0)
  248. Desc:    get the per-application limits on record locks allowed before an
  249.       implicit transaction is begun
  250. Notes:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  251.     if either limit is FFh, implicit transactions are disabled for the
  252.       corresponding lock type
  253. SeeAlso: AX=C706h,AX=C707h
  254. --------N-21C706-----------------------------
  255. INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - SET APPLICTN THRESHOLDS
  256.     AX = C706h
  257.     CL = maximum logical record locks (default 0)
  258.     CH = maximum physical record locks (default 0)
  259. Return: AL = status
  260.         00h successful
  261. Desc:    specify the per-application limits on record locks allowed before an
  262.       implicit transaction is begun
  263. Notes:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  264.     if either limit is set to FFh, implicit transactions are disabled for
  265.       the corresponding lock type
  266. SeeAlso: AX=C705h,AX=C708h
  267. --------N-21C707-----------------------------
  268. INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - GET WORKSTN THRESHOLDS
  269.     AX = C707h
  270. Return: AL = status
  271.         00h successful
  272.     CL = maximum logical record locks (default 0)
  273.     CH = maximum physical record locks (default 0)
  274. Desc:    get the per-workstation limits on record locks allowed before an
  275.       implicit transaction is begun
  276. Notes:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  277.     if either limit is FFh, implicit transactions are disabled for the
  278.       corresponding lock type
  279. SeeAlso: AX=C705h,AX=C708h
  280. --------N-21C708-----------------------------
  281. INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - SET WORKSTN THRESHOLDS
  282.     AX = C708h
  283.     CL = maximum logical record locks (default 0)
  284.     CH = maximum physical record locks (default 0)
  285. Return: AL = status
  286.         00h successful
  287. Desc:    specify the per-workstation limits on record locks allowed before an
  288.       implicit transaction is begun
  289. Notes:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  290.     if either limit is set to FFh, implicit transactions are disabled for
  291.       the corresponding lock type
  292. SeeAlso: AX=C706h,AX=C707h
  293. --------N-21C8-------------------------------
  294. INT 21 O - Novell NetWare - BEGIN LOGICAL FILE LOCKING
  295.     AH = C8h
  296.     if function C6h lock mode 00h:
  297.         DL = mode
  298.         00h no wait
  299.         01h wait
  300.     if function C6h lock mode 01h:
  301.         BP = timeout in timer ticks (1/18 sec)
  302. Return: AL = error code
  303. Desc:    used to provide TTS support for applications which are not aware of
  304.       Novell's Transaction Tracking System
  305. Note:    this function was added in NetWare 4.0, but was removed some time prior
  306.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  307.       documentation
  308. SeeAlso: AH=C9h
  309. --------N-21C9-------------------------------
  310. INT 21 O - Novell NetWare - END LOGICAL FILE LOCKING
  311.     AH = C9h
  312. Return: AL = error code
  313. Desc:    used to provide TTS support for applications which are not aware of
  314.       Novell's Transaction Tracking System
  315. Note:    this function was added in NetWare 4.0, but was removed some time prior
  316.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  317.       documentation
  318. SeeAlso: AH=C8h
  319. --------N-21CA-------------------------------
  320. INT 21 O - Novell NetWare, Alloy NTNX - LOG/LOCK PERSONAL FILE (FCB)
  321.     AH = CAh
  322.     DS:DX -> FCB (see AH=0Fh)
  323.     if function C6h lock mode 01h:
  324.         AL = log and lock flag
  325.         00h log file only
  326.         01h lock as well as log file
  327.         BP = lock timeout in timer ticks (1/18 sec)
  328. Return: AL = error code
  329.         00h successful
  330.         96h no dynamic memory for file
  331.         FEh timeout
  332.         FFh failed
  333. Desc:    provides file locking support for FCBs
  334. Note:    this function was added in NetWare 4.0, but was removed some time prior
  335.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  336.       documentation
  337. SeeAlso: AH=CBh
  338. --------v-21CA15-----------------------------
  339. INT 21 - VIRUS - "Piter" - ???
  340.     AX = CA15h
  341.     ???
  342. Return: ???
  343. SeeAlso: AH=CCh"VIRUS"
  344. --------N-21CB-------------------------------
  345. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOCK FILE SET
  346.     AH = CBh
  347.     if function C6h lock mode 00h:
  348.         DL = mode
  349.         00h no wait
  350.         01h wait
  351.     if function C6h lock mode 01h:
  352.         BP = lock timeout in timer ticks (1/18 sec) 0000h = no wait
  353. Return: AL = status
  354.         00h successful
  355.         FEh timed out
  356.         FFh failed
  357. Desc:    attempt to lock all files listed in the log table
  358. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  359.       Alloy NTNX
  360.     status FFh will be returned if one or more of the files have already
  361.       been exclusively locked by another process
  362. SeeAlso: AH=CAh,AH=CDh,AH=D1h,AH=EBh
  363. --------v-21CB-------------------------------
  364. INT 21 - VIRUS - "Milous" - INSTALLATION CHECK
  365.     AH = CBh
  366. Return: AL = 07h if resident
  367. SeeAlso: AX=C700h"VIRUS",AX=CB02h
  368. --------v-21CB02-----------------------------
  369. INT 21 - VIRUS - "Witcode" - INSTALLATION CHECK
  370.     AX = CB02h
  371. Return: AX = 02CBh if resident
  372. SeeAlso: AH=CBh"VIRUS",AH=CCh"VIRUS"
  373. --------N-21CC-------------------------------
  374. INT 21 O - Novell NetWare, Alloy NTNX - RELEASE FILE (FCB)
  375.     AH = CCh
  376.     DS:DX -> FCB (see AH=0Fh)
  377. Return: none
  378. Desc:    unlocks file, but does not remove it from the log table or close it
  379. Note:    this function was added in NetWare 4.0, but was removed some time prior
  380.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  381.       documentation
  382. SeeAlso: AH=CAh,AH=CDh
  383. --------v-21CC-------------------------------
  384. INT 21 - VIRUS - "Westwood" - INSTALLATION CHECK
  385.     AH = CCh
  386. Return: AX = 0700h if resident
  387. SeeAlso: AX=CB02h,AH=CDh"VIRUS",AX=D000h"VIRUS"
  388. --------N-21CD-------------------------------
  389. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE FILE SET
  390.     AH = CDh
  391. Return: none
  392. Desc:    unlock all files listed in the log table, but don't remove them from
  393.       the table
  394. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  395.       Alloy NTNX
  396. SeeAlso: AH=CBh,AH=CCh,AH=CFh,AH=D3h
  397. --------v-21CD-------------------------------
  398. INT 21 - VIRUS - "Westwood" - ???
  399.     AH = CDh
  400.     ???
  401. Return: ???
  402. SeeAlso: AH=CCh"VIRUS"
  403. --------N-21CE-------------------------------
  404. INT 21 O - Novell NetWare, Alloy NTNX - CLEAR FILE (FCB)
  405.     AH = CEh
  406.     DS:DX -> FCB (see AH=0Fh)
  407. Return: AL = error code
  408. Desc:    unlocks file and removes it from log table, then closes all opened and
  409.       logged occurrences
  410. Note:    this function was added in NetWare 4.0, but was removed some time prior
  411.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  412.       documentation
  413. SeeAlso: AH=CAh,AH=CFh,AH=EDh"NetWare"
  414. --------N-21CF-------------------------------
  415. INT 21 - LANstep - ???
  416.     AH = CFh
  417.     ???
  418. Return: ???
  419. Program: LANstep is a redesign of the Waterloo Microsystems PORT network
  420. --------N-21CF-------------------------------
  421. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR FILE SET
  422.     AH = CFh
  423. Return: AL = 00h
  424. Desc:    unlock and remove all files from log table
  425. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  426.       Alloy NTNX
  427. SeeAlso: AH=CAh,AH=CEh,AH=EBh"NetWare"
  428. --------N-21D0-------------------------------
  429. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOG LOGICAL RECORD
  430.     AH = D0h
  431.     DS:DX -> record string (counted string, max 99 data bytes)
  432.     if function C6h lock mode 01h: (Novell, NTNX only)
  433.         AL = flags
  434.         bit 0: lock as well as log the record
  435.         bit 1: non-exclusive lock
  436.         BP = lock timeout in timer ticks (1/18 sec)
  437. Return: AL = status
  438.         00h successful
  439.         96h no dynamic memory for file
  440.         FEh timed out
  441.         FFh unsuccessful
  442. Desc:    add the specified logical record name to the log table, and optionally
  443.       lock the record
  444. Notes:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+,
  445.       Banyan VINES, and Alloy NTNX
  446.     locks on logical record names are advisory and may be ignored by other
  447.       applications
  448. SeeAlso: AH=BCh,AH=D1h,AH=D2h,AH=D4h,AH=EBh
  449. --------v-21D000-----------------------------
  450. INT 21 - VIRUS - "Fellowship" - INSTALLATION CHECK
  451.     AX = D000h
  452. Return: BX = 1234h if resident
  453. SeeAlso: AH=CCh"VIRUS",AH=D5h"VIRUS",AX=D5AAh
  454. --------N-21D1-------------------------------
  455. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOCK LOGICAL RECORD SET
  456.     AH = D1h
  457.     AL = lock type (00h exclusive, 01h shareable)
  458.     if function C6h lock mode 00h:
  459.         DL = mode
  460.         00h no wait
  461.         01h wait
  462.     if function C6h lock mode 01h: (Novell only)
  463.        BP = lock timeout in timer ticks (1/18 sec) 0000h = no wait
  464.         0000h no wait
  465. Return: AL = status (see AH=CBh)
  466. Desc:    attempt to lock all logical record names listed in the log table
  467. Notes:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+,
  468.       Banyan VINES, and Alloy NTNX
  469.     status FFh will be returned if one or more logical records have been
  470.       exclusively locked by another process
  471.     locks on logical record names are advisory and may be ignored by other
  472.       applications
  473. SeeAlso: AH=C2h,AH=CBh,AH=D0h,AH=D3h,AH=D5h
  474. --------N-21D2-------------------------------
  475. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE LOGICAL RECORD
  476.     AH = D2h
  477.     DS:DX -> semaphore identifier (counted string up to 99 chars long)
  478. Return: AL = status
  479.         00h successful
  480.         FFh no such record
  481. Desc:    unlock the logical record name but do not remove it from the log table
  482. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+,
  483.       Banyan VINES, and Alloy NTNX
  484.     locks on logical record names are advisory and may be ignored by other
  485.       applications
  486. SeeAlso: AH=BDh,AH=D0h,AH=D3h,AH=D4h
  487. --------v-21D2-------------------------------
  488. INT 21 - VIRUS???
  489.     AH = D2h
  490.     ???
  491. Return: ???
  492. Note:    this call is intercepted by the Search&Destroy SDRes v27.03 bundled
  493.       with Novell DOS 7, and is presumably some virus's installation check
  494. SeeAlso: AH=4Ah/BX=00B6h
  495. --------N-21D3-------------------------------
  496. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE LOGICAL RECORD SET
  497.     AH = D3h
  498. Desc:    unlock all currently-locked logical record names in the log table, but
  499.       do not remove them from the table
  500. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+,
  501.       Banyan VINES, and Alloy NTNX
  502.     locks on logical record names are advisory and may be ignored by other
  503.       applications
  504. SeeAlso: AH=C3h,AH=CDh,AH=D1h,AH=D2h,AH=D5h
  505. --------N-21D4-------------------------------
  506. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR LOGICAL RECORD
  507.     AH = D4h
  508.     DS:DX -> logical record name (counted string up to 99 chars long)
  509. Return: AL = status
  510.         00h successful
  511.         FFh no such record name
  512. Desc:    unlock and remove the logical record name from the log table
  513. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+,
  514.       Banyan VINES, and Alloy NTNX
  515.     locks on logical record names are advisory and may be ignored by other
  516.       applications
  517. SeeAlso: AH=BEh,AH=D0h,AH=D2h,AH=D5h
  518. --------N-21D5-------------------------------
  519. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR LOGICAL RECORD SET
  520.     AH = D5h
  521. Return: AL = error code (see AH=D4h)
  522. Desc:    unlock and remove all logical record name from the log table
  523. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+,
  524.       Banyan VINES, and Alloy NTNX
  525.     locks on logical record names are advisory and may be ignored by other
  526.       applications
  527. SeeAlso: AH=D1h,AH=D3h,AH=D4h
  528. --------v-21D5-------------------------------
  529. INT 21 - VIRUS - "Carfield" - ???
  530.     AH = D5h
  531.     ???
  532. Return: ???
  533. SeeAlso: AX=D5AAh,AH=F3h"Carfield"
  534. --------v-21D5AA-----------------------------
  535. INT 21 - VIRUS - "Diamond-A", "Diamond-B" - INSTALLATION CHECK
  536.     AX = D5AAh
  537. Return: AX = 2A55h if "Diamond-A" resident
  538.     AX = 2A03h if "Diamond-B"-family virus resident
  539. SeeAlso: AX=D000h,AH=D5h"VIRUS",AX=D5AAh/BP=DEAAh
  540. --------v-21D5AABPDEAA-----------------------
  541. INT 21 - VIRUS - "Dir" - INSTALLATION CHECK
  542.     AX = D5AAh
  543.     BP = DEAAh
  544. Return: SI = 4321h if resident
  545. SeeAlso: AX=D5AAh,AX=DADAh"VIRUS"
  546. --------N-21D6-------------------------------
  547. INT 21 - Novell NetWare - WORKSTATION - END OF JOB
  548.     AH = D6h
  549.     BX = job flag (0000h current job, FFFFh all processes on workstation)
  550. Return: AL = error code
  551. Desc:    unlocks and clears all locked or logged files and records held by the
  552.       process(es), closes all files, resets error and lock modes, and
  553.       releases all network resources
  554. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  555.       Alloy NTNX
  556. SeeAlso: AH=BBh,AH=D7h
  557. --------N-21D7-------------------------------
  558. INT 21 - Novell NetWare - CONNECTION SERVICES - SYSTEM LOGOUT
  559.     AH = D7h
  560. Return: AL = error code
  561. Desc:    this function closes the caller's open files, logs it out from all
  562.       file servers, detaches the workstation from all non-default file
  563.       servers, and maps a drive to the default server's SYS:LOGIN directory
  564. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  565.       Alloy NTNX
  566. SeeAlso: AH=D6h,AH=E3h/SF=14h,AH=F1h
  567. --------N-21D8-------------------------------
  568. INT 21 - Novell NetWare, Banyan VINES - ALLOCATE RESOURCE
  569.     AH = D8h
  570.     DL = resource number
  571. Return: AL = status
  572.         00h successful
  573.         FFh unsucessful
  574. Note:    this function is no longer used or supported by NetWare, and is not
  575.       documented in Novell documents
  576. SeeAlso: AH=D9h
  577. --------N-21D9-------------------------------
  578. INT 21 - Novell NetWare, Banyan VINES - DEALLOCATE RESOURCE
  579.     AH = D9h
  580.     DL = resource number
  581. Return: AL = status (see AH=D8h)
  582. Note:    this function is no longer used or supported by NetWare, and is not
  583.       documented in Novell documents
  584. SeeAlso: AH=D8h
  585. --------N-21DA-------------------------------
  586. INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME INFO WITH NUMBER
  587.     AH = DAh
  588.     DL = volume number
  589.     ES:DI -> reply buffer (see below)
  590. Return: AL = 00h
  591. Notes:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  592.     operator console rights are not required to make this call
  593.     reported total blocks and total unused blocks include the Hot Fix
  594.       Table; the NetWare shell's implementation of INT 21/AH=36h will
  595.       report values larger than 268MB as 268MB.
  596. SeeAlso: AH=36h,AH=E2h/SF=15h,AH=E3h/SF=E9h
  597.  
  598. Format of reply buffer:
  599. Offset    Size    Description
  600.  00h    WORD    sectors/block
  601.  02h    WORD    total blocks on volume
  602.  04h    WORD    unused blocks
  603.  06h    WORD    total directory entries
  604.  08h    WORD    unused directory entries
  605.  0Ah 16 BYTEs    volume name, null padded
  606.  1Ah    WORD    removable flag, 0000h = not removable
  607. Note:    all words are big-endian
  608. --------v-21DADA-----------------------------
  609. INT 21 - VIRUS - "Gotcha" - INSTALLATION CHECK
  610.     AX = DADAh
  611. Return: AH = A5h
  612. SeeAlso: AX=D5AAh,AX=DAFEh"VIRUS"
  613. --------v-21DAFE-----------------------------
  614. INT 21 - VIRUS - "Plovdiv 1.3" - INSTALLATION CHECK
  615.     AX = DAFEh
  616. Return: AX = 1234h if resident
  617. SeeAlso: AX=DADAh,AH=DDh"VIRUS",AH=DEh"VIRUS"
  618. --------N-21DB-------------------------------
  619. INT 21 - Novell NetWare - WORKSTATION - GET NUMBER OF LOCAL DRIVES
  620.     AH = DBh
  621. Return: AL = number of local disks as set by LASTDRIVE in CONFIG.SYS
  622. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  623.       Alloy NTNX
  624. SeeAlso: AH=0Eh
  625. --------N-21DC-------------------------------
  626. INT 21 - Novell NetWare - CONNECTION SERVICES - GET CONNECTION NUMBER
  627.     AH = DCh
  628. Return: AL = logical connection number
  629.         00h if NetWare not loaded or this machine is a non-dedicated server
  630.     CX = station number in ASCII (CL = first digit)
  631. Notes:    this function is supported by NetWare 4.0+, Banyan VINES, and Alloy
  632.       NTNX
  633.     station number only unique for those PCs connected to same semaphore
  634.       service
  635. SeeAlso: AH=F2h"NetWare"
  636. --------d-21DC-------------------------------
  637. INT 21 - PCMag PCMANAGE/DCOMPRES - TURN ON/OFF
  638.     AH = DCh
  639.     DX = state
  640.         0000h turn on
  641.         0001h turn off
  642. SeeAlso: AX=FEDCh
  643. --------N-21DD-------------------------------
  644. INT 21 - Novell NetWare - WORKSTATION - SET NetWare ERROR MODE
  645.     AH = DDh
  646.     DL = error mode
  647.         00h invoke INT 24 on critical I/O errors (default)
  648.         01h return NetWare extended error code in AL
  649.         02h return error code in AL, mapped to standard DOS error codes
  650. Return: AL = previous error mode
  651. Note:    this function is supported by Advanced NetWare 2.0+
  652. SeeAlso: INT 24
  653. --------v-21DD-------------------------------
  654. INT 21 - VIRUS - "Jerusalem"-family - RELOCATE VIRUS???
  655.     AH = DDh
  656.     CX = number of bytes to copy
  657.     DS:SI -> source of copy
  658.     ES:DI -> destination of copy
  659. Return: does not return normally; return address is caller's CS:0100h with
  660.       AX = ???
  661. SeeAlso: AH=E0h"VIRUS",AH=EEh"VIRUS"
  662. --------v-21DE-------------------------------
  663. INT 21 - VIRUS - "Durban" - INSTALLATION CHECK
  664.     AH = DEh
  665. Return: AH = DFh if resident
  666. SeeAlso: AX=DAFEh,AX=DEDEh"VIRUS"
  667. --------v-21DE-------------------------------
  668. INT 21 - VIRUS - "April 1st EXE" - ???
  669.     AH = DEh
  670.     ???
  671. Return: ???
  672. --------N-21DE-------------------------------
  673. INT 21 - Novell NetWare - MESSAGE SERVICES - SET BROADCAST MODE
  674.     AH = DEh
  675.     DL = broadcast mode
  676.         00h receive server and workstation broadcasts (default)
  677.         01h receive server broadcasts, discard user messages
  678.         02h store server broadcasts for retrieval
  679.         03h store all broadcasts for retrieval
  680. Return: AL = new broadcast mode
  681. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  682. --------N-21DE--DL04-------------------------
  683. INT 21 - Novell NetWare - MESSAGE SERVICES - GET BROADCAST MODE
  684.     AH = DEh
  685.     DL = 04h
  686. Return: AL = current broadcast mode
  687.         00h receive server and workstation broadcasts (default)
  688.         01h receive server broadcasts, discard user message
  689.         02h store server broadcasts for retrieval
  690.         03h store all broadcasts for retrieval
  691. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  692. --------N-21DE-------------------------------
  693. INT 21 - Novell NetWare - SHELL TIMER INTERRUPT CHECKS
  694.     AH = DEh
  695.     DL = function
  696.         05h disable shell timer interrupt checks
  697.         06h enable shell timer interrupt checks
  698. Return: ???
  699. Note:    this function was added in NetWare 4.0, but is not listed in current
  700.       Novell documentation and is probably no longer supported
  701. --------v-21DEDE-----------------------------
  702. INT 21 - VIRUS - "Brothers" - INSTALLATION CHECK
  703.     AX = DEDEh
  704. Return: AH = 41h if resident
  705. SeeAlso: AH=DEh"VIRUS",AH=E0h"VIRUS"
  706. --------N-21DF--DL00-------------------------
  707. INT 21 - Novell NetWare - PRINT SERVICES - START LPT CAPTURE
  708.     AH = DFh
  709.     DL = 00h
  710. Return: AL = status
  711.         00h successful
  712. Desc:    this function redirects the default LPT to a capture file on the file
  713.       server
  714. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  715.       Alloy NTNX; under NTNX, it sends a print break (see INT 17/AH=84h)
  716.     a print job is queued when the first character of output is captured
  717. SeeAlso: AX=B800h,AX=B804h,AH=DFh/DL=01h,AH=DFh/DL=02h,AH=DFh/DL=03h
  718. SeeAlso: AH=DFh/DL=04h,AX=F003h
  719. --------N-21DF--DL01-------------------------
  720. INT 21 - Novell NetWare - PRINT SERVICES - END LPT CAPTURE
  721.     AH = DFh
  722.     DL = 01h
  723. Return: AL = status
  724.         00h successful
  725. Desc:    stop redirecting the default LPT, close the capture file, and release
  726.       the job in the print queue for printing
  727. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  728.       Alloy NTNX; under NTNX, it sends a print break (see INT 17/AH=84h)
  729.     after this call, the default LPT defaults to local printing
  730. SeeAlso: AH=DFh/DL=00h,AH=DFh/DL=02h,AH=DFh/DL=03h,AH=DFh/DL=05h
  731. --------N-21DF--DL02-------------------------
  732. INT 21 - Novell NetWare - PRINT SERVICES - CANCEL LPT CAPTURE
  733.     AH = DFh
  734.     DL = 02h
  735. Return: AL = status
  736.         00h successful
  737. Desc:    this function ends the capture of the default LPT, removes the job from
  738.       the print queue, and deletes the capture file unless it is a
  739.       permanent capture file
  740. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  741.       Alloy NTNX; under NTNX, it sends a print break (see INT 17/AH=84h)
  742.     after this call, the default LPT defaults to local printing
  743. SeeAlso: AH=DFh/DL=00h,AH=DFh/DL=06h
  744. --------N-21DF--DL03-------------------------
  745. INT 21 - Novell NetWare - PRINT SERVICES - FLUSH LPT CAPTURE
  746.     AH = DFh
  747.     DL = 03h
  748. Return: AL = status
  749.         00h successful
  750. Desc:    this function closes the current capture file for the default LPT
  751.       and starts printing it if it is not a permanent capture file
  752. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  753.       Alloy NTNX; under NTNX, it sends a print break (see INT 17/AH=84h)
  754.     if more data is sent to the LPT port after this call, a new capture
  755.       file will be opeend
  756. SeeAlso: AH=DFh/DL=00h,AH=DFh/DL=01h,AH=DFh/DL=02h,AH=DFh/DL=07h
  757. --------N-21DF--DL04-------------------------
  758. INT 21 - Novell NetWare - PRINT SERVICES - START SPECIFIC LPT CAPTURE
  759.     AH = DFh
  760.     DL = 04h
  761.     DH = LPT port (00h-02h)
  762. Return: AL = status
  763.         00h successful
  764. Desc:    this function redirects the specified LPT to a capture file on the file
  765.       server
  766. Notes:    this function is supported by Advanced NetWare 2.1+
  767.     a print job is queued when the first character of output is captured
  768. SeeAlso: AX=B800h,AH=DFh/DL=00h,AH=DFh/DL=05h,AH=DFh/DL=06h,AH=DFh/DL=07h
  769. SeeAlso: AX=F003h
  770. --------N-21DF--DL05-------------------------
  771. INT 21 - Novell NetWare - PRINT SERVICES - END SPECIFIC LPT CAPTURE
  772.     AH = DFh
  773.     DL = 05h
  774.     DH = LPT port (00h-02h)
  775. Return: AL = status
  776.         00h successful
  777. Desc:    stop redirecting the specified LPT, close the capture file, and release
  778.       the job in the print queue for printing
  779. Notes:    this function is supported by Advanced NetWare 2.1+
  780.     after this call, the specified LPT defaults to local printing
  781. SeeAlso: AH=DFh/DL=01h,AH=DFh/DL=04h,AH=DFh/DL=06h,AH=DFh/DL=07h
  782. --------N-21DF--DL06-------------------------
  783. INT 21 - Novell NetWare - PRINT SERVICES - CANCEL SPECIFIC LPT CAPTURE
  784.     AH = DFh
  785.     DL = 06h
  786.     DH = LPT port (00h-02h)
  787. Return: AL = status
  788.         00h successful
  789. Desc:    this function ends the capture of the specified LPT, removes the job
  790.       from the print queue, and deletes the capture file unless it is a
  791.       permanent capture file
  792. Notes:    this function is supported by Advanced NetWare 2.1+
  793.     after this call, the specified LPT defaults to local printing
  794. SeeAlso: AH=DFh/DL=02h,AH=DFh/DL=04h,AH=DFh/DL=05h,AH=DFh/DL=07h
  795. --------N-21DF--DL07-------------------------
  796. INT 21 - Novell NetWare - PRINT SERVICES - FLUSH SPECIFIC LPT CAPTURE
  797.     AH = DFh
  798.     DL = 07h
  799.     DH = LPT port (00h-02h)
  800. Return: AL = status
  801.         00h successful
  802. Desc:    this function closes the current capture file for the specified LPT
  803.       and starts printing it if it is not a permanent capture file
  804. Notes:    this function is supported by Advanced NetWare 2.1+
  805.     if more data is sent to the LPT port after this call, a new capture
  806.       file will be opeend
  807. SeeAlso: AH=DFh/DL=03h,AH=DFh/DL=04h,AH=DFh/DL=05h,AH=DFh/DL=06h
  808. --------T-21DF00DX534C-----------------------
  809. INT 21 U - Software Carousel - INSTALLATION CHECK
  810.     AX = DF00h
  811.     DX = 534Ch ("SL")
  812.     DI = 534Ch ("SL")
  813. Return: AX = 00FFh if installed
  814.         ???
  815. Program: Software Carousel is a task switcher by SoftLogic Solutions, Inc.
  816. --------T-21DF01-----------------------------
  817. INT 21 - Software Carousel - SWITCH TO ANOTHER TASK
  818.     AX = DF01h
  819.     BL = task number (00h = next task)
  820. Return: AL = status
  821.         00h Carousel not running
  822.         01h successful
  823.         FFh unsucessful
  824.         AH = error code (01h,02h) (see below)
  825.  
  826. Values for error code:
  827.  00h    invalid subfunction in AL
  828.  01h    invalid task number
  829.  02h    tried to switch to task with no memory size
  830.  03h    tried to kill program in partition with no program running
  831.  04h    tried to change size of an active memory partition
  832.  05h    invalid memory size
  833.  06h    tried to send command to task with a pending previous command
  834. --------T-21DF02-----------------------------
  835. INT 21 - Software Carousel - KILL PROGRAM IN MEMORY PARTITION
  836.     AX = DF02h
  837.     BL = task number
  838. Return: AL = status
  839.         00h Carousel not running
  840.         01h successful
  841.         FFh unsucessful
  842.         AH = error code (01h,03h) (see AX=DF01h)
  843. --------T-21DF03-----------------------------
  844. INT 21 - Software Carousel - GET PARTITION SIZE AND PROGRAM STATUS
  845.     AX = DF03h
  846.     BL = task number
  847. Return: AL = status
  848.         00h Carousel not running
  849.         01h successful
  850.         BL = partition state (00h no program running, 01h prog running)
  851.         DX = partition size in KB
  852.         FFh unsucessful
  853.         AH = error code (01h) (see AX=DF01h)
  854. SeeAlso: AX=DF05h
  855. --------T-21DF04-----------------------------
  856. INT 21 - Software Carousel - GET PARTITION NAME
  857.     AX = DF04h
  858.     BL = task number
  859. Return: AL = status
  860.         00h Carousel not running
  861.         01h successful
  862.         CX = length of name (00h if default partition name)
  863.         ES:BX -> partition name (if CX nonzero)
  864.         FFh unsucessful
  865.         AH = error code (01h) (see AX=DF01h)
  866. SeeAlso: AX=DF06h
  867. --------T-21DF05-----------------------------
  868. INT 21 - Software Carousel - CHANGE PARTITION SIZE
  869.     AX = DF05h
  870.     BL = task number
  871.     DX = new size in KB
  872. Return: AL = status
  873.         00h Carousel not running
  874.         01h successful
  875.         FFh unsucessful
  876.         AH = error code (01h,04h,05h) (see AX=DF01h)
  877.     BX = minimum size allowed
  878.     CX = maximum size available
  879. SeeAlso: AX=DF03h
  880. --------T-21DF06-----------------------------
  881. INT 21 - Software Carousel - CHANGE PARTITION NAME
  882.     AX = DF06h
  883.     BL = task number
  884.     CX = length of new name (00h to use default, max 18h)
  885.     DS:SI -> new name
  886. Return: AL = status
  887.         00h Carousel not running
  888.         01h successful
  889.         FFh unsucessful
  890.         AH = error code (01h) (see AX=DF01h)
  891. SeeAlso: AX=DF04h
  892. --------T-21DF07-----------------------------
  893. INT 21 - Software Carousel - SEND COMMAND TO MEMORY SECTION
  894.     AX = DF07h
  895.     BL = task number
  896.     CX = length of command (max 8 chars)
  897.     DS:SI -> command line
  898. Return: AL = status
  899.         00h Carousel not running
  900.         01h successful
  901.         FFh unsucessful
  902.         AH = error code (01h,06h) (see AX=DF01h)
  903. Note:    the maximum length seems too small and may be a typo for 80 characters
  904. --------T-21DF08-----------------------------
  905. INT 21 - Software Carousel - SELECTIVELY ENABLE/DISABLE MENU AND SWITCHING
  906.     AX = DF08h
  907.     BL = new state of keyboard (00h disabled, 01h enabled)
  908. Return: AL = status
  909.         00h Carousel not running
  910.         01h successful
  911. Program: Software Carousel is a task switcher by SoftLogic Solutions, Inc.
  912. Note:    when the keyboard is is disabled, the user may neither access the
  913.       Carousel menu nor switch to another memory section
  914. --------T-21DF09-----------------------------
  915. INT 21 - Software Carousel - BOOT THE SYSTEM
  916.     AX = DF09h
  917. Return: AL = status
  918.         00h Carousel not running
  919.         FFh unsucessful
  920.         AH = error code (01h,03h) (see AX=DF01h)
  921. Note:    this function never returns is successful
  922. --------T-21DF0A-----------------------------
  923. INT 21 - Software Carousel - GET MEMORY SIZE/PARTITION NUMBER OF CURRENT TASK
  924.     AX = DF0Ah
  925. Return: AL = status
  926.         00h Carousel not running
  927.         01h successful
  928.         BL = task number
  929.         DX = memory size in KB
  930.         FFh unsucessful
  931.         AH = error code (01h,03h) (see AX=DF01h)
  932. --------T-21DF0B-----------------------------
  933. INT 21 - Software Carousel - SET TASK SWITCH CALLBACK
  934.     AX = DF0Bh
  935.     BH = interrupt number or 00h
  936.     BL = function number to invoke on partition switch
  937.     CL = function number to call when it is safe for resident programs
  938.         to perform DOS calls
  939.     DS:DX -> FAR function to call if BH=00h
  940. Return: AL = status
  941.         00h Carousel not running
  942.         01h successful
  943.         FFh unsucessful
  944.         AH = error code (01h,03h) (see AX=DF01h)
  945. Notes:    the specified interrupt or FAR function is called with AH set to the
  946.       appropriate one of the values specified in BL and CL, and BL set to
  947.       the new task number
  948.     the function specified by CL will not be called until the notification
  949.       is enabled with AX=DF0Ch
  950. SeeAlso: AX=DF0Ch
  951. --------T-21DF0C-----------------------------
  952. INT 21 - Software Carousel - ENABLE DOS-CALL SAFETY NOTIFICATION
  953.     AX = DF0Ch
  954. Return: AL = status
  955.         00h Carousel not running
  956.         01h successful
  957. Program: Software Carousel is a task switcher by SoftLogic Solutions, Inc.
  958. SeeAlso: AX=DF0Bh
  959. --------O-21E0-------------------------------
  960. INT 21 - Digital Research DOS Plus - CALL BDOS
  961.     AH = E0h
  962.     CL = BDOS function number (see INT E0"CP/M")
  963.     other registers as appropriate for function
  964. Return: as appropriate for function
  965. SeeAlso: AX=4459h,INT E0"CP/M"
  966. --------E-21E0-------------------------------
  967. INT 21 - OS/286, OS/386 - INITIALIZE REAL PROCEDURE
  968.     AH = E0h
  969.     ???
  970. Return: ???
  971. SeeAlso: AH=E1h"OS/286"
  972. --------T-21E0-------------------------------
  973. INT 21 - DoubleDOS - MENU CONTROL
  974.     AH = E0h
  975.     AL = subfunction
  976.         01h exchange tasks
  977.         73h resume invisible job if suspended
  978.         74h kill other job
  979.         75h suspend invisible job
  980. Note:    identical to AH=F0h
  981. SeeAlso: AH=F0h"DoubleDOS"
  982. --------v-21E0-------------------------------
  983. INT 21 - VIRUS - "Jerusalem", "Armagedon" - INSTALLATION CHECK
  984.     AH = E0h
  985. Return: AX = 0300h if "Jerusalem" resident
  986.     AX = DADAh if "Armagedon" resident
  987. SeeAlso: AH=DEh"VIRUS",AX=DEDEh"VIRUS",AX=E00Fh
  988. --------N-21E0-------------------------------
  989. INT 21 - Novell NetWare, Alloy NTNX - PRINT SPOOLING
  990.     AH = E0h
  991.     DS:SI -> request buffer (see below)
  992.     ES:DI -> reply buffer
  993. Return: AL = status
  994. Note:    this function was added in NetWare 4.0, but is no longer listed in
  995.       current Novell documentation and may no longer be supported
  996. SeeAlso: AH-E3h/SF=68h
  997.  
  998. Format of request buffer:
  999. Offset    Size    Description
  1000.  00h    WORD    length of following data
  1001.  02h    BYTE    subfunction
  1002.         00h spool data to a capture file
  1003.         01h close and queue capture file
  1004.         02h set spool flags
  1005.         03h spool existing file
  1006.         04h get spool queue entry
  1007.         05h remove entry from spool queue
  1008.  03h    ???
  1009. --------N-21E0--SF06-------------------------
  1010. INT 21 - Novell NetWare - PRINT SERVICES - GET PRINTER STATUS
  1011.     AH = E0h subfn 06h
  1012.     DS:SI -> request buffer (see below)
  1013.     ES:DI -> reply buffer (see below)
  1014. Return: AL = status
  1015.         00h successful
  1016.         FFh no such printer
  1017. Desc:    get current state of specified printer attached to the server
  1018. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1019.       Alloy NTNX
  1020.  
  1021. Format of request buffer:
  1022. Offset    Size    Description
  1023.  00h    WORD    0002h (length of following data)
  1024.  02h    BYTE    06h (subfunction "Get Printer Status")
  1025.  03h    BYTE    printer number (00h-04h)
  1026.  
  1027. Format of reply buffer:
  1028. Offset    Size    Description
  1029.  00h    WORD    (call) 0004h (size of following results buffer)
  1030.  02h    BYTE    flag: 00h printer active, FFh printer halted
  1031.  03h    BYTE    flag: 00h printer online, 01h printer offline
  1032.  04h    BYTE    current form type
  1033.  05h    BYTE    target printer number (00h-04h)
  1034.         same as number in request buffer unless rerouted by server
  1035.         console
  1036. --------N-21E0--SF09-------------------------
  1037. INT 21 - Novell NetWare - PRINT SERVICES - SPECIFY CAPTURE FILE
  1038.     AH = E0h subfn 09h
  1039.     DS:SI -> request buffer (see below)
  1040.     ES:DI -> reply buffer (see below)
  1041. Return: AL = status
  1042.         00h successful
  1043.         9Ch invalid path
  1044. Desc:    create a permanent capture file for the next print capture to be
  1045.       started
  1046. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1047.       Alloy NTNX
  1048.     the caller must have read, write, and create rights for the directory
  1049.       containing the capture file
  1050.  
  1051. Format of request buffer:
  1052. Offset    Size    Description
  1053.  00h    WORD    length of following data (max 102h)
  1054.  02h    BYTE    09h (subfunction "Specify Capture File")
  1055.  03h    BYTE    directory handle or 00h
  1056.  04h    BYTE    length of filename
  1057.  05h  N BYTEs    name of capture file
  1058.  
  1059. Format of reply buffer:
  1060. Offset    Size    Description
  1061.  00h    WORD    (call) 0000h (no results returned)
  1062. --------v-21E00F-----------------------------
  1063. INT 21 - VIRUS - "8-tunes" - INSTALLATION CHECK
  1064.     AX = E00Fh
  1065. Return: AX = 4C31h if resident
  1066. SeeAlso: AH=E0h"VIRUS",AH=E1h"VIRUS"
  1067. --------E-21E1-------------------------------
  1068. INT 21 - OS/286, OS/386 - ISSUE REAL PROCEDURE CALL
  1069.     AH = E1h
  1070.     ???
  1071. Return: ???
  1072. Note:    protected mode only???
  1073. SeeAlso: AH=E0h"OS/286",AH=E2h"OS/286",AH=E3h"OS/286",AX=250Eh,INT 31/AX=0301h
  1074. --------T-21E1-------------------------------
  1075. INT 21 - DoubleDOS - CLEAR KEYBOARD BUFFER FOR CURRENT JOB
  1076.     AH = E1h
  1077. SeeAlso: AH=E2h"DoubleDOS",AH=E3h"DoubleDOS",AH=E8h"DoubleDOS"
  1078. SeeAlso: AH=F1h"DoubleDOS"
  1079. --------v-21E1-------------------------------
  1080. INT 21 - VIRUS - "Mendoza", "Fu Manchu" - INSTALLATION CHECK
  1081.     AH = E1h
  1082. Return: AX = 0300h if "Mendoza" resident
  1083.     AX = 0400h if "Fu Manchu" resident
  1084. SeeAlso: AX=E00Fh,AH=E4h"VIRUS"
  1085. --------N-21E1--SF00-------------------------
  1086. INT 21 - Novell NetWare - MESSAGE SERVICES - SEND BROADCAST MESSAGE
  1087.     AH = E1h subfn 00h
  1088.     DS:SI -> request buffer (see below)
  1089.     ES:DI -> reply buffer (see below)
  1090. Return: AL = status
  1091.         00h successful
  1092.         FEh I/O error or out of dynamic workspace
  1093. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  1094. SeeAlso: AH=DEh"NetWare",AH=DEh/DL=04h,AH=E1h/SF=01h,AH=E1h/SF=04h
  1095. SeeAlso: AH=E1h/SF=09h
  1096.  
  1097. Format of request buffer:
  1098. Offset    Size    Description
  1099.  00h    WORD    length of following data (max 9Eh)
  1100.  02h    BYTE    00h (subfunction "Send Broadcast Message")
  1101.  03h    BYTE    number of connections (01h-64h)
  1102.  04h  N BYTEs    list of connections to receive broadcast message
  1103.     BYTE    length of message (01h-37h)
  1104.       N BYTEs    broadcast message (no control characters or characters > 7Eh)
  1105.  
  1106. Format of reply buffer:
  1107. Offset    Size    Description
  1108.  00h    WORD    (call) size of following results buffer (max 65h)
  1109.  02h    BYTE    number of connections
  1110.  03h  N BYTEs    list of per-connection results
  1111.         00h successful
  1112.         FCh message rejected due to lack of buffer space
  1113.         FDh invalid connection number
  1114.         FFh blocked (see also AH=E1h/SF=02h)
  1115. --------N-21E1--SF01-------------------------
  1116. INT 21 - Novell NetWare - MESSAGE SERVICES - GET BROADCAST MESSAGE
  1117.     AH = E1h subfn 01h
  1118.     DS:SI -> request buffer (see below)
  1119.     ES:DI -> reply buffer (see below)
  1120. Return: AL = status
  1121.         00h successful
  1122.         FCh full message queue
  1123.         FEh out of dynamic workspace
  1124. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  1125. SeeAlso: AH=DEh/DL=04h,AH=E1h/SF=00h,AH=E1h/SF=05h,AH=E1h/SF=09h
  1126.  
  1127. Format of request buffer:
  1128. Offset    Size    Description
  1129.  00h    WORD    0001h (length of following data)
  1130.  02h    BYTE    01h (subfunction "Get Broadcast Message")
  1131.  
  1132. Format of reply buffer:
  1133. Offset    Size    Description
  1134.  00h    WORD    (call) size of following results buffer (max 38h)
  1135.  02h    BYTE    length of message (00h-37h)
  1136.         00h if no broadcast messages pending
  1137.  03h  N BYTEs    message (no control characters or characters > 7Eh)
  1138. --------N-21E1-------------------------------
  1139. INT 21 - Novell NetWare - MESSAGE SERVICES - ENABLE/DISABLE BROADCAST MESSAGES
  1140.     AH = E1h
  1141.     DS:SI -> request buffer (see below)
  1142.     ES:DI -> reply buffer
  1143. Return: AL = error code
  1144. Note:    these functions are supported by NetWare 4.0+ but are not listed in
  1145.       _NetWare_System_Calls--DOS_; they may be obsolete
  1146. SeeAlso: AH=E1h/SF=00h,AH=E1h/SF=04h,AH=E1h/SF=09h
  1147.  
  1148. Format of request buffer:
  1149. Offset    Size    Description
  1150.  00h    WORD    length of following data (max 9Eh)
  1151.  02h    BYTE    subfunction
  1152.         02h disable station broadcasts
  1153.         03h enable station broadcasts
  1154.  03h    ???
  1155.  
  1156. Format of reply buffer:
  1157. Offset    Size    Description
  1158.  00h    WORD    (call) size of following results buffer
  1159.  02h    ???
  1160. --------N-21E1--SF04-------------------------
  1161. INT 21 - Novell NetWare - MESSAGE SERVICES - SEND PERSONAL MESSAGE
  1162.     AH = E1h subfn 04h
  1163.     DS:SI -> request buffer (see below)
  1164.     ES:DI -> reply buffer (see below)
  1165. Return: AL = status
  1166.         00h successful
  1167.         FEh I/O error or out of dynamic workspace
  1168. Notes:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  1169.     message pipes use CPU time on the file server; IPX, SPX, or NetBIOS
  1170.       connections should be used for peer-to-peer communications as these
  1171.       protocols do not use file server time
  1172. SeeAlso: AH=E1h/SF=00h,AH=E1h/SF=05h,AH=E1h/SF=06h,AH=E1h/SF=08h
  1173.  
  1174. Format of request buffer:
  1175. Offset    Size    Description
  1176.  00h    WORD    length of following data (max E5h)
  1177.  02h    BYTE    04h (subfunction "Send Personal Message")
  1178.  03h    BYTE    number of connections (01h-64h)
  1179.  04h  N BYTEs    list of connections to receive broadcast message
  1180.     BYTE    length of message (01h-7Eh)
  1181.       N BYTEs    message (no control characters or characters > 7Eh)
  1182.  
  1183. Format of reply buffer:
  1184. Offset    Size    Description
  1185.  00h    WORD    (call) size of following results buffer (max 65h)
  1186.  02h    BYTE    number of connections
  1187.  03h  N BYTEs    list of per-connection results
  1188.         00h successful
  1189.         FCh message rejected because queue is full (contains 6 msgs)
  1190.         FDh incomplete pipe
  1191.         FFh failed
  1192. --------N-21E1--SF05-------------------------
  1193. INT 21 - Novell NetWare - MESSAGE SERVICES - GET PERSONAL MESSAGE
  1194.     AH = E1h subfn 05h
  1195.     DS:SI -> request buffer (see below)
  1196.     ES:DI -> reply buffer (see below)
  1197. Return: AL = status
  1198.         00h successful
  1199.         FEh out of dynamic workspace
  1200. Desc:    return the oldest message in the default file server's message queue
  1201.       for the calling workstation
  1202. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  1203. SeeAlso: AH=E1h/SF=01h,AH=E1h/SF=04h,AH=E1h/SF=06h,AH=E1h/SF=08h
  1204.  
  1205. Format of request buffer:
  1206. Offset    Size    Description
  1207.  00h    WORD    0001h (length of following data)
  1208.  02h    BYTE    05h (subfunction "Get Personal Message")
  1209.  
  1210. Format of reply buffer:
  1211. Offset    Size    Description
  1212.  00h    WORD    (call) size of following results buffer (max 80h)
  1213.  02h    BYTE    connection number of sending station
  1214.  03h    BYTE    length of message (00h-7Eh)
  1215.         00h if no personal messages pending
  1216.  04h  N BYTEs    message (no control characters or characters > 7Eh)
  1217. --------N-21E1--SF06-------------------------
  1218. INT 21 - Novell NetWare - MESSAGE SERVICES - OPEN MESSAGE PIPE
  1219.     AH = E1h subfn 06h
  1220.     DS:SI -> request buffer (see below)
  1221.     ES:DI -> reply buffer (see below)
  1222. Return: AL = status
  1223.         00h successful
  1224.         FEh out of dynamic workspace
  1225. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  1226. SeeAlso: AH=E1h/SF=04h,AH=E1h/SF=07h,AH=E1h/SF=08h
  1227.  
  1228. Format of request buffer:
  1229. Offset    Size    Description
  1230.  00h    WORD    length of following data (max 66h)
  1231.  02h    BYTE    06h (subfunction "Open Message Pipe")
  1232.  03h    BYTE    number of pipes to open (01h-64h)
  1233.  04h  N BYTEs    list of connection numbers
  1234.  
  1235. Format of reply buffer:
  1236. Offset    Size    Description
  1237.  00h    WORD    (call) size of following results buffer (max 65h)
  1238.  02h    BYTE    number of connections
  1239.  03h  N BYTEs    list of results
  1240.         00h successful
  1241.         FEh incomplete (target half not yet created)
  1242.         FFh failed
  1243. --------N-21E1--SF07-------------------------
  1244. INT 21 - Novell NetWare - MESSAGE SERVICES - CLOSE MESSAGE PIPE
  1245.     AH = E1h subfn 07h
  1246.     DS:SI -> request buffer (see below)
  1247.     ES:DI -> reply buffer (see below)
  1248. Return: AL = status
  1249.         00h successful
  1250.         FCh full message queue
  1251.         FEh out of dynamic workspace
  1252. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  1253. SeeAlso: AH=E1h/SF=05h,AH=E1h/SF=06h,AH=E1h/SF=08h
  1254.  
  1255. Format of request buffer:
  1256. Offset    Size    Description
  1257.  00h    WORD    length of following data (max 66h)
  1258.  02h    BYTE    07h (subfunction "Close Message Pipe")
  1259.  03h    BYTE    number of pipes to close (01h-64h)
  1260.  04h  N BYTEs    list of connection numbers
  1261.  
  1262. Format of reply buffer:
  1263. Offset    Size    Description
  1264.  00h    WORD    (call) size of following results buffer (max 65h)
  1265.  02h    BYTE    number of connections
  1266.  03h  N BYTEs    list of results
  1267.         00h successful
  1268.         FDh failed
  1269.         FFh no such pipe
  1270. --------N-21E1--SF08-------------------------
  1271. INT 21 - Novell NetWare - MESSAGE SERVICES - CHECK PIPE STATUS
  1272.     AH = E1h subfn 08h
  1273.     DS:SI -> request buffer (see below)
  1274.     ES:DI -> reply buffer (see below)
  1275. Return: AL = status (see below)
  1276. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  1277. SeeAlso: AH=E1h/SF=05h,AH=E1h/SF=06h,AH=E1h/SF=07h
  1278.  
  1279. Values for status:
  1280.  00h    successful
  1281.  FCh    full message queue
  1282.  FEh    out of dynamic workspace
  1283.  
  1284. Format of request buffer:
  1285. Offset    Size    Description
  1286.  00h    WORD    length of following data (max 66h)
  1287.  02h    BYTE    08h (subfunction "Check Pipe Status")
  1288.  03h    BYTE    number of pipes to monitor (01h-64h)
  1289.  04h  N BYTEs    list of connection numbers
  1290.  
  1291. Format of reply buffer:
  1292. Offset    Size    Description
  1293.  00h    WORD    (call) size of following results buffer (max 65h)
  1294.  02h    BYTE    number of connections
  1295.  03h  N BYTEs    list of pipe statuses
  1296.         00h open
  1297.         FEh incomplete
  1298.         FFh closed
  1299. --------N-21E1--SF09-------------------------
  1300. INT 21 - Novell NetWare - MESSAGE SERVICES - BROADCAST TO CONSOLE
  1301.     AH = E1h subfn 09h
  1302.     DS:SI -> request buffer (see below)
  1303.     ES:DI -> reply buffer (see below)
  1304. Return: AL = status (see AH=E1h/SF=08h)
  1305. Desc:    send a one-line message to the system console on the default file
  1306.       server
  1307. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  1308. SeeAlso: AH=DEh/DL=04h,AH=E1h/SF=00h,AH=E1h/SF=01h,AH=E3h/SF=D1h
  1309.  
  1310. Format of request buffer:
  1311. Offset    Size    Description
  1312.  00h    WORD    length of following data (max 3Eh)
  1313.  02h    BYTE    09h (subfunction "Broadcast to Console")
  1314.  03h    BYTE    length of message (01h-3Ch)
  1315.  04h  N BYTEs    message (no control characters or characters > 7Eh)
  1316.  
  1317. Format of reply buffer:
  1318. Offset    Size    Description
  1319.  00h    WORD    (call) 0000h (no results returned)
  1320. --------E-21E2-------------------------------
  1321. INT 21 - OS/286, OS/386 - SET REAL PROCEDURE SIGNAL HANDLER
  1322.     AH = E2h
  1323.     ???
  1324. Return: ???
  1325. SeeAlso: AH=E0h"OS/286",AH=E1h"OS/286",AH=E6h"OS/286"
  1326. --------N-21E2-------------------------------
  1327. INT 21 - DoubleDOS - SEND CHARACTER TO KEYBOARD BUFFER OF OTHER JOB
  1328.     AH = E2h
  1329.     AL = character
  1330. Return: AL = 00h successful
  1331.          01h buffer full (128 characters)
  1332. SeeAlso: AH=E1h"DoubleDOS",AH=E3h"DoubleDOS",AH=E8h"DoubleDOS"
  1333. SeeAlso: AH=F2h"DoubleDOS"
  1334. --------N-21E2--SF00-------------------------
  1335. INT 21 - Novell NetWare - DIRECTORY SERVICES - SET DIRECTORY HANDLE
  1336.     AH = E2h subfn 00h
  1337.     DS:SI -> request buffer (see below)
  1338.     ES:DI -> reply buffer (see below)
  1339. Return: AL = status (00h,98h,9Bh,9Ch) (see below)
  1340. Desc:    set the target handle to reference the directory specified by the
  1341.       source handle and the source path; both handles must refer to the
  1342.       same file server
  1343. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1344.       Alloy NTNX
  1345.     the target handle is not changed if this function fails
  1346. SeeAlso: AH=E2h/SF=01h,AH=E2h/SF=12h,AH=E2h/SF=13h
  1347.  
  1348. Values for status:
  1349.  00h    successful
  1350.  84h    not permitted to create
  1351.  8Ah    not permitted to delete
  1352.  8Bh    not permitted to rename
  1353.  8Ch    not permitted to modify
  1354.  98h    nonexistent volume
  1355.  9Bh    invalid directory handle
  1356.  9Ch    invalid path
  1357.  9Eh    invalid filename
  1358.  9Fh    directory currently in use
  1359.  A0h    directory not empty
  1360.  FCh    no such bindery object
  1361.  
  1362. Format of request buffer:
  1363. Offset    Size    Description
  1364.  00h    WORD    length of following data (max 103h)
  1365.  02h    BYTE    00h (subfunction "Set Directory Handle")
  1366.  03h    BYTE    directory handle of target
  1367.  04h    BYTE    directory handle of source
  1368.  05h    BYTE    length of source directory path (01h-FFh)
  1369.  06h  N BYTEs    source directory path
  1370.  
  1371. Format of reply buffer:
  1372. Offset    Size    Description
  1373.  00h    WORD    (call) 0000h (no results returned)
  1374. --------N-21E2--SF01-------------------------
  1375. INT 21 - Novell NetWare - DIRECTORY SERVICES - GET DIRECTORY PATH
  1376.     AH = E2h subfn 01h
  1377.     DS:SI -> request buffer (see below)
  1378.     ES:DI -> reply buffer (see below)
  1379. Return: AL = status (00h,9Bh) (see AH=E2h/SF=00h)
  1380. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1381.       Alloy NTNX
  1382. SeeAlso: AH=E2h/SF=02h,AH=E2h/SF=03h,AH=E2h/SF=1Ah,AH=E9h
  1383.  
  1384. Format of request buffer:
  1385. Offset    Size    Description
  1386.  00h    WORD    0002h (length of following data)
  1387.  02h    BYTE    01h (subfunction "Get Directory Path")
  1388.  03h    BYTE    directory handle
  1389.  
  1390. Format of reply buffer:
  1391. Offset    Size    Description
  1392.  00h    WORD    (call) length of following data buffer
  1393.  02h    BYTE    length of directory path (01h-FFh)
  1394.  03h  N BYTEs    full directory path including volume
  1395. --------N-21E2--SF02-------------------------
  1396. INT 21 - Novell NetWare - DIRECTORY SERVICES - SCAN DIRECTORY INFORMATION
  1397.     AH = E2h subfn 02h
  1398.     DS:SI -> request buffer (see below)
  1399.     ES:DI -> reply buffer (see below)
  1400. Return: AL = status (00h,98h,9Bh,9Ch) (see AH=E2h/SF=00h)
  1401. Desc:    get information about the first or next subdirectory of the specified
  1402.       directory
  1403. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1404.       Alloy NTNX
  1405. SeeAlso: AH=E2h/SF=01h,AH=E2h/SF=03h,AH=E2h/SF=19h
  1406.  
  1407. Format of request buffer:
  1408. Offset    Size    Description
  1409.  00h    WORD    length of following data (max 104h)
  1410.  02h    BYTE    02h (subfunction "Scan Directory Information")
  1411.  03h    BYTE    directory handle
  1412.  04h    WORD    (big-endian) subdirectory number
  1413.         0000h for first call, returned subdir number + 1 on next call
  1414.  06h    BYTE    length of directory path
  1415.  07h  N BYTEs    directory path
  1416.  
  1417. Format of reply buffer:
  1418. Offset    Size    Description
  1419.  00h    WORD    (call) 001Ch (length of following data buffer)
  1420.  02h 16 BYTEs    subdirectory name
  1421.  12h    DWORD    (big-endian) date and time of creation (see below)
  1422.  16h    DWORD    (big-endian) object ID of owner
  1423.  1Ah    BYTE    maximum directory rights (see AH=E2h/SF=03h)
  1424.  1Bh    BYTE    unused
  1425.  1Ch    WORD    (big-endian) subdirectory number
  1426.  
  1427. Bitfields for date and time:
  1428. Bit(s)    Description
  1429.  31-25    year-1980
  1430.  24-21    month
  1431.  20-16    day
  1432.  15-11    hour
  1433.  10-5    minute
  1434.  4-0    second
  1435. --------N-21E2--SF03-------------------------
  1436. INT 21 - Novell NetWare - DIRECTORY SERVICES - GET EFFECTIVE DIRECTORY RIGHTS
  1437.     AH = E2h subfn 03h
  1438.     DS:SI -> request buffer (see below)
  1439.     ES:DI -> reply buffer (see below)
  1440. Return: AL = status (00h,98h,9Bh) (see AH=E2h/SF=00h)
  1441. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1442.       Alloy NTNX
  1443. SeeAlso: AH=E2h/SF=01h,AH=E2h/SF=02h
  1444.  
  1445. Format of request buffer:
  1446. Offset    Size    Description
  1447.  00h    WORD    length of following data (max 102h)
  1448.  02h    BYTE    03h (subfunction "Get Effective Directory Rights")
  1449.  03h    BYTE    directory handle
  1450.  04h    BYTE    length of directory path (00h-FFh)
  1451.  05h  N BYTEs    directory path
  1452.  
  1453. Format of reply buffer:
  1454. Offset    Size    Description
  1455.  00h    WORD    (call) 0001h (length of following data buffer)
  1456.  02h    BYTE    effective directory rights (see below)
  1457.  
  1458. Bitfields for directory rights:
  1459. Bit(s)    Description
  1460.  0    reading allowed
  1461.  1    writing allowed
  1462.  2    opens allowed
  1463.  3    file creation allowed
  1464.  4    deletion allowed
  1465.  5    "parental" may create/delete subdirectories and grant/revoke trustee
  1466.       rights
  1467.  6    directory search allowed
  1468.  7    file attributes may be changed
  1469. --------N-21E2--SF04-------------------------
  1470. INT 21 - Novell NetWare - DIRECTORY SERVICES - MODIFY MAXIMUM RIGHTS MASK
  1471.     AH = E2h subfn 04h
  1472.     DS:SI -> request buffer (see below)
  1473.     ES:DI -> reply buffer (see below)
  1474. Return: AL = status (00h,8Ch,98h,9Ch) (see AH=E2h/SF=00h)
  1475. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1476.       Alloy NTNX
  1477. SeeAlso: AH=E2h/SF=03h,AH=E2h/SF=0Ah,AH=E2h/SF=0Dh
  1478.  
  1479. Format of request buffer:
  1480. Offset    Size    Description
  1481.  00h    WORD    length of following data (max 104h)
  1482.  02h    BYTE    04h (subfunction "Modify Maximum Rights Mask")
  1483.  03h    BYTE    directory handle
  1484.  04h    BYTE    rights to grant (see AH=E2h/SF=03h)
  1485.  05h    BYTE    rights to revoke (see AH=E2h/SF=03h)
  1486.  06h    BYTE    length of directory path (00h-FFh)
  1487.  07h  N BYTEs    directory path
  1488. Note:    the rights specified at offset 05h are revoked first, and then the
  1489.       rights specified at offset 04h are added to the resulting rights
  1490.       mask
  1491.  
  1492. Format of reply buffer:
  1493. Offset    Size    Description
  1494.  00h    WORD    (call) 0000h (no results returned)
  1495. --------N-21E2--SF05-------------------------
  1496. INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME NUMBER
  1497.     AH = E2h subfn 05h
  1498.     DS:SI -> request buffer (see below)
  1499.     ES:DI -> reply buffer (see below)
  1500. Return: AL = status (00h,98h) (see AH=E2h/SF=00h)
  1501. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1502.       Alloy NTNX
  1503. SeeAlso: AH=DAh,AH=E2h/SF=02h,AH=E2h/SF=05h,AH=E2h/SF=15h,AH=E3h/SF=E9h
  1504.  
  1505. Format of request buffer:
  1506. Offset    Size    Description
  1507.  00h    WORD    length of following data (max 12h)
  1508.  02h    BYTE    05h (subfunction "Get Volume Number")
  1509.  03h    BYTE    length of volume name (01h-10h)
  1510.  04h  N BYTEs    volume name
  1511.  
  1512. Format of reply buffer:
  1513. Offset    Size    Description
  1514.  00h    WORD    (call) 0001h (length of following results buffer)
  1515.  02h    BYTE    volume number
  1516. --------N-21E2--SF06-------------------------
  1517. INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME NAME
  1518.     AH = E2h subfn 06h
  1519.     DS:SI -> request buffer (see below)
  1520.     ES:DI -> reply buffer (see below)
  1521. Return: AL = status (00h,98h) (see AH=E2h/SF=00h)
  1522. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1523.       Alloy NTNX
  1524. SeeAlso: AH=DAh,AH=E2h/SF=02h,AH=E2h/SF=05h,AH=E2h/SF=15h,AH=E2h/SF=1Ah
  1525. SeeAlso: AH=E3h/SF=E9h
  1526.  
  1527. Format of request buffer:
  1528. Offset    Size    Description
  1529.  00h    WORD    0002h (length of following data)
  1530.  02h    BYTE    06h (subfunction "Get Volume Name")
  1531.  03h    BYTE    volume number
  1532.  
  1533. Format of reply buffer:
  1534. Offset    Size    Description
  1535.  00h    WORD    (call) 0011h (length of following results buffer)
  1536.  02h    BYTE    length of volume name
  1537.  03h 16 BYTEs    NUL-padded volume name
  1538. --------N-21E2--SF0A-------------------------
  1539. INT 21 - Novell NetWare - DIRECTORY SERVICES - CREATE DIRECTORY
  1540.     AH = E2h subfn 0Ah
  1541.     DS:SI -> request buffer (see below)
  1542.     ES:DI -> reply buffer (see below)
  1543. Return: AL = status (00h,84h,98h,FCh) (see AH=E2h/SF=00h)
  1544. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1545.       Alloy NTNX
  1546. SeeAlso: AH=39h,AH=E2h/SF=0Bh,AH=E2h/SF=0Fh
  1547.  
  1548. Format of request buffer:
  1549. Offset    Size    Description
  1550.  00h    WORD    length of following data (max 103h)
  1551.  02h    BYTE    0Ah (subfunction "Create Directory")
  1552.  03h    BYTE    directory handle
  1553.  04h    BYTE    maximum directory rights (see AH=E2h/SF=01h)
  1554.  05h    BYTE    length of directory path (00h-FFh)
  1555.  06h  N BYTEs    directory path
  1556.  
  1557. Format of reply buffer:
  1558. Offset    Size    Description
  1559.  00h    WORD    (call) 0000h (no data returned)
  1560. --------N-21E2--SF0B-------------------------
  1561. INT 21 - Novell NetWare - DIRECTORY SERVICES - DELETE DIRECTORY
  1562.     AH = E2h subfn 0Bh
  1563.     DS:SI -> request buffer (see below)
  1564.     ES:DI -> reply buffer (see below)
  1565. Return: AL = status (00h,8Ah,98h,9Bh,9Ch,9Fh,A0h) (see AH=E2h/SF=00h)
  1566. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1567.       Alloy NTNX
  1568. SeeAlso: AH=3Ah,AH=E2h/SF=0Ah,AH=E2h/SF=0Fh
  1569.  
  1570. Format of request buffer:
  1571. Offset    Size    Description
  1572.  00h    WORD    length of following data (max 103h)
  1573.  02h    BYTE    0Bh (subfunction "Delete Directory")
  1574.  03h    BYTE    directory handle
  1575.  04h    BYTE    unused
  1576.  05h    BYTE    length of directory path (00h-FFh)
  1577.  06h  N BYTEs    directory path
  1578.  
  1579. Format of reply buffer:
  1580. Offset    Size    Description
  1581.  00h    WORD    (call) 0000h (no data returned)
  1582. --------N-21E2--SF0C-------------------------
  1583. INT 21 - Novell NetWare - DIRECTORY SERVICES - SCAN DIRECTORY FOR TRUSTEES
  1584.     AH = E2h subfn 0Ch
  1585.     DS:SI -> request buffer (see below)
  1586.     ES:DI -> reply buffer (see below)
  1587. Return: AL = status
  1588.         00h successful
  1589.         9Ch no more trustees
  1590. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  1591. SeeAlso: AH=E2h/SF=0Dh,AH=E2h/SF=0Eh,AH=E3h/SF=47h
  1592.  
  1593. Format of request buffer:
  1594. Offset    Size    Description
  1595.  00h    WORD    length of following data (max 103h)
  1596.  02h    BYTE    0Ch (subfunction "Scan Directory For Trustees")
  1597.  03h    BYTE    directory handle
  1598.  04h    BYTE    sequence number
  1599.         00h on first call, increment for each subsequent call
  1600.  05h    BYTE    length of directory path (00h-FFh)
  1601.  06h  N BYTEs    directory path
  1602.  
  1603. Format of reply buffer:
  1604. Offset    Size    Description
  1605.  00h    WORD    (call) 0031h (length of following results buffer)
  1606.  02h 16 BYTEs    directory name
  1607.  12h  4 BYTEs    date and time of creation
  1608.  16h    DWORD    (big-endian) object ID of owner
  1609.  1Ah  5 DWORDs    (big-endian) object IDs of Trustees 0 through 4
  1610.         00000000h = end of group
  1611.  2Eh  5 BYTEs    directory rights for Trustees 0 through 4 (see AH=E2h/SF=03h)
  1612. --------N-21E2--SF0D-------------------------
  1613. INT 21 - Novell NetWare - DIRECTORY SERVICES - ADD TRUSTEE TO DIRECTORY
  1614.     AH = E2h subfn 0Dh
  1615.     DS:SI -> request buffer (see below)
  1616.     ES:DI -> reply buffer (see below)
  1617. Return: AL = status (00h,8Ch,FCh) (see AH=E2h/SF=00h)
  1618. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1619.       Alloy NTNX
  1620. SeeAlso: AH=E2h/SF=0Ch,AH=E2h/SF=0Eh,AH=E3h/SF=47h
  1621.  
  1622. Format of request buffer:
  1623. Offset    Size    Description
  1624.  00h    WORD    length of following data (max 107h)
  1625.  02h    BYTE    0Dh (subfunction "Add Trustee To Directory")
  1626.  03h    BYTE    directory handle
  1627.  04h    DWORD    (big-endian) object ID of trustee
  1628.  08h    BYTE    trustee directory rights (see AH=E2h/SF=01h)
  1629.  09h    BYTE    length of directory path (00h-FFh)
  1630.  0Ah  N BYTEs    directory path
  1631.  
  1632. Format of reply buffer:
  1633. Offset    Size    Description
  1634.  00h    WORD    (call) 0000h (no data returned)
  1635. --------N-21E2--SF0E-------------------------
  1636. INT 21 - Novell NetWare - DIRECTORY SERVICES - DELETE TRUSTEE FROM DIRECTORY
  1637.     AH = E2h subfn 0Eh
  1638.     DS:SI -> request buffer (see below)
  1639.     ES:DI -> reply buffer (see below)
  1640. Return: AL = status (00h,98h,9Bh,9Ch) (see AH=E2h/SF=00h)
  1641. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1642.       Alloy NTNX
  1643. SeeAlso: AH=E2h/SF=0Ch,AH=E2h/SF=0Dh
  1644.  
  1645. Format of request buffer:
  1646. Offset    Size    Description
  1647.  00h    WORD    length of following data (max 107h)
  1648.  02h    BYTE    0Eh (subfunction "Delete Trustee From Directory")
  1649.  03h    BYTE    directory handle
  1650.  04h    DWORD    (big-endian) object ID of trustee
  1651.  08h    BYTE    unused
  1652.  09h    BYTE    length of directory path (00h-FFh)
  1653.  0Ah  N BYTEs    directory path
  1654.  
  1655. Format of reply buffer:
  1656. Offset    Size    Description
  1657.  00h    WORD    (call) 0000h (no data returned)
  1658. --------N-21E2--SF0F-------------------------
  1659. INT 21 - Novell NetWare - DIRECTORY SERVICES - RENAME DIRECTORY
  1660.     AH = E2h subfn 0Fh
  1661.     DS:SI -> request buffer (see below)
  1662.     ES:DI -> reply buffer (see below)
  1663. Return: AL = status (00h,8Bh,9Bh,9Ch,9Eh) (see AH=E2h/SF=00h)
  1664. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1665.       Alloy NTNX
  1666.     directories SYS:LOGIN, SYS:MAIL, and SYS:PUBLIC must not be renamed
  1667. SeeAlso: AH=56h,AH=E2h/SF=0Ah,AH=E2h/SF=0Bh
  1668.  
  1669. Format of request buffer:
  1670. Offset    Size    Description
  1671.  00h    WORD    length of following data (max 111h)
  1672.  02h    BYTE    0Fh (subfunction "Rename Directory")
  1673.  03h    BYTE    directory handle
  1674.  04h    BYTE    length of directory path (00h-FFh)
  1675.  05h  N BYTEs    directory path
  1676.     BYTE    length of new directory name (01h-0Eh)
  1677.       N BYTEs    new directory name
  1678.  
  1679. Format of reply buffer:
  1680. Offset    Size    Description
  1681.  00h    WORD    (call) 0000h (no data returned)
  1682. --------N-21E2--SF10-------------------------
  1683. INT 21 - Novell NetWare - FILE SERVICES - PURGE ERASED FILES
  1684.     AH = E2h subfn 10h
  1685.     DS:SI -> request buffer (see below)
  1686.     ES:DI -> reply buffer (see below)
  1687. Return: AL = status
  1688.         00h successful
  1689.         C6h no console rights
  1690. Desc:    purges files marked for deletion on the file server by the calling
  1691.       workstation
  1692. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1693.       Alloy NTNX
  1694. SeeAlso: AH=13h,AH=41h,AH=E2h/SF=11h,AH=E3h/SF=CEh,AX=F244h
  1695.  
  1696. Format of request buffer:
  1697. Offset    Size    Description
  1698.  00h    WORD    0001h (length of following data)
  1699.  02h    BYTE    10h (subfunction "Purge Erased Files")
  1700.  
  1701. Format of reply buffer:
  1702. Offset    Size    Description
  1703.  00h    WORD    (call) 0000h (no results returned)
  1704. --------N-21E2--SF11-------------------------
  1705. INT 21 - Novell NetWare - FILE SERVICES - RESTORE ERASED FILE
  1706.     AH = E2h subfn 11h
  1707.     DS:SI -> request buffer (see below)
  1708.     ES:DI -> reply buffer (see below)
  1709. Return: AL = status
  1710.         00h successful
  1711.         98h nonexistent volume
  1712.         FFh no more erased files
  1713. Desc:    restores one file marked for deletion which has not yet been purged
  1714. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1715.       Alloy NTNX
  1716. SeeAlso: AH=13h,AH=41h,AH=E2h/SF=10h,AH=E3h/SF=CEh,AX=F244h
  1717.  
  1718. Format of request buffer:
  1719. Offset    Size    Description
  1720.  00h    WORD    length of following data (max 13h)
  1721.  02h    BYTE    11h (subfunction "Restore Erased File")
  1722.  03h    BYTE    directory handle or 00h
  1723.  04h    BYTE    length of volume name
  1724.  05h  N BYTEs    volume name (including colon)
  1725. Note:    if both a directory handle and a volume name are specified, the volume
  1726.       name overrides the handle
  1727.  
  1728. Format of reply buffer:
  1729. Offset    Size    Description
  1730.  00h    WORD    (call) 001Eh (size of following results buffer)
  1731.  02h 15 BYTEs    ASCIZ name of erased file
  1732.  11h 15 BYTEs    ASCIZ name under which file was restored
  1733. --------N-21E2--SF12-------------------------
  1734. INT 21 - Novell NetWare - DIRECTORY SERVICES - ALLOC PERMANENT DIRECTORY HANDLE
  1735.     AH = E2h subfn 12h
  1736.     DS:SI -> request buffer (see below)
  1737.     ES:DI -> reply buffer (see below)
  1738. Return: AL = status (00h,98h,9Ch) (see AH=E2h/SF=00h)
  1739. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1740.       Alloy NTNX
  1741. SeeAlso: AH=E2h/SF=00h,AH=E2h/SF=13h,AH=E2h/SF=14h
  1742.  
  1743. Format of request buffer:
  1744. Offset    Size    Description
  1745.  00h    WORD    length of following data (max 103h)
  1746.  02h    BYTE    12h (subfunction "Alloc Permanent Directory Handle")
  1747.  03h    BYTE    directory handle
  1748.  04h    BYTE    drive ('A'-'Z')
  1749.  05h    BYTE    length of directory path
  1750.  06h  N BYTEs    directory path
  1751.  
  1752. Format of reply buffer:
  1753. Offset    Size    Description
  1754.  00h    WORD    (call) 0002h (size of following results buffer)
  1755.  02h    BYTE    new directory handle
  1756.  03h    BYTE    effective directory rights (see AH=E2h/SF=01h)
  1757. --------N-21E2--SF13-------------------------
  1758. INT 21 - Novell NetWare - DIRECTORY SERVICES - ALLOC TEMPORARY DIRECTORY HANDLE
  1759.     AH = E2h subfn 13h
  1760.     DS:SI -> request buffer (see below)
  1761.     ES:DI -> reply buffer (see AH=E2h/SF=12h)
  1762. Return: AL = status (00h,98h,9Ch) (see AH=E2h/SF=00h)
  1763. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1764.       Alloy NTNX
  1765.     this call is the same as AH=E2h/SF=12h except that the directory handle
  1766.       will be automatically deallocated when the calling application
  1767.       executes an End of Job call (AH=D6h) or terminates
  1768. SeeAlso: AH=D6h,AH=E2h/SF=00h,AH=E2h/SF=12h,AH=E2h/SF=14h,AH=E2h/SF=16h
  1769.  
  1770. Format of request buffer:
  1771. Offset    Size    Description
  1772.  00h    WORD    length of following data (max 103h)
  1773.  02h    BYTE    13h (subfunction "Alloc Temporary Directory Handle")
  1774.  03h    BYTE    directory handle
  1775.  04h    BYTE    drive ('A'-'Z')
  1776.  05h    BYTE    length of directory path
  1777.  06h  N BYTEs    directory path
  1778. --------N-21E2--SF14-------------------------
  1779. INT 21 - Novell NetWare - DIRECTORY SERVICES - DEALLOCATE DIRECTORY HANDLE
  1780.     AH = E2h subfn 14h
  1781.     DS:SI -> request buffer (see below)
  1782.     ES:DI -> reply buffer (see below)
  1783. Return: AL = status (00h,9Bh) (see AH=E2h/SF=00h)
  1784. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1785.       Alloy NTNX
  1786. SeeAlso: AH=E2h/SF=12h,AH=E2h/SF=13h
  1787.  
  1788. Format of request buffer:
  1789. Offset    Size    Description
  1790.  00h    WORD    0002h (length of following data)
  1791.  02h    BYTE    14h (subfunction "Deallocate Directory Handle")
  1792.  03h    BYTE    directory handle
  1793.  
  1794. Format of reply buffer:
  1795. Offset    Size    Description
  1796.  00h    WORD    (call) 0000h (no returned data)
  1797. --------N-21E2--SF15-------------------------
  1798. INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME INFO WITH HANDLE
  1799.     AH = E2h subfn 15h
  1800.     DS:SI -> request buffer (see below)
  1801.     ES:DI -> reply buffer (see below)
  1802. Return: AL = status
  1803.         00h successful
  1804. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1805.       Alloy NTNX
  1806. SeeAlso: AH=DAh,AH=E2h/SF=02h,AH=E2h/SF=06h,AH=E2h/SF=19h,AH=E3h/SF=E9h
  1807.  
  1808. Format of request buffer:
  1809. Offset    Size    Description
  1810.  00h    WORD    0002h (length of following data)
  1811.  02h    BYTE    15h (subfunction "Get Volume Info With Handle")
  1812.  03h    BYTE    directory handle
  1813.  
  1814. Format of reply buffer:
  1815. Offset    Size    Description
  1816.  00h    WORD    (call) 001Ch (length of following results buffer)
  1817.  02h    WORD    (big-endian) sectors per block
  1818.  04h    WORD    (big-endian) total blocks on volume
  1819.  06h    WORD    (big-endian) blocks available on volume
  1820.  08h    WORD    (big-endian) total directory slots
  1821.  0Ah    WORD    (big-endian) directory slots available
  1822.  0Ch 16 BYTEs    NUL-padded volume name
  1823.  1Ch    WORD    (big-endian) flag: volume removable if nonzero
  1824. --------N-21E2--SF16-------------------------
  1825. INT 21 u - Novell NetWare - DIRECTORY SERVICES - ALLOC SPECIAL TEMP DIR HANDLE
  1826.     AH = E2h subfn 16h
  1827.     DS:SI -> request buffer (see below)
  1828.     ES:DI -> reply buffer
  1829. Return: AL = status
  1830. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX,
  1831.       but is not described in _NetWare_System_Calls--DOS_
  1832. SeeAlso: AH=E2h/SF=13h,AH=E2h/SF=14h
  1833.  
  1834. Format of request buffer:
  1835. Offset    Size    Description
  1836.  00h    WORD    length of following data
  1837.  02h    BYTE    16h (subfunction "Allocate Special Temporary Directory Handle")
  1838.     ???
  1839. --------N-21E2--SF17-------------------------
  1840. INT 21 - Novell NetWare - DIRECTORY SERVICES - SAVE DIRECTORY HANDLE
  1841.     AH = E2h subfn 17h
  1842.     DS:SI -> request buffer (see below)
  1843.     ES:DI -> reply buffer (see below)
  1844. Return: AL = status
  1845.         00h successful
  1846.         else network error code
  1847. Note:    this function is supported by Advanced NetWare 2.0+ and Alloy NTNX
  1848. SeeAlso: AH=E2h/SF=12h,AH=E2h/SF=17h
  1849.  
  1850. Format of request buffer:
  1851. Offset    Size    Description
  1852.  00h    WORD    0002h (length of following data)
  1853.  02h    BYTE    18h (subfunction "Restore Directory Handle")
  1854.  03h    BYTE    directory handle
  1855.  
  1856. Format of reply buffer:
  1857. Offset    Size    Description
  1858.  00h    WORD    (call) 0010h (length of following results buffer)
  1859.  02h 16 BYTEs    save buffer
  1860. --------N-21E2--SF18-------------------------
  1861. INT 21 - Novell NetWare - DIRECTORY SERVICES - RESTORE DIRECTORY HANDLE
  1862.     AH = E2h subfn 18h
  1863.     DS:SI -> request buffer (see below)
  1864.     ES:DI -> reply buffer (see below)
  1865. Return: AL = status
  1866.         00h successful
  1867.         else network error code
  1868. Desc:    restore a previously saved directory handle to reproduce an executing
  1869.       environment, possibly on a different execution site
  1870. Note:    this function is supported by Advanced NetWare 2.0+ and Alloy NTNX
  1871. SeeAlso: AH=E2h/SF=12h,AH=E2h/SF=17h
  1872.  
  1873. Format of request buffer:
  1874. Offset    Size    Description
  1875.  00h    WORD    0011h (length of following data)
  1876.  02h    BYTE    18h (subfunction "Restore Directory Handle")
  1877.  03h 16 BYTEs    save buffer
  1878.  
  1879. Format of reply buffer:
  1880. Offset    Size    Description
  1881.  00h    WORD    (call) 0002h (length of following results buffer)
  1882.  02h    BYTE    new directory handle
  1883.  03h    BYTE    effective rights (see AH=E2h/SF=03h)
  1884. --------N-21E2--SF19-------------------------
  1885. INT 21 - Novell NetWare - DIRECTORY SERVICES - SET DIRECTORY INFORMATION
  1886.     AH = E2h subfn 19h
  1887.     DS:SI -> request buffer (see below)
  1888.     ES:DI -> reply buffer (see below)
  1889. Return: AL = status (00h,9Bh,9Ch) (see AH=E2h/SF=00h)
  1890. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  1891. SeeAlso: AH=E2h/SF=02h,AH=E2h/SF=0Fh
  1892.  
  1893. Format of request buffer:
  1894. Offset    Size    Description
  1895.  00h    WORD    length of following data (max 10Bh)
  1896.  02h    BYTE    19h (subfunction "Set Directory Information")
  1897.  03h    BYTE    directory handle
  1898.  04h    DWORD    (big-endian) date and time of creation
  1899.  08h    DWORD    (big-endian) object ID of owner
  1900.  0Ch    BYTE    maximum directory rights (see AH=E2h/SF=03h)
  1901.  0Dh    BYTE    length of directory path
  1902.  0Eh  N BYTEs    directory path
  1903.  
  1904. Format of reply buffer:
  1905. Offset    Size    Description
  1906.  00h    WORD    (call) 0000h (no results returned)
  1907. --------N-21E2--SF1A-------------------------
  1908. INT 21 - Novell NetWare - FILE SERVER - GET PATH FROM DIRECTORY ENTRY
  1909.     AH = E2h subfn 1Ah
  1910.     DS:SI -> request buffer (see below)
  1911.     ES:DI -> reply buffer (see below)
  1912. Return: AL = status
  1913.         00h successful
  1914. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1915.       Alloy NTNX
  1916. SeeAlso: AH=E2h/SF=01h,AH=E2h/SF=06h,AH=E3h/SF=D7h
  1917.  
  1918. Format of request buffer:
  1919. Offset    Size    Description
  1920.  00h    WORD    0004h (length of following data)
  1921.  02h    BYTE    1Ah (subfunction "Get Path From Directory Entry")
  1922.  03h    BYTE    volume number (00h-1Fh)
  1923.  04h    WORD    (big-endian) directory entry number
  1924.  
  1925. Format of reply buffer:
  1926. Offset    Size    Description
  1927.  00h    WORD    (call) size of following results record (max 200h)
  1928.  02h 256 BYTEs    path
  1929. --------E-21E3-------------------------------
  1930. INT 21 - OS/286, OS/386 - ISSUE REAL INTERRUPT
  1931.     AH = E3h
  1932.     AL = interrupt number
  1933.     ???
  1934. Return: ???
  1935. Note:    protected mode only???
  1936. SeeAlso: AH=E1h"OS/286",INT 31/AX=0300h
  1937. --------T-21E3-------------------------------
  1938. INT 21 - DoubleDOS - ADD CHARACTER TO KEYBOARD BUFFER OF CURRENT JOB
  1939.     AH = E3h
  1940.     AL = character
  1941. Return: AL = 00h successful
  1942.          01h buffer full (128 characters)
  1943. SeeAlso: AH=E1h"DoubleDOS",AH=E2h"DoubleDOS",AH=E8h"DoubleDOS"
  1944. SeeAlso: AH=F3h"DoubleDOS"
  1945. --------N-21E3-------------------------------
  1946. INT 21 - Novell NetWare - CONNECTION CONTROL
  1947.     AH = E3h
  1948.     DS:SI -> request buffer (see below)
  1949.     ES:DI -> reply buffer (see below)
  1950. Return: AL = status
  1951.         00h successful
  1952.         else error code
  1953. Note:    supported by NetWare 4.0+, Advanced NetWare 1.0+, and Alloy NTNX
  1954. SeeAlso: AH=E3h/SF=0Ah,AH=E3h/SF=32h,AH=E3h/SF=64h,AH=E3h/SF=C8h
  1955.  
  1956. Format of request buffer:
  1957. Offset    Size    Description
  1958.  00h    WORD    length of following data
  1959.  02h    BYTE    subfunction number
  1960.         00h login
  1961.         01h change password
  1962.         02h map user to station set
  1963.         03h map object to number
  1964.         04h map number to object
  1965.         05h get station's logged information
  1966.         06h get station's root mask (obsolete)
  1967.         07h map group name to number
  1968.         08h map number to group name
  1969.         09h get memberset M of group G
  1970.     var    depends on subfunction
  1971. Notes:    the above subfunctions are not described in _NetWare_System_Calls--DOS_
  1972.     see separate entries below for other subfunctions
  1973.  
  1974. Format of reply buffer:
  1975. Offset    Size    Description
  1976.  00h    WORD    (call) length of following buffer space for results
  1977.     var    depends on subfunction
  1978.  
  1979. Format of object property:
  1980. Offset    Size    Description
  1981.  00h 1-16 BYTEs property name
  1982.   N    BYTE    flags
  1983.         bit 0: property is dynamic
  1984.         bit 1: property is a set rather than an item
  1985.  N+1    BYTE    security levels (see below)
  1986.     ???
  1987.  
  1988. Names of well-known properties:
  1989.  ACCOUNT_BALANCE
  1990.  ACCOUNT_SERVERS
  1991.  GROUP_MEMBERS
  1992.  GROUPS_I'M_IN
  1993.  IDENTIFICATION        user's name
  1994.  LOGIN_CONTROL
  1995.  NET_ADDRESS
  1996.  OPERATORS
  1997.  PASSWORD
  1998.  SECURITY_EQUALS
  1999.  
  2000. Values for security levels:
  2001.  00h    "anyone" everyone may access
  2002.  01h    "logged" only logged-in clients may access
  2003.  02h    "object" only clients logged-in with object's name, type, and password
  2004.  03h    "supervisor" only clients logged-in with supervisor privileges
  2005.  04h    "NetWare" only NetWare may access
  2006. Note:    the above values are stored in a nybble; the high half-byte is write
  2007.       access and the low half-byte is read access
  2008.  
  2009. Values for object type:
  2010.  0000h    unknown
  2011.  0001h    user
  2012.  0002h    user group
  2013.  0003h    print queue
  2014.  0004h    file server
  2015.  0005h    job server
  2016.  0006h    gateway
  2017.  0007h    print server
  2018.  0008h    archive queue
  2019.  0009h    archive server
  2020.  000Ah    job queue
  2021.  000Bh    administration
  2022.  0026h    remote bridge server
  2023.  0047h    advertising print server
  2024.  0048h-8000h reserved
  2025.  FFFFh    wild (used only for finding objects)
  2026. --------N-21E3--SF0A-------------------------
  2027. INT 21 - Novell NetWare - CONNECTION SERVICES - ENTER LOGIN AREA
  2028.     AH = E3h subfn 0Ah
  2029.     DS:SI -> request buffer (see below)
  2030.     ES:DI -> reply buffer (see below)
  2031. Return: AL = status
  2032.         00h successful
  2033. Desc:    change the login directory for the calling workstation
  2034. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  2035.       Alloy NTNX
  2036. SeeAlso: AH=D7h,AH=E3h/SF=14h
  2037.  
  2038. Format of request buffer:
  2039. Offset    Size    Description
  2040.  00h    WORD    length of following data (max 102h)
  2041.  02h    BYTE    0Ah (subfunction "Enter Login Area")
  2042.  03h    BYTE    number of local drives
  2043.  04h    BYTE    length of subdirectory name (00h-FFh)
  2044.  05h  N BYTEs    name of subdirectory under SYS:LOGIN where to find the login
  2045.         utility
  2046.  
  2047. Format of reply buffer:
  2048. Offset    Size    Description
  2049.  00h    WORD    (call) 0000h (no data returned)
  2050. --------N-21E3--SF0C-------------------------
  2051. INT 21 U - Novell NetWare - VERIFY NETWORK SERIAL NUMBER
  2052.     AH = E3h subfn 0Ch
  2053.     DS:SI -> request buffer (see below)
  2054.     ES:DI -> reply buffer (see below)
  2055. Return: AL = status
  2056.         00h successful
  2057. Note:    if the network serial number to be verified is correct, the reply
  2058.       buffer will contain the corresponding application number
  2059. SeeAlso: AH=E3h/SF=12h
  2060.  
  2061. Format of request buffer:
  2062. Offset    Size    Description
  2063.  00h    WORD    0005h (length of following data)
  2064.  02h    BYTE    0Ch (subfunction "Verify Network Serial Number")
  2065.  03h    DWORD    (big-endian) network serial number to verify
  2066.  
  2067. Format of reply buffer:
  2068. Offset    Size    Description
  2069.  00h    WORD    (call) 0002h (size of following results buffer)
  2070.  02h    WORD    (big-endian) application number
  2071. --------N-21E3--SF0D-------------------------
  2072. INT 21 - Novell NetWare - MESSAGE SERVICES - LOG NETWORK MESSAGE
  2073.     AH = E3h subfn 0Dh
  2074.     DS:SI -> request buffer (see below)
  2075.     ES:DI -> reply buffer (see below)
  2076. Return: AL = status
  2077.         00h successful
  2078. Desc:    append a line to the default file server's NET$LOG.MSG file
  2079. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  2080.       Alloy NTNX
  2081. SeeAlso: AH=E1h/SF=09h
  2082.  
  2083. Format of request buffer:
  2084. Offset    Size    Description
  2085.  00h    WORD    length of following data (max 52h)
  2086.  02h    BYTE    0Dh (subfunction "Log Network Message")
  2087.  03h    BYTE    length of message (01h-50h)
  2088.  04h  N BYTEs    message (no control characters or characters > 7Eh)
  2089. --------N-21E3--SF0E-------------------------
  2090. INT 21 - Novell NetWare - FILE SERVER - GET DISK UTILIZATION
  2091.     AH = E3h subfn 0Eh
  2092.     DS:SI -> request buffer (see below)
  2093.     ES:DI -> reply buffer (see below)
  2094. Return: AL = status
  2095.         00h successful
  2096.         98h nonexistent volume
  2097.         F2h not permitted to read object
  2098. Notes:    this function is supported by Advanced NetWare 2.1+
  2099.     the caller must have bindery object read privileges
  2100. SeeAlso: AH=E3h/SF=11h,AH=E3h/SF=D6h,AH=E3h/SF=D9h,AH=E3h/SF=E6h,AH=E3h/SF=E9h
  2101.  
  2102. Format of request buffer:
  2103. Offset    Size    Description
  2104.  00h    WORD    0005h (length of following data)
  2105.  02h    BYTE    0Eh (subfunction "Get Disk Utilization")
  2106.  03h    BYTE    volume number (00h-1Fh)
  2107.  04h    DWORD    (big-endian) object ID
  2108.  
  2109. Format of reply buffer:
  2110. Offset    Size    Description
  2111.  00h    WORD    (call) 000Bh (size of following results buffer)
  2112.  02h    BYTE    volume number (00h-1Fh)
  2113.  03h    DWORD    (big-endian) object ID
  2114.  07h    WORD    (big-endian) directories used by object
  2115.  09h    WORD    (big-endian) files created by object
  2116.  0Bh    WORD    (big-endian) disk blocks used by object-created files
  2117. --------N-21E3--SF0F-------------------------
  2118. INT 21 - Novell NetWare - FILE SERVICES - SCAN FILE INFORMATION
  2119.     AH = E3h subfn 0Fh
  2120.     DS:SI -> request buffer (see below)
  2121.     ES:DI -> reply buffer (see below)
  2122. Return: AL = status
  2123.         00h successful
  2124.         89h not permitted to search directory
  2125.         FFh no more matching files
  2126. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2127. SeeAlso: AH=B6h,AH=E3h/SF=10h
  2128.  
  2129. Format of request buffer:
  2130. Offset    Size    Description
  2131.  00h    WORD    length of following data (max 105h)
  2132.  02h    BYTE    0Fh (subfunction "Scan File Information")
  2133.  03h    WORD    (big-endian) sequence number
  2134.         FFFFh on first call
  2135.  05h    BYTE    directory handle or 00h
  2136.  06h    BYTE    search attributes (see AX=4301h)
  2137.  07h    BYTE    length of filespec
  2138.  08h  N BYTEs    ASCIZ uppercase filespec
  2139.  
  2140. Format of reply buffer:
  2141. Offset    Size    Description
  2142.  00h    WORD    (call) 005Eh (size of following results buffer)
  2143.  02h    WORD    next sequence number (place in request buffer for next call)
  2144.  04h 14 BYTEs    ASCIZ filename
  2145.  12h    BYTE    file attributes (see AX=4301h for format)
  2146.  13h    BYTE    extended file attributes (see AH=B6h for format)
  2147.  14h    DWORD    (big-endian) file size in bytes
  2148.  18h    WORD    (big-endian) file's creation date (see AX=5700h for format)
  2149.  1Ah    WORD    (big-endian) date of last access (see AX=5700h for format)
  2150.  1Ch    DWORD    (big-endian) date and time of last update (see AH=E2h/SF=02h)
  2151.  20h    DWORD    (big-endian) object ID of owner
  2152.  24h    DWORD    (big-endian) date and time last archived (see AH=E2h/SF=02h)
  2153.  28h 55 BYTEs    reserved
  2154. Note:    the official documentation erroneously lists the field at offset 04h as
  2155.       15 bytes and thus shifts the remaining fields by one byte
  2156. --------N-21E3--SF10-------------------------
  2157. INT 21 - Novell NetWare - FILE SERVICES - SET FILE INFORMATION
  2158.     AH = E3h subfn 10h
  2159.     DS:SI -> request buffer (see below)
  2160.     ES:DI -> reply buffer (see below)
  2161. Return: AL = status
  2162.         00h successful
  2163. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2164.     the caller must have modify privileges on the directory containing the
  2165.       file
  2166. SeeAlso: AH=B6h,AH=E3h/SF=0Fh
  2167.  
  2168. Format of request buffer:
  2169. Offset    Size    Description
  2170.  00h    WORD    length of following data (max 151h)
  2171.  02h    BYTE    10h (subfunction "Set File Information")
  2172.  03h    BYTE    file attributes (see AX=4301h for format)
  2173.  04h    BYTE    extended file attributes (see AH=B6h for format)
  2174.  05h  4 BYTEs    reserved
  2175.  09h    WORD    (big-endian) file's creation date (see AX=5700h for format)
  2176.  0Bh    WORD    (big-endian) date of last access (see AX=5700h for format)
  2177.  0Dh    DWORD    (big-endian) date and time of last update (see AH=E2h/SF=02h)
  2178.  11h    DWORD    (big-endian) object ID of owner
  2179.  15h    DWORD    (big-endian) date and time last archived (see AH=E2h/SF=02h)
  2180.  19h 56 BYTEs    reserved
  2181.  51h    BYTE    directory handle or 00h
  2182.  52h    BYTE    search attributes (see AX=4301h for format)
  2183.  53h    BYTE    length of filename
  2184.  54h  N BYTEs    filename
  2185. Format of reply buffer:
  2186. Offset    Size    Description
  2187.  00h    WORD    (call) 0000h (no results returned)
  2188. --------N-21E3--SF11-------------------------
  2189. INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER INFORMATION
  2190.     AH = E3h subfn 11h
  2191.     DS:SI -> request buffer (see below)
  2192.     ES:DI -> reply buffer (see below)
  2193. Return: AL = status
  2194.         00h successful
  2195. Desc:    determine the version of software installed on the file server and
  2196.       how it is configured
  2197. Note:    this function is supported by Advanced NetWare 2.1+
  2198. SeeAlso: AH=E3h/SF=0Eh,AE3h/SF=12h,AH=E3h/SF=CDh,AH=E3h/SF=D3h,AH=E3h/SF=E7h
  2199. SeeAlso: AH=E7h
  2200.  
  2201. Format of request buffer:
  2202. Offset    Size    Description
  2203.  00h    WORD    0001h (length of following data)
  2204.  02h    BYTE    11h (subfunction "Get File Server Information")
  2205.  
  2206. Format of reply buffer:
  2207. Offset    Size    Description
  2208.  00h    WORD    (call) 0080h (size of following results buffer)
  2209.  02h 48 BYTEs    server's name
  2210.  32h    BYTE    NetWare version
  2211.  33h    BYTE    NetWare subversion (0-99)
  2212.  34h    WORD    (big-endian) number of connections supported
  2213.  36h    WORD    (big-endian) number of connections in use
  2214.  38h    WORD    (big-endian) maximum connected volumes
  2215. ---Advanced NetWare 2.1+ ---
  2216.  3Ah    BYTE    operating system revision number
  2217.  3Bh    BYTE    fault tolerance (SFT) level
  2218.  3Ch    BYTE    TTS level
  2219.  3Dh    WORD    (big-endian) maximum simultaneously-used connections
  2220.  3Fh    BYTE    accounting version
  2221.  40h    BYTE    VAP version
  2222.  41h    BYTE    queueing version
  2223.  42h    BYTE    print server version
  2224.  43h    BYTE    virtual console version
  2225.  44h    BYTE    security restrictions level
  2226.  45h    BYTE    internetwork bridge version
  2227.  46h 60 BYTEs    reserved
  2228. --------N-21E3--SF12-------------------------
  2229. INT 21 - Novell NetWare - GET NETWORK SERIAL NUMBER
  2230.     AH = E3h subfn 12h
  2231.     AL = 00h
  2232.     BX = CX = DX = 0000h
  2233.     DS:SI -> request buffer (see below)
  2234.     ES:DI -> reply buffer (see below)
  2235. Return: AL = status
  2236.         00h successful
  2237. Desc:    return the serial number and application number for the software
  2238.       installed on the file server
  2239. Notes:    this function is supported by Advanced NetWare 2.1+
  2240.     reportedly, the workstation crashes if AL,BX,CX, and DX are not all
  2241.       zero
  2242. SeeAlso: AH=E3h/SF=0Ch,AH=E3h/SF=11h
  2243.  
  2244. Format of request buffer:
  2245. offset     size    description
  2246.  00h     WORD    0001h (length of following data)
  2247.  02h     BYTE    12h (subfunction "Get Serial Number")
  2248.  
  2249. Format of reply buffer:
  2250. offset     size    description
  2251.  00h     WORD    (call) 0006h (size of following results buffer)
  2252.  02h   4 BYTEs    (big-endian) NetWare server serial number
  2253.  06h   2 BYTEs    (big-endian) NetWare application serial number
  2254. --------N-21E3--SF13-------------------------
  2255. INT 21 - Novell NetWare - CONNECTION SERVICES - GET INTERNET ADDRESS
  2256.     AH = E3h subfn 13h
  2257.     DS:SI -> request buffer (see below)
  2258.     ES:DI -> reply buffer (see below)
  2259. Return: AL = status
  2260.         00h successful
  2261. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2262. SeeAlso: AH=DCh"NetWare",AH=E3h/SF=16h,AH=EEh"NetWare"
  2263.  
  2264. Format of request buffer:
  2265. Offset    Size    Description
  2266.  00h    WORD    0002h (length of following data)
  2267.  02h    BYTE    13h (subfunction "Get Internet Address")
  2268.  03h    BYTE    logical connection number (01h-64h)
  2269.  
  2270. Format of reply buffer:
  2271. Offset    Size    Description
  2272.  00h    WORD    (call) 000Ch (length of following results buffer)
  2273.  02h  4 BYTEs    network number
  2274.  06h  6 BYTEs    physical node address
  2275.  0Ch  2 BYTEs    socket number
  2276. --------N-21E3--SF14-------------------------
  2277. INT 21 - Novell NetWare - CONNECTION SERVICES - LOGIN TO FILE SERVER
  2278.     AH = E3h subfn 14h
  2279.     DS:SI -> request buffer (see below)
  2280.     ES:DI -> reply buffer (see below)
  2281. Return: AL = status
  2282.         00h successful
  2283. Desc:    this function retrieves a list indicating the connection numbers under
  2284.       which a bindery object is logged into the default file server
  2285. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2286. SeeAlso: AH=D7h"NetWare",AH=F1h"NetWare"
  2287.  
  2288. Format of request buffer:
  2289. Offset    Size    Description
  2290.  00h    WORD    length of following data (max B3h)
  2291.  02h    BYTE    14h (subfunction "Login To File Server")
  2292.  03h    WORD    (big-endian) type of object
  2293.  05h    BYTE    length of object's name (01h-2Fh)
  2294.  06h  N BYTEs    object's name
  2295.     BYTE    length of password
  2296.       N BYTEs    password
  2297.  
  2298. Format of reply buffer:
  2299. Offset    Size    Description
  2300.  00h    WORD    (call) 0000h (no data returned)
  2301. --------N-21E3--SF15-------------------------
  2302. INT 21 - Novell NetWare - CONNECTION SERVICES - GET OBJECT CONNECTION NUMBERS
  2303.     AH = E3h subfn 15h
  2304.     DS:SI -> request buffer (see below)
  2305.     ES:DI -> reply buffer (see below)
  2306. Return: AL = status
  2307.         00h successful
  2308. Desc:    this function retrieves a list indicating the connection numbers under
  2309.       which a bindery object is logged into the default file server
  2310. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2311. SeeAlso: AH=DCh"NetWare",AH=E3h/SF=16h
  2312.  
  2313. Format of request buffer:
  2314. Offset    Size    Description
  2315.  00h    WORD    length of following data (max 33h)
  2316.  02h    BYTE    15h (subfunction "Get Object Connection Numbers")
  2317.  03h    WORD    (big-endian) type of object
  2318.  05h    BYTE    length of object's name (01h-2Fh)
  2319.  06h  N BYTEs    object's name
  2320.  
  2321. Format of reply buffer:
  2322. Offset    Size    Description
  2323.  00h    WORD    (call) length of following results buffer (max 65h)
  2324.  02h    BYTE    number of connections
  2325.  03h  N BYTEs    connection list
  2326. --------N-21E3--SF16-------------------------
  2327. INT 21 - Novell NetWare - CONNECTION SERVICES - GET CONNECTION INFORMATION
  2328.     AH = E3h subfn 16h
  2329.     DS:SI -> request buffer (see below)
  2330.     ES:DI -> reply buffer (see below)
  2331. Return: AL = status
  2332.         00h successful
  2333. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2334. SeeAlso: AH=D7h,AH=DCh"NetWare",AH=E3h/SF=14h
  2335.  
  2336. Format of request buffer:
  2337. Offset    Size    Description
  2338.  00h    WORD    0002h (length of following data)
  2339.  02h    BYTE    16h (subfunction "Get Connection Information")
  2340.  03h    BYTE    logical connection number (01h-64h)
  2341.  
  2342. Format of reply buffer:
  2343. Offset    Size    Description
  2344.  00h    WORD    (call) 003Eh (length of following results buffer)
  2345.  02h    DWORD    (big-endian) object ID for object logged in on the connection
  2346.         00000000h if no object logged in
  2347.  06h    WORD    (big-endian) type of object
  2348.  08h 48 BYTEs    name of object
  2349.  38h  7 BYTEs    login time (see below)
  2350. Note:    much of the Novell documentation incorrectly states the reply buffer
  2351.       length as 3Fh instead of 40h, which corresponds to a results length
  2352.       of 3Dh (61) bytes instead of the correct 3Eh (62) bytes
  2353.  
  2354. Format of login time:
  2355. Offset    Size    Description
  2356.  00h    BYTE    year (80-99 = 1980-1999, 00-79 = 2000-2079)
  2357.  01h    BYTE    month (1-12)
  2358.  02h    BYTE    day (1-31)
  2359.  03h    BYTE    hour (0-23)
  2360.  04h    BYTE    minute (0-59)
  2361.  05h    BYTE    second (0-59)
  2362.  06h    BYTE    day of week (0 = Sunday)
  2363. --------N-21E3--SF32-------------------------
  2364. INT 21 - Novell NetWare - BINDERY SERVICES - CREATE BINDERY OBJECT
  2365.     AH = E3h subfn 32h
  2366.     DS:SI -> request buffer (see below)
  2367.     ES:DI -> reply buffer (see below)
  2368. Return: AL = status (see below)
  2369. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2370. SeeAlso: AH=E3h/SF=33h,AH=E3h/SF=34h,AH=E3h/SF=38h,AH=E3h/SF=39h
  2371.  
  2372. Values for status:
  2373.  00h    successful
  2374.  96h    server out of memory
  2375.  EEh    object already exists
  2376.  EFh    invalid name
  2377.  F0h    wildcard not allowed
  2378.  F1h    invalid bindery security level
  2379.  F3h    not permitted to rename object
  2380.  F4h    not permitted to delete objects
  2381.  F5h    not permitted to create objects
  2382.  FCh    no such object
  2383.  FEh    server bindery locked
  2384.  FFh    bindery failure
  2385.  
  2386. Format of request buffer:
  2387. Offset    Size    Description
  2388.  00h    WORD    length of following data (max 35h)
  2389.  02h    BYTE    32h (subfunction "Create Bindery Object")
  2390.  03h    BYTE    object flag
  2391.         00h static
  2392.         01h dynamic
  2393.  04h    BYTE    object security levels
  2394.  05h    WORD    (big-endian) type of object
  2395.  07h    BYTE    length of object's name
  2396.  08h  N BYTEs    object's name
  2397.  
  2398. Format of reply buffer:
  2399. Offset    Size    Description
  2400.  00h    WORD    0000h (no data returned)
  2401. --------N-21E3--SF33-------------------------
  2402. INT 21 - Novell NetWare - BINDERY SERVICES - DELETE BINDERY OBJECT
  2403.     AH = E3h subfn 33h
  2404.     DS:SI -> request buffer (see below)
  2405.     ES:DI -> reply buffer (see below)
  2406. Return: AL = status (see AH=E3h/SF=32h)
  2407. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2408. SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=34h
  2409.  
  2410. Format of request buffer:
  2411. Offset    Size    Description
  2412.  00h    WORD    length of following data (max 33h)
  2413.  02h    BYTE    33h (subfunction "Delete Bindery Object")
  2414.  03h    WORD    (big-endian) type of object
  2415.  05h    BYTE    length of object's name (01h-2Fh)
  2416.  06h  N BYTEs    object's name
  2417.  
  2418. Format of reply buffer:
  2419. Offset    Size    Description
  2420.  00h    WORD    (call) 0000h (no data returned)
  2421. --------N-21E3--SF34-------------------------
  2422. INT 21 - Novell NetWare - BINDERY SERVICES - RENAME BINDERY OBJECT
  2423.     AH = E3h subfn 34h
  2424.     DS:SI -> request buffer (see below)
  2425.     ES:DI -> reply buffer (see below)
  2426. Return: AL = status (see AH=E3h/SF=32h)
  2427. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2428. SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=33h
  2429.  
  2430. Format of request buffer:
  2431. Offset    Size    Description
  2432.  00h    WORD    length of following data (max 63h)
  2433.  02h    BYTE    34h (subfunction "Rename Bindery Object")
  2434.  03h    WORD    (big-endian) type of object
  2435.  05h    BYTE    length of object's name (01h-2Fh)
  2436.  06h  N BYTEs    object's name
  2437.     BYTE    length of new name (01h-2Fh)
  2438.       N BYTEs    new name
  2439.  
  2440. Format of reply buffer:
  2441. Offset    Size    Description
  2442.  00h    WORD    (call) 0000h (no data returned)
  2443. --------N-21E3--SF35-------------------------
  2444. INT 21 - Novell NetWare - BINDERY SERVICES - GET BINDERY OBJECT ID
  2445.     AH = E3h subfn 35h
  2446.     DS:SI -> request buffer (see below)
  2447.     ES:DI -> reply buffer (see below)
  2448. Return: AL = status
  2449.         00h successful
  2450.         96h server out of memory
  2451.         FCh no such object
  2452.         FEh server bindery locked
  2453.         FFh bindery failure
  2454. Notes:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2455.     the requesting workstation must be logged into the file server with
  2456.       read access to the bindery object
  2457. SeeAlso: AH=E3h/SF=36h,AH=E3h/SF=44h
  2458.  
  2459. Format of request buffer:
  2460. Offset    Size    Description
  2461.  00h    WORD    length of following data (max 33h)
  2462.  02h    BYTE    35h (subfunction "Get Bindery Object ID")
  2463.  03h    WORD    (big-endian) type of object
  2464.  05h    BYTE    length of object's name
  2465.  06h  N BYTEs    object's name
  2466.  
  2467. Format of reply buffer:
  2468. Offset    Size    Description
  2469.  00h    WORD    (call) 0036h (length of following buffer space)
  2470.  02h    DWORD    (big-endian) object ID
  2471.  06h    WORD    (big-endian) type of object
  2472.  08h 48 BYTEs    object name
  2473. --------N-21E3--SF36-------------------------
  2474. INT 21 - Novell NetWare - BINDERY SERVICES - GET BINDERY OBJECT NAME
  2475.     AH = E3h subfn 36h
  2476.     DS:SI -> request buffer (see below)
  2477.     ES:DI -> reply buffer (see below)
  2478. Return: AL = status (see below)
  2479. Notes:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2480.     the requesting workstation must be logged into the file server with
  2481.       read access to the bindery object
  2482. SeeAlso: AH=E3h/SF=35h,AH=E3h/SF=44h
  2483.  
  2484. Values for status:
  2485.  00h    successful
  2486.  96h    server out of memory
  2487.  EFh    invalid name
  2488.  F0h    wildcard not allowed
  2489.  FCh    no such object
  2490.  FEh    server bindery locked
  2491.  FFh    bindery failure
  2492.  
  2493. Format of request buffer:
  2494. Offset    Size    Description
  2495.  00h    WORD    0005h (length of following data)
  2496.  02h    BYTE    36h (subfunction "Get Bindery Object Name")
  2497.  03h    DWORD    (big-endian) object ID
  2498.  
  2499. Format of reply buffer:
  2500. Offset    Size    Description
  2501.  00h    WORD    (call) 0036h (length of following buffer space)
  2502.  02h    DWORD    (big-endian) object ID
  2503.  06h    WORD    (big-endian) type of object
  2504.  08h 48 BYTEs    object name
  2505. --------N-21E3--SF37-------------------------
  2506. INT 21 - Novell NetWare - BINDERY SERVICES - SCAN BINDERY OBJECT
  2507.     AH = E3h subfn 37h
  2508.     DS:SI -> request buffer (see below)
  2509.     ES:DI -> reply buffer (see below)
  2510. Return: AL = status (see AH=E3h/SF=36h)
  2511. Notes:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2512.     the requesting workstation must be logged into the file server with
  2513.       read access to the bindery object
  2514. SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=33h,AH=E3h/SF=38h,AH=E3h/SF=3Ch
  2515.  
  2516. Format of request buffer:
  2517. Offset    Size    Description
  2518.  00h    WORD    length of following data (max 37h)
  2519.  02h    BYTE    37h (subfunction "Scan Bindery Object")
  2520.  03h    DWORD    (big-endian) last object ID
  2521.  07h    WORD    (big-endian) type of object
  2522.  09h    BYTE    length of object's name
  2523.  0Ah  N BYTEs    object's name
  2524.  
  2525. Format of reply buffer:
  2526. Offset    Size    Description
  2527.  00h    WORD    (call) 0039h (length of following buffer space)
  2528.  02h    DWORD    (big-endian) object ID
  2529.         FFFFFFFFh for first call
  2530.  06h    WORD    (big-endian) type of object
  2531.  08h 48 BYTEs    object name (counted string)
  2532.  38h    BYTE    object flag (00h static, 01h dynamic)
  2533.  39h    BYTE    object's security levels
  2534.  3Ah    BYTE    object properties flag (00h no, FFh yes)
  2535. --------N-21E3--SF38-------------------------
  2536. INT 21 - Novell NetWare - BINDERY SERVICES - CHANGE BINDERY OBJECT SECURITY
  2537.     AH = E3h subfn 38h
  2538.     DS:SI -> request buffer (see below)
  2539.     ES:DI -> reply buffer (see below)
  2540. Return: AL = status
  2541.         00h successful
  2542.         96h server out of memory
  2543.         F0h wildcard not allowed
  2544.         F1h invalid bindery security level
  2545.         FBh no such property
  2546.         FCh no such object
  2547.         FEh server bindery locked
  2548.         FFh bindery failure
  2549. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2550. SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=3Bh
  2551.  
  2552. Format of request buffer:
  2553. Offset    Size    Description
  2554.  00h    WORD    length of following data (max 34h)
  2555.  02h    BYTE    38h (subfunction "Change Bindery Object Security")
  2556.  03h    BYTE    new security levels
  2557.  04h    WORD    (big-endian) type of object
  2558.  06h    BYTE    length of object's name (01h-2Fh)
  2559.  07h  N BYTEs    object name
  2560.  
  2561. Format of reply buffer:
  2562. Offset    Size    Description
  2563.  00h    WORD    (call) 0000h (no data returned)
  2564. --------N-21E3--SF39-------------------------
  2565. INT 21 - Novell NetWare - BINDERY SERVICES - CREATE PROPERTY
  2566.     AH = E3h subfn 39h
  2567.     DS:SI -> request buffer (see below)
  2568.     ES:DI -> reply buffer (see below)
  2569. Return: AL = status (see below)
  2570. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2571. SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=3Bh
  2572.  
  2573. Values for status:
  2574.  00h    successful
  2575.  96h    server out of memory
  2576.  EDh    property already exists
  2577.  EFh    invalid name
  2578.  F0h    wildcard not allowed
  2579.  F1h    invalid bindery security level
  2580.  F6h    not permitted to delete properties
  2581.  F7h    not permitted to create properties
  2582.  FBh    no such property
  2583.  FCh    no such object
  2584.  FEh    server bindery locked
  2585.  FFh    bindery failure
  2586.  
  2587. Format of request buffer:
  2588. Offset    Size    Description
  2589.  00h    WORD    length of following data (max 45h)
  2590.  02h    BYTE    39h (subfunction "Create Property")
  2591.  03h    WORD    (big-endian) type of object
  2592.  05h    BYTE    length of object's name (01h-2Fh)
  2593.  06h  N BYTEs    object's name
  2594.     BYTE    property flags
  2595.     BYTE    property security levels
  2596.     BYTE    length of property's name (01h-0Fh)
  2597.       N BYTEs    property's name
  2598.  
  2599. Format of reply buffer:
  2600. Offset    Size    Description
  2601.  00h    WORD    (call) 0000h (no data returned)
  2602. --------N-21E3--SF3A-------------------------
  2603. INT 21 - Novell NetWare - BINDERY SERVICES - DELETE PROPERTY
  2604.     AH = E3h subfn 3Ah
  2605.     DS:SI -> request buffer (see below)
  2606.     ES:DI -> reply buffer (see below)
  2607. Return: AL = status (see AH=E3h/SF=39h)
  2608. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2609. SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=39h
  2610.  
  2611. Format of request buffer:
  2612. Offset    Size    Description
  2613.  00h    WORD    length of following data (max 43h)
  2614.  02h    BYTE    3Ah (subfunction "Delete Property")
  2615.  03h    WORD    (big-endian) type of object
  2616.  05h    BYTE    length of object's name (01h-2Fh)
  2617.  06h  N BYTEs    object's name
  2618.     BYTE    length of property's name (01h-0Fh)
  2619.       N BYTEs    property's name
  2620.  
  2621. Format of reply buffer:
  2622. Offset    Size    Description
  2623.  00h    WORD    (call) 0000h (no data returned)
  2624. --------N-21E3--SF3B-------------------------
  2625. INT 21 - Novell NetWare - BINDERY SERVICES - CHANGE PROPERTY SECURITY
  2626.     AH = E3h subfn 3Bh
  2627.     DS:SI -> request buffer (see below)
  2628.     ES:DI -> reply buffer (see below)
  2629. Return: AL = status
  2630.         00h successful
  2631.         96h server out of memory
  2632.         F0h wildcard not allowed
  2633.         F1h invalid bindery security level
  2634.         FBh no such property
  2635.         FCh no such object
  2636.         FEh server bindery locked
  2637.         FFh bindery failure
  2638. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2639. SeeAlso: AH=E3h/SF=38h
  2640.  
  2641. Format of request buffer:
  2642. Offset    Size    Description
  2643.  00h    WORD    length of following data (max 44h)
  2644.  02h    BYTE    3Bh (subfunction "Change Property Security")
  2645.  03h    WORD    (big-endian) type of object
  2646.  05h    BYTE    length of object's name (01h-2Fh)
  2647.  06h  N BYTEs    object name
  2648.     BYTE    new property security levels
  2649.     BYTE    length of property's name
  2650.       N BYTEs    property name
  2651.  
  2652. Format of reply buffer:
  2653. Offset    Size    Description
  2654.  00h    WORD    (call) 0000h (no data returned)
  2655. --------N-21E3--SF3C-------------------------
  2656. INT 21 - Novell NetWare - BINDERY SERVICES - SCAN PROPERTY
  2657.     AH = E3h subfn 3Ch
  2658.     DS:SI -> request buffer (see below)
  2659.     ES:DI -> reply buffer (see below)
  2660. Return: AL = status (see below)
  2661. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2662. SeeAlso: AH=E3h/SF=37h,AH=E3h/SF=3Bh
  2663.  
  2664. Values for status:
  2665.  00h    successful
  2666.  96h    server out of memory
  2667.  F1h    invalid bindery security level
  2668.  FBh    no such property
  2669.  FCh    no such object
  2670.  FEh    server bindery locked
  2671.  FFh    bindery failure
  2672.  
  2673. Format of request buffer:
  2674. Offset    Size    Description
  2675.  00h    WORD    length of following data (max 47h)
  2676.  02h    BYTE    3Ch (subfunction "Scan Property")
  2677.  03h    WORD    (big-endian) type of object
  2678.  05h    BYTE    length of object's name (01h-2Fh)
  2679.  06h  N BYTEs    object name
  2680.     DWORD    (big-endian) sequence number
  2681.         FFFFFFFFh for first call
  2682.     BYTE    length of property's name (01h-0Fh)
  2683.       N BYTEs    property's name
  2684.  
  2685. Format of reply buffer:
  2686. Offset    Size    Description
  2687.  00h    WORD    (call) 0018h (length of following results buffer)
  2688.  02h 16 BYTEs    property name
  2689.  12h    BYTE    property flags
  2690.  13h    BYTE    property security levels
  2691.  14h    DWORD    (big-endian) sequence number
  2692.  18h    BYTE    property value flag (00h no, FFh yes)
  2693.  19h    BYTE    more properties (00h no, FFh yes)
  2694. --------N-21E3--SF3D-------------------------
  2695. INT 21 - Novell NetWare - BINDERY SERVICES - READ PROPERTY VALUE
  2696.     AH = E3h subfn 3Dh
  2697.     DS:SI -> request buffer (see below)
  2698.     ES:DI -> reply buffer (see below)
  2699. Return: AL = status (see below)
  2700. Desc:    retrieve one 128-byte segment of the specified property's value
  2701. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2702. SeeAlso: AH=E3h/SF=39h,AH=E3h/SF=3Ch,AH=E3h/SF=3Eh
  2703.  
  2704. Values for status:
  2705.  00h    successful
  2706.  96h    server out of memory
  2707.  E8h    not item property
  2708.  ECh    no such segment
  2709.  F0h    wildcard not allowed
  2710.  F1h    invalid bindery security level
  2711.  F8h    not permitted to write property
  2712.  F9h    not permitted to read property
  2713.  FBh    no such property
  2714.  FCh    no such object
  2715.  FEh    server bindery locked
  2716.  FFh    bindery failure
  2717.  
  2718. Format of request buffer:
  2719. Offset    Size    Description
  2720.  00h    WORD    length of following data (max 44h)
  2721.  02h    BYTE    3Dh (subfunction "Read Property Value")
  2722.  03h    WORD    (big-endian) type of object
  2723.  05h    BYTE    length of object's name (01h-2Fh)
  2724.  06h  N BYTEs    object name
  2725.     BYTE    segment number (01h on first call, increment until done)
  2726.     BYTE    length of property's name (01h-0Fh)
  2727.       N BYTEs    property name
  2728.  
  2729. Format of reply buffer:
  2730. Offset    Size    Description
  2731.  00h    WORD    (call) 0082h (length of following results buffer)
  2732.  02h 128 BYTEs    property's value
  2733.  82h    BYTE    more segments (00h no, FFh yes)
  2734.  83h    BYTE    property's flags
  2735. --------N-21E3--SF3E-------------------------
  2736. INT 21 - Novell NetWare - BINDERY SERVICES - WRITE PROPERTY VALUE
  2737.     AH = E3h subfn 3Eh
  2738.     DS:SI -> request buffer (see below)
  2739.     ES:DI -> reply buffer (see below)
  2740. Return: AL = status (see AH=E3h/SF=3Dh)
  2741. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2742. SeeAlso: AH=E3h/SF=39h,AH=E3h/SF=3Ch,AH=E3h/SF=3Eh
  2743.  
  2744. Format of request buffer:
  2745. Offset    Size    Description
  2746.  00h    WORD    length of following data (max C5h)
  2747.  02h    BYTE    3Eh (subfunction "Write Property Value")
  2748.  03h    WORD    (big-endian) type of object
  2749.  05h    BYTE    length of object's name (01h-2Fh)
  2750.  06h  N BYTEs    object name
  2751.     BYTE    segment number (01h on first call, increment until done)
  2752.     BYTE    erase remaining segments (00h no, FFh yes)
  2753.     BYTE    length of property's name (01h-0Fh)
  2754.       N BYTEs    property name
  2755.     128 BYTEs    property value segment
  2756.  
  2757. Format of reply buffer:
  2758. Offset    Size    Description
  2759.  00h    WORD    (call) 0000h (no data returned)
  2760. --------N-21E3--SF3F-------------------------
  2761. INT 21 - Novell NetWare - BINDERY SERVICES - VERIFY BINDERY OBJECT PASSWORD
  2762.     AH = E3h subfn 3Fh
  2763.     DS:SI -> request buffer (see below)
  2764.     ES:DI -> reply buffer (see below)
  2765. Return: AL = status (see below)
  2766. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2767. SeeAlso: AH=E3h/SF=40h
  2768.  
  2769. Values for status:
  2770.  00h    successful
  2771.  96h    server out of memory
  2772.  F0h    wildcard not allowed
  2773.  FBh    no such property
  2774.  FCh    no such object
  2775.  FEh    server bindery locked
  2776.  FFh    bindery failure: no such object, bad password, no password for object,
  2777.             or invalid old password
  2778.  
  2779. Format of request buffer:
  2780. Offset    Size    Description
  2781.  00h    WORD    length of following data (max 133h)
  2782.  02h    BYTE    3Fh (subfunction "Verify Bindery Object Password")
  2783.  03h    WORD    (big-endian) type of object
  2784.  05h    BYTE    length of object's name (01h-2Fh)
  2785.  06h  N BYTEs    object name
  2786.     BYTE    length of password (00h-7Fh)
  2787.       N BYTEs    password
  2788.  
  2789. Format of reply buffer:
  2790. Offset    Size    Description
  2791.  00h    WORD    (call) 0000h (no data returned)
  2792. --------N-21E3--SF40-------------------------
  2793. INT 21 - Novell NetWare - BINDERY SERVICES - CHANGE BINDERY OBJECT PASSWORD
  2794.     AH = E3h subfn 40h
  2795.     DS:SI -> request buffer (see below)
  2796.     ES:DI -> reply buffer (see below)
  2797. Return: AL = status (see AH=E3h/SF=3Fh)
  2798. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2799. SeeAlso: AH=E3h/SF=3Fh,AH=E3h/SF=41h
  2800.  
  2801. Format of request buffer:
  2802. Offset    Size    Description
  2803.  00h    WORD    length of following data (max 133h)
  2804.  02h    BYTE    40h (subfunction "Change Bindery Object Password")
  2805.  03h    WORD    (big-endian) type of object
  2806.  05h    BYTE    length of object's name (01h-2Fh)
  2807.  06h  N BYTEs    object name
  2808.     BYTE    length of old password (00h-7Fh)
  2809.       N BYTEs    old password
  2810.     BYTE    length of new password (00h-7Fh)
  2811.       N BYTEs    new password
  2812.  
  2813. Format of reply buffer:
  2814. Offset    Size    Description
  2815.  00h    WORD    (call) 0000h (no data returned)
  2816. --------N-21E3--SF41-------------------------
  2817. INT 21 - Novell NetWare - BINDERY SERVICES - ADD BINDERY OBJECT TO SET
  2818.     AH = E3h subfn 41h
  2819.     DS:SI -> request buffer (see below)
  2820.     ES:DI -> reply buffer (see below)
  2821. Return: AL = status (see below)
  2822. Desc:    add the specified object to a set property
  2823. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2824. SeeAlso: AH=E3h/SF=40h,AH=E3h/SF=42h,AH=E3h/SF=43h
  2825.  
  2826. Values for status:
  2827.  00h    successful
  2828.  96h    server out of memory
  2829.  E9h    member already exists
  2830.  EAh    member does not exist
  2831.  EBh    not a group property
  2832.  F0h    wildcard not allowed
  2833.  F8h    can't write property
  2834.  F9h    not permitted to read property
  2835.  FBh    no such property
  2836.  FCh    no such object
  2837.  FEh    server bindery locked
  2838.  FFh    bindery failure
  2839.  
  2840. Format of request buffer:
  2841. Offset    Size    Description
  2842.  00h    WORD    length of following data (max 75h)
  2843.  02h    BYTE    41h (subfunction "Add Bindery Object to Set")
  2844.  03h    WORD    (big-endian) type of object
  2845.  05h    BYTE    length of object's name
  2846.  06h  N BYTEs    object name
  2847.     BYTE    length of property name (01h-0Fh)
  2848.       N BYTEs    property name
  2849.     WORD    (big-endian) type of member object
  2850.     BYTE    length of member object's name
  2851.       N BYTEs    member object's name
  2852.  
  2853. Format of reply buffer:
  2854. Offset    Size    Description
  2855.  00h    WORD    (call) 0000h (no data returned)
  2856. --------N-21E3--SF42-------------------------
  2857. INT 21 - Novell NetWare - BINDERY SERVICES - DELETE BINDERY OBJECT FROM SET
  2858.     AH = E3h subfn 42h
  2859.     DS:SI -> request buffer (see below)
  2860.     ES:DI -> reply buffer (see below)
  2861. Return: AL = status (see AH=E3h/SF=41h)
  2862. Desc:    delete the specified object from a set property
  2863. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2864. SeeAlso: AH=E3h/SF=40h,AH=E3h/SF=42h,AH=E3h/SF=43h
  2865.  
  2866. Format of request buffer:
  2867. Offset    Size    Description
  2868.  00h    WORD    length of following data (max 75h)
  2869.  02h    BYTE    42h (subfunction "Delete Bindery Object from Set")
  2870.  03h    WORD    (big-endian) type of object
  2871.  05h    BYTE    length of object's name
  2872.  06h  N BYTEs    object name
  2873.     BYTE    length of property name (01h-0Fh)
  2874.       N BYTEs    property name
  2875.     WORD    (big-endian) type of member object
  2876.     BYTE    length of member object's name
  2877.       N BYTEs    member object's name
  2878.  
  2879. Format of reply buffer:
  2880. Offset    Size    Description
  2881.  00h    WORD    (call) 0000h (no data returned)
  2882. --------N-21E3--SF43-------------------------
  2883. INT 21 - Novell NetWare - BINDERY SERVICES - IS BINDERY OBJECT IN SET
  2884.     AH = E3h subfn 43h
  2885.     DS:SI -> request buffer (see below)
  2886.     ES:DI -> reply buffer (see below)
  2887. Return: AL = status (see AH=E3h/SF=41h)
  2888. Desc:    determine whether the specified object is a member of the given set
  2889.       property
  2890. Notes:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2891.     the caller must have read access to the property
  2892. SeeAlso: AH=E3h/SF=41h,AH=E3h/SF=42h
  2893.  
  2894. Format of request buffer:
  2895. Offset    Size    Description
  2896.  00h    WORD    length of following data (max 75h)
  2897.  02h    BYTE    43h (subfunction "Is Bindery Object In Set")
  2898.  03h    WORD    (big-endian) type of object
  2899.  05h    BYTE    length of object's name
  2900.  06h  N BYTEs    object's name
  2901.     BYTE    length of property's name
  2902.       N BYTEs    property's name
  2903.     WORD    (big-endian) type of member object
  2904.     BYTE    length of member object's name
  2905.       N BYTEs    member object's name
  2906.  
  2907. Format of reply buffer:
  2908. Offset    Size    Description
  2909.  00h    WORD    (call) 0000h (no data returned)
  2910. --------N-21E3--SF44-------------------------
  2911. INT 21 - Novell NetWare - BINDERY SERVICES - CLOSE BINDERY
  2912.     AH = E3h subfn 44h
  2913.     DS:SI -> request buffer (see below)
  2914.     ES:DI -> reply buffer (see below)
  2915. Return: AL = status
  2916.         00h successful
  2917. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2918. SeeAlso: AH=E3h/SF=45h
  2919.  
  2920. Format of request buffer:
  2921. Offset    Size    Description
  2922.  00h    WORD    0001h (length of following data)
  2923.  02h    BYTE    44h (subfunction "Close Bindery")
  2924.  
  2925. Format of reply buffer:
  2926. Offset    Size    Description
  2927.  00h    WORD    (call) 0000h (no data returned)
  2928. --------N-21E3--SF45-------------------------
  2929. INT 21 - Novell NetWare - BINDERY SERVICES - OPEN BINDERY
  2930.     AH = E3h subfn 45h
  2931.     DS:SI -> request buffer (see below)
  2932.     ES:DI -> reply buffer (see below)
  2933. Return: AL = status
  2934.         00h successful
  2935. Notes:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2936.     the bindery may only be opened by the supervisor or an object with
  2937.       equivalent privileges
  2938. SeeAlso: AH=E3h/SF=44h
  2939.  
  2940. Format of request buffer:
  2941. Offset    Size    Description
  2942.  00h    WORD    0001h (length of following data)
  2943.  02h    BYTE    45h (subfunction "Open Bindery")
  2944.  
  2945. Format of reply buffer:
  2946. Offset    Size    Description
  2947.  00h    WORD    (call) 0000h (no data returned)
  2948. --------N-21E3--SF46-------------------------
  2949. INT 21 - Novell NetWare - BINDERY SERVICES - GET BINDERY ACCESS LEVEL
  2950.     AH = E3h subfn 46h
  2951.     DS:SI -> request buffer (see below)
  2952.     ES:DI -> reply buffer (see below)
  2953. Return: AL = status
  2954.         00h successful
  2955. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2956.  
  2957. Format of request buffer:
  2958. Offset    Size    Description
  2959.  00h    WORD    0001h (length of following data)
  2960.  02h    BYTE    46h (subfunction "Get Bindery Access Level")
  2961.  
  2962. Format of reply buffer:
  2963. Offset    Size    Description
  2964.  00h    WORD    0005h (length of following buffer)
  2965.  02h    BYTE    security levels
  2966.  03h    DWORD    (big-endian) object ID
  2967. --------N-21E3--SF47-------------------------
  2968. INT 21 - Novell NetWare - DIRECTORY SERVICES - SCAN BINDERY OBJ TRUSTEE PATHS
  2969.     AH = E3h subfn 47h
  2970.     DS:SI -> request buffer (see below)
  2971.     ES:DI -> reply buffer (see below)
  2972. Return: AL = status
  2973.         00h successful
  2974.         96h server out of memory
  2975.         F0h wildcard not allowed
  2976.         F1h invalid bindery security level
  2977.         FCh no such object
  2978.         FEh server bindery locked
  2979.         FFh bindery failure
  2980. Desc:    iterate through the directories to which an object is a trustee
  2981. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2982. SeeAlso: AH=E2h/SF=0Ch,AH=E2h/SF=0Dh,AH=E2h/SF=0Eh
  2983.  
  2984. Format of request buffer:
  2985. Offset    Size    Description
  2986.  00h    WORD    0008h (length of following data)
  2987.  02h    BYTE    47h (subfunction "Scan Bindery Object Trustee Paths")
  2988.  03h    BYTE    volume number (00h-1Fh)
  2989.  04h    WORD    (big-endian) last sequence number (FFFFh on first call)
  2990.  06h    DWORD    (big-endian) object ID
  2991.  
  2992. Format of reply buffer:
  2993. Offset    Size    Description
  2994.  00h    WORD    (call) length of following results buffer (max 107h)
  2995.  02h    WORD    (big-endian) next sequence number
  2996.  04h    DWORD    (big-endian) object ID
  2997.  08h    BYTE    trustee directory rights (see AH=E2h/SF=03h)
  2998.  09h    BYTE    length of trustee path
  2999.  0Ah  N BYTEs    trustee path
  3000. --------N-21E3--SF64-------------------------
  3001. INT 21 - Novell NetWare - QUEUE SERVICES - CREATE QUEUE
  3002.     AH = E3h subfn 64h
  3003.     DS:SI -> request buffer (see below)
  3004.     ES:DI -> reply buffer (see below)
  3005. Return: AL = status (00h,96h,99h,9Bh,9Ch,EDh-F1h,F5h,F7h,FCh,FEh,FFh)
  3006.         (see below)
  3007. Notes:    this function is supported by Advanced NetWare 2.1+
  3008.     caller must be on a workstation with supervisor privileges
  3009. SeeAlso: AH=E3h/SF=65h,AH=E3h/SF=66h,AH=E3h/SF=68h,AH=E3h/SF=6Bh
  3010.  
  3011. Values for status:
  3012.  00h    successful
  3013.  96h    server out of memory
  3014.  99h    directory full
  3015.  9Bh    invalid directory handle
  3016.  9Ch    invalid path
  3017.  D0h    queue error
  3018.  D1h    no such queue
  3019.  D2h    no server for queue
  3020.  D3h    no queue rights
  3021.  D4h    queue full
  3022.  D5h    no queue job
  3023.  D6h    no job rights
  3024.  D7h    queue servicing error
  3025.  D9h    station is not a server
  3026.  DAh    queue halted
  3027.  DBh    too many queue servers
  3028.  EDh    property already exists
  3029.  EEh    object already exists
  3030.  EFh    invalid name
  3031.  F0h    wildcard not allowed
  3032.  F1h    invalid bindery security level
  3033.  F5h    not permitted to create object
  3034.  F7h    not permitted to create property
  3035.  FCh    no such object
  3036.  FEh    server bindery locked
  3037.  FFh    bindery failure
  3038.  
  3039. Format of request buffer:
  3040. Offset    Size    Description
  3041.  00h    WORD    length of following data (max ABh)
  3042.  02h    BYTE    64h (subfunction "Create Queue")
  3043.  03h    WORD    (big-endian) queue type
  3044.  05h    BYTE    length of queue's name (01h-2Fh)
  3045.  06h  N BYTEs    queue's name
  3046.     BYTE    directory handle or 00h
  3047.     BYTE    length of path name (01h-76h)
  3048.       N BYTEs    path name of directory in which to create queue subdirectory
  3049.  
  3050. Format of reply buffer:
  3051. Offset    Size    Description
  3052.  00h    WORD    (call) 0004h (size of following results buffer)
  3053.  02h    DWORD    (big-endian) object ID of queue
  3054. --------N-21E3--SF65-------------------------
  3055. INT 21 - Novell NetWare - QUEUE SERVICES - DESTROY QUEUE
  3056.     AH = E3h subfn 65h
  3057.     DS:SI -> request buffer (see below)
  3058.     ES:DI -> reply buffer (see below)
  3059. Return: AL = status (00h,96h,9Ch,D0h,D1h,FFh) (see also AH=E3h/SF=64h)
  3060.         FFh hardware failure
  3061. Desc:    abort all active jobs, detach all job servers, remove all job entries,
  3062.       delete all job files, remove the queue object and its properties
  3063.       from the bindery, and delete the queue's subdirectory
  3064. Notes:    this function is supported by Advanced NetWare 2.1+
  3065.     caller must have SUPERVISOR privileges
  3066. SeeAlso: AH=E3h/SF=64h,AH=E3h/SF=66h,AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=70h
  3067.  
  3068. Format of request buffer:
  3069. Offset    Size    Description
  3070.  00h    WORD    0005h (length of following data)
  3071.  02h    BYTE    65h (subfunction "Destroy Queue")
  3072.  03h    DWORD    (big-endian) object ID of queue
  3073.  
  3074. Format of reply buffer:
  3075. Offset    Size    Description
  3076.  00h    WORD    (call) 0000h (no results returned)
  3077. --------N-21E3--SF66-------------------------
  3078. INT 21 - Novell NetWare - QUEUE SERVICES - READ QUEUE CURRENT STATUS
  3079.     AH = E3h subfn 66h
  3080.     DS:SI -> request buffer (see below)
  3081.     ES:DI -> reply buffer (see below)
  3082. Return: AL = status (00h,96h,9Ch,D1h-D3h,F1h,FCh,FEh,FFh) (see AH=E3h/SF=64h)
  3083. Notes:    this function is supported by Advanced NetWare 2.1+
  3084.     caller must be on a workstation which is security-equivalent to a
  3085.       member of the queue's Q_USERS or Q_OPERATORS properties
  3086. SeeAlso: AH=E3h/SF=64h,AH=E3h/SF=67h,AH=E3h/SF=6Fh,AH=E3h/SF=76h
  3087.  
  3088. Format of request buffer:
  3089. Offset    Size    Description
  3090.  00h    WORD    0005h (length of following data)
  3091.  02h    BYTE    66h (subfunction "Read Queue Current Status")
  3092.  03h    DWORD    (big-endian) object ID of queue
  3093.  
  3094. Format of reply buffer:
  3095. Offset    Size    Description
  3096.  00h    WORD    (call) 0085h (size of following results)
  3097.  02h    DWORD    (big-endian) object ID of queue
  3098.  06h    BYTE    status of queue (see below)
  3099.  07h    BYTE    number of jobs in queue (00h-FAh)
  3100.  08h    BYTE    number of servers attached to queue (00h-19h)
  3101.  09h 25 DWORDs    list of object IDs of attached servers
  3102.  6Dh 25 BYTEs    list of attached servers' stations
  3103.  86h    BYTE    (call) maximum number of servers to return
  3104.  
  3105. Bitfields for queue status:
  3106. Bit(s)    Description
  3107.  0    operator disabled addition of new jobs
  3108.  1    operator refuses additional job servers attaching
  3109.  2    operator disabled job servicing
  3110. --------N-21E3--SF67-------------------------
  3111. INT 21 - Novell NetWare - QUEUE SERVICES - SET QUEUE CURRENT STATUS
  3112.     AH = E3h subfn 67h
  3113.     DS:SI -> request buffer (see below)
  3114.     ES:DI -> reply buffer (see below)
  3115. Return: AL = status (00h,96h,9Ch,D0h,D1h,D3h,FEh,FFh) (see AH=E3h/SF=64h)
  3116. Notes:    this function is supported by Advanced NetWare 2.1+
  3117.     caller must have operator privileges
  3118. SeeAlso: AH=E3h/SF=64h,AH=E3h/SF=66h,AH=E3h/SF=6Fh,AH=E3h/SF=76h
  3119.  
  3120. Format of request buffer:
  3121. Offset    Size    Description
  3122.  00h    WORD    0006h (length of following data)
  3123.  02h    BYTE    67h (subfunction "Set Queue Current Status")
  3124.  03h    DWORD    (big-endian) object ID of queue
  3125.  07h    BYTE    queue status (see AH=E3h/SF=66h)
  3126.  
  3127. Format of reply buffer:
  3128. Offset    Size    Description
  3129.  00h    WORD    (call) 0000h (no results returned)
  3130. --------N-21E3--SF68-------------------------
  3131. INT 21 - Novell NetWare - QUEUE SERVICES - CREATE QUEUE JOB AND FILE
  3132.     AH = E3h subfn 68h
  3133.     DS:SI -> request buffer (see below)
  3134.     ES:DI -> reply buffer (see below)
  3135. Return: AL = status (00h,96h,99h,9Ch,D0h-D4h,DAh,EDh,EFh-F1h,F7h,FCh,FEh,FFh)
  3136.         (see AH=E3h/SF=64h)
  3137. Notes:    this function is supported by Advanced NetWare 2.1+
  3138.     caller must be on a workstation which is security-equivalent to a
  3139.       member of the queue's Q_USER property
  3140. SeeAlso: AH=E0h"SPOOLING",AH=E3h/SF=69h,AH=E3h/SF=6Ah,AH=E3h/SF=6Eh
  3141.  
  3142. Format of request buffer:
  3143. Offset    Size    Description
  3144.  00h    WORD    0107h (length of following data)
  3145.  02h    BYTE    68h (subfunction "Close File and Start Queue Job")
  3146.  03h    DWORD    (big-endian) object ID of queue
  3147.  07h    BYTE    client station
  3148.  08h    BYTE    client task number
  3149.  09h    DWORD    (big-endian) object ID of client
  3150.  0Dh    DWORD    (big-endian) object ID of target server
  3151.         FFFFFFFh if any server acceptable
  3152.  11h  6 BYTEs    target execution time (year,month,day,hour,minute,second)
  3153.         FFFFFFFFFFFFh to execute as soon as possible
  3154.  17h  6 BYTEs    job entry time (year,month,day,hour,minute,second)
  3155.  1Dh    WORD    (big-endian) job number
  3156.  1Fh    WORD    (big-endian) job type
  3157.  21h    BYTE    job position
  3158.  22h    BYTE    job control flags
  3159.  23h 14 BYTEs    ASCIZ job file name
  3160.  31h  6 BYTEs    job file handle
  3161.  37h    BYTE    server station
  3162.  38h    BYTE    server task number
  3163.  39h    DWORD    (big-endian) object ID of server
  3164.  3Dh 50 BYTEs    ASCIZ job description string
  3165.  6Fh 152 BYTEs    client record area
  3166.  
  3167. Format of reply buffer:
  3168. Offset    Size    Description
  3169.  00h    WORD    (call) 0036h (size of following results buffer)
  3170.  02h    BYTE    client station
  3171.  03h    BYTE    client task number
  3172.  04h    DWORD    (big-endian) object ID of client
  3173.  08h    DWORD    (big-endian) object ID of target server
  3174.  0Ch  6 BYTEs    target execution time (year,month,day,hour,minute,second)
  3175.  12h  6 BYTEs    job entry time (year,month,day,hour,minute,second)
  3176.  18h    WORD    (big-endian) job number
  3177.  1Ah    WORD    (big-endian) job type
  3178.  1Ch    BYTE    job position
  3179.  1Dh    BYTE    job control flags
  3180.  1Eh 14 BYTEs    ASCIZ job file name
  3181.  2Ch  6 BYTEs    job file handle
  3182.  32h    BYTE    server station
  3183.  33h    BYTE    server task number
  3184.  34h    DWORD    (big-endian) object ID of server or 00000000h
  3185. --------N-21E3--SF69-------------------------
  3186. INT 21 - Novell NetWare - QUEUE SERVICES - CLOSE FILE AND START QUEUE JOB
  3187.     AH = E3h subfn 69h
  3188.     DS:SI -> request buffer (see below)
  3189.     ES:DI -> reply buffer (see below)
  3190. Return: AL = status (00h,96h,D0h,D1h,D3h,D5h,D6h,FEh,FFh) (see AH=E3h/SF=64h)
  3191. Notes:    this function is supported by Advanced NetWare 2.1+
  3192.     caller must be on the workstation which created the job
  3193. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Eh
  3194.  
  3195. Format of request buffer:
  3196. Offset    Size    Description
  3197.  00h    WORD    0007h (length of following data)
  3198.  02h    BYTE    69h (subfunction "Close File and Start Queue Job")
  3199.  03h    DWORD    (big-endian) object ID of queue
  3200.  07h    WORD    (big-endian) job number
  3201.  
  3202. Format of reply buffer:
  3203. Offset    Size    Description
  3204.  00h    WORD    (call) 0000h (no results returned)
  3205. --------N-21E3--SF6A-------------------------
  3206. INT 21 - Novell NetWare - QUEUE SERVICES - REMOVE JOB FROM QUEUE
  3207.     AH = E3h subfn 6Ah
  3208.     DS:SI -> request buffer (see below)
  3209.     ES:DI -> reply buffer (see below)
  3210. Return: AL = status (00h,96h,D0h,D1h,D5h,D6h,FEh,FFh) (see AH=E3h/SF=64h)
  3211. Notes:    this function is supported by Advanced NetWare 2.1+
  3212.     caller must have created the job or be an operator
  3213. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Eh
  3214.  
  3215. Format of request buffer:
  3216. Offset    Size    Description
  3217.  00h    WORD    0007h (length of following data)
  3218.  02h    BYTE    6Ah (subfunction "Remove Job From Queue")
  3219.  03h    DWORD    (big-endian) object ID of queue
  3220.  07h    WORD    (big-endian) job number
  3221.  
  3222. Format of reply buffer:
  3223. Offset    Size    Description
  3224.  00h    WORD    (call) 0000h (no results returned)
  3225. --------N-21E3--SF6B-------------------------
  3226. INT 21 - Novell NetWare - QUEUE SERVICES - GET QUEUE JOB LIST
  3227.     AH = E3h subfn 6Bh
  3228.     DS:SI -> request buffer (see below)
  3229.     ES:DI -> reply buffer (see below)
  3230. Return: AL = status (00h,96h,9Ch,D0h-D3h,FCh,FEh,FFh) (see AH=E3h/SF=64h)
  3231. Notes:    this function is supported by Advanced NetWare 2.1+
  3232.     caller must be on a workstation which is security-equivalent to a
  3233.       member of the Q_USERS or Q_OPERATORS properties
  3234. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Eh
  3235.  
  3236. Format of request buffer:
  3237. Offset    Size    Description
  3238.  00h    WORD    0005h (length of following data)
  3239.  02h    BYTE    6Bh (subfunction "Get Queue Job List")
  3240.  03h    DWORD    (big-endian) object ID of queue
  3241.  
  3242. Format of reply buffer:
  3243. Offset    Size    Description
  3244.  00h    WORD    (call) size of following results buffer (max 1F6h)
  3245.  02h    WORD    (big-endian) job count
  3246.  04h  N WORDs    (big-endian) list of job numbers by position in queue
  3247.     WORD    maximum job numbers
  3248. --------N-21E3--SF6C-------------------------
  3249. INT 21 - Novell NetWare - QUEUE SERVICES - READ QUEUE JOB ENTRY
  3250.     AH = E3h subfn 6Ch
  3251.     DS:SI -> request buffer (see below)
  3252.     ES:DI -> reply buffer (see below)
  3253. Return: AL = status (00h,96h,D0h-D3h,D5h,FCh,FEh,FFh) (see AH=E3h/SF=64h)
  3254. Notes:    this function is supported by Advanced NetWare 2.1+
  3255.     caller must be on a workstation which is security-equivalent to a
  3256.       member of the Q_USERS, Q_OPERATORS, or Q_SERVERS properties
  3257. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Eh
  3258.  
  3259. Format of request buffer:
  3260. Offset    Size    Description
  3261.  00h    WORD    0007h (length of following data)
  3262.  02h    BYTE    6Ch (subfunction "Read Queue Job Entry")
  3263.  03h    DWORD    (big-endian) object ID of queue
  3264.  07h    WORD    (big-endian) job number
  3265.  
  3266. Format of reply buffer:
  3267. Offset    Size    Description
  3268.  00h    WORD    (call) 0100h (size of following results)
  3269.  02h    BYTE    client station number
  3270.  03h    BYTE    client task number
  3271.  04h    DWORD    object ID of client
  3272.  08h    DWORD    (big-endian) object ID of target server
  3273.         FFFFFFFFh if any server acceptable
  3274.  0Ch  6 BYTEs    target execution time (year,month,day,hour,minute,second)
  3275.         FFFFFFFFFFFFh if serviced as soon as possible
  3276.  12h  6 BYTEs    job entry time (year,month,day,hour,minute,second)
  3277.  18h    WORD    (big-endian) job number
  3278.  1Ah    WORD    (big-endian) job type
  3279.  1Ch    BYTE    job position
  3280.  1Dh    BYTE    job control flags (see below)
  3281.  1Eh 14 BYTEs    ASCIZ job filename
  3282.  2Ch  6 BYTEs    job file handle
  3283.  32h    BYTE    server station
  3284.  33h    BYTE    server task number
  3285.  34h    DWORD    object ID of server
  3286.  38h 50 BYTEs    ASCIZ job description string
  3287.  6Ah 152 BYTEs    client record area
  3288.  
  3289. Bitfields for job control flags:
  3290. Bit(s)    Description
  3291.  3    job will be serviced automatically if connection broken
  3292.  4    job remains in queue after server aborts job
  3293.  5    client has not filled associated job file
  3294.  6    User Hold--job advances, but cannot be serviced until this is
  3295.       cleared by user or operator
  3296.  7    Operator Hold--job advances, but cannot be serviced until this is
  3297.       cleared by an operator
  3298. --------N-21E3--SF6D-------------------------
  3299. INT 21 - Novell NetWare - QUEUE SERVICES - CHANGE QUEUE JOB ENTRY
  3300.     AH = E3h subfn 6Dh
  3301.     DS:SI -> request buffer (see below)
  3302.     ES:DI -> reply buffer (see below)
  3303. Return: AL = status (00h,96h,D0h,D1h,D5h,D7h,FEh,FFh) (see AH=E3h/SF=64h)
  3304. Notes:    this function is supported by Advanced NetWare 2.1+
  3305.     caller must be an operator or the user who created the job
  3306. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Ch,AH=E3h/SF=6Eh
  3307.  
  3308. Format of request buffer:
  3309. Offset    Size    Description
  3310.  00h    WORD    0105h (length of following data)
  3311.  02h    BYTE    6Dh (subfunction "Change Queue Job Entry")
  3312.  03h    DWORD    (big-endian) object ID of queue
  3313.  07h    BYTE    client station number
  3314.  08h    BYTE    client task number
  3315.  09h    DWORD    (big-endian) object ID of client
  3316.  0Dh    DWORD    (big-endian) object ID of target server
  3317.  11h  6 BYTEs    target execution time (year,month,day,hour,minute,second)
  3318.  17h  6 BYTEs    job entry time (year,month,day,hour,minute,second)
  3319.  1Dh    WORD    (big-endian) job number
  3320.  1Fh    WORD    (big-endian) job type
  3321.  21h    BYTE    job position
  3322.  22h    BYTE    job control flags (see AH=E3h/SF=6Ch)
  3323.  23h 14 BYTEs    ASCIZ job filename
  3324.  31h  6 BYTEs    job file handle
  3325.  37h    BYTE    server station
  3326.  38h    BYTE    server task number
  3327.  39h    DWORD    object ID of server
  3328.  3Dh 50 BYTEs    ASCIZ job description string
  3329.  6Fh 152 BYTEs    client record area
  3330.  
  3331. Format of reply buffer:
  3332. Offset    Size    Description
  3333.  00h    WORD    (call) 0000h (no results returned)
  3334. --------N-21E3--SF6E-------------------------
  3335. INT 21 - Novell NetWare - QUEUE SERVICES - CHANGE QUEUE JOB POSITION
  3336.     AH = E3h subfn 6Eh
  3337.     DS:SI -> request buffer (see below)
  3338.     ES:DI -> reply buffer (see below)
  3339. Return: AL = status (00h,96h,D0h,D1h,D5h,D6h,FEh,FFh) (see AH=E3h/SF=64h)
  3340. Notes:    this function is supported by Advanced NetWare 2.1+
  3341.     caller must be an operator
  3342.     if the specified position is greater than the number of jobs in the
  3343.       queue, the job is placed at the end of the queue
  3344. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Ch,AH=E3h/SF=6Dh
  3345.  
  3346. Format of request buffer:
  3347. Offset    Size    Description
  3348.  00h    WORD    0008h (length of following data)
  3349.  02h    BYTE    6Eh (subfunction "Change Queue Job Position")
  3350.  03h    DWORD    (big-endian) object ID of queue
  3351.  07h    WORD    (big-endian) job number
  3352.  09h    BYTE    new position in queue (01h-FAh)
  3353.  
  3354. Format of reply buffer:
  3355. Offset    Size    Description
  3356.  00h    WORD    (call) 0000h (no results returned)
  3357. --------N-21E3--SF6F-------------------------
  3358. INT 21 - Novell NetWare - QUEUE SERVICES - ATTACH QUEUE SERVER TO QUEUE
  3359.     AH = E3h subfn 6Fh
  3360.     DS:SI -> request buffer (see below)
  3361.     ES:DI -> reply buffer (see below)
  3362. Return: AL = status (00h,96h,9Ch,D0h,D1h,D3h,DAh,DBh,FEh,FFh)
  3363.         (see also AH=E3h/SF=64h)
  3364.         FFh bindery failure, or no such property, or no such member
  3365. Desc:    attach the calling job server to the specified queue
  3366. Notes:    this function is supported by Advanced NetWare 2.1+
  3367.     a queue may have up to 25 job servers attached
  3368.     the calling workstation must be security-equivalent to a member of the
  3369.       queue's Q_SERVERS property
  3370. SeeAlso: AH=E3h/SF=70h,AH=E3h/SF=71h,AH=E3h/SF=72h,AH=E3h/SF=73h,AH=E3h/SF=76h
  3371.  
  3372. Format of request buffer:
  3373. Offset    Size    Description
  3374.  00h    WORD    0005h (length of following data)
  3375.  02h    BYTE    6Fh (subfunction "Attach Queue Server To Queue")
  3376.  03h    DWORD    (big-endian) object ID of queue
  3377.  
  3378. Format of reply buffer:
  3379. Offset    Size    Description
  3380.  00h    WORD    (call) 0000h (no results returned)
  3381. --------N-21E3--SF70-------------------------
  3382. INT 21 - Novell NetWare - QUEUE SERVICES - DETACH QUEUE SERVER FROM QUEUE
  3383.     AH = E3h subfn 70h
  3384.     DS:SI -> request buffer (see below)
  3385.     ES:DI -> reply buffer (see below)
  3386. Return: AL = status (00h,96h,9Ch,D0h,D1h,D2h,FEh,FFh) (see AH=E3h/SF=64h)
  3387. Desc:    remove the calling job server from the specified queue's list of
  3388.       servers
  3389. Notes:    this function is supported by Advanced NetWare 2.1+
  3390.     the caller must have previously attached itself to the queue
  3391. SeeAlso: AH=E3h/SF=6Fh,AH=E3h/SF=72h,AH=E3h/SF=73h,AH=E3h/SF=76h
  3392.  
  3393. Format of request buffer:
  3394. Offset    Size    Description
  3395.  00h    WORD    0005h (length of following data)
  3396.  02h    BYTE    70h (subfunction "Detach Queue Server From Queue")
  3397.  03h    DWORD    (big-endian) object ID of queue
  3398.  
  3399. Format of reply buffer:
  3400. Offset    Size    Description
  3401.  00h    WORD    (call) 0000h (no results returned)
  3402. --------N-21E3--SF71-------------------------
  3403. INT 21 - Novell NetWare - QUEUE SERVICES - SERVICE QUEUE JOB AND OPEN FILE
  3404.     AH = E3h subfn 71h
  3405.     DS:SI -> request buffer (see below)
  3406.     ES:DI -> reply buffer (see AH=E3h/SF=68h)
  3407. Return: AL = status (00h,96h,9Ch,D0h,D1h,D3h,D5h,D9h,DAh,FEh,FFh)
  3408.         (see AH=E3h/SF=64h)
  3409. Notes:    this function is supported by Advanced NetWare 2.1+
  3410.     the caller must be on a workstation which is security-equivalent to a
  3411.       member of the queue's Q_USERS, Q_OPERATORS, or Q_SERVERS properties
  3412. SeeAlso: AH=E3h/SF=6Fh,AH=E3h/SF=72h,AH=E3h/SF=73h,AH=E3h/SF=76h
  3413.  
  3414. Format of request buffer:
  3415. Offset    Size    Description
  3416.  00h    WORD    0007h (length of following data)
  3417.  02h    BYTE    71h (subfunction "Service Queue Job and Open File")
  3418.  03h    DWORD    (big-endian) object ID of queue
  3419.  07h    WORD    (big-endian) target job type
  3420.         FFFFh any
  3421. --------N-21E3--SF72-------------------------
  3422. INT 21 - Novell NetWare - QUEUE SERVICES - FINISH SERVICING QUEUE JOB AND FILE
  3423.     AH = E3h subfn 72h
  3424.     DS:SI -> request buffer (see below)
  3425.     ES:DI -> reply buffer (see below)
  3426. Return: AL = status (00h,96h,D0h,D1h,D6h) (see AH=E3h/SF=64h)
  3427. Desc:    inform the Queue Management System (QMS) that the queue server has
  3428.       completed a job
  3429. Notes:    this function is supported by Advanced NetWare 2.1+
  3430.     the caller must be a job server which has previously obtained a job
  3431.       for servicing
  3432. SeeAlso: AH=E3h/SF=6Fh,AH=E3h/SF=71h,AH=E3h/SF=73h,AH=E3h/SF=76h
  3433.  
  3434. Format of request buffer:
  3435. Offset    Size    Description
  3436.  00h    WORD    000Bh (length of following data)
  3437.  02h    BYTE    72h (subfunction "Finish Servicing Queue Job and File")
  3438.  03h    DWORD    (big-endian) object ID of queue
  3439.  07h    WORD    (big-endian) job number
  3440.  09h    DWORD    (big-endian) charge
  3441.  
  3442. Format of reply buffer:
  3443. Offset    Size    Description
  3444.  00h    WORD    (call) 0000h (no results returned)
  3445. --------N-21E3--SF73-------------------------
  3446. INT 21 - Novell NetWare - QUEUE SERVICES - ABORT SERVICING QUEUE JOB AND FILE
  3447.     AH = E3h subfn 73h
  3448.     DS:SI -> request buffer (see below)
  3449.     ES:DI -> reply buffer (see below)
  3450. Return: AL = status (00h,96h,D0h,D1h,D6h,D9h) (see AH=E3h/SF=64h)
  3451. Desc:    inform the Queue Management System (QMS) that the queue server is
  3452.       unable to service a previously-accepted job
  3453. Note:    this function is supported by Advanced NetWare 2.1+
  3454. SeeAlso: AH=E3h/SF=6Fh,AH=E3h/SF=71h,AH=E3h/SF=72h,AH=E3h/SF=76h
  3455.  
  3456. Format of request buffer:
  3457. Offset    Size    Description
  3458.  00h    WORD    0007h (length of following data)
  3459.  02h    BYTE    73h (subfunction "Abort Servicing Queue Job and File")
  3460.  03h    DWORD    (big-endian) object ID of queue
  3461.  07h    WORD    (big-endian) job number
  3462.  
  3463. Format of reply buffer:
  3464. Offset    Size    Description
  3465.  00h    WORD    (call) 0000h (no results returned)
  3466. --------N-21E3--SF74-------------------------
  3467. INT 21 - Novell NetWare - QUEUE SERVICES - CHANGE TO CLIENT RIGHTS
  3468.     AH = E3h subfn 74h
  3469.     DS:SI -> request buffer (see below)
  3470.     ES:DI -> reply buffer (see below)
  3471. Return: AL = status (00h,96h,D0h,D1h,D5h,D9h) (see AH=E3h/SF=64h)
  3472. Desc:    temporarily assume the login identity of the client submitting the
  3473.       job being serviced
  3474. Notes:    this function is supported by Advanced NetWare 2.1+
  3475.     caller must be a job server which has obtained a job for servicing
  3476. SeeAlso: AH=E3h/SF=75h
  3477.  
  3478. Format of request buffer:
  3479. Offset    Size    Description
  3480.  00h    WORD    0007h (length of following data)
  3481.  02h    BYTE    74h (subfunction "Change To Client Rights")
  3482.  03h    DWORD    (big-endian) object ID of queue
  3483.  07h    WORD    (big-endian) job number
  3484.  
  3485. Format of reply buffer:
  3486. Offset    Size    Description
  3487.  00h    WORD    (call) 0000h (no results returned)
  3488. --------N-21E3--SF75-------------------------
  3489. INT 21 - Novell NetWare - QUEUE SERVICES - RESTORE QUEUE SERVER RIGHTS
  3490.     AH = E3h subfn 75h
  3491.     DS:SI -> request buffer (see below)
  3492.     ES:DI -> reply buffer (see below)
  3493. Return: AL = status (00h,96h,9Ch,D0h,D1h,D3h,D5h,D9h,DAh,FEh,FFh)
  3494.         (see AH=E3h/SF=64h)
  3495. Desc:    restore server's own identity after assuming the login identity of the
  3496.       client submitting the job being serviced
  3497. Notes:    this function is supported by Advanced NetWare 2.1+
  3498.     caller must be a job server which has previously changed its identity
  3499. SeeAlso: AH=E3h/SF=74h
  3500.  
  3501. Format of request buffer:
  3502. Offset    Size    Description
  3503.  00h    WORD    0001h (length of following data)
  3504.  02h    BYTE    75h (subfunction "Change To Client Rights")
  3505.  
  3506. Format of reply buffer:
  3507. Offset    Size    Description
  3508.  00h    WORD    (call) 0000h (no results returned)
  3509. --------N-21E3--SF76-------------------------
  3510. INT 21 - Novell NetWare - QUEUE SERVICES - READ QUEUE SERVER CURRENT STATUS
  3511.     AH = E3h subfn 76h
  3512.     DS:SI -> request buffer (see below)
  3513.     ES:DI -> reply buffer (see below)
  3514. Return: AL = status (00h,96h,9Ch,D1h-D3h,F1h,FCh,FEh,FFh) (see AH=E3h/SF=64h)
  3515. Notes:    this function is supported by Advanced NetWare 2.1+
  3516.     caller must be on a workstation which is security-equivalent to a
  3517.       member of the Q_USERS or Q_OPERATORS properties
  3518. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ch,AH=E3h/SF=6Fh,AH=E3h/SF=77h,AH=E3h/SF=78h
  3519.  
  3520. Format of request buffer:
  3521. Offset    Size    Description
  3522.  00h    WORD    000Ah (length of following data)
  3523.  02h    BYTE    76h (subfunction "Read Queue Server Current Status")
  3524.  03h    DWORD    (big-endian) object ID of queue
  3525.  07h    DWORD    (big-endian) object ID of server
  3526.  0Bh    BYTE    server station
  3527.  
  3528. Format of reply buffer:
  3529. Offset    Size    Description
  3530.  00h    WORD    (call) 0040h (size of following results)
  3531.  02h 64 BYTEs    server status record (format depends on server)
  3532.         first four bytes should contain estimated "price" for an
  3533.         average job
  3534. --------N-21E3--SF77-------------------------
  3535. INT 21 - Novell NetWare - QUEUE SERVICES - SET QUEUE SERVER CURRENT STATUS
  3536.     AH = E3h subfn 77h
  3537.     DS:SI -> request buffer (see below)
  3538.     ES:DI -> reply buffer (see below)
  3539. Return: AL = status (00h,96h,9Ch,D0h,D1h,FEh,FFh) (see AH=E3h/SF=64h)
  3540. Notes:    this function is supported by Advanced NetWare 2.1+
  3541.     caller must be a job server which has attached itself to the queue
  3542. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ch,AH=E3h/SF=6Fh,AH=E3h/SF=76h,AH=E3h/SF=78h
  3543.  
  3544. Format of request buffer:
  3545. Offset    Size    Description
  3546.  00h    WORD    0045h (length of following data)
  3547.  02h    BYTE    77h (subfunction "Set Queue Server Current Status")
  3548.  03h    DWORD    (big-endian) object ID of queue
  3549.  02h 64 BYTEs    server status record (format depends on server)
  3550.         first four bytes should contain estimated "price" for an
  3551.         average job
  3552.  
  3553. Format of reply buffer:
  3554. Offset    Size    Description
  3555.  00h    WORD    (call) 0000h (no results returned)
  3556. --------N-21E3--SF78-------------------------
  3557. INT 21 - Novell NetWare - QUEUE SERVICES - GET QUEUE JOB'S FILE SIZE
  3558.     AH = E3h subfn 78h
  3559.     DS:SI -> request buffer (see below)
  3560.     ES:DI -> reply buffer (see below)
  3561. Return: AL = status (see also AH=E3h/SF=64h)
  3562.         00h successful
  3563. Notes:    this function is supported by Advanced NetWare 2.1+
  3564.     caller must be on a workstation which is security-equivalent to a
  3565.       member of the queue's Q_USERS, Q_OPERATORS, or Q_SERVERS properties
  3566. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ch,AH=E3h/SF=71h
  3567.  
  3568. Format of request buffer:
  3569. Offset    Size    Description
  3570.  00h    WORD    0007h (length of following data)
  3571.  02h    BYTE    78h (subfunction "Get Queue Job's File Size")
  3572.  03h    DWORD    (big-endian) object ID of queue
  3573.  07h    WORD    (big-endian) job number
  3574.  
  3575. Format of reply buffer:
  3576. Offset    Size    Description
  3577.  00h    WORD    (call) 000Ah (size of following results)
  3578.  02h    DWORD    (big-endian) object ID of queue
  3579.  06h    WORD    (big-endian) job number
  3580.  08h    DWORD    (big-endian) size of job file in bytes
  3581. --------N-21E3--SF96-------------------------
  3582. INT 21 - Novell NetWare - ACCOUNTING SERVICES - GET ACCOUNT STATUS
  3583.     AH = E3h subfn 96h
  3584.     DS:SI -> request buffer (see below)
  3585.     ES:DI -> reply buffer (see below)
  3586. Return: AL = status (00h,C0h,C1h) (see below)
  3587. Note:    this function is supported by Advanced NetWare 2.1+
  3588. SeeAlso: AH=E3h/SF=97h,AH=E3h/SF=98h,AH=E3h/SF=99h
  3589.  
  3590. Values for status:
  3591.  00h    successful
  3592.  C0h    no account privileges
  3593.  C1h    no account balance
  3594.  C2h    credit limit exceeded
  3595.  C3h    too many holds on account
  3596.  
  3597. Format of request buffer:
  3598. Offset    Size    Description
  3599.  00h    WORD    length of following data (max 33h)
  3600.  02h    BYTE    96h (subfunction "Get Account Status")
  3601.  03h    WORD    (big-endian) type of bindery object
  3602.  05h    BYTE    length of object name (01h to 2Fh)
  3603.  06h  N BYTEs    object name
  3604.  
  3605. Format of reply buffer:
  3606. Offset    Size    Description
  3607.  00h    WORD    (call) length of following buffer space
  3608.  02h    DWORD    (big-endian) account balance
  3609.  06h    DWORD    (big-endian) credit limit
  3610.         signed number indicating lowest allowable account balance
  3611.  0Ah 120 BYTEs    reserved
  3612.  82h    DWORD    (big-endian) object ID, server 1
  3613.  86h    DWORD    (big-endian) hold amount, server 1
  3614.     ...
  3615.  F8h    DWORD    (big-endian) object ID, server 16
  3616.  FCh    DWORD    (big-endian) hold amount, server 16
  3617. Note:    the reply buffer lists the servers which have placed holds on a portion
  3618.       of the account balance, and the amount reserved by each
  3619. --------N-21E3--SF97-------------------------
  3620. INT 21 - Novell NetWare - ACCOUNTING SERVICES - SUBMIT ACCOUNT CHARGE
  3621.     AH = E3h subfn 97h
  3622.     DS:SI -> request buffer (see below)
  3623.     ES:DI -> reply buffer (see below)
  3624. Return: AL = status (00h,C0h-C2h) (see AH=E3h/SF=96h)
  3625. Note:    this function is supported by Advanced NetWare 2.1+
  3626. SeeAlso: AH=E3h/SF=96h,AH=E3h/SF=98h
  3627.  
  3628. Format of request buffer:
  3629. Offset    Size    Description
  3630.  00h    WORD    length of following data (max 13Fh)
  3631.  02h    BYTE    97h (subfunction "Submit Account Charge")
  3632.  03h    WORD    (big-endian) service type
  3633.  05h    DWORD    (big-endian) amount to be charged to account
  3634.  09h    DWORD    (big-endian) amount of prior hold to be cancelled
  3635.  0Dh    WORD    (big-endian) type of bindery object
  3636.  0Fh    WORD    (big-endian) type of comment
  3637.         8000h-FFFFh reserved for experimental use
  3638.  11h    BYTE    length of object's name
  3639.  12h  N BYTEs    object name
  3640.     BYTE    length of comment
  3641.       N BYTEs    comment
  3642.  
  3643. Format of reply buffer:
  3644. Offset    Size    Description
  3645.  00h    WORD    0000h (no data returned)
  3646. --------N-21E3--SF98-------------------------
  3647. INT 21 - Novell NetWare - ACCOUNTING SERVICES - SUBMIT ACCOUNT HOLD
  3648.     AH = E3h subfn 98h
  3649.     DS:SI -> request buffer (see below)
  3650.     ES:DI -> reply buffer (see below)
  3651. Return: AL = status (00h,C0h-C3h) (see AH=E3h/SF=96h)
  3652. Note:    this function is supported by Advanced NetWare 2.1+
  3653. SeeAlso: AH=E3h/SF=96h,AH=E3h/SF=97h
  3654.  
  3655. Format of request buffer:
  3656. Offset    Size    Description
  3657.  00h    WORD    length of following data (max 37h)
  3658.  02h    BYTE    98h (subfunction "Submit Account Hold")
  3659.  03h    DWORD    (big-endian) amount of account balance to reserve
  3660.  07h    WORD    (big-endian) type of bindery object
  3661.  09h    BYTE    length of object's name
  3662.  0Ah  N BYTEs    object name
  3663.  
  3664. Format of reply buffer:
  3665. Offset    Size    Description
  3666.  00h    WORD    0000h (no data returned)
  3667. --------N-21E3--SF99-------------------------
  3668. INT 21 - Novell NetWare - ACCOUNTING SERVICES - SUBMIT ACCOUNT NOTE
  3669.     AH = E3h subfn 99h
  3670.     DS:SI -> request buffer (see below)
  3671.     ES:DI -> reply buffer (see below)
  3672. Return: AL = status
  3673.         00h successful
  3674.         C0h no account privileges
  3675. Note:    this function is supported by Advanced NetWare 2.1+
  3676. SeeAlso: AH=E3h/SF=96h
  3677.  
  3678. Format of request buffer:
  3679. Offset    Size    Description
  3680.  00h    WORD    length of following data (max 137h)
  3681.  02h    BYTE    99h (subfunction "Submit Account Note")
  3682.  03h    WORD    (big-endian) type of service
  3683.  05h    WORD    (big-endian) type of bindery object
  3684.  07h    WORD    (big-endian) type of comment
  3685.         8000h-FFFFh reserved for experimental use
  3686.  09h    BYTE    length of object's name
  3687.  0Ah  N BYTEs    object name
  3688.     BYTE    length of comment
  3689.       N BYTEs    comment
  3690.  
  3691. Format of reply buffer:
  3692. Offset    Size    Description
  3693.  00h    WORD    0000h (no data returned)
  3694. --------N-21E3--SFC8-------------------------
  3695. INT 21 - Novell NetWare - FILE SERVER - CHECK CONSOLE PRIVILEGES
  3696.     AH = E3h subfn C8h
  3697.     DS:SI -> request buffer (see below)
  3698.     ES:DI -> reply buffer (see below)
  3699. Return: AL = status
  3700.         00h successful
  3701.         C6h no console rights
  3702. Desc:    determine whether the caller is a console operator
  3703. Notes:    this function is supported by Advanced NetWare 2.1+
  3704.     NetWare determines console privileges by checking the file server's
  3705.       OPERATOR property for the caller's object ID
  3706. SeeAlso: AH=E3h/SF=C9h,AH=E3h/SF=D1h
  3707.  
  3708. Format of request buffer:
  3709. Offset    Size    Description
  3710.  00h    WORD    0001h (length of following data)
  3711.  02h    BYTE    C8h (subfunction "Check Console Privileges")
  3712.  
  3713. Format of reply buffer:
  3714. Offset    Size    Description
  3715.  00h    WORD    (call) 0000h (no results returned)
  3716. --------N-21E3--SFC9-------------------------
  3717. INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER DESCRIPTION STRINGS
  3718.     AH = E3h subfn C9h
  3719.     DS:SI -> request buffer (see below)
  3720.     ES:DI -> reply buffer (see below)
  3721. Return: AL = status
  3722.         00h successful
  3723. Notes:    this function is supported by Advanced NetWare 2.1+
  3724.     the calling workstation must be attached to the file server
  3725. SeeAlso: AH=E3h/SF=11h,AH=E3h/SF=CDh,AH=E3h/SF=E8h
  3726.  
  3727. Format of request buffer:
  3728. Offset    Size    Description
  3729.  00h    WORD    0001h (length of following data)
  3730.  02h    BYTE    C9h (subfunction "Get File Server Description Strings")
  3731.  
  3732. Format of reply buffer:
  3733. Offset    Size    Description
  3734.  00h    WORD    (call) 0200h (size of following results buffer)
  3735.  02h    var    ASCIZ name of company distributing this copy of NetWare
  3736.     var    ASCIZ version and revision
  3737.       9 BYTEs    ASCIZ revision date (mm/dd/yy)
  3738.     var    ASCIZ copyright notice
  3739. --------N-21E3--SFCA-------------------------
  3740. INT 21 - Novell NetWare - FILE SERVER - SET FILE SERVER DATE AND TIME
  3741.     AH = E3h subfn CAh
  3742.     DS:SI -> request buffer (see below)
  3743.     ES:DI -> reply buffer (see below)
  3744. Return: AL = status
  3745.         00h successful
  3746.         C6h no console rights
  3747. Notes:    this function is supported by Advanced NetWare 2.1+
  3748.     the calling workstation must have console operator privileges
  3749. SeeAlso: AH=2Bh,AH=2Dh,AH=E3h/SF=C8h,AH=E7h
  3750.  
  3751. Format of request buffer:
  3752. Offset    Size    Description
  3753.  00h    WORD    0007h (length of following data)
  3754.  02h    BYTE    CAh (subfunction "Set File Server Date And Time")
  3755.  03h    BYTE    year (00-79 = 2000-2079, 80-99 = 1980-1999)
  3756.  04h    BYTE    month (1-12)
  3757.  05h    BYTE    day (1-31)
  3758.  06h    BYTE    hour (0-23)
  3759.  07h    BYTE    minute
  3760.  08h    BYTR    second
  3761.  
  3762. Format of reply buffer:
  3763. Offset    Size    Description
  3764.  00h    WORD    (call) 0000h (no results returned)
  3765. --------N-21E3--SFCB-------------------------
  3766. INT 21 - Novell NetWare - FILE SERVER - DISABLE FILE SERVER LOGIN
  3767.     AH = E3h subfn CBh
  3768.     DS:SI -> request buffer (see below)
  3769.     ES:DI -> reply buffer (see below)
  3770. Return: AL = status
  3771.         00h successful
  3772.         C6h no console rights
  3773. Notes:    this function is supported by Advanced NetWare 2.1+
  3774.     the calling workstation must have console operator privileges
  3775. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CCh,AH=E3h/SF=D3h
  3776.  
  3777. Format of request buffer:
  3778. Offset    Size    Description
  3779.  00h    WORD    0001h (length of following data)
  3780.  02h    BYTE    CBh (subfunction "Disable File Server Login")
  3781.  
  3782. Format of reply buffer:
  3783. Offset    Size    Description
  3784.  00h    WORD    (call) 0000h (no results returned)
  3785. --------N-21E3--SFCC-------------------------
  3786. INT 21 - Novell NetWare - FILE SERVER - ENABLE FILE SERVER LOGIN
  3787.     AH = E3h subfn CCh
  3788.     DS:SI -> request buffer (see below)
  3789.     ES:DI -> reply buffer (see below)
  3790. Return: AL = status
  3791.         00h successful
  3792.         C6h no console rights
  3793. Notes:    this function is supported by Advanced NetWare 2.1+
  3794.     the calling workstation must have console operator privileges
  3795. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CBh
  3796.  
  3797. Format of request buffer:
  3798. Offset    Size    Description
  3799.  00h    WORD    0001h (length of following data)
  3800.  02h    BYTE    CCh (subfunction "Enable File Server Login")
  3801.  
  3802. Format of reply buffer:
  3803. Offset    Size    Description
  3804.  00h    WORD    (call) 0000h (no results returned)
  3805. --------N-21E3--SFCD-------------------------
  3806. INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER LOGIN STATUS
  3807.     AH = E3h subfn CDh
  3808.     DS:SI -> request buffer (see below)
  3809.     ES:DI -> reply buffer (see below)
  3810. Return: AL = status
  3811.         00h successful
  3812.         C6h no console rights
  3813. Notes:    this function is supported by Advanced NetWare 2.1+
  3814.     the calling workstation must have console operator privileges
  3815. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CBh,AH=E3h/SF=CCh
  3816.  
  3817. Format of request buffer:
  3818. Offset    Size    Description
  3819.  00h    WORD    0001h (length of following data)
  3820.  02h    BYTE    CDh (subfunction "Get File Server Login Status")
  3821.  
  3822. Format of reply buffer:
  3823. Offset    Size    Description
  3824.  00h    WORD    (call) 0001h (size of following results buffer)
  3825.  02h    BYTE    login state (00h disabled, 01h enabled)
  3826. --------N-21E3--SFCE-------------------------
  3827. INT 21 - Novell NetWare - FILE SERVICES - PURGE ALL ERASED FILES
  3828.     AH = E3h subfn CEh
  3829.     DS:SI -> request buffer (see below)
  3830.     ES:DI -> reply buffer (see below)
  3831. Return: AL = status
  3832.         00h successful
  3833.         C6h no console rights
  3834. Desc:    all files marked for deletion on the file server are purged, regardless
  3835.       of which workstation actually erased them
  3836. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  3837.       Alloy NTNX
  3838.     the calling workstation must have console operator privileges
  3839. SeeAlso: AH=13h,AH=E2h/SF=10h,AH=E3h/SF=C8h,AX=F244h
  3840.  
  3841. Format of request buffer:
  3842. Offset    Size    Description
  3843.  00h    WORD    0001h (length of following data)
  3844.  02h    BYTE    CEh (subfunction "Purge All Erased Files")
  3845.  
  3846. Format of reply buffer:
  3847. Offset    Size    Description
  3848.  00h    WORD    (call) 0000h (no results returned)
  3849. --------N-21E3--SFCF-------------------------
  3850. INT 21 - Novell NetWare - FILE SERVER - DISABLE TRANSACTION TRACKING
  3851.     AH = E3h subfn CFh
  3852.     DS:SI -> request buffer (see below)
  3853.     ES:DI -> reply buffer (see below)
  3854. Return: AL = status
  3855.         00h successful
  3856.         C6h no console rights
  3857. Notes:    this function is supported by Advanced NetWare 2.1+
  3858.     the calling workstation must have console operator privileges
  3859. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=D0h
  3860.  
  3861. Format of request buffer:
  3862. Offset    Size    Description
  3863.  00h    WORD    0001h (length of following data)
  3864.  02h    BYTE    CFh (subfunction "Disable Transaction Tracking")
  3865.  
  3866. Format of reply buffer:
  3867. Offset    Size    Description
  3868.  00h    WORD    (call) 0000h (no results returned)
  3869. --------N-21E3--SFD0-------------------------
  3870. INT 21 - Novell NetWare - FILE SERVER - ENABLE TRANSACTION TRACKING
  3871.     AH = E3h subfn D0h
  3872.     DS:SI -> request buffer (see below)
  3873.     ES:DI -> reply buffer (see below)
  3874. Return: AL = status
  3875.         00h successful
  3876.         C6h no console rights
  3877. Desc:    restart transaction tracking after being stopped either explicitly by
  3878.       AH=E3h/SF=CFh or automatically due to a full transaction volume
  3879. Notes:    this function is supported by Advanced NetWare 2.1+
  3880.     the calling workstation must have console operator privileges
  3881. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CFh
  3882.  
  3883. Format of request buffer:
  3884. Offset    Size    Description
  3885.  00h    WORD    0001h (length of following data)
  3886.  02h    BYTE    D0h (subfunction "Enable Transaction Tracking")
  3887.  
  3888. Format of reply buffer:
  3889. Offset    Size    Description
  3890.  00h    WORD    (call) 0000h (no results returned)
  3891. --------N-21E3--SFD1-------------------------
  3892. INT 21 - Novell NetWare - FILE SERVER - SEND CONSOLE BROADCAST
  3893.     AH = E3h subfn D1h
  3894.     DS:SI -> request buffer (see below)
  3895.     ES:DI -> reply buffer (see below)
  3896. Return: AL = status
  3897.         00h successful
  3898.         C6h no console rights
  3899. Notes:    this function is supported by Advanced NetWare 2.1+
  3900.     the calling workstation must have console operator privileges
  3901.     the broadcast message will not be received by workstations which have
  3902.       disabled broadcasts with AH=E1h/SF=02h
  3903. SeeAlso: AH=E1h/SF=02h,AH=E1h/SF=09h,AH=E3h/SF=C8h,AH=E3h/SF=D3h
  3904.  
  3905. Format of request buffer:
  3906. Offset    Size    Description
  3907.  00h    WORD    length of following data (max A2h)
  3908.  02h    BYTE    D1h (subfunction "Send Console Broadcast")
  3909.  03h    BYTE    number of connections to receive message
  3910.         00h = all, else specific list below
  3911.  04h  N BYTEs    connection list
  3912.     BYTE    length of message (max 3Ch)
  3913.       N BYTEs    message
  3914.  
  3915. Format of reply buffer:
  3916. Offset    Size    Description
  3917.  00h    WORD    (call) 0000h (no results returned)
  3918. --------N-21E3--SFD2-------------------------
  3919. INT 21 - Novell NetWare - FILE SERVER - CLEAR CONNECTION NUMBER
  3920.     AH = E3h subfn D2h
  3921.     DS:SI -> request buffer (see below)
  3922.     ES:DI -> reply buffer (see below)
  3923. Return: AL = status
  3924.         00h successful
  3925.         C6h no console rights
  3926. Desc:    close the open files and release all file locks for a connection,
  3927.       abort transactions if a TTS file server, and detach from the file
  3928.       server
  3929. Notes:    this function is supported by Advanced NetWare 2.1+
  3930.     the caller must have SUPERVISOR privileges
  3931. SeeAlso: AH=E3h/SF=C9h,AH=E3h/SF=D1h
  3932.  
  3933. Format of request buffer:
  3934. Offset    Size    Description
  3935.  00h    WORD    0002h (length of following data)
  3936.  02h    BYTE    D2h (subfunction "Clear Connection Number")
  3937.  03h    BYTE    connection number
  3938.  
  3939. Format of reply buffer:
  3940. Offset    Size    Description
  3941.  00h    WORD    (call) 0000h (no results returned)
  3942. --------N-21E3--SFD3-------------------------
  3943. INT 21 - Novell NetWare - FILE SERVER - DOWN FILE SERVER
  3944.     AH = E3h subfn D3h
  3945.     DS:SI -> request buffer (see below)
  3946.     ES:DI -> reply buffer (see below)
  3947. Return: AL = status
  3948.         00h successful
  3949.         C6h no console rights
  3950.         FFh files open
  3951. Desc:    take down the file server
  3952. Notes:    this function is supported by Advanced NetWare 2.1+
  3953.     the calling workstation must have SUPERVISOR privileges
  3954. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CBh,AH=E3h/SF=CFh,AH=E3h/SF=D1h
  3955.  
  3956. Format of request buffer:
  3957. Offset    Size    Description
  3958.  00h    WORD    0002h (length of following data)
  3959.  02h    BYTE    D3h (subfunction "Down File Server")
  3960.  03h    BYTE    flag: force down even if files open if nonzero
  3961.  
  3962. Format of reply buffer:
  3963. Offset    Size    Description
  3964.  00h    WORD    (call) 0000h (no results returned)
  3965. --------N-21E3--SFD4-------------------------
  3966. INT 21 - Novell NetWare - FILE SERVER - GET FILE SYSTEM STATISTICS
  3967.     AH = E3h subfn D4h
  3968.     DS:SI -> request buffer (see below)
  3969.     ES:DI -> reply buffer (see below)
  3970. Return: AL = status
  3971.         00h successful
  3972.         C6h no console rights
  3973. Notes:    this function is supported by Advanced NetWare 2.1+
  3974.     the calling workstation must have console operator privileges
  3975. SeeAlso: AH=E3h/SF=0Eh,AH=E3h/SF=C8h,AH=E3h/SF=D9h,AH=E3h/SF=E7h,AH=E3h/SF=E8h
  3976.  
  3977. Format of request buffer:
  3978. Offset    Size    Description
  3979.  00h    WORD    0001h (length of following data)
  3980.  02h    BYTE    D4h (subfunction "Get File System Statistics")
  3981.  
  3982. Format of reply buffer:
  3983. Offset    Size    Description
  3984.  00h    WORD    (call) 0028h (size of following results buffer)
  3985.  02h    DWORD    clock ticks since system started
  3986.  06h    WORD    maximum open files set by configuration
  3987.  08h    WORD    maximum files open concurrently
  3988.  0Ah    WORD    current number of open files
  3989.  0Ch    DWORD    total files opened
  3990.  10h    DWORD    total file read requests
  3991.  14h    DWORD    total file write requests
  3992.  18h    WORD    current changed FATs
  3993.  1Ah    WORD    total changed FATs
  3994.  1Ch    WORD    number of FAT write errors
  3995.  1Eh    WORD    number of fatal FAT write errors
  3996.  20h    WORD    number of FAT scan errors
  3997.  22h    WORD    maximum concurrently-indexed files
  3998.  24h    WORD    current number of indexed files
  3999.  26h    WORD    number of attached indexed files
  4000.  28h    WORD    number of indexed files available
  4001. Note:    all fields except the first are big-endian
  4002. --------N-21E3--SFD5-------------------------
  4003. INT 21 - Novell NetWare - FILE SERVER - GET TRANSACTION TRACKING STATISTICS
  4004.     AH = E3h subfn D5h
  4005.     DS:SI -> request buffer (see below)
  4006.     ES:DI -> reply buffer (see below)
  4007. Return: AL = status
  4008.         00h successful
  4009.         C6h no console rights
  4010. Notes:    this function is supported by Advanced NetWare 2.1+
  4011.     the calling workstation must have console operator privileges
  4012. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CFh,AH=E3h/SF=D0h,AH=E3h/SF=E8h
  4013.  
  4014. Format of request buffer:
  4015. Offset    Size    Description
  4016.  00h    WORD    0001h (length of following data)
  4017.  02h    BYTE    D5h (subfunction "TTS Get Statistics")
  4018.  
  4019. Format of reply buffer:
  4020. Offset    Size    Description
  4021.  00h    WORD    (call) length of following results buffer (max 1BCh)
  4022.  02h    DWORD    (big-endian) clock ticks since system started
  4023.  06h    BYTE    transaction tracking supported if nonzero
  4024.         (all following fields are invalid if zero)
  4025.  07h    BYTE    transaction tracking enabled
  4026.  08h    WORD    (big-endian) transaction volume number
  4027.  0Ah    WORD    (big-endian) maximum simultaneous transactions configured
  4028.  0Ch    WORD    (big-endian) maximum simultaneous transactions since startup
  4029.  0Eh    WORD    (big-endian) current transactions in progress
  4030.  10h    DWORD    (big-endian) total transactions performed
  4031.  14h    DWORD    (big-endian) total write transactions
  4032.  18h    DWORD    (big-endian) total transactions backed out
  4033.  1Ch    WORD    (big-endian) number of unfilled backout requests
  4034.  1Eh    WORD    (big-endian) disk blocks used for transaction tracking
  4035.  20h    DWORD    (big-endian) blocks allocated for tracked-file FATs
  4036.  24h    DWORD    (big-endian) number of file size changes during a transaction
  4037.  28h    DWORD    (big-endian) number of file truncations during a transaction
  4038.  2Ch    BYTE    number of records following
  4039.  2Dh    Active Transaction Records [array]
  4040.     Offset    Size    Description
  4041.      00h    BYTE    logical connection number
  4042.      01h    BYTE    task number
  4043. --------N-21E3--SFD6-------------------------
  4044. INT 21 - Novell NetWare - FILE SERVER - GET DISK CACHE STATISTICS
  4045.     AH = E3h subfn D6h
  4046.     DS:SI -> request buffer (see below)
  4047.     ES:DI -> reply buffer (see below)
  4048. Return: AL = status
  4049.         00h successful
  4050.         C6h no console rights
  4051. Notes:    this function is supported by Advanced NetWare 2.1+
  4052.     the calling workstation must have console operator privileges
  4053. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=D5h,AH=E3h/SF=D8h,AH=E3h/SF=D9h,AH=E3h/SF=E6h
  4054.  
  4055. Format of request buffer:
  4056. Offset    Size    Description
  4057.  00h    WORD    0001h (length of following data)
  4058.  02h    BYTE    D6h (subfunction "Get Disk Cache Statistics")
  4059.  
  4060. Format of reply buffer:
  4061. Offset    Size    Description
  4062.  00h    WORD    (call) 004Eh (length of following results buffer)
  4063.  02h    DWORD    clock ticks since system started
  4064.  06h    WORD    number of cache buffers
  4065.  08h    WORD    size of cache buffer in bytes
  4066.  0Ah    WORD    number of dirty cache buffers
  4067.  0Ch    DWORD    number of cache read requests
  4068.  10h    DWORD    number of cache write requests
  4069.  14h    DWORD    number of cache hits
  4070.  18h    DWORD    number of cache misses
  4071.  1Ch    DWORD    number of physical read requests
  4072.  20h    DWORD    number of physical write requests
  4073.  24h    WORD    number of physical read errors
  4074.  26h    WORD    number of physical write errors
  4075.  28h    DWORD    cache get requests
  4076.  2Ch    DWORD    cache full write requests
  4077.  30h    DWORD    cache partial write requests
  4078.  34h    DWORD    background dirty writes
  4079.  38h    DWORD    background aged writes
  4080.  3Ch    DWORD    total cache writes
  4081.  40h    DWORD    number of cache allocations
  4082.  44h    WORD    thrashing count
  4083.  46h    WORD    number of times LRU block was dirty
  4084.  48h    WORD    number of reads on cache blocks not yet filled by writes
  4085.  4Ah    WORD    number of times a fragmented write occurred
  4086.  4Ch    WORD    number of cache hits on unavailable block
  4087.  4Eh    WORD    number of times a cache block was scrapped
  4088. Note:    all fields except the first are big-endian
  4089. --------N-21E3--SFD7-------------------------
  4090. INT 21 - Novell NetWare - FILE SERVER - GET DRIVE MAPPING TABLE
  4091.     AH = E3h subfn D7h
  4092.     DS:SI -> request buffer (see below)
  4093.     ES:DI -> reply buffer (see below)
  4094. Return: AL = status
  4095.         00h successful
  4096.         C6h no console rights
  4097. Notes:    this function is supported by Advanced NetWare 2.1+
  4098.     the calling workstation must have console operator privileges
  4099. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=D6h,AH=E3h/SF=D9h,AH=E3h/SF=E6h,AH=E3h/SF=E9h
  4100.  
  4101. Format of request buffer:
  4102. Offset    Size    Description
  4103.  00h    WORD    0001h (length of following data)
  4104.  02h    BYTE    D7h (subfunction "Get Drive Mapping Table")
  4105.  
  4106. Format of reply buffer:
  4107. Offset    Size    Description
  4108.  00h    WORD    (call) 00ECh (length of following results buffer)
  4109.  02h    DWORD    (big-endian) clock tick elapsed since system started
  4110.  06h    BYTE    fault tolerance (SFT) level
  4111.  07h    BYTE    number of logical drives attached to server
  4112.  08h    BYTE    number of physical drives attached to server
  4113.  09h  5 BYTEs    disk channel types (00h none, 01h XT, 02h AT, 03h SCSI,
  4114.         04h disk coprocessor drive, 32h-FFh value-added drive types)
  4115.  0Eh    WORD    (big-endian) number of outstanding controller commands
  4116.  10h 32 BYTEs    drive mapping table (FFh = no such drive)
  4117.  30h 32 BYTEs    drive mirror table (secondary physical drive, FFh = none)
  4118.  50h 32 BYTEs    dead mirror table (last drive mapped to, FFh if never mirrored)
  4119.  70h    BYTE    physical drive being remirrored (FFh = none)
  4120.  71h    BYTE    reserved
  4121.  72h    DWORD    (big-endian) remirrored block
  4122.  76h 60 BYTEs    SFT error table (internal error counters)
  4123. --------N-21E3--SFD8-------------------------
  4124. INT 21 - Novell NetWare - FILE SERVER - GET PHYSICAL DISK STATISTICS
  4125.     AH = E3h subfn D8h
  4126.     DS:SI -> request buffer (see below)
  4127.     ES:DI -> reply buffer (see below)
  4128. Return: AL = status
  4129.         00h successful
  4130.         C6h no console rights
  4131. Notes:    this function is supported by Advanced NetWare 2.1+
  4132.     the calling workstation must have console operator privileges
  4133. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=D9h,AH=E3h/SF=E9h
  4134.  
  4135. Format of request buffer:
  4136. Offset    Size    Description
  4137.  00h    WORD    0002h (length of following data)
  4138.  02h    BYTE    D8h (subfunction "Get Physical Disk Statistics")
  4139.  03h    BYTE    physical disk number
  4140.  
  4141. Format of reply buffer:
  4142. Offset    Size    Description
  4143.  00h    WORD    (call) 005Dh (size of following results record)
  4144.  02h    DWORD    (big-endian) clock ticks since system started
  4145.  06h    BYTE    physical disk channel
  4146.  07h    BYTE    flag: drive removable if nonzero
  4147.  08h    BYTE    physical drive type
  4148.  09h    BYTE    drive number within controller
  4149.  0Ah    BYTE    controller number
  4150.  0Bh    BYTE    controller type
  4151.  0Ch    DWORD    (big-endian) size of drive in 4K disk blocks
  4152.  10h    WORD    (big-endian) number of cylinders on drive
  4153.  12h    BYTE    number of heads
  4154.  13h    BYTE    number of sectors per track
  4155.  14h 64 BYTEs    ASCIZ drive make and model
  4156.  54h    WORD    (big-endian) number of I/O errors
  4157.  56h    DWORD    (big-endian) start of Hot Fix table
  4158.  5Ah    WORD    (big-endian) size of Hot Fix table
  4159.  5Ch    WORD    (big-endian) number of Hot Fix blocks available
  4160.  5Eh    BYTE    flag: Hot Fix disabled if nonzero
  4161. --------N-21E3--SFD9-------------------------
  4162. INT 21 - Novell NetWare - FILE SERVER - GET DISK CHANNEL STATISTICS
  4163.     AH = E3h subfn D9h
  4164.     DS:SI -> request buffer (see below)
  4165.     ES:DI -> reply buffer (see below)
  4166. Return: AL = status
  4167.         00h successful
  4168.         C6h no console rights
  4169. Notes:    this function is supported by Advanced NetWare 2.1+
  4170.     the calling workstation must have console operator privileges
  4171. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=D8h,AH=E3h/SF=E6h,AH=E3h/SF=E9h
  4172.  
  4173. Format of request buffer:
  4174. Offset    Size    Description
  4175.  00h    WORD    0002h (length of following data)
  4176.  02h    BYTE    D9h (subfunction "Get Disk Channel Statistics")
  4177.  03h    BYTE    channel number
  4178.  
  4179. Format of reply buffer:
  4180. Offset    Size    Description
  4181.  00h    WORD    (call) 00A8h (size of following results record)
  4182.  02h    DWORD    (big-endian) clock ticks since system started
  4183.  06h    WORD    (big-endian) channel run state (see below)
  4184.  08h    WORD    (big-endian) channel synchronization state (see below)
  4185.  0Ah    BYTE    driver type
  4186.  0Bh    BYTE    major version of driver
  4187.  0Ch    BYTE    minor version of driver
  4188.  0Dh 65 BYTEs    ASCIZ driver description
  4189.  4Eh    WORD    (big-endian) first I/O address used
  4190.  50h    WORD    (big-endian) length of first I/O address
  4191.  52h    WORD    (big-endian) second I/O address used
  4192.  54h    WORD    (big-endian) length of second I/O address
  4193.  56h  3 BYTEs    first shared memory address
  4194.  59h  2 BYTEs    length of first shared memory address
  4195.  5Bh  3 BYTEs    second shared memory address
  4196.  5Eh  2 BYTEs    length of second shared memory address
  4197.  60h    BYTE    first interrupt number in-use flag
  4198.  61h    BYTE    first interrupt number used
  4199.  62h    BYTE    second interrupt number in-use flag
  4200.  63h    BYTE    second interrupt number used
  4201.  64h    BYTE    first DMA channel in-use flag
  4202.  65h    BYTE    first DMA channel used
  4203.  66h    BYTE    second DMA channel in-use flag
  4204.  67h    BYTE    second DMA channel used
  4205.  68h    BYTE    flags
  4206.  69h    BYTE    reserved
  4207.  6Ah 80 BYTEs    ASCIZ configuration description
  4208.  
  4209. Values for channel run state:
  4210.  0000h    running
  4211.  0001h    being stopped
  4212.  0002h    stopped
  4213.  0003h    nonfunctional
  4214.  
  4215. Values for channel synchronization state:
  4216.  0000h    not in use
  4217.  0002h    used by NetWare, no other requests
  4218.  0004h    used by NetWare, other requests
  4219.  0006h    in use, not needed by NetWare
  4220.  0008h    in use, needed by NetWare
  4221.  000Ah    channel released, NetWare should use it
  4222. --------N-21E3--SFDA-------------------------
  4223. INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S TASK INFORMATION
  4224.     AH = E3h subfn DAh
  4225.     DS:SI -> request buffer (see below)
  4226.     ES:DI -> reply buffer (see below)
  4227. Return: AL = status
  4228.         00h successful
  4229.         C6h no console rights
  4230. Notes:    this function is supported by Advanced NetWare 2.1+
  4231.     the calling workstation must have console operator privileges
  4232. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DBh,AH=E3h/SF=DFh,AH=E3h/SF=E1h,AH=E3h/SF=E5h
  4233.  
  4234. Format of request buffer:
  4235. Offset    Size    Description
  4236.  00h    WORD    0003h (length of following data)
  4237.  02h    BYTE    DAh (subfunction "Get Connection's Task Information")
  4238.  03h    WORD    (big-endian) logical connection number
  4239.  
  4240. Format of reply buffer:
  4241. Offset    Size    Description
  4242.  00h    WORD    (call) size of following results record (max 1FEh)
  4243.  02h    BYTE    lock status of connection (see below)
  4244.  03h    var    Lock Status Information (see below)
  4245.  N    BYTE    number of records following
  4246.  N+1    Active Task Information Records [array]
  4247.     Offset    Size    Description
  4248.      00h    BYTE    task number (01h-FFh)
  4249.      01h    BYTE    task state
  4250.             01h in TTS explicit transaction
  4251.             02h in TTS implicit transaction
  4252.             04h shared fileset lock active
  4253.  
  4254. Values for lock status of connection:
  4255.  00h    no locks
  4256.  01h    waiting on physical record lock
  4257.  02h    waiting on file lock
  4258.  03h    waiting on logical record lock
  4259.  04h    waiting on semaphore
  4260.  
  4261. Format of Lock Status Information:
  4262. Offset    Size    Description
  4263. ---lock status 00h---
  4264.  no fields
  4265. ---lock status 01h---
  4266.  00h    BYTE    number of waiting task
  4267.  01h    DWORD    start address
  4268.  05h    DWORD    end address
  4269.  09h    BYTE    volume number
  4270.  0Ah    WORD    directory entry number
  4271.  0Ch 14 BYTEs    ASCIZ filename
  4272. ---lock status 02h---
  4273.  00h    BYTE    number of waiting task
  4274.  01h    BYTE    volume number
  4275.  02h    WORD    directory entry number
  4276.  04h 14 BYTEs    ASCIZ filename
  4277. ---lock status 03h---
  4278.  00h    BYTE    number of waiting task
  4279.  01h    BYTE    length of record name
  4280.  02h  N BYTEs    ASCIZ record name
  4281. ---lock status 04h---
  4282.  00h    BYTE    number of waiting task
  4283.  01h    BYTE    length of semaphore's name
  4284.  02h  N BYTEs    ASCIZ semaphore name
  4285. --------N-21E3--SFDB-------------------------
  4286. INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S OPEN FILES
  4287.     AH = E3h subfn DBh
  4288.     DS:SI -> request buffer (see below)
  4289.     ES:DI -> reply buffer (see below)
  4290. Return: AL = status
  4291.         00h successful
  4292.         C6h no console rights
  4293. Notes:    this function is supported by Advanced NetWare 2.1+
  4294.     the calling workstation must have console operator privileges
  4295. SeeAlso: AH=E2h/SF=1Ah,AH=E3h/SF=C8h,AH=E3h/SF=DAh,AH=E3h/SF=DCh,AH=E3h/SF=DFh
  4296. SeeAlso: AH=E3h/SF=E1h
  4297.  
  4298. Format of request buffer:
  4299. Offset    Size    Description
  4300.  00h    WORD    0005h (length of following data)
  4301.  02h    BYTE    DBh (subfunction "Get Connection's Open Files")
  4302.  03h    WORD    (big-endian) logical connection number
  4303.  05h    WORD    (big-endian) last record seen (0000h on first call)
  4304.  
  4305. Format of reply buffer:
  4306. Offset    Size    Description
  4307.  00h    WORD    (call) size of following results record (max 1FEh)
  4308.  02h    WORD    next request record (place in "last record" field on next call)
  4309.         0000h if no more records
  4310.  04h    BYTE    number of records following
  4311.  05h    var    array of File Information Records (see below)
  4312.  
  4313. Format of File Information Record:
  4314. Offset    Size    Description
  4315.  00h    BYTE    task number
  4316.  01h    BYTE    lock flags (see below)
  4317.  02h    BYTE    access flags (see below)
  4318.  03h    BYTE    lock type
  4319.         00h no lock
  4320.         FEh file lock
  4321.         FFh locked by Begin Share File Set
  4322.  04h    BYTE    volume number (00h-1Fh)
  4323.  05h    WORD    (big-endian) directory entry
  4324.  07h 14 BYTEs    ASCIZ filename
  4325.  
  4326. Bitfields for lock flags:
  4327. Bit(s)    Description
  4328.  0    file is locked
  4329.  1    file opened Shareable
  4330.  2    logged
  4331.  3    file opened Normal
  4332.  6    TTS holding lock
  4333.  7    Transaction Flag set on file
  4334.  
  4335. Bitfields for access flags:
  4336. Bit(s)    Description
  4337.  0    file open for reading by calling station
  4338.  1    file open for writing by calling station
  4339.  2    deny reads by other stations
  4340.  3    deny writes by other stations
  4341.  4    file detached
  4342.  5    TTS Holding Detach
  4343.  6    TTS Holding Open
  4344. --------N-21E3--SFDC-------------------------
  4345. INT 21 - Novell NetWare - FILE SERVER - GET CONNECTIONS USING A FILE
  4346.     AH = E3h subfn DCh
  4347.     DS:SI -> request buffer (see below)
  4348.     ES:DI -> reply buffer (see below)
  4349. Return: AL = status
  4350.         00h successful
  4351.         C6h no console rights
  4352. Notes:    this function is supported by Advanced NetWare 2.1+
  4353.     the calling workstation must have console operator privileges
  4354. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DAh,AH=E3h/SF=DBh,AH=E3h/SF=DFh,AH=E3h/SF=E1h
  4355.  
  4356. Format of request buffer:
  4357. Offset    Size    Description
  4358.  00h    WORD    length of following data (max 104h)
  4359.  02h    BYTE    DCh (subfunction "Get Connections Using a File")
  4360.  03h    WORD    (big-endian) last record (0000h on first call)
  4361.  05h    BYTE    directory handle
  4362.  06h    BYTE    length of file path
  4363.  07h  N BYTEs    ASCIZ file path
  4364.  
  4365. Format of reply buffer:
  4366. Offset    Size    Description
  4367.  00h    WORD    (call) size of following results record (max 1FEh)
  4368.  02h    WORD    (big-endian) count of tasks which have opened or logged file
  4369.  04h    WORD    (big-endian) count of tasks which have opened file
  4370.  06h    WORD    (big-endian) count of opens for reading
  4371.  08h    WORD    (big-endian) count of opens for writing
  4372.  0Ah    WORD    (big-endian) deny read count
  4373.  0Ch    WORD    (big-endian) deny write count
  4374.  0Eh    WORD    next request record (place in "last record" field on next call)
  4375.         0000h if no more records
  4376.  10h    BYTE    locked flag
  4377.         00h not locked exclusively
  4378.         else locked exclusively
  4379.  11h    BYTE    number of records following
  4380.  12h    var    array of File Usage Information Records (see below)
  4381.  
  4382. Format of File Usage Information Record:
  4383. Offset    Size    Description
  4384.  00h    WORD    (big-endian) logical connection number
  4385.  02h    BYTE    task number
  4386.  03h    BYTE    lock flags (see AH=E3h/SF=DBh)
  4387.  04h    BYTE    access flags (see AH=E3h/SF=DBh)
  4388.  05h    BYTE    lock type
  4389.         00h no lock
  4390.         FEh file lock
  4391.         FFh locked by Begin Share File Set
  4392. --------N-21E3--SFDD-------------------------
  4393. INT 21 - Novell NetWare - FILE SERVER - GET PHYSICAL RECORD LOCKS BY CONN&FILE
  4394.     AH = E3h subfn DDh
  4395.     DS:SI -> request buffer (see below)
  4396.     ES:DI -> reply buffer (see below)
  4397. Return: AL = status
  4398.         00h successful
  4399.         C6h no console rights
  4400.         FFh file not open
  4401. Notes:    this function is supported by Advanced NetWare 2.1+
  4402.     the calling workstation must have console operator privileges
  4403. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DEh,AH=E3h/SF=DFh
  4404.  
  4405. Format of request buffer:
  4406. Offset    Size    Description
  4407.  00h    WORD    0016h (length of following data)
  4408.  02h    BYTE    DDh (subfunction "Get Physical Record Locks by Connection and
  4409.             File")
  4410.  03h    WORD    (big-endian) logical connection number
  4411.  05h    WORD    (big-endian) last record seen (0000h on first call)
  4412.  07h    BYTE    volume number (00h-1Fh)
  4413.  08h    WORD    (big-endian) directory handle
  4414.  0Ah 14 BYTEs    ASCIZ filename
  4415.  
  4416. Format of reply buffer:
  4417. Offset    Size    Description
  4418.  00h    WORD    (call) size of following results record (max 1FEh)
  4419.  02h    WORD    next request record (place in "last record" on next call)
  4420.         0000h if no more records
  4421.  04h    BYTE    number of physical record locks
  4422.  05h    BYTE    number of records following
  4423.  06h    var    array of Physical Record Lock Info records (see below)
  4424.  
  4425. Format of Physical Record Lock Info:
  4426. Offset    Size    Description
  4427.  00h    BYTE    task number
  4428.  01h    BYTE    lock status (see below)
  4429.  02h    DWORD    (big-endian) starting offset of record in file
  4430.  06h    DWORD    (big-endian) ending offset of record in file
  4431.  
  4432. Bitfields for lock status:
  4433. Bit(s)    Description
  4434.  0    exclusive lock
  4435.  1    shareable lock
  4436.  2    logged
  4437.  6    lock held by TTS
  4438. --------N-21E3--SFDE-------------------------
  4439. INT 21 - Novell NetWare - FILE SERVER - GET PHYSICAL RECORD LOCKS BY FILE
  4440.     AH = E3h subfn DEh
  4441.     DS:SI -> request buffer (see below)
  4442.     ES:DI -> reply buffer (see below)
  4443. Return: AL = status
  4444.         00h successful
  4445.         C6h no console rights
  4446.         FFh file not open
  4447. Notes:    this function is supported by Advanced NetWare 2.1+
  4448.     the calling workstation must have console operator privileges
  4449. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DDh,AH=E3h/SF=DFh
  4450.  
  4451. Format of request buffer:
  4452. Offset    Size    Description
  4453.  00h    WORD    length of following data (max 104h)
  4454.  02h    BYTE    DEh (subfunction "Get Physical Record Locks by File")
  4455.  03h    WORD    (big-endian) last record seen (0000h on first call)
  4456.  05h    BYTE    directory handle
  4457.  06h    BYTE    length of filename
  4458.  07h  N BYTEs    ASCIZ filename
  4459.  
  4460. Format of reply buffer:
  4461. Offset    Size    Description
  4462.  00h    WORD    (call) size of following results record (max 1FEh)
  4463.  02h    WORD    next request record (place in "last record" on next call)
  4464.         0000h if no more records
  4465.  04h    BYTE    number of physical record locks
  4466.  05h    BYTE    number of records following
  4467.  06h    var    array of Physical Record Lock Info records (see below)
  4468.  
  4469. Format of Physical Record Lock Info:
  4470. Offset    Size    Description
  4471.  00h    WORD    (big-endian) number of tasks logging record
  4472.  02h    WORD    (big-endian) number of tasks with shareable lock
  4473.  04h    DWORD    (big-endian) starting offset of record in file
  4474.  08h    DWORD    (big-endian) ending offset of record in file
  4475.  0Ch    WORD    (big-endian) logical connection number
  4476.  0Eh    BYTE    task number
  4477.  0Fh    BYTE    lock type
  4478.         00h none
  4479.         FEh file lock
  4480.         FFh Begin Share File Set lock
  4481. --------N-21E3--SFDF-------------------------
  4482. INT 21 - Novell NetWare - FILE SERVER - GET LOGICAL RECORDS BY CONNECTION
  4483.     AH = E3h subfn DFh
  4484.     DS:SI -> request buffer (see below)
  4485.     ES:DI -> reply buffer (see below)
  4486. Return: AL = status
  4487.         00h successful
  4488.         C6h no console rights
  4489. Notes:    this function is supported by Advanced NetWare 2.1+
  4490.     the calling workstation must have console operator privileges
  4491. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DDh,AH=E3h/SF=E0h,AH=E3h/SF=E2h
  4492.  
  4493. Format of request buffer:
  4494. Offset    Size    Description
  4495.  00h    WORD    0005h (length of following data)
  4496.  02h    BYTE    DFh (subfunction "Get Logical Records By Connection")
  4497.  03h    WORD    (big-endian) logical connection number
  4498.  05h    WORD    (big-endian) last record seen (0000h on first call)
  4499.  
  4500. Format of reply buffer:
  4501. Offset    Size    Description
  4502.  00h    WORD    (call) size of following results record (max 1FEh)
  4503.  02h    WORD    next request record (place in "last record" field on next call)
  4504.         0000h if no more locked records
  4505.  09h    BYTE    number of records following
  4506.  0Ah    var    array of Logical Lock Information Records (see below)
  4507.  
  4508. Format of Logical Lock Information Record:
  4509. Offset    Size    Description
  4510.  00h    BYTE    task number
  4511.  01h    BYTE    lock status (see AH=E3h/SF=DDh)
  4512.  02h    BYTE    length of logical lock's name
  4513.  03h  N BYTEs    logical lock's name
  4514. --------N-21E3--SFE0-------------------------
  4515. INT 21 - Novell NetWare - FILE SERVER - GET LOGICAL RECORD INFORMATION
  4516.     AH = E3h subfn E0h
  4517.     DS:SI -> request buffer (see below)
  4518.     ES:DI -> reply buffer (see below)
  4519. Return: AL = status
  4520.         00h successful
  4521.         C6h no console rights
  4522. Notes:    this function is supported by Advanced NetWare 2.1+
  4523.     the calling workstation must have console operator privileges
  4524. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DDh,AH=E3h/SF=DFh,AH=E3h/SF=E2h
  4525.  
  4526. Format of request buffer:
  4527. Offset    Size    Description
  4528.  00h    WORD    length of following data (max 67h)
  4529.  02h    BYTE    E0h (subfunction "Get Logical Record Information")
  4530.  03h    WORD    (big-endian) last record seen (0000h on first call)
  4531.  05h    BYTE    length of logical record's name
  4532.  06h  N BYTEs    logical record's name
  4533.  
  4534. Format of reply buffer:
  4535. Offset    Size    Description
  4536.  00h    WORD    (call) size of following results record (max 200h)
  4537.  02h    WORD    (big-endian) number of logical connections logging the record
  4538.  04h    WORD    (big-endian) number of logical connections with shareable lock
  4539.  06h    WORD    (big-endian) next request record (place in "last record" field
  4540.             on next call)
  4541.  08h    BYTE    locked exclusively if nonzero
  4542.  09h    BYTE    number of records following
  4543.  0Ah    var    array of Task Information Records (see below)
  4544.  
  4545. Format of Task Information Record:
  4546. Offset    Size    Description
  4547.  00h    WORD    (big-endian) logical connection number
  4548.  02h    BYTE    task number
  4549.  03h    BYTE    lock status (see AH=E3h/SF=DDh)
  4550. --------N-21E3--SFE1-------------------------
  4551. INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S SEMAPHORES
  4552.     AH = E3h subfn E1h
  4553.     DS:SI -> request buffer (see below)
  4554.     ES:DI -> reply buffer (see below)
  4555. Return: AL = status
  4556.         00h successful
  4557.         C6h no console rights
  4558. Notes:    this function is supported by Advanced NetWare 2.1+
  4559.     the calling workstation must have console operator privileges
  4560. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DBh,AH=E3h/SF=DFh,AH=E3h/SF=E2h
  4561.  
  4562. Format of request buffer:
  4563. Offset    Size    Description
  4564.  00h    WORD    0005h (length of following data)
  4565.  02h    BYTE    E1h (subfunction "Get Connection's Semaphores")
  4566.  03h    WORD    (big-endian) logical connection number
  4567.  05h    WORD    (big-endian) last record seen (0000h on first call)
  4568.  
  4569. Format of reply buffer:
  4570. Offset    Size    Description
  4571.  00h    WORD    (call) size of following results record (max 1FEh)
  4572.  02h    WORD    next request record (place in "last record" field on next call)
  4573.  04h    BYTE    number of records following
  4574.  05h    var    array of Semaphore Information Records
  4575.  
  4576. Format of Semaphore Information Record:
  4577. Offset    Size    Description
  4578.  00h    WORD    (big-endian) open count
  4579.  02h    BYTE    semaphore value (-128 to 127)
  4580.  03h    BYTE    task number
  4581.  04h    BYTE    lock type
  4582.  05h    BYTE    length of semaphore's name
  4583.  06h  N BYTEs    semaphore's name
  4584.      14 BYTEs    filename
  4585. --------N-21E3--SFE2-------------------------
  4586. INT 21 - Novell NetWare - FILE SERVER - GET SEMAPHORE INFORMATION
  4587.     AH = E3h subfn E2h
  4588.     DS:SI -> request buffer (see below)
  4589.     ES:DI -> reply buffer (see below)
  4590. Return: AL = status
  4591.         00h successful
  4592.         C6h no console rights
  4593. Notes:    this function is supported by Advanced NetWare 2.1+
  4594.     the calling workstation must have console operator privileges
  4595. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=E1h
  4596.  
  4597. Format of request buffer:
  4598. Offset    Size    Description
  4599.  00h    WORD    length of following data (max 83h)
  4600.  02h    BYTE    E2h (subfunction "Get LAN Driver's Configuration Information")
  4601.  03h    WORD    (big-endian) last record seen (0000h on first call)
  4602.  05h    BYTE    length of semaphore's name (01h-7Fh)
  4603.  06h  N BYTEs    semaphore's name
  4604.  
  4605. Format of reply buffer:
  4606. Offset    Size    Description
  4607.  00h    WORD    (call) size of following results buffer (max 1FEh)
  4608.  02h    WORD    next request record (place in "last record" on next call)
  4609.         0000h if no more
  4610.  04h    WORD    (big-endian) number of logical connections opening semaphore
  4611.  06h    BYTE    semaphore value (-127 to 128)
  4612.  07h    BYTE    number of records following
  4613.  08h    var    array of Semaphore Information records (see below)
  4614.  
  4615. Format of Semaphore Information:
  4616. Offset    Size    Description
  4617.  00h    WORD    (big-endian) logical connection number
  4618.  02h    BYTE    task number
  4619. --------N-21E3--SFE3-------------------------
  4620. INT 21 - Novell NetWare - FILE SERVER - GET LAN DRIVER'S CONFIGURATION INFO
  4621.     AH = E3h subfn E3h
  4622.     DS:SI -> request buffer (see below)
  4623.     ES:DI -> reply buffer (see below)
  4624. Return: AL = status
  4625.         00h successful
  4626.         C6h no console rights
  4627. Notes:    this function is supported by Advanced NetWare 2.1+
  4628.     the calling workstation must have console operator privileges
  4629. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=E7h,AH=E3h/SF=E8h
  4630.  
  4631. Format of request buffer:
  4632. Offset    Size    Description
  4633.  00h    WORD    0002h (length of following data)
  4634.  02h    BYTE    E3h (subfunction "Get LAN Driver's Configuration Information")
  4635.  03h    BYTE    LAN board (00h-03h)
  4636.  
  4637. Format of reply buffer:
  4638. Offset    Size    Description
  4639.  00h    WORD    (call) 00ACh (size of following results buffer)
  4640.  02h  4 BYTEs    network number
  4641.  06h  6 BYTEs    node number
  4642.  0Ch    BYTE    LAN driver installed (00h no--remaining fields invalid)
  4643.  0Dh    BYTE    option number selected at configuration time
  4644.  0Eh 160 BYTEs    configuration text
  4645.         ASCIZ hardware type
  4646.         ASCIZ hardware settings
  4647. --------N-21E3--SFE5-------------------------
  4648. INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S USAGE STATISTICS
  4649.     AH = E3h subfn E5h
  4650.     DS:SI -> request buffer (see below)
  4651.     ES:DI -> reply buffer (see below)
  4652. Return: AL = status
  4653.         00h successful
  4654.         C6h no console rights
  4655. Notes:    this function is supported by Advanced NetWare 2.1+
  4656.     one must have console operator privileges to get statistics for logical
  4657.       connections other than one's own
  4658. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DAh,AH=E3h/SF=DBh,AH=E3h/SF=E1h
  4659.  
  4660. Format of request buffer:
  4661. Offset    Size    Description
  4662.  00h    WORD    0003h (length of following data)
  4663.  02h    BYTE    E5h (subfunction "Get Connection's Usage Statistics")
  4664.  03h    WORD    (big-endian) logical connection number
  4665.  
  4666. Format of reply buffer:
  4667. Offset    Size    Description
  4668.  00h    WORD    (call) 0014h (size of following results record)
  4669.  02h    DWORD    (big-endian) clock ticks since server started
  4670.  06h  6 BYTEs    bytes read
  4671.  0Ch  6 BYTEs    bytes written
  4672.  12h    DWORD    (big-endian) total request packets
  4673. --------N-21E3--SFE6-------------------------
  4674. INT 21 - Novell NetWare - FILE SERVER - GET BINDERY OBJECT DISK SPACE LEFT
  4675.     AH = E3h subfn E6h
  4676.     DS:SI -> request buffer (see below)
  4677.     ES:DI -> reply buffer (see below)
  4678. Return: AL = status
  4679.         00h successful
  4680.         C6h no console rights
  4681. Notes:    this function is supported by Advanced NetWare 2.1+
  4682.     one must have console operator privileges to get the free space for
  4683.       other bindery objects
  4684. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=E8h,AH=E3h/SF=E9h
  4685.  
  4686. Format of request buffer:
  4687. Offset    Size    Description
  4688.  00h    WORD    0005h (length of following data)
  4689.  02h    BYTE    E6h (subfunction "Get Bindery Object Disk Space Left")
  4690.  03h    DWORD    (big-endian) object ID
  4691.  
  4692. Format of reply buffer:
  4693. Offset    Size    Description
  4694.  00h    WORD    (call) 000Fh (size of following results buffer)
  4695.  02h    DWORD    (big-endian) clock ticks elapsed since server started
  4696.  06h    DWORD    (big-endian) object ID
  4697.  0Ah    DWORD    (big-endian) 4K disk blocks available to user
  4698.  0Eh    BYTE    restrictions (00h enforced, FFh not enforced)
  4699. --------N-21E3--SFE7-------------------------
  4700. INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER LAN I/O STATISTICS
  4701.     AH = E3h subfn E7h
  4702.     DS:SI -> request buffer (see below)
  4703.     ES:DI -> reply buffer (see below)
  4704. Return: AL = status
  4705.         00h successful
  4706. Note:    this function is supported by Advanced NetWare 2.1+
  4707. SeeAlso: AH=E3h/SF=0Eh,AH=E3h/SF=11h,AH=E3h/SF=D3h,AH=E3h/SF=E8h,AH=E7h
  4708.  
  4709. Format of request buffer:
  4710. Offset    Size    Description
  4711.  00h    WORD    0001h (length of following data)
  4712.  02h    BYTE    E7h (subfunction "Get File Server LAN I/O Statistics")
  4713.  
  4714. Format of reply buffer:
  4715. Offset    Size    Description
  4716.  00h    WORD    (call) 0042h (size of following results buffer)
  4717.  02h    DWORD    clock ticks since system started
  4718.  06h    WORD    total routing buffers
  4719.  08h    WORD    maximum routing buffers used
  4720.  0Ah    WORD    current routing buffers used
  4721.  0Ch    DWORD    total file service packets
  4722.  10h    WORD    number of file service packets buffered
  4723.  12h    WORD    number of invalid connection packets
  4724.  14h    WORD    packets with bad logical connection numbers
  4725.  16h    WORD    number of packets received during processing
  4726.  18h    WORD    number of requests reprocessed
  4727.  1Ah    WORD    packets with bad sequence numbers
  4728.  1Ch    WORD    number of duplicate replies sent
  4729.  1Eh    WORD    number of acknowledgements sent
  4730.  20h    WORD    number of packets with bad request types
  4731.  22h    WORD    requests to attach to ws for which a request is being processed
  4732.  24h    WORD    requests to attach from ws which is already attaching
  4733.  26h    WORD    number of forged detach requests
  4734.  28h    WORD    detach requests with bad connection number
  4735.  2Ah    WORD    requests to detach from ws for which requests pending
  4736.  2Ch    WORD    number of cancelled replies
  4737.  2Eh    WORD    packets discarded due to excessive hop count
  4738.  30h    WORD    packets discarded due to unknown net
  4739.  32h    WORD    incoming packets discarded for lack of DGroup buffer
  4740.  34h    WORD    outgoing packets discarded due to lack of buffer
  4741.  36h    WORD    received packets destined for B,C, or D side drivers
  4742.  38h    DWORD    number of NetBIOS packets propagated through net
  4743.  3Ch    DWORD    total number of non-file-service packets
  4744.  40h    DWORD    total number of routed packets
  4745. Note:    all fields except the first are big-endian
  4746. --------N-21E3--SFE8-------------------------
  4747. INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER MISC INFORMATION
  4748.     AH = E3h subfn E8h
  4749.     DS:SI -> request buffer (see below)
  4750.     ES:DI -> reply buffer (see below)
  4751. Return: AL = status
  4752.         00h successful
  4753.         C6h no console rights
  4754. Note:    this function is supported by Advanced NetWare 2.1+
  4755. SeeAlso: AH=E3h/SF=0Eh,AH=E3h/SF=11h,AH=E3h/SF=CDh,AH=E3h/SF=E7h
  4756.  
  4757. Format of request buffer:
  4758. Offset    Size    Description
  4759.  00h    WORD    0001h (length of following data)
  4760.  02h    BYTE    E8h (subfunction "Get File Server Misc Information")
  4761.  
  4762. Format of reply buffer:
  4763. Offset    Size    Description
  4764.  00h    WORD    (call) size of following results buffer (max 0048h)
  4765.  02h    DWORD    (big-endian) clock ticks since system started
  4766.  06h    BYTE    CPU type
  4767.         00h Motorola 68000
  4768.         01h Intel 8086, 8088, or V20
  4769.         02h Intel 80286+
  4770.  07h    BYTE    reserved
  4771.  08h    BYTE    number of service processes in server
  4772.  09h    BYTE    server utilization in percent
  4773.  0Ah    WORD    (big-endian) maximum bindery objects set by configuration
  4774.         0000h = unlimited
  4775.  0Ch    WORD    (big-endian) maximum number of bindery objects used
  4776.  0Eh    WORD    (big-endian) current number of bindery objects in use
  4777.  10h    WORD    (big-endian) total server memory in KB
  4778.  12h    WORD    (big-endian) wasted server memory in KB
  4779.         normally 0000h
  4780.  14h    WORD    number of records following (01h-03h)
  4781.  16h    var    array of Dynamic Memory Information records (see below)
  4782.  
  4783. Format of Dynamic Memory Information:
  4784. Offset    Size    Description
  4785.  00h    DWORD    (big-endian) total dynamic space
  4786.  04h    DWORD    (big-endian) maximum dynamic space used
  4787.  08h    DWORD    (big-endian) current dynamic space usage
  4788. --------N-21E3--SFE9-------------------------
  4789. INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME INFORMATION
  4790.     AH = E3h subfn E9h
  4791.     DS:SI -> request buffer (see below)
  4792.     ES:DI -> reply buffer (see below)
  4793. Return: AL = status
  4794.         00h successful
  4795. Notes:    this function is supported by Advanced NetWare 2.1+
  4796. SeeAlso: AH=DAh,AH=E2h/SF=15h
  4797.  
  4798. Format of request buffer:
  4799. Offset    Size    Description
  4800.  00h    WORD    0002h (length of following data)
  4801.  02h    BYTE    E9h (subfunction "Get Volume Information")
  4802.  03h    BYTE    directory handle
  4803.  
  4804. Format of reply buffer:
  4805. Offset    Size    Description
  4806.  00h    WORD    (call) 0028h (length of following results buffer)
  4807.  02h    DWORD    (big-endian) elapsed system time
  4808.  06h    BYTE    volume number
  4809.  07h    BYTE    logical drive number
  4810.  08h    WORD    (big-endian) sectors per block
  4811.  0Ah    WORD    (big-endian) starting block
  4812.  0Ch    WORD    (big-endian) total blocks on volume
  4813.  0Eh    WORD    (big-endian) blocks available on volume
  4814.  10h    WORD    (big-endian) total directory slots
  4815.  12h    WORD    (big-endian) directory slots available
  4816.  14h    WORD    (big-endian) maximum directory entries actually used
  4817.  16h    BYTE    flag: volume hashed if nonzero
  4818.  17h    BYTE    flag: volume cached if nonzero
  4819.  18h    BYTE    flag: volume removable if nonzero
  4820.  19h    BYTE    flag: volume mounted if nonzero
  4821.  1Ah 16 BYTEs    NUL-padded volume name
  4822. --------N-21E4-------------------------------
  4823. INT 21 O - Novell NetWare - SET FILE ATTRIBUTES (FCB)
  4824.     AH = E4h
  4825.     CL = file attributes (see below)
  4826.     DX:DX -> FCB (see AH=0Fh)
  4827. Return: AL = error code
  4828. Note:    this function was added in NetWare 4.0, but was removed some time prior
  4829.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  4830.       documentation
  4831. SeeAlso: AX=4301h
  4832.  
  4833. Bitfields for file attributes:
  4834. Bit(s)    Description
  4835.  0    read only
  4836.  1    hidden
  4837.  2    system
  4838.  7    shareable
  4839. --------v-21E4-------------------------------
  4840. INT 21 - VIRUS - "Anarkia" - INSTALLATION CHECK
  4841.     AH = E4h
  4842. Return: AH = 04h if resident
  4843. SeeAlso: AH=E1h"VIRUS",AH=E7h"VIRUS"
  4844. --------T-21E400-----------------------------
  4845. INT 21 - DoubleDOS - INSTALLATION CHECK/PROGRAM STATUS
  4846.     AX = E400h
  4847. Return: AL = 00h if DoubleDOS not present
  4848.        = 01h if running in visible DoubleDOS partition
  4849.        = 02h if running in the invisible DoubleDOS partition
  4850. SeeAlso: AH=E5h"DoubleDOS",AX=F400h
  4851. --------E-21E400-----------------------------
  4852. INT 21 - OS/286, OS/386 - CHAIN TO REAL-MODE HANDLER
  4853.     AX = E400h
  4854.     ???
  4855. Return: ???
  4856. Note:    protected mode only???
  4857. --------E-21E402-----------------------------
  4858. INT 21 - OS/286, OS/386 - SET PROTECTED-MODE TASK GATE
  4859.     AX = E402h
  4860.     ???
  4861. Return: ???
  4862. Note:    protected mode only???
  4863. SeeAlso: AX=E403h
  4864. --------E-21E403-----------------------------
  4865. INT 21 - OS/286, OS/386 - REMOVE PROTECTED-MODE TASK GATE
  4866.     AX = E403h
  4867.     ???
  4868. Return: ???
  4869. Note:    protected mode only???
  4870. SeeAlso: AX=E402h
  4871. --------N-21E5-------------------------------
  4872. INT 21 O - Novell NetWare - UPDATE FILE SIZE (FCB)
  4873.     AH = E5h
  4874.     DS:DX -> FCB (see AH=0Fh)
  4875. Return: AL = (unreliable) return code
  4876. Notes:    this function was added in NetWare 4.0, but was removed some time prior
  4877.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  4878.       documentation
  4879.     on success, NetWare sets AL to zero; on errors it restores AL
  4880. --------T-21E5-------------------------------
  4881. INT 21 - DoubleDOS - OTHER PROGRAM STATUS
  4882.     AH = E5h
  4883. Return: AL = 00h no program in other partition
  4884.        = 01h program in other partition is running
  4885.        = 02h program in other partition is suspended
  4886. SeeAlso: AX=E400h"DoubleDOS",AH=F5h"DoubleDOS"
  4887. --------E-21E500-----------------------------
  4888. INT 21 - OS/286, OS/386 - HEAP MANAGEMENT STRATEGY
  4889.     AX = E500h
  4890.     ???
  4891. Return: ???
  4892. SeeAlso: AX=E501h
  4893. --------E-21E501-----------------------------
  4894. INT 21 - OS/286, OS/386 - FORCE HEAP COMPACTION
  4895.     AX = E501h
  4896.     ???
  4897. Return: ???
  4898. SeeAlso: AX=E500h
  4899. --------N-21E6-------------------------------
  4900. INT 21 O - Novell NetWare - COPY FILE TO FILE (FCB)
  4901.     AH = E6h
  4902.     CX:DX = number of bytes to copy
  4903.     DS:SI -> opened source FCB
  4904.     ES:DI -> opened destination FCB
  4905. Return: AL = error code
  4906.     CX = ???
  4907.     DX = ???
  4908. Note:    this function was added in NetWare 4.0, but was removed some time prior
  4909.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  4910.       documentation
  4911. --------E-21E6-------------------------------
  4912. INT 21 P - OS/286, OS/386 - ISSUE REAL PROCEDURE SIGNAL FROM PROTECTED MODE
  4913.     AH = E6h
  4914.     ???
  4915. Return: ???
  4916. SeeAlso: AH=E2h"OS/286"
  4917. --------N-21E7-------------------------------
  4918. INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER DATE AND TIME
  4919.     AH = E7h
  4920.     DS:DX -> date/time buffer (see below)
  4921. Return: AL = error code
  4922.         00h successful
  4923.         FFh unsuccessful
  4924. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+,
  4925.       Alloy NTNX, and Banyan VINES
  4926. SeeAlso: AH=2Ah,AH=2Ch,AX=5FC0h,AH=E3h/SF=CAh
  4927.  
  4928. Format of date/time buffer:
  4929. Offset    Size    Description
  4930.  00h    BYTE    year (80-99 = 1980-1999, 0-79 = 2000-2079)
  4931.  01h    BYTE    month (1=Jan)
  4932.  02h    BYTE    day
  4933.  03h    BYTE    hours
  4934.  04h    BYTE    minutes
  4935.  05h    BYTE    seconds
  4936.  06h    BYTE    day of week (0 = Sunday) (Novell and NTNX only)
  4937. --------E-21E7-------------------------------
  4938. INT 21 - OS/286, OS/386 - CREATE CODE SEGMENT
  4939.     AH = E7h
  4940.     ???
  4941. Return: ???
  4942. SeeAlso: AH=E8h"OS/286",AH=E9h"OS/286",AH=EAh"OS/286"
  4943. --------v-21E7-------------------------------
  4944. INT 21 - VIRUS - "Spyer"/"Kiev" - INSTALLATION CHECK
  4945.     AH = E7h
  4946. Return: AH = 78h if resident
  4947. SeeAlso: AH=E4h"VIRUS",AX=EC59h
  4948. --------N-21E8-------------------------------
  4949. INT 21 O - Novell NetWare, Alloy NTNX - SET FCB RE-OPEN MODE
  4950.     AH = E8h
  4951.     DL = mode
  4952.         00h no automatic re-open
  4953.         01h auto re-open
  4954. Return: AL = error code
  4955. Desc:    provided backward compatibility with a bug in CP/M and early DOS vers
  4956. Note:    this function was added in NetWare 4.6, but was removed some time prior
  4957.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  4958.       documentation
  4959. --------E-21E8-------------------------------
  4960. INT 21 - OS/286, OS/386 - SEGMENT CREATION
  4961.     AH = E8h
  4962.     AL = type
  4963.         00h data segment
  4964.         01h data window/alias
  4965.         02h real segment
  4966.         03h real window/alias
  4967.         06h shareable segment
  4968.     ???
  4969. Return: ???
  4970. SeeAlso: AH=E7h"OS/286",AH=E9h"OS/286"
  4971. --------T-21E8-------------------------------
  4972. INT 21 - DoubleDOS - SET/RESET KEYBOARD CONTROL FLAGS
  4973.     AH = E8h
  4974.     AL = 00h set flags for this program
  4975.        = 01h set flags for other program
  4976.     DX = keyboard control flags (see below)
  4977. Return: DX = previous flags
  4978. Notes:    disabling Ctrl-PrtSc will allow the program to intercept the keystroke;
  4979.       disabling any of the other keystrokes disables them completely
  4980.     identical to AH=F8h
  4981. SeeAlso: AH=E1h"DoubleDOS",AH=E2h"DoubleDOS",AH=E3h"DoubleDOS"
  4982. SeeAlso: AH=F8h"DoubleDOS"
  4983.  
  4984. Bitfields for keyboard control flags:
  4985. Bit(s)    Description
  4986.  0    menu
  4987.  1    exchange
  4988.  2    entire keyboard enable/disable
  4989.  3    Ctrl-C
  4990.  4    Ctrl-PrtSc
  4991.  5    Alt/Erase
  4992.  6    Ctrl-Break
  4993.  7    Ctrl-NumLock
  4994.  8    shift-PrtSc
  4995.  9-13    undefined
  4996.  14    cancel key (clear keyboard buffer)
  4997.  15    suspend key
  4998. Note:    setting a enables the corresponding key or operatin, clearing a
  4999.       disables it
  5000. --------E-21E9-------------------------------
  5001. INT 21 P - OS/286, OS/386 - CHANGE SEGMENTS
  5002.     AH = E9h
  5003.     AL = function
  5004.         01h change code segment parameters
  5005.         02h change data segment parameters
  5006.         05h adjust segment limit
  5007.         06h change segment base address
  5008.     ???
  5009. Return: ???
  5010. SeeAlso: AH=E7h"OS/286",AH=E8h"OS/286",AH=EAh"OS/286",AH=EDh"OS/286"
  5011. SeeAlso: INT 31/AX=0007h,INT 31/AX=0008h
  5012. --------T-21E9-------------------------------
  5013. INT 21 - DoubleDOS - SET TIMESHARING PRIORITY
  5014.     AH = E9h
  5015.     AL = 00h visible program gets 70%, invisible gets 30% (default)
  5016.        = 01h visible program gets 50%, invisible gets 50%
  5017.        = 02h visible program gets 30%, invisible gets 70%
  5018.        = 03h Top program gets 70%, bottom program gets 30%
  5019.        = 04h Top program gets 30%, bottom program gets 70%
  5020.        = 05h get current priority
  5021.         Return: AL = priority setting
  5022. Note:    identical to AH=F9h
  5023. SeeAlso: AH=EAh"DoubleDOS",AH=EBh"DoubleDOS",AH=F9h"DoubleDOS"
  5024. --------N-21E900-----------------------------
  5025. INT 21 - Novell NetWare - DIRECTORY SERVICES - GET DIRECTORY HANDLE
  5026.     AX = E900h
  5027.     DX = drive number to check (0 = A:, ..., 25 = Z:, 26 ... 31)
  5028. Return: AL = directory handle
  5029.     AH = flags (drive not mapped if none set)
  5030.         bit 0: permanent handle
  5031.         bit 1: temporary handle
  5032.         bit 7: mapped to local drive
  5033. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  5034.       Alloy NTNX
  5035. SeeAlso: AH=E2h/SF=00h,AH=E2h/SF=01h,AH=E2h/SF=0Ah
  5036. --------N-21E905-----------------------------
  5037. INT 21 - Novell NetWare shell 3.01 - MAP A FAKE ROOT DIRECTORY
  5038.     AX = E905h
  5039.     BL = drive number (0=default, 1=A:, ...)
  5040.     DS:DX -> ASCIZ path for fake root (may include server name or be empty)
  5041. Return: CF set on error
  5042.         AL = error code (03h,0Fh,11h) (see AH=59h)
  5043.     CF clear if successful
  5044. Note:    if drive is not currently mapped, a drive mapping will be created
  5045. SeeAlso: AX=E906h
  5046. --------N-21E906-----------------------------
  5047. INT 21 - Novell NetWare shell 3.01 - DELETE FAKE ROOT DIRECTORY
  5048.     AX = E906h
  5049.     BL = drive number (0=default, 1=A:, ...)
  5050. Note:    drive remains mapped
  5051. SeeAlso: AX=E905h
  5052. --------N-21E907-----------------------------
  5053. INT 21 - Novell NetWare shell 3.01 - GET RELATIVE DRIVE DEPTH
  5054.     AX = E907h
  5055.     BL = drive number (0=default, 1=A:, ...)
  5056. Return: AL = number of directories below the fake root
  5057.         FFh if no fake root assigned
  5058. SeeAlso: AX=E905h
  5059. --------N-21E908BL00-------------------------
  5060. INT 21 - Novell NetWare shell 3.01 - SET SHOW DOTS
  5061.     AX = E908h
  5062.     BL = 00h    don't return '.' or '..' during directory scans
  5063.        = nonzero    directory scans will return '.' or '..' entries
  5064. Return: BL = previous show-dots setting
  5065. --------N-21EA-------------------------------
  5066. INT 21 - Novell NetWare, Alloy NTNX - RETURN SHELL VERSION
  5067.     AH = EAh
  5068.     AL = return version environment string
  5069.         00h        don't return string
  5070.         nonzero    return string in 40-byte buffer pointed to by ES:DI
  5071.         Return: buffer filled with three null-terminated entries:
  5072.             major operating system
  5073.             version
  5074.             hardware type
  5075. Return: AH = operating system (00h = MS-DOS)
  5076.     AL = hardware type
  5077.         00h IBM PC
  5078.         01h Victor 9000
  5079.     BH = major shell version
  5080.     BL = minor shell version
  5081.     CH = (v3.01+) shell type
  5082.         00h conventional memory
  5083.         01h expanded memory
  5084.         02h extended memory
  5085.     CL = shell revision number
  5086. Note:    this function is supported by NetWare 4.6 and Advanced NetWare 1.0+
  5087. --------T-21EA-------------------------------
  5088. INT 21 - DoubleDOS - TURN OFF TASK SWITCHING
  5089.     AH = EAh
  5090. Return: task switching turned off
  5091. SeeAlso: AH=E9h"DoubleDOS",AH=EBh"DoubleDOS",AH=FAh"DoubleDOS"
  5092. SeeAlso: INT FA"DoubleDOS"
  5093. --------E-21EA-------------------------------
  5094. INT 21 - OS/286, OS/386 - ALLOCATE HUGE SEGMENT
  5095.     AH = EAh
  5096.     ???
  5097. Return: ???
  5098. Note:    protected mode only???
  5099. SeeAlso: AH=E7h"OS/286",AH=E8h"OS/286",AH=E9h"OS/286"
  5100. --------N-21EB-------------------------------
  5101. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOG FILE
  5102.     AH = EBh
  5103.     DS:DX -> ASCIZ filename
  5104.     if function C6h lock mode 01h:
  5105.         AL = flags
  5106.         00h log file only
  5107.         01h lock as well as log file
  5108.             BP = lock timeout in timer ticks (1/18 second)
  5109.             0000h = don't wait if file already locked
  5110. Return: AL = error code
  5111.         00h successful
  5112.         96h no dynamic memory for file
  5113.         FEh timed out
  5114.         FFh failed
  5115. Desc:    add the location and size of the specified file to the log table and
  5116.       optionally lock the file
  5117. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  5118.       Alloy NTNX
  5119. SeeAlso: AH=BCh"NetWare",AH=CAh,AH=D0h,AH=ECh"NetWare",AH=EDh"NetWare"
  5120. --------T-21EB-------------------------------
  5121. INT 21 - DoubleDOS - TURN ON TASK SWITCHING
  5122.     AH = EBh
  5123. Return: task switching turned on
  5124. SeeAlso: AH=E9h"DoubleDOS",AH=EAh"DoubleDOS",AH=FBh"DoubleDOS"
  5125. SeeAlso: INT FB"DoubleDOS"
  5126. --------E-21EB00-----------------------------
  5127. INT 21 - OS/386 VMM - GET A PAGE TABLE ENTRY BY LINEAR ADDRESS
  5128.     AX = EB00h
  5129.     ???
  5130. Return: ???
  5131. Note:    protected mode only???
  5132. SeeAlso: AX=EB02h,AX=EB04h,INT 31/AX=0506h
  5133. --------E-21EB02-----------------------------
  5134. INT 21 - OS/386 VMM - GET A PAGE TABLE ENTRY BY 16-BIT SEGMENT:OFFSET
  5135.     AX = EB02h
  5136.     ???
  5137. Return: ???
  5138. Note:    protected mode only???
  5139. SeeAlso: AX=EB00h,AX=EB04h
  5140. --------E-21EB03-----------------------------
  5141. INT 21 - OS/386 VMM - FREE MAPPED PAGES
  5142.     AX = EB03h
  5143.     ???
  5144. Return: ???
  5145. Note:    protected mode only???
  5146. SeeAlso: AX=EB05h,INT 31/AX=0801h
  5147. --------E-21EB04-----------------------------
  5148. INT 21 - OS/386 VMM - GET A PAGE TABLE ENTRY BY 32-BIT SEGMENT:OFFSET
  5149.     AX = EB04h
  5150.     ???
  5151. Return: ???
  5152. Note:    protected mode only???
  5153. SeeAlso: AX=EB00h,AX=EB02h
  5154. --------E-21EB05-----------------------------
  5155. INT 21 - OS/386 VMM - MAP PAGES
  5156.     AX = EB05h
  5157.     ???
  5158. Return: ???
  5159. Note:    protected mode only???
  5160. SeeAlso: AX=EB03h,INT 31/AX=0800h
  5161. --------E-21EB06-----------------------------
  5162. INT 21 - OS/386 VMM - LOCK PAGES IN MEMORY
  5163.     AX = EB06h
  5164.     ???
  5165. Return: ???
  5166. Note:    protected mode only???
  5167. SeeAlso: AX=EB07h,INT 31/AX=0600h
  5168. --------E-21EB07-----------------------------
  5169. INT 21 - OS/386 VMM - UNLOCK MEMORY PAGES
  5170.     AX = EB07h
  5171.     ???
  5172. Return: ???
  5173. Note:    protected mode only???
  5174. SeeAlso: AX=EB06h,INT 31/AX=0601h
  5175. --------N-21EC-------------------------------
  5176. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE FILE
  5177.     AH = ECh
  5178.     DS:DX -> ASCIZ filename
  5179. Return: AL = status
  5180.         00h successful
  5181.         FFh file not found
  5182. Desc:    unlock the specified file but retain it in the log table
  5183. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  5184.       Alloy NTNX
  5185. SeeAlso: AH=CDh,AH=EBh"NetWare",AH=EDh"NetWare"
  5186. --------T-21EC-------------------------------
  5187. INT 21 - DoubleDOS - GET VIRTUAL SCREEN ADDRESS
  5188.     AH = ECh
  5189. Return: ES = segment of virtual screen
  5190. Desc:    determine the address of the virtual screen to which the program
  5191.       should write instead of the actual video memory, so that the
  5192.       multitasked programs do not interfere with each other's output
  5193. Notes:    screen address can change if task-switching is on!!
  5194.     identical to AH=FCh
  5195. SeeAlso: INT 10/AH=FEh,AH=FCh"DoubleDOS",INT FC"DoubleDOS"
  5196. --------E-21EC-------------------------------
  5197. INT 21 - OS/286, OS/386 - BLOCK TRANSFER
  5198.     AH = ECh
  5199.     ???
  5200. Return: ???
  5201. --------v-21EC59-----------------------------
  5202. INT 21 - VIRUS - "Terror" - INSTALLATION CHECK
  5203.     AX = EC59h
  5204. Return: BP = EC59h if resident
  5205. SeeAlso: AH=E7h"VIRUS",AH=EEh"VIRUS"
  5206. --------N-21ED-------------------------------
  5207. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR FILE
  5208.     AH = EDh
  5209.     DS:DX -> ASCIZ filename
  5210. Return: AL = status
  5211.         00h successful
  5212.         FFh no files found
  5213. Desc:    unlock the file and remove it from the log table
  5214. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  5215.       Alloy NTNX
  5216. SeeAlso: AH=CBh"NetWare",AH=CEh,AH=CFh,AH=EBh"NetWare",AH=ECh"NetWare"
  5217. --------E-21ED-------------------------------
  5218. INT 21 - OS/286, OS/386 - GET SEGMENT OR WINDOW DESCRIPTOR
  5219.     AH = EDh
  5220.     ???
  5221. Return: ???
  5222. Note:    protected mode only???
  5223. SeeAlso: AH=E9h"OS/286"
  5224. --------N-21EE-------------------------------
  5225. INT 21 - Novell NetWare - CONNECTION SERVICES - GET PHYSICAL STATION ADDRESS
  5226.     AH = EEh
  5227. Return: CX:BX:AX = six-byte physical address
  5228. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  5229.       Alloy NTNX
  5230. SeeAlso: AH=E3h/SF=13h
  5231. --------T-21EE-------------------------------
  5232. INT 21 - DoubleDOS - GIVE AWAY TIME TO OTHER TASKS
  5233.     AH = EEh
  5234.     AL = number of 55ms time slices to give away
  5235. Return: returns after giving away time slices
  5236. SeeAlso: AH=FEh"DoubleDOS",INT FE"DoubleDOS"
  5237. --------v-21EE-------------------------------
  5238. INT 21 - VIRUS - "Jerusalem-G", "Pregnant" - INSTALLATION CHECK
  5239.     AH = EEh
  5240. Return: AX = 0300h if "Jerusalem-G" resident
  5241.     AL = 05h if "Pregnant" resident
  5242. SeeAlso: AH=DDh"VIRUS",AX=EC59h,AH=F0h"VIRUS"
  5243. --------N-21EF00-----------------------------
  5244. INT 21 - Novell NetWare - WORKSTATION - GET DRIVE HANDLE TABLE
  5245.     AX = EF00h
  5246. Return: ES:SI -> network shell's 32-byte drive handle table
  5247.     AX = 0000h
  5248. Notes:    this function is supported by Advanced NetWare 1.0+
  5249.     each byte in the drive handle table contains the directory handle for
  5250.       the corresponding drive, or 00h if not mapped to a directory
  5251. SeeAlso: AX=EF01h,AX=EF02h,AX=EF03h,AX=EF04h
  5252. --------N-21EF01-----------------------------
  5253. INT 21 - Novell NetWare - WORKSTATION - GET DRIVE FLAG TABLE
  5254.     AX = EF01h
  5255. Return: ES:SI -> network shell's 32-byte drive flag table (see below)
  5256.     AX = 0000h
  5257. Notes:    this function is supported by Advanced NetWare 1.0+
  5258.     each byte in the drive flag table corresponds to a drive
  5259. SeeAlso: AX=EF00h,AX=EF02h,AX=EF03h
  5260.  
  5261. Values in drive flag table:
  5262.  00h    drive is not mapped
  5263.  01h    permanent network drive
  5264.  02h    temporary network drive
  5265.  80h    mapped to local drive
  5266.  81h    local drive used as permanent network drive
  5267.  82h    local drive used as temporary network drive
  5268. --------N-21EF02-----------------------------
  5269. INT 21 - Novell NetWare - WORKSTATION - GET DRIVE CONNECTION ID TABLE
  5270.     AX = EF02h
  5271. Return: ES:SI -> network shell's 32-byte drive conection ID table
  5272.     AX = 0000h
  5273. Notes:    this function is supported by Advanced NetWare 1.0+
  5274.     each byte in the connection ID table corresponds to a drive and
  5275.       contains either the connection ID (1-8) of the server for that drive
  5276.       or 00h if the drive is not mapped to a file server
  5277. SeeAlso: AX=EF01h,AX=EF03h,AX=F002h
  5278. --------N-21EF03-----------------------------
  5279. INT 21 - Novell NetWare - WORKSTATION - GET CONNECTION ID TABLE
  5280.     AX = EF03h
  5281. Return: ES:SI -> network shell's connection ID table (see below)
  5282.     AX = 0000h
  5283. Note:    this function is supported by Advanced NetWare 1.0+
  5284. SeeAlso: AX=EF00h,AX=EF02h,AX=EF04h,AX=F002h
  5285.  
  5286. Format of connection ID table [one entry of eight-element array]:
  5287. Offset    Size    Description
  5288.  00h    BYTE    in use flag
  5289.         E0h AES temporary
  5290.         F8h IPX in critical section
  5291.         FAh processing
  5292.         FBh holding
  5293.         FCh AES waiting
  5294.         FDh waiting
  5295.         FEh receiving
  5296.         FFh sending
  5297.  01h    BYTE    order number assigned to server (1-8)
  5298.  02h    DWORD    (big-endian) file server's network address
  5299.  06h  6 BYTEs    (big-endian) file server's node address
  5300.  0Ch    WORD    (big-endian) socket number
  5301.  0Eh    WORD    (big-endian) base receive timeout in clock ticks
  5302.  10h  6 BYTEs    (big-endian) preferred routing node
  5303.  16h    BYTE    packet sequence number
  5304.  17h    BYTE    connection number (FFh = no connection)
  5305.  18h    BYTE    connection status (00h if active)
  5306.  19h    WORD    (big-endian) maximum receive timeout in clock ticks
  5307.  1Bh  5 BYTEs    reserved
  5308. --------N-21EF04-----------------------------
  5309. INT 21 - Novell NetWare - WORKSTATION - GET FILE SERVER NAME TABLE
  5310.     AX = EF04h
  5311. Return: ES:SI -> network shell's file server name table (see below)
  5312.     AX = 0000h
  5313. Notes:    this function is supported by Advanced NetWare 1.0+
  5314.     the name table consists of eight 48-byte entries, each consisting of
  5315.       an ASCIZ server name for the corresponding entry in the connection
  5316.       ID table
  5317. SeeAlso: AX=EF03h
  5318. --------T-21F0-------------------------------
  5319. INT 21 - DoubleDOS - MENU CONTROL
  5320.     AH = F0h
  5321.     AL = subfunction
  5322.         01h exchange tasks
  5323.         73h resume invisible job if suspended
  5324.         74h kill other job
  5325.         75h suspend invisible job
  5326. Note:    identical to AH=E0h
  5327. SeeAlso: AH=E0h"DoubleDOS"
  5328. --------v-21F0-------------------------------
  5329. INT 21 - VIRUS - "Frere Jacques" - INSTALLATION CHECK
  5330.     AH = F0h
  5331. Return: AX = 0300h if resident
  5332. SeeAlso: AH=EEh"VIRUS",AH=F1h"VIRUS"
  5333. --------N-21F000-----------------------------
  5334. INT 21 - Novell NetWare - WORKSTATION - SET PREFERRED CONNECTION ID
  5335.     AX = F000h
  5336.     DL = connection ID of prefered file server (1-8) or 00h for none
  5337. Notes:    this function is supported by Advanced NetWare 1.0+
  5338.     the preferred connection ID is set to 00h by the shell on EOJ
  5339. SeeAlso: AH=D6h,AX=EF03h,AX=F001h,AX=F002h,AX=F005h
  5340. --------N-21F001-----------------------------
  5341. INT 21 - Novell NetWare - WORKSTATION - GET PREFERRED CONNECTION ID
  5342.     AX = F001h
  5343. Return: AL = connection ID of preferred file server (1-8), 00h if not set
  5344. Notes:    this function is supported by Advanced NetWare 1.0+
  5345.     the preferred connection ID is set to 00h by the shell on EOJ
  5346. SeeAlso: AH=D6h,AX=EF03h,AX=F000h,AX=F002h,AX=F005h
  5347. --------N-21F002-----------------------------
  5348. INT 21 - Novell NetWare - WORKSTATION - GET DEFAULT CONNECTION ID
  5349.     AX = F002h
  5350. Return: AL = connection ID of current default file server (1-8) (see AX=EF03h)
  5351. Note:    this function is supported by Advanced NetWare 1.0+
  5352. SeeAlso: AX=EF03h,AX=F000h,AX=F004h
  5353. --------N-21F003-----------------------------
  5354. INT 21 - Novell NetWare - PRINT SERVICES - GET LPT CAPTURE STATUS
  5355.     AX = F003h
  5356. Return: AH = status
  5357.         00h not active
  5358.         FFh active
  5359.         AL = connection ID (01h-08h)
  5360. Note:    this function is supported by Advanced NetWare 1.0+
  5361. SeeAlso: AX=B800h,AX=B804h,AH=DFh/DL=00h,AH=DFh/DL=04h
  5362. --------N-21F004-----------------------------
  5363. INT 21 - Novell NetWare - WORKSTATION - SET PRIMARY CONNECTION ID
  5364.     AX = F004h
  5365.     DL = connection ID of primary file server (1-8) or 00h for none
  5366. Note:    this function is supported by Advanced NetWare 2.0+
  5367. SeeAlso: AH=D6h,AX=EF03h,AX=F000h,AX=F002h,AX=F005h
  5368. --------N-21F005-----------------------------
  5369. INT 21 - Novell NetWare - WORKSTATION - GET PRIMARY CONNECTION ID
  5370.     AX = F005h
  5371. Return: AL = connection ID of primary file server (1-8), 00h if not set
  5372. Notes:    this function is supported by Advanced NetWare 2.0+
  5373.     by default, the primary file server is the one from which the login
  5374.       script executed; it is set to 00h if the workstation is not logged in
  5375.       and when it detaches from its primary file server
  5376. SeeAlso: AH=D6h,AX=EF03h,AX=F000h,AX=F002h,AX=F004h
  5377. --------N-21F1-------------------------------
  5378. INT 21 - Novell NetWare - CONNECTION SERVICES - FILE SERVER CONNECTION
  5379.     AH = F1h
  5380.     AL = subfunction
  5381.         00h attach to file server
  5382.         DL = preferred file server (01h-08h)
  5383.         01h detach from file server
  5384.         DL = connection ID
  5385.         02h logout from file server
  5386.         DL = connection ID
  5387. Return: AL = status
  5388.         00h successful
  5389.         F8h already attached to server
  5390.         F9h connection table full
  5391.         FAh no more server slots
  5392.         FCh unknown file server
  5393.         FEh server bindery locked
  5394.         FFh no response from server, or connection does not exist
  5395. Note:    these functions are supported by Advanced NetWare 1.0+
  5396. SeeAlso: AH=D7h"NetWare",AH=E3h/SF=14h
  5397. --------T-21F1-------------------------------
  5398. INT 21 - DoubleDOS - CLEAR KEYBOARD BUFFER FOR CURRENT JOB
  5399.     AH = F1h
  5400. SeeAlso: AH=E1h"DoubleDOS",AH=F2h"DoubleDOS",AH=F3h"DoubleDOS"
  5401. SeeAlso: AH=F8h"DoubleDOS"
  5402. --------v-21F1-------------------------------
  5403. INT 21 - VIRUS - "F1-337" - ???
  5404.     AH = F1h
  5405.     ???
  5406. Return: ???
  5407. SeeAlso: AH=F0h"VIRUS",AX=F1E9h
  5408. --------v-21F1E9-----------------------------
  5409. INT 21 - VIRUS - "Tremor" - INSTALLATION CHECK
  5410.     AX = F1E9h
  5411. Return: AX = installation state
  5412.         CADEh installed, and calling program is infected
  5413.         F100h not installed (normal DOS return value)
  5414.         else  installed, but calling program is not infected
  5415. SeeAlso: AH=F1h"VIRUS",AX=F2AAh
  5416. --------N-21F2-------------------------------
  5417. INT 21 u - Novell NetWare v3.01+ shell interface - MULTIPLEXOR
  5418.     AH = F2h
  5419.     AL = function (see below)
  5420.     CX = length of request buffer in bytes
  5421.     DX = length of reply buffer in bytes
  5422.     DS:SI -> request buffer (contents vary by function)
  5423.     ES:DI -> reply buffer (contents vary by function)
  5424. Return: AL = status
  5425.     reply buffer filled as appropriate for function
  5426. Note:    this is a multiplexor providing a "raw" interface to the underlying
  5427.       NetWare Core Protocol.  Many functions which were accessed via a
  5428.       separate AH function in older versions can also be accessed here,
  5429.       but some NetWare 3.x calls appear to be available only here.
  5430. SeeAlso: AX=F244h
  5431.  
  5432. Values for NetWare Core Protocol functions:
  5433. Fnc/Subfn
  5434. 01h    File Set Lock
  5435. 02h    File Release Lock
  5436. 03h    Log File (see AH=EBh"NetWare")
  5437. 04h    Lock File Set (see AH=CBh"NetWare")
  5438. 05h    Release File (see AH=CCh,AH=ECh"NetWare")
  5439. 06h    Release File Set (see AH=CDh"NetWare")
  5440. 07h    Clear File (see AH=CEh,AH=EDh"NetWare")
  5441. 08h    Clear File Set (see AH=CFh"NetWare")
  5442. 09h    Log Logical Record (see AH=D0h"NetWare")
  5443. 0Ah    Lock Logical Record Set (see AH=D1h"NetWare")
  5444. 0Bh    Clear Logical Record (see AH=D4h"NetWare")
  5445. 0Ch    Release Logical Record (see AH=D2h"NetWare")
  5446. 0Dh    Release Logical Record Set (see AH=D3h"NetWare")
  5447. 0Eh    Clear Logical Record Set (see AH=D5h"NetWare")
  5448. 0Fh    Allocate Resource (see AH=D8h"NetWare")
  5449. 10h    Deallocate Resource (see AH=D9h"NetWare")
  5450. 11h/0Ah    Get Printer Queue
  5451. 11h/xxh    print spooling (see AX=E0xxh"NetWare")
  5452. 12h    Get Volume Info with Number (see AH=DAh"NetWare")
  5453. 13h    Get Station Number (see AH=DCh"NetWare")
  5454. 14h    Get File Server Date and Time (see AH=E7h"NetWare")
  5455. 15h/xxh    broadcast services (see AX=E1xxh"NetWare")
  5456. 16h/0Fh    Rename Directory
  5457. 16h/1Bh    Scan Salvagable Files
  5458. 16h/1Ch    Recover Salvagable File
  5459. 16h/1Dh    Purge Salvagable File
  5460. 16h/1Eh    Scan Dir Entry
  5461. 16h/1Fh    Get Dir ENtry
  5462. 16h/20h    Scan Volume for Restrictions
  5463. 16h/21h    Add User Disk Space Restriction (see AX=F216h/SF=21h)
  5464. 16h/22h    Clear Volume Restrictions
  5465. 16h/23h    Scan Dir Restrictions
  5466. 16h/24h    Set Directory Disk Space Restriction (see AX=F216h/SF=24h)
  5467. 16h/25h    Set Entry
  5468. 16h/26h    Scan File or Directory For Extended Trustees (see AX=F216h/SF=26h)
  5469. 16h/27h    Add Extended Trustee to Directory or File (see AX=F216h/SF=27h)
  5470. 16h/28h    Scan File Physical
  5471. 16h/29h    Get Object Disk Restrictions (see AX=F216h/SF=29h)
  5472. 16h/2Ah    Get Effective Rights
  5473. 16h/2Bh    Delete Trustee
  5474. 16h/2Ch    Get Volume Usage
  5475. 16h/2Dh    Get Dir Info
  5476. 16h/2Eh    Move Entry
  5477. 16h/2Fh    Fill Name Space Buffer
  5478. 16h/30h    Get Name Space Entry
  5479. 16h/31h    Open Data Stream
  5480. 16h/32h    Get Object Effective Rights
  5481. 16h/33h    Get Extended Volume Info
  5482. 16h/F3h    Map Directory Number to Path
  5483. 16h/xxh file/directory services (see AX=E2xxh"NetWare")
  5484. 17h/17h    Get Encryption Key
  5485. 17h/18h    Login Object Encrypted
  5486. 17h/1Ch    Get Connection Information (see AX=F217h/SF=1Ch)
  5487. 17h/1Fh    Get Connection List from Object
  5488. 17h/48h    Get Bindery Object Access Level
  5489. 17h/49h    Is Station a Manager?
  5490. 17h/4Ah    Verify Bindery Object Password Encrypted
  5491. 17h/4Bh    Change Bindery Object Password Encrypted
  5492. 17h/4Ch    Get Relation of an Object
  5493. 17h/D2h Clear Connection Number (Logout Station) (see AX=F217h/SF=D2h)
  5494. 17h/EBh    Get Connection's Open Files (see AX=F217h/SF=EBh)
  5495. 17h/ECh    Get Connections Using a File (see AX=F217h/SF=ECh)
  5496. 17h/EEh    Get Physical Record Locks by File (see AX=F217h/SF=EEh)
  5497. 17h/F2h Get Semaphore Information (see AX=F217h/SF=F2h)
  5498. 17h/F3h Map Directory Number to Path (see AX=F217h/SF=F3h)
  5499. 17h/F4h    Convert Path to Directory Entry (see AX=F217h/SF=F4h)
  5500. 17h/xxh    connection control (see AX=E3xxh"NetWare")
  5501. 18h    End of Job (see AH=D6h"NetWare")
  5502. 19h    Logout (see AH=D7h"NetWare")
  5503. 1Ah    Log Physical Record (see AH=BCh"NetWare")
  5504. 1Bh    Lock Physical Record Set (see AH=C2h"NetWare")
  5505. 1Ch    Release Physical Record (see AH=BDh"NetWare")
  5506. 1Dh    Release Physical Record Set (see AH=C3h"NetWare")
  5507. 1Eh    Clear Physical Record (see AH=BEh"NetWare")
  5508. 1Fh    Clear Physical Record Set (see AH=C4h"NetWare")
  5509. 20h/xxh    semaphore services (see AX=C5xxh"NetWare")
  5510. 21h    Negotiate Buffer
  5511. 22h/00h    TTS Is Available (see AX=C702h"NetWare")
  5512. 22h/01h    TTS Begin Transaction (see AX=C700h"NetWare")
  5513. 22h/02h    TTS End Transaction (see AX=C701h"NetWare")
  5514. 22h/03h    TTS Abort Transaction (see AX=C703h"NetWare")
  5515. 22h/04h    TTS Transaction Status (see AX=C704h"NetWare")
  5516. 22h/05h    TTS Get Application Thresholds (see AX=C705h"NetWare")
  5517. 22h/06h    TTS Set Application Thresholds (see AX=C706h"NetWare")
  5518. 22h/07h    TTS Get Workstation Thresholds (see AX=C707h"NetWare")
  5519. 22h/08h    TTS Set Workstation Thresholds (see AX=C708h"NetWare")
  5520. 22h/09h    TTS Get Control Flags
  5521. 22h/0Ah    TTS Set Control Flags
  5522. 23h/01h    AFP Create Directory
  5523. 23h/02h    AFP Create File
  5524. 23h/03h    AFP Delete
  5525. 23h/04h    AFP Get Entry ID From Name
  5526. 23h/05h    AFP Get FIle Infomration
  5527. 23h/06h    AFP Get Entry ID From NetWare Handle
  5528. 23h/07h    AFP Rename
  5529. 23h/08h    AFP Open File Fork
  5530. 23h/09h    AFP Set File Information
  5531. 23h/0Ah    AFP Scan File Information
  5532. 23h/0Bh    AFP Alloc Temporary Dir Handle
  5533. 23h/0Ch    AFP Get Entry ID From Path Name
  5534. 3Dh    Commit File
  5535. 3Eh    File Search Initialize (FindFirst)
  5536. 3Fh    File Search Continue (FindNext)
  5537. 40h    Search File
  5538. 42h    File Close
  5539. 43h    File Create
  5540. 44h    Erase Files
  5541. 45h    File Rename
  5542. 46h    Set File Attributes
  5543. 47h    Get File Size
  5544. 48h    File Read
  5545. 49h    File Write
  5546. 4Ah    File Server Copy (see AH=F3h"NetWare")
  5547. 4Bh    Set File Time and Date
  5548. 4Ch    File Open
  5549. 4Dh    Create New File
  5550. 4Eh    Allow Task Access to File
  5551. 4Fh    Set Extended File Attributes (see AH=B6h"NetWare")
  5552. 55h    Get File Bit Map
  5553. 57h/03h    Scan NS Entry Info
  5554. 57h/06h    Get NS Entry Info (see AX=F257h/SF=06h)
  5555. 57h/07h    Set NS Entry DOS Info
  5556. 57h/0Ch    Allocate Temp NS Dir Handle
  5557. 57h/13h    Read NS Info
  5558. 57h/16h    Get Directory Base
  5559. 57h/17h    Get NS Info
  5560. 57h/19h    Write NS Info
  5561. 57h/1Ah    Read Extended NS Info
  5562. 57h/1Bh    Write Extended NS Infor
  5563. 57h/1Ch    Get NS Path
  5564. 58h/01h    Get Volume Audit Statistics
  5565. 58h/02h    Add Audit Property
  5566. 58h/03h    Login as Volume Auditor
  5567. 58h/04h Change Auditor Password
  5568. 58h/05h Check Audit Access
  5569. 58h/06h    Remove Audit Property
  5570. 58h/07h    Disable Auditing on Volume
  5571. 58h/08h    Enable Auditing on Volume
  5572. 58h/09h    Is User Audited?
  5573. 58h/0Ah    Read Auditing Bit Map
  5574. 58h/0Bh    Read Audit Config Header
  5575. 58h/0Dh    Logout as Volume Auditor
  5576. 58h/0Eh    Reset Auditing File
  5577. 58h/0Fh    Reset Audit History File
  5578. 58h/10h    Write Auditing Bit Map
  5579. 58h/11h    Write Audit Config Header
  5580. 58h/13h    Get Auditing Flags
  5581. 58h/14h    Close Old Auditing File
  5582. 58h/15h    Delete Old Auditing File
  5583. 58h/16h    Check Audit Level Two Access
  5584. 5Ah/01h    Get DM Info
  5585. 61h    Negotiate LIP Buffer
  5586. 65h    Packet Burst Connection
  5587. 7Bh/01h    Get Cache Information
  5588. 7Bh/02h    Get File Server Information
  5589. 7Bh/03h    Get NetWare File Systems Information
  5590. 7Bh/04h    Get User Information
  5591. 7Bh/05h    Get Packet Burst Information
  5592. 7Bh/06h    Get IPX/SPX Information
  5593. 7Bh/07h    Get Garbage Collection Information
  5594. 7Bh/08h    Get CPU Information
  5595. 7Bh/09h    Get Volume Switch Information
  5596. 7Bh/0Ah    Get NLM Loaded List
  5597. 7Bh/0Bh    Get NLM Information
  5598. 7Bh/0Ch    Get Directory Cache Information
  5599. 7Bh/0Dh    Get OS Version Information
  5600. 7Bh/0Eh    Get Active Connection List by Type
  5601. 7Bh/0Fh    Get NLM's Resource Tag List
  5602. 7Bh/14h    Get Active LAN Board List
  5603. 7Bh/15h    Get LAN Configuration Information
  5604. 7Bh/16h    Get LAN Common Counters Information
  5605. 7Bh/17h    Get LAN Custom Counters Information
  5606. 7Bh/18h    Get LAN Config Strings
  5607. 7Bh/19h    Get LSL Informatino
  5608. 7Bh/1Ah    Get LSL Logical Board Statistics
  5609. 7Bh/1Eh    Get Media Manager Object Information
  5610. 7Bh/1Fh    Get Media Manager Object List
  5611. 7Bh/20h    Get Media Manager Object Children List
  5612. 7Bh/21h    Get Volume Segment List
  5613. 7Bh/28h    Get Active Protocol Stacks
  5614. 7Bh/29h    Get Protocol Stack Configuration Information
  5615. 7Bh/2Ah    Get Protocol Stack Statistics Information
  5616. 7Bh/2Bh    Get Protocol Stack Custom Information
  5617. 7Bh/2Ch    Get Protocol Stack Numbers By Media Number
  5618. 7Bh/2Dh    Get Protocol Stack Numbers By LAN Board Number
  5619. 7Bh/2Eh    Get Media Name by Media Number
  5620. 7Bh/2Fh    Get Loaded Media Number List
  5621. 7Bh/32h    Get General Router and SAP Information
  5622. 7Bh/33h    Get Network Router Information
  5623. 7Bh/34h    Get Network Routers Information
  5624. 7Bh/35h    Get Known Networks Information
  5625. 7Bh/36h    Get Server Information
  5626. 7Bh/38h    Get Known Servers Information
  5627. 7Bh/3Ch    Get Server Set Commands Information
  5628. 7Bh/3Dh    Get Server Set Categories
  5629. --------T-21F2-------------------------------
  5630. INT 21 - DoubleDOS - SEND CHARACTER TO KEYBOARD BUFFER OF OTHER JOB
  5631.     AH = F2h
  5632.     AL = character
  5633. Return: AL = 00h successful
  5634.          01h buffer full (128 characters)
  5635. SeeAlso: AH=E2h"DoubleDOS",AH=F1h"DoubleDOS",AH=F3h"DoubleDOS"
  5636. SeeAlso: AH=F8h"DoubleDOS"
  5637. --------N-21F216SF21-------------------------
  5638. INT 21 - Novell NetWare v3+ - ADD USER DISK SPACE RESTRICTION
  5639.     AX = F216h subfn 21h
  5640.     CX = length of request buffer in bytes
  5641.     DX = length of reply buffer in bytes
  5642.     DS:SI -> request buffer (see below)
  5643.     ES:DI -> reply buffer (ignored)
  5644. Return: AL = status
  5645. SeeAlso: AX=F216h/SF=24h
  5646.  
  5647. Format of request buffer:
  5648. Offset    Size    Description
  5649.  00h    WORD    000Ah (length of following data)
  5650.  02h    BYTE    21h (subfunction "Add User Disk Space Restriction")
  5651.  03h    BYTE    volume number
  5652.  04h    DWORD    (big-endian) object ID
  5653.  08h    DWORD    (big-endian) disk space limit in 4K blocks
  5654.         00000000h to 40000000h
  5655. --------N-21F216SF24-------------------------
  5656. INT 21 - Novell NetWare v3+ - SET DIRECTORY DISK SPACE RESTRICTION
  5657.     AX = F216h subfn 24h
  5658.     CX = length of request buffer in bytes
  5659.     DX = length of reply buffer in bytes
  5660.     DS:SI -> request buffer (see below)
  5661.     ES:DI -> reply buffer (ignored)
  5662. Return: AL = status
  5663. SeeAlso: AX=F216h/SF=21h
  5664.  
  5665. Format of request buffer:
  5666. Offset    Size    Description
  5667.  00h    WORD    0006h (length of following data)
  5668.  02h    BYTE    24h (subfunction "Set Directory Disk Space Restriction")
  5669.  03h    BYTE    directory handle
  5670.  04h    DWORD    (big-endian) disk space limit in 4K blocks
  5671.         00000000h to remove restriction, negative to set to 0 blocks
  5672. --------N-21F216SF26-------------------------
  5673. INT 21 - Novell NetWare v3+ - SCAN FILE OR DIRECTORY FOR EXTENDED TRUSTEES
  5674.     AX = F216h subfn 26h
  5675.     CX = length of request buffer in bytes
  5676.     DX = length of reply buffer in bytes
  5677.     DS:SI -> request buffer (see below)
  5678.     ES:DI -> reply buffer (see below)
  5679. Return: AL = status
  5680. Desc:    get up to 20 extended trustee entries per call for a file or directory
  5681.  
  5682. Format of request buffer:
  5683. Offset    Size    Description
  5684.  00h    WORD    length of following data
  5685.  02h    BYTE    26h (subfunc "Scan File or Directory For Extended Trustees")
  5686.  03h    BYTE    directory handle
  5687.  04h    BYTE    sequence number
  5688.         00h for first call, increment by number of returned entries
  5689.  05h    BYTE    length of path
  5690.  06h  N BYTEs    pathname
  5691.  
  5692. Format of reply buffer:
  5693. Offset    Size    Description
  5694.  00h    BYTE    number of entries returned (max 20)
  5695.  01h 20 DWORDs    (big-endian) list of object IDs
  5696.  51h 20 WORDs    list of associated trustee rights
  5697. --------N-21F216SF27-------------------------
  5698. INT 21 - Novell NetWare v3+ - ADD EXTENDED TRUSTEE TO DIRECTORY OR FILE
  5699.     AX = F216h subfn 27h
  5700.     CX = length of request buffer in bytes
  5701.     DX = length of reply buffer in bytes
  5702.     DS:SI -> request buffer (see below)
  5703.     ES:DI -> reply buffer (ignored)
  5704. Return: AL = status
  5705.  
  5706. Format of request buffer:
  5707. Offset    Size    Description
  5708.  00h    WORD    length of following data
  5709.  02h    BYTE    27h (subfunction "Add Extended Trustee to Directory or File")
  5710.  03h    BYTE    directory handle
  5711.  04h    DWORD    (big-endian) object ID
  5712.  08h    WORD    trustee rights (see below)
  5713.  0Ah    BYTE    path length
  5714.  0Bh  N BYTEs    path name
  5715.  
  5716. Bitfields for trustee rights:
  5717. Bit(s)    Description
  5718.  0    read
  5719.  1    write
  5720.  3    create
  5721.  4    delete
  5722.  5    access
  5723.  6    file
  5724.  7    modify
  5725.  8    supervisor
  5726. --------N-21F216SF29-------------------------
  5727. INT 21 - Novell NetWare v3+ - GET OBJECT DISK RESTRICTIONS
  5728.     AX = F216h subfn 29h
  5729.     CX = length of request buffer in bytes
  5730.     DX = length of reply buffer in bytes
  5731.     DS:SI -> request buffer (see below)
  5732.     ES:DI -> reply buffer (see below)
  5733. Return: AL = status
  5734.     reply buffer filled
  5735. Note:    this function returns successfully, showing no restriction, if an
  5736.       invalid object ID is specified
  5737. SeeAlso: AX=F216h/SF=24h
  5738.  
  5739. Format of request buffer:
  5740. Offset    Size    Description
  5741.  00h    WORD    0006h (length of following data)
  5742.  02h    BYTE    21h (subfunction "Get Object Disk Restrictions")
  5743.  03h    BYTE    volume number
  5744.  04h    DWORD    (big-endian) object ID
  5745.  
  5746. Format of reply buffer:
  5747. Offset    Size    Description
  5748.  00h    DWORD    disk space limit
  5749.  04h    DWORD    disk space currently in use by object
  5750. --------N-21F217SF1C-------------------------
  5751. INT 21 - Novell NetWare v3+ - GET CONNECTION INFORMATION
  5752.     AX = F217h subfn 1Ch
  5753.     CX = length of request buffer in bytes
  5754.     DX = length of reply buffer in bytes
  5755.     DS:SI -> request buffer (see below)
  5756.     ES:DI -> reply buffer (see below)
  5757. Return: AL = status
  5758.     reply buffer filled
  5759.  
  5760. Format of request buffer:
  5761. Offset    Size    Description
  5762.  00h    WORD    0005h (length of following data)
  5763.  02h    BYTE    1Ch (subfunction "Get Connection Information")
  5764.  03h    DWORD    target connection number
  5765. Note:    connection numbers greater than the maximum supported by the server
  5766.       can cause ABENDs
  5767.  
  5768. Format of reply buffer:
  5769. Offset    Size    Description
  5770.  00h    DWORD    (big-endian) unique user ID, 00000000h if no one logged in
  5771.  04h    WORD    (big-endian) user type
  5772.  06h 48 BYTEs    user name
  5773.  36h  7 BYTEs    login time (see below)
  5774.  3Dh    BYTE    reserved
  5775. --------N-21F217SFD2-------------------------
  5776. INT 21 - Novell NetWare v3+ - CLEAR CONNECTION NUMBER (LOGOUT STATION)
  5777.     AX = F217h subfn D2h
  5778.     CX = length of request buffer in bytes
  5779.     DX = length of reply buffer in bytes
  5780.     DS:SI -> request buffer (see below)
  5781.     ES:DI -> reply buffer (ignored)
  5782. Return: AL = status
  5783.     reply buffer filled
  5784.  
  5785. Format of request buffer:
  5786. Offset    Size    Description
  5787.  00h    WORD    0002h (length of following data)
  5788.  02h    BYTE    D2h (subfunction "Clear Connection Number")
  5789.  03h    BYTE    connection number
  5790. --------N-21F217SFEB-------------------------
  5791. INT 21 - Novell NetWare v3+ - GET CONNECTION'S OPEN FILES
  5792.     AX = F217h subfn EBh
  5793.     CX = length of request buffer in bytes
  5794.     DX = length of reply buffer in bytes
  5795.     DS:SI -> request buffer (see below)
  5796.     ES:DI -> reply buffer (see below)
  5797. Return: AL = status
  5798.     reply buffer filled
  5799.  
  5800. Format of request buffer:
  5801. Offset    Size    Description
  5802.  00h    WORD    0005h (length of following data)
  5803.  02h    BYTE    EBh (subfunction "Get Connection's Open Files")
  5804.  03h    WORD    target connection number
  5805.  05h    WORD    last record seen (set to 0000h for first call)
  5806. Note:    connection numbers greater than the maximum supported by the server
  5807.       can cause ABENDs
  5808.  
  5809. Format of reply buffer:
  5810. Offset    Size    Description
  5811.  00h    WORD    next request record
  5812.  02h    WORD    number of records returned (max 28)
  5813.  04h 29N BYTEs    records
  5814.         Offset    Size    Description
  5815.          00h    WORD    task number
  5816.          02h    BYTE    lock type
  5817.          03h    BYTE    access control
  5818.          04h    BYTE    lock flag
  5819.          05h    BYTE    volume number
  5820.          06h    DWORD    parent directory entry number
  5821.          0Ah    DWORD    directory entry number
  5822.          0Eh    BYTE    reserved
  5823.          0Fh    BYTE    data stream type
  5824.          10h    BYTE    file name length
  5825.          11h 12 BYTEs    file name
  5826. --------N-21F217SFEC-------------------------
  5827. INT 21 - Novell NetWare v3+ - GET CONNECTIONS USING A FILE
  5828.     AX = F217h subfn ECh
  5829.     CX = length of request buffer in bytes
  5830.     DX = length of reply buffer in bytes
  5831.     DS:SI -> request buffer (see below)
  5832.     ES:DI -> reply buffer (see below)
  5833. Return: AL = status
  5834.     reply buffer filled
  5835.  
  5836. Format of request buffer:
  5837. Offset    Size    Description
  5838.  00h    WORD    0009h (length of following data)
  5839.  02h    BYTE    ECh (subfunction "Get Connections Using a File")
  5840.  03h    BYTE    data stream type
  5841.  04h    BYTE    volume number
  5842.  05h    DWORD    directory entry number
  5843.  09h    WORD    last record seen (0000h for first call)
  5844.  
  5845. Format of reply buffer:
  5846. Offset    Size    Description
  5847.  00h    WORD    next request record
  5848.  02h    WORD    use count
  5849.  04h    WORD    open count
  5850.  06h    WORD    number of times open for reading
  5851.  08h    WORD    number of times open for writing
  5852.  0Ah    WORD    Deny Read count
  5853.  0Ch    WORD    Deny Write count
  5854.  0Eh    BYTE    flag: locked
  5855.  0Fh    BYTE    data stream type
  5856.  10h    WORD    number of records returned (max 70)
  5857.  12h 7N BYTEs    returned records
  5858.         Offset    Size    Description
  5859.          00h    WORD    connection number
  5860.          02h    WORD    task number
  5861.          04h    BYTE    lock type
  5862.          05h    BYTE    access flag
  5863.          06h    BYTE    lock flag
  5864. --------N-21F217SFEE-------------------------
  5865. INT 21 - Novell NetWare v3+ - GET PHYSICAL RECORD LOCKS BY FILE
  5866.     AX = F217h subfn EEh
  5867.     CX = length of request buffer in bytes
  5868.     DX = length of reply buffer in bytes
  5869.     DS:SI -> request buffer (see below)
  5870.     ES:DI -> reply buffer (see below)
  5871. Return: AL = status
  5872.     reply buffer filled
  5873.  
  5874. Format of request buffer:
  5875. Offset    Size    Description
  5876.  00h    WORD    0009h (length of following data)
  5877.  02h    BYTE    EEh (subfunction "Get Physical Record Locks by File")
  5878.  03h    BYTE    data stream number
  5879.  04h    BYTE    volume number
  5880.  05h    DWORD    directory entry number
  5881.  09h    WORD    last record seen (0000h for first call)
  5882.  
  5883. Format of reply buffer:
  5884. Offset    Size    Description
  5885.  00h    WORD    next request record
  5886.  02h    WORD    number of locks
  5887.  04h 17N BYTEs    lock records, one per lock
  5888.         Offset    Size    Description
  5889.          00h    WORD    logged count
  5890.          02h    WORD    number of shareable locks
  5891.          04h    DWORD    start offset of record
  5892.          08h    DWORD    end offset of record
  5893.          0Ch    WORD    logical connection number
  5894.          0Eh    WORD    task number
  5895.          10h    BYTE    lock type
  5896. --------N-21F217SFF2-------------------------
  5897. INT 21 - Novell NetWare v3+ - GET SEMAPHORE INFORMATION
  5898.     AX = F217h subfn F2h
  5899.     CX = length of request buffer in bytes
  5900.     DX = length of reply buffer in bytes
  5901.     DS:SI -> request buffer (see below)
  5902.     ES:DI -> reply buffer (see below)
  5903. Return: AL = status
  5904.     reply buffer filled
  5905.  
  5906. Format of request buffer:
  5907. Offset    Size    Description
  5908.  00h    WORD    length of following data (max 84h)
  5909.  02h    BYTE    F2h (subfunction "Get Semaphore Information")
  5910.  03h    WORD    last record seen (0000h on first call)
  5911.  05h    BYTE    length of semaphore name (max 128)
  5912.  06h  N BYTEs    semaphore name
  5913.  
  5914. Format of reply buffer:
  5915. Offset    Size    Description
  5916.  00h    WORD    next request record
  5917.  02h    WORD    open count
  5918.  04h    BYTE    value of semaphore
  5919.  05h    WORD    number of records returned
  5920.  07h 2N WORDs    list of logical connection number/task number pairs
  5921. --------N-21F217SFF3-------------------------
  5922. INT 21 - Novell NetWare v3+ - MAP DIRECTORY NUMBER TO PATH
  5923.     AX = F217h subfn F3h
  5924.     CX = length of request buffer in bytes
  5925.     DX = length of reply buffer in bytes
  5926.     DS:SI -> request buffer (see below)
  5927.     ES:DI -> reply buffer (see below)
  5928. Return: AL = status
  5929.     reply buffer filled
  5930. SeeAlso: AX=F217h/SF=F4h
  5931.  
  5932. Format of request buffer:
  5933. Offset    Size    Description
  5934.  00h    WORD    0007h (length of following data)
  5935.  02h    BYTE    F3h (subfunction "Map Directory Number to Path")
  5936.  03h    BYTE    volume number
  5937.  04h    DWORD    directory entry number
  5938.  08h    BYTE    name space type
  5939.  
  5940. Format of reply buffer:
  5941. Offset    Size    Description
  5942.  00h    BYTE    directory path length
  5943.  01h  N BYTEs    directory path (NetWare style, separated by length descriptors
  5944.         rather than slashes or backslashes)
  5945. --------N-21F217SFF4-------------------------
  5946. INT 21 - Novell NetWare v3+ - CONVERT PATH TO DIRECTORY ENTRY
  5947.     AX = F217h subfn F4h
  5948.     CX = length of request buffer in bytes
  5949.     DX = length of reply buffer in bytes
  5950.     DS:SI -> request buffer (see below)
  5951.     ES:DI -> reply buffer (see below)
  5952. Return: AL = status
  5953.     reply buffer filled
  5954. SeeAlso: AX=F217h/SF=F3h
  5955.  
  5956. Format of request buffer:
  5957. Offset    Size    Description
  5958.  00h    WORD    length of following data
  5959.  02h    BYTE    F4h (subfunction "Convert Path to Directory Entry")
  5960.  03h    BYTE    directory handle or 00h for none
  5961.  04h    BYTE    length of directory path
  5962.  05h  N BYTEs    directory path (must be fully qualified if no handle specified)
  5963.  
  5964. Format of reply buffer:
  5965. Offset    Size    Description
  5966.  00h    BYTE    (return) volume number
  5967.  01h    DWORD    (return) directory entry number
  5968. --------N-21F244-----------------------------
  5969. INT 21 - Novell NetWare - FILE SERVICES - ERASE FILES
  5970.     AX = F244h
  5971.     DS:SI -> request buffer (see below)
  5972.     ES:DI -> reply buffer (ignored???)
  5973. Return: AL = status
  5974.         00h successful
  5975.         98h nonexistent volume
  5976.         9Bh invaid directory handle
  5977.         9Ch invalid path
  5978.         FFh no files found
  5979. Note:    this function only marks the file for deletion; use AH=E2h/SF=CEh to
  5980.       actually delete all marked files
  5981. SeeAlso: AH=13h,AH=41h,AH=E2h/SF=0Bh,AH=E3h/SF=CEh
  5982.  
  5983. Format of request buffer:
  5984. Offset    Size    Description
  5985.  00h    BYTE    directory handle
  5986.  01h    BYTE    search attributes (see AX=4301h)
  5987.  02h    BYTE    length of filespec
  5988.  03h  N BYTEs    ASCIZ filespec (may include wildcards)
  5989. --------N-21F257SF06-------------------------
  5990. INT 21 - Novell NetWare v3+ - GET NAME SPACE INFORMATION FOR FILE OR DIRECTORY
  5991.     AX = F257h subfn 06h
  5992.     CX = length of request buffer in bytes
  5993.     DX = length of reply buffer in bytes
  5994.     DS:SI -> request buffer (see below)
  5995.     ES:DI -> reply buffer (see below)
  5996. Return: AL = status
  5997.     reply buffer filled
  5998.  
  5999. Format of request buffer:
  6000. Offset    Size    Description
  6001.  00h    BYTE    06h (subfunction "Get NS Entry Info")
  6002.  01h    BYTE    name space
  6003.  02h    BYTE    destination name space
  6004.  03h    WORD    search attributes
  6005.  05h    DWORD    return information mask (should be 00000200h)
  6006.  09h    BYTE    volume number
  6007.  0Ah    DWORD    directory handle
  6008.  0Eh    BYTE    handle flag (should be FFh)
  6009.  0Fh    BYTE    number of path components
  6010.  10h  N BYTEs    list of path components (each a counted string)
  6011.  
  6012. Format of reply buffer:
  6013. Offset    Size    Description
  6014.  00h 72 BYTEs    reserved
  6015.  48h    DWORD    creator's name space number
  6016.  4Ch 257 BYTEs    reserved
  6017. --------v-21F2AA-----------------------------
  6018. INT 21 - VIRUS - "PcVrsDs" - INSTALLATION CHECK
  6019.     AX = F2AAh
  6020. Return: AH = AAh if resident
  6021. SeeAlso: AH=F1h"VIRUS",AH=F3h"VIRUS"
  6022. --------N-21F3-------------------------------
  6023. INT 21 - Novell NetWare - FILE SERVICES - FILE SERVER FILE COPY
  6024.     AH = F3h
  6025.     ES:DI -> request buffer (see below)
  6026. Return: AL = status/error code
  6027.     CX:DX = number of bytes copied
  6028. Notes:    this function is supported by Advanced NetWare 2.0+
  6029.     both source and destination must be on the same file server
  6030. SeeAlso: AH=3Ch,AH=3Fh
  6031.  
  6032. Format of request buffer:
  6033. Offset    Size    Description
  6034.  00h    WORD    source file handle (as returned by AH=3Ch or AH=3Dh)
  6035.  02h    WORD    destination file handle
  6036.  04h    DWORD    starting offset in source
  6037.  08h    DWORD    starting offset in destination
  6038.  0Ch    DWORD    number of bytes to copy
  6039. --------T-21F3-------------------------------
  6040. INT 21 - DoubleDOS - ADD CHARACTER TO KEYBOARD BUFFER OF CURRENT JOB
  6041.     AH = F3h
  6042.     AL = character
  6043. Return: AL = 00h successful
  6044.          01h buffer full (128 characters)
  6045. SeeAlso: AH=E3h"DoubleDOS",AH=F1h"DoubleDOS",AH=F2h"DoubleDOS"
  6046. SeeAlso: AH=F8h"DoubleDOS"
  6047. --------v-21F3-------------------------------
  6048. INT 21 - VIRUS - "Carfield" - INSTALLATION CHECK
  6049.     AH = F3h
  6050. Return: AX = 0400h if resident
  6051. SeeAlso: AH=D5h"Carfield",AX=F2AAh,AH=F7h"VIRUS"
  6052. --------T-21F400-----------------------------
  6053. INT 21 - DoubleDOS - INSTALLATION CHECK/PROGRAM STATUS
  6054.     AX = F400h
  6055. Return: AL = 00h if DoubleDOS not present
  6056.        = 01h if running in visible DoubleDOS partition
  6057.        = 02h if running in the invisible DoubleDOS partition
  6058. SeeAlso: AX=E400h,AH=F5h"DoubleDOS"
  6059. --------T-21F5-------------------------------
  6060. INT 21 - DoubleDOS - OTHER PROGRAM STATUS
  6061.     AH = F5h
  6062. Return: AL = 00h no program in other partition
  6063.        = 01h program in other partition is running
  6064.        = 02h program in other partition is suspended
  6065. SeeAlso: AH=E5h"DoubleDOS",AX=F400h"DoubleDOS"
  6066. --------v-21F7-------------------------------
  6067. INT 21 - VIRUS - "GP1" - INSTALLATION CHECK
  6068.     AH = F7h
  6069. Return: AX = 0300h if resident
  6070. SeeAlso: AH=F0h"VIRUS",AH=FBh"VIRUS"
  6071. --------D-21F8-------------------------------
  6072. INT 21 - DOS v2.11 - SET OEM INT 21 HANDLER
  6073.     AH = F8h
  6074.     DS:DX -> OEM INT 21 handler for functions F9h to FFh
  6075.          FFFFh:FFFFh disables OEM handler
  6076. Notes:    this function is supported by Toshiba T1000 ROM MS-DOS 2.11
  6077.     calls to AH=F9h through AH=FFH will return AL=00h if no handler set
  6078.     handler is called with all registers exactly as set by caller, and
  6079.       should exit with IRET
  6080. SeeAlso: AH=F9h"OEM"
  6081. --------T-21F8-------------------------------
  6082. INT 21 - DoubleDOS - SET/RESET KEYBOARD CONTROL FLAGS
  6083.     AH = F8h
  6084.     AL = 00h set flags for this program
  6085.        = 01h set flags for other program
  6086.     DX = keyboard control flags (see AH=E8h"DoubleDOS")
  6087. Return: DX = previous flags
  6088. Notes:    disabling Ctrl-PrtSc will allow the program to intercept the keystroke;
  6089.       disabling any of the other keystrokes disables them completely
  6090.     this function is identical to AH=E8h
  6091. SeeAlso: AH=E8h"DoubleDOS",AH=F1h"DoubleDOS",AH=F2h"DoubleDOS"
  6092. SeeAlso: AH=F3h"DoubleDOS"
  6093. --------D-21F9-------------------------------
  6094. INT 21 - DOS v2.11 - OEM FUNCTION
  6095.     AH = F9h
  6096. SeeAlso: AH=F8h"OEM",AH=FAh"OEM"
  6097. --------T-21F9-------------------------------
  6098. INT 21 - DoubleDOS - SET TIMESHARING PRIORITY
  6099.     AH = F9h
  6100.     AL = 00h visible program gets 70%, invisible gets 30% (default)
  6101.        = 01h visible program gets 50%, invisible gets 50%
  6102.        = 02h visible program gets 30%, invisible gets 70%
  6103.        = 03h Top program gets 70%, bottom program gets 30%
  6104.        = 04h Top program gets 30%, bottom program gets 70%
  6105.        = 05h get current priority
  6106.         Return: AL = priority setting
  6107. Note:    identical to AH=E9h
  6108. SeeAlso: AH=E9h"DoubleDOS",AH=FAh"DoubleDOS",AH=FBh"DoubleDOS"
  6109. --------D-21FA-------------------------------
  6110. INT 21 - DOS v2.11 - OEM FUNCTION
  6111.     AH = FAh
  6112. SeeAlso: AH=F8h"OEM",AH=F9h"OEM",AH=FBh"OEM"
  6113. --------T-21FA-------------------------------
  6114. INT 21 - DoubleDOS - TURN OFF TASK SWITCHING
  6115.     AH = FAh
  6116. Return: task switching turned off
  6117. SeeAlso: AH=EAh"DoubleDOS",AH=F9h"DoubleDOS",AH=FBh"DoubleDOS"
  6118. SeeAlso: INT FA"DoubleDOS"
  6119. --------v-21FA--DX5945-----------------------
  6120. INT 21 U - PC Tools v7+ VDEFEND, VSAFE, VWATCH - API
  6121.     AH = FAh
  6122.     DX = 5945h
  6123.     AL = function (00h-02h for VDEFEND, 00h-07h for VSAFE and VWATCH)
  6124. Return: varies by function
  6125. Note:    this API is identical to the API on INT 13/AH=FAh and INT 16/AH=FAh,
  6126.       so it is listed in its entirety only under INT 16/AX=FA00h and
  6127.       following
  6128. SeeAlso: INT 13/AX=FA00h,INT 16/AX=FA00h
  6129. --------D-21FB-------------------------------
  6130. INT 21 - DOS v2.11 - OEM FUNCTION
  6131.     AH = FBh
  6132. SeeAlso: AH=F8h"OEM",AH=FAh"OEM",AH=FCh"OEM"
  6133. --------T-21FB-------------------------------
  6134. INT 21 - DoubleDOS - TURN ON TASK SWITCHING
  6135.     AH = FBh
  6136. Return: task switching turned on
  6137. SeeAlso: AH=EBh"DoubleDOS",AH=F9h"DoubleDOS",AH=FAh"DoubleDOS"
  6138. SeeAlso: INT FB"DoubleDOS"
  6139. --------v-21FB-------------------------------
  6140. INT 21 - VIRUS - "Cinderella" - INSTALLATION CHECK
  6141.     AH = FBh
  6142. Return: AH = 00h if resident
  6143. SeeAlso: AH=F7h"VIRUS",AX=FB0Ah
  6144. --------v-21FB0A-----------------------------
  6145. INT 21 - VIRUS - "dBASE" - INSTALLATION CHECK
  6146.     AX = FB0Ah
  6147. Return: AX = 0AFBh if resident
  6148. SeeAlso: AH=FBh"VIRUS",AH=FCh"VIRUS"
  6149. --------D-21FC-------------------------------
  6150. INT 21 - DOS v2.11 - OEM FUNCTION
  6151.     AH = FCh
  6152. SeeAlso: AH=F8h"OEM",AH=FBh"OEM",AH=FDh"OEM"
  6153. --------T-21FC-------------------------------
  6154. INT 21 - DoubleDOS - GET VIRTUAL SCREEN ADDRESS
  6155.     AH = FCh
  6156. Return: ES = segment of virtual screen
  6157. Desc:    Determine the address of the virtual screen to which the program
  6158.       should write instead of the actual video memory, so that the
  6159.       multitasked programs do not interfere with each other's output.
  6160. Notes:    screen address can change if task-switching is on!!
  6161.     identical to AH=ECh
  6162. SeeAlso: AH=ECh"DoubleDOS",INT FC"DoubleDOS"
  6163. --------v-21FC-------------------------------
  6164. INT 21 - VIRUS - "Troi" - INSTALLATION CHECK
  6165.     AH = FCh
  6166. Return: AL = A5h if resident
  6167. SeeAlso: AX=FB0Ah"VIRUS",AH=FDh"VIRUS"
  6168. --------D-21FD-------------------------------
  6169. INT 21 - DOS v2.11 - OEM FUNCTION
  6170.     AH = FDh
  6171. SeeAlso: AH=F8h"OEM",AH=FCh"OEM",AH=FEh"OEM"
  6172. --------v-21FD-------------------------------
  6173. INT 21 - VIRUS - "Border" - INSTALLATION CHECK
  6174.     AH = FDh
  6175. Return: AH = 13h if resident
  6176. SeeAlso: AH=FCh"VIRUS",AH=FEh"VIRUS"
  6177. --------D-21FE-------------------------------
  6178. INT 21 - DOS v2.11 - OEM FUNCTION
  6179.     AH = FEh
  6180. SeeAlso: AH=F8h"OEM",AH=FDh"OEM",AH=FFh"OEM"
  6181. --------T-21FE-------------------------------
  6182. INT 21 - DoubleDOS - GIVE AWAY TIME TO OTHER TASKS
  6183.     AH = FEh
  6184.     AL = number of 55ms time slices to give away
  6185. Return: returns after giving away time slices
  6186. SeeAlso: AH=EEh"DoubleDOS",INT FE"DoubleDOS"
  6187. --------v-21FE-------------------------------
  6188. INT 21 - VIRUS - "483" - INSTALLATION CHECK
  6189.     AH = FEh
  6190. Return: AH = 00h if resident
  6191. SeeAlso: AH=FDh"VIRUS",AX=FE01h
  6192. --------v-21FE01-----------------------------
  6193. INT 21 - VIRUS - "Flip" - INSTALLATION CHECK
  6194.     AX = FE01h
  6195. Return: AX = 01FEh if resident
  6196. SeeAlso: AH=FEh"VIRUS",AX=FE02h
  6197. --------v-21FE02-----------------------------
  6198. INT 21 - VIRUS - "2468"/"Tequila" - INSTALLATION CHECK
  6199.     AX = FE02h
  6200. Return: AX = 01FDh if resident
  6201. SeeAlso: AX=FE01h,AX=FE03h,AX=FEDCh"VIRUS"
  6202. --------v-21FE03-----------------------------
  6203. INT 21 - VIRUS - "2468"/"Tequila" - DISPLAY VIRUS MESSAGE
  6204.     AX = FE03h
  6205. SeeAlso: AX=FE02h
  6206. --------d-21FEDC-----------------------------
  6207. INT 21 - PCMag PCMANAGE/DCOMPRES - INSTALLATION CHECK
  6208.     AX = FEDCh
  6209. Return: AX = CDEFh if installed
  6210. Program: the PCMANAGE/DCOMPRES combination from PC Magazine permits
  6211.       infrequently-used files to be compressed to save space and
  6212.       transparently expanded when accessed
  6213. SeeAlso: AH=DCh,INT 2D/AL=10h"dLite"
  6214. --------v-21FEDC-----------------------------
  6215. INT 21 - VIRUS - "Black Monday" - INSTALLATION CHECK
  6216.     AX = FEDCh
  6217. Return: AL = DCh if resident
  6218. SeeAlso: AX=FE02h,AH=FFh"VIRUS"
  6219. --------D-21FF-------------------------------
  6220. INT 21 - DOS v2.11 - OEM FUNCTION
  6221.     AH = FFh
  6222. SeeAlso: AH=F8h"OEM",AH=FEh"OEM"
  6223. --------K-21FF-------------------------------
  6224. INT 21 - CED (Command EDitor) - INSTALLABLE COMMANDS
  6225.     AH = FFh
  6226.     AL = subfunction
  6227.         00h add installable command
  6228.            BL = mode - bit 0 = 1 callable from DOS prompt
  6229.                bit 1 = 1 callable from application
  6230.            DS:SI -> CR-terminated command name
  6231.            ES:DI -> FAR routine entry point
  6232.         01h remove installable command
  6233.            DS:SI -> CR-terminated command name
  6234.         02h reserved, may be used to test for CED installation
  6235. Return: CF clear if successful
  6236.     CF set on error
  6237.         AX = 01h invalid function
  6238.          02h command not found (subfunction 01h only)
  6239.          08h insufficient memory (subfunction 00h only)
  6240.          0Eh bad data (subfunction 00h only)
  6241.     AH = FFh if CED not installed
  6242. Program: CED is a shareware DOS command-line enhancer by Christopher J. Dunford
  6243. SeeAlso: AX=0A00h
  6244. --------E-21FF-------------------------------
  6245. INT 21 - DJ GO32.EXE 80386+ DOS extender - DOS EXTENSIONS
  6246.     AH = FFh
  6247.     AL = function
  6248.         01h create file
  6249.         02h open file
  6250.         03h get file statistics
  6251.         04h get time of day
  6252.         05h set time of day
  6253.         06h stat
  6254.         07h system
  6255. Program: GO32.EXE is a DOS extender included as part of the 80386 port of the
  6256.       GNU C/C++ compiler by DJ Delorie and distributed as DJGPP
  6257. SeeAlso: INT 10/AH=FFh"GO32"
  6258. --------K-21FF-------------------------------
  6259. INT 21 - DOSED.COM - INSTALLATION CHECK
  6260.     AH = FFh
  6261.     DS:SI -> "DOSED"
  6262.     ES = 0000h
  6263. Return: ES:DI -> "DOSED" if installed
  6264. Program: DOSED is a free DOS commandline editor/history buffer by Sverre H.
  6265.       Huseby
  6266. --------v-21FF-------------------------------
  6267. INT 21 - VIRUS - "Sunday", "Tumen 0.5", "Hero" - INSTALLATION CHECK
  6268.     AH = FFh
  6269. Return: AH = 00h if "Tumen 0.5" or "Hero" resident
  6270.     AX = 0400h if "Sunday" resident
  6271. SeeAlso: AX=FEDCh"VIRUS",AX=FF0Fh
  6272. --------E-21FF-------------------------------
  6273. INT 21 UP - Rational Systems DOS/4GW - API
  6274.     AH = FFh
  6275.     DH = function (00h-17h) (see also separate entries below)
  6276.     DL = subfunction or argument
  6277. Return: CF clear if valid function number
  6278.         AX = status???
  6279.     CF set if invalid function
  6280. SeeAlso: INT 15/AX=BFDCh
  6281. --------E-21FF--DH02-------------------------
  6282. INT 21 UP - Rational Systems DOS/4GW - SET ???
  6283.     AH = FFh
  6284.     DH = 02h
  6285.     DL = ???
  6286. Return: CF clear
  6287. --------E-21FF--DH05-------------------------
  6288. INT 21 UP - Rational Systems DOS/4GW - ???
  6289.     AH = FFh
  6290.     DH = 05h
  6291.     BX = ???
  6292. Return: ???
  6293. --------E-21FF--DH06-------------------------
  6294. INT 21 UP - Rational Systems DOS/4GW - ???
  6295.     AH = FFh
  6296.     DH = 06h
  6297.     BX = ???
  6298. Return: ???
  6299. --------E-21FF--DH07-------------------------
  6300. INT 21 UP - Rational Systems DOS/4GW - ???
  6301.     AH = FFh
  6302.     DH = 07h
  6303.     BX = ???
  6304. Return: ???
  6305. --------E-21FF--DH08-------------------------
  6306. INT 21 UP - Rational Systems DOS/4GW - ???
  6307.     AH = FFh
  6308.     DH = 08h
  6309.     BX = ???
  6310.     CX = ???
  6311.     ES = ???
  6312. Return: ???
  6313. --------E-21FF--DH09-------------------------
  6314. INT 21 UP - Rational Systems DOS/4GW - GET ???
  6315.     AH = FFh
  6316.     DH = 09h
  6317. Return: ES:BX -> ???
  6318. --------E-21FF--DH0A-------------------------
  6319. INT 21 UP - Rational Systems DOS/4GW - ???
  6320.     AH = FFh
  6321.     DH = 0Ah
  6322.     AL = ???
  6323.     BX = ???
  6324.     CX = ???
  6325. Return: ES = ??? or 0000h
  6326. --------E-21FF--DH0B-------------------------
  6327. INT 21 UP - Rational Systems DOS/4GW - ???
  6328.     AH = FFh
  6329.     DH = 0Bh
  6330.     AL = ???
  6331.     BX = ???
  6332.     CX = ???
  6333. Return: ???
  6334. --------E-21FF--DH0C-------------------------
  6335. INT 21 UP - Rational Systems DOS/4GW - GET/SET ???
  6336.     AH = FFh
  6337.     DH = 0Ch
  6338.     DL = ??? (00h or 01h)
  6339. Return: CF clear if successful
  6340.         AL = previous value of ???
  6341.     CF set on error (DL out of range)
  6342.         AX = FFFFh
  6343. --------E-21FF--DH0D-------------------------
  6344. INT 21 UP - Rational Systems DOS/4GW - ???
  6345.     AH = FFh
  6346.     DH = 0Dh
  6347.     ???
  6348. Return: ???
  6349. --------E-21FF--DH0E-------------------------
  6350. INT 21 UP - Rational Systems DOS/4GW - ???
  6351.     AH = FFh
  6352.     DH = 0Eh
  6353. Return: DX:AX -> XBRK structure (see INT 15/AX=BF02h)
  6354.     BX = ???
  6355.     CX = ???
  6356. SeeAlso: INT 15/AX=BF02h
  6357. --------E-21FF--DH0F-------------------------
  6358. INT 21 UP - Rational Systems DOS/4GW - ???
  6359.     AH = FFh
  6360.     DH = 0Fh
  6361.     ???
  6362. Return: ???
  6363. --------E-21FF--DH10-------------------------
  6364. INT 21 UP - Rational Systems DOS/4GW - ???
  6365.     AH = FFh
  6366.     DH = 10h
  6367.     AL = ???
  6368.     BX = ???
  6369.     CX = ???
  6370.     DI = ???
  6371.     SI = ???
  6372. Return: ???
  6373. Note:    among other things, frees two memory blocks via INT 21/AH=49h
  6374. --------E-21FF--DH11-------------------------
  6375. INT 21 UP - Rational Systems DOS/4GW - NOP
  6376.     AH = FFh
  6377.     DH = 11h
  6378. --------E-21FF--DH12-------------------------
  6379. INT 21 UP - Rational Systems DOS/4GW - EXCHANGE ??? POINTERS
  6380.     AH = FFh
  6381.     DH = 12h
  6382.     DS:SI -> new ???
  6383.     ES:DI -> new ???
  6384. Return: DS:SI -> previous ???
  6385.     ES:DI -> previous ???
  6386. --------E-21FF--DH13-------------------------
  6387. INT 21 UP - Rational Systems DOS/4GW - ???
  6388.     AH = FFh
  6389.     DH = 13h
  6390.     AL = ???
  6391.     ES = ???
  6392. Return: ???
  6393. --------E-21FF--DH14-------------------------
  6394. INT 21 UP - Rational Systems DOS/4GW - ???
  6395.     AH = FFh
  6396.     DH = 14h
  6397.     BX = ???
  6398.     CX = ???
  6399. Return: CF clear
  6400.         AX = ???
  6401.         DX = ???
  6402. --------E-21FF--DH15-------------------------
  6403. INT 21 UP - Rational Systems DOS/4GW - GET ??? FUNCTIONS
  6404.     AH = FFh
  6405.     DH = 15h
  6406. Return: CF clear
  6407.         DX:AX -> FAR function for ???
  6408.         CX:BX -> FAR function for ???
  6409.         SI:DI -> FAR function for ???
  6410. --------E-21FF--DH16-------------------------
  6411. INT 21 UP - Rational Systems DOS/4GW - GET ???
  6412.     AH = FFh
  6413.     DH = 16h
  6414. Return: AX = ???
  6415. --------E-21FF--DH17-------------------------
  6416. INT 21 UP - Rational Systems DOS/4GW - ???
  6417.     AH = FFH
  6418.     DH = 17h
  6419.     AL = ???
  6420.     DL = ???
  6421. Return: ???
  6422. --------N-21FF00-----------------------------
  6423. INT 21 - TopWare Network OS v5.10+ - GET SYSTEM INFORMATION
  6424.     AX = FF00h
  6425.     CL = what to get
  6426.         00h user information
  6427.         01h drive mapping
  6428.         02h printer server(s)
  6429.         05h local DOS drive number
  6430. Return: ES:BX -> desired information (see below)
  6431. Program: TopWare Network Operating System is manufactured by Grand Computer
  6432.       Company
  6433. Note:    this call is only supported on Workstations, not on the server
  6434. SeeAlso: AX=FF04h,INT 2F/AX=FF00h
  6435.  
  6436. Format of user information:
  6437. Offset    Size    Description
  6438.  00h    BYTE    node ID
  6439.  01h 15 BYTEs    user name
  6440.  10h    WORD    user number
  6441.  12h    BYTE    group number
  6442.  
  6443. Format of drive mapping [array]:
  6444. Offset    Size    Description
  6445.  00h    BYTE    bits 6-0: drive number (1=A:, etc.)
  6446.         bit 7: this is a server drive
  6447.  01h  3 BYTEs    mapping drive (for example, "C:\")
  6448.  04h 64 BYTEs    current directory
  6449. --------E-21FF00DX0078-----------------------
  6450. INT 21 - Rational Systems DOS/4G - INSTALLATION CHECK
  6451.     AX = FF00h
  6452.     DX = 0078h
  6453. Return: AL <> 00h if installed
  6454.         GS = segment of kernel if nonzero
  6455. SeeAlso: INT 15/AX=BF02h
  6456. --------N-21FF04-----------------------------
  6457. INT 21 - TopWare Network OS v5.10+ - GET/SET DEFAULT FILE PROTECTION ATTRIBS
  6458.     AX = FF04h
  6459.     CL = function
  6460.         00h get protections
  6461.         Return: BH = read attribute
  6462.             BL = write attribute
  6463.         01h set protections
  6464.         BH = read attribute
  6465.         BL = write attribute
  6466. Note:    this function is supported only on Workstations, not on the server
  6467. SeeAlso: AX=FF00h"TopWare"
  6468. --------v-21FF0F-----------------------------
  6469. INT 21 - FLU_SHOT+ v1.83 - INSTALLATION CHECK
  6470.     AX = FF0Fh
  6471. Return: AX = 0101h if resident
  6472. Program: FLU_SHOT+ is an antivirus/antitrojan program by Ross M. Greenberg and
  6473.       Software Concepts Design
  6474. Note:    the "PSQR/1720" virus calls this function to determine whether
  6475.       FLU_SHOT+ is present
  6476. SeeAlso: AH=FFh"VIRUS",AX=FF10h
  6477. --------v-21FF10-----------------------------
  6478. INT 21 - VIRUS - "Twins" - INSTALLATION CHECK
  6479.     AX = FF10h
  6480. Return: AL = 07h if resident
  6481. SeeAlso: AX=FF0Fh,AX=FFFEh
  6482. --------N-21FF80DHFF-------------------------
  6483. INT 21 - TopWare Network OS v5.10+ - SEND MESSAGE
  6484.     AX = FF80h
  6485.     DH = FFh
  6486.     DL = destination address (FFh for broadcast)
  6487.     CX = message length (max 2000)
  6488.     DS:SI -> message to be sent (see below)
  6489. Return: nothing
  6490. Program: TopWare Network Operating System is manufactured by Grand Computer
  6491.       Company
  6492. Notes:    this function is supported on both Workstations and the server
  6493.     there is no guarantee that the message will be received correctly, or
  6494.       at all, by the destination
  6495.  
  6496. Format of message:
  6497. Offset    Size    Description
  6498.  00h    BYTE    type code
  6499.         07h TopSend
  6500.         11h user application
  6501.         other reserved for TopWare
  6502.  01h    var    data
  6503. Note:    sending messages with a type code other than 11h will cause
  6504.       unpredictable results
  6505. --------N-21FF82-----------------------------
  6506. INT 21 - TopWare Network OS v5.10+ - GET STATION ADDRESS
  6507.     AX = FF82h
  6508. Return: AL = station address
  6509. Note:    this function is supported on both Workstations and the server
  6510. SeeAlso: AX=FF91h
  6511. --------N-21FF8C-----------------------------
  6512. INT 21 - TopWare Network OS v5.10+ - GET STATUS OF TopShow/Emulated FUNCTION
  6513.     AX = FF8Ch
  6514.     BL = subfunction
  6515.         00h get TopShow status
  6516.         FFh get Emulated status
  6517. Return: AL = status
  6518.         00h not installed
  6519.         01h already installed
  6520. --------N-21FF8D-----------------------------
  6521. INT 21 - TopWare Network OS v5.10+ - CALL TopShow FUNCTION
  6522.     AX = FF8Dh
  6523.     CH = monochrome flag (01h monochrome, 00h not monochrome)
  6524.     CL = screen mode of station to be viewed (see below)
  6525.     BL = graphic page number for monochrome
  6526. Return: AL = status (00h successful, else failed)
  6527. SeeAlso: AX=FF8Eh,AX=FFCFh
  6528.  
  6529. Values for screen mode:
  6530.  00h    text mode
  6531.  01h    720x348
  6532.  02h    640x408
  6533.  03h    720x352
  6534.  04h    640x390
  6535.  05h    reserved
  6536. --------N-21FF8E-----------------------------
  6537. INT 21 - TopWare Network OS v5.10+ - CANCEL TopShow FUNCTION
  6538.     AX = FF8Eh
  6539. Return: AL = 00h (successful, TopShow removed)
  6540. SeeAlso: AX=FF8Dh
  6541. --------N-21FF91-----------------------------
  6542. INT 21 - TopWare Network OS v5.10+ - GET FILE SERVER STATION NUMBER
  6543.     AX = FF91h
  6544. Return: AL = station number of file server
  6545. SeeAlso: AX=FF82h
  6546. --------N-21FF97-----------------------------
  6547. INT 21 - TopWare Network OS v5.10+ - GET MAXIMUM STATION NUMBER (server only)
  6548.     AX = FF97h
  6549. Return: AL = maximum station number
  6550. SeeAlso: AX=FF98h
  6551. --------N-21FF98-----------------------------
  6552. INT 21 - TopWare Network OS v5.10+ - GET MAXIMUM FILE NUMBER (server only)
  6553.     AX = FF98h
  6554. Return: AL = maximum file
  6555. SeeAlso: AX=FF97h
  6556. --------N-21FF9A-----------------------------
  6557. INT 21 - TopWare Network OS v5.10+ - RECEIVE OF USER-DEFINED PACKETS
  6558.     AX = FF9Ah
  6559.     ES:BX -> buffer for user-defined packet (see below)
  6560. Return: nothing
  6561.  
  6562. Format of user-defined packet:
  6563. Offset    Size    Description
  6564.  00h    BYTE    FFh
  6565.  01h    WORD    (call) length of data field plus 3
  6566.         (return) length of received message (0000h if none received)
  6567.  03h    BYTE    destination ID (FFh for broadcast message)
  6568.  04h    BYTE    sending station ID
  6569.  05h    BYTE    type code (11h; all other codes reserved for TopWare)
  6570.  06h  N BYTEs    received message
  6571. --------N-21FF9F-----------------------------
  6572. INT 21 - TopWare Network OS v5.10+ - ENABLE/DISABLE TopTerm SERVICE
  6573.     AX = FF9Fh
  6574.     CL = new state (00h disable [disregard TopTerm packets], 01h enable)
  6575. Return: AL = status (00h successful, FFh failed)
  6576. Note:    this function is only supported by Workstations, not the server
  6577. --------N-21FFB0-----------------------------
  6578. INT 21 - TopWare Network OS v5.10+ - GET SPOOLER PRINTING PRIORITY
  6579.     AX = FFB0h
  6580. Return: AL = priority status (see below)
  6581. SeeAlso: AX=FFB1h
  6582.  
  6583. Bitfields for printer priority status:
  6584. Bit(s)    Description
  6585.  2    LPT3 has high priority
  6586.  1    LPT2 has high priority
  6587.  0    LPT1 has high priority
  6588. --------N-21FFB1-----------------------------
  6589. INT 21 - TopWare Network OS v5.10+ - SET SPOOLER PRINTING PRIORITY
  6590.     AX = FFB1h
  6591.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6592.     CH = new priority (00h normal, 01h high)
  6593. Return: nothing
  6594. SeeAlso: AX=FFB0h
  6595. --------N-21FFB3-----------------------------
  6596. INT 21 - TopWare Network OS v5.10+ - GET DEFAULT START-OF-JOB FORMFEED STATUS
  6597.     AX = FFB3h
  6598. Return: AL = starting formfeed status (see below)
  6599. SeeAlso: AX=FFB4h,AX=FFC0h
  6600.  
  6601. Bitfields for printer start-of-job formfeed status:
  6602. Bit(s)    Description
  6603.  2    LPT3 has formfeed enabled
  6604.  1    LPT2 has formfeed enabled
  6605.  0    LPT1 has formfeed enabled
  6606. --------N-21FFB4-----------------------------
  6607. INT 21 - TopWare Network OS v5.10+ - SET DEFAULT START-OF-JOB FORMFEED STATUS
  6608.     AX = FFB4h
  6609.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6610.     CH = new formfeed status (00h off, 01h on)
  6611. Return: nothing
  6612. SeeAlso: AX=FFB3h,AX=FFC1h
  6613. --------N-21FFBB-----------------------------
  6614. INT 21 - TopWare Network OS v5.10+ - GET PRINTER SERVER STATION ADDRESS
  6615.     AX = FFBBh
  6616.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6617. Return: AL = current mapping printer server station number
  6618.         00h if local
  6619. SeeAlso: AX=FFBCh
  6620. --------N-21FFBC-----------------------------
  6621. INT 21 - TopWare Network OS v5.10+ - CANCEL TopShow FUNCTION
  6622.     AX = FFBCh
  6623.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6624.     CL = printer server station address or 00h for local printer
  6625. Return: AL = status (00h successful, else failed)
  6626. SeeAlso: AX=FFBBh
  6627. --------N-21FFBD-----------------------------
  6628. INT 21 - TopWare Network OS v5.10+ - GET CURRENT AUTOPRINT TIME
  6629.     AX = FFBDh
  6630.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6631. Return: AX = current AutoPrint timeout in clock ticks
  6632. SeeAlso: AX=FFBEh
  6633. --------N-21FFBE-----------------------------
  6634. INT 21 - TopWare Network OS v5.10+ - SET AUTOPRINT TIME
  6635.     AX = FFBEh
  6636.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6637.     BX = timeout in clock ticks
  6638. SeeAlso: AX=FFBDh
  6639. --------N-21FFBF-----------------------------
  6640. INT 21 - TopWare Network OS v5.10+ - GET LOGON USER INFORMATION
  6641.     AX = FFBFh
  6642.     DX:BX -> buffer for logon information (see below)
  6643. Return: AL = status (00h successful, else failed)
  6644.     AH = number of logged-in stations
  6645.  
  6646. Format of logon information:
  6647. Offset    Size    Description
  6648.  00h    BYTE    station address
  6649.  01h 15 BYTEs    username
  6650. --------N-21FFC0-----------------------------
  6651. INT 21 - TopWare Network OS v5.10+ - GET DEFAULT END-OF-JOB FORMFEED STATUS
  6652.     AX = FFC0h
  6653. Return: AL = ending formfeed status (see below)
  6654. SeeAlso: AX=FFB3h,AX=FFC1h
  6655.  
  6656. Bitfields for printer end-of-job formfeed status:
  6657. Bit(s)    Description
  6658.  2    LPT3 has formfeed enabled
  6659.  1    LPT2 has formfeed enabled
  6660.  0    LPT1 has formfeed enabled
  6661. --------N-21FFC1-----------------------------
  6662. INT 21 - TopWare Network OS v5.10+ - SET DEFAULT END-OF-JOB FORMFEED STATUS
  6663.     AX = FFC1h
  6664.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6665.     CH = new formfeed status (00h off, 01h on)
  6666. Return: nothing
  6667. SeeAlso: AX=FFB4h,AX=FFC0h
  6668. --------N-21FFC2-----------------------------
  6669. INT 21 - TopWare Network OS v5.10+ - GET DEFAULT COPIES OF SPOOLING FILE
  6670.     AX = FFC2h
  6671.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6672. Return: AL = default number of copies printed
  6673. SeeAlso: AX=FFC7h
  6674. --------N-21FFC3-----------------------------
  6675. INT 21 - TopWare Network OS v5.10+ - GET SHARING STATUS OF PRINTER SERVER
  6676.     AX = FFC3h
  6677. Return: AL = sharing status of printers (see below)
  6678.         FFh if not a printer server
  6679.  
  6680. Bitfields for printer sharing status:
  6681. Bit(s)    Description
  6682.  2    LPT3 is shared
  6683.  1    LPT2 is shared
  6684.  0    LPT1 is shared
  6685. --------N-21FFC4-----------------------------
  6686. INT 21 - TopWare Network OS v5.10+ - GET/SET LPT PORT ON PRINT SERVER
  6687.     AX = FFC4h
  6688.     BL = subfunction
  6689.         00h get
  6690.         Return: AL = mapped printer port on print server
  6691.         01h set
  6692.         CL = network printer port (00h LPT1, 01h LPT2, 02h LPT3)
  6693.     CH = local printer (00h LPT1, 01h LPT2, 02h LPT3)
  6694. --------N-21FFC6-----------------------------
  6695. INT 21 - TopWare Network OS v5.10+ - SET DEFAULT PRINT FILE HEADER
  6696.     AX = FFC6h
  6697.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6698.     CL = header state (00h off, 01h on)
  6699. SeeAlso: AX=FFC8h
  6700. --------N-21FFC7-----------------------------
  6701. INT 21 - TopWare Network OS v5.10+ - SET DEFAULT PRINT COPIES
  6702.     AX = FFC7h
  6703.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6704.     CL = new default number of copies to print
  6705. SeeAlso: AX=FFC2h
  6706. --------N-21FFC8-----------------------------
  6707. INT 21 - TopWare Network OS v5.10+ - GET DEFAULT PRINT FILE HEADER STATUS
  6708.     AX = FFC8h
  6709. Return: AL = header status for printers (see below)
  6710. SeeAlso: AX=FFC6h
  6711.  
  6712. Bitfields for print header status:
  6713. Bit(s)    Description
  6714.  2    LPT3 has headers enabled
  6715.  1    LPT2 has headers enabled
  6716.  0    LPT1 has headers enabled
  6717. --------N-21FFC9-----------------------------
  6718. INT 21 - TopWare Network OS v5.10+ - SET PRINTER SHARING
  6719.     AX = FFC9h
  6720.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6721.     CL = new sharing state (00h off, 01h on)
  6722. Return: AL = status (00h successful, FFh not printer server)
  6723. --------N-21FFCA-----------------------------
  6724. INT 21 - TopWare Network OS v5.10+ - MOVE FILE FROM ONE PRINT SERVER TO ANOTHER
  6725.     AX = FFCAh
  6726.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6727.     CL = original printer server station address
  6728.     BL = target printer server station address
  6729.     DS:DX -> filename (12 bytes)
  6730. Return: AL = status (00h successful, else failed)
  6731. SeeAlso: AX=FFCBh
  6732. --------N-21FFCB-----------------------------
  6733. INT 21 - TopWare Network OS v5.10+ - DELETE FILE FROM SPOOLING QUEUE
  6734.     AX = FFCBh
  6735.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6736.     CL = printer server station address
  6737.     DS:DX -> filename (12 bytes)
  6738. Return: AL = status (00h successful, else failed)
  6739. SeeAlso: AX=FFCAh
  6740. --------N-21FFCC-----------------------------
  6741. INT 21 - TopWare Network OS v5.10+ - GET PRINT SERVER'S SPOOLING QUEUE STATUS
  6742.     AX = FFCCh
  6743.     CL = printer server station address
  6744.     BH = start item number of spooling file for print server
  6745.     BL = number of the item to be retrieved
  6746.     DS:DX -> buffer for queued file information (see below)
  6747. Return: AL = status
  6748.         00h successful
  6749.         AH = number of spool files
  6750.         DS:DX buffer filled
  6751.         nonzero failed
  6752.  
  6753. Format of queued file information buffer [16-item array, one element]:
  6754. Offset    Size    Description
  6755.  00h 12 BYTEs    filename
  6756.  0Ch    DWORD    size
  6757.  10h    WORD    date
  6758.  12h    WORD    time
  6759.  14h 15 BYTEs    username
  6760.  23h    BYTE    count
  6761.  24h    BYTE    flag: header
  6762.  25h    BYTE    print number
  6763. --------N-21FFCD-----------------------------
  6764. INT 21 - TopWare Network OS v5.10+ - GET STATUS OF ALL PRINT SERVERS
  6765.     AX = FFCDh
  6766.     DS:DX -> buffer for server status (see below)
  6767. Return: AL = status
  6768.         00h successful
  6769.         AH = number of print servers
  6770.         nonzero failed
  6771.  
  6772. Format of server status:
  6773. Offset    Size    Description
  6774.  00h    BYTE    station address
  6775.  01h 15 BYTEs    username
  6776.  10h    BYTE    flag: 01h printer is shared, 00h sharing disabled
  6777.  11h    BYTE    number of files pending in queue
  6778. --------N-21FFCF-----------------------------
  6779. INT 21 - TopWare Network OS v5.10+ - CALL TopLook FUNCTION
  6780.     AX = FFCFh
  6781.     DH = page number (0-2, 2 is text mode)
  6782.     DL = type
  6783.         00h look at specific screen
  6784.         01h AutoLook on
  6785.         FFh AutoLook off
  6786.     BH = station number wishing to look
  6787.     BL = station number to be looked at
  6788.     CH = monochrome flag (01h monochrome, 00h not monochrome)
  6789.     CL = screen mode (see AX=FF8Dh)
  6790. Return: AL = status (00h successful, nonzero failed)
  6791. SeeAlso: AX=FF8Dh
  6792. --------N-21FFD6-----------------------------
  6793. INT 21 - TopWare Network OS v5.10+ - GET KEYCARD SERIAL NUMBER AND MAX USERS
  6794.     AX = FFD6h
  6795.     ES:BX -> 12-byte buffer for keycard serial number
  6796. Return: CX = maximum number of users
  6797.     ES:BX buffer filled
  6798. --------N-21FFD7-----------------------------
  6799. INT 21 - TopWare Network OS v5.10+ - GET NETWORK PROTECTION ATTRIBUTES STATUS
  6800.     AX = FFD7h
  6801. Return: AL = status (00h disabled, 01h enabled)
  6802. --------N-21FFE3DL00-------------------------
  6803. INT 21 - TopWare Network OS v5.10+ - INITIATE ACCESS TO SPECIFIC PACKET TYPE
  6804.     AX = FFE3h
  6805.     DL = 00h
  6806.     BX = packet type for Ethernet header (IP = 0800h, ARP = 0806h, etc.)
  6807.     ES:DI -> receive routine (see below)
  6808. Return: CF clear if successful
  6809.         AX = handle number
  6810.     CF set on error
  6811.         DH = error code (03h,05h,09h,0Ah,11h) (see below)
  6812. SeeAlso: AX=FFE3h/DL=01h
  6813.  
  6814. Values for error code:
  6815.  01h    invalid handle
  6816.  03h    no interfaces of the specified type found
  6817.  05h    bad packet type
  6818.  09h    insufficient space
  6819.  0Ah    type already being accessed
  6820.  0Ch    unable to send packet (usually hardware error)
  6821.  11h    invalid function
  6822.  
  6823. Receive routine is called with:
  6824.     AX = function
  6825.         0000h request packet buffer
  6826.         CX = packet size
  6827.         Return: ES:DI -> buffer or 0000h:0000h to discard packet
  6828.         0001h packet copied
  6829.         CX = packet size
  6830.         DS:SI -> copied packet (same as returned ES:DI above)
  6831. --------N-21FFE3DL01-------------------------
  6832. INT 21 - TopWare Network OS v5.10+ - END ACCESS TO SPECIFIC PACKET TYPE
  6833.     AX = FFE3h
  6834.     DL = 01h
  6835.     BX = handle returned by AX=FFE3h/DL=00h
  6836. Return: CF clear if successful
  6837.     CF set on error
  6838.         DH = error code (01h,11h) (see AX=FFE3h/DL=00h)
  6839. Note:    the specified access handle will no longer be valid after this call
  6840. SeeAlso: AX=FFE3h/DL=00h
  6841. --------N-21FFE3DL02-------------------------
  6842. INT 21 - TopWare Network OS v5.10+ - SEND PACKET
  6843.     AX = FFE3h
  6844.     DL = 02h
  6845.     CX = length of data buffer
  6846.     DS:SI -> buffer containing data
  6847. Return: CF clear if successful
  6848.     CF set on error
  6849.         DH = error code (0Ch,11h) (see AX=FFE3h/DL=00h)
  6850. --------N-21FFE3DL03-------------------------
  6851. INT 21 - TopWare Network OS v5.10+ - GET LOCAL NETWORK INTERFACE ADDRESS
  6852.     AX = FFE3h
  6853.     DL = 03h
  6854.     ES:DI -> 6-byte buffer for address
  6855. SeeAlso: AX=FFE3h/DL=00h
  6856. --------v-21FFFE-----------------------------
  6857. INT 21 - VIRUS - "08/15"/"Many Fingers" - INSTALLATION CHECK
  6858.     AX = FFFEh
  6859. Return: AX = 0815h if resident
  6860. SeeAlso: AX=FF10h,AX=FFFFh
  6861. --------v-21FFFF-----------------------------
  6862. INT 21 - VIRUS - "Ontario", "Year 1992"/"B1M92" - INSTALLATION CHECK
  6863.     AX = FFFFh
  6864. Return: AX = 0000h if "Ontario" resident
  6865.     AX = 1992h if "Year 1992"/"B1M92" resident
  6866. SeeAlso: AX=FF0Fh,AX=FFFFh/CX=0000h,INT 6B"VIRUS"
  6867. --------v-21FFFFCX0000-----------------------
  6868. INT 21 - VIRUS - "Revenge" - INSTALLATION CHECK
  6869.     AX = FFFFh
  6870.     CX = 0000h
  6871. Return: CX = 0006h if resident
  6872. SeeAlso: AX=FFFFh,INT 6B"VIRUS"
  6873. --------D-22---------------------------------
  6874. INT 22 - DOS 1+ - PROGRAM TERMINATION ADDRESS
  6875. Desc:    this vector specifies the address of the routine which is to be given
  6876.       control after a program is terminated; it should never be called
  6877.       directly, since it does not point at an interrupt handler
  6878. Notes:    this vector is restored from the DWORD at offset 0Ah in the PSP during
  6879.       termination, and then a FAR JMP is performed to the address in INT 22
  6880.     normally points at the instruction immediately following INT 21/AH=4Bh
  6881.       call which loaded the current program
  6882. SeeAlso: INT 20,INT 21/AH=00h,INT 21/AH=31h,INT 21/AH=4Ch
  6883. --------G-22---------------------------------
  6884. INT 22 - COMTROL HOSTESS i/ISA DEBUGGER - CHANGE FIRMWARE DEBUGGING PORT
  6885.     AL = new firmware debugging port
  6886. Return: ???
  6887. SeeAlso: INT 21"COMTROL",INT 23"COMTROL"
  6888. --------D-23---------------------------------
  6889. INT 23 - DOS 1+ - CONTROL-C/CONTROL-BREAK HANDLER
  6890. ---DOS 1.x---
  6891. Return: AH = 00h abort program
  6892.     if all registers preserved, restart DOS call
  6893. ---DOS 2+---
  6894.     CF clear
  6895. Return: all registers preserved
  6896.     return via RETF or RETF 2 with CF set
  6897.         DOS will abort program with errorlevel 0
  6898.     else (RETF/RETF 2 with CF clear or IRET)
  6899.         interrupted DOS call is restarted
  6900. Notes:    this interrupt is invoked whenever DOS detects a ^C or ^Break; it
  6901.       should never be called directly
  6902.     MS-DOS 1.25 also invokes INT 23 on a divide overflow (INT 00)
  6903.     DOS remembers the stack pointer before calling INT 23, and if it is
  6904.       not the same on return, pops and discards the top word; this is what
  6905.       permits a return with RETF as well as IRET or RETF 2
  6906.     any DOS call may safely be made within the INT 23 handler, although
  6907.       the handler must check for a recursive invocation if it does
  6908.       call DOS
  6909. SeeAlso: INT 1B
  6910. --------G-23---------------------------------
  6911. INT 23 - COMTROL HOSTESS i/ISA DEBUGGER - GET CONFIGURATION INFORMATION
  6912.     AL = query type
  6913.         00h get old config map
  6914.         Return: AX = old config map
  6915.         01h get dual-ported RAM map
  6916.         Return: BX:AX = dual-ported RAM map
  6917.         02h get SCC port map
  6918.         Return: BX:AX = SCC port map
  6919. SeeAlso: INT 22"COMTROL",INT 26"COMTROL"
  6920. --------D-24---------------------------------
  6921. INT 24 - DOS 1+ - CRITICAL ERROR HANDLER
  6922. Note:    invoked when a critical (usually hardware) error is encountered; should
  6923.       never be called directly
  6924. SeeAlso: INT 21/AH=95h
  6925.  
  6926. Critical error handler is invoked with:
  6927.     AH = type and processing flags
  6928.         bit 7 clear = disk I/O error
  6929.           set    = -- if block device, bad FAT image in memory
  6930.               -- if char device, error code in DI
  6931.         bit 6  unused
  6932.         bit 5 = 1 if Ignore allowed, 0 if not (DOS 3+)
  6933.         bit 4 = 1 if Retry allowed, 0 if not (DOS 3+)
  6934.         bit 3 = 1 if Fail allowed, 0 if not (DOS 3+)
  6935.         bit 2 \ disk area of error    00 = DOS area  01 = FAT
  6936.         bit 1 /            10 = root dir  11 = data area
  6937.         bit 0 = 1 if write, 0 if read
  6938.     AL = drive number if AH bit 7 clear
  6939.     BP:SI -> device driver header (BP:[SI+4] bit 15 set if char device)
  6940.     DI low byte contains error code if AH bit 7 set (see below)
  6941.     STACK:    DWORD    return address for INT 24 call
  6942.         WORD    flags pushed by INT 24
  6943.         WORD    original AX on entry to INT 21
  6944.         WORD    BX
  6945.         WORD    CX
  6946.         WORD    DX
  6947.         WORD    SI
  6948.         WORD    DI
  6949.         WORD    BP
  6950.         WORD    DS
  6951.         WORD    ES
  6952.         DWORD    return address for INT 21 call
  6953.         WORD    flags pushed by INT 21
  6954. Handler must return:
  6955.     AL = action code
  6956.         00h ignore error and continue processing request
  6957.         01h retry operation
  6958.         02h terminate program through the equivalent of INT 21/AH=4Ch
  6959.             (INT 20h for DOS 1.x)
  6960.         03h fail system call in progress
  6961.     SS,SP,DS,ES,BX,CX,DX preserved
  6962. Notes:    the only DOS calls the handler may make are INT 21/AH=01h-0Ch,30h,59h
  6963.     if the handler returns to the application by popping the stack, DOS
  6964.       will be in an unstable state until the first call with AH > 0Ch
  6965.     for DOS 3.1+, IGNORE (AL=00h) is turned into FAIL (AL=03h) on network
  6966.       critical errors
  6967.     if IGNORE specified but not allowed, it is turned into FAIL
  6968.     if RETRY specified but not allowed, it is turned into FAIL
  6969.     if FAIL specified but not allowed, it is turned into ABORT
  6970.     (DOS 3+) if a critical error occurs inside the critical error handler,
  6971.       the DOS call is automatically failed
  6972.  
  6973. Values for critical error code:
  6974.  00h    write-protection violation attempted
  6975.  01h    unknown unit for driver
  6976.  02h    drive not ready
  6977.  03h    unknown command given to driver
  6978.  04h    data error (bad CRC)
  6979.  05h    bad device driver request structure length
  6980.  06h    seek error
  6981.  07h    unknown media type
  6982.  08h    sector not found
  6983.  09h    printer out of paper
  6984.  0Ah    write fault
  6985.  0Bh    read fault
  6986.  0Ch    general failure
  6987.  0Dh    (DOS 3+) sharing violation
  6988.  0Eh    (DOS 3+) lock violation
  6989.  0Fh    invalid disk change
  6990.  10h    (DOS 3+) FCB unavailable
  6991.  11h    (DOS 3+) sharing buffer overflow
  6992.  12h    (DOS 4+) code page mismatch
  6993.  13h    (DOS 4+) out of input
  6994.  14h    (DOS 4+) insufficient disk space
  6995. --------D-25---------------------------------
  6996. INT 25 - DOS 1+ - ABSOLUTE DISK READ (except partitions > 32M)
  6997.     AL = drive number (00h = A:, 01h = B:, etc)
  6998.     CX = number of sectors to read
  6999.     DX = starting logical sector number (0000h - highest sector on drive)
  7000.     DS:BX -> buffer for data
  7001. Return: CF clear if successful
  7002.     CF set on error
  7003.         AH = status
  7004.          80h device failed to respond (timeout)
  7005.          40h seek operation failed
  7006.          20h controller failed
  7007.          10h data error (bad CRC)
  7008.          08h DMA failure
  7009.          04h requested sector not found
  7010.          03h write-protected disk (INT 26 only)
  7011.          02h bad address mark
  7012.          01h bad command
  7013.         AL = error code (same as passed to INT 24 in DI)
  7014.         AX = 0207h if more than 64K sectors on drive -- use new-style call
  7015.     may destroy all other registers except segment registers
  7016. Notes:    original flags are left on stack, and must be popped by caller
  7017.     this call bypasses the DOS filesystem
  7018.     examination of CPWIN386.CPL indicates that if this call fails with
  7019.       error 0408h on an old-style (<32M) call, one should retry the
  7020.       call with the high bit of the drive number in AL set
  7021. BUGS:    DOS 3.1 through 3.3 set the word at ES:[BP+1Eh] to FFFFh if AL is an
  7022.       invalid drive number
  7023.     DR-DOS 3.41 will return with a jump instead of RETF, leaving the
  7024.       wrong number of bytes on the stack; use the huge-partition version
  7025.       (INT 25/CX=FFFFh) for all partition sizes under DR-DOS 3.41
  7026. SeeAlso: INT 13/AH=02h,INT 25/CX=FFFFh,INT 26
  7027. --------D-25----CXFFFF-----------------------
  7028. INT 25 - DOS 3.31+ - ABSOLUTE DISK READ (>32M hard-disk partition)
  7029.     CX = FFFFh
  7030.     AL = drive number (0=A, 1=B, etc)
  7031.     DS:BX -> disk read packet (see below)
  7032. Return: same as above
  7033. Notes:    partition is potentially >32M (and requires this form of the call) if
  7034.       bit 1 of device attribute word in device driver is set
  7035.     original flags are left on stack, and must be removed by caller
  7036.     this call bypasses the DOS filesystem
  7037. SeeAlso: INT 13/AH=02h,INT 25,INT 26/CX=FFFFh
  7038.  
  7039. Format of disk read packet:
  7040. Offset    Size    Description
  7041.  00h    DWORD    sector number
  7042.  04h    WORD    number of sectors to read
  7043.  06h    DWORD    transfer address
  7044. --------d-25CDCD-----------------------------
  7045. INT 25 - Stacker - GET DEVICE DRIVER ADDRESS
  7046.     AX = CDCDh
  7047.     DS:BX -> buffer for address (see below)
  7048.     CX = 0001h
  7049.     DX = 0000h
  7050. Return: AX = CDCDh if Stacker installed
  7051.         DS:BX buffer filled
  7052.  
  7053. Format of driver address buffer:
  7054. Offset    Size    Description
  7055.  00h    WORD    signature CDCDh
  7056.  02h    WORD    ??? 0001h
  7057.  04h    DWORD    pointer to start of Stacker device driver
  7058.  
  7059. Format of device driver:
  7060. Offset    Size    Description
  7061.  00h    WORD    signature A55Ah
  7062.  02h    WORD    Stacker version * 64h
  7063.  04h    WORD    offset of volume-specific information offset table
  7064.         (list of WORDs, one per drive, containing offsets to various
  7065.         information)
  7066.  06h 56 BYTEs    n/a
  7067.  3Eh    BYTE    volume number, set after INT 21/AX=4404h
  7068.         (use to index into volume-specific info offset table)
  7069.  3Fh 19 BYTEs    n/a
  7070.  52h  4 BYTEs    ASCII string "SWAP"
  7071.  56h 26 BYTEs    drive mapping table (one byte for each drive A: through Z:)
  7072.  
  7073. Format of Stacker boot record:
  7074. Offset    Size    Description
  7075. 1F0h  8 BYTEs    Stacker signature (first byte is CDh)
  7076. 1F8h    DWORD    pointer to start of Stacker device driver
  7077. 1FCh    WORD    Stacker volume number
  7078. 1FEh    WORD    ???
  7079. --------c-25--FFSI4358-----------------------
  7080. INT 25 - PC-CACHE.SYS - INSTALLATION CHECK
  7081.     AL = FFh
  7082.     SI = 4358h
  7083. Return: SI = 6378h if installed
  7084.         CX = segment of device driver PC-CACHE.SYS
  7085.         DX = version (major in DH, minor in DL)
  7086. Program: PC-CACHE.SYS is a small device driver used by PC-Cache v5.x to obtain
  7087.       access to certain disk drivers for devices such as Bernoulli drives
  7088. SeeAlso: INT 13/AH=A0h
  7089. --------D-26---------------------------------
  7090. INT 26 - DOS 1+ - ABSOLUTE DISK WRITE (except partitions > 32M)
  7091.     AL = drive number (00h = A:, 01h = B:, etc)
  7092.     CX = number of sectors to write
  7093.     DX = starting logical sector number (0000h - highest sector on drive)
  7094.     DS:BX -> data to write
  7095. Return: CF clear if successful
  7096.     CF set on error
  7097.         AH = status
  7098.          80h device failed to respond (timeout)
  7099.          40h seek operation failed
  7100.          20h controller failed
  7101.          10h data error (bad CRC)
  7102.          08h DMA failure
  7103.          04h requested sector not found
  7104.          03h write-protected disk (INT 26 only)
  7105.          02h bad address mark
  7106.          01h bad command
  7107.         AL = error code (same as passed to INT 24 in DI)
  7108.         AX = 0207h if more than 64K sectors on drive -- use new-style call
  7109.     may destroy all other registers except segment registers
  7110. Notes:    original flags are left on stack, and must be popped by caller
  7111.     this call bypasses the DOS filesystem, though DOS 5+ invalidates any
  7112.       disk buffers referencing sectors which are written with this call
  7113.     examination of CPWIN386.CPL indicates that if this call fails with
  7114.       error 0408h on an old-style (<32M) call, one should retry the
  7115.       call with the high bit of the drive number in AL set
  7116. BUGS:    DOS 3.1 through 3.3 set the word at ES:[BP+1Eh] to FFFFh if AL is an
  7117.       invalid drive number
  7118.     DR-DOS 3.41 will return with a jump instead of RETF, leaving the
  7119.       wrong number of bytes on the stack; use the huge-partition version
  7120.       (INT 26/CX=FFFFh) for all partition sizes under DR-DOS 3.41
  7121. SeeAlso: INT 13/AH=03h,INT 25,INT 26/CX=FFFFh
  7122. --------D-26----CXFFFF-----------------------
  7123. INT 26 - DOS 3.31+ - ABSOLUTE DISK WRITE (>32M hard-disk partition)
  7124.     CX = FFFFh
  7125.     AL = drive number (0=A, 1=B, etc)
  7126.     DS:BX -> disk write packet (see below)
  7127. Return: same as above
  7128. Notes:    partition is potentially >32M (and requires this form of the call) if
  7129.       bit 1 of device attribute word in device driver is set
  7130.     original flags are left on stack, and must be removed by caller
  7131.     this call bypasses the DOS filesystem, though DOS 5+ invalidates any
  7132.       disk buffers referencing sectors which are written with this call
  7133. SeeAlso: INT 13/AH=03h,INT 25/CX=FFFFh,INT 26
  7134.  
  7135. Format of disk write packet:
  7136. Offset    Size    Description
  7137.  00h    DWORD    sector number
  7138.  04h    WORD    number of sectors to read
  7139.  06h    DWORD    transfer address
  7140. --------G-26---------------------------------
  7141. INT 26 - COMTROL HOSTESS i/ISA DEBUGGER - ENTER/EXIT EXTENDED ADDRESSING MODE
  7142.     ???
  7143. Return: ???
  7144. SeeAlso: INT 23"COMTROL",INT 27"COMTROL"
  7145. --------D-27---------------------------------
  7146. INT 27 - DOS 1+ - TERMINATE AND STAY RESIDENT
  7147.     DX = number of bytes to keep resident (max FFF0h)
  7148.     CS = segment of PSP
  7149. Return: never
  7150. Notes:    this is an obsolete call
  7151.     INT 22, INT 23, and INT 24 are restored from the PSP
  7152.     does not close any open files
  7153.     the minimum number of bytes which will remain resident is 110h for
  7154.       DOS 2.x and 60h for DOS 3+; there is no minimum for DOS 1.x, which
  7155.       implements this service in COMMAND.COM rather than the DOS kernel
  7156. SeeAlso: INT 21/AH=31h
  7157. --------G-27---------------------------------
  7158. INT 27 - COMTROL HOSTESS i/ISA DEBUGGER - INVOKE REMOTE TURBO DEBUGGER KERNEL
  7159.     ???
  7160. Return: ???
  7161. Desc:    invoke a copy of the remote Turbo Debugger kernel on the Hostess i
  7162.       controller
  7163. SeeAlso: INT 20"COMTROL",INT 26"COMTROL"
  7164. --------D-28---------------------------------
  7165. INT 28 C - DOS 2+ - DOS IDLE INTERRUPT
  7166.     SS:SP = top of MS-DOS stack for I/O functions
  7167. Return: all registers preserved
  7168. Desc:    This interrupt is invoked each time one of the DOS character input
  7169.       functions loops while waiting for input.  Since a DOS call is in
  7170.       progress even though DOS is actually idle during such input waits,
  7171.       hooking this function is necessary to allow a TSR to perform DOS
  7172.       calls while the foreground program is waiting for user input.     The
  7173.       INT 28h handler may invoke any INT 21h function except functions
  7174.       00h through 0Ch.
  7175. Notes:    under DOS 2.x, the critical error flag (the byte immediately after the
  7176.       InDOS flag) must be set in order to call DOS functions 50h/51h from
  7177.       the INT 28h handler without destroying the DOS stacks.
  7178.     calls to INT 21/AH=3Fh,40h from within an INT 28 handler may not use a
  7179.       handle which refers to CON
  7180.     at the time of the call, the InDOS flag (see INT 21/AH=34h) is normally
  7181.       set to 01h; if larger, DOS is truly busy and should not be reentered
  7182.     the default handler is an IRET instruction
  7183.     supported in OS/2 compatibility box
  7184.     the _MS-DOS_Programmer's_Reference_ for DOS 5.0 incorrectly documents
  7185.       this interrupt as superseded
  7186. SeeAlso: INT 21/AH=34h,INT 2A/AH=84h,INT 2F/AX=1680h
  7187. --------D-29---------------------------------
  7188. INT 29 C - DOS 2+ - FAST CONSOLE OUTPUT
  7189.     AL = character to display
  7190. Return: nothing
  7191. Notes:    automatically called when writing to a device with bit 4 of its device
  7192.       driver header set (see also INT 21/AH=52h)
  7193.     COMMAND.COM v3.2 and v3.3 compare the INT 29 vector against the INT 20
  7194.       vector and assume that ANSI.SYS is installed if the segment is larger
  7195.     the default handler under DOS 2.x and 3.x simply calls INT 10/AH=0Eh
  7196.     the default handler under DESQview 2.2 understands the <Esc>[2J
  7197.       screen-clearing sequence, calls INT 10/AH=0Eh for all others
  7198. SeeAlso: INT 21/AH=52h,INT 2F/AX=0802h,INT 79
  7199. --------N-2A00-------------------------------
  7200. INT 2A - NETWORK (Microsoft, LANtastic) - INSTALLATION CHECK
  7201.     AH = 00h
  7202. Return: AH <> 00h if installed
  7203.     CF set if NetWare v2.15 NetBIOS emulator installed
  7204. Note:    also supported by Lantastic, NetWare, 10NET, etc.
  7205. SeeAlso: INT 5C
  7206. --------N-2A0000-----------------------------
  7207. INT 2A - AT&T Starlan Extended NetBIOS (var length names) - INSTALLATION CHECK
  7208.     AX = 0000h
  7209. Return: AH = DDh
  7210. SeeAlso: INT 5B
  7211. --------N-2A01-------------------------------
  7212. INT 2A - NETWORK (Microsoft,LANtastic) - EXECUTE NETBIOS REQUEST,NO ERROR RETRY
  7213.     AH = 01h
  7214.     ES:BX -> NCB (see INT 5C)
  7215. Return: AL = NetBIOS error code
  7216.     AH = 00h if no error
  7217.        = 01h on error
  7218. SeeAlso: AH=04h,AX=0500h,INT 5B,INT 5C"NetBIOS"
  7219. --------N-2A02-------------------------------
  7220. INT 2A - NETWORK (Microsoft) - SET NET PRINTER MODE
  7221.     AH = 02h
  7222.     ???
  7223. Return: ???
  7224. --------N-2A0300-----------------------------
  7225. INT 2A - NETWORK (Microsoft,LANtastic) - CHECK DIRECT I/O
  7226.     AX = 0300h
  7227.     DS:SI -> ASCIZ device name (may be full path or only drive specifier--
  7228.         must include the colon)
  7229. Return: CF clear if direct physical addressing (INT 13,INT 25) permissible
  7230.     CF set if access via files only
  7231. Notes:    do not use direct disk accesses if this function returns CF set or the
  7232.       device is redirected (INT 21/AX=5F02h)
  7233.     may take some time to execute
  7234.     this function is called by the DOS kernel on INT 25 and INT 26
  7235.     also supported by Lantastic, NetWare, 10NET, etc.
  7236. SeeAlso: INT 13,INT 25,INT 26,INT 21/AX=5F02h
  7237. --------N-2A04-------------------------------
  7238. INT 2A - NETWORK (Microsoft,LANtastic) - EXECUTE NetBIOS REQUEST
  7239.     AH = 04h
  7240.     AL = error retry
  7241.         00h automatically retry request on errors 09h, 12h, and 21h
  7242.         01h no retry
  7243.         02h ???
  7244.     ES:BX -> Network Control Block (see INT 5C"NetBIOS")
  7245. Return: AX = 0000h if successful
  7246.     AH = 01h on error
  7247.         AL = error code
  7248. Notes:    invokes either INT 5B or INT 5C as appropriate
  7249.     also supported by Lantastic, NetWare, 10NET, etc.
  7250.     NetWare 2.15 NetBIOS emulator returns CF clear if successful, CF set
  7251.       on error
  7252. SeeAlso: AH=01h,AX=0500h,INT 5B,INT 5C"NetBIOS"
  7253. --------N-2A0500-----------------------------
  7254. INT 2A - NETWORK (Microsoft,LANtastic) - GET NETWORK RESOURCE AVAILABILITY
  7255.     AX = 0500h
  7256. Return: AX reserved
  7257.     BX = number of network names available
  7258.     CX = number of network control blocks available
  7259.     DX = number of network sessions available
  7260. Note:    also supported by Lantastic, NetWare, 10NET, etc.
  7261. SeeAlso: AH=01h,AH=04h,INT 5C"NetBIOS"
  7262. --------N-2A06-------------------------------
  7263. INT 2A - NETBIOS, LANtastic - NETWORK PRINT-STREAM CONTROL
  7264.     AH = 06h
  7265.     AL = 01h set concatenation mode (all printer output put in one job)
  7266.          02h set truncation mode (default)
  7267.          printer open/close starts new print job
  7268.          03h flush printer output and start new print job
  7269. Return: CF set on error
  7270.         AX = error code
  7271.     CF clear if successful
  7272. Notes:    subfunction 03h is equivalent to Ctrl/Alt/keypad-*
  7273.     also supported by LANtastic, NetWare, 10NET, etc.
  7274.     LANtastic v4.x no longer supports this call
  7275. SeeAlso: INT 21/AX=5D08h,INT 21/AX=5D09h,INT 2F/AX=1125h
  7276. --------N-2A07-------------------------------
  7277. INT 2A U - PC Network v1.00 - RECEIVER.COM - ???
  7278.     AH = 07h
  7279.     ???
  7280. Return: ???
  7281. Program: PC Network is an early networking package which was renamed the
  7282.       IBM PC Local Area Network Program (PC LAN Program) as of v1.10
  7283. SeeAlso: AH=86h
  7284. --------N-2A2001-----------------------------
  7285. INT 2A - MS Networks or NETBIOS - ???
  7286.     AX = 2001h
  7287.     ???
  7288. Return: ???
  7289. Note:    intercepted by DESQview 2.x
  7290. --------N-2A2002-----------------------------
  7291. INT 2A - NETWORK - ???
  7292.     AX = 2002h
  7293.     ???
  7294. Return: ???
  7295. Note:    called by MS-DOS 3.30-6.00 APPEND
  7296. --------N-2A2003-----------------------------
  7297. INT 2A - NETWORK - ???
  7298.     AX = 2003h
  7299.     ???
  7300. Return: ???
  7301. Note:    called by MS-DOS 3.30-6.00 APPEND
  7302. --------N-2A7802-----------------------------
  7303. INT 2A - NETWORK - PC LAN PROG v1.31+ - GET LOGGED ON USER NAME
  7304.     AX = 7802h
  7305.     ES:DI -> 8-byte buffer to be filled
  7306. Return: AL = 00h if no user logged on to Extended Services
  7307.     AL <> 00h if user logged on to Extended Services
  7308.         buffer at ES:DI filled with name, padded to 8 chars with blanks.
  7309. --------D-2A80-------------------------------
  7310. INT 2A CU - NETWORK - BEGIN DOS CRITICAL SECTION
  7311.     AH = 80h
  7312.     AL = critical section number (00h-0Fh)
  7313.         01h DOS kernel, SHARE.EXE, DOSMGR
  7314.         apparently for maintaining the integrity of DOS/SHARE/NET
  7315.           data structures
  7316.         02h DOS kernel, DOSMGR
  7317.         ensures that no multitasking occurs while DOS is calling an
  7318.           installable device driver
  7319.         05h network redirector
  7320.         06h DOS 4.x only IFSFUNC
  7321.         08h ASSIGN.COM
  7322.         0Ah MSCDEX
  7323.         0Fh IBM PC LAN server (while intercepting INT 10/AH=06h,07h,0Eh)
  7324. Notes:    normally hooked to avoid interrupting a critical section, rather than
  7325.       called
  7326.     the handler should ensure that none of the critical sections are
  7327.       reentered, usually by suspending a task which attempts to reenter
  7328.       an active critical section
  7329.     the DOS kernel does not invoke critical sections 01h and 02h unless it
  7330.       is patched.  DOS 3.1+ contains a zero-terminated list of words
  7331.       beginning at offset -11 from the Swappable Data Area
  7332.       (see INT 21/AX=5D06h); each word contains the offset within the
  7333.       DOS data segment of a byte which must be changed from C3h (RET)
  7334.       to 50h (POP AX) under DOS 3.x or from 00h to a nonzero value under
  7335.       DOS 4+ to enable use of critical sections.  For DOS 4+, all words in
  7336.       this list point at the byte at offset 0D0Ch.
  7337. SeeAlso: AH=81h,AH=82h,AX=8700h,INT 21/AX=5D06h,INT 21/AX=5D0Bh
  7338. --------D-2A81-------------------------------
  7339. INT 2A CU - NETWORK - END DOS CRITICAL SECTION
  7340.     AH = 81h
  7341.     AL = critical section number (00h-0Fh) (see AH=80h)
  7342. Notes:    normally hooked rather than called
  7343.     the handler should reawaken any tasks which were suspended due to an
  7344.       attempt to enter the specified critical section
  7345. SeeAlso: AH=80h,AH=82h,AX=8700h
  7346. --------D-2A82-------------------------------
  7347. INT 2A CU - NETWORK - END DOS CRITICAL SECTIONS 0 THROUGH 7
  7348.     AH = 82h
  7349. Notes:    called by the INT 21h function dispatcher for function 0 and functions
  7350.       greater than 0Ch except 59h, and on process termination
  7351.     the handler should reawaken any tasks which were suspended due to an
  7352.       attempt to enter one of the critical sections 0 through 7
  7353. SeeAlso: AH=81h
  7354. --------N-2A84-------------------------------
  7355. INT 2A CU - NETWORK - KEYBOARD BUSY LOOP
  7356.     AH = 84h
  7357. Note:    similar to DOS's INT 28h, called from inside the DOS keyboard input
  7358.       loop (i.e. INT 21/AH=07h or INT 21/AH=08h) to allow the network
  7359.       software to process requests
  7360. SeeAlso: INT 28
  7361. --------N-2A86-------------------------------
  7362. INT 2A U - PC Network v1.00 - RECEIVER.COM - ???
  7363.     AH = 86h
  7364.     ???
  7365. Return: ???
  7366. SeeAlso: AH=07h,AH=C4h
  7367. --------P-2A8700-----------------------------
  7368. INT 2A CU - PRINT - BEGIN BACKGROUND PRINTING
  7369.     AX = 8700h
  7370.     CF clear
  7371. Return: CF clear if OK to print in background now
  7372.     CF set if background printing not allowed at this time
  7373. Desc:    used to inform interested programs that PRINT is about to start its
  7374.       background processing, and allow those programs to postpone the
  7375.       processing if necessary
  7376. Notes:    when PRINT gains control and wants to begin printing, it calls this
  7377.       function.  If CF is clear on return, PRINT begins its background
  7378.       processing, and calls AX=8701h when it is done.  If CF is set on
  7379.       return, PRINT will relinquish control immediately, and will not
  7380.       call AX=8701h
  7381.     PCVENUS (an early network shell by IBM and CMU) hooks this call to
  7382.       prevent background printing while its own code is active
  7383. SeeAlso: AH=80h,AH=81h,AX=8701h
  7384. --------P-2A8701-----------------------------
  7385. INT 2A CU - PRINT - END BACKGROUND PRINTING
  7386.     AX = 8701h
  7387. Desc:    used to inform interested programs that PRINT has completed its
  7388.       background processing
  7389. Note:    called by PRINT after it has performed some background printing; not
  7390.       called if AX=8700h returned with CF set.
  7391. SeeAlso: AX=8700h
  7392. --------N-2A89-------------------------------
  7393. INT 2A U - PC Network v1.00 - RECEIVER.COM - ???
  7394.     AH = 89h
  7395.     AL = ???  (ASSIGN uses 08h)
  7396.     ???
  7397. Return: ???
  7398. --------I-2A90-------------------------------
  7399. INT 2A U - IBM PC 3270 EMULATION PROGRAM - ???
  7400.     AH = 90h
  7401.     ???
  7402. Return: ???
  7403. Note:    the LANtastic redirector and SERVER.EXE use this function with AL=01h,
  7404.       03h-07h,0Ch-11h
  7405. --------N-2AC2-------------------------------
  7406. INT 2A U - Network - ???
  7407.     AH = C2h
  7408.     AL = subfunction
  7409.         07h ???
  7410.         08h ???
  7411.     BX = 0001h
  7412.     ???
  7413. Return: ???
  7414. Note:    this function is called by the DOS 3.30-6.00 APPEND
  7415. --------N-2AC4-------------------------------
  7416. INT 2A U - PC Network v1.00 - RECEIVER.COM - ???
  7417.     AH = C4h
  7418.     AL = subfunction
  7419.         07h ???
  7420.         08h ???
  7421.     BX = ???
  7422.     ???
  7423. Return: ???
  7424. SeeAlso: AH=86h
  7425. --------N-2AD800-----------------------------
  7426. INT 2A U - Novell NetWare Lite - SERVER - SET ???
  7427.     AX = D800h
  7428. Return: nothing
  7429. Desc:    sets ??? flag, and sets ??? to initial value
  7430. Note:    called by CLIENT
  7431. SeeAlso: AX=D801h,AX=D850h
  7432. --------N-2AD801-----------------------------
  7433. INT 2A U - Novell NetWare Lite - SERVER - RESET ???
  7434.     AX = D801h
  7435. Return: nothing
  7436. Desc:    clears the ??? flag set by AX=D800h
  7437. Note:    called by CLIENT
  7438. SeeAlso: AX=D800h,AX=D850h
  7439. --------N-2AD850-----------------------------
  7440. INT 2A U - Novell NetWare Lite - CLIENT - INCREMENT ???
  7441.     AX = D850h
  7442. Return: nothing
  7443. Desc:    increments an internal byte-sized counter
  7444. Note:    this function is intercepted by DV/X 1.10 PEERSERV.DVR and the
  7445.       Advanced NetWare 4.0 DOS Requester
  7446. SeeAlso: AX=D851h
  7447. --------N-2AD851-----------------------------
  7448. INT 2A U - Novell NetWare Lite - CLIENT - RESET ???
  7449.     AX = D851h
  7450. Return: nothing
  7451. Desc:    resets an internal byte-sized counter to zero
  7452. Note:    this function is intercepted by DV/X 1.10 PEERSERV.DVR and the
  7453.       Advanced NetWare 4.0 DOS Requester
  7454. SeeAlso: AX=D850h
  7455. --------N-2AD852-----------------------------
  7456. INT 2A U - Novell NetWare - DOS Requester v1.03 - ???
  7457.     AX = D852h
  7458. Return: ???
  7459. Note:    calls the NetWare Lite SERVER installation check, and sets ??? pointer
  7460. SeeAlso: AX=D853h,INT 2F/AX=D880h
  7461. --------N-2AD853-----------------------------
  7462. INT 2A U - Novell NetWare - DOS Requester v1.03 - ???
  7463.     AX = D853h
  7464. Return: ???
  7465. Note:    clears the pointer set by AX=D852h
  7466. SeeAlso: AX=D852h
  7467. --------N-2AE0-------------------------------
  7468. INT 2A U - PC Network 1.00 - ???
  7469.     AH = E0h
  7470.     AL = subfunction??? (01h,02h, maybe others)
  7471.     ???
  7472. Return: ???
  7473. Note:    called by PCNet 1.00 NET.COM, a shell program from which others are run
  7474. --------N-2AFF90-----------------------------
  7475. INT 2A - PC/TCP PREDIR.EXE - ???
  7476.     AX = FF90h
  7477. Return: AX = ???
  7478. Note:    PREDIR.EXE is the network printer redirector included as part of the
  7479.       PC/TCP system by FTP Software, Inc.
  7480. --------N-2AFF91-----------------------------
  7481. INT 2A - PC/TCP PREDIR.EXE - ???
  7482.     AX = FF91h
  7483.     BX = ???
  7484. Return: AX = status???
  7485. --------N-2AFF92-----------------------------
  7486. INT 2A - PC/TCP PREDIR.EXE - INSTALLATION CHECK
  7487.     AX = FF92h
  7488. Return: AX = 0000h if installed
  7489.        BX = redirected printer port (FFFFh if no printers redirected)
  7490.        CX = version (CH = major, CL = minor)
  7491. Note:    PREDIR.EXE is the network printer redirector included as part of the
  7492.       PC/TCP system by FTP Software, Inc.
  7493. --------N-2AFF93-----------------------------
  7494. INT 2A - PC/TCP PREDIR.EXE - ???
  7495.     AX = FF93h
  7496. Return: AX = ???
  7497. --------N-2AFF94-----------------------------
  7498. INT 2A - PC/TCP PREDIR.EXE - ???
  7499.     AX = FF94h
  7500.     BX = ???
  7501.     CX = ???
  7502.     DX = ???
  7503. Return: AX = ???
  7504. Note:    PREDIR.EXE is the network printer redirector included as part of the
  7505.       PC/TCP system by FTP Software, Inc.
  7506. --------N-2AFF95-----------------------------
  7507. INT 2A - PC/TCP PREDIR.EXE - GET CONFIGURATION STRINGS
  7508.     AX = FF95h
  7509.     CX = what to get
  7510.         0000h ??? (returned pointer to "C:\COMMAND.COM")
  7511.         0001h spooling program
  7512.         0002h ???
  7513.         0003h spool file name
  7514.         0004h swap file name
  7515. Return: AX = status
  7516.         0000h successful
  7517.     BX:DX -> ASCIZ configuration string
  7518. --------N-2AFF96-----------------------------
  7519. INT 2A - PC/TCP PREDIR.EXE - SET PRINT JOB TERMINATION CONFIGURATION
  7520.     AX = FF96h
  7521.     CX = what to set
  7522.         0000h ???
  7523.         0001h print-on-hotkey state
  7524.         0002h print-on-exit state
  7525.         0003h print job timeout in clock ticks
  7526.         0004h print-on-EOF state
  7527.     BX = new value (0000h disabled, 0001h enabled except for timeout)
  7528. Return: AX = ???
  7529. SeeAlso: AX=FF97h
  7530. Note:    PREDIR.EXE is the network printer redirector included as part of the
  7531.       PC/TCP system by FTP Software, Inc.
  7532. --------N-2AFF97-----------------------------
  7533. INT 2A - PC/TCP PREDIR.EXE - GET PRINT JOB TERMINATION CONFIGURATION
  7534.     AX = FF97h
  7535.     CX = what to get
  7536.         0000h ???
  7537.         0001h print-on-hotkey state
  7538.         0002h print-on-exit state
  7539.         0003h print job timeout in clock ticks
  7540.         0004h print-on-EOF state
  7541. Return: AX = status
  7542.         0000h successful
  7543.     BX = old value (0000h disabled, 0001 enabled except for timeout)
  7544. SeeAlso: AX=FF96h
  7545. --------D-2B---------------------------------
  7546. INT 2B - DOS 2+ - RESERVED
  7547. Note:    this vector is not used in DOS versions <= 6.00, and points at an IRET
  7548. --------D-2C---------------------------------
  7549. INT 2C - DOS 2+ - RESERVED
  7550. Note:    this vector is not used in DOS versions <= 6.00, and points at an IRET
  7551. --------O-2C---------------------------------
  7552. INT 2C - STARLITE architecture - KERNEL API
  7553. Note:    STARLITE is an architecture by General Software for a series of MS-DOS
  7554.       compatible operating systems (OEM DOS, NETWORK DOS, and SMP DOS) to
  7555.       be released in 1991.    The interrupt number is subject to change
  7556.       before the actual release.
  7557. --------m-2C---------------------------------
  7558. INT 2C R - RM386 v6.00 - CLOAKING - CALL PROTECTED-MODE PASSALONG CHAIN
  7559. Note:    when this interrupt is invoked in V86 mode, RM386 will invoke the first
  7560.       in a chain of protected-mode handlers, and will only pass execution
  7561.       to the V86-mode INT 2C handler if none of the handlers in the
  7562.       passalong chain handle the call instead.  This is the method by which
  7563.       the real-mode stub of a cloaked application communicates with the
  7564.       protected-mode portion.
  7565. Program: RM386 (RAM-MAN/386) is the memory manager included in Helix Software's
  7566.       Netroom
  7567. SeeAlso: INT 2C/AX=0009h
  7568. --------m-2C0000-----------------------------
  7569. INT 2C P - RM386 v6.00 - CLOAKING - ALLOCATE GDT SELECTOR
  7570.     AX = 0000h
  7571.     EBX = base address
  7572.     CL = access mode byte
  7573.     CH = extended access mode byte (omit limit field)
  7574.     EDX = segment limit
  7575. Return: CF clear if successful
  7576.         AX = selector
  7577.     CF set on error
  7578.         AX = error code (see below)
  7579. Program: RM386 (RAM-MAN/386) is the memory manager included in Helix Software's
  7580.       Netroom
  7581. Note:    this INT 2C interface is used by Netroom's DPMI.EXE v3.00
  7582. SeeAlso: AX=0001h,AX=0002h,AX=0003h,AX=0004h,AX=0005h,INT 31/AH=57h
  7583.  
  7584. Values for error code:
  7585.  0001h    no more selectors
  7586.  0002h    not a GDT ring 0 selector
  7587.  0003h    invalid selector (out of range, not user selector)
  7588.  0004h    selector not allocated
  7589. --------m-2C0001-----------------------------
  7590. INT 2C P - RM386 v6.00 - CLOAKING - FREE GDT SELECTOR
  7591.     AX = 0001h
  7592.     SI = selector
  7593. Return: CF clear if successful
  7594.     CF set on error
  7595.         AX = error code (see AX=0000h)
  7596. SeeAlso: AX=0000h
  7597. --------m-2C0002-----------------------------
  7598. INT 2C P - RM386 v6.00 - CLOAKING - SET SEGMENT BASE ADDRESS
  7599.     AX = 0002h
  7600.     SI = selector
  7601.     EBX = new physical base addres
  7602. Return: CF clear if successful
  7603.     CF set on error
  7604.         AX = error code (see AX=0000h)
  7605. Return: AX=0000h,AX=0003h,AX=0004h,INT 31/AX=0007h
  7606. --------m-2C0003-----------------------------
  7607. INT 2C P - RM386 v6.00 - CLOAKING - SET SEGMENT LIMIT
  7608.     AX = 0003h
  7609.     SI = selector
  7610.     EBX = new limit
  7611. Return: CF clear if successful
  7612.     CF set on error
  7613.         AX = error code (see AX=0000h)
  7614. SeeAlso: AX=0000h,AX=0002h,AX=0004h,INT 31/AX=0008h
  7615. --------m-2C0004-----------------------------
  7616. INT 2C P - RM386 v6.00 - CLOAKING - SET SEGMENT ACCESS MODE
  7617.     AX = 0004h
  7618.     SI = selector
  7619.     CL = new access mode byte
  7620. Return: CF clear if successful
  7621.     CF set on error
  7622.         AX = error code (see AX=0000h)
  7623. SeeAlso: AX=0000h,AX=0002h,AX=0003h,AX=0005h,INT 31/AX=0009h
  7624. --------m-2C0005-----------------------------
  7625. INT 2C P - RM386 v6.00 - CLOAKING - SET SEGMENT EXTENDED ACCESS MODE
  7626.     AX = 0005h
  7627.     SI = selector
  7628.     CL = new extended access mode byte (limit field ignored)
  7629. Return: CF clear if successful
  7630.     CF set on error
  7631.         AX = error code (see AX=0000h)
  7632. SeeAlso: AX=0000h,AX=0002h,AX=0003h,AX=0004h,INT 31/AX=0009h
  7633. --------m-2C0006-----------------------------
  7634. INT 2C P - RM386 v6.00 - CLOAKING - GET PROTECTED-MODE INTERRUPT VECTOR
  7635.     AX = 0006h
  7636.     CL = vector
  7637. Return: CF clear
  7638.     DX:EBX -> current interrupt handler
  7639. SeeAlso: AX=0007h,INT 31/AX=0204h
  7640. --------m-2C0007-----------------------------
  7641. INT 2C P - RM386 v6.00 - CLOAKING - SET PROTECTED-MODE INTERRUPT VECTOR
  7642.     AX = 0007h
  7643.     CL = vector
  7644.     DX:EBX -> interrupt handler
  7645. Return: CF clear
  7646. SeeAlso: AX=0006h,INT 31/AX=0205h
  7647. --------m-2C0008-----------------------------
  7648. INT 2C P - RM386 v6.00 - CLOAKING - GET PASSALONG ADDRESS
  7649.     AX = 0008h
  7650. Return: CF clear
  7651.     DX:EBX = current passalong address
  7652. SeeAlso: AX=0009h,AX=002Ch
  7653. --------m-2C0009-----------------------------
  7654. INT 2C P - RM386 v6.00 - CLOAKING - SET PASSALONG ADDRESS
  7655.     AX = 0009h
  7656.     DX:EBX = new value for passalong address
  7657. Return: CF clear
  7658. Note:    when an INT 2C instruction is executed in V86 mode, RM386 calls the
  7659.       passalong address.  The handler should check whether the upcall
  7660.       is of interest to it, and if not it should jump to the old passalong
  7661.       address (retrieved with AX=0008h before the handler was installed)
  7662. SeeAlso: AX=0008h,AX=002Dh,INT 2C"CLOAKING"
  7663.  
  7664. Passalong address called with:
  7665.     EAX = CS:IP of byte following INT 2C instruction invoking passalong
  7666.     SS:EBX -> caller registers (see below)
  7667.     CF clear
  7668.     others undefined
  7669. Return: CF clear: pass along to V86-mode INT 2C handler
  7670.     CF set: return immediately to V86 mode
  7671.  
  7672. Format of caller registers:
  7673. Offset    Size    Description
  7674.  00h    DWORD    EDI
  7675.  04h    DWORD    ESI
  7676.  08h    DWORD    EBP
  7677.  0Ch    DWORD    reserved (ESP from PUSHAD instruction)
  7678.  10h    DWORD    EBX
  7679.  14h    DWORD    EDX
  7680.  18h    DWORD    ECX
  7681.  1Ch    DWORD    EAX
  7682.  20h    DWORD    error code
  7683.  24h    DWORD    EIP
  7684.  28h    WORD    CS
  7685.  2Ah    WORD    padding
  7686.  2Ch    DWORD    EFLAGS
  7687.  30h    DWORD    ESP
  7688.  34h    WORD    SS
  7689.  36h    WORD    padding
  7690. --remainder not available if protected-mode ring3 trap---
  7691.  38h    WORD    ES
  7692.  3Ah    WORD    padding
  7693.  3Ch    WORD    DS
  7694.  3Eh    WORD    padding
  7695.  40h    WORD    FS
  7696.  42h    WORD    padding
  7697.  44h    WORD    GS
  7698.  46h    WORD    padding
  7699. --------m-2C000A-----------------------------
  7700. INT 2C P - RM386 v6.00 - CLOAKING - GET BASE ADDRESS OF GDT SELECTOR
  7701.     AX = 000Ah
  7702.     SI = selector
  7703. Return: CF clear if successful
  7704.         EBX = segment base address
  7705.     CF set on error
  7706.         AX = error code (see AX=0000h)
  7707. Program: RM386 (RAM-MAN/386) is the memory manager included in Helix Software's
  7708.       Netroom
  7709. SeeAlso: AX=0000h,AX=0002h,AX=000Bh
  7710. --------m-2C000B-----------------------------
  7711. INT 2C P - RM386 v6.00 - CLOAKING - GET SELECTOR LIMIT
  7712.     AX = 000Bh
  7713.     SI = selector
  7714. Return: CF clear if successful
  7715.         EBX = segment base address
  7716.     CF set on error
  7717.         AX = error code (see AX=0000h)
  7718. SeeAlso: AX=000Ah
  7719. --------m-2C---------------------------------
  7720. INT 2C P - RM386 v6.00 - CLOAKING - RESERVED FOR CLOAKED BIOS USE UNDER WINDOWS
  7721.     AX = function (000Ch-001Fh)
  7722. --------m-2C0020-----------------------------
  7723. INT 2C P - RM386 v6.00 - CLOAKING - GET SIZE OF PROTECTED-MODE STATE
  7724.     AX = 0020h
  7725. Return: EAX = number of bytes required for storing state
  7726. SeeAlso: AX=0021h,AX=0022h
  7727. --------m-2C0021-----------------------------
  7728. INT 2C P - RM386 v6.00 - CLOAKING - SAVE PROTECTED-MODE STATE
  7729.     AX = 0021h
  7730.     ES:EDI -> buffer for protected-mode state
  7731. Return: CF clear
  7732.     buffer filled
  7733. SeeAlso: AX=0020h,AX=0022h
  7734. --------m-2C0022-----------------------------
  7735. INT 2C P - RM386 v6.00 - CLOAKING - RESTORE PROTECTED-MODE STATE
  7736.     AX = 0022h
  7737.     DS:ESI -> buffer containing previously-saved protected-mode state
  7738. Return: CF clear if successful
  7739.         state restored
  7740.     CF set on error (invalid buffer contents)
  7741. SeeAlso: AX=0020h,AX=0021h
  7742. --------m-2C0023-----------------------------
  7743. INT 2C P - RM386 v6.00 - CLOAKING - ISSUE PROTECTED-MODE XMS CALL
  7744.     AX = 0023h
  7745. Note:    not currently implemented--NOP in RM386 v6.00
  7746. --------m-2C0024-----------------------------
  7747. INT 2C P - RM386 v6.00 - CLOAKING - SET V86-MODE STACK
  7748.     AX = 0024h
  7749.     DX:EBX = new value for V86-mode SS:ESP
  7750. Return: nothing
  7751. --------m-2C0025-----------------------------
  7752. INT 2C P - RM386 v6.00 - CLOAKING - CALL V86-MODE PROCEDURE
  7753.     AX = 0025h
  7754.     DS:EBX -> client register structure (see AX=0009h)
  7755. Return: CF clear if successful
  7756.         client register structure updated
  7757.     CF set if no more nested procedure call space available
  7758. Note:    this call uses the V86-mode stack supplied in the client structure, and
  7759.       calls the routine specified by CS:IP in the client structure
  7760. SeeAlso: AX=0026h,AX=0027h,INT 31/AX=0301h
  7761. --------m-2C0026-----------------------------
  7762. INT 2C P - RM386 v6.00 - CLOAKING - CALL V86-MODE INTERRUPT HANDLER
  7763.     AX = 0026h
  7764.     DS:EBX -> client register structure (see AX=0009h)
  7765.     CX = interrupt number
  7766. Return: CF clear if successful
  7767.         client register structure updated
  7768.     CF set if no more nested procedure call space available
  7769. Note:    this call uses the V86-mode stack supplied in the client structure
  7770. SeeAlso: AX=0025h,AX=0027h,INT 31/AX=0300h
  7771. --------m-2C0027-----------------------------
  7772. INT 2C P - RM386 v6.00 - CLOAKING - CHAIN TO V86-MODE INTERRUPT HANDLER
  7773.     AX = 0027h
  7774.     DS:EBX -> client register structure (see AX=0009h)
  7775. Return: CF clear if successful
  7776.         client register structure updated
  7777.     CF set if no more nested procedure call space available
  7778. Note:    this call uses the V86-mode stack supplied in the client structure,
  7779.       and jumps to the address specified by CS:IP in the client structure
  7780. SeeAlso: AX=0025h,AX=0026h
  7781. --------m-2C0028-----------------------------
  7782. INT 2C P - RM386 v6.00 - CLOAKING - GET ESP0 FROM TSS
  7783.     AX = 0028h
  7784. Return: CF clear
  7785.     EAX = TSS's ESP0
  7786. Program: RM386 (RAM-MAN/386) is the memory manager included in Helix Software's
  7787.       Netroom
  7788. --------m-2C0029-----------------------------
  7789. INT 2C P - RM386 v6.00 - CLOAKING - SET SECONDARY STACK
  7790.     AX = 0029h
  7791.     DX:EBX = new value for SS:ESP of ring 3 secondary stack
  7792. Return: CF clear
  7793. Desc:    inform RM386 of the ring 3 interrupt stack location
  7794. --------m-2C002A-----------------------------
  7795. INT 2C P - RM386 v6.00 - CLOAKING - SET 8259 IRQ BASE VECTORS
  7796.     AX = 002Ah
  7797.     BL = base vector of master interrupt controller
  7798.     CL = base vector of slave interrupt controller
  7799. Note:    this call merely informs RM386 that the caller has changed the
  7800.       interrupt mappings
  7801. SeeAlso: INT 67/AX=DE0Bh
  7802. --------m-2C002BCH81-------------------------
  7803. INT 2C P - RM386 v6.00 - CLOAKING - PROTECTED-MODE VIRTUAL DMA SERVICES
  7804.     AX = 002Bh
  7805.     CH = 81h
  7806.     CL = subfunction (02h-0Ch)
  7807.     other registers as appropriate for subfunction
  7808. Return: varies by function
  7809.     CF set on error
  7810. Note:    these functions are equivalent to the INT 4B/AX=81xxh subfunctions
  7811.       with the same numbers
  7812. SeeAlso: INT 4B/AX=8102h,INT 4B/AX=810Ch
  7813. --------m-2C002C-----------------------------
  7814. INT 2C P - RM386 v6.00 - CLOAKING - GET PORT-TRAPPING PASSALONG
  7815.     AX = 002Ch
  7816. Return: CF clear
  7817.     DX:EBX = current I/O trapping passalong address
  7818. SeeAlso: AX=0008h,AX=002Dh
  7819. --------m-2C002D-----------------------------
  7820. INT 2C P - RM386 v6.00 - CLOAKING - SET PORT-TRAPPING PASSALONG
  7821.     AX = 002Dh
  7822.     DX:EBX = new I/O trapping passalong address
  7823. Return: CF clear
  7824. Note:    RM386 calls the passalong address whenever an access to a monitored
  7825.       I/O port is attempted; the handler should check whether it is a port
  7826.       that it is interested in, and if not call the previous passalong
  7827.       address (which was retrieved with AX=002Ch before installing the
  7828.       new handler)
  7829. SeeAlso: AX=0009h,AX=002Ch,INT 67/AX=5DEAh
  7830.  
  7831. Port-trapping passalong address called with:
  7832.     EAX = CS:IP of faulting instruction (unless executing in protected-mode
  7833.         ring 3)
  7834.     SS:EBX -> caller register structure (see AX=0009h)
  7835.         check EFLAGS V86-mode bit for type
  7836.     CX = first two bytes of I/O instruction which was trapped
  7837.     DX = port to which I/O is being performed
  7838.     CF clear
  7839. Return: CF clear if RM386 should perform I/O operation
  7840.     CF set if I/O should be skipped
  7841. Note:    RM386 skips the trapped I/O instruction, so the passalong handler
  7842.       should not modify the client CS:EIP
  7843. --------m-2C002E-----------------------------
  7844. INT 2C P - RM386 v6.00 - CLOAKING - TRAP I/O PORT
  7845.     AX = 002Eh
  7846.     DX = port number to trap
  7847. Return: CF clear if successful
  7848.     CF set on error (port out of range or reserved)
  7849. Program: RM386 (RAM-MAN/386) is the memory manager included in Helix Software's
  7850.       Netroom
  7851. SeeAlso: AX=002Fh,AX=0030h
  7852. --------m-2C002F-----------------------------
  7853. INT 2C PU - RM386 v6.00 - CLOAKING - UNTRAP I/O PORT
  7854.     AX = 002Fh
  7855.     DX = port number for which to cancel trapping
  7856. Return: CF clear if successful
  7857.     CF set on error (port out of range or reserved)
  7858. SeeAlso: AX=002Eh,AX=0030h
  7859. --------m-2C0030-----------------------------
  7860. INT 2C PU - RM386 v6.00 - CLOAKING - GET TRAPPING STATE OF SPECIFIED PORT
  7861.     AX = 0030h
  7862.     DX = port number
  7863. Return: CF clear if successful
  7864.        BX = current state (0000h not trapped, 0001h trapped)
  7865.     CF set on error (port out of range or reserved)
  7866. SeeAlso: AX=002Eh,AX=002Fh
  7867. --------m-2C0031-----------------------------
  7868. INT 2C PU - RM386 v6.00 - BUG
  7869.     AX = 0031h
  7870. Program: RM386 (RAM-MAN/386) is the memory manager included in Helix Software's
  7871.       Netroom
  7872. Note:    due to a fencepost error, RM386 v6.00 will branch unpredictably if
  7873.       invoked with this function
  7874. --------!------------------------------------
  7875.