|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 17408 (0x4400) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Orb_Interface, seg_056b7d
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with Text_Io, Com_Dialog, Transport_Defs, Ip_Name, Text_Manager; with Bounded_String, Constant_Start_End, All_String, Conversion; package body Orb_Interface is Tampon_Adress_String : All_String.Adress_String; Tampon_Adress_Message_Or_Status : All_String.Adress_Type_Message_Or_Status; function Value (S : String) return Com_Defs.V_String is begin return Com_Defs.V_String (Bounded_String.Value (S, Com_Defs.Frame_Length)); end Value; function Image (S : T_Frame) return String is begin return Bounded_String.Image (Bounded_String.Variable_String (S.Frame)); end Image; function Image (S : Com_Defs.V_String) return String is begin return Bounded_String.Image (Bounded_String.Variable_String (S)); end Image; procedure Copy (Target : in out T_Frame; Source : T_Frame) is begin Bounded_String.Free (Bounded_String.Variable_String (Target.Frame)); Bounded_String.Copy (Bounded_String.Variable_String (Target.Frame), Bounded_String.Variable_String (Source.Frame)); end Copy; procedure Init_T_Frame (My_Frame : in out T_Frame; Internet_Adress : in Com_Defs.V_String; Appli_Number : in Com_Defs.Com_Number; Quest_Number : in Com_Defs.Com_Number) is begin Bounded_String.Free (Bounded_String.Variable_String (My_Frame.Frame)); Bounded_String.Append (Bounded_String.Variable_String (My_Frame.Frame), Bounded_String.Variable_String (Internet_Adress)); Bounded_String.Append (Bounded_String.Variable_String (My_Frame.Frame), Conversion.Number_To_String4 (Appli_Number)); Bounded_String.Append (Bounded_String.Variable_String (My_Frame.Frame), Conversion.Number_To_String4 (Quest_Number)); Bounded_String.Append (Bounded_String.Variable_String (My_Frame.Frame), Com_Defs.Orb_String_Adress); Bounded_String.Append (Bounded_String.Variable_String (My_Frame.Frame), Bounded_String.Variable_String (Internet_Adress)); Bounded_String.Append (Bounded_String.Variable_String (My_Frame.Frame), Conversion.Number_To_String4 (Appli_Number)); Bounded_String.Append (Bounded_String.Variable_String (My_Frame.Frame), Conversion.Number_To_String4 (Quest_Number)); Bounded_String.Append (Bounded_String.Variable_String (My_Frame.Frame), Conversion.Number_To_String2 (T_Message.T_Mess'Pos (T_Message.Registration))); Bounded_String.Append (Bounded_String.Variable_String (My_Frame.Frame), Conversion.Number_To_String2 (T_Status.T_State'Pos (T_Status.Client_To_Orb))); end Init_T_Frame; function Read_Type_Of_Message (My_Frame : T_Frame) return Integer is begin Tampon_Adress_Message_Or_Status := Bounded_String.Extract (Bounded_String.Variable_String (My_Frame.Frame), Constant_Start_End.Start_Type_Message, Constant_Start_End.End_Type_Message); return Conversion.String2_To_Number (Tampon_Adress_Message_Or_Status); end Read_Type_Of_Message; function Read_Type_Of_Status (My_Frame : T_Frame) return Integer is begin Tampon_Adress_Message_Or_Status := Bounded_String.Extract (Bounded_String.Variable_String (My_Frame.Frame), Constant_Start_End.Start_Type_Status, Constant_Start_End.End_Type_Status); return Conversion.String2_To_Number (Tampon_Adress_Message_Or_Status); end Read_Type_Of_Status; procedure Exchange_Source_Destination (My_Frame : in out T_Frame) is My_Tampon_Source, My_Tampon_Destinataire : All_String.Adress_String; function Read_Source_Adress (The_Frame : T_Frame) return All_String.Adress_String is begin Tampon_Adress_String := Bounded_String.Extract (Bounded_String.Variable_String (The_Frame.Frame), Constant_Start_End.Start_Source_Adress, Constant_Start_End.End_Source_Adress); return Tampon_Adress_String; end Read_Source_Adress; function Read_Destinataire_Adress (The_Frame : T_Frame) return All_String.Adress_String is begin Tampon_Adress_String := Bounded_String.Extract (Bounded_String.Variable_String (The_Frame.Frame), Constant_Start_End.Start_Destinataire_Adress, Constant_Start_End.End_Destinataire_Adress); return Tampon_Adress_String; end Read_Destinataire_Adress; begin My_Tampon_Source := Read_Destinataire_Adress (My_Frame); My_Tampon_Destinataire := Read_Source_Adress (My_Frame); Bounded_String.Replace (Bounded_String.Variable_String (My_Frame.Frame), Constant_Start_End.Start_Source_Adress, My_Tampon_Source); Bounded_String.Replace (Bounded_String.Variable_String (My_Frame.Frame), Constant_Start_End.Start_Destinataire_Adress, My_Tampon_Destinataire); end Exchange_Source_Destination; procedure Remove_Data (My_Frame : in out T_Frame) is Tampon : T_Frame; begin Bounded_String.Free (Bounded_String.Variable_String (Tampon.Frame)); Bounded_String.Copy (Bounded_String.Variable_String (Tampon.Frame), Bounded_String.Extract (Bounded_String.Variable_String (My_Frame.Frame), Constant_Start_End. Start_Source_Adress_Internet_And_Apply_Number, Constant_Start_End.End_Type_Status)); Bounded_String.Free (Bounded_String.Variable_String (My_Frame.Frame)); Bounded_String.Copy (Bounded_String.Variable_String (My_Frame.Frame), Bounded_String.Variable_String (Tampon.Frame)); end Remove_Data; procedure Put_Data (My_Frame : in out T_Frame) is begin Text_Manager.Text.Put_Line ("Data received : " & (Bounded_String.Extract (Bounded_String.Variable_String (My_Frame.Frame), Constant_Start_End.Start_Data, Bounded_String.Length (Bounded_String.Variable_String (My_Frame.Frame))))); end Put_Data; procedure Init_Data_Message (My_Data_Message : in Com_Defs.V_String; My_Frame : in out T_Frame) is begin Bounded_String.Append (Bounded_String.Variable_String (My_Frame.Frame), Bounded_String.Variable_String (My_Data_Message)); end Init_Data_Message; procedure Put_Frame (My_Frame : T_Frame) is begin Text_Manager.Text.Put_Line (Bounded_String.Image (Bounded_String.Variable_String (My_Frame.Frame))); end Put_Frame; procedure Init (My_Appli_Number : out Com_Defs.Com_Number; My_Machine_Name : out Com_Defs.V_String; My_Adress_Ip : in out Com_Defs.V_String; Status : out Boolean) is Tampon : Com_Defs.V_String; begin Com_Dialog.Init (My_Appli_Number, My_Machine_Name, Tampon, Status); Ip_Name.Convert (Tampon, My_Adress_Ip); end Init; procedure Remove (My_Appli_Number : in Com_Defs.Com_Number) is begin Com_Dialog.Remove (My_Appli_Number); end Remove; procedure Receive (My_Appli_Number : in Com_Defs.Com_Number; My_Frame : in out T_Frame; Status : out Boolean) is begin Bounded_String.Free (Bounded_String.Variable_String (My_Frame.Frame)); Com_Dialog.Receive (My_Appli_Number, My_Frame.Frame, Status); end Receive; procedure Reinsert (My_Appli_Number : in Com_Defs.Com_Number; My_Frame : in T_Frame) is begin Com_Dialog.Reinsert (My_Appli_Number, My_Frame.Frame); end Reinsert; procedure Send (My_Appli_Number : Com_Defs.Com_Number; My_Host_Name : Com_Defs.V_String; The_Type_Of_Message : T_Message.T_Mess; The_Type_Of_Status : T_Status.T_State; The_Frame : in out T_Frame; My_Status : in out Boolean) is My_Frame_Length : Natural := Com_Defs.Length (The_Frame.Frame); procedure Init_Type_Of_Message (My_Type_Of_Message : T_Message.T_Mess; My_Frame : in out T_Frame) is My_Integer_Message : Integer; My_String_Message : All_String.Adress_Type_Message_Or_Status; begin My_Integer_Message := T_Message.T_Mess'Pos (My_Type_Of_Message); My_String_Message := Conversion.Number_To_String2 (My_Integer_Message); Text_Manager.Text.Put_Line ("Message is : " & My_String_Message & "=" & T_Message.T_Mess'Image (My_Type_Of_Message)); Bounded_String.Replace (Bounded_String.Variable_String (My_Frame.Frame), Constant_Start_End.Start_Type_Message, My_String_Message); end Init_Type_Of_Message; procedure Init_Type_Of_Status (My_Type_Of_Status : T_Status.T_State; My_Frame : in out T_Frame) is My_Integer_Status : Integer; My_String_Status : All_String.Adress_Type_Message_Or_Status; begin My_Integer_Status := T_Status.T_State'Pos (My_Type_Of_Status); My_String_Status := Conversion.Number_To_String2 (My_Integer_Status); Text_Manager.Text.Put_Line ("Status is : " & My_String_Status & "=" & T_Status.T_State'Image (My_Type_Of_Status)); Bounded_String.Replace (Bounded_String.Variable_String (My_Frame.Frame), Constant_Start_End.Start_Type_Status, My_String_Status); end Init_Type_Of_Status; begin Init_Type_Of_Message (The_Type_Of_Message, The_Frame); Init_Type_Of_Status (The_Type_Of_Status, The_Frame); for I in 1 .. Com_Defs.Frame_Length - My_Frame_Length loop begin Bounded_String.Append (Bounded_String.Variable_String (The_Frame.Frame), '$'); end; end loop; Com_Dialog.Send (My_Appli_Number, My_Host_Name, The_Frame.Frame, My_Frame_Length, My_Status); end Send; end Orb_Interface;
nblk1=10 nid=a hdr6=1a [0x00] rec0=1c rec1=00 rec2=01 rec3=076 [0x01] rec0=11 rec1=00 rec2=0c rec3=06e [0x02] rec0=11 rec1=00 rec2=07 rec3=030 [0x03] rec0=1a rec1=00 rec2=08 rec3=028 [0x04] rec0=15 rec1=00 rec2=0f rec3=030 [0x05] rec0=16 rec1=00 rec2=09 rec3=044 [0x06] rec0=18 rec1=00 rec2=0d rec3=00a [0x07] rec0=00 rec1=00 rec2=06 rec3=00e [0x08] rec0=1d rec1=00 rec2=04 rec3=008 [0x09] rec0=1a rec1=00 rec2=0e rec3=026 [0x0a] rec0=13 rec1=00 rec2=0b rec3=002 [0x0b] rec0=13 rec1=00 rec2=02 rec3=022 [0x0c] rec0=0b rec1=00 rec2=03 rec3=000 [0x0d] rec0=0d rec1=00 rec2=0d rec3=000 [0x0e] rec0=00 rec1=00 rec2=00 rec3=000 [0x0f] rec0=00 rec1=00 rec2=00 rec3=000 tail 0x21763279687c546714557 0x42a00088462060003 Free Block Chain: 0xa: 0000 00 10 00 06 80 03 20 20 20 03 79 5f 46 72 61 6d ┆ y_Fram┆ 0x10: 0000 00 05 00 11 80 0e 74 72 69 6e 67 2e 56 61 72 69 ┆ tring.Vari┆ 0x5: 0000 00 00 00 2a 80 09 65 6e 64 20 53 65 6e 64 3b 09 ┆ * end Send; ┆