!*********************************************************************** !* !* Program to send messages to system processes !* !* Copyright (C) R.D. Eager University of Kent MCMLXXXVI !* !*********************************************************************** ! ! !*********************************************************************** !* !* Constants !* !*********************************************************************** ! constantstring (1) snl = " " ! ! !*********************************************************************** !* !* Record formats !* !*********************************************************************** ! recordformat pe(integer dest,srce,p1,p2,p3,p4,p5,p6) ! ! !*********************************************************************** !* !* Subsystem references !* !*********************************************************************** ! externalroutinespec set return code(integer i) ! ! !*********************************************************************** !* !* Director references !* !*********************************************************************** externalstringfunctionspec derrs(integer n) externalintegerfunctionspec dpon3(string (6) user,record (pe)name p, integer invoc,msgtype,outno) ! ! ! !*********************************************************************** !* !* Service routines !* !*********************************************************************** ! routine slash(string (6) user,string (255) s) integer i,flag record (pe) p ! if length(s) > 23 then start printstring("Command too long".snl) set return code(1000) stop finish for i = 1,1,length(s) cycle if charno(s,i) = '_' then charno(s,i) = ' ' repeat p_dest = x'ffff0014'; ! PON relay, common command activity p_srce = 0 string(addr(p_p1)) = s flag = dpon3(user,p,0,1,6); ! PON and continue if flag # 0 then start printstring("DPON flag = ".derrs(flag).snl) finish set return code(flag) end ; ! of slash ! ! !*********************************************************************** !* !* D S L A S H !* !*********************************************************************** ! externalroutine dslash(string (255) s) slash("DIRECT",s) end ; ! of dslash ! ! !*********************************************************************** !* !* V S L A S H !* !*********************************************************************** ! externalroutine vslash(string (255) s) slash("VOLUMS",s) end ; ! of vslash ! ! !*********************************************************************** !* !* S S L A S H !* !*********************************************************************** ! externalroutine sslash(string (255) s) slash("SPOOLR",s) end ; ! of sslash ! ! !*********************************************************************** !* !* M S L A S H !* !*********************************************************************** ! externalroutine mslash(string (255) s) slash("MAILER",s) end ; ! of mslash ! ! !*********************************************************************** !* !* F S L A S H !* !*********************************************************************** ! externalroutine fslash(string (255) s) slash("FTRANS",s) end ; ! of fslash endoffile