diff options
Diffstat (limited to 'src/H5HFbtree2.c')
| -rw-r--r-- | src/H5HFbtree2.c | 698 |
1 files changed, 285 insertions, 413 deletions
diff --git a/src/H5HFbtree2.c b/src/H5HFbtree2.c index 023344c..a00eb65 100644 --- a/src/H5HFbtree2.c +++ b/src/H5HFbtree2.c @@ -1,23 +1,20 @@ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Copyright by The HDF Group. * - * Copyright by the Board of Trustees of the University of Illinois. * * All rights reserved. * * * * This file is part of HDF5. The full HDF5 copyright notice, including * * terms governing use, modification, and redistribution, is contained in * - * the files COPYING and Copyright.html. COPYING can be found at the root * - * of the source code distribution tree; Copyright.html can be found at the * - * root level of an installed copy of the electronic HDF5 document set and * - * is linked from the top-level documents page. It can also be found at * - * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * - * access to either file, you may request a copy from help@hdfgroup.org. * + * the COPYING file, which can be found at the root of the source code * + * distribution tree, or in https://www.hdfgroup.org/licenses. * + * If you do not have access to either file, you may request a copy from * + * help@hdfgroup.org. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /*------------------------------------------------------------------------- * * Created: H5HFbtree2.c * Aug 7 2006 - * Quincey Koziol <koziol@hdfgroup.org> + * Quincey Koziol * * Purpose: v2 B-tree callbacks for "huge" object tracker * @@ -28,158 +25,143 @@ /* Module Setup */ /****************/ -#define H5HF_PACKAGE /*suppress error about including H5HFpkg */ - +#include "H5HFmodule.h" /* This source code file is part of the H5HF module */ /***********/ /* Headers */ /***********/ -#include "H5private.h" /* Generic Functions */ -#include "H5Eprivate.h" /* Error handling */ -#include "H5HFpkg.h" /* Fractal heaps */ -#include "H5MFprivate.h" /* File memory management */ - +#include "H5private.h" /* Generic Functions */ +#include "H5Eprivate.h" /* Error handling */ +#include "H5HFpkg.h" /* Fractal heaps */ +#include "H5MFprivate.h" /* File memory management */ /****************/ /* Local Macros */ /****************/ - /******************/ /* Local Typedefs */ /******************/ /* v2 B-tree client callback context */ typedef struct H5HF_huge_bt2_ctx_t { - uint8_t sizeof_size; /* Size of file sizes */ - uint8_t sizeof_addr; /* Size of file addresses */ + uint8_t sizeof_size; /* Size of file sizes */ + uint8_t sizeof_addr; /* Size of file addresses */ } H5HF_huge_bt2_ctx_t; - /********************/ /* Package Typedefs */ /********************/ - /********************/ /* Local Prototypes */ /********************/ - /* v2 B-tree driver callbacks */ -static void *H5HF_huge_bt2_crt_context(void *udata); -static herr_t H5HF_huge_bt2_dst_context(void *ctx); -static void *H5HF_huge_bt2_crt_dbg_context(H5F_t *f, hid_t dxpl_id, haddr_t addr); - -static herr_t H5HF_huge_bt2_indir_store(void *native, const void *udata); -static herr_t H5HF_huge_bt2_indir_compare(const void *rec1, const void *rec2); -static herr_t H5HF_huge_bt2_indir_encode(uint8_t *raw, const void *native, - void *ctx); -static herr_t H5HF_huge_bt2_indir_decode(const uint8_t *raw, void *native, - void *ctx); -static herr_t H5HF_huge_bt2_indir_debug(FILE *stream, const H5F_t *f, hid_t dxpl_id, - int indent, int fwidth, const void *record, const void *_udata); - -static herr_t H5HF_huge_bt2_filt_indir_store(void *native, const void *udata); -static herr_t H5HF_huge_bt2_filt_indir_compare(const void *rec1, const void *rec2); -static herr_t H5HF_huge_bt2_filt_indir_encode(uint8_t *raw, const void *native, - void *ctx); -static herr_t H5HF_huge_bt2_filt_indir_decode(const uint8_t *raw, void *native, - void *ctx); -static herr_t H5HF_huge_bt2_filt_indir_debug(FILE *stream, const H5F_t *f, hid_t dxpl_id, - int indent, int fwidth, const void *record, const void *_udata); - -static herr_t H5HF_huge_bt2_dir_store(void *native, const void *udata); -static herr_t H5HF_huge_bt2_dir_compare(const void *rec1, const void *rec2); -static herr_t H5HF_huge_bt2_dir_encode(uint8_t *raw, const void *native, - void *ctx); -static herr_t H5HF_huge_bt2_dir_decode(const uint8_t *raw, void *native, - void *ctx); -static herr_t H5HF_huge_bt2_dir_debug(FILE *stream, const H5F_t *f, hid_t dxpl_id, - int indent, int fwidth, const void *record, const void *_udata); - -static herr_t H5HF_huge_bt2_filt_dir_store(void *native, const void *udata); -static herr_t H5HF_huge_bt2_filt_dir_compare(const void *rec1, const void *rec2); -static herr_t H5HF_huge_bt2_filt_dir_encode(uint8_t *raw, const void *native, - void *ctx); -static herr_t H5HF_huge_bt2_filt_dir_decode(const uint8_t *raw, void *native, - void *ctx); -static herr_t H5HF_huge_bt2_filt_dir_debug(FILE *stream, const H5F_t *f, hid_t dxpl_id, - int indent, int fwidth, const void *record, const void *_udata); +/* Common callbacks */ +static void *H5HF__huge_bt2_crt_context(void *udata); +static herr_t H5HF__huge_bt2_dst_context(void *ctx); + +/* Callbacks for indirect objects */ +static herr_t H5HF__huge_bt2_indir_store(void *native, const void *udata); +static herr_t H5HF__huge_bt2_indir_compare(const void *rec1, const void *rec2, int *result); +static herr_t H5HF__huge_bt2_indir_encode(uint8_t *raw, const void *native, void *ctx); +static herr_t H5HF__huge_bt2_indir_decode(const uint8_t *raw, void *native, void *ctx); +static herr_t H5HF__huge_bt2_indir_debug(FILE *stream, int indent, int fwidth, const void *record, + const void *_udata); + +/* Callbacks for filtered indirect objects */ +static herr_t H5HF__huge_bt2_filt_indir_store(void *native, const void *udata); +static herr_t H5HF__huge_bt2_filt_indir_compare(const void *rec1, const void *rec2, int *result); +static herr_t H5HF__huge_bt2_filt_indir_encode(uint8_t *raw, const void *native, void *ctx); +static herr_t H5HF__huge_bt2_filt_indir_decode(const uint8_t *raw, void *native, void *ctx); +static herr_t H5HF__huge_bt2_filt_indir_debug(FILE *stream, int indent, int fwidth, const void *record, + const void *_udata); + +/* Callbacks for direct objects */ +static herr_t H5HF__huge_bt2_dir_store(void *native, const void *udata); +static herr_t H5HF__huge_bt2_dir_compare(const void *rec1, const void *rec2, int *result); +static herr_t H5HF__huge_bt2_dir_encode(uint8_t *raw, const void *native, void *ctx); +static herr_t H5HF__huge_bt2_dir_decode(const uint8_t *raw, void *native, void *ctx); +static herr_t H5HF__huge_bt2_dir_debug(FILE *stream, int indent, int fwidth, const void *record, + const void *_udata); + +/* Callbacks for filtered direct objects */ +static herr_t H5HF__huge_bt2_filt_dir_store(void *native, const void *udata); +static herr_t H5HF__huge_bt2_filt_dir_compare(const void *rec1, const void *rec2, int *result); +static herr_t H5HF__huge_bt2_filt_dir_encode(uint8_t *raw, const void *native, void *ctx); +static herr_t H5HF__huge_bt2_filt_dir_decode(const uint8_t *raw, void *native, void *ctx); +static herr_t H5HF__huge_bt2_filt_dir_debug(FILE *stream, int indent, int fwidth, const void *record, + const void *_udata); /*********************/ /* Package Variables */ /*********************/ /* v2 B-tree class for indirectly accessed 'huge' objects */ -const H5B2_class_t H5HF_HUGE_BT2_INDIR[1]={{ /* B-tree class information */ - H5B2_FHEAP_HUGE_INDIR_ID, /* Type of B-tree */ - "H5B2_FHEAP_HUGE_INDIR_ID", /* Name of B-tree class */ - sizeof(H5HF_huge_bt2_indir_rec_t), /* Size of native record */ - H5HF_huge_bt2_crt_context, /* Create client callback context */ - H5HF_huge_bt2_dst_context, /* Destroy client callback context */ - H5HF_huge_bt2_indir_store, /* Record storage callback */ - H5HF_huge_bt2_indir_compare, /* Record comparison callback */ - H5HF_huge_bt2_indir_encode, /* Record encoding callback */ - H5HF_huge_bt2_indir_decode, /* Record decoding callback */ - H5HF_huge_bt2_indir_debug, /* Record debugging callback */ - H5HF_huge_bt2_crt_dbg_context, /* Create debugging context */ - H5HF_huge_bt2_dst_context /* Destroy debugging context */ +const H5B2_class_t H5HF_HUGE_BT2_INDIR[1] = {{ + /* B-tree class information */ + H5B2_FHEAP_HUGE_INDIR_ID, /* Type of B-tree */ + "H5B2_FHEAP_HUGE_INDIR_ID", /* Name of B-tree class */ + sizeof(H5HF_huge_bt2_indir_rec_t), /* Size of native record */ + H5HF__huge_bt2_crt_context, /* Create client callback context */ + H5HF__huge_bt2_dst_context, /* Destroy client callback context */ + H5HF__huge_bt2_indir_store, /* Record storage callback */ + H5HF__huge_bt2_indir_compare, /* Record comparison callback */ + H5HF__huge_bt2_indir_encode, /* Record encoding callback */ + H5HF__huge_bt2_indir_decode, /* Record decoding callback */ + H5HF__huge_bt2_indir_debug /* Record debugging callback */ }}; /* v2 B-tree class for indirectly accessed, filtered 'huge' objects */ -const H5B2_class_t H5HF_HUGE_BT2_FILT_INDIR[1]={{ /* B-tree class information */ +const H5B2_class_t H5HF_HUGE_BT2_FILT_INDIR[1] = {{ + /* B-tree class information */ H5B2_FHEAP_HUGE_FILT_INDIR_ID, /* Type of B-tree */ "H5B2_FHEAP_HUGE_FILT_INDIR_ID", /* Name of B-tree class */ sizeof(H5HF_huge_bt2_filt_indir_rec_t), /* Size of native record */ - H5HF_huge_bt2_crt_context, /* Create client callback context */ - H5HF_huge_bt2_dst_context, /* Destroy client callback context */ - H5HF_huge_bt2_filt_indir_store, /* Record storage callback */ - H5HF_huge_bt2_filt_indir_compare, /* Record comparison callback */ - H5HF_huge_bt2_filt_indir_encode, /* Record encoding callback */ - H5HF_huge_bt2_filt_indir_decode, /* Record decoding callback */ - H5HF_huge_bt2_filt_indir_debug, /* Record debugging callback */ - H5HF_huge_bt2_crt_dbg_context, /* Create debugging context */ - H5HF_huge_bt2_dst_context /* Destroy debugging context */ + H5HF__huge_bt2_crt_context, /* Create client callback context */ + H5HF__huge_bt2_dst_context, /* Destroy client callback context */ + H5HF__huge_bt2_filt_indir_store, /* Record storage callback */ + H5HF__huge_bt2_filt_indir_compare, /* Record comparison callback */ + H5HF__huge_bt2_filt_indir_encode, /* Record encoding callback */ + H5HF__huge_bt2_filt_indir_decode, /* Record decoding callback */ + H5HF__huge_bt2_filt_indir_debug /* Record debugging callback */ }}; /* v2 B-tree class for directly accessed 'huge' objects */ -const H5B2_class_t H5HF_HUGE_BT2_DIR[1]={{ /* B-tree class information */ - H5B2_FHEAP_HUGE_DIR_ID, /* Type of B-tree */ - "H5B2_FHEAP_HUGE_DIR_ID", /* Name of B-tree class */ - sizeof(H5HF_huge_bt2_dir_rec_t), /* Size of native record */ - H5HF_huge_bt2_crt_context, /* Create client callback context */ - H5HF_huge_bt2_dst_context, /* Destroy client callback context */ - H5HF_huge_bt2_dir_store, /* Record storage callback */ - H5HF_huge_bt2_dir_compare, /* Record comparison callback */ - H5HF_huge_bt2_dir_encode, /* Record encoding callback */ - H5HF_huge_bt2_dir_decode, /* Record decoding callback */ - H5HF_huge_bt2_dir_debug, /* Record debugging callback */ - H5HF_huge_bt2_crt_dbg_context, /* Create debugging context */ - H5HF_huge_bt2_dst_context /* Destroy debugging context */ +const H5B2_class_t H5HF_HUGE_BT2_DIR[1] = {{ + /* B-tree class information */ + H5B2_FHEAP_HUGE_DIR_ID, /* Type of B-tree */ + "H5B2_FHEAP_HUGE_DIR_ID", /* Name of B-tree class */ + sizeof(H5HF_huge_bt2_dir_rec_t), /* Size of native record */ + H5HF__huge_bt2_crt_context, /* Create client callback context */ + H5HF__huge_bt2_dst_context, /* Destroy client callback context */ + H5HF__huge_bt2_dir_store, /* Record storage callback */ + H5HF__huge_bt2_dir_compare, /* Record comparison callback */ + H5HF__huge_bt2_dir_encode, /* Record encoding callback */ + H5HF__huge_bt2_dir_decode, /* Record decoding callback */ + H5HF__huge_bt2_dir_debug /* Record debugging callback */ }}; /* v2 B-tree class for directly accessed, filtered 'huge' objects */ -const H5B2_class_t H5HF_HUGE_BT2_FILT_DIR[1]={{ /* B-tree class information */ - H5B2_FHEAP_HUGE_FILT_DIR_ID, /* Type of B-tree */ - "H5B2_FHEAP_HUGE_FILT_DIR_ID", /* Name of B-tree class */ - sizeof(H5HF_huge_bt2_filt_dir_rec_t), /* Size of native record */ - H5HF_huge_bt2_crt_context, /* Create client callback context */ - H5HF_huge_bt2_dst_context, /* Destroy client callback context */ - H5HF_huge_bt2_filt_dir_store, /* Record storage callback */ - H5HF_huge_bt2_filt_dir_compare, /* Record comparison callback */ - H5HF_huge_bt2_filt_dir_encode, /* Record encoding callback */ - H5HF_huge_bt2_filt_dir_decode, /* Record decoding callback */ - H5HF_huge_bt2_filt_dir_debug, /* Record debugging callback */ - H5HF_huge_bt2_crt_dbg_context, /* Create debugging context */ - H5HF_huge_bt2_dst_context /* Destroy debugging context */ +const H5B2_class_t H5HF_HUGE_BT2_FILT_DIR[1] = {{ + /* B-tree class information */ + H5B2_FHEAP_HUGE_FILT_DIR_ID, /* Type of B-tree */ + "H5B2_FHEAP_HUGE_FILT_DIR_ID", /* Name of B-tree class */ + sizeof(H5HF_huge_bt2_filt_dir_rec_t), /* Size of native record */ + H5HF__huge_bt2_crt_context, /* Create client callback context */ + H5HF__huge_bt2_dst_context, /* Destroy client callback context */ + H5HF__huge_bt2_filt_dir_store, /* Record storage callback */ + H5HF__huge_bt2_filt_dir_compare, /* Record comparison callback */ + H5HF__huge_bt2_filt_dir_encode, /* Record encoding callback */ + H5HF__huge_bt2_filt_dir_decode, /* Record decoding callback */ + H5HF__huge_bt2_filt_dir_debug /* Record debugging callback */ }}; /*****************************/ /* Library Private Variables */ /*****************************/ - /*******************/ /* Local Variables */ /*******************/ @@ -187,10 +169,8 @@ const H5B2_class_t H5HF_HUGE_BT2_FILT_DIR[1]={{ /* B-tree class information */ /* Declare a free list to manage the H5HF_huge_bt2_ctx_t struct */ H5FL_DEFINE_STATIC(H5HF_huge_bt2_ctx_t); - - /*------------------------------------------------------------------------- - * Function: H5HF_huge_bt2_crt_context + * Function: H5HF__huge_bt2_crt_context * * Purpose: Create client callback context * @@ -205,19 +185,19 @@ H5FL_DEFINE_STATIC(H5HF_huge_bt2_ctx_t); *------------------------------------------------------------------------- */ static void * -H5HF_huge_bt2_crt_context(void *_f) +H5HF__huge_bt2_crt_context(void *_f) { - H5F_t *f = (H5F_t *)_f; /* User data for building callback context */ - H5HF_huge_bt2_ctx_t *ctx; /* Callback context structure */ - void *ret_value; /* Return value */ + H5F_t *f = (H5F_t *)_f; /* User data for building callback context */ + H5HF_huge_bt2_ctx_t *ctx; /* Callback context structure */ + void *ret_value = NULL; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_PACKAGE /* Sanity check */ HDassert(f); /* Allocate callback context */ - if(NULL == (ctx = H5FL_MALLOC(H5HF_huge_bt2_ctx_t))) + if (NULL == (ctx = H5FL_MALLOC(H5HF_huge_bt2_ctx_t))) HGOTO_ERROR(H5E_HEAP, H5E_CANTALLOC, NULL, "can't allocate callback context") /* Determine the size of addresses & lengths in the file */ @@ -229,11 +209,10 @@ H5HF_huge_bt2_crt_context(void *_f) done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5HF_huge_bt2_crt_context() */ +} /* H5HF__huge_bt2_crt_context() */ - /*------------------------------------------------------------------------- - * Function: H5HF_huge_bt2_dst_context + * Function: H5HF__huge_bt2_dst_context * * Purpose: Destroy client callback context * @@ -248,11 +227,11 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5HF_huge_bt2_dst_context(void *_ctx) +H5HF__huge_bt2_dst_context(void *_ctx) { - H5HF_huge_bt2_ctx_t *ctx = (H5HF_huge_bt2_ctx_t *)_ctx; /* Callback context structure */ + H5HF_huge_bt2_ctx_t *ctx = (H5HF_huge_bt2_ctx_t *)_ctx; /* Callback context structure */ - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_PACKAGE_NOERR /* Sanity check */ HDassert(ctx); @@ -261,51 +240,10 @@ H5HF_huge_bt2_dst_context(void *_ctx) ctx = H5FL_FREE(H5HF_huge_bt2_ctx_t, ctx); FUNC_LEAVE_NOAPI(SUCCEED) -} /* H5HF_huge_bt2_dst_context() */ - - -/*------------------------------------------------------------------------- - * Function: H5HF_huge_bt2_crt_dbg_context - * - * Purpose: Create context for debugging callback - * - * Return: Success: non-NULL - * Failure: NULL - * - * Programmer: Quincey Koziol - * Tuesday, December 1, 2009 - * - *------------------------------------------------------------------------- - */ -static void * -H5HF_huge_bt2_crt_dbg_context(H5F_t *f, hid_t UNUSED dxpl_id, haddr_t UNUSED addr) -{ - H5HF_huge_bt2_ctx_t *ctx; /* Callback context structure */ - void *ret_value; /* Return value */ - - FUNC_ENTER_NOAPI_NOINIT - - /* Sanity check */ - HDassert(f); - - /* Allocate callback context */ - if(NULL == (ctx = H5FL_MALLOC(H5HF_huge_bt2_ctx_t))) - HGOTO_ERROR(H5E_HEAP, H5E_CANTALLOC, NULL, "can't allocate callback context") - - /* Determine the size of addresses & lengths in the file */ - ctx->sizeof_addr = H5F_SIZEOF_ADDR(f); - ctx->sizeof_size = H5F_SIZEOF_SIZE(f); - - /* Set return value */ - ret_value = ctx; - -done: - FUNC_LEAVE_NOAPI(ret_value) -} /* H5HF_huge_bt2_crt_dbg_context() */ +} /* H5HF__huge_bt2_dst_context() */ - /*------------------------------------------------------------------------- - * Function: H5HF_huge_bt2_indir_found + * Function: H5HF__huge_bt2_indir_found * * Purpose: Retrieve record for indirectly accessed 'huge' object, when * it's found in the v2 B-tree @@ -319,24 +257,17 @@ done: *------------------------------------------------------------------------- */ herr_t -H5HF_huge_bt2_indir_found(const void *nrecord, void *op_data) +H5HF__huge_bt2_indir_found(const void *nrecord, void *op_data) { - FUNC_ENTER_NOAPI_NOINIT_NOERR - -#ifdef QAK -HDfprintf(stderr, "%s: nrecord = {%a, %Hu, %Hu}\n", "H5HF_huge_bt2_indir_found", - ((const H5HF_huge_bt2_indir_rec_t *)nrecord)->addr, - ((const H5HF_huge_bt2_indir_rec_t *)nrecord)->len, - ((const H5HF_huge_bt2_indir_rec_t *)nrecord)->id); -#endif /* QAK */ + FUNC_ENTER_PACKAGE_NOERR + *(H5HF_huge_bt2_indir_rec_t *)op_data = *(const H5HF_huge_bt2_indir_rec_t *)nrecord; FUNC_LEAVE_NOAPI(SUCCEED) -} /* H5HF_huge_bt2_indir_found() */ +} /* H5HF__huge_bt2_indir_found() */ - /*------------------------------------------------------------------------- - * Function: H5HF_huge_bt2_indir_remove + * Function: H5HF__huge_bt2_indir_remove * * Purpose: Free space for indirectly accessed 'huge' object, as v2 B-tree * is being deleted or v2 B-tree node is removed @@ -350,15 +281,16 @@ HDfprintf(stderr, "%s: nrecord = {%a, %Hu, %Hu}\n", "H5HF_huge_bt2_indir_found", *------------------------------------------------------------------------- */ herr_t -H5HF_huge_bt2_indir_remove(const void *nrecord, void *_udata) +H5HF__huge_bt2_indir_remove(const void *nrecord, void *_udata) { - H5HF_huge_remove_ud1_t *udata = (H5HF_huge_remove_ud1_t *)_udata; /* User callback data */ - herr_t ret_value = SUCCEED; /* Return value */ + H5HF_huge_remove_ud_t *udata = (H5HF_huge_remove_ud_t *)_udata; /* User callback data */ + herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_PACKAGE /* Free the space in the file for the object being removed */ - if(H5MF_xfree(udata->hdr->f, H5FD_MEM_FHEAP_HUGE_OBJ, udata->dxpl_id, ((const H5HF_huge_bt2_indir_rec_t *)nrecord)->addr, ((const H5HF_huge_bt2_indir_rec_t *)nrecord)->len) < 0) + if (H5MF_xfree(udata->hdr->f, H5FD_MEM_FHEAP_HUGE_OBJ, ((const H5HF_huge_bt2_indir_rec_t *)nrecord)->addr, + ((const H5HF_huge_bt2_indir_rec_t *)nrecord)->len) < 0) HGOTO_ERROR(H5E_HEAP, H5E_CANTFREE, FAIL, "unable to free space for huge object on disk") /* Set the length of the object removed */ @@ -366,11 +298,10 @@ H5HF_huge_bt2_indir_remove(const void *nrecord, void *_udata) done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5HF_huge_bt2_indir_remove() */ +} /* H5HF__huge_bt2_indir_remove() */ - /*------------------------------------------------------------------------- - * Function: H5HF_huge_bt2_indir_store + * Function: H5HF__huge_bt2_indir_store * * Purpose: Store native information into record for v2 B-tree * @@ -383,18 +314,17 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5HF_huge_bt2_indir_store(void *nrecord, const void *udata) +H5HF__huge_bt2_indir_store(void *nrecord, const void *udata) { - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_PACKAGE_NOERR *(H5HF_huge_bt2_indir_rec_t *)nrecord = *(const H5HF_huge_bt2_indir_rec_t *)udata; FUNC_LEAVE_NOAPI(SUCCEED) -} /* H5HF_huge_bt2_indir_store() */ +} /* H5HF__huge_bt2_indir_store() */ - /*------------------------------------------------------------------------- - * Function: H5HF_huge_bt2_indir_compare + * Function: H5HF__huge_bt2_indir_compare * * Purpose: Compare two native information records, according to some key * @@ -408,25 +338,18 @@ H5HF_huge_bt2_indir_store(void *nrecord, const void *udata) *------------------------------------------------------------------------- */ static herr_t -H5HF_huge_bt2_indir_compare(const void *_rec1, const void *_rec2) +H5HF__huge_bt2_indir_compare(const void *_rec1, const void *_rec2, int *result) { - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_PACKAGE_NOERR -#ifdef QAK -{ -const H5HF_huge_bt2_indir_rec_t *rec1 = (const H5HF_huge_bt2_indir_rec_t *)_rec1; -const H5HF_huge_bt2_indir_rec_t *rec2 = (const H5HF_huge_bt2_indir_rec_t *)_rec2; + *result = (int)(((const H5HF_huge_bt2_indir_rec_t *)_rec1)->id - + ((const H5HF_huge_bt2_indir_rec_t *)_rec2)->id); -HDfprintf(stderr, "%s: rec1 = {%a, %Hu, %Hu}\n", "H5HF_huge_bt2_indir_compare", rec1->addr, rec1->len, rec1->id); -HDfprintf(stderr, "%s: rec2 = {%a, %Hu, %Hu}\n", "H5HF_huge_bt2_indir_compare", rec2->addr, rec2->len, rec2->id); -} -#endif /* QAK */ - FUNC_LEAVE_NOAPI((herr_t)(((const H5HF_huge_bt2_indir_rec_t *)_rec1)->id - ((const H5HF_huge_bt2_indir_rec_t *)_rec2)->id)) -} /* H5HF_huge_bt2_indir_compare() */ + FUNC_LEAVE_NOAPI(SUCCEED) +} /* H5HF__huge_bt2_indir_compare() */ - /*------------------------------------------------------------------------- - * Function: H5HF_huge_bt2_indir_encode + * Function: H5HF__huge_bt2_indir_encode * * Purpose: Encode native information into raw form for storing on disk * @@ -439,12 +362,12 @@ HDfprintf(stderr, "%s: rec2 = {%a, %Hu, %Hu}\n", "H5HF_huge_bt2_indir_compare", *------------------------------------------------------------------------- */ static herr_t -H5HF_huge_bt2_indir_encode(uint8_t *raw, const void *_nrecord, void *_ctx) +H5HF__huge_bt2_indir_encode(uint8_t *raw, const void *_nrecord, void *_ctx) { - H5HF_huge_bt2_ctx_t *ctx = (H5HF_huge_bt2_ctx_t *)_ctx; /* Callback context structure */ + H5HF_huge_bt2_ctx_t *ctx = (H5HF_huge_bt2_ctx_t *)_ctx; /* Callback context structure */ const H5HF_huge_bt2_indir_rec_t *nrecord = (const H5HF_huge_bt2_indir_rec_t *)_nrecord; - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_PACKAGE_NOERR /* Sanity check */ HDassert(ctx); @@ -455,11 +378,10 @@ H5HF_huge_bt2_indir_encode(uint8_t *raw, const void *_nrecord, void *_ctx) H5F_ENCODE_LENGTH_LEN(raw, nrecord->id, ctx->sizeof_size); FUNC_LEAVE_NOAPI(SUCCEED) -} /* H5HF_huge_bt2_indir_encode() */ +} /* H5HF__huge_bt2_indir_encode() */ - /*------------------------------------------------------------------------- - * Function: H5HF_huge_bt2_indir_decode + * Function: H5HF__huge_bt2_indir_decode * * Purpose: Decode raw disk form of record into native form * @@ -472,12 +394,12 @@ H5HF_huge_bt2_indir_encode(uint8_t *raw, const void *_nrecord, void *_ctx) *------------------------------------------------------------------------- */ static herr_t -H5HF_huge_bt2_indir_decode(const uint8_t *raw, void *_nrecord, void *_ctx) +H5HF__huge_bt2_indir_decode(const uint8_t *raw, void *_nrecord, void *_ctx) { - H5HF_huge_bt2_ctx_t *ctx = (H5HF_huge_bt2_ctx_t *)_ctx; /* Callback context structure */ + H5HF_huge_bt2_ctx_t *ctx = (H5HF_huge_bt2_ctx_t *)_ctx; /* Callback context structure */ H5HF_huge_bt2_indir_rec_t *nrecord = (H5HF_huge_bt2_indir_rec_t *)_nrecord; - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_PACKAGE_NOERR /* Sanity check */ HDassert(ctx); @@ -488,11 +410,10 @@ H5HF_huge_bt2_indir_decode(const uint8_t *raw, void *_nrecord, void *_ctx) H5F_DECODE_LENGTH_LEN(raw, nrecord->id, ctx->sizeof_size); FUNC_LEAVE_NOAPI(SUCCEED) -} /* H5HF_huge_bt2_indir_decode() */ +} /* H5HF__huge_bt2_indir_decode() */ - /*------------------------------------------------------------------------- - * Function: H5HF_huge_bt2_indir_debug + * Function: H5HF__huge_bt2_indir_debug * * Purpose: Debug native form of record * @@ -505,23 +426,21 @@ H5HF_huge_bt2_indir_decode(const uint8_t *raw, void *_nrecord, void *_ctx) *------------------------------------------------------------------------- */ static herr_t -H5HF_huge_bt2_indir_debug(FILE *stream, const H5F_t UNUSED *f, hid_t UNUSED dxpl_id, - int indent, int fwidth, const void *_nrecord, - const void UNUSED *_udata) +H5HF__huge_bt2_indir_debug(FILE *stream, int indent, int fwidth, const void *_nrecord, + const void H5_ATTR_UNUSED *_udata) { const H5HF_huge_bt2_indir_rec_t *nrecord = (const H5HF_huge_bt2_indir_rec_t *)_nrecord; - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_PACKAGE_NOERR - HDfprintf(stream, "%*s%-*s {%a, %Hu, %Hu}\n", indent, "", fwidth, "Record:", - nrecord->addr, nrecord->len, nrecord->id); + HDfprintf(stream, "%*s%-*s {%" PRIuHADDR ", %" PRIuHSIZE ", %" PRIuHSIZE "}\n", indent, "", fwidth, + "Record:", nrecord->addr, nrecord->len, nrecord->id); FUNC_LEAVE_NOAPI(SUCCEED) -} /* H5HF_huge_bt2_indir_debug() */ +} /* H5HF__huge_bt2_indir_debug() */ - /*------------------------------------------------------------------------- - * Function: H5HF_huge_bt2_filt_indir_found + * Function: H5HF__huge_bt2_filt_indir_found * * Purpose: Retrieve record for indirectly accessed, filtered 'huge' object, * when it's found in the v2 B-tree @@ -535,26 +454,17 @@ H5HF_huge_bt2_indir_debug(FILE *stream, const H5F_t UNUSED *f, hid_t UNUSED dxpl *------------------------------------------------------------------------- */ herr_t -H5HF_huge_bt2_filt_indir_found(const void *nrecord, void *op_data) +H5HF__huge_bt2_filt_indir_found(const void *nrecord, void *op_data) { - FUNC_ENTER_NOAPI_NOINIT_NOERR - -#ifdef QAK -HDfprintf(stderr, "%s: nrecord = {%a, %Hu, %x, %Hu, %Hu}\n", "H5HF_huge_bt2_filt_indir_found", - ((const H5HF_huge_bt2_filt_indir_rec_t *)nrecord)->addr, - ((const H5HF_huge_bt2_filt_indir_rec_t *)nrecord)->len, - ((const H5HF_huge_bt2_filt_indir_rec_t *)nrecord)->filter_mask, - ((const H5HF_huge_bt2_filt_indir_rec_t *)nrecord)->obj_size, - ((const H5HF_huge_bt2_filt_indir_rec_t *)nrecord)->id); -#endif /* QAK */ + FUNC_ENTER_PACKAGE_NOERR + *(H5HF_huge_bt2_filt_indir_rec_t *)op_data = *(const H5HF_huge_bt2_filt_indir_rec_t *)nrecord; FUNC_LEAVE_NOAPI(SUCCEED) -} /* H5HF_huge_bt2_filt_indir_found() */ +} /* H5HF__huge_bt2_filt_indir_found() */ - /*------------------------------------------------------------------------- - * Function: H5HF_huge_bt2_filt_indir_remove + * Function: H5HF__huge_bt2_filt_indir_remove * * Purpose: Free space for indirectly accessed, filtered 'huge' object, as * v2 B-tree is being deleted or v2 B-tree node is removed @@ -568,15 +478,17 @@ HDfprintf(stderr, "%s: nrecord = {%a, %Hu, %x, %Hu, %Hu}\n", "H5HF_huge_bt2_filt *------------------------------------------------------------------------- */ herr_t -H5HF_huge_bt2_filt_indir_remove(const void *nrecord, void *_udata) +H5HF__huge_bt2_filt_indir_remove(const void *nrecord, void *_udata) { - H5HF_huge_remove_ud1_t *udata = (H5HF_huge_remove_ud1_t *)_udata; /* User callback data */ - herr_t ret_value = SUCCEED; /* Return value */ + H5HF_huge_remove_ud_t *udata = (H5HF_huge_remove_ud_t *)_udata; /* User callback data */ + herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_PACKAGE /* Free the space in the file for the object being removed */ - if(H5MF_xfree(udata->hdr->f, H5FD_MEM_FHEAP_HUGE_OBJ, udata->dxpl_id, ((const H5HF_huge_bt2_filt_indir_rec_t *)nrecord)->addr, ((const H5HF_huge_bt2_filt_indir_rec_t *)nrecord)->len) < 0) + if (H5MF_xfree(udata->hdr->f, H5FD_MEM_FHEAP_HUGE_OBJ, + ((const H5HF_huge_bt2_filt_indir_rec_t *)nrecord)->addr, + ((const H5HF_huge_bt2_filt_indir_rec_t *)nrecord)->len) < 0) HGOTO_ERROR(H5E_HEAP, H5E_CANTFREE, FAIL, "unable to free space for huge object on disk") /* Set the length of the object removed */ @@ -584,11 +496,10 @@ H5HF_huge_bt2_filt_indir_remove(const void *nrecord, void *_udata) done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5HF_huge_bt2_filt_indir_remove() */ +} /* H5HF__huge_bt2_filt_indir_remove() */ - /*------------------------------------------------------------------------- - * Function: H5HF_huge_bt2_filt_indir_store + * Function: H5HF__huge_bt2_filt_indir_store * * Purpose: Store native information into record for v2 B-tree * @@ -601,18 +512,17 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5HF_huge_bt2_filt_indir_store(void *nrecord, const void *udata) +H5HF__huge_bt2_filt_indir_store(void *nrecord, const void *udata) { - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_PACKAGE_NOERR *(H5HF_huge_bt2_filt_indir_rec_t *)nrecord = *(const H5HF_huge_bt2_filt_indir_rec_t *)udata; FUNC_LEAVE_NOAPI(SUCCEED) -} /* H5HF_huge_bt2_filt_indir_store() */ +} /* H5HF__huge_bt2_filt_indir_store() */ - /*------------------------------------------------------------------------- - * Function: H5HF_huge_bt2_filt_indir_compare + * Function: H5HF__huge_bt2_filt_indir_compare * * Purpose: Compare two native information records, according to some key * @@ -626,25 +536,18 @@ H5HF_huge_bt2_filt_indir_store(void *nrecord, const void *udata) *------------------------------------------------------------------------- */ static herr_t -H5HF_huge_bt2_filt_indir_compare(const void *_rec1, const void *_rec2) +H5HF__huge_bt2_filt_indir_compare(const void *_rec1, const void *_rec2, int *result) { - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_PACKAGE_NOERR -#ifdef QAK -{ -const H5HF_huge_bt2_filt_indir_rec_t *rec1 = (const H5HF_huge_bt2_filt_indir_rec_t *)_rec1; -const H5HF_huge_bt2_filt_indir_rec_t *rec2 = (const H5HF_huge_bt2_filt_indir_rec_t *)_rec2; + *result = (int)(((const H5HF_huge_bt2_filt_indir_rec_t *)_rec1)->id - + ((const H5HF_huge_bt2_filt_indir_rec_t *)_rec2)->id); -HDfprintf(stderr, "%s: rec1 = {%a, %Hu, %x, %Hu, %Hu}\n", "H5HF_huge_bt2_filt_indir_compare", rec1->addr, rec1->len, rec1->filter_mask, rec1->obj_size, rec1->id); -HDfprintf(stderr, "%s: rec2 = {%a, %Hu, %x, %Hu, %Hu}\n", "H5HF_huge_bt2_filt_indir_compare", rec2->addr, rec2->len, rec2->filter_mask, rec2->obj_size, rec2->id); -} -#endif /* QAK */ - FUNC_LEAVE_NOAPI((herr_t)(((const H5HF_huge_bt2_filt_indir_rec_t *)_rec1)->id - ((const H5HF_huge_bt2_filt_indir_rec_t *)_rec2)->id)) -} /* H5HF_huge_bt2_filt_indir_compare() */ + FUNC_LEAVE_NOAPI(SUCCEED) +} /* H5HF__huge_bt2_filt_indir_compare() */ - /*------------------------------------------------------------------------- - * Function: H5HF_huge_bt2_filt_indir_encode + * Function: H5HF__huge_bt2_filt_indir_encode * * Purpose: Encode native information into raw form for storing on disk * @@ -657,12 +560,12 @@ HDfprintf(stderr, "%s: rec2 = {%a, %Hu, %x, %Hu, %Hu}\n", "H5HF_huge_bt2_filt_in *------------------------------------------------------------------------- */ static herr_t -H5HF_huge_bt2_filt_indir_encode(uint8_t *raw, const void *_nrecord, void *_ctx) +H5HF__huge_bt2_filt_indir_encode(uint8_t *raw, const void *_nrecord, void *_ctx) { - H5HF_huge_bt2_ctx_t *ctx = (H5HF_huge_bt2_ctx_t *)_ctx; /* Callback context structure */ + H5HF_huge_bt2_ctx_t *ctx = (H5HF_huge_bt2_ctx_t *)_ctx; /* Callback context structure */ const H5HF_huge_bt2_filt_indir_rec_t *nrecord = (const H5HF_huge_bt2_filt_indir_rec_t *)_nrecord; - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_PACKAGE_NOERR /* Sanity check */ HDassert(ctx); @@ -675,11 +578,10 @@ H5HF_huge_bt2_filt_indir_encode(uint8_t *raw, const void *_nrecord, void *_ctx) H5F_ENCODE_LENGTH_LEN(raw, nrecord->id, ctx->sizeof_size); FUNC_LEAVE_NOAPI(SUCCEED) -} /* H5HF_huge_bt2_filt_indir_encode() */ +} /* H5HF__huge_bt2_filt_indir_encode() */ - /*------------------------------------------------------------------------- - * Function: H5HF_huge_bt2_filt_indir_decode + * Function: H5HF__huge_bt2_filt_indir_decode * * Purpose: Decode raw disk form of record into native form * @@ -692,12 +594,12 @@ H5HF_huge_bt2_filt_indir_encode(uint8_t *raw, const void *_nrecord, void *_ctx) *------------------------------------------------------------------------- */ static herr_t -H5HF_huge_bt2_filt_indir_decode(const uint8_t *raw, void *_nrecord, void *_ctx) +H5HF__huge_bt2_filt_indir_decode(const uint8_t *raw, void *_nrecord, void *_ctx) { - H5HF_huge_bt2_ctx_t *ctx = (H5HF_huge_bt2_ctx_t *)_ctx; /* Callback context structure */ + H5HF_huge_bt2_ctx_t *ctx = (H5HF_huge_bt2_ctx_t *)_ctx; /* Callback context structure */ H5HF_huge_bt2_filt_indir_rec_t *nrecord = (H5HF_huge_bt2_filt_indir_rec_t *)_nrecord; - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_PACKAGE_NOERR /* Sanity check */ HDassert(ctx); @@ -710,11 +612,10 @@ H5HF_huge_bt2_filt_indir_decode(const uint8_t *raw, void *_nrecord, void *_ctx) H5F_DECODE_LENGTH_LEN(raw, nrecord->id, ctx->sizeof_size); FUNC_LEAVE_NOAPI(SUCCEED) -} /* H5HF_huge_bt2_filt_indir_decode() */ +} /* H5HF__huge_bt2_filt_indir_decode() */ - /*------------------------------------------------------------------------- - * Function: H5HF_huge_bt2_filt_indir_debug + * Function: H5HF__huge_bt2_filt_indir_debug * * Purpose: Debug native form of record * @@ -727,23 +628,22 @@ H5HF_huge_bt2_filt_indir_decode(const uint8_t *raw, void *_nrecord, void *_ctx) *------------------------------------------------------------------------- */ static herr_t -H5HF_huge_bt2_filt_indir_debug(FILE *stream, const H5F_t UNUSED *f, hid_t UNUSED dxpl_id, - int indent, int fwidth, const void *_nrecord, - const void UNUSED *_udata) +H5HF__huge_bt2_filt_indir_debug(FILE *stream, int indent, int fwidth, const void *_nrecord, + const void H5_ATTR_UNUSED *_udata) { const H5HF_huge_bt2_filt_indir_rec_t *nrecord = (const H5HF_huge_bt2_filt_indir_rec_t *)_nrecord; - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_PACKAGE_NOERR - HDfprintf(stream, "%*s%-*s {%a, %Hu, %x, %Hu, %Hu}\n", indent, "", fwidth, "Record:", - nrecord->addr, nrecord->len, nrecord->filter_mask, nrecord->obj_size, nrecord->id); + HDfprintf(stream, "%*s%-*s {%" PRIuHADDR ", %" PRIuHSIZE ", %x, %" PRIuHSIZE ", %" PRIuHSIZE "}\n", + indent, "", fwidth, "Record:", nrecord->addr, nrecord->len, nrecord->filter_mask, + nrecord->obj_size, nrecord->id); FUNC_LEAVE_NOAPI(SUCCEED) -} /* H5HF_huge_bt2_filt_indir_debug() */ +} /* H5HF__huge_bt2_filt_indir_debug() */ - /*------------------------------------------------------------------------- - * Function: H5HF_huge_bt2_dir_remove + * Function: H5HF__huge_bt2_dir_remove * * Purpose: Free space for directly accessed 'huge' object, as v2 B-tree * is being deleted or v2 B-tree node is being removed @@ -757,15 +657,16 @@ H5HF_huge_bt2_filt_indir_debug(FILE *stream, const H5F_t UNUSED *f, hid_t UNUSED *------------------------------------------------------------------------- */ herr_t -H5HF_huge_bt2_dir_remove(const void *nrecord, void *_udata) +H5HF__huge_bt2_dir_remove(const void *nrecord, void *_udata) { - H5HF_huge_remove_ud1_t *udata = (H5HF_huge_remove_ud1_t *)_udata; /* User callback data */ - herr_t ret_value = SUCCEED; /* Return value */ + H5HF_huge_remove_ud_t *udata = (H5HF_huge_remove_ud_t *)_udata; /* User callback data */ + herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_PACKAGE /* Free the space in the file for the object being removed */ - if(H5MF_xfree(udata->hdr->f, H5FD_MEM_FHEAP_HUGE_OBJ, udata->dxpl_id, ((const H5HF_huge_bt2_indir_rec_t *)nrecord)->addr, ((const H5HF_huge_bt2_indir_rec_t *)nrecord)->len) < 0) + if (H5MF_xfree(udata->hdr->f, H5FD_MEM_FHEAP_HUGE_OBJ, ((const H5HF_huge_bt2_indir_rec_t *)nrecord)->addr, + ((const H5HF_huge_bt2_indir_rec_t *)nrecord)->len) < 0) HGOTO_ERROR(H5E_HEAP, H5E_CANTFREE, FAIL, "unable to free space for huge object on disk") /* Set the length of the object removed */ @@ -773,11 +674,10 @@ H5HF_huge_bt2_dir_remove(const void *nrecord, void *_udata) done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5HF_huge_bt2_dir_remove() */ +} /* H5HF__huge_bt2_dir_remove() */ - /*------------------------------------------------------------------------- - * Function: H5HF_huge_bt2_dir_store + * Function: H5HF__huge_bt2_dir_store * * Purpose: Store native information into record for v2 B-tree * @@ -790,18 +690,17 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5HF_huge_bt2_dir_store(void *nrecord, const void *udata) +H5HF__huge_bt2_dir_store(void *nrecord, const void *udata) { - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_PACKAGE_NOERR *(H5HF_huge_bt2_dir_rec_t *)nrecord = *(const H5HF_huge_bt2_dir_rec_t *)udata; FUNC_LEAVE_NOAPI(SUCCEED) -} /* H5HF_huge_bt2_dir_store() */ +} /* H5HF__huge_bt2_dir_store() */ - /*------------------------------------------------------------------------- - * Function: H5HF_huge_bt2_dir_compare + * Function: H5HF__huge_bt2_dir_compare * * Purpose: Compare two native information records, according to some key * @@ -815,35 +714,29 @@ H5HF_huge_bt2_dir_store(void *nrecord, const void *udata) *------------------------------------------------------------------------- */ static herr_t -H5HF_huge_bt2_dir_compare(const void *_rec1, const void *_rec2) +H5HF__huge_bt2_dir_compare(const void *_rec1, const void *_rec2, int *result) { const H5HF_huge_bt2_dir_rec_t *rec1 = (const H5HF_huge_bt2_dir_rec_t *)_rec1; const H5HF_huge_bt2_dir_rec_t *rec2 = (const H5HF_huge_bt2_dir_rec_t *)_rec2; - herr_t ret_value; /* Return value */ - - FUNC_ENTER_NOAPI_NOINIT_NOERR - -#ifdef QAK -HDfprintf(stderr, "%s: rec1 = {%a, %Hu}\n", "H5HF_huge_bt2_dir_compare", rec1->addr, rec1->len); -HDfprintf(stderr, "%s: rec2 = {%a, %Hu}\n", "H5HF_huge_bt2_dir_compare", rec2->addr, rec2->len); -#endif /* QAK */ - if(rec1->addr < rec2->addr) - ret_value = -1; - else if(rec1->addr > rec2->addr) - ret_value = 1; - else if(rec1->len < rec2->len) - ret_value = -1; - else if(rec1->len > rec2->len) - ret_value = 1; + + FUNC_ENTER_PACKAGE_NOERR + + if (rec1->addr < rec2->addr) + *result = -1; + else if (rec1->addr > rec2->addr) + *result = 1; + else if (rec1->len < rec2->len) + *result = -1; + else if (rec1->len > rec2->len) + *result = 1; else - ret_value = 0; + *result = 0; - FUNC_LEAVE_NOAPI(ret_value) -} /* H5HF_huge_bt2_dir_compare() */ + FUNC_LEAVE_NOAPI(SUCCEED) +} /* H5HF__huge_bt2_dir_compare() */ - /*------------------------------------------------------------------------- - * Function: H5HF_huge_bt2_dir_encode + * Function: H5HF__huge_bt2_dir_encode * * Purpose: Encode native information into raw form for storing on disk * @@ -856,12 +749,12 @@ HDfprintf(stderr, "%s: rec2 = {%a, %Hu}\n", "H5HF_huge_bt2_dir_compare", rec2->a *------------------------------------------------------------------------- */ static herr_t -H5HF_huge_bt2_dir_encode(uint8_t *raw, const void *_nrecord, void *_ctx) +H5HF__huge_bt2_dir_encode(uint8_t *raw, const void *_nrecord, void *_ctx) { - H5HF_huge_bt2_ctx_t *ctx = (H5HF_huge_bt2_ctx_t *)_ctx; /* Callback context structure */ + H5HF_huge_bt2_ctx_t *ctx = (H5HF_huge_bt2_ctx_t *)_ctx; /* Callback context structure */ const H5HF_huge_bt2_dir_rec_t *nrecord = (const H5HF_huge_bt2_dir_rec_t *)_nrecord; - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_PACKAGE_NOERR /* Sanity check */ HDassert(ctx); @@ -871,11 +764,10 @@ H5HF_huge_bt2_dir_encode(uint8_t *raw, const void *_nrecord, void *_ctx) H5F_ENCODE_LENGTH_LEN(raw, nrecord->len, ctx->sizeof_size); FUNC_LEAVE_NOAPI(SUCCEED) -} /* H5HF_huge_bt2_dir_encode() */ +} /* H5HF__huge_bt2_dir_encode() */ - /*------------------------------------------------------------------------- - * Function: H5HF_huge_bt2_dir_decode + * Function: H5HF__huge_bt2_dir_decode * * Purpose: Decode raw disk form of record into native form * @@ -888,12 +780,12 @@ H5HF_huge_bt2_dir_encode(uint8_t *raw, const void *_nrecord, void *_ctx) *------------------------------------------------------------------------- */ static herr_t -H5HF_huge_bt2_dir_decode(const uint8_t *raw, void *_nrecord, void *_ctx) +H5HF__huge_bt2_dir_decode(const uint8_t *raw, void *_nrecord, void *_ctx) { - H5HF_huge_bt2_ctx_t *ctx = (H5HF_huge_bt2_ctx_t *)_ctx; /* Callback context structure */ + H5HF_huge_bt2_ctx_t *ctx = (H5HF_huge_bt2_ctx_t *)_ctx; /* Callback context structure */ H5HF_huge_bt2_dir_rec_t *nrecord = (H5HF_huge_bt2_dir_rec_t *)_nrecord; - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_PACKAGE_NOERR /* Sanity check */ HDassert(ctx); @@ -903,11 +795,10 @@ H5HF_huge_bt2_dir_decode(const uint8_t *raw, void *_nrecord, void *_ctx) H5F_DECODE_LENGTH_LEN(raw, nrecord->len, ctx->sizeof_size); FUNC_LEAVE_NOAPI(SUCCEED) -} /* H5HF_huge_bt2_dir_decode() */ +} /* H5HF__huge_bt2_dir_decode() */ - /*------------------------------------------------------------------------- - * Function: H5HF_huge_bt2_dir_debug + * Function: H5HF__huge_bt2_dir_debug * * Purpose: Debug native form of record * @@ -920,23 +811,21 @@ H5HF_huge_bt2_dir_decode(const uint8_t *raw, void *_nrecord, void *_ctx) *------------------------------------------------------------------------- */ static herr_t -H5HF_huge_bt2_dir_debug(FILE *stream, const H5F_t UNUSED *f, hid_t UNUSED dxpl_id, - int indent, int fwidth, const void *_nrecord, - const void UNUSED *_udata) +H5HF__huge_bt2_dir_debug(FILE *stream, int indent, int fwidth, const void *_nrecord, + const void H5_ATTR_UNUSED *_udata) { const H5HF_huge_bt2_dir_rec_t *nrecord = (const H5HF_huge_bt2_dir_rec_t *)_nrecord; - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_PACKAGE_NOERR - HDfprintf(stream, "%*s%-*s {%a, %Hu}\n", indent, "", fwidth, "Record:", - nrecord->addr, nrecord->len); + HDfprintf(stream, "%*s%-*s {%" PRIuHADDR ", %" PRIuHSIZE "}\n", indent, "", fwidth, + "Record:", nrecord->addr, nrecord->len); FUNC_LEAVE_NOAPI(SUCCEED) -} /* H5HF_huge_bt2_dir_debug() */ +} /* H5HF__huge_bt2_dir_debug() */ - /*------------------------------------------------------------------------- - * Function: H5HF_huge_bt2_filt_dir_found + * Function: H5HF__huge_bt2_filt_dir_found * * Purpose: Retrieve record for directly accessed, filtered 'huge' object, * when it's found in the v2 B-tree @@ -950,25 +839,17 @@ H5HF_huge_bt2_dir_debug(FILE *stream, const H5F_t UNUSED *f, hid_t UNUSED dxpl_i *------------------------------------------------------------------------- */ herr_t -H5HF_huge_bt2_filt_dir_found(const void *nrecord, void *op_data) +H5HF__huge_bt2_filt_dir_found(const void *nrecord, void *op_data) { - FUNC_ENTER_NOAPI_NOINIT_NOERR - -#ifdef QAK -HDfprintf(stderr, "%s: nrecord = {%a, %Hu, %x, %Hu}\n", "H5HF_huge_bt2_filt_dir_found", - ((const H5HF_huge_bt2_filt_dir_rec_t *)nrecord)->addr, - ((const H5HF_huge_bt2_filt_dir_rec_t *)nrecord)->len, - ((const H5HF_huge_bt2_filt_dir_rec_t *)nrecord)->filter_mask, - ((const H5HF_huge_bt2_filt_dir_rec_t *)nrecord)->obj_size); -#endif /* QAK */ + FUNC_ENTER_PACKAGE_NOERR + *(H5HF_huge_bt2_filt_dir_rec_t *)op_data = *(const H5HF_huge_bt2_filt_dir_rec_t *)nrecord; FUNC_LEAVE_NOAPI(SUCCEED) -} /* H5HF_huge_bt2_filt_dir_found() */ +} /* H5HF__huge_bt2_filt_dir_found() */ - /*------------------------------------------------------------------------- - * Function: H5HF_huge_bt2_filt_dir_remove + * Function: H5HF__huge_bt2_filt_dir_remove * * Purpose: Free space for directly accessed, filtered 'huge' object, as * v2 B-tree is being deleted or v2 B-tree node is removed @@ -982,15 +863,17 @@ HDfprintf(stderr, "%s: nrecord = {%a, %Hu, %x, %Hu}\n", "H5HF_huge_bt2_filt_dir_ *------------------------------------------------------------------------- */ herr_t -H5HF_huge_bt2_filt_dir_remove(const void *nrecord, void *_udata) +H5HF__huge_bt2_filt_dir_remove(const void *nrecord, void *_udata) { - H5HF_huge_remove_ud1_t *udata = (H5HF_huge_remove_ud1_t *)_udata; /* User callback data */ - herr_t ret_value = SUCCEED; /* Return value */ + H5HF_huge_remove_ud_t *udata = (H5HF_huge_remove_ud_t *)_udata; /* User callback data */ + herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_PACKAGE /* Free the space in the file for the object being removed */ - if(H5MF_xfree(udata->hdr->f, H5FD_MEM_FHEAP_HUGE_OBJ, udata->dxpl_id, ((const H5HF_huge_bt2_filt_dir_rec_t *)nrecord)->addr, ((const H5HF_huge_bt2_filt_dir_rec_t *)nrecord)->len) < 0) + if (H5MF_xfree(udata->hdr->f, H5FD_MEM_FHEAP_HUGE_OBJ, + ((const H5HF_huge_bt2_filt_dir_rec_t *)nrecord)->addr, + ((const H5HF_huge_bt2_filt_dir_rec_t *)nrecord)->len) < 0) HGOTO_ERROR(H5E_HEAP, H5E_CANTFREE, FAIL, "unable to free space for huge object on disk") /* Set the length of the object removed */ @@ -998,11 +881,10 @@ H5HF_huge_bt2_filt_dir_remove(const void *nrecord, void *_udata) done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5HF_huge_bt2_filt_dir_remove() */ +} /* H5HF__huge_bt2_filt_dir_remove() */ - /*------------------------------------------------------------------------- - * Function: H5HF_huge_bt2_filt_dir_store + * Function: H5HF__huge_bt2_filt_dir_store * * Purpose: Store native information into record for v2 B-tree * @@ -1015,18 +897,17 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5HF_huge_bt2_filt_dir_store(void *nrecord, const void *udata) +H5HF__huge_bt2_filt_dir_store(void *nrecord, const void *udata) { - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_PACKAGE_NOERR *(H5HF_huge_bt2_filt_dir_rec_t *)nrecord = *(const H5HF_huge_bt2_filt_dir_rec_t *)udata; FUNC_LEAVE_NOAPI(SUCCEED) -} /* H5HF_huge_bt2_filt_dir_store() */ +} /* H5HF__huge_bt2_filt_dir_store() */ - /*------------------------------------------------------------------------- - * Function: H5HF_huge_bt2_filt_dir_compare + * Function: H5HF__huge_bt2_filt_dir_compare * * Purpose: Compare two native information records, according to some key * @@ -1040,35 +921,29 @@ H5HF_huge_bt2_filt_dir_store(void *nrecord, const void *udata) *------------------------------------------------------------------------- */ static herr_t -H5HF_huge_bt2_filt_dir_compare(const void *_rec1, const void *_rec2) +H5HF__huge_bt2_filt_dir_compare(const void *_rec1, const void *_rec2, int *result) { const H5HF_huge_bt2_filt_dir_rec_t *rec1 = (const H5HF_huge_bt2_filt_dir_rec_t *)_rec1; const H5HF_huge_bt2_filt_dir_rec_t *rec2 = (const H5HF_huge_bt2_filt_dir_rec_t *)_rec2; - herr_t ret_value; /* Return value */ - - FUNC_ENTER_NOAPI_NOINIT_NOERR - -#ifdef QAK -HDfprintf(stderr, "%s: rec1 = {%a, %Hu, %x, %Hu}\n", "H5HF_huge_bt2_filt_dir_compare", rec1->addr, rec1->len, rec1->filter_mask, rec1->obj_size); -HDfprintf(stderr, "%s: rec2 = {%a, %Hu, %x, %Hu}\n", "H5HF_huge_bt2_filt_dir_compare", rec2->addr, rec2->len, rec2->filter_mask, rec2->obj_size); -#endif /* QAK */ - if(rec1->addr < rec2->addr) - ret_value = -1; - else if(rec1->addr > rec2->addr) - ret_value = 1; - else if(rec1->len < rec2->len) - ret_value = -1; - else if(rec1->len > rec2->len) - ret_value = 1; + + FUNC_ENTER_PACKAGE_NOERR + + if (rec1->addr < rec2->addr) + *result = -1; + else if (rec1->addr > rec2->addr) + *result = 1; + else if (rec1->len < rec2->len) + *result = -1; + else if (rec1->len > rec2->len) + *result = 1; else - ret_value = 0; + *result = 0; - FUNC_LEAVE_NOAPI(ret_value) -} /* H5HF_huge_bt2_filt_dir_compare() */ + FUNC_LEAVE_NOAPI(SUCCEED) +} /* H5HF__huge_bt2_filt_dir_compare() */ - /*------------------------------------------------------------------------- - * Function: H5HF_huge_bt2_filt_dir_encode + * Function: H5HF__huge_bt2_filt_dir_encode * * Purpose: Encode native information into raw form for storing on disk * @@ -1081,12 +956,12 @@ HDfprintf(stderr, "%s: rec2 = {%a, %Hu, %x, %Hu}\n", "H5HF_huge_bt2_filt_dir_com *------------------------------------------------------------------------- */ static herr_t -H5HF_huge_bt2_filt_dir_encode(uint8_t *raw, const void *_nrecord, void *_ctx) +H5HF__huge_bt2_filt_dir_encode(uint8_t *raw, const void *_nrecord, void *_ctx) { - H5HF_huge_bt2_ctx_t *ctx = (H5HF_huge_bt2_ctx_t *)_ctx; /* Callback context structure */ + H5HF_huge_bt2_ctx_t *ctx = (H5HF_huge_bt2_ctx_t *)_ctx; /* Callback context structure */ const H5HF_huge_bt2_filt_dir_rec_t *nrecord = (const H5HF_huge_bt2_filt_dir_rec_t *)_nrecord; - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_PACKAGE_NOERR /* Sanity check */ HDassert(ctx); @@ -1098,11 +973,10 @@ H5HF_huge_bt2_filt_dir_encode(uint8_t *raw, const void *_nrecord, void *_ctx) H5F_ENCODE_LENGTH_LEN(raw, nrecord->obj_size, ctx->sizeof_size); FUNC_LEAVE_NOAPI(SUCCEED) -} /* H5HF_huge_bt2_filt_dir_encode() */ +} /* H5HF__huge_bt2_filt_dir_encode() */ - /*------------------------------------------------------------------------- - * Function: H5HF_huge_bt2_filt_dir_decode + * Function: H5HF__huge_bt2_filt_dir_decode * * Purpose: Decode raw disk form of record into native form * @@ -1115,12 +989,12 @@ H5HF_huge_bt2_filt_dir_encode(uint8_t *raw, const void *_nrecord, void *_ctx) *------------------------------------------------------------------------- */ static herr_t -H5HF_huge_bt2_filt_dir_decode(const uint8_t *raw, void *_nrecord, void *_ctx) +H5HF__huge_bt2_filt_dir_decode(const uint8_t *raw, void *_nrecord, void *_ctx) { - H5HF_huge_bt2_ctx_t *ctx = (H5HF_huge_bt2_ctx_t *)_ctx; /* Callback context structure */ + H5HF_huge_bt2_ctx_t *ctx = (H5HF_huge_bt2_ctx_t *)_ctx; /* Callback context structure */ H5HF_huge_bt2_filt_dir_rec_t *nrecord = (H5HF_huge_bt2_filt_dir_rec_t *)_nrecord; - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_PACKAGE_NOERR /* Sanity check */ HDassert(ctx); @@ -1132,11 +1006,10 @@ H5HF_huge_bt2_filt_dir_decode(const uint8_t *raw, void *_nrecord, void *_ctx) H5F_DECODE_LENGTH_LEN(raw, nrecord->obj_size, ctx->sizeof_size); FUNC_LEAVE_NOAPI(SUCCEED) -} /* H5HF_huge_bt2_filt_dir_decode() */ +} /* H5HF__huge_bt2_filt_dir_decode() */ - /*------------------------------------------------------------------------- - * Function: H5HF_huge_bt2_filt_dir_debug + * Function: H5HF__huge_bt2_filt_dir_debug * * Purpose: Debug native form of record * @@ -1149,16 +1022,15 @@ H5HF_huge_bt2_filt_dir_decode(const uint8_t *raw, void *_nrecord, void *_ctx) *------------------------------------------------------------------------- */ static herr_t -H5HF_huge_bt2_filt_dir_debug(FILE *stream, const H5F_t UNUSED *f, hid_t UNUSED dxpl_id, - int indent, int fwidth, const void *_nrecord, const void UNUSED *_udata) +H5HF__huge_bt2_filt_dir_debug(FILE *stream, int indent, int fwidth, const void *_nrecord, + const void H5_ATTR_UNUSED *_udata) { const H5HF_huge_bt2_filt_dir_rec_t *nrecord = (const H5HF_huge_bt2_filt_dir_rec_t *)_nrecord; - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_PACKAGE_NOERR - HDfprintf(stream, "%*s%-*s {%a, %Hu, %x, %Hu}\n", indent, "", fwidth, "Record:", - nrecord->addr, nrecord->len, nrecord->filter_mask, nrecord->obj_size); + HDfprintf(stream, "%*s%-*s {%" PRIuHADDR ", %" PRIuHSIZE ", %x, %" PRIuHSIZE "}\n", indent, "", fwidth, + "Record:", nrecord->addr, nrecord->len, nrecord->filter_mask, nrecord->obj_size); FUNC_LEAVE_NOAPI(SUCCEED) -} /* H5HF_huge_bt2_filt_dir_debug() */ - +} /* H5HF__huge_bt2_filt_dir_debug() */ |
