
*copyc OSD$DEFAULT_PRAGMATS
?? NEWTITLE := '170 NOS/VE REMOTE HOST' ??
MODULE rhmpau;


?? TITLE := 'EXTERNAL PROCEDURES REFERENCED BY THIS MODULE' ??
?? SET (LIST := OFF) ??
?? EJECT ??
*copyc RHP$WAIT

?? TITLE := 'PAUSE' ??
?? SET (LIST := ON) ??
?? EJECT ??
{ PAUSE
{
{        The purpose of this A170 CYBIL procedure is to set the pause
{ flag in RA+0 and recall until the flag is cleared.
{
{        PAUSE
{

  PROCEDURE [XDCL] pause;

    TYPE
      ra_rec = packed record
        filler1: 0 .. 7fffffffffff(16),
        pause_bit: boolean,
        filler2: 0 .. 0fff(16),
      recend,
      ra_access_rec = record
        case address_ref_type: (abs_address, pointer) of
        = abs_address =
          ra_ptr: integer,
        = pointer =
          ra_rec_ptr: ^ra_rec,
        casend,
      recend;

    VAR
      ra_access: [STATIC] ra_access_rec := [abs_address, 0];

?? SET (LIST := OFF) ??
*copyc RHP$WAIT
?? SET (LIST := ON) ??

    ra_access.ra_rec_ptr^.pause_bit := TRUE;
    REPEAT
      wait (1000);
    UNTIL ra_access.ra_rec_ptr^.pause_bit = FALSE;
    RETURN;

  PROCEND pause;

MODEND rhmpau;
