H5_DLL herr_t H5T_vlen_reclaim(void *elem, hid_t type_id, unsigned ndim, const hsize_t *point, void *_op_data);
 
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * 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.     *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*
 * This file contains private information about the H5T module
 */
#ifndef _H5Tprivate_H
#define _H5Tprivate_H
/* Get package's public header */
#include "H5Tpublic.h"
/* Other public headers needed by this file */
#include "H5MMpublic.h"         /* Memory management                    */
/* Private headers needed by this file */
#include "H5private.h"      /* Generic Functions            */
#include "H5Gprivate.h"     /* Groups               */
#include "H5Rprivate.h"     /* References               */
/* Macro for size of temporary buffers to contain a single element */
#define H5T_ELEM_BUF_SIZE       256
/* If the module using this macro is allowed access to the private variables, access them directly */
#ifdef H5T_MODULE
#define H5T_GET_SIZE(T)                 ((T)->shared->size)
#define H5T_GET_SHARED(T)               ((T)->shared)
#define H5T_GET_MEMBER_OFFSET(T, I)     ((T)->u.compnd.memb[I].offset)
#define H5T_GET_MEMBER_SIZE(T, I)       ((T)->u.compnd.memb[I].shared->size)
#else /* H5T_MODULE */
#define H5T_GET_SIZE(T)                 (H5T_get_size(T))
#define H5T_GET_SHARED(T)               (H5T_get_shared(T))
#define H5T_GET_MEMBER_OFFSET(T, I)     (H5T_get_member_offset((T), (I)))
#define H5T_GET_MEMBER_SIZE(T, I)       (H5T_get_member_size((T), (I)))
#endif /* H5T_MODULE */
/* Forward references of package typedefs (declared in H5Tpkg.h) */
typedef struct H5T_t H5T_t;
typedef struct H5T_stats_t H5T_stats_t;