Indicates that the external call ignores the values returned by the external routine in the return register(s).
A return line may specify a return class keyword alone, rather than as the argument to the CLASS keyword.
The following table shows the relationship between return CLASS and TYPE.
Type Requirements for the Return Line |
|
CLASS |
TYPE |
VALUE |
required |
STATUS |
optional, always used as LONG |
IGNORED |
optional, not relevant |
If CLASS=VALUE, TYPE is required. If CLASS=STATUS, TYPE is optional. STATUS always treats the return as LONG. If CLASS=IGNORED, TYPE is not used and may be omitted.
The following table shows how data types apply to the return line.
External Call Data Types |
||
DATA TYPE |
MEANING |
RETURN LINE USE |
DOUBLE |
Double floating point |
VALUE |
FLOATING |
Floating point |
VALUE |
G_FLOATING |
G_floating |
VALUE |
H_FLOATING |
H_floating |
NONE |
LONG |
Longword |
VALUE/STATUS |
QUAD |
Quadword |
VALUE |
BYTE |
Byte |
VALUE |
BYTEU |
Byte unsigned |
VALUE |
WORD |
Word |
VALUE |
WORDU |
Word unsigned |
VALUE |
LONGU |
Longword unsigned |
VALUE/STATUS |
STRING |
String data |
NONE |
External calling does not permit the H_FLOATING or STRING data types in the return line.
Example:
zcinit routine callname=lexp, linkname=lexp return class=status, type=long . . . zcallfin .end