CEEPPA is used to generate the Language Environment program
prolog area (PPA). The PPA defines constants that describe the entry
point of a Language Environment block.
It is generated at the time of assembly; one PPA is generated per
entry point. The CEEPPA macro is required for the CEEENTRY macro.
Syntax
>>-label--CEEPPA--+----------------------+---------------------->
| .-NO--. |
'-LIBRARY=--+-YES-+--,-'
>--+-------------------+---------------------------------------->
| .-YES-. |
'-PPA2=--+-NO--+--,-'
>--+----------------------+--+---------------------+------------>
| .-YES-. | | .-YES-. |
'-EXTPROC=--+-NO--+--,-' '-TSTAMP=--+-NO--+--,-'
>--+------------------+--+---------------------+---------------->
| .-YES-. | | .-NO--. |
'-PEP=--+-NO--+--,-' '-INSTOP=--+-YES-+--,-'
>--+----------------------+--+---------------------+------------>
| .-NO--. | | .-YES-. |
'-EXITDSA=--+-YES-+--,-' '-OWNEXM=--+-NO--+--,-'
>--+------------------+--+-------------------------+------------>
'-EPNAME=--name--,-' '-VER=--version_number--,-'
>--+-------------------------+--+----------------+-------------->
'-REL=--release_number--,-' '-MOD=--level--,-'
>--+------------------+--+-----------------------------+-------->
| .-YES-. | '-SERVICE=--service_string--,-'
'-DSA=--+-NO--+--,-'
>--+----------------------+--+-------------------+-------------><
'-VRSMASK=--vrsmask--,-' '-VRSLOCR=--vrslocr-'
- label
- The name of the PPA. If you specified a name for PPA in
the CEEENTRY macro, you must specify the same name here. If you did
not specify a name for PPA in the CEEENTRY macro, you must
specify “PPA” (the CEEENTRY default PPA label) as the
name here.
- LIBRARY=
- Indicates whether the routine is a Language Environment library
routine. Valid values for LIBRARY are YES and NO. If
you do not specify a value, NO is used. Use of this IBM-supplied
default is recommended.
- PPA2=
- Instructs the macro to generate a PPA2 or suppress the generation
of the PPA2. A PPA2 is a program prolog area that defines constants
for the CSECT. Only one is used, independent of the number of entry
points. Valid values for PPA2 are YES and NO. If you
do not specify a value, YES is used, which generates a PPA2
field.
- EXTPROC=
- Indicates if this routine is an external procedure or an internal
procedure. Valid values for EXTPROC are YES and NO.
If you do not specify a value, YES is used, which indicates
that the block is an external procedure.
- TSTAMP=
- Indicates whether a timestamp, indicating the date and time of
assembly, should be generated. Valid values for TSTAMP are YES and NO.
If you do not specify a value, YES is used and a timestamp
is generated.
- PEP=
- Indicates if this entry point is primary or secondary. A secondary
entry point is an alternate entry point. Some Language Environment facilities,
such as CEE3DMP, report information based on the primary entry point
only.
Valid values for PEP are YES and NO. If you
do not specify a value, YES is used, which indicates that this
is a primary entry point (PEP).
- INSTOP=
- Indicates if time spent in this routine should be attributed to
the program (rather than to the “system”). Valid values
for INSTOP are YES and NO. If you do not specify a value, NO is
used, which indicates that time should be attributed to the system.
The information is intended to be used by application performance
analysis tools.
- EXITDSA=
- Indicates whether the code should gain control on GOTO out of
block. Valid values for EXITDSA are YES and NO. If you
do not specify a value, NO is used, which indicates that the
code does not gain control for GOTO out of block. Use of this IBM-supplied
default is recommended.
- OWNEXM=
- Specifies if this routine should participate in condition handling
according to the exception model of its own member language (OWNEXM=YES),
or according to the exception model inherited from the caller's member
language (OWNEXM=NO). Valid values for OWNEXM are YES and NO.
If you do not specify a value, YES is used. Use of this IBM-supplied
default is recommended.
- EPNAME=
- Indicates the entry point name. If you
do not specify a value, the name of the CSECT is used.
- VER=
- The version number for the routine.
This field is not interrogated by Language Environment. Valid
values for VER are 1 through 99. If you do not specify a value, 1
is used.
- REL=
- The release number for the routine.
This field is not interrogated by Language Environment. Valid
values for REL are 1 through 99. If you do not specify a value, 1
is used.
- MOD=
- The modification level for the routine.
This field is not interrogated by Language Environment. Valid
values for MOD are 1 through 99. If you do not specify a value, 0 is
used.
- DSA=YES
- Indicates whether this procedure has a DSA. Valid values for DSA
are YES and NO. If you do not specify a value, YES is
used, indicating that the code has an associated DSA. Use of this
IBM-supplied default is recommended.
- SERVICE=
- Indicates the service level string for the routine. The service
string length and contents are located following the timestamp and
version information. The first 7 bytes of the service level string
is treated as character data for the Service column of a traceback.
When the SERVICE keyword is in use, the
timestamp is generated automatically, the TSTAMP option
is defaulted to YES even when the user specified TSTAMP=NO.
The SERVICE keyword can only be specified
on the first CEEPPA macro in the assembler source, all other instances
of the keyword are ignored.
- VRSMASK=
- The save bit mask field for vector registers, in hexdecimal format.
Valid values for VRSMASK are 00 through FF. VRSMASK and VRSLOCR must
be provided at the same time for the optional area of vector registers.
- VRSLOCR=
- The locator field for vector registers, in hexdecimal format.
Valid values for VRSLOCR are 00 through FF. VRSMASK and VRSLOCR must
be provided at the same time for the optional area of vector registers.