Trailing-Edge
-
PDP-10 Archives
-
mit_emacs_170_teco_1220
-
info/jsys4nr.info
There are no other files named jsys4nr.info in the archive.
File: JSYSNR 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: NIN Previous: (JSYS4GM)MUTIL Next: NODE Up: Top
NIN JSYS 225
Inputs an integer number, with leading spaces ignored. This call
terminates on the first character not in the specified radix. If that
character is a carriage return followed by a line feed, the line feed
is also input.
ACCEPTS IN AC1: source designator
AC3: radix (2-10) of number being input
RETURNS +1: failure, error code in AC3, updated string pointer,
if pertinent, in AC1
+2: success, number in AC2 and updated string pointer, if
pertinent, in AC1
NIN ERROR MNEMONICS:
IFIXX1: radix is not in range 2 to 10
(NIN)
IFIXX2: first nonspace character is not a digit
IFIXX3: overflow (number is greater than 2**35)
DESX1: invalid source/destination designator
DESX2: terminal is not available to this job
DESX3: JFN is not assigned
DESX5: file is not open
Node: NODE Previous: NIN Next: NOUT Up: Top
NODE JSYS 567
Performs the following network utility functions: set local node
name, get local node name, set local node number, get local node
number, set loopback port, clear loopback port, and find loopback
port.
ACCEPTS IN AC1: function code
AC2: address of argument block
RETURNS +1: always. If an error occurs, an illegal instruction
trap is generated.
The available functions and their argument blocks are described below.
Code Symbol Function
0 .NDSLN Set local node name
Argument Block:
Word Symbol Contents
0 .NDNOD Byte pointer to ASCIZ node name.
1 .NDGLN Get local node name
Argument Block:
Word Symbol Contents
0 .NDNOD Byte pointer to destination for
ASCIZ name of local node.
2 .NDSNM Set local node number
Argument Block:
(NODE)
Word Symbol Contents
0 .NDNOD Number to set (greater than 2,
less than 127)
3 .NDGNM Get local node number.
Argument Block:
Word Symbol Contents
0 .NDNOD Number to set (greater than 2,
less than 127)
4 .NDSLP Set loopback port (2020 only)
Argument Block:
Word Symbol Contents
0 .NDPRT NSP port number.
1 .BTLID Pointer to line id.
5 .NDCLP Clear loopback port (2020 only)
Argument Block:
Word Symbol Contents
0 .NDPRT NSP port number.
6 .NDFLP Find loopback port (2020 only)
Argument Block:
Word Symbol Contents
0 .NDPRT NSP port number
1B0 (ND%LPR) Loopback running.
1B1 (ND%LPA) Loopback port
assigned.
7 .NDSNT Set node table
Sets the system's table of accessible nodes.
Argument Block:
Word Symbol Contents
0 .NDNND Number of following words (1 per
node) in right half. Left half is
reserved.
(NODE)
1 .NDCNT Number of words in a node block
(described below)
2 .NDBK1 Addresses of N blocks of
information for each node for
which updated information is to be
conveyed to the monitor. The
format of these blocks is
described below.
Node Block:
Word Symbol Contents
0 .NDNAM Byte pointer to ASCIZ node name
1 .NDSTA Node state:
.NDSON On
Add to table of reachable nodes if
not already there.
.NDSOF Off
Remove from table if previously
there.
2 .NDNXT Byte pointer to the DN20 name.
10 .NDGNT Get node table
Reads the system's table of accessible nodes.
Argument Block:
Word Symbol Contents
0 .NDNND Number of following words in the
right half (set by the user on the
call) and the number of nodes for
which the monitor actually
returned data in the left half
(set by the monitor on return).
1 .NDCNT Number of words in a node block
(described below)
2 .NDBK1 Addresses of N blocks of
information for each node for
which the monitor will return data
to the user. The format of these
blocks is described below.
.NDBK1+N Start of an area into which the
monitor will sequentially place
node blocks (described below). If
there is not enough space to hold
(NODE)
all of the information, the
monitor will store as much as
possible and then fail with error
code ARGX04.
Node Block:
Word Symbol Contents
0 .NDNAM Byte pointer to the ASCIZ node
name
1 .NDSTA Node state
.NDSON On
.NDSOF Off
.NDSSH Shut
11 .NDSIC Set topology interrupt channel
This function is used by a process wishing to be
notified that the network topology has changed.
The program must do the .NDGNT function to obtain
the current topology.
Argument Block:
Word Symbol Contents
0 .NDCHN Channel number on which interrupts
are desired.
12 .NDCIC Clear topology interrupt channel
This function is used to clear the request for
interrupt on topology change (set by function
.NDSIC).
13 .NDGVR Get NSP version number
Argument Block:
Word Symbol Contents
0 .NDNVR Number of versions returned
1 .NDCVR Address of a block in which the
NSP communications version will be
returned. (Block format is shown
below.)
2 .NDRVR Address of a block in which the
NSP routing version will be
returned. (Block format is shown
below.)
(NODE)
Version Block:
Word Symbol Contents
0 .NDVER Version number
1 .NDECO ECO number
2 .NDCST Customer change order
14 .NDGLI Get line number
Returns information on lines known to NSP.
Argument Block:
Word Symbol Contents
0 .NDNLN Number of entries following in
right half (set by user on call)
and number of lines for which
information was returned in the
left half (set by monitor on
return).
1 .NDCNT Number of words in a line block,
as described below.
2 .NDBK1 Addresses of N blocks of
information for each line for
which the monitor will return data
to the user. The format of these
blocks is described below.
.NDBK1+N Start of an area into which the
monitor will sequentially place
line blocks (described below). If
there is not enough space to hold
all of the information, the
monitor will store as much as
possible and then fail with error
code ARGX04.
Line Block:
Word Symbol Contents
0 .NDLNM line number
1 .NDLST State of Line
.NDLON On
.NDLOF Off
.NDLCN Controller
loopback
.NDLCB Cable
(NODE)
loopback
.NDLND Byte pointer to ASCIZ
name of node at the end
of the line.
15 .NDVFY Verify node name
This function indicates whether the node name
supplied by the user is or is not in the monitor's
database of known nodes.
Argument Block:
Word Symbol Contents
0 .NDNOD Byte pointer to ASCIZ node name to
be checked.
1 .NDFLG Flags returned by monitor.
Flags:
ND%EXM The specified node exactly
matches a node name in
the monitor's node
database.
NODE ERROR MNEMONICS:
ARGX02: Invalid function
ARGX19: Invalid unit number
CAPX2: WHEEL, OPERATOR, or MAINTENANCE capability required
NODX02: Line not turned off
NODX03: Another line already looped
Node: NOUT Previous: NODE Next: ODCNV Up: Top
NOUT JSYS 224
Outputs an integer number.
ACCEPTS IN AC1: destination designator
AC2: number to be output
AC3: B0(NO%MAG) output the magnitude. That is, output the
number as an unsigned 36-bit number (e.g.,
output -1 as 777777 777777).
(NOUT)
B1(NO%SGN) output a plus sign for a positive number.
B2(NO%LFL) output leading filler. If this bit is not
set, trailing filler is output, and bit
3(NO%ZRO) is ignored.
B3(NO%ZRO) output 0's as the leading filler if the
specified number of columns (NO%COL)
allows filling. If this bit is not set,
blanks are output as leading filler if the
number of columns allows filling.
B4(NO%OOV) output on column overflow and return an
error. If this bit is not set, column
overflow is not output.
B5(NO%AST) output asterisks on column overflow. If
this bit is not set and bit 4 (NO%OOV) is
set, all necessary digits are output on
column overflow.
B11-B17 number of columns (including sign column)
(NO%COL) to output. If this field is 0, as many
columns as necessary are output.
B18-B35 radix (2-36) of number being output
(NO%RDX)
RETURNS +1: failure, error code in AC3
+2: success, updated string pointer in AC1, if pertinent
NOUT ERROR MNEMONICS:
NOUTX1: radix is not in range 2 to 36
NOUTX2: column overflow
DESX1: invalid source/destination designator
DESX2: terminal is not available to this job
DESX3: JFN is not assigned
DESX5: file is not open
IOX11: quota exceeded or disk full
Node: ODCNV Previous: NOUT Next: ODTIM Up: Top
ODCNV JSYS 222
(ODCNV)
Converts the internal date and time format into separate numbers for
local weekday, day, month, year, and time and does not convert the
numbers to text. (Refer to Section 2.8.2 for more information.) The
ODCNV call gives the caller the option of explicitly specifying the
time zone and daylight savings time.
ACCEPTS IN AC2: internal date and time, or -1 for current date and
time
AC4: B0(IC%DSA) apply daylight savings according to the
setting of B1(IC%ADS). If B0 is off,
daylight savings is applied only if
appropriate for date.
B1(IC%ADS) apply daylight savings if B0(IC%DSA) is
on.
B2(IC%UTZ) use time zone in B12-B17(IC%TMZ). If this
bit is off, the local time zone is used.
B3(IC%JUD) apply Julian day format (Jan 1 is day 1 in
conversion)
B12-B17 time zone to use if B2(IC%UTZ) is on.
(IC%TMZ)
RETURNS +1: always, with
AC2 containing the year in the left half, and the
numerical month (0=January) in the right half.
AC3 containing the day of the month (0=first day) in
the left half, and the day of the week (0=Monday)
in the right half.
AC4 containing
B0 and B2 on for compatibility with the IDCNV
call
B1(IC%ADS) on if daylight savings was applied
B3(IC%JUD) on if Julian day format was applied
B12-B17 time zone used
(IC%TMZ)
B18-B35 local time in seconds since midnight
(IC%TIM)
If IC%JUD is set, the julian day (1 = Jan 1, 365 = non-leap Dec 31,
366 = leap Dec 31, etc) is returned in the right half of AC2 and the
left half of AC3 is set to zero.
Generates an illegal instruction interrupt on error conditions below.
ODCNV ERROR MNEMONICS:
DATEX6: system date and time are not set
(ODCNV)
TIMEX1: time cannot be greater than 24 hours
ZONEX1: time zone out of range
Node: ODTIM Previous: ODCNV Next: ODTNC Up: Top
ODTIM JSYS 220
Outputs the date and time by converting the internal format of the
date and/or time to text. (Refer to Section 2.8.2.)
ACCEPTS IN AC1: destination designator
AC2: internal date and time, or -1 for current date and
time
AC3: format option flags (see below), 0 is the normal case
RETURNS +1: always, updated string pointer in AC1, if pertinent
The format option flags in AC3 indicate the format in which the date
and time are to be output.
ODTIM Option Flags
B0(OT%NDA) do not output the date and ignore B1-B8.
B1(OT%DAY) output the day of the week according to the format
specified by B2(OT%FDY).
B2(OT%FDY) output the full text for the day of the week. If this
bit is off, the 3-letter abbreviation of the day of the
week is output.
B3(OT%NMN) output the month as numeric and ignore B4(OT%FMN).
B4(OT%FMN) output the full text for the month. If this bit is
off, the 3-letter abbreviation of the month is output.
B5(OT%4YR) output the year as a 4-digit number. If this bit is
off, the year is output as a 2-digit number if between
1900 and 1999.
B6(OT%DAM) output the day of the month after the month. If this
bit is off, the day is output before the month.
B7(OT%SPA) output the date with spaces between the items
(e.g., 6 Feb 76). If B6(OT%DAM) is also on, a comma
is output after the day of the month (e.g., Feb 6, 76).
(ODTIM)
B8(OT%SLA) output the date with slashes (e.g., 2/6/76).
If B7-B8 are both off, the date is output with dashes
between the items (e.g., 6-Feb-76).
B9(OT%NTM) do not output the time and ignore B10-B13.
B10(OT%NSC) do not output the seconds. If this bit is off, the
seconds are output, preceded by a colon.
B11(OT%12H) output the time in 12-hour format with AM or PM
following the time. If this bit is off, the time is
output in 24-hour format.
B12(OT%NCO) output the time without a colon between the hours and
minutes.
B13(OT%TMZ) output the time and follow it with a "-" and a time
zone (e.g., -EDT).
B17(OT%SCL) suppress columnation of the date and time by omitting
leading spaces and zeros. This produces appropriate
output for a message. If this bit is off, the date and
time are output in columns of constant width regardless
of the particular date or time. However, full texts of
months and weekdays are not columnated. This output is
appropriate for tables.
If AC3 is 0, the ODTIM call outputs the date and time in columns in
the format
dd-mmm-yy hh:mm:ss
For example, 6-Feb-76 15:14:03.
If AC3 is -1, the ODTIM call interprets the contents as if
B1-B2,B4-B7, and B17 were on (i.e., AC3=336001000000) and outputs the
date and time in the format
weekday, month day, year hh:mm:ss
as in Friday, February 6, 1976 15:14:03
Additional examples are:
Contents of AC3 Typical Text
202201000000 Fri 6 Feb 76 1:06
336321000000 Friday, February 6, 1976 1:06AM-EST
041041000000 6/2/76 106:03
041040000000 6/02/76 106:03
Generates an illegal instruction interrupt on error conditions below.
ODTIM ERROR MNEMONICS:
(ODTIM)
DATEX6: system date and time are not set
TIMEX1: time cannot be greater than 24 hours
All I/O errors are also possible. These errors cause software
interrupts or process terminations as described for the BOUT call
description.
Node: ODTNC Previous: ODTIM Next: OPENF Up: Top
ODTNC JSYS 230
Outputs the date and/or the time as separate numbers for local year,
month, day, or time. (Refer to Section 2.8.2.) This JSYS is a subset
of the ODTIM call because the output of dates and times not stored in
internal format is permitted. Also, the caller has control over the
time and zone printed.
ACCEPTS IN AC1: destination designator
AC2: year in the left half, and numerical month
(0=January) in the right half
AC3: day of the month (0=first day) in the left half, and
day of the week (0=Monday), if desired, in the right
half
AC4: B1(IC%ADS) apply daylight savings on output
B12-B17(IC%TMZ) time zone in which to output
B18-B35(IC%TIM) local time in seconds since midnight
AC5: format option flags (refer to ODTIM for the
description of these flags)
NOTE
The only time zones that can be output by
B13(OT%TMZ) are Greenwich and USA zones.
RETURNS +1: always, updated string pointer in AC1, if pertinent.
Generates an illegal instruction interrupt on error conditions below.
ODTNC ERROR MNEMONICS:
DATEX1: year out of range
DATEX2: month is not less than 12
(ODTNC)
DATEX3: day of month too large
DATEX4: day of week is not less than 7
ZONEX1: time zone out or range
ODTNX1: time zone must be USA or Greenwich
All I/O errors can occur. These errors cause software interrupts or
process terminations as described for the BOUT call description.
Node: OPENF Previous: ODTNC Next: PBIN Up: Top
OPENF JSYS 21
Opens the given file. Refer to the TOPS-20 Monitor Calls User's Guide
for the explanations of the types of access allowed to a file.
ACCEPTS IN AC1: JFN (right half of AC1) of the file being opened.
AC2: B0-B5(OF%BSZ) Byte size (maximum of 36 decimal). If
a zero byte size is supplied, the byte
size defaults to 36 bits.
B6-B9(OF%MOD) File data mode. Possible data modes
are:
Code Symbol Mode
0 .GSNRM Normal (ASCII)
10 .GSIMG Image
17 .GSDMP Dump
The legal modes for a given device are:
Device Legal Modes
Disk .GSNRM, .GSDMP
Card
Reader .GSNRM, .GSIMG
Card
Punch .GSNRM, .GSIMG
PTY .GSNRM (PTY receives data in
mode of its TTY)
Tape .GSNRM, .GSDMP
TTY .GSNRM, .GSIMG
Modes for opening an Ethernet connection:
Mode Symbol Description
0 .PUOI Initiate connection,
wait for completion
1 .PUOIN Initiate connection,
no wait
2 .PUOL Listen mode, wait for
a connection
3 .PUOLN Listen mode, no wait
4 .PUOCN Open PUP set to OPEN
state
10 .PUORW "Raw" IO mode, i.e.,
no BSP processing
Note that these modes do not correspond
to the hardware data modes, which may be
specified by the .MOPSM function of
MTOPR%. The default hardware mode is
.PM32, 32 bits left justified in a full
word.
In addition to the above modes, a user
may specify an optional timeout interval
in 1B9-1B17 of AC2 and a connection ID in
AC3.
B18(OF%HER) Halt on I/O device or data error. If
this bit is on and a condition occurs
that causes an I/O device or data error
interrupt, the process will instead be
halted, and an illegal instruction
interrupt will be generated. If this
bit is off and the condition occurs,
the interrupt is generated on its
normally-assigned channel. This bit
remains in affect for the entire time
that the file is open.
B19(OF%RD) Allow read access.
B20(OF%WR) Allow write access.
B21(OF%EX) Reserved for future use.
B22(OF%APP) Allow append access.
B25(OF%THW) Allow thawed access. If this bit is
off, the file is opened for frozen
access.
B26(OF%AWT) Block program and print a message on
the job's controlling terminal if
access to file cannot be permitted.
The program is blocked until access is
granted.
B27(OF%PDT) Do not update access dates of the file.
B28(OF%NWT) Return an error if access to file
cannot be permitted.
If B26 and B28 are both off, the
default is to return an error if access
to the file cannot be granted.
B29(OF%RTD) Enforce restriced access. No other JFN
in the system may be opened with this
file until the current JFN is closed.
B30(OF%PLN) Disable line number checking and
consider a line number as 5 characters
of text.
B31(OF%DUD) Suppress the system updating of
modified pages in memory to thawed
files on disk until a UFPGS or CLOSF
JSYS is executed. This bit is ignored
for new files.
B32(OF%OFL) Open the device even if it is off line.
B33(OF%FDT) Force an update of the .FBREF date and
time (last read) in the FDB. Also,
increment right halfword (number of
(OPENF)
file references) of .FBCNT count word
in the FDB.
B34(OF%RAR) Wait if the file is offline.
RETURNS +1: failure, error code in AC1
+2: success
A byte size of 0 opens the file in 36-bit (full word) bytes and can be
given when subsequent I/O will be done with the PMAP call. A byte
size of 8 given for a JFN referring to a terminal opens the terminal
in binary mode. (Refer to Section 2.4.3.) A byte size of 8 given for
a JFN referring to a line printer opens the printer in 8-bit byte
mode, thereby allowing the data to be accessed with 8-bit byte
pointers. (Refer to Section 2.4.1.) A byte size other than 8 given
for the printer results in using 7-bit bytes.
NOTE
For sequential I/O, bytes are packed
into a 36-bit monitor buffer and are
unpacked by a pointer standard for the
device and data mode being used. For
example, a byte size of 7 (which is the
system standard for ASCII data) causes 5
7-bit bytes to be packed into the buffer
with the setting of the remaining bit
being unpredictable. If a byte size is
then used that retrieves all 36 bits of
data from the buffer, the last bit of
each word is indeterminate.
Even though each type of desired access can be indicated by a separate
bit, some accesses are implied when specific bits are set. For
example, the setting of the write access bit implies read access if
the process is allowed to read the file according to the file's access
code. This means that if the process has access to read the file and
it sets only the write access bit, the process will have the file
opened for read, write, and execute access. However, if an existing
file is opened and only write access is specified (only OF%WR is set),
the contents of the file are deleted, and the file is considered
empty. Thus, to update an existing file, both OF%RD and OF%WR must be
set.
Note that if OF%RD, OF%WR, and OF%APP are all zero, OPENF will
generate an error.
OPENF works as follows for archived versus migrated files:
Archived
OPENF Access Online Offline
(OPENF)
Read Ok Fail/Wait
Write Fail Fail
Append Fail Fail
Migrated
OPENF Access Online Offline
Read Ok Fail/Wait
Write Ok
(discard
implied)
Append Ok Fail/Wait
(discard (discard
implied) implied)
The fail cases will all return an appropriate error message (OPNXnn).
The fail/wait cases will return an error for fail or wait until the
OPENF can be successfully completed. Whether a fail or wait occurs
will be determined by the setting of OF%NWT (never wait for file) and
OF%RAR (retrieve file if necessary). If OF%NWT is set on the OPENF
call, OPENF will always fail (in the fail/wait cases). If OF%RAR or
the job default is set, the OPENF will wait for the file to be
retrieved and then complete successfully. In the Ok (discard implied)
cases, tape pointers, if any, for the file are discarded.
The CLOSF monitor call can be used to close a specific file.
OPENF ERROR MNEMONICS:
OPNX1: file is already open
OPNX2: file does not exist
OPNX3: read access required
OPNX4: write access required
OPNX5: execute access required
OPNX6: append access required
OPNX7: device already assigned to another job
OPNX8: device is not on line
OPNX9: invalid simultaneous access
OPNX10: entire file structure full
OPNX12: list access required
(OPENF)
OPNX13: invalid access requested
OPNX14: invalid mode requested
OPNX15: read/write access required
OPNX16: file has bad index block
OPNX17: no room in job for long file page table
OPNX18: Unit Record Devices are not available
OPNX23: disk quota exceeded
OPNX25: device is write-locked
OPNX26: illegal to open a string pointer
DESX1: invalid source/destination designator
DESX3: JFN is not assigned
DESX4: invalid use of terminal designator or string pointer
DESX7: JFN cannot refer to output wildcard designators
SFBSX2: invalid byte size
TTYX01: line is not active
Node: PBIN Previous: OPENF Next: PBOUT Up: Top
PBIN JSYS 73
Inputs the next sequential byte from the primary input designator.
This call is equivalent to a BIN call with the source designator given
as .PRIIN.
RETURNS +1: always, with the byte right-justified in AC1
Can cause several software interrupts or process terminations on
certain file conditions. (Refer to bit OF%HER of the OPENF call
description.)
PBIN ERROR MNEMONICS:
DESX1: invalid source/destination designator
DESX2: terminal is not available to this job
DESX5: file is not open
(PBIN)
IOX1: file is not open for reading
IOX4: end of file reached
IOX5: device or data error
Node: PBOUT Previous: PBIN Next: PEEK Up: Top
PBOUT JSYS 74
Outputs a byte sequentially to the primary output designator. This
call is equivalent to a BOUT call with the destination designator
given as .PRIOU.
ACCEPTS IN AC1: byte to be output, right-justified
RETURNS +1: always
Can cause several software interrupts or process terminations on
certain file conditions. (Refer to bit OF%HER of the OPENF call
description.)
PBOUT 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
IOX2: file is not open for writing
IOX5: device or data error
IOX6: illegal to write beyond absolute end of file
IOX11: quota exceeded or disk full
Node: PEEK Previous: PBOUT Next: PLOCK Up: Top
PEEK JSYS 311
Transfers a block of words from the monitor to the user space. The
desired monitor pages must have read access. This monitor call is
used to obtain data from the monitor for maintenance and test purposes
and should be executed only when GETAB information is not available.
(PEEK)
RESTRICTIONS: requires WHEEL, OPERATOR, or MAINTENANCE capability
enabled
ACCEPTS IN AC1: word count in the left half, and first virtual
address of the monitor in the right half
AC2: first user address
RETURNS +1: failure, error code in AC1
+2: success, the desired words are transferred.
PEEK ERROR MNEMONICS:
CAPX1: WHEEL or OPERATOR capability required
PEEKX2: read access failure on monitor page
Node: PLOCK Previous: PEEK Next: PMAP Up: Top
PLOCK JSYS 561
Acquires physical memory and places a designated section of the
process' address space in memory. Allows the process to specify the
memory pages to be used, or permits the system to select the pages.
RESTRICTIONS: requires WHEEL, OPERATOR, or MAINTENANCE capability
enabled
ACCEPTS IN AC1: address of first page if acquiring (locking) or -1 if
unlocking.
AC2: process handle (currently .FHSLF only) in the left
half and number of first page in the right half.
AC3: control flags in the left half and repeat count in
the right half. The control flags are
B0 (LK%CNT) right half of AC3 contains a count of the
number of pages to lock.
B1 (LK%PHY) value in AC1 is the first page desired.
If this bit is off and AC1 is not -1, the
system selects pages.
B2 (LK%NCH) pages will not be cached.
B3 (LK%AOL) off-line pages are to be locked.
RETURNS +1: always
If the PLOCK call is unable to honor any one of the requests to unlock
(PLOCK)
any one of the pages specified by the repeat count, it will unlock all
of the others.
A page that was locked with the PLOCK call may be unmapped. (Refer to
the PMAP call.) This will unlock the process' page and return the now
unlocked physical page to its previous state.
The page selected by the user must be capable of being placed off-line
for the PLOCK call to acquire it.
Generates an illegal instruction interrupt on error conditions below.
PLOCK ERROR MNEMONICS:
ARGX22: invalid flag
ARGX24 invalid count
Node: PMAP Previous: PLOCK Next: PMCTL Up: Top
PMAP JSYS 56
Maps one or more complete pages from a file to a process (for input),
from a process to a file (for output), or from one process to another
process. Also unmaps pages from a process and deletes pages from a
file. Each of the five uses of PMAP is described below.
Case I Mapping File Pages to a Process
This use of the PMAP call does not actually transfer any data; it
simply changes the contents of the process' page map. When changes
are made to the page in the process, the changes will also be
reflected in the page in the file, if write access has been specified
for the file.
ACCEPTS IN AC1: JFN of the file in the left half, and the page number
in the file in the right half. This AC contains the
source.
AC2: process handle in the left half, and the page number
in the process in the right half. This AC contains
the destination.
AC3: B0(PM%CNT) A count is in the right half of AC3.
This count specifies the number of
sequential pages to be mapped.
B2(PM%RD) Permit read access to the page.
B3(PM%WR) Permit write access to the page.
(PMAP)
B4(PM%EX) Reserved for future use.
The symbol PM%RWX can be used to set
B2-B4.
B5(PM%PLD) Preload the page being mapped (i.e., move
the page immediately instead of waiting
until it is referenced).
B9(PM%CPY) Create a private copy of the page when it
is written into (copy-on-write). If the
page is mapped between two processes
(Case III below), both processes will
receive a private copy of the page.
B11(PM%ABT) Unmap a page and throw its changed
contents away. This bit is significant
only when unmapping pages in a process
(see case IV below) and OF%DUD is set in
the OPENF. PM%ABT is particularly useful
in the case of erroneous data written to
a mapped page of a file open for
simultaneous access. In this case, it is
important that the erroneous page be
discarded and not be used to update the
file page.
B18-B35 Number of pages to be mapped if
(PM%RPT) B0(PM%CNT) is set.
RETURNS +1: always
This use of PMAP changes the map of the process such that addresses in
the page in the process specified by the right half of AC2 actually
refer to the page in the file specified by the right half of AC1. The
present contents of the page in the process are removed. If the page
in the file is currently nonexistent, it will be created when it is
written (i.e., when the corresponding page in the process is written).
This use of PMAP is legal only if the file is opened for at least read
access. The access bits specified in the PMAP call are ANDed with the
access that was specified when the file was opened. However,
copy-on-write is always granted, regardless of the file's access. The
access granted is placed in the process' map. The file cannot be
closed while any of its pages are mapped into any process. Thus,
before the file is closed, pages must be unmapped from each process by
a PMAP call with -1 in AC1 (see below).
Case II Mapping Process Pages to a File
This use of the PMAP call actually transfers data by moving the
contents of the specified page in the process to the specified page in
the file. The process' map for that page becomes empty.
ACCEPTS IN AC1: process handle in the left half, and the page number
(PMAP)
in the process in the right half. This AC contains
the source.
AC2: JFN of the file in the left half, and the page number
in the file in the right half. This AC contains the
destination.
AC3: access bits and repetition count. (Refer to Case I.)
RETURNS +1: always
The process page and the file page must be private pages. The
ownership of the process page is transferred to the file page. The
present contents of the page in the file is deleted.
The access granted to the file page is determined by ANDing the access
specified in the PMAP call with the access specified when the file was
opened.
When mapping pages from a process to a file, the end-of-file byte
pointer and the byte size are not automatically updated in the File
Descriptor Block (FDB). To allow the file to be read later via the
sequential I/O calls (e.g., BIN, SIN), the process executing the PMAP
call should close the file keeping the JFN (CLOSF call, bit CO%NRJ),
update the byte pointer and the byte size in the FDB (CHFDB call), and
then release the JFN (RLJFN call). (Refer to Section 2.2.8 for the
format of the FDB fields.)
Case III Mapping One Process' Pages to Another Process
This use of the PMAP call normally does not transfer any data; it
simply changes the contents of the page maps of the processes. When
changes are made to the page in one process, the changes will also be
reflected in the corresponding page in the other process.
ACCEPTS IN AC1: process handle in the left half, and the page number
in the process in the right half. This AC contains
the source.
AC2: a second process handle in the left half, and page
number in that process in the right half. This AC
contains the destination.
AC3: access bits and repetition count. (Refer to Case I.)
RETURNS +1: always
This use of PMAP changes the map of the destination process such that
addresses in the page specified by the right half of AC2 actually
refer to the page in the source process specified by the right half of
AC1. The present contents of the destination page are deleted.
The access granted to the destination page is determined by the access
specified in the PMAP call.
(PMAP)
Case IV Unmapping Pages In a Process
As stated previously, a file cannot be closed if any of its pages are
mapped in any process.
ACCEPTS IN AC1: -1
AC2: process handle in the left half, and page number in
the process in the right half
AC3: B0(PM%CNT) Repeat count. Only the process page
numbers are incremented.
B18-B35 Number of pages to remove from process
This format of the PMAP call removes the pages indicated in AC2 from
the process.
A page that was locked with the PLOCK call may be unmapped. Doing so
will unlock the process' page and return the now unlocked physical
page to its previous state.
Case V Deleting One or More Pages from a File
Deletes one or more pages from a file on disk and does not affect the
address space of any process.
ACCEPTS IN AC1: -1
AC2: JFN of the file in the left half and page number of
the file in the right half.
AC3: B0(PM%CNT) Indicates a repeat count is in right half
of AC3.
B18-35 Number of pages to delete from file
Illegal PMAP calls
The PMAP call is illegal if:
1. Both AC1 and AC2 designate files.
2. Both AC1 and AC2 are 0.
3. The PMAP call designates a file with write-only access.
4. The PMAP call designates a file with append-only access.
5. The source and/or the destination designates an execute-only
process and the process is not self (.FHSLF).
Can cause several software interrupts on certain file conditions.
(PMAP)
Generates an illegal instruction interrupt on error conditions below.
PMAP ERROR MNEMONICS:
DESX1: invalid source/destination designator
DESX3: JFN is not assigned
DESX5: file is not open
DESX7: JFN cannot refer to output wildcard designators
PMAPX1: invalid access requested
PMAPX2: invalid use of PMAP
PMAPX3: illegal to move shared page into file
PMAPX4: illegal to move file page into process
PMAPX5: illegal to move special page into file
PMAPX6: disk quota exceeded
PMAPX7: illegal to map file on dismounted structure
FRKHX1: invalid process handle
FRKHX2: illegal to manipulate a superior process
FRKHX3: invalid use of multiple process handle
FRKHX7: process page cannot exceed 777
FRKHX8: illegal to manipulate an execute-only process
LNGFX1: page table does not exist and file not open for write
IOX11: quota exceeded or disk full
ARGX06: invalid page number
CFRKX3: insufficient system resources
Node: PMCTL Previous: PMAP Next: PPNST Up: Top
PMCTL JSYS 560
Controls physical memory. This call allows a privileged program to
add or remove most pages of physical memory and to control use of
cache memory.
(PMCTL)
The PMCTL monitor call requires the process to have WHEEL, OPERATOR,
or MAINTENANCE capability enabled.
ACCEPTS IN AC1: function code
AC2: length of the argument block
AC3: address of the argument block
RETURNS +1: always
The defined functions and their argument blocks are as follows:
Function Symbol Meaning
0 .MCRCE Return the status of cache memory. The
status is returned in word .MCCST of the
argument block.
Argument Block
0 .MCCST If B35(MC%CEN) is on, the cache
is enabled.
1 .MCSCE Set the status of cache memory.
Argument Block
0 .MCCST Enable the cache if B35(MC%CEN)
is on.
2 .MCRPS Return the status of the given page(s). The
number of the page is given in word .MCPPN,
and its status is returned in word .MCPST.
Argument Block
0 .MCPPN Negative count in the left half;
number of physical page in the
right half
1 .MCPST Returned page status. The
status is represented by one of
the following values:
0 .MCPSA Page is available
for normal use.
1 .MCPSS Page is in a
transition state.
2 .MCPSO Page is off line
because it is
nonexistent.
Nonexistent memory
(PMCTL)
is marked as off
line at system
startup.
3 .MCPSE Page is off line
because the monitor
detected an error.
3 .MCSPS Set the status of the given page. The number
of the page is given in word .MCPPN, and the
status value is given in word .MCPST.
Argument Block
0 .MCPPN Number of physical page.
1 .MCPST Status for page. The status is
represented by one of the
following values:
0 .MCPSA Mark page available
for normal use.
2 .MCPSO Mark page off line
because it does not
exist.
3 .MCPSE Mark page off line
because it has an
error.
4 .MCRME Collect information
about MOS memory
errors. Store the
information in
block addressed by
AC3 and update AC2
on return.
A list of those pages that PMCTL cannot acquire follows:
1. the EPT
2. the monitor's UPT
3. any page containing a CST0 entry
4. any page containing an SPT entry
5. the page containing MMAP
6. any page belonging to the resident free space pool
(PMCTL)
In certain specialized monitors, for example TOPS-20AN, there are
additional pages that cannot be acquired. An estimate of the size of
these areas follows:
CST0 one word for every page of memory supported (two to four
pages)
SPT four pages
MMAP one page
Resident Free Space Pool two pages minimum
Generates an illegal instruction interrupt on error conditions below.
PMCTL ERROR MNEMONICS:
CAPX2: WHEEL, OPERATOR, or MAINTENANCE capability required
PMCLX1: invalid page state or state transition
PMCLX2: requested physical page is unavailable PMCLX3: requested
physical page contains errors
ARGX02: invalid function
ARGX06: invalid page number
Node: PPNST Previous: PMCTL Next: PRARG Up: Top
PPNST JSYS 557
Translates a project-programmer number (a TOPS-10 36-bit directory
designator) to its corresponding TOPS-20 string. The string consists
of the structure name and a colon followed by the directory name
enclosed in brackets. This monitor call and the STPPN 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: destination designator
AC2: project-programmer number (36 bits)
AC3: byte pointer to structure name string for which the
given project-programmer number applies.
RETURNS +1: always, string written to destination, with updated
byte pointer, if pertinent, in AC1
If the structure name string is a logical name, then the first
structure appearing in the logical name definition is used.
Generates an illegal instruction interrupt on error conditions below.
(PPNST)
PPNST ERROR MNEMONICS:
PPNX1: invalid PPN
PPNX2: structure is not mounted
GJFX22: insufficient system resources (Job Storage Block full)
STDVX1: no such device
DESX1: invalid source/destination designator
DESX2: terminal is not available to this job
DESX3: JFN is not assigned
DESX5: file is not open
DELFX6: internal format of directory is incorrect
DIRX1: invalid directory number
DIRX2: insufficient system resources
DIRX3: internal format of directory is incorrect
STRX01: structure is not mounted
STRX06: no such user number
IOX11: quota exceeded or disk full
Node: PRARG Previous: PPNST Next: PSOUT Up: Top
PRARG JSYS 545
Returns and/or sets arguments for the specified process.
ACCEPTS IN AC1: function code in the left half, and a process handle
in the right half
AC2: address of argument block
AC3: length of argument block
RETURNS +1: always, with the number of words in the argument
block in AC3
The codes for the functions are as follows:
1 .PRARD return the arguments beginning at the address
specified in AC2
(PRARG)
2 .PRAST set the arguments using the argument block at the
address specified in AC2
Generates an illegal instruction interrupt on error conditions below.
PRARG ERROR MNEMONICS:
PRAX1: invalid PRARG function code
PRAX2: no room in monitor data base for argument block
PRAX3: PRARG argument block too large
Node: PSOUT Previous: PRARG Next: PUPI Up: Top
PSOUT JSYS 76
Outputs a string sequentially to the primary output designator.
ACCEPTS IN AC1: byte pointer to an ASCIZ string in the caller's
address space
RETURNS +1: always, updated byte pointer in AC1
Can cause several software interrupts or process terminations on
certain file conditions. (Refer to bit OF%HER of the OPENF call
description.)
PSOUT 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
IOX2: file is not open for writing
IOX5: device or data error
IOX6: illegal to write beyond absolute end of file
IOX11: quota exceeded or disk full
Node: PUPI Previous: PSOUT Next: PUPO Up: Top
PUPI JSYS 441
Used for reading in PUP's directly without BSP processing.
ACCEPTS IN AC1: B0 (PU%NOW) never dismiss for I/O, give PUPX3 error instead
B1 (PU%CHK) check pup checksum, give PUPX5 error if bad
B2 (PU%SRC) perform source address check, PUPX7 error if bad
B3 (PU%MEI) Want header in 16-bit header mode (.PM16)
B18-B35 JFN of open port
AC2: length of user data area in words in the left half and
address of the user data block block in the right half
RETURNS: +1: failure, error code in AC1.
+2 success
PUPI ERROR MNEMONICS:
IOX1: Not open for reading
DESX4: Invalid use of terminal designator or string pointer
DESX5: File is not open
PUPX1: Block size error
PUPX3: Operation not possible now
PUPX4: JFN open for sequential I/O only
PUPX5: Checksum incorrect
PUPX7: Source address incorrect
PUPX8: JFN does not refer to device PUP:
Node: PUPO Previous: PUPI Next: PUPNM Up: Top
PUPO JSYS 442
Used for outputting PUP's directly without BSP processing.
ACCEPTS IN AC1: B0 (PU%NOW) never dismiss for I/O, give PUPX3 error instead
B1 (PU%CHK) check pup checksum
B2 (PU%SRC) perform source address check
B3 (PU%MEI) Header is in 16-bit header mode (.PM16)
B18-B35 JFN of open port
AC2: length of user data area in words in the left half and
address of the user data block block in the right half
RETURNS: +1: failure, error code in AC1.
+2 success
PUPO ERROR MNEMONICS:
IOX2: File is not open for writing
DESX4: Invalid use of terminal designator or string pointer
DESX5: File is not open
PUPX1: Block size error
PUPX2: PUP address error
PUPX4: JFN open for sequential I/O only
PUPX5: Checksum incorrect
PUPX7: Source address incorrect
PUPX8: JFN does not refer to device PUP:
Node: PUPNM Previous: PUPO Next: RCDIR Up: Top
PUPNM JSYS 443
Do pup name/address translation.
ACCEPTS IN AC1: Source/destination designator. If source, must be a string
pointer
AC2: 1B0 (PN%NAM) If set, lookup name string given by AC1 and
return address(es) to block pointed by AC2.
If not set, look up name string pointed to by AC2
and output resulting name string to AC1.
If PN%ATT is set, do this for the attribute
string.
1B1 (PN%FLD) If set and PN%NAM is set, allow recognition.
If set and PN%NAM is not set, omit fields where
possible.
If not set and PN%NAM is set, do not allow
recognition
If not set and PN%NAM is not set, output each
field.
1B2 (PN%OCT) If set, output octal numbers for unknown fields.
If not set and PN%NAM off, return an error if
the address is not found.
1B3 (PN%ADR) If PN%NAM is off, return address block pointer
in AC3
1B4 (PN%ATT) If set, lookup attribute name string pointer to
by AC4, output corresponding attribute value
string to AC1. PN%NAM must be off. PN%ATT on
suppresses outputting of the name string and
forces PN%OCT off.
B9-B17 Block length in words if PN%NAM is on.
B18-B35 Block address.
AC3: not used
AC4: Destination designator for attribute value string if
PN%ATT is on.
RETURNS: +1: failure, error code in AC1.
+2 success, with updated string pointers in AC1 and AC4 if
relevant. AC2 is updated only if PN%NAM is set; the left
half contains the number of words used in the block (i.e.,
twice the number of matching addresses, which can be greater
than the number of words in the block); the right half of AC2
is unchanged. The left half of AC3 contains the version
number of SYSTEM:PUP-NETWORK.DIRECTORY; the right half
contains the 16-bit byte address of the first word of the
address block if PN%ADR on in AC2 or a zero if not found
The format of the block pointed to by AC2 is any number of repetitions of the
following two word block:
<Network number>,,<Host number>
<Socket>
PUPNM ERROR MNEMONICS:
DESX1: Invalid source/destination designator
PUPNX1: Name or address not found
PUPNX2: Recognition invoked and name ambiguous
PUPNX3: Syntax error or illegal address
PUPNX4: Inconsistent overlapping elements in name string
PUPNX5: Syntax error in attribute name string
PUPNX6: Attribute name not found
Node: RCDIR Previous: PUPNM Next: RCM Up: Top
RCDIR JSYS 553
(RCDIR)
Translates the given directory string to its corresponding 36-bit
directory number. The directory string consists of the structure name
or logical name and a colon followed by the directory name enclosed in
either square brackets or angle brackets. No spaces can appear
between the structure name and the directory name, and each field
given must include its punctuation. An example of a directory string
is PS:<SMITH>. If the structure name is omitted from the string, the
user's connected structure is used. If the directory name is omitted
from the string, the user's connected directory is used.
Recognition can be used on the string but only on the directory name
field; recognition cannot be used on the structure name field.
Partial recognition can be allowed so that a user can employ
recognition when typing the name of a subdirectory. When recognition
is used on the directory name field and the directory name is not
ambiguous, the closing bracket is not required.
The directory name field can contain wildcard characters, and repeated
RCDIR calls can be executed to obtain the numbers of the directories
whose characters match the given directory. After the first call,
each subsequent RCDIR call returns the number of the next directory in
the group.
ACCEPTS IN AC1: flag bits in the left half
AC2: byte pointer to ASCIZ string to be translated, a JFN,
a 36-bit user number, or a 36-bit directory number
(given for the purpose of checking its validity)
AC3: 36-bit directory number (given when stepping to the
next directory in a group of directories)
RETURNS +1: always, with
AC1 containing flag bits in the left half
AC2 containing an updated byte pointer (if a pointer
was supplied as the argument). If recognition
was used, this pointer reflects the remainder of
the string that was appended to the original
string.
AC3 containing a 36-bit directory number if execution
of the call was successful
The flag bits supplied in the left half of AC1 are as follows:
B14(RC%PAR) Allow partial recognition on the directory name. If
the name given matches more than one directory, bit
RC%AMB is set on return and the string is updated to
reflect the unique portion of the directory name. If
bit RC%PAR is not set, the name given matches more than
one directory, and recognition is being used, bit
RC%AMB is set on return, but the string is not updated.
(RCDIR)
B15(RC%STP) Step to the next directory in the group and return the
number of that directory. AC1 must have bit RC%AWL
set. AC2 must contain a pointer to a string that
contains wildcard characters in the directory name
field. AC3 must contain a directory number.
B16(RC%AWL) Allow the directory name to contain wildcard
characters. No recognition is performed on a directory
name that contains wildcard characters. Also, the
directory name must include its terminating bracket.
This bit must be set if bit RC%STP is also set.
B17(RC%EMO) Match the given string exactly. When both the RC%PAR
and RC%EMO bits are on, recognition is not used on the
string, and the string is matched exactly. If this bit
is off, recognition is used on the string.
The flag bits returned in the left half of AC1 are as follows:
On success
B0(RC%DIR) Directory can be used only by connecting to it (i.e.,
it is a files-only directory). If this bit is off, the
user can also login to (if the directory is on the
public structure) or access this directory.
B1(RC%ANA) Obsolete
B2(RC%RLM) All messages from <SYSTEM>MAIL.TXT are repeated every
time the user logs in. If this bit is off, messages
are printed only once.
B6(RC%WLD) The directory name given contained wildcard characters.
On failure
B3(RC%NOM) No match was found for the string given. This bit is
returned if either 1) bit RC%EMO was on in the call and
a string was given that matched more than one directory
or 2) the syntax of the fields in the string is correct
but the structure is not mounted or the directory does
not exist.
B4(RC%AMB) The argument given was ambiguous. This bit is returned
if bit RC%EMO was off in the call and the string given
either matched more than one directory or did not
include the beginning bracket of the directory name
field.
B5(RC%NMD) There are no more directories in the group of
directories. This bit is returned if RC%STP was on in
the call and the numbers of all the directories in the
group have been returned.
The RCDIR monitor call can be used in one of two ways. The simplest
(RCDIR)
way is to translate a directory string that corresponds to only one
directory to its corresponding 36-bit directory number. The string
can be either recognized or matched exactly. Instead of accepting a
string, the program can supply a JFN or a 36-bit user number and
translate this argument to a directory number. When a JFN is supplied
as an argument, the number returned is that of the directory
containing the file associated with the JFN. When a user number is
supplied as an argument, the number returned is the logged-in
directory for that user. Finally, the program can supply a directory
number to check the number's validity, and if the RCDIR call is
successful, this same number is returned.
The second way of using the RCDIR call is to accept a directory string
that corresponds to more than one directory and to step through all
the directories matching the given string to obtain all the directory
numbers. Repeated RCDIR calls are executed until the number of the
last directory is returned. This use of RCDIR requires AC2 to contain
a pointer to a string containing wildcard characters and is ignored if
the string does not contain wildcard characters or if any other
argument is given in AC2.
The first RCDIR call executed must have bit RC%AWL set in AC1 and the
pointer to the string in AC2. If execution of the call is successful,
AC3 contains the number of the directory corresponding to the first
directory in the group. For example, if the string given is <SMITH*>
and the call is successful, the number returned corresponds to
<SMITH>. Subsequent RCDIR calls must set bits RC%STP and RC%AWL in
AC1, reset the pointer in AC2 (because it is updated on a successful
RCDIR call), and leave in AC3 the directory number returned from the
previous RCDIR call. (The directory number in AC3 is accepted only if
RC%STP is set in AC1 and a pointer to a string containing wildcard
characters is given in AC2.) On successful execution of each
subsequent RCDIR call, the number returned in AC3 corresponds to the
next directory in the group. When the number of the last directory in
the group has been returned, a subsequent RCDIR call sets bit RC%NMD
in AC1; the content of AC3 is indeterminate.
The RCUSR monitor call can be used to translate a user name string to
its corresponding user number. The DIRST monitor call can be used to
translate either a directory number or a user number to its
corresponding string.
Generates an illegal instruction interrupt on error conditions below.
RCDIR ERROR MNEMONICS:
RCDIX1: insufficient system resources
RCDIX2: invalid directory specification
RCDIX3: invalid structure name
RCDIX4: monitor internal error
DESX1: invalid source/destination designator
(RCDIR)
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
STRX01: structure is not mounted
Node: RCM Previous: RCDIR Next: RCUSR Up: Top
RCM JSYS 134
Returns the word mask of the activated interrupt channels for the
specified process. (Refer to Section 2.5.1 and the AIC and DIC calls
for information on activating and deactivating software interrupt
channels.)
ACCEPTS IN AC1: process handle
RETURNS +1: always, 36-bit word in AC1, with bit n on meaning
channel n is activated
Generates an illegal instruction interrupt on error conditions below.
RCM ERROR MNEMONICS:
FRKHX1: invalid process handle
FRKHX2: illegal to manipulate a superior process
FRKHX3: invalid use of multiple process handle
Node: RCUSR Previous: RCM Next: RCVIM Up: Top
RCUSR JSYS 554
Translates the given user name string to its corresponding 36-bit user
number. The user name string consists of the user's name without any
punctuation. The string must be associated with a directory on
structure PS: that is not a files-only directory.
Recognition can be used on the string. In addition, the string can
(RCUSR)
contain wildcard characters.
ACCEPTS IN AC1: flag bits in the left half
AC2: byte pointer to ASCII string to be translated
AC3: 36-bit user number (given when stepping to the next
user name in a group)
RETURNS +1: always, with
AC1 containing flag bits in the left half
AC2 containing an updated byte pointer. If
recognition was used, this pointer reflects the
remainder of the string that is appended to the
original string.
AC3 containing a 36-bit user number if execution of
the call was successful. An example of a user
number is: 500000,,261.
The flag bits supplied in the left half of AC1 are as follows. For
additional information on these bits, refer to the RCDIR monitor call
description.
B14(RC%PAR) Allow partial recognition on the user name string.
B15(RC%STP) Step to the next user name in the group.
B16(RC%AWL) Allow the user name to contain wildcard characters.
B17(RC%EMO) Match the given string exactly.
The flag bits returned in the left half of AC1 are as follows. For
additional information on these bits, refer to the RCDIR monitor call
description.
On success
B1(RC%ANA) Obsolete
B2(RC%RLM) User sees all messages from <SYSTEM>MAIL.TXT every time
he logs in. If this bit is off, the user sees the
messages only once.
B6(RC%WLD) The user name given contained wildcard characters.
On failure
B3(RC%NOM) No match was found for the string given. This bit will
be on if the string given refers to a files-only
directory, if there is no directory on PS: that is
associated with the user name string, or bit RC%EMO was
on in the call and a string was given that matched more
(RCUSR)
than one user.
B4(RC%AMB) The string given was ambiguous because it matched more
than one user.
B5(RC%NMD) There are no more user names in the group.
The RCDIR monitor call can be used to translate a directory string to
its corresponding directory number. The DIRST monitor call can be
used to translate either a user number or a directory number to its
corresponding string.
Generates an illegal instruction interrupt on error conditions below.
RCUSR ERROR MNEMONICS:
RCUSX1: insufficient system resources
RCDIX4: monitor internal error
STRX07: invalid user number
STRX08: invalid user name
Node: RCVIM Previous: RCUSR Next: RCVOK% Up: Top
RCVIM JSYS 751
Retrieves a message from the ARPANET special message queue. The queue
must have been previously assigned with the ASNSQ JSYS.
RESTRICTIONS: for ARPANET systems only.
ACCEPTS IN AC1: special queue handle
AC2: address where extended message is to be stored
RETURNS +1: failure, error code in AC1
+2: success, message block stored at address specified in
AC2
The RCVIM JSYS will block until the message is received.
See SNDIM JSYS for a description of the message format.
RCVIM ERROR MNEMONICS:
SQX1: Special network queue handle out of range
SQX2: Special network queue not assigned
(RCVOK%)
Node: RCVOK% Previous: RCVIM Next: RDTTY Up: Top
RCVOK% JSYS 575
Allows the access-approval program (written by the installation) to
service an approval request in the GETOK% request queue after a user
program has issued a GETOK% JSYS.
RESTRICTIONS: Requires WHEEL or OPERATOR capability enabled
ACCEPTS IN AC1: Address of argument block
AC2: Length of argument block
RETURNS +1: always
Argument Block (returned):
Word Symbol Contents
0 .RCFCJ Function code,,job number
1 .RCUNO User number
2 .RCCDR Connected directory
3 .RCRQN Request number
4 .RCNUA # user args actually passed to RCVOK% block,,# user
args supplied in user block
5 .RCARA Address of user arguments
6 .RCCAP Capabilities enabled
7 .RCTER Controlling terminal number
10 .RCRJB Job number request is for
11 User arguments
. ..
. ..
11+n ..
The argument block returned contains two major segments, the job
section, which contains information about the job that issued the
GETOK% JSYS, and the user argument section, which contains the
arguments the user supplied with the GETOK% call. The user argument
section immediately follows the job section. However, as the job
section's length may grow with future releases of TOPS-20, the
access-control program should extract the address of the user argument
section from word 4 of the RCVOK% argument block. The following
sequence of instructions illustrates how to index through the user
argument section of the RCVOK% argument block:
;Build AOBJN pointer
HLRZ T1,ARGBLK+.RCNUA ;Get # user args passed
MOVN T1,T1 ;Negate
HRLZ T1,T1 ;Move to left half-word
HRR T1,ARGBLK+.RCARA ;Get address of user args
LP: MOVE T2,(T1) ;Get user arg
(RCVOK%)
...
...
AOBJN T1,LP
Returns an illegal instruction interrupt on error conditions below.
RCVOK% ERROR MNEMONICS:
CAPX1: wheel or operator capability required
Node: RDTTY Previous: RCVOK% Next: RELD Up: Top
RDTTY JSYS 523
Reads input from the primary input designator (.PRIIN) into
the caller's address space. Input is read until either a
break character is encountered or the given byte count is
exhausted, whichever occurs first. Output generated as a
result of character editing is output to the primary output
designator (.PRIOU).
The RDTTY 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).
4. Retype the current line from its beginning or, if the
current line is empty, retype the previous line
(CTRL/R).
5. Accept the next character without regard to its usual
meaning (CTRL/V).
By handling these functions, the RDTTY call serves as an
interface between the terminal and the user program.
ACCEPTS IN AC1: byte pointer to string in caller's address space
where input is to be placed
AC2: B0(RD%BRK) Break on CTRL/Z or ESC.
B1(RD%TOP) Break on CTRL/G, CTRL/L, CTRL/Z, ESC,
carriage return, line feed.
B2(RD%PUN) Break on punctuation (see below).
B3(RD%BEL) Break on end of line (carriage return and
line feed, or line feed only).
(RDTTY)
B4(RD%CRF) Suppress a carriage return and return a
line feed only.
B5(RD%RND) Return to user program if user tries to
delete beyond beginning of the input
buffer (e.g., user types a CTRL/U or
DELETE past the first character in the
buffer). If this bit is not set, the
call rings the terminal's bell and waits
for more input.
B7(RD%RIE) Return to user program if input buffer is
empty. If this bit is not set, the call
waits for more input.
B10(RD%RAI) Convert lower-case input to upper-case
input.
B11(RD%SUI) Suppress CTRL/U indication (i.e., do not
print XXX, and on display terminals, do
not delete the characters from the
screen).
B18-B35 Number of bytes available in the string.
The input is terminated when this count
is exhausted, even if the specified break
character has not yet been typed.
If the left half of AC2 is 0, the input is terminated
on end of line only.
AC3: byte pointer to prompting-text (CTRL/R buffer), or 0
if no text. This text, followed by any text in the
input buffer, is output if the user types CTRL/R in
his first line of input. If no CTRL/R text exists or
the user types CTRL/R on other than the first line of
input, only the text on the current line will be
output.
RETURNS +1: failure, error code in AC1
+2: success, updated byte pointer in AC1, appropriate
bits set in the left half of AC2, and updated count
of available bytes in the right half of AC2
The bits returned in the left half of AC2 on a successful return are:
B12(RD%BTM) Break character terminated the input. If
this bit is not set, the input was
terminated because the byte count was
exhausted.
B13(RD%BFE) Control was returned to the program
because the user tried to delete beyond
the beginning of the input buffer and
RD%RND was on in the call.
B14(RD%BLR) The backup limit for editing was reached.
NOTE
(RDTTY)
Bits not described are reserved for use
by the monitor. The state of these bits
on completion of the RDTTY call is
undefined.
The punctuation break character set (RD%PUN) is as follows:
CTRL/A-CTRL/F ASCII codes 34-36
CTRL/H-CTRL/I ASCII codes 40-57
CTRL/K ASCII codes 72-100
CTRL/N-CTRL/Q ASCII codes 133-140
CTRL/S-CTRL/T ASCII codes 173-176
CTRL/X-CTRL/Y
Upon completion of the call, the terminating character is stored in
the string, followed by a NULL (unless the byte count was exhausted).
Also, any CTRL/V, along with the character following it, is stored in
the string.
RDTTY ERROR MNEMONICS:
RDTX1: invalid string pointer
IOX11: quota exceeded or disk full
Node: RELD Previous: RDTTY Next: RELSQ Up: Top
RELD JSYS 71
Releases one or all devices assigned to the job. When a device is
released by the job, the resource allocator receives an IPCF packet.
(Refer to the ALLOC monitor call description for the format of the
packet sent to the allocator.)
ACCEPTS IN AC1: device designator, or -1 to release all devices
assigned to this job
RETURNS +1: failure, error code in AC1
+2: success
The ASND monitor call can be used to assign a device to the caller.
If this JSYS is issued for a device on which the user has an open JFN,
an error will be returned.
RELD ERROR MNEMONICS:
DEVX1: invalid device designator
DEVX2: device already assigned to another job
(RELD)
DEVX6: job has open JFN on device
Node: RELSQ Previous: RELD Next: RESET Up: Top
RELSQ JSYS 753
Deassigns the ARPANET special message queue. (The LGOUT JSYS
deassigns all special message queues.) All pending messages relative
to the specified queue(s) are discarded.
RESTRICTIONS: for ARPANET systems only.
ACCEPTS IN AC1: special queue handle (returned by ASNSQ), or -1 to
deassign all special queues.
RETURNS +1: always
RELSQ functions as a no-op if an unassigned queue is specified in AC1.
Node: RESET Previous: RELSQ Next: RFACS Up: Top
RESET JSYS 147
Resets and initializes the current process. It is a good programming
practice to include this call at the beginning of each assembly
language program.
RETURNS +1: always
The RESET monitor call performs the following:
1. Closes all files at or below the current process and releases
all JFNs. If a file is nonexistent (i.e., has never been
closed), it is closed and then expunged.
2. Kills all inferior processes.
3. Clears the current process' software interrupt system. The
channel table and priority level table addresses remain
unchanged from any previous settings.
4. Sets the following fields of the controlling terminal's JFN
mode word (refer to Section 2.4.3.1):
TT%WAK(B18-B23) to wake up on every character
TT%ECO(B24) to cause echoing
.TTASI(B29) to translate both echo and output (ASCII data
mode)
(RESET)
Remaining fields of the mode word are not changed.
5. Releases all of the current process' PIDs.
6. Dequeues all of the current process' ENQ requests.
7. Clears the compatibility package's entry vector.
8. Releases all process handles that can be released. (Refer to
the RFRKH call description.)
Node: RFACS Previous: RESET Next: RFBSZ Up: Top
RFACS JSYS 161
Returns 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 where the AC values of the
specified process are to be stored
RETURNS +1: always
The SFACS monitor call can be used to set the ACs for a specified
process.
Generates an illegal instruction interrupt on error conditions below.
RFACS 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: RFBSZ Previous: RFACS Next: RFCOC Up: Top
RFBSZ JSYS 45
Returns the byte size for a specific opening of a file. (Refer to the
OPENF or SFBSZ call description for setting the byte size.)
(RFBSZ)
ACCEPTS IN AC1: JFN
RETURNS +1: failure, error code in AC1
+2: success, byte size right-justified in AC2
RFBSZ 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
Node: RFCOC Previous: RFBSZ Next: RFMOD Up: Top
RFCOC JSYS 112
Returns the control character output control (CCOC) words for the
specified terminal. (Refer to Section 2.4.3.2.)
ACCEPTS IN AC1: file designator
RETURNS +1: always, with output control words in AC2 and AC3
The CCOC words consist of 2-bit bytes, each byte representing the
output control for one of the ASCII codes 0-37. If the given
designator is not associated with a terminal, the CCOC words are
returned in AC2 and AC3 with each 2-bit byte containing a value of 2
(send actual code and account format action).
The SFCOC monitor call can be used to set the CCOC words for a
specified terminal.
Generates an illegal instruction interrupt on error conditions below.
RFCOC ERROR MNEMONICS:
TTYX01: line is not active
Node: RFMOD Previous: RFCOC Next: RFORK Up: Top
RFMOD JSYS 107
Returns the JFN mode word associated with the specified file. (Refer
(RFMOD)
to Section 2.4.3.1.) The MTOPR monitor call should be used to return
the page length and width fields, especially when the fields have
values greater than 127. The RFMOD call returns these fields as 1
when their values are greater than 127.
ACCEPTS IN AC1: source designator
RETURNS +1: always, with mode word in AC2
If the designator is not a terminal, the RFMOD call returns in AC2 a
word in the following format
7B3+^D66B10+^D72B17+ 4 mode bits from the OPENF for the designator
This setting of the left half of AC2 indicates that the designator has
mechanical form feed, mechanical tab, lower case, page length of 66,
and page width of 72.
The SFMOD and STPAR monitor calls can be used to set various fields of
the JFN mode word.
RFMOD ERROR MNEMONICS:
TTYX01: line is not active
Node: RFORK Previous: RFMOD Next: RFPOS Up: Top
RFORK JSYS 155
Resumes one or more processes that had been directly frozen. This
monitor call does not resume a process that has been indirectly
frozen. (Refer to Section 2.6.2.1.) Also, the RFORK call cannot be
used to resume a process that is suspended because of a monitor call
intercept. (Refer to the UTFRK call.)
ACCEPTS IN AC1: process handle
RETURNS +1: always
The RFORK monitor call is a no-op if the referenced process(s) was not
directly frozen.
The FFORK monitor call can be used to freeze one or more processes.
Generates an illegal instruction interrupt on error conditions below.
RFORK ERROR MNEMONICS:
FRKHX1: invalid process handle
FRKHX2: illegal to manipulate a superior process
(RFORK)
FRKHX3: invalid use of multiple process handle
Node: RFPOS Previous: RFORK Next: RFPTR Up: Top
RFPOS JSYS 111
Returns the current 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: device designator
RETURNS +1: always, AC2 contains position within a page (i.e.,
line number) in the left half, and position within a
line (i.e., column number) in the right half
AC2 contains 0 if the designator is not associated with a terminal.
The SFPOS monitor call can be used to set the position of the
terminal's pointer.
Generates an illegal instruction interrupt on error conditions below.
RFPOS 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: RFPTR Previous: RFPOS Next: RFRKH Up: Top
RFPTR JSYS 43
Returns the current position of the specified file's pointer.
ACCEPTS IN AC1: JFN
RETURNS +1: failure, error code in AC1
+2: success, byte number in AC2
The SFPTR monitor call can be used to set the position of the file's
(RFPTR)
pointer.
RFPTR 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
Node: RFRKH Previous: RFPTR Next: RFSTS Up: Top
RFRKH JSYS 165
Releases the specified handle of a process. A handle can be released
only if it describes either an existent process inferior to at least
one other process in the job or a process that has been killed via
KFORK (i.e., a nonexistent process).
ACCEPTS IN AC1: process handle, or -1 to release all relative handles
that can be released
RETURNS +1: failure, error code in AC1
+2: success
The process handles released when AC1 is -1 are the ones released on a
RESET or a KFORK monitor call.
RFRKH ERROR MNEMONICS:
FRKHX1: invalid process handle
FRKHX2: illegal to manipulate a superior process
FRKHX3: invalid use of multiple process handle
Node: RFSTS Previous: RFRKH Next: RFTAD Up: Top
RFSTS JSYS 156
Returns the status of the specified process.
SHORT FORM:
(RFSTS)
ACCEPTS IN AC1: 0,,process handle
RETURNS +1: always, with the status word in AC1 and the PC in AC2
Flags:
B0-B17 Unused, must be zero.
The process status word has the following format:
B0(RF%FRZ) The process is frozen. If this bit is off,
the process is not frozen.
B1-B17(RF%STS) The status code for the process. The
following values are possible:
Value Symbol Meaning
0 .RFRUN The process is runnable.
1 .RFIO The process is dismissed
for I/O.
2 .RFHLT The process is dismissed
by voluntary process
termination (HFORK or
HALTF) or was never
started.
3 .RFFPT The process is dismissed
by forced process
termination. Forced
termination occurs when
bit 17(SC%FRZ) of the
process capability word
is not set.
4 .RFWAT The process is dismissed
waiting for another
process to terminate.
5 .RFSLP The process is dismissed
for a specified amount of
time.
6 .RFTRP The process is dismissed
because it attempted to
execute a call on which
an intercept has been set
by its superior (via the
TFORK call).
7 .RFABK The process is dismissed
(RFSTS)
because it encountered an
instruction on which an
address break was set
(via the ADBRK call).
B18-B35(RF%SIC) The number of the software interrupt channel
that caused the forced process termination.
The RFSTS call returns with -1 (fullword) in AC3 if the specified
handle is assigned but refers to a deleted process. The call
generates an illegal instruction interrupt if the handle is
unassigned.
LONG FORM:
ACCEPTS IN AC1: flags,,process handle
AC2: address of status return block (used for long form
only)
RETURNS +1: always
Flags:
B0 RF%LNG Long form call
B1-B17 Unused, must be zero.
In the long form call, RF%LNG is set in AC1 and AC2 contains the
address of a status-return block. On the return, AC1 and AC2 are not
modified. The status-return block has the following format:
Word Symbol Meaning
0 .RFCNT Count of words returned in this block in the left
half, and count of maximum number of words to
return in right half (including this word). This
word is specified by the user.
1 .RFPSW Process status word. This word has the same
format as AC1 on a return from a short call.
2 .RFPFL Process PC flags. These are the same flags
returned in AC2 on a short call.
3 .RFPPC Process PC. This is only the PC, no flags are
returned in this word. This word is specified by
the user.
4 .RFSFL Status flag word.
Flags:
Bit Symbol Meaning
(RFSTS)
B0 RF%EXO Process is execute-only
Generates an illegal instruction interrupt on error conditions below.
RFSTS ERROR MNEMONICS:
DECRSV DEC reserved bits not zero
FRKHX1: invalid process handle
FRKHX2: illegal to manipulate a superior process
FRKHX3: invalid use of multiple process handle
Node: RFTAD Previous: RFSTS Next: RIN Up: Top
RFTAD JSYS 533
Returns the dates and times associated with the specified file.
ACCEPTS IN AC1: source designator
AC2: address of argument block
AC3: length of argument block
RETURNS +1: always, dates returned in the argument block
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 system date and time of last write.
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.
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.
On a successful return, the values for the number of words specified
in AC3 are returned in the argument block. Words in the argument
(RFTAD)
block contain -1 if any one of the following occurs:
1. The corresponding date does not exist for the file.
2. The designator is not associated with a file.
3. The corresponding date is not currently assigned (i.e., the
argument block contains more than 4 words).
The SFTAD monitor call can be used to set the dates and times
associated with a specified file.
Generates an illegal instruction interrupt on error conditions below.
RFTAD ERROR MNEMONICS:
DESX1: invalid source/destination designator
DESX3: JFN is not assigned
DESX7: JFN cannot refer to output wildcard designators
Node: RIN Previous: RFTAD Next: RIR Up: Top
RIN JSYS 54
Inputs a byte nonsequentially (i.e., random byte input) from the
specified file. The size of the byte is that given in the OPENF call.
The RIN call can be used only when reading data from disk files.
ACCEPTS IN AC1: JFN
AC3: byte number within the file
RETURNS +1: always, with the byte right-justified in AC2
If the end of the file is reached, AC2 contains 0. The program can
process this end-of-file condition if an ERJMP or ERCAL is the next
instruction following the RIN call. Upon successful execution of the
call, the file's pointer is updated for subsequent I/O to the file.
The ROUT monitor call can be used to output a byte nonsequentially to
a specified file.
Can cause several software interrupts or process terminations on
certain file conditions. (Refer to bit OF%HER of the OPENF call
description.)
RIN ERROR MNEMONICS:
DESX1: invalid source/destination designator
(RIN)
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
IOX1: file is not open for reading
IOX3: illegal to change pointer for this opening of file
IOX4: end of file reached
IOX5: device or data error
Node: RIR Previous: RIN Next: RIRCM Up: Top
RIR JSYS 144
Returns the channel and priority level table addresses for the
specified process. (Refer to Section 2.5.3.) These table addresses
are set by the SIR monitor call. The RIR monitor call is useful when
several independent processes in one job want to share software
interrupt tables.
ACCEPTS IN AC1: process handle
RETURNS +1: always, with the priority level table address in the
left half of AC2, and the channel table address in
the right half of AC2
AC2 contains 0 if the SIR monitor call has not been executed by the
designated process.
Generates an illegal instruction interrupt on error conditions below.
RIR ERROR MNEMONICS:
FRKHX1: invalid process handle
FRKHX2: illegal to manipulate a superior process
FRKHX3: invalid use of multiple process handle
Node: RIRCM Previous: RIR Next: RLJFN Up: Top
RIRCM JSYS 143
Returns the mask for reserved software interrupt channels for the
specified process. A process is able to read its own or its
inferiors' channel masks.
ACCEPTS IN AC1: process handle
RETURNS +1: always, with the reserved channel mask for the
specified process in AC2
The SIRCM monitor call can be used to set the mask for reserved
software interrupt channels.
Generates an illegal instruction interrupt on error conditions below.
RIRCM ERROR MNEMONICS:
FRKHX1: invalid process handle
FRKHX2: illegal to manipulate a superior process
FRKHX3: invalid use of multiple process handle
Node: RLJFN Previous: RIRCM Next: RMAP Up: Top
RLJFN JSYS 23
Releases the specified JFNs. A JFN cannot be released unless it
either has never been opened or has already been closed. Also, a JFN
cannot be released if it is currently being assigned by a process,
unless that process is the same as the one executing the RLJFN and is
not at interrupt level. The GS%ASG bit returned from a GTSTS call for
the JFN indicates if the JFN is currently being assigned.
ACCEPTS IN AC1: JFN, or -1 to release all JFNs that do not specify
open files
RETURNS +1: failure, error code in AC1
+2: success
RLJFN ERROR MNEMONICS:
DESX1: invalid source/destination designator
DESX3: JFN is not assigned
DESX4: invalid use of terminal designator or string pointer
RJFNX1: file is not closed
RJFNX2: JFN is being used to accumulate filename
(RLJFN)
RJFNX3: JFN is not accessible by this process
OPNX1: file is already open
Node: RMAP Previous: RLJFN Next: RNAMF Up: Top
RMAP JSYS 61
Acquires a handle on a page in a process to determine the access
allowed for that page.
ACCEPTS IN AC1: process handle in the left half, and a page number
within the process in the right half
RETURNS +1: always, with a handle on the page in AC1, and access
information in AC2. The handle in AC1 is a
process/file designator in the left half and a page
number in the right half.
The access information returned in AC2 is as follows:
B2(RM%RD) read access allowed
B3(RM%WR) write access allowed
B4(RM%EX) execute access allowed
B5(RM%PEX) page exists
B9(RM%CPY) copy-on-write access
On rare conditions, if the specified page is shared with a file but no
JFN is associated with the file, AC1 contains -1 and AC2 contains 0.
Generates an illegal instruction interrupt on error conditions below.
RMAP ERROR MNEMONICS:
FRKHX1: invalid process handle
Node: RNAMF Previous: RMAP Next: ROUT Up: Top
RNAMF JSYS 35
Renames an existing file. The JFNs of both the existing file and the
new file specification must be closed.
ACCEPTS IN AC1: JFN of existing file to be renamed (i.e., source
file)
AC2: JFN of new file specification (i.e., destination file
specification)
(RNAMF)
RETURNS +1: failure, error code in AC1
+2: success, JFN in AC1 is released, and the JFN in AC2
is associated with the file under its new file
specification
If the JFN of the new file specification already refers to an existing
file, the existing file's contents are expunged.
When a file is renamed, many of the attributes of the existing file
are given to the renamed file. The settings of the following words in
the FDB (refer to Section 2.2.8) are copied from the existing file to
the renamed file.
Word .FBCTL (FB%LNG, FB%DIR, FB%NOD, FB%BAT, FB%FCF)
Word .FBADR
Word .FBCRE
Word .FBGEN (FB%DRN)
Word .FBBYV (FB%BSZ, FB%MOD, FB%PGC)
Word .FBSIZ
Word .FBCRV
Word .FBWRT
Word .FBREF
Word .FBCNT
Word .FBUSW
Note that the setting of FB%PRM (permanent file) does not get copied.
Thus, if a file with bit FB%PRM on is renamed, the renamed file has
FB%PRM off. The existing file is left in a deleted state with its
contents empty but its FDB existent.
Renaming a file with tape information (an archived or migrated file)
carries the tape information to the new file name. Renames which
would effectively destroy a file with archive status will fail.
RNAMF ERROR MNEMONICS:
DESX1: invalid source/destination designator
DESX3: JFN is not assigned
DESX4: invalid use of terminal designator or string pointer
DESX7: JFN cannot refer to output wildcard designators
OPNX1: file is already open
RNAMX1: files are not on same device
RNAMX2: destination file expunged
RNAMX3: write or owner access to destination file required
RNAMX4: quota exceeded in destination of rename
(RNAMF)
RNAMX5: destination file is not closed
RNAMX6: destination file has bad page table
RNAMX7: source file expunged
RNAMX8: write or owner access to source file required
RNAMX9: source file is nonexistent
RNMX10: source file is not closed
RNMX11: source file has bad page table
RNMX12: illegal to rename to self
RNMX13: insufficient system resources
Node: ROUT Previous: RNAMF Next: RPACS Up: Top
ROUT JSYS 55
Outputs a byte nonsequentially (i.e., random byte output) to the
specified file. The size of the byte is that given in the OPENF call
for the JFN. The ROUT call can be used only when writing data to disk
files.
ACCEPTS IN AC1: JFN
AC2: the byte to be output, right-justified
AC3: the byte number within the file
RETURNS +1: always
Upon successful execution of the call, the file's pointer is updated
for subsequent I/O to the file.
The RIN monitor call can be used to input a byte nonsequentially from
a specified file.
Can cause several software interrupts or process terminations on
certain file conditions. (Refer to bit OF%HER of the OPENF call
description.)
ROUT ERROR MNEMONICS:
DESX1: invalid source/destination designator
DESX2: terminal is not available to this job
DESX3: JFN is not assigned
(ROUT)
DESX4: invalid use of terminal designator or string pointer
DESX5: file is not open
IOX2: file is not opened for writing
IOX3: illegal to change pointer for this opening of file
IOX5: device or data error
IOX6: illegal to write beyond absolute end of file
IOX11: quota exceeded or disk full
Node: RPACS Previous: ROUT Next: RPCAP Up: Top
RPACS JSYS 57
Returns the accessibility of a page.
ACCEPTS IN AC1: process/file designator in the left half, and page
number within the file in the right half
RETURNS +1: always, with AC2 containing the following
information:
B2(PA%RD) read access allowed
B3(PA%WT) write access allowed
B4(PA%EX) execute access allowed
B5(PA%PEX) page exists
B6(PA%IND) indirect pointer
B9(PA%CPY) copy-on-write
B10(PA%PRV) private page
B20(P1%RD) read access allowed in first pointer
B21(P1%WT) write access allowed in first pointer
B22(P1%EX) execute access allowed in first pointer
B23(P1%PEX) page exists in first pointer
B27(P1%CPY) copy-on-write in first pointer
The bits in the left half are the result of tracing any indirect
pointer chains, and the bits in the right half contain information
about the first pointer (the one in the map directly indicated by the
argument) only. The left half and right half information will be
different only if an indirect pointer was encountered in the first
map. In this case, B6(PA%IND) is set, the left half access is less
than or equal to the right half access, and B9(PA%CPY) is set if it
was found set at any level. B5(PA%PEX) and B10(PA%PRV) always refer
to the last pointer (i.e., first non-indirect pointer) encountered.
The SPACS monitor call can be used to set the accessibility of a page.
Generates an illegal instruction interrupt on error conditions below.
(RPACS)
RPACS ERROR MNEMONICS:
DESX1: invalid source/destination designator
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
FRKHX1: invalid process handle
FRKHX2: illegal to manipulate a superior process
FRKHX3: invalid use of multiple process handle
Node: RPCAP Previous: RPACS Next: RSCAN Up: Top
RPCAP JSYS 150
Returns the capabilities for the specified process. (Refer to Section
2.6.1 for the description of the capability word.)
ACCEPTS IN AC1: process handle
RETURNS +1: always, capabilities possible for this process in
AC2, and capabilities enabled for this process in AC3
The EPCAP monitor call can be used to enable the capabilities of a
process.
Generates an illegal instruction interrupt on error conditions below.
RPCAP ERROR MNEMONICS:
FRKHX1: invalid process handle
FRKHX3: invalid use of multiple process handle
Node: RSCAN Previous: RPCAP Next: RTFRK Up: Top
RSCAN JSYS 500
Places a text string in, or reads a text string from, the job's rescan
buffer (an area of storage in the Job Storage Block). This facility
allows a program to receive information that will be used as primary
input for another program before this other program reads input from
(RSCAN)
the terminal.
The RSCAN call has two steps: the acceptance and the use of the text
string. Each step has a different calling sequence. The first step
is to accept the text string to be used as input and to place this
string in the rescan buffer. The calling sequence for this step
specifies, in AC1, a pointer to the text string to be input. Note
that the string stored in the rescan buffer is terminated by a null
byte.
The second step is to cause the string to be available to the program
for reading via the BIN call. The calling sequence for this second
step specifies a function code of 0(.RSINI) in AC1 to indicate that
the last string entered at command level from the terminal is
available for reading. The program executing the RSCAN call can
determine when the data has been read by issuing a function code of
1(.RSCNT), which returns the number of characters remaining in the
buffer.
In other words, the first RSCAN call specifying a new text string
stores the string in the rescan buffer but does not cause it to be
read. A second RSCAN call must be given before the string can be
read. This second RSCAN causes the system to provide input from the
most recent string stored and can be given only once. After this
second RSCAN, nothing will be read from the rescan buffer until
another RSCAN call specifying a different text string is given. In
addition, the job receives input from the rescan buffer only if the
source for input in the BIN call is the JFN of the controlling
terminal. Therefore, if the source for input is other than the
controlling terminal, input will not come from the rescan buffer.
ACCEPTS IN AC1: byte pointer to a new text string, or 0 in the left
half and function code in the right half
RETURNS +1: failure, error code in AC1
+2: success
The defined functions are as follows:
Function Symbol Meaning
0 .RSINI Make the data in the buffer available as
input to any process in the current job that
is reading data from its controlling
terminal.
1 .RSCNT Return the number of characters remaining to
be read in the buffer. This function does
not cause data to be read; it is used to
determine when all the data has been read
after making the data available.
On a successful return, AC1 contains an updated byte pointer if a
pointer was given in the call. Otherwise, AC1 contains the number of
(RSCAN)
characters in the rescan buffer or 0 if there are no characters.
To clear the RSCAN buffer, supply a byte pointer (in AC1) to a null
string.
RSCAN ERROR MNEMONICS:
RSCNX2: invalid function code
Node: RTFRK Previous: RSCAN Next: RTIW Up: Top
RTFRK JSYS 322
Returns the handle of the process that was suspended because of a
monitor call intercept and the monitor call that the process was
attempting to execute. The superior process monitoring the intercepts
can receive only one interrupt at a time. Thus, the superior process
should execute the RTFRK call after receiving an interrupt to identify
the process that caused the interrupt.
The system maintains a queue of the processes that have been suspended
and that are waiting to interrupt the superior process monitoring the
intercepts. The RTFRK call advances the processes on the queue, and
if the call is not executed, subsequent interrupts are not generated.
See the description of the TFORK JSYS for more information on the
monitor call intercept facility.
RETURNS +1: always, with AC1 containing the handle of the process
that generated the interrupt, and AC2 containing the
monitor call instruction that caused the process to
be suspended. If no process is currently suspended
because of a monitor call intercept, AC1 and AC2
contain 0 on return.
Because the process handle returned in AC1 is a relative process
handle, it is possible that a process is currently suspended but that
all relative handles are in use. In this case, the caller should
release a relative process handle with the RFRKH call and then reissue
the RTFRK call.
Generates an illegal instruction interrupt on error conditions below.
RTFRK ERROR MNEMONICS:
FRKHX6: all relative process handles in use
(RTIW)
Node: RTIW Previous: RTFRK Next: RUNTM Up: Top
RTIW JSYS 173
Reads the terminal interrupt word (refer to Section 2.5.6) for the
specified process or the entire job and returns the terminal interrupt
word mask.
ACCEPTS IN AC1: B0(RT%DIM) return the mask for deferred terminal
interrupts
B18-B35 process handle, or -5 for entire job
(RT%PRH)
RETURNS +1: always, with the terminal interrupt mask in AC2, and
the deferred terminal interrupt mask in AC3. The
deferred interrupt mask is returned only if both
B0(RT%DIM) is on and the right half of AC1 indicates
a specific process.
The STIW monitor call can be used to set the terminal interrupt word
masks.
Generates an illegal instruction interrupt on error conditions below.
RTIW ERROR MNEMONICS:
FRKHX1: invalid process handle
FRKHX2: illegal to manipulate a superior process
FRKHX3: invalid use of multiple process handle
Node: RUNTM Previous: RTIW Next: RWM Up: Top
RUNTM JSYS 15
Returns the runtime of the specified process or of the entire job.
ACCEPTS IN AC1: process handle, or -5 for the entire job
RETURNS +1: always, with runtime (in milliseconds)
right-justified in AC1, a divisor to convert time to
seconds in AC2, and console time (in milliseconds) in
AC3. AC2 always contains 1000; thus, it is not
necessary to examine its contents.
Generates an illegal instruction interrupt on error conditions below.
RUNTM ERROR MNEMONICS:
FRKHX1: invalid process handle
(RUNTM)
RUNTX1: invalid process handle -3 or -4
Node: RWM Previous: RUNTM Next: RWSET Up: Top
RWM JSYS 135
Returns the word mask for the interrupts waiting on software channels
for the specified process.
ACCEPTS IN AC1: process handle
RETURNS +1: always, with
AC1 containing a 36-bit word with bit n on meaning an
interrupt on channel n is waiting.
AC2 containing the status of the interrupts in
progress. Bit n on in the left half means an
interrupt of priority level n occurring during
execution of user code is in progress. Bit 18+n
on in the right half means an interrupt of
priority level n occurring during execution of
monitor code is in progress.
Generates an illegal instruction interrupt on error conditions below.
RWM ERROR MNEMONICS:
FRKHX1: invalid process handle
FRKHX2: illegal to manipulate a superior process
FRKHX3: invalid use of multiple process handle
Node: RWSET Previous: RWM Next: (JSYS4SZ)SACTF Up: Top
RWSET JSYS 176
Releases the working set by removing all of the current process' pages
from its working set. The pages are moved to secondary storage and
are not preloaded the next time the process is swapped in. This
operation is invisible to the user.
RETURNS +1: always
(SACTF)