|
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: 6144 (0x1800) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Cl_35, seg_041e4f
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦this⟧
with Time; with Cl_35_Protocole; with Text_Io; with Conversion; package body Cl_35 is procedure Create (The_Object : in out Cl_35.Object; With_Adress : Cl_35.Adress) is begin Text_Io.Put ("Creation du lecteur d'adresse" & " " & Natural'Image (Natural (With_Adress)) & " ... "); The_Object.Adress := With_Adress; Text_Io.Put_Line ("Ok"); end Create; function Get_Adress (Of_Object : Cl_35.Object) return Cl_35.Adress is begin return Of_Object.Adress; end Get_Adress; procedure Set_Time (Of_Object : Cl_35.Object; To_Time : Time.Object) is Message : System.Byte_String (0 .. 4) := (0 => Of_Object.Adress, 1 => 16#23#, 2 => Conversion.In_System_Byte (Of_Object => Time.Get_Hour (To_Time)), 3 => Conversion.In_System_Byte (Of_Object => Time.Get_Minute (To_Time)), 4 => Conversion.In_System_Byte (Of_Object => Time.Get_Day (To_Time))); Error : Boolean := False; begin Text_Io.Put ("Mise a l'heure du lecteur d'adresse" & Natural'Image (Natural (Get_Adress (Of_Object))) & " a " & Time.Image (To_Time) & " ... "); Cl_35_Protocole.Send (The_Message => Message, Error_Status => Error); if Error = False then Text_Io.Put_Line ("Ok"); else Text_Io.Put_Line ("Erreur dans l'envoi du message"); end if; end Set_Time; function Get_Time (Of_Object : Cl_35.Object) return Time.Object is Message : System.Byte_String (0 .. 1) := (0 => Of_Object.Adress, 1 => 16#24#); Answer : System.Byte_String (0 .. 2); Error : Boolean := False; Result : Time.Object; begin Cl_35_Protocole.Send (The_Request => Message, With_Answer => Answer, Error_Status => Error); if Error = False then Time.Create (The_Object => Result, With_Hour => Natural (Answer (0)), And_Minute => Natural (Answer (1)), And_Day => Time.Day'Image (Time.Day'Val (Natural (Answer (2))))); else Time.Create (The_Object => Result, With_Hour => 0, And_Minute => 0, And_Day => "Undefined"); end if; return Result; end Get_Time; procedure Emergency_Open (Of_Object : Cl_35.Object) is Message : System.Byte_String (0 .. 1) := (0 => Of_Object.Adress, 1 => 16#2C#); Error : Boolean := False; begin Text_Io.Put ("Ouverture d'urgence du lecteur d'adresse" & Natural'Image (Natural (Get_Adress (Of_Object))) & "..."); Cl_35_Protocole.Send (The_Message => Message, Error_Status => Error); if Error = False then Text_Io.Put_Line ("Ok"); else Text_Io.Put_Line ("Erreur dans l'envoi du message"); end if; end Emergency_Open; end Cl_35;
nblk1=5 nid=2 hdr6=8 [0x00] rec0=22 rec1=00 rec2=01 rec3=05c [0x01] rec0=1a rec1=00 rec2=05 rec3=008 [0x02] rec0=19 rec1=00 rec2=03 rec3=020 [0x03] rec0=0b rec1=00 rec2=04 rec3=000 [0x04] rec0=01 rec1=00 rec2=02 rec3=000 tail 0x2153cdfdc862867e09f9d 0x42a00088462060003 Free Block Chain: 0x2: 0000 00 00 00 07 80 01 3b 01 00 00 00 00 00 00 00 00 ┆ ; ┆