11/18/87 bft_ These entrypoints allow the MOWSE application programmer to access the functions of BFT (Background File Transfer) from within MOWSE applications. Equivalent functionality has been provided on both the PC and the Multics sides. Help is available for both sets of routines through the Multics online help facility (by entering the name of the subroutine following the help command). More information is available in the MOWSE Application Programmer's Manual, and the MOWSE User's Manual. Entry points in bft_: (List is generated by the help command) :Entry: load: 11/18/87 bft_$load Function: Makes the BFT code resident on the PC, loads BFT into the CAT (Capability Address Table) on both Multics and the PC, and initializes all necessary variables. Syntax: dcl bft_$load entry (fixed bin (35)); call bft_$load (code); Arguments: code A standard Multics error code signalling the state of the attempted operation. (Output) :Entry: fetch: 11/18/87 bft_$fetch Function: Transfers a file from the remote machine to Multics. If a file already exists with the destination name, it will be overwritten if possible. Syntax: dcl bft_$fetch entry (char (*), char (*), bit (36) aligned, fixed bin, fixed bin (35)); call bft_$fetch (source_filename, destination_filename, flags, priority, code); Arguments: source_filename The PC pathname of the file which is to be transferred from the PC to Multics. (Input) destination_filename The pathname where the file sent from the remote machine is to be stored. (Input) flags A collection of bits signifying transfer characteristics. (Input) The bits are broken down into the bft_queue_flags structure defined in bft.incl.pl1, see "Notes of flags". priority The priority of the queue into which the fetch request is to be placed. These range in value from 1..4, with 1 being of highest priority. (Default 3) code A standard Multics error code signalling the state of the attempted operation. (Output) Notes on flags: The flags data structure is declared in bft.incl.pl1. dcl 01 bft_queue_flags based, 02 mbz bit (4) unal, 02 pad bit (30) unal, 02 binary_sw bit (1) unal, 02 notify_sw bit (1) unal; mbz Must be zero. This is a 4 bit pad to make up for the difference between a Multics 36 bit word and a PC 32 bit long. pad For future expansion. For future compatability, set to zero. binary_sw Indicates that the transfer request is to be transferred in binary mode. This entails no - conversion. notify_sw Indicates that notification of completion of transfer is requested for the user. Examples: call bft_$fetch ("c:\user\pete\wonk", "wonk", flags, 2, code); call bft_$fetch ("b:blat", ">udd>m>Joe>blat", flags, 4, code); :Entry: store: 11/18/87 bft_$store Function: Stores a Multics file on the remote machine. If a file already exists with the destination name on the remote machine, it will be overwritten if possible. Syntax: dcl bft_$store entry (char (*), char (*), bit (36) aligned, fixed bin, fixed bin (35)); call bft_$store (source_filename, destination_filename, flags, priority, code); Arguments: source_filename The Multics pathname of the file which is to be transferred from Multics to the PC. (Input) destination_filename The PC pathname to which the transferred file is to be stored. (Input) flags A collection of bits signifying transfer characteristics. (Input) The bits are broken down into the bft_queue_flags structure defined in bft.incl.pl1, see "Notes on flags". priority The priority of the queue into which the fetch request is to be placed. These range in value from 1..4, with 1 being of highest priority. (Default 3) code A standard Multics error code signalling the state of the attempted operation. (Output) Notes on flags: The flags data structure is declared in bft.incl.pl1. dcl 01 bft_queue_flags based, 02 mbz bit (4) unal, 02 pad bit (30) unal, 02 binary_sw bit (1) unal, 02 notify_sw bit (1) unal; mbz Must be zero. This is a 4 bit pad to make up for the difference between a Multics 36 bit word and a PC 32 bit long. pad For future expansion. For future compatability, set to zero. binary_sw Indicates that the transfer request is to be transferred in binary mode. This entails no - conversion. notify_sw Indicates that notification of completion of transfer is requested for the user. Examples: call bft_$store ("c:\user\pete\wonk", "wonk", flags, 2, code); call bft_$store ("b:blat", ">udd>m>Joe>blat", flags, 4, code); :Entry: cancel: 11/18/87 bft_$cancel Function: Remove the specified entry from the containing queue, causing the transfer request not to be found and ultimately terminating the request. Syntax: dcl bft_$cancel (fixed bin, char (*), fixed bin (35)); call bft_$cancel (id_type, entry_id, code); Arguments: id_type is the type of the request identifier that has been given. It must take on one of the values BFT_PATH_ID, BFT_ENTRY_ID, or BFT_TIME_ID defined in the include file bft.incl.pl1. (Input) entry_id is the request identifier of the entry to be removed. It may be one of relative pathname, entry name, or request ID. (Input) code A standard Multics error code signalling the state of the attempted operation. (Output) Examples: call bft_$cancel (BFT_ENTRY_ID, "foo", code); call bft_$cancel (BFT_PATH_ID, ">udd>m>bob>foo", code); call bft_$cancel (BFT_PATH_ID, "C:\TMP\BAR", code); call bft_$cancel (BFT_TIME_ID, "173611.1", code); :Entry: recover_fetch: 11/18/87 bft_$recover_fetch Function: Continues receiving a file from the remote system after the interruption of a previous fetch command. The length of the destination file is checked on the local machine and the remainder of the file is transferred. Syntax: dcl bft_$recover_fetch entry (fixed bin (35)); call bft_$recover_fetch (code); Arguments: code A standard Multics error code signalling the state of the attempted operation. (Output) :Entry: recover_store: 11/18/87 bft_$recover_store Function: Continues sending a file to the remote system after the interruption of a previous store command. The length of the destination file is checked on the remote and the remainder of the file is sent. Syntax: dcl bft_$recover_store entry (fixed bin(35)); call bft_$recover_store (code); Arguments: code A standard Multics error code signalling the state of the attempted operation. (Output) :Entry: unload: 11/18/87 bft_$unload Function: Removes BFT from the memory of the PC, and performs the cleanup to both CAT's. Syntax: dcl bft_$unload entry (fixed bin (35)); call bft_$unload (code); Arguments: code A standard Multics error code signalling the state of the attempted operation. (Output) ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved