home *** CD-ROM | disk | FTP | other *** search
/ Power CD-ROM!! 7 / POWERCD7.ISO / prgmming / inter43 / interrup.k < prev    next >
Text File  |  1994-11-06  |  198KB  |  5,619 lines

  1. Interrupt List, part 11 of 12
  2. This compilation is Copyright (c) 1989,1990,1991,1992,1993,1994 Ralf Brown
  3. --------I-68---------------------------------
  4. INT 68 - Sangoma CCPOP 3270 resident module
  5. SeeAlso: INT 67"Sangoma",INT 92"Sangoma"
  6. --------N-68---------------------------------
  7. INT 68 - Novell NetWare LU6.2
  8. Note:    the installation check consists of testing for the signature string
  9.       "APPC/PC" nine bytes before the interrupt handler
  10. SeeAlso: AH=01h/SF=1B00h,AH=FAh
  11. --------h-68---------------------------------
  12. INT 68 - Hewlett Packard - EXTENDED BIOS - 8041 SERVICE REQUEST ISR
  13. SeeAlso: INT 08"IRQ0",INT 69"Hewlett Packard"
  14. --------N-6801--SF1B00-----------------------
  15. INT 68 - APPC/PC - NETWORK DEVICE CONTROL - DISPLAY
  16.     AH = 01h subfn 1B00h
  17.     DS:DX -> control block (see #2108)
  18. Return: control block updated
  19. SeeAlso: AH=01h/SF=2000h,AH=01h/SF=2B00h,INT 68"Novell"
  20.  
  21. Format of APPC/PC "DISPLAY" control block:
  22. Offset    Size    Description    (Table 2108)
  23.  00h 12 BYTEs    reserved
  24.  0Ch    WORD    1B00h (verb "DISPLAY")
  25.  0Eh  6 BYTEs    00h
  26.  14h    DWORD    (big-endian) return code (see #2109)
  27.  18h    WORD    00h
  28.  1Ah  8 BYTEs    (big-endian) logical unit ID
  29.  22h  8 BYTEs    (big-endian) partner logical unit name
  30.  2Ah  8 BYTEs    (big-endian) mode name
  31.  32h    BYTE    logical unit session limit
  32.  33h    BYTE    partner logical unit session limit
  33.  34h    BYTE    node maximum negotiable session limit
  34.  35h    BYTE    current session limit
  35.  36h    BYTE    minimum negotiated winner limit
  36.  37h    BYTE    maximum negotiated loser limit
  37.  38h    BYTE    active session count
  38.  39h    BYTE    active CONWINNER session count
  39.  3Ah    BYTE    active CONLOSER session count
  40.  3Bh    BYTE    session termination count
  41.  3Ch    BYTE    bit 7: SESSION_TERMINATION_TARGET_DRAIN
  42.         bit 6: SESSION_TERMINATION_SOURCE_DRAIN
  43.  
  44. (Table 2109)
  45. Values for APPC/PC return code:
  46.  0000h    successful
  47.  0001h    BAD_TP_ID
  48.  0002h    BAD_CONV_ID
  49.  0003h    bad logical unit ID
  50.  0008h    no physical unit attached
  51.  0110h    bad state
  52.  01B1h    BAD_PART_LUNAME
  53.  01B2h    bad mode name
  54.  0201h    physical unit already active
  55.  0211h    logical unit already active
  56.  0212h    BAD_PART_SESS
  57.  0213h    BAD_RU_SIZES
  58.  0214h    BAD_MODE_SESS
  59.  0216h    BAD_PACING_CNT
  60.  0219h    EXTREME_RUS
  61.  021Ah    SNASVCMG_1
  62.  0223h    SSCP_CONNECTED_LU
  63.  0230h    invalid change
  64.  0243h    too many TPs
  65.  0272h    adapter close failure
  66.  0281h    GET_ALLOC_BAD_TYPE
  67.  0282h    unsuccessful
  68.  0283h    DLC failure
  69.  0284h    unrecognized DLC
  70.  0286h    duplicate DLC
  71.  0301h    SSCP_PU_SESSION_NOT_ACTIVE
  72.  0302h    data exceeds RU size
  73.  0401h    invalid direction
  74.  0402h    invalid type
  75.  0403h    segment overlap
  76.  0404h    invalid first character
  77.  0405h    table error
  78.  0406h    conversion error
  79.  F0010000h    APPC disabled
  80.  F0020000h    APPC busy
  81.  F0030000h    APPC abended
  82.  F0040000h    incomplete
  83. --------N-6801--SF2000-----------------------
  84. INT 68 - APPC/PC - NETWORK DEVICE CONTROL - ATTACH PHYSICAL UNIT
  85.     AH = 01h subfn 2000h
  86.     DS:DX -> control block (see #2110)
  87. Return: control block updated
  88. SeeAlso: AH=01h/SF=2100h,AH=01h/SF=2B00h
  89.  
  90. Format of APPC/PC "Attach Physical Unit" control block:
  91. Offset    Size    Description    (Table 2110)
  92.  00h 12 BYTEs    reserved
  93.  0Ch    WORD    2000h (verb "Attach Physical Unit")
  94.  0Eh  6 BYTEs    00h
  95.  14h    DWORD    (big-endian) return code (see #2109)
  96.  18h    WORD    00h
  97.  1Ah    BYTE    version
  98.  1Bh    BYTE    release
  99.  1Ch  8 BYTEs    (big-endian) net name
  100.  24h  8 BYTEs    (big-endian) physical unit name
  101.  2Ch  8 BYTEs    00h
  102.  34h    DWORD    pointer to SYSTEM_LOG_EXIT routine, FFFFFFFFh=don't log errors
  103.         (see also AH=01h/SF=2100h)
  104.  38h    DWORD    00h
  105.  3Ch    BYTE    00h RETURN_CONTROL: COMPLETE
  106.         01h RETURN_CONTROL: INCOMPLETE
  107. --------N-6801--SF2100-----------------------
  108. INT 68 - APPC/PC - NETWORK DEVICE CONTROL - ATTACH LOGICAL UNIT
  109.     AH = 01h subfn 2100h
  110.     DS:DX -> control block (see #2111)
  111. Return: control block updated
  112. SeeAlso: AH=01h/SF=2000h,AH=01h/SF=2200h,AH=01h/SF=2B00h
  113.  
  114. Format of APPC/PC "Attach Logical Unit" control block:
  115. Offset    Size    Description    (Table 2111)
  116.  00h 12 BYTEs    reserved
  117.  0Ch    WORD    2100h (verb "Attach Logical Unit")
  118.  0Eh  6 BYTEs    00h
  119.  14h    DWORD    (big-endian) return code (see #2109)
  120.  18h    WORD    70  offset to partner logical unit record
  121.  1Ah  8 BYTEs    (big-endian) logical unit name
  122.  22h  8 BYTEs    (big-endian) logical unit ID
  123.  2Ah    BYTE    logical unit local address
  124.  2Bh    BYTE    logical unit session limit
  125.  2Ch    DWORD    pointer to CREATE_TP_EXIT routine,
  126.         FFFFFFFFh = reject incoming ALLOCATEs
  127.         00000000h = queue ALLOCATEs
  128.  30h    DWORD    00h
  129.  34h    DWORD    pointer to SYSTEM_LOG_EXIT routine, FFFFFFFFh=don't log errors
  130.  38h    DWORD    00h
  131.  3Ch    BYTE    maximum TPs
  132.  3Dh    BYTE    queue depth
  133.  3Eh    DWORD    pointer to LU_LU_PASSWORD_EXIT routine, FFFFFFFFh=no pswd exit
  134.  42h    DWORD    00h
  135.  46h    WORD    total length of partner records
  136.  48h    var    array of partner logical unit records (see #2112)
  137.  
  138. Format of APPC/PC partner logical unit record:
  139. Offset    Size    Description    (Table 2112)
  140.  00h    WORD    length of this partner logical unit record
  141.  02h    WORD    42  offset to mode records
  142.  04h  8 BYTEs    (big-endian) partner logical unit name
  143.  0Ch    BYTE    partner logical unit security capabilities
  144.         bit 7: already verified
  145.         bit 6: conversation level security
  146.         bit 5: session level security
  147.  0Dh    BYTE    partner logical unit session limit
  148.  0Eh    WORD    partner logical unit maximum MC_SEND_LL
  149.  10h  8 BYTEs    (big-endian) partner logical unit DLC name
  150.  18h    BYTE    partner logical unit adapter number
  151.  19h 17 BYTEs    (counted string) partner logical unit adapter address
  152.  2Ah    WORD    total length of mode records
  153.  2Ch 16N BYTEs    array of mode records (see #2113)
  154.  
  155. Format of mode record:
  156. Offset    Size    Description    (Table 2113)
  157.  00h    WORD    16  length of this mode record
  158.  02h  8 BYTEs    (big-endian) mode name
  159.  0Ah    WORD    RU_SIZE high bound
  160.  0Ch    WORD    RU_SIZE low bound
  161.  0Eh    BYTE    mode maximum negotiable session limit
  162.  0Fh    BYTE    pacing size for receive
  163.  
  164. Routines defined by LU_LU_PASSWORD_EXIT, CREATE_TP_EXIT, and SYSTEM_LOG_EXIT
  165. pointers are called by pushing the DWORD pointer to the verb on the stack and
  166. then performing a FAR call.
  167.  
  168. Format of ACCESS_LU_LU_PW verb:
  169. Offset    Size    Description    (Table 2114)
  170.  00h 12 BYTEs    reserved
  171.  0Ch    WORD    1900h (verb "ACCESS_LU_LU_PW")
  172.  0Eh  8 BYTEs    (big-endian) logical unit ID
  173.  16h  8 BYTEs    (big-endian) logical unit name
  174.  1Eh  8 BYTEs    (big-endian) partner logical unit name
  175.  26h 17 BYTEs    (counted string) partner fully qualified logical unit name
  176.  37h    BYTE    password available (0=no, 1=yes)
  177.  38h  8 BYTEs    password
  178.  
  179. Format of CREATE_TP verb:
  180. Offset    Size    Description    (Table 2115)
  181.  00h 12 BYTEs    reserved
  182.  0Ch    WORD    2300h (verb "CREATE_TP")
  183.  0Eh  6 BYTEs    00h
  184.  14h    DWORD    (big-endian) sense code (see #2116)
  185.  18h  8 BYTEs    (big-endian) TP ID
  186.  20h  8 BYTEs    (big-endian) logical unit ID
  187.  28h    DWORD    (big-endian) conversation ID
  188.  2Ch    BYTE    0 basic conversation, 1 mapped conversation
  189.  2Dh    BYTE    0 no sync level, 1 confirm
  190.  2Eh    BYTE    reserved
  191.  2Fh 65 BYTEs    (counted string) transaction program name
  192.  70h  6 BYTEs    00h
  193.  76h    WORD    length of ERROR_LOG_DATA to return
  194.  78h    DWORD    pointer to ERROR_LOG_DATA buffer
  195.  7Ch  8 BYTEs    (big-endian) partner logical unit name
  196.  84h 18 BYTEs    (counted string) partner fully qualified logical unit name
  197.  96h  8 BYTEs    (big-endian) mode name
  198.  9Eh 12 BYTEs    00h
  199.  AAh 11 BYTEs    (counted string) password
  200.  B5h 11 BYTEs    (counted string) user ID
  201.  C0h    BYTE    0 verification should be performed
  202.         1 already verified
  203.  
  204. (Table 2116)
  205. Values for APPC/PC sense code:
  206.  00000000h    Ok
  207.  080F6051h    SECURITY_NOT_VALID
  208.  084B6031h    TP_NOT_AVAIL_RETRY
  209.  084C0000h    TP_NOT_AVAIL_NO_RETRY
  210.  10086021h    TP_NAME_NOT_RECOGNIZED
  211.  10086034h    CONVERSATION_TYPE_MISMATCH
  212.  10086041h    SYNC_LEVEL_NOT_SUPPORTED
  213.  
  214. Format of SYSLOG verb:
  215. Offset    Size    Description    (Table 2117)
  216.  00h 12 BYTEs    reserved
  217.  0Ch    WORD    2600h (verb "SYSLOG")
  218.  0Eh 10 BYTEs    00h
  219.  18h    WORD    (big-endian) type
  220.  1Ah    DWORD    (big-endian) subtype
  221.  1Eh    DWORD    pointer to ADDITIONAL_INFO
  222.  22h    DWORD    (big-endian) conversation ID
  223.  26h  8 BYTEs    (big-endian) TP ID
  224.  2Eh  8 BYTEs    (big-endian) physical unit or logical unit name
  225.  36h    WORD    length of data
  226.  38h    DWORD    pointer to data
  227.  3Ch    BYTE    00h
  228. --------N-6801--SF2200-----------------------
  229. INT 68 - APPC/PC - NETWORK DEVICE CONTROL - DETACH LOGICAL UNIT
  230.     AH = 01h subfn 2200h
  231.     DS:DX -> control block (see #2118)
  232. Return: control block updated
  233. SeeAlso: AH=01h/SF=2000h,AH=01h/SF=2100h,AH=01h/SF=2700h
  234.  
  235. Format of APPC/PC "Detach Logical Unit" control block:
  236. Offset    Size    Description    (Table 2118)
  237.  00h 12 BYTEs    reserved
  238.  0Ch    WORD    2200h (verb "Detach Logical Unit")
  239.  0Eh  6 BYTEs    00h
  240.  14h    DWORD    (big-endian) return code (see #2109)
  241.  18h  8 BYTEs    (big-endian) logical unit ID
  242.  20h    BYTE    00h
  243. --------N-6801--SF2700-----------------------
  244. INT 68 - APPC/PC - NETWORK DEVICE CONTROL - DETACH PHYSICAL UNIT
  245.     AH = 01h subfn 2700h
  246.     DS:DX -> control block (see #2119)
  247. Return: control block updated
  248. SeeAlso: AH=01h/SF=2000h,AH=01h/SF=2100h,AH=01h/SF=2200h
  249.  
  250. Format of APPC/PC "Detach Physical Unit" control block:
  251. Offset    Size    Description    (Table 2119)
  252.  00h 12 BYTEs    reserved
  253.  0Ch    WORD    2700h (verb "Detach Physical Unit")
  254.  0Eh  6 BYTEs    00h
  255.  14h    DWORD    (big-endian) return code (see #2109)
  256.  18h    BYTE    00h  type: hard
  257.         01h  type: soft
  258. --------N-6801--SF2B00-----------------------
  259. INT 68 - APPC/PC - NETWORK DEVICE CONTROL - ACTIVATE DLC
  260.     AH = 01h subfn 2B00h
  261.     DS:DX -> control block (see #2120)
  262. Return: control block updated
  263. SeeAlso: AH=01h/SF=1B00h,AH=01h/SF=2000h
  264.  
  265. Format of APPC/PC "Activate DLC" control block:
  266. Offset    Size    Description    (Table 2120)
  267.  00h 12 BYTEs    reserved
  268.  0Ch    WORD    2B00h (verb "Activate DLC")
  269.  0Eh  6 BYTEs    00h
  270.  14h    DWORD    (big-endian) return code (see #2109)
  271.  18h  8 BYTEs    (big-endian) DLC name
  272.  20h    BYTE    adapter number
  273. --------N-6802--SF0100-----------------------
  274. INT 68 - APPC/PC - CONNECTION CONTROL - ALLOCATE
  275.     AH = 02h subfn 0100h
  276.     DS:DX -> control block (see #2121)
  277. Return: control block updated
  278. SeeAlso: AH=02h/SF=0500h
  279.  
  280. Format of APPC/PC "Allocate" control block:
  281. Offset    Size    Description    (Table 2121)
  282.  00h 12 BYTEs    reserved
  283.  0Ch    WORD    0100h (verb "Allocate" or "MC_Allocate")
  284.  0Eh    BYTE    1 if MC_ (mapped conversation) form of verb
  285.         0 if basic verb
  286.  0Fh  5 BYTEs    reserved (0)
  287.  14h    WORD    (big-endian) primary return code (see #2122)
  288.  16h    DWORD    (big-endian) error code (see #2123)
  289.  1Ah  8 BYTEs    (big-endian) TP_ID
  290.  22h    DWORD    (big-endian) conversation ID
  291.  26h    BYTE    (MC_Allocate only) conversation type
  292.         0 basic conversation
  293.         1 mapped conversation
  294.  27h    BYTE    SYNC_LEVEL (00h none, 01h confirm)
  295.  28h    WORD    0000h
  296.  2Ah    BYTE    RETURN_CONTROL
  297.         00h when session allocated
  298.         01h immediate
  299.         02h when session free
  300.  2Bh  8 BYTEs    00h
  301.  33h  8 BYTEs    (big-endian) partner logical unit name
  302.  3Bh  8 BYTEs    (big-endian) mode name
  303.  43h 65 BYTEs    (counted string) TP name
  304.  84h    BYTE    security (00h none, 01h same, 02h pgm)
  305.  85h 11 BYTEs    00h
  306.  90h 11 BYTEs    (counted string) password
  307.  9Bh 11 BYTEs    (counted string) user ID
  308.  A6h    WORD    PIP_DATA length
  309.  A8h    DWORD    pointer to PIP_DATA
  310.  
  311. (Table 2122)
  312. Values for APPC/PC primary return code:
  313.  0000h    successful
  314.  0001h    parameter check
  315.  0002h    state check
  316.  0003h    allocation error
  317.  0005h    deallocate abended
  318.  0006h    deallocate abended program
  319.  0007h    deallocate abended SVC
  320.  0008h    deallocate abended timer
  321.  0009h    deallocate normal return
  322.  000Ah    data posting blocked
  323.  000Bh    posting not active
  324.  000Ch    PROG_ERROR_NO_TRUNC
  325.  000Dh    PROG_ERROR_TRUNC
  326.  000Eh    PROG_ERROR_PURGING
  327.  000Fh    CONV_FAILURE_RETRY
  328.  0010h    CONV_FAILURE_NO_RETRY
  329.  0011h    SVC_ERROR_NO_TRUNC
  330.  0012h    SVC_ERROR_TRUNC
  331.  0013h    SVC_ERROR_PURGING
  332.  0014h    unsuccessful
  333.  0018h    CNOS partner logical unit reject
  334.  0019h    conversation type mixed
  335.  F001h    APPC disabled
  336.  F002h    APPC busy
  337.  F003h    APPC abended
  338.  F004h    incomplete
  339.  
  340. (Table 2123)
  341. Values for APPC/PC error code:
  342.  0001h    bad TP ID
  343.  0002h    bad conversation ID
  344.  0004h    allocation error, no retry
  345.  0005h    allocation error, retry
  346.  0006h    data area crosses segment boundary
  347.  0010h    bad TPN length
  348.  0011h    bad CONV length
  349.  0012h    bad SYNC level
  350.  0013h    bad security selection
  351.  0014h    bad return control
  352.  0015h    SEC_TOKENS too big
  353.  0016h    PIP_LEN incorrect
  354.  0017h    no use of SNASVCMG
  355.  0018h    unknown partner mode
  356.  0031h    confirm: SYNC_NONE
  357.  0032h    confirm: bad state
  358.  0033h    confirm: NOT_LL_BDY
  359.  0041h    confirmed: bad state
  360.  0051h    deallocate: bad type
  361.  0052h    deallocate: flush bad state
  362.  0053h    deallocate: confirm bad state
  363.  0055h    deallocate: NOT_LL_BDY
  364.  0057h    deallocate: log LL_WRONG
  365.  0061h    flush: not send state
  366.  0091h    post on receipt: invalid length
  367.  0092h    post on receipt: not in receive state
  368.  0093h    post on receipt: bad fill
  369.  00A1h    prepare to receive:invalid type
  370.  00A2h    prepare to receive: unfinished LL
  371.  00A3h    prepare to receive: not in send state
  372.  00B1h    receive and wait: bad state
  373.  00B2h    receive and wait: NOT_LL_BDY
  374.  00B5h    receive and wait: bad fill
  375.  00C1h    receive immediate: not in receive state
  376.  00C4h    receive immediate: bad fill
  377.  00E1h    request to send: not in receive state
  378.  00F1h    send data: bad LL
  379.  00F2h    send data: not in send state
  380.  0102h    send error: log LL wrong
  381.  0103h    send error: bad type
  382.  0121h    test: invalid type
  383.  0122h    test: not in receive state
  384. --------N-6802--SF0300-----------------------
  385. INT 68 - APPC/PC - CONNECTION CONTROL - CONFIRM
  386.     AH = 02h subfn 0300h
  387.     DS:DX -> control block (see #2124)
  388. Return: control block updated
  389. SeeAlso: AH=02h/SF=0400h
  390.  
  391. Format of APPC/PC "Confirm" control block:
  392. Offset    Size    Description    (Table 2124)
  393.  00h 12 BYTEs    reserved
  394.  0Ch    WORD    0300h (verb "Confirm" or "MC_Confirm")
  395.  0Eh    BYTE    1 if MC_ (mapped conversation) form of verb
  396.         0 if basic verb
  397.  0Fh  5 BYTEs    reserved (0)
  398.  14h    WORD    (big-endian) primary return code (see #2122)
  399.  16h    DWORD    (big-endian) error code (see #2123)
  400.  1Ah  8 BYTEs    (big-endian) TP_ID
  401.  22h    DWORD    (big-endian) conversation ID
  402.  26h    BYTE    request to send received (0=no, 1=yes)
  403. --------N-6802--SF0400-----------------------
  404. INT 68 - APPC/PC - CONNECTION CONTROL - CONFIRMED
  405.     AH = 02h subfn 0400h
  406.     DS:DX -> control block (see #2125)
  407. Return: control block updated
  408. SeeAlso: AH=02h/SF=0300h
  409.  
  410. Format of APPC/PC "Confirmed" control block:
  411. Offset    Size    Description    (Table 2125)
  412.  00h 12 BYTEs    reserved
  413.  0Ch    WORD    0400h (verb "Confirmed" or "MC_Confirmed")
  414.  0Eh    BYTE    1 if MC_ (mapped conversation) form of verb
  415.         0 if basic verb
  416.  0Fh  5 BYTEs    reserved (0)
  417.  14h    WORD    (big-endian) primary return code (see #2122)
  418.  16h    DWORD    (big-endian) error code (see #2123)
  419.  1Ah  8 BYTEs    (big-endian) TP_ID
  420.  22h    DWORD    (big-endian) conversation ID
  421. --------N-6802--SF0500-----------------------
  422. INT 68 - APPC/PC - CONNECTION CONTROL - DEALLOCATE
  423.     AH = 02h subfn 0500h
  424.     DS:DX -> control block (see #2126)
  425. Return: control block updated
  426. SeeAlso: AH=02h/SF=0100h,AH=02h/SF=0300h
  427.  
  428. Format of APPC/PC "Deallocate" control block:
  429. Offset    Size    Description    (Table 2126)
  430.  00h 12 BYTEs    reserved
  431.  0Ch    WORD    0500h (verb "Deallocate" or "MC_Deallocate")
  432.  0Eh    BYTE    1 if MC_ (mapped conversation) form of verb
  433.         0 if basic verb
  434.  0Fh  5 BYTEs    reserved (0)
  435.  14h    WORD    (big-endian) primary return code (see #2122)
  436.  16h    DWORD    (big-endian) error code (see #2123)
  437.  1Ah  8 BYTEs    (big-endian) TP_ID
  438.  22h    DWORD    (big-endian) conversation ID
  439.  26h    BYTE    00h
  440.  27h    BYTE    type
  441.         00h SYNC_LEVEL
  442.         01h FLUSH
  443.         02h ABEND_PROC
  444.         03h ABEND_SVC
  445.         04h ABEND_TIMER
  446.         05h ABEND
  447.  28h    WORD    (MC_Deallocate only) length of error log data
  448.  2Ah    DWORD    (MC_Deallocate only) pointer to error log data
  449. --------N-6802--SF0600-----------------------
  450. INT 68 - APPC/PC - CONNECTION CONTROL - FLUSH
  451.     AH = 02h subfn 0600h
  452.     DS:DX -> control block (see #2127)
  453. Return: control block updated
  454. SeeAlso: AH=02h/SF=0300h
  455.  
  456. Format of APPC/PC "Flush" control block:
  457. Offset    Size    Description    (Table 2127)
  458.  00h 12 BYTEs    reserved
  459.  0Ch    WORD    0600h (verb "Flush" or "MC_Flush")
  460.  0Eh    BYTE    1 if MC_ (mapped conversation) form of verb
  461.         0 if basic verb
  462.  0Fh  5 BYTEs    reserved (0)
  463.  14h    WORD    (big-endian) primary return code (see #2122)
  464.  16h    DWORD    (big-endian) error code (see #2123)
  465.  1Ah  8 BYTEs    (big-endian) TP_ID
  466.  22h    DWORD    (big-endian) conversation ID
  467. --------N-6802--SF0700-----------------------
  468. INT 68 - APPC/PC - CONNECTION CONTROL - GET ATTRIBUTES
  469.     AH = 02h subfn 0700h
  470.     DS:DX -> control block (see #2128)
  471. Return: control block updated
  472. SeeAlso: AH=02h/SF=0300h
  473.  
  474. Format of APPC/PC "Get_Attributes" control block:
  475. Offset    Size    Description    (Table 2128)
  476.  00h 12 BYTEs    reserved
  477.  0Ch    WORD    0700h (verb "Get_Attributes" or "MC_Get_Attributes")
  478.  0Eh    BYTE    1 if MC_ (mapped conversation) form of verb
  479.         0 if basic verb
  480.  0Fh  5 BYTEs    reserved (0)
  481.  14h    WORD    (big-endian) primary return code (see #2122)
  482.  16h    DWORD    (big-endian) error code (see #2123)
  483.  1Ah  8 BYTEs    (big-endian) TP_ID
  484.  22h    DWORD    (big-endian) conversation ID
  485.  26h  8 BYTEs    (big-endian) logical unit ID
  486.  2Eh    BYTE    00h
  487.  2Fh    BYTE    SYNC_LEVEL (0=none, 1=confirm)
  488.  30h  8 BYTEs    (big-endian) mode name
  489.  38h  8 BYTEs    (big-endian) own net name
  490.  40h  8 BYTEs    (big-endian) own logical unit name
  491.  48h  8 BYTEs    (big-endian) partner logical unit name
  492.  50h 18 BYTEs    (counted string) partner's fully qualified logical unit name
  493.  62h    BYTE    00h
  494.  63h 11 BYTEs    (counted string) user ID
  495. --------N-6802--SF0800-----------------------
  496. INT 68 - APPC/PC - CONNECTION CONTROL - GET CONVERSATION TYPE
  497.     AH = 02h subfn 0800h
  498.     DS:DX -> control block (see #2129)
  499. Return: control block updated
  500. SeeAlso: AH=02h/SF=0300h
  501.  
  502. Format of APPC/PC "Get_Type" control block:
  503. Offset    Size    Description    (Table 2129)
  504.  00h 12 BYTEs    reserved
  505.  0Ch    WORD    0800h (verb "Get_Type")
  506.  0Eh    BYTE    1 if MC_ (mapped conversation) form of verb
  507.         0 if basic verb
  508.  0Fh  5 BYTEs    reserved (0)
  509.  14h    WORD    (big-endian) primary return code (see #2122)
  510.  16h    DWORD    (big-endian) error code (see #2123)
  511.  1Ah  8 BYTEs    (big-endian) TP_ID
  512.  22h    DWORD    (big-endian) conversation ID
  513.  26h    BYTE    (return) type (0=basic conversation, 1=mapped conversation)
  514. --------N-6802--SF0900-----------------------
  515. INT 68 - APPC/PC - CONNECTION CONTROL - POST ON RECEIPT
  516.     AH = 02h subfn 0900h
  517.     DS:DX -> control block (see #2130)
  518. Return: control block updated
  519. SeeAlso: AH=02h/SF=0A00h
  520.  
  521. Format of APPC/PC "Post_on_Receipt" control block:
  522. Offset    Size    Description    (Table 2130)
  523.  00h 12 BYTEs    reserved
  524.  0Ch    WORD    0900h (verb "Post_on_Receipt")
  525.  0Eh    BYTE    1 if MC_ (mapped conversation) form of verb
  526.         0 if basic verb
  527.  0Fh  5 BYTEs    reserved (0)
  528.  14h    WORD    (big-endian) primary return code (see #2122)
  529.  16h    DWORD    (big-endian) error code (see #2123)
  530.  1Ah  8 BYTEs    (big-endian) TP_ID
  531.  22h    DWORD    (big-endian) conversation ID
  532.  26h    WORD    maximum length
  533.  28h    BYTE    fill (0=buffer, 1=LL)
  534. --------N-6802--SF0A00-----------------------
  535. INT 68 - APPC/PC - CONNECTION CONTROL - PREPARE TO RECEIVE
  536.     AH = 02h subfn 0A00h
  537.     DS:DX -> control block (see #2131)
  538. Return: control block updated
  539. SeeAlso: AH=02h/SF=0900h,AH=02h/SF=0B00h
  540.  
  541. Format of APPC/PC "Prepare_to_Receive" control block:
  542. Offset    Size    Description    (Table 2131)
  543.  00h 12 BYTEs    reserved
  544.  0Ch    WORD    0A00h (verb "Prepare_to_Receive" or "MC_Prepare_to_Receive")
  545.  0Eh    BYTE    1 if MC_ (mapped conversation) form of verb
  546.         0 if basic verb
  547.  0Fh  5 BYTEs    reserved (0)
  548.  14h    WORD    (big-endian) primary return code (see #2122)
  549.  16h    DWORD    (big-endian) error code (see #2123)
  550.  1Ah  8 BYTEs    (big-endian) TP_ID
  551.  22h    DWORD    (big-endian) conversation ID
  552.  26h    BYTE    type (0=SYNC_LEVEL, 1=FLUSH)
  553.  27h    BYTE    locks (0=short, 1=long)
  554. --------N-6802--SF0B00-----------------------
  555. INT 68 - APPC/PC - CONNECTION CONTROL - RECEIVE AND WAIT
  556.     AH = 02h subfn 0B00h
  557.     DS:DX -> control block (see #2132)
  558. Return: control block updated
  559. SeeAlso: AH=02h/SF=0C00h,AH=02h/SF=0F00h
  560.  
  561. Format of APPC/PC "Receive_and_Wait" control block:
  562. Offset    Size    Description    (Table 2132)
  563.  00h 12 BYTEs    reserved
  564.  0Ch    WORD    0B00h (verb "Receive_and_Wait" or "MC_Receive_and_Wait")
  565.  0Eh    BYTE    1 if MC_ (mapped conversation) form of verb
  566.         0 if basic verb
  567.  0Fh  5 BYTEs    reserved (0)
  568.  14h    WORD    (big-endian) primary return code (see #2122)
  569.  16h    DWORD    (big-endian) error code (see #2123)
  570.  1Ah  8 BYTEs    (big-endian) TP_ID
  571.  22h    DWORD    (big-endian) conversation ID
  572.  26h    BYTE    type of information received (see #2133)
  573.  27h    BYTE    (MC_Receive_and_Wait only) fill (0=buffer, 1=LL)
  574.  28h    BYTE    Request_to_Send_Received (0=no, 1=yes)
  575.  29h    WORD    maximum length
  576.  2Bh    WORD    data length
  577.  2Dh    DWORD    pointer to data
  578.  
  579. (Table 2133)
  580. Values for type of information received:
  581.  00h    data
  582.  01h    data complete
  583.  02h    data incomplete
  584.  03h    confirm
  585.  04h    confirm send
  586.  05h    confirm deallocate
  587.  06h    send
  588. --------N-6802--SF0C00-----------------------
  589. INT 68 - APPC/PC - CONNECTION CONTROL - RECEIVE IMMEDIATE
  590.     AH = 02h subfn 0C00h
  591.     DS:DX -> control block (see #2134)
  592. Return: control block updated
  593. SeeAlso: AH=02h/SF=0B00h,AH=02h/SF=0F00h
  594.  
  595. Format of APPC/PC "Receive_Immediate" control block:
  596. Offset    Size    Description    (Table 2134)
  597.  00h 12 BYTEs    reserved
  598.  0Ch    WORD    0C00h (verb "Receive_Immediate" or "MC_Receive_Immediate")
  599.  0Eh    BYTE    1 if MC_ (mapped conversation) form of verb
  600.         0 if basic verb
  601.  0Fh  5 BYTEs    reserved (0)
  602.  14h    WORD    (big-endian) primary return code (see #2122)
  603.  16h    DWORD    (big-endian) error code (see #2123)
  604.  1Ah  8 BYTEs    (big-endian) TP_ID
  605.  22h    DWORD    (big-endian) conversation ID
  606.  26h    BYTE    type of information received (see #2133)
  607.  27h    BYTE    (MC_Receive_Immediate only) fill (0=buffer, 1=LL)
  608.  28h    BYTE    Request_to_Send_Received (0=no, 1=yes)
  609.  29h    WORD    maximum length
  610.  2Bh    WORD    data length
  611.  2Dh    DWORD    pointer to data
  612. --------N-6802--SF0E00-----------------------
  613. INT 68 - APPC/PC - CONNECTION CONTROL - REQUEST TO SEND
  614.     AH = 02h subfn 0E00h
  615.     DS:DX -> control block (see #2135)
  616. Return: control block updated
  617. SeeAlso: AH=02h/SF=0F00h,AH=02h/SF=1000h
  618.  
  619. Format of APPC/PC "Request_to_Send" control block:
  620. Offset    Size    Description    (Table 2135)
  621.  00h 12 BYTEs    reserved
  622.  0Ch    WORD    0E00h (verb "Request_to_Send" or "MC_Request_to_Send")
  623.  0Eh    BYTE    1 if MC_ (mapped conversation) form of verb
  624.         0 if basic verb
  625.  0Fh  5 BYTEs    reserved (0)
  626.  14h    WORD    (big-endian) primary return code (see #2122)
  627.  16h    DWORD    (big-endian) error code (see #2123)
  628.  1Ah  8 BYTEs    (big-endian) TP_ID
  629.  22h    DWORD    (big-endian) conversation ID
  630. --------N-6802--SF0F00-----------------------
  631. INT 68 - APPC/PC - CONNECTION CONTROL - SEND DATA
  632.     AH = 02h subfn 0F00h
  633.     DS:DX -> control block (see #2136)
  634. Return: control block updated
  635. SeeAlso: AH=02h/SF=0E00h,AH=02h/SF=1000h
  636.  
  637. Format of APPC/PC "Send_Data" control block:
  638. Offset    Size    Description    (Table 2136)
  639.  00h 12 BYTEs    reserved
  640.  0Ch    WORD    0F00h (verb "Send_Data" or "MC_Send_Data")
  641.  0Eh    BYTE    1 if MC_ (mapped conversation) form of verb
  642.         0 if basic verb
  643.  0Fh  5 BYTEs    reserved (0)
  644.  14h    WORD    (big-endian) primary return code (see #2122)
  645.  16h    DWORD    (big-endian) error code (see #2123)
  646.  1Ah  8 BYTEs    (big-endian) TP_ID
  647.  22h    DWORD    (big-endian) conversation ID
  648.  26h    BYTE    request to send received (0=no, 1=yes)
  649.  27h    BYTE    00h
  650.  28h    WORD    data length
  651.  2Ah    DWORD    pointer to data
  652. --------N-6802--SF1000-----------------------
  653. INT 68 - APPC/PC - CONNECTION CONTROL - SEND ERROR
  654.     AH = 02h subfn 1000h
  655.     DS:DX -> control block (see #2137)
  656. Return: control block updated
  657. SeeAlso: AH=02h/SF=0F00h
  658.  
  659. Format of APPC/PC "Send_Error" control block:
  660. Offset    Size    Description    (Table 2137)
  661.  00h 12 BYTEs    reserved
  662.  0Ch    WORD    1000h (verb "Send_Error" or "MC_Send_Error")
  663.  0Eh    BYTE    1 if MC_ (mapped conversation) form of verb
  664.         0 if basic verb
  665.  0Fh  5 BYTEs    reserved (0)
  666.  14h    WORD    (big-endian) primary return code (see #2122)
  667.  16h    DWORD    (big-endian) error code (see #2123)
  668.  1Ah  8 BYTEs    (big-endian) TP_ID
  669.  22h    DWORD    (big-endian) conversation ID
  670.  26h    BYTE    request to send received (0=no, 1=yes)
  671.  27h    BYTE    type (0=program, 1=SVC)
  672.  28h    DWORD    00h
  673.  2Ch    WORD    (MC_Send_Error only) LOG_DATA length
  674.  2Eh    DWORD    (MC_Send_Error only) pointer to LOG_DATA
  675. --------N-6802--SF1200-----------------------
  676. INT 68 - APPC/PC - CONNECTION CONTROL - TEST
  677.     AH = 02h subfn 1200h
  678.     DS:DX -> control block (see #2138)
  679. Return: control block updated
  680. SeeAlso: AH=02h/SF=1300h
  681.  
  682. Format of APPC/PC "Test" control block:
  683. Offset    Size    Description    (Table 2138)
  684.  00h 12 BYTEs    reserved
  685.  0Ch    WORD    1200h (verb "Test" or "MC_Test")
  686.  0Eh    BYTE    1 if MC_ (mapped conversation) form of verb
  687.         0 if basic verb
  688.  0Fh  5 BYTEs    reserved (0)
  689.  14h    WORD    (big-endian) primary return code (see #2122)
  690.  16h    DWORD    (big-endian) error code (see #2123)
  691.  1Ah  8 BYTEs    (big-endian) TP_ID
  692.  22h    DWORD    (big-endian) conversation ID
  693.  26h    BYTE    (MC_Test only) test (0=posted, 1=request_to_send received)
  694. Note:    error code has different interpretations for:
  695.     0 posted data
  696.     1 posted not data (primary return code = 0)
  697.     1 bad TP_ID (primary return code = 1)
  698. --------N-6802--SF1300-----------------------
  699. INT 68 - APPC/PC - CONNECTION CONTROL - WAIT
  700.     AH = 02h subfn 1300h
  701.     DS:DX -> control block (see #2139)
  702. Return: control block updated
  703. SeeAlso: AH=02h/SF=1200h
  704.  
  705. Format of APPC/PC "Wait" control block:
  706. Offset    Size    Description    (Table 2139)
  707.  00h 12 BYTEs    reserved
  708.  0Ch    WORD    1300h (verb "Wait")
  709.  0Eh    BYTE    1 if MC_ (mapped conversation) form of verb
  710.         0 if basic verb
  711.  0Fh  5 BYTEs    reserved (0)
  712.  14h    WORD    (big-endian) primary return code (see #2122)
  713.  16h    DWORD    (big-endian) error code (see #2123,#2138)
  714.  1Ah  8 BYTEs    (big-endian) TP_ID
  715.  22h    DWORD    (big-endian) conversation ID
  716.  26h    BYTE    number of conversations to wait on
  717.         Note: error codes have interpretations as for AH=02h/SF=1200h
  718. --------N-6803--SF2400-----------------------
  719. INT 68 - APPC/PC - TP STARTED
  720.     AH = 03h subfn 2400h
  721.     DS:DX -> control block (see #2140)
  722. Return: control block updated
  723.  
  724. Format of APPC/PC "TP Started" control block:
  725. Offset    Size    Description    (Table 2140)
  726.  00h 12 BYTEs    reserved
  727.  0Ch    WORD    2400h (verb "TP Started")
  728.  0Eh  6 BYTEs    00h
  729.  14h    DWORD    (big-endian) return code (see #2109)
  730.  18h    WORD    00h
  731.  1Ah  8 BYTEs    (big-endian) logical unit ID
  732.  22h  8 BYTEs    (big-endian) TP ID
  733. --------N-6803--SF2800-----------------------
  734. INT 68 - APPC/PC - GET ALLOCATE
  735.     AH = 03h subfn 2800h
  736.     DS:DX -> control block (see #2141)
  737. Return: control block updated
  738.  
  739. Format of APPC/PC "Get ALLOCATE" control block:
  740. Offset    Size    Description    (Table 2141)
  741.  00h 12 BYTEs    reserved
  742.  0Ch    WORD    2800h (verb "Get ALLOCATE")
  743.  0Eh  6 BYTEs    00h
  744.  14h    DWORD    (big-endian) return code (see #2109)
  745.  18h    WORD    00h
  746.  1Ah  8 BYTEs    (big-endian) logical unit ID
  747.  22h    BYTE    type (00h dequeue, 01h test)
  748.  23h    DWORD    pointer to CREATE_TP record
  749. --------N-6803--SF2A00-----------------------
  750. INT 68 - APPC/PC - CHANGE LOGICAL UNIT
  751.     AH = 03h subfn 2A00h
  752.     DS:DX -> control block (see #2142)
  753. Return: control block updated
  754.  
  755. Format of APPC/PC "Change Logical Unit" control block:
  756. Offset    Size    Description    (Table 2142)
  757.  00h 12 BYTEs    reserved
  758.  0Ch    WORD    2A00h (verb "Change Logical Unit")
  759.  0Eh  6 BYTEs    00h
  760.  14h    DWORD    (big-endian) return code (see #2109)
  761.  18h    WORD    00h
  762.  1Ah  8 BYTEs    (big-endian) logical unit ID
  763.  22h    DWORD    pointer to CREATE_TP_EXIT routine
  764.         00000000h queue ALLOCATEs
  765.         FFFFFFFFh reject incoming ALLOCATEs
  766.  26h    DWORD    00000000h
  767.  2Ah    DWORD    pointer to SYSTEM_LOG_EXIT routine, FFFFFFFFh= don't log errors
  768.  2Eh    DWORD    00000000h
  769.  32h    BYTE    maximum TPs
  770.  33h    BYTE    00h stop QUEUE_ALLOCATEs
  771.         01h resume QUEUE_ALLOCATEs
  772.  34h    DWORD    pointer to LU_LU_PASSWORD_EXIT routine, FFFFFFFFh = no exit
  773.  38h    DWORD    00000000h
  774. --------N-6804-------------------------------
  775. INT 68 - APPC/PC - TRANSACTION PROCESSING
  776.     AH = 04h
  777.     DS:DX -> control block (see #2143)
  778. Return: control block updated
  779.  
  780. Format of APPC/PC control block:
  781. Offset    Size    Description    (Table 2143)
  782.  00h 12 BYTEs    reserved
  783.  0Ch    WORD    verb (action)
  784.         2500h TP_ENDED
  785.         2900h TP_VALID
  786.  0Eh  6 BYTEs    00h
  787.  14h    DWORD    (big-endian) return code (see #2109)
  788.  18h    WORD    00h
  789.  1Ah  8 BYTEs    (big-endian) TP_ID
  790.  22h    DWORD    -> CREATE_TP record (only if verb = 2900h)
  791. --------N-6805-------------------------------
  792. INT 68 - APPC/PC - TRANSFER MESSAGE DATA
  793.     AH = 05h
  794.     DS:DX -> control block (see #2144)
  795. Return: control block updated
  796.  
  797. Format of APPC/PC "Transfer Message Data" control block:
  798. Offset    Size    Description    (Table 2144)
  799.  00h 12 BYTEs    reserved
  800.  0Ch    WORD    1C00h (verb "Transfer Message Data")
  801.  0Eh    BYTE    data type
  802.         00h user defined
  803.         01h NMVT
  804.         02h alert subvectors
  805.         03h PDSTATS subvectors
  806.  0Fh  5 BYTEs    00h
  807.  14h    DWORD    (big-endian) return code (see #2109)
  808.  18h 12 BYTEs    00h
  809.  24h    BYTE    flags
  810.         bit 0: don't add correlation subvector
  811.         bit 1: don't add product set ID subvector
  812.         bit 2: don't do SYSLOG
  813.         bit 3: don't send SSCP_PU_SESSION
  814.  25h    BYTE    00h
  815.  26h    WORD    length of data
  816.  28h  N BYTEs    data
  817. --------N-6806-------------------------------
  818. INT 68 - APPC/PC - CHANGE NUMBER OF SESSIONS
  819.     AH = 06h
  820.     DS:DX -> control block (see #2145)
  821. Return: control block updated
  822.  
  823. Format of APPC/PC "Change Number of Sessions" control block:
  824. Offset    Size    Description    (Table 2145)
  825.  00h 12 BYTEs    reserved
  826.  0Ch    WORD    1500h (verb "Change Number of Sessions")
  827.  0Eh  6 BYTEs    00h
  828.  14h    WORD    (big-endian) primary return code (see #2122)
  829.  16h    DWORD    (big-endian) secondary return code (see #2109,#2146)
  830.  1Ah  8 BYTEs    (big-endian) logical unit ID
  831.  22h  8 BYTEs    blanks
  832.  2Ah  8 BYTEs    (big-endian) partner logical unit name
  833.  32h  8 BYTEs    (big-endian) mode name
  834.  3Ah    BYTE    bit 7: use MODE_NAME_SELECT_ALL rather than MODE_NAME
  835.         bit 6: set negotiable values
  836.  3Bh    BYTE    partner logical unit mode session limit
  837.  3Ch    BYTE    minimum CONWINNERS_SOURCE
  838.  3Dh    BYTE    maximum CONWINNERS_TARGET
  839.  3Eh    BYTE    automatic activation
  840.  3Fh    BYTE    00h
  841.  40h    BYTE    flags
  842.         bit 7: drain target
  843.         bit 6: drain source
  844.         bit 5: target responsible, not source
  845.  
  846. (Table 2146)
  847. Values for secondary return code (see also AH=01h/SF=1B00h):
  848.  0000h    accepted
  849.  0001h    negotiated
  850.  0003h    bad logical unit ID
  851.  0004h    allocation failure, no retry
  852.  0005h    allocation failure, retry
  853.  0151h    can't raise limits
  854.  0153h    all modes must reset
  855.  0154h    bad SNASVCMG limits
  856.  0155h    minimum greater than total
  857.  0156h    mode closed (primary return code = 1)
  858.     CNOS mode closed (primary return code = 18h)
  859.  0157h    bad mode name (primary return code = 1)
  860.     CNOS bad mode name (primary return code = 18h)
  861.  0159h    reset SNA drains
  862.  015Ah    single not SRC response
  863.  015Bh    bad partner logical unit
  864.  015Ch    exceeds maximum allowed
  865.  015Dh    change SRC drains
  866.  015Eh    logical unit detached
  867.  015Fh    CNOS command race reject
  868. --------N-6807-------------------------------
  869. INT 68 - APPC/PC - PASSTHROUGH
  870.     AH = 07h
  871.     DS:DX -> control block (format depends on application subsystem)
  872. Return: control block updated
  873. SeeAlso: AH=FFh
  874. ----------684300-----------------------------
  875. INT 68 U - ??? - INSTALLATION CHECK???
  876.     AX = 4300h
  877. Return: AX = F386h if ???
  878.     ???
  879. Note:    called by Novell DOS 7.0 EMM386.EXE
  880. SeeAlso: AX=4400h,INT 41/AX=004Fh
  881. ----------684400-----------------------------
  882. INT 68 U - ???
  883.     AX = 4400h
  884.     BX = ???
  885.     CX = ???
  886.     DX = ???
  887.     DS:SI = real-mode address of protected-mode GDT
  888.     ES:DI = real-mode address of protected-mode IDT
  889. Return: ???
  890. Note:    called by Novell DOS 7.0 EMM386.EXE if AX=4300h returns AX=F386h
  891. SeeAlso: AX=4300h
  892. ----------6847-------------------------------
  893. INT 68 - MS Windows debugging kernel - OUTPUT STRING
  894.     AH = 47h
  895.     ES:SI -> string
  896. Notes:    output a string (to inform a debugger of some events)
  897.     KERNEL outputs "Windows Kernel Entry\r\n" on startup
  898. SeeAlso: INT 41/AX=0012h
  899. --------N-68FA-------------------------------
  900. INT 68 - APPC/PC - ENABLE/DISABLE APPC
  901.     AH = FAh
  902.     AL bit 0 = new state (0 enable, 1 disable)
  903. SeeAlso: AH=FDh,INT 68"Novell"
  904. --------N-68FB-------------------------------
  905. INT 68 - APPC/PC - CONVERT
  906.     AH = FBh
  907.     DS:DX -> control block (see #2147)
  908. Return: control block updated
  909.  
  910. Format of APPC/PC "CONVERT" control block:
  911. Offset    Size    Description    (Table 2147)
  912.  00h 12 BYTEs    reserved
  913.  0Ch    WORD    1A00h (verb "CONVERT")
  914.  0Eh  6 BYTEs    00h
  915.  14h    DWORD    (big-endian) return code
  916.  18h    BYTE    conversion
  917.         00h ASCII to EBCDIC
  918.         01h EBCDIC to ASCII
  919.  19h    BYTE    character set
  920.         00h AE
  921.         01h A
  922.         02h G
  923.  1Ah    WORD    length of string to convert
  924.  1Ch    DWORD    pointer to source
  925.  20h    DWORD    pointer to target
  926. --------N-68FC-------------------------------
  927. INT 68 - APPC/PC - ENABLE/DISABLE MESSAGE TRACING
  928.     AH = FCh
  929.     AL = new state
  930.         00h disable tracing
  931.         01h enable tracing
  932.         DX = number of bytes to keep (0=all)
  933. SeeAlso: AH=FDh,AH=FEh
  934. --------N-68FD-------------------------------
  935. INT 68 - APPC/PC - ENABLE/DISABLE API VERB TRACING
  936.     AH = FDh
  937.     AL = new tracing state (00h disabled, 01h enabled)
  938. SeeAlso: AH=FAh,AH=FCh,AH=FEh
  939. --------N-68FE-------------------------------
  940. INT 68 - APPC/PC - SET TRACE DESTINATION
  941.     AH = FEh
  942.     AL = trace destinations (see #2148)
  943.     DS:DX -> trace stats record if AL bit 0 set (see #2149)
  944. SeeAlso: AH=FCh,AH=FDh
  945.  
  946. Bitfields for trace destinations:
  947. Bit(s)    Description    (Table 2148)
  948.  0    storage (DS:DX -> trace stats record)
  949.  1    display
  950.  2    file (trace written to file OUTPUT.PC)
  951.  3    printer
  952.  
  953. Format of APPC/PC Trace Statistics Record:
  954. Offset    Size    Description    (Table 2149)
  955.  00h    DWORD    pointer to storage trace buffer
  956.  04h    WORD    max number of 80-byte records in trace
  957.  06h    WORD    (high-order byte first!) current record number (must init to 0)
  958.  08h    DWORD    (high-order byte first!) number of records written (init to 0)
  959.  0Ch    DWORD    reserved
  960. Note:    do not move record while trace is active
  961. --------N-68FF-------------------------------
  962. INT 68 - APPC/PC - SET PASSTHROUGH
  963.     AH = FFh
  964.     DS:DX -> passthrough exit routine
  965. SeeAlso: AH=07h,INT 68"Novell"
  966. --------b-69---------------------------------
  967. INT 69 - Zenith AT BIOS - ???
  968. Note:    called by INT 09 handler
  969. --------h-69---------------------------------
  970. INT 69 - Hewlett Packard - EXTENDED BIOS - KEYBOARD OBF SERVICE ROUTINE
  971. SeeAlso: INT 09"IRQ0",INT 68"Hewlett Packard",INT 6A"Hewlett Packard"
  972. --------N-690100-----------------------------
  973. INT 69 - DECnet DOS CTERM - INSTALLATION CHECK
  974.     AX = 0100h
  975. Return: AL = FFh if present
  976. SeeAlso: AX=010Fh
  977. --------N-690101-----------------------------
  978. INT 69 - DECnet DOS CTERM - SEND BYTE
  979.     AX = 0101h
  980.     BL = character
  981.     DX = session handle
  982. Return: AH >= 80h on error
  983. SeeAlso: AX=0102h
  984. --------N-690102-----------------------------
  985. INT 69 - DECnet DOS CTERM - READ BYTE
  986.     AX = 0102h
  987.     DX = session handle
  988. Return: AH >= 80h on error
  989.     AH < 80h if successful
  990.         AL = character
  991. SeeAlso: AX=0101h
  992. --------N-690103-----------------------------
  993. INT 69 - DECnet DOS CTERM - STATUS
  994.     AX = 0103h
  995.     DX = session handle
  996. Return: AH status flags (see #2150)
  997.     AL = reason code if DECnet error (see #2151)
  998. SeeAlso: AX=0104h
  999.  
  1000. Bitfields for DECnet DOS CTERM status flags:
  1001. Bit(s)    Description    (Table 2150)
  1002.  7    session has been aborted
  1003.  6    DECnet error
  1004.  1    trace data available
  1005.  0    receive data available
  1006.  
  1007. (Table 2151)
  1008. Values for reason code:
  1009.  00h    normal disconnect
  1010.  01h    unknown message from host
  1011.  02h    protocol violation from host
  1012.  03h    could not process the initiate message
  1013.  04h    error receiving message from host
  1014.  05h    error sending message to host
  1015.  06h    error checking for message from host
  1016.  07h    remote system does not support CTERM
  1017.  08h    remote system does not support correct protocol version
  1018.  09h    did not receive BIND message from host
  1019.  0Ah    could not send BIND message to host
  1020.  0Bh    no more sessions available
  1021.  0Ch    session does not exist
  1022.  0Dh    not enough memory to complete operation
  1023.  0Eh    connection has broken
  1024. Index:    error codes;DECnet DOS CTERM|DECnet DOS CTERM;error codes
  1025. --------N-690104-----------------------------
  1026. INT 69 - DECnet DOS CTERM - DECnet STATUS
  1027.     AX = 0104h
  1028.     DX = session handle
  1029. Return: AX = reason code (see #2151)
  1030. Note:    use this call when AX=0103h returns a DECnet error
  1031. SeeAlso: AX=0103h
  1032. --------N-690105-----------------------------
  1033. INT 69 - DECnet DOS CTERM - OPEN SESSION
  1034.     AX = 0105h
  1035.     DS:BX -> ASCIZ node name
  1036.     ES:DX -> buffer for session control block (see INT 6A/AH=D0h)
  1037. Return: AX <= 0 on error
  1038.     AX > 0 session handle
  1039. SeeAlso: AX=0103h,AX=0106h,AX=010Ah
  1040. --------N-690106-----------------------------
  1041. INT 69 - DECnet DOS CTERM - CLOSE SESSION
  1042.     AX = 0106h
  1043.     DX = session handle
  1044. Return: AH = status
  1045.         00h good close
  1046.         other error code (see #2151)
  1047. SeeAlso: AX=0103h,AX=0105h
  1048. --------N-69010A-----------------------------
  1049. INT 69 - DECnet DOS CTERM - GET SESSION CONTROL BLOCK SIZE
  1050.     AX = 010Ah
  1051. Return: AX = length of session control block in bytes
  1052. SeeAlso: AX=0105h
  1053. --------N-69010B-----------------------------
  1054. INT 69 - DECnet DOS CTERM - GET DECnet SOCKET
  1055.     AX = 010Bh
  1056.     DX = session handle
  1057. Return: AX > 0    DECnet socket for the session
  1058.     AX = 0    no match for handle
  1059. --------N-69010F-----------------------------
  1060. INT 69 - DECnet DOS CTERM - DEINSTALL CTERM
  1061.     AX = 010Fh
  1062. Return: AH = status
  1063.         00h successful uninstall
  1064.         other error code (see #2151)
  1065. Note:    CTERM must have been the last TSR loaded in order to deinstall it
  1066. SeeAlso: AX=0100h
  1067. Index:    uninstall;DECnet DOS CTERM
  1068. --------N-690A-------------------------------
  1069. INT 69 - DECnet DOS 2.1+ - DATA LINK LAYER
  1070.     AH = 0Ah
  1071.     AL = function number (see #2152)
  1072.     ES:BX -> Datalink Communication Block
  1073. Return: AX = status (see #2153)
  1074. SeeAlso: INT 6D"DECnet"
  1075.  
  1076. (Table 2152)
  1077. Values for DECnet DOS Data Link Layer function:
  1078.  00h    initialize
  1079.  01h    open portal
  1080.  02h    close portal
  1081.  03h    enable multicast address
  1082.  04h    disable multicast address
  1083.  05h    transmit
  1084.  06h    request transmit buffer
  1085.  07h    deallocate transmit buffer
  1086.  08h    read channel status
  1087.  09h    read datalink portal list
  1088.  0Ah    read information about a datalink portal
  1089.  0Bh    read and/or clear counters
  1090.  0Ch    request to boot from a network server
  1091.  0Dh    enable Ethernet channel
  1092.  0Eh    disable Ethernet channel
  1093.  0Fh    start MOP/send a System ID message
  1094.  10h    stop MOP
  1095.  11h    get DECPARM
  1096.  12h    set DECPARM
  1097.  13h    external loopback
  1098.  
  1099. (Table 2153)
  1100. Values for DECnet DOS Data Link Layer status:
  1101.  00h    successful
  1102.  01h    hardware failed to initialize
  1103.  02h    channel state was not off (must be off to execute that command)
  1104.  03h    channel state is off (must be on to execute that command)
  1105.  04h    address not set
  1106.  05h    hardware missing
  1107.  06h    buffer too small
  1108.  07h    no more buffers available
  1109.  08h    no more resources available
  1110.  09h    promiscuous receiver active
  1111.  0Ah    non exclusive
  1112.  0Bh    unrecognized portal
  1113.  0Ch    protocol type in use
  1114.  0Dh    not a valid Multicast address
  1115.  0Eh    outstanding calls
  1116.  0Fh    hardware doesn't support receiving bad frames
  1117.  10h    none outstanding
  1118.  11h    no events
  1119.  12h    broken
  1120.  13h    buffer quota exceeded
  1121.  14h    already initialized
  1122.  15h    loopback failure
  1123. Index:    error codes;DECnet DOS|DECnet DOS;error codes
  1124.  
  1125. Format of Datalink Communication Block:
  1126. Offset    Size    Description    (Table 2154)
  1127.  00h    WORD    portal ID
  1128.  02h  6 BYTEs    source address
  1129.  08h  6 BYTEs    destination address
  1130.  0Eh    DWORD    buffer pointer
  1131.  12h    WORD    buffer length
  1132.  14h    WORD    operation
  1133.  16h    BYTE    pad flag (used on open)
  1134.         00h no pad
  1135.         01h pad
  1136.  17h    BYTE    mode flag (used on open)
  1137.         00h 802.3
  1138.         01h Ethernet
  1139.         02h promiscuous
  1140.  18h    DWORD    line status change function
  1141.  1Ch    DWORD    received data function
  1142.  20h    DWORD    transmitted data function
  1143.  24h    BYTE    maximum outstanding transmits/receives
  1144.  25h  2 BYTEs    protocol type
  1145.  27h    WORD    buffers lost
  1146. --------N-694001-----------------------------
  1147. INT 69 - 10NET v5.0 - SYSSVC.COM - ???
  1148.     AX = 4001h
  1149. Return: CF clear
  1150.     AX = 0000h
  1151.     ES:SI -> ???
  1152. Range:    INT 60 to INT 7F, selected by configuration
  1153. Note:    the signature "SYSV" immediately before the interrupt handler serves
  1154.       as the installation check
  1155. SeeAlso: AX=4002h
  1156. Index:    installation check;10NET SYSSVC
  1157. --------N-694002-----------------------------
  1158. INT 69 - 10NET v5.0 - SYSSVC.COM - ???
  1159.     AX = 4002h
  1160.     ???
  1161. Return: ???
  1162. Range:    INT 60 to INT 7F, selected by configuration
  1163. Note:    the signature "SYSV" immediately before the interrupt handler serves
  1164.       as the installation check
  1165. --------N-694101-----------------------------
  1166. INT 69 - 10NET v5.0 - SYSSVC.COM - ???
  1167.     AX = 4101h
  1168. Return: CF clear
  1169.     ES:SI -> ???
  1170. Range:    INT 60 to INT 7F, selected by configuration
  1171. SeeAlso: AX=4102h,AX=4103h,AX=4104h
  1172. --------N-694102-----------------------------
  1173. INT 69 - 10NET v5.0 - SYSSVC.COM - ???
  1174.     AX = 4102h
  1175.     ???
  1176. Return: ???
  1177. --------N-694103-----------------------------
  1178. INT 69 - 10NET v5.0 - SYSSVC.COM - ???
  1179.     AX = 4103h
  1180.     ???
  1181. Return: ???
  1182. --------N-694104-----------------------------
  1183. INT 69 - 10NET v5.0 - SYSSVC.COM - ???
  1184.     AX = 4104h
  1185.     ???
  1186. Return: ???
  1187. --------N-6942-------------------------------
  1188. INT 69 - 10NET v5.0 - SYSSVC.COM - ???
  1189.     AH = 42h
  1190.     AL = function (01h-14h)
  1191.     ???
  1192. Return: ???
  1193. Range:    INT 60 to INT 7F, selected by configuration
  1194. --------N-6943-------------------------------
  1195. INT 69 - 10NET v5.0 - SYSSVC.COM - ???
  1196.     AH = 43h
  1197.     AL = function (01h-05h)
  1198.     ???
  1199. Return: ???
  1200. --------N-6944-------------------------------
  1201. INT 69 - 10NET v5.0 - SYSSVC.COM - ???
  1202.     AH = 44h
  1203.     AL = function (01h-03h)
  1204.     ???
  1205. Return: ???
  1206. Range:    INT 60 to INT 7F, selected by configuration
  1207. --------N-6949-------------------------------
  1208. INT 69 - 10NET v5.0 - SYSSVC.COM - BUG
  1209.     AH = 49h
  1210. Note:    due to a fencepost error, this function branches to hyperspace
  1211. SeeAlso: AX=4001h,AH=FFh
  1212. --------G-696996-----------------------------
  1213. INT 69 - ISR.COM v1.00 - SPECIFY INTERRUPT HANDLER
  1214.     AX = 6996h
  1215.     DS:DX -> interrupt handler or 0000h:0000h to disable
  1216. Return: AX = 9669h
  1217. Program: ISR (Interrupt Service Reflector) is a TSR by Rich Bono which permits
  1218.       a program to provide hardware interrupt handlers even while being
  1219.       debugged with a debugger that swaps interrupt vectors during
  1220.       debugging.
  1221. Note:    the interrupt vector which is to be reflected is set at installation
  1222.       time and cannot be changed
  1223. --------N-69FF-------------------------------
  1224. INT 69 - 10NET v5.0 - SYSSVC.COM - SIGNAL SYSTEM ERROR
  1225.     AH = FFh
  1226. Return: never???
  1227. Desc:    displays "System Error" message and register dump, then halts system
  1228. Range:    INT 60 to INT 7F, selected by configuration
  1229. Notes:    the signature "SYSV" immediately before the interrupt handler serves
  1230.       as the installation check
  1231. SeeAlso: AX=4001h,AH=49h
  1232. --------U-6A---------------------------------
  1233. INT 6A - OPTHELP.COM
  1234. Program: OPTHELP is an optionally-resident help system for SLR Systems's OPTASM
  1235.       assembler
  1236. Range:    INT 60h to INT 7Fh, selected by configuration
  1237. --------N-6A---------------------------------
  1238. INT 6A - DECnet DOS - LOCAL AREA TRANSPORT PROGRAM
  1239. Note:    the installation check consists of testing for a signature area
  1240.       immediately preceding the interrupt handler
  1241. SeeAlso: AH=01h/DH=FFh,INT 6B"DECnet",INT 6D"DECnet"
  1242. Index:    installation check;DECnet DOS Local Area Transport
  1243.  
  1244. Format of DECnet DOS signature area:
  1245. Offset    Size    Description    (Table 2155)
  1246.  -5    BYTE    major version number
  1247.  -4    BYTE    minor version number
  1248.  -3   3 BYTEs    signature (ASCII "LAT")
  1249. --------h-6A---------------------------------
  1250. INT 6A - Hewlett Packard - EXTENDED BIOS - HARDWARE INTERRUPT
  1251. SeeAlso: INT 0A"IRQ0",INT 69"Hewlett Packard",INT 6B"Hewlett Packard"
  1252. --------N-6A0000-----------------------------
  1253. INT 6A U - Super-TCP DOS TSR Kernel v3.57 - INSTALLATION CHECK
  1254.     AX = 0000h
  1255. Return: AX = 4357h ('CW')
  1256. Program: Super-TCP is a TCP/IP protocol stack by Frontier Technologies Corp.
  1257. Note:    an alternate installation check is to test for the ASCIZ signature
  1258.       "FTC Super-TCP" three bytes past the interrupt handler
  1259. SeeAlso: AX=0001h,AX=0002h,AX=000Fh,AX=0010h,INT 21/AH=3Fh"BW-TCP"
  1260. SeeAlso: INT 61"PCTCP",INT 62/AH=00h"ETHDEV"
  1261. --------N-6A0001-----------------------------
  1262. INT 6A U - Super-TCP DOS TSR Kernel v3.57 - ???
  1263.     AX = 0001h
  1264.     BH = function number
  1265.         01h ???
  1266.         DS:SI -> ??? 24-byte record1 (see #2157)
  1267.         ES:DI -> buffer containing ???
  1268.         02h ???
  1269.         DS:SI -> ??? 18-byte record2 (see #2158)
  1270.         ES:DI -> buffer containing ???
  1271.         04h ???
  1272.         BL = subfunction
  1273.             01h
  1274.             DS:SI -> ??? 28-byte record3 (see #2159)
  1275.             ES:DI -> buffer containing ???
  1276.             02h
  1277.             DS:SI -> ??? 28-byte record3 (see #2159)
  1278.             ES:DI -> buffer containing ???
  1279.             03h
  1280.             DS:SI -> ??? 28-byte record3 (see #2159)
  1281.             else Return: AX = 0005h
  1282.         05h ???
  1283.         DS:SI -> ??? 20-byte record4 (see #2160)
  1284.         ES:DI -> buffer containing ???
  1285.         06h ???
  1286.         BL = subfunction
  1287.             01h
  1288.             DS:SI -> ??? 40-byte record5 (see #2161)
  1289.             02h
  1290.             DS:SI -> ??? 20-byte record6 (see #2162)
  1291.             ES:DI -> ???
  1292.             03h
  1293.             DS:SI -> ??? 20-byte record6 (see #2162)
  1294.             04h
  1295.             DS:SI -> ??? 46-byte record7 (see #2163)
  1296.             else Return: AX = 0005h
  1297.         11h ???
  1298.         DS:SI -> ??? 28-byte record8 (see #2164)
  1299.         ES:DI -> ???
  1300. Return: AX = function status (see #2156)
  1301. SeeAlso: AX=0000h
  1302.  
  1303. (Table 2156)
  1304. Values for Super-TCP function status:
  1305.  0000h    successful
  1306.  0005h    unsupported function
  1307.  000Ah    out of memory
  1308.  
  1309. Format of record1:
  1310. Offset    Size    Description    (Table 2157)
  1311.  00h  4 BYTEs    ???
  1312.  04h    WORD    size of ES:DI buffer
  1313.  06h 18 BYTEs    ???
  1314.  
  1315. Format of record2:
  1316. Offset    Size    Description    (Table 2158)
  1317.  00h  4 BYTEs    ???
  1318.  04h    WORD    size of ES:DI buffer
  1319.  06h 12 BYTEs    ???
  1320.  
  1321. Format of record3:
  1322. Offset    Size    Description    (Table 2159)
  1323.  00h  2 BYTEs    ???
  1324.  02h    WORD    ???
  1325.  04h    WORD    size of ES:DI buffer
  1326.  06h    WORD    ???
  1327.  08h    WORD    operation number (for function 0401h)
  1328.  0Ah    DWORD    -> ???
  1329.  0Eh    WORD    (return) ???
  1330.  10h 12 BYTEs    ???
  1331.  
  1332. Format of record4:
  1333. Offset    Size    Description    (Table 2160)
  1334.  00h  4 BYTEs    ???
  1335.  04h    WORD    size of ES:DI buffer
  1336.  06h 14 BYTEs    ???
  1337.  
  1338. Format of record5:
  1339. Offset    Size    Description    (Table 2161)
  1340.  00h    BYTE    operation??? (00h-07h)
  1341.  01h    BYTE    ???
  1342.  02h    WORD    (return) ???
  1343.  04h    DWORD    -> ???
  1344.  08h  4 BYTEs    ???
  1345.  0Ch    DWORD    -> ??? or 0000h:0000h
  1346.  10h 16 BYTEs    ???
  1347.  20h    DWORD    ???
  1348.  24h  4 BYTEs    ???
  1349.  
  1350. Format of record6:
  1351. Offset    Size    Description    (Table 2162)
  1352.  00h  4 BYTEs    ???
  1353.  04h    WORD    size of ES:DI buffer
  1354.  06h 14 BYTEs    ???
  1355.  
  1356. Format of record7:
  1357. Offset    Size    Description    (Table 2163)
  1358.  00h    WORD    ???
  1359.  02h    WORD    ???
  1360.  04h    WORD    ???
  1361.  06h 40 BYTEs    ???
  1362.  
  1363. Format of record8:
  1364. Offset    Size    Description    (Table 2164)
  1365.  00h  4 BYTEs    ???
  1366.  04h    WORD    size of ES:DI buffer
  1367.  06h  6 BYTEs    ???
  1368.  0Ch    WORD    (return) ???
  1369.  0Eh    WORD    operation??? (01h-03h)
  1370.  10h 12 BYTEs    ???
  1371. --------N-6A0002-----------------------------
  1372. INT 6A U - Super-TCP DOS TSR Kernel v3.57 - ???
  1373.     AX = 0002h
  1374.     BX = ??? (zero/nonzero)
  1375.     CX = ??? identifier (see AX=0004h)
  1376.     DS:SI -> 40-byte buffer for ??? or 0000h:0000h
  1377.     ES:DI -> buffer for ??? or 0000h:0000h
  1378. Return: AX = 0000h (successful) ???
  1379.     BL = ???
  1380.     BH = ???
  1381.     CX = ???
  1382.     DX = ???
  1383. --------N-6A0003-----------------------------
  1384. INT 6A U - Super-TCP DOS TSR Kernel v3.57 - GET ??? DATA AREA
  1385.     AX = 0003h
  1386. Return: CX:DX -> data area (see #2165)
  1387.  
  1388. Format of Super-TCP data area:
  1389. Offset    Size    Description    (Table 2165)
  1390.  00h  2 BYTEs    ???
  1391.  02h    DWORD    original INT 6A vector
  1392.  06h  2 BYTEs    ???
  1393.  08h 96 BYTEs    array of 16 6-byte ???
  1394.  68h    WORD    number of elements of above array in use
  1395.  6Ah    WORD    ???
  1396.     ???
  1397. --------N-6A0004-----------------------------
  1398. INT 6A U - Super-TCP DOS TSR Kernel v3.57 - ALLOCATE ???
  1399.     AX = 0004h
  1400.     CX = size in ???
  1401. Return: AX = 0000h (successful)
  1402.     CX = DX = ???
  1403. SeeAlso: AX=0005h,AX=000Fh
  1404. --------N-6A0005-----------------------------
  1405. INT 6A U - Super-TCP DOS TSR Kernel v3.57 - FREE/CLOSE ???
  1406.     AX = 0005h
  1407.     CX = ??? identifier (from AX=0004h)
  1408. Return: AX = status (0000h successful, FFFFh failed)
  1409. SeeAlso: AX=0004h,AX=000Fh
  1410. --------N-6A000F-----------------------------
  1411. INT 6A U - Super-TCP DOS TSR Kernel v3.57 - FREE/CLOSE ALL ???
  1412.     AX = 000Fh
  1413. Return: AX = 0000h (successful)
  1414. SeeAlso: AX=0000h,AX=0004h,AX=0005h
  1415. --------N-6A0010-----------------------------
  1416. INT 6A U - Super-TCP DOS TSR Kernel v3.57 - UNINSTALL
  1417.     AX = 0010h
  1418. Return: AX = status
  1419.         0000h successful
  1420.         0002h can't uninstall, interrupt vector hooked by another program
  1421. Program: Super-TCP is a TCP/IP protocol stack by Frontier Technologies Corp.
  1422. Note:    if AX is not one of the values listed here on entry, Super-TCP
  1423.       returns AX=FFFEh
  1424. SeeAlso: AX=0000h
  1425. --------N-6A01--DHFF-------------------------
  1426. INT 6A - DECnet DOS LOCAL AREA TRANSPORT - SEND BYTE
  1427.     AH = 01h
  1428.     DH = FFh
  1429.     AL = character
  1430.     DL = handle
  1431. Return: AH >= 80h on error
  1432. SeeAlso: AH=02h
  1433. --------N-6A02--DHFF-------------------------
  1434. INT 6A - DECnet DOS LOCAL AREA TRANSPORT - READ BYTE
  1435.     AH = 02h
  1436.     DH = FFh
  1437.     DL = handle
  1438. Return: AH < 80h if successful
  1439.         AL = character
  1440.     AH >= 80h on error
  1441. SeeAlso: AH=01h
  1442. --------N-6A03--DHFF-------------------------
  1443. INT 6A - DECnet DOS LOCAL AREA TRANSPORT - STATUS
  1444.     AH = 03h
  1445.     DH = FFh
  1446.     DL = handle
  1447. Return: AH = status flags (see #2166)
  1448.  
  1449. Bitfields for DECnet DOS LAT status flags:
  1450. Bit(s)    Description    (Table 2166)
  1451.  5    transmit buffer empty
  1452.  3    session in start state
  1453.  2    session not active
  1454.  1    unable to queue transmit data
  1455.  0    receive data available
  1456. --------N-6AD0--DHFF-------------------------
  1457. INT 6A - DECnet DOS LOCAL AREA TRANSPORT - OPEN SESSION
  1458.     AH = D0h
  1459.     DH = FFh
  1460.     AL = password flag
  1461.         FFh no password
  1462.         0Fh password at ES:DI
  1463.     ES:BX -> LAT session control block (see #2167)
  1464.     ES:DI -> 16-byte blank-padded password (optional)
  1465. Return: AH = 00h success
  1466.         DL = handle
  1467. SeeAlso: AX=D000h
  1468.  
  1469. Format of LAT Session Control Block:
  1470. Offset    Size    Description    (Table 2167)
  1471.  00h 18 BYTEs    service name
  1472.  12h 18 BYTEs    node name (future use)
  1473.  24h 18 BYTEs    port name (future use)
  1474.  36h    DWORD    -> session stopped post routine
  1475.  3Ah    DWORD    -> service table overflow post routine
  1476.  3Eh    DWORD    -> transmit post routine
  1477.  42h    DWORD    -> receive post routine
  1478.  46h    WORD    session status
  1479.         04h circuit failure
  1480.         08h stop slot received
  1481. ---LAT v???---
  1482.  48h    WORD    slot state (LAT driver use)
  1483.  4Ah    WORD    local credits (LAT driver use)
  1484.  4Ch    DWORD    -> VCB (LAT driver use)
  1485.  50h    WORD    backward slot (LAT driver use)
  1486.  52h    WORD    forward slot (LAT driver use)
  1487.  54h    WORD    remote slot ID (LAT driver use)
  1488.  56h    WORD    local slot ID (LAT driver use)
  1489.  58h    WORD    slot byte count (LAT driver use)
  1490.  5Ah    BYTE    remote credits (LAT driver use)
  1491.  5Bh 255 BYTEs    transmitted data slot
  1492. 15Ah    BYTE    number of receive data slots (4 recommended)
  1493. 15Bh    BYTE    number of occupied slots
  1494. 15Ch    BYTE    index of next receive slot to use
  1495. 15Dh    BYTE    index of current receive slot
  1496. 15Eh    WORD    pointer to first received character
  1497. 160h  N WORDs    pointers to receive slots (buffers); each is 259 bytes
  1498.      259N BYTEs    buffers
  1499. Note:    set post routines to 0000h:0000h if polled operation will be used
  1500. ---LAT v4.1.17---
  1501.  48h    WORD    session state (LAT driver use)
  1502.  4Ah    BYTE    local credits (LAT driver use)
  1503.  4Bh    DWORD    -> VCB (LAT driver use)
  1504.  4Fh    WORD    backward slot (LAT driver use)
  1505.  51h    WORD    forward slot (LAT driver use)
  1506.  53h    BYTE    remote slot ID (LAT driver use)
  1507.  54h    BYTE    local slot ID (LAT driver use)
  1508.  55h    BYTE    slot byte count (LAT driver use)
  1509.  56h    BYTE    remote credits (LAT driver use)
  1510.  57h 255 BYTEs    transmitted data slot
  1511. 156h    BYTE    number of receive data slots (4 recommended)
  1512. 157h    BYTE    number of occupied slots
  1513. 158h    BYTE    index of next receive slot to use
  1514. 159h    BYTE    index of current receive slot
  1515. 15Ah    WORD    pointer to first received character
  1516. 15Ch  N WORDs    pointers to receive slots (buffers); each is 259 bytes
  1517.      259N BYTEs    buffers
  1518. Note:    set post routines to 0000h:0000h if polled operation will be used
  1519. --------N-6AD000DHFF-------------------------
  1520. INT 6A - DECnet DOS LOCAL AREA TRANSPORT - CLOSE SESSION
  1521.     AX = D000h
  1522.     DH = FFh
  1523.     DL = handle
  1524. Return: AX = status (see #2168)
  1525. SeeAlso: AH=D0h
  1526.  
  1527. (Table 2168)
  1528. Values for DECnet DOS LAT function status:
  1529.  0000h    successful
  1530.  0001h    no such session
  1531.  0002h    session not running, try again later
  1532. --------N-6AD100DHFF-------------------------
  1533. INT 6A - DECnet DOS LOCAL AREA TRANSPORT - SEND BREAK
  1534.     AX = D100h
  1535.     DH = FFh
  1536.     DL = handle
  1537. Return: AX = 0000h if successful
  1538.     AH bit 7 set if unable to send break
  1539. --------N-6AD300DHFF-------------------------
  1540. INT 6A - DECnet DOS LOCAL AREA TRANSPORT - RESET LAT COUNTERS
  1541.     AX = D300h
  1542.     DH = FFh
  1543. SeeAlso: AX=D400h
  1544. --------N-6AD400DHFF-------------------------
  1545. INT 6A - DECnet DOS LOCAL AREA TRANSPORT - COPY LAT COUNTERS
  1546.     AX = D400h
  1547.     DH = FFh
  1548.     CX = buffer size
  1549.     ES:BX -> buffer for LAT counters
  1550. Return: AX = status
  1551.         0000h counters copied into buffer
  1552.         FFFFh buffer too small
  1553. SeeAlso: AX=D300h
  1554. --------N-6AD500DHFF-------------------------
  1555. INT 6A - DECnet DOS LOCAL AREA TRANSPORT - GET NEXT LAT SERVICE NAME
  1556.     AX = D500h
  1557.     DH = FFh
  1558.     ES:BX -> 17-byte buffer for name
  1559. Return: AH = 00h if successful
  1560.        ES:BX buffer filled
  1561.     AX = FFFFh if end of table or no name available
  1562. Notes:    use this function to get the names of the hosts on the network
  1563.     successive calls are necessary to get all names
  1564. SeeAlso: AX=D600h
  1565. --------N-6AD600DHFF-------------------------
  1566. INT 6A - DECnet DOS LOCAL AREA TRANSPORT - LAT SERVICE TABLE RESET
  1567.     AX = D600h
  1568.     DH = FFh
  1569. Return: AX = number of service table entries
  1570.     BX = status
  1571.         0000h service table has not overflowed
  1572.         FFFFh service table has overflowed
  1573. SeeAlso: AX=D500h
  1574. --------N-6B---------------------------------
  1575. INT 6B - DECnet DOS - PORT DRIVER
  1576. Note:    the installation check consists of testing for a signature area
  1577.       (see #2169) immediately preceding the interrupt handler
  1578. SeeAlso: INT 6A"DECnet",INT 6C"DECnet"
  1579. Index:    installation check;DECnet DOS Port Driver
  1580.  
  1581. Format of DECnet DOS signature area:
  1582. Offset    Size    Description    (Table 2169)
  1583.  -5    BYTE    major version number
  1584.  -4    BYTE    minor version number
  1585.  -3   3 BYTEs    signature (ASCII "PDV")
  1586. --------v-6B---------------------------------
  1587. INT 6B - VIRUS - "Saddam" - ORIGINAL INT 21h VECTOR
  1588. SeeAlso: INT 21/AX=FFFFh,INT 61"VIRUS",INT 70"VIRUS"
  1589. --------h-6B---------------------------------
  1590. INT 6B - Hewlett Packard - EXTENDED BIOS - HARDWARE INTERRUPT
  1591. SeeAlso: INT 0B"IRQ0",INT 6A"Hewlett Packard",INT 6C"Hewlett Packard"
  1592. --------S-6B0000-----------------------------
  1593. INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - BUFFERED WRITE
  1594.     AX = 0000h
  1595.     CX = length
  1596.     ES:BX -> buffer
  1597. Return: CX = number of bytes written
  1598. Program: NASI is Novell's NetWare Asynchronous Services Interface (purchased
  1599.       from Network Products Corp, who call it NCSI) which runs on
  1600.       workstations; NACS is the NetWare Asynchronous Communications
  1601.       Services module which runs on servers
  1602. Notes:    the installation check consists of testing for the signature string
  1603.       "NCSI" three bytes past the interrupt handler; see also AH=02h.
  1604.       As of version 3.0, Novell's NASI can be distinguished from NPC's
  1605.       NCSI by the presence of an 'A' immediately following the signature
  1606.     this function is also supported by TelAPI, NPC NCSI, and Connection
  1607.       Manager CLIENT.EXE; for TelAPI, nonzero values in AL specify a
  1608.       connection ID
  1609.     Connection Manager returns CF set/AL=FFh if called while an INT 6B
  1610.       call is already in progress
  1611. SeeAlso: AX=0100h,AH=18h,INT 14/AH=19h,INT 14/AH=E3h
  1612. --------S-6B0100-----------------------------
  1613. INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - BUFFERED READ
  1614.     AX = 0100h
  1615.     CX = length of buffer
  1616.     ES:BX -> buffer
  1617. Return: CX = number of bytes read
  1618. Note:    also supported by TelAPI and NPC NCSI; for TelAPI, nonzero values in
  1619.       AL specify a connection ID
  1620. SeeAlso: AX=0000h,AH=19h,INT 14/AH=18h,INT 14/AH=E2h,INT 14/AX=FF02h
  1621. --------S-6B02-------------------------------
  1622. INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - INSTALL CHECK
  1623.     AH = 02h
  1624.     AL nonzero
  1625. Return: AL = 00h if present and OK
  1626. Note:    this function is also supported by TelAPI and NPC NCSI
  1627. SeeAlso: AX=0700h
  1628. --------S-6B0600-----------------------------
  1629. INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - CONTROL
  1630.     AX = 0600h
  1631.     CX = command
  1632.         02h send break
  1633.         04h disconnect
  1634.         06h hold
  1635. Return: CF clear if successful
  1636.         AL = 00h
  1637.     CF set on error
  1638.         AX < 0
  1639. Note:    this function is also supported by TelAPI and NPC NCSI
  1640. --------S-6B0700-----------------------------
  1641. INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - GET STATUS
  1642.     AX = 0700h
  1643. Return: CH <> 00h if connection active
  1644. Notes:    this function is also supported by TelAPI and NPC NCSI
  1645.     Novell TelAPI returns CX=FF01h and CF clear
  1646. SeeAlso: AH=02h,AH=10h
  1647. --------N-6B08-------------------------------
  1648. INT 6B - TelAPI - ???
  1649.     AH = 08h
  1650. Return: CF clear
  1651.         AL = 00h
  1652.         CX = 0000h
  1653. Note:    this function also clears ??? flag
  1654. SeeAlso: INT 14/AX=FF00h
  1655. --------S-6B10-------------------------------
  1656. INT 6B - NPC NCSI EXTENDED SERIAL I/O - GET STATUS
  1657.     AH = 10h
  1658.     AL = connection ID (Novell TELAPI.EXE)
  1659.     CX = ???
  1660. Return: CF clear if successful
  1661.         CL = ???
  1662.         CH = ???
  1663.     CF set on error
  1664.     ???
  1665. Notes:    this function is also supported by TelAPI
  1666.     when shelled out to an external protocol from Novell NASI, the circuit
  1667.       whose status indicates that it is connected is the currently active
  1668.       circuit
  1669. SeeAlso: AX=0700h,AH=12h,AH=1Fh
  1670. --------S-6B11--DX0001-----------------------
  1671. INT 6B - NPC NCSI EXTENDED SERIAL I/O - ALLOCATE A VIRTUAL CIRCUIT
  1672.     AH = 11h
  1673.     DX = 0001h
  1674.     AL = 00h
  1675.     ES:BX -> service name string (8 characters, blank-padded)
  1676. Return: CF clear if successful
  1677.         AL = virtual circuit number allocated (01h for Novell TELAPI.EXE)
  1678.         CL = ??? (01h for Novell TELAPI.EXE)
  1679.         CH = ??? (01h for Novell TELAPI.EXE)
  1680.     CF set on error
  1681.         ???
  1682. Note:    this function is also supported by TelAPI
  1683. SeeAlso: AH=12h,AH=15h,AH=16h,AH=17h,AH=18h
  1684. --------S-6B12-------------------------------
  1685. INT 6B - NPC NCSI EXTENDED SERIAL I/O - VIRTUAL CIRCUIT STATUS
  1686.     AH = 12h
  1687.     AL = virtual circuit number
  1688.     CL = ???
  1689.     ES:BX -> ???
  1690. Return: ???
  1691. Note:    this function is also supported by TelAPI
  1692. SeeAlso: AH=10h,AH=15h,AH=1Ah,AH=1Bh,AH=1Fh
  1693. --------S-6B13-------------------------------
  1694. INT 6B - NPC NCSI EXTENDED SERIAL I/O - SET/RETRIEVE REQUEST/REPLY SERVICE NAME
  1695.     AH = 13h
  1696.     AL = virtual circuit number
  1697.     CL = direction (00h get, nonzero set)
  1698.     ES:BX -> buffer for/containing service name
  1699. Return: ???
  1700. Note:    this function is also supported by TelAPI
  1701. SeeAlso: AH=14h,AH=15h
  1702. --------S-6B14-------------------------------
  1703. INT 6B - NPC NCSI EXTENDED SERIAL I/O - SET/RETRIEVE SERVICE ADDRESS
  1704.     AH = 14h
  1705.     AL = virtual circuit number
  1706.     ES:BX -> buffer for/containing service address
  1707. Return: ???
  1708. Note:    this function is also supported by TelAPI, which only supports
  1709.       retrieving the address
  1710. SeeAlso: AH=13h,AH=15h,AH=21h
  1711. --------S-6B15-------------------------------
  1712. INT 6B - NPC NCSI EXTENDED SERIAL I/O - SET/RETRIEVE VIRTUAL CIRCUIT CONFIG
  1713.     AH = 15h
  1714.     AL = virtual circuit number
  1715.     CL = direction (00h get, nonzero set)
  1716.     ES:BX -> buffer for/containing virtual circuit config (see #2170)
  1717. Return: ES:BX buffer filled
  1718. Note:    this function is also supported by TelAPI
  1719. SeeAlso: AH=13h"NCSI",AH=14h"NCSI"
  1720.  
  1721. Format of virtual circuit configuration:
  1722. Offset    Size    Description    (Table 2170)
  1723.  00h    WORD    buffer length
  1724.  02h    WORD    port ID
  1725.  04h    WORD    receive rate
  1726.  06h    WORD    receive word length
  1727.  08h    WORD    receive stop bits
  1728.  0Ah    WORD    receive parity
  1729.  0Ch    WORD    transmit rate
  1730.  0Eh    WORD    transmit word length
  1731.  10h    WORD    transmit stop bits
  1732.  12h    WORD    transmit parity
  1733.  14h    WORD    DTR
  1734.  16h    WORD    RTS
  1735. --------S-6B16-------------------------------
  1736. INT 6B - NPC NCSI EXTENDED SERIAL I/O - LOG AND/OR INITIALIZE VIRTUAL CIRCUIT
  1737.     AH = 16h
  1738.     AL = virtual circuit number
  1739.     CL = ??? switch (00h, ???)
  1740. Return: CF clear if successful
  1741.         AL = virtual circuit number
  1742.     CF set on error
  1743.         ???
  1744. Note:    this function is also supported by TelAPI, which always returns CF
  1745.       clear and AL=00h
  1746. SeeAlso: AH=11h,AH=12h,AH=17h
  1747. --------S-6B17-------------------------------
  1748. INT 6B - NPC NCSI EXTENDED SERIAL I/O - DISCONNECT A VIRTUAL CIRCUIT
  1749.     AH = 17h
  1750.     AL = virtual circuit number
  1751. Return: CF clear if successful
  1752.     CF set on error
  1753.     ???
  1754. Note:    this function is also supported by TelAPI, which always returns CF
  1755.       clear and AL=00h
  1756. SeeAlso: AH=11h,AH=16h
  1757. --------S-6B18-------------------------------
  1758. INT 6B - NPC NCSI EXTENDED SERIAL I/O - WRITE DATA ON A VIRTUAL CIRCUIT
  1759.     AH = 18h
  1760.     AL = virtual circuit number
  1761.     CX = number of characters to send
  1762.     ES:BX -> buffer containing characters to be sent
  1763. Return: CF clear if successful
  1764.     CF set on error
  1765.     ???
  1766. Note:    this function is also supported by TelAPI, which always returns CF
  1767.       clear and AL=30h
  1768. SeeAlso: AX=0000h,AH=12h,AH=19h
  1769. --------S-6B19-------------------------------
  1770. INT 6B - NPC NCSI EXTENDED SERIAL I/O - READ DATA ON A VIRTUAL CIRCUIT
  1771.     AH = 19h
  1772.     AL = virtual circuit number
  1773.     CX = number of characters to read
  1774.     ES:BX -> buffer for received characters
  1775. Return: CX = 0000h if failed
  1776.     CX = nonzero (possibly number of characters received) if successful
  1777. Note:    this function is also supported by TelAPI
  1778. SeeAlso: AX=0100h,AH=12h,AH=18h
  1779. --------S-6B1A-------------------------------
  1780. INT 6B - NPC NCSI EXTENDED SERIAL I/O - RECEIVE STATUS
  1781.     AH = 1Ah
  1782.     ???
  1783. Return: ???
  1784. SeeAlso: AH=12h,AH=1Bh
  1785. --------S-6B1B-------------------------------
  1786. INT 6B - NPC NCSI EXTENDED SERIAL I/O - TRANSMIT STATUS
  1787.     AH = 1Bh
  1788.     ???
  1789. Return: ???
  1790. SeeAlso: AH=12h,AH=1Ah
  1791. --------S-6B1C-------------------------------
  1792. INT 6B - NPC NCSI EXTENDED SERIAL I/O - CLEAR RECEIVE BUFFER
  1793.     AH = 1Ch
  1794.     AL = circuit number
  1795. Return: nothing
  1796. SeeAlso: AH=1Dh"NCSI",AH=1Eh"NCSI"
  1797. --------S-6B1D-------------------------------
  1798. INT 6B - NPC NCSI EXTENDED SERIAL I/O - TRANSMIT BUFFER CONTROL
  1799.     AH = 1Dh
  1800.     ???
  1801. Return: ???
  1802. SeeAlso: AH=1Ch,AH=1Eh
  1803. --------S-6B1E-------------------------------
  1804. INT 6B - NPC NCSI EXTENDED SERIAL I/O - ISSUE CONTROL REQUEST
  1805.     AH = 1Eh
  1806.     ???
  1807. Return: ???
  1808. SeeAlso: AH=1Ch,AH=1Dh
  1809. --------S-6B1F-------------------------------
  1810. INT 6B - NPC NCSI EXTENDED SERIAL I/O - EXTERNAL STATUS
  1811.     AH = 1Fh
  1812.     ???
  1813. Return: ???
  1814. SeeAlso: AH=10h,AH=12h
  1815. --------S-6B20-------------------------------
  1816. INT 6B - Connection Manager CLIENT.EXE - ???
  1817.     AH = 20h
  1818.     ???
  1819. Return: ???
  1820. Program: Connection Manager by Softwarehouse Corp. permits the sharing of
  1821.       serial ports over an IPX or NetBIOS-based network
  1822. Note:    CLIENT.EXE returns CF set/AL=F9h if AH is not 00h to 21h on entry
  1823. --------S-6B21-------------------------------
  1824. INT 6B - NPC NCSI EXTENDED SERIAL I/O - QUERY NAME SERVICE
  1825.     AH = 21h
  1826.     AL = virtual circuit number
  1827.     CL = ??? (00h or 01h)
  1828.     ES:BX -> buffer for service name structure (see #2171)
  1829. Return: CF clear if successful
  1830.         ES:BX buffer filled
  1831.     CF set on error
  1832. Notes:    a program should call this function after allocating a virtual circuit
  1833.       and check that the general name matches the requested service
  1834.     prior to version 3.0, Novell's NASI returned the first available port;
  1835.       v3.0+ returns the first port found--check the returned status to
  1836.       determine whether the port is available
  1837. SeeAlso: AH=14h"NCSI"
  1838.  
  1839. Format of NCSI service name structure:
  1840. Offset    Size    Description    (Table 2171)
  1841.  00h    WORD    buffer length
  1842.  02h  8 BYTEs    service name
  1843.  0Ah  8 BYTEs    general name
  1844.  12h  8 BYTEs    specific name
  1845.  1Ah  4 BYTEs    ???
  1846. ---Novell NASI v3.0+ ---
  1847.  1Eh    BYTE    port number
  1848.  1Fh    BYTE    port status
  1849.         00h idle (available)
  1850.         01h allocated (available)
  1851.         02h connected
  1852.         03h on hold
  1853. ----------6B6B-------------------------------
  1854. INT 6B - Tandy SCHOOLMATE PLUS - API
  1855.     AH = 6Bh
  1856.     AL = E0h to FFh
  1857. Note:    details not yet available
  1858. ----------6C---------------------------------
  1859. INT 6C - system resume vector (CONVERTIBLE)
  1860. ----------6C---------------------------------
  1861. INT 6C - DOS 3.2 Realtime Clock update
  1862. --------N-6C---------------------------------
  1863. INT 6C - DECnet DOS network scheduler
  1864. Notes:    the installation check consists of testing for a signature area
  1865.       immediately preceding the interrupt handler
  1866.     also supported by DEC Pathworks for DOS
  1867. SeeAlso: INT 6B"DECnet",INT 6D"DECnet",INT 6E"DECnet"
  1868. Index:    installation check;DECnet DOS scheduler
  1869.  
  1870. Format of DECnet DOS signature area:
  1871. Offset    Size    Description    (Table 2172)
  1872.  -5    BYTE    major version number
  1873.  -4    BYTE    minor version number
  1874.  -3   3 BYTEs    signature (ASCII "SCH")
  1875. --------h-6C---------------------------------
  1876. INT 6C - Hewlett Packard - EXTENDED BIOS - HP-HIL CONTROLLER SERVICE ROUTINE
  1877. SeeAlso: INT 0C"IRQ0",INT 6B"Hewlett Packard",INT 6D"Hewlett Packard"
  1878. --------V-6D---------------------------------
  1879. INT 6D - VIDEO - many VGA - VIDEO BIOS ENTRY POINT
  1880. Desc:    points at the original INT 10 entry point set up by the VGA BIOS
  1881. Note:    used by IBM, ATI VGA Wonder, Paradise, Video7, and NCR, and many others
  1882. SeeAlso: INT 10
  1883. --------V-6D---------------------------------
  1884. INT 6D - Trident SVGA - VIDEO BIOS HANDLER
  1885. Note:    the BIOS INT 10 handler on various Trident VGA cards consists merely
  1886.       of a call to INT 6D followed by an IRET.
  1887. --------N-6D---------------------------------
  1888. INT 6D - DECnet DOS (before 2.1) - DATA LINK LAYER PROGRAM
  1889.     AH = function
  1890.     ???
  1891. Return: ???
  1892. Note:    the installation check consists of testing for a signature area
  1893.       immediately preceding the interrupt handler
  1894. SeeAlso: INT 69/AH=0Ah,INT 6C"DECnet",INT 6E"DECnet"
  1895. Index:    installation check;DECnet DOS Data Link Layer
  1896.  
  1897. Format of DECnet DOS signature area:
  1898. Offset    Size    Description    (Table 2173)
  1899.  -5    BYTE    major version number
  1900.  -4    BYTE    minor version number
  1901.  -3   3 BYTEs    signature (ASCII "DLL")
  1902. --------h-6D---------------------------------
  1903. INT 6D - Hewlett Packard - EXTENDED BIOS - HARDWARE INTERRUPT
  1904. SeeAlso: INT 0D"IRQ0",INT 6C"Hewlett Packard",INT 6E"Hewlett Packard"
  1905. --------N-6E---------------------------------
  1906. INT 6E - DECnet DOS - DECnet NETWORK PROCESS API
  1907. Notes:    this is the main DECnet DOS access, and is described in Digital manual
  1908.       AA-EB46B-TV ("DECnet-DOS Programmer's Reference Manual")
  1909.     there is a signature/data area immediately prior to the interrupt
  1910.       handler which may be used as an installation check
  1911. Index:    installation check;DECnet DOS
  1912.  
  1913. Format of DECnet DOS signature area:
  1914. Offset    Size    Description    (Table 2174)
  1915.  -5    BYTE    major version number
  1916.  -4    BYTE    minor version number
  1917.  -3   3 BYTEs    signature (ASCII "DNP")
  1918. --------h-6E---------------------------------
  1919. INT 6E - Hewlett Packard - EXTENDED BIOS - HARDWARE INTERRUPT
  1920. SeeAlso: INT 0E"IRQ0",INT 6D"Hewlett Packard",INT 6F/AH=00h"HP HIL Vectras"
  1921. --------N-6F---------------------------------
  1922. INT 6F - Novell NetWare - PCOX API (3270 PC terminal interface)
  1923.     AX = function
  1924.         0000h enter terminal mode
  1925.         Return: AX = status
  1926.                 0000h no action requested
  1927.                 0001h screen save
  1928.         0001h reset interface and set configuration parameters
  1929.         DX = bitfields
  1930.             bits 2-0: model number
  1931.             bits 4-3: I/O address
  1932.             bits 6-5: DMA channel
  1933.         Return: nothing
  1934.         0002h set display parameters
  1935.         DX = bitfields
  1936.             bits 1-0: OIA mode
  1937.             bits 4-2: monitor support
  1938.         Return: nothing
  1939.         0003h read status
  1940.         Return: AX = status word (see #2175)
  1941.         0004h read cursor position
  1942.         Return: AX = cursor position
  1943.         0005h get character from device buffer
  1944.         DX = cursor position
  1945.         Return: AH = type (00h data, 01h attribute)
  1946.             AL = data or attribute character
  1947.         0006h send character
  1948.         DH = type (00h ASCII, 01h extended code)
  1949.         DL = ASCII character or extended code
  1950.         Return: nothing
  1951.         0007h set timeout
  1952.         DX = timeout in seconds
  1953.         Return: nothing
  1954.         0008h wait for location to be modified
  1955.         DX = cursor position
  1956.         Return: AX = status (0000h modified, nonzero timeout)
  1957.         0009h NOP
  1958.         000Ah restore display
  1959.         Return: nothing
  1960.         000Bh update device buffer
  1961.         Return: AX = cursor positoin
  1962.         000Ch write string to add information area
  1963.         DS:DX -> string
  1964.         Return: nothing
  1965.         000Dh maintenance operations
  1966.         DX = maintenance operation code
  1967.         Return: AX = operation status
  1968.         000Eh get control program version
  1969.         Return: AH = release number (major version)
  1970.             AL = level number (minor version)
  1971.         000Fh get microcode version
  1972.         Return: AH = release number (major version)
  1973.             AL = level number (minor version)
  1974.         0010h save or display graphics
  1975.         BX = length of data buffer
  1976.         CX = subfunction request code
  1977.         DS:DX -> data buffer
  1978.         Return: AX = return code
  1979.             CX = length of PIF data
  1980.         0011h perform structured field operation
  1981.         CX = request number
  1982.         DS:DX -> parameter list
  1983.         Return: AX = status word (see #2175)
  1984.             CX = error number
  1985.         0012h set cursor position for direct write buffer
  1986.         DX = new cursor position
  1987.         Return: AX = status word (see #2175)
  1988.         0013h write direct to buffer
  1989.         DL = character to be written
  1990.         DH = translation option
  1991.         Return: AX = status word (see #2175)
  1992.         0014h write direct to buffer without echo
  1993.         DL = character to be written
  1994.         DH = translation option
  1995.         Return: AX = status word (see #2175)
  1996.         0015h set direct write string length
  1997.         DX = string value
  1998.         Return: nothing
  1999.         0016h write string direct to buffer
  2000.         DS:DX -> string
  2001.         Return: AX = status word (see #2175)
  2002.         0017h write string direct to buffer, untranslated
  2003.         DS:DX -> string
  2004.         Return: AX = status word (see #2175)
  2005.         0018h get direct-write cursor position
  2006.         Return: AX = cursor position
  2007.         0019h convert row/column to cursor position
  2008.         DH = display row (1-43)
  2009.         DL = display column (1-132)
  2010.         Return: AX = cursor position
  2011.         001Ah convert cursor position to row/column
  2012.         DX = cursor position
  2013.         Return: AH = display row
  2014.             AL = display column
  2015.         001Bh find next field
  2016.         DX = initial cursor position
  2017.         Return: AX = field cursor position
  2018.         001Ch find previous field
  2019.         DX = initial cursor position
  2020.         Return: AX = field cursor position
  2021.         001Dh find next unprotected field
  2022.         DX = initial cursor position
  2023.         Return: AX = field cursor position
  2024.         001Eh find previous unprotected field
  2025.         DX = initial cursor position
  2026.         Return: AX = field cursor position
  2027.         001Fh find next protected field
  2028.         DX = initial cursor position
  2029.         Return: AX = field cursor position
  2030.         0020h find previous protected field
  2031.         DX = initial cursor position
  2032.         Return: AX = field cursor position
  2033.         0021h masked search forward
  2034.         DH = mask
  2035.         DL = search pattern
  2036.         Return: AX = cursor position or 0000h
  2037.         0022h masked search backward
  2038.         DH = mask
  2039.         DL = search pattern
  2040.         Return: AX = cursor position or 0FFFh
  2041.         0023h find field length
  2042.         DX = cursor position
  2043.         Return: AX = field length
  2044.         0024h read field
  2045.         DS:DX -> buffer for field contents
  2046.         Return: AX = status word (see #2175)
  2047.         0025h read screen
  2048.         DS:DX -> buffer for screen contents
  2049.         Return: AX = status word (see #2175)
  2050.         0026h read buffer untranslated
  2051.         DX = cursor position
  2052.         Return: AX = buffer code
  2053.             CX:BX -> 3278/79 device buffer image
  2054.         0027h enable/disable keyboard
  2055.         DL = new state of keyboard breaks (00h enabled, 01h disabled)
  2056.         Return: nothing
  2057.         0028h select host session
  2058.         DL = session short name
  2059.         Return: AX = session information
  2060.         0029h retrieve host session name
  2061.         AX = short name (DFT) or 0000h (not available, CUT mode)
  2062.         002Ah get current device buffer size
  2063.         Return: AX = device buffer size
  2064.             CX = segment of EAB
  2065.         002Bh arm modified location trigger
  2066.         DX = cursor position
  2067.         Return: AX = status (0000h not available, 0001h successful)
  2068.  
  2069. Bitfields for PCOX status word:
  2070. Bit(s)    Description    (Table 2175)
  2071.  0,1    cursor type
  2072.  2    cursor inhibited
  2073.  3    display inhibited
  2074.  4    feature step inhibited
  2075.  5    480-character format code
  2076.  6,7    unused
  2077.  8-10    model number (2-5)
  2078.  11    unit has been reset by controller (cleared after status returned)
  2079.  12    buffer has been written into (cleared after status returned)
  2080.  13    alarm has been sounded (cleared after status returned)
  2081.  14-15    monitor type (01 mono, 10 color, 11 hybrid)
  2082. --------N-6F00-------------------------------
  2083. INT 6F - 10NET - LOGIN
  2084.     AH = 00h
  2085.     DS:DX -> login record (see #2176)
  2086. Return: CL = security level
  2087.     AX = status (see #2177)
  2088. SeeAlso: AH=01h,AH=80h,INT 21/AX=4402h"10MEMMGR"
  2089.  
  2090. Format of 10NET login record:
  2091. Offset    Size    Description    (Table 2176)
  2092.  00h  8 BYTEs    user name
  2093.  08h  8 BYTEs    password
  2094.  10h 12 BYTEs    name of SuperStation
  2095.  
  2096. (Table 2177)
  2097. Values for 10NET status:
  2098.  0000h    successful
  2099.  01FFh    "RTO_NERR" transmit interrupt lost (time out on response)
  2100.  02FFh    "NET_NERR" network (hardware) error
  2101.  03FFh    "PAS_NERR" invalid password
  2102.  04FFh    "LRN_NERR" local resource not available
  2103.  05FFh    "SRN_NERR" server resource not available
  2104.  06FFh    "LNM_NERR" already logged in under different name
  2105.  07FFh    "LSF_NERR" login security failure (node)
  2106.  08FFh    "NLI_NERR" not logged in
  2107.  09FFh    "DIVZ_NERR" position calc error
  2108.  0AFFh    "NT1_NERR" receive subfunction not = send subfunction (i.e. read,write)
  2109.  0BFFh    "RFNC_NERR" request function not in range
  2110.  0CFFh    "NSFH_NERR" no more server file handle entries left
  2111.  0DFFh    "NFTAB_NERR" no more shared file table entries left
  2112.  0EFFh    "NUFH_NERR" no more user file handle entries left
  2113.  0FFFh    "CHAT_NERR" chat permit not on
  2114.  10FFh    "NSRV_NERR" not a server on request
  2115.  11FFh    "NOBD_NERR" no transporter board error
  2116.  12FFh    "STO_NERR" time out on send
  2117.  13FFh    "INF_NERR" item not found (spool item not on queue)
  2118.  14FFh    "DACS_NERR" DOS access incompatible
  2119.  15FFh    "RLOCK_NERR" record already locked
  2120.  16FFh    "IVP_NERR" invalid parameter
  2121.  17FFh    "RLTO_NERR" record lock time out error
  2122.  18FFh    "CSPL_NERR" currently spooling to named device
  2123.  19FFh    "DRP_NERR" dropped receive message (throttle)
  2124.  1AFFh    "SOPV_NERR" open sharing violation
  2125.  1BFFh    "NTUF_NERR" no more tuf entries left
  2126.  1CFFh    "NOWN_NERR" not file owner on open
  2127.  1DFFh    "RSEC_NERR" read security not passed
  2128.  1EFFh    "WSEC_NERR" write security not passed
  2129.  1FFFh    "GSEC_NERR" group security not passed
  2130.  20FFh    "SEC1_NERR" security file failure
  2131.  21FFh    "ACT1_NERR" activity file failure
  2132.  22FFh    "SPL1_NERR" spool control file failure
  2133.  23FFh    "NMT_NERR" device not mounted (spooling)
  2134.  24FFh    "RSPL_NERR" spool file has not been terminated
  2135.  25FFh    "DNSH_NERR" device not mounted or is not being shared
  2136.  26FFh    "DUP_NERR" duplicate node ID
  2137.  27FFh    "FNF_NERR" file not found error
  2138.  28FFh    "NMF_NERR" no more files
  2139.  29FFh    "UN_NERR" unknown internal system error
  2140.  2AFFh    "QCP_NERR" print queue is full or corrupted
  2141.  2BFFh    "IFNC_NERR" invalid function
  2142.  2CFFh    "IVH_NERR" invalid handle
  2143.  2DFFh    "TOF_NERR" too many files opened
  2144.  2EFFh    "PNF_NERR" path not found
  2145.  2FFFh    "SACT_NERR" named file is active
  2146. ---10NET v5.0+ ---
  2147.  30FFh    "NAK_NERR" received NAK on send (destination out of buffers)
  2148.  31FFh    "RENT_NERR" reentrancy in driver F_SEND
  2149.  32FFh    "RECV_NERR" driver could not be put in receive mode
  2150.  33FFh    "NRLT_NERR" no more RLTAB entries left
  2151.  34FFh    "DIAL_NERR" function requires an unsupported dialect
  2152.  35FFh    "IVD_NERR" invalid device
  2153.  36FFh    "NALV_NERR" netname access level violated
  2154.  37FFh    "NPIDNF_NERR" network path not found
  2155.  38FFh    "SP_NERR" server is paused
  2156.  39FFh    "TMNM_NERR" too many remote user names
  2157.  3AFFh    "DUPD_NERR" duplicate network device
  2158.  3BFFh    "DIU_NERR" shared device in use, can't delete
  2159.  3CFFh    "NNWD_NERR" network name was deleted
  2160.  3DFFh    "NPFS_NERR" not enough space for print file
  2161.  3EFFh    "NNNF_NERR" network name not found (can't find the call name)
  2162.  3FFFh    "NB_NERR" network busy
  2163.  40FFh    "NDNLE_NERR" network device no longer exists
  2164.  41FFh    "NBCLE_NERR" NetBIOS command limit exceeded
  2165.  42FFh    "FINT24_NERR" Fail on INT 24h
  2166.  43FFh    "PEXP_NERR" password expired
  2167.  44FFh    "NPUP_NERR" new password error
  2168.  45FFh    "MAXS_NERR" maximum allowed disk space exceeded
  2169.  46FFh    "TDOW_NERR" time-of-day/day-of-week error
  2170. SeeAlso: #2188
  2171. Index:    error codes;10Net|10Net;error codes
  2172. --------b-6F00-------------------------------
  2173. INT 6F - Hewlett Packard - EXTENDED BIOS - "F_ISR" - RESPOND TO LOGICAL ISR
  2174.     AH = 00h
  2175.     BP = ID for driver (0012h???)
  2176.     ???
  2177. Return: ???
  2178. SeeAlso: INT 6F/AH=02h"Hewlett Packard"
  2179. --------N-6F01-------------------------------
  2180. INT 6F - 10NET - LOGOFF
  2181.     AH = 01h
  2182.     DS:DX -> superstation ID or nulls (12 bytes)
  2183. Return: CX = number of files closed
  2184.     AX = status (see also #2177)
  2185.         08FFh superstation ID not already logged in
  2186. SeeAlso: AH=00h"10NET",AH=81h
  2187. --------N-6F02-------------------------------
  2188. INT 6F - 10NET - STATUS OF NODE
  2189.     AH = 02h
  2190.     DS:DX -> 512-byte status record (see #2179)
  2191. Return:    CF clear if successful
  2192.     CF set on error
  2193.         AX = error code (see #2177)
  2194. SeeAlso: INT 21/AX=5E01h"10NET"
  2195.  
  2196. (Table 2178)
  2197. Values for 10NET station type:
  2198.  00h    workstation
  2199.  01h    superstation
  2200.  02h    gateway station
  2201.  03h    gateway active
  2202.  04h    logged into multiple superstations
  2203.  05h    reserved
  2204.  
  2205. Format of 10NET node status record:
  2206. Offset    Size    Description    (Table 2179)
  2207.  00h  8 BYTEs    user name (0 if none)
  2208.  08h    BYTE    station type (see #2178)
  2209.  09h 24 BYTEs    list of superstations logged into more than one superstation
  2210.  21h 12 BYTEs    node ID
  2211.  2Dh    WORD    message count for this station (send for user node, receive for
  2212.           superstations)
  2213. ---for superstations only---
  2214.  2Fh    WORD    drives allocated (bit 0=A:, bit 1=B:,...)
  2215.  31h    BYTE    user service flags (see #2180)
  2216.  32h    BYTE    printers allocated (bit 0=LPT1,...)
  2217.  33h    BYTE    number of unprinted spool files
  2218.  34h    BYTE    number of opened files
  2219.  35h    BYTE    number of logged on nodes
  2220.  36h    BYTE    primary drive (1=A:)
  2221.  37h    BYTE    reserved
  2222.  38h  N BYTEs    list of logged on node IDs (each 12 bytes, max 37 IDs)
  2223. 1F4h  3 BYTEs    time: sec/min/hrs
  2224. 1F7h  3 BYTEs    date: day/mon/year-1980
  2225.  
  2226. Bitfields for 10NET user service flags:
  2227. Bit(s)    Description    (Table 2180)
  2228.  7    gate
  2229.  6    print permit on
  2230.  4    SUBMIT is on
  2231.  3    mail waiting for node
  2232.  2    calendar waiting for you
  2233.  1    news waiting for you
  2234.  0    mail waiting for you
  2235. --------b-6F02-------------------------------
  2236. INT 6F - Hewlett Packard - EXTENDED BIOS - "F_SYSTEM" - SYSTEM FUNCTIONS
  2237.     AH = 02h
  2238.     BP = driver ID
  2239.     AL = subfunction
  2240.         00h "SF_INIT" start initializing a driver
  2241.         02h "SF_START" complete driver initialization
  2242.         04h "SF_RPT_STAT" report driver state
  2243.         06h "SF_VER_DESC" get driver's revision number and date code
  2244.         08h "SF_DEF_ATTR" get driver's default configuration
  2245.         0Ah "SF_GET_ATTR" get driver's current configuration
  2246.         0Ch "SF_SET_ATTR" specify new configuration for driver
  2247.         0Eh "SF_OPEN" reserve driver for exclusive access
  2248.         10h "SF_CLOSE" release driver from exclusive access
  2249.         12h "SF_TIMEOUT" tell driver that a requested timeout has occurred
  2250.         14h "SF_INTERVAL" tell driver that a requested 60Hz interval done
  2251.         16h "SF_TEST" tell driver to perform hardware test
  2252.     ??? details not yet available
  2253. Return: ???
  2254. SeeAlso: AH=00h"Hewlett Packard",AH=04h"Hewlett Packard"
  2255. --------W-6F0204-----------------------------
  2256. INT 6F C - MS Windows 3.0 - DOS APPLICATION SWITCH HOOK
  2257.     AX = 0204h
  2258. Return: AX = status
  2259.         0000h switch is allowed
  2260.         other switch not allowed
  2261. Note:    intercepting this call will allow a DOS application to ensure that
  2262.       Windows will not switch away from it.
  2263. --------N-6F03-------------------------------
  2264. INT 6F - 10NET - GET ADDRESS OF CONFIGURATION TABLE
  2265.     AH = 03h
  2266.     DS:DI -> node ID (optional)
  2267. Return: ES:BX -> configuration table (see #2181)
  2268. SeeAlso: AH=13h,INT 21/AX=5E01h"10NET"
  2269.  
  2270. Format of 10NET configuration table:
  2271. Offset    Size    Description    (Table 2181)
  2272. -41    WORD    local device table address
  2273. -39    WORD    extended network error mapping table address
  2274. -37    WORD    shared device table address
  2275. -35    WORD    mounted device table address
  2276. -33    BYTE    receive buffer counter
  2277. -32    BYTE    collect buffer counter
  2278. -31    WORD    TUF address
  2279. -29    BYTE    enable flag
  2280. -28    BYTE    FCB keep flag
  2281. -27    WORD    reserved
  2282. ---up to here, 10NET v3.3---
  2283. -25    WORD    count of dropped Send6F
  2284. -23    WORD    buffer start address
  2285. -21    WORD    comm driver base address
  2286. -19    WORD    send/receive retry count
  2287. -17    BYTE    number of 550ms loops before timeout
  2288. -16    WORD    UFH address
  2289. -14    WORD    CDIR address
  2290. -12    WORD    LTAB address
  2291. -10    WORD    SFH address
  2292. -8    WORD    FTAB address
  2293. -6    WORD    RLTAB address
  2294. -4    WORD    SMI address
  2295. -2    WORD    NTAB address
  2296.  00h    WORD    address of first CT_DRV
  2297.  02h    BYTE    number of DRV entries
  2298.  03h  8 BYTEs    login name
  2299.  0Bh 12 BYTEs    node ID (blank-padded)
  2300.  17h  6 BYTEs    node address
  2301.  1Dh    BYTE    flag
  2302.  1Eh    BYTE    CT_CFLG (chat permit)
  2303.         bit 1: sound bell
  2304.         bit 0: CHAT permit
  2305.  1Fh    BYTE    CT_PSFLG (see #2182)
  2306.  20h    BYTE    in 10Net flag
  2307.  21h    WORD    receive message count
  2308.  23h    WORD    send message count
  2309.  25h    WORD    retry count
  2310.  27h    WORD    failed count
  2311.  29h    WORD    driver errors
  2312.  2Bh    WORD    dropped responses/CHATs
  2313.  2Dh  9 BYTEs    LIST ID/NTAB address (3 entries--LPT1-3)
  2314.  36h  6 BYTEs    AUX ID/NTAB address (2 entries--COM1-2)
  2315.  3Ch    BYTE    active CB channel
  2316.  3Dh    BYTE    received 6F messages on queue
  2317.  3Eh  9 BYTEs    activity counters for channels 1-9
  2318. ---beyond here, 10NET v3.3---
  2319.  47h    BYTE    bit 0: RS232 gate
  2320.         bit 1: Send6F gate (user set)
  2321.  48h    DWORD    pointer into gate (user set)
  2322.  4Ch    DWORD    pointer into 10Net send
  2323.  50h  N WORDs    addresses of timer blocks
  2324.  
  2325. Bitfields for CT_PSFLG:
  2326. Bit(s)    Description    (Table 2182)
  2327.  5    PRINT permit
  2328.  4    KB initiated
  2329.  3    CHAT called FOXPTRM
  2330.  2    SUBMIT active
  2331.  1    SUBMIT received
  2332.  0    SUBMIT permit
  2333. --------N-6F04-------------------------------
  2334. INT 6F - 10NET - SEND
  2335.     AH = 04h
  2336.     DS:BX -> send record (see #2183)
  2337.     DS:DX -> data (max 1024 bytes)
  2338. Return:    CF clear if successful
  2339.     CF set on error
  2340.         AX = error code (see #2177)
  2341. SeeAlso: AH=05h,AH=09h,AH=0Ah
  2342.  
  2343. Format of 10NET send record:
  2344. Offset    Size    Description    (Table 2183)
  2345.  00h 12 BYTEs    receiving node's ID
  2346.         if first byte has high-order bit set, message is directed to
  2347.           the CT_RGATE vector at the receiver
  2348.         if second byte is 00h, first byte is taken as a CB
  2349.           channel number and delivered to all nodes on same channel
  2350.  0Ch    WORD     length of data at DX
  2351. --------b-6F04-------------------------------
  2352. INT 6F - Hewlett Packard - EXTENDED BIOS - "F_IO_CTRL" - DRIVER CONTROL
  2353.     AH = 04h
  2354.     BP = driver ID
  2355.     AL = subfunction
  2356.         00h "SF_LOCK" reserve specified sub-addresses for exclusive access
  2357.         02h "SF_UNLOCK" release specified sub-addresses
  2358.         others driver-dependent
  2359.     ??? details not yet available
  2360. Return: ???
  2361. SeeAlso: AH=02h"Hewlett Packard",AH=06h"Hewlett Packard"
  2362. --------N-6F05-------------------------------
  2363. INT 6F - 10NET - RECEIVE
  2364.     AH = 05h
  2365.     CX = number of seconds before timeout
  2366.     DS:DX -> receive buffer (see #2184)
  2367. Return:    CF clear if successful
  2368.         AH = FEh if dequeued message is a CB message
  2369.     CF set on error
  2370.         AX = error code (see #2177)
  2371. SeeAlso: AH=04h"10NET"
  2372.  
  2373. Format of 10NET receive buffer:
  2374. Offset    Size    Description    (Table 2184)
  2375.  00h 12 BYTEs    sending node's ID
  2376.  0Ch    WORD    length of message
  2377.  0Eh  N BYTEs    message (maximum 1024 bytes)
  2378. --------b-6F06-------------------------------
  2379. INT 6F - Hewlett Packard - EXTENDED BIOS - "F_PUT_BYTE" WRITE A BYTE OF DATA
  2380.     AH = 06h
  2381.     BP = driver ID
  2382.     ??? details not yet available
  2383. Return: ???
  2384. SeeAlso: AH=04h"Hewlett Packard",AH=08h"Hewlett Packard",AH=0Ah"Hewlett"
  2385. --------N-6F07-------------------------------
  2386. INT 6F - 10NET - LOCK HANDLE
  2387.     AH = 07h
  2388.     BX = file handle
  2389.     CX:DX = starting offset in file
  2390.     SI = record length
  2391. Return:    CF clear if successful
  2392.     CF set on error
  2393.         AX = error code (see also AH=00h)
  2394.         0002h file not found
  2395. SeeAlso: AH=08h"10NET",AH=0Fh,INT 21/AH=5Ch
  2396. --------N-6F08-------------------------------
  2397. INT 6F - 10NET - UNLOCK HANDLE
  2398.     AH = 08h
  2399.     BX = file handle
  2400.     AL = mode
  2401.         00h unlock all
  2402.         01h unlock record at CX:DX
  2403. Return:    CF clear if successful
  2404.     CF set on error
  2405.         AX = error code (see also AH=00h)
  2406.         0002h file not found
  2407. SeeAlso: AH=07h,AH=0Fh,INT 21/AH=5Ch
  2408. --------b-6F08-------------------------------
  2409. INT 6F - Hewlett Packard - EXTENDED BIOS - "F_GET_BYTE" READ A BYTE OF DATA
  2410.     AH = 08h
  2411.     BP = driver ID
  2412.     ??? details not yet available
  2413. Return: ???
  2414. SeeAlso: AH=06h"Hewlett Packard",AH=0Ah"Hewlett Packard",AH=0Ch"Hewlett"
  2415. --------N-6F09-------------------------------
  2416. INT 6F - 10NET - SUBMIT
  2417.     AH = 09h
  2418.     DS:BX -> submit record (see #2185)
  2419. SeeAlso: AH=04h"10NET"
  2420.  
  2421. Format of 10NET submit record:
  2422. Offset    Size    Description    (Table 2185)
  2423.  00h 12 BYTEs    destination node ID (must be logged in)
  2424.  0Ch    WORD    length+2 of following 'command line' text
  2425.  0Eh  N BYTEs    command line text (<=100 bytes), system adds CR
  2426. --------N-6F0A-------------------------------
  2427. INT 6F - 10NET - CHAT
  2428.     AH = 0Ah
  2429.     DS:BX -> control parameters (see #2186)
  2430.     DS:DX -> chat message (see #2187)
  2431. SeeAlso: AH=04h"10NET",AH=8Ah
  2432.  
  2433. Format of 10NET chat control parameters:
  2434. Offset    Size    Description    (Table 2186)
  2435.  00h  8 BYTEs    sender ID, defaults to node's userID if nulls
  2436.  08h  8 BYTEs    destination user ID, 'EVERYONE' may be used
  2437.  10h 12 BYTEs    destination node ID
  2438.  
  2439. Format of 10NET chat message:
  2440. Offset    Size    Description    (Table 2187)
  2441.  00h    WORD    length+2 of following text
  2442.  02h  N BYTEs    text, max 101 bytes
  2443. --------b-6F0A-------------------------------
  2444. INT 6F - Hewlett Packard - EXTENDED BIOS - "F_PUT_BUF" WRITE A BUFFER
  2445.     AH = 0Ah
  2446.     BP = driver ID
  2447.     ??? details not yet available
  2448. Return: ???
  2449. SeeAlso: AH=06h"Hewlett Packard",AH=0Ch"Hewlett Packard"
  2450. --------N-6F0B-------------------------------
  2451. INT 6F - 10NET - LOCK SEMAPHORE, RETURN IMMEDIATELY
  2452.     AH = 0Bh
  2453.     AL = drive number or 0
  2454.     ES:SI = Ethernet address or 0
  2455.     DS:BX -> 31-byte ASCIZ semaphore name
  2456. Return: AL = status (see #2188)
  2457. Note:    same as INT 60/AH=12h
  2458. SeeAlso: AH=0Ch"10NET",INT 60/AH=12h
  2459.  
  2460. (Table 2188)
  2461. Values for 10NET status:
  2462.  00h    successful
  2463.  01h    semaphore currently locked
  2464.  02h    server not responding
  2465.  03h    invalid semaphore name
  2466.  04h    semaphore list is full
  2467.  05h    invalid drive ID
  2468.  06h    invalid Ethernet address
  2469.  07h    not logged in
  2470.  08h    write to network failed
  2471.  09h    semaphore already logged in this CPU
  2472. SeeAlso: #2177
  2473. Index:    error codes;10-Net|10-Net;error codes
  2474. --------N-6F0C-------------------------------
  2475. INT 6F - 10NET - UNLOCK SEMAPHORE
  2476.     AH = 0Ch
  2477.     AL = drive number or 0
  2478.     ES:SI = Ethernet address or 0
  2479.     DS:BX -> 31-byte ASCIZ semaphore name
  2480. Return: AL = status (see also #2188)
  2481.         01h semaphore not locked
  2482. Note:    same as INT 60/AH=13h
  2483. SeeAlso: AH=0Bh,INT 60/AH=13h
  2484. --------b-6F0C-------------------------------
  2485. INT 6F - Hewlett Packard - EXTENDED BIOS - "F_GET_BUF" READ A BUFFER OF DATA
  2486.     AH = 0Ch
  2487.     BP = driver ID
  2488.     ??? details not yet available
  2489. Return: ???
  2490. SeeAlso: AH=08h"Hewlett Packard",AH=0Ah"Hewlett Packard",AH=0Eh"Hewlett"
  2491. --------N-6F0D-------------------------------
  2492. INT 6F - 10NET - "WHO" - ENUMERATE USERS ON NETWORK
  2493.     AH = 0Dh
  2494.     AL = type code
  2495.         01h return superstations only
  2496.         02h return non-superstations only
  2497.         otherwise return all
  2498.     CX = length of data buffer
  2499.     DS:DX -> array of records to be filled (see #2189)
  2500. Return: CL = number of records returned (responding stations)
  2501. SeeAlso: AH=16h,AH=8Dh
  2502.  
  2503. Format of station record:
  2504. Offset    Size    Description    (Table 2189)
  2505.  00h 12 BYTEs    node ID
  2506.  0Ch    BYTE    station flags (see #2190)
  2507. ---if AL = 01h---
  2508.  0Dh    BYTE    version number
  2509.  0Eh    WORD    level number of 10Net software in responding node
  2510. ---if AL = 02h---
  2511.  0Dh  8 BYTEs    user ID
  2512.  15h    BYTE    version number
  2513.  16h    WORD    level number
  2514.  
  2515. Bitfields for station flags:
  2516. Bit(s)    Description    (Table 2190)
  2517.  1    workstation
  2518.  2    superstation
  2519.  3    xgate
  2520.  4    active gate
  2521. --------N-6F0E-------------------------------
  2522. INT 6F - 10NET - SPOOL/PRINT
  2523.     AH = 0Eh
  2524.     DS:DX -> spool/print record (see #2192)
  2525. Return:    CF clear if successful
  2526.     CF set on error
  2527.         AX = error code (see also #2177)
  2528.         17FFh device not mounted
  2529.         18FFh already spooling to named device
  2530.  
  2531. (Table 2191)
  2532. Values for 10NET spooler operation code:
  2533.  0000h    initiate spool
  2534.  0001h    abort print
  2535.  0002h    close spool
  2536.  0003h    delete spool
  2537.  0004h    print
  2538.  0005h    get report info
  2539.  0006h    set chat template
  2540.  0007h    queue
  2541.  0008h    return queue
  2542.  0009h    queue non-spooled file for printing
  2543.  
  2544. Format of 10NET Spool/Print record:
  2545. Offset    Size    Description    (Table 2192)
  2546.  00h    WORD    operation code (see #2191)
  2547.  02h 11 BYTEs    file name in FCB format
  2548. ---if operation code = 00h or 06h---
  2549.  0Dh    BYTE    notification flags (see #2193)
  2550.  0Eh    BYTE    days to keep (FFh=forever)
  2551.  0Fh    BYTE    bits 0,1: device (1=LPT1)
  2552.         bits 4-7: remote drive to store spool file (1=A,...)
  2553.  10h    WORD    length of following data area
  2554.  12h  N BYTEs    up to 64 bytes of description
  2555. ---if operation code = 03h---
  2556.  0Dh  8 BYTEs    user ID to associate with filename
  2557. ---if operation code = 04h---
  2558.  0Dh    WORD    block number
  2559.  0Fh  8 BYTEs    user ID to associate with filename
  2560. ---if operation code = 05h---
  2561.  0Dh    BYTE    RRN to start retrieve
  2562.  0Eh    BYTE    bits 0,1: local print device (LPTx)
  2563.         bit 3: if set, return entries for all users
  2564.  0Fh    WORD    length of following area
  2565.  11h  N BYTEs    up to 1500 bytes to receive $SCNTL records returned
  2566. ---if operation code = 07h---
  2567.  0Dh    BYTE    queue number
  2568.  0Eh    BYTE    bits 0,1: local print device (LPTx)
  2569.  0Fh    WORD    number of bytes of test print to be done
  2570.  11h    BYTE    code:
  2571.         01h print device
  2572.         02h test print count
  2573.         03h prn
  2574. ---if operation code = 08h---
  2575.  0Dh    BYTE    queue location or $SCNTL location to start access
  2576.         returns next item for access:
  2577.             00h-7Fh queued items
  2578.             80h-FEh non-queued, non-printed items
  2579.             FFh    no more items
  2580.  0Eh    WORD    unused
  2581.  10h    WORD    length of following area
  2582.  12h  N BYTEs    up to 64 bytes to receive $SCNTL records
  2583. ---if operation code = 09h---
  2584.  0Dh  3 BYTEs    unused
  2585.  10h  N BYTEs    path to non-spooled file to be queued for printing
  2586.  
  2587. Bitfields for notification flags:
  2588. Bit(s)    Description    (Table 2193)
  2589.  7    queue to top
  2590.  6    do ID page
  2591.  5    no form feed
  2592.  4    reserved
  2593.  3    explicit queuing only
  2594.  2    notify at print completion
  2595.  1    notify server operator, with reply
  2596.  0    notify at print start
  2597.  
  2598. Format of 10NET $SCNTL record:
  2599. Offset    Size    Description    (Table 2194)
  2600.  00h  8 BYTEs    user ID
  2601.  08h 11 BYTEs    filename in FCB format
  2602.  13h  6 BYTEs    node ID
  2603.  19h  3 BYTEs    creation date
  2604.  1Ch    BYTE    notification flags (see #2193)
  2605.  1Dh    BYTE    retention time in days
  2606.  1Eh    BYTE    printing device (LPTx)
  2607.  1Fh  3 BYTEs    date last printed (0 = never)
  2608.  22h    BYTE    device containing spoolfile
  2609.  23h    WORD    bytes to print for test print
  2610.  25h    WORD    block number to start print
  2611.  27h    BYTE    reserved
  2612. --------b-6F0E-------------------------------
  2613. INT 6F - Hewlett Packard - EXTENDED BIOS - "F_PUT_WORD" WRITE A WORD OF DATA
  2614.     AH = 0Eh
  2615.     BP = driver ID
  2616.     ??? details not yet available
  2617. Return: ???
  2618. SeeAlso: AH=06h"Hewlett Packard",AH=0Ah"Hewlett Packard",AH=10h"Hewlett"
  2619. --------N-6F0F-------------------------------
  2620. INT 6F - 10NET v5.0 - "RM LOCK" - ???
  2621.     AH = 0Fh
  2622.     ???
  2623. Return: ???
  2624. SeeAlso: AH=07h,AH=08h"10NET"
  2625. --------N-6F10-------------------------------
  2626. INT 6F - 10NET - ATTACH/DETACH PRINTER
  2627.     AH = 10h
  2628.     AL = subfunction
  2629.         00h initiate spooling if LPT1 is mounted
  2630.         01h terminate spooling if LPT1 is mounted
  2631. SeeAlso: INT 21/AX=5D08h
  2632. --------b-6F10-------------------------------
  2633. INT 6F - Hewlett Packard - EXTENDED BIOS - "F_GET_WORD" READ A WORD OF DATA
  2634.     AH = 10h
  2635.     BP = driver ID
  2636.     ??? details not yet available
  2637. Return: ???
  2638. SeeAlso: AH=08h"Hewlett Packard",AH=0Ah"Hewlett Packard",AH=0Eh"Hewlett"
  2639. --------N-6F11-------------------------------
  2640. INT 6F - 10NET - LOCK FCB
  2641.     AH = 11h
  2642.     AL = mode
  2643.         01h sequential
  2644.         02h random
  2645.         03h random block
  2646.         CX = number of records
  2647.     DS:DX -> FCB (see #0506 at INT 21/AH=0Fh)
  2648. Return:    CF clear if successful
  2649.     CF set on error
  2650.         AX = error code (see also #2177)
  2651.         0002h file not found
  2652. SeeAlso: AH=12h,INT 21/AH=0Fh
  2653. --------N-6F12-------------------------------
  2654. INT 6F - 10NET - UNLOCK FCB
  2655.     AH = 12h
  2656.     AL = mode
  2657.         00h sequential
  2658.         01h random
  2659.         02h random block
  2660.         CX = number of records
  2661.     DS:DX -> FCB (see #0506 at INT 21/AH=0Fh)
  2662. Return:    CF clear if successful
  2663.     CF set on error
  2664.         AX = error code (see also #2177)
  2665.         0002h file not found
  2666. SeeAlso: AH=11h
  2667. --------N-6F13-------------------------------
  2668. INT 6F - 10NET v3.3+ - GET REMOTE CONFIGURATION TABLE ADDRESS
  2669.     AH = 13h
  2670.     DS:DX -> node ID, 12 bytes blank-padded
  2671. Return:    CF clear if successful
  2672.         ES:BX = configuration table address on given machine
  2673.     CF set on error
  2674.         AX = error code (see #2177)
  2675. SeeAlso: AH=03h
  2676. --------N-6F14-------------------------------
  2677. INT 6F - 10NET v3.3+ - GET REMOTE MEMORY
  2678.     AH = 14h
  2679.     BX:SI = address of remote memory
  2680.     CX = length (<=1024 bytes)
  2681.     DS:DX -> node ID, 12 bytes blank-padded
  2682.     DS:DI -> area to receive remote memory image
  2683. Return:    CF clear if successful
  2684.         CX = amount of memory copied to DS:SI
  2685.     CF set on error
  2686.         AX = error code (see #2177)
  2687. --------N-6F1501-----------------------------
  2688. INT 6F - 10NET v3.3+ - GET SHARED DEVICE ENTRY
  2689.     AX = 1501h
  2690.     BX = zero-based index
  2691.     DS:SI -> node ID, 12 bytes blank-padded
  2692.     ES:DI -> 85-byte buffer for shared device table entry (see #2195)
  2693. Return:    CF clear if successful
  2694.         ES:DI buffer contains shared device table entry of BXth device
  2695.     CF set on error
  2696.         AX = error code (see #2177)
  2697. SeeAlso: AX=1502h,AX=1503h,AX=9501h
  2698.  
  2699. Format of 10NET shared device table entry:
  2700. Offset    Size    Description    (Table 2195)
  2701.  00h  8 BYTEs    device
  2702.  08h  8 BYTEs    alias
  2703.  10h 64 BYTEs    path
  2704.  50h  8 BYTEs    password
  2705.  58h    BYTE    access
  2706.  59h  4 BYTEs    mask
  2707. --------N-6F1502-----------------------------
  2708. INT 6F - 10NET v3.3+ - SET SHARED DEVICE ENTRY
  2709.     AX = 1502h
  2710.     DS:SI -> node ID, 12 bytes blank-padded
  2711.     ES:DI -> valid shared device table entry
  2712. Return:    CF clear if successful
  2713.     CF set on error
  2714.         AX = error code (see #2177)
  2715. SeeAlso: AX=1501h,AX=1503h,AX=9502h
  2716. --------N-6F1503-----------------------------
  2717. INT 6F - 10NET v3.3+ - DELETE SHARED DEVICE ENTRY
  2718.     AX = 1503h
  2719.     BX = zero-based index
  2720.     DS:SI -> node ID, 12 bytes blank-padded
  2721. Return:    CF clear if successful
  2722.     CF set on error
  2723.         AX = error code (see #2177)
  2724. SeeAlso: AX=1501h,AX=1502h,AX=9503h
  2725. --------N-6F16-------------------------------
  2726. INT 6F - 10NET v5.0 - "GL WHO" - ???
  2727.     AH = 16h
  2728.     ???
  2729. Return: ???
  2730. SeeAlso: AH=0Dh
  2731. --------N-6F17-------------------------------
  2732. INT 6F - 10NET v3.3+ - MOUNT
  2733.     AH = 17h
  2734.     AL = local drive number (0=A:)
  2735.     BL = remote drive letter or '1'..'3' for LPTn or '4' or '5' for COMx
  2736.     DS:DX -> node ID, 12 bytes blank-padded
  2737. Return:    CF clear if successful
  2738.     CF set on error
  2739.         AX = error code (see #2177)
  2740. SeeAlso: AH=18h
  2741. --------N-6F18-------------------------------
  2742. INT 6F - 10NET v3.3+ - UNMOUNT
  2743.     AH = 18h
  2744.     AL = local drive number (0=A:)
  2745.     BL = type
  2746.         00h        disk
  2747.         01h-03h LPTn
  2748.         04h,05h COMx
  2749. Return:    CF clear if successful
  2750.     CF set on error
  2751.         AX = error code (see #2177)
  2752. SeeAlso: AH=17h
  2753. --------N-6F19-------------------------------
  2754. INT 6F U - 10NET v5.0 - AUDIT
  2755.     AH = 19h
  2756.     ???
  2757. Return: ???
  2758. SeeAlso: AH=99h
  2759. --------N-6F1A-------------------------------
  2760. INT 6F U - 10NET v5.0 - "BULL" - ???
  2761.     AH = 1Ah
  2762.     ???
  2763. Return: ???
  2764. --------N-6F1B-------------------------------
  2765. INT 6F U - 10NET v5.0 - "GMOUNT" - ???
  2766.     AH = 1Bh
  2767.     ???
  2768. Return: ???
  2769. --------N-6F1C-------------------------------
  2770. INT 6F U - 10NET v5.0 - "GLOGIN" - GET LOGIN LIST
  2771.     AH = 1Ch
  2772.     ???
  2773. Return: ???
  2774. --------N-6F1D-------------------------------
  2775. INT 6F U - 10NET v5.0 - "TABDATA" - ???
  2776.     AH = 1Dh
  2777.     ???
  2778. Return: ???
  2779. --------N-6F1E-------------------------------
  2780. INT 6F U - 10NET v5.0 - "SCHED" - ???
  2781.     AH = 1Eh
  2782.     ???
  2783. Return: ???
  2784. --------N-6F1F-------------------------------
  2785. INT 6F U - 10NET v5.0 - "WHOAMI" - ???
  2786.     AH = 1Fh
  2787.     ???
  2788. Return: ???
  2789. --------N-6F20-------------------------------
  2790. INT 6F U - 10NET v5.0 - ???
  2791.     AH = 20h
  2792.     ???
  2793. Return: ???
  2794. --------N-6F21-------------------------------
  2795. INT 6F U - 10NET v5.0 - ???
  2796.     AH = 21h
  2797.     ???
  2798. Return: ???
  2799. --------N-6F22-------------------------------
  2800. INT 6F U - 10NET v5.0 - ???
  2801.     AH = 22h
  2802.     ???
  2803. Return: ???
  2804. --------b-6F22--BP0012-----------------------
  2805. INT 6F - HP HIL Vectras - EXTENDED BIOS - READ CMOS MEMORY
  2806.     AH = 22h
  2807.     BP = 0012h (ID of V_SYSTEM driver)
  2808.     BL = address of CMOS byte to read
  2809. Return: AH = status
  2810.     AL = byte read
  2811.     BP, DS destroyed
  2812. Note:    supported by ES, QS, and RS series HP Vectras
  2813. SeeAlso: BP=0012h/AH=24h
  2814. --------b-6F24--BP0012-----------------------
  2815. INT 6F - HP HIL Vectras - EXTENDED BIOS - WRITE CMOS MEMORY
  2816.     AH = 24h
  2817.     BP = 0012h (ID of V_SYSTEM driver)
  2818.     BL = address of CMOS byte to write
  2819.     AL = new value
  2820. Return: AH = status
  2821.     BP, DS destroyed
  2822. SeeAlso: BP=0012h/AH=22h
  2823. --------N-6F80-------------------------------
  2824. INT 6F - 10NET v5.0 - LOGIN
  2825.     AH = 80h
  2826.     DS:DX -> login record (see #2196)
  2827. Return: CF clear if successful
  2828.         BL = number of days until password expires (00h = never)
  2829.         CL = security level
  2830.     CF set on error
  2831.         AX = status (see #2177)
  2832. SeeAlso: AH=00h,AH=81h
  2833.  
  2834. Format of 10NET login record:
  2835. Offset    Size    Description    (Table 2196)
  2836.  00h  8 BYTEs    user name
  2837.  08h  8 BYTEs    password
  2838.  10h 15 BYTEs    server node ID
  2839.  1Fh  8 BYTEs    new password
  2840.  27h    BYTE    invoke mode (00h command line, 01h interactive)
  2841. --------N-6F81-------------------------------
  2842. INT 6F - 10NET v5.0 - LOGOUT
  2843.     AH = 81h
  2844.     DS:DX -> server node ID (DX=0000h for universal logout)
  2845. Return: AX = status (see #2177)
  2846. SeeAlso: AH=01h,AH=80h
  2847. --------N-6F8A-------------------------------
  2848. INT 6F - 10NET v5.0 - CHAT
  2849.     AH = 8Ah
  2850.     DS:BX -> chat parameters (see #2197)
  2851.     DS:DX -> chat message (see #2198)
  2852. Return: CF clear if successful
  2853.     CF set on error
  2854.         AX = status (see #2177)
  2855. SeeAlso: AH=0Ah
  2856.  
  2857. Format of 10NET chat parameters:
  2858. Offset    Size    Description    (Table 2197)
  2859.  00h  8 BYTEs    sender's user name
  2860.  08h  8 BYTEs    destination user name
  2861.  10h 15 BYTEs    destination node (0 if broadcast-style chat)
  2862.  
  2863. Format of 10NET chat message:
  2864. Offset    Size    Description    (Table 2198)
  2865.  00h    WORD    message length
  2866.  02h  N BYTEs    chat message contents
  2867. --------N-6F8D-------------------------------
  2868. INT 6F - 10NET v5.0 - "WHO" - ENUMERATE USERS ON NETWORK
  2869.     AH = 8Dh
  2870.     BX = service mask (see #2199)
  2871.     CX = length of buffer
  2872.     DS:DX -> buffer for array of Who data structures (see #2200)
  2873. Return: CF clear if successful
  2874.         CX = number of nodes matching service mask
  2875.         DS:DX buffer filled
  2876.     CF set on error
  2877.         AX = status (see #2177)
  2878. SeeAlso: AH=0Dh
  2879.  
  2880. Bitfields for 10NET service mask:
  2881. Bit(s)    Description    (Table 2199)
  2882.  0    workstation
  2883.  1    file server
  2884.  2    print server
  2885.  3    de-spool server
  2886.  
  2887. Format of 10NET Who data structure:
  2888. Offset    Size    Description    (Table 2200)
  2889.  00h  8 BYTEs    user name
  2890.  08h 15 BYTEs    node ID
  2891.  17h  3 BYTEs    unique portion of Ethernet address
  2892.  1Ah    BYTE    Who group number
  2893.  1Bh    WORD    service mask (see #2199)
  2894.  1Dh    DWORD    serial number
  2895.  21h    BYTE    maximum concurrent users with same serial number allowed on net
  2896.  22h    BYTE    chat mask (see #2201)
  2897.  23h    BYTE    internal system bits (see #2202)
  2898.  24h  9 BYTEs    version number in format MM.mm.xxx
  2899.  2Dh    BYTE    number of shared directories
  2900.  2Eh    BYTE    number of shared printer queues
  2901.  
  2902. Bitfields for 10NET chat mask:
  2903. Bit(s)    Description    (Table 2201)
  2904.  0    chat permitted
  2905.  1    bell enabled
  2906.  2    chat keyboard initiated
  2907.  3    in INT 16 handler
  2908.  4    in Get Input
  2909.  5    display has timed out
  2910.  6    chat is idle
  2911.  
  2912. Bitfields for 10NET internal system bits:
  2913. Bit(s)    Description    (Table 2202)
  2914.  0    submit permitted
  2915.  1    submit initiated
  2916.  2    submit executing
  2917.  3    internal client call/chat/spool/autospool
  2918.  4    in spool termination
  2919.  5    print permitted
  2920.  6    waiting for keyboard input
  2921. --------N-6F9501-----------------------------
  2922. INT 6F - 10NET v5.0 - GET SHARED DEVICE ENTRY
  2923.     AX = 9501h
  2924.     BX = zero-based index
  2925.     DS:SI -> server's node ID
  2926.     ES:DI -> buffer for shared device structure (see #2203)
  2927. Return: CF clear if successful
  2928.     CF set on error
  2929.         AX = status (see #2177)
  2930. SeeAlso: AX=1501h,AX=9502h,AX=9503h,AX=9504h
  2931.  
  2932. Format of 10NET shared device structure:
  2933. Offset    Size    Description    (Table 2203)
  2934.  00h  8 BYTEs    alias
  2935.  08h    BYTE    type (02h modem, 03h print queue, 04h directory)
  2936.  09h    BYTE    access rights
  2937.         bit 0: read
  2938.         bit 1: write
  2939.         bit 2: create
  2940.  0Ah  8 BYTEs    password
  2941.  12h 32 BYTEs    comment
  2942. ---directory---
  2943.  32h 64 BYTEs    pathname of shared directory
  2944. ---print queue---
  2945.  32h    BYTE    notification bit mask (see #2204)
  2946.  33h    BYTE    job control bit mask (see #2205)
  2947.  34h    WORD    number of days to retain file
  2948.  36h    WORD    test print length
  2949.  38h    BYTE    number of copies to print
  2950.  39h    BYTE    compression algorithm
  2951.  3Ah    BYTE    tab width (00h = don't expand)
  2952.  3Bh    BYTE    priority
  2953.  3Ch    WORD    time to open queue (FFFFh = always)
  2954.  3Eh    WORD    time to close queue
  2955.  40h    WORD    pause following queue switch, in clock ticks
  2956.  42h    WORD    pause between print jobs, in clock ticks
  2957.  44h    BYTE    associate queue file existence mask
  2958.         bit 0: queue switch file exists
  2959.         bit 1: initiate file exists
  2960.         bit 2: abort file exists
  2961.  45h  6 BYTEs    character sequence for page eject
  2962.  4Bh    BYTE    status of print queue
  2963.         bit 0: queue is closed
  2964.  4Ch    WORD    number of jobs on queue
  2965.  4Eh    WORD    offset of next print job to be dispatched (FFFFh = none)
  2966.  50h    BYTE    number of print devices in printer pool
  2967.  51h    WORD    offset of first print device structure (FFFFh if empty)
  2968.  
  2969. Bitfields for notification flags:
  2970. Bit(s)    Description    (Table 2204)
  2971.  0    user at print start
  2972.  1    operator at start, with reply
  2973.  2    user at print completion
  2974.  3    operator at completion, with reply
  2975.  4    user on queue switch
  2976.  5    operator on queue switch, with reply
  2977.  6    user on print error
  2978.  
  2979. Bitfields for 10NET job control mask:
  2980. Bit(s)    Description    (Table 2205)
  2981.  0    print banner page
  2982.  1    eject page at end of job
  2983.  2    mark as "held" (queue but don't print)
  2984.  3    rush job (queue at top)
  2985.  4    overwrite file with zeros before deletion
  2986.  5    hyperspool if possible
  2987. --------N-6F9502-----------------------------
  2988. INT 6F - 10NET v5.0 - SET SHARED DEVICE ENTRY
  2989.     AX = 9502h
  2990.     DS:SI -> server's node ID
  2991.     ES:DI -> shared device structure (see #2203)
  2992. Return: CF clear if successful
  2993.     CF set on error
  2994.         AX = status (see #2177)
  2995. SeeAlso: AX=1502h,AX=9501h,AX=9503h,AX=9504h
  2996. --------N-6F9503-----------------------------
  2997. INT 6F - 10NET v5.0 - DELETE SHARED DEVICE
  2998.     AX = 9503h
  2999.     BX = zero-based index
  3000.     DS:SI -> server's node ID
  3001. Return: CF clear if successful
  3002.     CF set on error
  3003.         AX = status (see #2177)
  3004. SeeAlso: AX=1503h,AX=9501h,AX=9502h,AX=9504h
  3005. --------N-6F9504-----------------------------
  3006. INT 6F - 10NET v5.0 - ENUMERATE USERS OF SHARED DEVICE
  3007.     AX = 9504h
  3008.     BX = zero-based shared device index
  3009.     CX = zero-based user index
  3010.     DS:SI -> server's node ID
  3011. Return: CF clear if successful
  3012.         ES:DI -> node ID of the CX'th user of the BX'th device
  3013.     CF set on error
  3014.         AX = status (see #2177)
  3015. SeeAlso: AX=9501h,AX=9502h,AX=9503h
  3016. --------N-6F99-------------------------------
  3017. INT 6F - 10NET v5.0 - AUDIT
  3018.     AH = 99h
  3019.     DS:SI -> server's node ID
  3020.     ES:DI -> data to be appended to audit trail file (max 106 bytes)
  3021. Return: CF clear if successful
  3022.     CF set on error
  3023.         AX = status (see #2177)
  3024. SeeAlso: AH=19h,AH=9Ch
  3025. --------N-6F9C-------------------------------
  3026. INT 6F - 10NET v5.0 - GET LOGIN LIST
  3027.     AH = 9Ch
  3028.     BX = zero-based index
  3029. Return: CF clear if successful
  3030.         DS:DI -> BX'th node ID that caller's machine is logged into
  3031.     CF set on error
  3032.         AX = status (see #2177)
  3033. --------H-70---------------------------------
  3034. INT 70 - IRQ8 - CMOS REAL-TIME CLOCK
  3035. Desc:    this interrupt is called when the real-time clock chip generates an
  3036.       alarm or periodic interrupt, among others.  The periodic interrupt
  3037.       occurs 1024 times per second.
  3038. Nots:    many BIOSes turn off the periodic interrupt in the INT 70h handler
  3039.       unless in an event wait (see INT 15/AH=83h or INT 15/AH=86h).
  3040.     may be masked by setting bit 0 on I/O port A1h
  3041. SeeAlso: INT 08,INT 0F"HP 95LX",INT 15/AH=01h"Amstrad",INT 15/AH=83h
  3042. SeeAlso: INT 15/AH=86h,INT 1A/AH=02h,INT 58"DESQview"
  3043. --------v-70---------------------------------
  3044. INT 70 - VIRUS - "Stupid" - ORIGINAL INT 21h VECTOR
  3045. Note:    the virus sets this interrupt to be the same as INT 21, and then
  3046.       performs only INT 70 calls; since INT 70 is also generated by the
  3047.       real-time clock on the PC/AT and higher, this could cause random
  3048.       actions on an infected system
  3049. SeeAlso: INT 6B"VIRUS",INT 9E"VIRUS",INT E0"VIRUS"
  3050. --------H-71---------------------------------
  3051. INT 71 - IRQ9 - REDIRECTED TO INT 0A BY BIOS
  3052. Notes:    may be masked by setting bit 1 on I/O port A1h
  3053.     the default BIOS handler invokes INT 0A for compatibility, since the
  3054.       pin for IRQ2 on the PC expansion bus became the pin for IRQ9 on the
  3055.       AT expansion bus.
  3056.     under DESQview, only the INT 15h vector and BASIC segment address (the
  3057.       word at 0000h:0510h) may be assumed to be valid for the handler's
  3058.       process
  3059. SeeAlso: INT 0A,INT 59
  3060. --------H-72---------------------------------
  3061. INT 72 - IRQ10 - RESERVED
  3062. Note:    may be masked by setting bit 2 on I/O port A1h
  3063. SeeAlso: INT 5A
  3064. --------H-73---------------------------------
  3065. INT 73 - IRQ11 - RESERVED
  3066. Note:    may be masked by setting bit 3 on I/O port A1h
  3067. SeeAlso: INT 5B
  3068. --------H-74---------------------------------
  3069. INT 74 - IRQ12 - POINTING DEVICE (PS)
  3070. Notes:    may be masked by setting bit 4 on I/O port A1h
  3071.     under DESQview, only the INT 15h vector and BASIC segment address (the
  3072.       word at 0000h:0510h) may be assumed to be valid for the handler's
  3073.       process
  3074. SeeAlso: INT 33,INT 5C
  3075. --------H-75---------------------------------
  3076. INT 75 - IRQ13 - MATH COPROCESSOR EXCEPTION (AT and up)
  3077. Desc:    redirected to INT 02 by the BIOS, for compatibility with the PC
  3078. Notes:    may be masked by setting bit 5 on I/O port A1h
  3079.     not all clones wire the coprocessor to generate this IRQ; some systems
  3080.       generate an NMI (see INT 02) or assert the -ERROR pin on the CPU
  3081.       (see INT 10"COPROCESSOR")
  3082.     under DESQview, only the INT 15h vector and BASIC segment address (the
  3083.       word at 0000h:0510h) may be assumed to be valid for the handler's
  3084.       process
  3085. SeeAlso: INT 10"COPROCESSOR",INT 5D
  3086. --------H-76---------------------------------
  3087. INT 76 - IRQ14 - HARD DISK CONTROLLER OPERATION COMPLETE (AT and later)
  3088. Notes:    may be masked by setting bit 6 on I/O port A1h
  3089.     on the PS/2, this interrupt is designed to be shared with other
  3090.       devices that produce an operation-complete interrupt, though
  3091.       the only current user is the hard disk
  3092. SeeAlso: INT 0E"IRQ6",INT 15/AH=91h,INT 5E
  3093. --------H-77---------------------------------
  3094. INT 77 - IRQ15 - RESERVED (AT,PS)
  3095. Note:    may be masked by setting bit 7 on I/O port A1h
  3096. SeeAlso: INT 5F
  3097. --------H-77---------------------------------
  3098. INT 77 - IRQ15 - POWER CONSERVATION (Compaq SLT/286)
  3099. Note:    may be masked by setting bit 7 on I/O port A1h
  3100. SeeAlso: INT 15/AX=4600h,INT 5F
  3101. --------E-78---------------------------------
  3102. INT 78 - UofSalford DBOS DOS extender - API
  3103.     AH = function
  3104.         00h (PB) display 32-bit memory specified by command argument
  3105.         01h (PT) display 32-bit instruction(s) specified by command arg
  3106.         02h specify offset to subsequent PB and PT commands
  3107.         03h switch to protected mode
  3108.         DWORD following INT instruction point to map; protected-mode
  3109.               entry point is immediately following the DWORD
  3110.         Return: never
  3111.         Note:    if bit 31 of the map address is set, only a stub was
  3112.               loaded by DOS and DBOS will load the entire program
  3113.         04h specify that subsequent load (AH=03h) should leave program in
  3114.           memory
  3115.         05h release program from memory
  3116.         06h set break point at address and option count from commandline
  3117.         07h resume program execution
  3118.         08h single-step program
  3119.         09h set read/write breakpoint using 386 debug registers
  3120.         0Ah set write breakpoint using 386 debug register
  3121.         0Bh set memory byte to new value
  3122.         0Ch display CPU registers
  3123.         0Dh run until specified program address reached
  3124.         0Fh print trace from program map
  3125.         10h specify an offset using a map symbol
  3126.         14h print memory without any offset
  3127.         18h switch DBOS into/out of test mode (ON/OFF commandline args)
  3128.         1Dh get address of real/protected-mode communication buffer
  3129.         Return: ES:BP -> comm buffer
  3130.         1Eh set real-mode memory size (specify how much real-mode memory
  3131.           to leave free when running FTN77 programs)
  3132.         22h uninstall DBOS
  3133.         24h force DBOS to emulate coprocessor instructions
  3134.         26h set named DBOS switches from commandline
  3135.         27h reset named DBOS switched from commandline
  3136.         2Ah set list of dynamic link libraries to contents of commandline
  3137.           file
  3138.         35h specify that subsequent load (AH=03h) should stop at first
  3139.           instruction
  3140. Return: ???
  3141. Notes:    DBOS supports functions 00h through 50h; many of these functions
  3142.       provide a low-level debugging interface
  3143.     command arguments are read from the calling program's PSP
  3144. SeeAlso: INT 79"DBOS"
  3145. Index:    uninstall;DBOS DOS extender
  3146. --------E-78---------------------------------
  3147. INT 78 - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ0
  3148. Program: GO32.EXE is a DOS extender included as part of the 80386 port of the
  3149.       GNU C/C++ compiler by DJ Delorie and distributed as DJGPP
  3150. Notes:    this vector is overwritten when GO32 starts but is not restored by
  3151.       early versions of the extender
  3152.     the newest versions of GO32 dynamically allocate the vectors used
  3153.       for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
  3154. SeeAlso: INT 08,INT 10/AH=FFh"GO32",INT 79"GO32"
  3155. --------A-78---------------------------------
  3156. INT 78 R - AutoCAD Device Interface - PLOTTER - SEND COMMAND
  3157.     AX = function
  3158.         0001h begin plot
  3159.         BX = file level
  3160.             0000h ASCII file
  3161.             0001h binary file
  3162.             0002h AutoCAD DXB file
  3163.             0003h installed ADI driver
  3164.         0002h end plot (close plotter)
  3165.         0003h move (pen up)
  3166.         BX = new X position
  3167.         CX = new Y position
  3168.         0004h move (pen down)
  3169.         BX = new X position
  3170.         CX = new Y position
  3171.         0005h select pen
  3172.         BX = pen number
  3173.         0006h select drawing speed
  3174.         BX = drawing speed N
  3175.         0007h select line style
  3176.         BX = line style N
  3177.         0008h raise pen
  3178.         0009h abort plot
  3179. Return: AX = 0000h (may be used for driver status in future releases)
  3180. SeeAlso: INT 79"AutoCAD",INT 7A/AX=0001h"AutoCAD",INT 7B/AX=8001h"AutoCAD"
  3181. --------d-78---------------------------------
  3182. INT 78 - ADP-60 IDE controller - ORIGINAL INT 13
  3183. SeeAlso: INT 79"ADP-60"
  3184. --------d-7800-------------------------------
  3185. INT 78 - TARGA.DEV - CMC International SCSI device driver - SET I/O PORT
  3186.     AH = 00h
  3187.     DX = interface board I/O port
  3188. Return: CF set on error
  3189.         AL = error code (see #2206)
  3190. Note:    if this routine is not called, the port is the driver's default
  3191.       (usually 0280h or 0300h)
  3192.     an installation check is performed by TARGA.DEV upon initialization
  3193.       by checking for the string "SCSI" at offset 03h into the interrupt
  3194.       handler
  3195. SeeAlso: AH=01h,AH=02h
  3196. Index:    installation check;TARGA.DEV
  3197.  
  3198. (Table 2206)
  3199. Values for TARGA.DEV error code:
  3200.  00h    illegal command given to SCSI code
  3201.  01h    invalid I/O port specified (must be from 100H to 3F8H, and must be on
  3202.       an 8-port boundary)
  3203.  02h    invalid DMA channel specified (must be from 1 to 3)
  3204.  03h    invalid SCSI board number specified (must be from 0 to 7)
  3205.  04h    error from data register test during self-test
  3206.  05h    SCSI input signals not all 0 when SCSI RST activated
  3207.  06h    SCSI input signals not all 0 before selecting a SCSI device
  3208.  07h    BSY signal is active; SCSI bus is busy
  3209.  08h    SCSI board not selected, BSY signal did not come on in response to
  3210.       raising SEL
  3211.  09h    time-out waiting for status state, signifying end of DMA transfer
  3212. ----------7800-------------------------------
  3213. INT 78 - HugeRealMode Driver - API
  3214.     AH = 00h
  3215.     AL = function
  3216.         00h installation check
  3217.         Return: AX = DBCA if installed
  3218.         01h get entry point
  3219.         Return: ES:BX -> far call entry point
  3220. Program: the HugeRealMode driver was published in the German DOS Extra Nr. 20
  3221.       (1992), and makes a 4G flat address space (for both data and code)
  3222.       available to real-mode DOS programs
  3223. --------d-7801-------------------------------
  3224. INT 78 - TARGA.DEV - GET I/O PORT
  3225.     AH = 01h
  3226. Return: DX = current interface board I/O port
  3227. SeeAlso: AH=00h,AH=03h"TARGA"
  3228. --------d-7802-------------------------------
  3229. INT 78 - TARGA.DEV - SET DMA CHANNEL
  3230.     AH = 02h
  3231.     AL = interface board DMA channel
  3232. Return: CF set on error
  3233.     AL = error code (see #2206)
  3234. Note:    if this routine is not called, the DMA channel is the driver's default
  3235.       (usually 3)
  3236. SeeAlso: AH=00h,AH=03h"TARGA"
  3237. --------d-7803-------------------------------
  3238. INT 78 - TARGA.DEV - GET DMA CHANNEL
  3239.     AH = 03h
  3240. Return: AL = current interface board DMA channel
  3241. SeeAlso: AH=01h,AH=02h
  3242. --------d-7804-------------------------------
  3243. INT 78 - TARGA.DEV - SET SCSI DEVICE NUMBER
  3244.     AH = 04h
  3245.     AL = SCSI device number
  3246. Return: CF set on error
  3247.     AL = error code (see #2206)
  3248. Note:    if this routine is not called, the device number used is the driver's
  3249.       default (usually 0)
  3250. SeeAlso: AH=02h,AH=05h
  3251. --------d-7805-------------------------------
  3252. INT 78 - TARGA.DEV - GET SCSI DEVICE NUMBER
  3253.     AH = 05h
  3254. Return: AL = current SCSI device number
  3255. SeeAlso: AH=03h"TARGA",AH=04h
  3256. --------d-7806-------------------------------
  3257. INT 78 - TARGA.DEV - SET/CLEAR EARLY RETURN MODE
  3258.     AH = 06h
  3259.     AL = new state
  3260.         00h clear early return mode
  3261.         01h set early return mode
  3262. Note:    if early return mode is set then SCSI will return with no errors
  3263.       when the last DMA transfer is started in a call with AH=13h or AH=14h
  3264.     if this routine is not called, early return mode is cleared
  3265. SeeAlso: AH=13h,AH=14h,AH=15h
  3266. --------d-7808-------------------------------
  3267. INT 78 - TARGA.DEV - INTERFACE BOARD SELF-TEST
  3268.     AH = 08h
  3269. Return: CF set on error
  3270.     AL = error code (see #2206)
  3271. Note:    the SCSI bus is also reset
  3272. SeeAlso: AH=09h
  3273. --------d-7809-------------------------------
  3274. INT 78 - TARGA.DEV - RESET SCSI BUS
  3275.     AH = 09h
  3276. Return: AL = error code if carry set (see #2206)
  3277. SeeAlso: AH=08h
  3278. --------d-7810-------------------------------
  3279. INT 78 - TARGA.DEV - SEND SCSI COMMAND
  3280.     AH = 10h
  3281.     DS:SI -> command bytes
  3282. Return: AH = SCSI status byte
  3283.     CF clear if successful
  3284.         AL = SCSI message byte
  3285.     CF set on error
  3286.         AL = error code (see #2206)
  3287. SeeAlso: AH=11h,INT 21/AX=4403h"ST-01"
  3288.  
  3289. Format of SCSI Command:
  3290. Offset    Size    Description    (Table 2207)
  3291.  00h    BYTE    length of command
  3292.  01h    ???    command bytes
  3293. --------d-7811-------------------------------
  3294. INT 78 - TARGA.DEV - SEND SCSI COMMAND, RECEIVE DATA (PROGRAMMED I/O)
  3295.     AH = 11h
  3296.     DS:SI -> command bytes
  3297.     ES:BX -> data storage area
  3298.     CX = number of data bytes to transfer
  3299. Return: AH = SCSI status byte
  3300.     CF clear if successful
  3301.         AL = SCSI message byte
  3302.     CF set on error
  3303.         AL = error code (see #2206)
  3304. Note:    this command receives data internally one byte at a time
  3305. SeeAlso: AH=10h,AH=13h
  3306.  
  3307. Format of TARGA.DEV SCSI Command:
  3308. Offset    Size    Description    (Table 2208)
  3309.  00h    BYTE    length of command
  3310.  01h    ???    command bytes
  3311. --------d-7812-------------------------------
  3312. INT 78 - TARGA.DEV - SEND SCSI COMMAND AND DATA (PROGRAMMED I/O)
  3313.     AH = 12h
  3314.     DS:SI -> command bytes
  3315.     ES:BX -> data storage area
  3316.     CX = number of data bytes to transfer
  3317. Return: AH = SCSI status byte
  3318.     CF clear if successful
  3319.         AL = SCSI message byte
  3320.     CF set on error
  3321.         AL = error code (see #2206)
  3322. Note:    this command sends data internally one byte at a time
  3323. SeeAlso: AH=14h
  3324.  
  3325. Format of TARGA.DEV SCSI Command:
  3326. Offset    Size    Description    (Table 2209)
  3327.  00h    BYTE    length of command
  3328.  01h    ???    command bytes
  3329. --------d-7813-------------------------------
  3330. INT 78 - TARGA.DEV - SEND SCSI COMMAND, RECEIVE DATA (DMA)
  3331.     AH = 13h
  3332.     DS:SI -> command bytes
  3333.     ES:BX -> data storage area
  3334.     DX:CX = number of data bytes to transfer
  3335. Return: AH = SCSI status byte (if early return mode is clear)
  3336.     CF clear if successful
  3337.         AL = SCSI message byte (if early return mode is clear)
  3338.     CF set on error
  3339.         AL = error code (see #2206)
  3340. Note:    this command receives data using DMA
  3341. SeeAlso: AH=11h,AH=12h
  3342.  
  3343. Format of TARGA.DEV SCSI Command:
  3344. Offset    Size    Description    (Table 2210)
  3345.  00h    BYTE    length of command
  3346.  01h    ???    command bytes
  3347. --------d-7814-------------------------------
  3348. INT 78 - TARGA.DEV - SEND SCSI COMMAND AND DATA (DMA)
  3349.     AH = 14h
  3350.     DS:SI -> command bytes
  3351.     ES:BX -> data storage area
  3352.     DX:CX = number of data bytes to transfer
  3353. Return: AH = SCSI status byte (if early return mode is clear)
  3354.     CF clear if successful
  3355.         AL = SCSI message byte (if early return mode is clear)
  3356.     CF set on error
  3357.         AL = error code (see #2206)
  3358. Note:    this command sends data using DMA
  3359. SeeAlso: AH=12h,AH=13h
  3360.  
  3361. Format of TARGA.DEV SCSI Command:
  3362. Offset    Size    Description    (Table 2211)
  3363.  00h    BYTE    length of command
  3364.  01h    ???    command bytes
  3365. --------d-7815-------------------------------
  3366. INT 78 - TARGA.DEV - FINISH DATA TRANSFER (DMA)
  3367.     AH = 15h
  3368. Return: AH = SCSI status byte
  3369.     CF clear if successful
  3370.         AL = SCSI message byte
  3371.     CF set on error
  3372.         AL = error code (see #2206)
  3373. Note:    if AH=06h was previously called to set the early return mode, this
  3374.       function finishes a command AH=13h or AH=14h which returned before
  3375.       the last DMA transfer was finished
  3376. SeeAlso: AH=06h,AH=13h,AH=14h
  3377. --------V-79---------------------------------
  3378. INT 79 - AVATAR.SYS - FAST GET KEYSTROKE
  3379. Return: CF set if no keystroke available
  3380.         AX = FFFFh
  3381.     CF clear if key pressed
  3382.         AX = keystroke
  3383. Program: AVATAR.SYS is a CON driver by George Adam Stanislav which interprets
  3384.       AVATAR command codes just as ANSI.SYS interprets ANSI commands
  3385. Note:    if a keystroke is available, it is removed from the keyboard buffer
  3386.       before being returned
  3387. SeeAlso: INT 29,INT 2F/AX=1A00h/BX=4156h
  3388. --------E-79---------------------------------
  3389. INT 79 - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ1
  3390. Notes:    this vector is overwritten when GO32 starts but is not restored by
  3391.       early versions of the extender
  3392.     the newest versions of GO32 dynamically allocate the vectors used
  3393.       for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
  3394. SeeAlso: INT 09,INT 78"GO32",INT 7A"GO32"
  3395. --------d-79---------------------------------
  3396. INT 79 U - ADP-60 IDE adapter - ???
  3397. SeeAlso: INT 78"ADP-60"
  3398. --------E-79---------------------------------
  3399. INT 79 - DBOS DOS Extender
  3400.     details not available
  3401. Desc:    this interrupt is used by an MS Windows virtual device driver with
  3402.       which the DBOS extender communicates when run inside a Windows
  3403.       Enhanced Mode DOS box
  3404. SeeAlso: INT 78"DBOS"
  3405. --------A-790001-----------------------------
  3406. INT 79 R - AutoCAD Device Interface - DIGITIZER - INITIALIZE
  3407.     AX = 0001h
  3408.     BX = interface level (0001h)
  3409. Return: AX = status (0000h initialization failed, 0001h init successful)
  3410.     BX = digitizer type
  3411.         0000h relative pointing device (mouse, etc.)
  3412.         0001h digitizing tablet
  3413.     CX = digitizer dataflow type
  3414.         0000h continuous
  3415.         0001h pauses between packets
  3416. SeeAlso: AX=0002h,AX=0003h,INT 7A/AX=0001h"AutoCAD"
  3417. --------A-790002-----------------------------
  3418. INT 79 R - AutoCAD Device Interface - DIGITIZER - TERMINATE
  3419.     AX = 0002h
  3420. SeeAlso: AX=0001h,AX=0003h
  3421. --------A-790003-----------------------------
  3422. INT 79 R - AutoCAD Device Interface - DIGITIZER - GET DIGITIZER STATUS
  3423.     AX = 0003h
  3424. Return: AX = status
  3425.         0000h nothing
  3426.         0002h tracking point (no button pressed)
  3427.         BX = X coordinate
  3428.         CX = Y coordinate
  3429.         0003h picked point (button 0,A,B,C,D pressed)
  3430.         BX = X coordinate
  3431.         CX = Y coordinate
  3432.         0004h button pick
  3433.         BX = button number
  3434.         0005h button and coordinates
  3435.         BX = button number
  3436.         CX = X coordinate
  3437.         DX = Y coordinate
  3438. SeeAlso: AX=0001h,AX=0002h
  3439. --------N-7A---------------------------------
  3440. INT 7A U - Topware Network Operating System - ???
  3441.     AL = ???
  3442.     ???
  3443. Return: ???
  3444. SeeAlso: INT 21/AX=FF00h"Topware",INT 2F/AX=FF00h
  3445. --------N-7A---------------------------------
  3446. INT 7A - X.PC Packet software interface
  3447.     ES:BX -> parameter block
  3448. SeeAlso: INT 60/AX=01FFh
  3449. --------E-7A---------------------------------
  3450. INT 7A - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ2
  3451. Program: GO32.EXE is a DOS extender included as part of the 80386 port of the
  3452.       GNU C/C++ compiler by DJ Delorie and distributed as DJGPP
  3453. Notes:    this vector is overwritten when GO32 starts but is not restored by
  3454.       early versions of the extender
  3455.     the newest versions of GO32 dynamically allocate the vectors used
  3456.       for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
  3457. SeeAlso: INT 0A,INT 79"GO32",INT 7B"GO32"
  3458. --------P-7A---------------------------------
  3459. INT 7A O - PRINDIR - API (moved to INT 7C)
  3460. SeeAlso: INT 7C"PRINDIR"
  3461. --------N-7A---------------------------------
  3462. INT 7A - Novell NetWare - LOW-LEVEL API - Notes
  3463. Note:    this interrupt is used for IPX/SPX access in NetWare versions through
  3464.       2.0a; in later versions, you should use INT 2F/AX=7A00h to get an
  3465.       entry point even though INT 7A still exists.    For both INT 7A and
  3466.       the FAR entry point, BX contains the function number; IPX is
  3467.       sometimes called internally with BX bit 15 set, which causes the
  3468.       handler to bypass some initial checks and an optional call to the
  3469.       IPX Windows support handler set with INT 2F/AX=7AFFh/BX=0000h
  3470.       (see #1514)
  3471. SeeAlso: INT 2F/AX=7A00h,INT 64"Novell",INT 7A/BX=0000h
  3472. --------N-7A----BX0000-----------------------
  3473. INT 7A - Novell NetWare - IPX Driver - OPEN SOCKET
  3474.     BX = 0000h
  3475.     AL = socket longevity
  3476.         00h open until close or terminate
  3477.         FFh open until close
  3478.     DX = socket number (high byte in DL)
  3479.         0000h dynamic allocation
  3480.         else  socket to open (see #2212)
  3481. Return: AL = return code
  3482.         00h success
  3483.         DX = socket number
  3484.         FEh socket table full
  3485.         FFh socket already open
  3486. Notes:    TSRs which need to use sockets should set AL to FFh, non-resident
  3487.       programs should normally use AL=00h
  3488.     IPX can be configured to support up to 150 open sockets on a
  3489.       workstation, and defaults to 20
  3490.     this function is supported by Advanced NetWare 1.02+
  3491. SeeAlso: INT 7A/BX=0001h,INT 7A/BX=0004h,INT 7A/BX=0023h
  3492.  
  3493. (Table 2212)
  3494. Values for IPX socket number:
  3495.  0451h    File Service (NetWare Core Protocol)
  3496.  0452h    Service Advertising Protocol
  3497.  0453h    Routing Information Packet
  3498.  0455h    NetBIOS Packet
  3499.  0456h    diagnostics
  3500.  0457h    server serial numbers (labeled "Copy Protection" by Lanalyzer)
  3501.  4000h-7FFFh used for dynamic allocation
  3502.  4444h    Brightwork Development's SiteLock server
  3503.  5555h    Brightwork Development's SiteLock client (workstation)
  3504.  8000h-FFFFh assigned by Novell
  3505. Note:    SiteLock is an application metering product using IPX to communicate
  3506.       between the application and the license server
  3507. --------N-7A----BX0001-----------------------
  3508. INT 7A - Novell NetWare - IPX Driver - CLOSE SOCKET
  3509.     BX = 0001h
  3510.     DX = socket number (high byte in DL)
  3511. Notes:    also cancels events set by any Event Control Blocks for the socket
  3512.     the program must close all open sockets before terminating
  3513.     this function is supported by Advanced NetWare 1.02+
  3514. SeeAlso: BX=0000h
  3515. --------N-7A----BX0002-----------------------
  3516. INT 7A - Novell NetWare - IPX Driver - GET LOCAL TARGET
  3517.     BX = 0002h
  3518.     ES:SI -> target internetwork address (see INT 7A/BX=000Bh)
  3519.     ES:DI -> 6-byte buffer for local target
  3520. Return: AL = return code
  3521.         00h success
  3522.            CX = expected one-way transfer time (clock ticks) for a 576-byte
  3523.               packet
  3524.            ES:DI -> local target
  3525.         FAh unsuccessful (no path to destination)
  3526. Notes:    the internetwork address consists of a 4-byte network address followed
  3527.       by a 6-byte node address.  The local target is only a 6-byte node
  3528.       address.  If the target is in the same network, the local target is
  3529.       just the node address of target; otherwise, the local target is the
  3530.       node address of the bridge that leads to the target.
  3531.     this function may be called from inside IPX and AES Event Service
  3532.       Routines, but not from other interrupt handlers
  3533.     this function is supported by Advanced NetWare 1.02+
  3534. SeeAlso: BX=0009h
  3535. --------N-7A----BX0003-----------------------
  3536. INT 7A - Novell NetWare - IPX Driver - SEND PACKET
  3537.     BX = 0003h
  3538.     ES:SI -> Event Control Block (see #2213,#2214)
  3539. Notes:    returns immediately; IPX attempts to send the packet in the background
  3540.     this function is supported by Advanced NetWare 1.02+
  3541.     this function is nearly identical to BX=000Fh, except that it always
  3542.       copies the source address into the IPX header assumed to be at the
  3543.       beginning of the first fragment
  3544. SeeAlso: BX=0004h,BX=000Fh,INT 21/AH=EEh"Novell"
  3545.  
  3546. Format of IPX Event Control Block:
  3547. Offset    Size    Description    (Table 2213)
  3548.  00h    DWORD    Link
  3549.  04h    DWORD    -> Event Service Routine (00000000h if none)
  3550.  08h    BYTE    in use flag (see #2215)
  3551.  09h    BYTE    completion code (see #2216)
  3552.  0Ah    WORD    (big-endian) socket number (see INT 7A/BX=0000h)
  3553.  0Ch  4 BYTEs    IPX workspace
  3554.  10h 12 BYTEs    driver workspace
  3555.  1Ch  6 BYTEs    immediate local node address
  3556.  22h    WORD    fragment count
  3557.  24h    var    fragment descriptors
  3558.         Offset    Size    Description
  3559.          00h    DWORD    -> fragment data
  3560.          04h    WORD    size of fragment in bytes.
  3561. Notes:    ESR is a far procedure that is called when the ECB has been handled.
  3562.       On call, the in use flag is zero if the ECB has been handled,
  3563.       non-zero otherwise. If the flag is zero, the completion code holds
  3564.       the result of the event.
  3565.     the first fragment should start with an IPX header
  3566.     all fragments are concatenated and sent in one piece
  3567.     node address FFh FFh FFh FFh FFh FFh broadcasts to all nodes
  3568.  
  3569. Format of AES-ECB:
  3570. Offset    Size    Description    (Table 2214)
  3571.  00h    DWORD    Link
  3572.  04h    DWORD    ESR address
  3573.  08h    BYTE    in use flag (see #2215)
  3574.  09h  5 BYTEs    AES workspace
  3575.  
  3576. (Table 2215)
  3577. Values for ECB in use flag:
  3578.  00h    available
  3579.  E0h    AES temporary
  3580.  F6h    \ special IPX/SPX processing for v3.02+
  3581.  F7h    /
  3582.  F8h    IPX in critical section
  3583.  F9h    SPX listening
  3584.  FAh    processing
  3585.  FBh    holding
  3586.  FCh    AES waiting
  3587.  FDh    AES couting down delay time
  3588.  FEh    awaiting packet reception
  3589.  FFh    sending packet
  3590.  
  3591. (Table 2216)
  3592. Values for ECB completion code:
  3593.  00h    success
  3594.  ECh    remote terminated connection without acknowledging packet
  3595.  EDh    abnormal connection termination
  3596.  EEh    invalid connection ID
  3597.  EFh    SPX connection table full
  3598.  F9h    event should not be cancelled
  3599.  FAh    cannot establish connection with specified destination
  3600.  FCh    cancelled
  3601.  FDh    malformed packet
  3602.  FEh    packet undeliverable
  3603.  FFh    physical error
  3604.  
  3605. (Table 2217)
  3606. Values event Service Routine is called with:
  3607.     AL = caller's identity (00h = AES, FFh = IPX)
  3608.     ES:SI -> event control block
  3609.     interrupts disabled
  3610.  
  3611. Format of IPX header:
  3612. Offset    Size    Description    (Table 2218)
  3613.  00h    WORD    (big-endian) checksum
  3614.  02h    WORD    (big-endian) length in bytes of total packet
  3615.  04h    BYTE    transport control
  3616.  05h    BYTE    packet type (see #2219)
  3617.  06h 10 BYTEs    destination internetwork address
  3618.  10h    WORD    (big-endian) destination socket
  3619.  12h 10 BYTEs    source internetwork address
  3620.  1Ch    WORD    (big-endian) source socket
  3621.  
  3622. (Table 2219)
  3623. Values for IPX packet type:
  3624.  00h    unknown packet type
  3625.  01h    routing information packet
  3626.  02h    echo packet
  3627.  03h    error packet
  3628.  04h    packet exchange packet (always use this one)
  3629.  05h    SPX packet
  3630.  11h    NetWare Core Protocol
  3631.  14h    Propagated Packet (for NetWare), NetBIOS name packet
  3632.  15h-1Eh experimental protocols
  3633. Note:    undocumented packet type 14h will cross up to 16 networks deep in
  3634.       all directions; as Aaron Martin of Origin Systems discovered, the
  3635.       first 64 bytes of the IPX data in such packets should be considered
  3636.       reserved, as IPX places the traversed server nodes there.
  3637.  
  3638. Format of Service Advertising Protocol Service Query Packet:
  3639. Offset    Size    Description    (Table 2220)
  3640.  00h 30 BYTEs    IPX header
  3641.  1Eh    WORD    (big-endian) query type
  3642.         0001h general find service
  3643.         0003h find nearest server
  3644.  20h    WORD    (big-endian) server type (see INT 21/AH=E3h"NetWare")
  3645.  
  3646. Format of Service Advertising Protocol Server Identification Packet:
  3647. Offset    Size    Description    (Table 2221)
  3648.  00h 30 BYTEs    IPX header
  3649.  1Eh    WORD    (big-endian) response type
  3650.         0002h general service
  3651.         0004h nearest service
  3652.  20h 64N BYTEs    server entries (1-7) (see #2222)
  3653.  
  3654. Format of SAP server entry:
  3655. Offset    Size    Description    (Table 2222)
  3656.  00h    WORD    (big-endian) server type (see INT 21/AH=E3h"NetWare")
  3657.  02h 48 BYTEs    ASCIZ server name
  3658.  32h  2 WORDs    (big-endian) network number
  3659.  34h  3 WORDs    (big-endian) node number
  3660.  3Ch    WORD    (big-endian) socket number
  3661.  3Eh    WORD    (big-endian) number of hops between caller and server
  3662.  
  3663. Format of IPX Routing Information packet:
  3664. Offset    Size    Description    (Table 2223)
  3665.  00h 30 BYTEs    IPX header
  3666.  1Eh    WORD    operation (0001h request, 0002h response)
  3667.  20h 8N BYTEs    network entries (1-50) (see #2224)
  3668.  
  3669. Format of RIP network entry:
  3670. Offset    Size    Description    (Table 2224)
  3671.  00h    DWORD    network number (FFFFFFFFh = general request)
  3672.  04h    WORD    (response) number of hops
  3673.  06h    WORD    (response) number of clock ticks to reach destination
  3674. --------N-7A----BX0004-----------------------
  3675. INT 7A - Novell NetWare - IPX Driver - LISTEN FOR PACKET
  3676.     BX = 0004h
  3677.     ES:SI -> Event Control Block (see BX=0003h)
  3678. Return: AL = status
  3679.         00h successful
  3680.         FFh no listening socket for packet
  3681. Desc:    this function provides IPX with an ECB for receiving an IPX packet, but
  3682.       does not wait for a packet to arrive
  3683. Notes:    the application must open a socket and initialize the ECB's ESR
  3684.       address, socket number, fragment count, and fragment descriptor
  3685.       fields before invoking this function
  3686.     there is no limit on the number of ECBs which may simultaneously be
  3687.       listening on a socket
  3688.     this function is supported by Advanced NetWare 1.02+
  3689. SeeAlso: BX=0000h,BX=0003h
  3690. --------N-7A----BX0005-----------------------
  3691. INT 7A - Novell NetWare - IPX Driver - SCHEDULE IPX EVENT
  3692.     BX = 0005h
  3693.     AX = delay time in clock ticks
  3694.     ES:SI -> Event Control Block (see BX=0003h)
  3695. Note:    this function is supported by Advanced NetWare 1.02+
  3696. SeeAlso: BX=0006h,BX=0007h,BX=0008h
  3697. --------N-7A----BX0006-----------------------
  3698. INT 7A - Novell NetWare - IPX Driver - CANCEL EVENT
  3699.     BX = 0006h
  3700.     ES:SI -> Event Control Block (see BX=0003h)
  3701. Return: AL = return code (see #2225)
  3702. Notes:    cannot cancel packets which the node's driver has already sent
  3703.     this function is supported by Advanced NetWare 1.02+
  3704. SeeAlso: BX=0005h
  3705.  
  3706. (Table 2225)
  3707. Values for IPX return code:
  3708.  00h    success
  3709.  F9h    event in use
  3710.  FCh    event cancelled
  3711.  FFh    unsuccessful, event not in use, or unrecognized ECB flag
  3712. --------N-7A----BX0007-----------------------
  3713. INT 7A - Novell NetWare - IPX Driver - SCHEDULE SPECIAL EVENT
  3714.     BX = 0007h
  3715.     AX = delay time
  3716.     ES:SI -> Event Control Block (see BX=0003h)
  3717. Note:    this function is supported by Advanced NetWare 1.02+
  3718. SeeAlso: BX=0006h
  3719. --------N-7A----BX0008-----------------------
  3720. INT 7A - Novell NetWare - IPX Driver - GET INTERVAL MARKER
  3721.     BX = 0008h
  3722. Return: AX = interval marker in clock ticks
  3723. Notes:    may be used to measure the time elapsed between two events, up to one
  3724.       hour
  3725.     this function is supported by Advanced NetWare 1.02+
  3726. SeeAlso: BX=0005h
  3727. --------N-7A----BX0009-----------------------
  3728. INT 7A - Novell NetWare - IPX Driver - GET INTERNETWORK ADDRESS
  3729.     BX = 0009h
  3730.     ES:SI -> buffer for own internetwork address (see #2226)
  3731. Return: ES:SI buffer filled
  3732.     SI destroyed
  3733. Note:    this function is supported by Advanced NetWare 1.02+
  3734. SeeAlso: BX=0002h,BX=000Bh
  3735.  
  3736. Format of IPX internetwork address:
  3737. Offset    Size    Description    (Table 2226)
  3738.  00h  4 BYTEs    (big-endian) network number
  3739.  04h  6 BYTEs    (big-endian) node number within network
  3740. --------N-7A----BX000A-----------------------
  3741. INT 7A - Novell NetWare - IPX Driver - RELINQUISH CONTROL
  3742.     BX = 000Ah
  3743. Desc:    this call indicates that the application is idle and permits the IPX
  3744.       driver to do some work
  3745. Note:    this function is supported by Advanced NetWare 1.02+
  3746. SeeAlso: INT 15/AX=1000h,INT 21/AH=89h,INT 2F/AX=1680h
  3747. --------N-7A----BX000B-----------------------
  3748. INT 7A - Novell NetWare - IPX Driver - DISCONNECT FROM TARGET
  3749.     BX = 000Bh
  3750.     ES:SI -> internetwork address (see #2227)
  3751. Notes:    this function permits the network software on the remote machine to
  3752.       remove any virtual connection with the calling machine
  3753.     only use in point-to-point networks
  3754.     should never be called from within an Event Service Routine
  3755.     this function is supported by Advanced NetWare 1.02+
  3756. SeeAlso: BX=0002h,BX=0009h
  3757.  
  3758. Format of IPX internetwork address:
  3759. Offset    Size    Description    (Table 2227)
  3760.  00h  4 BYTEs    (big-endian) destination network
  3761.  04h  6 BYTEs    (big-endian) destination node
  3762.  0Ah  2 BYTEs    (big-endian) destination socket
  3763. --------N-7A----BX000C-----------------------
  3764. INT 7A U - Novell NetWare - IPX Driver - internal - INITIALIZE NETWORK ADDRESS
  3765.     BX = 000Ch
  3766.     CX:DX = global network address (see INT 7A/BX=0002h)
  3767.     ES:DI -> "OSINCRITICALSECTION" flag
  3768.     DS:SI -> current mode for socket
  3769. Note:    the address cannot be changed once it has been initialized
  3770. SeeAlso: INT 7A/BX=0024h
  3771. --------N-7A----BX000D-----------------------
  3772. INT 7A U - Novell NetWare - IPX Driver - internal - IPX GET PACKET SIZE
  3773.     BX = 000Dh
  3774. Return: AX = maximum packet size
  3775.     CX = retry count
  3776. SeeAlso: BX=001Ah
  3777. --------N-7A----BX000E-----------------------
  3778. INT 7A U - Novell NetWare - IPX Driver - internal - TERMINATE SOCKETS
  3779.     BX = 000Eh
  3780. Return: nothing
  3781. Notes:    this function terminates all sockets opened with the current mode; this
  3782.       may be intended for future enhancements as the socket mode never
  3783.       changes in v2.15
  3784.     called by the NetWare shell if a program terminates
  3785. --------N-7A----BX000F-----------------------
  3786. INT 7A - Novell NetWare - IPX Driver - INTERNAL - SEND PACKET
  3787.     BX = 000Fh
  3788.     ES:SI -> Event Control Block (see BX=0003h)
  3789. Note:    nearly identical to function 0003h, but does not copy address into
  3790.       the first fragment, and bypasses normal error checking
  3791. SeeAlso: BX=0003h
  3792. --------N-7A----BX0010-----------------------
  3793. INT 7A - Novell NetWare - SPX Driver - INSTALLATION CHECK
  3794.     BX = 0010h
  3795.     AL = 00h
  3796. Return: AL = FFh if SPX loaded
  3797.         BH = SPX major version
  3798.         BL = SPX minor version
  3799.         CX = maximum SPX connections
  3800.         DX = SPX connections available
  3801. Notes:    this function is supported by Advanced NetWare 2.1+
  3802.     this interrupt is used for IPX/SPX access in NetWare versions through
  3803.       2.0a; in later versions, you should use INT 2F/AX=7A00h to get an
  3804.       entry point even though INT 7A still exists.    For both INT 7A and
  3805.       the FAR entry point, BX contains the function number
  3806.     IPX is sometimes called internally with BX bit 15 set, which causes the
  3807.       entry point handler to bypass some checks and an optional call to
  3808.       the IPX Windows support handler set with INT 2F/AX=7AFFh/BX=0000h
  3809.       (see #1514)
  3810. SeeAlso: BX=0015h
  3811. --------N-7A----BX0011-----------------------
  3812. INT 7A - Novell NetWare - SPX Driver - ESTABLISH SPX CONNECTION
  3813.     BX = 0011h
  3814.     AL = retry count
  3815.     AH = watchdog flag
  3816.     ES:SI -> Event Control Block (see BX=0003h)
  3817. Return: AL = status (see #2228)
  3818.     DX = assigned connection ID number
  3819. Desc:    attempt to establish a connection with a listening socket
  3820. Notes:    there should always be at least two SPX ECB's listening to a socket, so
  3821.       that NetWare can perform its internal packet exchanges
  3822.     the first fragment should start with a SPX header.  Fill in all
  3823.       destination addresses.
  3824.     this function is supported by Advanced NetWare 2.1+
  3825. SeeAlso: BX=0000h,BX=0012h,BX=0013h,BX=0014h,BX=0015h
  3826.  
  3827. (Table 2228)
  3828. Values for SPX function status:
  3829.  00h    attempting to contact destination socket
  3830.  EFh    local connection table full
  3831.  FDh    buffer size not 42 or fragment count not 1
  3832.  FFh    sending socket not open
  3833.  
  3834. Format of SPX header:
  3835. Offset    Size    Description    (Table 2229)
  3836.  00h    WORD    (big-endian) checksum
  3837.  02h    WORD    (big-endian) length in bytes of total packet
  3838.  04h    BYTE    transport control
  3839.  05h    BYTE    packet type (see INT 7A/BX=0003h)
  3840.  06h 10 BYTEs    destination internet address
  3841.  10h    WORD    (big-endian) destination socket
  3842.  12h 10 BYTEs    source internet address
  3843.  1Ch    WORD    (big-endian) source socket
  3844.  1Eh    BYTE    connection control (see #2230)
  3845.  1Fh    BYTE    datastream type
  3846.         FEh terminate connection request packet
  3847.         FFh terminate connection acknowledgement packet
  3848.         other user-defined, ignored by SPX
  3849.  20h    WORD    (big-endian) source connection ID
  3850.  22h    WORD    (big-endian) destination connection ID
  3851.  24h    WORD    (big-endian) sequence number
  3852.  26h    WORD    (big-endian) acknowledge number
  3853.  28h    WORD    (big-endian) allocation number
  3854.  
  3855. Bitfields for SPX connection control:
  3856. Bit(s)    Description    (Table 2230)
  3857.  3-0    unused???
  3858.  4    end of message
  3859.  5    reserved
  3860.  6    acknowledgement required
  3861.  7    system packet
  3862. --------N-7A----BX0012-----------------------
  3863. INT 7A - Novell NetWare - SPX Driver - LISTEN FOR SPX CONNECTION
  3864.     BX = 0012h
  3865.     AH = watchdog flag (00h disabled, 01h enabled)
  3866.     AL = retry count (00h = default)
  3867.     ES:SI -> Event Control Block (see BX=0003h)
  3868. Notes:    there should always be at least two SPX ECB's listening to a socket, so
  3869.       that NetWare can perform its internal packet exchanges
  3870.     this function is supported by Advanced NetWare 2.1+
  3871. SeeAlso: BX=0011h,BX=0013h,BX=0014h
  3872. --------N-7A----BX0013-----------------------
  3873. INT 7A - Novell NetWare - SPX Driver - TERMINATE SPX CONNECTION
  3874.     BX = 0013h
  3875.     DX = connection ID to terminate
  3876.     ES:SI -> Event Control Block (see BX=0003h)
  3877. Note:    this function is supported by Advanced NetWare 2.1+
  3878. SeeAlso: BX=0011h,BX=0012h,BX=0014h
  3879. --------N-7A----BX0014-----------------------
  3880. INT 7A - Novell NetWare - SPX Driver - ABORT SPX CONNECTION
  3881.     BX = 0014h
  3882.     DX = connection ID to terminate
  3883. Notes:    this function is supported by Advanced NetWare 2.1+
  3884.     this function does not tell the other side that the connection has been
  3885.       terminated
  3886.     also aborts any outstanding Establish Connection, Terminate Connection,
  3887.       and Send Sequenced Packet commands
  3888. SeeAlso: BX=0011h,BX=0013h
  3889. --------N-7A----BX0015-----------------------
  3890. INT 7A - Novell NetWare - SPX Driver - GET SPX CONNECTION STATUS
  3891.     BX = 0015h
  3892.     DX = connection ID
  3893.     ES:SI -> status buffer (see #2231)
  3894. Return: AL = return code
  3895.         00h connection still valid
  3896.         ES:SI -> status buffer filled
  3897.         EEh no such connection
  3898. Note:    this function is supported by Advanced NetWare 2.1+
  3899. SeeAlso: BX=0010h,BX=0011h
  3900.  
  3901. Format of SPX status buffer:
  3902. Offset    Size    Description    (Table 2231)
  3903.  00h    BYTE    connection state
  3904.         01h waiting to establish connection
  3905.         02h starting (attempting to create connection)
  3906.         03h connection established
  3907.         04h terminating
  3908.  01h    BYTE    watchdog flag
  3909.         bit 0: used internally by SPX
  3910.         bit 1: SPX watchdog is monitoring connection
  3911.         bits 2-7 used internally by SPX
  3912.  02h    WORD    (big-endian) source connection ID
  3913.  04h    WORD    (big-endian) destination connection ID
  3914.  06h    WORD    (big-endian) sequence number of next packet sent
  3915.  08h    WORD    (big-endian) acknowledge number, expected sequence number of
  3916.           next received packet
  3917.  0Ah    WORD    (big-endian) maximum sequence number remote SPX may send
  3918.           without ACK from local SPX
  3919.  0Ch    WORD    (big-endian) remote acknowledge number, next sequence number
  3920.           remote SPX expects to receive
  3921.  0Eh    WORD    (big-endian) remote allocation number, maximum sequence number
  3922.           local SPX may send
  3923.  10h    WORD    (big-endian) connection socket
  3924.  12h  6 BYTEs    immediate node address--bridge on local network to destination
  3925.  18h 10 BYTEs    destination internetwork address (see INT 7A/BX=000Bh)
  3926.  22h    WORD    (big-endian) retransmit count
  3927.  24h    WORD    (big-endian) estimated roundtrip delay
  3928.  26h    WORD    (big-endian) retransmitted packets
  3929.  28h    WORD    (big-endian) suppressed packets
  3930.  2Ah 12 BYTEs    ??? (v2.15)
  3931. --------N-7A----BX0016-----------------------
  3932. INT 7A - Novell NetWare - SPX Driver - SEND SPX PACKET
  3933.     BX = 0016h
  3934.     DX = connection ID
  3935.     ES:SI -> Event Control Block (see BX=0003h)
  3936. Notes:    this function is supported by Advanced NetWare 2.1+
  3937.     CX may need to be 0001h ???
  3938. SeeAlso: BX=0011h,BX=0017h
  3939. --------N-7A----BX0017-----------------------
  3940. INT 7A - Novell NetWare - SPX Driver - LISTEN FOR SPX PACKET
  3941.     BX = 0017h
  3942.     DX = connection ID (unused in v2.15)
  3943.     ES:SI -> Event Control Block (see BX=0003h)
  3944. Notes:    this function is supported by Advanced NetWare 2.1+
  3945.     CX may need to be 0001h ???
  3946. SeeAlso: BX=0011h,BX=0016h
  3947. --------N-7A----BX0018-----------------------
  3948. INT 7A U - Novell NetWare - IPX Driver - internal - ADD DIAGNOSTIC ELEMENT
  3949.     BX = 0018h
  3950.     ES:SI -> diagnostic element (see #2232) to be added to Diagnostic Queue
  3951. Note:    this function is supported on file servers only under v2.15; v3.02 also
  3952.       supports it on workstations
  3953. SeeAlso: BX=0019h
  3954.  
  3955. Format of IPX diagnostic element:
  3956. Offset    Size    Description    (Table 2232)
  3957.  00h    DWORD    pointer to next diagnostic element
  3958.  04h    DWORD    pointer to function for ???
  3959.  08h    DWORD    pointer to function for ???
  3960. --------N-7A----BX0019-----------------------
  3961. INT 7A U - Novell NetWare - IPX Driver - internal - CANCEL DIAGNOSTIC ELEMENT
  3962.     BX = 0019h
  3963.     ES:SI -> diagnostic element (see BX=0018h) to be removed
  3964. Note:    this function is supported on file servers only under v2.15; v3.02 also
  3965.       supports it on workstations
  3966. SeeAlso: BX=0018h
  3967. --------N-7A----BX001A-----------------------
  3968. INT 7A - Novell NetWare - IPX Driver - internal - GET DRIVER PACKT SIZE LIMIT
  3969.     BX = 001Ah
  3970. Return: AX = packet size with preamble
  3971.     CX = IPX retry count
  3972. Note:    this function is has existed since November 1989; it is documented in
  3973.       Novell document FYI.A.3709, 03May91
  3974. SeeAlso: BX=000Dh
  3975. --------N-7A----BX001B-----------------------
  3976. INT 7A U - Novell NetWare - IPX Driver - INTERNAL
  3977.     BX = 001Bh
  3978.     ???
  3979. Return: ???
  3980. Notes:    this function is supported on file servers only under v2.15; v3.02 also
  3981.       supports it on workstations
  3982.     used by NetWare Access Server
  3983. --------N-7A----BX001C-----------------------
  3984. INT 7A U - Novell NetWare - NetWare Access Server - ???
  3985.     BX = 001Ch to 001Eh
  3986.     ???
  3987. Return: ???
  3988.     BX corrupted
  3989. Notes:    these functions are NOPs for standard IPX drivers such as IPXODI v2.12
  3990. SeeAlso: INT 2F/AX=7AF1h
  3991. --------N-7A----BX001F-----------------------
  3992. INT 7A - Novell NetWare - IPXODI v2.12+ - GET IPX FLAGS
  3993.     BX = 001Fh
  3994.     DX = 0000h
  3995. Return: AX = ???
  3996.     BX:CX -> ??? entry point (see #2233)
  3997.     DX = flags
  3998.         bit 0: IPXODI rather than dedicated IPX
  3999.         bit 1: checksumming functions 0020h-0022h supported
  4000.     ES:SI -> array of words containing used socket number (undocumented);
  4001.         0000h ends array
  4002. Note:    IPXODI v2.12 is distributed as part of the Personal NetWare system
  4003.       bundled with Novell DOS 7
  4004. SeeAlso: BX=0020h,INT 2F/AX=7A2Fh
  4005.  
  4006. (Table 2233)
  4007. Call IPXODI entry point with:
  4008.     ES:SI -> ??? data (offset 24h is far pointer to ??? data)
  4009. --------N-7A----BX0020-----------------------
  4010. INT 7A - Novell NetWare - IPXODI v2.12+ - SEND WITH CHECKSUM
  4011.     BX = 0020h
  4012.     ES:SI -> ECB data (see #2234)
  4013. Return: DS preserved
  4014.     BX,BP corrupted
  4015. SeeAlso: BX=001Fh,BX=0021h,BX=0022h,INT 2F/AX=7A2Fh
  4016.  
  4017. Format of ECB data:
  4018. Offset    Size    Description    (Table 2234)
  4019.  00h  8 BYTEs    ???
  4020.  08h    BYTE    (return) ???
  4021.  09h    BYTE    (return) ???
  4022.  0Ah    WORD    ???
  4023.  0Ch 16 BYTEs    ???
  4024.  1Ch  3 WORDs    ???
  4025.  22h    WORD    number of records at offset 28h
  4026.  24h    DWORD    -> ???
  4027.  28h 6N BYTEs    ??? records
  4028. --------N-7A----BX0021-----------------------
  4029. INT 7A - Novell NetWare - IPXODI v2.12+ - IPX GENERATE CHECKSUM
  4030.     BX = 0021h
  4031.     ES:SI -> ECB data (see #2234)
  4032. Return: ES,DS,SI preserved
  4033.     BX,BP corrupted
  4034. Notes:    the checksum and TransportControl fields of the IPX packet are updated
  4035.     this function enables interrupts and is fully reentrant
  4036. SeeAlso: BX=001Fh,BX=0020h,BX=0022h,INT 2F/AX=7A2Fh
  4037. --------N-7A----BX0022-----------------------
  4038. INT 7A - Novell NetWare - IPXODI v2.12+ - IPX VERIFY CHECKSUM
  4039.     BX = 0022h
  4040.     ES:SI -> ECB data (see #2234)
  4041. Return: AX = status (0000h checksum matches)
  4042.     DS,ES,SI preserved
  4043.     BX,BP corrupted
  4044. Note:    this function enables interrupts and is fully reentrant
  4045. SeeAlso: BX=001Fh,BX=0020h,BX=0021h,INT 2F/AX=7A2Fh
  4046. --------N-7A----BX0023-----------------------
  4047. INT 7A - Novell NetWare - IPXODI v2.12+ - OPEN LOOK-AHEAD SOCKET
  4048.     BX = 0023h
  4049.     AL = ???
  4050.     DX = socket number
  4051.     ES:SI -> Look Ahead handler (see #2235)
  4052. Return: AL = 00h if successful
  4053.     BX corrupted
  4054. Notes:    the socket will always be long-lived, and must thus be explicitly
  4055.       closed with INT 7A/BX=0001h before the Look Ahead handler code is
  4056.       removed from memory (i.e. the program terminates)
  4057.     this function is only supported if INT 2F/AX=7A00h returns ES:BX
  4058.       pointing at an IPX version greater than 3.30
  4059. SeeAlso: INT 7A/BX=0000h,INT 7A/BX=0001h
  4060.  
  4061. (Table 2235)
  4062. Call IPX Look-Ahead handler with:
  4063.     AX = socket
  4064.     DS:SI -> look-ahead structure (see #1583 at INT 2F/AX=C000h"LSL")
  4065.     DF clear
  4066.     interrupt disabled (must remain disabled)
  4067. Return: AX = packet use
  4068.         0000h application want packet
  4069.         ES:SI -> ODI ECB (see #1584 at INT 2F/AX=C000h"LSL")
  4070.         8001h application does not want packet
  4071.     ZF set if AX=0000h
  4072.     DS,DI,BP,SS,SP preserved
  4073. --------N-7A----BX0024-----------------------
  4074. INT 7A U - Novell NetWare - IPXODI v2.20+ - SET INTERNETWORK ADDRESS
  4075.     BX = 0024h
  4076.     ES:SI -> buffer containing internetwork address (see #2227)
  4077. Return: BX,CX,SI,DI,ES destroyed
  4078. Note:    this function differs from INT 7A/BX=000Ch in that it unconditionally
  4079.       sets the address
  4080. SeeAlso: INT 7A/BX=000Ch
  4081. --------A-7A0001-----------------------------
  4082. INT 7A R - AutoCAD Device Interface - DISPLAY - INITIALIZE (INIT1)
  4083.     AX = 0001h
  4084.     BX = configuration
  4085.     CX = interface level (0001h)
  4086. Return: AX = status
  4087.         0000h initialization failed
  4088.         0001h pre-v4.0 driver initialized successfully
  4089.         0003h post-v3.1 driver initialized successfully (driver truncates
  4090.           excessivly long packets)
  4091.     BX = width of graphics area in pixels, or 0000h if using packet
  4092.           communication
  4093.     DX:CX -> packet-mode entry point (see #2236)
  4094. SeeAlso: AX=0001h,AX=0200h,AX=07D0h,INT 61/AX=0007h"OPTIMA",INT 78"AutoCAD"
  4095. SeeAlso: INT 79/AX=0001h,INT 7B/AX=8001h"AutoCAD",INT 7C"AutoShade"
  4096.  
  4097. (Table 2236)
  4098. Call packet-mode entry point with:
  4099. STACK:    DWORD    pointer to request packet (see #2237)
  4100.     WORD    length of packet
  4101.  
  4102. Format of request packet:
  4103. Offset    Size    Description    (Table 2237)
  4104.  00h    WORD    function number (00h-45h for Compaq VGADI41.EXE)
  4105. --------A-7A0200BX0000-----------------------
  4106. INT 7A R - AutoCAD Device Interface - RENDERING DEVICE - INITIALIZE (RDLINKUP)
  4107.     AX = 0200h
  4108.     BX = 0000h
  4109.     CX = interface level (0001h)
  4110. Return: BX = 0000h (driver uses packet communication)
  4111.     DX:CX -> packet-mode entry point (see #2236)
  4112. SeeAlso: AX=0001h"AutoCAD",INT 79/AX=0001h,INT 7B/AX=8001h"AutoCAD"
  4113. --------I-7A04-------------------------------
  4114. INT 7A - IBM 3270 Workstation Program API - CREATE A QUEUE
  4115.     AH = 04h
  4116.     ???
  4117. Return: ???
  4118. SeeAlso: AH=06h
  4119. --------I-7A06-------------------------------
  4120. INT 7A - IBM 3270 Workstation Program API - DELETE A QUEUE
  4121.     AH = 06h
  4122.     ???
  4123. Return: ???
  4124. SeeAlso: AH=04h
  4125. ----------7A07D0-----------------------------
  4126. INT 7A R - AutoCAD Device Interface - Compaq VGADI41.EXE - GET ENTRY POINT
  4127.     AX = 07D0h
  4128. Return: AX = ??? (0003h)
  4129.     BX = 0000h
  4130.     DX:CX -> ADI entry point (see AX=0001h)
  4131. SeeAlso: AX=0001h
  4132. --------I-7A09--BX8020-----------------------
  4133. INT 7A - IBM 3270 Workstation Program API - SESSION SERVICES
  4134.     AH = 09h
  4135.     BX = 8020h (synchronous request)
  4136.     CX = 0000h
  4137.     DX = ID of session manager (SESSMGR)
  4138.     AL = service (see #2238)
  4139.     ES:DI -> control block
  4140. Return: ???
  4141.  
  4142. (Table 2238)
  4143. Values for service:
  4144.  01h    get session ID
  4145.  02h    get session info
  4146.  04h    dettach from session
  4147.  05h    attach to session
  4148.  06h    get list of windows available
  4149.  07h    get environment of window
  4150.  08h    get 'PIF' (program information file) info
  4151.  0Ah    get base window ID
  4152.  0Bh    get cursor info
  4153. --------I-7A09--BX8020-----------------------
  4154. INT 7A - IBM 3270 Workstation Program API - KEYBOARD SERVICES
  4155.     AH = 09h
  4156.     BX = 8020h (synchronous request)
  4157.     CX = 0000h
  4158.     DX = ID of keyboard manager
  4159.     AL = service number (see #2239)
  4160.     ES:DI -> control block
  4161. Return: ???
  4162.  
  4163. (Table 2239)
  4164. Values for 3270 Workstation Program keyboard service:
  4165.  01h    connect to keyboard
  4166.  02h    disconnect from keyboard
  4167.  03h    read from keyboard
  4168.  04h    send keystroke to session
  4169.  05h    disable input
  4170.  06h    enable input
  4171.  07h    update status code
  4172. --------I-7A09--BX8020-----------------------
  4173. INT 7A - IBM 3270 Workstation Program API - WINDOW SERVICES
  4174.     AH = 09h
  4175.     BX = 8020h (synchronous request)
  4176.     CX = 00FFh
  4177.     DX = ID of window service controller (WSCTRL)
  4178.     AL = service number (see #2240)
  4179.     ES:DI -> control block
  4180. Return: ???
  4181.  
  4182. (Table 2240)
  4183. Values for 3270 Workstation Program window service:
  4184.  01h    connect to WS control
  4185.  02h    disconnect from WS control
  4186.  03h    add a window
  4187.  04h    change window's position on screen
  4188.  05h    change window's size
  4189.  06h    change window's color
  4190.  07h    change window's position in the presentation space
  4191.  08h    hide/unhide toggle
  4192.  09h    enlarge/reduce toggle
  4193.  0Ah    change screen background color
  4194.  0Bh    get window's position on screen
  4195.  0Ch    get window's size
  4196.  0Dh    get window's color
  4197.  0Eh    get window's position in the presentation space
  4198.  0Fh    determine whether hidden
  4199.  10h    determine whether enlarged
  4200.  11h    get background color
  4201.  12h    get window names
  4202.  13h    delete all windows from profile
  4203.  14h    pick active window
  4204.  15h    redraw screen
  4205.  16h    redraw window
  4206.  17h    delete a window from profile
  4207.  18h    get active window
  4208.  19h    get active screen
  4209.  1Ah    get window data
  4210.  1Bh    change window data
  4211.  1Ch    select active screen
  4212. --------I-7A09--BX8020-----------------------
  4213. INT 7A - IBM 3270 Workstation Program API - PRESENTATION SPACE SERVICES
  4214.     AH = 09h
  4215.     BX = 8020h
  4216.     CX = 00FFh
  4217.     DX = ID of PCPSM
  4218.     AL = service
  4219.         01h define presentation space
  4220.         02h delete presentation space
  4221.         03h display presentation space
  4222.         04h position cursor in presentation space
  4223.         05h change default presentation space
  4224.     ES:DI -> control block
  4225. Return: ???
  4226. --------I-7A09--BX8020-----------------------
  4227. INT 7A - IBM 3270 Workstation Program API - 3270 EMULATION
  4228.     AH = 09h
  4229.     BX = 8020h
  4230.     CX = 00FFh
  4231.     DX = ID of 3270EML
  4232.     AL = service
  4233.         01h connect
  4234.         02h disconnect
  4235.     ES:DI -> control block
  4236. Return: ???
  4237. --------I-7A09--BX8020-----------------------
  4238. INT 7A - IBM 3270 Workstation Program API - OPERATOR INFORMATION AREA
  4239.     AH = 09h
  4240.     BX = 8020h
  4241.     CX = 00FFh
  4242.     DX = ID of OIAM
  4243.     AL = service
  4244.         01h read Operator Information Area
  4245.         02h read OIA subset
  4246.     ES:DI -> control block
  4247. Return: ???
  4248. Note: the OIA is the 25th line on the Host session
  4249. --------I-7A09--BX8020-----------------------
  4250. INT 7A - IBM 3270 Workstation Program API - TRANSLATE DATA
  4251.     AH = 09h
  4252.     BX = 8020h
  4253.     CX = 00FFh
  4254.     DX = ID of XLATE
  4255.     AL = service
  4256.         01h translate from host characters to ASCII and vice versa
  4257.         (determined by control block byte 11)
  4258.     ES:DI -> control block
  4259. Return: ???
  4260. --------I-7A09--BX8020-----------------------
  4261. INT 7A - IBM 3270 Workstation Program API - COPY SERVICE
  4262.     AH = 09h
  4263.     BX = 8020h
  4264.     CX = 00FFh
  4265.     DX = ID of copy service
  4266.     AL = service
  4267.         01h copy string from one presentation space to another
  4268.         02h copy block from one presentation space to another
  4269.         03h connect to PC session for copy
  4270.         04h disconnect PC session from copy
  4271.     ES:DI -> control block
  4272. Return: ???
  4273. --------I-7A09--BX8020-----------------------
  4274. INT 7A - IBM 3270 Workstation Program API - Multi-DOS
  4275.     AH = 09h
  4276.     BX = 8020h
  4277.     CX = 00FFh
  4278.     ES:DI -> control block
  4279.     DX = ID of INDJQRY
  4280.         get environment size
  4281.        = ID of INDJASY
  4282.         request DOS functions from workstation
  4283.        = ID of MEMORY
  4284.         AL = function
  4285.             01h allocate memory
  4286.             02h deallocate memory
  4287.             03h modify allocated size
  4288. Return: ???
  4289. --------I-7A09-------------------------------
  4290. INT 7A - IBM 3270 Workstation Program API - HOST SERVICES
  4291.     AH = 09h
  4292.     BX = request type (4000h async, 8028h synchronous)
  4293.     CX = 0000h
  4294.     DX = ID of MFIC
  4295.     AL = service (see #2241)
  4296.     ES:DI -> control block
  4297.  
  4298. (Table 2241)
  4299. Values for 3270 Workstation Program host service:
  4300.  01h    connect to host
  4301.  02h    disconnect from host
  4302.  03h    read DFT structured data from host
  4303.  04h    write DFT structured data to host
  4304.  05h    create a host buffer
  4305. --------I-7A13-------------------------------
  4306. INT 7A - IBM 3270 Workstation Program API - GET DATA FROM A QUEUE
  4307.     AH = 13h
  4308.     ???
  4309. Return: ???
  4310. ----------7A7A-------------------------------
  4311. INT 7A - Canon IX-30F Image Scanner SI3.SYS - INTERFACE
  4312.     AH = 7Ah
  4313.     ???
  4314. Return: AX = status
  4315.         0000h success
  4316.         000Eh undefined function code
  4317. Range:    unknown, selected by device driver commandline arguments
  4318. --------I-7A81-------------------------------
  4319. INT 7A - IBM 3270 Workstation Program API - RESOLVE A GATE NAME
  4320.     AH = 81h
  4321.     ES:DI -> 8-char blank-padded gate name (see #2242)
  4322. Return: DX = gate ID
  4323.  
  4324. (Table 2242)
  4325. Values for 3270 Workstation Program gate name:
  4326.  "SESSMGR "
  4327.  "KEYBOARD"
  4328.  "WSCTRL  "
  4329.  "MFIC      "
  4330.  "PCPSM      "
  4331.  "3270EML "
  4332.  "COPY      "
  4333.  "XLATE      "
  4334.  "OIAM      "
  4335.  "MEMORY  "
  4336.  "INDJQRY "
  4337.  "INDJASY "
  4338. --------I-7A83-------------------------------
  4339. INT 7A - IBM 3270 Workstation Program API - GET COMPLETION RESULTS
  4340.     AH = 83h
  4341.     ???
  4342. Return: ???
  4343. --------I-7AFDCB-----------------------------
  4344. INT 7A - IBM Personal Communications/3270 - INSTALLATION CHECK
  4345.     AX = FDCBh
  4346. Return: DX:AX -> PCS/3270 signature block if loaded (see #2243)
  4347.  
  4348. Format of Personal Communications/3270 signature block:
  4349. Offset    Size    Description    (Table 2243)
  4350.  04h    WORD    PCS/3270 signature (5741h)
  4351.  06h    WORD    version (0501h = PCS/3270 v1.0)
  4352. --------I-7AFE01-----------------------------
  4353. INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL SEND/RECEIVE FUNCTION
  4354.     AX = FE01h
  4355.     ???
  4356. Return: ???
  4357. SeeAlso: AX=FE02h
  4358. --------I-7AFE02-----------------------------
  4359. INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL SEND/RECEIVE FUNCTION
  4360.     AX = FE02h
  4361.     ???
  4362. Return: ???
  4363. SeeAlso: AX=FE01h
  4364. --------I-7AFF01-----------------------------
  4365. INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL API INITIALIZATION
  4366.     AX = FF01h
  4367.     ES:DI -> API function handler routine
  4368. Return: CX = 1200h
  4369. SeeAlso: AX=FF02h,AX=FF03h
  4370. --------I-7AFF02-----------------------------
  4371. INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL API TERMINATION
  4372.     AX = FF02h
  4373. Return: CX = 1200h
  4374. SeeAlso: AX=FF01h
  4375. --------I-7AFF03-----------------------------
  4376. INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL API INITIALIZATION
  4377.     AX = FF03h
  4378.     ES:DI -> send/receive function handler routine
  4379. Return: CX = 1200h
  4380. SeeAlso: AX=FF01h
  4381. --------I-7AFF04-----------------------------
  4382. INT 7A U - IBM PC3270 EMUL PROG v3 - INTERNAL ???
  4383.     AX = FF04h
  4384.     ES:DI -> ???
  4385. Return: CX = 1200h
  4386. --------f-7B---------------------------------
  4387. INT 7B - Btrieve API (single user)
  4388.     DS:DX -> 38-byte parameter record (see #2244)
  4389. Return: return code field set
  4390. Note:    Btrieve sets low byte of vector to 33h; this serves as the installation
  4391.       check
  4392. SeeAlso: INT 2F/AX=AB01h,INT 7F/AX=0200h
  4393.  
  4394. Format of Btrieve parameter record:
  4395. Offset    Size    Description    (Table 2244)
  4396.  00h    DWORD    pointer to data buffer
  4397.  04h    WORD    data buffer length
  4398.  06h    DWORD    pointer to 90-byte record containing positioning info
  4399.         (should be same for all calls for same file)
  4400.  0Ah    DWORD    pointer to 38-byte FCB info buffer
  4401.         (should be same for all calls for same file)
  4402.  0Eh    WORD    function code (see #2245)
  4403.  10h    DWORD    pointer to file name/key buffer
  4404.  14h    BYTE    key length
  4405.  15h    BYTE    key number
  4406.  16h    DWORD    pointer to status code (see #2246)
  4407.  1Ah    WORD    interface code (version specific)
  4408.         6176h version 5.10
  4409.  
  4410. (Table 2245)
  4411. Values for function code:
  4412.  00h    open
  4413.  01h    close
  4414.  02h    insert
  4415.  03h    update
  4416.  04h    delete
  4417.  05h    get_equal
  4418.  06h    get_next
  4419.  07h    get_prev
  4420.  08h    get_greater
  4421.  09h    get_gr_eql
  4422.  0Ah    get_less
  4423.  0Bh    get_less_eq
  4424.  0Ch    get_first
  4425.  0Dh    get_last
  4426.  0Eh    create
  4427.  0Fh    stat
  4428.  10h    extend
  4429.  11h    set_dir: set directory information
  4430.  12h    get_dir: get directory information
  4431.  13h    begin_trans
  4432.  14h    end_trans
  4433.  15h    abort_trans
  4434.  16h    get_pos: get record position number
  4435.  17h    get_direct: get data by sending record position
  4436.  18h    step_next
  4437.  19h    stop
  4438.  1Ah    version
  4439.  1Bh    unlock
  4440.  1Ch    reset
  4441.  1Dh    set owner
  4442.  1Eh    clear owner
  4443.  1Fh    create supplemental index
  4444.  20h    drop supplemental index
  4445.  21h    step first
  4446.  22h    step last
  4447.  23h    step previous
  4448.  24h    get next extended: get multiple records using a filter
  4449.  25h    get previous extended: get multiple records using a filter
  4450.  26h    step next extended: get multiple records using a filter
  4451.  27h    step previous extended: get multiple records using a filter
  4452.  28h    insert extended: insert one or more records
  4453.  31h    ???
  4454. Notes:    add 50 (32h) to any "get" operation to just return the key data
  4455.     add 100 (64h) for a single-record wait lock (automatically released
  4456.       on next get)
  4457.     add 200 (C8h) for a single-record nowait lock (nowait lock returns
  4458.       error 54h or 55h if record already locked)
  4459.     add 300 (12Ch) for a multiple-record wait lock (not released until
  4460.       unlock called)
  4461.     add 400 (190h) for a multiple-record nowait lock (nowait lock returns
  4462.       error 54h or 55h if record already locked)
  4463.  
  4464. (Table 2246)
  4465. Values for Btrieve status code:
  4466.  00h    successful
  4467.  01h    invalid operation
  4468.  02h    I/O error
  4469.  03h    file not open
  4470.  04h    key value not found
  4471.  05h    duplicate key value
  4472.  06h    invalid key number
  4473.  07h    different key number
  4474.  08h    invalid positioning
  4475.  09h    end of file
  4476.  0Ah    modifiable key value error
  4477.  0Bh    invalid file name
  4478.  0Ch    file not found
  4479.  0Dh    extended file error
  4480.  0Eh    pre-image open error
  4481.  0Fh    pre-image I/O error
  4482.  10h    expansion error
  4483.  11h    close error
  4484.  12h    disk full
  4485.  13h    unrecoverable error
  4486.  14h    record manager inactive
  4487.  15h    key buffer too short
  4488.  16h    data buffer length overrun
  4489.  17h    position block length
  4490.  18h    page size error
  4491.  19h    create I/O error
  4492.  1Ah    number of keys
  4493.  1Bh    invalid key position
  4494.  1Ch    invalid record length
  4495.  1Dh    invalid key length
  4496.  1Eh    not a Btrieve file
  4497.  1Fh    file already extended
  4498.  20h    extended I/O error
  4499.  22h    invalid extension name
  4500.  23h    directory error
  4501.  24h    transaction error
  4502.  25h    transaction is active
  4503.  26h    transaction control file I/O error
  4504.  27h    end/abort transaction error
  4505.  28h    transaction max files
  4506.  29h    operation not allowed
  4507.  2Ah    incomplete accelerated access
  4508.  2Bh    invalid record address
  4509.  2Ch    null key path
  4510.  2Dh    inconsistent key flags
  4511.  2Eh    access to file denied
  4512.  2Fh    maximum open files
  4513.  30h    invalid alternate sequence definition
  4514.  31h    key type error
  4515.  32h    owner already set
  4516.  33h    invalid owner
  4517.  34h    error writing cache
  4518.  35h    invalid interface
  4519.  36h    variable page error
  4520.  37h    autoincrement error
  4521.  38h    incomplete index
  4522.  39h    expanded memory error
  4523.  3Ah    compression buffer too short
  4524.  3Bh    file already exists
  4525.  3Ch    reject count reached
  4526.  3Dh    work space too small
  4527.  3Eh    incorrect descriptor
  4528.  3Fh    invalid extended insert
  4529.  40h    filter limit reached
  4530.  41h    incorrect field offset
  4531.  4Ah    automatic transaction abort
  4532.  4Dh    Btrieve engine busy or resource locked by another user
  4533.  4Eh    deadlock detected
  4534.  50h    conflict
  4535.  51h    lock error
  4536.  52h    lost position
  4537.  53h    read outside transaction
  4538.  54h    record in use
  4539.  55h    file in use
  4540.  56h    file table full
  4541.  57h    handle table full
  4542.  58h    incompatible open mode
  4543.  5Ah    redirected device table full
  4544.  5Bh    server error
  4545.  5Ch    transaction table full
  4546.  5Dh    incompatible lock type
  4547.  5Eh    permission error
  4548.  5Fh    session no longer valid
  4549.  60h    communications environment error
  4550.  61h    data message too small
  4551.  62h    internal transaction error
  4552. --------I-7B---------------------------------
  4553. INT 7B - Eicon Access API (3270/5250 gateways)
  4554. SeeAlso: INT 5C"NetBIOS"
  4555. --------E-7B---------------------------------
  4556. INT 7B - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ3
  4557. Notes:    this vector is overwritten when GO32 starts but is not restored by
  4558.       early versions of the extender
  4559.     the newest versions of GO32 dynamically allocate the vectors used
  4560.       for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
  4561. SeeAlso: INT 0B,INT 10/AH=FFh"GO32",INT 7A"GO32",INT 7C"GO32"
  4562. --------A-7B---------------------------------
  4563. INT 7B CR - AutoCAD Device Interface - PRINTER/PLOTTER - SEND PLOTTING DATA
  4564.     AX = data length (0000h-7FFFh)
  4565.     CX:BX -> data to be plotted
  4566.     DX = vertical position of line on page
  4567. Return: nothing
  4568. Notes:    This interrupt is called by AutoCAD to perform its output
  4569.     A data length of 0000h indicates that a blank line is to be output
  4570. SeeAlso: AX=8001h,AX=8002h,INT 78"AutoCAD",INT 7A/AX=0001h"AutoCAD"
  4571. ----------7B---------------------------------
  4572. INT 7B - Novell XQL - XQL PRIMITIVES MANAGER API
  4573.     DS:DX -> parameter block (see #2247)
  4574. Return: parameter block updated
  4575.  
  4576. (Table 2247)
  4577. Values for Novell XQL function number:
  4578.  00h    log in
  4579.  01h    log out
  4580.  02h    "tNewFcn"
  4581.  03h    "tFreeFcn"
  4582.  04h    "tMoveFldFcn"
  4583.  05h    "tFieldFcn"
  4584.  06h    "tDescribeFcn"
  4585.  07h    "tFetchFcn"
  4586.  08h    "tComputeFcn"
  4587.  09h    "tOrderFcn"
  4588.  0Ah    "tRestrictFcn"
  4589.  0Bh    "tJoinFcn"
  4590.  0Ch    "tInsertFcn"
  4591.  0Dh    "tUpdateFcn"
  4592.  0Eh    "tUpdallFcn"
  4593.  0Fh    "tRemoveFcn"
  4594.  10h    "tRemallFcn"
  4595.  11h    "tResetFcn"
  4596.  12h    "tTransFcn"
  4597.  13h    "tStatFcn"
  4598.  14h    "tDDCreFcn"
  4599.  15h    "tStoreFcn"
  4600.  16h    "tRecallFcn"
  4601.  17h    "tStopFcn"
  4602.  18h    "tDDFileFcn"
  4603.  19h    "tDDFieldFcn"
  4604.  1Ah    "tDDIndexFcn"
  4605.  1Bh    "tDDModFcn"
  4606.  1Ch    "tDDViewFcn"
  4607.  1Dh    "tDDDrpFcn"
  4608.  1Eh    "tDDPathFcn"
  4609.  1Fh    "tDDAttrFcn"
  4610.  20h    "tDDFcn"
  4611.  21h    "tSecurFcn"
  4612.  22h    "tUserFcn"
  4613.  23h    "tAccessFcn"
  4614.  24h    "tPswdFcn"
  4615.  25h    "tCharFcn"
  4616.  26h    "tVersionFcn"
  4617.  27h    "tCnvFcn"
  4618.  28h    "tValFcn"
  4619.  29h    "tMaskFcn"
  4620.  
  4621. Format of XQL parameter block:
  4622. Offset    Size    Description    (Table 2248)
  4623.  00h  4 BYTEs    signature "XQLP"
  4624.  04h    WORD    function number (see #2247)
  4625.  06h    WORD    handle
  4626.  08h    WORD    status
  4627.  0Ah    WORD    session ID
  4628.  0Ch    var    data record (varies by function)
  4629. ---function 00h---
  4630.  0Ch    DWORD    -> user name
  4631.  10h    DWORD    -> password
  4632.  14h    DWORD    -> dictionary
  4633.  18h    DWORD    -> filepath
  4634.  1Ch    DWORD    -> machine name
  4635.  20h    WORD    process ID
  4636. ---function 01h---
  4637.  no additional fields???
  4638. ---function 02h---
  4639.  0Ch    DWORD    -> filename
  4640.  10h    DWORD    -> owner name
  4641.  14h    WORD    open mode
  4642. ---function 03h---
  4643.  no additional fields???
  4644. ---function 04h---
  4645.  0Ch    WORD    "frompos"
  4646.  0Eh    WORD    "topos"
  4647. ---function 05h---
  4648.  0Ch    WORD    subfunction
  4649.  0Eh    WORD    position
  4650.  10h    WORD    count
  4651.  12h    DWORD    -> field list
  4652. ---function 06h---
  4653.  0Ch    WORD    subfunction
  4654.  0Eh    WORD    length of description
  4655.  10h    WORD    position
  4656.  12h    WORD    count
  4657.  14h    DWORD    pointer to description list
  4658. ---function 07h---
  4659.  0Ch    WORD    data length
  4660.  0Eh    WORD    "op"
  4661.  10h    DWORD    "select"
  4662.  14h    DWORD    "reject"
  4663.  18h    DWORD    pointer to data buffer
  4664. ---function 08h---
  4665.  0Ch    DWORD    -> field name
  4666.  10h    WORD    field type
  4667.  12h    WORD    field size
  4668.  14h    WORD    "flddec"
  4669.  16h    WORD    "explen"
  4670.  18h    DWORD    pointer to "expbuf"
  4671. ---function 09h---
  4672.  0Ch    WORD    count
  4673.  0Eh    DWORD    -> field list
  4674. ---function 0Ah---
  4675.  0Ch    WORD    "newexp"
  4676.  0Eh    WORD    "explen"
  4677.  10h    DWORD    -> "expbuf"
  4678. ---function 0Bh---
  4679.  0Ch    DWORD    -> filename
  4680.  10h    DWORD    -> owner name
  4681.  14h    WORD    type of join
  4682.  16h    WORD    "pCount"
  4683.  18h    DWORD    -> "pNames"
  4684.  1Ch    WORD    "sCount"
  4685.  1Eh    DWORD    -> "sNames"
  4686. ---functions 0Ch, 0Dh, 0Fh---
  4687.  0Ch    WORD    file count
  4688.  0Eh    DWORD    -> file list
  4689.  12h    DWORD    count
  4690.  16h    DWORD    -> buffer
  4691. ---function 0Eh---
  4692.  0Ch    WORD    file count
  4693.  0Eh    DWORD    -> file list
  4694.  12h    WORD    "op"
  4695.  14h    DWORD    "select"
  4696.  18h    DWORD    "reject"
  4697.  1Ch    WORD    count
  4698.  1Eh    DWORD    -> "res"
  4699.  22h    DWORD    -> "comp"
  4700. ---function 10h---
  4701.  0Ch    WORD    file count
  4702.  0Eh    DWORD    -> file list
  4703.  12h    WORD    "op"
  4704.  14h    DWORD    "select"
  4705.  18h    DWORD    "reject"
  4706. ---function 11h---
  4707.  0Ch    DWORD    machine name
  4708. ---function 12h---
  4709.  0Ch    WORD    option
  4710. ---function 13h---
  4711.  0Ch    WORD    subfunction
  4712.  0Eh    WORD    length of buffer
  4713.  10h    DWORD    -> buffer
  4714. ---function 14h---
  4715.  0Ch    WORD    subfunction
  4716.  0Eh    DWORD    -> filename
  4717.  12h    WORD    "create"
  4718.  14h    DWORD    -> pathname
  4719.  18h    DWORD    -> owner name
  4720.  1Ch    WORD    owner access restrictions
  4721.  1Eh    WORD    number of fields
  4722.  20h    DWORD    -> field list
  4723.  24h    WORD    number of keys
  4724.  28h    DWORD    -> key list
  4725.  2Ch    WORD    "buflen"
  4726.  2Eh    DWORD    -> create parameters
  4727. ---function 15h---
  4728.  0Ch    DWORD    -> "StoreName"
  4729.  10h    WORD    length of buffer
  4730.  12h    DWORD    -> buffer
  4731. ---function 16h---
  4732.  0Ch    DWORD    -> "RecallName"
  4733.  10h    WORD    owner number
  4734.  12h    DWORD    -> owner list
  4735.  16h    WORD    open mode
  4736.  18h    WORD    length of buffer
  4737.  1Ah    DWORD    -> buffer
  4738. ---function 17h---
  4739.  no additional fields???
  4740. ---function 18h---
  4741.  0Ch    WORD    "rtype"
  4742.  0Eh    WORD    count
  4743.  10h    DWORD    -> "filebuf"
  4744.  14h    WORD    length of following buffer
  4745.  16h    DWORD    -> output buffer
  4746. ---functions 19h, 1Ah---
  4747.  0Ch    WORD    "rtype"
  4748.  0Eh    WORD    count
  4749.  10h    DWORD    -> field buffer
  4750.  14h    WORD    length of following buffer
  4751.  16h    DWORD    -> output buffer
  4752. ---function 1Bh---
  4753.  0Ch    WORD    subfunction
  4754.  0Eh    DWORD    -> filename
  4755.  12h    WORD    "create"
  4756.  14h    DWORD    -> pathname
  4757.  18h    DWORD    -> owner name
  4758.  1Ch    WORD    owner access restrictions
  4759.  1Eh    WORD    field count
  4760.  20h    DWORD    -> field list
  4761.  24h    WORD    number of keys
  4762.  26h    DWORD    -> list of keys
  4763. ---function 1Ch---
  4764.  0Ch    WORD    count
  4765.  0Eh    DWORD    -> view name
  4766.  12h    WORD    length of following buffer
  4767.  14h    DWORD    -> output buffer
  4768. ---function 1Dh---
  4769.  0Ch    DWORD    -> filename
  4770.  10h    WORD    file type
  4771.  12h    WORD    "deletepath"
  4772. ---function 1Eh---
  4773.  0Ch    WORD    "dirtype"
  4774.  0Eh    DWORD    -> pathname
  4775. ---function 1Fh---
  4776.  0Ch    WORD    function
  4777.  0Eh    DWORD    -> field name
  4778.  12h    WORD    attribute
  4779.  14h    WORD    size of buffer
  4780.  16h    DWORD    -> buffer for attributes
  4781. ---function 20h---
  4782.  0Ch    DWORD    -> directory path
  4783.  10h    WORD    function
  4784. ---function 21h---
  4785.  0Ch    DWORD    -> master password
  4786.  10h    WORD    "securityflag"
  4787. ---function 22h---
  4788.  0Ch    DWORD    -> master password
  4789.  10h    WORD    function (add/modify/remove)
  4790.  12h    DWORD    -> user name
  4791.  16h    DWORD    -> password
  4792.  1Ah    WORD    global rights
  4793.  1Ch    WORD    count
  4794.  1Eh    WORD    length of following buffer
  4795.  20h    DWORD    -> "userbuf"
  4796. ---function 23h---
  4797.  0Ch    DWORD    -> master password
  4798.  10h    DWORD    -> user name
  4799.  14h    WORD    function (allow/deny/getrights)
  4800.  16h    WORD    rights
  4801.  18h    DWORD    -> filename
  4802.  1Ch    WORD    number of field names in following buffer
  4803.  1Eh    DWORD    -> field names
  4804.  22h    WORD    maximum buffer length
  4805.  24h    DWORD    -> output buffer
  4806. ---function 24h---
  4807.  0Ch    DWORD    -> user name
  4808.  10h    DWORD    -> password
  4809. ---function 25h---
  4810.  0Ch    WORD    "charFcn"
  4811.  0Eh    WORD    "charType"
  4812.  10h    WORD    "charValue"
  4813. ---function 26h---
  4814.  0Ch    DWORD    -> buffer
  4815. ---function 27h---
  4816.  0Ch    WORD    option
  4817.  0Eh    WORD    type
  4818.  10h    WORD    size
  4819.  12h    WORD    "dec"
  4820.  14h    WORD    "dsize"
  4821.  16h    DWORD    -> value
  4822.  1Ah    DWORD    -> "retval"
  4823.  1Eh    DWORD    -> mask
  4824.  22h    WORD    "justify"
  4825. ---function 28h---
  4826.  0Ch    DWORD    -> field name
  4827.  10h    WORD    length of buffer
  4828.  12h    DWORD    -> buffer for data
  4829. ---function 29h---
  4830.  0Ch    WORD    option
  4831.  0Eh    WORD    type
  4832.  10h    WORD    size
  4833.  12h    WORD    "dec"
  4834.  14h    WORD    length of mask
  4835.  16h    DWORD    -> mask
  4836. --------A-7B8001-----------------------------
  4837. INT 7B R - AutoCAD Device Interface - PRINTER/PLOTTER - BEGIN PLOT
  4838.     AX = 8001h
  4839.     BX = file level
  4840.         0000h binary file
  4841.         0001h CAD/camera image file
  4842.         0002h installed ADI driver
  4843.     CX = horizontal size in pixels
  4844.     DX = vertical size in pixels
  4845. Return: AX = status (0000h initialization failed, 0001h init successful)
  4846.     BX = allowed output format
  4847.         0000h monochrome
  4848.         0001h color (4 bits per pixel)
  4849. SeeAlso: AX=8002h,AX=8003h,INT 7B"AutoCAD",INT 7C"AutoShade"
  4850. --------A-7B8002-----------------------------
  4851. INT 7B R - AutoCAD Device Interface - PRINTER/PLOTTER - END PLOT
  4852.     AX = 8002h
  4853. SeeAlso: AX=8001h,AX=8003h
  4854. --------A-7B8003-----------------------------
  4855. INT 7B R - AutoCAD Device Interface - PRINTER/PLOTTER - ABORT PLOT
  4856.     AX = 8003h
  4857. SeeAlso: AX=8001h,AX=8002h
  4858. --------r-7C---------------------------------
  4859. INT 7C U - IBM REXX88PC command language
  4860.     ???
  4861. --------E-7C---------------------------------
  4862. INT 7C - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ4
  4863. Program: GO32.EXE is a DOS extender included as part of the 80386 port of the
  4864.       GNU C/C++ compiler by DJ Delorie and distributed as DJGPP
  4865. Notes:    this vector is overwritten when GO32 starts but is not restored by
  4866.       early versions of the extender
  4867.     the newest versions of GO32 dynamically allocate the vectors used
  4868.       for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
  4869. SeeAlso: INT 0C,INT 7B"GO32",INT 7D"GO32"
  4870. --------P-7C---------------------------------
  4871. INT 7C - PRINDIR v8.02+ - API
  4872.     AH = function
  4873.        00h set output to Invisible mode
  4874.        01h set output to LPT1
  4875.        02h set output to LPT2
  4876.        03h set output to LPT3
  4877.        04h set output to COM1
  4878.        05h set output to COM2
  4879.        06h set output to COM3
  4880.        07h set output to COM4
  4881.        08h set output to screen
  4882.        09h set output to file
  4883.        0Ah change file path
  4884.            ES:DI -> new path
  4885.            CX = length of path (max 41, but not range-checked)
  4886.        0Bh change file name
  4887.            ES:DI -> new filename
  4888.            CX = length of new name (max 41, but not range-checked)
  4889.        0Ch set redirected device
  4890.         (01h = LPT1 ... 03h = LPT3, 04h = COM1 ... 07h = COM4)
  4891.        0Dh force buffer dump
  4892.        0Eh set display color
  4893.            AL = new color attribute (see INT 10/AH=08h)
  4894.        0Fh set popup hotkey
  4895.            AL = hotkey scancode
  4896.        10h toggle byte display
  4897.            AL = new state (00h off, 01h on)
  4898.        11h change buffer flush delay
  4899.            AL = timer ticks before flush
  4900. Return: AX = status
  4901.         0000h successful
  4902.         0001h invalid function or nothing in buffer to be dumped
  4903.         (documented as "nonzero = error")
  4904. Program: PRINDIR is a shareware printer-redirection program by J.M. Allen
  4905.       Creations
  4906. Notes:    the installation check consists of testing for the ASCIZ signature
  4907.       "PRINDIR N.NN" (where N.NN is the version number) two bytes beyond
  4908.       the start of the interrupt handler
  4909.     prior versions of PRINDIR used INT 7A instead of INT 7C
  4910. SeeAlso: INT 7A"PRINDIR"
  4911. Index:    hotkeys;PRINDIR
  4912. --------A-7C---------------------------------
  4913. INT 7C - AutoShade v2 - RENDERING HARDCOPY DRIVER
  4914. Note:    this is the default interrupt vector for rendering hardcopy drivers
  4915.       instead of INT 7A used by AutoCAD drivers
  4916. SeeAlso: INT 7A/AX=0001h"AutoCAD"
  4917. --------N-7C---------------------------------
  4918. INT 7C - SK-UPPS/SK-PASSPORT Data Link Interface (DLI) API
  4919. Program: SK-UPPS is the Schneider & Koch Universal Portable Protocol Stack,
  4920.       which provides an API on top of it Data Link Interface, allowing the
  4921.       use of any of several network transport layers; this product is
  4922.       called SK-PASSPORT in the USA.
  4923. Notes:    The installation check consists of testing for the ASCII signature
  4924.       string "UPPS_DLI" immediately preceding the interrupt handler.
  4925.     To find the service interrupt being used by the driver, an application
  4926.       should scan through the interrupt table until it finds an interrupt
  4927.       vector with the "UPPS_DLI" string.
  4928.     There may be more than one DLI loaded, each having its own service
  4929.       interrupt.
  4930. SeeAlso: AX=0000h,AX=0002h,AX=000Fh
  4931. Index:    installation check;SK-UPPS
  4932. --------N-7C0000-----------------------------
  4933. INT 7C - SK-UPPS Data Link Interface API - GET DRIVER VERSION
  4934.     AX = 0000h
  4935. Return: AH = major DLI version
  4936.     AL = minor DLI version
  4937.     DX = OEM signature (see #2249)
  4938.     CL = DLI 2.8+ topology: 1=Ethernet, 2=FDDI, 3=Token-Ring
  4939. SeeAlso: AX=0002h,AX=000Bh,AX=000Dh,AX=000Eh
  4940.  
  4941. (Table 2249)
  4942. Values for SK-UPPS Data Link Interface OEM signature (defined by SK):
  4943.  0001h        experimental
  4944.  3343h    ('3C')    3COM
  4945.  4942h    ('IB')    IBM
  4946.  4943h    ('IC')    Intellicom
  4947.  494Eh    ('IN')    Intel
  4948.  4B4Fh    ('KO')    Kodiak
  4949.  4D41h    ('MA')    Madge
  4950.  4E45h    ('NE')    Novell
  4951.  4F43h    ('OC')    Olicom
  4952.  5349h    ('SI')    Siemens
  4953.  534Bh    ('SK')    Schneider & Koch (SysKonnect)
  4954.  5744h    ('WD')    Western Digital
  4955. --------N-7C0001-----------------------------
  4956. INT 7C - SK-UPPS Data Link Interface API - DOWN DRIVER
  4957.     AX = 0001h
  4958. Return: AX = completion code (see #2250)
  4959. Note:    the DLI will refuse to unload if there are any protocols
  4960.       (see AX=0007h) or clients (see AX=0010h) active.
  4961. Index:    uninstall;SK-UPPS Data Link Interface
  4962.  
  4963. (Table 2250)
  4964. Values for SK-UPPS completion code:
  4965.  0000h    SUCCESS
  4966.  0005h    INVALID_MULTICAST
  4967.  0006h    BUFFER_TOO_SMALL
  4968.  0007h    NO_BUFFERS_LEFT
  4969.  0008h    NO_RESOURCES_LEFT
  4970.  000Bh    ILLEGAL_PROTOCOL_ID
  4971.  000Ch    PROTOCOL_IN_USE
  4972.  000Dh    NO_MULTICAST_ADDRESS
  4973.  000Fh    PROTOCOLS_ACTIVE
  4974.  0010h    CLIENTS_ACTIVE
  4975.  001Bh    INVALID_MODE
  4976.  001Ch    MODE_NOT_SUPPORTED
  4977.  FFFFh    UNKNOWN_SERVICE
  4978. --------N-7C0002-----------------------------
  4979. INT 7C - SK-UPPS Data Link Interface API - GET DRIVER STATUS
  4980.     AX = 0002h
  4981.     ES:DI -> Status Information Block (SIB) (see #2262)
  4982. Return: AX = completion code (see #2250)
  4983. Note:    GET DRIVER INFO (AX=000Eh) should be used instead.
  4984. SeeAlso: AX=0000h,AX=000Bh,AX=000Dh,AX=000Eh
  4985. --------N-7C0003-----------------------------
  4986. INT 7C - SK-UPPS Data Link Interface API - CHANGE DRIVER ADDRESS
  4987.     AX = 0003h
  4988.     ES:DI -> new node address (6 bytes)
  4989. Return: AX = completion code (see #2250)
  4990. Note:    the DLI will refuse to change the address if any protocols
  4991.       (see AX=0007h) are active
  4992. SeeAlso: AX=0001h,AX=000Eh
  4993. --------N-7C0004-----------------------------
  4994. INT 7C - SK-UPPS Data Link Interface API - REQUEST BUFFER
  4995.     AX = 0004h
  4996.     DX = protocol ID (see AX=0007h,#2253)
  4997. Return: AX = completion code (see also #2250)
  4998.         0000h successful
  4999.         ES:BX -> Memory Buffer (Mbuf) (see #2251)
  5000. Note:    if the DLI has no free Mbufs, it will set an internal flag for the
  5001.       protocol and later call the protocol's Event Upcall with
  5002.       EV_BUFFER_AVAILABLE (see #2257,#2258) as soon as an Mbuf becomes
  5003.       available.  There will only be one "buffer available" Upcall, even
  5004.       if this function has been called several times before.
  5005. SeeAlso: AX=0005h,AX=0006h,AX=0012h,AX=0013h
  5006.  
  5007. Format of SK-UPPS Memory Buffer (Mbuf):
  5008. Offset    Size    Description    (Table 2251)
  5009.  00h    DWORD    -> NEXT Mbuf (linked list)
  5010.  04h    WORD    OFFSET of actual data within DATA area
  5011.  06h  2 BYTEs    reserved (currently unused)
  5012.  08h    WORD    LENGTH of actual data found in DATA area starting at OFFSET
  5013.  0Ah  2 BYTEs    reserved (currently unused)
  5014.  0Ch    DWORD    -> DATA area (size can be obtained via AX=000Eh call)
  5015.  10h    WORD    PROTOCOL ID of protocol currently "owning" the Mbuf
  5016.  12h    BYTE    IN USE flag; nonzero if Mbuf still in use by DLI (see AX=0006h)
  5017.  13h    BYTE    RECEIVE STATUS (bit 0-7 only; see AX=0007h - Receive Upcall)
  5018. --------N-7C0005-----------------------------
  5019. INT 7C - SK-UPPS Data Link Interface API - RELEASE BUFFER
  5020.     AX = 0005h
  5021.     ES:BX -> Mbuf (see #2251)
  5022. Return: nothing
  5023. SeeAlso: AX=0004h
  5024. --------N-7C0006-----------------------------
  5025. INT 7C - SK-UPPS Data Link Interface API - TRANSMIT FRAME
  5026.     AX = 0006h
  5027.     ES:BX -> Mbuf (see #2251)
  5028. Return: nothing
  5029. Notes:    The DLI will send LENGTH bytes found in the Mbuf's DATA area starting
  5030.       at OFFSET. A complete and valid frame must be stored there. The DLI
  5031.       will only copy the current node address (see AX=0003h) to the
  5032.       source node field of the frame's MAC header.
  5033.     On Ethernet, the DLI will always send a minimum of 60 bytes, regardless
  5034.       of the value found in the LENGTH field.
  5035.     This function returns immediately; the DLI will call the protocol's
  5036.       Transmit Upcall (see #2252) when the frame has been sent.
  5037.     The Mbuf's IN USE field will be non-zero until the DLI calls the
  5038.       Transmit Upcall.
  5039. SeeAlso: AX=0002h,AX=0004h,AX=0013h
  5040.  
  5041. (Table 2252)
  5042. Values SK-UPPS Transmit Upcall is called with:
  5043.     ES:BX -> Mbuf (NEXT field destroyed)
  5044.     interrupts disabled
  5045. Note:    On FDDI the bytes of the source and destination node fields in the MAC
  5046.       header have been bit-swapped to physical address format.
  5047. --------N-7C0007-----------------------------
  5048. INT 7C - SK-UPPS Data Link Interface API - REGISTER PROTOCOL
  5049.     AX = 0007h
  5050.     ES:BX -> Protocol Control Block (see #2253)
  5051. Return: AX = completion code (see #2250)
  5052. Program: SK-UPPS is the Schneider & Koch Universal Portable Protocol Stack,
  5053.       which provides an API on top of its Data Link Interface, allowing the
  5054.       use of any of several network transport layers
  5055. SeeAlso: AX=0008h,AX=000Bh
  5056.  
  5057. Format of SK-UPPS Protocol Control Block (PCB):
  5058. Offset    Size    Description    (Table 2253)
  5059.  00h    WORD    (big-endian) protocol type
  5060.  02h    WORD    protocol mode (see #2254)
  5061.  04h    DWORD    -> Receive Upcall routine
  5062.  08h    DWORD    -> Transmit Upcall routine
  5063.  0Ch    DWORD    -> Event Upcall routine
  5064.  10h    DWORD    -> ASCIZ protocol name (zero if none)
  5065.  14h    WORD    protocol ID will be returned here (always non-zero)
  5066.  
  5067. Bitfields for SK-UPPS protocol mode:
  5068. Bit(s)    Description    (Table 2254)
  5069.  0    promiscuous mode; protocol receives all frames regardless of their
  5070.       destination (PROTOCOL TYPE must be FFFFh)
  5071.  1    if set, protocol's Event Upcall will be called on entry and exit of the
  5072.       DLI's Interrupt Service Routine (see event codes below)
  5073.  2    DLI 2.2+ hook mode; protocol receives all directed frames destined for
  5074.       this station (PROTOCOL TYPE must be FFFFh)
  5075.  3    DLI 2.3+ receive error frames (only valid in promiscuous mode (0))
  5076.  4-5    DLI 2.5+ frame type:
  5077.     00 Ethernet II; specify type code in PROTOCOL TYPE field (high-low)
  5078.     01 IEEE 802.2; specify Service Access Point (SAP) in MSB
  5079.           (offset 0) of PROCOTOL TYPE field; LSB must be zero
  5080.     10 IEEE 802.2 with SNAP header; specify type code in PROTOCOL TYPE
  5081.           field (high-low)
  5082.     11 reserved (currently unused)
  5083.  6    DLI 2.5+ if set, protocol's Event Upcall will be called with event code
  5084.       EV_BUFFER_WANTED, when DLI runs out of Mbufs
  5085.  7    DLI 2.7+ chain mode; if set, client allows the specified frame type to
  5086.       be shared with other clients
  5087.  8    DLI 2.8+ receive non-LLC frames rather than LLC frames
  5088.  9    DLI 2.8+ receive all multicast frames (see also AX=0009h)
  5089.  10-15    reserved (currently unused; must be zero)
  5090. Notes:    If PROTOCOL TYPE is FFFFh and neither the "promiscuous" nor the "hook"
  5091.       mode is set, the protocol receives all frames that did not match
  5092.       any registered frame type (demultiplexor mode).
  5093.     Protocols using "promiscuous", "hook" or "chain" mode should always
  5094.       return from the Receive Upcall with the received Mbuf in ES:BX and
  5095.       the Carry Flag set. The DLI will then pass the Mbuf to the FEED BACK
  5096.       BUFFER function (see AX=000Fh).
  5097.     Some DLIs do not support all or even any of the "promiscuous",
  5098.       "receive non-LLC" and "receive all multicasts" mode bits.
  5099.  
  5100. (Table 2255)
  5101. Values SK-UPPS Receive Upcall is called with:
  5102.  ES:BX -> Mbuf
  5103.  AX = receive status (see #2256) (also stored in Mbuf's RECEIVE STATUS field)
  5104.  interrupts disabled
  5105.  
  5106. Bitfields for SK-UPPS receive status:
  5107. Bit(s)    Description    (Table 2256)
  5108.  0-2    reserved (0), currently unused
  5109.  3    frame check sequence (FCS) error
  5110.  4    overflow (frame too long)
  5111.  5    framing error
  5112.  6    reserved (0), currently unused
  5113.  7    non-LLC frame (see 8 of PCB's protocol mode field)
  5114.  8-15    reserved (0), currently unused
  5115. Notes:    The protocol's Receive Upcall routine will be called whenever a frame
  5116.       matching the specified frame type is received. A received frame is
  5117.       passed to the protocol in the Mbuf's DATA area at OFFSET and its size
  5118.       is LENGTH bytes.
  5119.     The receive status passed to the Receive Upcall in register AL is
  5120.       always zero, except for protocols using "non-LLC" mode (8 of PCB's
  5121.       protocol mode field) or "promiscuous" mode together with "receive
  5122.       error frames" (0 & 3).
  5123.     Upcalls are FAR routines and must return with a RET FAR. If the Carry
  5124.       Flag is set on return from a Receive or Transmit Upcall, then ES:BX
  5125.       must point to an Mbuf, which the DLI will then pass to the RELEASE
  5126.       BUFFER function (see AX=0005h). See also notes for PROTOCOL MODE.
  5127.  
  5128. (Table 2257)
  5129. Values SK-UPPS Event Upcall is called with:
  5130.  AX = event code (see #2258)
  5131. Note:    All Event Upcalls may be ignored by the protocol.
  5132.  
  5133. (Table 2258)
  5134. Values for SK-UPPS Event Upcall event code:
  5135.  00h    EV_BUFFER_AVAILABLE client may now call REQUEST BUFFER (AX=0004h)
  5136.  01h    EV_ISR_START        start of Interrupt Service Routine
  5137.  02h    EV_ISR_END        end of ISR (see bit 1 in PCB's protocol mode field)
  5138.  03h    EV_BUFFER_WANTED    DLI temporarily out of Mbufs
  5139.  04h    EV_NETWORK_STATUS   DLI 2.8+ network status (DX=status; see below)
  5140.  05h    EV_IO_CONTROL        DLI 2.8+ I/O control (DX=subfunction; see AX=0016h)
  5141.  
  5142. Bitfields for EV_NETWORK_STATUS in register DX:
  5143. Bit(s)    Description    (Table 2259)
  5144.     Token-Ring        FDDI
  5145.  15    SIGNAL_LOSS        SIGNAL_LOSS
  5146.  14    HARD_ERROR        HARD_ERROR
  5147.  13    SOFT_ERROR        SOFT_ERROR
  5148.  12    TRANSMIT_BEACON        TRANSMIT_BEACON
  5149.  11    LOBE_WIRE_FAULT        PATH_TEST_FAILED
  5150.  10    AUTO_REMOVAL        SELF_TEST_REQUIRED
  5151.  9    reserved        reserved
  5152.  8    REMOVE_RECEIVED        REMOTE_DISCONNECT
  5153.  7    COUNTER_OVERFLOW    reserved
  5154.  6    SINGLE_STATION        DUPLICATE_ADDRESS
  5155.  5    RING_RECOVERY        NO_RING_OP_STATUS
  5156.  4    reserved        VERSION_MISMATCH
  5157.  3    reserved        STUCK_BYPASS
  5158.  2    reserved        FDDI_EVENT
  5159.  1    reserved        RING_OP_CHANGE
  5160.  0    reserved        reserved
  5161. Note:    EV_NETWORK_STATUS is not supported on Ethernet
  5162. --------N-7C0008-----------------------------
  5163. INT 7C - SK-UPPS Data Link Interface API - DISABLE PROTOCOL
  5164.     AX = 0008h
  5165.     BX = protocol ID (see #2253)
  5166. Return: AX = completion code (see #2250)
  5167. Note:    the DLI will handle any Mbufs given to TRANSMIT FRAME (AX=0006h) as if
  5168.       they had been given to TRANSMIT FRAME RELEASE (AX=0013h).
  5169.     all multicast addresses registered for this protocol will be disabled.
  5170.     after this function returns, the protocol's Upcall routines will no
  5171.       longer be called.
  5172. SeeAlso: AX=0007h,AX=000Bh
  5173. --------N-7C0009-----------------------------
  5174. INT 7C - SK-UPPS Data Link Interface API - REGISTER MULTICAST
  5175.     AX = 0009h
  5176.     BX = protocol ID (see #2253)
  5177.     ES:DI -> multicast address (6 bytes)
  5178. Return: AX = completion code (see #2250)
  5179. Notes:    The broadcast address is always enabled.
  5180.     Set bit 9 of PCB's protocol mode field in REGISTER PROTOCOL call
  5181.       (AX=0007h) to receive all multicast frames.
  5182. SeeAlso: AX=000Ah,AX=0014h
  5183. --------N-7C000A-----------------------------
  5184. INT 7C - SK-UPPS Data Link Interface API - DISABLE MULTICAST
  5185.     AX = 000Ah
  5186.     BX = protocol ID (see #2253)
  5187.     ES:DI -> multicast address (6 bytes)
  5188. Return: AX = completion code (see #2250)
  5189. SeeAlso: AX=0009h,AX=0014h
  5190. --------N-7C000B-----------------------------
  5191. INT 7C - SK-UPPS Data Link Interface API - GET PROTOCOL LIST
  5192.     AX = 000Bh
  5193.     ES:DI -> protocol ID buffer
  5194.     CX = number of 2-byte protocol IDs that may be stored in buffer
  5195. Return: AX = completion code (see #2250)
  5196.     CX = number of active protocols (regardless of value returned in AX)
  5197.     protocol ID buffer filled with active protocol IDs
  5198. Program: SK-UPPS is the Schneider & Koch Universal Portable Protocol Stack,
  5199.       which provides an API on top of its Data Link Interface, allowing the
  5200.       use of any of several network transport layers
  5201. Note:    If the buffer supplied is too small, CX still contains the total number
  5202.       of active protocols and the buffer has been filled until full.
  5203. SeeAlso: AX=000Ch,AX=0014h
  5204. --------N-7C000C-----------------------------
  5205. INT 7C - SK-UPPS Data Link Interface API - GET PROTOCOL STATUS
  5206.     AX = 000Ch
  5207.     BX = protocol ID (see #2253,AX=000Bh)
  5208.     ES:DI -> Protocol Status Block (see #2260)
  5209. Return: AX = completion code (see #2250)
  5210. SeeAlso: AX=000Bh,AX=0014h
  5211.  
  5212. Format of SK-UPPS Protocol Status Block (PSB):
  5213. Offset    Size    Description    (Table 2260)
  5214.  00h    DWORD    -> ASCIZ protocol name
  5215.  04h    WORD    protocol mode (see #2254)
  5216.  06h    WORD    protocol type (see AX=0007h)
  5217.  08h    WORD    number of registered multicasts (see AX=0009h,AX=0014h)
  5218. --------N-7C000D-----------------------------
  5219. INT 7C - SK-UPPS Data Link Interface API - GET DRIVER STATISTICS
  5220.     AX = 000Dh
  5221.     BX = flag: 0=don't clear statistics, 1=clear statistics
  5222.     ES:DI -> Statistics Data Block (see #2261)
  5223. Return: AX = completion code (see #2250)
  5224. SeeAlso: AX=0002h,AX=0015h
  5225.  
  5226. Format of SK-UPPS Statistics Data Block (SDB):
  5227. Offset    Size    Description    (Table 2261)
  5228.  00h    DWORD    node uptime in ticks (1/18.21 sec.)
  5229.  04h    DWORD    bytes received
  5230.  08h    DWORD    bytes transmitted
  5231.  0Ch    DWORD    frames received
  5232.  10h    DWORD    frames transmitted
  5233.  14h    DWORD    multicast bytes received
  5234.  18h    DWORD    multicast frames received
  5235.  1Ch    DWORD    unrecognized frames
  5236.  20h    WORD    missed frames
  5237.  22h    WORD    frame check sequence (FCS) errors
  5238.  24h    WORD    framing errors
  5239.  26h    WORD    babbling errors
  5240.  28h    WORD    late collision errors
  5241.  2Ah    WORD    loss of carrier errors
  5242.  2Ch    WORD    16 retries failed errors
  5243.  2Eh    WORD    overflow errors
  5244. Note:    fields 26h through 2Ch are always zero, except in some very old
  5245.       versions of the DLI.    Use GET MEDIA STATISTICS (AX=0015h) to get
  5246.       more detailed information.
  5247. --------N-7C000E-----------------------------
  5248. INT 7C - SK-UPPS Data Link Interface API - DLI 2.5+ - GET DRIVER INFO
  5249.     AX = 000Eh
  5250.     ES:DI -> Driver Information Block (see #2262)
  5251.     BX = offset of 1st field within DIB to be returned
  5252.     CX = number of bytes to be returned
  5253. Return: AX = completion code (see #2250)
  5254.     CX = number of bytes copied (regardless of value returned in AX)
  5255. Program: SK-UPPS is the Schneider & Koch Universal Portable Protocol Stack,
  5256.       which provides an API on top of its Data Link Interface, allowing the
  5257.       use of any of several network transport layers
  5258. SeeAlso: AX=0000h,AX=0002h,AX=000Bh,AX=000Dh,AX=0015h
  5259.  
  5260. Format of SK-UPPS Driver Information Block (DIB):
  5261. Offset    Size    Description    (Table 2262)
  5262.  00h  6 BYTEs    physical node address (from adapter's ROM)
  5263.  06h  6 BYTEs    current node address (see AX=0003h)
  5264.  0Ch    BYTE    adapter id (defined by OEM)
  5265.  0Dh    BYTE    IRQ line (FFh if none)
  5266.  0Eh    DWORD    -> shared memory (zero if none)
  5267.  12h    DWORD    size of shared memory (zero if none)
  5268.  16h    WORD    base I/O port (zero if none)
  5269.  18h    BYTE    DMA line (FFh if none)
  5270.  19h    BYTE    DLI 2.4+ topology (see AX=0000h)
  5271.  1Ah    WORD    size of an Mbuf's DATA area (see #2251)
  5272.  1Ch  2 BYTEs    reserved (currently unused)
  5273.  1Eh    WORD    total number of Mbufs the DLI has
  5274.  20h    WORD    maximum number of Mbufs that can be allocated via REQUEST
  5275.           BUFFER (AX=0004h) and SYNC REQUEST BUFFER (AX=0012h)
  5276.  ---- end of Status Information Block returned by GET DRIVER STATUS (AX=0002h)
  5277.  22h    DWORD    -> ASCIZ adapter name
  5278.  26h    WORD    number of I/O ports used (zero if none)
  5279.  28h    DWORD    line speed in bits/sec.
  5280. --------N-7C000F-----------------------------
  5281. INT 7C - SK-UPPS Data Link Interface API - FEED BACK BUFFER
  5282.     AX = 000Fh
  5283.     ES:BX -> Mbuf (see #2251)
  5284. Return: nothing
  5285. Notes:    A protocol may call this function instead of returning the Mbuf
  5286.       directly from the Receive Upcall if it is running in "promiscuous",
  5287.       "hook" or "chain" mode.
  5288. SeeAlso: AX=0007h
  5289. --------N-7C0010-----------------------------
  5290. INT 7C - SK-UPPS Data Link Interface API - CLIENT HOOK
  5291.     AX = 0010h
  5292. Return: nothing
  5293. Notes:    An application having no active protocols may call this function to
  5294.       prevent the DLI from unloading.
  5295. SeeAlso: AX=0001h,AX=0011h
  5296. --------N-7C0011-----------------------------
  5297. INT 7C - SK-UPPS Data Link Interface API - CLIENT UNHOOK
  5298.     AX = 0011h
  5299. Return: nothing
  5300. Program: SK-UPPS is the Schneider & Koch Universal Portable Protocol Stack,
  5301.       which provides an API on top of its Data Link Interface, allowing the
  5302.       use of any of several network transport layers
  5303. SeeAlso: AX=0010h
  5304. --------N-7C0012-----------------------------
  5305. INT 7C - SK-UPPS Data Link Interface API - SYNC REQUEST BUFFER
  5306.     AX = 0012h
  5307.     DX = protocol ID (see #2253)
  5308. Return: AX = completion code (see #2250)
  5309.     if AX=0000h: ES:BX -> Mbuf (see #2251)
  5310. Note:    If the protocol wants to be informed when an Mbuf becomes available,
  5311.       REQUEST BUFFER (AX=0004h) should be used instead.
  5312. SeeAlso: AX=0004h,AX=0005h,AX=0006h,AX=0013h
  5313. --------N-7C0013-----------------------------
  5314. INT 7C - SK-UPPS Data Link Interface API - TRANSMIT FRAME RELEASE
  5315.     AX = 0013h
  5316.     ES:BX -> Mbuf (see #2251)
  5317. Return: nothing
  5318. Notes:    Returns immediately; The protocol's Transmit Upcall will NOT be called.
  5319.     The Mbuf may no more be used by the protocol in any way (i.e. the
  5320.       Mbuf's IN USE field may not be polled).
  5321. SeeAlso: AX=0004h,AX=0013h
  5322. --------N-7C0014-----------------------------
  5323. INT 7C - SK-UPPS Data Link Interface API - GET MULTICAST LIST
  5324.     AX = 0014h
  5325.     BX = protocol ID (see #2253,AX=000Bh)
  5326.     ES:DI -> multicast address buffer
  5327.     CX = number of 6-byte multicast addresses that may be stored in buffer
  5328. Return: AX = completion code (see #2250)
  5329.     CX = number of registered multicast addresses for this protocol
  5330.       (regardless of value returned in AX)
  5331.     multicast address buffer filled with multicast addresses registered for
  5332.       this protocol
  5333. Note:    If the buffer supplied is too small, CX still contains the total number
  5334.       of registered multicast addresses for this protocol and the buffer
  5335.       has been completely filled
  5336. SeeAlso: AX=000Bh,AX=0009h,AX=000Ch
  5337. --------N-7C0015-----------------------------
  5338. INT 7C - SK-UPPS Data Link Interface API - DLI 2.6+ - GET MEDIA STATISTICS
  5339.     AX = 0015h
  5340.     ES:DI -> media-specific statistics buffer (see #2263,#2264,#2265)
  5341.     BX = offset of 1st field within MSS to be returned
  5342.     CX = number of bytes to be returned
  5343. Return: AX = completion code (see #2250)
  5344.     CX = number of bytes copied (regardless of value returned in AX)
  5345. Note:    not supported by all DLIs (will return AX=FFFFh if not supported).
  5346. SeeAlso: AX=0000h,AX=000Dh
  5347.  
  5348. Format of SK-UPPS media-specific statistics for Ethernet:
  5349. Offset    Size    Description    (Table 2263)
  5350.  00h    DWORD    alignment errors
  5351.  04h    DWORD    frame check sequence (FCS) errors
  5352.  08h    DWORD    single collision frames
  5353.  0Ch    DWORD    multiple collision frames
  5354.  10h    DWORD    signal quality error (SQE) test errors
  5355.  14h    DWORD    deferred transmissions
  5356.  18h    DWORD    late collisions
  5357.  1Ch    DWORD    excessive collisions
  5358.  20h    DWORD    internal MAC transmit errors
  5359.  24h    DWORD    carrier sense errors
  5360.  28h    DWORD    excessive deferrals
  5361.  2Ch    DWORD    frame too longs
  5362.  30h    DWORD    in range length errors
  5363.  34h    DWORD    out of range length fields
  5364.  38h    DWORD    internal MAC receive errors
  5365.  
  5366. Format of SK-UPPS media-specific statistics for FDDI:
  5367. Offset    Size    Description    (Table 2264)
  5368.  00h    DWORD    SMT operating version id (refer to ANSI 7.1.2.2)
  5369.  04h    DWORD    SMT CF state: 1=Isolated, 2= Wrap_S, 3=Wrap_A, 4=Wrap_B,
  5370.           5=Wrap_AB, 6=Thru (refer to ANSI SMT 9.7.4.3)
  5371.  08h    DWORD    SMT frames sent
  5372.  0Ch    DWORD    SMT frames received
  5373.  10h    DWORD    SMT ring up count
  5374.  14h  6 BYTEs    MAC upstream neighbour
  5375.  1Ah  6 BYTEs    MAC downstream neighbour
  5376.  20h    DWORD    MAC frame counter (refer to ANSI MAC 2.2.1)
  5377.  24h    DWORD    MAC error counter ( " )
  5378.  28h    DWORD    MAC lost counter ( " )
  5379.  2Ch    BYTE    port 1 link error estimate (ranges from 10**-4 to 10**-15 and
  5380.           is reported as the absolute value of the exponent)
  5381.  2Dh    BYTE    port 2 link error estimate ( " )
  5382.  2Eh  2 BYTEs    reserved (currently unused)
  5383.  30h    DWORD    attachment class: 1=single-attachment (S PORT),
  5384.           2=dual-attachment (A/B PORT pairs), 3=concentrator (M PORTs)
  5385.  34h    DWORD    attachment optical bypass present: 1=true, 2=false
  5386.  
  5387. Format of SK-UPPS media-specific statistics for Token-Ring:
  5388. Offset    Size    Description    (Table 2265)
  5389.  00h  6 BYTEs    upstream neighbour
  5390.  06h    WORD    local ring number
  5391.  08h    DWORD    ring up count
  5392.  0Ch    DWORD    signal loss errors
  5393.  10h    DWORD    lobe wire faults
  5394.  14h    DWORD    ring recovery count
  5395.  18h    DWORD    line errors
  5396.  1Ch    DWORD    burst errors
  5397.  20h    DWORD    ARI/FCI errors
  5398.  24h    DWORD    lost frame errors
  5399.  28h    DWORD    receive congestion errors
  5400.  2Ch    DWORD    frame copied errors
  5401.  30h    DWORD    token errors
  5402.  34h    DWORD    DMA bus errors
  5403.  38h    DWORD    DMA parity errors
  5404.  3Ch    DWORD    receive overflow errors
  5405. --------N-7C0016-----------------------------
  5406. INT 7C - SK-UPPS Data Link Interface API - DLI 2.8+ - DRIVER I/O CONTROL
  5407.     AX = 0016h
  5408.     DX = subfunction; bits 14-15 specify direction of I/O:
  5409.         00 no data at all (ES:BX undefined)
  5410.         01 driver -> application (GET)
  5411.         10 application -> driver (SET)
  5412.         11 both directions (GET/SET)
  5413.     ES:BX -> I/O buffer (optional)
  5414.     CX = size of buffer (if ES:BX valid)
  5415. Return: AX = completion code; defined by OEM
  5416. Program: SK-UPPS is the Schneider & Koch Universal Portable Protocol Stack,
  5417.       which provides an API on top of its Data Link Interface, allowing the
  5418.       use of any of several network transport layers
  5419. Notes:    not supported by all DLIs (will return AX=FFFFh if not supported)
  5420.     subfunction codes are defined by OEMs
  5421. SeeAlso: AX=0001h
  5422. --------N-7C0017-----------------------------
  5423. INT 7C - SK-UPPS Data Link Interface API - DLI 2.8+ - INTERRUPT REQUEST
  5424.     AX = 0017h
  5425. Return: AX = completion code (see #2250)
  5426. Notes:    not supported by all DLIs (will return AX=FFFFh, if not supported).
  5427.     must be called with interrupts disabled; when the client re-enables
  5428.       interrupts, an interrupt will be generated and reported to the client
  5429.       through an Event Upcall (see AX=0007h [EV_ISR_START/EV_ISR_END])
  5430. SeeAlso: AX=0007h
  5431. --------t-7D---------------------------------
  5432. INT 7D O - [obsoleted proposal] - ALTERNATE MULTIPLEX INTERRUPT
  5433. Note:    this interface has been moved to INT 2D; there are no known
  5434.       implementations on INT 7D
  5435. SeeAlso: INT 2D,INT 2F
  5436. --------S-7D---------------------------------
  5437. INT 7D U - YTERM 1.4 - CLOCK SUPPORT
  5438. SeeAlso: INT 7E"YTERM"
  5439. --------E-7D---------------------------------
  5440. INT 7D - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ5
  5441. Notes:    this vector is overwritten when GO32 starts but is not restored by
  5442.       early versions of the extender
  5443.     the newest versions of GO32 dynamically allocate the vectors used
  5444.       for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
  5445. SeeAlso: INT 0D,INT 7C"GO32",INT 7E"GO32"
  5446. --------U-7D---------------------------------
  5447. INT 7D - HyperPAD v2.2 - API ACCESS
  5448. Note:    this vector is hooked but immediately passed on (without checking
  5449.       whether the previous handler was 0000h:0000h).  The sole purpose of
  5450.       this vector is to provide the address of the data area described
  5451.       below.
  5452.  
  5453. Format of HyperPAD data area:
  5454. Offset    Size    Description    (Table 2266)
  5455.  -16h    DWORD    pointer to ??? FAR function
  5456.  -12h    DWORD    pointer to callback setting function
  5457.         [C calling conventions, (*callback)(int (_loadds far *)()) ]
  5458.  -0Eh 6 BYTEs    signature "BRC001"
  5459.  -08h    DWORD    pointer to previous INT 7D handler
  5460.  -04h    DWORD    pointer to ??? data
  5461.  00h        HyperPAD INT 7D handler
  5462. ----------7D---------------------------------
  5463. INT 7D - IBM DOS 6.1 E.EXE - ???
  5464. Note:    E.EXE checks whether this interrupt is in use (not 0000h:0000h),
  5465.       and if it is used, attempts to load E55VGA.EX instead of the 
  5466.       default E.EX overlay.     However, E55VGA.EX is not included in
  5467.       IBM DOS 6.1.
  5468. ----------7D00-------------------------------
  5469. INT 7D - SCSILink - RESET SCSI BUS
  5470.     AH = 00h
  5471. Program: SCSILink is a TSR by Cross Products Ltd which allows its PC-hosted
  5472.       cross assemblers and similar products to communicate with Cross
  5473.       Products hardware debuggers
  5474. Desc:    reset all devices on the SCSI bus
  5475. Note:    the installation check is the signature "SCSILINK" immediately prior
  5476.       to the interrupt handler
  5477. Index:    installation check;SCSILink
  5478. ----------7D01-------------------------------
  5479. INT 7D - SCSILink - CONNECT TO TARGET
  5480.     AH = 01h
  5481.     AL = target ID
  5482. Return: CF clear if successful
  5483.     CF set on error
  5484.         AL = initiator error
  5485.         AH = target error
  5486. Desc:    arbitrate the use of the bus and select the specified target device
  5487. ----------7D02-------------------------------
  5488. INT 7D - SCSILink - SEND COMMAND
  5489.     AH = 02h
  5490.     ES:BX -> parameter block (see #2267)
  5491. Return: CF clear if successful
  5492.     CF set on error
  5493.         AL = initiator error
  5494.         AH = target error
  5495. Desc:    send the specified command block to the target device and perform any
  5496.       related I/O
  5497.  
  5498. Format of SCSILink parameter block:
  5499. Offset    Size    Description    (Table 2267)
  5500.  00h    DWORD    size of command block
  5501.  04h    DWORD    address of command block (see #2268)
  5502.  08h    DWORD    size of buffer
  5503.  0Ch    DWORD    address of buffer
  5504.  
  5505. Format of SCSILink command block:
  5506. Offset    Size    Description    (Table 2268)
  5507.  00h        info not yet available
  5508. ----------7D03-------------------------------
  5509. INT 7D - SCSILink - SET TIMEOUT
  5510.     AH = 03h
  5511.     AL = timeout selector (see #2269)
  5512.     BX = new value in 55ms ticks
  5513. Desc:    change an internal timeout value to allow communication with very
  5514.       slow targets
  5515.  
  5516. (Table 2269)
  5517. Values for SCSILink timeout selector:
  5518.  00h    time to wait for bus (default 18)
  5519.  01h    time to wait for new phase (default 5)
  5520.  02h    maximum time to send/receive block (default 18)
  5521.  03h    time to wait for reselect (default 180)
  5522. ----------7D04-------------------------------
  5523. INT 7D - SCSILink - GET ERROR STRING
  5524.     AH = 04h
  5525.     AL = error number
  5526. Return: ES:BX -> ASCIZ error string for error number
  5527. ----------7D05-------------------------------
  5528. INT 7D - SCSILink - GET ADDRESS
  5529.     AH = 05h
  5530. Return: AL = DMA channel
  5531.     AH = initiator ID
  5532.     BX = card address
  5533. Desc:    determine the current hardware configuration
  5534. ----------7D06-------------------------------
  5535. INT 7D - SCSILink - PUT DATA
  5536.     AH = 06h
  5537.     CX = number of bytes to store (0001h-0100h)
  5538.     ES:BX -> data to be saved
  5539. Return: CF clear if successful
  5540.     CF set on error
  5541.         AL = error code (01h = too much data)
  5542. Note:    the specified data is stored in SCSILink's PSP
  5543. SeeAlso: AH=07h
  5544. ----------7D07-------------------------------
  5545. INT 7D - SCSILink - GET DATA
  5546.     AH = 07h
  5547.     CX = number of bytes to retrieve (0001h-0100h)
  5548.     ES:BX -> buffer for data
  5549. Return: CF clear if successful
  5550.     CF set on error
  5551.         AL = error code (01h = too much data)
  5552. Note:    retrieve data previously stored with AH=06h
  5553. SeeAlso: AH=06h
  5554. ----------7D08-------------------------------
  5555. INT 7D - SCSILink - TERMINATE SESSION
  5556.     AH = 08h
  5557. Desc:    indicate to any other programs that intercept INT 7D that the program
  5558.       has finished with the link
  5559. Note:    the program should call this function even if a SCSI error caused its
  5560.       termination
  5561. ----------7D09-------------------------------
  5562. INT 7D - SCSILink - POLL REQUEST
  5563.     AH = 09h
  5564.     AL = target ID
  5565. Return: AL = status
  5566.         FEh resident driver experienced SCSI error
  5567.         FFh resident driver handleded event
  5568. Desc:    give any drivers chained onto INT 7D a chance to handle an exception
  5569.       not specifically handled by the calling program
  5570. Notes:    this service exists so that resident disk servers, etc. can continue
  5571.       running even while debuggers and profilers are active
  5572.     the resident driver assumes that a connection has been established and
  5573.       attempts to leave the target connected
  5574. --------*-7E---------------------------------
  5575. INT 7E - RESERVED FOR DIP, Ltd. ROM LIBRARY
  5576. --------S-7E---------------------------------
  5577. INT 7E U - YTERM 1.4 - ???
  5578. SeeAlso: INT 7D"YTERM",INT 7F"YTERM"
  5579. --------E-7E---------------------------------
  5580. INT 7E - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ6
  5581. Program: GO32.EXE is a DOS extender included as part of the 80386 port of the
  5582.       GNU C/C++ compiler by DJ Delorie and distributed as DJGPP
  5583. Notes:    this vector is overwritten when GO32 starts but is not restored by
  5584.       early versions of the extender
  5585.     the newest versions of GO32 dynamically allocate the vectors used
  5586.       for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
  5587. SeeAlso: INT 0E,INT 7D"GO32",INT 7F"GO32"
  5588. --------s-7E00FE-----------------------------
  5589. INT 7E - SBOS - UNINSTALL
  5590.     AX = 00FEh
  5591. Return: nothing, SBOS removed
  5592. Program: SBOS is a SoundBlaster emulator for the Gravis UltraSound
  5593. Note:    this function may not be called if any SBOS vectors have been hooked
  5594. SeeAlso: INT 21/AX=FD12h
  5595. --------m-7E5857BL57-------------------------
  5596. INT 7E - XLOAD - INSTALLATION CHECK
  5597.     AX = 5857h
  5598.     BL = 57h
  5599. Return: AX = 0000h if installed
  5600. Program: XLOAD is the LOADHIGH-equivalent from Helix Software's Netroom
  5601. SeeAlso: AX=5857h/BL=5Ah,AX=5857h/BL=5Bh
  5602. --------m-7E5857BL5A-------------------------
  5603. INT 7E - XLOAD - GET ???
  5604.     AX = 5857h
  5605.     BL = 5Ah
  5606. Return: AX = 0000h
  5607.     CX = ???
  5608.     DS:SI -> ???
  5609. SeeAlso: AX=5857h/BL=57h,AX=5857h/BL=5Bh
  5610. --------m-7E5857BL5B-------------------------
  5611. INT 7E - XLOAD - GET XLOAD MEMORY SIZE
  5612.     AX = 5857h
  5613.     BL = 5Bh
  5614. Return: AX = 0000h
  5615.     CX = segment of XLOAD TSR
  5616.     DX = size of memory block in which XLOAD TSR is located
  5617. SeeAlso: AX=5857h/BL=57h,AX=5857h/BL=5Ah
  5618. --------!---Section--------------------------
  5619.