z/OS Cryptographic Services ICSF System Programmer's Guide
Previous topic | Next topic | Contents | Index | Contact z/OS | Library | PDF


Input

z/OS Cryptographic Services ICSF System Programmer's Guide
SA22-7520-17

The installation exit for each service gets the address of the exit parameter block (EXPB) in register 0. ICSF obtains and initializes an EXP for every service call. Figure 8 illustrates the contents of register 0, and Table 16 illustrates the EXPB for the service exits.

Register 1 contains the address of an address list. Each address in the list points to a parameter. Parameters describes the service parameter list. The parameters the exit receives are the same parameters that are passed on the call to the service. For more information about the parameters for each service, see z/OS Cryptographic Services ICSF Application Programmer’s Guide.

Exit parameter block

Table 16 describes the contents of the exit control block.

Table 16. EXPB Control Block Format for Services
Offset (Dec)Number of BytesDescription
04Name.

The name of the control block. The field contains the character string EXPB.

42Version.

The version of the control block. The field contains the character string 01.

62Length.

The length of the control block. The value is 40 in decimal.

84Dynamic area.

The address of a 400-byte area that the exit can use as a dynamic area.

124Exit area address.

The address of an 8-byte area for the preprocessing and postprocessing invocations of the exit to use for communication. ICSF does not check or change this field.

164Exit communication area.

A character string that can be used for communication between preprocessing and postprocessing invocations of a service exit.

204Flags.

A flag byte. Each bit setting (on/off) indicates a particular condition. ICSF sets bit 0 and an exit cannot change that bit. Your exit can set any of the other bits.

Bit
Meaning When Set On/Off
0
Postprocessing invocation./Preprocessing invocation.
1
Reserved.
2
Use the return and reason code that the exit places in register 0 and register 15 as the service's return code/reason code. Do not use the exit's return code as the service return code in registers 0 and 15.

The exit can pass any valid return code in register 15 and any valid reason code in register 0. If this bit is set on, ICSF uses these codes as the service's return and reason codes. See Return Codes for more information about using exit return codes.

3
Do not call the postprocessing invocation of the service exit./Call the postprocessing invocation of the service exit.
4
Bypass the service./Run the service.
5
Use the return and reason code that the exit places in the service's parameter list./Do not store codes the exit places in the service's parameter list.

The exit can pass any valid return and reason code in the first two parameters of the service's parameter list. Parameters describes the service parameter list.

6
CSFSKRC bypass input label parsing./CSFSKRC parse the input label.
7-31
Reserved.
244Secondary parameter block.

The address of the secondary parameter block. The exit can use the SPB to determine the environmental information of the service. For a description of the SPB, see Secondary parameter block.

284CCVT.

Address of the Cryptographic Control Vector Table (CCVT). For a description of the CCVT, see The Cryptographic Communication Vector Table (CCVT).

328Module name.

The installation exit's load module name. The field contains the value of the load module name you specified on the EXIT keyword in the installation options data set. The field is 8 bytes of characters, and the value is left-justified and padded with blanks.

Secondary parameter block

Offset +24 of EXPB contains the address of the secondary parameter block (SPB). The exit can use the SPB to determine the environmental conditions of the service. Table 17 describes the contents of SPB.

Table 17. SPB Control Block Format
Offset (Dec)Number of BytesDescription
04Name.

The name of the control block. The field contains the character string SPB.

42Version.

The version of the control block. The field contains the character string 04.

62Length.

The length of the control block.

84CCVT.

The address of the Cryptographic Communication Vector Table (CCVT). For a description of the CCVT, seeThe Cryptographic Communication Vector Table (CCVT).

124Signal Information Word.

Bytes 1-2 Reserved.

Bytes 3-4 of the field contain the installation-assigned code number for an installation-defined service.

164Flags and Indicators. Each byte of this field is either an indicator byte or contains flag bits. The contents of each byte in the field are:

Byte 1—PSW key. This byte contains the original caller's program status word key. The first four bits are the key and the remaining four bits are zeros.

Byte 2—Caller's state. Each bit in byte 2 indicates a condition of the caller's state.

Bit
Meaning When Set On
0
ICSF was entered via SVC entry from a PCF compatibility macro.
1
Original caller in AMODE(31).
2
Original caller in AR mode.
3
Original caller in SRB mode.
4
Original caller in supervisor state or system key.
5
Original caller in AMODE(64).
6-7
Reserved.

Byte 3—Flag byte 1. The first flag byte. Each bit that is set on indicates a particular condition.

Note:
These bits are informational. Do not change bits 0 and 1.

Bit
Meaning When Set On
0
The service is using a “storage access" crypto instruction.
1
Key record found in in-store KDS during delete operation.
2
The recovery routine should not retry.
3 and 4
Reserved
5
Hardware initialization in process.
6
NQAP in progress.
7
Reserved

Byte 4—Flag byte 2

Bit
Meaning When Set On
0
The service parameter list has a position for a return code.
1
The service parameter list has a position for a reason code.
2
In-store CKDS record format is variable length.
3
The caller has no exit data.
4
Change master key processing holds global AP latch
5-7
Reserved
204Protected storage pointer.
244Auxiliary SPB Pointer
284EDC buffer pointer.
324EDC buffer length.
364Address of XPB.
408ID for latch manager.
484Address for ERPB.
528Original caller's register 1.
604Address of CPRB request storage.
644Length of CPRB request storage.
684Address of CPRB reply storage.
724Length of CPRB reply storage.
764CCPS address.
804Serialization block address.
844Recovery token.
888Recovery footprint for hash tables.
964Pointer to ICSF/C resource owning object.
1004Pointer to metal C stack.
1042Entry point index of metal C caller.
1062Flags and indicators

Byte 1 - Reserved for dump processing which will be overwritten when being copied.

Bit
Meaning When Set On
0
Dump CKDS in-store
1
Dump PKDS in-store
2
Dump TKDS in-store and session objects
3-7
Reserved
Byte 2 - Reserved
1084ASCB of SPB owner.
1124Register 14 from CSFMIREC.
1164Address of MSTB.
12024Reserved.

Parameters

Each service has a unique parameter list. Parameters 1-4 are always the return code, reason code, exit data length, and exit data. The other parameters differ with each service. The installation exit gets passed the address of the service parameter list in Register 1. For a description of each service's parameter list, refer to z/OS Cryptographic Services ICSF Application Programmer’s Guide.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014