A zcentry specifies the characteristics of the external routine. It associates each routine name with an actual routine, and specifies data types and argument-passing mechanisms for the parameters passed to or from each routine. A zcentry contains four types of lines.
The format for a zcentry is:
[package] routine [return] [input] ... [output] ...
The information for each external call table entry MUST appear in the order shown above.
Example:
.library "gtm$dist:gtmzcall.mlb" zcinit routinecallname=lexp, linkname=l1, inputs=1,outputs=1 returnclass=status inputposition=1, mechanism=descriptor, type=string outputposition=2, mechanism=reference, type=long package my_package routinecallname=trans, linkname=trns, inputs=1,outputs=1 returnclass=value, type=double inputposition=1, mechanism=reference, type=string outputposition=2, mechanism=descriptor, type=quad zcallfin .end
Each of the segments starting with the routine line and ending with the output line forms a zcentry. Zcentries and the package line are explained below.