Commit 94cffa60 authored by Uwe Schulzweida's avatar Uwe Schulzweida
Browse files

renamed gribapiLibraryVersion() to gribapiLibraryVersionString()

parent e71e31ba
......@@ -128,7 +128,7 @@ void cdiPrintVersion(void)
fprintf(stderr, " CGRIBEX library version : %s\n", cgribexLibraryVersion());
#endif
#if defined (HAVE_LIBGRIB_API)
fprintf(stderr, "GRIB_API library version : %s\n", gribapiLibraryVersion());
fprintf(stderr, "GRIB_API library version : %s\n", gribapiLibraryVersionString());
#endif
#if defined (HAVE_LIBNETCDF)
fprintf(stderr, " netCDF library version : %s\n", cdfLibraryVersion());
......
......@@ -21,7 +21,7 @@ static char gribapi_libvers[64] = "";
static int gribapi_libvers_init;
#endif
const char *gribapiLibraryVersion(void)
const char *gribapiLibraryVersionString(void)
{
#if defined (HAVE_LIBGRIB_API)
if (!gribapi_libvers_init)
......
......@@ -42,7 +42,7 @@
#define GRIB2_GTYPE_GME 100 /* hexagonal GME grid */
#define GRIB2_GTYPE_UNSTRUCTURED 101 /* General Unstructured Grid */
const char *gribapiLibraryVersion(void);
const char *gribapiLibraryVersionString(void);
void gribContainersNew(stream_t * streamptr);
void gribContainersDelete(stream_t * streamptr);
void *gribHandleNew(int editionNumber);
......
......@@ -6,3177 +6,3379 @@ module mo_cdi
private
integer :: CDI_MAX_NAME = 256
integer :: CDI_UNDEFID = -1
integer :: CDI_GLOBAL = -1
integer :: CDI_BIGENDIAN = 0
integer :: CDI_LITTLEENDIAN = 1
integer :: CDI_REAL = 1
integer :: CDI_COMP = 2
integer :: CDI_BOTH = 3
integer :: CDI_ESYSTEM = -10
integer :: CDI_EINVAL = -20
integer :: CDI_EUFTYPE = -21
integer :: CDI_ELIBNAVAIL = -22
integer :: CDI_EUFSTRUCT = -23
integer :: CDI_EUNC4 = -24
integer :: CDI_ELIMIT = -99
integer :: FILETYPE_UNDEF = -1
integer :: FILETYPE_GRB = 1
integer :: FILETYPE_GRB2 = 2
integer :: FILETYPE_NC = 3
integer :: FILETYPE_NC2 = 4
integer :: FILETYPE_NC4 = 5
integer :: FILETYPE_NC4C = 6
integer :: FILETYPE_SRV = 7
integer :: FILETYPE_EXT = 8
integer :: FILETYPE_IEG = 9
integer :: COMPRESS_NONE = 0
integer :: COMPRESS_SZIP = 1
integer :: COMPRESS_GZIP = 2
integer :: COMPRESS_BZIP2 = 3
integer :: COMPRESS_ZIP = 4
integer :: COMPRESS_JPEG = 5
integer :: DATATYPE_PACK = 0
integer :: DATATYPE_PACK1 = 1
integer :: DATATYPE_PACK2 = 2
integer :: DATATYPE_PACK3 = 3
integer :: DATATYPE_PACK4 = 4
integer :: DATATYPE_PACK5 = 5
integer :: DATATYPE_PACK6 = 6
integer :: DATATYPE_PACK7 = 7
integer :: DATATYPE_PACK8 = 8
integer :: DATATYPE_PACK9 = 9
integer :: DATATYPE_PACK10 = 10
integer :: DATATYPE_PACK11 = 11
integer :: DATATYPE_PACK12 = 12
integer :: DATATYPE_PACK13 = 13
integer :: DATATYPE_PACK14 = 14
integer :: DATATYPE_PACK15 = 15
integer :: DATATYPE_PACK16 = 16
integer :: DATATYPE_PACK17 = 17
integer :: DATATYPE_PACK18 = 18
integer :: DATATYPE_PACK19 = 19
integer :: DATATYPE_PACK20 = 20
integer :: DATATYPE_PACK21 = 21
integer :: DATATYPE_PACK22 = 22
integer :: DATATYPE_PACK23 = 23
integer :: DATATYPE_PACK24 = 24
integer :: DATATYPE_PACK25 = 25
integer :: DATATYPE_PACK26 = 26
integer :: DATATYPE_PACK27 = 27
integer :: DATATYPE_PACK28 = 28
integer :: DATATYPE_PACK29 = 29
integer :: DATATYPE_PACK30 = 30
integer :: DATATYPE_PACK31 = 31
integer :: DATATYPE_PACK32 = 32
integer :: DATATYPE_CPX32 = 64
integer :: DATATYPE_CPX64 = 128
integer :: DATATYPE_FLT32 = 132
integer :: DATATYPE_FLT64 = 164
integer :: DATATYPE_INT8 = 208
integer :: DATATYPE_INT16 = 216
integer :: DATATYPE_INT32 = 232
integer :: DATATYPE_UINT8 = 308
integer :: DATATYPE_UINT16 = 316
integer :: DATATYPE_UINT32 = 332
integer :: DATATYPE_INT = 251
integer :: DATATYPE_FLT = 252
integer :: DATATYPE_TXT = 253
integer :: DATATYPE_CPX = 254
integer :: DATATYPE_UCHAR = 255
integer :: CHUNK_AUTO = 1
integer :: CHUNK_GRID = 2
integer :: CHUNK_LINES = 3
integer :: GRID_GENERIC = 1
integer :: GRID_GAUSSIAN = 2
integer :: GRID_GAUSSIAN_REDUCED = 3
integer :: GRID_LONLAT = 4
integer :: GRID_SPECTRAL = 5
integer :: GRID_FOURIER = 6
integer :: GRID_GME = 7
integer :: GRID_TRAJECTORY = 8
integer :: GRID_UNSTRUCTURED = 9
integer :: GRID_CURVILINEAR = 10
integer :: GRID_LCC = 11
integer :: GRID_LCC2 = 12
integer :: GRID_LAEA = 13
integer :: GRID_SINUSOIDAL = 14
integer :: GRID_PROJECTION = 15
integer :: ZAXIS_SURFACE = 0
integer :: ZAXIS_GENERIC = 1
integer :: ZAXIS_HYBRID = 2
integer :: ZAXIS_HYBRID_HALF = 3
integer :: ZAXIS_PRESSURE = 4
integer :: ZAXIS_HEIGHT = 5
integer :: ZAXIS_DEPTH_BELOW_SEA = 6
integer :: ZAXIS_DEPTH_BELOW_LAND = 7
integer :: ZAXIS_ISENTROPIC = 8
integer :: ZAXIS_TRAJECTORY = 9
integer :: ZAXIS_ALTITUDE = 10
integer :: ZAXIS_SIGMA = 11
integer :: ZAXIS_MEANSEA = 12
integer :: ZAXIS_TOA = 13
integer :: ZAXIS_SEA_BOTTOM = 14
integer :: ZAXIS_ATMOSPHERE = 15
integer :: ZAXIS_CLOUD_BASE = 16
integer :: ZAXIS_CLOUD_TOP = 17
integer :: ZAXIS_ISOTHERM_ZERO = 18
integer :: ZAXIS_SNOW = 19
integer :: ZAXIS_LAKE_BOTTOM = 20
integer :: ZAXIS_SEDIMENT_BOTTOM = 21
integer :: ZAXIS_SEDIMENT_BOTTOM_TA = 22
integer :: ZAXIS_SEDIMENT_BOTTOM_TW = 23
integer :: ZAXIS_MIX_LAYER = 24
integer :: ZAXIS_REFERENCE = 25
integer :: TIME_CONSTANT = 0
integer :: TIME_VARIABLE = 1
integer :: TSTEP_CONSTANT = 0
integer :: TSTEP_INSTANT = 1
integer :: TSTEP_AVG = 2
integer :: TSTEP_ACCUM = 3
integer :: TSTEP_MAX = 4
integer :: TSTEP_MIN = 5
integer :: TSTEP_DIFF = 6
integer :: TSTEP_RMS = 7
integer :: TSTEP_SD = 8
integer :: TSTEP_COV = 9
integer :: TSTEP_RATIO = 10
integer :: TSTEP_RANGE = 11
integer :: TSTEP_INSTANT2 = 12
integer :: TSTEP_INSTANT3 = 13
integer :: TAXIS_ABSOLUTE = 1
integer :: TAXIS_RELATIVE = 2
integer :: TAXIS_FORECAST = 3
integer :: TUNIT_SECOND = 1
integer :: TUNIT_MINUTE = 2
integer :: TUNIT_QUARTER = 3
integer :: TUNIT_30MINUTES = 4
integer :: TUNIT_HOUR = 5
integer :: TUNIT_3HOURS = 6
integer :: TUNIT_6HOURS = 7
integer :: TUNIT_12HOURS = 8
integer :: TUNIT_DAY = 9
integer :: TUNIT_MONTH = 10
integer :: TUNIT_YEAR = 11
integer :: CALENDAR_STANDARD = 0
integer :: CALENDAR_PROLEPTIC = 1
integer :: CALENDAR_360DAYS = 2
integer :: CALENDAR_365DAYS = 3
integer :: CALENDAR_366DAYS = 4
integer :: CALENDAR_NONE = 5
integer, parameter :: CDI_MAX_NAME = 256
integer, parameter :: CDI_UNDEFID = -1
integer, parameter :: CDI_GLOBAL = -1
integer, parameter :: CDI_BIGENDIAN = 0
integer, parameter :: CDI_LITTLEENDIAN = 1
integer, parameter :: CDI_REAL = 1
integer, parameter :: CDI_COMP = 2
integer, parameter :: CDI_BOTH = 3
integer, parameter :: CDI_ESYSTEM = -10
integer, parameter :: CDI_EINVAL = -20
integer, parameter :: CDI_EUFTYPE = -21
integer, parameter :: CDI_ELIBNAVAIL = -22
integer, parameter :: CDI_EUFSTRUCT = -23
integer, parameter :: CDI_EUNC4 = -24
integer, parameter :: CDI_ELIMIT = -99
integer, parameter :: FILETYPE_UNDEF = -1
integer, parameter :: FILETYPE_GRB = 1
integer, parameter :: FILETYPE_GRB2 = 2
integer, parameter :: FILETYPE_NC = 3
integer, parameter :: FILETYPE_NC2 = 4
integer, parameter :: FILETYPE_NC4 = 5
integer, parameter :: FILETYPE_NC4C = 6
integer, parameter :: FILETYPE_SRV = 7
integer, parameter :: FILETYPE_EXT = 8
integer, parameter :: FILETYPE_IEG = 9
integer, parameter :: COMPRESS_NONE = 0
integer, parameter :: COMPRESS_SZIP = 1
integer, parameter :: COMPRESS_GZIP = 2
integer, parameter :: COMPRESS_BZIP2 = 3
integer, parameter :: COMPRESS_ZIP = 4
integer, parameter :: COMPRESS_JPEG = 5
integer, parameter :: DATATYPE_PACK = 0
integer, parameter :: DATATYPE_PACK1 = 1
integer, parameter :: DATATYPE_PACK2 = 2
integer, parameter :: DATATYPE_PACK3 = 3
integer, parameter :: DATATYPE_PACK4 = 4
integer, parameter :: DATATYPE_PACK5 = 5
integer, parameter :: DATATYPE_PACK6 = 6
integer, parameter :: DATATYPE_PACK7 = 7
integer, parameter :: DATATYPE_PACK8 = 8
integer, parameter :: DATATYPE_PACK9 = 9
integer, parameter :: DATATYPE_PACK10 = 10
integer, parameter :: DATATYPE_PACK11 = 11
integer, parameter :: DATATYPE_PACK12 = 12
integer, parameter :: DATATYPE_PACK13 = 13
integer, parameter :: DATATYPE_PACK14 = 14
integer, parameter :: DATATYPE_PACK15 = 15
integer, parameter :: DATATYPE_PACK16 = 16
integer, parameter :: DATATYPE_PACK17 = 17
integer, parameter :: DATATYPE_PACK18 = 18
integer, parameter :: DATATYPE_PACK19 = 19
integer, parameter :: DATATYPE_PACK20 = 20
integer, parameter :: DATATYPE_PACK21 = 21
integer, parameter :: DATATYPE_PACK22 = 22
integer, parameter :: DATATYPE_PACK23 = 23
integer, parameter :: DATATYPE_PACK24 = 24
integer, parameter :: DATATYPE_PACK25 = 25
integer, parameter :: DATATYPE_PACK26 = 26
integer, parameter :: DATATYPE_PACK27 = 27
integer, parameter :: DATATYPE_PACK28 = 28
integer, parameter :: DATATYPE_PACK29 = 29
integer, parameter :: DATATYPE_PACK30 = 30
integer, parameter :: DATATYPE_PACK31 = 31
integer, parameter :: DATATYPE_PACK32 = 32
integer, parameter :: DATATYPE_CPX32 = 64
integer, parameter :: DATATYPE_CPX64 = 128
integer, parameter :: DATATYPE_FLT32 = 132
integer, parameter :: DATATYPE_FLT64 = 164
integer, parameter :: DATATYPE_INT8 = 208
integer, parameter :: DATATYPE_INT16 = 216
integer, parameter :: DATATYPE_INT32 = 232
integer, parameter :: DATATYPE_UINT8 = 308
integer, parameter :: DATATYPE_UINT16 = 316
integer, parameter :: DATATYPE_UINT32 = 332
integer, parameter :: DATATYPE_INT = 251
integer, parameter :: DATATYPE_FLT = 252
integer, parameter :: DATATYPE_TXT = 253
integer, parameter :: DATATYPE_CPX = 254
integer, parameter :: DATATYPE_UCHAR = 255
integer, parameter :: CHUNK_AUTO = 1
integer, parameter :: CHUNK_GRID = 2
integer, parameter :: CHUNK_LINES = 3
integer, parameter :: GRID_GENERIC = 1
integer, parameter :: GRID_GAUSSIAN = 2
integer, parameter :: GRID_GAUSSIAN_REDUCED = 3
integer, parameter :: GRID_LONLAT = 4
integer, parameter :: GRID_SPECTRAL = 5
integer, parameter :: GRID_FOURIER = 6
integer, parameter :: GRID_GME = 7
integer, parameter :: GRID_TRAJECTORY = 8
integer, parameter :: GRID_UNSTRUCTURED = 9
integer, parameter :: GRID_CURVILINEAR = 10
integer, parameter :: GRID_LCC = 11
integer, parameter :: GRID_LCC2 = 12
integer, parameter :: GRID_LAEA = 13
integer, parameter :: GRID_SINUSOIDAL = 14
integer, parameter :: GRID_PROJECTION = 15
integer, parameter :: ZAXIS_SURFACE = 0
integer, parameter :: ZAXIS_GENERIC = 1
integer, parameter :: ZAXIS_HYBRID = 2
integer, parameter :: ZAXIS_HYBRID_HALF = 3
integer, parameter :: ZAXIS_PRESSURE = 4
integer, parameter :: ZAXIS_HEIGHT = 5
integer, parameter :: ZAXIS_DEPTH_BELOW_SEA = 6
integer, parameter :: ZAXIS_DEPTH_BELOW_LAND = 7
integer, parameter :: ZAXIS_ISENTROPIC = 8
integer, parameter :: ZAXIS_TRAJECTORY = 9
integer, parameter :: ZAXIS_ALTITUDE = 10
integer, parameter :: ZAXIS_SIGMA = 11
integer, parameter :: ZAXIS_MEANSEA = 12
integer, parameter :: ZAXIS_TOA = 13
integer, parameter :: ZAXIS_SEA_BOTTOM = 14
integer, parameter :: ZAXIS_ATMOSPHERE = 15
integer, parameter :: ZAXIS_CLOUD_BASE = 16
integer, parameter :: ZAXIS_CLOUD_TOP = 17
integer, parameter :: ZAXIS_ISOTHERM_ZERO = 18
integer, parameter :: ZAXIS_SNOW = 19
integer, parameter :: ZAXIS_LAKE_BOTTOM = 20
integer, parameter :: ZAXIS_SEDIMENT_BOTTOM = 21
integer, parameter :: ZAXIS_SEDIMENT_BOTTOM_TA = 22
integer, parameter :: ZAXIS_SEDIMENT_BOTTOM_TW = 23
integer, parameter :: ZAXIS_MIX_LAYER = 24
integer, parameter :: ZAXIS_REFERENCE = 25
integer, parameter :: TIME_CONSTANT = 0
integer, parameter :: TIME_VARIABLE = 1
integer, parameter :: TSTEP_CONSTANT = 0
integer, parameter :: TSTEP_INSTANT = 1
integer, parameter :: TSTEP_AVG = 2
integer, parameter :: TSTEP_ACCUM = 3
integer, parameter :: TSTEP_MAX = 4
integer, parameter :: TSTEP_MIN = 5
integer, parameter :: TSTEP_DIFF = 6
integer, parameter :: TSTEP_RMS = 7
integer, parameter :: TSTEP_SD = 8
integer, parameter :: TSTEP_COV = 9
integer, parameter :: TSTEP_RATIO = 10
integer, parameter :: TSTEP_RANGE = 11
integer, parameter :: TSTEP_INSTANT2 = 12
integer, parameter :: TSTEP_INSTANT3 = 13
integer, parameter :: TAXIS_ABSOLUTE = 1
integer, parameter :: TAXIS_RELATIVE = 2
integer, parameter :: TAXIS_FORECAST = 3
integer, parameter :: TUNIT_SECOND = 1
integer, parameter :: TUNIT_MINUTE = 2
integer, parameter :: TUNIT_QUARTER = 3
integer, parameter :: TUNIT_30MINUTES = 4
integer, parameter :: TUNIT_HOUR = 5
integer, parameter :: TUNIT_3HOURS = 6
integer, parameter :: TUNIT_6HOURS = 7
integer, parameter :: TUNIT_12HOURS = 8
integer, parameter :: TUNIT_DAY = 9
integer, parameter :: TUNIT_MONTH = 10
integer, parameter :: TUNIT_YEAR = 11
integer, parameter :: CALENDAR_STANDARD = 0
integer, parameter :: CALENDAR_PROLEPTIC = 1
integer, parameter :: CALENDAR_360DAYS = 2
integer, parameter :: CALENDAR_365DAYS = 3
integer, parameter :: CALENDAR_366DAYS = 4
integer, parameter :: CALENDAR_NONE = 5
interface
function getchar() bind(c,name='getchar')
import :: c_int
integer(kind=c_int) :: getchar
end function getchar
end interface
interface
function getchar_unlocked() bind(c,name='getchar_unlocked')
import :: c_int
integer(kind=c_int) :: getchar_unlocked
end function getchar_unlocked
end interface
interface
subroutine cdiReset() bind(c,name='cdiReset')
end subroutine cdiReset
end subroutine cdiReset
end interface
interface
character(c_char) function cdiStringError(cdiErrno) bind(c,name='cdiStringError')
function cdiStringError(cdiErrno) bind(c,name='cdiStringError')
import :: c_int,c_char
integer(c_int), value :: cdiErrno
end function cdiStringError
integer(kind=c_int), value :: cdiErrno
character(kind=c_char) :: cdiStringError
end function cdiStringError
end interface
interface
subroutine cdiDebug(debug) bind(c,name='cdiDebug')
import :: c_int
integer(c_int), value :: debug
end subroutine cdiDebug
integer(kind=c_int), value :: debug
end subroutine cdiDebug
end interface
interface
character(c_char) function cdiLibraryVersion() bind(c,name='cdiLibraryVersion')
function cdiLibraryVersion() bind(c,name='cdiLibraryVersion')
import :: c_char
end function cdiLibraryVersion
character(kind=c_char) :: cdiLibraryVersion
end function cdiLibraryVersion
end interface
interface
subroutine cdiPrintVersion() bind(c,name='cdiPrintVersion')
end subroutine cdiPrintVersion
end subroutine cdiPrintVersion
end interface
interface
integer(c_int) function cdiHaveFiletype(filetype) bind(c,name='cdiHaveFiletype')
function cdiHaveFiletype(filetype) bind(c,name='cdiHaveFiletype')
import :: c_int
integer(c_int), value :: filetype
end function cdiHaveFiletype
integer(kind=c_int), value :: filetype
integer(kind=c_int) :: cdiHaveFiletype
end function cdiHaveFiletype
end interface
interface
subroutine cdiDefMissval(missval) bind(c,name='cdiDefMissval')
import :: c_double
real(c_double), value :: missval
end subroutine cdiDefMissval
real(kind=c_double), value :: missval
end subroutine cdiDefMissval
end interface
interface
real(c_double) function cdiInqMissval() bind(c,name='cdiInqMissval')
function cdiInqMissval() bind(c,name='cdiInqMissval')
import :: c_double
end function cdiInqMissval
real(kind=c_double) :: cdiInqMissval
end function cdiInqMissval
end interface
interface
subroutine cdiDefGlobal(string,val) bind(c,name='cdiDefGlobal')
import :: c_char,c_int
character(c_char), dimension(*) :: string
integer(c_int), value :: val
end subroutine cdiDefGlobal
character(kind=c_char), dimension(*) :: string
integer(kind=c_int), value :: val
end subroutine cdiDefGlobal
end interface
interface
integer(c_int) function namespaceNew() bind(c,name='namespaceNew')
function namespaceNew() bind(c,name='namespaceNew')
import :: c_int
end function namespaceNew
integer(kind=c_int) :: namespaceNew
end function namespaceNew
end interface
interface
subroutine namespaceSetActive(namespaceID) bind(c,name='namespaceSetActive')
import :: c_int
integer(c_int), value :: namespaceID
end subroutine namespaceSetActive
integer(kind=c_int), value :: namespaceID
end subroutine namespaceSetActive
end interface
interface
subroutine namespaceDelete(namespaceID) bind(c,name='namespaceDelete')
import :: c_int
integer(c_int), value :: namespaceID
end subroutine namespaceDelete
integer(kind=c_int), value :: namespaceID
end subroutine namespaceDelete
end interface
interface
subroutine cdiParamToString(param,paramstr,maxlen) bind(c,name='cdiParamToString')
import :: c_int,c_char
integer(c_int), value :: param
character(c_char), dimension(*) :: paramstr
integer(c_int), value :: maxlen
end subroutine cdiParamToString
integer(kind=c_int), value :: param
character(kind=c_char), dimension(*) :: paramstr
integer(kind=c_int), value :: maxlen
end subroutine cdiParamToString
end interface
interface
subroutine cdiDecodeParam(param,pnum,pcat,pdis) bind(c,name='cdiDecodeParam')
import :: c_int
integer(c_int), value :: param
integer(c_int), intent(out) :: pnum
integer(c_int), intent(out) :: pcat
integer(c_int), intent(out) :: pdis
end subroutine cdiDecodeParam
integer(kind=c_int), value :: param
integer(kind=c_int), intent(out) :: pnum
integer(kind=c_int), intent(out) :: pcat
integer(kind=c_int), intent(out) :: pdis
end subroutine cdiDecodeParam
end interface
interface
integer(c_int) function cdiEncodeParam(pnum,pcat,pdis) bind(c,name='cdiEncodeParam')
function cdiEncodeParam(pnum,pcat,pdis) bind(c,name='cdiEncodeParam')
import :: c_int
integer(c_int), value :: pnum
integer(c_int), value :: pcat
integer(c_int), value :: pdis
end function cdiEncodeParam
integer(kind=c_int), value :: pnum
integer(kind=c_int), value :: pcat
integer(kind=c_int), value :: pdis
integer(kind=c_int) :: cdiEncodeParam
end function cdiEncodeParam
end interface
interface
subroutine cdiDecodeDate(date,year,month,day) bind(c,name='cdiDecodeDate')
import :: c_int
integer(c_int), value :: date
integer(c_int), intent(out) :: year
integer(c_int), intent(out) :: month
integer(c_int), intent(out) :: day
end subroutine cdiDecodeDate
integer(kind=c_int), value :: date
integer(kind=c_int), intent(out) :: year
integer(kind=c_int), intent(out) :: month
integer(kind=c_int), intent(out) :: day
end subroutine cdiDecodeDate
end interface
interface
integer(c_int) function cdiEncodeDate(year,month,day) bind(c,name='cdiEncodeDate')
function cdiEncodeDate(year,month,day) bind(c,name='cdiEncodeDate')
import :: c_int
integer(c_int), value :: year
integer(c_int), value :: month
integer(c_int), value :: day
end function cdiEncodeDate
integer(kind=c_int), value :: year
integer(kind=c_int), value :: month
integer(kind=c_int), value :: day
integer(kind=c_int) :: cdiEncodeDate
end function cdiEncodeDate
end interface
interface
subroutine cdiDecodeTime(time,hour,minute,second) bind(c,name='cdiDecodeTime')
import :: c_int
integer(c_int), value :: time
integer(c_int), intent(out) :: hour
integer(c_int), intent(out) :: minute
integer(c_int), intent(out) :: second
end subroutine cdiDecodeTime
integer(kind=c_int), value :: time
integer(kind=c_int), intent(out) :: hour
integer(kind=c_int), intent(out) :: minute
integer(kind=c_int), intent(out) :: second<