summaryrefslogtreecommitdiffstats
path: root/fortran/src/H5Af.c
diff options
context:
space:
mode:
authorElena Pourmal <epourmal@hdfgroup.org>2001-04-27 03:47:27 (GMT)
committerElena Pourmal <epourmal@hdfgroup.org>2001-04-27 03:47:27 (GMT)
commit6182da802691e5702681faf509ac151fe652dd51 (patch)
treeec6a41f8882327da936a0a1709458dba606ef35b /fortran/src/H5Af.c
parentc048eed3be375907a030a7f27cb958fcbc95a3ef (diff)
downloadhdf5-6182da802691e5702681faf509ac151fe652dd51.zip
hdf5-6182da802691e5702681faf509ac151fe652dd51.tar.gz
hdf5-6182da802691e5702681faf509ac151fe652dd51.tar.bz2
[svn-r3860]
Purpose: Windows port Description: Multiple changes: * Windows platforms require special compiler directives in order to create DLLs. * In read/write subroutines data arrays were passed by descriptor. This worked on UNIX but did not work on Windows. Solution: * added compiler directives. * read/write APIs have been changed. There is an additional parameter (array that contains the sizes of data buffer dimensions) and regular arrays are used instead of assumed-shaped arrays. Platforms tested: * Currently this feature does not work. Common blocks are not exported correctly from one F90 module to another. I am checking this in so I can ask DEC for help. * For static library tests passed on Windows 98 ( except flush2_fortran) All tests passed on Linux, Solaris 2.7, O2K and T3E
Diffstat (limited to 'fortran/src/H5Af.c')
-rw-r--r--fortran/src/H5Af.c32
1 files changed, 22 insertions, 10 deletions
diff --git a/fortran/src/H5Af.c b/fortran/src/H5Af.c
index daa3932..15a9b65 100644
--- a/fortran/src/H5Af.c
+++ b/fortran/src/H5Af.c
@@ -103,20 +103,23 @@ nh5aopen_name_c (hid_t_f *obj_id, _fcd name, int_f *namelen, hid_t_f *attr_id)
* Inputs: attr_id - dataset identifier
* mem_type_id - memory datatype identifier
* buf - character data buffer
+ * dims - array to store dimensions sizes of buf; used only
+ * by Fortran routine.
* Returns: 0 on success, -1 on failure
* Programmer: Elena Pourmal
* Thursday , August 12, 1999
- * Modifications:
+ * Modifications: dims paramete added.
+ * April 4, 2001
*---------------------------------------------------------------------------*/
int_f
-nh5awritec_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf)
+nh5awritec_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, int_f *dims)
{
int ret_value = -1;
/*
* Call h5awrite_c function.
*/
- ret_value = nh5awrite_c(attr_id, mem_type_id, _fcdtocp(buf));
+ ret_value = nh5awrite_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
return ret_value;
}
@@ -127,13 +130,16 @@ nh5awritec_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf)
* Inputs: attr_id - attribute identifier
* mem_type_id - memory datatype identifier
* buf - data buffer
+ * dims - array to store dimensions sizes of buf; used only
+ * by Fortran routine.
* Returns: 0 on success, -1 on failure
* Programmer: Elena Pourmal
* Thursday, August 12, 1999
- * Modifications:
+ * Modifications: dims parameter added
+ * April 4, 2001
*---------------------------------------------------------------------------*/
int_f
-nh5awrite_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf)
+nh5awrite_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, int_f *dims)
{
int ret_value = -1;
herr_t ret;
@@ -158,21 +164,24 @@ nh5awrite_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf)
* Purpose: Call h5aread_c to read character attribute
* Inputs: dset_id - dataset identifier
* mem_type_id - memory datatype identifier
+ * dims - array to store dimensions sizes of buf; used only
+ * by Fortran routine.
* Outputs: buf - character data buffer
* Returns: 0 on success, -1 on failure
* Programmer: Elena Pourmal
* Thursday, August 12, 1999
- * Modifications:
+ * Modifications: dims parameter added.
+ * April 4, 2001
*---------------------------------------------------------------------------*/
int_f
-nh5areadc_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf)
+nh5areadc_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, int_f *dims)
{
int ret_value = -1;
/*
* Call h5aread_c function.
*/
- ret_value = nh5aread_c(attr_id, mem_type_id, (_fcdtocp(buf)));
+ ret_value = nh5aread_c(attr_id, mem_type_id, (_fcdtocp(buf)), dims);
return ret_value;
}
@@ -182,14 +191,17 @@ nh5areadc_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf)
* Purpose: Call H5Araed to read an attribute
* Inputs: dset_id - dataset identifier
* mem_type_id - memory datatype identifier
+ * dims - array to store dimensions sizes of buf; used only
+ * by Fortran routine.
* Outputs: buf - data buffer
* Returns: 0 on success, -1 on failure
* Programmer: Elena Pourmal
* Thursday, August 12, 1999
- * Modifications:
+ * Modifications: dims paramete added.
+ * April 4, 2001
*---------------------------------------------------------------------------*/
int_f
-nh5aread_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf)
+nh5aread_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, int_f *dims)
{
int ret_value = -1;
herr_t ret;