mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-03 16:01:18 -05:00
46 lines
1.5 KiB
Fortran
46 lines
1.5 KiB
Fortran
|
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
|