pTAL Reference Manual (G06.24+, H06.09+, J06.03+)

procptr
is a procedure pointer identifier.
param-type
is any data type described in the data-type parameter of this syntax description.
Indirection
., .EXT, .EXT32, .EXT64, .SG, and .SGX are indirection symbols (see Table 14
(page 41)).
NOTE: The “Indirection Symbols” (page 41), .EXT32 and .EXT64 are 64-bit addressing
functionality added to the EpTAL compiler starting with SPR T0561H01^AAP. For more
information, see Appendix E, “64-bit Addressing Functionality” (page 531).
identifier
is an identifier (as described in Identifiers (page 42)).
referral
is the name of a previously declared structure or structure pointer. You must include
referral if the formal parameter identifier is the name of a structure.
Topics:
Declaring Procedure Pointer Variables (page 266)
Declaring Procedure Pointers in Structures (page 267)
Declaring PROCPTRs as Formal Parameters (page 268)
Assignments to Procedure Pointers (page 269)
Dynamically Selected Procedure Calls (page 271)
Declaring Procedure Pointer Variables
procptr
is a procedure pointer identifier.
prev-identifier
is the identifier of a previously declared variable. On TNS architecture, prev-identifier
must be 16 bits. On TNS/R and TNS/E architecture, prev-identifier must be 32 bits or
more.
procaddr
is a constant or dynamic expression of type PROCADDR, PROC32ADDR, or PROC64ADDR.
procaddr must be the name of a procedure, procedure pointer, or PROCADDR,
PROC32ADDR, or PROC64ADDR variable. If procaddr is a procedure or procedure pointer,
the parameters of procptr and procaddr must match and the following procedure attributes
must match: EXTENSIBLE, VARIABLE, RETURNSCC, MAIN, and INTERRUPT; the following
procedure attributes do not have to match: OVERFLOW_TRAPS, CALLABLE, PRIV, and RESIDENT.
You can declare a procedure pointer anywhere a data declaration is valid. For purposes of
declarations, procedure pointers are treated as data, not as procedures.
The address type of a PROCPTR, PROC32PTR, and PROC64PTR is PROCADDR, PROC32ADDR,
and PROC64ADDR, respectively.
The address type of a procedure pointer variable is WADDR.
266 Procedures, Subprocedures, and Procedure Pointers