gm2-libs/M2Dependent#

DEFINITION MODULE M2Dependent ;

FROM SYSTEM IMPORT ADDRESS ;

TYPE
ArgCVEnvP (type)
   ArgCVEnvP = PROCEDURE (INTEGER, ADDRESS, ADDRESS) ;

ConstructModules
PROCEDURE ConstructModules (applicationmodule: ADDRESS;
                            argc: INTEGER; argv, envp: ADDRESS) ;

DeconstructModules
PROCEDURE DeconstructModules (applicationmodule: ADDRESS;
                              argc: INTEGER; argv, envp: ADDRESS) ;

(*
   RegisterModule - adds module name to the list of outstanding
                    modules which need to have their dependencies
                    explored to determine initialization order.
*)

RegisterModule
PROCEDURE RegisterModule (name: ADDRESS;
                          init, fini:  ArgCVEnvP;
                          dependencies: PROC) ;

(*
   RequestDependant - used to specify that modulename is dependant upon
                      module dependantmodule.
*)

RequestDependant
PROCEDURE RequestDependant (modulename, dependantmodule: ADDRESS) ;

END M2Dependent.