Parameter Descriptions
- ,COMPUS=NO_COMPUS
- ,COMPUS=compus
- Use this input parameter to specify the user state compare value.
If the compare value matches the current value, XCF replaces the current
value with the new value. If the values do not match, XCF does not
change the user state field.
If you do not want to compare the user state with a value, but would like to code this parameter, specify COMPUS=NO_COMPUS.
To Code: Specify the RS-type name or address (using a register from 2 to 12) of the area (with a length of USLEN) to be used for comparison against the current user state field for the target.
- ,ECB=NO_ECB
- ,ECB=ecb
- Use this input parameter to specify a 32-bit ECB that XCF is
to post when IXCSETUS completes its actions. If you do not specify
ECB, or if you specify ECB=NO_ECB, IXCSETUS completes synchronously.
If you do specify ECB, XCF might return control before IXCSETUS completes
its actions. If the return code is 0, indicating that XCF accepted
the request, then issue a WAIT on the ECB. If the return code is not
0, XCF will not post the ECB.
If you specify OLDUS with ECB, then XCF updates the OLDUS field just before it posts the ECB. In this case, the OLDUS field must be in commonly addressable storage.
When XCF posts the ECB, the ECB contains the following:- Bits 8 - 23 contain the low-order halfword of the reason code that XCF would have returned in GPR 0 if the caller had not specified ECB.
- Bits 24 - 31 contain the low-order byte of the return code that XCF would have returned in GPR 15 if the caller had not specified ECB.
To Code: Specify the RS-type name or address (using a register from 2 to 12) of a 4-byte field that contains the address of the ECB.
- MEMTOKEN=memtoken
- Use this input parameter to specify the 64-bit token of the
calling member. IXCJOIN provided this token when it placed the member
in the active state.
To Code: Specify the RS-type name or address (using a register from 2 to 12) of an 8-byte field that contains the member token.
- ,MF=S
- ,MF=(L,mfctrl)
- ,MF=(L,mfctrl,mfattr)
- ,MF=(L,mfctrl,0D)
- ,MF=(M,mfctrl)
- ,MF=(M,mfctrl,COMPLETE)
- ,MF=(M,mfctrl,NOCHECK)
- ,MF=(E,mfctrl)
- ,MF=(E,mfctrl,COMPLETE)
- ,MF=(E,mfctrl,NOCHECK)
- Use MF=S to specify the standard form of the macro, which builds an inline parameter list and
generates the macro invocation to transfer control to the service.
Use MF=L to specify the list form of the macro. Use the list form together with the execute form of the macro for applications that require reentrant code. The list form defines an area of storage that the execute form uses to store the parameters. Only the PLISTVER parameter can be coded with the list form of the macro.
Use MF=M to specify the modify form of the macro. Use the modify form to generate code to put the parameters into the parameter list.
Use MF=E to specify the execute form of the macro. Use the execute form together with the list form of the macro for applications that require reentrant code. The execute form stores the parameters into the storage area defined by the list form, and generates the macro invocation to transfer control to the service.- ,mfctrl
- Use this output parameter to specify a storage area to contain the parameters.
To Code: Specify the RS-type name or address (by using a register 2 - 12) of the parameter list.
- ,mfattr
- Use this input parameter to specify the name of a 1- to 60-character string that can contain any value that is valid on an assembly language Data Studio pseudo-op. You can use this parameter to force boundary alignment of the parameter list. If you do not code mfattr, the system provides a value of 0D, which forces the parameter list to a doubleword boundary.
- ,COMPLETE
- ,NOCHECK
- Use this input parameter to specify the degree of macro parameter syntax checking the system is
to do.
- COMPLETE
- Use this input parameter to require that the system check for required parameters and supply
defaults for omitted optional parameters. Note: In the macro expansion you might see some defaults for optional parameters that are not documented here. The ones that are not documented do not have any effect on the macro. For example, if SMILE=var were an optional parameter and the default is SMILE=NO_SMILE then it would not be documented. However, if the default was SMILE=:-), then it would be documented because a value would be the default.
- NOCHECK
- Use this parameter to specify that the system is not to check for required parameters nor to supply defaults for omitted optional parameters.
- ,NEWUS=newus
- Use this input parameter to specify the value that XCF is to
place in the user state field. This value is called the “new value.”
If you specify COMPUS and the current value and the compare value
do not match, the new value will not replace the current value of
the field.
To Code: Specify the RS-type name or address (using a register from 2 to 12) of the area (with a length of USLEN) that contains the new user state information.
- ,OLDUS=oldus
- Use this output parameter to specify the location where XCF
is to copy the current value of the user state field. If OLDUS and
COMPUS both point to the same location, XCF updates the existing compare
value with the current value of the user state field. You might specify
this parameter to find out why the comparison failed.
If you specify ECB with OLDUS, then XCF updates the OLDUS field just before it posts the ECB. In this case, the OLDUS field must be in commonly addressable storage, and any ALET that qualifies its address must be zero.
To Code: Specify the RS-type name or address (using a register from 2 to 12) of the area (with a length of USLEN) where the current value of the user state field of the target member will be placed.
- ,PLISTVER=IMPLIED_VERSION
- ,PLISTVER=MAX
- ,PLISTVER=plistver
- Use this input parameter to specify the version of the macro. See Understanding IXCSETUS Version Support for a description of the options available with PLISTVER.
- ,RETCODE=retcode
- Use this output parameter to specify the location in which the
system is to copy the return code from GPR 15.
To Code: Specify the RS-type name or address (using a register from 2 to 12) of a 4-byte field that will contain the return code when this request completes.
- ,RSNCODE=rsncode
- Use this output parameter to specify the location in which the
system is to copy the reason code from GPR 0.
To Code: Specify the RS-type name or address (using a register from 2 to 12) of a 4-byte field that will contain the reason code (if any) when the request completes.
- ,TARGET=target
- Use this input parameter to specify the 64-bit token of the
member whose user state field is to be changed or used for comparison.
You can get the value of this token by using the IXCQUERY macro.
To Code: Specify the RS-type name or address (using a register from 2 to 12) of an 8-byte field that contains the member token of the member whose user state you are processing.
- ,USLEN=uslen
- Use this input parameter to specify how many bytes of the user
state field XCF is to change. XCF uses the length you specify on USLEN
as the length of the COMPUS, OLDUS, and NEWUS fields:
- When XCF compares the current user state value with the value in COMPUS, XCF compares only the number of bytes you specify on USLEN.
- When XCF copies the current value of the user state field to OLDUS, XCF copies only the number of bytes you specify on USLEN.
- When XCF updates the current user state value with the value in NEWUS, XCF updates only the number of bytes you specify on USLEN.
To Code: Specify the RS-type name or address (using a register from 2 to 12) of a 4-byte field that contains the number of bytes of the user state field to process.