mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-03-07 16:37:56 +08:00
[svn-r2795]
Purpose: New feature Description: Now all Fortran flags such as H5F_ACC_RDONLY_F (previously defined in the H5fortran_flags.f90 file) are generated at runtime when h5init_fortran_f subroutine is called. All flags have now the same value as corresponding C flags. This change affects user's programming model: Every Fortran program that uses F90 HDF5 Library has to call h5init_fortran_f(error) subroutine before the first call to the F90 HDF5 Library and h5close_fortran_f(error) after the last call to the Library. h5init(close)_types_f calls are not needed anymore since F90 datatypes are intialized(closed) with the h5init(close)_fortran_f calls. Platforms tested: O2K and Solaris2.7
This commit is contained in:
parent
0556db98e2
commit
46f49b84cf
@ -9,7 +9,7 @@ H5Af.lo: \
|
||||
H5Aff.lo: \
|
||||
$(srcdir)/H5Aff.f90 \
|
||||
H5fortran_types.f90 \
|
||||
$(srcdir)/H5fortran_flags.f90
|
||||
$(srcdir)/H5f90global.f90
|
||||
H5Df.lo: \
|
||||
$(srcdir)/H5Df.c \
|
||||
$(srcdir)/H5f90.h \
|
||||
@ -18,16 +18,16 @@ H5Df.lo: \
|
||||
H5Dff.lo: \
|
||||
$(srcdir)/H5Dff.f90 \
|
||||
H5fortran_types.f90 \
|
||||
$(srcdir)/H5fortran_flags.f90
|
||||
$(srcdir)/H5f90global.f90
|
||||
H5Ef.lo: \
|
||||
$(srcdir)/H5Ef.c \
|
||||
$(srcdir)/H5f90.h \
|
||||
$(srcdir)/H5f90i.h \
|
||||
$(srcdir)/H5f90proto.h
|
||||
H5Eff.lo: \
|
||||
$(srcdir)/H5Eff.lo \
|
||||
H5fortran_types.f90 \
|
||||
$(srcdir)/H5fortran_flags.f90
|
||||
$(srcdir)/H5Eff.f90 \
|
||||
$(srcdir)/H5fortran_flags.f90\
|
||||
$(srcdir)/H5f90global.f90
|
||||
H5Ff.lo: \
|
||||
$(srcdir)/H5Ff.c \
|
||||
$(srcdir)/H5f90.h \
|
||||
@ -36,7 +36,7 @@ H5Ff.lo: \
|
||||
H5Fff.lo: \
|
||||
$(srcdir)/H5Fff.f90 \
|
||||
H5fortran_types.f90 \
|
||||
$(srcdir)/H5fortran_flags.f90
|
||||
$(srcdir)/H5f90global.f90
|
||||
H5Gf.lo: \
|
||||
$(srcdir)/H5Gf.c \
|
||||
$(srcdir)/H5f90.h \
|
||||
@ -45,7 +45,7 @@ H5Gf.lo: \
|
||||
H5Gff.lo: \
|
||||
$(srcdir)/H5Gff.f90 \
|
||||
H5fortran_types.f90 \
|
||||
$(srcdir)/H5fortran_flags.f90
|
||||
$(srcdir)/H5f90global.f90
|
||||
H5Git.lo: \
|
||||
$(srcdir)/H5Git.c \
|
||||
$(srcdir)/H5Git.h
|
||||
@ -57,7 +57,7 @@ H5If.lo: \
|
||||
H5Iff.lo: \
|
||||
$(srcdir)/H5Iff.f90 \
|
||||
H5fortran_types.f90 \
|
||||
$(srcdir)/H5fortran_flags.f90
|
||||
$(srcdir)/H5f90global.f90
|
||||
H5Pf.lo: \
|
||||
$(srcdir)/H5Pf.c \
|
||||
$(srcdir)/H5f90.h \
|
||||
@ -71,11 +71,11 @@ H5Pf_parallel.lo: \
|
||||
H5Pff.lo: \
|
||||
$(srcdir)/H5Pff.f90 \
|
||||
H5fortran_types.f90 \
|
||||
$(srcdir)/H5fortran_flags.f90
|
||||
$(srcdir)/H5f90global.f90
|
||||
H5Pff_parallel.lo: \
|
||||
$(srcdir)/H5Pff_parallel.f90 \
|
||||
H5fortran_types.f90 \
|
||||
$(srcdir)/H5fortran_flags.f90
|
||||
$(srcdir)/H5f90global.f90
|
||||
H5Rf.lo: \
|
||||
$(srcdir)/H5Rf.c \
|
||||
$(srcdir)/H5f90.h \
|
||||
@ -84,7 +84,7 @@ H5Rf.lo: \
|
||||
H5Rff.lo: \
|
||||
$(srcdir)/H5Rff.f90 \
|
||||
H5fortran_types.f90 \
|
||||
$(srcdir)/H5fortran_flags.f90
|
||||
$(srcdir)/H5f90global.f90
|
||||
H5Sf.lo: \
|
||||
$(srcdir)/H5Sf.c \
|
||||
$(srcdir)/H5f90.h \
|
||||
@ -93,7 +93,7 @@ H5Sf.lo: \
|
||||
H5Sff.lo: \
|
||||
$(srcdir)/H5Sff.f90 \
|
||||
H5fortran_types.f90 \
|
||||
$(srcdir)/H5fortran_flags.f90
|
||||
$(srcdir)/H5f90global.f90
|
||||
H5Tf.lo: \
|
||||
$(srcdir)/H5Sf.c \
|
||||
$(srcdir)/H5f90.h \
|
||||
@ -102,7 +102,7 @@ H5Tf.lo: \
|
||||
H5Tff.lo: \
|
||||
$(srcdir)/H5Tff.f90 \
|
||||
H5fortran_types.f90 \
|
||||
$(srcdir)/H5fortran_flags.f90
|
||||
$(srcdir)/H5f90global.f90
|
||||
H5f90global.lo: \
|
||||
$(srcdir)/H5f90global.f90 \
|
||||
H5fortran_types.f90
|
||||
|
@ -29,8 +29,10 @@ nh5acreate_c (hid_t_f *obj_id, _fcd name, int_f *namelen, hid_t_f *type_id, hid_
|
||||
/*
|
||||
* Define creation property
|
||||
*/
|
||||
c_crt_prp = *crt_prp;
|
||||
c_crt_prp = (hid_t)*crt_prp;
|
||||
/*
|
||||
if ( H5P_DEFAULT_F == c_crt_prp ) c_crt_prp = H5P_DEFAULT;
|
||||
*/
|
||||
|
||||
/*
|
||||
* Convert FORTRAN name to C name
|
||||
|
@ -3,8 +3,7 @@
|
||||
!
|
||||
MODULE H5A
|
||||
|
||||
USE H5FORTRAN_TYPES
|
||||
USE H5FORTRAN_FLAGS
|
||||
USE H5GLOBAL
|
||||
|
||||
INTERFACE h5awrite_f
|
||||
|
||||
|
@ -30,8 +30,10 @@ nh5dcreate_c (hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *type_id, hid_
|
||||
/*
|
||||
* Define creation property
|
||||
*/
|
||||
c_crt_prp = *crt_prp;
|
||||
c_crt_prp = (hid_t)*crt_prp;
|
||||
/*
|
||||
if ( H5P_DEFAULT_F == c_crt_prp ) c_crt_prp = H5P_DEFAULT;
|
||||
*/
|
||||
|
||||
/*
|
||||
* Convert FORTRAN name to C name
|
||||
@ -150,8 +152,10 @@ nh5dwrite_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_
|
||||
/*
|
||||
* Define transfer property
|
||||
*/
|
||||
c_xfer_prp = *xfer_prp;
|
||||
c_xfer_prp = (hid_t)*xfer_prp;
|
||||
/*
|
||||
if ( H5P_DEFAULT_F == c_xfer_prp ) c_xfer_prp = H5P_DEFAULT;
|
||||
*/
|
||||
|
||||
/*
|
||||
* Call H5Dwrite function.
|
||||
@ -198,8 +202,10 @@ nh5dwrite_ref_obj_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_
|
||||
/*
|
||||
* Define transfer property
|
||||
*/
|
||||
c_xfer_prp = *xfer_prp;
|
||||
c_xfer_prp = (hid_t)*xfer_prp;
|
||||
/*
|
||||
if ( H5P_DEFAULT_F == c_xfer_prp ) c_xfer_prp = H5P_DEFAULT;
|
||||
*/
|
||||
|
||||
/*
|
||||
* Allocate temporary buffer and copy references from Fortran.
|
||||
@ -258,8 +264,10 @@ nh5dwrite_ref_reg_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_
|
||||
/*
|
||||
* Define transfer property
|
||||
*/
|
||||
c_xfer_prp = *xfer_prp;
|
||||
c_xfer_prp = (hid_t)*xfer_prp;
|
||||
/*
|
||||
if ( H5P_DEFAULT_F == c_xfer_prp ) c_xfer_prp = H5P_DEFAULT;
|
||||
*/
|
||||
|
||||
/*
|
||||
* Allocate temporary buffer and copy references from Fortran.
|
||||
@ -344,8 +352,10 @@ nh5dread_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t
|
||||
/*
|
||||
* Define transfer property
|
||||
*/
|
||||
c_xfer_prp = *xfer_prp;
|
||||
c_xfer_prp = (hid_t)*xfer_prp;
|
||||
/*
|
||||
if ( H5P_DEFAULT_F == c_xfer_prp ) c_xfer_prp = H5P_DEFAULT;
|
||||
*/
|
||||
|
||||
/*
|
||||
* Call H5Dread function.
|
||||
@ -392,8 +402,10 @@ nh5dread_ref_obj_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_i
|
||||
/*
|
||||
* Define transfer property
|
||||
*/
|
||||
c_xfer_prp = *xfer_prp;
|
||||
c_xfer_prp = (hid_t)*xfer_prp;
|
||||
/*
|
||||
if ( H5P_DEFAULT_F == c_xfer_prp ) c_xfer_prp = H5P_DEFAULT;
|
||||
*/
|
||||
|
||||
/*
|
||||
* Allocate temporary buffer.
|
||||
@ -452,8 +464,10 @@ nh5dread_ref_reg_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_i
|
||||
/*
|
||||
* Define transfer property
|
||||
*/
|
||||
c_xfer_prp = *xfer_prp;
|
||||
c_xfer_prp = (hid_t)*xfer_prp;
|
||||
/*
|
||||
if ( H5P_DEFAULT_F == c_xfer_prp ) c_xfer_prp = H5P_DEFAULT;
|
||||
*/
|
||||
|
||||
/*
|
||||
* Allocate temporary buffer.
|
||||
|
@ -2,8 +2,7 @@
|
||||
! This file contains Fortran90 interfaces for H5D functions.
|
||||
!
|
||||
MODULE H5D
|
||||
USE H5FORTRAN_TYPES
|
||||
! USE H5FORTRAN_FLAGS - do not need it here since it is included in H5R already
|
||||
USE H5GLOBAL
|
||||
USE H5R
|
||||
|
||||
INTERFACE h5dwrite_f
|
||||
@ -383,11 +382,14 @@
|
||||
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
|
||||
! Transfer property list identifier
|
||||
|
||||
INTEGER(HID_T) :: xfer_prp_default = H5P_DEFAULT_F
|
||||
INTEGER(HID_T) :: mem_space_id_default = H5S_ALL_F
|
||||
INTEGER(HID_T) :: file_space_id_default = H5S_ALL_F
|
||||
INTEGER(HID_T) :: xfer_prp_default
|
||||
INTEGER(HID_T) :: mem_space_id_default
|
||||
INTEGER(HID_T) :: file_space_id_default
|
||||
INTEGER, EXTERNAL :: h5dwrite_c
|
||||
|
||||
xfer_prp_default = H5P_DEFAULT_F
|
||||
mem_space_id_default = H5S_ALL_F
|
||||
file_space_id_default = H5S_ALL_F
|
||||
if (present(xfer_prp)) xfer_prp_default = xfer_prp
|
||||
if (present(mem_space_id)) mem_space_id_default = mem_space_id
|
||||
if (present(file_space_id)) file_space_id_default = file_space_id
|
||||
@ -783,10 +785,13 @@
|
||||
! Transfer property list identifier
|
||||
INTEGER, EXTERNAL :: h5dwrite_c
|
||||
|
||||
INTEGER(HID_T) :: xfer_prp_default = H5P_DEFAULT_F
|
||||
INTEGER(HID_T) :: mem_space_id_default = H5S_ALL_F
|
||||
INTEGER(HID_T) :: file_space_id_default = H5S_ALL_F
|
||||
INTEGER(HID_T) :: xfer_prp_default
|
||||
INTEGER(HID_T) :: mem_space_id_default
|
||||
INTEGER(HID_T) :: file_space_id_default
|
||||
|
||||
xfer_prp_default = H5P_DEFAULT_F
|
||||
mem_space_id_default = H5S_ALL_F
|
||||
file_space_id_default = H5S_ALL_F
|
||||
if (present(xfer_prp)) xfer_prp_default = xfer_prp
|
||||
if (present(mem_space_id)) mem_space_id_default = mem_space_id
|
||||
if (present(file_space_id)) file_space_id_default = file_space_id
|
||||
|
@ -30,6 +30,8 @@ nh5fcreate_c(_fcd name, int_f *namelen, int_f *access_flags, hid_t_f* crt_prp, h
|
||||
/*
|
||||
* Define access flags
|
||||
*/
|
||||
c_access_flags = (unsigned) *access_flags;
|
||||
/*
|
||||
CASE = (int)*access_flags;
|
||||
switch (CASE) {
|
||||
|
||||
@ -56,19 +58,22 @@ nh5fcreate_c(_fcd name, int_f *namelen, int_f *access_flags, hid_t_f* crt_prp, h
|
||||
default:
|
||||
return ret_value;
|
||||
}
|
||||
|
||||
*/
|
||||
/*
|
||||
* Define creation property
|
||||
*/
|
||||
c_crt_prp = *crt_prp;
|
||||
/*
|
||||
if ( H5P_DEFAULT_F == c_crt_prp ) c_crt_prp = H5P_DEFAULT;
|
||||
|
||||
*/
|
||||
/*
|
||||
* Define access property
|
||||
*/
|
||||
c_acc_prp = *acc_prp;
|
||||
/*
|
||||
if ( H5P_DEFAULT_F == c_acc_prp ) c_acc_prp = H5P_DEFAULT;
|
||||
|
||||
*/
|
||||
/*
|
||||
* Convert FORTRAN name to C name
|
||||
*/
|
||||
@ -108,10 +113,12 @@ nh5fflush_c (hid_t_f *object_id, int_f *scope)
|
||||
int CASE;
|
||||
H5F_scope_t c_scope;
|
||||
htri_t status;
|
||||
c_scope = (H5F_scope_t)*scope;
|
||||
|
||||
/*
|
||||
* Define scope flags
|
||||
*/
|
||||
/*
|
||||
CASE = (int)*scope;
|
||||
switch (CASE) {
|
||||
|
||||
@ -126,7 +133,7 @@ nh5fflush_c (hid_t_f *object_id, int_f *scope)
|
||||
default:
|
||||
return ret_value;
|
||||
}
|
||||
|
||||
*/
|
||||
/*
|
||||
* Call H5Fflush function.
|
||||
*/
|
||||
@ -169,7 +176,9 @@ nh5fmount_c (hid_t_f *loc_id, _fcd dsetname, int_f *namelen, hid_t_f *file_id, h
|
||||
* Define access property
|
||||
*/
|
||||
c_acc_prp = *acc_prp;
|
||||
/*
|
||||
if ( H5P_DEFAULT_F == c_acc_prp ) c_acc_prp = H5P_DEFAULT;
|
||||
*/
|
||||
|
||||
c_loc_id = *loc_id;
|
||||
c_file_id = *file_id;
|
||||
@ -257,10 +266,13 @@ nh5fopen_c (_fcd name, int_f *namelen, int_f *access_flags, hid_t_f *acc_prp, hi
|
||||
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) {
|
||||
|
||||
@ -287,12 +299,14 @@ nh5fopen_c (_fcd name, int_f *namelen, int_f *access_flags, hid_t_f *acc_prp, hi
|
||||
default:
|
||||
return ret_value;
|
||||
}
|
||||
|
||||
*/
|
||||
/*
|
||||
* Define access property
|
||||
*/
|
||||
c_acc_prp = *acc_prp;
|
||||
/*
|
||||
if ( H5P_DEFAULT_F == c_acc_prp ) c_acc_prp = H5P_DEFAULT;
|
||||
*/
|
||||
|
||||
/*
|
||||
* Convert FORTRAN name to C name
|
||||
|
@ -2,8 +2,7 @@
|
||||
! This file contains Fortran90 interfaces for H5F functions.
|
||||
!
|
||||
MODULE H5F
|
||||
USE H5FORTRAN_TYPES
|
||||
USE H5FORTRAN_FLAGS
|
||||
USE H5GLOBAL
|
||||
|
||||
CONTAINS
|
||||
|
||||
|
@ -139,6 +139,8 @@ nh5gget_obj_info_idx_c
|
||||
HDfree(c_obj_name);
|
||||
return ret_value;
|
||||
}
|
||||
*obj_type = type;
|
||||
/*
|
||||
switch (type) {
|
||||
case H5G_LINK:
|
||||
*obj_type = H5G_LINK_F;
|
||||
@ -158,6 +160,7 @@ nh5gget_obj_info_idx_c
|
||||
default:
|
||||
return ret_value;
|
||||
}
|
||||
*/
|
||||
/*
|
||||
* Convert C name to FORTRAN and place it in the given buffer
|
||||
*/
|
||||
|
@ -19,7 +19,9 @@ nh5pcreate_c ( int_f *classtype, hid_t_f *prp_id )
|
||||
int CASE;
|
||||
int ret_value = 0;
|
||||
hid_t c_prp_id;
|
||||
CASE = (int)*classtype;
|
||||
/*CASE = (int)*classtype; */
|
||||
c_classtype = (H5P_class_t)*classtype;
|
||||
/*
|
||||
|
||||
switch (CASE) {
|
||||
|
||||
@ -47,6 +49,7 @@ nh5pcreate_c ( int_f *classtype, hid_t_f *prp_id )
|
||||
ret_value = -1;
|
||||
return ret_value;
|
||||
}
|
||||
*/
|
||||
c_prp_id = H5Pcreate(c_classtype);
|
||||
|
||||
if ( c_prp_id < 0 ) ret_value = -1;
|
||||
@ -129,15 +132,19 @@ nh5pget_class_c ( hid_t_f *prp_id , int_f *classtype)
|
||||
c_prp_id = *prp_id;
|
||||
c_classtype = H5Pget_class(c_prp_id);
|
||||
if (c_classtype == H5P_NO_CLASS ) {
|
||||
*classtype = H5P_NO_CLASS_F;
|
||||
/* *classtype = H5P_NO_CLASS_F; */
|
||||
*classtype = H5P_NO_CLASS;
|
||||
ret_value = -1;
|
||||
return ret_value;
|
||||
}
|
||||
*classtype = (int_f)c_classtype;
|
||||
/*
|
||||
if (c_classtype == H5P_FILE_CREATE) *classtype = H5P_FILE_CREATE_F;
|
||||
if (c_classtype == H5P_FILE_ACCESS) *classtype = H5P_FILE_ACCESS_F;
|
||||
if (c_classtype == H5P_DATASET_CREATE) *classtype = H5P_DATASET_CREATE_F;
|
||||
if (c_classtype == H5P_DATASET_XFER) *classtype = H5P_DATASET_XFER_F;
|
||||
if (c_classtype == H5P_MOUNT_F) *classtype = H5P_MOUNT_F;
|
||||
*/
|
||||
return ret_value;
|
||||
}
|
||||
|
||||
|
@ -2,8 +2,8 @@
|
||||
! This file contains Fortran90 interfaces for H5R functions.
|
||||
!
|
||||
MODULE H5R
|
||||
USE H5FORTRAN_TYPES
|
||||
USE H5FORTRAN_FLAGS
|
||||
USE H5GLOBAL
|
||||
|
||||
! 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
|
||||
|
@ -87,8 +87,8 @@ nh5screate_c ( int_f *classtype, hid_t_f *space_id )
|
||||
int CASE;
|
||||
int ret_value = 0;
|
||||
hid_t c_space_id;
|
||||
CASE = (int)*classtype;
|
||||
|
||||
c_classtype = (H5S_class_t) *classtype;
|
||||
/*
|
||||
switch (CASE) {
|
||||
|
||||
case (H5S_SCALAR_F):
|
||||
@ -103,6 +103,7 @@ nh5screate_c ( int_f *classtype, hid_t_f *space_id )
|
||||
ret_value = -1;
|
||||
return ret_value;
|
||||
}
|
||||
*/
|
||||
c_space_id = H5Screate(c_classtype);
|
||||
|
||||
if ( c_space_id < 0 ) ret_value = -1;
|
||||
@ -531,8 +532,11 @@ nh5sget_simple_extent_type_c ( hid_t_f *space_id , int_f *classtype)
|
||||
c_space_id = *space_id;
|
||||
c_classtype = H5Sget_simple_extent_type(c_space_id);
|
||||
if ( c_classtype < 0 ) ret_value = -1;
|
||||
*classtype = c_classtype;
|
||||
/*
|
||||
if (c_classtype == H5S_SCALAR) *classtype = H5S_SCALAR_F;
|
||||
if (c_classtype == H5S_SIMPLE) *classtype = H5S_SIMPLE_F;
|
||||
*/
|
||||
return ret_value;
|
||||
}
|
||||
|
||||
@ -809,9 +813,11 @@ nh5sselect_hyperslab_c ( hid_t_f *space_id , int_f *op, hssize_t_f *start, hsize
|
||||
c_block[i] = (hsize_t)block[t];
|
||||
}
|
||||
|
||||
c_op = (H5S_seloper_t)*op;
|
||||
/*
|
||||
if (*op == H5S_SELECT_SET_F) c_op = H5S_SELECT_SET;
|
||||
if (*op == H5S_SELECT_OR_F) c_op = H5S_SELECT_OR;
|
||||
|
||||
*/
|
||||
|
||||
c_space_id = *space_id;
|
||||
status = H5Sselect_hyperslab(c_space_id, c_op, c_start, c_stride, c_count, c_block);
|
||||
@ -850,8 +856,10 @@ nh5sselect_elements_c ( hid_t_f *space_id , int_f *op, size_t_f *nelements, hss
|
||||
int i, j;
|
||||
hssize_t *c_coord;
|
||||
size_t c_nelements;
|
||||
|
||||
/*
|
||||
if (*op != H5S_SELECT_SET_F) return ret_value;
|
||||
*/
|
||||
if (*op != H5S_SELECT_SET) return ret_value;
|
||||
c_op = H5S_SELECT_SET;
|
||||
|
||||
c_space_id = *space_id;
|
||||
|
@ -2,8 +2,7 @@
|
||||
! This file contains Fortran90 interfaces for H5S functions.
|
||||
!
|
||||
MODULE H5S
|
||||
USE H5FORTRAN_TYPES
|
||||
USE H5FORTRAN_FLAGS
|
||||
USE H5GLOBAL
|
||||
|
||||
CONTAINS
|
||||
|
||||
|
@ -191,10 +191,13 @@ nh5tget_class_c ( hid_t_f *type_id , int_f *classtype)
|
||||
c_type_id = *type_id;
|
||||
c_classtype = H5Tget_class(c_type_id);
|
||||
if (c_classtype == H5T_NO_CLASS ) {
|
||||
*classtype = H5T_NO_CLASS_F;
|
||||
/* *classtype = H5T_NO_CLASS_F; */
|
||||
*classtype = (int_f)H5T_NO_CLASS;
|
||||
ret_value = -1;
|
||||
return ret_value;
|
||||
}
|
||||
*classtype = c_classtype;
|
||||
/*
|
||||
if (c_classtype == H5T_INTEGER) *classtype = H5T_INTEGER_F;
|
||||
if (c_classtype == H5T_FLOAT) *classtype = H5T_FLOAT_F;
|
||||
if (c_classtype == H5T_TIME) *classtype = H5T_TIME_F;
|
||||
@ -204,6 +207,7 @@ nh5tget_class_c ( hid_t_f *type_id , int_f *classtype)
|
||||
if (c_classtype == H5T_COMPOUND) *classtype = H5T_COMPOUND_F;
|
||||
if (c_classtype == H5T_REFERENCE) *classtype = H5T_REFERENCE_F;
|
||||
if (c_classtype == H5T_ENUM) *classtype = H5T_ENUM_F;
|
||||
*/
|
||||
return ret_value;
|
||||
}
|
||||
|
||||
@ -231,9 +235,12 @@ nh5tget_order_c ( hid_t_f *type_id , int_f *order)
|
||||
c_type_id = *type_id;
|
||||
c_order = H5Tget_order(c_type_id);
|
||||
if ( c_order < 0 ) return ret_value;
|
||||
*order = (int_f)c_order;
|
||||
/*
|
||||
if ( c_order == H5T_ORDER_LE) *order = H5T_ORDER_LE_F;
|
||||
if ( c_order == H5T_ORDER_BE) *order = H5T_ORDER_BE_F;
|
||||
if ( c_order == H5T_ORDER_VAX) *order = H5T_ORDER_VAX_F;
|
||||
*/
|
||||
return ret_value;
|
||||
}
|
||||
|
||||
@ -259,10 +266,12 @@ nh5tset_order_c ( hid_t_f *type_id , int_f *order)
|
||||
hid_t c_type_id;
|
||||
H5T_order_t c_order;
|
||||
herr_t status;
|
||||
|
||||
c_order = (H5T_order_t)*order;
|
||||
/*
|
||||
if ( *order == H5T_ORDER_LE_F) c_order = H5T_ORDER_LE;
|
||||
if ( *order == H5T_ORDER_BE_F) c_order = H5T_ORDER_BE;
|
||||
if ( *order == H5T_ORDER_VAX_F) c_order = H5T_ORDER_VAX;
|
||||
*/
|
||||
c_type_id = *type_id;
|
||||
status = H5Tset_order(c_type_id, c_order);
|
||||
if ( status < 0 ) ret_value = -1;
|
||||
|
@ -5,77 +5,11 @@
|
||||
#include "H5f90i.h"
|
||||
#include "H5f90proto.h"
|
||||
|
||||
|
||||
/* Constants from the H5Ff.c and H5Fff.f90 files */
|
||||
|
||||
|
||||
#define H5F_ACC_RDWR_F 1
|
||||
#define H5F_ACC_RDONLY_F 2
|
||||
#define H5F_ACC_TRUNC_F 3
|
||||
#define H5F_ACC_EXCL_F 4
|
||||
#define H5F_ACC_DEBUG_F 5
|
||||
#define H5P_DEFAULT_F 6 /* Can Fortran program use combination
|
||||
of those flags? */
|
||||
#define H5F_SCOPE_LOCAL_F 0
|
||||
#define H5F_SCOPE_GLOBAL_F 1
|
||||
|
||||
/* Constants used in the H5Gf.c and H5Gff.f90 files */
|
||||
|
||||
#define OBJECT_NAMELEN_DEFAULT_F -1
|
||||
#define H5G_LINK_F 0
|
||||
#define H5G_GROUP_F 1
|
||||
#define H5G_DATASET_F 2
|
||||
#define H5G_TYPE_F 3
|
||||
|
||||
|
||||
/* Constants used in H5Df.c and H5Dff.f90 files */
|
||||
|
||||
#define H5S_ALL_F -2
|
||||
|
||||
/* Constants used in H5Rff.f90 and H5Rf.c files */
|
||||
|
||||
#define REF_OBJ_BUF_LEN_F 2
|
||||
#define REF_REG_BUF_LEN_F 3
|
||||
#define REF_REG_BUF_LEN_F 3
|
||||
|
||||
/* Constants used in H5Sf.c and H5Sff.f90 files */
|
||||
|
||||
#define H5S_NO_CLASS_F -1
|
||||
#define H5S_SCALAR_F 0
|
||||
#define H5S_SIMPLE_F 1
|
||||
#define H5S_SELECT_SET_F 0
|
||||
#define H5S_SELECT_OR_F 1
|
||||
|
||||
/* Constants ised in H5Tf.c and H5Tff.f90 files */
|
||||
|
||||
|
||||
#define H5T_NO_CLASS_F -1
|
||||
#define H5T_INTEGER_F 0
|
||||
#define H5T_FLOAT_F 1
|
||||
#define H5T_TIME_F 2
|
||||
#define H5T_STRING_F 3
|
||||
#define H5T_BITFIELD_F 4
|
||||
#define H5T_OPAQUE_F 5
|
||||
#define H5T_COMPOUND_F 6
|
||||
#define H5T_REFERENCE_F 7
|
||||
#define H5T_ENUM_F 8
|
||||
|
||||
#define H5T_ORDER_LE_F 0
|
||||
#define H5T_ORDER_BE_F 1
|
||||
#define H5T_ORDER_VAX_F 2
|
||||
|
||||
|
||||
/* Constants used in H5Pf.c and H5Pff.f90 files */
|
||||
|
||||
|
||||
#define H5P_NO_CLASS_F -1
|
||||
#define H5P_FILE_CREATE_F 0
|
||||
#define H5P_FILE_ACCESS_F 1
|
||||
#define H5P_DATASET_CREATE_F 2
|
||||
#define H5P_DATASET_XFER_F 3
|
||||
#define H5P_MOUNT_F 4
|
||||
|
||||
/* Constants used in H5Pf_parallel.c and H5Pff_parallel.f90 files */
|
||||
#define H5FD_MPIO_INDEPENDENT_F 0
|
||||
#define H5FD_MPIO_COLLECTIVE_F 1
|
||||
/* Constants used in H5Gf.c files */
|
||||
#define OBJECT_NAMELEN_DEFAULT_F -1
|
||||
|
||||
#endif /* _H5f90_H */
|
||||
|
@ -72,34 +72,308 @@
|
||||
EQUIVALENCE (integer_types(16), H5T_STD_U64LE)
|
||||
|
||||
|
||||
COMMON /PREDEFINED_TYPES/ H5T_NATIVE_INTEGER, &
|
||||
H5T_NATIVE_REAL, &
|
||||
H5T_NATIVE_DOUBLE, &
|
||||
H5T_NATIVE_CHARACTER, &
|
||||
H5T_STD_REF_OBJ, &
|
||||
H5T_STD_REF_DSETREG
|
||||
! COMMON /PREDEFINED_TYPES/ H5T_NATIVE_INTEGER, &
|
||||
! H5T_NATIVE_REAL, &
|
||||
! H5T_NATIVE_DOUBLE, &
|
||||
! H5T_NATIVE_CHARACTER, &
|
||||
! H5T_STD_REF_OBJ, &
|
||||
! H5T_STD_REF_DSETREG
|
||||
COMMON /PREDEFINED_TYPES/ predef_types(PREDEF_TYPES_LEN)
|
||||
|
||||
COMMON /FLOATING_TYPES/ H5T_IEEE_F32BE, &
|
||||
H5T_IEEE_F32LE, &
|
||||
H5T_IEEE_F64BE, &
|
||||
H5T_IEEE_F64LE
|
||||
! COMMON /FLOATING_TYPES/ H5T_IEEE_F32BE, &
|
||||
! H5T_IEEE_F32LE, &
|
||||
! H5T_IEEE_F64BE, &
|
||||
! H5T_IEEE_F64LE
|
||||
COMMON /FLOATING_TYPES/ floatinig_types(FLOATING_TYPES_LEN)
|
||||
!
|
||||
! COMMON /INTEGER_TYPES/ H5T_STD_I8BE, &
|
||||
! H5T_STD_I8LE, &
|
||||
! H5T_STD_I16BE, &
|
||||
! H5T_STD_I16LE, &
|
||||
! H5T_STD_I32BE, &
|
||||
! H5T_STD_I32LE, &
|
||||
! H5T_STD_I64BE, &
|
||||
! H5T_STD_I64LE, &
|
||||
! H5T_STD_U8BE, &
|
||||
! H5T_STD_U8LE, &
|
||||
! H5T_STD_U16BE, &
|
||||
! H5T_STD_U16LE, &
|
||||
! H5T_STD_U32BE, &
|
||||
! H5T_STD_U32LE, &
|
||||
! H5T_STD_U64BE, &
|
||||
! H5T_STD_U64LE
|
||||
COMMON /INTEGER_TYPES/ integer_types(INTEGER_TYPES_LEN)
|
||||
!
|
||||
! Fortran flags
|
||||
!
|
||||
!
|
||||
! H5F flags (DO NOT FORGET TO UPDATE WHEN NEW FLAGS ARE ADDEDD !)
|
||||
!
|
||||
! H5F flags declaration
|
||||
!
|
||||
INTEGER, PARAMETER :: H5F_FLAGS_LEN = 7
|
||||
INTEGER H5F_flags(H5F_FLAGS_LEN)
|
||||
COMMON /H5F_FLAGS/ H5F_flags
|
||||
|
||||
COMMON /INTEGER_TYPES/ H5T_STD_I8BE, &
|
||||
H5T_STD_I8LE, &
|
||||
H5T_STD_I16BE, &
|
||||
H5T_STD_I16LE, &
|
||||
H5T_STD_I32BE, &
|
||||
H5T_STD_I32LE, &
|
||||
H5T_STD_I64BE, &
|
||||
H5T_STD_I64LE, &
|
||||
H5T_STD_U8BE, &
|
||||
H5T_STD_U8LE, &
|
||||
H5T_STD_U16BE, &
|
||||
H5T_STD_U16LE, &
|
||||
H5T_STD_U32BE, &
|
||||
H5T_STD_U32LE, &
|
||||
H5T_STD_U64BE, &
|
||||
H5T_STD_U64LE
|
||||
INTEGER :: H5F_ACC_RDWR_F
|
||||
INTEGER :: H5F_ACC_RDONLY_F
|
||||
INTEGER :: H5F_ACC_TRUNC_F
|
||||
INTEGER :: H5F_ACC_EXCL_F
|
||||
INTEGER :: H5F_ACC_DEBUG_F
|
||||
INTEGER :: H5F_SCOPE_LOCAL_F
|
||||
INTEGER :: H5F_SCOPE_GLOBAL_F
|
||||
|
||||
EQUIVALENCE(H5F_flags(1), H5F_ACC_RDWR_F)
|
||||
EQUIVALENCE(H5F_flags(2), H5F_ACC_RDONLY_F)
|
||||
EQUIVALENCE(H5F_flags(3), H5F_ACC_TRUNC_F)
|
||||
EQUIVALENCE(H5F_flags(4), H5F_ACC_EXCL_F)
|
||||
EQUIVALENCE(H5F_flags(5), H5F_ACC_DEBUG_F)
|
||||
EQUIVALENCE(H5F_flags(6), H5F_SCOPE_LOCAL_F)
|
||||
EQUIVALENCE(H5F_flags(7), H5F_SCOPE_GLOBAL_F)
|
||||
!
|
||||
! H5G flags declaration
|
||||
!
|
||||
INTEGER, PARAMETER :: H5G_FLAGS_LEN = 5
|
||||
INTEGER H5G_flags(H5G_FLAGS_LEN)
|
||||
COMMON /H5G_FLAGS/ H5G_flags
|
||||
|
||||
INTEGER :: H5G_UNKNOWN_F
|
||||
INTEGER :: H5G_LINK_F
|
||||
INTEGER :: H5G_GROUP_F
|
||||
INTEGER :: H5G_DATASET_F
|
||||
INTEGER :: H5G_TYPE_F
|
||||
|
||||
EQUIVALENCE(H5G_flags(1), H5G_UNKNOWN_F)
|
||||
EQUIVALENCE(H5G_flags(2), H5G_LINK_F)
|
||||
EQUIVALENCE(H5G_flags(3), H5G_GROUP_F)
|
||||
EQUIVALENCE(H5G_flags(4), H5G_DATASET_F)
|
||||
EQUIVALENCE(H5G_flags(5), H5G_TYPE_F)
|
||||
!
|
||||
! H5D flags declaration
|
||||
!
|
||||
|
||||
INTEGER, PARAMETER :: H5D_FLAGS_LEN = 3
|
||||
INTEGER H5D_flags(H5D_FLAGS_LEN)
|
||||
COMMON /H5D_FLAGS/ H5D_flags
|
||||
|
||||
INTEGER :: H5D_COMPACT_F
|
||||
INTEGER :: H5D_CONTIGUOUS_F
|
||||
INTEGER :: H5D_CHUNKED_F
|
||||
|
||||
EQUIVALENCE(H5D_flags(1), H5D_COMPACT_F)
|
||||
EQUIVALENCE(H5D_flags(2), H5D_CONTIGUOUS_F)
|
||||
EQUIVALENCE(H5D_flags(3), H5D_CHUNKED_F)
|
||||
|
||||
!
|
||||
! H5FD flags declaration
|
||||
!
|
||||
INTEGER, PARAMETER :: H5FD_FLAGS_LEN = 2
|
||||
INTEGER H5FD_flags(H5FD_FLAGS_LEN)
|
||||
COMMON /H5FD_FLAGS/ H5FD_flags
|
||||
|
||||
INTEGER :: H5FD_MPIO_INDEPENDENT_F
|
||||
INTEGER :: H5FD_MPIO_COLLECTIVE_F
|
||||
|
||||
EQUIVALENCE(H5FD_flags(1), H5FD_MPIO_INDEPENDENT_F)
|
||||
EQUIVALENCE(H5FD_flags(2), H5FD_MPIO_COLLECTIVE_F)
|
||||
|
||||
!
|
||||
! H5E flags declaration
|
||||
!
|
||||
INTEGER, PARAMETER :: H5E_FLAGS_LEN = 23
|
||||
INTEGER H5E_flags(H5E_FLAGS_LEN)
|
||||
COMMON /H5E_FLAGS/ H5E_flags
|
||||
|
||||
INTEGER :: H5E_NONE_MAJOR_F
|
||||
INTEGER :: H5E_ARGS_F
|
||||
INTEGER :: H5E_RESOURCE_F
|
||||
INTEGER :: H5E_INTERNAL_F
|
||||
INTEGER :: H5E_FILE_F
|
||||
INTEGER :: H5E_IO_F
|
||||
INTEGER :: H5E_FUNC_F
|
||||
INTEGER :: H5E_ATOM_F
|
||||
INTEGER :: H5E_CACHE_F
|
||||
INTEGER :: H5E_BTREE_F
|
||||
INTEGER :: H5E_SYM_F
|
||||
INTEGER :: H5E_HEAP_F
|
||||
INTEGER :: H5E_OHDR_F
|
||||
INTEGER :: H5E_DATATYPE_F
|
||||
INTEGER :: H5E_DATASPACE_F
|
||||
INTEGER :: H5E_DATASET_F
|
||||
INTEGER :: H5E_STORAGE_F
|
||||
INTEGER :: H5E_PLIST_F
|
||||
INTEGER :: H5E_ATTR_F
|
||||
INTEGER :: H5E_PLINE_F
|
||||
INTEGER :: H5E_EFL_F
|
||||
INTEGER :: H5E_RAGGED_F
|
||||
INTEGER :: H5E_REFERENCE_F
|
||||
|
||||
EQUIVALENCE(H5E_flags(1), H5E_NONE_MAJOR_F)
|
||||
EQUIVALENCE(H5E_flags(2), H5E_ARGS_F)
|
||||
EQUIVALENCE(H5E_flags(3), H5E_RESOURCE_F)
|
||||
EQUIVALENCE(H5E_flags(4), H5E_INTERNAL_F)
|
||||
EQUIVALENCE(H5E_flags(5), H5E_FILE_F)
|
||||
EQUIVALENCE(H5E_flags(6), H5E_IO_F)
|
||||
EQUIVALENCE(H5E_flags(7), H5E_FUNC_F)
|
||||
EQUIVALENCE(H5E_flags(8), H5E_ATOM_F)
|
||||
EQUIVALENCE(H5E_flags(9), H5E_CACHE_F)
|
||||
EQUIVALENCE(H5E_flags(10), H5E_BTREE_F)
|
||||
EQUIVALENCE(H5E_flags(11), H5E_SYM_F)
|
||||
EQUIVALENCE(H5E_flags(12), H5E_HEAP_F)
|
||||
EQUIVALENCE(H5E_flags(13), H5E_OHDR_F)
|
||||
EQUIVALENCE(H5E_flags(14), H5E_DATATYPE_F)
|
||||
EQUIVALENCE(H5E_flags(15), H5E_DATASPACE_F)
|
||||
EQUIVALENCE(H5E_flags(16), H5E_DATASET_F)
|
||||
EQUIVALENCE(H5E_flags(17), H5E_STORAGE_F)
|
||||
EQUIVALENCE(H5E_flags(18), H5E_PLIST_F)
|
||||
EQUIVALENCE(H5E_flags(19), H5E_ATTR_F)
|
||||
EQUIVALENCE(H5E_flags(20), H5E_PLINE_F)
|
||||
EQUIVALENCE(H5E_flags(21), H5E_EFL_F)
|
||||
EQUIVALENCE(H5E_flags(22), H5E_RAGGED_F)
|
||||
EQUIVALENCE(H5E_flags(23), H5E_REFERENCE_F)
|
||||
|
||||
!
|
||||
! H5E flags declaration
|
||||
!
|
||||
INTEGER, PARAMETER :: H5I_FLAGS_LEN = 7
|
||||
INTEGER H5I_flags(H5I_FLAGS_LEN)
|
||||
COMMON /H5I_FLAGS/ H5I_flags
|
||||
|
||||
INTEGER :: H5I_FILE_F
|
||||
INTEGER :: H5I_GROUP_F
|
||||
INTEGER :: H5I_DATATYPE_F
|
||||
INTEGER :: H5I_DATASPACE_F
|
||||
INTEGER :: H5I_DATASET_F
|
||||
INTEGER :: H5I_ATTR_F
|
||||
INTEGER :: H5I_BADID_F
|
||||
|
||||
EQUIVALENCE(H5I_flags(1), H5I_FILE_F)
|
||||
EQUIVALENCE(H5I_flags(2), H5I_GROUP_F)
|
||||
EQUIVALENCE(H5I_flags(3), H5I_DATATYPE_F)
|
||||
EQUIVALENCE(H5I_flags(4), H5I_DATASPACE_F)
|
||||
EQUIVALENCE(H5I_flags(5), H5I_DATASET_F)
|
||||
EQUIVALENCE(H5I_flags(6), H5I_ATTR_F)
|
||||
EQUIVALENCE(H5I_flags(7), H5I_BADID_F)
|
||||
|
||||
!
|
||||
! H5P flags declaration
|
||||
!
|
||||
INTEGER, PARAMETER :: H5P_FLAGS_LEN = 6
|
||||
INTEGER H5P_flags(H5P_FLAGS_LEN)
|
||||
COMMON /H5P_FLAGS/ H5P_flags
|
||||
|
||||
INTEGER :: H5P_FILE_CREATE_F
|
||||
INTEGER :: H5P_FILE_ACCESS_F
|
||||
INTEGER :: H5P_DATASET_CREATE_F
|
||||
INTEGER :: H5P_DATASET_XFER_F
|
||||
INTEGER :: H5P_MOUNT_F
|
||||
INTEGER :: H5P_DEFAULT_F
|
||||
|
||||
EQUIVALENCE(H5P_flags(1), H5P_FILE_CREATE_F)
|
||||
EQUIVALENCE(H5P_flags(2), H5P_FILE_ACCESS_F)
|
||||
EQUIVALENCE(H5P_flags(3), H5P_DATASET_CREATE_F)
|
||||
EQUIVALENCE(H5P_flags(4), H5P_DATASET_XFER_F)
|
||||
EQUIVALENCE(H5P_flags(5), H5P_MOUNT_F)
|
||||
EQUIVALENCE(H5P_flags(6), H5P_DEFAULT_F)
|
||||
|
||||
!
|
||||
! H5P flags declaration
|
||||
!
|
||||
INTEGER, PARAMETER :: H5R_FLAGS_LEN = 2
|
||||
INTEGER H5R_flags(H5R_FLAGS_LEN)
|
||||
COMMON /H5R_FLAGS/ H5R_flags
|
||||
|
||||
INTEGER :: H5R_OBJECT_F
|
||||
INTEGER :: H5R_DATASET_REGION_F
|
||||
|
||||
EQUIVALENCE(H5R_flags(1), H5R_OBJECT_F)
|
||||
EQUIVALENCE(H5R_flags(2), H5R_DATASET_REGION_F)
|
||||
|
||||
!
|
||||
! H5S flags declaration
|
||||
!
|
||||
INTEGER, PARAMETER :: H5S_FLAGS_LEN = 6
|
||||
INTEGER H5S_flags(H5S_FLAGS_LEN)
|
||||
COMMON /H5S_FLAGS/ H5S_flags
|
||||
|
||||
INTEGER :: H5S_SCALAR_F
|
||||
INTEGER :: H5S_SIMPLE_F
|
||||
INTEGER :: H5S_SELECT_SET_F
|
||||
INTEGER :: H5S_SELECT_OR_F
|
||||
INTEGER :: H5S_UNLIMITED_F
|
||||
INTEGER :: H5S_ALL_F
|
||||
|
||||
EQUIVALENCE(H5S_flags(1), H5S_SCALAR_F)
|
||||
EQUIVALENCE(H5S_flags(2), H5S_SIMPLE_F)
|
||||
EQUIVALENCE(H5S_flags(3), H5S_SELECT_SET_F)
|
||||
EQUIVALENCE(H5S_flags(4), H5S_SELECT_OR_F)
|
||||
EQUIVALENCE(H5S_flags(5), H5S_UNLIMITED_F)
|
||||
EQUIVALENCE(H5S_flags(6), H5S_ALL_F)
|
||||
|
||||
!
|
||||
! H5T flags declaration
|
||||
!
|
||||
INTEGER, PARAMETER :: H5T_FLAGS_LEN = 28
|
||||
INTEGER H5T_flags(H5T_FLAGS_LEN)
|
||||
COMMON /H5T_FLAGS/ H5T_flags
|
||||
|
||||
INTEGER :: H5T_NO_CLASS_F
|
||||
INTEGER :: H5T_INTEGER_F
|
||||
INTEGER :: H5T_FLOAT_F
|
||||
INTEGER :: H5T_TIME_F
|
||||
INTEGER :: H5T_STRING_F
|
||||
INTEGER :: H5T_BITFIELD_F
|
||||
INTEGER :: H5T_OPAQUE_F
|
||||
INTEGER :: H5T_COMPOUND_F
|
||||
INTEGER :: H5T_REFERENCE_F
|
||||
INTEGER :: H5T_ENUM_F
|
||||
INTEGER :: H5T_ORDER_LE_F
|
||||
INTEGER :: H5T_ORDER_BE_F
|
||||
INTEGER :: H5T_ORDER_VAX_F
|
||||
INTEGER :: H5T_PAD_ZERO_F
|
||||
INTEGER :: H5T_PAD_ONE_F
|
||||
INTEGER :: H5T_PAD_BACKGROUND_F
|
||||
INTEGER :: H5T_PAD_ERROR_F
|
||||
INTEGER :: H5T_SGN_NONE_F
|
||||
INTEGER :: H5T_SGN_2_F
|
||||
INTEGER :: H5T_SGN_ERROR_F
|
||||
INTEGER :: H5T_NORM_IMPLIED_F
|
||||
INTEGER :: H5T_NORM_MSBSET_F
|
||||
INTEGER :: H5T_NORM_NONE_F
|
||||
INTEGER :: H5T_CSET_ASCII_F
|
||||
INTEGER :: H5T_STR_NULLTERM_F
|
||||
INTEGER :: H5T_STR_NULLPAD_F
|
||||
INTEGER :: H5T_STR_SPACEPAD_F
|
||||
INTEGER :: H5T_STR_ERROR_F
|
||||
|
||||
EQUIVALENCE(H5T_flags(1), H5T_NO_CLASS_F)
|
||||
EQUIVALENCE(H5T_flags(2), H5T_INTEGER_F)
|
||||
EQUIVALENCE(H5T_flags(3), H5T_FLOAT_F)
|
||||
EQUIVALENCE(H5T_flags(4), H5T_TIME_F)
|
||||
EQUIVALENCE(H5T_flags(5), H5T_STRING_F)
|
||||
EQUIVALENCE(H5T_flags(6), H5T_BITFIELD_F)
|
||||
EQUIVALENCE(H5T_flags(7), H5T_OPAQUE_F)
|
||||
EQUIVALENCE(H5T_flags(8), H5T_COMPOUND_F)
|
||||
EQUIVALENCE(H5T_flags(9), H5T_REFERENCE_F)
|
||||
EQUIVALENCE(H5T_flags(10), H5T_ENUM_F)
|
||||
EQUIVALENCE(H5T_flags(11), H5T_ORDER_LE_F)
|
||||
EQUIVALENCE(H5T_flags(12), H5T_ORDER_BE_F)
|
||||
EQUIVALENCE(H5T_flags(13), H5T_ORDER_VAX_F)
|
||||
EQUIVALENCE(H5T_flags(14), H5T_PAD_ZERO_F)
|
||||
EQUIVALENCE(H5T_flags(15), H5T_PAD_ONE_F)
|
||||
EQUIVALENCE(H5T_flags(16), H5T_PAD_BACKGROUND_F)
|
||||
EQUIVALENCE(H5T_flags(17), H5T_PAD_ERROR_F)
|
||||
EQUIVALENCE(H5T_flags(18), H5T_SGN_NONE_F)
|
||||
EQUIVALENCE(H5T_flags(19), H5T_SGN_2_F)
|
||||
EQUIVALENCE(H5T_flags(20), H5T_SGN_ERROR_F)
|
||||
EQUIVALENCE(H5T_flags(21), H5T_NORM_IMPLIED_F)
|
||||
EQUIVALENCE(H5T_flags(22), H5T_NORM_MSBSET_F)
|
||||
EQUIVALENCE(H5T_flags(23), H5T_NORM_NONE_F)
|
||||
EQUIVALENCE(H5T_flags(24), H5T_CSET_ASCII_F)
|
||||
EQUIVALENCE(H5T_flags(25), H5T_STR_NULLTERM_F)
|
||||
EQUIVALENCE(H5T_flags(26), H5T_STR_NULLPAD_F)
|
||||
EQUIVALENCE(H5T_flags(27), H5T_STR_SPACEPAD_F)
|
||||
EQUIVALENCE(H5T_flags(28), H5T_STR_ERROR_F)
|
||||
|
||||
END MODULE H5GLOBAL
|
||||
|
||||
|
@ -137,3 +137,170 @@ nh5close_types_c( hid_t_f * types, int_f *lentypes,
|
||||
ret_value = 0;
|
||||
return ret_value;
|
||||
}
|
||||
/*---------------------------------------------------------------------------
|
||||
* Name: h5init_flags_c
|
||||
* Purpose: Initialize Fortran flags
|
||||
* Inputs: h5d_flags - H5D inteface flags
|
||||
* h5e_flags - H5E interface flags
|
||||
* h5f_flags - H5F interface flags
|
||||
* h5fd_flags - H5FD interface flags
|
||||
* h5g_flags - H5G interface flags
|
||||
* h5i_flags - H5I interface flags
|
||||
* h5p_flags - H5P interface flags
|
||||
* h5r_flags - H5R interface flags
|
||||
* h5s_flags - H5S interface flags
|
||||
* h5t_flags - H5T interface flags
|
||||
* Outputs: None
|
||||
* Returns: 0 on success, -1 on failure
|
||||
* Programmer: Elena Pourmal
|
||||
* Tuesday, August 3, 1999
|
||||
* Modifications:
|
||||
*---------------------------------------------------------------------------*/
|
||||
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 ret_value = -1;
|
||||
/*
|
||||
* H5D flags
|
||||
*/
|
||||
h5d_flags[0] = H5D_COMPACT;
|
||||
h5d_flags[1] = H5D_CONTIGUOUS;
|
||||
h5d_flags[2] = H5D_CHUNKED;
|
||||
|
||||
/*
|
||||
* H5E flags
|
||||
*/
|
||||
|
||||
h5e_flags[0] = H5E_NONE_MAJOR;
|
||||
h5e_flags[1] = H5E_ARGS;
|
||||
h5e_flags[2] = H5E_RESOURCE;
|
||||
h5e_flags[3] = H5E_INTERNAL;
|
||||
h5e_flags[4] = H5E_FILE;
|
||||
h5e_flags[5] = H5E_IO;
|
||||
h5e_flags[6] = H5E_FUNC;
|
||||
h5e_flags[7] = H5E_ATOM;
|
||||
h5e_flags[8] = H5E_CACHE;
|
||||
h5e_flags[9] = H5E_BTREE;
|
||||
h5e_flags[10] = H5E_SYM;
|
||||
h5e_flags[11] = H5E_HEAP;
|
||||
h5e_flags[12] = H5E_OHDR;
|
||||
h5e_flags[13] = H5E_DATATYPE;
|
||||
h5e_flags[14] = H5E_DATASPACE;
|
||||
h5e_flags[15] = H5E_DATASET;
|
||||
h5e_flags[16] = H5E_STORAGE;
|
||||
h5e_flags[17] = H5E_PLIST;
|
||||
h5e_flags[18] = H5E_ATTR;
|
||||
h5e_flags[19] = H5E_PLINE;
|
||||
h5e_flags[20] = H5E_EFL;
|
||||
h5e_flags[21] = H5E_RAGGED;
|
||||
h5e_flags[22] = H5E_REFERENCE;
|
||||
|
||||
/*
|
||||
* H5F flags
|
||||
*/
|
||||
h5f_flags[0] = (int_f)H5F_ACC_RDWR;
|
||||
h5f_flags[1] = (int_f)H5F_ACC_RDONLY;
|
||||
h5f_flags[2] = (int_f)H5F_ACC_TRUNC;
|
||||
h5f_flags[3] = (int_f)H5F_ACC_EXCL;
|
||||
h5f_flags[4] = (int_f)H5F_ACC_DEBUG;
|
||||
h5f_flags[5] = (int_f)H5F_SCOPE_LOCAL;
|
||||
h5f_flags[6] = (int_f)H5F_SCOPE_GLOBAL;
|
||||
|
||||
/*
|
||||
* H5FD flags
|
||||
*/
|
||||
h5fd_flags[0] = H5FD_MPIO_INDEPENDENT;
|
||||
h5fd_flags[1] = H5FD_MPIO_COLLECTIVE;
|
||||
|
||||
/*
|
||||
* H5G flags
|
||||
*/
|
||||
|
||||
h5g_flags[0] = H5G_UNKNOWN;
|
||||
h5g_flags[1] = H5G_LINK;
|
||||
h5g_flags[2] = H5G_GROUP;
|
||||
h5g_flags[3] = H5G_DATASET;
|
||||
h5g_flags[4] = H5G_TYPE;
|
||||
|
||||
/*
|
||||
* H5I flags
|
||||
*/
|
||||
|
||||
h5i_flags[0] = H5I_FILE;
|
||||
h5i_flags[1] = H5I_GROUP;
|
||||
h5i_flags[2] = H5I_DATATYPE;
|
||||
h5i_flags[3] = H5I_DATASPACE;
|
||||
h5i_flags[4] = H5I_DATASET;
|
||||
h5i_flags[5] = H5I_ATTR;
|
||||
h5i_flags[6] = H5I_BADID;
|
||||
|
||||
/*
|
||||
* H5P flags
|
||||
*/
|
||||
|
||||
h5p_flags[0] = H5P_FILE_CREATE;
|
||||
h5p_flags[1] = H5P_FILE_ACCESS;
|
||||
h5p_flags[2] = H5P_DATASET_CREATE;
|
||||
h5p_flags[3] = H5P_DATASET_XFER;
|
||||
h5p_flags[4] = H5P_MOUNT;
|
||||
h5p_flags[5] = H5P_DEFAULT;
|
||||
|
||||
/*
|
||||
* H5R flags
|
||||
*/
|
||||
|
||||
h5r_flags[0] = H5R_OBJECT;
|
||||
h5r_flags[1] = H5R_DATASET_REGION;
|
||||
|
||||
/*
|
||||
* H5S flags
|
||||
*/
|
||||
|
||||
|
||||
h5s_flags[0] = H5S_SCALAR;
|
||||
h5s_flags[1] = H5S_SIMPLE;
|
||||
h5s_flags[2] = H5S_SELECT_SET;
|
||||
h5s_flags[3] = H5S_SELECT_OR;
|
||||
h5s_flags[4] = H5S_UNLIMITED;
|
||||
h5s_flags[5] = H5S_ALL;
|
||||
|
||||
/*
|
||||
* H5T flags
|
||||
*/
|
||||
|
||||
|
||||
h5t_flags[0] = H5T_NO_CLASS;
|
||||
h5t_flags[1] = H5T_INTEGER;
|
||||
h5t_flags[2] = H5T_FLOAT;
|
||||
h5t_flags[3] = H5T_TIME;
|
||||
h5t_flags[4] = H5T_STRING;
|
||||
h5t_flags[5] = H5T_BITFIELD;
|
||||
h5t_flags[6] = H5T_OPAQUE;
|
||||
h5t_flags[7] = H5T_COMPOUND;
|
||||
h5t_flags[8] = H5T_REFERENCE;
|
||||
h5t_flags[9] = H5T_ENUM;
|
||||
h5t_flags[10] = H5T_ORDER_LE;
|
||||
h5t_flags[11] = H5T_ORDER_BE;
|
||||
h5t_flags[12] = H5T_ORDER_VAX;
|
||||
h5t_flags[13] = H5T_PAD_ZERO;
|
||||
h5t_flags[14] = H5T_PAD_ONE;
|
||||
h5t_flags[15] = H5T_PAD_BACKGROUND;
|
||||
h5t_flags[16] = H5T_PAD_ERROR;
|
||||
h5t_flags[17] = H5T_SGN_NONE;
|
||||
h5t_flags[18] = H5T_SGN_2;
|
||||
h5t_flags[19] = H5T_SGN_ERROR;
|
||||
h5t_flags[20] = H5T_NORM_IMPLIED;
|
||||
h5t_flags[21] = H5T_NORM_MSBSET;
|
||||
h5t_flags[22] = H5T_NORM_NONE;
|
||||
h5t_flags[23] = H5T_CSET_ASCII;
|
||||
h5t_flags[24] = H5T_STR_NULLTERM;
|
||||
h5t_flags[25] = H5T_STR_NULLPAD;
|
||||
h5t_flags[26] = H5T_STR_SPACEPAD;
|
||||
h5t_flags[27] = H5T_STR_ERROR;
|
||||
|
||||
ret_value = 0;
|
||||
return ret_value;
|
||||
}
|
||||
|
@ -1,14 +1,27 @@
|
||||
SUBROUTINE h5init_types_f(error)
|
||||
SUBROUTINE h5init_fortran_f(error)
|
||||
USE H5GLOBAL
|
||||
|
||||
IMPLICIT NONE
|
||||
INTEGER, INTENT(OUT) :: error
|
||||
INTEGER :: error_1, error_2
|
||||
INTEGER, EXTERNAL :: h5init_types_c
|
||||
error = h5init_types_c(predef_types, floating_types, integer_types)
|
||||
INTEGER, EXTERNAL :: h5init_flags_c
|
||||
error_1 = h5init_types_c(predef_types, floating_types, integer_types)
|
||||
error_1 = h5init_flags_c(H5D_flags, &
|
||||
H5E_flags, &
|
||||
H5F_flags, &
|
||||
H5FD_flags, &
|
||||
H5G_flags, &
|
||||
H5I_flags, &
|
||||
H5P_flags, &
|
||||
H5R_flags, &
|
||||
H5S_flags, &
|
||||
H5T_flags )
|
||||
error = error_1 + error_2
|
||||
|
||||
END SUBROUTINE h5init_types_f
|
||||
END SUBROUTINE h5init_fortran_f
|
||||
|
||||
SUBROUTINE h5close_types_f(error)
|
||||
SUBROUTINE h5close_fortran_f(error)
|
||||
USE H5GLOBAL
|
||||
|
||||
IMPLICIT NONE
|
||||
@ -18,5 +31,5 @@
|
||||
floating_types, FLOATING_TYPES_LEN, &
|
||||
integer_types, INTEGER_TYPES_LEN )
|
||||
|
||||
END SUBROUTINE h5close_types_f
|
||||
END SUBROUTINE h5close_fortran_f
|
||||
|
||||
|
@ -877,15 +877,21 @@ extern int_f nh5eset_auto_c(int_f* printflag);
|
||||
#ifndef H5MISCf90_FNAMES
|
||||
# define H5MISCf90_FNAMES
|
||||
#ifdef DF_CAPFNAMES
|
||||
# define nh5init_types_c FNAME(H5INIT_TYPES_C)
|
||||
# define nh5init_type_c FNAME(H5INIT_TYPES_C)
|
||||
# define nh5close_types_c FNAME(H5CLOSE_TYPES_C)
|
||||
# define nh5init_flags_c FNAME(H5INIT_FLAGS_C)
|
||||
#else
|
||||
# define nh5init_types_c FNAME(h5init_types_c)
|
||||
# define nh5close_types_c FNAME(h5close_types_c)
|
||||
# define nh5init_flags_c FNAME(h5init_flags_c)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
extern int_f nh5init_types_c(hid_t_f *types, hid_t_f * floatingtypes, hid_t_f * integertypes);
|
||||
extern int_f nh5close_types_c(hid_t_f *types, int_f *lentypes, hid_t_f * floatingtypes, int_f * floatinglen, hid_t_f * integertypes, int_f * integerlen);
|
||||
|
||||
extern 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);
|
||||
#endif /* _H5f90proto_H */
|
||||
|
@ -1,140 +1,11 @@
|
||||
MODULE H5FORTRAN_FLAGS
|
||||
|
||||
!H5F file interface related flags
|
||||
INTEGER, PARAMETER :: H5F_ACC_RDWR_F = 1 , &
|
||||
H5F_ACC_RDONLY_F = 2, &
|
||||
H5F_ACC_TRUNC_F = 3, &
|
||||
H5F_ACC_EXCL_F = 4, &
|
||||
H5F_ACC_DEBUG_F = 5, &
|
||||
H5F_SCOPE_LOCAL_F = 0, &
|
||||
H5F_SCOPE_GLOBAL_F = 1
|
||||
|
||||
!H5G group interface related flags
|
||||
INTEGER, PARAMETER :: H5G_UNKNOWN_F = -1
|
||||
INTEGER, PARAMETER :: H5G_LINK_F = 0
|
||||
INTEGER, PARAMETER :: H5G_GROUP_F =1
|
||||
INTEGER, PARAMETER :: H5G_DATASET_F =2
|
||||
INTEGER, PARAMETER :: H5G_TYPE_F =3
|
||||
|
||||
!H5P Property interface related flags
|
||||
|
||||
INTEGER, PARAMETER :: H5P_FILE_CREATE_F = 0
|
||||
INTEGER, PARAMETER :: H5P_FILE_ACCESS_F = 1
|
||||
INTEGER, PARAMETER :: H5P_DATASET_CREATE_F = 2
|
||||
INTEGER, PARAMETER :: H5P_DATASET_XFER_F = 3
|
||||
INTEGER, PARAMETER :: H5P_MOUNT_F = 4
|
||||
INTEGER, PARAMETER :: H5P_DEFAULT_F = 6
|
||||
|
||||
!H5R Reference interface related flags
|
||||
INTEGER, PARAMETER :: H5R_OBJECT_F = 0
|
||||
INTEGER, PARAMETER :: H5R_DATASET_REGION_F = -2
|
||||
|
||||
!H5S Dataspace interface related flags
|
||||
INTEGER, PARAMETER :: H5S_SCALAR_F = 0
|
||||
INTEGER, PARAMETER :: H5S_SIMPLE_F = 1
|
||||
INTEGER, PARAMETER :: H5S_SELECT_SET_F = 0
|
||||
INTEGER, PARAMETER :: H5S_SELECT_OR_F =1
|
||||
INTEGER, PARAMETER :: H5S_UNLIMITED_F = -1
|
||||
INTEGER, PARAMETER :: H5S_ALL_F = -2
|
||||
!USED IN PROERTY INTERFACE
|
||||
INTEGER, PARAMETER :: H5D_COMPACT_F = 0
|
||||
|
||||
INTEGER, PARAMETER :: H5D_CONTIGUOUS_F = 1
|
||||
INTEGER, PARAMETER :: H5D_CHUNKED_F = 2
|
||||
INTEGER, PARAMETER :: H5FD_MPIO_INDEPENDENT_F = 0
|
||||
INTEGER, PARAMETER :: H5FD_MPIO_COLLECTIVE_F = 1
|
||||
|
||||
!H5T Data type interface related flags
|
||||
INTEGER, PARAMETER :: H5T_NO_CLASS_F = -1
|
||||
INTEGER, PARAMETER :: H5T_INTEGER_F = 0
|
||||
INTEGER, PARAMETER :: H5T_FLOAT_F = 1
|
||||
INTEGER, PARAMETER :: H5T_TIME_F = 2
|
||||
INTEGER, PARAMETER :: H5T_STRING_F = 3
|
||||
INTEGER, PARAMETER :: H5T_BITFIELD_F = 4
|
||||
INTEGER, PARAMETER :: H5T_OPAQUE_F = 5
|
||||
INTEGER, PARAMETER :: H5T_COMPOUND_F = 6
|
||||
INTEGER, PARAMETER :: H5T_REFERENCE_F = 7
|
||||
INTEGER, PARAMETER :: H5T_ENUM_F = 8
|
||||
INTEGER, PARAMETER :: H5T_ORDER_LE_F = 0
|
||||
INTEGER, PARAMETER :: H5T_ORDER_BE_F = 1
|
||||
INTEGER, PARAMETER :: H5T_ORDER_VAX_F = 2
|
||||
|
||||
INTEGER, PARAMETER :: H5T_PAD_ZERO_F = 0
|
||||
INTEGER, PARAMETER :: H5T_PAD_ONE_F = 1
|
||||
INTEGER, PARAMETER :: H5T_PAD_BACKGROUND_F = 2
|
||||
INTEGER, PARAMETER :: H5T_PAD_ERROR_F = -1
|
||||
INTEGER, PARAMETER :: H5T_PAD_NPAD_F = 3
|
||||
|
||||
!Unsigned integer type
|
||||
INTEGER, PARAMETER :: H5T_SGN_NONE_F = 0
|
||||
!Two's complement signed integer type
|
||||
INTEGER, PARAMETER :: H5T_SGN_2_F = 1
|
||||
|
||||
INTEGER, PARAMETER :: H5T_SGN_ERROR_F = -1
|
||||
!MSB of mantissa is not stored, always 1
|
||||
INTEGER, PARAMETER :: H5T_NORM_IMPLIED_F = 0
|
||||
!MSB of mantissa is always 1
|
||||
INTEGER, PARAMETER :: H5T_NORM_MSBSET_F = 1
|
||||
!Mantissa is not normalized
|
||||
INTEGER, PARAMETER :: H5T_NORM_NONE_F = 2
|
||||
!Character set is US ASCII
|
||||
INTEGER, PARAMETER :: H5T_CSET_ASCII_F = 0
|
||||
!Pad with zeros (as C does)
|
||||
INTEGER, PARAMETER :: H5T_STR_NULL_F = 0
|
||||
!Pad with spaces (as FORTRAN does)
|
||||
INTEGER, PARAMETER :: H5T_STR_SPACE_F = 1
|
||||
|
||||
!H5P interface related fortran flags:
|
||||
!identifier of the low-level file driver.
|
||||
INTEGER, PARAMETER :: H5F_LOW_STDIO_F = 0
|
||||
INTEGER, PARAMETER :: H5F_LOW_SEC2_F = 1
|
||||
INTEGER, PARAMETER :: H5F_LOW_MPIO_F = 2
|
||||
INTEGER, PARAMETER :: H5F_LOW_CORE_F = 3
|
||||
INTEGER, PARAMETER :: H5F_LOW_SPLIT_F = 4
|
||||
INTEGER, PARAMETER :: H5F_LOW_FAMILY_F = 5
|
||||
|
||||
!H5I interface related fortran flags:
|
||||
INTEGER, PARAMETER :: H5I_FILE_F = 1
|
||||
INTEGER, PARAMETER :: H5I_GROUP_F = 12
|
||||
INTEGER, PARAMETER :: H5I_DATATYPE_F = 13
|
||||
INTEGER, PARAMETER :: H5I_DATASPACE_F = 14
|
||||
INTEGER, PARAMETER :: H5I_DATASET_F = 15
|
||||
INTEGER, PARAMETER :: H5I_ATTR_F = 16
|
||||
INTEGER, PARAMETER :: H5I_BADID_F = -1
|
||||
|
||||
!H5E interface related fortran flags:
|
||||
!
|
||||
! H5E interface related fortran flags:
|
||||
!
|
||||
!Turn on automatic printing of errors
|
||||
INTEGER, PARAMETER :: PRINTON = 1
|
||||
|
||||
!Turn off automatic printing of errors
|
||||
INTEGER, PARAMETER :: PRINTOFF = 0
|
||||
|
||||
!Error flags same as H5E_major_t
|
||||
|
||||
INTEGER, PARAMETER :: H5E_NONE_MAJOR_F = 0 !special zero, no error
|
||||
INTEGER, PARAMETER :: H5E_ARGS_F = 1 !invalid arguments to routine
|
||||
INTEGER, PARAMETER :: H5E_RESOURCE_F = 2 !resource unavailable
|
||||
INTEGER, PARAMETER :: H5E_INTERNAL_F = 3 !Internal error (too specific to
|
||||
!document in detail)
|
||||
INTEGER, PARAMETER :: H5E_FILE_F = 4 !file Accessability
|
||||
INTEGER, PARAMETER :: H5E_IO_F = 5 !Low-level I/O
|
||||
INTEGER, PARAMETER :: H5E_FUNC_F = 6 !function Entry/Exit
|
||||
INTEGER, PARAMETER :: H5E_ATOM_F = 7 !object Atom
|
||||
INTEGER, PARAMETER :: H5E_CACHE_F = 8 !object Cache
|
||||
INTEGER, PARAMETER :: H5E_BTREE_F = 9 !B-Tree Node
|
||||
INTEGER, PARAMETER :: H5E_SYM_F = 10 !symbol Table
|
||||
INTEGER, PARAMETER :: H5E_HEAP_F = 11 !Heap
|
||||
INTEGER, PARAMETER :: H5E_OHDR_F = 12 !object Header
|
||||
INTEGER, PARAMETER :: H5E_DATATYPE_F = 13 !Datatype
|
||||
INTEGER, PARAMETER :: H5E_DATASPACE_F = 14 ! Dataspace
|
||||
INTEGER, PARAMETER :: H5E_DATASET_F = 15 !Dataset
|
||||
INTEGER, PARAMETER :: H5E_STORAGE_F = 16 !data storage
|
||||
INTEGER, PARAMETER :: H5E_PLIST_F = 17 !Property lists
|
||||
INTEGER, PARAMETER :: H5E_ATTR_F = 18 !Attribute
|
||||
INTEGER, PARAMETER :: H5E_PLINE_F = 19 !Data filters
|
||||
INTEGER, PARAMETER :: H5E_EFL_F = 20 !External file list
|
||||
INTEGER, PARAMETER :: H5E_RAGGED_F = 21 !Ragged arrays
|
||||
INTEGER, PARAMETER :: H5E_REFERENCE_F = 22 !References
|
||||
|
||||
|
||||
END MODULE H5FORTRAN_FLAGS
|
||||
END MODULE H5FORTRAN_FLAGS
|
||||
|
Loading…
Reference in New Issue
Block a user