External calls permit access to functions implemented in other programming languages. GT.M supports external calls to any language that supports the VMS calling standard. GT.M also supports calls to M from an external routine that was itself called from M.
To access an external routine from GT.M you must:
Specify the subroutine to be called. GT.M supports two external call syntaxes, the externref and the $ZCALL function.
Define an external call table to interface between the typeless data of M and the typed data supported by the VMS calling standard.
Link the external routine and the external call table entry defining its usage into an M image.
Each of these steps is explained below, with the bulk of the chapter devoted to external call tables.
To understand external calls completely, you should have some knowledge of:
VMS procedure-calling mechanisms
VMS argument-passing mechanisms
For more information, refer to the OpenVMS Calling Standard manual.