home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1996 February / PCWK0296.iso / sharewar / dos / program / interupt / interrup.j < prev    next >
Encoding:
Text File  |  1995-08-13  |  261.5 KB  |  7,415 lines

  1. Interrupt List, part 10 of 13
  2. This compilation is Copyright (c) 1989,1990,1991,1992,1993,1994,1995 Ralf Brown
  3. --------H-5B---------------------------------
  4. INT 5B - IRQ11 relocated by DESQview 2.26+
  5. Range:    INT 5B to INT FB, selected automatically
  6. Note:    this is the default, but other INTs may be used (see INT 50"DESQview")
  7. SeeAlso: INT 50"DESQview",INT 5A"DESQview",INT 5C"DESQview",INT 73
  8. --------H-5B---------------------------------
  9. INT 5B - IRQ3 relocated by DoubleDOS
  10. SeeAlso: INT 0B
  11. --------N-5B---------------------------------
  12. INT 5B - PC cluster adapter - RELOCATED INT 19
  13. SeeAlso: INT 19,INT 5A"PC Cluster"
  14. --------N-5B---------------------------------
  15. INT 5B - AT&T Starlan Extended NetBIOS (variable length names)
  16.     ES:BX -> Network Control Block (see #1891)
  17. Return: AL = status (see #1893)
  18. SeeAlso: INT 5C
  19.  
  20. Format of Starlan Network Control Block:
  21. Offset    Size    Description    (Table 1891)
  22.  00h    BYTE    ncb_command (see also #1895)
  23.         70h send net Break
  24.  01h    BYTE    ncb_retcode
  25.  02h    BYTE    ncb_lsn
  26.  03h    BYTE    ncb_num
  27.  04h    DWORD    -> ncb_buffer
  28.  08h    WORD    ncb_length
  29.  0Ah 16 BYTEs    ncb_callname
  30.  1Ah 16 BYTEs    ncb_name
  31.  2Ah    BYTE    ncb_rto
  32.  2Bh    BYTE    ncb_sto
  33.  2Ch    DWORD    -> ncb_post    /* int (far *ncb_post)(); */
  34.  30h    BYTE    ncb_lana_num
  35.  31h    BYTE    ncb_cmd_cplt
  36.  32h    DWORD    -> ncb_vname
  37.  36h    BYTE    ncb_vnamelen
  38.  37h  9 BYTEs    ncb_reserve
  39. Note:    fields 00h-31h are the same as for a standard NetBIOS NCB (see #1894)
  40. --------N-5B---------------------------------
  41. INT 5B - Microsoft Network Transport Layer Interface
  42. Note:    used by MS-NET for executing network commands
  43. SeeAlso: INT 5C"NetBIOS"
  44. --------N-5B---------------------------------
  45. INT 5B - used by Alloy NTNX
  46. --------N-5B---------------------------------
  47. INT 5B - ISOLAN Multi Protocol Software
  48.     ES:BX -> Transfer Control Block (see #1892)
  49. Return: AL = status
  50. Note:    this software interface allows multiple protocols/software packages
  51.       to access a BICC 411x network card
  52.  
  53. Format of ISOLAN Transfer Control Block:
  54. Offset    Type    Description    (Table 1892)
  55.  00h    BYTE    command code
  56.         B3h Status
  57.         F2h Activate
  58.         F3h Deactivate
  59.         F4h Send Data
  60.  01h    BYTE    command identity
  61.  02h    BYTE    virtual circuit ID
  62.  03h    WORD    buffer length
  63.  05h    DWORD    buffer pointer
  64.  09h    BYTE    expedited data flag
  65.  0Ah    BYTE    cancelable flag
  66.  0Bh 16 BYTEs    local network address
  67.  1Bh 16 BYTEs    remote network address
  68.  2Bh    DWORD    asynchronous notification routine
  69.  30h    DWORD    local network number
  70.  34h    DWORD    remote network number
  71.  38h    BYTE    call timeout
  72.  39h    BYTE    not used
  73.  3Ah  8 BYTEs    reserved
  74.  42h    BYTE    command code extension
  75.  43h    WORD    Blue Book MAC type
  76. --------b-5B---------------------------------
  77. INT 5B - TI Professional PC - KEYBOARD MAPPING HOOK
  78.     no details available
  79. Note:    used to remap the keyboard
  80. SeeAlso: INT 15/AH=4Fh,INT 4A"TI Professional",INT 59"TI Professional"
  81. SeeAlso: INT 5C"TI Professional",INT 5D"TI Professional"
  82. SeeAlso: INT 5E"TI Professional",INT 5F"TI Professional"
  83. --------U-5B5254DL04-------------------------
  84. INT 5B U - SitBack v3.02R - GET ???
  85.     AX = 5254h
  86.     DL = 04h
  87. Return: ES:BX -> ??? in resident portion
  88. Program: SitBack is a background file backup utility by SitBack Technologies,
  89.       Inc. which initiates backups whenever the system is idle
  90. SeeAlso: AX=8485h/DL=71h,AX=8485h/DL=72h
  91. --------U-5B8485DL70-------------------------
  92. INT 5B U - SitBack v3.02R - INSTALLATION CHECK
  93.     AX = 8485h
  94.     DL = 70h
  95. Return: CX = 8485h if installed
  96.         DX:AX -> ??? (configuration data?)
  97. Program: SitBack is a background file backup utility by SitBack Technologies,
  98.       Inc. which initiates backups whenever the system is idle
  99. SeeAlso: AX=5254h/DL=04h,AX=8485h/DL=78h
  100. --------U-5B8485DL71-------------------------
  101. INT 5B U - SitBack v3.02R - SET ??? FLAG AND GET ??? ADDRESS
  102.     AX = 8485h
  103.     DL = 71h
  104. Return: ES:BX -> FAR entry point to ???
  105. Note:    the flag which is modified is located at the address returned by
  106.        AX=5254h/DL=04h
  107. SeeAlso: AX=8485h/DL=72h
  108. --------U-5B8485DL72-------------------------
  109. INT 5B U - SitBack v3.02R - CLEAR ??? FLAG
  110.     AX = 8485h
  111.     DL = 72h
  112. Note:    the flag which is modified is located at the address returned by
  113.        AX=5254h/DL=04h
  114. SeeAlso: AX=8485h/DL=71h
  115. --------U-5B8485DL73-------------------------
  116. INT 5B U - SitBack v3.02R - ???
  117.     AX = 8485h
  118.     DL = 73h
  119.     ???
  120. Return: ???
  121. --------U-5B8485DL74-------------------------
  122. INT 5B U - SitBack v3.02R - ???
  123.     AX = 8485h
  124.     DL = 74h
  125.     ???
  126. Return: ???
  127. --------U-5B8485DL75-------------------------
  128. INT 5B U - SitBack v3.02R - ???
  129.     AX = 8485h
  130.     DL = 75h
  131.     CX = ???
  132. Return: ???
  133. SeeAlso: AX=8485h/DL=76h
  134. --------U-5B8485DL76-------------------------
  135. INT 5B U - SitBack v3.02R - ???
  136.     AX = 8485h
  137.     DL = 76h
  138.     CX = ???
  139. Return: ???
  140. Note:    conditionally calls the code for AX=8485h/DL=75h
  141. SeeAlso: AX=8485h/DL=75h
  142. --------U-5B8485DL77-------------------------
  143. INT 5B U - SitBack v3.02R - SET ??? FLAG
  144.     AX = 8485h
  145.     DL = 77h
  146. --------U-5B8485DL78-------------------------
  147. INT 5B U - SitBack v3.02R - GET RESIDENT DATA SEGMENT
  148.     AX = 8485h
  149.     DL = 78h
  150. Return: CX = 5342h if supported
  151.         ES = AX = segment of TSR data
  152. SeeAlso: AX=8485h/DL=70h,AX=8485h/DL=79h
  153. --------U-5B8485DL79-------------------------
  154. INT 5B U - SitBack v3.02R - GET DTA
  155.     AX = 8485h
  156.     DL = 79h
  157. Return: CX = 5342h if supported
  158.         ES:BX -> DTA set by last INT 21/AH=1Ah
  159. Note:    this function is provided by SBOS.EXE rather than SB.EXE
  160. SeeAlso: INT 21/AH=1Ah
  161. --------U-5B8485DL7A-------------------------
  162. INT 5B U - SitBack v3.02R - TOGGLE ???
  163.     AX = 8485h
  164.     DL = 7Ah
  165. Return: CX = 5342h if supported
  166.         AL = new value of ??? (00h or 01h)
  167. --------H-5C---------------------------------
  168. INT 5C - IRQ12 relocated by DESQview 2.26+
  169. Range:    INT 5C to INT FC, selected automatically
  170. Note:    this is the default, but other INTs may be used (see INT 50"DESQview")
  171. SeeAlso: INT 50"DESQview",INT 5B"DESQview",INT 5D"DESQview",INT 74
  172. --------H-5C---------------------------------
  173. INT 5C - IRQ4 relocated by DoubleDOS
  174. SeeAlso: INT 0C
  175. --------N-5C---------------------------------
  176. INT 5C - NetBIOS INTERFACE
  177.     ES:BX -> network control block (NCB) (see #1894)
  178. Return: AL = status (see #1893)
  179. Program: NetBIOS was developed by Sytek, Inc. in 1984 as a high-level
  180.       programming interface to the IBM PC Network; the first implementation
  181.       was a ROM BIOS extension on Sytek's PCnet LAN adapter card, but many
  182.       current networks support NetBIOS as the session layer.
  183. Note:    The Sytek PCnet card uses DMA 3.
  184. SeeAlso: INT 2A/AH=01h,INT 2A/AH=04h,INT 5B
  185.  
  186. (Table 1893)
  187. Values for NetBIOS status:
  188.  00h    successful
  189.  01h    bad buffer size
  190.  03h    invalid NETBIOS command
  191.  05h    timeout
  192.  06h    receive buffer too small
  193.  07h    No-ACK command failed
  194.  08h    bad session number
  195.  09h    LAN card out of memory
  196.  0Ah    session closed
  197.  0Bh    command has been cancelled
  198.  0Dh    name already exists
  199.  0Eh    local name table full
  200.  0Fh    name still in use, can't delete
  201.  11h    local session table full
  202.  12h    remote PC not listening
  203.  13h    bad NCB_NUM field
  204.  14h    no answer to CALL or no such remote
  205.  15h    name not in local name table
  206.  16h    duplicate name
  207.  17h    bad delete
  208.  18h    abnormal end
  209.  19h    name error, multiple identical names in use
  210.  1Ah    bad packet
  211.  21h    network card busy
  212.  22h    too many commands queued
  213.  23h    bad LAN card number
  214.  24h    command finished while cancelling
  215.  26h    command can't be cancelled
  216.  30h    name defined by another process (OS/2)
  217.  34h    NetBIOS environment not defined, must issue reset (OS/2)
  218.  35h    required operating system resources exhausted (OS/2)
  219.  36h    maximum applications exceeded (OS/2)
  220.  37h    no SAPs available for NetBIOS (OS/2)
  221.  38h    requested resources not available (OS/2)
  222.  40h    Lana System Error
  223.  41h    Lana Remote Hot Carrier
  224.  42h    Lana Local Hot Carrier
  225.  43h    Lana No Carrier Detected
  226.  44h    unusual network condition
  227.  45h-4Dh hardware error
  228.  4Eh    token ring is broken
  229.  4Fh    token ring error
  230.  50h    adapter malfunction
  231.  F7h    error in explicit INITIALIZE
  232.  F8h    error in implicit OPEN
  233.  F9h    TOKREUI internal error
  234.  FAh    hardware adapter testing
  235.  FBh    NetBIOS emulator not found
  236.  FCh    OPEN or OPEN_SAP failure
  237.  FDh    unexpected adapter closure
  238.  FFh    NetBIOS busy (command pending)
  239.  
  240. Format of NetBIOS Network Control Block:
  241. Offset    Size    Description    (Table 1894)
  242.  00h    BYTE    command code (see #1895)
  243.  01h    BYTE    return code (see #1893)
  244.  02h    BYTE    local session number (LSN)
  245.  03h    BYTE    "ncb_num" datagram table entry from ADD NAME
  246.  04h    DWORD    -> I/O buffer
  247.  08h    WORD    length of data in buffer
  248.  0Ah 16 BYTEs    remote system to call
  249.  1Ah 16 BYTEs    network name of local machine
  250.  2Ah    BYTE    receive timeout in 1/2 seconds
  251.  2Bh    BYTE    send timeout in 1/2 seconds
  252.  2Ch    DWORD    -> FAR post handler    /* int (far *ncb_post)(); */
  253.  30h    BYTE    network adapter number on which to execute command
  254.         00h-03h IBM NetBIOS specs
  255.         F0h-FFh Eicon NABios interface (see also INT 7B"Eicon")
  256.  31h    BYTE    command completion code (see returned status above)
  257.  32h 14 BYTEs    reserved for network card
  258.  
  259. (Table 1895)
  260. Values for NetBIOS command code field in NCB:
  261.  10h    start session with NCB_NAME name (call)
  262.  11h    listen for call
  263.  12h    end session with NCB_NAME name (hangup)
  264.  14h    send data via NCB_LSN
  265.  15h    receive data from a session
  266.  16h    receive data from any session
  267.  17h    send multiple data buffers
  268.  20h    send unACKed message (datagram)
  269.  21h    receive datagram
  270.  22h    send broadcast datagram
  271.  23h    receive broadcast datagram
  272.  30h    add name to name table
  273.  31h    delete name from name table
  274.  32h    reset adapter card and tables
  275.  33h    get adapter status (see #1896)
  276.  34h    status of all sessions for name (see #1898)
  277.  35h    cancel
  278.  36h    add group name to name table
  279.  48h    send data and receive data (LAN Manager NETBEUI.DOS)
  280.  70h    unlink from IBM remote program (no F0h function)
  281.  71h    send data without ACK
  282.  72h    send multiple buffers without ACK
  283.  72h    UngermannBass Register (conflicts with above function)
  284.  73h    UngermannBass SendNmc
  285.  74h    UngermannBass Callniu
  286.  75h    UngermannBass Calladdr
  287.  76h    UngermannBass Listenaddr
  288.  77h    UngermannBass SendPkt
  289.  78h    find name
  290.  78h    UngermannBass RcvPkt (conflicts with above function)
  291.  79h    token-ring protocol trace
  292.  79h    UngermannBass SendAttn (conflicts with above function)
  293.  7Ah    UngermannBass RcvAttn
  294.  7Bh    UngermannBass Listenniu
  295.  7Ch    UngermannBass RcvRaw
  296.  7Dh    UngermannBass SendNmc2
  297.  7Fh    Beame&Whiteside BWNB installation check (returns with return code and
  298.       completion code both set to 03h, while invalid functions return only
  299.       return code field set to 03h)
  300. Note:    OR any of the above except 70h with 80h for non-waiting call
  301.  
  302. Format of NetBIOS structure "astatus":
  303. Offset    Size    Description    (Table 1896)
  304.  00h  6 BYTEs as_id
  305.  06h    BYTE  as_jumpers
  306.  07h    BYTE  as_post
  307.  08h    BYTE  as_major
  308.  09h    BYTE  as_minor
  309.  0Ah    WORD  as_interval
  310.  0Ch    WORD  as_crcerr
  311.  0Eh    WORD  as_algerr
  312.  10h    WORD  as_colerr
  313.  12h    WORD  as_abterr
  314.  14h    DWORD as_tcount
  315.  18h    DWORD as_rcount
  316.  1Ch    WORD  as_retran
  317.  1Eh    WORD  as_xresrc
  318.  20h  8 BYTEs as_res0
  319.  28h    WORD  as_ncbfree
  320.  2Ah    WORD  as_ncbmax
  321.  2Ch    WORD  as_ncbx
  322.  2Eh  4 BYTEs as_res1
  323.  32h    WORD  as_sespend
  324.  34h    WORD  as_msp
  325.  36h    WORD  as_sesmax
  326.  38h    WORD  as_bufsize
  327.  3Ah    WORD  as_names
  328.  3Ch 16 name structures     as_name (see #1897)
  329.  
  330. Format of NetBIOS structure "name":
  331. Offset    Size    Description    (Table 1897)
  332.  00h 16 BYTEs "nm_name" symbolic name
  333.  10h    BYTE  "nm_num" number associated with name
  334.  11h    BYTE  nm_status
  335.  
  336. Format of NetBIOS structure "sstatus":
  337. Offset    Size    Description    (Table 1898)
  338.  00h    BYTE    number of sessions being reported
  339.  01h    BYTE    number of sessions with this name
  340.  02h    BYTE    number of outstanding receive datagrams
  341.  03h    BYTE    number of outstanding ReceiveAnys
  342.  04h    var    session structures (see #1899)
  343.  
  344. Format of NetBIOS structure "session":
  345. Offset    Size    Description    (Table 1899)
  346.  00h    BYTE    local session number
  347.  01h    BYTE    state
  348.         01h listen pending
  349.         02h call pending
  350.         03h session established
  351.         04h hangup pending
  352.         05h hangup done
  353.         06h session aborted
  354.  02h 16 BYTEs    local name
  355.  12h 16 BYTEs    remote name
  356.  22h    BYTE    number of outstanding receives
  357.  23h    BYTE    number of outstanding sends/chainsends
  358. --------N-5C---------------------------------
  359. INT 5C - TOPS INTERFACE
  360.     ES:BX -> Network Control Block
  361. Note:    TOPS card uses DMA 1, 3 or none.
  362. --------N-5C---------------------------------
  363. INT 5C - ATALK.SYS - AppleTalk INTERFACE
  364.     DX:BX -> control block (see #1901)
  365. Return: none
  366. Range:    INT 5Ch to INT 70h
  367. Notes:    the signature 'AppleTalk' appears 16 bytes prior to the interrupt
  368.       handler; this serves as the installation check
  369. Index:    installation check;ATALK.SYS|installation check;AppleTalk interface
  370.  
  371. (Table 1900)
  372. Values for ATALK.SYS command code:
  373.  01h    "AT_INIT"        initialize the driver
  374.  02h    "AT_KILL"
  375.  03h    "AT_GETNETINFO" get current network info incl init status
  376.  04h    "AT_GETCLOCKTICKS"
  377.  05h    "AT_STARTTIMER"
  378.  06h    "AT_RESETTIMER"
  379.  07h    "AT_CANCELTIMER"
  380.  10h    "LAP_INSTALL"
  381.  11h    "LAP_REMOVE"
  382.  12h    "LAP_WRITE"
  383.  13h    "LAP_READ"
  384.  14h    "LAP_CANCEL"
  385.  20h    "DDP_OPENSOCKET"
  386.  21h    "DDP_CLOSESOCKET"
  387.  22h    "DDP_WRITE"
  388.  23h    "DDP_READ"
  389.  24h    "DDP_CANCEL"
  390.  30h    "NBP_REGISTER"
  391.  31h    "NBP_REMOVE"
  392.  32h    "NBP_LOOKUP"
  393.  33h    "NBP_CONFIRM"
  394.  34h    "NBP_CANCEL"
  395.  35h    "ZIP_GETZONELIST"
  396.  36h    "ZIP_GETMYZONE"
  397.  37h    "ZIP_TAKEDOWN"
  398.  38h    "ZIP_BRINGUP"
  399.  40h    "ATP_OPENSOCKET"
  400.  41h    "ATP_CLOSESOCKET"
  401.  42h    "ATP_SENDREQUEST"
  402.  43h    "ATP_GETREQUEST"
  403.  44h    "ATP_SENDRESPONSE"
  404.  45h    "ATP_ADDRESPONSE"
  405.  46h    "ATP_CANCELTRANS"
  406.  47h    "ATP_CANCELRESPONSE"
  407.  48h    "ATP_CANCELREQUEST"
  408.  50h    "ASP_GETPARMS"
  409.  51h    "ASP_CLOSESESSION"
  410.  52h    "ASP_CANCEL"
  411.  53h    "ASP_INIT"
  412.  54h    "ASP_KILL"
  413.  55h    "ASP_GETSESSION"
  414.  56h    "ASP_GETREQUEST"
  415.  57h    "ASP_CMDREPLY"
  416.  58h    "ASP_WRTCONTINUE"
  417.  59h    "ASP_WRTREPLY"
  418.  5Ah    "ASP_CLOSEREPLY"
  419.  5Bh    "ASP_NEWSTATUS"
  420.  5Ch    "ASP_ATTENTION"
  421.  5Dh    "ASP_GETSTATUS"
  422.  5Eh    "ASP_OPENSESSION"
  423.  5Fh    "ASP_COMMAND"
  424.  60h    "ASP_WRITE"
  425.  61h    "ASP_GETATTENTION"
  426.  70h    "PAP_OPEN"
  427.  71h    "PAP_CLOSE"
  428.  72h    "PAP_READ"
  429.  73h    "PAP_WRITE"
  430.  74h    "PAP_STATUS"
  431.  75h    "PAP_REGNAME"
  432.  76h    "PAP_REMNAME"
  433.  77h    "PAP_INIT"
  434.  78h    "PAP_NEWSTATUS"
  435.  79h    "PAP_GETNEXTJOB"
  436.  7Ah    "PAP_KILL"
  437.  7Bh    "PAP_CANCEL"
  438.  
  439. Format of AppleTalk control block:
  440. Offset    Size    Description    (Table 1901)
  441.  00h    WORD    command code (see #1900)
  442.         OR with the following flags
  443.         8000h start command then return
  444.         4000h wait for interrupt service to complete
  445.  02h    WORD    returned status
  446.         0000h success (already initialized if func 01h)
  447.  04h    DWORD    pointer to completion function
  448.  08h    WORD    network number
  449.  0Ah    BYTE    node ID
  450. ---if general func (01h,03h), control block continues:
  451.  0Bh    BYTE    "inf_abridge"
  452.  0Ch    WORD    "inf_config"
  453.  0Eh    DWORD    pointer to buffer
  454.  12h    WORD    buffer size
  455. ---if DDP function (20h-24h), control block continues:
  456.  0Bh    BYTE    "ddp_addr_socket"
  457.  0Ch    BYTE    "ddp_socket"
  458.  0Dh    BYTE    "ddp_type"
  459.  0Eh    DWORD    pointer to buffer
  460.  12h    WORD    buffer size
  461.  14h    BYTE    "ddp_chksum"
  462. ---if Name Binding Protocol (30h-34h), control block continues:
  463.  0Bh    BYTE    "nbp_addr_socket"
  464.  0Ch    WORD    "nbp_toget"
  465.  0Eh    DWORD    pointer to buffer (see #1902)
  466.  12h    WORD    buffer size
  467.  14h    BYTE    "nbp_interval"
  468.  15h    BYTE    "nbp_retry"
  469.  16h    DWORD    "nbp_entptr"
  470. ---if AppleTalk Transaction Protocol (42h), control block continues:
  471.  0Bh    BYTE    "atp_addr_socket"
  472.  0Ch    WORD    "atp_socket"
  473.  0Eh    DWORD    pointer to buffer
  474.  12h    WORD    buffer size
  475.  14h    BYTE    "atp_interval"
  476.  15h    BYTE    "atp_retry"
  477.  16h    BYTE    ATP flags
  478.         bit 5: exactly one transaction
  479.  17h    BYTE    "atp_seqbit"
  480.  18h    BYTE    transaction ID
  481.  19h  4 BYTEs    ATP user bytes
  482.  1Dh    BYTE    number of BDS buffers
  483.  1Eh    BYTE    number of BDS responses
  484.  1Fh    DWORD    pointer to BDS buffers (see #1903)
  485.  
  486. Format of Name Binding Protocol Name-to-Address binding entries for NBP_LOOKUP:
  487. Offset    Size    Description    (Table 1902)
  488.  00h    WORD    "tup_address_network"
  489.  02h    BYTE    "tup_address_notid"
  490.  03h    BYTE    "tup_address_socket"
  491.  04h    BYTE    "tup_enum"
  492.  05h 99 BYTEs    name
  493.  
  494. Format of BDS entries:
  495. Offset    Size    Description    (Table 1903)
  496.  00h    DWORD    pointer to buffer
  497.  04h    WORD    size of buffer
  498.  06h    WORD    BDS data size
  499.  08h  4 BYTEs    "bds_userbytes"
  500. --------N-5C---------------------------------
  501. INT 5C - IBM 802.2 INTERFACE (LLC)
  502.     ES:BX -> CCB (see #1904)
  503. Return: none
  504.  
  505. Format of IBM 802.2 CCB:
  506. Offset    Size    Description    (Table 1904)
  507.  00h    BYTE    adapter
  508.  01h    BYTE    command code
  509.  02h    BYTE    return code
  510.  03h    BYTE    work
  511.  04h    DWORD    pointer to ???
  512.  08h    DWORD    pointer to completion function???
  513.  0Ch    DWORD    pointer to parameters???
  514. --------b-5C---------------------------------
  515. INT 5C - TI Professional PC - KEYBOARD PAUSE KEY VECTOR
  516. Desc:    toggle a pause flag which is checked by the CRT Device Service Routine
  517.       (see INT 49"TI Professional") and causes it to temporarily halt the
  518.       machine on the next video-related function (until a key is pressed)
  519. SeeAlso: INT 09"IRQ1",INT 4A"TI Professional",INT 59"TI Professional"
  520. SeeAlso: INT 5B"TI Professional",INT 5D"TI Professional"
  521. SeeAlso: INT 5E"TI Professional",INT 5F"TI Professional"
  522. --------N-5C---------------------------------
  523. INT 5C - $25 LAN - INSTALLATION CHECK
  524. Notes:    current versions only check whether the vector is 0000h:0000h or not
  525.     future versions are supposed to have the signature "NET" in the three
  526.       bytes preceding the INT 5C handler
  527. --------N-5C04-------------------------------
  528. INT 5C - $25 LAN - CHECK IF CONNECTION ALIVE
  529.     AH = 04h
  530.     AL = COM port (0 = default)
  531.     CX = wait count in character times (should be at least 100)
  532. Return: ZF set if link alive
  533. --------H-5D---------------------------------
  534. INT 5D - IRQ13 relocated by DESQview 2.26+
  535. Range:    INT 5D to INT FD, selected automatically
  536. Note:    this is the default, but other INTs may be used (see INT 50"DESQview")
  537. SeeAlso: INT 50"DESQview",INT 5C"DESQview",INT 5E"DESQview",INT 75
  538. --------H-5D---------------------------------
  539. INT 5D - IRQ5 relocated by DoubleDOS
  540. SeeAlso: INT 0D,INT 5C"DoubleDOS"
  541. --------b-5D---------------------------------
  542. INT 5D - TI Professional PC - KEYBOARD BREAK KEY VECTOR
  543.     no details available
  544. SeeAlso: INT 09"IRQ1",INT 4A"TI Professional",INT 59"TI Professional"
  545. SeeAlso: INT 5B"TI Professional",INT 5C"TI Professional"
  546. SeeAlso: INT 5E"TI Professional",INT 5F"TI Professional"
  547. --------H-5E---------------------------------
  548. INT 5E - IRQ14 relocated by DESQview 2.26+
  549. Range:    INT 5E to INT FE, selected automatically
  550. Note:    this is the default, but other INTs may be used (see INT 50"DESQview")
  551. SeeAlso: INT 50"DESQview",INT 5D"DESQview",INT 5F"DESQview",INT 76
  552. --------H-5E---------------------------------
  553. INT 5E - IRQ6 relocated by DoubleDOS
  554. SeeAlso: INT 0E,INT 5D"DoubleDOS"
  555. --------b-5E---------------------------------
  556. INT 5E - TI Professional PC - KEYBOARD PRINT-SCREEN VECTOR
  557. Desc:    dump the screen to the printer
  558. Notes:    hooked by TI MS-DOS, which provides a PRTSCRN character device which
  559.       can invoke screen prints when a decimal digit (indicating the type
  560.       of screen dump) is written to it
  561.     the TI MS-DOS print-screen routine allows selective dumps of text
  562.       only, graphics only, or text and graphics superimposed, in either
  563.       normal or reverse, by pressing the appropriate keystroke combination:
  564.       Shift-Print, Ctrl-Print, Alt-Print, Shift-Alt-Print, Ctrl-Alt-Print,
  565.       or Shift-Ctrl-Print.
  566.     the BIOS default routine for this vector is an IRET
  567. SeeAlso: INT 05,INT 4A"TI Professional",INT 59"TI Professional"
  568. SeeAlso: INT 5B"TI Professional",INT 5C"TI Professional"
  569. SeeAlso: INT 5D"TI Professional",INT 5F"TI Professional"
  570. --------H-5F---------------------------------
  571. INT 5F - IRQ15 relocated by DESQview 2.26+
  572. Range:    INT 5F to INT FF, selected automatically
  573. Note:    this is the default, but other INTs may be used (see INT 50"DESQview")
  574. SeeAlso: INT 50"DESQview",INT 5E"DESQview",INT 77
  575. --------H-5F---------------------------------
  576. INT 5F - IRQ7 relocated by DoubleDOS
  577. SeeAlso: INT 0F,INT 5E"DoubleDOS"
  578. --------b-5F---------------------------------
  579. INT 5F C - TI Professional PC - KEYBOARD QUEUEING VECTOR
  580. Desc:    hook for multitaskers to be informed when a keypress is placed in the
  581.       keyboard buffer
  582. SeeAlso: INT 09,INT 4A"TI Professional",INT 59"TI Professional"
  583. SeeAlso: INT 5B"TI Professional",INT 5C"TI Professional"
  584. SeeAlso: INT 5D"TI Professional",INT 5E"TI Professional"
  585. --------b-5F00-------------------------------
  586. INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET VIDEO MODE
  587.     AH = 00h
  588.     AL = video mode
  589.         03h text,CGA color (100LX/200LX)
  590.         06h 640x200 CGA graphics (100LX/200LX)
  591.         07h text, system manager compliant
  592.         20h 240x128 mono graphics, system manager compliant
  593.         87h text, not system manager compliant
  594.         A0h 240x128 mono graphics, not system manager compliant
  595. Notes:    the defaults after setting the mode to graphics are (0,0) logical
  596.       origin, full-screen clip region, (0,0) pen location, pen color 1,
  597.       pixel replacement FORCE, line type and fill mask all bits set
  598.     modes 03h and 06h can also be set with the standard INT 10/AH=00h
  599. SeeAlso: INT 0F"HP 95LX",INT 10/AH=00h,INT 15/AX=4DD4h
  600. --------b-5F01-------------------------------
  601. INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET FILL MASK
  602.     AH = 01h
  603.     ES:DI -> 8-byte fill mask
  604. Note:    the fill mask represents an 8x8 pixel box and is repeated as necessary
  605.       when drawing filled rectangles; it is always aligned with the byte
  606.       boundaries of video memory, regardless of the actual boundaries of
  607.       the rectangle
  608. SeeAlso: AH=02h
  609. --------b-5F02-------------------------------
  610. INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - GET CURRENT GRAPHICS INFO
  611.     AH = 02h
  612.     ES:DI -> graphics info record (see #1905)
  613. Return: DX:AX -> filled graphics info record (for return to high-level langs)
  614.  
  615. Format of HP 95LX graphics info record:
  616. Offset    Size    Description    (Table 1905)
  617.  00h    BYTE    current video mode
  618.  01h    BYTE    default video mode
  619.  02h    WORD    display width in pixels
  620.  04h    WORD    display height in pixels
  621.  06h    WORD    current pen column
  622.  08h    WORD    current pen row
  623.  0Ah    WORD    current line type
  624.  0Ch    WORD    current replacement rule
  625.  0Eh    WORD    current pen color
  626.  10h    WORD    current leftmost column of clip region
  627.  12h    WORD    current rightmost column of clip region
  628.  14h    WORD    current topmost row of clip region
  629.  16h    WORD    current bottommost row of clip region
  630.  18h    WORD    current column of logical origin
  631.  1Ah    WORD    current row of logical origin
  632.  1Ch  8 BYTEs    current fill mask
  633. --------b-5F03-------------------------------
  634. INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET LOGICAL ORIGIN
  635.     AH = 03h
  636.     CX = column
  637.     DX = row
  638. SeeAlso: AH=04h
  639. --------b-5F04-------------------------------
  640. INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET CLIP REGION
  641.     AH = 04h
  642.     CX = left-most column
  643.     DX = top-most row
  644.     SI = right-most column
  645.     DI = bottom-most row
  646. SeeAlso: AH=03h
  647. --------b-5F05-------------------------------
  648. INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - DRAW RECTANGLE
  649.     AH = 05h
  650.     AL = fill type
  651.         00h outline, using current line type and color
  652.         01h solid, using current color
  653.         02h pattern, using current fill mask and color
  654.     DX,CX = row,column of other corner of rectangle
  655. Note:    the rectangle is drawn starting at the current pen position
  656. SeeAlso: AH=01h,AH=06h,AH=07h
  657. --------b-5F06-------------------------------
  658. INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - DRAW LINE
  659.     AH = 06h
  660.     DX,CX = row,column of end point
  661. Note:    the line is drawn starting at the current pen position
  662. SeeAlso: AH=05h,AH=07h
  663. --------b-5F07-------------------------------
  664. INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - PLOT POINT
  665.     AH = 07h
  666.     DX,CX = row,column of point
  667. Note:    also sets pen position to the specified point
  668. SeeAlso: AH=06h,AH=08h,AH=0Ch
  669. --------b-5F08-------------------------------
  670. INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - MOVE PEN
  671.     AH = 08h
  672.     DX,CX = row,column of new pen position
  673. SeeAlso: AH=07h,AH=09h
  674. --------b-5F09-------------------------------
  675. INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET PEN COLOR
  676.     AH = 09h
  677.     AL = new color (00h = white, 01h = black)
  678. SeeAlso: AH=08h,AH=0Ah,AH=0Bh
  679. --------b-5F0A-------------------------------
  680. INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET REPLACEMENT RULE
  681.     AH = 0Ah
  682.     AL = new replacement rule
  683.         00h force
  684.         01h AND
  685.         02h OR
  686.         03h XOR
  687.         ---100LX/200LX---
  688.         04h InvForce
  689.         05h InvAND
  690.         06h    InvOR
  691.         07h InvXOR
  692.         08h Txt
  693. SeeAlso: AH=01h,AH=09h,AH=0Bh
  694. --------b-5F0B-------------------------------
  695. INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET LINE TYPE
  696.     AH = 0Bh
  697.     CX = new line type
  698. Note:    the line type specifies 16 bits which are repeated over and over while
  699.       drawing the pixels of a line
  700. SeeAlso: AH=09h,AH=0Ah
  701. --------b-5F0C-------------------------------
  702. INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - GET PIXEL
  703.     AH = 0Ch
  704.     DX,CX = row,column of pixel to read
  705. Return: AX = pixel color
  706. SeeAlso: AH=07h
  707. --------b-5F0D-------------------------------
  708. INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - GET IMAGE
  709.     AH = 0Dh
  710.     DX,CX = row,column of first corner
  711.     BP,SI = row,column of second corner
  712.     ES:DI -> image buffer (see #1906)
  713. Note:    the specified corners are included in the saved image
  714. SeeAlso: AH=0Eh
  715.  
  716. Format of HP 95LX image buffer:
  717. Offset    Size    Description    (Table 1906)
  718.  00h    WORD    number of planes (always 01h on HP 95LX)
  719.  02h    WORD    number of bits/pixel (always 01h on HP 95LX)
  720.  04h    WORD    image width in pixels
  721.  06h    WORD    image height in pixels
  722.  08h  N BYTEs    image data
  723.         requires (WIDTH+7)/8 * HEIGHT bytes
  724. --------b-5F0E-------------------------------
  725. INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - PUT IMAGE
  726.     AH = 0Eh
  727.     AL = replacement rule (see #1907)
  728.     DX,CX = row,column of top left corner
  729.     ES:DI -> image buffer (see #1906)
  730. Note:    if the specified image does not fit completely on the screen, this call
  731.       does nothing
  732. SeeAlso: AH=0Dh
  733.  
  734. Bitfields for replacement rule:
  735. Bit(s)    Description    (Table 1907)
  736.  2    invert image before applying rule
  737.  1-0    function (00 force, 01 AND, 10 OR, 11 XOR)
  738. --------b-5F0F-------------------------------
  739. INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - WRITE TEXT
  740.     AH = 0Fh
  741.     AL = rotate flag (if nonzero, rotate 90 degrees counter-clockwise)
  742.     DX,CX = row,column of first character's top left corner
  743.     ES:DI -> ASCIZ text
  744. --------b-5F10-------------------------------
  745. INT 5F - HP 100LX/200LX GRAPHICS PRIMITIVES - GET FONT POINTER
  746.     AH = 10h
  747.     CX = font size of desired font
  748.         0808h  8x8    small  (80x25 text)
  749.         0A0Bh 11x10 medium (64x18 text)
  750.         100Ch 12x16 large  (40x16 text)
  751. Return: DX:AX -> ptr to font or 0000h:fontID# if built-in font
  752. SeeAlso: AH=11h
  753. --------b-5F11-------------------------------
  754. INT 5F - HP 100LX/200LX GRAPHICS PRIMITIVES - SET CURRENT FONT
  755.     AH = 11h
  756.     ES:DI -> ptr to font or 0000h:fontID# for built-in font
  757. Note:    this function should be called immediately after AH=10h with the
  758.       pointer supplied by that call
  759. SeeAlso: AH=10h
  760. --------*-60---------------------------------
  761. INT 60 - reserved for user interrupt
  762. --------v-60---------------------------------
  763. INT 60 - VIRUS - "Zero Bug" - INSTALLATION CHECK
  764. Desc:    The "Zero Bug" virus hooks this vector.     It considers itself installed
  765.       if offset 103h of the handler's segment contains the bytes "ZE"
  766. SeeAlso: INT 32,INT 44"VIRUS",INT 61"SEMTEX"
  767. --------d-60---------------------------------
  768. INT 60 - Adaptec and OMTI controllers - DRIVE 0 DATA
  769. SeeAlso: INT 41,INT 61"Adaptec",INT 62"Adaptec",INT 63"Adaptec",INT 64"Adaptec"
  770. SeeAlso: INT C0"AMI"
  771. Notes:    this vector stores the first four bytes of the parameter table for
  772.       hard disk 0
  773.     these vectors are used by the following Adaptec controllers:
  774.         ACB 2370 A/B/C, ACB 2372 A/B/C, ACB 2333 A/B, 2322B-8, 2322B-16
  775.     these vectors are NOT used by the following Adaptec controllers:
  776.         ACB 2310, ACB 2312, ACB 2320D, ACB 2322D
  777. --------b-60---------------------------------
  778. INT 60 - TI Professional PC - SYSTEM ROM DATA AREA POINTER (NOT A VECTOR!)
  779. Desc:    the low word of this vector contains the segment of the RAM data area
  780.       to be used by the system ROM at F400h:A000h, and the high word
  781.       contains the length of the data area (see #1908)
  782. SeeAlso: INT 61"TI Professional PC",INT 66"TI Professional PC"
  783.  
  784. Format of TI Professional System ROM data area:
  785. Offset    Size    Description    (Table 1908)
  786.  00h    BYTE    port 00h shadow
  787.  01h    BYTE    port 03h shadow
  788.  02h    BYTE    port 04h shadow
  789.  03h    WORD    system configuration word (see #1909)
  790.  05h    BYTE    25ms count
  791.  06h    WORD    offset of timing event 1 (0008h)
  792.  08h    WORD    (event 1) offset of timing event 2 (0010h)
  793.  0Ah    BYTE    (event 1) unused (FFh)
  794.  0Bh    BYTE    (event 1) active flag (00h = off, 80h = on)
  795.  0Ch    WORD    (event 1) count-down until end of event
  796.  0Eh    WORD    (event 1) event routine (in segment F400h) to call at timeout
  797.  10h    WORD    (event 2) offset of timing event 3 (0018h)
  798.  12h    BYTE    (event 2) unused (FFh)
  799.  13h    BYTE    (event 2) active flag (00h = off, 80h = on)
  800.  14h    WORD    (event 2) count-down until end of event
  801.  16h    WORD    (event 2) event routine (in segment F400h) to call at timeout
  802.  18h    ...
  803. Note:    timing event 1 is the disk I/O timeout, and event 2 is the floppy disk
  804.       motor timeout
  805.  
  806. Bitfields for TI Professional System Configuration Word:
  807. Bit(s)    Description    (Table 1909)
  808.  0    drive A: installed
  809.  1    drive B: installed
  810.  2    drive C: installed
  811.  3    drive D: installed
  812.  4    drive A: is 80-track
  813.  5    drive A: is double-sided
  814.  6    60-Hz (USA,etc.) system instead of 50-Hz (Europe)
  815.  7    hard disk installed
  816.  8    serial port 1 installed
  817.  9    serial port 2 installed
  818.  10    serial port 3 installed
  819.  11    serial port 4 installed
  820.  14-12    installed graphics planes
  821.     000 none
  822.     001 plane A
  823.     111 planes A, B, and C
  824.  15    clock installed
  825. SeeAlso: #1908
  826. --------b-60---------------------------------
  827. INT 60 - Atari Portfolio - USER INTERFACE FUNCTIONS
  828. Desc:    supplies a number of subfunctions which perform such functions as
  829.       drawing boxes and menus, and provide input line editing
  830. SeeAlso: INT 61"Atari"
  831. --------V-60---------------------------------
  832. INT 60 - Nabbit v2.0 - (NOT A VECTOR!) - INSTALLATION CHECK
  833. Program: Nabbit is a shareware resident screen data grabber by RSE Inc.
  834. Range:    INT 60 to INT 66, selected by searching for first free vector
  835. Note:    the Nabbit installation check consists of testing whether the
  836.       interrupt vector points at the ASCIZ signature string "iG"
  837.       (69h 47h 00h)
  838. --------V-60---------------------------------
  839. INT 60 U - Buffit v3.0 - (NOT A VECTOR!) - INSTALLATION CHECK
  840. Program: Buffit is a shareware scrollback utility by D.T. Hamilton
  841. Range:    INT 60 to INT 6F, selected by searching for first free vector
  842. Notes:    the Buffit installation check consists of testing whether the
  843.       interrupt vector points at the ASCII signature "Buffit  "
  844.     there is a private entry point (see #1910) immediately following the
  845.       signature string, i.e. eight bytes beyond the address pointed at
  846.       by the interrupt vector
  847.  
  848. (Table 1910)
  849. Call Buffit private entry point with:
  850.     AH = function
  851.         00h get information and hotkey state
  852.         01h get information and toggle hotkey state
  853. Return: AH = new hotkey state (00h enabled, 01h disabled)
  854.     AL = hotkey scan code
  855.     BH = hotkey shift states
  856.     BL = ??? (01h)
  857.     CX = segment of resident code
  858.     DH = interrupt number used for signature pointer
  859.     DL = ??? (00h)
  860.     SI = INT 09 handler offset
  861.     DI = INT 21 handler offset
  862. Index:    hotkeys;Buffit
  863. --------r-60---------------------------------
  864. INT 60 - PC-IPC API
  865.     STACK:    DWORD    pointer to parameter block (see #1911)
  866. Return: STACK:    unchanged
  867. Program: PC-IPC is a shareware TSR by Donnelly Software Engineering which
  868.       allows communication between independent programs
  869. Range:    INT 00 to INT FF, selected by commandline switch
  870.  
  871. Format of PC-IPC parameter block:
  872. Offset    Size    Description    (Table 1911)
  873.  00h    WORD    caller's ID
  874.  02h    WORD    to ID
  875.  04h    WORD    command code (see #1912)
  876.  06h    WORD    returned status (see #1913)
  877.  08h    WORD    returned error code (see #1914)
  878.  0Ah    WORD    size of data
  879.  0Ch    DWORD    pointer to data buffer
  880.  
  881. (Table 1912)
  882. Values for PC-IPC command code:
  883.  01h "IPC_CMND_INQUIRE"     inquire current status
  884.     set status field, writes WORD to data buffer containing free
  885.       message space in bytes, and sets the "size" field to the
  886.       number of messages waiting
  887.  02h "IPC_CMND_ENABLE"    reenable PC-IPC
  888.     ignored unless called with the same ID that disabled PC-IPC
  889.  03h "IPC_CMND_DISABLE" disable PC-IPC
  890.  04h "IPC_CMND_INSTALL" reset PC-IPC
  891.  06h "IPC_CMND_RDATA"    read data
  892.     returns first message in data buffer, sets "size" to message length
  893.       and "to ID" field to sender's ID
  894.     if no messages available, bit 4 of status is cleared and "size" is
  895.       set to zero
  896.  07h "IPC_CMND_SDATA"    send data
  897.  08h "IPC_CMND_REQID"    require user ID
  898.     create a new recognized ID and return in "caller's ID" field
  899.  09h "IPC_CMND_DELID"    cancel user ID
  900.     delete caller's ID from pool of recognized IDs
  901.  0Ah "IPC_CMND_RDATAW"    read data, wait if no messages available
  902.  0Bh "IPC_CMND_VERS"    get PC-IPC version
  903.     string representing version returned in data buffer, "size" field
  904.       set to length of string
  905.  
  906. Bitfields for returned status:
  907. Bit(s)    Description    (Table 1913)
  908.  0    unused
  909.  1    IPC enabled
  910.  2    IPC installed
  911.  3    error
  912.  4    message(s) available
  913.  
  914. (Table 1914)
  915. Values for PC-IPC error code:
  916.  00h    no error
  917.  01h    invalid command or parameter
  918.  02h    only process 0 can install/reset IPC
  919.  03h    process can not install/reset IPC
  920.  04h    IPC is not enabled
  921.  05h    process can not disable IPC
  922.  06h    invalid destination process ID
  923.  07h    invalid sending process ID
  924.  08h    invalid data destination
  925.  09h    no more process IDs available
  926.  0Ah    can not relinquish that process ID
  927.  0Bh    message space is full
  928.  0Ch    IPC is not installed
  929. --------R-60---------------------------------
  930. INT 60 - Tangram Arbiter - API
  931. Desc:    Arbiter makes a PC disk look like a slow disk over an SNA link to an
  932.       IBM mainframe
  933. Range:    INT 60h to INT 66h, selected by configuration parameter
  934. Notes:    identified by string "@ARB_API" immediately following a short jump at
  935.       the interrupt handler address
  936. --------N-60---------------------------------
  937. INT 60 - Excelan LAN Workplace for DOS 3.5 - API
  938.     ES:BX -> request packet (see #1915)
  939. Return: request packet updated
  940. Notes:    this interrupt is also supported by Beame&Whiteside's BWLWP35 shim,
  941.       which was used in creating this description
  942.     the installation check consists of testing for the WORD 4142h ('AB')
  943.       immediately preceding the interrupt handler
  944. BUG:    because BWLWP35 range-checks only the low byte of the function number,
  945.       and has a fencepost error even in that test, functions 000Bh and
  946.       XX01h-XX0Bh (XX nonzero) branch to random locations
  947. SeeAlso: INT 2F/AX=7A40h
  948.  
  949. Format of Excelan request packet:
  950. Offset    Size    Description    (Table 1915)
  951.  00h 12 BYTEs    ???
  952.  0Ch    WORD    (ret) error code (see #1916)
  953.  0Eh    DWORD    -> FAR function for ???
  954.  12h    WORD    function number
  955.         0001h ???
  956.         0002h NOP
  957.         0003h NOP
  958.         0004h NOP
  959.         0005h ???
  960.         0006h get ??? record
  961.         0007h NOP
  962.         0008h reset ???
  963.         0009h NOP
  964.         000Ah set ???
  965.     ???
  966. ---function 01h---
  967.  20h    BYTE    (call) subfunction (32h-3Bh)
  968.         3Bh non-blocking I/O request (will be tested every clock tick)
  969.  21h    BYTE    (ret) error code
  970.         00h successful
  971.         09h invalid connection number
  972.         2Ah bad connection type
  973.         45h ???
  974. ---function 01h, subfunction 32h---
  975.  3Ah    WORD    (call) connection type (01h stream, 02h datagram)
  976. ---function 01h, subfunction 34h---
  977.  26h    WORD    (call) ???
  978.  28h    WORD    (call) ???
  979.  2Ah    WORD    (call) ???
  980. ---function 01h, subfunction 35h---
  981.  1Ah    WORD    (call) connection number???
  982.  26h    WORD    (ret) ???
  983. ---function 01h, subfunction 36h---
  984.  1Ah    WORD    (call) connection number???
  985.  38h    WORD    ???
  986. ---function 01h, subfunction 37h---
  987.  24h    WORD    (ret) ???
  988.  26h    WORD    (ret) ???
  989. ---function 01h, subfunction 38h---
  990.  1Ah    WORD    (call) connection number???
  991. ---function 01h, subfunction 3Ah---
  992.  22h    WORD    (call) ???
  993.         667Eh ???
  994.         667Fh ???
  995.  24h    BYTE    (call 667Eh) ???
  996.  24h    WORD    (return 667Fh) ???
  997. ---function 01h, subfunction 3Bh---
  998.  0Eh    DWORD    (call) -> function to invoke for I/O or 0000h:0000h
  999.         function called with AX = 0000h
  1000.                      STACK: DWORD -> request packet
  1001.                         WORD 0000h
  1002.             should return STACK unchanged
  1003.  1Ah    WORD    (call) connection number???
  1004.  21h    BYTE    (ret) set to 01h when I/O becomes possible
  1005.  22h    BYTE    (call) direction (00h write, 01h read)
  1006.  34h    DWORD    (ret) -> next pending request packet
  1007. ---function 05h---
  1008.  1Eh    WORD    (call) ???
  1009.  20h    WORD    (call) ???
  1010.  34h    DWORD    (call) -> ???
  1011. ---function 06h---
  1012.  16h    DWORD    (call) -> buffer for ??? record (see #1917)
  1013.  1Ah    WORD    (call) number of bytes to copy
  1014.  22h    WORD    (ret) number of bytes transferred
  1015. ---function 08h---
  1016.  14h    WORD    (ret) ??? (0001h)
  1017. ---function 0Ah---
  1018.  16h    DWORD    (call) -> WORD ???
  1019.  1Ch    WORD    (call) must be 000Ah for BWLWP35
  1020.  
  1021. (Table 1916)
  1022. Values for Excelan error code:
  1023.  0000h    successful
  1024.  002Dh    invalid function
  1025.  0050h    ???
  1026.  
  1027. Format of ??? record:
  1028. Offset    Size    Description    (Table 1917)
  1029.  00h    WORD    offset of ???
  1030.  02h  4 BYTEs    ???
  1031.  06h    DWORD    IP address (big-endian)
  1032.  0Ah  6 BYTEs    physical address (big-endian)
  1033.     ???
  1034. --------N-60---------------------------------
  1035. INT 60 - TCPDRV 2.01 - TCP/IP Application Binary Interface (ABI)
  1036. Note:    The handler for the interrupt will start with a 2-byte NEAR jump
  1037.       instruction, followed by the ASCIZ signature string "TCP DRVR".
  1038.     To find the interrupt being used by the driver, an application
  1039.       should scan through interrupt vectors 60h to 7Fh until it finds
  1040.       one with the "TCP DRVR" string.
  1041.     This specification is being proposed by Peter R. Tattam from the
  1042.       University of Tasmania.
  1043. Index:    installation check;TCPDRV
  1044. --------G-60---------------------------------
  1045. INT 60 U - INTRSPY/CMDSPY v1.0 only - API
  1046. Program: INTRSPY is a script-driven debugger included with the book
  1047.       _Undocumented_DOS_.
  1048. Notes:    INTRSPY will hook the first available interrupt in the range 60h-67h.
  1049.     The installation check is to
  1050.       a) determine that the handler is an IRET instruction
  1051.       b) the signature 0Dh "INTRSPY vN.NN" immediately precedes the handler
  1052.     If INTRSPY is installed, the DWORD immediately after the IRET stores
  1053.       its entry point (see #1918)
  1054.     INTRSPY v2.0 (included with the second edition of the book) no longer
  1055.       supports this API
  1056. Index:    installation check;INTRSPY
  1057.  
  1058. (Table 1918)
  1059. Call INTRSPY v1.0 entry point with:
  1060.     AH = function
  1061.         00h ???
  1062.         01h set current directory (for use in reporting)
  1063.         ES:DI -> counted string containing directory name (max 79 char)
  1064.         02h set name of script file
  1065.         ES:DI -> counted string containing file name (max 79 chars)
  1066.         03h set script arguments
  1067.         ES:DI -> counted string containing arguments (max 79 chars)
  1068.         04h get directory set with function 01h
  1069.         ES:DI -> 80-byte buffer for directory name
  1070.         05h get name of script file
  1071.         ES:DI -> 80-byte buffer for script filename
  1072.         06h get script arguments
  1073.         ES:DI -> 80-byte buffer for script arguments
  1074.         07h get ???
  1075.         CL = 00h-15h specifies what to get
  1076.         ES:DI -> WORD to be set with desired value on return
  1077.         08h get ???
  1078.         ES:DI -> WORD to be set with returned value
  1079.         09h get ???
  1080.         ES:DI -> WORD to be set with returned value
  1081.         0Bh store code for interrupt handler???
  1082.         ES:DI -> data
  1083.         CX = number of bytes
  1084.         0Ch ???
  1085.         ES:DI -> ???
  1086.         0Dh get ???
  1087.         ES:DI -> BYTE to be set with returned value
  1088.         0Eh set ??? flag
  1089.         0Fh clear ??? flag
  1090.         10h ???
  1091.         Return: AL = 04h or 05h if failed
  1092.         11h ???
  1093.         Return: AL = 05h if failed
  1094.         12h get ???
  1095.         ES:DI -> buffer
  1096.         Return: CX = number of bytes returned in buffer
  1097.         13h ???
  1098. Return: AH = 00h
  1099.     AL = status
  1100.         00h successful
  1101.         01h invalid function
  1102.         02h ???
  1103.         03h ???
  1104.         04h ???
  1105.         05h ???
  1106. --------u-60---------------------------------
  1107. INT 60 U - PC/370 v4.2 - ???
  1108.     ???
  1109. Return: ???
  1110. Program: PC/370 is an IBM 370 emulator by Donald S. Higgins
  1111. Range:    INT 00 to INT FF, selected by patching the executable
  1112. Note:    the documentation includes instructions for patching the system for
  1113.       another interrupt
  1114. SeeAlso: INT 2F/AX=7F24h,INT DC"PC/370"
  1115. --------r-60---------------------------------
  1116. INT 60 - JPI TopSPEED Modula-2 v1 - PROCEDURE ENTRY TRAP
  1117. SeeAlso: INT 61"JPI"
  1118. --------N-60---------------------------------
  1119. INT 60 - FTP Packet Driver - PC/TCP Packet Driver Specification
  1120. Range:    INT 20 to INT FF
  1121. Notes:    The handler for the interrupt will start with a 3-byte jump
  1122.       instruction, followed by the ASCIZ string "PKT DRVR" (the
  1123.       terminating NUL is significant).
  1124.     To find the interrupt being used by the driver, an application should
  1125.       scan through interrupt vectors 20h to FFh (60h through 80h for
  1126.       v1.09- of the specification) until it finds one with the "PKT DRVR"
  1127.       string.
  1128.     AH values of 80h to FFh have been reserved for user-defined additions.
  1129. --------I-60---------------------------------
  1130. INT 60 u - 3270-PC CONTROL PROGRAM - ???
  1131. --------b-60----DI0100-----------------------
  1132. INT 60 u - HP 95LX System Manager - WAIT FOR EVENT
  1133.     DI = 0100h
  1134.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1135.         DWORD    pointer to event record (see #1920)
  1136. Return: event record filled
  1137.     STACK unchanged
  1138. Note:    this call will timeout after about 500ms
  1139. SeeAlso: INT 15/AX=4DD4h,INT 60/DI=0101h,INT 61"HP 95LX",INT 62"HP 95LX"
  1140.  
  1141. (Table 1919)
  1142. Values for HP 95LX event type:
  1143.  00h    no events
  1144.  01h    keystroke available
  1145.  02h    Ctrl-Break
  1146.  03h    reactivation (always follows deactivation event)
  1147.  04h    about to deactivate (sleep)
  1148.     next get-event call will not return until reactivated
  1149.  05h    forced application termination
  1150.  06h    1-2-3 bridge service request (only given to 1-2-3)
  1151.  07h    request to grow
  1152.  08h    request to shrink
  1153.  09h    application's alarm expired
  1154.  0Ah    daily chance to set an alarm
  1155.  0Bh    system date or time has been changed
  1156.  
  1157. Format of HP 95LX event record:
  1158. Offset    Size    Description    (Table 1920)
  1159.  00h    WORD    event type (see #1919)
  1160.  02h    WORD    ASCII code page 850 translation of keystroke
  1161.         or grow/shrink amount in paragraphs or 0000h if error
  1162.         or alarm expiration data
  1163.  04h    BYTE    scan code from BIOS
  1164.  05h    BYTE    shift key states at time keystroke is retrieved
  1165.  06h    WORD    LICS translation of keystroke
  1166.  08h    BYTE    function key number (1-2-3 only)
  1167.  09h    DWORD    pointer to 1-2-3 bridge record (see #1922)
  1168.         or pointer to time change structure (see #1921)
  1169. Note:    if the System Manager is awaiting the conclusion of a bridge service
  1170.       or grow/shrink call and the event type field is set to FFFFh on
  1171.       entry, the SysMgr will resume
  1172.  
  1173. Format of HP 95LX time change structure:
  1174. Offset    Size    Description    (Table 1921)
  1175.  00h    WORD    old year
  1176.  02h    BYTE    old month
  1177.  03h    BYTE    old date
  1178.  04h    BYTE    old day
  1179.  05h    BYTE    old hour
  1180.  06h    BYTE    old minute
  1181.  07h    BYTE    old second
  1182.  08h    BYTE    old hundredth of a second
  1183.  09h  9 BYTEs    new time in same format as old time
  1184. --------b-60----DI0101-----------------------
  1185. INT 60 u - HP 95LX System Manager - CHECK FOR EVENT
  1186.     DI = 0101h
  1187.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1188.         DWORD pointer to event record (INT 60/DI=0100h)
  1189. Return: event record filled
  1190.     STACK unchanged
  1191. Note:    this call returns immediately if no event is available
  1192. SeeAlso: INT 60/DI=0100h
  1193. --------b-60----DI0102-----------------------
  1194. INT 60 u - HP 95LX System Manager - "SH_STATUS"
  1195.     DI = 0102h
  1196.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1197. Return: ???
  1198.     STACK unchanged
  1199. --------b-60----DI0104-----------------------
  1200. INT 60 u - HP 95LX System Manager - LOTUS 1-2-3 BRIDGE SERVICES
  1201.     DI = 0104h
  1202.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1203.         DWORD pointer to bridge record (see #1922)
  1204. Return: ???
  1205.     STACK unchanged
  1206.  
  1207. Format of HP 95LX bridge record:
  1208. Offset    Size    Description    (Table 1922)
  1209.  00h    WORD    function code (see #1923)
  1210.  02h    WORD    return code from 1-2-3
  1211.  04h 16 BYTEs    ASCII range name
  1212.  14h    WORD    start column of range
  1213.  16h    WORD    start row of range
  1214.  18h    WORD    end column of range
  1215.  1Ah    WORD    end row of range
  1216.  1Ch    WORD    order in which data is placed in buffer
  1217.  1Eh    WORD    buffer size
  1218.  20h    WORD    offset within bridge record's segment of buffer for cell data
  1219.  
  1220. (Table 1923)
  1221. Values for HP 95LX function code:
  1222.  00h    test
  1223.  01h    get range
  1224.  02h    "GETRANGE_ADDR"
  1225.  03h    "SETRANGE_ADDR"
  1226.  04h    "GETRANGE_DATA"
  1227.  05h    "SETRANGE_DATA"
  1228.  06h    recalculate
  1229.  07h    get cursor
  1230.  08h    set cursor
  1231.  09h    redisplay
  1232.  0Ah    cell type
  1233.  0Bh    "CALCTYPE"
  1234. --------b-60----DI0105-----------------------
  1235. INT 60 u - HP 95LX System Manager - FLUSH KEYBOARD BUFFER
  1236.     DI = 0105h
  1237.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1238. Return: ???
  1239.     STACK unchanged
  1240. --------b-60----DI0106-----------------------
  1241. INT 60 u - HP 95LX System Manager - YIELD CPU
  1242.     DI = 0106h
  1243.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1244.         DWORD pointer to ???
  1245. Return: ???
  1246.     STACK unchanged
  1247. SeeAlso: INT 15/AX=1000h,INT 2F/AX=1680h
  1248. --------b-60----DI0107-----------------------
  1249. INT 60 u - HP 95LX System Manager - "NO_FINI" - REFUSE TERMINATION REQUEST
  1250.     DI = 0107h
  1251.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1252.         DWORD pointer to ???
  1253. Return: ???
  1254.     STACK unchanged
  1255. SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
  1256. --------b-60----DI0200-----------------------
  1257. INT 60 u - HP 95LX System Manager - SETUP MENU
  1258.     DI = 0200h
  1259.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1260.         DWORD    pointer to menu data (see #1924)
  1261.         DWORD    pointer to ???
  1262.         WORD    number of items on menu???
  1263.         WORD    ???
  1264.         DWORD    pointer to ???
  1265.         WORD    ???
  1266.         DWORD    pointer to ???
  1267. Return: ???
  1268.     STACK unchanged
  1269. SeeAlso: INT 15/AX=4DD4h,INT 60/DI=0201h,INT 60/DI=0203h,INT 60/DI=0205h
  1270.  
  1271. Format of HP 95LX menu data:
  1272. Offset    Size    Description    (Table 1924)
  1273.  00h 80 BYTEs    first line of menu text
  1274.  50h 80 BYTEs    second line of menu text
  1275.  A0h 80 BYTEs    third line of menu text
  1276.  F0h    WORD    number of keywords
  1277.  F2h    WORD    index of currently highlighted keyword or FFFFh
  1278.  F4h    WORD    single prompt on top line if nonzero
  1279.  F6h 20 BYTEs    which line each of 20 keywords is located on
  1280. 10Ah 20 BYTEs    offset of each of 20 keywords within its line
  1281. 11Eh 20 BYTEs    length of each of 20 keywords
  1282. 132h 20 BYTEs    first letter of each of 20 keywords
  1283. 146h 20 WORDs    offsets of long prompts for each of 20 keywords
  1284. --------b-60----DI0201-----------------------
  1285. INT 60 u - HP 95LX System Manager - DISPLAY OR REDISPLAY MENU
  1286.     DI = 0201h
  1287.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1288.         DWORD    pointer to menu data (see #1924)
  1289. Return: ???
  1290.     STACK unchanged
  1291. SeeAlso: INT 60/DI=0200h,INT 60/DI=0202h,INT 60/DI=0206h
  1292. --------b-60----DI0202-----------------------
  1293. INT 60 u - HP 95LX System Manager - "MENU_ON" - ENABLE PROCESSING OF MENU
  1294.     DI = 0202h
  1295.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1296.         DWORD    pointer to menu data (see #1924)
  1297. Return: ???
  1298.     STACK unchanged
  1299. SeeAlso: INT 60/DI=0200h,INT 60/DI=0201h,INT 60/DI=0203h
  1300. --------b-60----DI0203-----------------------
  1301. INT 60 u - HP 95LX System Manager - REMOVE MENU
  1302.     DI = 0203h
  1303.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1304.         DWORD    pointer to menu data (see #1924)
  1305. Return: ???
  1306.     STACK unchanged
  1307. SeeAlso: INT 60/DI=0201h,INT 60/DI=0202h,INT 60/DI=0204h,INT 60/DI=0208h
  1308. --------b-60----DI0204-----------------------
  1309. INT 60 u - HP 95LX System Manager - LET SYSTEM MANAGER HANDLE MENU KEYSTROKE
  1310.     DI = 0204h
  1311.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1312.         DWORD    pointer to menu data (see #1924)
  1313.         WORD    keystroke
  1314.         DWORD    pointer to WORD to receive selection number
  1315. Return: buffer for selection number filled with index of selected menu item or
  1316.       FFFFh if no final selection yet
  1317.     STACK unchanged
  1318. SeeAlso: INT 60/DI=0200h,INT 60/DI=0202h,INT 60/DI=0207h
  1319. --------b-60----DI0205-----------------------
  1320. INT 60 u - HP 95LX System Manager - INITIALIZE FILE SELECTION MENU
  1321.     DI = 0205h
  1322.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1323.         DWORD    pointer to file menu structure (see #1925)
  1324.         DWORD    pointer to edit record (see #1928 at INT 60/DI=0400h)
  1325.         DWORD    pointer to wildcard filespec for initial file list
  1326.         WORD    row???
  1327.         WORD    column???
  1328. Return: ???
  1329.     STACK unchanged
  1330. SeeAlso: INT 60/DI=0200h,INT 60/DI=0206h,INT 60/DI=0208h
  1331.  
  1332. Format of HP 95LX file menu structure:
  1333. Offset    Size    Description    (Table 1925)
  1334.  00h    DWORD    pointer to ASCIZ base directory name
  1335.  04h    DWORD    pointer to ASCIZ file pattern (wildcard filespec)
  1336.  08h    DWORD    pointer to file list workspace, at least 1024 bytes (see #1926)
  1337.  0Ch    WORD    size of file list workspace in bytes
  1338.  0Eh    WORD    starting row (-3 is topmost, 0 is first non-"reserved" line)
  1339.  10h    WORD    starting column
  1340.  12h    WORD    number of lines
  1341.  14h    WORD    number of columns
  1342.  16h    WORD    number of files displayed on each line
  1343. ---the remaining fields are initialized by the System Manager---
  1344.  18h    WORD    0000h if first edit character, else multiline
  1345.  1Ah    WORD    number of files in file list
  1346.  1Ch    WORD    max files workspace has room for
  1347.  1Eh    WORD    file at top of list
  1348.  20h    WORD    index of file to highlight
  1349.  22h    WORD    index of file to unhighlight
  1350.  24h    WORD    current focus (01h FMENU, 02h EDIT)
  1351.  
  1352. Format of HP 95LX file list workspace entry:
  1353. Offset    Size    Description    (Table 1926)
  1354.  00h    BYTE    file attributes
  1355.  01h    WORD    file time (see #0876 at INT 21/AX=5700h)
  1356.  03h    WORD    file date (see #0877 at INT 21/AX=5700h)
  1357.  05h    DWORD    file size
  1358.  09h 13 BYTEs    ASCIZ filename
  1359. --------b-60----DI0206-----------------------
  1360. INT 60 u - HP 95LX System Manager - DISPLAY/REDISPLAY FILE SELECTION MENU
  1361.     DI = 0206h
  1362.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1363.         DWORD    pointer to file menu structure (see #1925)
  1364.         DWORD    pointer to edit record (see #1928 at INT 60/DI=0400h)
  1365. Return: ???
  1366.     STACK unchanged
  1367. SeeAlso: INT 60/DI=0205h
  1368. --------b-60----DI0207-----------------------
  1369. INT 60 u - HP 95LX System Manager - LET SYSMGR PROCESS FILE SEL MENU KEYSTROKE
  1370.     DI = 0207h
  1371.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1372.         DWORD    pointer to file menu structure (see #1925)
  1373.         DWORD    pointer to edit record (see #1928 at INT 60/DI=0400h)
  1374.         WORD    keystroke
  1375. Return: AX = status (see #1927)
  1376.     STACK unchanged
  1377. SeeAlso: INT 60/DI=0205h,INT 60/DI=0208h
  1378.  
  1379. (Table 1927)
  1380. Values for HP 95LX System Manager status:
  1381.  0000h    keystroke processed, call INT 60/DI=0206h to refresh menu
  1382.  0001h    redisplay application area before refreshing menu
  1383.  0002h    user confirmed selection, filename is in edit record's buffer
  1384.  0003h    user aborted menu
  1385.  FFFBh    bad filename
  1386.  FFFCh    bad directory
  1387.  FFFDh    bad drive
  1388.  FFFEh    unknown keystroke
  1389.  FFFFh    keystroke known but invalid in current context
  1390. --------b-60----DI0208-----------------------
  1391. INT 60 u - HP 95LX System Manager - REMOVE FILE SELECTION MENU
  1392.     DI = 0208h
  1393.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1394.         DWORD    pointer to file menu structure (see #1925)
  1395.         DWORD    pointer to edit record (see #1928 at INT 60/DI=0400h)
  1396. Return: ???
  1397.     STACK unchanged
  1398. SeeAlso: INT 15/AX=4DD4h,INT 60/DI=0205h,INT 60/DI=0206h
  1399. --------b-60----DI0300-----------------------
  1400. INT 60 u - HP 95LX System Manager - DISPLAY STRING
  1401.     DI = 0300h
  1402.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1403.         WORD    starting row (-3 is topmost, 0 is first user line)
  1404.         WORD    starting column
  1405.         DWORD    pointer to string
  1406.         WORD    length of string
  1407.         WORD    display style: 0000h normal, 0001h reverse video
  1408.         WORD    "OSTYLE"
  1409. Return: ???
  1410.     STACK unchanged
  1411. SeeAlso: INT 60/DI=0F03h,INT 60/DI=1005h
  1412. --------b-60----DI0301-----------------------
  1413. INT 60 u - HP 95LX System Manager - CLEAR PORTION OF SCREEN
  1414.     DI = 0301h
  1415.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1416.         WORD    starting row (-3 is topmost, 0 is first user line)
  1417.         WORD    starting column
  1418.         WORD    number of rows
  1419.         WORD    number of columns
  1420. Return: ???
  1421.     STACK unchanged
  1422. SeeAlso: INT 60/DI=0302h,INT 60/DI=1005h
  1423. --------b-60----DI0302-----------------------
  1424. INT 60 u - HP 95LX System Manager - SCROLL PORTION OF SCREEN
  1425.     DI = 0302h
  1426.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1427.         WORD    starting row???
  1428.         WORD    starting column???
  1429.         WORD    height of scroll region???
  1430.         WORD    width of scroll region???
  1431.         WORD    number of lines to scroll region???
  1432. Return: ???
  1433.     STACK unchanged
  1434. SeeAlso: INT 60/DI=0301h
  1435. --------b-60----DI0303-----------------------
  1436. INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_XCHG"
  1437.     DI = 0303h
  1438.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1439.         WORD    ???
  1440.         WORD    ???
  1441.         WORD    ???
  1442.         WORD    ???
  1443.         DWORD    pointer to ???
  1444. Return: ???
  1445.     STACK unchanged
  1446. --------b-60----DI0304-----------------------
  1447. INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_CHRATTR"
  1448.     DI = 0304h
  1449.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1450.         DWORD    pointer to ???
  1451.         WORD    ???
  1452. Return: ???
  1453.     STACK unchanged
  1454. --------b-60----DI0305-----------------------
  1455. INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_CHRRVRT"
  1456.     DI = 0305h
  1457.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1458.         WORD    ???
  1459.         WORD    ???
  1460.         DWORD    pointer to ???
  1461.         WORD    ???
  1462. Return: ???
  1463.     STACK unchanged
  1464. --------b-60----DI0307-----------------------
  1465. INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_CHRINV"
  1466.     DI = 0307h
  1467.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1468.         WORD    ???
  1469.         WORD    ???
  1470.         WORD    ???
  1471. Return: ???
  1472.     STACK unchanged
  1473. --------b-60----DI0308-----------------------
  1474. INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_ROWS_COLS"
  1475.     DI = 0308h
  1476.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1477. Return: ???
  1478.     STACK unchanged
  1479. --------b-60----DI0309-----------------------
  1480. INT 60 u - HP 95LX System Manager - SET SCREEN (VIDEO???) MODE
  1481.     DI = 0309h
  1482.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1483.         WORD    new mode
  1484. Return: ???
  1485.     STACK unchanged
  1486. --------b-60----DI030A-----------------------
  1487. INT 60 u - HP 95LX System Manager - GET SCREEN (VIDEO???) MODE
  1488.     DI = 030Ah
  1489.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1490. Return: ???
  1491.     STACK unchanged
  1492. --------b-60----DI030B-----------------------
  1493. INT 60 u - HP 95LX System Manager - SET CURSOR POSITION
  1494.     DI = 030Bh
  1495.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1496.         WORD    row (-3 is topmost, 0 is first non-reserved line)
  1497.         WORD    column
  1498. Return: ???
  1499.     STACK unchanged
  1500. Note:    cursor is hidden if the specified position is not on the physical
  1501.       display
  1502. SeeAlso: INT 10/AH=02h,INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
  1503. --------b-60----DI0400-----------------------
  1504. INT 60 u - HP 95LX System Manager - "EDIT_INIT"
  1505.     DI = 0400h
  1506.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1507.         DWORD    pointer to edit record (see #1928)
  1508.         DWORD    pointer to string to be edited
  1509.         WORD    initial length of string being edited
  1510.         WORD    maximum length of edited string
  1511.         WORD    row of edit field
  1512.         WORD    leftmost column of edit field
  1513. Return: ???
  1514.     STACK unchanged
  1515.  
  1516. Format of HP 95LX edit record:
  1517. Offset    Size    Description    (Table 1928)
  1518.  00h    WORD    current length of edit buffer
  1519.  02h    BYTE    flag for special processing on first character
  1520.  03h    BYTE    flags
  1521.         bit 0: tab handling
  1522.  04h    WORD    editing in prompt window?
  1523.  06h    DWORD    pointer to top line of prompt window message
  1524.  0Ah    WORD    length of top line of prompt
  1525.  0Ch    DWORD    pointer to second line of prompt window message
  1526.  10h    WORD    length of second line of prompt
  1527.  12h 80 BYTEs    workspace for editing
  1528.  62h  2 WORDs    line array needed for multi-line editing
  1529.  66h 36 BYTEs    multi-line edit record (see #1929)
  1530.  8Ah    WORD    displayable columns
  1531.  
  1532. Format of HP 95LX multi-line edit record:
  1533. Offset    Size    Description    (Table 1929)
  1534.  00h    DWORD    pointer to user-supplied edit buffer
  1535.  04h    WORD    length of edit buffer
  1536.  06h    WORD    current cursor position
  1537.  08h    WORD    starting row of edit area (-3 is topmost, 0 is first user line)
  1538.  0Ah    WORD    starting column of edit area
  1539.  0Ch    WORD    height of edit area
  1540.  0Eh    WORD    width of edit area
  1541.  10h    WORD    current top row (-3 is topmost, 0 is first user line)
  1542.  12h    WORD    number of rows displayable
  1543.  14h    BYTE    cursor column
  1544.  15h    BYTE    01h if buffer has been modified
  1545.  16h    BYTE    first displayable column (ticker fields only)
  1546.  17h    BYTE    01h if wordwrap enabled, FFh if ticker field
  1547.  18h    DWORD    pointer to array of line starts (at least one bigger than edit
  1548.           area is high)
  1549.  1Ch    BYTE    currently marking?
  1550.  1Dh    BYTE    flag
  1551.  1Eh    WORD    offset of mark start
  1552.  20h    WORD    offset of mark end (inclusive)
  1553.  22h    WORD    displayable columns
  1554. --------b-60----DI0401-----------------------
  1555. INT 60 u - HP 95LX System Manager - EDIT ON TOP LINE
  1556.     DI = 0401h
  1557.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1558.         DWORD    pointer to edit record (see #1928)
  1559.         DWORD    pointer to string to edit
  1560.         WORD    initial length of string being edited
  1561.         WORD    maximum length of edited string
  1562.         DWORD    pointer to first line of prompt
  1563.         WORD    length of first line
  1564.         DWORD    pointer to second line of prompt
  1565.         WORD    length of second line
  1566. Return: ???
  1567.     STACK unchanged
  1568. --------b-60----DI0402-----------------------
  1569. INT 60 u - HP 95LX System Manager - DISPLAY OR REDISPLAY EDIT FIELD
  1570.     DI = 0402h
  1571.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1572.         DWORD    pointer to edit record (see #1928)
  1573. Return: ???
  1574.     STACK unchanged
  1575. --------b-60----DI0403-----------------------
  1576. INT 60 u - HP 95LX System Manager - LET SYSTEM MANAGER PROCESS EDITING KEYSTROK
  1577.     DI = 0403h
  1578.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1579.         DWORD    pointer to edit record (see #1928)
  1580.         WORD    keystroke
  1581.         DWORD    pointer to WORD buffer for result code
  1582. Return: result code buffer filled with 0001h if editing complete
  1583.     STACK unchanged
  1584. --------b-60----DI0404-----------------------
  1585. INT 60 u - HP 95LX System Manager - "MDIT_INI"
  1586.     DI = 0404h
  1587.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1588.         DWORD    pointer to ???
  1589.         WORD    ???
  1590.         WORD    ???
  1591.         WORD    ???
  1592.         WORD    ???
  1593.         DWORD    pointer to ???
  1594.         WORD    ???
  1595.         WORD    ???
  1596.         WORD    ???
  1597.         DWORD    pointer to ???
  1598. Return: ???
  1599.     STACK unchanged
  1600. --------b-60----DI0405-----------------------
  1601. INT 60 u - HP 95LX System Manager - "MDIT_DIS"
  1602.     DI = 0405h
  1603.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1604.         DWORD    pointer to ???
  1605. Return: ???
  1606.     STACK unchanged
  1607. --------b-60----DI0406-----------------------
  1608. INT 60 u - HP 95LX System Manager - "MDIT_KEY"
  1609.     DI = 0406h
  1610.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1611.         DWORD    pointer to ???
  1612.         WORD    ???
  1613. Return: ???
  1614.     STACK unchanged
  1615. --------b-60----DI0407-----------------------
  1616. INT 60 u - HP 95LX System Manager - "MDIT_FIL"
  1617.     DI = 0407h
  1618.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1619.         DWORD    pointer to ???
  1620.         DWORD    pointer to ???
  1621. Return: ???
  1622.     STACK unchanged
  1623. --------b-60----DI0408-----------------------
  1624. INT 60 u - HP 95LX System Manager - "MDIT_MARK"
  1625.     DI = 0408h
  1626.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1627.         DWORD    pointer to ???
  1628. Return: ???
  1629.     STACK unchanged
  1630. --------b-60----DI0409-----------------------
  1631. INT 60 u - HP 95LX System Manager - "MDIT_UNMARK"
  1632.     DI = 0409h
  1633.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1634.         DWORD    pointer to ???
  1635. Return: ???
  1636.     STACK unchanged
  1637. --------b-60----DI040A-----------------------
  1638. INT 60 u - HP 95LX System Manager - "MDIT_CUTMARK"
  1639.     DI = 040Ah
  1640.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1641.         DWORD    pointer to ???
  1642. Return: ???
  1643.     STACK unchanged
  1644. --------b-60----DI040B-----------------------
  1645. INT 60 u - HP 95LX System Manager - "MDIT_INS_STR"
  1646.     DI = 040Bh
  1647.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1648.         DWORD    pointer to ???
  1649.         DWORD    pointer to ???
  1650.         WORD    ???
  1651. Return: ???
  1652.     STACK unchanged
  1653. SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
  1654. --------b-60----DI0500-----------------------
  1655. INT 60 u - HP 95LX System Manager - OPEN FILE
  1656.     DI = 0500h
  1657.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1658.         DWORD    pointer to file state record (see #1930)
  1659.         DWORD    pointer to filename
  1660.         WORD    length of filename
  1661.         WORD    ???
  1662.         WORD    suppress buffering if nonzero
  1663. Return: AX = status
  1664.     STACK unchanged
  1665. SeeAlso: INT 60/DI=0501h,INT 60/DI=0502h,INT 60/DI=0508h
  1666.  
  1667. Format of HP 95LX file state record:
  1668. Offset    Size    Description    (Table 1930)
  1669.  00h    WORD    DOS file handle
  1670.  02h    WORD    state flags (see #1931)
  1671.  04h    DWORD    current DOS physical file offset (FFFFFFFFh if unknown)
  1672.  08h    DWORD    DOS file offset of start of buffer
  1673.  0Ch    DWORD    effective file offset as seen by caller
  1674.  10h    WORD    number of bytes in file buffer
  1675. ---buffered I/O only---
  1676.  12h 512 BYTEs    file buffer
  1677.  
  1678. Bitfields for HP 95LX file state flags:
  1679. Bit(s)    Description    (Table 1931)
  1680.  0    buffer contents valid
  1681.  1    buffer is dirty and must be written
  1682.  2    unbuffered I/O
  1683.  3    file is a character device
  1684. SeeAlso: #1930
  1685. --------b-60----DI0501-----------------------
  1686. INT 60 u - HP 95LX System Manager - OPEN FILE IN READ-ONLY MODE
  1687.     DI = 0501h
  1688.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1689.         DWORD    pointer to file state record (see #1930)
  1690.         DWORD    pointer to filename
  1691.         WORD    length of filename
  1692.         WORD    ???
  1693.         WORD    suppress buffering if nonzero
  1694. Return: AX = status
  1695.     STACK unchanged
  1696. SeeAlso: INT 60/DI=0500h
  1697. --------b-60----DI0502-----------------------
  1698. INT 60 u - HP 95LX System Manager - CREATE NEW FILE
  1699.     DI = 0502h
  1700.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1701.         DWORD    pointer to file state record (see #1930)
  1702.         DWORD    pointer to filename
  1703.         WORD    length of filename
  1704.         WORD    ???
  1705.         WORD    suppress buffering if nonzero
  1706. Return: AX = status
  1707.     STACK unchanged
  1708. SeeAlso: INT 60/DI=0500h,INT 60/DI=0503h
  1709. --------b-60----DI0503-----------------------
  1710. INT 60 u - HP 95LX System Manager - CREATE OR TRUNCATE FILE
  1711.     DI = 0503h
  1712.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1713.         DWORD    pointer to file state record (see #1930)
  1714.         DWORD    pointer to filename
  1715.         WORD    length of filename
  1716.         WORD    ???
  1717.         WORD    suppress buffering if nonzero
  1718. Return: AX = status
  1719.     STACK unchanged
  1720. SeeAlso: INT 60/DI=0502h
  1721. --------b-60----DI0504-----------------------
  1722. INT 60 u - HP 95LX System Manager - READ FROM FILE
  1723.     DI = 0504h
  1724.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1725.         DWORD    pointer to file state record (see #1930)
  1726.         DWORD    pointer to data buffer
  1727.         WORD    number of bytes to read
  1728.         DWORD    pointer to WORD in which to return actual bytes read
  1729. Return: ???
  1730.     STACK unchanged
  1731. SeeAlso: INT 60/DI=0505h
  1732. --------b-60----DI0505-----------------------
  1733. INT 60 - HP 95LX System Manager - WRITE TO FILE
  1734.     DI = 0505h
  1735.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1736.         DWORD    pointer to file state record (see #1930)
  1737.         DWORD    pointer to data
  1738.         WORD    length of data
  1739. Return: AX = status
  1740.     STACK unchanged
  1741. SeeAlso: INT 60/DI=0504h
  1742. --------b-60----DI0506-----------------------
  1743. INT 60 u - HP 95LX System Manager - SET FILE POSITION
  1744.     DI = 0506h
  1745.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1746.         DWORD    pointer to file state record (see #1930)
  1747.         2 WORDs    ???
  1748. Return: ???
  1749.     STACK unchanged
  1750. SeeAlso: INT 60/DI=0507h
  1751. --------b-60----DI0507-----------------------
  1752. INT 60 u - HP 95LX System Manager - GET FILE POSITION
  1753.     DI = 0507h "M_TELL"
  1754.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1755.         DWORD    pointer to file state record (see #1930)
  1756.         DWORD    pointer to DWORD buffer for file position???
  1757. Return: ???
  1758.     STACK unchanged
  1759. SeeAlso: INT 60/DI=0506h
  1760. --------b-60----DI0508-----------------------
  1761. INT 60 u - HP 95LX System Manager - CLOSE FILE
  1762.     DI = 0508h
  1763.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1764.         DWORD    pointer to file state record (see #1930)
  1765. Return: ???
  1766.     STACK unchanged
  1767. SeeAlso: INT 60/DI=0500h
  1768. --------b-60----DI0509-----------------------
  1769. INT 60 u - HP 95LX System Manager - FILE SERVICE "M_SETPAT"
  1770.     DI = 0509h
  1771.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1772.         DWORD    pointer to ???
  1773.         DWORD    pointer to ???
  1774.         WORD    ???
  1775.         WORD    ???
  1776. Return: ???
  1777.     STACK unchanged
  1778. --------b-60----DI050A-----------------------
  1779. INT 60 u - HP 95LX System Manager - FILE SERVICE "M_MATCH"
  1780.     DI = 050Ah
  1781.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1782.         DWORD    pointer to ??? (see #1932)
  1783.         DWORD    pointer to ???
  1784. Return: ???
  1785.     STACK unchanged
  1786.  
  1787. Format of HP 95LX pattern match control block:
  1788. Offset    Size    Description    (Table 1932)
  1789.  00h 43 BYTEs    FindFirst data block (see #0839 at INT 21/AH=4Eh)
  1790.  2Bh 80 BYTEs    full path name
  1791.  7Bh    BYTE    offset of last component of filename
  1792.  7Ch    BYTE    DOS function number (4Eh or 4Fh)
  1793. --------b-60----DI050B-----------------------
  1794. INT 60 u - HP 95LX System Manager - IDENTIFY FILENAME REFERENT
  1795.     DI = 050Bh
  1796.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1797.         DWORD    pointer to ???
  1798.         WORD    ???
  1799.         WORD    ???
  1800.         DWORD    pointer to ???
  1801. Return: ??? = result (see #1933)
  1802.     ???
  1803.     STACK unchanged
  1804.  
  1805. (Table 1933)
  1806. Values returned by HP 95LX System Manager:
  1807.  0000h    nonexistent
  1808.  0001h    file
  1809.  0002h    directory
  1810.  0003h    character device
  1811. --------b-60----DI050C-----------------------
  1812. INT 60 u - HP 95LX System Manager - DELETE FILE
  1813.     DI = 050Ch "M_DELETE"
  1814.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1815.         DWORD    pointer to ???
  1816.         WORD    ???
  1817.         WORD    ???
  1818. Return: ???
  1819.     STACK unchanged
  1820. --------b-60----DI050D-----------------------
  1821. INT 60 u - HP 95LX System Manager - RENAME FILE
  1822.     DI = 050Dh
  1823.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1824.         DWORD    pointer to ???
  1825.         WORD    ???
  1826.         WORD    ???
  1827.         DWORD    pointer to ???
  1828.         WORD    ???
  1829.         WORD    ???
  1830. Return: ???
  1831.     STACK unchanged
  1832. --------b-60----DI050E-----------------------
  1833. INT 60 u - HP 95LX System Manager - FILE SERVICE "M_GETDIR"
  1834.     DI = 050Eh
  1835.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1836.         WORD    ???
  1837.         DWORD    pointer to ???
  1838.         DWORD    pointer to ???
  1839. Return: ???
  1840.     STACK unchanged
  1841. --------b-60----DI050F-----------------------
  1842. INT 60 u - HP 95LX System Manager - FILE SERVICE "M_SETDIR"
  1843.     DI = 050Fh
  1844.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1845.         DWORD    pointer to ???
  1846.         WORD    ???
  1847. Return: ???
  1848.     STACK unchanged
  1849. --------b-60----DI0510-----------------------
  1850. INT 60 u - HP 95LX System Manager - FILE SERVICE "M_VOLUME"
  1851.     DI = 0510h
  1852.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1853.         DWORD    pointer to ???
  1854.         DWORD    pointer to ???
  1855. Return: ???
  1856.     STACK unchanged
  1857. --------b-60----DI0511-----------------------
  1858. INT 60 u - HP 95LX System Manager - MAKE A SUBDIRECTORY
  1859.     DI = 0511h
  1860.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1861.         DWORD    pointer to ???
  1862.         WORD    ???
  1863.         WORD    ???
  1864. Return: ???
  1865.     STACK unchanged
  1866. SeeAlso: INT 21/AH=39h,INT 60/DI=0512h
  1867. --------b-60----DI0512-----------------------
  1868. INT 60 u - HP 95LX System Manager - REMOVE A SUBDIRECTORY
  1869.     DI = 0512h
  1870.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1871.         DWORD    pointer to ???
  1872.         WORD    ???
  1873.         WORD    ???
  1874. Return: ???
  1875.     STACK unchanged
  1876. SeeAlso: INT 21/AH=3Ah,INT 60/DI=0511h
  1877. --------b-60----DI0513-----------------------
  1878. INT 60 u - HP 95LX System Manager - GET DEFAULT DRIVE
  1879.     DI = 0513h
  1880.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1881.         DWORD    pointer to ??? buffer for current drive
  1882. Return: ???
  1883.     STACK unchanged
  1884. SeeAlso: INT 21/AH=19h,INT 60/DI=0514h
  1885. --------b-60----DI0514-----------------------
  1886. INT 60 u - HP 95LX System Manager - SET DEFAULT DRIVE
  1887.     DI = 0514h
  1888.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1889.         WORD    new drive
  1890. Return: ???
  1891.     STACK unchanged
  1892. SeeAlso: INT 21/AH=0Eh,INT 60/DI=0513h
  1893. --------b-60----DI0515-----------------------
  1894. INT 60 u - HP 95LX System Manager - FILE SERVICE "M_FDATE"
  1895.     DI = 0515h
  1896.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1897.         DWORD    pointer to ???
  1898.         DWORD    pointer to ???
  1899. Return: ???
  1900.     STACK unchanged
  1901. --------b-60----DI0516-----------------------
  1902. INT 60 u - HP 95LX System Manager - FILE SERVICE "M_GET_SYSDIR"
  1903.     DI = 0516h
  1904.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1905.         DWORD    pointer to ???
  1906. Return: ???
  1907.     STACK unchanged
  1908. --------b-60----DI0517-----------------------
  1909. INT 60 u - HP 95LX System Manager - GET FILE ATTRIBUTES
  1910.     DI = 0517h
  1911.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1912.         DWORD    pointer to ???
  1913.         WORD    ???
  1914.         WORD    ???
  1915.         DWORD    pointer to ??? buffer for file's attributes???
  1916. Return: ???
  1917.     STACK unchanged
  1918. SeeAlso: INT 21/AX=4300h,INT 60/DI=0518h
  1919. --------b-60----DI0518-----------------------
  1920. INT 60 u - HP 95LX System Manager - SET FILE ATTRIBUTES
  1921.     DI = 0518h
  1922.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1923.         DWORD    pointer to ???
  1924.         WORD    ???
  1925.         WORD    ???
  1926.         WORD    new attributes???
  1927. Return: ???
  1928.     STACK unchanged
  1929. SeeAlso: INT 21/AX=4301h,INT 60/DI=0517h
  1930. --------b-60----DI0519-----------------------
  1931. INT 60 u - HP 95LX System Manager - FILE SERVICE "M_COMMON_OPEN"
  1932.     DI = 0519h
  1933.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1934.         DWORD    pointer to ???
  1935.         DWORD    pointer to ???
  1936.         WORD    ???
  1937.         WORD    ???
  1938.         WORD    ???
  1939.         WORD    ???
  1940.         WORD    ???
  1941. Return: ???
  1942.     STACK unchanged
  1943. --------b-60----DI051A-----------------------
  1944. INT 60 u - HP 95LX System Manager - FILE SERVICE "M_COPYDT"
  1945.     DI = 051Ah
  1946.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1947.         DWORD    pointer to ???
  1948.         DWORD    pointer to ???
  1949. Return: ???
  1950.     STACK unchanged
  1951. --------b-60----DI051B-----------------------
  1952. INT 60 u - HP 95LX System Manager - FILE SERVICE "M_GETFDT"
  1953.     DI = 051Bh
  1954.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1955.         DWORD    pointer to ???
  1956.         DWORD    pointer to ???
  1957. Return: ???
  1958.     STACK unchanged
  1959. --------b-60----DI051C-----------------------
  1960. INT 60 u - HP 95LX System Manager - FILE SERVICE "M_PUTFDT"
  1961.     DI = 051Ch
  1962.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1963.         DWORD    pointer to ???
  1964.         WORD    ???
  1965. Return: ???
  1966.     STACK unchanged
  1967. --------b-60----DI0600-----------------------
  1968. INT 60 u - HP 95LX System Manager - PROCESS INITIALIZING
  1969.     DI = 0600h
  1970.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1971. Return: ???
  1972.     STACK unchanged
  1973. SeeAlso: INT 15/AX=4DD4h,INT 60/DI=0601h,INT 61"HP 95LX"
  1974. --------b-60----DI0601-----------------------
  1975. INT 60 u - HP 95LX System Manager - PROCESS TERMINATION
  1976.     DI = 0601h
  1977.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1978. Return: never
  1979.     STACK unchanged
  1980. SeeAlso: INT 21/AH=4Ch,INT 2F/AX=1122h,INT 60/DI=0600h
  1981. --------b-60----DI0602-----------------------
  1982. INT 60 u - HP 95LX System Manager - "M_LOCK" - PREVENT TASK SWITCHES
  1983.     DI = 0602h
  1984.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1985. Return: ???
  1986.     STACK unchanged
  1987. SeeAlso: INT 15/AX=101Bh,INT 2F/AX=1681h,INT 60/DI=0603h
  1988. --------b-60----DI0603-----------------------
  1989. INT 60 u - HP 95LX System Manager - "M_UNLOCK" - ALLOW TASK SWITCHES
  1990.     DI = 0603h
  1991.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1992. Return: ???
  1993.     STACK unchanged
  1994. SeeAlso: INT 15/AX=101Ch,INT 2F/AX=1682h,INT 60/DI=0602h
  1995. --------b-60----DI0604-----------------------
  1996. INT 60 u - HP 95LX System Manager - "M_SPAWN"
  1997.     DI = 0604h
  1998.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  1999.         DWORD    pointer to ???
  2000.         WORD    ???
  2001.         WORD    ???
  2002.         DWORD    pointer to ???
  2003. Return: ???
  2004.     STACK unchanged
  2005. SeeAlso: INT 21/AH=4Bh
  2006. --------b-60----DI0605-----------------------
  2007. INT 60 u - HP 95LX System Manager - "M_APPCOUNT"
  2008.     DI = 0605h
  2009.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2010. Return: ???
  2011.     STACK unchanged
  2012. --------b-60----DI0606-----------------------
  2013. INT 60 u - HP 95LX System Manager - "M_REBOOT"
  2014.     DI = 0606h
  2015.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2016. Return: ???
  2017.     STACK unchanged
  2018. SeeAlso: INT 14/AH=17h"FOSSIL",INT 19
  2019. --------b-60----DI0607-----------------------
  2020. INT 60 u - HP 95LX System Manager - "M_SPAWNARG"
  2021.     DI = 0607h
  2022.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2023.         DWORD    pointer to ???
  2024.         WORD    ???
  2025.         DWORD    pointer to ???
  2026.         WORD    ???
  2027. Return: ???
  2028.     STACK unchanged
  2029. --------b-60----DI0608-----------------------
  2030. INT 60 u - HP 95LX System Manager - "M_REG_APP_NAME"
  2031.     DI = 0608h
  2032.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2033.         DWORD    pointer to ???
  2034. Return: ???
  2035.     STACK unchanged
  2036. --------b-60----DI0609-----------------------
  2037. INT 60 u - HP 95LX System Manager - "M_APP_NAME"
  2038.     DI = 0609h
  2039.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2040.         DWORD    pointer to ???
  2041. Return: DX:AX -> ???
  2042.     STACK unchanged
  2043. SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
  2044. --------b-60----DI0700-----------------------
  2045. INT 60 u - HP 95LX System Manager - OPEN CLIPBOARD
  2046.     DI = 0700h
  2047.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2048. Return: ??? = error code (see #1934)
  2049.     ???
  2050.     STACK unchanged
  2051. SeeAlso: INT 60/DI=0701h,INT 60/DI=0702h
  2052.  
  2053. (Table 1934)
  2054. Values for HP 95LX error code:
  2055.  0000h    successful
  2056.  FFF8h    transfer request out of bounds
  2057.  FFF9h    no such representation
  2058.  FFFAh    no representation open
  2059.  FFFBh    a representation is already open
  2060.  FFFCh    representation already exists
  2061.  FFFDh    heap allocation failure
  2062.  FFFEh    clipboard not open
  2063.  FFFFh    clipboard access denied
  2064. --------b-60----DI0701-----------------------
  2065. INT 60 u - HP 95LX System Manager - CLOSE CLIPBOARD
  2066.     DI = 0701h
  2067.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2068. Return: ???
  2069.     STACK unchanged
  2070. SeeAlso: INT 60/DI=0700h,INT 60/DI=0702h
  2071. --------b-60----DI0702-----------------------
  2072. INT 60 u - HP 95LX System Manager - RESET CLIPBOARD
  2073.     DI = 0702h
  2074.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2075.         DWORD    pointer to ???
  2076. Return: ???
  2077.     STACK unchanged
  2078. SeeAlso: INT 60/DI=0700h
  2079. --------b-60----DI0704-----------------------
  2080. INT 60 u - HP 95LX System Manager - "M_NEW_REP" - START A NEW REPRESENTATION???
  2081.     DI = 0704h
  2082.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2083.         DWORD    pointer to ???
  2084. Return: ???
  2085.     STACK unchanged
  2086. SeeAlso: INT 60/DI=0705h,INT 60/DI=0706h,INT 60/DI=0707h
  2087. --------b-60----DI0705-----------------------
  2088. INT 60 u - HP 95LX System Manager - CLIPBOARD SERVICE "M_FINI_REP"
  2089.     DI = 0705h
  2090.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2091. Return: ???
  2092.     STACK unchanged
  2093. SeeAlso: INT 60/DI=0704h
  2094. --------b-60----DI0706-----------------------
  2095. INT 60 u - HP 95LX System Manager - CLIPBOARD SERVICE "M_REP_NAME"
  2096.     DI = 0706h
  2097.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2098.         WORD    ???
  2099.         DWORD    pointer to ???
  2100.         DWORD    pointer to ???
  2101. Return: ???
  2102.     STACK unchanged
  2103. SeeAlso: INT 60/DI=0704h,INT 60/DI=0707h
  2104. --------b-60----DI0707-----------------------
  2105. INT 60 u - HP 95LX System Manager - CLIPBOARD SERVICE "M_REP_INDEX"
  2106.     DI = 0707h
  2107.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2108.         DWORD    pointer to ???
  2109.         DWORD    pointer to ???
  2110.         DWORD    pointer to ???
  2111. Return: ???
  2112.     STACK unchanged
  2113. SeeAlso: INT 60/DI=0704h,INT 60/DI=0706h
  2114. --------b-60----DI0708-----------------------
  2115. INT 60 u - HP 95LX System Manager - WRITE TO CLIPBOARD
  2116.     DI = 0708h
  2117.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2118.         DWORD    pointer to data to be written???
  2119.         WORD    length of data???
  2120. Return: ???
  2121.     STACK unchanged
  2122. SeeAlso: INT 60/DI=0709h
  2123. --------b-60----DI0709-----------------------
  2124. INT 60 u - HP 95LX System Manager - READ FROM CLIPBOARD
  2125.     DI = 0709h
  2126.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2127.         WORD    ???
  2128.         WORD    ???
  2129.         DWORD    pointer to buffer for data???
  2130.         WORD    length of buffer???
  2131. Return: ???
  2132.     STACK unchanged
  2133. SeeAlso: INT 60/DI=0708h
  2134. --------b-60----DI0800-----------------------
  2135. INT 60 u - HP 95LX System Manager - BEEP
  2136.     DI = 0800h
  2137.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2138. Return: ???
  2139.     STACK unchanged
  2140. SeeAlso: INT 60/DI=0801h,INT 60/DI=0802h,INT 60/DI=0803h
  2141. --------b-60----DI0801-----------------------
  2142. INT 60 u - HP 95LX System Manager - SOUND SERVICE "M_THUD"
  2143.     DI = 0801h
  2144.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2145. Return: ???
  2146.     STACK unchanged
  2147. SeeAlso: INT 60/DI=0800h,INT 60/DI=0802h,INT 60/DI=0803h
  2148. --------b-60----DI0802-----------------------
  2149. INT 60 u - HP 95LX System Manager - MAKE A SOUND PATTERN
  2150.     DI = 0802h
  2151.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2152.         WORD    pattern number (00h-06h)
  2153. Return: ???
  2154.     STACK unchanged
  2155. SeeAlso: INT 60/DI=0800h,INT 60/DI=0801h,INT 60/DI=0803h
  2156. --------b-60----DI0803-----------------------
  2157. INT 60 u - HP 95LX System Manager - TURN OFF SOUND
  2158.     DI = 0803h
  2159.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2160. Return: ???
  2161.     STACK unchanged
  2162. SeeAlso: INT 60/DI=0800h,INT 60/DI=0801h,INT 60/DI=0802h
  2163. --------b-60----DI0900-----------------------
  2164. INT 60 - HP 95LX System Manager - ALLOCATE REGULAR MEMORY BLOCK
  2165.     DI = 0900h
  2166.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2167.         WORD    size of block in bytes
  2168. Return: AX -> memory block
  2169.     STACK unchanged
  2170. Note:    System Manager-compliant applications are always small-model (64K code,
  2171.       64K data)
  2172. SeeAlso: INT 15/AX=4DD4h,INT 60/DI=0902h,INT 60/DI=0903h
  2173. --------b-60----DI0902-----------------------
  2174. INT 60 u - HP 95LX System Manager - FREE REGULAR MEMORY BLOCK
  2175.     DI = 0902h
  2176.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2177.         WORD    offset of memory block???
  2178. Return: ???
  2179.     STACK unchanged
  2180. Note:    System Manager-compliant applications are always small-model (64K code,
  2181.       64K data)
  2182. SeeAlso: INT 60/DI=0900h,INT 60/DI=0904h
  2183. --------b-60----DI0903-----------------------
  2184. INT 60 u - HP 95LX System Manager - ALLOCATE LARGE MEMORY BLOCK
  2185.     DI = 0903h
  2186.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2187.         WORD    size of block in bytes???
  2188. Return: AX -> memory block???
  2189.     STACK unchanged
  2190. SeeAlso: INT 60/DI=0900h,INT 60/DI=0904h
  2191. --------b-60----DI0904-----------------------
  2192. INT 60 u - HP 95LX System Manager - FREE LARGE MEMORY BLOCK
  2193.     DI = 0904h
  2194.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2195.         WORD    segment of memory block???
  2196. Return: AX -> ???
  2197.     STACK unchanged
  2198. SeeAlso: INT 60/DI=0902h,INT 60/DI=0903h
  2199. --------b-60----DI0B00-----------------------
  2200. INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_DTINFO"
  2201.     DI = 0B00h
  2202.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2203.         DWORD    pointer to ???
  2204. Return: ???
  2205.     STACK unchanged
  2206. --------b-60----DI0B01-----------------------
  2207. INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_GETDTM"
  2208.     DI = 0B01h
  2209.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2210.         DWORD    pointer to ???
  2211. Return: ???
  2212.     STACK unchanged
  2213. --------b-60----DI0B02-----------------------
  2214. INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_SETDTM"
  2215.     DI = 0B02h
  2216.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2217.         DWORD    pointer to ???
  2218. Return: ???
  2219.     STACK unchanged
  2220. --------b-60----DI0B03-----------------------
  2221. INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_XALARM"
  2222.     DI = 0B03h
  2223.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2224.         WORD    ???
  2225. Return: ???
  2226.     STACK unchanged
  2227. --------b-60----DI0B04-----------------------
  2228. INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_ALARM"
  2229.     DI = 0B04h
  2230.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2231.         DWORD    pointer to alarm record??? (see #1935)
  2232.         WORD    ???
  2233. Return: ???
  2234.     STACK unchanged
  2235.  
  2236. Format of HP 95LX alarm record:
  2237. Offset    Size    Description    (Table 1935)
  2238.  00h    BYTE    hour
  2239.  01h    BYTE    minute
  2240.  02h    BYTE    second
  2241.  03h    BYTE    unused padding
  2242.  04h    WORD    rescheduling interval, in seconds
  2243.  06h    BYTE    are seconds significant?
  2244.  07h    BYTE    alarm sound
  2245.  08h 40 BYTEs    message displayed when alarm activates
  2246.  30h    BYTE    task ID of owner
  2247.  31h    BYTE    application's own use for sub-class
  2248.  32h  4 BYTEs    application's own use for private data
  2249. --------b-60----DI0B05-----------------------
  2250. INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_START_SW"
  2251.     DI = 0B05h
  2252.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2253.         DWORD    pointer to ???
  2254. Return: ???
  2255.     STACK unchanged
  2256. --------b-60----DI0B06-----------------------
  2257. INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_GET_SW"
  2258.     DI = 0B06h
  2259.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2260.         DWORD    pointer to ???
  2261.         DWORD    pointer to ???
  2262.         DWORD    pointer to ???
  2263. Return: ???
  2264.     STACK unchanged
  2265. --------b-60----DI0B07-----------------------
  2266. INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_STOP_SW"
  2267.     DI = 0B07h
  2268.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2269.         DWORD    pointer to ???
  2270. Return: ???
  2271.     STACK unchanged
  2272. --------b-60----DI0B08-----------------------
  2273. INT 60 u - HP 95LX System Manager - "M_TELLTIME" - DISPLAY TIMESTAMP
  2274.     DI = 0B08h
  2275.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2276.         WORD    timestamp format (see #1936)
  2277.         WORD    row (-3 is topmost, 0 is first non-reserved line)
  2278.         WORD    column
  2279. Return: ???
  2280.     STACK unchanged
  2281.  
  2282. Bitfields for HP 95LX timestamp format:
  2283. Bit(s)    Description    (Table 1936)
  2284.  1-0    timestamp components
  2285.     00 date only
  2286.     01 time only
  2287.     10 date and time
  2288.     11 day and date
  2289.  4    supply am/pm
  2290.  5    supply seconds
  2291.  6    show year
  2292.  7    four-digit year
  2293. --------b-60----DI0B09-----------------------
  2294. INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_GET_SETTINGS"
  2295.     DI = 0B09h
  2296.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2297.         DWORD    pointer to ??? (see #1937)
  2298.         DWORD    pointer to ???
  2299. Return: ???
  2300.     STACK unchanged
  2301. SeeAlso: INT 60/DI=0B0Ah,INT 60/DI=0B0Fh
  2302.  
  2303. Format of HP 95LX system settings:
  2304. Offset    Size    Description    (Table 1937)
  2305.  00h    WORD    country code
  2306.  02h    WORD    speaker volume (00h-03h or FFh for off)
  2307.  04h    WORD    contrast level (00h-0Fh)
  2308.  06h    WORD    week start (00h Sunday, 01h Monday)
  2309.  08h    WORD    punctuation format (see #1938)
  2310.  0Ah    WORD    two-character language code (only 5355h = "US" byte-swapped)
  2311.  0Ch    WORD    current date format (see #1939)
  2312.  0Eh    WORD    current time format (see #1940)
  2313.  10h    WORD    collating sequence
  2314.         00h numbers first, 01h letters first, 02h ASCII
  2315.  12h 80 BYTEs    name of picture file
  2316.  62h 30 BYTEs    name
  2317.  80h 30 BYTEs    title
  2318.  9Eh 28 BYTEs    company name
  2319.  BAh    WORD    number of languages
  2320.  BCh  6 BYTEs    available languages
  2321.  C2h 66 BYTEs    language menu
  2322. 104h  2 BYTEs    ASCIZ date separator
  2323. 106h  2 BYTEs    ASCIZ time separator
  2324. 108h    BYTE    date order
  2325. 109h    BYTE    use 24 hour time?
  2326. 10Ah 16 BYTEs    currency string
  2327. 11Ah    WORD    currency string position (00h prefix, 01h suffix)
  2328. 11Ch    WORD    keyboard (see #1941)
  2329. 11Eh    WORD    printer baud rate
  2330.         00h 300, 01h 1200, 02h 2400, 03h 4800, 04h 9600, 05h 19200
  2331. 120h    WORD    printer driver code
  2332.         00h Epson FX80, 01h HP Laserjet, 02h IBM ProPrinter
  2333. 122h    WORD    printer interface (00h COM1, 01h COM2, 02h IR, 03h LPT1)
  2334. 124h    WORD    system manager interrupt (60h by default)
  2335. 126h    WORD    code page (01h CP850, 02h CP437)
  2336. 128h    WORD    active exit key
  2337. 12Ah    WORD    active menu key
  2338. 12Ch    WORD    active CHAR key toggle
  2339. 12Eh  6 BYTEs    alarm
  2340.  
  2341. (Table 1938)
  2342. Values for HP 95LX punctuation format:
  2343.  code    decimal arg    thousands
  2344.  00h    .    ,    ,
  2345.  01h    ,    .    .
  2346.  02h    .    ;    ;
  2347.  03h    ,    ;    .
  2348.  04h    .    ,    " "
  2349.  05h    ,    .    " "
  2350.  06h    .    ;    " "
  2351.  07h    ,    ;    " "
  2352.  
  2353. (Table 1939)
  2354. Values for HP 95LX current date format:
  2355.  00h    dd-mmm-yy
  2356.  01h    dd-mmm
  2357.  02h    mmm-yy
  2358.  03h    mm/dd/yy
  2359.  04h    dd/mm/yy
  2360.  05h    dd.mm.yy
  2361.  06h    yy-mm-dd
  2362.  07h    mm/dd
  2363.  08h    dd/mm
  2364.  09h    dd.mm
  2365.  0Ah    mm-dd
  2366.  
  2367. (Table 1940)
  2368. Values for HP 95LX current time format:
  2369.  00h    HH:MM:SS am/pm
  2370.  01h    HH:MM am/pm
  2371.  02h    HH:MM:SS
  2372.  03h    HH.MM.SS
  2373.  04h    HH,MM,SS
  2374.  05h    HHhMMmSSs
  2375.  06h    HH:MM
  2376.  07h    HH.MM
  2377.  08h    HH,MM
  2378.  09h    HHhMMm
  2379.  
  2380. (Table 1941)
  2381. Values for HP 95LX keyboard layout:
  2382.  0001h    Belgium
  2383.  0002h    French Canadian
  2384.  0004h    Denmark
  2385.  0008h    Finland
  2386.  0010h    French
  2387.  0020h    Finland
  2388.  0040h    Italy
  2389.  0080h    Netherlands
  2390.  0100h    Norway
  2391.  0200h    Portugal
  2392.  0400h    Spain
  2393.  0800h    Sweden
  2394.  1000h    Swiss French
  2395.  2000h    Swiss German
  2396.  4000h    United Kingdom
  2397.  8000h    USA
  2398. --------b-60----DI0B0A-----------------------
  2399. INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_SET_SETTINGS"
  2400.     DI = 0B0Ah
  2401.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2402.         DWORD    pointer to ???
  2403.         DWORD    pointer to ???
  2404. Return: ???
  2405.     STACK unchanged
  2406. SeeAlso: INT 60/DI=0B09h
  2407. --------b-60----DI0B0B-----------------------
  2408. INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_START_TIMER"
  2409.     DI = 0B0Bh
  2410.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2411.         DWORD    pointer to ???
  2412. Return: ???
  2413.     STACK unchanged
  2414. SeeAlso: INT 60/DI=0B0Ch,INT 60/DI=0B0Dh
  2415. --------b-60----DI0B0C-----------------------
  2416. INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_STOP_TIMER"
  2417.     DI = 0B0Ch
  2418.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2419.         DWORD    pointer to ???
  2420. Return: ???
  2421.     STACK unchanged
  2422. SeeAlso: INT 60/DI=0B0Bh,INT 60/DI=0B0Dh
  2423. --------b-60----DI0B0D-----------------------
  2424. INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_GET_TIMER"
  2425.     DI = 0B0Dh
  2426.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2427.         DWORD    pointer to ???
  2428.         DWORD    pointer to ???
  2429.         DWORD    pointer to ???
  2430. Return: ???
  2431.     STACK unchanged
  2432. SeeAlso: INT 60/DI=0B0Bh,INT 60/DI=0B0Ch
  2433. --------b-60----DI0B0E-----------------------
  2434. INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_TELL_ANYTIME"
  2435.     DI = 0B0Eh
  2436.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2437.         WORD    ???
  2438.         WORD    ???
  2439.         WORD    ???
  2440.         DWORD    pointer to ???
  2441.         DWORD    pointer to ???
  2442. Return: DX:AX -> ???
  2443.     STACK unchanged
  2444. --------b-60----DI0B0F-----------------------
  2445. INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVCE "M_GET_SETTINGS_ADDR"
  2446.     DI = 0B0Fh
  2447.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2448. Return: DX:AX -> system settings record (see #1937)
  2449.     STACK unchanged
  2450. SeeAlso: INT 60/DI=0B09h
  2451. --------b-60----DI0B10-----------------------
  2452. INT 60 u - HP 95LX System Manager - PARSE DATE SPECIFICATION
  2453.     DI = 0B10h
  2454.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2455.         WORD    ???
  2456.         DWORD    pointer to ???
  2457.         DWORD    pointer to ???
  2458. Return: ???
  2459.     STACK unchanged
  2460. --------b-60----DI0B11-----------------------
  2461. INT 60 u - HP 95LX System Manager - PARSE TIME SPECIFICATION
  2462.     DI = 0B11h
  2463.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2464.         WORD    ???
  2465.         DWORD    pointer to ???
  2466.         DWORD    pointer to ???
  2467. Return: ???
  2468.     STACK unchanged
  2469. --------b-60----DI0B12-----------------------
  2470. INT 60 u - HP 95LX System Manager - SET DATE PARSING RULE
  2471.     DI = 0B12h
  2472.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2473.         WORD    new parsing rule (see #1942)
  2474. Return: ???
  2475.     STACK unchanged
  2476. SeeAlso: INT 60/DI=0B13h
  2477.  
  2478. (Table 1942)
  2479. Values for HP 95LX date parsing rule:
  2480.  01h    day-month-year
  2481.  02h    month-day-year
  2482.  03h    year-month-day
  2483.  04h    "DMYO"
  2484.  05h    "MDYO"
  2485.  OR with 08h to get any year
  2486. --------b-60----DI0B13-----------------------
  2487. INT 60 u - HP 95LX System Manager - SET TIME PARSING RULE
  2488.     DI = 0B13h
  2489.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2490.         WORD    new parsing rule (see #1943)
  2491. Return: ???
  2492.     STACK unchanged
  2493. SeeAlso: INT 60/DI=0B12h
  2494.  
  2495. (Table 1943)
  2496. Values for HP 95LX time parsing rule:
  2497.  01h    HH:MM:SS (am/pm)
  2498.  02h    HH:MM:SS (24hr)
  2499.  03h    HHMM:SS (24hr)
  2500.  04h    HH:MM:SS.hh (24hr)
  2501.  05h    HH:MM (am/pm)
  2502.  06h    HH:MM (24hr)
  2503.  07h    HHMM (24hr)
  2504. --------b-60----DI0B14-----------------------
  2505. INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_POST_TIME"
  2506.     DI = 0B14h
  2507.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2508. Return: ???
  2509.     STACK unchanged
  2510. --------b-60----DI0B15-----------------------
  2511. INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_DAY_TRIGGER"
  2512.     DI = 0B15h
  2513.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2514.         WORD    ???
  2515. Return: ???
  2516.     STACK unchanged
  2517. SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
  2518. --------b-60----DI0C00-----------------------
  2519. INT 60 u - HP 95LX System Manager - OPEN PRINTER
  2520.     DI = 0C00h
  2521.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2522. Return: ???
  2523.     STACK unchanged
  2524. SeeAlso: INT 60/DI=0C01h,INT 60/DI=0C02h,INT 60/DI=0C03h
  2525. --------b-60----DI0C01-----------------------
  2526. INT 60 u - HP 95LX System Manager - CLOSE PRINTER
  2527.     DI = 0C01h
  2528.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2529. Return: ???
  2530.     STACK unchanged
  2531. Note:    relinquishes control of printer
  2532. SeeAlso: INT 60/DI=0C00h
  2533. --------b-60----DI0C02-----------------------
  2534. INT 60 u - HP 95LX System Manager - WRITE TO PRINTER
  2535.     DI = 0C02h
  2536.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2537.         DWORD    pointer to data to be written
  2538.         WORD    length of data
  2539. Return: ???
  2540.     STACK unchanged
  2541. SeeAlso: INT 60/DI=0C00h
  2542. --------b-60----DI0C03-----------------------
  2543. INT 60 u - HP 95LX System Manager - INITIALIZE PRINTER
  2544.     DI = 0C03h
  2545.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2546. Return: ???
  2547.     STACK unchanged
  2548. SeeAlso: INT 60/DI=0C00h
  2549. --------b-60----DI0C04-----------------------
  2550. INT 60 u - HP 95LX System Manager - "M_TRANS_PRINTER"
  2551.     DI = 0C04h
  2552.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2553.         WORD    ???
  2554.         DWORD    pointer to ???
  2555. Return: ???
  2556.     STACK unchanged
  2557. --------b-60----DI0C05-----------------------
  2558. INT 60 u - HP 95LX System Manager - "M_FALL_PRINTER"
  2559.     DI = 0C05h
  2560.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2561.         WORD    ???
  2562.         DWORD    pointer to ???
  2563. Return: ???
  2564.     STACK unchanged
  2565. SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
  2566. --------b-60----DI0E00-----------------------
  2567. INT 60 u - HP 95LX System Manager - COMMUNICATIONS SERVICE "M_COMM_INIT"
  2568.     DI = 0E00h
  2569.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2570.         DWORD    pointer to ???
  2571. Return: ???
  2572.     STACK unchanged
  2573. SeeAlso: #1944,INT 60/DI=0E01h,INT 60/DI=0E02h
  2574.  
  2575. (Table 1944)
  2576. Values for HP 95LX error code:
  2577.  0000h    successful
  2578.  FFF1h    "E_BUSY"
  2579.  FFF2h    timeout
  2580.  FFF3h    framing error
  2581.  FFF4h    parity error
  2582.  FFF5h    overrun error
  2583.  FFF6h    "E_EMPTY"
  2584.  FFF7h    "E_CONECT"
  2585.  FFF8h    not open
  2586.  FFF9h    out of memory
  2587.  FFFAh    buffer overflow
  2588.  FFFBh    "E_NOFIT"
  2589.  FFFCh    unsupported
  2590.  FFFDh    "E_IVOPR"
  2591.  FFFEh    "E_IVCHN"
  2592.  FFFFh    "E_REOPEN"
  2593. --------b-60----DI0E01-----------------------
  2594. INT 60 u - HP 95LX System Manager - OPEN COMMUNICATIONS CHANNEL
  2595.     DI = 0E01h
  2596.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2597.         DWORD    pointer to WORD buffer for comm channel handle
  2598.         WORD    communications line number (01h-04h)
  2599. Return: ???
  2600.     STACK unchanged
  2601. SeeAlso: INT 60/DI=0E00h,INT 60/DI=0E02h
  2602. --------b-60----DI0E02-----------------------
  2603. INT 60 u - HP 95LX System Manager - CLOSE COMMUNICATIONS CHANNEL
  2604.     DI = 0E02h
  2605.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2606.         WORD    comm channel handle
  2607. Return: ???
  2608.     STACK unchanged
  2609. SeeAlso: INT 60/DI=0E00h,INT 60/DI=0E01h
  2610. --------b-60----DI0E03-----------------------
  2611. INT 60 u - HP 95LX System Manager - "M_COMM_GETMDM"
  2612.     DI = 0E03h
  2613.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2614.         WORD    ???
  2615. Return: ???
  2616.     STACK unchanged
  2617. --------b-60----DI0E04-----------------------
  2618. INT 60 u - HP 95LX System Manager - "M_COMM_ANSWER"
  2619.     DI = 0E04h
  2620.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2621.         WORD    ???
  2622.         WORD    ???
  2623. Return: ???
  2624.     STACK unchanged
  2625. --------b-60----DI0E05-----------------------
  2626. INT 60 u - HP 95LX System Manager - "M_COMM_DIAL"
  2627.     DI = 0E05h
  2628.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2629.         WORD    ???
  2630.         DWORD    pointer to ???
  2631. Return: ???
  2632.     STACK unchanged
  2633. --------b-60----DI0E06-----------------------
  2634. INT 60 u - HP 95LX System Manager - RESET COMMUNICATIONS CHANNEL
  2635.     DI = 0E06h
  2636.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2637.         WORD    comm channel handle
  2638.         WORD    reset options (see #1945)
  2639. Return: ???
  2640.     STACK unchanged
  2641.  
  2642. Bitfields for HP 95LX reset options:
  2643. Bit(s)    Description    (Table 1945)
  2644.  0    reset line
  2645.  1    flush transmit buffer
  2646.  2    flush receive buffer
  2647.  3    reset modem
  2648.  4    reset receiver's ^S state
  2649.  5    reset transmitter's ^S state
  2650. --------b-60----DI0E07-----------------------
  2651. INT 60 u - HP 95LX System Manager - "M_COMM_HANGUP"
  2652.     DI = 0E07h
  2653.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2654.         WORD    ???
  2655. Return: ???
  2656.     STACK unchanged
  2657. --------b-60----DI0E08-----------------------
  2658. INT 60 u - HP 95LX System Manager - SEND DATA OVER COMM CHANNEL
  2659.     DI = 0E08h
  2660.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2661.         WORD    comm channel handle
  2662.         DWORD    pointer to data to be sent
  2663.         WORD    option flags
  2664.             bit 0: send partial buffer
  2665.             bit 1: turn on receiver after sending
  2666.         DWORD    pointer to WORD containing length of data to be sent
  2667. Return: length WORD updated to contain number of bytes actually sent???
  2668.     STACK unchanged
  2669. SeeAlso: INT 60/DI=0E09h,INT 60/DI=0E0Bh
  2670. --------b-60----DI0E09-----------------------
  2671. INT 60 u - HP 95LX System Manager - QUERY COMM CHANNEL TRANSMIT QUEUE
  2672.     DI = 0E09h
  2673.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2674.         WORD    ???
  2675.         DWORD    pointer to ??? WORD
  2676.         DWORD    pointer to ??? WORD
  2677. Return: ???
  2678.     STACK unchanged
  2679. SeeAlso: INT 60/DI=0E0Ah
  2680. --------b-60----DI0E0A-----------------------
  2681. INT 60 u - HP 95LX System Manager - QUERY COMM CHANNEL RECEIVE QUEUE
  2682.     DI = 0E0Ah
  2683.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2684.         WORD    comm channel handle
  2685.         DWORD    pointer to WORD to get receive buffer size
  2686.         DWORD    pointer to WORD to get free bytes in receive buffer
  2687. Return: ???
  2688.     STACK unchanged
  2689. SeeAlso: INT 60/DI=0E09h,INT 60/DI=0E0Bh
  2690. --------b-60----DI0E0B-----------------------
  2691. INT 60 u - HP 95LX System Manager - RECEIVE DATA FROM COMM CHANNEL
  2692.     DI = 0E0Bh
  2693.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2694.         WORD    comm channel handle
  2695.         DWORD    pointer to data buffer
  2696.         DWORD    pointer to WORD (call) length of data buffer
  2697.                     (ret) number of bytes received
  2698. Return: ???
  2699.     STACK unchanged
  2700. SeeAlso: INT 60/DI=0E08h,INT 60/DI=0E0Ah
  2701. --------b-60----DI0E0C-----------------------
  2702. INT 60 u - HP 95LX System Manager - "M_COMM_HAZCMD"
  2703.     DI = 0E0Ch
  2704.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2705.         WORD    ???
  2706.         DWORD    pointer to ???
  2707.         WORD    ???
  2708. Return: ???
  2709.     STACK unchanged
  2710. --------b-60----DI0E0D-----------------------
  2711. INT 60 u - HP 95LX System Manager - "M_COMM_COMAND"
  2712.     DI = 0E0Dh
  2713.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2714.         WORD    ???
  2715.         DWORD    pointer to ???
  2716.         WORD    ???
  2717. Return: ???
  2718.     STACK unchanged
  2719. --------b-60----DI0E0E-----------------------
  2720. INT 60 u - HP 95LX System Manager - "M_COMM_BREAK"
  2721.     DI = 0E0Eh
  2722.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2723.         WORD    ???
  2724.         WORD    ???
  2725. Return: ???
  2726.     STACK unchanged
  2727. --------b-60----DI0E0F-----------------------
  2728. INT 60 u - HP 95LX System Manager - "M_COMM_FRCXON"
  2729.     DI = 0E0Fh
  2730.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2731.         WORD    ???
  2732. Return: ???
  2733.     STACK unchanged
  2734. --------b-60----DI0E10-----------------------
  2735. INT 60 u - HP 95LX System Manager - "M_COMM_FRCXOF"
  2736.     DI = 0E10h
  2737.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2738.         WORD    ???
  2739. Return: ???
  2740.     STACK unchanged
  2741. --------b-60----DI0E11-----------------------
  2742. INT 60 u - HP 95LX System Manager - "M_COMM_SETDTR"
  2743.     DI = 0E11h
  2744.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2745.         WORD    ???
  2746.         WORD    ???
  2747. Return: ???
  2748.     STACK unchanged
  2749. --------b-60----DI0E12-----------------------
  2750. INT 60 u - HP 95LX System Manager - "M_COMM_XMITNG"
  2751.     DI = 0E12h
  2752.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2753.         WORD    ???
  2754. Return: ???
  2755.     STACK unchanged
  2756. --------b-60----DI0E13-----------------------
  2757. INT 60 u - HP 95LX System Manager - "M_COMM_STATUS"
  2758.     DI = 0E13h
  2759.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2760.         WORD    ???
  2761. Return: ???
  2762.     STACK unchanged
  2763. --------b-60----DI0E14-----------------------
  2764. INT 60 u - HP 95LX System Manager - SET COMMUNICATIONS SETTINGS
  2765.     DI = 0E14h
  2766.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2767.         WORD    comm channel handle
  2768.         DWORD    pointer to communications settings (see #1946)
  2769. Return: ???
  2770.     STACK unchanged
  2771. SeeAlso: INT 60/DI=0E15h
  2772.  
  2773. Format of HP 95LX communications settings:
  2774. Offset    Size    Description    (Table 1946)
  2775.  00h    BYTE    dial type ('T' tone, 'P' pulse)
  2776.  01h    WORD    baud rate divisor (115200/baud_rate)
  2777.  03h    BYTE    parity (00h none, 08h odd, 18h even, 28h mark, 38h space)
  2778.  04h    BYTE    stop bits (00h one, 04h two)
  2779.  05h    BYTE    data bits - 5
  2780.  06h    BYTE    software handshake
  2781.         01h none, 02h XOFF/XON, 04h XOFF/any, 08h ENQ/ACK
  2782.  07h    BYTE    infrared (01h off, 02h on)
  2783.  08h    BYTE    duplex (01h half, 02h full)
  2784.  09h    BYTE    echo (01h echo, 02h no echo)
  2785. --------b-60----DI0E15-----------------------
  2786. INT 60 u - HP 95LX System Manager - GET COMMUNICATIONS SETTINGS
  2787.     DI = 0E15h
  2788.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2789.         WORD    ???
  2790.         DWORD    pointer to buffer for settings (see #1946)
  2791. Return: ???
  2792.     STACK unchanged
  2793. SeeAlso: INT 60/DI=0E14h
  2794. --------b-60----DI0E16-----------------------
  2795. INT 60 u - HP 95LX System Manager - "M_COMM_CNFGUR"
  2796.     DI = 0E16h
  2797.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2798.         WORD    ???
  2799.         WORD    ???
  2800.         WORD    ???
  2801.         WORD    ???
  2802.         WORD    ???
  2803. Return: ???
  2804.     STACK unchanged
  2805. --------b-60----DI0E17-----------------------
  2806. INT 60 u - HP 95LX System Manager - "M_COMM_QRYERR"
  2807.     DI = 0E17h
  2808.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2809.         WORD    ???
  2810. Return: ???
  2811.     STACK unchanged
  2812. SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
  2813. --------b-60----DI0F00-----------------------
  2814. INT 60 u - HP 95LX System Manager - "M_ERRMSG"
  2815.     DI = 0F00h
  2816.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2817.         WORD    ???
  2818.         DWORD    pointer to ???
  2819.         WORD    ???
  2820.         DWORD    pointer to ???
  2821. Return: ???
  2822.     STACK unchanged
  2823. --------b-60----DI0F01-----------------------
  2824. INT 60 u - HP 95LX System Manager - DRAW STANDARD TITLE BOX
  2825.     DI = 0F01h
  2826.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2827.         DWORD    pointer to ASCIZ title string
  2828. Return: ???
  2829.     STACK unchanged
  2830. --------b-60----DI0F02-----------------------
  2831. INT 60 u - HP 95LX System Manager - "SHOWNAME"
  2832.     DI = 0F02h
  2833.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2834.         DWORD    pointer to ???
  2835. Return: ???
  2836.     STACK unchanged
  2837. --------b-60----DI0F03-----------------------
  2838. INT 60 u - HP 95LX System Manager - DISPLAY TWO-LINE MESSAGE BOX
  2839.     DI = 0F03h
  2840.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2841.         DWORD    pointer to first line of message
  2842.         WORD    length of first line
  2843.         DWORD    pointer to second line of message
  2844.         WORD    length of second line
  2845. Return: ???
  2846.     STACK unchanged
  2847. SeeAlso: INT 60/DI=0300h,INT 60/DI=0F04h,INT 60/DI=0F09h
  2848. --------b-60----DI0F04-----------------------
  2849. INT 60 u - HP 95LX System Manager - REMOVE MESSAGE BOX
  2850.     DI = 0F04h
  2851.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2852. Return: ???
  2853.     STACK unchanged
  2854. SeeAlso: INT 60/DI=0F03h,INT 60/DI=0F09h
  2855. --------b-60----DI0F05-----------------------
  2856. INT 60 u - HP 95LX System Manager - "M_COM_TIMER_ADDR"
  2857.     DI = 0F05h
  2858.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2859. Return: DX:AX -> ???
  2860.     STACK unchanged
  2861. --------b-60----DI0F06-----------------------
  2862. INT 60 u - HP 95LX System Manager - "M_COM_TIMER_COUNT_ADDR"
  2863.     DI = 0F06h
  2864.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2865. Return: DX:AX -> ???
  2866.     STACK unchanged
  2867. --------b-60----DI0F07-----------------------
  2868. INT 60 u - HP 95LX System Manager - "M_SYS_RSRC_ADDR"
  2869.     DI = 0F07h
  2870.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2871. Return: DX:AX -> ???
  2872.     STACK unchanged
  2873. --------b-60----DI0F08-----------------------
  2874. INT 60 u - HP 95LX System Manager - "M_BIOS_OUTSTR"
  2875.     DI = 0F08h
  2876.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2877.         ???
  2878. Return: ???
  2879.     STACK unchanged
  2880. --------b-60----DI0F09-----------------------
  2881. INT 60 u - HP 95LX System Manager - DISPLAY THREE-LINE MESSAGE BOX
  2882.     DI = 0F09h
  2883.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2884.         DWORD    pointer to first line of message
  2885.         WORD    length of first line
  2886.         DWORD    pointer to second line of message
  2887.         WORD    length of second line
  2888.         DWORD    pointer to third line of message
  2889.         WORD    length of third line
  2890. Return: ???
  2891.     STACK unchanged
  2892. SeeAlso: INT 60/DI=0F03h,INT 60/DI=0F04h
  2893. --------b-60----DI0F0A-----------------------
  2894. INT 60 u - HP 95LX System Manager - DISABLE MACROS
  2895.     DI = 0F0Ah
  2896.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2897. Return: ???
  2898.     STACK unchanged
  2899. SeeAlso: INT 60/DI=0F0Bh
  2900. --------b-60----DI0F0B-----------------------
  2901. INT 60 u - HP 95LX System Manager - ENABLE MACROS
  2902.     DI = 0F0Bh
  2903.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2904. Return: ???
  2905.     STACK unchanged
  2906. SeeAlso: INT 60/DI=0F0Ah
  2907. --------b-60----DI0F0C-----------------------
  2908. INT 60 u - HP 95LX System Manager - "M_DATE_TIME_SEPS"
  2909.     DI = 0F0Ch
  2910.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2911.         ???
  2912. Return: ???
  2913.     STACK unchanged
  2914. --------b-60----DI0F0D-----------------------
  2915. INT 60 u - HP 95LX System Manager - "M_FORM_FT"
  2916.     DI = 0F0Dh
  2917.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2918.         DWORD    pointer to ???
  2919. Return: DX:AX -> ???
  2920.     STACK unchanged
  2921. --------b-60----DI0F0E-----------------------
  2922. INT 60 u - HP 95LX System Manager - "M_RAM_IV_INFO"
  2923.     DI = 0F0Eh
  2924.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2925.         DWORD    pointer to ???
  2926. Return: DX:AX -> ???
  2927.     STACK unchanged
  2928. SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
  2929. --------b-60----DI1005-----------------------
  2930. INT 60 u - HP 95LX System Manager - "M_DIRTY_SYNC" - FORCE SCREEN UPDATE
  2931.     DI = 1005h
  2932.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2933. Return: ???
  2934.     STACK unchanged
  2935. SeeAlso: INT 10/AH=FFh,INT 60/DI=0300h,INT 60/DI=0301h
  2936. --------b-60----DI1200-----------------------
  2937. INT 60 u - HP 95LX System Manager - RESOURCE SERVICE "MAP_RESOURCE_FILE"
  2938.     DI = 1200h
  2939.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2940.         DWORD    pointer to ???
  2941. Return: ???
  2942.     STACK unchanged
  2943. --------b-60----DI1201-----------------------
  2944. INT 60 u - HP 95LX System Manager - "GET_RESOURCE_PTR"
  2945.     DI = 1201h
  2946.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2947.         WORD    ???
  2948. Return: DX:AX -> ???
  2949.     STACK unchanged
  2950. SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
  2951. --------b-60----DI1202-----------------------
  2952. INT 60 u - HP 95LX System Manager - "GET_RSRC_TAB_PTR"
  2953.     DI = 1202h
  2954.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2955. Return: DX:AX -> ???
  2956.     STACK unchanged
  2957. --------b-60----DI1203-----------------------
  2958. INT 60 u - HP 95LX System Manager - "INIT_SYSMGR_RSRCS"
  2959.     DI = 1203h
  2960.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2961. Return: ???
  2962.     STACK unchanged
  2963. --------b-60----DI1300-----------------------
  2964. INT 60 u - HP 95LX System Manager - INITIALIZE HELP SYSTEM
  2965.     DI = 1300h
  2966.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2967.         DWORD    pointer to ???
  2968.         DWORD    pointer to ???
  2969.         WORD    ???
  2970. Return: ???
  2971.     STACK unchanged
  2972. --------b-60----DI1301-----------------------
  2973. INT 60 u - HP 95LX System Manager - DISPLAY HELP
  2974.     DI = 1301h
  2975.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2976.         DWORD    pointer to ???
  2977. Return: ???
  2978.     STACK unchanged
  2979. --------b-60----DI1302-----------------------
  2980. INT 60 u - HP 95LX System Manager - "M_HELP_KEY"
  2981.     DI = 1302h
  2982.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2983.         DWORD    pointer to ???
  2984.         WORD    ???
  2985. Return: ???
  2986.     STACK unchanged
  2987. --------b-60----DI1303-----------------------
  2988. INT 60 u - HP 95LX System Manager - "M_HELP_TERM"
  2989.     DI = 1303h
  2990.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2991.         DWORD    pointer to ???
  2992. Return: ???
  2993.     STACK unchanged
  2994. SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
  2995. --------b-60----DI1400-----------------------
  2996. INT 60 u - HP 95LX System Manager - "M_ColInit"
  2997.     DI = 1400h
  2998.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2999. Return: AX = ???
  3000.     STACK unchanged
  3001. --------b-60----DI1401-----------------------
  3002. INT 60 u - HP 95LX System Manager - "M_ColCpStr"
  3003.     DI = 1401h
  3004.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3005.         DWORD    pointer to ???
  3006.         WORD    ???
  3007.         DWORD    pointer to ???
  3008.         WORD    ???
  3009. Return: ???
  3010.     STACK unchanged
  3011. --------b-60----DI1402-----------------------
  3012. INT 60 u - HP 95LX System Manager - "M_ColLicsStr"
  3013.     DI = 1402h
  3014.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3015.         ???
  3016. Return: ???
  3017.     STACK unchanged
  3018. --------b-60----DI1403-----------------------
  3019. INT 60 u - HP 95LX System Manager - "M_ColLicsChar"
  3020.     DI = 1403h
  3021.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3022.         ???
  3023. Return: ???
  3024.     STACK unchanged
  3025. --------b-60----DI1404-----------------------
  3026. INT 60 u - HP 95LX System Manager - "M_ColToLower"
  3027.     DI = 1404h
  3028.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3029.         DWORD    pointer to ???
  3030.         WORD    ???
  3031. Return: ???
  3032.     STACK unchanged
  3033. --------b-60----DI1405-----------------------
  3034. INT 60 u - HP 95LX System Manager - "M_ColCpSearch"
  3035.     DI = 1405h
  3036.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3037.         DWORD    pointer to ???
  3038.         WORD    ???
  3039.         DWORD    pointer to ???
  3040.         WORD    ???
  3041.         WORD    ???
  3042. Return: ???
  3043.     STACK unchanged
  3044. --------b-60----DI1406-----------------------
  3045. INT 60 u - HP 95LX System Manager - "M_ColToUpper"
  3046.     DI = 1406h
  3047.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3048.         DWORD    pointer to ???
  3049.         WORD    ???
  3050. Return: ???
  3051.     STACK unchanged
  3052. SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
  3053. --------b-60----DI1500-----------------------
  3054. INT 60 u - HP 95LX System Manager - "GrDispInit"
  3055.     DI = 1500h
  3056.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3057.         ???
  3058. Return: ???
  3059.     STACK unchanged
  3060. --------b-60----DI1501-----------------------
  3061. INT 60 u - HP 95LX System Manager - "GrDispClear"
  3062.     DI = 1501h
  3063.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3064.         ???
  3065. Return: ???
  3066.     STACK unchanged
  3067. --------b-60----DI1502-----------------------
  3068. INT 60 u - HP 95LX System Manager - "GrDispDot"
  3069.     DI = 1502h
  3070.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3071.         ???
  3072. Return: ???
  3073.     STACK unchanged
  3074. --------b-60----DI1503-----------------------
  3075. INT 60 u - HP 95LX System Manager - "GrDispDraw"
  3076.     DI = 1503h
  3077.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3078.         ???
  3079. Return: ???
  3080.     STACK unchanged
  3081. --------b-60----DI1504-----------------------
  3082. INT 60 u - HP 95LX System Manager - "GrDispFill"
  3083.     DI = 1504h
  3084.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3085.         ???
  3086. Return: ???
  3087.     STACK unchanged
  3088. --------b-60----DI1505-----------------------
  3089. INT 60 u - HP 95LX System Manager - "GrDispRead"
  3090.     DI = 1505h
  3091.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3092.         ???
  3093. Return: ???
  3094.     STACK unchanged
  3095. --------b-60----DI1506-----------------------
  3096. INT 60 u - HP 95LX System Manager - "GrDispString"
  3097.     DI = 1506h
  3098.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3099.         ???
  3100. Return: ???
  3101.     STACK unchanged
  3102. --------b-60----DI1507-----------------------
  3103. INT 60 u - HP 95LX System Manager - "GrDispPan"
  3104.     DI = 1507h
  3105.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3106.         ???
  3107. Return: ???
  3108.     STACK unchanged
  3109. --------b-60----DI1508-----------------------
  3110. INT 60 u - HP 95LX System Manager - "GrDispZoom"
  3111.     DI = 1508h
  3112.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3113.         ???
  3114. Return: ???
  3115.     STACK unchanged
  3116. --------b-60----DI1509-----------------------
  3117. INT 60 u - HP 95LX System Manager - "GrDispSave"
  3118.     DI = 1509h
  3119.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3120.         ???
  3121. Return: ???
  3122.     STACK unchanged
  3123. --------b-60----DI150A-----------------------
  3124. INT 60 u - HP 95LX System Manager - "GrDispRestore"
  3125.     DI = 150Ah
  3126.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3127.         ???
  3128. Return: ???
  3129.     STACK unchanged
  3130. --------b-60----DI150B-----------------------
  3131. INT 60 u - HP 95LX System Manager - "GrDispCorner"
  3132.     DI = 150Bh
  3133.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3134.         ???
  3135. Return: ???
  3136.     STACK unchanged
  3137. SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
  3138. --------b-60----DI1604-----------------------
  3139. INT 60 u - HP 95LX System Manager - "CP_TO_LICS"
  3140.     DI = 1604h
  3141.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3142.         ???
  3143. Return: ???
  3144.     STACK unchanged
  3145. SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
  3146. --------G-6000-------------------------------
  3147. INT 60 - SYS_PROF.EXE - PROFILER STATUS
  3148.     AH = 00h
  3149. Return: AX = 0000h    profiling is off
  3150.         otherwise profiling is on
  3151. Note:    SYS_PROF.EXE is the TSR portion of a profiler from Micro Cornucopia
  3152.       Issue 47
  3153. SeeAlso: AH=01h"SYS_PROF",02h"SYS_PROF"
  3154. --------G-6000-------------------------------
  3155. INT 60 - MDEBUG - GET STATUS
  3156.     AH = 00h
  3157.     DS:SI -> password or a null byte
  3158. Return: AX = return code
  3159.         FFFEh password is invalid
  3160.         FFFDh display mode is invalid
  3161.         else successful
  3162.         ES = value of the monitor register SE
  3163.         DI = value of the monitor register OF
  3164.         CH = monitor color
  3165.         CL = interpreter color
  3166.         BH = monitor start line
  3167.         BL = interpreter start line
  3168.         AH = makecode of the hotkey
  3169.         AL = ASCII code of the hotkey
  3170.         DL = status of special keys (only SHIFT, ALT, CTRL) for the
  3171.               hotkey (coded as for the keyboard flag at 0040h:0017h)
  3172.         DH = basic process number for the communication with drivers
  3173.               process number for the display driver, DH+1 = process
  3174.               number for the command driver(s)
  3175.     DS:SI -> MDEBUG identification table (see #1947)
  3176. Program: MDEBUG is a shareware memory-resident debugging tool by Bernd
  3177.       Schemmer, including a memory monitor, an interpreter, and a
  3178.       disassembler
  3179. Notes:    MDEBUG uses INT 60 by default, but may be directed to any of INT 60
  3180.       through INT 67; the interrupt handler is preceded by the signature
  3181.       "USERINT" and is not chained
  3182.     if DS:SI points at a null byte, MDEBUG will prompt for a password if
  3183.       passwords are active; enough stack space must be provided for an
  3184.       INT 10h call (which MDEBUG uses while prompting for the password)
  3185. SeeAlso: AH=02h"MDEBUG"
  3186. Index:    hotkeys;MDEBUG
  3187.  
  3188. Format of MDEBUG identification table:
  3189. Offset    Size    Description    (Table 1947)
  3190.  -2    WORD    entry offset
  3191.  00h    WORD    CS of MDEBUG
  3192.  02h    DWORD    old INT 08h vector
  3193.  06h    DWORD    old INT 09h vector
  3194.  0Ah    DWORD    address INT 16h routine used by MDEBUG
  3195.  0Eh    BYTE    length of version string
  3196.  0Fh  N BYTEs    version string
  3197. --------N-600000-----------------------------
  3198. INT 60 - RIFS - CLIENT - INSTALLATION CHECK
  3199.     AX = 0000h
  3200. Return: AX = 1234h if installed
  3201.     CF clear
  3202. Program: RIFS is the Remote Installable File System by "kyle"
  3203. Range:    INT 60 to INT 66 and INT 18,selected by scanning for 0000h:0000h vector
  3204. Note:    the installation check consists of testing for the signature "RIFS"
  3205.       immediately preceding the interrupt handler
  3206. SeeAlso: AX=0001h,AX=0005h,AX=0007h,AX=0008h,INT 2F/AX=56000h
  3207. --------N-600001-----------------------------
  3208. INT 60 - RIFS - CLIENT - UNINSTALL
  3209.     AX = 0001h
  3210. Return: CF clear if successful
  3211. SeeAlso: AX=0000h,AX=0009h
  3212. --------N-600002-----------------------------
  3213. INT 60 - RIFS - CLIENT - REMAP DRIVE
  3214.     AX = 0002h
  3215.     BH = local drive number
  3216.     BL = remote drive number
  3217. Return: CF clear if successful
  3218.     CF set on error
  3219. SeeAlso: AX=0000h,AX=0003h,AX=0004h,INT 21/AX=5F03h,INT 21/AX=5F05h"STARLITE"
  3220. --------N-600003-----------------------------
  3221. INT 60 - RIFS - CLIENT - UNMAP DRIVE
  3222.     AX = 0003h
  3223.     BL = drive to unmap
  3224. Return: CF clear if successful
  3225.     CF set on error
  3226. SeeAlso: AX=0000h,AX=0002h,AX=0004h,INT 21/AX=5F04h,INT 21/AX=5F06h"STARLITE"
  3227. --------N-600004-----------------------------
  3228. INT 60 - RIFS - CLIENT - UNMAP ALL DRIVES
  3229.     AX = 0004h
  3230. Return: CF clear if successful
  3231.     CF set on error
  3232. SeeAlso: AX=0000h,AX=0002h,AX=0003h
  3233. --------N-600005-----------------------------
  3234. INT 60 - RIFS - CLIENT - GET TRANSLATION TABLE
  3235.     AX = 0005h
  3236. Return: CF clear if successful
  3237.         ES:BX -> translation table
  3238.     CF set on error
  3239. SeeAlso: AX=0000h,AX=0006h,AX=0007h
  3240. --------N-600006-----------------------------
  3241. INT 60 - RIFS - CLIENT - GET STATISTICS TABLE
  3242.     AX = 0006h
  3243. Return: CF clear if successful
  3244.         ES:BX -> statistics table
  3245.     CF set on error
  3246. SeeAlso: AX=0000h,AX=0005h,AX=0007h,AX=000Ah
  3247. --------N-600007-----------------------------
  3248. INT 60 - RIFS - CLIENT - GET PORT TRANSLATION TABLE
  3249.     AX = 0007h
  3250. Return: CF clear if successful
  3251.         CX = number of entries
  3252.         ES:BX -> port mapping table
  3253.     CF set on error
  3254. SeeAlso: AX=0000h,AX=0005h
  3255. --------N-600008-----------------------------
  3256. INT 60 - RIFS - SERVER - INSTALLATION CHECK
  3257.     AX = 0008h
  3258. Return: CF clear if successful
  3259.     CF set on error
  3260. Range:    INT 60 to INT 66 and INT 18,selected by scanning for 0000h:0000h vector
  3261. Note:    the installation check consists of testing for the signature "RIFS"
  3262.       immediately preceding the interrupt handler
  3263. SeeAlso: AX=0000h,AX=0009h,AX=000Ah,AX=000Bh
  3264. --------N-600009-----------------------------
  3265. INT 60 - RIFS - SERVER - UNINSTALL
  3266.     AX = 0009h
  3267. Return: CF clear if successful
  3268.     CF set on error
  3269. SeeAlso: AX=0001h,AX=0008h
  3270. --------N-60000A-----------------------------
  3271. INT 60 - RIFS - SERVER - GET STATISTICS TABLE
  3272.     AX = 000Ah
  3273. Return: CF clear if successful
  3274.         ES:BX -> statistics table
  3275.     CF set on error
  3276. SeeAlso: AX=0006h,AX=0008h,AX=0009h,AX=000Bh
  3277. --------N-60000B-----------------------------
  3278. INT 60 - RIFS - SERVER - RESET
  3279.     AX = 000Bh
  3280. Return: CF clear if successful
  3281.     CF set on error
  3282. Note:    closes all open files
  3283. SeeAlso: AX=0008h,AX=0009h
  3284. --------G-6001-------------------------------
  3285. INT 60 - MDEBUG - GET ADDRESS OF THE HELP REGISTERS
  3286.     AH = 01h
  3287.     DS:SI -> password or a null byte
  3288. Return: AX = return code
  3289.         FFFEh password is invalid
  3290.         FFFDh display mode is invalid
  3291.         else successful
  3292.         ES:DI point to the help registers of MDEBUG
  3293.            ES:DI-02h  -> R0 (WORD)
  3294.            ES:DI      -> R1 (WORD)
  3295.            ES:DI+02h  -> R2 (WORD)
  3296.            ES:DI+04h  -> R3 (WORD)
  3297.            ...
  3298.            ES:DI+0Eh  -> R8 (WORD)
  3299. --------G-6001-------------------------------
  3300. INT 60 - SYS_PROF.EXE - TURN PROFILING OFF
  3301.     AH = 01h
  3302. Note:    SYS_PROF.EXE is the TSR portion of a profiler from Micro Cornucopia
  3303.       Issue 47
  3304. SeeAlso: AH=00h"SYS_PROF",02h"SYS_PROF"
  3305. --------N-6001FF-----------------------------
  3306. INT 60 - FTP Packet Driver - BASIC FUNC - GET DRIVER INFO
  3307.     AX = 01FFh
  3308.     BX = handle returned by function 02h
  3309. Return: CF set on error
  3310.         DH = error code (see #1948)
  3311.     CF clear if successful
  3312.         BX = version
  3313.         CH = network interface class (see #1949)
  3314.         DX = interface type (see #1949)
  3315.         CL = number
  3316.         DS:SI -> name
  3317.         AL = driver functions supported
  3318.         01h basic
  3319.         02h basic and extended
  3320.         05h basic and high-performance
  3321.         06h basic, high-performance, and extended
  3322.         FFh not installed
  3323. Note:    the handle in BX is optional for drivers written to v1.07 or later of
  3324.       the packet driver specification
  3325.  
  3326. (Table 1948)
  3327. Values for Packet Driver error code:
  3328.  01h "BAD_HANDLE"    invalid handle number
  3329.  02h "NO_CLASS"        no interfaces of the specified class found
  3330.  03h "NO_TYPE"        no interfaces of the specified type found
  3331.  04h "NO_NUMBER"    no interfaces of the specified number found
  3332.  05h "BAD_TYPE"        bad packet type
  3333.  06h "NO_MULTICAST"    interface does not support multicast messages
  3334.  07h "CANT_TERMINATE"    this packet driver cannot terminate
  3335.  08h "BAD_MODE"        invalid receiver mode
  3336.  09h "NO_SPACE"        insufficient space
  3337.  0Ah "TYPE_INUSE"    type accessed but never released
  3338.  0Bh "BAD_COMMAND"    bad command
  3339.  0Ch "CANT_SEND"    packet could not be sent
  3340.  0Dh "CANT_SET"        hardware address could not be changed
  3341.  0Eh "BAD_ADDRESS"    hardware address has a bad length or format
  3342.  0Fh "CANT_RESET"    could not reset interface
  3343.  
  3344. (Table 1949)
  3345. Values for Packet Driver network interface classes/types:
  3346.     Class 01h  Ethernet/IEEE 802.3
  3347.     01h 3COM 3C500/3C501
  3348.     02h 3COM 3C505
  3349.     03h MICOM-Interlan NI5010
  3350.     04h BICC Data Networks 4110
  3351.     05h BICC Data Networks 4117
  3352.     06h MICOM-Interlan NP600
  3353.     08h Ungermann-Bass PC-NIC
  3354.     09h Univation NC-516
  3355.     0Ah TRW PC-2000
  3356.     0Bh MICOM-Interlan NI5210
  3357.     0Ch 3COM 3C503
  3358.     0Dh 3COM 3C523
  3359.     0Eh Western Digital WD8003
  3360.     0Fh Spider Systems S4
  3361.     10h Torus Frame Level
  3362.     11h 10Net Communications
  3363.     12h Gateway PC-bus
  3364.     13h Gateway AT-bus
  3365.     14h Gateway MCA-bus
  3366.     15h IMC PCnic
  3367.     16h IMC PCnic II
  3368.     17h IMC PCnic 8-bit
  3369.     18h Tigan Communications
  3370.     19h Micromatic Research
  3371.     1Ah Clarkson "Multiplexor"
  3372.     1Bh D-Link 8-bit
  3373.     1Ch D-Link 16-bit
  3374.     1Dh D-Link PS/2
  3375.     1Eh Research Machines 8
  3376.     1Fh Research Machines 16
  3377.     20h Research Machines MCA
  3378.     21h Radix Microsystems EXM1 16-bit
  3379.     22h Interlan Ni9210
  3380.     23h Interlan Ni6510
  3381.     24h Vestra LANMASTER 16-bit
  3382.     25h Vestra LANMASTER 8-bit
  3383.     26h Allied Telesis PC/XT/AT
  3384.     27h Allied Telesis NEC PC-98
  3385.     28h Allied Telesis Fujitsu FMR
  3386.     29h Ungermann-Bass NIC/PS2
  3387.     2Ah Tiara LANCard/E AT
  3388.     2Bh Tiara LANCard/E MC
  3389.     2Ch Tiara LANCard/E TP
  3390.     2Dh Spider Communications SpiderComm 8
  3391.     2Eh Spider Communications SpiderComm 16
  3392.     2Fh AT&T Starlan NAU
  3393.     30h AT&T Starlan-10 NAU
  3394.     31h AT&T Ethernet NAU
  3395.     32h Intel smart card
  3396.     33h Xircom Packet Adapter
  3397.     34h Aquila Ethernet
  3398.     35h Novell NE1000
  3399.     36h Novell NE2000
  3400.     37h SMC PC-510
  3401.     38h AT&T Fiber NAU
  3402.     39h NDIS to Packet Driver adapter
  3403.     3Ah Racal-InterLan ES3210
  3404.     3Bh General Systems ISDN simulated Ethernet
  3405.     3Ch Hewlett-Packard
  3406.     3Dh IMC EtherNic-8
  3407.     3Eh IMC EtherNic-16
  3408.     3Fh IMC EtherNic-MCA
  3409.     40h NetWorth EtherNext
  3410.     41h Dataco Scanet
  3411.     42h DEC DEPCA
  3412.     43h C-Net
  3413.     44h Gandalf LANLine
  3414.     45h Apricot built-in
  3415.     46h David Systems Ether-T
  3416.     47h ODI to Packet Driver adapter (see also AX=5100h)
  3417.     48h AMD Am21110-16
  3418.     49h Intel ICD Network controller family
  3419.     4Ah Intel ICD PCL2
  3420.     4Bh Intel ICD PCL2A
  3421.     4Ch AT&T LANPacer
  3422.     4Dh AT&T LANPacer+
  3423.     4Eh AT&T EVB
  3424.     4Fh AT&T StarStation
  3425.     50h SLIP simulated ethernet
  3426.     51h Racal-Interlan NIA310
  3427.     52h Racal-Interlan NISE
  3428.     53h Racal-Interlan NISE30
  3429.     54h Racal-Interlan NI6610
  3430.     55h Ethernet over IP/UDP
  3431.     56h ICL EtherTeam 16
  3432.     57h David Systems
  3433.     58h NCR WaveLAN
  3434.     59h Thomas Contrad TC5045
  3435.     5Ah Russ Nelson's Parallel Port driver
  3436.     5Bh Intell EtherExpress 16
  3437.     5Ch IBMTOKEN
  3438.     5Dh Zenith Z-Note
  3439.     5Eh 3Com 3C509
  3440.     5Fh Mylex LNE390
  3441.     60h Madge Smart Ringnode
  3442.     61h Novell NE2100
  3443.     62h Allied Telesis 1500
  3444.     63h Allied Telesis 1700
  3445.     64h Fujitsu EtherCoupler
  3446.     Class 02h  ProNET-10
  3447.     01h Proteon p1300
  3448.     02h Proteon p1800
  3449.     Class 03h  IEEE 802.5/ProNet-4 (without expanded RIFs)
  3450.     01h IBM Token-Ring Adapter
  3451.     02h Proteon p1340
  3452.     03h Proteon p1344
  3453.     04h Gateway PC-bus
  3454.     05h Gateway AT-bus
  3455.     06h Gateway MCA-bus
  3456.     07h Madge board
  3457.     39h NDIS to Packet Driver adapter
  3458.     47h ODI to Packet Driver adapter
  3459.     Class 04h  Omninet
  3460.     Class 05h  Appletalk
  3461.     01h ATALK.SYS adapter
  3462.     Class 06h  Serial Line
  3463.     01h Clarkson 8250-SLIP
  3464.     02h Clarkson "Multiplexor"
  3465.     03h Eicon Technologies
  3466.     Class 07h  StarLAN (subsumed by Ethernet class)
  3467.     Class 08h  ARCnet
  3468.     01h Datapoint RIM
  3469.     Class 09h  AX.25
  3470.     01h Ottawa PI card
  3471.     02h Eicon Technologies
  3472.     Class 0Ah  KISS
  3473.     Class 0Bh  IEEE 802.3 with 802.2 headers
  3474.     types same as for class 01h
  3475.     Class 0Ch  FDDI with 802.2 headers
  3476.     01h Western Digital
  3477.     02h Frontier Technology
  3478.     Class 0Dh  Internet X.25
  3479.     01h Western Digital
  3480.     02h Frontier Technology
  3481.     03h Emerging Technologies
  3482.     04h The Software Forge
  3483.     05h Link Data Intelligent X.25
  3484.     06h Eicon Technologies
  3485.     Class 0Eh  N.T. LANSTAR (encapsulating DIX Ethernet)
  3486.     01h NT LANSTAR/8
  3487.     02h NT LANSTAR/MC
  3488.     Class 0Fh  SLFP (MIT serial specification)
  3489.     01h MERIT
  3490.     Class 10h  PPP (Point-to-Point Protocol)
  3491.     01h 8250/16550 UART
  3492.     02h Niwot Networks synch
  3493.     03h Eicon Technologies
  3494.     Class 11h  802.5 with expanded RIFs
  3495.     types same as for class 3
  3496.     Class 12h  reserved for LCP/NCPs
  3497. Note: class and type numbers are cleared through FTP Software
  3498. --------G-6002-------------------------------
  3499. INT 60 - MDEBUG - SET STATUS
  3500.     AH = 02h
  3501.     DS:SI -> password or a null byte
  3502.     ES = new value for the register SE
  3503.     DI = new value for the register OF
  3504.     CH = new monitor color if nonzero
  3505.     CL = new interpreter color if nonzero
  3506.     BH = new monitor start line if nonzero
  3507.     BL = new interpreter start line if nonzero
  3508.     AL = new ASCII code for the hotkey ('A'..'Z', 'a'..'z') if nonzero
  3509.     DL = new status of the special keys (SHIFT, ALT, CTRL) for the hotkey
  3510.           if nonzero
  3511.     DH = if nonzero, new basic process number for communication with the
  3512.           drivers (DH = multiplex number for the display driver,
  3513.           DH+1 = multiplex number for the command driver or drivers)
  3514. Return: AX = return code
  3515.         FFFFh call not allowed
  3516.         FFFEh password is invalid
  3517.         FFFDh display mode is invalid
  3518.         0000h successful, status changed
  3519.         else AL = error reasons (see #1950)
  3520. Note:    the values of the registers SE and OF are always changed, the other
  3521.       values are only changed if they are valid
  3522. SeeAlso: AH=00h"MDEBUG"
  3523. Index:    hotkeys;MDEBUG
  3524.  
  3525. Bitfields for MDEBUG error reasons:
  3526. Bit(s)    Description    (Table 1950)
  3527.  0    invalid monitor start line
  3528.  1    invalid interpreter start line
  3529.  2    invalid hotkey
  3530.  3    invalid process number
  3531.  4-7    reserved
  3532. --------N-6002-------------------------------
  3533. INT 60 - FTP Packet Driver - BASIC FUNC - ACCESS TYPE
  3534.     AH = 02h
  3535.     AL = interface class
  3536.     BX = interface type
  3537.     DL = interface number
  3538.     DS:SI -> type
  3539.     CX = length of type (0000h for all packets)
  3540.     ES:DI -> receiver function (see #1951)
  3541. Return: CF set on error
  3542.         DH = error code (see #1948)
  3543.     CF clear if successful
  3544.         AX = handle
  3545. SeeAlso: AH=03h"FTP"
  3546.  
  3547. (Table 1951)
  3548. Values packet driver receiver is called with when a packet is received:
  3549.     AX = subfunction
  3550.         00h get packet buffer
  3551.         CX = buffer length
  3552.         DX = lookahead length (v1.10+)
  3553.         DS:SI -> lookahead buffer if DX nonzero (v1.10+)
  3554.         DI = error flags (class dependent) (v1.10+)
  3555.         Return: ES:DI -> packet buffer
  3556.                 0000h:0000h means throw away packet
  3557.             CX = size of buffer (v1.10+), may be smaller than
  3558.                   incoming data
  3559.         01h copy completed
  3560.         DS:SI -> buffer
  3561.         CX = bytes actually copied (v1.10+)
  3562.     BX = handle
  3563. --------G-6002-------------------------------
  3564. INT 60 - SYS_PROF.EXE - TURN PROFILING ON
  3565.     AH = 02h
  3566. Note:    SYS_PROF.EXE is the TSR portion of a profiler from Micro Cornucopia
  3567.       Issue 47
  3568. SeeAlso: AH=00h"SYS_PROF",01h"SYS_PROF"
  3569. --------G-6003-------------------------------
  3570. INT 60 - MDEBUG - POP UP
  3571.     AH = 03h
  3572.     DS:SI -> password or a null byte
  3573.     ES -> new value for the register SE
  3574.     DI -> new value for the register OF
  3575. Return: AX = return code (see #1952)
  3576. SeeAlso: AH=04h"MDEBUG"
  3577.  
  3578. (Table 1952)
  3579. Values for MDEBUG return code:
  3580.  FFFFh    call not allowed
  3581.  FFFEh    password is invalid
  3582.  FFFDh    display mode is invalid
  3583.  else    successful
  3584. --------N-6003-------------------------------
  3585. INT 60 - FTP Packet Driver - BASIC FUNC - RELEASE TYPE
  3586.     AH = 03h
  3587.     BX = handle
  3588. Return: CF set on error
  3589.        DH = error code (see #1948)
  3590.     CF clear if successful
  3591. SeeAlso: AH=02h"FTP"
  3592. --------G-6003-------------------------------
  3593. INT 60 - SYS_PROF.EXE - GET ADDRESS OF PROFILING TABLE
  3594.     AH = 03h
  3595. Return: ES:BX -> profiling table
  3596. Note:    SYS_PROF.EXE is the TSR portion of a profiler from Micro Cornucopia
  3597.       Issue 47
  3598. SeeAlso: AH=04h"SYS_PROF"
  3599. --------N-6004-------------------------------
  3600. INT 60 - FTP Packet Driver - BASIC FUNC - SEND PACKET
  3601.     AH = 04h
  3602.     DS:SI -> buffer
  3603.     CX = length
  3604. Return: CF set on error
  3605.         DH = error code (see #1948)
  3606.     CF clear if successful
  3607. Note:    the buffer may be modified immediately upon return from this call
  3608. SeeAlso: AH=0Bh
  3609. --------G-6004-------------------------------
  3610. INT 60 - MDEBUG - POP UP
  3611.     AH = 04h
  3612.     DS:SI -> password or a null byte
  3613. Return: AX = return code (see #1952)
  3614. SeeAlso: AH=03h"MDEBUG",AH=07h"MDEBUG"
  3615. --------G-6004-------------------------------
  3616. INT 60 - SYS_PROF.EXE - CLEAR PROFILING TABLE
  3617.     AH = 04h
  3618. Note:    SYS_PROF.EXE is the TSR portion of a profiler from Micro Cornucopia
  3619.       Issue 47
  3620. SeeAlso: AH=03h"SYS_PROF"
  3621. --------N-6005-------------------------------
  3622. INT 60 - FTP Packet Driver - BASIC FUNC - TERMINATE DRIVER FOR HANDLE
  3623.     AH = 05h
  3624.     BX = handle (optional for v1.10+)
  3625. Return: CF set on error
  3626.        DH = error code (see #1948)
  3627.     CF clear if successful
  3628. --------G-6005-------------------------------
  3629. INT 60 - MDEBUG - GET AND SET MDEBUG FLAGS
  3630.     AH = 05h
  3631.     DS:SI -> password or a null byte
  3632.     BL = new value for the semaphor of MDEBUG
  3633.          00h  enable popup of MDEBUG
  3634.          else disable popup of MDEBUG
  3635. Return: AX = return code
  3636.         FFFEh password is invalid
  3637.         FFFDh display mode is invalid
  3638.         else successful
  3639.         BL = old value of the semaphor of MDEBUG
  3640.         BH = old value of the INT 08h semaphor
  3641.             (this semaphor is always reset after this function)
  3642. --------N-6006-------------------------------
  3643. INT 60 - FTP Packet Driver - BASIC FUNC - GET ADDRESS
  3644.     AH = 06h
  3645.     BX = handle (optional for v1.10+)
  3646.     ES:DI -> buffer
  3647.     CX = length
  3648. Return: CF set on error
  3649.         DH = error code (see #1948)
  3650.     CF clear if successful
  3651.         CX = length
  3652. Note:    copies the local net address associated with the handle into the buffer
  3653. --------G-6006-------------------------------
  3654. INT 60 - MDEBUG - GET PASSWORD STATUS
  3655.     AH = 06h
  3656. Return: AL = status
  3657.         00h password inactive
  3658.         01h password active
  3659. --------N-6007-------------------------------
  3660. INT 60 - FTP Packet Driver - BASIC FUNC - RESET INTERFACE
  3661.     AH = 07h
  3662.     BX = handle (optional for v1.10+)
  3663. Return: CF set on error
  3664.         DH = error code (see #1948)
  3665.     CF clear if successful
  3666. --------G-6007-------------------------------
  3667. INT 60 - MDEBUG v1.70+ - GET ACTIVE PART OF MDEBUG
  3668.     AH = 07h
  3669. Return: AL = active part for the next popup session of MDEBUG:
  3670.         bit 0: the next popup session will start in the interpreter rather
  3671.           than in the monitor
  3672.         bit 1: the next popup session will sart in the online-help
  3673. SeeAlso: AH=03h"MDEBUG",AH=04h"MDEBUG"
  3674. --------G-6008-------------------------------
  3675. INT 60 - MDEBUG - UNUSED
  3676.     AH = 08h-FFh
  3677. Return: AX = FFFCh
  3678. --------N-600A-------------------------------
  3679. INT 60 - FTP Packet Driver 1.09+ - HIGH-PERF FUNC - GET PARAMETERS
  3680.     AH = 0Ah
  3681. Return: CF set on error
  3682.         DH = error code (0Bh) (see #1948)
  3683.     CF clear if successful
  3684.         ES:DI -> parameter table (see #1953)
  3685.  
  3686. Format of packet driver parameter table:
  3687. Offset    Size    Description    (Table 1953)
  3688.  00h    BYTE    major revision of packet driver spec driver conforms to
  3689.  01h    BYTE    minor revision of packet driver spec
  3690.  02h    BYTE    length of this structure in bytes
  3691.  03h    BYTE    length of a MAC-layer address
  3692.  04h    WORD    maximum transfer unit, including MAC headers
  3693.  06h    WORD    buffer size for multicast addr
  3694.  08h    WORD    number of receive buffers (one less than back-to-back MTU rcvs)
  3695.  0Ah    WORD    number of transmit buffers
  3696.  0Ch    WORD    interrupt number to hook for post-EOI processing, 00h=none
  3697. --------N-600B-------------------------------
  3698. INT 60 - FTP Packet Driver 1.09 - HIGH-PERF FUNC - ASYNCHRONOUS SEND PACKET
  3699.     AH = 0Bh
  3700.     DS:SI -> buffer
  3701.     CX = length of buffer
  3702.     ES:DI -> FAR function to call when buffer becomes available (see #1954)
  3703. Return: CF set on error
  3704.         DH = error code (0Bh,0Ch) (see #1948)
  3705.     CF clear if successful
  3706. Notes:    unlike function 04h, the buffer is not available for modification as
  3707.       soon as the call returns; the buffer may be queued by the driver and
  3708.       not processed until later
  3709.     this function has been dropped from v1.10+ of the specification and
  3710.       replaced by function 0Ch
  3711. SeeAlso: AH=04h"Packet Driver",AH=0Ch"Packet Driver"
  3712.  
  3713. (Table 1954)
  3714. Values packet driver completion function is called with:
  3715.     AX = result
  3716.         00h copy OK
  3717.         nonzero error
  3718.     ES:DI -> buffer passed to INT 60/AH=0Bh call
  3719. --------N-600C-------------------------------
  3720. INT 60 - FTP Packet Driver 1.10+ - HIGH-PERF FUNC - ASYNCHRONOUS SEND PACKET
  3721.     AH = 0Ch
  3722.     ES:DI -> pointer to IOCB (see #1955)
  3723. Return: CF set on error
  3724.         DH = error code (see #1948)
  3725.     CF clear if successful
  3726. SeeAlso: AH=04h"Packet Driver",AH=0Bh"Packet Driver"
  3727.  
  3728. Format of packet driver IOCB:
  3729. Offset    Size    Description    (Table 1955)
  3730.  00h    DWORD    pointer to buffer
  3731.  04h    WORD    length of buffer
  3732.  06h    BYTE    flags
  3733.         bit 0: packet driver is finished with IOCB
  3734.         bit 1: application requests upcall when driver completes
  3735.  07h    DWORD    function address for upcall (see #1956)
  3736.  0Bh  4 BYTEs    future gather write
  3737.  0Fh    BYTE    ???
  3738.  10h  8 BYTEs    private driver workspace
  3739.  
  3740. (Table 1956)
  3741. Values completion function is called with:
  3742.     ES:DI -> IOCB passed to INT 60/AH=0Ch
  3743. --------N-600C-------------------------------
  3744. INT 60 - Banyan VINES, 3com - GET STATION ADDRESS
  3745.     AH = 0Ch
  3746. Return: AL = status
  3747.         00h successful
  3748.         ES:SI -> 6-byte station address
  3749.         02h semaphore service is unavailable
  3750. --------N-600D-------------------------------
  3751. INT 60 - FTP Packet Driver 1.10+ - HIGH-PERF FUNC - DROP PACKET FROM QUEUE
  3752.     AH = 0Dh
  3753.     ES:DI -> IOCB
  3754. Return: CF set on error
  3755.         DH = error code (see #1948)
  3756.     CF clear if successful
  3757. SeeAlso: AH=0Ch"Packet Driver"
  3758. --------N-6011-------------------------------
  3759. INT 60 - 3com, 10NET, Banyan VINES - LOCK AND WAIT
  3760.     AH = 11h
  3761.     AL = drive number or 0
  3762.     DX = number of seconds to wait
  3763.     ES:SI = Ethernet address or 0
  3764.     DS:BX -> 31-byte ASCIZ semaphore name
  3765. Return: AL = status (see #1957)
  3766. SeeAlso: AH=12h,AH=13h
  3767.  
  3768. (Table 1957)
  3769. Values for 3com semaphore status:
  3770.  00h    successful
  3771.  01h    timeout
  3772.  02h    server not responding
  3773.  03h    invalid semaphore name
  3774.  04h    semaphore list is full
  3775.  05h    invalid drive ID
  3776.  06h    invalid Ethernet address
  3777.  07h    not logged in
  3778.  08h    write to network failed
  3779.  09h    semaphore already logged for this CPU
  3780. --------N-6012-------------------------------
  3781. INT 60 - 3com, 10NET, Banyan VINES - LOCK
  3782.     AH = 12h
  3783.     AL = drive number or 00h
  3784.     ES:SI = Ethernet address or 0000h:0000h
  3785.     DS:BX -> 31-byte ASCIZ semaphore name
  3786. Return: AL = status (see also #1957)
  3787.         01h semaphore currently locked by another PC
  3788. Note:    unlike function 11h, this function returns immediately
  3789. SeeAlso: AH=11h,AH=13h
  3790. --------N-6013-------------------------------
  3791. INT 60 - 3com, 10NET, Banyan VINES - UNLOCK
  3792.     AH = 13h
  3793.     AL = drive number or 00h
  3794.     ES:SI = Ethernet address or 0000h:0000h
  3795.     DS:BX -> 31-byte ASCIZ semaphore name
  3796. Return: AL = status (see also #1957)
  3797.         01h semaphore not locked
  3798. SeeAlso: AH=11h,AH=12h
  3799. --------N-6014-------------------------------
  3800. INT 60 - FTP Packet Driver - EXTENDED FUNC - SET RECEIVE MODE
  3801.     AH = 14h
  3802.     BX = handle (optional for v1.10+)
  3803.     CX = mode (see #1958)
  3804. Return: CF set on error
  3805.        DH = error code (01h,08h) (see #1948)
  3806.     CF clear if successful
  3807. SeeAlso: AH=15h
  3808.  
  3809. (Table 1958)
  3810. Values for packet driver receive mode:
  3811.  01h    turn off receiver
  3812.  02h    receive only packets sent to this interface
  3813.  03h    mode 2 plus broadcast packets
  3814.  04h    mode 3 plus limited multicast packets
  3815.  05h    mode 3 plus all multicast packets
  3816.  06h    all packets
  3817.  07h    raw mode for serial line only (v1.10+)
  3818. --------N-6015-------------------------------
  3819. INT 60 - FTP Packet Driver - EXTENDED FUNC - GET RECEIVE MODE
  3820.     AH = 15h
  3821.     BX = handle (optional for v1.10+)
  3822. Return: CF set on error
  3823.         DH = error code (01h) (see #1948)
  3824.     CF clear if successful
  3825.         AX = receive mode (see #1958)
  3826. SeeAlso: AH=14h
  3827. --------N-6016-------------------------------
  3828. INT 60 - FTP Packet Driver - EXTENDED FUNC - SET MULTICAST LIST
  3829.     AH = 16h
  3830.     ES:DI -> multicast list
  3831.     CX = length of list in bytes
  3832. Return: CF set on error
  3833.         DH = error code (06h,09h,0Eh) (see #1948)
  3834.     CF clear if successful
  3835. SeeAlso: AH=17h
  3836. --------N-6017-------------------------------
  3837. INT 60 - FTP Packet Driver - EXTENDED FUNC - GET MULTICAST LIST
  3838.     AH = 17h
  3839. Return: CF set on error
  3840.         DH = error code (06h,09h) (see #1948 at AX=01FFh)
  3841.     CF clear if successful
  3842.         ES:DI -> multicast addresses (do not modify)
  3843.         CX = bytes of multicast addresses currently in use
  3844. SeeAlso: AH=16h
  3845. --------N-6018-------------------------------
  3846. INT 60 - FTP Packet Driver - EXTENDED FUNC - GET STATISTICS
  3847.     AH = 18h
  3848.     BX = handle (optional for v1.10+)
  3849. Return: CF set on error
  3850.         DH = error code (01h) (see #1948)
  3851.     CF clear if successful
  3852.         DS:SI -> statistics (see #1959)
  3853.  
  3854. Format of packet driver statistics:
  3855. Offset    Size    Description    (Table 1959)
  3856.  00h    DWORD    packets in
  3857.  04h    DWORD    packets out
  3858.  08h    DWORD    bytes in
  3859.  0Ch    DWORD    bytes out
  3860.  10h    DWORD    errors in
  3861.  14h    DWORD    errors out
  3862.  18h    DWORD    packets dropped
  3863. --------N-6019-------------------------------
  3864. INT 60 - FTP Packet Driver - EXTENDED FUNC - SET NETWORK ADDRESS
  3865.     AH = 19h
  3866.     ES:DI -> address
  3867.     CX = length of address
  3868. Return: CF set on error
  3869.         DH = error code (0Dh,0Eh) (see #1948)
  3870.     CF clear if successful
  3871.         CX = length
  3872. --------N-601A-------------------------------
  3873. INT 60 - FTP Packet Driver v1.10+ - EXTENDED FUNC - SEND RAW BYTES
  3874.     AH = 1Ah
  3875.     DS:SI -> buffer
  3876.     CX = length of buffer
  3877. Return: CF set on error
  3878.         DH = error code (see #1948 at AX=01FFh)
  3879.     CF clear if successful
  3880. SeeAlso: AH=1Ch
  3881. --------N-601B-------------------------------
  3882. INT 60 - FTP Packet Driver v1.10+ - EXTENDED FUNC - FLUSH RAW BYTES RECEIVED
  3883.     AH = 1Bh
  3884. Return: CF set on error
  3885.         DH = error code (see #1948)
  3886.     CF clear if successful
  3887. SeeAlso: AH=1Ch
  3888. --------N-601C-------------------------------
  3889. INT 60 - FTP Packet Driver v1.10+ - EXTENDED FUNC - FETCH RAW BYTES RECEIVED
  3890.     AH = 1Ch
  3891.     DS:SI -> buffer
  3892.     CX = length of buffer
  3893.     DX = timeout in clock ticks
  3894. Return: CF set on error
  3895.         DH = error code (see #1948 at AX=01FFh)
  3896.     CF clear if successful
  3897.         CX = number of bytes transferred to buffer
  3898. SeeAlso: AH=1Ah,AH=1Bh
  3899. --------a-60AD-------------------------------
  3900. INT 60 - AccessDOS - API
  3901.     AH = ADh
  3902.     AL = function
  3903.         E1h ???
  3904.         Return: AX = ???
  3905.         E2h get configuration
  3906.         Return: BX:AX -> configuration data
  3907. Program: AccessDOS is a public domain TSR developed at The Trace Research and
  3908.       Development Center which provides extensions for keyboard, mouse,
  3909.       and sound access by the visually, hearing, or motor-control
  3910.       impaired.
  3911. Range:    INT 60 to INT 66, selected by scanning for 0000h:0000h vector
  3912. --------N-60E9-------------------------------
  3913. INT 60 - FTP Packet Driver - Crynwr Software - AUTOSELECT TRANSCEIVER
  3914.     AH = E9h
  3915.     ???
  3916. Return: ???
  3917. --------*-61---------------------------------
  3918. INT 61 - reserved for user interrupt
  3919. --------b-61---------------------------------
  3920. INT 61 - Atari Portfolio - EXTENDED BIOS
  3921. Desc:    provides subfunctions such as turning off the machine, accessing
  3922.       internal variables, and mapping memory cards
  3923. SeeAlso: INT 60"Atari"
  3924. --------b-61---------------------------------
  3925. INT 61 - TI Professional PC - FACTORY ROM DATA AREA POINTER (NOT A VECTOR!)
  3926. Desc:    the low word of this vector contains the segment of the RAM data area
  3927.       to be used by the expansion ROM at F400h:0000h, and the high word
  3928.       contains the length of the data area; this segment and size are
  3929.       both set to 0000h if no ROM is installed at F400h:0000h
  3930. SeeAlso: INT 60"TI Professional PC",INT 62"TI Professional"
  3931. SeeAlso: INT 66"TI Professional PC"
  3932. --------b-61---------------------------------
  3933. INT 61 - HP 95LX System Manager - LOAD DS
  3934. SeeAlso: INT 0F"HP 95LX",INT 60"HP 95LX"
  3935. --------r-61---------------------------------
  3936. INT 61 - JPI TopSPEED Modula-2 v1 - PROCEDURE EXIT TRAP
  3937. SeeAlso: INT 60"JPI"
  3938. --------d-61---------------------------------
  3939. INT 61 - Adaptec and OMTI controllers - DRIVE 0 DATA
  3940. Desc:    this vector stores the second four bytes of the parameter table for
  3941.       hard disk 0
  3942. SeeAlso: INT 60"Adaptec",INT 62"Adaptec",INT 63"Adaptec"
  3943. --------I-61---------------------------------
  3944. INT 61 - Sangoma CCIP (CCPOP 3270 resident module) INTERFACE
  3945.     BX:DX -> control block
  3946. SeeAlso: INT 67"Sangoma"
  3947. --------v-61---------------------------------
  3948. INT 61 - VIRUS - "SEMTEX"/"Screen Trasher" - INT 21h SUBSTITUTE
  3949. Note:    the virus copies the original INT 21h vector into INT 61h
  3950. SeeAlso: INT 21h,INT 60"VIRUS",INT 6B"VIRUS"
  3951. --------U-61---------------------------------
  3952. INT 61 - PC-Magazin - PAGE, SWAPx
  3953.     details not yet available
  3954. Program: PAGE and SWAPx are utilities from PC-Magazin, the German edition of
  3955.       PC Magazine, issue 47/85, page 31
  3956. SeeAlso: INT 66"INCA"
  3957. --------N-61---------------------------------
  3958. INT 61 - TCPOpen kernel - API
  3959.     ES:BX -> request packet (see #1960)
  3960. Program: TCPOpen is a TCP/IP protocol stack by Lanera
  3961. Range:    INT 60 to INT 7F, selected by configuration file
  3962. Note:    there does not appear to be an installation check, though function
  3963.       FFFFh can be used to verify that the software is indeed functioning
  3964.  
  3965. Format of TCPOpen request packet:
  3966. Offset    Size    Description    (Table 1960)
  3967.  00h  8 BYTEs    ???
  3968.  08h    WORD    function number (0000h-001Ah or FFF9h-FFFFh)
  3969.  0Ah    WORD    ???
  3970.  0Ch  2 BYTEs    ???
  3971.  0Eh    WORD    (ret) return code
  3972.  10h  2 BYTEs    ???
  3973.  12h    WORD    ???
  3974.  14h    WORD    (ret) 0001h if requested function complete
  3975.  16h    WORD    (ret) ???
  3976.  18h  6 BYTEs    ???
  3977.  1Eh    DWORD    -> ???
  3978.  22h    WORD    ??? or 0000h
  3979.  24h    WORD    (ret) ???
  3980. SeeAlso: #1961
  3981.  
  3982. (Table 1961)
  3983. Call TCPOpen Function FFFFh: installation verification
  3984. Return: offset 10h = BEEFh
  3985.     offset 14h = 0001h
  3986.     offset 24h = ???
  3987. Index:    installation check;TCPOpen kernel
  3988. --------N-61---------------------------------
  3989. INT 61 - XFS v1.76 - XFSKRNL.EXE - API
  3990.     AX = function
  3991.         8000h installation check???
  3992.         Return: AX = 0000h
  3993.         8001h ???
  3994.         ES:DI -> DWORD ???
  3995.         Return: AX = status???
  3996.         8002h ???
  3997.         BX = ???
  3998.         CX = ???
  3999.         ES:DI -> ???
  4000.         Return: AX = status???
  4001.         8003h ???
  4002.         BX = ???
  4003.         CX = ???
  4004.         ES:DI -> ???
  4005.         Return: AX = status???
  4006.         8004h ???
  4007.         BX = ???
  4008.         Return: AX = status???
  4009.         8005h wait until ???
  4010.         Return: DX:AX = ???
  4011.         8006h get ???
  4012.         Return: DX:AX -> ??? record
  4013.         8007h set IP address??? (or htonl/ntohl)
  4014.         DX:BX = IP address???
  4015.         Return: DX:AX = byte-swapped IP address
  4016.         8008h set IP address??? (or htonl/ntohl)
  4017.         DX:AX = IP address???
  4018.         Return: DX:AX = byte-swapped IP address
  4019.         8009h ???
  4020.         ES:DI -> ???
  4021.         Return: DX:AX = ???
  4022.         800Ah ???
  4023.         800Bh ???
  4024.         Return: DX:AX = ???
  4025.         800Ch ???
  4026.         800Dh ???
  4027.         800Eh ???
  4028.         800Fh ???
  4029.         8010h get ??? record
  4030.         Return: DX:AX -> ??? record
  4031.         8011h ???
  4032.         8012h ???
  4033.         BX = ???
  4034.         Return: DX:AX = ???
  4035.         8013h get ??? record
  4036.         Return: DX:AX -> ??? record
  4037.         8014h ???
  4038.         ES:DI -> ???
  4039.         Return: nothing
  4040.         8015h get ??? record
  4041.         Return: DX:AX -> 8-byte ??? record
  4042.         8016h get ??? record
  4043.         Return: DX:AX -> 6-byte ??? record
  4044.         8017h ???
  4045.         ES:DI -> ???
  4046.         Return: DX:AX = ???
  4047.         8018h get ??? record
  4048.         Return: DX:AX -> ??? record
  4049.         8019h get ??? record
  4050.         Return: DX:AX -> 14-byte ??? record
  4051.         801Ah get ??? record
  4052.         Return: DX:AX -> ??? record (max 98 bytes)
  4053.         801Bh get ??? record
  4054.         Return: DX:AX -> ??? record
  4055.         801Ch ???
  4056.         Return: nothing
  4057.         801Dh get ???
  4058.         Return: AL = ???
  4059.         801Eh ???
  4060.         Return: AX = ???
  4061.         801Fh uninstall
  4062.         Return: AX = status
  4063.                 0000h successful
  4064.                 other interrupt which could not be released
  4065.     AX = other
  4066.         Return: AX:BX = ??? (0000h:0000h by default)
  4067. Program: XFS is a shareware Network File System client by Robert Juhasz
  4068. Range:    INT 60 to INT 65, selected by scanning for two consecutive free
  4069.       vectors and hooking the first
  4070. SeeAlso: INT 62"XFS"
  4071. --------N-61---------------------------------
  4072. INT 61 - FTP Software PC/TCP - TCP/IP TSR System Call interface
  4073.     AH = system call number (see also entries below)
  4074.         01h "pkt_alloc" (v2.05; this is "net_config" in v2.1+)
  4075.         02h "pkt_free" (v2.05; this is "get_kernel_info" in v2.1+)
  4076. Return: CF clear if successful
  4077.     CF set on error
  4078.         AL = basic error (see #1962)
  4079.         AH = suberror number (see #1963,#1964)
  4080. Range:    INT 20h to INT E0h, selected by configuration
  4081. Notes:    the installation check consists of testing for the signature "TCPTSR"
  4082.       three bytes beyond the start of the interrupt handler
  4083. BUG:    the SLIP kernel for v2.05 bounds-checks the wrong register, so values
  4084.       greater than 54h in AH may crash the system.    Other kernels may have
  4085.       this bug as well.
  4086. SeeAlso: INT 61/AH=00h"PC/TCP",INT 61/AH=2Ah,INT 61/AH=54h
  4087. Index:    installation check;PC/TCP
  4088.  
  4089. (Table 1962)
  4090. Values for PC/TCP error code:
  4091.  00h "NET_NOERR" successful
  4092.  01h "NET_ERR_INUSE" protocol or socket already in use
  4093.  02h "NET_DOS_ERR" MS-DOS error (returned as suberror code in AH)
  4094.  03h "NET_ERR_NOMEM" out of memory
  4095.  04h "NET_ERR_NOTNETCONN" not a network descriptor
  4096.  05h "NET_ERR_ILLEGALOP" invalid operation on given kind of network descriptor
  4097.  06h "NET_ERR_BADPKT" illegal or corrupted packet
  4098.  07h "NET_ERR_NOHOST" no host bound to specified connection
  4099.  08h "NET_ERR_CANTOPEN" unable to open file
  4100.  09h "NET_ERR_NET_UNREACHABLE" network is unreachable
  4101.  0Ah "NET_ERR_HOST_UNREACHABLE" host is unreachable (see subcodes below)
  4102.  0Bh "NET_ERR_PROT_UNREACHABLE" protocol is unreachable
  4103.  0Ch "NET_ERR_PORT_UNREACHABLE" port is unreachable
  4104.  0Dh "NET_ERR_TIMEOUT" operation timed out
  4105.  0Eh "NET_ERR_HOSTUNKNOWN" unable to resolve host name
  4106.  0Fh "NET_ERR_NOSERVERS" no name servers configured
  4107.  10h "NET_ERR_SERVER_ERR" bad reply from name server
  4108.     Subcodes: 0= no error, 1 = Host unreachable
  4109.  11h "NET_ERR_BADFORMAT" bad format for IP address or field in IP address struc
  4110.             is zero
  4111.  12h "NET_ERR_BADARG" invalid argument
  4112.  13h "NET_ERR_EOF" foreign host closed its end of connection
  4113.  14h "NET_ERR_RESET" connection has been reset
  4114.  15h "NET_ERR_WOULDBLOCK" recv() call was done on a non-blocking connection
  4115.             with no data available
  4116.  16h "NET_ERR_UNBOUND" insufficient resources to do operation
  4117.  17h "NET_ERR_NODESC" could not allocate network descriptor
  4118.  18h "NET_ERR_BADSYSCALL" invalid/unsupported kernel call
  4119.  19h "NET_ERR_CANTBROADCAST" unable to broadcast
  4120.  1Ah "NET_ERR_NOTESTAB" operation illegal because connection not established
  4121.  1Bh kernel busy, try again later
  4122.  1Ch "NET_ERR_ICMPMESG" an ICMP message was received (not on streams)
  4123.     (see subcodes below)
  4124. ---v2.1+---
  4125.  1Dh "NET_ERR_TERMINATING" internal kernel fatal error
  4126.  1Eh "NET_ERR_TAG_LOCKED" not allowed to set this tag (net_config)
  4127.  1Fh "NET_ERR_BAD_INTERFACE" non existent interface specified
  4128.  20h "NET_ERR_BADCONFIG" kernel cannot run - bad configuration
  4129.  21h "NET_ERR_EMM" expanded memory error
  4130.  22h "NET_ERR_CANT_SHUTDOWN" cant unload kernel (multitasker running)
  4131.  23h "NET_ERR_PARKED_IN" unable to unhook DOS interrupt
  4132.  24h "NET_ERR_NOQIOS" ran out of resources; try again later
  4133.  25h "NET_ERR_WOULD_TRUNCATE" datagram too large and "don't truncate" was set
  4134.  
  4135. (Table 1963)
  4136. Values for subcodes of PC/TCP error 0Ah "NET_ERR_HOST_UNREACHABLE":
  4137.  00h    no error
  4138.  01h    host unreachable
  4139.  02h    ARP failed
  4140.  03h    hardware failure
  4141.  04h    link failure
  4142.  05h    no route
  4143.  06h    gateway down
  4144.  
  4145. (Table 1964)
  4146. Values for subcodes of PC/TCP error 1Ch "NET_ERR_ICMPMESG":
  4147.  07h    unrecognised
  4148.  08h    can't fragment
  4149.  09h    srcr_fail
  4150.  0Ah    source quench
  4151.  0Bh    time exceeded
  4152.  0Ch    parameter problem
  4153.  0Dh    admin_prohib. see also code 0Ah
  4154. --------N-6100-------------------------------
  4155. INT 61 U - PC/TCP kernel v2.05+ - GET DEBUG INFORMATION
  4156.     AH = 00h
  4157.     DS:SI -> 216-byte buffer for network debugging information (see #1965)
  4158. Return: CF clear
  4159.     AX = 0000h
  4160.     buffer filled
  4161. Notes:    this call is not documented by FTP, Inc. for any version
  4162.     most of the information returned by this call is available via the
  4163.       documented get_kernel_info or net_info commands.
  4164.     this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  4165. SeeAlso: INT 61"PC/TCP",INT 61/AH=2Ah"PC/TCP"
  4166.  
  4167. Format of network debugging information:
  4168. Offset    Size    Description    (Table 1965)
  4169.  00h    DWORD    number of interrupts
  4170.  04h    DWORD    receive buffer low-water mark
  4171.  08h    DWORD    transmit buffer low-water mark
  4172.  0Ch    DWORD    number of packets received
  4173.  10h    DWORD    number of packets transmitted
  4174.  14h    DWORD    total receive errors
  4175.  18h    DWORD    total transmit errors
  4176.  1Ch  4 BYTEs    ???
  4177.  20h    DWORD    receive resets
  4178.  24h    DWORD    transmit resets
  4179.  28h    DWORD    number of "runts" received
  4180.  2Ch    DWORD    number of alignment errors on received packets
  4181.  30h    DWORD    number of CRC errors on received packets
  4182.  34h    DWORD    number of parity errors on received packets
  4183.  38h    DWORD    number of receive overflow errors
  4184.  3Ch    DWORD    number of oversized packets received
  4185.  40h    DWORD    number of packets lost due to lack of buffers
  4186.  44h    DWORD    receive timeouts
  4187.  48h 32 BYTEs    ???
  4188.  68h    DWORD    number of transmit collisions
  4189.  6Ch    DWORD    number of transmit timeouts
  4190.  70h    DWORD    number of transmit underflows
  4191.  74h    DWORD    number of lost "crs" on transmit
  4192.  78h    DWORD    number of times heartbeat failed on transmit
  4193.  7Ch 24 BYTEs    ???
  4194.  94h    WORD    free packet buffers
  4195.  96h    WORD    total packet buffers
  4196.  98h    WORD    minimum number of packet buffers free since kernel started
  4197.  9Ah 24 BYTEs    ???
  4198.  B2h    DWORD    pointer to TCP connection list???
  4199.  B6h    DWORD    pointer to IP routing table???
  4200.  BAh 30 BYTEs    ???
  4201. --------N-6100-------------------------------
  4202. INT 61 - Banyan VINES - CALL A SERVICE
  4203.     AH = 00h
  4204.     AL = service ID (1..16)
  4205.     other registers vary by service
  4206. Return: AX = status (see #1968)
  4207. Desc:    Calls an adapter driver or redirector service. The service handler
  4208.       pointers are stored at offset 0010h in the code segment of the
  4209.       BANV interrupt handler (see #1966).
  4210. Note:    Banyan can use any interrupt from 60h through 66h.  The Banyan
  4211.       interrupt handler is identified by the string "BANV" in the four
  4212.       bytes immediately preceding the interrupt handler
  4213. SeeAlso: AH=01h,AH=03h
  4214.  
  4215. Format of the BANV code segment (revision 5.53):
  4216. Offset    Size    Description    (Table 1966)
  4217.  00h 16    BYTEs    reserved
  4218.  10h 16    DWORDs    far pointers to the service handlers (0 = not installed)
  4219.  50h    DWORD    far pointer to last called service
  4220.  54h    WORD    VINES revision
  4221.  56h    DWORD    VINES revision long
  4222.  5Ah    WORD    VINES revision (lower bound)
  4223.  5Ch    DWORD    VINES revision (lower bound) long
  4224.  60h    WORD    VINES revision (upper bound)
  4225.  62h    DWORD    VINES revision (upper bound) long
  4226.  66h    WORD    end of PCCONFIG area
  4227.  68h    WORD    start of PCCONFIG area
  4228.  6Ah  4    BYTEs    BANV interrupt identifier ("BANV")
  4229.  6Eh  N    BYTEs    BANV interrupt service
  4230. SeeAlso: #1967
  4231. --------V-610000-----------------------------
  4232. INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - ZOOM DISPLAY
  4233.     AX = 0000h
  4234.     BX = zoom factor (0-7)
  4235. Desc:    zooms the display based on the given zoom factor
  4236. Notes:    INT 61h is the default interrupt; the actual interrupt number can be
  4237.       obtained by calling INT 16/AH=FFh
  4238.     not all vendors include the Tseng TSR which supports these functions
  4239. SeeAlso: AX=0001h"OPTIMA",AX=0002h"OPTIMA",AX=0005h"OPTIMA"
  4240. SeeAlso: INT 16/AH=FFh"OPTIMA"
  4241. --------N-610001DS0001-----------------------
  4242. INT 61 - Banyan VINES - INTERNAL VINES SOCKET API (NEAR DATA)
  4243.     AX = 0001h
  4244.     DS = 0001h (to distinguish from alternate AX=0001h socket interface)
  4245.     CX:BX -> internal communications control block (see #1967)
  4246.     DX = caller's data segment
  4247. Return: AX = status
  4248.         0000h successful
  4249.         0099h invalid operation
  4250.         00A5h resource not available
  4251. Desc:    StreetTalk access with session handles
  4252. Range:    INT 60 to INT 66
  4253. Notes:    This service is handled by the adapter driver
  4254.     The request dispatch table contains dummy entries for subfunctions
  4255.       06h, 0Dh, 0Eh, 0Fh, 10h, and 11h, which always return error 0099h
  4256.       (invalid operation) in the request block's result buffer
  4257.     in recent VINES releases, this interface is superseded by the AX=000Fh
  4258.       interface, which allows FAR parameter block pointers (see that
  4259.       function's entries for more details on individual subfunctions)
  4260.     some adapter drivers (e.g. the NDIS2 token ring driver NDTOKBAN for
  4261.       VINES 5.53) ignore the value in CX and use the value from DX instead
  4262. SeeAlso: AX=000Fh
  4263.  
  4264. Format of internal communications control block:
  4265. Offset    Size    Description    (Table 1967)
  4266.  00h    WORD    subfunction number
  4267.  02h    WORD    magic number (FEFEh)
  4268.  04h    WORD    (ret) result, should be set to 0 before calling
  4269.  06h    WORD    reserved (will be set to client DS)
  4270.  08h    WORD    caller's code segment if function 000Bh, 0 else
  4271.  0Ah    WORD    pointer to parameter block
  4272.  0Ch    WORD    reserved (segment of parameter block; will be set to client DS)
  4273.  0Eh    WORD    StreetTalk handle
  4274. SeeAlso: #1966,#2709h at INT 61/AX=000Fh
  4275. --------N-610001SF0001-----------------------
  4276. INT 61 - Banyan VINES - "Sosock" - OPEN COMMUNICATIONS SOCKET
  4277.     AX = 0001h subfn 0001h
  4278.     DS:DX -> communications control block (function 0001h) (see #1969)
  4279. Return: AX = status (0000h-0002h,0098h,009Eh-00A2h) (see #1968)
  4280. Range:    INT 60h to INT 66h
  4281. Note:    The Banyan interrupt handler is identified by the string "BANV" in
  4282.       the four bytes immediately preceding the interrupt handler
  4283. SeeAlso: AX=0001h/SF=0002h,AX=0001h/SF=0008h,INT 15/AX=DE2Eh
  4284.  
  4285. (Table 1968)
  4286. Values for VINES status:
  4287.  0000h    successful
  4288.  0001h    service not installed
  4289.  0002h    invalid service ID
  4290.  0003h    invalid function
  4291.  0004h-000Ah reserved for BANV interface errors
  4292.  0097h    invalid socket identifier
  4293.  0098h    resource already in use
  4294.  009Bh    destination node unreachable
  4295.  009Ch    message overflow
  4296.  009Dh    destination socket nonexistent
  4297.  009Eh    address family does not exist
  4298.  009Fh    socket type does not exist
  4299.  00A0h    protocol does not exist
  4300.  00A1h    no more sockets available
  4301.  00A2h    no more buffer space available
  4302.  00A3h    timeout
  4303.  00A5h    resource not available
  4304.  00A6h    internal communication failure
  4305.  00B1h    resource disconnect
  4306.  
  4307. Format of VINES control block to open socket:
  4308. Offset    Size    Description    (Table 1969)
  4309.  00h    WORD    0001h
  4310.  02h    WORD    pointer to argument block
  4311.  04h    WORD    error return code
  4312.  06h  4 BYTEs    reserved
  4313. SeeAlso: #1970
  4314.  
  4315. Format of VINES argument block for opening socket:
  4316. Offset    Size    Description    (Table 1970)
  4317.  00h    WORD    pointer to 2-byte buffer for socket identifier
  4318.  02h    WORD    address family
  4319.         0003h Banyan
  4320.  04h    WORD    socket type
  4321.         in address family 0003h
  4322.             0001h IPC socket
  4323.             0002h SPP socket
  4324.  06h    WORD    protocol number
  4325.         FFFFh default
  4326.  08h    WORD    pointer to 16-byte buffer for socket address (see #1971)
  4327.  0Ah    WORD    local port number
  4328.         0000h if service should assign transient port number
  4329.         0001h to 01FFh well-known port number (assigned by Banyan)
  4330. SeeAlso: #1969
  4331.  
  4332. Format of Banyan VINES IPC port:
  4333. Offset    Size    Description    (Table 1971)
  4334.  00h    WORD    address family (always 0003h for Banyan ports)
  4335.  04h  4 BYTEs    network number (server's serial number)
  4336.  06h    WORD    subnet number  (0001h = server, 8000h-FFFEh = PC)
  4337.  08h    WORD    port ID (0001h-01FFh for "well-known" ports)
  4338.  0Ah    BYTE    hop count
  4339.  0Bh  5 BYTEs    filler
  4340. SeeAlso: #1976
  4341. --------N-610001SF0002-----------------------
  4342. INT 61 - Banyan VINES - "Sosend" - INITIATE OUTPUT EVENT
  4343.     AX = 0001h subfn 0002h
  4344.     DS:DX -> communications control block (function 0002h) (see #1972)
  4345. Return: AX = status (0000h-0002h,0097h,009Bh-009Dh,00A2h,00A3h,00B1h)
  4346.         (see #1968)
  4347. Range:    INT 60h to INT 66h
  4348. Note:    The Banyan interrupt handler is identified by the string "BANV" in
  4349.       the four bytes immediately preceding the interrupt handler
  4350. SeeAlso: AX=0001h/SF=0001h,AX=0001h/SF=0005h
  4351.  
  4352. Format of VINES control block for subfunction 0002h:
  4353. Offset    Size    Description    (Table 1972)
  4354.  00h    WORD    0002h
  4355.  02h    WORD    pointer to argument block (see #1973)
  4356.  04h    WORD    error return code (0000h,0097h,00A2h,00A3h,00A5h,00A6h,00B1h)
  4357.         (see #1968)
  4358.  06h  4 BYTEs    reserved
  4359. SeeAlso: #1977
  4360.  
  4361. Format of VINES argument block for subfunction 0002h:
  4362. Offset    Size    Description    (Table 1973)
  4363.  00h    WORD    routine metric
  4364.  02h    WORD    error return code
  4365.  04h    WORD    socket identifier
  4366.  06h    WORD    pointer to send buffer (see #1975)
  4367.  08h    WORD    length of send buffer
  4368.  0Ah    WORD    message request flags (see #1974)
  4369.  0Ch 16 BYTEs    socket address (see #1976)
  4370.  1Ch    WORD    timeout value in multiples of 200ms
  4371.  1Eh    WORD    connection identifier
  4372.  20h    WORD    type of request
  4373.         0001h send message
  4374.         0002h establish a virtual connection
  4375.         0003h terminate a virtual connection
  4376. SeeAlso: #1972,#1978
  4377.  
  4378. Bitfields for message request flags:
  4379. Bit(s)    Description    (Table 1974)
  4380.  0    async request
  4381.  1    reliable message
  4382.  2    flush receive buffer on overflow
  4383.  3    end of user message received
  4384.  4    vectored request (if set, send buffer contains buffer descriptors)
  4385.  5    connection-specific receive
  4386.  6    change to connection-specific receive mode
  4387. SeeAlso: #1973,#1978
  4388.  
  4389. Format of buffer descriptor:
  4390. Offset    Size    Description    (Table 1975)
  4391.  00h    WORD    data segment
  4392.  02h    WORD    buffer pointer
  4393.  04h    WORD    buffer length
  4394.  06h    WORD    character count
  4395. SeeAlso: #1973
  4396.  
  4397. Format of VINES socket address for unreliable datagrams:
  4398. Offset    Size    Description    (Table 1976)
  4399.  00h    WORD    0003h      address family
  4400.  02h    DWORD    FFFFFFFFh network number
  4401.  06h    WORD    FFFFh      subnet number
  4402.  08h    WORD          local port number
  4403.  0Ah    BYTE    00h-0Fh      hop count
  4404.  0Bh  5 BYTEs    0000h      filler
  4405. SeeAlso: #1971
  4406. --------N-610001SF0003-----------------------
  4407. INT 61 - Banyan VINES - "Sorec" - RECEIVE INPUT EVENT NOTIFICATION
  4408.     AX = 0001h subfn 0003h
  4409.     DS:DX -> communications control block (function 0003h) (see #1977)
  4410. Return: AX = status (00-0Ah,97h,A2h,A3h) (see #1968)
  4411. Range:    INT 60h to INT 66h
  4412. Note:    The Banyan interrupt handler is identified by the string "BANV" in
  4413.       the four bytes immediately preceding the interrupt handler
  4414. SeeAlso: AX=0001h/SF=0002h
  4415.  
  4416. Format of VINES control block for subfunction 0003h:
  4417. Offset    Size    Description    (Table 1977)
  4418.  00h    WORD    0003h
  4419.  02h    WORD    pointer to argument block (see #1978)
  4420.  04h    WORD    error return code (0000h,0097h,00A2h,00A3h,00A5h,00A6h,00B1h)
  4421.         (see #1968)
  4422.  06h  4 BYTEs    reserved
  4423. SeeAlso: #1972,#1978,#1980
  4424.  
  4425. Format of VINES argument block for subfunction 0003h:
  4426. Offset    Size    Description    (Table 1978)
  4427.  00h    WORD    character count
  4428.  02h    WORD    error return code
  4429.  04h    WORD    socket identifier
  4430.  06h    WORD    pointer to receive buffer (see #1979)
  4431.  08h    WORD    length of receive buffer
  4432.  0Ah    WORD    message request flags (see #1974)
  4433.  0Ch 16 BYTEs    socket address (see #1971)
  4434.  1Ch    WORD    timeout value in multiples of 200ms
  4435.  1Eh    WORD    connection identifier
  4436.  20h    WORD    type of response
  4437.         0001h message received
  4438.         0002h virtual connection established
  4439.         0003h virtual connection terminated
  4440. SeeAlso: #1977,#1981
  4441.  
  4442. Format of buffer descriptor:
  4443. Offset    Size    Description    (Table 1979)
  4444.  00h    WORD    data segment
  4445.  02h    WORD    buffer pointer
  4446.  04h    WORD    buffer length
  4447.  06h    WORD    character count
  4448. SeeAlso: #1978
  4449. --------N-610001SF0004-----------------------
  4450. INT 61 - Banyan VINES - "Soclose" - CLOSE A SOCKET
  4451.     AX = 0001h subfn 0004h
  4452.     DS:DX -> communications control block (function 0004h) (see #1980)
  4453. Return: AX = status (0000h-000Ah,0097h) (see #1968)
  4454. Range:    INT 60h to INT 66h
  4455. Note:    The Banyan interrupt handler is identified by the string "BANV" in
  4456.       the four bytes immediately preceding the interrupt handler
  4457. SeeAlso: AX=0001h/SF=0001h,INT 15/AX=DE2Eh
  4458.  
  4459. Format of VINES control block to close socket:
  4460. Offset    Size    Description    (Table 1980)
  4461.  00h    WORD    0004h
  4462.  02h    WORD    pointer to argument block (see #1981)
  4463.  04h    WORD    error return code (see #1968)
  4464.  06h  4 BYTEs    reserved
  4465. SeeAlso: #1977,#1983
  4466.  
  4467. Format of VINES argument block for closing socket:
  4468. Offset    Size    Description    (Table 1981)
  4469.  00h    WORD    socket identifier
  4470. SeeAlso: #1978,#1980,#1984
  4471. --------N-610001SF0005-----------------------
  4472. INT 61 - Banyan VINES - "Sowait" - WAIT FOR ASYNCHRONOUS EVENT COMPLETION
  4473.     AX = 0001h subfn 0005h
  4474.     DS:DX -> communications control block (see #1983)
  4475. Return: AX = status (0000h-000Ah,00A2h,00A3h) (see #1982)
  4476. Desc:    returns results for all asynchronous operations invoked from the
  4477.       data segment used for this call
  4478. Range:    INT 60h to INT 66h
  4479. Notes:    The Banyan interrupt handler is identified by the string "BANV" in
  4480.       the four bytes immediately preceding the interrupt handler
  4481. SeeAlso: AX=0001h/SF=0002h,AX=0001h/SF=0009h
  4482.  
  4483. (Table 1982)
  4484. Values for VINES function status:
  4485.  0000h    successful
  4486.  0001h    service not installed
  4487.  0002h    invalid service ID
  4488.  0003h-000Ah reserved for BANV interface errors
  4489.  00A2h    no more buffer space available
  4490.  00A3h    timeout event
  4491.  
  4492. Format of VINES control block for subfunction 0005h:
  4493. Offset    Size    Description    (Table 1983)
  4494.  00h    WORD    0005h
  4495.  02h    WORD    pointer to argument block (see #1984)
  4496.  04h    WORD    error return code
  4497.  06h  4 BYTEs    reserved
  4498. SeeAlso: #1980,#1985
  4499.  
  4500. Format of VINES argument block for subfunction 0005h:
  4501. Offset    Size    Description    (Table 1984)
  4502.  00h    WORD    pointer to WORD event pointer
  4503.  02h    WORD    timeout in multiples of 200ms, FFFFh = infinite
  4504. SeeAlso: #1981,#1983
  4505. --------N-610001SF0008-----------------------
  4506. INT 61 - Banyan VINES - "Sosession" - REGISTER APPLICATION WITH COMM SERVICE
  4507.     AX = 0001h subfn 0008h
  4508.     DS:DX -> communications control block (function 0008h) (see #1985)
  4509. Return: AX = status
  4510.         0000h  successful
  4511.         00A2h  no more buffer space available
  4512. Range:    INT 60h to INT 66h
  4513. Note:    The Banyan interrupt handler is identified by the string "BANV" in
  4514.       the four bytes immediately preceding the interrupt handler
  4515. SeeAlso: AX=0001h/SF=0001h,AX=0001h/SF=0009h
  4516.  
  4517. Format of VINES control block for subfunction 0006h:
  4518. Offset    Size    Description    (Table 1985)
  4519.  00h    WORD    0008h
  4520.  02h    WORD    process type
  4521.         0001h transient process
  4522.         0002h resident process
  4523.  04h    WORD    error return code
  4524.  06h  4 BYTEs    reserved
  4525. SeeAlso: #1983,#1986
  4526. --------N-610001SF000B-----------------------
  4527. INT 61 - Banyan VINES - "Soint" - SET USER COMPLETION FUNCTION
  4528.     AX = 0001h subfn 000Bh
  4529.     DS:DX -> communications control block (function 000Bh) (see #1986)
  4530. Return: AX = status (00h-0Ah,A2h) (see #1982)
  4531. Range:    INT 60h to INT 66h
  4532. Note:    The Banyan interrupt handler is identified by the string "BANV" in
  4533.       the four bytes immediately preceding the interrupt handler
  4534. SeeAlso: AX=0001h/SF=0005h,AX=0001h/SF=0008h
  4535.  
  4536. Format of VINES control block for subfunction 000Bh:
  4537. Offset    Size    Description    (Table 1986)
  4538.  00h    WORD    000Bh
  4539.  02h    WORD    pointer to argument block (see #1987)
  4540.  04h    WORD    error return code (see #1968)
  4541.  06h  2 BYTEs    reserved
  4542.  08h    WORD    user CS register
  4543. SeeAlso: #1985
  4544.  
  4545. Format of VINES argument block for subfunction 000Bh:
  4546. Offset    Size    Description    (Table 1987)
  4547.  00h    WORD    pointer to user interrupt function (see #1988)
  4548.  02h    WORD    pointer to user stack
  4549.  04h    WORD    initial timeout value in multiples of 200ms, FFFFh = infinite
  4550. SeeAlso: #1987
  4551.  
  4552. (Table 1988)
  4553. Values FAR user function is invoked with:
  4554.     SS = DS = ES = segment of control block
  4555.     STACK:    DWORD    return address
  4556.         WORD    argument pointer (sosend or sorec argument block)
  4557.         WORD    error return code
  4558.             0000h argument pointer is valid
  4559.             00A3h timeout
  4560. --------V-610001-----------------------------
  4561. INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - CENTER ZOOM WINDOW
  4562.     AX = 0001h
  4563.     BX = X coordinate to center
  4564.     CX = Y coordinate to center
  4565. Desc:    Positions the zoom window such that the specified window-relative
  4566.       coordinates appear as close as possible to the center of the
  4567.       display.  Useful for scrolling and panning.
  4568. Range:    unknown
  4569. Notes:    INT 61h is the default interrupt; the actual interrupt number can be
  4570.       obtained by calling INT 16/AH=FFh
  4571.     not all vendors include the Tseng TSR which supports these functions
  4572. SeeAlso: AX=0000h"OPTIMA",AX=0002h"OPTIMA",AX=0005h"OPTIMA"
  4573. SeeAlso: INT 16/AH=FFh"OPTIMA"
  4574. --------I-610002-----------------------------
  4575. INT 61 - Banyan VINES - 3270 INTERFACE
  4576.     AX = 0002h
  4577.     BH = function number (see #1989)
  4578.     DS:CX -> argument block (except BH=00h,1Ah) (see #1991)
  4579. Return: AX = status (see #1990)
  4580. Notes:    Either 3270/SNA or 3270/BSC interface may use AX=0002h, depending on
  4581.       which is loaded first.  The other interface will use AX=000Ah
  4582.     Status codes greater than 63h indicate an inconsistency in the 3270/SNA
  4583.       or 3270/BSC resident driver, which must be reloaded by the user
  4584.  
  4585. (Table 1989)
  4586. Values for VINES 3270 interface function number:
  4587.  00h "pi2reset"     reset 3270/SNA or 3270/BSC driver
  4588.  02h "pi2bsc"     (3270/BSC only)
  4589.  03h "pi2get"     get information stored in 3270 resident driver
  4590.  04h "pi2put"     store information in 3270 resident driver
  4591.  05h "pi2gcur"     get current screen position
  4592.  07h "pi2sdat"     send data keystroke
  4593.  08h "pi2scom"     send command keystroke
  4594.  0Ah "pi2field"     get field info for arbitrary screen positions
  4595.  0Fh "pi2stat"     get logical unit/device status
  4596.  12h "pi2nlus"     determine logical unit/device assignment
  4597.  13h "pi2gate"     specifies comm port address to gateway service
  4598.  14h "pi2attach" attach a logical unit/device
  4599.  15h "pi2sdev"     save logical unit/device info in resident driver
  4600.         (not supported in >3.0)
  4601.  16h "pi2gdev"     get device information (not supported in >3.0)
  4602.  17h "pi2luinfo" get info about specific logical unit/device
  4603.  18h "pi2gerr"     get finer error detail
  4604.  19h "pi2dhold"     (3270/SNA only)  holds a 3270 device
  4605.  1Ah "pi2shut"     release memory-resident module
  4606.  1Ch "pi2sprof"     save profile info in res driver (not supp in >3.0)
  4607.  1Dh "pi2gprof"     get prevsly stored profile info (not supp in >3.0)
  4608.  
  4609. (Table 1990)
  4610. Values for VINES 3270 status:
  4611.  0000h    successful
  4612.  000Bh    invalid parameter or data does not fit data area
  4613.  000Ch    another code path currently active in resident driver
  4614.  000Dh    operation currently not allowed
  4615.  0032h    encountered connection disconnect error
  4616.  0033h    encountered "sosend" completion error
  4617.  0034h    encountered "sosend" communication error
  4618.  0035h    attach request refused.    extended error info via "pi2gerr":
  4619.     01h resource unavailable
  4620.     02h invalid type
  4621.     03h version mismatch
  4622.     04h invalid logical unit number
  4623.     05h error during ARL processing
  4624.     06h no access for user
  4625.  0071h    encountered "sosock" error
  4626.  0072h    encountered unrecognizable error
  4627.  0073h    encountered "sowait" error (extended info via "pi2gerr")
  4628.  0074h    encountered invalid type-of-request on "sowait"
  4629.  0075h    encountered "sorec" error (extended info via "pi2gerr")
  4630.  0076h    encountered "sorec" completion error (ext info via "pi2gerr")
  4631.  0077h    encountered connection request
  4632.  0078h    encountered unrecognizable data
  4633.  0079h    encountered unknown connection ID (ext info via "pi2gerr")
  4634. SeeAlso: #1968
  4635.  
  4636. Format of argument block for BH=03h,04h:
  4637. Offset    Size    Description    (Table 1991)
  4638.  00h    WORD    size of data area (max 256)
  4639.  02h  N BYTEs    data area
  4640. SeeAlso: #1992,#1993,#1994
  4641.  
  4642. Format of argument block for BH=05h:
  4643. Offset    Size    Description    (Table 1992)
  4644.  00h    WORD    logical unit/device number
  4645.  02h    WORD    pointer to WORD buffer for cursor index
  4646.  04h    WORD    pointer to BYTE buffer for current field attribute
  4647. SeeAlso: #1991,#1993,#1994
  4648.  
  4649. Format of argument block for BH=07h:
  4650. Offset    Size    Description    (Table 1993)
  4651.  00h    WORD    logical unit/device number
  4652.  02h    WORD    ASCII data byte
  4653.  04h    WORD    pointer to WORD count of characters which will need updating
  4654. SeeAlso: #1991,#1992,#1994
  4655.  
  4656. Format of argument block for BH=08h:
  4657. Offset    Size    Description    (Table 1994)
  4658.  00h    WORD    logical unit/device number
  4659.  02h    WORD    3270 keystroke (see #1995)
  4660. SeeAlso: #1991,#1992,#1993,#1996
  4661.  
  4662. (Table 1995)
  4663. Values for 3270 keystroke:
  4664.  0000h    Enter
  4665.  0001h    Clear
  4666.  0002h    PA1
  4667.  0003h    PA2
  4668.  0004h    PA3
  4669.  0005h    PF1
  4670.  ...
  4671.  001Ch    PF24
  4672.  001Dh    CSELECT (cursor select)
  4673.  001Eh    Insert
  4674.  001Fh    Delete
  4675.  0020h    EOField
  4676.  0021h    EINPUT (erase input)
  4677.  0022h    Reset
  4678.  0023h    Attention
  4679.  0024h    SysReq
  4680.  0025h    Duplicate
  4681.  0026h    Fieldmark
  4682.  0027h    Home
  4683.  0028h    NextLine
  4684.  0029h    Tab
  4685.  002Ah    BackTab
  4686.  002Bh    cursor up
  4687.  002Ch    cursor down
  4688.  002Dh    cursor right
  4689.  002Eh    cursor left
  4690.  002Fh    double cursor right
  4691.  0030h    double cursor left
  4692.  0031h    PRINT
  4693.  0032h    CANCEL
  4694.  0033h    Backspace
  4695.  
  4696. Format of argument block for BH=0Ah:
  4697. Offset    Size    Description    (Table 1996)
  4698.  00h    WORD    logical unit/device number
  4699.  02h    WORD    screen index
  4700.  04h    WORD    pointer to WORD buffer for field length
  4701.  06h    WORD    pointer to WORD buffer for offset in screen of field start
  4702. SeeAlso: #1994,#1997
  4703.  
  4704. Format of argument block for BH=0Fh:
  4705. Offset    Size    Description    (Table 1997)
  4706.  00h    WORD    logical unit/device number
  4707.  02h    WORD    clear mask (clear these bits of status after returning status)
  4708.  04h    WORD    pointer to WORD buffer for device status (see #1998)
  4709. SeeAlso: #1996,#1999
  4710.  
  4711. Bitfields for Banyan 3270 device status:
  4712. Bit(s)    Description    (Table 1998)
  4713.  10    status modified
  4714.  9    buffer modified
  4715.  8    set cursor
  4716.  5    sound alarm
  4717.  1-0    size of print line for printer logical units
  4718.     00  unformatted line
  4719.     01  40-character line
  4720.     10  64-character line
  4721.     11  80-character line
  4722.  
  4723. Format of argument block for BH=12h:
  4724. Offset    Size    Description    (Table 1999)
  4725.  00h    WORD    pointer to WORD buffer for number of logical units or devices
  4726.  02h    WORD    pointer to WORD buffer for version number
  4727.  04h    WORD    pointer to 64-byte buffer for logical unit/device list
  4728. SeeAlso: #1997,#2000
  4729.  
  4730. Format of argument block for BH=13h:
  4731. Offset    Size    Description    (Table 2000)
  4732.  00h 16 BYTEs    communications port address (see #1971)
  4733. SeeAlso: #1999,#2001
  4734.  
  4735. Format of argument block for BH=14h:
  4736. Offset    Size    Description    (Table 2001)
  4737.  00h    WORD    logical unit/device number
  4738.         0000h attach any free device of the specified type
  4739.  02h    WORD    logical unit/device type
  4740.         (3270/SNA) 01h, 02h, or 03h
  4741.         (3270/BSC) 02h display
  4742.         (3270/BSC) 03h printer
  4743.  04h    WORD    pointer to WORD buffer for attached logical unit/device number
  4744. SeeAlso: #2000,#2002
  4745.  
  4746. Format of argument block for BH=16h:
  4747. Offset    Size    Description    (Table 2002)
  4748.  00h    WORD    pointer to 18-byte buffer for device block (see #2007)
  4749.         first WORD must be set to desired logical unit/device number
  4750. SeeAlso: #2001,#2003
  4751.  
  4752. Format of argument block for BH=17h:
  4753. Offset    Size    Description    (Table 2003)
  4754.  00h    WORD    logical unit/device number
  4755.  02h    WORD    pointer to information block in caller's DS (see #2008)
  4756. SeeAlso: #2002,#2004
  4757.  
  4758. Format of argument block for BH=18h:
  4759. Offset    Size    Description    (Table 2004)
  4760.  00h    WORD    pointer to WORD buffer for major error code
  4761.  02h    WORD    pointer to WORD buffer for minor error code
  4762. SeeAlso: #2003,#2005
  4763.  
  4764. Format of argument block for BH=19h:
  4765. Offset    Size    Description    (Table 2005)
  4766.  00h    WORD    logical unit/device number
  4767. SeeAlso: #2004,#2006
  4768.  
  4769. Format of argument block for BH=1Ch,1Dh:
  4770. Offset    Size    Description    (Table 2006)
  4771.  00h    WORD    pointer to profile block in caller's DS (see #2011)
  4772. SeeAlso: #1991,#2005
  4773.  
  4774. Format of device block, argument block for BH=15h:
  4775. Offset    Size    Description    (Table 2007)
  4776.  00h    WORD    logical unit/device number
  4777.  02h    WORD    logical unit/device type
  4778.  04h    WORD    display model number
  4779.  06h    WORD    numeric checking
  4780.  08h    WORD    status line
  4781.  0Ah    BYTE    unprotected normal field attribute
  4782.  0Bh    BYTE    unprotected intensified field attribute
  4783.  0Ch    BYTE    protected normal field attribute
  4784.  0Dh    BYTE    protected intensified field attribute
  4785.  0Eh    WORD    reserved
  4786.  10h    WORD    printer port number
  4787.  
  4788. Format of information block:
  4789. Offset    Size    Description    (Table 2008)
  4790.  00h    WORD    device model number
  4791.  02h    DWORD    screen buffer pointer
  4792.  06h    DWORD    status line pointer (see #2009)
  4793.  0Ah    DWORD    reserved
  4794.  
  4795. Format of Banyan VINES 3270 status line:
  4796. Offset    Size    Description    (Table 2009)
  4797.  00h    BYTE    comm line status
  4798.         00h inactive
  4799.         01h active
  4800.  01h    BYTE    activation level
  4801.         01h physical unit activated
  4802.         02h logical unit also activated
  4803.         03h session is bound
  4804.  02h    BYTE    data traffic state
  4805.         00h inactive
  4806.         01h active
  4807.  03h    BYTE    screen ownership
  4808.         00h SLU->PLU session owns screen
  4809.         01h SLU->SSCP session owns screen
  4810.  04h    BYTE    keyboard status (see #2010)
  4811.  05h    BYTE    insert mode
  4812.         01h if in insert mode
  4813.  06h    BYTE    numeric
  4814.         01h if current screen buffer is numeric only
  4815.  07h    BYTE    printer status
  4816.         00h printer not assigned
  4817.         01h printer is inactive
  4818.         02h printer error
  4819.         03h currently printing
  4820.         04h printer is busy
  4821.         05h printer is very busy
  4822.  08h    BYTE    printer assignment
  4823.  09h    BYTE    maximum size of network name
  4824.  0Ah  N BYTEs    ASCIZ network name
  4825.     BYTE    maximum size of message window
  4826.       M BYTEs    null-terminated message window
  4827.     BYTE    code set
  4828.         00h EBCDIC
  4829.         01h ASCII
  4830.       M BYTEs    extended attributes
  4831.         01h extended attributes are in effect (stored at screen+1920)
  4832.             each extended attribute specifies
  4833.             bits 0,1: 00=normal, 01=blink, 10=reverse, 11=underscor
  4834.             bits 2-4: 000=default,001=blue,010=red,011=pink,
  4835.                   100=green,101=turquoise,110=yellow,111=white
  4836.     BYTE    extended color
  4837.         01h other than base color is in effect
  4838.  
  4839. (Table 2010)
  4840. Values for Banyan VINES 3270 keyboard status:
  4841.  00h    UNLOCK - ready to accept data
  4842.  01h    TIME - aid was struck
  4843.  02h    SYSTEM - received response no restore
  4844.  03h    FUNCTION - unavailable keyboard function
  4845.  04h    INPUT - not currently used
  4846.  05h    ENDFIELD - field filled in insert mode
  4847.  06h    PROTECTED - attempt to enter in protected field
  4848.  07h    NUMERIC - attempt to enter in numeric field
  4849.  08h    PROGRAM - error in outbound data stream
  4850.  
  4851. Format of Banyan VINES 3270 profile block:
  4852. Offset    Size    Description    (Table 2011)
  4853.  00h 64 BYTEs    gateway service name
  4854.  40h 16 BYTEs    gateway comm port address
  4855.  50h    WORD    primary logical unit number
  4856.  52h    WORD    secondary logical unit type
  4857.  54h    WORD    secondary logical unit number
  4858.  56h    WORD    printer assignment
  4859.  58h 50 BYTEs    keyboard definitions filename
  4860. --------V-610002-----------------------------
  4861. INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - END ZOOM
  4862.     AX = 0002h
  4863. Desc:    switches off zoom and returns window to its original state
  4864. Range:    unknown
  4865. Notes:    INT 61h is the default interrupt; the actual interrupt number can be
  4866.       obtained by calling INT 16/AH=FFh
  4867.     not all vendors include the Tseng TSR which supports these functions
  4868. SeeAlso: AX=0000h"OPTIMA",INT 16/AH=FFh"OPTIMA"
  4869. --------N-610003SF00-------------------------
  4870. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - INIT USER BUFFER PTR INFO
  4871.     AX = 0003h subfn 00h
  4872.     DS:BX -> argument block (see #2013)
  4873. Return: AX = status (see #2012)
  4874. SeeAlso: AX=0003h/SF=06h,AX=0003h/SF=08h,AX=0003h/SF=0Dh
  4875.  
  4876. (Table 2012)
  4877. Values for VINES function status:
  4878.  0000h    successful
  4879.  000Bh    invalid session ID
  4880.  000Ch    session not active
  4881.  000Dh    invalid request type
  4882.  000Eh    invalid parameters
  4883.  000Fh    out of heap space
  4884.  0010h    timeout on send
  4885.  0011h    Banyan communications error
  4886.  0012h    session not waiting for host
  4887.  0013h    session is active
  4888.  0014h    duplicate suspend session request
  4889.  0015h    no session suspended
  4890.  0016h    ring data buffer full
  4891.  0017h    printer error encountered
  4892.  0018h    Banyan communications error
  4893.  0019h    unable to make connection
  4894.  001Ah    no ring buffer specified at startup
  4895.  001Bh    service is down
  4896.  001Ch    invalid service name
  4897.  001Dh    service is closed
  4898.  001Eh    invalid connection name
  4899.  001Fh    max session limit reached for service
  4900.  0020h    access rights list for connection/dialout does not include this user
  4901.  0021h    service not responding
  4902.  0022h    missing telephone number
  4903. SeeAlso: #1968,#2016
  4904.  
  4905. Format of VINES argument block:
  4906. Offset    Size    Description    (Table 2013)
  4907.  00h    BYTE    session ID (00h)
  4908.  01h    BYTE    00h (func "initialize user buffer pointer information area")
  4909.  02h    WORD    -> user buffer ptr info area in caller's current DS (see #2014)
  4910.  
  4911. Format of user buffer ptr info area:
  4912. Offset    Size    Description    (Table 2014)
  4913.  00h    WORD    flags
  4914.         0000h don't read interface's data buffer
  4915.         0001h read data buffer
  4916.  02h    DWORD    pointer to ring buffer
  4917.  06h    WORD    length of ring buffer
  4918.  08h    WORD    ring buffer offset to last byte read by caller
  4919.  0Ah    DWORD    pointer to WORD containing offset of last byte
  4920.           in ring buffer filled
  4921.  0Eh    DWORD    pointer to screen buffer
  4922.  12h    DWORD    pointer to field containing cursor position
  4923.  16h    DWORD    pointer to terminal status area (see #2015)
  4924.  
  4925. Format of VINES terminal status area:
  4926. Offset    Size    Description    (Table 2015)
  4927.  00h    BYTE    status of session: 4Eh=oNline, 46h=oFfline, 57h=Waiting
  4928.  01h    BYTE    terminal type (00h=VT100, 01h=TTY, 02h=VT52, 03h=IBM3101)
  4929.  02h    BYTE    current keypad mode (VT100,VT52 only)
  4930.         4Eh ("N") numeric mode
  4931.         41h ("A") application mode
  4932.  03h  4 BYTEs    current state of LEDs (VT100 only)
  4933.         00h off
  4934.         01h on
  4935.  07h    WORD    line error count
  4936.  09h    WORD    primary error code (see #2016)
  4937.  0Bh    WORD    secondary error code
  4938.  
  4939. (Table 2016)
  4940. Values for VINES primary error code:
  4941.  0000h    no error
  4942.  0001h    unable to make connection
  4943.  0002h    communications error, restart session
  4944.  0003h    async terminal emulation service unavailable
  4945.  0004h    lost carrier
  4946.  0005h    all matching lines busy
  4947.  0006h    no lines defined for connection name
  4948.  0007h    no dial lines available on server
  4949.  0008h    no matching dial lines available
  4950.  0009h    out of heap space
  4951.  000Ah    service error encountered
  4952.  000Bh    timed out waiting to connect
  4953.  000Ch    communications error
  4954.  000Dh    communications error
  4955.  000Eh    host wants file transferred to/from PC
  4956.  000Fh    host software changed session parameter
  4957.  0010h    host software changed tap settings
  4958.  0011h    host software changed LED indicator
  4959.  0012h    host software changed display background (secondary error code 00h for
  4960.       white on black, 01h for black on white)
  4961.  0013h    host software changed display option (secondary error code 00h for off,
  4962.       01h for on)
  4963.  0014h    communications error
  4964.  0015h    communications error
  4965.  0016h    unable to make connection
  4966.  0017h    unable to make connection
  4967. SeeAlso: #2012
  4968. --------N-610003SF01-------------------------
  4969. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SEND TO HOST
  4970.     AX = 0003h subfn 01h
  4971.     DS:BX -> argument block (see #2017)
  4972. Return: AX = status (see #2012)
  4973. SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=02h,AX=0003h/SF=14h
  4974.  
  4975. Format of VINES argument block for Function 0003h subfunction 01h:
  4976. Offset    Size    Description    (Table 2017)
  4977.  00h    BYTE    session ID (00h)
  4978.  01h    BYTE    01h (function "send to host")
  4979.  02h    BYTE    type
  4980.         00h ASCII byte
  4981.         01h ASCII string
  4982.         02h terminal function code
  4983.         03h up arrow
  4984.         04h down arrow
  4985.         05h left arrow
  4986.         06h right arrow
  4987.         07h break
  4988.  03h  N BYTEs    type-specific info (see #2018)
  4989.  
  4990. Format of type-specific info:
  4991. Offset    Size    Description    (Table 2018)
  4992. ---ASCII byte---
  4993.  03h    BYTE    byte to send to host
  4994. ---ASCII string---
  4995.  03h    WORD    length of string
  4996.  05h    WORD    pointer to string
  4997. ---terminal function code (VT52/VT100)---
  4998.  03h    BYTE    function code
  4999.         00h keypad 0
  5000.         01h keypad 1
  5001.         ...
  5002.         09h keypad 9
  5003.         0Ah keypad -
  5004.         0Bh keypad ,
  5005.         0Ch keypad .
  5006.         0Dh keypad ENTER
  5007.         0Eh PF1
  5008.         0Fh PF2
  5009.         10h PF3
  5010.         11h PF4
  5011. ---terminal function code (IBM3101)---
  5012.  03h    BYTE    function code
  5013.         00h PF1
  5014.         ...
  5015.         07h PF8
  5016.         08h Home
  5017. SeeAlso: #2017
  5018. --------N-610003SF02-------------------------
  5019. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - "CONTROL MONITOR"
  5020.     AX = 0003h subfn 02h
  5021.     DS:BX -> argument block (see #2019)
  5022. Return: AX = status (see #2012)
  5023. SeeAlso: AX=0003h/SF=03h,AX=0003h/SF=05h
  5024.  
  5025. Format of VINES argument block for Function 0003h subfunction 02h:
  5026. Offset    Size    Description    (Table 2019)
  5027.  00h    BYTE    session ID (00h)
  5028.  01h    BYTE    02h (function "control monitor")
  5029.  02h    BYTE    display flag
  5030.         00h don't display data received from host
  5031.         01h display data
  5032. --------N-610003SF03-------------------------
  5033. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - "FLOW CONTROL DATA"
  5034.     AX = 0003h subfn 03h
  5035.     DS:BX -> argument block (see #2020)
  5036. Return: AX = status (see #2012)
  5037. Desc:    this function permits the caller to freeze/unfreeze the display and
  5038.       the ring buffer
  5039. SeeAlso: AX=0003h/SF=02h,AX=0003h/SF=06h
  5040.  
  5041. Format of VINES argument block for Function 0003h subfunction 03h:
  5042. Offset    Size    Description    (Table 2020)
  5043.  00h    BYTE    session ID (00h)
  5044.  01h    BYTE    03h (function "flow control data")
  5045.  02h    BYTE    flow control flag
  5046.         00h allow characters to be put into display or ring buffer
  5047.         01h don't place any more characters into display or ring buffer
  5048. --------N-610003SF04-------------------------
  5049. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - END ACTIVE SESSION
  5050.     AX = 0003h subfn 04h
  5051.     DS:BX -> argument block (see #2021)
  5052. Return: AX = status (see #2012)
  5053. SeeAlso: AX=0003h/SF=0Ah,AX=0003h/SF=0Dh,AX=0003h/SF=0Fh
  5054.  
  5055. Format of VINES argument block for ending active session:
  5056. Offset    Size    Description    (Table 2021)
  5057.  00h    BYTE    session ID (00h)
  5058.  01h    BYTE    04h (function "end active session")
  5059. --------N-610003SF05-------------------------
  5060. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SET SESSION PARAMETER
  5061.     AX = 0003h subfn 05h
  5062.     DS:BX -> argument block (see #2022)
  5063. Return: AX = status (see #2012)
  5064. SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=06h,AX=0003h/SF=08h
  5065.  
  5066. Format of VINES argument block for setting session parameters:
  5067. Offset    Size    Description    (Table 2022)
  5068.  00h    BYTE    session ID (00h)
  5069.  01h    BYTE    05h (function "set session parameter")
  5070.  02h    BYTE    parameter number (see #2023)
  5071.  03h    BYTE    new parameter value
  5072.  
  5073. (Table 2023)
  5074. Values for parameter number:
  5075.  00h    line speed (00h=any, 01h=50, 02h=110, 03h=134.5, 04h=150,
  5076.           05h=300, 06h=600, 07h=1200, 08h=2400, 09h=4800, 0Ah=9600)
  5077.  01h    parity (00h=none, 01h=odd, 02h=even)
  5078.  02h    duplex (00h=full, 01h=half)
  5079.  03h    character size (00h=7 bits, 01h=8 bits)
  5080.  04h    stop bits (00h=1, 01h=2)
  5081.  05h    XON/XOFF flow control (00h=no, 01h=yes)
  5082.  07h    intercharacter delay in tenths of a second
  5083.  08h    interline delay in tenths of a second
  5084.  09h    auto linefeed (00h=no, 01h=yes)
  5085.  0Ah    filter control characters (00h=no, 01h=yes)
  5086.  0Bh    terminal type (00h=VT100,01h=glassTTY,02h=VT52,03h=IBM3101)
  5087.  0Ch    auto wrap (00h=no, 01h=yes)
  5088.  0Dh    cursor shape (00h=underscore, 01h=block)
  5089.  0Eh    character set (00h=UK, 01h=US ASCII)
  5090.  0Fh    printer port (00h=LPT1, 01h=LPT2, 02h=LPT3)
  5091. SeeAlso: #2022
  5092. --------N-610003SF06-------------------------
  5093. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - GET SESSION PARAMETER
  5094.     AX = 0003h subfn 06h
  5095.     DS:BX -> argument block (see #2024)
  5096. Return: AX = status (see #2012)
  5097. SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=05h,AX=0003h/SF=07h
  5098.  
  5099. Format of VINES argument block for getting session parameters:
  5100. Offset    Size    Description    (Table 2024)
  5101.  00h    BYTE    session ID (00h)
  5102.  01h    BYTE    06h (function "get session parameter")
  5103.  02h    BYTE    parameter number (see #2023)
  5104.  03h    BYTE    (ret) current parameter value
  5105. --------N-610003SF07-------------------------
  5106. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SET TAB SETTINGS
  5107.     AX = 0003h subfn 07h
  5108.     DS:BX -> argument block (see #2025)
  5109. Return: AX = status (see #2012)
  5110. SeeAlso: AX=0003h/SF=05h,AX=0003h/SF=08h
  5111.  
  5112. Format of VINES argument block for setting tab settings:
  5113. Offset    Size    Description    (Table 2025)
  5114.  00h    BYTE    session ID (00h)
  5115.  01h    BYTE    07h (function "set tab settings")
  5116.  02h    WORD    pointer to 80-byte buffer in caller's current DS
  5117.           each byte = 00h if no tab, 01h if tab at that position
  5118. --------N-610003SF08-------------------------
  5119. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - GET TAB SETTINGS
  5120.     AX = 0003h subfn 08h
  5121.     DS:BX -> argument block (see #2026)
  5122. Return: AX = status (see #2012)
  5123. SeeAlso: AX=0003h/SF=06h,AX=0003h/SF=07h
  5124.  
  5125. Format of VINES argument block for getting tab settings:
  5126. Offset    Size    Description    (Table 2026)
  5127.  00h    BYTE    session ID (00h)
  5128.  01h    BYTE    08h (function "get tab settings")
  5129.  02h    WORD    pointer to 80-byte buffer in caller's current DS
  5130.         each byte set to 00h if no tab, 01h if tab at that position
  5131. --------N-610003SF09-------------------------
  5132. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - REFRESH EMULATION SCREEN
  5133.     AX = 0003h subfn 09h
  5134.     DS:BX -> argument block (see #2027)
  5135. Return: AX = status (see #2012)
  5136. SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=0Bh
  5137.  
  5138. Format of VINES argument block for Function 0003h subfunction 09h:
  5139. Offset    Size    Description    (Table 2027)
  5140.  00h    BYTE    session ID (00h)
  5141.  01h    BYTE    09h (function "refresh emulation screen")
  5142. --------N-610003SF0A-------------------------
  5143. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SUSPEND SESSION TEMPORARILY
  5144.     AX = 0003h subfn 0Ah
  5145.     DS:BX -> argument block (see #2028)
  5146. Return: AX = status (see #2012)
  5147. SeeAlso: AX=0003h/SF=04h,AX=0003h/SF=09h,AX=0003h/SF=0Bh,AX=0003h/SF=0Dh
  5148.  
  5149. Format of VINES argument block:
  5150. Offset    Size    Description    (Table 2028)
  5151.  00h    BYTE    session ID (00h)
  5152.  01h    BYTE    0Ah (function "suspend session temporarily")
  5153.  02h    WORD    size of session information to be saved
  5154.  04h    WORD    pointer to buffer in caller's DS
  5155. --------N-610003SF0B-------------------------
  5156. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - RESUME SUSPENDED SESSION
  5157.     AX = 0003h subfn 0Bh
  5158.     DS:BX -> argument block (see #2029)
  5159. Return: AX = status (see #2012)
  5160. SeeAlso: AX=0003h/SF=09h,AX=0003h/SF=0Ah
  5161.  
  5162. Format of VINES argument block:
  5163. Offset    Size    Description    (Table 2029)
  5164.  00h    BYTE    session ID (00h)
  5165.  01h    BYTE    0Bh (function "restore previously suspended session")
  5166.  02h    WORD    size of buffer into which session info is restored
  5167.  04h    WORD    pointer to buffer in caller's DS
  5168. --------N-610003SF0C-------------------------
  5169. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SET SCROLL LOCK CHECKING
  5170.     AX = 0003h subfn 0Ch
  5171.     DS:BX -> argument block (see #2030)
  5172. Return: AX = status (see #2012)
  5173. SeeAlso: AX=0003h/SF=00h
  5174.  
  5175. Format of VINES argument block:
  5176. Offset    Size    Description    (Table 2030)
  5177.  00h    BYTE    session ID (00h)
  5178.  01h    BYTE    0Ch (function "set state of scroll lock checking")
  5179.  02h    BYTE    check_scroll_lock flag
  5180.         00h off
  5181.         01h on (display of host data stopped while ScrollLock on)
  5182. --------N-610003SF0D-------------------------
  5183. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - EXIT EMULATION
  5184.     AX = 0003h subfn 0Dh
  5185.     DS:BX -> argument block (see #2031)
  5186. Return: AX = status (see #2012)
  5187. SeeAlso: AX=0003h/SF=04h,AX=0003h/SF=0Ah
  5188.  
  5189. Format of VINES argument block:
  5190. Offset    Size    Description    (Table 2031)
  5191.  00h    BYTE    session ID (00h)
  5192.  01h    BYTE    0Dh (function "exit emulation")
  5193. --------N-610003SF0E-------------------------
  5194. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - INTERRUPT ON CHAR FROM HOST
  5195.     AX = 0003h subfn 0Eh
  5196.     DS:BX -> argument block (see #2032)
  5197. Return: AX = status (see #2012)
  5198. SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=14h
  5199.  
  5200. Format of VINES argument block:
  5201. Offset    Size    Description    (Table 2032)
  5202.  00h    BYTE    session ID (00h)
  5203.  01h    BYTE    0Eh (function "interrupt on character from host")
  5204.  02h    DWORD    pointer to routine to be called (0000h:0000h = don't call)
  5205.  06h    DWORD    stack pointer to use when call is made
  5206. --------N-610003SF0F-------------------------
  5207. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - START A SESSION
  5208.     AX = 0003h subfn 0Fh
  5209.     DS:BX -> argument block (see #2033)
  5210. Return: AX = status (see #2012)
  5211. SeeAlso: AX=0003h/SF=04h,AX=0003h/SF=0Bh
  5212.  
  5213. Format of VINES argument block:
  5214. Offset    Size    Description    (Table 2033)
  5215.  00h    BYTE    session ID (00h)
  5216.  01h    BYTE    0Fh (function "start a session")
  5217.  02h    WORD    pointer to information area in caller's current DS (see #2034)
  5218.  
  5219. Format of VINES information area:
  5220. Offset    Size    Description    (Table 2034)
  5221.  00h    WORD    length of service name
  5222.  02h    WORD    pointer to service name in caller's DS
  5223.  04h    BYTE    type of connection (00h=connection name, 01h=dialout)
  5224.  05h    WORD    length of connection name/telephone number
  5225.  07h    WORD    pointer to connection name/telephone number
  5226. --------N-610003SF10-------------------------
  5227. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - START/STOP PRINTING
  5228.     AX = 0003h subfn 10h
  5229.     DS:BX -> argument block (see #2035)
  5230. Return: AX = status (see #2012)
  5231. SeeAlso: AX=0003h/SF=06h,AX=0003h/SF=13h
  5232.  
  5233. Format of VINES argument block:
  5234. Offset    Size    Description    (Table 2035)
  5235.  00h    BYTE    session ID (00h)
  5236.  01h    BYTE    10h (function "start/stop printing of data received from host")
  5237.  02h    WORD    print capture flag (00h=off, 01h=on)
  5238. --------N-610003SF11-------------------------
  5239. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - GET FILE TRANSFER PARAMETERS
  5240.     AX = 0003h subfn 11h
  5241.     DS:BX -> argument block (see #2036)
  5242. Return: AX = status (see #2012)
  5243. SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=12h
  5244.  
  5245. Format of VINES argument block:
  5246. Offset    Size    Description    (Table 2036)
  5247.  00h    BYTE    session ID (00h)
  5248.  01h    BYTE    11h (function "get file transfer parameters")
  5249.  02h    WORD    pointer to info area in caller's current DS (see #2037)
  5250.  
  5251. Format of VINES info area:
  5252. Offset    Size    Description    (Table 2037)
  5253.  00h    BYTE    protocol flag (00h none, 01h Kermit)
  5254.  01h    BYTE    direction flag (00h send, 01h receive)
  5255.  02h    BYTE    length of null-terminated PC filename
  5256.  03h    DWORD    pointer to null-terminated PC filename
  5257.  07h    BYTE    length of null-terminated host filename
  5258.  08h    DWORD    pointer to null-terminated host filename
  5259. --------N-610003SF12-------------------------
  5260. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - GET CONNECTION INFORMATION
  5261.     AX = 0003h subfn 12h
  5262.     DS:BX -> argument block (see #2038)
  5263. Return: AX = status (see #2012)
  5264. SeeAlso: AX=0003h/SF=11h,AX=0003h/SF=15h
  5265.  
  5266. Format of VINES argument block:
  5267. Offset    Size    Description    (Table 2038)
  5268.  00h    BYTE    session ID (00h)
  5269.  01h    BYTE    12h (function "get connection information")
  5270.  02h    WORD    offset of buffer for connection information (see #2039)
  5271.  
  5272. Format of VINES connection information:
  5273. Offset    Size    Description    (Table 2039)
  5274.  00h    WORD    length of service name (returned)
  5275.  02h    WORD    pointer to 64-byte buffer for service name
  5276.  04h    BYTE    type of connection
  5277.         00h connection name
  5278.         01h dialout
  5279.  05h    WORD    length of connection name/telephone number
  5280.  07h    WORD    pointer to 64-byte buffer for name/telno
  5281.  09h    BYTE    server line number being used (returned)
  5282. --------N-610003SF13-------------------------
  5283. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - START/STOP TRACING TRAFFIC
  5284.     AX = 0003h subfn 13h
  5285.     DS:BX -> argument block (see #2040)
  5286. Return: AX = status (see #2012)
  5287. SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=0Eh
  5288.  
  5289. Format of VINES argument block:
  5290. Offset    Size    Description    (Table 2040)
  5291.  00h    BYTE    session ID (00h)
  5292.  01h    BYTE    13h (function "start/stop tracing data traffic in session")
  5293.  02h    BYTE    trace flag (00h=off, 01h=on)
  5294. --------N-610003SF14-------------------------
  5295. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - INTERRUPT ON HOST MESSAGE
  5296.     AX = 0003h subfn 14h
  5297.     DS:BX -> argument block (see #2041)
  5298. Return: AX = status (see #2012)
  5299. SeeAlso: AX=0003h/SF=0Eh
  5300.  
  5301. Format of VINES argument block:
  5302. Offset    Size    Description    (Table 2041)
  5303.  00h    BYTE    session ID (00h)
  5304.  01h    BYTE    14h (function "interrupt on message from host")
  5305.  02h    DWORD    pointer to routine to be called (0000h:0000h = don't call)
  5306.  06h    DWORD    stack pointer to use when call is made
  5307. --------N-610003SF15-------------------------
  5308. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - RESET ERROR
  5309.     AX = 0003h subfn 15h
  5310.     DS:BX -> argument block (see #2042)
  5311. Return: AX = status (see #2012)
  5312. SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=12h
  5313.  
  5314. Format of VINES argument block:
  5315. Offset    Size    Description    (Table 2042)
  5316.  00h    BYTE    session ID (00h)
  5317.  01h    BYTE    15h (function "reset error")
  5318. --------V-610003-----------------------------
  5319. INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - REPORT ZOOM FACTOR
  5320.     AX = 0003h
  5321. Return: AX = zoom factor
  5322. Desc:    returns the current zoom factor
  5323. Range:    unknown
  5324. Notes:    INT 61h is the default interrupt; the actual interrupt number can be
  5325.       obtained by calling INT 16/AH=FFh
  5326.     not all vendors include the Tseng TSR which supports these functions
  5327. SeeAlso: AX=0000h"OPTIMA",AX=0005h"OPTIMA",INT 16/AH=FFh"OPTIMA"
  5328. --------N-610004-----------------------------
  5329. INT 61 - Banyan VINES - FILE SERVICE CONTROL
  5330.     AX = 0004h
  5331.     DS:DX -> request block (see #2044)
  5332. Return: AX = status (see #2043)
  5333. Notes:    This service is handled by the redirector
  5334.     The request dispatch table contains dummy entries for requests 0Ah,
  5335.       0Dh, 15h, 19h, and 1Ah, which always return error 0033h (invalid
  5336.       request ID)
  5337.  
  5338. (Table 2043)
  5339. Values for Banyan VINES file service control status code:
  5340.  0000h    successful
  5341.  0002h    file not found
  5342.  0003h    path not found
  5343.  000Fh    invalid drive
  5344.  0015h    drive not ready
  5345.  0033h    invalid request ID
  5346.  0034h    drive not connected
  5347.  0037h    drive number out of range
  5348.  0038h    drive number not available
  5349.  003Ah    invalid operation
  5350.  0055h    drive already connected
  5351.  0057h    invalid number of entries
  5352.  
  5353. Format of Banyan VINES file service request block:
  5354. Offset    Size    Description    (Table 2044)
  5355.  00h    WORD    request ID (1..28)
  5356.  02h  n BYTES    additional parameters and result buffer
  5357. --------N-610004SF0001-----------------------
  5358. INT 61 - Banyan VINES - SET DRIVE CONNECTION
  5359.     AX = 0004h subfn 0001h
  5360.     DS:DX -> request block (see #2045)
  5361. Return: AX = status (0000h,0037h,0038h,0055h) (see #2043)
  5362. Desc:    Maps the specified file service to a DOS drive letter
  5363. Note:    If an empty service name is specified, an existing connection will
  5364.       be removed
  5365. SeeAlso: AX=0004h/SF=0002h
  5366.  
  5367. Format of VINES Function 0004h/Subfunction 0001h request block:
  5368. Offset    Size    Description    (Table 2045)
  5369.  00h    WORD    0001h
  5370.  02h    BYTE    drive number (0=default, 1=A, ...)
  5371.  03h 16    BYTEs    reserved
  5372.  13h 64    BYTEs    null-terminated file service name
  5373.  53h  5    BYTEs    reserved
  5374. --------N-610004SF0002-----------------------
  5375. INT 61 - Banyan VINES - GET DRIVE CONNECTION
  5376.     AX = 0004h subfn 0002h
  5377.     DS:DX -> request block (see #2046)
  5378. Return: AX = status (0000h,0034h,0037h) (see #2043)
  5379. Desc:    Returns the StreetTalk name of the associated file service
  5380. SeeAlso: AX=0004h/SF=0001h,AX=0004h/SF=0003h
  5381.  
  5382. Format of VINES Function 0004h/Subfunction 0002h request block:
  5383. Offset    Size    Description    (Table 2046)
  5384.  00h    WORD    0002h
  5385.  02h    BYTE    drive number (0=default, 1=A, ...)
  5386.  03h 16    BYTEs    reserved
  5387.  13h 64    BYTEs    buffer for null-terminated file service name
  5388.  53h  5    BYTEs    reserved
  5389. --------N-610004SF0003-----------------------
  5390. INT 61 - Banyan VINES - GET NETWORK DRIVE MAP
  5391.     AX = 0004h subfn 0003h
  5392.     DS:DX -> request block (see #2047)
  5393. Return: AX = status
  5394.         0000h drive map returned in request block
  5395. Desc:    Returns a bit map indicating which drive numbers are connected to a
  5396.       file service
  5397. Note:    Only bits 0-25 are significant
  5398. SeeAlso: AX=0004h/SF=0002h
  5399.  
  5400. Format of VINES Function 0004h/Subfunction 0003h request block:
  5401. Offset    Size    Description    (Table 2047)
  5402.  00h    WORD    0003h
  5403.  02h    DWORD    buffer for drive map (bit0=A, bit1=B, ...)
  5404. --------N-610004SF0004-----------------------
  5405. INT 61 - Banyan VINES - SET USER NAME
  5406.     AX = 0004h subfn 0004h
  5407.     DS:DX -> request block (see #2048)
  5408. Return: AX = status (0000h) (see #2043)
  5409. Notes:    Other side effects, if any, not known
  5410. SeeAlso: AX=0004h/SF=0005h,AX=0006h/SF=0004h,AX=0007h/BX=0005h
  5411.  
  5412. Format of VINES Function 0004h/Subfunction 0004h request block:
  5413. Offset    Size    Description    (Table 2048)
  5414.  00h    WORD    0004h
  5415.  02h 64    BYTE    null-terminated user name
  5416. --------N-610004SF0005-----------------------
  5417. INT 61 - Banyan VINES - GET USER NAME
  5418.     AX = 0004h subfn 0005h
  5419.     DS:DX -> request block (see #2049)
  5420. Return: AX = status (see also #2043)
  5421.         0000h user name returned in request block
  5422. Desc:    Returns the StreetTalk name of the currently logged in user
  5423. SeeAlso: AX=0004h/SF=0004h,AX=0006h/SF=0004h,AX=0007h/BX=0005h
  5424. SeeAlso: AX=0004h/SF=0004h
  5425.  
  5426. Format of VINES Function 0004h/Subfunction 0005h request block:
  5427. Offset    Size    Description    (Table 2049)
  5428.  00h    WORD    0005h (subfunction "Get User Name")
  5429.  02h 64    BYTE    buffer for null-terminated user name
  5430. --------N-610004SF0006-----------------------
  5431. INT 61 - Banyan VINES - TEST DRIVE CONNECTION
  5432.     AX = 0004h subfn 0006h
  5433.     DS:DX -> request block (see #2050)
  5434. Return: AX = status (see also #2043)
  5435.         0000h connection flag returned in request block
  5436. Desc:    Returns a flag indicating if the drive is connected to a file service
  5437. SeeAlso: AX=0004h/SF=0007h
  5438.  
  5439. Format of VINES Function 0004h/Subfunction 0006h request block:
  5440. Offset    Size    Description    (Table 2050)
  5441.  00h    WORD    0006h (subfunction "Test Drive Connection")
  5442.  02h    BYTE    buffer for connection flag (1 = not connected, 2 = connected)
  5443. --------N-610004SF0007-----------------------
  5444. INT 61 - Banyan VINES - GET CONNECTION DATA STRUCTURES
  5445.     AX = 0004h subfn 0007h
  5446.     DS:DX -> request block (see #2051)
  5447. Return: AX = status (see also #2043)
  5448.         0000h pointer returned in request block
  5449.         0033h invalid request ID
  5450. Desc:    Returns pointers to various internal data structures
  5451.  
  5452. Format of VINES Function 0004h/Subfunction 0007h request block:
  5453. Offset    Size    Description    (Table 2051)
  5454.  00h    WORD    0007h
  5455.  02h    BYTE    request ID (0..7) (see #2052)
  5456.  03h    WORD    buffer for pointer segment
  5457.  05h    WORD    buffer for pointer offset
  5458. SeeAlso: #2053,#2054
  5459.  
  5460. (Table 2052)
  5461. Values for VINES pointer ID:
  5462.  00h    job file table ???
  5463.  01h    drive handle table
  5464.  02h    drive connection table
  5465.  03h    IPC port of drive Z:
  5466.  04h    end of drive connection table
  5467.  05h    ???
  5468.  06h    ???
  5469.  07h    redirector data segment (offset=0)
  5470. SeeAlso: #2051
  5471.  
  5472. Format of VINES drive handle table:
  5473. Offset    Size    Description    (Table 2053)
  5474.  00h    BYTE    handle to default drive (0 = not connected)
  5475.  01h    BYTE    handle to drive A: (0 = not connected)
  5476.     ...
  5477.  1Ah    BYTE    handle to drive Z: (0 = not connected)
  5478. SeeAlso: #2054
  5479.  
  5480. Format of VINES drive connection table:
  5481. Offset    Size    Description    (Table 2054)
  5482.  00h    WORD    file service type (?) (0001h if drive Z:, 0000h else)
  5483.  02h 16    BYTEs    IPC port (contains the server serial number)
  5484.  12h 46    BYTEs    ???
  5485.  40h 64    BYTEs    null-terminated StreetTalk name of associated file service
  5486.  80h 64    BYTEs    null-terminated root directory (/ROOT: parameter of SETDRIVE)
  5487. SeeAlso: #2053
  5488. --------N-610004SF0008-----------------------
  5489. INT 61 - Banyan VINES - GET SERVER SERIAL NUMBER
  5490.     AX = 0004h subfn 0008h
  5491.     DS:DX -> request block (see #2055)
  5492. Return: AX = status (0000h,000Fh,0015h) (see #2043)
  5493. Notes:    The server ID is extracted from the IPC port address of the associated
  5494.       file service stored in the drive connection table
  5495.     The server serial number and the server subnet number are returned in
  5496.       big-endian (Motorola) format (i.e. MSB first)
  5497. SeeAlso: AX=0004h/SF=0005h
  5498.  
  5499. Format of VINES request block for getting server serial number:
  5500. Offset    Size    Description    (Table 2055)
  5501.  00h    WORD    0008h
  5502.  02h    WORD    drive number (0=default, 1=A, ...)
  5503.  04h    DWORD    buffer for server serial number
  5504.  08h    WORD    buffer for server subnet number (always 0001h)
  5505. --------N-610004SF0009-----------------------
  5506. INT 61 - Banyan VINES - SET ??? PARAMETER
  5507.     AX = 0004h subfn 0009h
  5508.     DS:DX -> request block (see #2056)
  5509. Return: AX = status (0000h) (see #2043)
  5510. Notes:    The specified WORD parameter is copied to offset 1702h of the
  5511.       redirector code segment (revision 5.53)
  5512. SeeAlso: AX=0004h/SF=000Bh
  5513.  
  5514. Format of VINES Function 0004h/Subfunction 0009h request block:
  5515. Offset    Size    Description    (Table 2056)
  5516.  00h    WORD    0009h
  5517.  02h    WORD    parameter
  5518. --------N-610004SF000B-----------------------
  5519. INT 61 - Banyan VINES - GET ??? DRIVE PARAMETER
  5520.     AX = 0004h subfn 000Bh
  5521.     DS:DX -> request block (see #2057)
  5522. Return: AX = status (0000h,0034h,0037h) (see #2043)
  5523. Notes:    This request returns a WORD value from the drive connection table
  5524.       read from offset 0012h of the specified drive's entry (usually 0037h)
  5525. SeeAlso: AX=0004h/SF=0009h
  5526.  
  5527. Format of VINES Function 0004h/Subfunction 000Bh request block:
  5528. Offset    Size    Description    (Table 2057)
  5529.  00h    WORD    000Bh
  5530.  02h    BYTE    drive number (0=default, 1=A, ...)
  5531.  03h    WORD    buffer for parameter
  5532. --------N-610004SF000C-----------------------
  5533. INT 61 - Banyan VINES - LOGOUT FROM VINES
  5534.     AX = 0004h subfn 000Ch
  5535.     DS:DX -> request block (see #2058)
  5536. Return: AX = status 0000h (see #2043)
  5537. Desc:    Terminates a running VINES session and clears all session specific
  5538.       buffers
  5539. SeeAlso: AX=0004h/SF=0008h
  5540.  
  5541. Format of VINES Function 0004h/Subfunction 000Ch request block:
  5542. Offset    Size    Description    (Table 2058)
  5543.  00h    WORD    000Ch
  5544. --------N-610004SF000E-----------------------
  5545. INT 61 - Banyan VINES - GET ACCESS RIGHTS LIST (ARL)
  5546.     AX = 0004h subfn 000Eh
  5547.     DS:DX -> request block (see #2059)
  5548. Return: AX = status (see also #2043)
  5549.         0000h request has been processed
  5550. Desc:    Returns the owner, group, and extended access rights for the specified
  5551.       file or directory
  5552. Note:    A status of 0000h does not necessarily indicate a successful request;
  5553.       check the status word at offset 000Eh of the request block too
  5554. SeeAlso: AX=0004h/SF=000Fh
  5555.  
  5556. Format of VINES Function 0004h/Subfunction 000Eh request block:
  5557. Offset    Size    Description    (Table 2059)
  5558.  00h    WORD    000Eh (subfunction "Get Access Rights List")
  5559.  02h    BYTE    drive number (0=default, 1=A, ...)
  5560.  03h    BYTE    reserved
  5561.  04h    DWORD    pointer to path specification (drive letter ignored)
  5562.  08h    DWORD    pointer to ARL control block (see #2060)
  5563.  0Ch    WORD    buffer for number of ARL entries (1..5)
  5564.  0Eh    WORD    buffer for status (see #2061)
  5565.  
  5566. Format of ARL control block:
  5567. Offset    Size    Description    (Table 2060)
  5568.  00h 64    BYTEs    1st StreetTalk name (user, list, or service)
  5569.  40h    WORD    1st ARL
  5570.  42h 64    BYTEs    2nd StreetTalk name (user, list, or service)
  5571.  82h    WORD    2nd ARL
  5572.  84h 64    BYTEs    3rd StreetTalk name (user, list, or service)
  5573.  C4h    WORD    3rd ARL
  5574.  C6h 64    BYTEs    4th StreetTalk name (user, list, or service)
  5575. 106h    WORD    4th ARL
  5576. 108h 64    BYTEs    5th StreetTalk name (user, list, or service)
  5577. 148h    WORD    5th ARL
  5578.  
  5579. (Table 2061)
  5580. Values for VINES Get/Set Access Rights List status:
  5581.  0000h    successful
  5582.  0002h    file not found
  5583.  0003h    path not found
  5584.  003Ah    invalid operation
  5585.  0057h    invalid number of entries
  5586. --------N-610004SF000F-----------------------
  5587. INT 61 - Banyan VINES - SET ACCESS RIGHTS LIST (ARL)
  5588.     AX = 0004h subfn 000Fh
  5589.     DS:DX -> request block (see #2062)
  5590. Return: AX = status (see also #2043)
  5591.         0000h request has been processed
  5592. Desc:    Sets the owner, group, and extended access rights for the specified
  5593.       file or directory
  5594. Note:    A status of 0000h does not necessarily indicate a successful request;
  5595.       check the status word at offset 000Eh of the request block too
  5596.     If the number of ARL entries is less than 1 or greater than 5, error
  5597.       0057h (invalid number of entries) is returned
  5598. SeeAlso: AX=0004h/SF=000Eh
  5599.  
  5600. Format of VINES Function 0004h/Subfunction 000Fh request block:
  5601. Offset    Size    Description    (Table 2062)
  5602.  00h    WORD    000Fh
  5603.  02h    BYTE    drive number (0=default, 1=A, ...)
  5604.  03h    BYTE    reserved
  5605.  04h    DWORD    pointer to path specification (drive letter ignored)
  5606.  08h    DWORD    pointer to ARL control block (see #2060)
  5607.  0Ch    WORD    number of ARL entries (1..5)
  5608.  0Eh    WORD    buffer for status (see #2061)
  5609. --------N-610004SF0010-----------------------
  5610. INT 61 - Banyan VINES - FILE SERVICE CONTROL - ???
  5611.     AX = 0004h subfn 0010h
  5612.     DS:DX -> request block (see #2063)
  5613. Return: AX = status (see also #2043)
  5614.         0000h request has been processed
  5615. SeeAlso: AX=0004h/SF=000Fh
  5616.  
  5617. Format of VINES Function 0004h/Subfunction 0010h request block:
  5618. Offset    Size    Description    (Table 2063)
  5619.  00h    WORD    0010h
  5620.  02h    BYTE    drive number (0=default, 1=A, ...)
  5621.  03h    BYTE    reserved
  5622.  04h 64    BYTEs    ???
  5623.  44h 16    BYTEs    IPC port (see #1971 at AX=0001h"Sosock")
  5624. --------N-610004SF0013-----------------------
  5625. INT 61 - Banyan VINES - GET VALUE OF GLOBAL VARIABLE
  5626.     AX = 0004h subfn 0013h
  5627.     DS:DX -> request block (see #2696)
  5628. Return: AX = status (see also #2043)
  5629.         0000h successful
  5630.         0033h invalid request ID (returned if variable index out of range)
  5631. Desc:    Returns the value of the specified global variable
  5632. Note:    The data will be truncated if the specified buffer is not large enough.
  5633.       Check the length word in the request block to find out how many
  5634.       bytes should have been copied.
  5635. SeeAlso: AX=0004h/SF=0014h,AX=0006h
  5636.  
  5637. Format of request block:
  5638. Offset    Size    Description    (Table 2696)
  5639.  00h    WORD    0013h
  5640.  02h    WORD    variable index (0000h-001Fh) (see #2697)
  5641.  04h    WORD    buffer length (on exit set to # of bytes actually needed)
  5642.  06h    DWORD    far pointer to result buffer
  5643. SeeAlso: #2698
  5644.  
  5645. (Table 2697)
  5646. Values for variable indices:
  5647. Index    Length    Description
  5648.  0000h       1    ???
  5649.  0001h      16    StreetTalk port
  5650.  0002h       4    StreetTalk session handle
  5651.  0003h       6    colors
  5652.  0004h      64    StreetTalk name of currently logged in user
  5653.  0005h       0    old clear text password (not applicable)
  5654.  0006h       0    default group (not applicable)
  5655.  0007h       1    number of messages in message queue
  5656.  0008h       1    message flag
  5657.  0009h      16    TalkPort
  5658.  000Ah       2    TalkPort socket
  5659.  000Bh      64    StreetTalk name of mail service
  5660.  000Ch       2    message timeout
  5661.  000Dh       2    next message place
  5662.  000Eh     246    message queue (3 times 80 characters + 2 flag bytes)
  5663.  000Fh      14    system nonce
  5664.  0010h       2    failed login count
  5665.  0011h       1    new mail message received
  5666.  0012h       8    mail service capabilities
  5667.  0013h       3    printer port diverted
  5668.  0014h      32    international location
  5669.  0015h      16    IPC port of drive Z:
  5670.  0016h    1024    pointer to current directory table
  5671.  0017h       2    maximum number of file volume mappings
  5672.  0018h      24    routine to call back for messages (6 far pointers)
  5673.  0019h       4    current virtual machine
  5674.  001Ah      20    DOS redirector message bell tones
  5675.  001Bh       2    various flags used for internal communication
  5676.  001Ch       0    OS/2 client configuration (not applicable)
  5677.  001Dh       8    redirector/IFS file version
  5678.  001Eh       0    reserved (not applicable)
  5679.  001Fh       4    address of VVINESD.386 dispatch
  5680. --------N-610004SF0014-----------------------
  5681. INT 61 - Banyan VINES - SET VALUE OF GLOBAL VARIABLE
  5682.     AX = 0004h subfn 0014h
  5683.     DS:DX -> request block (see #2698)
  5684. Return: AX = status
  5685.         0000h successful
  5686.         0033h invalid request ID (returned if variable index out of range)
  5687. Desc:    Assigns a new value to the specified global variable
  5688. Note:    If the specified number of bytes to copy exceeds the size of the
  5689.       destination variable, nothing will be copied.
  5690. SeeAlso: AX=0004h/SF=0013h,AX=0006h
  5691.  
  5692. Format of request block:
  5693. Offset    Size    Description    (Table 2698)
  5694.  00h    WORD    0014h
  5695.  02h    WORD    variable index (0000h-001Fh) (see #2697)
  5696.  04h    WORD    number of bytes to copy
  5697.  06h    DWORD    far pointer to new value
  5698. SeeAlso: #2696
  5699. --------N-610004SF0016-----------------------
  5700. INT 61 - Banyan VINES - GET NUMBER OF OPEN FILES ON REMOTE DRIVE
  5701.     AX = 0004h subfn 0016h
  5702.     DS:DX -> request block (see #2699)
  5703. Return: AX = status
  5704.         0000h open file count returned in request block
  5705. Desc:    Counts the number of open files on the specified remote drive.
  5706. Note:    No error is returned if the specified drive number is invalid or points
  5707.       to a local drive. Use AX=0004h/SF=0006h to test if a given drive
  5708.       number is assigned to a remote drive.
  5709. SeeAlso: AX=0004h/SF=0006h
  5710.  
  5711. Format of request block:
  5712. Offset    Size    Description    (Table 2699)
  5713.  00h    WORD    0016h
  5714.  02h    BYTE    drive number (0=default, 1=A:, ...)
  5715.  03h    BYTE    reserved
  5716.  04h    WORD    buffer for open file count
  5717. SeeAlso: #2701
  5718. --------N-610004SF0018-----------------------
  5719. INT 61 - Banyan VINES - SET UNIDENTIFIED INTERNAL FLAG
  5720.     AX = 0004h subfn 0018h
  5721.     DS:DX -> request block (see #2700)
  5722. Return: AX = status
  5723.         0000h success
  5724. Desc:    Sets an unidentified BYTE variable in the redirector data segment to 1.
  5725. Note:    In the VINES 5.53 "REDIR4" redirector, this variable is located at
  5726.       DS:0B53.
  5727.  
  5728. Format of request block:
  5729. Offset    Size    Description    (Table 2700)
  5730.  00h    WORD    0018h
  5731. SeeAlso: #2701
  5732. --------N-610004SF001B-----------------------
  5733. INT 61 - Banyan VINES - UNIDENTIFIED DRIVE SPECIFIC FUNCTION
  5734.     AX = 0004h subfn 001Bh
  5735.     DS:DX -> request block (see #2701)
  5736. Return: AX = status
  5737.         0000h success
  5738.         0034h drive not connected
  5739.         0037h drive number out of range
  5740. Desc:    The purpose of this function is not known.
  5741.  
  5742. Format of request block:
  5743. Offset    Size    Description    (Table 2701)
  5744.  00h    WORD    001Bh
  5745.  02h    BYTE    drive number (0=default, 1=A:, ...)
  5746.  03h    BYTE    ???
  5747.  04h    WORD    ???
  5748.  06h    DWORD    far pointer to data area
  5749.  0Ah    WORD    ???
  5750.  0Ch    DWORD    far pointer to data area
  5751.  10h    WORD    buffer for result
  5752. SeeAlso: #2699,#2701
  5753. --------N-610004SF001C-----------------------
  5754. INT 61 - Banyan VINES - UNIDENTIFIED FUNCTION
  5755.     AX = 0004h subfn 001Ch
  5756.     DS:DX -> request block (see #2702)
  5757. Return: AX = status
  5758.         0000h success
  5759.         0057h invalid number of entries
  5760. Desc:    The purpose of this function is not known.
  5761.  
  5762. Format of request block:
  5763. Offset    Size    Description    (Table 2702)
  5764.  00h    WORD    001Ch
  5765.  02h    WORD    ???
  5766.  04h    WORD    ???
  5767.  06h    WORD    ???
  5768.  08h    WORD    ???
  5769.  0Ah    DWORD    far pointer to data area (14 bytes)
  5770. --------V-610004-----------------------------
  5771. INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - ENTER SPECIFY MODE
  5772.     AX = 0004h
  5773. Range:    unknown
  5774. Notes:    Specify Mode is enabled by hot key (seeAlso below), and allows
  5775.       panning and zooming via the numeric keypad.
  5776.     INT 61 is the default interrupt; the actual interrupt number can be
  5777.       obtained by calling INT 16/AH=FFh
  5778.     not all vendors include the Tseng TSR which supports these functions
  5779. SeeAlso: AX=0000h"OPTIMA",AX=0007h"OPTIMA",INT 16/AH=FFh"OPTIMA"
  5780. --------N-610005-----------------------------
  5781. INT 61 - Banyan VINES - PRINT SERVICE CONTROL
  5782.     AX = 0005h
  5783.     DS:DX -> request block (see #2064)
  5784. Return: AX = status
  5785.         0000h successful
  5786.         0001h network software not installed or incompatible
  5787. Note:    This service is handled by the redirector
  5788. SeeAlso: INT 2F/AX=D702h
  5789.  
  5790. Format of VINES request block for printer control:
  5791. Offset    Size    Description    (Table 2064)
  5792.  00h    WORD    function
  5793.         0201h "endspool" all data for a print job has been sent
  5794.         0205h "getactive" get currently active printer port
  5795.         0207h ??? purpose unknown; called periodically every second
  5796.  02h    WORD    number of active port (1-3)
  5797.  04h    WORD    ??? (0 for func 0201h, 3 for func 0205h)
  5798.  06h    WORD    0000h
  5799. --------V-610005-----------------------------
  5800. INT 61 - OPTIMA 1024 VGA-Sync - QUERY ZOOM WINDOW
  5801.     AX = 0005h
  5802.     BX:CX -> buffer for window parameters (see #2065)
  5803. Range:    unknown
  5804. Notes:    INT 61 is the default interrupt; the actual interrupt number can be
  5805.       obtained by calling INT 16/AH=FFh
  5806.     not all vendors include the Tseng TSR which supports these functions
  5807. SeeAlso: AX=0000h"OPTIMA",AX=0003h"OPTIMA",AX=0006h"OPTIMA"
  5808. SeeAlso: INT 16/AH=FFh"OPTIMA"
  5809.  
  5810. Format of Optima 1024 window parameters:
  5811. Offset    Size    Description    (Table 2065)
  5812.  00h    WORD    X start of zoom window
  5813.  02h    WORD    Y start of zoom window
  5814.  04h    WORD    X end of zoom window
  5815.  06h    WORD    Y end of zoom window
  5816.  08h    WORD    current zoom factor
  5817.  0Ah    WORD    zoom offset start X
  5818.  0Ch    WORD    zoom offset start Y
  5819. --------V-610006-----------------------------
  5820. INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - SET ZOOM WINDOW
  5821.     AX = 0006h
  5822.     BX:CX -> zoom window description (see #2066)
  5823. Range:    unknown
  5824. Notes:    width of zoom window must be a multiple of the pixel replication (zoom)
  5825.       factor
  5826.     INT 61 is the default interrupt; the actual interrupt number can be
  5827.       obtained by calling INT 16/AH=FFh
  5828.     not all vendors include the Tseng TSR which supports these functions
  5829. SeeAlso: AX=0000h"OPTIMA",AX=0001h"OPTIMA",AX=0005h"OPTIMA",AX=0008h"OPTIMA"
  5830. SeeAlso: INT 16/AH=FFh"OPTIMA"
  5831.  
  5832. Format of Optima 1024 zoom window description:
  5833. Offset    Size    Description    (Table 2066)
  5834.  00h    WORD    X start of zoom window
  5835.  02h    WORD    Y start of zoom window
  5836.  04h    WORD    X end of zoom window
  5837.  06h    WORD    Y end of zoom window
  5838. --------N-610006-----------------------------
  5839. INT 61 - Banyan VINES - GET ADDRESS OF GLOBAL VARIABLE
  5840.     AX = 0006h
  5841.     BX = bits 14..0: request ID (see #2067)
  5842.          bit  15:     result destination flag (0 for ES:BX, 1 for AX:BX)
  5843. Return: AX = status
  5844.         0000h successful
  5845.         000Bh invalid request
  5846.     ES:BX -> internal variable (bit 15 of BX was not set)
  5847.     AX:BX -> internal variable (bit 15 of BX was set)
  5848. Note:    This service is handled by the redirector
  5849. SeeAlso: AX=0004h/SF=0013h,AX=0004h/SF=0014h
  5850.  
  5851. (Table 2067)
  5852. Values for request IDs:
  5853. Request    Length    Description
  5854.  0000h       1    ???
  5855.  0001h      16    StreetTalk port
  5856.  0002h       4    StreetTalk session handle
  5857.  0003h       6    colors
  5858.  0004h      64    StreetTalk name of currently logged in user
  5859.  0005h       0    old clear text password (always returns error code 000Bh)
  5860.  0006h       0    default group (not applicable)
  5861.  0007h       1    message queue count
  5862.  0008h       1    message flag
  5863.  0009h      16    TalkPort
  5864.  000Ah       2    TalkPort socket
  5865.  000Bh      64    StreetTalk name of mail service
  5866.  000Ch       2    message timeout
  5867.  000Dh       2    next message place
  5868.  000Eh     246    message queue
  5869.  000Fh      14    system nonce
  5870.  0010h       2    failed login count
  5871.  0011h       1    new mail message received
  5872.  0012h       8    mail capabilities
  5873.  0013h       3    printer port diverted
  5874.  0014h      32    international location
  5875.  0015h      16    IPC port of drive Z:
  5876.  0016h    1024    pointer to current directory table
  5877.  0017h       2    maximum number of file volume mappings
  5878.  0018h      24    routine to call back for messages
  5879.  0019h       4    current virtual machine
  5880.  001Ah      20    DOS redirector message bell tones
  5881.  001Bh       2    various flags used for internal communication
  5882.  001Ch       0    OS/2 client configuration (always returns error code 000Bh)
  5883.  001Dh       8    redirector/IFS file version
  5884.  001Eh       0    reserved (always returns error code 000Bh)
  5885.  001Fh       4    address of VVINESD.386 dispatch
  5886. --------V-610007-----------------------------
  5887. INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - QUERY APPLICATION KEY
  5888.     AX = 0007h
  5889. Return: AX = current state (0000h/0001h)
  5890. Desc:    returns the current toggle state of the application (END) key in
  5891.       specify mode. E.g. in the OPTIMA AutoCAD driver, 0 means AutoCAD
  5892.       calls INT 61/AX=0001h every time the crosshair cursor moves.
  5893. Notes:    In specify mode, the END key has been reserved for applications.
  5894.     INT 61 is the default interrupt; the actual interrupt number can be
  5895.       obtained by calling INT 16/AH=FFh
  5896.     not all vendors include the Tseng TSR which supports these functions
  5897. SeeAlso: AX=0000h"OPTIMA",AX=0001h"OPTIMA",AX=0004h"OPTIMA"
  5898. SeeAlso: INT 16/AH=FFh"OPTIMA",INT 7A/AX=0001h"AutoCAD"
  5899. --------N-610007BX0000-----------------------
  5900. INT 61 - Banyan VINES - RECONNECT TO STREETTALK
  5901.     AX = 0007h
  5902.     BX = 0000h
  5903. Return: AX = status (see #2068)
  5904. SeeAlso: AX=0007h/BX=0002h
  5905.  
  5906. (Table 2068)
  5907. Values for VINES function status:
  5908.  0000h    successful
  5909.  0001h    requested handler not installed or incompatible
  5910.  000Bh    service busy
  5911.  000Ch    invalid request ID
  5912.  03E9h    incorrect name syntax
  5913.  03EAh    organization name too long
  5914.  03EBh    group name too long
  5915.  03ECh    item name too long
  5916.  03EDh    StreetTalk name too long
  5917.  03F3h    organization not found
  5918.  03F4h    group not found
  5919.  03F5h    StreetTalk name not found
  5920.  03F8h    not a StreetTalk name
  5921.  0409h    modify access denied
  5922.  040Dh    appropriate StreetTalk name unavailable
  5923.  0411h    all matching names have been returned
  5924.  0412h    some groups unavailable, all available matches returned
  5925. --------N-610007BX0001-----------------------
  5926. INT 61 - Banyan VINES - GET MM PORT FOR A SERVICE
  5927.     AX = 0007h
  5928.     BX = 0001h
  5929.     DS:DX -> StreetTalk service name (64 bytes)
  5930.     DS:DI -> 16-byte buffer for IPC port (see #1971 at AX=0001h"Sosock")
  5931. Return: AX = status (see #2068)
  5932. Notes:    This function calls AX=0007/BX=0002h with the port count set to 1 and
  5933.       the port type set to 00h
  5934. SeeAlso: AX=0007h/BX=0002h,AX=0007h/BX=0004h,AX=0007h/BX=000Ah
  5935. --------N-610007BX0002-----------------------
  5936. INT 61 - Banyan VINES - GET PORTS FOR A SERVICE
  5937.     AX = 0007h
  5938.     BX = 0002h
  5939.     DS:DX -> StreetTalk service name
  5940.     DS:DI -> port record block (see #2069)
  5941. Return: AX = status (see #2068)
  5942. Note:    if the requested number of ports is greater than five, it will be reset
  5943.       to five
  5944. SeeAlso: AX=0007h,BX=0001h,AX=0007h/BX=0003h,AX=0007h/BX=0004h
  5945. SeeAlso: AX=0007h/BX=000Ah
  5946.  
  5947. Format of VINES port record block:
  5948. Offset    Size    Description    (Table 2069)
  5949.  00h    WORD    (call) number of 17-byte elements (01h-05h) to be filled
  5950.  02h    BYTE    (call) port type for first port
  5951.  03h 16 BYTEs    (ret) port (see #1971)
  5952.  13h    BYTE    (call) port type for second port
  5953.  14h 16 BYTEs    (ret) port (see #1971)
  5954.  24h    BYTE    (call) port type for third port
  5955.  25h 16 BYTEs    (ret) port (see #1971)
  5956.  35h    BYTE    (call) port type for fourth port
  5957.  36h 16 BYTEs    (ret) port (see #1971)
  5958.  46h    BYTE    (call) port type for fifth port
  5959.  47h 16 BYTEs    (ret) port (see #1971)
  5960.  57h    BYTE    reserved
  5961. SeeAlso: #2071
  5962. --------N-610007BX0003-----------------------
  5963. INT 61 - Banyan VINES - FIND A SERVICE
  5964.     AX = 0007h
  5965.     BX = 0003h
  5966.     DS:DX -> port control block (see #2070)
  5967. Return: AX = status (see AX=0007h)
  5968. SeeAlso: AX=0007h/BX=0002h,AX=0007h/BX=0004h,AX=0007h/BX=0005h
  5969.  
  5970. Format of port control block:
  5971. Offset    Size    Description    (Table 2070)
  5972.  00h    WORD    ???
  5973.  02h    WORD    ???
  5974.  04h 16    BYTEs    IPC port (see #1971 at AX=0001h"Sosock")
  5975.  14h  5    WORDs    ???
  5976. SeeAlso: #2076
  5977. --------N-610007BX0004-----------------------
  5978. INT 61 - Banyan VINES - SET PORTS FOR A SERVICE
  5979.     AX = 0007h
  5980.     BX = 0004h
  5981.     DS:DX -> StreetTalk name of service (max 64 bytes)
  5982.     DS:DI -> port record block (see #2071)
  5983. Return: AX = status (see #2068)
  5984. SeeAlso: AX=0007h/BX=0002h,AX=0007h/BX=0003h,AX=0007h/BX=000Ah
  5985.  
  5986. Format of VINES port record block:
  5987. Offset    Size    Description    (Table 2071)
  5988.  00h    WORD    number of 17-byte elements
  5989.  02h    BYTE    port type for first port
  5990.  03h 16 BYTEs    first IPC port (see #1971)
  5991.  13h    BYTE    port type for second port
  5992.  14h 16 BYTEs    second IPC port (see #1971)
  5993.  24h    BYTE    port type for third port
  5994.  25h 16 BYTEs    third IPC port (see #1971)
  5995.  35h    BYTE    port type for fourth port
  5996.  36h 16 BYTEs    fourth IPC port (see #1971)
  5997.  46h    BYTE    port type for fifth port
  5998.  47h 16 BYTEs    fifth IPC port (see #1971)
  5999.  57h    BYTE    reserved
  6000. SeeAlso: #2069
  6001. --------N-610007BX0005-----------------------
  6002. INT 61 - Banyan VINES - GET USER NAME
  6003.     AX = 0007h
  6004.     BX = 0005h
  6005.     DS:DX -> 64-byte buffer for user's StreetTalk name
  6006. Return: AX = status (see also #2068)
  6007.         0000h successful
  6008.         0001h network software not installed or incompatible
  6009. Note:    if no user logged in, first byte of returned name will be 00h
  6010. SeeAlso: AX=0007h/BX=0007h
  6011. --------N-610007BX0006-----------------------
  6012. INT 61 - Banyan VINES - TRANSLATE ERROR INTO ASCII STRING
  6013.     AX = 0007h
  6014.     BX = 0006h
  6015.     SI = error code (>100)
  6016.     DS:DX -> 80-byte buffer for error text
  6017. Return: AX = status (see also #2068)
  6018.         0000h successful
  6019.         0001h network software not installed or incompatible
  6020. --------N-610007BX0007-----------------------
  6021. INT 61 - Banyan VINES - VERIFY EXISTENCE OF NAME AND RETURN CANONICAL FORM
  6022.     AX = 0007h
  6023.     BX = 0007h
  6024.     DS:DX -> NiceName block (see #2072)
  6025. Return: AX = status (see #2068)
  6026. SeeAlso: AX=0007h/BX=0005h,AX=0007h/BX=0008h
  6027.  
  6028. Format of VINES NiceName block:
  6029. Offset    Size    Description    (Table 2072)
  6030.  00h    WORD    type of name
  6031.         0064h (100) organization
  6032.         00C8h (200) group
  6033.         012Ch (300) item
  6034.  02h    WORD    pointer to ASCIZ input name
  6035.  04h    WORD    pointer to 64-byte buffer for output name
  6036. SeeAlso: #2073
  6037. --------N-610007BX0008-----------------------
  6038. INT 61 - Banyan VINES - ENUMERATE StreetTalk NAMES
  6039.     AX = 0007h
  6040.     BX = 0008h
  6041.     DS:DX -> enumerate block (see #2073)
  6042. Return: AX = status (see also #2068)
  6043.         0000h successful
  6044.         0411h all matching names have been returned
  6045.         0412h some groups unavailable, all available matches returned
  6046. Note:    each program using this call should continue until a nonzero status
  6047.       is returned; otherwise, some resources will not be freed for several
  6048.       hours
  6049. SeeAlso: AX=0007h/BX=0005h,AX=0007h/BX=0007h,AX=0007h/BX=0009h
  6050.  
  6051. Format of VINES enumerate block:
  6052. Offset    Size    Description    (Table 2073)
  6053.  00h    WORD    return code
  6054.  02h    WORD    pointer to pattern string
  6055.  04h    WORD    enumerate type
  6056.         0064h (100) organization
  6057.         00C8h (200) group
  6058.         012Ch (300) item
  6059.  06h    WORD    enumerate class
  6060.         0000h unspecified (return all matching items)
  6061.         0001h user names
  6062.         0002h service names
  6063.         0003h list names
  6064.         0004h nicknames
  6065.  08h    WORD    pointer to category criteria block (see #2074) or 0
  6066.  0Ah    WORD    pointer to array of 64-byte returned names
  6067.  0Ch    WORD    number of names returned
  6068.  0Eh  6 BYTEs    reserved for subsequent enumerated calls (set to zeros on first
  6069.           call)
  6070. SeeAlso: #2072
  6071.  
  6072. Format of category criteria block:
  6073. Offset    Size    Description    (Table 2074)
  6074.  00h    WORD    exclude flag
  6075.         0000h return only items with the specified categories
  6076.         0001h return all items except those with the given categories
  6077.  02h    WORD    number of categories (max 5, 0000h = match all categories)
  6078.  04h    WORD    category 1 value (see #2075)
  6079.  06h    WORD    category 2 value
  6080.  08h    WORD    category 3 value
  6081.  0Ah    WORD    category 4 value
  6082.  0Ch    WORD    category 5 value
  6083. SeeAlso: #2073
  6084.  
  6085. (Table 2075)
  6086. Values for common VINES service categories:
  6087.  0001h    server service
  6088.  0002h    file service
  6089.  0003h    print service
  6090.  0004h    mail service
  6091.  0005h    StreetTalk
  6092.  0006h    time service
  6093.  0007h    FTP service
  6094.  0008h    semaphore service
  6095.  0009h    3270/SNA service
  6096.  000Ah    terminal emulation service
  6097.  000Bh    asynchronous terminal service
  6098.  000Ch    NETBIOS service
  6099.  000Dh    PC-based service
  6100.  000Eh    BSC service
  6101.  000Fh    APPC service
  6102.  0010h    NM service
  6103.  0011h    VS service
  6104.  0012h    POP service
  6105.  0013h    AFP service
  6106.  0014h    VCS service
  6107.  0015h    EMS service
  6108.  0016h    LN service
  6109.  0017h    BS service
  6110.  0023h    RIPL service
  6111.  0064h    ADM service
  6112. SeeAlso: #2074
  6113. --------N-610007BX0009-----------------------
  6114. INT 61 - Banyan VINES - TRANSLATE ERROR INTO ASCII STRING (SELECTED PORT)
  6115.     AX = 0007h
  6116.     BX = 0009h
  6117.     SI = error code
  6118.     DS:DX -> 80-byte buffer for error text
  6119.     DS:DI -> IPC port (16 bytes; see AX=0001h#"Sosock" for port format)
  6120. Return: AX = status (see AX=0007h)
  6121. Note:    Same as AX=0007h/BX=0006h, except IPC port is specified explicitly
  6122. SeeAlso: AX=0007h/BX=0006h
  6123. --------N-610007BX000A-----------------------
  6124. INT 61 - Banyan VINES - internal, OS/2 only - GET MANY PORTS FOR SERVICE
  6125.     AX = 0007h
  6126.     BX = 000Ah
  6127.     DS:DX -> port control block (see #2076)
  6128. Return: AX = status (see AX=0007h)
  6129. Note:    This function cannot be called from applications, as the DS register
  6130.       is checked against the redirector data segment address (status code
  6131.       0001h will be returned if DS doesn't match)
  6132. SeeAlso: AX=0007h/BX=0001h,AX=0007h/BX=0002h,AX=0007h/BX=0004h
  6133.  
  6134. Format of port control block:
  6135. Offset    Size    Description    (Table 2076)
  6136.  00h    WORD    ???
  6137.  02h    WORD    ???
  6138.  04h 16    BYTEs    IPC port (see #1971 at AX=0001h"Sosock")
  6139.  14h 14 WORDs    ???
  6140. SeeAlso: #2070
  6141. --------V-610008-----------------------------
  6142. INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - SET ZOOM OFFSET
  6143.     AX = 0008h
  6144.     BX = X start of zoom offset
  6145.     CX = Y start of zoom offset
  6146. Desc:    specifies the first byte of video memory to appear in the zoom window
  6147. Range:    unknown
  6148. Notes:    INT 61 is the default interrupt; the actual interrupt number can be
  6149.       obtained by calling INT 16/AH=FFh
  6150.     not all vendors include the Tseng TSR which supports these functions
  6151. SeeAlso: AX=0000h"OPTIMA",AX=0006h"OPTIMA",INT 16/AH=FFh"OPTIMA"
  6152. --------N-610008BX0000-----------------------
  6153. INT 61 - Banyan VINES - TALKPORT SERVICE - GET HANDLER ADDRESS
  6154.     AX = 0008h
  6155.     BX = 0000h
  6156. Return: AX = status
  6157.         0000h successful
  6158.     ES:DX = far pointer to handler
  6159. Desc:    The TalkPort is a facility to display event messages (e.g. mail
  6160.       received, printing on a local printer, ...) on the screen
  6161. Note:    This service is handled by the redirector
  6162. SeeAlso: AX=0008h/BX=0001h,AX=0008h/BX=0002h
  6163. --------N-610008BX0001-----------------------
  6164. INT 61 - Banyan VINES - TALKPORT SERVICE - SET HANDLER ADDRESS
  6165.     AX = 0008h
  6166.     BX = 0001h
  6167.     ES:DX -> new handler
  6168. Return: AX = status
  6169.         0000h successful
  6170. SeeAlso: AX=0008h/BX=0000h
  6171. --------N-610008BX0002-----------------------
  6172. INT 61 - Banyan VINES - TALKPORT SERVICE - POST MESSAGE ON LOCAL DISPLAY
  6173.     AX = 0008h
  6174.     BX = 0002h
  6175.     CX = message display flags (see #2077)
  6176.     DS:DX -> ASCIZ string to display (only first 80 chars used)
  6177. Return: AX = status
  6178.         0000h successful
  6179.         000Bh message display function currently busy
  6180.         000Ch message queue full
  6181. Notes:    queues up to three messages to be displayed on the bottom line
  6182.     This service is handled by the redirector
  6183.     In a DOS session, TalkPort messages are displayed on display line 25;
  6184.       in a Windows session, TalkPort messages are displayed in dialog boxes
  6185. SeeAlso: AX=0008h/BX=0000h,AX=0008h/BX=0003h
  6186.  
  6187. Bitfields for VINES message display flags:
  6188. Bit(s)    Description    (Table 2077)
  6189.  0    message will remain on screen until user presses ^X
  6190.  1    ring bell after displaying message
  6191.  2    blink
  6192. --------N-610008BX0003-----------------------
  6193. INT 61 - Banyan VINES - TALKPORT SERVICE - INTERCEPT VINES 25th-LINE MESSAGES
  6194.     AX = 0008h
  6195.     BX = 0003h
  6196.     DS:DX -> request block (see #2078)
  6197. Return: AX = status
  6198.         0000h successful
  6199.         0001h network software not installed or incompatible
  6200. Notes:    message handler should not call BIOS or DOS functions, and should
  6201.       either call next handler or simply return
  6202.     to stop intercepting messages, set prev and next request blocks to
  6203.       point at each other
  6204. SeeAlso: AX=0008h/BX=0002h
  6205.  
  6206. Format of VINES request block for 25-th line messages:
  6207. Offset    Size    Description    (Table 2078)
  6208.  00h    DWORD    pointer to user-written message handler
  6209.  04h    DWORD    pointer to next request block (filled in by VINES)
  6210.  08h    DWORD    pointer to previous request block (filled in by VINES)
  6211.  0Ch    DWORD    pointer to message storage area (filled by VINES) (see #2079)
  6212.  
  6213. Format of message storage area:
  6214. Offset    Size    Description    (Table 2079)
  6215.  00h 16 BYTEs    IPC port of message sender (see #1971)
  6216.  10h    BYTE    message flags
  6217.  11h    WORD    reserved
  6218.  13h    BYTE    length of message
  6219.  14h 80 BYTEs    message text
  6220. SeeAlso: #2078
  6221. --------N-610009-----------------------------
  6222. INT 61 - Banyan VINES - NETBIOS CLIENT SERVICE
  6223.     AX = 0009h
  6224.     other parameters, if any, unknown
  6225. --------N-61000A-----------------------------
  6226. INT 61 - Banyan VINES - SECONDARY 3270 INTERFACE
  6227.     AX = 000Ah
  6228. Note:    either 3270/SNA or 3270/BSC interface will use AX=000Ah, depending on
  6229.       which is loaded second.  The first interface loaded will use AX=0002h
  6230. SeeAlso: INT 61/AX=0002h
  6231. --------N-61000B-----------------------------
  6232. INT 61 - Banyan VINES - SEMAPHORE SERVICE
  6233.     AX = 000Bh
  6234.     other parameters, if any, unknown
  6235. --------N-61000C-----------------------------
  6236. INT 61 - Banyan VINES - 3270 KEYBOARD HANDLER
  6237.     AX = 000Ch
  6238.     other parameters, if any, unknown
  6239. --------N-61000D-----------------------------
  6240. INT 61 - Banyan VINES - T3270 SERVICE FUNCTION
  6241.     AX = 000Dh
  6242.     other parameters, if any, unknown
  6243. --------N-61000E-----------------------------
  6244. INT 61 - Banyan VINES - ENHANCED 3270 SERVICE
  6245.     AX = 000Eh
  6246.     other parameters, if any, unknown
  6247. --------N-61000F-----------------------------
  6248. INT 61 - Banyan VINES - VINES SOCKET API (FAR DATA)
  6249.     AX = 000Fh
  6250.     CX:BX -> request block (see #2709)
  6251.     DX = application's data segment (should be = CX)
  6252.     ES = DS
  6253. Return: AX = status
  6254.         0000h successful
  6255.         0099h invalid operation
  6256.         00A5h resource not available
  6257. Desc:    StreetTalk access with session handles
  6258. Notes:    This service is handled by the adapter driver
  6259.     The request dispatch table contains dummy entries for subfunctions
  6260.       06h, 0Dh, 0Eh, 0Fh, 10h, and 11h, which always return error 0099h
  6261.       (invalid operation) in the request block's result buffer
  6262.     This interface does the same as the corresponding AX=0001h interface,
  6263.       but with a slightly modified request block structure (i.e it allows
  6264.       FAR parameter block pointers) and without expecting DS=0001h
  6265.     Some adapter drivers (e.g. the NDIS2 token ring driver NDTOKBAN for
  6266.       VINES 5.53) ignore the value in CX and use the value from DX instead
  6267. SeeAlso: AX=0001h,AX=000Fh/SF=0001h
  6268.  
  6269. Format of request block:
  6270. Offset    Size    Description    (Table 2709)
  6271.  00h    WORD    subfunction number (01h-16h)
  6272.  02h    WORD    magic number (FEFEh)
  6273.  04h    WORD    buffer for return code (set to 0 before calling)
  6274.  06h    WORD    reserved (will be set to client DS)
  6275.  08h    WORD    reserved (obviously not used; set to 0 before calling)
  6276.  0Ah    DWORD    far pointer to parameter block
  6277.  0Eh    WORD    StreetTalk handle
  6278. SeeAlso: #1967 at INT 61/AX=0001h
  6279. --------N-61000FSF0001-----------------------
  6280. INT 61 - Banyan VINES - OPEN SOCKET
  6281.     AX = 000Fh subfn 0001h
  6282.     CX:BX -> request block (see #2703)
  6283.     DX = application's data segment (should be = CX)
  6284.     ES = DS
  6285. Return: AX = status
  6286.         0000h successful
  6287.         00A5h resource not available
  6288. Desc:    Opens a socket and returns a socket handle
  6289.  
  6290. Format of request block:
  6291. Offset    Size    Description    (Table 2703)
  6292.  00h    WORD    0001h
  6293.  02h    WORD    magic number (FEFEh)
  6294.  04h    WORD    buffer for return code (set to 0 before calling)
  6295.  06h    WORD    reserved (will be set to client DS)
  6296.  08h    WORD    reserved (obviously not used; set to 0 before calling)
  6297.  0Ah    DWORD    far pointer to parameter block (see #2704)
  6298.  0Eh    WORD    process handle (see AX=000Fh/SF=0008h)
  6299.  
  6300. Format of parameter block:
  6301. Offset    Size    Description    (Table 2704)
  6302.  00h    WORD    reserved
  6303.  02h    WORD    address family (0003h = VINES)
  6304.  04h    WORD    socket type (0001h = IPC, 0002h = SPP)
  6305.  06h    WORD    protocol number (FFFFh = default protocol)
  6306.  08h    WORD    reserved
  6307.  0Ah    WORD    local port number (0 = transient, 1..1FFh = well-known port)
  6308.  0Ch    DWORD    far pointer to socket handle buffer (2 bytes)
  6309.  10h    DWORD    far pointer to IPC port buffer (16 bytes)
  6310. SeeAlso: #2703
  6311. --------N-61000FSF0002-----------------------
  6312. INT 61 - Banyan VINES - SEND MESSAGE ON A SOCKET
  6313.     AX = 000Fh subfn 0002h
  6314.     CX:BX -> request block (see #2705)
  6315.     DX = application's data segment (should be = CX)
  6316.     ES = DS
  6317. Return: AX = status
  6318.         0000h successful
  6319.         00A5h resource not available
  6320. Desc:    send data to a socket identified by its socket handle
  6321.  
  6322. Format of request block:
  6323. Offset    Size    Description    (Table 2705)
  6324.  00h    WORD    0002h
  6325.  02h    WORD    magic number (FEFEh)
  6326.  04h    WORD    buffer for return code (set to 0 before calling)
  6327.  06h    WORD    reserved (will be set to client DS)
  6328.  08h    WORD    reserved (obviously not used; set to 0 before calling)
  6329.  0Ah    DWORD    far pointer to parameter block (see #2706)
  6330.  0Eh    WORD    process handle (see AX=000Fh/SF=0008h)
  6331.  
  6332. Format of parameter block:
  6333. Offset    Size    Description    (Table 2706)
  6334.  00h    WORD    buffer for estimated communication cost in 220 msec ticks
  6335.  02h    WORD    buffer for return code (set to 0 before calling)
  6336.  04h    WORD    socket handle
  6337.  06h    DWORD    far pointer to IPC/SPP message buffer
  6338.  0Ah    WORD    length of IPC/SPP message buffer
  6339.  0Ch    WORD    option flags
  6340.         bit 0: asynchronous communication
  6341.         bit 1: reliable message
  6342.         bit 3: end of message
  6343.         bit 4: vectored I/O
  6344.  0Eh 16    BYTEs    socket address (IPC port of source)
  6345.  1Eh    WORD    not used (set to 0 before calling)
  6346.  20h    WORD    SPP connection id (0 for IPC messages)
  6347.  22h    WORD    request type (1 = data, 2 = connect SPP, 3 = disconnect SPP)
  6348. SeeAlso: #2705
  6349. --------N-61000FSF0004-----------------------
  6350. INT 61 - Banyan VINES - CLOSE SOCKET
  6351.     AX = 000Fh subfn 0004h
  6352.     CX:BX -> request block (see #2707)
  6353.     DX = application's data segment (should be = CX)
  6354.     ES = DS
  6355. Return: AX = status
  6356.         0000h successful
  6357.         00A5h resource not available
  6358. Desc:    Closes a socket identified by its socket handle
  6359.  
  6360. Format of request block:
  6361. Offset    Size    Description    (Table 2707)
  6362.  00h    WORD    0004h
  6363.  02h    WORD    magic number (FEFEh)
  6364.  04h    WORD    buffer for return code (set to 0 before calling)
  6365.  06h    WORD    reserved (will be set to client DS)
  6366.  08h    WORD    reserved (obviously not used; set to 0 before calling)
  6367.  0Ah    DWORD    far pointer to socket handle (2 bytes)
  6368.  0Eh    WORD    process handle (see AX=000Fh/SF=0008h)
  6369. --------N-61000FSF0008-----------------------
  6370. INT 61 - Banyan VINES - GET PROCESS HANDLE
  6371.     AX = 000Fh subfn 0008h
  6372.     CX:BX -> request block (see #2708)
  6373.     DX = application's data segment (should be = CX)
  6374.     ES = DS
  6375. Return: AX = status
  6376.         0000h successful
  6377.         00A5h resource not available
  6378. Desc:    Returns a process handle to be used in other request blocks
  6379. Notes:    This function is a prerequisite to all AX=000Fh subfunctions which
  6380.       expect a process handle in the request block
  6381.     Although subsequent calls from the same application return different
  6382.       process handles, there seem to be no restrictions on how many times
  6383.       an application may call this function (in fact, the code in the VINES
  6384.       toolkit library always calls it before issueing other AX=000Fh calls)
  6385.  
  6386. Format of request block:
  6387. Offset    Size    Description    (Table 2708)
  6388.  00h    WORD    0008h
  6389.  02h    WORD    magic number (FEFEh)
  6390.  04h    WORD    buffer for return code (set to 0 before calling)
  6391.  06h    WORD    reserved
  6392.  08h    WORD    reserved (obviously not used; set to 0 before calling)
  6393.  0Ah    DWORD    process type (1 = transient, 2 = resident; destroyed on exit)
  6394.  0Eh    WORD    buffer for process handle
  6395. --------N-610010-----------------------------
  6396. INT 61 - Banyan VINES - INTERFACE TO NBNS
  6397.     AX = 0010h
  6398.     other parameters, if any, unknown
  6399. --------N-6101-------------------------------
  6400. INT 61 - Banyan VINES - CHECK SERVICE
  6401.     AH = 01h
  6402.     AL = service ID (see #2080)
  6403. Return: AX = status
  6404.         0000h installed
  6405.         0001h not installed
  6406.         0002h invalid ID
  6407.         0003h invalid function
  6408. Note:    Only the offset part of the service pointer is checked for a nonzero
  6409.       value
  6410. SeeAlso: AH=00h,AH=02h"VINES",AH=03h"VINES"
  6411.  
  6412. (Table 2080)
  6413. Values for VINES service ID:
  6414.  01h    communications
  6415.  02h    primary 3270 emulation
  6416.  03h    async terminal emulation
  6417.  04h    file deflection
  6418.  05h    print service control
  6419.  06h    get address of something
  6420.  07h    StreetTalk access service
  6421.  08h    environment
  6422.  09h    NETBIOS client service
  6423.  0Ah    secondary 3270 emulation
  6424.  0Bh    semaphore service
  6425.  0Ch    3270 emulation active status
  6426.  0Dh    T3270 keyboard interrupt simulator
  6427.  0Eh    enhanced 3270 service
  6428.  0Fh    comm Windows entry point
  6429.  10h    interface to NBNS
  6430. --------N-6101--BX0000-----------------------
  6431. INT 61 u - PC/TCP kernel v2.1+ - "net_config" - CONFIGURE RUNNING KERNEL
  6432.     AH = 01h
  6433.     BX = 0000h
  6434.     DH = tag number
  6435.     DL = device number
  6436.     DS:SI -> buffer to send to kernel
  6437.     ES:DI -> integer containing size of buffer
  6438. Return: CF clear if successful
  6439.     CF set on error
  6440.         AX = error code (see #1962 at INT 61"PC/TCP")
  6441. Range:    INT 20 to INT E0, selected by configuration
  6442. Notes:    there are a large number of tags available; the items returned
  6443.       all refer to local kernel configuration, and are not needed in
  6444.       normal use.
  6445.     this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  6446. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=02"PC/TCP"
  6447. --------N-6102-------------------------------
  6448. INT 61 - Banyan VINES - GET REVISION NUMBER
  6449.     AH = 02h
  6450.     DS:DX -> 2-byte buffer for result
  6451. Return: AX = 0000h installed
  6452.         DS:DX buffer contains revision number as
  6453.         10000d * major_ver + 100d * minor_ver + patch_revision
  6454. SeeAlso: AH=01h"VINES",AH=04h"VINES",AH=07h"VINES"
  6455. --------N-6102--BX0000-----------------------
  6456. INT 61 u - PC/TCP kernel v2.1+ - "get_kernel_info" - GET MISCELLAN LOCAL INFO
  6457.     AH = 02h
  6458.     BX = 0000h
  6459.     DH = tag number
  6460.     DL = device number
  6461.     DS:SI -> buffer for result (up to 48 bytes for version <= 2.2)
  6462.     ES:DI -> integer containing size of buffer
  6463. Return: CF clear if successful
  6464.         Data loaded into specified buffer, and size value altered
  6465.     CF set on error
  6466.         AX = error code (see #1962 at INT 61"PC/TCP")
  6467. Range:    INT 20 to INT E0, selected by configuration
  6468. Notes:    there are a large number of tags available; the items returned
  6469.       all refer to local kernel configuration, and are not needed in
  6470.       normal use.
  6471.     this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  6472. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=01h"PC/TCP"
  6473. --------N-6103-------------------------------
  6474. INT 61 - Banyan VINES - INSTALL SERVICE HANDLER
  6475.     AH = 03h
  6476.     AL = service ID (see #2080)
  6477.     DS:DX -> new service handler
  6478. Return: AX = 0000h successful
  6479. SeeAlso: AH=00h,AH=01h"VINES",AH=02h"VINES",AH=05h"VINES"
  6480. --------N-6104-------------------------------
  6481. INT 61 - Banyan VINES - CHECK VINES REVISION NUMBER IN RANGE
  6482.     AH = 04h
  6483.     DS:DX -> 2-byte buffer containing the VINES revision number
  6484.         DS:DX buffer contains revision number as
  6485.         10000d * major_ver + 100d * minor_ver + patch_revision
  6486. Return: AX = status
  6487.         0000h valid version
  6488.         0004h out of range
  6489. Note:    For Revision 5.53, the valid range is 4.10(0) to 6.19(99)
  6490. SeeAlso: AH=02h"VINES",AH=07h"VINES",AH=08h"VINES"
  6491. --------N-6105-------------------------------
  6492. INT 61 - PC/TCP kernel v2.05+ - "get_addr" - GET INTERNET ADDRESS OF NET DESCR
  6493.     AH = 05h
  6494.     BX = network descriptor
  6495. Return: CF clear if successful
  6496.         DX:AX = Internet address of ND
  6497.     CF set on error
  6498.         AX = error code (see #1962 at INT 61"PC/TCP")
  6499. Range:    INT 20 to INT E0, selected by configuration
  6500. Notes:    the installation check consists of testing for the signature "TCPTSR"
  6501.       three bytes beyond the start of the interrupt handler
  6502. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=16h"PC/TCP"
  6503. SeeAlso: INT 63/AH=25h"BW-TCP"
  6504. --------N-6105-------------------------------
  6505. INT 61 - Banyan VINES - READ PCCONFIG BYTES
  6506.     AH = 05h
  6507.     CX = number of bytes to copy
  6508.         (max. 0175h for VINES 4.00, max. 017Fh for VINES 4.10+)
  6509.     SI = offset of area to be copied (see #2081,#2082)
  6510. Return: AX = status
  6511.         0000h successful
  6512.         0004h out of range
  6513. Notes:    The PCCONFIG area is located in the code segment of the BANV handler
  6514.     To find out which PCCONFIG structure applies, call this function first
  6515.       with CX=0006h to get the VINES revision number
  6516. SeeAlso: AH=02h"VINES",AH=04h"VINES",AH=06h"VINES",AH=0Bh"VINES"
  6517.  
  6518. Format of PCCONFIG area (VINES 4.00):
  6519. Offset    Size    Description    (Table 2081)
  6520.  00h  6    BYTEs    VINES revision (ASCII, zero-padded)
  6521.  06h  2    BYTEs    NEWREV-number (ASCII, two digits)
  6522.  08h    WORD    hardware interrupt level
  6523.  0Ah    WORD    DMA channel
  6524.  0Ch    WORD    I/O address
  6525.  0Eh    DWORD    adapter ROM address (linear)
  6526.  12h    DWORD    adapter RAM address (linear)
  6527.  16h    WORD    BANV interrupt
  6528.  18h 32    BYTEs    default login group #1
  6529.  38h 32    BYTEs    default login group #2
  6530.  58h 32    BYTEs    default login group #3
  6531.  78h    WORD    semaphore locking support flag
  6532.  7Ah    WORD    extended StreetTalk flag
  6533.  7Ch    WORD    maximum number of file volumes
  6534.  7Eh    WORD    NetBIOS flag
  6535.  80h 60    BYTEs    default network adapter
  6536.  BCh 60    BYTEs    default communications driver
  6537.  F8h    WORD    maximum number of SPP connections
  6538.  FAh    WORD    maximum number of open sockets
  6539.  FCh    WORD    communications buffer size (10..60 KB)
  6540.  FEh 20    BYTEs    location directory on drive Z:
  6541. 112h 33    BYTEs    auxiliary configuration area #1 (see #2083)
  6542. 133h 33    BYTEs    auxiliary configuration area #2
  6543. 154h 33    BYTEs    auxiliary configuration area #3
  6544. SeeAlso: #2082
  6545.  
  6546. Format of PCCONFIG area (VINES 4.10+):
  6547. Offset    Size    Description    (Table 2082)
  6548.  00h  6    BYTEs    VINES revision (ASCII, zero-padded)
  6549.  06h  2    BYTEs    NEWREV-number (ASCII, two digits)
  6550.  08h    WORD    hardware interrupt level
  6551.  0Ah    WORD    DMA channel
  6552.  0Ch    WORD    I/O address
  6553.  0Eh    DWORD    adapter ROM address (linear)
  6554.  12h    DWORD    adapter RAM address (linear)
  6555.  16h    WORD    BANV interrupt
  6556.  18h 32    BYTEs    default login group #1
  6557.  38h 32    BYTEs    default login group #2
  6558.  58h 32    BYTEs    default login group #3
  6559.  78h    WORD    semaphore locking support flag
  6560.  7Ah    WORD    extended StreetTalk flag
  6561.  7Ch    WORD    named pipes support flag
  6562.  7Eh    WORD    maximum number of file volumes
  6563.  80h    WORD    NetBIOS flag
  6564.  82h 60    BYTEs    default network adapter
  6565.  BEh 60    BYTEs    default communications driver
  6566.  FAh    WORD    maximum number of SPP connections
  6567.  FCh    WORD    maximum number of open sockets
  6568.  FEh    WORD    communications buffer size (10..60 KB)
  6569. 100h    WORD    number of mailslots
  6570. 102h    WORD    maximum number of open files
  6571. 104h    WORD    maximum number of NetBIOS sessions
  6572. 106h    WORD    maximum number of NetBIOS commands
  6573. 108h 20    BYTEs    location directory on drive Z:
  6574. 11Ch 33    BYTEs    auxiliary configuration area #1 (see #2083)
  6575. 13Dh 33    BYTEs    auxiliary configuration area #2
  6576. 15Eh 33    BYTEs    auxiliary configuration area #3
  6577.  
  6578. Format of auxiliary configuration area:
  6579. Offset    Size    Description    (Table 2083)
  6580.  00h 16    BYTEs    item name (no zero terminator if length = 16)
  6581.  10h    BYTE    item value type (1=text, else numeric)
  6582.  11h 16    BYTEs    item value (string if type 1, else DWORD)
  6583. SeeAlso: #2081,#2082
  6584. --------N-6106-------------------------------
  6585. INT 61 - PC/TCP kernel v2.05 - "net_info" - GET INTERFACE STATISTICS
  6586.     AH = 06h
  6587.     BX = network descriptor (must be allocated and open)
  6588.     DS:SI -> 38-byte buffer for interface statistics (see #2084)
  6589. Return: CF clear if successful
  6590.         buffer filled
  6591.     CF set on error
  6592.         AX = error code (see #1962)
  6593. Desc:    returns the statistics relevant to the particular network interface
  6594.        used by the specified network descriptor
  6595. Range:    INT 20 to INT E0, selected by configuration
  6596. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=05h"PC/TCP"
  6597.  
  6598. Format of PC/TCP interface statistics:
  6599. Offset    Size    Description    (Table 2084)
  6600.  00h    WORD    interface class (e.g. 802.3)
  6601.  02h    WORD    type (manufacturer) of interface
  6602.  04h    WORD    interface number
  6603.  06h    DWORD    (big-endian) IP address of interface
  6604.  0Ah    DWORD    subnet mask
  6605.  0Eh    WORD    0001h if interface is up
  6606.  10h    DWORD    total packets received
  6607.  14h    DWORD    total packets sent
  6608.  18h    DWORD    receive errors
  6609.  1Ch    DWORD    send errors
  6610.  20h    WORD    length of local net address (e.g. 0006h for Ethernet)
  6611.  22h    DWORD    pointer to local net address
  6612. --------N-6106-------------------------------
  6613. INT 61 - Banyan VINES - GET PCCONFIG BASE ADDRESS
  6614.     AH = 06h
  6615.     DS:DX -> 4-byte buffer for far pointer to PCCONFIG area
  6616. Return: AX = 0000h successful
  6617. Note:    The PCCONFIG area is located in the code segment of the BANV handler
  6618. SeeAlso: AH=05h"VINES",AH=0Bh"VINES"
  6619. --------N-6107-------------------------------
  6620. INT 61 - PC/TCP kernel v2.05+ - "net_globalize" - MAKE NET DESCRIPTOR GLOBAL
  6621.     AH = 07h
  6622.     BX = local network descriptor
  6623. Return: CF clear if successful
  6624.         AX = global network descriptor
  6625.     CF set on error
  6626.         AX = error code (see #1962)
  6627. Notes:    the new network descriptor can be accessed from all processes and is
  6628.       independent of DOS
  6629.     this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  6630. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=08h"PC/TCP"
  6631. SeeAlso: INT 61/AH=29h
  6632. --------N-6107-------------------------------
  6633. INT 61 - Banyan VINES - GET VINES REVISION NUMBER (LONG)
  6634.     AH = 07h
  6635.     DS:DX -> 4-byte buffer for result
  6636. Return: AX = 0000h successful
  6637.         DS:DX buffer contains revision number as
  6638.         10000d * major_ver + 100d * minor_ver + patch_revision
  6639. SeeAlso: AH=02h"VINES",AH=04h"VINES",AH=08h"VINES"
  6640. --------N-6108-------------------------------
  6641. INT 61 - PC/TCP kernel v2.05+ - "net_release" - CLOSE A NETWORK DESCRIPTOR
  6642.     AH = 08h
  6643.     BX = network descriptor
  6644. Return: CF clear if successful
  6645.         AX = 0000h (BWPCTCP shim)
  6646.     CF set on error
  6647.         AX = error code (see #1962)
  6648. Range:    INT 20 to INT E0, selected by configuration
  6649. Note:    the descriptor will be closed and resources released.  If a stream
  6650.       descriptor, the protocol (FIN etc) is completed unless the
  6651.       non-blocking option has been set.
  6652. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=09h"PC/TCP"
  6653. SeeAlso: INT 63/AH=0Eh"BW-TCP"
  6654. --------N-6108-------------------------------
  6655. INT 61 - Banyan VINES - CHECK VINES REVISION NUMBER IN RANGE (LONG)
  6656.     AH = 08h
  6657.     DS:DX -> 4-byte buffer containing the VINES revision number
  6658.         DS:DX buffer contains revision number as
  6659.         10000d * major_ver + 100d * minor_ver + patch_revision
  6660. Return: AX = status
  6661.         0000h valid version
  6662.         0004h out of range
  6663. Note:    For Revision 5.53, the valid range is 4.10(0) to 6.19(99)
  6664. SeeAlso: AH=04h"VINES",AH=07h"VINES"
  6665. --------N-6109-------------------------------
  6666. INT 61 - PC/TCP kernel v2.05+ - "net_releaseall" - CLOSE ALL NON-GLOBAL DESCRS
  6667.     AH = 09h
  6668. Return: CF clear
  6669. Range:    INT 20 to INT E0, selected by configuration
  6670. Notes:    this call performs function 08h on every non-global network descriptor.
  6671.       Global descriptors must be released individually.
  6672. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=08h"PC/TCP"
  6673. SeeAlso: INT 63/AH=0Eh"BW-TCP"
  6674. --------N-6109-------------------------------
  6675. INT 61 - Banyan VINES - GET VALUE OF AN OS/2 BACKEND VARIABLE
  6676.     AH = 09h
  6677.     other parameters, if any, unknown
  6678. SeeAlso: AH=0Ah"VINES"
  6679. --------N-610A-------------------------------
  6680. INT 61 - PC/TCP kernel v2.05 - "net_send" - ???
  6681.     AH = 0Ah
  6682.     ???
  6683. Return: ???
  6684. Notes:    this function is described as "unused" in the v2.05 and v2.2
  6685.       documentation
  6686.     this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  6687. SeeAlso: AH=0Bh
  6688. --------N-610A-------------------------------
  6689. INT 61 - Banyan VINES - SET VALUE OF AN OS/2 BACKEND VARIABLE
  6690.     AH = 0Ah
  6691.     other parameters, if any, unknown
  6692. SeeAlso: AH=09h"VINES"
  6693. --------N-610B-------------------------------
  6694. INT 61 - PC/TCP kernel v2.05 - "net_sendto" - ???
  6695.     AH = 0Bh
  6696.     ???
  6697. Return: ???
  6698. Range:    INT 20 to INT E0, selected by configuration
  6699. Notes:    this function is described as "unused" in the v2.05 and v2.2
  6700.       documentation
  6701.     this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  6702. SeeAlso: AH=0Ah
  6703. --------N-610B-------------------------------
  6704. INT 61 - Banyan VINES - SET PCCONFIG IN BACKEND
  6705.     AH = 0Bh
  6706.     other parameters, if any, unknown
  6707. SeeAlso: AH=05h"VINES",AH=06h"VINES"
  6708. --------N-610C-------------------------------
  6709. INT 61 u - PC/TCP kernel v2.05+ - "net_stat" - GET CONNECTION STATISTICS
  6710.     AH = 0Ch
  6711.     BX = network descriptor or one of the following:
  6712.         FFFCh for kernel ICMP statistics (see #2088)
  6713.         FFFDh for kernel UDP statistics (see #2087)
  6714.         FFFEh for kernel IP statistics (see #2086)
  6715.         FFFFh for kernel TCP statistics (see #2085)
  6716.     DS:DX -> 64-byte buffer
  6717. Return: CF clear if successful
  6718.         buffer filled
  6719.     CF set on error
  6720.         AX = error code (see #1962)
  6721. Notes:    the fields filled in for a network descriptor depend on the protocol
  6722.       family used by that descriptor's connection
  6723.     this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  6724. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP"
  6725.  
  6726. Format of PC/TCP kernel TCP statistics:
  6727. Offset    Size    Description    (Table 2085)
  6728.  00h 16 BYTEs    unused
  6729.  10h    DWORD    bytes sent
  6730.  14h    DWORD    bytes received
  6731.  18h  8 BYTEs    unused
  6732.  20h    DWORD    packets sent
  6733.  24h    DWORD    packets received
  6734.  28h    DWORD    bad checksums
  6735.  2Ch    DWORD    count of window ignored by remote
  6736.  30h    DWORD    timeouts
  6737.  34h    DWORD    resets
  6738.  38h    DWORD    duplicate packets
  6739.  3Ch    DWORD    retransmits
  6740. SeeAlso: #2086,#2087,#2088
  6741.  
  6742. Format of PC/TCP kernel IP statistics:
  6743. Offset    Size    Description    (Table 2086)
  6744.  00h  8 BYTEs    unused
  6745.  08h    DWORD    invalid IP header length errors
  6746.  0Ch    DWORD    protocol errors (unwanted packets)
  6747.  10h    DWORD    duplicate fragments received
  6748.  14h    DWORD    bad fragments received
  6749.  18h    DWORD    security errors
  6750.  1Ch    DWORD    count of bad IP addresses received
  6751.  20h    DWORD    packets sent
  6752.  24h    DWORD    packets received
  6753.  28h    DWORD    bad checksums received
  6754.  2Ch    DWORD    total IP protocol errors
  6755.  30h    DWORD    fragmentation errors
  6756.  34h    DWORD    IP packets discarded + bad security + bad fragments
  6757.  38h    DWORD    fragments received
  6758.  3Ch  4 BYTEs    unused
  6759. SeeAlso: #2085,#2087,#2088
  6760.  
  6761. Format of PC/TCP kernel UDP statistics:
  6762. Offset    Size    Description    (Table 2087)
  6763.  00h 28 BYTEs    unused
  6764.  1Ch    DWORD    packets dropped for lack of buffers
  6765.  20h    DWORD    packets sent
  6766.  24h    DWORD    packets received
  6767.  28h    DWORD    bad checksums
  6768.  2Ch    DWORD    port not listening errors
  6769.  30h  4 BYTEs    unused
  6770.  34h    DWORD    truncated receives
  6771.  38h  8 BYTEs    unused
  6772. SeeAlso: #2085,#2086,#2088
  6773.  
  6774. Format of PC/TCP kernel ICMP statistics:
  6775. Offset    Size    Description    (Table 2088)
  6776.  00h    DWORD    "TimeEx" sent
  6777.  04h    DWORD    "TimeEx" received
  6778.  08h    DWORD    "ParamProb" sent
  6779.  0Ch    DWORD    "ParamProb" received
  6780.  10h    DWORD    redirects received
  6781.  14h    DWORD    source quenches received
  6782.  18h    DWORD    ICMP Echo Requests ("ping") sent
  6783.  1Ch    DWORD    ICMP Echo Requests received
  6784.  20h    DWORD    packets sent
  6785.  24h    DWORD    packets received
  6786.  28h    DWORD    bad packets received
  6787.  2Ch    DWORD    "DestUn" received
  6788.  30h    DWORD    packet send errors
  6789.  34h    DWORD    "DestUn" sent
  6790.  38h    DWORD    ICMP Echo replies received
  6791.  3Ch    DWORD    ICMP Echo replies sent
  6792. SeeAlso: #2085,#2086,#2087
  6793. --------N-610D-------------------------------
  6794. INT 61 - PC/TCP kernel v2.05+ - "is_netnd" - CHECK IF NETWORK DESCRIPTOR VALID
  6795.     AH = 0Dh
  6796.     BX = possible network descriptor
  6797. Return: CF clear if valid
  6798.     CF set on error
  6799.         AX = error code (see #1962 at INT 61"PC/TCP")
  6800. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=08h"PC/TCP"
  6801. SeeAlso: INT 61/AH=22h
  6802. --------N-610E-------------------------------
  6803. INT 61 - PC/TCP kernel v2.05+ - "net_select" - DETECT READINESS OF NETWORK
  6804.     AH = 0Eh
  6805.     BX = maximum value of network descriptor for which to return info
  6806.     DS:DX -> 32-bit (max) array of bit flags for read readiness
  6807.     ES:DI -> 32-bit (max) array of bit flags for write readiness
  6808. Return: CF clear
  6809. Range:    INT 20 to INT E0, selected by configuration
  6810. Notes:    bits in the DS:DX buffer are set if the corresponding network
  6811.       descriptor may be read without blocking; bits in the ES:DI buffer
  6812.       are set if the corresponding network descriptor may be written
  6813.       without blocking.  This implies that the network descriptor has
  6814.       opened correctly and the protocol initialized.
  6815.     the installation check consists of testing for the signature "TCPTSR"
  6816.       three bytes beyond the start of the interrupt handler
  6817. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP"
  6818. --------N-610F-------------------------------
  6819. INT 61 - PC/TCP kernel v2.05+ - "get_netversion" - GET SOFTWARE VERSION
  6820.     AH = 0Fh
  6821. Return: CF clear
  6822.     AX = version (AH = major, AL = minor)
  6823.     BX = patch level
  6824. Notes:    patch levels are no longer used starting with version 2.10; instead,
  6825.       the minor version level is incremented.
  6826.     Beame&Whiteside's BWPCTCP v3.0a shim reports version 2.05, but does not
  6827.       set BX
  6828. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP"
  6829. --------N-6110-------------------------------
  6830. INT 61 - PC/TCP kernel v2.05+ - "net_shutdown" - UNINSTALL
  6831.     AH = 10h
  6832. Return: CF clear if successful
  6833.     CF set on error
  6834.         AX = error code (see #1962 at INT 61"PC/TCP")
  6835. Range:    INT 20 to INT E0, selected by configuration
  6836. Note:    this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  6837. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP"
  6838. --------N-6111-------------------------------
  6839. INT 61 - PC/TCP kernel v2.05+ - "disable_async" - DISABLE ASYNCHRONOUS HANDLERS
  6840.     AH = 11h
  6841. Return: CF clear
  6842.     AX = previous state
  6843.         0000h async calls were already disabled
  6844.         else  async calls were enabled
  6845. SeeAlso: INT 61"PC/TCP",INT 61/AH=12h
  6846. --------N-6112-------------------------------
  6847. INT 61 - PC/TCP kernel v2.05+ - "enable_async" - ENABLE ASYNCHRONOUS HANDLERS
  6848.     AH = 12h
  6849. Return: CF clear
  6850.     AX = previous state
  6851.         0000h async calls were disabled
  6852.         else  async calls were already enabled
  6853. SeeAlso: INT 61"PC/TCP",INT 61/AH=11h
  6854. --------N-6113-------------------------------
  6855. INT 61 - PC/TCP kernel v2.05 - "net_connect" - OPEN A NETWORK CONNECTION
  6856.     AH = 13h
  6857.     BX = network descriptor (FFFFh for automatic net_getdesc)
  6858.     DX = protocol (see #2089)
  6859.     DS:SI -> buffer for "addr" structure (see #2090)
  6860. Return: CF clear if successful
  6861.         AX = network descriptor used or allocated
  6862.     CF set on error
  6863.         AX = error code (see #1962 at INT 61"PC/TCP")
  6864. Notes:    resets the connection with AH=19h in various cases
  6865.     will wait for protocol on stream connections unless non-blocking was
  6866.       set with AH=20h
  6867. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=18h,INT 61/AH=23h
  6868. SeeAlso: INT 63/AH=14h"BW-TCP"
  6869.  
  6870. (Table 2089)
  6871. Values for PC/TCP protocol:
  6872.  0001h    raw net (undocumented)
  6873.  0002h    raw IP
  6874.  0003h    datagram (UDP)
  6875.  0004h    stream (TCP)
  6876.  0005h    raw ICMP
  6877.  
  6878. Format of structure "addr":
  6879. Offset    Size    Description    (Table 2090)
  6880.  00h    DWORD    Internet address (network order)
  6881.  04h    WORD    remote socket number (network order)
  6882.  06h    WORD    local socket number (network order) 0000h means "you choose"
  6883.  08h    BYTE    protocol (see #2089)
  6884. --------N-6114-------------------------------
  6885. INT 61 Ou - PC/TCP kernel v2.05 - "net_recv" - NO LONGER SUPPORTED
  6886.     AH = 14h
  6887.     BX = network descriptor
  6888. Return: CF set
  6889.         AX = 0018h (see #1962 at INT 61"PC/TCP")
  6890. Notes:    displays error message "Illegal system call!  Please upgrade your
  6891.       PCserver software" to standard output
  6892.     this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  6893. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=0Ah,INT 61/AH=15h
  6894. --------N-6115-------------------------------
  6895. INT 61 - PC/TCP kernel v2.05 - "net_recvfrom" - ???
  6896.     AH = 15h
  6897.     ???
  6898. Return: ???
  6899. Notes:    this function is described as "unused" in the v2.2 documentation
  6900.     this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  6901. SeeAlso: INT 61/AH=0Bh,INT 61/AH=14h
  6902. --------N-6116-------------------------------
  6903. INT 61 - PC/TCP kernel v2.05+ - "net_peer" - GET DATA ON REMOTE PEER
  6904.     AH = 16h
  6905.     BX = network descriptor
  6906.     DS:DX -> 9-byte buffer for "addr" structure (see #2090)
  6907. Return: CF clear if successful
  6908.         buffer filled
  6909.     CF set on error
  6910.         AX = error code (see #1962 at INT 61"PC/TCP")
  6911. Range:    INT 20 to INT E0, selected by configuration
  6912. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP"
  6913. --------N-6117-------------------------------
  6914. INT 61 - PC/TCP kernel v2.05+ - "net_reconfig" - RE-READ KERNEL CONFIGURATION
  6915.     AH = 17h
  6916. Return: CF clear if successful
  6917.     CF set on error
  6918.         AX = error code (see #1962 at INT 61"PC/TCP")
  6919. Notes:    this routine is deprecated in v2.1+ and will eventually be withdrawn;
  6920.       in v2.1+, this function calls AH=01h which should be used instead
  6921.     this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  6922. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=01h"PC/TCP"
  6923. --------N-6118-------------------------------
  6924. INT 61 - PC/TCP kernel v2.05+ - "net_eof" - CLOSE TRANSMIT SIDE OF CONNECTION
  6925.     AH = 18h
  6926.     BX = network descriptor
  6927. Return: CF clear if successful
  6928.     CF set on error
  6929.         AX = error code (see #1962 at INT 61"PC/TCP")
  6930. Note:    a TCP "FIN" command is sent and no further data may be transmitted,
  6931.       although the connection remains open
  6932. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=13h"PC/TCP"
  6933. SeeAlso: INT 63/AH=0Eh"BW-TCP"
  6934. --------N-6119-------------------------------
  6935. INT 61 - PC/TCP kernel v2.05+ - "net_abort" - RESET A NETWORK CONNECTION
  6936.     AH = 19h
  6937.     BX = network descriptor
  6938. Return: CF clear if successful
  6939.     CF set on error
  6940.         AX = error code (see #1962 at INT 61"PC/TCP")
  6941. Desc:    immediately destroys the specified connection
  6942. Note:    send a TCP "RST" command if a stream connection is open
  6943. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=24h
  6944. --------N-611A-------------------------------
  6945. INT 61 - PC/TCP kernel v2.05+ - "net_write" - WRITE TO THE NETWORK
  6946.     AH = 1Ah
  6947.     BX = network descriptor
  6948.     CX = number of bytes to transmit (0000h allowed)
  6949.     DX = send options (see #2091)
  6950.     DS:SI -> data to be written
  6951. Return: CF clear if successful
  6952.         AX = number of bytes actually written
  6953.         DX = ???
  6954.     CF set on error
  6955.         AX = error code (see #1962 at INT 61"PC/TCP")
  6956. Range:    INT 20h to INT E0h, selected by configuration
  6957. Notes:    the installation check consists of testing for the signature "TCPTSR"
  6958.       three bytes beyond the start of the interrupt handler
  6959. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=1Bh,INT 61/AH=1Ch
  6960. SeeAlso: INT 63/AH=19h"BW-TCP",INT 63/AH=1Bh"BW-TCP"
  6961.  
  6962. Bitfields for PC/TCP send options:
  6963. Bit(s)    Description    (Table 2091)
  6964.  0    signal "URG"ent data
  6965.  3    attempt rerouting on non-stream calls if first attempt fails
  6966.  4    send data with PUSH flag (no override of Nagle) (see option 0Ch)
  6967.  5    fail rather than truncating datagram
  6968.  6    fail rather than blocking
  6969.  7    broadcast packet
  6970. --------N-611B-------------------------------
  6971. INT 61 - PC/TCP kernel v2.05+ - "net_read" - READ FROM THE NETWORK
  6972.     AH = 1Bh
  6973.     BX = network descriptor
  6974.     CX = maximum number of bytes to read
  6975.     DX = receive options (see #2092)
  6976.     DS:SI -> buffer for data
  6977.     ES:DI -> "addr" structure (see #2090) for remote from which to read
  6978.         0000h:0000h for any
  6979. Return: CF clear if successful
  6980.         AX = number of bytes actually read
  6981.         DX = ???
  6982.     CF set on error
  6983.         AX = error code (see #1962 at INT 61"PC/TCP")
  6984. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=1Ah,INT 61/AH=1Dh
  6985.  
  6986. Bitfields for PC/TCP receive options:
  6987. Bit(s)    Description    (Table 2092)
  6988.  1    do not remove data from queue, just copy it
  6989.  2    do not copy data, just remove it from queue
  6990.  5    fail if datagram would be truncated
  6991.  6    do not block, return error if no data available
  6992. Note:    special case for UDP: if both 1 and 2 set, return number of datagrams
  6993. --------N-611C-------------------------------
  6994. INT 61 - PC/TCP kernel v2.05+ - "net_writeto" - WRITE A DATAGRAM
  6995.     AH = 1Ch
  6996.     BX = network descriptor
  6997.     CX = number of bytes to transmit (0000h allowed)
  6998.     DX = send options (see #2091)
  6999.     DS:SI -> data to be written
  7000.     ES:DI -> "addr" structure (see #2090)
  7001. Return: CF clear if successful
  7002.         AX = number of bytes actually written
  7003.         DX = ???
  7004.     CF set on error
  7005.         AX = error code (see #1962 at INT 61"PC/TCP")
  7006. Note:    this function differs from AH=1Ah in that the address and socket
  7007.       numbers can be overridden
  7008. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=1Ah,INT 61/AH=1Dh
  7009. SeeAlso: INT 63/AH=21h"BW-TCP"
  7010. --------N-611D-------------------------------
  7011. INT 61 - PC/TCP kernel v2.05+ - "net_readfrom" - READ A DATAGRAM
  7012.     AH = 1Dh
  7013.     BX = network descriptor
  7014.     CX = maximum number of bytes to read
  7015.     DX = receive options (see #2091)
  7016.     DS:SI -> buffer for received data
  7017.     ES:DI -> 9-byte buffer containing "addr" structure (see #2090)
  7018. Return: CF clear if successful
  7019.         AX = number of bytes read
  7020.         DX = ???
  7021.     CF set on error
  7022.         AX = error code (see #1962 at INT 61"PC/TCP")
  7023. Notes:    this function can read from any host or a designated host depending
  7024.       on settings in the "addr" structure
  7025.     only for use with datagram or Raw descriptors
  7026. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=1Bh,INT 61/AH=1Ch
  7027. --------N-611E-------------------------------
  7028. INT 61 - PC/TCP kernel v2.05+ - "net_flush" - FLUSH PENDING DATA
  7029.     AH = 1Eh
  7030.     BX = network descriptor
  7031. Return: CF clear if successful
  7032.     CF set on error
  7033.         AX = error code (see #1962 at INT 61"PC/TCP")
  7034. Range:    INT 20 to INT E0, selected by configuration
  7035. Notes:    bufferred data is transmitted immediately, overriding Nagle's algorithm
  7036.       if necessary
  7037.     this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  7038. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP"
  7039. --------N-611F-------------------------------
  7040. INT 61 - PC/TCP kernel v2.05+ - "net_asynch" - SET UP ASYNCHRONOUS CALL-BACK
  7041.     AH = 1Fh
  7042.     BX = network descriptor
  7043.     CX = event type (see #2093)
  7044.     DS:SI -> event handler routine (see #2094)
  7045.     ES:DI = 32-bit hint passed to handler
  7046. Return: CF clear if successful
  7047.         DS:DX -> previous handler
  7048.     CF set on error
  7049.         AX = error code (see #1962 at INT 61"PC/TCP")
  7050. Note:    ICMP messages do not trigger events on stream connections
  7051. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP"
  7052.  
  7053. (Table 2093)
  7054. Values for PC/TCP event type:
  7055.  00h    alarm
  7056.  01h    open (successfully opened stream connection)
  7057.  02h    receive (data available)
  7058.  03h    transmit (ACK received on stream connection)
  7059.  04h    transmit flush???
  7060.  05h    foreign close (remote host closed data connection)
  7061.  06h    close (local host closed connection and protocol is complete)
  7062.  07h    error (error code passed to handler as arg)
  7063.  
  7064. (Table 2094)
  7065. Values PC/TCP user event handler is called with:
  7066.     BX = network descriptor
  7067.     CX = event type (see #2093)
  7068.     DS:DX -> arg
  7069.     ES:DI = 32-bit hint value
  7070.     STACK:    small stack, possibly the DOS stack
  7071. --------N-6120-------------------------------
  7072. INT 61 - PC/TCP kernel v2.05+ - "set_option" - SET AN OPTION ON A DESCRIPTOR
  7073.     AH = 20h
  7074.     BX = network descriptor
  7075.     CX = length of buffer (usually 04h)
  7076.     DS:DX -> buffer containing option
  7077.     SI = (ignored by v2.2-)
  7078.     DI = option to set (see #2095)
  7079. Return: CF clear if successful
  7080.     CF set on error
  7081.         AX = error code (see #1962 at INT 61"PC/TCP")
  7082. Note:    Beame&Whiteside's BWPCTCP shim only supports options 01h and 0Bh; all
  7083.       others return CF clear
  7084. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=21h
  7085.  
  7086. (Table 2095)
  7087. Values for PC/TCP option to get or set:
  7088.  01h    set non-blocking mode if non-zero
  7089.  02h    timeout of call in milliseconds
  7090.  03h    user-defined 4-byte magic cookie (not used by kernel)
  7091.  04h    TCP window or UDP buffer count (WORD, unsigned)
  7092.  06h    do TCP keep-alives if non-zero
  7093.  09h    (v2.1+) set IP precedence
  7094.  0Ah    (v2.1+) set IP type of service
  7095.  0Bh    use a privileged port if port = 0
  7096.  0Ch    turn off TCP PUSH bit and don't flush buffer every write (see AH=1Ah)
  7097. Note:    use "C" true or false values for boolean options
  7098. --------N-6121-------------------------------
  7099. INT 61 - PC/TCP kernel v2.05+ - "get_option" - GET OPTIONS APPLIED TO NET DESCR
  7100.     AH = 21h
  7101.     BX = network descriptor
  7102.     CX = length of buffer
  7103.     DS:DX -> buffer for return values
  7104.     SI = 0004h (ignored by v2.2-)
  7105.     DI = option (see #2095)
  7106. Return: CF clear if successful
  7107.         DS:DX -> value (usually 32 bits) returned by selected option
  7108.     CF set on error
  7109.         AX = error code (see #1962 at INT 61"PC/TCP")
  7110. Note:    this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  7111. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=20h
  7112. --------N-6122-------------------------------
  7113. INT 61 u - PC/TCP kernel v2.05+ - "net_getdesc" - ALLOCATE NETWORK DESCRIPTOR
  7114.     AH = 22h
  7115. Return: CF clear if successful
  7116.         AX = network descriptor
  7117.     CF set on error
  7118.         AX = error code (see #1962 at INT 61"PC/TCP")
  7119. Note:    the descriptor will be an integer in the range 00h-1Fh, and a DOS call
  7120.       is made to allocate this as a file descriptor.  Hence a number may
  7121.       not refer to a PC/TCP network descriptor and a DOS file handle
  7122.       simultaneously.
  7123. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=13h,INT 61/AH=29h
  7124. --------N-6123-------------------------------
  7125. INT 61 - PC/TCP kernel v2.05+ - "net_listen" - LISTEN FOR INCOMING CONNECTIONS
  7126.     AH = 23h
  7127.     BX = network descriptor or FFFFh to allocate descriptor
  7128.     DX = type of service
  7129.     DS:SI -> "addr" structure (see #2090)
  7130. Return: CF clear if successful
  7131.         AX = network descriptor
  7132.     CF set on error
  7133.         AX = error code (see #1962 at INT 61"PC/TCP")
  7134. Notes:    type of service and "addr" structure are as for AH=13h
  7135.     any of the address structure can be zero; normally local socket number
  7136.       is filled in prior to call
  7137. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=13h
  7138. SeeAlso: INT 63/AH=12h"BW-TCP"
  7139. --------N-6124-------------------------------
  7140. INT 61 - PC/TCP kernel v2.05+ - "net_abortall" - RESET ALL NETWORK CONNECTIONS
  7141.     AH = 24h
  7142. Return: always successful
  7143. Note:    performs "net_abort" (AH=19h) on all open non-global descriptors
  7144. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=19h
  7145. --------N-6125-------------------------------
  7146. INT 61 - PC/TCP kernel v2.05+ - "ad_res_name" - GET HOST NAME GIVEN ADDRESS
  7147.     AH = 25h
  7148.     DX,BX = IP address in network order
  7149.     CX = length of buffer for name
  7150.     DS:SI -> buffer for host name
  7151. Return: CF clear if successful
  7152.        buffer filled with ASCIZ host name
  7153.     CF set on error
  7154.         AX = error code (see #1962 at INT 61"PC/TCP")
  7155. Note:    this function will use the host table and or DNS to resolve the
  7156.       address, depending on kernel configuration.  Use this call for the
  7157.       normal gethostbyaddr function.
  7158. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=26h,INT 61/AH=27h
  7159. --------N-6126-------------------------------
  7160. INT 61 - PC/TCP kernel v2.05+ - "ad_htable" - GET HOST NAME FROM LOCAL TABLE
  7161.     AH = 26h
  7162.     DX,BX = IP address in network order
  7163.     CX = length of buffer
  7164.     DS:SI -> buffer for host name
  7165. Return: CF clear if successful
  7166.         buffer filled with ASCIZ host name
  7167.     CF set on error
  7168.         AX = error code (see #1962 at INT 61"PC/TCP")
  7169. Notes:    normally one would use AH=25h instead of this function
  7170.     this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  7171. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=25h,INT 61/AH=27h
  7172. --------N-6127-------------------------------
  7173. INT 61 - PC/TCP kernel v2.05+ - "ad_domain" - GET HOST NAME FROM DNS
  7174.     AH = 27h
  7175.     DX,BX = IP address in network order
  7176.     CX = length of buffer
  7177.     DS:SI -> buffer for host name
  7178. Return: CF clear if successful
  7179.         buffer filled with ASCIZ host name
  7180.     CF set on error
  7181.         AX = error code (see #1962 at INT 61"PC/TCP")
  7182. Note:    normally one would use AH=25h instead of this function
  7183. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=25h,INT 61/AH=26h
  7184. --------N-6128-------------------------------
  7185. INT 61 - PC/TCP kernel v2.05+ - "net_swap" - EXCHANGE TWO NETWORK DESCRIPTORS
  7186.     AH = 28h
  7187.     BX = network descriptor 1
  7188.     CX = network descriptor 2
  7189. Return: CF clear if successful
  7190.     CF set on error
  7191.         AX = error code (see #1962 at INT 61"PC/TCP")
  7192. Note:    the two descriptors will exchange places; both must be local or both
  7193.       global
  7194. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP"
  7195. --------N-6129-------------------------------
  7196. INT 61 - PC/TCP kernel v2.05+ - "net_getglobdesc" - ALLOCATE GLOBAL DESCRIPTOR
  7197.     AH = 29h
  7198. Return: CF clear if successful
  7199.         AX = network descriptor
  7200.     CF set on error
  7201.         AX = error code (see #1962 at INT 61"PC/TCP")
  7202. Note:    use this function rather than AH=22h to avoid a DOS call by the PC/TCP
  7203.       kernel; the returned descriptor will be >= 40h and cannot be used
  7204.       with "net_select" (AH=0Eh)
  7205. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=07h"PC/TCP"
  7206. SeeAlso: INT 61/AH=22h
  7207. --------N-612A-------------------------------
  7208. INT 61 - PC/TCP kernel v2.05+ - GET CONFIGURATION INFORMATION
  7209.     AH = 2Ah
  7210.     DS:SI -> 26-byte buffer for configuration information (see #2096)
  7211. Return: CF clear
  7212.     AX = 0000h
  7213.     buffer filled
  7214. Notes:    size of buffer may vary with kernel version; 26 bytes is the size for
  7215.       versions 2.05 through 2.2
  7216.     this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  7217. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP"
  7218.  
  7219. Format of PC/TCP configuration information:
  7220. Offset    Size    Description    (Table 2096)
  7221.  00h    BYTE    maximum TCP connections available
  7222.  01h    BYTE    maximum UDP connections available
  7223.  02h    BYTE    maximum IP connections available
  7224.  03h    BYTE    maximum Raw Net connections available
  7225.  04h    BYTE    number of TCP connections currently in use
  7226.  05h    BYTE    number of UDP connections currently in use
  7227.  06h    BYTE    number of IP connections currently in use
  7228.  07h    BYTE    number of Raw Net connections currently in use
  7229.  08h    WORD    number of local network descriptors active
  7230.  0Ah    WORD    number of global network descriptors active
  7231.  0Ch    BYTE    maximum header size on network
  7232.  0Dh    BYTE    maximum trailer size on network
  7233.  0Eh    WORD    size of large packet buffer
  7234.  10h    WORD    number of network interfaces attached
  7235.  12h    DWORD    milliseconds since kernel started
  7236.  16h    DWORD    IP broadcast address
  7237. --------N-612B-------------------------------
  7238. INT 61 - PC/TCP kernel v2.02+ - "net_alarm" - SET TIMED ASYNCHRONOUS EVENT
  7239.     AH = 2Bh
  7240.     BX = network descriptor
  7241.     CX,DX = time before alarm in milliseconds
  7242.     DS:SI -> handler which will receive call (see #2094 at INT 61/AH=1Fh)
  7243.     ES:DI = 32-bit cookie passed to handler
  7244. Return: CF clear if successful
  7245.     CF set on error
  7246.         AX = error code (see #1962 at INT 61"PC/TCP")
  7247. Notes:    this function will cause a NET_AS_ALARM to be generated; it is intended
  7248.       for TSRs, etc. to regain control periodically
  7249.     this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  7250. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP"
  7251. --------N-6130-------------------------------
  7252. INT 61 - PC/TCP kernel v2.05+ - "icmp_ping" - SEND ICMP ECHO REQUEST (PING)
  7253.     AH = 30h
  7254.     BX,DX = IP address of host
  7255.     CX = length of data to send
  7256. Return: CF clear if successful (i.e. reply received)
  7257.     CF set on error
  7258.         AX = error code (see #1962 at INT 61"PC/TCP")
  7259. Note:    this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  7260. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP"
  7261. --------N-61---------------------------------
  7262. INT 61 u - PC/TCP kernel v2.05 - NOP for SLIP kernel
  7263.     AH = function
  7264.         31h "net_add_route"
  7265.         32h "net_del_route"
  7266.         33h "net_dump_routes"
  7267. Notes:    these functions are described as "unused" in the v2.2 documentation
  7268.     router configuration can be altered using INT 61/AH=01h
  7269.     this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  7270. --------N-6132-------------------------------
  7271. INT 61 U - PC/TCP kernel v2.3 - GET ???
  7272.     AH = 32h
  7273. Return: AX = ???
  7274. Note:    this function is fully re-entrant, and may be called even when another
  7275.       PC/TCP kernel call is already in progress
  7276. --------N-6134-------------------------------
  7277. INT 61 U - PC/TCP kernel v2.1+ - "icmp_destun" - ???
  7278.     AH = 34h
  7279.     ???
  7280. Return: ???
  7281. Notes:    this function is described as "reserved" in the v2.2 documentation
  7282.     this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  7283. --------N-6150-------------------------------
  7284. INT 61 - PC/TCP kernel v2.05+ - "nm_prs_addr" - TRANSLATE NUMERICAL IP ADDRESS
  7285.     AH = 50h
  7286.     DS:DX -> ASCIZ IP address as "dotted quad" (max 127 chars)
  7287. Return: CF clear if successful
  7288.         DX:AX -> IP address
  7289.     CF set on error
  7290.         AX = error code (see #1962 at INT 61"PC/TCP")
  7291. Range:    INT 20 to INT E0, selected by configuration
  7292. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=54h
  7293. --------N-6151-------------------------------
  7294. INT 61 - PC/TCP kernel v2.05+ - "nm_htable" - RESOLVE NAME USING HOST TABLE
  7295.     AH = 51h
  7296.     CX = size of destination buffer
  7297.     DS:DX -> ASCIZ host name (max 127 chars)
  7298.     ES:DI -> destination buffer or 0000h:0000h
  7299. Return: CF clear if successful
  7300.         DX:AX -> IP address of host
  7301.         destination buffer filled with canonical host name
  7302.     CF set on error
  7303.         AX = error code (see #1962 at INT 61"PC/TCP")
  7304. Note:    this function calls DOS, and can fail if the DOS call fails
  7305. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=54h
  7306. --------N-6152-------------------------------
  7307. INT 61 - PC/TCP kernel v2.05+ - "nm_domain" - RESOLVE NAME USING DNS
  7308.     AH = 52h
  7309.     CX = size of destination buffer
  7310.     DS:DX -> ASCIZ host name (max 127 chars)
  7311.     ES:DI -> destination buffer or 0000h:0000h
  7312. Return: CF clear if successful
  7313.         DX:AX -> IP address of host
  7314.         destination buffer filled with canonical host name
  7315.     CF set on error
  7316.         AX = error code (see #1962 at INT 61"PC/TCP")
  7317. Note:    this function will poll all configured domain name servers if necessary
  7318. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=54h
  7319. --------N-6153-------------------------------
  7320. INT 61 - PC/TCP kernel v2.05- - "nm_ien116" - RESOLVE HOST NAME USING IEN116
  7321.     AH = 53h
  7322.     DS:DX -> ASCIZ name to be resolved (max 127 chars)
  7323. Return: CF clear if successful
  7324.         DX:AX -> IP address of host
  7325.     CF set on error
  7326.         AX = error code (see #1962 at INT 61"PC/TCP")
  7327. Range:    INT 20 to INT E0, selected by configuration
  7328. Note:    this function is not supported by v2.10+
  7329. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=54h
  7330. --------N-6154-------------------------------
  7331. INT 61 - PC/TCP kernel v2.05+ - "nm_res_name" - RESOLVE HOST NAME
  7332.     AH = 54h
  7333.     CX = size of destination buffer
  7334.     DS:DX -> ASCIZ host name (max 127 chars)
  7335.     ES:DI -> destination buffer or 0000h:0000h
  7336. Return: CF clear if successful
  7337.         DX:AX -> IP address of host
  7338.         destination buffer filled with canonical host name
  7339.     CF set on error
  7340.         AX = error code (see #1962 at INT 61"PC/TCP")
  7341. Note:    this function uses all configured methods in turn to resolve the
  7342.       name (numerical, then host table, then DNS, then IEN116)
  7343. BUG:    the SLIP kernel for v2.05 bounds-checks the wrong register, so values
  7344.       greater than 54h in AH may crash the system.    Other kernels may have
  7345.       this bug as well; it has been fixed in the v2.2 SLIPDRV kernel.
  7346. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=50h,INT 61/AH=51h
  7347. SeeAlso: INT 61/AH=52h,INT 61/AH=53h
  7348. --------N-6155-------------------------------
  7349. INT 61 U - PC/TCP kernel v2.3 - ???
  7350.     AH = 55h
  7351.     ???
  7352. Return: ???
  7353. SeeAlso: INT 61"PC/TCP"
  7354. --------N-6156-------------------------------
  7355. INT 61 U - PC/TCP kernel v2.3 - ???
  7356.     AH = 56h
  7357.     ???
  7358. Return: ???
  7359. SeeAlso: INT 61"PC/TCP"
  7360. --------N-6157-------------------------------
  7361. INT 61 U - PC/TCP kernel v2.3 - ???
  7362.     AH = 57h
  7363.     ???
  7364. Return: ???
  7365. SeeAlso: INT 61"PC/TCP"
  7366. --------N-6158-------------------------------
  7367. INT 61 U - PC/TCP kernel v2.3 - ???
  7368.     AH = 58h
  7369.     ???
  7370. Return: ???
  7371. SeeAlso: INT 61"PC/TCP"
  7372. --------N-6159-------------------------------
  7373. INT 61 U - PC/TCP kernel v2.3 - ???
  7374.     AH = 59h
  7375.     ???
  7376. Return: ???
  7377. SeeAlso: INT 61"PC/TCP"
  7378. --------N-615A-------------------------------
  7379. INT 61 U - PC/TCP kernel v2.3 - ???
  7380.     AH = 5Ah
  7381.     ???
  7382. Return: ???
  7383. SeeAlso: INT 61"PC/TCP"
  7384. --------N-615B-------------------------------
  7385. INT 61 U - PC/TCP kernel v2.3 - ???
  7386.     AH = 5Bh
  7387.     ???
  7388. Return: ???
  7389. SeeAlso: INT 61"PC/TCP"
  7390. --------N-615C-------------------------------
  7391. INT 61 U - PC/TCP kernel v2.3 - ???
  7392.     AH = 5Ch
  7393.     ???
  7394. Return: ???
  7395. SeeAlso: INT 61"PC/TCP"
  7396. --------N-615D-------------------------------
  7397. INT 61 U - PC/TCP kernel v2.3 - ???
  7398.     AH = 5Dh
  7399.     ???
  7400. Return: ???
  7401. SeeAlso: INT 61"PC/TCP"
  7402. --------N-615E-------------------------------
  7403. INT 61 U - PC/TCP kernel v2.3 - ???
  7404.     AH = 5Eh
  7405.     ???
  7406. Return: ???
  7407. SeeAlso: INT 61"PC/TCP"
  7408. --------N-615F-------------------------------
  7409. INT 61 U - PC/TCP kernel v2.3 - ???
  7410.     AH = 5Fh
  7411.     ???
  7412. Return: ???
  7413. SeeAlso: INT 61"PC/TCP"
  7414. --------!---Section--------------------------
  7415.