mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-12-03 02:32:04 +08:00
ee9cac2af9
Features of this version of dumper * loop detection * data type ** atomic type -> H5T_INTEGER (H5T_STD_XXXXX) -> H5T_FLOAT (H5T_IEEE_XXXXX) -> H5T_STRING (H5T_C_S1, H5T_FORTRAN_S1) ** committed/transient/unamed compound type * data space ** scalar space ** simple space * dataset dumper can display dataset's ** attribute ** type ** space ** data * group dumper can display group attributes and group members which include ** named/unamed data type ** group ** dataset ** softlink * attribute dumper can display attribute's ** type ** space ** data * hard link * soft link * format of data ** fit on 80 columns ** end of line after each row (more work will be done on data.)
162 lines
4.8 KiB
C
162 lines
4.8 KiB
C
#ifndef _H5DUMP_H
|
|
#define _H5DUMP_H
|
|
|
|
#include <hdf5.h>
|
|
|
|
#define BOOT_BLOCK "BOOT_BLOCK"
|
|
#define GROUPNAME "GROUP"
|
|
#define DATASET "DATASET"
|
|
#define ATTRIBUTE "ATTRIBUTE"
|
|
#define DATATYPE "DATATYPE"
|
|
#define DATASPACE "DATASPACE"
|
|
#define DATA "DATA"
|
|
#define SCALAR "SCALAR"
|
|
#define SIMPLE "SIMPLE"
|
|
#define COMPLEX "COMPLEX"
|
|
#define STORAGELAYOUT "STORAGELAYOUT"
|
|
#define COMPRESSION "COMPRESSION"
|
|
#define EXTERNAL "EXTERNAL"
|
|
#define SOFTLINK "SOFTLINK"
|
|
#define HARDLINK "HARDLINK"
|
|
#define NLINK "NLINK"
|
|
#define FILENO "FILENO"
|
|
#define OBJNO "OBJNO"
|
|
#define STRSIZE "STRSIZE"
|
|
#define STRPAD "STRPAD"
|
|
#define CSET "CSET"
|
|
#define CTYPE "CTYPE"
|
|
|
|
#define BEGIN "{"
|
|
#define END "}"
|
|
|
|
#define ATTRIBUTE_DATA 0
|
|
#define DATASET_DATA 1
|
|
|
|
#define H5DUMP_MAX_RANK H5S_MAX_RANK
|
|
|
|
#define begin_obj(obj,name) printf("%s \"%s\" %s\n", obj, name, BEGIN)
|
|
#define end_obj() printf("%s\n", END);
|
|
|
|
#define col 3
|
|
|
|
#endif
|
|
|
|
|
|
/*
|
|
* Copyright © 1998 NCSA
|
|
* All rights reserved.
|
|
*
|
|
* Programmer: Robb Matzke <matzke@llnl.gov>
|
|
* Thursday, July 23, 1998
|
|
*
|
|
* Purpose: Support functions for the various tools.
|
|
*/
|
|
#ifndef _H5TOOLS_H
|
|
#define _H5TOOLS_H
|
|
|
|
|
|
/*
|
|
* Information about how to format output.
|
|
*/
|
|
typedef struct h5dump_t {
|
|
/*
|
|
* Fields associated with compound array members.
|
|
*
|
|
* pre: A string to print at the beginning of each array. The
|
|
* default value is the left square bracket `['.
|
|
*
|
|
* sep: A string to print between array values. The default
|
|
* value is a comma.
|
|
*
|
|
* suf: A strint to print at the end of each array. The default
|
|
* value is a right square bracket `]'.
|
|
*/
|
|
const char *arr_pre;
|
|
const char *arr_sep;
|
|
const char *arr_suf;
|
|
|
|
/*
|
|
* Fields associated with compound data types.
|
|
*
|
|
* name: How the name of the struct member is printed in the
|
|
* values. By default the name is not printed, but a
|
|
* reasonable setting might be "%s=" which prints the name
|
|
* followed by an equal sign and then the value.
|
|
*
|
|
* sep: A string that separates one member from another. The
|
|
* default is a comma.
|
|
*
|
|
* pre: A string to print at the beginning of a compound type.
|
|
* The default is a left curly brace.
|
|
*
|
|
* suf: A string to print at the end of each compound type. The
|
|
* default is a right curly brace.
|
|
*/
|
|
const char *cmpd_name;
|
|
const char *cmpd_sep;
|
|
const char *cmpd_pre;
|
|
const char *cmpd_suf;
|
|
|
|
/*
|
|
* Fields associated with the individual elements.
|
|
*
|
|
* fmt: A printf(3c) format to use to print the value string
|
|
* after it has been rendered. The default is "%s".
|
|
*
|
|
* suf1: This string is appended to elements which are followed by
|
|
* another element whether the following element is on the
|
|
* same line or the next line. The default is a comma.
|
|
*
|
|
* suf2: This string is appended (after `suf1') to elements which
|
|
* are followed on the same line by another element. The
|
|
* default is a single space.
|
|
*/
|
|
const char *elmt_fmt;
|
|
const char *elmt_suf1;
|
|
const char *elmt_suf2;
|
|
|
|
/*
|
|
* Fields associated with the index values printed at the left edge of
|
|
* each line of output.
|
|
*
|
|
* n_fmt: Each index value is printed according to this printf(3c)
|
|
* format string which should include a format for a long
|
|
* integer. The default is "%lu".
|
|
*
|
|
* sep: Each integer in the index list will be separated from the
|
|
* others by this string, which defaults to a comma.
|
|
*
|
|
* fmt: After the index values are formated individually and
|
|
* separated from one another by some string, the entire
|
|
* resulting string will be formated according to this
|
|
* printf(3c) format which should include a format for a
|
|
* character string. The default is "%s".
|
|
*/
|
|
const char *idx_n_fmt; /*index number format */
|
|
const char *idx_sep; /*separator between numbers */
|
|
const char *idx_fmt; /*entire index format */
|
|
|
|
/*
|
|
* Fields associated with entire lines.
|
|
*
|
|
* ncols: Number of columns per line defaults to 80.
|
|
*
|
|
* suf: This character string will be appended to each line of
|
|
* output. It should not contain line feeds. The default
|
|
* is the empty string.
|
|
*
|
|
* sep: A character string to be printed after every line feed
|
|
* defaulting to the empty string. It should end with a
|
|
* line feed.
|
|
*/
|
|
int line_ncols; /*columns of output */
|
|
const char *line_suf; /*string to append to each line */
|
|
const char *line_sep; /*separates lines */
|
|
|
|
} h5dump_t;
|
|
|
|
|
|
int h5dump1(FILE *stream, const h5dump_t *info, hid_t dset, hid_t p_type, int);
|
|
|
|
#endif
|