What would be the right interface to call
void InitWELLRNG44497a(unsigned int *);extern double (*WELLRNG44497a)(void);
from fortran? I have chased C_FUNPTR without success.
That looks like an ordinary procedure, not a pointer to one.
subroutine InitWELLRNG44497a(i) bind(c,name='InitWELLRNG44497a')
integer(c_int) :: i
end subroutine InitWELLRNG44497a
In the absence of value attribute, a pointer to the argument will be constructed automatically, for ABI where it is appropriate (including Intel platforms). inout will be assumed, which seems likely to be appropriate.