== 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