|
|
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 - metrics - 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; ┆