Remark:
This document is intended for evaluation of the setup for
documentation.
Please e-mail us any comments
you
may have.
This document contains the following chapters:
The NTCR macro encapsulates the IEANTCR service described in the various IBM manuals. A list form, an execute form, and an additional generate form of the NTCR macro are supplied. A standard form is not supported.
The requirements for the caller are: | |
---|---|
Minimum authorization | Problem state with any PSW key For creating system-level name/token pairs additional authorization is required. |
Dispatchable unit mode | Task or SRB For creating task-level name/token pairs task mode is required. |
Cross memory mode | any HASN, any PASN, any SASN |
AMODE | 31- bit |
ASC mode | Primary or access register (AR) |
Interrupt status | Enabled for I/O and external interrupts |
Locks | No locks held |
Control parameters | Must reside in an addressable area in the caller's primary address space. |
See the chapter on IEANTCR in the Authorized Assembler Services Reference manual for your level of OS/390 or z/OS for details.
Before using the NTCR macro you have to define all required equates by invoking the MAPIEANT macro. The preferred way to achieve this is to specify IEANT on the MAPS pararmeter of the PGM macro that starts your program.
The NTCR macro cannot be used in a RESMGR resourcec manager routine. See the chapter on IEANTCR in the Authorized Assembler Services Reference manual for your level of OS/390 or z/OS for details.
Before issuing the NTCR macro, the caller does not have to place any information into any register unless using it in register notation for a particular parameter, or using it as a base register.
When control returns to the caller, the general purpose registers (GPRs) contain:
Register | Contents |
---|---|
0-1 | Used as work registers by the system |
2-13 | Unchanged |
14 | Used as a work register by the system |
15 | Return code |
When control returns to the caller, the access registers (ARs) contain:
Register | Contents |
---|---|
0-1 | Used as work registers by the system |
2-13 | Unchanged |
14-15 | Used as work registers by the system |
Some callers depend on register contents remaining the same before and after issuing a service. If the system changes the contents of registers on which the caller depends, the caller must save them before issuing the service, and restore them after the system returns control.
See the chapter on IEANTCR in the Authorized Assembler Services Reference manual for your level of OS/390 or z/OS for details.
None.
The NTCR macro takes five positional parameters, corresponding to the parameters for IEANTCR, and four keyword parameters, which are used to specify values for the input parameters of IEANTCR. The standard form of the NTCR macro, which is not supported, would be written as follows:
name | name: Symbol. Begin name in column 1. |
One or more blanks must precede NTCR. | |
NTCR | |
One or more blanks must follow NTCR. | |
tok_level | RX-type address or register, specifying a fullword in storage that contains the token level. If not specified, a fullword will be appended to the parameter list to contain the level value. |
,tok_name | RX-type address or register, specifying a 16-byte area in storage that contains the token name. If not specified, a 16-byte area will be appended to the parameter list to contain the token name. |
,tok_val | RX-type address or register, specifying a 16-byte area in storage that contains the token value. If not specified, a 16-byte area will be appended to the parameter list to contain the token value. |
,tok_persist | RX-type address or register, specifying a fullword in storage that contains the persist option. If not specified, a fullword will be appended to the parameter list to contain the persist option. |
,tok_retcd | RX-type address or register, specifying a fullword in storage that is to contain the returncode from IEANTCR. If not specified, a fullword will be appended to the parameter list to receive the return code. |
,LVL=level | Default: none level the desired token level |
,NAME=name | Default: none name the desired name to be assigned to the token |
,TOKEN=token | Default: none token the desired value to be assigned to the token |
,PERSIST=option | Default: none option the desired persist option for the token |
The parameters are explained as follows:
X'AC7'.
See the chapter on IEANTCR in the Authorized Assembler Services Reference manual for your level of OS/390 or z/OS for details.
When control is returned register 15 and the field specified by the tok_retcd parameter both contain one of the following hexadecimal return codes.
Hexadecimal Return code |
Meaning and Action |
---|---|
00 |
: None. |
: The operation was successful.
04-40 |
: Correct the error and retry. |
: Error.
See the chapter on IEANTCR in the Authorized Assembler Services Reference manual for your level of OS/390 or z/OS for details.
Examples are given under the list, generate and execute forms of the NTCR macro.
The list form of the NTCR macro assigns the correct amount of storage for the NTCR parameter list and any required parameter fields.
The list form of the NTCR macro is written as follows:
name | name: Symbol. Begin name in column 1. |
One or more blanks must precede NTCR. | |
NTCR | |
One or more blanks must follow NTCR. | |
tok_level | RX-type address or register, specifying a fullword in storage that contains the token level. If not specified, a fullword will be appended to the parameter list to contain the level value. |
,tok_name | RX-type address or register, specifying a 16-byte area in storage that contains the token name. If not specified, a 16-byte area will be appended to the parameter list to contain the token name. |
,tok_val | RX-type address or register, specifying a 16-byte area in storage that contains the token value. If not specified, a 16-byte area will be appended to the parameter list to contain the token value. |
,tok_persist | RX-type address or register, specifying a fullword in storage that contains the persist option. If not specified, a fullword will be appended to the parameter list to contain the persist option. |
,tok_retcd | RX-type address or register, specifying a fullword in storage that is to contain the returncode from IEANTCR. If not specified, a fullword will be appended to the parameter list to receive the return code. |
,LVL=level | Default: none level the desired token level |
,NAME=name | Default: none name the desired name to be assigned to the token |
,TOKEN=token | Default: none token the desired value to be assigned to the token |
,PERSIST=option | Default: none option the desired persist option for the token |
MF=L or MF=(L) |
|
The parameters are explained under the standard form of the NTCR macro with the following exception:
Remark:
The initialization values are optional for the list-form of the NTCR
macro. Before the IEANTCR service is invoked, however, all input
fields
have to be properly initialized, either on the list-form of the
macro,
or on the execute-form of NTCR. Alternatively, the input fields that
are not
appended to the parameter list may be initialized in any other way.
An example of the use of the list form of NTCR is:
WRK DSECT WRKTOKEN DS CL16 * Token value field WRKRETCD DS F * Returncode field * * Room for NTCR plist and three unnamed fields SAMP1 NTCR ,,0,,0, * Define NTCR plist+fields * MF=L +*Generated plist and areas for NTCR: 44 bytes SAMP1_LEN EQU *-SAMP1 * Define length of area ... CODE CSECT ... * Prototype plist for NTCR with three unnamed fields NTCRINIT NTCR ,,0,,0, * Define plist * LVL=IEANT_SYSTEM_LEVEL, * and init'ed fields * NAME='BIXOFT.SAMP1', * for IEANTCR * PERSIST=IEANT_NOPERSIST, * MF=L +*Generated plist and areas for NTCR: 44 bytes
The generate form of the NTCR macro creates a remote parameter list that can be used by the execute form of NTCR.
The egenerate form of the NTCR macro is written as follows:
name | name: Symbol. Begin name in column 1. |
One or more blanks must precede NTCR. | |
NTCR | |
One or more blanks must follow NTCR. | |
tok_level | RX-type address or register, specifying a fullword in storage that contains the token level. If not specified, a fullword will be appended to the parameter list to contain the level value. |
,tok_name | RX-type address or register, specifying a 16-byte area in storage that contains the token name. If not specified, a 16-byte area will be appended to the parameter list to contain the token name. |
,tok_val | RX-type address or register, specifying a 16-byte area in storage that contains the token value. If not specified, a 16-byte area will be appended to the parameter list to contain the token value. |
,tok_persist | RX-type address or register, specifying a fullword in storage that contains the persist option. If not specified, a fullword will be appended to the parameter list to contain the persist option. |
,tok_retcd | RX-type address or register, specifying a fullword in storage that is to contain the returncode from IEANTCR. If not specified, a fullword will be appended to the parameter list to receive the return code. |
,LVL=level | Default: none level the desired token level |
,NAME=name | Default: none name the desired name to be assigned to the token |
,TOKEN=token | Default: none token the desired value to be assigned to the token |
,PERSIST=option | Default: none option the desired persist option for the token |
MF=(G,list_addr) | list_addr: RX-type address or register |
The parameters are explained under the standard form of the NTCR macro with the following exception:
An example of the use of the generate form of NTCR is given below. It expands on the example of the list form of NTCR given above.
CODE RSECT , * CSECT would be ok too ... * Set up plist for NTCR with three unnamed fields SAMP2 NTCR ,,WRKTOKEN,,WRKRETCD, * Define plist * LVL=IEANT_SYSTEM_LEVEL, * and init fields * NAME='BIXOFT.SAMP1', * for IEANTCR * PERSIST=IEANT_NOPERSIST, * MF=(G,SAMP1) * Use declared area in WRK dsect +*Generated plist and areas for NTCR: 44 bytes
The execute form of the NTCR macro uses a remote parameter list that can be generated by the list form or the generate form of NTCR.
The execute form of the NTCR macro is written as follows:
name | name: Symbol. Begin name in column 1. |
One or more blanks must precede NTCR. | |
NTCR | |
One or more blanks must follow NTCR. | |
tok_level | RX-type address or register, specifying a fullword in storage that contains the token level. If not specified, a fullword will be appended to the parameter list to contain the level value. |
,tok_name | RX-type address or register, specifying a 16-byte area in storage that contains the token name. If not specified, a 16-byte area will be appended to the parameter list to contain the token name. |
,tok_val | RX-type address or register, specifying a 16-byte area in storage that contains the token value. If not specified, a 16-byte area will be appended to the parameter list to contain the token value. |
,tok_persist | RX-type address or register, specifying a fullword in storage that contains the persist option. If not specified, a fullword will be appended to the parameter list to contain the persist option. |
,tok_retcd | RX-type address or register, specifying a fullword in storage that is to contain the returncode from IEANTCR. If not specified, a fullword will be appended to the parameter list to receive the return code. |
,LVL=level | Default: none level the desired token level |
,NAME=name | Default: none name the desired name to be assigned to the token |
,TOKEN=token | Default: none token the desired value to be assigned to the token |
,PERSIST=option | Default: none option the desired persist option for the token |
MF=(E,list_addr) | list_addr: RX-type address or register |
The parameters are explained under the standard form of the NTCR macro with the following exception:
An example of the use of the execute form of NTCR is given below. It expands on the examples of the list and generate forms of NTCR given above.
CODE RSECT , * CSECT would be ok too ... * Plist for NTCR has been set up with three unnamed fields SAMP3 NTCR MF=(E,SAMP1) * Create token SAMP4 NTCR R6, * Override level field location * NAME='BIXOFT.SAMP4', * and token name * MF=(E,SAMP1) * to create a second token
Currently not in maintenance
Source code of macro NTCR
is available for reference only.
Any other use is licensed under
the GPL.
For other licenses, please
e-mail us.
Please e-mail us with your comments. Thanks in advance.
To our homepage.
This site is a member of WebRing. You are invited to browse the list of mainframe-loving sites. |
Dinos are not dead. They are alive and well and living in data centers all around you. They speak in tongues and work strange magics with computers. Beware the dino! And just in case you're waiting for the final demise of these dino's: remember that dinos ruled the world for 155-million years! | |
[ Join Now | Ring Hub | Random | | ] |