DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦44381c645⟧ TextFile

    Length: 1225 (0x4c9)
    Types: TextFile
    Notes: R1k Text-file segment

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦07b6dc80e⟧ 
            └─⟦this⟧ 

TextFile

with Callback;
with System;
package body Button is

    procedure Create_C;
    pragma Interface (C, Create_C);
    pragma Interface_Information (Create_C, ".Create");

    -- These variables are stored here so that they will be active
    -- when the C routine gets around to using them.
    -- Alternatively these variables could be encapsulated in a package
    -- specification. They should NOT be put into Register_the_subprogram
    -- because they would cease to exist when that subprogram finishes.
    Some_Descriptor : Callback.Function_Descriptor_Type;
    Some_Subprogram_Value : System.Subprogram_Value;

    procedure Register_The_Subprogram is
        procedure Register_Subprogram (Descriptor : System.Address);
        pragma Interface (C, Register_Subprogram);
        pragma Interface_Information
           (Register_Subprogram, ".Register_Subprogram");
    begin
        Some_Subprogram_Value := Activate_Callback'Subprogram_Value;
        Some_Descriptor := Callback.Ada_To_C (Some_Subprogram_Value);
        Register_Subprogram (Some_Descriptor'Address);
    end Register_The_Subprogram;

    procedure Create is
    begin
        Create_C;
    end Create;
begin
    Register_The_Subprogram;
end Button