In addition to coding the installation PCE table, you need to:
- Write a HASPXJ00 module to hold the PCE code
- Create a macro called $SCYWORK to map the PCE extension. $SCYWORK
must contain a field named SCYLEN to define the length of the extension
area.
- Code these fields in the installation $UCT:
- UCTMSCTY DC A(*-*) ADDR OF ENTRYPT
The address of the entry
point for the HASPXJ00 module for the installation PCE is held in
the UCTMSCTY field.
- UCTSYPCE DC A(*-*) ADDR OF SCTY PCE
The address of the first
security PCE is chained from the UCTSYPCE field.
- UCTSYNUM DC H‘1’,H‘0’
A two halfword field
where the first field defines the number of security PCEs that are
to be created and the second indicates to $PCEDYN how many have been
created.
- UPCESCTY EQU 255 ID OF SCTY PCE
The identifier of the PCE (set
at 255)
- $DRSCTY EQU 63 DISP SEC RESOURCE
A dispatching security resource
that tells the PCE that some work is ready for it to process The installation
PCE will ‘$WAIT SCTY’ (which will result in the PCE being
put on the resource queue of 63) for work. When there is work for
it to do, it is $POSTed for SCTY (that is, $DRSCTY = 63) and put on
the ready queue.
- Code Exit 0
The Exit 0 code is required to do three things.
- Obtain the $UCT and place the $UCTs address in the
$UCT field in the $HCT, or better still, into a name/token using the
$TOKENSR service.
- Initialize the $UCT fields. The fields that must be initialized
include, at least, the UCTMSCTY, UCTSYPCE, and the first halfword
of UCTSYNUM.
- Place the installation PCE table address in the MCTPCETU field
in the $MCT in module HASPTABS. This is not necessary for dynamic
tables. Dynamic tables should be linked to the table pair by placing
a LOAD initialization statement in your JES2 initialization stream
for the module containing the dynamic PCE table.