The parameter passing attributes indicate the passing mechanism to be used for a parameter.
1 – CLASS_A
The CLASS_A attribute causes a formal parameter to be passed by an array descriptor that describes contiguous arrays of atomic data types or contiguous arrays of fixed-length strings. This is the default mechanism for conformant array parameters on OpenVMS VAX systems. This attribute is illegal on parameters of schema types. See the "HP Pascal Language Reference Manual" for the complete description of using the CLASS_A attribute.
2 – CLASS_NCA
The CLASS_NCA attribute causes a formal parameter to be passed by a noncontiguous array descriptor. This attribute is illegal on parameters of schema types. This is the default mechanism for conformant array parameters on OpenVMS Alpha and OpenVMS I64 systems.
3 – CLASS_S
The CLASS_S attribute causes a formal parameter to be passed by a single descriptor form that is used for scalar data and fixed-length strings. This attribute allows routines written in VSI Pascal to accept actual parameters from languages that generate CLASS_S descriptors. See the "HP Pascal Language Reference Manual" for the complete description of using the CLASS_S attribute.
4 – IMMEDIATE
The IMMEDIATE attribute causes a formal parameter value in a routine declaration to be passed by immediate value. See the "HP Pascal Language Reference Manual" for the complete description of using the IMMEDIATE attribute.
5 – REFERENCE
The REFERENCE attribute causes the formal parameter in a routine to be passed by reference using foreign parameters. See the "HP Pascal Language Reference Manual" for the complete description of using the REFERENCE attribute.