1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
2  * Copyright by The HDF Group.                                               *
3  * Copyright by the Board of Trustees of the University of Illinois.         *
4  * All rights reserved.                                                      *
5  *                                                                           *
6  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
7  * terms governing use, modification, and redistribution, is contained in    *
8  * the COPYING file, which can be found at the root of the source code       *
9  * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.  *
10  * If you do not have access to either file, you may request a copy from     *
11  * help@hdfgroup.org.                                                        *
12  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
13 
14 /*
15  * This file contains private information about the H5RS module
16  */
17 #ifndef _H5RSprivate_H
18 #define _H5RSprivate_H
19 
20 /**************************************/
21 /* Public headers needed by this file */
22 /**************************************/
23 #ifdef LATER
24 #include "H5RSpublic.h"
25 #endif /* LATER */
26 
27 /***************************************/
28 /* Private headers needed by this file */
29 /***************************************/
30 #include "H5private.h"
31 
32 /************/
33 /* Typedefs */
34 /************/
35 
36 /* Typedef for reference counted string (defined in H5RS.c) */
37 typedef struct H5RS_str_t H5RS_str_t;
38 
39 /**********/
40 /* Macros */
41 /**********/
42 
43 /********************/
44 /* Private routines */
45 /********************/
46 H5_DLL H5RS_str_t *H5RS_create(const char *s);
47 H5_DLL H5RS_str_t *H5RS_wrap(const char *s);
48 H5_DLL H5RS_str_t *H5RS_own(char *s);
49 H5_DLL herr_t H5RS_decr(H5RS_str_t *rs);
50 H5_DLL herr_t H5RS_incr(H5RS_str_t *rs);
51 H5_DLL H5RS_str_t *H5RS_dup(H5RS_str_t *s);
52 H5_DLL H5RS_str_t *H5RS_dup_str(const char *s);
53 H5_DLL int H5RS_cmp(const H5RS_str_t *rs1, const H5RS_str_t *rs2);
54 H5_DLL ssize_t H5RS_len(const H5RS_str_t *rs);
55 H5_DLL char *H5RS_get_str(const H5RS_str_t *rs);
56 H5_DLL unsigned H5RS_get_count(const H5RS_str_t *rs);
57 
58 #endif /* _H5RSprivate_H */
59 
60