Last modified on Fri Nov 11 13:12:43 PST 1994 by kalsow
RTLinker defines the values initialized by the linker and startup code.
UNSAFE INTERFACERTLinker ; IMPORT RT0; VAR (* external environment *) argc : INTEGER; argv : ADDRESS; envp : ADDRESS; instance : ADDRESS; (* Windows "instance" handle *) VAR (* READONLY *) (* Does compiled code include GC checks? *) generational := TRUE; incremental := TRUE; PROCEDURE InitRuntime (argc: INTEGER; argv, envp, instance: ADDRESS);
Initializes the runtime and the environment globals. It must be called once before any other Modula-3 code is executed.
<* EXTERNAL "RTLinker__GetEnvironmentStrings" *> PROCEDURE GetEnvironmentStrings (EnvFromMain: ADDRESS): ADDRESS; PROCEDURE AddUnit (b: RT0.Binder);
 Adds b(0) and any units it imports to the set of linked
   and initialized compilation units. PROCEDURE AddUnitImports (b: RT0.Binder);
Adds any unitsb(0)imports but notb(0)itself to the set of linked and initialized compilation units.
PROCEDURE RunMainBody (m: RT0.ModulePtr);
 Invokes ms main body if it hasn't already been done.
   Note: this procedure is only exported so that stack walkers
   can know when to quit looking at frames. END RTLinker.