Josh Work Articles UMCN Oct02/89 New S-Type Call Interfaces for System Subroutines

Programmers in Fortran, Pascal, and other higher-level languages who formerly had to use the RCALL subroutine to call system subroutines can now use S-type calls directly. Twenty new S-type entires have been added to MTS to allow the additional calls.

The new S-type routines are shown below along with their R-type counterparts. The S-type calls appear in the form:

ROUTINE(parameter1,parameter2,...)

If you are using these routines from Assembly language, note that the VL bit of the last parameter must be set for each call. Some of these routines set return codes to indicate error conditions. The return codes for each routine are described in Update 8 to MTS Volume 3: System Subroutines, Reference R1003, described further on page 14 [sic]. For more information on R-type and S-type call interfaces, see the section on Calling Conventions in MTS Volume 3.

R-type S-type Function
ATTNTRAP ATTNTRPS(exit, region) Set up attention interrupt trap.
BINEBCD,
BINEBCD2
BINEBCDS(input, output [,work]) Convert from binary-card image to EBCDIC. "Work" is an optional parameter.
FPSECT FPSECTS(id) Release PSECT storage.
FREEFD FREEFDS(fdub) Release a file or device.
FREESPAC FREESPAS(len, loc) Release GETSPACE-obtained storage.
GDINFO GDINFOS(unit, info) Obtain information about a specified device.
GDINFO2 GDINFO2S(unit, info) Obtain information about a specified device.
GDINFO3 GDINFO3S(unit, info) Obtain information about a specified device.
GETFD GETFDS(fdname, fdub) Obtain a file or device.
GETSPACE GETSPACS(switch, len, [index,] addr) Obtain storage. "Index" is optional.
GPRJNO GPRJNOS(ccid) Obtain the current project ID.
GPSECT GPSECTS(id, len, addr) Obtain PSECT storage.
GRJLSEC GRJLSECS(datetime) Convert date and time from Gregorian to Julian.
GUSERID GUSERIDS(ccid) Obtain the current CCID.
PGNTTRP PGNTTRPS(exit, region) Set up program interrupt trap.
QPSECT QPSECTS(id, addr) Check existence of PSECT-allocated storage.
SCANSTOR SCANSTOS(switch, sinbr, subr) Scan storage blocks.
SPIE SPIES(pica, oldpica) Specify program interrupts and exit regions.
SVCTRP SVCTRPS(exit, region) Suspend program on SVC instruction.
TIMNTRP TIMNTRPS(exit, region) Enable, disable, or return from timer interruptsts set using SETTIME routine.


Back to my articles and books page
Back to my work page
Back to my home page

Last update Apr24/02 (reformatted Nov10/01) by Josh Simon (<jss@clock.org>).