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 * Header file for function stacks, etc. 00018 */ 00019 #ifndef _H5CSprivate_H 00020 #define _H5CSprivate_H 00021 00022 #ifdef NOT_YET 00023 #include "H5CSpublic.h" 00024 #endif /* NOT_YET */ 00025 00026 /* Private headers needed by this file */ 00027 #include "H5private.h" 00028 00029 #define H5CS_NSLOTS 48 /*number of slots in an function stack */ 00030 00031 /* A function stack */ 00032 typedef struct H5CS_t { 00033 unsigned nused; /*num slots currently used in stack */ 00034 const char *slot[H5CS_NSLOTS]; /*array of function records */ 00035 } H5CS_t; 00036 00037 H5_DLL herr_t H5CS_push (const char *func_name); 00038 H5_DLL herr_t H5CS_pop (void); 00039 H5_DLL herr_t H5CS_print (FILE *stream); 00040 H5_DLL herr_t H5CS_print_stack (const H5CS_t *stack, FILE *stream); 00041 H5_DLL herr_t H5CS_copy_stack (H5CS_t *stack); 00042 H5_DLL herr_t H5CS_close_stack (H5CS_t *stack); 00043 00044 #endif /* _H5CSprivate_H */