diff options
author | Pedro Vicente Nunes <pvn@hdfgroup.org> | 2004-12-08 20:31:25 (GMT) |
---|---|---|
committer | Pedro Vicente Nunes <pvn@hdfgroup.org> | 2004-12-08 20:31:25 (GMT) |
commit | dd7c7944690a1d9958069b925231c7cd6623857c (patch) | |
tree | 03f76e4cded94faa8fc170feccc636047c3b305a /hl/fortran/src/H5LTfc.c | |
parent | 38eedcb94c85404ef82b53cd1ffdacfacbcef14c (diff) | |
download | hdf5-dd7c7944690a1d9958069b925231c7cd6623857c.zip hdf5-dd7c7944690a1d9958069b925231c7cd6623857c.tar.gz hdf5-dd7c7944690a1d9958069b925231c7cd6623857c.tar.bz2 |
[svn-r9644] Purpose:
add hl fortran
Description:
Solution:
Platforms tested:
linux (absfot and pgf90)
solaris (32 and 64 bit)
AIX
note : HP gives a compiling error , to be fixed in the future
Misc. update:
Diffstat (limited to 'hl/fortran/src/H5LTfc.c')
-rwxr-xr-x | hl/fortran/src/H5LTfc.c | 1012 |
1 files changed, 1012 insertions, 0 deletions
diff --git a/hl/fortran/src/H5LTfc.c b/hl/fortran/src/H5LTfc.c new file mode 100755 index 0000000..f2b1aca --- /dev/null +++ b/hl/fortran/src/H5LTfc.c @@ -0,0 +1,1012 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by the Board of Trustees of the University of Illinois. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +/* This files contains C stubs for H5D Fortran APIs */ + +#include "H5LT.h" +#include "H5LTf90proto.h" +#include <stdlib.h> + + +/*------------------------------------------------------------------------- + * Function: H5LTmake_dataset_c + * + * Purpose: Call H5LTmake_dataset + * + * Return: Success: 0, Failure: -1 + * + * Programmer: pvn@ncsa.uiuc.edu + * + * Date: September 09, 2004 + * + * Comments: + * + * Modifications: + * + * + *------------------------------------------------------------------------- + */ + +int_f +nh5ltmake_dataset_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf) +{ + int ret_value = -1; + herr_t ret; + hid_t c_loc_id; + hid_t c_type_id; + char *c_name; + int c_namelen; + hsize_t *c_dims; + int i; + +/* + * Convert FORTRAN name to C name + */ + c_namelen = *namelen; + c_name = (char *)HD5f2cstring(name, c_namelen); + if (c_name == NULL) return ret_value; + + c_dims = malloc(sizeof(hsize_t) * (*rank )); + if (!c_dims) return ret_value; + +/* + * Transpose dimension arrays because of C-FORTRAN storage order + */ + for (i = 0; i < *rank ; i++) { + c_dims[i] = dims[*rank - i - 1]; + } + +/* + * Call H5LTmake_dataset function. + */ + c_loc_id = (hid_t)*loc_id; + c_type_id = (hid_t)*type_id; + + ret = H5LTmake_dataset(c_loc_id, c_name, *rank, c_dims, c_type_id, buf ); + + free (c_dims); + + if (ret < 0) return ret_value; + ret_value = 0; + return ret_value; +} + + +/*------------------------------------------------------------------------- + * Function: H5LTread_dataset_c + * + * Purpose: Call H5LTmake_dataset + * + * Return: Success: 0, Failure: -1 + * + * Programmer: pvn@ncsa.uiuc.edu + * + * Date: September 09, 2004 + * + * Comments: + * + * Modifications: + * + * + *------------------------------------------------------------------------- + */ + +int_f +nh5ltread_dataset_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims) +{ + int ret_value = -1; + herr_t ret; + hid_t c_loc_id; + hid_t c_type_id; + char *c_name; + int c_namelen; + +/* + * Convert FORTRAN name to C name + */ + c_namelen = *namelen; + c_name = (char *)HD5f2cstring(name, c_namelen); + if (c_name == NULL) return ret_value; + +/* + * Call H5LTread_dataset function. + */ + c_loc_id = (hid_t)*loc_id; + c_type_id = (hid_t)*type_id; + + ret = H5LTread_dataset(c_loc_id, c_name, c_type_id, buf ); + + if (ret < 0) return ret_value; + ret_value = 0; + return ret_value; +} + + +/*------------------------------------------------------------------------- + * Function: H5LTmake_dataset_string_c + * + * Purpose: Call H5LTmake_dataset + * + * Return: Success: 0, Failure: -1 + * + * Programmer: pvn@ncsa.uiuc.edu + * + * Date: September 09, 2004 + * + * Comments: + * + * Modifications: + * + * + *------------------------------------------------------------------------- + */ + +int_f +nh5ltmake_dataset_string_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + char *buf) +{ + int ret_value = -1; + herr_t ret; + hid_t c_loc_id; + char *c_name; + int c_namelen; + +/* + * Convert FORTRAN name to C name + */ + c_namelen = *namelen; + c_name = (char *)HD5f2cstring(name, c_namelen); + if (c_name == NULL) return ret_value; + +/* + * Call H5LTmake_dataset_string function. + */ + c_loc_id = (hid_t)*loc_id; + + ret = H5LTmake_dataset_string(c_loc_id,c_name,buf); + + if (ret < 0) return ret_value; + ret_value = 0; + return ret_value; +} + + +/*------------------------------------------------------------------------- + * Function: H5LTread_dataset_string_c + * + * Purpose: Call H5LTread_dataset_string + * + * Return: Success: 0, Failure: -1 + * + * Programmer: pvn@ncsa.uiuc.edu + * + * Date: September 09, 2004 + * + * Comments: + * + * Modifications: + * + * + *------------------------------------------------------------------------- + */ + +int_f +nh5ltread_dataset_string_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + char *buf) +{ + int ret_value = -1; + herr_t ret; + hid_t c_loc_id; + char *c_name; + int c_namelen; + +/* + * Convert FORTRAN name to C name + */ + c_namelen = *namelen; + c_name = (char *)HD5f2cstring(name, c_namelen); + if (c_name == NULL) return ret_value; + +/* + * Call H5LTread_dataset_string function. + */ + c_loc_id = (hid_t)*loc_id; + + ret = H5LTread_dataset_string(c_loc_id,c_name,buf); + + if (ret < 0) return ret_value; + ret_value = 0; + return ret_value; +} + + + +/*------------------------------------------------------------------------- + * Function: H5LTset_attribute_int_c + * + * Purpose: Call H5LTset_attribute_int + * + * Return: Success: 0, Failure: -1 + * + * Programmer: pvn@ncsa.uiuc.edu + * + * Date: October 05, 2004 + * + * Comments: + * + * Modifications: + * + * + *------------------------------------------------------------------------- + */ + +int_f +nh5ltset_attribute_int_c(hid_t_f *loc_id, + int_f *namelen, + _fcd dsetname, + int_f *attrnamelen, + _fcd attrname, + size_t_f *size, + void *buf) +{ + int ret_value = -1; + herr_t ret; + hid_t c_loc_id; + char *c_name; + char *c_attrname; + int c_namelen; + int c_attrnamelen; + size_t c_size; + +/* + * Convert FORTRAN name to C name + */ + c_namelen = *namelen; + c_name = (char *)HD5f2cstring(dsetname, c_namelen); + if (c_name == NULL) return ret_value; + + c_attrnamelen = *attrnamelen; + c_attrname = (char *)HD5f2cstring(attrname, c_attrnamelen); + if (c_attrname == NULL) return ret_value; + +/* + * Call H5LTset_attribute_int function. + */ + c_loc_id = (hid_t)*loc_id; + c_size = (size_t)*size; + + ret = H5LTset_attribute_int(c_loc_id,c_name,c_attrname,buf,c_size); + + if (ret < 0) return ret_value; + ret_value = 0; + return ret_value; +} + +/*------------------------------------------------------------------------- + * Function: H5LTset_attribute_float_c + * + * Purpose: Call H5LTset_attribute_int + * + * Return: Success: 0, Failure: -1 + * + * Programmer: pvn@ncsa.uiuc.edu + * + * Date: October 05, 2004 + * + * Comments: + * + * Modifications: + * + * + *------------------------------------------------------------------------- + */ + +int_f +nh5ltset_attribute_float_c(hid_t_f *loc_id, + int_f *namelen, + _fcd dsetname, + int_f *attrnamelen, + _fcd attrname, + size_t_f *size, + void *buf) +{ + int ret_value = -1; + herr_t ret; + hid_t c_loc_id; + char *c_name; + char *c_attrname; + int c_namelen; + int c_attrnamelen; + size_t c_size; + +/* + * Convert FORTRAN name to C name + */ + c_namelen = *namelen; + c_name = (char *)HD5f2cstring(dsetname, c_namelen); + if (c_name == NULL) return ret_value; + + c_attrnamelen = *attrnamelen; + c_attrname = (char *)HD5f2cstring(attrname, c_attrnamelen); + if (c_attrname == NULL) return ret_value; + +/* + * Call H5LTset_attribute_int function. + */ + c_loc_id = (hid_t)*loc_id; + c_size = (size_t)*size; + + ret = H5LTset_attribute_float(c_loc_id,c_name,c_attrname,buf,c_size); + + if (ret < 0) return ret_value; + ret_value = 0; + return ret_value; +} + + +/*------------------------------------------------------------------------- + * Function: H5LTset_attribute_double_c + * + * Purpose: Call H5LTset_attribute_int + * + * Return: Success: 0, Failure: -1 + * + * Programmer: pvn@ncsa.uiuc.edu + * + * Date: October 05, 2004 + * + * Comments: + * + * Modifications: + * + * + *------------------------------------------------------------------------- + */ + +int_f +nh5ltset_attribute_double_c(hid_t_f *loc_id, + int_f *namelen, + _fcd dsetname, + int_f *attrnamelen, + _fcd attrname, + size_t_f *size, + void *buf) +{ + int ret_value = -1; + herr_t ret; + hid_t c_loc_id; + char *c_name; + char *c_attrname; + int c_namelen; + int c_attrnamelen; + size_t c_size; + +/* + * Convert FORTRAN name to C name + */ + c_namelen = *namelen; + c_name = (char *)HD5f2cstring(dsetname, c_namelen); + if (c_name == NULL) return ret_value; + + c_attrnamelen = *attrnamelen; + c_attrname = (char *)HD5f2cstring(attrname, c_attrnamelen); + if (c_attrname == NULL) return ret_value; + +/* + * Call H5LTset_attribute_int function. + */ + c_loc_id = (hid_t)*loc_id; + c_size = (size_t)*size; + + ret = H5LTset_attribute_double(c_loc_id,c_name,c_attrname,buf,c_size); + + if (ret < 0) return ret_value; + ret_value = 0; + return ret_value; +} + +/*------------------------------------------------------------------------- + * Function: H5LTset_attribute_string_c + * + * Purpose: Call H5LTset_attribute_int + * + * Return: Success: 0, Failure: -1 + * + * Programmer: pvn@ncsa.uiuc.edu + * + * Date: October 05, 2004 + * + * Comments: + * + * Modifications: + * + * + *------------------------------------------------------------------------- + */ + +int_f +nh5ltset_attribute_string_c(hid_t_f *loc_id, + int_f *namelen, + _fcd dsetname, + int_f *attrnamelen, + _fcd attrname, + void *buf) +{ + int ret_value = -1; + herr_t ret; + hid_t c_loc_id; + char *c_name; + char *c_attrname; + int c_namelen; + int c_attrnamelen; + +/* + * Convert FORTRAN name to C name + */ + c_namelen = *namelen; + c_name = (char *)HD5f2cstring(dsetname, c_namelen); + if (c_name == NULL) return ret_value; + + c_attrnamelen = *attrnamelen; + c_attrname = (char *)HD5f2cstring(attrname, c_attrnamelen); + if (c_attrname == NULL) return ret_value; + +/* + * Call H5LTset_attribute_int function. + */ + c_loc_id = (hid_t)*loc_id; + + ret = H5LTset_attribute_string(c_loc_id,c_name,c_attrname,buf); + + if (ret < 0) return ret_value; + ret_value = 0; + return ret_value; +} + +/*------------------------------------------------------------------------- + * Function: H5LTget_attribute_int_c + * + * Purpose: Call H5LTget_attribute_int + * + * Return: Success: 0, Failure: -1 + * + * Programmer: pvn@ncsa.uiuc.edu + * + * Date: October 05, 2004 + * + * Comments: + * + * Modifications: + * + * + *------------------------------------------------------------------------- + */ + +int_f +nh5ltget_attribute_int_c(hid_t_f *loc_id, + int_f *namelen, + _fcd dsetname, + int_f *attrnamelen, + _fcd attrname, + void *buf) +{ + int ret_value = -1; + herr_t ret; + hid_t c_loc_id; + char *c_name; + int c_namelen; + char *c_attrname; + int c_attrnamelen; + +/* + * Convert FORTRAN name to C name + */ + c_namelen = *namelen; + c_name = (char *)HD5f2cstring(dsetname, c_namelen); + if (c_name == NULL) return ret_value; + + c_attrnamelen = *attrnamelen; + c_attrname = (char *)HD5f2cstring(attrname, c_attrnamelen); + if (c_attrname == NULL) return ret_value; + +/* + * Call H5LTget_attribute_int function. + */ + c_loc_id = (hid_t)*loc_id; + + ret = H5LTget_attribute_int(c_loc_id,c_name,c_attrname,buf); + + if (ret < 0) return ret_value; + ret_value = 0; + return ret_value; +} + + +/*------------------------------------------------------------------------- + * Function: H5LTget_attribute_float_c + * + * Purpose: Call H5LTget_attribute_float + * + * Return: Success: 0, Failure: -1 + * + * Programmer: pvn@ncsa.uiuc.edu + * + * Date: October 05, 2004 + * + * Comments: + * + * Modifications: + * + * + *------------------------------------------------------------------------- + */ + +int_f +nh5ltget_attribute_float_c(hid_t_f *loc_id, + int_f *namelen, + _fcd dsetname, + int_f *attrnamelen, + _fcd attrname, + void *buf) +{ + int ret_value = -1; + herr_t ret; + hid_t c_loc_id; + char *c_name; + int c_namelen; + char *c_attrname; + int c_attrnamelen; + +/* + * Convert FORTRAN name to C name + */ + c_namelen = *namelen; + c_name = (char *)HD5f2cstring(dsetname, c_namelen); + if (c_name == NULL) return ret_value; + + c_attrnamelen = *attrnamelen; + c_attrname = (char *)HD5f2cstring(attrname, c_attrnamelen); + if (c_attrname == NULL) return ret_value; + +/* + * Call H5LTget_attribute_int function. + */ + c_loc_id = (hid_t)*loc_id; + + ret = H5LTget_attribute_float(c_loc_id,c_name,c_attrname,buf); + + if (ret < 0) return ret_value; + ret_value = 0; + return ret_value; +} + +/*------------------------------------------------------------------------- + * Function: H5LTget_attribute_double_c + * + * Purpose: Call H5LTget_attribute_double + * + * Return: Success: 0, Failure: -1 + * + * Programmer: pvn@ncsa.uiuc.edu + * + * Date: October 05, 2004 + * + * Comments: + * + * Modifications: + * + * + *------------------------------------------------------------------------- + */ + +int_f +nh5ltget_attribute_double_c(hid_t_f *loc_id, + int_f *namelen, + _fcd dsetname, + int_f *attrnamelen, + _fcd attrname, + void *buf) +{ + int ret_value = -1; + herr_t ret; + hid_t c_loc_id; + char *c_name; + int c_namelen; + char *c_attrname; + int c_attrnamelen; + +/* + * Convert FORTRAN name to C name + */ + c_namelen = *namelen; + c_name = (char *)HD5f2cstring(dsetname, c_namelen); + if (c_name == NULL) return ret_value; + + c_attrnamelen = *attrnamelen; + c_attrname = (char *)HD5f2cstring(attrname, c_attrnamelen); + if (c_attrname == NULL) return ret_value; + +/* + * Call H5LTget_attribute_int function. + */ + c_loc_id = (hid_t)*loc_id; + + ret = H5LTget_attribute_double(c_loc_id,c_name,c_attrname,buf); + + if (ret < 0) return ret_value; + ret_value = 0; + return ret_value; +} + +/*------------------------------------------------------------------------- + * Function: H5LTget_attribute_string_c + * + * Purpose: Call H5LTget_attribute_string + * + * Return: Success: 0, Failure: -1 + * + * Programmer: pvn@ncsa.uiuc.edu + * + * Date: October 05, 2004 + * + * Comments: + * + * Modifications: + * + * + *------------------------------------------------------------------------- + */ + +int_f +nh5ltget_attribute_string_c(hid_t_f *loc_id, + int_f *namelen, + _fcd dsetname, + int_f *attrnamelen, + _fcd attrname, + void *buf) +{ + int ret_value = -1; + herr_t ret; + hid_t c_loc_id; + char *c_name; + int c_namelen; + char *c_attrname; + int c_attrnamelen; + +/* + * Convert FORTRAN name to C name + */ + c_namelen = *namelen; + c_name = (char *)HD5f2cstring(dsetname, c_namelen); + if (c_name == NULL) return ret_value; + + c_attrnamelen = *attrnamelen; + c_attrname = (char *)HD5f2cstring(attrname, c_attrnamelen); + if (c_attrname == NULL) return ret_value; + +/* + * Call H5LTget_attribute_int function. + */ + c_loc_id = (hid_t)*loc_id; + + ret = H5LTget_attribute_string(c_loc_id,c_name,c_attrname,buf); + + if (ret < 0) return ret_value; + ret_value = 0; + return ret_value; +} + + +/*------------------------------------------------------------------------- + * Function: H5LTget_dataset_ndims_c + * + * Purpose: Call H5LTget_dataset_ndims + * + * Return: Success: 0, Failure: -1 + * + * Programmer: pvn@ncsa.uiuc.edu + * + * Date: September 09, 2004 + * + * Comments: + * + * Modifications: + * + * + *------------------------------------------------------------------------- + */ + +int_f +nh5ltget_dataset_ndims_c(hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank) +{ + int ret_value = -1; + herr_t ret; + hid_t c_loc_id; + char *c_name; + int c_namelen; + +/* + * Convert FORTRAN name to C name + */ + c_namelen = *namelen; + c_name = (char *)HD5f2cstring(name, c_namelen); + if (c_name == NULL) return ret_value; + +/* + * Call H5LTget_dataset_ndims function. + */ + c_loc_id = (hid_t)*loc_id; + + ret = H5LTget_dataset_ndims(c_loc_id, c_name, rank); + + if (ret < 0) return ret_value; + ret_value = 0; + return ret_value; +} + + +/*------------------------------------------------------------------------- + * Function: h5ltfind_dataset_c + * + * Purpose: Call H5LTfind_dataset + * + * Return: Success: 0, Failure: -1 + * + * Programmer: pvn@ncsa.uiuc.edu + * + * Date: September 09, 2004 + * + * Comments: + * + * Modifications: + * + * + *------------------------------------------------------------------------- + */ + +int_f +nh5ltfind_dataset_c(hid_t_f *loc_id, + int_f *namelen, + _fcd name) +{ + hid_t c_loc_id; + char *c_name; + int c_namelen; + +/* + * Convert FORTRAN name to C name + */ + c_namelen = *namelen; + c_name = (char *)HD5f2cstring(name, c_namelen); + if (c_name == NULL) return -1; + +/* + * Call H5LTget_dataset_ndims function. + */ + c_loc_id = (hid_t)*loc_id; + + return( H5LTfind_dataset(c_loc_id, c_name)); + +} + +/*------------------------------------------------------------------------- + * Function: h5ltget_dataset_info_c + * + * Purpose: Call H5LTget_dataset_info + * + * Return: Success: 0, Failure: -1 + * + * Programmer: pvn@ncsa.uiuc.edu + * + * Date: September 09, 2004 + * + * Comments: + * + * Modifications: + * + * + *------------------------------------------------------------------------- + */ + +int_f +nh5ltget_dataset_info_c(hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hsize_t_f *dims, + int_f *type_class, + size_t_f *type_size) +{ + int ret_value = -1; + herr_t ret; + hid_t c_loc_id; + char *c_name; + int c_namelen; + H5T_class_t c_classtype; + size_t c_type_size; + hsize_t c_dims[32]; + int i; + +/* + * Convert FORTRAN name to C name + */ + c_namelen = *namelen; + c_name = (char *)HD5f2cstring(name, c_namelen); + if (c_name == NULL) return ret_value; + +/* + * Call H5LTget_dataset_ndims function. + */ + c_loc_id = (hid_t)*loc_id; + + ret = H5LTget_dataset_info(c_loc_id, c_name, c_dims, &c_classtype, &c_type_size); + + *type_class = c_classtype; + *type_size = c_type_size; + for (i = 0; i < 32 ; i++) { + dims[i] = (hsize_t_f) c_dims[i]; + } + + + if (ret < 0) return ret_value; + ret_value = 0; + return ret_value; +} + +/*------------------------------------------------------------------------- + * Function: h5ltget_attribute_ndims_c + * + * Purpose: Call H5LTget_attribute_ndims + * + * Return: Success: 0, Failure: -1 + * + * Programmer: pvn@ncsa.uiuc.edu + * + * Date: October 05, 2004 + * + * Comments: + * + * Modifications: + * + * + *------------------------------------------------------------------------- + */ + +int_f +nh5ltget_attribute_ndims_c(hid_t_f *loc_id, + int_f *namelen, + _fcd dsetname, + int_f *attrnamelen, + _fcd attrname, + int_f *rank) +{ + int ret_value = -1; + herr_t ret; + hid_t c_loc_id; + char *c_name; + char *c_attrname; + int c_namelen; + int c_attrnamelen; + +/* + * Convert FORTRAN name to C name + */ + c_namelen = *namelen; + c_name = (char *)HD5f2cstring(dsetname, c_namelen); + if (c_name == NULL) return ret_value; + + c_attrnamelen = *attrnamelen; + c_attrname = (char *)HD5f2cstring(attrname, c_attrnamelen); + if (c_attrname == NULL) return ret_value; + +/* + * Call H5LTset_attribute_int function. + */ + c_loc_id = (hid_t)*loc_id; + + ret = H5LTget_attribute_ndims(c_loc_id,c_name,c_attrname,rank); + + if (ret < 0) return ret_value; + ret_value = 0; + return ret_value; +} + + +/*------------------------------------------------------------------------- + * Function: h5ltget_attribute_info_c + * + * Purpose: Call H5LTget_attribute_info + * + * Return: Success: 0, Failure: -1 + * + * Programmer: pvn@ncsa.uiuc.edu + * + * Date: September 09, 2004 + * + * Comments: + * + * Modifications: + * + * + *------------------------------------------------------------------------- + */ + +int_f +nh5ltget_attribute_info_c(hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *attrnamelen, + _fcd attrname, + hsize_t_f *dims, + int_f *type_class, + size_t_f *type_size) +{ + int ret_value = -1; + herr_t ret; + hid_t c_loc_id; + char *c_name; + char *c_attrname; + int c_namelen; + int c_attrnamelen; + H5T_class_t c_classtype; + size_t c_type_size; + hsize_t c_dims[32]; + int i; + +/* + * Convert FORTRAN name to C name + */ + c_namelen = *namelen; + c_name = (char *)HD5f2cstring(name, c_namelen); + if (c_name == NULL) return ret_value; + + c_attrnamelen = *attrnamelen; + c_attrname = (char *)HD5f2cstring(attrname, c_attrnamelen); + if (c_attrname == NULL) return ret_value; + +/* + * Call H5LTget_dataset_ndims function. + */ + c_loc_id = (hid_t)*loc_id; + + ret = H5LTget_attribute_info(c_loc_id,c_name,c_attrname,c_dims,&c_classtype,&c_type_size); + + *type_class = c_classtype; + *type_size = c_type_size; + for (i = 0; i < 32 ; i++) { + dims[i] = (hsize_t_f) c_dims[i]; + } + + + if (ret < 0) return ret_value; + ret_value = 0; + return ret_value; +} |