summaryrefslogtreecommitdiffstats
path: root/hl
diff options
context:
space:
mode:
authorScot Breitenfeld <brtnfld@hdfgroup.org>2015-04-21 19:53:56 (GMT)
committerScot Breitenfeld <brtnfld@hdfgroup.org>2015-04-21 19:53:56 (GMT)
commitc7529c3d838cf7b7ff7033fdc84a324159fc37c4 (patch)
tree5f1cd63e551caa98af9a86ca0760e44bcad8be2f /hl
parent0d947503914597fb30b989b806eb578fbf224808 (diff)
downloadhdf5-c7529c3d838cf7b7ff7033fdc84a324159fc37c4.zip
hdf5-c7529c3d838cf7b7ff7033fdc84a324159fc37c4.tar.gz
hdf5-c7529c3d838cf7b7ff7033fdc84a324159fc37c4.tar.bz2
[svn-r26873] Added BIND(C) and moved to .F90 extension.
Diffstat (limited to 'hl')
-rw-r--r--hl/fortran/src/H5DSfc.c36
-rw-r--r--hl/fortran/src/H5DSff.F90 (renamed from hl/fortran/src/H5DSff.f90)101
-rw-r--r--hl/fortran/src/H5IMfc.c24
-rw-r--r--hl/fortran/src/H5IMff.F90737
-rw-r--r--hl/fortran/src/H5IMff.f90783
-rw-r--r--hl/fortran/src/H5LTf90proto.h76
-rw-r--r--hl/fortran/src/H5LTff.F90 (renamed from hl/fortran/src/H5LTff.f90)0
-rw-r--r--hl/fortran/src/H5TBff.F90 (renamed from hl/fortran/src/H5TBff.f90)0
-rw-r--r--hl/fortran/src/Makefile.am12
-rw-r--r--hl/fortran/src/Makefile.in65
10 files changed, 868 insertions, 966 deletions
diff --git a/hl/fortran/src/H5DSfc.c b/hl/fortran/src/H5DSfc.c
index 1de3fff..af054e0 100644
--- a/hl/fortran/src/H5DSfc.c
+++ b/hl/fortran/src/H5DSfc.c
@@ -35,7 +35,7 @@
*-------------------------------------------------------------------------
*/
int_f
-nh5dsset_scale_c(hid_t_f *dsid, _fcd dimname, size_t_f *dimnamelen)
+h5dsset_scale_c(hid_t_f *dsid, _fcd dimname, size_t_f *dimnamelen)
{
char *c_dimname = NULL;
int_f ret_value = 0;
@@ -61,7 +61,7 @@ nh5dsset_scale_c(hid_t_f *dsid, _fcd dimname, size_t_f *dimnamelen)
return ret_value;
-} /* end nh5dsset_scale_c() */
+} /* end h5dsset_scale_c() */
/*-------------------------------------------------------------------------
@@ -80,7 +80,7 @@ nh5dsset_scale_c(hid_t_f *dsid, _fcd dimname, size_t_f *dimnamelen)
*-------------------------------------------------------------------------
*/
int_f
-nh5dsattach_scale_c( hid_t_f *did, hid_t_f *dsid, int_f *idx)
+h5dsattach_scale_c( hid_t_f *did, hid_t_f *dsid, int_f *idx)
{
int_f ret_value = 0;
@@ -94,7 +94,7 @@ nh5dsattach_scale_c( hid_t_f *did, hid_t_f *dsid, int_f *idx)
done:
return ret_value;
-} /* end nh5dsattach_scale_c() */
+} /* end h5dsattach_scale_c() */
/*-------------------------------------------------------------------------
@@ -113,7 +113,7 @@ nh5dsattach_scale_c( hid_t_f *did, hid_t_f *dsid, int_f *idx)
*-------------------------------------------------------------------------
*/
int_f
-nh5dsdetach_scale_c( hid_t_f *did, hid_t_f *dsid, int_f *idx)
+h5dsdetach_scale_c( hid_t_f *did, hid_t_f *dsid, int_f *idx)
{
int_f ret_value = 0;
@@ -127,7 +127,7 @@ nh5dsdetach_scale_c( hid_t_f *did, hid_t_f *dsid, int_f *idx)
done:
return ret_value;
-} /* end nh5dsdetach_scale_c() */
+} /* end h5dsdetach_scale_c() */
/*-------------------------------------------------------------------------
@@ -146,7 +146,7 @@ nh5dsdetach_scale_c( hid_t_f *did, hid_t_f *dsid, int_f *idx)
*-------------------------------------------------------------------------
*/
int_f
-nh5dsis_attached_c( hid_t_f *did, hid_t_f *dsid, int_f *idx, int_f *is_attached)
+h5dsis_attached_c( hid_t_f *did, hid_t_f *dsid, int_f *idx, int_f *is_attached)
{
int_f ret_value = 0;
htri_t c_is_attached;
@@ -163,7 +163,7 @@ nh5dsis_attached_c( hid_t_f *did, hid_t_f *dsid, int_f *idx, int_f *is_attached)
done:
return ret_value;
-} /* end nh5dsis_attached_c() */
+} /* end h5dsis_attached_c() */
/*-------------------------------------------------------------------------
* Function: H5DSis_scale_c
@@ -181,7 +181,7 @@ nh5dsis_attached_c( hid_t_f *did, hid_t_f *dsid, int_f *idx, int_f *is_attached)
*-------------------------------------------------------------------------
*/
int_f
-nh5dsis_scale_c( hid_t_f *did, int_f *is_scale)
+h5dsis_scale_c( hid_t_f *did, int_f *is_scale)
{
int_f ret_value = 0;
htri_t c_is_scale;
@@ -198,7 +198,7 @@ nh5dsis_scale_c( hid_t_f *did, int_f *is_scale)
done:
return ret_value;
-} /* end nh5dsis_scale_c() */
+} /* end h5dsis_scale_c() */
/*-------------------------------------------------------------------------
@@ -217,7 +217,7 @@ nh5dsis_scale_c( hid_t_f *did, int_f *is_scale)
*-------------------------------------------------------------------------
*/
int_f
-nh5dsset_label_c(hid_t_f *did, int_f *idx, _fcd label, size_t_f *labellen)
+h5dsset_label_c(hid_t_f *did, int_f *idx, _fcd label, size_t_f *labellen)
{
char *c_label = NULL;
int_f ret_value = 0;
@@ -242,7 +242,7 @@ nh5dsset_label_c(hid_t_f *did, int_f *idx, _fcd label, size_t_f *labellen)
return ret_value;
-} /* end nh5dsset_label_c() */
+} /* end h5dsset_label_c() */
/*-------------------------------------------------------------------------
* Function: h5dsget_label_c
@@ -260,7 +260,7 @@ nh5dsset_label_c(hid_t_f *did, int_f *idx, _fcd label, size_t_f *labellen)
*-------------------------------------------------------------------------
*/
int_f
-nh5dsget_label_c(hid_t_f *did, int_f *idx, _fcd label, size_t_f *size)
+h5dsget_label_c(hid_t_f *did, int_f *idx, _fcd label, size_t_f *size)
{
char *c_label = NULL;
ssize_t size_c = -1;
@@ -291,7 +291,7 @@ done:
if(c_label) HDfree(c_label);
return ret_value;
-} /* end nh5dsget_label_c() */
+} /* end h5dsget_label_c() */
/*-------------------------------------------------------------------------
* Function: h5dsget_scale_name_c
@@ -309,7 +309,7 @@ done:
*-------------------------------------------------------------------------
*/
int_f
-nh5dsget_scale_name_c(hid_t_f *did, _fcd name, size_t_f *size)
+h5dsget_scale_name_c(hid_t_f *did, _fcd name, size_t_f *size)
{
char *c_scale_name = NULL;
ssize_t size_c = -1;
@@ -338,7 +338,7 @@ done:
if(c_scale_name) HDfree(c_scale_name);
return ret_value;
-} /* end nh5dsget_scale_name_c() */
+} /* end h5dsget_scale_name_c() */
/*-------------------------------------------------------------------------
* Function: H5DSget_num_scales_c
@@ -356,7 +356,7 @@ done:
*-------------------------------------------------------------------------
*/
int_f
-nh5dsget_num_scales_c( hid_t_f *did, int_f *idx, int_f *num_scales)
+h5dsget_num_scales_c( hid_t_f *did, int_f *idx, int_f *num_scales)
{
int_f ret_value = 0;
@@ -370,4 +370,4 @@ nh5dsget_num_scales_c( hid_t_f *did, int_f *idx, int_f *num_scales)
done:
return ret_value;
-} /* end nh5dsget_num_scales_c() */
+} /* end h5dsget_num_scales_c() */
diff --git a/hl/fortran/src/H5DSff.f90 b/hl/fortran/src/H5DSff.F90
index 04540a6..00cf4d8 100644
--- a/hl/fortran/src/H5DSff.f90
+++ b/hl/fortran/src/H5DSff.F90
@@ -19,12 +19,12 @@
MODULE h5ds
+ USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR, C_CHAR, C_FLOAT, C_DOUBLE, C_LOC, C_CHAR
USE h5fortran_types
USE hdf5
CONTAINS
-
!-------------------------------------------------------------------------
! Function: H5DSset_scale_f
!
@@ -60,16 +60,13 @@ CONTAINS
INTEGER(SIZE_T) :: dimname_len ! length of dimname (if present)
INTERFACE
- INTEGER FUNCTION H5DSset_scale_c(dsid, dimname, dimname_len )
-
- USE h5global
+ INTEGER FUNCTION H5DSset_scale_c(dsid, dimname, dimname_len) &
+ BIND(C,NAME='h5dsset_scale_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSSET_SCALE_C'::h5dsset_scale_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dimname
INTEGER(hid_t), INTENT(in) :: dsid ! The dataset to be made a Dimension Scale
- CHARACTER(LEN=*), INTENT(in) :: dimname ! The dimension name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dimname ! The dimension name
INTEGER(SIZE_T), INTENT(in) :: dimname_len
END FUNCTION H5DSset_scale_c
END INTERFACE
@@ -117,13 +114,10 @@ CONTAINS
INTEGER :: c_idx
INTERFACE
- INTEGER FUNCTION H5DSattach_scale_c(did, dsid, idx )
-
- USE h5global
+ INTEGER FUNCTION H5DSattach_scale_c(did, dsid, idx) &
+ BIND(C,NAME='h5dsattach_scale_c')
+ IMPORT :: HID_T
IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSATTACH_SCALE_C':: h5dsattach_scale_c
- !DEC$ENDIF
INTEGER(hid_t), INTENT(in) :: did ! the dataset
INTEGER(hid_t), INTENT(in) :: dsid ! the scale to be attached
INTEGER , INTENT(in) :: idx ! the dimension of did that dsid is associated with.
@@ -170,13 +164,10 @@ CONTAINS
INTEGER :: c_idx
INTERFACE
- INTEGER FUNCTION H5DSdetach_scale_c(did, dsid, idx )
-
- USE h5global
+ INTEGER FUNCTION H5DSdetach_scale_c(did, dsid, idx) &
+ BIND(C,NAME='h5dsdetach_scale_c')
+ IMPORT :: HID_T
IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSDETACH_SCALE_C':: h5dsdetach_scale_c
- !DEC$ENDIF
INTEGER(hid_t), INTENT(in) :: did ! the dataset
INTEGER(hid_t), INTENT(in) :: dsid ! the scale to be detached
INTEGER , INTENT(in) :: idx ! the dimension of did to detach
@@ -227,13 +218,10 @@ CONTAINS
INTEGER :: c_idx
INTERFACE
- INTEGER FUNCTION H5DSis_attached_c(did, dsid, idx, c_is_attached )
-
- USE h5global
+ INTEGER FUNCTION H5DSis_attached_c(did, dsid, idx, c_is_attached) &
+ BIND(C,NAME='h5dsis_attached_c')
+ IMPORT :: HID_T
IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSIS_ATTACHED_C':: h5dsis_attached_c
- !DEC$ENDIF
INTEGER(hid_t), INTENT(in) :: did ! the dataset
INTEGER(hid_t), INTENT(in) :: dsid ! the scale to be detached
INTEGER , INTENT(in) :: idx ! the dimension of did to detach
@@ -292,14 +280,11 @@ CONTAINS
INTEGER :: c_is_scale
INTERFACE
- INTEGER FUNCTION H5DSis_scale_c(did,c_is_scale)
-
- USE h5global
+ INTEGER FUNCTION H5DSis_scale_c(did,c_is_scale) &
+ BIND(C,NAME='h5dsis_scale_c')
+ IMPORT :: HID_T
IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSIS_SCALE_C':: h5dsis_scale_c
- !DEC$ENDIF
- INTEGER(hid_t), INTENT(in) :: did ! the data set to query
+ INTEGER(hid_t), INTENT(in) :: did
INTEGER, INTENT(out) :: c_is_scale
END FUNCTION H5DSis_scale_c
END INTERFACE
@@ -352,17 +337,14 @@ CONTAINS
INTEGER :: c_idx
INTERFACE
- INTEGER FUNCTION H5DSset_label_c(did, idx, label, label_len)
-
- USE h5global
+ INTEGER FUNCTION H5DSset_label_c(did, idx, label, label_len) &
+ BIND(C,NAME='h5dsset_label_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSSET_LABEL_C'::h5dsset_label_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: label
INTEGER(hid_t), INTENT(in) :: did ! The dataset
INTEGER , INTENT(in) :: idx ! The dimension
- CHARACTER(LEN=*), INTENT(in) :: label ! The label
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: label ! The label
INTEGER(SIZE_T), INTENT(in) :: label_len ! Length of label
END FUNCTION H5DSset_label_c
END INTERFACE
@@ -410,17 +392,14 @@ CONTAINS
INTEGER :: c_idx
INTERFACE
- INTEGER FUNCTION H5DSget_label_c(did, idx, label, size)
-
- USE h5global
+ INTEGER FUNCTION H5DSget_label_c(did, idx, label, size) &
+ BIND(C,NAME='h5dsget_label_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSGET_LABEL_C'::h5dsget_label_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: label
INTEGER(hid_t), INTENT(in) :: did ! The dataget
INTEGER , INTENT(in) :: idx ! The dimension
- CHARACTER(LEN=*), INTENT(in) :: label ! The label
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: label ! The label
INTEGER(SIZE_T), INTENT(inout) :: size ! Length of label
END FUNCTION H5DSget_label_c
END INTERFACE
@@ -466,16 +445,13 @@ CONTAINS
INTEGER :: errcode ! Error code
INTERFACE
- INTEGER FUNCTION H5DSget_scale_name_c(did, name, size)
-
- USE h5global
+ INTEGER FUNCTION H5DSget_scale_name_c(did, name, size) &
+ bind(c,name='h5dsget_scale_name_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSGET_SCALE_NAME_C'::h5dsget_scale_name_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
INTEGER(hid_t), INTENT(in) :: did ! The dataget
- CHARACTER(LEN=*), INTENT(out) :: name ! The name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(out) :: name ! The name
INTEGER(SIZE_T), INTENT(inout) :: size ! Length of name
END FUNCTION H5DSget_scale_name_c
END INTERFACE
@@ -518,13 +494,10 @@ CONTAINS
INTEGER :: c_idx
INTERFACE
- INTEGER FUNCTION H5DSget_num_scales_c(did, idx, num_scales)
-
- USE h5global
+ INTEGER FUNCTION H5DSget_num_scales_c(did, idx, num_scales) &
+ BIND(C,NAME='h5dsget_num_scales_c')
+ IMPORT :: HID_T
IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSGET_NUM_SCALES_C':: h5dsget_num_scales_c
- !DEC$ENDIF
INTEGER(hid_t), INTENT(in) :: did ! the dataset
INTEGER , INTENT(in) :: idx ! the dimension of did to query
INTEGER , INTENT(out) :: num_scales ! the number of Dimension Scales associated with did
diff --git a/hl/fortran/src/H5IMfc.c b/hl/fortran/src/H5IMfc.c
index 6acd410..7ad50d6 100644
--- a/hl/fortran/src/H5IMfc.c
+++ b/hl/fortran/src/H5IMfc.c
@@ -39,7 +39,7 @@
*/
int_f
-nh5immake_image_8bit_c (hid_t_f *loc_id,
+h5immake_image_8bit_c (hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
hsize_t_f *width,
@@ -100,7 +100,7 @@ done:
*/
int_f
-nh5imread_image_c (hid_t_f *loc_id,
+h5imread_image_c (hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
int_f *buf)
@@ -153,7 +153,7 @@ done:
*/
int_f
-nh5immake_image_24bit_c (hid_t_f *loc_id,
+h5immake_image_24bit_c (hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
size_t_f *ilen,
@@ -222,7 +222,7 @@ done:
*/
int_f
-nh5imget_image_info_c(hid_t_f *loc_id,
+h5imget_image_info_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
hsize_t_f *width,
@@ -307,7 +307,7 @@ done:
*/
int_f
-nh5imis_image_c(hid_t_f *loc_id,
+h5imis_image_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name)
{
@@ -356,7 +356,7 @@ nh5imis_image_c(hid_t_f *loc_id,
*/
int_f
-nh5immake_palette_c (hid_t_f *loc_id,
+h5immake_palette_c (hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
hsize_t_f *dims,
@@ -411,7 +411,7 @@ done:
*/
int_f
-nh5imlink_palette_c (hid_t_f *loc_id,
+h5imlink_palette_c (hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
size_t_f *ilen,
@@ -476,7 +476,7 @@ done:
*/
int_f
-nh5imunlink_palette_c (hid_t_f *loc_id,
+h5imunlink_palette_c (hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
size_t_f *ilen,
@@ -542,7 +542,7 @@ done:
*/
int_f
-nh5imget_npalettes_c(hid_t_f *loc_id,
+h5imget_npalettes_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
hsize_t_f *npals)
@@ -604,7 +604,7 @@ done:
int_f
-nh5imget_palette_info_c(hid_t_f *loc_id,
+h5imget_palette_info_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
int_f *pal_number,
@@ -671,7 +671,7 @@ done:
int_f
-nh5imget_palette_c(hid_t_f *loc_id,
+h5imget_palette_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
int_f *pal_number,
@@ -729,7 +729,7 @@ done:
*/
int_f
-nh5imis_palette_c(hid_t_f *loc_id,
+h5imis_palette_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name)
{
diff --git a/hl/fortran/src/H5IMff.F90 b/hl/fortran/src/H5IMff.F90
new file mode 100644
index 0000000..64fc644
--- /dev/null
+++ b/hl/fortran/src/H5IMff.F90
@@ -0,0 +1,737 @@
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! 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 file contains FORTRAN90 interfaces for H5IM functions
+!
+
+MODULE h5im
+ USE ISO_C_BINDING
+ USE h5fortran_types
+ USE hdf5
+CONTAINS
+
+!-------------------------------------------------------------------------
+! Function: h5immake_image_8bit_f
+!
+! Purpose: Creates and writes an image an 8 bit image
+!
+! Return: Success: 0, Failure: -1
+!
+! Programmer: pvn@ncsa.uiuc.edu
+!
+! Date: October 05, 2004
+!
+! Comments:
+!
+! Modifications:
+!
+!-------------------------------------------------------------------------
+
+ SUBROUTINE h5immake_image_8bit_f(loc_id,&
+ dset_name,&
+ width,&
+ height,&
+ buf,&
+ errcode )
+
+ IMPLICIT NONE
+
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_HL_DLL)
+!DEC$attributes dllexport :: h5immake_image_8bit_f
+!DEC$endif
+!
+
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t), INTENT(in) :: width ! width of image
+ INTEGER(hsize_t), INTENT(in) :: height ! height of image
+ INTEGER, INTENT(in), DIMENSION(*) :: buf ! buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+
+ INTERFACE
+ INTEGER FUNCTION h5immake_image_8bit_c(loc_id,namelen,dset_name,width,height,buf) &
+ BIND(C,NAME='h5immake_image_8bit_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ INTEGER(size_t) :: namelen ! length of name buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t), INTENT(in) :: width ! width of image
+ INTEGER(hsize_t), INTENT(in) :: height ! height of image
+ INTEGER , INTENT(in), DIMENSION(*) :: buf ! buffer
+ END FUNCTION h5immake_image_8bit_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ errcode = h5immake_image_8bit_c(loc_id,namelen,dset_name,width,height,buf)
+
+ END SUBROUTINE h5immake_image_8bit_f
+
+!-------------------------------------------------------------------------
+! Function: h5imread_image_f
+!
+! Purpose: Reads image data from disk.
+!
+! Return: Success: 0, Failure: -1
+!
+! Programmer: pvn@ncsa.uiuc.edu
+!
+! Date: October 05, 2004
+!
+! Comments:
+!
+! Modifications:
+!
+!-------------------------------------------------------------------------
+ SUBROUTINE h5imread_image_f(loc_id,&
+ dset_name,&
+ buf,&
+ errcode )
+
+ IMPLICIT NONE
+
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_HL_DLL)
+!DEC$attributes dllexport :: h5imread_image_f
+!DEC$endif
+!
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(inout), DIMENSION(*) :: buf ! buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+
+ INTERFACE
+ INTEGER FUNCTION h5imread_image_c(loc_id,namelen,dset_name,buf) &
+ BIND(C,NAME='h5imread_image_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ INTEGER(size_t) :: namelen ! length of name buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(inout), DIMENSION(*) :: buf ! buffer
+ END FUNCTION h5imread_image_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ errcode = h5imread_image_c(loc_id,namelen,dset_name,buf)
+
+ END SUBROUTINE h5imread_image_f
+
+!-------------------------------------------------------------------------
+! Function: h5immake_image_24bit_f
+!
+! Purpose: Creates and writes an image a 24 bit image
+!
+! Return: Success: 0, Failure: -1
+!
+! Programmer: pvn@ncsa.uiuc.edu
+!
+! Date: October 05, 2004
+!
+! Comments:
+!
+! Modifications:
+!
+!-------------------------------------------------------------------------
+
+ SUBROUTINE h5immake_image_24bit_f(loc_id,&
+ dset_name,&
+ width,&
+ height,&
+ il,&
+ buf,&
+ errcode )
+
+ IMPLICIT NONE
+
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_HL_DLL)
+!DEC$attributes dllexport :: h5immake_image_24bit_f
+!DEC$endif
+!
+
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t), INTENT(in) :: width ! width of image
+ INTEGER(hsize_t), INTENT(in) :: height ! height of image
+ CHARACTER(len=*), INTENT(in) :: il ! interlace
+ INTEGER, INTENT(in), DIMENSION(*) :: buf ! buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: ILEN ! name length
+
+ INTERFACE
+ INTEGER FUNCTION h5immake_image_24bit_c(loc_id,namelen,dset_name,ILEN,il,width,height,buf) &
+ BIND(C,NAME='h5immake_image_24bit_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t), INTENT(in) :: width ! width of image
+ INTEGER(hsize_t), INTENT(in) :: height ! height of image
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: il ! interlace
+ INTEGER, INTENT(in), DIMENSION(*) :: buf ! buffer
+ INTEGER(size_t) :: namelen ! length of name buffer
+ INTEGER(size_t) :: ILEN ! name length
+
+ END FUNCTION h5immake_image_24bit_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ ILEN = LEN(il)
+ errcode = h5immake_image_24bit_c(loc_id,namelen,dset_name,ILEN,il,width,height,buf)
+
+ END SUBROUTINE h5immake_image_24bit_f
+
+!-------------------------------------------------------------------------
+! Function: h5imget_image_info_f
+!
+! Purpose: Gets information about an image dataset (dimensions, interlace mode
+! and number of associated palettes).
+!
+! Return: Success: 0, Failure: -1
+!
+! Programmer: pvn@ncsa.uiuc.edu
+!
+! Date: October 05, 2004
+!
+! Comments:
+!
+! Modifications:
+!
+!-------------------------------------------------------------------------
+
+ SUBROUTINE h5imget_image_info_f(loc_id,&
+ dset_name,&
+ width,&
+ height,&
+ planes,&
+ interlace,&
+ npals,&
+ errcode )
+
+ IMPLICIT NONE
+
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_HL_DLL)
+!DEC$attributes dllexport :: h5imget_image_info_f
+!DEC$endif
+!
+
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t), INTENT(inout) :: width ! width of image
+ INTEGER(hsize_t), INTENT(inout) :: height ! height of image
+ INTEGER(hsize_t), INTENT(inout) :: planes ! color planes
+ INTEGER(hsize_t), INTENT(inout) :: npals ! palettes
+ CHARACTER(len=*), INTENT(inout) :: interlace ! interlace
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: ILEN ! name length
+
+ INTERFACE
+ INTEGER FUNCTION h5imget_image_info_c(loc_id,namelen,dset_name,width,height,planes,npals,ILEN,interlace) &
+ BIND(C,NAME='h5imget_image_info_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t), INTENT(inout) :: width ! width of image
+ INTEGER(hsize_t), INTENT(inout) :: height ! height of image
+ INTEGER(hsize_t), INTENT(inout) :: planes ! color planes
+ INTEGER(hsize_t), INTENT(inout) :: npals ! palettes
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(inout) :: interlace ! interlace
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: ILEN ! name length
+ END FUNCTION h5imget_image_info_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ ILEN = LEN(interlace)
+ errcode = h5imget_image_info_c(loc_id,namelen,dset_name,width,height,planes,npals,ILEN,interlace)
+
+ END SUBROUTINE h5imget_image_info_f
+
+!-------------------------------------------------------------------------
+! Function: h5imis_image_f
+!
+! Purpose: Inquires if a dataset is an image
+!
+! Return: Success: 0, Failure: -1
+!
+! Programmer: pvn@ncsa.uiuc.edu
+!
+! Date: October 05, 2004
+!
+! Comments:
+!
+! Modifications:
+!
+!-------------------------------------------------------------------------
+
+ INTEGER FUNCTION h5imis_image_f(loc_id,&
+ dset_name)
+
+ IMPLICIT NONE
+
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_HL_DLL)
+!DEC$attributes dllexport :: h5imis_image_f
+!DEC$endif
+!
+
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+
+ INTERFACE
+ INTEGER FUNCTION h5imis_image_c(loc_id,namelen,dset_name) &
+ BIND(C,NAME='h5imis_image_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ INTEGER(size_t) :: namelen ! length of name buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ END FUNCTION h5imis_image_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ errcode = h5imis_image_c(loc_id,namelen,dset_name)
+ h5imis_image_f = errcode
+
+ END FUNCTION h5imis_image_f
+
+
+!-------------------------------------------------------------------------
+! Function: h5immake_palette_f
+!
+! Purpose: Creates and writes a palette
+!
+! Return: Success: 0, Failure: -1
+!
+! Programmer: pvn@ncsa.uiuc.edu
+!
+! Date: October 06, 2004
+!
+! Comments:
+!
+! Modifications:
+!
+!-------------------------------------------------------------------------
+
+ SUBROUTINE h5immake_palette_f(loc_id,&
+ dset_name,&
+ pal_dims,&
+ buf,&
+ errcode )
+
+ IMPLICIT NONE
+
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_HL_DLL)
+!DEC$attributes dllexport :: h5immake_palette_f
+!DEC$endif
+!
+
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t), INTENT(in), DIMENSION(*) :: pal_dims ! dimensions
+ INTEGER, INTENT(in), DIMENSION(*) :: buf ! buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+
+ INTERFACE
+ INTEGER FUNCTION h5immake_palette_c(loc_id,namelen,dset_name,pal_dims,buf) &
+ BIND(C,NAME='h5immake_palette_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ INTEGER(size_t) :: namelen ! length of name buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t), INTENT(in), DIMENSION(*) :: pal_dims ! dimensions
+ INTEGER, INTENT(in), DIMENSION(*) :: buf ! buffer
+ END FUNCTION h5immake_palette_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ errcode = h5immake_palette_c(loc_id,namelen,dset_name,pal_dims,buf)
+
+ END SUBROUTINE h5immake_palette_f
+
+!-------------------------------------------------------------------------
+! Function: h5imlink_palette_f
+!
+! Purpose: This function attaches a palette to an existing image dataset
+!
+! Return: Success: 0, Failure: -1
+!
+! Programmer: pvn@ncsa.uiuc.edu
+!
+! Date: October 06, 2004
+!
+! Comments:
+!
+! Modifications:
+!
+!-------------------------------------------------------------------------
+
+ SUBROUTINE h5imlink_palette_f(loc_id,&
+ dset_name,&
+ pal_name,&
+ errcode )
+
+ IMPLICIT NONE
+
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_HL_DLL)
+!DEC$attributes dllexport :: h5imlink_palette_f
+!DEC$endif
+!
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(len=*), INTENT(in) :: pal_name ! palette name
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: ILEN ! name length
+
+ INTERFACE
+ INTEGER FUNCTION h5imlink_palette_c(loc_id,namelen,dset_name,ILEN,pal_name) &
+ BIND(C,NAME='h5imlink_palette_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: pal_name ! palette name
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: ILEN ! name length
+ END FUNCTION h5imlink_palette_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ ILEN = LEN(pal_name)
+ errcode = h5imlink_palette_c(loc_id,namelen,dset_name,ILEN,pal_name)
+
+ END SUBROUTINE h5imlink_palette_f
+
+
+!-------------------------------------------------------------------------
+! Function: h5imunlink_palette_f
+!
+! Purpose: This function dettaches a palette to an existing image dataset
+!
+! Return: Success: 0, Failure: -1
+!
+! Programmer: pvn@ncsa.uiuc.edu
+!
+! Date: October 06, 2004
+!
+! Comments:
+!
+! Modifications:
+!
+!-------------------------------------------------------------------------
+
+ SUBROUTINE h5imunlink_palette_f(loc_id,&
+ dset_name,&
+ pal_name,&
+ errcode )
+
+ IMPLICIT NONE
+
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_HL_DLL)
+!DEC$attributes dllexport :: h5imunlink_palette_f
+!DEC$endif
+!
+
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(len=*), INTENT(in) :: pal_name ! palette name
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: ILEN ! name length
+
+ INTERFACE
+ INTEGER FUNCTION h5imunlink_palette_c(loc_id,namelen,dset_name,ILEN,pal_name) &
+ BIND(C,NAME='h5imunlink_palette_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: pal_name ! palette name
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: ILEN ! name length
+ END FUNCTION h5imunlink_palette_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ ILEN = LEN(pal_name)
+ errcode = h5imunlink_palette_c(loc_id,namelen,dset_name,ILEN,pal_name)
+
+ END SUBROUTINE h5imunlink_palette_f
+
+!-------------------------------------------------------------------------
+! Function: h5imget_npalettes_f
+!
+! Purpose: Gets the number of palettes associated to an image
+!
+! Return: Success: 0, Failure: -1
+!
+! Programmer: pvn@ncsa.uiuc.edu
+!
+! Date: October 05, 2004
+!
+! Comments:
+!
+! Modifications:
+!
+!-------------------------------------------------------------------------
+
+ SUBROUTINE h5imget_npalettes_f(loc_id,&
+ dset_name,&
+ npals,&
+ errcode )
+
+ IMPLICIT NONE
+
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_HL_DLL)
+!DEC$attributes dllexport :: h5imget_npalettes_f
+!DEC$endif
+!
+
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t), INTENT(inout) :: npals ! palettes
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+
+ INTERFACE
+ INTEGER FUNCTION h5imget_npalettes_c(loc_id,namelen,dset_name,npals) &
+ BIND(C,NAME='h5imget_npalettes_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t), INTENT(inout) :: npals ! palettes
+ INTEGER(size_t) :: namelen ! name length
+ END FUNCTION h5imget_npalettes_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ errcode = h5imget_npalettes_c(loc_id,namelen,dset_name,npals)
+
+ END SUBROUTINE h5imget_npalettes_f
+
+
+!-------------------------------------------------------------------------
+! Function: h5imget_palette_info_f
+!
+! Purpose: Get palette information
+!
+! Return: Success: 0, Failure: -1
+!
+! Programmer: pvn@ncsa.uiuc.edu
+!
+! Date: October 06, 2004
+!
+! Comments:
+!
+! Modifications:
+!
+!-------------------------------------------------------------------------
+
+ SUBROUTINE h5imget_palette_info_f(loc_id,&
+ dset_name,&
+ pal_number,&
+ dims,&
+ errcode )
+
+ IMPLICIT NONE
+
+
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_HL_DLL)
+!DEC$attributes dllexport :: h5imget_palette_info_f
+!DEC$endif
+!
+
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(in) :: pal_number ! palette number
+ INTEGER(hsize_t), DIMENSION(*), INTENT(inout) :: dims ! dimensions
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+
+ INTERFACE
+ INTEGER FUNCTION h5imget_palette_info_c(loc_id,namelen,dset_name,pal_number,dims) &
+ BIND(C,NAME='h5imget_palette_info_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(in) :: pal_number ! palette number
+ INTEGER(hsize_t), DIMENSION(*), INTENT(inout) :: dims ! dimensions
+ INTEGER(size_t) :: namelen ! name length
+ END FUNCTION h5imget_palette_info_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ errcode = h5imget_palette_info_c(loc_id,namelen,dset_name,pal_number,dims)
+
+ END SUBROUTINE h5imget_palette_info_f
+
+!-------------------------------------------------------------------------
+! Function: h5imget_palette_f
+!
+! Purpose: Reads palette
+!
+! Return: Success: 0, Failure: -1
+!
+! Programmer: pvn@ncsa.uiuc.edu
+!
+! Date: October 06, 2004
+!
+! Comments:
+!
+! Modifications:
+!
+!-------------------------------------------------------------------------
+
+ SUBROUTINE h5imget_palette_f(loc_id,&
+ dset_name,&
+ pal_number,&
+ buf,&
+ errcode )
+
+ IMPLICIT NONE
+
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_HL_DLL)
+!DEC$attributes dllexport :: h5imget_palette_f
+!DEC$endif
+!
+
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(in) :: pal_number ! palette number
+ INTEGER, INTENT(inout), DIMENSION(*) :: buf ! buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+
+ INTERFACE
+ INTEGER FUNCTION h5imget_palette_c(loc_id,namelen,dset_name,pal_number,buf) &
+ BIND(C,NAME='h5imget_palette_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ INTEGER(size_t) :: namelen ! length of name buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(in) :: pal_number ! palette number
+ INTEGER, INTENT(inout), DIMENSION(*) :: buf ! buffer
+ END FUNCTION h5imget_palette_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ errcode = h5imget_palette_c(loc_id,namelen,dset_name,pal_number,buf)
+
+ END SUBROUTINE h5imget_palette_f
+
+
+!-------------------------------------------------------------------------
+! Function: h5imis_palette_f
+!
+! Purpose: Inquires if a dataset is a palette
+!
+! Return: true, false, fail
+!
+! Programmer: pvn@ncsa.uiuc.edu
+!
+! Date: October 06, 2004
+!
+! Comments:
+!
+! Modifications:
+!
+!-------------------------------------------------------------------------
+
+ INTEGER FUNCTION h5imis_palette_f(loc_id,&
+ dset_name)
+
+ IMPLICIT NONE
+
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_HL_DLL)
+!DEC$attributes dllexport :: h5imis_palette_f
+!DEC$endif
+!
+
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+
+ INTERFACE
+ INTEGER FUNCTION h5imis_palette_c(loc_id,namelen,dset_name) &
+ BIND(C,NAME='h5imis_palette_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ INTEGER(size_t) :: namelen ! length of name buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ END FUNCTION h5imis_palette_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ errcode = h5imis_palette_c(loc_id,namelen,dset_name)
+ h5imis_palette_f = errcode
+
+ END FUNCTION h5imis_palette_f
+
+END MODULE H5IM
+
+
+
+
+
diff --git a/hl/fortran/src/H5IMff.f90 b/hl/fortran/src/H5IMff.f90
deleted file mode 100644
index 50c6d8b..0000000
--- a/hl/fortran/src/H5IMff.f90
+++ /dev/null
@@ -1,783 +0,0 @@
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! 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 file contains FORTRAN90 interfaces for H5IM functions
-!
-
-module h5im
-use h5fortran_types
-use hdf5
-contains
-
-
-!-------------------------------------------------------------------------
-! Function: h5immake_image_8bit_f
-!
-! Purpose: Creates and writes an image an 8 bit image
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 05, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-subroutine h5immake_image_8bit_f(loc_id,&
- dset_name,&
- width,&
- height,&
- buf,&
- errcode )
-
- implicit none
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5immake_image_8bit_f
-!DEC$endif
-!
-
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer(hsize_t), intent(in) :: width ! width of image
- integer(hsize_t), intent(in) :: height ! height of image
- integer, intent(in), dimension(*) :: buf ! buffer
- integer :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
-
- interface
- integer function h5immake_image_8bit_c(loc_id,namelen,dset_name,width,height,buf)
- use h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMMAKE_IMAGE_8BIT_C'::h5immake_image_8bit_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- integer(size_t) :: namelen ! length of name buffer
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer(hsize_t), intent(in) :: width ! width of image
- integer(hsize_t), intent(in) :: height ! height of image
- integer , intent(in), dimension(*) :: buf ! buffer
- end function h5immake_image_8bit_c
- end interface
-
- namelen = len(dset_name)
- errcode = h5immake_image_8bit_c(loc_id,namelen,dset_name,width,height,buf)
-
-end subroutine h5immake_image_8bit_f
-
-
-
-!-------------------------------------------------------------------------
-! Function: h5imread_image_f
-!
-! Purpose: Reads image data from disk.
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 05, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-
-subroutine h5imread_image_f(loc_id,&
- dset_name,&
- buf,&
- errcode )
-
- implicit none
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5imread_image_f
-!DEC$endif
-!
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer, intent(inout), dimension(*) :: buf ! buffer
- integer :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
-
- interface
- integer function h5imread_image_c(loc_id,namelen,dset_name,buf)
- use h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMREAD_IMAGE_C'::h5imread_image_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- integer(size_t) :: namelen ! length of name buffer
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer, intent(inout), dimension(*) :: buf ! buffer
- end function h5imread_image_c
- end interface
-
- namelen = len(dset_name)
- errcode = h5imread_image_c(loc_id,namelen,dset_name,buf)
-
-end subroutine h5imread_image_f
-
-
-!-------------------------------------------------------------------------
-! Function: h5immake_image_24bit_f
-!
-! Purpose: Creates and writes an image a 24 bit image
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 05, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-subroutine h5immake_image_24bit_f(loc_id,&
- dset_name,&
- width,&
- height,&
- il,&
- buf,&
- errcode )
-
- implicit none
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5immake_image_24bit_f
-!DEC$endif
-!
-
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer(hsize_t), intent(in) :: width ! width of image
- integer(hsize_t), intent(in) :: height ! height of image
- character(len=*), intent(in) :: il ! interlace
- integer, intent(in), dimension(*) :: buf ! buffer
- integer :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- integer(size_t) :: ilen ! name length
-
- interface
- integer function h5immake_image_24bit_c(loc_id,namelen,dset_name,ilen,il,width,height,buf)
- use h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMMAKE_IMAGE_24BIT_C'::h5immake_image_24bit_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- !DEC$ATTRIBUTES reference :: il
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer(hsize_t), intent(in) :: width ! width of image
- integer(hsize_t), intent(in) :: height ! height of image
- character(len=*), intent(in) :: il ! interlace
- integer, intent(in), dimension(*) :: buf ! buffer
- integer(size_t) :: namelen ! length of name buffer
- integer(size_t) :: ilen ! name length
-
- end function h5immake_image_24bit_c
- end interface
-
- namelen = len(dset_name)
- ilen = len(il)
- errcode = h5immake_image_24bit_c(loc_id,namelen,dset_name,ilen,il,width,height,buf)
-
-end subroutine h5immake_image_24bit_f
-
-
-!-------------------------------------------------------------------------
-! Function: h5imget_image_info_f
-!
-! Purpose: Gets information about an image dataset (dimensions, interlace mode
-! and number of associated palettes).
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 05, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-subroutine h5imget_image_info_f(loc_id,&
- dset_name,&
- width,&
- height,&
- planes,&
- interlace,&
- npals,&
- errcode )
-
- implicit none
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5imget_image_info_f
-!DEC$endif
-!
-
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer(hsize_t), intent(inout) :: width ! width of image
- integer(hsize_t), intent(inout) :: height ! height of image
- integer(hsize_t), intent(inout) :: planes ! color planes
- integer(hsize_t), intent(inout) :: npals ! palettes
- character(len=*), intent(inout) :: interlace ! interlace
- integer :: errcode ! error code
- integer(size_t) :: namelen ! name length
- integer(size_t) :: ilen ! name length
-
- interface
- integer function h5imget_image_info_c(loc_id,namelen,dset_name,width,height,planes,npals,ilen,interlace)
- use h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMGET_IMAGE_INFO_C'::h5imget_image_info_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- !DEC$ATTRIBUTES reference :: interlace
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer(hsize_t), intent(inout) :: width ! width of image
- integer(hsize_t), intent(inout) :: height ! height of image
- integer(hsize_t), intent(inout) :: planes ! color planes
- integer(hsize_t), intent(inout) :: npals ! palettes
- character(len=*), intent(inout) :: interlace ! interlace
- integer(size_t) :: namelen ! name length
- integer(size_t) :: ilen ! name length
- end function h5imget_image_info_c
- end interface
-
- namelen = len(dset_name)
- ilen = len(interlace)
- errcode = h5imget_image_info_c(loc_id,namelen,dset_name,width,height,planes,npals,ilen,interlace)
-
-end subroutine h5imget_image_info_f
-
-
-!-------------------------------------------------------------------------
-! Function: h5imis_image_f
-!
-! Purpose: Inquires if a dataset is an image
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 05, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-integer function h5imis_image_f(loc_id,&
- dset_name)
-
- implicit none
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5imis_image_f
-!DEC$endif
-!
-
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer :: errcode ! error code
- integer(size_t) :: namelen ! name length
-
- interface
- integer function h5imis_image_c(loc_id,namelen,dset_name)
- use h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMIS_IMAGE_C'::h5imis_image_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- integer(size_t) :: namelen ! length of name buffer
- character(len=*), intent(in) :: dset_name ! name of the dataset
- end function h5imis_image_c
- end interface
-
- namelen = len(dset_name)
- errcode = h5imis_image_c(loc_id,namelen,dset_name)
- h5imis_image_f = errcode
-
-end function h5imis_image_f
-
-
-!-------------------------------------------------------------------------
-! Function: h5immake_palette_f
-!
-! Purpose: Creates and writes a palette
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 06, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-subroutine h5immake_palette_f(loc_id,&
- dset_name,&
- pal_dims,&
- buf,&
- errcode )
-
- implicit none
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5immake_palette_f
-!DEC$endif
-!
-
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer(hsize_t), intent(in), dimension(*) :: pal_dims ! dimensions
- integer, intent(in), dimension(*) :: buf ! buffer
- integer :: errcode ! error code
- integer(size_t) :: namelen ! name length
-
- interface
- integer function h5immake_palette_c(loc_id,namelen,dset_name,pal_dims,buf)
- use h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMMAKE_PALETTE_C'::h5immake_palette_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- integer(size_t) :: namelen ! length of name buffer
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer(hsize_t), intent(in), dimension(*) :: pal_dims ! dimensions
- integer, intent(in), dimension(*) :: buf ! buffer
- end function h5immake_palette_c
- end interface
-
- namelen = len(dset_name)
- errcode = h5immake_palette_c(loc_id,namelen,dset_name,pal_dims,buf)
-
-end subroutine h5immake_palette_f
-
-
-
-!-------------------------------------------------------------------------
-! Function: h5imlink_palette_f
-!
-! Purpose: This function attaches a palette to an existing image dataset
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 06, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-subroutine h5imlink_palette_f(loc_id,&
- dset_name,&
- pal_name,&
- errcode )
-
- implicit none
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5imlink_palette_f
-!DEC$endif
-!
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- character(len=*), intent(in) :: pal_name ! palette name
- integer :: errcode ! error code
- integer(size_t) :: namelen ! name length
- integer(size_t) :: ilen ! name length
-
- interface
- integer function h5imlink_palette_c(loc_id,namelen,dset_name,ilen,pal_name)
- use h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMLINK_PALETTE_C'::h5imlink_palette_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- !DEC$ATTRIBUTES reference :: pal_name
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- character(len=*), intent(in) :: pal_name ! palette name
- integer(size_t) :: namelen ! name length
- integer(size_t) :: ilen ! name length
- end function h5imlink_palette_c
- end interface
-
- namelen = len(dset_name)
- ilen = len(pal_name)
- errcode = h5imlink_palette_c(loc_id,namelen,dset_name,ilen,pal_name)
-
-end subroutine h5imlink_palette_f
-
-
-!-------------------------------------------------------------------------
-! Function: h5imunlink_palette_f
-!
-! Purpose: This function dettaches a palette to an existing image dataset
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 06, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-subroutine h5imunlink_palette_f(loc_id,&
- dset_name,&
- pal_name,&
- errcode )
-
- implicit none
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5imunlink_palette_f
-!DEC$endif
-!
-
-
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- character(len=*), intent(in) :: pal_name ! palette name
- integer :: errcode ! error code
- integer(size_t) :: namelen ! name length
- integer(size_t) :: ilen ! name length
-
- interface
- integer function h5imunlink_palette_c(loc_id,namelen,dset_name,ilen,pal_name)
- use h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMUNLINK_PALETTE_C'::h5imunlink_palette_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- !DEC$ATTRIBUTES reference :: pal_name
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- character(len=*), intent(in) :: pal_name ! palette name
- integer(size_t) :: namelen ! name length
- integer(size_t) :: ilen ! name length
- end function h5imunlink_palette_c
- end interface
-
- namelen = len(dset_name)
- ilen = len(pal_name)
- errcode = h5imunlink_palette_c(loc_id,namelen,dset_name,ilen,pal_name)
-
-end subroutine h5imunlink_palette_f
-
-
-
-!-------------------------------------------------------------------------
-! Function: h5imget_npalettes_f
-!
-! Purpose: Gets the number of palettes associated to an image
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 05, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-subroutine h5imget_npalettes_f(loc_id,&
- dset_name,&
- npals,&
- errcode )
-
- implicit none
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5imget_npalettes_f
-!DEC$endif
-!
-
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer(hsize_t), intent(inout) :: npals ! palettes
- integer :: errcode ! error code
- integer(size_t) :: namelen ! name length
-
- interface
- integer function h5imget_npalettes_c(loc_id,namelen,dset_name,npals)
- use h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMGET_NPALETTES_C'::h5imget_npalettes_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer(hsize_t), intent(inout) :: npals ! palettes
- integer(size_t) :: namelen ! name length
- end function h5imget_npalettes_c
- end interface
-
- namelen = len(dset_name)
- errcode = h5imget_npalettes_c(loc_id,namelen,dset_name,npals)
-
-end subroutine h5imget_npalettes_f
-
-
-!-------------------------------------------------------------------------
-! Function: h5imget_palette_info_f
-!
-! Purpose: Get palette information
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 06, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-subroutine h5imget_palette_info_f(loc_id,&
- dset_name,&
- pal_number,&
- dims,&
- errcode )
-
- implicit none
-
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5imget_palette_info_f
-!DEC$endif
-!
-
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer, intent(in) :: pal_number ! palette number
- integer(hsize_t), dimension(*), intent(inout) :: dims ! dimensions
- integer :: errcode ! error code
- integer(size_t) :: namelen ! name length
-
- interface
- integer function h5imget_palette_info_c(loc_id,namelen,dset_name,pal_number,dims)
- use h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMGET_PALETTE_INFO_C'::h5imget_palette_info_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer, intent(in) :: pal_number ! palette number
- integer(hsize_t), dimension(*), intent(inout) :: dims ! dimensions
- integer(size_t) :: namelen ! name length
- end function h5imget_palette_info_c
- end interface
-
- namelen = len(dset_name)
- errcode = h5imget_palette_info_c(loc_id,namelen,dset_name,pal_number,dims)
-
-end subroutine h5imget_palette_info_f
-
-
-
-!-------------------------------------------------------------------------
-! Function: h5imget_palette_f
-!
-! Purpose: Reads palette
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 06, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-
-subroutine h5imget_palette_f(loc_id,&
- dset_name,&
- pal_number,&
- buf,&
- errcode )
-
- implicit none
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5imget_palette_f
-!DEC$endif
-!
-
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer, intent(in) :: pal_number ! palette number
- integer, intent(inout), dimension(*) :: buf ! buffer
- integer :: errcode ! error code
- integer(size_t) :: namelen ! name length
-
- interface
- integer function h5imget_palette_c(loc_id,namelen,dset_name,pal_number,buf)
- use h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMGET_PALETTE_C'::h5imget_palette_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- integer(size_t) :: namelen ! length of name buffer
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer, intent(in) :: pal_number ! palette number
- integer, intent(inout), dimension(*) :: buf ! buffer
- end function h5imget_palette_c
- end interface
-
- namelen = len(dset_name)
- errcode = h5imget_palette_c(loc_id,namelen,dset_name,pal_number,buf)
-
-end subroutine h5imget_palette_f
-
-
-!-------------------------------------------------------------------------
-! Function: h5imis_palette_f
-!
-! Purpose: Inquires if a dataset is a palette
-!
-! Return: true, false, fail
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 06, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-integer function h5imis_palette_f(loc_id,&
- dset_name)
-
- implicit none
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5imis_palette_f
-!DEC$endif
-!
-
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer :: errcode ! error code
- integer(size_t) :: namelen ! name length
-
- interface
- integer function h5imis_palette_c(loc_id,namelen,dset_name)
- use h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMIS_PALETTE_C'::h5imis_palette_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- integer(size_t) :: namelen ! length of name buffer
- character(len=*), intent(in) :: dset_name ! name of the dataset
- end function h5imis_palette_c
- end interface
-
- namelen = len(dset_name)
- errcode = h5imis_palette_c(loc_id,namelen,dset_name)
- h5imis_palette_f = errcode
-
-end function h5imis_palette_f
-
-
-! end
-!
-end module H5IM
-
-
-
-
-
diff --git a/hl/fortran/src/H5LTf90proto.h b/hl/fortran/src/H5LTf90proto.h
index 532d9d8..353b17a 100644
--- a/hl/fortran/src/H5LTf90proto.h
+++ b/hl/fortran/src/H5LTf90proto.h
@@ -27,20 +27,6 @@
H5_FCDLL char* HD5f2cstring (_fcd fdesc, size_t len);
H5_FCDLL void HD5packFstring (char *src, char *dest, size_t len);
-/*
- * Functions from H5DSfc.c
- */
-
-#define nh5dsset_scale_c H5_FC_FUNC_(h5dsset_scale_c, H5DSSET_SCALE_C)
-#define nh5dsattach_scale_c H5_FC_FUNC_(h5dsattach_scale_c, H5DSATTACH_SCALE_C)
-#define nh5dsdetach_scale_c H5_FC_FUNC_(h5dsdetach_scale_c, H5DSDETACH_SCALE_C)
-#define nh5dsis_attached_c H5_FC_FUNC_(h5dsis_attached_c, H5DSIS_ATTACHED_C)
-#define nh5dsis_scale_c H5_FC_FUNC_(h5dsis_scale_c, H5DSIS_SCALE_C)
-#define nh5dsset_label_c H5_FC_FUNC_(h5dsset_label_c, H5DSSET_LABEL_C)
-#define nh5dsget_label_c H5_FC_FUNC_(h5dsget_label_c, H5DSGET_LABEL_C)
-#define nh5dsget_scale_name_c H5_FC_FUNC_(h5dsget_scale_name_c,H5DSGET_SCALE_NAME_C)
-#define nh5dsget_num_scales_c H5_FC_FUNC_(h5dsget_num_scales_c,H5DSGET_NUM_SCALES_C)
-
/*
* Functions from H5LTfc.c
@@ -152,22 +138,6 @@ H5_FCDLL void HD5packFstring (char *src, char *dest, size_t len);
#define nh5ltget_attribute_info_c H5_FC_FUNC_(h5ltget_attribute_info_c, H5LTGET_ATTRIBUTE_INFO_C)
#define nh5ltpath_valid_c H5_FC_FUNC_(h5ltpath_valid_c, H5LTPATH_VALID_C)
-/*-------------------------------------------------------------------------
-* Image
-*-------------------------------------------------------------------------
-*/
-#define nh5immake_image_8bit_c H5_FC_FUNC_(h5immake_image_8bit_c, H5IMMAKE_IMAGE_8BIT_C)
-#define nh5immake_image_24bit_c H5_FC_FUNC_(h5immake_image_24bit_c, H5IMMAKE_IMAGE_24BIT_C)
-#define nh5imread_image_c H5_FC_FUNC_(h5imread_image_c, H5IMREAD_IMAGE_C)
-#define nh5imget_image_info_c H5_FC_FUNC_(h5imget_image_info_c, H5IMGET_IMAGE_INFO_C)
-#define nh5imis_image_c H5_FC_FUNC_(h5imis_image_c, H5IMIS_IMAGE_C)
-#define nh5immake_palette_c H5_FC_FUNC_(h5immake_palette_c, H5IMMAKE_PALETTE_C)
-#define nh5imlink_palette_c H5_FC_FUNC_(h5imlink_palette_c, H5IMLINK_PALETTE_C)
-#define nh5imunlink_palette_c H5_FC_FUNC_(h5imunlink_palette_c, H5IMUNLINK_PALETTE_C)
-#define nh5imget_npalettes_c H5_FC_FUNC_(h5imget_npalettes_c, H5IMGET_NPALETTES_C)
-#define nh5imget_palette_info_c H5_FC_FUNC_(h5imget_palette_info_c, H5IMGET_PALETTE_INFO_C)
-#define nh5imget_palette_c H5_FC_FUNC_(h5imget_palette_c, H5IMGET_PALETTE_C)
-#define nh5imis_palette_c H5_FC_FUNC_(h5imis_palette_c, H5IMIS_PALETTE_C)
/*-------------------------------------------------------------------------
* Table
@@ -203,41 +173,44 @@ H5_FCDLL void HD5packFstring (char *src, char *dest, size_t len);
#define nh5tbget_table_info_c H5_FC_FUNC_(h5tbget_table_info_c, H5TBGET_TABLE_INFO_C)
#define nh5tbget_field_info_c H5_FC_FUNC_(h5tbget_field_info_c, H5TBGET_FIELD_INFO_C)
+/*
+ * Functions from H5DSfc.c
+ */
HDF5_HL_F90CSTUBDLL
int_f
-nh5dsset_scale_c(hid_t_f *dsid, _fcd dimname, size_t_f *dimnamelen);
+h5dsset_scale_c(hid_t_f *dsid, _fcd dimname, size_t_f *dimnamelen);
HDF5_HL_F90CSTUBDLL
int_f
-nh5dsattach_scale_c( hid_t_f *did, hid_t_f *dsid, int_f *idx);
+h5dsattach_scale_c( hid_t_f *did, hid_t_f *dsid, int_f *idx);
HDF5_HL_F90CSTUBDLL
int_f
-nh5dsdetach_scale_c( hid_t_f *did, hid_t_f *dsid, int_f *idx);
+h5dsdetach_scale_c( hid_t_f *did, hid_t_f *dsid, int_f *idx);
HDF5_HL_F90CSTUBDLL
int_f
-nh5dsis_attached_c( hid_t_f *did, hid_t_f *dsid, int_f *idx, int_f *c_is_attached);
+h5dsis_attached_c( hid_t_f *did, hid_t_f *dsid, int_f *idx, int_f *c_is_attached);
HDF5_HL_F90CSTUBDLL
int_f
-nh5dsis_scale_c(hid_t_f *did, int_f *is_scale);
+h5dsis_scale_c(hid_t_f *did, int_f *is_scale);
HDF5_HL_F90CSTUBDLL
int_f
-nh5dsset_label_c(hid_t_f *did, int_f *idx, _fcd label, size_t_f *labellen);
+h5dsset_label_c(hid_t_f *did, int_f *idx, _fcd label, size_t_f *labellen);
HDF5_HL_F90CSTUBDLL
int_f
-nh5dsget_label_c(hid_t_f *did, int_f *idx, _fcd label, size_t_f *size);
+h5dsget_label_c(hid_t_f *did, int_f *idx, _fcd label, size_t_f *size);
HDF5_HL_F90CSTUBDLL
int_f
-nh5dsget_scale_name_c(hid_t_f *did, _fcd label, size_t_f *size);
+h5dsget_scale_name_c(hid_t_f *did, _fcd label, size_t_f *size);
HDF5_HL_F90CSTUBDLL
int_f
-nh5dsget_num_scales_c( hid_t_f *did, int_f *idx, int_f *num_scales);
+h5dsget_num_scales_c( hid_t_f *did, int_f *idx, int_f *num_scales);
HDF5_HL_F90CSTUBDLL
@@ -1206,10 +1179,9 @@ nh5ltpath_valid_c(hid_t_f *loc_id,
* Image
*-------------------------------------------------------------------------
*/
-
HDF5_HL_F90CSTUBDLL
int_f
-nh5immake_image_8bit_c (hid_t_f *loc_id,
+h5immake_image_8bit_c (hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
hsize_t_f *width,
@@ -1217,14 +1189,14 @@ nh5immake_image_8bit_c (hid_t_f *loc_id,
int_f *buf);
HDF5_HL_F90CSTUBDLL
int_f
-nh5imread_image_c (hid_t_f *loc_id,
+h5imread_image_c (hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
int_f *buf);
HDF5_HL_F90CSTUBDLL
int_f
-nh5immake_image_24bit_c (hid_t_f *loc_id,
+h5immake_image_24bit_c (hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
size_t_f *ilen,
@@ -1234,7 +1206,7 @@ nh5immake_image_24bit_c (hid_t_f *loc_id,
void *buf);
HDF5_HL_F90CSTUBDLL
int_f
-nh5imget_image_info_c(hid_t_f *loc_id,
+h5imget_image_info_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
hsize_t_f *width,
@@ -1247,14 +1219,14 @@ nh5imget_image_info_c(hid_t_f *loc_id,
HDF5_HL_F90CSTUBDLL
int_f
-nh5imis_image_c(hid_t_f *loc_id,
+h5imis_image_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name);
HDF5_HL_F90CSTUBDLL
int_f
-nh5immake_palette_c (hid_t_f *loc_id,
+h5immake_palette_c (hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
hsize_t_f *dims,
@@ -1262,7 +1234,7 @@ nh5immake_palette_c (hid_t_f *loc_id,
HDF5_HL_F90CSTUBDLL
int_f
-nh5imlink_palette_c (hid_t_f *loc_id,
+h5imlink_palette_c (hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
size_t_f *ilen,
@@ -1270,7 +1242,7 @@ nh5imlink_palette_c (hid_t_f *loc_id,
HDF5_HL_F90CSTUBDLL
int_f
-nh5imunlink_palette_c (hid_t_f *loc_id,
+h5imunlink_palette_c (hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
size_t_f *ilen,
@@ -1278,7 +1250,7 @@ nh5imunlink_palette_c (hid_t_f *loc_id,
HDF5_HL_F90CSTUBDLL
int_f
-nh5imget_npalettes_c(hid_t_f *loc_id,
+h5imget_npalettes_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
hsize_t_f *npals);
@@ -1286,7 +1258,7 @@ nh5imget_npalettes_c(hid_t_f *loc_id,
HDF5_HL_F90CSTUBDLL
int_f
-nh5imget_palette_info_c(hid_t_f *loc_id,
+h5imget_palette_info_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
int_f *pal_number,
@@ -1294,7 +1266,7 @@ nh5imget_palette_info_c(hid_t_f *loc_id,
HDF5_HL_F90CSTUBDLL
int_f
-nh5imget_palette_c(hid_t_f *loc_id,
+h5imget_palette_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
int_f *pal_number,
@@ -1302,7 +1274,7 @@ nh5imget_palette_c(hid_t_f *loc_id,
HDF5_HL_F90CSTUBDLL
int_f
-nh5imis_palette_c(hid_t_f *loc_id,
+h5imis_palette_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name);
diff --git a/hl/fortran/src/H5LTff.f90 b/hl/fortran/src/H5LTff.F90
index 9393f7f..9393f7f 100644
--- a/hl/fortran/src/H5LTff.f90
+++ b/hl/fortran/src/H5LTff.F90
diff --git a/hl/fortran/src/H5TBff.f90 b/hl/fortran/src/H5TBff.F90
index 5846f49..5846f49 100644
--- a/hl/fortran/src/H5TBff.f90
+++ b/hl/fortran/src/H5TBff.F90
diff --git a/hl/fortran/src/Makefile.am b/hl/fortran/src/Makefile.am
index c8c4541..0668230 100644
--- a/hl/fortran/src/Makefile.am
+++ b/hl/fortran/src/Makefile.am
@@ -42,12 +42,12 @@ endif
# Source files for the library
#if BUILD_PARALLEL_CONDITIONAL
-# PARALLEL_COND_SRC=HDFDmpiof.c HDF5mpio.f90
+# PARALLEL_COND_SRC=HDFDmpiof.c HDF5mpio.F90
#endif
# List sources to include in the HDF5 HL Fortran library.
libhdf5hl_fortran_la_SOURCES=H5DSfc.c H5LTfc.c H5IMfc.c H5IMcc.c H5TBfc.c \
- H5DSff.f90 H5LTff.f90 H5IMff.f90 H5TBff.f90
+ H5DSff.F90 H5LTff.F90 H5IMff.F90 H5TBff.F90
# HDF5 HL Fortran library depends on HDF5 Library.
libhdf5hl_fortran_la_LIBADD=$(LIBH5_HL) $(LIBH5F)
@@ -79,9 +79,9 @@ uninstall-local:
# determining this automagically (like we do with the C files). So, when
# doing a parallel make, some modules could be made way before the
# modules they depend upon are actually made. *sigh*
-H5DSff.lo: $(srcdir)/H5DSff.f90
-H5LTff.lo: $(srcdir)/H5LTff.f90
-H5IMff.lo: $(srcdir)/H5IMff.f90
-H5TBff.lo: $(srcdir)/H5TBff.f90
+H5DSff.lo: $(srcdir)/H5DSff.F90
+H5LTff.lo: $(srcdir)/H5LTff.F90
+H5IMff.lo: $(srcdir)/H5IMff.F90
+H5TBff.lo: $(srcdir)/H5TBff.F90
include $(top_srcdir)/config/conclude.am
diff --git a/hl/fortran/src/Makefile.in b/hl/fortran/src/Makefile.in
index cdf2d44..510e4148 100644
--- a/hl/fortran/src/Makefile.in
+++ b/hl/fortran/src/Makefile.in
@@ -174,6 +174,24 @@ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran
depcomp = $(SHELL) $(top_srcdir)/bin/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
+PPFCCOMPILE = $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS)
+LTPPFCCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=FC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(FC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_FCFLAGS) $(FCFLAGS)
+AM_V_PPFC = $(am__v_PPFC_@AM_V@)
+am__v_PPFC_ = $(am__v_PPFC_@AM_DEFAULT_V@)
+am__v_PPFC_0 = @echo " PPFC " $@;
+am__v_PPFC_1 =
+FCLD = $(FC)
+FCLINK = $(LIBTOOL) $(AM_V_lt) --tag=FC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(FCLD) $(AM_FCFLAGS) $(FCFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_FCLD = $(am__v_FCLD_@AM_V@)
+am__v_FCLD_ = $(am__v_FCLD_@AM_DEFAULT_V@)
+am__v_FCLD_0 = @echo " FCLD " $@;
+am__v_FCLD_1 =
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
@@ -192,21 +210,6 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
-FCCOMPILE = $(FC) $(AM_FCFLAGS) $(FCFLAGS)
-LTFCCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=FC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(FC) $(AM_FCFLAGS) $(FCFLAGS)
-AM_V_FC = $(am__v_FC_@AM_V@)
-am__v_FC_ = $(am__v_FC_@AM_DEFAULT_V@)
-am__v_FC_0 = @echo " FC " $@;
-am__v_FC_1 =
-FCLD = $(FC)
-FCLINK = $(LIBTOOL) $(AM_V_lt) --tag=FC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(FCLD) $(AM_FCFLAGS) $(FCFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_FCLD = $(am__v_FCLD_@AM_V@)
-am__v_FCLD_ = $(am__v_FCLD_@AM_DEFAULT_V@)
-am__v_FCLD_0 = @echo " FCLD " $@;
-am__v_FCLD_1 =
SOURCES = $(libhdf5hl_fortran_la_SOURCES)
DIST_SOURCES = $(libhdf5hl_fortran_la_SOURCES)
am__can_run_installinfo = \
@@ -689,12 +692,12 @@ libhdf5hl_fortran_la_LDFLAGS = -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVI
# Source files for the library
#if BUILD_PARALLEL_CONDITIONAL
-# PARALLEL_COND_SRC=HDFDmpiof.c HDF5mpio.f90
+# PARALLEL_COND_SRC=HDFDmpiof.c HDF5mpio.F90
#endif
# List sources to include in the HDF5 HL Fortran library.
libhdf5hl_fortran_la_SOURCES = H5DSfc.c H5LTfc.c H5IMfc.c H5IMcc.c H5TBfc.c \
- H5DSff.f90 H5LTff.f90 H5IMff.f90 H5TBff.f90
+ H5DSff.F90 H5LTff.F90 H5IMff.F90 H5TBff.F90
# HDF5 HL Fortran library depends on HDF5 Library.
@@ -722,7 +725,7 @@ TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chkexe_)
all: all-am
.SUFFIXES:
-.SUFFIXES: .c .f90 .lo .log .o .obj .sh .sh$(EXEEXT) .trs
+.SUFFIXES: .F90 .c .lo .log .o .obj .sh .sh$(EXEEXT) .trs
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/config/commence.am $(top_srcdir)/config/lt_vers.am $(top_srcdir)/config/conclude.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
@@ -805,6 +808,15 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5LTfc.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5TBfc.Plo@am__quote@
+.F90.o:
+ $(AM_V_PPFC)$(PPFCCOMPILE) -c -o $@ $<
+
+.F90.obj:
+ $(AM_V_PPFC)$(PPFCCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.F90.lo:
+ $(AM_V_PPFC)$(LTPPFCCOMPILE) -c -o $@ $<
+
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@@ -826,15 +838,6 @@ distclean-compile:
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
-.f90.o:
- $(AM_V_FC)$(FCCOMPILE) -c -o $@ $(FCFLAGS_f90) $<
-
-.f90.obj:
- $(AM_V_FC)$(FCCOMPILE) -c -o $@ $(FCFLAGS_f90) `$(CYGPATH_W) '$<'`
-
-.f90.lo:
- $(AM_V_FC)$(LTFCCOMPILE) -c -o $@ $(FCFLAGS_f90) $<
-
mostlyclean-libtool:
-rm -f *.lo
@@ -1253,10 +1256,10 @@ uninstall-local:
# determining this automagically (like we do with the C files). So, when
# doing a parallel make, some modules could be made way before the
# modules they depend upon are actually made. *sigh*
-H5DSff.lo: $(srcdir)/H5DSff.f90
-H5LTff.lo: $(srcdir)/H5LTff.f90
-H5IMff.lo: $(srcdir)/H5IMff.f90
-H5TBff.lo: $(srcdir)/H5TBff.f90
+H5DSff.lo: $(srcdir)/H5DSff.F90
+H5LTff.lo: $(srcdir)/H5LTff.F90
+H5IMff.lo: $(srcdir)/H5IMff.F90
+H5TBff.lo: $(srcdir)/H5TBff.F90
# lib/progs/tests targets recurse into subdirectories. build-* targets
# build files in this directory.