00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 #ifndef H5TOOLS_STR_H__
00021 #define H5TOOLS_STR_H__
00022 
00023 typedef struct h5tools_str_t {
00024     char    *s;     
00025     size_t  len;        
00026     size_t  nalloc;     
00027 } h5tools_str_t;
00028 
00029 extern void     h5tools_str_close(h5tools_str_t *str);
00030 extern size_t   h5tools_str_len(h5tools_str_t *str);
00031 extern char    *h5tools_str_append(h5tools_str_t *str, const char *fmt, ...);
00032 extern char    *h5tools_str_reset(h5tools_str_t *str);
00033 extern char    *h5tools_str_trunc(h5tools_str_t *str, size_t size);
00034 extern char    *h5tools_str_fmt(h5tools_str_t *str, size_t start, const char *fmt);
00035 extern char    *h5tools_str_prefix(h5tools_str_t *str, const h5tool_format_t *info,
00036                                    hsize_t elmtno, unsigned ndims, hsize_t min_idx[],
00037                                    hsize_t max_idx[], h5tools_context_t *ctx);
00038 
00039 
00040 
00041 extern char    *h5tools_str_region_prefix(h5tools_str_t *str, const h5tool_format_t *info,
00042                                    hsize_t elmtno, hsize_t *ptdata, unsigned ndims, hsize_t min_idx[],
00043                                    hsize_t max_idx[], h5tools_context_t *ctx);
00044 extern void     h5tools_str_dump_region_blocks(h5tools_str_t *, hid_t, const h5tool_format_t *,
00045                                    h5tools_context_t *ctx);
00046 extern void     h5tools_str_dump_region_points(h5tools_str_t *, hid_t, const h5tool_format_t *,
00047                                    h5tools_context_t *ctx);
00048 extern void     h5tools_str_sprint_region(h5tools_str_t *str, const h5tool_format_t *info, hid_t container,
00049                                    void *vp, h5tools_context_t *ctx);
00050 extern char    *h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info,
00051                                    hid_t container, hid_t type, void *vp,
00052                                    h5tools_context_t *ctx);
00053 
00054 #endif