Skip to content

Instantly share code, notes, and snippets.

@remogatto
Created June 28, 2009 15:30
Show Gist options
  • Save remogatto/137300 to your computer and use it in GitHub Desktop.
Save remogatto/137300 to your computer and use it in GitHub Desktop.
module H5
extend FFI::Library
H5_CLEAR_MEMORY = 1
H5_CONVERT_DENORMAL_FLOAT = 1
H5_DEV_T_IS_SCALAR = 1
H5_FP_TO_INTEGER_OVERFLOW_WORKS = 1
H5_FP_TO_ULLONG_ACCURATE = 1
H5_GETTIMEOFDAY_GIVES_TZ = 1
H5_HAVE_ALARM = 1
H5_HAVE_ATTRIBUTE = 1
H5_HAVE_C99_DESIGNATED_INITIALIZER = 1
H5_HAVE_C99_FUNC = 1
H5_HAVE_DIFFTIME = 1
H5_HAVE_DLFCN_H = 1
H5_HAVE_EMBEDDED_LIBINFO = 1
H5_HAVE_FEATURES_H = 1
H5_HAVE_FILTER_DEFLATE = 1
H5_HAVE_FILTER_FLETCHER32 = 1
H5_HAVE_FILTER_NBIT = 1
H5_HAVE_FILTER_SCALEOFFSET = 1
H5_HAVE_FILTER_SHUFFLE = 1
H5_HAVE_FORK = 1
H5_HAVE_FREXPF = 1
H5_HAVE_FREXPL = 1
H5_HAVE_FSEEKO = 1
H5_HAVE_FSTAT64 = 1
H5_HAVE_FTELLO = 1
H5_HAVE_FTRUNCATE64 = 1
H5_HAVE_FUNCTION = 1
H5_HAVE_GETHOSTNAME = 1
H5_HAVE_GETPWUID = 1
H5_HAVE_GETRUSAGE = 1
H5_HAVE_GETTIMEOFDAY = 1
H5_HAVE_INTTYPES_H = 1
H5_HAVE_IOCTL = 1
H5_HAVE_LIBM = 1
H5_HAVE_LIBZ = 1
H5_HAVE_LONGJMP = 1
H5_HAVE_LSEEK64 = 1
H5_HAVE_MEMORY_H = 1
H5_HAVE_RANDOM = 1
H5_HAVE_RAND_R = 1
H5_HAVE_SETJMP_H = 1
H5_HAVE_SIGACTION = 1
H5_HAVE_SIGLONGJMP = 1
H5_HAVE_SIGNAL = 1
H5_HAVE_SNPRINTF = 1
H5_HAVE_SRANDOM = 1
H5_HAVE_STAT64 = 1
H5_HAVE_STAT_ST_BLOCKS = 1
H5_HAVE_STDDEF_H = 1
H5_HAVE_STDINT_H = 1
H5_HAVE_STDLIB_H = 1
H5_HAVE_STRDUP = 1
H5_HAVE_STRINGS_H = 1
H5_HAVE_STRING_H = 1
H5_HAVE_STRUCT_TIMEZONE = 1
H5_HAVE_STRUCT_TM_TM_ZONE = 1
H5_HAVE_SYSTEM = 1
H5_HAVE_SYS_IOCTL_H = 1
H5_HAVE_SYS_RESOURCE_H = 1
H5_HAVE_SYS_SOCKET_H = 1
H5_HAVE_SYS_STAT_H = 1
H5_HAVE_SYS_TIMEB_H = 1
H5_HAVE_SYS_TIME_H = 1
H5_HAVE_SYS_TYPES_H = 1
H5_HAVE_TIOCGETD = 1
H5_HAVE_TIOCGWINSZ = 1
H5_HAVE_TMPFILE = 1
H5_HAVE_TM_GMTOFF = 1
H5_HAVE_TM_ZONE = 1
H5_HAVE_UNISTD_H = 1
H5_HAVE_VASPRINTF = 1
H5_HAVE_VSNPRINTF = 1
H5_HAVE_WAITPID = 1
H5_HAVE_ZLIB_H = 1
H5_INCLUDE_HL = 1
H5_INTEGER_TO_LDOUBLE_ACCURATE = 1
H5_LDOUBLE_TO_INTEGER_ACCURATE = 1
H5_LDOUBLE_TO_INTEGER_WORKS = 1
H5_LDOUBLE_TO_LLONG_ACCURATE = 1
H5_LDOUBLE_TO_UINT_ACCURATE = 1
H5_LLONG_TO_FP_CAST_WORKS = 1
H5_LLONG_TO_LDOUBLE_CORRECT = 1
H5_LT_OBJDIR = .libs/
H5_NO_ALIGNMENT_RESTRICTIONS = 1
H5_PACKAGE = hdf5
H5_PACKAGE_BUGREPORT = [email protected]
H5_PACKAGE_NAME = HDF5
H5_PACKAGE_STRING = HDF5 1.8.3
H5_PACKAGE_TARNAME = hdf5
H5_PACKAGE_VERSION = 1.8.3
H5_PRINTF_LL_WIDTH = ll
H5_SIZEOF_CHAR = 1
H5_SIZEOF_DOUBLE = 8
H5_SIZEOF_FLOAT = 4
H5_SIZEOF_INT = 4
H5_SIZEOF_INT16_T = 2
H5_SIZEOF_INT32_T = 4
H5_SIZEOF_INT64_T = 8
H5_SIZEOF_INT8_T = 1
H5_SIZEOF_INT_FAST16_T = 4
H5_SIZEOF_INT_FAST32_T = 4
H5_SIZEOF_INT_FAST64_T = 8
H5_SIZEOF_INT_FAST8_T = 1
H5_SIZEOF_INT_LEAST16_T = 2
H5_SIZEOF_INT_LEAST32_T = 4
H5_SIZEOF_INT_LEAST64_T = 8
H5_SIZEOF_INT_LEAST8_T = 1
H5_SIZEOF_LONG = 4
H5_SIZEOF_LONG_DOUBLE = 12
H5_SIZEOF_LONG_LONG = 8
H5_SIZEOF_OFF64_T = 8
H5_SIZEOF_OFF_T = 8
H5_SIZEOF_SHORT = 2
H5_SIZEOF_SIZE_T = 4
H5_SIZEOF_SSIZE_T = 4
H5_SIZEOF_UINT16_T = 2
H5_SIZEOF_UINT32_T = 4
H5_SIZEOF_UINT64_T = 8
H5_SIZEOF_UINT8_T = 1
H5_SIZEOF_UINT_FAST16_T = 4
H5_SIZEOF_UINT_FAST32_T = 4
H5_SIZEOF_UINT_FAST64_T = 8
H5_SIZEOF_UINT_FAST8_T = 1
H5_SIZEOF_UINT_LEAST16_T = 2
H5_SIZEOF_UINT_LEAST32_T = 4
H5_SIZEOF_UINT_LEAST64_T = 8
H5_SIZEOF_UINT_LEAST8_T = 1
H5_SIZEOF___INT64 = 0
H5_STDC_HEADERS = 1
H5_SYSTEM_SCOPE_THREADS = 1
H5_TIME_WITH_SYS_TIME = 1
H5_ULLONG_TO_FP_CAST_WORKS = 1
H5_ULLONG_TO_LDOUBLE_PRECISION = 1
H5_ULONG_TO_FP_BOTTOM_BIT_ACCURATE = 1
H5_VERSION = 1.8.3
H5_VSNPRINTF_WORKS = 1
H5_WANT_DATA_ACCURACY = 1
H5_WANT_DCONV_EXCEPTION = 1
H5Acreate_vers = 2
H5Aiterate_vers = 2
H5Dcreate_vers = 2
H5Dopen_vers = 2
H5Eclear_vers = 2
H5Eget_auto_vers = 2
H5Eprint_vers = 2
H5Epush_vers = 2
H5Eset_auto_vers = 2
H5Ewalk_vers = 2
H5Gcreate_vers = 2
H5Gopen_vers = 2
H5Pget_filter_vers = 2
H5Pget_filter_by_id_vers = 2
H5Pinsert_vers = 2
H5Pregister_vers = 2
H5Rget_obj_type_vers = 2
H5Tarray_create_vers = 2
H5Tcommit_vers = 2
H5Tget_array_dims_vers = 2
H5Topen_vers = 2
H5E_auto_t_vers = 2
H5Z_class_t_vers = 2
H5_VERS_MAJOR = 1
H5_VERS_MINOR = 8
H5_VERS_RELEASE = 3
H5_VERS_SUBRELEASE =
H5_VERS_INFO = HDF5 library version: 1.8.3
H5_SIZEOF_HSIZE_T = 8
H5_SIZEOF_HSSIZE_T = 8
H5_SIZEOF_HADDR_T = 8
H5_PRINTF_HADDR_FMT = %llu
H5P_DEFAULT = 0
H5_ITER_UNKNOWN = -1
H5_ITER_INC = 0
H5_ITER_DEC = 1
H5_ITER_NATIVE = 2
H5_ITER_N = 3
H5_ITER_ERROR = (-1)
H5_ITER_CONT = (0)
H5_ITER_STOP = (1)
H5_INDEX_UNKNOWN = -1
H5_INDEX_NAME = 0
H5_INDEX_CRT_ORDER = 1
H5_INDEX_N = 2
class H5IhInfoT < FFI::Struct
layout(
:index_size, :ulong_long,
:heap_size, :ulong_long
)
end
attach_function :H5open, [ ], :int
attach_function :H5close, [ ], :int
attach_function :H5dont_atexit, [ ], :int
attach_function :H5garbage_collect, [ ], :int
attach_function :H5set_free_list_limits, [ :int, :int, :int, :int, :int, :int ], :int
attach_function :H5get_libversion, [ :pointer, :pointer, :pointer ], :int
attach_function :H5check_version, [ :uint, :uint, :uint ], :int
H5AC__MAX_TRACE_FILE_NAME_LEN = 1024
H5AC__CURR_CACHE_CONFIG_VERSION = 1
class H5ACCacheConfigT < FFI::Struct
layout(
:version, :int,
:rpt_fcn_enabled, :uint,
:open_trace_file, :uint,
:close_trace_file, :uint,
:trace_file_name, [:char, 1024+1],
:evictions_enabled, :uint,
:set_initial_size, :uint,
:initial_size, :uint,
:min_clean_fraction, :double,
:max_size, :uint,
:min_size, :uint,
:epoch_length, :long,
:incr_mode, :int,
:lower_hr_threshold, :double,
:increment, :double,
:apply_max_increment, :uint,
:max_increment, :uint,
:flash_incr_mode, :int,
:flash_multiple, :double,
:flash_threshold, :double,
:decr_mode, :int,
:upper_hr_threshold, :double,
:decrement, :double,
:apply_max_decrement, :uint,
:max_decrement, :uint,
:epochs_before_eviction, :int,
:apply_empty_reserve, :uint,
:empty_reserve, :double,
:dirty_bytes_threshold, :int
)
end
class H5AInfoT < FFI::Struct
layout(
:corder_valid, :uint,
:corder, uint32_t,
:cset, :int,
:data_size, :ulong_long
)
end
callback(:H5A_operator2_t, [ :int, :string, :pointer, :pointer ], herr)
attach_function :H5Acreate2, [ :int, :string, :int, :int, :int, :int ], :int
attach_function :H5Acreate_by_name, [ :int, :string, :string, :int, :int, :int, :int, :int ], :int
attach_function :H5Aopen, [ :int, :string, :int ], :int
attach_function :H5Aopen_by_name, [ :int, :string, :string, :int, :int ], :int
attach_function :H5Aopen_by_idx, [ :int, :string, :int, :int, :ulong_long, :int, :int ], :int
attach_function :H5Awrite, [ :int, :int, :pointer ], :int
attach_function :H5Aread, [ :int, :int, :pointer ], :int
attach_function :H5Aclose, [ :int ], :int
attach_function :H5Aget_space, [ :int ], :int
attach_function :H5Aget_type, [ :int ], :int
attach_function :H5Aget_create_plist, [ :int ], :int
attach_function :H5Aget_name, [ :int, :uint, :string ], :int
attach_function :H5Aget_name_by_idx, [ :int, :string, :int, :int, :ulong_long, :string, :uint, :int ], :int
attach_function :H5Aget_storage_size, [ :int ], :ulong_long
attach_function :H5Aget_info, [ :int, :pointer ], :int
attach_function :H5Aget_info_by_name, [ :int, :string, :string, :pointer, :int ], :int
attach_function :H5Aget_info_by_idx, [ :int, :string, :int, :int, :ulong_long, :pointer, :int ], :int
attach_function :H5Arename, [ :int, :string, :string ], :int
attach_function :H5Arename_by_name, [ :int, :string, :string, :string, :int ], :int
attach_function :H5Aiterate2, [ :int, :int, :int, :pointer, :H5A_operator2_t, :pointer ], :int
attach_function :H5Aiterate_by_name, [ :int, :string, :int, :int, :pointer, :H5A_operator2_t, :pointer, :int ], :int
attach_function :H5Adelete, [ :int, :string ], :int
attach_function :H5Adelete_by_name, [ :int, :string, :string, :int ], :int
attach_function :H5Adelete_by_idx, [ :int, :string, :int, :int, :ulong_long, :int ], :int
attach_function :H5Aexists, [ :int, :string ], :int
attach_function :H5Aexists_by_name, [ :int, :string, :string, :int ], :int
callback(:H5A_operator1_t, [ :int, :string, :pointer ], herr)
attach_function :H5Acreate1, [ :int, :string, :int, :int, :int ], :int
attach_function :H5Aopen_name, [ :int, :string ], :int
attach_function :H5Aopen_idx, [ :int, :uint ], :int
attach_function :H5Aget_num_attrs, [ :int ], :int
attach_function :H5Aiterate1, [ :int, :pointer, :H5A_operator1_t, :pointer ], :int
H5C_incr__off = 0
H5C_incr__threshold = 1
H5C_flash_incr__off = 0
H5C_flash_incr__add_space = 1
H5C_decr__off = 0
H5C_decr__threshold = 1
H5C_decr__age_out = 2
H5C_decr__age_out_with_threshold = 3
H5D_CHUNK_CACHE_W0_DEFAULT = -1.
H5D_LAYOUT_ERROR = -1
H5D_COMPACT = 0
H5D_CONTIGUOUS = 1
H5D_CHUNKED = 2
H5D_NLAYOUTS = 3
H5D_CHUNK_BTREE = 0
H5D_ALLOC_TIME_ERROR = -1
H5D_ALLOC_TIME_DEFAULT = 0
H5D_ALLOC_TIME_EARLY = 1
H5D_ALLOC_TIME_LATE = 2
H5D_ALLOC_TIME_INCR = 3
H5D_SPACE_STATUS_ERROR = -1
H5D_SPACE_STATUS_NOT_ALLOCATED = 0
H5D_SPACE_STATUS_PART_ALLOCATED = 1
H5D_SPACE_STATUS_ALLOCATED = 2
H5D_FILL_TIME_ERROR = -1
H5D_FILL_TIME_ALLOC = 0
H5D_FILL_TIME_NEVER = 1
H5D_FILL_TIME_IFSET = 2
H5D_FILL_VALUE_ERROR = -1
H5D_FILL_VALUE_UNDEFINED = 0
H5D_FILL_VALUE_DEFAULT = 1
H5D_FILL_VALUE_USER_DEFINED = 2
callback(:H5D_operator_t, [ :pointer, :int, :uint, :pointer, :pointer ], herr)
attach_function :H5Dcreate2, [ :int, :string, :int, :int, :int, :int, :int ], :int
attach_function :H5Dcreate_anon, [ :int, :int, :int, :int, :int ], :int
attach_function :H5Dopen2, [ :int, :string, :int ], :int
attach_function :H5Dclose, [ :int ], :int
attach_function :H5Dget_space, [ :int ], :int
attach_function :H5Dget_space_status, [ :int, :pointer ], :int
attach_function :H5Dget_type, [ :int ], :int
attach_function :H5Dget_create_plist, [ :int ], :int
attach_function :H5Dget_access_plist, [ :int ], :int
attach_function :H5Dget_storage_size, [ :int ], :ulong_long
attach_function :H5Dget_offset, [ :int ], uint64_t
attach_function :H5Dread, [ :int, :int, :int, :int, :int, :pointer ], :int
attach_function :H5Dwrite, [ :int, :int, :int, :int, :int, :pointer ], :int
attach_function :H5Diterate, [ :pointer, :int, :int, :H5D_operator_t, :pointer ], :int
attach_function :H5Dvlen_reclaim, [ :int, :int, :int, :pointer ], :int
attach_function :H5Dvlen_get_buf_size, [ :int, :int, :int, :pointer ], :int
attach_function :H5Dfill, [ :pointer, :int, :pointer, :int, :int ], :int
attach_function :H5Dset_extent, [ :int, a().q(const).hsize_t ], :int
attach_function :H5Ddebug, [ :int ], :int
attach_function :H5Dcreate1, [ :int, :string, :int, :int, :int ], :int
attach_function :H5Dopen1, [ :int, :string ], :int
attach_function :H5Dextend, [ :int, a().q(const).hsize_t ], :int
H5E_DEFAULT = 0
H5E_MAJOR = 0
H5E_MINOR = 1
class H5EError2T < FFI::Struct
layout(
:cls_id, :int,
:maj_num, :int,
:min_num, :int,
:line, :uint,
:func_name, :pointer,
:file_name, :pointer,
:desc, :pointer
)
def func_name=(str)
@func_name = FFI::MemoryPointer.from_string(str)
self[:func_name] = @func_name
end
def func_name
@func_name.get_string(0)
end
def file_name=(str)
@file_name = FFI::MemoryPointer.from_string(str)
self[:file_name] = @file_name
end
def file_name
@file_name.get_string(0)
end
def desc=(str)
@desc = FFI::MemoryPointer.from_string(str)
self[:desc] = @desc
end
def desc
@desc.get_string(0)
end
end
H5E_WALK_UPWARD = 0
H5E_WALK_DOWNWARD = 1
callback(:H5E_walk2_t, [ :uint, :pointer, :pointer ], herr)
callback(:H5E_auto2_t, [ :int, :pointer ], herr)
attach_function :H5Eregister_class, [ :string, :string, :string ], :int
attach_function :H5Eunregister_class, [ :int ], :int
attach_function :H5Eclose_msg, [ :int ], :int
attach_function :H5Ecreate_msg, [ :int, :int, :string ], :int
attach_function :H5Ecreate_stack, [ ], :int
attach_function :H5Eget_current_stack, [ ], :int
attach_function :H5Eclose_stack, [ :int ], :int
attach_function :H5Eget_class_name, [ :int, :string, :uint ], :int
attach_function :H5Eset_current_stack, [ :int ], :int
attach_function :H5Epush2, [ :int, :string, :string, :uint, :int, :int, :int, :string, :varargs ], :int
attach_function :H5Epop, [ :int, :uint ], :int
attach_function :H5Eprint2, [ :int, :pointer ], :int
attach_function :H5Ewalk2, [ :int, :int, :H5E_walk2_t, :pointer ], :int
attach_function :H5Eget_auto2, [ :int, :pointer, :pointer ], :int
attach_function :H5Eset_auto2, [ :int, :H5E_auto2_t, :pointer ], :int
attach_function :H5Eclear2, [ :int ], :int
attach_function :H5Eauto_is_v2, [ :int, :pointer ], :int
attach_function :H5Eget_msg, [ :int, :pointer, :string, :uint ], :int
attach_function :H5Eget_num, [ :int ], :int
class H5EError1T < FFI::Struct
layout(
:maj_num, :int,
:min_num, :int,
:func_name, :pointer,
:file_name, :pointer,
:line, :uint,
:desc, :pointer
)
def func_name=(str)
@func_name = FFI::MemoryPointer.from_string(str)
self[:func_name] = @func_name
end
def func_name
@func_name.get_string(0)
end
def file_name=(str)
@file_name = FFI::MemoryPointer.from_string(str)
self[:file_name] = @file_name
end
def file_name
@file_name.get_string(0)
end
def desc=(str)
@desc = FFI::MemoryPointer.from_string(str)
self[:desc] = @desc
end
def desc
@desc.get_string(0)
end
end
callback(:H5E_walk1_t, [ :int, :pointer, :pointer ], herr)
callback(:H5E_auto1_t, [ :pointer ], herr)
attach_function :H5Eclear1, [ ], :int
attach_function :H5Eget_auto1, [ :pointer, :pointer ], :int
attach_function :H5Epush1, [ :string, :string, :uint, :int, :int, :string ], :int
attach_function :H5Eprint1, [ :pointer ], :int
attach_function :H5Eset_auto1, [ :H5E_auto1_t, :pointer ], :int
attach_function :H5Ewalk1, [ :int, :H5E_walk1_t, :pointer ], :int
attach_function :H5Eget_major, [ :int ], :string
attach_function :H5Eget_minor, [ :int ], :string
H5_HAVE_VFL = 1
H5FD_VFD_DEFAULT = 0
H5FD_MEM_NOLIST = -1
H5FD_MEM_DEFAULT = 0
H5FD_MEM_SUPER = 1
H5FD_MEM_BTREE = 2
H5FD_MEM_DRAW = 3
H5FD_MEM_GHEAP = 4
H5FD_MEM_LHEAP = 5
H5FD_MEM_OHDR = 6
H5FD_MEM_NTYPES = 7
H5FD_FEAT_AGGREGATE_METADATA = 0x00000001
H5FD_FEAT_ACCUMULATE_METADATA_WRITE = 0x00000002
H5FD_FEAT_ACCUMULATE_METADATA_READ = 0x00000004
H5FD_FEAT_ACCUMULATE_METADATA = (0x00000002|0x00000004)
H5FD_FEAT_DATA_SIEVE = 0x00000008
H5FD_FEAT_AGGREGATE_SMALLDATA = 0x00000010
class H5FDClassT < FFI::Struct
layout(
:name, :pointer,
:maxaddr, uint64_t,
:fc_degree, :int,
:sb_size, callback([ :pointer ], hsize),
:sb_encode, callback([ :pointer, :string, :pointer ], herr),
:sb_decode, callback([ :pointer, :string, :pointer ], herr),
:fapl_size, :uint,
:fapl_get, callback([ :pointer ], :pointer),
:fapl_copy, callback([ :pointer ], :pointer),
:fapl_free, callback([ :pointer ], herr),
:dxpl_size, :uint,
:dxpl_copy, callback([ :pointer ], :pointer),
:dxpl_free, callback([ :pointer ], herr),
:open, callback([ :string, :uint, :int, uint64_t ], :pointer),
:close, callback([ :pointer ], herr),
:cmp, callback([ :pointer, :pointer ], :int),
:query, callback([ :pointer, :pointer ], herr),
:get_type_map, callback([ :pointer, :pointer ], herr),
:alloc, callback([ :pointer, :int, :int, :ulong_long ], haddr),
:free, callback([ :pointer, :int, :int, uint64_t, :ulong_long ], herr),
:get_eoa, callback([ :pointer, :int ], haddr),
:set_eoa, callback([ :pointer, :int, uint64_t ], herr),
:get_eof, callback([ :pointer ], haddr),
:get_handle, callback([ :pointer, :int, :pointer ], herr),
:read, callback([ :pointer, :int, :int, uint64_t, :uint, :pointer ], herr),
:write, callback([ :pointer, :int, :int, uint64_t, :uint, :pointer ], herr),
:flush, callback([ :pointer, :int, :uint ], herr),
:truncate, callback([ :pointer, :int, :uint ], herr),
:lock, callback([ :pointer, :pointer, :uint, :uint ], herr),
:unlock, callback([ :pointer, :pointer, :uint ], herr),
:fl_map, a(H5FD_MEM_NTYPES).H5FD_mem_t
)
def name=(str)
@name = FFI::MemoryPointer.from_string(str)
self[:name] = @name
end
def name
@name.get_string(0)
end
def sb_size=(cb)
@sb_size = cb
self[:sb_size] = @sb_size
end
def sb_size
@sb_size
end
def sb_encode=(cb)
@sb_encode = cb
self[:sb_encode] = @sb_encode
end
def sb_encode
@sb_encode
end
def sb_decode=(cb)
@sb_decode = cb
self[:sb_decode] = @sb_decode
end
def sb_decode
@sb_decode
end
def fapl_get=(cb)
@fapl_get = cb
self[:fapl_get] = @fapl_get
end
def fapl_get
@fapl_get
end
def fapl_copy=(cb)
@fapl_copy = cb
self[:fapl_copy] = @fapl_copy
end
def fapl_copy
@fapl_copy
end
def fapl_free=(cb)
@fapl_free = cb
self[:fapl_free] = @fapl_free
end
def fapl_free
@fapl_free
end
def dxpl_copy=(cb)
@dxpl_copy = cb
self[:dxpl_copy] = @dxpl_copy
end
def dxpl_copy
@dxpl_copy
end
def dxpl_free=(cb)
@dxpl_free = cb
self[:dxpl_free] = @dxpl_free
end
def dxpl_free
@dxpl_free
end
def open=(cb)
@open = cb
self[:open] = @open
end
def open
@open
end
def close=(cb)
@close = cb
self[:close] = @close
end
def close
@close
end
def cmp=(cb)
@cmp = cb
self[:cmp] = @cmp
end
def cmp
@cmp
end
def query=(cb)
@query = cb
self[:query] = @query
end
def query
@query
end
def get_type_map=(cb)
@get_type_map = cb
self[:get_type_map] = @get_type_map
end
def get_type_map
@get_type_map
end
def alloc=(cb)
@alloc = cb
self[:alloc] = @alloc
end
def alloc
@alloc
end
def free=(cb)
@free = cb
self[:free] = @free
end
def free
@free
end
def get_eoa=(cb)
@get_eoa = cb
self[:get_eoa] = @get_eoa
end
def get_eoa
@get_eoa
end
def set_eoa=(cb)
@set_eoa = cb
self[:set_eoa] = @set_eoa
end
def set_eoa
@set_eoa
end
def get_eof=(cb)
@get_eof = cb
self[:get_eof] = @get_eof
end
def get_eof
@get_eof
end
def get_handle=(cb)
@get_handle = cb
self[:get_handle] = @get_handle
end
def get_handle
@get_handle
end
def read=(cb)
@read = cb
self[:read] = @read
end
def read
@read
end
def write=(cb)
@write = cb
self[:write] = @write
end
def write
@write
end
def flush=(cb)
@flush = cb
self[:flush] = @flush
end
def flush
@flush
end
def truncate=(cb)
@truncate = cb
self[:truncate] = @truncate
end
def truncate
@truncate
end
def lock=(cb)
@lock = cb
self[:lock] = @lock
end
def lock
@lock
end
def unlock=(cb)
@unlock = cb
self[:unlock] = @unlock
end
def unlock
@unlock
end
end
class H5FDFreeT < FFI::Struct
layout(
:addr, uint64_t,
:size, :ulong_long,
:next, :pointer
)
end
class H5FDT < FFI::Struct
layout(
:driver_id, :int,
:cls, :pointer,
:fileno, :ulong,
:feature_flags, :ulong,
:maxaddr, uint64_t,
:base_addr, uint64_t,
:threshold, :ulong_long,
:alignment, :ulong_long
)
end
attach_function :H5FDregister, [ :pointer ], :int
attach_function :H5FDunregister, [ :int ], :int
attach_function :H5FDopen, [ :string, :uint, :int, uint64_t ], :pointer
attach_function :H5FDclose, [ :pointer ], :int
attach_function :H5FDcmp, [ :pointer, :pointer ], :int
attach_function :H5FDquery, [ :pointer, :pointer ], :int
attach_function :H5FDalloc, [ :pointer, :int, :int, :ulong_long ], uint64_t
attach_function :H5FDfree, [ :pointer, :int, :int, uint64_t, :ulong_long ], :int
attach_function :H5FDget_eoa, [ :pointer, :int ], uint64_t
attach_function :H5FDset_eoa, [ :pointer, :int, uint64_t ], :int
attach_function :H5FDget_eof, [ :pointer ], uint64_t
attach_function :H5FDget_vfd_handle, [ :pointer, :int, :pointer ], :int
attach_function :H5FDread, [ :pointer, :int, :int, uint64_t, :uint, :pointer ], :int
attach_function :H5FDwrite, [ :pointer, :int, :int, uint64_t, :uint, :pointer ], :int
attach_function :H5FDflush, [ :pointer, :int, :uint ], :int
attach_function :H5FDtruncate, [ :pointer, :int, :uint ], :int
H5F_OBJ_FILE = (0x0001u)
H5F_OBJ_DATASET = (0x0002u)
H5F_OBJ_GROUP = (0x0004u)
H5F_OBJ_DATATYPE = (0x0008u)
H5F_OBJ_ATTR = (0x0010u)
H5F_OBJ_ALL = ((0x0001u)|(0x0002u)|(0x0004u)|(0x0008u)|(0x0010u))
H5F_OBJ_LOCAL = (0x0020u)
H5F_SCOPE_LOCAL = 0
H5F_SCOPE_GLOBAL = 1
H5F_SCOPE_DOWN = 2
H5F_CLOSE_DEFAULT = 0
H5F_CLOSE_WEAK = 1
H5F_CLOSE_SEMI = 2
H5F_CLOSE_STRONG = 3
class H5FInfoTSohm < FFI::Struct
layout(
:hdr_size, :ulong_long,
:msgs_info, H5IhInfoT
)
end
# FIXME: Nested structures are not correctly supported at the moment.
# Please check the order of the declarations in the structure below.
# class H5FInfoT < FFI::Struct
# layout(
# :super_ext_size, :ulong_long,
# :sohm, H5FInfoTSohm
# )
# end
H5F_LIBVER_EARLIEST = 0
H5F_LIBVER_LATEST = 1
attach_function :H5Fis_hdf5, [ :string ], :int
attach_function :H5Fcreate, [ :string, :uint, :int, :int ], :int
attach_function :H5Fopen, [ :string, :uint, :int ], :int
attach_function :H5Freopen, [ :int ], :int
attach_function :H5Fflush, [ :int, :int ], :int
attach_function :H5Fclose, [ :int ], :int
attach_function :H5Fget_create_plist, [ :int ], :int
attach_function :H5Fget_access_plist, [ :int ], :int
attach_function :H5Fget_intent, [ :int, :pointer ], :int
attach_function :H5Fget_obj_count, [ :int, :uint ], :int
attach_function :H5Fget_obj_ids, [ :int, :uint, :uint, :pointer ], :int
attach_function :H5Fget_vfd_handle, [ :int, :int, :pointer ], :int
attach_function :H5Fmount, [ :int, :string, :int, :int ], :int
attach_function :H5Funmount, [ :int, :string ], :int
attach_function :H5Fget_freespace, [ :int ], :long_long
attach_function :H5Fget_filesize, [ :int, :pointer ], :int
attach_function :H5Fget_mdc_config, [ :int, :pointer ], :int
attach_function :H5Fset_mdc_config, [ :int, :pointer ], :int
attach_function :H5Fget_mdc_hit_rate, [ :int, :pointer ], :int
attach_function :H5Fget_mdc_size, [ :int, :pointer, :pointer, :pointer, :pointer ], :int
attach_function :H5Freset_mdc_hit_rate_stats, [ :int ], :int
attach_function :H5Fget_name, [ :int, :string, :uint ], :int
attach_function :H5Fget_info, [ :int, :pointer ], :int
H5G_STORAGE_TYPE_UNKNOWN = -1
H5G_STORAGE_TYPE_SYMBOL_TABLE = 0
H5G_STORAGE_TYPE_COMPACT = 1
H5G_STORAGE_TYPE_DENSE = 2
class H5GInfoT < FFI::Struct
layout(
:storage_type, :int,
:nlinks, :ulong_long,
:max_corder, int64_t,
:mounted, :uint
)
end
attach_function :H5Gcreate2, [ :int, :string, :int, :int, :int ], :int
attach_function :H5Gcreate_anon, [ :int, :int, :int ], :int
attach_function :H5Gopen2, [ :int, :string, :int ], :int
attach_function :H5Gget_create_plist, [ :int ], :int
attach_function :H5Gget_info, [ :int, :pointer ], :int
attach_function :H5Gget_info_by_name, [ :int, :string, :pointer, :int ], :int
attach_function :H5Gget_info_by_idx, [ :int, :string, :int, :int, :ulong_long, :pointer, :int ], :int
attach_function :H5Gclose, [ :int ], :int
H5G_NTYPES = 256
H5G_NLIBTYPES = 8
H5G_NUSERTYPES = (256-8)
H5G_UNKNOWN = -1
H5G_GROUP = 0
H5G_DATASET = 1
H5G_TYPE = 2
H5G_LINK = 3
H5G_UDLINK = 4
H5G_RESERVED_5 = 5
H5G_RESERVED_6 = 6
H5G_RESERVED_7 = 7
callback(:H5G_iterate_t, [ :int, :string, :pointer ], herr)
class H5GStatT < FFI::Struct
layout(
:fileno, [:ulong, 2],
:objno, [:ulong, 2],
:nlink, :uint,
:type, :int,
:mtime, time_t,
:linklen, :uint,
:ohdr, H5OStatT
)
end
attach_function :H5Gcreate1, [ :int, :string, :uint ], :int
attach_function :H5Gopen1, [ :int, :string ], :int
attach_function :H5Glink, [ :int, :int, :string, :string ], :int
attach_function :H5Glink2, [ :int, :string, :int, :int, :string ], :int
attach_function :H5Gmove, [ :int, :string, :string ], :int
attach_function :H5Gmove2, [ :int, :string, :int, :string ], :int
attach_function :H5Gunlink, [ :int, :string ], :int
attach_function :H5Gget_linkval, [ :int, :string, :uint, :string ], :int
attach_function :H5Gset_comment, [ :int, :string, :string ], :int
attach_function :H5Gget_comment, [ :int, :string, :uint, :string ], :int
attach_function :H5Giterate, [ :int, :string, :pointer, :H5G_iterate_t, :pointer ], :int
attach_function :H5Gget_num_objs, [ :int, :pointer ], :int
attach_function :H5Gget_objinfo, [ :int, :string, :uint, :pointer ], :int
attach_function :H5Gget_objname_by_idx, [ :int, :ulong_long, :string, :uint ], :int
attach_function :H5Gget_objtype_by_idx, [ :int, :ulong_long ], :int
H5I_BADID = (-1)
H5I_UNINIT = (-2)
H5I_FILE = 1
H5I_GENPROP_LST = 10
H5I_ERROR_CLASS = 11
H5I_ERROR_MSG = 12
H5I_ERROR_STACK = 13
H5I_NTYPES = 14
H5I_GROUP = 2
H5I_DATATYPE = 3
H5I_DATASPACE = 4
H5I_DATASET = 5
H5I_ATTR = 6
H5I_REFERENCE = 7
H5I_VFL = 8
H5I_GENPROP_CLS = 9
H5_SIZEOF_HID_T = 4
H5I_INVALID_HID = (-1)
callback(:H5I_free_t, [ :pointer ], herr)
callback(:H5I_search_func_t, [ :pointer, :int, :pointer ], :int)
attach_function :H5Iregister, [ :int, :pointer ], :int
attach_function :H5Iobject_verify, [ :int, :int ], :pointer
attach_function :H5Iremove_verify, [ :int, :int ], :pointer
attach_function :H5Iget_type, [ :int ], :int
attach_function :H5Iget_file_id, [ :int ], :int
attach_function :H5Iget_name, [ :int, :string, :uint ], :int
attach_function :H5Iinc_ref, [ :int ], :int
attach_function :H5Idec_ref, [ :int ], :int
attach_function :H5Iget_ref, [ :int ], :int
attach_function :H5Iregister_type, [ :uint, :uint, :H5I_free_t ], :int
attach_function :H5Iclear_type, [ :int, :uint ], :int
attach_function :H5Idestroy_type, [ :int ], :int
attach_function :H5Iinc_type_ref, [ :int ], :int
attach_function :H5Idec_type_ref, [ :int ], :int
attach_function :H5Iget_type_ref, [ :int ], :int
attach_function :H5Isearch, [ :int, :H5I_search_func_t, :pointer ], :pointer
attach_function :H5Inmembers, [ :int, :pointer ], :int
attach_function :H5Itype_exists, [ :int ], :int
attach_function :H5Iis_valid, [ :int ], :int
H5L_SAME_LOC = 0
H5L_LINK_CLASS_T_VERS = 0
H5L_TYPE_ERROR = (-1)
H5L_TYPE_HARD = 0
H5L_TYPE_SOFT = 1
H5L_TYPE_MAX = 255
H5L_TYPE_EXTERNAL = 64
class H5LInfoTU < FFI::Union
layout(
:address, uint64_t,
:val_size, :uint
)
end
# FIXME: Nested structures are not correctly supported at the moment.
# Please check the order of the declarations in the structure below.
# class H5LInfoT < FFI::Struct
# layout(
# :type, :int,
# :corder_valid, :uint,
# :corder, int64_t,
# :cset, :int,
# :u, H5LInfoTU
# )
# end
callback(:H5L_create_func_t, [ :string, :int, :pointer, :uint, :int ], herr)
callback(:H5L_move_func_t, [ :string, :int, :pointer, :uint ], herr)
callback(:H5L_copy_func_t, [ :string, :int, :pointer, :uint ], herr)
callback(:H5L_traverse_func_t, [ :string, :int, :pointer, :uint, :int ], herr)
callback(:H5L_delete_func_t, [ :string, :int, :pointer, :uint ], herr)
callback(:H5L_query_func_t, [ :string, :pointer, :uint, :pointer, :uint ], ssize)
class H5LClassT < FFI::Struct
layout(
:version, :int,
:id, :int,
:comment, :pointer,
:create_func, :H5L_create_func_t,
:move_func, :H5L_move_func_t,
:copy_func, :H5L_copy_func_t,
:trav_func, :H5L_traverse_func_t,
:del_func, :H5L_delete_func_t,
:query_func, :H5L_query_func_t
)
def comment=(str)
@comment = FFI::MemoryPointer.from_string(str)
self[:comment] = @comment
end
def comment
@comment.get_string(0)
end
def create_func=(cb)
@create_func = cb
self[:create_func] = @create_func
end
def create_func
@create_func
end
def move_func=(cb)
@move_func = cb
self[:move_func] = @move_func
end
def move_func
@move_func
end
def copy_func=(cb)
@copy_func = cb
self[:copy_func] = @copy_func
end
def copy_func
@copy_func
end
def trav_func=(cb)
@trav_func = cb
self[:trav_func] = @trav_func
end
def trav_func
@trav_func
end
def del_func=(cb)
@del_func = cb
self[:del_func] = @del_func
end
def del_func
@del_func
end
def query_func=(cb)
@query_func = cb
self[:query_func] = @query_func
end
def query_func
@query_func
end
end
callback(:H5L_iterate_t, [ :int, :string, :pointer, :pointer ], herr)
callback(:H5L_elink_traverse_t, [ :string, :string, :string, :string, :pointer, :int, :pointer ], herr)
attach_function :H5Lmove, [ :int, :string, :int, :string, :int, :int ], :int
attach_function :H5Lcopy, [ :int, :string, :int, :string, :int, :int ], :int
attach_function :H5Lcreate_hard, [ :int, :string, :int, :string, :int, :int ], :int
attach_function :H5Lcreate_soft, [ :string, :int, :string, :int, :int ], :int
attach_function :H5Ldelete, [ :int, :string, :int ], :int
attach_function :H5Ldelete_by_idx, [ :int, :string, :int, :int, :ulong_long, :int ], :int
attach_function :H5Lget_val, [ :int, :string, :pointer, :uint, :int ], :int
attach_function :H5Lget_val_by_idx, [ :int, :string, :int, :int, :ulong_long, :pointer, :uint, :int ], :int
attach_function :H5Lexists, [ :int, :string, :int ], :int
attach_function :H5Lget_info, [ :int, :string, :pointer, :int ], :int
attach_function :H5Lget_info_by_idx, [ :int, :string, :int, :int, :ulong_long, :pointer, :int ], :int
attach_function :H5Lget_name_by_idx, [ :int, :string, :int, :int, :ulong_long, :string, :uint, :int ], :int
attach_function :H5Literate, [ :int, :int, :int, :pointer, :H5L_iterate_t, :pointer ], :int
attach_function :H5Literate_by_name, [ :int, :string, :int, :int, :pointer, :H5L_iterate_t, :pointer, :int ], :int
attach_function :H5Lvisit, [ :int, :int, :int, :H5L_iterate_t, :pointer ], :int
attach_function :H5Lvisit_by_name, [ :int, :string, :int, :int, :H5L_iterate_t, :pointer, :int ], :int
attach_function :H5Lcreate_ud, [ :int, :string, :int, :pointer, :uint, :int, :int ], :int
attach_function :H5Lregister, [ :pointer ], :int
attach_function :H5Lunregister, [ :int ], :int
attach_function :H5Lis_registered, [ :int ], :int
attach_function :H5Lunpack_elink_val, [ :pointer, :uint, :pointer, :pointer, :pointer ], :int
attach_function :H5Lcreate_external, [ :string, :string, :int, :string, :int, :int ], :int
callback(:H5MM_allocate_t, [ :uint, :pointer ], :pointer)
callback(:H5MM_free_t, [ :pointer, :pointer ], :void)
H5O_COPY_SHALLOW_HIERARCHY_FLAG = (0x0001u)
H5O_COPY_EXPAND_SOFT_LINK_FLAG = (0x0002u)
H5O_COPY_EXPAND_EXT_LINK_FLAG = (0x0004u)
H5O_COPY_EXPAND_REFERENCE_FLAG = (0x0008u)
H5O_COPY_WITHOUT_ATTR_FLAG = (0x0010u)
H5O_COPY_PRESERVE_NULL_FLAG = (0x0020u)
H5O_COPY_ALL = (0x003Fu)
H5O_SHMESG_NONE_FLAG = 0x0000
H5O_HDR_CHUNK0_SIZE = 0x03
H5O_HDR_ATTR_CRT_ORDER_TRACKED = 0x04
H5O_HDR_ATTR_CRT_ORDER_INDEXED = 0x08
H5O_HDR_ATTR_STORE_PHASE_CHANGE = 0x10
H5O_HDR_STORE_TIMES = 0x20
H5O_HDR_ALL_FLAGS = (0x03|0x04|0x08|0x10|0x20)
H5O_SHMESG_MAX_NINDEXES = 8
H5O_SHMESG_MAX_LIST_SIZE = 5000
H5O_TYPE_UNKNOWN = -1
H5O_TYPE_GROUP = 0
H5O_TYPE_DATASET = 1
H5O_TYPE_NAMED_DATATYPE = 2
H5O_TYPE_NTYPES = 3
class H5OInfoTHdrSpace < FFI::Struct
layout(
:total, :ulong_long,
:meta, :ulong_long,
:mesg, :ulong_long,
:free, :ulong_long
)
end
class H5OInfoTHdrMesg < FFI::Struct
layout(
:present, uint64_t,
:shared, uint64_t
)
end
# FIXME: Nested structures are not correctly supported at the moment.
# Please check the order of the declarations in the structure below.
# class H5OInfoTHdr < FFI::Struct
# layout(
# :version, :uint,
# :nmesgs, :uint,
# :nchunks, :uint,
# :flags, :uint,
# :mesg, H5OInfoTHdrMesg,
# :space, H5OInfoTHdrSpace
# )
# end
class H5OInfoTMetaSize < FFI::Struct
layout(
:obj, H5IhInfoT,
:attr, H5IhInfoT
)
end
# FIXME: Nested structures are not correctly supported at the moment.
# Please check the order of the declarations in the structure below.
# class H5OInfoT < FFI::Struct
# layout(
# :fileno, :ulong,
# :addr, uint64_t,
# :type, :int,
# :rc, :uint,
# :atime, time_t,
# :mtime, time_t,
# :ctime, time_t,
# :btime, time_t,
# :num_attrs, :ulong_long,
# :meta_size, H5OInfoTMetaSize,
# :hdr, H5OInfoTHdr
# )
# end
callback(:H5O_iterate_t, [ :int, :string, :pointer, :pointer ], herr)
attach_function :H5Oopen, [ :int, :string, :int ], :int
attach_function :H5Oopen_by_addr, [ :int, uint64_t ], :int
attach_function :H5Oopen_by_idx, [ :int, :string, :int, :int, :ulong_long, :int ], :int
attach_function :H5Oget_info, [ :int, :pointer ], :int
attach_function :H5Oget_info_by_name, [ :int, :string, :pointer, :int ], :int
attach_function :H5Oget_info_by_idx, [ :int, :string, :int, :int, :ulong_long, :pointer, :int ], :int
attach_function :H5Olink, [ :int, :int, :string, :int, :int ], :int
attach_function :H5Oincr_refcount, [ :int ], :int
attach_function :H5Odecr_refcount, [ :int ], :int
attach_function :H5Ocopy, [ :int, :string, :int, :string, :int, :int ], :int
attach_function :H5Oset_comment, [ :int, :string ], :int
attach_function :H5Oset_comment_by_name, [ :int, :string, :string, :int ], :int
attach_function :H5Oget_comment, [ :int, :string, :uint ], :int
attach_function :H5Oget_comment_by_name, [ :int, :string, :string, :uint, :int ], :int
attach_function :H5Ovisit, [ :int, :int, :int, :H5O_iterate_t, :pointer ], :int
attach_function :H5Ovisit_by_name, [ :int, :string, :int, :int, :H5O_iterate_t, :pointer, :int ], :int
attach_function :H5Oclose, [ :int ], :int
class H5OStatT < FFI::Struct
layout(
:size, :ulong_long,
:free, :ulong_long,
:nmesgs, :uint,
:nchunks, :uint
)
end
H5P_CRT_ORDER_TRACKED = 0x0001
H5P_CRT_ORDER_INDEXED = 0x0002
callback(:H5P_cls_create_func_t, [ :int, :pointer ], herr)
callback(:H5P_cls_copy_func_t, [ :int, :int, :pointer ], herr)
callback(:H5P_cls_close_func_t, [ :int, :pointer ], herr)
callback(:H5P_prp_cb1_t, [ :string, :uint, :pointer ], herr)
callback(:H5P_prp_cb2_t, [ :int, :string, :uint, :pointer ], herr)
callback(:H5P_prp_compare_func_t, [ :pointer, :pointer, :uint ], :int)
callback(:H5P_iterate_t, [ :int, :string, :pointer ], herr)
attach_function :H5Pcreate_class, [ :int, :string, :H5P_cls_create_func_t, :pointer, :H5P_cls_copy_func_t, :pointer, :H5P_cls_close_func_t, :pointer ], :int
attach_function :H5Pget_class_name, [ :int ], :string
attach_function :H5Pcreate, [ :int ], :int
attach_function :H5Pregister2, [ :int, :string, :uint, :pointer, :H5P_prp_cb1_t, :H5P_prp_cb2_t, :H5P_prp_cb2_t, :H5P_prp_cb2_t, :H5P_prp_cb1_t, :H5P_prp_compare_func_t, :H5P_prp_cb1_t ], :int
attach_function :H5Pinsert2, [ :int, :string, :uint, :pointer, :H5P_prp_cb2_t, :H5P_prp_cb2_t, :H5P_prp_cb2_t, :H5P_prp_cb1_t, :H5P_prp_compare_func_t, :H5P_prp_cb1_t ], :int
attach_function :H5Pset, [ :int, :string, :pointer ], :int
attach_function :H5Pexist, [ :int, :string ], :int
attach_function :H5Pget_size, [ :int, :string, :pointer ], :int
attach_function :H5Pget_nprops, [ :int, :pointer ], :int
attach_function :H5Pget_class, [ :int ], :int
attach_function :H5Pget_class_parent, [ :int ], :int
attach_function :H5Pget, [ :int, :string, :pointer ], :int
attach_function :H5Pequal, [ :int, :int ], :int
attach_function :H5Pisa_class, [ :int, :int ], :int
attach_function :H5Piterate, [ :int, :pointer, :H5P_iterate_t, :pointer ], :int
attach_function :H5Pcopy_prop, [ :int, :int, :string ], :int
attach_function :H5Premove, [ :int, :string ], :int
attach_function :H5Punregister, [ :int, :string ], :int
attach_function :H5Pclose_class, [ :int ], :int
attach_function :H5Pclose, [ :int ], :int
attach_function :H5Pcopy, [ :int ], :int
attach_function :H5Pset_attr_phase_change, [ :int, :uint, :uint ], :int
attach_function :H5Pget_attr_phase_change, [ :int, :pointer, :pointer ], :int
attach_function :H5Pset_attr_creation_order, [ :int, :uint ], :int
attach_function :H5Pget_attr_creation_order, [ :int, :pointer ], :int
attach_function :H5Pset_obj_track_times, [ :int, :uint ], :int
attach_function :H5Pget_obj_track_times, [ :int, :pointer ], :int
attach_function :H5Pget_version, [ :int, :pointer, :pointer, :pointer, :pointer ], :int
attach_function :H5Pset_userblock, [ :int, :ulong_long ], :int
attach_function :H5Pget_userblock, [ :int, :pointer ], :int
attach_function :H5Pset_sizes, [ :int, :uint, :uint ], :int
attach_function :H5Pget_sizes, [ :int, :pointer, :pointer ], :int
attach_function :H5Pset_sym_k, [ :int, :uint, :uint ], :int
attach_function :H5Pget_sym_k, [ :int, :pointer, :pointer ], :int
attach_function :H5Pset_istore_k, [ :int, :uint ], :int
attach_function :H5Pget_istore_k, [ :int, :pointer ], :int
attach_function :H5Pset_shared_mesg_nindexes, [ :int, :uint ], :int
attach_function :H5Pget_shared_mesg_nindexes, [ :int, :pointer ], :int
attach_function :H5Pset_shared_mesg_index, [ :int, :uint, :uint, :uint ], :int
attach_function :H5Pget_shared_mesg_index, [ :int, :uint, :pointer, :pointer ], :int
attach_function :H5Pset_shared_mesg_phase_change, [ :int, :uint, :uint ], :int
attach_function :H5Pget_shared_mesg_phase_change, [ :int, :pointer, :pointer ], :int
attach_function :H5Pset_alignment, [ :int, :ulong_long, :ulong_long ], :int
attach_function :H5Pget_alignment, [ :int, :pointer, :pointer ], :int
attach_function :H5Pset_driver, [ :int, :int, :pointer ], :int
attach_function :H5Pget_driver, [ :int ], :int
attach_function :H5Pget_driver_info, [ :int ], :pointer
attach_function :H5Pset_family_offset, [ :int, :ulong_long ], :int
attach_function :H5Pget_family_offset, [ :int, :pointer ], :int
attach_function :H5Pset_multi_type, [ :int, :int ], :int
attach_function :H5Pget_multi_type, [ :int, :pointer ], :int
attach_function :H5Pset_cache, [ :int, :int, :uint, :uint, :double ], :int
attach_function :H5Pget_cache, [ :int, :pointer, :pointer, :pointer, :pointer ], :int
attach_function :H5Pset_mdc_config, [ :int, :pointer ], :int
attach_function :H5Pget_mdc_config, [ :int, :pointer ], :int
attach_function :H5Pset_gc_references, [ :int, :uint ], :int
attach_function :H5Pget_gc_references, [ :int, :pointer ], :int
attach_function :H5Pset_fclose_degree, [ :int, :int ], :int
attach_function :H5Pget_fclose_degree, [ :int, :pointer ], :int
attach_function :H5Pset_meta_block_size, [ :int, :ulong_long ], :int
attach_function :H5Pget_meta_block_size, [ :int, :pointer ], :int
attach_function :H5Pset_sieve_buf_size, [ :int, :uint ], :int
attach_function :H5Pget_sieve_buf_size, [ :int, :pointer ], :int
attach_function :H5Pset_small_data_block_size, [ :int, :ulong_long ], :int
attach_function :H5Pget_small_data_block_size, [ :int, :pointer ], :int
attach_function :H5Pset_libver_bounds, [ :int, :int, :int ], :int
attach_function :H5Pget_libver_bounds, [ :int, :pointer, :pointer ], :int
attach_function :H5Pset_layout, [ :int, :int ], :int
attach_function :H5Pget_layout, [ :int ], :int
attach_function :H5Pset_chunk, [ :int, :int, a().q(const).hsize_t ], :int
attach_function :H5Pget_chunk, [ :int, :int, a().hsize_t ], :int
attach_function :H5Pset_external, [ :int, :string, off_t, :ulong_long ], :int
attach_function :H5Pget_external_count, [ :int ], :int
attach_function :H5Pget_external, [ :int, :uint, :uint, :string, :pointer, :pointer ], :int
attach_function :H5Pmodify_filter, [ :int, :int, :uint, :uint, a().q(const).unsigned int ], :int
attach_function :H5Pset_filter, [ :int, :int, :uint, :uint, a().q(const).unsigned int ], :int
attach_function :H5Pget_nfilters, [ :int ], :int
attach_function :H5Pget_filter2, [ :int, :uint, :pointer, :pointer, a().unsigned int, :uint, a().char, :pointer ], :int
attach_function :H5Pget_filter_by_id2, [ :int, :int, :pointer, :pointer, a().unsigned int, :uint, a().char, :pointer ], :int
attach_function :H5Pall_filters_avail, [ :int ], :int
attach_function :H5Premove_filter, [ :int, :int ], :int
attach_function :H5Pset_deflate, [ :int, :uint ], :int
attach_function :H5Pset_szip, [ :int, :uint, :uint ], :int
attach_function :H5Pset_shuffle, [ :int ], :int
attach_function :H5Pset_nbit, [ :int ], :int
attach_function :H5Pset_scaleoffset, [ :int, :int, :int ], :int
attach_function :H5Pset_fletcher32, [ :int ], :int
attach_function :H5Pset_fill_value, [ :int, :int, :pointer ], :int
attach_function :H5Pget_fill_value, [ :int, :int, :pointer ], :int
attach_function :H5Pfill_value_defined, [ :int, :pointer ], :int
attach_function :H5Pset_alloc_time, [ :int, :int ], :int
attach_function :H5Pget_alloc_time, [ :int, :pointer ], :int
attach_function :H5Pset_fill_time, [ :int, :int ], :int
attach_function :H5Pget_fill_time, [ :int, :pointer ], :int
attach_function :H5Pset_chunk_cache, [ :int, :uint, :uint, :double ], :int
attach_function :H5Pget_chunk_cache, [ :int, :pointer, :pointer, :pointer ], :int
attach_function :H5Pset_data_transform, [ :int, :string ], :int
attach_function :H5Pget_data_transform, [ :int, :string, :uint ], :int
attach_function :H5Pset_buffer, [ :int, :uint, :pointer, :pointer ], :int
attach_function :H5Pget_buffer, [ :int, :pointer, :pointer ], :uint
attach_function :H5Pset_preserve, [ :int, :uint ], :int
attach_function :H5Pget_preserve, [ :int ], :int
attach_function :H5Pset_edc_check, [ :int, :int ], :int
attach_function :H5Pget_edc_check, [ :int ], :int
attach_function :H5Pset_filter_callback, [ :int, :H5Z_filter_func_t, :pointer ], :int
attach_function :H5Pset_btree_ratios, [ :int, :double, :double, :double ], :int
attach_function :H5Pget_btree_ratios, [ :int, :pointer, :pointer, :pointer ], :int
attach_function :H5Pset_vlen_mem_manager, [ :int, :H5MM_allocate_t, :pointer, :H5MM_free_t, :pointer ], :int
attach_function :H5Pget_vlen_mem_manager, [ :int, :pointer, :pointer, :pointer, :pointer ], :int
attach_function :H5Pset_hyper_vector_size, [ :int, :uint ], :int
attach_function :H5Pget_hyper_vector_size, [ :int, :pointer ], :int
attach_function :H5Pset_type_conv_cb, [ :int, :H5T_conv_except_func_t, :pointer ], :int
attach_function :H5Pget_type_conv_cb, [ :int, :pointer, :pointer ], :int
attach_function :H5Pset_create_intermediate_group, [ :int, :uint ], :int
attach_function :H5Pget_create_intermediate_group, [ :int, :pointer ], :int
attach_function :H5Pset_local_heap_size_hint, [ :int, :uint ], :int
attach_function :H5Pget_local_heap_size_hint, [ :int, :pointer ], :int
attach_function :H5Pset_link_phase_change, [ :int, :uint, :uint ], :int
attach_function :H5Pget_link_phase_change, [ :int, :pointer, :pointer ], :int
attach_function :H5Pset_est_link_info, [ :int, :uint, :uint ], :int
attach_function :H5Pget_est_link_info, [ :int, :pointer, :pointer ], :int
attach_function :H5Pset_link_creation_order, [ :int, :uint ], :int
attach_function :H5Pget_link_creation_order, [ :int, :pointer ], :int
attach_function :H5Pset_char_encoding, [ :int, :int ], :int
attach_function :H5Pget_char_encoding, [ :int, :pointer ], :int
attach_function :H5Pset_nlinks, [ :int, :uint ], :int
attach_function :H5Pget_nlinks, [ :int, :pointer ], :int
attach_function :H5Pset_elink_prefix, [ :int, :string ], :int
attach_function :H5Pget_elink_prefix, [ :int, :string, :uint ], :int
attach_function :H5Pget_elink_fapl, [ :int ], :int
attach_function :H5Pset_elink_fapl, [ :int, :int ], :int
attach_function :H5Pset_elink_acc_flags, [ :int, :uint ], :int
attach_function :H5Pget_elink_acc_flags, [ :int, :pointer ], :int
attach_function :H5Pset_elink_cb, [ :int, :H5L_elink_traverse_t, :pointer ], :int
attach_function :H5Pget_elink_cb, [ :int, :pointer, :pointer ], :int
attach_function :H5Pset_copy_object, [ :int, :uint ], :int
attach_function :H5Pget_copy_object, [ :int, :pointer ], :int
attach_function :H5Pregister1, [ :int, :string, :uint, :pointer, :H5P_prp_cb1_t, :H5P_prp_cb2_t, :H5P_prp_cb2_t, :H5P_prp_cb2_t, :H5P_prp_cb1_t, :H5P_prp_cb1_t ], :int
attach_function :H5Pinsert1, [ :int, :string, :uint, :pointer, :H5P_prp_cb2_t, :H5P_prp_cb2_t, :H5P_prp_cb2_t, :H5P_prp_cb1_t, :H5P_prp_cb1_t ], :int
attach_function :H5Pget_filter1, [ :int, :uint, :pointer, :pointer, a().unsigned int, :uint, a().char ], :int
attach_function :H5Pget_filter_by_id1, [ :int, :int, :pointer, :pointer, a().unsigned int, :uint, a().char ], :int
H5R_BADTYPE = (-1)
H5R_OBJECT = 1
H5R_DATASET_REGION = 2
H5R_MAXTYPE = 3
attach_function :H5Rcreate, [ :pointer, :int, :string, :int, :int ], :int
attach_function :H5Rdereference, [ :int, :int, :pointer ], :int
attach_function :H5Rget_region, [ :int, :int, :pointer ], :int
attach_function :H5Rget_obj_type2, [ :int, :int, :pointer, :pointer ], :int
attach_function :H5Rget_name, [ :int, :int, :pointer, :string, :uint ], :int
attach_function :H5Rget_obj_type1, [ :int, :int, :pointer ], :int
H5S_ALL = 0
H5S_MAX_RANK = 32
H5S_NO_CLASS = -1
H5S_SCALAR = 0
H5S_SIMPLE = 1
H5S_NULL = 2
H5S_SELECT_NOOP = -1
H5S_SELECT_SET = 0
H5S_SELECT_OR = 1
H5S_SELECT_AND = 2
H5S_SELECT_XOR = 3
H5S_SELECT_NOTB = 4
H5S_SELECT_NOTA = 5
H5S_SELECT_APPEND = 6
H5S_SELECT_PREPEND = 7
H5S_SELECT_INVALID = 8
H5S_SEL_ERROR = -1
H5S_SEL_NONE = 0
H5S_SEL_POINTS = 1
H5S_SEL_HYPERSLABS = 2
H5S_SEL_ALL = 3
H5S_SEL_N = 4
attach_function :H5Screate, [ :int ], :int
attach_function :H5Screate_simple, [ :int, a().q(const).hsize_t, a().q(const).hsize_t ], :int
attach_function :H5Sset_extent_simple, [ :int, :int, a().q(const).hsize_t, a().q(const).hsize_t ], :int
attach_function :H5Scopy, [ :int ], :int
attach_function :H5Sclose, [ :int ], :int
attach_function :H5Sencode, [ :int, :pointer, :pointer ], :int
attach_function :H5Sdecode, [ :pointer ], :int
attach_function :H5Sget_simple_extent_npoints, [ :int ], :long_long
attach_function :H5Sget_simple_extent_ndims, [ :int ], :int
attach_function :H5Sget_simple_extent_dims, [ :int, a().hsize_t, a().hsize_t ], :int
attach_function :H5Sis_simple, [ :int ], :int
attach_function :H5Sget_select_npoints, [ :int ], :long_long
attach_function :H5Sselect_hyperslab, [ :int, :int, a().q(const).hsize_t, a().q(const).hsize_t, a().q(const).hsize_t, a().q(const).hsize_t ], :int
attach_function :H5Sselect_elements, [ :int, :int, :uint, :pointer ], :int
attach_function :H5Sget_simple_extent_type, [ :int ], :int
attach_function :H5Sset_extent_none, [ :int ], :int
attach_function :H5Sextent_copy, [ :int, :int ], :int
attach_function :H5Sextent_equal, [ :int, :int ], :int
attach_function :H5Sselect_all, [ :int ], :int
attach_function :H5Sselect_none, [ :int ], :int
attach_function :H5Soffset_simple, [ :int, :pointer ], :int
attach_function :H5Sselect_valid, [ :int ], :int
attach_function :H5Sget_select_hyper_nblocks, [ :int ], :long_long
attach_function :H5Sget_select_elem_npoints, [ :int ], :long_long
attach_function :H5Sget_select_hyper_blocklist, [ :int, :ulong_long, :ulong_long, a().hsize_t ], :int
attach_function :H5Sget_select_elem_pointlist, [ :int, :ulong_long, :ulong_long, a().hsize_t ], :int
attach_function :H5Sget_select_bounds, [ :int, a().hsize_t, a().hsize_t ], :int
attach_function :H5Sget_select_type, [ :int ], :int
H5T_NO_CLASS = -1
H5T_INTEGER = 0
H5T_FLOAT = 1
H5T_ARRAY = 10
H5T_NCLASSES = 11
H5T_TIME = 2
H5T_STRING = 3
H5T_BITFIELD = 4
H5T_OPAQUE = 5
H5T_COMPOUND = 6
H5T_REFERENCE = 7
H5T_ENUM = 8
H5T_VLEN = 9
H5T_ORDER_ERROR = -1
H5T_ORDER_LE = 0
H5T_ORDER_BE = 1
H5T_ORDER_VAX = 2
H5T_ORDER_NONE = 3
H5T_SGN_ERROR = -1
H5T_SGN_NONE = 0
H5T_SGN_2 = 1
H5T_NSGN = 2
H5T_NORM_ERROR = -1
H5T_NORM_IMPLIED = 0
H5T_NORM_MSBSET = 1
H5T_NORM_NONE = 2
H5T_CSET_ERROR = -1
H5T_CSET_ASCII = 0
H5T_CSET_UTF8 = 1
H5T_CSET_RESERVED_10 = 10
H5T_CSET_RESERVED_11 = 11
H5T_CSET_RESERVED_12 = 12
H5T_CSET_RESERVED_13 = 13
H5T_CSET_RESERVED_14 = 14
H5T_CSET_RESERVED_15 = 15
H5T_CSET_RESERVED_2 = 2
H5T_CSET_RESERVED_3 = 3
H5T_CSET_RESERVED_4 = 4
H5T_CSET_RESERVED_5 = 5
H5T_CSET_RESERVED_6 = 6
H5T_CSET_RESERVED_7 = 7
H5T_CSET_RESERVED_8 = 8
H5T_CSET_RESERVED_9 = 9
H5T_STR_ERROR = -1
H5T_STR_NULLTERM = 0
H5T_STR_NULLPAD = 1
H5T_STR_RESERVED_10 = 10
H5T_STR_RESERVED_11 = 11
H5T_STR_RESERVED_12 = 12
H5T_STR_RESERVED_13 = 13
H5T_STR_RESERVED_14 = 14
H5T_STR_RESERVED_15 = 15
H5T_STR_SPACEPAD = 2
H5T_STR_RESERVED_3 = 3
H5T_STR_RESERVED_4 = 4
H5T_STR_RESERVED_5 = 5
H5T_STR_RESERVED_6 = 6
H5T_STR_RESERVED_7 = 7
H5T_STR_RESERVED_8 = 8
H5T_STR_RESERVED_9 = 9
H5T_PAD_ERROR = -1
H5T_PAD_ZERO = 0
H5T_PAD_ONE = 1
H5T_PAD_BACKGROUND = 2
H5T_NPAD = 3
H5T_CONV_INIT = 0
H5T_CONV_CONV = 1
H5T_CONV_FREE = 2
H5T_BKG_NO = 0
H5T_BKG_TEMP = 1
H5T_BKG_YES = 2
class H5TCdataT < FFI::Struct
layout(
:command, :int,
:need_bkg, :int,
:recalc, :uint,
:priv, :pointer
)
end
H5T_PERS_DONTCARE = -1
H5T_PERS_HARD = 0
H5T_PERS_SOFT = 1
H5T_DIR_DEFAULT = 0
H5T_DIR_ASCEND = 1
H5T_DIR_DESCEND = 2
H5T_CONV_EXCEPT_RANGE_HI = 0
H5T_CONV_EXCEPT_RANGE_LOW = 1
H5T_CONV_EXCEPT_PRECISION = 2
H5T_CONV_EXCEPT_TRUNCATE = 3
H5T_CONV_EXCEPT_PINF = 4
H5T_CONV_EXCEPT_NINF = 5
H5T_CONV_EXCEPT_NAN = 6
H5T_CONV_ABORT = -1
H5T_CONV_UNHANDLED = 0
H5T_CONV_HANDLED = 1
class HvlT < FFI::Struct
layout(
:len, :uint,
:p, :pointer
)
end
H5T_OPAQUE_TAG_MAX = 256
callback(:H5T_conv_t, [ :int, :int, :pointer, :uint, :uint, :uint, :pointer, :pointer, :int ], herr)
callback(:H5T_conv_except_func_t, [ :int, :int, :int, :pointer, :pointer, :pointer ], H5T)
attach_function :H5Tcreate, [ :int, :uint ], :int
attach_function :H5Tcopy, [ :int ], :int
attach_function :H5Tclose, [ :int ], :int
attach_function :H5Tequal, [ :int, :int ], :int
attach_function :H5Tlock, [ :int ], :int
attach_function :H5Tcommit2, [ :int, :string, :int, :int, :int, :int ], :int
attach_function :H5Topen2, [ :int, :string, :int ], :int
attach_function :H5Tcommit_anon, [ :int, :int, :int, :int ], :int
attach_function :H5Tget_create_plist, [ :int ], :int
attach_function :H5Tcommitted, [ :int ], :int
attach_function :H5Tencode, [ :int, :pointer, :pointer ], :int
attach_function :H5Tdecode, [ :pointer ], :int
attach_function :H5Tinsert, [ :int, :string, :uint, :int ], :int
attach_function :H5Tpack, [ :int ], :int
attach_function :H5Tenum_create, [ :int ], :int
attach_function :H5Tenum_insert, [ :int, :string, :pointer ], :int
attach_function :H5Tenum_nameof, [ :int, :pointer, :string, :uint ], :int
attach_function :H5Tenum_valueof, [ :int, :string, :pointer ], :int
attach_function :H5Tvlen_create, [ :int ], :int
attach_function :H5Tarray_create2, [ :int, :uint, a().q(const).hsize_t ], :int
attach_function :H5Tget_array_ndims, [ :int ], :int
attach_function :H5Tget_array_dims2, [ :int, a().hsize_t ], :int
attach_function :H5Tset_tag, [ :int, :string ], :int
attach_function :H5Tget_tag, [ :int ], :string
attach_function :H5Tget_super, [ :int ], :int
attach_function :H5Tget_class, [ :int ], :int
attach_function :H5Tdetect_class, [ :int, :int ], :int
attach_function :H5Tget_size, [ :int ], :uint
attach_function :H5Tget_order, [ :int ], :int
attach_function :H5Tget_precision, [ :int ], :uint
attach_function :H5Tget_offset, [ :int ], :int
attach_function :H5Tget_pad, [ :int, :pointer, :pointer ], :int
attach_function :H5Tget_sign, [ :int ], :int
attach_function :H5Tget_fields, [ :int, :pointer, :pointer, :pointer, :pointer, :pointer ], :int
attach_function :H5Tget_ebias, [ :int ], :uint
attach_function :H5Tget_norm, [ :int ], :int
attach_function :H5Tget_inpad, [ :int ], :int
attach_function :H5Tget_strpad, [ :int ], :int
attach_function :H5Tget_nmembers, [ :int ], :int
attach_function :H5Tget_member_name, [ :int, :uint ], :string
attach_function :H5Tget_member_index, [ :int, :string ], :int
attach_function :H5Tget_member_offset, [ :int, :uint ], :uint
attach_function :H5Tget_member_class, [ :int, :uint ], :int
attach_function :H5Tget_member_type, [ :int, :uint ], :int
attach_function :H5Tget_member_value, [ :int, :uint, :pointer ], :int
attach_function :H5Tget_cset, [ :int ], :int
attach_function :H5Tis_variable_str, [ :int ], :int
attach_function :H5Tget_native_type, [ :int, :int ], :int
attach_function :H5Tset_size, [ :int, :uint ], :int
attach_function :H5Tset_order, [ :int, :int ], :int
attach_function :H5Tset_precision, [ :int, :uint ], :int
attach_function :H5Tset_offset, [ :int, :uint ], :int
attach_function :H5Tset_pad, [ :int, :int, :int ], :int
attach_function :H5Tset_sign, [ :int, :int ], :int
attach_function :H5Tset_fields, [ :int, :uint, :uint, :uint, :uint, :uint ], :int
attach_function :H5Tset_ebias, [ :int, :uint ], :int
attach_function :H5Tset_norm, [ :int, :int ], :int
attach_function :H5Tset_inpad, [ :int, :int ], :int
attach_function :H5Tset_cset, [ :int, :int ], :int
attach_function :H5Tset_strpad, [ :int, :int ], :int
attach_function :H5Tregister, [ :int, :string, :int, :int, :H5T_conv_t ], :int
attach_function :H5Tunregister, [ :int, :string, :int, :int, :H5T_conv_t ], :int
attach_function :H5Tfind, [ :int, :int, :pointer ], :H5T_conv_t
attach_function :H5Tcompiler_conv, [ :int, :int ], :int
attach_function :H5Tconvert, [ :int, :int, :uint, :pointer, :pointer, :int ], :int
attach_function :H5Tcommit1, [ :int, :string, :int ], :int
attach_function :H5Topen1, [ :int, :string ], :int
attach_function :H5Tarray_create1, [ :int, :int, a().q(const).hsize_t, a().q(const).int ], :int
attach_function :H5Tget_array_dims1, [ :int, a().hsize_t, a().int ], :int
H5Z_FILTER_ERROR = (-1)
H5Z_FILTER_NONE = 0
H5Z_FILTER_DEFLATE = 1
H5Z_FILTER_SHUFFLE = 2
H5Z_FILTER_FLETCHER32 = 3
H5Z_FILTER_SZIP = 4
H5Z_FILTER_NBIT = 5
H5Z_FILTER_SCALEOFFSET = 6
H5Z_FILTER_RESERVED = 256
H5Z_FILTER_MAX = 65535
H5Z_FILTER_ALL = 0
H5Z_MAX_NFILTERS = 32
H5Z_FLAG_DEFMASK = 0x00ff
H5Z_FLAG_MANDATORY = 0x0000
H5Z_FLAG_OPTIONAL = 0x0001
H5Z_FLAG_INVMASK = 0xff00
H5Z_FLAG_REVERSE = 0x0100
H5Z_FLAG_SKIP_EDC = 0x0200
H5_SZIP_ALLOW_K13_OPTION_MASK = 1
H5_SZIP_CHIP_OPTION_MASK = 2
H5_SZIP_EC_OPTION_MASK = 4
H5_SZIP_NN_OPTION_MASK = 32
H5_SZIP_MAX_PIXELS_PER_BLOCK = 32
H5Z_SHUFFLE_USER_NPARMS = 0
H5Z_SHUFFLE_TOTAL_NPARMS = 1
H5Z_SZIP_USER_NPARMS = 2
H5Z_SZIP_TOTAL_NPARMS = 4
H5Z_SZIP_PARM_MASK = 0
H5Z_SZIP_PARM_PPB = 1
H5Z_SZIP_PARM_BPP = 2
H5Z_SZIP_PARM_PPS = 3
H5Z_NBIT_USER_NPARMS = 0
H5Z_SCALEOFFSET_USER_NPARMS = 2
H5Z_SO_INT_MINBITS_DEFAULT = 0
H5Z_SO_FLOAT_DSCALE = 0
H5Z_SO_FLOAT_ESCALE = 1
H5Z_SO_INT = 2
H5Z_CLASS_T_VERS = (1)
H5Z_ERROR_EDC = -1
H5Z_DISABLE_EDC = 0
H5Z_ENABLE_EDC = 1
H5Z_NO_EDC = 2
H5Z_FILTER_CONFIG_ENCODE_ENABLED = (0x0001)
H5Z_FILTER_CONFIG_DECODE_ENABLED = (0x0002)
H5Z_CB_ERROR = -1
H5Z_CB_FAIL = 0
H5Z_CB_CONT = 1
H5Z_CB_NO = 2
callback(:H5Z_filter_func_t, [ :int, :pointer, :uint, :pointer ], H5Z)
class H5ZCbT < FFI::Struct
layout(
:func, :H5Z_filter_func_t,
:op_data, :pointer
)
def func=(cb)
@func = cb
self[:func] = @func
end
def func
@func
end
end
callback(:H5Z_can_apply_func_t, [ :int, :int, :int ], herr)
callback(:H5Z_set_local_func_t, [ :int, :int, :int ], herr)
callback(:H5Z_func_t, [ :uint, :uint, a().q(const).unsigned int, :uint, :pointer, :pointer ], size)
class H5ZClass2T < FFI::Struct
layout(
:version, :int,
:id, :int,
:encoder_present, :uint,
:decoder_present, :uint,
:name, :pointer,
:can_apply, :H5Z_can_apply_func_t,
:set_local, :H5Z_set_local_func_t,
:filter, :H5Z_func_t
)
def name=(str)
@name = FFI::MemoryPointer.from_string(str)
self[:name] = @name
end
def name
@name.get_string(0)
end
def can_apply=(cb)
@can_apply = cb
self[:can_apply] = @can_apply
end
def can_apply
@can_apply
end
def set_local=(cb)
@set_local = cb
self[:set_local] = @set_local
end
def set_local
@set_local
end
def filter=(cb)
@filter = cb
self[:filter] = @filter
end
def filter
@filter
end
end
attach_function :H5Zregister, [ :pointer ], :int
attach_function :H5Zunregister, [ :int ], :int
attach_function :H5Zfilter_avail, [ :int ], :int
attach_function :H5Zget_filter_info, [ :int, :pointer ], :int
class H5ZClass1T < FFI::Struct
layout(
:id, :int,
:name, :pointer,
:can_apply, :H5Z_can_apply_func_t,
:set_local, :H5Z_set_local_func_t,
:filter, :H5Z_func_t
)
def name=(str)
@name = FFI::MemoryPointer.from_string(str)
self[:name] = @name
end
def name
@name.get_string(0)
end
def can_apply=(cb)
@can_apply = cb
self[:can_apply] = @can_apply
end
def can_apply
@can_apply
end
def set_local=(cb)
@set_local = cb
self[:set_local] = @set_local
end
def set_local
@set_local
end
def filter=(cb)
@filter = cb
self[:filter] = @filter
end
def filter
@filter
end
end
end
%module H5
%{
module H5
extend FFI::Library
%}
typedef int ssize_t;
%include H5pubconf.h
%include H5version.h
%include H5api_adpt.h
%include H5public.h
%include H5ACpublic.h
%include H5Apublic.h
%include H5B2public.h
%include H5Bpublic.h
%include H5Cpublic.h
%include H5Dpublic.h
%include H5Epublic.h
%include H5FDpublic.h
%include H5Fpublic.h
%include H5FSpublic.h
%include H5Gpublic.h
%include H5HFpublic.h
%include H5HGpublic.h
%include H5HLpublic.h
%include H5Ipublic.h
%include H5Lpublic.h
%include H5MMpublic.h
%include H5Opublic.h
%include H5Ppublic.h
%include H5Rpublic.h
%include H5Spublic.h
%include H5Tpublic.h
%include H5Zpublic.h
%{
end
%}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment