%include "inc:util.imp"
%include "sse:ssedefs.inc"
%external %routinespec TRANSFER FILE(%string(fln) s host, %string (uln) s user,
%string (fln) s file, %string (uln) s pass,
%string (fln) d host, %string (uln) d user,
%string (fln) d file, %string (uln) d pass)
%begin

%ownstring (25) printdesc = "Machine Halls"

%constinteger mh = 0, op = 1, fs = 2

%routine pl(%string(255)s)
  !print string on a line by itself
  printstring(s); newline
%end

%routine print(%string(255)file, %byteinteger printer)
  %string (255) dhost, duser, dfile
  dhost = "vax"; duser = "aaaa"

  %if printer = op %start
     dfile = "::vax:dra3:[opspool]".duser
     printdesc = "Block O/P"
  %elseif printer = mh
     dfile = "dra3:[mhspool]".duser
     printdesc = "Machine Halls"
  %elseif printer = fs
     pl("Can't print to FS from an APM with station no. >= 30 - printing to MH")
     dfile = "dra3:[mhspool]".duser
     printdesc = "Machine Halls"
  %else
     pl("Unknown printer - printing to O/P")
     dfile = "dra3:[opspool]".duser
     printdesc = "Block O/P"
  %finish

  transfer file("", "", file, "", dhost, "", dfile, "")
%end


%routine main program
%ownstring(255)p,param = ""
%ownbyteinteger printer = mh

  %onevent 0,9,15 %start
    %unless event_event=15 %start
      %stop
    %finish
    %return
  %finish

  param = cliparam
  define param("File -- File to be printed", p, pam nodefault)
  define enum param("MHprinter,OPprinter -- Machine Halls or Block O/P", printer, 0)
  process parameters(param)
  print(p, printer)
%end

main program

%endofprogram
 
%endofprogram
