|
|
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 Event, package body Ihm, package body Window, package body Xt, seg_0265c5, seg_026eac, seg_02750a, seg_027e6c
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with System;
with Text_Io;
package body Ihm is
procedure Init_C;
pragma Interface (C, Init_C);
pragma Interface_Information (Init_C, ".InitFrame");
procedure Action_C (Fid : Integer;
Fctn : System.Address;
Field : System.Address;
Value : System.Address);
pragma Interface (C, Action_C);
pragma Interface_Information (Action_C, ".Action");
procedure Action (Wid : Window_Id;
Fctn : String;
Field : String;
Value : String) is
C_Fctn : constant String := Fctn & Ascii.Nul;
C_Field : constant String := Field & Ascii.Nul;
C_Value : constant String := Value & Ascii.Nul;
begin
Action_C (Wid, C_Fctn (C_Fctn'First)'Address,
C_Field (C_Field'First)'Address,
C_Value (C_Value'First)'Address);
end Action;
function String_Length_C (Ptr : System.Address) return Integer;
pragma Interface (C, String_Length_C);
pragma Interface_Information (String_Length_C, ".strlen");
function String_C_To_Ada (S : System.Address) return String is
Str : String (1 .. String_Length_C (S));
for Str use at S;
--Ptr : array (1 .. String_Length_C (S)) of Character;
--for Ptr use at S;
--Str : String (1 .. String_Length_C (S));
begin
--for I in Str'Range loop
-- Str (I) := Ptr (I);
--end loop;
return Str;
end String_C_To_Ada;
package body Window is
function Get_Id_C (Window_Name : System.Address) return Integer;
pragma Interface (C, Get_Id_C);
pragma Interface_Information (Get_Id_C, ".GetFrameId");
function Get_Name_C (Local_Frame : Integer) return System.Address;
pragma Interface (C, Get_Name_C);
pragma Interface_Information (Get_Name_C, ".GetFrameName");
function Nb_Wid_C return Integer;
pragma Interface (C, Nb_Wid_C);
pragma Interface_Information (Nb_Wid_C, ".MaxFrame");
procedure Put_Event_C (Fid : Integer;
Fctn : System.Address;
Field : System.Address;
Value : System.Address);
pragma Interface (C, Put_Event_C);
pragma Interface_Information (Put_Event_C, ".PutEventAda");
------------------------------------------------------------
function Name (Wid : Window_Id) return String is
begin
return String_C_To_Ada (Get_Name_C (Wid));
end Name;
function Nb_Wid return Window_Id is
begin
return Nb_Wid_C;
end Nb_Wid;
function Open (Name : String) return Window_Id is
C_Message : constant String := Name & Ascii.Nul;
Wid : Window_Id;
begin
Wid := Get_Id_C (C_Message (C_Message'First)'Address);
Action (Wid, "OpenWindow", Name, "");
return Wid;
end Open;
procedure Close (Wid : Window_Id) is
begin
Action (Wid, "CloseWindow", "", "");
end Close;
procedure Put_Field (Wid : Window_Id; Field : String; Value : String) is
C_Fctn : constant String := "PutField" & Ascii.Nul;
C_Field : constant String := Field & Ascii.Nul;
C_Value : constant String := Value & Ascii.Nul;
begin
Put_Event_C (Wid, C_Fctn (C_Fctn'First)'Address,
C_Field (C_Field'First)'Address,
C_Value (C_Value'First)'Address);
end Put_Field;
procedure Display_Field
(Wid : Window_Id; Field : String; Value : String) is
begin
Action (Wid, "PutField", Field, Value);
end Display_Field;
end Window;
package body Event is
function Empty_C (Wid : Integer) return Integer;
pragma Interface (C, Empty_C);
pragma Interface_Information (Empty_C, ".Empty");
function Get_Type_C (Wid : Integer) return System.Address;
pragma Interface (C, Get_Type_C);
pragma Interface_Information (Get_Type_C, ".GetType");
function Get_Field_C (Wid : Integer) return System.Address;
pragma Interface (C, Get_Field_C);
pragma Interface_Information (Get_Field_C, ".GetField");
function Get_Value_C (Fid : Integer) return System.Address;
pragma Interface (C, Get_Value_C);
pragma Interface_Information (Get_Value_C, ".GetValue");
procedure Next_C (Wid : Integer);
pragma Interface (C, Next_C);
pragma Interface_Information (Next_C, ".Next");
function Get_Event (Wid : Window_Id) return Kind is
Event_String : constant String :=
String_C_To_Ada (Get_Type_C (Wid));
begin
if Event_String = "PushButton" then
return Pushbutton;
elsif Event_String = "FieldEnter" then
return Fieldenter;
elsif Event_String = "PutField" then
return Putfield;
end if;
return Unknown;
end Get_Event;
function Get_Field (Wid : Window_Id) return String is
begin
return String_C_To_Ada (Get_Field_C (Wid));
end Get_Field;
function Get_Value (Wid : Window_Id) return String is
begin
return String_C_To_Ada (Get_Value_C (Wid));
end Get_Value;
procedure Next (Wid : Window_Id) is
begin
Next_C (Wid);
end Next;
function Empty (Wid : Window_Id) return Boolean is
begin
if Empty_C (Wid) = 1 then
return True;
else
return False;
end if;
end Empty;
end Event;
package body Xt is
procedure Process_Event_C;
pragma Interface (C, Process_Event_C);
pragma Interface_Information (Process_Event_C, ".ProcessEvent");
procedure Process_Event is
begin
Process_Event_C;
end Process_Event;
end Xt;
begin
Init_C;
end Ihm;
nblk1=10
nid=5
hdr6=10
[0x00] rec0=1f rec1=00 rec2=01 rec3=018
[0x01] rec0=18 rec1=00 rec2=0e rec3=006
[0x02] rec0=19 rec1=00 rec2=0d rec3=01c
[0x03] rec0=1a rec1=00 rec2=0c rec3=036
[0x04] rec0=1b rec1=00 rec2=04 rec3=02c
[0x05] rec0=05 rec1=00 rec2=07 rec3=028
[0x06] rec0=1f rec1=00 rec2=0a rec3=01e
[0x07] rec0=19 rec1=00 rec2=10 rec3=000
[0x08] rec0=24 rec1=00 rec2=10 rec3=002
[0x09] rec0=1a rec1=00 rec2=05 rec3=000
[0x0a] rec0=1a rec1=00 rec2=05 rec3=000
[0x0b] rec0=04 rec1=00 rec2=04 rec3=000
[0x0c] rec0=24 rec1=00 rec2=09 rec3=3ff
[0x0d] rec0=00 rec1=00 rec2=00 rec3=002
[0x0e] rec0=00 rec1=00 rec2=00 rec3=0d9
[0x0f] rec0=00 rec1=00 rec2=00 rec3=000
tail 0x21721058883aa6e4e4ed0 0x42a00088462060003
Free Block Chain:
0x5: 0000 00 06 02 20 80 21 20 20 20 20 20 20 20 70 72 6f ┆ ! pro┆
0x6: 0000 00 09 00 07 80 04 20 20 20 20 04 74 75 72 6e 20 ┆ turn ┆
0x9: 0000 00 0b 00 49 80 07 79 70 65 5f 43 29 3b 07 00 3c ┆ I ype_C); <┆
0xb: 0000 00 08 00 4e 80 15 61 63 6b 61 67 65 20 62 6f 64 ┆ N ackage bod┆
0x8: 0000 00 03 00 09 00 06 20 20 20 20 20 20 06 53 79 73 ┆ Sys┆
0x3: 0000 00 02 03 fc 80 25 20 20 20 20 70 72 61 67 6d 61 ┆ % pragma┆
0x2: 0000 00 0f 00 33 80 29 6c 5f 46 72 61 6d 65 20 3a 20 ┆ 3 )l_Frame : ┆
0xf: 0000 00 00 01 5c 00 19 20 20 20 20 20 20 20 20 20 20 ┆ \ ┆