SMFSUBP — Determining subsystem parameters

An installation may pass information to a user-defined subsystem. The user-defined subsystem may issue the SMFSUBP macro during its initialization to determine if any SUBPARM information is present. The subsystem may also issue the SMFSUBP macro after initialization to determine if the SUBPARM information has changed.

The subsystem should issue the SMFSUBP macro after receiving the subsystem interface (SSI) call generated by a SET or SETSMF operator command. The user-defined subsystem may then determine if any values that affect its operation have changed.

When you invoke the SMFSUBP macro, you must include the IEESMCA mapping macro, which maps the SMCA.

(label) SMFSUBP (smfsubp_reg) [,SUBSYS= {(reg)}]
                     [         {name }]
smfsubp_reg
specifies a register (2-12). You must enclose smfsubp_reg in parentheses. When the macro returns control, this register contains the address of the 60-byte information string followed by a sixteen-byte field that contains:
  • Bytes 1-2: The length of the field.
  • Byte 3 - The source flags, as follows:
    Bit
    Meaning when set
    0
    SMF is active
    1
    Not applicable
    2
    Information string was issued by parmlib member
    3
    Information string was issued by operator reply
    4
    Information string was issued by default
    5
    Information string was changed due to conflicts or errors
    6
    Information string was changed by IPL, SET, or SETSMF
    7
    Not applicable.
  • Byte 4: Reserved.
  • Bytes 5-8: The 4-byte console identifier.
  • Bytes 9-16: The 8-character token field.
SUBSYS=(reg)
SUBSYS=name
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. If the subsystem name is not found, then the macro uses the SUBPARM options specified (if any) for the entire system on the SYS option.

If you do not specify SUBSYS=, the macro returns the address of the SUBPARM value (if any) for the subsystem name of the current address space: for example, TSO for TSO/E users, ASCH for APPC/MVS transactions 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 (if any) for the entire system on the SYS option.