DFHPHP (partition handling program)

The partition handling program (DFHPHP) processes terminal operations that involve partitions. DFHPHP has one entry point, and starts with a branch table that passes control to the required routine according to the request. It consists of routines that perform the following functions:
  • PHPPSI tests whether there is a partition set in storage. If there is and it is not the required partition set, that partition set is deleted. When no partition set is in storage, an attempt is made to load the appropriate partition set.
  • PHPPSC builds a data stream to destroy any partitions that may already be loaded on the terminal, creates the partition set designated by the application partition set, and sets the name of the partition set in the TCTTE to be the name of the application partition set.
  • PHPPIN extracts the AID, cursor address, and partition ID. The AID and cursor address are put in the TCTTE, and the partition ID is converted to a partition name and returned to the caller. A check is made that the partition ID is a member of the application partition set.
  • PHPPXE sends a data stream to a terminal to activate the appropriate partition and sends an error message to any error message partition if input arrived from an unexpected partition.
Figure 1 shows the relationships between the components of partition handling.
Figure 1. Partition handling program interfaces
Diagram showing the components of partition handling and the relationships between them.
Notes:
  1. DFHPHP is called by the mapping control program (DFHMCP) and by the terminal output macro (DFHTOM).
  2. PHPPSI refers to OSPWA to check whether a partition set is loaded.
  3. PHPPSI communicates with program manager to load the partition set.
  4. PHPPSI puts the name of the partition set in TPE (terminal partition extension) as the application partition set.
  5. PHPPSC calls storage control to acquire a TIOA in which to build and free the original TIOA.
  6. PHPPSC sets a slot in the TCTTE to be the partition set data stream concatenated with the terminal partition set name if the terminal is not in the base state.
  7. PHPPIN places the AID and the cursor address in the TCTTE.
  8. PHPPXE calls storage control to get a TIOA, retrieves the error message text by calling the message domain, fills the TIOA with data, transmits the data, and frees the TIOA.
  9. PHPPSC references the partition set object to build the partition creation data stream.