mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-04-12 17:31:09 +08:00
Moved the native VOL connector's optional enums to the
public headers and renamed to include native/NATIVE in the name.
This commit is contained in:
parent
bc0a08d997
commit
9ae9b3ef51
@ -343,7 +343,7 @@ H5Aget_num_attrs(hid_t loc_id)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, (-1), "invalid location identifier")
|
||||
|
||||
/* Get the number of attributes for the object */
|
||||
if(H5VL_object_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_OBJECT_GET_INFO, &loc_params, &oinfo, H5O_INFO_ALL) < 0)
|
||||
if(H5VL_object_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_OBJECT_GET_INFO, &loc_params, &oinfo, H5O_INFO_ALL) < 0)
|
||||
HGOTO_ERROR(H5E_ATTR, H5E_CANTGET, (-1), "unable to get attribute count for object")
|
||||
|
||||
H5_CHECKED_ASSIGN(ret_value, int, oinfo.num_attrs, hsize_t);
|
||||
@ -408,7 +408,7 @@ H5Aiterate1(hid_t loc_id, unsigned *attr_num, H5A_operator1_t op, void *op_data)
|
||||
HGOTO_ERROR(H5E_VOL, H5E_BADTYPE, H5_ITER_ERROR, "invalid location identifier")
|
||||
|
||||
/* Call attribute iteration routine */
|
||||
if((ret_value = H5VL_attr_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_ATTR_ITERATE_OLD, loc_id, attr_num, op, op_data)) < 0)
|
||||
if((ret_value = H5VL_attr_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_ATTR_ITERATE_OLD, loc_id, attr_num, op, op_data)) < 0)
|
||||
HERROR(H5E_VOL, H5E_BADITER, "error iterating over attributes");
|
||||
|
||||
done:
|
||||
|
15
src/H5Apkg.h
15
src/H5Apkg.h
@ -155,21 +155,6 @@ typedef struct {
|
||||
H5A_t **attrs; /* Pointer to array of attribute pointers */
|
||||
} H5A_attr_table_t;
|
||||
|
||||
/* Types for optional attribute VOL operations */
|
||||
typedef enum H5VL_attr_optional_t {
|
||||
H5VL_ATTR_ITERATE_OLD /* H5Aiterate (deprecated routine) */
|
||||
/* (This enum value should have an
|
||||
* "#ifndefH5_NO_DEPRECATED_SYMBOLS"
|
||||
* around it, but the compiler
|
||||
* complains about an empty enum
|
||||
* when deprecated symbols are
|
||||
* disabled currently. When
|
||||
* another enum value is added,
|
||||
* please put the #ifdef around
|
||||
* this symbol. QAK - 2018/12/06
|
||||
*/
|
||||
} H5VL_attr_optional_t;
|
||||
|
||||
|
||||
/*****************************/
|
||||
/* Package Private Variables */
|
||||
|
@ -38,6 +38,22 @@ typedef struct {
|
||||
typedef herr_t (*H5A_operator2_t)(hid_t location_id/*in*/,
|
||||
const char *attr_name/*in*/, const H5A_info_t *ainfo/*in*/, void *op_data/*in,out*/);
|
||||
|
||||
/* Enumeration for native VOL connector attribute optional VOL operations */
|
||||
typedef enum H5VL_native_attr_optional_t {
|
||||
H5VL_NATIVE_ATTR_ITERATE_OLD /* H5Aiterate (deprecated routine) */
|
||||
/* (This enum value should have an
|
||||
* "#ifndefH5_NO_DEPRECATED_SYMBOLS"
|
||||
* around it, but the compiler
|
||||
* complains about an empty enum
|
||||
* when deprecated symbols are
|
||||
* disabled currently. When
|
||||
* another enum value is added,
|
||||
* please put the #ifdef around
|
||||
* this symbol. QAK - 2018/12/06
|
||||
*/
|
||||
} H5VL_native_attr_optional_t;
|
||||
|
||||
|
||||
/* Public function prototypes */
|
||||
H5_DLL hid_t H5Acreate2(hid_t loc_id, const char *attr_name, hid_t type_id,
|
||||
hid_t space_id, hid_t acpl_id, hid_t aapl_id);
|
||||
|
@ -1027,7 +1027,7 @@ H5Dformat_convert(hid_t dset_id)
|
||||
HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "can't set collective metadata read info")
|
||||
|
||||
/* Convert the dataset */
|
||||
if(H5VL_dataset_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_DATASET_FORMAT_CONVERT) < 0)
|
||||
if(H5VL_dataset_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_DATASET_FORMAT_CONVERT) < 0)
|
||||
HGOTO_ERROR(H5E_DATASET, H5E_INTERNAL, FAIL, "can't convert dataset format")
|
||||
|
||||
done:
|
||||
@ -1063,7 +1063,7 @@ H5Dget_chunk_index_type(hid_t dset_id, H5D_chunk_index_t *idx_type)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "idx_type parameter cannot be NULL")
|
||||
|
||||
/* Get the chunk indexing type */
|
||||
if(H5VL_dataset_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_DATASET_GET_CHUNK_INDEX_TYPE, idx_type) < 0)
|
||||
if(H5VL_dataset_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_DATASET_GET_CHUNK_INDEX_TYPE, idx_type) < 0)
|
||||
HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get chunk index type")
|
||||
|
||||
done:
|
||||
@ -1104,7 +1104,7 @@ H5Dget_chunk_storage_size(hid_t dset_id, const hsize_t *offset, hsize_t *chunk_n
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "chunk_nbytes parameter cannot be NULL")
|
||||
|
||||
/* Get the dataset creation property list */
|
||||
if(H5VL_dataset_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_DATASET_GET_CHUNK_STORAGE_SIZE, offset, chunk_nbytes) < 0)
|
||||
if(H5VL_dataset_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_DATASET_GET_CHUNK_STORAGE_SIZE, offset, chunk_nbytes) < 0)
|
||||
HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get storage size of chunk")
|
||||
|
||||
done:
|
||||
|
@ -242,7 +242,7 @@ H5Dread_chunk(hid_t dset_id, hid_t dxpl_id, const hsize_t *offset, uint32_t *fil
|
||||
H5CX_set_dxpl(dxpl_id);
|
||||
|
||||
/* Read the raw chunk */
|
||||
if(H5VL_dataset_optional(vol_obj, dxpl_id, H5_REQUEST_NULL, H5VL_DATASET_CHUNK_READ, offset, filters, buf) < 0)
|
||||
if(H5VL_dataset_optional(vol_obj, dxpl_id, H5_REQUEST_NULL, H5VL_NATIVE_DATASET_CHUNK_READ, offset, filters, buf) < 0)
|
||||
HGOTO_ERROR(H5E_DATASET, H5E_READERROR, FAIL, "can't read unprocessed chunk data")
|
||||
|
||||
done:
|
||||
@ -370,7 +370,7 @@ H5Dwrite_chunk(hid_t dset_id, hid_t dxpl_id, uint32_t filters, const hsize_t *of
|
||||
H5CX_set_dxpl(dxpl_id);
|
||||
|
||||
/* Write chunk */
|
||||
if(H5VL_dataset_optional(vol_obj, dxpl_id, H5_REQUEST_NULL, H5VL_DATASET_CHUNK_WRITE, filters, offset, data_size_32, buf) < 0)
|
||||
if(H5VL_dataset_optional(vol_obj, dxpl_id, H5_REQUEST_NULL, H5VL_NATIVE_DATASET_CHUNK_WRITE, filters, offset, data_size_32, buf) < 0)
|
||||
HGOTO_ERROR(H5E_DATASET, H5E_WRITEERROR, FAIL, "can't write unprocessed chunk data")
|
||||
|
||||
done:
|
||||
|
@ -110,15 +110,6 @@ typedef struct H5D_type_info_t {
|
||||
hbool_t bkg_buf_allocated; /* Whether the background buffer was allocated */
|
||||
} H5D_type_info_t;
|
||||
|
||||
/* Types for dataset optional VOL operations */
|
||||
typedef enum H5VL_dataset_optional_t {
|
||||
H5VL_DATASET_FORMAT_CONVERT, /* H5Dformat_convert (internal) */
|
||||
H5VL_DATASET_GET_CHUNK_INDEX_TYPE, /* H5Dget_chunk_index_type */
|
||||
H5VL_DATASET_GET_CHUNK_STORAGE_SIZE, /* H5Dget_chunk_storage_size */
|
||||
H5VL_DATASET_CHUNK_READ, /* H5Dchunk_read */
|
||||
H5VL_DATASET_CHUNK_WRITE, /* H5Dchunk_write */
|
||||
} H5VL_dataset_optional_t;
|
||||
|
||||
/* Forward declaration of structs used below */
|
||||
struct H5D_io_info_t;
|
||||
struct H5D_chunk_map_t;
|
||||
|
@ -104,6 +104,16 @@ typedef enum H5D_vds_view_t {
|
||||
/* Callback for H5Pset_append_flush() in a dataset access property list */
|
||||
typedef herr_t (*H5D_append_cb_t)(hid_t dataset_id, hsize_t *cur_dims, void *op_data);
|
||||
|
||||
/* Enumeration for native VOL connector dataset optional VOL operations */
|
||||
typedef enum H5VL_native_dataset_optional_t {
|
||||
H5VL_NATIVE_DATASET_FORMAT_CONVERT, /* H5Dformat_convert (internal) */
|
||||
H5VL_NATIVE_DATASET_GET_CHUNK_INDEX_TYPE, /* H5Dget_chunk_index_type */
|
||||
H5VL_NATIVE_DATASET_GET_CHUNK_STORAGE_SIZE, /* H5Dget_chunk_storage_size */
|
||||
H5VL_NATIVE_DATASET_CHUNK_READ, /* H5Dchunk_read */
|
||||
H5VL_NATIVE_DATASET_CHUNK_WRITE, /* H5Dchunk_write */
|
||||
} H5VL_native_dataset_optional_t;
|
||||
|
||||
|
||||
/********************/
|
||||
/* Public Variables */
|
||||
/********************/
|
||||
|
48
src/H5F.c
48
src/H5F.c
@ -545,7 +545,7 @@ H5Fget_vfd_handle(hid_t file_id, hid_t fapl_id, void **file_handle)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid file identifier")
|
||||
|
||||
/* Retrieve the VFD handle for the file */
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_FILE_GET_VFD_HANDLE, file_handle, fapl_id) < 0)
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_FILE_GET_VFD_HANDLE, file_handle, fapl_id) < 0)
|
||||
HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "unable to get VFD handle")
|
||||
|
||||
done:
|
||||
@ -931,7 +931,7 @@ H5Fget_freespace(hid_t file_id)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, (-1), "invalid file identifier")
|
||||
|
||||
/* Get the amount of free space in the file */
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_FILE_GET_FREE_SPACE, &ret_value) < 0)
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_FILE_GET_FREE_SPACE, &ret_value) < 0)
|
||||
HGOTO_ERROR(H5E_FILE, H5E_CANTGET, (-1), "unable to get file free space")
|
||||
|
||||
done:
|
||||
@ -966,7 +966,7 @@ H5Fget_filesize(hid_t file_id, hsize_t *size)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "not a file ID")
|
||||
|
||||
/* Get the file size */
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_FILE_GET_SIZE, size) < 0)
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_FILE_GET_SIZE, size) < 0)
|
||||
HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "unable to get file size")
|
||||
|
||||
done:
|
||||
@ -1027,7 +1027,7 @@ H5Fget_file_image(hid_t file_id, void *buf_ptr, size_t buf_len)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, (-1), "not a file ID")
|
||||
|
||||
/* Get the file image */
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_FILE_GET_FILE_IMAGE, buf_ptr, &ret_value, buf_len) < 0)
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_FILE_GET_FILE_IMAGE, buf_ptr, &ret_value, buf_len) < 0)
|
||||
HGOTO_ERROR(H5E_FILE, H5E_CANTGET, (-1), "unable to get file image")
|
||||
|
||||
done:
|
||||
@ -1067,7 +1067,7 @@ H5Fget_mdc_config(hid_t file_id, H5AC_cache_config_t *config_ptr)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid file identifier")
|
||||
|
||||
/* Get the metadata cache configuration */
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_FILE_GET_MDC_CONF, config_ptr) < 0)
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_FILE_GET_MDC_CONF, config_ptr) < 0)
|
||||
HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "unable to get metadata cache configuration")
|
||||
|
||||
done:
|
||||
@ -1100,7 +1100,7 @@ H5Fset_mdc_config(hid_t file_id, H5AC_cache_config_t *config_ptr)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid file identifier")
|
||||
|
||||
/* Set the metadata cache configuration */
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_FILE_SET_MDC_CONFIG, config_ptr) < 0)
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_FILE_SET_MDC_CONFIG, config_ptr) < 0)
|
||||
HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "unable to set metadata cache configuration")
|
||||
|
||||
done:
|
||||
@ -1136,7 +1136,7 @@ H5Fget_mdc_hit_rate(hid_t file_id, double *hit_rate_ptr)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "not a file ID")
|
||||
|
||||
/* Get the current hit rate */
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_FILE_GET_MDC_HR, hit_rate_ptr) < 0)
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_FILE_GET_MDC_HR, hit_rate_ptr) < 0)
|
||||
HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "unable to get MDC hit rate")
|
||||
|
||||
done:
|
||||
@ -1173,7 +1173,7 @@ H5Fget_mdc_size(hid_t file_id, size_t *max_size_ptr, size_t *min_clean_size_ptr,
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "not a file ID")
|
||||
|
||||
/* Get the size data */
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_FILE_GET_MDC_SIZE, max_size_ptr, min_clean_size_ptr, cur_size_ptr, cur_num_entries_ptr) < 0)
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_FILE_GET_MDC_SIZE, max_size_ptr, min_clean_size_ptr, cur_size_ptr, cur_num_entries_ptr) < 0)
|
||||
HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "unable to get MDC size")
|
||||
|
||||
done:
|
||||
@ -1211,7 +1211,7 @@ H5Freset_mdc_hit_rate_stats(hid_t file_id)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid file identifier")
|
||||
|
||||
/* Reset the hit rate statistic */
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_FILE_RESET_MDC_HIT_RATE) < 0)
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_FILE_RESET_MDC_HIT_RATE) < 0)
|
||||
HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "can't reset cache hit rate")
|
||||
|
||||
done:
|
||||
@ -1305,7 +1305,7 @@ H5Fget_info2(hid_t obj_id, H5F_info2_t *finfo)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid object identifier")
|
||||
|
||||
/* Get the file information */
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_FILE_GET_INFO, type, finfo) < 0)
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_FILE_GET_INFO, type, finfo) < 0)
|
||||
HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "unable to retrieve file info")
|
||||
|
||||
done:
|
||||
@ -1341,7 +1341,7 @@ H5Fget_metadata_read_retry_info(hid_t file_id, H5F_retry_info_t *info)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "not a file ID")
|
||||
|
||||
/* Get the retry info */
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_FILE_GET_METADATA_READ_RETRY_INFO, info) < 0)
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_FILE_GET_METADATA_READ_RETRY_INFO, info) < 0)
|
||||
HGOTO_ERROR(H5E_FILE, H5E_CANTRELEASE, FAIL, "can't get metadata read retry info")
|
||||
|
||||
done:
|
||||
@ -1380,7 +1380,7 @@ H5Fget_free_sections(hid_t file_id, H5F_mem_t type, size_t nsects,
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, (-1), "nsects must be > 0")
|
||||
|
||||
/* Get the free-space section information in the file */
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_FILE_GET_FREE_SECTIONS, sect_info, &ret_value, type, nsects) < 0)
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_FILE_GET_FREE_SECTIONS, sect_info, &ret_value, type, nsects) < 0)
|
||||
HGOTO_ERROR(H5E_FILE, H5E_CANTGET, (-1), "unable to get file free sections")
|
||||
|
||||
done:
|
||||
@ -1413,7 +1413,7 @@ H5Fclear_elink_file_cache(hid_t file_id)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "not a file ID")
|
||||
|
||||
/* Release the EFC */
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_FILE_CLEAR_ELINK_CACHE) < 0)
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_FILE_CLEAR_ELINK_CACHE) < 0)
|
||||
HGOTO_ERROR(H5E_FILE, H5E_CANTRELEASE, FAIL, "can't release external file cache")
|
||||
|
||||
done:
|
||||
@ -1473,7 +1473,7 @@ H5Fstart_swmr_write(hid_t file_id)
|
||||
HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "can't set collective metadata read info")
|
||||
|
||||
/* Start SWMR writing */
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_FILE_START_SWMR_WRITE) < 0)
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_FILE_START_SWMR_WRITE) < 0)
|
||||
HGOTO_ERROR(H5E_FILE, H5E_SYSTEM, FAIL, "unable to start SWMR writing")
|
||||
|
||||
done:
|
||||
@ -1505,7 +1505,7 @@ H5Fstart_mdc_logging(hid_t file_id)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "hid_t identifier is not a file ID")
|
||||
|
||||
/* Call mdc logging function */
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_FILE_START_MDC_LOGGING) < 0)
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_FILE_START_MDC_LOGGING) < 0)
|
||||
HGOTO_ERROR(H5E_FILE, H5E_LOGFAIL, FAIL, "unable to start mdc logging")
|
||||
|
||||
done:
|
||||
@ -1538,7 +1538,7 @@ H5Fstop_mdc_logging(hid_t file_id)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "hid_t identifier is not a file ID")
|
||||
|
||||
/* Call mdc logging function */
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_FILE_STOP_MDC_LOGGING) < 0)
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_FILE_STOP_MDC_LOGGING) < 0)
|
||||
HGOTO_ERROR(H5E_FILE, H5E_LOGFAIL, FAIL, "unable to stop mdc logging")
|
||||
|
||||
done:
|
||||
@ -1572,7 +1572,7 @@ H5Fget_mdc_logging_status(hid_t file_id, hbool_t *is_enabled,
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "hid_t identifier is not a file ID")
|
||||
|
||||
/* Call mdc logging function */
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_FILE_GET_MDC_LOGGING_STATUS, is_enabled, is_currently_logging) < 0)
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_FILE_GET_MDC_LOGGING_STATUS, is_enabled, is_currently_logging) < 0)
|
||||
HGOTO_ERROR(H5E_FILE, H5E_LOGFAIL, FAIL, "unable to get logging status")
|
||||
|
||||
done:
|
||||
@ -1610,7 +1610,7 @@ H5Fset_libver_bounds(hid_t file_id, H5F_libver_t low, H5F_libver_t high)
|
||||
HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "can't set collective metadata read info")
|
||||
|
||||
/* Set the library's version bounds */
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_FILE_SET_LIBVER_BOUNDS, low, high) < 0)
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_FILE_SET_LIBVER_BOUNDS, low, high) < 0)
|
||||
HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "can't set library version bounds")
|
||||
|
||||
done:
|
||||
@ -1647,7 +1647,7 @@ H5Fformat_convert(hid_t file_id)
|
||||
HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "can't set collective metadata read info")
|
||||
|
||||
/* Convert the format */
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_FILE_FORMAT_CONVERT) < 0)
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_FILE_FORMAT_CONVERT) < 0)
|
||||
HGOTO_ERROR(H5E_FILE, H5E_CANTCONVERT, FAIL, "can't convert file format")
|
||||
|
||||
done:
|
||||
@ -1678,7 +1678,7 @@ H5Freset_page_buffering_stats(hid_t file_id)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid file identifier")
|
||||
|
||||
/* Reset the statistics */
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_FILE_RESET_PAGE_BUFFERING_STATS) < 0)
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_FILE_RESET_PAGE_BUFFERING_STATS) < 0)
|
||||
HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "can't reset stats for page buffering")
|
||||
|
||||
done:
|
||||
@ -1713,7 +1713,7 @@ H5Fget_page_buffering_stats(hid_t file_id, unsigned accesses[2], unsigned hits[2
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "NULL input parameters for stats")
|
||||
|
||||
/* Get the statistics */
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_FILE_GET_PAGE_BUFFERING_STATS, accesses, hits, misses, evictions, bypasses) < 0)
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_FILE_GET_PAGE_BUFFERING_STATS, accesses, hits, misses, evictions, bypasses) < 0)
|
||||
HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "can't retrieve stats for page buffering")
|
||||
|
||||
done:
|
||||
@ -1748,7 +1748,7 @@ H5Fget_mdc_image_info(hid_t file_id, haddr_t *image_addr, hsize_t *image_len)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "hid_t identifier is not a file ID")
|
||||
|
||||
/* Go get the address and size of the cache image */
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_FILE_GET_MDC_IMAGE_INFO, image_addr, image_len) < 0)
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_FILE_GET_MDC_IMAGE_INFO, image_addr, image_len) < 0)
|
||||
HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "can't retrieve cache image info")
|
||||
|
||||
done:
|
||||
@ -1782,7 +1782,7 @@ H5Fget_eoa(hid_t file_id, haddr_t *eoa)
|
||||
/* Only do work if valid pointer to fill in */
|
||||
if(eoa) {
|
||||
/* Retrieve the EOA for the file */
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_FILE_GET_EOA, eoa) < 0)
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_FILE_GET_EOA, eoa) < 0)
|
||||
HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "unable to get EOA")
|
||||
} /* end if */
|
||||
|
||||
@ -1813,7 +1813,7 @@ H5Fincrement_filesize(hid_t file_id, hsize_t increment)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "hid_t identifier is not a file ID")
|
||||
|
||||
/* Increment the file size */
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_FILE_INCR_FILESIZE, increment) < 0)
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_FILE_INCR_FILESIZE, increment) < 0)
|
||||
HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "unable to increment file size")
|
||||
|
||||
done:
|
||||
|
@ -118,7 +118,7 @@ H5Fget_info1(hid_t obj_id, H5F_info1_t *finfo)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid object identifier")
|
||||
|
||||
/* Get the file information */
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_FILE_GET_INFO, type, &finfo2) < 0)
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_FILE_GET_INFO, type, &finfo2) < 0)
|
||||
HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "unable to retrieve file info")
|
||||
|
||||
/* Copy the compatible fields into the older struct */
|
||||
@ -225,7 +225,7 @@ H5Fset_latest_format(hid_t file_id, hbool_t latest_format)
|
||||
low = H5F_LIBVER_EARLIEST;
|
||||
|
||||
/* Set the library's version bounds */
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_FILE_SET_LIBVER_BOUNDS, low, high) < 0)
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_FILE_SET_LIBVER_BOUNDS, low, high) < 0)
|
||||
HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "can't set library version bounds")
|
||||
|
||||
done:
|
||||
|
@ -3695,7 +3695,7 @@ H5F_get_file_id(hid_t obj_id, H5I_type_t type)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, H5I_INVALID_HID, "invalid identifier")
|
||||
|
||||
/* Get the file through the VOL */
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_FILE_GET_FILE_ID, type, &file_id) < 0)
|
||||
if(H5VL_file_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_FILE_GET_FILE_ID, type, &file_id) < 0)
|
||||
HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, H5I_INVALID_HID, "unable to get file ID")
|
||||
if(H5I_INVALID_HID == file_id)
|
||||
HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, H5I_INVALID_HID, "unable to get the file ID through the VOL")
|
||||
|
29
src/H5Fpkg.h
29
src/H5Fpkg.h
@ -382,35 +382,6 @@ struct H5F_t {
|
||||
#endif /* H5_HAVE_PARALLEL */
|
||||
};
|
||||
|
||||
/* types for file optional VOL operations */
|
||||
typedef enum H5VL_file_optional_t {
|
||||
H5VL_FILE_CLEAR_ELINK_CACHE, /* Clear external link cache */
|
||||
H5VL_FILE_GET_FILE_IMAGE, /* file image */
|
||||
H5VL_FILE_GET_FREE_SECTIONS, /* file free selections */
|
||||
H5VL_FILE_GET_FREE_SPACE, /* file freespace */
|
||||
H5VL_FILE_GET_INFO, /* file info */
|
||||
H5VL_FILE_GET_MDC_CONF, /* file metadata cache configuration */
|
||||
H5VL_FILE_GET_MDC_HR, /* file metadata cache hit rate */
|
||||
H5VL_FILE_GET_MDC_SIZE, /* file metadata cache size */
|
||||
H5VL_FILE_GET_SIZE, /* file size */
|
||||
H5VL_FILE_GET_VFD_HANDLE, /* file VFD handle */
|
||||
H5VL_FILE_GET_FILE_ID, /* retrieve or resurrect file ID of object */
|
||||
H5VL_FILE_RESET_MDC_HIT_RATE, /* get metadata cache hit rate */
|
||||
H5VL_FILE_SET_MDC_CONFIG, /* set metadata cache configuration */
|
||||
H5VL_FILE_GET_METADATA_READ_RETRY_INFO,
|
||||
H5VL_FILE_START_SWMR_WRITE,
|
||||
H5VL_FILE_START_MDC_LOGGING,
|
||||
H5VL_FILE_STOP_MDC_LOGGING,
|
||||
H5VL_FILE_GET_MDC_LOGGING_STATUS,
|
||||
H5VL_FILE_FORMAT_CONVERT,
|
||||
H5VL_FILE_RESET_PAGE_BUFFERING_STATS,
|
||||
H5VL_FILE_GET_PAGE_BUFFERING_STATS,
|
||||
H5VL_FILE_GET_MDC_IMAGE_INFO,
|
||||
H5VL_FILE_GET_EOA,
|
||||
H5VL_FILE_INCR_FILESIZE,
|
||||
H5VL_FILE_SET_LIBVER_BOUNDS
|
||||
} H5VL_file_optional_t;
|
||||
|
||||
|
||||
/*****************************/
|
||||
/* Package Private Variables */
|
||||
|
@ -217,6 +217,35 @@ typedef struct H5F_retry_info_t {
|
||||
/* Callback for H5Pset_object_flush_cb() in a file access property list */
|
||||
typedef herr_t (*H5F_flush_cb_t)(hid_t object_id, void *udata);
|
||||
|
||||
/* Enumeration for native VOL connector file optional VOL operations */
|
||||
typedef enum H5VL_native_file_optional_t {
|
||||
H5VL_NATIVE_FILE_CLEAR_ELINK_CACHE, /* H5Fclear_elink_file_cache */
|
||||
H5VL_NATIVE_FILE_GET_FILE_IMAGE, /* H5Fget_file_image */
|
||||
H5VL_NATIVE_FILE_GET_FREE_SECTIONS, /* H5Fget_free_sections */
|
||||
H5VL_NATIVE_FILE_GET_FREE_SPACE, /* H5Fget_freespace */
|
||||
H5VL_NATIVE_FILE_GET_INFO, /* H5Fget_info1/2 */
|
||||
H5VL_NATIVE_FILE_GET_MDC_CONF, /* H5Fget_mdc_config */
|
||||
H5VL_NATIVE_FILE_GET_MDC_HR, /* H5Fget_mdc_hit_rate */
|
||||
H5VL_NATIVE_FILE_GET_MDC_SIZE, /* H5Fget_mdc_size */
|
||||
H5VL_NATIVE_FILE_GET_SIZE, /* H5Fget_filesize */
|
||||
H5VL_NATIVE_FILE_GET_VFD_HANDLE, /* H5Fget_vfd_handle */
|
||||
H5VL_NATIVE_FILE_GET_FILE_ID, /* H5Fget_file_id */
|
||||
H5VL_NATIVE_FILE_RESET_MDC_HIT_RATE, /* H5Freset_mdc_hit_rate_stats */
|
||||
H5VL_NATIVE_FILE_SET_MDC_CONFIG, /* H5Fset_mdc_config */
|
||||
H5VL_NATIVE_FILE_GET_METADATA_READ_RETRY_INFO, /* H5Fget_metadata_read_retry_info */
|
||||
H5VL_NATIVE_FILE_START_SWMR_WRITE, /* H5Fstart_swmr_write */
|
||||
H5VL_NATIVE_FILE_START_MDC_LOGGING, /* H5Fstart_mdc_logging */
|
||||
H5VL_NATIVE_FILE_STOP_MDC_LOGGING, /* H5Fstop_mdc_logging */
|
||||
H5VL_NATIVE_FILE_GET_MDC_LOGGING_STATUS, /* H5Fget_mdc_logging_status */
|
||||
H5VL_NATIVE_FILE_FORMAT_CONVERT, /* H5Fformat_convert */
|
||||
H5VL_NATIVE_FILE_RESET_PAGE_BUFFERING_STATS, /* H5Freset_page_buffering_stats */
|
||||
H5VL_NATIVE_FILE_GET_PAGE_BUFFERING_STATS, /* H5Fget_page_buffering_stats */
|
||||
H5VL_NATIVE_FILE_GET_MDC_IMAGE_INFO, /* H5Fget_mdc_image_info */
|
||||
H5VL_NATIVE_FILE_GET_EOA, /* H5Fget_eoa */
|
||||
H5VL_NATIVE_FILE_INCR_FILESIZE, /* H5Fincrement_filesize */
|
||||
H5VL_NATIVE_FILE_SET_LIBVER_BOUNDS /* H5Fset_latest_format/libver_bounds */
|
||||
} H5VL_native_file_optional_t;
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
@ -734,7 +734,7 @@ H5Gset_comment(hid_t loc_id, const char *name, const char *comment)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid location identifier")
|
||||
|
||||
/* Set the comment */
|
||||
if(H5VL_object_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_OBJECT_SET_COMMENT, &loc_params, comment) < 0)
|
||||
if(H5VL_object_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_OBJECT_SET_COMMENT, &loc_params, comment) < 0)
|
||||
HGOTO_ERROR(H5E_SYM, H5E_CANTSET, FAIL, "unable to set comment value")
|
||||
|
||||
done:
|
||||
@ -795,7 +795,7 @@ H5Gget_comment(hid_t loc_id, const char *name, size_t bufsize, char *buf)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid location identifier")
|
||||
|
||||
/* Get the comment */
|
||||
if(H5VL_object_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_OBJECT_GET_COMMENT, &loc_params, buf, bufsize, &ret_value) < 0)
|
||||
if(H5VL_object_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_OBJECT_GET_COMMENT, &loc_params, buf, bufsize, &ret_value) < 0)
|
||||
HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "unable to get comment value")
|
||||
|
||||
done:
|
||||
@ -868,7 +868,7 @@ H5Giterate(hid_t loc_id, const char *name, int *idx_p, H5G_iterate_t op,
|
||||
HGOTO_ERROR(H5E_ATOM, H5E_BADTYPE, (-1), "invalid identifier")
|
||||
|
||||
/* Call private iteration function, through VOL callback */
|
||||
if((ret_value = H5VL_group_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_GROUP_ITERATE_OLD, &loc_params, idx, &last_obj, &lnk_op, op_data)) < 0)
|
||||
if((ret_value = H5VL_group_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_GROUP_ITERATE_OLD, &loc_params, idx, &last_obj, &lnk_op, op_data)) < 0)
|
||||
HERROR(H5E_SYM, H5E_BADITER, "error iterating over group's links");
|
||||
|
||||
/* Set the index we stopped at */
|
||||
@ -985,7 +985,7 @@ H5Gget_objinfo(hid_t loc_id, const char *name, hbool_t follow_link,
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid location identifier")
|
||||
|
||||
/* Retrieve the object's information */
|
||||
if(H5VL_group_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_GROUP_GET_OBJINFO, &loc_params, (unsigned)follow_link, statbuf) < 0)
|
||||
if(H5VL_group_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_GROUP_GET_OBJINFO, &loc_params, (unsigned)follow_link, statbuf) < 0)
|
||||
HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "can't get info for object: '%s'", name)
|
||||
} /* end if */
|
||||
|
||||
@ -1239,7 +1239,7 @@ H5Gget_objtype_by_idx(hid_t loc_id, hsize_t idx)
|
||||
|
||||
/* Retrieve the object's basic information (which includes its type) */
|
||||
fields = H5O_INFO_BASIC;
|
||||
if(H5VL_object_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_OBJECT_GET_INFO, &loc_params, &oinfo, fields) < 0)
|
||||
if(H5VL_object_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_OBJECT_GET_INFO, &loc_params, &oinfo, fields) < 0)
|
||||
HGOTO_ERROR(H5E_SYM, H5E_BADTYPE, H5G_UNKNOWN, "can't get object info")
|
||||
|
||||
/* Map to group object type */
|
||||
|
16
src/H5Gpkg.h
16
src/H5Gpkg.h
@ -299,22 +299,6 @@ typedef struct H5G_copy_file_ud_t {
|
||||
H5G_cache_t cache; /* Cached data for symbol table entry */
|
||||
} H5G_copy_file_ud_t;
|
||||
|
||||
/* Types for optional group VOL operations */
|
||||
typedef enum H5VL_group_optional_t {
|
||||
H5VL_GROUP_ITERATE_OLD, /* HG5Giterate (deprecated routine) */
|
||||
H5VL_GROUP_GET_OBJINFO /* HG5Gget_objinfo (deprecated routine) */
|
||||
/* (These two enum values should have an
|
||||
* "#ifndefH5_NO_DEPRECATED_SYMBOLS"
|
||||
* around them, but the compiler
|
||||
* complains about an empty enum
|
||||
* when deprecated symbols are
|
||||
* disabled currently. When
|
||||
* another enum value is added,
|
||||
* please put the #ifdef around
|
||||
* these symbols. QAK - 2018/12/06
|
||||
*/
|
||||
} H5VL_group_optional_t;
|
||||
|
||||
|
||||
/*****************************/
|
||||
/* Package Private Variables */
|
||||
|
@ -62,6 +62,22 @@ typedef struct H5G_info_t {
|
||||
hbool_t mounted; /* Whether group has a file mounted on it */
|
||||
} H5G_info_t;
|
||||
|
||||
/* Enumeration for native VOL connector group optional VOL operations */
|
||||
typedef enum H5VL_native_group_optional_t {
|
||||
H5VL_NATIVE_GROUP_ITERATE_OLD, /* HG5Giterate (deprecated routine) */
|
||||
H5VL_NATIVE_GROUP_GET_OBJINFO /* HG5Gget_objinfo (deprecated routine) */
|
||||
/* (These two enum values should have an
|
||||
* "#ifndefH5_NO_DEPRECATED_SYMBOLS"
|
||||
* around them, but the compiler
|
||||
* complains about an empty enum
|
||||
* when deprecated symbols are
|
||||
* disabled currently. When
|
||||
* another enum value is added,
|
||||
* please put the #ifdef around
|
||||
* these symbols. QAK - 2018/12/06
|
||||
*/
|
||||
} H5VL_native_group_optional_t;
|
||||
|
||||
/********************/
|
||||
/* Public Variables */
|
||||
/********************/
|
||||
|
14
src/H5O.c
14
src/H5O.c
@ -575,7 +575,7 @@ H5Oget_info2(hid_t loc_id, H5O_info_t *oinfo, unsigned fields)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid location identifier")
|
||||
|
||||
/* Retrieve the object's information */
|
||||
if(H5VL_object_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_OBJECT_GET_INFO, &loc_params, oinfo, fields) < 0)
|
||||
if(H5VL_object_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_OBJECT_GET_INFO, &loc_params, oinfo, fields) < 0)
|
||||
HGOTO_ERROR(H5E_OHDR, H5E_CANTGET, FAIL, "can't get info for object")
|
||||
|
||||
done:
|
||||
@ -633,7 +633,7 @@ H5Oget_info_by_name2(hid_t loc_id, const char *name, H5O_info_t *oinfo,
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid location identifier")
|
||||
|
||||
/* Retrieve the object's information */
|
||||
if(H5VL_object_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_OBJECT_GET_INFO, &loc_params, oinfo, fields) < 0)
|
||||
if(H5VL_object_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_OBJECT_GET_INFO, &loc_params, oinfo, fields) < 0)
|
||||
HGOTO_ERROR(H5E_OHDR, H5E_CANTGET, FAIL, "can't get info for object: '%s'", name)
|
||||
|
||||
done:
|
||||
@ -698,7 +698,7 @@ H5Oget_info_by_idx2(hid_t loc_id, const char *group_name, H5_index_t idx_type,
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid location identifier")
|
||||
|
||||
/* Retrieve the object's information */
|
||||
if(H5VL_object_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_OBJECT_GET_INFO, &loc_params, oinfo, fields) < 0)
|
||||
if(H5VL_object_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_OBJECT_GET_INFO, &loc_params, oinfo, fields) < 0)
|
||||
HGOTO_ERROR(H5E_OHDR, H5E_CANTGET, FAIL, "can't get info for object")
|
||||
|
||||
done:
|
||||
@ -746,7 +746,7 @@ H5Oset_comment(hid_t obj_id, const char *comment)
|
||||
loc_params.obj_type = H5I_get_type(obj_id);
|
||||
|
||||
/* (Re)set the object's comment */
|
||||
if(H5VL_object_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_OBJECT_SET_COMMENT, &loc_params, comment) < 0)
|
||||
if(H5VL_object_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_OBJECT_SET_COMMENT, &loc_params, comment) < 0)
|
||||
HGOTO_ERROR(H5E_OHDR, H5E_CANTSET, FAIL, "can't set comment for object")
|
||||
|
||||
done:
|
||||
@ -801,7 +801,7 @@ H5Oset_comment_by_name(hid_t loc_id, const char *name, const char *comment,
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid location identifier")
|
||||
|
||||
/* (Re)set the object's comment */
|
||||
if(H5VL_object_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_OBJECT_SET_COMMENT, &loc_params, comment) < 0)
|
||||
if(H5VL_object_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_OBJECT_SET_COMMENT, &loc_params, comment) < 0)
|
||||
HGOTO_ERROR(H5E_OHDR, H5E_CANTSET, FAIL, "can't set comment for object: '%s'", name)
|
||||
|
||||
done:
|
||||
@ -844,7 +844,7 @@ H5Oget_comment(hid_t obj_id, char *comment, size_t bufsize)
|
||||
loc_params.obj_type = H5I_get_type(obj_id);
|
||||
|
||||
/* Retrieve the object's comment */
|
||||
if(H5VL_object_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_OBJECT_GET_COMMENT, &loc_params, comment, bufsize, &ret_value) < 0)
|
||||
if(H5VL_object_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_OBJECT_GET_COMMENT, &loc_params, comment, bufsize, &ret_value) < 0)
|
||||
HGOTO_ERROR(H5E_OHDR, H5E_CANTGET, (-1), "can't get comment for object")
|
||||
|
||||
done:
|
||||
@ -898,7 +898,7 @@ H5Oget_comment_by_name(hid_t loc_id, const char *name, char *comment, size_t buf
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, (-1), "invalid location identifier")
|
||||
|
||||
/* Retrieve the object's comment */
|
||||
if(H5VL_object_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_OBJECT_GET_COMMENT, &loc_params, comment, bufsize, &ret_value) < 0)
|
||||
if(H5VL_object_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_OBJECT_GET_COMMENT, &loc_params, comment, bufsize, &ret_value) < 0)
|
||||
HGOTO_ERROR(H5E_OHDR, H5E_CANTGET, (-1), "can't get comment for object: '%s'", name)
|
||||
|
||||
done:
|
||||
|
@ -109,7 +109,7 @@ H5Oget_info1(hid_t loc_id, H5O_info_t *oinfo)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid location identifier")
|
||||
|
||||
/* Retrieve the object's information */
|
||||
if(H5VL_object_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_OBJECT_GET_INFO, &loc_params, oinfo, H5O_INFO_ALL) < 0)
|
||||
if(H5VL_object_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_OBJECT_GET_INFO, &loc_params, oinfo, H5O_INFO_ALL) < 0)
|
||||
HGOTO_ERROR(H5E_OHDR, H5E_CANTGET, FAIL, "can't get info for object")
|
||||
|
||||
done:
|
||||
@ -160,7 +160,7 @@ H5Oget_info_by_name1(hid_t loc_id, const char *name, H5O_info_t *oinfo, hid_t la
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid location identifier")
|
||||
|
||||
/* Retrieve the object's information */
|
||||
if(H5VL_object_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_OBJECT_GET_INFO, &loc_params, oinfo, H5O_INFO_ALL) < 0)
|
||||
if(H5VL_object_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_OBJECT_GET_INFO, &loc_params, oinfo, H5O_INFO_ALL) < 0)
|
||||
HGOTO_ERROR(H5E_OHDR, H5E_CANTGET, FAIL, "can't get info for object: '%s'", name)
|
||||
|
||||
done:
|
||||
@ -221,7 +221,7 @@ H5Oget_info_by_idx1(hid_t loc_id, const char *group_name, H5_index_t idx_type,
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid location identifier")
|
||||
|
||||
/* Retrieve the object's information */
|
||||
if(H5VL_object_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_OBJECT_GET_INFO, &loc_params, oinfo, H5O_INFO_ALL) < 0)
|
||||
if(H5VL_object_optional(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, H5VL_NATIVE_OBJECT_GET_INFO, &loc_params, oinfo, H5O_INFO_ALL) < 0)
|
||||
HGOTO_ERROR(H5E_OHDR, H5E_CANTGET, FAIL, "can't get info for object")
|
||||
|
||||
done:
|
||||
|
@ -851,13 +851,6 @@ typedef struct {
|
||||
} u;
|
||||
} H5O_mesg_operator_t;
|
||||
|
||||
/* Types for object optional VOL operations */
|
||||
typedef enum H5VL_object_optional_t {
|
||||
H5VL_OBJECT_GET_COMMENT, /* get object comment */
|
||||
H5VL_OBJECT_GET_INFO, /* get object info */
|
||||
H5VL_OBJECT_SET_COMMENT /* set object comment */
|
||||
} H5VL_object_optional_t;
|
||||
|
||||
/* Typedef for abstract object creation */
|
||||
typedef struct {
|
||||
H5O_type_t obj_type; /* Type of object to create */
|
||||
|
@ -150,6 +150,13 @@ typedef enum H5O_mcdt_search_ret_t {
|
||||
/* Callback to invoke when completing the search for a matching committed datatype from the committed dtype list */
|
||||
typedef H5O_mcdt_search_ret_t (*H5O_mcdt_search_cb_t)(void *op_data);
|
||||
|
||||
/* Enumeration for native VOL connector object optional VOL operations */
|
||||
typedef enum H5VL_native_object_optional_t {
|
||||
H5VL_NATIVE_OBJECT_GET_COMMENT, /* H5G|H5Oget_comment, H5Oget_comment_by_name */
|
||||
H5VL_NATIVE_OBJECT_GET_INFO, /* H5Oget_info(_by_idx, _by_name)(2?) */
|
||||
H5VL_NATIVE_OBJECT_SET_COMMENT /* H5G|H5Oset_comment, H5Oset_comment_by_name */
|
||||
} H5VL_native_object_optional_t;
|
||||
|
||||
/********************/
|
||||
/* Public Variables */
|
||||
/********************/
|
||||
|
118
src/H5VLnative.c
118
src/H5VLnative.c
@ -782,15 +782,15 @@ static herr_t
|
||||
H5VL__native_attr_optional(void H5_ATTR_UNUSED *obj, hid_t H5_ATTR_UNUSED dxpl_id,
|
||||
void H5_ATTR_UNUSED **req, va_list arguments)
|
||||
{
|
||||
H5VL_attr_optional_t optional_type;
|
||||
H5VL_native_attr_optional_t optional_type;
|
||||
herr_t ret_value = SUCCEED; /* Return value */
|
||||
|
||||
FUNC_ENTER_STATIC
|
||||
|
||||
optional_type = va_arg(arguments, H5VL_attr_optional_t);
|
||||
optional_type = va_arg(arguments, H5VL_native_attr_optional_t);
|
||||
switch(optional_type) {
|
||||
#ifndef H5_NO_DEPRECATED_SYMBOLS
|
||||
case H5VL_ATTR_ITERATE_OLD:
|
||||
case H5VL_NATIVE_ATTR_ITERATE_OLD:
|
||||
{
|
||||
hid_t loc_id = va_arg(arguments, hid_t);
|
||||
unsigned *attr_num = va_arg(arguments, unsigned *);
|
||||
@ -803,6 +803,13 @@ H5VL__native_attr_optional(void H5_ATTR_UNUSED *obj, hid_t H5_ATTR_UNUSED dxpl_i
|
||||
|
||||
break;
|
||||
}
|
||||
#else
|
||||
/* XXX: This case only exists because this is the only attribute optional
|
||||
* value and we can't have empty enums. Delete it when we have another
|
||||
* attribute optional enum value.
|
||||
*/
|
||||
case H5VL_NATIVE_ATTR_ITERATE_OLD:
|
||||
HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "H5VL_NATIVE_ATTR_ITERATE_OLD is not a valid value when the library is built without deprecated routines")
|
||||
#endif /* H5_NO_DEPRECATED_SYMBOLS */
|
||||
|
||||
default:
|
||||
@ -1218,13 +1225,13 @@ H5VL__native_dataset_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id,
|
||||
void H5_ATTR_UNUSED **req, va_list arguments)
|
||||
{
|
||||
H5D_t *dset = NULL; /* Dataset */
|
||||
H5VL_dataset_optional_t optional_type = va_arg(arguments, H5VL_dataset_optional_t);
|
||||
H5VL_native_dataset_optional_t optional_type = va_arg(arguments, H5VL_native_dataset_optional_t);
|
||||
herr_t ret_value = SUCCEED; /* Return value */
|
||||
|
||||
FUNC_ENTER_STATIC
|
||||
|
||||
switch(optional_type) {
|
||||
case H5VL_DATASET_FORMAT_CONVERT:
|
||||
case H5VL_NATIVE_DATASET_FORMAT_CONVERT:
|
||||
{
|
||||
dset = (H5D_t *)obj;
|
||||
|
||||
@ -1259,7 +1266,7 @@ H5VL__native_dataset_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id,
|
||||
break;
|
||||
}
|
||||
|
||||
case H5VL_DATASET_GET_CHUNK_INDEX_TYPE:
|
||||
case H5VL_NATIVE_DATASET_GET_CHUNK_INDEX_TYPE:
|
||||
{
|
||||
H5D_chunk_index_t *idx_type = va_arg(arguments, H5D_chunk_index_t *);
|
||||
|
||||
@ -1275,7 +1282,7 @@ H5VL__native_dataset_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id,
|
||||
break;
|
||||
}
|
||||
|
||||
case H5VL_DATASET_GET_CHUNK_STORAGE_SIZE:
|
||||
case H5VL_NATIVE_DATASET_GET_CHUNK_STORAGE_SIZE:
|
||||
{
|
||||
hsize_t *offset = va_arg(arguments, hsize_t *);
|
||||
hsize_t *chunk_nbytes = va_arg(arguments, hsize_t *);
|
||||
@ -1293,7 +1300,7 @@ H5VL__native_dataset_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id,
|
||||
break;
|
||||
}
|
||||
|
||||
case H5VL_DATASET_CHUNK_READ:
|
||||
case H5VL_NATIVE_DATASET_CHUNK_READ:
|
||||
{
|
||||
const hsize_t *offset = va_arg(arguments, hsize_t *);
|
||||
uint32_t *filters = va_arg(arguments, uint32_t *);
|
||||
@ -1321,7 +1328,7 @@ H5VL__native_dataset_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id,
|
||||
break;
|
||||
}
|
||||
|
||||
case H5VL_DATASET_CHUNK_WRITE:
|
||||
case H5VL_NATIVE_DATASET_CHUNK_WRITE:
|
||||
{
|
||||
uint32_t filters = va_arg(arguments, uint32_t);
|
||||
const hsize_t *offset = va_arg(arguments, const hsize_t *);
|
||||
@ -1765,7 +1772,7 @@ static herr_t
|
||||
H5VL__native_file_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id, void H5_ATTR_UNUSED **req, va_list arguments)
|
||||
{
|
||||
H5F_t *f = NULL; /* File */
|
||||
H5VL_file_optional_t optional_type = va_arg(arguments, H5VL_file_optional_t);
|
||||
H5VL_native_file_optional_t optional_type = va_arg(arguments, H5VL_native_file_optional_t);
|
||||
herr_t ret_value = SUCCEED; /* Return value */
|
||||
|
||||
FUNC_ENTER_STATIC
|
||||
@ -1773,7 +1780,7 @@ H5VL__native_file_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id, void H5_ATTR
|
||||
f = (H5F_t *)obj;
|
||||
switch(optional_type) {
|
||||
/* H5Fget_filesize */
|
||||
case H5VL_FILE_GET_SIZE:
|
||||
case H5VL_NATIVE_FILE_GET_SIZE:
|
||||
{
|
||||
haddr_t max_eof_eoa; /* Maximum of the EOA & EOF */
|
||||
haddr_t base_addr; /* Base address for the file */
|
||||
@ -1792,7 +1799,7 @@ H5VL__native_file_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id, void H5_ATTR
|
||||
}
|
||||
|
||||
/* H5Fget_file_image */
|
||||
case H5VL_FILE_GET_FILE_IMAGE:
|
||||
case H5VL_NATIVE_FILE_GET_FILE_IMAGE:
|
||||
{
|
||||
void *buf_ptr = va_arg(arguments, void *);
|
||||
ssize_t *ret = va_arg(arguments, ssize_t *);
|
||||
@ -1805,7 +1812,7 @@ H5VL__native_file_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id, void H5_ATTR
|
||||
}
|
||||
|
||||
/* H5Fget_freespace */
|
||||
case H5VL_FILE_GET_FREE_SPACE:
|
||||
case H5VL_NATIVE_FILE_GET_FREE_SPACE:
|
||||
{
|
||||
hsize_t tot_space; /* Amount of free space in the file */
|
||||
hssize_t *ret = va_arg(arguments, hssize_t *);
|
||||
@ -1817,7 +1824,8 @@ H5VL__native_file_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id, void H5_ATTR
|
||||
break;
|
||||
}
|
||||
|
||||
case H5VL_FILE_GET_FREE_SECTIONS:
|
||||
/* H5Fget_free_sections */
|
||||
case H5VL_NATIVE_FILE_GET_FREE_SECTIONS:
|
||||
{
|
||||
H5F_sect_info_t *sect_info = va_arg(arguments, H5F_sect_info_t *);
|
||||
ssize_t *ret = va_arg(arguments, ssize_t *);
|
||||
@ -1830,8 +1838,8 @@ H5VL__native_file_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id, void H5_ATTR
|
||||
break;
|
||||
}
|
||||
|
||||
/* H5Fget_info2 */
|
||||
case H5VL_FILE_GET_INFO:
|
||||
/* H5Fget_info1/2 */
|
||||
case H5VL_NATIVE_FILE_GET_INFO:
|
||||
{
|
||||
H5I_type_t type = va_arg(arguments, H5I_type_t);
|
||||
H5F_info2_t *finfo = va_arg(arguments, H5F_info2_t *);
|
||||
@ -1850,7 +1858,7 @@ H5VL__native_file_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id, void H5_ATTR
|
||||
}
|
||||
|
||||
/* H5Fget_mdc_config */
|
||||
case H5VL_FILE_GET_MDC_CONF:
|
||||
case H5VL_NATIVE_FILE_GET_MDC_CONF:
|
||||
{
|
||||
H5AC_cache_config_t *config_ptr = va_arg(arguments, H5AC_cache_config_t *);
|
||||
|
||||
@ -1861,7 +1869,7 @@ H5VL__native_file_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id, void H5_ATTR
|
||||
}
|
||||
|
||||
/* H5Fget_mdc_hit_rate */
|
||||
case H5VL_FILE_GET_MDC_HR:
|
||||
case H5VL_NATIVE_FILE_GET_MDC_HR:
|
||||
{
|
||||
double *hit_rate_ptr = va_arg(arguments, double *);
|
||||
|
||||
@ -1872,7 +1880,7 @@ H5VL__native_file_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id, void H5_ATTR
|
||||
}
|
||||
|
||||
/* H5Fget_mdc_size */
|
||||
case H5VL_FILE_GET_MDC_SIZE:
|
||||
case H5VL_NATIVE_FILE_GET_MDC_SIZE:
|
||||
{
|
||||
size_t *max_size_ptr = va_arg(arguments, size_t *);
|
||||
size_t *min_clean_size_ptr = va_arg(arguments, size_t *);
|
||||
@ -1891,7 +1899,7 @@ H5VL__native_file_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id, void H5_ATTR
|
||||
}
|
||||
|
||||
/* H5Fget_vfd_handle */
|
||||
case H5VL_FILE_GET_VFD_HANDLE:
|
||||
case H5VL_NATIVE_FILE_GET_VFD_HANDLE:
|
||||
{
|
||||
void **file_handle = va_arg(arguments, void **);
|
||||
hid_t fapl_id = va_arg(arguments, hid_t);
|
||||
@ -1903,7 +1911,7 @@ H5VL__native_file_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id, void H5_ATTR
|
||||
}
|
||||
|
||||
/* H5Iget_file_id */
|
||||
case H5VL_FILE_GET_FILE_ID:
|
||||
case H5VL_NATIVE_FILE_GET_FILE_ID:
|
||||
{
|
||||
H5I_type_t type = va_arg(arguments, H5I_type_t);
|
||||
hid_t *file_id = va_arg(arguments, hid_t *);
|
||||
@ -1916,7 +1924,7 @@ H5VL__native_file_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id, void H5_ATTR
|
||||
}
|
||||
|
||||
/* H5Fclear_elink_file_cache */
|
||||
case H5VL_FILE_CLEAR_ELINK_CACHE:
|
||||
case H5VL_NATIVE_FILE_CLEAR_ELINK_CACHE:
|
||||
{
|
||||
/* Release the EFC */
|
||||
if(f->shared->efc)
|
||||
@ -1926,7 +1934,7 @@ H5VL__native_file_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id, void H5_ATTR
|
||||
}
|
||||
|
||||
/* H5Freset_mdc_hit_rate_stats */
|
||||
case H5VL_FILE_RESET_MDC_HIT_RATE:
|
||||
case H5VL_NATIVE_FILE_RESET_MDC_HIT_RATE:
|
||||
{
|
||||
/* Reset the hit rate statistic */
|
||||
if(H5AC_reset_cache_hit_rate_stats(f->shared->cache) < 0)
|
||||
@ -1934,7 +1942,8 @@ H5VL__native_file_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id, void H5_ATTR
|
||||
break;
|
||||
}
|
||||
|
||||
case H5VL_FILE_SET_MDC_CONFIG:
|
||||
/* H5Fset_mdc_config */
|
||||
case H5VL_NATIVE_FILE_SET_MDC_CONFIG:
|
||||
{
|
||||
H5AC_cache_config_t *config_ptr = va_arg(arguments, H5AC_cache_config_t *);
|
||||
|
||||
@ -1944,7 +1953,8 @@ H5VL__native_file_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id, void H5_ATTR
|
||||
break;
|
||||
}
|
||||
|
||||
case H5VL_FILE_GET_METADATA_READ_RETRY_INFO:
|
||||
/* H5Fget_metadata_read_retry_info */
|
||||
case H5VL_NATIVE_FILE_GET_METADATA_READ_RETRY_INFO:
|
||||
{
|
||||
H5F_retry_info_t *info = va_arg(arguments, H5F_retry_info_t *);
|
||||
|
||||
@ -1954,7 +1964,8 @@ H5VL__native_file_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id, void H5_ATTR
|
||||
break;
|
||||
}
|
||||
|
||||
case H5VL_FILE_START_SWMR_WRITE:
|
||||
/* H5Fstart_swmr_write */
|
||||
case H5VL_NATIVE_FILE_START_SWMR_WRITE:
|
||||
{
|
||||
if(H5F__start_swmr_write(f) < 0)
|
||||
HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "can't start SWMR write")
|
||||
@ -1962,7 +1973,8 @@ H5VL__native_file_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id, void H5_ATTR
|
||||
break;
|
||||
}
|
||||
|
||||
case H5VL_FILE_START_MDC_LOGGING:
|
||||
/* H5Fstart_mdc_logging */
|
||||
case H5VL_NATIVE_FILE_START_MDC_LOGGING:
|
||||
{
|
||||
/* Call mdc logging function */
|
||||
if(H5C_start_logging(f->shared->cache) < 0)
|
||||
@ -1971,7 +1983,8 @@ H5VL__native_file_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id, void H5_ATTR
|
||||
break;
|
||||
}
|
||||
|
||||
case H5VL_FILE_STOP_MDC_LOGGING:
|
||||
/* H5Fstop_mdc_logging */
|
||||
case H5VL_NATIVE_FILE_STOP_MDC_LOGGING:
|
||||
{
|
||||
/* Call mdc logging function */
|
||||
if(H5C_stop_logging(f->shared->cache) < 0)
|
||||
@ -1980,7 +1993,8 @@ H5VL__native_file_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id, void H5_ATTR
|
||||
break;
|
||||
}
|
||||
|
||||
case H5VL_FILE_GET_MDC_LOGGING_STATUS:
|
||||
/* H5Fget_mdc_logging_status */
|
||||
case H5VL_NATIVE_FILE_GET_MDC_LOGGING_STATUS:
|
||||
{
|
||||
hbool_t *is_enabled = va_arg(arguments, hbool_t *);
|
||||
hbool_t *is_currently_logging = va_arg(arguments, hbool_t *);
|
||||
@ -1992,7 +2006,8 @@ H5VL__native_file_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id, void H5_ATTR
|
||||
break;
|
||||
}
|
||||
|
||||
case H5VL_FILE_FORMAT_CONVERT:
|
||||
/* H5Fformat_convert */
|
||||
case H5VL_NATIVE_FILE_FORMAT_CONVERT:
|
||||
{
|
||||
/* Convert the format */
|
||||
if(H5F__format_convert(f) < 0)
|
||||
@ -2001,7 +2016,8 @@ H5VL__native_file_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id, void H5_ATTR
|
||||
break;
|
||||
}
|
||||
|
||||
case H5VL_FILE_RESET_PAGE_BUFFERING_STATS:
|
||||
/* H5Freset_page_buffering_stats */
|
||||
case H5VL_NATIVE_FILE_RESET_PAGE_BUFFERING_STATS:
|
||||
{
|
||||
/* Sanity check */
|
||||
if(NULL == f->shared->page_buf)
|
||||
@ -2014,7 +2030,8 @@ H5VL__native_file_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id, void H5_ATTR
|
||||
break;
|
||||
}
|
||||
|
||||
case H5VL_FILE_GET_PAGE_BUFFERING_STATS:
|
||||
/* H5Fget_page_buffering_stats */
|
||||
case H5VL_NATIVE_FILE_GET_PAGE_BUFFERING_STATS:
|
||||
{
|
||||
unsigned *accesses = va_arg(arguments, unsigned *);
|
||||
unsigned *hits = va_arg(arguments, unsigned *);
|
||||
@ -2033,7 +2050,8 @@ H5VL__native_file_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id, void H5_ATTR
|
||||
break;
|
||||
}
|
||||
|
||||
case H5VL_FILE_GET_MDC_IMAGE_INFO:
|
||||
/* H5Fget_mdc_image_info */
|
||||
case H5VL_NATIVE_FILE_GET_MDC_IMAGE_INFO:
|
||||
{
|
||||
haddr_t *image_addr = va_arg(arguments, haddr_t *);
|
||||
hsize_t *image_len = va_arg(arguments, hsize_t *);
|
||||
@ -2045,7 +2063,8 @@ H5VL__native_file_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id, void H5_ATTR
|
||||
break;
|
||||
}
|
||||
|
||||
case H5VL_FILE_GET_EOA:
|
||||
/* H5Fget_eoa */
|
||||
case H5VL_NATIVE_FILE_GET_EOA:
|
||||
{
|
||||
haddr_t *eoa = va_arg(arguments, haddr_t *);
|
||||
haddr_t rel_eoa; /* Relative address of EOA */
|
||||
@ -2069,7 +2088,8 @@ H5VL__native_file_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id, void H5_ATTR
|
||||
break;
|
||||
}
|
||||
|
||||
case H5VL_FILE_INCR_FILESIZE:
|
||||
/* H5Fincrement_filesize */
|
||||
case H5VL_NATIVE_FILE_INCR_FILESIZE:
|
||||
{
|
||||
hsize_t increment = va_arg(arguments, hsize_t);
|
||||
haddr_t max_eof_eoa; /* Maximum of the relative EOA & EOF */
|
||||
@ -2090,7 +2110,8 @@ H5VL__native_file_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id, void H5_ATTR
|
||||
break;
|
||||
}
|
||||
|
||||
case H5VL_FILE_SET_LIBVER_BOUNDS:
|
||||
/* H5Fset_latest_format, H5Fset_libver_bounds */
|
||||
case H5VL_NATIVE_FILE_SET_LIBVER_BOUNDS:
|
||||
{
|
||||
H5F_libver_t low = va_arg(arguments, H5F_libver_t);
|
||||
H5F_libver_t high = va_arg(arguments, H5F_libver_t);
|
||||
@ -2413,16 +2434,16 @@ static herr_t
|
||||
H5VL__native_group_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id,
|
||||
void H5_ATTR_UNUSED **req, va_list arguments)
|
||||
{
|
||||
H5VL_group_optional_t optional_type;
|
||||
H5VL_native_group_optional_t optional_type;
|
||||
herr_t ret_value = SUCCEED; /* Return value */
|
||||
|
||||
FUNC_ENTER_STATIC
|
||||
|
||||
optional_type = va_arg(arguments, H5VL_group_optional_t);
|
||||
optional_type = va_arg(arguments, H5VL_native_group_optional_t);
|
||||
switch(optional_type) {
|
||||
#ifndef H5_NO_DEPRECATED_SYMBOLS
|
||||
/* H5Giterate (deprecated) */
|
||||
case H5VL_GROUP_ITERATE_OLD:
|
||||
case H5VL_NATIVE_GROUP_ITERATE_OLD:
|
||||
{
|
||||
const H5VL_loc_params_t *loc_params = va_arg(arguments, const H5VL_loc_params_t *);
|
||||
hsize_t idx = va_arg(arguments, hsize_t);
|
||||
@ -2443,7 +2464,7 @@ H5VL__native_group_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id,
|
||||
}
|
||||
|
||||
/* H5Gget_objinfo (deprecated) */
|
||||
case H5VL_GROUP_GET_OBJINFO:
|
||||
case H5VL_NATIVE_GROUP_GET_OBJINFO:
|
||||
{
|
||||
const H5VL_loc_params_t *loc_params = va_arg(arguments, const H5VL_loc_params_t *);
|
||||
hbool_t follow_link = va_arg(arguments, unsigned);
|
||||
@ -2460,6 +2481,15 @@ H5VL__native_group_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id,
|
||||
|
||||
break;
|
||||
}
|
||||
#else
|
||||
/* XXX: These cases only exist because they are the only group optional
|
||||
* values and we can't have empty enums. Delete them when we have
|
||||
* non-deprecated group optional enum values.
|
||||
*/
|
||||
case H5VL_NATIVE_GROUP_ITERATE_OLD:
|
||||
HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "H5VL_NATIVE_GROUP_ITERATE_OLD is not a valid value when the library is built without deprecated routines")
|
||||
case H5VL_NATIVE_GROUP_GET_OBJINFO:
|
||||
HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "H5VL_NATIVE_GROUP_GET_OBJINFO is not a valid value when the library is built without deprecated routines")
|
||||
#endif /* H5_NO_DEPRECATED_SYMBOLS */
|
||||
|
||||
default:
|
||||
@ -3282,7 +3312,7 @@ static herr_t
|
||||
H5VL__native_object_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id,
|
||||
void H5_ATTR_UNUSED **req, va_list arguments)
|
||||
{
|
||||
H5VL_object_optional_t optional_type = va_arg(arguments, H5VL_object_optional_t);
|
||||
H5VL_native_object_optional_t optional_type = va_arg(arguments, H5VL_native_object_optional_t);
|
||||
H5VL_loc_params_t *loc_params = va_arg(arguments, H5VL_loc_params_t *);
|
||||
H5G_loc_t loc; /* Location of group */
|
||||
herr_t ret_value = SUCCEED; /* Return value */
|
||||
@ -3294,7 +3324,7 @@ H5VL__native_object_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id,
|
||||
|
||||
switch(optional_type) {
|
||||
/* H5Oget_info / H5Oget_info_by_name / H5Oget_info_by_idx */
|
||||
case H5VL_OBJECT_GET_INFO:
|
||||
case H5VL_NATIVE_OBJECT_GET_INFO:
|
||||
{
|
||||
H5O_info_t *obj_info = va_arg(arguments, H5O_info_t *);
|
||||
unsigned fields = va_arg(arguments, unsigned);
|
||||
@ -3342,7 +3372,7 @@ H5VL__native_object_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id,
|
||||
}
|
||||
|
||||
/* H5Oget_comment / H5Oget_comment_by_name */
|
||||
case H5VL_OBJECT_GET_COMMENT:
|
||||
case H5VL_NATIVE_OBJECT_GET_COMMENT:
|
||||
{
|
||||
char *comment = va_arg(arguments, char *);
|
||||
size_t bufsize = va_arg(arguments, size_t);
|
||||
@ -3363,7 +3393,7 @@ H5VL__native_object_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id,
|
||||
}
|
||||
|
||||
/* H5Oset_comment */
|
||||
case H5VL_OBJECT_SET_COMMENT:
|
||||
case H5VL_NATIVE_OBJECT_SET_COMMENT:
|
||||
{
|
||||
const char *comment = va_arg(arguments, char *);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user