summaryrefslogtreecommitdiffstats
path: root/hl/fortran/src/H5IMff.f90
diff options
context:
space:
mode:
authorScot Breitenfeld <brtnfld@hdfgroup.org>2015-08-11 01:22:33 (GMT)
committerScot Breitenfeld <brtnfld@hdfgroup.org>2015-08-11 01:22:33 (GMT)
commit3b4696ccd16c2b98e2700a46bf7a5c76ef4a9764 (patch)
treef301ab5333168d7bfa691bee703dd076f569fc46 /hl/fortran/src/H5IMff.f90
parent415eb5512b0726716b5f8f72de3dda11ecff8091 (diff)
downloadhdf5-3b4696ccd16c2b98e2700a46bf7a5c76ef4a9764.zip
hdf5-3b4696ccd16c2b98e2700a46bf7a5c76ef4a9764.tar.gz
hdf5-3b4696ccd16c2b98e2700a46bf7a5c76ef4a9764.tar.bz2
[svn-r27489] reverted merge of branch
Diffstat (limited to 'hl/fortran/src/H5IMff.f90')
-rw-r--r--hl/fortran/src/H5IMff.f90783
1 files changed, 783 insertions, 0 deletions
diff --git a/hl/fortran/src/H5IMff.f90 b/hl/fortran/src/H5IMff.f90
new file mode 100644
index 0000000..50c6d8b
--- /dev/null
+++ b/hl/fortran/src/H5IMff.f90
@@ -0,0 +1,783 @@
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! 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
+
+
+
+
+