mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-04-18 17:40:55 +08:00
Normalization with vol_integration (property lists, file drivers,
other misc).
This commit is contained in:
parent
1c8916ca0e
commit
265652fe54
976
src/H5FD.c
976
src/H5FD.c
File diff suppressed because it is too large
Load Diff
167
src/H5FDint.c
167
src/H5FDint.c
@ -13,11 +13,9 @@
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
*
|
||||
* Created: H5FDint.c
|
||||
* Jan 17 2008
|
||||
* Quincey Koziol <koziol@hdfgroup.org>
|
||||
* Created: H5FDint.c
|
||||
*
|
||||
* Purpose: Internal routine for VFD operations
|
||||
* Purpose: Internal routine for VFD operations
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -32,12 +30,12 @@
|
||||
/***********/
|
||||
/* Headers */
|
||||
/***********/
|
||||
#include "H5private.h" /* Generic Functions */
|
||||
#include "H5CXprivate.h" /* API Contexts */
|
||||
#include "H5Eprivate.h" /* Error handling */
|
||||
#include "H5Fprivate.h" /* File access */
|
||||
#include "H5FDpkg.h" /* File Drivers */
|
||||
#include "H5Iprivate.h" /* IDs */
|
||||
#include "H5private.h" /* Generic Functions */
|
||||
#include "H5CXprivate.h" /* API Contexts */
|
||||
#include "H5Eprivate.h" /* Error handling */
|
||||
#include "H5Fprivate.h" /* File access */
|
||||
#include "H5FDpkg.h" /* File Drivers */
|
||||
#include "H5Iprivate.h" /* IDs */
|
||||
|
||||
|
||||
/****************/
|
||||
@ -83,26 +81,26 @@
|
||||
* signature can appear at address 0, or any power of two
|
||||
* beginning with 512.
|
||||
*
|
||||
* Return: Success: SUCCEED
|
||||
* Failure: FAIL
|
||||
*
|
||||
* Programmer: Robb Matzke
|
||||
* Friday, November 7, 1997
|
||||
* Return: SUCCEED/FAIL
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
herr_t
|
||||
H5FD_locate_signature(H5FD_t *file, haddr_t *sig_addr)
|
||||
{
|
||||
haddr_t addr, eoa, eof;
|
||||
haddr_t addr = HADDR_UNDEF;
|
||||
haddr_t eoa = HADDR_UNDEF;
|
||||
haddr_t eof = HADDR_UNDEF;
|
||||
uint8_t buf[H5F_SIGNATURE_LEN];
|
||||
unsigned n, maxpow;
|
||||
unsigned n;
|
||||
unsigned maxpow;
|
||||
herr_t ret_value = SUCCEED; /* Return value */
|
||||
|
||||
FUNC_ENTER_NOAPI_NOINIT
|
||||
|
||||
/* Sanity checks */
|
||||
HDassert(file);
|
||||
HDassert(sig_addr);
|
||||
|
||||
/* Find the least N such that 2^N is larger than the file size */
|
||||
eof = H5FD_get_eof(file, H5FD_MEM_SUPER);
|
||||
@ -114,8 +112,7 @@ H5FD_locate_signature(H5FD_t *file, haddr_t *sig_addr)
|
||||
addr >>= 1;
|
||||
maxpow = MAX(maxpow, 9);
|
||||
|
||||
/*
|
||||
* Search for the file signature at format address zero followed by
|
||||
/* Search for the file signature at format address zero followed by
|
||||
* powers of two larger than 9.
|
||||
*/
|
||||
for(n = 8; n < maxpow; n++) {
|
||||
@ -126,17 +123,16 @@ H5FD_locate_signature(H5FD_t *file, haddr_t *sig_addr)
|
||||
HGOTO_ERROR(H5E_IO, H5E_CANTINIT, FAIL, "unable to read file signature")
|
||||
if(!HDmemcmp(buf, H5F_SIGNATURE, (size_t)H5F_SIGNATURE_LEN))
|
||||
break;
|
||||
} /* end for */
|
||||
}
|
||||
|
||||
/*
|
||||
* If the signature was not found then reset the EOA value and return
|
||||
/* If the signature was not found then reset the EOA value and return
|
||||
* HADDR_UNDEF.
|
||||
*/
|
||||
if(n >= maxpow) {
|
||||
if(H5FD_set_eoa(file, H5FD_MEM_SUPER, eoa) < 0)
|
||||
HGOTO_ERROR(H5E_IO, H5E_CANTINIT, FAIL, "unable to reset EOA value")
|
||||
*sig_addr = HADDR_UNDEF;
|
||||
} /* end if */
|
||||
}
|
||||
else
|
||||
/* Set return value */
|
||||
*sig_addr = addr;
|
||||
@ -147,44 +143,41 @@ done:
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5FD_read
|
||||
* Function: H5FD_read
|
||||
*
|
||||
* Purpose: Private version of H5FDread()
|
||||
* Purpose: Private version of H5FDread()
|
||||
*
|
||||
* Return: Success: Non-negative
|
||||
* Failure: Negative
|
||||
*
|
||||
* Programmer: Robb Matzke
|
||||
* Wednesday, August 4, 1999
|
||||
* Return: SUCCEED/FAIL
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
herr_t
|
||||
H5FD_read(H5FD_t *file, H5FD_mem_t type, haddr_t addr, size_t size,
|
||||
void *buf/*out*/)
|
||||
H5FD_read(H5FD_t *file, H5FD_mem_t type, haddr_t addr, size_t size, void *buf/*out*/)
|
||||
{
|
||||
hid_t dxpl_id; /* DXPL for operation */
|
||||
herr_t ret_value = SUCCEED; /* Return value */
|
||||
hid_t dxpl_id = H5I_INVALID_HID; /* DXPL for operation */
|
||||
herr_t ret_value = SUCCEED; /* Return value */
|
||||
|
||||
FUNC_ENTER_NOAPI(FAIL)
|
||||
|
||||
/* Sanity checks */
|
||||
HDassert(file && file->cls);
|
||||
HDassert(file);
|
||||
HDassert(file->cls);
|
||||
HDassert(buf);
|
||||
|
||||
/* Get proper DXPL for I/O */
|
||||
dxpl_id = H5CX_get_dxpl();
|
||||
|
||||
#ifndef H5_HAVE_PARALLEL
|
||||
/* Do not return early for Parallel mode since the I/O could be a */
|
||||
/* collective transfer. */
|
||||
/* The no-op case */
|
||||
/* The no-op case
|
||||
*
|
||||
* Do not return early for Parallel mode since the I/O could be a
|
||||
* collective transfer.
|
||||
*/
|
||||
if(0 == size)
|
||||
HGOTO_DONE(SUCCEED)
|
||||
#endif /* H5_HAVE_PARALLEL */
|
||||
|
||||
/*
|
||||
* If the file is open for SWMR read access, allow access to data past
|
||||
/* If the file is open for SWMR read access, allow access to data past
|
||||
* the end of the allocated space (the 'eoa'). This is done because the
|
||||
* eoa stored in the file's superblock might be out of sync with the
|
||||
* objects being written within the file by the application performing
|
||||
@ -198,7 +191,7 @@ H5FD_read(H5FD_t *file, H5FD_mem_t type, haddr_t addr, size_t size,
|
||||
|
||||
if((addr + file->base_addr + size) > eoa)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_OVERFLOW, FAIL, "addr overflow, addr = %llu, size = %llu, eoa = %llu", (unsigned long long)(addr + file->base_addr), (unsigned long long)size, (unsigned long long)eoa)
|
||||
} /* end if */
|
||||
}
|
||||
|
||||
/* Dispatch to driver */
|
||||
if((file->cls->read)(file, type, dxpl_id, addr + file->base_addr, size, buf) < 0)
|
||||
@ -210,45 +203,43 @@ done:
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5FD_write
|
||||
* Function: H5FD_write
|
||||
*
|
||||
* Purpose: Private version of H5FDwrite()
|
||||
* Purpose: Private version of H5FDwrite()
|
||||
*
|
||||
* Return: Success: Non-negative
|
||||
* Failure: Negative
|
||||
*
|
||||
* Programmer: Robb Matzke
|
||||
* Wednesday, August 4, 1999
|
||||
* Return: SUCCEED/FAIL
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
herr_t
|
||||
H5FD_write(H5FD_t *file, H5FD_mem_t type, haddr_t addr, size_t size,
|
||||
const void *buf)
|
||||
H5FD_write(H5FD_t *file, H5FD_mem_t type, haddr_t addr, size_t size, const void *buf)
|
||||
{
|
||||
hid_t dxpl_id; /* DXPL for operation */
|
||||
haddr_t eoa = HADDR_UNDEF; /* EOA for file */
|
||||
herr_t ret_value = SUCCEED; /* Return value */
|
||||
hid_t dxpl_id; /* DXPL for operation */
|
||||
haddr_t eoa = HADDR_UNDEF; /* EOA for file */
|
||||
herr_t ret_value = SUCCEED; /* Return value */
|
||||
|
||||
FUNC_ENTER_NOAPI(FAIL)
|
||||
|
||||
/* Sanity checks */
|
||||
HDassert(file && file->cls);
|
||||
HDassert(file);
|
||||
HDassert(file->cls);
|
||||
HDassert(buf);
|
||||
|
||||
/* Get proper DXPL for I/O */
|
||||
dxpl_id = H5CX_get_dxpl();
|
||||
|
||||
#ifndef H5_HAVE_PARALLEL
|
||||
/* Do not return early for Parallel mode since the I/O could be a */
|
||||
/* collective transfer. */
|
||||
/* The no-op case */
|
||||
/* The no-op case
|
||||
*
|
||||
* Do not return early for Parallel mode since the I/O could be a
|
||||
* collective transfer.
|
||||
*/
|
||||
if(0 == size)
|
||||
HGOTO_DONE(SUCCEED)
|
||||
#endif /* H5_HAVE_PARALLEL */
|
||||
|
||||
if(HADDR_UNDEF == (eoa = (file->cls->get_eoa)(file, type)))
|
||||
HGOTO_ERROR(H5E_VFL, H5E_CANTINIT, FAIL, "driver get_eoa request failed")
|
||||
HGOTO_ERROR(H5E_VFL, H5E_CANTINIT, FAIL, "driver get_eoa request failed")
|
||||
if((addr + file->base_addr + size) > eoa)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_OVERFLOW, FAIL, "addr overflow, addr = %llu, size=%llu, eoa=%llu",
|
||||
(unsigned long long)(addr+ file->base_addr), (unsigned long long)size, (unsigned long long)eoa)
|
||||
@ -263,20 +254,16 @@ done:
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5FD_set_eoa
|
||||
* Function: H5FD_set_eoa
|
||||
*
|
||||
* Purpose: Private version of H5FDset_eoa()
|
||||
* Purpose: Private version of H5FDset_eoa()
|
||||
*
|
||||
* This function expects the EOA is a RELATIVE address, i.e.
|
||||
* relative to the base address. This is NOT the same as the
|
||||
* EOA stored in the superblock, which is an absolute
|
||||
* address. Object addresses are relative.
|
||||
*
|
||||
* Return: Success: Non-negative
|
||||
* Failure: Negative, no side effect
|
||||
*
|
||||
* Programmer: Robb Matzke
|
||||
* Wednesday, August 4, 1999
|
||||
* Return: SUCCEED/FAIL
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -292,7 +279,7 @@ H5FD_set_eoa(H5FD_t *file, H5FD_mem_t type, haddr_t addr)
|
||||
|
||||
/* Dispatch to driver, convert to absolute address */
|
||||
if((file->cls->set_eoa)(file, type, addr + file->base_addr) < 0)
|
||||
HGOTO_ERROR(H5E_VFL, H5E_CANTINIT, FAIL, "driver set_eoa request failed")
|
||||
HGOTO_ERROR(H5E_VFL, H5E_CANTINIT, FAIL, "driver set_eoa request failed")
|
||||
|
||||
done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
@ -300,20 +287,18 @@ done:
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5FD_get_eoa
|
||||
* Function: H5FD_get_eoa
|
||||
*
|
||||
* Purpose: Private version of H5FDget_eoa()
|
||||
* Purpose: Private version of H5FDget_eoa()
|
||||
*
|
||||
* This function returns the EOA as a RELATIVE address, i.e.
|
||||
* relative to the base address. This is NOT the same as the
|
||||
* EOA stored in the superblock, which is an absolute
|
||||
* address. Object addresses are relative.
|
||||
*
|
||||
* Return: Success: First byte after allocated memory.
|
||||
* Failure: HADDR_UNDEF
|
||||
* Return: Success: First byte after allocated memory
|
||||
*
|
||||
* Programmer: Robb Matzke
|
||||
* Wednesday, August 4, 1999
|
||||
* Failure: HADDR_UNDEF
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -328,7 +313,7 @@ H5FD_get_eoa(const H5FD_t *file, H5FD_mem_t type)
|
||||
|
||||
/* Dispatch to driver */
|
||||
if(HADDR_UNDEF == (ret_value = (file->cls->get_eoa)(file, type)))
|
||||
HGOTO_ERROR(H5E_VFL, H5E_CANTINIT, HADDR_UNDEF, "driver get_eoa request failed")
|
||||
HGOTO_ERROR(H5E_VFL, H5E_CANTINIT, HADDR_UNDEF, "driver get_eoa request failed")
|
||||
|
||||
/* Adjust for base address in file (convert to relative address) */
|
||||
ret_value -= file->base_addr;
|
||||
@ -339,23 +324,18 @@ done:
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5FD_get_eof
|
||||
* Function: H5FD_get_eof
|
||||
*
|
||||
* Purpose: Private version of H5FDget_eof()
|
||||
* Purpose: Private version of H5FDget_eof()
|
||||
*
|
||||
* This function returns the EOF as a RELATIVE address, i.e.
|
||||
* relative to the base address. This will be different
|
||||
* from the end of the physical file if there is a user
|
||||
* block.
|
||||
*
|
||||
* Return: Success: The EOF address.
|
||||
* Return: Success: The EOF address.
|
||||
*
|
||||
* Failure: HADDR_UNDEF
|
||||
*
|
||||
* Programmer: Robb Matzke
|
||||
* Wednesday, August 4, 1999
|
||||
*
|
||||
* Modifications:
|
||||
* Failure: HADDR_UNDEF
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -370,11 +350,11 @@ H5FD_get_eof(const H5FD_t *file, H5FD_mem_t type)
|
||||
|
||||
/* Dispatch to driver */
|
||||
if(file->cls->get_eof) {
|
||||
if(HADDR_UNDEF == (ret_value = (file->cls->get_eof)(file, type)))
|
||||
HGOTO_ERROR(H5E_VFL, H5E_CANTGET, HADDR_UNDEF, "driver get_eof request failed")
|
||||
} /* end if */
|
||||
if(HADDR_UNDEF == (ret_value = (file->cls->get_eof)(file, type)))
|
||||
HGOTO_ERROR(H5E_VFL, H5E_CANTGET, HADDR_UNDEF, "driver get_eof request failed")
|
||||
}
|
||||
else
|
||||
ret_value = file->maxaddr;
|
||||
ret_value = file->maxaddr;
|
||||
|
||||
/* Adjust for base address in file (convert to relative address) */
|
||||
ret_value -= file->base_addr;
|
||||
@ -385,17 +365,14 @@ done:
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5FD_driver_query
|
||||
* Function: H5FD_driver_query
|
||||
*
|
||||
* Purpose: Similar to H5FD_query(), but intended for cases when we don't
|
||||
* have a file available (e.g. before one is opened). Since we
|
||||
* can't use the file to get the driver, the driver is passed in
|
||||
* as a parameter.
|
||||
* Purpose: Similar to H5FD_query(), but intended for cases when we don't
|
||||
* have a file available (e.g. before one is opened). Since we
|
||||
* can't use the file to get the driver, the driver is passed in
|
||||
* as a parameter.
|
||||
*
|
||||
* Return: SUCCEED/FAIL
|
||||
*
|
||||
* Programmer: Jacob Gruber
|
||||
* Wednesday, August 17, 2011
|
||||
* Return: SUCCEED/FAIL
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -153,7 +153,7 @@ done:
|
||||
*
|
||||
* Return: Success: SUCCEED
|
||||
*
|
||||
* Failure: Negative
|
||||
* Failure: FAIL
|
||||
*
|
||||
* Programmer: John Mainzer
|
||||
* 4/4/17
|
||||
|
@ -30,7 +30,6 @@
|
||||
#include "H5FDprivate.h" /* File drivers */
|
||||
|
||||
/* Other private headers needed by this file */
|
||||
#include "H5FLprivate.h" /* Free lists */
|
||||
|
||||
/**************************/
|
||||
/* Package Private Macros */
|
||||
@ -50,10 +49,8 @@
|
||||
/******************************/
|
||||
/* Package Private Prototypes */
|
||||
/******************************/
|
||||
H5_DLL haddr_t H5FD__alloc_real(H5FD_t *file, H5FD_mem_t type, hsize_t size,
|
||||
haddr_t *align_addr, hsize_t *align_size);
|
||||
H5_DLL herr_t H5FD_free_real(H5FD_t *file, H5FD_mem_t type, haddr_t addr,
|
||||
hsize_t size);
|
||||
H5_DLL haddr_t H5FD__alloc_real(H5FD_t *file, H5FD_mem_t type, hsize_t size, haddr_t *align_addr, hsize_t *align_size);
|
||||
H5_DLL herr_t H5FD__free_real(H5FD_t *file, H5FD_mem_t type, haddr_t addr, hsize_t size);
|
||||
|
||||
/* Testing functions */
|
||||
#ifdef H5FD_TESTING
|
||||
|
@ -130,7 +130,7 @@ H5_DLL H5FD_t *H5FD_open(const char *name, unsigned flags, hid_t fapl_id,
|
||||
H5_DLL herr_t H5FD_close(H5FD_t *file);
|
||||
H5_DLL int H5FD_cmp(const H5FD_t *f1, const H5FD_t *f2);
|
||||
H5_DLL herr_t H5FD_driver_query(const H5FD_class_t *driver, unsigned long *flags/*out*/);
|
||||
H5_DLL haddr_t H5FD_alloc(H5FD_t *file, H5FD_mem_t type,
|
||||
H5_DLL haddr_t H5FD_alloc(H5FD_t *file, H5FD_mem_t type,
|
||||
struct H5F_t *f, hsize_t size, haddr_t *frag_addr, hsize_t *frag_size);
|
||||
H5_DLL herr_t H5FD_free(H5FD_t *file, H5FD_mem_t type, struct H5F_t *f,
|
||||
haddr_t addr, hsize_t size);
|
||||
@ -143,10 +143,8 @@ H5_DLL haddr_t H5FD_get_maxaddr(const H5FD_t *file);
|
||||
H5_DLL herr_t H5FD_get_feature_flags(const H5FD_t *file, unsigned long *feature_flags);
|
||||
H5_DLL herr_t H5FD_set_feature_flags(H5FD_t *file, unsigned long feature_flags);
|
||||
H5_DLL herr_t H5FD_get_fs_type_map(const H5FD_t *file, H5FD_mem_t *type_map);
|
||||
H5_DLL herr_t H5FD_read(H5FD_t *file, H5FD_mem_t type, haddr_t addr,
|
||||
size_t size, void *buf/*out*/);
|
||||
H5_DLL herr_t H5FD_write(H5FD_t *file, H5FD_mem_t type, haddr_t addr,
|
||||
size_t size, const void *buf);
|
||||
H5_DLL herr_t H5FD_read(H5FD_t *file, H5FD_mem_t type, haddr_t addr, size_t size, void *buf/*out*/);
|
||||
H5_DLL herr_t H5FD_write(H5FD_t *file, H5FD_mem_t type, haddr_t addr, size_t size, const void *buf);
|
||||
H5_DLL herr_t H5FD_flush(H5FD_t *file, hbool_t closing);
|
||||
H5_DLL herr_t H5FD_truncate(H5FD_t *file, hbool_t closing);
|
||||
H5_DLL herr_t H5FD_lock(H5FD_t *file, hbool_t rw);
|
||||
|
@ -274,7 +274,7 @@ done:
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5FD_free_real
|
||||
* Function: H5FD__free_real
|
||||
*
|
||||
* Purpose: Release space back to the VFD
|
||||
*
|
||||
@ -287,11 +287,11 @@ done:
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
herr_t
|
||||
H5FD_free_real(H5FD_t *file, H5FD_mem_t type, haddr_t addr, hsize_t size)
|
||||
H5FD__free_real(H5FD_t *file, H5FD_mem_t type, haddr_t addr, hsize_t size)
|
||||
{
|
||||
herr_t ret_value = SUCCEED; /* Return value */
|
||||
|
||||
FUNC_ENTER_NOAPI_NOINIT
|
||||
FUNC_ENTER_PACKAGE
|
||||
|
||||
/* Check args */
|
||||
HDassert(file);
|
||||
@ -349,13 +349,13 @@ HDfprintf(stderr, "%s: LEAKED MEMORY!!! type = %u, addr = %a, size = %Hu\n", FUN
|
||||
|
||||
done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* end H5FD_free_real() */
|
||||
} /* end H5FD__free_real() */
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5FD_free
|
||||
*
|
||||
* Purpose: Wrapper for H5FD_free_real, to make certain EOA changes are
|
||||
* Purpose: Wrapper for H5FD__free_real, to make certain EOA changes are
|
||||
* reflected in superblock.
|
||||
*
|
||||
* Note: When the metadata cache routines are updated to allow
|
||||
@ -384,7 +384,7 @@ H5FD_free(H5FD_t *file, H5FD_mem_t type, H5F_t *f, haddr_t addr, hsize_t size)
|
||||
HDassert(size > 0);
|
||||
|
||||
/* Call the real 'free' routine */
|
||||
if(H5FD_free_real(file, type, addr, size) < 0)
|
||||
if(H5FD__free_real(file, type, addr, size) < 0)
|
||||
HGOTO_ERROR(H5E_VFL, H5E_CANTFREE, FAIL, "real 'free' request failed")
|
||||
|
||||
/* Mark EOA info dirty in cache, so change will get encoded */
|
||||
@ -415,8 +415,7 @@ done:
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
htri_t
|
||||
H5FD_try_extend(H5FD_t *file, H5FD_mem_t type, H5F_t *f, haddr_t blk_end,
|
||||
hsize_t extra_requested)
|
||||
H5FD_try_extend(H5FD_t *file, H5FD_mem_t type, H5F_t *f, haddr_t blk_end, hsize_t extra_requested)
|
||||
{
|
||||
haddr_t eoa; /* End of allocated space in file */
|
||||
htri_t ret_value = FALSE; /* Return value */
|
||||
|
68
src/H5FS.c
68
src/H5FS.c
@ -58,8 +58,8 @@
|
||||
/********************/
|
||||
|
||||
/* Section info routines */
|
||||
static herr_t H5FS_sinfo_free_sect_cb(void *item, void *key, void *op_data);
|
||||
static herr_t H5FS_sinfo_free_node_cb(void *item, void *key, void *op_data);
|
||||
static herr_t H5FS__sinfo_free_sect_cb(void *item, void *key, void *op_data);
|
||||
static herr_t H5FS__sinfo_free_node_cb(void *item, void *key, void *op_data);
|
||||
|
||||
|
||||
/*********************/
|
||||
@ -221,7 +221,7 @@ HDfprintf(stderr, "%s: fspace->rc = %u\n", FUNC, fspace->rc);
|
||||
|
||||
/* Increment the reference count on the free space manager header */
|
||||
HDassert(fspace->rc <= 1);
|
||||
if(H5FS_incr(fspace) < 0)
|
||||
if(H5FS__incr(fspace) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTINC, NULL, "unable to increment ref. count on free space header")
|
||||
|
||||
fspace->alignment = alignment;
|
||||
@ -545,7 +545,7 @@ HDfprintf(stderr, "%s: Section info is NOT for file free space\n", FUNC);
|
||||
} /* end if */
|
||||
|
||||
/* Destroy section info */
|
||||
if(H5FS_sinfo_dest(fspace->sinfo) < 0)
|
||||
if(H5FS__sinfo_dest(fspace->sinfo) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTCLOSEOBJ, FAIL, "unable to destroy free space section info")
|
||||
} /* end else */
|
||||
|
||||
@ -560,7 +560,7 @@ HDfprintf(stderr, "%s: Section info is NOT for file free space\n", FUNC);
|
||||
} /* end else */
|
||||
|
||||
/* Decrement the reference count on the free space manager header */
|
||||
if(H5FS_decr(fspace) < 0)
|
||||
if(H5FS__decr(fspace) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTDEC, FAIL, "unable to decrement ref. count on free space header")
|
||||
|
||||
done:
|
||||
@ -683,7 +683,7 @@ H5FS_size(const H5F_t *f, const H5FS_t *fspace, hsize_t *meta_size)
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5FS_incr
|
||||
* Function: H5FS__incr
|
||||
*
|
||||
* Purpose: Increment reference count on free space header
|
||||
*
|
||||
@ -695,11 +695,11 @@ H5FS_size(const H5F_t *f, const H5FS_t *fspace, hsize_t *meta_size)
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
herr_t
|
||||
H5FS_incr(H5FS_t *fspace)
|
||||
H5FS__incr(H5FS_t *fspace)
|
||||
{
|
||||
herr_t ret_value = SUCCEED; /* Return value */
|
||||
|
||||
FUNC_ENTER_NOAPI(FAIL)
|
||||
FUNC_ENTER_PACKAGE
|
||||
#ifdef H5FS_DEBUG
|
||||
HDfprintf(stderr, "%s: Entering, fpace->addr = %a, fspace->rc = %u\n", FUNC, fspace->addr, fspace->rc);
|
||||
#endif /* H5FS_DEBUG */
|
||||
@ -719,11 +719,11 @@ HDfprintf(stderr, "%s: Entering, fpace->addr = %a, fspace->rc = %u\n", FUNC, fsp
|
||||
|
||||
done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* end H5FS_incr() */
|
||||
} /* end H5FS__incr() */
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5FS_decr
|
||||
* Function: H5FS__decr
|
||||
*
|
||||
* Purpose: Decrement reference count on free space header
|
||||
*
|
||||
@ -735,11 +735,11 @@ done:
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
herr_t
|
||||
H5FS_decr(H5FS_t *fspace)
|
||||
H5FS__decr(H5FS_t *fspace)
|
||||
{
|
||||
herr_t ret_value = SUCCEED; /* Return value */
|
||||
|
||||
FUNC_ENTER_NOAPI(FAIL)
|
||||
FUNC_ENTER_PACKAGE
|
||||
#ifdef H5FS_DEBUG
|
||||
HDfprintf(stderr, "%s: Entering, fpace->addr = %a, fspace->rc = %u\n", FUNC, fspace->addr, fspace->rc);
|
||||
#endif /* H5FS_DEBUG */
|
||||
@ -766,11 +766,11 @@ HDfprintf(stderr, "%s: Entering, fpace->addr = %a, fspace->rc = %u\n", FUNC, fsp
|
||||
|
||||
done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* end H5FS_decr() */
|
||||
} /* end H5FS__decr() */
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5FS_dirty
|
||||
* Function: H5FS__dirty
|
||||
*
|
||||
* Purpose: Mark free space header as dirty
|
||||
*
|
||||
@ -782,11 +782,11 @@ done:
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
herr_t
|
||||
H5FS_dirty(H5FS_t *fspace)
|
||||
H5FS__dirty(H5FS_t *fspace)
|
||||
{
|
||||
herr_t ret_value = SUCCEED; /* Return value */
|
||||
|
||||
FUNC_ENTER_NOAPI_NOINIT
|
||||
FUNC_ENTER_PACKAGE
|
||||
#ifdef QAK
|
||||
HDfprintf(stderr, "%s: Marking free space header as dirty\n", FUNC);
|
||||
#endif /* QAK */
|
||||
@ -802,7 +802,7 @@ HDfprintf(stderr, "%s: Marking free space header as dirty\n", FUNC);
|
||||
|
||||
done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* end H5FS_dirty() */
|
||||
} /* end H5FS__dirty() */
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
@ -875,7 +875,7 @@ H5FS_alloc_sect(H5F_t *f, H5FS_t *fspace)
|
||||
fspace->alloc_sect_size = fspace->sect_size;
|
||||
|
||||
/* Mark free-space header as dirty */
|
||||
if(H5FS_dirty(fspace) < 0)
|
||||
if(H5FS__dirty(fspace) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTMARKDIRTY, FAIL, "unable to mark free space header as dirty")
|
||||
|
||||
/* Cache the free-space section info */
|
||||
@ -959,7 +959,7 @@ H5FS_free(H5F_t *f, H5FS_t *fspace, hbool_t free_file_space)
|
||||
} /* end if */
|
||||
|
||||
/* Mark free-space manager header as dirty */
|
||||
if(H5FS_dirty(fspace) < 0)
|
||||
if(H5FS__dirty(fspace) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTMARKDIRTY, FAIL, "unable to mark free space header as dirty")
|
||||
} /* end if */
|
||||
|
||||
@ -1052,7 +1052,7 @@ done:
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5FS_sinfo_free_sect_cb
|
||||
* Function: H5FS__sinfo_free_sect_cb
|
||||
*
|
||||
* Purpose: Free a size-tracking node for a bin
|
||||
*
|
||||
@ -1064,12 +1064,12 @@ done:
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
static herr_t
|
||||
H5FS_sinfo_free_sect_cb(void *_sect, void H5_ATTR_UNUSED *key, void *op_data)
|
||||
H5FS__sinfo_free_sect_cb(void *_sect, void H5_ATTR_UNUSED *key, void *op_data)
|
||||
{
|
||||
H5FS_section_info_t *sect = (H5FS_section_info_t *)_sect; /* Section to free */
|
||||
const H5FS_sinfo_t *sinfo = (const H5FS_sinfo_t *)op_data; /* Free space manager for section */
|
||||
|
||||
FUNC_ENTER_NOAPI_NOINIT_NOERR
|
||||
FUNC_ENTER_STATIC_NOERR
|
||||
|
||||
HDassert(sect);
|
||||
HDassert(sinfo);
|
||||
@ -1078,11 +1078,11 @@ H5FS_sinfo_free_sect_cb(void *_sect, void H5_ATTR_UNUSED *key, void *op_data)
|
||||
(*sinfo->fspace->sect_cls[sect->type].free)(sect);
|
||||
|
||||
FUNC_LEAVE_NOAPI(SUCCEED)
|
||||
} /* H5FS_sinfo_free_sect_cb() */
|
||||
} /* H5FS__sinfo_free_sect_cb() */
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5FS_sinfo_free_node_cb
|
||||
* Function: H5FS__sinfo_free_node_cb
|
||||
*
|
||||
* Purpose: Free a size-tracking node for a bin
|
||||
*
|
||||
@ -1094,27 +1094,27 @@ H5FS_sinfo_free_sect_cb(void *_sect, void H5_ATTR_UNUSED *key, void *op_data)
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
static herr_t
|
||||
H5FS_sinfo_free_node_cb(void *item, void H5_ATTR_UNUSED *key, void *op_data)
|
||||
H5FS__sinfo_free_node_cb(void *item, void H5_ATTR_UNUSED *key, void *op_data)
|
||||
{
|
||||
H5FS_node_t *fspace_node = (H5FS_node_t *)item; /* Temporary pointer to free space list node */
|
||||
|
||||
FUNC_ENTER_NOAPI_NOINIT_NOERR
|
||||
FUNC_ENTER_STATIC_NOERR
|
||||
|
||||
HDassert(fspace_node);
|
||||
HDassert(op_data);
|
||||
|
||||
/* Release the skip list for sections of this size */
|
||||
H5SL_destroy(fspace_node->sect_list, H5FS_sinfo_free_sect_cb, op_data);
|
||||
H5SL_destroy(fspace_node->sect_list, H5FS__sinfo_free_sect_cb, op_data);
|
||||
|
||||
/* Release free space list node */
|
||||
fspace_node = H5FL_FREE(H5FS_node_t, fspace_node);
|
||||
|
||||
FUNC_LEAVE_NOAPI(SUCCEED)
|
||||
} /* H5FS_sinfo_free_node_cb() */
|
||||
} /* H5FS__sinfo_free_node_cb() */
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5FS_sinfo_dest
|
||||
* Function: H5FS__sinfo_dest
|
||||
*
|
||||
* Purpose: Destroys a free space section info in memory.
|
||||
*
|
||||
@ -1126,12 +1126,12 @@ H5FS_sinfo_free_node_cb(void *item, void H5_ATTR_UNUSED *key, void *op_data)
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
herr_t
|
||||
H5FS_sinfo_dest(H5FS_sinfo_t *sinfo)
|
||||
H5FS__sinfo_dest(H5FS_sinfo_t *sinfo)
|
||||
{
|
||||
unsigned u; /* Local index variable */
|
||||
herr_t ret_value = SUCCEED; /* Return value */
|
||||
|
||||
FUNC_ENTER_NOAPI_NOINIT
|
||||
FUNC_ENTER_PACKAGE
|
||||
|
||||
/*
|
||||
* Check arguments.
|
||||
@ -1143,7 +1143,7 @@ H5FS_sinfo_dest(H5FS_sinfo_t *sinfo)
|
||||
/* Clear out lists of nodes */
|
||||
for(u = 0; u < sinfo->nbins; u++)
|
||||
if(sinfo->bins[u].bin_list) {
|
||||
H5SL_destroy(sinfo->bins[u].bin_list, H5FS_sinfo_free_node_cb, sinfo);
|
||||
H5SL_destroy(sinfo->bins[u].bin_list, H5FS__sinfo_free_node_cb, sinfo);
|
||||
sinfo->bins[u].bin_list = NULL;
|
||||
} /* end if */
|
||||
|
||||
@ -1160,7 +1160,7 @@ H5FS_sinfo_dest(H5FS_sinfo_t *sinfo)
|
||||
* disappearing immediately)
|
||||
*/
|
||||
sinfo->fspace->sinfo = NULL;
|
||||
if(H5FS_decr(sinfo->fspace) < 0)
|
||||
if(H5FS__decr(sinfo->fspace) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTDEC, FAIL, "unable to decrement ref. count on free space header")
|
||||
sinfo->fspace = NULL;
|
||||
|
||||
@ -1169,7 +1169,7 @@ H5FS_sinfo_dest(H5FS_sinfo_t *sinfo)
|
||||
|
||||
done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* end H5FS_sinfo_dest() */
|
||||
} /* end H5FS__sinfo_dest() */
|
||||
|
||||
herr_t
|
||||
H5FS_get_sect_count(const H5FS_t *frsp, hsize_t *tot_sect_count)
|
||||
|
@ -926,7 +926,7 @@ H5FS__cache_sinfo_verify_chksum(const void *_image, size_t len, void H5_ATTR_UNU
|
||||
uint32_t computed_chksum; /* Computed metadata checksum value */
|
||||
htri_t ret_value = TRUE; /* Return value */
|
||||
|
||||
FUNC_ENTER_STATIC_NOERR
|
||||
FUNC_ENTER_PACKAGE_NOERR
|
||||
|
||||
/* Check arguments */
|
||||
HDassert(image);
|
||||
@ -981,7 +981,7 @@ H5FS__cache_sinfo_deserialize(const void *_image, size_t len, void *_udata,
|
||||
HDassert(dirty);
|
||||
|
||||
/* Allocate a new free space section info */
|
||||
if(NULL == (sinfo = H5FS_sinfo_new(udata->f, fspace)))
|
||||
if(NULL == (sinfo = H5FS__sinfo_new(udata->f, fspace)))
|
||||
HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed")
|
||||
|
||||
/* initialize old_sect_size */
|
||||
@ -1087,7 +1087,7 @@ H5FS__cache_sinfo_deserialize(const void *_image, size_t len, void *_udata,
|
||||
|
||||
done:
|
||||
if(!ret_value && sinfo)
|
||||
if(H5FS_sinfo_dest(sinfo) < 0)
|
||||
if(H5FS__sinfo_dest(sinfo) < 0)
|
||||
HDONE_ERROR(H5E_FSPACE, H5E_CANTFREE, NULL, "unable to destroy free space info")
|
||||
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
@ -1321,7 +1321,7 @@ H5FS__cache_sinfo_notify(H5AC_notify_action_t action, void *_thing)
|
||||
H5FS_sinfo_t *sinfo = (H5FS_sinfo_t *)_thing;
|
||||
herr_t ret_value = SUCCEED; /* Return value */
|
||||
|
||||
FUNC_ENTER_NOAPI_NOINIT
|
||||
FUNC_ENTER_PACKAGE
|
||||
|
||||
/* Sanity check */
|
||||
HDassert(sinfo);
|
||||
@ -1404,7 +1404,7 @@ H5FS__cache_sinfo_free_icr(void *_thing)
|
||||
HDassert(fspace->cache_info.is_pinned);
|
||||
|
||||
/* Destroy free space info */
|
||||
if(H5FS_sinfo_dest(sinfo) < 0)
|
||||
if(H5FS__sinfo_dest(sinfo) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTFREE, FAIL, "unable to destroy free space info")
|
||||
|
||||
done:
|
||||
@ -1512,3 +1512,4 @@ H5FS__sinfo_serialize_node_cb(void *_item, void H5_ATTR_UNUSED *key, void *_udat
|
||||
done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* H5FS__sinfo_serialize_node_cb() */
|
||||
|
||||
|
@ -215,24 +215,22 @@ H5FL_EXTERN(H5FS_t);
|
||||
/******************************/
|
||||
|
||||
/* Generic routines */
|
||||
H5_DLL herr_t H5FS__create_flush_depend(H5AC_info_t *parent_entry,
|
||||
H5AC_info_t *child_entry);
|
||||
H5_DLL herr_t H5FS__destroy_flush_depend(H5AC_info_t *parent_entry,
|
||||
H5AC_info_t *child_entry);
|
||||
H5_DLL herr_t H5FS__create_flush_depend(H5AC_info_t *parent_entry, H5AC_info_t *child_entry);
|
||||
H5_DLL herr_t H5FS__destroy_flush_depend(H5AC_info_t *parent_entry, H5AC_info_t *child_entry);
|
||||
|
||||
/* Free space manager header routines */
|
||||
H5_DLL H5FS_t *H5FS__new(const H5F_t *f, uint16_t nclasses,
|
||||
const H5FS_section_class_t *classes[], void *cls_init_udata);
|
||||
H5_DLL herr_t H5FS_incr(H5FS_t *fspace);
|
||||
H5_DLL herr_t H5FS_decr(H5FS_t *fspace);
|
||||
H5_DLL herr_t H5FS_dirty(H5FS_t *fspace);
|
||||
H5_DLL herr_t H5FS__incr(H5FS_t *fspace);
|
||||
H5_DLL herr_t H5FS__decr(H5FS_t *fspace);
|
||||
H5_DLL herr_t H5FS__dirty(H5FS_t *fspace);
|
||||
|
||||
/* Free space section routines */
|
||||
H5_DLL H5FS_sinfo_t *H5FS_sinfo_new(H5F_t *f, H5FS_t *fspace);
|
||||
H5_DLL H5FS_sinfo_t *H5FS__sinfo_new(H5F_t *f, H5FS_t *fspace);
|
||||
|
||||
/* Routines for destroying structures */
|
||||
H5_DLL herr_t H5FS__hdr_dest(H5FS_t *hdr);
|
||||
H5_DLL herr_t H5FS_sinfo_dest(H5FS_sinfo_t *sinfo);
|
||||
H5_DLL herr_t H5FS__sinfo_dest(H5FS_sinfo_t *sinfo);
|
||||
|
||||
/* Sanity check routines */
|
||||
#ifdef H5FS_DEBUG_ASSERT
|
||||
|
@ -64,26 +64,26 @@ typedef struct {
|
||||
/********************/
|
||||
/* Local Prototypes */
|
||||
/********************/
|
||||
static herr_t H5FS_sect_increase(H5FS_t *fspace, const H5FS_section_class_t *cls,
|
||||
static herr_t H5FS__sect_increase(H5FS_t *fspace, const H5FS_section_class_t *cls,
|
||||
unsigned flags);
|
||||
static herr_t H5FS_sect_decrease(H5FS_t *fspace, const H5FS_section_class_t *cls);
|
||||
static herr_t H5FS_size_node_decr(H5FS_sinfo_t *sinfo, unsigned bin, H5FS_node_t *fspace_node,
|
||||
static herr_t H5FS__sect_decrease(H5FS_t *fspace, const H5FS_section_class_t *cls);
|
||||
static herr_t H5FS__size_node_decr(H5FS_sinfo_t *sinfo, unsigned bin, H5FS_node_t *fspace_node,
|
||||
const H5FS_section_class_t *cls);
|
||||
static herr_t H5FS_sect_unlink_size(H5FS_sinfo_t *sinfo, const H5FS_section_class_t *cls,
|
||||
static herr_t H5FS__sect_unlink_size(H5FS_sinfo_t *sinfo, const H5FS_section_class_t *cls,
|
||||
H5FS_section_info_t *sect);
|
||||
static herr_t H5FS_sect_unlink_rest(H5FS_t *fspace,
|
||||
static herr_t H5FS__sect_unlink_rest(H5FS_t *fspace,
|
||||
const H5FS_section_class_t *cls, H5FS_section_info_t *sect);
|
||||
static herr_t H5FS_sect_remove_real(H5FS_t *fspace, H5FS_section_info_t *sect);
|
||||
static herr_t H5FS_sect_link_size(H5FS_sinfo_t *sinfo, const H5FS_section_class_t *cls,
|
||||
static herr_t H5FS__sect_remove_real(H5FS_t *fspace, H5FS_section_info_t *sect);
|
||||
static herr_t H5FS__sect_link_size(H5FS_sinfo_t *sinfo, const H5FS_section_class_t *cls,
|
||||
H5FS_section_info_t *sect);
|
||||
static herr_t H5FS_sect_link_rest(H5FS_t *fspace, const H5FS_section_class_t *cls,
|
||||
static herr_t H5FS__sect_link_rest(H5FS_t *fspace, const H5FS_section_class_t *cls,
|
||||
H5FS_section_info_t *sect, unsigned flags);
|
||||
static herr_t H5FS_sect_link(H5FS_t *fspace, H5FS_section_info_t *sect,
|
||||
static herr_t H5FS__sect_link(H5FS_t *fspace, H5FS_section_info_t *sect,
|
||||
unsigned flags);
|
||||
static herr_t H5FS_sect_merge(H5FS_t *fspace, H5FS_section_info_t **sect,
|
||||
static herr_t H5FS__sect_merge(H5FS_t *fspace, H5FS_section_info_t **sect,
|
||||
void *op_data);
|
||||
static htri_t H5FS_sect_find_node(H5FS_t *fspace, hsize_t request, H5FS_section_info_t **node);
|
||||
static herr_t H5FS_sect_serialize_size(H5FS_t *fspace);
|
||||
static htri_t H5FS__sect_find_node(H5FS_t *fspace, hsize_t request, H5FS_section_info_t **node);
|
||||
static herr_t H5FS__sect_serialize_size(H5FS_t *fspace);
|
||||
|
||||
|
||||
/*********************/
|
||||
@ -112,7 +112,7 @@ H5FL_DEFINE(H5FS_sinfo_t);
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5FS_sinfo_new
|
||||
* Function: H5FS__sinfo_new
|
||||
*
|
||||
* Purpose: Create new section info structure
|
||||
*
|
||||
@ -125,12 +125,12 @@ H5FL_DEFINE(H5FS_sinfo_t);
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
H5FS_sinfo_t *
|
||||
H5FS_sinfo_new(H5F_t *f, H5FS_t *fspace)
|
||||
H5FS__sinfo_new(H5F_t *f, H5FS_t *fspace)
|
||||
{
|
||||
H5FS_sinfo_t *sinfo = NULL; /* Section information struct created */
|
||||
H5FS_sinfo_t *ret_value = NULL; /* Return value */
|
||||
|
||||
FUNC_ENTER_NOAPI_NOINIT
|
||||
FUNC_ENTER_PACKAGE
|
||||
|
||||
/* Check arguments. */
|
||||
HDassert(f);
|
||||
@ -160,7 +160,7 @@ HDfprintf(stderr, "%s: sinfo->sect_off_size = %u, sinfo->sect_len_size = %u\n",
|
||||
HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for free space section bin array")
|
||||
|
||||
/* Increment the reference count on the free space manager header */
|
||||
if(H5FS_incr(fspace) < 0)
|
||||
if(H5FS__incr(fspace) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTINC, NULL, "unable to increment ref. count on free space header")
|
||||
sinfo->fspace = fspace;
|
||||
|
||||
@ -183,11 +183,11 @@ done:
|
||||
} /* end if */
|
||||
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* H5FS_sinfo_new() */
|
||||
} /* H5FS__sinfo_new() */
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5FS_sinfo_lock
|
||||
* Function: H5FS__sinfo_lock
|
||||
*
|
||||
* Purpose: Make certain the section info for the free space manager is
|
||||
* in memory.
|
||||
@ -204,12 +204,12 @@ done:
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
static herr_t
|
||||
H5FS_sinfo_lock(H5F_t *f, H5FS_t *fspace, unsigned accmode)
|
||||
H5FS__sinfo_lock(H5F_t *f, H5FS_t *fspace, unsigned accmode)
|
||||
{
|
||||
H5FS_sinfo_cache_ud_t cache_udata; /* User-data for cache callback */
|
||||
herr_t ret_value = SUCCEED; /* Return value */
|
||||
|
||||
FUNC_ENTER_NOAPI_NOINIT
|
||||
FUNC_ENTER_STATIC
|
||||
|
||||
#ifdef H5FS_SINFO_DEBUG
|
||||
HDfprintf(stderr, "%s: Called, fspace->addr = %a, fspace->sinfo = %p, fspace->sect_addr = %a\n", FUNC, fspace->addr, fspace->sinfo, fspace->sect_addr);
|
||||
@ -280,7 +280,7 @@ HDfprintf(stderr, "%s: Creating new section info\n", FUNC);
|
||||
HDassert(fspace->ghost_sect_count == 0);
|
||||
|
||||
/* Allocate and initialize free space section info */
|
||||
if(NULL == (fspace->sinfo = H5FS_sinfo_new(f, fspace)))
|
||||
if(NULL == (fspace->sinfo = H5FS__sinfo_new(f, fspace)))
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTCREATE, FAIL, "can't create section info")
|
||||
|
||||
/* Set initial size of section info to 0 */
|
||||
@ -298,11 +298,11 @@ HDfprintf(stderr, "%s: Leaving, fspace->addr = %a, fspace->sinfo = %p, fspace->s
|
||||
HDfprintf(stderr, "%s: fspace->alloc_sect_size = %Hu, fspace->sect_size = %Hu\n", FUNC, fspace->alloc_sect_size, fspace->sect_size);
|
||||
#endif /* H5FS_SINFO_DEBUG */
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* H5FS_sinfo_lock() */
|
||||
} /* H5FS__sinfo_lock() */
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5FS_sinfo_unlock
|
||||
* Function: H5FS__sinfo_unlock
|
||||
*
|
||||
* Purpose: Release the section info, either giving ownership back to
|
||||
* the cache or letting the free space header keep it.
|
||||
@ -315,11 +315,11 @@ HDfprintf(stderr, "%s: fspace->alloc_sect_size = %Hu, fspace->sect_size = %Hu\n"
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
static herr_t
|
||||
H5FS_sinfo_unlock(H5F_t *f, H5FS_t *fspace, hbool_t modified)
|
||||
H5FS__sinfo_unlock(H5F_t *f, H5FS_t *fspace, hbool_t modified)
|
||||
{
|
||||
herr_t ret_value = SUCCEED; /* Return value */
|
||||
|
||||
FUNC_ENTER_NOAPI_NOINIT
|
||||
FUNC_ENTER_STATIC
|
||||
#ifdef H5FS_SINFO_DEBUG
|
||||
HDfprintf(stderr, "%s: Called, modified = %t, fspace->addr = %a, fspace->sect_addr = %a\n", FUNC, modified, fspace->addr, fspace->sect_addr);
|
||||
HDfprintf(stderr, "%s: fspace->sinfo_lock_count = %u, fspace->sinfo_modified = %t, fspace->sinfo_protected = %t\n", FUNC, fspace->sinfo_lock_count, fspace->sinfo_modified, fspace->sinfo_protected);
|
||||
@ -347,7 +347,7 @@ HDfprintf(stderr, "%s: fspace->alloc_sect_size = %Hu, fspace->sect_size = %Hu\n"
|
||||
/* Assume that the modification will affect the statistics in the header
|
||||
* and mark that dirty also
|
||||
*/
|
||||
if(H5FS_dirty(fspace) < 0)
|
||||
if(H5FS__dirty(fspace) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTMARKDIRTY, FAIL, "unable to mark free space header as dirty")
|
||||
} /* end if */
|
||||
|
||||
@ -442,7 +442,7 @@ HDfprintf(stderr, "%s: Relinquishing section info ownership\n", FUNC);
|
||||
|
||||
/* If we haven't already marked the header dirty, do so now */
|
||||
if(!modified)
|
||||
if(H5FS_dirty(fspace) < 0)
|
||||
if(H5FS__dirty(fspace) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTMARKDIRTY, FAIL, "unable to mark free space header as dirty")
|
||||
|
||||
#ifdef H5FS_SINFO_DEBUG
|
||||
@ -460,11 +460,11 @@ done:
|
||||
HDfprintf(stderr, "%s: Leaving, ret_value = %d\n", FUNC, ret_value);
|
||||
#endif /* H5FS_SINFO_DEBUG */
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* H5FS_sinfo_unlock() */
|
||||
} /* H5FS__sinfo_unlock() */
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5FS_sect_serialize_size
|
||||
* Function: H5FS__sect_serialize_size
|
||||
*
|
||||
* Purpose: Determine serialized size of all sections in free space manager
|
||||
*
|
||||
@ -476,17 +476,17 @@ HDfprintf(stderr, "%s: Leaving, ret_value = %d\n", FUNC, ret_value);
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
static herr_t
|
||||
H5FS_sect_serialize_size(H5FS_t *fspace)
|
||||
H5FS__sect_serialize_size(H5FS_t *fspace)
|
||||
{
|
||||
FUNC_ENTER_NOAPI_NOINIT_NOERR
|
||||
FUNC_ENTER_STATIC_NOERR
|
||||
|
||||
/* Check arguments. */
|
||||
HDassert(fspace);
|
||||
#ifdef QAK
|
||||
HDfprintf(stderr, "%s: Check 1.0 - fspace->sect_size = %Hu\n", "H5FS_sect_serialize_size", fspace->sect_size);
|
||||
HDfprintf(stderr, "%s: fspace->serial_sect_count = %Zu\n", "H5FS_sect_serialize_size", fspace->serial_sect_count);
|
||||
HDfprintf(stderr, "%s: fspace->alloc_sect_size = %Hu\n", "H5FS_sect_serialize_size", fspace->alloc_sect_size);
|
||||
HDfprintf(stderr, "%s: fspace->sinfo->serial_size_count = %Zu\n", "H5FS_sect_serialize_size", fspace->sinfo->serial_size_count);
|
||||
HDfprintf(stderr, "%s: Check 1.0 - fspace->sect_size = %Hu\n", "H5FS__sect_serialize_size", fspace->sect_size);
|
||||
HDfprintf(stderr, "%s: fspace->serial_sect_count = %Zu\n", "H5FS__sect_serialize_size", fspace->serial_sect_count);
|
||||
HDfprintf(stderr, "%s: fspace->alloc_sect_size = %Hu\n", "H5FS__sect_serialize_size", fspace->alloc_sect_size);
|
||||
HDfprintf(stderr, "%s: fspace->sinfo->serial_size_count = %Zu\n", "H5FS__sect_serialize_size", fspace->sinfo->serial_size_count);
|
||||
#endif /* QAK */
|
||||
|
||||
/* Compute the size of the buffer required to serialize all the sections */
|
||||
@ -498,8 +498,8 @@ HDfprintf(stderr, "%s: fspace->sinfo->serial_size_count = %Zu\n", "H5FS_sect_ser
|
||||
|
||||
/* Count for each differently sized serializable section */
|
||||
#ifdef QAK
|
||||
HDfprintf(stderr, "%s: fspace->sinfo->serial_size_count = %Zu\n", "H5FS_sect_serialize_size", fspace->sinfo->serial_size_count);
|
||||
HDfprintf(stderr, "%s: fspace->serial_sect_count = %Hu\n", "H5FS_sect_serialize_size", fspace->serial_sect_count);
|
||||
HDfprintf(stderr, "%s: fspace->sinfo->serial_size_count = %Zu\n", "H5FS__sect_serialize_size", fspace->sinfo->serial_size_count);
|
||||
HDfprintf(stderr, "%s: fspace->serial_sect_count = %Hu\n", "H5FS__sect_serialize_size", fspace->serial_sect_count);
|
||||
#endif /* QAK */
|
||||
sect_buf_size += fspace->sinfo->serial_size_count * H5VM_limit_enc_size((uint64_t)fspace->serial_sect_count);
|
||||
|
||||
@ -523,11 +523,11 @@ HDfprintf(stderr, "%s: fspace->serial_sect_count = %Hu\n", "H5FS_sect_serialize_
|
||||
fspace->sect_size = fspace->sinfo->sect_prefix_size;
|
||||
|
||||
FUNC_LEAVE_NOAPI(SUCCEED)
|
||||
} /* H5FS_sect_serialize_size() */
|
||||
} /* H5FS__sect_serialize_size() */
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5FS_sect_increase
|
||||
* Function: H5FS__sect_increase
|
||||
*
|
||||
* Purpose: Increase the size of the serialized free space section info
|
||||
* on disk
|
||||
@ -540,12 +540,12 @@ HDfprintf(stderr, "%s: fspace->serial_sect_count = %Hu\n", "H5FS_sect_serialize_
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
static herr_t
|
||||
H5FS_sect_increase(H5FS_t *fspace, const H5FS_section_class_t *cls,
|
||||
H5FS__sect_increase(H5FS_t *fspace, const H5FS_section_class_t *cls,
|
||||
unsigned flags)
|
||||
{
|
||||
herr_t ret_value = SUCCEED; /* Return value */
|
||||
|
||||
FUNC_ENTER_NOAPI_NOINIT
|
||||
FUNC_ENTER_STATIC
|
||||
|
||||
/* Check arguments. */
|
||||
HDassert(fspace);
|
||||
@ -577,18 +577,18 @@ HDfprintf(stderr, "%s: cls->serial_size = %Zu\n", FUNC, cls->serial_size);
|
||||
/* Update the free space sections' serialized size */
|
||||
/* (if we're not deserializing the sections from disk) */
|
||||
if(!(flags & H5FS_ADD_DESERIALIZING)) {
|
||||
if(H5FS_sect_serialize_size(fspace) < 0)
|
||||
if(H5FS__sect_serialize_size(fspace) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTCOMPUTE, FAIL, "can't adjust free space section size on disk")
|
||||
} /* end if */
|
||||
} /* end else */
|
||||
|
||||
done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* H5FS_sect_increase() */
|
||||
} /* H5FS__sect_increase() */
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5FS_sect_decrease
|
||||
* Function: H5FS__sect_decrease
|
||||
*
|
||||
* Purpose: Decrease the size of the serialized free space section info
|
||||
* on disk
|
||||
@ -601,11 +601,11 @@ done:
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
static herr_t
|
||||
H5FS_sect_decrease(H5FS_t *fspace, const H5FS_section_class_t *cls)
|
||||
H5FS__sect_decrease(H5FS_t *fspace, const H5FS_section_class_t *cls)
|
||||
{
|
||||
herr_t ret_value = SUCCEED; /* Return value */
|
||||
|
||||
FUNC_ENTER_NOAPI_NOINIT
|
||||
FUNC_ENTER_STATIC
|
||||
|
||||
/* Check arguments. */
|
||||
HDassert(fspace);
|
||||
@ -635,17 +635,17 @@ HDfprintf(stderr, "%s: cls->serial_size = %Zu\n", FUNC, cls->serial_size);
|
||||
fspace->sinfo->serial_size -= cls->serial_size;
|
||||
|
||||
/* Update the free space sections' serialized size */
|
||||
if(H5FS_sect_serialize_size(fspace) < 0)
|
||||
if(H5FS__sect_serialize_size(fspace) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTCOMPUTE, FAIL, "can't adjust free space section size on disk")
|
||||
} /* end else */
|
||||
|
||||
done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* H5FS_sect_decrease() */
|
||||
} /* H5FS__sect_decrease() */
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5FS_size_node_decr
|
||||
* Function: H5FS__size_node_decr
|
||||
*
|
||||
* Purpose: Decrement the number of sections of a particular size
|
||||
*
|
||||
@ -657,12 +657,12 @@ done:
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
static herr_t
|
||||
H5FS_size_node_decr(H5FS_sinfo_t *sinfo, unsigned bin, H5FS_node_t *fspace_node,
|
||||
H5FS__size_node_decr(H5FS_sinfo_t *sinfo, unsigned bin, H5FS_node_t *fspace_node,
|
||||
const H5FS_section_class_t *cls)
|
||||
{
|
||||
herr_t ret_value = SUCCEED; /* Return value */
|
||||
|
||||
FUNC_ENTER_NOAPI_NOINIT
|
||||
FUNC_ENTER_STATIC
|
||||
|
||||
/* Check arguments. */
|
||||
HDassert(sinfo);
|
||||
@ -728,11 +728,11 @@ HDfprintf(stderr, "%s: sinfo->bins[%u].sect_count = %Zu\n", FUNC, bin, sinfo->bi
|
||||
|
||||
done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* H5FS_size_node_decr() */
|
||||
} /* H5FS__size_node_decr() */
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5FS_sect_unlink_size
|
||||
* Function: H5FS__sect_unlink_size
|
||||
*
|
||||
* Purpose: Remove a section node from size tracking data structures for
|
||||
* a free space manager
|
||||
@ -745,7 +745,7 @@ done:
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
static herr_t
|
||||
H5FS_sect_unlink_size(H5FS_sinfo_t *sinfo, const H5FS_section_class_t *cls,
|
||||
H5FS__sect_unlink_size(H5FS_sinfo_t *sinfo, const H5FS_section_class_t *cls,
|
||||
H5FS_section_info_t *sect)
|
||||
{
|
||||
H5FS_node_t *fspace_node; /* Free list size node */
|
||||
@ -753,7 +753,7 @@ H5FS_sect_unlink_size(H5FS_sinfo_t *sinfo, const H5FS_section_class_t *cls,
|
||||
unsigned bin; /* Bin to put the free space section in */
|
||||
herr_t ret_value = SUCCEED; /* Return value */
|
||||
|
||||
FUNC_ENTER_NOAPI_NOINIT
|
||||
FUNC_ENTER_STATIC
|
||||
|
||||
/* Check arguments. */
|
||||
HDassert(sinfo);
|
||||
@ -777,16 +777,16 @@ H5FS_sect_unlink_size(H5FS_sinfo_t *sinfo, const H5FS_section_class_t *cls,
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_NOTFOUND, FAIL, "can't find section node on size list")
|
||||
|
||||
/* Decrement # of sections in section size node */
|
||||
if(H5FS_size_node_decr(sinfo, bin, fspace_node, cls) < 0)
|
||||
if(H5FS__size_node_decr(sinfo, bin, fspace_node, cls) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTREMOVE, FAIL, "can't remove free space size node from skip list")
|
||||
|
||||
done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* H5FS_sect_unlink_size() */
|
||||
} /* H5FS__sect_unlink_size() */
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5FS_sect_unlink_rest
|
||||
* Function: H5FS__sect_unlink_rest
|
||||
*
|
||||
* Purpose: Finish unlinking a section from the rest of the free space
|
||||
* manager's data structures, after the section has been removed
|
||||
@ -800,12 +800,12 @@ done:
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
static herr_t
|
||||
H5FS_sect_unlink_rest(H5FS_t *fspace, const H5FS_section_class_t *cls,
|
||||
H5FS__sect_unlink_rest(H5FS_t *fspace, const H5FS_section_class_t *cls,
|
||||
H5FS_section_info_t *sect)
|
||||
{
|
||||
herr_t ret_value = SUCCEED; /* Return value */
|
||||
|
||||
FUNC_ENTER_NOAPI_NOINIT
|
||||
FUNC_ENTER_STATIC
|
||||
|
||||
/* Check arguments. */
|
||||
HDassert(fspace);
|
||||
@ -826,7 +826,7 @@ HDfprintf(stderr, "%s: removing object from merge list, sect->type = %u\n", FUNC
|
||||
} /* end if */
|
||||
|
||||
/* Update section info & check if we need less room for the serialized free space sections */
|
||||
if(H5FS_sect_decrease(fspace, cls) < 0)
|
||||
if(H5FS__sect_decrease(fspace, cls) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTINSERT, FAIL, "can't increase free space section size on disk")
|
||||
|
||||
/* Decrement amount of free space managed */
|
||||
@ -837,11 +837,11 @@ HDfprintf(stderr, "%s: fspace->tot_space = %Hu\n", FUNC, fspace->tot_space);
|
||||
|
||||
done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* H5FS_sect_unlink_rest() */
|
||||
} /* H5FS__sect_unlink_rest() */
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5FS_sect_remove_real
|
||||
* Function: H5FS__sect_remove_real
|
||||
*
|
||||
* Purpose: Remove a section from the free space manager
|
||||
*
|
||||
@ -853,12 +853,12 @@ done:
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
static herr_t
|
||||
H5FS_sect_remove_real(H5FS_t *fspace, H5FS_section_info_t *sect)
|
||||
H5FS__sect_remove_real(H5FS_t *fspace, H5FS_section_info_t *sect)
|
||||
{
|
||||
const H5FS_section_class_t *cls; /* Class of section */
|
||||
herr_t ret_value = SUCCEED; /* Return value */
|
||||
|
||||
FUNC_ENTER_NOAPI_NOINIT
|
||||
FUNC_ENTER_STATIC
|
||||
|
||||
/* Check arguments. */
|
||||
HDassert(fspace);
|
||||
@ -869,16 +869,16 @@ H5FS_sect_remove_real(H5FS_t *fspace, H5FS_section_info_t *sect)
|
||||
cls = &fspace->sect_cls[sect->type];
|
||||
|
||||
/* Remove node from size tracked data structures */
|
||||
if(H5FS_sect_unlink_size(fspace->sinfo, cls, sect) < 0)
|
||||
if(H5FS__sect_unlink_size(fspace->sinfo, cls, sect) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTFREE, FAIL, "can't remove section from size tracking data structures")
|
||||
|
||||
/* Update rest of free space manager data structures for node removal */
|
||||
if(H5FS_sect_unlink_rest(fspace, cls, sect) < 0)
|
||||
if(H5FS__sect_unlink_rest(fspace, cls, sect) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTFREE, FAIL, "can't remove section from non-size tracking data structures")
|
||||
|
||||
done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* H5FS_sect_remove_real() */
|
||||
} /* H5FS__sect_remove_real() */
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
@ -907,17 +907,17 @@ H5FS_sect_remove(H5F_t *f, H5FS_t *fspace, H5FS_section_info_t *sect)
|
||||
HDassert(sect);
|
||||
|
||||
/* Get a pointer to the section info */
|
||||
if(H5FS_sinfo_lock(f, fspace, H5AC__NO_FLAGS_SET) < 0)
|
||||
if(H5FS__sinfo_lock(f, fspace, H5AC__NO_FLAGS_SET) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTGET, FAIL, "can't get section info")
|
||||
sinfo_valid = TRUE;
|
||||
|
||||
/* Perform actual section removal */
|
||||
if(H5FS_sect_remove_real(fspace, sect) < 0)
|
||||
if(H5FS__sect_remove_real(fspace, sect) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTREMOVE, FAIL, "can't remove section")
|
||||
|
||||
done:
|
||||
/* Release the section info */
|
||||
if(sinfo_valid && H5FS_sinfo_unlock(f, fspace, TRUE) < 0)
|
||||
if(sinfo_valid && H5FS__sinfo_unlock(f, fspace, TRUE) < 0)
|
||||
HDONE_ERROR(H5E_FSPACE, H5E_CANTRELEASE, FAIL, "can't release section info")
|
||||
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
@ -925,7 +925,7 @@ done:
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5FS_sect_link_size
|
||||
* Function: H5FS__sect_link_size
|
||||
*
|
||||
* Purpose: Add a section of free space to the free list bins
|
||||
*
|
||||
@ -937,7 +937,7 @@ done:
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
static herr_t
|
||||
H5FS_sect_link_size(H5FS_sinfo_t *sinfo, const H5FS_section_class_t *cls,
|
||||
H5FS__sect_link_size(H5FS_sinfo_t *sinfo, const H5FS_section_class_t *cls,
|
||||
H5FS_section_info_t *sect)
|
||||
{
|
||||
H5FS_node_t *fspace_node = NULL; /* Pointer to free space node of the correct size */
|
||||
@ -945,7 +945,7 @@ H5FS_sect_link_size(H5FS_sinfo_t *sinfo, const H5FS_section_class_t *cls,
|
||||
unsigned bin; /* Bin to put the free space section in */
|
||||
herr_t ret_value = SUCCEED; /* Return value */
|
||||
|
||||
FUNC_ENTER_NOAPI_NOINIT
|
||||
FUNC_ENTER_STATIC
|
||||
#ifdef QAK
|
||||
HDfprintf(stderr, "%s: sect->size = %Hu, sect->addr = %a\n", FUNC, sect->size, sect->addr);
|
||||
#endif /* QAK */
|
||||
@ -1028,11 +1028,11 @@ done:
|
||||
} /* end if */
|
||||
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* H5FS_sect_link_size() */
|
||||
} /* H5FS__sect_link_size() */
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5FS_sect_link_rest
|
||||
* Function: H5FS__sect_link_rest
|
||||
*
|
||||
* Purpose: Link a section into the rest of the non-size tracking
|
||||
* free space manager data structures
|
||||
@ -1045,12 +1045,12 @@ done:
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
static herr_t
|
||||
H5FS_sect_link_rest(H5FS_t *fspace, const H5FS_section_class_t *cls,
|
||||
H5FS__sect_link_rest(H5FS_t *fspace, const H5FS_section_class_t *cls,
|
||||
H5FS_section_info_t *sect, unsigned flags)
|
||||
{
|
||||
herr_t ret_value = SUCCEED; /* Return value */
|
||||
|
||||
FUNC_ENTER_NOAPI_NOINIT
|
||||
FUNC_ENTER_STATIC
|
||||
|
||||
/* Check arguments. */
|
||||
HDassert(fspace);
|
||||
@ -1070,7 +1070,7 @@ HDfprintf(stderr, "%s: inserting object into merge list, sect->type = %u\n", FUN
|
||||
} /* end if */
|
||||
|
||||
/* Update section info & check if we need more room for the serialized free space sections */
|
||||
if(H5FS_sect_increase(fspace, cls, flags) < 0)
|
||||
if(H5FS__sect_increase(fspace, cls, flags) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTINSERT, FAIL, "can't increase free space section size on disk")
|
||||
|
||||
/* Increment amount of free space managed */
|
||||
@ -1078,11 +1078,11 @@ HDfprintf(stderr, "%s: inserting object into merge list, sect->type = %u\n", FUN
|
||||
|
||||
done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* H5FS_sect_link_rest() */
|
||||
} /* H5FS__sect_link_rest() */
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5FS_sect_link
|
||||
* Function: H5FS__sect_link
|
||||
*
|
||||
* Purpose: Link a section into the internal data structures
|
||||
*
|
||||
@ -1094,12 +1094,12 @@ done:
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
static herr_t
|
||||
H5FS_sect_link(H5FS_t *fspace, H5FS_section_info_t *sect, unsigned flags)
|
||||
H5FS__sect_link(H5FS_t *fspace, H5FS_section_info_t *sect, unsigned flags)
|
||||
{
|
||||
const H5FS_section_class_t *cls; /* Class of section */
|
||||
herr_t ret_value = SUCCEED; /* Return value */
|
||||
|
||||
FUNC_ENTER_NOAPI_NOINIT
|
||||
FUNC_ENTER_STATIC
|
||||
|
||||
/* Check arguments. */
|
||||
HDassert(fspace);
|
||||
@ -1113,14 +1113,14 @@ H5FS_sect_link(H5FS_t *fspace, H5FS_section_info_t *sect, unsigned flags)
|
||||
#ifdef QAK
|
||||
HDfprintf(stderr, "%s: Check 1.0 - fspace->tot_space = %Hu\n", FUNC, fspace->tot_space);
|
||||
#endif /* QAK */
|
||||
if(H5FS_sect_link_size(fspace->sinfo, cls, sect) < 0)
|
||||
if(H5FS__sect_link_size(fspace->sinfo, cls, sect) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTINSERT, FAIL, "can't add section to size tracking data structures")
|
||||
|
||||
#ifdef QAK
|
||||
HDfprintf(stderr, "%s: Check 2.0 - fspace->tot_space = %Hu\n", FUNC, fspace->tot_space);
|
||||
#endif /* QAK */
|
||||
/* Update rest of free space manager data structures for section addition */
|
||||
if(H5FS_sect_link_rest(fspace, cls, sect, flags) < 0)
|
||||
if(H5FS__sect_link_rest(fspace, cls, sect, flags) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTINSERT, FAIL, "can't add section to non-size tracking data structures")
|
||||
#ifdef QAK
|
||||
HDfprintf(stderr, "%s: Check 3.0 - fspace->tot_space = %Hu\n", FUNC, fspace->tot_space);
|
||||
@ -1128,11 +1128,11 @@ HDfprintf(stderr, "%s: Check 3.0 - fspace->tot_space = %Hu\n", FUNC, fspace->tot
|
||||
|
||||
done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* H5FS_sect_link() */
|
||||
} /* H5FS__sect_link() */
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5FS_sect_merge
|
||||
* Function: H5FS__sect_merge
|
||||
*
|
||||
* Purpose: Attempt to merge a returned free space section with existing
|
||||
* free space.
|
||||
@ -1145,7 +1145,7 @@ done:
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
static herr_t
|
||||
H5FS_sect_merge(H5FS_t *fspace, H5FS_section_info_t **sect, void *op_data)
|
||||
H5FS__sect_merge(H5FS_t *fspace, H5FS_section_info_t **sect, void *op_data)
|
||||
{
|
||||
H5FS_section_class_t *sect_cls; /* Section's class */
|
||||
hbool_t modified; /* Flag to indicate merge or shrink occurred */
|
||||
@ -1153,7 +1153,7 @@ H5FS_sect_merge(H5FS_t *fspace, H5FS_section_info_t **sect, void *op_data)
|
||||
htri_t status; /* Status value */
|
||||
herr_t ret_value = SUCCEED; /* Return value */
|
||||
|
||||
FUNC_ENTER_NOAPI_NOINIT
|
||||
FUNC_ENTER_STATIC
|
||||
|
||||
/* Check arguments. */
|
||||
HDassert(fspace);
|
||||
@ -1203,7 +1203,7 @@ H5FS_sect_merge(H5FS_t *fspace, H5FS_section_info_t **sect, void *op_data)
|
||||
HDassert(tmp_sect_cls->merge);
|
||||
|
||||
/* Remove 'less than' node from data structures */
|
||||
if(H5FS_sect_remove_real(fspace, tmp_sect) < 0)
|
||||
if(H5FS__sect_remove_real(fspace, tmp_sect) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTRELEASE, FAIL, "can't remove section from internal data structures")
|
||||
|
||||
/* Merge the two sections together */
|
||||
@ -1249,7 +1249,7 @@ H5FS_sect_merge(H5FS_t *fspace, H5FS_section_info_t **sect, void *op_data)
|
||||
HDassert(sect_cls->merge);
|
||||
|
||||
/* Remove 'greater than' node from data structures */
|
||||
if(H5FS_sect_remove_real(fspace, tmp_sect) < 0)
|
||||
if(H5FS__sect_remove_real(fspace, tmp_sect) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTRELEASE, FAIL, "can't remove section from internal data structures")
|
||||
|
||||
/* Merge the two sections together */
|
||||
@ -1290,7 +1290,7 @@ HDfprintf(stderr, "%s: Can shrink!\n", FUNC);
|
||||
/* Remove SECT from free-space manager */
|
||||
/* (only possible to happen on second+ pass through loop) */
|
||||
if(remove_sect) {
|
||||
if(H5FS_sect_remove_real(fspace, *sect) < 0)
|
||||
if(H5FS__sect_remove_real(fspace, *sect) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTRELEASE, FAIL, "can't remove section from internal data structures")
|
||||
remove_sect = FALSE;
|
||||
} /* end if */
|
||||
@ -1342,7 +1342,7 @@ done:
|
||||
HDfprintf(stderr, "%s: Leaving, ret_value = %d\n", FUNC, ret_value);
|
||||
#endif /* QAK */
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* H5FS_sect_merge() */
|
||||
} /* H5FS__sect_merge() */
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
@ -1379,7 +1379,7 @@ HDfprintf(stderr, "%s: *sect = {%a, %Hu, %u, %s}\n", FUNC, sect->addr, sect->siz
|
||||
HDassert(sect->size);
|
||||
|
||||
/* Get a pointer to the section info */
|
||||
if(H5FS_sinfo_lock(f, fspace, H5AC__NO_FLAGS_SET) < 0)
|
||||
if(H5FS__sinfo_lock(f, fspace, H5AC__NO_FLAGS_SET) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTGET, FAIL, "can't get section info")
|
||||
sinfo_valid = TRUE;
|
||||
|
||||
@ -1396,7 +1396,7 @@ HDfprintf(stderr, "%s: Returning space\n", FUNC);
|
||||
#endif /* H5FS_SINFO_DEBUG */
|
||||
|
||||
/* Attempt to merge returned section with existing sections */
|
||||
if(H5FS_sect_merge(fspace, §, op_data) < 0)
|
||||
if(H5FS__sect_merge(fspace, §, op_data) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTMERGE, FAIL, "can't merge sections")
|
||||
} /* end if */
|
||||
|
||||
@ -1405,7 +1405,7 @@ HDfprintf(stderr, "%s: Returning space\n", FUNC);
|
||||
* be NULL at this point - QAK)
|
||||
*/
|
||||
if(sect)
|
||||
if(H5FS_sect_link(fspace, sect, flags) < 0)
|
||||
if(H5FS__sect_link(fspace, sect, flags) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTINSERT, FAIL, "can't insert free space section into skip list")
|
||||
|
||||
#ifdef H5FS_SINFO_DEBUG
|
||||
@ -1418,7 +1418,7 @@ HDfprintf(stderr, "%s: fspace->tot_space = %Hu\n", FUNC, fspace->tot_space);
|
||||
|
||||
done:
|
||||
/* Release the section info */
|
||||
if(sinfo_valid && H5FS_sinfo_unlock(f, fspace, sinfo_modified) < 0)
|
||||
if(sinfo_valid && H5FS__sinfo_unlock(f, fspace, sinfo_modified) < 0)
|
||||
HDONE_ERROR(H5E_FSPACE, H5E_CANTRELEASE, FAIL, "can't release section info")
|
||||
|
||||
#ifdef H5FS_DEBUG_ASSERT
|
||||
@ -1475,7 +1475,7 @@ HDfprintf(stderr, "%s: fspace->ghost_sect_count = %Hu\n", FUNC, fspace->ghost_se
|
||||
H5FS_section_info_t *sect; /* Temporary free space section */
|
||||
|
||||
/* Get a pointer to the section info */
|
||||
if(H5FS_sinfo_lock(f, fspace, H5AC__NO_FLAGS_SET) < 0)
|
||||
if(H5FS__sinfo_lock(f, fspace, H5AC__NO_FLAGS_SET) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTGET, FAIL, "can't get section info")
|
||||
sinfo_valid = TRUE;
|
||||
|
||||
@ -1511,7 +1511,7 @@ if(_section_)
|
||||
H5FS_section_class_t *cls; /* Section's class */
|
||||
|
||||
/* Remove section from data structures */
|
||||
if(H5FS_sect_remove_real(fspace, sect) < 0)
|
||||
if(H5FS__sect_remove_real(fspace, sect) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTRELEASE, FAIL, "can't remove section from internal data structures")
|
||||
|
||||
/* Get class for section */
|
||||
@ -1537,7 +1537,7 @@ if(_section_)
|
||||
/* Re-adding the section could cause it to disappear (particularly when paging) */
|
||||
if(sect) {
|
||||
/* Re-add adjusted section to free sections data structures */
|
||||
if(H5FS_sect_link(fspace, sect, 0) < 0)
|
||||
if(H5FS__sect_link(fspace, sect, 0) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTINSERT, FAIL, "can't insert free space section into skip list")
|
||||
} /* end if */
|
||||
} /* end if */
|
||||
@ -1561,7 +1561,7 @@ if(_section_)
|
||||
|
||||
done:
|
||||
/* Release the section info */
|
||||
if(sinfo_valid && H5FS_sinfo_unlock(f, fspace, sinfo_modified) < 0)
|
||||
if(sinfo_valid && H5FS__sinfo_unlock(f, fspace, sinfo_modified) < 0)
|
||||
HDONE_ERROR(H5E_FSPACE, H5E_CANTRELEASE, FAIL, "can't release section info")
|
||||
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
@ -1601,13 +1601,13 @@ H5FS_sect_try_merge(H5F_t *f, H5FS_t *fspace, H5FS_section_info_t *sect,
|
||||
HDassert(sect->size);
|
||||
|
||||
/* Get a pointer to the section info */
|
||||
if(H5FS_sinfo_lock(f, fspace, H5AC__NO_FLAGS_SET) < 0)
|
||||
if(H5FS__sinfo_lock(f, fspace, H5AC__NO_FLAGS_SET) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTGET, FAIL, "can't get section info")
|
||||
sinfo_valid = TRUE;
|
||||
saved_fs_size = sect->size;
|
||||
|
||||
/* Attempt to merge/shrink section with existing sections */
|
||||
if(H5FS_sect_merge(fspace, §, op_data) < 0)
|
||||
if(H5FS__sect_merge(fspace, §, op_data) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTMERGE, FAIL, "can't merge sections")
|
||||
|
||||
/* Check if section is shrunk and/or merged away completely */
|
||||
@ -1618,7 +1618,7 @@ H5FS_sect_try_merge(H5F_t *f, H5FS_t *fspace, H5FS_section_info_t *sect,
|
||||
else {
|
||||
/* Check if section is merged */
|
||||
if(sect->size > saved_fs_size) {
|
||||
if(H5FS_sect_link(fspace, sect, flags) < 0)
|
||||
if(H5FS__sect_link(fspace, sect, flags) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTINSERT, FAIL, "can't insert free space section into skip list")
|
||||
sinfo_modified = TRUE;
|
||||
HGOTO_DONE(TRUE)
|
||||
@ -1627,7 +1627,7 @@ H5FS_sect_try_merge(H5F_t *f, H5FS_t *fspace, H5FS_section_info_t *sect,
|
||||
|
||||
done:
|
||||
/* Release the section info */
|
||||
if(sinfo_valid && H5FS_sinfo_unlock(f, fspace, sinfo_modified) < 0)
|
||||
if(sinfo_valid && H5FS__sinfo_unlock(f, fspace, sinfo_modified) < 0)
|
||||
HDONE_ERROR(H5E_FSPACE, H5E_CANTRELEASE, FAIL, "can't release section info")
|
||||
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
@ -1635,7 +1635,7 @@ done:
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5FS_sect_find_node
|
||||
* Function: H5FS__sect_find_node
|
||||
*
|
||||
* Purpose: Locate a section of free space (in existing free space list
|
||||
* bins) that is large enough to fulfill request.
|
||||
@ -1648,7 +1648,7 @@ done:
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
static htri_t
|
||||
H5FS_sect_find_node(H5FS_t *fspace, hsize_t request, H5FS_section_info_t **node)
|
||||
H5FS__sect_find_node(H5FS_t *fspace, hsize_t request, H5FS_section_info_t **node)
|
||||
{
|
||||
H5FS_node_t *fspace_node; /* Free list size node */
|
||||
unsigned bin; /* Bin to put the free space section in */
|
||||
@ -1658,7 +1658,7 @@ H5FS_sect_find_node(H5FS_t *fspace, hsize_t request, H5FS_section_info_t **node)
|
||||
const H5FS_section_class_t *cls; /* Class of section */
|
||||
hsize_t alignment;
|
||||
|
||||
FUNC_ENTER_NOAPI_NOINIT
|
||||
FUNC_ENTER_STATIC
|
||||
|
||||
/* Check arguments. */
|
||||
HDassert(fspace);
|
||||
@ -1696,9 +1696,9 @@ HDfprintf(stderr, "%s: bin = %u\n", FUNC, bin);
|
||||
/* Get section's class */
|
||||
cls = &fspace->sect_cls[(*node)->type];
|
||||
/* Decrement # of sections in section size node */
|
||||
if(H5FS_size_node_decr(fspace->sinfo, bin, fspace_node, cls) < 0)
|
||||
if(H5FS__size_node_decr(fspace->sinfo, bin, fspace_node, cls) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTREMOVE, FAIL, "can't remove free space size node from skip list")
|
||||
if(H5FS_sect_unlink_rest(fspace, cls, *node) < 0)
|
||||
if(H5FS__sect_unlink_rest(fspace, cls, *node) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTFREE, FAIL, "can't remove section from non-size tracking data structures")
|
||||
/* Indicate that we found a node for the request */
|
||||
HGOTO_DONE(TRUE)
|
||||
@ -1741,10 +1741,10 @@ HDfprintf(stderr, "%s: bin = %u\n", FUNC, bin);
|
||||
if(NULL == (*node = (H5FS_section_info_t *)H5SL_remove(curr_fspace_node->sect_list, &curr_sect->addr)))
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTREMOVE, FAIL, "can't remove free space node from skip list")
|
||||
/* Decrement # of sections in section size node */
|
||||
if(H5FS_size_node_decr(fspace->sinfo, bin, curr_fspace_node, cls) < 0)
|
||||
if(H5FS__size_node_decr(fspace->sinfo, bin, curr_fspace_node, cls) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTREMOVE, FAIL, "can't remove free space size node from skip list")
|
||||
|
||||
if(H5FS_sect_unlink_rest(fspace, cls, *node) < 0)
|
||||
if(H5FS__sect_unlink_rest(fspace, cls, *node) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTFREE, FAIL, "can't remove section from non-size tracking data structures")
|
||||
|
||||
/*
|
||||
@ -1755,7 +1755,7 @@ HDfprintf(stderr, "%s: bin = %u\n", FUNC, bin);
|
||||
*/
|
||||
if(mis_align) {
|
||||
split_sect = cls->split(*node, frag_size);
|
||||
if((H5FS_sect_link(fspace, split_sect, 0) < 0))
|
||||
if((H5FS__sect_link(fspace, split_sect, 0) < 0))
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTINSERT, FAIL, "can't insert free space section into skip list")
|
||||
/* sanity check */
|
||||
HDassert(split_sect->addr < (*node)->addr);
|
||||
@ -1780,7 +1780,7 @@ HDfprintf(stderr, "%s: bin = %u\n", FUNC, bin);
|
||||
|
||||
done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* H5FS_sect_find_node() */
|
||||
} /* H5FS__sect_find_node() */
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
@ -1823,12 +1823,12 @@ HDfprintf(stderr, "%s: fspace->ghost_sect_count = %Hu\n", FUNC, fspace->ghost_se
|
||||
#endif /* QAK */
|
||||
if(fspace->tot_sect_count > 0) {
|
||||
/* Get a pointer to the section info */
|
||||
if(H5FS_sinfo_lock(f, fspace, H5AC__NO_FLAGS_SET) < 0)
|
||||
if(H5FS__sinfo_lock(f, fspace, H5AC__NO_FLAGS_SET) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTGET, FAIL, "can't get section info")
|
||||
sinfo_valid = TRUE;
|
||||
|
||||
/* Look for node in bins */
|
||||
if((ret_value = H5FS_sect_find_node(fspace, request, node)) < 0)
|
||||
if((ret_value = H5FS__sect_find_node(fspace, request, node)) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTFREE, FAIL, "can't remove section from bins")
|
||||
|
||||
/* Decrement # of sections on free list, if we found an object */
|
||||
@ -1843,7 +1843,7 @@ HDfprintf(stderr, "%s: (*node)->size = %Hu, (*node)->addr = %a, (*node)->type =
|
||||
|
||||
done:
|
||||
/* Release the section info */
|
||||
if(sinfo_valid && H5FS_sinfo_unlock(f, fspace, sinfo_modified) < 0)
|
||||
if(sinfo_valid && H5FS__sinfo_unlock(f, fspace, sinfo_modified) < 0)
|
||||
HDONE_ERROR(H5E_FSPACE, H5E_CANTRELEASE, FAIL, "can't release section info")
|
||||
|
||||
#ifdef H5FS_DEBUG_ASSERT
|
||||
@ -1965,7 +1965,7 @@ HDfprintf(stderr, "%s: fspace->tot_sect_count = %Hu\n", FUNC, fspace->tot_sect_c
|
||||
unsigned bin; /* Current bin we are on */
|
||||
|
||||
/* Get a pointer to the section info */
|
||||
if(H5FS_sinfo_lock(f, fspace, H5AC__READ_ONLY_FLAG) < 0)
|
||||
if(H5FS__sinfo_lock(f, fspace, H5AC__READ_ONLY_FLAG) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTGET, FAIL, "can't get section info")
|
||||
sinfo_valid = TRUE;
|
||||
|
||||
@ -1985,7 +1985,7 @@ HDfprintf(stderr, "%s: Iterate over section bins\n", FUNC);
|
||||
|
||||
done:
|
||||
/* Release the section info */
|
||||
if(sinfo_valid && H5FS_sinfo_unlock(f, fspace, FALSE) < 0)
|
||||
if(sinfo_valid && H5FS__sinfo_unlock(f, fspace, FALSE) < 0)
|
||||
HDONE_ERROR(H5E_FSPACE, H5E_CANTRELEASE, FAIL, "can't release section info")
|
||||
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
@ -2054,7 +2054,7 @@ H5FS_sect_change_class(H5F_t *f, H5FS_t *fspace, H5FS_section_info_t *sect,
|
||||
HDassert(new_class < fspace->nclasses);
|
||||
|
||||
/* Get a pointer to the section info */
|
||||
if(H5FS_sinfo_lock(f, fspace, H5AC__NO_FLAGS_SET) < 0)
|
||||
if(H5FS__sinfo_lock(f, fspace, H5AC__NO_FLAGS_SET) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTGET, FAIL, "can't get section info")
|
||||
sinfo_valid = TRUE;
|
||||
|
||||
@ -2179,12 +2179,12 @@ HDfprintf(stderr, "%s: removing object from merge list, sect->type = %u\n", FUNC
|
||||
fspace->sinfo->serial_size += fspace->sect_cls[new_class].serial_size;
|
||||
|
||||
/* Update current space used for free space sections */
|
||||
if(H5FS_sect_serialize_size(fspace) < 0)
|
||||
if(H5FS__sect_serialize_size(fspace) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTCOMPUTE, FAIL, "can't adjust free space section size on disk")
|
||||
|
||||
done:
|
||||
/* Release the section info */
|
||||
if(sinfo_valid && H5FS_sinfo_unlock(f, fspace, TRUE) < 0)
|
||||
if(sinfo_valid && H5FS__sinfo_unlock(f, fspace, TRUE) < 0)
|
||||
HDONE_ERROR(H5E_FSPACE, H5E_CANTRELEASE, FAIL, "can't release section info")
|
||||
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
@ -2343,13 +2343,12 @@ HDfprintf(stderr, "%s: sect->size = %Hu, sect->addr = %a, sect->type = %u\n", "H
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5FS_sect_try_shrink_eoa
|
||||
* Function: H5FS_sect_try_shrink_eoa
|
||||
*
|
||||
* Purpose: To shrink the last section on the merge list if the section
|
||||
* is at EOF.
|
||||
* Purpose: To shrink the last section on the merge list if the section
|
||||
* is at EOF.
|
||||
*
|
||||
* Return: Success: non-negative (TRUE/FALSE)
|
||||
* Failure: negative
|
||||
* Return: TRUE/FALSE/FAIL
|
||||
*
|
||||
* Programmer: Vailin Choi
|
||||
*
|
||||
@ -2367,7 +2366,7 @@ H5FS_sect_try_shrink_eoa(H5F_t *f, H5FS_t *fspace, void *op_data)
|
||||
/* Check arguments. */
|
||||
HDassert(fspace);
|
||||
|
||||
if(H5FS_sinfo_lock(f, fspace, H5AC__NO_FLAGS_SET) < 0)
|
||||
if(H5FS__sinfo_lock(f, fspace, H5AC__NO_FLAGS_SET) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTGET, FAIL, "can't get section info")
|
||||
sinfo_valid = TRUE;
|
||||
|
||||
@ -2382,30 +2381,30 @@ H5FS_sect_try_shrink_eoa(H5F_t *f, H5FS_t *fspace, void *op_data)
|
||||
/* Get the pointer to the last section, from the last node */
|
||||
tmp_sect = (H5FS_section_info_t *)H5SL_item(last_node);
|
||||
HDassert(tmp_sect);
|
||||
tmp_sect_cls = &fspace->sect_cls[tmp_sect->type];
|
||||
if(tmp_sect_cls->can_shrink) {
|
||||
tmp_sect_cls = &fspace->sect_cls[tmp_sect->type];
|
||||
if(tmp_sect_cls->can_shrink) {
|
||||
/* Check if the section can be shrunk away */
|
||||
if((ret_value = (*tmp_sect_cls->can_shrink)(tmp_sect, op_data)) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTSHRINK, FAIL, "can't check for shrinking container")
|
||||
if(ret_value > 0) {
|
||||
HDassert(tmp_sect_cls->shrink);
|
||||
if((ret_value = (*tmp_sect_cls->can_shrink)(tmp_sect, op_data)) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTSHRINK, FAIL, "can't check for shrinking container")
|
||||
if(ret_value > 0) {
|
||||
HDassert(tmp_sect_cls->shrink);
|
||||
|
||||
/* Remove section from free space manager */
|
||||
if(H5FS_sect_remove_real(fspace, tmp_sect) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTRELEASE, FAIL, "can't remove section from internal data structures")
|
||||
if(H5FS__sect_remove_real(fspace, tmp_sect) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTRELEASE, FAIL, "can't remove section from internal data structures")
|
||||
section_removed = TRUE;
|
||||
|
||||
/* Shrink away section */
|
||||
if((*tmp_sect_cls->shrink)(&tmp_sect, op_data) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTINSERT, FAIL, "can't shrink free space container")
|
||||
} /* end if */
|
||||
} /* end if */
|
||||
} /* end if */
|
||||
if((*tmp_sect_cls->shrink)(&tmp_sect, op_data) < 0)
|
||||
HGOTO_ERROR(H5E_FSPACE, H5E_CANTINSERT, FAIL, "can't shrink free space container")
|
||||
} /* end if */
|
||||
} /* end if */
|
||||
} /* end if */
|
||||
} /* end if */
|
||||
|
||||
done:
|
||||
/* Release the section info */
|
||||
if(sinfo_valid && H5FS_sinfo_unlock(f, fspace, section_removed) < 0)
|
||||
if(sinfo_valid && H5FS__sinfo_unlock(f, fspace, section_removed) < 0)
|
||||
HDONE_ERROR(H5E_FSPACE, H5E_CANTRELEASE, FAIL, "can't release section info")
|
||||
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
@ -2557,15 +2556,15 @@ H5FS_vfd_alloc_hdr_and_section_info_if_needed(H5F_t *f, H5FS_t *fspace,
|
||||
if(H5F_IS_TMP_ADDR(f, (eoa + fspace->sect_size)))
|
||||
HGOTO_ERROR(H5E_RESOURCE, H5E_BADRANGE, FAIL, "hdr file space alloc will overlap into 'temporary' file space")
|
||||
|
||||
hdr_alloc_size = H5FS_HEADER_SIZE(f);
|
||||
hdr_alloc_size = H5FS_HEADER_SIZE(f);
|
||||
|
||||
/* if page allocation is enabled, extend the hdr_alloc_size to the
|
||||
* next page boundary.
|
||||
/* if page allocation is enabled, extend the hdr_alloc_size to the
|
||||
* next page boundary.
|
||||
*/
|
||||
if(H5F_PAGED_AGGR(f)) {
|
||||
HDassert(0 == (eoa % f->shared->fs_page_size));
|
||||
|
||||
hdr_alloc_size = ((hdr_alloc_size / f->shared->fs_page_size) + 1) * f->shared->fs_page_size;
|
||||
hdr_alloc_size = ((hdr_alloc_size / f->shared->fs_page_size) + 1) * f->shared->fs_page_size;
|
||||
|
||||
HDassert(hdr_alloc_size >= H5FS_HEADER_SIZE(f));
|
||||
HDassert((hdr_alloc_size % f->shared->fs_page_size) == 0);
|
||||
@ -2599,13 +2598,13 @@ H5FS_vfd_alloc_hdr_and_section_info_if_needed(H5F_t *f, H5FS_t *fspace,
|
||||
|
||||
sinfo_alloc_size = fspace->sect_size;
|
||||
|
||||
/* if paged allocation is enabled, extend the sinfo_alloc_size to the
|
||||
* next page boundary.
|
||||
/* if paged allocation is enabled, extend the sinfo_alloc_size to the
|
||||
* next page boundary.
|
||||
*/
|
||||
if(H5F_PAGED_AGGR(f)) {
|
||||
HDassert(0 == (eoa % f->shared->fs_page_size));
|
||||
|
||||
sinfo_alloc_size = ((sinfo_alloc_size / f->shared->fs_page_size) + 1) * f->shared->fs_page_size;
|
||||
sinfo_alloc_size = ((sinfo_alloc_size / f->shared->fs_page_size) + 1) * f->shared->fs_page_size;
|
||||
|
||||
HDassert(sinfo_alloc_size >= fspace->sect_size);
|
||||
HDassert((sinfo_alloc_size % f->shared->fs_page_size) == 0);
|
||||
|
27
src/H5G.c
27
src/H5G.c
@ -14,14 +14,12 @@
|
||||
/*-------------------------------------------------------------------------
|
||||
*
|
||||
* Created: H5G.c
|
||||
* Jul 18 1997
|
||||
* Robb Matzke <matzke@llnl.gov>
|
||||
*
|
||||
* Purpose: Symbol table functions. The functions that begin with
|
||||
* `H5G_stab_' don't understand the naming system; they operate
|
||||
* 'H5G_stab_' don't understand the naming system; they operate
|
||||
* on a single symbol table at a time.
|
||||
*
|
||||
* The functions that begin with `H5G_node_' operate on the leaf
|
||||
* The functions that begin with 'H5G_node_' operate on the leaf
|
||||
* nodes of a symbol table B-tree. They should be defined in
|
||||
* the H5Gnode.c file.
|
||||
*
|
||||
@ -42,11 +40,11 @@
|
||||
* +--------------+----------- +--------------------------------+
|
||||
* | Location ID | Name | Meaning |
|
||||
* +--------------+------------+--------------------------------+
|
||||
* | File ID | "/foo/bar" | Find `foo' within `bar' within |
|
||||
* | File ID | "/foo/bar" | Find 'foo' within 'bar' within |
|
||||
* | | | the root group of the specified|
|
||||
* | | | file. |
|
||||
* +--------------+------------+--------------------------------+
|
||||
* | File ID | "foo/bar" | Find `foo' within `bar' within |
|
||||
* | File ID | "foo/bar" | Find 'foo' within 'bar' within |
|
||||
* | | | the root group of the specified|
|
||||
* | | | file. |
|
||||
* +--------------+------------+--------------------------------+
|
||||
@ -56,11 +54,11 @@
|
||||
* | File ID | "." | The root group of the specified|
|
||||
* | | | the specified file. |
|
||||
* +--------------+------------+--------------------------------+
|
||||
* | Group ID | "/foo/bar" | Find `foo' within `bar' within |
|
||||
* | Group ID | "/foo/bar" | Find 'foo' within 'bar' within |
|
||||
* | | | the root group of the file |
|
||||
* | | | containing the specified group.|
|
||||
* +--------------+------------+--------------------------------+
|
||||
* | Group ID | "foo/bar" | File `foo' within `bar' within |
|
||||
* | Group ID | "foo/bar" | File 'foo' within 'bar' within |
|
||||
* | | | the specified group. |
|
||||
* +--------------+------------+--------------------------------+
|
||||
* | Group ID | "/" | The root group of the file |
|
||||
@ -83,13 +81,12 @@
|
||||
/***********/
|
||||
/* Headers */
|
||||
/***********/
|
||||
#include "H5private.h" /* Generic Functions */
|
||||
#include "H5ACprivate.h" /* Metadata cache */
|
||||
#include "H5CXprivate.h" /* API Contexts */
|
||||
#include "H5Eprivate.h" /* Error handling */
|
||||
#include "H5Gpkg.h" /* Groups */
|
||||
#include "H5Iprivate.h" /* IDs */
|
||||
#include "H5Pprivate.h" /* Property lists */
|
||||
#include "H5private.h" /* Generic Functions */
|
||||
#include "H5CXprivate.h" /* API Contexts */
|
||||
#include "H5Eprivate.h" /* Error handling */
|
||||
#include "H5Gpkg.h" /* Groups */
|
||||
#include "H5Iprivate.h" /* IDs */
|
||||
#include "H5Pprivate.h" /* Property lists */
|
||||
|
||||
|
||||
/****************/
|
||||
|
44
src/H5Gint.c
44
src/H5Gint.c
@ -32,13 +32,13 @@
|
||||
/***********/
|
||||
/* Headers */
|
||||
/***********/
|
||||
#include "H5private.h" /* Generic Functions */
|
||||
#include "H5Eprivate.h" /* Error handling */
|
||||
#include "H5FOprivate.h" /* File objects */
|
||||
#include "H5Gpkg.h" /* Groups */
|
||||
#include "H5Iprivate.h" /* IDs */
|
||||
#include "H5Lprivate.h" /* Links */
|
||||
#include "H5MMprivate.h" /* Memory management */
|
||||
#include "H5private.h" /* Generic Functions */
|
||||
#include "H5Eprivate.h" /* Error handling */
|
||||
#include "H5FOprivate.h" /* File objects */
|
||||
#include "H5Gpkg.h" /* Groups */
|
||||
#include "H5Iprivate.h" /* IDs */
|
||||
#include "H5Lprivate.h" /* Links */
|
||||
#include "H5MMprivate.h" /* Memory management */
|
||||
|
||||
|
||||
/****************/
|
||||
@ -805,12 +805,11 @@ done:
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5G_iterate
|
||||
* Function: H5G_iterate
|
||||
*
|
||||
* Purpose: Private function for iterating over links in a group
|
||||
*
|
||||
* Return: Success: Non-negative
|
||||
* Failure: Negative
|
||||
* Return: SUCCEED/FAIL
|
||||
*
|
||||
* Programmer: Quincey Koziol
|
||||
* Oct 3, 2005
|
||||
@ -860,7 +859,7 @@ done:
|
||||
if(gid > 0) {
|
||||
if(H5I_dec_app_ref(gid) < 0)
|
||||
HDONE_ERROR(H5E_SYM, H5E_CANTRELEASE, FAIL, "unable to close group")
|
||||
} /* end if */
|
||||
}
|
||||
else if(grp && H5G_close(grp) < 0)
|
||||
HDONE_ERROR(H5E_SYM, H5E_CLOSEERROR, FAIL, "unable to release group")
|
||||
|
||||
@ -1054,9 +1053,9 @@ done:
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5G_visit
|
||||
* Function: H5G_visit
|
||||
*
|
||||
* Purpose: Recursively visit all the links in a group and all
|
||||
* Purpose: Recursively visit all the links in a group and all
|
||||
* the groups that are linked to from that group. Links within
|
||||
* each group are visited according to the order within the
|
||||
* specified index (unless the specified index does not exist for
|
||||
@ -1068,18 +1067,13 @@ done:
|
||||
* callback with more than one link that points to a particular
|
||||
* _object_.
|
||||
*
|
||||
* Return: Success: The return value of the first operator that
|
||||
* returns non-zero, or zero if all members were
|
||||
* processed with no operator returning non-zero.
|
||||
* Return: Success: The return value of the first operator that
|
||||
* returns non-zero, or zero if all members were
|
||||
* processed with no operator returning non-zero.
|
||||
*
|
||||
* Failure: Negative if something goes wrong within the
|
||||
* library, or the negative value returned by one
|
||||
* of the operators.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Programmer: Quincey Koziol
|
||||
* November 4 2007
|
||||
* Failure: Negative if something goes wrong within the
|
||||
* library, or the negative value returned by one
|
||||
* of the operators.
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -1193,7 +1187,7 @@ done:
|
||||
if(gid > 0) {
|
||||
if(H5I_dec_app_ref(gid) < 0)
|
||||
HDONE_ERROR(H5E_SYM, H5E_CANTRELEASE, FAIL, "unable to close group")
|
||||
} /* end if */
|
||||
}
|
||||
else if(grp && H5G_close(grp) < 0)
|
||||
HDONE_ERROR(H5E_SYM, H5E_CLOSEERROR, FAIL, "unable to release group")
|
||||
|
||||
|
@ -568,7 +568,7 @@ H5G__link_name_replace(H5F_t *file, H5RS_str_t *grp_full_path_r, const H5O_link_
|
||||
obj_path_r = H5G_build_fullpath_refstr_str(grp_full_path_r, lnk->name);
|
||||
if(H5G_name_replace(lnk, H5G_NAME_DELETE, file, obj_path_r, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_SYM, H5E_CANTDELETE, FAIL, "unable to replace name")
|
||||
} /* end if */
|
||||
}
|
||||
|
||||
done:
|
||||
if(obj_path_r)
|
||||
|
173
src/H5Gloc.c
173
src/H5Gloc.c
@ -137,15 +137,11 @@ static herr_t H5G__loc_get_comment_cb(H5G_loc_t *grp_loc, const char *name,
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5G_loc
|
||||
* Function: H5G_loc
|
||||
*
|
||||
* Purpose: Given an object ID return a location for the object.
|
||||
* Purpose: Given an object ID return a location for the object.
|
||||
*
|
||||
* Return: Success: Group pointer.
|
||||
* Failure: NULL
|
||||
*
|
||||
* Programmer: Quincey Koziol
|
||||
* Tuesday, September 13, 2005
|
||||
* Returns: SUCCEED/FAIL
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -158,18 +154,76 @@ H5G_loc(hid_t loc_id, H5G_loc_t *loc)
|
||||
|
||||
switch(H5I_get_type(loc_id)) {
|
||||
case H5I_FILE:
|
||||
{
|
||||
H5F_t *f;
|
||||
{
|
||||
H5F_t *f = NULL;
|
||||
|
||||
/* Get the file struct */
|
||||
if(NULL == (f = (H5F_t *)H5I_object(loc_id)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid file ID")
|
||||
/* Get the file struct */
|
||||
if(NULL == (f = (H5F_t *)H5I_object(loc_id)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid file ID")
|
||||
|
||||
/* Construct a group location for root group of the file */
|
||||
if(H5G_root_loc(f, loc) < 0)
|
||||
HGOTO_ERROR(H5E_SYM, H5E_BADVALUE, FAIL, "unable to create location for file")
|
||||
} /* end case */
|
||||
/* Construct a group location for root group of the file */
|
||||
if(H5G_root_loc(f, loc) < 0)
|
||||
HGOTO_ERROR(H5E_SYM, H5E_BADVALUE, FAIL, "unable to create location for file")
|
||||
break;
|
||||
}
|
||||
|
||||
case H5I_GROUP:
|
||||
{
|
||||
H5G_t *group = NULL;
|
||||
|
||||
if(NULL == (group = (H5G_t *)H5I_object(loc_id)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid group ID")
|
||||
if(NULL == (loc->oloc = H5G_oloc(group)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get object location of group")
|
||||
if(NULL == (loc->path = H5G_nameof(group)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get path of group")
|
||||
break;
|
||||
}
|
||||
|
||||
case H5I_DATATYPE:
|
||||
{
|
||||
H5T_t *dt = NULL;
|
||||
|
||||
if(NULL == (dt = (H5T_t *)H5I_object(loc_id)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid type ID")
|
||||
if(NULL == (loc->oloc = H5T_oloc(dt)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get object location of datatype")
|
||||
if(NULL == (loc->path = H5T_nameof(dt)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get path of datatype")
|
||||
break;
|
||||
}
|
||||
|
||||
case H5I_DATASET:
|
||||
{
|
||||
H5D_t *dset = NULL;
|
||||
|
||||
if(NULL == (dset = (H5D_t *)H5I_object(loc_id)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid data ID")
|
||||
if(NULL == (loc->oloc = H5D_oloc(dset)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get object location of dataset")
|
||||
if(NULL == (loc->path = H5D_nameof(dset)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get path of dataset")
|
||||
break;
|
||||
}
|
||||
|
||||
case H5I_ATTR:
|
||||
{
|
||||
H5A_t *attr = NULL;
|
||||
|
||||
if(NULL == (attr = (H5A_t *)H5I_object(loc_id)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid attribute ID")
|
||||
if(NULL == (loc->oloc = H5A_oloc(attr)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get object location of attribute")
|
||||
if(NULL == (loc->path = H5A_nameof(attr)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get path of attribute")
|
||||
break;
|
||||
}
|
||||
|
||||
case H5I_REFERENCE:
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get group location of reference")
|
||||
|
||||
case H5I_DATASPACE:
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get group location of dataspace")
|
||||
|
||||
case H5I_GENPROP_CLS:
|
||||
case H5I_GENPROP_LST:
|
||||
@ -180,70 +234,14 @@ H5G_loc(hid_t loc_id, H5G_loc_t *loc)
|
||||
case H5I_ERROR_STACK:
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get group location of error class, message or stack")
|
||||
|
||||
case H5I_GROUP:
|
||||
{
|
||||
H5G_t *group;
|
||||
|
||||
if(NULL == (group = (H5G_t *)H5I_object(loc_id)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid group ID")
|
||||
if(NULL == (loc->oloc = H5G_oloc(group)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get object location of group")
|
||||
if(NULL == (loc->path = H5G_nameof(group)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get path of group")
|
||||
} /* end case */
|
||||
break;
|
||||
|
||||
case H5I_DATATYPE:
|
||||
{
|
||||
H5T_t *dt;
|
||||
|
||||
if(NULL == (dt = (H5T_t *)H5I_object(loc_id)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid type ID")
|
||||
if(NULL == (loc->oloc = H5T_oloc(dt)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get object location of datatype")
|
||||
if(NULL == (loc->path = H5T_nameof(dt)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get path of datatype")
|
||||
} /* end case */
|
||||
break;
|
||||
|
||||
case H5I_DATASPACE:
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get group location of dataspace")
|
||||
|
||||
case H5I_DATASET:
|
||||
{
|
||||
H5D_t *dset;
|
||||
|
||||
if(NULL == (dset = (H5D_t *)H5I_object(loc_id)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid data ID")
|
||||
if(NULL == (loc->oloc = H5D_oloc(dset)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get object location of dataset")
|
||||
if(NULL == (loc->path = H5D_nameof(dset)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get path of dataset")
|
||||
} /* end case */
|
||||
break;
|
||||
|
||||
case H5I_ATTR:
|
||||
{
|
||||
H5A_t *attr;
|
||||
|
||||
if(NULL == (attr = (H5A_t *)H5I_object(loc_id)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid attribute ID")
|
||||
if(NULL == (loc->oloc = H5A_oloc(attr)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get object location of attribute")
|
||||
if(NULL == (loc->path = H5A_nameof(attr)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get path of attribute")
|
||||
} /* end case */
|
||||
break;
|
||||
|
||||
case H5I_REFERENCE:
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get group location of reference")
|
||||
case H5I_VFL:
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get group location of a virtual file driver (VFD)")
|
||||
|
||||
case H5I_UNINIT:
|
||||
case H5I_BADID:
|
||||
case H5I_VFL:
|
||||
case H5I_NTYPES:
|
||||
default:
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid object ID")
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid location ID")
|
||||
} /* end switch */
|
||||
|
||||
done:
|
||||
@ -764,7 +762,7 @@ H5G__loc_set_comment_cb(H5G_loc_t H5_ATTR_UNUSED *grp_loc/*in*/, const char H5_A
|
||||
|
||||
/* Check for existing comment message */
|
||||
if((exists = H5O_msg_exists(obj_loc->oloc, H5O_NAME_ID)) < 0)
|
||||
HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "unable to read object header")
|
||||
HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "unable to read object header")
|
||||
|
||||
/* Remove the previous comment message if any */
|
||||
if(exists)
|
||||
@ -774,9 +772,9 @@ H5G__loc_set_comment_cb(H5G_loc_t H5_ATTR_UNUSED *grp_loc/*in*/, const char H5_A
|
||||
/* Add the new message */
|
||||
if(udata->comment && *udata->comment) {
|
||||
/* Casting away const OK -QAK */
|
||||
comment.s = (char *)udata->comment;
|
||||
if(H5O_msg_create(obj_loc->oloc, H5O_NAME_ID, 0, H5O_UPDATE_TIME, &comment) < 0)
|
||||
HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, FAIL, "unable to set comment object header message")
|
||||
comment.s = (char *)udata->comment;
|
||||
if(H5O_msg_create(obj_loc->oloc, H5O_NAME_ID, 0, H5O_UPDATE_TIME, &comment) < 0)
|
||||
HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, FAIL, "unable to set comment object header message")
|
||||
} /* end if */
|
||||
|
||||
done:
|
||||
@ -854,20 +852,21 @@ H5G__loc_get_comment_cb(H5G_loc_t H5_ATTR_UNUSED *grp_loc/*in*/, const char H5_A
|
||||
/* Query object comment */
|
||||
comment.s = NULL;
|
||||
if(NULL == H5O_msg_read(obj_loc->oloc, H5O_NAME_ID, &comment)) {
|
||||
if(udata->comment && udata->bufsize > 0)
|
||||
if(udata->comment && udata->bufsize > 0)
|
||||
udata->comment[0] = '\0';
|
||||
udata->comment_size = 0;
|
||||
} /* end if */
|
||||
udata->comment_size = 0;
|
||||
}
|
||||
else {
|
||||
if(udata->comment && udata->bufsize)
|
||||
HDstrncpy(udata->comment, comment.s, udata->bufsize);
|
||||
udata->comment_size = (ssize_t)HDstrlen(comment.s);
|
||||
H5O_msg_reset(H5O_NAME_ID, &comment);
|
||||
} /* end else */
|
||||
HDstrncpy(udata->comment, comment.s, udata->bufsize);
|
||||
udata->comment_size = (ssize_t)HDstrlen(comment.s);
|
||||
H5O_msg_reset(H5O_NAME_ID, &comment);
|
||||
}
|
||||
|
||||
done:
|
||||
/* Indicate that this callback didn't take ownership of the group *
|
||||
* location for the object */
|
||||
* location for the object.
|
||||
*/
|
||||
*own_loc = H5G_OWN_NONE;
|
||||
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
|
@ -1155,7 +1155,7 @@ H5G_name_replace(const H5O_link_t *lnk, H5G_names_op_t op, H5F_t *src_file,
|
||||
else {
|
||||
/* We pass NULL as link pointer when we need to search all IDs */
|
||||
search_group = search_dataset = search_datatype = TRUE;
|
||||
} /* end else */
|
||||
}
|
||||
|
||||
/* Check if we need to operate on the objects affected */
|
||||
if(search_group || search_dataset || search_datatype) {
|
||||
@ -1166,26 +1166,26 @@ H5G_name_replace(const H5O_link_t *lnk, H5G_names_op_t op, H5F_t *src_file,
|
||||
src_file = H5F_PARENT(src_file);
|
||||
|
||||
/* Set up common information for callback */
|
||||
names.src_file = src_file;
|
||||
names.src_full_path_r = src_full_path_r;
|
||||
names.dst_file = dst_file;
|
||||
names.dst_full_path_r = dst_full_path_r;
|
||||
names.op = op;
|
||||
names.src_file = src_file;
|
||||
names.src_full_path_r = src_full_path_r;
|
||||
names.dst_file = dst_file;
|
||||
names.dst_full_path_r = dst_full_path_r;
|
||||
names.op = op;
|
||||
|
||||
/* Search through group IDs */
|
||||
if(search_group)
|
||||
if(H5I_iterate(H5I_GROUP, H5G_name_replace_cb, &names, FALSE) < 0)
|
||||
HGOTO_ERROR(H5E_SYM, H5E_BADITER, FAIL, "can't iterate over groups")
|
||||
HGOTO_ERROR(H5E_SYM, H5E_BADITER, FAIL, "can't iterate over groups")
|
||||
|
||||
/* Search through dataset IDs */
|
||||
if(search_dataset)
|
||||
if(H5I_iterate(H5I_DATASET, H5G_name_replace_cb, &names, FALSE) < 0)
|
||||
HGOTO_ERROR(H5E_SYM, H5E_BADITER, FAIL, "can't iterate over datasets")
|
||||
HGOTO_ERROR(H5E_SYM, H5E_BADITER, FAIL, "can't iterate over datasets")
|
||||
|
||||
/* Search through datatype IDs */
|
||||
if(search_datatype)
|
||||
if(H5I_iterate(H5I_DATATYPE, H5G_name_replace_cb, &names, FALSE) < 0)
|
||||
HGOTO_ERROR(H5E_SYM, H5E_BADITER, FAIL, "can't iterate over datatypes")
|
||||
HGOTO_ERROR(H5E_SYM, H5E_BADITER, FAIL, "can't iterate over datatypes")
|
||||
} /* end if */
|
||||
} /* end if */
|
||||
|
||||
@ -1269,10 +1269,11 @@ done:
|
||||
*
|
||||
* Purpose: Tries to figure out the path to an object from it's address
|
||||
*
|
||||
* Return: returns size of path name, and copies it into buffer
|
||||
* pointed to by name if that buffer is big enough.
|
||||
* 0 if it cannot find the path
|
||||
* negative on failure.
|
||||
* Return: Success: Returns size of path name, and copies it into buffer
|
||||
* pointed to by name if that buffer is big enough.
|
||||
* 0 if it cannot find the path
|
||||
*
|
||||
* Failure: -1
|
||||
*
|
||||
* Programmer: Quincey Koziol
|
||||
* November 4 2007
|
||||
@ -1283,25 +1284,25 @@ ssize_t
|
||||
H5G_get_name_by_addr(hid_t file, const H5O_loc_t *loc,
|
||||
char *name, size_t size)
|
||||
{
|
||||
H5G_gnba_iter_t udata; /* User data for iteration */
|
||||
H5G_loc_t root_loc; /* Root group's location */
|
||||
hbool_t found_obj = FALSE; /* If we found the object */
|
||||
herr_t status; /* Status from iteration */
|
||||
ssize_t ret_value = -1; /* Return value */
|
||||
H5G_gnba_iter_t udata; /* User data for iteration */
|
||||
H5G_loc_t root_loc; /* Root group's location */
|
||||
hbool_t found_obj = FALSE; /* If we found the object */
|
||||
herr_t status; /* Status from iteration */
|
||||
ssize_t ret_value = -1; /* Return value */
|
||||
|
||||
/* Portably clear udata struct (before FUNC_ENTER) */
|
||||
HDmemset(&udata, 0, sizeof(udata));
|
||||
|
||||
FUNC_ENTER_NOAPI(FAIL)
|
||||
FUNC_ENTER_NOAPI((-1))
|
||||
|
||||
/* Construct the link info for the file's root group */
|
||||
if(H5G_loc(file, &root_loc) < 0)
|
||||
HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "can't get root group's location")
|
||||
HGOTO_ERROR(H5E_SYM, H5E_CANTGET, (-1), "can't get root group's location")
|
||||
|
||||
/* Check for root group being the object looked for */
|
||||
if(root_loc.oloc->addr == loc->addr && root_loc.oloc->file == loc->file) {
|
||||
if(NULL == (udata.path = H5MM_strdup("")))
|
||||
HGOTO_ERROR(H5E_SYM, H5E_CANTALLOC, FAIL, "can't duplicate path string")
|
||||
HGOTO_ERROR(H5E_SYM, H5E_CANTALLOC, (-1), "can't duplicate path string")
|
||||
found_obj = TRUE;
|
||||
} /* end if */
|
||||
else {
|
||||
@ -1311,7 +1312,7 @@ H5G_get_name_by_addr(hid_t file, const H5O_loc_t *loc,
|
||||
|
||||
/* Visit all the links in the file */
|
||||
if((status = H5G_visit(file, "/", H5_INDEX_NAME, H5_ITER_NATIVE, H5G_get_name_by_addr_cb, &udata)) < 0)
|
||||
HGOTO_ERROR(H5E_SYM, H5E_BADITER, FAIL, "group traversal failed while looking for object name")
|
||||
HGOTO_ERROR(H5E_SYM, H5E_BADITER, (-1), "group traversal failed while looking for object name")
|
||||
else if(status > 0)
|
||||
found_obj = TRUE;
|
||||
} /* end else */
|
||||
@ -1342,3 +1343,4 @@ done:
|
||||
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* end H5G_get_name_by_addr() */
|
||||
|
||||
|
@ -36,7 +36,6 @@
|
||||
#include "H5Eprivate.h" /* Error handling */
|
||||
#include "H5Fprivate.h" /* File access */
|
||||
#include "H5Gpkg.h" /* Groups */
|
||||
#include "H5HLprivate.h" /* Local Heaps */
|
||||
#include "H5Iprivate.h" /* IDs */
|
||||
#include "H5Lprivate.h" /* Links */
|
||||
#include "H5MMprivate.h" /* Memory management */
|
||||
@ -257,7 +256,7 @@ H5G__obj_create_real(H5F_t *f, const H5O_ginfo_t *ginfo,
|
||||
* incremented if the object is added to the group directed graph.
|
||||
*/
|
||||
if(H5O_create(f, hdr_size, (size_t)1, gcpl_id, oloc/*out*/) < 0)
|
||||
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "can't create header")
|
||||
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "can't create header")
|
||||
|
||||
/* Check for format of group to create */
|
||||
if(use_at_least_v18) {
|
||||
|
@ -193,9 +193,9 @@ done:
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5O__group_open
|
||||
* Function: H5O__group_open
|
||||
*
|
||||
* Purpose: Open a group at a particular location
|
||||
* Purpose: Open a group at a particular location
|
||||
*
|
||||
* Return: Success: Open object identifier
|
||||
* Failure: Negative
|
||||
|
@ -225,14 +225,14 @@ H5G__stab_create(H5O_loc_t *grp_oloc, const H5O_ginfo_t *ginfo, H5O_stab_t *stab
|
||||
|
||||
/* Go create the B-tree & local heap */
|
||||
if(H5G__stab_create_components(grp_oloc->file, stab, size_hint) < 0)
|
||||
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "can't create symbol table components")
|
||||
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "can't create symbol table components")
|
||||
|
||||
/*
|
||||
* Insert the symbol table message into the object header and the symbol
|
||||
* table entry.
|
||||
*/
|
||||
if(H5O_msg_create(grp_oloc, H5O_STAB_ID, 0, H5O_UPDATE_TIME, stab) < 0)
|
||||
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "can't create message")
|
||||
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "can't create message")
|
||||
|
||||
done:
|
||||
FUNC_LEAVE_NOAPI_TAG(ret_value)
|
||||
@ -534,7 +534,7 @@ H5G__stab_iterate(const H5O_loc_t *oloc, H5_iter_order_t order,
|
||||
|
||||
/* Get the B-tree info */
|
||||
if(NULL == H5O_msg_read(oloc, H5O_STAB_ID, &stab))
|
||||
HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "unable to determine local heap address")
|
||||
HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "unable to determine local heap address")
|
||||
|
||||
/* Pin the heap down in memory */
|
||||
if(NULL == (heap = H5HL_protect(oloc->file, stab.heap_addr, H5AC__READ_ONLY_FLAG)))
|
||||
@ -626,7 +626,7 @@ H5G__stab_count(const H5O_loc_t *oloc, hsize_t *num_objs)
|
||||
|
||||
/* Get the B-tree info */
|
||||
if(NULL == H5O_msg_read(oloc, H5O_STAB_ID, &stab))
|
||||
HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "unable to determine local heap address")
|
||||
HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "unable to determine local heap address")
|
||||
|
||||
/* Iterate over the group members */
|
||||
if(H5B_iterate(oloc->file, H5B_SNODE, stab.btree_addr, H5G__node_sumup, num_objs) < 0)
|
||||
@ -757,7 +757,7 @@ H5G__stab_get_name_by_idx(const H5O_loc_t *oloc, H5_iter_order_t order, hsize_t
|
||||
|
||||
/* Get the B-tree & local heap info */
|
||||
if(NULL == H5O_msg_read(oloc, H5O_STAB_ID, &stab))
|
||||
HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "unable to determine local heap address")
|
||||
HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "unable to determine local heap address")
|
||||
|
||||
/* Pin the heap down in memory */
|
||||
if(NULL == (heap = H5HL_protect(oloc->file, stab.heap_addr, H5AC__READ_ONLY_FLAG)))
|
||||
@ -785,11 +785,11 @@ H5G__stab_get_name_by_idx(const H5O_loc_t *oloc, H5_iter_order_t order, hsize_t
|
||||
|
||||
/* Iterate over the group members */
|
||||
if(H5B_iterate(oloc->file, H5B_SNODE, stab.btree_addr, H5G__node_by_idx, &udata) < 0)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "iteration operator failed")
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "iteration operator failed")
|
||||
|
||||
/* If we don't know the name now, we almost certainly went out of bounds */
|
||||
if(udata.name == NULL)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "index out of bound")
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "index out of bound")
|
||||
|
||||
/* Get the length of the name */
|
||||
ret_value = (ssize_t)HDstrlen(udata.name);
|
||||
@ -979,7 +979,7 @@ H5G__stab_lookup_by_idx(const H5O_loc_t *grp_oloc, H5_iter_order_t order, hsize_
|
||||
|
||||
/* Get the B-tree & local heap info */
|
||||
if(NULL == H5O_msg_read(grp_oloc, H5O_STAB_ID, &stab))
|
||||
HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "unable to determine local heap address")
|
||||
HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "unable to determine local heap address")
|
||||
|
||||
/* Pin the heap down in memory */
|
||||
if(NULL == (heap = H5HL_protect(grp_oloc->file, stab.heap_addr, H5AC__READ_ONLY_FLAG)))
|
||||
@ -1007,11 +1007,11 @@ H5G__stab_lookup_by_idx(const H5O_loc_t *grp_oloc, H5_iter_order_t order, hsize_
|
||||
|
||||
/* Iterate over the group members */
|
||||
if(H5B_iterate(grp_oloc->file, H5B_SNODE, stab.btree_addr, H5G__node_by_idx, &udata) < 0)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "iteration operator failed")
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "iteration operator failed")
|
||||
|
||||
/* If we didn't find the link, we almost certainly went out of bounds */
|
||||
if(!udata.found)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "index out of bound")
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "index out of bound")
|
||||
|
||||
done:
|
||||
/* Release resources */
|
||||
@ -1193,7 +1193,7 @@ H5G__stab_get_type_by_idx(H5O_loc_t *oloc, hsize_t idx)
|
||||
|
||||
/* Get the B-tree & local heap info */
|
||||
if(NULL == H5O_msg_read(oloc, H5O_STAB_ID, &stab))
|
||||
HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, H5G_UNKNOWN, "unable to determine local heap address")
|
||||
HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, H5G_UNKNOWN, "unable to determine local heap address")
|
||||
|
||||
/* Set iteration information */
|
||||
udata.common.idx = idx;
|
||||
@ -1204,7 +1204,7 @@ H5G__stab_get_type_by_idx(H5O_loc_t *oloc, hsize_t idx)
|
||||
|
||||
/* Iterate over the group members */
|
||||
if(H5B_iterate(oloc->file, H5B_SNODE, stab.btree_addr, H5G__node_by_idx, &udata) < 0)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, H5G_UNKNOWN, "iteration operator failed")
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, H5G_UNKNOWN, "iteration operator failed")
|
||||
|
||||
/* If we don't know the type now, we almost certainly went out of bounds */
|
||||
if(udata.type == H5G_UNKNOWN)
|
||||
|
13
src/H5I.c
13
src/H5I.c
@ -128,6 +128,7 @@ static int H5I__inc_type_ref(H5I_type_t type);
|
||||
static int H5I__get_type_ref(H5I_type_t type);
|
||||
static int H5I__search_cb(void *obj, hid_t id, void *_udata);
|
||||
static H5I_id_info_t *H5I__find_id(hid_t id);
|
||||
static hid_t H5I__get_file_id(hid_t obj_id, H5I_type_t id_type);
|
||||
#ifdef H5I_DEBUG_OUTPUT
|
||||
static int H5I__debug_cb(void *_item, void *_key, void *_udata);
|
||||
static herr_t H5I__debug(H5I_type_t type);
|
||||
@ -2055,7 +2056,7 @@ H5Iget_file_id(hid_t obj_id)
|
||||
|
||||
/* Call internal function */
|
||||
if (H5I_FILE == type || H5I_DATATYPE == type || H5I_GROUP == type || H5I_DATASET == type || H5I_ATTR == type) {
|
||||
if ((ret_value = H5I_get_file_id(obj_id, type)) < 0)
|
||||
if ((ret_value = H5I__get_file_id(obj_id, type)) < 0)
|
||||
HGOTO_ERROR(H5E_ATOM, H5E_CANTGET, H5I_INVALID_HID, "can't retrieve file ID")
|
||||
}
|
||||
else
|
||||
@ -2067,7 +2068,7 @@ done:
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5I_get_file_id
|
||||
* Function: H5I__get_file_id
|
||||
*
|
||||
* Purpose: The private version of H5Iget_file_id(), obtains the file
|
||||
* ID given an object ID.
|
||||
@ -2077,12 +2078,12 @@ done:
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
hid_t
|
||||
H5I_get_file_id(hid_t obj_id, H5I_type_t type)
|
||||
static hid_t
|
||||
H5I__get_file_id(hid_t obj_id, H5I_type_t type)
|
||||
{
|
||||
hid_t ret_value = H5I_INVALID_HID; /* Return value */
|
||||
|
||||
FUNC_ENTER_NOAPI_NOINIT
|
||||
FUNC_ENTER_STATIC
|
||||
|
||||
/* Process based on object type */
|
||||
if (type == H5I_FILE) {
|
||||
@ -2107,7 +2108,7 @@ H5I_get_file_id(hid_t obj_id, H5I_type_t type)
|
||||
|
||||
done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* end H5I_get_file_id() */
|
||||
} /* end H5I__get_file_id() */
|
||||
|
||||
#ifdef H5I_DEBUG_OUTPUT
|
||||
|
||||
|
@ -72,7 +72,6 @@ H5_DLL void *H5I_subst(hid_t id, const void *new_object);
|
||||
H5_DLL void *H5I_object(hid_t id);
|
||||
H5_DLL void *H5I_object_verify(hid_t id, H5I_type_t id_type);
|
||||
H5_DLL H5I_type_t H5I_get_type(hid_t id);
|
||||
H5_DLL hid_t H5I_get_file_id(hid_t obj_id, H5I_type_t id_type);
|
||||
H5_DLL void *H5I_remove(hid_t id);
|
||||
H5_DLL herr_t H5I_iterate(H5I_type_t type, H5I_search_func_t func, void *udata, hbool_t app_ref);
|
||||
H5_DLL int H5I_get_ref(hid_t id, hbool_t app_ref);
|
||||
|
@ -102,7 +102,7 @@ static const H5L_class_t H5L_EXTERN_LINK_CLASS[1] = {{
|
||||
* link access property list, appends that prefix to the
|
||||
* filename being opened.
|
||||
*
|
||||
* Return: ID of the opened object on success/Negative on failure
|
||||
* Return: ID of the opened object on success/H5I_INVALID_HID on failure
|
||||
*
|
||||
* Programmer: James Laird
|
||||
* Monday, July 10, 2006
|
||||
@ -129,8 +129,8 @@ H5L__extern_traverse(const char H5_ATTR_UNUSED *link_name, hid_t cur_group,
|
||||
char *parent_group_name = NULL;/* Temporary pointer to group name */
|
||||
char local_group_name[H5L_EXT_TRAVERSE_BUF_SIZE]; /* Local buffer to hold group name */
|
||||
H5P_genplist_t *fa_plist; /* File access property list pointer */
|
||||
H5F_close_degree_t fc_degree = H5F_CLOSE_WEAK; /* File close degree for target file */
|
||||
char *elink_prefix; /* Pointer to elink prefix */
|
||||
H5F_close_degree_t fc_degree = H5F_CLOSE_WEAK; /* File close degree for target file */
|
||||
char *elink_prefix = NULL; /* Pointer to elink prefix */
|
||||
hid_t ret_value = H5I_INVALID_HID; /* Return value */
|
||||
|
||||
FUNC_ENTER_STATIC
|
||||
@ -140,9 +140,9 @@ H5L__extern_traverse(const char H5_ATTR_UNUSED *link_name, hid_t cur_group,
|
||||
|
||||
/* Check external link version & flags */
|
||||
if(((*p >> 4) & 0x0F) > H5L_EXT_VERSION)
|
||||
HGOTO_ERROR(H5E_LINK, H5E_CANTDECODE, FAIL, "bad version number for external link")
|
||||
HGOTO_ERROR(H5E_LINK, H5E_CANTDECODE, H5I_INVALID_HID, "bad version number for external link")
|
||||
if((*p & 0x0F) & ~H5L_EXT_FLAGS_ALL)
|
||||
HGOTO_ERROR(H5E_LINK, H5E_CANTDECODE, FAIL, "bad flags for external link")
|
||||
HGOTO_ERROR(H5E_LINK, H5E_CANTDECODE, H5I_INVALID_HID, "bad flags for external link")
|
||||
p++;
|
||||
|
||||
/* Gather some information from the external link's user data */
|
||||
@ -152,19 +152,19 @@ H5L__extern_traverse(const char H5_ATTR_UNUSED *link_name, hid_t cur_group,
|
||||
|
||||
/* Get the plist structure */
|
||||
if(NULL == (plist = H5P_object_verify(lapl_id, H5P_LINK_ACCESS)))
|
||||
HGOTO_ERROR(H5E_ATOM, H5E_BADATOM, FAIL, "can't find object for ID")
|
||||
HGOTO_ERROR(H5E_ATOM, H5E_BADATOM, H5I_INVALID_HID, "can't find object for ID")
|
||||
|
||||
/* Get the fapl_id set for lapl_id if any */
|
||||
if(H5P_get(plist, H5L_ACS_ELINK_FAPL_NAME, &fapl_id) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, FAIL, "can't get fapl for links")
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, H5I_INVALID_HID, "can't get fapl for links")
|
||||
|
||||
/* Get the location for the group holding the external link */
|
||||
if(H5G_loc(cur_group, &loc) < 0)
|
||||
HGOTO_ERROR(H5E_LINK, H5E_CANTGET, FAIL, "can't get object location")
|
||||
HGOTO_ERROR(H5E_LINK, H5E_CANTGET, H5I_INVALID_HID, "can't get object location")
|
||||
|
||||
/* get the access flags set for lapl_id if any */
|
||||
if(H5P_get(plist, H5L_ACS_ELINK_FLAGS_NAME, &intent) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, FAIL, "can't get elink file access flags")
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, H5I_INVALID_HID, "can't get elink file access flags")
|
||||
|
||||
/* get the file access mode flags for the parent file, if they were not set
|
||||
* on lapl_id */
|
||||
@ -172,15 +172,15 @@ H5L__extern_traverse(const char H5_ATTR_UNUSED *link_name, hid_t cur_group,
|
||||
intent = H5F_INTENT(loc.oloc->file);
|
||||
|
||||
if((fapl_id == H5P_DEFAULT) && ((fapl_id = H5F_get_access_plist(loc.oloc->file, FALSE)) < 0))
|
||||
HGOTO_ERROR(H5E_LINK, H5E_CANTGET, FAIL, "can't get parent's file access property list")
|
||||
HGOTO_ERROR(H5E_LINK, H5E_CANTGET, H5I_INVALID_HID, "can't get parent's file access property list")
|
||||
|
||||
/* Get callback_info */
|
||||
if(H5P_get(plist, H5L_ACS_ELINK_CB_NAME, &cb_info) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, FAIL, "can't get elink callback info")
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, H5I_INVALID_HID, "can't get elink callback info")
|
||||
|
||||
/* Get file access property list */
|
||||
if(NULL == (fa_plist = H5P_object_verify(fapl_id, H5P_FILE_ACCESS)))
|
||||
HGOTO_ERROR(H5E_ATOM, H5E_BADATOM, FAIL, "can't find object for ID")
|
||||
HGOTO_ERROR(H5E_ATOM, H5E_BADATOM, H5I_INVALID_HID, "can't find object for ID")
|
||||
|
||||
/* Make callback if it exists */
|
||||
if(cb_info.func) {
|
||||
@ -192,7 +192,7 @@ H5L__extern_traverse(const char H5_ATTR_UNUSED *link_name, hid_t cur_group,
|
||||
|
||||
/* Query length of parent group name */
|
||||
if((group_name_len = H5G_get_name(&loc, NULL, (size_t) 0, NULL)) < 0)
|
||||
HGOTO_ERROR(H5E_LINK, H5E_CANTGET, FAIL, "unable to retrieve length of group name")
|
||||
HGOTO_ERROR(H5E_LINK, H5E_CANTGET, H5I_INVALID_HID, "unable to retrieve length of group name")
|
||||
|
||||
/* Account for null terminator */
|
||||
group_name_len++;
|
||||
@ -200,43 +200,43 @@ H5L__extern_traverse(const char H5_ATTR_UNUSED *link_name, hid_t cur_group,
|
||||
/* Check if we need to allocate larger buffer */
|
||||
if((size_t)group_name_len > sizeof(local_group_name)) {
|
||||
if(NULL == (parent_group_name = (char *)H5MM_malloc((size_t)group_name_len)))
|
||||
HGOTO_ERROR(H5E_LINK, H5E_CANTALLOC, FAIL, "can't allocate buffer to hold group name, group_name_len = %zd", group_name_len)
|
||||
HGOTO_ERROR(H5E_LINK, H5E_CANTALLOC, H5I_INVALID_HID, "can't allocate buffer to hold group name, group_name_len = %zd", group_name_len)
|
||||
} /* end if */
|
||||
else
|
||||
parent_group_name = local_group_name;
|
||||
|
||||
/* Get parent group name */
|
||||
if(H5G_get_name(&loc, parent_group_name, (size_t) group_name_len, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_LINK, H5E_CANTGET, FAIL, "unable to retrieve group name")
|
||||
HGOTO_ERROR(H5E_LINK, H5E_CANTGET, H5I_INVALID_HID, "unable to retrieve group name")
|
||||
|
||||
/* Make callback */
|
||||
if((cb_info.func)(parent_file_name, parent_group_name, file_name, obj_name, &intent, fapl_id, cb_info.user_data) < 0)
|
||||
HGOTO_ERROR(H5E_LINK, H5E_CALLBACK, FAIL, "traversal operator failed")
|
||||
HGOTO_ERROR(H5E_LINK, H5E_CALLBACK, H5I_INVALID_HID, "traversal operator failed")
|
||||
|
||||
/* Check access flags */
|
||||
if((intent & H5F_ACC_TRUNC) || (intent & H5F_ACC_EXCL))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid file open flags")
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, H5I_INVALID_HID, "invalid file open flags")
|
||||
} /* end if */
|
||||
|
||||
/* Set file close degree for new file to "weak" */
|
||||
if(H5P_set(fa_plist, H5F_ACS_CLOSE_DEGREE_NAME, &fc_degree) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't set file close degree")
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, H5I_INVALID_HID, "can't set file close degree")
|
||||
|
||||
/* Get the current elink prefix */
|
||||
if(H5P_peek(plist, H5L_ACS_ELINK_PREFIX_NAME, &elink_prefix) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, FAIL, "can't get external link prefix")
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, H5I_INVALID_HID, "can't get external link prefix")
|
||||
|
||||
/* Search for the target file */
|
||||
if(NULL == (ext_file = H5F_prefix_open_file(loc.oloc->file, H5F_PREFIX_ELINK, elink_prefix, file_name, intent, fapl_id)))
|
||||
HGOTO_ERROR(H5E_LINK, H5E_CANTOPENFILE, FAIL, "unable to open external file, external link file name = '%s'", file_name)
|
||||
HGOTO_ERROR(H5E_LINK, H5E_CANTOPENFILE, H5I_INVALID_HID, "unable to open external file, external link file name = '%s'", file_name)
|
||||
|
||||
/* Retrieve the "group location" for the file's root group */
|
||||
if(H5G_root_loc(ext_file, &root_loc) < 0)
|
||||
HGOTO_ERROR(H5E_LINK, H5E_BADVALUE, FAIL, "unable to create location for file")
|
||||
HGOTO_ERROR(H5E_LINK, H5E_BADVALUE, H5I_INVALID_HID, "unable to create location for file")
|
||||
|
||||
/* Open the object referenced in the external file */
|
||||
if((ext_obj = H5O_open_name(&root_loc, obj_name, FALSE)) < 0)
|
||||
HGOTO_ERROR(H5E_LINK, H5E_CANTOPENOBJ, FAIL, "unable to open object")
|
||||
HGOTO_ERROR(H5E_LINK, H5E_CANTOPENOBJ, H5I_INVALID_HID, "unable to open object")
|
||||
|
||||
/* Set return value */
|
||||
ret_value = ext_obj;
|
||||
@ -244,15 +244,15 @@ H5L__extern_traverse(const char H5_ATTR_UNUSED *link_name, hid_t cur_group,
|
||||
done:
|
||||
/* Release resources */
|
||||
if(fapl_id > 0 && H5I_dec_ref(fapl_id) < 0)
|
||||
HDONE_ERROR(H5E_ATOM, H5E_CANTRELEASE, FAIL, "unable to close atom for file access property list")
|
||||
HDONE_ERROR(H5E_ATOM, H5E_CANTRELEASE, H5I_INVALID_HID, "unable to close atom for file access property list")
|
||||
if(ext_file && H5F_efc_close(loc.oloc->file, ext_file) < 0)
|
||||
HDONE_ERROR(H5E_LINK, H5E_CANTCLOSEFILE, FAIL, "problem closing external file")
|
||||
HDONE_ERROR(H5E_LINK, H5E_CANTCLOSEFILE, H5I_INVALID_HID, "problem closing external file")
|
||||
if(parent_group_name && parent_group_name != local_group_name)
|
||||
parent_group_name = (char *)H5MM_xfree(parent_group_name);
|
||||
if(ret_value < 0) {
|
||||
/* Close object if it's open and something failed */
|
||||
if(ext_obj >= 0 && H5I_dec_ref(ext_obj) < 0)
|
||||
HDONE_ERROR(H5E_ATOM, H5E_CANTRELEASE, FAIL, "unable to close atom for external object")
|
||||
HDONE_ERROR(H5E_ATOM, H5E_CANTRELEASE, H5I_INVALID_HID, "unable to close atom for external object")
|
||||
} /* end if */
|
||||
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
@ -312,7 +312,7 @@ done:
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Lcreate_external
|
||||
*
|
||||
* Purpose: Creates an external link from LINK_NAME to OBJ_NAME.
|
||||
* Purpose: Creates an external link from LINK_NAME to OBJ_NAME.
|
||||
*
|
||||
* External links are links to objects in other HDF5 files. They
|
||||
* are allowed to "dangle" like soft links internal to a file.
|
||||
@ -322,9 +322,9 @@ done:
|
||||
* LINK_NAME is interpreted relative to LINK_LOC_ID, which is
|
||||
* either a file ID or a group ID.
|
||||
*
|
||||
* Return: Non-negative on success/Negative on failure
|
||||
* Return: Non-negative on success/Negative on failure
|
||||
*
|
||||
* Programmer: Quincey Koziol
|
||||
* Programmer: Quincey Koziol
|
||||
* Wednesday, May 18, 2005
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
@ -380,7 +380,7 @@ H5Lcreate_external(const char *file_name, const char *obj_name,
|
||||
|
||||
/* Create an external link */
|
||||
if(H5L__create_ud(&link_loc, link_name, ext_link_buf, buf_size, H5L_TYPE_EXTERNAL, lcpl_id) < 0)
|
||||
HGOTO_ERROR(H5E_LINK, H5E_CANTINIT, FAIL, "unable to create link")
|
||||
HGOTO_ERROR(H5E_LINK, H5E_CANTINIT, FAIL, "unable to create external link")
|
||||
|
||||
done:
|
||||
H5MM_xfree(ext_link_buf);
|
||||
|
@ -195,10 +195,7 @@ H5FL_DEFINE(haddr_t);
|
||||
* hid_t lcpl_id IN: Properties which apply to the new hard link
|
||||
*
|
||||
*
|
||||
* Return: Non-negative on success/Negative on failure
|
||||
*
|
||||
* Programmer: Peter Cao
|
||||
* June 4, 2005
|
||||
* Return: SUCCEED/FAIL
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -216,19 +213,33 @@ H5Ocopy(hid_t src_loc_id, const char *src_name, hid_t dst_loc_id,
|
||||
|
||||
/* Check arguments */
|
||||
if(H5G_loc(src_loc_id, &loc) < 0)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location")
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location")
|
||||
if(H5G_loc(dst_loc_id, &dst_loc) < 0)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location")
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location")
|
||||
if(!src_name || !*src_name)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no source name specified")
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no source name specified")
|
||||
if(!dst_name || !*dst_name)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no destination name specified")
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no destination name specified")
|
||||
|
||||
/* Get correct property lists */
|
||||
if(H5P_DEFAULT == lcpl_id)
|
||||
lcpl_id = H5P_LINK_CREATE_DEFAULT;
|
||||
else
|
||||
if(TRUE != H5P_isa_class(lcpl_id, H5P_LINK_CREATE))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not link creation property list")
|
||||
|
||||
/* Get object copy property list */
|
||||
if (H5P_DEFAULT == ocpypl_id)
|
||||
ocpypl_id = H5P_OBJECT_COPY_DEFAULT;
|
||||
else
|
||||
if(TRUE != H5P_isa_class(ocpypl_id, H5P_OBJECT_COPY))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not object copy property list")
|
||||
|
||||
/* Set up collective metadata if appropriate */
|
||||
if(H5CX_set_loc(src_loc_id) < 0)
|
||||
HGOTO_ERROR(H5E_OHDR, H5E_CANTSET, FAIL, "can't set collective metadata read info")
|
||||
|
||||
/* Call internal routine to copy object */
|
||||
/* Copy the object */
|
||||
if(H5O__copy(&loc, src_name, &dst_loc, dst_name, ocpypl_id, lcpl_id) < 0)
|
||||
HGOTO_ERROR(H5E_OHDR, H5E_CANTCOPY, FAIL, "unable to copy object")
|
||||
|
||||
@ -240,10 +251,9 @@ done:
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5O__copy
|
||||
*
|
||||
* Purpose: Internal routine to copy an object
|
||||
* Purpose: Private version of H5Ocopy
|
||||
*
|
||||
* Return: Success: Non-negative
|
||||
* Failure: Negative
|
||||
* Return: SUCCEED/FAIL
|
||||
*
|
||||
* Programmer: Quincey Koziol
|
||||
* December 29, 2017
|
||||
@ -260,7 +270,7 @@ H5O__copy(const H5G_loc_t *loc, const char *src_name, H5G_loc_t *dst_loc,
|
||||
htri_t dst_exists; /* Does destination name exist already? */
|
||||
hbool_t loc_found = FALSE; /* Location at 'name' found */
|
||||
hbool_t obj_open = FALSE; /* Entry at 'name' found */
|
||||
herr_t ret_value = SUCCEED; /* Return value */
|
||||
herr_t ret_value = SUCCEED; /* Return value */
|
||||
|
||||
FUNC_ENTER_STATIC
|
||||
|
||||
@ -272,7 +282,7 @@ H5O__copy(const H5G_loc_t *loc, const char *src_name, H5G_loc_t *dst_loc,
|
||||
|
||||
/* Check if destination name already exists */
|
||||
if((dst_exists = H5L_exists_tolerant(dst_loc, dst_name)) < 0)
|
||||
HGOTO_ERROR(H5E_OHDR, H5E_CANTGET, FAIL, "unable to check if destination name exists")
|
||||
HGOTO_ERROR(H5E_OHDR, H5E_CANTGET, FAIL, "unable to check if destination name exists")
|
||||
if(TRUE == dst_exists)
|
||||
HGOTO_ERROR(H5E_OHDR, H5E_EXISTS, FAIL, "destination object already exists")
|
||||
|
||||
@ -291,24 +301,6 @@ H5O__copy(const H5G_loc_t *loc, const char *src_name, H5G_loc_t *dst_loc,
|
||||
HGOTO_ERROR(H5E_OHDR, H5E_CANTOPENOBJ, FAIL, "unable to open object")
|
||||
obj_open = TRUE;
|
||||
|
||||
/* Get correct property lists */
|
||||
if(H5P_DEFAULT == lcpl_id) {
|
||||
if((lcpl_id = H5P_get_default(H5P_CLS_LCRT)) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, FAIL, "unable to get default lcpl")
|
||||
} /* end if */
|
||||
else
|
||||
if(TRUE != H5P_isa_class(lcpl_id, H5P_LINK_CREATE))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not link creation property list")
|
||||
|
||||
/* Get object copy property list */
|
||||
if(H5P_DEFAULT == ocpypl_id) {
|
||||
if((ocpypl_id = H5P_get_default(H5P_CLS_OCPY)) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, FAIL, "unable to get default ocpypl")
|
||||
} /* end if */
|
||||
else
|
||||
if(TRUE != H5P_isa_class(ocpypl_id, H5P_OBJECT_COPY))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not object copy property list")
|
||||
|
||||
/* Do the actual copying of the object */
|
||||
if(H5O__copy_obj(&src_loc, dst_loc, dst_name, ocpypl_id, lcpl_id) < 0)
|
||||
HGOTO_ERROR(H5E_OHDR, H5E_CANTCOPY, FAIL, "unable to copy object")
|
||||
|
134
src/H5P.c
134
src/H5P.c
@ -82,7 +82,7 @@ hbool_t H5_PKG_INIT_VAR = FALSE;
|
||||
hid_t id; IN: Property list or class ID to copy
|
||||
RETURNS
|
||||
Success: valid property list ID on success (non-negative)
|
||||
Failure: negative
|
||||
Failure: H5I_INVALID_HID (negative)
|
||||
DESCRIPTION
|
||||
Copy a property list or class and return the ID. This routine calls the
|
||||
class 'copy' callback after any property 'copy' callbacks are called
|
||||
@ -97,37 +97,37 @@ hid_t
|
||||
H5Pcopy(hid_t id)
|
||||
{
|
||||
void *obj; /* Property object to copy */
|
||||
hid_t ret_value=FALSE; /* return value */
|
||||
hid_t ret_value = H5I_INVALID_HID; /* return value */
|
||||
|
||||
FUNC_ENTER_API(FAIL)
|
||||
FUNC_ENTER_API(H5I_INVALID_HID)
|
||||
H5TRACE1("i", "i", id);
|
||||
|
||||
if(H5P_DEFAULT==id)
|
||||
if(H5P_DEFAULT == id)
|
||||
HGOTO_DONE(H5P_DEFAULT);
|
||||
|
||||
/* Check arguments. */
|
||||
if(H5I_GENPROP_LST != H5I_get_type(id) && H5I_GENPROP_CLS != H5I_get_type(id))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not property object");
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, H5I_INVALID_HID, "not property object");
|
||||
if(NULL == (obj = H5I_object(id)))
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_NOTFOUND, FAIL, "property object doesn't exist");
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_NOTFOUND, H5I_INVALID_HID, "property object doesn't exist");
|
||||
|
||||
/* Compare property lists */
|
||||
if(H5I_GENPROP_LST == H5I_get_type(id)) {
|
||||
if((ret_value = H5P_copy_plist((H5P_genplist_t *)obj, TRUE)) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, FAIL, "can't copy property list");
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, H5I_INVALID_HID, "can't copy property list");
|
||||
} /* end if */
|
||||
/* Must be property classes */
|
||||
else {
|
||||
H5P_genclass_t *copy_class; /* Copy of class */
|
||||
|
||||
/* Copy the class */
|
||||
if((copy_class = H5P_copy_pclass((H5P_genclass_t *)obj)) == NULL)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, FAIL, "can't copy property class");
|
||||
if((copy_class = H5P__copy_pclass((H5P_genclass_t *)obj)) == NULL)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, H5I_INVALID_HID, "can't copy property class");
|
||||
|
||||
/* Get an atom for the copied class */
|
||||
if((ret_value = H5I_register(H5I_GENPROP_CLS, copy_class, TRUE)) < 0) {
|
||||
H5P_close_class(copy_class);
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTREGISTER, FAIL, "unable to atomize property list class");
|
||||
H5P__close_class(copy_class);
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTREGISTER, H5I_INVALID_HID, "unable to atomize property list class");
|
||||
} /* end if */
|
||||
} /* end else */
|
||||
|
||||
@ -162,7 +162,7 @@ done:
|
||||
void *close_data; IN: Pointer to user data to pass along to class
|
||||
close callback.
|
||||
RETURNS
|
||||
Returns a valid property list class ID on success, NULL on failure.
|
||||
Returns a valid property list class ID on success, H5I_INVALID_HID on failure.
|
||||
DESCRIPTION
|
||||
Allocates memory and attaches a class to the property list class hierarchy.
|
||||
GLOBAL VARIABLES
|
||||
@ -179,39 +179,39 @@ H5Pcreate_class(hid_t parent, const char *name,
|
||||
{
|
||||
H5P_genclass_t *par_class = NULL; /* Pointer to the parent class */
|
||||
H5P_genclass_t *pclass = NULL; /* Property list class created */
|
||||
hid_t ret_value; /* Return value */
|
||||
hid_t ret_value = H5I_INVALID_HID; /* Return value */
|
||||
|
||||
FUNC_ENTER_API(FAIL)
|
||||
FUNC_ENTER_API(H5I_INVALID_HID)
|
||||
H5TRACE8("i", "i*sx*xx*xx*x", parent, name, cls_create, create_data, cls_copy,
|
||||
copy_data, cls_close, close_data);
|
||||
|
||||
/* Check arguments. */
|
||||
if(H5P_DEFAULT!=parent && (H5I_GENPROP_CLS!=H5I_get_type(parent)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a property list class")
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, H5I_INVALID_HID, "not a property list class")
|
||||
if(!name || !*name)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid class name")
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, H5I_INVALID_HID, "invalid class name")
|
||||
if((create_data != NULL && cls_create == NULL)
|
||||
|| (copy_data != NULL && cls_copy == NULL)
|
||||
|| (close_data != NULL && cls_close == NULL))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "data specified, but no callback provided")
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, H5I_INVALID_HID, "data specified, but no callback provided")
|
||||
|
||||
/* Get the pointer to the parent class */
|
||||
if(parent == H5P_DEFAULT)
|
||||
par_class = NULL;
|
||||
else if(NULL == (par_class = (H5P_genclass_t *)H5I_object(parent)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "can't retrieve parent class")
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, H5I_INVALID_HID, "can't retrieve parent class")
|
||||
|
||||
/* Create the new property list class */
|
||||
if(NULL == (pclass = H5P_create_class(par_class, name, H5P_TYPE_USER, cls_create, create_data, cls_copy, copy_data, cls_close, close_data)))
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTCREATE, FAIL, "unable to create property list class")
|
||||
if(NULL == (pclass = H5P__create_class(par_class, name, H5P_TYPE_USER, cls_create, create_data, cls_copy, copy_data, cls_close, close_data)))
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTCREATE, H5I_INVALID_HID, "unable to create property list class")
|
||||
|
||||
/* Get an atom for the class */
|
||||
if((ret_value = H5I_register(H5I_GENPROP_CLS, pclass, TRUE)) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTREGISTER, FAIL, "unable to atomize property list class")
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTREGISTER, H5I_INVALID_HID, "unable to atomize property list class")
|
||||
|
||||
done:
|
||||
if(ret_value < 0 && pclass)
|
||||
H5P_close_class(pclass);
|
||||
if(H5I_INVALID_HID == ret_value && pclass)
|
||||
H5P__close_class(pclass);
|
||||
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* H5Pcreate_class() */
|
||||
@ -226,7 +226,7 @@ done:
|
||||
hid_t H5Pcreate(cls_id)
|
||||
hid_t cls_id; IN: Property list class create list from
|
||||
RETURNS
|
||||
Returns a valid property list ID on success, FAIL on failure.
|
||||
Returns a valid property list ID on success, H5I_INVALID_HID on failure.
|
||||
DESCRIPTION
|
||||
Creates a property list of a given class. If a 'create' callback
|
||||
exists for the property list class, it is called before the
|
||||
@ -243,18 +243,18 @@ hid_t
|
||||
H5Pcreate(hid_t cls_id)
|
||||
{
|
||||
H5P_genclass_t *pclass; /* Property list class to modify */
|
||||
hid_t ret_value; /* return value */
|
||||
hid_t ret_value = H5I_INVALID_HID; /* return value */
|
||||
|
||||
FUNC_ENTER_API(FAIL)
|
||||
FUNC_ENTER_API(H5I_INVALID_HID)
|
||||
H5TRACE1("i", "i", cls_id);
|
||||
|
||||
/* Check arguments. */
|
||||
if(NULL == (pclass = (H5P_genclass_t *)H5I_object_verify(cls_id, H5I_GENPROP_CLS)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a property list class");
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, H5I_INVALID_HID, "not a property list class");
|
||||
|
||||
/* Create the new property list */
|
||||
if((ret_value = H5P_create_id(pclass, TRUE)) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTCREATE, FAIL, "unable to create property list");
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTCREATE, H5I_INVALID_HID, "unable to create property list");
|
||||
|
||||
done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
@ -440,7 +440,7 @@ H5Pregister2(hid_t cls_id, const char *name, size_t size, void *def_value,
|
||||
|
||||
/* Create the new property list class */
|
||||
orig_pclass = pclass;
|
||||
if((ret_value = H5P_register(&pclass, name, size, def_value, prp_create, prp_set, prp_get, NULL, NULL, prp_delete, prp_copy, prp_cmp, prp_close)) < 0)
|
||||
if((ret_value = H5P__register(&pclass, name, size, def_value, prp_create, prp_set, prp_get, NULL, NULL, prp_delete, prp_copy, prp_cmp, prp_close)) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTREGISTER, FAIL, "unable to register property in class")
|
||||
|
||||
/* Check if the property class changed and needs to be substituted in the ID */
|
||||
@ -453,7 +453,7 @@ H5Pregister2(hid_t cls_id, const char *name, size_t size, void *def_value,
|
||||
HDassert(old_pclass == orig_pclass);
|
||||
|
||||
/* Close the previous class */
|
||||
if(H5P_close_class(old_pclass) < 0)
|
||||
if(H5P__close_class(old_pclass) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTCLOSEOBJ, FAIL, "unable to close original property class after substitution")
|
||||
} /* end if */
|
||||
|
||||
@ -738,7 +738,7 @@ H5Pexist(hid_t id, const char *name)
|
||||
if(H5I_GENPROP_CLS == H5I_get_type(id)) {
|
||||
if(NULL == (pclass = (H5P_genclass_t *)H5I_object(id)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a property class");
|
||||
if((ret_value = H5P_exist_pclass(pclass, name)) < 0)
|
||||
if((ret_value = H5P__exist_pclass(pclass, name)) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTREGISTER, FAIL, "property does not exist in class");
|
||||
} /* end if */
|
||||
else
|
||||
@ -795,7 +795,7 @@ H5Pget_size(hid_t id, const char *name, size_t *size)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a property list");
|
||||
|
||||
/* Check the property size */
|
||||
if((ret_value = H5P_get_size_plist(plist, name, size)) < 0)
|
||||
if((ret_value = H5P__get_size_plist(plist, name, size)) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTREGISTER, FAIL, "unable to query size in plist");
|
||||
} /* end if */
|
||||
else
|
||||
@ -804,7 +804,7 @@ H5Pget_size(hid_t id, const char *name, size_t *size)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a property list");
|
||||
|
||||
/* Check the property size */
|
||||
if((ret_value = H5P_get_size_pclass(pclass, name, size)) < 0)
|
||||
if((ret_value = H5P__get_size_pclass(pclass, name, size)) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTREGISTER, FAIL, "unable to query size in plist");
|
||||
} /* end if */
|
||||
else
|
||||
@ -867,8 +867,8 @@ done:
|
||||
hid_t H5Pdecode(buf)
|
||||
void *buf; IN: buffer that holds the encoded plist
|
||||
RETURNS
|
||||
Returns non-negative ID of new property list object on success, negative
|
||||
on failure.
|
||||
Success: ID of new property list object
|
||||
Failure: H5I_INVALID_HID (negative)
|
||||
DESCRIPTION
|
||||
Decodes a property list from a binary buffer. The contents of the buffer
|
||||
contain the values for the correponding properties of the plist. The decode
|
||||
@ -884,14 +884,14 @@ done:
|
||||
hid_t
|
||||
H5Pdecode(const void *buf)
|
||||
{
|
||||
hid_t ret_value = SUCCEED; /* return value */
|
||||
hid_t ret_value = H5I_INVALID_HID; /* return value */
|
||||
|
||||
FUNC_ENTER_API(FAIL)
|
||||
FUNC_ENTER_API(H5I_INVALID_HID)
|
||||
H5TRACE1("i", "*x", buf);
|
||||
|
||||
/* Call the internal decode routine */
|
||||
if((ret_value = H5P__decode(buf)) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTDECODE, FAIL, "unable to decode property list");
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTDECODE, H5I_INVALID_HID, "unable to decode property list");
|
||||
|
||||
done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
@ -908,7 +908,7 @@ done:
|
||||
hid_t plist_id; IN: Property list to query
|
||||
RETURNS
|
||||
Success: ID of class object
|
||||
Failure: negative
|
||||
Failure: H5I_INVALID_HID (negative)
|
||||
DESCRIPTION
|
||||
This routine retrieves the class of a property list.
|
||||
|
||||
@ -923,30 +923,30 @@ H5Pget_class(hid_t plist_id)
|
||||
{
|
||||
H5P_genplist_t *plist; /* Property list to query */
|
||||
H5P_genclass_t *pclass=NULL; /* Property list class */
|
||||
hid_t ret_value=FAIL; /* return value */
|
||||
hid_t ret_value = H5I_INVALID_HID; /* return value */
|
||||
|
||||
FUNC_ENTER_API(FAIL)
|
||||
FUNC_ENTER_API(H5I_INVALID_HID)
|
||||
H5TRACE1("i", "i", plist_id);
|
||||
|
||||
/* Check arguments. */
|
||||
if(NULL == (plist = (H5P_genplist_t *)H5I_object_verify(plist_id, H5I_GENPROP_LST)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a property list");
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, H5I_INVALID_HID, "not a property list");
|
||||
|
||||
/* Retrieve the property list class */
|
||||
if((pclass = H5P_get_class(plist)) == NULL)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_NOTFOUND, FAIL, "unable to query class of property list");
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_NOTFOUND, H5I_INVALID_HID, "unable to query class of property list");
|
||||
|
||||
/* Increment the outstanding references to the class object */
|
||||
if(H5P_access_class(pclass, H5P_MOD_INC_REF) < 0)
|
||||
HGOTO_ERROR (H5E_PLIST, H5E_CANTINIT, FAIL,"Can't increment class ID ref count");
|
||||
if(H5P__access_class(pclass, H5P_MOD_INC_REF) < 0)
|
||||
HGOTO_ERROR (H5E_PLIST, H5E_CANTINIT, H5I_INVALID_HID,"Can't increment class ID ref count");
|
||||
|
||||
/* Get an atom for the class */
|
||||
if((ret_value = H5I_register(H5I_GENPROP_CLS, pclass, TRUE)) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTREGISTER, FAIL, "unable to atomize property list class");
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTREGISTER, H5I_INVALID_HID, "unable to atomize property list class");
|
||||
|
||||
done:
|
||||
if(ret_value<0 && pclass)
|
||||
H5P_close_class(pclass);
|
||||
if(H5I_INVALID_HID == ret_value && pclass)
|
||||
H5P__close_class(pclass);
|
||||
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* H5Pget_class() */
|
||||
@ -994,7 +994,7 @@ H5Pget_nprops(hid_t id, size_t *nprops)
|
||||
if(H5I_GENPROP_LST == H5I_get_type(id)) {
|
||||
if(NULL == (plist = (H5P_genplist_t *)H5I_object(id)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a property list");
|
||||
if(H5P_get_nprops_plist(plist, nprops) < 0)
|
||||
if(H5P__get_nprops_plist(plist, nprops) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTREGISTER, FAIL, "unable to query # of properties in plist");
|
||||
} /* end if */
|
||||
else
|
||||
@ -1054,7 +1054,7 @@ H5Pequal(hid_t id1, hid_t id2)
|
||||
if(H5I_GENPROP_LST == H5I_get_type(id1)) {
|
||||
int cmp_ret = 0;
|
||||
|
||||
if(H5P_cmp_plist((const H5P_genplist_t *)obj1, (const H5P_genplist_t *)obj2, &cmp_ret) < 0)
|
||||
if(H5P__cmp_plist((const H5P_genplist_t *)obj1, (const H5P_genplist_t *)obj2, &cmp_ret) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTCOMPARE, FAIL, "can't compare property lists")
|
||||
|
||||
/* Set return value */
|
||||
@ -1062,7 +1062,7 @@ H5Pequal(hid_t id1, hid_t id2)
|
||||
} /* end if */
|
||||
/* Must be property classes */
|
||||
else {
|
||||
if(H5P_cmp_class((const H5P_genclass_t *)obj1, (const H5P_genclass_t *)obj2) == 0)
|
||||
if(H5P__cmp_class((const H5P_genclass_t *)obj1, (const H5P_genclass_t *)obj2) == 0)
|
||||
ret_value = TRUE;
|
||||
} /* end else */
|
||||
|
||||
@ -1236,13 +1236,13 @@ H5Piterate(hid_t id, int *idx, H5P_iterate_t iter_func, void *iter_data)
|
||||
|
||||
if(H5I_GENPROP_LST == H5I_get_type(id)) {
|
||||
/* Iterate over a property list */
|
||||
if((ret_value = H5P_iterate_plist((H5P_genplist_t *)obj, TRUE, (idx ? idx : &fake_idx), H5P__iterate_cb, &udata)) < 0)
|
||||
if((ret_value = H5P__iterate_plist((H5P_genplist_t *)obj, TRUE, (idx ? idx : &fake_idx), H5P__iterate_cb, &udata)) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTREGISTER, FAIL, "unable to iterate over list");
|
||||
} /* end if */
|
||||
else
|
||||
if(H5I_GENPROP_CLS == H5I_get_type(id)) {
|
||||
/* Iterate over a property class */
|
||||
if((ret_value = H5P_iterate_pclass((H5P_genclass_t *)obj, (idx ? idx : &fake_idx), H5P__iterate_cb, &udata)) < 0)
|
||||
if((ret_value = H5P__iterate_pclass((H5P_genclass_t *)obj, (idx ? idx : &fake_idx), H5P__iterate_cb, &udata)) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTREGISTER, FAIL, "unable to iterate over class");
|
||||
} /* end if */
|
||||
else
|
||||
@ -1419,12 +1419,12 @@ H5Pcopy_prop(hid_t dst_id, hid_t src_id, const char *name)
|
||||
|
||||
/* Compare property lists */
|
||||
if(H5I_GENPROP_LST == src_id_type) {
|
||||
if(H5P_copy_prop_plist(dst_id, src_id, name) < 0)
|
||||
if(H5P__copy_prop_plist(dst_id, src_id, name) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, FAIL, "can't copy property between lists")
|
||||
} /* end if */
|
||||
/* Must be property classes */
|
||||
else {
|
||||
if(H5P_copy_prop_pclass(dst_id, src_id, name) < 0)
|
||||
if(H5P__copy_prop_pclass(dst_id, src_id, name) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, FAIL, "can't copy property between classes")
|
||||
} /* end else */
|
||||
|
||||
@ -1470,7 +1470,7 @@ H5Punregister(hid_t pclass_id, const char *name)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid property name");
|
||||
|
||||
/* Remove the property list from class */
|
||||
if((ret_value = H5P_unregister(pclass, name)) < 0)
|
||||
if((ret_value = H5P__unregister(pclass, name)) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTREGISTER, FAIL, "unable to remove property from class");
|
||||
|
||||
done:
|
||||
@ -1575,7 +1575,7 @@ done:
|
||||
hid_t pclass_id; IN: Property class to query
|
||||
RETURNS
|
||||
Success: ID of parent class object
|
||||
Failure: NULL
|
||||
Failure: H5I_INVALID_HID (negative)
|
||||
DESCRIPTION
|
||||
This routine retrieves an ID for the parent class of a property class.
|
||||
|
||||
@ -1589,30 +1589,30 @@ H5Pget_class_parent(hid_t pclass_id)
|
||||
{
|
||||
H5P_genclass_t *pclass; /* Property class to query */
|
||||
H5P_genclass_t *parent = NULL; /* Parent's property class */
|
||||
hid_t ret_value; /* return value */
|
||||
hid_t ret_value = H5I_INVALID_HID; /* return value */
|
||||
|
||||
FUNC_ENTER_API(FAIL)
|
||||
FUNC_ENTER_API(H5I_INVALID_HID)
|
||||
H5TRACE1("i", "i", pclass_id);
|
||||
|
||||
/* Check arguments. */
|
||||
if(NULL == (pclass = (H5P_genclass_t *)H5I_object_verify(pclass_id, H5I_GENPROP_CLS)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a property class")
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, H5I_INVALID_HID, "not a property class")
|
||||
|
||||
/* Retrieve the property class's parent */
|
||||
if(NULL == (parent = H5P_get_class_parent(pclass)))
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_NOTFOUND, FAIL, "unable to query class of property list")
|
||||
if(NULL == (parent = H5P__get_class_parent(pclass)))
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_NOTFOUND, H5I_INVALID_HID, "unable to query class of property list")
|
||||
|
||||
/* Increment the outstanding references to the class object */
|
||||
if(H5P_access_class(parent, H5P_MOD_INC_REF) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, FAIL,"Can't increment class ID ref count")
|
||||
if(H5P__access_class(parent, H5P_MOD_INC_REF) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, H5I_INVALID_HID,"Can't increment class ID ref count")
|
||||
|
||||
/* Get an atom for the class */
|
||||
if((ret_value = H5I_register(H5I_GENPROP_CLS, parent, TRUE)) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTREGISTER, FAIL, "unable to atomize property list class")
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTREGISTER, H5I_INVALID_HID, "unable to atomize property list class")
|
||||
|
||||
done:
|
||||
if(ret_value < 0 && parent)
|
||||
H5P_close_class(parent);
|
||||
if(H5I_INVALID_HID == ret_value && parent)
|
||||
H5P__close_class(parent);
|
||||
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* H5Pget_class_parent() */
|
||||
|
@ -13,11 +13,9 @@
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
*
|
||||
* Created: H5Pacpl.c
|
||||
* January 2 2006
|
||||
* James Laird <jlaird@ncsa.uiuc.edu>
|
||||
* Created: H5Pacpl.c
|
||||
*
|
||||
* Purpose: Attribute creation property list class routines
|
||||
* Purpose: Attribute creation property list class routines
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -32,9 +30,9 @@
|
||||
/***********/
|
||||
/* Headers */
|
||||
/***********/
|
||||
#include "H5private.h" /* Generic Functions */
|
||||
#include "H5Eprivate.h" /* Error handling */
|
||||
#include "H5Ppkg.h" /* Property lists */
|
||||
#include "H5private.h" /* Generic Functions */
|
||||
#include "H5Eprivate.h" /* Error handling */
|
||||
#include "H5Ppkg.h" /* Property lists */
|
||||
|
||||
|
||||
/****************/
|
||||
@ -63,21 +61,21 @@
|
||||
|
||||
/* Attribute creation property list class library initialization object */
|
||||
const H5P_libclass_t H5P_CLS_ACRT[1] = {{
|
||||
"attribute create", /* Class name for debugging */
|
||||
H5P_TYPE_ATTRIBUTE_CREATE, /* Class type */
|
||||
"attribute create", /* Class name for debugging */
|
||||
H5P_TYPE_ATTRIBUTE_CREATE, /* Class type */
|
||||
|
||||
&H5P_CLS_STRING_CREATE_g, /* Parent class */
|
||||
&H5P_CLS_ATTRIBUTE_CREATE_g, /* Pointer to class */
|
||||
&H5P_CLS_ATTRIBUTE_CREATE_ID_g, /* Pointer to class ID */
|
||||
&H5P_LST_ATTRIBUTE_CREATE_ID_g, /* Pointer to default property list ID */
|
||||
NULL, /* Default property registration routine */
|
||||
&H5P_CLS_STRING_CREATE_g, /* Parent class */
|
||||
&H5P_CLS_ATTRIBUTE_CREATE_g, /* Pointer to class */
|
||||
&H5P_CLS_ATTRIBUTE_CREATE_ID_g, /* Pointer to class ID */
|
||||
&H5P_LST_ATTRIBUTE_CREATE_ID_g, /* Pointer to default property list ID */
|
||||
NULL, /* Default property registration routine */
|
||||
|
||||
NULL, /* Class creation callback */
|
||||
NULL, /* Class creation callback info */
|
||||
NULL, /* Class copy callback */
|
||||
NULL, /* Class copy callback info */
|
||||
NULL, /* Class close callback */
|
||||
NULL /* Class close callback info */
|
||||
NULL, /* Class creation callback */
|
||||
NULL, /* Class creation callback info */
|
||||
NULL, /* Class copy callback */
|
||||
NULL, /* Class copy callback info */
|
||||
NULL, /* Class close callback */
|
||||
NULL /* Class close callback info */
|
||||
}};
|
||||
|
||||
|
||||
|
@ -204,46 +204,46 @@ H5P__dacc_reg_prop(H5P_genclass_t *pclass)
|
||||
FUNC_ENTER_STATIC
|
||||
|
||||
/* Register the size of raw data chunk cache (elements) */
|
||||
if(H5P_register_real(pclass, H5D_ACS_DATA_CACHE_NUM_SLOTS_NAME, H5D_ACS_DATA_CACHE_NUM_SLOTS_SIZE, &rdcc_nslots,
|
||||
if(H5P__register_real(pclass, H5D_ACS_DATA_CACHE_NUM_SLOTS_NAME, H5D_ACS_DATA_CACHE_NUM_SLOTS_SIZE, &rdcc_nslots,
|
||||
NULL, NULL, NULL, H5D_ACS_DATA_CACHE_NUM_SLOTS_ENC, H5D_ACS_DATA_CACHE_NUM_SLOTS_DEC, NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the size of raw data chunk cache(bytes) */
|
||||
if(H5P_register_real(pclass, H5D_ACS_DATA_CACHE_BYTE_SIZE_NAME, H5D_ACS_DATA_CACHE_BYTE_SIZE_SIZE, &rdcc_nbytes,
|
||||
if(H5P__register_real(pclass, H5D_ACS_DATA_CACHE_BYTE_SIZE_NAME, H5D_ACS_DATA_CACHE_BYTE_SIZE_SIZE, &rdcc_nbytes,
|
||||
NULL, NULL, NULL, H5D_ACS_DATA_CACHE_BYTE_SIZE_ENC, H5D_ACS_DATA_CACHE_BYTE_SIZE_DEC, NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the preemption for reading chunks */
|
||||
if(H5P_register_real(pclass, H5D_ACS_PREEMPT_READ_CHUNKS_NAME, H5D_ACS_PREEMPT_READ_CHUNKS_SIZE, &rdcc_w0,
|
||||
if(H5P__register_real(pclass, H5D_ACS_PREEMPT_READ_CHUNKS_NAME, H5D_ACS_PREEMPT_READ_CHUNKS_SIZE, &rdcc_w0,
|
||||
NULL, NULL, NULL, H5D_ACS_PREEMPT_READ_CHUNKS_ENC, H5D_ACS_PREEMPT_READ_CHUNKS_DEC, NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the VDS view option */
|
||||
if(H5P_register_real(pclass, H5D_ACS_VDS_VIEW_NAME, H5D_ACS_VDS_VIEW_SIZE, &virtual_view,
|
||||
if(H5P__register_real(pclass, H5D_ACS_VDS_VIEW_NAME, H5D_ACS_VDS_VIEW_SIZE, &virtual_view,
|
||||
NULL, NULL, NULL, H5D_ACS_VDS_VIEW_ENC, H5D_ACS_VDS_VIEW_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the VDS printf gap */
|
||||
if(H5P_register_real(pclass, H5D_ACS_VDS_PRINTF_GAP_NAME, H5D_ACS_VDS_PRINTF_GAP_SIZE, &printf_gap,
|
||||
if(H5P__register_real(pclass, H5D_ACS_VDS_PRINTF_GAP_NAME, H5D_ACS_VDS_PRINTF_GAP_SIZE, &printf_gap,
|
||||
NULL, NULL, NULL, H5D_ACS_VDS_PRINTF_GAP_ENC, H5D_ACS_VDS_PRINTF_GAP_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register property for vds prefix */
|
||||
if(H5P_register_real(pclass, H5D_ACS_VDS_PREFIX_NAME, H5D_ACS_VDS_PREFIX_SIZE, &H5D_def_vds_prefix_g,
|
||||
if(H5P__register_real(pclass, H5D_ACS_VDS_PREFIX_NAME, H5D_ACS_VDS_PREFIX_SIZE, &H5D_def_vds_prefix_g,
|
||||
NULL, H5D_ACS_VDS_PREFIX_SET, H5D_ACS_VDS_PREFIX_GET, H5D_ACS_VDS_PREFIX_ENC, H5D_ACS_VDS_PREFIX_DEC,
|
||||
H5D_ACS_VDS_PREFIX_DEL, H5D_ACS_VDS_PREFIX_COPY, H5D_ACS_VDS_PREFIX_CMP, H5D_ACS_VDS_PREFIX_CLOSE) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register info for append flush */
|
||||
/* (Note: this property should not have an encode/decode callback -QAK) */
|
||||
if(H5P_register_real(pclass, H5D_ACS_APPEND_FLUSH_NAME, H5D_ACS_APPEND_FLUSH_SIZE, &H5D_def_append_flush_g,
|
||||
if(H5P__register_real(pclass, H5D_ACS_APPEND_FLUSH_NAME, H5D_ACS_APPEND_FLUSH_SIZE, &H5D_def_append_flush_g,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register property for external file prefix */
|
||||
if(H5P_register_real(pclass, H5D_ACS_EFILE_PREFIX_NAME, H5D_ACS_EFILE_PREFIX_SIZE, &H5D_def_efile_prefix_g,
|
||||
if(H5P__register_real(pclass, H5D_ACS_EFILE_PREFIX_NAME, H5D_ACS_EFILE_PREFIX_SIZE, &H5D_def_efile_prefix_g,
|
||||
NULL, H5D_ACS_EFILE_PREFIX_SET, H5D_ACS_EFILE_PREFIX_GET, H5D_ACS_EFILE_PREFIX_ENC, H5D_ACS_EFILE_PREFIX_DEC,
|
||||
H5D_ACS_EFILE_PREFIX_DEL, H5D_ACS_EFILE_PREFIX_COPY, H5D_ACS_EFILE_PREFIX_CMP, H5D_ACS_EFILE_PREFIX_CLOSE) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
@ -13,11 +13,9 @@
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
*
|
||||
* Created: H5Pdcpl.c
|
||||
* February 26 1998
|
||||
* Robb Matzke <matzke@llnl.gov>
|
||||
* Created: H5Pdcpl.c
|
||||
*
|
||||
* Purpose: Dataset creation property list class routines
|
||||
* Purpose: Dataset creation property list class routines
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -33,19 +31,19 @@
|
||||
/***********/
|
||||
/* Headers */
|
||||
/***********/
|
||||
#include "H5private.h" /* Generic Functions */
|
||||
#include "H5CXprivate.h" /* API Contexts */
|
||||
#include "H5Dpkg.h" /* Datasets */
|
||||
#include "H5Eprivate.h" /* Error handling */
|
||||
#include "H5FLprivate.h" /* Free Lists */
|
||||
#include "H5Iprivate.h" /* IDs */
|
||||
#include "H5MMprivate.h" /* Memory management */
|
||||
#include "H5Oprivate.h" /* Object headers */
|
||||
#include "H5Ppkg.h" /* Property lists */
|
||||
#include "H5Sprivate.h" /* Dataspaces */
|
||||
#include "H5Tprivate.h" /* Datatypes */
|
||||
#include "H5VMprivate.h" /* Vectors and arrays */
|
||||
#include "H5Zprivate.h" /* Data filters */
|
||||
#include "H5private.h" /* Generic Functions */
|
||||
#include "H5CXprivate.h" /* API Contexts */
|
||||
#include "H5Dpkg.h" /* Datasets */
|
||||
#include "H5Eprivate.h" /* Error handling */
|
||||
#include "H5FLprivate.h" /* Free Lists */
|
||||
#include "H5Iprivate.h" /* IDs */
|
||||
#include "H5MMprivate.h" /* Memory management */
|
||||
#include "H5Oprivate.h" /* Object headers */
|
||||
#include "H5Ppkg.h" /* Property lists */
|
||||
#include "H5Sprivate.h" /* Dataspaces */
|
||||
#include "H5Tprivate.h" /* Datatypes */
|
||||
#include "H5VMprivate.h" /* Vectors and arrays */
|
||||
#include "H5Zprivate.h" /* Data filters */
|
||||
|
||||
|
||||
/****************/
|
||||
@ -242,30 +240,30 @@ static hbool_t H5P_dcrt_def_layout_init_g = FALSE;
|
||||
static herr_t
|
||||
H5P__dcrt_reg_prop(H5P_genclass_t *pclass)
|
||||
{
|
||||
herr_t ret_value = SUCCEED; /* Return value */
|
||||
herr_t ret_value = SUCCEED; /* Return value */
|
||||
|
||||
FUNC_ENTER_STATIC
|
||||
|
||||
/* Register the storage layout property */
|
||||
if(H5P_register_real(pclass, H5D_CRT_LAYOUT_NAME, H5D_CRT_LAYOUT_SIZE, &H5D_def_layout_g,
|
||||
if(H5P__register_real(pclass, H5D_CRT_LAYOUT_NAME, H5D_CRT_LAYOUT_SIZE, &H5D_def_layout_g,
|
||||
NULL, H5D_CRT_LAYOUT_SET, H5D_CRT_LAYOUT_GET, H5D_CRT_LAYOUT_ENC, H5D_CRT_LAYOUT_DEC,
|
||||
H5D_CRT_LAYOUT_DEL, H5D_CRT_LAYOUT_COPY, H5D_CRT_LAYOUT_CMP, H5D_CRT_LAYOUT_CLOSE) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the fill value property */
|
||||
if(H5P_register_real(pclass, H5D_CRT_FILL_VALUE_NAME, H5D_CRT_FILL_VALUE_SIZE, &H5D_def_fill_g,
|
||||
if(H5P__register_real(pclass, H5D_CRT_FILL_VALUE_NAME, H5D_CRT_FILL_VALUE_SIZE, &H5D_def_fill_g,
|
||||
NULL, H5D_CRT_FILL_VALUE_SET, H5D_CRT_FILL_VALUE_GET, H5D_CRT_FILL_VALUE_ENC, H5D_CRT_FILL_VALUE_DEC,
|
||||
H5D_CRT_FILL_VALUE_DEL, H5D_CRT_FILL_VALUE_COPY, H5D_CRT_FILL_VALUE_CMP, H5D_CRT_FILL_VALUE_CLOSE) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the space allocation time state property */
|
||||
if(H5P_register_real(pclass, H5D_CRT_ALLOC_TIME_STATE_NAME, H5D_CRT_ALLOC_TIME_STATE_SIZE, &H5D_def_alloc_time_state_g,
|
||||
if(H5P__register_real(pclass, H5D_CRT_ALLOC_TIME_STATE_NAME, H5D_CRT_ALLOC_TIME_STATE_SIZE, &H5D_def_alloc_time_state_g,
|
||||
NULL, NULL, NULL, H5D_CRT_ALLOC_TIME_STATE_ENC, H5D_CRT_ALLOC_TIME_STATE_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the external file list property */
|
||||
if(H5P_register_real(pclass, H5D_CRT_EXT_FILE_LIST_NAME, H5D_CRT_EXT_FILE_LIST_SIZE, &H5D_def_efl_g,
|
||||
if(H5P__register_real(pclass, H5D_CRT_EXT_FILE_LIST_NAME, H5D_CRT_EXT_FILE_LIST_SIZE, &H5D_def_efl_g,
|
||||
NULL, H5D_CRT_EXT_FILE_LIST_SET, H5D_CRT_EXT_FILE_LIST_GET, H5D_CRT_EXT_FILE_LIST_ENC, H5D_CRT_EXT_FILE_LIST_DEC,
|
||||
H5D_CRT_EXT_FILE_LIST_DEL, H5D_CRT_EXT_FILE_LIST_COPY, H5D_CRT_EXT_FILE_LIST_CMP, H5D_CRT_EXT_FILE_LIST_CLOSE) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
@ -3206,10 +3204,10 @@ H5Pset_fill_value(hid_t plist_id, hid_t type_id, const void *value)
|
||||
H5T_path_t *tpath; /* Conversion information */
|
||||
|
||||
/* Retrieve pointer to datatype */
|
||||
if(NULL == (type = (H5T_t *)H5I_object_verify(type_id, H5I_DATATYPE)))
|
||||
if(NULL == (type = (H5T_t *)H5I_object_verify(type_id, H5I_DATATYPE)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype")
|
||||
|
||||
/* Set the fill value */
|
||||
/* Set the fill value */
|
||||
if(NULL == (fill.type = H5T_copy(type, H5T_COPY_TRANSIENT)))
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, FAIL, "can't copy datatype")
|
||||
fill.size = (ssize_t)H5T_get_size(type);
|
||||
|
@ -242,7 +242,7 @@ H5Pregister1(hid_t cls_id, const char *name, size_t size, void *def_value,
|
||||
|
||||
/* Create the new property list class */
|
||||
orig_pclass = pclass;
|
||||
if((ret_value = H5P_register(&pclass, name, size, def_value, prp_create, prp_set, prp_get, NULL, NULL, prp_delete, prp_copy, NULL, prp_close)) < 0)
|
||||
if((ret_value = H5P__register(&pclass, name, size, def_value, prp_create, prp_set, prp_get, NULL, NULL, prp_delete, prp_copy, NULL, prp_close)) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTREGISTER, FAIL, "unable to register property in class");
|
||||
|
||||
/* Check if the property class changed and needs to be substituted in the ID */
|
||||
@ -255,7 +255,7 @@ H5Pregister1(hid_t cls_id, const char *name, size_t size, void *def_value,
|
||||
HDassert(old_pclass == orig_pclass);
|
||||
|
||||
/* Close the previous class */
|
||||
if(H5P_close_class(orig_pclass) < 0)
|
||||
if(H5P__close_class(orig_pclass) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTCLOSEOBJ, FAIL, "unable to close original property class after substitution")
|
||||
} /* end if */
|
||||
|
||||
|
@ -271,131 +271,131 @@ H5P__dxfr_reg_prop(H5P_genclass_t *pclass)
|
||||
FUNC_ENTER_STATIC
|
||||
|
||||
/* Register the max. temp buffer size property */
|
||||
if(H5P_register_real(pclass, H5D_XFER_MAX_TEMP_BUF_NAME, H5D_XFER_MAX_TEMP_BUF_SIZE, &H5D_def_max_temp_buf_g,
|
||||
if(H5P__register_real(pclass, H5D_XFER_MAX_TEMP_BUF_NAME, H5D_XFER_MAX_TEMP_BUF_SIZE, &H5D_def_max_temp_buf_g,
|
||||
NULL, NULL, NULL, H5D_XFER_MAX_TEMP_BUF_ENC, H5D_XFER_MAX_TEMP_BUF_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the type conversion buffer property */
|
||||
/* (Note: this property should not have an encode/decode callback -QAK) */
|
||||
if(H5P_register_real(pclass, H5D_XFER_TCONV_BUF_NAME, H5D_XFER_TCONV_BUF_SIZE, &H5D_def_tconv_buf_g,
|
||||
if(H5P__register_real(pclass, H5D_XFER_TCONV_BUF_NAME, H5D_XFER_TCONV_BUF_SIZE, &H5D_def_tconv_buf_g,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the background buffer property */
|
||||
/* (Note: this property should not have an encode/decode callback -QAK) */
|
||||
if(H5P_register_real(pclass, H5D_XFER_BKGR_BUF_NAME, H5D_XFER_BKGR_BUF_SIZE, &H5D_def_bkgr_buf_g,
|
||||
if(H5P__register_real(pclass, H5D_XFER_BKGR_BUF_NAME, H5D_XFER_BKGR_BUF_SIZE, &H5D_def_bkgr_buf_g,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the background buffer type property */
|
||||
if(H5P_register_real(pclass, H5D_XFER_BKGR_BUF_TYPE_NAME, H5D_XFER_BKGR_BUF_TYPE_SIZE, &H5D_def_bkgr_buf_type_g,
|
||||
if(H5P__register_real(pclass, H5D_XFER_BKGR_BUF_TYPE_NAME, H5D_XFER_BKGR_BUF_TYPE_SIZE, &H5D_def_bkgr_buf_type_g,
|
||||
NULL, NULL, NULL, H5D_XFER_BKGR_BUF_TYPE_ENC, H5D_XFER_BKGR_BUF_TYPE_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the B-Tree node splitting ratios property */
|
||||
if(H5P_register_real(pclass, H5D_XFER_BTREE_SPLIT_RATIO_NAME, H5D_XFER_BTREE_SPLIT_RATIO_SIZE, H5D_def_btree_split_ratio_g,
|
||||
if(H5P__register_real(pclass, H5D_XFER_BTREE_SPLIT_RATIO_NAME, H5D_XFER_BTREE_SPLIT_RATIO_SIZE, H5D_def_btree_split_ratio_g,
|
||||
NULL, NULL, NULL, H5D_XFER_BTREE_SPLIT_RATIO_ENC, H5D_XFER_BTREE_SPLIT_RATIO_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the vlen allocation function property */
|
||||
/* (Note: this property should not have an encode/decode callback -QAK) */
|
||||
if(H5P_register_real(pclass, H5D_XFER_VLEN_ALLOC_NAME, H5D_XFER_VLEN_ALLOC_SIZE, &H5D_def_vlen_alloc_g,
|
||||
if(H5P__register_real(pclass, H5D_XFER_VLEN_ALLOC_NAME, H5D_XFER_VLEN_ALLOC_SIZE, &H5D_def_vlen_alloc_g,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the vlen allocation information property */
|
||||
/* (Note: this property should not have an encode/decode callback -QAK) */
|
||||
if(H5P_register_real(pclass, H5D_XFER_VLEN_ALLOC_INFO_NAME, H5D_XFER_VLEN_ALLOC_INFO_SIZE, &H5D_def_vlen_alloc_info_g,
|
||||
if(H5P__register_real(pclass, H5D_XFER_VLEN_ALLOC_INFO_NAME, H5D_XFER_VLEN_ALLOC_INFO_SIZE, &H5D_def_vlen_alloc_info_g,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the vlen free function property */
|
||||
/* (Note: this property should not have an encode/decode callback -QAK) */
|
||||
if(H5P_register_real(pclass, H5D_XFER_VLEN_FREE_NAME, H5D_XFER_VLEN_FREE_SIZE, &H5D_def_vlen_free_g,
|
||||
if(H5P__register_real(pclass, H5D_XFER_VLEN_FREE_NAME, H5D_XFER_VLEN_FREE_SIZE, &H5D_def_vlen_free_g,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the vlen free information property */
|
||||
/* (Note: this property should not have an encode/decode callback -QAK) */
|
||||
if(H5P_register_real(pclass, H5D_XFER_VLEN_FREE_INFO_NAME, H5D_XFER_VLEN_FREE_INFO_SIZE, &H5D_def_vlen_free_info_g,
|
||||
if(H5P__register_real(pclass, H5D_XFER_VLEN_FREE_INFO_NAME, H5D_XFER_VLEN_FREE_INFO_SIZE, &H5D_def_vlen_free_info_g,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the vector size property */
|
||||
if(H5P_register_real(pclass, H5D_XFER_HYPER_VECTOR_SIZE_NAME, H5D_XFER_HYPER_VECTOR_SIZE_SIZE, &H5D_def_hyp_vec_size_g,
|
||||
if(H5P__register_real(pclass, H5D_XFER_HYPER_VECTOR_SIZE_NAME, H5D_XFER_HYPER_VECTOR_SIZE_SIZE, &H5D_def_hyp_vec_size_g,
|
||||
NULL, NULL, NULL, H5D_XFER_HYPER_VECTOR_SIZE_ENC, H5D_XFER_HYPER_VECTOR_SIZE_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the I/O transfer mode properties */
|
||||
if(H5P_register_real(pclass, H5D_XFER_IO_XFER_MODE_NAME, H5D_XFER_IO_XFER_MODE_SIZE, &H5D_def_io_xfer_mode_g,
|
||||
if(H5P__register_real(pclass, H5D_XFER_IO_XFER_MODE_NAME, H5D_XFER_IO_XFER_MODE_SIZE, &H5D_def_io_xfer_mode_g,
|
||||
NULL, NULL, NULL, H5D_XFER_IO_XFER_MODE_ENC, H5D_XFER_IO_XFER_MODE_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
if(H5P_register_real(pclass, H5D_XFER_MPIO_COLLECTIVE_OPT_NAME, H5D_XFER_MPIO_COLLECTIVE_OPT_SIZE, &H5D_def_mpio_collective_opt_mode_g,
|
||||
if(H5P__register_real(pclass, H5D_XFER_MPIO_COLLECTIVE_OPT_NAME, H5D_XFER_MPIO_COLLECTIVE_OPT_SIZE, &H5D_def_mpio_collective_opt_mode_g,
|
||||
NULL, NULL, NULL, H5D_XFER_MPIO_COLLECTIVE_OPT_ENC, H5D_XFER_MPIO_COLLECTIVE_OPT_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
if(H5P_register_real(pclass, H5D_XFER_MPIO_CHUNK_OPT_HARD_NAME, H5D_XFER_MPIO_CHUNK_OPT_HARD_SIZE, &H5D_def_mpio_chunk_opt_mode_g,
|
||||
if(H5P__register_real(pclass, H5D_XFER_MPIO_CHUNK_OPT_HARD_NAME, H5D_XFER_MPIO_CHUNK_OPT_HARD_SIZE, &H5D_def_mpio_chunk_opt_mode_g,
|
||||
NULL, NULL, NULL, H5D_XFER_MPIO_CHUNK_OPT_HARD_ENC, H5D_XFER_MPIO_CHUNK_OPT_HARD_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
if(H5P_register_real(pclass, H5D_XFER_MPIO_CHUNK_OPT_NUM_NAME, H5D_XFER_MPIO_CHUNK_OPT_NUM_SIZE, &H5D_def_mpio_chunk_opt_num_g,
|
||||
if(H5P__register_real(pclass, H5D_XFER_MPIO_CHUNK_OPT_NUM_NAME, H5D_XFER_MPIO_CHUNK_OPT_NUM_SIZE, &H5D_def_mpio_chunk_opt_num_g,
|
||||
NULL, NULL, NULL, H5D_XFER_MPIO_CHUNK_OPT_NUM_ENC, H5D_XFER_MPIO_CHUNK_OPT_NUM_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
if(H5P_register_real(pclass, H5D_XFER_MPIO_CHUNK_OPT_RATIO_NAME, H5D_XFER_MPIO_CHUNK_OPT_RATIO_SIZE, &H5D_def_mpio_chunk_opt_ratio_g,
|
||||
if(H5P__register_real(pclass, H5D_XFER_MPIO_CHUNK_OPT_RATIO_NAME, H5D_XFER_MPIO_CHUNK_OPT_RATIO_SIZE, &H5D_def_mpio_chunk_opt_ratio_g,
|
||||
NULL, NULL, NULL, H5D_XFER_MPIO_CHUNK_OPT_RATIO_ENC, H5D_XFER_MPIO_CHUNK_OPT_RATIO_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the chunk optimization mode property. */
|
||||
/* (Note: this property should not have an encode/decode callback -QAK) */
|
||||
if(H5P_register_real(pclass, H5D_MPIO_ACTUAL_CHUNK_OPT_MODE_NAME, H5D_MPIO_ACTUAL_CHUNK_OPT_MODE_SIZE, &H5D_def_mpio_actual_chunk_opt_mode_g,
|
||||
if(H5P__register_real(pclass, H5D_MPIO_ACTUAL_CHUNK_OPT_MODE_NAME, H5D_MPIO_ACTUAL_CHUNK_OPT_MODE_SIZE, &H5D_def_mpio_actual_chunk_opt_mode_g,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the actual I/O mode property. */
|
||||
/* (Note: this property should not have an encode/decode callback -QAK) */
|
||||
if(H5P_register_real(pclass, H5D_MPIO_ACTUAL_IO_MODE_NAME, H5D_MPIO_ACTUAL_IO_MODE_SIZE, &H5D_def_mpio_actual_io_mode_g,
|
||||
if(H5P__register_real(pclass, H5D_MPIO_ACTUAL_IO_MODE_NAME, H5D_MPIO_ACTUAL_IO_MODE_SIZE, &H5D_def_mpio_actual_io_mode_g,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the local cause of broken collective I/O */
|
||||
/* (Note: this property should not have an encode/decode callback -QAK) */
|
||||
if(H5P_register_real(pclass, H5D_MPIO_LOCAL_NO_COLLECTIVE_CAUSE_NAME, H5D_MPIO_NO_COLLECTIVE_CAUSE_SIZE, &H5D_def_mpio_no_collective_cause_g,
|
||||
if(H5P__register_real(pclass, H5D_MPIO_LOCAL_NO_COLLECTIVE_CAUSE_NAME, H5D_MPIO_NO_COLLECTIVE_CAUSE_SIZE, &H5D_def_mpio_no_collective_cause_g,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the global cause of broken collective I/O */
|
||||
/* (Note: this property should not have an encode/decode callback -QAK) */
|
||||
if(H5P_register_real(pclass, H5D_MPIO_GLOBAL_NO_COLLECTIVE_CAUSE_NAME, H5D_MPIO_NO_COLLECTIVE_CAUSE_SIZE, &H5D_def_mpio_no_collective_cause_g,
|
||||
if(H5P__register_real(pclass, H5D_MPIO_GLOBAL_NO_COLLECTIVE_CAUSE_NAME, H5D_MPIO_NO_COLLECTIVE_CAUSE_SIZE, &H5D_def_mpio_no_collective_cause_g,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the EDC property */
|
||||
if(H5P_register_real(pclass, H5D_XFER_EDC_NAME, H5D_XFER_EDC_SIZE, &H5D_def_enable_edc_g,
|
||||
if(H5P__register_real(pclass, H5D_XFER_EDC_NAME, H5D_XFER_EDC_SIZE, &H5D_def_enable_edc_g,
|
||||
NULL, NULL, NULL, H5D_XFER_EDC_ENC, H5D_XFER_EDC_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the filter callback property */
|
||||
/* (Note: this property should not have an encode/decode callback -QAK) */
|
||||
if(H5P_register_real(pclass, H5D_XFER_FILTER_CB_NAME, H5D_XFER_FILTER_CB_SIZE, &H5D_def_filter_cb_g,
|
||||
if(H5P__register_real(pclass, H5D_XFER_FILTER_CB_NAME, H5D_XFER_FILTER_CB_SIZE, &H5D_def_filter_cb_g,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the type conversion callback property */
|
||||
/* (Note: this property should not have an encode/decode callback -QAK) */
|
||||
if(H5P_register_real(pclass, H5D_XFER_CONV_CB_NAME, H5D_XFER_CONV_CB_SIZE, &H5D_def_conv_cb_g,
|
||||
if(H5P__register_real(pclass, H5D_XFER_CONV_CB_NAME, H5D_XFER_CONV_CB_SIZE, &H5D_def_conv_cb_g,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the data transform property */
|
||||
if(H5P_register_real(pclass, H5D_XFER_XFORM_NAME, H5D_XFER_XFORM_SIZE, &H5D_def_xfer_xform_g,
|
||||
if(H5P__register_real(pclass, H5D_XFER_XFORM_NAME, H5D_XFER_XFORM_SIZE, &H5D_def_xfer_xform_g,
|
||||
NULL, H5D_XFER_XFORM_SET, H5D_XFER_XFORM_GET, H5D_XFER_XFORM_ENC, H5D_XFER_XFORM_DEC,
|
||||
H5D_XFER_XFORM_DEL, H5D_XFER_XFORM_COPY, H5D_XFER_XFORM_CMP, H5D_XFER_XFORM_CLOSE) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
@ -428,7 +428,7 @@ H5P__encode(const H5P_genplist_t *plist, hbool_t enc_all_prop, void *buf,
|
||||
|
||||
/* Iterate over all properties in property list, encoding them */
|
||||
idx = 0;
|
||||
if(H5P_iterate_plist(plist, enc_all_prop, &idx, H5P__encode_cb, &udata) < 0)
|
||||
if(H5P__iterate_plist(plist, enc_all_prop, &idx, H5P__encode_cb, &udata) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_BADITER, FAIL, "can't iterate over properties")
|
||||
|
||||
/* Encode a terminator for list of properties */
|
||||
|
258
src/H5Pfapl.c
258
src/H5Pfapl.c
@ -398,7 +398,7 @@ static const size_t H5F_def_page_buf_size_g = H5F_ACS_PAGE_BUFFER_SIZE_DEF;
|
||||
static const unsigned H5F_def_page_buf_min_meta_perc_g = H5F_ACS_PAGE_BUFFER_MIN_META_PERC_DEF; /* Default page buffer minimum metadata size */
|
||||
static const unsigned H5F_def_page_buf_min_raw_perc_g = H5F_ACS_PAGE_BUFFER_MIN_RAW_PERC_DEF; /* Default page buffer mininum raw data size */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P__facc_reg_prop
|
||||
*
|
||||
@ -419,110 +419,110 @@ H5P__facc_reg_prop(H5P_genclass_t *pclass)
|
||||
FUNC_ENTER_STATIC
|
||||
|
||||
/* Register the initial metadata cache resize configuration */
|
||||
if(H5P_register_real(pclass, H5F_ACS_META_CACHE_INIT_CONFIG_NAME, H5F_ACS_META_CACHE_INIT_CONFIG_SIZE, &H5F_def_mdc_initCacheCfg_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_META_CACHE_INIT_CONFIG_NAME, H5F_ACS_META_CACHE_INIT_CONFIG_SIZE, &H5F_def_mdc_initCacheCfg_g,
|
||||
NULL, NULL, NULL, H5F_ACS_META_CACHE_INIT_CONFIG_ENC, H5F_ACS_META_CACHE_INIT_CONFIG_DEC,
|
||||
NULL, NULL, H5F_ACS_META_CACHE_INIT_CONFIG_CMP, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the size of raw data chunk cache (elements) */
|
||||
if(H5P_register_real(pclass, H5F_ACS_DATA_CACHE_NUM_SLOTS_NAME, H5F_ACS_DATA_CACHE_NUM_SLOTS_SIZE, &H5F_def_rdcc_nslots_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_DATA_CACHE_NUM_SLOTS_NAME, H5F_ACS_DATA_CACHE_NUM_SLOTS_SIZE, &H5F_def_rdcc_nslots_g,
|
||||
NULL, NULL, NULL, H5F_ACS_DATA_CACHE_NUM_SLOTS_ENC, H5F_ACS_DATA_CACHE_NUM_SLOTS_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the size of raw data chunk cache(bytes) */
|
||||
if(H5P_register_real(pclass, H5F_ACS_DATA_CACHE_BYTE_SIZE_NAME, H5F_ACS_DATA_CACHE_BYTE_SIZE_SIZE, &H5F_def_rdcc_nbytes_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_DATA_CACHE_BYTE_SIZE_NAME, H5F_ACS_DATA_CACHE_BYTE_SIZE_SIZE, &H5F_def_rdcc_nbytes_g,
|
||||
NULL, NULL, NULL, H5F_ACS_DATA_CACHE_BYTE_SIZE_ENC, H5F_ACS_DATA_CACHE_BYTE_SIZE_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the preemption for reading chunks */
|
||||
if(H5P_register_real(pclass, H5F_ACS_PREEMPT_READ_CHUNKS_NAME, H5F_ACS_PREEMPT_READ_CHUNKS_SIZE, &H5F_def_rdcc_w0_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_PREEMPT_READ_CHUNKS_NAME, H5F_ACS_PREEMPT_READ_CHUNKS_SIZE, &H5F_def_rdcc_w0_g,
|
||||
NULL, NULL, NULL, H5F_ACS_PREEMPT_READ_CHUNKS_ENC, H5F_ACS_PREEMPT_READ_CHUNKS_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the threshold for alignment */
|
||||
if(H5P_register_real(pclass, H5F_ACS_ALIGN_THRHD_NAME, H5F_ACS_ALIGN_THRHD_SIZE, &H5F_def_threshold_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_ALIGN_THRHD_NAME, H5F_ACS_ALIGN_THRHD_SIZE, &H5F_def_threshold_g,
|
||||
NULL, NULL, NULL, H5F_ACS_ALIGN_THRHD_ENC, H5F_ACS_ALIGN_THRHD_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the alignment */
|
||||
if(H5P_register_real(pclass, H5F_ACS_ALIGN_NAME, H5F_ACS_ALIGN_SIZE, &H5F_def_alignment_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_ALIGN_NAME, H5F_ACS_ALIGN_SIZE, &H5F_def_alignment_g,
|
||||
NULL, NULL, NULL, H5F_ACS_ALIGN_ENC, H5F_ACS_ALIGN_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the minimum metadata allocation block size */
|
||||
if(H5P_register_real(pclass, H5F_ACS_META_BLOCK_SIZE_NAME, H5F_ACS_META_BLOCK_SIZE_SIZE, &H5F_def_meta_block_size_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_META_BLOCK_SIZE_NAME, H5F_ACS_META_BLOCK_SIZE_SIZE, &H5F_def_meta_block_size_g,
|
||||
NULL, NULL, NULL, H5F_ACS_META_BLOCK_SIZE_ENC, H5F_ACS_META_BLOCK_SIZE_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the maximum sieve buffer size */
|
||||
if(H5P_register_real(pclass, H5F_ACS_SIEVE_BUF_SIZE_NAME, H5F_ACS_SIEVE_BUF_SIZE_SIZE, &H5F_def_sieve_buf_size_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_SIEVE_BUF_SIZE_NAME, H5F_ACS_SIEVE_BUF_SIZE_SIZE, &H5F_def_sieve_buf_size_g,
|
||||
NULL, NULL, NULL, H5F_ACS_SIEVE_BUF_SIZE_ENC, H5F_ACS_SIEVE_BUF_SIZE_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the minimum "small data" allocation block size */
|
||||
if(H5P_register_real(pclass, H5F_ACS_SDATA_BLOCK_SIZE_NAME, H5F_ACS_SDATA_BLOCK_SIZE_SIZE, &H5F_def_sdata_block_size_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_SDATA_BLOCK_SIZE_NAME, H5F_ACS_SDATA_BLOCK_SIZE_SIZE, &H5F_def_sdata_block_size_g,
|
||||
NULL, NULL, NULL, H5F_ACS_SDATA_BLOCK_SIZE_ENC, H5F_ACS_SDATA_BLOCK_SIZE_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the garbage collection reference */
|
||||
if(H5P_register_real(pclass, H5F_ACS_GARBG_COLCT_REF_NAME, H5F_ACS_GARBG_COLCT_REF_SIZE, &H5F_def_gc_ref_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_GARBG_COLCT_REF_NAME, H5F_ACS_GARBG_COLCT_REF_SIZE, &H5F_def_gc_ref_g,
|
||||
NULL, NULL, NULL, H5F_ACS_GARBG_COLCT_REF_ENC, H5F_ACS_GARBG_COLCT_REF_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the file driver ID & info */
|
||||
/* (Note: this property should not have an encode/decode callback -QAK) */
|
||||
if(H5P_register_real(pclass, H5F_ACS_FILE_DRV_NAME, H5F_ACS_FILE_DRV_SIZE, &def_driver_prop,
|
||||
if(H5P__register_real(pclass, H5F_ACS_FILE_DRV_NAME, H5F_ACS_FILE_DRV_SIZE, &def_driver_prop,
|
||||
H5F_ACS_FILE_DRV_CRT, H5F_ACS_FILE_DRV_SET, H5F_ACS_FILE_DRV_GET, NULL, NULL,
|
||||
H5F_ACS_FILE_DRV_DEL, H5F_ACS_FILE_DRV_COPY, H5F_ACS_FILE_DRV_CMP, H5F_ACS_FILE_DRV_CLOSE) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the file close degree */
|
||||
if(H5P_register_real(pclass, H5F_ACS_CLOSE_DEGREE_NAME, H5F_CLOSE_DEGREE_SIZE, &H5F_def_close_degree_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_CLOSE_DEGREE_NAME, H5F_CLOSE_DEGREE_SIZE, &H5F_def_close_degree_g,
|
||||
NULL, NULL, NULL, H5F_CLOSE_DEGREE_ENC, H5F_CLOSE_DEGREE_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the offset of family driver info */
|
||||
if(H5P_register_real(pclass, H5F_ACS_FAMILY_OFFSET_NAME, H5F_ACS_FAMILY_OFFSET_SIZE, &H5F_def_family_offset_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_FAMILY_OFFSET_NAME, H5F_ACS_FAMILY_OFFSET_SIZE, &H5F_def_family_offset_g,
|
||||
NULL, NULL, NULL, H5F_ACS_FAMILY_OFFSET_ENC, H5F_ACS_FAMILY_OFFSET_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the private property of new family file size. It's used by h5repart only. */
|
||||
/* (Note: this property should not have an encode/decode callback -QAK) */
|
||||
if(H5P_register_real(pclass, H5F_ACS_FAMILY_NEWSIZE_NAME, H5F_ACS_FAMILY_NEWSIZE_SIZE, &H5F_def_family_newsize_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_FAMILY_NEWSIZE_NAME, H5F_ACS_FAMILY_NEWSIZE_SIZE, &H5F_def_family_newsize_g,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the private property of whether convert family to sec2 driver. It's used by h5repart only. */
|
||||
/* (Note: this property should not have an encode/decode callback -QAK) */
|
||||
if(H5P_register_real(pclass, H5F_ACS_FAMILY_TO_SEC2_NAME, H5F_ACS_FAMILY_TO_SEC2_SIZE, &H5F_def_family_to_sec2_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_FAMILY_TO_SEC2_NAME, H5F_ACS_FAMILY_TO_SEC2_SIZE, &H5F_def_family_to_sec2_g,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the data type of multi driver info */
|
||||
if(H5P_register_real(pclass, H5F_ACS_MULTI_TYPE_NAME, H5F_ACS_MULTI_TYPE_SIZE, &H5F_def_mem_type_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_MULTI_TYPE_NAME, H5F_ACS_MULTI_TYPE_SIZE, &H5F_def_mem_type_g,
|
||||
NULL, NULL, NULL, H5F_ACS_MULTI_TYPE_ENC, H5F_ACS_MULTI_TYPE_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the 'low' bound of library format versions */
|
||||
if(H5P_register_real(pclass, H5F_ACS_LIBVER_LOW_BOUND_NAME, H5F_ACS_LIBVER_LOW_BOUND_SIZE, &H5F_def_libver_low_bound_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_LIBVER_LOW_BOUND_NAME, H5F_ACS_LIBVER_LOW_BOUND_SIZE, &H5F_def_libver_low_bound_g,
|
||||
NULL, NULL, NULL, H5F_ACS_LIBVER_LOW_BOUND_ENC, H5F_ACS_LIBVER_LOW_BOUND_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the 'high' bound of library format versions */
|
||||
if(H5P_register_real(pclass, H5F_ACS_LIBVER_HIGH_BOUND_NAME, H5F_ACS_LIBVER_HIGH_BOUND_SIZE, &H5F_def_libver_high_bound_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_LIBVER_HIGH_BOUND_NAME, H5F_ACS_LIBVER_HIGH_BOUND_SIZE, &H5F_def_libver_high_bound_g,
|
||||
NULL, NULL, NULL, H5F_ACS_LIBVER_HIGH_BOUND_ENC, H5F_ACS_LIBVER_HIGH_BOUND_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
@ -530,116 +530,116 @@ H5P__facc_reg_prop(H5P_genclass_t *pclass)
|
||||
/* Register the private property of whether to retrieve the file descriptor from the core VFD */
|
||||
/* (used internally to the library only) */
|
||||
/* (Note: this property should not have an encode/decode callback -QAK) */
|
||||
if(H5P_register_real(pclass, H5F_ACS_WANT_POSIX_FD_NAME, H5F_ACS_WANT_POSIX_FD_SIZE, &H5F_def_want_posix_fd_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_WANT_POSIX_FD_NAME, H5F_ACS_WANT_POSIX_FD_SIZE, &H5F_def_want_posix_fd_g,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the external file cache size */
|
||||
if(H5P_register_real(pclass, H5F_ACS_EFC_SIZE_NAME, H5F_ACS_EFC_SIZE_SIZE, &H5F_def_efc_size_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_EFC_SIZE_NAME, H5F_ACS_EFC_SIZE_SIZE, &H5F_def_efc_size_g,
|
||||
NULL, NULL, NULL, H5F_ACS_EFC_SIZE_ENC, H5F_ACS_EFC_SIZE_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the initial file image info */
|
||||
/* (Note: this property should not have an encode/decode callback -QAK) */
|
||||
if(H5P_register_real(pclass, H5F_ACS_FILE_IMAGE_INFO_NAME, H5F_ACS_FILE_IMAGE_INFO_SIZE, &H5F_def_file_image_info_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_FILE_IMAGE_INFO_NAME, H5F_ACS_FILE_IMAGE_INFO_SIZE, &H5F_def_file_image_info_g,
|
||||
NULL, H5F_ACS_FILE_IMAGE_INFO_SET, H5F_ACS_FILE_IMAGE_INFO_GET, NULL, NULL,
|
||||
H5F_ACS_FILE_IMAGE_INFO_DEL, H5F_ACS_FILE_IMAGE_INFO_COPY, H5F_ACS_FILE_IMAGE_INFO_CMP, H5F_ACS_FILE_IMAGE_INFO_CLOSE) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the core VFD backing store write tracking flag */
|
||||
if(H5P_register_real(pclass, H5F_ACS_CORE_WRITE_TRACKING_FLAG_NAME, H5F_ACS_CORE_WRITE_TRACKING_FLAG_SIZE, &H5F_def_core_write_tracking_flag_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_CORE_WRITE_TRACKING_FLAG_NAME, H5F_ACS_CORE_WRITE_TRACKING_FLAG_SIZE, &H5F_def_core_write_tracking_flag_g,
|
||||
NULL, NULL, NULL, H5F_ACS_CORE_WRITE_TRACKING_FLAG_ENC, H5F_ACS_CORE_WRITE_TRACKING_FLAG_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the size of the core VFD backing store page size */
|
||||
if(H5P_register_real(pclass, H5F_ACS_CORE_WRITE_TRACKING_PAGE_SIZE_NAME, H5F_ACS_CORE_WRITE_TRACKING_PAGE_SIZE_SIZE, &H5F_def_core_write_tracking_page_size_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_CORE_WRITE_TRACKING_PAGE_SIZE_NAME, H5F_ACS_CORE_WRITE_TRACKING_PAGE_SIZE_SIZE, &H5F_def_core_write_tracking_page_size_g,
|
||||
NULL, NULL, NULL, H5F_ACS_CORE_WRITE_TRACKING_PAGE_SIZE_ENC, H5F_ACS_CORE_WRITE_TRACKING_PAGE_SIZE_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the # of read attempts */
|
||||
if(H5P_register_real(pclass, H5F_ACS_METADATA_READ_ATTEMPTS_NAME, H5F_ACS_METADATA_READ_ATTEMPTS_SIZE, &H5F_def_metadata_read_attempts_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_METADATA_READ_ATTEMPTS_NAME, H5F_ACS_METADATA_READ_ATTEMPTS_SIZE, &H5F_def_metadata_read_attempts_g,
|
||||
NULL, NULL, NULL, H5F_ACS_METADATA_READ_ATTEMPTS_ENC, H5F_ACS_METADATA_READ_ATTEMPTS_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register object flush callback */
|
||||
/* (Note: this property should not have an encode/decode callback -QAK) */
|
||||
if(H5P_register_real(pclass, H5F_ACS_OBJECT_FLUSH_CB_NAME, H5F_ACS_OBJECT_FLUSH_CB_SIZE, &H5F_def_object_flush_cb_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_OBJECT_FLUSH_CB_NAME, H5F_ACS_OBJECT_FLUSH_CB_SIZE, &H5F_def_object_flush_cb_g,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the private property of whether to clear the superblock status_flags. It's used by h5clear only. */
|
||||
if(H5P_register_real(pclass, H5F_ACS_CLEAR_STATUS_FLAGS_NAME, H5F_ACS_CLEAR_STATUS_FLAGS_SIZE, &H5F_def_clear_status_flags_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_CLEAR_STATUS_FLAGS_NAME, H5F_ACS_CLEAR_STATUS_FLAGS_SIZE, &H5F_def_clear_status_flags_g,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the private property of whether to skip EOF check. It's used by h5clear only. */
|
||||
if(H5P_register_real(pclass, H5F_ACS_SKIP_EOF_CHECK_NAME, H5F_ACS_SKIP_EOF_CHECK_SIZE, &H5F_def_skip_eof_check_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_SKIP_EOF_CHECK_NAME, H5F_ACS_SKIP_EOF_CHECK_SIZE, &H5F_def_skip_eof_check_g,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the private property of whether to drop free-space to the floor. It's used by h5clear only. */
|
||||
if(H5P_register_real(pclass, H5F_ACS_NULL_FSM_ADDR_NAME, H5F_ACS_NULL_FSM_ADDR_SIZE, &H5F_def_null_fsm_addr_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_NULL_FSM_ADDR_NAME, H5F_ACS_NULL_FSM_ADDR_SIZE, &H5F_def_null_fsm_addr_g,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the metadata cache logging flag. */
|
||||
if(H5P_register_real(pclass, H5F_ACS_USE_MDC_LOGGING_NAME, H5F_ACS_USE_MDC_LOGGING_SIZE, &H5F_def_use_mdc_logging_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_USE_MDC_LOGGING_NAME, H5F_ACS_USE_MDC_LOGGING_SIZE, &H5F_def_use_mdc_logging_g,
|
||||
NULL, NULL, NULL, H5F_ACS_USE_MDC_LOGGING_ENC, H5F_ACS_USE_MDC_LOGGING_DEC, NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the metadata cache log location. */
|
||||
if(H5P_register_real(pclass, H5F_ACS_MDC_LOG_LOCATION_NAME, H5F_ACS_MDC_LOG_LOCATION_SIZE, &H5F_def_mdc_log_location_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_MDC_LOG_LOCATION_NAME, H5F_ACS_MDC_LOG_LOCATION_SIZE, &H5F_def_mdc_log_location_g,
|
||||
NULL, NULL, NULL, H5F_ACS_MDC_LOG_LOCATION_ENC, H5F_ACS_MDC_LOG_LOCATION_DEC,
|
||||
H5F_ACS_MDC_LOG_LOCATION_DEL, H5F_ACS_MDC_LOG_LOCATION_COPY, H5F_ACS_MDC_LOG_LOCATION_CMP, H5F_ACS_MDC_LOG_LOCATION_CLOSE) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the flag that indicates whether mdc logging starts on file access. */
|
||||
if(H5P_register_real(pclass, H5F_ACS_START_MDC_LOG_ON_ACCESS_NAME, H5F_ACS_START_MDC_LOG_ON_ACCESS_SIZE, &H5F_def_start_mdc_log_on_access_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_START_MDC_LOG_ON_ACCESS_NAME, H5F_ACS_START_MDC_LOG_ON_ACCESS_SIZE, &H5F_def_start_mdc_log_on_access_g,
|
||||
NULL, NULL, NULL, H5F_ACS_START_MDC_LOG_ON_ACCESS_ENC, H5F_ACS_START_MDC_LOG_ON_ACCESS_DEC, NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the evict on close flag */
|
||||
if(H5P_register_real(pclass, H5F_ACS_EVICT_ON_CLOSE_FLAG_NAME, H5F_ACS_EVICT_ON_CLOSE_FLAG_SIZE, &H5F_def_evict_on_close_flag_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_EVICT_ON_CLOSE_FLAG_NAME, H5F_ACS_EVICT_ON_CLOSE_FLAG_SIZE, &H5F_def_evict_on_close_flag_g,
|
||||
NULL, NULL, NULL, H5F_ACS_EVICT_ON_CLOSE_FLAG_ENC, H5F_ACS_EVICT_ON_CLOSE_FLAG_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
/* Register the metadata collective read flag */
|
||||
if(H5P_register_real(pclass, H5_COLL_MD_READ_FLAG_NAME, H5F_ACS_COLL_MD_READ_FLAG_SIZE, &H5F_def_coll_md_read_flag_g,
|
||||
if(H5P__register_real(pclass, H5_COLL_MD_READ_FLAG_NAME, H5F_ACS_COLL_MD_READ_FLAG_SIZE, &H5F_def_coll_md_read_flag_g,
|
||||
NULL, NULL, NULL, H5F_ACS_COLL_MD_READ_FLAG_ENC, H5F_ACS_COLL_MD_READ_FLAG_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the metadata collective write flag */
|
||||
if(H5P_register_real(pclass, H5F_ACS_COLL_MD_WRITE_FLAG_NAME, H5F_ACS_COLL_MD_WRITE_FLAG_SIZE, &H5F_def_coll_md_write_flag_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_COLL_MD_WRITE_FLAG_NAME, H5F_ACS_COLL_MD_WRITE_FLAG_SIZE, &H5F_def_coll_md_write_flag_g,
|
||||
NULL, NULL, NULL, H5F_ACS_COLL_MD_WRITE_FLAG_ENC, H5F_ACS_COLL_MD_WRITE_FLAG_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
#endif /* H5_HAVE_PARALLEL */
|
||||
|
||||
/* Register the initial metadata cache image configuration */
|
||||
if(H5P_register_real(pclass, H5F_ACS_META_CACHE_INIT_IMAGE_CONFIG_NAME, H5F_ACS_META_CACHE_INIT_IMAGE_CONFIG_SIZE, &H5F_def_mdc_initCacheImageCfg_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_META_CACHE_INIT_IMAGE_CONFIG_NAME, H5F_ACS_META_CACHE_INIT_IMAGE_CONFIG_SIZE, &H5F_def_mdc_initCacheImageCfg_g,
|
||||
NULL, NULL, NULL, H5F_ACS_META_CACHE_INIT_IMAGE_CONFIG_ENC, H5F_ACS_META_CACHE_INIT_IMAGE_CONFIG_DEC,
|
||||
NULL, NULL, H5F_ACS_META_CACHE_INIT_IMAGE_CONFIG_CMP, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the size of the page buffer size */
|
||||
if(H5P_register_real(pclass, H5F_ACS_PAGE_BUFFER_SIZE_NAME, H5F_ACS_PAGE_BUFFER_SIZE_SIZE, &H5F_def_page_buf_size_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_PAGE_BUFFER_SIZE_NAME, H5F_ACS_PAGE_BUFFER_SIZE_SIZE, &H5F_def_page_buf_size_g,
|
||||
NULL, NULL, NULL, H5F_ACS_PAGE_BUFFER_SIZE_ENC, H5F_ACS_PAGE_BUFFER_SIZE_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
/* Register the size of the page buffer minimum metadata size */
|
||||
if(H5P_register_real(pclass, H5F_ACS_PAGE_BUFFER_MIN_META_PERC_NAME, H5F_ACS_PAGE_BUFFER_MIN_META_PERC_SIZE, &H5F_def_page_buf_min_meta_perc_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_PAGE_BUFFER_MIN_META_PERC_NAME, H5F_ACS_PAGE_BUFFER_MIN_META_PERC_SIZE, &H5F_def_page_buf_min_meta_perc_g,
|
||||
NULL, NULL, NULL, H5F_ACS_PAGE_BUFFER_MIN_META_PERC_ENC, H5F_ACS_PAGE_BUFFER_MIN_META_PERC_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
/* Register the size of the page buffer minimum raw data size */
|
||||
if(H5P_register_real(pclass, H5F_ACS_PAGE_BUFFER_MIN_RAW_PERC_NAME, H5F_ACS_PAGE_BUFFER_MIN_RAW_PERC_SIZE, &H5F_def_page_buf_min_raw_perc_g,
|
||||
if(H5P__register_real(pclass, H5F_ACS_PAGE_BUFFER_MIN_RAW_PERC_NAME, H5F_ACS_PAGE_BUFFER_MIN_RAW_PERC_SIZE, &H5F_def_page_buf_min_raw_perc_g,
|
||||
NULL, NULL, NULL, H5F_ACS_PAGE_BUFFER_MIN_RAW_PERC_ENC, H5F_ACS_PAGE_BUFFER_MIN_RAW_PERC_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
@ -648,7 +648,7 @@ done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* end H5P__facc_reg_prop() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pset_alignment
|
||||
*
|
||||
@ -706,7 +706,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pget_alignment
|
||||
*
|
||||
@ -747,7 +747,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* end H5Pget_alignment() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P_set_driver
|
||||
*
|
||||
@ -795,7 +795,7 @@ done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* end H5P_set_driver() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pset_driver
|
||||
*
|
||||
@ -838,7 +838,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* end H5Pset_driver() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P_peek_driver
|
||||
*
|
||||
@ -882,7 +882,7 @@ done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* end H5P_peek_driver() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pget_driver
|
||||
*
|
||||
@ -923,7 +923,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* end H5Pget_driver() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P_peek_driver_info
|
||||
*
|
||||
@ -965,7 +965,7 @@ done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* end H5P_peek_driver_info() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pget_driver_info
|
||||
*
|
||||
@ -1005,7 +1005,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* end H5Pget_driver_info() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P__file_driver_copy
|
||||
*
|
||||
@ -1071,7 +1071,7 @@ done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* end H5P__file_driver_copy() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P__file_driver_free
|
||||
*
|
||||
@ -1123,7 +1123,7 @@ done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* end H5P__file_driver_free() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P__facc_file_driver_create
|
||||
*
|
||||
@ -1152,7 +1152,7 @@ done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* end H5P__facc_file_driver_create() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P__facc_file_driver_set
|
||||
*
|
||||
@ -1185,7 +1185,7 @@ done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* end H5P__facc_file_driver_set() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P__facc_file_driver_get
|
||||
*
|
||||
@ -1218,7 +1218,7 @@ done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* end H5P__facc_file_driver_get() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P__facc_file_driver_del
|
||||
*
|
||||
@ -1247,7 +1247,7 @@ done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* end H5P__facc_file_driver_del() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P__facc_file_driver_copy
|
||||
*
|
||||
@ -1276,7 +1276,7 @@ done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* end H5P__facc_file_driver_copy() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P__facc_file_driver_cmp
|
||||
*
|
||||
@ -1335,7 +1335,7 @@ done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* end H5P__facc_file_driver_cmp() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P__facc_file_driver_close
|
||||
*
|
||||
@ -1364,7 +1364,7 @@ done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* end H5P__facc_file_driver_close() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pset_family_offset
|
||||
*
|
||||
@ -1403,7 +1403,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* end H5Pset_family_offset() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pget_family_offset
|
||||
*
|
||||
@ -1444,7 +1444,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* end H5Pget_family_offset() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pset_multi_type
|
||||
*
|
||||
@ -1483,7 +1483,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* end H5Pset_multi_type() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pget_multi_type
|
||||
*
|
||||
@ -1524,7 +1524,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* end H5Pget_multi_type() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pset_cache
|
||||
*
|
||||
@ -1578,7 +1578,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* end H5Pset_cache() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pget_cache
|
||||
*
|
||||
@ -1630,7 +1630,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* end H5Pget_cache() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pset_mdc_image_config
|
||||
*
|
||||
@ -1674,7 +1674,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* H5Pset_mdc_image_config() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pget_mdc_image_config
|
||||
*
|
||||
@ -1725,7 +1725,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* H5Pget_mdc_image_config() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pset_mdc_config
|
||||
*
|
||||
@ -1769,7 +1769,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* H5Pset_mdc_config() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pget_mdc_config
|
||||
*
|
||||
@ -1820,7 +1820,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* H5Pget_mdc_config() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pset_gc_references
|
||||
*
|
||||
@ -1873,7 +1873,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pget_gc_references
|
||||
*
|
||||
@ -1916,7 +1916,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pset_fclose_degree
|
||||
*
|
||||
@ -1952,7 +1952,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* end H5Pset_fclose_degree() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pget_fclose_degree
|
||||
*
|
||||
@ -1987,7 +1987,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* end H5Pget_fclose_degree() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pset_meta_block_size
|
||||
*
|
||||
@ -2038,7 +2038,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pget_meta_block_size
|
||||
*
|
||||
@ -2082,7 +2082,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pset_sieve_buf_size
|
||||
*
|
||||
@ -2133,7 +2133,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* end H5Pset_sieve_buf_size() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pget_sieve_buf_size
|
||||
*
|
||||
@ -2176,7 +2176,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* end H5Pget_sieve_buf_size() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pset_small_data_block_size
|
||||
*
|
||||
@ -2222,7 +2222,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* end H5Pset_small_data_block_size() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pget_small_data_block_size
|
||||
*
|
||||
@ -2261,7 +2261,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* end H5Pget_small_data_block_size() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pset_libver_bounds
|
||||
*
|
||||
@ -2403,14 +2403,14 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* end H5Pset_libver_bounds() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pget_libver_bounds
|
||||
*
|
||||
* Purpose: Returns the current settings for the library version format bounds
|
||||
* from a file access property list.
|
||||
* Purpose: Returns the current settings for the library version format bounds
|
||||
* from a file access property list.
|
||||
*
|
||||
* Return: Non-negative on success/Negative on failure
|
||||
* Return: Non-negative on success/Negative on failure
|
||||
*
|
||||
* Programmer: Quincey Koziol
|
||||
* Thursday, January 3, 2008
|
||||
@ -2446,7 +2446,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* end H5Pget_libver_bounds() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pset_elink_file_cache_size
|
||||
*
|
||||
@ -2484,7 +2484,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* end H5Pset_elink_file_cache_size() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pget_elink_file_cache_size
|
||||
*
|
||||
@ -2523,7 +2523,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* end H5Pget_elink_file_cache_size() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pset_file_image
|
||||
*
|
||||
@ -2604,7 +2604,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* end H5Pset_file_image() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pget_file_image
|
||||
*
|
||||
@ -2693,7 +2693,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* end H5Pget_file_image */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pset_file_image_callbacks
|
||||
*
|
||||
@ -2770,7 +2770,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* end H5Pset_file_image_callbacks() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pget_file_image_callbacks
|
||||
*
|
||||
@ -2826,7 +2826,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* end H5Pget_file_image_callbacks() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P__file_image_info_copy
|
||||
*
|
||||
@ -2904,7 +2904,7 @@ done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* end H5P__file_image_info_copy() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P__file_image_info_free
|
||||
*
|
||||
@ -2959,7 +2959,7 @@ done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* end H5P__file_image_info_free() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P__facc_cache_image_config_cmp
|
||||
*
|
||||
@ -3002,7 +3002,7 @@ done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* end H5P__facc_cache_image_config_cmp() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P__facc_cache_image_config_enc
|
||||
*
|
||||
@ -3048,7 +3048,7 @@ H5P__facc_cache_image_config_enc(const void *value, void **_pp, size_t *size)
|
||||
FUNC_LEAVE_NOAPI(SUCCEED)
|
||||
} /* end H5P__facc_cache_image_config_enc() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P__facc_cache_image_config_dec
|
||||
*
|
||||
@ -3100,7 +3100,7 @@ done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* end H5P__facc_cache_image_config_dec() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P__facc_file_image_info_set
|
||||
*
|
||||
@ -3133,7 +3133,7 @@ done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* end H5P__facc_file_image_info_set() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P__facc_file_image_info_get
|
||||
*
|
||||
@ -3166,7 +3166,7 @@ done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* end H5P__facc_file_image_info_get() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P__facc_file_image_info_del
|
||||
*
|
||||
@ -3197,7 +3197,7 @@ done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* end H5P__facc_file_image_info_del() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P__facc_file_image_info_copy
|
||||
*
|
||||
@ -3227,7 +3227,7 @@ done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* end H5P__facc_file_image_info_copy() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P__facc_file_image_info_cmp
|
||||
*
|
||||
@ -3286,7 +3286,7 @@ done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* end H5P__facc_file_image_info_cmp() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P__facc_file_image_info_close
|
||||
*
|
||||
@ -3316,7 +3316,7 @@ done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* end H5P__facc_file_image_info_close() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P__facc_cache_config_cmp
|
||||
*
|
||||
@ -3428,7 +3428,7 @@ done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* end H5P__facc_cache_config_cmp() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P__facc_cache_config_enc
|
||||
*
|
||||
@ -3573,7 +3573,7 @@ H5P__facc_cache_config_enc(const void *value, void **_pp, size_t *size)
|
||||
FUNC_LEAVE_NOAPI(SUCCEED)
|
||||
} /* end H5P__facc_cache_config_enc() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P__facc_cache_config_dec
|
||||
*
|
||||
@ -3708,7 +3708,7 @@ done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* end H5P__facc_cache_config_dec() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P__facc_fclose_degree_enc
|
||||
*
|
||||
@ -3746,7 +3746,7 @@ H5P__facc_fclose_degree_enc(const void *value, void **_pp, size_t *size)
|
||||
FUNC_LEAVE_NOAPI(SUCCEED)
|
||||
} /* end H5P__facc_fclose_degree_enc() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P__facc_fclose_degree_dec
|
||||
*
|
||||
@ -3781,7 +3781,7 @@ H5P__facc_fclose_degree_dec(const void **_pp, void *_value)
|
||||
FUNC_LEAVE_NOAPI(SUCCEED)
|
||||
} /* end H5P__facc_fclose_degree_dec() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P__facc_multi_type_enc
|
||||
*
|
||||
@ -3819,7 +3819,7 @@ H5P__facc_multi_type_enc(const void *value, void **_pp, size_t *size)
|
||||
FUNC_LEAVE_NOAPI(SUCCEED)
|
||||
} /* end H5P__facc_multi_type_enc() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P__facc_multi_type_dec
|
||||
*
|
||||
@ -3854,7 +3854,7 @@ H5P__facc_multi_type_dec(const void **_pp, void *_value)
|
||||
FUNC_LEAVE_NOAPI(SUCCEED)
|
||||
} /* end H5P__facc_multi_type_dec() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P__facc_libver_type_enc
|
||||
*
|
||||
@ -3966,7 +3966,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* end H5Pset_core_write_tracking() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pget_core_write_tracking
|
||||
*
|
||||
@ -4008,7 +4008,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* end H5Pget_core_write_tracking() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pset_metadata_read_attempts
|
||||
*
|
||||
@ -4051,7 +4051,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* H5Pset_metadata_read_attempts() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pget_metadata_read_attempts
|
||||
*
|
||||
@ -4092,7 +4092,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* end H5Pget_metadata_read_attempts() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pset_obj_flush_cb
|
||||
*
|
||||
@ -4136,7 +4136,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* H5Pset_obj_flush_cb() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pget_obj_flush_cb
|
||||
*
|
||||
@ -4177,7 +4177,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* H5Pget_obj_flush_cb() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pset_mdc_log_options
|
||||
*
|
||||
@ -4229,7 +4229,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* end H5Pset_mdc_log_options() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pget_mdc_log_options
|
||||
*
|
||||
@ -4284,7 +4284,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* end H5Pget_mdc_log_options() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P_facc_mdc_log_location_enc
|
||||
*
|
||||
@ -4337,7 +4337,7 @@ H5P_facc_mdc_log_location_enc(const void *value, void **_pp, size_t *size)
|
||||
FUNC_LEAVE_NOAPI(SUCCEED)
|
||||
} /* end H5P_facc_mdc_log_location_enc() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P_facc_mdc_log_location_dec
|
||||
*
|
||||
@ -4391,7 +4391,7 @@ done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* end H5P_facc_mdc_log_location_dec() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P_facc_mdc_log_location_del
|
||||
*
|
||||
@ -4414,7 +4414,7 @@ H5P_facc_mdc_log_location_del(hid_t H5_ATTR_UNUSED prop_id, const char H5_ATTR_U
|
||||
FUNC_LEAVE_NOAPI(SUCCEED)
|
||||
} /* end H5P_facc_mdc_log_location_del() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P_facc_mdc_log_location_copy
|
||||
*
|
||||
@ -4436,7 +4436,7 @@ H5P_facc_mdc_log_location_copy(const char H5_ATTR_UNUSED *name, size_t H5_ATTR_U
|
||||
FUNC_LEAVE_NOAPI(SUCCEED)
|
||||
} /* end H5P_facc_mdc_log_location_copy() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P_facc_mdc_log_location_cmp
|
||||
*
|
||||
@ -4468,7 +4468,7 @@ done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* end H5P_facc_mdc_log_location_cmp() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P_facc_mdc_log_location_close
|
||||
*
|
||||
@ -4491,7 +4491,7 @@ H5P_facc_mdc_log_location_close(const char H5_ATTR_UNUSED *name, size_t H5_ATTR_
|
||||
FUNC_LEAVE_NOAPI(SUCCEED)
|
||||
} /* end H5P_facc_mdc_log_location_close() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pset_evict_on_close
|
||||
*
|
||||
@ -4539,7 +4539,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* end H5Pset_evict_on_close() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pget_evict_on_close
|
||||
*
|
||||
@ -4583,7 +4583,7 @@ done:
|
||||
} /* end H5Pget_evict_on_close() */
|
||||
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P__encode_coll_md_read_flag_t
|
||||
*
|
||||
@ -4621,7 +4621,7 @@ H5P__encode_coll_md_read_flag_t(const void *value, void **_pp, size_t *size)
|
||||
FUNC_LEAVE_NOAPI(SUCCEED)
|
||||
} /* end H5P__encode_coll_md_read_flag_t() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P__decode_coll_md_read_flag_t
|
||||
*
|
||||
@ -4655,7 +4655,7 @@ H5P__decode_coll_md_read_flag_t(const void **_pp, void *_value)
|
||||
FUNC_LEAVE_NOAPI(SUCCEED)
|
||||
} /* end H5P__decode_coll_md_read_flag_t() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pset_all_coll_metadata_ops
|
||||
*
|
||||
@ -4714,7 +4714,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* end H5Pset_all_coll_metadata_ops() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pget_all_coll_metadata_ops
|
||||
*
|
||||
@ -4772,7 +4772,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* H5Pget_all_coll_metadata_ops */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pset_coll_metadata_write
|
||||
*
|
||||
@ -4811,7 +4811,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* end H5Pset_coll_metadata_write() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pget_coll_metadata_write
|
||||
*
|
||||
@ -4849,7 +4849,7 @@ done:
|
||||
} /* end H5Pget_coll_metadata_write() */
|
||||
#endif /* H5_HAVE_PARALLEL */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pset_page_buffer_size
|
||||
*
|
||||
@ -4897,7 +4897,7 @@ done:
|
||||
FUNC_LEAVE_API(ret_value)
|
||||
} /* end H5Pset_page_buffer_size() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5Pget_page_buffer_size
|
||||
*
|
||||
|
@ -36,7 +36,6 @@
|
||||
#include "H5Bprivate.h" /* B-tree subclass names */
|
||||
#include "H5Eprivate.h" /* Error handling */
|
||||
#include "H5Fprivate.h" /* Files */
|
||||
#include "H5SMprivate.h" /* Shared object header messages */
|
||||
#include "H5Ppkg.h" /* Property lists */
|
||||
|
||||
|
||||
@ -213,85 +212,85 @@ H5P_fcrt_reg_prop(H5P_genclass_t *pclass)
|
||||
FUNC_ENTER_NOAPI_NOINIT
|
||||
|
||||
/* Register the user block size */
|
||||
if(H5P_register_real(pclass, H5F_CRT_USER_BLOCK_NAME, H5F_CRT_USER_BLOCK_SIZE, &H5F_def_userblock_size_g,
|
||||
if(H5P__register_real(pclass, H5F_CRT_USER_BLOCK_NAME, H5F_CRT_USER_BLOCK_SIZE, &H5F_def_userblock_size_g,
|
||||
NULL, NULL, NULL, H5F_CRT_USER_BLOCK_ENC, H5F_CRT_USER_BLOCK_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the 1/2 rank for symbol table leaf nodes */
|
||||
if(H5P_register_real(pclass, H5F_CRT_SYM_LEAF_NAME, H5F_CRT_SYM_LEAF_SIZE, &H5F_def_sym_leaf_k_g,
|
||||
if(H5P__register_real(pclass, H5F_CRT_SYM_LEAF_NAME, H5F_CRT_SYM_LEAF_SIZE, &H5F_def_sym_leaf_k_g,
|
||||
NULL, NULL, NULL, H5F_CRT_SYM_LEAF_ENC, H5F_CRT_SYM_LEAF_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the 1/2 rank for btree internal nodes */
|
||||
if(H5P_register_real(pclass, H5F_CRT_BTREE_RANK_NAME, H5F_CRT_BTREE_RANK_SIZE, H5F_def_btree_k_g,
|
||||
if(H5P__register_real(pclass, H5F_CRT_BTREE_RANK_NAME, H5F_CRT_BTREE_RANK_SIZE, H5F_def_btree_k_g,
|
||||
NULL, NULL, NULL, H5F_CRT_BTREE_RANK_ENC, H5F_CRT_BTREE_RANK_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the byte number for an address */
|
||||
if(H5P_register_real(pclass, H5F_CRT_ADDR_BYTE_NUM_NAME, H5F_CRT_ADDR_BYTE_NUM_SIZE, &H5F_def_sizeof_addr_g,
|
||||
if(H5P__register_real(pclass, H5F_CRT_ADDR_BYTE_NUM_NAME, H5F_CRT_ADDR_BYTE_NUM_SIZE, &H5F_def_sizeof_addr_g,
|
||||
NULL, NULL, NULL, H5F_CRT_ADDR_BYTE_NUM_ENC, H5F_CRT_ADDR_BYTE_NUM_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the byte number for object size */
|
||||
if(H5P_register_real(pclass, H5F_CRT_OBJ_BYTE_NUM_NAME, H5F_CRT_OBJ_BYTE_NUM_SIZE, &H5F_def_sizeof_size_g,
|
||||
if(H5P__register_real(pclass, H5F_CRT_OBJ_BYTE_NUM_NAME, H5F_CRT_OBJ_BYTE_NUM_SIZE, &H5F_def_sizeof_size_g,
|
||||
NULL, NULL, NULL, H5F_CRT_OBJ_BYTE_NUM_ENC, H5F_CRT_OBJ_BYTE_NUM_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the superblock version number */
|
||||
/* (Note: this property should not have an encode/decode callback -QAK) */
|
||||
if(H5P_register_real(pclass, H5F_CRT_SUPER_VERS_NAME, H5F_CRT_SUPER_VERS_SIZE, &H5F_def_superblock_ver_g,
|
||||
if(H5P__register_real(pclass, H5F_CRT_SUPER_VERS_NAME, H5F_CRT_SUPER_VERS_SIZE, &H5F_def_superblock_ver_g,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the shared OH message information */
|
||||
if(H5P_register_real(pclass, H5F_CRT_SHMSG_NINDEXES_NAME, H5F_CRT_SHMSG_NINDEXES_SIZE, &H5F_def_num_sohm_indexes_g,
|
||||
if(H5P__register_real(pclass, H5F_CRT_SHMSG_NINDEXES_NAME, H5F_CRT_SHMSG_NINDEXES_SIZE, &H5F_def_num_sohm_indexes_g,
|
||||
NULL, NULL, NULL, H5F_CRT_SHMSG_NINDEXES_ENC, H5F_CRT_SHMSG_NINDEXES_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
if(H5P_register_real(pclass, H5F_CRT_SHMSG_INDEX_TYPES_NAME, H5F_CRT_SHMSG_INDEX_TYPES_SIZE, &H5F_def_sohm_index_flags_g,
|
||||
if(H5P__register_real(pclass, H5F_CRT_SHMSG_INDEX_TYPES_NAME, H5F_CRT_SHMSG_INDEX_TYPES_SIZE, &H5F_def_sohm_index_flags_g,
|
||||
NULL, NULL, NULL, H5F_CRT_SHMSG_INDEX_TYPES_ENC, H5F_CRT_SHMSG_INDEX_TYPES_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
if(H5P_register_real(pclass, H5F_CRT_SHMSG_INDEX_MINSIZE_NAME, H5F_CRT_SHMSG_INDEX_MINSIZE_SIZE, &H5F_def_sohm_index_minsizes_g,
|
||||
if(H5P__register_real(pclass, H5F_CRT_SHMSG_INDEX_MINSIZE_NAME, H5F_CRT_SHMSG_INDEX_MINSIZE_SIZE, &H5F_def_sohm_index_minsizes_g,
|
||||
NULL, NULL, NULL, H5F_CRT_SHMSG_INDEX_MINSIZE_ENC, H5F_CRT_SHMSG_INDEX_MINSIZE_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the shared OH cutoff size information */
|
||||
if(H5P_register_real(pclass, H5F_CRT_SHMSG_LIST_MAX_NAME, H5F_CRT_SHMSG_LIST_MAX_SIZE, &H5F_def_sohm_list_max_g,
|
||||
if(H5P__register_real(pclass, H5F_CRT_SHMSG_LIST_MAX_NAME, H5F_CRT_SHMSG_LIST_MAX_SIZE, &H5F_def_sohm_list_max_g,
|
||||
NULL, NULL, NULL, H5F_CRT_SHMSG_LIST_MAX_ENC, H5F_CRT_SHMSG_LIST_MAX_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
if(H5P_register_real(pclass, H5F_CRT_SHMSG_BTREE_MIN_NAME, H5F_CRT_SHMSG_BTREE_MIN_SIZE, &H5F_def_sohm_btree_min_g,
|
||||
if(H5P__register_real(pclass, H5F_CRT_SHMSG_BTREE_MIN_NAME, H5F_CRT_SHMSG_BTREE_MIN_SIZE, &H5F_def_sohm_btree_min_g,
|
||||
NULL, NULL, NULL, H5F_CRT_SHMSG_BTREE_MIN_ENC, H5F_CRT_SHMSG_BTREE_MIN_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the file space handling strategy */
|
||||
if(H5P_register_real(pclass, H5F_CRT_FILE_SPACE_STRATEGY_NAME, H5F_CRT_FILE_SPACE_STRATEGY_SIZE, &H5F_def_file_space_strategy_g,
|
||||
if(H5P__register_real(pclass, H5F_CRT_FILE_SPACE_STRATEGY_NAME, H5F_CRT_FILE_SPACE_STRATEGY_SIZE, &H5F_def_file_space_strategy_g,
|
||||
NULL, NULL, NULL, H5F_CRT_FILE_SPACE_STRATEGY_ENC, H5F_CRT_FILE_SPACE_STRATEGY_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the free-space persist flag */
|
||||
if(H5P_register_real(pclass, H5F_CRT_FREE_SPACE_PERSIST_NAME, H5F_CRT_FREE_SPACE_PERSIST_SIZE, &H5F_def_free_space_persist_g,
|
||||
if(H5P__register_real(pclass, H5F_CRT_FREE_SPACE_PERSIST_NAME, H5F_CRT_FREE_SPACE_PERSIST_SIZE, &H5F_def_free_space_persist_g,
|
||||
NULL, NULL, NULL, H5F_CRT_FREE_SPACE_PERSIST_ENC, H5F_CRT_FREE_SPACE_PERSIST_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the free space section threshold */
|
||||
if(H5P_register_real(pclass, H5F_CRT_FREE_SPACE_THRESHOLD_NAME, H5F_CRT_FREE_SPACE_THRESHOLD_SIZE, &H5F_def_free_space_threshold_g,
|
||||
if(H5P__register_real(pclass, H5F_CRT_FREE_SPACE_THRESHOLD_NAME, H5F_CRT_FREE_SPACE_THRESHOLD_SIZE, &H5F_def_free_space_threshold_g,
|
||||
NULL, NULL, NULL, H5F_CRT_FREE_SPACE_THRESHOLD_ENC, H5F_CRT_FREE_SPACE_THRESHOLD_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the file space page size */
|
||||
if(H5P_register_real(pclass, H5F_CRT_FILE_SPACE_PAGE_SIZE_NAME, H5F_CRT_FILE_SPACE_PAGE_SIZE_SIZE, &H5F_def_file_space_page_size_g,
|
||||
if(H5P__register_real(pclass, H5F_CRT_FILE_SPACE_PAGE_SIZE_NAME, H5F_CRT_FILE_SPACE_PAGE_SIZE_SIZE, &H5F_def_file_space_page_size_g,
|
||||
NULL, NULL, NULL, H5F_CRT_FILE_SPACE_PAGE_SIZE_ENC, H5F_CRT_FILE_SPACE_PAGE_SIZE_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
@ -124,7 +124,7 @@ H5P_fmnt_reg_prop(H5P_genclass_t *pclass)
|
||||
FUNC_ENTER_NOAPI_NOINIT
|
||||
|
||||
/* Register property of whether symlinks is local to file */
|
||||
if(H5P_register_real(pclass, H5F_MNT_SYM_LOCAL_NAME, H5F_MNT_SYM_LOCAL_SIZE, &H5F_def_local_g,
|
||||
if(H5P__register_real(pclass, H5F_MNT_SYM_LOCAL_NAME, H5F_MNT_SYM_LOCAL_SIZE, &H5F_def_local_g,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
|
@ -32,12 +32,12 @@
|
||||
/***********/
|
||||
/* Headers */
|
||||
/***********/
|
||||
#include "H5private.h" /* Generic Functions */
|
||||
#include "H5Eprivate.h" /* Error handling */
|
||||
#include "H5Gprivate.h" /* Groups */
|
||||
#include "H5Iprivate.h" /* IDs */
|
||||
#include "H5Oprivate.h" /* Object headers */
|
||||
#include "H5Ppkg.h" /* Property lists */
|
||||
#include "H5private.h" /* Generic Functions */
|
||||
#include "H5Eprivate.h" /* Error handling */
|
||||
#include "H5Gprivate.h" /* Groups */
|
||||
#include "H5Iprivate.h" /* IDs */
|
||||
#include "H5Oprivate.h" /* Object headers */
|
||||
#include "H5Ppkg.h" /* Property lists */
|
||||
|
||||
|
||||
/****************/
|
||||
@ -133,13 +133,13 @@ H5P__gcrt_reg_prop(H5P_genclass_t *pclass)
|
||||
FUNC_ENTER_STATIC
|
||||
|
||||
/* Register group info property */
|
||||
if(H5P_register_real(pclass, H5G_CRT_GROUP_INFO_NAME, H5G_CRT_GROUP_INFO_SIZE, &H5G_def_ginfo_g,
|
||||
if(H5P__register_real(pclass, H5G_CRT_GROUP_INFO_NAME, H5G_CRT_GROUP_INFO_SIZE, &H5G_def_ginfo_g,
|
||||
NULL, NULL, NULL, H5G_CRT_GROUP_INFO_ENC, H5G_CRT_GROUP_INFO_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register link info property */
|
||||
if(H5P_register_real(pclass, H5G_CRT_LINK_INFO_NAME, H5G_CRT_LINK_INFO_SIZE, &H5G_def_linfo_g,
|
||||
if(H5P__register_real(pclass, H5G_CRT_LINK_INFO_NAME, H5G_CRT_LINK_INFO_SIZE, &H5G_def_linfo_g,
|
||||
NULL, NULL, NULL, H5G_CRT_LINK_INFO_ENC, H5G_CRT_LINK_INFO_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
589
src/H5Pint.c
589
src/H5Pint.c
File diff suppressed because it is too large
Load Diff
@ -194,38 +194,38 @@ H5P__lacc_reg_prop(H5P_genclass_t *pclass)
|
||||
FUNC_ENTER_STATIC
|
||||
|
||||
/* Register property for number of links traversed */
|
||||
if(H5P_register_real(pclass, H5L_ACS_NLINKS_NAME, H5L_ACS_NLINKS_SIZE, &H5L_def_nlinks_g,
|
||||
if(H5P__register_real(pclass, H5L_ACS_NLINKS_NAME, H5L_ACS_NLINKS_SIZE, &H5L_def_nlinks_g,
|
||||
NULL, NULL, NULL, H5L_ACS_NLINKS_ENC, H5L_ACS_NLINKS_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register property for external link prefix */
|
||||
if(H5P_register_real(pclass, H5L_ACS_ELINK_PREFIX_NAME, H5L_ACS_ELINK_PREFIX_SIZE, &H5L_def_elink_prefix_g,
|
||||
if(H5P__register_real(pclass, H5L_ACS_ELINK_PREFIX_NAME, H5L_ACS_ELINK_PREFIX_SIZE, &H5L_def_elink_prefix_g,
|
||||
NULL, H5L_ACS_ELINK_PREFIX_SET, H5L_ACS_ELINK_PREFIX_GET, H5L_ACS_ELINK_PREFIX_ENC, H5L_ACS_ELINK_PREFIX_DEC,
|
||||
H5L_ACS_ELINK_PREFIX_DEL, H5L_ACS_ELINK_PREFIX_COPY, H5L_ACS_ELINK_PREFIX_CMP, H5L_ACS_ELINK_PREFIX_CLOSE) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register fapl for link access */
|
||||
if(H5P_register_real(pclass, H5L_ACS_ELINK_FAPL_NAME, H5L_ACS_ELINK_FAPL_SIZE, &H5L_def_fapl_id_g,
|
||||
if(H5P__register_real(pclass, H5L_ACS_ELINK_FAPL_NAME, H5L_ACS_ELINK_FAPL_SIZE, &H5L_def_fapl_id_g,
|
||||
NULL, H5L_ACS_ELINK_FAPL_SET, H5L_ACS_ELINK_FAPL_GET, H5L_ACS_ELINK_FAPL_ENC, H5L_ACS_ELINK_FAPL_DEC,
|
||||
H5L_ACS_ELINK_FAPL_DEL, H5L_ACS_ELINK_FAPL_COPY, H5L_ACS_ELINK_FAPL_CMP, H5L_ACS_ELINK_FAPL_CLOSE) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register property for external link file access flags */
|
||||
if(H5P_register_real(pclass, H5L_ACS_ELINK_FLAGS_NAME, H5L_ACS_ELINK_FLAGS_SIZE, &H5L_def_elink_flags_g,
|
||||
if(H5P__register_real(pclass, H5L_ACS_ELINK_FLAGS_NAME, H5L_ACS_ELINK_FLAGS_SIZE, &H5L_def_elink_flags_g,
|
||||
NULL, NULL, NULL, H5L_ACS_ELINK_FLAGS_ENC, H5L_ACS_ELINK_FLAGS_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register property for external link file traversal callback */
|
||||
/* (Note: this property should not have an encode/decode callback -QAK) */
|
||||
if(H5P_register_real(pclass, H5L_ACS_ELINK_CB_NAME, H5L_ACS_ELINK_CB_SIZE, &H5L_def_elink_cb_g,
|
||||
if(H5P__register_real(pclass, H5L_ACS_ELINK_CB_NAME, H5L_ACS_ELINK_CB_SIZE, &H5L_def_elink_cb_g,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
/* Register the metadata collective read flag */
|
||||
if(H5P_register_real(pclass, H5_COLL_MD_READ_FLAG_NAME, H5L_ACS_COLL_MD_READ_SIZE, &H5L_def_coll_md_read_g,
|
||||
if(H5P__register_real(pclass, H5_COLL_MD_READ_FLAG_NAME, H5L_ACS_COLL_MD_READ_SIZE, &H5L_def_coll_md_read_g,
|
||||
NULL, NULL, NULL, H5L_ACS_COLL_MD_READ_ENC, H5L_ACS_COLL_MD_READ_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
@ -569,7 +569,7 @@ H5P__lacc_elink_fapl_cmp(const void *value1, const void *value2, size_t H5_ATTR_
|
||||
if(obj1 && obj2) {
|
||||
herr_t status;
|
||||
|
||||
status = H5P_cmp_plist(obj1, obj2, &ret_value);
|
||||
status = H5P__cmp_plist(obj1, obj2, &ret_value);
|
||||
HDassert(status >= 0);
|
||||
} /* end if */
|
||||
|
||||
|
@ -13,11 +13,9 @@
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
*
|
||||
* Created: H5Plcpl.c
|
||||
* May 8 2006
|
||||
* Peter Cao <xcao@ncsa.uiuc.edu>
|
||||
* Created: H5Plcpl.c
|
||||
*
|
||||
* Purpose: Link creation property list class routines
|
||||
* Purpose: Link creation property list class routines
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -32,11 +30,11 @@
|
||||
/***********/
|
||||
/* Headers */
|
||||
/***********/
|
||||
#include "H5private.h" /* Generic Functions */
|
||||
#include "H5Eprivate.h" /* Error handling */
|
||||
#include "H5Iprivate.h" /* IDs */
|
||||
#include "H5Lprivate.h" /* Links */
|
||||
#include "H5Ppkg.h" /* Property lists */
|
||||
#include "H5private.h" /* Generic Functions */
|
||||
#include "H5Eprivate.h" /* Error handling */
|
||||
#include "H5Iprivate.h" /* IDs */
|
||||
#include "H5Lprivate.h" /* Links */
|
||||
#include "H5Ppkg.h" /* Property lists */
|
||||
|
||||
|
||||
/****************/
|
||||
@ -120,12 +118,12 @@ static const unsigned H5L_def_intmd_group_g = H5L_CRT_INTERMEDIATE_GROUP_DEF;
|
||||
herr_t
|
||||
H5P_lcrt_reg_prop(H5P_genclass_t *pclass)
|
||||
{
|
||||
herr_t ret_value = SUCCEED; /* Return value */
|
||||
herr_t ret_value = SUCCEED; /* Return value */
|
||||
|
||||
FUNC_ENTER_NOAPI(FAIL)
|
||||
|
||||
/* Register create intermediate groups property */
|
||||
if(H5P_register_real(pclass, H5L_CRT_INTERMEDIATE_GROUP_NAME, H5L_CRT_INTERMEDIATE_GROUP_SIZE, &H5L_def_intmd_group_g,
|
||||
if(H5P__register_real(pclass, H5L_CRT_INTERMEDIATE_GROUP_NAME, H5L_CRT_INTERMEDIATE_GROUP_SIZE, &H5L_def_intmd_group_g,
|
||||
NULL, NULL, NULL, H5L_CRT_INTERMEDIATE_GROUP_ENC, H5L_CRT_INTERMEDIATE_GROUP_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
@ -165,25 +165,25 @@ H5P__ocrt_reg_prop(H5P_genclass_t *pclass)
|
||||
FUNC_ENTER_STATIC
|
||||
|
||||
/* Register max. compact attribute storage property */
|
||||
if(H5P_register_real(pclass, H5O_CRT_ATTR_MAX_COMPACT_NAME, H5O_CRT_ATTR_MAX_COMPACT_SIZE, &H5O_def_attr_max_compact_g,
|
||||
if(H5P__register_real(pclass, H5O_CRT_ATTR_MAX_COMPACT_NAME, H5O_CRT_ATTR_MAX_COMPACT_SIZE, &H5O_def_attr_max_compact_g,
|
||||
NULL, NULL, NULL, H5O_CRT_ATTR_MAX_COMPACT_ENC, H5O_CRT_ATTR_MAX_COMPACT_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register min. dense attribute storage property */
|
||||
if(H5P_register_real(pclass, H5O_CRT_ATTR_MIN_DENSE_NAME, H5O_CRT_ATTR_MIN_DENSE_SIZE, &H5O_def_attr_min_dense_g,
|
||||
if(H5P__register_real(pclass, H5O_CRT_ATTR_MIN_DENSE_NAME, H5O_CRT_ATTR_MIN_DENSE_SIZE, &H5O_def_attr_min_dense_g,
|
||||
NULL, NULL, NULL, H5O_CRT_ATTR_MIN_DENSE_ENC, H5O_CRT_ATTR_MIN_DENSE_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register object header flags property */
|
||||
if(H5P_register_real(pclass, H5O_CRT_OHDR_FLAGS_NAME, H5O_CRT_OHDR_FLAGS_SIZE, &H5O_def_ohdr_flags_g,
|
||||
if(H5P__register_real(pclass, H5O_CRT_OHDR_FLAGS_NAME, H5O_CRT_OHDR_FLAGS_SIZE, &H5O_def_ohdr_flags_g,
|
||||
NULL, NULL, NULL, H5O_CRT_OHDR_FLAGS_ENC, H5O_CRT_OHDR_FLAGS_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register the pipeline property */
|
||||
if(H5P_register_real(pclass, H5O_CRT_PIPELINE_NAME, H5O_CRT_PIPELINE_SIZE, &H5O_def_pline_g,
|
||||
if(H5P__register_real(pclass, H5O_CRT_PIPELINE_NAME, H5O_CRT_PIPELINE_SIZE, &H5O_def_pline_g,
|
||||
NULL, H5O_CRT_PIPELINE_SET, H5O_CRT_PIPELINE_GET, H5O_CRT_PIPELINE_ENC, H5O_CRT_PIPELINE_DEC,
|
||||
H5O_CRT_PIPELINE_DEL, H5O_CRT_PIPELINE_COPY, H5O_CRT_PIPELINE_CMP, H5O_CRT_PIPELINE_CLOSE) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
@ -899,7 +899,7 @@ H5Pget_filter2(hid_t plist_id, unsigned idx, unsigned int *flags/*out*/,
|
||||
filter = &pline.filter[idx];
|
||||
|
||||
/* Get filter information */
|
||||
if(H5P_get_filter(filter, flags, cd_nelmts, cd_values, namelen, name, filter_config) < 0)
|
||||
if(H5P__get_filter(filter, flags, cd_nelmts, cd_values, namelen, name, filter_config) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, H5Z_FILTER_ERROR, "can't get filter info")
|
||||
|
||||
/* Set return value */
|
||||
@ -952,7 +952,7 @@ H5P_get_filter_by_id(H5P_genplist_t *plist, H5Z_filter_t id, unsigned int *flags
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "filter ID is invalid")
|
||||
|
||||
/* Get filter information */
|
||||
if(H5P_get_filter(filter, flags, cd_nelmts, cd_values, namelen, name, filter_config) < 0)
|
||||
if(H5P__get_filter(filter, flags, cd_nelmts, cd_values, namelen, name, filter_config) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, FAIL, "can't get filter info")
|
||||
|
||||
done:
|
||||
@ -1118,7 +1118,7 @@ H5P_filter_in_pline(H5P_genplist_t *plist, H5Z_filter_t id)
|
||||
|
||||
done:
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* end H5P_get_filter_by_id() */
|
||||
} /* end H5P_filter_in_pline() */
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
@ -1292,7 +1292,7 @@ done:
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5P_get_filter
|
||||
* Function: H5P__get_filter
|
||||
*
|
||||
* Purpose: Internal component of H5Pget_filter & H5Pget_filter_id
|
||||
*
|
||||
@ -1304,12 +1304,12 @@ done:
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
herr_t
|
||||
H5P_get_filter(const H5Z_filter_info_t *filter, unsigned int *flags/*out*/,
|
||||
H5P__get_filter(const H5Z_filter_info_t *filter, unsigned int *flags/*out*/,
|
||||
size_t *cd_nelmts/*in_out*/, unsigned cd_values[]/*out*/,
|
||||
size_t namelen, char name[]/*out*/,
|
||||
unsigned *filter_config /*out*/)
|
||||
{
|
||||
FUNC_ENTER_NOAPI_NOINIT_NOERR
|
||||
FUNC_ENTER_PACKAGE_NOERR
|
||||
|
||||
/* Check arguments */
|
||||
HDassert(filter);
|
||||
@ -1364,7 +1364,7 @@ H5P_get_filter(const H5Z_filter_info_t *filter, unsigned int *flags/*out*/,
|
||||
H5Z_get_filter_info(filter->id, filter_config);
|
||||
|
||||
FUNC_LEAVE_NOAPI(SUCCEED)
|
||||
} /* end H5P_get_filter() */
|
||||
} /* end H5P__get_filter() */
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
@ -1893,7 +1893,7 @@ H5Pget_filter1(hid_t plist_id, unsigned idx, unsigned int *flags/*out*/,
|
||||
filter = &pline.filter[idx];
|
||||
|
||||
/* Get filter information */
|
||||
if(H5P_get_filter(filter, flags, cd_nelmts, cd_values, namelen, name, NULL) < 0)
|
||||
if(H5P__get_filter(filter, flags, cd_nelmts, cd_values, namelen, name, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, H5Z_FILTER_ERROR, "can't get filter info")
|
||||
|
||||
/* Set return value */
|
||||
|
@ -161,20 +161,20 @@ H5P__ocpy_reg_prop(H5P_genclass_t *pclass)
|
||||
FUNC_ENTER_STATIC
|
||||
|
||||
/* Register copy options property */
|
||||
if(H5P_register_real(pclass, H5O_CPY_OPTION_NAME, H5O_CPY_OPTION_SIZE, &H5O_def_ocpy_option_g,
|
||||
if(H5P__register_real(pclass, H5O_CPY_OPTION_NAME, H5O_CPY_OPTION_SIZE, &H5O_def_ocpy_option_g,
|
||||
NULL, NULL, NULL, H5O_CPY_OPTION_ENC, H5O_CPY_OPTION_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register merge named dtype list property */
|
||||
if(H5P_register_real(pclass, H5O_CPY_MERGE_COMM_DT_LIST_NAME, H5O_CPY_MERGE_COMM_DT_LIST_SIZE, &H5O_def_merge_comm_dtype_list_g,
|
||||
if(H5P__register_real(pclass, H5O_CPY_MERGE_COMM_DT_LIST_NAME, H5O_CPY_MERGE_COMM_DT_LIST_SIZE, &H5O_def_merge_comm_dtype_list_g,
|
||||
NULL, H5O_CPY_MERGE_COMM_DT_LIST_SET, H5O_CPY_MERGE_COMM_DT_LIST_GET, H5O_CPY_MERGE_COMM_DT_LIST_ENC, H5O_CPY_MERGE_COMM_DT_LIST_DEC,
|
||||
H5O_CPY_MERGE_COMM_DT_LIST_DEL, H5O_CPY_MERGE_COMM_DT_LIST_COPY, H5O_CPY_MERGE_COMM_DT_LIST_CMP, H5O_CPY_MERGE_COMM_DT_LIST_CLOSE) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
/* Register property for callback when completing the search for a matching named datatype from the named dtype list */
|
||||
/* (Note: this property should not have an encode/decode callback -QAK) */
|
||||
if(H5P_register_real(pclass, H5O_CPY_MCDT_SEARCH_CB_NAME, H5O_CPY_MCDT_SEARCH_CB_SIZE, &H5O_def_mcdt_cb_g,
|
||||
if(H5P__register_real(pclass, H5O_CPY_MCDT_SEARCH_CB_NAME, H5O_CPY_MCDT_SEARCH_CB_SIZE, &H5O_def_mcdt_cb_g,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
||||
|
44
src/H5Ppkg.h
44
src/H5Ppkg.h
@ -129,48 +129,48 @@ struct H5Z_filter_info_t;
|
||||
/******************************/
|
||||
|
||||
/* Private functions, not part of the publicly documented API */
|
||||
H5_DLL H5P_genclass_t *H5P_create_class(H5P_genclass_t *par_class,
|
||||
H5_DLL H5P_genclass_t *H5P__create_class(H5P_genclass_t *par_class,
|
||||
const char *name, H5P_plist_type_t type,
|
||||
H5P_cls_create_func_t cls_create, void *create_data,
|
||||
H5P_cls_copy_func_t cls_copy, void *copy_data,
|
||||
H5P_cls_close_func_t cls_close, void *close_data);
|
||||
H5_DLL H5P_genclass_t *H5P_copy_pclass(H5P_genclass_t *pclass);
|
||||
H5_DLL herr_t H5P_register_real(H5P_genclass_t *pclass, const char *name, size_t size,
|
||||
H5_DLL H5P_genclass_t *H5P__copy_pclass(H5P_genclass_t *pclass);
|
||||
H5_DLL herr_t H5P__register_real(H5P_genclass_t *pclass, const char *name, size_t size,
|
||||
const void *def_value, H5P_prp_create_func_t prp_create,
|
||||
H5P_prp_set_func_t prp_set, H5P_prp_get_func_t prp_get,
|
||||
H5P_prp_encode_func_t prp_encode, H5P_prp_decode_func_t prp_decode,
|
||||
H5P_prp_delete_func_t prp_delete,
|
||||
H5P_prp_copy_func_t prp_copy, H5P_prp_compare_func_t prp_cmp,
|
||||
H5P_prp_close_func_t prp_close);
|
||||
H5_DLL herr_t H5P_register(H5P_genclass_t **pclass, const char *name, size_t size,
|
||||
H5_DLL herr_t H5P__register(H5P_genclass_t **pclass, const char *name, size_t size,
|
||||
const void *def_value, H5P_prp_create_func_t prp_create,
|
||||
H5P_prp_set_func_t prp_set, H5P_prp_get_func_t prp_get,
|
||||
H5P_prp_encode_func_t prp_encode, H5P_prp_decode_func_t prp_decode,
|
||||
H5P_prp_delete_func_t prp_delete,
|
||||
H5P_prp_copy_func_t prp_copy, H5P_prp_compare_func_t prp_cmp,
|
||||
H5P_prp_close_func_t prp_close);
|
||||
H5_DLL herr_t H5P_add_prop(H5SL_t *props, H5P_genprop_t *prop);
|
||||
H5_DLL herr_t H5P_access_class(H5P_genclass_t *pclass, H5P_class_mod_t mod);
|
||||
H5_DLL htri_t H5P_exist_pclass(H5P_genclass_t *pclass, const char *name);
|
||||
H5_DLL herr_t H5P_get_size_plist(const H5P_genplist_t *plist, const char *name,
|
||||
H5_DLL herr_t H5P__add_prop(H5SL_t *props, H5P_genprop_t *prop);
|
||||
H5_DLL herr_t H5P__access_class(H5P_genclass_t *pclass, H5P_class_mod_t mod);
|
||||
H5_DLL htri_t H5P__exist_pclass(H5P_genclass_t *pclass, const char *name);
|
||||
H5_DLL herr_t H5P__get_size_plist(const H5P_genplist_t *plist, const char *name,
|
||||
size_t *size);
|
||||
H5_DLL herr_t H5P_get_size_pclass(H5P_genclass_t *pclass, const char *name,
|
||||
H5_DLL herr_t H5P__get_size_pclass(H5P_genclass_t *pclass, const char *name,
|
||||
size_t *size);
|
||||
H5_DLL herr_t H5P_get_nprops_plist(const H5P_genplist_t *plist, size_t *nprops);
|
||||
H5_DLL int H5P_cmp_class(const H5P_genclass_t *pclass1, const H5P_genclass_t *pclass2);
|
||||
H5_DLL herr_t H5P_cmp_plist(const H5P_genplist_t *plist1, const H5P_genplist_t *plist2,
|
||||
H5_DLL herr_t H5P__get_nprops_plist(const H5P_genplist_t *plist, size_t *nprops);
|
||||
H5_DLL int H5P__cmp_class(const H5P_genclass_t *pclass1, const H5P_genclass_t *pclass2);
|
||||
H5_DLL herr_t H5P__cmp_plist(const H5P_genplist_t *plist1, const H5P_genplist_t *plist2,
|
||||
int *cmp_ret);
|
||||
H5_DLL int H5P_iterate_plist(const H5P_genplist_t *plist, hbool_t iter_all_prop,
|
||||
H5_DLL int H5P__iterate_plist(const H5P_genplist_t *plist, hbool_t iter_all_prop,
|
||||
int *idx, H5P_iterate_int_t iter_func, void *iter_data);
|
||||
H5_DLL int H5P_iterate_pclass(const H5P_genclass_t *pclass, int *idx,
|
||||
H5_DLL int H5P__iterate_pclass(const H5P_genclass_t *pclass, int *idx,
|
||||
H5P_iterate_int_t iter_func, void *iter_data);
|
||||
H5_DLL herr_t H5P_copy_prop_plist(hid_t dst_id, hid_t src_id, const char *name);
|
||||
H5_DLL herr_t H5P_copy_prop_pclass(hid_t dst_id, hid_t src_id, const char *name);
|
||||
H5_DLL herr_t H5P_unregister(H5P_genclass_t *pclass, const char *name);
|
||||
H5_DLL char *H5P_get_class_path(H5P_genclass_t *pclass);
|
||||
H5_DLL H5P_genclass_t *H5P_open_class_path(const char *path);
|
||||
H5_DLL H5P_genclass_t *H5P_get_class_parent(const H5P_genclass_t *pclass);
|
||||
H5_DLL herr_t H5P_close_class(void *_pclass);
|
||||
H5_DLL herr_t H5P__copy_prop_plist(hid_t dst_id, hid_t src_id, const char *name);
|
||||
H5_DLL herr_t H5P__copy_prop_pclass(hid_t dst_id, hid_t src_id, const char *name);
|
||||
H5_DLL herr_t H5P__unregister(H5P_genclass_t *pclass, const char *name);
|
||||
H5_DLL char *H5P__get_class_path(H5P_genclass_t *pclass);
|
||||
H5_DLL H5P_genclass_t *H5P__open_class_path(const char *path);
|
||||
H5_DLL H5P_genclass_t *H5P__get_class_parent(const H5P_genclass_t *pclass);
|
||||
H5_DLL herr_t H5P__close_class(void *_pclass);
|
||||
H5_DLL H5P_genprop_t *H5P__find_prop_plist(const H5P_genplist_t *plist, const char *name);
|
||||
H5_DLL hid_t H5P__new_plist_of_type(H5P_plist_type_t type);
|
||||
|
||||
@ -194,7 +194,7 @@ H5_DLL herr_t H5P__encode_coll_md_read_flag_t(const void *value, void **_pp, siz
|
||||
H5_DLL herr_t H5P__decode_coll_md_read_flag_t(const void **_pp, void *value);
|
||||
|
||||
/* Private OCPL routines */
|
||||
H5_DLL herr_t H5P_get_filter(const struct H5Z_filter_info_t *filter,
|
||||
H5_DLL herr_t H5P__get_filter(const struct H5Z_filter_info_t *filter,
|
||||
unsigned int *flags, size_t *cd_nelmts, unsigned cd_values[],
|
||||
size_t namelen, char name[], unsigned *filter_config);
|
||||
|
||||
|
@ -190,7 +190,6 @@ H5_DLL herr_t H5P_get_filter_by_id(H5P_genplist_t *plist, H5Z_filter_t id,
|
||||
unsigned int *flags, size_t *cd_nelmts, unsigned cd_values[],
|
||||
size_t namelen, char name[], unsigned *filter_config);
|
||||
H5_DLL htri_t H5P_filter_in_pline(H5P_genplist_t *plist, H5Z_filter_t id);
|
||||
H5_DLL hid_t H5P_get_default(const H5P_libclass_t *pclass);
|
||||
|
||||
/* Query internal fields of the property list struct */
|
||||
H5_DLL hid_t H5P_get_plist_id(const H5P_genplist_t *plist);
|
||||
|
@ -130,7 +130,7 @@ H5P__strcrt_reg_prop(H5P_genclass_t *pclass)
|
||||
FUNC_ENTER_STATIC
|
||||
|
||||
/* Register character encoding */
|
||||
if(H5P_register_real(pclass, H5P_STRCRT_CHAR_ENCODING_NAME, H5P_STRCRT_CHAR_ENCODING_SIZE, &H5P_def_char_encoding_g,
|
||||
if(H5P__register_real(pclass, H5P_STRCRT_CHAR_ENCODING_NAME, H5P_STRCRT_CHAR_ENCODING_SIZE, &H5P_def_char_encoding_g,
|
||||
NULL, NULL, NULL, H5P_STRCRT_CHAR_ENCODING_ENC, H5P_STRCRT_CHAR_ENCODING_DEC,
|
||||
NULL, NULL, NULL, NULL) < 0)
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
|
||||
|
@ -68,7 +68,7 @@ H5P__get_class_path_test(hid_t pclass_id)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "not a property class");
|
||||
|
||||
/* Get the property list class path */
|
||||
if(NULL == (ret_value = H5P_get_class_path(pclass)))
|
||||
if(NULL == (ret_value = H5P__get_class_path(pclass)))
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_NOTFOUND, NULL, "unable to query full path of class")
|
||||
|
||||
done:
|
||||
@ -109,7 +109,7 @@ H5P__open_class_path_test(const char *path)
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, H5I_INVALID_HID, "invalid class path");
|
||||
|
||||
/* Open the property list class */
|
||||
if(NULL == (pclass = H5P_open_class_path(path)))
|
||||
if(NULL == (pclass = H5P__open_class_path(path)))
|
||||
HGOTO_ERROR(H5E_PLIST, H5E_NOTFOUND, H5I_INVALID_HID, "unable to find class with full path");
|
||||
|
||||
/* Get an atom for the class */
|
||||
@ -118,7 +118,7 @@ H5P__open_class_path_test(const char *path)
|
||||
|
||||
done:
|
||||
if(H5I_INVALID_HID == ret_value && pclass)
|
||||
H5P_close_class(pclass);
|
||||
H5P__close_class(pclass);
|
||||
|
||||
FUNC_LEAVE_NOAPI(ret_value)
|
||||
} /* H5P__open_class_path_test() */
|
||||
|
@ -15,7 +15,7 @@ HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs):
|
||||
#000: (file name) line (number) in H5Dcreate2(): not a location ID
|
||||
major: Invalid arguments to routine
|
||||
minor: Inappropriate type
|
||||
#001: (file name) line (number) in H5G_loc(): invalid object ID
|
||||
#001: (file name) line (number) in H5G_loc(): invalid location ID
|
||||
major: Invalid arguments to routine
|
||||
minor: Bad value
|
||||
|
||||
@ -43,7 +43,7 @@ HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs):
|
||||
#000: (file name) line (number) in H5Dcreate2(): not a location ID
|
||||
major: Invalid arguments to routine
|
||||
minor: Inappropriate type
|
||||
#001: (file name) line (number) in H5G_loc(): invalid object ID
|
||||
#001: (file name) line (number) in H5G_loc(): invalid location ID
|
||||
major: Invalid arguments to routine
|
||||
minor: Bad value
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user