pragma Export_Valued_Procedure ( [Internal =>] LOCAL_NAME [, [External =>] EXTERNAL_SYMBOL] [, [Parameter_Types =>] Parameter_TYPES] [, [Mechanism =>] MECHANISM]); EXTERNAL_SYMBOL ::= IDENTIFIER | static_string_EXPRESSION Parameter_TYPES ::= null | SUBTYPE_MARK {, SUBTYPE_MARK} MECHANISM ::= MECHANISM_NAME | (MECHANISM_ASSOCIATION {, MECHANISM_ASSOCIATION}) MECHANISM_ASSOCIATION ::= [formal_parameter_NAME =>] MECHANISM_NAME MECHANISM_NAME ::= Value | Reference
This pragma is identical to Export_Procedure except that the first parameter of local_name, which must be present, must be of mode OUT, and externally the subprogram is treated as a function with this parameter as the result of the function. XGC Ada provides for this capability to allow the use of OUT and IN OUT parameters in interfacing to external functions (which are not permitted in Ada functions).