Tested platform: Kagiso only since it is only a comment block change. If it works in one machine, it should work in all, I hope. Still need to check the parallel build on copper.
705 lines
14 KiB
C
Executable File
705 lines
14 KiB
C
Executable File
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
|
* Copyright by The HDF Group. *
|
|
* 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://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
|
|
* access to either file, you may request a copy from help@hdfgroup.org. *
|
|
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
|
|
|
/* This files contains C stubs for H5D Fortran APIs */
|
|
|
|
#include "H5IMcc.h"
|
|
#include "H5LTf90proto.h"
|
|
|
|
|
|
/*-------------------------------------------------------------------------
|
|
* Function: h5immake_image_8bit_c
|
|
*
|
|
* Purpose: Call H5IMmake_image_8bit
|
|
*
|
|
* Return: Success: 0, Failure: -1
|
|
*
|
|
* Programmer: pvn@ncsa.uiuc.edu
|
|
*
|
|
* Date: October 05, 2004
|
|
*
|
|
* Comments:
|
|
*
|
|
* Modifications:
|
|
*
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
|
|
int_f
|
|
nh5immake_image_8bit_c (hid_t_f *loc_id,
|
|
int_f *namelen,
|
|
_fcd name,
|
|
hsize_t_f *width,
|
|
hsize_t_f *height,
|
|
int_f *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 = (int)*namelen;
|
|
c_name = (char *)HD5f2cstring(name, c_namelen);
|
|
if (c_name == NULL) return ret_value;
|
|
|
|
/*
|
|
* Call H5IMmake_image_8bitf function.
|
|
*/
|
|
c_loc_id = (hid_t)*loc_id;
|
|
ret = H5IMmake_image_8bitf(c_loc_id,c_name,(hsize_t)*width,(hsize_t)*height,buf);
|
|
|
|
if (ret < 0) return ret_value;
|
|
ret_value = 0;
|
|
return ret_value;
|
|
}
|
|
|
|
/*-------------------------------------------------------------------------
|
|
* Function: h5imread_image_c
|
|
*
|
|
* Purpose: Call H5IMread_image
|
|
*
|
|
* Return: Success: 0, Failure: -1
|
|
*
|
|
* Programmer: pvn@ncsa.uiuc.edu
|
|
*
|
|
* Date: October 05, 2004
|
|
*
|
|
* Comments:
|
|
*
|
|
* Modifications:
|
|
*
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
|
|
int_f
|
|
nh5imread_image_c (hid_t_f *loc_id,
|
|
int_f *namelen,
|
|
_fcd name,
|
|
int_f *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 = (int)*namelen;
|
|
c_name = (char *)HD5f2cstring(name, c_namelen);
|
|
if (c_name == NULL) return ret_value;
|
|
|
|
/*
|
|
* Call H5IMread_image function.
|
|
*/
|
|
c_loc_id = (hid_t)*loc_id;
|
|
|
|
ret = H5IMread_imagef(c_loc_id,c_name,buf);
|
|
|
|
if (ret < 0) return ret_value;
|
|
ret_value = 0;
|
|
return ret_value;
|
|
}
|
|
|
|
/*-------------------------------------------------------------------------
|
|
* Function: h5immake_image_24bit_c
|
|
*
|
|
* Purpose: Call H5IMmake_image_24bit
|
|
*
|
|
* Return: Success: 0, Failure: -1
|
|
*
|
|
* Programmer: pvn@ncsa.uiuc.edu
|
|
*
|
|
* Date: October 05, 2004
|
|
*
|
|
* Comments:
|
|
*
|
|
* Modifications:
|
|
*
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
|
|
int_f
|
|
nh5immake_image_24bit_c (hid_t_f *loc_id,
|
|
int_f *namelen,
|
|
_fcd name,
|
|
int_f *ilen,
|
|
_fcd il,
|
|
hsize_t_f *width,
|
|
hsize_t_f *height,
|
|
void *buf)
|
|
{
|
|
int ret_value = -1;
|
|
herr_t ret;
|
|
hid_t c_loc_id;
|
|
char *c_name;
|
|
int c_namelen;
|
|
char *c_il;
|
|
int c_ilen;
|
|
|
|
/*
|
|
* Convert FORTRAN name to C name
|
|
*/
|
|
c_namelen = *namelen;
|
|
c_name = (char *)HD5f2cstring(name, c_namelen);
|
|
if (c_name == NULL) return ret_value;
|
|
|
|
c_ilen = *ilen;
|
|
c_il = (char *)HD5f2cstring(il, c_ilen);
|
|
if (c_il == NULL) return ret_value;
|
|
|
|
/*
|
|
* Call H5IMmake_image_24bitf function.
|
|
*/
|
|
c_loc_id = (hid_t)*loc_id;
|
|
|
|
ret = H5IMmake_image_24bitf(c_loc_id,c_name,(hsize_t)*width,(hsize_t)*height,c_il,buf);
|
|
|
|
if (ret < 0) return ret_value;
|
|
ret_value = 0;
|
|
return ret_value;
|
|
}
|
|
|
|
/*-------------------------------------------------------------------------
|
|
* Function: h5imget_image_info_c
|
|
*
|
|
* Purpose: Call H5IMget_image_info
|
|
*
|
|
* Return: Success: 0, Failure: -1
|
|
*
|
|
* Programmer: pvn@ncsa.uiuc.edu
|
|
*
|
|
* Date: October 05, 2004
|
|
*
|
|
* Comments:
|
|
*
|
|
* Modifications:
|
|
*
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
|
|
int_f
|
|
nh5imget_image_info_c(hid_t_f *loc_id,
|
|
int_f *namelen,
|
|
_fcd name,
|
|
hsize_t_f *width,
|
|
hsize_t_f *height,
|
|
hsize_t_f *planes,
|
|
hsize_t_f *npals,
|
|
int_f *ilen,
|
|
_fcd interlace)
|
|
{
|
|
int ret_value = -1;
|
|
herr_t ret;
|
|
hid_t c_loc_id;
|
|
char *c_name;
|
|
int c_namelen;
|
|
hsize_t c_width;
|
|
hsize_t c_height;
|
|
hsize_t c_planes;
|
|
hssize_t c_npals;
|
|
char *c_buf=NULL; /* Buffer to hold C string */
|
|
|
|
/*
|
|
* Convert FORTRAN name to C name
|
|
*/
|
|
c_namelen = *namelen;
|
|
c_name = (char *)HD5f2cstring(name, c_namelen);
|
|
if (c_name == NULL) return ret_value;
|
|
|
|
/*
|
|
* Allocate buffer to hold name of an attribute
|
|
*/
|
|
if ((c_buf = malloc((size_t)*ilen +1)) == NULL)
|
|
return ret_value;
|
|
|
|
/*
|
|
* Call H5IMget_image_info function.
|
|
*/
|
|
c_loc_id = (hid_t)*loc_id;
|
|
|
|
ret = H5IMget_image_info(c_loc_id,c_name,&c_width,&c_height,&c_planes,c_buf,&c_npals);
|
|
|
|
*width = (hsize_t_f) c_width;
|
|
*height = (hsize_t_f) c_height;
|
|
*planes = (hsize_t_f) c_planes;
|
|
*npals = (hsize_t_f) c_npals;
|
|
|
|
|
|
/*
|
|
* Convert C name to FORTRAN and place it in the given buffer
|
|
*/
|
|
HD5packFstring(c_buf, _fcdtocp(interlace), (size_t)*ilen);
|
|
|
|
if(c_buf) free(c_buf);
|
|
|
|
if (ret < 0) return ret_value;
|
|
ret_value = 0;
|
|
return ret_value;
|
|
}
|
|
|
|
|
|
/*-------------------------------------------------------------------------
|
|
* Function: h5imis_image_c
|
|
*
|
|
* Purpose: Call H5IMis_image
|
|
*
|
|
* Return: Success: 0, Failure: -1
|
|
*
|
|
* Programmer: pvn@ncsa.uiuc.edu
|
|
*
|
|
* Date: October 06, 2004
|
|
*
|
|
* Comments:
|
|
*
|
|
* Modifications:
|
|
*
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
|
|
int_f
|
|
nh5imis_image_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( H5IMis_image(c_loc_id, c_name));
|
|
|
|
}
|
|
|
|
|
|
/*-------------------------------------------------------------------------
|
|
* Function: h5immake_palette_c
|
|
*
|
|
* Purpose: Call H5IMmake_palette
|
|
*
|
|
* Return: Success: 0, Failure: -1
|
|
*
|
|
* Programmer: pvn@ncsa.uiuc.edu
|
|
*
|
|
* Date: October 06, 2004
|
|
*
|
|
* Comments:
|
|
*
|
|
* Modifications:
|
|
*
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
|
|
int_f
|
|
nh5immake_palette_c (hid_t_f *loc_id,
|
|
int_f *namelen,
|
|
_fcd name,
|
|
hsize_t_f *dims,
|
|
void *buf)
|
|
{
|
|
int ret_value = -1;
|
|
herr_t ret;
|
|
hid_t c_loc_id;
|
|
char *c_name;
|
|
int c_namelen;
|
|
hsize_t *c_dims;
|
|
int i;
|
|
int rank=2;
|
|
|
|
/*
|
|
* 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;
|
|
|
|
for (i = 0; i < rank ; i++) {
|
|
c_dims[i] = dims[i];
|
|
}
|
|
|
|
/*
|
|
* Call H5IMmake_palette function.
|
|
*/
|
|
c_loc_id = (hid_t)*loc_id;
|
|
|
|
ret = H5IMmake_palettef(c_loc_id,c_name,c_dims,buf);
|
|
|
|
free (c_dims);
|
|
|
|
if (ret < 0) return ret_value;
|
|
ret_value = 0;
|
|
return ret_value;
|
|
}
|
|
|
|
|
|
/*-------------------------------------------------------------------------
|
|
* Function: h5imlink_palette_c
|
|
*
|
|
* Purpose: Call H5IMlink_palette
|
|
*
|
|
* Return: Success: 0, Failure: -1
|
|
*
|
|
* Programmer: pvn@ncsa.uiuc.edu
|
|
*
|
|
* Date: October 06, 2004
|
|
*
|
|
* Comments:
|
|
*
|
|
* Modifications:
|
|
*
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
|
|
int_f
|
|
nh5imlink_palette_c (hid_t_f *loc_id,
|
|
int_f *namelen,
|
|
_fcd name,
|
|
int_f *ilen,
|
|
_fcd pal_name)
|
|
{
|
|
int ret_value = -1;
|
|
herr_t ret;
|
|
hid_t c_loc_id;
|
|
char *c_name;
|
|
int c_namelen;
|
|
char *c_namepal;
|
|
int c_namelenpal;
|
|
|
|
|
|
/*
|
|
* Convert FORTRAN name to C name
|
|
*/
|
|
c_namelen = *namelen;
|
|
c_name = (char *)HD5f2cstring(name, c_namelen);
|
|
if (c_name == NULL) return ret_value;
|
|
|
|
c_namelenpal = *ilen;
|
|
c_namepal = (char *)HD5f2cstring(pal_name, c_namelenpal);
|
|
if (c_namepal == NULL) return ret_value;
|
|
|
|
/*
|
|
* Call H5IMlink_palette function.
|
|
*/
|
|
c_loc_id = (hid_t)*loc_id;
|
|
|
|
ret = H5IMlink_palette(c_loc_id,c_name,c_namepal);
|
|
|
|
|
|
if (ret < 0) return ret_value;
|
|
ret_value = 0;
|
|
return ret_value;
|
|
}
|
|
|
|
|
|
/*-------------------------------------------------------------------------
|
|
* Function: h5imunlink_palette_c
|
|
*
|
|
* Purpose: Call H5IMunlink_palette
|
|
*
|
|
* Return: Success: 0, Failure: -1
|
|
*
|
|
* Programmer: pvn@ncsa.uiuc.edu
|
|
*
|
|
* Date: October 06, 2004
|
|
*
|
|
* Comments:
|
|
*
|
|
* Modifications:
|
|
*
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
|
|
int_f
|
|
nh5imunlink_palette_c (hid_t_f *loc_id,
|
|
int_f *namelen,
|
|
_fcd name,
|
|
int_f *ilen,
|
|
_fcd pal_name)
|
|
{
|
|
int ret_value = -1;
|
|
herr_t ret;
|
|
hid_t c_loc_id;
|
|
char *c_name;
|
|
int c_namelen;
|
|
char *c_namepal;
|
|
int c_namelenpal;
|
|
|
|
|
|
/*
|
|
* Convert FORTRAN name to C name
|
|
*/
|
|
c_namelen = *namelen;
|
|
c_name = (char *)HD5f2cstring(name, c_namelen);
|
|
if (c_name == NULL) return ret_value;
|
|
|
|
c_namelenpal = *ilen;
|
|
c_namepal = (char *)HD5f2cstring(pal_name, c_namelenpal);
|
|
if (c_namepal == NULL) return ret_value;
|
|
|
|
/*
|
|
* Call H5IMunlink_palette function.
|
|
*/
|
|
c_loc_id = (hid_t)*loc_id;
|
|
|
|
ret = H5IMunlink_palette(c_loc_id,c_name,c_namepal);
|
|
|
|
|
|
if (ret < 0) return ret_value;
|
|
ret_value = 0;
|
|
return ret_value;
|
|
}
|
|
|
|
|
|
|
|
/*-------------------------------------------------------------------------
|
|
* Function: h5imget_npalettes_c
|
|
*
|
|
* Purpose: Call H5IMget_npalettes
|
|
*
|
|
* Return: Success: 0, Failure: -1
|
|
*
|
|
* Programmer: pvn@ncsa.uiuc.edu
|
|
*
|
|
* Date: October 06 2004
|
|
*
|
|
* Comments:
|
|
*
|
|
* Modifications:
|
|
*
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
|
|
int_f
|
|
nh5imget_npalettes_c(hid_t_f *loc_id,
|
|
int_f *namelen,
|
|
_fcd name,
|
|
hsize_t_f *npals)
|
|
{
|
|
int ret_value = -1;
|
|
herr_t ret;
|
|
hid_t c_loc_id;
|
|
char *c_name;
|
|
int c_namelen;
|
|
hssize_t c_npals;
|
|
|
|
/*
|
|
* Convert FORTRAN name to C name
|
|
*/
|
|
c_namelen = *namelen;
|
|
c_name = (char *)HD5f2cstring(name, c_namelen);
|
|
if (c_name == NULL) return ret_value;
|
|
|
|
/*
|
|
* Call H5IMget_image_info function.
|
|
*/
|
|
c_loc_id = (hid_t)*loc_id;
|
|
|
|
ret = H5IMget_npalettes(c_loc_id,c_name,&c_npals);
|
|
|
|
*npals = (hsize_t_f) c_npals;
|
|
|
|
if (ret < 0) return ret_value;
|
|
ret_value = 0;
|
|
return ret_value;
|
|
}
|
|
|
|
|
|
|
|
/*-------------------------------------------------------------------------
|
|
* Function: h5imget_palette_info_c
|
|
*
|
|
* Purpose: Call H5IMget_palette_info
|
|
*
|
|
* Return: Success: 0, Failure: -1
|
|
*
|
|
* Programmer: pvn@ncsa.uiuc.edu
|
|
*
|
|
* Date: October 06 2004
|
|
*
|
|
* Comments:
|
|
*
|
|
* Modifications:
|
|
*
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
|
|
|
|
int_f
|
|
nh5imget_palette_info_c(hid_t_f *loc_id,
|
|
int_f *namelen,
|
|
_fcd name,
|
|
int_f *pal_number,
|
|
hsize_t_f *dims)
|
|
{
|
|
int ret_value = -1;
|
|
herr_t ret;
|
|
hid_t c_loc_id;
|
|
char *c_name;
|
|
int c_namelen;
|
|
hsize_t c_dims[2];
|
|
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 H5IMget_image_info function.
|
|
*/
|
|
c_loc_id = (hid_t)*loc_id;
|
|
|
|
ret = H5IMget_palette_info(c_loc_id,c_name,*pal_number,c_dims);
|
|
|
|
for (i = 0; i < 2 ; i++) {
|
|
dims[i] = (hsize_t_f) c_dims[i];
|
|
}
|
|
|
|
|
|
if (ret < 0) return ret_value;
|
|
ret_value = 0;
|
|
return ret_value;
|
|
}
|
|
|
|
|
|
/*-------------------------------------------------------------------------
|
|
* Function: h5imget_palette_c
|
|
*
|
|
* Purpose: Call H5IMget_palette
|
|
*
|
|
* Return: Success: 0, Failure: -1
|
|
*
|
|
* Programmer: pvn@ncsa.uiuc.edu
|
|
*
|
|
* Date: October 06 2004
|
|
*
|
|
* Comments:
|
|
*
|
|
* Modifications:
|
|
*
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
|
|
|
|
int_f
|
|
nh5imget_palette_c(hid_t_f *loc_id,
|
|
int_f *namelen,
|
|
_fcd name,
|
|
int_f *pal_number,
|
|
void *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 H5IMget_image_info function.
|
|
*/
|
|
c_loc_id = (hid_t)*loc_id;
|
|
|
|
ret = H5IMget_palettef(c_loc_id,c_name,*pal_number,buf);
|
|
|
|
if (ret < 0) return ret_value;
|
|
ret_value = 0;
|
|
return ret_value;
|
|
}
|
|
|
|
|
|
/*-------------------------------------------------------------------------
|
|
* Function: h5imis_palette_c
|
|
*
|
|
* Purpose: Call H5IMis_palette
|
|
*
|
|
* Return: true, false, fail
|
|
*
|
|
* Programmer: pvn@ncsa.uiuc.edu
|
|
*
|
|
* Date: October 06, 2004
|
|
*
|
|
* Comments:
|
|
*
|
|
* Modifications:
|
|
*
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
|
|
int_f
|
|
nh5imis_palette_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 H5IMis_palette function.
|
|
*/
|
|
c_loc_id = (hid_t)*loc_id;
|
|
|
|
return( H5IMis_palette(c_loc_id, c_name));
|
|
|
|
}
|