Version 1 (modified by jorisborgdorff, 12 years ago) (diff)

--

Fortran API

The Fortran API resembles most the C API. To limit portability issues, all MUSCLE Fortran commands are implemented in C but can be called directly from Fortran. It assumes that all function parameters are passed as references, which is the default if using a Fortran variable, or can be forced with the %REF primitive. For instance, %REF(100) passes a reference to the integer 100 to C. The API is as follows:

MUSCLE_Init(integer argc, character*(*) argv)
MUSCLE_Finalize()

MUSCLE_Kernel_Name(character*255 result)
MUSCLE_Get_Property(character*255 name, character*1024 result)

MUSCLE_Will_Stop(logical result)

MUSCLE_Receive(character*(*) exit_name, [your_datatype]*65536 result, integer size, muscle_datatype_t type)
MUSCLE_Send(character*(*) entrance_name, [your_datatype]*(*) data, integer size, muscle_datatype_t type)

The length of the result from MUSCLE_Kernel_Name and MUSCLE_Get_Property can be found by calling LenCstr

For compatibility with Fortran