1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
use libc::{c_void, size_t};

use H5Fpublic::H5F_mem_t;
use H5public::herr_t;

pub type H5FD_mem_t = H5F_mem_t;

#[derive(Clone, Copy, Debug)]
#[repr(C)]
pub enum H5FD_file_image_op_t {
    H5FD_FILE_IMAGE_OP_NO_OP,
    H5FD_FILE_IMAGE_OP_PROPERTY_LIST_SET,
    H5FD_FILE_IMAGE_OP_PROPERTY_LIST_COPY,
    H5FD_FILE_IMAGE_OP_PROPERTY_LIST_GET,
    H5FD_FILE_IMAGE_OP_PROPERTY_LIST_CLOSE,
    H5FD_FILE_IMAGE_OP_FILE_OPEN,
    H5FD_FILE_IMAGE_OP_FILE_RESIZE,
    H5FD_FILE_IMAGE_OP_FILE_CLOSE,
}
pub use self::H5FD_file_image_op_t::*;

type H5FD_file_image_callbacks_image_malloc_func = extern "C" fn(size_t, H5FD_file_image_op_t,
                                                                 *mut c_void) -> *const c_void;
type H5FD_file_image_callbacks_image_memcpy_func = extern "C" fn(*mut c_void, *const c_void,
                                                                 size_t, H5FD_file_image_op_t,
                                                                 udata: *mut c_void)
                                                                 -> *const c_void;
type H5FD_file_image_callbacks_image_realloc_func = extern "C" fn(*mut c_void, size_t,
                                                                  H5FD_file_image_op_t,
                                                                  *mut c_void) -> *const c_void;
type H5FD_file_image_callbacks_image_free_func = extern "C" fn(*mut c_void, H5FD_file_image_op_t,
                                                               *mut c_void) -> herr_t;
type H5FD_file_image_callbacks_udata_copy_func = extern "C" fn(*mut c_void) -> *const c_void;
type H5FD_file_image_callbacks_udata_free_func = extern "C" fn(*mut c_void) -> herr_t;

#[repr(C)]
pub struct H5FD_file_image_callbacks_t {
    image_malloc: H5FD_file_image_callbacks_image_malloc_func,
    image_memcpy: H5FD_file_image_callbacks_image_memcpy_func,
    image_realloc: H5FD_file_image_callbacks_image_realloc_func,
    image_free: H5FD_file_image_callbacks_image_free_func,
    udata_copy: H5FD_file_image_callbacks_udata_copy_func,
    udata_free: H5FD_file_image_callbacks_udata_free_func,
    udata: *const c_void,
}