| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(c_ptr), | value | :: | buffer_ptr | |||
| integer(kind=c_int), | value | :: | buffer_capacity | |||
| type(c_ptr), | value | :: | length_ptr |
integer(c_int) function beach_kernel_get_build_info(buffer_ptr, buffer_capacity, length_ptr) & bind(C, name='beach_kernel_get_build_info') result(status) type(c_ptr), value :: buffer_ptr, length_ptr integer(c_int), value :: buffer_capacity integer(c_int), pointer :: text_length integer :: required_length if (.not. c_associated(length_ptr)) then status = beach_kernel_invalid_argument return end if call c_f_pointer(length_ptr, text_length) required_length = len(beach_build_info) text_length = int(required_length, c_int) if (.not. c_associated(buffer_ptr) .or. buffer_capacity <= int(required_length, c_int)) then status = beach_kernel_invalid_argument return end if call copy_text_to_c_buffer(beach_build_info, required_length, buffer_ptr, buffer_capacity) status = beach_kernel_ok end function beach_kernel_get_build_info