1 02/26/85  ibm_pc_io_
 2 
 3 
 4 The ibm_pc_io_ I/O module is used to transfer ASCII files between a
 5 Multics process and a microcomputer that runs the IBM PC-to-Host data
 6 transfer protocol.  It performs 7-bit stream I/O over an asynchronous
 7 communications channel using the data transfer protocol for the IBM
 8 Personal Computer as defined by IBM in their Asynchronous Communication
 9 Support Manual, Order No.  6024032.
10 
11 
12 Entry points in this module are not called directly by users; rather
13 the module is accessed through the I/O system, usinng the
14 micro_transfer command.
15 
16 
17 Attach Description:
18      ibm_pc_io_ switch
19 
20 
21 Arguments:
22 switch
23    is the name of the target I/O switch.  The switch must be open for
24    stream_input_output.  The I/O module for the target switch must be
25    supported by the timed_io_ module.  The user is responsible for
26    setting any modes required by the protocol.  For example, modes for
27    the user_i/o switch would be:
28    "^8bit,breakall,^echoplex,rawi,^crecho,^lfecho,^tabecho,rawo"
29 
30 
31 Open Operation:
32 The ibm_pc_io_ I/O module supports the stream_input and stream_output
33 opening modes.
34 
35 
36 Close Operation:
37 When opened for stream_output, the close entry transmits any remaining
38 data in the internal buffer before closing the switch.  See Buffering
39 below.
40 
41 
42 Put Chars Operation:
43 The put_chars entry transmits the data one line at a time in variable
44 length data blocks.  The end-of-line character is a carriage return.
45 Lines exceeding 250 characters are transmitted in multiple blocks.  See
46 Notes below.
47 
48 
49 Get Chars Operation:
50 The get_chars entry reads protocol blocks and returns the message text
51 to the caller's buffer.  For further explanation of the get_chars
52 entry, see the iox_$get_chars entry.
53 
54 
55 Get Line Operation:
56 The get_line entry reads protocol blocks and returns the message text
57 to the caller's buffer.  Characters are returned until either a
58 carriage return character is placed in the buffer or the buffer is
59 filled.
60 
61 
62 Control Operation:
63 This operation is not supported.
64 
65 
66 Modes Operation:
67 This operation is not supported.
68 
69 
70 Buffering:
71 The IBM PC-to-Host protocol uses variable length data packets.  Data
72 not ending with a carriage return character is stored in an internal
73 buffer by the the ibm_pc_io_ I/O module.
74 
75 
76 Notes:  A line is a string of characters terminated by a carriage
77 return character, 015 (octal).  Only 250 characters can be transmitted
78 in each line.  When a line of text contains more than 250 characters,
79 it is divided and one or more carriage returns inserted before
80 transmission.  For example, a call to ibm_pc_io_ to transmit a 260
81 character line would result in two lines being transmitted, one
82 containing the first 249 characters plus a carriage return and the
83 second containing the last 11 characters.
84 
85 
86 The IBM PC-to-Host data transfer protocol does not check for errors
87 during transmission.
88 
89 
90 No particular line speed is guaranteed when transferring data between
91 Multics and a microcomputer.  Line speed is dependent on the
92 microcomputer and the load of the FNP and communication system for
93 Multics.  Due to the nature of the IBM PC-to-Host protocol, files may
94 not be successfully transferred to Multics over high-speed lines.  The
95 actual limit depends on the site configuration and current load.