Google
 

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)