1 11/18/87 bft_
  2 
  3 These entrypoints allow the MOWSE application programmer to access the
  4 functions of BFT (Background File Transfer) from within MOWSE
  5 applications.  Equivalent functionality has been provided on both the
  6 PC and the Multics sides.  Help is available for both sets of routines
  7 through the Multics online help facility (by entering the name of the
  8 subroutine following the help command).
  9 
 10 More information is available in the MOWSE Application Programmer's
 11 Manual, and the MOWSE User's Manual.
 12 
 13 
 14 Entry points in bft_:
 15    (List is generated by the help command)
 16 
 17 
 18 :Entry:  load:  11/18/87  bft_$load
 19 
 20 
 21 Function: Makes the BFT code resident on the PC, loads BFT into the
 22 CAT (Capability Address Table) on both Multics and the PC, and
 23 initializes all necessary variables.
 24 
 25 
 26 Syntax:
 27 dcl   bft_$load entry (fixed bin (35));
 28 call  bft_$load (code);
 29 
 30 
 31 Arguments:
 32 code
 33    A standard Multics error code signalling the state of the attempted
 34    operation.  (Output)
 35 
 36 
 37 :Entry:  fetch:  11/18/87 bft_$fetch
 38 
 39 
 40 Function: Transfers a file from the remote machine to Multics.  If a
 41 file already exists with the destination name, it will be overwritten
 42 if possible.
 43 
 44 
 45 Syntax:
 46 dcl   bft_$fetch entry (char (*), char (*), bit (36) aligned,
 47          fixed bin, fixed bin (35));
 48 call  bft_$fetch (source_filename, destination_filename, flags,
 49          priority, code);
 50 
 51 
 52 Arguments:
 53 source_filename
 54    The PC pathname of the file which is to be transferred from the PC
 55    to Multics.  (Input)
 56 destination_filename
 57    The pathname where the file sent from the remote machine is to be
 58    stored.  (Input)
 59 flags
 60    A collection of bits signifying transfer characteristics.  (Input)
 61    The bits are broken down into the bft_queue_flags structure defined
 62    in bft.incl.pl1, see "Notes of flags".
 63 
 64 
 65 priority
 66    The priority of the queue into which the fetch request is to be
 67    placed.  These range in value from 1..4, with 1 being of highest
 68    priority.  (Default 3)
 69 code
 70    A standard Multics error code signalling the state of the attempted
 71    operation.  (Output)
 72 
 73 
 74 Notes on flags: The flags data structure is declared in bft.incl.pl1.
 75 
 76 dcl 01 bft_queue_flags  based,
 77        02 mbz           bit (4) unal,
 78        02 pad           bit (30) unal,
 79        02 binary_sw     bit (1) unal,
 80        02 notify_sw     bit (1) unal;
 81 
 82 
 83 mbz
 84    Must be zero.  This is a 4 bit pad to make up for the difference
 85    between a Multics 36 bit word and a PC 32 bit long.
 86 pad
 87    For future expansion.  For future compatability, set to zero.
 88 binary_sw
 89    Indicates that the transfer request is to be transferred in binary
 90    mode.  This entails no <CR><LF> - <LF> conversion.
 91 notify_sw
 92    Indicates that notification of completion of transfer is requested
 93    for the user.
 94 
 95 
 96 Examples:
 97 call  bft_$fetch ("c:\user\pete\wonk", "wonk", flags, 2, code);
 98 call  bft_$fetch ("b:blat", ">udd>m>Joe>blat", flags, 4, code);
 99 
100 
101 :Entry:  store:  11/18/87  bft_$store
102 
103 
104 Function: Stores a Multics file on the remote machine.  If a file
105 already exists with the destination name on the remote machine, it
106 will be overwritten if possible.
107 
108 
109 Syntax:
110 dcl   bft_$store entry (char (*), char (*), bit (36) aligned,
111          fixed bin, fixed bin (35));
112 call  bft_$store (source_filename, destination_filename, flags,
113          priority, code);
114 
115 
116 Arguments:
117 source_filename
118    The Multics pathname of the file which is to be transferred from
119    Multics to the PC.  (Input)
120 destination_filename
121    The PC pathname to which the transferred file is to be stored.
122    (Input)
123 flags
124    A collection of bits signifying transfer characteristics.  (Input)
125    The bits are broken down into the bft_queue_flags structure defined
126    in bft.incl.pl1, see "Notes on flags".
127 
128 
129 priority
130    The priority of the queue into which the fetch request is to be
131    placed.  These range in value from 1..4, with 1 being of highest
132    priority.  (Default 3)
133 code
134    A standard Multics error code signalling the state of the attempted
135    operation.  (Output)
136 
137 
138 Notes on flags: The flags data structure is declared in bft.incl.pl1.
139 
140 dcl 01 bft_queue_flags  based,
141        02 mbz           bit (4) unal,
142        02 pad           bit (30) unal,
143        02 binary_sw     bit (1) unal,
144        02 notify_sw     bit (1) unal;
145 
146 
147 mbz
148    Must be zero.  This is a 4 bit pad to make up for the difference
149    between a Multics 36 bit word and a PC 32 bit long.
150 pad
151    For future expansion.  For future compatability, set to zero.
152 binary_sw
153    Indicates that the transfer request is to be transferred in binary
154    mode.  This entails no <CR><LF> - <LF> conversion.
155 notify_sw
156    Indicates that notification of completion of transfer is requested
157    for the user.
158 
159 
160 Examples:
161 call  bft_$store ("c:\user\pete\wonk", "wonk", flags, 2, code);
162 call  bft_$store ("b:blat", ">udd>m>Joe>blat", flags, 4, code);
163 
164 
165 :Entry:  cancel:  11/18/87  bft_$cancel
166 
167 
168 Function: Remove the specified entry from the containing queue,
169 causing the transfer request not to be found and ultimately
170 terminating the request.
171 
172 
173 Syntax:
174 dcl  bft_$cancel (fixed bin, char (*), fixed bin (35));
175 call bft_$cancel (id_type, entry_id, code);
176 
177 
178 Arguments:
179 id_type
180    is the type of the request identifier that has been given.  It must
181    take on one of the values BFT_PATH_ID, BFT_ENTRY_ID, or BFT_TIME_ID
182    defined in the include file bft.incl.pl1. (Input)
183 entry_id
184    is the request identifier of the entry to be removed.  It may be
185    one of relative pathname, entry name, or request ID.  (Input)
186 code
187    A standard Multics error code signalling the state of the attempted
188    operation.  (Output)
189 
190 
191 Examples:
192 call bft_$cancel (BFT_ENTRY_ID, "foo", code);
193 call bft_$cancel (BFT_PATH_ID,  ">udd>m>bob>foo", code);
194 call bft_$cancel (BFT_PATH_ID,  "C:\TMP\BAR", code);
195 call bft_$cancel (BFT_TIME_ID,  "173611.1", code);
196 
197 
198 :Entry:  recover_fetch:  11/18/87  bft_$recover_fetch
199 
200 
201 Function: Continues receiving a file from the remote system after the
202 interruption of a previous fetch command.  The length of the
203 destination file is checked on the local machine and the remainder of
204 the file is transferred.
205 
206 
207 Syntax:
208 dcl bft_$recover_fetch entry (fixed bin (35));
209 call bft_$recover_fetch (code);
210 
211 
212 Arguments:
213 code
214    A standard Multics error code signalling the state of the attempted
215    operation.  (Output)
216 
217 
218 :Entry:  recover_store:  11/18/87  bft_$recover_store
219 
220 
221 Function: Continues sending a file to the remote system after the
222 interruption of a previous store command.  The length of the
223 destination file is checked on the remote and the remainder of the
224 file is sent.
225 
226 
227 Syntax:
228 dcl  bft_$recover_store entry (fixed bin(35));
229 call bft_$recover_store (code);
230 
231 
232 Arguments:
233 code
234    A standard Multics error code signalling the state of the attempted
235    operation.  (Output)
236 
237 
238 :Entry:  unload:  11/18/87  bft_$unload
239 
240 
241 Function: Removes BFT from the memory of the PC, and performs the
242 cleanup to both CAT's.
243 
244 
245 Syntax:
246 dcl  bft_$unload  entry (fixed bin (35));
247 call bft_$unload (code);
248 
249 
250 Arguments:
251 code
252    A standard Multics error code signalling the state of the attempted
253    operation.  (Output)