summaryrefslogtreecommitdiffstats
path: root/src/H5HFbtree2.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5HFbtree2.c')
-rw-r--r--src/H5HFbtree2.c698
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() */