diff options
author | Elena Pourmal <epourmal@hdfgroup.org> | 2001-04-27 03:47:27 (GMT) |
---|---|---|
committer | Elena Pourmal <epourmal@hdfgroup.org> | 2001-04-27 03:47:27 (GMT) |
commit | 6182da802691e5702681faf509ac151fe652dd51 (patch) | |
tree | ec6a41f8882327da936a0a1709458dba606ef35b /fortran/src/H5Af.c | |
parent | c048eed3be375907a030a7f27cb958fcbc95a3ef (diff) | |
download | hdf5-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.c | 32 |
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; |