00001 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00002 * Copyright by The HDF Group. * 00003 * Copyright by the Board of Trustees of the University of Illinois. * 00004 * All rights reserved. * 00005 * * 00006 * This file is part of HDF5. The full HDF5 copyright notice, including * 00007 * terms governing use, modification, and redistribution, is contained in * 00008 * the files COPYING and Copyright.html. COPYING can be found at the root * 00009 * of the source code distribution tree; Copyright.html can be found at the * 00010 * root level of an installed copy of the electronic HDF5 document set and * 00011 * is linked from the top-level documents page. It can also be found at * 00012 * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * 00013 * access to either file, you may request a copy from help@hdfgroup.org. * 00014 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 00015 00016 /* 00017 * Programmer: Robb Matzke <matzke@llnl.gov> 00018 * Friday, March 27, 1998 00019 */ 00020 #ifndef _H5HGprivate_H 00021 #define _H5HGprivate_H 00022 00023 /* Include package's public header */ 00024 #include "H5HGpublic.h" 00025 00026 /* Private headers needed by this file. */ 00027 #include "H5Fprivate.h" /* File access */ 00028 00029 /* Information to locate object in global heap */ 00030 typedef struct H5HG_t { 00031 haddr_t addr; /*address of collection */ 00032 size_t idx; /*object ID within collection */ 00033 } H5HG_t; 00034 00035 /* Typedef for heap in memory (defined in H5HGpkg.h) */ 00036 typedef struct H5HG_heap_t H5HG_heap_t; 00037 00038 H5_DLL herr_t H5HG_insert(H5F_t *f, hid_t dxpl_id, size_t size, void *obj, 00039 H5HG_t *hobj/*out*/); 00040 H5_DLL void *H5HG_read(H5F_t *f, hid_t dxpl_id, H5HG_t *hobj, void *object, size_t *buf_size/*out*/); 00041 H5_DLL int H5HG_link(H5F_t *f, hid_t dxpl_id, const H5HG_t *hobj, int adjust); 00042 H5_DLL herr_t H5HG_remove(H5F_t *f, hid_t dxpl_id, H5HG_t *hobj); 00043 00044 /* Debugging functions */ 00045 H5_DLL herr_t H5HG_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE *stream, int indent, 00046 int fwidth); 00047 00048 #endif