home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 15 / CD_ASCQ_15_070894.iso / maj / 4266 / interrup.f < prev    next >
Text File  |  1994-06-05  |  299KB  |  7,805 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 #0469 at AH=0Fh)
  7.     BX:CX = offset
  8. Return: AL = error code (see #0868)
  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 #0469 at AH=0Fh)
  24.     BX:CX = offset
  25. Return: AL = error code (see #0868)
  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 (00h,FDh-FFh) (see #0870)
  200.         00h successful
  201.         CX:DX = transaction number
  202.     CF clear except when AL=FFh
  203. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  204. SeeAlso: AX=C700h"NetWare",AX=C703h
  205.  
  206. (Table 0870)
  207. Values for NetWare TTS status:
  208.  00h    successful
  209.  FDh    transaction tracking disabled
  210.  FEh    transaction ended records locked
  211.  FFh    no explicit transaction active
  212. --------N-21C702-----------------------------
  213. INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - INSTALLATION CHECK
  214.     AX = C702h
  215. Return: AL = status
  216.         00h not available
  217.         01h available
  218.         FDh available but disabled
  219. Desc:    determine whether the default file server supports TTS
  220. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  221. --------N-21C703-----------------------------
  222. INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - ABORT TRANSACTION
  223.     AX = C703h
  224. Return: CF clear if successful
  225.         AL = 00h
  226.     CF set on error
  227.         AL = error code (FDh-FFh) (see #0870)
  228. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  229. SeeAlso: AX=C700h"NetWare",AX=C701h,AX=C704h
  230. --------N-21C704-----------------------------
  231. INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - TRANSACTION STATUS
  232.     AX = C704h
  233.     CX:DX = transaction number (see AX=C701h)
  234. Return: AL = status
  235.         00h successful
  236.         FFh not yet written to disk
  237. Desc:    verify that a transaction has actually been written to disk
  238. Notes:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  239.     transactions are written to disk in the order in which they are ended,
  240.       but it may take as much as five seconds for the data to be written
  241. SeeAlso: AX=C700h"NetWare",AX=C701h,AX=C703h
  242. --------N-21C705-----------------------------
  243. INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - GET APPLICTN THRESHOLDS
  244.     AX = C705h
  245. Return: AL = status
  246.         00h successful
  247.     CL = maximum logical record locks (default 0)
  248.     CH = maximum physical record locks (default 0)
  249. Desc:    get the per-application limits on record locks allowed before an
  250.       implicit transaction is begun
  251. Notes:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  252.     if either limit is FFh, implicit transactions are disabled for the
  253.       corresponding lock type
  254. SeeAlso: AX=C706h,AX=C707h
  255. --------N-21C706-----------------------------
  256. INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - SET APPLICTN THRESHOLDS
  257.     AX = C706h
  258.     CL = maximum logical record locks (default 0)
  259.     CH = maximum physical record locks (default 0)
  260. Return: AL = status
  261.         00h successful
  262. Desc:    specify the per-application limits on record locks allowed before an
  263.       implicit transaction is begun
  264. Notes:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  265.     if either limit is set to FFh, implicit transactions are disabled for
  266.       the corresponding lock type
  267. SeeAlso: AX=C705h,AX=C708h
  268. --------N-21C707-----------------------------
  269. INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - GET WORKSTN THRESHOLDS
  270.     AX = C707h
  271. Return: AL = status
  272.         00h successful
  273.     CL = maximum logical record locks (default 0)
  274.     CH = maximum physical record locks (default 0)
  275. Desc:    get the per-workstation limits on record locks allowed before an
  276.       implicit transaction is begun
  277. Notes:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  278.     if either limit is FFh, implicit transactions are disabled for the
  279.       corresponding lock type
  280. SeeAlso: AX=C705h,AX=C708h
  281. --------N-21C708-----------------------------
  282. INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - SET WORKSTN THRESHOLDS
  283.     AX = C708h
  284.     CL = maximum logical record locks (default 0)
  285.     CH = maximum physical record locks (default 0)
  286. Return: AL = status
  287.         00h successful
  288. Desc:    specify the per-workstation limits on record locks allowed before an
  289.       implicit transaction is begun
  290. Notes:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  291.     if either limit is set to FFh, implicit transactions are disabled for
  292.       the corresponding lock type
  293. SeeAlso: AX=C706h,AX=C707h
  294. --------N-21C8-------------------------------
  295. INT 21 O - Novell NetWare - BEGIN LOGICAL FILE LOCKING
  296.     AH = C8h
  297.     if function C6h lock mode 00h:
  298.         DL = mode
  299.         00h no wait
  300.         01h wait
  301.     if function C6h lock mode 01h:
  302.         BP = timeout in timer ticks (1/18 sec)
  303. Return: AL = error code
  304. Desc:    used to provide TTS support for applications which are not aware of
  305.       Novell's Transaction Tracking System
  306. Note:    this function was added in NetWare 4.0, but was removed some time prior
  307.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  308.       documentation
  309. SeeAlso: AH=C9h
  310. --------N-21C9-------------------------------
  311. INT 21 O - Novell NetWare - END LOGICAL FILE LOCKING
  312.     AH = C9h
  313. Return: AL = error code
  314. Desc:    used to provide TTS support for applications which are not aware of
  315.       Novell's Transaction Tracking System
  316. Note:    this function was added in NetWare 4.0, but was removed some time prior
  317.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  318.       documentation
  319. SeeAlso: AH=C8h
  320. --------N-21CA-------------------------------
  321. INT 21 O - Novell NetWare, Alloy NTNX - LOG/LOCK PERSONAL FILE (FCB)
  322.     AH = CAh
  323.     DS:DX -> FCB (see #0469 at AH=0Fh)
  324.     if function C6h lock mode 01h:
  325.         AL = log and lock flag
  326.         00h log file only
  327.         01h lock as well as log file
  328.         BP = lock timeout in timer ticks (1/18 sec)
  329. Return: AL = error code
  330.         00h successful
  331.         96h no dynamic memory for file
  332.         FEh timeout
  333.         FFh failed
  334. Desc:    provides file locking support for FCBs
  335. Note:    this function was added in NetWare 4.0, but was removed some time prior
  336.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  337.       documentation
  338. SeeAlso: AH=CBh
  339. --------v-21CA15-----------------------------
  340. INT 21 - VIRUS - "Piter" - ???
  341.     AX = CA15h
  342.     ???
  343. Return: ???
  344. SeeAlso: AH=CCh"VIRUS"
  345. --------N-21CB-------------------------------
  346. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOCK FILE SET
  347.     AH = CBh
  348.     if function C6h lock mode 00h:
  349.         DL = mode (00h no wait, 01h wait)
  350.     if function C6h lock mode 01h:
  351.         BP = lock timeout in timer ticks (1/18 sec), 0000h = no wait
  352. Return: AL = status (00h,FEh,FFh) (see #0871)
  353. Desc:    attempt to lock all files listed in the log table
  354. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  355.       Alloy NTNX
  356.     status FFh will be returned if one or more of the files have already
  357.       been exclusively locked by another process
  358. SeeAlso: AH=CAh,AH=CDh,AH=D1h,AH=EBh
  359.  
  360. (Table 0871)
  361. Values for NetWare status:
  362.  00h    successful
  363.  FEh    timed out
  364.  FFh    failed
  365. --------v-21CB-------------------------------
  366. INT 21 - VIRUS - "Milous" - INSTALLATION CHECK
  367.     AH = CBh
  368. Return: AL = 07h if resident
  369. SeeAlso: AX=C700h"VIRUS",AX=CB02h
  370. --------v-21CB02-----------------------------
  371. INT 21 - VIRUS - "Witcode" - INSTALLATION CHECK
  372.     AX = CB02h
  373. Return: AX = 02CBh if resident
  374. SeeAlso: AH=CBh"VIRUS",AH=CCh"VIRUS"
  375. --------N-21CC-------------------------------
  376. INT 21 O - Novell NetWare, Alloy NTNX - RELEASE FILE (FCB)
  377.     AH = CCh
  378.     DS:DX -> FCB (see #0469 at AH=0Fh)
  379. Return: none
  380. Desc:    unlocks file, but does not remove it from the log table or close it
  381. Note:    this function was added in NetWare 4.0, but was removed some time prior
  382.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  383.       documentation
  384. SeeAlso: AH=CAh,AH=CDh
  385. --------v-21CC-------------------------------
  386. INT 21 - VIRUS - "Westwood" - INSTALLATION CHECK
  387.     AH = CCh
  388. Return: AX = 0700h if resident
  389. SeeAlso: AX=CB02h,AH=CDh"VIRUS",AX=D000h"VIRUS"
  390. --------N-21CD-------------------------------
  391. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE FILE SET
  392.     AH = CDh
  393. Return: none
  394. Desc:    unlock all files listed in the log table, but don't remove them from
  395.       the table
  396. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  397.       Alloy NTNX
  398. SeeAlso: AH=CBh,AH=CCh,AH=CFh,AH=D3h
  399. --------v-21CD-------------------------------
  400. INT 21 - VIRUS - "Westwood" - ???
  401.     AH = CDh
  402.     ???
  403. Return: ???
  404. SeeAlso: AH=CCh"VIRUS"
  405. --------N-21CE-------------------------------
  406. INT 21 O - Novell NetWare, Alloy NTNX - CLEAR FILE (FCB)
  407.     AH = CEh
  408.     DS:DX -> FCB (see #0469 at AH=0Fh)
  409. Return: AL = error code
  410. Desc:    unlocks file and removes it from log table, then closes all opened and
  411.       logged occurrences
  412. Note:    this function was added in NetWare 4.0, but was removed some time prior
  413.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  414.       documentation
  415. SeeAlso: AH=CAh,AH=CFh,AH=EDh"NetWare"
  416. --------N-21CF-------------------------------
  417. INT 21 - LANstep - ???
  418.     AH = CFh
  419.     ???
  420. Return: ???
  421. Program: LANstep is a redesign of the Waterloo Microsystems PORT network
  422. --------N-21CF-------------------------------
  423. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR FILE SET
  424.     AH = CFh
  425. Return: AL = 00h
  426. Desc:    unlock and remove all files from log table
  427. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  428.       Alloy NTNX
  429. SeeAlso: AH=CAh,AH=CEh,AH=EBh"NetWare"
  430. --------N-21D0-------------------------------
  431. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOG LOGICAL RECORD
  432.     AH = D0h
  433.     DS:DX -> record string (counted string, max 99 data bytes)
  434.     if function C6h lock mode 01h: (Novell, NTNX only)
  435.         AL = flags
  436.         bit 0: lock as well as log the record
  437.         bit 1: non-exclusive lock
  438.         BP = lock timeout in timer ticks (1/18 sec)
  439. Return: AL = status
  440.         00h successful
  441.         96h no dynamic memory for file
  442.         FEh timed out
  443.         FFh unsuccessful
  444. Desc:    add the specified logical record name to the log table, and optionally
  445.       lock the record
  446. Notes:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+,
  447.       Banyan VINES, and Alloy NTNX
  448.     locks on logical record names are advisory and may be ignored by other
  449.       applications
  450. SeeAlso: AH=BCh,AH=D1h,AH=D2h,AH=D4h,AH=EBh
  451. --------v-21D000-----------------------------
  452. INT 21 - VIRUS - "Fellowship" - INSTALLATION CHECK
  453.     AX = D000h
  454. Return: BX = 1234h if resident
  455. SeeAlso: AH=CCh"VIRUS",AH=D5h"VIRUS",AX=D5AAh
  456. --------N-21D1-------------------------------
  457. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOCK LOGICAL RECORD SET
  458.     AH = D1h
  459.     AL = lock type (00h exclusive, 01h shareable)
  460.     if function C6h lock mode 00h:
  461.         DL = mode (00h no wait, 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. Return: AL = status (see #0871)
  465. Desc:    attempt to lock all logical record names listed in the log table
  466. Notes:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+,
  467.       Banyan VINES, and Alloy NTNX
  468.     status FFh will be returned if one or more logical records have been
  469.       exclusively locked by another process
  470.     locks on logical record names are advisory and may be ignored by other
  471.       applications
  472. SeeAlso: AH=C2h,AH=CBh,AH=D0h,AH=D3h,AH=D5h
  473. --------N-21D2-------------------------------
  474. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE LOGICAL RECORD
  475.     AH = D2h
  476.     DS:DX -> semaphore identifier (counted string up to 99 chars long)
  477. Return: AL = status
  478.         00h successful
  479.         FFh no such record
  480. Desc:    unlock the logical record name but do not remove it from the log table
  481. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+,
  482.       Banyan VINES, and Alloy NTNX
  483.     locks on logical record names are advisory and may be ignored by other
  484.       applications
  485. SeeAlso: AH=BDh,AH=D0h,AH=D3h,AH=D4h
  486. --------v-21D2-------------------------------
  487. INT 21 - VIRUS???
  488.     AH = D2h
  489.     ???
  490. Return: ???
  491. Note:    this call is intercepted by the Search&Destroy SDRes v27.03 bundled
  492.       with Novell DOS 7, and is presumably some virus's installation check
  493. SeeAlso: AH=4Ah/BX=00B6h
  494. --------N-21D3-------------------------------
  495. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE LOGICAL RECORD SET
  496.     AH = D3h
  497. Desc:    unlock all currently-locked logical record names in the log table, but
  498.       do not remove them from the table
  499. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+,
  500.       Banyan VINES, and Alloy NTNX
  501.     locks on logical record names are advisory and may be ignored by other
  502.       applications
  503. SeeAlso: AH=C3h,AH=CDh,AH=D1h,AH=D2h,AH=D5h
  504. --------N-21D4-------------------------------
  505. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR LOGICAL RECORD
  506.     AH = D4h
  507.     DS:DX -> logical record name (counted string up to 99 chars long)
  508. Return: AL = status (00h,FFh) (see #0872)
  509. Desc:    unlock and remove the logical record name from the log table
  510. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+,
  511.       Banyan VINES, and Alloy NTNX
  512.     locks on logical record names are advisory and may be ignored by other
  513.       applications
  514. SeeAlso: AH=BEh,AH=D0h,AH=D2h,AH=D5h
  515.  
  516. (Table 0872)
  517. Values for NetWare status:
  518.  00h    successful
  519.  FFh    no such record name
  520. --------N-21D5-------------------------------
  521. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR LOGICAL RECORD SET
  522.     AH = D5h
  523. Return: AL = error code (00h,FFh) (see #0872)
  524. Desc:    unlock and remove all logical record name from the log table
  525. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+,
  526.       Banyan VINES, and Alloy NTNX
  527.     locks on logical record names are advisory and may be ignored by other
  528.       applications
  529. SeeAlso: AH=D1h,AH=D3h,AH=D4h
  530. --------v-21D5-------------------------------
  531. INT 21 - VIRUS - "Carfield" - ???
  532.     AH = D5h
  533.     ???
  534. Return: ???
  535. SeeAlso: AX=D5AAh,AH=F3h"Carfield"
  536. --------v-21D5AA-----------------------------
  537. INT 21 - VIRUS - "Diamond-A", "Diamond-B" - INSTALLATION CHECK
  538.     AX = D5AAh
  539. Return: AX = 2A55h if "Diamond-A" resident
  540.     AX = 2A03h if "Diamond-B"-family virus resident
  541. SeeAlso: AX=D000h,AH=D5h"VIRUS",AX=D5AAh/BP=DEAAh
  542. --------v-21D5AABPDEAA-----------------------
  543. INT 21 - VIRUS - "Dir" - INSTALLATION CHECK
  544.     AX = D5AAh
  545.     BP = DEAAh
  546. Return: SI = 4321h if resident
  547. SeeAlso: AX=D5AAh,AX=DADAh"VIRUS"
  548. --------N-21D6-------------------------------
  549. INT 21 - Novell NetWare - WORKSTATION - END OF JOB
  550.     AH = D6h
  551.     BX = job flag (0000h current job, FFFFh all processes on workstation)
  552. Return: AL = error code
  553. Desc:    unlocks and clears all locked or logged files and records held by the
  554.       process(es), closes all files, resets error and lock modes, and
  555.       releases all network resources
  556. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  557.       Alloy NTNX
  558. SeeAlso: AH=BBh,AH=D7h
  559. --------N-21D7-------------------------------
  560. INT 21 - Novell NetWare - CONNECTION SERVICES - SYSTEM LOGOUT
  561.     AH = D7h
  562. Return: AL = error code
  563. Desc:    this function closes the caller's open files, logs it out from all
  564.       file servers, detaches the workstation from all non-default file
  565.       servers, and maps a drive to the default server's SYS:LOGIN directory
  566. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  567.       Alloy NTNX
  568. SeeAlso: AH=D6h,AH=E3h/SF=14h,AH=F1h
  569. --------N-21D8-------------------------------
  570. INT 21 - Novell NetWare, Banyan VINES - ALLOCATE RESOURCE
  571.     AH = D8h
  572.     DL = resource number
  573. Return: AL = status (00h successful, 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 (00h successful, FFh unsucessful)
  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 #0873)
  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 NetWare reply buffer:
  599. Offset    Size    Description    (Table 0873)
  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 #0874)
  825.  
  826. (Table 0874)
  827. Values for Software Carousel error code:
  828.  00h    invalid subfunction in AL
  829.  01h    invalid task number
  830.  02h    tried to switch to task with no memory size
  831.  03h    tried to kill program in partition with no program running
  832.  04h    tried to change size of an active memory partition
  833.  05h    invalid memory size
  834.  06h    tried to send command to task with a pending previous command
  835. --------T-21DF02-----------------------------
  836. INT 21 - Software Carousel - KILL PROGRAM IN MEMORY PARTITION
  837.     AX = DF02h
  838.     BL = task number
  839. Return: AL = status
  840.         00h Carousel not running
  841.         01h successful
  842.         FFh unsucessful
  843.         AH = error code (01h,03h) (see #0874)
  844. --------T-21DF03-----------------------------
  845. INT 21 - Software Carousel - GET PARTITION SIZE AND PROGRAM STATUS
  846.     AX = DF03h
  847.     BL = task number
  848. Return: AL = status
  849.         00h Carousel not running
  850.         01h successful
  851.         BL = partition state (00h no program running, 01h prog running)
  852.         DX = partition size in KB
  853.         FFh unsucessful
  854.         AH = error code (01h) (see #0874)
  855. SeeAlso: AX=DF05h
  856. --------T-21DF04-----------------------------
  857. INT 21 - Software Carousel - GET PARTITION NAME
  858.     AX = DF04h
  859.     BL = task number
  860. Return: AL = status
  861.         00h Carousel not running
  862.         01h successful
  863.         CX = length of name (00h if default partition name)
  864.         ES:BX -> partition name (if CX nonzero)
  865.         FFh unsucessful
  866.         AH = error code (01h) (see #0874)
  867. SeeAlso: AX=DF06h
  868. --------T-21DF05-----------------------------
  869. INT 21 - Software Carousel - CHANGE PARTITION SIZE
  870.     AX = DF05h
  871.     BL = task number
  872.     DX = new size in KB
  873. Return: AL = status
  874.         00h Carousel not running
  875.         01h successful
  876.         FFh unsucessful
  877.         AH = error code (01h,04h,05h) (see #0874)
  878.     BX = minimum size allowed
  879.     CX = maximum size available
  880. SeeAlso: AX=DF03h
  881. --------T-21DF06-----------------------------
  882. INT 21 - Software Carousel - CHANGE PARTITION NAME
  883.     AX = DF06h
  884.     BL = task number
  885.     CX = length of new name (00h to use default, max 18h)
  886.     DS:SI -> new name
  887. Return: AL = status
  888.         00h Carousel not running
  889.         01h successful
  890.         FFh unsucessful
  891.         AH = error code (01h) (see #0874)
  892. SeeAlso: AX=DF04h
  893. --------T-21DF07-----------------------------
  894. INT 21 - Software Carousel - SEND COMMAND TO MEMORY SECTION
  895.     AX = DF07h
  896.     BL = task number
  897.     CX = length of command (max 8 chars)
  898.     DS:SI -> command line
  899. Return: AL = status
  900.         00h Carousel not running
  901.         01h successful
  902.         FFh unsucessful
  903.         AH = error code (01h,06h) (see #0874)
  904. Note:    the maximum length seems too small and may be a typo for 80 characters
  905. --------T-21DF08-----------------------------
  906. INT 21 - Software Carousel - SELECTIVELY ENABLE/DISABLE MENU AND SWITCHING
  907.     AX = DF08h
  908.     BL = new state of keyboard (00h disabled, 01h enabled)
  909. Return: AL = status
  910.         00h Carousel not running
  911.         01h successful
  912. Program: Software Carousel is a task switcher by SoftLogic Solutions, Inc.
  913. Note:    when the keyboard is is disabled, the user may neither access the
  914.       Carousel menu nor switch to another memory section
  915. --------T-21DF09-----------------------------
  916. INT 21 - Software Carousel - BOOT THE SYSTEM
  917.     AX = DF09h
  918. Return: AL = status
  919.         00h Carousel not running
  920.         FFh unsucessful
  921.         AH = error code (01h,03h) (see #0874)
  922. Note:    this function never returns is successful
  923. --------T-21DF0A-----------------------------
  924. INT 21 - Software Carousel - GET MEMORY SIZE/PARTITION NUMBER OF CURRENT TASK
  925.     AX = DF0Ah
  926. Return: AL = status
  927.         00h Carousel not running
  928.         01h successful
  929.         BL = task number
  930.         DX = memory size in KB
  931.         FFh unsucessful
  932.         AH = error code (01h,03h) (see #0874)
  933. --------T-21DF0B-----------------------------
  934. INT 21 - Software Carousel - SET TASK SWITCH CALLBACK
  935.     AX = DF0Bh
  936.     BH = interrupt number or 00h
  937.     BL = function number to invoke on partition switch
  938.     CL = function number to call when it is safe for resident programs
  939.         to perform DOS calls
  940.     DS:DX -> FAR function to call if BH=00h
  941. Return: AL = status
  942.         00h Carousel not running
  943.         01h successful
  944.         FFh unsucessful
  945.         AH = error code (01h,03h) (see #0874)
  946. Notes:    the specified interrupt or FAR function is called with AH set to the
  947.       appropriate one of the values specified in BL and CL, and BL set to
  948.       the new task number
  949.     the function specified by CL will not be called until the notification
  950.       is enabled with AX=DF0Ch
  951. SeeAlso: AX=DF0Ch
  952. --------T-21DF0C-----------------------------
  953. INT 21 - Software Carousel - ENABLE DOS-CALL SAFETY NOTIFICATION
  954.     AX = DF0Ch
  955. Return: AL = status
  956.         00h Carousel not running
  957.         01h successful
  958. Program: Software Carousel is a task switcher by SoftLogic Solutions, Inc.
  959. SeeAlso: AX=DF0Bh
  960. --------O-21E0-------------------------------
  961. INT 21 - Digital Research DOS Plus - CALL BDOS
  962.     AH = E0h
  963.     CL = BDOS function number (see INT E0"CP/M")
  964.     other registers as appropriate for function
  965. Return: as appropriate for function
  966. SeeAlso: AX=4459h,INT E0"CP/M"
  967. --------E-21E0-------------------------------
  968. INT 21 - OS/286, OS/386 - INITIALIZE REAL PROCEDURE
  969.     AH = E0h
  970.     ???
  971. Return: ???
  972. SeeAlso: AH=E1h"OS/286"
  973. --------T-21E0-------------------------------
  974. INT 21 - DoubleDOS - MENU CONTROL
  975.     AH = E0h
  976.     AL = subfunction
  977.         01h exchange tasks
  978.         73h resume invisible job if suspended
  979.         74h kill other job
  980.         75h suspend invisible job
  981. Note:    identical to AH=F0h
  982. SeeAlso: AH=F0h"DoubleDOS"
  983. --------v-21E0-------------------------------
  984. INT 21 - VIRUS - "Jerusalem", "Armagedon" - INSTALLATION CHECK
  985.     AH = E0h
  986. Return: AX = 0300h if "Jerusalem" resident
  987.     AX = DADAh if "Armagedon" resident
  988. SeeAlso: AH=DEh"VIRUS",AX=DEDEh"VIRUS",AX=E00Fh
  989. --------N-21E0-------------------------------
  990. INT 21 - Novell NetWare, Alloy NTNX - PRINT SPOOLING
  991.     AH = E0h
  992.     DS:SI -> request buffer (see #0875)
  993.     ES:DI -> reply buffer
  994. Return: AL = status
  995. Note:    this function was added in NetWare 4.0, but is no longer listed in
  996.       current Novell documentation and may no longer be supported
  997. SeeAlso: AH-E3h/SF=68h
  998.  
  999. Format of NetWare request buffer:
  1000. Offset    Size    Description    (Table 0875)
  1001.  00h    WORD    length of following data
  1002.  02h    BYTE    subfunction
  1003.         00h spool data to a capture file
  1004.         01h close and queue capture file
  1005.         02h set spool flags
  1006.         03h spool existing file
  1007.         04h get spool queue entry
  1008.         05h remove entry from spool queue
  1009.  03h    ???
  1010. --------N-21E0--SF06-------------------------
  1011. INT 21 - Novell NetWare - PRINT SERVICES - GET PRINTER STATUS
  1012.     AH = E0h subfn 06h
  1013.     DS:SI -> request buffer (see #0876)
  1014.     ES:DI -> reply buffer (see #0877)
  1015. Return: AL = status
  1016.         00h successful
  1017.         FFh no such printer
  1018. Desc:    get current state of specified printer attached to the server
  1019. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1020.       Alloy NTNX
  1021.  
  1022. Format of NetWare request buffer:
  1023. Offset    Size    Description    (Table 0876)
  1024.  00h    WORD    0002h (length of following data)
  1025.  02h    BYTE    06h (subfunction "Get Printer Status")
  1026.  03h    BYTE    printer number (00h-04h)
  1027.  
  1028. Format of NetWare reply buffer:
  1029. Offset    Size    Description    (Table 0877)
  1030.  00h    WORD    (call) 0004h (size of following results buffer)
  1031.  02h    BYTE    flag: 00h printer active, FFh printer halted
  1032.  03h    BYTE    flag: 00h printer online, 01h printer offline
  1033.  04h    BYTE    current form type
  1034.  05h    BYTE    target printer number (00h-04h)
  1035.         same as number in request buffer unless rerouted by server
  1036.           console
  1037. --------N-21E0--SF09-------------------------
  1038. INT 21 - Novell NetWare - PRINT SERVICES - SPECIFY CAPTURE FILE
  1039.     AH = E0h subfn 09h
  1040.     DS:SI -> request buffer (see #0878)
  1041.     ES:DI -> reply buffer (see #0879)
  1042. Return: AL = status
  1043.         00h successful
  1044.         9Ch invalid path
  1045. Desc:    create a permanent capture file for the next print capture to be
  1046.       started
  1047. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1048.       Alloy NTNX
  1049.     the caller must have read, write, and create rights for the directory
  1050.       containing the capture file
  1051.  
  1052. Format of NetWare request buffer:
  1053. Offset    Size    Description    (Table 0878)
  1054.  00h    WORD    length of following data (max 102h)
  1055.  02h    BYTE    09h (subfunction "Specify Capture File")
  1056.  03h    BYTE    directory handle or 00h
  1057.  04h    BYTE    length of filename
  1058.  05h  N BYTEs    name of capture file
  1059.  
  1060. Format of NetWare reply buffer:
  1061. Offset    Size    Description    (Table 0879)
  1062.  00h    WORD    (call) 0000h (no results returned)
  1063. --------v-21E00F-----------------------------
  1064. INT 21 - VIRUS - "8-tunes" - INSTALLATION CHECK
  1065.     AX = E00Fh
  1066. Return: AX = 4C31h if resident
  1067. SeeAlso: AH=E0h"VIRUS",AH=E1h"VIRUS"
  1068. --------E-21E1-------------------------------
  1069. INT 21 - OS/286, OS/386 - ISSUE REAL PROCEDURE CALL
  1070.     AH = E1h
  1071.     ???
  1072. Return: ???
  1073. Note:    protected mode only???
  1074. SeeAlso: AH=E0h"OS/286",AH=E2h"OS/286",AH=E3h"OS/286",AX=250Eh,INT 31/AX=0301h
  1075. --------T-21E1-------------------------------
  1076. INT 21 - DoubleDOS - CLEAR KEYBOARD BUFFER FOR CURRENT JOB
  1077.     AH = E1h
  1078. SeeAlso: AH=E2h"DoubleDOS",AH=E3h"DoubleDOS",AH=E8h"DoubleDOS"
  1079. SeeAlso: AH=F1h"DoubleDOS"
  1080. --------v-21E1-------------------------------
  1081. INT 21 - VIRUS - "Mendoza", "Fu Manchu" - INSTALLATION CHECK
  1082.     AH = E1h
  1083. Return: AX = 0300h if "Mendoza" resident
  1084.     AX = 0400h if "Fu Manchu" resident
  1085. SeeAlso: AX=E00Fh,AH=E4h"VIRUS"
  1086. --------N-21E1--SF00-------------------------
  1087. INT 21 - Novell NetWare - MESSAGE SERVICES - SEND BROADCAST MESSAGE
  1088.     AH = E1h subfn 00h
  1089.     DS:SI -> request buffer (see #0880)
  1090.     ES:DI -> reply buffer (see #0881)
  1091. Return: AL = status
  1092.         00h successful
  1093.         FEh I/O error or out of dynamic workspace
  1094. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  1095. SeeAlso: AH=DEh"NetWare",AH=DEh/DL=04h,AH=E1h/SF=01h,AH=E1h/SF=04h
  1096. SeeAlso: AH=E1h/SF=09h
  1097.  
  1098. Format of NetWare request buffer:
  1099. Offset    Size    Description    (Table 0880)
  1100.  00h    WORD    length of following data (max 9Eh)
  1101.  02h    BYTE    00h (subfunction "Send Broadcast Message")
  1102.  03h    BYTE    number of connections (01h-64h)
  1103.  04h  N BYTEs    list of connections to receive broadcast message
  1104.     BYTE    length of message (01h-37h)
  1105.       N BYTEs    broadcast message (no control characters or characters > 7Eh)
  1106.  
  1107. Format of NetWare reply buffer:
  1108. Offset    Size    Description    (Table 0881)
  1109.  00h    WORD    (call) size of following results buffer (max 65h)
  1110.  02h    BYTE    number of connections
  1111.  03h  N BYTEs    list of per-connection results
  1112.         00h successful
  1113.         FCh message rejected due to lack of buffer space
  1114.         FDh invalid connection number
  1115.         FFh blocked (see also AH=E1h/SF=02h)
  1116. --------N-21E1--SF01-------------------------
  1117. INT 21 - Novell NetWare - MESSAGE SERVICES - GET BROADCAST MESSAGE
  1118.     AH = E1h subfn 01h
  1119.     DS:SI -> request buffer (see #0882)
  1120.     ES:DI -> reply buffer (see #0883)
  1121. Return: AL = status
  1122.         00h successful
  1123.         FCh full message queue
  1124.         FEh out of dynamic workspace
  1125. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  1126. SeeAlso: AH=DEh/DL=04h,AH=E1h/SF=00h,AH=E1h/SF=05h,AH=E1h/SF=09h
  1127.  
  1128. Format of NetWare request buffer:
  1129. Offset    Size    Description    (Table 0882)
  1130.  00h    WORD    0001h (length of following data)
  1131.  02h    BYTE    01h (subfunction "Get Broadcast Message")
  1132.  
  1133. Format of NetWare reply buffer:
  1134. Offset    Size    Description    (Table 0883)
  1135.  00h    WORD    (call) size of following results buffer (max 38h)
  1136.  02h    BYTE    length of message (00h-37h)
  1137.         00h if no broadcast messages pending
  1138.  03h  N BYTEs    message (no control characters or characters > 7Eh)
  1139. --------N-21E1-------------------------------
  1140. INT 21 - Novell NetWare - MESSAGE SERVICES - ENABLE/DISABLE BROADCAST MESSAGES
  1141.     AH = E1h
  1142.     DS:SI -> request buffer (see #0884)
  1143.     ES:DI -> reply buffer (see #0885)
  1144. Return: AL = error code
  1145. Note:    these functions are supported by NetWare 4.0+ but are not listed in
  1146.       _NetWare_System_Calls--DOS_; they may be obsolete
  1147. SeeAlso: AH=E1h/SF=00h,AH=E1h/SF=04h,AH=E1h/SF=09h
  1148.  
  1149. Format of NetWare request buffer:
  1150. Offset    Size    Description    (Table 0884)
  1151.  00h    WORD    length of following data (max 9Eh)
  1152.  02h    BYTE    subfunction
  1153.         02h disable station broadcasts
  1154.         03h enable station broadcasts
  1155.  03h    ???
  1156.  
  1157. Format of NetWare reply buffer:
  1158. Offset    Size    Description    (Table 0885)
  1159.  00h    WORD    (call) size of following results buffer
  1160.  02h    ???
  1161. --------N-21E1--SF04-------------------------
  1162. INT 21 O - Novell NetWare - MESSAGE SERVICES - SEND PERSONAL MESSAGE
  1163.     AH = E1h subfn 04h
  1164.     DS:SI -> request buffer (see #0886)
  1165.     ES:DI -> reply buffer (see #0887)
  1166. Return: AL = status
  1167.         00h successful
  1168.         FEh I/O error or out of dynamic workspace
  1169. Notes:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0-2.x
  1170.     message pipes use CPU time on the file server; IPX, SPX, or NetBIOS
  1171.       connections should be used for peer-to-peer communications as these
  1172.       protocols do not use file server time
  1173. SeeAlso: AH=E1h/SF=00h,AH=E1h/SF=05h,AH=E1h/SF=06h,AH=E1h/SF=08h
  1174.  
  1175. Format of NetWare request buffer:
  1176. Offset    Size    Description    (Table 0886)
  1177.  00h    WORD    length of following data (max E5h)
  1178.  02h    BYTE    04h (subfunction "Send Personal Message")
  1179.  03h    BYTE    number of connections (01h-64h)
  1180.  04h  N BYTEs    list of connections to receive broadcast message
  1181.     BYTE    length of message (01h-7Eh)
  1182.       N BYTEs    message (no control characters or characters > 7Eh)
  1183.  
  1184. Format of NetWare reply buffer:
  1185. Offset    Size    Description    (Table 0887)
  1186.  00h    WORD    (call) size of following results buffer (max 65h)
  1187.  02h    BYTE    number of connections
  1188.  03h  N BYTEs    list of per-connection results
  1189.         00h successful
  1190.         FCh message rejected because queue is full (contains 6 msgs)
  1191.         FDh incomplete pipe
  1192.         FFh failed
  1193. --------N-21E1--SF05-------------------------
  1194. INT 21 O - Novell NetWare - MESSAGE SERVICES - GET PERSONAL MESSAGE
  1195.     AH = E1h subfn 05h
  1196.     DS:SI -> request buffer (see #0888)
  1197.     ES:DI -> reply buffer (see #0889)
  1198. Return: AL = status
  1199.         00h successful
  1200.         FEh out of dynamic workspace
  1201. Desc:    return the oldest message in the default file server's message queue
  1202.       for the calling workstation
  1203. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0-2.x
  1204. SeeAlso: AH=E1h/SF=01h,AH=E1h/SF=04h,AH=E1h/SF=06h,AH=E1h/SF=08h
  1205.  
  1206. Format of NetWare request buffer:
  1207. Offset    Size    Description    (Table 0888)
  1208.  00h    WORD    0001h (length of following data)
  1209.  02h    BYTE    05h (subfunction "Get Personal Message")
  1210.  
  1211. Format of NetWare reply buffer:
  1212. Offset    Size    Description    (Table 0889)
  1213.  00h    WORD    (call) size of following results buffer (max 80h)
  1214.  02h    BYTE    connection number of sending station
  1215.  03h    BYTE    length of message (00h-7Eh)
  1216.         00h if no personal messages pending
  1217.  04h  N BYTEs    message (no control characters or characters > 7Eh)
  1218. --------N-21E1--SF06-------------------------
  1219. INT 21 O - Novell NetWare - MESSAGE SERVICES - OPEN MESSAGE PIPE
  1220.     AH = E1h subfn 06h
  1221.     DS:SI -> request buffer (see #0890)
  1222.     ES:DI -> reply buffer (see #0891)
  1223. Return: AL = status
  1224.         00h successful
  1225.         FEh out of dynamic workspace
  1226. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0-2.x
  1227. SeeAlso: AH=E1h/SF=04h,AH=E1h/SF=07h,AH=E1h/SF=08h
  1228.  
  1229. Format of NetWare request buffer:
  1230. Offset    Size    Description    (Table 0890)
  1231.  00h    WORD    length of following data (max 66h)
  1232.  02h    BYTE    06h (subfunction "Open Message Pipe")
  1233.  03h    BYTE    number of pipes to open (01h-64h)
  1234.  04h  N BYTEs    list of connection numbers
  1235.  
  1236. Format of NetWare reply buffer:
  1237. Offset    Size    Description    (Table 0891)
  1238.  00h    WORD    (call) size of following results buffer (max 65h)
  1239.  02h    BYTE    number of connections
  1240.  03h  N BYTEs    list of results
  1241.         00h successful
  1242.         FEh incomplete (target half not yet created)
  1243.         FFh failed
  1244. --------N-21E1--SF07-------------------------
  1245. INT 21 O - Novell NetWare - MESSAGE SERVICES - CLOSE MESSAGE PIPE
  1246.     AH = E1h subfn 07h
  1247.     DS:SI -> request buffer (see #0892)
  1248.     ES:DI -> reply buffer (see #0893)
  1249. Return: AL = status
  1250.         00h successful
  1251.         FCh full message queue
  1252.         FEh out of dynamic workspace
  1253. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0-2.x
  1254. SeeAlso: AH=E1h/SF=05h,AH=E1h/SF=06h,AH=E1h/SF=08h
  1255.  
  1256. Format of NetWare request buffer:
  1257. Offset    Size    Description    (Table 0892)
  1258.  00h    WORD    length of following data (max 66h)
  1259.  02h    BYTE    07h (subfunction "Close Message Pipe")
  1260.  03h    BYTE    number of pipes to close (01h-64h)
  1261.  04h  N BYTEs    list of connection numbers
  1262.  
  1263. Format of NetWare reply buffer:
  1264. Offset    Size    Description    (Table 0893)
  1265.  00h    WORD    (call) size of following results buffer (max 65h)
  1266.  02h    BYTE    number of connections
  1267.  03h  N BYTEs    list of results
  1268.         00h successful
  1269.         FDh failed
  1270.         FFh no such pipe
  1271. --------N-21E1--SF08-------------------------
  1272. INT 21 O - Novell NetWare - MESSAGE SERVICES - CHECK PIPE STATUS
  1273.     AH = E1h subfn 08h
  1274.     DS:SI -> request buffer (see #0895)
  1275.     ES:DI -> reply buffer (see #0896)
  1276. Return: AL = status (see #0894)
  1277. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0-2.x
  1278. SeeAlso: AH=E1h/SF=05h,AH=E1h/SF=06h,AH=E1h/SF=07h
  1279.  
  1280. (Table 0894)
  1281. Values for NetWare function status:
  1282.  00h    successful
  1283.  FCh    full message queue
  1284.  FEh    out of dynamic workspace
  1285.  
  1286. Format of NetWare request buffer:
  1287. Offset    Size    Description    (Table 0895)
  1288.  00h    WORD    length of following data (max 66h)
  1289.  02h    BYTE    08h (subfunction "Check Pipe Status")
  1290.  03h    BYTE    number of pipes to monitor (01h-64h)
  1291.  04h  N BYTEs    list of connection numbers
  1292.  
  1293. Format of NetWare reply buffer:
  1294. Offset    Size    Description    (Table 0896)
  1295.  00h    WORD    (call) size of following results buffer (max 65h)
  1296.  02h    BYTE    number of connections
  1297.  03h  N BYTEs    list of pipe statuses
  1298.         00h open
  1299.         FEh incomplete
  1300.         FFh closed
  1301. --------N-21E1--SF09-------------------------
  1302. INT 21 - Novell NetWare - MESSAGE SERVICES - BROADCAST TO CONSOLE
  1303.     AH = E1h subfn 09h
  1304.     DS:SI -> request buffer (see #0897)
  1305.     ES:DI -> reply buffer (see #0898)
  1306. Return: AL = status (see #0894)
  1307. Desc:    send a one-line message to the system console on the default file
  1308.       server
  1309. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  1310. SeeAlso: AH=DEh/DL=04h,AH=E1h/SF=00h,AH=E1h/SF=01h,AH=E3h/SF=D1h
  1311.  
  1312. Format of NetWare request buffer:
  1313. Offset    Size    Description    (Table 0897)
  1314.  00h    WORD    length of following data (max 3Eh)
  1315.  02h    BYTE    09h (subfunction "Broadcast to Console")
  1316.  03h    BYTE    length of message (01h-3Ch)
  1317.  04h  N BYTEs    message (no control characters or characters > 7Eh)
  1318.  
  1319. Format of NetWare reply buffer:
  1320. Offset    Size    Description    (Table 0898)
  1321.  00h    WORD    (call) 0000h (no results returned)
  1322. --------E-21E2-------------------------------
  1323. INT 21 - OS/286, OS/386 - SET REAL PROCEDURE SIGNAL HANDLER
  1324.     AH = E2h
  1325.     ???
  1326. Return: ???
  1327. SeeAlso: AH=E0h"OS/286",AH=E1h"OS/286",AH=E6h"OS/286"
  1328. --------N-21E2-------------------------------
  1329. INT 21 - DoubleDOS - SEND CHARACTER TO KEYBOARD BUFFER OF OTHER JOB
  1330.     AH = E2h
  1331.     AL = character
  1332. Return: AL = 00h successful
  1333.          01h buffer full (128 characters)
  1334. SeeAlso: AH=E1h"DoubleDOS",AH=E3h"DoubleDOS",AH=E8h"DoubleDOS"
  1335. SeeAlso: AH=F2h"DoubleDOS"
  1336. --------N-21E2--SF00-------------------------
  1337. INT 21 - Novell NetWare - DIRECTORY SERVICES - SET DIRECTORY HANDLE
  1338.     AH = E2h subfn 00h
  1339.     DS:SI -> request buffer (see #0900)
  1340.     ES:DI -> reply buffer (see #0901)
  1341. Return: AL = status (00h,98h,9Bh,9Ch) (see #0899)
  1342. Desc:    set the target handle to reference the directory specified by the
  1343.       source handle and the source path; both handles must refer to the
  1344.       same file server
  1345. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1346.       Alloy NTNX
  1347.     the target handle is not changed if this function fails
  1348. SeeAlso: AH=E2h/SF=01h,AH=E2h/SF=12h,AH=E2h/SF=13h
  1349.  
  1350. (Table 0899)
  1351. Values for NetWare function status:
  1352.  00h    successful
  1353.  84h    not permitted to create
  1354.  8Ah    not permitted to delete
  1355.  8Bh    not permitted to rename
  1356.  8Ch    not permitted to modify
  1357.  98h    nonexistent volume
  1358.  9Bh    invalid directory handle
  1359.  9Ch    invalid path
  1360.  9Eh    invalid filename
  1361.  9Fh    directory currently in use
  1362.  A0h    directory not empty
  1363.  C6h    no console rights
  1364.  FCh    no such bindery object
  1365.  
  1366. Format of NetWare request buffer:
  1367. Offset    Size    Description    (Table 0900)
  1368.  00h    WORD    length of following data (max 103h)
  1369.  02h    BYTE    00h (subfunction "Set Directory Handle")
  1370.  03h    BYTE    directory handle of target
  1371.  04h    BYTE    directory handle of source
  1372.  05h    BYTE    length of source directory path (01h-FFh)
  1373.  06h  N BYTEs    source directory path
  1374.  
  1375. Format of NetWare reply buffer:
  1376. Offset    Size    Description    (Table 0901)
  1377.  00h    WORD    (call) 0000h (no results returned)
  1378. --------N-21E2--SF01-------------------------
  1379. INT 21 - Novell NetWare - DIRECTORY SERVICES - GET DIRECTORY PATH
  1380.     AH = E2h subfn 01h
  1381.     DS:SI -> request buffer (see #0902)
  1382.     ES:DI -> reply buffer (see #0903)
  1383. Return: AL = status (00h,9Bh) (see #0899)
  1384. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1385.       Alloy NTNX
  1386. SeeAlso: AH=E2h/SF=02h,AH=E2h/SF=03h,AH=E2h/SF=1Ah,AH=E9h
  1387.  
  1388. Format of NetWare request buffer:
  1389. Offset    Size    Description    (Table 0902)
  1390.  00h    WORD    0002h (length of following data)
  1391.  02h    BYTE    01h (subfunction "Get Directory Path")
  1392.  03h    BYTE    directory handle
  1393.  
  1394. Format of NetWare reply buffer:
  1395. Offset    Size    Description    (Table 0903)
  1396.  00h    WORD    (call) length of following data buffer
  1397.  02h    BYTE    length of directory path (01h-FFh)
  1398.  03h  N BYTEs    full directory path including volume
  1399. --------N-21E2--SF02-------------------------
  1400. INT 21 - Novell NetWare - DIRECTORY SERVICES - SCAN DIRECTORY INFORMATION
  1401.     AH = E2h subfn 02h
  1402.     DS:SI -> request buffer (see #0904)
  1403.     ES:DI -> reply buffer (see #0905)
  1404. Return: AL = status (00h,98h,9Bh,9Ch) (see #0899)
  1405. Desc:    get information about the first or next subdirectory of the specified
  1406.       directory
  1407. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1408.       Alloy NTNX
  1409. SeeAlso: AH=E2h/SF=01h,AH=E2h/SF=03h,AH=E2h/SF=19h
  1410.  
  1411. Format of NetWare request buffer:
  1412. Offset    Size    Description    (Table 0904)
  1413.  00h    WORD    length of following data (max 104h)
  1414.  02h    BYTE    02h (subfunction "Scan Directory Information")
  1415.  03h    BYTE    directory handle
  1416.  04h    WORD    (big-endian) subdirectory number
  1417.         0000h for first call, returned subdir number + 1 on next call
  1418.  06h    BYTE    length of directory path
  1419.  07h  N BYTEs    directory path
  1420.  
  1421. Format of NetWare reply buffer:
  1422. Offset    Size    Description    (Table 0905)
  1423.  00h    WORD    (call) 001Ch (length of following data buffer)
  1424.  02h 16 BYTEs    subdirectory name
  1425.  12h    DWORD    (big-endian) date and time of creation (see #0906)
  1426.  16h    DWORD    (big-endian) object ID of owner
  1427.  1Ah    BYTE    maximum directory rights (see #0909)
  1428.  1Bh    BYTE    unused
  1429.  1Ch    WORD    (big-endian) subdirectory number
  1430.  
  1431. Bitfields for NetWare date and time:
  1432. Bit(s)    Description    (Table 0906)
  1433.  31-25    year-1980
  1434.  24-21    month
  1435.  20-16    day
  1436.  15-11    hour
  1437.  10-5    minute
  1438.  4-0    second
  1439. --------N-21E2--SF03-------------------------
  1440. INT 21 - Novell NetWare - DIRECTORY SERVICES - GET EFFECTIVE DIRECTORY RIGHTS
  1441.     AH = E2h subfn 03h
  1442.     DS:SI -> request buffer (see #0907)
  1443.     ES:DI -> reply buffer (see #0908)
  1444. Return: AL = status (00h,98h,9Bh) (see #0899)
  1445. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1446.       Alloy NTNX
  1447. SeeAlso: AH=E2h/SF=01h,AH=E2h/SF=02h
  1448.  
  1449. Format of NetWare request buffer:
  1450. Offset    Size    Description    (Table 0907)
  1451.  00h    WORD    length of following data (max 102h)
  1452.  02h    BYTE    03h (subfunction "Get Effective Directory Rights")
  1453.  03h    BYTE    directory handle
  1454.  04h    BYTE    length of directory path (00h-FFh)
  1455.  05h  N BYTEs    directory path
  1456.  
  1457. Format of NetWare reply buffer:
  1458. Offset    Size    Description    (Table 0908)
  1459.  00h    WORD    (call) 0001h (length of following data buffer)
  1460.  02h    BYTE    effective directory rights (see #0909)
  1461.  
  1462. Bitfields for NetWare directory rights:
  1463. Bit(s)    Description    (Table 0909)
  1464.  0    reading allowed
  1465.  1    writing allowed
  1466.  2    opens allowed
  1467.  3    file creation allowed
  1468.  4    deletion allowed
  1469.  5    "parental" may create/delete subdirectories and grant/revoke trustee
  1470.       rights
  1471.  6    directory search allowed
  1472.  7    file attributes may be changed
  1473. --------N-21E2--SF04-------------------------
  1474. INT 21 - Novell NetWare - DIRECTORY SERVICES - MODIFY MAXIMUM RIGHTS MASK
  1475.     AH = E2h subfn 04h
  1476.     DS:SI -> request buffer (see #0910)
  1477.     ES:DI -> reply buffer (see #0911)
  1478. Return: AL = status (00h,8Ch,98h,9Ch) (see #0899)
  1479. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1480.       Alloy NTNX
  1481. SeeAlso: AH=E2h/SF=03h,AH=E2h/SF=0Ah,AH=E2h/SF=0Dh
  1482.  
  1483. Format of NetWare request buffer:
  1484. Offset    Size    Description    (Table 0910)
  1485.  00h    WORD    length of following data (max 104h)
  1486.  02h    BYTE    04h (subfunction "Modify Maximum Rights Mask")
  1487.  03h    BYTE    directory handle
  1488.  04h    BYTE    rights to grant (see #0909)
  1489.  05h    BYTE    rights to revoke (see #0909)
  1490.  06h    BYTE    length of directory path (00h-FFh)
  1491.  07h  N BYTEs    directory path
  1492. Note:    the rights specified at offset 05h are revoked first, and then the
  1493.       rights specified at offset 04h are added to the resulting rights
  1494.       mask
  1495.  
  1496. Format of NetWare reply buffer:
  1497. Offset    Size    Description    (Table 0911)
  1498.  00h    WORD    (call) 0000h (no results returned)
  1499. --------N-21E2--SF05-------------------------
  1500. INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME NUMBER
  1501.     AH = E2h subfn 05h
  1502.     DS:SI -> request buffer (see #0912)
  1503.     ES:DI -> reply buffer (see #0913)
  1504. Return: AL = status (00h,98h) (see #0899)
  1505. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1506.       Alloy NTNX
  1507. SeeAlso: AH=DAh,AH=E2h/SF=02h,AH=E2h/SF=05h,AH=E2h/SF=15h,AH=E3h/SF=E9h
  1508.  
  1509. Format of NetWare request buffer:
  1510. Offset    Size    Description    (Table 0912)
  1511.  00h    WORD    length of following data (max 12h)
  1512.  02h    BYTE    05h (subfunction "Get Volume Number")
  1513.  03h    BYTE    length of volume name (01h-10h)
  1514.  04h  N BYTEs    volume name
  1515.  
  1516. Format of NetWare reply buffer:
  1517. Offset    Size    Description    (Table 0913)
  1518.  00h    WORD    (call) 0001h (length of following results buffer)
  1519.  02h    BYTE    volume number
  1520. --------N-21E2--SF06-------------------------
  1521. INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME NAME
  1522.     AH = E2h subfn 06h
  1523.     DS:SI -> request buffer (see #0914)
  1524.     ES:DI -> reply buffer (see #0915)
  1525. Return: AL = status (00h,98h) (see #0899)
  1526. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1527.       Alloy NTNX
  1528. SeeAlso: AH=DAh,AH=E2h/SF=02h,AH=E2h/SF=05h,AH=E2h/SF=15h,AH=E2h/SF=1Ah
  1529. SeeAlso: AH=E3h/SF=E9h
  1530.  
  1531. Format of NetWare request buffer:
  1532. Offset    Size    Description    (Table 0914)
  1533.  00h    WORD    0002h (length of following data)
  1534.  02h    BYTE    06h (subfunction "Get Volume Name")
  1535.  03h    BYTE    volume number
  1536.  
  1537. Format of NetWare reply buffer:
  1538. Offset    Size    Description    (Table 0915)
  1539.  00h    WORD    (call) 0011h (length of following results buffer)
  1540.  02h    BYTE    length of volume name
  1541.  03h 16 BYTEs    NUL-padded volume name
  1542. --------N-21E2--SF0A-------------------------
  1543. INT 21 - Novell NetWare - DIRECTORY SERVICES - CREATE DIRECTORY
  1544.     AH = E2h subfn 0Ah
  1545.     DS:SI -> request buffer (see #0916)
  1546.     ES:DI -> reply buffer (see #0917)
  1547. Return: AL = status (00h,84h,98h,FCh) (see #0899)
  1548. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1549.       Alloy NTNX
  1550. SeeAlso: AH=39h,AH=E2h/SF=0Bh,AH=E2h/SF=0Fh
  1551.  
  1552. Format of NetWare request buffer:
  1553. Offset    Size    Description    (Table 0916)
  1554.  00h    WORD    length of following data (max 103h)
  1555.  02h    BYTE    0Ah (subfunction "Create Directory")
  1556.  03h    BYTE    directory handle
  1557.  04h    BYTE    maximum directory rights (see #0909)
  1558.  05h    BYTE    length of directory path (00h-FFh)
  1559.  06h  N BYTEs    directory path
  1560.  
  1561. Format of NetWare reply buffer:
  1562. Offset    Size    Description    (Table 0917)
  1563.  00h    WORD    (call) 0000h (no data returned)
  1564. --------N-21E2--SF0B-------------------------
  1565. INT 21 - Novell NetWare - DIRECTORY SERVICES - DELETE DIRECTORY
  1566.     AH = E2h subfn 0Bh
  1567.     DS:SI -> request buffer (see #0918)
  1568.     ES:DI -> reply buffer (see #0917)
  1569. Return: AL = status (00h,8Ah,98h,9Bh,9Ch,9Fh,A0h) (see #0899)
  1570. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1571.       Alloy NTNX
  1572. SeeAlso: AH=3Ah,AH=E2h/SF=0Ah,AH=E2h/SF=0Fh
  1573.  
  1574. Format of NetWare request buffer:
  1575. Offset    Size    Description    (Table 0918)
  1576.  00h    WORD    length of following data (max 103h)
  1577.  02h    BYTE    0Bh (subfunction "Delete Directory")
  1578.  03h    BYTE    directory handle
  1579.  04h    BYTE    unused
  1580.  05h    BYTE    length of directory path (00h-FFh)
  1581.  06h  N BYTEs    directory path
  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 #0919)
  1586.     ES:DI -> reply buffer (see #0920)
  1587. Return: AL = status (00h,9Ch) (see also #0899)
  1588.         9Ch no more trustees
  1589. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  1590. SeeAlso: AH=E2h/SF=0Dh,AH=E2h/SF=0Eh,AH=E3h/SF=47h
  1591.  
  1592. Format of NetWare request buffer:
  1593. Offset    Size    Description    (Table 0919)
  1594.  00h    WORD    length of following data (max 103h)
  1595.  02h    BYTE    0Ch (subfunction "Scan Directory For Trustees")
  1596.  03h    BYTE    directory handle
  1597.  04h    BYTE    sequence number
  1598.         00h on first call, increment for each subsequent call
  1599.  05h    BYTE    length of directory path (00h-FFh)
  1600.  06h  N BYTEs    directory path
  1601.  
  1602. Format of NetWare reply buffer:
  1603. Offset    Size    Description    (Table 0920)
  1604.  00h    WORD    (call) 0031h (length of following results buffer)
  1605.  02h 16 BYTEs    directory name
  1606.  12h  4 BYTEs    date and time of creation
  1607.  16h    DWORD    (big-endian) object ID of owner
  1608.  1Ah  5 DWORDs    (big-endian) object IDs of Trustees 0 through 4
  1609.         00000000h = end of group
  1610.  2Eh  5 BYTEs    directory rights for Trustees 0 through 4 (see #0909)
  1611. --------N-21E2--SF0D-------------------------
  1612. INT 21 - Novell NetWare - DIRECTORY SERVICES - ADD TRUSTEE TO DIRECTORY
  1613.     AH = E2h subfn 0Dh
  1614.     DS:SI -> request buffer (see #0921)
  1615.     ES:DI -> reply buffer (see #0923)
  1616. Return: AL = status (00h,8Ch,FCh) (see #0899)
  1617. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1618.       Alloy NTNX
  1619. SeeAlso: AH=E2h/SF=0Ch,AH=E2h/SF=0Eh,AH=E3h/SF=47h
  1620.  
  1621. Format of NetWare request buffer:
  1622. Offset    Size    Description    (Table 0921)
  1623.  00h    WORD    length of following data (max 107h)
  1624.  02h    BYTE    0Dh (subfunction "Add Trustee To Directory")
  1625.  03h    BYTE    directory handle
  1626.  04h    DWORD    (big-endian) object ID of trustee
  1627.  08h    BYTE    trustee directory rights (see #0909)
  1628.  09h    BYTE    length of directory path (00h-FFh)
  1629.  0Ah  N BYTEs    directory path
  1630. --------N-21E2--SF0E-------------------------
  1631. INT 21 - Novell NetWare - DIRECTORY SERVICES - DELETE TRUSTEE FROM DIRECTORY
  1632.     AH = E2h subfn 0Eh
  1633.     DS:SI -> request buffer (see #0922)
  1634.     ES:DI -> reply buffer (see #0923)
  1635. Return: AL = status (00h,98h,9Bh,9Ch) (see #0899)
  1636. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1637.       Alloy NTNX
  1638. SeeAlso: AH=E2h/SF=0Ch,AH=E2h/SF=0Dh
  1639.  
  1640. Format of NetWare request buffer:
  1641. Offset    Size    Description    (Table 0922)
  1642.  00h    WORD    length of following data (max 107h)
  1643.  02h    BYTE    0Eh (subfunction "Delete Trustee From Directory")
  1644.  03h    BYTE    directory handle
  1645.  04h    DWORD    (big-endian) object ID of trustee
  1646.  08h    BYTE    unused
  1647.  09h    BYTE    length of directory path (00h-FFh)
  1648.  0Ah  N BYTEs    directory path
  1649.  
  1650. Format of NetWare reply buffer:
  1651. Offset    Size    Description    (Table 0923)
  1652.  00h    WORD    (call) 0000h (no data returned)
  1653. --------N-21E2--SF0F-------------------------
  1654. INT 21 - Novell NetWare - DIRECTORY SERVICES - RENAME DIRECTORY
  1655.     AH = E2h subfn 0Fh
  1656.     DS:SI -> request buffer (see #0924)
  1657.     ES:DI -> reply buffer (see #0923)
  1658. Return: AL = status (00h,8Bh,9Bh,9Ch,9Eh) (see #0899)
  1659. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1660.       Alloy NTNX
  1661.     directories SYS:LOGIN, SYS:MAIL, and SYS:PUBLIC must not be renamed
  1662. SeeAlso: AH=56h,AH=E2h/SF=0Ah,AH=E2h/SF=0Bh
  1663.  
  1664. Format of NetWare request buffer:
  1665. Offset    Size    Description    (Table 0924)
  1666.  00h    WORD    length of following data (max 111h)
  1667.  02h    BYTE    0Fh (subfunction "Rename Directory")
  1668.  03h    BYTE    directory handle
  1669.  04h    BYTE    length of directory path (00h-FFh)
  1670.  05h  N BYTEs    directory path
  1671.     BYTE    length of new directory name (01h-0Eh)
  1672.       N BYTEs    new directory name
  1673. --------N-21E2--SF10-------------------------
  1674. INT 21 - Novell NetWare - FILE SERVICES - PURGE ERASED FILES
  1675.     AH = E2h subfn 10h
  1676.     DS:SI -> request buffer (see #0925)
  1677.     ES:DI -> reply buffer (see #0923)
  1678. Return: AL = status (00h,C6h) (see #0926)
  1679. Desc:    purges files marked for deletion on the file server by the calling
  1680.       workstation
  1681. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1682.       Alloy NTNX
  1683. SeeAlso: AH=13h,AH=41h,AH=E2h/SF=11h,AH=E3h/SF=CEh,AX=F244h
  1684.  
  1685. Format of NetWare request buffer:
  1686. Offset    Size    Description    (Table 0925)
  1687.  00h    WORD    0001h (length of following data)
  1688.  02h    BYTE    10h (subfunction "Purge Erased Files")
  1689. --------N-21E2--SF11-------------------------
  1690. INT 21 - Novell NetWare - FILE SERVICES - RESTORE ERASED FILE
  1691.     AH = E2h subfn 11h
  1692.     DS:SI -> request buffer (see #0927)
  1693.     ES:DI -> reply buffer (see #0928)
  1694. Return: AL = status (00h,98h,FFh) (see #0926)
  1695. Desc:    restores one file marked for deletion which has not yet been purged
  1696. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1697.       Alloy NTNX
  1698. SeeAlso: AH=13h,AH=41h,AH=E2h/SF=10h,AH=E3h/SF=CEh,AX=F244h
  1699.  
  1700. (Table 0926)
  1701. Values for NetWare function status:
  1702.  00h    successful
  1703.  98h    nonexistent volume
  1704.  9Ch    invalid path
  1705.  C6h    no console rights
  1706.  FFh    no more erased files
  1707.  
  1708. Format of NetWare request buffer:
  1709. Offset    Size    Description    (Table 0927)
  1710.  00h    WORD    length of following data (max 13h)
  1711.  02h    BYTE    11h (subfunction "Restore Erased File")
  1712.  03h    BYTE    directory handle or 00h
  1713.  04h    BYTE    length of volume name
  1714.  05h  N BYTEs    volume name (including colon)
  1715. Note:    if both a directory handle and a volume name are specified, the volume
  1716.       name overrides the handle
  1717.  
  1718. Format of NetWare reply buffer:
  1719. Offset    Size    Description    (Table 0928)
  1720.  00h    WORD    (call) 001Eh (size of following results buffer)
  1721.  02h 15 BYTEs    ASCIZ name of erased file
  1722.  11h 15 BYTEs    ASCIZ name under which file was restored
  1723. --------N-21E2--SF12-------------------------
  1724. INT 21 - Novell NetWare - DIRECTORY SERVICES - ALLOC PERMANENT DIRECTORY HANDLE
  1725.     AH = E2h subfn 12h
  1726.     DS:SI -> request buffer (see #0929)
  1727.     ES:DI -> reply buffer (see #0930)
  1728. Return: AL = status (00h,98h,9Ch) (see #0926)
  1729. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1730.       Alloy NTNX
  1731. SeeAlso: AH=E2h/SF=00h,AH=E2h/SF=13h,AH=E2h/SF=14h
  1732.  
  1733. Format of NetWare request buffer:
  1734. Offset    Size    Description    (Table 0929)
  1735.  00h    WORD    length of following data (max 103h)
  1736.  02h    BYTE    12h (subfunction "Alloc Permanent Directory Handle")
  1737.  03h    BYTE    directory handle
  1738.  04h    BYTE    drive ('A'-'Z')
  1739.  05h    BYTE    length of directory path
  1740.  06h  N BYTEs    directory path
  1741.  
  1742. Format of NetWare reply buffer:
  1743. Offset    Size    Description    (Table 0930)
  1744.  00h    WORD    (call) 0002h (size of following results buffer)
  1745.  02h    BYTE    new directory handle
  1746.  03h    BYTE    effective directory rights (see #0909)
  1747. --------N-21E2--SF13-------------------------
  1748. INT 21 - Novell NetWare - DIRECTORY SERVICES - ALLOC TEMPORARY DIRECTORY HANDLE
  1749.     AH = E2h subfn 13h
  1750.     DS:SI -> request buffer (see #0931)
  1751.     ES:DI -> reply buffer (see #0933)
  1752. Return: AL = status (00h,98h,9Ch) (see #0926)
  1753. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1754.       Alloy NTNX
  1755.     this call is the same as AH=E2h/SF=12h except that the directory handle
  1756.       will be automatically deallocated when the calling application
  1757.       executes an End of Job call (AH=D6h) or terminates
  1758. SeeAlso: AH=D6h,AH=E2h/SF=00h,AH=E2h/SF=12h,AH=E2h/SF=14h,AH=E2h/SF=16h
  1759.  
  1760. Format of NetWare request buffer:
  1761. Offset    Size    Description    (Table 0931)
  1762.  00h    WORD    length of following data (max 103h)
  1763.  02h    BYTE    13h (subfunction "Alloc Temporary Directory Handle")
  1764.  03h    BYTE    directory handle
  1765.  04h    BYTE    drive ('A'-'Z')
  1766.  05h    BYTE    length of directory path
  1767.  06h  N BYTEs    directory path
  1768. --------N-21E2--SF14-------------------------
  1769. INT 21 - Novell NetWare - DIRECTORY SERVICES - DEALLOCATE DIRECTORY HANDLE
  1770.     AH = E2h subfn 14h
  1771.     DS:SI -> request buffer (see #0932)
  1772.     ES:DI -> reply buffer (see #0933)
  1773. Return: AL = status (00h,9Bh) (see #0899)
  1774. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1775.       Alloy NTNX
  1776. SeeAlso: AH=E2h/SF=12h,AH=E2h/SF=13h
  1777.  
  1778. Format of NetWare request buffer:
  1779. Offset    Size    Description    (Table 0932)
  1780.  00h    WORD    0002h (length of following data)
  1781.  02h    BYTE    14h (subfunction "Deallocate Directory Handle")
  1782.  03h    BYTE    directory handle
  1783.  
  1784. Format of NetWare reply buffer:
  1785. Offset    Size    Description    (Table 0933)
  1786.  00h    WORD    (call) 0000h (no returned data)
  1787. --------N-21E2--SF15-------------------------
  1788. INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME INFO WITH HANDLE
  1789.     AH = E2h subfn 15h
  1790.     DS:SI -> request buffer (see #0934)
  1791.     ES:DI -> reply buffer (see #0935)
  1792. Return: AL = status
  1793.         00h successful
  1794. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1795.       Alloy NTNX
  1796. SeeAlso: AH=DAh,AH=E2h/SF=02h,AH=E2h/SF=06h,AH=E2h/SF=19h,AH=E3h/SF=E9h
  1797.  
  1798. Format of NetWare request buffer:
  1799. Offset    Size    Description    (Table 0934)
  1800.  00h    WORD    0002h (length of following data)
  1801.  02h    BYTE    15h (subfunction "Get Volume Info With Handle")
  1802.  03h    BYTE    directory handle
  1803.  
  1804. Format of NetWare reply buffer:
  1805. Offset    Size    Description    (Table 0935)
  1806.  00h    WORD    (call) 001Ch (length of following results buffer)
  1807.  02h    WORD    (big-endian) sectors per block
  1808.  04h    WORD    (big-endian) total blocks on volume
  1809.  06h    WORD    (big-endian) blocks available on volume
  1810.  08h    WORD    (big-endian) total directory slots
  1811.  0Ah    WORD    (big-endian) directory slots available
  1812.  0Ch 16 BYTEs    NUL-padded volume name
  1813.  1Ch    WORD    (big-endian) flag: volume removable if nonzero
  1814. --------N-21E2--SF16-------------------------
  1815. INT 21 u - Novell NetWare - DIRECTORY SERVICES - ALLOC SPECIAL TEMP DIR HANDLE
  1816.     AH = E2h subfn 16h
  1817.     DS:SI -> request buffer (see #0936)
  1818.     ES:DI -> reply buffer
  1819. Return: AL = status
  1820. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX,
  1821.       but is not described in _NetWare_System_Calls--DOS_
  1822. SeeAlso: AH=E2h/SF=13h,AH=E2h/SF=14h
  1823.  
  1824. Format of NetWare request buffer:
  1825. Offset    Size    Description    (Table 0936)
  1826.  00h    WORD    length of following data
  1827.  02h    BYTE    16h (subfunction "Allocate Special Temporary Directory Handle")
  1828.     ???
  1829. --------N-21E2--SF17-------------------------
  1830. INT 21 - Novell NetWare - DIRECTORY SERVICES - SAVE DIRECTORY HANDLE
  1831.     AH = E2h subfn 17h
  1832.     DS:SI -> request buffer (see #0937)
  1833.     ES:DI -> reply buffer (see #0938)
  1834. Return: AL = status
  1835.         00h successful
  1836.         else network error code
  1837. Note:    this function is supported by Advanced NetWare 2.0+ and Alloy NTNX
  1838. SeeAlso: AH=E2h/SF=12h,AH=E2h/SF=17h
  1839.  
  1840. Format of NetWare request buffer:
  1841. Offset    Size    Description    (Table 0937)
  1842.  00h    WORD    0002h (length of following data)
  1843.  02h    BYTE    18h (subfunction "Restore Directory Handle")
  1844.  03h    BYTE    directory handle
  1845.  
  1846. Format of NetWare reply buffer:
  1847. Offset    Size    Description    (Table 0938)
  1848.  00h    WORD    (call) 0010h (length of following results buffer)
  1849.  02h 16 BYTEs    save buffer
  1850. --------N-21E2--SF18-------------------------
  1851. INT 21 - Novell NetWare - DIRECTORY SERVICES - RESTORE DIRECTORY HANDLE
  1852.     AH = E2h subfn 18h
  1853.     DS:SI -> request buffer (see #0939)
  1854.     ES:DI -> reply buffer (see #0940)
  1855. Return: AL = status
  1856.         00h successful
  1857.         else network error code
  1858. Desc:    restore a previously saved directory handle to reproduce an executing
  1859.       environment, possibly on a different execution site
  1860. Note:    this function is supported by Advanced NetWare 2.0+ and Alloy NTNX
  1861. SeeAlso: AH=E2h/SF=12h,AH=E2h/SF=17h
  1862.  
  1863. Format of NetWare request buffer:
  1864. Offset    Size    Description    (Table 0939)
  1865.  00h    WORD    0011h (length of following data)
  1866.  02h    BYTE    18h (subfunction "Restore Directory Handle")
  1867.  03h 16 BYTEs    save buffer
  1868.  
  1869. Format of NetWare reply buffer:
  1870. Offset    Size    Description    (Table 0940)
  1871.  00h    WORD    (call) 0002h (length of following results buffer)
  1872.  02h    BYTE    new directory handle
  1873.  03h    BYTE    effective rights (see #0909)
  1874. --------N-21E2--SF19-------------------------
  1875. INT 21 - Novell NetWare - DIRECTORY SERVICES - SET DIRECTORY INFORMATION
  1876.     AH = E2h subfn 19h
  1877.     DS:SI -> request buffer (see #0941)
  1878.     ES:DI -> reply buffer (see #0942)
  1879. Return: AL = status (00h,9Bh,9Ch) (see #0899)
  1880. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  1881. SeeAlso: AH=E2h/SF=02h,AH=E2h/SF=0Fh
  1882.  
  1883. Format of NetWare request buffer:
  1884. Offset    Size    Description    (Table 0941)
  1885.  00h    WORD    length of following data (max 10Bh)
  1886.  02h    BYTE    19h (subfunction "Set Directory Information")
  1887.  03h    BYTE    directory handle
  1888.  04h    DWORD    (big-endian) date and time of creation
  1889.  08h    DWORD    (big-endian) object ID of owner
  1890.  0Ch    BYTE    maximum directory rights (see #0909)
  1891.  0Dh    BYTE    length of directory path
  1892.  0Eh  N BYTEs    directory path
  1893.  
  1894. Format of NetWare reply buffer:
  1895. Offset    Size    Description    (Table 0942)
  1896.  00h    WORD    (call) 0000h (no results returned)
  1897. --------N-21E2--SF1A-------------------------
  1898. INT 21 - Novell NetWare - FILE SERVER - GET PATH FROM DIRECTORY ENTRY
  1899.     AH = E2h subfn 1Ah
  1900.     DS:SI -> request buffer (see #0943)
  1901.     ES:DI -> reply buffer (see #0944)
  1902. Return: AL = status
  1903.         00h successful
  1904. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1905.       Alloy NTNX
  1906. SeeAlso: AH=E2h/SF=01h,AH=E2h/SF=06h,AH=E3h/SF=D7h
  1907.  
  1908. Format of NetWare request buffer:
  1909. Offset    Size    Description    (Table 0943)
  1910.  00h    WORD    0004h (length of following data)
  1911.  02h    BYTE    1Ah (subfunction "Get Path From Directory Entry")
  1912.  03h    BYTE    volume number (00h-1Fh)
  1913.  04h    WORD    (big-endian) directory entry number
  1914.  
  1915. Format of NetWare reply buffer:
  1916. Offset    Size    Description    (Table 0944)
  1917.  00h    WORD    (call) size of following results record (max 200h)
  1918.  02h 256 BYTEs    path
  1919. --------E-21E3-------------------------------
  1920. INT 21 - OS/286, OS/386 - ISSUE REAL INTERRUPT
  1921.     AH = E3h
  1922.     AL = interrupt number
  1923.     ???
  1924. Return: ???
  1925. Note:    protected mode only???
  1926. SeeAlso: AH=E1h"OS/286",INT 31/AX=0300h
  1927. --------T-21E3-------------------------------
  1928. INT 21 - DoubleDOS - ADD CHARACTER TO KEYBOARD BUFFER OF CURRENT JOB
  1929.     AH = E3h
  1930.     AL = character
  1931. Return: AL = status
  1932.         00h successful
  1933.         01h buffer full (128 characters)
  1934. SeeAlso: AH=E1h"DoubleDOS",AH=E2h"DoubleDOS",AH=E8h"DoubleDOS"
  1935. SeeAlso: AH=F3h"DoubleDOS"
  1936. --------N-21E3-------------------------------
  1937. INT 21 - Novell NetWare - CONNECTION CONTROL
  1938.     AH = E3h
  1939.     DS:SI -> request buffer (see #0945)
  1940.     ES:DI -> reply buffer (see #0946)
  1941. Return: AL = status
  1942.         00h successful
  1943.         else error code
  1944. Note:    supported by NetWare 4.0+, Advanced NetWare 1.0+, and Alloy NTNX
  1945. SeeAlso: AH=E3h/SF=0Ah,AH=E3h/SF=32h,AH=E3h/SF=64h,AH=E3h/SF=C8h
  1946.  
  1947. Format of NetWare request buffer:
  1948. Offset    Size    Description    (Table 0945)
  1949.  00h    WORD    length of following data
  1950.  02h    BYTE    subfunction number
  1951.         00h login
  1952.         01h change password
  1953.         02h map user to station set
  1954.         03h map object to number
  1955.         04h map number to object
  1956.         05h get station's logged information
  1957.         06h get station's root mask (obsolete)
  1958.         07h map group name to number
  1959.         08h map number to group name
  1960.         09h get memberset M of group G
  1961.     var    depends on subfunction
  1962. Notes:    the above subfunctions are not described in _NetWare_System_Calls--DOS_
  1963.     see separate entries below for other subfunctions
  1964.  
  1965. Format of NetWare reply buffer:
  1966. Offset    Size    Description    (Table 0946)
  1967.  00h    WORD    (call) length of following buffer space for results
  1968.     var    depends on subfunction
  1969.  
  1970. Format of NetWare object property:
  1971. Offset    Size    Description    (Table 0947)
  1972.  00h 1-16 BYTEs property name (see also #0948)
  1973.   N    BYTE    flags
  1974.         bit 0: property is dynamic
  1975.         bit 1: property is a set rather than an item
  1976.  N+1    BYTE    security levels (see #0949)
  1977.     ???
  1978.  
  1979. (Table 0948)
  1980. Values for names of well-known NetWare properties:
  1981.  ACCOUNT_BALANCE
  1982.  ACCOUNT_SERVERS
  1983.  GROUP_MEMBERS
  1984.  GROUPS_I'M_IN
  1985.  IDENTIFICATION        user's name
  1986.  LOGIN_CONTROL
  1987.  NET_ADDRESS
  1988.  OPERATORS
  1989.  PASSWORD
  1990.  SECURITY_EQUALS
  1991.  
  1992. (Table 0949)
  1993. Values for NetWare security levels:
  1994.  00h    "anyone" everyone may access
  1995.  01h    "logged" only logged-in clients may access
  1996.  02h    "object" only clients logged-in with object's name, type, and password
  1997.  03h    "supervisor" only clients logged-in with supervisor privileges
  1998.  04h    "NetWare" only NetWare may access
  1999. Note:    the above values are stored in a nybble; the high half-byte is write
  2000.       access and the low half-byte is read access
  2001.  
  2002. (Table 0950)
  2003. Values for NetWare object type:
  2004.  0000h    unknown
  2005.  0001h    user
  2006.  0002h    user group
  2007.  0003h    print queue
  2008.  0004h    file server
  2009.  0005h    job server
  2010.  0006h    gateway
  2011.  0007h    print server
  2012.  0008h    archive queue
  2013.  0009h    archive server
  2014.  000Ah    job queue
  2015.  000Bh    administration
  2016.  0026h    remote bridge server
  2017.  0047h    advertising print server
  2018.  0048h-8000h reserved
  2019.  FFFFh    wild (used only for finding objects)
  2020. --------N-21E3--SF0A-------------------------
  2021. INT 21 - Novell NetWare - CONNECTION SERVICES - ENTER LOGIN AREA
  2022.     AH = E3h subfn 0Ah
  2023.     DS:SI -> request buffer (see #0951)
  2024.     ES:DI -> reply buffer (see #0952)
  2025. Return: AL = status
  2026.         00h successful
  2027. Desc:    change the login directory for the calling workstation
  2028. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  2029.       Alloy NTNX
  2030. SeeAlso: AH=D7h,AH=E3h/SF=14h
  2031.  
  2032. Format of NetWare request buffer:
  2033. Offset    Size    Description    (Table 0951)
  2034.  00h    WORD    length of following data (max 102h)
  2035.  02h    BYTE    0Ah (subfunction "Enter Login Area")
  2036.  03h    BYTE    number of local drives
  2037.  04h    BYTE    length of subdirectory name (00h-FFh)
  2038.  05h  N BYTEs    name of subdirectory under SYS:LOGIN where to find the login
  2039.           utility
  2040.  
  2041. Format of NetWare reply buffer:
  2042. Offset    Size    Description    (Table 0952)
  2043.  00h    WORD    (call) 0000h (no data returned)
  2044. --------N-21E3--SF0C-------------------------
  2045. INT 21 U - Novell NetWare - VERIFY NETWORK SERIAL NUMBER
  2046.     AH = E3h subfn 0Ch
  2047.     DS:SI -> request buffer (see #0953)
  2048.     ES:DI -> reply buffer (see #0954)
  2049. Return: AL = status
  2050.         00h successful
  2051. Note:    if the network serial number to be verified is correct, the reply
  2052.       buffer will contain the corresponding application number
  2053. SeeAlso: AH=E3h/SF=12h
  2054.  
  2055. Format of NetWare request buffer:
  2056. Offset    Size    Description    (Table 0953)
  2057.  00h    WORD    0005h (length of following data)
  2058.  02h    BYTE    0Ch (subfunction "Verify Network Serial Number")
  2059.  03h    DWORD    (big-endian) network serial number to verify
  2060.  
  2061. Format of NetWare reply buffer:
  2062. Offset    Size    Description    (Table 0954)
  2063.  00h    WORD    (call) 0002h (size of following results buffer)
  2064.  02h    WORD    (big-endian) application number
  2065. --------N-21E3--SF0D-------------------------
  2066. INT 21 - Novell NetWare - MESSAGE SERVICES - LOG NETWORK MESSAGE
  2067.     AH = E3h subfn 0Dh
  2068.     DS:SI -> request buffer (see #0955)
  2069.     ES:DI -> reply buffer (see below)
  2070. Return: AL = status
  2071.         00h successful
  2072. Desc:    append a line to the default file server's NET$LOG.MSG file
  2073. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  2074.       Alloy NTNX
  2075. SeeAlso: AH=E1h/SF=09h
  2076.  
  2077. Format of NetWare request buffer:
  2078. Offset    Size    Description    (Table 0955)
  2079.  00h    WORD    length of following data (max 52h)
  2080.  02h    BYTE    0Dh (subfunction "Log Network Message")
  2081.  03h    BYTE    length of message (01h-50h)
  2082.  04h  N BYTEs    message (no control characters or characters > 7Eh)
  2083. --------N-21E3--SF0E-------------------------
  2084. INT 21 - Novell NetWare - FILE SERVER - GET DISK UTILIZATION
  2085.     AH = E3h subfn 0Eh
  2086.     DS:SI -> request buffer (see #0957)
  2087.     ES:DI -> reply buffer (see #0958)
  2088. Return: AL = status (00h,98h,F2h) (see #0956)
  2089. Notes:    this function is supported by Advanced NetWare 2.1+
  2090.     the caller must have bindery object read privileges
  2091. SeeAlso: AH=E3h/SF=11h,AH=E3h/SF=D6h,AH=E3h/SF=D9h,AH=E3h/SF=E6h,AH=E3h/SF=E9h
  2092.  
  2093. (Table 0956)
  2094. Values for NetWare function status:
  2095.  00h    successful
  2096.  98h    nonexistent volume
  2097.  F2h    not permitted to read object
  2098.  
  2099. Format of NetWare request buffer:
  2100. Offset    Size    Description    (Table 0957)
  2101.  00h    WORD    0005h (length of following data)
  2102.  02h    BYTE    0Eh (subfunction "Get Disk Utilization")
  2103.  03h    BYTE    volume number (00h-1Fh)
  2104.  04h    DWORD    (big-endian) object ID
  2105.  
  2106. Format of NetWare reply buffer:
  2107. Offset    Size    Description    (Table 0958)
  2108.  00h    WORD    (call) 000Bh (size of following results buffer)
  2109.  02h    BYTE    volume number (00h-1Fh)
  2110.  03h    DWORD    (big-endian) object ID
  2111.  07h    WORD    (big-endian) directories used by object
  2112.  09h    WORD    (big-endian) files created by object
  2113.  0Bh    WORD    (big-endian) disk blocks used by object-created files
  2114. --------N-21E3--SF0F-------------------------
  2115. INT 21 - Novell NetWare - FILE SERVICES - SCAN FILE INFORMATION
  2116.     AH = E3h subfn 0Fh
  2117.     DS:SI -> request buffer (see #0960)
  2118.     ES:DI -> reply buffer (see #0961)
  2119. Return: AL = status (see #0959)
  2120. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2121. SeeAlso: AH=B6h,AH=E3h/SF=10h
  2122.  
  2123. (Table 0959)
  2124. Values for NetWare function status:
  2125.  00h    successful
  2126.  89h    not permitted to search directory
  2127.  FFh    no more matching files
  2128.  
  2129. Format of NetWare request buffer:
  2130. Offset    Size    Description    (Table 0960)
  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 #0535 at AX=4301h)
  2137.  07h    BYTE    length of filespec
  2138.  08h  N BYTEs    ASCIZ uppercase filespec
  2139.  
  2140. Format of NetWare reply buffer:
  2141. Offset    Size    Description    (Table 0961)
  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 #0535 at AX=4301h)
  2146.  13h    BYTE    extended file attributes (see #0865 at AH=B6h)
  2147.  14h    DWORD    (big-endian) file size in bytes
  2148.  18h    WORD    (big-endian) file's creation date (see #0762 at AX=5700h)
  2149.  1Ah    WORD    (big-endian) date of last access (see #0761 at AX=5700h)
  2150.  1Ch    DWORD    (big-endian) date and time of last update (see #0906)
  2151.  20h    DWORD    (big-endian) object ID of owner
  2152.  24h    DWORD    (big-endian) date and time last archived (see #0906)
  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 #0962)
  2160.     ES:DI -> reply buffer (see #0963)
  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 NetWare request buffer:
  2169. Offset    Size    Description    (Table 0962)
  2170.  00h    WORD    length of following data (max 151h)
  2171.  02h    BYTE    10h (subfunction "Set File Information")
  2172.  03h    BYTE    file attributes (see #0535 at AX=4301h)
  2173.  04h    BYTE    extended file attributes (see #0865 at AH=B6h)
  2174.  05h  4 BYTEs    reserved
  2175.  09h    WORD    (big-endian) file's creation date (see #0762 at AX=5700h)
  2176.  0Bh    WORD    (big-endian) date of last access (see #0761 at AX=5700h)
  2177.  0Dh    DWORD    (big-endian) date and time of last update (see #0906)
  2178.  11h    DWORD    (big-endian) object ID of owner
  2179.  15h    DWORD    (big-endian) date and time last archived (see #0906)
  2180.  19h 56 BYTEs    reserved
  2181.  51h    BYTE    directory handle or 00h
  2182.  52h    BYTE    search attributes (see #0535 at AX=4301h)
  2183.  53h    BYTE    length of filename
  2184.  54h  N BYTEs    filename
  2185.  
  2186. Format of NetWare reply buffer:
  2187. Offset    Size    Description    (Table 0963)
  2188.  00h    WORD    (call) 0000h (no results returned)
  2189. --------N-21E3--SF11-------------------------
  2190. INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER INFORMATION
  2191.     AH = E3h subfn 11h
  2192.     DS:SI -> request buffer (see #0964)
  2193.     ES:DI -> reply buffer (see #0965)
  2194. Return: AL = status
  2195.         00h successful
  2196. Desc:    determine the version of software installed on the file server and
  2197.       how it is configured
  2198. Note:    this function is supported by Advanced NetWare 2.1+
  2199. SeeAlso: AH=E3h/SF=0Eh,AE3h/SF=12h,AH=E3h/SF=CDh,AH=E3h/SF=D3h,AH=E3h/SF=E7h
  2200. SeeAlso: AH=E7h
  2201.  
  2202. Format of NetWare request buffer:
  2203. Offset    Size    Description    (Table 0964)
  2204.  00h    WORD    0001h (length of following data)
  2205.  02h    BYTE    11h (subfunction "Get File Server Information")
  2206.  
  2207. Format of NetWare reply buffer:
  2208. Offset    Size    Description    (Table 0965)
  2209.  00h    WORD    (call) 0080h (size of following results buffer)
  2210.  02h 48 BYTEs    server's name
  2211.  32h    BYTE    NetWare version
  2212.  33h    BYTE    NetWare subversion (0-99)
  2213.  34h    WORD    (big-endian) number of connections supported
  2214.  36h    WORD    (big-endian) number of connections in use
  2215.  38h    WORD    (big-endian) maximum connected volumes
  2216. ---Advanced NetWare 2.1+ ---
  2217.  3Ah    BYTE    operating system revision number
  2218.  3Bh    BYTE    fault tolerance (SFT) level
  2219.  3Ch    BYTE    TTS level
  2220.  3Dh    WORD    (big-endian) maximum simultaneously-used connections
  2221.  3Fh    BYTE    accounting version
  2222.  40h    BYTE    VAP version
  2223.  41h    BYTE    queueing version
  2224.  42h    BYTE    print server version
  2225.  43h    BYTE    virtual console version
  2226.  44h    BYTE    security restrictions level
  2227.  45h    BYTE    internetwork bridge version
  2228.  46h 60 BYTEs    reserved
  2229. --------N-21E3--SF12-------------------------
  2230. INT 21 - Novell NetWare - GET NETWORK SERIAL NUMBER
  2231.     AH = E3h subfn 12h
  2232.     AL = 00h
  2233.     BX = CX = DX = 0000h
  2234.     DS:SI -> request buffer (see #0966)
  2235.     ES:DI -> reply buffer (see #0967)
  2236. Return: AL = status
  2237.         00h successful
  2238. Desc:    return the serial number and application number for the software
  2239.       installed on the file server
  2240. Notes:    this function is supported by Advanced NetWare 2.1+
  2241.     reportedly, the workstation crashes if AL,BX,CX, and DX are not all
  2242.       zero
  2243. SeeAlso: AH=E3h/SF=0Ch,AH=E3h/SF=11h
  2244.  
  2245. Format of NetWare request buffer:
  2246. offset     size    description    (Table 0966)
  2247.  00h     WORD    0001h (length of following data)
  2248.  02h     BYTE    12h (subfunction "Get Serial Number")
  2249.  
  2250. Format of NetWare reply buffer:
  2251. offset     size    description    (Table 0967)
  2252.  00h     WORD    (call) 0006h (size of following results buffer)
  2253.  02h   4 BYTEs    (big-endian) NetWare server serial number
  2254.  06h   2 BYTEs    (big-endian) NetWare application serial number
  2255. --------N-21E3--SF13-------------------------
  2256. INT 21 - Novell NetWare - CONNECTION SERVICES - GET INTERNET ADDRESS
  2257.     AH = E3h subfn 13h
  2258.     DS:SI -> request buffer (see #0968)
  2259.     ES:DI -> reply buffer (see #0969)
  2260. Return: AL = status
  2261.         00h successful
  2262. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2263. SeeAlso: AH=DCh"NetWare",AH=E3h/SF=16h,AH=EEh"NetWare"
  2264.  
  2265. Format of NetWare request buffer:
  2266. Offset    Size    Description    (Table 0968)
  2267.  00h    WORD    0002h (length of following data)
  2268.  02h    BYTE    13h (subfunction "Get Internet Address")
  2269.  03h    BYTE    logical connection number (01h-64h)
  2270.  
  2271. Format of NetWare reply buffer:
  2272. Offset    Size    Description    (Table 0969)
  2273.  00h    WORD    (call) 000Ch (length of following results buffer)
  2274.  02h  4 BYTEs    network number
  2275.  06h  6 BYTEs    physical node address
  2276.  0Ch  2 BYTEs    socket number
  2277. --------N-21E3--SF14-------------------------
  2278. INT 21 - Novell NetWare - CONNECTION SERVICES - LOGIN TO FILE SERVER
  2279.     AH = E3h subfn 14h
  2280.     DS:SI -> request buffer (see #0970)
  2281.     ES:DI -> reply buffer (see #0971)
  2282. Return: AL = status
  2283.         00h successful
  2284. Desc:    this function retrieves a list indicating the connection numbers under
  2285.       which a bindery object is logged into the default file server
  2286. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2287. SeeAlso: AH=D7h"NetWare",AH=F1h"NetWare"
  2288.  
  2289. Format of NetWare request buffer:
  2290. Offset    Size    Description    (Table 0970)
  2291.  00h    WORD    length of following data (max B3h)
  2292.  02h    BYTE    14h (subfunction "Login To File Server")
  2293.  03h    WORD    (big-endian) type of object
  2294.  05h    BYTE    length of object's name (01h-2Fh)
  2295.  06h  N BYTEs    object's name
  2296.     BYTE    length of password
  2297.       N BYTEs    password
  2298.  
  2299. Format of NetWare reply buffer:
  2300. Offset    Size    Description    (Table 0971)
  2301.  00h    WORD    (call) 0000h (no data returned)
  2302. --------N-21E3--SF15-------------------------
  2303. INT 21 - Novell NetWare - CONNECTION SERVICES - GET OBJECT CONNECTION NUMBERS
  2304.     AH = E3h subfn 15h
  2305.     DS:SI -> request buffer (see #0972)
  2306.     ES:DI -> reply buffer (see #0973)
  2307. Return: AL = status
  2308.         00h successful
  2309. Desc:    this function retrieves a list indicating the connection numbers under
  2310.       which a bindery object is logged into the default file server
  2311. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2312. SeeAlso: AH=DCh"NetWare",AH=E3h/SF=16h
  2313.  
  2314. Format of NetWare request buffer:
  2315. Offset    Size    Description    (Table 0972)
  2316.  00h    WORD    length of following data (max 33h)
  2317.  02h    BYTE    15h (subfunction "Get Object Connection Numbers")
  2318.  03h    WORD    (big-endian) type of object
  2319.  05h    BYTE    length of object's name (01h-2Fh)
  2320.  06h  N BYTEs    object's name
  2321.  
  2322. Format of NetWare reply buffer:
  2323. Offset    Size    Description    (Table 0973)
  2324.  00h    WORD    (call) length of following results buffer (max 65h)
  2325.  02h    BYTE    number of connections
  2326.  03h  N BYTEs    connection list
  2327. --------N-21E3--SF16-------------------------
  2328. INT 21 - Novell NetWare - CONNECTION SERVICES - GET CONNECTION INFORMATION
  2329.     AH = E3h subfn 16h
  2330.     DS:SI -> request buffer (see #0974)
  2331.     ES:DI -> reply buffer (see #0975)
  2332. Return: AL = status
  2333.         00h successful
  2334. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2335. SeeAlso: AH=D7h,AH=DCh"NetWare",AH=E3h/SF=14h
  2336.  
  2337. Format of NetWare request buffer:
  2338. Offset    Size    Description    (Table 0974)
  2339.  00h    WORD    0002h (length of following data)
  2340.  02h    BYTE    16h (subfunction "Get Connection Information")
  2341.  03h    BYTE    logical connection number (01h-64h)
  2342.  
  2343. Format of NetWare reply buffer:
  2344. Offset    Size    Description    (Table 0975)
  2345.  00h    WORD    (call) 003Eh (length of following results buffer)
  2346.  02h    DWORD    (big-endian) object ID for object logged in on the connection
  2347.         00000000h if no object logged in
  2348.  06h    WORD    (big-endian) type of object
  2349.  08h 48 BYTEs    name of object
  2350.  38h  7 BYTEs    login time (see #0976)
  2351. Note:    much of the Novell documentation incorrectly states the reply buffer
  2352.       length as 3Fh instead of 40h, which corresponds to a results length
  2353.       of 3Dh (61) bytes instead of the correct 3Eh (62) bytes
  2354.  
  2355. Format of NetWare login time:
  2356. Offset    Size    Description    (Table 0976)
  2357.  00h    BYTE    year (80-99 = 1980-1999, 00-79 = 2000-2079)
  2358.  01h    BYTE    month (1-12)
  2359.  02h    BYTE    day (1-31)
  2360.  03h    BYTE    hour (0-23)
  2361.  04h    BYTE    minute (0-59)
  2362.  05h    BYTE    second (0-59)
  2363.  06h    BYTE    day of week (0 = Sunday)
  2364. --------N-21E3--SF32-------------------------
  2365. INT 21 - Novell NetWare - BINDERY SERVICES - CREATE BINDERY OBJECT
  2366.     AH = E3h subfn 32h
  2367.     DS:SI -> request buffer (see #0978)
  2368.     ES:DI -> reply buffer (see #0979)
  2369. Return: AL = status (see #0977)
  2370. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2371. SeeAlso: AH=E3h/SF=33h,AH=E3h/SF=34h,AH=E3h/SF=38h,AH=E3h/SF=39h
  2372.  
  2373. (Table 0977)
  2374. Values for NetWare function status:
  2375.  00h    successful
  2376.  96h    server out of memory
  2377.  EEh    object already exists
  2378.  EFh    invalid name
  2379.  F0h    wildcard not allowed
  2380.  F1h    invalid bindery security level
  2381.  F3h    not permitted to rename object
  2382.  F4h    not permitted to delete objects
  2383.  F5h    not permitted to create objects
  2384.  FCh    no such object
  2385.  FEh    server bindery locked
  2386.  FFh    bindery failure
  2387.  
  2388. Format of NetWare request buffer:
  2389. Offset    Size    Description    (Table 0978)
  2390.  00h    WORD    length of following data (max 35h)
  2391.  02h    BYTE    32h (subfunction "Create Bindery Object")
  2392.  03h    BYTE    object flag (00h static, 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 NetWare reply buffer:
  2399. Offset    Size    Description    (Table 0979)
  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 #0980)
  2405.     ES:DI -> reply buffer (see #0979)
  2406. Return: AL = status (see #0977)
  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 NetWare request buffer:
  2411. Offset    Size    Description    (Table 0980)
  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. --------N-21E3--SF34-------------------------
  2418. INT 21 - Novell NetWare - BINDERY SERVICES - RENAME BINDERY OBJECT
  2419.     AH = E3h subfn 34h
  2420.     DS:SI -> request buffer (see #0981)
  2421.     ES:DI -> reply buffer (see #0979)
  2422. Return: AL = status (see #0977)
  2423. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2424. SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=33h
  2425.  
  2426. Format of NetWare request buffer:
  2427. Offset    Size    Description    (Table 0981)
  2428.  00h    WORD    length of following data (max 63h)
  2429.  02h    BYTE    34h (subfunction "Rename Bindery Object")
  2430.  03h    WORD    (big-endian) type of object
  2431.  05h    BYTE    length of object's name (01h-2Fh)
  2432.  06h  N BYTEs    object's name
  2433.     BYTE    length of new name (01h-2Fh)
  2434.       N BYTEs    new name
  2435. --------N-21E3--SF35-------------------------
  2436. INT 21 - Novell NetWare - BINDERY SERVICES - GET BINDERY OBJECT ID
  2437.     AH = E3h subfn 35h
  2438.     DS:SI -> request buffer (see #0982)
  2439.     ES:DI -> reply buffer (see #0983)
  2440. Return: AL = status (00h,96h,FCh,FEh,FFh) (see #0984)
  2441. Notes:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2442.     the requesting workstation must be logged into the file server with
  2443.       read access to the bindery object
  2444. SeeAlso: AH=E3h/SF=36h,AH=E3h/SF=44h
  2445.  
  2446. Format of NetWare request buffer:
  2447. Offset    Size    Description    (Table 0982)
  2448.  00h    WORD    length of following data (max 33h)
  2449.  02h    BYTE    35h (subfunction "Get Bindery Object ID")
  2450.  03h    WORD    (big-endian) type of object
  2451.  05h    BYTE    length of object's name
  2452.  06h  N BYTEs    object's name
  2453.  
  2454. Format of NetWare reply buffer:
  2455. Offset    Size    Description    (Table 0983)
  2456.  00h    WORD    (call) 0036h (length of following buffer space)
  2457.  02h    DWORD    (big-endian) object ID
  2458.  06h    WORD    (big-endian) type of object
  2459.  08h 48 BYTEs    object name
  2460. --------N-21E3--SF36-------------------------
  2461. INT 21 - Novell NetWare - BINDERY SERVICES - GET BINDERY OBJECT NAME
  2462.     AH = E3h subfn 36h
  2463.     DS:SI -> request buffer (see #0985)
  2464.     ES:DI -> reply buffer (see #0986)
  2465. Return: AL = status (see #0984)
  2466. Notes:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2467.     the requesting workstation must be logged into the file server with
  2468.       read access to the bindery object
  2469. SeeAlso: AH=E3h/SF=35h,AH=E3h/SF=44h
  2470.  
  2471. (Table 0984)
  2472. Values for NetWare function status:
  2473.  00h    successful
  2474.  96h    server out of memory
  2475.  EFh    invalid name
  2476.  F0h    wildcard not allowed
  2477.  FCh    no such object
  2478.  FEh    server bindery locked
  2479.  FFh    bindery failure
  2480.  
  2481. Format of NetWare request buffer:
  2482. Offset    Size    Description    (Table 0985)
  2483.  00h    WORD    0005h (length of following data)
  2484.  02h    BYTE    36h (subfunction "Get Bindery Object Name")
  2485.  03h    DWORD    (big-endian) object ID
  2486.  
  2487. Format of NetWare reply buffer:
  2488. Offset    Size    Description    (Table 0986)
  2489.  00h    WORD    (call) 0036h (length of following buffer space)
  2490.  02h    DWORD    (big-endian) object ID
  2491.  06h    WORD    (big-endian) type of object
  2492.  08h 48 BYTEs    object name
  2493. --------N-21E3--SF37-------------------------
  2494. INT 21 - Novell NetWare - BINDERY SERVICES - SCAN BINDERY OBJECT
  2495.     AH = E3h subfn 37h
  2496.     DS:SI -> request buffer (see #0987)
  2497.     ES:DI -> reply buffer (see #0988)
  2498. Return: AL = status (see #0984)
  2499. Notes:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2500.     the requesting workstation must be logged into the file server with
  2501.       read access to the bindery object
  2502. SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=33h,AH=E3h/SF=38h,AH=E3h/SF=3Ch
  2503.  
  2504. Format of NetWare request buffer:
  2505. Offset    Size    Description    (Table 0987)
  2506.  00h    WORD    length of following data (max 37h)
  2507.  02h    BYTE    37h (subfunction "Scan Bindery Object")
  2508.  03h    DWORD    (big-endian) last object ID
  2509.  07h    WORD    (big-endian) type of object
  2510.  09h    BYTE    length of object's name
  2511.  0Ah  N BYTEs    object's name
  2512.  
  2513. Format of NetWare reply buffer:
  2514. Offset    Size    Description    (Table 0988)
  2515.  00h    WORD    (call) 0039h (length of following buffer space)
  2516.  02h    DWORD    (big-endian) object ID
  2517.         FFFFFFFFh for first call
  2518.  06h    WORD    (big-endian) type of object
  2519.  08h 48 BYTEs    object name (counted string)
  2520.  38h    BYTE    object flag (00h static, 01h dynamic)
  2521.  39h    BYTE    object's security levels
  2522.  3Ah    BYTE    object properties flag (00h no, FFh yes)
  2523. --------N-21E3--SF38-------------------------
  2524. INT 21 - Novell NetWare - BINDERY SERVICES - CHANGE BINDERY OBJECT SECURITY
  2525.     AH = E3h subfn 38h
  2526.     DS:SI -> request buffer (see #0989)
  2527.     ES:DI -> reply buffer (see #0992)
  2528. Return: AL = status (00h,96h,F0h,F1h,FBh,FCh,FEh,FFh) (see #0990)
  2529. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2530. SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=3Bh
  2531.  
  2532. Format of NetWare request buffer:
  2533. Offset    Size    Description    (Table 0989)
  2534.  00h    WORD    length of following data (max 34h)
  2535.  02h    BYTE    38h (subfunction "Change Bindery Object Security")
  2536.  03h    BYTE    new security levels
  2537.  04h    WORD    (big-endian) type of object
  2538.  06h    BYTE    length of object's name (01h-2Fh)
  2539.  07h  N BYTEs    object name
  2540. --------N-21E3--SF39-------------------------
  2541. INT 21 - Novell NetWare - BINDERY SERVICES - CREATE PROPERTY
  2542.     AH = E3h subfn 39h
  2543.     DS:SI -> request buffer (see #0991)
  2544.     ES:DI -> reply buffer (see #0992)
  2545. Return: AL = status (see #0990)
  2546. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2547. SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=3Bh
  2548.  
  2549. (Table 0990)
  2550. Values for NetWare function status:
  2551.  00h    successful
  2552.  96h    server out of memory
  2553.  EDh    property already exists
  2554.  EFh    invalid name
  2555.  F0h    wildcard not allowed
  2556.  F1h    invalid bindery security level
  2557.  F6h    not permitted to delete properties
  2558.  F7h    not permitted to create properties
  2559.  FBh    no such property
  2560.  FCh    no such object
  2561.  FEh    server bindery locked
  2562.  FFh    bindery failure
  2563.  
  2564. Format of NetWare request buffer:
  2565. Offset    Size    Description    (Table 0991)
  2566.  00h    WORD    length of following data (max 45h)
  2567.  02h    BYTE    39h (subfunction "Create Property")
  2568.  03h    WORD    (big-endian) type of object
  2569.  05h    BYTE    length of object's name (01h-2Fh)
  2570.  06h  N BYTEs    object's name
  2571.     BYTE    property flags
  2572.     BYTE    property security levels
  2573.     BYTE    length of property's name (01h-0Fh)
  2574.       N BYTEs    property's name
  2575.  
  2576. Format of NetWare reply buffer:
  2577. Offset    Size    Description    (Table 0992)
  2578.  00h    WORD    (call) 0000h (no data returned)
  2579. --------N-21E3--SF3A-------------------------
  2580. INT 21 - Novell NetWare - BINDERY SERVICES - DELETE PROPERTY
  2581.     AH = E3h subfn 3Ah
  2582.     DS:SI -> request buffer (see #0993)
  2583.     ES:DI -> reply buffer (see #0992)
  2584. Return: AL = status (see #0990)
  2585. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2586. SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=39h
  2587.  
  2588. Format of NetWare request buffer:
  2589. Offset    Size    Description    (Table 0993)
  2590.  00h    WORD    length of following data (max 43h)
  2591.  02h    BYTE    3Ah (subfunction "Delete Property")
  2592.  03h    WORD    (big-endian) type of object
  2593.  05h    BYTE    length of object's name (01h-2Fh)
  2594.  06h  N BYTEs    object's name
  2595.     BYTE    length of property's name (01h-0Fh)
  2596.       N BYTEs    property's name
  2597. --------N-21E3--SF3B-------------------------
  2598. INT 21 - Novell NetWare - BINDERY SERVICES - CHANGE PROPERTY SECURITY
  2599.     AH = E3h subfn 3Bh
  2600.     DS:SI -> request buffer (see #0995)
  2601.     ES:DI -> reply buffer (see #0992)
  2602. Return: AL = status (see #0994)
  2603. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2604. SeeAlso: AH=E3h/SF=38h
  2605.  
  2606. (Table 0994)
  2607. Values for NetWare function status:
  2608.  00h    successful
  2609.  96h    server out of memory
  2610.  F0h    wildcard not allowed
  2611.  F1h    invalid bindery security level
  2612.  FBh    no such property
  2613.  FCh    no such object
  2614.  FEh    server bindery locked
  2615.  FFh    bindery failure
  2616.  
  2617. Format of NetWare request buffer:
  2618. Offset    Size    Description    (Table 0995)
  2619.  00h    WORD    length of following data (max 44h)
  2620.  02h    BYTE    3Bh (subfunction "Change Property Security")
  2621.  03h    WORD    (big-endian) type of object
  2622.  05h    BYTE    length of object's name (01h-2Fh)
  2623.  06h  N BYTEs    object name
  2624.     BYTE    new property security levels
  2625.     BYTE    length of property's name
  2626.       N BYTEs    property name
  2627. --------N-21E3--SF3C-------------------------
  2628. INT 21 - Novell NetWare - BINDERY SERVICES - SCAN PROPERTY
  2629.     AH = E3h subfn 3Ch
  2630.     DS:SI -> request buffer (see #0996)
  2631.     ES:DI -> reply buffer (see #0997)
  2632. Return: AL = status (00h,96h,F1h,FBh,FCh,FEh,FFh) (see #0994)
  2633. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2634. SeeAlso: AH=E3h/SF=37h,AH=E3h/SF=3Bh
  2635.  
  2636. Format of NetWare request buffer:
  2637. Offset    Size    Description    (Table 0996)
  2638.  00h    WORD    length of following data (max 47h)
  2639.  02h    BYTE    3Ch (subfunction "Scan Property")
  2640.  03h    WORD    (big-endian) type of object
  2641.  05h    BYTE    length of object's name (01h-2Fh)
  2642.  06h  N BYTEs    object name
  2643.     DWORD    (big-endian) sequence number
  2644.         FFFFFFFFh for first call
  2645.     BYTE    length of property's name (01h-0Fh)
  2646.       N BYTEs    property's name
  2647.  
  2648. Format of NetWare reply buffer:
  2649. Offset    Size    Description    (Table 0997)
  2650.  00h    WORD    (call) 0018h (length of following results buffer)
  2651.  02h 16 BYTEs    property name
  2652.  12h    BYTE    property flags
  2653.  13h    BYTE    property security levels
  2654.  14h    DWORD    (big-endian) sequence number
  2655.  18h    BYTE    property value flag (00h no, FFh yes)
  2656.  19h    BYTE    more properties (00h no, FFh yes)
  2657. --------N-21E3--SF3D-------------------------
  2658. INT 21 - Novell NetWare - BINDERY SERVICES - READ PROPERTY VALUE
  2659.     AH = E3h subfn 3Dh
  2660.     DS:SI -> request buffer (see #0999)
  2661.     ES:DI -> reply buffer (see #1000)
  2662. Return: AL = status (see #0998)
  2663. Desc:    retrieve one 128-byte segment of the specified property's value
  2664. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2665. SeeAlso: AH=E3h/SF=39h,AH=E3h/SF=3Ch,AH=E3h/SF=3Eh
  2666.  
  2667. (Table 0998)
  2668. Values for NetWare function status:
  2669.  00h    successful
  2670.  96h    server out of memory
  2671.  E8h    not item property
  2672.  ECh    no such segment
  2673.  F0h    wildcard not allowed
  2674.  F1h    invalid bindery security level
  2675.  F8h    not permitted to write property
  2676.  F9h    not permitted to read property
  2677.  FBh    no such property
  2678.  FCh    no such object
  2679.  FEh    server bindery locked
  2680.  FFh    bindery failure
  2681.  
  2682. Format of NetWare request buffer:
  2683. Offset    Size    Description    (Table 0999)
  2684.  00h    WORD    length of following data (max 44h)
  2685.  02h    BYTE    3Dh (subfunction "Read Property Value")
  2686.  03h    WORD    (big-endian) type of object
  2687.  05h    BYTE    length of object's name (01h-2Fh)
  2688.  06h  N BYTEs    object name
  2689.     BYTE    segment number (01h on first call, increment until done)
  2690.     BYTE    length of property's name (01h-0Fh)
  2691.       N BYTEs    property name
  2692.  
  2693. Format of NetWare reply buffer:
  2694. Offset    Size    Description    (Table 1000)
  2695.  00h    WORD    (call) 0082h (length of following results buffer)
  2696.  02h 128 BYTEs    property's value
  2697.  82h    BYTE    more segments (00h no, FFh yes)
  2698.  83h    BYTE    property's flags
  2699. --------N-21E3--SF3E-------------------------
  2700. INT 21 - Novell NetWare - BINDERY SERVICES - WRITE PROPERTY VALUE
  2701.     AH = E3h subfn 3Eh
  2702.     DS:SI -> request buffer (see #1001)
  2703.     ES:DI -> reply buffer (see #1002)
  2704. Return: AL = status (see #0998)
  2705. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2706. SeeAlso: AH=E3h/SF=39h,AH=E3h/SF=3Ch,AH=E3h/SF=3Eh
  2707.  
  2708. Format of NetWare request buffer:
  2709. Offset    Size    Description    (Table 1001)
  2710.  00h    WORD    length of following data (max C5h)
  2711.  02h    BYTE    3Eh (subfunction "Write Property Value")
  2712.  03h    WORD    (big-endian) type of object
  2713.  05h    BYTE    length of object's name (01h-2Fh)
  2714.  06h  N BYTEs    object name
  2715.     BYTE    segment number (01h on first call, increment until done)
  2716.     BYTE    erase remaining segments (00h no, FFh yes)
  2717.     BYTE    length of property's name (01h-0Fh)
  2718.       N BYTEs    property name
  2719.     128 BYTEs    property value segment
  2720.  
  2721. Format of NetWare reply buffer:
  2722. Offset    Size    Description    (Table 1002)
  2723.  00h    WORD    (call) 0000h (no data returned)
  2724. --------N-21E3--SF3F-------------------------
  2725. INT 21 - Novell NetWare - BINDERY SERVICES - VERIFY BINDERY OBJECT PASSWORD
  2726.     AH = E3h subfn 3Fh
  2727.     DS:SI -> request buffer (see #1004)
  2728.     ES:DI -> reply buffer (see #1002)
  2729. Return: AL = status (see #1003)
  2730. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2731. SeeAlso: AH=E3h/SF=40h
  2732.  
  2733. (Table 1003)
  2734. Values for NetWare function status:
  2735.  00h    successful
  2736.  96h    server out of memory
  2737.  F0h    wildcard not allowed
  2738.  FBh    no such property
  2739.  FCh    no such object
  2740.  FEh    server bindery locked
  2741.  FFh    bindery failure: no such object, bad password, no password for object,
  2742.       or invalid old password
  2743.  
  2744. Format of NetWare request buffer:
  2745. Offset    Size    Description    (Table 1004)
  2746.  00h    WORD    length of following data (max 133h)
  2747.  02h    BYTE    3Fh (subfunction "Verify Bindery Object Password")
  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    length of password (00h-7Fh)
  2752.       N BYTEs    password
  2753. --------N-21E3--SF40-------------------------
  2754. INT 21 - Novell NetWare - BINDERY SERVICES - CHANGE BINDERY OBJECT PASSWORD
  2755.     AH = E3h subfn 40h
  2756.     DS:SI -> request buffer (see #1005)
  2757.     ES:DI -> reply buffer (see #1006)
  2758. Return: AL = status (see #1003)
  2759. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2760. SeeAlso: AH=E3h/SF=3Fh,AH=E3h/SF=41h
  2761.  
  2762. Format of NetWare request buffer:
  2763. Offset    Size    Description    (Table 1005)
  2764.  00h    WORD    length of following data (max 133h)
  2765.  02h    BYTE    40h (subfunction "Change Bindery Object Password")
  2766.  03h    WORD    (big-endian) type of object
  2767.  05h    BYTE    length of object's name (01h-2Fh)
  2768.  06h  N BYTEs    object name
  2769.     BYTE    length of old password (00h-7Fh)
  2770.       N BYTEs    old password
  2771.     BYTE    length of new password (00h-7Fh)
  2772.       N BYTEs    new password
  2773.  
  2774. Format of NetWare reply buffer:
  2775. Offset    Size    Description    (Table 1006)
  2776.  00h    WORD    (call) 0000h (no data returned)
  2777. --------N-21E3--SF41-------------------------
  2778. INT 21 - Novell NetWare - BINDERY SERVICES - ADD BINDERY OBJECT TO SET
  2779.     AH = E3h subfn 41h
  2780.     DS:SI -> request buffer (see #1008)
  2781.     ES:DI -> reply buffer (see #1006)
  2782. Return: AL = status (see #1007)
  2783. Desc:    add the specified object to a set property
  2784. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2785. SeeAlso: AH=E3h/SF=40h,AH=E3h/SF=42h,AH=E3h/SF=43h
  2786.  
  2787. (Table 1007)
  2788. Values for NetWare function status:
  2789.  00h    successful
  2790.  96h    server out of memory
  2791.  E9h    member already exists
  2792.  EAh    member does not exist
  2793.  EBh    not a group property
  2794.  F0h    wildcard not allowed
  2795.  F8h    can't write property
  2796.  F9h    not permitted to read property
  2797.  FBh    no such property
  2798.  FCh    no such object
  2799.  FEh    server bindery locked
  2800.  FFh    bindery failure
  2801.  
  2802. Format of NetWare request buffer:
  2803. Offset    Size    Description    (Table 1008)
  2804.  00h    WORD    length of following data (max 75h)
  2805.  02h    BYTE    41h (subfunction "Add Bindery Object to Set")
  2806.  03h    WORD    (big-endian) type of object
  2807.  05h    BYTE    length of object's name
  2808.  06h  N BYTEs    object name
  2809.     BYTE    length of property name (01h-0Fh)
  2810.       N BYTEs    property name
  2811.     WORD    (big-endian) type of member object
  2812.     BYTE    length of member object's name
  2813.       N BYTEs    member object's name
  2814. --------N-21E3--SF42-------------------------
  2815. INT 21 - Novell NetWare - BINDERY SERVICES - DELETE BINDERY OBJECT FROM SET
  2816.     AH = E3h subfn 42h
  2817.     DS:SI -> request buffer (see #1009)
  2818.     ES:DI -> reply buffer (see #1010)
  2819. Return: AL = status (see #1007)
  2820. Desc:    delete the specified object from a set property
  2821. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2822. SeeAlso: AH=E3h/SF=40h,AH=E3h/SF=42h,AH=E3h/SF=43h
  2823.  
  2824. Format of NetWare request buffer:
  2825. Offset    Size    Description    (Table 1009)
  2826.  00h    WORD    length of following data (max 75h)
  2827.  02h    BYTE    42h (subfunction "Delete Bindery Object from Set")
  2828.  03h    WORD    (big-endian) type of object
  2829.  05h    BYTE    length of object's name
  2830.  06h  N BYTEs    object name
  2831.     BYTE    length of property name (01h-0Fh)
  2832.       N BYTEs    property name
  2833.     WORD    (big-endian) type of member object
  2834.     BYTE    length of member object's name
  2835.       N BYTEs    member object's name
  2836.  
  2837. Format of NetWare reply buffer:
  2838. Offset    Size    Description    (Table 1010)
  2839.  00h    WORD    (call) 0000h (no data returned)
  2840. --------N-21E3--SF43-------------------------
  2841. INT 21 - Novell NetWare - BINDERY SERVICES - IS BINDERY OBJECT IN SET
  2842.     AH = E3h subfn 43h
  2843.     DS:SI -> request buffer (see #1011)
  2844.     ES:DI -> reply buffer (see #1010)
  2845. Return: AL = status (see #1007)
  2846. Desc:    determine whether the specified object is a member of the given set
  2847.       property
  2848. Notes:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2849.     the caller must have read access to the property
  2850. SeeAlso: AH=E3h/SF=41h,AH=E3h/SF=42h
  2851.  
  2852. Format of NetWare request buffer:
  2853. Offset    Size    Description    (Table 1011)
  2854.  00h    WORD    length of following data (max 75h)
  2855.  02h    BYTE    43h (subfunction "Is Bindery Object In Set")
  2856.  03h    WORD    (big-endian) type of object
  2857.  05h    BYTE    length of object's name
  2858.  06h  N BYTEs    object's name
  2859.     BYTE    length of property's name
  2860.       N BYTEs    property's name
  2861.     WORD    (big-endian) type of member object
  2862.     BYTE    length of member object's name
  2863.       N BYTEs    member object's name
  2864. --------N-21E3--SF44-------------------------
  2865. INT 21 - Novell NetWare - BINDERY SERVICES - CLOSE BINDERY
  2866.     AH = E3h subfn 44h
  2867.     DS:SI -> request buffer (see #1012)
  2868.     ES:DI -> reply buffer (see #1010)
  2869. Return: AL = status
  2870.         00h successful
  2871. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2872. SeeAlso: AH=E3h/SF=45h
  2873.  
  2874. Format of NetWare request buffer:
  2875. Offset    Size    Description    (Table 1012)
  2876.  00h    WORD    0001h (length of following data)
  2877.  02h    BYTE    44h (subfunction "Close Bindery")
  2878. --------N-21E3--SF45-------------------------
  2879. INT 21 - Novell NetWare - BINDERY SERVICES - OPEN BINDERY
  2880.     AH = E3h subfn 45h
  2881.     DS:SI -> request buffer (see #1013)
  2882.     ES:DI -> reply buffer (see #1010)
  2883. Return: AL = status
  2884.         00h successful
  2885. Notes:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2886.     the bindery may only be opened by the supervisor or an object with
  2887.       equivalent privileges
  2888. SeeAlso: AH=E3h/SF=44h
  2889.  
  2890. Format of NetWare request buffer:
  2891. Offset    Size    Description    (Table 1013)
  2892.  00h    WORD    0001h (length of following data)
  2893.  02h    BYTE    45h (subfunction "Open Bindery")
  2894. --------N-21E3--SF46-------------------------
  2895. INT 21 - Novell NetWare - BINDERY SERVICES - GET BINDERY ACCESS LEVEL
  2896.     AH = E3h subfn 46h
  2897.     DS:SI -> request buffer (see #1014)
  2898.     ES:DI -> reply buffer (see #1015)
  2899. Return: AL = status
  2900.         00h successful
  2901. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2902.  
  2903. Format of NetWare request buffer:
  2904. Offset    Size    Description    (Table 1014)
  2905.  00h    WORD    0001h (length of following data)
  2906.  02h    BYTE    46h (subfunction "Get Bindery Access Level")
  2907.  
  2908. Format of NetWare reply buffer:
  2909. Offset    Size    Description    (Table 1015)
  2910.  00h    WORD    0005h (length of following buffer)
  2911.  02h    BYTE    security levels
  2912.  03h    DWORD    (big-endian) object ID
  2913. --------N-21E3--SF47-------------------------
  2914. INT 21 - Novell NetWare - DIRECTORY SERVICES - SCAN BINDERY OBJ TRUSTEE PATHS
  2915.     AH = E3h subfn 47h
  2916.     DS:SI -> request buffer (see #1016)
  2917.     ES:DI -> reply buffer (see #1017)
  2918. Return: AL = status (00h,96h,F0h,F1h,FCh,FEh,FFh) (see #1018)
  2919. Desc:    iterate through the directories to which an object is a trustee
  2920. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2921. SeeAlso: AH=E2h/SF=0Ch,AH=E2h/SF=0Dh,AH=E2h/SF=0Eh
  2922.  
  2923. Format of NetWare request buffer:
  2924. Offset    Size    Description    (Table 1016)
  2925.  00h    WORD    0008h (length of following data)
  2926.  02h    BYTE    47h (subfunction "Scan Bindery Object Trustee Paths")
  2927.  03h    BYTE    volume number (00h-1Fh)
  2928.  04h    WORD    (big-endian) last sequence number (FFFFh on first call)
  2929.  06h    DWORD    (big-endian) object ID
  2930.  
  2931. Format of NetWare reply buffer:
  2932. Offset    Size    Description    (Table 1017)
  2933.  00h    WORD    (call) length of following results buffer (max 107h)
  2934.  02h    WORD    (big-endian) next sequence number
  2935.  04h    DWORD    (big-endian) object ID
  2936.  08h    BYTE    trustee directory rights (see #0909 at AH=E2h/SF=03h)
  2937.  09h    BYTE    length of trustee path
  2938.  0Ah  N BYTEs    trustee path
  2939. --------N-21E3--SF64-------------------------
  2940. INT 21 - Novell NetWare - QUEUE SERVICES - CREATE QUEUE
  2941.     AH = E3h subfn 64h
  2942.     DS:SI -> request buffer (see #1019)
  2943.     ES:DI -> reply buffer (see #1020)
  2944. Return: AL = status (00h,96h,99h,9Bh,9Ch,EDh-F1h,F5h,F7h,FCh,FEh,FFh)
  2945.         (see #1018)
  2946. Notes:    this function is supported by Advanced NetWare 2.1+
  2947.     caller must be on a workstation with supervisor privileges
  2948. SeeAlso: AH=E3h/SF=65h,AH=E3h/SF=66h,AH=E3h/SF=68h,AH=E3h/SF=6Bh
  2949.  
  2950. (Table 1018)
  2951. Values for NetWare function status:
  2952.  00h    successful
  2953.  96h    server out of memory
  2954.  99h    directory full
  2955.  9Bh    invalid directory handle
  2956.  9Ch    invalid path
  2957.  D0h    queue error
  2958.  D1h    no such queue
  2959.  D2h    no server for queue
  2960.  D3h    no queue rights
  2961.  D4h    queue full
  2962.  D5h    no queue job
  2963.  D6h    no job rights
  2964.  D7h    queue servicing error
  2965.  D9h    station is not a server
  2966.  DAh    queue halted
  2967.  DBh    too many queue servers
  2968.  EDh    property already exists
  2969.  EEh    object already exists
  2970.  EFh    invalid name
  2971.  F0h    wildcard not allowed
  2972.  F1h    invalid bindery security level
  2973.  F5h    not permitted to create object
  2974.  F7h    not permitted to create property
  2975.  FCh    no such object
  2976.  FEh    server bindery locked
  2977.  FFh    bindery failure
  2978.  
  2979. Format of NetWare request buffer:
  2980. Offset    Size    Description    (Table 1019)
  2981.  00h    WORD    length of following data (max ABh)
  2982.  02h    BYTE    64h (subfunction "Create Queue")
  2983.  03h    WORD    (big-endian) queue type
  2984.  05h    BYTE    length of queue's name (01h-2Fh)
  2985.  06h  N BYTEs    queue's name
  2986.     BYTE    directory handle or 00h
  2987.     BYTE    length of path name (01h-76h)
  2988.       N BYTEs    path name of directory in which to create queue subdirectory
  2989.  
  2990. Format of NetWare reply buffer:
  2991. Offset    Size    Description    (Table 1020)
  2992.  00h    WORD    (call) 0004h (size of following results buffer)
  2993.  02h    DWORD    (big-endian) object ID of queue
  2994. --------N-21E3--SF65-------------------------
  2995. INT 21 - Novell NetWare - QUEUE SERVICES - DESTROY QUEUE
  2996.     AH = E3h subfn 65h
  2997.     DS:SI -> request buffer (see #1021)
  2998.     ES:DI -> reply buffer (see #1026)
  2999. Return: AL = status (00h,96h,9Ch,D0h,D1h,FFh) (see also AH=E3h/SF=64h)
  3000.         FFh hardware failure
  3001. Desc:    abort all active jobs, detach all job servers, remove all job entries,
  3002.       delete all job files, remove the queue object and its properties
  3003.       from the bindery, and delete the queue's subdirectory
  3004. Notes:    this function is supported by Advanced NetWare 2.1+
  3005.     caller must have SUPERVISOR privileges
  3006. SeeAlso: AH=E3h/SF=64h,AH=E3h/SF=66h,AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=70h
  3007.  
  3008. Format of NetWare request buffer:
  3009. Offset    Size    Description    (Table 1021)
  3010.  00h    WORD    0005h (length of following data)
  3011.  02h    BYTE    65h (subfunction "Destroy Queue")
  3012.  03h    DWORD    (big-endian) object ID of queue
  3013. --------N-21E3--SF66-------------------------
  3014. INT 21 - Novell NetWare - QUEUE SERVICES - READ QUEUE CURRENT STATUS
  3015.     AH = E3h subfn 66h
  3016.     DS:SI -> request buffer (see #1022)
  3017.     ES:DI -> reply buffer (see #1023)
  3018. Return: AL = status (00h,96h,9Ch,D1h-D3h,F1h,FCh,FEh,FFh) (see #1018)
  3019. Notes:    this function is supported by Advanced NetWare 2.1+
  3020.     caller must be on a workstation which is security-equivalent to a
  3021.       member of the queue's Q_USERS or Q_OPERATORS properties
  3022. SeeAlso: AH=E3h/SF=64h,AH=E3h/SF=67h,AH=E3h/SF=6Fh,AH=E3h/SF=76h
  3023.  
  3024. Format of NetWare request buffer:
  3025. Offset    Size    Description    (Table 1022)
  3026.  00h    WORD    0005h (length of following data)
  3027.  02h    BYTE    66h (subfunction "Read Queue Current Status")
  3028.  03h    DWORD    (big-endian) object ID of queue
  3029.  
  3030. Format of NetWare reply buffer:
  3031. Offset    Size    Description    (Table 1023)
  3032.  00h    WORD    (call) 0085h (size of following results)
  3033.  02h    DWORD    (big-endian) object ID of queue
  3034.  06h    BYTE    status of queue (see #1024)
  3035.  07h    BYTE    number of jobs in queue (00h-FAh)
  3036.  08h    BYTE    number of servers attached to queue (00h-19h)
  3037.  09h 25 DWORDs    list of object IDs of attached servers
  3038.  6Dh 25 BYTEs    list of attached servers' stations
  3039.  86h    BYTE    (call) maximum number of servers to return
  3040.  
  3041. Bitfields for NetWare queue status:
  3042. Bit(s)    Description    (Table 1024)
  3043.  0    operator disabled addition of new jobs
  3044.  1    operator refuses additional job servers attaching
  3045.  2    operator disabled job servicing
  3046. --------N-21E3--SF67-------------------------
  3047. INT 21 - Novell NetWare - QUEUE SERVICES - SET QUEUE CURRENT STATUS
  3048.     AH = E3h subfn 67h
  3049.     DS:SI -> request buffer (see #1025)
  3050.     ES:DI -> reply buffer (see #1026)
  3051. Return: AL = status (00h,96h,9Ch,D0h,D1h,D3h,FEh,FFh) (see #1018)
  3052. Notes:    this function is supported by Advanced NetWare 2.1+
  3053.     caller must have operator privileges
  3054. SeeAlso: AH=E3h/SF=64h,AH=E3h/SF=66h,AH=E3h/SF=6Fh,AH=E3h/SF=76h
  3055.  
  3056. Format of NetWare request buffer:
  3057. Offset    Size    Description    (Table 1025)
  3058.  00h    WORD    0006h (length of following data)
  3059.  02h    BYTE    67h (subfunction "Set Queue Current Status")
  3060.  03h    DWORD    (big-endian) object ID of queue
  3061.  07h    BYTE    queue status (see #1024)
  3062.  
  3063. Format of NetWare reply buffer:
  3064. Offset    Size    Description    (Table 1026)
  3065.  00h    WORD    (call) 0000h (no results returned)
  3066. --------N-21E3--SF68-------------------------
  3067. INT 21 - Novell NetWare - QUEUE SERVICES - CREATE QUEUE JOB AND FILE
  3068.     AH = E3h subfn 68h
  3069.     DS:SI -> request buffer (see #1027)
  3070.     ES:DI -> reply buffer (see #1028)
  3071. Return: AL = status (00h,96h,99h,9Ch,D0h-D4h,DAh,EDh,EFh-F1h,F7h,FCh,FEh,FFh)
  3072.         (see #1018)
  3073. Notes:    this function is supported by Advanced NetWare 2.1+
  3074.     caller must be on a workstation which is security-equivalent to a
  3075.       member of the queue's Q_USER property
  3076. SeeAlso: AX=B807h,AH=E0h"SPOOLING",AH=E3h/SF=69h,AH=E3h/SF=6Ah,AH=E3h/SF=6Eh
  3077.  
  3078. Format of NetWare request buffer:
  3079. Offset    Size    Description    (Table 1027)
  3080.  00h    WORD    0107h (length of following data)
  3081.  02h    BYTE    68h (subfunction "Close File and Start Queue Job")
  3082.  03h    DWORD    (big-endian) object ID of queue
  3083.  07h    BYTE    client station
  3084.  08h    BYTE    client task number
  3085.  09h    DWORD    (big-endian) object ID of client
  3086.  0Dh    DWORD    (big-endian) object ID of target server
  3087.         FFFFFFFh if any server acceptable
  3088.  11h  6 BYTEs    target execution time (year,month,day,hour,minute,second)
  3089.         FFFFFFFFFFFFh to execute as soon as possible
  3090.  17h  6 BYTEs    job entry time (year,month,day,hour,minute,second)
  3091.  1Dh    WORD    (big-endian) job number
  3092.  1Fh    WORD    (big-endian) job type
  3093.  21h    BYTE    job position
  3094.  22h    BYTE    job control flags
  3095.  23h 14 BYTEs    ASCIZ job file name
  3096.  31h  6 BYTEs    job file handle
  3097.  37h    BYTE    server station
  3098.  38h    BYTE    server task number
  3099.  39h    DWORD    (big-endian) object ID of server
  3100.  3Dh 50 BYTEs    ASCIZ job description string
  3101.  6Fh 152 BYTEs    client record area
  3102.  
  3103. Format of NetWare reply buffer:
  3104. Offset    Size    Description    (Table 1028)
  3105.  00h    WORD    (call) 0036h (size of following results buffer)
  3106.  02h    BYTE    client station
  3107.  03h    BYTE    client task number
  3108.  04h    DWORD    (big-endian) object ID of client
  3109.  08h    DWORD    (big-endian) object ID of target server
  3110.  0Ch  6 BYTEs    target execution time (year,month,day,hour,minute,second)
  3111.  12h  6 BYTEs    job entry time (year,month,day,hour,minute,second)
  3112.  18h    WORD    (big-endian) job number
  3113.  1Ah    WORD    (big-endian) job type
  3114.  1Ch    BYTE    job position
  3115.  1Dh    BYTE    job control flags
  3116.  1Eh 14 BYTEs    ASCIZ job file name
  3117.  2Ch  6 BYTEs    job file handle
  3118.  32h    BYTE    server station
  3119.  33h    BYTE    server task number
  3120.  34h    DWORD    (big-endian) object ID of server or 00000000h
  3121. --------N-21E3--SF69-------------------------
  3122. INT 21 - Novell NetWare - QUEUE SERVICES - CLOSE FILE AND START QUEUE JOB
  3123.     AH = E3h subfn 69h
  3124.     DS:SI -> request buffer (see #1029)
  3125.     ES:DI -> reply buffer (see #1030)
  3126. Return: AL = status (00h,96h,D0h,D1h,D3h,D5h,D6h,FEh,FFh) (see #1018)
  3127. Notes:    this function is supported by Advanced NetWare 2.1+
  3128.     caller must be on the workstation which created the job
  3129. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Eh
  3130.  
  3131. Format of NetWare request buffer:
  3132. Offset    Size    Description    (Table 1029)
  3133.  00h    WORD    0007h (length of following data)
  3134.  02h    BYTE    69h (subfunction "Close File and Start Queue Job")
  3135.  03h    DWORD    (big-endian) object ID of queue
  3136.  07h    WORD    (big-endian) job number
  3137.  
  3138. Format of NetWare reply buffer:
  3139. Offset    Size    Description    (Table 1030)
  3140.  00h    WORD    (call) 0000h (no results returned)
  3141. --------N-21E3--SF6A-------------------------
  3142. INT 21 - Novell NetWare - QUEUE SERVICES - REMOVE JOB FROM QUEUE
  3143.     AH = E3h subfn 6Ah
  3144.     DS:SI -> request buffer (see #1031)
  3145.     ES:DI -> reply buffer (see #1030)
  3146. Return: AL = status (00h,96h,D0h,D1h,D5h,D6h,FEh,FFh) (see #1018)
  3147. Notes:    this function is supported by Advanced NetWare 2.1+
  3148.     caller must have created the job or be an operator
  3149. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Eh
  3150.  
  3151. Format of NetWare request buffer:
  3152. Offset    Size    Description    (Table 1031)
  3153.  00h    WORD    0007h (length of following data)
  3154.  02h    BYTE    6Ah (subfunction "Remove Job From Queue")
  3155.  03h    DWORD    (big-endian) object ID of queue
  3156.  07h    WORD    (big-endian) job number
  3157. --------N-21E3--SF6B-------------------------
  3158. INT 21 - Novell NetWare - QUEUE SERVICES - GET QUEUE JOB LIST
  3159.     AH = E3h subfn 6Bh
  3160.     DS:SI -> request buffer (see #1032)
  3161.     ES:DI -> reply buffer (see #1033)
  3162. Return: AL = status (00h,96h,9Ch,D0h-D3h,FCh,FEh,FFh) (see #1018)
  3163. Notes:    this function is supported by Advanced NetWare 2.1+
  3164.     caller must be on a workstation which is security-equivalent to a
  3165.       member of the Q_USERS or Q_OPERATORS properties
  3166. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Eh
  3167.  
  3168. Format of NetWare request buffer:
  3169. Offset    Size    Description    (Table 1032)
  3170.  00h    WORD    0005h (length of following data)
  3171.  02h    BYTE    6Bh (subfunction "Get Queue Job List")
  3172.  03h    DWORD    (big-endian) object ID of queue
  3173.  
  3174. Format of NetWare reply buffer:
  3175. Offset    Size    Description    (Table 1033)
  3176.  00h    WORD    (call) size of following results buffer (max 1F6h)
  3177.  02h    WORD    (big-endian) job count
  3178.  04h  N WORDs    (big-endian) list of job numbers by position in queue
  3179.     WORD    maximum job numbers
  3180. --------N-21E3--SF6C-------------------------
  3181. INT 21 - Novell NetWare - QUEUE SERVICES - READ QUEUE JOB ENTRY
  3182.     AH = E3h subfn 6Ch
  3183.     DS:SI -> request buffer (see #1034)
  3184.     ES:DI -> reply buffer (see #1035)
  3185. Return: AL = status (00h,96h,D0h-D3h,D5h,FCh,FEh,FFh) (see #1018)
  3186. Notes:    this function is supported by Advanced NetWare 2.1+
  3187.     caller must be on a workstation which is security-equivalent to a
  3188.       member of the Q_USERS, Q_OPERATORS, or Q_SERVERS properties
  3189. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Eh
  3190.  
  3191. Format of NetWare request buffer:
  3192. Offset    Size    Description    (Table 1034)
  3193.  00h    WORD    0007h (length of following data)
  3194.  02h    BYTE    6Ch (subfunction "Read Queue Job Entry")
  3195.  03h    DWORD    (big-endian) object ID of queue
  3196.  07h    WORD    (big-endian) job number
  3197.  
  3198. Format of NetWare reply buffer:
  3199. Offset    Size    Description    (Table 1035)
  3200.  00h    WORD    (call) 0100h (size of following results)
  3201.  02h    BYTE    client station number
  3202.  03h    BYTE    client task number
  3203.  04h    DWORD    object ID of client
  3204.  08h    DWORD    (big-endian) object ID of target server
  3205.         FFFFFFFFh if any server acceptable
  3206.  0Ch  6 BYTEs    target execution time (year,month,day,hour,minute,second)
  3207.         FFFFFFFFFFFFh if serviced as soon as possible
  3208.  12h  6 BYTEs    job entry time (year,month,day,hour,minute,second)
  3209.  18h    WORD    (big-endian) job number
  3210.  1Ah    WORD    (big-endian) job type
  3211.  1Ch    BYTE    job position
  3212.  1Dh    BYTE    job control flags (see #1036)
  3213.  1Eh 14 BYTEs    ASCIZ job filename
  3214.  2Ch  6 BYTEs    job file handle
  3215.  32h    BYTE    server station
  3216.  33h    BYTE    server task number
  3217.  34h    DWORD    object ID of server
  3218.  38h 50 BYTEs    ASCIZ job description string
  3219.  6Ah 152 BYTEs    client record area
  3220.  
  3221. Bitfields for NetWare job control flags:
  3222. Bit(s)    Description    (Table 1036)
  3223.  3    job will be serviced automatically if connection broken
  3224.  4    job remains in queue after server aborts job
  3225.  5    client has not filled associated job file
  3226.  6    User Hold--job advances, but cannot be serviced until this is
  3227.       cleared by user or operator
  3228.  7    Operator Hold--job advances, but cannot be serviced until this is
  3229.       cleared by an operator
  3230. --------N-21E3--SF6D-------------------------
  3231. INT 21 - Novell NetWare - QUEUE SERVICES - CHANGE QUEUE JOB ENTRY
  3232.     AH = E3h subfn 6Dh
  3233.     DS:SI -> request buffer (see #1037)
  3234.     ES:DI -> reply buffer (see #1039)
  3235. Return: AL = status (00h,96h,D0h,D1h,D5h,D7h,FEh,FFh) (see #1018)
  3236. Notes:    this function is supported by Advanced NetWare 2.1+
  3237.     caller must be an operator or the user who created the job
  3238. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Ch,AH=E3h/SF=6Eh
  3239.  
  3240. Format of NetWare request buffer:
  3241. Offset    Size    Description    (Table 1037)
  3242.  00h    WORD    0105h (length of following data)
  3243.  02h    BYTE    6Dh (subfunction "Change Queue Job Entry")
  3244.  03h    DWORD    (big-endian) object ID of queue
  3245.  07h    BYTE    client station number
  3246.  08h    BYTE    client task number
  3247.  09h    DWORD    (big-endian) object ID of client
  3248.  0Dh    DWORD    (big-endian) object ID of target server
  3249.  11h  6 BYTEs    target execution time (year,month,day,hour,minute,second)
  3250.  17h  6 BYTEs    job entry time (year,month,day,hour,minute,second)
  3251.  1Dh    WORD    (big-endian) job number
  3252.  1Fh    WORD    (big-endian) job type
  3253.  21h    BYTE    job position
  3254.  22h    BYTE    job control flags (see #1036)
  3255.  23h 14 BYTEs    ASCIZ job filename
  3256.  31h  6 BYTEs    job file handle
  3257.  37h    BYTE    server station
  3258.  38h    BYTE    server task number
  3259.  39h    DWORD    object ID of server
  3260.  3Dh 50 BYTEs    ASCIZ job description string
  3261.  6Fh 152 BYTEs    client record area
  3262. --------N-21E3--SF6E-------------------------
  3263. INT 21 - Novell NetWare - QUEUE SERVICES - CHANGE QUEUE JOB POSITION
  3264.     AH = E3h subfn 6Eh
  3265.     DS:SI -> request buffer (see #1038)
  3266.     ES:DI -> reply buffer (see #1039)
  3267. Return: AL = status (00h,96h,D0h,D1h,D5h,D6h,FEh,FFh) (see #1018)
  3268. Notes:    this function is supported by Advanced NetWare 2.1+
  3269.     caller must be an operator
  3270.     if the specified position is greater than the number of jobs in the
  3271.       queue, the job is placed at the end of the queue
  3272. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Ch,AH=E3h/SF=6Dh
  3273.  
  3274. Format of NetWare request buffer:
  3275. Offset    Size    Description    (Table 1038)
  3276.  00h    WORD    0008h (length of following data)
  3277.  02h    BYTE    6Eh (subfunction "Change Queue Job Position")
  3278.  03h    DWORD    (big-endian) object ID of queue
  3279.  07h    WORD    (big-endian) job number
  3280.  09h    BYTE    new position in queue (01h-FAh)
  3281.  
  3282. Format of NetWare reply buffer:
  3283. Offset    Size    Description    (Table 1039)
  3284.  00h    WORD    (call) 0000h (no results returned)
  3285. --------N-21E3--SF6F-------------------------
  3286. INT 21 - Novell NetWare - QUEUE SERVICES - ATTACH QUEUE SERVER TO QUEUE
  3287.     AH = E3h subfn 6Fh
  3288.     DS:SI -> request buffer (see #1040)
  3289.     ES:DI -> reply buffer (see #1039)
  3290. Return: AL = status (00h,96h,9Ch,D0h,D1h,D3h,DAh,DBh,FEh,FFh)
  3291.         (see also AH=E3h/SF=64h)
  3292.         FFh bindery failure, or no such property, or no such member
  3293. Desc:    attach the calling job server to the specified queue
  3294. Notes:    this function is supported by Advanced NetWare 2.1+
  3295.     a queue may have up to 25 job servers attached
  3296.     the calling workstation must be security-equivalent to a member of the
  3297.       queue's Q_SERVERS property
  3298. SeeAlso: AH=E3h/SF=70h,AH=E3h/SF=71h,AH=E3h/SF=72h,AH=E3h/SF=73h,AH=E3h/SF=76h
  3299.  
  3300. Format of NetWare request buffer:
  3301. Offset    Size    Description    (Table 1040)
  3302.  00h    WORD    0005h (length of following data)
  3303.  02h    BYTE    6Fh (subfunction "Attach Queue Server To Queue")
  3304.  03h    DWORD    (big-endian) object ID of queue
  3305. --------N-21E3--SF70-------------------------
  3306. INT 21 - Novell NetWare - QUEUE SERVICES - DETACH QUEUE SERVER FROM QUEUE
  3307.     AH = E3h subfn 70h
  3308.     DS:SI -> request buffer (see #1041)
  3309.     ES:DI -> reply buffer (see #1039)
  3310. Return: AL = status (00h,96h,9Ch,D0h,D1h,D2h,FEh,FFh) (see #1018)
  3311. Desc:    remove the calling job server from the specified queue's list of
  3312.       servers
  3313. Notes:    this function is supported by Advanced NetWare 2.1+
  3314.     the caller must have previously attached itself to the queue
  3315. SeeAlso: AH=E3h/SF=6Fh,AH=E3h/SF=72h,AH=E3h/SF=73h,AH=E3h/SF=76h
  3316.  
  3317. Format of NetWare request buffer:
  3318. Offset    Size    Description    (Table 1041)
  3319.  00h    WORD    0005h (length of following data)
  3320.  02h    BYTE    70h (subfunction "Detach Queue Server From Queue")
  3321.  03h    DWORD    (big-endian) object ID of queue
  3322. --------N-21E3--SF71-------------------------
  3323. INT 21 - Novell NetWare - QUEUE SERVICES - SERVICE QUEUE JOB AND OPEN FILE
  3324.     AH = E3h subfn 71h
  3325.     DS:SI -> request buffer (see #1042)
  3326.     ES:DI -> reply buffer (see #1028)
  3327. Return: AL = status (00h,96h,9Ch,D0h,D1h,D3h,D5h,D9h,DAh,FEh,FFh)
  3328.         (see #1018)
  3329. Notes:    this function is supported by Advanced NetWare 2.1+
  3330.     the caller must be on a workstation which is security-equivalent to a
  3331.       member of the queue's Q_USERS, Q_OPERATORS, or Q_SERVERS properties
  3332. SeeAlso: AH=E3h/SF=6Fh,AH=E3h/SF=72h,AH=E3h/SF=73h,AH=E3h/SF=76h
  3333.  
  3334. Format of NetWare request buffer:
  3335. Offset    Size    Description    (Table 1042)
  3336.  00h    WORD    0007h (length of following data)
  3337.  02h    BYTE    71h (subfunction "Service Queue Job and Open File")
  3338.  03h    DWORD    (big-endian) object ID of queue
  3339.  07h    WORD    (big-endian) target job type
  3340.         FFFFh any
  3341. --------N-21E3--SF72-------------------------
  3342. INT 21 - Novell NetWare - QUEUE SERVICES - FINISH SERVICING QUEUE JOB AND FILE
  3343.     AH = E3h subfn 72h
  3344.     DS:SI -> request buffer (see #1043)
  3345.     ES:DI -> reply buffer (see #1045)
  3346. Return: AL = status (00h,96h,D0h,D1h,D6h) (see #1018)
  3347. Desc:    inform the Queue Management System (QMS) that the queue server has
  3348.       completed a job
  3349. Notes:    this function is supported by Advanced NetWare 2.1+
  3350.     the caller must be a job server which has previously obtained a job
  3351.       for servicing
  3352. SeeAlso: AH=E3h/SF=6Fh,AH=E3h/SF=71h,AH=E3h/SF=73h,AH=E3h/SF=76h
  3353.  
  3354. Format of NetWare request buffer:
  3355. Offset    Size    Description    (Table 1043)
  3356.  00h    WORD    000Bh (length of following data)
  3357.  02h    BYTE    72h (subfunction "Finish Servicing Queue Job and File")
  3358.  03h    DWORD    (big-endian) object ID of queue
  3359.  07h    WORD    (big-endian) job number
  3360.  09h    DWORD    (big-endian) charge
  3361. --------N-21E3--SF73-------------------------
  3362. INT 21 - Novell NetWare - QUEUE SERVICES - ABORT SERVICING QUEUE JOB AND FILE
  3363.     AH = E3h subfn 73h
  3364.     DS:SI -> request buffer (see #1044)
  3365.     ES:DI -> reply buffer (see #1045)
  3366. Return: AL = status (00h,96h,D0h,D1h,D6h,D9h) (see #1018)
  3367. Desc:    inform the Queue Management System (QMS) that the queue server is
  3368.       unable to service a previously-accepted job
  3369. Note:    this function is supported by Advanced NetWare 2.1+
  3370. SeeAlso: AH=E3h/SF=6Fh,AH=E3h/SF=71h,AH=E3h/SF=72h,AH=E3h/SF=76h
  3371.  
  3372. Format of NetWare request buffer:
  3373. Offset    Size    Description    (Table 1044)
  3374.  00h    WORD    0007h (length of following data)
  3375.  02h    BYTE    73h (subfunction "Abort Servicing Queue Job and File")
  3376.  03h    DWORD    (big-endian) object ID of queue
  3377.  07h    WORD    (big-endian) job number
  3378.  
  3379. Format of NetWare reply buffer:
  3380. Offset    Size    Description    (Table 1045)
  3381.  00h    WORD    (call) 0000h (no results returned)
  3382. --------N-21E3--SF74-------------------------
  3383. INT 21 - Novell NetWare - QUEUE SERVICES - CHANGE TO CLIENT RIGHTS
  3384.     AH = E3h subfn 74h
  3385.     DS:SI -> request buffer (see #1046)
  3386.     ES:DI -> reply buffer (see #1045)
  3387. Return: AL = status (00h,96h,D0h,D1h,D5h,D9h) (see #1018)
  3388. Desc:    temporarily assume the login identity of the client submitting the
  3389.       job being serviced
  3390. Notes:    this function is supported by Advanced NetWare 2.1+
  3391.     caller must be a job server which has obtained a job for servicing
  3392. SeeAlso: AH=E3h/SF=75h
  3393.  
  3394. Format of NetWare request buffer:
  3395. Offset    Size    Description    (Table 1046)
  3396.  00h    WORD    0007h (length of following data)
  3397.  02h    BYTE    74h (subfunction "Change To Client Rights")
  3398.  03h    DWORD    (big-endian) object ID of queue
  3399.  07h    WORD    (big-endian) job number
  3400. --------N-21E3--SF75-------------------------
  3401. INT 21 - Novell NetWare - QUEUE SERVICES - RESTORE QUEUE SERVER RIGHTS
  3402.     AH = E3h subfn 75h
  3403.     DS:SI -> request buffer (see #1047)
  3404.     ES:DI -> reply buffer (see #1045)
  3405. Return: AL = status (00h,96h,9Ch,D0h,D1h,D3h,D5h,D9h,DAh,FEh,FFh) (see #1018)
  3406. Desc:    restore server's own identity after assuming the login identity of the
  3407.       client submitting the job being serviced
  3408. Notes:    this function is supported by Advanced NetWare 2.1+
  3409.     caller must be a job server which has previously changed its identity
  3410. SeeAlso: AH=E3h/SF=74h
  3411.  
  3412. Format of NetWare request buffer:
  3413. Offset    Size    Description    (Table 1047)
  3414.  00h    WORD    0001h (length of following data)
  3415.  02h    BYTE    75h (subfunction "Change To Client Rights")
  3416. --------N-21E3--SF76-------------------------
  3417. INT 21 - Novell NetWare - QUEUE SERVICES - READ QUEUE SERVER CURRENT STATUS
  3418.     AH = E3h subfn 76h
  3419.     DS:SI -> request buffer (see #1048)
  3420.     ES:DI -> reply buffer (see #1049)
  3421. Return: AL = status (00h,96h,9Ch,D1h-D3h,F1h,FCh,FEh,FFh) (see #1018)
  3422. Notes:    this function is supported by Advanced NetWare 2.1+
  3423.     caller must be on a workstation which is security-equivalent to a
  3424.       member of the Q_USERS or Q_OPERATORS properties
  3425. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ch,AH=E3h/SF=6Fh,AH=E3h/SF=77h,AH=E3h/SF=78h
  3426.  
  3427. Format of NetWare request buffer:
  3428. Offset    Size    Description    (Table 1048)
  3429.  00h    WORD    000Ah (length of following data)
  3430.  02h    BYTE    76h (subfunction "Read Queue Server Current Status")
  3431.  03h    DWORD    (big-endian) object ID of queue
  3432.  07h    DWORD    (big-endian) object ID of server
  3433.  0Bh    BYTE    server station
  3434.  
  3435. Format of NetWare reply buffer:
  3436. Offset    Size    Description    (Table 1049)
  3437.  00h    WORD    (call) 0040h (size of following results)
  3438.  02h 64 BYTEs    server status record (format depends on server)
  3439.         first four bytes should contain estimated "price" for an
  3440.           average job
  3441. --------N-21E3--SF77-------------------------
  3442. INT 21 - Novell NetWare - QUEUE SERVICES - SET QUEUE SERVER CURRENT STATUS
  3443.     AH = E3h subfn 77h
  3444.     DS:SI -> request buffer (see #1050)
  3445.     ES:DI -> reply buffer (see #1051)
  3446. Return: AL = status (00h,96h,9Ch,D0h,D1h,FEh,FFh) (see #1018)
  3447. Notes:    this function is supported by Advanced NetWare 2.1+
  3448.     caller must be a job server which has attached itself to the queue
  3449. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ch,AH=E3h/SF=6Fh,AH=E3h/SF=76h,AH=E3h/SF=78h
  3450.  
  3451. Format of NetWare request buffer:
  3452. Offset    Size    Description    (Table 1050)
  3453.  00h    WORD    0045h (length of following data)
  3454.  02h    BYTE    77h (subfunction "Set Queue Server Current Status")
  3455.  03h    DWORD    (big-endian) object ID of queue
  3456.  02h 64 BYTEs    server status record (format depends on server)
  3457.         first four bytes should contain estimated "price" for an
  3458.           average job
  3459.  
  3460. Format of NetWare reply buffer:
  3461. Offset    Size    Description    (Table 1051)
  3462.  00h    WORD    (call) 0000h (no results returned)
  3463. --------N-21E3--SF78-------------------------
  3464. INT 21 - Novell NetWare - QUEUE SERVICES - GET QUEUE JOB'S FILE SIZE
  3465.     AH = E3h subfn 78h
  3466.     DS:SI -> request buffer (see #1052)
  3467.     ES:DI -> reply buffer (see #1053)
  3468. Return: AL = status (see also #1018)
  3469.         00h successful
  3470. Notes:    this function is supported by Advanced NetWare 2.1+
  3471.     caller must be on a workstation which is security-equivalent to a
  3472.       member of the queue's Q_USERS, Q_OPERATORS, or Q_SERVERS properties
  3473. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ch,AH=E3h/SF=71h
  3474.  
  3475. Format of NetWare request buffer:
  3476. Offset    Size    Description    (Table 1052)
  3477.  00h    WORD    0007h (length of following data)
  3478.  02h    BYTE    78h (subfunction "Get Queue Job's File Size")
  3479.  03h    DWORD    (big-endian) object ID of queue
  3480.  07h    WORD    (big-endian) job number
  3481.  
  3482. Format of NetWare reply buffer:
  3483. Offset    Size    Description    (Table 1053)
  3484.  00h    WORD    (call) 000Ah (size of following results)
  3485.  02h    DWORD    (big-endian) object ID of queue
  3486.  06h    WORD    (big-endian) job number
  3487.  08h    DWORD    (big-endian) size of job file in bytes
  3488. --------N-21E3--SF96-------------------------
  3489. INT 21 - Novell NetWare - ACCOUNTING SERVICES - GET ACCOUNT STATUS
  3490.     AH = E3h subfn 96h
  3491.     DS:SI -> request buffer (see #1055)
  3492.     ES:DI -> reply buffer (see #1056)
  3493. Return: AL = status (00h,C0h,C1h) (see #1054)
  3494. Note:    this function is supported by Advanced NetWare 2.1+
  3495. SeeAlso: AH=E3h/SF=97h,AH=E3h/SF=98h,AH=E3h/SF=99h
  3496.  
  3497. (Table 1054)
  3498. Values for NetWare function status:
  3499.  00h    successful
  3500.  C0h    no account privileges
  3501.  C1h    no account balance
  3502.  C2h    credit limit exceeded
  3503.  C3h    too many holds on account
  3504.  
  3505. Format of NetWare request buffer:
  3506. Offset    Size    Description    (Table 1055)
  3507.  00h    WORD    length of following data (max 33h)
  3508.  02h    BYTE    96h (subfunction "Get Account Status")
  3509.  03h    WORD    (big-endian) type of bindery object
  3510.  05h    BYTE    length of object name (01h to 2Fh)
  3511.  06h  N BYTEs    object name
  3512.  
  3513. Format of NetWare reply buffer:
  3514. Offset    Size    Description    (Table 1056)
  3515.  00h    WORD    (call) length of following buffer space
  3516.  02h    DWORD    (big-endian) account balance
  3517.  06h    DWORD    (big-endian) credit limit
  3518.         signed number indicating lowest allowable account balance
  3519.  0Ah 120 BYTEs    reserved
  3520.  82h    DWORD    (big-endian) object ID, server 1
  3521.  86h    DWORD    (big-endian) hold amount, server 1
  3522.     ...
  3523.  F8h    DWORD    (big-endian) object ID, server 16
  3524.  FCh    DWORD    (big-endian) hold amount, server 16
  3525. Note:    the reply buffer lists the servers which have placed holds on a portion
  3526.       of the account balance, and the amount reserved by each
  3527. --------N-21E3--SF97-------------------------
  3528. INT 21 - Novell NetWare - ACCOUNTING SERVICES - SUBMIT ACCOUNT CHARGE
  3529.     AH = E3h subfn 97h
  3530.     DS:SI -> request buffer (see #1057)
  3531.     ES:DI -> reply buffer (see #1059)
  3532. Return: AL = status (00h,C0h-C2h) (see #1054)
  3533. Note:    this function is supported by Advanced NetWare 2.1+
  3534. SeeAlso: AH=E3h/SF=96h,AH=E3h/SF=98h
  3535.  
  3536. Format of NetWare request buffer:
  3537. Offset    Size    Description    (Table 1057)
  3538.  00h    WORD    length of following data (max 13Fh)
  3539.  02h    BYTE    97h (subfunction "Submit Account Charge")
  3540.  03h    WORD    (big-endian) service type
  3541.  05h    DWORD    (big-endian) amount to be charged to account
  3542.  09h    DWORD    (big-endian) amount of prior hold to be cancelled
  3543.  0Dh    WORD    (big-endian) type of bindery object
  3544.  0Fh    WORD    (big-endian) type of comment
  3545.         8000h-FFFFh reserved for experimental use
  3546.  11h    BYTE    length of object's name
  3547.  12h  N BYTEs    object name
  3548.     BYTE    length of comment
  3549.       N BYTEs    comment
  3550. --------N-21E3--SF98-------------------------
  3551. INT 21 - Novell NetWare - ACCOUNTING SERVICES - SUBMIT ACCOUNT HOLD
  3552.     AH = E3h subfn 98h
  3553.     DS:SI -> request buffer (see #1058)
  3554.     ES:DI -> reply buffer (see #1059)
  3555. Return: AL = status (00h,C0h-C3h) (see #1054)
  3556. Note:    this function is supported by Advanced NetWare 2.1+
  3557. SeeAlso: AH=E3h/SF=96h,AH=E3h/SF=97h
  3558.  
  3559. Format of NetWare request buffer:
  3560. Offset    Size    Description    (Table 1058)
  3561.  00h    WORD    length of following data (max 37h)
  3562.  02h    BYTE    98h (subfunction "Submit Account Hold")
  3563.  03h    DWORD    (big-endian) amount of account balance to reserve
  3564.  07h    WORD    (big-endian) type of bindery object
  3565.  09h    BYTE    length of object's name
  3566.  0Ah  N BYTEs    object name
  3567.  
  3568. Format of NetWare reply buffer:
  3569. Offset    Size    Description    (Table 1059)
  3570.  00h    WORD    0000h (no data returned)
  3571. --------N-21E3--SF99-------------------------
  3572. INT 21 - Novell NetWare - ACCOUNTING SERVICES - SUBMIT ACCOUNT NOTE
  3573.     AH = E3h subfn 99h
  3574.     DS:SI -> request buffer (see #1060)
  3575.     ES:DI -> reply buffer (see #1059)
  3576. Return: AL = status (00h,C0h) (see #1054)
  3577. Note:    this function is supported by Advanced NetWare 2.1+
  3578. SeeAlso: AH=E3h/SF=96h
  3579.  
  3580. Format of NetWare request buffer:
  3581. Offset    Size    Description    (Table 1060)
  3582.  00h    WORD    length of following data (max 137h)
  3583.  02h    BYTE    99h (subfunction "Submit Account Note")
  3584.  03h    WORD    (big-endian) type of service
  3585.  05h    WORD    (big-endian) type of bindery object
  3586.  07h    WORD    (big-endian) type of comment
  3587.         8000h-FFFFh reserved for experimental use
  3588.  09h    BYTE    length of object's name
  3589.  0Ah  N BYTEs    object name
  3590.     BYTE    length of comment
  3591.       N BYTEs    comment
  3592. --------N-21E3--SFC8-------------------------
  3593. INT 21 - Novell NetWare - FILE SERVER - CHECK CONSOLE PRIVILEGES
  3594.     AH = E3h subfn C8h
  3595.     DS:SI -> request buffer (see #1061)
  3596.     ES:DI -> reply buffer (see #1059)
  3597. Return: AL = status (00h,C6h) (see #1064)
  3598. Desc:    determine whether the caller is a console operator
  3599. Notes:    this function is supported by Advanced NetWare 2.1+
  3600.     NetWare determines console privileges by checking the file server's
  3601.       OPERATOR property for the caller's object ID
  3602. SeeAlso: AH=E3h/SF=C9h,AH=E3h/SF=D1h
  3603.  
  3604. Format of NetWare request buffer:
  3605. Offset    Size    Description    (Table 1061)
  3606.  00h    WORD    0001h (length of following data)
  3607.  02h    BYTE    C8h (subfunction "Check Console Privileges")
  3608. --------N-21E3--SFC9-------------------------
  3609. INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER DESCRIPTION STRINGS
  3610.     AH = E3h subfn C9h
  3611.     DS:SI -> request buffer (see #1062)
  3612.     ES:DI -> reply buffer (see #1063)
  3613. Return: AL = status
  3614.         00h successful
  3615. Notes:    this function is supported by Advanced NetWare 2.1+
  3616.     the calling workstation must be attached to the file server
  3617. SeeAlso: AH=E3h/SF=11h,AH=E3h/SF=CDh,AH=E3h/SF=E8h
  3618.  
  3619. Format of NetWare request buffer:
  3620. Offset    Size    Description    (Table 1062)
  3621.  00h    WORD    0001h (length of following data)
  3622.  02h    BYTE    C9h (subfunction "Get File Server Description Strings")
  3623.  
  3624. Format of NetWare reply buffer:
  3625. Offset    Size    Description    (Table 1063)
  3626.  00h    WORD    (call) 0200h (size of following results buffer)
  3627.  02h    var    ASCIZ name of company distributing this copy of NetWare
  3628.     var    ASCIZ version and revision
  3629.       9 BYTEs    ASCIZ revision date (mm/dd/yy)
  3630.     var    ASCIZ copyright notice
  3631. --------N-21E3--SFCA-------------------------
  3632. INT 21 - Novell NetWare - FILE SERVER - SET FILE SERVER DATE AND TIME
  3633.     AH = E3h subfn CAh
  3634.     DS:SI -> request buffer (see #1065)
  3635.     ES:DI -> reply buffer (see below)
  3636. Return: AL = status (00h,C6h) (see #1064)
  3637. Notes:    this function is supported by Advanced NetWare 2.1+
  3638.     the calling workstation must have console operator privileges
  3639. SeeAlso: AH=2Bh,AH=2Dh,AH=E3h/SF=C8h,AH=E7h
  3640.  
  3641. (Table 1064)
  3642. Values for NetWare function status:
  3643.  00h    successful
  3644.  C6h    no console rights
  3645.  
  3646. Format of NetWare request buffer:
  3647. Offset    Size    Description    (Table 1065)
  3648.  00h    WORD    0007h (length of following data)
  3649.  02h    BYTE    CAh (subfunction "Set File Server Date And Time")
  3650.  03h    BYTE    year (00-79 = 2000-2079, 80-99 = 1980-1999)
  3651.  04h    BYTE    month (1-12)
  3652.  05h    BYTE    day (1-31)
  3653.  06h    BYTE    hour (0-23)
  3654.  07h    BYTE    minute
  3655.  08h    BYTR    second
  3656. --------N-21E3--SFCB-------------------------
  3657. INT 21 - Novell NetWare - FILE SERVER - DISABLE FILE SERVER LOGIN
  3658.     AH = E3h subfn CBh
  3659.     DS:SI -> request buffer (see #1066)
  3660.     ES:DI -> reply buffer (see #1067)
  3661. Return: AL = status (00h,C6h) (see #1064)
  3662. Notes:    this function is supported by Advanced NetWare 2.1+
  3663.     the calling workstation must have console operator privileges
  3664. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CCh,AH=E3h/SF=D3h
  3665.  
  3666. Format of NetWare request buffer:
  3667. Offset    Size    Description    (Table 1066)
  3668.  00h    WORD    0001h (length of following data)
  3669.  02h    BYTE    CBh (subfunction "Disable File Server Login")
  3670.  
  3671. Format of NetWare reply buffer:
  3672. Offset    Size    Description    (Table 1067)
  3673.  00h    WORD    (call) 0000h (no results returned)
  3674. --------N-21E3--SFCC-------------------------
  3675. INT 21 - Novell NetWare - FILE SERVER - ENABLE FILE SERVER LOGIN
  3676.     AH = E3h subfn CCh
  3677.     DS:SI -> request buffer (see #1068)
  3678.     ES:DI -> reply buffer (see #1067)
  3679. Return: AL = status (00h,C6h) (see #1064)
  3680. Notes:    this function is supported by Advanced NetWare 2.1+
  3681.     the calling workstation must have console operator privileges
  3682. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CBh
  3683.  
  3684. Format of NetWare request buffer:
  3685. Offset    Size    Description    (Table 1068)
  3686.  00h    WORD    0001h (length of following data)
  3687.  02h    BYTE    CCh (subfunction "Enable File Server Login")
  3688. --------N-21E3--SFCD-------------------------
  3689. INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER LOGIN STATUS
  3690.     AH = E3h subfn CDh
  3691.     DS:SI -> request buffer (see #1069)
  3692.     ES:DI -> reply buffer (see #1070)
  3693. Return: AL = status (00h,C6h) (see #1064)
  3694. Notes:    this function is supported by Advanced NetWare 2.1+
  3695.     the calling workstation must have console operator privileges
  3696. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CBh,AH=E3h/SF=CCh
  3697.  
  3698. Format of NetWare request buffer:
  3699. Offset    Size    Description    (Table 1069)
  3700.  00h    WORD    0001h (length of following data)
  3701.  02h    BYTE    CDh (subfunction "Get File Server Login Status")
  3702.  
  3703. Format of NetWare reply buffer:
  3704. Offset    Size    Description    (Table 1070)
  3705.  00h    WORD    (call) 0001h (size of following results buffer)
  3706.  02h    BYTE    login state (00h disabled, 01h enabled)
  3707. --------N-21E3--SFCE-------------------------
  3708. INT 21 - Novell NetWare - FILE SERVICES - PURGE ALL ERASED FILES
  3709.     AH = E3h subfn CEh
  3710.     DS:SI -> request buffer (see #1071)
  3711.     ES:DI -> reply buffer (see #1073)
  3712. Return: AL = status (00h,C6h) (see #1064)
  3713. Desc:    all files marked for deletion on the file server are purged, regardless
  3714.       of which workstation actually erased them
  3715. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  3716.       Alloy NTNX
  3717.     the calling workstation must have console operator privileges
  3718. SeeAlso: AH=13h,AH=E2h/SF=10h,AH=E3h/SF=C8h,AX=F244h
  3719.  
  3720. Format of NetWare request buffer:
  3721. Offset    Size    Description    (Table 1071)
  3722.  00h    WORD    0001h (length of following data)
  3723.  02h    BYTE    CEh (subfunction "Purge All Erased Files")
  3724. --------N-21E3--SFCF-------------------------
  3725. INT 21 - Novell NetWare - FILE SERVER - DISABLE TRANSACTION TRACKING
  3726.     AH = E3h subfn CFh
  3727.     DS:SI -> request buffer (see #1072)
  3728.     ES:DI -> reply buffer (see #1073)
  3729. Return: AL = status (00h,C6h) (see #1064)
  3730. Notes:    this function is supported by Advanced NetWare 2.1+
  3731.     the calling workstation must have console operator privileges
  3732. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=D0h
  3733.  
  3734. Format of NetWare request buffer:
  3735. Offset    Size    Description    (Table 1072)
  3736.  00h    WORD    0001h (length of following data)
  3737.  02h    BYTE    CFh (subfunction "Disable Transaction Tracking")
  3738.  
  3739. Format of NetWare reply buffer:
  3740. Offset    Size    Description    (Table 1073)
  3741.  00h    WORD    (call) 0000h (no results returned)
  3742. --------N-21E3--SFD0-------------------------
  3743. INT 21 - Novell NetWare - FILE SERVER - ENABLE TRANSACTION TRACKING
  3744.     AH = E3h subfn D0h
  3745.     DS:SI -> request buffer (see #1074)
  3746.     ES:DI -> reply buffer (see #1073)
  3747. Return: AL = status (00h,C6h) (see #1078)
  3748. Desc:    restart transaction tracking after being stopped either explicitly by
  3749.       AH=E3h/SF=CFh or automatically due to a full transaction volume
  3750. Notes:    this function is supported by Advanced NetWare 2.1+
  3751.     the calling workstation must have console operator privileges
  3752. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CFh
  3753.  
  3754. Format of NetWare request buffer:
  3755. Offset    Size    Description    (Table 1074)
  3756.  00h    WORD    0001h (length of following data)
  3757.  02h    BYTE    D0h (subfunction "Enable Transaction Tracking")
  3758. --------N-21E3--SFD1-------------------------
  3759. INT 21 - Novell NetWare - FILE SERVER - SEND CONSOLE BROADCAST
  3760.     AH = E3h subfn D1h
  3761.     DS:SI -> request buffer (see #1075)
  3762.     ES:DI -> reply buffer (see #1077)
  3763. Return: AL = status (00h,C6h) (see #1078)
  3764. Notes:    this function is supported by Advanced NetWare 2.1+
  3765.     the calling workstation must have console operator privileges
  3766.     the broadcast message will not be received by workstations which have
  3767.       disabled broadcasts with AH=E1h/SF=02h
  3768. SeeAlso: AH=E1h/SF=02h,AH=E1h/SF=09h,AH=E3h/SF=C8h,AH=E3h/SF=D3h
  3769.  
  3770. Format of NetWare request buffer:
  3771. Offset    Size    Description    (Table 1075)
  3772.  00h    WORD    length of following data (max A2h)
  3773.  02h    BYTE    D1h (subfunction "Send Console Broadcast")
  3774.  03h    BYTE    number of connections to receive message
  3775.         00h = all, else specific list below
  3776.  04h  N BYTEs    connection list
  3777.     BYTE    length of message (max 3Ch)
  3778.       N BYTEs    message
  3779. --------N-21E3--SFD2-------------------------
  3780. INT 21 - Novell NetWare - FILE SERVER - CLEAR CONNECTION NUMBER
  3781.     AH = E3h subfn D2h
  3782.     DS:SI -> request buffer (see #1076)
  3783.     ES:DI -> reply buffer (see #1077)
  3784. Return: AL = status (00h,C6h) (see #1078)
  3785. Desc:    close the open files and release all file locks for a connection,
  3786.       abort transactions if a TTS file server, and detach from the file
  3787.       server
  3788. Notes:    this function is supported by Advanced NetWare 2.1+
  3789.     the caller must have SUPERVISOR privileges
  3790. SeeAlso: AH=E3h/SF=C9h,AH=E3h/SF=D1h
  3791.  
  3792. Format of NetWare request buffer:
  3793. Offset    Size    Description    (Table 1076)
  3794.  00h    WORD    0002h (length of following data)
  3795.  02h    BYTE    D2h (subfunction "Clear Connection Number")
  3796.  03h    BYTE    connection number
  3797.  
  3798. Format of NetWare reply buffer:
  3799. Offset    Size    Description    (Table 1077)
  3800.  00h    WORD    (call) 0000h (no results returned)
  3801. --------N-21E3--SFD3-------------------------
  3802. INT 21 - Novell NetWare - FILE SERVER - DOWN FILE SERVER
  3803.     AH = E3h subfn D3h
  3804.     DS:SI -> request buffer (see #1079)
  3805.     ES:DI -> reply buffer (see #1077)
  3806. Return: AL = status (00h,C6h,FFh) (see #1078)
  3807. Desc:    take down the file server
  3808. Notes:    this function is supported by Advanced NetWare 2.1+
  3809.     the calling workstation must have SUPERVISOR privileges
  3810. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CBh,AH=E3h/SF=CFh,AH=E3h/SF=D1h
  3811.  
  3812. (Table 1078)
  3813. Values for NetWare function status:
  3814.  00h    successful
  3815.  C6h    no console rights
  3816.  FFh    files open
  3817.  
  3818. Format of NetWare request buffer:
  3819. Offset    Size    Description    (Table 1079)
  3820.  00h    WORD    0002h (length of following data)
  3821.  02h    BYTE    D3h (subfunction "Down File Server")
  3822.  03h    BYTE    flag: force down even if files open if nonzero
  3823. --------N-21E3--SFD4-------------------------
  3824. INT 21 - Novell NetWare - FILE SERVER - GET FILE SYSTEM STATISTICS
  3825.     AH = E3h subfn D4h
  3826.     DS:SI -> request buffer (see #1080)
  3827.     ES:DI -> reply buffer (see #1081)
  3828. Return: AL = status (00h,C6h) (see #1078)
  3829. Notes:    this function is supported by Advanced NetWare 2.1+
  3830.     the calling workstation must have console operator privileges
  3831. SeeAlso: AH=E3h/SF=0Eh,AH=E3h/SF=C8h,AH=E3h/SF=D9h,AH=E3h/SF=E7h,AH=E3h/SF=E8h
  3832.  
  3833. Format of NetWare request buffer:
  3834. Offset    Size    Description    (Table 1080)
  3835.  00h    WORD    0001h (length of following data)
  3836.  02h    BYTE    D4h (subfunction "Get File System Statistics")
  3837.  
  3838. Format of NetWare reply buffer:
  3839. Offset    Size    Description    (Table 1081)
  3840.  00h    WORD    (call) 0028h (size of following results buffer)
  3841.  02h    DWORD    clock ticks since system started
  3842.  06h    WORD    maximum open files set by configuration
  3843.  08h    WORD    maximum files open concurrently
  3844.  0Ah    WORD    current number of open files
  3845.  0Ch    DWORD    total files opened
  3846.  10h    DWORD    total file read requests
  3847.  14h    DWORD    total file write requests
  3848.  18h    WORD    current changed FATs
  3849.  1Ah    WORD    total changed FATs
  3850.  1Ch    WORD    number of FAT write errors
  3851.  1Eh    WORD    number of fatal FAT write errors
  3852.  20h    WORD    number of FAT scan errors
  3853.  22h    WORD    maximum concurrently-indexed files
  3854.  24h    WORD    current number of indexed files
  3855.  26h    WORD    number of attached indexed files
  3856.  28h    WORD    number of indexed files available
  3857. Note:    all fields except the first are big-endian
  3858. --------N-21E3--SFD5-------------------------
  3859. INT 21 - Novell NetWare - FILE SERVER - GET TRANSACTION TRACKING STATISTICS
  3860.     AH = E3h subfn D5h
  3861.     DS:SI -> request buffer (see #1082)
  3862.     ES:DI -> reply buffer (see #1083)
  3863. Return: AL = status (00h,C6h) (see #1078)
  3864. Notes:    this function is supported by Advanced NetWare 2.1+
  3865.     the calling workstation must have console operator privileges
  3866. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CFh,AH=E3h/SF=D0h,AH=E3h/SF=E8h
  3867.  
  3868. Format of NetWare request buffer:
  3869. Offset    Size    Description    (Table 1082)
  3870.  00h    WORD    0001h (length of following data)
  3871.  02h    BYTE    D5h (subfunction "TTS Get Statistics")
  3872.  
  3873. Format of NetWare reply buffer:
  3874. Offset    Size    Description    (Table 1083)
  3875.  00h    WORD    (call) length of following results buffer (max 1BCh)
  3876.  02h    DWORD    (big-endian) clock ticks since system started
  3877.  06h    BYTE    transaction tracking supported if nonzero
  3878.         (all following fields are invalid if zero)
  3879.  07h    BYTE    transaction tracking enabled
  3880.  08h    WORD    (big-endian) transaction volume number
  3881.  0Ah    WORD    (big-endian) maximum simultaneous transactions configured
  3882.  0Ch    WORD    (big-endian) maximum simultaneous transactions since startup
  3883.  0Eh    WORD    (big-endian) current transactions in progress
  3884.  10h    DWORD    (big-endian) total transactions performed
  3885.  14h    DWORD    (big-endian) total write transactions
  3886.  18h    DWORD    (big-endian) total transactions backed out
  3887.  1Ch    WORD    (big-endian) number of unfilled backout requests
  3888.  1Eh    WORD    (big-endian) disk blocks used for transaction tracking
  3889.  20h    DWORD    (big-endian) blocks allocated for tracked-file FATs
  3890.  24h    DWORD    (big-endian) number of file size changes during a transaction
  3891.  28h    DWORD    (big-endian) number of file truncations during a transaction
  3892.  2Ch    BYTE    number of records following
  3893.  2Dh    Active Transaction Records [array]
  3894.     Offset    Size    Description
  3895.      00h    BYTE    logical connection number
  3896.      01h    BYTE    task number
  3897. --------N-21E3--SFD6-------------------------
  3898. INT 21 - Novell NetWare - FILE SERVER - GET DISK CACHE STATISTICS
  3899.     AH = E3h subfn D6h
  3900.     DS:SI -> request buffer (see #1084)
  3901.     ES:DI -> reply buffer (see #1085)
  3902. Return: AL = status (00h,C6h) (see #1078)
  3903. Notes:    this function is supported by Advanced NetWare 2.1+
  3904.     the calling workstation must have console operator privileges
  3905. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=D5h,AH=E3h/SF=D8h,AH=E3h/SF=D9h,AH=E3h/SF=E6h
  3906.  
  3907. Format of NetWare request buffer:
  3908. Offset    Size    Description    (Table 1084)
  3909.  00h    WORD    0001h (length of following data)
  3910.  02h    BYTE    D6h (subfunction "Get Disk Cache Statistics")
  3911.  
  3912. Format of NetWare reply buffer:
  3913. Offset    Size    Description    (Table 1085)
  3914.  00h    WORD    (call) 004Eh (length of following results buffer)
  3915.  02h    DWORD    clock ticks since system started
  3916.  06h    WORD    number of cache buffers
  3917.  08h    WORD    size of cache buffer in bytes
  3918.  0Ah    WORD    number of dirty cache buffers
  3919.  0Ch    DWORD    number of cache read requests
  3920.  10h    DWORD    number of cache write requests
  3921.  14h    DWORD    number of cache hits
  3922.  18h    DWORD    number of cache misses
  3923.  1Ch    DWORD    number of physical read requests
  3924.  20h    DWORD    number of physical write requests
  3925.  24h    WORD    number of physical read errors
  3926.  26h    WORD    number of physical write errors
  3927.  28h    DWORD    cache get requests
  3928.  2Ch    DWORD    cache full write requests
  3929.  30h    DWORD    cache partial write requests
  3930.  34h    DWORD    background dirty writes
  3931.  38h    DWORD    background aged writes
  3932.  3Ch    DWORD    total cache writes
  3933.  40h    DWORD    number of cache allocations
  3934.  44h    WORD    thrashing count
  3935.  46h    WORD    number of times LRU block was dirty
  3936.  48h    WORD    number of reads on cache blocks not yet filled by writes
  3937.  4Ah    WORD    number of times a fragmented write occurred
  3938.  4Ch    WORD    number of cache hits on unavailable block
  3939.  4Eh    WORD    number of times a cache block was scrapped
  3940. Note:    all fields except the first are big-endian
  3941. --------N-21E3--SFD7-------------------------
  3942. INT 21 - Novell NetWare - FILE SERVER - GET DRIVE MAPPING TABLE
  3943.     AH = E3h subfn D7h
  3944.     DS:SI -> request buffer (see #1086)
  3945.     ES:DI -> reply buffer (see #1087)
  3946. Return: AL = status (00h,C6h) (see #1078)
  3947. Notes:    this function is supported by Advanced NetWare 2.1+
  3948.     the calling workstation must have console operator privileges
  3949. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=D6h,AH=E3h/SF=D9h,AH=E3h/SF=E6h,AH=E3h/SF=E9h
  3950.  
  3951. Format of NetWare request buffer:
  3952. Offset    Size    Description    (Table 1086)
  3953.  00h    WORD    0001h (length of following data)
  3954.  02h    BYTE    D7h (subfunction "Get Drive Mapping Table")
  3955.  
  3956. Format of NetWare reply buffer:
  3957. Offset    Size    Description    (Table 1087)
  3958.  00h    WORD    (call) 00ECh (length of following results buffer)
  3959.  02h    DWORD    (big-endian) clock tick elapsed since system started
  3960.  06h    BYTE    fault tolerance (SFT) level
  3961.  07h    BYTE    number of logical drives attached to server
  3962.  08h    BYTE    number of physical drives attached to server
  3963.  09h  5 BYTEs    disk channel types (00h none, 01h XT, 02h AT, 03h SCSI,
  3964.           04h disk coprocessor drive, 32h-FFh value-added drive types)
  3965.  0Eh    WORD    (big-endian) number of outstanding controller commands
  3966.  10h 32 BYTEs    drive mapping table (FFh = no such drive)
  3967.  30h 32 BYTEs    drive mirror table (secondary physical drive, FFh = none)
  3968.  50h 32 BYTEs    dead mirror table (last drive mapped to, FFh if never mirrored)
  3969.  70h    BYTE    physical drive being remirrored (FFh = none)
  3970.  71h    BYTE    reserved
  3971.  72h    DWORD    (big-endian) remirrored block
  3972.  76h 60 BYTEs    SFT error table (internal error counters)
  3973. --------N-21E3--SFD8-------------------------
  3974. INT 21 - Novell NetWare - FILE SERVER - GET PHYSICAL DISK STATISTICS
  3975.     AH = E3h subfn D8h
  3976.     DS:SI -> request buffer (see #1088)
  3977.     ES:DI -> reply buffer (see #1089)
  3978. Return: AL = status (00h,C6h) (see #1078)
  3979. Notes:    this function is supported by Advanced NetWare 2.1+
  3980.     the calling workstation must have console operator privileges
  3981. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=D9h,AH=E3h/SF=E9h
  3982.  
  3983. Format of NetWare request buffer:
  3984. Offset    Size    Description    (Table 1088)
  3985.  00h    WORD    0002h (length of following data)
  3986.  02h    BYTE    D8h (subfunction "Get Physical Disk Statistics")
  3987.  03h    BYTE    physical disk number
  3988.  
  3989. Format of NetWare reply buffer:
  3990. Offset    Size    Description    (Table 1089)
  3991.  00h    WORD    (call) 005Dh (size of following results record)
  3992.  02h    DWORD    (big-endian) clock ticks since system started
  3993.  06h    BYTE    physical disk channel
  3994.  07h    BYTE    flag: drive removable if nonzero
  3995.  08h    BYTE    physical drive type
  3996.  09h    BYTE    drive number within controller
  3997.  0Ah    BYTE    controller number
  3998.  0Bh    BYTE    controller type
  3999.  0Ch    DWORD    (big-endian) size of drive in 4K disk blocks
  4000.  10h    WORD    (big-endian) number of cylinders on drive
  4001.  12h    BYTE    number of heads
  4002.  13h    BYTE    number of sectors per track
  4003.  14h 64 BYTEs    ASCIZ drive make and model
  4004.  54h    WORD    (big-endian) number of I/O errors
  4005.  56h    DWORD    (big-endian) start of Hot Fix table
  4006.  5Ah    WORD    (big-endian) size of Hot Fix table
  4007.  5Ch    WORD    (big-endian) number of Hot Fix blocks available
  4008.  5Eh    BYTE    flag: Hot Fix disabled if nonzero
  4009. --------N-21E3--SFD9-------------------------
  4010. INT 21 - Novell NetWare - FILE SERVER - GET DISK CHANNEL STATISTICS
  4011.     AH = E3h subfn D9h
  4012.     DS:SI -> request buffer (see #1090)
  4013.     ES:DI -> reply buffer (see #1091)
  4014. Return: AL = status (00h,C6h) (see #1078)
  4015. Notes:    this function is supported by Advanced NetWare 2.1+
  4016.     the calling workstation must have console operator privileges
  4017. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=D8h,AH=E3h/SF=E6h,AH=E3h/SF=E9h
  4018.  
  4019. Format of NetWare request buffer:
  4020. Offset    Size    Description    (Table 1090)
  4021.  00h    WORD    0002h (length of following data)
  4022.  02h    BYTE    D9h (subfunction "Get Disk Channel Statistics")
  4023.  03h    BYTE    channel number
  4024.  
  4025. Format of NetWare reply buffer:
  4026. Offset    Size    Description    (Table 1091)
  4027.  00h    WORD    (call) 00A8h (size of following results record)
  4028.  02h    DWORD    (big-endian) clock ticks since system started
  4029.  06h    WORD    (big-endian) channel run state (see #1092)
  4030.  08h    WORD    (big-endian) channel synchronization state (see #1093)
  4031.  0Ah    BYTE    driver type
  4032.  0Bh    BYTE    major version of driver
  4033.  0Ch    BYTE    minor version of driver
  4034.  0Dh 65 BYTEs    ASCIZ driver description
  4035.  4Eh    WORD    (big-endian) first I/O address used
  4036.  50h    WORD    (big-endian) length of first I/O address
  4037.  52h    WORD    (big-endian) second I/O address used
  4038.  54h    WORD    (big-endian) length of second I/O address
  4039.  56h  3 BYTEs    first shared memory address
  4040.  59h  2 BYTEs    length of first shared memory address
  4041.  5Bh  3 BYTEs    second shared memory address
  4042.  5Eh  2 BYTEs    length of second shared memory address
  4043.  60h    BYTE    first interrupt number in-use flag
  4044.  61h    BYTE    first interrupt number used
  4045.  62h    BYTE    second interrupt number in-use flag
  4046.  63h    BYTE    second interrupt number used
  4047.  64h    BYTE    first DMA channel in-use flag
  4048.  65h    BYTE    first DMA channel used
  4049.  66h    BYTE    second DMA channel in-use flag
  4050.  67h    BYTE    second DMA channel used
  4051.  68h    BYTE    flags
  4052.  69h    BYTE    reserved
  4053.  6Ah 80 BYTEs    ASCIZ configuration description
  4054.  
  4055. (Table 1092)
  4056. Values for channel run state:
  4057.  0000h    running
  4058.  0001h    being stopped
  4059.  0002h    stopped
  4060.  0003h    nonfunctional
  4061.  
  4062. (Table 1093)
  4063. Values for channel synchronization state:
  4064.  0000h    not in use
  4065.  0002h    used by NetWare, no other requests
  4066.  0004h    used by NetWare, other requests
  4067.  0006h    in use, not needed by NetWare
  4068.  0008h    in use, needed by NetWare
  4069.  000Ah    channel released, NetWare should use it
  4070. --------N-21E3--SFDA-------------------------
  4071. INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S TASK INFORMATION
  4072.     AH = E3h subfn DAh
  4073.     DS:SI -> request buffer (see #1094)
  4074.     ES:DI -> reply buffer (see #1095)
  4075. Return: AL = status (00h,C6h) (see #1106)
  4076. Notes:    this function is supported by Advanced NetWare 2.1+
  4077.     the calling workstation must have console operator privileges
  4078. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DBh,AH=E3h/SF=DFh,AH=E3h/SF=E1h,AH=E3h/SF=E5h
  4079.  
  4080. Format of NetWare request buffer:
  4081. Offset    Size    Description    (Table 1094)
  4082.  00h    WORD    0003h (length of following data)
  4083.  02h    BYTE    DAh (subfunction "Get Connection's Task Information")
  4084.  03h    WORD    (big-endian) logical connection number
  4085.  
  4086. Format of NetWare reply buffer:
  4087. Offset    Size    Description    (Table 1095)
  4088.  00h    WORD    (call) size of following results record (max 1FEh)
  4089.  02h    BYTE    lock status of connection (see #1096)
  4090.  03h    var    Lock Status Information (see #1097)
  4091.  N    BYTE    number of records following
  4092.  N+1    Active Task Information Records [array]
  4093.     Offset    Size    Description
  4094.      00h    BYTE    task number (01h-FFh)
  4095.      01h    BYTE    task state
  4096.             01h in TTS explicit transaction
  4097.             02h in TTS implicit transaction
  4098.             04h shared fileset lock active
  4099.  
  4100. (Table 1096)
  4101. Values for lock status of connection:
  4102.  00h    no locks
  4103.  01h    waiting on physical record lock
  4104.  02h    waiting on file lock
  4105.  03h    waiting on logical record lock
  4106.  04h    waiting on semaphore
  4107.  
  4108. Format of Lock Status Information:
  4109. Offset    Size    Description    (Table 1097)
  4110. ---lock status 00h---
  4111.  no fields
  4112. ---lock status 01h---
  4113.  00h    BYTE    number of waiting task
  4114.  01h    DWORD    start address
  4115.  05h    DWORD    end address
  4116.  09h    BYTE    volume number
  4117.  0Ah    WORD    directory entry number
  4118.  0Ch 14 BYTEs    ASCIZ filename
  4119. ---lock status 02h---
  4120.  00h    BYTE    number of waiting task
  4121.  01h    BYTE    volume number
  4122.  02h    WORD    directory entry number
  4123.  04h 14 BYTEs    ASCIZ filename
  4124. ---lock status 03h---
  4125.  00h    BYTE    number of waiting task
  4126.  01h    BYTE    length of record name
  4127.  02h  N BYTEs    ASCIZ record name
  4128. ---lock status 04h---
  4129.  00h    BYTE    number of waiting task
  4130.  01h    BYTE    length of semaphore's name
  4131.  02h  N BYTEs    ASCIZ semaphore name
  4132. --------N-21E3--SFDB-------------------------
  4133. INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S OPEN FILES
  4134.     AH = E3h subfn DBh
  4135.     DS:SI -> request buffer (see #1098)
  4136.     ES:DI -> reply buffer (see #1099)
  4137. Return: AL = status (00h,C6h) (see #1106)
  4138. Notes:    this function is supported by Advanced NetWare 2.1+
  4139.     the calling workstation must have console operator privileges
  4140. SeeAlso: AH=E2h/SF=1Ah,AH=E3h/SF=C8h,AH=E3h/SF=DAh,AH=E3h/SF=DCh,AH=E3h/SF=DFh
  4141. SeeAlso: AH=E3h/SF=E1h
  4142.  
  4143. Format of NetWare request buffer:
  4144. Offset    Size    Description    (Table 1098)
  4145.  00h    WORD    0005h (length of following data)
  4146.  02h    BYTE    DBh (subfunction "Get Connection's Open Files")
  4147.  03h    WORD    (big-endian) logical connection number
  4148.  05h    WORD    (big-endian) last record seen (0000h on first call)
  4149.  
  4150. Format of NetWare reply buffer:
  4151. Offset    Size    Description    (Table 1099)
  4152.  00h    WORD    (call) size of following results record (max 1FEh)
  4153.  02h    WORD    next request record (place in "last record" field on next call)
  4154.         0000h if no more records
  4155.  04h    BYTE    number of records following
  4156.  05h    var    array of File Information Records (see #1100)
  4157.  
  4158. Format of NetWare File Information Record:
  4159. Offset    Size    Description    (Table 1100)
  4160.  00h    BYTE    task number
  4161.  01h    BYTE    lock flags (see #1101)
  4162.  02h    BYTE    access flags (see #1102)
  4163.  03h    BYTE    lock type
  4164.         00h no lock
  4165.         FEh file lock
  4166.         FFh locked by Begin Share File Set
  4167.  04h    BYTE    volume number (00h-1Fh)
  4168.  05h    WORD    (big-endian) directory entry
  4169.  07h 14 BYTEs    ASCIZ filename
  4170.  
  4171. Bitfields for lock flags:
  4172. Bit(s)    Description    (Table 1101)
  4173.  0    file is locked
  4174.  1    file opened Shareable
  4175.  2    logged
  4176.  3    file opened Normal
  4177.  6    TTS holding lock
  4178.  7    Transaction Flag set on file
  4179.  
  4180. Bitfields for access flags:
  4181. Bit(s)    Description    (Table 1102)
  4182.  0    file open for reading by calling station
  4183.  1    file open for writing by calling station
  4184.  2    deny reads by other stations
  4185.  3    deny writes by other stations
  4186.  4    file detached
  4187.  5    TTS Holding Detach
  4188.  6    TTS Holding Open
  4189. --------N-21E3--SFDC-------------------------
  4190. INT 21 - Novell NetWare - FILE SERVER - GET CONNECTIONS USING A FILE
  4191.     AH = E3h subfn DCh
  4192.     DS:SI -> request buffer (see #1103)
  4193.     ES:DI -> reply buffer (see #1104)
  4194. Return: AL = status (00h,C6h) (see #1106)
  4195. Notes:    this function is supported by Advanced NetWare 2.1+
  4196.     the calling workstation must have console operator privileges
  4197. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DAh,AH=E3h/SF=DBh,AH=E3h/SF=DFh,AH=E3h/SF=E1h
  4198.  
  4199. Format of NetWare request buffer:
  4200. Offset    Size    Description    (Table 1103)
  4201.  00h    WORD    length of following data (max 104h)
  4202.  02h    BYTE    DCh (subfunction "Get Connections Using a File")
  4203.  03h    WORD    (big-endian) last record (0000h on first call)
  4204.  05h    BYTE    directory handle
  4205.  06h    BYTE    length of file path
  4206.  07h  N BYTEs    ASCIZ file path
  4207.  
  4208. Format of NetWare reply buffer:
  4209. Offset    Size    Description    (Table 1104)
  4210.  00h    WORD    (call) size of following results record (max 1FEh)
  4211.  02h    WORD    (big-endian) count of tasks which have opened or logged file
  4212.  04h    WORD    (big-endian) count of tasks which have opened file
  4213.  06h    WORD    (big-endian) count of opens for reading
  4214.  08h    WORD    (big-endian) count of opens for writing
  4215.  0Ah    WORD    (big-endian) deny read count
  4216.  0Ch    WORD    (big-endian) deny write count
  4217.  0Eh    WORD    next request record (place in "last record" field on next call)
  4218.         0000h if no more records
  4219.  10h    BYTE    locked flag
  4220.         00h not locked exclusively
  4221.         else locked exclusively
  4222.  11h    BYTE    number of records following
  4223.  12h    var    array of File Usage Information Records (see #1105)
  4224.  
  4225. Format of NetWare File Usage Information Record:
  4226. Offset    Size    Description    (Table 1105)
  4227.  00h    WORD    (big-endian) logical connection number
  4228.  02h    BYTE    task number
  4229.  03h    BYTE    lock flags (see #1101)
  4230.  04h    BYTE    access flags (see #1102)
  4231.  05h    BYTE    lock type
  4232.         00h no lock
  4233.         FEh file lock
  4234.         FFh locked by Begin Share File Set
  4235. --------N-21E3--SFDD-------------------------
  4236. INT 21 - Novell NetWare - FILE SERVER - GET PHYSICAL RECORD LOCKS BY CONN&FILE
  4237.     AH = E3h subfn DDh
  4238.     DS:SI -> request buffer (see #1107)
  4239.     ES:DI -> reply buffer (see #1108)
  4240. Return: AL = status (00h,C6h,FFh) (see #1106)
  4241. Notes:    this function is supported by Advanced NetWare 2.1+
  4242.     the calling workstation must have console operator privileges
  4243. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DEh,AH=E3h/SF=DFh
  4244.  
  4245. (Table 1106)
  4246. Values for NetWare function status:
  4247.  00h    successful
  4248.  C6h    no console rights
  4249.  FFh    file not open
  4250.  
  4251. Format of NetWare request buffer:
  4252. Offset    Size    Description    (Table 1107)
  4253.  00h    WORD    0016h (length of following data)
  4254.  02h    BYTE    DDh (subfunction "Get Physical Record Locks by Connection and
  4255.           File")
  4256.  03h    WORD    (big-endian) logical connection number
  4257.  05h    WORD    (big-endian) last record seen (0000h on first call)
  4258.  07h    BYTE    volume number (00h-1Fh)
  4259.  08h    WORD    (big-endian) directory handle
  4260.  0Ah 14 BYTEs    ASCIZ filename
  4261.  
  4262. Format of NetWare reply buffer:
  4263. Offset    Size    Description    (Table 1108)
  4264.  00h    WORD    (call) size of following results record (max 1FEh)
  4265.  02h    WORD    next request record (place in "last record" on next call)
  4266.         0000h if no more records
  4267.  04h    BYTE    number of physical record locks
  4268.  05h    BYTE    number of records following
  4269.  06h    var    array of Physical Record Lock Info records (see #1109)
  4270.  
  4271. Format of NetWare Physical Record Lock Info:
  4272. Offset    Size    Description    (Table 1109)
  4273.  00h    BYTE    task number
  4274.  01h    BYTE    lock status (see #1110)
  4275.  02h    DWORD    (big-endian) starting offset of record in file
  4276.  06h    DWORD    (big-endian) ending offset of record in file
  4277.  
  4278. Bitfields for lock status:
  4279. Bit(s)    Description    (Table 1110)
  4280.  0    exclusive lock
  4281.  1    shareable lock
  4282.  2    logged
  4283.  6    lock held by TTS
  4284. --------N-21E3--SFDE-------------------------
  4285. INT 21 - Novell NetWare - FILE SERVER - GET PHYSICAL RECORD LOCKS BY FILE
  4286.     AH = E3h subfn DEh
  4287.     DS:SI -> request buffer (see #1111)
  4288.     ES:DI -> reply buffer (see #1112)
  4289. Return: AL = status (00h,C6h,FFh) (see #1106)
  4290. Notes:    this function is supported by Advanced NetWare 2.1+
  4291.     the calling workstation must have console operator privileges
  4292. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DDh,AH=E3h/SF=DFh
  4293.  
  4294. Format of NetWare request buffer:
  4295. Offset    Size    Description    (Table 1111)
  4296.  00h    WORD    length of following data (max 104h)
  4297.  02h    BYTE    DEh (subfunction "Get Physical Record Locks by File")
  4298.  03h    WORD    (big-endian) last record seen (0000h on first call)
  4299.  05h    BYTE    directory handle
  4300.  06h    BYTE    length of filename
  4301.  07h  N BYTEs    ASCIZ filename
  4302.  
  4303. Format of NetWare reply buffer:
  4304. Offset    Size    Description    (Table 1112)
  4305.  00h    WORD    (call) size of following results record (max 1FEh)
  4306.  02h    WORD    next request record (place in "last record" on next call)
  4307.         0000h if no more records
  4308.  04h    BYTE    number of physical record locks
  4309.  05h    BYTE    number of records following
  4310.  06h    var    array of Physical Record Lock Info records (see #1113)
  4311.  
  4312. Format of NetWare Physical Record Lock Info:
  4313. Offset    Size    Description    (Table 1113)
  4314.  00h    WORD    (big-endian) number of tasks logging record
  4315.  02h    WORD    (big-endian) number of tasks with shareable lock
  4316.  04h    DWORD    (big-endian) starting offset of record in file
  4317.  08h    DWORD    (big-endian) ending offset of record in file
  4318.  0Ch    WORD    (big-endian) logical connection number
  4319.  0Eh    BYTE    task number
  4320.  0Fh    BYTE    lock type
  4321.         00h none
  4322.         FEh file lock
  4323.         FFh Begin Share File Set lock
  4324. --------N-21E3--SFDF-------------------------
  4325. INT 21 - Novell NetWare - FILE SERVER - GET LOGICAL RECORDS BY CONNECTION
  4326.     AH = E3h subfn DFh
  4327.     DS:SI -> request buffer (see #1114)
  4328.     ES:DI -> reply buffer (see #1115)
  4329. Return: AL = status (00h,C6h) (see #1106)
  4330. Notes:    this function is supported by Advanced NetWare 2.1+
  4331.     the calling workstation must have console operator privileges
  4332. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DDh,AH=E3h/SF=E0h,AH=E3h/SF=E2h
  4333.  
  4334. Format of NetWare request buffer:
  4335. Offset    Size    Description    (Table 1114)
  4336.  00h    WORD    0005h (length of following data)
  4337.  02h    BYTE    DFh (subfunction "Get Logical Records By Connection")
  4338.  03h    WORD    (big-endian) logical connection number
  4339.  05h    WORD    (big-endian) last record seen (0000h on first call)
  4340.  
  4341. Format of NetWare reply buffer:
  4342. Offset    Size    Description    (Table 1115)
  4343.  00h    WORD    (call) size of following results record (max 1FEh)
  4344.  02h    WORD    next request record (place in "last record" field on next call)
  4345.         0000h if no more locked records
  4346.  09h    BYTE    number of records following
  4347.  0Ah    var    array of Logical Lock Information Records (see #1116)
  4348.  
  4349. Format of NetWare Logical Lock Information Record:
  4350. Offset    Size    Description    (Table 1116)
  4351.  00h    BYTE    task number
  4352.  01h    BYTE    lock status (see #1110)
  4353.  02h    BYTE    length of logical lock's name
  4354.  03h  N BYTEs    logical lock's name
  4355. --------N-21E3--SFE0-------------------------
  4356. INT 21 - Novell NetWare - FILE SERVER - GET LOGICAL RECORD INFORMATION
  4357.     AH = E3h subfn E0h
  4358.     DS:SI -> request buffer (see #1117)
  4359.     ES:DI -> reply buffer (see #1118)
  4360. Return: AL = status (00h,C6h) (see #1106)
  4361. Notes:    this function is supported by Advanced NetWare 2.1+
  4362.     the calling workstation must have console operator privileges
  4363. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DDh,AH=E3h/SF=DFh,AH=E3h/SF=E2h
  4364.  
  4365. Format of NetWare request buffer:
  4366. Offset    Size    Description    (Table 1117)
  4367.  00h    WORD    length of following data (max 67h)
  4368.  02h    BYTE    E0h (subfunction "Get Logical Record Information")
  4369.  03h    WORD    (big-endian) last record seen (0000h on first call)
  4370.  05h    BYTE    length of logical record's name
  4371.  06h  N BYTEs    logical record's name
  4372.  
  4373. Format of NetWare reply buffer:
  4374. Offset    Size    Description    (Table 1118)
  4375.  00h    WORD    (call) size of following results record (max 200h)
  4376.  02h    WORD    (big-endian) number of logical connections logging the record
  4377.  04h    WORD    (big-endian) number of logical connections with shareable lock
  4378.  06h    WORD    (big-endian) next request record (place in "last record" field
  4379.           on next call)
  4380.  08h    BYTE    locked exclusively if nonzero
  4381.  09h    BYTE    number of records following
  4382.  0Ah    var    array of Task Information Records (see #1119)
  4383.  
  4384. Format of NetWare Task Information Record:
  4385. Offset    Size    Description    (Table 1119)
  4386.  00h    WORD    (big-endian) logical connection number
  4387.  02h    BYTE    task number
  4388.  03h    BYTE    lock status (see #1110)
  4389. --------N-21E3--SFE1-------------------------
  4390. INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S SEMAPHORES
  4391.     AH = E3h subfn E1h
  4392.     DS:SI -> request buffer (see #1120)
  4393.     ES:DI -> reply buffer (see #1121)
  4394. Return: AL = status (00h,C6h) (see #1106)
  4395. Notes:    this function is supported by Advanced NetWare 2.1+
  4396.     the calling workstation must have console operator privileges
  4397. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DBh,AH=E3h/SF=DFh,AH=E3h/SF=E2h
  4398.  
  4399. Format of NetWare request buffer:
  4400. Offset    Size    Description    (Table 1120)
  4401.  00h    WORD    0005h (length of following data)
  4402.  02h    BYTE    E1h (subfunction "Get Connection's Semaphores")
  4403.  03h    WORD    (big-endian) logical connection number
  4404.  05h    WORD    (big-endian) last record seen (0000h on first call)
  4405.  
  4406. Format of NetWare reply buffer:
  4407. Offset    Size    Description    (Table 1121)
  4408.  00h    WORD    (call) size of following results record (max 1FEh)
  4409.  02h    WORD    next request record (place in "last record" field on next call)
  4410.  04h    BYTE    number of records following
  4411.  05h    var    array of Semaphore Information Records (see #1122)
  4412.  
  4413. Format of NetWare Semaphore Information Record:
  4414. Offset    Size    Description    (Table 1122)
  4415.  00h    WORD    (big-endian) open count
  4416.  02h    BYTE    semaphore value (-128 to 127)
  4417.  03h    BYTE    task number
  4418.  04h    BYTE    lock type
  4419.  05h    BYTE    length of semaphore's name
  4420.  06h  N BYTEs    semaphore's name
  4421.      14 BYTEs    filename
  4422. --------N-21E3--SFE2-------------------------
  4423. INT 21 - Novell NetWare - FILE SERVER - GET SEMAPHORE INFORMATION
  4424.     AH = E3h subfn E2h
  4425.     DS:SI -> request buffer (see #1123)
  4426.     ES:DI -> reply buffer (see #1124)
  4427. Return: AL = status (00h,C6h) (see #1128)
  4428. Notes:    this function is supported by Advanced NetWare 2.1+
  4429.     the calling workstation must have console operator privileges
  4430. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=E1h
  4431.  
  4432. Format of NetWare request buffer:
  4433. Offset    Size    Description    (Table 1123)
  4434.  00h    WORD    length of following data (max 83h)
  4435.  02h    BYTE    E2h (subfunction "Get LAN Driver's Configuration Information")
  4436.  03h    WORD    (big-endian) last record seen (0000h on first call)
  4437.  05h    BYTE    length of semaphore's name (01h-7Fh)
  4438.  06h  N BYTEs    semaphore's name
  4439.  
  4440. Format of NetWare reply buffer:
  4441. Offset    Size    Description    (Table 1124)
  4442.  00h    WORD    (call) size of following results buffer (max 1FEh)
  4443.  02h    WORD    next request record (place in "last record" on next call)
  4444.         0000h if no more
  4445.  04h    WORD    (big-endian) number of logical connections opening semaphore
  4446.  06h    BYTE    semaphore value (-127 to 128)
  4447.  07h    BYTE    number of records following
  4448.  08h    var    array of Semaphore Information records (see #1125)
  4449.  
  4450. Format of NetWare Semaphore Information:
  4451. Offset    Size    Description    (Table 1125)
  4452.  00h    WORD    (big-endian) logical connection number
  4453.  02h    BYTE    task number
  4454. --------N-21E3--SFE3-------------------------
  4455. INT 21 - Novell NetWare - FILE SERVER - GET LAN DRIVER'S CONFIGURATION INFO
  4456.     AH = E3h subfn E3h
  4457.     DS:SI -> request buffer (see #1126)
  4458.     ES:DI -> reply buffer (see #1127)
  4459. Return: AL = status (00h,C6h) (see #1128)
  4460. Notes:    this function is supported by Advanced NetWare 2.1+
  4461.     the calling workstation must have console operator privileges
  4462. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=E7h,AH=E3h/SF=E8h
  4463.  
  4464. Format of NetWare request buffer:
  4465. Offset    Size    Description    (Table 1126)
  4466.  00h    WORD    0002h (length of following data)
  4467.  02h    BYTE    E3h (subfunction "Get LAN Driver's Configuration Information")
  4468.  03h    BYTE    LAN board (00h-03h)
  4469.  
  4470. Format of NetWare reply buffer:
  4471. Offset    Size    Description    (Table 1127)
  4472.  00h    WORD    (call) 00ACh (size of following results buffer)
  4473.  02h  4 BYTEs    network number
  4474.  06h  6 BYTEs    node number
  4475.  0Ch    BYTE    LAN driver installed (00h no--remaining fields invalid)
  4476.  0Dh    BYTE    option number selected at configuration time
  4477.  0Eh 160 BYTEs    configuration text
  4478.         ASCIZ hardware type
  4479.         ASCIZ hardware settings
  4480. --------N-21E3--SFE5-------------------------
  4481. INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S USAGE STATISTICS
  4482.     AH = E3h subfn E5h
  4483.     DS:SI -> request buffer (see #1129)
  4484.     ES:DI -> reply buffer (see #1130)
  4485. Return: AL = status (00h,C6h) (see #1128)
  4486. Notes:    this function is supported by Advanced NetWare 2.1+
  4487.     one must have console operator privileges to get statistics for logical
  4488.       connections other than one's own
  4489. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DAh,AH=E3h/SF=DBh,AH=E3h/SF=E1h
  4490.  
  4491. (Table 1128)
  4492. Values for NetWare function status:
  4493.  00h    successful
  4494.  C6h    no console rights
  4495.  
  4496. Format of NetWare request buffer:
  4497. Offset    Size    Description    (Table 1129)
  4498.  00h    WORD    0003h (length of following data)
  4499.  02h    BYTE    E5h (subfunction "Get Connection's Usage Statistics")
  4500.  03h    WORD    (big-endian) logical connection number
  4501.  
  4502. Format of NetWare reply buffer:
  4503. Offset    Size    Description    (Table 1130)
  4504.  00h    WORD    (call) 0014h (size of following results record)
  4505.  02h    DWORD    (big-endian) clock ticks since server started
  4506.  06h  6 BYTEs    bytes read
  4507.  0Ch  6 BYTEs    bytes written
  4508.  12h    DWORD    (big-endian) total request packets
  4509. --------N-21E3--SFE6-------------------------
  4510. INT 21 - Novell NetWare - FILE SERVER - GET BINDERY OBJECT DISK SPACE LEFT
  4511.     AH = E3h subfn E6h
  4512.     DS:SI -> request buffer (see #1131)
  4513.     ES:DI -> reply buffer (see #1132)
  4514. Return: AL = status (00h,C6h) (see #1128)
  4515. Notes:    this function is supported by Advanced NetWare 2.1+
  4516.     one must have console operator privileges to get the free space for
  4517.       other bindery objects
  4518. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=E8h,AH=E3h/SF=E9h
  4519.  
  4520. Format of NetWare request buffer:
  4521. Offset    Size    Description    (Table 1131)
  4522.  00h    WORD    0005h (length of following data)
  4523.  02h    BYTE    E6h (subfunction "Get Bindery Object Disk Space Left")
  4524.  03h    DWORD    (big-endian) object ID
  4525.  
  4526. Format of NetWare reply buffer:
  4527. Offset    Size    Description    (Table 1132)
  4528.  00h    WORD    (call) 000Fh (size of following results buffer)
  4529.  02h    DWORD    (big-endian) clock ticks elapsed since server started
  4530.  06h    DWORD    (big-endian) object ID
  4531.  0Ah    DWORD    (big-endian) 4K disk blocks available to user
  4532.  0Eh    BYTE    restrictions (00h enforced, FFh not enforced)
  4533. --------N-21E3--SFE7-------------------------
  4534. INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER LAN I/O STATISTICS
  4535.     AH = E3h subfn E7h
  4536.     DS:SI -> request buffer (see #1133)
  4537.     ES:DI -> reply buffer (see #1134)
  4538. Return: AL = status
  4539.         00h successful
  4540. Note:    this function is supported by Advanced NetWare 2.1+
  4541. SeeAlso: AH=E3h/SF=0Eh,AH=E3h/SF=11h,AH=E3h/SF=D3h,AH=E3h/SF=E8h,AH=E7h
  4542.  
  4543. Format of NetWare request buffer:
  4544. Offset    Size    Description    (Table 1133)
  4545.  00h    WORD    0001h (length of following data)
  4546.  02h    BYTE    E7h (subfunction "Get File Server LAN I/O Statistics")
  4547.  
  4548. Format of NetWare reply buffer:
  4549. Offset    Size    Description    (Table 1134)
  4550.  00h    WORD    (call) 0042h (size of following results buffer)
  4551.  02h    DWORD    clock ticks since system started
  4552.  06h    WORD    total routing buffers
  4553.  08h    WORD    maximum routing buffers used
  4554.  0Ah    WORD    current routing buffers used
  4555.  0Ch    DWORD    total file service packets
  4556.  10h    WORD    number of file service packets buffered
  4557.  12h    WORD    number of invalid connection packets
  4558.  14h    WORD    packets with bad logical connection numbers
  4559.  16h    WORD    number of packets received during processing
  4560.  18h    WORD    number of requests reprocessed
  4561.  1Ah    WORD    packets with bad sequence numbers
  4562.  1Ch    WORD    number of duplicate replies sent
  4563.  1Eh    WORD    number of acknowledgements sent
  4564.  20h    WORD    number of packets with bad request types
  4565.  22h    WORD    requests to attach to ws for which a request is being processed
  4566.  24h    WORD    requests to attach from ws which is already attaching
  4567.  26h    WORD    number of forged detach requests
  4568.  28h    WORD    detach requests with bad connection number
  4569.  2Ah    WORD    requests to detach from ws for which requests pending
  4570.  2Ch    WORD    number of cancelled replies
  4571.  2Eh    WORD    packets discarded due to excessive hop count
  4572.  30h    WORD    packets discarded due to unknown net
  4573.  32h    WORD    incoming packets discarded for lack of DGroup buffer
  4574.  34h    WORD    outgoing packets discarded due to lack of buffer
  4575.  36h    WORD    received packets destined for B,C, or D side drivers
  4576.  38h    DWORD    number of NetBIOS packets propagated through net
  4577.  3Ch    DWORD    total number of non-file-service packets
  4578.  40h    DWORD    total number of routed packets
  4579. Note:    all fields except the first are big-endian
  4580. --------N-21E3--SFE8-------------------------
  4581. INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER MISC INFORMATION
  4582.     AH = E3h subfn E8h
  4583.     DS:SI -> request buffer (see #1135)
  4584.     ES:DI -> reply buffer (see #1136)
  4585. Return: AL = status (00h,C6h) (see #1128)
  4586. Note:    this function is supported by Advanced NetWare 2.1+
  4587. SeeAlso: AH=E3h/SF=0Eh,AH=E3h/SF=11h,AH=E3h/SF=CDh,AH=E3h/SF=E7h
  4588.  
  4589. Format of NetWare request buffer:
  4590. Offset    Size    Description    (Table 1135)
  4591.  00h    WORD    0001h (length of following data)
  4592.  02h    BYTE    E8h (subfunction "Get File Server Misc Information")
  4593.  
  4594. Format of NetWare reply buffer:
  4595. Offset    Size    Description    (Table 1136)
  4596.  00h    WORD    (call) size of following results buffer (max 0048h)
  4597.  02h    DWORD    (big-endian) clock ticks since system started
  4598.  06h    BYTE    CPU type
  4599.         00h Motorola 68000
  4600.         01h Intel 8086, 8088, or V20
  4601.         02h Intel 80286+
  4602.  07h    BYTE    reserved
  4603.  08h    BYTE    number of service processes in server
  4604.  09h    BYTE    server utilization in percent
  4605.  0Ah    WORD    (big-endian) maximum bindery objects set by configuration
  4606.         0000h = unlimited
  4607.  0Ch    WORD    (big-endian) maximum number of bindery objects used
  4608.  0Eh    WORD    (big-endian) current number of bindery objects in use
  4609.  10h    WORD    (big-endian) total server memory in KB
  4610.  12h    WORD    (big-endian) wasted server memory in KB
  4611.         normally 0000h
  4612.  14h    WORD    number of records following (01h-03h)
  4613.  16h    var    array of Dynamic Memory Information records (see #1137)
  4614.  
  4615. Format of NetWare Dynamic Memory Information:
  4616. Offset    Size    Description    (Table 1137)
  4617.  00h    DWORD    (big-endian) total dynamic space
  4618.  04h    DWORD    (big-endian) maximum dynamic space used
  4619.  08h    DWORD    (big-endian) current dynamic space usage
  4620. --------N-21E3--SFE9-------------------------
  4621. INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME INFORMATION
  4622.     AH = E3h subfn E9h
  4623.     DS:SI -> request buffer (see #1138)
  4624.     ES:DI -> reply buffer (see #1139)
  4625. Return: AL = status
  4626.         00h successful
  4627. Notes:    this function is supported by Advanced NetWare 2.1+
  4628. SeeAlso: AH=DAh,AH=E2h/SF=15h
  4629.  
  4630. Format of NetWare request buffer:
  4631. Offset    Size    Description    (Table 1138)
  4632.  00h    WORD    0002h (length of following data)
  4633.  02h    BYTE    E9h (subfunction "Get Volume Information")
  4634.  03h    BYTE    directory handle
  4635.  
  4636. Format of NetWare reply buffer:
  4637. Offset    Size    Description    (Table 1139)
  4638.  00h    WORD    (call) 0028h (length of following results buffer)
  4639.  02h    DWORD    (big-endian) elapsed system time
  4640.  06h    BYTE    volume number
  4641.  07h    BYTE    logical drive number
  4642.  08h    WORD    (big-endian) sectors per block
  4643.  0Ah    WORD    (big-endian) starting block
  4644.  0Ch    WORD    (big-endian) total blocks on volume
  4645.  0Eh    WORD    (big-endian) blocks available on volume
  4646.  10h    WORD    (big-endian) total directory slots
  4647.  12h    WORD    (big-endian) directory slots available
  4648.  14h    WORD    (big-endian) maximum directory entries actually used
  4649.  16h    BYTE    flag: volume hashed if nonzero
  4650.  17h    BYTE    flag: volume cached if nonzero
  4651.  18h    BYTE    flag: volume removable if nonzero
  4652.  19h    BYTE    flag: volume mounted if nonzero
  4653.  1Ah 16 BYTEs    NUL-padded volume name
  4654. --------N-21E4-------------------------------
  4655. INT 21 O - Novell NetWare - SET FILE ATTRIBUTES (FCB)
  4656.     AH = E4h
  4657.     CL = file attributes (see #1140)
  4658.     DX:DX -> FCB (see #0469 at AH=0Fh)
  4659. Return: AL = error code
  4660. Note:    this function was added in NetWare 4.0, but was removed some time prior
  4661.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  4662.       documentation
  4663. SeeAlso: AX=4301h
  4664.  
  4665. Bitfields for NetWare file attributes:
  4666. Bit(s)    Description    (Table 1140)
  4667.  0    read only
  4668.  1    hidden
  4669.  2    system
  4670.  7    shareable
  4671. --------v-21E4-------------------------------
  4672. INT 21 - VIRUS - "Anarkia" - INSTALLATION CHECK
  4673.     AH = E4h
  4674. Return: AH = 04h if resident
  4675. SeeAlso: AH=E1h"VIRUS",AH=E7h"VIRUS"
  4676. --------T-21E400-----------------------------
  4677. INT 21 - DoubleDOS - INSTALLATION CHECK/PROGRAM STATUS
  4678.     AX = E400h
  4679. Return: AL = program status
  4680.         00h if DoubleDOS not present
  4681.         01h if running in visible DoubleDOS partition
  4682.         02h if running in the invisible DoubleDOS partition
  4683. SeeAlso: AH=E5h"DoubleDOS",AX=F400h
  4684. --------E-21E400-----------------------------
  4685. INT 21 - OS/286, OS/386 - CHAIN TO REAL-MODE HANDLER
  4686.     AX = E400h
  4687.     ???
  4688. Return: ???
  4689. Note:    protected mode only???
  4690. --------E-21E402-----------------------------
  4691. INT 21 - OS/286, OS/386 - SET PROTECTED-MODE TASK GATE
  4692.     AX = E402h
  4693.     ???
  4694. Return: ???
  4695. Note:    protected mode only???
  4696. SeeAlso: AX=E403h
  4697. --------E-21E403-----------------------------
  4698. INT 21 - OS/286, OS/386 - REMOVE PROTECTED-MODE TASK GATE
  4699.     AX = E403h
  4700.     ???
  4701. Return: ???
  4702. Note:    protected mode only???
  4703. SeeAlso: AX=E402h
  4704. --------N-21E5-------------------------------
  4705. INT 21 O - Novell NetWare - UPDATE FILE SIZE (FCB)
  4706.     AH = E5h
  4707.     DS:DX -> FCB (see #0469 at AH=0Fh)
  4708. Return: AL = (unreliable) return code
  4709. Notes:    this function was added in NetWare 4.0, but was removed some time prior
  4710.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  4711.       documentation
  4712.     on success, NetWare sets AL to zero; on errors it restores AL
  4713. --------T-21E5-------------------------------
  4714. INT 21 - DoubleDOS - OTHER PROGRAM STATUS
  4715.     AH = E5h
  4716. Return: AL = status
  4717.         00h no program in other partition
  4718.         01h program in other partition is running
  4719.         02h program in other partition is suspended
  4720. SeeAlso: AX=E400h"DoubleDOS",AH=F5h"DoubleDOS"
  4721. --------E-21E500-----------------------------
  4722. INT 21 - OS/286, OS/386 - HEAP MANAGEMENT STRATEGY
  4723.     AX = E500h
  4724.     ???
  4725. Return: ???
  4726. SeeAlso: AX=E501h
  4727. --------E-21E501-----------------------------
  4728. INT 21 - OS/286, OS/386 - FORCE HEAP COMPACTION
  4729.     AX = E501h
  4730.     ???
  4731. Return: ???
  4732. SeeAlso: AX=E500h
  4733. --------N-21E6-------------------------------
  4734. INT 21 O - Novell NetWare - COPY FILE TO FILE (FCB)
  4735.     AH = E6h
  4736.     CX:DX = number of bytes to copy
  4737.     DS:SI -> opened source FCB
  4738.     ES:DI -> opened destination FCB
  4739. Return: AL = error code
  4740.     CX = ???
  4741.     DX = ???
  4742. Note:    this function was added in NetWare 4.0, but was removed some time prior
  4743.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  4744.       documentation
  4745. --------E-21E6-------------------------------
  4746. INT 21 P - OS/286, OS/386 - ISSUE REAL PROCEDURE SIGNAL FROM PROTECTED MODE
  4747.     AH = E6h
  4748.     ???
  4749. Return: ???
  4750. SeeAlso: AH=E2h"OS/286"
  4751. --------N-21E7-------------------------------
  4752. INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER DATE AND TIME
  4753.     AH = E7h
  4754.     DS:DX -> date/time buffer (see #1141)
  4755. Return: AL = error code
  4756.         00h successful
  4757.         FFh unsuccessful
  4758. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+,
  4759.       Alloy NTNX, and Banyan VINES
  4760. SeeAlso: AH=2Ah,AH=2Ch,AX=5FC0h,AH=E3h/SF=CAh
  4761.  
  4762. Format of NetWare date/time buffer:
  4763. Offset    Size    Description    (Table 1141)
  4764.  00h    BYTE    year (80-99 = 1980-1999, 0-79 = 2000-2079)
  4765.  01h    BYTE    month (1=Jan)
  4766.  02h    BYTE    day
  4767.  03h    BYTE    hours
  4768.  04h    BYTE    minutes
  4769.  05h    BYTE    seconds
  4770.  06h    BYTE    day of week (0 = Sunday) (Novell and NTNX only)
  4771. --------E-21E7-------------------------------
  4772. INT 21 - OS/286, OS/386 - CREATE CODE SEGMENT
  4773.     AH = E7h
  4774.     ???
  4775. Return: ???
  4776. SeeAlso: AH=E8h"OS/286",AH=E9h"OS/286",AH=EAh"OS/286"
  4777. --------v-21E7-------------------------------
  4778. INT 21 - VIRUS - "Spyer"/"Kiev" - INSTALLATION CHECK
  4779.     AH = E7h
  4780. Return: AH = 78h if resident
  4781. SeeAlso: AH=E4h"VIRUS",AX=EC59h
  4782. --------N-21E8-------------------------------
  4783. INT 21 O - Novell NetWare, Alloy NTNX - SET FCB RE-OPEN MODE
  4784.     AH = E8h
  4785.     DL = mode
  4786.         00h no automatic re-open
  4787.         01h auto re-open
  4788. Return: AL = error code
  4789. Desc:    provided backward compatibility with a bug in CP/M and early DOS vers
  4790. Note:    this function was added in NetWare 4.6, but was removed some time prior
  4791.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  4792.       documentation
  4793. --------E-21E8-------------------------------
  4794. INT 21 - OS/286, OS/386 - SEGMENT CREATION
  4795.     AH = E8h
  4796.     AL = type
  4797.         00h data segment
  4798.         01h data window/alias
  4799.         02h real segment
  4800.         03h real window/alias
  4801.         CX:DX = size in bytes
  4802.         SI:BX -> start of desired memory block
  4803.         Return:    AX = selector
  4804.         06h shareable segment
  4805.     ???
  4806. Return: ???
  4807. SeeAlso: AH=E7h"OS/286",AH=E9h"OS/286"
  4808. --------T-21E8-------------------------------
  4809. INT 21 - DoubleDOS - SET/RESET KEYBOARD CONTROL FLAGS
  4810.     AH = E8h
  4811.     AL = program for which to set flags (00h this program, 01h other)
  4812.     DX = keyboard control flags (see #1142)
  4813. Return: DX = previous flags
  4814. Notes:    disabling Ctrl-PrtSc will allow the program to intercept the keystroke;
  4815.       disabling any of the other keystrokes disables them completely
  4816.     identical to AH=F8h
  4817. SeeAlso: AH=E1h"DoubleDOS",AH=E2h"DoubleDOS",AH=E3h"DoubleDOS"
  4818. SeeAlso: AH=F8h"DoubleDOS"
  4819.  
  4820. Bitfields for DoubleDOS keyboard control flags:
  4821. Bit(s)    Description    (Table 1142)
  4822.  0    menu
  4823.  1    exchange
  4824.  2    entire keyboard enable/disable
  4825.  3    Ctrl-C
  4826.  4    Ctrl-PrtSc
  4827.  5    Alt/Erase
  4828.  6    Ctrl-Break
  4829.  7    Ctrl-NumLock
  4830.  8    shift-PrtSc
  4831.  9-13    undefined
  4832.  14    cancel key (clear keyboard buffer)
  4833.  15    suspend key
  4834. Note:    setting a enables the corresponding key or operatin, clearing a
  4835.       disables it
  4836. --------E-21E9-------------------------------
  4837. INT 21 P - OS/286, OS/386 - CHANGE SEGMENTS
  4838.     AH = E9h
  4839.     AL = function
  4840.         01h change code segment parameters
  4841.         02h change data segment parameters
  4842.         05h adjust segment limit
  4843.         06h change segment base address
  4844.     ???
  4845. Return: ???
  4846. SeeAlso: AH=E7h"OS/286",AH=E8h"OS/286",AH=EAh"OS/286",AH=EDh"OS/286"
  4847. SeeAlso: INT 31/AX=0007h,INT 31/AX=0008h
  4848. --------T-21E9-------------------------------
  4849. INT 21 - DoubleDOS - SET TIMESHARING PRIORITY
  4850.     AH = E9h
  4851.     AL = new priority (see #1143)
  4852. Return: AL = priority setting if AL=05h on entry
  4853. Note:    identical to AH=F9h
  4854. SeeAlso: AH=EAh"DoubleDOS",AH=EBh"DoubleDOS",AH=F9h"DoubleDOS"
  4855.  
  4856. (Table 1143)
  4857. Values for DoubleDOS timesharing priority:
  4858.  00h    visible program gets 70%, invisible gets 30% (default)
  4859.  01h    visible program gets 50%, invisible gets 50%
  4860.  02h    visible program gets 30%, invisible gets 70%
  4861.  03h    Top program gets 70%, bottom program gets 30%
  4862.  04h    Top program gets 30%, bottom program gets 70%
  4863.  05h    get current priority
  4864. --------N-21E900-----------------------------
  4865. INT 21 - Novell NetWare - DIRECTORY SERVICES - GET DIRECTORY HANDLE
  4866.     AX = E900h
  4867.     DX = drive number to check (0 = A:, ..., 25 = Z:, 26 ... 31)
  4868. Return: AL = directory handle
  4869.     AH = flags (drive not mapped if none set)
  4870.         bit 0: permanent handle
  4871.         bit 1: temporary handle
  4872.         bit 7: mapped to local drive
  4873. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  4874.       Alloy NTNX
  4875. SeeAlso: AH=E2h/SF=00h,AH=E2h/SF=01h,AH=E2h/SF=0Ah
  4876. --------N-21E905-----------------------------
  4877. INT 21 - Novell NetWare shell 3.01 - MAP A FAKE ROOT DIRECTORY
  4878.     AX = E905h
  4879.     BL = drive number (0=default, 1=A:, ...)
  4880.     DS:DX -> ASCIZ path for fake root (may include server name or be empty)
  4881. Return: CF set on error
  4882.         AL = error code (03h,0Fh,11h) (see #0770 at AH=59h)
  4883.     CF clear if successful
  4884. Note:    if drive is not currently mapped, a drive mapping will be created
  4885. SeeAlso: AX=E906h
  4886. --------N-21E906-----------------------------
  4887. INT 21 - Novell NetWare shell 3.01 - DELETE FAKE ROOT DIRECTORY
  4888.     AX = E906h
  4889.     BL = drive number (0=default, 1=A:, ...)
  4890. Note:    drive remains mapped
  4891. SeeAlso: AX=E905h
  4892. --------N-21E907-----------------------------
  4893. INT 21 - Novell NetWare shell 3.01 - GET RELATIVE DRIVE DEPTH
  4894.     AX = E907h
  4895.     BL = drive number (0=default, 1=A:, ...)
  4896. Return: AL = number of directories below the fake root
  4897.         FFh if no fake root assigned
  4898. SeeAlso: AX=E905h
  4899. --------N-21E908BL00-------------------------
  4900. INT 21 - Novell NetWare shell 3.01 - SET SHOW DOTS
  4901.     AX = E908h
  4902.     BL = 00h    don't return '.' or '..' during directory scans
  4903.        = nonzero    directory scans will return '.' or '..' entries
  4904. Return: BL = previous show-dots setting
  4905. --------N-21E909-----------------------------
  4906. INT 21 - Novell NetWare - NetWare shell - CONVERT DOS FILE HANDLE TO NETWARE
  4907.     AX = E909h
  4908.     BX = DOS file handle
  4909. Return: AX = 0000h if successful
  4910.         BX:CX:DX = NetWare file handle
  4911. Notes:    this function is partially a reverse of "AttachHandle" (AH=B4h)
  4912.     many NetWare 3.x functions use a four-byte file handle, which appears
  4913.       to be the high four bytes of the six-byte NetWare handle
  4914. SeeAlso: AH=B4h"NetWare"
  4915. --------N-21EA-------------------------------
  4916. INT 21 - Novell NetWare, Alloy NTNX - RETURN SHELL VERSION
  4917.     AH = EAh
  4918.     AL = return version environment string
  4919.         00h        don't return string
  4920.         nonzero    return string in 40-byte buffer pointed to by ES:DI
  4921.         Return: buffer filled with three null-terminated entries:
  4922.             major operating system
  4923.             version
  4924.             hardware type
  4925. Return: AH = operating system (00h = MS-DOS)
  4926.     AL = hardware type
  4927.         00h IBM PC
  4928.         01h Victor 9000
  4929.     BH = major shell version
  4930.     BL = minor shell version
  4931.     CH = (v3.01+) shell type
  4932.         00h conventional memory
  4933.         01h expanded memory
  4934.         02h extended memory
  4935.     CL = shell revision number
  4936. Note:    this function is supported by NetWare 4.6 and Advanced NetWare 1.0+
  4937. --------T-21EA-------------------------------
  4938. INT 21 - DoubleDOS - TURN OFF TASK SWITCHING
  4939.     AH = EAh
  4940. Return: task switching turned off
  4941. SeeAlso: AH=E9h"DoubleDOS",AH=EBh"DoubleDOS",AH=FAh"DoubleDOS"
  4942. SeeAlso: INT FA"DoubleDOS"
  4943. --------E-21EA-------------------------------
  4944. INT 21 - OS/286, OS/386 - ALLOCATE HUGE SEGMENT
  4945.     AH = EAh
  4946.     ???
  4947. Return: ???
  4948. Note:    protected mode only???
  4949. SeeAlso: AH=E7h"OS/286",AH=E8h"OS/286",AH=E9h"OS/286"
  4950. --------N-21EB-------------------------------
  4951. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOG FILE
  4952.     AH = EBh
  4953.     DS:DX -> ASCIZ filename
  4954.     if function C6h lock mode 01h:
  4955.         AL = flags
  4956.         00h log file only
  4957.         01h lock as well as log file
  4958.             BP = lock timeout in timer ticks (1/18 second)
  4959.             0000h = don't wait if file already locked
  4960. Return: AL = status (see #1144)
  4961. Desc:    add the location and size of the specified file to the log table and
  4962.       optionally lock the file
  4963. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  4964.       Alloy NTNX
  4965. SeeAlso: AH=BCh"NetWare",AH=CAh,AH=D0h,AH=ECh"NetWare",AH=EDh"NetWare"
  4966.  
  4967. (Table 1144)
  4968. Values for NetWare status:
  4969.  00h    successful
  4970.  96h    no dynamic memory for file
  4971.  FEh    timed out
  4972.  FFh    failed
  4973. --------T-21EB-------------------------------
  4974. INT 21 - DoubleDOS - TURN ON TASK SWITCHING
  4975.     AH = EBh
  4976. Return: task switching turned on
  4977. SeeAlso: AH=E9h"DoubleDOS",AH=EAh"DoubleDOS",AH=FBh"DoubleDOS"
  4978. SeeAlso: INT FB"DoubleDOS"
  4979. --------E-21EB00-----------------------------
  4980. INT 21 - OS/386 VMM - GET A PAGE TABLE ENTRY BY LINEAR ADDRESS
  4981.     AX = EB00h
  4982.     ???
  4983. Return: ???
  4984. Note:    protected mode only???
  4985. SeeAlso: AX=EB02h,AX=EB04h,INT 31/AX=0506h
  4986. --------E-21EB02-----------------------------
  4987. INT 21 - OS/386 VMM - GET A PAGE TABLE ENTRY BY 16-BIT SEGMENT:OFFSET
  4988.     AX = EB02h
  4989.     ???
  4990. Return: ???
  4991. Note:    protected mode only???
  4992. SeeAlso: AX=EB00h,AX=EB04h
  4993. --------E-21EB03-----------------------------
  4994. INT 21 - OS/386 VMM - FREE MAPPED PAGES
  4995.     AX = EB03h
  4996.     ???
  4997. Return: ???
  4998. Note:    protected mode only???
  4999. SeeAlso: AX=EB05h,INT 31/AX=0801h
  5000. --------E-21EB04-----------------------------
  5001. INT 21 - OS/386 VMM - GET A PAGE TABLE ENTRY BY 32-BIT SEGMENT:OFFSET
  5002.     AX = EB04h
  5003.     ???
  5004. Return: ???
  5005. Note:    protected mode only???
  5006. SeeAlso: AX=EB00h,AX=EB02h
  5007. --------E-21EB05-----------------------------
  5008. INT 21 - OS/386 VMM - MAP PAGES
  5009.     AX = EB05h
  5010.     ???
  5011. Return: ???
  5012. Note:    protected mode only???
  5013. SeeAlso: AX=EB03h,INT 31/AX=0800h
  5014. --------E-21EB06-----------------------------
  5015. INT 21 - OS/386 VMM - LOCK PAGES IN MEMORY
  5016.     AX = EB06h
  5017.     ???
  5018. Return: ???
  5019. Note:    protected mode only???
  5020. SeeAlso: AX=EB07h,INT 31/AX=0600h
  5021. --------E-21EB07-----------------------------
  5022. INT 21 - OS/386 VMM - UNLOCK MEMORY PAGES
  5023.     AX = EB07h
  5024.     ???
  5025. Return: ???
  5026. Note:    protected mode only???
  5027. SeeAlso: AX=EB06h,INT 31/AX=0601h
  5028. --------N-21EC-------------------------------
  5029. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE FILE
  5030.     AH = ECh
  5031.     DS:DX -> ASCIZ filename
  5032. Return: AL = status
  5033.         00h successful
  5034.         FFh file not found
  5035. Desc:    unlock the specified file but retain it in the log table
  5036. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  5037.       Alloy NTNX
  5038. SeeAlso: AH=CDh,AH=EBh"NetWare",AH=EDh"NetWare"
  5039. --------T-21EC-------------------------------
  5040. INT 21 - DoubleDOS - GET VIRTUAL SCREEN ADDRESS
  5041.     AH = ECh
  5042. Return: ES = segment of virtual screen
  5043. Desc:    determine the address of the virtual screen to which the program
  5044.       should write instead of the actual video memory, so that the
  5045.       multitasked programs do not interfere with each other's output
  5046. Notes:    screen address can change if task-switching is on!!
  5047.     identical to AH=FCh
  5048. SeeAlso: INT 10/AH=FEh,AH=FCh"DoubleDOS",INT FC"DoubleDOS"
  5049. --------E-21EC-------------------------------
  5050. INT 21 - OS/286, OS/386 - BLOCK TRANSFER
  5051.     AH = ECh
  5052.     ???
  5053. Return: ???
  5054. --------v-21EC59-----------------------------
  5055. INT 21 - VIRUS - "Terror" - INSTALLATION CHECK
  5056.     AX = EC59h
  5057. Return: BP = EC59h if resident
  5058. SeeAlso: AH=E7h"VIRUS",AH=EEh"VIRUS"
  5059. --------N-21ED-------------------------------
  5060. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR FILE
  5061.     AH = EDh
  5062.     DS:DX -> ASCIZ filename
  5063. Return: AL = status
  5064.         00h successful
  5065.         FFh no files found
  5066. Desc:    unlock the file and remove it from the log table
  5067. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  5068.       Alloy NTNX
  5069. SeeAlso: AH=CBh"NetWare",AH=CEh,AH=CFh,AH=EBh"NetWare",AH=ECh"NetWare"
  5070. --------E-21ED-------------------------------
  5071. INT 21 - OS/286, OS/386 - GET SEGMENT OR WINDOW DESCRIPTOR
  5072.     AH = EDh
  5073.     ???
  5074. Return: ???
  5075. Note:    protected mode only???
  5076. SeeAlso: AH=E9h"OS/286"
  5077. --------N-21EE-------------------------------
  5078. INT 21 - Novell NetWare - CONNECTION SERVICES - GET PHYSICAL STATION ADDRESS
  5079.     AH = EEh
  5080. Return: CX:BX:AX = six-byte physical address
  5081. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  5082.       Alloy NTNX
  5083. SeeAlso: AH=E3h/SF=13h
  5084. --------T-21EE-------------------------------
  5085. INT 21 - DoubleDOS - GIVE AWAY TIME TO OTHER TASKS
  5086.     AH = EEh
  5087.     AL = number of 55ms time slices to give away
  5088. Return: returns after giving away time slices
  5089. SeeAlso: AH=FEh"DoubleDOS",INT FE"DoubleDOS"
  5090. --------v-21EE-------------------------------
  5091. INT 21 - VIRUS - "Jerusalem-G", "Pregnant" - INSTALLATION CHECK
  5092.     AH = EEh
  5093. Return: AX = 0300h if "Jerusalem-G" resident
  5094.     AL = 05h if "Pregnant" resident
  5095. SeeAlso: AH=DDh"VIRUS",AX=EC59h,AH=F0h"VIRUS"
  5096. --------N-21EF00-----------------------------
  5097. INT 21 - Novell NetWare - WORKSTATION - GET DRIVE HANDLE TABLE
  5098.     AX = EF00h
  5099. Return: ES:SI -> network shell's 32-byte drive handle table
  5100.     AX = 0000h
  5101. Notes:    this function is supported by Advanced NetWare 1.0+
  5102.     each byte in the drive handle table contains the directory handle for
  5103.       the corresponding drive, or 00h if not mapped to a directory
  5104. SeeAlso: AX=EF01h,AX=EF02h,AX=EF03h,AX=EF04h
  5105. --------N-21EF01-----------------------------
  5106. INT 21 - Novell NetWare - WORKSTATION - GET DRIVE FLAG TABLE
  5107.     AX = EF01h
  5108. Return: ES:SI -> network shell's 32-byte drive flag table (see #1145)
  5109.     AX = 0000h
  5110. Notes:    this function is supported by Advanced NetWare 1.0+
  5111.     each byte in the drive flag table corresponds to a drive
  5112. SeeAlso: AX=EF00h,AX=EF02h,AX=EF03h
  5113.  
  5114. (Table 1145)
  5115. Values in NetWare drive flag table:
  5116.  00h    drive is not mapped
  5117.  01h    permanent network drive
  5118.  02h    temporary network drive
  5119.  80h    mapped to local drive
  5120.  81h    local drive used as permanent network drive
  5121.  82h    local drive used as temporary network drive
  5122. --------N-21EF02-----------------------------
  5123. INT 21 - Novell NetWare - WORKSTATION - GET DRIVE CONNECTION ID TABLE
  5124.     AX = EF02h
  5125. Return: ES:SI -> network shell's 32-byte drive conection ID table
  5126.     AX = 0000h
  5127. Notes:    this function is supported by Advanced NetWare 1.0+
  5128.     each byte in the connection ID table corresponds to a drive and
  5129.       contains either the connection ID (1-8) of the server for that drive
  5130.       or 00h if the drive is not mapped to a file server
  5131. SeeAlso: AX=EF01h,AX=EF03h,AX=F002h
  5132. --------N-21EF03-----------------------------
  5133. INT 21 - Novell NetWare - WORKSTATION - GET CONNECTION ID TABLE
  5134.     AX = EF03h
  5135. Return: ES:SI -> network shell's connection ID table (see #1146)
  5136.     AX = 0000h
  5137. Note:    this function is supported by Advanced NetWare 1.0+
  5138. SeeAlso: AX=EF00h,AX=EF02h,AX=EF04h,AX=F002h
  5139.  
  5140. Format of NetWare connection ID table [one entry of eight-element array]:
  5141. Offset    Size    Description    (Table 1146)
  5142.  00h    BYTE    in-use flag
  5143.         E0h AES temporary
  5144.         F8h IPX in critical section
  5145.         FAh processing
  5146.         FBh holding
  5147.         FCh AES waiting
  5148.         FDh waiting
  5149.         FEh receiving
  5150.         FFh sending
  5151.  01h    BYTE    order number assigned to server (1-8)
  5152.  02h    DWORD    (big-endian) file server's network address
  5153.  06h  6 BYTEs    (big-endian) file server's node address
  5154.  0Ch    WORD    (big-endian) socket number
  5155.  0Eh    WORD    (big-endian) base receive timeout in clock ticks
  5156.  10h  6 BYTEs    (big-endian) preferred routing node
  5157.  16h    BYTE    packet sequence number
  5158.  17h    BYTE    connection number (FFh = no connection)
  5159.  18h    BYTE    connection status (00h if active)
  5160.  19h    WORD    (big-endian) maximum receive timeout in clock ticks
  5161.  1Bh  5 BYTEs    reserved
  5162. --------N-21EF04-----------------------------
  5163. INT 21 - Novell NetWare - WORKSTATION - GET FILE SERVER NAME TABLE
  5164.     AX = EF04h
  5165. Return: ES:SI -> network shell's file server name table (see #1147)
  5166.     AX = 0000h
  5167. Note:    this function is supported by Advanced NetWare 1.0+
  5168. SeeAlso: AX=EF03h
  5169.  
  5170. Format of file server name table:
  5171. Offset    Size    Description    (Table 1147)
  5172.  00h 48 BYTEs    ASCIZ server name for first entry in connection ID table
  5173.  30h 48 BYTEs    ASCIZ server name for second entry in connection ID table
  5174.     ...
  5175. 150h 48 BYTEs    ASCIZ server name for eighth entry in connection ID table
  5176. --------T-21F0-------------------------------
  5177. INT 21 - DoubleDOS - MENU CONTROL
  5178.     AH = F0h
  5179.     AL = subfunction
  5180.         01h exchange tasks
  5181.         73h resume invisible job if suspended
  5182.         74h kill other job
  5183.         75h suspend invisible job
  5184. Note:    identical to AH=E0h
  5185. SeeAlso: AH=E0h"DoubleDOS"
  5186. --------v-21F0-------------------------------
  5187. INT 21 - VIRUS - "Frere Jacques" - INSTALLATION CHECK
  5188.     AH = F0h
  5189. Return: AX = 0300h if resident
  5190. SeeAlso: AH=EEh"VIRUS",AH=F1h"VIRUS"
  5191. --------N-21F000-----------------------------
  5192. INT 21 - Novell NetWare - WORKSTATION - SET PREFERRED CONNECTION ID
  5193.     AX = F000h
  5194.     DL = connection ID of prefered file server (1-8) or 00h for none
  5195. Notes:    this function is supported by Advanced NetWare 1.0+
  5196.     the preferred connection ID is set to 00h by the shell on EOJ
  5197. SeeAlso: AH=D6h,AX=EF03h,AX=F001h,AX=F002h,AX=F005h
  5198. --------N-21F001-----------------------------
  5199. INT 21 - Novell NetWare - WORKSTATION - GET PREFERRED CONNECTION ID
  5200.     AX = F001h
  5201. Return: AL = connection ID of preferred file server (1-8), 00h if not set
  5202. Notes:    this function is supported by Advanced NetWare 1.0+
  5203.     the preferred connection ID is set to 00h by the shell on EOJ
  5204. SeeAlso: AH=D6h,AX=EF03h,AX=F000h,AX=F002h,AX=F005h
  5205. --------N-21F002-----------------------------
  5206. INT 21 - Novell NetWare - WORKSTATION - GET DEFAULT CONNECTION ID
  5207.     AX = F002h
  5208. Return: AL = connection ID of current default file server (1-8) (see AX=EF03h)
  5209. Note:    this function is supported by Advanced NetWare 1.0+
  5210. SeeAlso: AX=EF03h,AX=F000h,AX=F004h
  5211. --------N-21F003-----------------------------
  5212. INT 21 - Novell NetWare - PRINT SERVICES - GET LPT CAPTURE STATUS
  5213.     AX = F003h
  5214. Return: AH = status
  5215.         00h not active
  5216.         FFh active
  5217.         AL = connection ID (01h-08h)
  5218. Note:    this function is supported by Advanced NetWare 1.0+
  5219. SeeAlso: AX=B800h,AX=B804h,AH=DFh/DL=00h,AH=DFh/DL=04h
  5220. --------N-21F004-----------------------------
  5221. INT 21 - Novell NetWare - WORKSTATION - SET PRIMARY CONNECTION ID
  5222.     AX = F004h
  5223.     DL = connection ID of primary file server (1-8) or 00h for none
  5224. Note:    this function is supported by Advanced NetWare 2.0+
  5225. SeeAlso: AH=D6h,AX=EF03h,AX=F000h,AX=F002h,AX=F005h
  5226. --------N-21F005-----------------------------
  5227. INT 21 - Novell NetWare - WORKSTATION - GET PRIMARY CONNECTION ID
  5228.     AX = F005h
  5229. Return: AL = connection ID of primary file server (1-8), 00h if not set
  5230. Notes:    this function is supported by Advanced NetWare 2.0+
  5231.     by default, the primary file server is the one from which the login
  5232.       script executed; it is set to 00h if the workstation is not logged in
  5233.       and when it detaches from its primary file server
  5234. SeeAlso: AH=D6h,AX=EF03h,AX=F000h,AX=F002h,AX=F004h
  5235. --------N-21F1-------------------------------
  5236. INT 21 - Novell NetWare - CONNECTION SERVICES - FILE SERVER CONNECTION
  5237.     AH = F1h
  5238.     AL = subfunction
  5239.         00h attach to file server
  5240.         DL = preferred file server (01h-08h)
  5241.         01h detach from file server
  5242.         DL = connection ID
  5243.         02h logout from file server
  5244.         DL = connection ID
  5245. Return: AL = status (see #1148)
  5246. Note:    these functions are supported by Advanced NetWare 1.0+
  5247. SeeAlso: AH=D7h"NetWare",AH=E3h/SF=14h
  5248.  
  5249. (Table 1148)
  5250. Values for NetWare function status:
  5251.  00h    successful
  5252.  F8h    already attached to server
  5253.  F9h    connection table full
  5254.  FAh    no more server slots
  5255.  FCh    unknown file server
  5256.  FEh    server bindery locked
  5257.  FFh    no response from server, or connection does not exist
  5258. --------T-21F1-------------------------------
  5259. INT 21 - DoubleDOS - CLEAR KEYBOARD BUFFER FOR CURRENT JOB
  5260.     AH = F1h
  5261. SeeAlso: AH=E1h"DoubleDOS",AH=F2h"DoubleDOS",AH=F3h"DoubleDOS"
  5262. SeeAlso: AH=F8h"DoubleDOS"
  5263. --------v-21F1-------------------------------
  5264. INT 21 - VIRUS - "F1-337" - ???
  5265.     AH = F1h
  5266.     ???
  5267. Return: ???
  5268. SeeAlso: AH=F0h"VIRUS",AX=F1E9h
  5269. --------v-21F1E9-----------------------------
  5270. INT 21 - VIRUS - "Tremor" - INSTALLATION CHECK
  5271.     AX = F1E9h
  5272. Return: AX = installation state
  5273.         CADEh installed, and calling program is infected
  5274.         F100h not installed (normal DOS return value)
  5275.         else  installed, but calling program is not infected
  5276. SeeAlso: AH=F1h"VIRUS",AX=F2AAh
  5277. --------N-21F2-------------------------------
  5278. INT 21 u - Novell NetWare v3.01+ shell interface - MULTIPLEXOR
  5279.     AH = F2h
  5280.     AL = function (see #1149)
  5281.         (subfunction stored at DS:SI for AL=56h,57h,
  5282.           DS:SI+2 for AL=15h-17h,23h)
  5283.     CX = length of request buffer in bytes
  5284.     DX = length of reply buffer in bytes
  5285.     DS:SI -> request buffer (contents vary by function)
  5286.     ES:DI -> reply buffer (contents vary by function)
  5287. Return: AL = status
  5288.     reply buffer filled as appropriate for function
  5289. Note:    this is a multiplexor providing a "raw" interface to the underlying
  5290.       NetWare Core Protocol.  Many functions which were accessed via a
  5291.       separate AH function in older versions can also be accessed here,
  5292.       but some NetWare 3.x calls appear to be available only here.
  5293. SeeAlso: AX=F244h
  5294.  
  5295. (Table 1149)
  5296. Values for NetWare Core Protocol functions:
  5297. Fnc/Subfn    Description
  5298. 01h    File Set Lock
  5299. 02h    File Release Lock
  5300. 03h    Log File (see AH=EBh"NetWare")
  5301. 04h    Lock File Set (see AH=CBh"NetWare")
  5302. 05h    Release File (see AH=CCh,AH=ECh"NetWare")
  5303. 06h    Release File Set (see AH=CDh"NetWare")
  5304. 07h    Clear File (see AH=CEh,AH=EDh"NetWare")
  5305. 08h    Clear File Set (see AH=CFh"NetWare")
  5306. 09h    Log Logical Record (see AH=D0h"NetWare")
  5307. 0Ah    Lock Logical Record Set (see AH=D1h"NetWare")
  5308. 0Bh    Clear Logical Record (see AH=D4h"NetWare")
  5309. 0Ch    Release Logical Record (see AH=D2h"NetWare")
  5310. 0Dh    Release Logical Record Set (see AH=D3h"NetWare")
  5311. 0Eh    Clear Logical Record Set (see AH=D5h"NetWare")
  5312. 0Fh    Allocate Resource (see AH=D8h"NetWare")
  5313. 10h    Deallocate Resource (see AH=D9h"NetWare")
  5314. 11h/0Ah    Get Printer Queue
  5315. 11h/xxh    print spooling (see AX=E0xxh"NetWare")
  5316. 12h    Get Volume Info with Number (see AH=DAh"NetWare")
  5317. 13h    Get Station Number (see AH=DCh"NetWare")
  5318. 14h    Get File Server Date and Time (see AH=E7h"NetWare")
  5319. 15h/xxh    broadcast services (see AX=E1xxh"NetWare")
  5320. 16h/0Fh    Rename Directory
  5321. 16h/1Bh    Scan Salvagable Files
  5322. 16h/1Ch    Recover Salvagable File
  5323. 16h/1Dh    Purge Salvagable File
  5324. 16h/1Eh    Scan Dir Entry
  5325. 16h/1Fh    Get Dir ENtry
  5326. 16h/20h    Scan Volume for Restrictions
  5327. 16h/21h    Add User Disk Space Restriction (see AX=F216h/SF=21h)
  5328. 16h/22h    Clear Volume Restrictions
  5329. 16h/23h    Scan Dir Restrictions
  5330. 16h/24h    Set Directory Disk Space Restriction (see AX=F216h/SF=24h)
  5331. 16h/25h    Set Entry
  5332. 16h/26h    Scan File or Directory For Extended Trustees (see AX=F216h/SF=26h)
  5333. 16h/27h    Add Extended Trustee to Directory or File (see AX=F216h/SF=27h)
  5334. 16h/28h    Scan File Physical
  5335. 16h/29h    Get Object Disk Restrictions (see AX=F216h/SF=29h)
  5336. 16h/2Ah    Get Effective Rights
  5337. 16h/2Bh    Delete Trustee
  5338. 16h/2Ch    Get Volume Usage
  5339. 16h/2Dh    Get Dir Info
  5340. 16h/2Eh    Move Entry
  5341. 16h/2Fh    Fill Name Space Buffer
  5342. 16h/30h    Get Name Space Entry
  5343. 16h/31h    Open Data Stream
  5344. 16h/32h    Get Object Effective Rights
  5345. 16h/33h    Get Extended Volume Info
  5346. 16h/F3h    Map Directory Number to Path
  5347. 16h/xxh file/directory services (see AX=E2xxh"NetWare")
  5348. 17h/17h    Get Encryption Key
  5349. 17h/18h    Login Object Encrypted
  5350. 17h/1Ch    Get Connection Information (see AX=F217h/SF=1Ch)
  5351. 17h/1Fh    Get Connection List from Object
  5352. 17h/48h    Get Bindery Object Access Level
  5353. 17h/49h    Is Station a Manager?
  5354. 17h/4Ah    Verify Bindery Object Password Encrypted
  5355. 17h/4Bh    Change Bindery Object Password Encrypted
  5356. 17h/4Ch    Get Relation of an Object
  5357. 17h/D2h Clear Connection Number (Logout Station) (see AX=F217h/SF=D2h)
  5358. 17h/EBh    Get Connection's Open Files (see AX=F217h/SF=EBh)
  5359. 17h/ECh    Get Connections Using a File (see AX=F217h/SF=ECh)
  5360. 17h/EEh    Get Physical Record Locks by File (see AX=F217h/SF=EEh)
  5361. 17h/F2h Get Semaphore Information (see AX=F217h/SF=F2h)
  5362. 17h/F3h Map Directory Number to Path (see AX=F217h/SF=F3h)
  5363. 17h/F4h    Convert Path to Directory Entry (see AX=F217h/SF=F4h)
  5364. 17h/xxh    connection control (see AX=E3xxh"NetWare")
  5365. 18h    End of Job (see AH=D6h"NetWare")
  5366. 19h    Logout (see AH=D7h"NetWare")
  5367. 1Ah    Log Physical Record (see AH=BCh"NetWare")
  5368. 1Bh    Lock Physical Record Set (see AH=C2h"NetWare")
  5369. 1Ch    Release Physical Record (see AH=BDh"NetWare")
  5370. 1Dh    Release Physical Record Set (see AH=C3h"NetWare")
  5371. 1Eh    Clear Physical Record (see AH=BEh"NetWare")
  5372. 1Fh    Clear Physical Record Set (see AH=C4h"NetWare")
  5373. 20h/xxh    semaphore services (see AX=C5xxh"NetWare")
  5374. 21h    Negotiate Buffer
  5375. 22h/00h    TTS Is Available (see AX=C702h"NetWare")
  5376. 22h/01h    TTS Begin Transaction (see AX=C700h"NetWare")
  5377. 22h/02h    TTS End Transaction (see AX=C701h"NetWare")
  5378. 22h/03h    TTS Abort Transaction (see AX=C703h"NetWare")
  5379. 22h/04h    TTS Transaction Status (see AX=C704h"NetWare")
  5380. 22h/05h    TTS Get Application Thresholds (see AX=C705h"NetWare")
  5381. 22h/06h    TTS Set Application Thresholds (see AX=C706h"NetWare")
  5382. 22h/07h    TTS Get Workstation Thresholds (see AX=C707h"NetWare")
  5383. 22h/08h    TTS Set Workstation Thresholds (see AX=C708h"NetWare")
  5384. 22h/09h    TTS Get Control Flags
  5385. 22h/0Ah    TTS Set Control Flags
  5386. 23h/01h    AFP Create Directory
  5387. 23h/02h    AFP Create File
  5388. 23h/03h    AFP Delete
  5389. 23h/04h    AFP Get Entry ID From Name
  5390. 23h/05h    AFP Get FIle Infomration
  5391. 23h/06h    AFP Get Entry ID From NetWare Handle
  5392. 23h/07h    AFP Rename
  5393. 23h/08h    AFP Open File Fork
  5394. 23h/09h    AFP Set File Information
  5395. 23h/0Ah    AFP Scan File Information
  5396. 23h/0Bh    AFP Alloc Temporary Dir Handle
  5397. 23h/0Ch    AFP Get Entry ID From Path Name
  5398. 3Dh    Commit File
  5399. 3Eh    File Search Initialize (FindFirst)
  5400. 3Fh    File Search Continue (FindNext)
  5401. 40h    Search File
  5402. 42h    File Close
  5403. 43h    File Create
  5404. 44h    Erase Files
  5405. 45h    File Rename
  5406. 46h    Set File Attributes
  5407. 47h    Get File Size
  5408. 48h    File Read
  5409. 49h    File Write
  5410. 4Ah    File Server Copy (see AH=F3h"NetWare")
  5411. 4Bh    Set File Time and Date
  5412. 4Ch    File Open
  5413. 4Dh    Create New File
  5414. 4Eh    Allow Task Access to File
  5415. 4Fh    Set Extended File Attributes (see AH=B6h"NetWare")
  5416. 55h    Get File Bit Map
  5417. 56h/xx    extended attribute services (OS/2)
  5418. 56h/01h    close extended attribute
  5419. 56h/02h    write extended attribute
  5420. 56h/03h    read extended attribute
  5421. 56h/04h    enumerate extended attribute
  5422. 56h/05h    duplicate EA
  5423. 57h/01h    open/create file/directory
  5424. 57h/02h    init search, continue with 57h/03h
  5425. 57h/03h    Scan NS Entry Info
  5426. 57h/04h    rename file/directory
  5427. 57h/05h    scan for trustees
  5428. 57h/06h    Get NS Entry Info (see AX=F257h/SF=06h)
  5429. 57h/07h    Set NS Entry DOS Info
  5430. 57h/08h    delete file/directory
  5431. 57h/09h    set short directory handle
  5432. 57h/0Ah    Add Trustee
  5433. 57h/0Bh    Delete Trustee
  5434. 57h/0Ch    Allocate Temp NS Dir Handle
  5435. 57h/13h    Read NS Info
  5436. 57h/15h    get path string for short directory handle
  5437. 57h/16h    Get Directory Base
  5438. 57h/17h    Get NS Info
  5439. 57h/19h    Write NS Info
  5440. 57h/1Ah    Read Extended NS Info
  5441. 57h/1Bh    Write Extended NS Infor
  5442. 57h/1Ch    Get NS Path
  5443. 57h/1Dh    Get Effective Rights
  5444. 58h/01h    Get Volume Audit Statistics
  5445. 58h/02h    Add Audit Property
  5446. 58h/03h    Login as Volume Auditor
  5447. 58h/04h Change Auditor Password
  5448. 58h/05h Check Audit Access
  5449. 58h/06h    Remove Audit Property
  5450. 58h/07h    Disable Auditing on Volume
  5451. 58h/08h    Enable Auditing on Volume
  5452. 58h/09h    Is User Audited?
  5453. 58h/0Ah    Read Auditing Bit Map
  5454. 58h/0Bh    Read Audit Config Header
  5455. 58h/0Dh    Logout as Volume Auditor
  5456. 58h/0Eh    Reset Auditing File
  5457. 58h/0Fh    Reset Audit History File
  5458. 58h/10h    Write Auditing Bit Map
  5459. 58h/11h    Write Audit Config Header
  5460. 58h/13h    Get Auditing Flags
  5461. 58h/14h    Close Old Auditing File
  5462. 58h/15h    Delete Old Auditing File
  5463. 58h/16h    Check Audit Level Two Access
  5464. 5Ah/01h    Get DM Info
  5465. 61h    Negotiate LIP Buffer, packet signing, and IPX checksums
  5466. 65h    Packet Burst Connection
  5467. 7Bh/01h    Get Cache Information
  5468. 7Bh/02h    Get File Server Information
  5469. 7Bh/03h    Get NetWare File Systems Information
  5470. 7Bh/04h    Get User Information
  5471. 7Bh/05h    Get Packet Burst Information
  5472. 7Bh/06h    Get IPX/SPX Information
  5473. 7Bh/07h    Get Garbage Collection Information
  5474. 7Bh/08h    Get CPU Information
  5475. 7Bh/09h    Get Volume Switch Information
  5476. 7Bh/0Ah    Get NLM Loaded List
  5477. 7Bh/0Bh    Get NLM Information
  5478. 7Bh/0Ch    Get Directory Cache Information
  5479. 7Bh/0Dh    Get OS Version Information
  5480. 7Bh/0Eh    Get Active Connection List by Type
  5481. 7Bh/0Fh    Get NLM's Resource Tag List
  5482. 7Bh/14h    Get Active LAN Board List
  5483. 7Bh/15h    Get LAN Configuration Information
  5484. 7Bh/16h    Get LAN Common Counters Information
  5485. 7Bh/17h    Get LAN Custom Counters Information
  5486. 7Bh/18h    Get LAN Config Strings
  5487. 7Bh/19h    Get LSL Informatino
  5488. 7Bh/1Ah    Get LSL Logical Board Statistics
  5489. 7Bh/1Eh    Get Media Manager Object Information
  5490. 7Bh/1Fh    Get Media Manager Object List
  5491. 7Bh/20h    Get Media Manager Object Children List
  5492. 7Bh/21h    Get Volume Segment List
  5493. 7Bh/28h    Get Active Protocol Stacks
  5494. 7Bh/29h    Get Protocol Stack Configuration Information
  5495. 7Bh/2Ah    Get Protocol Stack Statistics Information
  5496. 7Bh/2Bh    Get Protocol Stack Custom Information
  5497. 7Bh/2Ch    Get Protocol Stack Numbers By Media Number
  5498. 7Bh/2Dh    Get Protocol Stack Numbers By LAN Board Number
  5499. 7Bh/2Eh    Get Media Name by Media Number
  5500. 7Bh/2Fh    Get Loaded Media Number List
  5501. 7Bh/32h    Get General Router and SAP Information
  5502. 7Bh/33h    Get Network Router Information
  5503. 7Bh/34h    Get Network Routers Information
  5504. 7Bh/35h    Get Known Networks Information
  5505. 7Bh/36h    Get Server Information
  5506. 7Bh/38h    Get Known Servers Information
  5507. 7Bh/3Ch    Get Server Set Commands Information
  5508. 7Bh/3Dh    Get Server Set Categories
  5509. Note:    the subfunction is stored at DS:SI for AL=56h,57h, DS:SI+2 for
  5510.       AL=15h-17h,23h
  5511. --------T-21F2-------------------------------
  5512. INT 21 - DoubleDOS - SEND CHARACTER TO KEYBOARD BUFFER OF OTHER JOB
  5513.     AH = F2h
  5514.     AL = character
  5515. Return: AL = status
  5516.         00h successful
  5517.         01h buffer full (128 characters)
  5518. SeeAlso: AH=E2h"DoubleDOS",AH=F1h"DoubleDOS",AH=F3h"DoubleDOS"
  5519. SeeAlso: AH=F8h"DoubleDOS"
  5520. --------N-21F216SF21-------------------------
  5521. INT 21 - Novell NetWare v3+ - ADD USER DISK SPACE RESTRICTION
  5522.     AX = F216h subfn 21h
  5523.     CX = length of request buffer in bytes
  5524.     DX = length of reply buffer in bytes
  5525.     DS:SI -> request buffer (see #1150)
  5526.     ES:DI -> reply buffer (ignored)
  5527. Return: AL = status
  5528. SeeAlso: AX=F216h/SF=24h
  5529.  
  5530. Format of NetWare request buffer:
  5531. Offset    Size    Description    (Table 1150)
  5532.  00h    WORD    000Ah (length of following data)
  5533.  02h    BYTE    21h (subfunction "Add User Disk Space Restriction")
  5534.  03h    BYTE    volume number
  5535.  04h    DWORD    (big-endian) object ID
  5536.  08h    DWORD    (big-endian) disk space limit in 4K blocks
  5537.         00000000h to 40000000h
  5538. --------N-21F216SF24-------------------------
  5539. INT 21 - Novell NetWare v3+ - SET DIRECTORY DISK SPACE RESTRICTION
  5540.     AX = F216h subfn 24h
  5541.     CX = length of request buffer in bytes
  5542.     DX = length of reply buffer in bytes
  5543.     DS:SI -> request buffer (see #1151)
  5544.     ES:DI -> reply buffer (ignored)
  5545. Return: AL = status
  5546. SeeAlso: AX=F216h/SF=21h
  5547.  
  5548. Format of NetWare request buffer:
  5549. Offset    Size    Description    (Table 1151)
  5550.  00h    WORD    0006h (length of following data)
  5551.  02h    BYTE    24h (subfunction "Set Directory Disk Space Restriction")
  5552.  03h    BYTE    directory handle
  5553.  04h    DWORD    (big-endian) disk space limit in 4K blocks
  5554.         00000000h to remove restriction, negative to set to 0 blocks
  5555. --------N-21F216SF26-------------------------
  5556. INT 21 - Novell NetWare v3+ - SCAN FILE OR DIRECTORY FOR EXTENDED TRUSTEES
  5557.     AX = F216h subfn 26h
  5558.     CX = length of request buffer in bytes
  5559.     DX = length of reply buffer in bytes
  5560.     DS:SI -> request buffer (see #1152)
  5561.     ES:DI -> reply buffer (see #1153)
  5562. Return: AL = status
  5563. Desc:    get up to 20 extended trustee entries per call for a file or directory
  5564.  
  5565. Format of NetWare request buffer:
  5566. Offset    Size    Description    (Table 1152)
  5567.  00h    WORD    length of following data
  5568.  02h    BYTE    26h (subfunc "Scan File or Directory For Extended Trustees")
  5569.  03h    BYTE    directory handle
  5570.  04h    BYTE    sequence number
  5571.         00h for first call, increment by number of returned entries
  5572.  05h    BYTE    length of path
  5573.  06h  N BYTEs    pathname
  5574.  
  5575. Format of NetWare reply buffer:
  5576. Offset    Size    Description    (Table 1153)
  5577.  00h    BYTE    number of entries returned (max 20)
  5578.  01h 20 DWORDs    (big-endian) list of object IDs
  5579.  51h 20 WORDs    list of associated trustee rights
  5580. --------N-21F216SF27-------------------------
  5581. INT 21 - Novell NetWare v3+ - ADD EXTENDED TRUSTEE TO DIRECTORY OR FILE
  5582.     AX = F216h subfn 27h
  5583.     CX = length of request buffer in bytes
  5584.     DX = length of reply buffer in bytes
  5585.     DS:SI -> request buffer (see #1154)
  5586.     ES:DI -> reply buffer (ignored)
  5587. Return: AL = status
  5588.  
  5589. Format of NetWare request buffer:
  5590. Offset    Size    Description    (Table 1154)
  5591.  00h    WORD    length of following data
  5592.  02h    BYTE    27h (subfunction "Add Extended Trustee to Directory or File")
  5593.  03h    BYTE    directory handle
  5594.  04h    DWORD    (big-endian) object ID
  5595.  08h    WORD    trustee rights (see #1155)
  5596.  0Ah    BYTE    path length
  5597.  0Bh  N BYTEs    path name
  5598.  
  5599. Bitfields for NetWare trustee rights:
  5600. Bit(s)    Description    (Table 1155)
  5601.  0    read
  5602.  1    write
  5603.  3    create
  5604.  4    delete
  5605.  5    access
  5606.  6    file
  5607.  7    modify
  5608.  8    supervisor
  5609. --------N-21F216SF29-------------------------
  5610. INT 21 - Novell NetWare v3+ - GET OBJECT DISK RESTRICTIONS
  5611.     AX = F216h subfn 29h
  5612.     CX = length of request buffer in bytes
  5613.     DX = length of reply buffer in bytes
  5614.     DS:SI -> request buffer (see #1156)
  5615.     ES:DI -> reply buffer (see #1157)
  5616. Return: AL = status
  5617.     reply buffer filled
  5618. Note:    this function returns successfully, showing no restriction, if an
  5619.       invalid object ID is specified
  5620. SeeAlso: AX=F216h/SF=24h
  5621.  
  5622. Format of NetWare request buffer:
  5623. Offset    Size    Description    (Table 1156)
  5624.  00h    WORD    0006h (length of following data)
  5625.  02h    BYTE    21h (subfunction "Get Object Disk Restrictions")
  5626.  03h    BYTE    volume number
  5627.  04h    DWORD    (big-endian) object ID
  5628.  
  5629. Format of NetWare reply buffer:
  5630. Offset    Size    Description    (Table 1157)
  5631.  00h    DWORD    disk space limit
  5632.  04h    DWORD    disk space currently in use by object
  5633. --------N-21F217SF1C-------------------------
  5634. INT 21 - Novell NetWare v3+ - GET CONNECTION INFORMATION
  5635.     AX = F217h subfn 1Ch
  5636.     CX = length of request buffer in bytes
  5637.     DX = length of reply buffer in bytes
  5638.     DS:SI -> request buffer (see #1158)
  5639.     ES:DI -> reply buffer (see #1159)
  5640. Return: AL = status
  5641.     reply buffer filled
  5642.  
  5643. Format of NetWare request buffer:
  5644. Offset    Size    Description    (Table 1158)
  5645.  00h    WORD    0005h (length of following data)
  5646.  02h    BYTE    1Ch (subfunction "Get Connection Information")
  5647.  03h    DWORD    target connection number
  5648. Note:    connection numbers greater than the maximum supported by the server
  5649.       can cause ABENDs
  5650.  
  5651. Format of NetWare reply buffer:
  5652. Offset    Size    Description    (Table 1159)
  5653.  00h    DWORD    (big-endian) unique user ID, 00000000h if no one logged in
  5654.  04h    WORD    (big-endian) user type
  5655.  06h 48 BYTEs    user name
  5656.  36h  7 BYTEs    login time (see #1141)
  5657.  3Dh    BYTE    reserved
  5658. --------N-21F217SFD2-------------------------
  5659. INT 21 - Novell NetWare v3+ - CLEAR CONNECTION NUMBER (LOGOUT STATION)
  5660.     AX = F217h subfn D2h
  5661.     CX = length of request buffer in bytes
  5662.     DX = length of reply buffer in bytes
  5663.     DS:SI -> request buffer (see #1160)
  5664.     ES:DI -> reply buffer (ignored)
  5665. Return: AL = status
  5666.     reply buffer filled
  5667.  
  5668. Format of NetWare request buffer:
  5669. Offset    Size    Description    (Table 1160)
  5670.  00h    WORD    0002h (length of following data)
  5671.  02h    BYTE    D2h (subfunction "Clear Connection Number")
  5672.  03h    BYTE    connection number
  5673. --------N-21F217SFEB-------------------------
  5674. INT 21 - Novell NetWare v3+ - GET CONNECTION'S OPEN FILES
  5675.     AX = F217h subfn EBh
  5676.     CX = length of request buffer in bytes
  5677.     DX = length of reply buffer in bytes
  5678.     DS:SI -> request buffer (see #1161)
  5679.     ES:DI -> reply buffer (see #1162)
  5680. Return: AL = status
  5681.     reply buffer filled
  5682.  
  5683. Format of NetWare request buffer:
  5684. Offset    Size    Description    (Table 1161)
  5685.  00h    WORD    0005h (length of following data)
  5686.  02h    BYTE    EBh (subfunction "Get Connection's Open Files")
  5687.  03h    WORD    target connection number
  5688.  05h    WORD    last record seen (set to 0000h for first call)
  5689. Note:    connection numbers greater than the maximum supported by the server
  5690.       can cause ABENDs
  5691.  
  5692. Format of NetWare reply buffer:
  5693. Offset    Size    Description    (Table 1162)
  5694.  00h    WORD    next request record
  5695.  02h    WORD    number of records returned (max 28)
  5696.  04h 29N BYTEs    array of connection records (see #1163)
  5697.  
  5698. Format of NetWare connection record:
  5699. Offset    Size    Description    (Table 1163)
  5700.  00h    WORD    task number
  5701.  02h    BYTE    lock type
  5702.  03h    BYTE    access control
  5703.  04h    BYTE    lock flag
  5704.  05h    BYTE    volume number
  5705.  06h    DWORD    parent directory entry number
  5706.  0Ah    DWORD    directory entry number
  5707.  0Eh    BYTE    reserved
  5708.  0Fh    BYTE    data stream type
  5709.  10h    BYTE    file name length
  5710.  11h 12 BYTEs    file name
  5711. --------N-21F217SFEC-------------------------
  5712. INT 21 - Novell NetWare v3+ - GET CONNECTIONS USING A FILE
  5713.     AX = F217h subfn ECh
  5714.     CX = length of request buffer in bytes
  5715.     DX = length of reply buffer in bytes
  5716.     DS:SI -> request buffer (see #1164)
  5717.     ES:DI -> reply buffer (see #1165)
  5718. Return: AL = status
  5719.     reply buffer filled
  5720.  
  5721. Format of NetWare request buffer:
  5722. Offset    Size    Description    (Table 1164)
  5723.  00h    WORD    0009h (length of following data)
  5724.  02h    BYTE    ECh (subfunction "Get Connections Using a File")
  5725.  03h    BYTE    data stream type
  5726.  04h    BYTE    volume number
  5727.  05h    DWORD    directory entry number
  5728.  09h    WORD    last record seen (0000h for first call)
  5729.  
  5730. Format of NetWare reply buffer:
  5731. Offset    Size    Description    (Table 1165)
  5732.  00h    WORD    next request record
  5733.  02h    WORD    use count
  5734.  04h    WORD    open count
  5735.  06h    WORD    number of times open for reading
  5736.  08h    WORD    number of times open for writing
  5737.  0Ah    WORD    Deny Read count
  5738.  0Ch    WORD    Deny Write count
  5739.  0Eh    BYTE    flag: locked
  5740.  0Fh    BYTE    data stream type
  5741.  10h    WORD    number of records returned (max 70)
  5742.  12h 7N BYTEs    returned records (see #1166)
  5743.  
  5744. Format of returned record:
  5745. Offset    Size    Description    (Table 1166)
  5746.  00h    WORD    connection number
  5747.  02h    WORD    task number
  5748.  04h    BYTE    lock type
  5749.  05h    BYTE    access flag
  5750.  06h    BYTE    lock flag
  5751. --------N-21F217SFEE-------------------------
  5752. INT 21 - Novell NetWare v3+ - GET PHYSICAL RECORD LOCKS BY FILE
  5753.     AX = F217h subfn EEh
  5754.     CX = length of request buffer in bytes
  5755.     DX = length of reply buffer in bytes
  5756.     DS:SI -> request buffer (see #1167)
  5757.     ES:DI -> reply buffer (see #1168)
  5758. Return: AL = status
  5759.     reply buffer filled
  5760.  
  5761. Format of NetWare request buffer:
  5762. Offset    Size    Description    (Table 1167)
  5763.  00h    WORD    0009h (length of following data)
  5764.  02h    BYTE    EEh (subfunction "Get Physical Record Locks by File")
  5765.  03h    BYTE    data stream number
  5766.  04h    BYTE    volume number
  5767.  05h    DWORD    directory entry number
  5768.  09h    WORD    last record seen (0000h for first call)
  5769.  
  5770. Format of NetWare reply buffer:
  5771. Offset    Size    Description    (Table 1168)
  5772.  00h    WORD    next request record
  5773.  02h    WORD    number of locks
  5774.  04h 17N BYTEs    array of lock records, one per lock (see #1169)
  5775.  
  5776. Format of NetWare lock record:
  5777. Offset    Size    Description    (Table 1169)
  5778.  00h    WORD    logged count
  5779.  02h    WORD    number of shareable locks
  5780.  04h    DWORD    start offset of record
  5781.  08h    DWORD    end offset of record
  5782.  0Ch    WORD    logical connection number
  5783.  0Eh    WORD    task number
  5784.  10h    BYTE    lock type
  5785. --------N-21F217SFF2-------------------------
  5786. INT 21 - Novell NetWare v3+ - GET SEMAPHORE INFORMATION
  5787.     AX = F217h subfn F2h
  5788.     CX = length of request buffer in bytes
  5789.     DX = length of reply buffer in bytes
  5790.     DS:SI -> request buffer (see #1170)
  5791.     ES:DI -> reply buffer (see #1171)
  5792. Return: AL = status
  5793.     reply buffer filled
  5794.  
  5795. Format of NetWare request buffer:
  5796. Offset    Size    Description    (Table 1170)
  5797.  00h    WORD    length of following data (max 84h)
  5798.  02h    BYTE    F2h (subfunction "Get Semaphore Information")
  5799.  03h    WORD    last record seen (0000h on first call)
  5800.  05h    BYTE    length of semaphore name (max 128)
  5801.  06h  N BYTEs    semaphore name
  5802.  
  5803. Format of NetWare reply buffer:
  5804. Offset    Size    Description    (Table 1171)
  5805.  00h    WORD    next request record
  5806.  02h    WORD    open count
  5807.  04h    BYTE    value of semaphore
  5808.  05h    WORD    number of records returned
  5809.  07h 2N WORDs    list of logical connection number/task number pairs
  5810. --------N-21F217SFF3-------------------------
  5811. INT 21 - Novell NetWare v3+ - MAP DIRECTORY NUMBER TO PATH
  5812.     AX = F217h subfn F3h
  5813.     CX = length of request buffer in bytes
  5814.     DX = length of reply buffer in bytes
  5815.     DS:SI -> request buffer (see #1172)
  5816.     ES:DI -> reply buffer (see #1173)
  5817. Return: AL = status
  5818.     reply buffer filled
  5819. SeeAlso: AX=F217h/SF=F4h
  5820.  
  5821. Format of NetWare request buffer:
  5822. Offset    Size    Description    (Table 1172)
  5823.  00h    WORD    0007h (length of following data)
  5824.  02h    BYTE    F3h (subfunction "Map Directory Number to Path")
  5825.  03h    BYTE    volume number
  5826.  04h    DWORD    directory entry number
  5827.  08h    BYTE    name space type
  5828.  
  5829. Format of NetWare reply buffer:
  5830. Offset    Size    Description    (Table 1173)
  5831.  00h    BYTE    directory path length
  5832.  01h  N BYTEs    directory path (NetWare style, separated by length descriptors
  5833.           rather than slashes or backslashes)
  5834. --------N-21F217SFF4-------------------------
  5835. INT 21 - Novell NetWare v3+ - CONVERT PATH TO DIRECTORY ENTRY
  5836.     AX = F217h subfn F4h
  5837.     CX = length of request buffer in bytes
  5838.     DX = length of reply buffer in bytes
  5839.     DS:SI -> request buffer (see #1174)
  5840.     ES:DI -> reply buffer (see #1175)
  5841. Return: AL = status
  5842.     reply buffer filled
  5843. SeeAlso: AX=F217h/SF=F3h
  5844.  
  5845. Format of NetWare request buffer:
  5846. Offset    Size    Description    (Table 1174)
  5847.  00h    WORD    length of following data
  5848.  02h    BYTE    F4h (subfunction "Convert Path to Directory Entry")
  5849.  03h    BYTE    directory handle or 00h for none
  5850.  04h    BYTE    length of directory path
  5851.  05h  N BYTEs    directory path (must be fully qualified if no handle specified)
  5852.  
  5853. Format of NetWare reply buffer:
  5854. Offset    Size    Description    (Table 1175)
  5855.  00h    BYTE    (return) volume number
  5856.  01h    DWORD    (return) directory entry number
  5857. --------N-21F244-----------------------------
  5858. INT 21 - Novell NetWare - FILE SERVICES - ERASE FILES
  5859.     AX = F244h
  5860.     DS:SI -> request buffer (see #1177)
  5861.     ES:DI -> reply buffer (ignored???)
  5862. Return: AL = status (see #1176)
  5863. Note:    this function only marks the file for deletion; use AH=E2h/SF=CEh to
  5864.       actually delete all marked files
  5865. SeeAlso: AH=13h,AH=41h,AH=E2h/SF=0Bh,AH=E3h/SF=CEh
  5866.  
  5867. (Table 1176)
  5868. Values for NetWare function status:
  5869.  00h    successful
  5870.  98h    nonexistent volume
  5871.  9Bh    invaid directory handle
  5872.  9Ch    invalid path
  5873.  FFh    no files found
  5874.  
  5875. Format of NetWare request buffer:
  5876. Offset    Size    Description    (Table 1177)
  5877.  00h    BYTE    directory handle
  5878.  01h    BYTE    search attributes (see #0535 at AX=4301h)
  5879.  02h    BYTE    length of filespec
  5880.  03h  N BYTEs    ASCIZ filespec (may include wildcards)
  5881. --------N-21F257SF06-------------------------
  5882. INT 21 - Novell NetWare v3+ - GET NAME SPACE INFORMATION FOR FILE OR DIRECTORY
  5883.     AX = F257h subfn 06h
  5884.     CX = length of request buffer in bytes
  5885.     DX = length of reply buffer in bytes
  5886.     DS:SI -> request buffer (see #1178)
  5887.     ES:DI -> reply buffer (see #1179)
  5888. Return: AL = status
  5889.     reply buffer filled
  5890.  
  5891. Format of NetWare request buffer:
  5892. Offset    Size    Description    (Table 1178)
  5893.  00h    BYTE    06h (subfunction "Get NS Entry Info")
  5894.  01h    BYTE    name space
  5895.  02h    BYTE    destination name space
  5896.  03h    WORD    search attributes
  5897.  05h    DWORD    return information mask (should be 00000200h)
  5898.  09h    BYTE    volume number
  5899.  0Ah    DWORD    directory handle
  5900.  0Eh    BYTE    handle flag (should be FFh)
  5901.  0Fh    BYTE    number of path components
  5902.  10h  N BYTEs    list of path components (each a counted string)
  5903.  
  5904. Format of NetWare reply buffer:
  5905. Offset    Size    Description    (Table 1179)
  5906.  00h 72 BYTEs    reserved
  5907.  48h    DWORD    creator's name space number
  5908.  4Ch 257 BYTEs    reserved
  5909. --------v-21F2AA-----------------------------
  5910. INT 21 - VIRUS - "PcVrsDs" - INSTALLATION CHECK
  5911.     AX = F2AAh
  5912. Return: AH = AAh if resident
  5913. SeeAlso: AH=F1h"VIRUS",AH=F3h"VIRUS"
  5914. --------N-21F3-------------------------------
  5915. INT 21 - Novell NetWare - FILE SERVICES - FILE SERVER FILE COPY
  5916.     AH = F3h
  5917.     ES:DI -> request buffer (see #1180)
  5918. Return: AL = status/error code
  5919.     CX:DX = number of bytes copied
  5920. Notes:    this function is supported by Advanced NetWare 2.0+
  5921.     both source and destination must be on the same file server
  5922. SeeAlso: AH=3Ch,AH=3Fh
  5923.  
  5924. Format of NetWare request buffer:
  5925. Offset    Size    Description    (Table 1180)
  5926.  00h    WORD    source file handle (as returned by AH=3Ch or AH=3Dh)
  5927.  02h    WORD    destination file handle
  5928.  04h    DWORD    starting offset in source
  5929.  08h    DWORD    starting offset in destination
  5930.  0Ch    DWORD    number of bytes to copy
  5931. --------T-21F3-------------------------------
  5932. INT 21 - DoubleDOS - ADD CHARACTER TO KEYBOARD BUFFER OF CURRENT JOB
  5933.     AH = F3h
  5934.     AL = character
  5935. Return: AL = 00h successful
  5936.          01h buffer full (128 characters)
  5937. SeeAlso: AH=E3h"DoubleDOS",AH=F1h"DoubleDOS",AH=F2h"DoubleDOS"
  5938. SeeAlso: AH=F8h"DoubleDOS"
  5939. --------v-21F3-------------------------------
  5940. INT 21 - VIRUS - "Carfield" - INSTALLATION CHECK
  5941.     AH = F3h
  5942. Return: AX = 0400h if resident
  5943. SeeAlso: AH=D5h"Carfield",AX=F2AAh,AH=F7h"VIRUS"
  5944. --------T-21F400-----------------------------
  5945. INT 21 - DoubleDOS - INSTALLATION CHECK/PROGRAM STATUS
  5946.     AX = F400h
  5947. Return: AL = program status
  5948.         00h if DoubleDOS not present
  5949.         01h if running in visible DoubleDOS partition
  5950.         02h if running in the invisible DoubleDOS partition
  5951. SeeAlso: AX=E400h,AH=F5h"DoubleDOS"
  5952. --------T-21F5-------------------------------
  5953. INT 21 - DoubleDOS - OTHER PROGRAM STATUS
  5954.     AH = F5h
  5955. Return: AL = program status
  5956.         00h no program in other partition
  5957.         01h program in other partition is running
  5958.         02h program in other partition is suspended
  5959. SeeAlso: AH=E5h"DoubleDOS",AX=F400h"DoubleDOS"
  5960. --------v-21F7-------------------------------
  5961. INT 21 - VIRUS - "GP1" - INSTALLATION CHECK
  5962.     AH = F7h
  5963. Return: AX = 0300h if resident
  5964. SeeAlso: AH=F0h"VIRUS",AH=FBh"VIRUS"
  5965. --------D-21F8-------------------------------
  5966. INT 21 - DOS v2.11 - SET OEM INT 21 HANDLER
  5967.     AH = F8h
  5968.     DS:DX -> OEM INT 21 handler for functions F9h to FFh
  5969.          FFFFh:FFFFh disables OEM handler
  5970. Notes:    this function is supported by Toshiba T1000 ROM MS-DOS 2.11
  5971.     calls to AH=F9h through AH=FFH will return AL=00h if no handler set
  5972.     handler is called with all registers exactly as set by caller, and
  5973.       should exit with IRET
  5974. SeeAlso: AH=F9h"OEM"
  5975. --------T-21F8-------------------------------
  5976. INT 21 - DoubleDOS - SET/RESET KEYBOARD CONTROL FLAGS
  5977.     AH = F8h
  5978.     AL = program for which to set flags
  5979.         00h this program
  5980.         01h other program
  5981.     DX = keyboard control flags (see #1142 at AH=E8h"DoubleDOS")
  5982. Return: DX = previous flags
  5983. Notes:    disabling Ctrl-PrtSc will allow the program to intercept the keystroke;
  5984.       disabling any of the other keystrokes disables them completely
  5985.     this function is identical to AH=E8h
  5986. SeeAlso: AH=E8h"DoubleDOS",AH=F1h"DoubleDOS",AH=F2h"DoubleDOS"
  5987. SeeAlso: AH=F3h"DoubleDOS"
  5988. --------D-21F9-------------------------------
  5989. INT 21 - DOS v2.11 - OEM FUNCTION
  5990.     AH = F9h
  5991. SeeAlso: AH=F8h"OEM",AH=FAh"OEM"
  5992. --------T-21F9-------------------------------
  5993. INT 21 - DoubleDOS - SET TIMESHARING PRIORITY
  5994.     AH = F9h
  5995.     AL = priority
  5996.         00h visible program gets 70%, invisible gets 30% (default)
  5997.         01h visible program gets 50%, invisible gets 50%
  5998.         02h visible program gets 30%, invisible gets 70%
  5999.         03h Top program gets 70%, bottom program gets 30%
  6000.         04h Top program gets 30%, bottom program gets 70%
  6001.         05h get current priority
  6002.         Return: AL = priority setting
  6003. Note:    identical to AH=E9h
  6004. SeeAlso: AH=E9h"DoubleDOS",AH=FAh"DoubleDOS",AH=FBh"DoubleDOS"
  6005. --------D-21FA-------------------------------
  6006. INT 21 - DOS v2.11 - OEM FUNCTION
  6007.     AH = FAh
  6008. SeeAlso: AH=F8h"OEM",AH=F9h"OEM",AH=FBh"OEM"
  6009. --------T-21FA-------------------------------
  6010. INT 21 - DoubleDOS - TURN OFF TASK SWITCHING
  6011.     AH = FAh
  6012. Return: task switching turned off
  6013. SeeAlso: AH=EAh"DoubleDOS",AH=F9h"DoubleDOS",AH=FBh"DoubleDOS"
  6014. SeeAlso: INT FA"DoubleDOS"
  6015. --------v-21FA--DX5945-----------------------
  6016. INT 21 U - PC Tools v7+ VDEFEND, VSAFE, VWATCH - API
  6017.     AH = FAh
  6018.     DX = 5945h
  6019.     AL = function (00h-02h for VDEFEND, 00h-07h for VSAFE and VWATCH)
  6020. Return: varies by function
  6021. Note:    this API is identical to the API on INT 13/AH=FAh and INT 16/AH=FAh,
  6022.       so it is listed in its entirety only under INT 16/AX=FA00h and
  6023.       following
  6024. SeeAlso: INT 13/AX=FA00h,INT 16/AX=FA00h
  6025. --------D-21FB-------------------------------
  6026. INT 21 - DOS v2.11 - OEM FUNCTION
  6027.     AH = FBh
  6028. SeeAlso: AH=F8h"OEM",AH=FAh"OEM",AH=FCh"OEM"
  6029. --------T-21FB-------------------------------
  6030. INT 21 - DoubleDOS - TURN ON TASK SWITCHING
  6031.     AH = FBh
  6032. Return: task switching turned on
  6033. SeeAlso: AH=EBh"DoubleDOS",AH=F9h"DoubleDOS",AH=FAh"DoubleDOS"
  6034. SeeAlso: INT FB"DoubleDOS"
  6035. --------v-21FB-------------------------------
  6036. INT 21 - VIRUS - "Cinderella" - INSTALLATION CHECK
  6037.     AH = FBh
  6038. Return: AH = 00h if resident
  6039. SeeAlso: AH=F7h"VIRUS",AX=FB0Ah
  6040. --------v-21FB0A-----------------------------
  6041. INT 21 - VIRUS - "dBASE" - INSTALLATION CHECK
  6042.     AX = FB0Ah
  6043. Return: AX = 0AFBh if resident
  6044. SeeAlso: AH=FBh"VIRUS",AH=FCh"VIRUS"
  6045. --------D-21FC-------------------------------
  6046. INT 21 - DOS v2.11 - OEM FUNCTION
  6047.     AH = FCh
  6048. SeeAlso: AH=F8h"OEM",AH=FBh"OEM",AH=FDh"OEM"
  6049. --------T-21FC-------------------------------
  6050. INT 21 - DoubleDOS - GET VIRTUAL SCREEN ADDRESS
  6051.     AH = FCh
  6052. Return: ES = segment of virtual screen
  6053. Desc:    Determine the address of the virtual screen to which the program
  6054.       should write instead of the actual video memory, so that the
  6055.       multitasked programs do not interfere with each other's output.
  6056. Notes:    screen address can change if task-switching is on!!
  6057.     identical to AH=ECh
  6058. SeeAlso: AH=ECh"DoubleDOS",INT FC"DoubleDOS"
  6059. --------v-21FC-------------------------------
  6060. INT 21 - VIRUS - "Troi" - INSTALLATION CHECK
  6061.     AH = FCh
  6062. Return: AL = A5h if resident
  6063. SeeAlso: AX=FB0Ah"VIRUS",AH=FDh"VIRUS"
  6064. --------D-21FD-------------------------------
  6065. INT 21 - DOS v2.11 - OEM FUNCTION
  6066.     AH = FDh
  6067. SeeAlso: AH=F8h"OEM",AH=FCh"OEM",AH=FEh"OEM"
  6068. --------v-21FD-------------------------------
  6069. INT 21 - VIRUS - "Border" - INSTALLATION CHECK
  6070.     AH = FDh
  6071. Return: AH = 13h if resident
  6072. SeeAlso: AH=FCh"VIRUS",AH=FEh"VIRUS"
  6073. --------D-21FE-------------------------------
  6074. INT 21 - DOS v2.11 - OEM FUNCTION
  6075.     AH = FEh
  6076. SeeAlso: AH=F8h"OEM",AH=FDh"OEM",AH=FFh"OEM"
  6077. --------T-21FE-------------------------------
  6078. INT 21 - DoubleDOS - GIVE AWAY TIME TO OTHER TASKS
  6079.     AH = FEh
  6080.     AL = number of 55ms time slices to give away
  6081. Return: returns after giving away time slices
  6082. SeeAlso: AH=EEh"DoubleDOS",INT FE"DoubleDOS"
  6083. --------v-21FE-------------------------------
  6084. INT 21 - VIRUS - "483" - INSTALLATION CHECK
  6085.     AH = FEh
  6086. Return: AH = 00h if resident
  6087. SeeAlso: AH=FDh"VIRUS",AX=FE01h
  6088. --------v-21FE01-----------------------------
  6089. INT 21 - VIRUS - "Flip" - INSTALLATION CHECK
  6090.     AX = FE01h
  6091. Return: AX = 01FEh if resident
  6092. SeeAlso: AH=FEh"VIRUS",AX=FE02h
  6093. --------v-21FE02-----------------------------
  6094. INT 21 - VIRUS - "2468"/"Tequila" - INSTALLATION CHECK
  6095.     AX = FE02h
  6096. Return: AX = 01FDh if resident
  6097. SeeAlso: AX=FE01h,AX=FE03h,AX=FEDCh"VIRUS"
  6098. --------v-21FE03-----------------------------
  6099. INT 21 - VIRUS - "2468"/"Tequila" - DISPLAY VIRUS MESSAGE
  6100.     AX = FE03h
  6101. SeeAlso: AX=FE02h
  6102. --------d-21FEDC-----------------------------
  6103. INT 21 - PCMag PCMANAGE/DCOMPRES - INSTALLATION CHECK
  6104.     AX = FEDCh
  6105. Return: AX = CDEFh if installed
  6106. Program: the PCMANAGE/DCOMPRES combination from PC Magazine permits
  6107.       infrequently-used files to be compressed to save space and
  6108.       transparently expanded when accessed
  6109. SeeAlso: AH=DCh,INT 2D/AL=10h"dLite"
  6110. --------v-21FEDC-----------------------------
  6111. INT 21 - VIRUS - "Black Monday" - INSTALLATION CHECK
  6112.     AX = FEDCh
  6113. Return: AL = DCh if resident
  6114. SeeAlso: AX=FE02h,AX=FEFEh
  6115. --------v-21FEFE-----------------------------
  6116. INT 21 - VIRUS - "CIDER" - INSTALLATION CHECK
  6117.     AX = FEFEh
  6118. Return: SI = 1994h if resident
  6119. SeeAlso: AX=FEDCh"VIRUS",AH=FFh"VIRUS"
  6120. --------D-21FF-------------------------------
  6121. INT 21 - DOS v2.11 - OEM FUNCTION
  6122.     AH = FFh
  6123. SeeAlso: AH=F8h"OEM",AH=FEh"OEM"
  6124. --------K-21FF-------------------------------
  6125. INT 21 - CED (Command EDitor) - INSTALLABLE COMMANDS
  6126.     AH = FFh
  6127.     AL = subfunction
  6128.         00h add installable command
  6129.             BL = mode
  6130.             bit 0 = 1 callable from DOS prompt
  6131.             bit 1 = 1 callable from application
  6132.             DS:SI -> CR-terminated command name
  6133.             ES:DI -> FAR routine entry point
  6134.         01h remove installable command
  6135.             DS:SI -> CR-terminated command name
  6136.         02h reserved, may be used to test for CED installation
  6137. Return: CF clear if successful
  6138.     CF set on error
  6139.         AX = error code
  6140.             01h invalid function
  6141.         02h command not found (subfunction 01h only)
  6142.         08h insufficient memory (subfunction 00h only)
  6143.         0Eh bad data (subfunction 00h only)
  6144.     AH = FFh if CED not installed
  6145. Program: CED is a shareware DOS command-line enhancer by Christopher J. Dunford
  6146. SeeAlso: AX=0A00h
  6147. --------E-21FF-------------------------------
  6148. INT 21 - DJ GO32.EXE 80386+ DOS extender - DOS EXTENSIONS
  6149.     AH = FFh
  6150.     AL = function
  6151.         01h create file
  6152.         02h open file
  6153.         03h get file statistics
  6154.         04h get time of day
  6155.         05h set time of day
  6156.         06h stat
  6157.         07h system
  6158. Program: GO32.EXE is a DOS extender included as part of the 80386 port of the
  6159.       GNU C/C++ compiler by DJ Delorie and distributed as DJGPP
  6160. SeeAlso: INT 10/AH=FFh"GO32"
  6161. --------K-21FF-------------------------------
  6162. INT 21 - DOSED.COM - INSTALLATION CHECK
  6163.     AH = FFh
  6164.     DS:SI -> "DOSED"
  6165.     ES = 0000h
  6166. Return: ES:DI -> "DOSED" if installed
  6167. Program: DOSED is a free DOS commandline editor/history buffer by Sverre H.
  6168.       Huseby
  6169. --------v-21FF-------------------------------
  6170. INT 21 - VIRUS - "Sunday", "Tumen 0.5", "Hero" - INSTALLATION CHECK
  6171.     AH = FFh
  6172. Return: AH = 00h if "Tumen 0.5" or "Hero" resident
  6173.     AX = 0400h if "Sunday" resident
  6174. SeeAlso: AX=FEDCh"VIRUS",AX=FF0Fh
  6175. --------E-21FF-------------------------------
  6176. INT 21 UP - Rational Systems DOS/4GW - API
  6177.     AH = FFh
  6178.     DH = function (00h-17h) (see also separate entries below)
  6179.     DL = subfunction or argument
  6180. Return: CF clear if valid function number
  6181.         AX = status???
  6182.     CF set if invalid function
  6183. SeeAlso: INT 15/AX=BFDCh
  6184. --------E-21FF--DH02-------------------------
  6185. INT 21 UP - Rational Systems DOS/4GW - SET ???
  6186.     AH = FFh
  6187.     DH = 02h
  6188.     DL = ???
  6189. Return: CF clear
  6190. --------E-21FF--DH05-------------------------
  6191. INT 21 UP - Rational Systems DOS/4GW - ???
  6192.     AH = FFh
  6193.     DH = 05h
  6194.     BX = ???
  6195. Return: ???
  6196. --------E-21FF--DH06-------------------------
  6197. INT 21 UP - Rational Systems DOS/4GW - ???
  6198.     AH = FFh
  6199.     DH = 06h
  6200.     BX = ???
  6201. Return: ???
  6202. --------E-21FF--DH07-------------------------
  6203. INT 21 UP - Rational Systems DOS/4GW - ???
  6204.     AH = FFh
  6205.     DH = 07h
  6206.     BX = ???
  6207. Return: ???
  6208. --------E-21FF--DH08-------------------------
  6209. INT 21 UP - Rational Systems DOS/4GW - ???
  6210.     AH = FFh
  6211.     DH = 08h
  6212.     BX = ???
  6213.     CX = ???
  6214.     ES = ???
  6215. Return: ???
  6216. --------E-21FF--DH09-------------------------
  6217. INT 21 UP - Rational Systems DOS/4GW - GET ???
  6218.     AH = FFh
  6219.     DH = 09h
  6220. Return: ES:BX -> ???
  6221. --------E-21FF--DH0A-------------------------
  6222. INT 21 UP - Rational Systems DOS/4GW - ???
  6223.     AH = FFh
  6224.     DH = 0Ah
  6225.     AL = ???
  6226.     BX = ???
  6227.     CX = ???
  6228. Return: ES = ??? or 0000h
  6229. --------E-21FF--DH0B-------------------------
  6230. INT 21 UP - Rational Systems DOS/4GW - ???
  6231.     AH = FFh
  6232.     DH = 0Bh
  6233.     AL = ???
  6234.     BX = ???
  6235.     CX = ???
  6236. Return: ???
  6237. --------E-21FF--DH0C-------------------------
  6238. INT 21 UP - Rational Systems DOS/4GW - GET/SET ???
  6239.     AH = FFh
  6240.     DH = 0Ch
  6241.     DL = ??? (00h or 01h)
  6242. Return: CF clear if successful
  6243.         AL = previous value of ???
  6244.     CF set on error (DL out of range)
  6245.         AX = FFFFh
  6246. --------E-21FF--DH0D-------------------------
  6247. INT 21 UP - Rational Systems DOS/4GW - ???
  6248.     AH = FFh
  6249.     DH = 0Dh
  6250.     ???
  6251. Return: ???
  6252. --------E-21FF--DH0E-------------------------
  6253. INT 21 UP - Rational Systems DOS/4GW - ???
  6254.     AH = FFh
  6255.     DH = 0Eh
  6256. Return: DX:AX -> XBRK structure (see INT 15/AX=BF02h)
  6257.     BX = ???
  6258.     CX = ???
  6259. SeeAlso: INT 15/AX=BF02h
  6260. --------E-21FF--DH0F-------------------------
  6261. INT 21 UP - Rational Systems DOS/4GW - ???
  6262.     AH = FFh
  6263.     DH = 0Fh
  6264.     ???
  6265. Return: ???
  6266. --------E-21FF--DH10-------------------------
  6267. INT 21 UP - Rational Systems DOS/4GW - ???
  6268.     AH = FFh
  6269.     DH = 10h
  6270.     AL = ???
  6271.     BX = ???
  6272.     CX = ???
  6273.     DI = ???
  6274.     SI = ???
  6275. Return: ???
  6276. Note:    among other things, frees two memory blocks via INT 21/AH=49h
  6277. --------E-21FF--DH11-------------------------
  6278. INT 21 UP - Rational Systems DOS/4GW - NOP
  6279.     AH = FFh
  6280.     DH = 11h
  6281. --------E-21FF--DH12-------------------------
  6282. INT 21 UP - Rational Systems DOS/4GW - EXCHANGE ??? POINTERS
  6283.     AH = FFh
  6284.     DH = 12h
  6285.     DS:SI -> new ???
  6286.     ES:DI -> new ???
  6287. Return: DS:SI -> previous ???
  6288.     ES:DI -> previous ???
  6289. --------E-21FF--DH13-------------------------
  6290. INT 21 UP - Rational Systems DOS/4GW - ???
  6291.     AH = FFh
  6292.     DH = 13h
  6293.     AL = ???
  6294.     ES = ???
  6295. Return: ???
  6296. --------E-21FF--DH14-------------------------
  6297. INT 21 UP - Rational Systems DOS/4GW - ???
  6298.     AH = FFh
  6299.     DH = 14h
  6300.     BX = ???
  6301.     CX = ???
  6302. Return: CF clear
  6303.         AX = ???
  6304.         DX = ???
  6305. --------E-21FF--DH15-------------------------
  6306. INT 21 UP - Rational Systems DOS/4GW - GET ??? FUNCTIONS
  6307.     AH = FFh
  6308.     DH = 15h
  6309. Return: CF clear
  6310.         DX:AX -> FAR function for ???
  6311.         CX:BX -> FAR function for ???
  6312.         SI:DI -> FAR function for ???
  6313. --------E-21FF--DH16-------------------------
  6314. INT 21 UP - Rational Systems DOS/4GW - GET ???
  6315.     AH = FFh
  6316.     DH = 16h
  6317. Return: AX = ???
  6318. --------E-21FF--DH17-------------------------
  6319. INT 21 UP - Rational Systems DOS/4GW - ???
  6320.     AH = FFH
  6321.     DH = 17h
  6322.     AL = ???
  6323.     DL = ???
  6324. Return: ???
  6325. --------N-21FF00-----------------------------
  6326. INT 21 - TopWare Network OS v5.10+ - GET SYSTEM INFORMATION
  6327.     AX = FF00h
  6328.     CL = what to get
  6329.         00h user information
  6330.         01h drive mapping
  6331.         02h printer server(s)
  6332.         05h local DOS drive number
  6333. Return: ES:BX -> desired information (see #1181)
  6334. Program: TopWare Network Operating System is manufactured by Grand Computer
  6335.       Company
  6336. Note:    this call is only supported on Workstations, not on the server
  6337. SeeAlso: AX=FF04h,INT 2F/AX=FF00h
  6338.  
  6339. Format of TopWare user information:
  6340. Offset    Size    Description    (Table 1181)
  6341.  00h    BYTE    node ID
  6342.  01h 15 BYTEs    user name
  6343.  10h    WORD    user number
  6344.  12h    BYTE    group number
  6345.  
  6346. Format of TopWare drive mapping [array]:
  6347. Offset    Size    Description    (Table 1182)
  6348.  00h    BYTE    bits 6-0: drive number (1=A:, etc.)
  6349.         bit 7: this is a server drive
  6350.  01h  3 BYTEs    mapping drive (for example, "C:\")
  6351.  04h 64 BYTEs    current directory
  6352. --------E-21FF00DX0078-----------------------
  6353. INT 21 - Rational Systems DOS/4G - INSTALLATION CHECK
  6354.     AX = FF00h
  6355.     DX = 0078h
  6356. Return: AL <> 00h if installed
  6357.         GS = segment of kernel if nonzero
  6358. SeeAlso: INT 15/AX=BF02h
  6359. --------N-21FF04-----------------------------
  6360. INT 21 - TopWare Network OS v5.10+ - GET/SET DEFAULT FILE PROTECTION ATTRIBS
  6361.     AX = FF04h
  6362.     CL = function
  6363.         00h get protections
  6364.         Return: BH = read attribute
  6365.             BL = write attribute
  6366.         01h set protections
  6367.         BH = read attribute
  6368.         BL = write attribute
  6369. Note:    this function is supported only on Workstations, not on the server
  6370. SeeAlso: AX=FF00h"TopWare"
  6371. --------v-21FF0F-----------------------------
  6372. INT 21 - FLU_SHOT+ v1.83 - INSTALLATION CHECK
  6373.     AX = FF0Fh
  6374. Return: AX = 0101h if resident
  6375. Program: FLU_SHOT+ is an antivirus/antitrojan program by Ross M. Greenberg and
  6376.       Software Concepts Design
  6377. Note:    the "PSQR/1720" virus calls this function to determine whether
  6378.       FLU_SHOT+ is present
  6379. SeeAlso: AH=FFh"VIRUS",AX=FF10h
  6380. --------v-21FF10-----------------------------
  6381. INT 21 - VIRUS - "Twins" - INSTALLATION CHECK
  6382.     AX = FF10h
  6383. Return: AL = 07h if resident
  6384. SeeAlso: AX=FF0Fh,AX=FFFEh
  6385. --------N-21FF80DHFF-------------------------
  6386. INT 21 - TopWare Network OS v5.10+ - SEND MESSAGE
  6387.     AX = FF80h
  6388.     DH = FFh
  6389.     DL = destination address (FFh for broadcast)
  6390.     CX = message length (max 2000)
  6391.     DS:SI -> message to be sent (see #1183)
  6392. Return: nothing
  6393. Program: TopWare Network Operating System is manufactured by Grand Computer
  6394.       Company
  6395. Notes:    this function is supported on both Workstations and the server
  6396.     there is no guarantee that the message will be received correctly, or
  6397.       at all, by the destination
  6398.  
  6399. Format of TopWare message:
  6400. Offset    Size    Description    (Table 1183)
  6401.  00h    BYTE    type code
  6402.         07h TopSend
  6403.         11h user application
  6404.         other reserved for TopWare
  6405.  01h    var    data
  6406. Note:    sending messages with a type code other than 11h will cause
  6407.       unpredictable results
  6408. --------N-21FF82-----------------------------
  6409. INT 21 - TopWare Network OS v5.10+ - GET STATION ADDRESS
  6410.     AX = FF82h
  6411. Return: AL = station address
  6412. Note:    this function is supported on both Workstations and the server
  6413. SeeAlso: AX=FF91h
  6414. --------N-21FF8C-----------------------------
  6415. INT 21 - TopWare Network OS v5.10+ - GET STATUS OF TopShow/Emulated FUNCTION
  6416.     AX = FF8Ch
  6417.     BL = subfunction
  6418.         00h get TopShow status
  6419.         FFh get Emulated status
  6420. Return: AL = status
  6421.         00h not installed
  6422.         01h already installed
  6423. --------N-21FF8D-----------------------------
  6424. INT 21 - TopWare Network OS v5.10+ - CALL TopShow FUNCTION
  6425.     AX = FF8Dh
  6426.     CH = monochrome flag (01h monochrome, 00h not monochrome)
  6427.     CL = screen mode of station to be viewed (see #1184)
  6428.     BL = graphic page number for monochrome
  6429. Return: AL = status (00h successful, else failed)
  6430. SeeAlso: AX=FF8Eh,AX=FFCFh
  6431.  
  6432. (Table 1184)
  6433. Values for TopWare screen mode:
  6434.  00h    text mode
  6435.  01h    720x348
  6436.  02h    640x408
  6437.  03h    720x352
  6438.  04h    640x390
  6439.  05h    reserved
  6440. --------N-21FF8E-----------------------------
  6441. INT 21 - TopWare Network OS v5.10+ - CANCEL TopShow FUNCTION
  6442.     AX = FF8Eh
  6443. Return: AL = 00h (successful, TopShow removed)
  6444. SeeAlso: AX=FF8Dh
  6445. --------N-21FF91-----------------------------
  6446. INT 21 - TopWare Network OS v5.10+ - GET FILE SERVER STATION NUMBER
  6447.     AX = FF91h
  6448. Return: AL = station number of file server
  6449. SeeAlso: AX=FF82h
  6450. --------N-21FF97-----------------------------
  6451. INT 21 - TopWare Network OS v5.10+ - GET MAXIMUM STATION NUMBER (server only)
  6452.     AX = FF97h
  6453. Return: AL = maximum station number
  6454. SeeAlso: AX=FF98h
  6455. --------N-21FF98-----------------------------
  6456. INT 21 - TopWare Network OS v5.10+ - GET MAXIMUM FILE NUMBER (server only)
  6457.     AX = FF98h
  6458. Return: AL = maximum file
  6459. SeeAlso: AX=FF97h
  6460. --------N-21FF9A-----------------------------
  6461. INT 21 - TopWare Network OS v5.10+ - RECEIVE OF USER-DEFINED PACKETS
  6462.     AX = FF9Ah
  6463.     ES:BX -> buffer for user-defined packet (see #1185)
  6464. Return: nothing
  6465.  
  6466. Format of TopWare user-defined packet:
  6467. Offset    Size    Description    (Table 1185)
  6468.  00h    BYTE    FFh
  6469.  01h    WORD    (call) length of data field plus 3
  6470.         (return) length of received message (0000h if none received)
  6471.  03h    BYTE    destination ID (FFh for broadcast message)
  6472.  04h    BYTE    sending station ID
  6473.  05h    BYTE    type code (11h; all other codes reserved for TopWare)
  6474.  06h  N BYTEs    received message
  6475. --------N-21FF9F-----------------------------
  6476. INT 21 - TopWare Network OS v5.10+ - ENABLE/DISABLE TopTerm SERVICE
  6477.     AX = FF9Fh
  6478.     CL = new state (00h disable [disregard TopTerm packets], 01h enable)
  6479. Return: AL = status (00h successful, FFh failed)
  6480. Note:    this function is only supported by Workstations, not the server
  6481. --------N-21FFB0-----------------------------
  6482. INT 21 - TopWare Network OS v5.10+ - GET SPOOLER PRINTING PRIORITY
  6483.     AX = FFB0h
  6484. Return: AL = priority status (see #1186)
  6485. SeeAlso: AX=FFB1h
  6486.  
  6487. Bitfields for TopWare printer priority status:
  6488. Bit(s)    Description    (Table 1186)
  6489.  2    LPT3 has high priority
  6490.  1    LPT2 has high priority
  6491.  0    LPT1 has high priority
  6492. --------N-21FFB1-----------------------------
  6493. INT 21 - TopWare Network OS v5.10+ - SET SPOOLER PRINTING PRIORITY
  6494.     AX = FFB1h
  6495.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6496.     CH = new priority (00h normal, 01h high)
  6497. Return: nothing
  6498. SeeAlso: AX=FFB0h
  6499. --------N-21FFB3-----------------------------
  6500. INT 21 - TopWare Network OS v5.10+ - GET DEFAULT START-OF-JOB FORMFEED STATUS
  6501.     AX = FFB3h
  6502. Return: AL = starting formfeed status (see #1187)
  6503. SeeAlso: AX=FFB4h,AX=FFC0h
  6504.  
  6505. Bitfields for TopWare printer start-of-job formfeed status:
  6506. Bit(s)    Description    (Table 1187)
  6507.  2    LPT3 has formfeed enabled
  6508.  1    LPT2 has formfeed enabled
  6509.  0    LPT1 has formfeed enabled
  6510. --------N-21FFB4-----------------------------
  6511. INT 21 - TopWare Network OS v5.10+ - SET DEFAULT START-OF-JOB FORMFEED STATUS
  6512.     AX = FFB4h
  6513.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6514.     CH = new formfeed status (00h off, 01h on)
  6515. Return: nothing
  6516. SeeAlso: AX=FFB3h,AX=FFC1h
  6517. --------N-21FFBB-----------------------------
  6518. INT 21 - TopWare Network OS v5.10+ - GET PRINTER SERVER STATION ADDRESS
  6519.     AX = FFBBh
  6520.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6521. Return: AL = current mapping printer server station number
  6522.         00h if local
  6523. SeeAlso: AX=FFBCh
  6524. --------N-21FFBC-----------------------------
  6525. INT 21 - TopWare Network OS v5.10+ - CANCEL TopShow FUNCTION
  6526.     AX = FFBCh
  6527.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6528.     CL = printer server station address or 00h for local printer
  6529. Return: AL = status (00h successful, else failed)
  6530. SeeAlso: AX=FFBBh
  6531. --------N-21FFBD-----------------------------
  6532. INT 21 - TopWare Network OS v5.10+ - GET CURRENT AUTOPRINT TIME
  6533.     AX = FFBDh
  6534.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6535. Return: AX = current AutoPrint timeout in clock ticks
  6536. SeeAlso: AX=FFBEh
  6537. --------N-21FFBE-----------------------------
  6538. INT 21 - TopWare Network OS v5.10+ - SET AUTOPRINT TIME
  6539.     AX = FFBEh
  6540.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6541.     BX = timeout in clock ticks
  6542. SeeAlso: AX=FFBDh
  6543. --------N-21FFBF-----------------------------
  6544. INT 21 - TopWare Network OS v5.10+ - GET LOGON USER INFORMATION
  6545.     AX = FFBFh
  6546.     DX:BX -> buffer for logon information (see #1188)
  6547. Return: AL = status (00h successful, else failed)
  6548.     AH = number of logged-in stations
  6549.  
  6550. Format of TopWare logon information:
  6551. Offset    Size    Description    (Table 1188)
  6552.  00h    BYTE    station address
  6553.  01h 15 BYTEs    username
  6554. --------N-21FFC0-----------------------------
  6555. INT 21 - TopWare Network OS v5.10+ - GET DEFAULT END-OF-JOB FORMFEED STATUS
  6556.     AX = FFC0h
  6557. Return: AL = ending formfeed status (see #1189)
  6558. SeeAlso: AX=FFB3h,AX=FFC1h
  6559.  
  6560. Bitfields for TopWare printer end-of-job formfeed status:
  6561. Bit(s)    Description    (Table 1189)
  6562.  2    LPT3 has formfeed enabled
  6563.  1    LPT2 has formfeed enabled
  6564.  0    LPT1 has formfeed enabled
  6565. --------N-21FFC1-----------------------------
  6566. INT 21 - TopWare Network OS v5.10+ - SET DEFAULT END-OF-JOB FORMFEED STATUS
  6567.     AX = FFC1h
  6568.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6569.     CH = new formfeed status (00h off, 01h on)
  6570. Return: nothing
  6571. SeeAlso: AX=FFB4h,AX=FFC0h
  6572. --------N-21FFC2-----------------------------
  6573. INT 21 - TopWare Network OS v5.10+ - GET DEFAULT COPIES OF SPOOLING FILE
  6574.     AX = FFC2h
  6575.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6576. Return: AL = default number of copies printed
  6577. SeeAlso: AX=FFC7h
  6578. --------N-21FFC3-----------------------------
  6579. INT 21 - TopWare Network OS v5.10+ - GET SHARING STATUS OF PRINTER SERVER
  6580.     AX = FFC3h
  6581. Return: AL = sharing status of printers (see #1190)
  6582.         FFh if not a printer server
  6583.  
  6584. Bitfields for TopWare printer sharing status:
  6585. Bit(s)    Description    (Table 1190)
  6586.  2    LPT3 is shared
  6587.  1    LPT2 is shared
  6588.  0    LPT1 is shared
  6589. --------N-21FFC4-----------------------------
  6590. INT 21 - TopWare Network OS v5.10+ - GET/SET LPT PORT ON PRINT SERVER
  6591.     AX = FFC4h
  6592.     BL = subfunction
  6593.         00h get
  6594.         Return: AL = mapped printer port on print server
  6595.         01h set
  6596.         CL = network printer port (00h LPT1, 01h LPT2, 02h LPT3)
  6597.     CH = local printer (00h LPT1, 01h LPT2, 02h LPT3)
  6598. --------N-21FFC6-----------------------------
  6599. INT 21 - TopWare Network OS v5.10+ - SET DEFAULT PRINT FILE HEADER
  6600.     AX = FFC6h
  6601.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6602.     CL = header state (00h off, 01h on)
  6603. SeeAlso: AX=FFC8h
  6604. --------N-21FFC7-----------------------------
  6605. INT 21 - TopWare Network OS v5.10+ - SET DEFAULT PRINT COPIES
  6606.     AX = FFC7h
  6607.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6608.     CL = new default number of copies to print
  6609. SeeAlso: AX=FFC2h
  6610. --------N-21FFC8-----------------------------
  6611. INT 21 - TopWare Network OS v5.10+ - GET DEFAULT PRINT FILE HEADER STATUS
  6612.     AX = FFC8h
  6613. Return: AL = header status for printers (see #1191)
  6614. SeeAlso: AX=FFC6h
  6615.  
  6616. Bitfields for TopWare print header status:
  6617. Bit(s)    Description    (Table 1191)
  6618.  2    LPT3 has headers enabled
  6619.  1    LPT2 has headers enabled
  6620.  0    LPT1 has headers enabled
  6621. --------N-21FFC9-----------------------------
  6622. INT 21 - TopWare Network OS v5.10+ - SET PRINTER SHARING
  6623.     AX = FFC9h
  6624.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6625.     CL = new sharing state (00h off, 01h on)
  6626. Return: AL = status (00h successful, FFh not printer server)
  6627. --------N-21FFCA-----------------------------
  6628. INT 21 - TopWare Network OS v5.10+ - MOVE FILE FROM ONE PRINT SERVER TO ANOTHER
  6629.     AX = FFCAh
  6630.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6631.     CL = original printer server station address
  6632.     BL = target printer server station address
  6633.     DS:DX -> filename (12 bytes)
  6634. Return: AL = status (00h successful, else failed)
  6635. SeeAlso: AX=FFCBh
  6636. --------N-21FFCB-----------------------------
  6637. INT 21 - TopWare Network OS v5.10+ - DELETE FILE FROM SPOOLING QUEUE
  6638.     AX = FFCBh
  6639.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6640.     CL = printer server station address
  6641.     DS:DX -> filename (12 bytes)
  6642. Return: AL = status (00h successful, else failed)
  6643. SeeAlso: AX=FFCAh
  6644. --------N-21FFCC-----------------------------
  6645. INT 21 - TopWare Network OS v5.10+ - GET PRINT SERVER'S SPOOLING QUEUE STATUS
  6646.     AX = FFCCh
  6647.     CL = printer server station address
  6648.     BH = start item number of spooling file for print server
  6649.     BL = number of the item to be retrieved
  6650.     DS:DX -> buffer for queued file information (see #1192)
  6651. Return: AL = status
  6652.         00h successful
  6653.         AH = number of spool files
  6654.         DS:DX buffer filled
  6655.         nonzero failed
  6656.  
  6657. Format of TopWare queued file information buffer [16-item array, one element]:
  6658. Offset    Size    Description    (Table 1192)
  6659.  00h 12 BYTEs    filename
  6660.  0Ch    DWORD    size
  6661.  10h    WORD    date
  6662.  12h    WORD    time
  6663.  14h 15 BYTEs    username
  6664.  23h    BYTE    count
  6665.  24h    BYTE    flag: header
  6666.  25h    BYTE    print number
  6667. --------N-21FFCD-----------------------------
  6668. INT 21 - TopWare Network OS v5.10+ - GET STATUS OF ALL PRINT SERVERS
  6669.     AX = FFCDh
  6670.     DS:DX -> buffer for server status (see #1193)
  6671. Return: AL = status
  6672.         00h successful
  6673.         AH = number of print servers
  6674.         nonzero failed
  6675.  
  6676. Format of TopWare server status:
  6677. Offset    Size    Description    (Table 1193)
  6678.  00h    BYTE    station address
  6679.  01h 15 BYTEs    username
  6680.  10h    BYTE    flag: 01h printer is shared, 00h sharing disabled
  6681.  11h    BYTE    number of files pending in queue
  6682. --------N-21FFCF-----------------------------
  6683. INT 21 - TopWare Network OS v5.10+ - CALL TopLook FUNCTION
  6684.     AX = FFCFh
  6685.     DH = page number (0-2, 2 is text mode)
  6686.     DL = type
  6687.         00h look at specific screen
  6688.         01h AutoLook on
  6689.         FFh AutoLook off
  6690.     BH = station number wishing to look
  6691.     BL = station number to be looked at
  6692.     CH = monochrome flag (01h monochrome, 00h not monochrome)
  6693.     CL = screen mode (see #1184)
  6694. Return: AL = status (00h successful, nonzero failed)
  6695. SeeAlso: AX=FF8Dh
  6696. --------N-21FFD6-----------------------------
  6697. INT 21 - TopWare Network OS v5.10+ - GET KEYCARD SERIAL NUMBER AND MAX USERS
  6698.     AX = FFD6h
  6699.     ES:BX -> 12-byte buffer for keycard serial number
  6700. Return: CX = maximum number of users
  6701.     ES:BX buffer filled
  6702. --------N-21FFD7-----------------------------
  6703. INT 21 - TopWare Network OS v5.10+ - GET NETWORK PROTECTION ATTRIBUTES STATUS
  6704.     AX = FFD7h
  6705. Return: AL = status (00h disabled, 01h enabled)
  6706. --------N-21FFE3DL00-------------------------
  6707. INT 21 - TopWare Network OS v5.10+ - INITIATE ACCESS TO SPECIFIC PACKET TYPE
  6708.     AX = FFE3h
  6709.     DL = 00h
  6710.     BX = packet type for Ethernet header (IP = 0800h, ARP = 0806h, etc.)
  6711.     ES:DI -> receive routine (see #1195)
  6712. Return: CF clear if successful
  6713.         AX = handle number
  6714.     CF set on error
  6715.         DH = error code (03h,05h,09h,0Ah,11h) (see #1194)
  6716. SeeAlso: AX=FFE3h/DL=01h
  6717.  
  6718. (Table 1194)
  6719. Values for TopWare error code:
  6720.  01h    invalid handle
  6721.  03h    no interfaces of the specified type found
  6722.  05h    bad packet type
  6723.  09h    insufficient space
  6724.  0Ah    type already being accessed
  6725.  0Ch    unable to send packet (usually hardware error)
  6726.  11h    invalid function
  6727.  
  6728. (Table 1195)
  6729. Values TopWare receive routine is called with:
  6730.     AX = function
  6731.         0000h request packet buffer
  6732.         CX = packet size
  6733.         Return: ES:DI -> buffer or 0000h:0000h to discard packet
  6734.         0001h packet copied
  6735.         CX = packet size
  6736.         DS:SI -> copied packet (same as returned ES:DI above)
  6737. --------N-21FFE3DL01-------------------------
  6738. INT 21 - TopWare Network OS v5.10+ - END ACCESS TO SPECIFIC PACKET TYPE
  6739.     AX = FFE3h
  6740.     DL = 01h
  6741.     BX = handle returned by AX=FFE3h/DL=00h
  6742. Return: CF clear if successful
  6743.     CF set on error
  6744.         DH = error code (01h,11h) (see #1194)
  6745. Note:    the specified access handle will no longer be valid after this call
  6746. SeeAlso: AX=FFE3h/DL=00h
  6747. --------N-21FFE3DL02-------------------------
  6748. INT 21 - TopWare Network OS v5.10+ - SEND PACKET
  6749.     AX = FFE3h
  6750.     DL = 02h
  6751.     CX = length of data buffer
  6752.     DS:SI -> buffer containing data
  6753. Return: CF clear if successful
  6754.     CF set on error
  6755.         DH = error code (0Ch,11h) (see #1194)
  6756. --------N-21FFE3DL03-------------------------
  6757. INT 21 - TopWare Network OS v5.10+ - GET LOCAL NETWORK INTERFACE ADDRESS
  6758.     AX = FFE3h
  6759.     DL = 03h
  6760.     ES:DI -> 6-byte buffer for address
  6761. SeeAlso: AX=FFE3h/DL=00h
  6762. --------v-21FFFE-----------------------------
  6763. INT 21 - VIRUS - "08/15"/"Many Fingers" - INSTALLATION CHECK
  6764.     AX = FFFEh
  6765. Return: AX = 0815h if resident
  6766. SeeAlso: AX=FF10h,AX=FFFFh
  6767. --------v-21FFFF-----------------------------
  6768. INT 21 - VIRUS - "Ontario", "Year 1992"/"B1M92" - INSTALLATION CHECK
  6769.     AX = FFFFh
  6770. Return: AX = 0000h if "Ontario" resident
  6771.     AX = 1992h if "Year 1992"/"B1M92" resident
  6772. SeeAlso: AX=FF0Fh,AX=FFFFh/CX=0000h,INT 6B"VIRUS"
  6773. --------v-21FFFFCX0000-----------------------
  6774. INT 21 - VIRUS - "Revenge" - INSTALLATION CHECK
  6775.     AX = FFFFh
  6776.     CX = 0000h
  6777. Return: CX = 0006h if resident
  6778. SeeAlso: AX=FFFFh,INT 6B"VIRUS"
  6779. --------D-22---------------------------------
  6780. INT 22 - DOS 1+ - PROGRAM TERMINATION ADDRESS
  6781. Desc:    this vector specifies the address of the routine which is to be given
  6782.       control after a program is terminated; it should never be called
  6783.       directly, since it does not point at an interrupt handler
  6784. Notes:    this vector is restored from the DWORD at offset 0Ah in the PSP during
  6785.       termination, and then a FAR JMP is performed to the address in INT 22
  6786.     normally points at the instruction immediately following INT 21/AH=4Bh
  6787.       call which loaded the current program
  6788. SeeAlso: INT 20,INT 21/AH=00h,INT 21/AH=31h,INT 21/AH=4Ch
  6789. --------G-22---------------------------------
  6790. INT 22 - COMTROL HOSTESS i/ISA DEBUGGER - CHANGE FIRMWARE DEBUGGING PORT
  6791.     AL = new firmware debugging port
  6792. Return: ???
  6793. SeeAlso: INT 21"COMTROL",INT 23"COMTROL"
  6794. --------D-23---------------------------------
  6795. INT 23 - DOS 1+ - CONTROL-C/CONTROL-BREAK HANDLER
  6796. ---DOS 1.x---
  6797. Return: AH = 00h abort program
  6798.     if all registers preserved, restart DOS call
  6799. ---DOS 2+---
  6800.     CF clear
  6801. Return: all registers preserved
  6802.     return via RETF with CF set or (MS-DOS 1,DR-DOS) RETF 2 with CF set
  6803.         DOS will abort program with errorlevel 0
  6804.     else (RETF/RETF 2 with CF clear or IRET with CF ignored)
  6805.         interrupted DOS call is restarted
  6806. Notes:    this interrupt is invoked whenever DOS detects a ^C or ^Break; it
  6807.       should never be called directly
  6808.     MS-DOS 1.25 also invokes INT 23 on a divide overflow (INT 00)
  6809.     MS-DOS remembers the stack pointer before calling INT 23, and if it is
  6810.       not the same on return, pops and discards the top word; this is what
  6811.       permits a return with RETF as well as IRET or RETF 2
  6812.     MS-DOS 2.1+ ignores the returned CF if SP is the same on return as it
  6813.       was when DOS called INT 23, so RETF 2 will not terminate the program
  6814.     Novell DOS 7 always pops a word if CF is set on return, so one should
  6815.       not return with RETF 2 and CF set or IRET with the stored flags' CF
  6816.       set
  6817.     any DOS call may safely be made within the INT 23 handler, although
  6818.       the handler must check for a recursive invocation if it does
  6819.       call DOS
  6820. SeeAlso: INT 1B
  6821. --------G-23---------------------------------
  6822. INT 23 - COMTROL HOSTESS i/ISA DEBUGGER - GET CONFIGURATION INFORMATION
  6823.     AL = query type
  6824.         00h get old config map
  6825.         Return: AX = old config map
  6826.         01h get dual-ported RAM map
  6827.         Return: BX:AX = dual-ported RAM map
  6828.         02h get SCC port map
  6829.         Return: BX:AX = SCC port map
  6830. SeeAlso: INT 22"COMTROL",INT 26"COMTROL"
  6831. --------D-24---------------------------------
  6832. INT 24 - DOS 1+ - CRITICAL ERROR HANDLER
  6833. Note:    invoked when a critical (usually hardware) error is encountered; should
  6834.       never be called directly
  6835. SeeAlso: INT 21/AH=95h
  6836.  
  6837. (Table 1196)
  6838. Values critical error handler is called with:
  6839.     AH = type and processing flags (see #1197)
  6840.     AL = drive number if AH bit 7 clear
  6841.     BP:SI -> device driver header (BP:[SI+4] bit 15 set if char device)
  6842.     DI low byte contains error code if AH bit 7 set (see #1198)
  6843.     STACK:    DWORD    return address for INT 24 call
  6844.         WORD    flags pushed by INT 24
  6845.         WORD    original AX on entry to INT 21
  6846.         WORD    BX
  6847.         WORD    CX
  6848.         WORD    DX
  6849.         WORD    SI
  6850.         WORD    DI
  6851.         WORD    BP
  6852.         WORD    DS
  6853.         WORD    ES
  6854.         DWORD    return address for INT 21 call
  6855.         WORD    flags pushed by INT 21
  6856. Return:    AL = action code (see #1199)
  6857.     SS,SP,DS,ES,BX,CX,DX preserved
  6858. Notes:    the only DOS calls the handler may make are INT 21/AH=01h-0Ch,30h,59h
  6859.     if the handler returns to the application by popping the stack, DOS
  6860.       will be in an unstable state until the first call with AH > 0Ch
  6861.     for DOS 3.1+, IGNORE (AL=00h) is turned into FAIL (AL=03h) on network
  6862.       critical errors
  6863.     if IGNORE specified but not allowed, it is turned into FAIL
  6864.     if RETRY specified but not allowed, it is turned into FAIL
  6865.     if FAIL specified but not allowed, it is turned into ABORT
  6866.     (DOS 3+) if a critical error occurs inside the critical error handler,
  6867.       the DOS call is automatically failed
  6868.  
  6869. Bitfields for critical error type and processing flags:
  6870. Bit(s)    Description    (Table 1197)
  6871.  7    clear = disk I/O error
  6872.     set   = -- if block device, bad FAT image in memory
  6873.         -- if char device, error code in DI
  6874.  6    unused
  6875.  5    Ignore allowed (DOS 3+)
  6876.  4    Retry allowed (DOS 3+)
  6877.  3    Fail allowed (DOS 3+)
  6878.  2-1    disk area of error
  6879.     00 = DOS area    01 = FAT
  6880.       10 = root dir    11 = data area
  6881.  0    set if write, clear if read
  6882.  
  6883. (Table 1198)
  6884. Values for critical error code:
  6885.  00h    write-protection violation attempted
  6886.  01h    unknown unit for driver
  6887.  02h    drive not ready
  6888.  03h    unknown command given to driver
  6889.  04h    data error (bad CRC)
  6890.  05h    bad device driver request structure length
  6891.  06h    seek error
  6892.  07h    unknown media type
  6893.  08h    sector not found
  6894.  09h    printer out of paper
  6895.  0Ah    write fault
  6896.  0Bh    read fault
  6897.  0Ch    general failure
  6898.  0Dh    (DOS 3+) sharing violation
  6899.  0Eh    (DOS 3+) lock violation
  6900.  0Fh    invalid disk change
  6901.  10h    (DOS 3+) FCB unavailable
  6902.  11h    (DOS 3+) sharing buffer overflow
  6903.  12h    (DOS 4+) code page mismatch
  6904.  13h    (DOS 4+) out of input
  6905.  14h    (DOS 4+) insufficient disk space
  6906.  
  6907. (Table 1199)
  6908. Values for critical error handler action code:
  6909.  00h    ignore error and continue processing request
  6910.  01h    retry operation
  6911.  02h    terminate program as though INT 21/AH=4Ch called (INT 20h for DOS 1.x)
  6912.  03h    fail system call in progress
  6913. --------D-25---------------------------------
  6914. INT 25 - DOS 1+ - ABSOLUTE DISK READ (except partitions > 32M)
  6915.     AL = drive number (00h = A:, 01h = B:, etc)
  6916.     CX = number of sectors to read (not FFFFh)
  6917.     DX = starting logical sector number (0000h - highest sector on drive)
  6918.     DS:BX -> buffer for data
  6919. Return: CF clear if successful
  6920.     CF set on error
  6921.         AH = status (see #1200)
  6922.         AL = error code (same as passed to INT 24 in DI)
  6923.         AX = 0207h if more than 64K sectors on drive -- use new-style call
  6924.     may destroy all other registers except segment registers
  6925. Notes:    original flags are left on stack, and must be popped by caller
  6926.     this call bypasses the DOS filesystem
  6927.     examination of CPWIN386.CPL indicates that if this call fails with
  6928.       error 0408h on an old-style (<32M) call, one should retry the
  6929.       call with the high bit of the drive number in AL set
  6930. BUGS:    DOS 3.1 through 3.3 set the word at ES:[BP+1Eh] to FFFFh if AL is an
  6931.       invalid drive number
  6932.     DR-DOS 3.41 will return with a jump instead of RETF, leaving the
  6933.       wrong number of bytes on the stack; use the huge-partition version
  6934.       (INT 25/CX=FFFFh) for all partition sizes under DR-DOS 3.41
  6935. SeeAlso: INT 13/AH=02h,INT 25/CX=FFFFh,INT 26
  6936.  
  6937. (Table 1200)
  6938. Values for disk I/O status:
  6939.  80h    device failed to respond (timeout)
  6940.  40h    seek operation failed
  6941.  20h    controller failed
  6942.  10h    data error (bad CRC)
  6943.  08h    DMA failure
  6944.  04h    requested sector not found
  6945.  03h    write-protected disk (INT 26 only)
  6946.  02h    bad address mark
  6947.  01h    bad command
  6948. --------D-25----CXFFFF-----------------------
  6949. INT 25 - DOS 3.31+ - ABSOLUTE DISK READ (>32M hard-disk partition)
  6950.     CX = FFFFh
  6951.     AL = drive number (0=A, 1=B, etc)
  6952.     DS:BX -> disk read packet (see #1201)
  6953. Return: CF clear if successful
  6954.     CF set on error
  6955.         AH = status (see #1200)
  6956.         AL = error code (same as passed to INT 24 in DI)
  6957.         AX = 0207h if more than 64K sectors on drive -- use new-style call
  6958.     may destroy all other registers except segment registers
  6959. Notes:    partition is potentially >32M (and requires this form of the call) if
  6960.       bit 1 of the device attribute word in the device driver is set
  6961.     original flags are left on stack, and must be removed by caller
  6962.     this call bypasses the DOS filesystem
  6963. SeeAlso: INT 13/AH=02h,INT 25,INT 26/CX=FFFFh
  6964.  
  6965. Format of disk read packet:
  6966. Offset    Size    Description    (Table 1201)
  6967.  00h    DWORD    sector number
  6968.  04h    WORD    number of sectors to read
  6969.  06h    DWORD    transfer address
  6970. --------d-25CDCD-----------------------------
  6971. INT 25 - Stacker - GET DEVICE DRIVER ADDRESS
  6972.     AX = CDCDh
  6973.     DS:BX -> buffer for address (see #1202)
  6974.     CX = 0001h
  6975.     DX = 0000h
  6976. Return: AX = CDCDh if Stacker installed
  6977.         DS:BX buffer filled
  6978.  
  6979. Format of Stacker driver address buffer:
  6980. Offset    Size    Description    (Table 1202)
  6981.  00h    WORD    signature CDCDh
  6982.  02h    WORD    ??? 0001h
  6983.  04h    DWORD    pointer to start of Stacker device driver (see #1203)
  6984.  
  6985. Format of Stacker device driver:
  6986. Offset    Size    Description    (Table 1203)
  6987.  00h    WORD    signature A55Ah
  6988.  02h    WORD    Stacker version * 64h
  6989.  04h    WORD    offset of volume-specific information offset table
  6990.         (list of WORDs, one per drive, containing offsets to various
  6991.           information)
  6992.  06h 56 BYTEs    n/a
  6993.  3Eh    BYTE    volume number, set after INT 21/AX=4404h
  6994.         (use to index into volume-specific info offset table)
  6995.  3Fh 19 BYTEs    n/a
  6996.  52h  4 BYTEs    ASCII string "SWAP"
  6997.  56h 26 BYTEs    drive mapping table (one byte for each drive A: through Z:)
  6998.  
  6999. Format of Stacker boot record:
  7000. Offset    Size    Description    (Table 1204)
  7001. 1F0h  8 BYTEs    Stacker signature (first byte is CDh)
  7002. 1F8h    DWORD    pointer to start of Stacker device driver
  7003. 1FCh    WORD    Stacker volume number
  7004. 1FEh    WORD    ???
  7005. --------c-25--FFSI4358-----------------------
  7006. INT 25 - PC-CACHE.SYS - INSTALLATION CHECK
  7007.     AL = FFh
  7008.     SI = 4358h
  7009. Return: SI = 6378h if installed
  7010.         CX = segment of device driver PC-CACHE.SYS
  7011.         DX = version (major in DH, minor in DL)
  7012. Program: PC-CACHE.SYS is a small device driver used by PC-Cache v5.x to obtain
  7013.       access to certain disk drivers for devices such as Bernoulli drives
  7014. SeeAlso: INT 13/AH=A0h
  7015. --------D-26---------------------------------
  7016. INT 26 - DOS 1+ - ABSOLUTE DISK WRITE (except partitions > 32M)
  7017.     AL = drive number (00h = A:, 01h = B:, etc)
  7018.     CX = number of sectors to write (not FFFFh)
  7019.     DX = starting logical sector number (0000h - highest sector on drive)
  7020.     DS:BX -> data to write
  7021. Return: CF clear if successful
  7022.     CF set on error
  7023.         AH = status (see #1200)
  7024.         AL = error code (same as passed to INT 24 in DI)
  7025.         AX = 0207h if more than 64K sectors on drive -- use new-style call
  7026.     may destroy all other registers except segment registers
  7027. Notes:    original flags are left on stack, and must be popped by caller
  7028.     this call bypasses the DOS filesystem, though DOS 5+ invalidates any
  7029.       disk buffers referencing sectors which are written with this call
  7030.     examination of CPWIN386.CPL indicates that if this call fails with
  7031.       error 0408h on an old-style (<32M) call, one should retry the
  7032.       call with the high bit of the drive number in AL set
  7033. BUGS:    DOS 3.1 through 3.3 set the word at ES:[BP+1Eh] to FFFFh if AL is an
  7034.       invalid drive number
  7035.     DR-DOS 3.41 will return with a jump instead of RETF, leaving the
  7036.       wrong number of bytes on the stack; use the huge-partition version
  7037.       (INT 26/CX=FFFFh) for all partition sizes under DR-DOS 3.41
  7038. SeeAlso: INT 13/AH=03h,INT 25,INT 26/CX=FFFFh
  7039. --------D-26----CXFFFF-----------------------
  7040. INT 26 - DOS 3.31+ - ABSOLUTE DISK WRITE (>32M hard-disk partition)
  7041.     CX = FFFFh
  7042.     AL = drive number (0=A, 1=B, etc)
  7043.     DS:BX -> disk write packet (see #1205)
  7044. Return: CF clear if successful
  7045.     CF set on error
  7046.         AH = status (see #1200)
  7047.         AL = error code (same as passed to INT 24 in DI)
  7048.         AX = 0207h if more than 64K sectors on drive -- use new-style call
  7049.     may destroy all other registers except segment registers
  7050. Notes:    partition is potentially >32M (and requires this form of the call) if
  7051.       bit 1 of the device attribute word in the device driver is set
  7052.     original flags are left on stack, and must be removed by caller
  7053.     this call bypasses the DOS filesystem, though DOS 5+ invalidates any
  7054.       disk buffers referencing sectors which are written with this call
  7055. SeeAlso: INT 13/AH=03h,INT 25/CX=FFFFh,INT 26
  7056.  
  7057. Format of disk write packet:
  7058. Offset    Size    Description    (Table 1205)
  7059.  00h    DWORD    sector number
  7060.  04h    WORD    number of sectors to read
  7061.  06h    DWORD    transfer address
  7062. --------G-26---------------------------------
  7063. INT 26 - COMTROL HOSTESS i/ISA DEBUGGER - ENTER/EXIT EXTENDED ADDRESSING MODE
  7064.     ???
  7065. Return: ???
  7066. SeeAlso: INT 23"COMTROL",INT 27"COMTROL"
  7067. --------D-27---------------------------------
  7068. INT 27 - DOS 1+ - TERMINATE AND STAY RESIDENT
  7069.     DX = number of bytes to keep resident (max FFF0h)
  7070.     CS = segment of PSP
  7071. Return: never
  7072. Notes:    this is an obsolete call
  7073.     INT 22, INT 23, and INT 24 are restored from the PSP
  7074.     does not close any open files
  7075.     the minimum number of bytes which will remain resident is 110h for
  7076.       DOS 2.x and 60h for DOS 3+; there is no minimum for DOS 1.x, which
  7077.       implements this service in COMMAND.COM rather than the DOS kernel
  7078. SeeAlso: INT 21/AH=31h
  7079. --------G-27---------------------------------
  7080. INT 27 - COMTROL HOSTESS i/ISA DEBUGGER - INVOKE REMOTE TURBO DEBUGGER KERNEL
  7081.     ???
  7082. Return: ???
  7083. Desc:    invoke a copy of the remote Turbo Debugger kernel on the Hostess i
  7084.       controller
  7085. SeeAlso: INT 20"COMTROL",INT 26"COMTROL"
  7086. --------D-28---------------------------------
  7087. INT 28 C - DOS 2+ - DOS IDLE INTERRUPT
  7088.     SS:SP = top of MS-DOS stack for I/O functions
  7089. Return: all registers preserved
  7090. Desc:    This interrupt is invoked each time one of the DOS character input
  7091.       functions loops while waiting for input.  Since a DOS call is in
  7092.       progress even though DOS is actually idle during such input waits,
  7093.       hooking this function is necessary to allow a TSR to perform DOS
  7094.       calls while the foreground program is waiting for user input.     The
  7095.       INT 28h handler may invoke any INT 21h function except functions
  7096.       00h through 0Ch.
  7097. Notes:    under DOS 2.x, the critical error flag (the byte immediately after the
  7098.       InDOS flag) must be set in order to call DOS functions 50h/51h from
  7099.       the INT 28h handler without destroying the DOS stacks.
  7100.     calls to INT 21/AH=3Fh,40h from within an INT 28 handler may not use a
  7101.       handle which refers to CON
  7102.     at the time of the call, the InDOS flag (see INT 21/AH=34h) is normally
  7103.       set to 01h; if larger, DOS is truly busy and should not be reentered
  7104.     the default handler is an IRET instruction
  7105.     supported in OS/2 compatibility box
  7106.     the _MS-DOS_Programmer's_Reference_ for DOS 5.0 incorrectly documents
  7107.       this interrupt as superseded
  7108. SeeAlso: INT 21/AH=34h,INT 2A/AH=84h,INT 2F/AX=1680h
  7109. --------D-29---------------------------------
  7110. INT 29 C - DOS 2+ - FAST CONSOLE OUTPUT
  7111.     AL = character to display
  7112. Return: nothing
  7113. Notes:    automatically called when writing to a device with bit 4 of its device
  7114.       driver header set (see also INT 21/AH=52h)
  7115.     COMMAND.COM v3.2 and v3.3 compare the INT 29 vector against the INT 20
  7116.       vector and assume that ANSI.SYS is installed if the segment is larger
  7117.     the default handler under DOS 2.x and 3.x simply calls INT 10/AH=0Eh
  7118.     the default handler under DESQview 2.2 understands the <Esc>[2J
  7119.       screen-clearing sequence, calls INT 10/AH=0Eh for all others
  7120. SeeAlso: INT 21/AH=52h,INT 2F/AX=0802h,INT 79
  7121. --------N-2A00-------------------------------
  7122. INT 2A - NETWORK (Microsoft, LANtastic) - INSTALLATION CHECK
  7123.     AH = 00h
  7124. Return: AH <> 00h if installed
  7125.     CF set if NetWare v2.15 NetBIOS emulator installed
  7126. Note:    also supported by Lantastic, NetWare, 10NET, etc.
  7127. SeeAlso: INT 5C
  7128. --------N-2A0000-----------------------------
  7129. INT 2A - AT&T Starlan Extended NetBIOS (var length names) - INSTALLATION CHECK
  7130.     AX = 0000h
  7131. Return: AH = DDh
  7132. SeeAlso: INT 5B
  7133. --------N-2A01-------------------------------
  7134. INT 2A - NETWORK (Microsoft,LANtastic) - EXECUTE NETBIOS REQUEST,NO ERROR RETRY
  7135.     AH = 01h
  7136.     ES:BX -> NCB (see INT 5C)
  7137. Return: AL = NetBIOS error code
  7138.     AH = status
  7139.         00h no error
  7140.         01h error occurred
  7141. SeeAlso: AH=04h,AX=0500h,INT 5B,INT 5C"NetBIOS"
  7142. --------N-2A02-------------------------------
  7143. INT 2A - NETWORK (Microsoft) - SET NET PRINTER MODE
  7144.     AH = 02h
  7145.     ???
  7146. Return: ???
  7147. --------N-2A0300-----------------------------
  7148. INT 2A - NETWORK (Microsoft,LANtastic) - CHECK DIRECT I/O
  7149.     AX = 0300h
  7150.     DS:SI -> ASCIZ device name (may be full path or only drive specifier--
  7151.           must include the colon)
  7152. Return: CF clear if direct physical addressing (INT 13,INT 25) permissible
  7153.     CF set if access via files only
  7154. Notes:    do not use direct disk accesses if this function returns CF set or the
  7155.       device is redirected (INT 21/AX=5F02h)
  7156.     may take some time to execute
  7157.     this function is called by the DOS kernel on INT 25 and INT 26
  7158.     also supported by Lantastic, NetWare, 10NET, etc.
  7159. SeeAlso: INT 13,INT 25,INT 26,INT 21/AX=5F02h
  7160. --------N-2A04-------------------------------
  7161. INT 2A - NETWORK (Microsoft,LANtastic) - EXECUTE NetBIOS REQUEST
  7162.     AH = 04h
  7163.     AL = error retry
  7164.         00h automatically retry request on errors 09h, 12h, and 21h
  7165.         01h no retry
  7166.         02h ???
  7167.     ES:BX -> Network Control Block (see INT 5C"NetBIOS")
  7168. Return: AX = 0000h if successful
  7169.     AH = 01h on error
  7170.         AL = error code
  7171. Notes:    invokes either INT 5B or INT 5C as appropriate
  7172.     also supported by Lantastic, NetWare, 10NET, etc.
  7173.     NetWare 2.15 NetBIOS emulator returns CF clear if successful, CF set
  7174.       on error
  7175. SeeAlso: AH=01h,AX=0500h,INT 5B,INT 5C"NetBIOS"
  7176. --------N-2A0500-----------------------------
  7177. INT 2A - NETWORK (Microsoft,LANtastic) - GET NETWORK RESOURCE AVAILABILITY
  7178.     AX = 0500h
  7179. Return: AX reserved
  7180.     BX = number of network names available
  7181.     CX = number of network control blocks available
  7182.     DX = number of network sessions available
  7183. Note:    also supported by Lantastic, NetWare, 10NET, etc.
  7184. SeeAlso: AH=01h,AH=04h,INT 5C"NetBIOS"
  7185. --------N-2A06-------------------------------
  7186. INT 2A - NETBIOS, LANtastic - NETWORK PRINT-STREAM CONTROL
  7187.     AH = 06h
  7188.     AL = function
  7189.         01h set concatenation mode (all printer output put in one job)
  7190.         02h set truncation mode (default)
  7191.         printer open/close starts new print job
  7192.         03h flush printer output and start new print job
  7193. Return: CF set on error
  7194.         AX = error code
  7195.     CF clear if successful
  7196. Notes:    subfunction 03h is equivalent to Ctrl/Alt/keypad-*
  7197.     also supported by LANtastic, NetWare, 10NET, etc.
  7198.     LANtastic v4.x no longer supports this call
  7199. SeeAlso: INT 21/AX=5D08h,INT 21/AX=5D09h,INT 2F/AX=1125h
  7200. --------N-2A07-------------------------------
  7201. INT 2A U - PC Network v1.00 - RECEIVER.COM - ???
  7202.     AH = 07h
  7203.     ???
  7204. Return: ???
  7205. Program: PC Network is an early networking package which was renamed the
  7206.       IBM PC Local Area Network Program (PC LAN Program) as of v1.10
  7207. SeeAlso: AH=86h
  7208. --------N-2A2001-----------------------------
  7209. INT 2A - MS Networks or NETBIOS - ???
  7210.     AX = 2001h
  7211.     ???
  7212. Return: ???
  7213. Note:    intercepted by DESQview 2.x
  7214. --------N-2A2002-----------------------------
  7215. INT 2A - NETWORK - ???
  7216.     AX = 2002h
  7217.     ???
  7218. Return: ???
  7219. Note:    called by MS-DOS 3.30-6.00 APPEND
  7220. --------N-2A2003-----------------------------
  7221. INT 2A - NETWORK - ???
  7222.     AX = 2003h
  7223.     ???
  7224. Return: ???
  7225. Note:    called by MS-DOS 3.30-6.00 APPEND
  7226. --------N-2A7802-----------------------------
  7227. INT 2A - NETWORK - PC LAN PROG v1.31+ - GET LOGGED ON USER NAME
  7228.     AX = 7802h
  7229.     ES:DI -> 8-byte buffer to be filled
  7230. Return: AL = 00h if no user logged on to Extended Services
  7231.     AL <> 00h if user logged on to Extended Services
  7232.         buffer at ES:DI filled with name, padded to 8 chars with blanks.
  7233. --------D-2A80-------------------------------
  7234. INT 2A CU - NETWORK - BEGIN DOS CRITICAL SECTION
  7235.     AH = 80h
  7236.     AL = critical section number (00h-0Fh) (see #1206)
  7237. Notes:    normally hooked to avoid interrupting a critical section, rather than
  7238.       called
  7239.     the handler should ensure that none of the critical sections are
  7240.       reentered, usually by suspending a task which attempts to reenter
  7241.       an active critical section
  7242.     the DOS kernel does not invoke critical sections 01h and 02h unless it
  7243.       is patched.  DOS 3.1+ contains a zero-terminated list of words
  7244.       beginning at offset -11 from the Swappable Data Area
  7245.       (see INT 21/AX=5D06h); each word contains the offset within the
  7246.       DOS data segment of a byte which must be changed from C3h (RET)
  7247.       to 50h (POP AX) under DOS 3.x or from 00h to a nonzero value under
  7248.       DOS 4+ to enable use of critical sections.  For DOS 4+, all words in
  7249.       this list point at the byte at offset 0D0Ch.
  7250. SeeAlso: AH=81h,AH=82h,AX=8700h,INT 21/AX=5D06h,INT 21/AX=5D0Bh
  7251.  
  7252. (Table 1206)
  7253. Values for DOS critical section number:
  7254.  01h    DOS kernel, SHARE.EXE, DOSMGR
  7255.     apparently for maintaining the integrity of DOS/SHARE/NET
  7256.       data structures
  7257.  02h    DOS kernel, DOSMGR
  7258.     ensures that no multitasking occurs while DOS is calling an
  7259.       installable device driver
  7260.  05h    network redirector
  7261.  06h    DOS 4.x only IFSFUNC
  7262.  08h    ASSIGN.COM
  7263.  0Ah    MSCDEX
  7264.  0Fh    IBM PC LAN server (while intercepting INT 10/AH=06h,07h,0Eh)
  7265. --------D-2A81-------------------------------
  7266. INT 2A CU - NETWORK - END DOS CRITICAL SECTION
  7267.     AH = 81h
  7268.     AL = critical section number (00h-0Fh) (see #1206)
  7269. Notes:    normally hooked rather than called
  7270.     the handler should reawaken any tasks which were suspended due to an
  7271.       attempt to enter the specified critical section
  7272. SeeAlso: AH=80h,AH=82h,AX=8700h
  7273. --------D-2A82-------------------------------
  7274. INT 2A CU - NETWORK - END DOS CRITICAL SECTIONS 0 THROUGH 7
  7275.     AH = 82h
  7276. Notes:    called by the INT 21h function dispatcher for function 0 and functions
  7277.       greater than 0Ch except 59h, and on process termination
  7278.     the handler should reawaken any tasks which were suspended due to an
  7279.       attempt to enter one of the critical sections 0 through 7
  7280. SeeAlso: AH=81h
  7281. --------N-2A84-------------------------------
  7282. INT 2A CU - NETWORK - KEYBOARD BUSY LOOP
  7283.     AH = 84h
  7284. Note:    similar to DOS's INT 28h, called from inside the DOS keyboard input
  7285.       loop (i.e. INT 21/AH=07h or INT 21/AH=08h) to allow the network
  7286.       software to process requests
  7287. SeeAlso: INT 28
  7288. --------N-2A86-------------------------------
  7289. INT 2A U - PC Network v1.00 - RECEIVER.COM - ???
  7290.     AH = 86h
  7291.     ???
  7292. Return: ???
  7293. SeeAlso: AH=07h,AH=C4h
  7294. --------P-2A8700-----------------------------
  7295. INT 2A CU - PRINT - BEGIN BACKGROUND PRINTING
  7296.     AX = 8700h
  7297.     CF clear
  7298. Return: CF clear if OK to print in background now
  7299.     CF set if background printing not allowed at this time
  7300. Desc:    used to inform interested programs that PRINT is about to start its
  7301.       background processing, and allow those programs to postpone the
  7302.       processing if necessary
  7303. Notes:    when PRINT gains control and wants to begin printing, it calls this
  7304.       function.  If CF is clear on return, PRINT begins its background
  7305.       processing, and calls AX=8701h when it is done.  If CF is set on
  7306.       return, PRINT will relinquish control immediately, and will not
  7307.       call AX=8701h
  7308.     PCVENUS (an early network shell by IBM and CMU) hooks this call to
  7309.       prevent background printing while its own code is active
  7310. SeeAlso: AH=80h,AH=81h,AX=8701h
  7311. --------P-2A8701-----------------------------
  7312. INT 2A CU - PRINT - END BACKGROUND PRINTING
  7313.     AX = 8701h
  7314. Desc:    used to inform interested programs that PRINT has completed its
  7315.       background processing
  7316. Note:    called by PRINT after it has performed some background printing; not
  7317.       called if AX=8700h returned with CF set.
  7318. SeeAlso: AX=8700h
  7319. --------N-2A89-------------------------------
  7320. INT 2A U - PC Network v1.00 - RECEIVER.COM - ???
  7321.     AH = 89h
  7322.     AL = ???  (ASSIGN uses 08h)
  7323.     ???
  7324. Return: ???
  7325. --------I-2A90-------------------------------
  7326. INT 2A U - IBM PC 3270 EMULATION PROGRAM - ???
  7327.     AH = 90h
  7328.     ???
  7329. Return: ???
  7330. Note:    the LANtastic redirector and SERVER.EXE use this function with AL=01h,
  7331.       03h-07h,0Ch-11h
  7332. --------N-2AC2-------------------------------
  7333. INT 2A U - Network - ???
  7334.     AH = C2h
  7335.     AL = subfunction
  7336.         07h ???
  7337.         08h ???
  7338.     BX = 0001h
  7339.     ???
  7340. Return: ???
  7341. Note:    this function is called by the DOS 3.30-6.00 APPEND
  7342. --------N-2AC4-------------------------------
  7343. INT 2A U - PC Network v1.00 - RECEIVER.COM - ???
  7344.     AH = C4h
  7345.     AL = subfunction
  7346.         07h ???
  7347.         08h ???
  7348.     BX = ???
  7349.     ???
  7350. Return: ???
  7351. SeeAlso: AH=86h
  7352. --------N-2AD800-----------------------------
  7353. INT 2A U - Novell NetWare Lite - SERVER - SET ???
  7354.     AX = D800h
  7355. Return: nothing
  7356. Desc:    sets ??? flag, and sets ??? to initial value
  7357. Note:    called by CLIENT
  7358. SeeAlso: AX=D801h,AX=D850h
  7359. --------N-2AD801-----------------------------
  7360. INT 2A U - Novell NetWare Lite - SERVER - RESET ???
  7361.     AX = D801h
  7362. Return: nothing
  7363. Desc:    clears the ??? flag set by AX=D800h
  7364. Note:    called by CLIENT
  7365. SeeAlso: AX=D800h,AX=D850h
  7366. --------N-2AD850-----------------------------
  7367. INT 2A U - Novell NetWare Lite - CLIENT - INCREMENT ???
  7368.     AX = D850h
  7369. Return: nothing
  7370. Desc:    increments an internal byte-sized counter
  7371. Note:    this function is intercepted by DV/X 1.10 PEERSERV.DVR and the
  7372.       Advanced NetWare 4.0 DOS Requester
  7373. SeeAlso: AX=D851h
  7374. --------N-2AD851-----------------------------
  7375. INT 2A U - Novell NetWare Lite - CLIENT - RESET ???
  7376.     AX = D851h
  7377. Return: nothing
  7378. Desc:    resets an internal byte-sized counter to zero
  7379. Note:    this function is intercepted by DV/X 1.10 PEERSERV.DVR and the
  7380.       Advanced NetWare 4.0 DOS Requester
  7381. SeeAlso: AX=D850h
  7382. --------N-2AD852-----------------------------
  7383. INT 2A U - Novell NetWare - DOS Requester v1.03 - ???
  7384.     AX = D852h
  7385. Return: ???
  7386. Note:    calls the NetWare Lite SERVER installation check, and sets ??? pointer
  7387. SeeAlso: AX=D853h,INT 2F/AX=D880h
  7388. --------N-2AD853-----------------------------
  7389. INT 2A U - Novell NetWare - DOS Requester v1.03 - ???
  7390.     AX = D853h
  7391. Return: ???
  7392. Note:    clears the pointer set by AX=D852h
  7393. SeeAlso: AX=D852h
  7394. --------N-2AE0-------------------------------
  7395. INT 2A U - PC Network 1.00 - ???
  7396.     AH = E0h
  7397.     AL = subfunction??? (01h,02h, maybe others)
  7398.     ???
  7399. Return: ???
  7400. Note:    called by PCNet 1.00 NET.COM, a shell program from which others are run
  7401. --------N-2AFF90-----------------------------
  7402. INT 2A - PC/TCP PREDIR.EXE - ???
  7403.     AX = FF90h
  7404. Return: AX = ???
  7405. Note:    PREDIR.EXE is the network printer redirector included as part of the
  7406.       PC/TCP system by FTP Software, Inc.
  7407. --------N-2AFF91-----------------------------
  7408. INT 2A - PC/TCP PREDIR.EXE - ???
  7409.     AX = FF91h
  7410.     BX = ???
  7411. Return: AX = status???
  7412. --------N-2AFF92-----------------------------
  7413. INT 2A - PC/TCP PREDIR.EXE - INSTALLATION CHECK
  7414.     AX = FF92h
  7415. Return: AX = 0000h if installed
  7416.        BX = redirected printer port (FFFFh if no printers redirected)
  7417.        CX = version (CH = major, CL = minor)
  7418. Note:    PREDIR.EXE is the network printer redirector included as part of the
  7419.       PC/TCP system by FTP Software, Inc.
  7420. --------N-2AFF93-----------------------------
  7421. INT 2A - PC/TCP PREDIR.EXE - ???
  7422.     AX = FF93h
  7423. Return: AX = ???
  7424. --------N-2AFF94-----------------------------
  7425. INT 2A - PC/TCP PREDIR.EXE - ???
  7426.     AX = FF94h
  7427.     BX = ???
  7428.     CX = ???
  7429.     DX = ???
  7430. Return: AX = ???
  7431. Note:    PREDIR.EXE is the network printer redirector included as part of the
  7432.       PC/TCP system by FTP Software, Inc.
  7433. --------N-2AFF95-----------------------------
  7434. INT 2A - PC/TCP PREDIR.EXE - GET CONFIGURATION STRINGS
  7435.     AX = FF95h
  7436.     CX = what to get
  7437.         0000h ??? (returned pointer to "C:\COMMAND.COM")
  7438.         0001h spooling program
  7439.         0002h ???
  7440.         0003h spool file name
  7441.         0004h swap file name
  7442. Return: AX = status
  7443.         0000h successful
  7444.     BX:DX -> ASCIZ configuration string
  7445. --------N-2AFF96-----------------------------
  7446. INT 2A - PC/TCP PREDIR.EXE - SET PRINT JOB TERMINATION CONFIGURATION
  7447.     AX = FF96h
  7448.     CX = what to set
  7449.         0000h ???
  7450.         0001h print-on-hotkey state
  7451.         0002h print-on-exit state
  7452.         0003h print job timeout in clock ticks
  7453.         0004h print-on-EOF state
  7454.     BX = new value (0000h disabled, 0001h enabled except for timeout)
  7455. Return: AX = ???
  7456. SeeAlso: AX=FF97h
  7457. Note:    PREDIR.EXE is the network printer redirector included as part of the
  7458.       PC/TCP system by FTP Software, Inc.
  7459. --------N-2AFF97-----------------------------
  7460. INT 2A - PC/TCP PREDIR.EXE - GET PRINT JOB TERMINATION CONFIGURATION
  7461.     AX = FF97h
  7462.     CX = what to get
  7463.         0000h ???
  7464.         0001h print-on-hotkey state
  7465.         0002h print-on-exit state
  7466.         0003h print job timeout in clock ticks
  7467.         0004h print-on-EOF state
  7468. Return: AX = status
  7469.         0000h successful
  7470.     BX = old value (0000h disabled, 0001 enabled except for timeout)
  7471. SeeAlso: AX=FF96h
  7472. --------D-2B---------------------------------
  7473. INT 2B - DOS 2+ - RESERVED
  7474. Note:    this vector is not used in DOS versions <= 6.00, and points at an IRET
  7475. --------D-2C---------------------------------
  7476. INT 2C - DOS 2+ - RESERVED
  7477. Note:    this vector is not used in DOS versions <= 6.00, and points at an IRET
  7478. --------O-2C---------------------------------
  7479. INT 2C - STARLITE architecture - KERNEL API
  7480. Note:    STARLITE is an architecture by General Software for a series of MS-DOS
  7481.       compatible operating systems (OEM DOS, NETWORK DOS, and SMP DOS) to
  7482.       be released in 1991.    The interrupt number is subject to change
  7483.       before the actual release.
  7484. --------m-2C---------------------------------
  7485. INT 2C R - RM386 v6.00 - CLOAKING - CALL PROTECTED-MODE PASSALONG CHAIN
  7486. Note:    when this interrupt is invoked in V86 mode, RM386 will invoke the first
  7487.       in a chain of protected-mode handlers, and will only pass execution
  7488.       to the V86-mode INT 2C handler if none of the handlers in the
  7489.       passalong chain handle the call instead.  This is the method by which
  7490.       the real-mode stub of a cloaked application communicates with the
  7491.       protected-mode portion.
  7492. Program: RM386 (RAM-MAN/386) is the memory manager included in Helix Software's
  7493.       Netroom
  7494. SeeAlso: INT 2C/AX=0009h
  7495. --------m-2C0000-----------------------------
  7496. INT 2C P - RM386 v6.00 - CLOAKING - ALLOCATE GDT SELECTOR
  7497.     AX = 0000h
  7498.     EBX = base address
  7499.     CL = access mode byte
  7500.     CH = extended access mode byte (omit limit field)
  7501.     EDX = segment limit
  7502. Return: CF clear if successful
  7503.         AX = selector
  7504.     CF set on error
  7505.         AX = error code (see #1207)
  7506. Program: RM386 (RAM-MAN/386) is the memory manager included in Helix Software's
  7507.       Netroom
  7508. Note:    this INT 2C interface is used by Netroom's DPMI.EXE v3.00
  7509. SeeAlso: AX=0001h,AX=0002h,AX=0003h,AX=0004h,AX=0005h,INT 31/AH=57h
  7510.  
  7511. (Table 1207)
  7512. Values for RM386 Cloaking error code:
  7513.  0001h    no more selectors
  7514.  0002h    not a GDT ring 0 selector
  7515.  0003h    invalid selector (out of range, not user selector)
  7516.  0004h    selector not allocated
  7517. --------m-2C0001-----------------------------
  7518. INT 2C P - RM386 v6.00 - CLOAKING - FREE GDT SELECTOR
  7519.     AX = 0001h
  7520.     SI = selector
  7521. Return: CF clear if successful
  7522.     CF set on error
  7523.         AX = error code (see #1207)
  7524. SeeAlso: AX=0000h
  7525. --------m-2C0002-----------------------------
  7526. INT 2C P - RM386 v6.00 - CLOAKING - SET SEGMENT BASE ADDRESS
  7527.     AX = 0002h
  7528.     SI = selector
  7529.     EBX = new physical base addres
  7530. Return: CF clear if successful
  7531.     CF set on error
  7532.         AX = error code (see #1207)
  7533. Return: AX=0000h,AX=0003h,AX=0004h,INT 31/AX=0007h
  7534. --------m-2C0003-----------------------------
  7535. INT 2C P - RM386 v6.00 - CLOAKING - SET SEGMENT LIMIT
  7536.     AX = 0003h
  7537.     SI = selector
  7538.     EBX = new limit
  7539. Return: CF clear if successful
  7540.     CF set on error
  7541.         AX = error code (see #1207)
  7542. SeeAlso: AX=0000h,AX=0002h,AX=0004h,INT 31/AX=0008h
  7543. --------m-2C0004-----------------------------
  7544. INT 2C P - RM386 v6.00 - CLOAKING - SET SEGMENT ACCESS MODE
  7545.     AX = 0004h
  7546.     SI = selector
  7547.     CL = new access mode byte
  7548. Return: CF clear if successful
  7549.     CF set on error
  7550.         AX = error code (see #1207)
  7551. SeeAlso: AX=0000h,AX=0002h,AX=0003h,AX=0005h,INT 31/AX=0009h
  7552. --------m-2C0005-----------------------------
  7553. INT 2C P - RM386 v6.00 - CLOAKING - SET SEGMENT EXTENDED ACCESS MODE
  7554.     AX = 0005h
  7555.     SI = selector
  7556.     CL = new extended access mode byte (limit field ignored)
  7557. Return: CF clear if successful
  7558.     CF set on error
  7559.         AX = error code (see #1207)
  7560. SeeAlso: AX=0000h,AX=0002h,AX=0003h,AX=0004h,INT 31/AX=0009h
  7561. --------m-2C0006-----------------------------
  7562. INT 2C P - RM386 v6.00 - CLOAKING - GET PROTECTED-MODE INTERRUPT VECTOR
  7563.     AX = 0006h
  7564.     CL = vector
  7565. Return: CF clear
  7566.     DX:EBX -> current interrupt handler
  7567. SeeAlso: AX=0007h,INT 31/AX=0204h
  7568. --------m-2C0007-----------------------------
  7569. INT 2C P - RM386 v6.00 - CLOAKING - SET PROTECTED-MODE INTERRUPT VECTOR
  7570.     AX = 0007h
  7571.     CL = vector
  7572.     DX:EBX -> interrupt handler
  7573. Return: CF clear
  7574. SeeAlso: AX=0006h,INT 31/AX=0205h
  7575. --------m-2C0008-----------------------------
  7576. INT 2C P - RM386 v6.00 - CLOAKING - GET PASSALONG ADDRESS
  7577.     AX = 0008h
  7578. Return: CF clear
  7579.     DX:EBX = current passalong address
  7580. SeeAlso: AX=0009h,AX=002Ch
  7581. --------m-2C0009-----------------------------
  7582. INT 2C P - RM386 v6.00 - CLOAKING - SET PASSALONG ADDRESS
  7583.     AX = 0009h
  7584.     DX:EBX = new value for passalong address
  7585. Return: CF clear
  7586. Note:    when an INT 2C instruction is executed in V86 mode, RM386 calls the
  7587.       passalong address.  The handler should check whether the upcall
  7588.       is of interest to it, and if not it should jump to the old passalong
  7589.       address (retrieved with AX=0008h before the handler was installed)
  7590. SeeAlso: AX=0008h,AX=002Dh,INT 2C"CLOAKING"
  7591.  
  7592. (Table 1208)
  7593. Values RM386 Cloaking passalong address is called with:
  7594.     EAX = CS:IP of byte following INT 2C instruction invoking passalong
  7595.     SS:EBX -> caller registers (see #1209)
  7596.     CF clear
  7597.     others undefined
  7598. Return: CF clear: pass along to V86-mode INT 2C handler
  7599.     CF set: return immediately to V86 mode
  7600.  
  7601. Format of Cloaking caller registers:
  7602. Offset    Size    Description    (Table 1209)
  7603.  00h    DWORD    EDI
  7604.  04h    DWORD    ESI
  7605.  08h    DWORD    EBP
  7606.  0Ch    DWORD    reserved (ESP from PUSHAD instruction)
  7607.  10h    DWORD    EBX
  7608.  14h    DWORD    EDX
  7609.  18h    DWORD    ECX
  7610.  1Ch    DWORD    EAX
  7611.  20h    DWORD    error code
  7612.  24h    DWORD    EIP
  7613.  28h    WORD    CS
  7614.  2Ah    WORD    padding
  7615.  2Ch    DWORD    EFLAGS
  7616.  30h    DWORD    ESP
  7617.  34h    WORD    SS
  7618.  36h    WORD    padding
  7619. --remainder not available if protected-mode ring3 trap---
  7620.  38h    WORD    ES
  7621.  3Ah    WORD    padding
  7622.  3Ch    WORD    DS
  7623.  3Eh    WORD    padding
  7624.  40h    WORD    FS
  7625.  42h    WORD    padding
  7626.  44h    WORD    GS
  7627.  46h    WORD    padding
  7628. --------m-2C000A-----------------------------
  7629. INT 2C P - RM386 v6.00 - CLOAKING - GET BASE ADDRESS OF GDT SELECTOR
  7630.     AX = 000Ah
  7631.     SI = selector
  7632. Return: CF clear if successful
  7633.         EBX = segment base address
  7634.     CF set on error
  7635.         AX = error code (see #1207)
  7636. Program: RM386 (RAM-MAN/386) is the memory manager included in Helix Software's
  7637.       Netroom
  7638. SeeAlso: AX=0000h,AX=0002h,AX=000Bh
  7639. --------m-2C000B-----------------------------
  7640. INT 2C P - RM386 v6.00 - CLOAKING - GET SELECTOR LIMIT
  7641.     AX = 000Bh
  7642.     SI = selector
  7643. Return: CF clear if successful
  7644.         EBX = segment base address
  7645.     CF set on error
  7646.         AX = error code (see #1207)
  7647. SeeAlso: AX=000Ah
  7648. --------m-2C---------------------------------
  7649. INT 2C P - RM386 v6.00 - CLOAKING - RESERVED FOR CLOAKED BIOS USE UNDER WINDOWS
  7650.     AX = function (000Ch-001Fh)
  7651. --------m-2C0020-----------------------------
  7652. INT 2C P - RM386 v6.00 - CLOAKING - GET SIZE OF PROTECTED-MODE STATE
  7653.     AX = 0020h
  7654. Return: EAX = number of bytes required for storing state
  7655. SeeAlso: AX=0021h,AX=0022h
  7656. --------m-2C0021-----------------------------
  7657. INT 2C P - RM386 v6.00 - CLOAKING - SAVE PROTECTED-MODE STATE
  7658.     AX = 0021h
  7659.     ES:EDI -> buffer for protected-mode state
  7660. Return: CF clear
  7661.     buffer filled
  7662. SeeAlso: AX=0020h,AX=0022h
  7663. --------m-2C0022-----------------------------
  7664. INT 2C P - RM386 v6.00 - CLOAKING - RESTORE PROTECTED-MODE STATE
  7665.     AX = 0022h
  7666.     DS:ESI -> buffer containing previously-saved protected-mode state
  7667. Return: CF clear if successful
  7668.         state restored
  7669.     CF set on error (invalid buffer contents)
  7670. SeeAlso: AX=0020h,AX=0021h
  7671. --------m-2C0023-----------------------------
  7672. INT 2C P - RM386 v6.00 - CLOAKING - ISSUE PROTECTED-MODE XMS CALL
  7673.     AX = 0023h
  7674. Note:    not currently implemented--NOP in RM386 v6.00
  7675. --------m-2C0024-----------------------------
  7676. INT 2C P - RM386 v6.00 - CLOAKING - SET V86-MODE STACK
  7677.     AX = 0024h
  7678.     DX:EBX = new value for V86-mode SS:ESP
  7679. Return: nothing
  7680. --------m-2C0025-----------------------------
  7681. INT 2C P - RM386 v6.00 - CLOAKING - CALL V86-MODE PROCEDURE
  7682.     AX = 0025h
  7683.     DS:EBX -> client register structure (see #1209)
  7684. Return: CF clear if successful
  7685.         client register structure updated
  7686.     CF set if no more nested procedure call space available
  7687. Note:    this call uses the V86-mode stack supplied in the client structure, and
  7688.       calls the routine specified by CS:IP in the client structure
  7689. SeeAlso: AX=0026h,AX=0027h,INT 31/AX=0301h
  7690. --------m-2C0026-----------------------------
  7691. INT 2C P - RM386 v6.00 - CLOAKING - CALL V86-MODE INTERRUPT HANDLER
  7692.     AX = 0026h
  7693.     DS:EBX -> client register structure (see #1209)
  7694.     CX = interrupt number
  7695. Return: CF clear if successful
  7696.         client register structure updated
  7697.     CF set if no more nested procedure call space available
  7698. Note:    this call uses the V86-mode stack supplied in the client structure
  7699. SeeAlso: AX=0025h,AX=0027h,INT 31/AX=0300h
  7700. --------m-2C0027-----------------------------
  7701. INT 2C P - RM386 v6.00 - CLOAKING - CHAIN TO V86-MODE INTERRUPT HANDLER
  7702.     AX = 0027h
  7703.     DS:EBX -> client register structure (see #1209)
  7704. Return: CF clear if successful
  7705.         client register structure updated
  7706.     CF set if no more nested procedure call space available
  7707. Note:    this call uses the V86-mode stack supplied in the client structure,
  7708.       and jumps to the address specified by CS:IP in the client structure
  7709. SeeAlso: AX=0025h,AX=0026h
  7710. --------m-2C0028-----------------------------
  7711. INT 2C P - RM386 v6.00 - CLOAKING - GET ESP0 FROM TSS
  7712.     AX = 0028h
  7713. Return: CF clear
  7714.     EAX = TSS's ESP0
  7715. Program: RM386 (RAM-MAN/386) is the memory manager included in Helix Software's
  7716.       Netroom
  7717. --------m-2C0029-----------------------------
  7718. INT 2C P - RM386 v6.00 - CLOAKING - SET SECONDARY STACK
  7719.     AX = 0029h
  7720.     DX:EBX = new value for SS:ESP of ring 3 secondary stack
  7721. Return: CF clear
  7722. Desc:    inform RM386 of the ring 3 interrupt stack location
  7723. --------m-2C002A-----------------------------
  7724. INT 2C P - RM386 v6.00 - CLOAKING - SET 8259 IRQ BASE VECTORS
  7725.     AX = 002Ah
  7726.     BL = base vector of master interrupt controller
  7727.     CL = base vector of slave interrupt controller
  7728. Note:    this call merely informs RM386 that the caller has changed the
  7729.       interrupt mappings
  7730. SeeAlso: INT 67/AX=DE0Bh
  7731. --------m-2C002BCH81-------------------------
  7732. INT 2C P - RM386 v6.00 - CLOAKING - PROTECTED-MODE VIRTUAL DMA SERVICES
  7733.     AX = 002Bh
  7734.     CH = 81h
  7735.     CL = subfunction (02h-0Ch)
  7736.     other registers as appropriate for subfunction
  7737. Return: varies by function
  7738.     CF set on error
  7739. Note:    these functions are equivalent to the INT 4B/AX=81xxh subfunctions
  7740.       with the same numbers
  7741. SeeAlso: INT 4B/AX=8102h,INT 4B/AX=810Ch
  7742. --------m-2C002C-----------------------------
  7743. INT 2C P - RM386 v6.00 - CLOAKING - GET PORT-TRAPPING PASSALONG
  7744.     AX = 002Ch
  7745. Return: CF clear
  7746.     DX:EBX = current I/O trapping passalong address
  7747. SeeAlso: AX=0008h,AX=002Dh
  7748. --------m-2C002D-----------------------------
  7749. INT 2C P - RM386 v6.00 - CLOAKING - SET PORT-TRAPPING PASSALONG
  7750.     AX = 002Dh
  7751.     DX:EBX = new I/O trapping passalong address
  7752. Return: CF clear
  7753. Note:    RM386 calls the passalong address whenever an access to a monitored
  7754.       I/O port is attempted; the handler should check whether it is a port
  7755.       that it is interested in, and if not call the previous passalong
  7756.       address (which was retrieved with AX=002Ch before installing the
  7757.       new handler)
  7758. SeeAlso: AX=0009h,AX=002Ch,INT 67/AX=5DEAh
  7759.  
  7760. (Table 1210)
  7761. Values RM386 Cloaking port-trapping passalong address is called with:
  7762.     EAX = CS:IP of faulting instruction (unless executing in protected-mode
  7763.         ring 3)
  7764.     SS:EBX -> caller register structure (see #1209)
  7765.         check EFLAGS V86-mode bit for type
  7766.     CX = first two bytes of I/O instruction which was trapped
  7767.     DX = port to which I/O is being performed
  7768.     CF clear
  7769. Return: CF clear if RM386 should perform I/O operation
  7770.     CF set if I/O should be skipped
  7771. Note:    RM386 skips the trapped I/O instruction, so the passalong handler
  7772.       should not modify the client CS:EIP
  7773. --------m-2C002E-----------------------------
  7774. INT 2C P - RM386 v6.00 - CLOAKING - TRAP I/O PORT
  7775.     AX = 002Eh
  7776.     DX = port number to trap
  7777. Return: CF clear if successful
  7778.     CF set on error (port out of range or reserved)
  7779. Program: RM386 (RAM-MAN/386) is the memory manager included in Helix Software's
  7780.       Netroom
  7781. SeeAlso: AX=002Fh,AX=0030h
  7782. --------m-2C002F-----------------------------
  7783. INT 2C PU - RM386 v6.00 - CLOAKING - UNTRAP I/O PORT
  7784.     AX = 002Fh
  7785.     DX = port number for which to cancel trapping
  7786. Return: CF clear if successful
  7787.     CF set on error (port out of range or reserved)
  7788. SeeAlso: AX=002Eh,AX=0030h
  7789. --------m-2C0030-----------------------------
  7790. INT 2C PU - RM386 v6.00 - CLOAKING - GET TRAPPING STATE OF SPECIFIED PORT
  7791.     AX = 0030h
  7792.     DX = port number
  7793. Return: CF clear if successful
  7794.        BX = current state (0000h not trapped, 0001h trapped)
  7795.     CF set on error (port out of range or reserved)
  7796. SeeAlso: AX=002Eh,AX=002Fh
  7797. --------m-2C0031-----------------------------
  7798. INT 2C PU - RM386 v6.00 - BUG
  7799.     AX = 0031h
  7800. Program: RM386 (RAM-MAN/386) is the memory manager included in Helix Software's
  7801.       Netroom
  7802. Note:    due to a fencepost error, RM386 v6.00 will branch unpredictably if
  7803.       invoked with this function
  7804. --------!---Section--------------------------
  7805.