%include "SYSINC:CLISERV.INC" %recordformat desc fm(%integer l, a) %recordformat CLIserv fm(%byte type, subtype, flags, stat, %record(desc fm) s, v) %systemintegerfnspec CLI(%record(CLIserv fm)%name x) %externalintegerfn pause ! ! PAUSE - return command to CLI for a while; ! Give command CONTINUE to carry on. ! %record(CLIserv fm) x = 0 x_type = CLI CLIserv; x_subtype = CLI pause %result = CLI(x) %end %externalintegerfn define logical name(%string(127) log, val) ! ! Create a logical name in the process table in supervisor ! mode so that it will not be deleted on image wind-down. ! %record(CLIserv fm) x = 0 x_s_l = length(log); x_s_a = addr(log)+1 x_v_l = length(val); x_v_a = addr(val)+1 x_type = CLI CLIserv; x_subtype = CLI crealog %result = CLI(x) %end %externalintegerfn delete logical name(%string(127) log) ! ! Delete a logical name from the process table which has ! been created in supervisor mode by the CLI. ! %record(CLIserv fm) x = 0 x_s_l = length(log); x_s_a = addr(log)+1 x_type = CLI CLIserv; x_subtype = CLI delelog %result = CLI(x) %end %externalintegerfn define symbol(%string(127) sym, val, %integer global) ! ! Create local/global symbol :- SYM :== VAL ! GLOBAL = 0 for local, GLOBAL # 0 for global ! %record(CLIserv fm) x = 0 %integer req x_s_l = length(sym); x_s_a = addr(sym)+1 x_v_l = length(val); x_v_a = addr(val)+1 x_type = CLI CLIserv %if global = 0 %then x_subtype = CLI deflocal %c %else x_subtype = CLI defglobal %result = CLI(x) %end %externalintegerfn evaluate symbol(%string(127) sym, %string(*)%name val) ! ! Obtain the value corresponding to a CLI symbol. ! %record(CLIserv fm) x = 0 %integer status, i, j x_s_a = addr(sym) + 1; x_s_l = length(sym) x_type = CLI CLIserv; x_subtype = CLI getsym status = CLI(x) %result = status %if status & 1 = 0 i = x_v_a; length(val) = x_v_l %for j = 1, 1, x_v_l %cycle charno(val, j) = byteinteger(i) i = i + 1 %repeat %result = status %end %externalintegerfn delete symbol(%string(127) sym, %integer global) ! ! Delete a local/global symbol: ! GLOBAL = 0 for local, GLOBAL # 0 for global ! %record(CLIserv fm) x = 0 %integer req x_s_l = length(sym); x_s_a = addr(sym)+1 x_type = CLI CLIserv %if global = 0 %then x_subtype = CLI delelcl %c %else x_subtype = CLI delegbl %result = CLI(x) %end %externalintegerfn ctrl Y off ! ! Disable ^Y processing by CLI ! %record(CLIserv fm) x = 0 x_type = CLI CLIserv; x_subtype = CLI disactrly %result = CLI(x) %end %externalintegerfn ctrl Y on ! ! Enable ^Y processing by CLI ! %record(CLIserv fm) x = 0 x_type = CLI CLIserv; x_subtype = CLI enabctrly %result = CLI(x) %end %externalintegerfn out of band off ! ! Disable out-of-band ASTs ! %record(CLIserv fm) x = 0 x_type = CLI CLIserv; x_subtype = CLI disaoob %result = CLI(x) %end %externalintegerfn out of band on ! ! Enable out-of-band ASTs ! %record(CLIserv fm) x = 0 x_type = CLI CLIserv; x_subtype = CLI enaboob %result = CLI(x) %end %end %of %file