summaryrefslogtreecommitdiffstats
path: root/src/H5RA.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r879] Changes since 19981105Robb Matzke1998-11-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./configure.in ./acconfig.h ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] Added checks for functions, structs, constants, and header files used in h5ls.c to determine the output width with various Windows compilers and Unix variants. Added check for <sys/stat.h> and defined HAVE_SYS_STAT_H. Included <sys/stat.h> in H5private.h outside the Posix.1 #include's section. ./src/H5RA.c Less aggressive about failing -- rather returns false, which allows type detection to continue. ./src/h5ls.c Data types are displayed for datasets and named data types when `-v' or `--verbose' is specified on the command-line. The algorithm is a little different than the dumper because we're trying to be human-friendly, not necessarily machine-friendly. * Any data type which matches a native C type gets printed something like `native double'. * A floating point type that matches one of the IEEE standard types but not one of the native types gets printed like `IEEE 64-bit big-endian float'. * Other floating point values have information about sign bit location; exponent size, location, and bias; and significand size, location, and normalization. * Padding and offsets are displayed for types that have padding (precision != size), including internal padding for some floating point data types. * Non-native integer types are displayed like `32-bit little-endian unsigned integer'. * Compound data types have each member displayed including the member name, byte offset within the struct, dimensions, index permutation, and data type. * String types are displayed like `256-byte null-terminated ASCII string'. * References are displayed like `8-byte unknown reference' until the reference interface stabilizes a little. * All other types including types not yet defined will be printed like `4-byte class-9 unknown'. The dimensionality of scalar datasets is printed like `{SCALAR}' instead of just `{}'. If external raw files are used to store a dataset then the offsets, sizes, and file names of each are printed if `-v' or `--verbose' was given on the command-line. If an object is found and h5ls can't determine the object type then it still tries to print the number of hard links, the OID, and any comment that might be present if `-v' or `--verbose' was specified. If the `-d' or `--dump' switch is turned on then ragged arrays will report that the data can only be dumped by dumping the component datasets explicitly. I'm not planning to implement this since we're going to eventually change the whole way ragged arrays are stored. Compound data values do not have the component names displayed by default when `-v' or `--verbose' is turned on. Instead, the names can be displayed with `-l' or `--label'. The output width is determined by the first rule that applies: * If the `-wN', `-w N' or `--width=N' switch appeared on the command line then use N for the output width. * Query the OS for the tty width in a highly unportable way borrowed from GNU `less' depending on what functions and data structures were found during configuration (if any): _getvideoconfig(), gettextinfo(), _srcsize(), ioctl(), GetConsoleScreenBufferInfo(), struct videoconfig, struct text_info, the TIOCGWINSZ ioctl, the TIOCGETD ioctl. * If the `COLUMNS' environment variable is set then use its value. * Use the value 80. Just for kicks, run Mark and Jim's test_vbt and then say `h5ls -dlsv test.vbt'. You can also try it on the various *.h5 files in the test/example directories. ./config/linux Removed turning on parallel by default on Robb's macine.
* [svn-r876] Changes since 19981102Robb Matzke1998-11-051-0/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./bin/snapshot Made same fix as for the release script yesterday. ./src/H5D.c ./src/H5Dprivate.h ./src/H5G.c ./src/H5Gprivate.h ./src/H5Gpublic.h ./src/H5O.c ./src/H5Oprivate.h ./src/H5RA.c ./src/H5RAprivate.h ./src/H5T.c ./src/H5Tprivate.h Improved object type checking. Instead of determining the object type by trying to open each of the possible types, we keep a table of associations between object type number (like H5G_GROUP, H5G_DATASET, H5D_TYPE, and H5D_RAGGED) and an `isa' function that returns true if the object header has the right messages to make the object a particular type. This mechanism also allows specialization of object types by permitting an object to satisfy more than one `isa' function. Added `isa' functions for groups, datasets, ragged arrays, and committed data types. ./src/H5config.h.in Added HAVE_STAT_ST_BLOCKS. I thought this had already been added, but apparently not. ./tools/h5ls.c Removed system include files since they're already included by H5private.h and since I wasn't including them portably anyway. By default, 1-byte integer types are printed as integer values instead of ASCII characters. However, the `-s' or `--string' command-line switch causes the data to be interpretted as ASCII. String data types are always printed as character data. Ragged arrays are now identified as ragged arrays and h5ls doesn't descend into the group automatically. This uses the new object type specialization stuff. ./tools/h5tools.c ./tools/h5tools.h Added the ability to print 1-byte integer types as either ASCII or numeric data instead of always ASCII. The default is to print as numeric data.
* [svn-r797] Changed comments from returning "SUCCEED/FAIL" to ↵Quincey Koziol1998-10-261-25/+11
| | | | | | "non-negative/negative" and also fixed a few more explicit checks against FAIL.
* [svn-r739] Switched ragged array "H5R" API to "H5RA" to make room for the ↵Quincey Koziol1998-10-061-0/+1189
reference API.