DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ T V ┃
Length: 19030 (0x4a56) Types: TextFile Names: »V«
└─⟦d10a02448⟧ Bits:30000409 8mm tape, Rational 1000, ENVIRONMENT, D_12_7_3 └─ ⟦fc9b38f02⟧ »DATA« └─⟦9b46a407a⟧ └─⟦12c68c704⟧ └─⟦this⟧ └─⟦5f3412b64⟧ Bits:30000745 8mm tape, Rational 1000, ENVIRONMENT 12_6_5 TOOLS └─ ⟦91c658230⟧ »DATA« └─⟦458657fb6⟧ └─⟦220843204⟧ └─⟦this⟧
with Profile; with Ftp_Defs; with Ftp_Profile; with Ftp_Name_Map; with File_Transfer; package Ftp is pragma Subsystem (Ftp_Interface, Private_Part => Closed); pragma Module_Name (4, 3538); function Profile_Get return Profile.Response_Profile renames Profile.Get; -- This declaration is introduced to avoid a name collision. ----|| non-interactive transfers ||---- -- Move a file to some other machine: procedure Put (From_Local_File : String := "<IMAGE>"; To_Remote_File : String := ""; Remote_Machine : String := Ftp_Profile.Remote_Machine; Username : String := Ftp_Profile.Username; Password : String := Ftp_Profile.Password; Account : String := Ftp_Profile.Account; Remote_Directory : String := Ftp_Profile.Remote_Directory; Remote_Type : Ftp_Name_Map.Machine_Type := Ftp_Profile.Remote_Type; Append_To_File : Boolean := False; Transfer_Type : Ftp_Defs.Type_Code := Ftp_Profile.Transfer_Type; Transfer_Mode : Ftp_Defs.Mode_Code := Ftp_Profile.Transfer_Mode; Transfer_Structure : Ftp_Defs.Structure_Code := Ftp_Profile.Transfer_Structure; Send_Port : Boolean := Ftp_Profile.Send_Port_Enabled; Response : Profile.Response_Profile := Profile.Get); -- Get a file from some other machine: procedure Get (From_Remote_File : String := ""; To_Local_File : String := ""; Remote_Machine : String := Ftp_Profile.Remote_Machine; Username : String := Ftp_Profile.Username; Password : String := Ftp_Profile.Password; Account : String := Ftp_Profile.Account; Remote_Directory : String := Ftp_Profile.Remote_Directory; Remote_Type : Ftp_Name_Map.Machine_Type := Ftp_Profile.Remote_Type; Append_To_File : Boolean := False; Transfer_Type : Ftp_Defs.Type_Code := Ftp_Profile.Transfer_Type; Transfer_Mode : Ftp_Defs.Mode_Code := Ftp_Profile.Transfer_Mode; Transfer_Structure : Ftp_Defs.Structure_Code := Ftp_Profile.Transfer_Structure; Send_Port : Boolean := Ftp_Profile.Send_Port_Enabled; Response : Profile.Response_Profile := Ftp.Profile_Get); -- The following operations are more interactive, that is, -- they require that you first establish a connection to -- a remote machine, and then interact with it to transfer -- files. Using FTP interactively allows you to do more -- things than you can do non-interactively. ----|| login operations ||---- procedure Connect (To_Machine : String := Ftp_Profile.Remote_Machine; Auto_Login : Boolean := Ftp_Profile.Auto_Login; Username : String := Ftp_Profile.Username; Password : String := Ftp_Profile.Password; Account : String := Ftp_Profile.Account; Remote_Directory : String := Ftp_Profile.Remote_Directory; Remote_Roof : String := Ftp_Profile.Remote_Roof; Remote_Type : Ftp_Name_Map.Machine_Type := Ftp_Profile.Remote_Type; Transfer_Type : Ftp_Defs.Type_Code := Ftp_Profile.Transfer_Type; Transfer_Mode : Ftp_Defs.Mode_Code := Ftp_Profile.Transfer_Mode; Transfer_Structure : Ftp_Defs.Structure_Code := Ftp_Profile.Transfer_Structure; Send_Port : Boolean := Ftp_Profile.Send_Port_Enabled; Response : Profile.Response_Profile := Profile.Get); procedure Login (Username : String := Ftp_Profile.Username; Password : String := Ftp_Profile.Password; Account : String := Ftp_Profile.Account; Remote_Directory : String := Ftp_Profile.Remote_Directory; Remote_Roof : String := Ftp_Profile.Remote_Roof; Remote_Type : Ftp_Name_Map.Machine_Type := Ftp_Profile.Remote_Type; Transfer_Type : Ftp_Defs.Type_Code := Ftp_Profile.Transfer_Type; Transfer_Mode : Ftp_Defs.Mode_Code := Ftp_Profile.Transfer_Mode; Transfer_Structure : Ftp_Defs.Structure_Code := Ftp_Profile.Transfer_Structure; Send_Port : Boolean := Ftp_Profile.Send_Port_Enabled; Response : Profile.Response_Profile := Profile.Get); procedure Disconnect (Response : Profile.Response_Profile := Profile.Get); procedure Abandon (Response : Profile.Response_Profile := Profile.Get); -- Like Disconnect, but a bit stronger: -- Guaranteed to terminate the connection, -- even if the remote server is unresponsive. ----|| transfer parameter selection ||---- -- The following procedures override the FTP_Profile values, -- but ONLY for the duration of the current connection. -- To modify the FTP_Profile values, see FTP_Profile.Set. procedure Use_Type (Value : Ftp_Defs.Type_Code := Ftp_Profile.Transfer_Type; Response : Profile.Response_Profile := Profile.Get; Account : String := Ftp_Profile.Account); procedure Use_Mode (Value : Ftp_Defs.Mode_Code := Ftp_Profile.Transfer_Mode; Response : Profile.Response_Profile := Profile.Get; Account : String := Ftp_Profile.Account); procedure Use_Structure (Value : Ftp_Defs.Structure_Code := Ftp_Profile.Transfer_Structure; Response : Profile.Response_Profile := Profile.Get; Account : String := Ftp_Profile.Account); procedure Use_Account (Account : String := Ftp_Profile.Account; Response : Profile.Response_Profile := Profile.Get); procedure Send_Port (Enabled : Boolean := Ftp_Profile.Send_Port_Enabled; Response : Profile.Response_Profile := Profile.Get); procedure Use_Remote_Type (Value : Ftp_Name_Map.Machine_Type := Ftp_Profile.Remote_Type; Response : Profile.Response_Profile := Profile.Get); procedure Use_Remote_Roof (Value : String := Ftp_Profile.Remote_Roof; Response : Profile.Response_Profile := Profile.Get); function Current_Remote_Type return Ftp_Name_Map.Machine_Type renames Ftp_Profile.Current_Remote_Type; function Current_Remote_Roof return String renames Ftp_Profile.Current_Remote_Roof; function Current_Connection return File_Transfer.Connect_Id; -- Returns the File_Transfer connection associated with the -- caller's current session. File_Transfer operations, such -- as querying the outcome of the last transaction, can be -- performed on the resulting value. ----|| remote directory operations ||---- procedure Change_Working_Directory (Remote_Directory : String := Ftp_Profile.Remote_Directory; Response : Profile.Response_Profile := Profile.Get; Account : String := Ftp_Profile.Account); procedure Cwd (Remote_Directory : String := Ftp_Profile.Remote_Directory; Response : Profile.Response_Profile := Profile.Get; Account : String := Ftp_Profile.Account) renames Change_Working_Directory; procedure List (Remote_Pathname : String := ""; Verbose : Boolean := True; To_Local_File : String := ""; -- default is current output Response : Profile.Response_Profile := Profile.Get; Account : String := Ftp_Profile.Account); procedure Delete (Remote_File : String; Response : Profile.Response_Profile := Profile.Get; Account : String := Ftp_Profile.Account); ----|| status operations ||---- procedure Status (Argument : String := ""; Response : Profile.Response_Profile := Profile.Get); -- Display the status of the current connection. procedure Status_All (Argument : String := ""; Response : Profile.Response_Profile := Profile.Get); -- Display the status of all current connections. procedure Remote_Status (Argument : String := ""; Response : Profile.Response_Profile := Profile.Get; Account : String := Ftp_Profile.Account); procedure Remote_Help (Argument : String := ""; Response : Profile.Response_Profile := Profile.Get; Account : String := Ftp_Profile.Account); procedure Show_Profile (Response : Profile.Response_Profile := Profile.Get) renames Ftp_Profile.Show; -- Display the settings in the current profile. ----|| file transfer operations ||---- procedure Store (From_Local_File : String := "<IMAGE>"; To_Remote_File : String := ""; Append_To_File : Boolean := False; Response : Profile.Response_Profile := Profile.Get; Remote_Type : Ftp_Name_Map.Machine_Type := Ftp.Current_Remote_Type; Account : String := Ftp_Profile.Account); procedure Retrieve (From_Remote_File : String := ""; To_Local_File : String := ""; Append_To_File : Boolean := False; Response : Profile.Response_Profile := Profile.Get; Remote_Type : Ftp_Name_Map.Machine_Type := Ftp.Current_Remote_Type; Account : String := Ftp_Profile.Account); ----|| transferring file sets ||---- -- These operations are like their single-file cousins, -- above, except that they take wildcards, and move a -- bunch of files at a crack. They're designed to support -- moving files between a subtree of the local directory -- system (whose root is designated by "Local_Roof"), to -- and from an isomorphic subtree of the remote directory -- system (whose root is designated by "Remote_Roof". -- File names are transformed between the naming conventions -- of the R1000 and whatever remote operating system is -- involved (designated by Remote_Type). The transformation -- is complex: it is encapsulated in package FTP_Name_Map. -- If you want to flatten a file_set, that is, move files from -- many directories on one machine into a single directory on -- another, specify "" as the source roof (local_roof for Put, -- remote_roof for Get). -- Get_List and Retrieve_List retrieve files using a list -- stored in a file on your local machine. This file must -- contain text, with one fully-qualified file name (in the -- form used by the REMOTE machine) per line. No comments, -- no extra white space. -- Get_Set and Retrieve_Set depend on the remote machine to -- produce a list of files from the File_Set you specify: -- using the same primitive as List (Verbose => False). -- Sometimes this doesn't work, either because the wild -- card semantics on that machine won't stretch, or because -- the remote FTP server doesn't support wild cards. procedure Put_Set (From_Local_File_Set : String := "<IMAGE>"; Local_Roof : String := "$"; Remote_Roof : String := Ftp_Profile.Remote_Roof; Remote_Machine : String := Ftp_Profile.Remote_Machine; Username : String := Ftp_Profile.Username; Password : String := Ftp_Profile.Password; Account : String := Ftp_Profile.Account; Remote_Directory : String := Ftp_Profile.Remote_Directory; Remote_Type : Ftp_Name_Map.Machine_Type := Ftp_Profile.Remote_Type; Append_To_File : Boolean := False; Transfer_Type : Ftp_Defs.Type_Code := Ftp_Profile.Transfer_Type; Transfer_Mode : Ftp_Defs.Mode_Code := Ftp_Profile.Transfer_Mode; Transfer_Structure : Ftp_Defs.Structure_Code := Ftp_Profile.Transfer_Structure; Send_Port : Boolean := Ftp_Profile.Send_Port_Enabled; Response : Profile.Response_Profile := Profile.Get); procedure Get_Set (From_Remote_File_Set : String := ""; Local_Roof : String := "$"; Remote_Roof : String := Ftp_Profile.Remote_Roof; Remote_Machine : String := Ftp_Profile.Remote_Machine; Username : String := Ftp_Profile.Username; Password : String := Ftp_Profile.Password; Account : String := Ftp_Profile.Account; Remote_Directory : String := Ftp_Profile.Remote_Directory; Remote_Type : Ftp_Name_Map.Machine_Type := Ftp_Profile.Remote_Type; Append_To_File : Boolean := False; Transfer_Type : Ftp_Defs.Type_Code := Ftp_Profile.Transfer_Type; Transfer_Mode : Ftp_Defs.Mode_Code := Ftp_Profile.Transfer_Mode; Transfer_Structure : Ftp_Defs.Structure_Code := Ftp_Profile.Transfer_Structure; Send_Port : Boolean := Ftp_Profile.Send_Port_Enabled; Response : Profile.Response_Profile := Profile.Get); procedure Get_List (Remote_File_List : String := ""; Local_Roof : String := "$"; Remote_Roof : String := Ftp_Profile.Remote_Roof; Remote_Machine : String := Ftp_Profile.Remote_Machine; Username : String := Ftp_Profile.Username; Password : String := Ftp_Profile.Password; Account : String := Ftp_Profile.Account; Remote_Directory : String := Ftp_Profile.Remote_Directory; Remote_Type : Ftp_Name_Map.Machine_Type := Ftp_Profile.Remote_Type; Append_To_File : Boolean := False; Transfer_Type : Ftp_Defs.Type_Code := Ftp_Profile.Transfer_Type; Transfer_Mode : Ftp_Defs.Mode_Code := Ftp_Profile.Transfer_Mode; Transfer_Structure : Ftp_Defs.Structure_Code := Ftp_Profile.Transfer_Structure; Send_Port : Boolean := Ftp_Profile.Send_Port_Enabled; Response : Profile.Response_Profile := Profile.Get); procedure Store_Set (From_Local_File_Set : String := "<IMAGE>"; Local_Roof : String := "$"; Remote_Roof : String := Ftp.Current_Remote_Roof; Remote_Type : Ftp_Name_Map.Machine_Type := Ftp.Current_Remote_Type; Append_To_File : Boolean := False; Response : Profile.Response_Profile := Profile.Get; Account : String := Ftp_Profile.Account); procedure Retrieve_Set (From_Remote_File_Set : String := ""; Local_Roof : String := "$"; Remote_Roof : String := Ftp.Current_Remote_Roof; Remote_Type : Ftp_Name_Map.Machine_Type := Ftp.Current_Remote_Type; Append_To_File : Boolean := False; Response : Profile.Response_Profile := Profile.Get; Account : String := Ftp_Profile.Account); procedure Retrieve_List (Remote_File_List : String := ""; Local_Roof : String := "$"; Remote_Roof : String := Ftp.Current_Remote_Roof; Remote_Type : Ftp_Name_Map.Machine_Type := Ftp.Current_Remote_Type; Append_To_File : Boolean := False; Response : Profile.Response_Profile := Profile.Get; Account : String := Ftp_Profile.Account); ----|| constants of imported types ||---- Ascii : constant Ftp_Defs.Type_Code := Ftp_Defs.Ascii; Ebcdic : constant Ftp_Defs.Type_Code := Ftp_Defs.Ebcdic; Image : constant Ftp_Defs.Type_Code := Ftp_Defs.Image; Binary : constant Ftp_Defs.Type_Code := Ftp_Defs.Binary; Local_Binary : constant Ftp_Defs.Type_Code := Ftp_Defs.Local_Binary; Local_Byte : constant Ftp_Defs.Type_Code := Ftp_Defs.Local_Byte; Ascii_Cc : constant Ftp_Defs.Type_Code := Ftp_Defs.Ascii_Cc; Ebcdic_Cc : constant Ftp_Defs.Type_Code := Ftp_Defs.Ebcdic_Cc; Ascii_Telnet : constant Ftp_Defs.Type_Code := Ftp_Defs.Ascii_Telnet; Ebcdic_Telnet : constant Ftp_Defs.Type_Code := Ftp_Defs.Ebcdic_Telnet; Stream : constant Ftp_Defs.Mode_Code := Ftp_Defs.Stream; Block : constant Ftp_Defs.Mode_Code := Ftp_Defs.Block; Compressed : constant Ftp_Defs.Mode_Code := Ftp_Defs.Compressed; File : constant Ftp_Defs.Structure_Code := Ftp_Defs.File; Recrd : constant Ftp_Defs.Structure_Code := Ftp_Defs.Recrd; Page : constant Ftp_Defs.Structure_Code := Ftp_Defs.Page; Rational : constant Ftp_Name_Map.Machine_Type := Ftp_Name_Map.Rational; R1000 : constant Ftp_Name_Map.Machine_Type := Rational; Unix : constant Ftp_Name_Map.Machine_Type := Ftp_Name_Map.Unix; Aos : constant Ftp_Name_Map.Machine_Type := Ftp_Name_Map.Aos; Mv : constant Ftp_Name_Map.Machine_Type := Aos; Vms : constant Ftp_Name_Map.Machine_Type := Ftp_Name_Map.Vms; Vax : constant Ftp_Name_Map.Machine_Type := Vms; Mvs : constant Ftp_Name_Map.Machine_Type := Ftp_Name_Map.Mvs; end Ftp;