38 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Fortran
		
	
	
	
	
	
		
		
			
		
	
	
			38 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Fortran
		
	
	
	
	
	
|   | 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
 |