Rational Developer for System z
Enterprise PL/I for z/OS, Version 3.8, Programming Guide

Argument passing by descriptor-locator

When arguments and their descriptors are passed by descriptor-locator, whenever an argument requires a descriptor, the address of a locator/descriptor for it is passed instead.

Except for strings, the locator/descriptor is a pair of pointers. The first pointer is the address of the data; the second pointer is the address of the descriptor. For strings, under CMPAT(LE), the locator/descriptor is still such a pair of pointers. But under the other CMPAT options, the locator/descriptor consists of the address of the string and then the string descriptor itself.

So, for example, suppose the routine sample is declared again as

declare sample entry( fixed bin(31), varying char(*) )
               options( byaddr descriptor );

Then, if sample is called as in the following statement

call sample( 1, 'test' );

The following two arguments are passed to the routine:


Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)