Codebase list hdf5 / 5c59b10
Imported Upstream version 1.10.0~pre2+docs Gilles Filippini 8 years ago
54 changed file(s) with 4797 addition(s) and 1105 deletion(s). Raw diff Collapse all Expand all
11 ----------------
22
33 We would like to thank the following people who provided code contributions
4 to the HDF5 1.10.0 and eralier eleases:
4 to the HDF5 1.10.0 and earlier releases:
55
66 Steffen Kieß, for contributing code used to specify locations of the external
77 files included in the 1.10.0 release.
1515 John A. Biddiscombe, Mike Jackson, and Sean McBride for contributing and
1616 testing CMake code included in the HDF5 1.8.5 distribution.
1717
18
1918 The HDF5 community for helping shape the development of HDF5 by contributing
2019 bug reports and patches, joining in on forum discussions, and continually
2120 supporting our software.
0 HDF5 version 1.10.0-pre1 released on 2016-03-17
0 HDF5 version 1.10.0-pre2 released on 2016-03-22
11 Please refer to the release_docs/INSTALL file for installation instructions.
22 ------------------------------------------------------------------------------
33
0 #! /bin/bash
0 #!/bin/sh
11 #
22 # Copyright by The HDF Group.
33 # All rights reserved.
109109 verbose=true
110110 ;;
111111 *)
112 if [ "$OPTERR" != 1 ] || [ "${optspec:0:1}" = ":" ]; then
113 echo "Non-option argument: '-${OPTARG}'" >&2
112 if [ "$OPTERR" != 1 ] || case $optspec in :*) ;; *) false; esac; then
113 echo "ERROR: non-option argument: '-${OPTARG}'" >&2
114 echo "Quitting"
115 exit 1
114116 fi
115117 ;;
116118 esac
276276
277277 local($_) = $contentsy;
278278
279 my ($lt_revision) = /^LT_VERS_REVISION\s*=\s*(\d+)/m;
280 my $new_lt_revision = $lt_revision+1;
281 ($contentsy) =~ s/^(LT_VERS_REVISION\s*=\s*)\d+/$1$new_lt_revision/m;
282
283 open FILE, ">$LT_VERS" or die "$LT_VERS: $!\n";
284 print FILE $contentsy;
285 close FILE;
279 # As of the HDF5 v1.8.16 release, h5vers should not increment
280 # the LT_VERS numbers, so the next 6 lines are commented out.
281 # A future version may copy the numbers to H5public.h, so this
282 # section is retained for future reference.
283 # my ($lt_revision) = /^LT_VERS_REVISION\s*=\s*(\d+)/m;
284 # my $new_lt_revision = $lt_revision+1;
285 # ($contentsy) =~ s/^(LT_VERS_REVISION\s*=\s*)\d+/$1$new_lt_revision/m;
286
287 # open FILE, ">$LT_VERS" or die "$LT_VERS: $!\n";
288 # print FILE $contentsy;
289 # close FILE;
286290 }
287291
288292 # Update the README.txt file
2727 lib_LTLIBRARIES=libhdf5_cpp.la
2828
2929 # Add libtool numbers to the HDF5 C++ library (from config/lt_vers.am)
30 libhdf5_cpp_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
30 libhdf5_cpp_la_LDFLAGS= -version-info $(LT_CXX_VERS_INTERFACE):$(LT_CXX_VERS_REVISION):$(LT_CXX_VERS_AGE) $(AM_LDFLAGS)
3131
3232 bin_SCRIPTS=h5c++
3333
747747 LT_VERS_INTERFACE = 100
748748 LT_VERS_REVISION = 0
749749 LT_VERS_AGE = 0
750 LT_CXX_VERS_INTERFACE = 100
751 LT_CXX_VERS_REVISION = 0
752 LT_CXX_VERS_AGE = 0
753 LT_F_VERS_INTERFACE = 100
754 LT_F_VERS_REVISION = 0
755 LT_F_VERS_AGE = 0
756 LT_HL_VERS_INTERFACE = 100
757 LT_HL_VERS_REVISION = 0
758 LT_HL_VERS_AGE = 0
759 LT_HL_CXX_VERS_INTERFACE = 100
760 LT_HL_CXX_VERS_REVISION = 0
761 LT_HL_CXX_VERS_AGE = 0
762 LT_HL_F_VERS_INTERFACE = 100
763 LT_HL_F_VERS_REVISION = 0
764 LT_HL_F_VERS_AGE = 0
765 LT_JAVA_VERS_INTERFACE = 100
766 LT_JAVA_VERS_REVISION = 0
767 LT_JAVA_VERS_AGE = 0
768 LT_TOOLS_VERS_INTERFACE = 100
769 LT_TOOLS_VERS_REVISION = 0
770 LT_TOOLS_VERS_AGE = 0
750771
751772 # This is our main target
752773 lib_LTLIBRARIES = libhdf5_cpp.la
753774
754775 # Add libtool numbers to the HDF5 C++ library (from config/lt_vers.am)
755 libhdf5_cpp_la_LDFLAGS = -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
776 libhdf5_cpp_la_LDFLAGS = -version-info $(LT_CXX_VERS_INTERFACE):$(LT_CXX_VERS_REVISION):$(LT_CXX_VERS_AGE) $(AM_LDFLAGS)
756777 bin_SCRIPTS = h5c++
757778
758779 # Source files for the library
3737 # could be handy for archiving the generated documentation or if some version
3838 # control system is used.
3939
40 PROJECT_NUMBER = "1.10.0-pre1 currently under development"
40 PROJECT_NUMBER = "1.10.0-pre2 currently under development"
4141
4242 # Using the PROJECT_BRIEF tag one can provide an optional one line description
4343 # for a project that appears at the top of each page and should give viewer a
3939 ## Note that this versioning system doesn't attempt to handle
4040 ## the effects of the H5_V1_x_COMPAT flag.
4141 ##
42 ## Since the revision number is automatically incremented by
43 ## bin/h5vers, don't move LT_VERS_REVISION from the fourth line
44 ## without also editing the script!
42 ## Version numbers for wrapper shared library files.
43 LT_CXX_VERS_INTERFACE = 100
44 LT_CXX_VERS_REVISION = 0
45 LT_CXX_VERS_AGE = 0
4546
47 LT_F_VERS_INTERFACE = 100
48 LT_F_VERS_REVISION = 0
49 LT_F_VERS_AGE = 0
50
51 LT_HL_VERS_INTERFACE = 100
52 LT_HL_VERS_REVISION = 0
53 LT_HL_VERS_AGE = 0
54
55 LT_HL_CXX_VERS_INTERFACE = 100
56 LT_HL_CXX_VERS_REVISION = 0
57 LT_HL_CXX_VERS_AGE = 0
58
59 LT_HL_F_VERS_INTERFACE = 100
60 LT_HL_F_VERS_REVISION = 0
61 LT_HL_F_VERS_AGE = 0
62
63 LT_JAVA_VERS_INTERFACE = 100
64 LT_JAVA_VERS_REVISION = 0
65 LT_JAVA_VERS_AGE = 0
66
67 LT_TOOLS_VERS_INTERFACE = 100
68 LT_TOOLS_VERS_REVISION = 0
69 LT_TOOLS_VERS_AGE = 0
4670
4771 # Copyright by The HDF Group.
4872 # Copyright by the Board of Trustees of the University of Illinois.
00 #! /bin/sh
11 # From configure.ac Id: configure.ac 22697 2012-08-19 14:35:47Z hdftest .
22 # Guess values for system-dependent variables and create Makefiles.
3 # Generated by GNU Autoconf 2.69 for HDF5 1.10.0-pre1.
3 # Generated by GNU Autoconf 2.69 for HDF5 1.10.0-pre2.
44 #
55 # Report bugs to <help@hdfgroup.org>.
66 #
590590 # Identity of this package.
591591 PACKAGE_NAME='HDF5'
592592 PACKAGE_TARNAME='hdf5'
593 PACKAGE_VERSION='1.10.0-pre1'
594 PACKAGE_STRING='HDF5 1.10.0-pre1'
593 PACKAGE_VERSION='1.10.0-pre2'
594 PACKAGE_STRING='HDF5 1.10.0-pre2'
595595 PACKAGE_BUGREPORT='help@hdfgroup.org'
596596 PACKAGE_URL=''
597597
15211521 # Omit some internal or obsolete options to make the list less imposing.
15221522 # This message is too long to be a string in the A/UX 3.1 sh.
15231523 cat <<_ACEOF
1524 \`configure' configures HDF5 1.10.0-pre1 to adapt to many kinds of systems.
1524 \`configure' configures HDF5 1.10.0-pre2 to adapt to many kinds of systems.
15251525
15261526 Usage: $0 [OPTION]... [VAR=VALUE]...
15271527
15911591
15921592 if test -n "$ac_init_help"; then
15931593 case $ac_init_help in
1594 short | recursive ) echo "Configuration of HDF5 1.10.0-pre1:";;
1594 short | recursive ) echo "Configuration of HDF5 1.10.0-pre2:";;
15951595 esac
15961596 cat <<\_ACEOF
15971597
16121612 Clean turns nothing on and disables optimization
16131613 (i.e.: a 'clean slate' configuration). All these
16141614 settings can be overridden by using specific
1615 configure flags. [default=debug]
1615 configure flags. [default=production]
16161616 --enable-dependency-tracking
16171617 do not reject slow dependency extractors
16181618 --disable-dependency-tracking
18431843 test -n "$ac_init_help" && exit $ac_status
18441844 if $ac_init_version; then
18451845 cat <<\_ACEOF
1846 HDF5 configure 1.10.0-pre1
1846 HDF5 configure 1.10.0-pre2
18471847 generated by GNU Autoconf 2.69
18481848
18491849 Copyright (C) 2012 Free Software Foundation, Inc.
27582758 This file contains any messages produced by compilers while
27592759 running configure, to aid debugging if configure makes a mistake.
27602760
2761 It was created by HDF5 $as_me 1.10.0-pre1, which was
2761 It was created by HDF5 $as_me 1.10.0-pre2, which was
27622762 generated by GNU Autoconf 2.69. Invocation command line was
27632763
27642764 $ $0 $@
36303630
36313631 # Define the identity of the package.
36323632 PACKAGE='hdf5'
3633 VERSION='1.10.0-pre1'
3633 VERSION='1.10.0-pre2'
36343634
36353635
36363636 cat >>confdefs.h <<_ACEOF
41214121 ## Set the default
41224122 ## Depends on branch, set via script at branch creation time
41234123 if test "X-$BUILD_MODE" = X- ; then
4124 BUILD_MODE=debug
4124 BUILD_MODE=production
41254125 fi
41264126
41274127 ## Allow this variable to be substituted in
96099609 ## Check if they would like the Java native interface (JNI) compiled
96109610 ##
96119611
9612 ## This needs to be exposed for the library info file even if JAVA is disabled.
9613
9614
9615 ## Default is no JAVA
9612 ## This needs to be exposed for the library info file even if Java is disabled.
9613
9614
9615 ## Default is no Java
96169616 HDF_JAVA=no
96179617
96189618 H5_CLASSPATH=""
2775327753 fi
2775427754
2775527755
27756 ## The high-level, C++, and Fortran interfaces are not compatible
27756 ## The high-level, C++, Fortran and Java interfaces are not compatible
2775727757 ## with the thread-safety option because the lock is not hoisted
2775827758 ## into the higher-level API calls.
2775927759
2778227782 if test "X${ALLOW_UNSUPPORTED}" != "Xyes"; then
2778327783 if test "X${HDF_FORTRAN}" = "Xyes" -a "X${enable_threadsafe}" = "Xyes"; then
2778427784 as_fn_error $? "--enable-fortran and --enable-threadsafe flags are incompatible. Use --enable-unsupported to override this error." "$LINENO" 5
27785 fi
27786 fi
27787
27788 ## --enable-threadsafe is also incompatible with --enable-java unless
27789 ## --enable-unsupported has been specified on the configure line.
27790 if test "X${ALLOW_UNSUPPORTED}" != "Xyes"; then
27791 if test "X${HDF_JAVA}" = "Xyes" -a "X${enable_threadsafe}" = "Xyes"; then
27792 as_fn_error $? "--enable-java and --enable-threadsafe flags are incompatible. Use --enable-unsupported to override this error." "$LINENO" 5
2778527793 fi
2778627794 fi
2778727795
2954329551 fi
2954429552 fi
2954529553
29554 ## The --enable-parallel flag is not compatible with --enable-java.
29555 ## If the user tried to specify both flags, throw an error, unless
29556 ## they also provided the --enable-unsupported flag.
29557 if test "X${ALLOW_UNSUPPORTED}" != "Xyes"; then
29558 if test "X${HDF_JAVA}" = "Xyes" -a "X${enable_parallel}" = "Xyes"; then
29559 as_fn_error $? "--enable-java and --enable-parallel flags are incompatible. Use --enable-unsupported to override this error." "$LINENO" 5
29560 fi
29561 fi
29562
2954629563 ## --enable-parallel is also incompatible with --enable-threadsafe, unless
2954729564 ## --enable-unsupported has been specified on the configure line.
2954829565 if test "X${ALLOW_UNSUPPORTED}" != "Xyes"; then
3081130828 java_version_info=`$JAVA -version 2>&1 |\
3081230829 grep 'version' | sed -e 's/version "//' | sed -e 's/"//'`
3081330830 if test -n "$java_version_info"; then
30814 JAVA_VERSION="$JAVA_VERSION ( $java_version_info)"
30831 JAVA_VERSION="$JAVA_VERSION ($java_version_info)"
3081530832 fi
3081630833
3081730834 ## ----------------------------------------------------------------------
3158531602 Report bugs to <bug-libtool@gnu.org>."
3158631603
3158731604 lt_cl_version="\
31588 HDF5 config.lt 1.10.0-pre1
31605 HDF5 config.lt 1.10.0-pre2
3158931606 configured by $0, generated by GNU Autoconf 2.69.
3159031607
3159131608 Copyright (C) 2011 Free Software Foundation, Inc.
3302633043 ac_config_files="$ac_config_files src/libhdf5.settings Makefile src/Makefile test/Makefile test/testcheck_version.sh test/testerror.sh test/testflushrefresh.sh test/H5srcdir_str.h test/testlibinfo.sh test/testlinks_env.sh test/testswmr.sh test/test_plugin.sh test/test_usecases.sh test/testvdsswmr.sh testpar/Makefile tools/Makefile tools/h5dump/Makefile tools/h5dump/testh5dump.sh tools/h5dump/testh5dumppbits.sh tools/h5dump/testh5dumpvds.sh tools/h5dump/testh5dumpxml.sh tools/h5ls/testh5ls.sh tools/h5ls/testh5lsvds.sh tools/h5import/Makefile tools/h5import/h5importtestutil.sh tools/h5diff/Makefile tools/h5diff/testh5diff.sh tools/h5diff/testph5diff.sh tools/h5jam/Makefile tools/h5jam/testh5jam.sh tools/h5repack/Makefile tools/h5repack/h5repack.sh tools/h5repack/h5repack_plugin.sh tools/h5ls/Makefile tools/h5copy/Makefile tools/h5copy/testh5copy.sh tools/lib/Makefile tools/misc/Makefile tools/misc/h5cc tools/misc/testh5clear.sh tools/misc/testh5mkgrp.sh tools/misc/testh5repart.sh tools/misc/vds/Makefile tools/h5stat/testh5stat.sh tools/h5stat/Makefile tools/h5format_convert/Makefile tools/h5format_convert/testh5fc.sh tools/perform/Makefile examples/Makefile examples/run-c-ex.sh examples/testh5cc.sh c++/Makefile c++/src/Makefile c++/src/h5c++ c++/test/Makefile c++/test/H5srcdir_str.h c++/examples/Makefile c++/examples/run-c++-ex.sh c++/examples/testh5c++.sh fortran/Makefile fortran/src/h5fc fortran/src/Makefile fortran/src/H5fort_type_defines.h fortran/test/Makefile fortran/testpar/Makefile fortran/examples/Makefile fortran/examples/run-fortran-ex.sh fortran/examples/testh5fc.sh java/Makefile java/src/Makefile java/src/jni/Makefile java/test/Makefile java/test/junit.sh java/examples/Makefile java/examples/intro/Makefile java/examples/intro/runExample.sh java/examples/datasets/Makefile java/examples/datasets/runExample.sh java/examples/datatypes/Makefile java/examples/datatypes/runExample.sh java/examples/groups/Makefile java/examples/groups/runExample.sh hl/Makefile hl/src/Makefile hl/test/Makefile hl/test/H5srcdir_str.h hl/tools/Makefile hl/tools/gif2h5/Makefile hl/tools/gif2h5/h52giftest.sh hl/tools/h5watch/Makefile hl/tools/h5watch/testh5watch.sh hl/examples/Makefile hl/examples/run-hlc-ex.sh hl/c++/Makefile hl/c++/src/Makefile hl/c++/test/Makefile hl/c++/examples/Makefile hl/c++/examples/run-hlc++-ex.sh hl/fortran/Makefile hl/fortran/src/Makefile hl/fortran/test/Makefile hl/fortran/examples/Makefile hl/fortran/examples/run-hlfortran-ex.sh"
3302733044
3302833045
33046 ac_config_commands="$ac_config_commands .classes"
33047
33048
3302933049 cat >confcache <<\_ACEOF
3303033050 # This file is a shell script that caches the results of configure
3303133051 # tests run on this system so they can be shared between configure
3360933629 # report actual input values of CONFIG_FILES etc. instead of their
3361033630 # values after options handling.
3361133631 ac_log="
33612 This file was extended by HDF5 $as_me 1.10.0-pre1, which was
33632 This file was extended by HDF5 $as_me 1.10.0-pre2, which was
3361333633 generated by GNU Autoconf 2.69. Invocation command line was
3361433634
3361533635 CONFIG_FILES = $CONFIG_FILES
3367533695 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
3367633696 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
3367733697 ac_cs_version="\\
33678 HDF5 config.status 1.10.0-pre1
33698 HDF5 config.status 1.10.0-pre2
3367933699 configured by $0, generated by GNU Autoconf 2.69,
3368033700 with options \\"\$ac_cs_config\\"
3368133701
3426334283 ac_aux_dir='$ac_aux_dir'
3426434284
3426534285
34286 $MKDIR_P java/src/.classes;
34287 $MKDIR_P java/test/.classes;
34288 $MKDIR_P java/examples/intro/.classes;
34289 $MKDIR_P java/examples/datasets/.classes;
34290 $MKDIR_P java/examples/datatypes/.classes;
34291 $MKDIR_P java/examples/groups/.classes
3426634292
3426734293 _ACEOF
3426834294
3438034406 "hl/fortran/test/Makefile") CONFIG_FILES="$CONFIG_FILES hl/fortran/test/Makefile" ;;
3438134407 "hl/fortran/examples/Makefile") CONFIG_FILES="$CONFIG_FILES hl/fortran/examples/Makefile" ;;
3438234408 "hl/fortran/examples/run-hlfortran-ex.sh") CONFIG_FILES="$CONFIG_FILES hl/fortran/examples/run-hlfortran-ex.sh" ;;
34409 ".classes") CONFIG_COMMANDS="$CONFIG_COMMANDS .classes" ;;
3438334410
3438434411 *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
3438534412 esac
2525 ## NOTE: Do not forget to change the version number here when we do a
2626 ## release!!!
2727 ##
28 AC_INIT([HDF5], [1.10.0-pre1], [help@hdfgroup.org])
28 AC_INIT([HDF5], [1.10.0-pre2], [help@hdfgroup.org])
2929
3030 AC_CONFIG_SRCDIR([src/H5.c])
3131 AC_CONFIG_HEADERS([src/H5config.h])
300300 (i.e.: a 'clean slate' configuration).
301301 All these settings can be overridden by using
302302 specific configure flags.
303 [default=debug]
303 [default=production]
304304 ])],
305305 [BUILD_MODE=$enableval])
306306
307307 ## Set the default
308308 ## Depends on branch, set via script at branch creation time
309309 if test "X-$BUILD_MODE" = X- ; then
310 BUILD_MODE=debug
310 BUILD_MODE=production
311311 fi
312312
313313 ## Allow this variable to be substituted in
857857 ## Check if they would like the Java native interface (JNI) compiled
858858 ##
859859
860 ## This needs to be exposed for the library info file even if JAVA is disabled.
860 ## This needs to be exposed for the library info file even if Java is disabled.
861861 AC_SUBST([HDF_JAVA])
862862
863 ## Default is no JAVA
863 ## Default is no Java
864864 HDF_JAVA=no
865865
866866 AC_SUBST([H5_CLASSPATH]) H5_CLASSPATH=""
15771577 [default=no]])],
15781578 [THREADSAFE=$enableval])
15791579
1580 ## The high-level, C++, and Fortran interfaces are not compatible
1580 ## The high-level, C++, Fortran and Java interfaces are not compatible
15811581 ## with the thread-safety option because the lock is not hoisted
15821582 ## into the higher-level API calls.
15831583
16061606 if test "X${ALLOW_UNSUPPORTED}" != "Xyes"; then
16071607 if test "X${HDF_FORTRAN}" = "Xyes" -a "X${enable_threadsafe}" = "Xyes"; then
16081608 AC_MSG_ERROR([--enable-fortran and --enable-threadsafe flags are incompatible. Use --enable-unsupported to override this error.])
1609 fi
1610 fi
1611
1612 ## --enable-threadsafe is also incompatible with --enable-java unless
1613 ## --enable-unsupported has been specified on the configure line.
1614 if test "X${ALLOW_UNSUPPORTED}" != "Xyes"; then
1615 if test "X${HDF_JAVA}" = "Xyes" -a "X${enable_threadsafe}" = "Xyes"; then
1616 AC_MSG_ERROR([--enable-java and --enable-threadsafe flags are incompatible. Use --enable-unsupported to override this error.])
16091617 fi
16101618 fi
16111619
24282436 if test "X${ALLOW_UNSUPPORTED}" != "Xyes"; then
24292437 if test "X${HDF_CXX}" = "Xyes" -a "X${enable_parallel}" = "Xyes"; then
24302438 AC_MSG_ERROR([--enable-cxx and --enable-parallel flags are incompatible. Use --enable-unsupported to override this error.])
2439 fi
2440 fi
2441
2442 ## The --enable-parallel flag is not compatible with --enable-java.
2443 ## If the user tried to specify both flags, throw an error, unless
2444 ## they also provided the --enable-unsupported flag.
2445 if test "X${ALLOW_UNSUPPORTED}" != "Xyes"; then
2446 if test "X${HDF_JAVA}" = "Xyes" -a "X${enable_parallel}" = "Xyes"; then
2447 AC_MSG_ERROR([--enable-java and --enable-parallel flags are incompatible. Use --enable-unsupported to override this error.])
24312448 fi
24322449 fi
24332450
31763193 java_version_info=`$JAVA -version 2>&1 |\
31773194 grep 'version' | sed -e 's/version "//' | sed -e 's/"//'`
31783195 if test -n "$java_version_info"; then
3179 JAVA_VERSION="$JAVA_VERSION ( $java_version_info)"
3196 JAVA_VERSION="$JAVA_VERSION ($java_version_info)"
31803197 fi
31813198
31823199 ## ----------------------------------------------------------------------
35933610 hl/fortran/examples/Makefile
35943611 hl/fortran/examples/run-hlfortran-ex.sh])
35953612
3613 AC_CONFIG_COMMANDS([.classes], [], [$MKDIR_P java/src/.classes;
3614 $MKDIR_P java/test/.classes;
3615 $MKDIR_P java/examples/intro/.classes;
3616 $MKDIR_P java/examples/datasets/.classes;
3617 $MKDIR_P java/examples/datatypes/.classes;
3618 $MKDIR_P java/examples/groups/.classes])
3619
35963620 AC_OUTPUT
35973621
35983622 chmod 755 tools/misc/h5cc
3131 lib_LTLIBRARIES=libhdf5_fortran.la
3232
3333 # Add libtool numbers to the HDF5 Fortran library (from config/lt_vers.am)
34 libhdf5_fortran_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
34 libhdf5_fortran_la_LDFLAGS= -version-info $(LT_F_VERS_INTERFACE):$(LT_F_VERS_REVISION):$(LT_F_VERS_AGE) $(AM_LDFLAGS)
3535
3636 # Some Fortran compilers can't build shared libraries, so sometimes we
3737 # want to build a shared C library and a static Fortran library. If so,
775775 LT_VERS_INTERFACE = 100
776776 LT_VERS_REVISION = 0
777777 LT_VERS_AGE = 0
778 LT_CXX_VERS_INTERFACE = 100
779 LT_CXX_VERS_REVISION = 0
780 LT_CXX_VERS_AGE = 0
781 LT_F_VERS_INTERFACE = 100
782 LT_F_VERS_REVISION = 0
783 LT_F_VERS_AGE = 0
784 LT_HL_VERS_INTERFACE = 100
785 LT_HL_VERS_REVISION = 0
786 LT_HL_VERS_AGE = 0
787 LT_HL_CXX_VERS_INTERFACE = 100
788 LT_HL_CXX_VERS_REVISION = 0
789 LT_HL_CXX_VERS_AGE = 0
790 LT_HL_F_VERS_INTERFACE = 100
791 LT_HL_F_VERS_REVISION = 0
792 LT_HL_F_VERS_AGE = 0
793 LT_JAVA_VERS_INTERFACE = 100
794 LT_JAVA_VERS_REVISION = 0
795 LT_JAVA_VERS_AGE = 0
796 LT_TOOLS_VERS_INTERFACE = 100
797 LT_TOOLS_VERS_REVISION = 0
798 LT_TOOLS_VERS_AGE = 0
778799 AM_FCLIBS = $(LIBHDF5)
779800
780801 # This is our main target, the fortran library
781802 lib_LTLIBRARIES = libhdf5_fortran.la
782803
783804 # Add libtool numbers to the HDF5 Fortran library (from config/lt_vers.am)
784 libhdf5_fortran_la_LDFLAGS = -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
805 libhdf5_fortran_la_LDFLAGS = -version-info $(LT_F_VERS_INTERFACE):$(LT_F_VERS_REVISION):$(LT_F_VERS_AGE) $(AM_LDFLAGS)
785806
786807 # Source files for the library.
787808 libhdf5_fortran_la_SOURCES = H5f90global.F90 \
2727 lib_LTLIBRARIES=libhdf5_hl_cpp.la
2828
2929 # Add libtool numbers to the HDF5 HL C++ library (from config/lt_vers.am)
30 libhdf5_hl_cpp_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
30 libhdf5_hl_cpp_la_LDFLAGS= -version-info $(LT_HL_CXX_VERS_INTERFACE):$(LT_HL_CXX_VERS_REVISION):$(LT_HL_CXX_VERS_AGE) $(AM_LDFLAGS)
3131
3232 # Source files for the library
3333 # At the moment, only the H5PT Packet Table has a C++ API.
737737 LT_VERS_INTERFACE = 100
738738 LT_VERS_REVISION = 0
739739 LT_VERS_AGE = 0
740 LT_CXX_VERS_INTERFACE = 100
741 LT_CXX_VERS_REVISION = 0
742 LT_CXX_VERS_AGE = 0
743 LT_F_VERS_INTERFACE = 100
744 LT_F_VERS_REVISION = 0
745 LT_F_VERS_AGE = 0
746 LT_HL_VERS_INTERFACE = 100
747 LT_HL_VERS_REVISION = 0
748 LT_HL_VERS_AGE = 0
749 LT_HL_CXX_VERS_INTERFACE = 100
750 LT_HL_CXX_VERS_REVISION = 0
751 LT_HL_CXX_VERS_AGE = 0
752 LT_HL_F_VERS_INTERFACE = 100
753 LT_HL_F_VERS_REVISION = 0
754 LT_HL_F_VERS_AGE = 0
755 LT_JAVA_VERS_INTERFACE = 100
756 LT_JAVA_VERS_REVISION = 0
757 LT_JAVA_VERS_AGE = 0
758 LT_TOOLS_VERS_INTERFACE = 100
759 LT_TOOLS_VERS_REVISION = 0
760 LT_TOOLS_VERS_AGE = 0
740761
741762 # This is our main target
742763 lib_LTLIBRARIES = libhdf5_hl_cpp.la
743764
744765 # Add libtool numbers to the HDF5 HL C++ library (from config/lt_vers.am)
745 libhdf5_hl_cpp_la_LDFLAGS = -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
766 libhdf5_hl_cpp_la_LDFLAGS = -version-info $(LT_HL_CXX_VERS_INTERFACE):$(LT_HL_CXX_VERS_REVISION):$(LT_HL_CXX_VERS_AGE) $(AM_LDFLAGS)
746767
747768 # Source files for the library
748769 # At the moment, only the H5PT Packet Table has a C++ API.
2929 lib_LTLIBRARIES=libhdf5hl_fortran.la
3030
3131 # Add libtool numbers to the HDF5 HL Fortran library (from config/lt_vers.am)
32 libhdf5hl_fortran_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
32 libhdf5hl_fortran_la_LDFLAGS= -version-info $(LT_HL_F_VERS_INTERFACE):$(LT_HL_F_VERS_REVISION):$(LT_HL_F_VERS_AGE) $(AM_LDFLAGS)
3333
3434 # Some Fortran compilers can't build shared libraries, so sometimes we
3535 # want to build a shared C library and a static Fortran library. If so,
765765 LT_VERS_INTERFACE = 100
766766 LT_VERS_REVISION = 0
767767 LT_VERS_AGE = 0
768 LT_CXX_VERS_INTERFACE = 100
769 LT_CXX_VERS_REVISION = 0
770 LT_CXX_VERS_AGE = 0
771 LT_F_VERS_INTERFACE = 100
772 LT_F_VERS_REVISION = 0
773 LT_F_VERS_AGE = 0
774 LT_HL_VERS_INTERFACE = 100
775 LT_HL_VERS_REVISION = 0
776 LT_HL_VERS_AGE = 0
777 LT_HL_CXX_VERS_INTERFACE = 100
778 LT_HL_CXX_VERS_REVISION = 0
779 LT_HL_CXX_VERS_AGE = 0
780 LT_HL_F_VERS_INTERFACE = 100
781 LT_HL_F_VERS_REVISION = 0
782 LT_HL_F_VERS_AGE = 0
783 LT_JAVA_VERS_INTERFACE = 100
784 LT_JAVA_VERS_REVISION = 0
785 LT_JAVA_VERS_AGE = 0
786 LT_TOOLS_VERS_INTERFACE = 100
787 LT_TOOLS_VERS_REVISION = 0
788 LT_TOOLS_VERS_AGE = 0
768789
769790 # Our main target, the high-level fortran library
770791 lib_LTLIBRARIES = libhdf5hl_fortran.la
771792
772793 # Add libtool numbers to the HDF5 HL Fortran library (from config/lt_vers.am)
773 libhdf5hl_fortran_la_LDFLAGS = -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
794 libhdf5hl_fortran_la_LDFLAGS = -version-info $(LT_HL_F_VERS_INTERFACE):$(LT_HL_F_VERS_REVISION):$(LT_HL_F_VERS_AGE) $(AM_LDFLAGS)
774795
775796 # Source files for the library
776797 #if BUILD_PARALLEL_CONDITIONAL
2727 lib_LTLIBRARIES=libhdf5_hl.la
2828
2929 # Add libtool numbers to the HDF5 hl library (from config/lt_vers.am)
30 libhdf5_hl_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
30 libhdf5_hl_la_LDFLAGS= -version-info $(LT_HL_VERS_INTERFACE):$(LT_HL_VERS_REVISION):$(LT_HL_VERS_AGE) $(AM_LDFLAGS)
3131
3232 # List sources to include in the HDF5 HL Library.
3333 libhdf5_hl_la_SOURCES=H5DO.c H5DS.c H5IM.c H5LT.c H5LTanalyze.c H5LTparse.c H5PT.c H5TB.c H5LD.c
736736 LT_VERS_INTERFACE = 100
737737 LT_VERS_REVISION = 0
738738 LT_VERS_AGE = 0
739 LT_CXX_VERS_INTERFACE = 100
740 LT_CXX_VERS_REVISION = 0
741 LT_CXX_VERS_AGE = 0
742 LT_F_VERS_INTERFACE = 100
743 LT_F_VERS_REVISION = 0
744 LT_F_VERS_AGE = 0
745 LT_HL_VERS_INTERFACE = 100
746 LT_HL_VERS_REVISION = 0
747 LT_HL_VERS_AGE = 0
748 LT_HL_CXX_VERS_INTERFACE = 100
749 LT_HL_CXX_VERS_REVISION = 0
750 LT_HL_CXX_VERS_AGE = 0
751 LT_HL_F_VERS_INTERFACE = 100
752 LT_HL_F_VERS_REVISION = 0
753 LT_HL_F_VERS_AGE = 0
754 LT_JAVA_VERS_INTERFACE = 100
755 LT_JAVA_VERS_REVISION = 0
756 LT_JAVA_VERS_AGE = 0
757 LT_TOOLS_VERS_INTERFACE = 100
758 LT_TOOLS_VERS_REVISION = 0
759 LT_TOOLS_VERS_AGE = 0
739760
740761 # This library is our main target.
741762 lib_LTLIBRARIES = libhdf5_hl.la
742763
743764 # Add libtool numbers to the HDF5 hl library (from config/lt_vers.am)
744 libhdf5_hl_la_LDFLAGS = -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
765 libhdf5_hl_la_LDFLAGS = -version-info $(LT_HL_VERS_INTERFACE):$(LT_HL_VERS_REVISION):$(LT_HL_VERS_AGE) $(AM_LDFLAGS)
745766
746767 # List sources to include in the HDF5 HL Library.
747768 libhdf5_hl_la_SOURCES = H5DO.c H5DS.c H5IM.c H5LT.c H5LTanalyze.c H5LTparse.c H5PT.c H5TB.c H5LD.c
7171 </ul></p>
7272
7373 <p>Bugfixes and performance enhancements in the C library
74 are automatically picked up by the C++ and Fortran libraries.
75 The Java library will pick up the same bugfixes and enhancements
76 at its next subsequent release as it is always built with
77 the latest released version of the C library.
74 are automatically picked up by the C++, Fortran, and Java libraries.
7875
7976 <p>The release notes also list changes made to the library, but these
80 notes tend to be more at a more detail oriented level. The release
77 notes tend to be more at a more detail-oriented level. The release
8178 notes may include new features, bugs fixed, supported configuration
8279 features, platforms on which the library has been tested, and known
8380 problems. The release note files are listed below and can be found
9794 <tr><td style="padding-right:10px">
9895 <a href="http://www.hdfgroup.org/ftp/HDF5/current/src/unpacked/release_docs/HISTORY-1_8.txt"
9996 target="ExtWin"><code>HISTORY-1_8.txt</code></a></td>
100 <td style="padding-right:10px">Technical notes for previous 1.8
97 <td style="padding-right:10px">Technical notes for 1.8.x
10198 releases of the HDF5 Library by release
10299 </td></tr>
103100
114111 </dir>
115112
116113 <p><strong>Are you porting an existing application from
117 HDF5 Release 1.6.x to HDF5 Release 1.8.x?</strong>
114 HDF5 Release 1.8.x to HDF5 Release 1.10.x?</strong>
118115 <br />
119116 If you are porting an existing application
120 from any HDF5 version in the Release 1.6.x series
121 to any version in the Release 1.8.x series,
122 refer to &ldquo;<a href="../ADGuide/WhatsNew180.html">What's New in
123 HDF5 1.8.0</a>&rdquo;.
117 from any HDF5 version in the Release 1.8.x series
118 to any version in the Release 1.10.x series, refer to
119
120
121 <font color="brown"><i><strong>
122 &lt; link TBD &gt;
123 </strong></i></font>
124
125 <!-- &ldquo;<a href="../ADGuide/WhatsNew180.html">What's New in
126 HDF5 1.8.0</a>&rdquo;<-->
127
128 .
124129 This document, with the documents linked in its introduction,
125130 provides a guide to the changes introduced in the transition
126 from the 1.6.x series to HDF5 Release 1.8.0
127 and discussions of various compatibility issues.</p>
131 from the 1.8.x series to HDF5 Release 1.10.0
132 and discussions of various compatibility issues.
133 </p>
134 <p>
135 If you are porting an application from HDF5 Release 1.6.x, you should also see
136 &ldquo;<a href="../ADGuide/WhatsNew180.html">What's New in HDF5 1.8.0</a>&rdquo;.
128137
129138 <br />
130139
141150
142151
143152
144 <!-- MATERIAL DELAYED FROM 18.15 TO 1.8.16
145 <a name="1816">
146 <h2>Release 1.8.16 of November 2015 (current release) versus Release 1.8.15</h2>
153 <!-- MASKED ---- MATERIAL FOR 1.10.1--MATERIAL FOR 1.10.1--MATERIAL FOR 1.10.1
154 <a name="11001">
155 <h2>Release 1.10.1 of October(?) 2016 versus Release 1.10.0</h2>
147156 </a>
148157 <dir>
149158
150159 This section lists interface-level changes and
151160 other user-visible changes in behavior
152 in the transition from HDF5 Release 1.8.15 to Release 1.8.16.
161 in the transition from HDF5 Release 1.10.0 to Release 1.10.1.
153162
154163 <h3>New and Changed Functions, Classes, Subroutines, Wrappers,
155164 and Macros</h3>
180189 </dl>
181190 </dir>
182191 </dir>
183 -->
184
185
186 <!--
187 <br />&nbsp;
188 <br />&nbsp;
189 <br />&nbsp;
190 <br />
191 -->
192
193
192194
193195
194196
232234
233235 </font>
234236
235
236
237
238 <a name="1816">
239 <h2>Release 1.8.16 of November 2015 (current release) versus Release 1.8.15</h2>
237 END MASK ---- MATERIAL FOR 1.10.1--MATERIAL FOR 1.10.1--MATERIAL FOR 1.10.1 -->
238
239
240
241 <a name="11001">
242 <h2>Release 1.10.0 of March 2016 (current release) versus Release 1.8.16</h2>
240243 </a>
241244 <dir>
242245
243246
244247 This section lists interface-level changes and
245248 other user-visible changes in behavior
246 in the transition from HDF5 Release 1.8.15 to Release 1.8.16.
247
249 in the transition from HDF5 Release 1.8.16 to Release 1.10.0.
250
251 <h3>New Features and Feature Sets</h3>
252 <dir>
253 <dl>
254 <dt>Several new features are introduced in HDF5 Relesase 1.10.0.
255 <dd>Single-Writer / Multiple-Reader or SWMR
256 </dd>
257 <dd>Collective Metadata I/O
258 </dd>
259 <dd>Fine-tuning the metadata cache
260 </dd>
261 <dd>File Space Management
262 </dd>
263 <dd>Virtual Datasets or VDS
264 </dd>
265 <dd>&nbsp;
266 </dd>
267 <dd>Partial Edge Chunk Options
268 </dd>
269 <dd>Relative Pathnames for External Links
270 </dd>
271 <dd>Property List Encoding and Decoding
272 </dd>
273 <dd>&nbsp;
274 </dd>
275 </dt>
276 <dt>More substantial lists follow, including new and modified
277 C functions and Fortran subroutines.
278 </dt>
279 </dl>
280 </dir>
281
282 <!--
248283 <h3>New and Changed Functions, Classes, Subroutines, Wrappers,
249284 and Macros</h3>
250285 <dir>
251286 <dl>
252287 <dt><strong>In the C Interface (main library)</strong>
253 </dt>
254
255 <dt>New HDF5 Plugin Interface (H5PL)
256 </dt>
257 <dd>A new HDF5 Plugin Interface (H5PL), enabling
258 programmatic control of dynamically loaded plugins,
259 was introduced at HDF5 Release 1.8.15.
260 This interface was only partially documented at that time,
261 but more complete documentation is now available:
262 <ul>
263 <li>&ldquo;<a href="../Advanced/DynamicallyLoadedFilters/index.html">Dynamic
264 Plugins in HDF5</a>&rdquo;
265 in <i>Advanced Topics in HDF5</i>
266 </li>
267 <li>&ldquo;<a href="../RM/RM_H5PL.html">H5PL:
268 Plugin Interface</a>&rdquo;
269 in the <i>HDF5 Reference Manual</i>
270 </li>
271 <ul>
272 <li><a href="../RM/RM_H5PL.html#Plugin-SetLoadingState">
273 <code>H5PLset_loading_state</code></a>
274 </li>
275 <li><a href="../RM/RM_H5PL.html#Plugin-GetLoadingState">
276 <code>H5PLget_loading_state</code></a>
277 </li>
278 </ul>
279 </ul>
280 </dd>
288
289 </dt>
290 </dl>
291 </dir>
292 -->
293
294 <h3>New Features, including associated C Functions and Fortran Wrappers</h3>
295 <dir>
296 <dl>
297 <dt>The following features are described and documented in
298 <a href="/HDF5/docNewFeatures/">New Features in
299 HDF5 Release 1.10.0</a>.
300 On this page, we list each feature and its associated
301 C functions and Fortran wrappers.
302 </dt>
303
304 <p />
305 <dt><a href="/HDF5/docNewFeatures/NewFeaturesSwmrDocs.html">Single-writer
306 / Multiple-reader</a>, commonly called
307 <a href="/HDF5/docNewFeatures/NewFeaturesSwmrDocs.html">SWMR</a>:
308 <br />&nbsp;
309
310 <dd>
311
312 <!-- start nested table -->
313 <table>
314
315
316 <tr valign="top">
317 <td valign="top" width="25%">
318 <!--<a href="SWMR/H5Fstart_swmr_write.htm">-->
319 <code>H5Fstart_swmr_write</code></a></td>
320 <td valign="top" width="75%">
321 Enables SWMR writing mode for a file.</td>
322 </tr>
323
324
325 <tr valign="top">
326 <td valign="top">
327 <!--<a href="SWMR/H5DOappend.htm">-->
328 <code>H5DOappend</code></a></td>
329 <td valign="top">
330 Appends data to a dataset along a specified dimension.
331 <br />
332 <i>(This is a high-level API.)</i></td>
333 </tr>
334
335
336 <tr valign="top">
337 <td>
338 <!--<a href="SWMR/H5Pget_append_flush.htm">-->
339 <code>H5Pget_append_flush</code></a>
340 </td>
341 <td>
342 Retrieves the values of the append property that is set up in the
343 dataset access property list.
344 </td>
345 </tr>
346
347
348 <tr valign="top">
349 <td>
350 <!--<a href="SWMR/H5Pset_append_flush.htm">-->
351 <code>H5Pset_append_flush</code></a>
352 </td>
353 <td>
354 Sets two actions to perform when the size of a dataset&rsquo;s
355 dimension being appended reaches a specified boundary.
356 </td>
357 </tr>
358
359
360 <tr valign="top">
361 <td>
362 <!--<a href="SWMR/H5Pget_object_flush_cb.htm">-->
363 <code>H5Pget_object_flush_cb</code></a><code>&nbsp;&nbsp;&nbsp;</code>
364 </td>
365 <td>
366 Retrieves the object flush property values from the file access
367 property list.
368 </td>
369 </tr>
370
371
372 <tr valign="top">
373 <td>
374 <!--<a href="SWMR/H5Pset_object_flush_cb.htm">-->
375 <code>H5Pset_object_flush_cb</code></a>
376 </td>
377 <td>
378 Sets a callback function to invoke when an object flush occurs in
379 the file.
380 </td>
381 </tr>
382
383
384 <tr valign="top">
385 <td>
386 <!--<a href="SWMR/H5Odisable_mdc_flushes.htm">-->
387 <code>H5Odisable_mdc_flushes</code></a>
388 </td>
389 <td>
390 Prevents metadata entries for an HDF5 object from being flushed from
391 the metadata cache to storage.
392 </td>
393 </tr>
394
395
396 <tr valign="top">
397 <td>
398 <!--<a href="SWMR/H5Oenable_mdc_flushes.htm">-->
399 <code>H5Oenable_mdc_flushes</code></a>
400 </td>
401 <td>
402 Returns the cache entries associated with an HDF5 object to the
403 default metadata flush and eviction algorithm.
404 </td>
405 </tr>
406
407
408 <tr valign="top">
409 <td colspan="2">
410 <!--<a href="SWMR/H5Oare_mdc_flushes_disabled.htm">-->
411 <code>H5Oare_mdc_flushes_disabled</code></a>
412 </td>
413 <tr valign="top">
414 <td>&nbsp;</td>
415 <td>
416 Determines if an HDF5 object (dataset, group, committed
417 datatype) has had flushes of metadata entries disabled.
418 </td>
419 </tr>
420
421
422 <tr valign="top">
423 <td>
424 <!--<a href="SWMR/H5Fdisable_mdc_flushes.htm">-->
425 <code>H5Fdisable_mdc_flushes</code></a>
426 </td>
427 <td>
428 Globally prevents dirty metadata entries from being flushed from
429 the metadata cache to storage.
430 </td>
431 </tr>
432
433
434 <tr valign="top">
435 <td>
436 <!--<a href="SWMR/H5Fenable_mdc_flushes.htm">-->
437 <code>H5Fenable_mdc_flushes</code></a>
438 </td>
439 <td>
440 Returns a file&rsquo;s metadata cache to the standard eviction and
441 flushing algorithm.
442 </td>
443 </tr>
444
445
446 <tr valign="top">
447 <td colspan="2">
448 <!--<a href="SWMR/H5Fare_mdc_flushes_disabled.htm">-->
449 <code>H5Fare_mdc_flushes_disabled</code></a>
450 </td>
451 <tr valign="top">
452 <td>&nbsp;</td>
453 <td>
454 Determines if flushes have been globally disabled for a
455 file&rsquo;s metadata cache.
456 </td>
457 </tr>
458
459
460 <tr valign="top">
461 <td colspan="2">
462 <!--<a href="SWMR/H5Fget_mdc_flush_disabled_obj_ids.htm">-->
463 <code>H5Fget_mdc_flush_disabled_obj_ids</code></a>
464 </td>
465 <tr valign="top">
466 <td>&nbsp;</td>
467 <td>
468 Returns a list of all object identifiers for which flushes have
469 been disabled in a file&rsquo;s metadata cache.
470 </td>
471 </tr>
472
473
474
475 <tr>
476 <td valign="top" colspan="2">
477 &nbsp;<br />
478 <u>Command-line Tools:</u>
479 </td>
480 </tr>
481
482
483 <tr>
484 <td valign="top">
485 <!--<a href="SWMR/h5watch.htm">-->
486 <code>h5watch</code></a>
487 </td>
488 <td valign="top">
489 Allows users to output new records appended to a dataset under
490 SWMR access as it grows. The functionality is similar
491 to the Unix user command <code>tail</code> with the follow option,
492 which outputs appended data as the file grows.
493 </td>
494 </tr>
495
496
497 <tr>
498 <td valign="top">
499 <!--<a href="SWMR/h5format_convert.htm">-->
500 <code>h5format_convert</code></a>
501 </td>
502 <td valign="top">
503 This tool allows users to convert the indexing
504 type of a chunked dataset made with a 1.10.x version of the HDF5
505 Library when the latest file format is used to
506 the 1.8.x version 1 B-tree indexing type.
507 For example, datasets created using SWMR access, can be
508 converted to be accessed by the HDF5 1.18 library and tools. The
509 tool does not rewrite raw data, but it does rewrite HDF5 metadata.
510 </td>
511 </tr>
512
513 <!-- <tr><td bgcolor="#FFFFFF" colspan="2">&nbsp;</td></tr> -->
514 </table>
515 <!-- end nested table -->
516
517 </dd>
518 </dt>
519
520 <p />
521 <dt><a href="/HDF5/docNewFeatures/NewFeaturesCollectiveMetadataIoDocs.html">Collective
522 Metadata I/O</a>:
523 <br />&nbsp;
524 <dd>
525
526
527
528
529 <!-- start nested table -->
530 <table>
531
532
533 <tr>
534 <td valign="top" width="25%">
535 <!--<a href="CollMDataIO/H5Pset_coll_metadata_write.htm">-->
536 <code>H5Pset_coll_metadata_write</code></a>&nbsp;&nbsp;&nbsp;
537 <br />
538 <code>h5pset_coll_metadata_write_f</code></td>
539 <td valign="top" width="75%">
540 Establishes I/O mode property setting, collective or independent,
541 for metadata writes.</td>
542 </tr>
543
544
545 <tr>
546 <td valign="top" width="25%">
547 <!--<a href="CollMDataIO/H5Pget_coll_metadata_write.htm">-->
548 <code>H5Pget_coll_metadata_write</code></a>&nbsp;
549 <br />
550 <code>h5pget_coll_metadata_write_f</code></td>
551 <td valign="top" width="75%">
552 Retrieves I/O mode property setting for metadata writes.</td>
553 </tr
554
555
556 <tr>
557 <td valign="top" width="25%">
558 <!--<a href="CollMDataIO/H5Pset_all_coll_metadata_ops.htm">-->
559 <code>H5Pset_all_coll_metadata_ops</code></a><code>&nbsp;&nbsp;</code>&nbsp;
560 <br />
561 <code>h5pset_all_coll_metadata_ops_f</code></a><code>&nbsp;&nbsp;</code>
562 </td>
563 <td valign="top" width="75%">
564 Establishes I/O mode, collective or independent,
565 for metadata read operations.</td>
566 </td>
567 </tr>
568
569
570 <tr>
571 <td valign="top" width="25%">
572 <!--<a href="CollMDataIO/H5Pget_all_coll_metadata_ops.htm">-->
573 <code>H5Pget_all_coll_metadata_ops</code></a>&nbsp;
574 <br />
575 <code>h5pget_all_coll_metadata_ops_f</code></td>
576 <td valign="top" width="75%">
577 Retrieves I/O mode for metadata read operations.</td>
578 </tr>
579
580
581 </table>
582 <!-- end nested table -->
583
584 </dd>
585 </dt>
586
587
588 <p />
589 <dt><a href="/HDF5/docNewFeatures/NewFeaturesFineTuningMetadataCacheDocs.html">Fine-tuning
590 the Metadata Cache</a>:
591 <br />&nbsp;
592 <dd>
593
594
595
596 <!-- start nested table -->
597
598 <table width="100%">
599 <tr align="left" valign="top">
600 <td width="20%" colspan="2">
601 <!--<a href="FineTuneMDC/H5Fget_metadata_read_retries_info.htm">-->
602 <code>H5Fget_metadata_read_retries_info</code></a>
603 </td></tr>
604 <tr><td>&nbsp;
605 </td>
606 <td align="left" valign="top" width="80%">
607 Retrieves the collection of read retries for metadata items with checksum.
608 </td>
609 </tr>
610
611
612 <tr align="left" valign="top">
613 <td colspan="2">
614 <!--<a href="FineTuneMDC/H5Pget_metadata_read_attempts.htm">-->
615 <code>H5Pget_metadata_read_attempts</code></a>
616 </td></tr>
617 <tr><td>&nbsp;
618 </td>
619 <td>
620 Retrieves the number of read attempts from a file access property list.
621 </td>
622 </tr>
623
624
625 <tr align="left" valign="top">
626 <td colspan="2">
627 <!--<a href="FineTuneMDC/H5Pset_metadata_read_attempts.htm">-->
628 <code>H5Pset_metadata_read_attempts</code></a>
629 </td></tr>
630 <tr><td>&nbsp;
631 </td>
632 <td>
633 Sets the number of read attempts in a file access property list.
634 </td>
635 </tr>
636
637
638 <tr align="left" valign="top">
639 <td>
640 <!--<a href="FineTuneMDC/H5Dflush.htm">-->
641 <code>H5Dflush</code></a>
642 </td>
643 <td>
644 Causes all buffers associated with a dataset to be immediately
645 written to disk without removing the data from the cache.
646 </td>
647 </tr>
648
649
650 <tr align="left" valign="top">
651 <td>
652 <!--<a href="FineTuneMDC/H5Drefresh.htm">-->
653 <code>H5Drefresh</code></a>
654 </td>
655 <td>
656 Causes all buffers associated with a dataset to be
657 cleared and immediately re-loaded with updated contents from disk storage.
658 </td>
659 </tr>
660
661
662 <tr align="left" valign="top">
663 <td>
664 <!--<a href="FineTuneMDC/H5Gflush.htm">-->
665 <code>H5Gflush</code></a>
666 </td>
667 <td>
668 Causes all buffers associated with a group to be immediately flushed
669 to disk without removing the data from the cache.
670 </td>
671 </tr>
672
673
674 <tr align="left" valign="top">
675 <td>
676 <!--<a href="FineTuneMDC/H5Grefresh.htm">-->
677 <code>H5Grefresh</code></a>
678 </td>
679 <td>
680 Causes all buffers associated with a group to be cleared and
681 immediately re-loaded with updated contents from disk storage.
682 </td>
683 </tr>
684
685
686 <tr align="left" valign="top">
687 <td>
688 <!--<a href="FineTuneMDC/H5Oflush.htm">-->
689 <code>H5Oflush</code></a>
690 </td>
691 <td>
692 Causes all buffers associated with an object to be immediately
693 flushed to disk without removing the data from the cache.
694 </td>
695 </tr>
696
697
698 <tr align="left" valign="top">
699 <td>
700 <!--<a href="FineTuneMDC/H5Orefresh.htm">-->
701 <code>H5Orefresh</code></a>
702 </td>
703 <td>
704 Causes all buffers associated with an object to be cleared and
705 immediately re-loaded with updated contents from disk storage.
706 </td>
707 </tr>
708
709
710 <tr align="left" valign="top">
711 <td>
712 <!--<a href="FineTuneMDC/H5Tflush.htm">-->
713 <code>H5Tflush</code></a>
714 </td>
715 <td>
716 Causes all buffers associated with a committed datatype to be
717 immediately flushed to disk without removing the data from the cache.
718 </td>
719 </tr>
720
721
722 <tr align="left" valign="top">
723 <td>
724 <!--<a href="FineTuneMDC/H5Trefresh.htm">-->
725 <code>H5Trefresh</code></a>
726 </td>
727 <td>
728 Causes all buffers associated with a committed datatype to be
729 cleared and immediately re-loaded with updated contents from disk storage.
730 </td>
731 </tr>
732
733
734 <tr align="left" valign="top">
735 <td>
736 <!--<a href="FineTuneMDC/H5Fget_intent.htm">-->
737 <code>H5Fget_intent</code></a>
738 </td>
739 <td>
740 Determines the read/write or read-only status of a file.
741 </td>
742 </tr>
743
744
745
746
747 <!-- logging APIs start -->
748
749
750 <!-- <table> -->
751 <tr><td valign="top" colspan="2">
752 &nbsp;<br />
753 <a name="LoggingApis"><u>
754 Logging APIs:</u></a>
755 </td>
756 </tr>
757
758
759 <tr align="left" valign="top">
760 <td>
761 <!--<a href="FineTuneMDC/H5Pset_mdc_log_options.htm">-->
762 <code>H5Pset_mdc_log_options</code></a><code>&nbsp;&nbsp;</code>
763 </td>
764 <td align="left" valign="top" width="80%">
765 Sets metadata cache logging options.
766 </td>
767 </tr>
768
769
770 <tr align="left" valign="top">
771 <td>
772 <!--<a href="FineTuneMDC/H5Pget_mdc_log_options.htm">-->
773 <code>H5Pget_mdc_log_options</code></a>
774 </td>
775 <td align="left" valign="top" >
776 Gets metadata cache logging options.
777 </td>
778 </tr>
779
780
781 <tr align="left" valign="top">
782 <td>
783 <!--<a href="FineTuneMDC/H5Fstart_mdc_logging.htm">-->
784 <code>H5Fstart_mdc_logging</code></a>
785 </td>
786 <td align="left" valign="top" >
787 Starts logging metadata cache events if logging was previously enabled.
788 </td>
789 </tr>
790
791
792 <tr align="left" valign="top">
793 <td>
794 <!--<a href="FineTuneMDC/H5Fstop_mdc_logging.htm">-->
795 <code>H5Fstop_mdc_logging</code></a>
796 </td>
797 <td align="left" valign="top" >
798 Stops logging metadata cache events if logging was previously
799 enabled and is currently ongoing.
800 </td>
801 </tr>
802
803
804 <tr align="left" valign="top">
805 <td colspan="2">
806 <!--<a href="FineTuneMDC/H5Pget_mdc_logging_status.htm">-->
807 <code>H5Pget_mdc_logging_status</code></a>
808 </td></tr>
809 <tr><td>&nbsp;
810 </td>
811 <td align="left" valign="top" >
812 Gets the current metadata cache logging status.
813 </td>
814 </tr>
815
816
817 <!-- logging APIs end -->
818 </table>
819 <!-- end nested table -->
820
821
822 </dd>
823 </dt>
824
825
826 <p />
827 <dt><a href="/HDF5/docNewFeatures/NewFeaturesFileSpaceMgmtDocs.html">File
828 Space Management</a>:
829 <br />&nbsp;
830 <dd>
831
832
833 <!-- start nested table -->
834
835 <table>
836
837 <tr>
838 <td valign="top" width="25%">
839 <!--<a href="FileSpace/H5Fget_free_sections.htm">-->
840 <code>H5Fget_free_sections</code></a>
841 </td>
842 <td valign="top" width="3%">
843 &nbsp;
844 </td>
845 <td valign="top" width="72%">
846 Retrieves free-space section information for a file.
847 </td>
848 </tr>
849
850
851 <tr>
852 <td valign="top">
853 <!--<a href="FileSpace/H5Fget_freespace.htm">-->
854 <code>H5Fget_freespace</code></a>
855 </td>
856 <td valign="top">
857 &nbsp;
858 </td>
859 <td valign="top">
860 Returns the amount of free space in a file.
861 </td>
862 </tr>
863
864
865 <tr>
866 <td>
867 <!--<a href="FileSpace/H5Fget_info2.htm">-->
868 <code>H5Fget_info2</code></a>
869 </td>
870 <td valign="top">
871 &nbsp;
872 </td>
873 <td>
874 Returns global information for a file.
875 </td>
876 </tr>
877
878
879 <tr>
880 <td valign="top">
881 <!--<a href="FileSpace/H5Pset_file_space.htm">-->
882 <code>H5Pset_file_space</code></a>
883 </td>
884 <td valign="top">
885 &nbsp;
886 </td>
887 <td valign="top">
888 Sets the file space management strategy and/or
889 the free-space section threshold for an HDF5 file.
890 </td>
891 </tr>
892
893
894 <tr>
895 <td valign="top">
896 <!--<a href="FileSpace/H5Pget_file_space.htm">-->
897 <code>H5Pget_file_space</code></a>
898 </td>
899 <td valign="top">
900 &nbsp;
901 </td>
902 <td valign="top">
903 Retrieves the file space management strategy and/or
904 the free-space section threshold for an HDF5 file.
905 </td>
906 </tr>
907
908
909 <tr><td bgcolor="#FFFFFF" colspan="2">&nbsp;</td></tr>
910
911
912 <!--
913 <tr>
914 <td bgcolor="#FFFFFF" align="left" valign="top" colspan="2">
915 <font size="5" color="#004488"><a name="Tools">Tool</a></font>
916 </td></tr>
917 -->
918
919
920 <tr>
921 <td align="left" valign="top" colspan="3">
922 The following tool has been modified to preserve or modify
923 file freepace information appropriately when processing files
924 employing the VDS feature:
925 </td></tr>
926
927
928 <tr>
929 <td align="left" valign="top" colspan="2">
930 <!--<a href="FileSpace/h5repack.htm">-->
931 <code>h5repack</code></a>
932 </td>
933 <td align="left" valign="top">
934 Repacks HDF5 files with various options, including the ability
935 to change the applied filters.
936 This version of <code>h5repack</code> understands the
937 file free space feature and handles the file and metadata
938 appropriately.
939 </td>
940 </tr>
941 </table>
942
943 <!-- end nested table -->
944
945
946 </dd>
947 </dt>
948
949
950 <p />
951 <dt><a href="/HDF5/docNewFeatures/NewFeaturesVirtualDatasetDocs.html">Virtual
952 Dataset</a> or
953 <a href="/HDF5/docNewFeatures/NewFeaturesVirtualDatasetDocs.html">VDS</a>:
954 <br />&nbsp;
955 <dd>
956
957
958 <!-- start nested table -->
959
960 <table>
961
962
963 <tr>
964 <td valign="top" width="25%">
965 <!--<a href="VDS/H5Pset_virtual.htm">-->
966 <code>H5Pset_virtual</code></a>
967 <br />
968 <code>h5pset_virtual_f</code></td>
969 <td valign="top" width="75%">
970 Sets the mapping between virtual and source datasets.</td>
971 </tr>
972
973
974 <tr>
975 <td valign="top">
976 <!--<a href="VDS/H5Pget_virtual_count.htm">-->
977 <code>H5Pget_virtual_count</code></a>
978 <br />
979 <code>h5pget_virtual_count_f</code></td>
980 <td valign="top">
981 Retrieves the number of mappings for the virtual dataset.</td>
982 </tr>
983
984
985 <tr>
986 <td valign="top">
987 <!--<a href="VDS/H5Pget_virtual_vspace.htm">-->
988 <code>H5Pget_virtual_vspace</code></a>
989 <br />
990 <code>h5pget_virtual_vspace_f</code>
991 </td>
992 <td valign="top">
993 Retrieves a dataspace identifier for the selection
994 within the virtual dataset used in the mapping.
995 </td>
996 </tr>
997
998
999 <tr>
1000 <td valign="top">
1001 <!--<a href="VDS/H5Pget_virtual_srcspace.htm">-->
1002 <code>H5Pget_virtual_srcspace</code></a>
1003 <br />
1004 <code>h5pget_virtual_srcspace_f</code>
1005 </td>
1006 <td valign="top">
1007 Retrieves a dataspace identifier for the selection
1008 within the source dataset used in the mapping.
1009 </td>
1010 </tr>
1011
1012
1013 <tr>
1014 <td valign="top">
1015 <!--<a href="VDS/H5Pget_virtual_dsetname.htm">-->
1016 <code>H5Pget_virtual_dsetname</code></a>
1017 <br />
1018 <code>h5pget_virtual_dsetname_f</code>
1019 </td>
1020 <td valign="top">
1021 Retrieves the name of a source dataset used in the mapping.</td>
1022 </tr>
1023
1024
1025 <tr>
1026 <td valign="top">
1027 <!--<a href="VDS/H5Pget_virtual_filename.htm">-->
1028 <code>H5Pget_virtual_filename</code></a>
1029 <br />
1030 <code>h5pget_virtual_filename_f</code>
1031 </td>
1032 <td valign="top">
1033 Retrieves the filename of a source dataset used in the mapping.
1034 </td>
1035 </tr>
1036
1037
1038 <tr>
1039 <td valign="top">
1040 <!--<a href="VDS/H5Pset_virtual_printf_gap.htm">-->
1041 <code>H5Pset_virtual_printf_gap</code></a>
1042 <br />
1043 <code>h5pset_virtual_printf_gap_f</code>
1044 </td>
1045 <td valign="top">
1046 Sets maximum number of missing source files and/or datasets with
1047 printf-style names when getting the extent of an unlimited
1048 virtual dataset.
1049 </td>
1050 </tr>
1051
1052
1053 <tr>
1054 <td valign="top">
1055 <!--<a href="VDS/H5Pget_virtual_printf_gap.htm">-->
1056 <code>H5Pget_virtual_printf_gap</code></a>
1057 <br />
1058 <code>h5pget_virtual_printf_gap_f</code>
1059 </td>
1060 <td valign="top">
1061 Returns maximum number of missing source files and/or datasets with
1062 printf-style names when getting the extent for an unlimited
1063 virtual dataset.
1064 </td>
1065 </tr>
1066
1067
1068 <tr>
1069 <td valign="top">
1070 <!--<a href="VDS/H5Pset_virtual_view.htm">-->
1071 <code>H5Pset_virtual_view</code></a>
1072 <br />
1073 <code>h5pset_virtual_view_f</code>
1074 </td>
1075 <td valign="top">
1076 Sets the view of the virtual dataset to include or exclude
1077 missing mapped elements.
1078 </td>
1079 </tr>
1080
1081
1082 <tr>
1083 <td valign="top">
1084 <!--<a href="VDS/H5Pget_virtual_view.htm">-->
1085 <code>H5Pget_virtual_view</code></a>
1086 <br />
1087 <code>h5pget_virtual_view_f</code>
1088 </td>
1089 <td valign="top">
1090 Retrieves the view of a virtual dataset.
1091 </td>
1092 </tr>
1093
1094
1095 <tr>
1096 <td valign="top" colspan="2">
1097 &nbsp;<br />
1098 <u>Supporting Functions:</u>
1099 </td>
1100 </tr>
1101
1102
1103
1104 <tr>
1105 <td valign="top">
1106 <!--<a href="VDS/H5Sis_regular_hyperslab.htm">-->
1107 <code>H5Sis_regular_hyperslab</code></a>
1108 <br />
1109 <code>h5sis_regular_hyperslab_f</code>
1110 </td>
1111 <td valign="top">
1112 Determines whether a hyperslab selection is regular.
1113 </td>
1114 </tr>
1115
1116
1117 <tr>
1118 <td valign="top">
1119 <!--<a href="VDS/H5Sget_regular_hyperslab.htm">-->
1120 <code>H5Sget_regular_hyperslab</code></a><code>&nbsp;&nbsp;&nbsp;</code>
1121 <br />
1122 <code>h5sget_regular_hyperslab_f</code><code>
1123 </td>
1124 <td valign="top">
1125 Retrieves a regular hyperslab selection.
1126 </td>
1127 </tr>
1128
1129
1130 <tr>
1131 <td valign="top" colspan="2">
1132 &nbsp;<br />
1133 <u>Modified Functions:</u>
1134 <br />
1135 The following pre-exising functions have been modified to understand
1136 virtual datasets.
1137 </td>
1138 </tr>
1139
1140
1141
1142 <tr>
1143 <td valign="top" width="25%">
1144 <!--<a href="VDS/H5Pset_layout.htm">-->
1145 <code>H5Pset_layout</code></a>
1146 <br />
1147 <code>h5pset_layout_f</code></td>
1148 <td valign="top" width="75%">
1149 Specifies the layout to be used for a dataset.
1150 <br />
1151 Virtual dataset, <code>H5D_VIRTUAL</code>, has been added
1152 to the list of layouts available through this function.</td>
1153 </tr>
1154
1155
1156 <tr>
1157 <td valign="top" width="25%">
1158 <!--<a href="VDS/H5Pget_layout.htm">-->
1159 <code>H5Pget_layout</code></a>
1160 <br />
1161 <code>h5pget_layout_f</code></td>
1162 <td valign="top" width="75%">
1163 Retrieves the layout in use for a dataset.
1164 <br />
1165 Virtual dataset, <code>H5D_VIRTUAL</code>, has been added
1166 to the list of layouts.</td>
1167 </tr>
1168
1169
1170
1171 </table>
1172 <!-- end nested table -->
1173
1174
1175 </dd>
1176 </dt>
1177
1178
1179 <p />
1180 <dt><a href="/HDF5/docNewFeatures/NewFeaturesPartialEdgeChunkDocs.html">Partial
1181 Edge Chunks</a>:
1182 <br />&nbsp;
1183 <dd>
1184
1185
1186 <!-- start nested table -->
1187 <table>
1188
1189
1190 <tr>
1191 <td valign="top" width="25%">
1192 <!--<a href="PartialEdgeChunks/H5Pset_chunk_opts.htm">-->
1193 <code>H5Pset_chunk_opts</code></a>&nbsp;&nbsp;&nbsp;</td>
1194 <td valign="top" width="75%">
1195 Sets a partial edge chunk option in a dataset access property list.</td>
1196 </tr>
1197
1198
1199 <tr>
1200 <td valign="top" width="25%">
1201 <!--<a href="PartialEdgeChunks/H5Pget_chunk_opts.htm">-->
1202 <code>H5Pget_chunk_opts</code></a>&nbsp;</td>
1203 <td valign="top" width="75%">
1204 Retrieves partial edge chunk option setting
1205 from a dataset access property list.</td>
1206 </tr>
1207
1208
1209 </table>
1210 <!-- end nested table -->
1211
1212
1213 </dd>
1214 </dt>
1215
1216
1217 <p />
1218 <dt>Relative Pathnames for External Links:
1219 <!--
1220 <a href="/HDF5/docNewFeatures/NewFeaturesExternalLinkDocs.html">Relative
1221 Pathnames for External Links</a>:
1222 -->
1223 <br />&nbsp;
1224 <dd>
1225
1226
1227 <!-- start nested table -->
1228 <table>
1229
1230
1231 <tr>
1232 <td valign="top" width="25%">
1233 <!--<a href="ExternalLinkPrefix/H5Pset_elink_prefix.htm">-->
1234 <code>H5Pset_elink_prefix</code></a>&nbsp;&nbsp;&nbsp;</td>
1235 <td valign="top" width="75%" rowspan="2">
1236 These functions enable the user to specify the locations of
1237 external files.
1238 <br />
1239 <i>(These functions are not yet documented.)</i>
1240 </td>
1241 </tr>
1242
1243
1244 <tr>
1245 <td valign="top" width="25%">
1246 <!--<a href="ExternalLinkPrefix/H5Pget_elink_prefix.htm">-->
1247 <code>H5Pget_elink_prefix</code></a>&nbsp;</td>
1248 <!--<td valign="top" width="75%">
1249 &nbsp; </td> -->
1250 </tr>
1251
1252
1253 </table>
1254 <!-- end nested table -->
1255
1256
1257 </dd>
1258 </dt>
1259
1260
1261 <p />
1262 <dt>Property List Encoding and Decoding:
1263 <!--
1264 <a href="/HDF5/docNewFeatures/NewFeaturesProperListEncodingDocs.html">Property
1265 List Encoding and Decoding</a>:
1266 -->
1267 <br />&nbsp;
1268 <dd>
1269
1270
1271 <!-- start nested table -->
1272 <table>
1273
1274
1275 <tr>
1276 <td valign="top" width="25%">
1277 <!--<a href="PListEncoding/H5Pencode.htm">-->
1278 <code>H5Pencode</code></a>&nbsp;&nbsp;&nbsp;</td>
1279 <td valign="top" width="75%">
1280 &nbsp; </td>
1281 </tr>
1282
1283
1284 <tr>
1285 <td valign="top" width="25%">
1286 <!--<a href="PListEncoding/H5Pdecode.htm">-->
1287 <code>H5Pdecode</code></a>&nbsp;</td>
1288 <td valign="top" width="75%">
1289 &nbsp; </td>
1290 </tr>
1291
1292
1293 </table>
1294 <!-- end nested table -->
1295
1296
1297 </dd>
1298 </dt>
1299
1300
1301 <font color="brown">
1302 <p />
1303 <dt><a href="/HDF5/docNewFeatures/NewFeaturesAnotherFeatureDocs.html">Another
1304 Feature?</a>:
1305 <br />&nbsp;
1306 <dd>
1307 Placeholder for additional features.
1308
1309
1310 <!-- start nested table -->
1311 <!-- end nested table -->
1312
1313
1314 </dd>
1315 </dt>
1316 </font>
1317
1318
1319 </dl>
1320 </dir>
1321
1322
1323 <h3>API Compatibility</h3>
1324 <dir>
1325 <dl>
1326 <p />
1327 <dt>See <a href="../RM/APICompatMacros.html">API Compatibility
1328 Macros in HDF5</a> for details on the following.
1329
1330 <p />
1331 <dt>New API Compatibility Flag
1332 <dd>A new <code>v18</code> flag was added enabling the building
1333 of HDF5 such that the default API is compatible with the
1334 HDF5 Release 1.8.x API:
1335 <br />
1336 <code>&nbsp;&nbsp;&nbsp;&nbsp;--with-default-api-version=v18</code>
1337 <br />
1338
1339 <p />
1340 <dt>New versioned functions and associated compatibility macros
1341 <dd>Two functions and a struct have been converted to
1342 a versioned form in this release.
1343 Compatibility macros have been created for each.
1344 <p />
1345 <dl><dt><code>H5Fget_info</code>
1346 <dd>The original function is renamed to
1347 <code>H5Fget_info1</code> and deprecated.
1348 </dd>
1349 <dd>A new version of the function,
1350 <code>H5Fget_info2</code>, is introduced.
1351 </dd>
1352 <dd>The compatiblity macro <code>H5Fget_info</code>
1353 is introduced.
1354 </dt>
1355 </dl>
1356 <p />
1357 <dl><dt><code>H5F_info_t</code>
1358 <dd>This is the struct used by the
1359 <code>H5Fget_info</code> functions and macro.
1360 <dd>The original struct is renamed to
1361 <code>H5F_info1_t</code> and deprecated.
1362 </dd>
1363 <dd>A new version of the struct,
1364 <code>H5F_info2_t</code>, is introduced.
1365 </dd>
1366 <dd>The compatiblity macro <code>H5F_info_t</code>
1367 is introduced.
1368 </dt>
1369 </dl>
1370 <p />
1371 <dl><dt><code>H5Rdereference</code>
1372 <dd>The original function is renamed to
1373 <code>H5Rdereference1</code> and deprecated.
1374 </dd>
1375 <dd>A new version of the function,
1376 <code>H5Rdereference2</code>, is introduced.
1377 </dd>
1378 <dd>The compatiblity macro <code>H5Rdereference</code>
1379 is introduced.
1380 </dt>
1381 </dl>
1382 </dd>
1383
1384 </dt>
1385
1386 </dl>
1387 </dir>
1388
1389
1390 <h3>Autotools Configuration and Large File Support</h3>
1391 <dir>
1392 <dl>
1393 <p />
1394 <dt>Autotools configuration has been extensively reworked
1395 and autotool&rsquo;s handling of large file support
1396 has been overhauled in this release.
1397 <p />
1398 See the following sections in <code>RELEASE.txt</code>:
1399 <ul>
1400 <li>&ldquo;Autotools Configuration Has Been Extensively
1401 Reworked&rdquo;
1402 <li>&ldquo;LFS Changes&rdquo;
1403 </ul>
1404 <p />
1405 <code>RELEASE.txt</code> is found in the
1406 <code>release_docs/</code> subdirectory at the root level
1407 of the HDF5 code distribution.
1408
1409 </dl>
1410 </dir>
1411
1412 </dir>
1413 <dir>
1414
1415 <h3>Compatibility Report and Comments</h3>
1416 <dir>
1417 <dl>
1418 <dt><strong>Compatibility report for Release 1.10.0 versus
1419 Release 1.8.16</strong>
1420 </dt>
1421 <dd>
1422 <a href="Compatibility_Report/CR_1.10.0.html">API
1423 compatibility report for the HDF5 Library
1424 between 1.10.0 and 1.8.16 versions on
1425 x86</a>
1426 </dd>
1427
1428 <p>
1429 <dt><strong>Changed shared library interface version
1430 number (<code>soname</code>)</strong>
1431 </dt>
1432 <dd>Comments, comments, comments.
1433 <br>
1434 These comments are inserted at the very end of release preparation;
1435 comments from 1.8 follow as template and placeholder.
1436 <p>
1437 In the C++ interface, two overloaded methods
1438 have been combined into a single method
1439 and one constructor has been deprecated.
1440 <p>
1441 Due to these changes, the shared library interface version
1442 number (<code>soname</code>) has been increased.
1443 For a full list of the changed symbols, see the
1444 interface compatibility report linked immediately above.
1445 </dd>
1446
1447 </dl>
1448 </dir>
1449
1450 </dir>
1451
1452
1453
1454 <!-- BLOCKING OFF TEMPLATE TEXT
1455 <hr />
1456 <hr />
2811457
2821458 <p />
2831459 <dt>The following new C function has been added:
4371613 </dl>
4381614 </dir>
4391615
440 <h3>Compatibility Report and Comments</h3>
441 <dir>
442 <dl>
443 <dt><strong>Compatibility report for Release 1.8.16 versus
444 Release 1.8.15</strong>
445 </dt>
446 <dd>
447 <a href="Compatibility_Report/CR_1.8.16.html">API
448 compatibility report for the HDF5 Library
449 between 1.8.15 and 1.8.16 versions on
450 x86</a>
451 </dd>
452
453
454
455
456 <p>
457 <dt><strong>Changed shared library interface version
458 number (<code>soname</code>)</strong>
459 </dt>
460 <dd>
461
462 &lt; More detailed description of changes &gt;
463
464 <p>
465 Due to these changes, the shared library interface version
466 number (<code>soname</code>) has been increased.
467 For a full list of the changed symbols, see the
468 interface compatibility report linked immediately above.
469 </dd>
470
471
472 <!--
473 <p>
474 <dt><strong>Changed shared library interface version
475 number (<code>soname</code>)</strong>
476 </dt>
477 <dd>In the C++ interface, two overloaded methods
478 have been combined into a single method
479 and one constructor has been deprecated.
480 <p>
481 Due to these changes, the shared library interface version
482 number (<code>soname</code>) has been increased.
483 For a full list of the changed symbols, see the
484 interface compatibility report linked immediately above.
485 </dd>
486 -->
487
488 </dl>
489 </dir>
1616
1617 <!-- END OF 1.8.16 SECTION -->
4901618
4911619
4921620
7891917
7901918 </dl>
7911919 </dir>
792
1920 -->
1921 <!-- END 1.8.15 MASK -->
1922
1923 <!--
1924 <dir>
7931925
7941926 <h3>Compatibility Report and Comments</h3>
7951927 <dir>
7961928 <dl>
797 <dt><strong>Compatibility report for Release 1.8.15 versus
798 Release 1.8.14</strong>
1929 <dt><strong>Compatibility report for Release 1.10.0 versus
1930 Release 1.8.16</strong>
7991931 </dt>
8001932 <dd>
801 <a href="Compatibility_Report/CR_1.8.15.html">API
1933 <a href="Compatibility_Report/CR_1.10.0.html">API
8021934 compatibility report for the HDF5 Library
803 between 1.8.14 and 1.8.15 versions on
1935 between 1.10.0 and 1.8.16 versions on
8041936 x86</a>
8051937 </dd>
8061938
8081940 <dt><strong>Changed shared library interface version
8091941 number (<code>soname</code>)</strong>
8101942 </dt>
811 <dd>In the C++ interface, two overloaded methods
1943 <dd>Comments, comments, comments.
1944 <br>
1945 These comments are inserted at the very end of release preparation;
1946 comments from 1.8 follow as template and placeholder.
1947 <p>
1948 In the C++ interface, two overloaded methods
8121949 have been combined into a single method
8131950 and one constructor has been deprecated.
8141951 <p>
8231960
8241961 </dir>
8251962 -->
826 <!-- END 1.8.15 MASK -->
8271963
8281964
8291965 <br />
8301966 </dir>
8311967
1968 <hr>
1969
8321970
8331971
1972 <!--
1973 <a name="110xx">
1974 <h2>Prior Releases in the 1.10.x Series</h2>
1975 </a>
1976
1977 <dir>
1978
1979 Change notes for HDF5 Release 1.10.0 to the release immediately
1980 preceding the current release are published in
1981 &ldquo;<a href="Changes_1_10_x.html">HDF5 Software Changes from
1982 Release to Release for HDF5 Releases 1.10.x</a>&rdquo;.
1983
1984 </dir>
1985 <br />
1986 -->
1987
1988
8341989 <a name="18x">
835 <h2>Prior Releases in the 1.8.x Series</h2>
1990 <h2>Releases in the 1.8.x Series</h2>
8361991 </a>
8371992
8381993 <dir>
8472002
8482003
8492004 <a name="1610">
850 <h2>Releases 1.6.x and 1.4.x</h2>
2005 <h2>Releases in the 1.6.x and 1.4.x Series</h2>
8512006 </a>
8522007
8532008 <dir>
9202075 <!-- Created: Spring 1999 -->
9212076 <!-- hhmts start -->
9222077 <hr />
923 Last modified: 4 November 2015
2078 Last modified: 25 March 2016
9242079 <!-- hhmts end -->
9252080 <br />
9262081 <br />
8585 </ul>
8686 <p>
8787
88 <p><strong>Are you porting an existing application from
89 HDF5 Release 1.6.x to HDF5 Release 1.8.x?</strong>
8890 <br />
89
90
91 If you are porting an existing application
92 from any HDF5 version in the Release 1.6.x series
93 to any version in the Release 1.8.x series, refer to
94 &ldquo;<a href="../ADGuide/WhatsNew180.html">What's New in
95 HDF5 1.8.0</a>&rdquo;.
96 This document, with the documents linked in its introduction,
97 provides a guide to the changes introduced in the transition
98 from the 1.6.x series to HDF5 Release 1.8.0
99 and discussions of various compatibility issues.
100
101 <br />
102
103
104
105
106 <a name="1816">
107 <h2>Release 1.8.16 of November 2015 versus Release 1.8.15</h2>
108 </a>
109 <dir>
110
111
112 This section lists interface-level changes and
113 other user-visible changes in behavior
114 in the transition from HDF5 Release 1.8.15 to Release 1.8.16.
115
116 <h3>New and Changed Functions, Classes, Subroutines, Wrappers,
117 and Macros</h3>
118 <dir>
119 <dl>
120 <dt><strong>In the C Interface (main library)</strong>
121 </dt>
122
123 <dt>New HDF5 Plugin Interface (H5PL)
124 </dt>
125 <dd>A new HDF5 Plugin Interface (H5PL), enabling
126 programmatic control of dynamically loaded plugins,
127 was introduced at HDF5 Release 1.8.15.
128 This interface was only partially documented at that time,
129 but more complete documentation is now available:
130 <ul>
131 <li>&ldquo;<a href="../Advanced/DynamicallyLoadedFilters/index.html">Dynamic
132 Plugins in HDF5</a>&rdquo;
133 in <i>Advanced Topics in HDF5</i>
134 </li>
135 <li>&ldquo;<a href="../RM/RM_H5PL.html">H5PL:
136 Plugin Interface</a>&rdquo;
137 in the <i>HDF5 Reference Manual</i>
138 </li>
139 <ul>
140 <li><a href="../RM/RM_H5PL.html#Plugin-SetLoadingState">
141 <code>H5PLset_loading_state</code></a>
142 </li>
143 <li><a href="../RM/RM_H5PL.html#Plugin-GetLoadingState">
144 <code>H5PLget_loading_state</code></a>
145 </li>
146 </ul>
147 </ul>
148 </dd>
149
150 <p />
151 <dt>The following new C function has been added:
152 </dt>
153 <dd>This function reports whether the linked
154 version of the HDF5 Library was built
155 with the thread-safety feature enabled.
156 <ul>
157 <li><a href="../RM/RM_H5.html#Library-IsLibraryThreadsafe">
158 <code>H5is_library_threadsafe</code></a>
159 </ul>
160 </dd>
161
162 <p />
163 <dt>The following flag has been removed:
164 </dt>
165 <dd><code>H5F_ACC_DEBUG</code> flag for
166 <code>H5Fopen/create</code>
167 <font size="1"><br />&nbsp;<br /></font>
168 The flag <code>H5F_ACC_DEBUG</code> was used to provide
169 extra debugging information for HDF Library developers.
170 This flag and the underlying functionality have been
171 removed from the library due to disuse.
172 The symbol remains defined since it was visible in
173 <code>H5Fpublic.h</code>, but it has been set to
174 zero&nbsp;(<code>0</code>) and has no effect anywhere
175 in the library.
176 <ul>
177 <li><a href="../RM/RM_H5F.html#File-Open">
178 <code>H5Fopen</code></a>
179 </ul>
180 </dd>
181
182 <p>
183 <dt><strong>In the C++ Interface</strong>
184 </dt>
185
186 <dt>The following features have been added:
187 </dt>
188 <dd>
189 <li>New class <code>H5::ObjCreatPropList</code>
190 for the object creation property list class
191 <p />
192 The new class <code>H5::ObjCreatPropList</code>
193 is derived from <code>H5::PropList</code> and
194 is a baseclass of <code>H5::DSetCreatPropList</code>.
195 Additional property list classes will be added to
196 the library in future releases and some of those will
197 be derived from <code>H5::ObjCreatPropList</code>.
198 </li>
199 <li>New wrappers for the C functions
200 <code>H5P[s/g]et_attr_phase_change</code> and
201 <code>H5P[s/g]et_attr_creation_order</code>
202 <p />
203 The following wrappers were added to the class
204 <code>H5::ObjCreatPropList</code>
205 for the respective C functions:
206 <table>
207 <tr><td align="left"><u>C Function</u></th>
208 <td align="left"><u>C++ Wrapper</u></th>
209 </tr>
210 <tr>
211 <td><code>H5Pset_attr_phase_change</code></td>
212 <td><code>H5::ObjCreatPropList::setAttrPhaseChange
213 </code></td>
214 </tr>
215 <tr>
216 <td><code>H5Pget_attr_phase_change</code></td>
217 <td><code>H5::ObjCreatPropList::getAttrPhaseChange
218 </code></td>
219 </tr>
220 <tr>
221 <td><code>H5Pset_attr_creation_order</code></td>
222 <td><code>H5::ObjCreatPropList::setAttrCrtOrder
223 </code></td>
224 </tr>
225 <tr>
226 <td><code>H5Pget_attr_creation_order&nbsp;&nbsp;
227 </code></td>
228 <td><code>H5::ObjCreatPropList::getAttrCrtOrder
229 </code></td>
230 </tr>
231 </table>
232 </li>
233
234 </dd>
235
236 </dl>
237 </dir>
238
239
240 <h3>Library Configuration</h3>
241 <dir>
242 <dl>
243 <p />
244 <dt>Use of thread-safety with the HDF5 High-level Library
245 has been declared unsupported in the build tools:
246 Autotools and CMake.
247 <br />&nbsp;
248 </dt>
249 <dd>The global lock used by the thread-safety mechanism
250 is not raised to the high-level library level,
251 making it possible that the library state could change
252 if a context switch were to occur in a high-level library
253 call. Because of this, the combination of thread-safety
254 and the high-level library is officially unsupported by
255 The HDF Group.
256 <p>
257 Though this combination has never been supported in HDF5,
258 this was not enforced by the build systems.
259 With this release, the combination has been explicitly
260 flagged as unsupported in Autotools and CMake,
261 the build systems used with HDF5.
262 <p>
263 The new unsupported declaration will cause an Autotools
264 configure step to fail if <code>--enable-threadsafe</code>
265 and <code>--enable-hl</code> are combined unless
266 additional options are specified (see below).
267 Since the high-level library is built by default,
268 this means that these extra configuration options will
269 need to be used any time <code>--enable-threadsafe</code>
270 is selected.
271 <p>
272 To use Autotools to build an application with
273 <code>--enable-threadsafe</code>,
274 use one of the following approaches:
275 <ul>
276 <li>Use <code>--disable-hl</code> to disable the
277 high-level library.
278 <i>(Recommended)</i>
279 </li>
280 <li>Use <code>--enable-unsupported</code> to build the
281 high-level library with the thread-safety feature.
282 </li>
283 </ul>
284 <p>
285 To use CMake to build an application with
286 <code>HDF5_ENABLE_THREADSAFE=ON</code>,
287 use one of the following approaches:
288 <ul>
289 <li>Use <code>HDF5_BUILD_HL_LIB=OFF</code>
290 to disable the high-level library.
291 <i>(Recommended)</i>
292 </li>
293 <li>Use <code>HDF5_ALLOW_UNSUPPORTED=ON</code>
294 to build the high-level library with the
295 thread-safety feature.
296 </li>
297 </ul>
298 <p>
299 Since this combination is unsupported, applications
300 using it must be carefully tested for potential
301 thread-safety failures.
302 </dd>
303
304
305 </dl>
306 </dir>
307
308 <h3>Compatibility Report and Comments</h3>
309 <dir>
310 <dl>
311 <dt><strong>Compatibility report for Release 1.8.16 versus
312 Release 1.8.15</strong>
313 </dt>
314 <dd>
315 <a href="Compatibility_Report/CR_1.8.16.html">API
316 compatibility report for the HDF5 Library
317 between 1.8.15 and 1.8.16 versions on
318 x86</a>
319 </dd>
320
321
322
323
324 <p>
325 <dt><strong>Changed shared library interface version
326 number (<code>soname</code>)</strong>
327 </dt>
328 <dd>
329
330 &lt; More detailed description of changes &gt;
331
332 <p>
333 Due to these changes, the shared library interface version
334 number (<code>soname</code>) has been increased.
335 For a full list of the changed symbols, see the
336 interface compatibility report linked immediately above.
337 </dd>
338
339
340 <!--
341 <p>
342 <dt><strong>Changed shared library interface version
343 number (<code>soname</code>)</strong>
344 </dt>
345 <dd>In the C++ interface, two overloaded methods
346 have been combined into a single method
347 and one constructor has been deprecated.
348 <p>
349 Due to these changes, the shared library interface version
350 number (<code>soname</code>) has been increased.
351 For a full list of the changed symbols, see the
352 interface compatibility report linked immediately above.
353 </dd>
354 -->
355
356 </dl>
357 </dir>
358
359 <!-- END OF 1.8.16 SECTION -->
91360
92361
93362
84538722 <!-- Created: Spring 1999 -->
84548723 <!-- hhmts start -->
84558724 <hr />
8456 Last modified: 23 September 2015
8725 Last modified: 21 March 2016
84578726 <!-- hhmts end -->
84588727 <br />
84598728 <br />
0 <html>
1
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
4 <title> Packet Table C++ Wrapper Reference Manual </title>
5 </head>
6
7 <body bgcolor="#FFFFFF">
8
9
10 <!--
11 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
12 * Copyright by The HDF Group. *
13 * Copyright by the Board of Trustees of the University of Illinois. *
14 * All rights reserved. *
15 * *
16 * This file is part of HDF5. The full HDF5 copyright notice, including *
17 * terms governing use, modification, and redistribution, is contained in *
18 * the files COPYING and Copyright.html. COPYING can be found at the root *
19 * of the source code distribution tree; Copyright.html can be found at the *
20 * root level of an installed copy of the electronic HDF5 document set and *
21 * is linked from the top-level documents page. It can also be found at *
22 * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
23 * access to either file, you may request a copy from help@hdfgroup.org. *
24 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
25 -->
26
27
28
29 <!-- HEADER RIGHT " " -->
30 <!-- HEADER RIGHT "Packet Table" -->
31
32 <a name="TopofRM">
33 &nbsp;</a><!-- #BeginLibraryItem "/ed_libs/NavBar_RMHL.lbi" -->
34 <hr>
35 <center>
36 <table border=0 width=98%>
37 <tr><td valign=top align=left>
38 <a href="../index.html">HDF5 documents and links</a>&nbsp;<br>
39 <a href="../H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
40 <a href="../UG/HDF5_Users_Guide-Responsive HTML5/index.html">HDF5 User's Guide</a>&nbsp;<br>
41 <a href="index.html">Other High-level API documents</a>
42 <!--
0 <html xmlns:v="urn:schemas-microsoft-com:vml"
1 xmlns:o="urn:schemas-microsoft-com:office:office"
2 xmlns:w="urn:schemas-microsoft-com:office:word"
3 xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"
4 xmlns="http://www.w3.org/TR/REC-html40">
5
6 <head>
7 <meta http-equiv=Content-Type content="text/html; charset=windows-1252">
8 <meta name=ProgId content=Word.Document>
9 <meta name=Generator content="Microsoft Word 15">
10 <meta name=Originator content="Microsoft Word 15">
11 <link rel=File-List href="RM_H5PT_c++_files/filelist.xml">
12 <link rel=Edit-Time-Data href="RM_H5PT_c++_files/editdata.mso">
13 <!--[if !mso]>
14 <style>
15 v\:* {behavior:url(#default#VML);}
16 o\:* {behavior:url(#default#VML);}
17 w\:* {behavior:url(#default#VML);}
18 .shape {behavior:url(#default#VML);}
19 </style>
20 <![endif]-->
21 <title> Packet Table C++ Wrapper Reference Manual </title>
22 <!--[if gte mso 9]><xml>
23 <o:DocumentProperties>
24 <o:Author>bmribler</o:Author>
25 <o:Template>Normal</o:Template>
26 <o:LastAuthor>bmribler</o:LastAuthor>
27 <o:Revision>16</o:Revision>
28 <o:TotalTime>407</o:TotalTime>
29 <o:Created>2016-03-21T19:21:00Z</o:Created>
30 <o:LastSaved>2016-03-24T19:42:00Z</o:LastSaved>
31 <o:Pages>7</o:Pages>
32 <o:Words>1890</o:Words>
33 <o:Characters>10779</o:Characters>
34 <o:Company>Microsoft</o:Company>
35 <o:Lines>89</o:Lines>
36 <o:Paragraphs>25</o:Paragraphs>
37 <o:CharactersWithSpaces>12644</o:CharactersWithSpaces>
38 <o:Version>15.00</o:Version>
39 </o:DocumentProperties>
40 <o:OfficeDocumentSettings>
41 <o:AllowPNG/>
42 </o:OfficeDocumentSettings>
43 </xml><![endif]-->
44 <link rel=themeData href="RM_H5PT_c++_files/themedata.thmx">
45 <link rel=colorSchemeMapping href="RM_H5PT_c++_files/colorschememapping.xml">
46 <!--[if gte mso 9]><xml>
47 <w:WordDocument>
48 <w:View>Print</w:View>
49 <w:SpellingState>Clean</w:SpellingState>
50 <w:GrammarState>Clean</w:GrammarState>
51 <w:TrackMoves>false</w:TrackMoves>
52 <w:TrackFormatting/>
53 <w:ValidateAgainstSchemas/>
54 <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
55 <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
56 <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
57 <w:DoNotPromoteQF/>
58 <w:LidThemeOther>EN-US</w:LidThemeOther>
59 <w:LidThemeAsian>X-NONE</w:LidThemeAsian>
60 <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
61 <w:Compatibility>
62 <w:BreakWrappedTables/>
63 <w:SplitPgBreakAndParaMark/>
64 </w:Compatibility>
65 <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
66 <m:mathPr>
67 <m:mathFont m:val="Cambria Math"/>
68 <m:brkBin m:val="before"/>
69 <m:brkBinSub m:val="&#45;-"/>
70 <m:smallFrac m:val="off"/>
71 <m:dispDef/>
72 <m:lMargin m:val="0"/>
73 <m:rMargin m:val="0"/>
74 <m:defJc m:val="centerGroup"/>
75 <m:wrapIndent m:val="1440"/>
76 <m:intLim m:val="subSup"/>
77 <m:naryLim m:val="undOvr"/>
78 </m:mathPr></w:WordDocument>
79 </xml><![endif]--><!--[if gte mso 9]><xml>
80 <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
81 DefSemiHidden="false" DefQFormat="false" DefPriority="99"
82 LatentStyleCount="371">
83 <w:LsdException Locked="false" Priority="0" QFormat="true" Name="Normal"/>
84 <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 1"/>
85 <w:LsdException Locked="false" Priority="9" SemiHidden="true"
86 UnhideWhenUsed="true" QFormat="true" Name="heading 2"/>
87 <w:LsdException Locked="false" Priority="9" SemiHidden="true"
88 UnhideWhenUsed="true" QFormat="true" Name="heading 3"/>
89 <w:LsdException Locked="false" Priority="9" SemiHidden="true"
90 UnhideWhenUsed="true" QFormat="true" Name="heading 4"/>
91 <w:LsdException Locked="false" Priority="9" SemiHidden="true"
92 UnhideWhenUsed="true" QFormat="true" Name="heading 5"/>
93 <w:LsdException Locked="false" Priority="9" SemiHidden="true"
94 UnhideWhenUsed="true" QFormat="true" Name="heading 6"/>
95 <w:LsdException Locked="false" Priority="9" SemiHidden="true"
96 UnhideWhenUsed="true" QFormat="true" Name="heading 7"/>
97 <w:LsdException Locked="false" Priority="9" SemiHidden="true"
98 UnhideWhenUsed="true" QFormat="true" Name="heading 8"/>
99 <w:LsdException Locked="false" Priority="9" SemiHidden="true"
100 UnhideWhenUsed="true" QFormat="true" Name="heading 9"/>
101 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
102 Name="index 1"/>
103 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
104 Name="index 2"/>
105 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
106 Name="index 3"/>
107 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
108 Name="index 4"/>
109 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
110 Name="index 5"/>
111 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
112 Name="index 6"/>
113 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
114 Name="index 7"/>
115 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
116 Name="index 8"/>
117 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
118 Name="index 9"/>
119 <w:LsdException Locked="false" Priority="39" SemiHidden="true"
120 UnhideWhenUsed="true" Name="toc 1"/>
121 <w:LsdException Locked="false" Priority="39" SemiHidden="true"
122 UnhideWhenUsed="true" Name="toc 2"/>
123 <w:LsdException Locked="false" Priority="39" SemiHidden="true"
124 UnhideWhenUsed="true" Name="toc 3"/>
125 <w:LsdException Locked="false" Priority="39" SemiHidden="true"
126 UnhideWhenUsed="true" Name="toc 4"/>
127 <w:LsdException Locked="false" Priority="39" SemiHidden="true"
128 UnhideWhenUsed="true" Name="toc 5"/>
129 <w:LsdException Locked="false" Priority="39" SemiHidden="true"
130 UnhideWhenUsed="true" Name="toc 6"/>
131 <w:LsdException Locked="false" Priority="39" SemiHidden="true"
132 UnhideWhenUsed="true" Name="toc 7"/>
133 <w:LsdException Locked="false" Priority="39" SemiHidden="true"
134 UnhideWhenUsed="true" Name="toc 8"/>
135 <w:LsdException Locked="false" Priority="39" SemiHidden="true"
136 UnhideWhenUsed="true" Name="toc 9"/>
137 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
138 Name="Normal Indent"/>
139 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
140 Name="footnote text"/>
141 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
142 Name="annotation text"/>
143 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
144 Name="header"/>
145 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
146 Name="footer"/>
147 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
148 Name="index heading"/>
149 <w:LsdException Locked="false" Priority="35" SemiHidden="true"
150 UnhideWhenUsed="true" QFormat="true" Name="caption"/>
151 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
152 Name="table of figures"/>
153 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
154 Name="envelope address"/>
155 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
156 Name="envelope return"/>
157 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
158 Name="footnote reference"/>
159 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
160 Name="annotation reference"/>
161 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
162 Name="line number"/>
163 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
164 Name="page number"/>
165 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
166 Name="endnote reference"/>
167 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
168 Name="endnote text"/>
169 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
170 Name="table of authorities"/>
171 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
172 Name="macro"/>
173 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
174 Name="toa heading"/>
175 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
176 Name="List"/>
177 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
178 Name="List Bullet"/>
179 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
180 Name="List Number"/>
181 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
182 Name="List 2"/>
183 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
184 Name="List 3"/>
185 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
186 Name="List 4"/>
187 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
188 Name="List 5"/>
189 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
190 Name="List Bullet 2"/>
191 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
192 Name="List Bullet 3"/>
193 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
194 Name="List Bullet 4"/>
195 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
196 Name="List Bullet 5"/>
197 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
198 Name="List Number 2"/>
199 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
200 Name="List Number 3"/>
201 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
202 Name="List Number 4"/>
203 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
204 Name="List Number 5"/>
205 <w:LsdException Locked="false" Priority="10" QFormat="true" Name="Title"/>
206 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
207 Name="Closing"/>
208 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
209 Name="Signature"/>
210 <w:LsdException Locked="false" Priority="1" SemiHidden="true"
211 UnhideWhenUsed="true" Name="Default Paragraph Font"/>
212 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
213 Name="Body Text"/>
214 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
215 Name="Body Text Indent"/>
216 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
217 Name="List Continue"/>
218 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
219 Name="List Continue 2"/>
220 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
221 Name="List Continue 3"/>
222 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
223 Name="List Continue 4"/>
224 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
225 Name="List Continue 5"/>
226 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
227 Name="Message Header"/>
228 <w:LsdException Locked="false" Priority="11" QFormat="true" Name="Subtitle"/>
229 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
230 Name="Salutation"/>
231 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
232 Name="Date"/>
233 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
234 Name="Body Text First Indent"/>
235 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
236 Name="Body Text First Indent 2"/>
237 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
238 Name="Note Heading"/>
239 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
240 Name="Body Text 2"/>
241 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
242 Name="Body Text 3"/>
243 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
244 Name="Body Text Indent 2"/>
245 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
246 Name="Body Text Indent 3"/>
247 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
248 Name="Block Text"/>
249 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
250 Name="Hyperlink"/>
251 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
252 Name="FollowedHyperlink"/>
253 <w:LsdException Locked="false" Priority="22" QFormat="true" Name="Strong"/>
254 <w:LsdException Locked="false" Priority="20" QFormat="true" Name="Emphasis"/>
255 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
256 Name="Document Map"/>
257 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
258 Name="Plain Text"/>
259 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
260 Name="E-mail Signature"/>
261 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
262 Name="HTML Top of Form"/>
263 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
264 Name="HTML Bottom of Form"/>
265 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
266 Name="Normal (Web)"/>
267 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
268 Name="HTML Acronym"/>
269 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
270 Name="HTML Address"/>
271 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
272 Name="HTML Cite"/>
273 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
274 Name="HTML Code"/>
275 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
276 Name="HTML Definition"/>
277 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
278 Name="HTML Keyboard"/>
279 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
280 Name="HTML Preformatted"/>
281 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
282 Name="HTML Sample"/>
283 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
284 Name="HTML Typewriter"/>
285 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
286 Name="HTML Variable"/>
287 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
288 Name="Normal Table"/>
289 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
290 Name="annotation subject"/>
291 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
292 Name="No List"/>
293 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
294 Name="Outline List 1"/>
295 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
296 Name="Outline List 2"/>
297 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
298 Name="Outline List 3"/>
299 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
300 Name="Table Simple 1"/>
301 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
302 Name="Table Simple 2"/>
303 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
304 Name="Table Simple 3"/>
305 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
306 Name="Table Classic 1"/>
307 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
308 Name="Table Classic 2"/>
309 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
310 Name="Table Classic 3"/>
311 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
312 Name="Table Classic 4"/>
313 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
314 Name="Table Colorful 1"/>
315 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
316 Name="Table Colorful 2"/>
317 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
318 Name="Table Colorful 3"/>
319 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
320 Name="Table Columns 1"/>
321 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
322 Name="Table Columns 2"/>
323 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
324 Name="Table Columns 3"/>
325 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
326 Name="Table Columns 4"/>
327 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
328 Name="Table Columns 5"/>
329 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
330 Name="Table Grid 1"/>
331 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
332 Name="Table Grid 2"/>
333 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
334 Name="Table Grid 3"/>
335 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
336 Name="Table Grid 4"/>
337 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
338 Name="Table Grid 5"/>
339 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
340 Name="Table Grid 6"/>
341 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
342 Name="Table Grid 7"/>
343 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
344 Name="Table Grid 8"/>
345 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
346 Name="Table List 1"/>
347 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
348 Name="Table List 2"/>
349 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
350 Name="Table List 3"/>
351 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
352 Name="Table List 4"/>
353 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
354 Name="Table List 5"/>
355 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
356 Name="Table List 6"/>
357 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
358 Name="Table List 7"/>
359 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
360 Name="Table List 8"/>
361 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
362 Name="Table 3D effects 1"/>
363 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
364 Name="Table 3D effects 2"/>
365 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
366 Name="Table 3D effects 3"/>
367 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
368 Name="Table Contemporary"/>
369 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
370 Name="Table Elegant"/>
371 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
372 Name="Table Professional"/>
373 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
374 Name="Table Subtle 1"/>
375 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
376 Name="Table Subtle 2"/>
377 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
378 Name="Table Web 1"/>
379 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
380 Name="Table Web 2"/>
381 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
382 Name="Table Web 3"/>
383 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
384 Name="Balloon Text"/>
385 <w:LsdException Locked="false" Priority="39" Name="Table Grid"/>
386 <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
387 Name="Table Theme"/>
388 <w:LsdException Locked="false" SemiHidden="true" Name="Placeholder Text"/>
389 <w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/>
390 <w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
391 <w:LsdException Locked="false" Priority="61" Name="Light List"/>
392 <w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
393 <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
394 <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
395 <w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
396 <w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
397 <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
398 <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
399 <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
400 <w:LsdException Locked="false" Priority="70" Name="Dark List"/>
401 <w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
402 <w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
403 <w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
404 <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/>
405 <w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/>
406 <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/>
407 <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/>
408 <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/>
409 <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/>
410 <w:LsdException Locked="false" SemiHidden="true" Name="Revision"/>
411 <w:LsdException Locked="false" Priority="34" QFormat="true"
412 Name="List Paragraph"/>
413 <w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/>
414 <w:LsdException Locked="false" Priority="30" QFormat="true"
415 Name="Intense Quote"/>
416 <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/>
417 <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/>
418 <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/>
419 <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/>
420 <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
421 <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/>
422 <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/>
423 <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/>
424 <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/>
425 <w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/>
426 <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/>
427 <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/>
428 <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/>
429 <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/>
430 <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/>
431 <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/>
432 <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/>
433 <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/>
434 <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
435 <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/>
436 <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/>
437 <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/>
438 <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/>
439 <w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/>
440 <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/>
441 <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/>
442 <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/>
443 <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/>
444 <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/>
445 <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/>
446 <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/>
447 <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/>
448 <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
449 <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/>
450 <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/>
451 <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/>
452 <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/>
453 <w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/>
454 <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/>
455 <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/>
456 <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/>
457 <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/>
458 <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/>
459 <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/>
460 <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/>
461 <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/>
462 <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
463 <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/>
464 <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/>
465 <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/>
466 <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/>
467 <w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/>
468 <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/>
469 <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/>
470 <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/>
471 <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/>
472 <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/>
473 <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/>
474 <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/>
475 <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/>
476 <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
477 <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/>
478 <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/>
479 <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/>
480 <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/>
481 <w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/>
482 <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/>
483 <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/>
484 <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/>
485 <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/>
486 <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/>
487 <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/>
488 <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/>
489 <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/>
490 <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
491 <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/>
492 <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/>
493 <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/>
494 <w:LsdException Locked="false" Priority="19" QFormat="true"
495 Name="Subtle Emphasis"/>
496 <w:LsdException Locked="false" Priority="21" QFormat="true"
497 Name="Intense Emphasis"/>
498 <w:LsdException Locked="false" Priority="31" QFormat="true"
499 Name="Subtle Reference"/>
500 <w:LsdException Locked="false" Priority="32" QFormat="true"
501 Name="Intense Reference"/>
502 <w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/>
503 <w:LsdException Locked="false" Priority="37" SemiHidden="true"
504 UnhideWhenUsed="true" Name="Bibliography"/>
505 <w:LsdException Locked="false" Priority="39" SemiHidden="true"
506 UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
507 <w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/>
508 <w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/>
509 <w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/>
510 <w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/>
511 <w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/>
512 <w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/>
513 <w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/>
514 <w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/>
515 <w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/>
516 <w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/>
517 <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/>
518 <w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful"/>
519 <w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful"/>
520 <w:LsdException Locked="false" Priority="46"
521 Name="Grid Table 1 Light Accent 1"/>
522 <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 1"/>
523 <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 1"/>
524 <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 1"/>
525 <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 1"/>
526 <w:LsdException Locked="false" Priority="51"
527 Name="Grid Table 6 Colorful Accent 1"/>
528 <w:LsdException Locked="false" Priority="52"
529 Name="Grid Table 7 Colorful Accent 1"/>
530 <w:LsdException Locked="false" Priority="46"
531 Name="Grid Table 1 Light Accent 2"/>
532 <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 2"/>
533 <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 2"/>
534 <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 2"/>
535 <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 2"/>
536 <w:LsdException Locked="false" Priority="51"
537 Name="Grid Table 6 Colorful Accent 2"/>
538 <w:LsdException Locked="false" Priority="52"
539 Name="Grid Table 7 Colorful Accent 2"/>
540 <w:LsdException Locked="false" Priority="46"
541 Name="Grid Table 1 Light Accent 3"/>
542 <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 3"/>
543 <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 3"/>
544 <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 3"/>
545 <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 3"/>
546 <w:LsdException Locked="false" Priority="51"
547 Name="Grid Table 6 Colorful Accent 3"/>
548 <w:LsdException Locked="false" Priority="52"
549 Name="Grid Table 7 Colorful Accent 3"/>
550 <w:LsdException Locked="false" Priority="46"
551 Name="Grid Table 1 Light Accent 4"/>
552 <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 4"/>
553 <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 4"/>
554 <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 4"/>
555 <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 4"/>
556 <w:LsdException Locked="false" Priority="51"
557 Name="Grid Table 6 Colorful Accent 4"/>
558 <w:LsdException Locked="false" Priority="52"
559 Name="Grid Table 7 Colorful Accent 4"/>
560 <w:LsdException Locked="false" Priority="46"
561 Name="Grid Table 1 Light Accent 5"/>
562 <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 5"/>
563 <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 5"/>
564 <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 5"/>
565 <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 5"/>
566 <w:LsdException Locked="false" Priority="51"
567 Name="Grid Table 6 Colorful Accent 5"/>
568 <w:LsdException Locked="false" Priority="52"
569 Name="Grid Table 7 Colorful Accent 5"/>
570 <w:LsdException Locked="false" Priority="46"
571 Name="Grid Table 1 Light Accent 6"/>
572 <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 6"/>
573 <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 6"/>
574 <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 6"/>
575 <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 6"/>
576 <w:LsdException Locked="false" Priority="51"
577 Name="Grid Table 6 Colorful Accent 6"/>
578 <w:LsdException Locked="false" Priority="52"
579 Name="Grid Table 7 Colorful Accent 6"/>
580 <w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/>
581 <w:LsdException Locked="false" Priority="47" Name="List Table 2"/>
582 <w:LsdException Locked="false" Priority="48" Name="List Table 3"/>
583 <w:LsdException Locked="false" Priority="49" Name="List Table 4"/>
584 <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/>
585 <w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful"/>
586 <w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful"/>
587 <w:LsdException Locked="false" Priority="46"
588 Name="List Table 1 Light Accent 1"/>
589 <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 1"/>
590 <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 1"/>
591 <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 1"/>
592 <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 1"/>
593 <w:LsdException Locked="false" Priority="51"
594 Name="List Table 6 Colorful Accent 1"/>
595 <w:LsdException Locked="false" Priority="52"
596 Name="List Table 7 Colorful Accent 1"/>
597 <w:LsdException Locked="false" Priority="46"
598 Name="List Table 1 Light Accent 2"/>
599 <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 2"/>
600 <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 2"/>
601 <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 2"/>
602 <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 2"/>
603 <w:LsdException Locked="false" Priority="51"
604 Name="List Table 6 Colorful Accent 2"/>
605 <w:LsdException Locked="false" Priority="52"
606 Name="List Table 7 Colorful Accent 2"/>
607 <w:LsdException Locked="false" Priority="46"
608 Name="List Table 1 Light Accent 3"/>
609 <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 3"/>
610 <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 3"/>
611 <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 3"/>
612 <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 3"/>
613 <w:LsdException Locked="false" Priority="51"
614 Name="List Table 6 Colorful Accent 3"/>
615 <w:LsdException Locked="false" Priority="52"
616 Name="List Table 7 Colorful Accent 3"/>
617 <w:LsdException Locked="false" Priority="46"
618 Name="List Table 1 Light Accent 4"/>
619 <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 4"/>
620 <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 4"/>
621 <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 4"/>
622 <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 4"/>
623 <w:LsdException Locked="false" Priority="51"
624 Name="List Table 6 Colorful Accent 4"/>
625 <w:LsdException Locked="false" Priority="52"
626 Name="List Table 7 Colorful Accent 4"/>
627 <w:LsdException Locked="false" Priority="46"
628 Name="List Table 1 Light Accent 5"/>
629 <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 5"/>
630 <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 5"/>
631 <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 5"/>
632 <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 5"/>
633 <w:LsdException Locked="false" Priority="51"
634 Name="List Table 6 Colorful Accent 5"/>
635 <w:LsdException Locked="false" Priority="52"
636 Name="List Table 7 Colorful Accent 5"/>
637 <w:LsdException Locked="false" Priority="46"
638 Name="List Table 1 Light Accent 6"/>
639 <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 6"/>
640 <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 6"/>
641 <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 6"/>
642 <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 6"/>
643 <w:LsdException Locked="false" Priority="51"
644 Name="List Table 6 Colorful Accent 6"/>
645 <w:LsdException Locked="false" Priority="52"
646 Name="List Table 7 Colorful Accent 6"/>
647 </w:LatentStyles>
648 </xml><![endif]-->
649 <style>
650 <!--
651 /* Font Definitions */
652 @font-face
653 {font-family:Wingdings;
654 panose-1:5 0 0 0 0 0 0 0 0 0;
655 mso-font-charset:2;
656 mso-generic-font-family:auto;
657 mso-font-pitch:variable;
658 mso-font-signature:0 268435456 0 0 -2147483648 0;}
659 @font-face
660 {font-family:Wingdings;
661 panose-1:5 0 0 0 0 0 0 0 0 0;
662 mso-font-charset:2;
663 mso-generic-font-family:auto;
664 mso-font-pitch:variable;
665 mso-font-signature:0 268435456 0 0 -2147483648 0;}
666 /* Style Definitions */
667 p.MsoNormal, li.MsoNormal, div.MsoNormal
668 {mso-style-unhide:no;
669 mso-style-qformat:yes;
670 mso-style-parent:"";
671 margin:0in;
672 margin-bottom:.0001pt;
673 mso-pagination:widow-orphan;
674 font-size:12.0pt;
675 font-family:"Times New Roman",serif;
676 mso-fareast-font-family:"Times New Roman";
677 mso-fareast-theme-font:minor-fareast;}
678 h1
679 {mso-style-priority:9;
680 mso-style-unhide:no;
681 mso-style-qformat:yes;
682 mso-style-link:"Heading 1 Char";
683 mso-margin-top-alt:auto;
684 margin-right:0in;
685 mso-margin-bottom-alt:auto;
686 margin-left:0in;
687 mso-pagination:widow-orphan;
688 mso-outline-level:1;
689 font-size:24.0pt;
690 font-family:"Times New Roman",serif;
691 mso-fareast-font-family:"Times New Roman";
692 mso-fareast-theme-font:minor-fareast;
693 font-weight:bold;}
694 a:link, span.MsoHyperlink
695 {mso-style-noshow:yes;
696 mso-style-priority:99;
697 color:blue;
698 text-decoration:underline;
699 text-underline:single;}
700 a:visited, span.MsoHyperlinkFollowed
701 {mso-style-noshow:yes;
702 mso-style-priority:99;
703 color:purple;
704 text-decoration:underline;
705 text-underline:single;}
706 p
707 {mso-style-noshow:yes;
708 mso-style-priority:99;
709 mso-margin-top-alt:auto;
710 margin-right:0in;
711 mso-margin-bottom-alt:auto;
712 margin-left:0in;
713 mso-pagination:widow-orphan;
714 font-size:12.0pt;
715 font-family:"Times New Roman",serif;
716 mso-fareast-font-family:"Times New Roman";
717 mso-fareast-theme-font:minor-fareast;}
718 code
719 {mso-style-noshow:yes;
720 mso-style-priority:99;
721 font-family:"Courier New";
722 mso-ascii-font-family:"Courier New";
723 mso-fareast-font-family:"Times New Roman";
724 mso-fareast-theme-font:minor-fareast;
725 mso-hansi-font-family:"Courier New";
726 mso-bidi-font-family:"Courier New";}
727 p.MsoNoSpacing, li.MsoNoSpacing, div.MsoNoSpacing
728 {mso-style-noshow:yes;
729 mso-style-priority:1;
730 mso-style-unhide:no;
731 mso-style-qformat:yes;
732 mso-style-parent:"";
733 margin:0in;
734 margin-bottom:.0001pt;
735 mso-pagination:widow-orphan;
736 font-size:12.0pt;
737 font-family:"Times New Roman",serif;
738 mso-fareast-font-family:"Times New Roman";
739 mso-fareast-theme-font:minor-fareast;}
740 span.Heading1Char
741 {mso-style-name:"Heading 1 Char";
742 mso-style-priority:9;
743 mso-style-unhide:no;
744 mso-style-locked:yes;
745 mso-style-link:"Heading 1";
746 mso-ansi-font-size:16.0pt;
747 mso-bidi-font-size:16.0pt;
748 font-family:"Calibri Light",sans-serif;
749 mso-ascii-font-family:"Calibri Light";
750 mso-ascii-theme-font:major-latin;
751 mso-fareast-font-family:"Times New Roman";
752 mso-fareast-theme-font:major-fareast;
753 mso-hansi-font-family:"Calibri Light";
754 mso-hansi-theme-font:major-latin;
755 mso-bidi-font-family:"Times New Roman";
756 mso-bidi-theme-font:major-bidi;
757 color:#2E74B5;
758 mso-themecolor:accent1;
759 mso-themeshade:191;}
760 span.varconstfunc
761 {mso-style-name:var_const_func;
762 mso-style-priority:1;
763 mso-style-unhide:no;
764 mso-style-qformat:yes;
765 mso-ansi-font-size:10.0pt;
766 font-family:"Courier New";
767 mso-ascii-font-family:"Courier New";
768 mso-hansi-font-family:"Courier New";
769 mso-bidi-font-family:"Courier New";}
770 span.SpellE
771 {mso-style-name:"";
772 mso-spl-e:yes;}
773 span.GramE
774 {mso-style-name:"";
775 mso-gram-e:yes;}
776 .MsoChpDefault
777 {mso-style-type:export-only;
778 mso-default-props:yes;
779 font-size:10.0pt;
780 mso-ansi-font-size:10.0pt;
781 mso-bidi-font-size:10.0pt;}
782 @page WordSection1
783 {size:8.5in 11.0in;
784 margin:1.0in 1.0in 1.0in 1.0in;
785 mso-header-margin:.5in;
786 mso-footer-margin:.5in;
787 mso-paper-source:0;}
788 div.WordSection1
789 {page:WordSection1;}
790 /* List Definitions */
791 @list l0
792 {mso-list-id:196623608;
793 mso-list-template-ids:1196204752;}
794 @list l0:level1
795 {mso-level-number-format:bullet;
796 mso-level-text:\F0B7;
797 mso-level-tab-stop:.5in;
798 mso-level-number-position:left;
799 text-indent:-.25in;
800 mso-ansi-font-size:10.0pt;
801 font-family:Symbol;}
802 @list l0:level2
803 {mso-level-number-format:bullet;
804 mso-level-text:o;
805 mso-level-tab-stop:1.0in;
806 mso-level-number-position:left;
807 text-indent:-.25in;
808 mso-ansi-font-size:10.0pt;
809 font-family:"Courier New";
810 mso-bidi-font-family:"Times New Roman";}
811 @list l0:level3
812 {mso-level-number-format:bullet;
813 mso-level-text:\F0A7;
814 mso-level-tab-stop:1.5in;
815 mso-level-number-position:left;
816 text-indent:-.25in;
817 mso-ansi-font-size:10.0pt;
818 font-family:Wingdings;}
819 @list l0:level4
820 {mso-level-number-format:bullet;
821 mso-level-text:\F0A7;
822 mso-level-tab-stop:2.0in;
823 mso-level-number-position:left;
824 text-indent:-.25in;
825 mso-ansi-font-size:10.0pt;
826 font-family:Wingdings;}
827 @list l0:level5
828 {mso-level-number-format:bullet;
829 mso-level-text:\F0A7;
830 mso-level-tab-stop:2.5in;
831 mso-level-number-position:left;
832 text-indent:-.25in;
833 mso-ansi-font-size:10.0pt;
834 font-family:Wingdings;}
835 @list l0:level6
836 {mso-level-number-format:bullet;
837 mso-level-text:\F0A7;
838 mso-level-tab-stop:3.0in;
839 mso-level-number-position:left;
840 text-indent:-.25in;
841 mso-ansi-font-size:10.0pt;
842 font-family:Wingdings;}
843 @list l0:level7
844 {mso-level-number-format:bullet;
845 mso-level-text:\F0A7;
846 mso-level-tab-stop:3.5in;
847 mso-level-number-position:left;
848 text-indent:-.25in;
849 mso-ansi-font-size:10.0pt;
850 font-family:Wingdings;}
851 @list l0:level8
852 {mso-level-number-format:bullet;
853 mso-level-text:\F0A7;
854 mso-level-tab-stop:4.0in;
855 mso-level-number-position:left;
856 text-indent:-.25in;
857 mso-ansi-font-size:10.0pt;
858 font-family:Wingdings;}
859 @list l0:level9
860 {mso-level-number-format:bullet;
861 mso-level-text:\F0A7;
862 mso-level-tab-stop:4.5in;
863 mso-level-number-position:left;
864 text-indent:-.25in;
865 mso-ansi-font-size:10.0pt;
866 font-family:Wingdings;}
867 @list l1
868 {mso-list-id:1383558690;
869 mso-list-template-ids:-1773767842;}
870 @list l1:level1
871 {mso-level-number-format:bullet;
872 mso-level-text:\F0B7;
873 mso-level-tab-stop:.5in;
874 mso-level-number-position:left;
875 text-indent:-.25in;
876 mso-ansi-font-size:10.0pt;
877 font-family:Symbol;}
878 @list l1:level2
879 {mso-level-number-format:bullet;
880 mso-level-text:\F0B7;
881 mso-level-tab-stop:1.0in;
882 mso-level-number-position:left;
883 text-indent:-.25in;
884 mso-ansi-font-size:10.0pt;
885 font-family:Symbol;}
886 @list l1:level3
887 {mso-level-number-format:bullet;
888 mso-level-text:\F0B7;
889 mso-level-tab-stop:1.5in;
890 mso-level-number-position:left;
891 text-indent:-.25in;
892 mso-ansi-font-size:10.0pt;
893 font-family:Symbol;}
894 @list l1:level4
895 {mso-level-number-format:bullet;
896 mso-level-text:\F0B7;
897 mso-level-tab-stop:2.0in;
898 mso-level-number-position:left;
899 text-indent:-.25in;
900 mso-ansi-font-size:10.0pt;
901 font-family:Symbol;}
902 @list l1:level5
903 {mso-level-number-format:bullet;
904 mso-level-text:\F0B7;
905 mso-level-tab-stop:2.5in;
906 mso-level-number-position:left;
907 text-indent:-.25in;
908 mso-ansi-font-size:10.0pt;
909 font-family:Symbol;}
910 @list l1:level6
911 {mso-level-number-format:bullet;
912 mso-level-text:\F0B7;
913 mso-level-tab-stop:3.0in;
914 mso-level-number-position:left;
915 text-indent:-.25in;
916 mso-ansi-font-size:10.0pt;
917 font-family:Symbol;}
918 @list l1:level7
919 {mso-level-number-format:bullet;
920 mso-level-text:\F0B7;
921 mso-level-tab-stop:3.5in;
922 mso-level-number-position:left;
923 text-indent:-.25in;
924 mso-ansi-font-size:10.0pt;
925 font-family:Symbol;}
926 @list l1:level8
927 {mso-level-number-format:bullet;
928 mso-level-text:\F0B7;
929 mso-level-tab-stop:4.0in;
930 mso-level-number-position:left;
931 text-indent:-.25in;
932 mso-ansi-font-size:10.0pt;
933 font-family:Symbol;}
934 @list l1:level9
935 {mso-level-number-format:bullet;
936 mso-level-text:\F0B7;
937 mso-level-tab-stop:4.5in;
938 mso-level-number-position:left;
939 text-indent:-.25in;
940 mso-ansi-font-size:10.0pt;
941 font-family:Symbol;}
942 ol
943 {margin-bottom:0in;}
944 ul
945 {margin-bottom:0in;}
946 -->
947 </style>
948 <!--[if gte mso 10]>
949 <style>
950 /* Style Definitions */
951 table.MsoNormalTable
952 {mso-style-name:"Table Normal";
953 mso-tstyle-rowband-size:0;
954 mso-tstyle-colband-size:0;
955 mso-style-noshow:yes;
956 mso-style-priority:99;
957 mso-style-parent:"";
958 mso-padding-alt:0in 5.4pt 0in 5.4pt;
959 mso-para-margin:0in;
960 mso-para-margin-bottom:.0001pt;
961 mso-pagination:widow-orphan;
962 font-size:10.0pt;
963 font-family:"Times New Roman",serif;}
964 </style>
965 <![endif]--><!--[if gte mso 9]><xml>
966 <o:shapedefaults v:ext="edit" spidmax="1026"/>
967 </xml><![endif]--><!--[if gte mso 9]><xml>
968 <o:shapelayout v:ext="edit">
969 <o:idmap v:ext="edit" data="1"/>
970 </o:shapelayout></xml><![endif]-->
971 </head>
972
973 <body bgcolor=white lang=EN-US link=blue vlink=purple style='tab-interval:.5in'>
974
975 <div class=WordSection1>
976
977 <p class=MsoNormal><a name=TopofRM><span style='mso-fareast-font-family:"Times New Roman"'>&nbsp;</span></a><span
978 style='mso-fareast-font-family:"Times New Roman"'><!-- #BeginLibraryItem "/ed_libs/NavBar_RMHL.lbi" -->
979 <o:p></o:p></span></p>
980
981 <div class=MsoNormal align=center style='text-align:center'><span
982 style='mso-fareast-font-family:"Times New Roman"'>
983
984 <hr size=3 width="100%" align=center>
985
986 </span></div>
987
988 <div align=center>
989
990 <table class=MsoNormalTable border=0 cellspacing=3 cellpadding=0 width="98%"
991 style='width:98.0%;mso-cellspacing:1.5pt;mso-yfti-tbllook:1184;mso-padding-alt:
992 0in 5.4pt 0in 5.4pt'>
993 <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes'>
994 <td valign=top style='padding:.75pt .75pt .75pt .75pt'>
995 <p class=MsoNormal><span style='mso-fareast-font-family:"Times New Roman"'><a
996 href="../index.html">HDF5 documents and links</a>&nbsp;<br>
997 <a href="../H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
998 <a href="../UG/HDF5_Users_Guide-Responsive%20HTML5/index.html"><span
999 class=SpellE>HDF5</span> User's Guide</a>&nbsp;<br>
1000 <a href="index.html">Other High-level API documents</a> <o:p></o:p></span></p>
1001 </td>
1002 <td valign=top style='padding:.75pt .75pt .75pt .75pt'>
1003 <p class=MsoNormal align=right style='text-align:right'><span
1004 style='mso-fareast-font-family:"Times New Roman"'><!--
431005 <a href="Glossary.html">Glossary</a><br>
44 -->
45 </td>
46 <td valign=top align=right>
47 In the
48 <a href="../RM/RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;&nbsp;
49 <font size=-1>
50 <br>
51 <a href="RM_H5DS.html">H5DS</a>&nbsp;&nbsp;
52 <a href="RM_H5IM.html">H5IM</a>&nbsp;&nbsp;
53 <a href="RM_H5LT.html">H5LT</a>&nbsp;&nbsp;
54 <a href="RM_H5PT.html">H5PT</a>&nbsp;&nbsp;
55 <a href="RM_H5TB.html">H5TB</a>&nbsp;&nbsp;
56 <a href="RM_HDF5Optimized.html">Optimized</a>&nbsp;
57 <br>
58 <a href="../RM/RM_H5.html">H5</a>&nbsp;&nbsp;
59 <a href="../RM/RM_H5A.html">H5A</a>&nbsp;&nbsp;
60 <a href="../RM/RM_H5D.html">H5D</a>&nbsp;&nbsp;
61 <a href="../RM/RM_H5E.html">H5E</a>&nbsp;&nbsp;
62 <a href="../RM/RM_H5F.html">H5F</a>&nbsp;&nbsp;
63 <a href="../RM/RM_H5G.html">H5G</a>&nbsp;&nbsp;
64 <a href="../RM/RM_H5I.html">H5I</a>&nbsp;&nbsp;
65 <br>
66 <a href="../RM/RM_H5L.html">H5L</a>&nbsp;&nbsp;
67 <a href="../RM/RM_H5O.html">H5O</a>&nbsp;&nbsp;
68 <a href="../RM/RM_H5P.html">H5P</a>&nbsp;&nbsp;
69 <a href="../RM/RM_H5R.html">H5R</a>&nbsp;&nbsp;
70 <a href="../RM/RM_H5S.html">H5S</a>&nbsp;&nbsp;
71 <a href="../RM/RM_H5T.html">H5T</a>&nbsp;&nbsp;
72 <a href="../RM/RM_H5Z.html">H5Z</a>&nbsp;&nbsp;
73 <br>
74 <a href="../RM/Tools.html">Tools</a>&nbsp;&nbsp;
75 <a href="../RM/PredefDTypes.html">Datatypes</a>&nbsp;&nbsp;
76 <a href="../fortran/index.html">Fortran</a>&nbsp;&nbsp;
77 </font>
78 </td></tr>
79 </table>
80 </center>
81 <hr>
82 <!-- #EndLibraryItem --><h1 align="center">H5PT: HDF5 Packet Table<br>C++ Wrappers</h1>
83
84 <!--
1006 -->In
1007 the <a href="../RM/RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;&nbsp; </span><span
1008 style='font-size:10.0pt;mso-fareast-font-family:"Times New Roman"'><br>
1009 <a href="RM_H5DS.html">H5DS</a>&nbsp;&nbsp; <a href="RM_H5IM.html">H5IM</a>&nbsp;&nbsp;
1010 <a href="RM_H5LT.html">H5LT</a>&nbsp;&nbsp; <a href="RM_H5PT.html">H5PT</a>&nbsp;&nbsp;
1011 <a href="RM_H5TB.html">H5TB</a>&nbsp;&nbsp; <a href="RM_HDF5Optimized.html">Optimized</a>&nbsp;
1012 <br>
1013 <a href="../RM/RM_H5.html">H5</a>&nbsp;&nbsp; <a href="../RM/RM_H5A.html">H5A</a>&nbsp;&nbsp;
1014 <a href="../RM/RM_H5D.html">H5D</a>&nbsp;&nbsp; <a href="../RM/RM_H5E.html">H5E</a>&nbsp;&nbsp;
1015 <a href="../RM/RM_H5F.html">H5F</a>&nbsp;&nbsp; <a href="../RM/RM_H5G.html">H5G</a>&nbsp;&nbsp;
1016 <a href="../RM/RM_H5I.html">H5I</a>&nbsp;&nbsp; <br>
1017 <a href="../RM/RM_H5L.html">H5L</a>&nbsp;&nbsp; <a href="../RM/RM_H5O.html">H5O</a>&nbsp;&nbsp;
1018 <a href="../RM/RM_H5P.html">H5P</a>&nbsp;&nbsp; <a href="../RM/RM_H5R.html">H5R</a>&nbsp;&nbsp;
1019 <a href="../RM/RM_H5S.html">H5S</a>&nbsp;&nbsp; <a href="../RM/RM_H5T.html">H5T</a>&nbsp;&nbsp;
1020 <a href="../RM/RM_H5Z.html">H5Z</a>&nbsp;&nbsp; <br>
1021 <a href="../RM/Tools.html">Tools</a>&nbsp;&nbsp; <a
1022 href="../RM/PredefDTypes.html">Datatypes</a>&nbsp;&nbsp; <a
1023 href="../fortran/index.html">Fortran</a>&nbsp;&nbsp; </span><span
1024 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1025 </td>
1026 </tr>
1027 </table>
1028
1029 </div>
1030
1031 <div class=MsoNormal align=center style='text-align:center'><span
1032 style='mso-fareast-font-family:"Times New Roman"'>
1033
1034 <hr size=3 width="100%" align=center>
1035
1036 </span></div>
1037
1038 <h1 align=center style='text-align:center'><span style='mso-fareast-font-family:
1039 "Times New Roman"'><!-- #EndLibraryItem -->H5PT: HDF5 Packet Table<br>
1040 C++ Wrappers<o:p></o:p></span></h1>
1041
1042 <p class=MsoNormal><span style='mso-fareast-font-family:"Times New Roman"'><br>
1043 <strong><!--
851044 <h2>Draft</h2>
86 -->
87
88 <br>
89 <strong>Classes:</strong>
90
91 <ul>
92 <li><strong>PacketTable</strong> - functions shared by all packet tables
93 <li><strong>FL_PacketTable</strong> - a packet table storing fixed-length packets
94 </ul>
95
96 <strong>Functions</strong> (none are static; all must be called on an object):
97
98 <br><br> <hr><strong>Packet Table:</strong> <hr>
99
100 <dl>
101 <dt style="background-color: #CCCCFF"><strong>Name:</strong>
102 Null Constructor
103 <dt><strong>Signature:</strong></dt>
104 <dd>PacketTable( )</dd>
105 <dt><strong>Purpose:</strong></dt>
106 <dd>Creates an invalid packet table object.</dd>
107 <dt><strong>Description:</strong></dt>
108 <dd>The object created with this call will return false if IsValid() is
109 called on it. To create a valid packet table, use the
110 FL_Packet_Table constructors.
111 This function does not make any change to the underlying HDF5 file.
112 </dd>
113 </dl>
114 <hr>
115
116 <dl>
117 <dt style="background-color: #CCCCFF"><strong>Name:</strong>
118 "Open" Constructor
119 <dt><strong>Signature:</strong></dt>
120 <dd>PacketTable(hid_t fileID, char* name)</dd>
121 <dt><strong>Purpose:</strong></dt>
122 <dd>Opens an existing packet table.</dd>
123 <dt><strong>Description:</strong></dt>
124 <dd>Opens an existing packet table, which can contain either fixed-length
125 or variable-length packets.</dd>
126 <dt><strong>Parameters:</strong></dt>
127 <dl>
128 <dt>hid_t fileID</dt>
129 <dd>IN: file or group in which the packet table is located</dd>
130 <dt>char* name</dt>
131 <dd>IN: the packet table's name</dd>
132 </dl>
133 </dl>
134
135 <!-- NEW PAGE -->
136 <hr>
137 <dl>
138 <dt style="background-color: #CCCCFF"><strong>Name:</strong>
139 Destructor
140 <dt><strong>Signature:</strong></dt>
141 <dd>~PacketTable()</dd>
142 <dt><strong>Description:</strong></dt>
143 <dd>The destructor closes the packet table in the file, so a packet
144 table created or opened with the C++ wrapper does not
145 need to be closed manually.</dd>
146 </dl>
147 <hr>
148
149 <dl>
150 <dt style="background-color: #CCCCFF"><strong>Name:</strong> IsValid
151 <dt><strong>Signature:</strong></dt>
152 <dd>bool IsValid()</dd>
153 <dt><strong>Purpose:</strong></dt>
154 <dd>Determines if this is an valid packet table.</dd>
155 <dt><strong>Description:</strong></dt>
156 <dd>This function is used to ensure that a PacketTable object
157 corresponds to an open packet table in the file. It should be
158 called after the constructor to check that there were no errors
159 creating or opening the packet table.</dd>
160 <dt><strong>Returns:</strong></dt>
161 <dd>Returns true if this is an open packet table, false otherwise.</dd>
162 </dl>
163 <hr>
164
165 <dl>
166 <dt style="background-color: #CCCCFF"><strong>Name:</strong> ResetIndex
167 <dt><strong>Signature:</strong></dt>
168 <dd>void ResetIndex()</dd>
169 <dt><strong>Purpose:</strong></dt>
170 <dd>Resets the packet table's index to point to the first packet.</dd>
171 <dt><strong>Description:</strong></dt>
172 <dd>A packet table keeps track of the user's current location in the table
173 so that the user can iterate through packets. This function should be
174 called before using GetNextPacket.</dd>
175 </dl>
176
177 <!-- NEW PAGE -->
178 <hr>
179 <dl>
180 <dt style="background-color: #CCCCFF"><strong>Name:</strong> SetIndex
181 <dt><strong>Signature:</strong></dt>
182 <dd>int SetIndex(hsize_t index);</dd>
183 <dt><strong>Purpose:</strong></dt>
184 <dd>Sets a packet table's current index.</dd>
185 <dt><strong>Description:</strong></dt>
186 <dd>This function allows the user to begin iterating through packets
187 starting from any arbitrary index. Packet tables are zero-indexed,
188 so packet 0 is the first packet.</dd>
189 <dt><strong>Parameters:</strong></dt>
190 <dl>
191 <dt>hsize_t index</dt>
192 <dd>IN: The value to which the packet table's index should be set</dd>
193 </dl>
194 <dt><strong>Returns:</strong></dt>
195 <dd>Returns non-negative on success, negative on error.</dd>
196 </dl>
197 <hr>
198
199 <hr>
200 <dl>
201 <dt style="background-color: #CCCCFF"><strong>Name:</strong> GetIndex
202 <dt><strong>Signature:</strong></dt>
203 <dd>hsize_t GetIndex(int& error);</dd>
204 <dt><strong>Purpose:</strong></dt>
205 <dd>Returns the position of the current packet.</dd>
206 <dt><strong>Description:</strong></dt>
207 <dd>This function allows the user to determine the position
208 of the current packet.
209 <p>
210 If <code>GetIndex</code> returns <code>0</code> (zero),
211 you must then check the value of the parameter <code>error</code>.
212 If <code>error</code> is negative, <code>GetIndex</code> has failed;
213 if <code>error</code> is <code>0</code> (zero), the position of
214 the current packet is <code>0</code> (zero).
215 </dd>
216 <dt><strong>Parameters:</strong></dt>
217 <dl>
218 <dt>int& error (optional)</dt>
219 <dd>OUT: Non-negative if index was successfully retrieved,
220 negative on failure.</dd>
221 </dl>
222 <dt><strong>Returns:</strong></dt>
223 <dd>Returns the position of the current packet on success,
224 0 (zero) on error.</dd>
225 </dl>
226 <hr>
227
228 <dl>
229 <dt style="background-color: #CCCCFF"><strong>Name:</strong> GetPacketCount
230 <dt><strong>Signatures:</strong></dt>
231 <dd>hsize_t GetPacketCount()</dd>
232 <dd>hsize_t GetPacketCount(int&amp; error)</dd>
233 <dt><strong>Purpose:</strong></dt>
234 <dd>Retrieves the number of packets in the packet table.</dd>
235 <dt><strong>Description:</strong></dt>
236 <dd>This function is overloaded so that it can be called with or
237 without returning an error value. If <code>error</code> is not
238 supplied, any error value is ignored. Using this parameter allows
239 the user to distinguish between an open packet table with 0
240 packets and an invalid packet table.</dd>
241 <dt><strong>Parameters:</strong></dt>
242 <dl>
243 <dt>int&amp; error (optional)</dt>
244 <dd>OUT: Non-negative if packet count was successfully retrieved,
245 negative if packet table is invalid.</dd>
246 </dl>
247 <dt><strong>Returns:</strong></dt>
248 <dd>Number of packets in packet table. Returns 0 if packet table
249 contains zero packets or on error.</dd>
250 </dl>
251
252 <!-- NEW PAGE -->
253 <!-- HEADER RIGHT "FL_Packet_Table" -->
254 <hr>
255 <strong>FL_Packet_Table:</strong><hr>
256
257 <dl>
258 <dt style="background-color: #CCCCFF"><strong>Name:</strong> "Create" Constructor
259 <dt><strong>Signature:</strong></dt>
260 <dd>FL_PacketTable(hid_t fileID, char* name, hid_t dtypeID, int chunkSize, int compression)</dd>
261 <dt><strong>Purpose:</strong></dt>
262 <dd>Creates a new packet table for storing fixed-length packets.</dd>
263 <dt><strong>Description:</strong></dt>
264 <dd>This constructor creates and opens a packet table in the file
265 specified by <code>fileID</code> named <code>name</code>. Packets
266 will be of the datatype specified by <code>dtypeID</code>.</dd>
267 <dt><strong>Parameters:</strong></dt>
268 <dl>
269 <dt>hid_t fileID</dt>
270 <dd>IN: Identifier of the file or group to create the table within.</dd>
271 <dt>const char * dset_name</dt>
272 <dd>IN: The name of the packet table to create.</dd>
273 <dt>hid_t dtype_id</dt>
274 <dd>IN: The datatype of a packet.</dd>
275 <dt>hsize_t chunkSize</dt>
276 <dd>IN: The packet table uses HDF5 chunked storage to allow it to grow.
277 This value allows the user to set the size of a chunk.
278 The chunk size affects performance.</dd>
279 <dt>int compression</dt>
280 <dd>IN: Desired compression level: <code>0</code> (zero) through
281 <code>9,</code> or <code>-1</code> for no compression.</dd>
282 </dl>
283 </dl>
284 <hr>
285
286 <dl>
287 <dt style="background-color: #CCCCFF"><strong>Name:</strong> "Open" Constructor
288 <dt><strong>Signature:</strong></dt>
289 <dd>FL_PacketTable(hid_t fileID, char* name)</dd>
290 <dt><strong>Purpose:</strong></dt>
291 <dd>Opens a fixed-length packet table.</dd>
292 <dt><strong>Description:</strong></dt>
293 <dd>This constructor opens an existing packet table named
294 <code>name</code> in the location <code>fileID</code>. This packet
295 table must be fixed-length.</dd>
296 <dt><strong>Parameters:</strong></dt>
297 <dl>
298 <dt>hid_t fileID</dt>
299 <dd>IN: Identifier of the file or group containing the packet table.</dd>
300 <dt>const char * dset_name</dt>
301 <dd>IN: The name of the packet table to open.</dd>
302 </dl>
303 </dl>
304 <hr>
305
306 <dl>
307 <dt style="background-color: #CCCCFF"><strong>Name:</strong> AppendPacket /
308 AppendPackets
309 <dt><strong>Signature:</strong></dt>
310 <dd>int AppendPacket(void * data)</dd>
311 <dd>int AppendPackets(size_t numPackets, void *data)</dd>
312 <dt><strong>Purpose:</strong></dt>
313 <dd>Appends fixed-length packets to the packet table.</dd>
314 <dt><strong>Description:</strong></dt>
315 <dd>This function writes packets to the end of the packet table.
316 If only one argument is given, it is assumed that only a single
317 packet is being written.</dd>
318 <!-- NEW PAGE -->
319 <dt><strong>Parameters:</strong></dt>
320 <dl>
321 <dt>size_t numPackets (optional)</dt>
322 <dd>IN: Number of packets to add. Default is one.</dd>
323 <dt>void * data:</dt>
324 <dd>IN: Data to write. Must be a buffer of packets of the packet
325 table's datatype.</dd>
326 </dl>
327 <dt><strong>Returns:</strong></dt>
328 <dd>Returns non-negative value on success, negative on error.</dd>
329 </dl>
330 <hr>
331
332 <dl>
333 <dt style="background-color: #CCCCFF"><strong>Name:</strong> GetPacket /
334 GetPackets
335 <dt><strong>Signatures:</strong></dt>
336 <dd>int GetPacket(hsize_t index, void * data)</dd>
337 <dd>int GetPackets(hsize_t startIndex, hsize_t endIndex, void * data)</dd>
338 <dt><strong>Purpose:</strong></dt>
339 <dd>Reads packets from the packet table.</dd>
340 <dt><strong>Description:</strong></dt>
341 <dd>This function fills a buffer, <code>data</code>, with fixed-length
342 packets from the packet table. The one-argument function can be
343 called to retrieve a single packet at the given index, or the
344 two-argument function used to read a range of packets
345 (zero-indexed, inclusive).</dd>
346 <dt><strong>Parameters:</strong></dt>
347 <dl>
348 <dt>hsize_t index (single packet)</dt>
349 <dd>IN: Index of the single packet to be read</dd>
350 <dt>hsize_t startIndex (multiple packets)</dt>
351 <dd>IN: Index at which to start reading packets</dd>
352 <dt>hsize_t endIndex (multiple packets)</dt>
353 <dd>IN: Index at which to stop reading packets</dd>
354 <dt>void * data</dt>
355 <dd>OUT: Buffer for packets being retrieved</dd>
356 </dl>
357 <dt><strong>Returns:</strong></dt>
358 <dd>Returns non-negative on success, negative on error.</dd>
359 </dl>
360 <hr>
361
362 <dl>
363 <dt style="background-color: #CCCCFF"><strong>Name:</strong> GetNextPacket /
364 Get Next Packets
365 <dt><strong>Signatures:</strong></dt>
366 <dd>int GetNextPacket(void * data)</dd>
367 <dd>int GetNextPackets(size_t numPackets, void * data)</dd>
368 <dt><strong>Purpose:</strong></dt>
369 <dd>Iterates through packets from the packet table.</dd>
370 <dt><strong>Description:</strong></dt>
371 <dd>This function reads packets starting from the current index in the
372 packet table and updates the index. It can be used with the ResetIndex
373 and SetIndex functions to iterate through the packet table.
374 There are versions of this function that can be called with or
375 without the <code>numPackets</code> argument; if this argument is
376 not supplied, it defaults to one.</dd>
377 <dt><strong>Parameters:</strong></dt>
378 <dl>
379 <dt>size_t numPackets (optional)</dt>
380 <dd>IN: How many packets to read. Defaults to one.</dd>
381 <dt>void * data</dt>
382 <dd>OUT: Buffer to hold packets being read.</dd>
383 </dl>
384 <dt><strong>Returns:</strong></dt>
385 <dd>Returns non-negative on success, negative on error.</dd>
386 </dl>
387
388
389 <!-- #BeginLibraryItem "/ed_libs/NavBar_RMHL.lbi" -->
390 <hr>
391 <center>
392 <table border=0 width=98%>
393 <tr><td valign=top align=left>
394 <a href="../index.html">HDF5 documents and links</a>&nbsp;<br>
395 <a href="../H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
396 <a href="../UG/HDF5_Users_Guide-Responsive HTML5/index.html">HDF5 User's Guide</a>&nbsp;<br>
397 <a href="index.html">Other High-level API documents</a>
398 <!--
1045 -->Classes:</strong> <o:p></o:p></span></p>
1046
1047 <ul type=disc>
1048 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
1049 mso-list:l0 level1 lfo3;tab-stops:list .5in'><strong><span
1050 style='mso-fareast-font-family:"Times New Roman"'>PacketTable</span></strong><span
1051 style='mso-fareast-font-family:"Times New Roman"'> - functions shared by
1052 all packet tables <o:p></o:p></span></li>
1053 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
1054 mso-list:l0 level1 lfo3;tab-stops:list .5in'><strong><span
1055 style='mso-fareast-font-family:"Times New Roman"'>FL_PacketTable</span></strong><span
1056 style='mso-fareast-font-family:"Times New Roman"'> - a packet table
1057 storing fixed-length and variable-length packets<o:p></o:p></span></li>
1058 </ul>
1059
1060 <p class=MsoNormal style='margin-bottom:12.0pt'><strong><span style='mso-fareast-font-family:
1061 "Times New Roman"'>Functions</span></strong><span style='mso-fareast-font-family:
1062 "Times New Roman"'> (none are static; all must be called on an object):<o:p></o:p></span></p>
1063
1064 <div class=MsoNormal align=center style='text-align:center'><span
1065 style='mso-fareast-font-family:"Times New Roman"'>
1066
1067 <hr size=3 width="100%" align=center>
1068
1069 </span></div>
1070
1071 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Packet
1072 Table:</span></strong><span style='mso-fareast-font-family:"Times New Roman"'> <o:p></o:p></span></p>
1073
1074 <div class=MsoNormal align=center style='text-align:center'><span
1075 style='mso-fareast-font-family:"Times New Roman"'>
1076
1077 <hr size=3 width="100%" align=center>
1078
1079 </span></div>
1080
1081 <p class=MsoNormal style='background:#CCCCFF'><strong><span style='mso-fareast-font-family:
1082 "Times New Roman"'>Name:</span></strong><span style='mso-fareast-font-family:
1083 "Times New Roman"'> Null Constructor <o:p></o:p></span></p>
1084
1085 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Signature:</span></strong><span
1086 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1087
1088 <p class=MsoNormal style='margin-left:.5in'><span class=GramE><span
1089 style='mso-fareast-font-family:"Times New Roman"'>PacketTable(</span></span><span
1090 style='mso-fareast-font-family:"Times New Roman"'> )<o:p></o:p></span></p>
1091
1092 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Purpose:</span></strong><span
1093 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1094
1095 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1096 "Times New Roman"'>Creates an invalid packet table object.<o:p></o:p></span></p>
1097
1098 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Description:</span></strong><span
1099 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1100
1101 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1102 "Times New Roman"'>The object created with this call will return false if </span><span
1103 class=SpellE><span class=GramE><span class=varconstfunc><span style='font-size:
1104 10.0pt;mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>IsValid</span></span></span></span><span
1105 class=GramE><span class=varconstfunc><span style='font-size:10.0pt;mso-bidi-font-size:
1106 12.0pt;mso-bidi-font-family:"Times New Roman"'>(</span></span></span><span
1107 class=varconstfunc><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;
1108 mso-bidi-font-family:"Times New Roman"'>)</span></span><span style='mso-fareast-font-family:
1109 "Times New Roman"'> is called on it. To create a valid packet table, use the </span><span
1110 class=SpellE><span class=varconstfunc><span style='font-size:10.0pt;mso-bidi-font-size:
1111 12.0pt;mso-bidi-font-family:"Times New Roman"'>FL_Packet_Table</span></span></span><span
1112 style='mso-fareast-font-family:"Times New Roman"'> constructors. This function does
1113 not make any change to the underlying HDF5 file. <o:p></o:p></span></p>
1114
1115 <div class=MsoNormal align=center style='text-align:center'><span
1116 style='mso-fareast-font-family:"Times New Roman"'>
1117
1118 <hr size=3 width="100%" align=center>
1119
1120 </span></div>
1121
1122 <p class=MsoNormal style='background:#CCCCFF'><strong><span style='mso-fareast-font-family:
1123 "Times New Roman"'>Name:</span></strong><span style='mso-fareast-font-family:
1124 "Times New Roman"'> &quot;Open&quot; Constructor <o:p></o:p></span></p>
1125
1126 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Signature:</span></strong><span
1127 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1128
1129 <p class=MsoNormal style='margin-left:.5in'><span class=GramE><span
1130 style='mso-fareast-font-family:"Times New Roman"'>PacketTable(</span></span><span
1131 class=SpellE><span style='mso-fareast-font-family:"Times New Roman"'>hid_t</span></span><span
1132 style='mso-fareast-font-family:"Times New Roman"'> <span class=SpellE>fileID</span>,
1133 <span class=SpellE>const</span> char* <span class=SpellE>ptname</span>)<o:p></o:p></span></p>
1134
1135 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Purpose:</span></strong><span
1136 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1137
1138 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1139 "Times New Roman"'>Opens an existing packet table.<o:p></o:p></span></p>
1140
1141 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Description:</span></strong><span
1142 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1143
1144 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1145 "Times New Roman"'>Opens an existing packet table, named </span><span
1146 class=SpellE><span class=varconstfunc><span style='font-size:10.0pt;mso-bidi-font-size:
1147 12.0pt;mso-bidi-font-family:"Times New Roman"'>ptname</span></span></span><span
1148 style='mso-fareast-font-family:"Times New Roman"'>, which can contain either
1149 fixed-length or variable-length packets.<o:p></o:p></span></p>
1150
1151 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Parameters:</span></strong><span
1152 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1153
1154 <p class=MsoNormal><span class=SpellE><span class=GramE><span style='mso-fareast-font-family:
1155 "Times New Roman"'>hid_t</span></span></span><span style='mso-fareast-font-family:
1156 "Times New Roman"'> <span class=SpellE>fileID</span><o:p></o:p></span></p>
1157
1158 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1159 "Times New Roman"'>IN: file or group in which the packet table is located<o:p></o:p></span></p>
1160
1161 <p class=MsoNormal><span class=SpellE><span class=GramE><span style='mso-fareast-font-family:
1162 "Times New Roman"'>const</span></span></span><span style='mso-fareast-font-family:
1163 "Times New Roman"'> char* <span class=SpellE>ptname</span><o:p></o:p></span></p>
1164
1165 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1166 "Times New Roman"'>IN: the packet table's name<o:p></o:p></span></p>
1167
1168 <p class=MsoNormal align=center style='text-align:center'><span
1169 style='mso-fareast-font-family:"Times New Roman"'>&lt;<span class=SpellE>hr<!-- NEW PAGE --></span>
1170 size=3 width=&quot;100%&quot; align=center&gt; </span></p>
1171
1172 <p class=MsoNormal style='background:#CCCCFF'><strong><span style='mso-fareast-font-family:
1173 "Times New Roman"'>Name:</span></strong><span style='mso-fareast-font-family:
1174 "Times New Roman"'> Destructor <o:p></o:p></span></p>
1175
1176 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Signature:</span></strong><span
1177 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1178
1179 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1180 "Times New Roman"'>~<span class=GramE>PacketTable()</span><o:p></o:p></span></p>
1181
1182 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Description:</span></strong><span
1183 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1184
1185 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1186 "Times New Roman"'>The destructor closes the packet table in the file, so a
1187 packet table created or opened with the C++ wrapper does not need to be closed
1188 manually.<o:p></o:p></span></p>
1189
1190 <div class=MsoNormal align=center style='text-align:center'><span
1191 style='mso-fareast-font-family:"Times New Roman"'>
1192
1193 <hr size=3 width="100%" align=center>
1194
1195 </span></div>
1196
1197 <p class=MsoNormal style='background:#CCCCFF'><strong><span style='mso-fareast-font-family:
1198 "Times New Roman"'>Name:</span></strong><span style='mso-fareast-font-family:
1199 "Times New Roman"'> <span class=SpellE>IsValid</span> <o:p></o:p></span></p>
1200
1201 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Signature:</span></strong><span
1202 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1203
1204 <p class=MsoNormal style='margin-left:.5in'><span class=GramE><span
1205 style='mso-fareast-font-family:"Times New Roman"'>bool</span></span><span
1206 style='mso-fareast-font-family:"Times New Roman"'> <span class=SpellE>IsValid</span>()<o:p></o:p></span></p>
1207
1208 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Purpose:</span></strong><span
1209 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1210
1211 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1212 "Times New Roman"'>Determines if this is a valid packet table.<o:p></o:p></span></p>
1213
1214 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Description:</span></strong><span
1215 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1216
1217 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1218 "Times New Roman"'>This function is used to ensure that a PacketTable object
1219 corresponds to an open packet table in the file. It should be called after the
1220 constructor to check that there were no errors creating or opening the packet
1221 table.<o:p></o:p></span></p>
1222
1223 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Returns:</span></strong><span
1224 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1225
1226 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1227 "Times New Roman"'>Returns true if this is an open packet table, false
1228 otherwise.<o:p></o:p></span></p>
1229
1230 <div class=MsoNormal align=center style='text-align:center'><span
1231 style='mso-fareast-font-family:"Times New Roman"'>
1232
1233 <hr size=3 width="100%" align=center>
1234
1235 </span></div>
1236
1237 <p class=MsoNormal style='background:#CCCCFF'><strong><span style='mso-fareast-font-family:
1238 "Times New Roman"'>Name:</span></strong><span style='mso-fareast-font-family:
1239 "Times New Roman"'> <span class=SpellE>IsVariableLength</span><o:p></o:p></span></p>
1240
1241 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Signature:</span></strong><span
1242 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1243
1244 <p class=MsoNormal style='margin-left:.5in'><span class=SpellE><span
1245 class=GramE><span style='mso-fareast-font-family:"Times New Roman"'>int</span></span></span><span
1246 style='mso-fareast-font-family:"Times New Roman"'> <span class=SpellE>IsVariableLength</span>
1247 ()<o:p></o:p></span></p>
1248
1249 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Purpose:</span></strong><span
1250 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1251
1252 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1253 "Times New Roman"'>Determines if this is a valid packet table.<o:p></o:p></span></p>
1254
1255 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Description:</span></strong><span
1256 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1257
1258 <p class=MsoNormal style='margin-left:.5in'>This function<span
1259 style='mso-fareast-font-family:"Times New Roman"'> returns </span><span
1260 class=varconstfunc><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;
1261 mso-bidi-font-family:"Times New Roman"'>1</span></span><span style='mso-fareast-font-family:
1262 "Times New Roman"'> if this packet table uses a variable-length datatype, </span><span
1263 class=varconstfunc><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;
1264 mso-bidi-font-family:"Times New Roman"'>0</span></span><span style='mso-fareast-font-family:
1265 "Times New Roman"'> if not, and </span><span class=varconstfunc><span
1266 style='font-size:10.0pt;mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>FAIL</span></span><span
1267 style='font-size:8.0pt;mso-bidi-font-size:12.0pt;mso-fareast-font-family:"Times New Roman"'>
1268 </span><span style='mso-fareast-font-family:"Times New Roman"'>if failure
1269 occurs.</span></p>
1270
1271 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Returns:</span></strong><span
1272 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1273
1274 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1275 "Times New Roman"'>Returns </span><span class=varconstfunc><span
1276 style='font-size:10.0pt;mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>1</span></span><span
1277 style='mso-fareast-font-family:"Times New Roman"'>, </span><span
1278 class=varconstfunc><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;
1279 mso-bidi-font-family:"Times New Roman"'>0</span></span><span style='mso-fareast-font-family:
1280 "Times New Roman"'>, or </span><span class=varconstfunc><span style='font-size:
1281 10.0pt;mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>FAIL</span></span><span
1282 style='mso-fareast-font-family:"Times New Roman"'>.<o:p></o:p></span></p>
1283
1284 <div class=MsoNormal align=center style='text-align:center'><span
1285 style='mso-fareast-font-family:"Times New Roman"'>
1286
1287 <hr size=3 width="100%" align=center>
1288
1289 </span></div>
1290
1291 <p class=MsoNormal style='background:#CCCCFF'><strong><span style='mso-fareast-font-family:
1292 "Times New Roman"'>Name:</span></strong><span style='mso-fareast-font-family:
1293 "Times New Roman"'> <span class=SpellE>ResetIndex</span> <o:p></o:p></span></p>
1294
1295 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Signature:</span></strong><span
1296 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1297
1298 <p class=MsoNormal style='margin-left:.5in'><span class=GramE><span
1299 style='mso-fareast-font-family:"Times New Roman"'>void</span></span><span
1300 style='mso-fareast-font-family:"Times New Roman"'> <span class=SpellE>ResetIndex</span>()<o:p></o:p></span></p>
1301
1302 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Purpose:</span></strong><span
1303 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1304
1305 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1306 "Times New Roman"'>Resets the packet table's index to point to the first
1307 packet.<o:p></o:p></span></p>
1308
1309 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Description:</span></strong><span
1310 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1311
1312 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1313 "Times New Roman"'>A packet table keeps track of the user's current location in
1314 the table so that the user can iterate through packets. This function should be
1315 called before using <span class=SpellE>GetNextPacket</span>.<o:p></o:p></span></p>
1316
1317 <p class=MsoNormal align=center style='text-align:center'><span
1318 style='mso-fareast-font-family:"Times New Roman"'>&lt;<span class=SpellE>hr<!-- NEW PAGE --></span>
1319 size=3 width=&quot;100%&quot; align=center&gt; </span></p>
1320
1321 <p class=MsoNormal style='background:#CCCCFF'><strong><span style='mso-fareast-font-family:
1322 "Times New Roman"'>Name:</span></strong><span style='mso-fareast-font-family:
1323 "Times New Roman"'> <span class=SpellE>SetIndex</span> <o:p></o:p></span></p>
1324
1325 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Signature:</span></strong><span
1326 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1327
1328 <p class=MsoNormal style='margin-left:.5in'><span class=SpellE><span
1329 class=GramE><span style='mso-fareast-font-family:"Times New Roman"'>int</span></span></span><span
1330 style='mso-fareast-font-family:"Times New Roman"'> <span class=SpellE>SetIndex</span>(<span
1331 class=SpellE>hsize_t</span> index);<o:p></o:p></span></p>
1332
1333 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Purpose:</span></strong><span
1334 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1335
1336 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1337 "Times New Roman"'>Sets a packet table's current index.<o:p></o:p></span></p>
1338
1339 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Description:</span></strong><span
1340 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1341
1342 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1343 "Times New Roman"'>This function allows the user to begin iterating through packets
1344 starting from any arbitrary index. Packet tables are zero-indexed, so packet 0
1345 is the first packet.<o:p></o:p></span></p>
1346
1347 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Parameters:</span></strong><span
1348 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1349
1350 <p class=MsoNormal><span class=SpellE><span class=GramE><span style='mso-fareast-font-family:
1351 "Times New Roman"'>hsize_t</span></span></span><span style='mso-fareast-font-family:
1352 "Times New Roman"'> index<o:p></o:p></span></p>
1353
1354 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1355 "Times New Roman"'>IN: The value to which the packet table's index should be
1356 set<o:p></o:p></span></p>
1357
1358 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Returns:</span></strong><span
1359 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1360
1361 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1362 "Times New Roman"'>Returns non-negative on success, negative on error.<o:p></o:p></span></p>
1363
1364 <div class=MsoNormal align=center style='text-align:center'><span
1365 style='mso-fareast-font-family:"Times New Roman"'>
1366
1367 <hr size=3 width="100%" align=center>
1368
1369 </span></div>
1370
1371 <div class=MsoNormal align=center style='text-align:center'><span
1372 style='mso-fareast-font-family:"Times New Roman"'>
1373
1374 <hr size=3 width="100%" align=center>
1375
1376 </span></div>
1377
1378 <p class=MsoNormal style='background:#CCCCFF'><strong><span style='mso-fareast-font-family:
1379 "Times New Roman"'>Name:</span></strong><span style='mso-fareast-font-family:
1380 "Times New Roman"'> <span class=SpellE>GetIndex</span> <o:p></o:p></span></p>
1381
1382 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Signature:</span></strong><span
1383 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1384
1385 <p class=MsoNormal style='margin-left:.5in'><span class=SpellE><span
1386 class=GramE><span style='mso-fareast-font-family:"Times New Roman"'>hsize_t</span></span></span><span
1387 style='mso-fareast-font-family:"Times New Roman"'> <span class=SpellE>GetIndex</span>(<span
1388 class=SpellE>int</span>&amp; error);<o:p></o:p></span></p>
1389
1390 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Purpose:</span></strong><span
1391 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1392
1393 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1394 "Times New Roman"'>Returns the position of the current packet.<o:p></o:p></span></p>
1395
1396 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Description:</span></strong><span
1397 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1398
1399 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1400 "Times New Roman"'>This function allows the user to determine the position of
1401 the current packet. <o:p></o:p></span></p>
1402
1403 <p style='margin-left:.5in'>If <span class=SpellE><span class=varconstfunc><span
1404 style='font-size:10.0pt;mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>GetIndex</span></span></span>
1405 returns <span class=varconstfunc><span style='font-size:10.0pt;mso-bidi-font-size:
1406 12.0pt;mso-bidi-font-family:"Times New Roman"'>0</span></span> (zero), you must
1407 then check the value of the parameter <span class=varconstfunc><span
1408 style='font-size:10.0pt;mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>error</span></span>.
1409 If <span class=varconstfunc><span style='font-size:10.0pt;mso-bidi-font-size:
1410 12.0pt;mso-bidi-font-family:"Times New Roman"'>error</span></span> is negative,
1411 <span class=SpellE><span class=varconstfunc><span style='font-size:10.0pt;
1412 mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>GetIndex</span></span></span>
1413 has failed; if <span class=varconstfunc><span style='font-size:10.0pt;
1414 mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>error</span></span>
1415 is <span class=varconstfunc><span style='font-size:10.0pt;mso-bidi-font-size:
1416 12.0pt;mso-bidi-font-family:"Times New Roman"'>0</span></span> (zero), the
1417 position of the current packet is <span class=varconstfunc><span
1418 style='font-size:10.0pt;mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>0</span></span>
1419 (zero). </p>
1420
1421 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Parameters:</span></strong><span
1422 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1423
1424 <p class=MsoNormal><span class=SpellE><span class=GramE><span style='mso-fareast-font-family:
1425 "Times New Roman"'>int</span></span></span><span style='mso-fareast-font-family:
1426 "Times New Roman"'>&amp; error (optional)<o:p></o:p></span></p>
1427
1428 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1429 "Times New Roman"'>OUT: Non-negative if index was successfully retrieved,
1430 negative on failure.<o:p></o:p></span></p>
1431
1432 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Returns:</span></strong><span
1433 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1434
1435 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1436 "Times New Roman"'>Returns the position of the current packet on success, </span><span
1437 class=varconstfunc><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;
1438 mso-bidi-font-family:"Times New Roman"'>0</span></span><span style='mso-fareast-font-family:
1439 "Times New Roman"'> (zero) on error.<o:p></o:p></span></p>
1440
1441 <div class=MsoNormal align=center style='text-align:center'><span
1442 style='mso-fareast-font-family:"Times New Roman"'>
1443
1444 <hr size=3 width="100%" align=center>
1445
1446 </span></div>
1447
1448 <p class=MsoNormal style='background:#CCCCFF'><strong><span style='mso-fareast-font-family:
1449 "Times New Roman"'>Name:</span></strong><span style='mso-fareast-font-family:
1450 "Times New Roman"'> <span class=SpellE>GetPacketCount</span> <o:p></o:p></span></p>
1451
1452 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Signatures:</span></strong><span
1453 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1454
1455 <p class=MsoNormal style='margin-left:.5in'><span class=SpellE><span
1456 class=GramE><span style='mso-fareast-font-family:"Times New Roman"'>hsize_t</span></span></span><span
1457 style='mso-fareast-font-family:"Times New Roman"'> <span class=SpellE>GetPacketCount</span>()<o:p></o:p></span></p>
1458
1459 <p class=MsoNormal style='margin-left:.5in'><span class=SpellE><span
1460 class=GramE><span style='mso-fareast-font-family:"Times New Roman"'>hsize_t</span></span></span><span
1461 style='mso-fareast-font-family:"Times New Roman"'> <span class=SpellE>GetPacketCount</span>(<span
1462 class=SpellE>int</span>&amp; error)<o:p></o:p></span></p>
1463
1464 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Purpose:</span></strong><span
1465 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1466
1467 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1468 "Times New Roman"'>Retrieves the number of packets in the packet table.<o:p></o:p></span></p>
1469
1470 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Description:</span></strong><span
1471 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1472
1473 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1474 "Times New Roman"'>This function is overloaded so that it can be called with or
1475 without returning an error value. If </span><span class=varconstfunc><span
1476 style='font-size:10.0pt;mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>error</span></span><span
1477 style='mso-fareast-font-family:"Times New Roman"'> is not supplied, any error
1478 value is ignored. Using this parameter allows the user to distinguish between
1479 an open packet table with 0 packets and an invalid packet table.<o:p></o:p></span></p>
1480
1481 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Parameters:</span></strong><span
1482 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1483
1484 <p class=MsoNormal><span class=SpellE><span class=GramE><span style='mso-fareast-font-family:
1485 "Times New Roman"'>int</span></span></span><span style='mso-fareast-font-family:
1486 "Times New Roman"'>&amp; error (optional)<o:p></o:p></span></p>
1487
1488 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1489 "Times New Roman"'>OUT: Non-negative if packet count was successfully
1490 retrieved, negative if packet table is invalid.<o:p></o:p></span></p>
1491
1492 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Returns:</span></strong><span
1493 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1494
1495 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1496 "Times New Roman"'>Number of packets in packet table. Returns </span><span
1497 class=varconstfunc><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;
1498 mso-bidi-font-family:"Times New Roman"'>0</span></span><span style='mso-fareast-font-family:
1499 "Times New Roman"'> if packet table contains zero packets or on error.<o:p></o:p></span></p>
1500
1501 <div class=MsoNormal align=center style='text-align:center'><span
1502 style='mso-fareast-font-family:"Times New Roman"'>
1503
1504 <hr size=3 width="100%" align=center>
1505
1506 </span></div>
1507
1508 <p class=MsoNormal style='background:#CCCCFF'><strong><span style='mso-fareast-font-family:
1509 "Times New Roman"'>Name:</span></strong><span style='mso-fareast-font-family:
1510 "Times New Roman"'> <span class=SpellE>FreeBuff</span><o:p></o:p></span></p>
1511
1512 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Signatures:</span></strong><span
1513 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1514
1515 <p class=MsoNormal style='margin-left:.5in'><span class=SpellE><span
1516 class=GramE><span style='mso-fareast-font-family:"Times New Roman"'>int</span></span></span><span
1517 style='mso-fareast-font-family:"Times New Roman"'> <span class=SpellE>FreeBuff</span>
1518 ()<o:p></o:p></span></p>
1519
1520 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Purpose:</span></strong><span
1521 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1522
1523 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1524 "Times New Roman"'>Frees the buffer created when accessing data in a variable-length
1525 packet table.<o:p></o:p></span></p>
1526
1527 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Description:</span></strong><span
1528 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1529
1530 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1531 "Times New Roman"'>Takes the number of <span class=SpellE>hvl_t</span> <span
1532 class=SpellE>structs</span> to be freed and a pointer to their location in
1533 memory.<o:p></o:p></span></p>
1534
1535 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Parameters:</span></strong><span
1536 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1537
1538 <p class=MsoNormal><span class=SpellE><span class=GramE><span style='mso-fareast-font-family:
1539 "Times New Roman"'>size_t</span></span></span><span style='mso-fareast-font-family:
1540 "Times New Roman"'> <span class=SpellE>numStructs</span><o:p></o:p></span></p>
1541
1542 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1543 "Times New Roman"'>IN: Number of <span class=SpellE>structs</span> to be free.<o:p></o:p></span></p>
1544
1545 <p class=MsoNormal><span class=SpellE><span style='mso-fareast-font-family:
1546 "Times New Roman"'>hvl_t</span></span><span style='mso-fareast-font-family:
1547 "Times New Roman"'> *buffer<o:p></o:p></span></p>
1548
1549 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1550 "Times New Roman"'>IN: Pointer to location.<o:p></o:p></span></p>
1551
1552 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Returns:</span></strong><span
1553 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1554
1555 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1556 "Times New Roman"'>Returns </span><span class=varconstfunc><span
1557 style='font-size:10.0pt;mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>SUCCEED</span></span><span
1558 style='mso-fareast-font-family:"Times New Roman"'>, on success, and </span><span
1559 class=varconstfunc><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;
1560 mso-bidi-font-family:"Times New Roman"'>FAIL</span></span><span
1561 style='mso-fareast-font-family:"Times New Roman"'> on error.<o:p></o:p></span></p>
1562
1563 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1564 "Times New Roman"'><o:p>&nbsp;</o:p></span></p>
1565
1566 <p class=MsoNormal align=center style='text-align:center'><span
1567 style='mso-fareast-font-family:"Times New Roman"'>&lt;<span class=SpellE>hr<!-- NEW PAGE --><!-- HEADER RIGHT "FL_Packet_Table" --></span>
1568 size=3 width=&quot;100%&quot; align=center&gt; </span></p>
1569
1570 <p class=MsoNormal><span class=SpellE><strong><span style='mso-fareast-font-family:
1571 "Times New Roman"'>FL_Packet_Table</span></strong></span><strong><span
1572 style='mso-fareast-font-family:"Times New Roman"'>:</span></strong><span
1573 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1574
1575 <div class=MsoNormal align=center style='text-align:center'><span
1576 style='mso-fareast-font-family:"Times New Roman"'>
1577
1578 <hr size=3 width="100%" align=center>
1579
1580 </span></div>
1581
1582 <p class=MsoNormal style='background:#CCCCFF'><strong><span style='mso-fareast-font-family:
1583 "Times New Roman"'>Name:</span></strong><span style='mso-fareast-font-family:
1584 "Times New Roman"'> &quot;Create&quot; Constructor <o:p></o:p></span></p>
1585
1586 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Signature:</span></strong><span
1587 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1588
1589 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1590 "Times New Roman"'>FL_<span class=GramE>PacketTable(</span><span class=SpellE>hid_t</span>
1591 <span class=SpellE>fileID</span>, <span class=SpellE>hid_t</span> <span
1592 class=SpellE>plistID</span>, <span class=SpellE>const</span> char* <span
1593 class=SpellE>ptname</span>, <span class=SpellE>hid_t</span> <span class=SpellE>dtypeID</span>,
1594 <span class=SpellE>hsize_t</span> <span class=SpellE>chunkSize</span>)<o:p></o:p></span></p>
1595
1596 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Purpose:</span></strong><span
1597 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1598
1599 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1600 "Times New Roman"'>Creates a new packet table for storing fixed-length or
1601 variable-length packets.<o:p></o:p></span></p>
1602
1603 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Description:</span></strong><span
1604 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1605
1606 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1607 "Times New Roman"'>This constructor creates and opens a packet table</span><code><span
1608 style='font-size:10.0pt'>,</span></code><span style='mso-fareast-font-family:
1609 "Times New Roman"'> named </span><span class=SpellE><span class=varconstfunc><span
1610 style='font-size:10.0pt;mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>ptname</span></span></span><span
1611 style='mso-fareast-font-family:"Times New Roman"'>, in the file specified by </span><span
1612 class=SpellE><span class=varconstfunc><span style='font-size:10.0pt;mso-bidi-font-size:
1613 12.0pt;mso-bidi-font-family:"Times New Roman"'>fileID</span></span></span><code><span
1614 style='font-size:10.0pt'>. </span></code><span style='mso-fareast-font-family:
1615 "Times New Roman"'>Packets will be of the datatype specified by </span><span
1616 class=SpellE><span class=varconstfunc><span style='font-size:10.0pt;mso-bidi-font-size:
1617 12.0pt;mso-bidi-font-family:"Times New Roman"'>dtypeID</span></span></span><span
1618 style='mso-fareast-font-family:"Times New Roman"'>.<span
1619 style='mso-spacerun:yes'>  </span>The packet table uses HDF5 chunked storage to
1620 allow it to grow.<span style='mso-spacerun:yes'>  </span>The chunk size can be
1621 specified by </span><span class=SpellE><span class=varconstfunc><span
1622 style='font-size:10.0pt;mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>chunkSize</span></span></span><code><span
1623 style='font-size:10.0pt'>.</span></code><span style='mso-fareast-font-family:
1624 "Times New Roman"'> The chunk size affects performance, so it should be
1625 determined with care when performance is important.<span
1626 style='mso-spacerun:yes'>  </span>Compression can be set via the dataset create
1627 property list, specified by </span><span class=SpellE><span class=varconstfunc><span
1628 style='font-size:10.0pt;mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>plistID</span></span></span><span
1629 style='mso-fareast-font-family:"Times New Roman"'>.<o:p></o:p></span></p>
1630
1631 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Parameters:</span></strong><span
1632 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1633
1634 <p class=MsoNormal><span class=SpellE><span class=GramE><span style='mso-fareast-font-family:
1635 "Times New Roman"'>hid_t</span></span></span><span style='mso-fareast-font-family:
1636 "Times New Roman"'> <span class=SpellE>fileID</span><o:p></o:p></span></p>
1637
1638 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1639 "Times New Roman"'>IN: Identifier of the file or group to create the table
1640 within.<o:p></o:p></span></p>
1641
1642 <p class=MsoNormal><span class=SpellE><span class=GramE><span style='mso-fareast-font-family:
1643 "Times New Roman"'>hid_t</span></span></span><span style='mso-fareast-font-family:
1644 "Times New Roman"'> <span class=SpellE>plistID</span><o:p></o:p></span></p>
1645
1646 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1647 "Times New Roman"'>IN: Identifier of the creation property list.<o:p></o:p></span></p>
1648
1649 <p class=MsoNormal><span class=SpellE><span class=GramE><span style='mso-fareast-font-family:
1650 "Times New Roman"'>const</span></span></span><span style='mso-fareast-font-family:
1651 "Times New Roman"'> char *<span class=SpellE>pt_name</span><o:p></o:p></span></p>
1652
1653 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1654 "Times New Roman"'>IN: The name of the packet table to create.<o:p></o:p></span></p>
1655
1656 <p class=MsoNormal><span class=SpellE><span class=GramE><span style='mso-fareast-font-family:
1657 "Times New Roman"'>hid_t</span></span></span><span style='mso-fareast-font-family:
1658 "Times New Roman"'> <span class=SpellE>dtypeID</span><o:p></o:p></span></p>
1659
1660 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1661 "Times New Roman"'>IN: The datatype of a packet.<o:p></o:p></span></p>
1662
1663 <p class=MsoNormal><span class=SpellE><span class=GramE><span style='mso-fareast-font-family:
1664 "Times New Roman"'>hsize_t</span></span></span><span style='mso-fareast-font-family:
1665 "Times New Roman"'> <span class=SpellE>chunkSize</span><o:p></o:p></span></p>
1666
1667 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1668 "Times New Roman"'>IN: Desired chunk size.<o:p></o:p></span></p>
1669
1670 <div class=MsoNormal align=center style='text-align:center;background:#CCCCFF'><span
1671 style='mso-fareast-font-family:"Times New Roman"'>
1672
1673 <hr size=3 width="100%" align=center>
1674
1675 </span></div>
1676
1677 <p class=MsoNormal style='background:#CCCCFF'><strong><span style='mso-fareast-font-family:
1678 "Times New Roman"'>Name:</span></strong><span style='mso-fareast-font-family:
1679 "Times New Roman"'> &quot;Create&quot; Constructor (deprecated)<o:p></o:p></span></p>
1680
1681 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Signature:</span></strong><span
1682 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1683
1684 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1685 "Times New Roman"'>FL_<span class=GramE>PacketTable(</span><span class=SpellE>hid_t</span>
1686 <span class=SpellE>fileID</span>, char* <span class=SpellE>ptname</span>, <span
1687 class=SpellE>hid_t</span> <span class=SpellE>dtypeID</span>, <span
1688 class=SpellE>hsize_t</span> <span class=SpellE>chunkSize</span>, <span
1689 class=SpellE>int</span> compression)<o:p></o:p></span></p>
1690
1691 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Purpose:</span></strong><span
1692 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1693
1694 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1695 "Times New Roman"'>Creates a new packet table for storing fixed-length packets.<span
1696 style='mso-spacerun:yes'>  </span><o:p></o:p></span></p>
1697
1698 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Description:</span></strong><span
1699 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1700
1701 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1702 "Times New Roman"'>This constructor will be deprecated in favor of the previous
1703 constructor, which provides flexibility in the compression method.<o:p></o:p></span></p>
1704
1705 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1706 "Times New Roman"'>This constructor creates and opens a packet table in the
1707 file specified by </span><span class=SpellE><span class=varconstfunc><span
1708 style='font-size:10.0pt;mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>fileID</span></span></span><span
1709 style='mso-fareast-font-family:"Times New Roman"'> named </span><span
1710 class=SpellE><span class=varconstfunc><span style='font-size:10.0pt;mso-bidi-font-size:
1711 12.0pt;mso-bidi-font-family:"Times New Roman"'>ptname</span></span></span><span
1712 style='mso-fareast-font-family:"Times New Roman"'>. Packets will be of the
1713 datatype specified by </span><span class=SpellE><span class=varconstfunc><span
1714 style='font-size:10.0pt;mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>dtypeID</span></span></span><span
1715 style='mso-fareast-font-family:"Times New Roman"'>.<span
1716 style='mso-spacerun:yes'>  </span>The packet can be specified to contain data
1717 with deflate compression using the parameter </span><span class=varconstfunc><span
1718 style='font-size:10.0pt;mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>compression</span></span><code><span
1719 style='font-size:10.0pt'>.</span></code><span style='mso-fareast-font-family:
1720 "Times New Roman"'><o:p></o:p></span></p>
1721
1722 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Parameters:</span></strong><span
1723 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1724
1725 <p class=MsoNormal><span class=SpellE><span class=GramE><span style='mso-fareast-font-family:
1726 "Times New Roman"'>hid_t</span></span></span><span style='mso-fareast-font-family:
1727 "Times New Roman"'> <span class=SpellE>fileID</span><o:p></o:p></span></p>
1728
1729 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1730 "Times New Roman"'>IN: Identifier of the file or group to create the table
1731 within.<o:p></o:p></span></p>
1732
1733 <p class=MsoNormal><span class=SpellE><span class=GramE><span style='mso-fareast-font-family:
1734 "Times New Roman"'>const</span></span></span><span style='mso-fareast-font-family:
1735 "Times New Roman"'> char *<span class=SpellE>ptname</span><o:p></o:p></span></p>
1736
1737 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1738 "Times New Roman"'>IN: The name of the packet table to create.<o:p></o:p></span></p>
1739
1740 <p class=MsoNormal><span class=SpellE><span class=GramE><span style='mso-fareast-font-family:
1741 "Times New Roman"'>hid_t</span></span></span><span style='mso-fareast-font-family:
1742 "Times New Roman"'> <span class=SpellE>dtypeID</span><o:p></o:p></span></p>
1743
1744 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1745 "Times New Roman"'>IN: The datatype of a packet.<o:p></o:p></span></p>
1746
1747 <p class=MsoNormal><span class=SpellE><span class=GramE><span style='mso-fareast-font-family:
1748 "Times New Roman"'>hsize_t</span></span></span><span style='mso-fareast-font-family:
1749 "Times New Roman"'> <span class=SpellE>chunkSize</span><o:p></o:p></span></p>
1750
1751 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1752 "Times New Roman"'>IN: The packet table uses HDF5 chunked storage to allow it
1753 to grow. This value allows the user to set the size of a chunk. The chunk size
1754 affects performance.<o:p></o:p></span></p>
1755
1756 <p class=MsoNormal><span class=SpellE><span class=GramE><span style='mso-fareast-font-family:
1757 "Times New Roman"'>int</span></span></span><span style='mso-fareast-font-family:
1758 "Times New Roman"'> compression<o:p></o:p></span></p>
1759
1760 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1761 "Times New Roman"'>IN: Desired compression level: </span><span
1762 class=varconstfunc><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;
1763 mso-bidi-font-family:"Times New Roman"'>0</span></span><span style='mso-fareast-font-family:
1764 "Times New Roman"'> (zero) through </span><span class=varconstfunc><span
1765 style='font-size:10.0pt;mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>9</span></span><code><span
1766 style='font-size:10.0pt'>,</span></code><span style='mso-fareast-font-family:
1767 "Times New Roman"'> or </span><span class=varconstfunc><span style='font-size:
1768 10.0pt;mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>-1</span></span><span
1769 style='mso-fareast-font-family:"Times New Roman"'> for no compression.<o:p></o:p></span></p>
1770
1771 <div class=MsoNormal align=center style='text-align:center'><span
1772 style='mso-fareast-font-family:"Times New Roman"'>
1773
1774 <hr size=3 width="100%" align=center>
1775
1776 </span></div>
1777
1778 <p class=MsoNormal style='background:#CCCCFF'><strong><span style='mso-fareast-font-family:
1779 "Times New Roman"'>Name:</span></strong><span style='mso-fareast-font-family:
1780 "Times New Roman"'> &quot;Open&quot; Constructor <o:p></o:p></span></p>
1781
1782 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Signature:</span></strong><span
1783 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1784
1785 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1786 "Times New Roman"'>FL_<span class=GramE>PacketTable(</span><span class=SpellE>hid_t</span>
1787 <span class=SpellE>fileID</span>, <span class=SpellE>const</span> char* <span
1788 class=SpellE>ptname</span>)<o:p></o:p></span></p>
1789
1790 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1791 "Times New Roman"'>FL_<span class=GramE>PacketTable(</span><span class=SpellE>hid_t</span>
1792 <span class=SpellE>fileID</span>, char* <span class=SpellE>ptname</span>)
1793 (deprecated)<o:p></o:p></span></p>
1794
1795 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1796 "Times New Roman"'><o:p>&nbsp;</o:p></span></p>
1797
1798 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Purpose:</span></strong><span
1799 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1800
1801 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1802 "Times New Roman"'>Opens a fixed-length packet table.<o:p></o:p></span></p>
1803
1804 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Description:</span></strong><span
1805 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1806
1807 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1808 "Times New Roman"'>This constructor opens an existing packet table named </span><span
1809 class=SpellE><span class=varconstfunc><span style='font-size:10.0pt;mso-bidi-font-size:
1810 12.0pt;mso-bidi-font-family:"Times New Roman"'>ptname</span></span></span><span
1811 style='mso-fareast-font-family:"Times New Roman"'> in the location </span><span
1812 class=SpellE><span class=varconstfunc><span style='font-size:10.0pt;mso-bidi-font-size:
1813 12.0pt;mso-bidi-font-family:"Times New Roman"'>fileID</span></span></span><span
1814 style='mso-fareast-font-family:"Times New Roman"'>. This packet table must be
1815 fixed-length.<o:p></o:p></span></p>
1816
1817 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Parameters:</span></strong><span
1818 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1819
1820 <p class=MsoNormal><span class=SpellE><span class=GramE><span style='mso-fareast-font-family:
1821 "Times New Roman"'>hid_t</span></span></span><span style='mso-fareast-font-family:
1822 "Times New Roman"'> <span class=SpellE>fileID</span><o:p></o:p></span></p>
1823
1824 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1825 "Times New Roman"'>IN: Identifier of the file or group containing the packet
1826 table.<o:p></o:p></span></p>
1827
1828 <p class=MsoNormal><span class=SpellE><span class=GramE><span style='mso-fareast-font-family:
1829 "Times New Roman"'>const</span></span></span><span style='mso-fareast-font-family:
1830 "Times New Roman"'> char *<span class=SpellE>ptname</span><o:p></o:p></span></p>
1831
1832 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1833 "Times New Roman"'>IN: The name of the packet table to open.<o:p></o:p></span></p>
1834
1835 <div class=MsoNormal align=center style='text-align:center'><span
1836 style='mso-fareast-font-family:"Times New Roman"'>
1837
1838 <hr size=3 width="100%" align=center>
1839
1840 </span></div>
1841
1842 <p class=MsoNormal style='background:#CCCCFF'><strong><span style='mso-fareast-font-family:
1843 "Times New Roman"'>Name:</span></strong><span style='mso-fareast-font-family:
1844 "Times New Roman"'> <span class=SpellE>AppendPacket</span> / <span
1845 class=SpellE>AppendPackets</span> <o:p></o:p></span></p>
1846
1847 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Signature:</span></strong><span
1848 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1849
1850 <p class=MsoNormal style='margin-left:.5in'><span class=SpellE><span
1851 class=GramE><span style='mso-fareast-font-family:"Times New Roman"'>int</span></span></span><span
1852 style='mso-fareast-font-family:"Times New Roman"'> <span class=SpellE>AppendPacket</span>(void
1853 * data)<o:p></o:p></span></p>
1854
1855 <p class=MsoNormal style='margin-left:.5in'><span class=SpellE><span
1856 class=GramE><span style='mso-fareast-font-family:"Times New Roman"'>int</span></span></span><span
1857 style='mso-fareast-font-family:"Times New Roman"'> <span class=SpellE>AppendPackets</span>(<span
1858 class=SpellE>size_t</span> <span class=SpellE>numPackets</span>, void *data)<o:p></o:p></span></p>
1859
1860 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Purpose:</span></strong><span
1861 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1862
1863 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1864 "Times New Roman"'>Appends packet(s) to the packet table.<o:p></o:p></span></p>
1865
1866 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Description:</span></strong><span
1867 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1868
1869 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1870 "Times New Roman"'>These functions write packet(s) to the end of the packet
1871 table.<o:p></o:p></span></p>
1872
1873 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'><!-- NEW PAGE -->Parameters:</span></strong><span
1874 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1875
1876 <p class=MsoNormal><span class=SpellE><span class=GramE><span style='mso-fareast-font-family:
1877 "Times New Roman"'>size_t</span></span></span><span style='mso-fareast-font-family:
1878 "Times New Roman"'> <span class=SpellE>numPackets</span><o:p></o:p></span></p>
1879
1880 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1881 "Times New Roman"'>IN: Number of packets to add.<o:p></o:p></span></p>
1882
1883 <p class=MsoNormal><span class=GramE><span style='mso-fareast-font-family:"Times New Roman"'>void</span></span><span
1884 style='mso-fareast-font-family:"Times New Roman"'> * data:<o:p></o:p></span></p>
1885
1886 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1887 "Times New Roman"'>IN: Data to write. Must be a buffer of packets of the packet
1888 table's datatype.<o:p></o:p></span></p>
1889
1890 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Returns:</span></strong><span
1891 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1892
1893 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1894 "Times New Roman"'>Returns </span><span class=varconstfunc><span
1895 style='font-size:10.0pt;mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>SUCCEED</span></span><span
1896 style='mso-fareast-font-family:"Times New Roman"'>, on success, and </span><span
1897 class=varconstfunc><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;
1898 mso-bidi-font-family:"Times New Roman"'>FAIL</span></span><span
1899 style='mso-fareast-font-family:"Times New Roman"'> on error.<o:p></o:p></span></p>
1900
1901 <div class=MsoNormal align=center style='text-align:center'><span
1902 style='mso-fareast-font-family:"Times New Roman"'>
1903
1904 <hr size=3 width="100%" align=center>
1905
1906 </span></div>
1907
1908 <p class=MsoNormal style='background:#CCCCFF'><strong><span style='mso-fareast-font-family:
1909 "Times New Roman"'>Name:</span></strong><span style='mso-fareast-font-family:
1910 "Times New Roman"'> <span class=SpellE>GetPacket</span> / <span class=SpellE>GetPackets</span>
1911 <o:p></o:p></span></p>
1912
1913 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Signatures:</span></strong><span
1914 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1915
1916 <p class=MsoNormal style='margin-left:.5in'><span class=SpellE><span
1917 class=GramE><span style='mso-fareast-font-family:"Times New Roman"'>int</span></span></span><span
1918 style='mso-fareast-font-family:"Times New Roman"'> <span class=SpellE>GetPacket</span>(<span
1919 class=SpellE>hsize_t</span> index, void * data)<o:p></o:p></span></p>
1920
1921 <p class=MsoNormal style='margin-left:.5in'><span class=SpellE><span
1922 class=GramE><span style='mso-fareast-font-family:"Times New Roman"'>int</span></span></span><span
1923 style='mso-fareast-font-family:"Times New Roman"'> <span class=SpellE>GetPackets</span>(<span
1924 class=SpellE>hsize_t</span> <span class=SpellE>startIndex</span>, <span
1925 class=SpellE>hsize_t</span> <span class=SpellE>endIndex</span>, void * data)<o:p></o:p></span></p>
1926
1927 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Purpose:</span></strong><span
1928 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1929
1930 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1931 "Times New Roman"'>Reads packets from the packet table.<o:p></o:p></span></p>
1932
1933 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Description:</span></strong><span
1934 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1935
1936 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1937 "Times New Roman"'>This function fills a buffer, </span><span
1938 class=varconstfunc><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;
1939 mso-bidi-font-family:"Times New Roman"'>data</span></span><span
1940 style='mso-fareast-font-family:"Times New Roman"'>, with fixed-length packets
1941 from the packet table. The one-argument function can be called to retrieve a
1942 single packet at the given index, or the two-argument function used to read a
1943 range of packets (zero-indexed, inclusive).<o:p></o:p></span></p>
1944
1945 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Parameters:</span></strong><span
1946 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1947
1948 <p class=MsoNormal><span class=SpellE><span class=GramE><span style='mso-fareast-font-family:
1949 "Times New Roman"'>hsize_t</span></span></span><span style='mso-fareast-font-family:
1950 "Times New Roman"'> index (single packet)<o:p></o:p></span></p>
1951
1952 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1953 "Times New Roman"'>IN: Index of the single packet to be read<o:p></o:p></span></p>
1954
1955 <p class=MsoNormal><span class=SpellE><span class=GramE><span style='mso-fareast-font-family:
1956 "Times New Roman"'>hsize_t</span></span></span><span style='mso-fareast-font-family:
1957 "Times New Roman"'> <span class=SpellE>startIndex</span> (multiple packets)<o:p></o:p></span></p>
1958
1959 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1960 "Times New Roman"'>IN: Index at which to start reading packets<o:p></o:p></span></p>
1961
1962 <p class=MsoNormal><span class=SpellE><span class=GramE><span style='mso-fareast-font-family:
1963 "Times New Roman"'>hsize_t</span></span></span><span style='mso-fareast-font-family:
1964 "Times New Roman"'> <span class=SpellE>endIndex</span> (multiple packets)<o:p></o:p></span></p>
1965
1966 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1967 "Times New Roman"'>IN: Index at which to stop reading packets<o:p></o:p></span></p>
1968
1969 <p class=MsoNormal><span class=GramE><span style='mso-fareast-font-family:"Times New Roman"'>void</span></span><span
1970 style='mso-fareast-font-family:"Times New Roman"'> * data<o:p></o:p></span></p>
1971
1972 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1973 "Times New Roman"'>OUT: Buffer for packets being retrieved<o:p></o:p></span></p>
1974
1975 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Returns:</span></strong><span
1976 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1977
1978 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
1979 "Times New Roman"'>Returns </span><span class=varconstfunc><span
1980 style='font-size:10.0pt;mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>SUCCEED</span></span><span
1981 style='mso-fareast-font-family:"Times New Roman"'>, on success, and </span><span
1982 class=varconstfunc><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;
1983 mso-bidi-font-family:"Times New Roman"'>FAIL</span></span><span
1984 style='mso-fareast-font-family:"Times New Roman"'> on error.<o:p></o:p></span></p>
1985
1986 <div class=MsoNormal align=center style='text-align:center'><span
1987 style='mso-fareast-font-family:"Times New Roman"'>
1988
1989 <hr size=3 width="100%" align=center>
1990
1991 </span></div>
1992
1993 <p class=MsoNormal style='background:#CCCCFF'><strong><span style='mso-fareast-font-family:
1994 "Times New Roman"'>Name:</span></strong><span style='mso-fareast-font-family:
1995 "Times New Roman"'> <span class=SpellE>GetNextPacket</span> / Get Next Packets <o:p></o:p></span></p>
1996
1997 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Signatures:</span></strong><span
1998 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
1999
2000 <p class=MsoNormal style='margin-left:.5in'><span class=SpellE><span
2001 class=GramE><span style='mso-fareast-font-family:"Times New Roman"'>int</span></span></span><span
2002 style='mso-fareast-font-family:"Times New Roman"'> <span class=SpellE>GetNextPacket</span>(void
2003 * data)<o:p></o:p></span></p>
2004
2005 <p class=MsoNormal style='margin-left:.5in'><span class=SpellE><span
2006 class=GramE><span style='mso-fareast-font-family:"Times New Roman"'>int</span></span></span><span
2007 style='mso-fareast-font-family:"Times New Roman"'> <span class=SpellE>GetNextPackets</span>(<span
2008 class=SpellE>size_t</span> <span class=SpellE>numPackets</span>, void * data)<o:p></o:p></span></p>
2009
2010 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Purpose:</span></strong><span
2011 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
2012
2013 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
2014 "Times New Roman"'>Iterates through packets from the packet table.<o:p></o:p></span></p>
2015
2016 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Description:</span></strong><span
2017 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
2018
2019 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
2020 "Times New Roman"'>This function reads packets starting from the current index
2021 in the packet table and updates the index. It can be used with the </span><span
2022 class=SpellE><span class=varconstfunc><span style='font-size:10.0pt;mso-bidi-font-size:
2023 12.0pt;mso-bidi-font-family:"Times New Roman"'>ResetIndex</span></span></span><span
2024 style='mso-fareast-font-family:"Times New Roman"'> and </span><span
2025 class=SpellE><span class=varconstfunc><span style='font-size:10.0pt;mso-bidi-font-size:
2026 12.0pt;mso-bidi-font-family:"Times New Roman"'>SetIndex</span></span></span><span
2027 style='mso-fareast-font-family:"Times New Roman"'> functions to iterate through
2028 the packet table.<span style='mso-spacerun:yes'>  </span></span><span
2029 class=SpellE><span class=varconstfunc><span style='font-size:10.0pt;mso-bidi-font-size:
2030 12.0pt;mso-bidi-font-family:"Times New Roman"'>GetNextPacket</span></span></span><span
2031 style='mso-fareast-font-family:"Times New Roman"'> reads a single packet and </span><span
2032 class=SpellE><span class=varconstfunc><span style='font-size:10.0pt;mso-bidi-font-size:
2033 12.0pt;mso-bidi-font-family:"Times New Roman"'>GetNextPackets</span></span></span><span
2034 style='mso-fareast-font-family:"Times New Roman"'> read </span><span
2035 class=SpellE><span class=varconstfunc><span style='font-size:10.0pt;mso-bidi-font-size:
2036 12.0pt;mso-bidi-font-family:"Times New Roman"'>numPackets</span></span></span><span
2037 style='mso-fareast-font-family:"Times New Roman"'> packets.<o:p></o:p></span></p>
2038
2039 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Parameters:</span></strong><span
2040 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
2041
2042 <p class=MsoNormal><span class=SpellE><span class=GramE><span style='mso-fareast-font-family:
2043 "Times New Roman"'>size_t</span></span></span><span style='mso-fareast-font-family:
2044 "Times New Roman"'> <span class=SpellE>numPackets</span> (optional)<o:p></o:p></span></p>
2045
2046 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
2047 "Times New Roman"'>IN: How many packets to read.<o:p></o:p></span></p>
2048
2049 <p class=MsoNormal><span class=GramE><span style='mso-fareast-font-family:"Times New Roman"'>void</span></span><span
2050 style='mso-fareast-font-family:"Times New Roman"'> * data<o:p></o:p></span></p>
2051
2052 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
2053 "Times New Roman"'>OUT: Buffer to hold packets read.<o:p></o:p></span></p>
2054
2055 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Returns:</span></strong><span
2056 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
2057
2058 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
2059 "Times New Roman"'>Returns </span><span class=varconstfunc><span
2060 style='font-size:10.0pt;mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>SUCCEED</span></span><span
2061 style='mso-fareast-font-family:"Times New Roman"'>, on success, and </span><span
2062 class=varconstfunc><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;
2063 mso-bidi-font-family:"Times New Roman"'>FAIL</span></span><span
2064 style='mso-fareast-font-family:"Times New Roman"'> on error.<o:p></o:p></span></p>
2065
2066 <div class=MsoNormal align=center style='text-align:center'><span
2067 style='mso-fareast-font-family:"Times New Roman"'>
2068
2069 <hr size=3 width="100%" align=center>
2070
2071 </span></div>
2072
2073 <p class=MsoNormal style='background:#CCCCFF'><strong><span style='mso-fareast-font-family:
2074 "Times New Roman"'>Name:</span></strong><span style='mso-fareast-font-family:
2075 "Times New Roman"'> <span class=SpellE>GetTableId</span> <o:p></o:p></span></p>
2076
2077 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Signature:</span></strong><span
2078 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
2079
2080 <p class=MsoNormal style='margin-left:.5in'><span class=SpellE><span
2081 class=GramE><span style='mso-fareast-font-family:"Times New Roman"'>hid_t</span></span></span><span
2082 style='mso-fareast-font-family:"Times New Roman"'> <span class=SpellE>GetTableId</span>
2083 ()<o:p></o:p></span></p>
2084
2085 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Purpose:</span></strong><span
2086 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
2087
2088 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
2089 "Times New Roman"'>Returns the identifier of the packet table.<o:p></o:p></span></p>
2090
2091 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Description:</span></strong><span
2092 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
2093
2094 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
2095 "Times New Roman"'>This function returns the packet table identifier.<span
2096 style='mso-spacerun:yes'>  </span>However, the identifier is usually not needed
2097 by applications.<o:p></o:p></span></p>
2098
2099 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'><!-- NEW PAGE -->Returns:</span></strong><span
2100 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
2101
2102 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
2103 "Times New Roman"'>Returns a valid identifier on success, or </span><span
2104 class=varconstfunc><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;
2105 mso-bidi-font-family:"Times New Roman"'>H5I_INVALID_HID</span></span><span
2106 style='mso-fareast-font-family:"Times New Roman"'> if the packet table is not
2107 valid.<o:p></o:p></span></p>
2108
2109 <div class=MsoNormal align=center style='text-align:center'><span
2110 style='mso-fareast-font-family:"Times New Roman"'>
2111
2112 <hr size=3 width="100%" align=center>
2113
2114 </span></div>
2115
2116 <p class=MsoNormal style='background:#CCCCFF'><strong><span style='mso-fareast-font-family:
2117 "Times New Roman"'>Name:</span></strong><span style='mso-fareast-font-family:
2118 "Times New Roman"'> <span class=SpellE>GetDatatype</span><o:p></o:p></span></p>
2119
2120 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Signature:</span></strong><span
2121 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
2122
2123 <p class=MsoNormal style='margin-left:.5in'><span class=SpellE><span
2124 class=GramE><span style='mso-fareast-font-family:"Times New Roman"'>hid_t</span></span></span><span
2125 style='mso-fareast-font-family:"Times New Roman"'> <span class=SpellE>GetDatatype</span>
2126 ()<o:p></o:p></span></p>
2127
2128 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Purpose:</span></strong><span
2129 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
2130
2131 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
2132 "Times New Roman"'>Returns the datatype of this packet table.<o:p></o:p></span></p>
2133
2134 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Description:</span></strong><span
2135 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
2136
2137 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
2138 "Times New Roman"'>This function returns the identifier of the datatype used by
2139 this packet table.<span style='mso-spacerun:yes'>  </span>However, it is better
2140 to avoid using this identifier in packet table applications, unless the desired
2141 functionality cannot be performed via the packet table ID.<o:p></o:p></span></p>
2142
2143 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'><!-- NEW PAGE -->Returns:</span></strong><span
2144 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
2145
2146 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
2147 "Times New Roman"'>Returns a valid identifier on success, or </span><span
2148 class=varconstfunc><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;
2149 mso-bidi-font-family:"Times New Roman"'>H5I_INVALID_HID</span></span><span
2150 style='mso-fareast-font-family:"Times New Roman"'> on error.<o:p></o:p></span></p>
2151
2152 <div class=MsoNormal align=center style='text-align:center'><span
2153 style='mso-fareast-font-family:"Times New Roman"'>
2154
2155 <hr size=3 width="100%" align=center>
2156
2157 </span></div>
2158
2159 <p class=MsoNormal style='background:#CCCCFF'><strong><span style='mso-fareast-font-family:
2160 "Times New Roman"'>Name:</span></strong><span style='mso-fareast-font-family:
2161 "Times New Roman"'> <span class=SpellE>GetDataset</span><o:p></o:p></span></p>
2162
2163 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Signature:</span></strong><span
2164 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
2165
2166 <p class=MsoNormal style='margin-left:.5in'><span class=SpellE><span
2167 class=GramE><span style='mso-fareast-font-family:"Times New Roman"'>hid_t</span></span></span><span
2168 style='mso-fareast-font-family:"Times New Roman"'> <span class=SpellE>GetDataset</span>
2169 ()<o:p></o:p></span></p>
2170
2171 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Purpose:</span></strong><span
2172 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
2173
2174 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
2175 "Times New Roman"'>Returns the dataset of this packet table.<o:p></o:p></span></p>
2176
2177 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'>Description:</span></strong><span
2178 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
2179
2180 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
2181 "Times New Roman"'>This function returns the identifier of the dataset of this
2182 packet table.<span style='mso-spacerun:yes'>  </span>However, it is better to
2183 avoid using this identifier in packet table applications, unless the desired
2184 functionality cannot be performed via the packet table ID.<o:p></o:p></span></p>
2185
2186 <p class=MsoNormal><strong><span style='mso-fareast-font-family:"Times New Roman"'><!-- NEW PAGE -->Returns:</span></strong><span
2187 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
2188
2189 <p class=MsoNormal style='margin-left:.5in'><span style='mso-fareast-font-family:
2190 "Times New Roman"'>Returns a valid identifier on success, or </span><span
2191 class=varconstfunc><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;
2192 mso-bidi-font-family:"Times New Roman"'>H5I_INVALID_HID</span></span><span
2193 style='mso-fareast-font-family:"Times New Roman"'> on error.<o:p></o:p></span></p>
2194
2195 <p class=MsoNormal><span style='mso-fareast-font-family:"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
2196
2197 <p class=MsoNormal align=center style='text-align:center'><span
2198 style='mso-fareast-font-family:"Times New Roman"'>&lt;<span class=SpellE>hr<!-- #BeginLibraryItem "/ed_libs/NavBar_RMHL.lbi" --></span>
2199 size=3 width=&quot;100%&quot; align=center&gt; </span></p>
2200
2201 <div align=center>
2202
2203 <table class=MsoNormalTable border=0 cellspacing=3 cellpadding=0 width="98%"
2204 style='width:98.0%;mso-cellspacing:1.5pt;mso-yfti-tbllook:1184;mso-padding-alt:
2205 0in 5.4pt 0in 5.4pt'>
2206 <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes'>
2207 <td valign=top style='padding:.75pt .75pt .75pt .75pt'>
2208 <p class=MsoNormal><span style='mso-fareast-font-family:"Times New Roman"'><a
2209 href="../index.html">HDF5 documents and links</a>&nbsp;<br>
2210 <a href="../H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
2211 <a href="../UG/HDF5_Users_Guide-Responsive%20HTML5/index.html"><span
2212 class=SpellE>HDF5</span> User's Guide</a>&nbsp;<br>
2213 <a href="index.html">Other High-level API documents</a> <o:p></o:p></span></p>
2214 </td>
2215 <td valign=top style='padding:.75pt .75pt .75pt .75pt'>
2216 <p class=MsoNormal align=right style='text-align:right'><span
2217 style='mso-fareast-font-family:"Times New Roman"'><!--
3992218 <a href="Glossary.html">Glossary</a><br>
400 -->
401 </td>
402 <td valign=top align=right>
403 In the
404 <a href="../RM/RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;&nbsp;
405 <font size=-1>
406 <br>
407 <a href="RM_H5DS.html">H5DS</a>&nbsp;&nbsp;
408 <a href="RM_H5IM.html">H5IM</a>&nbsp;&nbsp;
409 <a href="RM_H5LT.html">H5LT</a>&nbsp;&nbsp;
410 <a href="RM_H5PT.html">H5PT</a>&nbsp;&nbsp;
411 <a href="RM_H5TB.html">H5TB</a>&nbsp;&nbsp;
412 <a href="RM_HDF5Optimized.html">Optimized</a>&nbsp;
413 <br>
414 <a href="../RM/RM_H5.html">H5</a>&nbsp;&nbsp;
415 <a href="../RM/RM_H5A.html">H5A</a>&nbsp;&nbsp;
416 <a href="../RM/RM_H5D.html">H5D</a>&nbsp;&nbsp;
417 <a href="../RM/RM_H5E.html">H5E</a>&nbsp;&nbsp;
418 <a href="../RM/RM_H5F.html">H5F</a>&nbsp;&nbsp;
419 <a href="../RM/RM_H5G.html">H5G</a>&nbsp;&nbsp;
420 <a href="../RM/RM_H5I.html">H5I</a>&nbsp;&nbsp;
421 <br>
422 <a href="../RM/RM_H5L.html">H5L</a>&nbsp;&nbsp;
423 <a href="../RM/RM_H5O.html">H5O</a>&nbsp;&nbsp;
424 <a href="../RM/RM_H5P.html">H5P</a>&nbsp;&nbsp;
425 <a href="../RM/RM_H5R.html">H5R</a>&nbsp;&nbsp;
426 <a href="../RM/RM_H5S.html">H5S</a>&nbsp;&nbsp;
427 <a href="../RM/RM_H5T.html">H5T</a>&nbsp;&nbsp;
428 <a href="../RM/RM_H5Z.html">H5Z</a>&nbsp;&nbsp;
429 <br>
430 <a href="../RM/Tools.html">Tools</a>&nbsp;&nbsp;
431 <a href="../RM/PredefDTypes.html">Datatypes</a>&nbsp;&nbsp;
432 <a href="../fortran/index.html">Fortran</a>&nbsp;&nbsp;
433 </font>
434 </td></tr>
435 </table>
436 </center>
437 <hr>
438 <!-- #EndLibraryItem -->
439
440 <?php include("../ed_libs/Footer2.htm"); ?>
441
442 <SCRIPT LANGUAGE="JAVASCRIPT">
2219 -->In
2220 the <a href="../RM/RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;&nbsp; </span><span
2221 style='font-size:10.0pt;mso-fareast-font-family:"Times New Roman"'><br>
2222 <a href="RM_H5DS.html">H5DS</a>&nbsp;&nbsp; <a href="RM_H5IM.html">H5IM</a>&nbsp;&nbsp;
2223 <a href="RM_H5LT.html">H5LT</a>&nbsp;&nbsp; <a href="RM_H5PT.html">H5PT</a>&nbsp;&nbsp;
2224 <a href="RM_H5TB.html">H5TB</a>&nbsp;&nbsp; <a href="RM_HDF5Optimized.html">Optimized</a>&nbsp;
2225 <br>
2226 <a href="../RM/RM_H5.html">H5</a>&nbsp;&nbsp; <a href="../RM/RM_H5A.html">H5A</a>&nbsp;&nbsp;
2227 <a href="../RM/RM_H5D.html">H5D</a>&nbsp;&nbsp; <a href="../RM/RM_H5E.html">H5E</a>&nbsp;&nbsp;
2228 <a href="../RM/RM_H5F.html">H5F</a>&nbsp;&nbsp; <a href="../RM/RM_H5G.html">H5G</a>&nbsp;&nbsp;
2229 <a href="../RM/RM_H5I.html">H5I</a>&nbsp;&nbsp; <br>
2230 <a href="../RM/RM_H5L.html">H5L</a>&nbsp;&nbsp; <a href="../RM/RM_H5O.html">H5O</a>&nbsp;&nbsp;
2231 <a href="../RM/RM_H5P.html">H5P</a>&nbsp;&nbsp; <a href="../RM/RM_H5R.html">H5R</a>&nbsp;&nbsp;
2232 <a href="../RM/RM_H5S.html">H5S</a>&nbsp;&nbsp; <a href="../RM/RM_H5T.html">H5T</a>&nbsp;&nbsp;
2233 <a href="../RM/RM_H5Z.html">H5Z</a>&nbsp;&nbsp; <br>
2234 <a href="../RM/Tools.html">Tools</a>&nbsp;&nbsp; <a
2235 href="../RM/PredefDTypes.html">Datatypes</a>&nbsp;&nbsp; <a
2236 href="../fortran/index.html">Fortran</a>&nbsp;&nbsp; </span><span
2237 style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
2238 </td>
2239 </tr>
2240 </table>
2241
2242 </div>
2243
2244 <div class=MsoNormal align=center style='text-align:center'><span
2245 style='mso-fareast-font-family:"Times New Roman"'>
2246
2247 <hr size=3 width="100%" align=center>
2248
2249 </span></div>
2250
2251 <p class=MsoNormal><span style='mso-fareast-font-family:"Times New Roman"'><script language="JavaScript">
4432252 <!--
4442253 document.writeln(' \
4452254 <address> \
4462255 Last modified: 4 February 2010 <br> \
4472256 </address> \
4482257 ');
449 -->
450 </SCRIPT>
451
452 </body>
453 </html>
2258 -->
2259 </script><o:p>&nbsp;</o:p></span></p>
2260
2261 <!-- #EndLibraryItem --><?php include("../ed_libs/Footer2.htm"); ?></div>
2262
2263 </body>
2264
2265 </html>
2222 <hr>
2323 <dl>
2424 <dt><div align=right><font color=999999 size=-1><i>
25 Last modified: 26 September 2014
25 Last modified: 28 March 2016
2626 </i></font></div>
2727
2828 <dt><strong>Name:</strong> <a name="Link-IterateByName">H5Literate_by_name</a>
3535 <em>hsize_t</em> *<code>idx</code>,
3636 <em>H5L_iterate_t</em> <code>op</code>,
3737 <em>void</em> *<code>op_data</code>,
38 <em>hid_t</em> *<code>lapl_id</code>
38 <em>hid_t</em> <code>lapl_id</code>
3939 )
4040 <p>
4141 <dt><strong>Purpose:</strong>
2525 JAVAROOT = .classes
2626
2727 classes:
28 $(MKDIR_P) $(@D)/$(JAVAROOT)
28 test -d $(@D)/$(JAVAROOT) || $(MKDIR_P) $(@D)/$(JAVAROOT)
2929
3030 pkgpath = examples/datasets
3131 hdfjarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar
7070 CLEANFILES = classnoinst.stamp $(jarfile) $(JAVAROOT)/$(pkgpath)/*.class runExample.sh
7171
7272 clean:
73 rm -rf $(JAVAROOT)
73 rm -rf $(JAVAROOT)/*
7474 rm -f $(jarfile)
7575 rm -f classnoinst.stamp
7676
10961096 @$(top_srcdir)/bin/makehelp
10971097
10981098 classes:
1099 $(MKDIR_P) $(@D)/$(JAVAROOT)
1099 test -d $(@D)/$(JAVAROOT) || $(MKDIR_P) $(@D)/$(JAVAROOT)
11001100
11011101 $(jarfile): classnoinst.stamp classes
11021102 $(JAR) cvf $@ -C $(JAVAROOT)/ $(pkgpath)
11041104 .PHONY: classes
11051105
11061106 clean:
1107 rm -rf $(JAVAROOT)
1107 rm -rf $(JAVAROOT)/*
11081108 rm -f $(jarfile)
11091109 rm -f classnoinst.stamp
11101110
9999 # make cp fail
100100 SDIR=`$DIRNAME $tstfile`
101101 INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
102 INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
102 INODE_DDIR=`$LS -i -d $BLDLIBDIR | $AWK -F' ' '{print $1}'`
103103 if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
104104 $CP -f $tstfile $BLDLIBDIR
105105 if [ $? -ne 0 ]; then
118118 # skip rm if srcdir is same as destdir
119119 # this occurs when build/test performed in source dir and
120120 # make cp fail
121 SDIR=`$DIRNAME $tstfile`
121 SDIR=`$DIRNAME $HDFLIB_HOME/slf4j-api-1.7.5.jar`
122122 INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
123 INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
123 INODE_DDIR=`$LS -i -d $BLDLIBDIR | $AWK -F' ' '{print $1}'`
124124 if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
125125 $RM $BLDLIBDIR
126126 fi
142142 # make cp fail
143143 SDIR=`$DIRNAME $tstfile`
144144 INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
145 INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
145 INODE_DDIR=`$LS -i -d $BLDDIR | $AWK -F' ' '{print $1}'`
146146 if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
147147 $CP -f $tstfile $BLDDIR
148148 if [ $? -ne 0 ]; then
158158
159159 CLEAN_DATAFILES_AND_BLDDIR()
160160 {
161 # skip rm if srcdir is same as destdir
162 # this occurs when build/test performed in source dir and
163 # make cp fail
164 SDIR=`$DIRNAME $tstfile`
165 INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
166 INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
167 if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
168 $RM $BLDDIR/*.txt
169 $RM $BLDDIR/*.out
170 fi
161 $RM $BLDDIR/examples.datasets.H5Ex_D_*.txt
162 $RM $BLDDIR/H5Ex_D_*.out
171163 }
172164
173165 # Print a line-line message left justified in a field of 70 characters
2525 JAVAROOT = .classes
2626
2727 classes:
28 $(MKDIR_P) $(@D)/$(JAVAROOT)
28 test -d $(@D)/$(JAVAROOT) || $(MKDIR_P) $(@D)/$(JAVAROOT)
2929
3030 pkgpath = examples/datatypes
3131 hdfjarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar
7070 CLEANFILES = classnoinst.stamp $(jarfile) $(JAVAROOT)/$(pkgpath)/*.class runExample.sh
7171
7272 clean:
73 rm -rf $(JAVAROOT)
73 rm -rf $(JAVAROOT)/*
7474 rm -f $(jarfile)
7575 rm -f classnoinst.stamp
7676
10961096 @$(top_srcdir)/bin/makehelp
10971097
10981098 classes:
1099 $(MKDIR_P) $(@D)/$(JAVAROOT)
1099 test -d $(@D)/$(JAVAROOT) || $(MKDIR_P) $(@D)/$(JAVAROOT)
11001100
11011101 $(jarfile): classnoinst.stamp classes
11021102 $(JAR) cvf $@ -C $(JAVAROOT)/ $(pkgpath)
11041104 .PHONY: classes
11051105
11061106 clean:
1107 rm -rf $(JAVAROOT)
1107 rm -rf $(JAVAROOT)/*
11081108 rm -f $(jarfile)
11091109 rm -f classnoinst.stamp
11101110
9696 # make cp fail
9797 SDIR=`$DIRNAME $tstfile`
9898 INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
99 INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
99 INODE_DDIR=`$LS -i -d $BLDLIBDIR | $AWK -F' ' '{print $1}'`
100100 if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
101101 $CP -f $tstfile $BLDLIBDIR
102102 if [ $? -ne 0 ]; then
115115 # skip rm if srcdir is same as destdir
116116 # this occurs when build/test performed in source dir and
117117 # make cp fail
118 SDIR=`$DIRNAME $tstfile`
118 SDIR=`$DIRNAME $HDFLIB_HOME/slf4j-api-1.7.5.jar`
119119 INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
120 INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
120 INODE_DDIR=`$LS -i -d $BLDLIBDIR | $AWK -F' ' '{print $1}'`
121121 if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
122122 $RM $BLDLIBDIR
123123 fi
139139 # make cp fail
140140 SDIR=`$DIRNAME $tstfile`
141141 INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
142 INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
142 INODE_DDIR=`$LS -i -d $BLDDIR | $AWK -F' ' '{print $1}'`
143143 if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
144144 $CP -f $tstfile $BLDDIR
145145 if [ $? -ne 0 ]; then
155155
156156 CLEAN_DATAFILES_AND_BLDDIR()
157157 {
158 # skip rm if srcdir is same as destdir
159 # this occurs when build/test performed in source dir and
160 # make cp fail
161 SDIR=`$DIRNAME $tstfile`
162 INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
163 INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
164 if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
165 $RM $BLDDIR/*.txt
166 $RM $BLDDIR/*.out
167 fi
158 $RM $BLDDIR/examples.datatypes.H5Ex_T_*.txt
159 $RM $BLDDIR/H5Ex_T_*.out
168160 }
169161
170162 # Print a line-line message left justified in a field of 70 characters
2525 JAVAROOT = .classes
2626
2727 classes:
28 $(MKDIR_P) $(@D)/$(JAVAROOT)
28 test -d $(@D)/$(JAVAROOT) || $(MKDIR_P) $(@D)/$(JAVAROOT)
2929
3030 pkgpath = examples/groups
3131 hdfjarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar
6060 CLEANFILES = classnoinst.stamp $(jarfile) $(JAVAROOT)/$(pkgpath)/*.class runExample.sh
6161
6262 clean:
63 rm -rf $(JAVAROOT)
63 rm -rf $(JAVAROOT)/*
6464 rm -f $(jarfile)
6565 rm -f classnoinst.stamp
6666
10851085 @$(top_srcdir)/bin/makehelp
10861086
10871087 classes:
1088 $(MKDIR_P) $(@D)/$(JAVAROOT)
1088 test -d $(@D)/$(JAVAROOT) || $(MKDIR_P) $(@D)/$(JAVAROOT)
10891089
10901090 $(jarfile): classnoinst.stamp classes
10911091 $(JAR) cvf $@ -C $(JAVAROOT)/ $(pkgpath)
10931093 .PHONY: classes
10941094
10951095 clean:
1096 rm -rf $(JAVAROOT)
1096 rm -rf $(JAVAROOT)/*
10971097 rm -f $(jarfile)
10981098 rm -f classnoinst.stamp
10991099
9191 # make cp fail
9292 SDIR=`$DIRNAME $tstfile`
9393 INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
94 INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
94 INODE_DDIR=`$LS -i -d $BLDLIBDIR | $AWK -F' ' '{print $1}'`
9595 if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
9696 $CP -f $tstfile $BLDLIBDIR
9797 if [ $? -ne 0 ]; then
110110 # skip rm if srcdir is same as destdir
111111 # this occurs when build/test performed in source dir and
112112 # make cp fail
113 SDIR=`$DIRNAME $tstfile`
113 SDIR=`$DIRNAME $HDFLIB_HOME/slf4j-api-1.7.5.jar`
114114 INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
115 INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
115 INODE_DDIR=`$LS -i -d $BLDLIBDIR | $AWK -F' ' '{print $1}'`
116116 if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
117117 $RM $BLDLIBDIR
118118 fi
134134 # make cp fail
135135 SDIR=`$DIRNAME $tstfile`
136136 INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
137 INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
137 INODE_DDIR=`$LS -i -d $BLDDIR | $AWK -F' ' '{print $1}'`
138138 if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
139139 $CP -f $tstfile $BLDDIR
140140 if [ $? -ne 0 ]; then
150150
151151 CLEAN_DATAFILES_AND_BLDDIR()
152152 {
153 # skip rm if srcdir is same as destdir
154 # this occurs when build/test performed in source dir and
155 # make cp fail
156 SDIR=`$DIRNAME $tstfile`
157 INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
158 INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
159 if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
160 $RM $BLDDIR/*.txt
161 $RM $BLDDIR/*.out
162 fi
153 $RM $BLDDIR/examples.groups.H5Ex_G_*.txt
154 $RM $BLDDIR/H5Ex_G_*.out
163155 }
164156
165157 COPY_REFFILES="$LIST_REF_FILES"
178170 # make cp fail
179171 SDIR=`$DIRNAME $tstfile`
180172 INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
181 INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
173 INODE_DDIR=`$LS -i -d $BLDREFDIR | $AWK -F' ' '{print $1}'`
182174 if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
183175 $CP -f $tstfile $BLDREFDIR
184176 if [ $? -ne 0 ]; then
197189 # skip rm if srcdir is same as destdir
198190 # this occurs when build/test performed in source dir and
199191 # make cp fail
200 SDIR=`$DIRNAME $tstfile`
192 SDIR=`$DIRNAME $HDFTEST_HOME/h5ex_g_iterate.h5`
201193 INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
202 INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
194 INODE_DDIR=`$LS -i -d $BLDREFDIR | $AWK -F' ' '{print $1}'`
203195 if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
204196 $RM $BLDREFDIR
205197 fi
2525 JAVAROOT = .classes
2626
2727 classes:
28 $(MKDIR_P) $(@D)/$(JAVAROOT)
28 test -d $(@D)/$(JAVAROOT) || $(MKDIR_P) $(@D)/$(JAVAROOT)
2929
3030 pkgpath = examples/intro
3131 hdfjarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar
5959 CLEANFILES = classnoinst.stamp $(jarfile) $(JAVAROOT)/$(pkgpath)/*.class runExample.sh
6060
6161 clean:
62 rm -rf $(JAVAROOT)
62 rm -rf $(JAVAROOT)/*
6363 rm -f $(jarfile)
6464 rm -f classnoinst.stamp
6565
10851085 @$(top_srcdir)/bin/makehelp
10861086
10871087 classes:
1088 $(MKDIR_P) $(@D)/$(JAVAROOT)
1088 test -d $(@D)/$(JAVAROOT) || $(MKDIR_P) $(@D)/$(JAVAROOT)
10891089
10901090 $(jarfile): classnoinst.stamp classes
10911091 $(JAR) cvf $@ -C $(JAVAROOT)/ $(pkgpath)
10931093 .PHONY: classes
10941094
10951095 clean:
1096 rm -rf $(JAVAROOT)
1096 rm -rf $(JAVAROOT)/*
10971097 rm -f $(jarfile)
10981098 rm -f classnoinst.stamp
10991099
8585 # make cp fail
8686 SDIR=`$DIRNAME $tstfile`
8787 INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
88 INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
88 INODE_DDIR=`$LS -i -d $BLDLIBDIR | $AWK -F' ' '{print $1}'`
8989 if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
9090 $CP -f $tstfile $BLDLIBDIR
9191 if [ $? -ne 0 ]; then
104104 # skip rm if srcdir is same as destdir
105105 # this occurs when build/test performed in source dir and
106106 # make cp fail
107 SDIR=`$DIRNAME $tstfile`
107 SDIR=`$DIRNAME $HDFLIB_HOME/slf4j-api-1.7.5.jar`
108108 INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
109 INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
109 INODE_DDIR=`$LS -i -d $BLDLIBDIR | $AWK -F' ' '{print $1}'`
110110 if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
111111 $RM $BLDLIBDIR
112112 fi
128128 # make cp fail
129129 SDIR=`$DIRNAME $tstfile`
130130 INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
131 INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
131 INODE_DDIR=`$LS -i -d $BLDDIR | $AWK -F' ' '{print $1}'`
132132 if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
133133 $CP -f $tstfile $BLDDIR
134134 if [ $? -ne 0 ]; then
144144
145145 CLEAN_DATAFILES_AND_BLDDIR()
146146 {
147 # skip rm if srcdir is same as destdir
148 # this occurs when build/test performed in source dir and
149 # make cp fail
150 SDIR=`$DIRNAME $tstfile`
151 INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
152 INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
153 if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
154 $RM $BLDDIR/*.txt
155 $RM $BLDDIR/*.out
156 fi
147 $RM $BLDDIR/examples.intro.H5_*.txt
148 $RM $BLDDIR/H5_*.out
157149 }
158150
159151 # Print a line-line message left justified in a field of 70 characters
3232 JAVAROOT = .classes
3333
3434 classes:
35 $(MKDIR_P) $(@D)/$(JAVAROOT)
35 test -d $(@D)/$(JAVAROOT) || $(MKDIR_P) $(@D)/$(JAVAROOT)
3636
3737 jarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar
3838 hdf5_javadir = $(libdir)
127127 CLEANFILES = classhdf5_java.stamp $(jarfile) $(JAVAROOT)/$(pkgpath)/callbacks/*.class $(JAVAROOT)/$(pkgpath)/exceptions/*.class $(JAVAROOT)/$(pkgpath)/structs/*.class $(JAVAROOT)/$(pkgpath)/*.class
128128
129129 clean:
130 rm -rf $(JAVAROOT)
130 rm -rf $(JAVAROOT)/*
131131 rm -f $(jarfile)
132132 rm -f classhdf5_java.stamp
133133
10241024 @$(top_srcdir)/bin/makehelp
10251025
10261026 classes:
1027 $(MKDIR_P) $(@D)/$(JAVAROOT)
1027 test -d $(@D)/$(JAVAROOT) || $(MKDIR_P) $(@D)/$(JAVAROOT)
10281028
10291029 $(jarfile): classhdf5_java.stamp classes docs
10301030 $(JAR) cvf $@ -C $(JAVAROOT)/ $(pkgpath)
10351035 $(JAVADOC) -sourcepath $(srcdir) -d javadoc -use -splitIndex -windowtitle $(WINDOWTITLE) -doctitle $(DOCTITLE) -J-Xmx180m -verbose -overview $(top_srcdir)/java/src/hdf/overview.html -classpath $(CLASSPATH_ENV) hdf.hdf5lib
10361036
10371037 clean:
1038 rm -rf $(JAVAROOT)
1038 rm -rf $(JAVAROOT)/*
10391039 rm -f $(jarfile)
10401040 rm -f classhdf5_java.stamp
10411041
3030 lib_LTLIBRARIES=libhdf5_java.la
3131
3232 # Add libtool numbers to the HDF5 Java (JNI) library (from config/lt_vers.am)
33 libhdf5_java_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
33 libhdf5_java_la_LDFLAGS= -version-info $(LT_JAVA_VERS_INTERFACE):$(LT_JAVA_VERS_REVISION):$(LT_JAVA_VERS_AGE) $(AM_LDFLAGS)
3434
3535 # Source files for the library
3636 libhdf5_java_la_SOURCES=exceptionImp.c h5Constants.c nativeData.c h5util.c h5Imp.c \
737737 LT_VERS_INTERFACE = 100
738738 LT_VERS_REVISION = 0
739739 LT_VERS_AGE = 0
740 LT_CXX_VERS_INTERFACE = 100
741 LT_CXX_VERS_REVISION = 0
742 LT_CXX_VERS_AGE = 0
743 LT_F_VERS_INTERFACE = 100
744 LT_F_VERS_REVISION = 0
745 LT_F_VERS_AGE = 0
746 LT_HL_VERS_INTERFACE = 100
747 LT_HL_VERS_REVISION = 0
748 LT_HL_VERS_AGE = 0
749 LT_HL_CXX_VERS_INTERFACE = 100
750 LT_HL_CXX_VERS_REVISION = 0
751 LT_HL_CXX_VERS_AGE = 0
752 LT_HL_F_VERS_INTERFACE = 100
753 LT_HL_F_VERS_REVISION = 0
754 LT_HL_F_VERS_AGE = 0
755 LT_JAVA_VERS_INTERFACE = 100
756 LT_JAVA_VERS_REVISION = 0
757 LT_JAVA_VERS_AGE = 0
758 LT_TOOLS_VERS_INTERFACE = 100
759 LT_TOOLS_VERS_REVISION = 0
760 LT_TOOLS_VERS_AGE = 0
740761
741762 # Mark this directory as part of the JNI API
742763 JAVA_API = yes
745766 lib_LTLIBRARIES = libhdf5_java.la
746767
747768 # Add libtool numbers to the HDF5 Java (JNI) library (from config/lt_vers.am)
748 libhdf5_java_la_LDFLAGS = -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
769 libhdf5_java_la_LDFLAGS = -version-info $(LT_JAVA_VERS_INTERFACE):$(LT_JAVA_VERS_REVISION):$(LT_JAVA_VERS_AGE) $(AM_LDFLAGS)
749770
750771 # Source files for the library
751772 libhdf5_java_la_SOURCES = exceptionImp.c h5Constants.c nativeData.c h5util.c h5Imp.c \
2525 JAVAROOT = .classes
2626
2727 classes:
28 $(MKDIR_P) $(@D)/$(JAVAROOT)
28 test -d $(@D)/$(JAVAROOT) || $(MKDIR_P) $(@D)/$(JAVAROOT)
2929
3030 pkgpath = test
3131 hdfjarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar
9696 chmod +x $@
9797
9898 clean:
99 rm -rf $(JAVAROOT)
99 rm -rf $(JAVAROOT)/*
100100 rm -f $(jarfile)
101101 rm -f classnoinst.stamp
102102
11171117 @$(top_srcdir)/bin/makehelp
11181118
11191119 classes:
1120 $(MKDIR_P) $(@D)/$(JAVAROOT)
1120 test -d $(@D)/$(JAVAROOT) || $(MKDIR_P) $(@D)/$(JAVAROOT)
11211121
11221122 $(jarfile): classnoinst.stamp classes
11231123 $(JAR) cvf $@ -C $(JAVAROOT)/ $(pkgpath)
11311131 chmod +x $@
11321132
11331133 clean:
1134 rm -rf $(JAVAROOT)
1134 rm -rf $(JAVAROOT)/*
11351135 rm -f $(jarfile)
11361136 rm -f classnoinst.stamp
11371137
8888 # make cp fail
8989 SDIR=`$DIRNAME $tstfile`
9090 INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
91 INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
91 INODE_DDIR=`$LS -i -d $BLDLIBDIR | $AWK -F' ' '{print $1}'`
9292 if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
9393 $CP -f $tstfile $BLDLIBDIR
9494 if [ $? -ne 0 ]; then
107107 # skip rm if srcdir is same as destdir
108108 # this occurs when build/test performed in source dir and
109109 # make cp fail
110 SDIR=`$DIRNAME $tstfile`
110 SDIR=`$DIRNAME $HDFLIB_HOME/junit.jar`
111111 INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
112 INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
112 INODE_DDIR=`$LS -i -d $BLDLIBDIR | $AWK -F' ' '{print $1}'`
113113 if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
114114 $RM $BLDLIBDIR
115115 fi
131131 # make cp fail
132132 SDIR=`$DIRNAME $tstfile`
133133 INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
134 INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
134 INODE_DDIR=`$LS -i -d $BLDDIR | $AWK -F' ' '{print $1}'`
135135 if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
136136 $CP -f $tstfile $BLDDIR
137137 if [ $? -ne 0 ]; then
150150 # skip rm if srcdir is same as destdir
151151 # this occurs when build/test performed in source dir and
152152 # make cp fail
153 SDIR=`$DIRNAME $tstfile`
153 SDIR=`$DIRNAME $HDFTEST_HOME/h5ex_g_iterate.hdf`
154154 INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
155 INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
155 INODE_DDIR=`$LS -i -d $BLDDIR | $AWK -F' ' '{print $1}'`
156156 if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
157157 $RM $BLDDIR/*.hdf
158158 $RM $BLDDIR/*.out
274274
275275 $ CC=/usr/local/mpi/bin/mpicc ./configure
276276
277 4.3.3. Configuring for 64-bit support
277 4.3.3. Debug vs. production builds
278
279 The HDF5 library can be built in either debug or production mode.
280 The primary difference between these in HDF5 1.10.0 is that each
281 mode specifies different default values for other configure options
282 such as --enable-symbols.
283
284 To build in debug mode:
285
286 $ ./configure --enable-build-mode=debug
287
288 To build in production mode:
289
290 $ ./configure --enable-build-mode=production
291
292 To build in clean mode:
293
294 $ ./configure --enable-build-mode=clean
295
296 "Clean mode" is a minimalist configuration. e.g., no symbols, no
297 optimization, etc.
298
299 Previously, --enable-debug and --enable-production were used to
300 configure the build mode. Since the new options have somewhat
301 different semantics from these original options, these older
302 options have been deprecated and will cause the configuration
303 step to abort if used.
304
305 Release branches and distributions (e.g, HDF5 1.10.0) are set to
306 build in production mode by default. All other branches and
307 distributions (e.g., trunk, snapshots, HDF5 1.10 development branch)
308 will build in debug mode by default.
309
310 Assertions and other low-overhead sanity checks are controlled
311 separately via the --enable-asserts option (which itself primarily
312 controls the NDEBUG setting). This is enabled by default in debug
313 builds but can be configured independently of the build type.
314
315 $ ./configure --enable-asserts
316
317 4.3.4. Configuring for 64-bit support
278318 Several machine architectures support 32-bit or 64-bit binaries.
279319 The options below describe how to enable support for different options.
280320
298338 $ CFLAGS=-q64 FCFLAGS=-q64 AR='ar -X 64'\
299339 ./configure --enable-fortran
300340
301 4.3.4. Additional compilation flags
341 Configure should automatically enable large file system (LFS) support
342 for autotools builds regardless of platform and architecture. If
343 this is not true for a platform, please contact the HDF Group
344 help desk at help@hdfgroup.org.
345
346 4.3.5. Additional compilation flags
302347 If addtional flags must be passed to the compilation commands,
303348 specify those flags with the CFLAGS variable. For instance,
304 to enable symbolic debugging of a production version of HDF5, one
305 might say:
306
307 $ CFLAGS=-g ./configure --enable-production
308
309 4.3.5. Compiling HDF5 wrapper libraries
310 One can optionally build the Fortran and/or C++ interfaces to the
311 HDF5 C library. By default, both options are disabled. To build
312 them, specify `--enable-fortran' and `--enable-cxx', respectively.
349 to use pipes instead of temporary files when compiling, you
350 can enter:
351
352 $ CFLAGS=-pipe ./configure
353
354 4.3.6. Compiling HDF5 wrapper libraries
355 One can optionally build the Fortran, C++, and/or Java JNI interfaces
356 to the HDF5 C library. By default, all of these options are disabled.
357 To build them, specify --enable-fortran, --enable-cxx, and/or
358 --enable-java, respectively.
313359
314360 $ ./configure --enable-fortran
315361 $ ./configure --enable-cxx
362 $ ./configure --enable-java
316363
317 Configuration will halt if a working Fortran 90 or 95 compiler or
318 C++ compiler is not found. Currently, the Fortran configure tests
319 for these compilers in order: f90, pgf90, f95. To use an
320 alternate compiler specify it with the FC variable:
364 Configuration will halt if a working Fortran 2003, C++, or
365 Java compiler is not found. To use an alternate Fortran compiler,
366 specify it with the FC variable:
321367
322368 $ FC=/usr/local/bin/g95 ./configure --enable-fortran
323369
324 Note: The Fortran and C++ interfaces are not supported on all the
370 CXX can similarly be used to specify an alternative C++ compiler.
371
372 The libraries are compiled with flags and settings that are
373 distinct from the HDF5 library. These settings are specified in
374 platform- and compiler-specific configuration files in the config/
375 directory in the source tree. An exception to this is when a custom
376 string is used to specify profiling, symbols, and/or optimization
377 options. These flags will be used everywhere.
378
379 Note: The Fortran, C++, and Java interfaces are not supported on all
325380 platforms the main HDF5 Library supports. Also, the Fortran
326 interface supports parallel HDF5 while the C++ interface does
327 not.
381 interface supports parallel HDF5 while the C++ and Java
382 interfaces do not. None of the interfaces supports
383 thread-safety.
328384
329385 Note: See sections 4.7 and 4.8 for building the Fortran library with
330 Intel or PGI compilers.
331
332 4.3.6. Specifying other programs
386 Intel or PGI compilers.
387
388 A high-level wrapper library that contains some convenience and
389 special-purpose functions and tools can also be built with the
390 library. By default, this library is normally built along with
391 the C library. The high-level library is not supported when the
392 thread-safe HDF5 library is built, however, and will either have
393 to be explicitly disabled or the --enable-unsupported configure
394 option will have to be used.
395
396 $ ./configure --enable-threadsafe --disable-hl
397
398 OR
399
400 $ ./configure --enable-threadsafe --enable-unsupported
401
402 This is admittedly a little awkward but it avoids the more common
403 case of users having to specify --enable-hl for all builds if we
404 disabled building the high-level library by default.
405
406 4.3.7. Specifying other programs
333407 The build system has been tuned for use with GNU make but also
334408 works with other versions of make. If the `make' command runs a
335409 non-GNU version but a GNU version is available under a different
363437 because the HDF5 makefiles also use the install program to
364438 change file ownership and/or access permissions.
365439
366 4.3.7. Specifying other libraries and headers
440 4.3.8. Specifying other libraries and headers
367441 Configure searches the standard places (those places known by the
368442 systems compiler) for include files and header files. However,
369443 additional directories can be specified by using the CPPFLAGS
393467
394468 $ ./configure --with-szlib=/Szip_Install_Directory
395469
396 4.3.8. Static versus shared linking
470 4.3.9. Static versus shared linking
397471 The build process will create static libraries on all systems and
398472 shared libraries on systems that support dynamic linking to a
399473 sufficient degree. Either form of the library may be suppressed by
409483
410484 $ ./configure --enable-static-exec
411485
412 4.3.9. Optimization versus symbolic debugging
486 4.3.10. Symbolic debugging and profiling
413487 The library can be compiled to provide symbolic debugging support
414 so it can be debugged with gdb, dbx, ddd, etc., or it can be
415 compiled with various optimizations. To compile for symbolic
416 debugging (the default for snapshots), say `--disable-production';
417 to compile with optimizations (the default for supported public
418 releases), say `--enable-production'. On some systems the library
419 can also be compiled for profiling with gprof by saying
420 `--enable-production=profile'.
421
422 $ ./configure --disable-production #symbolic debugging
423 $ ./configure --enable-production #optimized code
424 $ ./configure --enable-production=profile #for use with gprof
488 so it can be debugged with gdb, dbx, ddd, etc. To compile for
489 symbolic, use --enable-symbols:
490
491 $ ./configure --enable-symbols
492
493 The --enable-symbols option can optionally take a flags string
494 which the library will use to build the library and wrappers.
495 This can be used to enable special settings like -ggdb to be
496 used:
497
498 $ ./configure --enable-symbols=-ggdb
499
500 In most cases, when symbols are not enabled the option to
501 strip all symbols (e.g., -s w/ gcc) will be added to the
502 compiler/linker flags.
425503
426504 Regardless of whether support for symbolic debugging is enabled,
427505 the library can also perform runtime debugging of certain packages
428506 (such as type conversion execution times and extensive invariant
429 condition checking). To enable this debugging, supply a
430 comma-separated list of package names to to the `--enable-debug'
431 switch. See "Debugging HDF5 Applications" for a list of package
432 names:
433
434 http://www.hdfgroup.org/HDF5/doc/H5.user/Debugging.html
435
436 Debugging can be disabled by saying `--disable-debug'.
437 The default debugging level for snapshots is a subset of the
438 available packages; the default for supported releases is no
439 debugging (debugging can incur a significant runtime penalty).
440
441 $ ./configure --enable-debug=s,t #debug only H5S and H5T
442 $ ./configure --enable-debug #debug normal packages
443 $ ./configure --enable-debug=all #debug all packages
444 $ ./configure --disable-debug #no debugging
445
446 HDF5 can also print a trace of all API function calls, their
447 arguments, and the return values. To enable or disable the
448 ability to trace the API say `--enable-trace' (the default for
449 snapthots) or `--disable-trace' (the default for public releases).
507 condition checking). These checks are generally more intensive
508 than the simple asserts and low-overhead checks enabled by
509 --enable-asserts. Note that some of these checks can significantly
510 slow down the library.
511
512 To enable this debugging, supply a comma-separated list of package
513 names to to the --enable-internal-debug option.
514
515 Current packages that can perform extra checks:
516
517 AC,B,B2,D,F,FA,FL,FS,HL,I,O,S,ST,T,Z
518
519 Any subset can be specified:
520
521 $ ./configure --enable-internal-debug="B,B2,EA,FA"
522
523 Not all packages will generate special debug checks. Configure
524 simply defines an H5<pkg>_DEBUG symbol for each package in the
525 list so there is no harm in specifying arbitrary packages. The
526 string "all" can be used to specify "all reasonable" packages,
527 though even this excludes a few packages (e.g.: B) that have
528 severe run-time penalties.
529
530 In general, the internal debug option is intended for HDF Group
531 use and, outside of the default settings, will not be of
532 interest the the average user.
533
534 The HDF5 library can also print a trace of all API function calls,
535 their arguments, and the return values. To enable or disable the
536 ability to trace the API use --enable-trace (the default for
537 debug mode) or --disable-trace (the default for production mode).
450538 The tracing must also be enabled at runtime to see any output
451539 (see "Debugging HDF5 Applications," reference above).
452540
453 4.3.10. Parallel versus serial library
541 Profiling can be enabled with --enable-profiling. This will set
542 appropriate flags for a common profiler for the platform (usually
543 gprof). Other flags can be specified via a custom string passed
544 to the option:
545
546 $ ./configure --enable-profiling # default profiler
547 $ ./configure --enable-profiling=-p # use prof w/ gcc
548
549 The profiling option is independent of the build mode. In particular,
550 note that enabling profiling will NOT automatically enable debugging
551 since it can be useful to profile a production library, even
552 if the output will be limited.
553
554 The custom strings can be more complicated than a single
555 argument:
556
557 $ ./configure --enable-profiling="-pg --coverage"
558
559 Do note that when a custom string is specified, it will *replace*
560 the flags that would normally be set for that option. It is NOT
561 concatenated. This is true of all configure options that can
562 accept a custom string.
563
564 If using Valgrind or some other memory sanity checker, you will
565 want to build the library with --enable-using-memchecker. This
566 will disable a feature of the HDF5 library that recycles
567 certain memory blocks without a trip to the system's allocator.
568 This can confuse memory checkers and hide problems.
569
570 $ ./configure --enable-using-memchecker
571
572 The library also includes its own memory sanity checker. It is not
573 as involved as Valgrind and is mainly for library developers
574 but may be of some use to users trying to track down memory leaks.
575 It can be enabled with --enable-memory-alloc-sanity-check and
576 is separate from --enable-using-memchecker.
577
578 $ ./configure --enable-memory-alloc-sanity-check
579
580 Both of these options can slow down the library and cause
581 increased memory usage.
582
583 4.3.11 Optimization
584 Various levels of compiler optimization can be specified at
585 compile time using --enable-optimization. This option can
586 take several strings:
587
588 high Aggressive optimization (-O3, etc.)
589
590 debug Optimizations that do not detract significantly
591 from the debugging experience (-Og, etc.)
592
593 none No optimizations (typically -O0)
594
595 Example:
596
597 $ ./configure --enable-optimization=high
598
599 The exact options used will vary with compiler and platform and can
600 be seen in the library settings file created during the configure
601 step.
602
603 Additionally, a custom string can be provided, such as "-Ofast":
604
605 $ ./configure --enable-optimization=-Ofast
606
607
608 Setting the optimization level to be high, debug, or none will
609 set appropriate options for the language wrappers as well if they
610 are being built (due to compiler quirks, these may be different
611 than those used for the main library). If a custom string string
612 has been provided, however, it will be used for both the HDF5
613 library and the language wrappers.
614
615 4.3.12. Parallel versus serial library
454616 The HDF5 Library can be configured to use MPI and MPI-IO for
455617 parallelism on a distributed multi-processor system. Read the
456618 file INSTALL_parallel for detailed explanations.
457619
458 4.3.11. Threadsafe capability
459 The HDF5 Library can be configured to be thread-safe (on a very
460 large scale) with the `--enable-threadsafe' flag to the configure
461 script. Some platforms may also require the '-with-pthread=INC,LIB'
462 (or '--with-pthread=DIR') flag to the configure script.
620 4.3.13. Threadsafe capability
621 The HDF5 Library can be configured to be thread-safe with the
622 `--enable-threadsafe' flag to the configure script. Some platforms
623 may also require the '-with-pthread=INC,LIB' (or
624 '--with-pthread=DIR') flag to the configure script, though this
625 is normally not necessary.
626
627 In HDF5 1.10.0, the thread-safety code uses pthreads on POSIX systems
628 and Win32 threads on Windows systems.
629
630 Thread-safety is currently implemented via a global library mutex,
631 effectively serializing library access. Please be aware of the
632 potential performance implications. The library is currently NOT
633 threaded internally though we do use thread-local storage to keep
634 track of things like per-thread function stacks for debugging.
635
636 Note that building the thread-safe library with the high-level
637 library and/or language wrappers (Fortran, etc.) is not officially
638 supported since we've never investigated the thread-safety of
639 these high-level or wrapper libraries and there is no testing.
640 However, this can be enabled with --enable-unsupported if you
641 are willing to take the risk of using it.
642
463643 For further details, see "HDF5 Thread Safe Library":
464644
465645 http://www.hdfgroup.org/HDF5/doc/TechNotes/ThreadSafeLibrary.html
466646
467 4.3.12. Backward compatibility
647 4.3.14. Backward compatibility
468648 The 1.10 version of the HDF5 Library can be configured to operate
469649 identically to the v1.6 library with the
470650 --with-default-api-version=v16
0 HDF5 version 1.10.0-pre1 released on 2016-03-17
0 HDF5 version 1.10.0-pre2 released on 2016-03-22
11 ================================================================================
2
23
34
45 INTRODUCTION
78 HDF5 1.10.0 release, and contains information on the platforms
89 tested.
910
10
1111 Links to HDF5 1.10.0 source code can be found on The HDF Group's
1212 development FTP server at the following location:
13 http://www.hdfgroup.org/HDF5/release/obtain5110.html
13
14 http://www.hdfgroup.org/HDF5/release/obtain5110.html
15
1416 User documentation be accessed directly at this location:
15 http://www.hdfgroup.org/HDF5/docNewFeatures/
17
18 http://www.hdfgroup.org/HDF5/docNewFeatures/
19
1620 For more information, see the HDF5 home page:
1721
1822 http://www.hdfgroup.org/HDF5/
1923
20 If you have any questions or comments, please send them to the HDF Help Desk:
24 If you have any questions or comments, please send them to the HDF
25 Help Desk:
2126
2227 help@hdfgroup.org
28
2329
2430
2531 CONTENTS
3137 - Known Problems
3238
3339
40
3441 New Features
3542 ============
3643 This release supports the following features:
3744
3845 Configuration
3946 -------------
40 - API compatibility with HDF5 1.8 flag was added
41
42 The 1.10 version of the HDF5 Library can be configured to operate identically
43 to the v1.8 library with the --with-default-api-version=v18 configure flag.
44 This allows existing code to be compiled with the v1.10 library without
45 requiring immediate changes to the application source code. For addtional
46 configuration options and other details, see "API Compatibility Macros in HDF5":
47 http://www.hdfgroup.org/HDF5/doc/RM/APICompatMacros.html
48
49 - Autotools configuration has been extensively reworked
50
51 The autotools configuration options have been updated to allow more fine-
52 grained control of the build options and to correct some bugs. See
53 configure --help for comprehensive information on each option.
54
55 Specific changes:
56
57 * --enable-debug and --enable-production are no longer accepted. Use
58 --enable-build-mode=(debug | production) instead. These set appropriate
59 defaults for the other configuration options (symbols, optimization,
60 etc.). These defaults can be overridden by the user.
61
62 * Extra debug output messages are no longer enabled with
63 --enable-debug=<package list>. Use --enable-internal-debug=<pkg list>
64 instead.
65
66 * A new --enable-symbols option allows symbols to be generated
67 independently of the build mode. --disable-symbols can be used to strip
68 symbols from the binary.
69
70 * A new --enable-asserts option sets/unsets NDEBUG. This is independent of
71 the build mode. This also enables some extra low-overhead debug checks
72 in the library.
73
74 * A new --enable-profiling option sets profiling flags. This is
75 independent of the build mode.
76
77 * A new --enable-optimization option sets the optimization level. This is
78 independent of the build mode.
79
80 * Many of these options can take a flags string that will be used to
81 build the library. This can be useful for specifying custom optimization
82 flags (e.g., -Os, -Ofast), etc.
83
84 * gnu C++ and Fortran use configure sub-files that update the build flags
85 and turn on warnings. The increase in warnings when building these
86 wrapper libraries is due to these flag changes, not a decrease in code
87 quality.
88
89 * The option to clear file buffers has been removed. Any buffer that will
90 eventually be written to disk will now always be memset to zero. This
91 prevents the previous contents of the buffer from being written to the
92 disk if the buffer contents are not completely overwritten, which has
93 security implications.
94
95 - LFS changes
96
97 The way the autotools handle large file support (LFS) has been overhauled
98 in this release.
99
100 * We assume ftello and fseeko exist
101
102 * We no longer explicitly use the *64 I/O functions. Instead we rely on a
103 mapping provided by _FILE_OFFSET_BITS or its equivalent.
104
105 * _LARGEFILE(64)_SOURCE is no longer exported via AM_CPPFLAGS.
106
107 Parallel Library:
47 - API Compatibility with HDF5 1.8 Flag Was Added
48
49 The 1.10 version of the HDF5 Library can be configured to operate
50 identically to the 1.8 library with the --with-default-api-version=v18
51 configure flag. This allows existing code to be compiled with the 1.10
52 library without requiring immediate changes to the application source
53 code. For addtional configuration options and other details, see
54 "API Compatibility Macros in HDF5" at
55 http://www.hdfgroup.org/HDF5/doc/RM/APICompatMacros.html.
56
57 - Autotools Configuration Has Been Extensively Reworked
58
59 The autotools configuration options have been updated to allow more
60 fine-grained control of the build options and to correct some bugs.
61 See configure --help for comprehensive information on each option.
62
63 Specific changes:
64
65 * --enable-debug and --enable-production are no longer accepted.
66 Use --enable-build-mode=(debug | production) instead. These set
67 appropriate defaults for symbols, optimizations, and other
68 configuration options. These defaults can be overridden by the
69 user.
70
71 * Extra debug output messages are no longer enabled with
72 --enable-debug=<package list>. Use --enable-internal-debug=<pkg list>
73 instead.
74
75 * A new --enable-symbols option allows symbols to be generated
76 independently of the build mode. --disable-symbols can be used
77 to strip symbols from the binary.
78
79 * A new --enable-asserts option sets/unsets NDEBUG. This is
80 independent of the build mode. This also enables some extra
81 low-overhead debug checks in the library.
82
83 * A new --enable-profiling option sets profiling flags. This is
84 independent of the build mode.
85
86 * A new --enable-optimization option sets the optimization level.
87 This is independent of the build mode.
88
89 * Many of these options can take a flags string that will be used
90 to build the library. This can be useful for specifying custom
91 optimization flags such as -Os and -Ofast.
92
93 * gnu C++ and Fortran use configure sub-files that update the
94 build flags and turn on warnings. The increase in warnings when
95 building these wrapper libraries is due to these flag changes
96 and not to a decrease in code quality.
97
98 * The option to clear file buffers has been removed. Any buffer that
99 will eventually be written to disk will now always be memset
100 to zero. This prevents the previous contents of the buffer from
101 being written to the disk if the buffer contents are not
102 completely overwritten, which has security implications.
103
104 - LFS Changes
105
106 The way the autotools handle large file support (LFS) has been
107 overhauled in this release.
108
109 * We assume ftello and fseeko exist
110
111 * We no longer explicitly use the *64 I/O functions. Instead, we
112 rely on a mapping provided by _FILE_OFFSET_BITS or its equivalent.
113
114 * _LARGEFILE(64)_SOURCE is no longer exported via AM_CPPFLAGS.
115
116
117
118 Parallel Library
108119 -----------------
109120 - Collective Metadata I/O
110
111 Calls for HDF5 metadata can result in many small reads and writes. On metadata
112 reads, collective metadata I/O can improve performance by allowing the library
113 to perform optimizations when reading the metadata, by having one rank read the
114 data and broadcasting it to all other ranks.
115
116 Collective metadata I/O improves metadata write performance through the
117 construction of an MPI derived datatype that is then written collectively
118 in a single call. For more information see
119 https://www.hdfgroup.org/HDF5/docNewFeatures/NewFeaturesCollectiveMetadataIoDocs.html
120
121 Library:
121
122 Calls for HDF5 metadata can result in many small reads and writes.
123 On metadata reads, collective metadata I/O can improve performance
124 by allowing the library to perform optimizations when reading the
125 metadata by having one rank read the data and broadcasting it to
126 all other ranks.
127
128 Collective metadata I/O improves metadata write performance through
129 the construction of an MPI derived datatype that is then written
130 collectively in a single call. For more information, see
131 https://www.hdfgroup.org/HDF5/docNewFeatures/NewFeaturesCollectiveMetadataIoDocs.html.
132
133
134
135 Library
122136 --------
123 - Concurrent access to HDF5 file - Single Writer/ Multple Reader (SWMR)
124
125 The Single Writer/ Multiple Reader or SWMR feature enables users to read
126 data concurrently while writing it. Communications between the processes
127 and file locking are not required. The processes can run on the same or
128 on different platforms, as long as they share a common file system that
129 is POSIX compliant.
130 For more information, see the Single-Writer/Multiple-Reader (SWMR)
131 Documentation at
132 https://www.hdfgroup.org/HDF5/docNewFeatures/NewFeaturesSwmrDocs.html
137 - Concurrent Access to HDF5 Files - Single Writer/ Multple Reader (SWMR)
138
139 The Single Writer/ Multiple Reader or SWMR feature enables users to
140 read data concurrently while writing it. Communications between the
141 processes and file locking are not required. The processes can run
142 on the same or on different platforms as long as they share a common
143 file system that is POSIX compliant. For more information, see the
144 Single-Writer/Multiple-Reader (SWMR) documentation at
145 https://www.hdfgroup.org/HDF5/docNewFeatures/NewFeaturesSwmrDocs.html.
133146
134147 - Virtual Dataset (VDS)
135148
136 The VDS feature enables data to be accessed across HDF5 files using standard
137 HDF5 objects such as groups and datasets without rewriting or rearranging
138 the data. An HDF5 virtual dataset (VDS) is an HDF5 dataset that is composed of
139 source HDF5 datasets in a predefined mapping. VDS can be used with the SWMR
140 feature. For documentation check
141 https://www.hdfgroup.org/HDF5/docNewFeatures/NewFeaturesVirtualDatasetDocs.html
149 The VDS feature enables data to be accessed across HDF5 files
150 using standard HDF5 objects such as groups and datasets without
151 rewriting or rearranging the data. An HDF5 virtual dataset (VDS)
152 is an HDF5 dataset that is composed of source HDF5 datasets in
153 a predefined mapping. VDS can be used with the SWMR feature. For
154 documentation, check
155 https://www.hdfgroup.org/HDF5/docNewFeatures/NewFeaturesVirtualDatasetDocs.html.
142156
143157 - Persistent Free File Space Tracking
144158
145 Usage patterns when working with an HDF5 file sometimes result in wasted space
146 within the file. This can also impair access times when working with the
147 resulting files. The new file space management feature provides strategies
148 for managing space in a file to improve performance in both of these areas.
149 For more information see
150 http://www.hdfgroup.org/HDF5/docNewFeatures/NewFeaturesFileSpaceMgmtDocs.html
151
152
153 C++ Library:
159 Usage patterns when working with an HDF5 file sometimes result in
160 wasted space within the file. This can also impair access times
161 when working with the resulting files. The new file space management
162 feature provides strategies for managing space in a file to improve
163 performance in both of these areas. For more information, see
164 http://www.hdfgroup.org/HDF5/docNewFeatures/NewFeaturesFileSpaceMgmtDocs.html.
165
166
167
168 C++ Library
154169 ------------
155 - New member function added to H5::ArrayType
156
157 The assignment operator ArrayType::operator= is added because ArrayType
158 has pointer data members.
159
160 (BMR, 2016/03/07, HDFFV-9562)
161
162
163 Tools:
170 - New Member Function Added to H5::ArrayType
171
172 The assignment operator ArrayType::operator= was added because
173 ArrayType has pointers to data members.
174
175 (BMR - 2016/03/07, HDFFV-9562)
176
177
178
179 Tools
164180 ------
165 - h5watch
166
167 Allows users to output new records appended to a dataset iunder SWMR access
168 as it grows. The functionality is similar to the Unix user command "tail"
169 with the follow option, which outputs appended data as the file grows.
170 For more information see
171 http://www.hdfgroup.org/HDF5/docNewFeatures/NewFeaturesSwmrDocs.html#Tools
181 - h5watch
182
183 The h5watch tool allows users to output new records appended to
184 a dataset under SWMR access as it grows. The functionality is
185 similar to the Unix user command "tail" with the follow option,
186 which outputs appended data as the file grows. For more
187 information, see
188 http://www.hdfgroup.org/HDF5/docNewFeatures/NewFeaturesSwmrDocs.html#Tools.
172189
173190 - h5format_convert
174
175 The tool allows users to convert the indexing type of a chunked dataset made
176 with a 1.10.x version of the HDF5 library when the latest file format is used
177 to the 1.8.x version 1 B-tree indexing type. For example, datasets created
178 using SWMR access, can be converted to be accessed by the HDF5 1.18 library
179 and tools. The tools doesn't rewrite raw data, but HDF5 metadata only.
180
181
182
183 High-Level APIs:
191
192 The h5format_convert tool allows users to convert the indexing
193 type of a chunked dataset made with a 1.10.x version of the HDF5
194 Library when the latest file format is used to the 1.8.x version 1 B-tree indexing
195 type. For example, datasets created using SWMR access, can be
196 converted to be accessed by the HDF5 1.18 library and tools. The
197 tool does not rewrite raw data, but it does rewrite HDF5 metadata.
198
199
200
201 High-Level APIs
184202 ----------------
185203 - H5DOappend
186204
187 The function appends data to a dataset along a specified dimension.
188
189
190 C Packet Table API
191 ------------------
192 - Replacement of a public function
193
194 The existing function H5PTcreate_fl limits applications to deflate
195 compression only. The public function H5PTcreate is added to replace
196 H5PTcreate_fl. H5PTcreate takes a property list ID to provide
197 flexibility on creation properties.
198
199 hid_t H5PTcreate(hid_t loc_id, const char *dset_name,
200 hid_t dtype_id, hsize_t chunk_size, hid_t plist_id);
201
202 (BMR, 2016/03/04, HDFFV-8623)
203
204 - New public functions
205
206 Two accessor functions were added per HDFFV-8623/patch 003.
207 /* Returns the ID of the dataset associated with the packet table */
208 hid_t H5PTget_dataset(hid_t table_id);
209
210 /* Returns the ID of the datatype the packet table uses */
211 hid_t H5PTget_type(hid_t table_id);
205 The function appends data to a dataset along a specified dimension.
206
207
208 C Packet Table API
209 ------------------
210 - Replacement of a Public Function with H5PTcreate
211
212 The existing function H5PTcreate_fl limits applications so they
213 can use the deflate compression only. The public function
214 H5PTcreate has been added to replace H5PTcreate_fl. H5PTcreate
215 takes a property list identifier to provide flexibility on
216 creation properties.
217
218 (BMR - 2016/03/04, HDFFV-8623)
219
220 - New Public Functions: H5PTget_dataset and H5PTget_type
221
222 Two accessor functions have been added. H5PTget_dataset returns
223 the identifier of the dataset associated a packet table, and
224 H5PTget_type returns the identifier of the datatype used by
225 a packet table.
212226
213227 (BMR, 2016/03/04, HDFFV-8623)
214228
215 - Regarding #ifdef VLPT_REMOVED
216
217 The #ifdef VLPT_REMOVED blocks are removed from the PT library source
218 except the following cases:
219 + H5PTis_varlen() is made available again.
220 + H5PTfree_vlen_readbuff() now became H5PTfree_vlen_buff()
221
222 (BMR, 2016/03/04, HDFFV-442)
223
224 C++ Packet Table API
225 --------------------
226 - New constructor
227
228 An overloaded constructor is added to FL_PacketTable and takes a property
229 list ID to provide flexibility on creation properties.
230
231 FL_PacketTable(hid_t fileID, hid_t plist_id, const char* name, hid_t dtypeID, hsize_t chunkSize);
232
233 (BMR, 2016/03/08, HDFFV-8623)
234
235 - New public functions
236
237 Two accessor wrappers to class PacketTable, per HDFFV-8623/patch 004.
238 /* Returns the ID of the dataset associated with the packet table */
239 hid_t PacketTable::GetDataset()
240
241 /* Returns the ID of the datatype the packet table uses */
242 hid_t PacketTable::GetDataset()
243
244 (BMR, 2016/03/04, HDFFV-8623)
245
246 - Member functions having "char*" as an argument
247
248 Overloaded functions were added to provide "const char*" argument, the
249 existing version will be deprecated.
250
251 (BMR, 2016/03/04)
252
253 - Regarding #ifdef VLPT_REMOVED
254
255 The #ifdef VLPT_REMOVED blocks are removed from the PT library source
256 except the following cases:
257 + VL_PacketTable::IsVariableLength() is moved to PacketTable
258 + VL_PacketTable::FreeReadBuff() now became PacketTable::FreeBuff()
259
260 (BMR, 2016/03/04, HDFFV-442)
261
262
263 Java wrapper library
229 - Regarding #ifdef VLPT_REMOVED
230
231 The #ifdef VLPT_REMOVED blocks have been removed from the packet
232 table (PT) library source except for the following functions:
233 + H5PTis_varlen() has been made available again
234 + H5PTfree_vlen_readbuff() is now H5PTfree_vlen_buff()
235
236 (BMR - 2016/03/04, HDFFV-442)
237
238 C++ Packet Table API
264239 --------------------
265
266 Java HDF5 JNI library has been integrated into the HDF5 repo, the configure
267 option is "--enable-java" and the CMake option is HDF5_BUILD_JAVA:BOOL=ON.
268 The package hierarchy has changed from the HDF5 1.8 JNI, which was
269 "ncsa.hdf.hdflib.hdf5", to HDF5 1.10, "hdf.hdflib.hdf5".
270
271 Also there are a number of new APIs added, including those for VDS and SWMR.
272
273 Other important changes:
240 - New Constructor Added to FL_PacketTable
241
242 An overloaded constructor has been added to FL_PacketTable and
243 takes a property list identifier to provide flexibility on
244 creation properties.
245
246 (BMR - 2016/03/08, HDFFV-8623)
247
248 - New Public Functions
249
250 Two accessor wrappers are added to class PacketTable.
251 PacketTable::GetDataset() returns the identifier of the dataset
252 associated with the packet table, and PacketTable::GetDatatype()
253 returns the identifier of the datatype that the packet table uses.
254
255 (BMR - 2016/03/04, HDFFV-8623)
256
257 - Member Functions with "char*" as an Argument
258
259 Overloaded functions were added to provide the "const char*"
260 argument; the existing version will be deprecated in future
261 releases.
262
263 (BMR - 2016/03/04, HDFFV-8623)
264
265 - Regarding #ifdef VLPT_REMOVED
266
267 The #ifdef VLPT_REMOVED blocks have been removed from the packet
268 table library source code except for the following functions:
269 + VL_PacketTable::IsVariableLength() was moved to PacketTable
270 + VL_PacketTable::FreeReadBuff() is now PacketTable::FreeBuff()
271
272 (BMR - 2016/03/04, HDFFV-442)
273
274
275
276 Java Wrapper Library
277 --------------------
278
279 The Java HDF5 JNI library has been integrated into the HDF5 repository.
280 The configure option is "--enable-java", and the CMake option is
281 HDF5_BUILD_JAVA:BOOL=ON. The package hierarchy has changed from the
282 HDF5 1.8 JNI, which was "ncsa.hdf.hdflib.hdf5", to HDF5 1.10,
283 "hdf.hdflib.hdf5".
284
285 A number of new APIs were added including some for VDS and SWMR.
286
287
288
289 Other Important Changes
274290 -----------------------
275291
276 hid_t type was changed from 32-bit to a 64-bit value.
277
278 Documentation
279 -------------
280 See http://www.hdfgroup.org/HDF5/docNewFeatures/NewFeaturesSwmrDocs.html#Tools
281
282
283 Issues Addressed in this Release since alpha1
292 The hid_t type was changed from 32-bit to a 64-bit value.
293
294
295
296 Issues Addressed in this Release Since alpha1
284297 =============================================
285298
286 - Wrong settings returned for a dataset access property list.
287
288 One couldn't get the correct access property setting with the following functions calls
289 H5Pget_virtual_printf_gap
290 H5Pget_virtual_view
291 H5Pget_efile_prefix
292
293 when a dataset access property list was obtained from H5Dget_access_plist(). Fixed.
294 (DER and NAF 2016-03-14 HDFFV-9716)
295
296 - h5dump segfaulted when provided with invalid arguments or when optional aruments are last option
297 on command line.
298
299 When h5dump was provided with the name of a non existing file or when optional arguments were the
300 last option on the command line, h5dump failed. Fixed.
301 (ADB 2016-02-28 HDFFV-9639, HDFFV-9684)
302
303 - HDF5 library segfaults on a corrupted file.
304
305 The HDF5 library didn't propagate an error when encounting a corruped metadata in an HDF5 file.
306 The issue was fixed for a specific filei porvided by a user. If you still see the problem,
307 please contact help@hdfgroup.org
308 (MC 2016-02-18 HDFFV-9670)
309
310 - When the latest file format is used, and when a chunked dataset is created with a datatype with the size
311 bigger than a chunk size, the data cannot be read back.
312
313 The issue was reported for the chunked datasets with a string datatype, and was confirmed for other i
314 datatypes with the sizes bigger than the chunk size in bytes. Fixed.
315 (JM 2016-02-13 HDFFV-9672)
316
317 - Control over the location of the external files
318
319 New API H5Pset_efile_prefix was added to specify locations of the external files.
320 (DER 2016-02-04 HDFFV-8740)
321
322
323
324
325 Issues Addressed in this Release since alpha0
299 - H5Pget_virtual_printf_gap, H5Pget_virtual_view, H5Pget_efile_prefix
300
301 The correct access property list settings from the
302 H5Pget_virtual_printf_gap, H5Pget_virtual_view, and
303 H5Pget_efile_prefix function calls could not be retrieved
304 using H5Dget_access_plist().
305
306 Fixed.
307
308 (DER and NAF - 2016/03/14, HDFFV-9716)
309
310 - h5dump
311
312 When h5dump was provided with the name of a non-existing file or
313 when optional arguments were the last option on the command line,
314 h5dump would segfault.
315
316 Fixed.
317
318 (ADB 2016/02/28 HDFFV-9639, HDFFV-9684)
319
320 - No Error Message for Corrupt Metadata
321
322 The HDF5 Library did not propagate an error when it encountered
323 corrupt metadata in an HDF5 file. The issue was fixed for a
324 specific file provided by a user. If you still see the problem,
325 please contact help@hdfgroup.org
326
327 Fixed.
328
329 (MC - 2016/02/18, HDFFV-9670)
330
331 - Problem Reading Chunked Datasets with a String Datatype Larger
332 Than the Chunk Size in Bytes
333
334 When the latest file format was used and when a chunked dataset
335 was created with a datatype with the size bigger than a chunk
336 size, the data could not be read back. The issue was reported
337 for chunked datasets with a string datatype and was confirmed
338 for other datatypes with the sizes bigger than the chunk size in
339 bytes.
340
341 Fixed.
342
343 (JM - 2016/02/13, HDFFV-9672)
344
345 - Control over the Location of External Files
346
347 Users were unable to specify the locations of external files.
348
349 Two APIs - H5Pget_efile_prefix and H5Pset_efile_prefix - were
350 added so that users could specify the locations of external files.
351
352 (DER - 2016/02/04, HDFFV-8740)
353
354
355
356 Issues Addressed in this Release Since alpha0
326357 =============================================
327 - h5format_convert tool didn't downgrade version of the superblock. Fixed.
328 (EIP 2016-01-11)
329
330 - It was reported that alpha0 crashed when used with multiple threads.
331 The issue exists in the HDF5 library versions 1.8 and 1.9.
332 The problem is related to a shared file pointer used in the misc. data
333 structures. The thread-safe library exposed paths in the library where
334 file pointer became invalid. Alpha1 release contains the fixes for the specific
335 use case as decribed in HDFFV-9643.
336 We will keep working on identifying other paths in the library with similar problem
337 and fixing the issue.
338 (EIP 2016-01-15)
358 - h5format_convert
359
360 The h5format_convert tool did not downgrade the version of the
361 superblock.
362
363 Fixed. The tool now will downgrade the version of the superblock.
364
365 (EIP 2016/01/11)
366
367 - Crashes with multiple threads: invalid pointers
368
369 It was reported that alpha0 crashed when used with multiple
370 threads. The issue exists in the HDF5 Library versions 1.8 and
371 1.9. The problem is related to a shared file pointer used in some
372 miscellaneous data structures. The thread-safe library exposed
373 paths in the library where a file pointer became invalid.
374
375 The alpha1 release contains the fixes for the specific use case
376 as described in HDFFV-9643. We will keep working on identifying
377 and fixing other paths in the library with similar problems.
378
379 (EIP - 2016/01/15, HDFFV-9643)
380
381
339382
340383 Supported Platforms
341384 ===================
394437 Visual Studio 2013 w/ Intel Fortran 15 (cmake)
395438
396439 Mac OS X Mt. Lion 10.8.5 Apple clang/clang++ version 5.1 from Xcode 5.1
397 64-bit gfortran GNU Fortran (GCC) 4.8.2
440 64-bit gfortran GNU Fortran (GCC) 4.8.2
398441 (swallow/kite) Intel icc/icpc/ifort version 15.0.3
399442
400443 Mac OS X Mavericks 10.9.5 Apple clang/clang++ version 6.0 from Xcode 6.2.0
401 64-bit gfortran GNU Fortran (GCC) 4.9.2
444 64-bit gfortran GNU Fortran (GCC) 4.9.2
402445 (wren/quail) Intel icc/icpc/ifort version 15.0.3
403446
404447 Mac OS X Yosemite 10.10.5 Apple clang/clang++ version 6.0 from Xcode 7.0.0
405 64-bit gfortran GNU Fortran (GCC) 4.9.2
448 64-bit gfortran GNU Fortran (GCC) 4.9.2
406449 (osx1010dev/osx1010test) Intel icc/icpc/ifort version 15.0.3
407450
408451 Mac OS X El Capitan 10.11.3 Apple clang/clang++ version 7.0.2 from Xcode 7.0.2
409 64-bit gfortran GNU Fortran (GCC) 5.2.0
452 64-bit gfortran GNU Fortran (GCC) 5.2.0
410453 (osx1010dev/osx1010test) Intel icc/icpc/ifort version 15.0.3
454
411455
412456
413457 Tested Configuration Features Summary
467511 "Supported Platforms" table.
468512
469513
514
470515 More Tested Platforms
471516 =====================
472517 The following platforms are not supported but have been tested for this release.
511556 g++ (GCC) 4.9.2 20141030 (Cray Inc.)
512557
513558
514 Known Problems
515 ==============
516 The problems reported for alpha releases were adressed in the HDF5 1.10.0-pre1 release.
517
518 There are no known problems for the newly released features listed in the "New Features"
519 section of this document.
520
521 We didn't verify that the known problems listed in the RELEASE.txt version HDF5 1.8.16 are
522 still valid. This section will be updated for the final release of HDF5 1.10.0.
523
524
525
559
560 Known Problems and Limitations
561 ==============================
562 This section contains the list of known problems and limitations introduced
563 in this release of HDF5.
564
565 Note: this list is not exhaustive of all known issues discovered in HDF5
566 software to date. For a list of significant problems and known workarounds
567 identified in past releases, please refer to:
568
569 https://www.hdfgroup.org/HDF5/release/known_problems/
570
571 The HDF Group also maintains a JIRA issue-tracking database which is used to
572 capture all known issues which are too numerous to reasonably list in this
573 document. The HDF Group is taking steps to make our JIRA issue database
574 open to the public, and this section will refer to that database in a future
575 release. In the meantime, please contact help@hdfgroup.org if you come across
576 an issue not listed here or at the link above, and we will provide any
577 information about known workarounds that we have or add it to our list of
578 known issues if it is a new issue.
579
580 - The JUnit-interface test may fail on Solaris platforms. The result of
581 a test for verifying the content of the error stack to stdout is
582 in a different order on Solaris then other platforms. Use make -i option
583 to test beyond the java/test folder.
584 (ADB - 2016/03/22 - HDFFV-9734)
585
586 - The flush/refresh test occasionally fails on OS X platforms. This is
587 being investigated and may be a problem with SWMR on HFS+.
588 (DER - 2016/03/22 - HDFFV-9731)
589
590 - The VDS/SWMR test will fail with a segmentation fault if the library
591 is built with --enable-using-memchecker.
592 (DER - 2016/03/21 - HDFFV-9732)
593
594 - SWMR feature
595 The SWMR feature will only work if an HDF5 file under SWMR access resides
596 on a file system that obeys POSIX write() ordering semantics. Because of
597 this, SWMR will not work on network file systems (e.g., NFS, SMB/Windows
598 file shares), since those systems do not guarantee write odering. SWMR
599 regression tests are likely to fail if run on a network file system. SWMR
600 is currently not tested on Windows though it can be tested manually
601 (some of the SWMR test programs are built by CMake) and there are no
602 obvious reasons for it to not work on NTFS or GPFS.
603 (EIP - 2016/03/20 - HDFFV-9733)
604
605 - VDS feature
606 Currently, the path to a VDS source file is interpreted as relative to the
607 directory where the executable program runs and not to the HDF5 file with
608 the VDS dataset unless a full path to the source file is specified during
609 the mapping.
610 (EIP - 2016/03/20 - HDFFV-9724)
791791 )
792792
793793 option (HDF5_GENERATE_HEADERS "Rebuild Generated Files" OFF)
794 mark_as_advanced (HDF5_GENERATE_HEADERS)
795794 if (HDF5_GENERATE_HEADERS)
796795 set_source_files_properties(${H5_GENERATED_HEADERS} PROPERTIES GENERATED TRUE)
797796 find_package (Perl)
790790 typedef herr_t (*H5O_operator_t)(const void *mesg/*in*/, unsigned idx,
791791 void *operator_data/*in,out*/);
792792
793 #ifdef OUT
794 /* Typedef for "internal library" iteration operations */
795 typedef herr_t (*H5O_lib_operator_t)(H5O_t *oh, H5O_mesg_t *mesg/*in,out*/,
796 unsigned sequence, hbool_t *oh_modified/*out*/, void *operator_data/*in,out*/);
797 #endif
798793 /* Typedef for "internal library" iteration operations */
799794 typedef herr_t (*H5O_lib_operator_t)(H5O_t *oh, H5O_mesg_t *mesg/*in,out*/,
800795 unsigned sequence, unsigned *oh_modified/*out*/, void *operator_data/*in,out*/);
638638 PURPOSE
639639 Routine to set a property's value in a property list.
640640 USAGE
641 herr_t H5P_set(plist_id, name, value)
641 herr_t H5Pset(plist_id, name, value)
642642 hid_t plist_id; IN: Property list to find property in
643643 const char *name; IN: Name of property to set
644644 void *value; IN: Pointer to the value for the property
537537 * It's the developer's responsibility not to pass in the value 0, which
538538 * may cause the equation to fail.
539539 */
540 #define H5_FLT_ABS_EQUAL(X,Y) (HDfabsf(X-Y) < FLT_EPSILON)
541 #define H5_DBL_ABS_EQUAL(X,Y) (HDfabs (X-Y) < DBL_EPSILON)
542 #define H5_LDBL_ABS_EQUAL(X,Y) (HDfabsl(X-Y) < LDBL_EPSILON)
543
544 #define H5_FLT_REL_EQUAL(X,Y,M) (HDfabsf((Y-X) / X) < M)
545 #define H5_DBL_REL_EQUAL(X,Y,M) (HDfabs ((Y-X) / X) < M)
546 #define H5_LDBL_REL_EQUAL(X,Y,M) (HDfabsl((Y-X) / X) < M)
547
548 /* KiB, MiB, GiB, TiB, EiB - Used in profiling and timing code */
540 #define H5_FLT_ABS_EQUAL(X,Y) (HDfabsf((X)-(Y)) < FLT_EPSILON)
541 #define H5_DBL_ABS_EQUAL(X,Y) (HDfabs ((X)-(Y)) < DBL_EPSILON)
542 #define H5_LDBL_ABS_EQUAL(X,Y) (HDfabsl((X)-(Y)) < LDBL_EPSILON)
543
544 #define H5_FLT_REL_EQUAL(X,Y,M) (HDfabsf(((Y)-(X)) / (X)) < (M))
545 #define H5_DBL_REL_EQUAL(X,Y,M) (HDfabs (((Y)-(X)) / (X)) < (M))
546 #define H5_LDBL_REL_EQUAL(X,Y,M) (HDfabsl(((Y)-(X)) / (X)) < (M))
547
548 /* KiB, MiB, GiB, TiB, PiB, EiB - Used in profiling and timing code */
549549 #define H5_KB (1024.0F)
550550 #define H5_MB (1024.0F * 1024.0F)
551551 #define H5_GB (1024.0F * 1024.0F * 1024.0F)
552552 #define H5_TB (1024.0F * 1024.0F * 1024.0F * 1024.0F)
553 #define H5_EB (1024.0F * 1024.0F * 1024.0F * 1024.0F * 1024.0F)
553 #define H5_PB (1024.0F * 1024.0F * 1024.0F * 1024.0F * 1024.0F)
554 #define H5_EB (1024.0F * 1024.0F * 1024.0F * 1024.0F * 1024.0F * 1024.0F)
554555
555556 #ifndef H5_HAVE_FLOCK
556557 /* flock() operations. Used in the source so we have to define them when
9494 #define H5_VERS_MAJOR 1 /* For major interface/format changes */
9595 #define H5_VERS_MINOR 10 /* For minor interface/format changes */
9696 #define H5_VERS_RELEASE 0 /* For tweaks, bug-fixes, or development */
97 #define H5_VERS_SUBRELEASE "pre1" /* For pre-releases like snap0 */
97 #define H5_VERS_SUBRELEASE "pre2" /* For pre-releases like snap0 */
9898 /* Empty string for real releases. */
99 #define H5_VERS_INFO "HDF5 library version: 1.10.0-pre1" /* Full version string */
99 #define H5_VERS_INFO "HDF5 library version: 1.10.0-pre2" /* Full version string */
100100
101101 #define H5check() H5check_version(H5_VERS_MAJOR,H5_VERS_MINOR, \
102102 H5_VERS_RELEASE)
727727 FUNC_LEAVE_NOAPI(ret_value)
728728 } /* end H5_make_time() */
729729
730 #ifdef H5_HAVE_VISUAL_STUDIO
730 #ifdef H5_HAVE_WIN32_API
731731
732732 /* Offset between 1/1/1601 and 1/1/1970 in 100 nanosecond units */
733733 #define _W32_FT_OFFSET (116444736000000000ULL)
911911 return 0;
912912 } /* end Wflock() */
913913
914 #endif /* H5_HAVE_VISUAL_STUDIO */
914 #endif /* H5_HAVE_WIN32_API */
915915
916916
917917 /*-------------------------------------------------------------------------
227227 } else if(bw < H5_TB) {
228228 sprintf(buf, "%05.4f", bw / H5_GB);
229229 HDstrcpy(buf+5, " GB/s");
230 } else if(bw < H5_EB) {
230 } else if(bw < H5_PB) {
231231 sprintf(buf, "%05.4f", bw / H5_TB);
232232 HDstrcpy(buf+5, " TB/s");
233233 } else {
6464 */
6565 #define HDmemset(X,C,Z) memset((void*)(X),C,Z)
6666
67 #endif /* H5_HAVE_VISUAL_STUDIO */
68
6769 struct timezone {
6870 int tz_minuteswest;
6971 int tz_dsttime;
8991 #define HDsnprintf c99_snprintf /*varargs*/
9092 #define HDvsnprintf c99_vsnprintf /*varargs*/
9193
92 #endif /* H5_HAVE_VISUAL_STUDIO */
93
9494 /* Non-POSIX functions */
9595
9696 /* Don't use actual pthread_self on Windows because the return
862862 LT_VERS_INTERFACE = 100
863863 LT_VERS_REVISION = 0
864864 LT_VERS_AGE = 0
865 LT_CXX_VERS_INTERFACE = 100
866 LT_CXX_VERS_REVISION = 0
867 LT_CXX_VERS_AGE = 0
868 LT_F_VERS_INTERFACE = 100
869 LT_F_VERS_REVISION = 0
870 LT_F_VERS_AGE = 0
871 LT_HL_VERS_INTERFACE = 100
872 LT_HL_VERS_REVISION = 0
873 LT_HL_VERS_AGE = 0
874 LT_HL_CXX_VERS_INTERFACE = 100
875 LT_HL_CXX_VERS_REVISION = 0
876 LT_HL_CXX_VERS_AGE = 0
877 LT_HL_F_VERS_INTERFACE = 100
878 LT_HL_F_VERS_REVISION = 0
879 LT_HL_F_VERS_AGE = 0
880 LT_JAVA_VERS_INTERFACE = 100
881 LT_JAVA_VERS_REVISION = 0
882 LT_JAVA_VERS_AGE = 0
883 LT_TOOLS_VERS_INTERFACE = 100
884 LT_TOOLS_VERS_REVISION = 0
885 LT_TOOLS_VERS_AGE = 0
865886
866887 # Our main target, the HDF5 library
867888 lib_LTLIBRARIES = libhdf5.la
5959 @BUILD_CXX_CONDITIONAL_TRUE@ Shared C++ Library: @enable_shared@
6060 @BUILD_CXX_CONDITIONAL_TRUE@ Static C++ Library: @enable_static@
6161
62 JAVA: @HDF_JAVA@
63 @BUILD_JAVA_CONDITIONAL_TRUE@ JAVA Compiler: @JAVA_VERSION@
62 Java: @HDF_JAVA@
63 @BUILD_JAVA_CONDITIONAL_TRUE@ Java Compiler: @JAVA_VERSION@
64
6465
6566 Features:
6667 ---------
209209 #define HDgetgrgid(G) getgrgid(G)
210210 #define HDgetgrnam(S) getgrnam(S)
211211 #define HDgetgroups(Z,G) getgroups(Z,G)
212 #ifdef H5_HAVE_VISUAL_STUDIO
212 #ifdef H5_HAVE_WIN32_API
213213 #define HDgetlogin() Wgetlogin()
214 #else /* H5_HAVE_VISUAL_STUDIO */
214 #else /* H5_HAVE_WIN32_API */
215215 #define HDgetlogin() getlogin()
216 #endif /* H5_HAVE_VISUAL_STUDIO */
216 #endif /* H5_HAVE_WIN32_API */
217217 #define HDgetpgrp() getpgrp()
218218 #define HDgetpid() getpid()
219219 #define HDgetppid() getppid()
221221 #define HDgetpwuid(U) getpwuid(U)
222222 #define HDgetrusage(X,S) getrusage(X,S)
223223 #define HDgets(S) gets(S)
224 #ifdef H5_HAVE_VISUAL_STUDIO
224 #ifdef H5_HAVE_WIN32_API
225225 H5_DLL int Wgettimeofday(struct timeval *tv, struct timezone *tz);
226226 #define HDgettimeofday(V,Z) Wgettimeofday(V,Z)
227 #else /* H5_HAVE_VISUAL_STUDIO */
227 #else /* H5_HAVE_WIN32_API */
228228 #define HDgettimeofday(S,P) gettimeofday(S,P)
229 #endif /* H5_HAVE_VISUAL_STUDIO */
229 #endif /* H5_HAVE_WIN32_API */
230230 #define HDgetuid() getuid()
231231 #define HDgmtime(T) gmtime(T)
232232 #define HDisalnum(C) isalnum((int)(C)) /*cast for solaris warning*/