예제 #1
0
/* read_pointer : offset:int -> raw_pointer -> raw_pointer */
value ctypes_read_pointer(value offset_, value src_)
{
  CAMLparam2(offset_, src_);
  void *src = (char *)CTYPES_TO_PTR(src_) + Int_val(offset_);
  CAMLreturn(CTYPES_FROM_PTR(*(void **)src));
}
예제 #2
0
/* block_address : managed_buffer -> immediate_pointer */
value ctypes_block_address(value managed_buffer)
{
  return CTYPES_FROM_PTR(*(void **)Data_custom_val(managed_buffer));
}
예제 #3
0
/* address : 'b -> pointer */
value ctypes_bigarray_address(value ba)
{
  return CTYPES_FROM_PTR(Caml_ba_data_val(ba));
}