diff options
author | Elena Pourmal <epourmal@hdfgroup.org> | 2003-03-05 20:18:31 (GMT) |
---|---|---|
committer | Elena Pourmal <epourmal@hdfgroup.org> | 2003-03-05 20:18:31 (GMT) |
commit | ff5c7fe0d55373fb636364d8e02239ad1ac2dd17 (patch) | |
tree | 74c9fd25a6dfbe5f9e2dd357e10b6c5679e0faca /fortran/src/H5_f.c | |
parent | 1e7558dbd00e68b02a295c049a5b4b8bc175fe10 (diff) | |
download | hdf5-ff5c7fe0d55373fb636364d8e02239ad1ac2dd17.zip hdf5-ff5c7fe0d55373fb636364d8e02239ad1ac2dd17.tar.gz hdf5-ff5c7fe0d55373fb636364d8e02239ad1ac2dd17.tar.bz2 |
[svn-r6464]
Purpose:
Maintenance
Description:
* Added support for generic properties.
* Added support for time allocation properties.
* Added support for variable length datatypes (only datatypes based
on INTEGER, REAL and CHARACTER Fortran types are supported).
* added some missing functions
Solution:
I am checking in new Fortran APIs and their man pages to support
1.5 features listed above.
Not all APIs have tests yet. APIs were written in Fall 2002, and I am afraid
that I will loose the code or totally forget what I did if I wait longer. ;-)
Platforms tested:
arabica (fortran), eirene (fortran), modi4 (parallel, fortran)
Diffstat (limited to 'fortran/src/H5_f.c')
-rw-r--r-- | fortran/src/H5_f.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/fortran/src/H5_f.c b/fortran/src/H5_f.c index 93d7331..3f86dc9 100644 --- a/fortran/src/H5_f.c +++ b/fortran/src/H5_f.c @@ -77,6 +77,12 @@ nh5init_types_c( hid_t_f * types, hid_t_f * floatingtypes, hid_t_f * integertype if ((integertypes[13] = (hid_t_f)H5Tcopy(H5T_STD_U32LE)) < 0) return ret_value; if ((integertypes[14] = (hid_t_f)H5Tcopy(H5T_STD_U64BE)) < 0) return ret_value; if ((integertypes[15] = (hid_t_f)H5Tcopy(H5T_STD_U64LE)) < 0) return ret_value; +/* + * Define Fortran H5T_STRING type to store non-fixed size strings + */ + if ((c_type_id = H5Tcopy(H5T_C_S1)) < 0) return ret_value; + if(H5Tset_size(c_type_id, H5T_VARIABLE) < 0) return ret_value; + integertypes[16] = c_type_id; ret_value = 0; return ret_value; @@ -169,6 +175,22 @@ nh5init_flags_c( int_f *h5d_flags, int_f *h5e_flags, int_f *h5f_flags, h5d_flags[0] = H5D_COMPACT; h5d_flags[1] = H5D_CONTIGUOUS; h5d_flags[2] = H5D_CHUNKED; + h5d_flags[3] = H5D_ALLOC_TIME_ERROR; + h5d_flags[4] = H5D_ALLOC_TIME_DEFAULT; + h5d_flags[5] = H5D_ALLOC_TIME_EARLY; + h5d_flags[6] = H5D_ALLOC_TIME_LATE; + h5d_flags[7] = H5D_ALLOC_TIME_INCR; + h5d_flags[8] = H5D_SPACE_STATUS_ERROR; + h5d_flags[9] = H5D_SPACE_STATUS_NOT_ALLOCATED; + h5d_flags[10] = H5D_SPACE_STATUS_PART_ALLOCATED; + h5d_flags[11] = H5D_SPACE_STATUS_ALLOCATED; + h5d_flags[12] = H5D_FILL_TIME_ERROR; + h5d_flags[13] = H5D_FILL_TIME_ALLOC; + h5d_flags[14] = H5D_FILL_TIME_NEVER; + h5d_flags[15] = H5D_FILL_VALUE_ERROR; + h5d_flags[16] = H5D_FILL_VALUE_UNDEFINED; + h5d_flags[17] = H5D_FILL_VALUE_DEFAULT; + h5d_flags[18] = H5D_FILL_VALUE_USER_DEFINED; /* * H5E flags @@ -260,6 +282,7 @@ nh5init_flags_c( int_f *h5d_flags, int_f *h5e_flags, int_f *h5f_flags, h5p_flags[3] = H5P_DATASET_XFER; h5p_flags[4] = H5P_MOUNT; h5p_flags[5] = H5P_DEFAULT; + h5p_flags[6] = H5P_NO_CLASS; /* * H5R flags @@ -280,6 +303,22 @@ nh5init_flags_c( int_f *h5d_flags, int_f *h5e_flags, int_f *h5f_flags, h5s_flags[4] = (int_f)H5S_UNLIMITED; h5s_flags[5] = H5S_ALL; + h5s_flags[6] = H5S_SELECT_NOOP; + h5s_flags[7] = H5S_SELECT_AND; + h5s_flags[8] = H5S_SELECT_XOR; + h5s_flags[9] = H5S_SELECT_NOTB; + h5s_flags[10] = H5S_SELECT_NOTA; + h5s_flags[11] = H5S_SELECT_APPEND; + h5s_flags[12] = H5S_SELECT_PREPEND; + h5s_flags[13] = H5S_SELECT_INVALID; + + + h5s_flags[14] = H5S_SEL_ERROR; + h5s_flags[15] = H5S_SEL_NONE; + h5s_flags[16] = H5S_SEL_POINTS; + h5s_flags[17] = H5S_SEL_HYPERSLABS; + h5s_flags[18] = H5S_SEL_ALL; + /* * H5T flags */ @@ -313,6 +352,8 @@ nh5init_flags_c( int_f *h5d_flags, int_f *h5e_flags, int_f *h5f_flags, h5t_flags[25] = H5T_STR_NULLPAD; h5t_flags[26] = H5T_STR_SPACEPAD; h5t_flags[27] = H5T_STR_ERROR; + h5t_flags[28] = H5T_VLEN; + h5t_flags[29] = H5T_ARRAY; ret_value = 0; return ret_value; |