Initialization exit routine (DFSINTX0)

Use the Initialization exit routine (DFSINTX0) to create two user data areas that can be used by some of your installation's exit routines.

This topic contains Product-sensitive Programming Interface information.

Start of changeIMS™ calls the Initialization exit routine during initialization as a common Transaction Manager exit routine. Certain IMS user exit routines are called before the DFSINTX0 user exit routine is called. These user exit routines are: DFSPSE00, DFSHINT0, DFSZINT0, RASE, DFSAOE00, and DFSQSPC0/DFSSSSP0.End of change

  • General user data area
    The address of this user data area is passed as part of the IMS standard user exit interface. Any exit routine that uses this interface will have access to this data area (if it exists). The address of this data area is also passed as part of the nonstandard interface to the following exit routines:
    • Command Authorization exit routine (DFSCCMD0)
    • Greeting Messages exit routine (DFSGMSG0)
    • Logoff exit routine (DFSLGFX0)
    • Logon exit routine (DFSLGNX0)
    • Destination Creation exit routine (DFSINSX0)
    • Signoff exit routine (DFSSGFX0)
    • Signon exit routine (DFSSGNX0)

    Start of changeThe general user data area is not available to some IMS user exit routines when they are called during IMS initialization, because the DFSINTX0 user exit routine is called during IMS initialization after these user exit routines are called. The user data area is not available to the following exit routines when they are called during IMS initialization: DFSAOE00, DFSPSE00, DFSHINT0, DFSZINT0, RASE, and DFSQSPC0/DFSSSSP0.End of change

    Other TM exit routines can address the user data table through SCDINTXP. Refer to the topic for each exit routine for information on the routine's parameter list.

  • LU 6.2 user data area

    The LU 6.2 user data area is not passed as part of the IMS standard user exit interface. It is passed as part the nonstandard interface to the LU 6.2 Edit exit routine.

You can also use this exit routine to alter the setting for the Extended Terminal Option (ETO) feature. You can leave ETO activated or override the setting to indicate that ETO is not required, even if you previously requested it.

This exit is also used to enable password verification. The IMS default processing is to disable password verification. With password verification, users signing on to VTAM® terminals that change their password are prompted to verify the new password.

Subsections:

About this routine

The Initialization exit routine is optional. If the exit is included in the system, IMS calls it before IMS loads the ETO descriptors and any exit routine that requires ETO to be active. If ETO is required for an exit routine, the documentation for the routine states that requirement. If the Initialization exit routine returns a return code indicating that ETO should not be made available, the ETO exit routines and descriptors will not be loaded. If this exit is not included in the system, IMS proceeds using the setting for the ETO= keyword that is specified as an EXEC parameter or in the DFSPBxx of IMS.PROCLIB.

The initialization exit routine can optionally enable password verification and an alternate ETO ALOT=0 option by setting the appropriate flags in the exit routine parameter list.

Attributes of the routine

The following table shows the attributes of the Initialization exit routine.

Table 1. Initialization exit routine attributes
Attribute Description
IMS environments DB/DC, DCCTL.
Naming convention You must name this exit routine DFSINTX0.
Binding This exit routine must be reentrant.
Including the routine If you want IMS to call the Initialization exit routine, include it in an authorized library in the JOBLIB, STEPLIB, or LINKLIST library concatenated in front of the IMS.SDFSRESL. If the exit routine is included, IMS automatically loads it and calls it at initialization.
IMS callable services DFSINTX0 can use callable storage services. To use IMS callable services with this routine, you must do the following:
  • Issue an initialization call (DFSCSII0) to obtain the callable service token and a parameter list in which to build the function-specific parameter list for the desired callable service.
  • Use the ECB found at offset X'0' of the IMS Initialization exit parameter list.
  • Link DFSCSI00 with your user exit.
Sample routine location IMS.ADFSSMPL (member name DFSINTX0).

About user data areas

The user data areas can be used to provide access to user tables that can then be referenced by any user exit that has access to the data area. An example of the use of general user data area is for ETO. You can use the general user data area to define access limits for terminals or users by total number, department, time of day, or other criteria. You can also use the data area to define LTERM-to-user or user-to-terminal relationships to aid your installation logon and signon exit routine processes.

For APPC, you can use the LU6.2 user data area along with the LU6.2 User Edit exit routine to emulate MFS. To do so, the LU6.2 user data area is built by DFSINTX0 to hold a list of LTERM and MOD names available to the I/O PCB. IMS then passes the address of the LU6.2 user data area LU 6.2 Edit exit routine for input and output messages from a LU6.2 destination. The LU 6.2 Edit exit routine can use the list of LTERM names to redirect output to a non-LU6.2 destination, or the list of MOD names to format a message.

Communicating with IMS

IMS uses the entry and exit registers, as well as parameter lists, to communicate with the exit routine.

Contents of registers on entry

On entry, the exit routine must save all registers using the provided save area. The registers contain the following:
Register Contents
R1 Address of the IMS standard user exit parameter list (Version 1)
R13 Save area address
R14 Return address to IMS
R15 Entry point address of exit routine

The following table shows the IMS initialization exit parameters. The address of this parameter list is in the IMS standard user exit parameter list field SXPLFSPL. The Initialization exit routine parameter list is mapped by macro DFSINTXP.

Table 2. IMS initialization exit parameter list
Offset Length Description
+0 4 CLB address
+4 4 SCD address
+8 4 0, as an indication that no user table exists
+12 4 0, as an indication that no LU 6.2 user table exists
+16 1 Input/Output Flag Byte
X'80'
0
No password verification (default). To enable password verification, set this flag to 1.
X'40'
0
Default ETO ALOT=0 process
X'10'
0
Static ISC resource sharing (default)
X'08'
0
ETO LU type 3 is not allowed to log on as a SLU1 (default)
X'04'
0
ETO LU type 3 is not allowed to log on as a 3270 printer (default)

Contents of registers on exit

Before returning to IMS, the exit routine must restore all registers except for register 15, which contains the return code.

The address of the general user data area created by this exit routine can be returned in the Initialization exit parameter list at +8. If zero, no general user data area was created. If non-zero, IMS saves the address in the SCD control block at SCDINTXP.

The address of the LU 6.2 user table created by this exit routine can be returned in the Initialization exit parameter list at +12. If zero, no LU 6.2 user table was created.
Register Contents  
15 One of the following return codes:
  Return code Meaning
0 Initialization of IMS continues.
4 Regardless of ETO specification, ETO terminal support is not required. Message DFS3648 is sent to the system console. Setting RC=4 resets both ETO function and logon user data support.
8 Regardless of ETO specification, ETO terminal support is not required but logon user data is supported for static terminals. Message DFS3648 is sent to the system console. Setting RC=8 resets ETO function only.
Table 3. IMS initialization exit parameter list
Offset Length Description
+16 1 Input/Output Flag Byte
X'80'
0
No password verification (default)
1
Enable password verification
X'40'
0
Default ETO ALOT=0 process
1
Alternate ETO ALOT=0 process
X'20'
0
Default VGR for ISC
1
Disable VGR for ISC
X'10'
0
Normal static ISC resource sharing (default)
1
Disable resource sharing for static ISC terminals in the IMSplex
X'08'
0
ETO LU type 3 is not allowed to log on as a SLU1 (default)
1
ETO LU type 3 is allowed to log on as a SLU11
X'04'
0
ETO LU type 3 is not allowed to log on as a 3270 printer (default)
1
ETO LU type 3 is allowed to log on as a 3270 printer1
Notes:
  1. ETO LU type 3 is allowed to log on either as SLU1 or 3270 printer, but not both.