z/OS MVS Programming: Extended Addressability Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Examples of how to establish a cross memory environment

z/OS MVS Programming: Extended Addressability Guide
SA23-1394-00

This topic contains examples that show three ways to establish services that a user can access by issuing a PC instruction. The tasks that the service provider must perform are grouped into the following categories:
  • SETTING UP initializes the structure that cross memory needs so the transfers of control can take place.
  • ESTABLISHING ACCESS sets up the linkage the user needs to access the services.
  • PROVIDING SERVICE consists of designing a service for cross memory use.
  • REMOVING ACCESS disconnects the linkage that enabled a user to use the services.
  • CLEANING UP removes the structures established in the setting up step.

Example 1 - Making services available to selected address spaces shows how a service provider can supply services to users in selected address spaces. (The example shows only one user, but the extra steps for adding users are pointed out.)

Example 2 - Making services available to all address spaces shows how a service provider can make services available to users in all address spaces.

Example 3 - Providing non-space switch services explains how a service provider can provide non-space switch services.

For each example, assume that the service provider has obtained common storage that the user can access through name/token callable services. The service provider could use the area pointed to by the token returned by name/token callable services to store the PC numbers corresponding to its services. It could also store some of the lists it needs to invoke PC/AUTH services, and the lists that must be available to different address spaces. Assume also that SERVBLK, shown in Table 1, describes the common storage area. All examples use the declared storage areas shown in Table 1.

For information on using name/token callable services, see z/OS MVS Programming: Authorized Assembler Services Guide.

Table 1. Declared storage for cross memory examples
Declared storage examples
SERVBLK DSECT    
LXL DS 0F LX LIST
LXCOUNT DS F NUMBER OF LXS REQUESTED
LXVALUE DS F LX RETURNED BY LXRES
ELXL DS 0F EXTENDED LX LIST
ELXCOUNT DS F NUMBER OF EXTENDED LXS REQUESTED
ELXSEQNO * DS F LX SEQUENCE NUMBER RETURNED BY LXRES
ELXVALUE* DS F LX RETURNED BY LXRES THROUGH THE ELXLIST PARAMETER
AXL DS 0F AX LIST
AXCOUNT DS H NUMBER OF AXS REQUESTED
AXVALUE DS H AX RETURNED BY AXES
TKL DS 0F TOKEN LIST
TKCOUNT DS F NUMBER OF ETS CREATED
TKVALUE DS F TOKEN RETURNED BY ETCRE
PCTAB DS 0F TABLE OF PC NUMBERS
SERV1PC DS F PC NUMBER FOR SERVICE 1
SERV2PC DS F PC NUMBER FOR SERVICE 2

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014