IMPLEMENTATION MODULE GlobalString;

FROM SYSTEM IMPORT ADR , CALLEXTFUNC, CALLEXTPROC ;

PROCEDURE GetGlobalString (VAR EnvValue : ARRAY OF CHAR;
                           VAR EnvValueLength : CARDINAL;
                           EnvName  : ARRAY OF CHAR) : INTEGER;
BEGIN
   RETURN INTEGER (CALLEXTFUNC ("GetGlobalString",
                                ADR (EnvValue [0]),
                                HIGH (EnvValue),
                                ADR (EnvValueLength),
                                ADR (EnvName [0]),
                                HIGH (EnvName)))
END GetGlobalString ;

PROCEDURE SetGlobalString (EnvName, EnvValue : ARRAY OF CHAR) : INTEGER;
BEGIN
   RETURN INTEGER (CALLEXTFUNC ("SetGlobalString",
                                ADR (EnvName [0]),
                                HIGH (EnvName),
                                ADR (EnvValue [0]),
                                HIGH (EnvValue)))
END SetGlobalString ;


PROCEDURE GetGlobalStringName (VAR Name : ARRAY OF CHAR;
                               VAR NameLength : CARDINAL;
                                   index: CARDINAL) : INTEGER;
BEGIN
   RETURN INTEGER (CALLEXTFUNC ("GetGlobalStringName",
                                ADR (Name [0]),
                                HIGH (Name),
                                ADR (NameLength),
                                index))
END GetGlobalStringName ;


PROCEDURE XGetGlobalString (VAR EnvValue : ARRAY OF CHAR;
                            EnvName  : ARRAY OF CHAR) : CARDINAL ;
BEGIN
   RETURN CARDINAL( CALLEXTFUNC ("XGetGlobalString",
                                 ADR (EnvValue [0]),
                                 HIGH (EnvValue),
                                 ADR (EnvName [0]),
                                 HIGH (EnvName)))
END XGetGlobalString ;

PROCEDURE XSetGlobalString (EnvName, EnvValue : ARRAY OF CHAR);
BEGIN
   CALLEXTPROC ("XSetGlobalString",
                          ADR (EnvName [0]),
                          HIGH (EnvName),
                          ADR (EnvValue [0]),
                          HIGH (EnvValue))
END XSetGlobalString ;

PROCEDURE XGetGlobalStringName (VAR Name : ARRAY OF CHAR;
                                VAR NameLength : CARDINAL;
                                   index: CARDINAL);
BEGIN
   CALLEXTPROC ("XGetGlobalStringName",
                          ADR (Name [0]),
                          HIGH (Name),
                          ADR (NameLength),
                          index)
END XGetGlobalStringName ;



END GlobalString.
