TiXI
3.3.0
|
The Fortran interface is implemented by calls to subroutines.
It assumes the follwing mapping for the basic types:
real is real*8 corresponds double
integer is integer*4 corresponds to int
character corresponds char
Character strings are to be passed as variables of type character*N. If a string is returned by a subroutine call the variable holding the result must be large enough to hold the result. Otherwise the result is truncated and the return code is set to STRING_TRUNCATED.
NOTE: In view of these restrictions an implementation using character arrays should be considered.
The return codes returned in the last argument corresponds to their position in ReturnCode starting with 0. A routine will be supplied to directly access the meaning of a return code as a string.
When the C interface requires to pass a NULL-pointer, e.g. to choose the default format "%g" when writing floating point elements, the respective argument in the Fortran interfaces is the empty string constant "". This is the only way to represent a string of length zero. Passing a variable with all characters set to "" will, via the interface transformed into an emtpy C-string "\0", which is of length 1, and not to a NULL-pointer.