From 5024cc4e2dfc9a0dadc35728eb65855909bfd643 Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Mon, 16 Mar 2020 14:39:42 +0000 Subject: [PATCH] Add missed file to repo --- lib/shmem.f90 | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 lib/shmem.f90 diff --git a/lib/shmem.f90 b/lib/shmem.f90 new file mode 100644 index 000000000..8d9db7d6e --- /dev/null +++ b/lib/shmem.f90 @@ -0,0 +1,45 @@ +module shmem + ! external routines wrapping the Qt QSharedMemory class + interface + function shmem_create (size) bind(C, name="shmem_create") + use iso_c_binding, only: c_bool, c_int + logical(c_bool) :: shmem_create + integer(c_int), value, intent(in) :: size + end function shmem_create + + subroutine shmem_setkey (key) bind(C, name="shmem_setkey") + use iso_c_binding, only: c_bool, c_char + character(kind=c_char), intent(in) :: key(*) + end subroutine shmem_setkey + + function shmem_attach () bind(C, name="shmem_attach") + use iso_c_binding, only: c_bool + logical(c_bool) :: shmem_attach + end function shmem_attach + + function shmem_address() bind(C, name="shmem_address") + use, intrinsic :: iso_c_binding, only: c_ptr + type(c_ptr) :: shmem_address + end function shmem_address + + function shmem_size() bind(C, name="shmem_size") + use, intrinsic :: iso_c_binding, only: c_int + integer(c_int) :: shmem_size + end function shmem_size + + function shmem_lock () bind(C, name="shmem_lock") + use iso_c_binding, only: c_bool + logical(c_bool) :: shmem_lock + end function shmem_lock + + function shmem_unlock () bind(C, name="shmem_unlock") + use iso_c_binding, only: c_bool + logical(c_bool) :: shmem_unlock + end function shmem_unlock + + function shmem_detach () bind(C, name="shmem_detach") + use iso_c_binding, only: c_bool + logical(c_bool) :: shmem_detach + end function shmem_detach + end interface +end module shmem