38 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
module crc 
 | 
						|
  use, intrinsic :: iso_c_binding, only: c_int, c_loc, c_int8_t, c_bool, c_short
 | 
						|
  interface
 | 
						|
    function crc12 (data, length) bind (C, name="crc12")
 | 
						|
      use, intrinsic :: iso_c_binding, only: c_short, c_ptr, c_int
 | 
						|
      implicit none
 | 
						|
      integer (c_short) :: crc12
 | 
						|
      type (c_ptr), value :: data
 | 
						|
      integer (c_int), value :: length
 | 
						|
    end function crc12
 | 
						|
 
 | 
						|
    function crc12_check (data, length) bind (C, name="crc12_check")
 | 
						|
      use, intrinsic :: iso_c_binding, only: c_bool, c_ptr, c_int
 | 
						|
      implicit none
 | 
						|
      logical (c_bool) :: crc12_check
 | 
						|
      type (c_ptr), value :: data
 | 
						|
      integer (c_int), value :: length
 | 
						|
    end function crc12_check
 | 
						|
 | 
						|
    function crc10 (data, length) bind (C, name="crc10")
 | 
						|
      use, intrinsic :: iso_c_binding, only: c_short, c_ptr, c_int
 | 
						|
      implicit none
 | 
						|
      integer (c_short) :: crc10
 | 
						|
      type (c_ptr), value :: data
 | 
						|
      integer (c_int), value :: length
 | 
						|
    end function crc10
 | 
						|
 | 
						|
    function crc10_check (data, length) bind (C, name="crc10_check")
 | 
						|
      use, intrinsic :: iso_c_binding, only: c_bool, c_ptr, c_int
 | 
						|
      implicit none
 | 
						|
      logical (c_bool) :: crc10_check
 | 
						|
      type (c_ptr), value :: data
 | 
						|
      integer (c_int), value :: length
 | 
						|
    end function crc10_check
 | 
						|
 | 
						|
  end interface
 | 
						|
end module crc
 |