mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-03-31 17:10:47 +08:00
[svn-r6494]
Purpose: Catching up with the C library Description: Added the follwoing new fortran functions h5iget_name_f h5tis_variavle_str_f h5zunregister_f h5zfilter_avail_f h5pset_shuffle_f h5pset_fletcher32 h5pset_edc_check_f h5pget_edc_check_f h5dfill_f Solution: Platforms tested: arabica(C and F90), burrwhite (pgcc and pgf90), modi4 (F90 and parallel) Misc. update:
This commit is contained in:
parent
da4bf69db7
commit
65f5514a4f
@ -1507,3 +1507,97 @@ DONE:
|
||||
return ret_value;
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------------
|
||||
* Name: h5dfillc_c
|
||||
* Purpose: Call h5fill_c to fill memory buffer with a fill value
|
||||
* Inputs: fill_value - fill value
|
||||
* fill_type_id - fill value datatype identifier
|
||||
* space_id - memory space selection identifier
|
||||
* buf - memory buffer to fill
|
||||
* mem_type_id - memory buffer dtatype identifier
|
||||
* Returns: 0 on success, -1 on failure
|
||||
* Programmer: Elena Pourmal
|
||||
* Wednesday, March 12, 2003
|
||||
* Modifications:
|
||||
*---------------------------------------------------------------------------*/
|
||||
int_f
|
||||
nh5dfillc_c (_fcd fill_value, hid_t_f *fill_type_id, hid_t_f *space_id, _fcd buf, hid_t_f *mem_type_id)
|
||||
{
|
||||
int ret_value = -1;
|
||||
|
||||
/*
|
||||
* Call h5dfill_c function.
|
||||
*/
|
||||
ret_value = nh5dfill_c(_fcdtocp(fill_value), fill_type_id, space_id, _fcdtocp(buf), mem_type_id);
|
||||
|
||||
return ret_value;
|
||||
}
|
||||
/*----------------------------------------------------------------------------
|
||||
* Name: h5dfill_c
|
||||
* Purpose: Call H5Dfill to fill memory buffer with a fill value
|
||||
* Inputs: fill_value - fill value
|
||||
* fill_type_id - fill value datatype identifier
|
||||
* space_id - memory space selection identifier
|
||||
* buf - memory buffer to fill
|
||||
* mem_type_id - memory buffer dtatype identifier
|
||||
* Returns: 0 on success, -1 on failure
|
||||
* Programmer: Elena Pourmal
|
||||
* Wednesday, March 12, 2003
|
||||
* Modifications:
|
||||
*---------------------------------------------------------------------------*/
|
||||
int_f
|
||||
nh5dfill_c (void * fill_value, hid_t_f *fill_type_id, hid_t_f *space_id, void * buf, hid_t_f *mem_type_id)
|
||||
|
||||
{
|
||||
int ret_value = -1;
|
||||
herr_t ret;
|
||||
hid_t c_fill_type_id;
|
||||
hid_t c_mem_type_id;
|
||||
hid_t c_space_id;
|
||||
|
||||
c_fill_type_id = (hid_t)*fill_type_id;
|
||||
c_mem_type_id = (hid_t)*mem_type_id;
|
||||
c_space_id = (hid_t)*space_id;
|
||||
|
||||
/*
|
||||
* Call H5Dfill function.
|
||||
*/
|
||||
ret = H5Dfill(fill_value, c_fill_type_id, buf, c_mem_type_id, c_space_id);
|
||||
|
||||
if (ret < 0) return ret_value;
|
||||
ret_value = 0;
|
||||
return ret_value;
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------------
|
||||
* Name: h5dget_space_status_c
|
||||
* Purpose: Call H5Dget_space_status to request dataspace allocation status
|
||||
* Inputs: dset_id - dataset identifier
|
||||
* Outputs: flag - status flag
|
||||
* Returns: 0 on success, -1 on failure
|
||||
* Programmer: Elena Pourmal
|
||||
* Wednesday, March 12, 2003
|
||||
* Modifications:
|
||||
*---------------------------------------------------------------------------*/
|
||||
int_f
|
||||
nh5dget_space_status_c ( hid_t_f *dset_id, int_f *flag)
|
||||
|
||||
{
|
||||
int ret_value = -1;
|
||||
herr_t ret;
|
||||
hid_t c_dset_id;
|
||||
H5D_space_status_t c_flag;
|
||||
|
||||
c_dset_id = (hid_t)*dset_id;
|
||||
|
||||
/*
|
||||
* Call H5Dget_space_status
|
||||
*/
|
||||
ret = H5Dget_space_status(c_dset_id, &c_flag);
|
||||
|
||||
if (ret < 0) return ret_value;
|
||||
*flag = (int_f)c_flag;
|
||||
ret_value = 0;
|
||||
return ret_value;
|
||||
}
|
||||
|
||||
|
@ -200,6 +200,14 @@
|
||||
MODULE PROCEDURE h5dread_vl_string
|
||||
END INTERFACE
|
||||
|
||||
INTERFACE h5dfill_f
|
||||
MODULE PROCEDURE h5dfill_integer
|
||||
MODULE PROCEDURE h5dfill_real
|
||||
MODULE PROCEDURE h5dfill_double
|
||||
MODULE PROCEDURE h5dfill_char
|
||||
END INTERFACE
|
||||
|
||||
|
||||
CONTAINS
|
||||
|
||||
!----------------------------------------------------------------------
|
||||
@ -9772,4 +9780,311 @@
|
||||
buf, dims, str_len)
|
||||
RETURN
|
||||
END SUBROUTINE h5dread_vl_string
|
||||
|
||||
!----------------------------------------------------------------------
|
||||
! Name: h5dfill_integer
|
||||
!
|
||||
! Purpose: Fills dataspace elements with a fill value in a memory buffer.
|
||||
! Only INTEGER, CHARACTER, REAL and DOUBLE PRECISION datatypes
|
||||
! of the fillvalues and buffers are supported. Buffer and fillvalue
|
||||
! are assumed to have the same datatype.
|
||||
! Only one-dimesional buffers are supported.
|
||||
!
|
||||
! Inputs:
|
||||
! fill_value - fill value
|
||||
! space_id - memory space selection identifier
|
||||
! buf - data buffer iin memory ro apply selection to
|
||||
! - of k-th dimension of the buf array
|
||||
! Outputs:
|
||||
! hdferr: - error code
|
||||
! Success: 0
|
||||
! Failure: -1
|
||||
!
|
||||
! Programmer: Elena Pourmal
|
||||
! March 12, 2003
|
||||
!
|
||||
!----------------------------------------------------------------------
|
||||
|
||||
SUBROUTINE h5dfill_integer(fill_value, space_id, buf, hdferr)
|
||||
!This definition is needed for Windows DLLs
|
||||
!DEC$if defined(BUILD_HDF5_DLL)
|
||||
!DEC$attributes dllexport :: h5dfill_integer
|
||||
!DEC$endif
|
||||
|
||||
IMPLICIT NONE
|
||||
INTEGER, INTENT(IN) :: fill_value ! Fill value
|
||||
INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
|
||||
INTEGER, INTENT(IN), DIMENSION(*) :: buf ! Memory buffer to fill in
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
|
||||
INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
|
||||
INTEGER(HID_T) :: mem_type_id ! Buffer dadtype identifier
|
||||
|
||||
! INTEGER, EXTERNAL :: h5dfill_c
|
||||
! MS FORTRAN needs explicit interface for C functions called here.
|
||||
!
|
||||
INTERFACE
|
||||
INTEGER FUNCTION h5dfill_c(fill_value, fill_type_id, space_id, &
|
||||
buf, mem_type_id)
|
||||
USE H5GLOBAL
|
||||
!DEC$ IF DEFINED(HDF5F90_WINDOWS)
|
||||
!MS$ATTRIBUTES C,reference,alias:'_H5DFILL_C'::h5dfill_c
|
||||
!DEC$ ENDIF
|
||||
INTEGER, INTENT(IN) :: fill_value ! Fill value
|
||||
INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
|
||||
INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
|
||||
INTEGER, INTENT(IN), DIMENSION(*) :: buf ! Memory buffer to fill in
|
||||
INTEGER(HID_T) :: mem_type_id ! Buffer dadtype identifier
|
||||
END FUNCTION h5dfill_c
|
||||
END INTERFACE
|
||||
fill_type_id = H5T_NATIVE_INTEGER
|
||||
mem_type_id = H5T_NATIVE_INTEGER
|
||||
|
||||
hdferr = h5dfill_c(fill_value, fill_type_id, space_id, &
|
||||
buf, mem_type_id)
|
||||
|
||||
END SUBROUTINE h5dfill_integer
|
||||
|
||||
!----------------------------------------------------------------------
|
||||
! Name: h5dfill_real
|
||||
!
|
||||
! Purpose: Fills dataspace elements with a fill value in a memory buffer.
|
||||
! Only INTEGER, CHARACTER, REAL and DOUBLE PRECISION datatypes
|
||||
! of the fillvalues and buffers are supported. Buffer and fillvalue
|
||||
! are assumed to have the same datatype.
|
||||
! Only one-dimesional buffers are supported.
|
||||
!
|
||||
! Inputs:
|
||||
! fill_value - fill value
|
||||
! space_id - memory space selection identifier
|
||||
! buf - data buffer iin memory ro apply selection to
|
||||
! - of k-th dimension of the buf array
|
||||
! Outputs:
|
||||
! hdferr: - error code
|
||||
! Success: 0
|
||||
! Failure: -1
|
||||
!
|
||||
! Programmer: Elena Pourmal
|
||||
! March 12, 2003
|
||||
!
|
||||
!----------------------------------------------------------------------
|
||||
|
||||
SUBROUTINE h5dfill_real(fill_valuer, space_id, buf, hdferr)
|
||||
!This definition is needed for Windows DLLs
|
||||
!DEC$if defined(BUILD_HDF5_DLL)
|
||||
!DEC$attributes dllexport :: h5dfill_real
|
||||
!DEC$endif
|
||||
|
||||
IMPLICIT NONE
|
||||
REAL, INTENT(IN) :: fill_valuer ! Fill value
|
||||
INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
|
||||
REAL, INTENT(IN), DIMENSION(*) :: buf ! Memory buffer to fill in
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
|
||||
INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
|
||||
INTEGER(HID_T) :: mem_type_id ! Buffer dadtype identifier
|
||||
|
||||
! INTEGER, EXTERNAL :: h5dfill_c
|
||||
! MS FORTRAN needs explicit interface for C functions called here.
|
||||
!
|
||||
INTERFACE
|
||||
INTEGER FUNCTION h5dfill_c(fill_valuer, fill_type_id, space_id, &
|
||||
buf, mem_type_id)
|
||||
USE H5GLOBAL
|
||||
!DEC$ IF DEFINED(HDF5F90_WINDOWS)
|
||||
!MS$ATTRIBUTES C,reference,alias:'_H5DFILL_C'::h5dfill_c
|
||||
!DEC$ ENDIF
|
||||
REAL, INTENT(IN) :: fill_valuer ! Fill value
|
||||
INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
|
||||
INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
|
||||
REAL, INTENT(IN), DIMENSION(*) :: buf ! Memory buffer to fill in
|
||||
INTEGER(HID_T) :: mem_type_id ! Buffer dadtype identifier
|
||||
END FUNCTION h5dfill_c
|
||||
END INTERFACE
|
||||
fill_type_id = H5T_NATIVE_REAL
|
||||
mem_type_id = H5T_NATIVE_REAL
|
||||
|
||||
hdferr = h5dfill_c(fill_valuer, fill_type_id, space_id, &
|
||||
buf, mem_type_id)
|
||||
END SUBROUTINE h5dfill_real
|
||||
|
||||
!----------------------------------------------------------------------
|
||||
! Name: h5dfill_double
|
||||
!
|
||||
! Purpose: Fills dataspace elements with a fill value in a memory buffer.
|
||||
! Only INTEGER, CHARACTER, REAL and DOUBLE PRECISION datatypes
|
||||
! of the fillvalues and buffers are supported. Buffer and fillvalue
|
||||
! are assumed to have the same datatype.
|
||||
! Only one-dimesional buffers are supported.
|
||||
!
|
||||
! Inputs:
|
||||
! fill_value - fill value
|
||||
! space_id - memory space selection identifier
|
||||
! buf - data buffer iin memory ro apply selection to
|
||||
! - of k-th dimension of the buf array
|
||||
! Outputs:
|
||||
! hdferr: - error code
|
||||
! Success: 0
|
||||
! Failure: -1
|
||||
!
|
||||
! Programmer: Elena Pourmal
|
||||
! March 12, 2003
|
||||
!
|
||||
!----------------------------------------------------------------------
|
||||
|
||||
SUBROUTINE h5dfill_double(fill_value, space_id, buf, hdferr)
|
||||
!This definition is needed for Windows DLLs
|
||||
!DEC$if defined(BUILD_HDF5_DLL)
|
||||
!DEC$attributes dllexport :: h5dfill_double
|
||||
!DEC$endif
|
||||
|
||||
IMPLICIT NONE
|
||||
DOUBLE PRECISION, INTENT(IN) :: fill_value ! Fill value
|
||||
INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
|
||||
DOUBLE PRECISION, INTENT(IN), DIMENSION(*) :: buf ! Memory buffer to fill in
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
|
||||
INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
|
||||
INTEGER(HID_T) :: mem_type_id ! Buffer dadtype identifier
|
||||
|
||||
! INTEGER, EXTERNAL :: h5dfill_c
|
||||
! MS FORTRAN needs explicit interface for C functions called here.
|
||||
!
|
||||
INTERFACE
|
||||
INTEGER FUNCTION h5dfill_c(fill_value, fill_type_id, space_id, &
|
||||
buf, mem_type_id)
|
||||
USE H5GLOBAL
|
||||
!DEC$ IF DEFINED(HDF5F90_WINDOWS)
|
||||
!MS$ATTRIBUTES C,reference,alias:'_H5DFILL_C'::h5dfill_c
|
||||
!DEC$ ENDIF
|
||||
DOUBLE PRECISION, INTENT(IN) :: fill_value ! Fill value
|
||||
INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
|
||||
INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
|
||||
DOUBLE PRECISION, INTENT(IN), DIMENSION(*) :: buf ! Memory buffer to fill in
|
||||
INTEGER(HID_T) :: mem_type_id ! Buffer dadtype identifier
|
||||
END FUNCTION h5dfill_c
|
||||
END INTERFACE
|
||||
fill_type_id = H5T_NATIVE_DOUBLE
|
||||
mem_type_id = H5T_NATIVE_DOUBLE
|
||||
|
||||
hdferr = h5dfill_c(fill_value, fill_type_id, space_id, &
|
||||
buf, mem_type_id)
|
||||
|
||||
|
||||
END SUBROUTINE h5dfill_double
|
||||
|
||||
!----------------------------------------------------------------------
|
||||
! Name: h5dfill_char
|
||||
!
|
||||
! Purpose: Fills dataspace elements with a fill value in a memory buffer.
|
||||
! Only INTEGER, CHARACTER, REAL and DOUBLE PRECISION datatypes
|
||||
! of the fillvalues and buffers are supported. Buffer and fillvalue
|
||||
! are assumed to have the same datatype.
|
||||
! Only one-dimesional buffers are supported.
|
||||
!
|
||||
! Inputs:
|
||||
! fill_value - fill value
|
||||
! space_id - memory space selection identifier
|
||||
! buf - data buffer iin memory ro apply selection to
|
||||
! - of k-th dimension of the buf array
|
||||
! Outputs:
|
||||
! hdferr: - error code
|
||||
! Success: 0
|
||||
! Failure: -1
|
||||
!
|
||||
! Programmer: Elena Pourmal
|
||||
! March 12, 2003
|
||||
!
|
||||
!----------------------------------------------------------------------
|
||||
|
||||
SUBROUTINE h5dfill_char(fill_value, space_id, buf, hdferr)
|
||||
!This definition is needed for Windows DLLs
|
||||
!DEC$if defined(BUILD_HDF5_DLL)
|
||||
!DEC$attributes dllexport :: h5dfill_integer
|
||||
!DEC$endif
|
||||
|
||||
IMPLICIT NONE
|
||||
CHARACTER, INTENT(IN) :: fill_value ! Fill value
|
||||
INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
|
||||
CHARACTER, INTENT(IN), DIMENSION(*) :: buf ! Memory buffer to fill in
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
|
||||
INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
|
||||
INTEGER(HID_T) :: mem_type_id ! Buffer dadtype identifier
|
||||
|
||||
! INTEGER, EXTERNAL :: h5dfillc_c
|
||||
! MS FORTRAN needs explicit interface for C functions called here.
|
||||
!
|
||||
INTERFACE
|
||||
INTEGER FUNCTION h5dfillc_c(fill_value, fill_type_id, space_id, &
|
||||
buf, mem_type_id)
|
||||
USE H5GLOBAL
|
||||
!DEC$ IF DEFINED(HDF5F90_WINDOWS)
|
||||
!MS$ATTRIBUTES C,reference,alias:'_H5DFILLC_C'::h5dfillc_c
|
||||
!DEC$ ENDIF
|
||||
CHARACTER, INTENT(IN) :: fill_value ! Fill value
|
||||
INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
|
||||
INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
|
||||
CHARACTER, INTENT(IN), DIMENSION(*) :: buf ! Memory buffer to fill in
|
||||
INTEGER(HID_T) :: mem_type_id ! Buffer dadtype identifier
|
||||
END FUNCTION h5dfillc_c
|
||||
END INTERFACE
|
||||
fill_type_id = H5T_NATIVE_CHARACTER
|
||||
mem_type_id = H5T_NATIVE_CHARACTER
|
||||
|
||||
hdferr = h5dfillc_c(fill_value, fill_type_id, space_id, &
|
||||
buf, mem_type_id)
|
||||
|
||||
END SUBROUTINE h5dfill_char
|
||||
|
||||
!----------------------------------------------------------------------
|
||||
! Name: h5dget_space_status_f
|
||||
!
|
||||
! Purpose: Returns the status of data space allocation.
|
||||
!
|
||||
! Inputs:
|
||||
! dset_id - dataset identifier
|
||||
! Outputs:
|
||||
! flag - status; may have one of the following values:
|
||||
! H5D_SPACE_STS_ERROR_F
|
||||
! H5D_SPACE_STS_NOT_ALLOCATED_F
|
||||
! H5D_SPACE_STS_PART_ALLOCATED_F
|
||||
! H5D_SPACE_STS_ALLOCATED_F
|
||||
! hdferr: - error code
|
||||
! Success: 0
|
||||
! Failure: -1
|
||||
!
|
||||
! Programmer: Elena Pourmal
|
||||
! March 12, 2003
|
||||
!
|
||||
!----------------------------------------------------------------------
|
||||
|
||||
SUBROUTINE h5dget_space_status_f(dset_id, flag, hdferr)
|
||||
!This definition is needed for Windows DLLs
|
||||
!DEC$if defined(BUILD_HDF5_DLL)
|
||||
!DEC$attributes dllexport :: h5dget_space_status_f
|
||||
!DEC$endif
|
||||
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataspace identifier
|
||||
INTEGER, INTENT(IN) :: flag ! Memory buffer to fill in
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
|
||||
! INTEGER, EXTERNAL :: h5dget_space_status_c
|
||||
! MS FORTRAN needs explicit interface for C functions called here.
|
||||
!
|
||||
INTERFACE
|
||||
INTEGER FUNCTION h5dget_space_status_c(dset_id, flag)
|
||||
USE H5GLOBAL
|
||||
!DEC$ IF DEFINED(HDF5F90_WINDOWS)
|
||||
!MS$ATTRIBUTES C,reference,alias:'_H5DGET_SPACE_STATUS_C'::h5dget_space_status_c
|
||||
!DEC$ ENDIF
|
||||
INTEGER(HID_T) :: dset_id
|
||||
INTEGER :: flag
|
||||
END FUNCTION h5dget_space_status_c
|
||||
END INTERFACE
|
||||
|
||||
hdferr = h5dget_space_status_c(dset_id, flag)
|
||||
END SUBROUTINE h5dget_space_status_f
|
||||
|
||||
END MODULE H5D
|
||||
|
@ -27,3 +27,48 @@ nh5iget_type_c (hid_t_f *obj_id, int_f *type)
|
||||
ret_value = 0;
|
||||
return ret_value;
|
||||
}
|
||||
/*----------------------------------------------------------------------------
|
||||
* Name: h5iget_name_c
|
||||
* Purpose: Call H5Iget_name to get object's name
|
||||
* Inputs: obj_id - object identifier
|
||||
* buf_size - size of the buffer
|
||||
* Outputs: buf - buffer to hold the name
|
||||
* Returns: length of the name on success, -1 on failure
|
||||
* Programmer: Elena Pourmal
|
||||
* Wednesday, March 12, 2003
|
||||
* Modifications:
|
||||
*---------------------------------------------------------------------------*/
|
||||
int_f
|
||||
nh5iget_name_c(hid_t_f *obj_id, _fcd buf, size_t_f *buf_size, size_t_f *name_size)
|
||||
{
|
||||
int ret_value = -1;
|
||||
hid_t c_obj_id;
|
||||
ssize_t c_size;
|
||||
size_t c_buf_size;
|
||||
char *c_buf =NULL;
|
||||
|
||||
/*
|
||||
* Allocate buffer to hold name of an attribute
|
||||
*/
|
||||
c_buf_size = (size_t)*buf_size;
|
||||
c_buf = (char *)HDmalloc((int)c_buf_size +1);
|
||||
if (c_buf == NULL) return ret_value;
|
||||
|
||||
/*
|
||||
* Call H5IAget_name function
|
||||
*/
|
||||
c_obj_id = (hid_t)*obj_id;
|
||||
c_size = H5Iget_name(c_obj_id, c_buf, c_buf_size);
|
||||
if (c_size < 0) goto DONE;
|
||||
|
||||
/*
|
||||
* Convert C name to FORTRAN and place it in the given buffer
|
||||
*/
|
||||
HD5packFstring(c_buf, _fcdtocp(buf), (int)c_buf_size);
|
||||
*name_size = (size_t_f)c_size;
|
||||
ret_value = 0;
|
||||
|
||||
DONE:
|
||||
HDfree(c_buf);
|
||||
return ret_value;
|
||||
}
|
||||
|
@ -72,6 +72,65 @@
|
||||
END INTERFACE
|
||||
hdferr = h5iget_type_c(obj_id, type)
|
||||
END SUBROUTINE h5iget_type_f
|
||||
!----------------------------------------------------------------------
|
||||
! Name: h5iget_name_f
|
||||
!
|
||||
! Purpose: Gets a name of an object specified by its idetifier.
|
||||
!
|
||||
! Inputs:
|
||||
! obj_id - attribute identifier
|
||||
! buf_size - size of a buffer to read name in
|
||||
! Outputs:
|
||||
! buf - buffer to read name in, name will be truncated if
|
||||
! buffer is not big enough
|
||||
! name_size - name size
|
||||
! hdferr: - error code
|
||||
! Success: 0
|
||||
! Failure: -1
|
||||
! Optional parameters:
|
||||
! NONE
|
||||
!
|
||||
! Programmer: Elena Pourmal
|
||||
! March 12, 2003
|
||||
!
|
||||
! Modifications:
|
||||
!
|
||||
!----------------------------------------------------------------------
|
||||
|
||||
|
||||
SUBROUTINE h5iget_name_f(obj_id, buf, buf_size, name_size, hdferr)
|
||||
!This definition is needed for Windows DLLs
|
||||
!DEC$if defined(BUILD_HDF5_DLL)
|
||||
!DEC$attributes dllexport :: h5iget_name_f
|
||||
!DEC$endif
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier
|
||||
INTEGER(SIZE_T), INTENT(IN) :: buf_size ! Buffer size
|
||||
CHARACTER(LEN=*), INTENT(OUT) :: buf ! Buffer to hold object name
|
||||
INTEGER(SIZE_T), INTENT(OUT) :: name_size ! Actual name size
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code:
|
||||
! 0 if successful,
|
||||
! -1 if fail
|
||||
! INTEGER, EXTERNAL :: h5iget_name_c
|
||||
! MS FORTRAN needs explicit interface for C functions called here.
|
||||
!
|
||||
INTERFACE
|
||||
INTEGER FUNCTION h5iget_name_c(obj_id, buf, buf_size, name_size)
|
||||
USE H5GLOBAL
|
||||
!DEC$ IF DEFINED(HDF5F90_WINDOWS)
|
||||
!MS$ATTRIBUTES C,reference,alias:'_H5IGET_NAME_C'::h5iget_name_c
|
||||
!DEC$ ENDIF
|
||||
!DEC$ATTRIBUTES reference :: buf
|
||||
INTEGER(HID_T), INTENT(IN) :: obj_id
|
||||
CHARACTER(LEN=*), INTENT(OUT) :: buf
|
||||
INTEGER(SIZE_T), INTENT(IN) :: buf_size
|
||||
INTEGER(SIZE_T), INTENT(OUT) :: name_size
|
||||
END FUNCTION h5iget_name_c
|
||||
END INTERFACE
|
||||
|
||||
hdferr = h5iget_name_c(obj_id, buf, buf_size, name_size)
|
||||
END SUBROUTINE h5iget_name_f
|
||||
|
||||
|
||||
END MODULE H5I
|
||||
|
||||
|
@ -2807,3 +2807,102 @@ DONE:
|
||||
if(c_name != NULL) HDfree(c_name);
|
||||
return ret_value;
|
||||
}
|
||||
/*----------------------------------------------------------------------------
|
||||
* Name: h5pset_shuffle_c
|
||||
* Purpose: Call H5Pset_shuffle
|
||||
* Inputs: prp_id - property list identifier
|
||||
* type_size - size of the datatype in bytes
|
||||
* Returns: 0 on success, -1 on failure
|
||||
* Programmer: Elena Pourmal
|
||||
* Wednesday, March 12, 2003
|
||||
* Modifications:
|
||||
*---------------------------------------------------------------------------*/
|
||||
|
||||
int_f
|
||||
nh5pset_shuffle_c ( hid_t_f *prp_id , int_f *type_size)
|
||||
{
|
||||
int ret_value = 0;
|
||||
hid_t c_prp_id;
|
||||
int c_type_size;
|
||||
herr_t status;
|
||||
|
||||
c_prp_id = (hid_t)*prp_id;
|
||||
c_type_size = (int)*type_size ;
|
||||
status = H5Pset_shuffle(c_prp_id, c_type_size);
|
||||
if ( status < 0 ) ret_value = -1;
|
||||
return ret_value;
|
||||
}
|
||||
/*----------------------------------------------------------------------------
|
||||
* Name: h5pset_fletcher32_c
|
||||
* Purpose: Call H5Pset_fletcher32 to enable EDC
|
||||
* Inputs: prp_id - dataset creation property list identifier
|
||||
* Returns: 0 on success, -1 on failure
|
||||
* Programmer: Elena Pourmal
|
||||
* Thursday, March 13, 2003
|
||||
* Modifications:
|
||||
*---------------------------------------------------------------------------*/
|
||||
|
||||
int_f
|
||||
nh5pset_fletcher32_c ( hid_t_f *prp_id )
|
||||
{
|
||||
int ret_value = 0;
|
||||
hid_t c_prp_id;
|
||||
herr_t status;
|
||||
|
||||
c_prp_id = (hid_t)*prp_id;
|
||||
status = H5Pset_fletcher32(c_prp_id);
|
||||
if ( status < 0 ) ret_value = -1;
|
||||
return ret_value;
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------------
|
||||
* Name: h5pset_edc_check_c
|
||||
* Purpose: Call H5Pset_edc_check to enable EDC
|
||||
* Inputs: prp_id - dataset transfer property list identifier
|
||||
* flag - EDC flag
|
||||
* Returns: 0 on success, -1 on failure
|
||||
* Programmer: Elena Pourmal
|
||||
* Thursday, March 13, 2003
|
||||
* Modifications:
|
||||
*---------------------------------------------------------------------------*/
|
||||
|
||||
int_f
|
||||
nh5pset_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 = (H5Z_EDC_t)*flag;
|
||||
status = H5Pset_edc_check(c_prp_id, c_flag);
|
||||
if ( status < 0 ) ret_value = -1;
|
||||
return ret_value;
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------------
|
||||
* Name: h5pget_edc_check_c
|
||||
* Purpose: Call H5Pget_edc_check to query EDC
|
||||
* Inputs: prp_id - dataset transfer property list identifier
|
||||
* Outouts: flag - EDC flag
|
||||
* Returns: 0 on success, -1 on failure
|
||||
* Programmer: Elena Pourmal
|
||||
* Thursday, March 13, 2003
|
||||
* Modifications:
|
||||
*---------------------------------------------------------------------------*/
|
||||
|
||||
int_f
|
||||
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;
|
||||
*flag = (int_f)c_flag;
|
||||
return ret_value;
|
||||
}
|
||||
|
@ -2552,11 +2552,9 @@
|
||||
! NONE
|
||||
!
|
||||
! Programmer: Elena Pourmal
|
||||
! August 12, 1999
|
||||
! February, 2003
|
||||
!
|
||||
! Modifications: Explicit Fortran interfaces were added for
|
||||
! called C functions (it is needed for Windows
|
||||
! port). March 14, 2001
|
||||
! Modifications:
|
||||
!
|
||||
! Comment:
|
||||
!----------------------------------------------------------------------
|
||||
@ -5680,4 +5678,219 @@
|
||||
hdferr = h5pinsertc_c(plist, name , name_len, size, value, value_len)
|
||||
END SUBROUTINE h5pinsert_char
|
||||
|
||||
!----------------------------------------------------------------------
|
||||
! Name: h5pset_shuffle_f
|
||||
!
|
||||
! Purpose: Sets shuffling filter
|
||||
!
|
||||
! Inputs:
|
||||
! prp_id - dataset creation property list identifier
|
||||
! type_size - size of the datatype
|
||||
! Outputs:
|
||||
! hdferr: - error code
|
||||
! Success: 0
|
||||
! Failure: -1
|
||||
! Optional parameters:
|
||||
! NONE
|
||||
!
|
||||
! Programmer: Elena Pourmal
|
||||
! March 12, 2003
|
||||
!
|
||||
! Modifications:
|
||||
!
|
||||
! Comment:
|
||||
!----------------------------------------------------------------------
|
||||
|
||||
|
||||
SUBROUTINE h5pset_shuffle_f(prp_id, type_size, hdferr)
|
||||
!
|
||||
!This definition is needed for Windows DLLs
|
||||
!DEC$if defined(BUILD_HDF5_DLL)
|
||||
!DEC$attributes dllexport :: h5pset_shuffle_f
|
||||
!DEC$endif
|
||||
!
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
|
||||
INTEGER, INTENT(IN) :: type_size ! iSize in bytes of the datatype
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
|
||||
! INTEGER, EXTERNAL :: h5pset_shuffle_c
|
||||
! MS FORTRAN needs explicit interface for C functions called here.
|
||||
!
|
||||
INTERFACE
|
||||
INTEGER FUNCTION h5pset_shuffle_c(prp_id, type_size)
|
||||
USE H5GLOBAL
|
||||
!DEC$ IF DEFINED(HDF5F90_WINDOWS)
|
||||
!MS$ATTRIBUTES C,reference,alias:'_H5PSET_SHUFFLE_C'::h5pset_shuffle_c
|
||||
!DEC$ ENDIF
|
||||
INTEGER(HID_T), INTENT(IN) :: prp_id
|
||||
INTEGER, INTENT(IN) :: type_size
|
||||
END FUNCTION h5pset_shuffle_c
|
||||
END INTERFACE
|
||||
hdferr = h5pset_shuffle_c(prp_id, type_size)
|
||||
|
||||
END SUBROUTINE h5pset_shuffle_f
|
||||
|
||||
!----------------------------------------------------------------------
|
||||
! Name: h5pset_edc_check_f
|
||||
!
|
||||
! Purpose: Enables/disables error detecting
|
||||
!
|
||||
! Inputs:
|
||||
! prp_id - dataset creation property list identifier
|
||||
! flag - EDC flag; possible values:
|
||||
! H5Z_DISABLE_EDC_F
|
||||
! H5Z_ENABLE_EDC_F
|
||||
! Outputs:
|
||||
! hdferr: - error code
|
||||
! Success: 0
|
||||
! Failure: -1
|
||||
! Optional parameters:
|
||||
! NONE
|
||||
!
|
||||
! Programmer: Elena Pourmal
|
||||
! March 13, 2003
|
||||
!
|
||||
! Modifications:
|
||||
!
|
||||
! Comment:
|
||||
!----------------------------------------------------------------------
|
||||
|
||||
|
||||
SUBROUTINE h5pset_edc_check_f(prp_id, flag, hdferr)
|
||||
!
|
||||
!This definition is needed for Windows DLLs
|
||||
!DEC$if defined(BUILD_HDF5_DLL)
|
||||
!DEC$attributes dllexport :: h5pset_edc_check_f
|
||||
!DEC$endif
|
||||
!
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
|
||||
INTEGER, INTENT(IN) :: flag ! Checksum filter flag
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
|
||||
! INTEGER, EXTERNAL :: h5pset_edc_check_c
|
||||
! MS FORTRAN needs explicit interface for C functions called here.
|
||||
!
|
||||
INTERFACE
|
||||
INTEGER FUNCTION h5pset_edc_check_c(prp_id, flag)
|
||||
USE H5GLOBAL
|
||||
!DEC$ IF DEFINED(HDF5F90_WINDOWS)
|
||||
!MS$ATTRIBUTES C,reference,alias:'_H5PSET_EDC_CHECK_C'::h5pset_edc_check_c
|
||||
!DEC$ ENDIF
|
||||
INTEGER(HID_T), INTENT(IN) :: prp_id
|
||||
INTEGER, INTENT(IN) :: flag
|
||||
END FUNCTION h5pset_edc_check_c
|
||||
END INTERFACE
|
||||
hdferr = h5pset_edc_check_c(prp_id, flag)
|
||||
|
||||
END SUBROUTINE h5pset_edc_check_f
|
||||
|
||||
!----------------------------------------------------------------------
|
||||
! Name: h5pget_edc_check_f
|
||||
!
|
||||
! Purpose: Queries error detecting
|
||||
!
|
||||
! Inputs:
|
||||
! prp_id - dataset creation property list identifier
|
||||
! Outputs:
|
||||
! hdferr: - error code
|
||||
! Success: 0
|
||||
! Failure: -1
|
||||
! Optional parameters:
|
||||
! NONE
|
||||
!
|
||||
! Programmer: Elena Pourmal
|
||||
! March 13, 2003
|
||||
!
|
||||
! Modifications:
|
||||
!
|
||||
! Comment:
|
||||
!----------------------------------------------------------------------
|
||||
|
||||
|
||||
SUBROUTINE h5pget_edc_check_f(prp_id, flag, hdferr)
|
||||
!
|
||||
!This definition is needed for Windows DLLs
|
||||
!DEC$if defined(BUILD_HDF5_DLL)
|
||||
!DEC$attributes dllexport :: h5pget_edc_check_f
|
||||
!DEC$endif
|
||||
!
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: prp_id ! Dataset transfer property list identifier
|
||||
INTEGER, INTENT(OUT) :: flag ! Checksum filter flag
|
||||
! May have one of the following values:
|
||||
! H5Z_ERROR_EDC_F
|
||||
! H5Z_DISABLE_EDC_F
|
||||
! H5Z_ENABLE_EDC_F
|
||||
! H5Z_NO_EDC_F
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
|
||||
! INTEGER, EXTERNAL :: h5pget_edc_check_c
|
||||
! MS FORTRAN needs explicit interface for C functions called here.
|
||||
!
|
||||
INTERFACE
|
||||
INTEGER FUNCTION h5pget_edc_check_c(prp_id, flag)
|
||||
USE H5GLOBAL
|
||||
!DEC$ IF DEFINED(HDF5F90_WINDOWS)
|
||||
!MS$ATTRIBUTES C,reference,alias:'_H5PGET_EDC_CHECK_C'::h5pget_edc_check_c
|
||||
!DEC$ ENDIF
|
||||
INTEGER(HID_T), INTENT(IN) :: prp_id
|
||||
INTEGER, INTENT(OUT) :: flag
|
||||
END FUNCTION h5pget_edc_check_c
|
||||
END INTERFACE
|
||||
hdferr = h5pget_edc_check_c(prp_id, flag)
|
||||
|
||||
END SUBROUTINE h5pget_edc_check_f
|
||||
!----------------------------------------------------------------------
|
||||
! Name: h5pset_fletcher32_f
|
||||
!
|
||||
! Purpose: Sets Fletcher32 checksum of EDC for a dataset creation
|
||||
! property list.
|
||||
!
|
||||
! Inputs:
|
||||
! prp_id - dataset creation property list identifier
|
||||
! Outputs:
|
||||
! hdferr: - error code
|
||||
! Success: 0
|
||||
! Failure: -1
|
||||
! Optional parameters:
|
||||
! NONE
|
||||
!
|
||||
! Programmer: Elena Pourmal
|
||||
! March 13, 2003
|
||||
!
|
||||
! Modifications:
|
||||
!
|
||||
! Comment:
|
||||
!----------------------------------------------------------------------
|
||||
|
||||
|
||||
SUBROUTINE h5pset_fletcher32_f(prp_id, hdferr)
|
||||
!
|
||||
!This definition is needed for Windows DLLs
|
||||
!DEC$if defined(BUILD_HDF5_DLL)
|
||||
!DEC$attributes dllexport :: h5pset_fletcher32_f
|
||||
!DEC$endif
|
||||
!
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
|
||||
! INTEGER, EXTERNAL :: h5pset_fletcher32_c
|
||||
! MS FORTRAN needs explicit interface for C functions called here.
|
||||
!
|
||||
INTERFACE
|
||||
INTEGER FUNCTION h5pset_fletcher32_c(prp_id)
|
||||
USE H5GLOBAL
|
||||
!DEC$ IF DEFINED(HDF5F90_WINDOWS)
|
||||
!MS$ATTRIBUTES C,reference,alias:'_H5PSET_FLETCHER32_C'::h5pset_fletcher32_c
|
||||
!DEC$ ENDIF
|
||||
INTEGER(HID_T), INTENT(IN) :: prp_id
|
||||
END FUNCTION h5pset_fletcher32_c
|
||||
END INTERFACE
|
||||
hdferr = h5pset_fletcher32_c(prp_id)
|
||||
|
||||
END SUBROUTINE h5pset_fletcher32_f
|
||||
|
||||
END MODULE H5P
|
||||
|
@ -1596,3 +1596,29 @@ nh5tvlen_create_c(hid_t_f* type_id, hid_t_f *vltype_id)
|
||||
ret_value = 0;
|
||||
return ret_value;
|
||||
}
|
||||
/*----------------------------------------------------------------------------
|
||||
* Name: h5tis_variable_str_c
|
||||
* Purpose: Call H5Tis_variable_str to detrmine if the datatype
|
||||
* is a variable string.
|
||||
* Inputs: type_id - identifier of the dataspace
|
||||
* Outputs: flag - 0 if not VL str, 1 if is not
|
||||
* and negative on failure.
|
||||
* Returns: 0 on success, -1 on failure
|
||||
* Programmer: Elena Pourmal
|
||||
* Wednesday, March 12 , 2003
|
||||
* Modifications:
|
||||
*---------------------------------------------------------------------------*/
|
||||
|
||||
int_f
|
||||
nh5tis_variable_str_c ( hid_t_f *type_id , int_f *flag )
|
||||
{
|
||||
int ret_value = 0;
|
||||
hid_t c_type_id;
|
||||
htri_t status;
|
||||
|
||||
c_type_id = (hid_t)*type_id;
|
||||
status = H5Tis_variable_str(c_type_id);
|
||||
*flag = (int_f)status;
|
||||
if ( status < 0 ) ret_value = -1;
|
||||
return ret_value;
|
||||
}
|
||||
|
@ -3104,4 +3104,65 @@
|
||||
hdferr = h5tvlen_create_c(type_id, vltype_id)
|
||||
END SUBROUTINE h5tvlen_create_f
|
||||
|
||||
!----------------------------------------------------------------------
|
||||
! Name: h5tis_variable_str_f
|
||||
!
|
||||
! Purpose: Determines whether a dattype is a variable string.
|
||||
!
|
||||
! Inputs:
|
||||
! type_id - - datartpe identifier
|
||||
! Outputs:
|
||||
! status - flag to indicate if datatype
|
||||
! is a variable string
|
||||
! hdferr: - error code
|
||||
! Success: 0
|
||||
! Failure: -1
|
||||
! Optional parameters:
|
||||
! NONE
|
||||
!
|
||||
! Programmer: Elena Pourmal
|
||||
! March 12, 2003
|
||||
!
|
||||
! Modifications:
|
||||
!
|
||||
! Comment:
|
||||
!----------------------------------------------------------------------
|
||||
|
||||
SUBROUTINE h5tis_variable_str_f(type_id, status, hdferr)
|
||||
!
|
||||
!This definition is needed for Windows DLLs
|
||||
!DEC$if defined(BUILD_HDF5_DLL)
|
||||
!DEC$attributes dllexport :: h5tis_variable_str_f
|
||||
!DEC$endif
|
||||
!
|
||||
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
|
||||
LOGICAL, INTENT(OUT) :: status ! Flag, idicates if datatype
|
||||
! is a variable string or not ( TRUE or
|
||||
! FALSE)
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
INTEGER :: flag ! "TRUE/FALSE/ERROR from C"
|
||||
|
||||
! INTEGER, EXTERNAL :: h5tis_variable_str_c
|
||||
! MS FORTRAN needs explicit interface for C functions called here.
|
||||
!
|
||||
INTERFACE
|
||||
INTEGER FUNCTION h5tis_variable_str_c(type_id, flag)
|
||||
USE H5GLOBAL
|
||||
!DEC$ IF DEFINED(HDF5F90_WINDOWS)
|
||||
!MS$ATTRIBUTES C,reference,alias:'_H5TIS_VARIABLE_STR_C'::h5tis_variable_str_c
|
||||
!DEC$ ENDIF
|
||||
INTEGER(HID_T), INTENT(IN) :: type_id
|
||||
INTEGER :: flag
|
||||
END FUNCTION h5tis_variable_str_c
|
||||
END INTERFACE
|
||||
|
||||
hdferr = h5tis_variable_str_c(type_id, flag)
|
||||
status = .TRUE.
|
||||
if (flag .EQ. 0) status = .FALSE.
|
||||
|
||||
END SUBROUTINE h5tis_variable_str_f
|
||||
|
||||
!----------------------------------------------------------------------
|
||||
END MODULE H5T
|
||||
|
53
fortran/src/H5Zf.c
Normal file
53
fortran/src/H5Zf.c
Normal file
@ -0,0 +1,53 @@
|
||||
#include "H5f90.h"
|
||||
|
||||
/*----------------------------------------------------------------------------
|
||||
* Name: h5zunregister_c
|
||||
* Purpose: Call H5Zunregister to unregister filter
|
||||
* Inputs: filter identifier
|
||||
* Returns: 0 on success, -1 on failure
|
||||
* Programmer: Elena Pourmal
|
||||
* Wednesday, March 12, 2003
|
||||
* Modifications:
|
||||
*---------------------------------------------------------------------------*/
|
||||
int_f
|
||||
nh5zunregister_c (int_f *filter)
|
||||
{
|
||||
int ret_value = -1;
|
||||
herr_t status;
|
||||
H5Z_filter_t c_filter;
|
||||
|
||||
/*
|
||||
* Call H5Zunregister function.
|
||||
*/
|
||||
c_filter = (H5Z_filter_t)*filter;
|
||||
printf(" filter # %d \n", (int)c_filter);
|
||||
status = H5Zunregister(c_filter);
|
||||
printf("From C zunregister %d \n", status);
|
||||
if (status < 0) return ret_value;
|
||||
ret_value = 0;
|
||||
return ret_value;
|
||||
}
|
||||
/*----------------------------------------------------------------------------
|
||||
* Name: h5zfiletr_avail_c
|
||||
* Purpose: Call H5Zfilter_avail to find if filter is available
|
||||
* Inputs: filter - filter identifier
|
||||
* Outputs: flag - status flag
|
||||
* Returns: 0 on success, -1 on failure
|
||||
* Programmer: Elena Pourmal
|
||||
* Wednesday, March 12, 2003
|
||||
* Modifications:
|
||||
*---------------------------------------------------------------------------*/
|
||||
|
||||
int_f
|
||||
nh5zfilter_avail_c ( int_f *filter , int_f *flag )
|
||||
{
|
||||
int ret_value = 0;
|
||||
H5Z_filter_t c_filter;
|
||||
htri_t status;
|
||||
|
||||
c_filter = (H5Z_filter_t)*filter;
|
||||
status = H5Zfilter_avail(c_filter);
|
||||
*flag = (int_f)status;
|
||||
if ( status < 0 ) ret_value = -1;
|
||||
return ret_value;
|
||||
}
|
124
fortran/src/H5Zff.f90
Normal file
124
fortran/src/H5Zff.f90
Normal file
@ -0,0 +1,124 @@
|
||||
!
|
||||
! This file contains FORTRAN90 interfaces for H5I functions
|
||||
!
|
||||
MODULE H5Z
|
||||
|
||||
USE H5GLOBAL
|
||||
|
||||
CONTAINS
|
||||
|
||||
!----------------------------------------------------------------------
|
||||
! Name: h5zunregister_f
|
||||
!
|
||||
! Purpose: Unregisters specified filetr
|
||||
!
|
||||
! Inputs: filter - filter; may have one of the following values:
|
||||
! H5Z_FILTER_DEFLATE_F
|
||||
! H5Z_FILTER_SHUFFLE_F
|
||||
! H5Z_FILTER_FLETCHER32_F
|
||||
! Outputs:
|
||||
! hdferr: - error code
|
||||
! Success: 0
|
||||
! Failure: -1
|
||||
! Optional parameters:
|
||||
! NONE
|
||||
!
|
||||
! Programmer: Elena Pourmal
|
||||
! March 12, 2003
|
||||
!
|
||||
! Modifications:
|
||||
!
|
||||
! Comment:
|
||||
!----------------------------------------------------------------------
|
||||
SUBROUTINE h5zunregister_f(filter, hdferr)
|
||||
!
|
||||
!This definition is needed for Windows DLLs
|
||||
!DEC$if defined(BUILD_HDF5_DLL)
|
||||
!DEC$attributes dllexport :: h5zunregister_f
|
||||
!DEC$endif
|
||||
!
|
||||
IMPLICIT NONE
|
||||
INTEGER, INTENT(IN) :: filter
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
|
||||
! INTEGER, EXTERNAL :: h5zunregister_c
|
||||
! Interface is needed for MS FORTRAN
|
||||
!
|
||||
INTERFACE
|
||||
INTEGER FUNCTION h5zunregister_c (filter)
|
||||
USE H5GLOBAL
|
||||
!DEC$ IF DEFINED(HDF5F90_WINDOWS)
|
||||
!MS$ATTRIBUTES C,reference,alias:'_H5ZUNREGISTER_C':: h5zunregister_c
|
||||
!DEC$ ENDIF
|
||||
INTEGER, INTENT(IN) :: filter
|
||||
END FUNCTION h5zunregister_c
|
||||
END INTERFACE
|
||||
hdferr = h5zunregister_c (filter)
|
||||
END SUBROUTINE h5zunregister_f
|
||||
!----------------------------------------------------------------------
|
||||
! Name: h5zfilter_avail_f
|
||||
!
|
||||
! Purpose: Queries if filter is available
|
||||
!
|
||||
! Inputs:
|
||||
! filter - filter
|
||||
! Outputs:
|
||||
! status - status; .TRUE. if filter is available,
|
||||
! .FALSE. otherwise
|
||||
! hdferr: - error code
|
||||
! Success: 0
|
||||
! Failure: -1
|
||||
! Optional parameters:
|
||||
! NONE
|
||||
!
|
||||
! Programmer: Elena Pourmal
|
||||
! March 12, 2003
|
||||
!
|
||||
! Modifications:
|
||||
!
|
||||
!----------------------------------------------------------------------
|
||||
SUBROUTINE h5zfilter_avail_f(filter, status, hdferr)
|
||||
!
|
||||
!This definition is needed for Windows DLLs
|
||||
!DEC$if defined(BUILD_HDF5_DLL)
|
||||
!DEC$attributes dllexport :: h5zfilter_avail_f
|
||||
!DEC$endif
|
||||
!
|
||||
|
||||
IMPLICIT NONE
|
||||
INTEGER, INTENT(IN) :: filter ! Filter; may be one of the following:
|
||||
! H5Z_FILTER_DEFLATE_F
|
||||
! H5Z_FILTER_SHUFFLE_F
|
||||
! H5Z_FILTER_FLETCHER32_F
|
||||
LOGICAL, INTENT(OUT) :: status ! Flag, idicates if filter
|
||||
! is availble not ( TRUE or
|
||||
! FALSE)
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
INTEGER :: flag ! "TRUE/FALSE/ERROR from C"
|
||||
|
||||
! INTEGER, EXTERNAL :: h5zfilter_avail_c
|
||||
! MS FORTRAN needs explicit interface for C functions called here.
|
||||
!
|
||||
INTERFACE
|
||||
INTEGER FUNCTION h5zfilter_avail_c(filter, flag)
|
||||
USE H5GLOBAL
|
||||
!DEC$ IF DEFINED(HDF5F90_WINDOWS)
|
||||
!MS$ATTRIBUTES C,reference,alias:'_H5ZFILTER_AVAIL_C'::h5zfilter_avail_c
|
||||
!DEC$ ENDIF
|
||||
INTEGER, INTENT(IN) :: filter
|
||||
INTEGER :: flag
|
||||
END FUNCTION h5zfilter_avail_c
|
||||
END INTERFACE
|
||||
|
||||
hdferr = h5zfilter_avail_c(filter, flag)
|
||||
status = .TRUE.
|
||||
if (flag .EQ. 0) status = .FALSE.
|
||||
|
||||
END SUBROUTINE h5zfilter_avail_f
|
||||
|
||||
END MODULE H5Z
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -156,17 +156,18 @@ nh5close_types_c( hid_t_f * types, int_f *lentypes,
|
||||
* h5r_flags - H5R interface flags
|
||||
* h5s_flags - H5S interface flags
|
||||
* h5t_flags - H5T interface flags
|
||||
* h5z_flags - H5Z interface flags
|
||||
* Outputs: None
|
||||
* Returns: 0 on success, -1 on failure
|
||||
* Programmer: Elena Pourmal
|
||||
* Tuesday, August 3, 1999
|
||||
* Modifications:
|
||||
* Modifications: Added Z flags. EIP, March 12, 2003
|
||||
*---------------------------------------------------------------------------*/
|
||||
int_f
|
||||
nh5init_flags_c( int_f *h5d_flags, int_f *h5e_flags, int_f *h5f_flags,
|
||||
int_f *h5fd_flags, int_f *h5g_flags, int_f *h5i_flags,
|
||||
int_f *h5p_flags, int_f *h5r_flags, int_f *h5s_flags,
|
||||
int_f *h5t_flags)
|
||||
int_f *h5t_flags, int_f *h5z_flags)
|
||||
{
|
||||
int ret_value = -1;
|
||||
/*
|
||||
@ -354,6 +355,20 @@ nh5init_flags_c( int_f *h5d_flags, int_f *h5e_flags, int_f *h5f_flags,
|
||||
h5t_flags[27] = H5T_STR_ERROR;
|
||||
h5t_flags[28] = H5T_VLEN;
|
||||
h5t_flags[29] = H5T_ARRAY;
|
||||
/*
|
||||
* H5Z flags
|
||||
*/
|
||||
|
||||
h5z_flags[0] = H5Z_FILTER_ERROR;
|
||||
h5z_flags[1] = H5Z_FILTER_NONE;
|
||||
h5z_flags[2] = H5Z_FILTER_DEFLATE;
|
||||
h5z_flags[3] = H5Z_FILTER_SHUFFLE;
|
||||
h5z_flags[4] = H5Z_FILTER_FLETCHER32;
|
||||
h5z_flags[5] = H5Z_ERROR_EDC;
|
||||
h5z_flags[6] = H5Z_DISABLE_EDC;
|
||||
h5z_flags[7] = H5Z_ENABLE_EDC;
|
||||
h5z_flags[8] = H5Z_NO_EDC;
|
||||
|
||||
|
||||
ret_value = 0;
|
||||
return ret_value;
|
||||
|
@ -70,7 +70,8 @@
|
||||
i_H5P_flags, &
|
||||
i_H5R_flags, &
|
||||
i_H5S_flags, &
|
||||
i_H5T_flags )
|
||||
i_H5T_flags, &
|
||||
i_H5Z_flags )
|
||||
USE H5GLOBAL
|
||||
INTEGER i_H5F_flags(H5F_FLAGS_LEN)
|
||||
INTEGER i_H5G_flags(H5G_FLAGS_LEN)
|
||||
@ -82,6 +83,7 @@
|
||||
INTEGER i_H5R_flags(H5R_FLAGS_LEN)
|
||||
INTEGER i_H5S_flags(H5S_FLAGS_LEN)
|
||||
INTEGER i_H5T_flags(H5T_FLAGS_LEN)
|
||||
INTEGER i_H5Z_flags(H5Z_FLAGS_LEN)
|
||||
|
||||
!DEC$ IF DEFINED(HDF5F90_WINDOWS)
|
||||
!MS$ATTRIBUTES C,reference,alias:'_H5INIT_FLAGS_C'::h5init_flags_c
|
||||
@ -99,7 +101,8 @@
|
||||
H5P_flags, &
|
||||
H5R_flags, &
|
||||
H5S_flags, &
|
||||
H5T_flags )
|
||||
H5T_flags, &
|
||||
H5Z_flags )
|
||||
error = error_0 + error_1 + error_2
|
||||
|
||||
END SUBROUTINE h5open_f
|
||||
|
@ -3,6 +3,15 @@
|
||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
#undef HAVE_DLFCN_H
|
||||
|
||||
/* Define if support for deflate filter is enabled */
|
||||
#undef HAVE_FILTER_DEFLATE
|
||||
|
||||
/* Define if support for Fletcher32 checksum is enabled */
|
||||
#undef HAVE_FILTER_FLETCHER32
|
||||
|
||||
/* Define if support for shuffle filter is enabled */
|
||||
#undef HAVE_FILTER_SHUFFLE
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#undef HAVE_INTTYPES_H
|
||||
|
||||
|
@ -534,5 +534,35 @@
|
||||
EQUIVALENCE(H5T_flags(29), H5T_VLEN_F)
|
||||
EQUIVALENCE(H5T_flags(30), H5T_ARRAY_F)
|
||||
|
||||
!
|
||||
! H5Z flags declaration
|
||||
!
|
||||
INTEGER, PARAMETER :: H5Z_FLAGS_LEN = 9
|
||||
INTEGER H5Z_flags(H5Z_FLAGS_LEN)
|
||||
!DEC$if defined(BUILD_HDF5_DLL)
|
||||
!DEC$ ATTRIBUTES DLLEXPORT :: /H5Z_FLAGS/
|
||||
!DEC$endif
|
||||
COMMON /H5Z_FLAGS/ H5Z_flags
|
||||
|
||||
INTEGER :: H5Z_FILTER_ERROR_F
|
||||
INTEGER :: H5Z_FILTER_NONE_F
|
||||
INTEGER :: H5Z_FILTER_DEFLATE_F
|
||||
INTEGER :: H5Z_FILTER_SHUFFLE_F
|
||||
INTEGER :: H5Z_FILTER_FLETCHER32_F
|
||||
INTEGER :: H5Z_ERROR_EDC_F
|
||||
INTEGER :: H5Z_DISABLE_EDC_F
|
||||
INTEGER :: H5Z_ENABLE_EDC_F
|
||||
INTEGER :: H5Z_NO_EDC_F
|
||||
|
||||
EQUIVALENCE(H5Z_flags(1), H5Z_FILTER_ERROR_F)
|
||||
EQUIVALENCE(H5Z_flags(2), H5Z_FILTER_NONE_F)
|
||||
EQUIVALENCE(H5Z_flags(3), H5Z_FILTER_DEFLATE_F)
|
||||
EQUIVALENCE(H5Z_flags(4), H5Z_FILTER_SHUFFLE_F)
|
||||
EQUIVALENCE(H5Z_flags(5), H5Z_FILTER_FLETCHER32_F)
|
||||
EQUIVALENCE(H5Z_flags(6), H5Z_ERROR_EDC_F)
|
||||
EQUIVALENCE(H5Z_flags(7), H5Z_DISABLE_EDC_F)
|
||||
EQUIVALENCE(H5Z_flags(8), H5Z_ENABLE_EDC_F)
|
||||
EQUIVALENCE(H5Z_flags(9), H5Z_NO_EDC_F)
|
||||
|
||||
END MODULE H5GLOBAL
|
||||
|
||||
|
@ -196,53 +196,59 @@ H5_DLL int_f nh5sselect_elements_c ( hid_t_f *space_id , int_f *op, size_t_f *ne
|
||||
#ifndef H5Df90_FNAMES
|
||||
# define H5Df90_FNAMES
|
||||
#ifdef DF_CAPFNAMES
|
||||
# define nh5dcreate_c FNAME(H5DCREATE_C)
|
||||
# define nh5dclose_c FNAME(H5DCLOSE_C)
|
||||
# define nh5dopen_c FNAME(H5DOPEN_C)
|
||||
# define nh5dwrite_c FNAME(H5DWRITE_C)
|
||||
# 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 nh5dread_c FNAME(H5DREAD_C)
|
||||
# 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 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)
|
||||
# define nh5dextend_c FNAME(H5DEXTEND_C)
|
||||
# define nh5dget_storage_size_c FNAME(H5DGET_STORAGE_SIZE_C)
|
||||
# define nh5dvlen_get_max_len_c FNAME(H5DVLEN_GET_MAX_LEN_C)
|
||||
# define nh5dwrite_vl_integer_c FNAME(H5DWRITE_VL_INTEGER_C)
|
||||
# define nh5dread_vl_integer_c FNAME(H5DREAD_VL_INTEGER_C)
|
||||
# define nh5dwrite_vl_real_c FNAME(H5DWRITE_VL_REAL_C)
|
||||
# define nh5dread_vl_real_c FNAME(H5DREAD_VL_REAL_C)
|
||||
# define nh5dwrite_vl_string_c FNAME(H5DWRITE_VL_STRING_C)
|
||||
# define nh5dread_vl_string_c FNAME(H5DREAD_VL_STRING_C)
|
||||
# define nh5dcreate_c FNAME(H5DCREATE_C)
|
||||
# define nh5dclose_c FNAME(H5DCLOSE_C)
|
||||
# define nh5dopen_c FNAME(H5DOPEN_C)
|
||||
# define nh5dwrite_c FNAME(H5DWRITE_C)
|
||||
# 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 nh5dread_c FNAME(H5DREAD_C)
|
||||
# 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 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)
|
||||
# define nh5dextend_c FNAME(H5DEXTEND_C)
|
||||
# define nh5dget_storage_size_c FNAME(H5DGET_STORAGE_SIZE_C)
|
||||
# define nh5dvlen_get_max_len_c FNAME(H5DVLEN_GET_MAX_LEN_C)
|
||||
# define nh5dwrite_vl_integer_c FNAME(H5DWRITE_VL_INTEGER_C)
|
||||
# define nh5dread_vl_integer_c FNAME(H5DREAD_VL_INTEGER_C)
|
||||
# define nh5dwrite_vl_real_c FNAME(H5DWRITE_VL_REAL_C)
|
||||
# define nh5dread_vl_real_c FNAME(H5DREAD_VL_REAL_C)
|
||||
# define nh5dwrite_vl_string_c FNAME(H5DWRITE_VL_STRING_C)
|
||||
# define nh5dread_vl_string_c FNAME(H5DREAD_VL_STRING_C)
|
||||
# define nh5dfillc_c FNAME(H5DFILLC_C)
|
||||
# define nh5dfill_c FNAME(H5DFILL_C)
|
||||
# define nh5dget_space_status_c FNAME(H5DGET_SPACE_STATUS_C)
|
||||
#else /* !DF_CAPFNAMES */
|
||||
# define nh5dcreate_c FNAME(h5dcreate_c)
|
||||
# define nh5dclose_c FNAME(h5dclose_c)
|
||||
# define nh5dopen_c FNAME(h5dopen_c)
|
||||
# define nh5dwrite_c FNAME(h5dwrite_c)
|
||||
# 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_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 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)
|
||||
# define nh5dextend_c FNAME(h5dextend_c)
|
||||
# define nh5dget_storage_size_c FNAME(h5dget_storage_size_c)
|
||||
# define nh5dvlen_get_max_len_c FNAME(h5dvlen_get_max_len_c)
|
||||
# define nh5dwrite_vl_integer_c FNAME(h5dwrite_vl_integer_c)
|
||||
# define nh5dcreate_c FNAME(h5dcreate_c)
|
||||
# define nh5dclose_c FNAME(h5dclose_c)
|
||||
# define nh5dopen_c FNAME(h5dopen_c)
|
||||
# define nh5dwrite_c FNAME(h5dwrite_c)
|
||||
# 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_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 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)
|
||||
# define nh5dextend_c FNAME(h5dextend_c)
|
||||
# define nh5dget_storage_size_c FNAME(h5dget_storage_size_c)
|
||||
# define nh5dvlen_get_max_len_c FNAME(h5dvlen_get_max_len_c)
|
||||
# define nh5dwrite_vl_integer_c FNAME(h5dwrite_vl_integer_c)
|
||||
# define nh5dread_vl_integer_c FNAME(h5dread_vl_integer_c)
|
||||
# define nh5dwrite_vl_real_c FNAME(h5dwrite_vl_real_c)
|
||||
# define nh5dread_vl_real_c FNAME(h5dread_vl_real_c)
|
||||
# define nh5dwrite_vl_real_c FNAME(h5dwrite_vl_real_c)
|
||||
# define nh5dread_vl_real_c FNAME(h5dread_vl_real_c)
|
||||
# define nh5dwrite_vl_string_c FNAME(h5dwrite_vl_string_c)
|
||||
# define nh5dread_vl_string_c FNAME(h5dread_vl_string_c)
|
||||
# define nh5dread_vl_string_c FNAME(h5dread_vl_string_c)
|
||||
# define nh5dfillc_c FNAME(h5dfillc_c)
|
||||
# define nh5dfill_c FNAME(h5dfill_c)
|
||||
# define nh5dget_space_status_c FNAME(h5dget_space_status_c)
|
||||
#endif /* DF_CAPFNAMES */
|
||||
#endif
|
||||
|
||||
@ -307,6 +313,11 @@ H5_DLL int_f nh5dextend_c ( hid_t_f *dset_id , hsize_t_f *dims);
|
||||
H5_DLL int_f nh5dvlen_get_max_len_c(hid_t_f *dataset_id, hid_t_f *type_id, hid_t_f *space_id, size_t_f *len);
|
||||
|
||||
H5_DLL int_f nh5dget_storage_size_c(hid_t_f *dataset_id, hsize_t_f *size);
|
||||
H5_DLL int_f nh5dfillc_c(_fcd fill_value, hid_t_f *fill_type_id, hid_t_f *space_id, _fcd buf, hid_t_f *mem_type_id);
|
||||
H5_DLL int_f nh5dfill_c(void * fill_value, hid_t_f *fill_type_id, hid_t_f *space_id, void * buf, hid_t_f *mem_type_id);
|
||||
|
||||
H5_DLL int_f nh5dget_space_status_c ( hid_t_f *dset_id, int_f *flag);
|
||||
|
||||
/*
|
||||
* Functions from H5Gf.c
|
||||
*/
|
||||
@ -507,6 +518,7 @@ H5_DLL int_f nh5aget_name_c(hid_t_f *attr_id, size_t_f *size, _fcd buf);
|
||||
# define nh5tget_array_dims_c FNAME(H5TGET_ARRAY_DIMS_C)
|
||||
# define nh5tget_super_c FNAME(H5TGET_SUPER_C)
|
||||
# define nh5tvlen_create_c FNAME(H5TVLEN_CREATE_C)
|
||||
# define nh5tis_variable_str_c FNAME(H5TIS_VARIABLE_STR_C)
|
||||
|
||||
#else
|
||||
# define nh5topen_c FNAME(h5topen_c)
|
||||
@ -563,6 +575,7 @@ H5_DLL int_f nh5aget_name_c(hid_t_f *attr_id, size_t_f *size, _fcd buf);
|
||||
# define nh5tget_array_dims_c FNAME(h5tget_array_dims_c)
|
||||
# define nh5tget_super_c FNAME(h5tget_super_c)
|
||||
# define nh5tvlen_create_c FNAME(h5tvlen_create_c)
|
||||
# define nh5tis_variable_str_c FNAME(h5tis_variable_str_c)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -648,7 +661,7 @@ H5_DLL int_f
|
||||
nh5tget_super_c ( hid_t_f *type_id , hid_t_f *base_type_id);
|
||||
H5_DLL int_f
|
||||
nh5tvlen_create_c ( hid_t_f *type_id , hid_t_f *vltype_id);
|
||||
|
||||
H5_DLL int_f nh5tis_variable_str_c ( hid_t_f *type_id , int_f *flag );
|
||||
|
||||
/*
|
||||
* Functions from H5Pf.c
|
||||
@ -750,6 +763,10 @@ nh5tvlen_create_c ( hid_t_f *type_id , hid_t_f *vltype_id);
|
||||
# define nh5punregister_c FNAME(H5PUNREGISTER_C)
|
||||
# define nh5pclose_class_c FNAME(H5PCLOSE_CLASS_C)
|
||||
# define nh5pget_class_name_c FNAME(H5PGET_CLASS_NAME_C)
|
||||
# define nh5pset_shuffle_c FNAME(H5PSET_SHUFFLE_C)
|
||||
# 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)
|
||||
|
||||
#else
|
||||
# define nh5pcreate_c FNAME(h5pcreate_c)
|
||||
@ -845,6 +862,10 @@ nh5tvlen_create_c ( hid_t_f *type_id , hid_t_f *vltype_id);
|
||||
# define nh5punregister_c FNAME(h5punregister_c)
|
||||
# define nh5pclose_class_c FNAME(h5pclose_class_c)
|
||||
# define nh5pget_class_name_c FNAME(h5pget_class_name_c)
|
||||
# define nh5pset_shuffle_c FNAME(h5pset_shuffle_c)
|
||||
# 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)
|
||||
|
||||
|
||||
#endif
|
||||
@ -1025,7 +1046,10 @@ H5_DLL int_f nh5premove_c(hid_t_f *plid, _fcd name, int_f *name_len);
|
||||
H5_DLL int_f nh5punregister_c(hid_t_f *class, _fcd name, int_f *name_len);
|
||||
H5_DLL int_f nh5pclose_class_c(hid_t_f * class);
|
||||
H5_DLL int_f nh5pget_class_name_c(hid_t_f *prp_id, _fcd name, int_f *name_len);
|
||||
|
||||
H5_DLL int_f nh5pset_shuffle_c ( hid_t_f *prp_id , int_f *type_size);
|
||||
H5_DLL int_f nh5pset_fletcher32_c ( hid_t_f *prp_id );
|
||||
H5_DLL int_f nh5pset_edc_check_c ( hid_t_f *prp_id, int_f *flag );
|
||||
H5_DLL int_f nh5pget_edc_check_c ( hid_t_f *prp_id, int_f *flag );
|
||||
|
||||
/*
|
||||
* Functions frome H5Rf.c
|
||||
@ -1075,12 +1099,15 @@ nh5rget_object_type_obj_c (hid_t_f *dset_id, int_f *ref, int_f *obj_type);
|
||||
# define H5If90_FNAMES
|
||||
#ifdef DF_CAPFNAMES
|
||||
# define nh5iget_type_c FNAME(H5IGET_TYPE_C)
|
||||
# define nh5iget_name_c FNAME(H5IGET_NAME_C)
|
||||
#else
|
||||
# define nh5iget_type_c FNAME(h5iget_type_c)
|
||||
# define nh5iget_name_c FNAME(h5iget_name_c)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
H5_DLL int_f nh5iget_type_c(hid_t_f *obj_id, int_f *type);
|
||||
H5_DLL int_f nh5iget_name_c(hid_t_f *obj_id, _fcd buf, size_t_f *buf_size, size_t_f *name_size);
|
||||
|
||||
|
||||
#ifndef H5Ef90_FNAMES
|
||||
@ -1144,7 +1171,7 @@ H5_DLL int_f nh5close_types_c(hid_t_f *types, int_f *lentypes, hid_t_f * floatin
|
||||
H5_DLL int_f nh5init_flags_c( int_f *h5d_flags, int_f *h5e_flags, int_f *h5f_flags,
|
||||
int_f *h5fd_flags, int_f *h5g_flags, int_f *h5i_flags,
|
||||
int_f *h5p_flags, int_f *h5r_flags, int_f *h5s_flags,
|
||||
int_f *h5t_flags);
|
||||
int_f *h5t_flags, int_f *h5z_flags);
|
||||
H5_DLL int_f nh5get_libversion_c(int_f *majnum, int_f *minnum, int_f *relnum);
|
||||
|
||||
H5_DLL int_f nh5check_version_c(int_f *majnum, int_f *minnum, int_f *relnum);
|
||||
@ -1153,4 +1180,22 @@ H5_DLL int_f nh5garbage_collect_c(void);
|
||||
|
||||
H5_DLL int_f nh5dont_atexit_c(void);
|
||||
|
||||
/*
|
||||
* Functions from H5Zf.c
|
||||
*/
|
||||
#ifndef H5Zf90_FNAMES
|
||||
# define H5Zf90_FNAMES
|
||||
#ifdef DF_CAPFNAMES
|
||||
# define nh5zunregister_c FNAME(H5ZUNREGISTER_C)
|
||||
# define nh5zfilter_avail_c FNAME(H5ZFILTER_AVAIL_C)
|
||||
#else
|
||||
# define nh5zunregister_c FNAME(h5zunregister_c)
|
||||
# define nh5zfilter_avail_c FNAME(h5zfilter_avail_c)
|
||||
#endif
|
||||
#endif
|
||||
H5_DLL int_f nh5zunregister_c (int_f *filter);
|
||||
H5_DLL int_f nh5zfilter_avail_c ( int_f *filter , int_f *flag );
|
||||
|
||||
|
||||
|
||||
#endif /* _H5f90proto_H */
|
||||
|
@ -11,5 +11,6 @@
|
||||
USE H5T
|
||||
USE H5P
|
||||
USE H5R
|
||||
USE H5Z
|
||||
USE H5LIB
|
||||
END MODULE HDF5
|
||||
|
@ -12,5 +12,6 @@
|
||||
USE H5P
|
||||
USE H5FDMPIO
|
||||
USE H5R
|
||||
USE H5Z
|
||||
USE H5LIB
|
||||
END MODULE HDF5
|
||||
|
@ -31,12 +31,12 @@ FPAR_MOD=${ADD_PARALLEL_FILES:yes=HDF5mpio.f90}
|
||||
|
||||
CPARALLEL=${ADD_PARALLEL_FILES:yes=H5FDmpiof.c}
|
||||
CLIB_SRC=H5f90kit.c H5_f.c H5Git.c H5Rf.c H5Ff.c H5Sf.c H5Df.c H5Gf.c \
|
||||
H5Af.c H5Tf.c H5Pf.c H5If.c H5Ef.c ${CPARALLEL:no=}
|
||||
H5Af.c H5Tf.c H5Pf.c H5If.c H5Ef.c H5Zf.c ${CPARALLEL:no=}
|
||||
|
||||
FPARALLEL=${ADD_PARALLEL_FILES:yes=H5FDmpioff.f90}
|
||||
FLIB_SRC=H5fortran_types.f90 H5fortran_flags.f90 H5f90global.f90 H5_ff.f90 \
|
||||
H5Rff.f90 H5Fff.f90 H5Sff.f90 H5Dff.f90 H5Gff.f90 H5Aff.f90 H5Tff.f90 \
|
||||
H5Pff.f90 H5Iff.f90 H5Eff.f90 ${FPARALLEL:no=} ${FPAR_MOD:no=HDF5.f90}
|
||||
H5Pff.f90 H5Iff.f90 H5Eff.f90 H5Zff.f90 ${FPARALLEL:no=} ${FPAR_MOD:no=HDF5.f90}
|
||||
|
||||
LIB_SRC=$(CLIB_SRC) $(FLIB_SRC)
|
||||
LIB_OBJ=$(CLIB_SRC:.c=.lo) $(FLIB_SRC:.f90=.lo)
|
||||
@ -58,6 +58,7 @@ H5Pff.lo: $(srcdir)/H5Pff.f90 H5f90global.lo
|
||||
H5Rff.lo: $(srcdir)/H5Rff.f90 H5f90global.lo
|
||||
H5Sff.lo: $(srcdir)/H5Sff.f90 H5f90global.lo
|
||||
H5Tff.lo: $(srcdir)/H5Tff.f90 H5f90global.lo
|
||||
H5Zff.lo: $(srcdir)/H5Zff.f90 H5f90global.lo
|
||||
H5_ff.lo: $(srcdir)/H5_ff.f90 H5f90global.lo
|
||||
HDF5.lo: $(srcdir)/HDF5.f90 H5f90global.lo H5Aff.lo \
|
||||
H5Dff.lo H5Eff.lo H5Fff.lo H5Gff.lo H5Iff.lo \
|
||||
@ -65,7 +66,7 @@ HDF5.lo: $(srcdir)/HDF5.f90 H5f90global.lo H5Aff.lo \
|
||||
H5FDmpioff.lo: $(srcdir)/H5FDmpioff.f90 H5f90global.lo
|
||||
HDF5mpio.lo: $(srcdir)/H5FDmpioff.f90 H5f90global.lo H5Aff.lo \
|
||||
H5Dff.lo H5Eff.lo H5Fff.lo H5Gff.lo H5Iff.lo \
|
||||
H5Pff.lo H5Rff.lo H5Sff.lo H5Tff.lo H5FDmpioff.lo
|
||||
H5Pff.lo H5Rff.lo H5Sff.lo H5Tff.lo H5Zff.lo H5FDmpioff.lo
|
||||
|
||||
ARFLAGS=rc
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user