z/OS TSO/E Customization
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Programming considerations

z/OS TSO/E Customization
SA32-0976-00

The CONSOLE exits must follow standard linkage conventions. They must save the registers on entry and restore them on return. The exits must be re-entrant, refreshable, and reusable.

The pre-parse and activation exits and the deactivation exit (when the X'80000000' bit of the flags field is off) can use any of the TSO/E I/O service routines (for example, PUTLINE, GETLINE, PUTGET, and STACK). The activation and deactivation exits must be in key 8 problem program state to invoke the service routines. After using the service routines, these exits must return to key 1 supervisor state. For a description of the service routines, see .

All dynamic storage obtained for use by the CONSOLE exits, except the pre-parse exit, should be in a protected key and subpool. Because the exits can be invoked asynchronously in the TSO/E user's address space, other tasks can be dispatched during the execution of the exits. Special care must be taken to ensure the integrity of the exit data.

The pre-parse exit can change CONSOLE operands using the command buffer. This exit checks the command buffer it receives and determines whether to change any operands. To change the operands, the exit must:
  • Obtain storage from subpool 1 for a new command buffer
  • Build the new command buffer
  • Update the key, length, and data fields for the new command buffer (parameter entry 2)

For more information about the format of the command buffer, see Command buffer and New command buffer.

The activation exit can establish a communication area for the exits and place the address in the exit-to-exit communication word parameter. The communication area should be obtained in a protected key so that unauthorized programs cannot alter the storage. In addition, it should be obtained in a non-task-related subpool (254), or the storage should be related to the jobstep task and obtained in an authorized subpool (230). This requirement is because the exits can be invoked under multiple tasks in the address space and the task under which this exit runs might end during the life of the console session.

Note: The pre-parse exit is invoked in key 8 problem program state and cannot alter the communication area.

The activation exit can be used to grant or deny the user CONSOLE command authority for the duration of the console session. If you do not use RACF® or the logon pre-prompt exit (IKJEFLD or IKJEFLD1) to control access to the CONSOLE command, use both the CONSOLE activation exit and the CONSPROF initialization exit to give users CONSOLE command authority.

The pre-parse exit can allow installation-specific keywords on the CONSOLE command. If they are allowed, they should be removed before the exit returns control to CONSOLE. A serialization routine should be used to provide for exits that use the same storage area and are called simultaneously.

The 80% and 100% message capacity exits can be invoked once for each type of message table when the criteria for the exit pertaining to that table is met. After the first invocation for that type of message table, they are not invoked again for that type of table until the situation is resolved.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014