diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2003-07-09 18:00:43 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2003-07-09 18:00:43 (GMT) |
commit | 839de1e367efcc7d56cc71ff96a5e7cee8507f16 (patch) | |
tree | a4f4a5a2eb979517f42580fda9c011b3f535389e /src/H5HLpkg.h | |
parent | 2bbf08c3fc35ca5d60a7618c73069af3e7476e85 (diff) | |
download | hdf5-839de1e367efcc7d56cc71ff96a5e7cee8507f16.zip hdf5-839de1e367efcc7d56cc71ff96a5e7cee8507f16.tar.gz hdf5-839de1e367efcc7d56cc71ff96a5e7cee8507f16.tar.bz2 |
[svn-r7189] Purpose:
Code cleanup
Description:
Break some of the "debugging" routines into their own module, so they
aren't pulled into every executable, which certainly isn't going to use them.
Platforms tested:
h5committested
Diffstat (limited to 'src/H5HLpkg.h')
-rw-r--r-- | src/H5HLpkg.h | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/src/H5HLpkg.h b/src/H5HLpkg.h new file mode 100644 index 0000000..0b52c5f --- /dev/null +++ b/src/H5HLpkg.h @@ -0,0 +1,79 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * 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://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +/* + * Programmer: Quincey Koziol <koziol@ncsa.uiuc.edu> + * Wednesday, July 9, 2003 + * + * Purpose: This file contains declarations which are visible + * only within the H5HL package. Source files outside the + * H5HL package should include H5HLprivate.h instead. + */ +#ifndef H5HL_PACKAGE +#error "Do not include this file outside the H5HL package!" +#endif + +#ifndef _H5HLpkg_H +#define _H5HLpkg_H + +/* Get package's private header */ +#include "H5HLprivate.h" + +/* Other private headers needed by this file */ + +/*****************************/ +/* Package Private Variables */ +/*****************************/ + +/* The cache subclass */ +H5_DLLVAR const H5AC_class_t H5AC_LHEAP[1]; + +/**************************/ +/* Package Private Macros */ +/**************************/ + +#define H5HL_SIZEOF_HDR(F) \ + H5HL_ALIGN(H5HL_SIZEOF_MAGIC + /*heap signature */ \ + 4 + /*reserved */ \ + H5F_SIZEOF_SIZE (F) + /*data size */ \ + H5F_SIZEOF_SIZE (F) + /*free list head */ \ + H5F_SIZEOF_ADDR (F)) /*data address */ + +/****************************/ +/* Package Private Typedefs */ +/****************************/ + +typedef struct H5HL_free_t { + size_t offset; /*offset of free block */ + size_t size; /*size of free block */ + struct H5HL_free_t *prev; /*previous entry in free list */ + struct H5HL_free_t *next; /*next entry in free list */ +} H5HL_free_t; + +typedef struct H5HL_t { + H5AC_info_t cache_info; /* Information for H5AC cache functions, _must_ be */ + /* first field in structure */ + haddr_t addr; /*address of data */ + size_t disk_alloc; /*data bytes allocated on disk */ + size_t mem_alloc; /*data bytes allocated in mem */ + uint8_t *chunk; /*the chunk, including header */ + H5HL_free_t *freelist; /*the free list */ +} H5HL_t; +/******************************/ +/* Package Private Prototypes */ +/******************************/ + +#endif + + |