! Utilites for Graphpack on VAX under VMS. external routine spec ARRAY (name N, integer ADDR, LB, UB) record format STRING FM (short LENGTH, THING, integer ADDRESS) from Imp include Lognames external string (127) fn spec UINFS alias "EDWIN_UINFS" (integer I) external string (63) fn spec ITOSTR alias "ITOS" (integer I,M) external string (127) fn spec RTOSTR alias "RTOS" (long real R, integer FP, AP) external routine spec read record (integer name len, integer adr) external routine spec print record (integer len, integer adr) routine JOBINF (string (*) name MACHINE, JOBNAME, integer M, string (*) name DELIVERY, integer N) MACHINE = "(".UINFS(10).") " JOB NAME <- UINFS (1) JOB NAME = JOB NAME." " while LENGTH(JOB NAME)<M DELIVERY <- UINFS(2) end routine FILEINF (integer N, string (*) name FILE, integer name FLAG) external string (127) fn spec out file name integer S = outputstream on 9 start FLAG = event_extra finish FLAG = 0 select output (n) FILE = out file name select output (s) end ! The source of GRAFIO for VAX VMS (IO in fixed 80 byte records) external routine GRAFIO alias "EDWIN_GRAFIO" (integername F, integer IO, AD) ! F < 0 => End of file ! IO = 0 => read, IO = 1 => write ! AD = address of buffer, unless in range 0 - 99 when - ! 0 => close current I/O, 1 - 99 => open on appropriate channel const integer IN = 0, OUT = 1 own integer in stm = 0 own integer out stm = 0 own string (80) TEMP, JCL integer STATE, STM routine CLOSE IN integer S = input stream select input (in stm) close input select input (s) in stm = 0 end routine CLOSE OUT integer S = output stream select output (out stm) close output select output (s) out stm = 0 end if IO = IN start if 0<=AD<=99 start if AD=0 then CLOSE IN else in stm = ad return finish stm = input stream select input (in stm) read record (f, AD) select input (stm) finish else start if 0<=AD<=99 start if AD=0 then CLOSE OUT else out stm = ad return finish stm = output stream select output (out stm) print record (80, ad) select output (stm) finish F = 0 end external string (1) fn PLU TITLE result = "" end end of file