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 * This file contains private information about the H5RS module 00018 */ 00019 #ifndef _H5RSprivate_H 00020 #define _H5RSprivate_H 00021 00022 /**************************************/ 00023 /* Public headers needed by this file */ 00024 /**************************************/ 00025 #ifdef LATER 00026 #include "H5RSpublic.h" 00027 #endif /* LATER */ 00028 00029 /***************************************/ 00030 /* Private headers needed by this file */ 00031 /***************************************/ 00032 #include "H5private.h" 00033 00034 /************/ 00035 /* Typedefs */ 00036 /************/ 00037 00038 /* Typedef for reference counted string (defined in H5RS.c) */ 00039 typedef struct H5RS_str_t H5RS_str_t; 00040 00041 /**********/ 00042 /* Macros */ 00043 /**********/ 00044 00045 /********************/ 00046 /* Private routines */ 00047 /********************/ 00048 H5_DLL H5RS_str_t *H5RS_create(const char *s); 00049 H5_DLL H5RS_str_t *H5RS_wrap(const char *s); 00050 H5_DLL H5RS_str_t *H5RS_own(char *s); 00051 H5_DLL herr_t H5RS_decr(H5RS_str_t *rs); 00052 H5_DLL herr_t H5RS_incr(H5RS_str_t *rs); 00053 H5_DLL H5RS_str_t *H5RS_dup(H5RS_str_t *s); 00054 H5_DLL H5RS_str_t *H5RS_dup_str(const char *s); 00055 H5_DLL int H5RS_cmp(const H5RS_str_t *rs1, const H5RS_str_t *rs2); 00056 H5_DLL ssize_t H5RS_len(const H5RS_str_t *rs); 00057 H5_DLL char *H5RS_get_str(const H5RS_str_t *rs); 00058 H5_DLL unsigned H5RS_get_count(const H5RS_str_t *rs); 00059 00060 #endif /* _H5RSprivate_H */ 00061