Supervisor Macros

CMS/DOS supports physical IOCS macros and control program function macros for VSE. Table 1 lists the physical IOCS macros and describes their support. Table 2 lists the control program function macros and their support.

Table 1. Physical IOCS Macros Supported by CMS/DOS
Macro Support
CCB (command control block) The CCB is generated. CCW=FORMAT1 is supported only for I/O to the console or to OS or DOS formatted DASD.
IORB (input/output request block) The IORB is generated. CCW=FORMAT1 is supported only for I/O to the console or to OS or DOS formatted DASD.
EXCP (execute channel program) The REAL operand is not supported. All other operands are supported.
WAIT Supported. Issued whenever your program requires an I/O operation (started by an EXCP macro) to be completed before execution of program continues.
SECTVAL (sector value) Supported for VSAM.
OPEN/OPENR Supported. Activates a data file.
LBRET (label processing return) Return to the $$B-transient after an SVC 8 was issued to give control to the problem program.
FEOV (forced end of volume) Not supported.
SEOV (system end of volume) Not supported.
CLOSE/CLOSER Supported. Deactivates a data file.
Table 2. SVC Support Routines and Their Operation
Function/Macro SVC. No. Dec Hex Support
EXCP 0 0 Used to start an I/O operation on a device in the CMS/DOS environment.
FETCH 1 1 Used to bring a problem program phase into user storage and to start execution of the phase if the phase was found. Operand SYS=YES is not supported.
FETCH 2 2 Used to bring a $$B-transient phase into the CMS transient area (or if the phase is in the CMSDOS segment, not to load it), and start execution of the phase if the phase was found. Operand SYS=YES is not supported.
FORCE DEQUEUE 3 3 Not supported. See note 2.
LOAD 4 4 Used to bring a problem program phase into user storage, and return the caller the entry point address of the phase just loaded. Operand SYS=YES is not supported.
MVCOM 5 5 Provides the user with a means of altering positions 12 through 23 of the partition communications region (BGCOM).
CANCEL 6 6 Cancels a VSE session either by a VSE program request or by a request from any of the CMS routines handling CMS/DOS.
WAIT 7 7 Used to wait on a CCB, IORB, ECB, or TECB. (Note that CMS/DOS does not support ECBs or TECBs). CCBs are always posted by the CMS/DOS routine before returning to the caller.

The WAIT support under CMS/DOS will effectively be a branch to the CMS/DOS POST routine.

CONTROL 8 8 Temporarily return control from a $$B-transient to the problem program.
LBRET 9 9 Return to the $$B-transient after an SVC 8 was issued to give control to the problem program.
SET TIMER 10 A No operation. Successful return code of 0 is given in R15. See note 1.
TRANS. RETURN 11 B Return from a $$B-transient to the calling problem program.
JOB CONTROL ‘AND’ 12 C Resets flags to 0 in the linkage control byte in BGCOM (communication region). If R1 = 0, bit 5 of JCSW4 (COMREG byte 59) is turned off.
JC FLAGS 13 D Not supported. See note 2.
EOJ 14 E Normally terminates execution of a problem program.
SYSIO 15 F Not supported. See note 2.
PC STXIT 16 10 Establish or terminate linkage to a user's program check routine.
PC EXIT 17 11 Used to provide supervisory support for the EXIT macro. SVC 17 provides a return from the user's PC routine to the next sequential instruction in the program that was interrupted because of a program check.
IT STXIT 18 12 No operation. Successful return code of 0 is given in R15. See note 1.
IT EXIT 19 13 Not supported. See note 2.
OC STXIT 20 14 No operation. Successful return code of 0 is given in R15. See note 1.
OC EXIT 21 15 Not supported. See note 2.
SEIZE 22 16 No operation. Successful return code of 0 is given in R15. See note 1.
LOAD HEADER 23 17 Not supported. See note 2.
SETIME 24 18 No operation. Successful return code of 0 is given in R15. See note 1.
HALT I/O 25 19 Not supported. See note 2.
VALID ADDR 26 1A Validate address limits. The upper address must be specified in general register 2 and the lower address must be specified in general purpose register 1.
TP HALT I/O 27 1B Not supported. See note 2.
MR EXIT 28 1C Not supported. See note 2.
WAITM 29 1D Not supported. See note 2.
QWAIT 30 1E Not supported. See note 2.
QPOST 31 1F Not supported. See note 2.
  32 20 Reserved
COMRG 33 21 Used to provide the caller with the address of the partition communications region.

CMS/DOS provides the caller with the address of the partition communications region, in the user's register 1.

GETIME 34 24 Provides support for the GETIME macro. SVC 34 updates the date field in the communications region. The GMT operand is not supported.
HOLD 35 23 No operation. Successful return code of 0 is given in R15. See note 1.
FREE 36 24 No operation. Successful return code of 0 is given in R15. See note 1.
AB STXIT 37 25 Establish or terminate linkage to a user's abnormal termination routine. Supported for OPTION=DUMP or NODUMP.
ATTACH 38 26 Not supported. See note 2.
DETACH 39 27 Not supported. See note 2.
POST 40 28 Used to post an ECB, IORB, TECB, or CCB. Byte 2, bit 0 of the specified control block is turned ‘on’ by CMS/DOS.
DEQ 41 29 No operation. Successful return code of 0 is given in R15. See note 1.
ENQ 42 2A No operation. Successful return code of 0 is given in R15. See note 1.
  43 2B Reserved
UNIT CHECKS 44 2C Not supported. See note 2.
EMULATOR INTERF. 45 2D Not supported. See note 2.
OLTEP 46 2E Not supported. See note 2.
WAITF 47 2F Not supported. See note 2.
CRT TRANS 48 30 Not supported. See note 2.
CHANNEL PROG. 49 31 Not supported. See note 2.
LIOCS DIAG. 50 32 Issued by a logical IOCS routine when the LIOCS is called to perform an operation that the LIOCS was not generated to perform.

The error message “unsupported function in a LIOCS routine” is issued, and the session is then terminated.

RETURN HEADER 51 33 Not supported. See note 2.
TTIMER 52 34 No operation. Successful return code of 0 is given in R15. See note 1. R0 is also cleared.
VTAM EXIT 53 35 Not supported. See note 2.
FREEREAL 54 36 Not supported. See note 2.
GETREAL 55 37 Not supported. See note 2.
POWER 56 38 Not supported. See note 2.
POWER 57 39 Not supported. See note 2.
SUPVR. INTERF. 58 3A Not supported. See note 2.
EOJ INTERF. 59 3B Not supported. See note 2.
GETADR 60 3C Not supported. See note 2.
GETVIS 61 3D Used to obtain free storage for scratch use or for obtaining an area where a relocatable program may be loaded. The POOL and SVA GETVIS options are ignored. The PAGE option is ignored for requests of less than or equal to 2K bytes of storage. LOC=RES is treated the same as LOC=BELOW.
FREEVIS 62 3E Used to return the free storage obtained with an earlier GETVIS call.
USE 63 3F The USE/RELEASE function has been replaced by SVC 110 (LOCK/UNLOCK) for serially controlling system resources. All SVC 63 and 64 requests are mapped into SVC 110 requests respectively. Return codes previously associated with USE/RELEASE under CMS/DOS are maintained.
RELEASE 64 40 Reference SVC 63.
CDLOAD 65 41 Used to load a relocatable VSAM phase into storage, unless the program has already been loaded.
RUNMODE 66 42 Used by a problem program to find out if the program is running in real or virtual mode. The caller's register 0 is zeroed to indicate that the program is running in virtual mode.
PFIX 67 43 No operation. Successful return code of 0 is given in R15. See note 1.
PFREE 68 44 No operation. Successful return code of 0 is given in R15. See note 1.
REALAD 69 45 Not supported. See note 2.
VIRTAD 70 46 Not supported. See note 2.
SETPFA 71 47 No operation. Successful return code of 0 is given in R15. See note 1.
GETCBUF/ FREECBUF 72 48 Not supported. See note 2.
SETAPP 73 49 Not supported. See note 2.
PAGE FIX 74 4A Not supported. See note 2.
SECTVAL 75 4B Used by I/O routines to obtain a sector number for a CKD or ECKD™ device.
SYSREC 76 4C Not supported. See note 2.
TRANSCCW 77 4D Not supported. See note 2.
CHAP 78 4E Not supported. See note 2.
SYNCH 79 4F Not supported. See note 2.
SETT 80 50 Not supported. See note 2.
TESTT 81 51 Not supported. See note 2.
LINKAGE 82 52 Not supported. See note 2.
ALLOCATE 83 53 Not supported. See note 2.
SET LIMIT 84 54 Not supported. See note 2.
RELPAG 85 55 Provides support for the RELPAG macro. At entry register 1 points to a list of 8-byte storage description area. Each entry contains the beginning address and the length-1 of an area to be released. A nonzero byte following an entry indicates the end of the list. An area is released only if it contains at least a full CP page (4K bytes). CMS simulates the release of the pages by setting them to binary zeros. On return, R15 holds return code as follows:
R15 = 0
all areas have been released
R15 = 2
one or more negative area lengths were specified
R15 = 4
one or more pages to be released were outside the user storage area
R15 =16
at least one entry contains a beginning address outside the user storage area.
FCEPGOUT 86 56 No operation. Successful return code of 0 is given in R15. See note 1.
PAGEIN 87 57 No operation. Successful return code of 0 is given in R15. See note 1.
TPIN 88 58 Not supported. See note 2.
TPOUT 89 59 Not supported. See note 2.
PUTACCT 90 5A Not supported. See note 2.
POWER 91 5B Not supported. See note 2.
XECBTAB 92 5C Not supported. See note 2.
XPOST 93 5D Not supported. See note 2.
XWAIT 94 5E Not supported. See note 2.
AB EXIT 95 5F Exit from abnormal task termination routine and continue the task.
TT EXIT 96 60 Not supported. See note 2.
TT STXIT 97 61 Not supported. See note 2.
EXTRACT 98 62 Support for EXTRACT macro of VSE. The caller requests PUB information, CPUID, or storage boundary information. Register 1 on entry points to a parameter list. Output is placed in an area provided by caller.
GETVCE 99 63 Caller requests device information about specific DASD. Information is returned in an output area pointed to from the parameter list. Register 1 contains a pointer to the parameter list on entry.
  100 64 Reserved
MODVCE 101 65 No operation. Successful return code of 0 is given in R15. See note 1.
  102 66 Reserved.
SYSFIL 103 67 Not supported. See note 2.
EXTENT 104 68 No operation. Successful return code of 0 is given in R15. See note 1.
SUBSID 105 69 SUBSID.. the ‘INQUIRY’ function is supported for the supervisor subsystem. Information returned is described by the SUPSSID control block. The SUBSID ‘NOTIFY’ and ‘REMOVE’ functions are not supported.
LINKAGE 106 6A Not supported. See note 2.
TASK INTERF. 107 6B Provides macro interface support for system information retrieval. The parameters supported are:
GETFLD:
field=ppsavar
returns problem program save area address.
=savar
returns current save area address.
=maintask
returns maintask TID in R1.
=aclose
returns in R1: 1 if in process, 0 if not.
=pcexit
returns the pcexit routine address and save area in R0 and R1 respectively. If the exit routine is currently active, bit 0 in R0 is set ON. If no exit is defined, it returns a 0 in both R0 and R1.
MODFLD:
field=vsamopen
set bit X'08' in tcbflags byte if R1¬=0
=aclose
set bit X'10' in tcbflags byte if R1¬=0
The MODFLD requests for fields CNCLALL and OPENSVA are treated as a NOP with a return code of 0.

All other SVC 107 macro calls are unsupported. The error message DMSGMF121S is issued and the request is canceled. See note 2.

DATA SECURE 108 6C Not supported. See note 2.
PAGESTAT 109 6D Not supported. See note 2.
LOCK/UNLOCK 110 6E Used by VSAM to control access to resources. Access is maintained in either a ‘shared’ or ‘exclusive’ control environment. When DOS is SET ON, counters are maintained and the type of control for each resource in a table (LOCKTAB) built in free storage. All entries not unlocked by the program are cleared at both normal and abnormal end-of-job. All requests for resource control are passed to SVC 110 through the DTL macro (define the lock). SVC 63 and 64 requests are mapped into a dummy DTL and processed by SVC 110.
Note:
  1. No operation: In each case, register 15 is cleared to simulate successful operation, and all other registers are returned unchanged, unless otherwise noted.
  2. Not supported: For unsupported SVCs, an error message is given, and the SVC is treated as a “cancel”.