Trailing-Edge
-
PDP-10 Archives
-
mit_emacs_170_teco_1220
-
info/jsys4sz.info
There are no other files named jsys4sz.info in the archive.
File: JSYSSZ Node: Top Up: (DIR)
This file contains chapter 3 of the Monitor Calls Reference Manual
(version 4-Prelimnary), JSYS'S A* to F*, in INFO format.
* Menu:
* ACCES: (JSYS4AF)ACCES, (552) Specifies access to a directory 3-1
* ADBRK: (JSYS4AF)ADBRK, (570) Controls address breaks 3-3
* AIC: (JSYS4AF)AIC, (131) Activates software interrupt channels 3-5
* ALLOC: (JSYS4AF)ALLOC, (520) Allocates a device 3-5
* ARCF: (JSYS4AF)ARCF, (247) Archive/virtual disk operations x-xx
* ASND: (JSYS4AF)ASND, (70) Assigns a device 3-6
* ASNSQ: (JSYS4AF)ASNSQ, (752) Assigns ARPANET special message queue x-xx
* ATNVT: (JSYS4AF)ATNVT, (274) Creates ARPANET Network Virtual Terminal Connection x-xx
* ATACH: (JSYS4AF)ATACH, (116) Attachs a terminal to a job 3-7
* ATI: (JSYS4AF)ATI, (137) Assigns a terminal code to an interrupt channel 3-8
* BIN: (JSYS4AF)BIN, (50) Performs byte input 3-9
* BKJFN: (JSYS4AF)BKJFN, (42) Backs up pointer by one byte 3-10
* BOOT: (JSYS4AF)BOOT, (562) Performs functions required for loading front-end software 3-10
* BOUT: (JSYS4AF)BOUT, (51) Performs byte output 3-14
* CACCT: (JSYS4AF)CACCT, (4) Changes account designator 3-15
* CFIBF: (JSYS4AF)CFIBF, (100) Clears the input buffer 3-15
* CFOBF: (JSYS4AF)CFOBF, (101) Clears the output buffer 3-16
* CFORK: (JSYS4AF)CFORK, (152) Creates an inferior process 3-16
* CHFDB: (JSYS4AF)CHFDB, (64) Changes a File Descriptor Block 3-17
* CHKAC: (JSYS4AF)CHKAC, (521) Checks access to a file 3-18
* CIS: (JSYS4AF)CIS, (141) Clears the interrupt system 3-19
* CLOSF: (JSYS4AF)CLOSF, (22) Closes a file 3-20
* CLZFF: (JSYS4AF)CLZFF, (34) Closes the process' files 3-21
* COMND: (JSYS4AF)COMND, (544) Parses a command 3-22
* CRDIR: (JSYS4AF)CRDIR, (240) Creates, changes, or deletes a directory 3-38
* CRJOB: (JSYS4AF)CRJOB, (2) Creates a job 3-42
* CRLNM: (JSYS4AF)CRLNM, (502) Defines or deletes a logical name 3-47
* CVHST: (JSYS4AF)CVHST, (276) Converts ARPANET host number to primary name x-xx
* CVSKT: (JSYS4AF)CVSKT, (275) Converts ARPANET local socket to absolute form x-xx
* DEBRK: (JSYS4AF)DEBRK, (136) Dismisses current software interrupt 3-48
* DELDF: (JSYS4AF)DELDF, (67) Expunges deleted files 3-48
* DELF: (JSYS4AF)DELF, (26) Deletes files 3-49
* DELNF: (JSYS4AF)DELNF, (317) Retains specified number of generations of a file 3-50
* DEQ: (JSYS4AF)DEQ, (514) Removes request from resource queue 3-51
* DEVST: (JSYS4AF)DEVST, (121) Translates a device designator to a string 3-53
* DFIN: (JSYS4AF)DFIN, (234) Inputs double-precision floating point number 3-53
* DFOUT: (JSYS4AF)DFOUT, (235) Outputs double-precision floating point number 3-54
* DIAG: (JSYS4AF)DIAG, (530) Reserves or releases hardware channels 3-55
* DIBE: (JSYS4AF)DIBE, (212) Dismisses until input buffer is empty 3-56
* DIC: (JSYS4AF)DIC, (133) Deactivates software interrupt channels 3-57
* DIR: (JSYS4AF)DIR, (130) Disables software interrupt system 3-57
* DIRST: (JSYS4AF)DIRST, (41) Translates a directory number to a string 3-58
* DISMS: (JSYS4AF)DISMS, (167) Dismisses the process 3-59
* DOBE: (JSYS4AF)DOBE, (104) Dismisses until output buffer is empty 3-59
* DSKAS: (JSYS4AF)DSKAS, (244) Assigns disk addresses 3-60
* DSKOP: (JSYS4AF)DSKOP, (242) Specifies disk transfers in hardware terms 3-61
* DTACH: (JSYS4AF)DTACH, (115) Detaches a terminal from a job 3-62
* DTI: (JSYS4AF)DTI, (140) Deassigns a terminal code 3-62
* DUMPI: (JSYS4AF)DUMPI, (65) Reads data in unbuffered data mode 3-63
* DUMPO: (JSYS4AF)DUMPO, (66) Writes data in unbuffered data mode 3-64
* DVCHR: (JSYS4AF)DVCHR, (117) Retrieves device characteristics 3-65
* EFACT: (JSYS4AF)EFACT, (5) Makes an entry in the FACT file 3-66
* EIR: (JSYS4AF)EIR, (126) Enables software interrupt system 3-67
* ENQ: (JSYS4AF)ENQ, (513) Places request in resource queue 3-67
* ENQC: (JSYS4AF)ENQC, (515) Obtains status of resource queue 3-73
* EPCAP: (JSYS4AF)EPCAP, (151) Enables process capabilities 3-76
* ERSTR: (JSYS4AF)ERSTR, (11) Converts error number to string 3-77
* ESOUT: (JSYS4AF)ESOUT, (313) Outputs an error string 3-78
* FFFFP: (JSYS4AF)FFFFP, (31) Finds first free page in file 3-78
* FFORK: (JSYS4AF)FFORK, (154) Freezes processes 3-79
* FFUFP: (JSYS4AF)FFUFP, (211) Finds first used page in file 3-79
* FLHST: (JSYS4AF)FLHST, (277) Flushes an ARPANET host x-xx
* FLIN: (JSYS4AF)FLIN, (232) Inputs floating-point number 3-80
* FLOUT: (JSYS4AF)FLOUT, (233) Outputs floating-point number 3-80
* GACCT: (JSYS4GM)GACCT, (546) Gets current account designator 3-81
* GACTF: (JSYS4GM)GACTF, (37) Gets account designator of file 3-81
* GCVEC: (JSYS4GM)GCVEC, (300) Gets entry vector of compatibility package 3-82
* GDSKC: (JSYS4GM)GDSKC, (214) Gets disk count 3-83
* GDSTS: (JSYS4GM)GDSTS, (145) Gets device's status 3-83
* GDVEC: (JSYS4GM)GDVEC, (542) Gets entry vector of RMS 3-84
* GET: (JSYS4GM)GET, (200) Gets a save file 3-84
* GETAB: (JSYS4GM)GETAB, (10) Gets a word from a monitor table 3-85
* GETER: (JSYS4GM)GETER, (12) Returns the last error in a process 3-86
* GETJI: (JSYS4GM)GETJI, (507) Gets specified job information 3-86
* GETNM: (JSYS4GM)GETNM, (177) Returns the program name currently being used 3-87
* GETOK%: (JSYS4GM)GETOK%, (574) Requests access to a protected resource x-xx
* GEVEC: (JSYS4GM)GEVEC, (205) Gets entry vector 3-88
* GFRKH: (JSYS4GM)GFRKH, (164) Gets process handle 3-88
* GFRKS: (JSYS4GM)GFRKS, (166) Gets process structure 3-89
* GFUST: (JSYS4GM)GFUST, (550) Returns author and last writer name strings 3-90
* GIVOK%: (JSYS4GM)GIVOK%, (576) Grants access to a protected resource x-xx
* GJINF: (JSYS4GM)GJINF, (13) Gets current job information 3-91
* GNJFN: (JSYS4GM)GNJFN, (17) Gets the next JFN 3-91
* GPJFN: (JSYS4GM)GPJFN, (206) Gets the primary JFNs 3-92
* GTAD: (JSYS4GM)GTAD, (227) Gets current date and time 3-93
* GTDAL: (JSYS4GM)GTDAL, (305) Gets disk allocation of a directory 3-93
* GTDIR: (JSYS4GM)GTDIR, (241) Gets information of directory entry 3-94
* GTFDB: (JSYS4GM)GTFDB, (63) Gets a File Descriptor Block 3-95
* GTJFN Long Form: (JSYS4GM)GTJFN-long, (20) Gets a JFN Short Form 3-96 Long Form 3-103
* GTJFN Short Form: (JSYS4GM)GTJFN-short, (20) Gets a JFN Short Form 3-96 Long Form 3-103
* GTRPI: (JSYS4GM)GTRPI, (172) Get trap information 3-107
* GTRPW: (JSYS4GM)GTRPW, (171) Gets trap words 3-108
* GTSTS: (JSYS4GM)GTSTS, (24) Gets a file's status 3-109
* GTTYP: (JSYS4GM)GTTYP, (303) Gets the terminal type number 3-109
* HALTF: (JSYS4GM)HALTF, (170) Halts the current process 3-110
* HFORK: (JSYS4GM)HFORK, (162) Halts a process 3-110
* HPTIM: (JSYS4GM)HPTIM, (501) Returns values of high precision clocks 3-111
* HSYS: (JSYS4GM)HSYS, (307) Halts the system 3-111
* IDCNV: (JSYS4GM)IDCNV, (223) Inputs date and time conversion 3-112
* IDTIM: (JSYS4GM)IDTIM, (221) Inputs date and time 3-113
* IDTNC: (JSYS4GM)IDTNC, (231) Inputs date/time without converting 3-115
* IIC: (JSYS4GM)IIC, (132) Initiates software interrupts on specified channels 3-116
* INLNM: (JSYS4GM)INLNM, (503) Lists job's logical names 3-117
* JFNS: (JSYS4GM)JFNS, (30) Translates a JFN to a string 3-117
* KFORK: (JSYS4GM)KFORK, (153) Kills a process 3-119
* LGOUT: (JSYS4GM)LGOUT, (3) Kills a job 3-120
* LNMST: (JSYS4GM)LNMST, (504) Converts a logical name to a string 3-121
* LOGIN: (JSYS4GM)LOGIN, (1) Logs in a job 3-121
* LPINI: (JSYS4GM)LPINI, (547) Loads VFU or translation RAM 3-122
* MRECV: (JSYS4GM)MRECV, (511) Receives an IPCF message 3-123
* MSEND: (JSYS4GM)MSEND, (510) Sends an IPCF message 3-125
* MSFRK: (JSYS4GM)MSFRK, (312) Starts a process in monitor mode 3-129
* MSTR: (JSYS4GM)MSTR, (555) Performs structure-dependent functions 3-129
* MTALN: (JSYS4GM)MTALN, (774) Associates magnetic tape drive with logical unit number 3-142
* MTOPR: (JSYS4GM)MTOPR, (77) Performs device-dependent functions 3-142
* MTU%: (JSYS4GM)MTU%, (600) Performs various functions for MT: devices x-xx
* MUTIL: (JSYS4GM)MUTIL, (512) Performs IPCF control functions 3-153
* NIN: (JSYS4NR)NIN, (225) Inputs an integer number 3-158
* NODE: (JSYS4NR)NODE, (567) Performs network utility functions 3-158
* NOUT: (JSYS4NR)NOUT, (224) Outputs an integer number 3-158
* ODCNV: (JSYS4NR)ODCNV, (222) Outputs date and time conversion 3-159
* ODTIM: (JSYS4NR)ODTIM, (220) Outputs date and time 3-160
* ODTNC: (JSYS4NR)ODTNC, (230) Outputs date/time without converting 3-162
* OPENF: (JSYS4NR)OPENF, (21) Opens a file 3-163
* PBIN: (JSYS4NR)PBIN, (73) Inputs the next byte 3-166
* PBOUT: (JSYS4NR)PBOUT, (74) Outputs the next byte 3-167
* PEEK: (JSYS4NR)PEEK, (311) Obtains monitor data 3-167
* PLOCK: (JSYS4NR)PLOCK, (561) Locks physical pages 3-168
* PMAP: (JSYS4NR)PMAP, (56) Maps pages 3-168.1
* PMCTL: (JSYS4NR)PMCTL, (560) Controls physical memory 3-171
* PPNST: (JSYS4NR)PPNST, (557) Translates project-programmer number to string 3-173
* PRARG: (JSYS4NR)PRARG, (545) Reads/sets process argument block 3-174
* PSOUT: (JSYS4NR)PSOUT, (76) Outputs a string 3-174
* RCDIR: (JSYS4NR)RCDIR, (553) Translates string to directory number 3-175
* RCM: (JSYS4NR)RCM, (134) Reads the channel word mask 3-178
* RCVIM: (JSYS4NR)RCVIM, (751) Retrieves message from ARPANET special message queue x-xx
* RCVOK%: (JSYS4NR)RCVOK%, (575) Retrieves access request from GETOK queue x-xx
* RCUSR: (JSYS4NR)RCUSR, (554) Translates string to user number 3-179
* RDTTY: (JSYS4NR)RDTTY, (523) Reads data from primary input designator 3-180
* RELD: (JSYS4NR)RELD, (71) Releases a device 3-182
* RELSQ: (JSYS4NR)RELSQ, (753) Deassigns ARPANET special message queue x-xx
* RESET: (JSYS4NR)RESET, (147) Resets/initializes the current process 3-183
* RFACS: (JSYS4NR)RFACS, (161) Reads process' ACs 3-183
* RFBSZ: (JSYS4NR)RFBSZ, (45) Reads files's byte size 3-184
* RFCOC: (JSYS4NR)RFCOC, (112) Reads file's control character output 3-184
* RFMOD: (JSYS4NR)RFMOD, (107) Reads a file's mode 3-185
* RFORK: (JSYS4NR)RFORK, (155) Resumes a process 3-185
* RFPOS: (JSYS4NR)RFPOS, (111) Reads terminal's position 3-186
* RFPTR: (JSYS4NR)RFPTR, (43) Reads file's pointer position 3-187
* RFRKH: (JSYS4NR)RFRKH, (165) Releases a process handle 3-187
* RFSTS: (JSYS4NR)RFSTS, (156) Reads a process' status 3-188
* RFTAD: (JSYS4NR)RFTAD, (533) Reads file's time and dates 3-189
* RIN: (JSYS4NR)RIN, (54) Performs random input 3-190
* RIR: (JSYS4NR)RIR, (144) Reads software interrupt table addresses 3-191
* RIRCM: (JSYS4NR)RIRCM, (143) Reads inferior reserved channel mask 3-191
* RLJFN: (JSYS4NR)RLJFN, (23) Releases JFNs 3-192
* RMAP: (JSYS4NR)RMAP, (61) Obtains a handle on a page 3-192
* RNAMF: (JSYS4NR)RNAMF, (35) Renames a file 3-193
* ROUT: (JSYS4NR)ROUT, (55) Performs random output 3-194
* RPACS: (JSYS4NR)RPACS, (57) Reads a page's accessibility 3-195
* RPCAP: (JSYS4NR)RPCAP, (150) Reads process capabilities 3-196
* RSCAN: (JSYS4NR)RSCAN, (500) Accepts a new string or uses the last string as input 3-196
* RTFRK: (JSYS4NR)RTFRK, (322) Returns the handle of a process suspended because of a monitor call intercept 3-198
* RTIW: (JSYS4NR)RTIW, (173) Reads terminal interrupt word 3-198
* RUNTM: (JSYS4NR)RUNTM, (15) Returns runtime of process or job 3-199
* RWM: (JSYS4NR)RWM, (135) Reads waiting channel interrupt word mask 3-199
* RWSET: (JSYS4NR)RWSET, (176) Releases the working set 3-200
* SACTF: (JSYS4SZ)SACTF, (62) Sets account designator of file 3-200
* SAVE: (JSYS4SZ)SAVE, (202) Saves a file as nonsharable 3-201
* SCTTY: (JSYS4SZ)SCTTY, (324) Changes controlling terminal 3-202
* SCVEC: (JSYS4SZ)SCVEC, (301) Sets entry vector of compatibility package 3-203
* SDSTS: (JSYS4SZ)SDSTS, (146) Sets device's status 3-204
* SDVEC: (JSYS4SZ)SDVEC, (543) Sets entry vector of RMS 3-205
* SETER: (JSYS4SZ)SETER, (336) Sets the last error in a process 3-206
* SETJB: (JSYS4SZ)SETJB, (541) Sets job parameters 3-206
* SETNM: (JSYS4SZ)SETNM, (210) Sets program name 3-208
* SETSN: (JSYS4SZ)SETSN, (506) Sets system name for a process 3-208
* SEVEC: (JSYS4SZ)SEVEC, (204) Sets entry vector 3-208
* SFACS: (JSYS4SZ)SFACS, (160) Sets process' ACs 3-209
* SFBSZ: (JSYS4SZ)SFBSZ, (46) Sets file's byte size 3-209
* SFCOC: (JSYS4SZ)SFCOC, (113) Sets file's control character output 3-210
* SFMOD: (JSYS4SZ)SFMOD, (110) Sets a file's mode 3-211
* SFORK: (JSYS4SZ)SFORK, (157) Starts a process 3-211
* SFPOS: (JSYS4SZ)SFPOS, (526) Sets terminal's position 3-212
* SFPTR: (JSYS4SZ)SFPTR, (27) Sets file's pointer position 3-212
* SFRKV: (JSYS4SZ)SFRKV, (201) Starts process using its entry vector 3-213
* SFTAD: (JSYS4SZ)SFTAD, (534) Sets file's time and dates 3-214
* SFUST: (JSYS4SZ)SFUST, (551) Sets author and last writer name strings 3-215
* SIBE: (JSYS4SZ)SIBE, (102) Skips if input buffer is empty 3-216
* SIN: (JSYS4SZ)SIN, (52) Performs string input 3-216
* SINM: (JSYS4SZ)SINM, (571) Reads data from block-mode terminals x-xx
* SINR: (JSYS4SZ)SINR, (531) Performs record input 3-218
* SIR: (JSYS4SZ)SIR, (125) Sets software interrupt table addresses 3-219
* SIRCM: (JSYS4SZ)SIRCM, (142) Sets inferior reserved channel mask 3-220
* SIZEF: (JSYS4SZ)SIZEF, (36) Gets the size of a file 3-221
* SJPRI: (JSYS4SZ)SJPRI, (245) Sets job's priority 3-221
* SKED%: (JSYS4SZ)SKED%, (577) Performs services relating to the class scheduler x-xx
* SKPIR: (JSYS4SZ)SKPIR, (127) Tests the state of the software interrupt system 3-222
* SNDIM: (JSYS4SZ)SNDIM, (750) Sends a message to ARPANET special message queue x-xx
* SMON: (JSYS4SZ)SMON, (6) Sets monitor flags 3-222
* SNOOP: (JSYS4SZ)SNOOP, (516) Performs system analysis 3-223
* SOBE: (JSYS4SZ)SOBE, (103) Skips if output buffer is empty 3-227
* SOBF: (JSYS4SZ)SOBF, (175) Skips if output buffer is full 3-227
* SOUT: (JSYS4SZ)SOUT, (53) Performs string output 3-228
* SOUTM: (JSYS4SZ)SOUTM, (572) Writes data to block mode terminals x-xx
* SOUTR: (JSYS4SZ)SOUTR, (532) Performs record output 3-229
* SPACS: (JSYS4SZ)SPACS, (60) Sets a page's accessibility 3-230
* SPJFN: (JSYS4SZ)SPJFN, (207) Sets the primary JFNs 3-231
* SPLFK: (JSYS4SZ)SPLFK, (314) Splices a process structure 3-232
* SPOOL: (JSYS4SZ)SPOOL, (517) Defines and initializes input spooling 3-232
* SPRIW: (JSYS4SZ)SPRIW, (243) Sets the priority word 3-234
* SSAVE: (JSYS4SZ)SSAVE, (203) Saves a file as sharable 3-235
* STAD: (JSYS4SZ)STAD, (226) Sets system date and time 3-236
* STCMP: (JSYS4SZ)STCMP, (540) Compares two strings 3-237
* STDEV: (JSYS4SZ)STDEV, (120) Translates string to device designator 3-237
* STI: (JSYS4SZ)STI, (114) Simulates terminal input 3-238
* STIW: (JSYS4SZ)STIW, (174) Sets terminal interrupt word 3-239
* STO: (JSYS4SZ)STO, (246) Simulates terminal output 3-240
* STPAR: (JSYS4SZ)STPAR, (217) Sets terminal parameters 3-241
* STPPN: (JSYS4SZ)STPPN, (556) Translates string to project-programmer number 3-242
* STSTS: (JSYS4SZ)STSTS, (25) Sets a file's status 3-242
* STTYP: (JSYS4SZ)STTYP, (302) Sets the terminal type number 3-243
* SWJFN: (JSYS4SZ)SWJFN, (47) Swaps two JFNs 3-244
* SWTRP%: (JSYS4SZ)SWTRP%, (573) Traps for arithmetic underflow or overflow conditions x-xx
* SYERR: (JSYS4SZ)SYERR, (527) Writes data to the system error file 3-244
* SYSGT: (JSYS4SZ)SYSGT, (16) Returns information for a system table 3-245
* TBADD: (JSYS4SZ)TBADD, (536) Adds entry to command table 3-245
* TBDEL: (JSYS4SZ)TBDEL, (535) Deletes entry from command table 3-246
* TBLUK: (JSYS4SZ)TBLUK, (537) Looks up entry in command table 3-246
* TEXTI: (JSYS4SZ)TEXTI, (524) Reads input from a terminal or a file 3-248
* TFORK: (JSYS4SZ)TFORK, (321) Sets and removes monitor call intercepts 3-252
* THIBR: (JSYS4SZ)THIBR, (770) Blocks the current job 3-254
* TIME: (JSYS4SZ)TIME, (14) Returns time system has been up 3-254
* TIMER: (JSYS4SZ)TIMER, (522) Sets time limit for a job 3-255
* TLINK: (JSYS4SZ)TLINK, (216) Controls terminal linking 3-256
* TMON: (JSYS4SZ)TMON, (7) Tests monitor flags 3-258
* TTMSG: (JSYS4SZ)TTMSG, (775) Sends a message to a terminal 3-259
* TWAKE: (JSYS4SZ)TWAKE, (771) Wakes a specified job 3-259
* UFPGS: (JSYS4SZ)UFPGS, (525) Updates file's pages 3-260
* USAGE: (JSYS4SZ)USAGE, (564) Writes entries into the accounting data file 3-260
* USRIO: (JSYS4SZ)USRIO, (310) Places program in user I/O mode 3-262
* UTEST: (JSYS4SZ)UTEST, (563) Test monitor routines 3-263
* UTFRK: (JSYS4SZ)UTFRK, (323) Resumes a process suspended because of a monitor call intercept 3-264
* VACCT: (JSYS4SZ)VACCT, (566) Validates an account 3-265
* WAIT: (JSYS4SZ)WAIT, (306) Dismisses process until interrupt occurs 3-266
* WFORK: (JSYS4SZ)WFORK, (163) Waits for processes to terminate 3-266
* WILD%: (JSYS4SZ)WILD%, (565) Compares wild and non-wild strings x-xx
Node: SACTF Previous: (JSYS4NR)RWSET Next: SAVE Up: Top
SACTF JSYS 62
Sets the account to which the specified file is to be charged.
ACCEPTS IN AC1: JFN
AC2: account number in bits 3-35 if bits 0-2 are 5.
Otherwise contains a byte pointer to an account
string in the address space of caller. If a null
byte is not seen, the string is terminated after 39
characters are processed.
RETURNS +1: failure, error code in AC1
+2: success, updated string pointer in AC2
If the account validation facility is enabled, the SACTF call verifies
the account given and returns an error if it is not valid for the
caller.
The GACTF monitor call can be used to obtain the account designator to
which a file is being charged.
SACTF ERROR MNEMONICS:
DESX1: invalid source/destination designator
DESX3: JFN is not assigned
DESX4: invalid use of terminal designator or string pointer
SACTX1: file is not on multiple-directory device
SACTX2: insufficient system resources (Job Storage Block full)
SACTX3: directory requires numeric account
SACTX4: write or owner access required
VACCX0: invalid account
VACCX1: account string exceeds 39 characters
VACCX2: account has expired
Node: SAVE Previous: SACTF Next: SCTTY Up: Top
SAVE JSYS 202
Saves, in nonsharable format, pages of a process into the specified
file. (Refer to Section 2.7.1 for the format of a nonsharable save
(SAVE)
file.) This file can then be copied into a given process with the GET
monitor call.
ACCEPTS IN AC1: process handle in the left half, and JFN in the right
half
AC2: one table entry, or 0 in the left half and pointer to
the table in the right half (see below)
RETURNS +1: always
The table has words in the format: length of the area to save in the
left half and address of the first word to save in the right half.
The table is terminated by a 0 word.
Nonexistent pages are not saved. The SAVE call also does not save the
accumulators. Thus, it is possible to save all assigned nonzero
memory with the one table entry 777760,,20 in AC2.
The SAVE call closes and releases the given JFN.
Can cause several software interrupts or process terminations on
certain file conditions.
Generates an illegal instruction interrupt on error conditions below.
SAVE ERROR MNEMONICS:
FRKHX1: invalid process handle
FRKHX2: illegal to manipulate a superior process
FRKHX3: invalid use of multiple process handle
FRKHX8: illegal to manipulate an execute-only process
SAVX1: illegal to save files on this device
IOX11: quota exceeded or disk full
All file errors can also occur.
Node: SCTTY Previous: SAVE Next: SCVEC Up: Top
SCTTY JSYS 324
Redefines the controlling terminal for the specified process and all
of its inferiors. The controlling terminal can be redefined at any
level in the job's process structure; inferior processes below this
level will use this terminal by default as their controlling terminal.
Therefore, the controlling terminal of a process is defined to be:
(SCTTY)
1. The one that has been explicitly defined for it via a SCTTY
call.
2. If no terminal has been explicitly defined for the process,
the terminal that has been explicitly defined for its closest
superior via a SCTTY call.
3. If no SCTTY call has been executed for a superior process,
the job's controlling terminal.
The effect of terminal interrupts on a process is dictated by the
controlling terminal for the process. This means that processes that
have enabled specific terminal characters will receive an interrupt
when those characters are typed on the controlling terminal. If no
SCTTY call has been executed for any process in the job, the
controlling terminal for all processes within the job is the job's
controlling terminal. (The job's controlling terminal is usually the
one used to log in and control the job.) In addition to being the
source of all terminal interrupts, the job's controlling terminal
serves as the primary I/O designators (refer to Section 1.1) for all
processes in the job, unless these designators have been changed for a
process.
When a SCTTY call is executed for a process within a job, the
controlling terminal and the source of terminal interrupts are changed
for that process and all of its inferiors. This group of processes
will receive interrupts only from the new controlling terminal and no
longer from the job's controlling terminal. These processes cannot
receive or change terminal interrupts from any other controlling
terminals. However, primary I/O will continue to be received from and
sent to the job's controlling terminal if the primary I/O designators
have not been changed. For most applications, the primary I/O
designators should be changed with the SPJFN call to correspond to the
new controlling terminal.
ACCEPTS IN AC1: function code in the left half, and process handle in
the right half
AC2: terminal designator
RETURNS +1: always
The available functions are as follows:
Code Symbol Meaning
0 .SCRET Return the designator of the given process'
controlling terminal. The designator is
returned in AC2.
1 .SCSET Change the given process' controlling
terminal to the terminal designated in AC2.
The terminal designator cannot refer to the
job's controlling terminal. This function
also changes the controlling terminal of all
(SCTTY)
processes inferior to the given process.
2 .SCRST Reset the given process' controlling terminal
to the job's controlling terminal. This
function also resets the controlling terminal
of all processes inferior to the given
process.
Functions .SCSET and .SCRST require the process to have the SC%SCT
capability (refer to Section 2.6.1) enabled in its capability word.
The SCTTY monitor call cannot be used to change the controlling
terminal for the current process or for any process superior to the
current process.
Generates an illegal instruction interrupt on error conditions below.
SCTTY ERROR MNEMONICS:
SCTX1: invalid function code
SCTX2: terminal already in use as controlling terminal
SCTX3: illegal to redefine the job's controlling terminal
SCTX4: SC%SCT capability required
FRKHX1: invalid process handle
FRKHX2: illegal to manipulate a superior process
DESX1: invalid source/destination designator
DEVX2: device already assigned to another job
Node: SCVEC Previous: SCTTY Next: SDSTS Up: Top
SCVEC JSYS 301
Sets the entry vector and the UUO locations for the compatibility
package.
ACCEPTS IN AC1: process handle
AC2: entry vector length in the left half, and entry
vector address in the right half
AC3: UUO location in the left half, and PC location in the
right half
RETURNS +1: always
(SCVEC)
The compatibility package's entry vector is as follows:
Word Symbol Meaning
0 .SVEAD Entry address for interpreting UUO's
1 .SVINE Initial entry for setup and first UUO
2 .SVGET Entry for GET share file routine (obsolete)
3 .SV40 Address to receive contents of location 40 on
the UUO call
4 .SVRPC Address to receive the return PC word on the
UUO call
5 .SVMAK Entry for MAKE share file routine (obsolete)
6 and 7 .SVCST Communication for handling CTRL/C, START
sequences between the compatibility package
and the TOPS-20 Command Language
The monitor transfers to the address specified in the right half of
AC2 on any monitor call whose operation code is 040-077 (i.e., monitor
UUO). This transfer occurs after the monitor stores the contents of
location 40 and the return PC in the locations specified by the left
half and right half of AC3, respectively. The entry vector is
retained but is not used by the monitor.
If AC2 is 0, the next UUO causes the compatibility package to be
merged into the caller's address space. In this case, the UUO and PC
locations are set from words 3 and 4, respectively, of the
compatibility package's entry vector.
If AC2 is -1, UUO simulation is disabled, and an occurrence of a UUO
is considered an illegal instruction. This action is useful when the
user is removing UUO's from a program.
The GCVEC monitor call can be used to obtain the entry vector for the
compatibility package.
SCVEC ERROR MNEMONICS:
FRKHX1: invalid process handle
FRKHX2: illegal to manipulate superior process
FRKHX3: invalid use of multiple process handle
FRKHX4: process is running
FRKHX8: illegal to manipulate an execute-only process
(SDSTS)
Node: SDSTS Previous: SCVEC Next: SDVEC Up: Top
SDSTS JSYS 146
Sets the status of a device. (Refer to Section 2.4 for the
descriptions of the status bits.) This call requires that the device
be opened.
ACCEPTS IN AC1: JFN
AC2: new status bits
RETURNS +1: always
The SDSTS call is a no-op for devices that do not have
device-dependent status bits.
The GDSTS monitor call can be used to obtain the status bits for a
particular device.
Generates an illegal instruction interrupt on error conditions below.
SDSTS ERROR MNEMONICS:
DESX1: invalid source/destination designator
DESX2: terminal is not available to this job
DESX3: JFN is not assigned
DESX4: invalid use of terminal designator or string pointer
DESX5: file is not open
DESX9: invalid operation for this device
Node: SDVEC Previous: SDSTS Next: SETER Up: Top
SDVEC JSYS 543
Sets the entry vector for the Record Management System (RMS).
RESTRICTIONS: requires RMS and BASIC software
ACCEPTS IN AC1: process handle
AC2: entry vector length in the left half, and entry
vector address in the right half
RETURNS +1: always
The Record Management System's entry vector is as follows:
(SDVEC)
Word Symbol Meaning
0 .SDEAD Entry address for the RMS calls
1 .SDINE Inital entry for the first RMS call
2 .SDVER Pointer to RMS version block
3 .SDDMS Address in which to store the RMS call
4 .SDRPC Address in which to store return PC word
The GDVEC monitor call can be used to obtain the entry vector for RMS.
Generates an illegal instruction interrupt on error conditions below.
SDVEC ERROR MNEMONICS:
ILINS5: RMS facility is not available
FRKHX8: illegal to manipulate an execute-only process
Node: SETER Previous: SDVEC Next: SETJB Up: Top
SETER JSYS 336
Sets the most recent error condition encountered by a process. This
error condition is stored in the process' Process Storage Block.
ACCEPTS IN AC1: process handle
AC2: error code that is to be set
RETURNS +1: always
The GETER monitor call can be used to obtain the most recent error
condition encountered by a process.
Generates an illegal instruction interrupt on error conditions below.
SETER ERROR MNEMONICS:
FRKHX1: invalid process handle
FRKHX2: illegal to manipulate a superior process
FRKHX3: process is running
FRKHX8: illegal to manipulate an execute-only process
Node: SETJB Previous: SETER Next: SETNM Up: Top
SETJB JSYS 541
(SETJB)
Sets job parameters for the specified job.
RESTRICTIONS: some functions require WHEEL or OPERATOR capability
enabled
ACCEPTS IN AC1: job number, or -1 for the current job
AC2: function code
AC3: value for function
RETURNS +1: always
The available functions, along with the legal values for these
functions, are described below.
Function Values Meaning
.SJDEN(0) Set default for magnetic tape density.
.SJDDN(0) System default density
.SJDN2(1) 200 bits/inch (8.1 rows/mm)
.SJDN5(2) 556 bits/inch (22.5 rows/mm)
.SJDN8(3) 800 bits/inch (32.2 rows/mm)
.SJD16(4) 1600 bits/inch (65.3 rows/mm)
.SJD62(5) 6250 bits/inch (246 rows/mm)
.SJPAR(1) Set default for magnetic tape parity.
.SJPRO(0) Odd parity
.SJPRE(1) Even parity
.SJDM(2) Set default for magnetic tape data mode.
.SJDDM(0) System default data mode
.SJDMC(1) Dump mode
.SJDM6(2) SIXBIT byte mode (7-track drives)
.SJDMA(3) ANSI ASCII mode (7 bits in 8-bit
bytes)
.SJDM8(4) Industry compatible mode
.SJDMH(5) High-density mode for TU70 and TU72
tape drives only (nine 8-bit bytes in
two words)
.SJRS(3) Set default for magnetic tape record
size in bytes. The maximum allowable
number of bytes depends on the hardware
data mode specified for the drive:
Maximum
Data Mode Number Bytes
default -
dump 8192
SIXBIT 49152
(SETJB)
ANSI ASCII 40960
industry compatible 32768
high density 8192
Note that the SETJB JSYS will not return
an error message if the above values are
exceeded. However, the OPENF or the
first data transfer (whichever is
performed first after function .SJDM)
will fail. Note that MTOPR function
.MOSRS can be used to override the
default record size specified with SETJB
function .SJDM.
.SJDFS(4) Set spooling mode.
.SJSPI(0) Immediate mode spooling
.SJSPD(1) Deferred mode spooling
.SJSRM(5) Set remark for current job session. AC3
contains a pointer to the session
remark, which is updated on a successful
return. The first 39 characters of the
session remark are placed in the job's
Job Storage Block.
.SJT20(6) Indicate if job is at EXEC level or
program level.
-1 job is at EXEC level
0 job is at program level
.SJDFR(7) Set job default retrieval. Allows a
user to override the system default for
OPENF.
.SJRFA(0) OPENF should always fail if file's
contents are not online. This is the
system default.
.SJRWA(1) OPENF should wait for the ARCF JSYS to
restore the contents of a file to
disk.
The SETJB monitor call requires the process to have WHEEL or OPERATOR
capability enabled to set parameters for a job other than the current
job.
The GETJI monitor call can be used to obtain the job parameters for a
specified job.
Generates an illegal instruction interrupt on error conditions below.
SETJB ERROR MNEMONICS:
SJBX1: invalid function
(SETJB)
SJBX2: invalid magnetic tape density
SJBX3: invalid magnetic tape data mode
SJBX4: invalid job number
SJBX5: job is not logged in
SJBX6: WHEEL or OPERATOR capability required
SJBX7: remark exceeds 39 characters
SJBX8: illegal to perform this function
Node: SETNM Previous: SETJB Next: SETSN Up: Top
SETNM JSYS 210
Sets the private name of the program being used by the current job.
This name is the one printed on SYSTAT listings.
ACCEPTS IN AC1: SIXBIT name used to identify program
RETURNS +1: always
The GETNM monitor call can be used to obtain the name of the program
currently being used.
Node: SETSN Previous: SETNM Next: SEVEC Up: Top
SETSN JSYS 506
Sets either the system name or the private name of the program being
used by the current job.
ACCEPTS IN AC1: SIXBIT name to be used as the system name. This name
is the one used for system statistics.
AC2: SIXBIT name to be used as the private name. This
name is the same as the one set with the SETNM call.
RETURNS +1: failure. (Currently, there are no failure returns
defined.)
+2: success
System program usage statistics are accumulated in the system tables
SNAMES, STIMES, and SPFLTS. (Refer to Section 2.3.2.) To make this
(SETSN)
possible, the SETSN call must be executed by each job whenever the
system program name is changed. In the usual case, the TOPS-20
Command Language handles this. The argument to SETSN should be: for
system programs (programs from SYS:) the filename, truncated to six
characters and converted to SIXBIT; for private programs, "(PRIV)."
Node: SEVEC Previous: SETSN Next: SFACS Up: Top
SEVEC JSYS 204
Sets the entry vector of the specified process. (Refer to Section
2.7.3.)
ACCEPTS IN AC1: process handle
AC2: entry vector word (length in the left half and
address of first word in the right half), or 0
RETURNS +1: always
The GEVEC monitor call can be used to obtain the process' entry
vector.
Generates an illegal instruction interrupt on error conditions below.
SEVEC ERROR MNEMONICS:
FRKHX1: invalid process handle
FRKHX2: illegal to manipulate superior process
FRKHX3: invalid use of multiple process handle
FRKHX8: illegal to manipulate an execute-only process
SEVEX1: entry vector is not less than 1000
Node: SFACS Previous: SEVEC Next: SFBSZ Up: Top
SFACS JSYS 160
Sets the ACs of the specified process.
ACCEPTS IN AC1: process handle
AC2: address of the beginning of a 20(octal) word table in
the caller's address space. This table contains the
values to be placed into the ACs of the specified
process.
(SFACS)
RETURNS +1: always
The specified process must not be running.
The RFACS call can be used to obtain the ACs for a specified process.
Generates an illegal instruction interrupt on error conditions below.
SFACS ERROR MNEMONICS:
FRKHX1: invalid process handle
FRKHX2: illegal to manipulate a superior process
FRKHX3: invalid use of multiple process handle
FRKHX4: process is running
FRKHX8: illegal to manipulate an execute-only process
Node: SFBSZ Previous: SFACS Next: SFCOC Up: Top
SFBSZ JSYS 46
Resets the byte size for a specific opening of a file. (Refer to the
OPENF and RFBSZ calls descriptions.)
ACCEPTS IN AC1: JFN
AC2: byte size, right-justified
RETURNS +1: failure, error code in AC1
+2: success
The SFBSZ monitor call recomputes the EOF limit and the file's pointer
based on the new byte size given.
SFBSZ ERROR MNEMONICS:
DESX1: invalid source/destination designator
DESX2: terminal is not available to this job
DESX3: JFN is not assigned
DESX4: invalid use of terminal designator or string pointer
DESX5: file is not open
DESX8: file is not on disk
(SFBSZ)
SFBSX1: illegal to change byte size for this opening of file
SFBX2: invalid byte size
Node: SFCOC Previous: SFBSZ Next: SFMOD Up: Top
SFCOC JSYS 113
Sets the control character output control (CCOC) for the specified
terminal. (Refer to Section 2.4.3.2 and the RFCOC call description.)
ACCEPTS IN AC1: file designator
AC2: control character output control word
AC3: control character output control word
RETURNS +1: always
The CCOC words consist of 2-bit bytes, each byte representing the
output control for one of the ASCII codes 0-37.
The SFCOC call is a no-op if the designator is not associated with a
terminal.
The RFCOC monitor call can be used to obtain the CCOC words for a
specified terminal.
SFCOC ERROR MNEMONICS:
DESX1: invalid source/destination designator
DESX2: terminal is not available to this job
DESX3: JFN is not assigned
DESX5: file is not open
DEVX2: device already assigned to another job
TTYX01: line is not active
Node: SFMOD Previous: SFCOC Next: SFORK Up: Top
SFMOD JSYS 110
Sets the program-related modes for the specified terminal. The modes
that can be set by this call are in the following bits of the JFN mode
(SFMOD)
word. (Refer to Section 2.4.3.1.)
B0(TT%OSP) output suppression control
B18-B23(TT%WAK) wakeup control
B24(TT%ECO) echoes on
B28-B29(TT%DAM) data mode
ACCEPTS IN AC1: file designator
AC2: JFN mode word
RETURNS +1: always
The SFMOD call is a no-op if the designator is not associated with a
terminal.
The STPAR monitor call can be used to set device-related modes of the
JFN mode word, and the RFMOD monitor call can be used to obtain the
JFN mode word.
SFMOD ERROR MNEMONICS:
DESX1: invalid source/destination designator
DESX3: JFN is not assigned
DESX5: file is not open
DEVX2: device already assigned to another job
TTYX01: line is not active
Node: SFORK Previous: SFMOD Next: SFPOS Up: Top
SFORK JSYS 157
Starts the specified process. If the process is frozen, the SFORK
call changes the PC but does not resume the process. The RFORK call
must be used to resume the process.
ACCEPTS IN AC1: process handle
AC2: the PC of the process being started. The PC contains
flags in the left half and the process start address
in the right half.
RETURNS +1: always
The SFRKV monitor call can be used to start a process at a given
position in its entry vector.
Generates an illegal instruction interrupt on error conditions below.
(SFORK)
SFORK ERROR MNEMONICS:
FRKHX1: invalid process handle
FRKHX2: illegal to manipulate a superior process
FRKHX3: invalid use of multiple process handle
FRKHX8: illegal to manipulate an execute-only process
Node: SFPOS Previous: SFORK Next: SFPTR Up: Top
SFPOS JSYS 526
Sets the position of the specified terminal's pointer. (Refer to
Section 2.4.3.4 for information on page lengths and widths of
terminals.)
ACCEPTS IN AC1: file designator
AC2: position within a page (i.e., line number) in the
left half, and position with a line (i.e., column
number) in the right half
RETURNS +1: always
The SFPOS monitor call is a no-op if the designator is not associated
with a terminal or is in any way illegal.
The RFPOS monitor call can be used to obtain the current position of
the terminal's pointer.
SFPOS ERROR MNEMONICS:
TTYX01: line is not active
Node: SFPTR Previous: SFPOS Next: SFRKV Up: Top
SFPTR JSYS 27
Sets the position of the specified file's pointer for subsequent I/O
to the file. The SFPTR call specifying a certain byte number,
followed by a BIN call, has the same effect as a RIN call specifying
the same byte number.
ACCEPTS IN AC1: JFN
AC2: byte number to which the pointer is to be set, or -1
to set the pointer to the current end of the file
(SFPTR)
RETURNS +1: failure, error code in AC1
+2: success
The RFPTR monitor call can be used to obtain the current position of
the file's pointer.
SFPTR ERROR MNEMONICS:
DESX1: invalid source/destination designator
DESX2: terminal is not available to this job
DESX3: JFN is not assigned
DESX4: invalid use of terminal designator or string pointer
DESX8: file is not on disk
SFPTX1: file is not open
SFPTX2: illegal to reset pointer for this file
SFPTX3: invalid byte number
Node: SFRKV Previous: SFPTR Next: SFTAD Up: Top
SFRKV JSYS 201
Starts the specified process using the given position in its entry
vector.
ACCEPTS IN AC1: process handle
AC2: position (0-n) in the entry vector to use for the
start address. Position 0 is always the primary
start address, and position 1 is the reenter address.
RETURNS +1: always
The process is started at the specified position in the entry vector,
not at the location pointed to by the entry vector word.
If the process has a TOPS-10 format entry vector (JRST in the left
half) (for example, it was obtained from a TOPS-10 format save file
via a GET call), then the left half of AC2 in the SFRKV call is the
start address offset. The only legal offsets are 0 and 1, and they
are only legal for entry vector position 0 (start address). Thus, for
TOPS-10 entry vectors, the left half of AC2 will be added to the
contents of .JBSA before using this value to start the program.
(SFRKV)
Entry vector position 0 means "use the contents of .JBSA=120 as the
start address," and position 1 means "use the contents of .JBREN=124
as the reenter address."
Note that it is illegal to use an entry vector position other than 0
or 1 for an execute-only process.
Generates an illegal instruction interrupt on error conditions below.
SFRKV ERROR MNEMONICS:
FRKHX1: invalid process handle
FRKHX2: illegal to manipulate a superior process
FRKHX3: invalid use of multiple process handle
FRKHX4: process is running
FRKHX8: illegal to manipulate an execute-only process
SFRVX1: invalid position in entry vector
Node: SFTAD Previous: SFRKV Next: SFUST Up: Top
SFTAD JSYS 534
Sets the dates and times associated with the specified file.
RESTRICTIONS: some functions require WHEEL or OPERATOR capability
enabled
ACCEPTS IN AC1: source designator
AC2: address of argument block
AC3: length of argument block
RETURNS +1: always
The format of the argument block is as follows:
Word Symbol Meaning
0 .RSWRT Internal date and time file was last written.
1 .RSCRV Internal date and time file was created.
2 .RSREF Internal date and time file was last referenced.
3 .RSCRE Internal date and time of last write.
(SFTAD)
4 .RSTDT Tape-write date and time
5 .RSNET Online expiration date and time. May be a date
and time (in internal format) or an interval (in
days). Intervals are limited to half-word values.
Date/times and intervals may not exceed
system/directory maximum.
6 .RSFET Offline expiration date and time. May be a date
and time (in internal format) or an interval (in
days). Intervals are limited to half-word values.
Date/times and intervals may not exceed
system/directory maximum.
The values in the argument block for the number of words (i.e.,
length) given in AC3 are set for the file. These values are checked
against the current date and time. Values greater than the current
date and time can be set only if the process has WHEEL or OPERATOR
capability enabled. In addition, the process must have WHEEL or
OPERATOR capability enabled to set the internal system date (.RSCRE).
If the designator represents a device for which dates are meaningless
(e.g., dates for terminals), or if any value given is -1, the given
value is ignored, and the current date, if pertinent, is not changed.
If the argument block has more than four words, given values for these
words are checked to be in valid format and then ignored, if valid.
To set dates for disk files, the process must have write or owner
access to the file.
The RFTAD monitor call can be used to obtain the dates and times
associated with a specified file.
Generates an illegal instruction interrupt on error conditions below.
SFTAD ERROR MNEMONICS:
DESX1: invalid source/destination designator
DESX3: JFN is not assigned
DESX7: JFN cannot refer to output wildcard designators
DATE6: system date and time not set
STADX2: invalid date or time
CFDBX2: illegal to change specified bits
OPNX25: device is write locked
CAPX1: WHEEL or OPERATOR capability required
(SFUST)
Node: SFUST Previous: SFTAD Next: SIBE Up: Top
SFUST JSYS 551
Sets the name of either the author of the file or the user who last
wrote to the file.
RESTRICTIONS: some functions require WHEEL or OPERATOR capability
enabled
ACCEPTS IN AC1: function code in the left half, and JFN of the file
in the right half
AC2: byte pointer to ASCIZ string containing the name
RETURNS +1: always, with an updated byte pointer in AC2
The defined functions are as follows:
Code Symbol Meaning
0 .SFAUT Set the name of the author of the file.
1 .SFLWR Set the name of the user who last wrote the
file.
The GFUST monitor call can be used to return the name of either the
author of the file or the user who last wrote the file.
The process must have WHEEL or OPERATOR capability enabled to set the
writer's name or to have write or owner access to the file to set the
author's name.
Generates an illegal instruction interrupt on error conditions below.
SFUST ERROR MNEMONICS:
SFUSX1: invalid function
SFUSX2: insufficient system resources
SFUSX4: file expunged
SFUSX5: write or owner access required
SFUSX6: no such user name
DESX1: invalid source/destination designator
DESX2: terminal is not available to this job
DESX3: JFN is not assigned
DESX4: invalid use of terminal designator or string pointer
DESX7: JFN cannot refer to output wildcard designators
(SFUST)
DESX8: file is not on disk
DESX10: structure is dismounted
CAPX1: WHEEL or OPERATOR capability required
Node: SIBE Previous: SFUST Next: SIN Up: Top
SIBE JSYS 102
Tests to see if the designated file input buffer is empty.
ACCEPTS IN AC1: source designator
RETURNS +1:
(one of the following is true:)
1. The device is an active terminal and the input
buffer is not empty. AC2 contains a count of the
bytes remaining in the input buffer.
2. The device is not a terminal, is open for read,
and the input buffer is not empty. AC2 contains
a count of the bytes remaining in the input
buffer.
+2:
(one of the following is true:)
1. The device is a non-active terminal. AC2
contains the error code.
2. The device is an active terminal and the input
buffer is empty. AC2 contains zero.
3. The device is not a terminal and is not open for
read. AC2 contains zero.
4. The device is not a terminal, is open for read,
and the input buffer is empty. AC2 contains
zero.
The SOBE monitor call can be used to determine if the output buffer is
empty, and the SOBF monitor call can be used to determine if the
output buffer is full.
(SIBE)
SIBE ERROR MNEMONICS:
DESX1: invalid source/destination designator
DESX3: JFN is not assigned
DESX5: file is not open
DEVX2: device already assigned to another job
TTYX01: line is not active
Node: SIN Previous: SIBE Next: SINM Up: Top
SIN JSYS 52
Reads a string from the specified source into the caller's address
space. The string can be a specified number of bytes or terminated
with a specified byte.
ACCEPTS IN AC1: source designator
AC2: byte pointer to string in the caller's address space
AC3: count of number of bytes in string, or 0
AC4: byte (right-justified) on which to terminate input
(optional)
RETURNS +1: always, updated byte pointers in AC2 and AC1, if
pertinent, and updated count in AC3, if pertinent
The contents of AC3 controls the number of bytes to read.
AC3=0 The string being read is terminated with a 0 byte.
AC3>0 A string of the specified number of bytes is to be read
or a string terminated with the byte given in AC4 is to
be read, whichever occurs first.
AC3<0 A string of minus the specified number of bytes is to
be read.
The contents of AC4 is ignored unless the contents of AC3 is a
positive number.
The input is terminated when the byte count becomes 0, the specified
terminating byte is reached, the end of the file is reached, or an
error occurs during the transfer. The program can process an
end-of-file condition if an ERJMP or ERCAL is the next instruction
following the SIN call.
(SIN)
After execution of the call, the file's pointer is updated for
subsequent I/O to the file. AC2 is updated to point to the last byte
read or, if AC3 contained 0, the last nonzero byte read. The count in
AC3 is updated toward zero by subtracting the number of bytes read
from the number of bytes requested to be read. If the input was
terminated by an end-of-file interrupt, AC1 through AC3 are updated
(where pertinent) to reflect the number of bytes transferred before
the end of the file was reached.
When the SIN call is used to read data from a magnetic tape, the size
of the records to read is specified with either the SET TAPE
RECORD-LENGTH command or the .MOSRS function of the MTOPR call. The
default record size is 1000(octal) words. The record size must be at
least as large as the largest record being read from the tape. The
SIN call will read across record boundaries on the tape until it reads
the number of bytes requested by the contents of AC3. The call gives
the data to the program with no indication of tape marks. Thus, if
the record is 1000 bytes and a SIN call is given requesting 2000
bytes, it would return two full records to the program.
When reading in reverse, the number of bytes requested (i.e., the
count in AC3) and the record size should equal the actual size of the
record on the tape. (Refer to Section 2.4.2.1 for more information
about magnetic tape I/O.)
Can cause several software interrupts or process terminations on
certain file conditions. (Refer to bit OF%HER of the OPENF call
description.)
Generates an illegal instruction interrupt on error conditions below.
SIN ERROR MNEMONICS:
DESX1: invalid source/destination designator
DESX2: terminal is not available to this job
DESX3: JFN is not assigned
DESX5: file is not open
IOX1: file is not open for reading
IOX4: end of file reached
IOX5: device or data error
IOX7: insufficient system resources (Job Storage Block full)
IOX8: monitor internal error
(SINM)
Node: SINM Previous: SIN Next: SINR Up: Top
SINM JSYS 571
Reads data from a block-mode terminal on a multiplexed JFN.
RESTRICTIONS: requires DECnet and ATS software
ACCEPTS IN AC1: source designator
AC2: address of argument block
RETURNS: +1 always
Argument block (user supplied):
Word Contents
0 flags,,number of words in block (including this word)
Flags:
Bit Symbol Meaning
B0 SI%TMG Truncate message if too long and give error
1 destination designator
2 0,,count of space for input
3 Reserved for user's identifier
4 Reserved for available count
Argument block (returned):
Word Contents
0 flags,,number of words in block (including this word)
Flags:
Bit Symbol Meaning
B1 SI%EOM end of terminal's message was encountered
1 updated destination designator
2 0,, updated count
3 user's identifier for terminal
4 count of available bytes
SINM ERROR MNEMONICS:
(SINM)
ARGX17: invalid argument block length
ARGX22: Invalid flags
ATSX06: JFN is not an ATS JFN
ATSX09: Table length too large
ATSX11: Byte count is too large
DESX4: invalid use of terminal designator or string pointer
IOX1: file is not open for reading
Node: SINR Previous: SINM Next: SIR Up: Top
SINR JSYS 531
Reads a record from the specified magnetic tape into the caller's
address space. The maximum size of the record to read is specified
with either the SET TAPE RECORD-LENGTH command or the .MOSRS function
of the MTOPR call. The default record size is 1000(octal) words.
Refer to Section 2.4.2.1 for more information about magnetic tape I/O.
ACCEPTS IN AC1: source designator
AC2: byte pointer to string in the caller's address space
AC3: count of number of bytes in string, or 0
AC4: byte (right-justified) on which to terminate input
(optional)
RETURNS +1: always, updated byte pointers in AC2 and AC1, if
pertinent, and updated count in AC3, if pertinent
The contents of AC3 and AC4 are interpreted in the same manner as they
are in the SIN monitor call.
Each SINR call returns one record to the caller. Thus, the caller can
read variable-length records by indicating in AC3 the number of bytes
to read. Upon execution of the call, AC3 is updated to reflect the
number of bytes read (i.e., the number of bytes in the record).
The number of bytes read depends on the number of bytes requested and
the record size. When using SINR, the program must set the record
size to a value greater than or equal to the actual size of the
largest record being read from the tape, or an error (IOX5) will be
returned. If the SINR call requests the same number of bytes as the
record size, the requested number is given to the caller. When the
record size equals the size of the actual record, all bytes in the
(SINR)
record are read, and AC3 contains 0 on return. When the record size
is larger than the actual record, all bytes of the record are read,
but AC3 contains the difference of the number requested and the number
read. If the SINR call requests fewer bytes than in the actual
record, the requested number is given to the caller, the remaining
bytes are discarded, and an error (IOX10) is returned. In all cases,
the next request for input begins reading at the first byte of the
next record on the tape because a SINR call never reads across record
boundaries.
When reading in reverse, the number of bytes requested (i.e., the
count in AC3) should be at least as large as the size of the record on
the tape. If the requested number is smaller, the remaining bytes in
the record are discarded from the beginning of the record.
The action taken on a SINR call differs from the action taken on a SIN
call. The SIN call reads across record boundaries to read all the
bytes in a file. The SINR call does not read across record boundaries
and will discard some bytes in the file if the requested number is
smaller than the actual record.
Can cause several software interrupts or process terminations on
certain file conditions. (Refer to bit OF%HER of the OPENF call
description.)
Generates an illegal instruction interrupt on error conditions below.
SINR ERROR MNEMONICS:
DESX1: invalid source/destination designator
DESX3: JFN is not assigned
DESX5: file is not open
IOX1: file is not open for reading
IOX4: end of file reached
IOX5: device or data error
IOX7: insufficient system resources (Job Storage Block full)
IOX8: monitor internal error
IOX10: record is longer than user requested
Node: SIR Previous: SINR Next: SIRCM Up: Top
SIR JSYS 125
Sets the channel and priority level table addresses for the specified
(SIR)
process. (Refer to Section 2.5.3.) These addresses are in the
specified process' address space.
ACCEPTS IN AC1: process handle
AC2: address of the priority level table in the left half,
and address of the channel table in the right half
RETURNS +1: always. The addresses in AC2 are stored in the
Process Storage Block.
If the contents of the tables are changed after execution of the SIR
call, the new contents will be used on the next interrupt.
The RIR monitor call can be used to obtain the table addresses for a
specified process.
Generates an illegal instruction interrupt on error conditions below.
SIR ERROR MNEMONICS:
SIRX1: table address is not greater than 20
FRKHX1: invalid process handle
FRKHX2: illegal to manipulate a superior process
FRKHX3: invalid use of multiple process handle
FRKHX8: illegal to manipulate an execute-only process
Node: SIRCM Previous: SIR Next: SIZEF Up: Top
SIRCM JSYS 142
Sets the mask for reserved software interrupt channels for the
specified inferior process. Conditions occurring on software channels
that have the corresponding mask bit set do not generate an interrupt
to the inferior process. Instead, the conditions cause the process to
terminate or freeze.
ACCEPTS IN AC1: inferior process handle
AC2: channel mask with bits set for reserved channels
AC3: deferred terminal interrupt word
RETURNS +1: always
The RIRCM monitor call can be used to obtain the mask for reserved
software interrupt channels. Although a process can read its own
channel mask, it cannot set its own; the SIRCM call can be given only
(SIRCM)
for inferior processes. This call provides a facility for a superior
process to monitor an inferior one (e.g., illegal instructions, memory
traps). However, if the inferior process contains an ERJMP or ERCAL
symbol after instructions that generate an interrupt on failure, the
ERJMP or ERCAL will prevent the generation of the interrupt. Thus,
the superior will not be able to monitor the inferior with the SIRCM
call.
Generates an illegal instruction interrupt on error conditions below.
SIRCM ERROR MNEMONICS:
FRKHX1: invalid process handle
FRKHX2: illegal to manipulate a superior process
FRKHX3: invalid use of multiple process handle
FRKHX8: illegal to manipulate an execute-only process
Node: SIZEF Previous: SIRCM Next: SJPRI Up: Top
SIZEF JSYS 36
Returns the length of an existing file.
ACCEPTS IN AC1: JFN
RETURNS +1: failure, error code in AC1
+2: success, byte count that referenced the last byte
written into the file in AC2, and number of pages
(512 words) in file in AC3. The byte count returned
depends on the byte size recorded in the FDB and not
on the byte size specified in the OPENF call.
For a file with holes, the byte count in AC2 does not reflect the
file's actual size.
The GTFDB monitor call can be used to obtain the byte size in which
the file was written.
SIZEF ERROR MNEMONICS:
DESX1: invalid source/destination designator
DESX2: terminal is not available to this job
DESX3: JFN is not assigned
DESX4: invalid use of terminal designator or string pointer
(SJPRI)
Node: SJPRI Previous: SIZEF Next: SKED% Up: Top
SJPRI JSYS 245
Sets the job priority by specifying the scheduler priority control
word for any job. The priority word is set for the top process and
for all existing inferior processes. Also, the priority word is
passed down to any forks that are created subsequent to the SJPRI
call.
RESTRICTIONS: requires WHEEL or OPERATOR capability enabled
ACCEPTS IN AC1: job number
AC2: priority word
RETURNS +1: always
The priority word contains a percentage of CPU resources in the left
half and 0 in the right half. By placing the desired percentage
(1-99) in the left half, a job can be guaranteed a certain percentage
of CPU time. A priority word of 0 indicates no special priority.
Generates an illegal instruction interrupt on error conditions below.
SJPRI ERROR MNEMONICS:
WHELX1: WHEEL or OPERATOR capability required
SJPRX1: job is not logged in
Node: SKED% Previous: SJPRI Next: SKPIR Up: Top
SKED% JSYS 577
Reads or modifies the monitor's data base relating to the class
scheduler.
RESTRICTIONS: Some functions require WHEEL or OPERATOR capability
enabled
ACCEPTS IN AC1: function code
AC2: address of argument block
RETURNS +1: always
The available functions are:
Code Symbol Function
1 .SKRBC Read bias control knob setting. Return a value
indicating the setting of the bias control knob.
(SKED%)
This setting determines whether the scheduler favors
compute-bound jobs or interactive jobs.
Argument block (returned):
Word Symbol Contents
0 .SACNT Count of words in argument block
(Including this word)
1 .SAKNB Bias control knob setting
2 .SKSBC Set bias control setting to the specified value.
Currently, the value may be an integer n such that
0< n <21. Requires WHEEL or OPERATOR capabilities
enabled.
Argument block (user supplied):
Word Symbol Contents
0 .SACNT Count of words in
argument block (Including this
word)
1 .SAKNB Bias control knob setting
3 .SKRCS Read class parameters. Returns the following
values:
1. Class of the job
2. Share of the processor allocated for this class.
The share is returned as a floating-point value
n, such that 0<= n <=1.
3. Use - amount of processor actually used by the
class. The use is returned as a floating-point
value n, such that 0<= n <=1.
4. 1 minute load average. The load average =
1/((1/J)*P) where J is the number of
CPU-runnable jobs in the class for the time
period and P is the fraction of CPU allocated to
the class. Thus 3 jobs running in a 50% class
would produce a load average of 6.
5. 5 minute load average
6. 15 minute load average
Argument block (returned):
(SKED%)
Word Symbol Contents
0 .SACNT Count of words in argument block
(Including this word)
1 .SACLS Class
2 .SASHR Share
3 .SAUSE Use
4 .SA1ML 1 minute load average
5 .SA5ML 5 minute load average
6 .SA15L 15 minute load average
4 .SKSCS Set class parameters (as described above).
Argument block (returned):
Word Symbol Contents
0 .SACNT Count of words in argument block
(Including this word)
1 .SACLS Class
2 .SASHR Share
5 .SKICS Start or stop the class scheduler. If the class
scheduler is being started, this function also
specifies the mode in which class-to-user
assignments are made and whether windfall is to be
allocated to the active classes or withheld from the
active classes.
Argument block (user specified):
Word Symbol Contents
0 .SACNT Count of words in argument block
(Including this word)
1 .SACTL Control flags
The flags are as follows:
Bit Symbol Meaning
B0 SK%ACT Class by
accounts
B1 SK%WDF Withhold
windfall
(SKED%)
B2 SK%STP Class
scheduler off
6 .SKSCJ Set the class of a job. This function takes a pair
of numbers, the job to set and the desired class.
If setting the class of the calling job, this
function is not privileged. If setting the class of
another job, it requires WHEEL or OPERATOR
capabilities enabled. In either case, the job must
be allowed to reside in the selected class. The
calling job may be designated by -1.
Argument block (user supplied)
Word Symbol Contents
0 .SACNT Count of words in argument block
(Including this word)
1 .SAJOB Job number
2 .SAJCL Class of job
7 .SKRJP Read class parameters for a job
Returns the following values:
1. Job's share of the processor. This value is
returned as a floating-point value n, such that
0<= n <=1.
2. Job's use of the processor. This value is
returned as a floating-point value n, such that
0<= n <=1.
Argument block (returned):
Word Symbol Contents
0 .SACNT Count of words in argument block
(including this word)
1 .SAJSH Job's share allotment
2 .SAJUS Job's current use
10 .SKBCR Read the class setting for batch jobs. A -1
indicates that there is no special class for batch
jobs.
Argument block (returned):
Word Symbol Contents
(SKED%)
0 .SACNT Count of words in argument block
(Including this word)
1 .SABCL Batch class
11 .SKBCS Set batch class. Specifies the class in which all
batch jobs will run. A -1 indicates no special
class for batch jobs. If this is set, it overrides
the valid classes for any user running a batch job.
Argument block (user supplied)
Word Symbol Contents
0 .SACNT Count of words in argument block
(Including this word)
1 .SABCL Batch class
12 .SKBBG Run all batch jobs in the "dregs" queue. The dregs
queue is a special queue whose processes are only
allowed to run when no normally scheduled processes
are available to run.
This function applies only if the class scheduler is
not being used. The argument is either 0 (clear) or
non-zero (set). A non-zero indicates that batch
jobs should be run in the "dregs" queue.
Argument block (returned):
Word Symbol Contents
0 .SACNT Count of words in argument block
(Including this word)
1 .SADRG Flag word.
0 = don't run in dregs queue
non-zero = run in dregs queue
13 .SKDDC Reserved
14 .SKRCV Read status.
Argument block (returned):
Word Symbol Contents
0 .SACNT Count of words in argument block
(Including this word)
1 .SACTL Flags
(SKED%)
The flags are as follows:
Bit Symbol Meaning
B0 SK%ACT Class by
accounts
B1 SK%WDF Withhold
windfall
B2 SK%STP Class
scheduler off
B3 SK%DRG Batch jobs are
being run in
dregs queue
SKED% ERROR MNEMONICS:
ARGX02: invalid function
CAPX1: WHEEL or OPERATOR capability required
Node: SKPIR Previous: SKED% Next: SMON Up: Top
SKPIR JSYS 127
Tests to see if the software interrupt system is enabled for the
specified process.
ACCEPTS IN AC1: process handle
RETURNS +1: failure, software interrupt system is off
+2: success, software interrupt system is on
The EIR monitor call is used to enable the software interrupt system,
and the DIR monitor call is used to disable the system.
Generates an illegal instruction interrupt on error conditions below.
SKPIR ERROR MNEMONICS:
FRKHX1: invalid process handle
FRKHX2: illegal to manipulate a superior process
FRKHX3: invalid use of multiple process handle
Node: SMON Previous: SKPIR Next: SNDIM Up: Top
SMON JSYS 6
Sets various monitor flags.
RESTRICTIONS: requires WHEEL or OPERATOR capability enabled. Some
functions are for ARPANET systems only.
ACCEPTS IN AC1: function code
AC2: new value for the indicated function
RETURNS +1: always
The codes for the functions are as follows:
Code Symbol Meaning
0 .SFFAC FACT file entries are allowed.
1 .SFCDE CHECKD found errors.
2 .SFCDR CHECKD is running.
3 .SFMST Manual start is in progress.
4 .SFRMT Remote LOGINs (dataset lines) are allowed.
5 .SFPTY PTY LOGINs are allowed.
6 .SFCTY CTY LOGINs are allowed.
7 .SFOPR Operator is in attendance.
10 .SFLCL Local LOGINs (hardwired lines) are allowed.
11 .SFBTE Bit table errors found on startup.
12 .SFCRD Users can change nonprivileged directory
parameters with the CRDIR monitor call.
13 .SFNVT ARPANET terminal LOGINs are allowed.
21 .SFUSG USAGE file entries are allowed.
22 .SFFLO Disk latency optimization using the RH20 backup
register is enabled. This feature is not to be
enabled unless the M8555 board of the RH20 is at
Revision Level D AND either of the KL10-C
processor is at Revision Level 10 or KL10-E
processor is at Revision Level 2.
23 .SFMTA If set, indicates that MOUNTR magtape allocation
is enabled.
35 .SFPNV Ethernet logins are allowed.
44 .SFNTN Turn ARPANET on.
45 .SFNDU Reinitialize ARPANET if it is down.
46 .SFNHI Initialize ARPANET host table.
47 .SFTMZ Set the local time zone to the value given in AC2.
50 .SFLHN Set the local ARPANET host number to the value
given in AC2.
51 .SFAVR Account validation will be running on this system.
52 .SFSTS Enable/disable status reporting.
53 .SFSOK Set GETOK% defaults
For this function, AC2 is set up as follows:
AC2: Flags,,GETOK% function code
Flags:
Bit Symbol Meaning
1B0 SF%EOK 0 = Disable access checking
1 = Enable access checking
1B1 SF%DOK 0 = Deny access if checking disabled
1 = Allow access if checking disabled
This function should be given by the
access-control program (supplied by the
installation) to turn on access checking for each
of the desired functions. It is also used to set
the default action for each function that is not
being checked by the access-control program.
Installation-defined function codes (400000+n) can
be enabled/disabled by using function code 400000.
If there is no access-control program, the default
action of the GETOK% JSYS will be to deny access
for any installation-defined function code.
See the description of the GETOK% JSYS for GETOK%
function codes.
54 .SFMCY Specifies the maximum offline expiration period
(tape recycle period) in days for ordinary files.
55 .SFRDU Read date update function
56 .SFACY Specifies the maximum offline expiration period
(tape recycle period) in days for archive files.
57 .SFRTW Sets/clears the no-retrieval-waits flag in the
monitor. When set, this specifies that those file
retrievals requests that are waiting for the
retrieval should fail rather than wait.
60 .SFTDF Set tape mount controls
Flags:
Bit Symbol Meaning
1B0 MT%UUT Set = unload unrecognizable
tapes
Clear = treat unrecognizable
tapes as unlabeled
61 .SFWSP Enable working set preloading
62 .SFDIR Initialize Pup directory.
63 .SFROU Set pup routing table entry. Call:
AC2: net number
AC3: Mask of bits to change.
AC4: new value for those bits
Returns +1 always with:
AC4: updated value of the routing table entry
A routing table entry has the following format:
1B0 Network inaccessible.
1B1 Broadcast packets allowed on net.
1B2-1B9 Net number to which packets should be routed.
Zero means route directly.
1B10-1B17 Host to which packets should be routed.
Zero means route directly.
1B18-1B35 Our address on this net.
Zero means not on this network.
64 .SFBUG Enable Pup bug logging.
65 .SFMEI Initialize a MEIS to begin reception of datagrams
intended for a host on the specified network.
Up to 256 host numbers be specified in successive
calls. Note that the network must be the same for
each call. The first call sets the routing table
entry for the network.
AC2: host number,,network number
AC3: MEIS serial number
Returns MTOX17 error if MEIS not found, SMONX2 if
bad host or network numbers given.
66 .SFETH Obsolete. Returns SMONX2 error always.
The TMON monitor call can be used to obtain the settings of the
various monitor flags.
Generates an illegal instruction interrupt on error conditions below.
GOKER3: Access control job already running
SMON ERROR MNEMONICS:
SMONX1: WHEEL or OPERATOR capability required
(SMON)
SMONX2: invalid SMON function
Node: SNDIM Previous: SMON Next: SNOOP Up: Top
SNDIM JSYS 750
Places a message in a previously assigned ARPANET special message
queue.
RESTRICTIONS: for ARPANET systems only.
ACCEPTS IN AC1: special queue handle
AC2: address of an extended message
RETURNS +1: failure, error code in AC1
+2: success, message queued
See BBN Report No. 1822 for the format of the message.
The RCVIM JSYS can be used to retrieve a message from the special
message queue.
SNDIM ERROR MNEMONICS:
SNDIX1: Invalid message size
SNDIX2: Insufficient system resources
(no buffers available)
SNDIX3: Illegal to specify NCP links 0-72
SNDIX4: Invalid header value for this queue
SNDIX5: IMP down
SQX1: Special network queue handle out of range
SQX2: Special network queue not assigned
Node: SNOOP Previous: SNDIM Next: SOBE Up: Top
SNOOP JSYS 516
Performs system performance analysis. The process can patch any
instruction in the monitor with this call. For example, the user
program can build a PC histogram by patching an instruction in the
(SNOOP)
code for the 1.0-millisecond clock.
The general procedure for using the SNOOP call is as follows:
1. The user program supplies a set of breakpoint routines that
are called by the monitor when control reaches one of the
patched instructions. These routines are mapped into the
monitor's address space into an area selected by the monitor.
Thus, the routines must have self-relocating code or must be
relocated by the user program to where they will be run,
based on the monitor address supplied by the monitor.
2. The user program defines a number of breakpoints, analogous
to DDT breakpoints.
3. The user program inserts all of the breakpoints
simultaneously.
4. The user program goes to "sleep" or waits for terminal input
while its breakpoint routines obtain control.
5. When the user program determines that the routines have
completed, it removes the breakpoints.
The user program breakpoint routines run in the monitor address space,
which means that the addresses of the code and the data are monitor
addresses. The user program must modify these addresses, based on the
values returned by the monitor, after the initialization but before
the "snooping." The breakpoint routines must preserve any
accumulators they use. Also, they must not cause a page fault if at
interrupt level or if a patch has been made in the page fault handler
or in the scheduler. Thus, the breakpoint routines should test for
swappable code being in memory before referencing it. If swappable
code needs to be referenced, the swappable monitor can be locked in
memory, if desired. When a patch is made to a routine called at many
interrupt levels, the program must specify a reentrant instruction to
be used for patching.
RESTRICTIONS: requires WHEEL or OPERATOR capability enabled
ACCEPTS IN AC1: function code
AC2: arguments for
AC3: the specified
AC4: function
RETURNS +1: failure, error code in AC1
+2: success
The following functions are available:
Function Symbol Meaning
(SNOOP)
Code
0 .SNPLC Declare and lock code into the monitor's
address space.
AC2: number of pages desired
AC3: page number in user space of start of
breakpoint routines to be locked
On return, the pages are locked contiguously
in the monitor's address space, and AC2
contains the monitor page numbers
corresponding to the given user page number.
1 .SNPLS Lock the swappable monitor. This function is
useful for analyzing swappable data at
interrupt level. On return, the entire
swappable monitor is locked.
2 .SNPDB Define a breakpoint
AC2: number of breakpoint
AC3: address in monitor space to be patched.
The patched instruction can be a skip
type instruction or a PUSHJ
instruction, and the patching is
similar to that in DDT. The routines
will receive control before the patched
instruction is executed.
AC4: instuction to be executed before the
patched instruction is executed. The
instruction can be:
JSR LOC where LOC is an address in
monitor space of the user's routine.
PUSHJ P,LOC when reentrant or recursive
code is patched.
AOS LOC to count frequency of monitor
execution points.
The error return is given if
breakpoints have already been inserted.
NOTE
Putting a SNOOP breakpoint on a
PUSHJ or other subroutine call
instruction (including JSYS,
(SNOOP)
MDISMS, etc) can cause
problems. If the process is
not in a NOSKED state already,
it can be rescheduled during
the breakpoint and the
breakpoint removed, whereupon
the subsequent return is made
to non-existent code.
3 .SNPIB Insert all breakpoints and start analyzing.
4 .SNPRB Remove all breakpoints and stop analyzing.
5 .SNPUL Unlock and release all storage, and undefine
and remove all breakpoints.
6 .SNPSY Obtain the address of a monitor symbol.
AC2: radix-50 symbol
AC3: radix-50 program name if a local
address is desired. If AC3 is 0, the
entire symbol table is searched.
On return, AC2 contains the monitor address
or value of the symbol.
7 .SNPAD Obtain a monitor symbol.
AC2: 36-bit value of symbol that is to be
looked up in the monitor's symbol
table.
AC3: radix-50 program name if a local value
is desired. If AC3 is 0, the entire
symbol table is searched.
On return, AC2 contains the first radix-50
monitor symbol that is closest to and has a
value less than the specified value, and AC3
contains the difference between the value of
the symbol returned and the specified value.
SNOOP ERROR MNEMONICS:
SNOPX1: WHEEL or OPERATOR capability required
SNOPX2: invalid function
SNOPX3: .SNPLC function must be first
SNOPX4: only one .SNPLC function allowed
(SNOOP)
SNOPX5: invalid page number
SNOPX6: invalid number of pages to lock
SNOPX7: illegal to define breakpoints after inserting them
SNOPX8: breakpoint is not set on instruction
SNOPX9: no more breakpoints allowed
SNOP10: breakpoints already inserted
SNOP11: breakpoints not inserted
SNOP12: invalid format for program name symbol
SNOP13: no such program name symbol
SNOP14: no such symbol
SNOP15: not enough free pages for snooping
SNOP16: multiply-defined symbol
SNOP17: breakpoint already defined
SNOP18: data page is not private or copy-or-write
Node: SOBE Previous: SNOOP Next: SOBF Up: Top
SOBE JSYS 103
Tests to see if the designated file output buffer is empty.
ACCEPTS IN AC1: destination designator
RETURNS +1: output buffer is not empty. Number of bytes
remaining in output buffer is returned in AC2.
+2: output buffer is empty; AC2 contains 0. This return
is given if an error occurs on the call; AC2
contains the appropriate error code.
If the designator is not associated with a terminal, the +2 return is
given.
The SIBE call can be used to determine if the input buffer is empty.
SOBE ERROR MNEMONICS:
DESX1: invalid source/destination designator
(SOBE)
DESX3: JFN is not assigned
DESX5: file is not open
DEVX2: device already assigned to another job
TTYX01: line is not active
Node: SOBF Previous: SOBE Next: SOUT Up: Top
SOBF JSYS 175
Tests to see if the designated file output buffer is full.
ACCEPTS IN AC1: file designator
RETURNS +1: output buffer is not full. This return is given if
an error occurs on the call; AC2 will contain 0.
+2: output buffer is full
On either return, the number of bytes remaining in the output buffer
is returned in AC2 (if no error occurred on the call).
SOBF ERROR MNEMONICS:
DESX1: invalid source/destination designator
DESX3: JFN is not assigned
DESX5: file is not open
DESX6: file must be a terminal
DEVX2: device already assigned to another job
TTYX01: line is not active
Node: SOUT Previous: SOBF Next: SOUTM Up: Top
SOUT JSYS 53
Writes a string from the caller's address space to the specified
destination. The string can be a specified number of bytes or
terminated with a specified byte.
ACCEPTS IN AC1: destination designator
AC2: byte pointer to string to be written
(SOUT)
AC3: count of the number of bytes in string, or 0
AC4: byte (right-justified) on which to terminate output
RETURNS +1: always, updated string pointers in AC2 and AC1, if
pertinent, and updated count in AC3, if pertinent
The contents of AC3 controls the number of bytes to write.
AC3=0 The string being written is terminated with a 0 byte.
AC3>0 A string of the specified number of bytes is to be
written or a string terminated with the byte given in
AC4 is to be written, whichever occurs first.
AC3<***0 A string of minus the specified number of bytes is to
be written.
The contents of AC4 is ignored unless the contents of AC3 is a
positive number.
The output is terminated when the byte count becomes 0, the specified
terminating byte is reached, or an error occurs during the transfer.
The specified terminating byte is copied to the destination.
After execution of the call, the file's pointer is updated for
subsequent I/O to the file. AC2 is updated to point to the last byte
written or, if AC3 contained 0, the last nonzero byte written. The
count in AC3 is updated toward zero by subtracting the number of bytes
written from the number of bytes requested to be written.
When the SOUT call is used to write data to a magnetic tape, it sends
a series of bytes packed into records of the specified record size.
The size of the records to write is specified with either the SET TAPE
RECORD-LENGTH command or the .MOSRS function of the MTOPR call. The
default record size is 1000(octal) words. Thus, if the record size is
1000 bytes, two SOUT calls, each writing 500 bytes, would write one
record. If during the writing, the end of tape mark was passed, an
error (IOX5) is given. However, the data has been successfully
written and the device status word has the MT%EOT bit set to indicate
this condition. Refer to Section 2.4.2.1 for more information about
magnetic tape I/O.
Can cause several software interrupts or process terminations on
certain file conditions. (Refer to bit OF%HER of the OPENF call
description.) Generates an illegal instruction interrupt on error
conditions below.
SOUT ERROR MNEMONICS:
DESX1: invalid source/destination designator
DESX2: terminal is not available to this job
DESX3: JFN is not assigned
(SOUT)
DESX5: file is not open
IOX2: file is not opened for writing
IOX5: device or data error
IOX6: illegal to write beyond absolute end of file
IOX7: insufficient system resources (Job Storage Block full)
IOX8: monitor internal error
IOX11: quota exceeded or disk full
Node: SOUTM Previous: SOUT Next: SOUTR Up: Top
SOUTM JSYS 572
Writes data to a block-mode terminal on a multiplexed JFN.
RESTRICTIONS: requires DECnet and ATS software
ACCEPTS IN AC1: destination designator
AC2: address of argument block
RETURNS: +1 always
Argument block (user supplied):
Word Contents
0 flags,,number of words in block (including this word)
Flags:
Bit Symbol Meaning
B0 SO%WMG write a message
1 source designator
2 0,,count of bytes
3 Host's identifier for terminal (HTN)
Argument block (returned):
Word Contents
0 flags,,number of words in block (including this word)
(SOUTM)
The flags returned are those supplied by the user.
1 updated source designator
2 0,, updated count
3 HTN (unchanged)
SOUTM ERROR MNEMONICS:
ARGX17: invalid argument block length
ARGX22: Invalid flags
ATSX06: JFN is not an ATS JFN
ATSX11: Byte count is too large
DESX4: invalid use of terminal designator or string pointer
IOX2: file is not open for writing
Node: SOUTR Previous: SOUTM Next: SPACS Up: Top
SOUTR JSYS 532
Writes a variable-length record from the caller's address space to the
specified magnetic tape. The maximum size of the record to write is
specified with either the SET TAPE RECORD-LENGTH command or the .MOSRS
function of the MTOPR call. The default record size is 1000(octal)
words. (Refer to Section 2.4.2.1 for more information about magnetic
tape I/O.)
ACCEPTS IN AC1: destination designator
AC2: byte pointer to string to be written
AC3: count of number of bytes in string, or 0
AC4: byte (right-justified) on which to terminate output
(optional)
RETURNS +1: always, updated byte pointers in AC2 and AC1, if
pertinent, and updated count in AC3, if pertinent
The contents of AC3 and AC4 are interpreted in the same manner as they
are in the SOUT monitor call.
Each SOUTR call writes at least one record. Thus, the caller can
write variable-length records by indicating in AC3 the number of bytes
to write in the record. If the SOUTR call requests more bytes to be
written than the maximum record size, then records of the maximum size
(SOUTR)
are written, plus another record containing the remaining bytes. If
the SOUTR call requests fewer bytes than the maximum, or a number
equal to the maximum, to be written, then records of the requested
size are written.
The SOUTR call differs from the SOUT call in that the SOUTR call
writes records on the tape upon execution of the call. The SOUT call
does not write a record on the tape until the number of bytes equal to
the record size have been written. Thus, if a record is being made
from several strings in the caller's address space, the SOUT call can
be used for the first strings and the SOUTR call for the last string.
Can cause several software interrupts or process terminations on
certain file conditions. (Refer to bit OF%HER of the OPENF call
description.)
Generates an illegal instruction interrupt on error conditions below.
SOUTR ERROR MNEMONICS:
DESX1: invalid source/destination designator
DESX3: JFN is not assigned
DESX5: file is not open
IOX2: file is not open for writing
IOX5: Device or data error
IOX6: illegal to write beyond absolute end of file
IOX7: insufficient system resources (Job Storage Block full)
IOX8: monitor internal error
IOX9: function legal for sequential write only
IOX11: quota exceeded or disk full
Node: SPACS Previous: SOUTR Next: SPJFN Up: Top
SPACS JSYS 60
Sets the accessibility of a page. This call affects the map word
directly indicated by the argument (i.e., no indirect pointers are
allowed).
ACCEPTS IN AC1: process/file designator in the left half, and page
number within the file in the right half
AC2: access information
(SPACS)
B2(PA%RD) permit read access
B3(PA%WT) permit write access
B4(PA%EX) permit execute access
B9(PA%CPY) copy-on-write
RETURNS +1: always
When used to modify a process page, the SPACS call does not allow any
greater access than can be obtained with the PMAP call (i.e., the
access specified on the OPENF call is applied to SPACS operations
involving file pointers).
The SPACS call does not allow bits to be set in a page that does not
already exist.
The RPACS monitor call can be used to obtain the accessibility of a
page.
Generates an illegal instruction interrupt on error conditions below.
SPACS ERROR MNEMONICS:
DESX1: invalid source/destination designator
DESX2: terminal is not available to this job
DESX3: JFN is not assigned
DESX4: invalid use of terminal designator or string pointer
DESX5: file is not open
DESX8: file is not on disk
SPACX1: invalid access requested
FRKHX1: invalid process handle
FRKHX2: illegal to manipulate a superior process
FRKHX3: invalid use of multiple process handle
FRKHX8: illegal to manipulate an execute-only process
Node: SPJFN Previous: SPACS Next: SPLFK Up: Top
SPJFN JSYS 207
Sets the primary JFNs of the specified process.
(SPJFN)
ACCEPTS IN AC1: process handle
AC2: primary input JFN in the left half, and primary
output JFN in the right half
RETURNS +1: always
The JFNs given cannot be either 100 or 101. These JFNs cause the
specified process to receive an error on any primary I/O operation.
The GPJFN monitor call can be used to obtain the primary JFNs.
Generates an illegal instruction interrupt on error conditions below.
SPJFN ERROR MNEMONICS:
FRKHX1: invalid process handle
FRKHX2: illegal to manipulate a superior process
FRKHX3: invalid use of multiple process handle
DESX3: JFN is not assigned
Node: SPLFK Previous: SPJFN Next: SPOOL Up: Top
SPLFK JSYS 314
Splices a process structure. The process that becomes the new
superior must be either the one executing the SPLFK monitor call or an
inferior of it. The new inferior process must be an inferior of the
executing process. The new superior process must not be the same
process as the new inferior process and must not be inferior to the
new inferior process. The new inferior process and all of its
inferiors will be frozen after execution of the SPLFK call.
ACCEPTS IN AC1: process handle of the new superior process
AC2: process handle of the new inferior process
RETURNS +1: failure, error code in AC1
+2: success, a process handle in AC1. This handle may be
used by the new superior process (in AC1) to refer to
its new inferior (in AC2).
SPLFK ERROR MNEMONICS:
SPLFX1: process is not inferior or equal to self
SPLFX2: process is not inferior to self
(SPLFK)
SPLFX3: new superior process is inferior to intended inferior
FRKHX1: invalid process handle
Node: SPOOL Previous: SPLFK Next: SPRIW Up: Top
SPOOL JSYS 517
Defines and initializes a device to be used for input spooling or sets
and reads the directory for a spooled device.
RESTRICTIONS: requires WHEEL or OPERATOR capability enabled
ACCEPTS IN AC1: length of argument block in the left half, and
function code in the right half
AC2: address of argument block
RETURNS +1: failure, error code in AC1
+2: success
The format of the argument block is different depending upon the
particular function desired. The available functions, along with
their argument block formats, are as follows:
Code Symbol Meaning
0 .SPLDI Define an input spooling device. The
argument block is:
Word Symbol Meaning
0 .SPLDV Device designator of input
device.
1 .SPLNA Pointer to name string
comprising the set of files to
be input.
2 .SPLGN Generation number of first
file. This number is
incremented by 1 each time the
spooled device is opened.
1 .SPLSD Set the directory of the spooled device. The
argument block is:
Word Symbol Meaning
0 .SPLDV Device designator of spooled
device.
(SPOOL)
1 .SPLDR Directory number. This number
is the logged-in directory
number of the user who opened
the spooled device.
This function requires the process to have
WHEEL or OPERATOR capability enabled.
2 .SPLRD Read the directory of the spooled device.
The argument block is:
Word Symbol Meaning
0 .SPLDV Designator of spooled device.
The directory number of the spooled device is
returned in word 1 of the argument block.
To read from a spooled input device, the user first defines the name
of the files comprising his set of spooled input files. The files
have names in the format:
STR:<SPOOLED-DIRECTORY>DEVICE-DIR#.NAME.1,2,3,...
The spooled directory is the directory to receive any spooled input
from the device. The .SPLSD function can be used by a privileged
process to set the directory. The default directory for all of the
spooled devices is <SPOOL>.
The device is the name of the device being used for spooled input. It
is the same name that was given on the original GTJFN call.
The directory number is the logged-in directory number of the user
that opened the spooled device.
The name is the name of the set of files to be input. The .SPLDI
function is used to define this name.
The generation number begins with the value specified by the .SPLDI
function and increments by one each time the spooled device is opened.
Thus, if the input spooler for the card reader (CDR) is reading files
for a user whose directory number is 23, then the files might have
names like
<SPOOL>CDR-23.BATCH-SEQUENCE-37.1,2,3,...
To initialize the spooled card reader, the user would then execute the
SPOOL call giving "BATCH-SEQUENCE-37" as the name of the set of files
to be input and "1" as the beginning generation number.
SPOOL ERROR MNEMONICS:
SPLX1: invalid function
(SPOOL)
SPLX2: argument block too small
SPLX3: invalid device designator
SPLX4: WHEEL or OPERATOR capability required
SPLX5: illegal to specify 0 as generation number for first file
SPLX6: no directory to write spooled files into
Node: SPRIW Previous: SPOOL Next: SSAVE Up: Top
SPRIW JSYS 243
Sets the priority word for the specified process.
RESTRICTIONS: requires WHEEL or OPERATOR capability enabled
ACCEPTS IN AC1: process handle
AC2: priority word
RETURNS +1: always
Refer to the SJPRI monitor call description for the format of the
priority word.
Generates an illegal instruction interrupt on error conditions below.
SPRIW ERROR MNEMONICS:
WHELX1: WHEEL or OPERATOR capability required
Node: SSAVE Previous: SPRIW Next: STAD Up: Top
SSAVE JSYS 203
Creates a sharable save format file for the given JFN by copying (not
sharing) pages from the given process. (Refer to Section 2.7.2 for
the format of a sharable save file.) This monitor call is used for
creating shared programs. It saves the file in groups of contiguous
pages for which the same access is desired. SSAVE closes and releases
the given JFN.
ACCEPTS IN AC1: process handle in the left half, and JFN in the right
half
AC2: one table entry, or 0 in the left half and the
address of the table in the right half (see below)
(SSAVE)
AC3: flag bits (not yet implemented; AC3 should be 0)
RETURNS +1: always
The table has a one-word entry for each group of pages and is
terminated by a zero word. Each word has the following format:
Bit Symbol Meaning
0-17 SS%NNP Negative of the number of pages in each group
(right-justified).
18 SS%CPY Allow copy-on-write access to the group of
pages.
19 SS%UCA Limit the access according to the current
access of the user's page. (See below.)
20 SS%RD Allow read access to the group of pages.
21 SS%WR Allow write access to the group of pages.
22 SS%EXE Allow execute access to the group of pages.
27-35 SS%FPN Number of the first page in the group
(right-justified).
When B19(SS%UCA) is set, the access to the group of pages is
determined by ANDing the access bits specified in the table word with
the corresponding access bits for the user's pages (as determined by
the RPACS call). This means that a given access is allowed only if
both the SSAVE call indicates it and the page currently has it. If
B19(SS%UCA) is not set, the access granted to the group of pages is
that indicated by the bits set in the table word.
The SSAVE call does not save the accumulators nor does it save
nonexistent pages.
The GET monitor call is used to map a file saved with the SSAVE call
back into a given process.
Can cause several software interrupts or process terminations on
certain file conditions.
Generates an illegal instruction interrupt on error conditions below.
SSAVE ERROR MNEMONICS:
FRKHX1: invalid process handle
FRKHX2: illegal to manipulate a superior process
FRKHX3: invalid use of multiple process handle
SSAVX1: illegal to save files on this device
(SSAVE)
SSAVX2: page count is not less than or equal to 1000
SSAVX3: insufficient system resources (Job Storage Block full)
SSAVX4: directory area of EXE file is more than one page
IOX11: quota exceeded or disk full
All I/O errors can also occur.
Node: STAD Previous: SSAVE Next: STCMP Up: Top
STAD JSYS 226
Sets the system's date. (Refer to Section 2.8.2.)
RESTRICTIONS: some functions require WHEEL or OPERATOR capability
enabled
ACCEPTS IN AC1: day in the left half, and fraction of the day in the
right half
RETURNS +1: failure, error code in AC1
+2: success
The STAD call requires the process to have WHEEL or OPERATOR
capability enabled if the system's date is already set.
The GTAD monitor call can be used to obtain the system's date.
STAD ERROR MNEMONICS:
STADX1: WHEEL or OPERATOR capability required
STADX2: invalid date or time
Node: STCMP Previous: STAD Next: STDEV Up: Top
STCMP JSYS 540
Compares two ASCIZ strings in the caller's address space. Note that
letters are always considered as upper case, regardless of their case
within the string. Therefore, the strings ABC and abc are considered
an exact match.
ACCEPTS IN AC1: byte pointer to test string
AC2: byte pointer to base string
(STCMP)
RETURNS +1: always, with
AC1 containing the compare code:
B0(SC%LSS) Test string is less than base string.
B1(SC%SUB) Test string is a subset of base
string.
B2(SC%GTR) Test string is greater than base
string.
AC2 containing base byte pointer, updated such that
an ILDB instruction will reference the first
nonmatching byte.
One string is considered less than another string if the ASCII value
of the first nonmatching character in the first string is less than
the ASCII value of the character in the same position in the second
string.
One string is considered a subset of another string if both of the
following conditions are true:
1. From left to right, the ASCII values of the characters in
corresponding positions are the same.
2. The test string is shorter than the base string.
Two strings are considered equal if the ASCII values of the characters
in corresponding positions are the same and the two strings are the
same size. In this case, the contents of AC1 is 0 on return.
Node: STDEV Previous: STCMP Next: STI Up: Top
STDEV JSYS 120
Translates the given device name string to its corresponding device
designator.
ACCEPTS IN AC1: byte pointer to the string to be translated
RETURNS +1: failure, error code in AC2
+2: success, device designator (refer to Section 2.4) in
AC2
The string to be translated is terminated by the first space (ASCII
code 40), null (ASCII code 0), or colon (ASCII code 72).
The DEVST monitor call can be used to translate a device designator to
its corresponding string.
(STDEV)
STDEV ERROR MNEMONICS:
STDVX1: no such device
Node: STI Previous: STDEV Next: STIW Up: Top
STI JSYS 114
Simulates terminal input.
RESTRICTIONS: some functions require WHEEL or OPERATOR capability
enabled
ACCEPTS IN AC1: file designator (only terminal designators are legal)
AC2: character to be input, right-justified
RETURNS +1: always
The character is taken from the accumulator and placed into the
specified terminal's input buffer whether or not the buffer is empty.
The DIBE call can be used to prevent sending an interrupt character
(e.g., CTRL/C) before the program has processed all of the previous
input.
The STI monitor call requires the process to have WHEEL or OPERATOR
capability enabled if the specified terminal either is not assigned or
opened by the process or is not accepting advice. (Refer to the TLINK
bit TT%AAD.)
The use of this monitor call is not recommended for pseudo-terminals
(PTYs). The recommended procedure for placing a character in the PTY
input buffer is to open the PTY for output with OPENF and then perform
output with the BOUT call.
Generates an illegal instruction interrupt on error conditions below.
STI ERROR MNEMONICS:
TTYX1: device is not a terminal
DESX2: terminal is not available to this job
DEVX2: device already assigned to another job
WHELX1: WHEEL or OPERATOR capability required
TTYX01: line is not active
(STIW)
Node: STIW Previous: STI Next: STO Up: Top
STIW JSYS 174
Sets the terminal interrupt word (refer to Section 2.5.6) for the
entire job or a specific process. This call declares that terminal
characters that usually cause an interrupt are instead to be passed to
the program as input. In actuality, the STIW call sets the interrupt
word mask, thus determining for each of the 36 terminal codes if the
job or process should receive an interrupt. The call's effect is
different, depending on whether the call is being executed for the
entire job or for a specific process in the job.
When the STIW call is executed for the entire job, codes corresponding
to the bits on in the mask will cause an interrupt if a process in the
job has enabled for an interrupt on that code. If multiple processes
have enabled that code, the lowest inferior process receives the
interrupt. (If several processes at the same lowest level have
enabled the code, the process that receives the interrupt is
determined by the system.) If no process has enabled that code, the
character corresponding to the code is passed to the program. Also,
characters are passed to the program when their corresponding bits are
off in the mask, even if a process has enabled that code. Initially,
all codes are declared to cause an interrupt (i.e., all bits in the
mask are on), and the program can execute the RTIW call to determine
the current status. Thus if the program wishes to read a terminal
interrupt character as input, it executes the STIW call for the entire
job and turns off the mask bit corresponding to the character.
When the STIW call is executed for a specific process in the job,
codes corresponding to the bits on in the mask are assumed to be
enabled by the specific process and cause an interrupt if in fact they
are enabled. If the process has not enabled for the code, the
character corresponding to the code is ignored, if it is typed.
Characters corresponding to the bits off in the mask are assumed not
to be enabled by the process. This use of the STIW call is implicitly
executed on an ATI call.
Each time the STIW call is executed for a specific process, the mask
is changed to reflect the bits changed in that process.
The STIW call sets or clears specific terminal codes for a particular
process without actually changing the channel assignment that each
code has. The ATI call is used to set the channel assignment, and the
DTI call is used to clear the assignment.
The STIW call requires the process to have SC%CTC capability enabled
to disable the code for CTRL/C interrupts or to give -5 as an
argument.
ACCEPTS IN AC1: B0(ST%DIM) set the deferred terminal interrupt mask
given in AC3
B18-B35 process handle, or -5 for entire job
(ST%PRH)
(STIW)
AC2: terminal interrupt word mask.
Bit n on means terminal code n is enabled.
AC3: deferred terminal interrupt word mask.
Bit n on means terminal code n is deferred.
RETURNS +1: always
The argument in AC3 is ignored, and no change is made to the deferred
interrupt word mask, if B0(ST%DIM) is not set or if the process handle
in AC1 does not indicate a specific process.
If multiple processes enable the same interrupt character and any one
of the processes declares it deferred, the character is deferred for
all the processes that enabled it.
The RTIW call can be used to obtain the terminal interrupt word masks.
STIW ERROR MNEMONICS:
FRKHX1: invalid process handle
FRKHX2: illegal to manipulate a superior process
FRKHX3: invalid use of multiple process handle
FRKHX8: illegal to manipulate an execute-only process
Node: STO Previous: STIW Next: STPAR Up: Top
STO JSYS 246
Simulates terminal output.
ACCEPTS IN AC1: file designator (only terminal designators are legal)
RETURNS +1: always, with the character right-justified in AC2
The character is taken from the specified terminal's output buffer and
placed in the accumulator. The process is blocked until the character
is in the accumulator.
The use of this monitor call is not recommended for pseudo-terminals
(PTYs). The recommended procedure for reading a character from the
PTY output buffer is to open the PTY for input with OPENF and then
perform input with the BIN call.
Generates an illegal instruction interrupt on error conditions below.
STO ERROR MNEMONICS:
TTYX1: device is not a terminal
(STO)
DESX2: terminal is not available to this job
DEVX2: device already assigned to another job
TTYX01: line is not active
Node: STPAR Previous: STO Next: STPPN Up: Top
STPAR JSYS 217
Sets the device-related modes for the specified terminal. The modes
that can be set by this call are in the following bits of the JFN mode
word. (Refer to Section 2.4.3.1.)
B1(TT%MFF) mechanical form feed
B2(TT%TAB) mechanical tab
B3(TT%LCA) lower case
B4-B10(TT%LEN) page length
B11-B17(TT%WID) page width
B25(TT%ECM) echo control
B30(TT%UOC) upper-case output control
B31(TT%LIC) lower-case input control
B32-B33(TT%DUM) duplex mode
B34(TT%PGM) output page mode
ACCEPTS IN AC1: file designator
AC2: JFN mode word
RETURNS +1: always
The STPAR monitor call is a no-op if the designator is not associated
with a terminal.
The SFMOD monitor call can be used to set program-related modes of the
JFN mode word, and the RFMOD monitor call can be used to obtain the
JFN mode word.
When the page length and width fields are set with the STPAR call,
they have a maximum range of 127. The MTOPR call can be used to set
these fields to values greater than 127. A nonzero value of less than
2 for the length or less than 10 for the width causes STPAR to leave
the field unchanged.
STPAR ERROR MNEMONICS:
DESX1: invalid source/destination designator
DESX3: JFN is not assigned
DESX5: file is not open
(STPAR)
DEVX2: device already assigned to another job
TTYX01: line is not active
Node: STPPN Previous: STPAR Next: STSTS Up: Top
STPPN JSYS 556
Translates the given directory name string to its corresponding
project-programmer number (a TOPS-10 36-bit directory designator).
This project-programmer number is associated with the structure
containing the given directory and is valid only for the current
mounting of that structure. The STPPN monitor call and the PPNST
monitor call should appear only in programs that require translations
of project-programmer numbers. Both calls are temporary calls and may
not be defined in future releases.
ACCEPTS IN AC1: byte pointer to ASCIZ string containing the directory
name, a JFN, or a 36-bit directory number
RETURNS +1: always, with the corresponding project-programmer
number in AC2
Generates an illegal instruction interrupt on error conditions below.
STPPN ERROR MNEMONICS:
STRX02: insufficient system resources
STRX03: no such directory name
STRX04: ambiguous directory specification
DESX1: invalid source/destination designator
DESX2: terminal is not available to this job
DESX3: JFN is not assigned
DESX4: invalid use of terminal designator or string pointer
DESX7: JFN cannot refer to output wildcard designators
DESX8: file is not on disk
DESX10: structure is dismounted
Node: STSTS Previous: STPPN Next: STTYP Up: Top
STSTS JSYS 25
(STSTS)
Sets the status of a file. (Refer to the GTSTS monitor call for the
format of the JFN status word.)
ACCEPTS IN AC1: JFN in the right half
AC2: status word
RETURNS +1: failure, error code in AC1
+2: success
The STSTS call is used to set the following bits of the status word:
B9(GS%ERR) file may be in error
B13(GS%HLT) I/O errors are terminating conditions
B17(GS%FRK) file, if opened, is opened for restricted access
STSTS ERROR MNEMONICS:
DESX1: invalid source/destination designator
DESX2: terminal is not available to this job
DESX3: JFN is not assigned
DESX4: invalid use of terminal designator or string pointer
Node: STTYP Previous: STSTS Next: SWJFN Up: Top
STTYP JSYS 302
Sets the terminal type number for the specified terminal line. (Refer
to Section 2.4.3.4.)
ACCEPTS IN AC1: file designator (only terminal designators are legal)
AC2: terminal type number
RETURNS +1: always
The STTYP call sets the bits in the JFN mode word for mechanical form
feed and tab, lower case, and page length and width according to their
settings in the device characteristics word. These bits can
subsequently be changed with the STPAR monitor call.
The GTTYP monitor call can be used to obtain the terminal type number
for a specified line.
Generates an illegal instruction interrupt on error conditions below.
STTYP ERROR MNEMONICS:
(STTYP)
DESX1: invalid source/destination designator
DESX2: terminal is not available to this job
STYPX1: invalid terminal type
TTYX01: line is not active
Node: SWJFN Previous: STTYP Next: SWTRP% Up: Top
SWJFN JSYS 47
Swaps the association of two JFNs by literally exchanging all
information cells of each JFN.
ACCEPTS IN AC1: JFN
AC2: another JFN
RETURNS +1: always
Generates an illegal instruction interrupt on error conditions below.
SWJFN ERROR MNEMONICS:
DESX1: invalid source/destination designator
DESX2: terminal is not available to this job
DESX3: JFN is not assigned
DESX4: invalid use of terminal designator or string pointer
SWJFX1: illegal to swap same JFN
Node: SWTRP% Previous: SWJFN Next: SYERR Up: Top
SWTRP% JSYS 573
Provides the ability for a process to intercept arithmetic overflow or
underflow conditions efficiently. Use of the SWTRP% JSYS to trap for
these conditions is more efficient in some applications than using the
software interrupt system.
SWTRP% also allows a process to declare its LUUO block for LUUO's
executed in a non-zero section.
ACCEPTS IN AC1: process handle
(SWTRP%)
AC2: function code
AC3: function dependent argument
RETURNS +1: always
The functions are as follows:
Code Symbol Function
0 .SWART Set arithmetic trap location
AC3 contains the address of the arithmetic trap
block (see LUUO block below). A zero in AC3 clears
the arithmetic trap.
1 .SWRAT Read arithmetic trap location
Returns the trap block address in AC3 (see LUUO
block below). A zero is returned if an arithmetic
trap is not set.
2 .SWLUT Set LUUO block address for non-zero sections
AC3 contains the 30-bit address. A zero in AC3
clears the location. See below for the format of
the LUUO block.
3 .SWRLT Read LUUO block address
Returns the 30-bit address in AC3. A zero is
returned if no block is currently in effect.
The LUUO block has the following format:
0 12 13 17 18 26 27 30 31 35
========================================
! PC flags ! 0 ! opcode ! AC ! 0 !
----------------------------------------
! 0 ! PC+1 !
----------------------------------------
! 0 ! E of the LUUO !
----------------------------------------
! 0 ! New PC !
========================================
0 5 6 35
An LUUO executed in section zero will store the opcode, AC, and
effective address of the LUUO in user location 40 and will execute the
instruction in user location 41. An LUUO executed in a non-zero
section makes use of the UPT (user page table). SWTRP% allows a
process to store the desired address in the UPT so that subsequent
LUUOs will produce the desired effect. The address in the UPT points
to the LUUO block shown above (and stored in user space). See the
Hardware Reference Manual for more information on LUUOs.
(SYERR)
Node: SYERR Previous: SWTRP% Next: SYSGT Up: Top
SYERR JSYS 527
Places information in the System Error (SYSERR) file. (Refer to the
TOPS-10 and TOPS-20 SYSERR Manual for information on the SYSERR file.)
RESTRICTIONS: requires WHEEL, OPERATOR, or MAINTENANCE capability
enabled
ACCEPTS IN AC1: address of argument block
AC2: length of argument block
RETURNS +1: always
The first four words of the header block must contain the standard
header information required by SYSERR. Generates an illegal
instruction interrupt on error conditions below.
SYERR ERROR MNEMONICS:
CAPX1: WHEEL or OPERATOR capability required
SYEX1: unreasonable SYSERR block size
SYEX2: no buffer space available for SYSERR
Node: SYSGT Previous: SYERR Next: TBADD Up: Top
SYSGT JSYS 16
Returns the table number, table length, and word 0 of the specified
system table. (Refer to Section 2.3.2 for the names of the system
tables.)
ACCEPTS IN AC1: SIXBIT table name
RETURNS +1: always, with
AC1 containing word 0 of the table
AC2 containing the negative of the number of words in
the table in the left half, and the table number
in the right half
The table number returned can be given to the GETAB monitor call as an
argument. However, because the MONSYM file includes symbol
definitions for the system tables, execution of the SYSGT call is not
required to obtain the table number for the GETAB call.
The contents of AC2 is 0 on return if the specified table was not
found.
(TBADD)
Node: TBADD Previous: SYSGT Next: TBDEL Up: Top
TBADD JSYS 536
Adds an entry to a standard-formatted command table used for user
program command recognition. (Refer to the TBLUK call description for
the format of the command table.)
ACCEPTS IN AC1: address of word 0 (header word) of table
AC2: entry to be added to table. (Refer to the TBLUK call
for the format of a table entry.)
RETURNS +1: always, address in the table of the new entry in AC1
Generates an illegal instruction interrupt on error conditions below.
TBADD ERROR MNEMONICS:
TADDX1: table is full
TADDX2: entry is already in table
Node: TBDEL Previous: TBADD Next: TBLUK Up: Top
TBDEL JSYS 535
Deletes an entry from a standard-formatted command table used for user
program command recognition. (Refer to the TBLUK call description for
the format of the command table.)
ACCEPTS IN AC1: address of word 0 (header word) of table
AC2: address of entry to be deleted. This address is
returned in AC1 on a TBLUK call.
RETURNS +1: always
Generates an illegal instruction interrupt on error conditions below.
TBDEL ERROR MNEMONICS:
TDELX1: table is empty
TDELX2: invalid table entry location
Node: TBLUK Previous: TBDEL Next: TEXTI Up: Top
TBLUK JSYS 537
(TBLUK)
Compares the specified string in the caller's address space with
strings indicated by a standard-formatted command table. This call is
used to implement a consistent style of user program command
recognition and abbreviation. The TBLUK call performs the function of
string lookup in the table, and the TBADD and TBDEL calls perform the
functions of adding to and deleting from the table.
The command table has the following format:
Word Meaning
0 Number of actual entries (not including this
entry) in the table in the left half, and maximum
number of entries in the table (not including this
entry) in the right half.
1 through n Address of an argument in the left half. This
argument contains optional bits pertinent to the
string followed by the ASCIZ string itself. The
right half of each table entry is available for
use by the user program.
The argument pointed to by the left half of each table entry can have
one of two formats, depending on the setting of bits 0-7 of the first
word of the argument. If bits 0-6 are all off and B7(CM%FW) is on,
the string actually begins in the next word of the argument, and the
remainder of this word contains data bits relevant to the string.
Table Entry
0 17 18 35
!=======================================================!
! ADR ! for use by program !
!=======================================================!
Argument
0 6 7 35
!=======================================================!
ADR ! 0 !1! data bits !
!-------------------------------------------------------!
! start of string !
!=======================================================!
The following bits are currently defined:
Bit Symbol Meaning
33 CM%ABR Consider this entry a valid abbreviation for
another entry in the table. The right half of
this table entry points to the entry for which
this is an abbreviation. The program can set this
(TBLUK)
bit to include entries in the table that are less
than the minimum unique abbreviation. For
example, this bit can be set to include the entry
ST (for START) in the table. If TBLUK is
performed for ST, it will be accepted as a valid
abbreviation even though there may be other entrys
beginning with ST.
34 CM%NOR Do not recognize this string, even if a string is
specified that matches exactly, and consider an
exact match as ambiguous. A program can set this
bit to include entries that are initial substrings
of other entries in the table to enforce a minimum
abbreviation of these other entries (e.g., to
include D and DE in the table to enforce DEL as
the minimum abbreviation of DELETE).
7 CM%FW Indicate that the remainder of this word is a flag
word containing data bits relevant to the string.
This bit must be on to distinguish a flag word
from a null string.
If any bit of bits 0-6 of the first word of the argument is on or if
B7(CM%FW) is off, the string begins in that word. In this case, the
data bits do not apply and are assumed to be off.
Table Entry
0 17 18 35
!=======================================================!
! ADR ! !
!=======================================================!
Argument
0 35
!=======================================================!
ADR ! start of string !
!=======================================================!
The addresses in the command table must be sorted according to the
alphabetical order of the strings. Note that letters are always
considered as uppercase. Therefore, the strings ABC and abc are
considered equivalent strings. This order results in efficient
searching of strings and determination of ambiguous strings.
The right half of each table entry can be used by the program for an
address to a dispatch table for the command or for a pointer to a
parameter block for additional information about the call. The
contents of this half word is ignored by the three table calls.
ACCEPTS IN AC1: address of word 0 (header word) of table
(TBLUK)
AC2: byte pointer to string in caller's address space that
is to be compared with the string in the table
RETURNS +1: always, with
AC1 containing the address of the entry that matches
the input string or address where the entry would
be if it were in the table.
AC2 containing recognition bits:
B0(TL%NOM) The input string does not match any
string in the table.
B1(TL%AMB) The input string matches more than one
string in the table (i.e., is
ambiguous).
B2(TL%ABR) The input string is a valid
abbreviation of a string in the table.
B3(TL%EXM) The input string is an exact match
with a string in the table.
AC3 containing a byte pointer to the remainder of the
string in the table if the match was on an
abbreviation (TL%ABR is on). This string can
then be output to complete the command.
Generates an illegal instruction interrupt on error conditions below.
TBLUK ERROR MNEMONICS:
TLUKX1: internal format of table is incorrect
Node: TEXTI Previous: TBLUK Next: TFORK Up: Top
TEXTI JSYS 524
Reads input from a terminal or a file into a string in the caller's
address space. Input is read until either a specified break character
is encountered or the byte count is exhausted, whichever occurs first.
When used for terminal input, the TEXTI call handles the following
editing functions:
1. Delete the last character input (DELETE).
2. Delete back to the last punctuation character (CTRL/W).
3. Delete back to the beginning of the current line or, if the
current line is empty, back to the beginning of the previous
line (CTRL/U).
(TEXTI)
4. Retype the current line from its beginning or, if current
line is empty, retype the previous line (CTRL/R).
5. Accept the next character without regard to its usual meaning
(CTRL/V).
ACCEPTS IN AC1: address of argument block
RETURNS +1: failure, error code in AC1
+2: success, updated pointer in word .RDDBP, appropriate
bits set in the left half of word .RDFLG, and updated
count in word .RDDBC of the argument block
The format of the argument block is as follows:
Word Symbol Meaning
0 .RDCWB Count of words following this word in the
argument block.
1 .RDFLG Flag bits. (See below.)
2 .RDIOJ Byte pointer to string, or input JFN in the
left half and output JFN in the right half
(if RD%JFN is on in the flag word .RDFLG).
The input JFN is where the input is being
read from, and the output JFN is where any
output generated from character editing is
placed.
3 .RDDBP Byte pointer to string in caller's address
space where input is to be placed
(destination string pointer).
4 .RDDBC Number of bytes available in the destination
string (field width).
5 .RDBFP Byte pointer to the beginning of the
destination buffer. This pointer indicates
the maximum limit to which the user can edit
back into the buffer with DELETE, CTRL/W, or
CTRL/U. This buffer is not separate (i.e.,
is not disjoint) from the destination string.
On the first TEXTI, this pointer is normally
the same as the destination byte pointer
(.RDDBP), but does not have to be the same.
If the count in word .RDCWB is 4, then the
byte pointer in word .RDDBP will be used as
the pointer to the destination buffer.
6 .RDRTY Byte pointer to the beginning of the
prompting-text (CTRL/R buffer). This text,
along with any text in the destination
buffer, is output if the user types CTRL/R on
(TEXTI)
his first line of input. If there is no
CTRL/R text or the user types CTRL/R on other
than the first line of input, only the text
in the destination buffer will be output.
6 .RDRTY The CTRL/R buffer is useful for retyping
(Cont.) characters that preceded the user's input,
such as a prompt from the program. The text
in this buffer cannot be edited by the user,
and if the user deletes back to the end of
this buffer, his action is treated as if he
has deleted all of his input. This buffer is
logically adjacent to the destination buffer,
but may be physically disjoint from it. When
the CTRL/R buffer is disjoint, it must be
terminated with a null byte.
7 .RDBRK Address of a 4-word block of break character
mask bits. If a bit is on in the mask, then
the corresponding character is considered a
break character. Any bits set in this mask
override break characters set in the flag
word.
The mask occupies the leftmost 32 bits of
each wthereby allowing a mask of 128 bits.
The rightmost 4 bits of each word are
ignored. The mapping isfrom left to right.
The ASCII character set maps into this
128-bit mask.
If this word is zero, there is no break
character set mask defined.
10 .RDBKL Byte pointer to the backup limit in the
destination buffer. This pointer indicates
the position in the destination buffer to
which the user can edit back without being
informed. This pointer is used to indicate
to the program that previously parsed text
has been edited and may need to be reparsed
by the program. The pointer can either be
equal to the start of the buffer pointer
(.RDBFP) or to the destination string pointer
(.RDDBP) or be between these two pointers.
Words 5 through 10 (.RDBFP through .RDBKL) in the argument block are
optional. A zero in any of the words means that no pointer has been
given.
The illustration below is a logical arrangement of the CTRL/R and
destination buffers, with the placement of the pointers when they are
given as not being equal. Remember that the CTRL/R buffer does not
have to be adjacent to the destination buffer and that two or more of
these pointers can be equal.
(TEXTI)
destination buffer
can be edited
!=======================================================!
! CTRL/R buffer; ! Cannot be ! ! !
! cannot be edited, ! edited ! ! !
! but will be output ! ! ! !
! on a CTRL/R ! ! ! !
!=======================================================!
CTRL/R Beginning of Backup Destination
buffer destination limit string
pointer buffer pointer pointer pointer
(.RDRTY) (.RDBFP) (.RDBKL) (.RDDBP)
The flag bits that can be set in word 1 (.RDFLG) of the argument block
are as follows:
Bit Symbol Meaning
0 RD%BRK Break on CTRL/Z or ESC.
1 RD%TOP TOPS-10 character set. Break on CTRL/G,
CTRL/K, CTRL/L, CTRL/Z, ESC, carriage return,
line feed.
2 RD%PUN Break on punctuation:
CTRL/A-CTRL/F ASCII codes 34-37
CTRL/H-CTRL/I ASCII codes 40-57
CTRL/N-CTRL/Q ASCII codes 72-100
CTRL/S-CTRL/T ASCII codes 133-140
CTRL/X-CTRL/Y ASCII codes 173-176
3 RD%BEL Break on end of line (carriage return and
line feed, or line feed only).
4 RD%CRF Suppress a carriage return and return a line
feed only.
5 RD%RND Return to user program if the user tries to
delete beyond the beginning of the
destination buffer. If this bit is not set,
the TEXTI call causes the terminal's bell to
ring and waits for more input.
6 RD%JFN JFNs have been given for the source
designator (word .RDIOJ of the argument
block). If this bit is not set, the source
designator is a pointer to a string.
(TEXTI)
7 RD%RIE Return to user program if the input buffer is
empty. If this bit is not set, the TEXTI
call waits for more input.
8 RD%BBG Not used
9 RD%BEG Causes TEXTI to return when the .RDBKL
pointer is reached and TEXTI is about to wait
for more input.
10 RD%RAI Convert lower-case input to upper-case input.
11 RD%SUI Suppress the CTRL/U indication if user types
a CTRL/U (i.e., do not print XXX and on
display terminals, do not delete the
characters from the screen).
On a successful return, the following bits can be set in word 1
(.RDFLG) of the argument block:
Bit Symbol Meaning
12 RD%BTM A break character terminated the input. If
this bit is not set, the input was terminated
because the byte count was exhausted.
13 RD%BFE Control was returned to the user program
because the user tried to delete beyond the
beginning of the destination buffer and
RD%RND was on in the call.
14 RD%BLR The backup limit for editing was reached.
TEXTI ERROR MNEMONICS:
ARGX17: invalid argument block length
RDTX1: invalid string pointer
IOX11: quota exceeded or disk full
Node: TFORK Previous: TEXTI Next: THIBR Up: Top
TFORK JSYS 321
Sets and removes monitor call intercepts (JSYS traps) for the given
inferior processes. When the process attempts to execute a call on
which an intercept has been set, it is suspended before it executes
the call. Control is passed to the closest superior process that is
monitoring the execution of that call. This control is passed by the
superior receiving an interrupt when the inferior process is
suspended. The superior process can then determine via the RTFRK call
which process caused the interrupt and how to handle the interrupt.
(TFORK)
It can use any of the process manipulation calls and then use the
UTFRK call to resume the suspended inferior process. Alternatively,
the superior can simply decide to resume the inferior and allow it to
execute the call. If this is the case, the next higher superior
process monitoring the intercepted call receives an interrupt, and
control is passed to that superior. If each superior process
monitoring the call decides to resume the suspended process without
changing its PC word, then the suspended process is allowed to execute
the monitor call as it normally would.
Note that an RFORK should be performed when an interrupt is received,
or the inferior process will not trap again.
ACCEPTS IN AC1: function code in the left half, and process handle in
the right half
AC2: software interrupt channel number in the left half,
and size (in bits) of the monitor call bit table
AC3: address of monitor call bit table
RETURN +1: always
The available functions are as follows:
Code Symbol Meaning
0 .TFSET Set monitor call intercepts for the given
process. The calls that will be intercepted
are indicated in the monitor call bit table.
The given process must be frozen. This
function is illegal for an execute-only
process.
1 .TFRAL Remove all monitor call intercepts for the
given process. The process must be frozen.
This function is illegal for an execute-only
process.
2 .TFRTP Remove for the given process only the monitor
call intercepts that are indicated in the
monitor call bit table. The given process
must be frozen. This function is illegal for
an execute-only process.
3 .TFSPS Set the given software channel as the channel
on which to generate the interrupt.
4 .TFRPS Return in the left half of AC2 the software
channel on which the interrupt will be
generated.
5 .TFTST Test if the caller is to be intercepted when
it attempts to execute monitor calls. On
successful return AC2 contains -1 if it is to
(TFORK)
be intercepted or 0 if it is not to be
intercepted.
6 .TFRES Remove intercepts set for all inferiors and
clear the software channel assigned to the
interrupt for monitor call intercepts.
7 .TFUUO Set monitor call intercepts for TOPS-10
monitor calls (UUOs) for the given process.
The process must be frozen. This function is
illegal for an execute-only process.
10 .TFSJU Set monitor call intercepts for both the
calls indicated in the monitor call bit table
and the TOPS-10 monitor calls. This function
is a combination of functions .TFSET and
.TFUUO. The given process must be frozen.
This function is illegal for an execute-only
process.
11 .TFRUU Remove monitor call intercepts for the
TOPS-10 monitor calls. The given process
must be frozen.
To set monitor call intercepts, the process must first issue .TFSPS
(code 3). Then, .TFSET (code 0), .TFUUO (code 7) or .TFSJU (code 10)
may be issued to set intercepts.
The process handle in the right half of AC1 must refer to an inferior
process or must be -4 to refer to all inferiors. When intercepts are
set for a given process, they also apply to all processes inferior to
the given process. When a process is created, it is subject to the
same intercepts as the process that created it.
If the software channel is given as 77, any intercepts bypass the
given process without causing either an interrupt to its superior or a
suspended state of the process.
The monitor call bit table contains a bit for each of the TOPS-20
monitor calls. When a bit in the table is on, the corresponding
monitor call is to be intercepted when the given process attempts to
execute it. If the bit is off, the corresponding monitor call will
not be intercepted. The size of the bit table is 1000(octal) words.
A process can remove only the intercepts it previously set; it cannot
remove intercepts that other processes set.
When the process being monitored attempts to execute the trapped-for
JSYS, the process and its inferiors enter a suspended state. This
suspended state differs from the normal "frozen" state of a process in
the following ways:
1. The inferiors of the monitored process are not frozen and
continue to operate.
(TFORK)
2. The monitored process is resumed with the UTFRK monitor call.
RFORK will not resume the process.
3. All interrupts for the monitored process are queued and are
acted upon immediately after the UTFRK monitor call.
After the suspension of the inferior process, the superior process may
do one of the following:
1. Allow the inferior process to resume execution of the
intercepted JSYS.
2. Make changes in the working environment of the suspended
process and allow that process to resume execution of the
intercepted JSYS.
3. Execute the intercepted JSYS on behalf of the suspended
process, and then allow the suspended process to continue.
The user interface to the monitor call intercept facility is provided
for by three JSYS's:
1. TFORK (trap)
2. RTFRK (read)
3. UTFRK (untrap)
Generates an illegal instruction interrupt on error conditions below.
TFORK ERROR MNEMONICS:
FRKHX8: illegal to manipulate an execute-only process
TFRKX1: invalid function code
TFRKX2: unassigned process handle or not immediate inferior
TFRKX3: process not frozen
Node: THIBR Previous: TFORK Next: TIME Up: Top
THIBR JSYS 770
(THIBR)
Blocks the current process for the specified elapsed time or until
awakened by a TWAKE monitor call, whichever occurs first. The THIBR
call is a temporary call and may not be defined in future releases.
ACCEPTS IN AC1: 0 in the left half, and maximum number of seconds to
block in the right half
RETURNS +1: never
+2: always, time expired or TWAKE call occurred
Node: TIME Previous: THIBR Next: TIMER Up: Top
TIME JSYS 14
Returns the amount of time since the system was last restarted.
RETURNS +1: always, time (in milliseconds) right-justified in
AC1, and divisor to convert the time to seconds in
AC2. AC2 always contains 1000; thus, it is not
necessary to examine its contents.
This is a monotonically increasing number (when the system is running)
independent of any resets of the time and date.
Node: TIMER Previous: TIME Next: TLINK Up: Top
TIMER JSYS 522
Controls the amount of time either a process within a job or the
entire job can run. An interrupt is generated when the time has
elapsed.
Only one process in the job is allowed to time the entire job. If the
job is already being timed, an error is given if another process
attempts to time the job. An error is also given if a process other
than the one that set the runtime limit of the job attempts to remove
that limit.
ACCEPTS IN AC1: process handle in the left half, and function code in
the right half.
AC2: time at which to generate an interrupt. Refer to the
individual function descriptions for the specific
arguments.
AC3: number of the software channel on which to generate
an interrupt when the time has expired.
(TIMER)
RETURNS +1: failure, error code in AC1
+2: success
The available functions are as follows:
Code Symbol Meaning
0 .TIMRT Specify the total runtime of the entire job.
This function allows one process within a job
to time the entire job. AC2 contains the
total runtime in milliseconds that the job
can accumulate before an interrupt is
generated on the specified channel. If AC2
contains 0, the limit on the runtime of the
job is removed. The process handle given in
AC1 must be .FHJOB (-5).
1 .TIMEL Specify an elapsed time after which an
interrupt is generated for the given process.
AC2 contains the number of milliseconds that
can now elapse before the interrupt is
generated on the specified channel.
2 .TIMDT Specify an exact time at which an interrupt
is generated for the given process. AC2
contains the internal format (refer to
section 2.8.2) of the date and time when the
interrupt is to be generated.
3 .TIMDD Remove any pending interrupt requests that
are to occur for the process at the given
time. AC2 contains the internal format
(refer to section 2.8.2) of the date and time
of the interrupt request to be removed.
4 .TIMBF Remove any pending interrupt requests that
are to occur for the process before the given
time. AC2 contains the internal format
(refer to section 2.8.2) of the date and
time.
5 .TIMAL Remove all pending requests for the given
process including the runtime limit on the
entire job.
The runtime limit for a job can be obtained via the GETJI monitor call
(contents of word .JIRT on return). If the job's time limit has been
exceeded, the value returned by the GETJI call will be zero.
TIMER ERROR MNEMONICS:
TIMX1: invalid function
TIMX2: invalid process handle
(TIMER)
TIMX3: time limit already set
TIMX4: illegal to clear time limit
TIMX5: invalid software interrupt channel number
TIMX6: time has already passed
TIMX7: no space available for a clock
TIMX8: user clock allocation exceeded
TIMX9: no such clock entry found
TIMX10: no system date and time
Node: TLINK Previous: TIMER Next: TMON Up: Top
TLINK JSYS 216
Controls terminal linking. (Refer to Section 2.4.3.5 for more
information.)
RESTRICTIONS: some functions require WHEEL or OPERATOR capability
enabled
ACCEPTS IN AC1: B0(TL%CRO) Clear link from remote to object
designator. If the remote designator is
-1, all remote links to the object
designator are cleared.
B1(TL%COR) Clear link from object to remote
designator. If the remote designator is
-1, links from the object to all remote
designators are cleared.
B2(TL%EOR) Establish link from object to remote
designator.
B3(TL%ERO) Establish link from remote to object
designator.
B4(TL%SAB) Examine B5(TL%ABS) to determine the
setting of the object designator's accept
link bit. If this bit is off, B5 is
ignored.
B5(TL%ABS) Set the object designator's accept link
bit. When B4(TL%SAB) is on, the object
designator is accepting links if TL%ABS
is on and refusing links if TL%ABS is
off.
(TLINK)
B6(TL%STA) Examine B7(TL%AAD) to determine the
setting of the object designator's accept
advice bit. If this bit is off, B7 is
ignored.
B7(TL%AAD) Set the object designator's accept advice
bit. When B6(TL%STA) is on, the object
designator is accepting advice if TL%AAD
is on and refusing advice if TL%ADD is
off.
B18-B35 Object designator
(TL%OBJ)
AC2: remote designator in the right half
RETURNS +1: failure, error code in AC1
+2: success
The object and remote designators must be either 4xxxxx or -1. An
object designator of -1 indicates the controlling terminal.
The following restrictions apply if the process does not have WHEEL
capability enabled:
1. The object designator must specify this terminal.
2. The object-to-remote link must be specified before or at the
same time as the remote-to-object link.
If the accept bit of the remote designator is not set, a link from the
object-to-remote designator causes the remote designator's bell to
ring. If the remote designator does not set the accept bit within 15
seconds, the TLINK call returns an error.
When terminals are linked together and a character is typed on one
terminal, the same ASCII character code is sent to all terminals in
the link. The character always appears in the output buffers of all
terminals regardless of the current mode of each individual terminal.
The character is sent according to the data mode and terminal type of
the terminal that originates the character. For example, if one
terminal originates a TAB and has mechanical tabs set, all terminals
in the link receive the ASCII code for a TAB in their output buffers.
TLINK ERROR MNEMONICS:
DESX1: invalid source/destination designator
TLNKX1: illegal to set remote to object before object to remote
TLNKX2: link was not received within 15 seconds
TLNKX3: links full
(TLINK)
TTYX01: line is not active
Node: TMON Previous: TLINK Next: TTMSG Up: Top
TMON JSYS 7
Tests various monitor flags.
ACCEPTS IN AC1: function code
RETURNS +1: always, value of the function in AC2
The codes for the functions are as follows:
Code Symbol Meaning
0 .SFFAC FACT file entries are allowed.
1 .SFCDE CHECKD found errors.
2 .SFCDR CHECKD is running.
3 .SFMST Manual start is in progress.
4 .SFRMT Remote LOGINs (dataset lines) are allowed.
5 .SFPTY PTY LOGINs are allowed.
6 .SFCTY CTY LOGINs are allowed.
7 .SFOPR Operator is in attendance.
10 .SFLCL Local LOGINs (hardwired lines) are allowed.
11 .SFBTE Bit table errors found on startup.
12 .SFCRD Users can change nonprivileged directory
parameters with the CRDIR monitor call.
13 .SFNVT ARPANET terminal LOGINs are allowed.
21 .SFUSG USAGE file entries are allowed.
22 .SFFLO Disk latency optimization using the RH20 backup
register is enabled. This feature is not to be
enabled unless the M8555 board of the RH20 is at
Revision Level D AND either of the KL10-C
processor is at Revision Level 10 or KL10-E
processor is at Revision Level 2.
23 .SFMTA If set, enables MOUNTR magtape allocation.
44 .SFNTN Turn ARPANET on.
45 .SFNDU Reinitialize ARPANET if it is down.
46 .SFNHI Initialize ARPANET host table.
47 .SFTMZ Set the local time zone to the value given in AC2.
50 .SFLHN Set the local ARPANET host number to the value
given in AC2.
51 .SFAVR Account validation will be running on this system.
52 .SFSTS Enable/disable status reporting.
53 .SFSOK Get GETOK% defaults
For this function, AC2 is set up as follows:
AC2: Flags,,GETOK% function code
Flags:
(TMON)
Bit Symbol Meaning
1B0 SF%EOK 0 = Disable access checking
1 = Enable access checking
1B1 SF%DOK 0 = Deny access if checking disabled
1 = Allow access if checking disabled
See the description of the GETOK% JSYS for GETOK%
function codes.
54 .SFMCY Specifies the maximum offline expiration period
(tape recycle period) for ordinary files.
55 .SFRDU Read date update function
56 .SFACY Specifies the maximum offline expiration period
for archive files (tape recycle period).
57 .SFRTW Sets/clears the no-retrieval-wait flag in the
monitor. When set, this specifies that those file
retrievals requests that are waiting for the
retrieval should fail rather than wait.
60 .SFTDF Set tape mount controls
Flags:
Bit Symbol Meaning
1B0 MT%UUT Set = unload unrecognizable
tapes
Clear = treat unrecognizable
tapes as unlabeled
61 .SFWSP Enable working set preloading
The SMON monitor call can be used to set various monitor flags.
Generates an illegal instruction interrupt on error conditions below.
TMON ERROR MNEMONICS:
TMONX1: invalid TMON function
Node: TTMSG Previous: TMON Next: TWAKE Up: Top
TTMSG JSYS 775
Sends a message to a specified terminal or to all terminals. The
TTMSG call is a temporary call and may not be defined in future
releases.
RESTRICTIONS: requires WHEEL or OPERATOR capability enabled
ACCEPTS IN AC1: 400000 + TTY number, or -1 to send to all terminals
(TTMSG)
AC2: byte pointer to string in caller's address space to
be sent
RETURNS +1: always
The TTMSG monitor call is a no-op if the specified terminal does not
exist.
Generates an illegal instruction interrupt on error conditions below.
TTMSG ERROR MNEMONICS:
GTDIX1: WHEEL or OPERATOR capability required
Node: TWAKE Previous: TTMSG Next: UFPGS Up: Top
TWAKE JSYS 771
Wakes the specified job that is blocked because of the execution of a
THIBR call. If more than one process in a job is blocked because of a
THIBR call, execution of the TWAKE call causes any one of the
processes to be awakened. The TWAKE call is a temporary call and may
not be defined in future releases.
ACCEPTS IN AC1: 0 in the left half, and number of job to be awakened
in the right half
RETURNS +1: failure, error code in AC1
+2: success, signal sent. Job will be awakened
immediately if blocked by a THIBR call or as soon as
next THIBR call is executed.
TWAKE ERROR MNEMONICS:
ATACX1: invalid job number
Node: UFPGS Previous: TWAKE Next: USAGE Up: Top
UFPGS JSYS 525
Updates pages of the specified file. This monitor call is used to
guarantee that a certain sequence of file pages has been written to
the disk before any other operation is performed.
ACCEPTS IN AC1: JFN in the left half, and file page number of the
first page to be updated in the right half
AC2: flags,,count of number of sequential pages to update
(UFPGS)
RETURNS +1: failure, error code in AC1
+2: success, all modified pages are written to disk. The
FDB is updated, if necessary.
FLAGS:
Bit Symbol Meaning
0 UF%NOW Allows performing a UFPGS call without
blocking. The JSYS will not block even if some
pages need to be written to disk.
If UF%NOW is not set, the UFPGS call causes the process to block until
all writes to the disk are completed.
UFPGS ERROR MNEMONICS:
UFPGX1: file is not opened for write
DESX3: JFN is not assigned
DESX4: invalid use of terminal designator or string pointer
DESX7: JFN cannot refer to output wildcard designators
DESX8: file is not on disk
LNGFX1: page table does not exist and file not open for write
IOX11: quota exceeded or disk full
Node: USAGE Previous: UFPGS Next: USRIO Up: Top
USAGE JSYS 564
Controls accounting on the system by writing entries into the system's
data file. All entries to the data file are made with this call.
Examples of the types of entries entered into the data file are disk
storage usage for regulated structures, input and output spooler
usage, job session entry, and date and time changes.
The file written by the USAGE call is an intermediate binary file,
which is converted by a system program to the final ASCII file. Each
entry in the final file is at least two records long, each record
being defined as a string of ASCII characters terminated with a
line-feed character. The first record contains system and file
information; its format is the same for all entries. Subsequent
records contain data pertaining to the entry; their formats vary
according to the particular data being entered.
(USAGE)
Refer to the TOPS-20 USAGE File Specification for additional
information on the system's data file.
RESTRICTIONS: requires WHEEL or OPERATOR capability enabled
ACCEPTS IN AC1: function code
AC2: function argument or address of record descriptor
block
RETURNS +1: always
The available functions are as follows:
Code Symbol Meaning
0 .USENT Write an entry into the system's data file.
AC2 contains the address of the record
descriptor block.
1 .USCLS Close the system's data file, which is named
PS:<ACCOUNTS>SYSTEM-DATA.BIN. No additional
entires are recorded into this file and a new
SYSTEM-DATA.BIN is opened for subsequent
entries.
2 .USCKP Perform a checkpoint of all jobs. Data
recorded during a checkpoint includes the
billable data (e.g., connect time, runtime)
accumulated during the job session, starting
from time of login or the last SET ACCOUNT
command and ending at the time this function is
performed. The data collected on a LOGIN or
SET ACCOUNT command is entered into the session
entry in the data file. The default checkpoint
time interval is 10 minutes.
3 .USLGI Initialize a checkpoint entry for the job.
This function is used internally by the LOGIN
monitor call. AC2 contains the address of the
record descriptor block.
4 .USLGO Terminate the checkpoint entry for the job and
write an entry into the system's data file,
which is named PS:<ACCOUNTS>SYSTEM-DATA.BIN.
This function is used internally by the LGOUT
monitor call. AC2 contains the address of the
record descriptor block.
5 .USSEN Terminate the current session, write an entry
into the system's data file, which is named
PS:<ACCOUNTS>SYSTEM-DATA.BIN, and initialize a
new checkpoint entry for the job. This
function is used internally by the CACCT
monitor call. AC2 contains the address of the
(USAGE)
record descriptor block.
6 .USCKI Set the checkpoint time interval. AC2 contains
the interval in minutes.
7 .USENA Install the accounting data base from the file
named PS:<SYSTEM>ACCOUNTS-TABLE.BIN into the
running monitor. The ACTGEN program uses this
file to generate the list of valid accounts.
10 .USCAS Change accounting shift. This function will
perform a "session end" function for every
active job.
11 .USSAS Set accounting shifts. Sets the times when
automatic accounting shift changes are to
occur. This function takes an argument in AC2
which is a pointer to a block of the following
format:
table header
table entry
...
table entry
The table header word contains the number of
actual entries in the table in the left
halfword, and the maximum number of table
entries in the right halfword. Each table
entry is one word in the following format:
B0-B6 US%DOW Days of the week
that this entry is in
effect. Bit n is set if
this entry is in effect
for day n (0 = Monday).
B7-B17 Unused, must be zero.
B18-B35 US%SSM Time of day that
automatic shift change
should occur. Time is
specified in seconds since
midnight.
The maximum number of table entries is 100
decimal.
12 .USRAS Read accounting shifts. This function returns
the times of the automatic shift changes that
were set with .USSAS. AC2 contains a pointer
to an argument block that is filled in by this
(USAGE)
function. The block has the same format as the
.USSAS block. Note that the right halfword
(maximum size) of the table header must be
specified by the user for .USRAS.
The record descriptor block, whose address is given in AC2, is set up
by the UITEM. macro defined in ACTSYM.MAC. (Refer to Appendix B for
the definition of the UITEM. macro.) The names of all data entries
are generated by this macro. The USENT. macro is used to generate the
header of the record descriptor block.
The format of the data generated by the USAGE call is a list of items
describing the entries in a single record. This list has a header
word containing the version numbers and the type of entry. The data
words follow this header with two words per data item. The list is
terminated with a zero word.
Generates an illegal instruction interrupt on error conditions below.
USAGE ERROR MNEMONICS:
CAPX1: WHEEL or OPERATOR capability required
ARGX02: invalid function
ARGX04: argument block too small
ARGX05: argument block too long
USGX01: invalid USAGE entry type code
USGX02: item not found in argument list
USGX03: default item not allowed
Node: USRIO Previous: USAGE Next: UTEST Up: Top
USRIO JSYS 310
Places the user program into user I/O mode in order that it can
execute various hardware I/O instructions. The user IOT flag is
turned on in the PC of the running process. The program can leave
user I/O mode by executing a JRSTF with a PC in which bit 6 is zero
(e.g., JRSTF @[.+1]).
RESTRICTIONS: requires WHEEL or OPERATOR capability enabled
RETURNS +1: failure, error code in AC1
+2: success, user IOT flag is set
USRIO ERROR MNEMONICS:
(USRIO)
CAPX2: WHEEL, OPERATOR, or MAINTENANCE capability required
Node: UTEST Previous: USRIO Next: UTFRK Up: Top
UTEST JSYS 563
Provides a method for determining if every instruction in a section of
monitor code actually gets executed. This monitor call does not test
the code by executing it; it confirms that a test of the code is
complete by reporting the instructions that were executed during the
test.
RESTRICTIONS: requires WHEEL or OPERATOR capability enabled
ACCEPTS IN AC1: function code in the left half, and length of the
argument block in the right half.
AC2: address of the argument block
RETURNS +1: always
The available functions are as follows:
Code Symbol Meaning
0 .UTSET Start testing of the code.
1 .UTCLR Stop testing of the code and update the bit map
in the argument block.
The format of the argument block is as follows:
Word Symbol Meaning
0 .UTADR Address of the beginning of the section of code
that is to be tested.
1 .UTLEN Length of section of code that is to be tested.
2 .UTMAP Start of bit map representing the instructions
that are to be tested in the section of code.
This map contains one bit for each location in
the section. If a bit is on in the map, the
corresponding instruction is to be tested. If
a bit is off, the corresponding instruction is
not to be tested.
Locations that contain data and that would
cause the section of code to execute improperly
if that data were changed should not be tested.
(UTEST)
Internally, a copy of the code being tested is placed in a buffer,
which is dynamically locked down during execution of the UTEST call.
The system allows any monitor routine to be tested as long as a
pushdown stack pointed to by AC P (i.e., 17) is set up whenever the
routine is called.
After execution of the .UTCLR function, the bit map is changed to
reflect the instructions that were actually executed during the test.
If a bit is on in the map, the corresponding instruction was executed.
If a bit is off, the corresponding instruction was not executed.
Generates an illegal instruction interrupt on error conditions below.
UTEST ERROR MNEMONICS:
CAPX3: WHEEL capability required
UTSTX1: invalid function code
UTSTX2: area of code too large to test
UTSTX3: UTEST facility in use by another process
Node: UTFRK Previous: UTEST Next: VACCT Up: Top
UTFRK JSYS 323
Resumes the execution of a process that is suspended because of a
monitor call intercept. The instruction where the execution resumes
depends on the current PC word of the suspended process. To prevent
the suspended process from executing the call, the superior process
handling the intercept can change the PC word (via the SFORK or SFRKV
call). Then on execution of the UTFRK call, the suspended process
continues at the new PC. If the superior process handling the
intercept does not change the PC word of the suspended process, then
the next superior process intercepting that particular monitor call
will receive the interrupt.
See the description of the TFORK JSYS for more information on the
monitor call intercept facility.
ACCEPTS IN AC1: flag bits in the left half, and process handle in the
right half
RETURNS +1: always
The flag bit that can be given in AC1 is as follows:
Bit Symbol Meaning
0 UT%TRP Cause a failure return for the suspended
process. This return will be either the
(UTFRK)
generation of an illegal instruction interrupt
or the processing of an ERJMP or ERCAL
instruction.
The UTFRK monitor call is a no-op if
1. The process handle given is valid but the process specified
is not suspended because of a monitor call intercept.
2. The caller is not one of the processes monitoring the
suspended process and therefore is not permitted to resume
the process.
Generates an illegal instruction interrupt on error conditions below.
UTFRK ERROR MNEMONICS:
FRKHX1: invalid process handle
FRKHX2: illegal to manipulate a superior process
FRKHX3: invalid use of multiple process handle
FRKHX8: illegal to manipulate an execute-only process
Node: VACCT Previous: UTFRK Next: WAIT Up: Top
VACCT JSYS 566
Verifies accounts by validating the supplied account for the given
user.
ACCEPTS IN AC1: 36-bit user number, 36-bit directory number, or -1 to
validate the account for the current user
AC2: byte pointer to account string
RETURNS +1: always, with updated pointer in AC2
Generates an illegal instruction interrupt on error conditions below.
VACCT ERROR MNEMONICS:
VACCX0: invalid account
VACCX1: account string exceeds 39 characters
VACCX2: account has expired
MONX02: insufficient system resources (JSB full)
(VACCT)
DELFX6: internal format of directory is incorrect
DIRX1: invalid directory number
DIRX3: internal format of directory is incorrect
STRX01: structure is not mounted
OPNX9: invalid simultaneous access
OPNX16: file has bad index block
Node: WAIT Previous: VACCT Next: WFORK Up: Top
WAIT JSYS 306
Dismisses the current process indefinitely and does not return. If
the software interrupt system is enabled for this process, the process
can be interrupted out of the wait state. Upon execution of a DEBRK
call, the process continues to wait until the next interrupt unless
the interrupt routine changes the PC word. In this case, the process
resumes execution at the new PC location. If the interrupt routine
changes the PC word, it must set the user-mode bit (bit 5) of the PC
word. (Refer to Section 2.5.7.)
Node: WFORK Previous: WAIT Next: WILD% Up: Top
WFORK JSYS 163
Causes the current process to wait for an inferior process to
terminate (voluntarily or involuntarily). A process is considered
terminated if its state is either .RFHLT or .RFFPT (refer to RFSTS
JSYS for a description of process status).
ACCEPTS IN AC1: inferior process handle, or -4 in the right half to
wait for any one of the inferior processes to
terminate
RETURNS +1: always, when one of the specified processes
terminates
This call returns immediately if the specified process or one of the
inferior processes has already terminated.
Generates an illegal instruction interrupt on error conditions below.
WFORK ERROR MNEMONICS:
FRKHX1: invalid process handle
(WFORK)
FRKHX2: illegal to manipulate a superior process
Node: WILD% Previous: WFORK Next: ZZZZZ Up: Top
WILD% JSYS 565
Compares a possibly wild string against a non-wild string to see if
the latter matches the wild string. For example, "AND" would be a
legal match for the wild string "A*D". Likewise "AND" would be a
legal match for the wild string "A%%". The WILD% JSYS will also
compare a possibly wild file specification against a non-wild file
specification.
ACCEPTS IN AC1: flags in the left half, function in the right half
AC2: wild argument - JFN or byte pointer to string
AC3: non-wild argument - JFN or byte pointer to string
RETURNS +1: always, with information returned in AC1.
This call returns immediately if the specified process or one of the
inferior processes has already terminated.
The available functions are as follows:
Code Symbol Meaning
0 .WLSTR Compare a non-wild string against a wild string
AC2 contains a byte pointer to a wild string
and AC3 contains a byte pointer to a non-wild
string. The comparison is made without regard
to what kind of characters the strings contain.
Thus tabs, spaces, and carriage returns for
example are treated just as letters are. The
following flag can be set in AC1:
B0(WL%LCD) Lower case characters are to be
treated as distinct from upper
case letters. If this bit is not
set, a lower case character will
match the corresponding upper
case character.
On return, AC1 contains the following flag:
B0(WL%NOM) If set, this bit indicates that
(WILD%)
the non-wild string did not match
the wild string.
B1(WL%ABR) If set, this bit indicates that
the non-wild string is not
matched, but is an abbreviation
of the wild string.
1 .WLJFN Compare a non-wild file specification against a
wild file specification. AC2 contains a JFN
with flags (as returned by GTJFN) for the wild
file and AC3 contains a JFN (without flags) for
the non-wild file. Flags are returned in AC1
that indicate which parts of the file
specification do not match. These flags are:
B1(WL%DEV) Device field does not match
B2(WL%DIR) Directory field does not match
B3(WL%NAM) Name field does not match
B4(WL%EXT) File type does not match
B5(WL%GEN) Generation number does not match
If a JFN is given that is a parse-only JFN, and one of the fields is
not specified (such as a file name), that field will be treated as a
null field. Thus the filenames PS:<DBELL>FOO.BAR.3 and
PS:<DBELL>.BAR.3 will not match.
If no flags are specified in AC1, then the WILD% JSYS will simply
compare the two strings character by character. This feature can be
used to compare two non-wild strings.
WILD% ERROR MNEMONICS:
DESX3: JFN is not assigned
RDTX1: Invalid string pointer
ARGX02: Invalid function
ARGX22: Invalid flags
Node: Ethernet
Ethernet Help
The following JSYS's have either been added or modified to
MONITR in order to run the Ethernet.
PUPI PUPO PUPNM
OPENF modifications
MTOPR functions
GETAB tables
ATNVT functions
SMON functions
In addition, some additional error codes for these JSYS's
are as follows:
PUPX1: Block size error
PUPX2: PUP address error
PUPX3: Operation not possible now
PUPX4: JFN open for sequential I/O only
PUPX5: Checksum incorrect
PUPX6: Destination address incorrect
PUPX7: Source address incorrect
PUPX8: JFN does not refer to device PUP:
PUPNX1: Name or address not found
PUPNX2: Recognition invoked and name ambiguous
PUPNX3: Syntax error or illegal address
PUPNX4: Inconsistent values in name expression
PUPNX5: Syntax error in attribute name string
PUPNX6: Attribute name not found
ATNX14: JFNs do not refer to same device
ATNX15: PUP JFNs do not refer to same local port
ATNX16: PUP JFNs do not refer to BSP port
ATNX17: PUP connection not open
For further documentation, read the individual JSYS calls.
Node: ZZZZZ Previous: WILD% Up: Top
ZZZZZ