[svn-r9801] Purpose:

Bug fix

Description:
    Belatedly chase change of hobj_ref_t in C APIs.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/backward compatibility turned on
    IRIX64 6.5 (modi4) w/FORTRAN
    h5committest
This commit is contained in:
Quincey Koziol 2005-01-10 17:56:20 -05:00
parent 4eb3251a2c
commit c04b612eb4
30 changed files with 150 additions and 122 deletions

View File

@ -100,6 +100,7 @@ fi
#
R_LARGE=18
R_INTEGER=9
HADDR_T='SELECTED_INT_KIND(R_LARGE)'
HSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HSSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HID_T='SELECTED_INT_KIND(R_INTEGER)'

View File

@ -23,6 +23,7 @@ CPPFLAGS="$CPPFLAGS -D_POSIX_C_SOURCE=1"
#
R_LARGE=18
R_INTEGER=9
HADDR_T='SELECTED_INT_KIND(R_LARGE)'
HSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HSSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HID_T='SELECTED_INT_KIND(R_INTEGER)'

View File

@ -47,6 +47,7 @@ esac
#
R_LARGE=18
R_INTEGER=9
HADDR_T='SELECTED_INT_KIND(R_LARGE)'
HSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HSSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HID_T='SELECTED_INT_KIND(R_INTEGER)'

View File

@ -47,6 +47,7 @@ esac
#
R_LARGE=18
R_INTEGER=9
HADDR_T='SELECTED_INT_KIND(R_LARGE)'
HSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HSSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HID_T='SELECTED_INT_KIND(R_INTEGER)'

View File

@ -60,6 +60,7 @@ case $F9X in
# -Vaxlib is for non-standard fortran calls like exit().
MORE_FFLAGS='-fpp -DDEC$=DEC_ -DMS$=MS_ -Vaxlib'
FFLAGS="$FFLAGS $MORE_FFLAGS"
HADDR_T='SELECTED_INT_KIND(R_LARGE)'
HSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HSSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HID_T='SELECTED_INT_KIND(R_INTEGER)'
@ -69,6 +70,7 @@ case $F9X in
;;
*)
HADDR_T='SELECTED_INT_KIND(R_LARGE)'
HSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HSSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HID_T='SELECTED_INT_KIND(R_INTEGER)'

View File

@ -93,6 +93,7 @@ esac
#
R_LARGE=18
R_INTEGER=9
HADDR_T='SELECTED_INT_KIND(R_LARGE)'
HSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HSSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HID_T='SELECTED_INT_KIND(R_INTEGER)'

View File

@ -71,6 +71,7 @@ fi
#
R_LARGE=18
R_INTEGER=9
HADDR_T='SELECTED_INT_KIND(R_LARGE)'
HSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HSSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HID_T='SELECTED_INT_KIND(R_INTEGER)'

View File

@ -34,6 +34,7 @@ fi
#
R_LARGE=18
R_INTEGER=9
HADDR_T='SELECTED_INT_KIND(R_LARGE)'
HSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HSSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HID_T='SELECTED_INT_KIND(R_INTEGER)'

View File

@ -95,6 +95,7 @@ ac_cv_sizeof_uint_fast64_t=${ac_cv_sizeof_uint_fast64_t=8}
#
R_LARGE=18
R_INTEGER=9
HADDR_T='SELECTED_INT_KIND(R_LARGE)'
HSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HSSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HID_T='SELECTED_INT_KIND(R_INTEGER)'

View File

@ -120,6 +120,7 @@ ac_cv_sizeof_uint_fast64_t=${ac_cv_sizeof_uint_fast64_t=8}
#
R_LARGE=18
R_INTEGER=9
HADDR_T='SELECTED_INT_KIND(R_LARGE)'
HSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HSSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HID_T='SELECTED_INT_KIND(R_INTEGER)'

View File

@ -22,6 +22,7 @@ hdf5_cv_printf_ll=${hdf5_cv_printf_ll='ll'}
#
R_LARGE=18
R_INTEGER=9
HADDR_T='SELECTED_INT_KIND(R_LARGE)'
HSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HSSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HID_T='SELECTED_INT_KIND(R_INTEGER)'

View File

@ -47,6 +47,7 @@ LIBS="$LIBS -lsocket"
#
R_LARGE=18
R_INTEGER=9
HADDR_T='SELECTED_INT_KIND(R_LARGE)'
HSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HSSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HID_T='SELECTED_INT_KIND(R_INTEGER)'

View File

@ -152,6 +152,7 @@ hdf5_cv_convert_denormal_float=${hdf5_cv_convert_denormal_float='no'}
#
R_LARGE=18
R_INTEGER=18
HADDR_T='SELECTED_INT_KIND(R_LARGE)'
HSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HSSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HID_T='SELECTED_INT_KIND(R_INTEGER)'

View File

@ -146,6 +146,7 @@ ac_cv_c_bigendian=${ac_cv_c_bigendian='yes'}
#
R_LARGE=18
R_INTEGER=18
HADDR_T='SELECTED_INT_KIND(R_LARGE)'
HSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HSSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HID_T='SELECTED_INT_KIND(R_INTEGER)'

View File

@ -153,6 +153,7 @@ hdf5_cv_convert_denormal_float=${hdf5_cv_convert_denormal_float='no'}
#
R_LARGE=18
R_INTEGER=18
HADDR_T='SELECTED_INT_KIND(R_LARGE)'
HSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HSSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HID_T='SELECTED_INT_KIND(R_INTEGER)'

View File

@ -149,6 +149,7 @@ esac
#
R_LARGE=18
R_INTEGER=18
HADDR_T='SELECTED_INT_KIND(R_LARGE)'
HSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HSSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HID_T='SELECTED_INT_KIND(R_INTEGER)'

View File

@ -149,6 +149,7 @@ esac
#
R_LARGE=18
R_INTEGER=18
HADDR_T='SELECTED_INT_KIND(R_LARGE)'
HSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HSSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HID_T='SELECTED_INT_KIND(R_INTEGER)'

View File

@ -153,6 +153,7 @@ hdf5_cv_convert_denormal_float=${hdf5_cv_convert_denormal_float='no'}
#
R_LARGE=18
R_INTEGER=18
HADDR_T='SELECTED_INT_KIND(R_LARGE)'
HSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HSSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HID_T='SELECTED_INT_KIND(R_INTEGER)'

View File

@ -149,6 +149,7 @@ esac
#
R_LARGE=18
R_INTEGER=18
HADDR_T='SELECTED_INT_KIND(R_LARGE)'
HSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HSSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HID_T='SELECTED_INT_KIND(R_INTEGER)'

10
configure vendored
View File

@ -2484,6 +2484,7 @@ if test "X$HDF_FORTRAN" = "Xyes"; then
for ac_prog in f90 pgf90 xlf90 f95 g95 xlf95 efc
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
@ -5239,7 +5240,7 @@ test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
case $host in
*-*-irix6*)
# Find out which ABI we are using.
echo '#line 5242 "configure"' > conftest.$ac_ext
echo '#line 5243 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@ -5780,7 +5781,7 @@ chmod -w .
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -o out/conftest2.$ac_objext"
compiler_c_o=no
if { (eval echo configure:5783: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$ac_objext; then
if { (eval echo configure:5784: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$ac_objext; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
if test -s out/conftest.err; then
@ -7587,7 +7588,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
#line 7590 "configure"
#line 7591 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@ -7685,7 +7686,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
#line 7688 "configure"
#line 7689 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@ -34723,6 +34724,7 @@ s,@OBJEXT@,$OBJEXT,;t t
s,@HDF5_INTERFACES@,$HDF5_INTERFACES,;t t
s,@R_LARGE@,$R_LARGE,;t t
s,@R_INTEGER@,$R_INTEGER,;t t
s,@HADDR_T@,$HADDR_T,;t t
s,@HSIZE_T@,$HSIZE_T,;t t
s,@HSSIZE_T@,$HSSIZE_T,;t t
s,@HID_T@,$HID_T,;t t

View File

@ -249,6 +249,7 @@ if test "X$HDF_FORTRAN" = "Xyes"; then
dnl
AC_SUBST([R_LARGE])
AC_SUBST([R_INTEGER])
AC_SUBST([HADDR_T])
AC_SUBST([HSIZE_T])
AC_SUBST([HSSIZE_T])
AC_SUBST([HID_T])

View File

@ -205,50 +205,48 @@ nh5dwrite_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_
* dims argumnet being of INTEGER(HSIZE_T) type.
*---------------------------------------------------------------------------*/
int_f
nh5dwrite_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, hsize_t_f *dims)
nh5dwrite_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, haddr_t_f *buf, hsize_t_f *dims)
{
int ret_value = -1;
herr_t ret;
hid_t c_dset_id;
hid_t c_mem_type_id;
hid_t c_mem_space_id;
hid_t c_file_space_id;
hid_t c_xfer_prp;
hobj_ref_t *buf_c;
int i, n;
n = (int)*dims;
int ret_value = -1;
herr_t ret;
hid_t c_dset_id;
hid_t c_mem_type_id;
hid_t c_mem_space_id;
hid_t c_file_space_id;
hid_t c_xfer_prp;
hobj_ref_t *buf_c;
int i, n;
/*
* Define transfer property
*/
c_xfer_prp = (hid_t)*xfer_prp;
/*
* Allocate temporary buffer and copy references from Fortran.
*/
buf_c = (hobj_ref_t*)HDmalloc(sizeof(hobj_ref_t)*(n));
if ( buf_c != NULL ) {
for (i = 0; i < n; i++) {
HDmemcpy(&buf_c[i], buf, H5R_OBJ_REF_BUF_SIZE);
buf = buf + REF_OBJ_BUF_LEN_F;
}
}
else return ret_value;
/*
* Call H5Dwrite function.
*/
c_dset_id = (hid_t)*dset_id;
c_mem_type_id = (hid_t)*mem_type_id;
c_mem_space_id = (hid_t)*mem_space_id;
c_file_space_id = (hid_t)*file_space_id;
ret = H5Dwrite(c_dset_id, c_mem_type_id, c_mem_space_id, c_file_space_id, c_xfer_prp, buf_c);
HDfree(buf_c);
if (ret < 0) return ret_value;
ret_value = 0;
return ret_value;
/*
* Define transfer property
*/
c_xfer_prp = (hid_t)*xfer_prp;
/*
* Allocate temporary buffer and copy references from Fortran.
*/
n = (int)*dims;
buf_c = (hobj_ref_t*)HDmalloc(sizeof(hobj_ref_t)*(n));
if ( buf_c != NULL ) {
for (i = 0; i < n; i++)
HDmemcpy(&buf_c[i], &buf[i], sizeof(haddr_t));
}
else return ret_value;
/*
* Call H5Dwrite function.
*/
c_dset_id = (hid_t)*dset_id;
c_mem_type_id = (hid_t)*mem_type_id;
c_mem_space_id = (hid_t)*mem_space_id;
c_file_space_id = (hid_t)*file_space_id;
ret = H5Dwrite(c_dset_id, c_mem_type_id, c_mem_space_id, c_file_space_id, c_xfer_prp, buf_c);
HDfree(buf_c);
if (ret < 0) return ret_value;
ret_value = 0;
return ret_value;
}
/*----------------------------------------------------------------------------
* Name: h5dwrite_ref_reg_c
* Purpose: Call H5Dwrite to write a dataset of dataset region references
@ -403,47 +401,46 @@ nh5dread_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t
* with the dims parameter being of INTEGER(HSIZE_T_F) size.
*---------------------------------------------------------------------------*/
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, hsize_t_f *dims)
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, haddr_t_f * buf, hsize_t_f *dims)
{
int ret_value = -1;
herr_t ret;
hid_t c_dset_id;
hid_t c_mem_type_id;
hid_t c_mem_space_id;
hid_t c_file_space_id;
hid_t c_xfer_prp;
hobj_ref_t *buf_c = NULL;
hsize_t i,n;
n = (hsize_t)*dims;
/*
* Define transfer property
*/
c_xfer_prp = (hid_t)*xfer_prp;
/*
* Allocate temporary buffer.
*/
buf_c = (hobj_ref_t*)HDmalloc(sizeof(hobj_ref_t)*(size_t)n);
if ( buf_c != NULL ) {
/*
* Call H5Dread function.
*/
c_dset_id = (hid_t)*dset_id;
c_mem_type_id = (hid_t)*mem_type_id;
c_mem_space_id = (hid_t)*mem_space_id;
c_file_space_id = (hid_t)*file_space_id;
ret = H5Dread(c_dset_id, c_mem_type_id, c_mem_space_id, c_file_space_id, c_xfer_prp, buf_c);
if (ret >=0) {
for (i = 0; i < n; i++) {
HDmemcpy(buf, &buf_c[i], H5R_OBJ_REF_BUF_SIZE);
buf = buf + REF_OBJ_BUF_LEN_F;
}
}
if ( buf_c != NULL ) HDfree(buf_c);
}
if (ret < 0) return ret_value;
ret_value = 0;
return ret_value;
int ret_value = -1;
herr_t ret;
hid_t c_dset_id;
hid_t c_mem_type_id;
hid_t c_mem_space_id;
hid_t c_file_space_id;
hid_t c_xfer_prp;
hobj_ref_t *buf_c = NULL;
hsize_t i,n;
/*
* Define transfer property
*/
c_xfer_prp = (hid_t)*xfer_prp;
/*
* Allocate temporary buffer.
*/
n = (hsize_t)*dims;
buf_c = (hobj_ref_t*)HDmalloc(sizeof(hobj_ref_t)*(size_t)n);
if ( buf_c != NULL ) {
/*
* Call H5Dread function.
*/
c_dset_id = (hid_t)*dset_id;
c_mem_type_id = (hid_t)*mem_type_id;
c_mem_space_id = (hid_t)*mem_space_id;
c_file_space_id = (hid_t)*file_space_id;
ret = H5Dread(c_dset_id, c_mem_type_id, c_mem_space_id, c_file_space_id, c_xfer_prp, buf_c);
if (ret >=0) {
for (i = 0; i < n; i++)
HDmemcpy(&buf[i], &buf_c[i], sizeof(haddr_t));
}
if ( buf_c != NULL ) HDfree(buf_c);
}
if (ret < 0) return ret_value;
ret_value = 0;
return ret_value;
}
/*----------------------------------------------------------------------------

View File

@ -330,7 +330,7 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER, ALLOCATABLE, DIMENSION(:) :: ref_buf
INTEGER(HADDR_T), ALLOCATABLE, DIMENSION(:) :: ref_buf
INTEGER :: i,j
! INTEGER, EXTERNAL :: h5dwrite_ref_obj_c
@ -349,7 +349,7 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER, DIMENSION(*) :: ref_buf
INTEGER(HADDR_T), DIMENSION(*) :: ref_buf
INTEGER(HSIZE_T), DIMENSION(*) :: dims
END FUNCTION h5dwrite_ref_obj_c
END INTERFACE
@ -362,15 +362,13 @@
if (present(mem_space_id)) mem_space_id_default = mem_space_id
if (present(file_space_id)) file_space_id_default = file_space_id
allocate(ref_buf(REF_OBJ_BUF_LEN*dims(1)), stat=hdferr)
allocate(ref_buf(dims(1)), stat=hdferr)
if (hdferr .NE. 0 ) then
hdferr = -1
return
else
do j = 1, dims(1)
do i = 1, REF_OBJ_BUF_LEN
ref_buf(REF_OBJ_BUF_LEN*(j-1) + i ) = buf(j)%ref(i)
enddo
ref_buf(j) = buf(j)%ref
enddo
endif
hdferr = h5dwrite_ref_obj_c(dset_id, mem_type_id, mem_space_id_default, &
@ -2500,7 +2498,7 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER, ALLOCATABLE, DIMENSION(:) :: ref_buf
INTEGER(HADDR_T), ALLOCATABLE, DIMENSION(:) :: ref_buf
INTEGER :: i,j
! INTEGER, EXTERNAL :: h5dread_ref_obj_c
@ -2519,12 +2517,12 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
INTEGER, DIMENSION(*) :: ref_buf
INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
INTEGER(HADDR_T), DIMENSION(*) :: ref_buf
END FUNCTION h5dread_ref_obj_c
END INTERFACE
allocate(ref_buf(REF_OBJ_BUF_LEN*dims(1)), stat=hdferr)
allocate(ref_buf(dims(1)), stat=hdferr)
if (hdferr .NE. 0) then
hdferr = -1
return
@ -2541,9 +2539,7 @@
hdferr = h5dread_ref_obj_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, ref_buf, dims)
do j = 1, dims(1)
do i = 1, REF_OBJ_BUF_LEN
buf(j)%ref(i) = ref_buf(REF_OBJ_BUF_LEN*(j-1) + i)
enddo
buf(j)%ref = ref_buf(j)
enddo
deallocate(ref_buf)
END SUBROUTINE h5dread_reference_obj

View File

@ -29,7 +29,7 @@
* Modifications:
*---------------------------------------------------------------------------*/
int_f
nh5rcreate_object_c (int_f *ref, hid_t_f *loc_id, _fcd name, int_f *namelen)
nh5rcreate_object_c (haddr_t_f *ref, hid_t_f *loc_id, _fcd name, int_f *namelen)
{
int ret_value = -1;
hid_t c_loc_id;
@ -53,11 +53,10 @@ nh5rcreate_object_c (int_f *ref, hid_t_f *loc_id, _fcd name, int_f *namelen)
HDfree(c_name);
if (ret_value_c >= 0) {
*ref=(int_f)ref_c;
*ref=(haddr_t_f)ref_c;
ret_value = 0;
}
ret_value = 0;
return ret_value;
}
@ -153,7 +152,7 @@ nh5rdereference_region_c (hid_t_f *dset_id, int_f *ref, hid_t_f *obj_id)
* Modifications:
*---------------------------------------------------------------------------*/
int_f
nh5rdereference_object_c (hid_t_f *dset_id, int_f *ref, hid_t_f *obj_id)
nh5rdereference_object_c (hid_t_f *dset_id, haddr_t_f *ref, hid_t_f *obj_id)
{
int ret_value = -1;
hid_t c_dset_id;
@ -218,7 +217,7 @@ nh5rget_region_region_c (hid_t_f *dset_id, int_f *ref, hid_t_f *space_id)
* Modifications:
*---------------------------------------------------------------------------*/
int_f
nh5rget_object_type_obj_c (hid_t_f *dset_id, int_f *ref, int_f *obj_type)
nh5rget_object_type_obj_c (hid_t_f *dset_id, haddr_t_f *ref, int_f *obj_type)
{
int ret_value = -1;
hid_t c_dset_id;

View File

@ -102,7 +102,7 @@
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER :: namelen ! Name length
INTEGER :: ref_f(REF_OBJ_BUF_LEN) ! Local buffer to pass reference
INTEGER(HADDR_T) :: ref_f ! Local buffer to pass reference
! INTEGER, EXTERNAL :: h5fcreate_object_c
! Interface is needed for MS FORTRAN
@ -114,8 +114,7 @@
!MS$ATTRIBUTES C,reference,alias:'_H5RCREATE_OBJECT_C':: h5rcreate_object_c
!DEC$ ENDIF
!DEC$ATTRIBUTES reference :: name
! INTEGER, PARAMETER :: REF_OBJ_BUF_LEN = 2
INTEGER :: ref_f(REF_OBJ_BUF_LEN)
INTEGER(HADDR_T) :: ref_f
INTEGER(HID_T), INTENT(IN) :: loc_id
CHARACTER(LEN=*), INTENT(IN) :: name
INTEGER :: namelen
@ -244,7 +243,7 @@
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER :: ref_type ! Reference type
INTEGER :: ref_f(REF_OBJ_BUF_LEN) ! Local buffer to pass reference
INTEGER(HADDR_T) :: ref_f ! Local buffer to pass reference
! INTEGER, EXTERNAL :: h5h5rdereference_object_c
! Interface is needed for MS FORTRAN
@ -257,7 +256,7 @@
!DEC$ ENDIF
! INTEGER, PARAMETER :: REF_OBJ_BUF_LEN = 2
INTEGER(HID_T), INTENT(IN) :: dset_id
INTEGER :: ref_f(REF_OBJ_BUF_LEN)
INTEGER(HADDR_T) :: ref_f
INTEGER(HID_T), INTENT(OUT) :: obj_id
END FUNCTION h5rdereference_object_c
END INTERFACE
@ -452,7 +451,7 @@
! H5G_TYPE_F 3
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER :: ref_f(REF_OBJ_BUF_LEN) ! Local buffer to pass reference
INTEGER(HADDR_T) :: ref_f ! Local buffer to pass reference
! INTEGER, EXTERNAL :: h5rget_object_type_obj_c
! Interface is needed for MS FORTRAN
@ -465,7 +464,7 @@
!DEC$ ENDIF
! INTEGER, PARAMETER :: REF_OBJ_BUF_LEN = 2
INTEGER(HID_T), INTENT(IN) :: dset_id
INTEGER :: ref_f(REF_OBJ_BUF_LEN)
INTEGER(HADDR_T) :: ref_f
INTEGER, INTENT(OUT) :: obj_type
END FUNCTION h5rget_object_type_obj_c
END INTERFACE

View File

@ -21,7 +21,6 @@
#include "H5f90proto.h"
/* Constants used in H5Rff.f90 and H5Rf.c files */
#define REF_OBJ_BUF_LEN_F 2
#define REF_REG_BUF_LEN_F 3
/* Constants used in H5Gf.c files */

View File

@ -18,11 +18,10 @@
! Definitions for reference datatypes.
! If you change the value of these parameters, do not forget to change corresponding
! values in the H5f90.h file.
INTEGER, PARAMETER :: REF_OBJ_BUF_LEN = 2
INTEGER, PARAMETER :: REF_REG_BUF_LEN = 3
TYPE hobj_ref_t_f
INTEGER ref(REF_OBJ_BUF_LEN)
INTEGER(HADDR_T) ref
END TYPE
TYPE hdset_reg_ref_t_f

View File

@ -27,6 +27,7 @@
#include <fortran.h>
/*typedef char* _fcd;*/
typedef long haddr_t_f;
typedef long hsize_t_f;
typedef long hssize_t_f;
typedef long size_t_f;
@ -41,6 +42,7 @@ typedef double real_f;
#if defined(IBM6000) || defined(_AIX)
typedef char *_fcd;
typedef long long haddr_t_f;
typedef long long hsize_t_f;
typedef long long hssize_t_f;
typedef int size_t_f;
@ -53,6 +55,7 @@ typedef float real_f;
/* MAC APPLE definitions with IBM XL compiler*/
#if defined(__APPLE__)
typedef char *_fcd;
typedef long long haddr_t_f;
typedef long long hsize_t_f;
typedef long long hssize_t_f;
typedef int size_t_f;
@ -80,6 +83,7 @@ typedef float real_f;
/* IA32 specific definitions */
#if (defined(i386) || defined(__i386) || defined(__i386__))
typedef long long haddr_t_f;
typedef long long hsize_t_f;
typedef long long hssize_t_f;
typedef int size_t_f;
@ -92,6 +96,7 @@ typedef int size_t_f;
/* AMD64 specific definitions */
#elif defined __x86_64__
typedef long long haddr_t_f;
typedef long long hsize_t_f;
typedef long long hssize_t_f;
typedef int size_t_f;
@ -100,6 +105,7 @@ typedef int size_t_f;
/* IA64 specific definitions */
#elif defined __ia64
typedef long haddr_t_f;
typedef long hsize_t_f;
typedef long hssize_t_f;
typedef long size_t_f;
@ -111,6 +117,7 @@ typedef long size_t_f;
#if defined(IRIX) || defined(IRIS4) || defined(sgi) || defined(__sgi__) || defined(__sgi)
typedef char *_fcd;
typedef long haddr_t_f;
typedef long hsize_t_f;
typedef long hssize_t_f;
typedef long size_t_f;
@ -124,6 +131,7 @@ typedef float real_f;
#if (defined(SUN) || defined(sun) || defined(__sun__) || defined(__SUNPRO_C)) & !defined(__i386)
typedef char *_fcd;
typedef long long haddr_t_f;
typedef long long hssize_t_f;
typedef long long hsize_t_f;
typedef int size_t_f;
@ -138,6 +146,7 @@ typedef float real_f;
#if defined DEC_ALPHA || (defined __alpha && defined __unix__ && !defined __linux__)
typedef char *_fcd;
typedef long haddr_t_f;
typedef long hsize_t_f;
typedef long hssize_t_f;
typedef long size_t_f;
@ -152,9 +161,10 @@ typedef float real_f;
#if defined __alpha__ && defined __linux__
typedef char *_fcd;
typedef long long hsize_t_f;
typedef long long hssize_t_f;
typedef long long size_t_f;
typedef long long haddr_t_f;
typedef long long hsize_t_f;
typedef long long hssize_t_f;
typedef long long size_t_f;
typedef int int_f;
typedef int hid_t_f;
typedef float real_f;
@ -166,8 +176,9 @@ typedef float real_f;
#if defined(HP9000) || (!defined(__convexc__) && (defined(hpux) || defined(__hpux)))
typedef char *_fcd;
typedef long long hsize_t_f;
typedef long long hssize_t_f;
typedef long long haddr_t_f;
typedef long long hsize_t_f;
typedef long long hssize_t_f;
typedef long size_t_f;
typedef int int_f;
typedef int hid_t_f;
@ -180,6 +191,7 @@ typedef float real_f;
#if defined _WINDOWS || defined WIN32
typedef char *_fcd;
typedef int haddr_t_f;
typedef int hsize_t_f;
typedef int hssize_t_f;
typedef int size_t_f;
@ -204,16 +216,19 @@ typedef float real_f;
/* IA32 specific definitions */
#if (defined(i386) || defined(__i386) || defined(__i386__))
typedef long long haddr_t_f;
typedef long long hsize_t_f;
typedef long long hssize_t_f;
typedef int size_t_f;
/* AMD64 specific definitions */
#elif defined __x86_64__
typedef long long haddr_t_f;
typedef long long hsize_t_f;
typedef long long hssize_t_f;
typedef int size_t_f;
/* IA64 specific definitions */
#elif defined __ia64
typedef long haddr_t_f;
typedef long hsize_t_f;
typedef long hssize_t_f;
typedef long size_t_f;

View File

@ -244,14 +244,14 @@ H5_FCDLL int_f nh5dwrite_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem
H5_FCDLL 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);
H5_FCDLL int_f nh5dwrite_vl_real_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, real_f *buf, hsize_t_f *dims, size_t_f *len);
H5_FCDLL int_f nh5dwrite_vl_string_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, hsize_t_f *dims, size_t_f *len);
H5_FCDLL int_f nh5dwrite_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, hsize_t_f *dims);
H5_FCDLL int_f nh5dwrite_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, haddr_t_f *buf, hsize_t_f *dims);
H5_FCDLL int_f nh5dwrite_ref_reg_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);
H5_FCDLL 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, hsize_t_f *dims);
H5_FCDLL 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, hsize_t_f *dims);
H5_FCDLL int_f nh5dread_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);
H5_FCDLL int_f nh5dread_vl_real_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, real_f *buf, hsize_t_f *dims, size_t_f *len);
H5_FCDLL int_f nh5dread_vl_string_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, hsize_t_f *dims, size_t_f *len);
H5_FCDLL 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, hsize_t_f *dims);
H5_FCDLL 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, haddr_t_f * buf, hsize_t_f *dims);
H5_FCDLL int_f nh5dread_ref_reg_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);
H5_FCDLL 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, hsize_t_f *dims);
H5_FCDLL int_f nh5dget_space_c ( hid_t_f *dset_id , hid_t_f *space_id);
@ -890,12 +890,12 @@ H5_FCDLL int_f nh5pfill_value_defined_c ( hid_t_f *prp_id , int_f *flag);
#endif /* DF_CAPFNAMES */
#endif /* H5Rf90_FNAMES */
H5_FCDLL int_f nh5rcreate_object_c (int_f *ref, hid_t_f *loc_id, _fcd name, int_f *namelen);
H5_FCDLL int_f nh5rcreate_object_c (haddr_t_f *ref, hid_t_f *loc_id, _fcd name, int_f *namelen);
H5_FCDLL int_f nh5rcreate_region_c (int_f *ref, hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *space_id);
H5_FCDLL int_f nh5rdereference_region_c (hid_t_f *dset_id, int_f *ref, hid_t_f *obj_id);
H5_FCDLL int_f nh5rdereference_object_c (hid_t_f *dset_id, int_f *ref, hid_t_f *obj_id);
H5_FCDLL int_f nh5rdereference_object_c (hid_t_f *dset_id, haddr_t_f *ref, hid_t_f *obj_id);
H5_FCDLL int_f nh5rget_region_region_c (hid_t_f *dset_id, int_f *ref, hid_t_f *space_id);
H5_FCDLL int_f nh5rget_object_type_obj_c (hid_t_f *dset_id, int_f *ref, int_f *obj_type);
H5_FCDLL int_f nh5rget_object_type_obj_c (hid_t_f *dset_id, haddr_t_f *ref, int_f *obj_type);
/*
* Functions from H5If.c

View File

@ -30,6 +30,7 @@
!
INTEGER, PARAMETER :: R_LARGE = @R_LARGE@
INTEGER, PARAMETER :: R_INTEGER = @R_INTEGER@
INTEGER, PARAMETER :: HADDR_T = @HADDR_T@
INTEGER, PARAMETER :: HSIZE_T = @HSIZE_T@
INTEGER, PARAMETER :: HSSIZE_T = @HSSIZE_T@
INTEGER, PARAMETER :: HID_T = @HID_T@