SMFINTVL — Determining interval time

The SMFINTVL macro allows the requestor to determine the current interval and synchronization values. A requestor can use this value, for example, to set up interval recording for a subsystem.

[label] SMFINTVL (intvlreg) [,SUBSYS={(namereg)}][,SYNC=(syncreg)][,GLOBAL]
																										[,INTEXPT=(intexptreq)]
                            [{ name }]
(intvlreg)
specifies a register (2-12). When the macro returns control, this register contains the address of an eight-byte area that contains the interval value. The interval value is in time-of-day (TOD) format, an unsigned 64-bit fixed-point number where bit 51 is equivalent to 1 microsecond.
SUBSYS=name
SUBSYS=(namereg)
specifies the name (or address in register 2-12) of the 4-byte field containing the subsystem name. The subsystem name must be left-justified and padded with blanks. If you use a register, it must be enclosed in parentheses. The macro looks for the subsystem name in SMFPRMxx and uses the options for that subsystem. If the subsystem name is not found, then the macro uses the options specified for the entire system on the SYS option in SMFPRMxx to determine the interval and synchronization values.

If you do not specify SUBSYS or GLOBAL, the macro returns the interval value for the subsystem represented by the current address space: for example, TSO for TSO/E users, ASCH for APPC/MVS transaction programs, STC for started tasks, or the name of the job entry subsystem (JES2 or JES3) for batch jobs. If the defaulted subsystem name is not found, then the macro uses the options specified for the entire system on the SYS option in SMFPRMxx to determine the interval and synchronization values.

If you specify GLOBAL, the system ignores SUBSYS (even if you specified it).

SYNC=(syncreg)
specifies a register (2-12). When the macro returns control, this register contains the 31-bit address of an eight-byte area that contains the synchronization value in time-of-day (TOD) format, an unsigned 64-bit fixed-point number where bit 51 is equivalent to 1 microsecond. This value is taken from the two-digit global synchronization value specified using the SYNCVAL parameter in the SMFPRMxx parmlib member.

The macro returns a value of -1 (X'FFFFFFFF') in syncreg if the subsystem specified by the SUBSYS parameter did not request synchronization.

GLOBAL
requests that the system return the 31-bit addresses of the global interval value in (intvlreg) and the synchronization value, if requested, in syncreg. These values were specified using the INTVAL and SYNCVAL options of SMFPRMxx. When you specify GLOBAL, the system ignores SUBSYS.
,INTEXPT=(intexptreg)
specifies a register (2-12). When the macro returns control, this register contains the 31-bit address of an eight-byte area that contains the time when the next SMF global recording interval ends in time-of-day (TOD) format, an unsigned 64-bit fixed-point number where bit 51 is equivalent to 1 microsecond. This is the interval that is scheduled as a result of the combination of the INTVAL and SYNCVAL options of SMFPRMxx.

The macro returns a value of -1 (X'FFFFFFFF') in intexptreg when SMF interval synchronization processing is disabled.