From 4f6535b588e96b23d4c019fd90feb90362332340 Mon Sep 17 00:00:00 2001 From: Elena Pourmal Date: Tue, 15 Apr 2003 17:33:39 -0500 Subject: [svn-r6684] Purpose: Added copyright statement; cleaned code and fixed bugs for Windows and Cray T90IEEE Description: Fortran files did not have copyright statement; VL types did not work on T90IEEE since I never brought the correct code from 1.4 branch; there were compilation warnings on Windows; some character parameters were not passed correctly to C stubs causing tests to fail on Windows. Solution: Added copyright statement and clean the code. Platforms tested: CRAY T90IEEE, arabica, modi4 with parallel, Windows 2000 Only static tests (both debug and release) passed on Windows. DLLs have multiple problems ;-) Misc. update: --- fortran/src/H5Af.c | 17 +++++++++ fortran/src/H5Aff.f90 | 15 ++++++++ fortran/src/H5Df.c | 32 +++++++++++++++- fortran/src/H5Dff.f90 | 15 ++++++++ fortran/src/H5Ef.c | 16 ++++++++ fortran/src/H5Eff.f90 | 15 ++++++++ fortran/src/H5FDmpiof.c | 16 ++++++++ fortran/src/H5FDmpioff.f90 | 15 ++++++++ fortran/src/H5Ff.c | 76 ++++++++------------------------------ fortran/src/H5Fff.f90 | 15 ++++++++ fortran/src/H5Gf.c | 16 ++++++++ fortran/src/H5Gff.f90 | 17 ++++++++- fortran/src/H5Git.c | 21 ++++++++--- fortran/src/H5Git.h | 21 ++++++++--- fortran/src/H5If.c | 16 ++++++++ fortran/src/H5Iff.f90 | 15 ++++++++ fortran/src/H5Pf.c | 45 ++++++++++++++-------- fortran/src/H5Pff.f90 | 25 +++++++++++-- fortran/src/H5Rf.c | 22 ++++++++--- fortran/src/H5Rff.f90 | 15 ++++++++ fortran/src/H5Sf.c | 23 +----------- fortran/src/H5Sff.f90 | 17 ++++++++- fortran/src/H5Tf.c | 21 ++++++++--- fortran/src/H5Tff.f90 | 15 ++++++++ fortran/src/H5Zf.c | 16 ++++++++ fortran/src/H5Zff.f90 | 15 ++++++++ fortran/src/H5_f.c | 16 ++++++++ fortran/src/H5_ff.f90 | 14 +++++++ fortran/src/H5f90.h | 15 ++++++++ fortran/src/H5f90global.f90 | 15 ++++++++ fortran/src/H5f90kit.c | 15 ++++++++ fortran/src/H5f90proto.h | 55 ++++++++++++++++++++++++++- fortran/src/H5fortran_flags.f90 | 15 ++++++++ fortran/src/H5fortran_types.f90.in | 15 ++++++++ fortran/src/HDF5.f90 | 14 +++++++ fortran/src/HDF5mpio.f90 | 14 +++++++ 36 files changed, 611 insertions(+), 129 deletions(-) diff --git a/fortran/src/H5Af.c b/fortran/src/H5Af.c index 5d35e0e..97c4995 100644 --- a/fortran/src/H5Af.c +++ b/fortran/src/H5Af.c @@ -1,3 +1,20 @@ + +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by the Board of Trustees of the University of Illinois. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +/* This files contains C stubs for H5A Fortran APIs */ + #include "H5f90.h" /*---------------------------------------------------------------------------- diff --git a/fortran/src/H5Aff.f90 b/fortran/src/H5Aff.f90 index ecefa3e..a89ee88 100644 --- a/fortran/src/H5Aff.f90 +++ b/fortran/src/H5Aff.f90 @@ -1,3 +1,18 @@ + +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! Copyright by the Board of Trustees of the University of Illinois. * +! All rights reserved. * +! * +! This file is part of HDF5. The full HDF5 copyright notice, including * +! terms governing use, modification, and redistribution, is contained in * +! the files COPYING and Copyright.html. COPYING can be found at the root * +! of the source code distribution tree; Copyright.html can be found at the * +! root level of an installed copy of the electronic HDF5 document set and * +! is linked from the top-level documents page. It can also be found at * +! http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * +! access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! ! ! This file contains Fortran90 interfaces for H5A functions. ! diff --git a/fortran/src/H5Df.c b/fortran/src/H5Df.c index 3f2e5b9..dc6ac43 100644 --- a/fortran/src/H5Df.c +++ b/fortran/src/H5Df.c @@ -1,3 +1,19 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by the Board of Trustees of the University of Illinois. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +/* This files contains C stubs for H5D Fortran APIs */ + #include "H5f90.h" /*---------------------------------------------------------------------------- @@ -1138,7 +1154,7 @@ nh5dwrite_vl_integer_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_ c_buf = (hvl_t *)malloc(num_elem * sizeof(hvl_t)); if (c_buf == NULL) return ret_value; - tmp = buf; + tmp = (int *)buf; for (i=0; i < num_elem; i++) { c_buf[i].len = (size_t)len[i]; c_buf[i].p = tmp; @@ -1406,7 +1422,11 @@ nh5dwrite_vl_real_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_spa hid_t c_file_space_id; hid_t c_xfer_prp; herr_t status; +#if defined (_UNICOS) + double *tmp; +#else float *tmp; +#endif size_t max_len; hvl_t *c_buf; @@ -1424,7 +1444,11 @@ nh5dwrite_vl_real_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_spa c_buf = (hvl_t *)malloc(num_elem * sizeof(hvl_t)); if (c_buf == NULL) return ret_value; - tmp = buf; +#if defined (_UNICOS) + tmp = (double *)buf; +#else + tmp = (float *)buf; +#endif for (i=0; i < num_elem; i++) { c_buf[i].len = (size_t)len[i]; c_buf[i].p = tmp; @@ -1496,7 +1520,11 @@ nh5dread_vl_real_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_spac if ( status >=0 ) { for (i=0; i < num_elem; i++) { len[i] = (size_t_f)c_buf[i].len; +#if defined (_UNICOS) + memcpy(&buf[i*max_len], c_buf[i].p, c_buf[i].len*sizeof(double)); +#else memcpy(&buf[i*max_len], c_buf[i].p, c_buf[i].len*sizeof(float)); +#endif } } ret_value = num_elem; diff --git a/fortran/src/H5Dff.f90 b/fortran/src/H5Dff.f90 index 9aa201a..55e0edc 100644 --- a/fortran/src/H5Dff.f90 +++ b/fortran/src/H5Dff.f90 @@ -1,3 +1,18 @@ + +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! Copyright by the Board of Trustees of the University of Illinois. * +! All rights reserved. * +! * +! This file is part of HDF5. The full HDF5 copyright notice, including * +! terms governing use, modification, and redistribution, is contained in * +! the files COPYING and Copyright.html. COPYING can be found at the root * +! of the source code distribution tree; Copyright.html can be found at the * +! root level of an installed copy of the electronic HDF5 document set and * +! is linked from the top-level documents page. It can also be found at * +! http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * +! access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! ! ! This file contains Fortran90 interfaces for H5D functions. ! diff --git a/fortran/src/H5Ef.c b/fortran/src/H5Ef.c index 84bf50f..b69a4c6 100644 --- a/fortran/src/H5Ef.c +++ b/fortran/src/H5Ef.c @@ -1,3 +1,19 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by the Board of Trustees of the University of Illinois. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +/* This files contains C stubs for H5E Fortran APIs */ + #include "H5f90.h" diff --git a/fortran/src/H5Eff.f90 b/fortran/src/H5Eff.f90 index f835901..3618ff3 100644 --- a/fortran/src/H5Eff.f90 +++ b/fortran/src/H5Eff.f90 @@ -1,3 +1,18 @@ + +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! Copyright by the Board of Trustees of the University of Illinois. * +! All rights reserved. * +! * +! This file is part of HDF5. The full HDF5 copyright notice, including * +! terms governing use, modification, and redistribution, is contained in * +! the files COPYING and Copyright.html. COPYING can be found at the root * +! of the source code distribution tree; Copyright.html can be found at the * +! root level of an installed copy of the electronic HDF5 document set and * +! is linked from the top-level documents page. It can also be found at * +! http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * +! access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! ! ! This file contains FORTRAN90 interfaces for H5E functions ! diff --git a/fortran/src/H5FDmpiof.c b/fortran/src/H5FDmpiof.c index aada650..1b2a89b 100644 --- a/fortran/src/H5FDmpiof.c +++ b/fortran/src/H5FDmpiof.c @@ -1,3 +1,19 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by the Board of Trustees of the University of Illinois. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +/* This files contains C stubs for Parallel Fortran APIs */ + #include "H5f90.h" #include #include "H5pubconf_fortran.h" diff --git a/fortran/src/H5FDmpioff.f90 b/fortran/src/H5FDmpioff.f90 index ef2b7c2..6764d90 100644 --- a/fortran/src/H5FDmpioff.f90 +++ b/fortran/src/H5FDmpioff.f90 @@ -1,3 +1,18 @@ + +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! Copyright by the Board of Trustees of the University of Illinois. * +! All rights reserved. * +! * +! This file is part of HDF5. The full HDF5 copyright notice, including * +! terms governing use, modification, and redistribution, is contained in * +! the files COPYING and Copyright.html. COPYING can be found at the root * +! of the source code distribution tree; Copyright.html can be found at the * +! root level of an installed copy of the electronic HDF5 document set and * +! is linked from the top-level documents page. It can also be found at * +! http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * +! access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! ! ! This file contains Fortran90 interfaces for H5P functions needed by || MPI programs. ! diff --git a/fortran/src/H5Ff.c b/fortran/src/H5Ff.c index 6de752d..74ad7a5 100644 --- a/fortran/src/H5Ff.c +++ b/fortran/src/H5Ff.c @@ -1,3 +1,19 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by the Board of Trustees of the University of Illinois. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +/* This files contains C stubs for H5F Fortran APIs */ + #include "H5f90.h" /*---------------------------------------------------------------------------- @@ -24,41 +40,11 @@ nh5fcreate_c(_fcd name, int_f *namelen, int_f *access_flags, hid_t_f* crt_prp, h unsigned c_access_flags; hid_t c_crt_prp; hid_t c_acc_prp; - int CASE; - hid_t CASE_prp; /* * Define access flags */ c_access_flags = (unsigned) *access_flags; -/* - CASE = (int)*access_flags; - switch (CASE) { - - case H5F_ACC_RDWR_F: - c_access_flags = H5F_ACC_RDWR; - break; - - case H5F_ACC_RDONLY_F: - c_access_flags = H5F_ACC_RDONLY; - break; - - case H5F_ACC_TRUNC_F: - c_access_flags = H5F_ACC_TRUNC; - break; - - case H5F_ACC_EXCL_F: - c_access_flags = H5F_ACC_EXCL; - break; - - case H5F_ACC_DEBUG_F: - c_access_flags = H5F_ACC_DEBUG; - break; - - default: - return ret_value; - } -*/ /* * Define creation property */ @@ -264,42 +250,12 @@ nh5fopen_c (_fcd name, int_f *namelen, int_f *access_flags, hid_t_f *acc_prp, hi hid_t c_file_id; unsigned c_access_flags; hid_t c_acc_prp; - int CASE; - hid_t CASE_prp; c_acc_prp = (hid_t)*acc_prp; /* * Define access flags */ c_access_flags = (unsigned) *access_flags; -/* - CASE = (int)*access_flags; - switch (CASE) { - - case H5F_ACC_RDWR_F: - c_access_flags = H5F_ACC_RDWR; - break; - - case H5F_ACC_RDONLY_F: - c_access_flags = H5F_ACC_RDONLY; - break; - - case H5F_ACC_TRUNC_F: - c_access_flags = H5F_ACC_TRUNC; - break; - - case H5F_ACC_EXCL_F: - c_access_flags = H5F_ACC_EXCL; - break; - - case H5F_ACC_DEBUG_F: - c_access_flags = H5F_ACC_DEBUG; - break; - - default: - return ret_value; - } - */ /* * Define access property */ diff --git a/fortran/src/H5Fff.f90 b/fortran/src/H5Fff.f90 index 7b995a5..af40d88 100644 --- a/fortran/src/H5Fff.f90 +++ b/fortran/src/H5Fff.f90 @@ -1,3 +1,18 @@ + +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! Copyright by the Board of Trustees of the University of Illinois. * +! All rights reserved. * +! * +! This file is part of HDF5. The full HDF5 copyright notice, including * +! terms governing use, modification, and redistribution, is contained in * +! the files COPYING and Copyright.html. COPYING can be found at the root * +! of the source code distribution tree; Copyright.html can be found at the * +! root level of an installed copy of the electronic HDF5 document set and * +! is linked from the top-level documents page. It can also be found at * +! http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * +! access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! ! ! This file contains Fortran90 interfaces for H5F functions. ! diff --git a/fortran/src/H5Gf.c b/fortran/src/H5Gf.c index f98ab87..e3b2177 100644 --- a/fortran/src/H5Gf.c +++ b/fortran/src/H5Gf.c @@ -1,3 +1,19 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by the Board of Trustees of the University of Illinois. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +/* This files contains C stubs for H5G Fortran APIs */ + #include "H5f90.h" /*---------------------------------------------------------------------------- diff --git a/fortran/src/H5Gff.f90 b/fortran/src/H5Gff.f90 index 87024e7..da920c2 100644 --- a/fortran/src/H5Gff.f90 +++ b/fortran/src/H5Gff.f90 @@ -1,3 +1,18 @@ + +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! Copyright by the Board of Trustees of the University of Illinois. * +! All rights reserved. * +! * +! This file is part of HDF5. The full HDF5 copyright notice, including * +! terms governing use, modification, and redistribution, is contained in * +! the files COPYING and Copyright.html. COPYING can be found at the root * +! of the source code distribution tree; Copyright.html can be found at the * +! root level of an installed copy of the electronic HDF5 document set and * +! is linked from the top-level documents page. It can also be found at * +! http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * +! access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! ! ! This file contains Fortran90 interfaces for H5F functions. ! @@ -460,7 +475,7 @@ ! !This definition is needed for Windows DLLs !DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5glink_f +!DEC$attributes dllexport :: h5glink2_f !DEC$endif ! diff --git a/fortran/src/H5Git.c b/fortran/src/H5Git.c index b4e41fc..804f78c 100644 --- a/fortran/src/H5Git.c +++ b/fortran/src/H5Git.c @@ -1,9 +1,18 @@ -/*------------------------------------------------------------------------- - * Copyright (C) 1999 National Center for Supercomputing Applications. - * All rights reserved. - * - *------------------------------------------------------------------------- - */ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by the Board of Trustees of the University of Illinois. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +/* This files contains C stubs for H5G Fortran APIs */ #include "hdf5.h" #include "H5Git.h" diff --git a/fortran/src/H5Git.h b/fortran/src/H5Git.h index 20760b0..67c5891 100644 --- a/fortran/src/H5Git.h +++ b/fortran/src/H5Git.h @@ -1,9 +1,18 @@ -/*------------------------------------------------------------------------- - * Copyright (C) 1997 National Center for Supercomputing Applications. - * All rights reserved. - * - *------------------------------------------------------------------------- - */ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by the Board of Trustees of the University of Illinois. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + + #ifndef _H5Git_H #define _H5Git_H diff --git a/fortran/src/H5If.c b/fortran/src/H5If.c index 574827d..dfb8d9f 100644 --- a/fortran/src/H5If.c +++ b/fortran/src/H5If.c @@ -1,3 +1,19 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by the Board of Trustees of the University of Illinois. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +/* This files contains C stubs for H5I Fortran APIs */ + #include "H5f90.h" /*---------------------------------------------------------------------------- diff --git a/fortran/src/H5Iff.f90 b/fortran/src/H5Iff.f90 index 690d9fd..1e36280 100644 --- a/fortran/src/H5Iff.f90 +++ b/fortran/src/H5Iff.f90 @@ -1,3 +1,18 @@ + +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! Copyright by the Board of Trustees of the University of Illinois. * +! All rights reserved. * +! * +! This file is part of HDF5. The full HDF5 copyright notice, including * +! terms governing use, modification, and redistribution, is contained in * +! the files COPYING and Copyright.html. COPYING can be found at the root * +! of the source code distribution tree; Copyright.html can be found at the * +! root level of an installed copy of the electronic HDF5 document set and * +! is linked from the top-level documents page. It can also be found at * +! http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * +! access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! ! ! This file contains FORTRAN90 interfaces for H5I functions ! diff --git a/fortran/src/H5Pf.c b/fortran/src/H5Pf.c index f1bc80e..5fe3c67 100644 --- a/fortran/src/H5Pf.c +++ b/fortran/src/H5Pf.c @@ -1,3 +1,19 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by the Board of Trustees of the University of Illinois. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +/* This files contains C stubs for H5P Fortran APIs */ + #include "H5f90.h" @@ -16,7 +32,6 @@ int_f nh5pcreate_c ( hid_t_f *class, hid_t_f *prp_id ) { hid_t c_class; - int CASE; int ret_value = 0; hid_t c_prp_id; @@ -184,7 +199,6 @@ nh5pget_preserve_c ( hid_t_f *prp_id , int_f *flag) { int ret_value = 0; hid_t c_prp_id; - herr_t status; int c_flag; c_prp_id = (hid_t)*prp_id; @@ -301,7 +315,7 @@ nh5pget_chunk_c ( hid_t_f *prp_id, int_f *max_rank, hsize_t_f *dims ) * Transpose dimension arrays because of C-FORTRAN storage order */ for (i = 0; i < *max_rank ; i++) { - dims[*max_rank - i - 1] = c_dims[i]; + dims[*max_rank - i - 1] = (hsize_t_f)c_dims[i]; } HDfree (c_dims); if (rank < 0) return ret_value; @@ -441,7 +455,6 @@ nh5pget_version_c (hid_t_f *prp_id, int_f * boot,int_f * freelist, int_f * stab, { int ret_value = -1; hid_t c_prp_id; - int i; herr_t ret; int c_boot; int c_freelist; @@ -480,7 +493,6 @@ nh5pget_userblock_c (hid_t_f *prp_id, hsize_t_f * size) { int ret_value = -1; hid_t c_prp_id; - int i; herr_t ret; hsize_t c_size; @@ -545,7 +557,6 @@ nh5pget_sizes_c (hid_t_f *prp_id, size_t_f * sizeof_addr, size_t_f * sizeof_size { int ret_value = -1; hid_t c_prp_id; - int i; herr_t ret; size_t c_sizeof_addr; size_t c_sizeof_size; @@ -647,7 +658,6 @@ nh5pget_sym_k_c (hid_t_f *prp_id, int_f* ik, int_f* lk) { int ret_value = -1; hid_t c_prp_id; - int i; herr_t ret; int c_ik; #ifdef H5_WANT_H5_V1_4_COMPAT @@ -1137,7 +1147,6 @@ nh5pget_cache_c(hid_t_f *prp_id, int_f* mdc_nelmts, size_t_f* rdcc_nelmts, size_ int c_mdc_nelmts; size_t c_rdcc_nelmts; size_t c_rdcc_nbytes; - hid_t c_memb_plist; double c_rdcc_w0; /* * Call H5Pget_cache function. @@ -1620,7 +1629,7 @@ nh5pget_external_count_c (hid_t_f *prp_id, int_f* count) * Modifications: *---------------------------------------------------------------------------*/ int_f -nh5pget_external_c(hid_t_f *prp_id,int_f *idx, size_t_f* name_size, _fcd name, int_f* offset, hsize_t_f*bytes) +nh5pget_external_c(hid_t_f *prp_id, int_f *idx, size_t_f* name_size, _fcd name, int_f* offset, hsize_t_f*bytes) { int ret_value = -1; hid_t c_prp_id; @@ -1628,7 +1637,6 @@ nh5pget_external_c(hid_t_f *prp_id,int_f *idx, size_t_f* name_size, _fcd name, i herr_t status; size_t c_namelen; char* c_name; - int i; off_t c_offset; hsize_t size; @@ -1675,7 +1683,9 @@ nh5pset_hyper_cache_c(hid_t_f *prp_id, int_f * cache, int_f * limit) { int ret_value = -1; hid_t c_prp_id; +#ifdef H5_WANT_H5_V1_4_COMPAT herr_t ret; +#endif /* H5_WANT_H5_V1_4_COMPAT */ unsigned c_cache, c_limit; c_cache = (unsigned) *cache; @@ -1710,20 +1720,20 @@ int_f nh5pget_hyper_cache_c(hid_t_f *prp_id, int_f * cache, int_f * limit) { int ret_value = -1; +#ifdef H5_WANT_H5_V1_4_COMPAT hid_t c_prp_id; herr_t ret; unsigned c_cache, c_limit; /* * Call H5Pget__hyper_cache function. */ -#ifdef H5_WANT_H5_V1_4_COMPAT c_prp_id = (hid_t)*prp_id; ret = H5Pget_hyper_cache(c_prp_id, &c_cache, &c_limit); if (ret < 0) return ret_value; *cache = (int_f)c_cache; *limit = (int_f)c_limit; -#endif /* H5_WANT_H5_V1_4_COMPAT */ ret_value = 0; +#endif /* H5_WANT_H5_V1_4_COMPAT */ return ret_value; } @@ -2509,6 +2519,7 @@ nh5pget_nprops_c(hid_t_f *plist, size_t_f *nprops) *nprops = (size_t_f)c_nprops; ret_value = 0; + return ret_value; } /*---------------------------------------------------------------------------- * Name: h5pget_class_parent_c @@ -2538,6 +2549,7 @@ nh5pget_class_parent_c(hid_t_f *prp_id, hid_t_f *parent_id) *parent_id =(hid_t_f)c_parent_id; ret_value = 0; + return ret_value; } /*---------------------------------------------------------------------------- * Name: h5pcopy_prop_c @@ -2897,11 +2909,10 @@ nh5pget_edc_check_c ( hid_t_f *prp_id, int_f *flag ) int ret_value = 0; hid_t c_prp_id; H5Z_EDC_t c_flag; - herr_t status; c_prp_id = (hid_t)*prp_id; c_flag = H5Pget_edc_check(c_prp_id); - if ( status < 0 ) ret_value = -1; + if ( c_flag < 0 ) ret_value = -1; *flag = (int_f)c_flag; return ret_value; } @@ -3107,8 +3118,12 @@ HD5packFstring(tmp, _fcdtocp(memb_name), c_lenmax*H5FD_MEM_NTYPES); for (i=0; i < H5FD_MEM_NTYPES; i++) { memb_map[i] = (int_f)c_memb_map[i]; memb_fapl[i] = (hid_t_f)c_memb_fapl[i]; +#if defined(WIN32) + memb_addr[i] = -1; +#else if(c_memb_addr[i] == HADDR_UNDEF) memb_addr[i] = -1; - else memb_addr[i] = (real_f) ((float)c_memb_addr[i]/HADDR_MAX); + else memb_addr[i] = (real_f) ((long)c_memb_addr[i]/HADDR_MAX); +#endif /*WIN32*/ } *flag = (int_f)relax; *maxlen_out = (int_f)length; diff --git a/fortran/src/H5Pff.f90 b/fortran/src/H5Pff.f90 index fe4ddac..63de1dd 100644 --- a/fortran/src/H5Pff.f90 +++ b/fortran/src/H5Pff.f90 @@ -1,3 +1,18 @@ + +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! Copyright by the Board of Trustees of the University of Illinois. * +! All rights reserved. * +! * +! This file is part of HDF5. The full HDF5 copyright notice, including * +! terms governing use, modification, and redistribution, is contained in * +! the files COPYING and Copyright.html. COPYING can be found at the root * +! of the source code distribution tree; Copyright.html can be found at the * +! root level of an installed copy of the electronic HDF5 document set and * +! is linked from the top-level documents page. It can also be found at * +! http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * +! access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! ! ! This file contains Fortran90 interfaces for H5P functions. ! @@ -3827,7 +3842,7 @@ INTEGER FUNCTION h5pget_meta_block_size_c(plist_id, size) USE H5GLOBAL !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !MS$ATTRIBUTES C,reference,alias:'_H5PSET_META_BLOCK_SIZE_C'::h5pset_meta_block_size_c + !MS$ATTRIBUTES C,reference,alias:'_H5PGET_META_BLOCK_SIZE_C'::h5pget_meta_block_size_c !DEC$ ENDIF INTEGER(HID_T), INTENT(IN) :: plist_id INTEGER(HSIZE_T), INTENT(OUT) :: size @@ -4026,7 +4041,7 @@ !MS$ATTRIBUTES C,reference,alias:'_H5PGET_SMALL_DATA_BLOCK_SIZE_C'::h5pget_small_data_block_size_c !DEC$ ENDIF INTEGER(HID_T), INTENT(IN) :: plist_id - INTEGER(HSIZE_T), INTENT(IN) :: size + INTEGER(HSIZE_T), INTENT(OUT) :: size END FUNCTION h5pget_small_data_block_size_c END INTERFACE @@ -4570,7 +4585,7 @@ INTEGER FUNCTION h5pgetc_c(prp_id, name, name_len, value, value_len) USE H5GLOBAL !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !MS$ATTRIBUTES C,reference,alias:'_H5PSETC_C'::h5psetc_c + !MS$ATTRIBUTES C,reference,alias:'_H5PGETC_C'::h5pgetc_c !DEC$ ENDIF !DEC$ATTRIBUTES reference :: name !DEC$ATTRIBUTES reference :: value @@ -6007,6 +6022,7 @@ !DEC$ IF DEFINED(HDF5F90_WINDOWS) !MS$ATTRIBUTES C,reference,alias:'_H5PSET_FAPL_MULTI_C'::h5pset_fapl_multi_c !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: memb_name INTEGER(HID_T), INTENT(IN) :: prp_id ! File creation property list identifier INTEGER, DIMENSION(0:H5FD_MEM_NTYPES_F-1), INTENT(IN) :: memb_map INTEGER(HID_T), DIMENSION(0:H5FD_MEM_NTYPES_F-1), INTENT(IN) :: memb_fapl @@ -6142,6 +6158,7 @@ !DEC$ IF DEFINED(HDF5F90_WINDOWS) !MS$ATTRIBUTES C,reference,alias:'_H5PGET_FAPL_MULTI_C'::h5pget_fapl_multi_c !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: memb_name INTEGER(HID_T), INTENT(IN) :: prp_id ! File creation property list identifier INTEGER, DIMENSION(H5FD_MEM_NTYPES_F), INTENT(OUT) :: memb_map INTEGER(HID_T), DIMENSION(H5FD_MEM_NTYPES_F), INTENT(OUT) :: memb_fapl @@ -6266,7 +6283,7 @@ INTEGER FUNCTION h5pall_filters_avail_c(prp_id, status) USE H5GLOBAL !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !MS$ATTRIBUTES C,reference,alias:'_H5PALL_FILTERS_AVAIL_C'::h5ppall_filters_avail_c + !MS$ATTRIBUTES C,reference,alias:'_H5PALL_FILTERS_AVAIL_C'::h5pall_filters_avail_c !DEC$ ENDIF INTEGER(HID_T), INTENT(IN) :: prp_id ! File creation property list identifier INTEGER, INTENT(OUT) :: status diff --git a/fortran/src/H5Rf.c b/fortran/src/H5Rf.c index e45699b..a7ef242 100644 --- a/fortran/src/H5Rf.c +++ b/fortran/src/H5Rf.c @@ -1,3 +1,19 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by the Board of Trustees of the University of Illinois. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +/* This files contains C stubs for H5R Fortran APIs */ + #include "H5f90.h" /*---------------------------------------------------------------------------- @@ -21,7 +37,6 @@ nh5rcreate_object_c (int_f *ref, hid_t_f *loc_id, _fcd name, int_f *namelen) char *c_name; int c_namelen; hobj_ref_t ref_c; - int i; /* * Convert FORTRAN name to C name @@ -70,7 +85,6 @@ nh5rcreate_region_c (int_f *ref, hid_t_f *loc_id, _fcd name, int_f *namelen, hid char *c_name; int c_namelen; hdset_reg_ref_t ref_c; - int i; /* * Convert FORTRAN name to C name @@ -112,7 +126,6 @@ nh5rdereference_region_c (hid_t_f *dset_id, int_f *ref, hid_t_f *obj_id) hid_t c_dset_id; hdset_reg_ref_t ref_c; hid_t c_obj_id; - int i; HDmemcpy (ref_c.heapid, ref, H5R_DSET_REG_REF_BUF_SIZE); @@ -146,7 +159,6 @@ nh5rdereference_object_c (hid_t_f *dset_id, int_f *ref, hid_t_f *obj_id) hid_t c_dset_id; hid_t c_obj_id; hobj_ref_t ref_c; - int i; HDmemcpy (ref_c.oid, ref, H5R_OBJ_REF_BUF_SIZE); @@ -179,7 +191,6 @@ nh5rget_region_region_c (hid_t_f *dset_id, int_f *ref, hid_t_f *space_id) hid_t c_dset_id; hid_t c_space_id; hdset_reg_ref_t ref_c; - int i; HDmemcpy (ref_c.heapid, ref, H5R_DSET_REG_REF_BUF_SIZE); @@ -213,7 +224,6 @@ nh5rget_object_type_obj_c (hid_t_f *dset_id, int_f *ref, int_f *obj_type) hid_t c_dset_id; int c_obj_type; hobj_ref_t ref_c; - int i; HDmemcpy (ref_c.oid, ref, H5R_OBJ_REF_BUF_SIZE); diff --git a/fortran/src/H5Rff.f90 b/fortran/src/H5Rff.f90 index 86106ec..0477453 100644 --- a/fortran/src/H5Rff.f90 +++ b/fortran/src/H5Rff.f90 @@ -1,3 +1,18 @@ + +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! Copyright by the Board of Trustees of the University of Illinois. * +! All rights reserved. * +! * +! This file is part of HDF5. The full HDF5 copyright notice, including * +! terms governing use, modification, and redistribution, is contained in * +! the files COPYING and Copyright.html. COPYING can be found at the root * +! of the source code distribution tree; Copyright.html can be found at the * +! root level of an installed copy of the electronic HDF5 document set and * +! is linked from the top-level documents page. It can also be found at * +! http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * +! access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! ! ! This file contains Fortran90 interfaces for H5R functions. ! diff --git a/fortran/src/H5Sf.c b/fortran/src/H5Sf.c index 646a465..a6a793e 100644 --- a/fortran/src/H5Sf.c +++ b/fortran/src/H5Sf.c @@ -84,27 +84,10 @@ int_f nh5screate_c ( int_f *classtype, hid_t_f *space_id ) { H5S_class_t c_classtype; - int CASE; int ret_value = 0; hid_t c_space_id; c_classtype = (H5S_class_t) *classtype; -/* - switch (CASE) { - - case (H5S_SCALAR_F): - c_classtype = H5S_SCALAR; - break; - - case(H5S_SIMPLE_F): - c_classtype = H5S_SIMPLE; - break; - - default: - ret_value = -1; - return ret_value; - } -*/ - c_space_id = H5Screate(c_classtype); + c_space_id = H5Screate(c_classtype); if ( c_space_id < 0 ) ret_value = -1; *space_id = (hid_t_f) c_space_id; @@ -157,8 +140,6 @@ nh5sget_select_hyper_nblocks_c( hid_t_f *space_id , hssize_t_f * num_blocks) int ret_value = 0; hid_t c_space_id; hssize_t c_num_blocks; - hsize_t* buf; - int i, j; c_space_id = *space_id; c_num_blocks = H5Sget_select_hyper_nblocks(c_space_id); @@ -324,7 +305,7 @@ nh5sget_select_elem_pointlist_c( hid_t_f *space_id ,hsize_t_f * startpoint, hid_t c_space_id; hsize_t c_num_points; hsize_t c_startpoint,* c_buf; - int i,j, rank; + int i, rank; c_space_id = *space_id; c_num_points = (hsize_t)* numpoints; diff --git a/fortran/src/H5Sff.f90 b/fortran/src/H5Sff.f90 index a458945..a938947 100644 --- a/fortran/src/H5Sff.f90 +++ b/fortran/src/H5Sff.f90 @@ -1,3 +1,18 @@ + +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! Copyright by the Board of Trustees of the University of Illinois. * +! All rights reserved. * +! * +! This file is part of HDF5. The full HDF5 copyright notice, including * +! terms governing use, modification, and redistribution, is contained in * +! the files COPYING and Copyright.html. COPYING can be found at the root * +! of the source code distribution tree; Copyright.html can be found at the * +! root level of an installed copy of the electronic HDF5 document set and * +! is linked from the top-level documents page. It can also be found at * +! http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * +! access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! ! ! This file contains Fortran90 interfaces for H5S functions. ! @@ -1912,7 +1927,7 @@ INTEGER FUNCTION h5sget_select_type_c(space_id, type) USE H5GLOBAL !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !MS$ATTRIBUTES C,reference,alias:'_H5SGET_SELECT_TYPEC'::h5sget_select_type_c + !MS$ATTRIBUTES C,reference,alias:'_H5SGET_SELECT_TYPE_C'::h5sget_select_type_c !DEC$ ENDIF INTEGER(HID_T), INTENT(IN) :: space_id INTEGER, INTENT(OUT) :: type diff --git a/fortran/src/H5Tf.c b/fortran/src/H5Tf.c index 341f230d..e0a69f3 100644 --- a/fortran/src/H5Tf.c +++ b/fortran/src/H5Tf.c @@ -1,3 +1,19 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by the Board of Trustees of the University of Illinois. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +/* This files contains C stubs for H5T Fortran APIs */ + #include "H5f90.h" @@ -763,7 +779,6 @@ nh5tget_inpad_c ( hid_t_f *type_id , int_f * padtype) { int ret_value = -1; hid_t c_type_id; - herr_t status; H5T_pad_t c_padtype; c_type_id = *type_id; @@ -825,7 +840,6 @@ nh5tget_cset_c ( hid_t_f *type_id , int_f * cset) { int ret_value = -1; hid_t c_type_id; - herr_t status; H5T_cset_t c_cset; c_type_id = *type_id; @@ -885,7 +899,6 @@ nh5tget_strpad_c ( hid_t_f *type_id , int_f * strpad) { int ret_value = -1; hid_t c_type_id; - herr_t status; H5T_str_t c_strpad; c_type_id = *type_id; @@ -945,7 +958,6 @@ nh5tget_nmembers_c ( hid_t_f *type_id , int_f * num_members) { int ret_value = -1; hid_t c_type_id; - herr_t status; c_type_id = *type_id; *num_members = (int_f)H5Tget_nmembers(c_type_id); @@ -1307,7 +1319,6 @@ nh5tarray_create_c(hid_t_f * base_id, int_f *rank, hsize_t_f* dims, hid_t_f* typ hid_t c_base_id; hid_t c_type_id; int c_rank; - herr_t status; hsize_t *c_dims; int i; diff --git a/fortran/src/H5Tff.f90 b/fortran/src/H5Tff.f90 index 33f2181..5aa48c2 100644 --- a/fortran/src/H5Tff.f90 +++ b/fortran/src/H5Tff.f90 @@ -1,3 +1,18 @@ + +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! Copyright by the Board of Trustees of the University of Illinois. * +! All rights reserved. * +! * +! This file is part of HDF5. The full HDF5 copyright notice, including * +! terms governing use, modification, and redistribution, is contained in * +! the files COPYING and Copyright.html. COPYING can be found at the root * +! of the source code distribution tree; Copyright.html can be found at the * +! root level of an installed copy of the electronic HDF5 document set and * +! is linked from the top-level documents page. It can also be found at * +! http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * +! access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! ! ! This file contains FORTRAN90 interfaces for H5T functions ! diff --git a/fortran/src/H5Zf.c b/fortran/src/H5Zf.c index 3f6a2a6..8d3de90 100644 --- a/fortran/src/H5Zf.c +++ b/fortran/src/H5Zf.c @@ -1,3 +1,19 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by the Board of Trustees of the University of Illinois. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +/* This files contains C stubs for H5Z Fortran APIs */ + #include "H5f90.h" /*---------------------------------------------------------------------------- diff --git a/fortran/src/H5Zff.f90 b/fortran/src/H5Zff.f90 index 2f33b80..9a378b5 100644 --- a/fortran/src/H5Zff.f90 +++ b/fortran/src/H5Zff.f90 @@ -1,3 +1,18 @@ + +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! Copyright by the Board of Trustees of the University of Illinois. * +! All rights reserved. * +! * +! This file is part of HDF5. The full HDF5 copyright notice, including * +! terms governing use, modification, and redistribution, is contained in * +! the files COPYING and Copyright.html. COPYING can be found at the root * +! of the source code distribution tree; Copyright.html can be found at the * +! root level of an installed copy of the electronic HDF5 document set and * +! is linked from the top-level documents page. It can also be found at * +! http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * +! access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! ! ! This file contains FORTRAN90 interfaces for H5I functions ! diff --git a/fortran/src/H5_f.c b/fortran/src/H5_f.c index adc19f6..82f4d92 100644 --- a/fortran/src/H5_f.c +++ b/fortran/src/H5_f.c @@ -1,3 +1,19 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by the Board of Trustees of the University of Illinois. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +/* This files contains C stubs for H5 Fortran APIs */ + #include "H5f90.h" /*--------------------------------------------------------------------------- diff --git a/fortran/src/H5_ff.f90 b/fortran/src/H5_ff.f90 index 4d353dc..2bdf83b 100644 --- a/fortran/src/H5_ff.f90 +++ b/fortran/src/H5_ff.f90 @@ -1,4 +1,18 @@ +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! Copyright by the Board of Trustees of the University of Illinois. * +! All rights reserved. * +! * +! This file is part of HDF5. The full HDF5 copyright notice, including * +! terms governing use, modification, and redistribution, is contained in * +! the files COPYING and Copyright.html. COPYING can be found at the root * +! of the source code distribution tree; Copyright.html can be found at the * +! root level of an installed copy of the electronic HDF5 document set and * +! is linked from the top-level documents page. It can also be found at * +! http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * +! access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! MODULE H5LIB CONTAINS !---------------------------------------------------------------------- diff --git a/fortran/src/H5f90.h b/fortran/src/H5f90.h index 9eeb477..0c95c8d 100644 --- a/fortran/src/H5f90.h +++ b/fortran/src/H5f90.h @@ -1,3 +1,18 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by the Board of Trustees of the University of Illinois. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + + #ifndef _H5f90_H #define _H5f90_H diff --git a/fortran/src/H5f90global.f90 b/fortran/src/H5f90global.f90 index 26a081c..2630cca 100644 --- a/fortran/src/H5f90global.f90 +++ b/fortran/src/H5f90global.f90 @@ -1,3 +1,18 @@ + +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! Copyright by the Board of Trustees of the University of Illinois. * +! All rights reserved. * +! * +! This file is part of HDF5. The full HDF5 copyright notice, including * +! terms governing use, modification, and redistribution, is contained in * +! the files COPYING and Copyright.html. COPYING can be found at the root * +! of the source code distribution tree; Copyright.html can be found at the * +! root level of an installed copy of the electronic HDF5 document set and * +! is linked from the top-level documents page. It can also be found at * +! http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * +! access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! MODULE H5GLOBAL USE H5FORTRAN_TYPES ! diff --git a/fortran/src/H5f90kit.c b/fortran/src/H5f90kit.c index f782cbf..1c12576 100644 --- a/fortran/src/H5f90kit.c +++ b/fortran/src/H5f90kit.c @@ -1,3 +1,18 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by the Board of Trustees of the University of Illinois. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + + #include #include #include "H5f90.h" diff --git a/fortran/src/H5f90proto.h b/fortran/src/H5f90proto.h index dbf7142..be3e855 100644 --- a/fortran/src/H5f90proto.h +++ b/fortran/src/H5f90proto.h @@ -1,3 +1,18 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by the Board of Trustees of the University of Illinois. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + + #ifndef _H5f90proto_H #define _H5f90proto_H @@ -200,13 +215,17 @@ H5_DLL int_f nh5sselect_elements_c ( hid_t_f *space_id , int_f *op, size_t_f *ne # define nh5dclose_c FNAME(H5DCLOSE_C) # define nh5dopen_c FNAME(H5DOPEN_C) # define nh5dwrite_c FNAME(H5DWRITE_C) +# define nh5dwrite_c_b FNAME(H5DWRITE_C_B) # define nh5dwrite_ref_obj_c FNAME(H5DWRITE_REF_OBJ_C) # define nh5dwrite_ref_reg_c FNAME(H5DWRITE_REF_REG_C) # define nh5dwritec_c FNAME(H5DWRITEC_C) +# define nh5dwritec_c_b FNAME(H5DWRITEC_C_B) # define nh5dread_c FNAME(H5DREAD_C) +# define nh5dread_c_b FNAME(H5DREAD_C_B) # define nh5dread_ref_reg_c FNAME(H5DREAD_REF_REG_C) # define nh5dread_ref_obj_c FNAME(H5DREAD_REF_OBJ_C) # define nh5dreadc_c FNAME(H5DREADC_C) +# define nh5dreadc_c_b FNAME(H5DREADC_C_B) # define nh5dget_space_c FNAME(H5DGET_SPACE_C) # define nh5dget_type_c FNAME(H5DGET_TYPE_C) # define nh5dget_create_plist_c FNAME(H5DGET_CREATE_PLIST_C) @@ -227,13 +246,17 @@ H5_DLL int_f nh5sselect_elements_c ( hid_t_f *space_id , int_f *op, size_t_f *ne # define nh5dclose_c FNAME(h5dclose_c) # define nh5dopen_c FNAME(h5dopen_c) # define nh5dwrite_c FNAME(h5dwrite_c) +# define nh5dwritec_c_b FNAME(h5dwritec_c_b) +# define nh5dwrite_c_b FNAME(h5dwrite_c_b) # define nh5dwritec_c FNAME(h5dwritec_c) # define nh5dwrite_ref_obj_c FNAME(h5dwrite_ref_obj_c) # define nh5dwrite_ref_reg_c FNAME(h5dwrite_ref_reg_c) # define nh5dread_c FNAME(h5dread_c) +# define nh5dread_c_b FNAME(h5dread_c_b) # define nh5dread_ref_reg_c FNAME(h5dread_ref_reg_c) # define nh5dread_ref_obj_c FNAME(h5dread_ref_obj_c) # define nh5dreadc_c FNAME(h5dreadc_c) +# define nh5dreadc_c_b FNAME(h5dreadc_c_b) # define nh5dget_space_c FNAME(h5dget_space_c) # define nh5dget_type_c FNAME(h5dget_type_c) # define nh5dget_create_plist_c FNAME(h5dget_create_plist_c) @@ -262,6 +285,9 @@ H5_DLL int_f nh5dclose_c ( hid_t_f *dset_id ); H5_DLL int_f nh5dwrite_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, int_f *dims); +H5_DLL int_f nh5dwrite_c_b +(hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims); + H5_DLL int_f nh5dwrite_vl_integer_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f *buf, hsize_t_f *dims, size_t_f *len); @@ -289,10 +315,16 @@ H5_DLL int_f nh5dwrite_ref_reg_c H5_DLL int_f nh5dwritec_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, int_f *dims); +H5_DLL int_f nh5dwritec_c_b +(hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims); + H5_DLL int_f nh5dread_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, int_f *dims); +H5_DLL int_f nh5dread_c_b +(hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims); + H5_DLL int_f nh5dread_ref_obj_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f *buf, int_f *dims); @@ -302,6 +334,9 @@ H5_DLL int_f nh5dread_ref_reg_c H5_DLL int_f nh5dreadc_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, int_f *dims); +H5_DLL int_f nh5dreadc_c_b +(hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims); + H5_DLL int_f nh5dget_space_c ( hid_t_f *dset_id , hid_t_f *space_id); H5_DLL int_f nh5dget_type_c ( hid_t_f *dset_id , hid_t_f *type_id); @@ -405,8 +440,12 @@ H5_DLL int_f nh5gget_comment_c # define nh5aopen_name_c FNAME(H5AOPEN_NAME_C) # define nh5awrite_c FNAME(H5AWRITE_C) # define nh5awritec_c FNAME(H5AWRITEC_C) +# define nh5awrite_c_b FNAME(H5AWRITE_C_B) +# define nh5awritec_c_b FNAME(H5AWRITEC_C_B) # define nh5aread_c FNAME(H5AREAD_C) # define nh5areadc_c FNAME(H5AREADC_C) +# define nh5aread_c_b FNAME(H5AREAD_C_B) +# define nh5areadc_c_b FNAME(H5AREADC_C_B) # define nh5aget_name_c FNAME(H5AGET_NAME_C) # define nh5aopen_idx_c FNAME(H5AOPEN_IDX_C) # define nh5aget_space_c FNAME(H5AGET_SPACE_C) @@ -419,8 +458,12 @@ H5_DLL int_f nh5gget_comment_c # define nh5aopen_name_c FNAME(h5aopen_name_c) # define nh5awrite_c FNAME(h5awrite_c) # define nh5awritec_c FNAME(h5awritec_c) +# define nh5awrite_c_b FNAME(h5awrite_c_b) +# define nh5awritec_c_b FNAME(h5awritec_c_b) # define nh5aread_c FNAME(h5aread_c) # define nh5areadc_c FNAME(h5areadc_c) +# define nh5aread_c_b FNAME(h5aread_c_b) +# define nh5areadc_c_b FNAME(h5areadc_c_b) # define nh5aget_name_c FNAME(h5aget_name_c) # define nh5aopen_idx_c FNAME(h5aopen_idx_c) # define nh5aget_space_c FNAME(h5aget_space_c) @@ -440,10 +483,18 @@ H5_DLL int_f nh5awritec_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, int H5_DLL int_f nh5awrite_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, int_f *dims); +H5_DLL int_f nh5awritec_c_b (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, hsize_t_f *dims); + +H5_DLL int_f nh5awrite_c_b (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, hsize_t_f *dims); + H5_DLL int_f nh5areadc_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, int_f *dims); H5_DLL int_f nh5aread_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, int_f *dims); +H5_DLL int_f nh5areadc_c_b (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, hsize_t_f *dims); + +H5_DLL int_f nh5aread_c_b (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, hsize_t_f *dims); + H5_DLL int_f nh5aclose_c ( hid_t_f *attr_id ); H5_DLL int_f nh5adelete_c (hid_t_f *obj_id, _fcd name, int_f *namelen); @@ -769,7 +820,7 @@ H5_DLL int_f nh5tis_variable_str_c ( hid_t_f *type_id , int_f *flag ); # define nh5pset_fletcher32_c FNAME(H5PSET_FLETCHER32_C) # define nh5pset_edc_check_c FNAME(H5PSET_EDC_CHECK_C) # define nh5pget_edc_check_c FNAME(H5PGET_EDC_CHECK_C) -# definne nh5pset_family_offset_c FNAME(H5PSET_FAMILY_OFFSET_C) +# define nh5pset_family_offset_c FNAME(H5PSET_FAMILY_OFFSET_C) # define nh5pget_fapl_multi_c FNAME(H5PGET_FAPL_MULTI_C) # define nh5pset_fapl_multi_c FNAME(H5PSET_FAPL_MULTI_C) # define nh5pset_fapl_multi_sc FNAME(H5PSET_FAPL_MULTI_SC) @@ -991,7 +1042,7 @@ nh5pset_external_c (hid_t_f *prp_id, _fcd name, int_f* namelen, int_f* offset, h H5_DLL int_f nh5pget_external_count_c (hid_t_f *prp_id, int_f* count); H5_DLL int_f -nh5pget_external_c(hid_t_f *prp_id,int*idx, size_t_f* name_size, _fcd name, int_f* offset, hsize_t_f*bytes); +nh5pget_external_c(hid_t_f *prp_id, int_f *idx, size_t_f* name_size, _fcd name, int_f* offset, hsize_t_f*bytes); H5_DLL int_f nh5pset_hyper_cache_c(hid_t_f *prp_id, int_f* cache, int_f* limit); H5_DLL int_f diff --git a/fortran/src/H5fortran_flags.f90 b/fortran/src/H5fortran_flags.f90 index f653c02..4d8e2ba 100644 --- a/fortran/src/H5fortran_flags.f90 +++ b/fortran/src/H5fortran_flags.f90 @@ -1,3 +1,18 @@ + +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! Copyright by the Board of Trustees of the University of Illinois. * +! All rights reserved. * +! * +! This file is part of HDF5. The full HDF5 copyright notice, including * +! terms governing use, modification, and redistribution, is contained in * +! the files COPYING and Copyright.html. COPYING can be found at the root * +! of the source code distribution tree; Copyright.html can be found at the * +! root level of an installed copy of the electronic HDF5 document set and * +! is linked from the top-level documents page. It can also be found at * +! http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * +! access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! MODULE H5FORTRAN_FLAGS ! ! H5E interface related fortran flags: diff --git a/fortran/src/H5fortran_types.f90.in b/fortran/src/H5fortran_types.f90.in index 9010d7f..4ff2ef2 100644 --- a/fortran/src/H5fortran_types.f90.in +++ b/fortran/src/H5fortran_types.f90.in @@ -1,3 +1,18 @@ + +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! Copyright by the Board of Trustees of the University of Illinois. * +! All rights reserved. * +! * +! This file is part of HDF5. The full HDF5 copyright notice, including * +! terms governing use, modification, and redistribution, is contained in * +! the files COPYING and Copyright.html. COPYING can be found at the root * +! of the source code distribution tree; Copyright.html can be found at the * +! root level of an installed copy of the electronic HDF5 document set and * +! is linked from the top-level documents page. It can also be found at * +! http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * +! access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! ! ! This file contains HDF5 Fortran90 type definitions ! diff --git a/fortran/src/HDF5.f90 b/fortran/src/HDF5.f90 index 484b306..226f649 100644 --- a/fortran/src/HDF5.f90 +++ b/fortran/src/HDF5.f90 @@ -1,4 +1,18 @@ +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! Copyright by the Board of Trustees of the University of Illinois. * +! All rights reserved. * +! * +! This file is part of HDF5. The full HDF5 copyright notice, including * +! terms governing use, modification, and redistribution, is contained in * +! the files COPYING and Copyright.html. COPYING can be found at the root * +! of the source code distribution tree; Copyright.html can be found at the * +! root level of an installed copy of the electronic HDF5 document set and * +! is linked from the top-level documents page. It can also be found at * +! http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * +! access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! MODULE HDF5 USE H5GLOBAL USE H5F diff --git a/fortran/src/HDF5mpio.f90 b/fortran/src/HDF5mpio.f90 index 0019a37..58a5950 100644 --- a/fortran/src/HDF5mpio.f90 +++ b/fortran/src/HDF5mpio.f90 @@ -1,4 +1,18 @@ +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! Copyright by the Board of Trustees of the University of Illinois. * +! All rights reserved. * +! * +! This file is part of HDF5. The full HDF5 copyright notice, including * +! terms governing use, modification, and redistribution, is contained in * +! the files COPYING and Copyright.html. COPYING can be found at the root * +! of the source code distribution tree; Copyright.html can be found at the * +! root level of an installed copy of the electronic HDF5 document set and * +! is linked from the top-level documents page. It can also be found at * +! http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * +! access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! MODULE HDF5 USE H5GLOBAL USE H5F -- cgit v0.12