XBeach
|
00001 module libxbeach_dynamic 00002 00003 use libxbeach_module 00004 use iso_c_binding 00005 use logging_module 00006 00007 implicit none 00008 save 00009 00010 contains 00011 00012 integer(c_int) function xbeach_init() bind(C, name="init") 00013 !DEC$ ATTRIBUTES DLLEXPORT::xbeach_init 00014 00015 xbeach_init = init() 00016 00017 end function xbeach_init 00018 00019 integer(c_int) function xbeach_outputext() bind(C, name="outputext") 00020 !DEC$ ATTRIBUTES DLLEXPORT::xbeach_outputext 00021 00022 xbeach_outputext = outputext() 00023 00024 end function xbeach_outputext 00025 00026 integer(c_int) function xbeach_executestep() bind(C, name="executestep") 00027 !DEC$ ATTRIBUTES DLLEXPORT::xbeach_executestep 00028 00029 xbeach_executestep = executestep() 00030 00031 end function xbeach_executestep 00032 00033 integer(c_int) function xbeach_finalize() bind(C, name="finalize") 00034 !DEC$ ATTRIBUTES DLLEXPORT::xbeach_finalize 00035 00036 xbeach_finalize = final() 00037 00038 end function xbeach_finalize 00039 00040 ! subroutine assignlogdelegate(fPtr) bind(C,name="assignlogdelegate") 00041 ! !DEC$ ATTRIBUTES DLLEXPORT::assignlogdelegate 00042 ! use logging_module 00043 ! type(c_funptr), VALUE :: fPtr 00044 ! 00045 ! call assignlogdelegate_internal(fPtr) 00046 ! 00047 ! end subroutine assignlogdelegate 00048 ! 00049 ! integer(c_int) function writetolog() bind(C, name="writetolog") 00050 ! !DEC$ ATTRIBUTES DLLEXPORT::writetolog 00051 ! use logging_module 00052 ! 00053 ! integer :: i, tmp 00054 ! 00055 ! writetolog = -1 00056 ! 00057 ! do i = 1, 10 00058 ! tmp = i 00059 ! call distributelog(tmp,"test iets anders",16) 00060 ! end do 00061 ! 00062 ! writetolog = 0 00063 ! end function writetolog 00064 00065 end module libxbeach_dynamic