summaryrefslogtreecommitdiffstats
path: root/fortran/src/H5_f.c
diff options
context:
space:
mode:
authorElena Pourmal <epourmal@hdfgroup.org>2003-03-05 20:18:31 (GMT)
committerElena Pourmal <epourmal@hdfgroup.org>2003-03-05 20:18:31 (GMT)
commitff5c7fe0d55373fb636364d8e02239ad1ac2dd17 (patch)
tree74c9fd25a6dfbe5f9e2dd357e10b6c5679e0faca /fortran/src/H5_f.c
parent1e7558dbd00e68b02a295c049a5b4b8bc175fe10 (diff)
downloadhdf5-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.c41
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;