Commit da9e9fa6 authored by Karl-Hermann Wieners's avatar Karl-Hermann Wieners
Browse files

Reverted change merged from trunk

* r3363: merged changes from branches/cdi_fileDrivenInput
parent 5fc3a98e
......@@ -238,22 +238,12 @@ src/gaussgrid.h -text
src/getline.c -text
src/gribapi.c -text
src/gribapi.h -text
src/gribapi_utilities.c -text
src/gribapi_utilities.h -text
src/grid.c -text
src/grid.h -text
src/ieg.h -text
src/ieglib.c -text
src/input_file.c -text
src/input_file.h -text
src/institution.c -text
src/institution.h -text
src/iterator.c -text
src/iterator.h -text
src/iterator_fallback.c -text
src/iterator_fallback.h -text
src/iterator_grib.c -text
src/iterator_grib.h -text
src/make_cdilib -text
src/make_fint.c -text
src/mo_cdi.f90 -text
......@@ -288,10 +278,6 @@ src/pio_util.c -text
src/pio_util.h -text
src/pkgconfig/cdi.pc.in -text
src/pkgconfig/cdipio.pc.in -text
src/proprietarySystemWorkarounds.c -text
src/proprietarySystemWorkarounds.h -text
src/referenceCounting.c -text
src/referenceCounting.h -text
src/resource_handle.c -text
src/resource_handle.h -text
src/resource_unpack.c -text
......
2015-03-26 Uwe Schulzweida
* merged changes from branches/cdi_fileDrivenInput
2015-03-26 Uwe Schulzweida
* Version 1.6.8 released
......
......@@ -258,7 +258,6 @@ ENABLE_CGRIBEX = @ENABLE_CGRIBEX@
ENABLE_EXTRA = @ENABLE_EXTRA@
ENABLE_GRIB = @ENABLE_GRIB@
ENABLE_IEG = @ENABLE_IEG@
ENABLE_MPI = @ENABLE_MPI@
ENABLE_NC2 = @ENABLE_NC2@
ENABLE_NC4 = @ENABLE_NC4@
ENABLE_NETCDF = @ENABLE_NETCDF@
......
......@@ -231,7 +231,6 @@ ENABLE_CGRIBEX = @ENABLE_CGRIBEX@
ENABLE_EXTRA = @ENABLE_EXTRA@
ENABLE_GRIB = @ENABLE_GRIB@
ENABLE_IEG = @ENABLE_IEG@
ENABLE_MPI = @ENABLE_MPI@
ENABLE_NC2 = @ENABLE_NC2@
ENABLE_NC4 = @ENABLE_NC4@
ENABLE_NETCDF = @ENABLE_NETCDF@
......
......@@ -141,7 +141,7 @@ void version(void)
static
void usage(void)
{
const char *name;
char *name;
int id;
fprintf(stderr, "usage : %s [Option] [ifile] [ofile]\n", Progname);
......
......@@ -279,7 +279,6 @@ ENABLE_CGRIBEX = @ENABLE_CGRIBEX@
ENABLE_EXTRA = @ENABLE_EXTRA@
ENABLE_GRIB = @ENABLE_GRIB@
ENABLE_IEG = @ENABLE_IEG@
ENABLE_MPI = @ENABLE_MPI@
ENABLE_NC2 = @ENABLE_NC2@
ENABLE_NC4 = @ENABLE_NC4@
ENABLE_NETCDF = @ENABLE_NETCDF@
......
......@@ -11,7 +11,7 @@ PROGRAM CDIREADF2003
DOUBLE PRECISION, ALLOCATABLE :: field(:,:)
CHARACTER(kind=c_char), POINTER, DIMENSION(:) :: &
msg, cdi_version
CHARACTER(kind=c_char, LEN = cdi_max_name + 1) :: &
CHARACTER(kind=c_char), DIMENSION(cdi_max_name + 1) :: &
name, longname, units
INTEGER :: name_c_len, longname_c_len, units_c_len
......
......@@ -273,7 +273,6 @@ ENABLE_CGRIBEX = @ENABLE_CGRIBEX@
ENABLE_EXTRA = @ENABLE_EXTRA@
ENABLE_GRIB = @ENABLE_GRIB@
ENABLE_IEG = @ENABLE_IEG@
ENABLE_MPI = @ENABLE_MPI@
ENABLE_NC2 = @ENABLE_NC2@
ENABLE_NC4 = @ENABLE_NC4@
ENABLE_NETCDF = @ENABLE_NETCDF@
......
......@@ -257,7 +257,6 @@ ENABLE_CGRIBEX = @ENABLE_CGRIBEX@
ENABLE_EXTRA = @ENABLE_EXTRA@
ENABLE_GRIB = @ENABLE_GRIB@
ENABLE_IEG = @ENABLE_IEG@
ENABLE_MPI = @ENABLE_MPI@
ENABLE_NC2 = @ENABLE_NC2@
ENABLE_NC4 = @ENABLE_NC4@
ENABLE_NETCDF = @ENABLE_NETCDF@
......
......@@ -40,8 +40,7 @@ class CdiTaxis {
int ntsteps, unit;
int rdate, rtime, vdate, vtime;
int type, calendar, hasBounds;
char name[CHARSIZE];
const char *unitname;
char name[CHARSIZE], *unitname;
};
class CdiZaxis {
......
This diff is collapsed.
......@@ -51,32 +51,18 @@ libcdi_la_SOURCES = \
gaussgrid.h \
gribapi.c \
gribapi.h \
gribapi_utilities.c \
gribapi_utilities.h \
grid.c \
grid.h \
ieg.h \
ieglib.c \
input_file.c \
input_file.h \
institution.c \
institution.h \
iterator.c \
iterator.h \
iterator_fallback.c \
iterator_fallback.h \
iterator_grib.c \
iterator_grib.h \
model.c \
model.h \
namespace.c \
namespace.h \
serialize.h \
serialize.c \
proprietarySystemWorkarounds.c \
proprietarySystemWorkarounds.h \
referenceCounting.c \
referenceCounting.h \
resource_handle.c\
resource_handle.h\
service.h \
......
......@@ -159,11 +159,8 @@ libcdi_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
am_libcdi_la_OBJECTS = basetime.lo binary.lo calendar.lo cdf.lo \
cdf_int.lo cdi_error.lo cdi_util.lo cdiFortran.lo \
cgribexlib.lo dmemory.lo cksum.lo cdi_cksum.lo error.lo \
extralib.lo file.lo gaussgrid.lo gribapi.lo \
gribapi_utilities.lo grid.lo ieglib.lo input_file.lo \
institution.lo iterator.lo iterator_fallback.lo \
iterator_grib.lo model.lo namespace.lo serialize.lo \
proprietarySystemWorkarounds.lo referenceCounting.lo \
extralib.lo file.lo gaussgrid.lo gribapi.lo grid.lo ieglib.lo \
institution.lo model.lo namespace.lo serialize.lo \
resource_handle.lo servicelib.lo stream_cdf.lo \
stream_cgribex.lo stream_ext.lo stream_grb.lo \
stream_gribapi.lo stream_history.lo stream_ieg.lo \
......@@ -293,7 +290,6 @@ ENABLE_CGRIBEX = @ENABLE_CGRIBEX@
ENABLE_EXTRA = @ENABLE_EXTRA@
ENABLE_GRIB = @ENABLE_GRIB@
ENABLE_IEG = @ENABLE_IEG@
ENABLE_MPI = @ENABLE_MPI@
ENABLE_NC2 = @ENABLE_NC2@
ENABLE_NC4 = @ENABLE_NC4@
ENABLE_NETCDF = @ENABLE_NETCDF@
......@@ -498,32 +494,18 @@ libcdi_la_SOURCES = \
gaussgrid.h \
gribapi.c \
gribapi.h \
gribapi_utilities.c \
gribapi_utilities.h \
grid.c \
grid.h \
ieg.h \
ieglib.c \
input_file.c \
input_file.h \
institution.c \
institution.h \
iterator.c \
iterator.h \
iterator_fallback.c \
iterator_fallback.h \
iterator_grib.c \
iterator_grib.h \
model.c \
model.h \
namespace.c \
namespace.h \
serialize.h \
serialize.c \
proprietarySystemWorkarounds.c \
proprietarySystemWorkarounds.h \
referenceCounting.c \
referenceCounting.h \
resource_handle.c\
resource_handle.h\
service.h \
......@@ -752,14 +734,9 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gaussgrid.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gribapi.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gribapi_utilities.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/grid.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ieglib.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/input_file.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/institution.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iterator.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iterator_fallback.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iterator_grib.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/model.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/namespace.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pio.Plo@am__quote@
......@@ -777,8 +754,6 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pio_serialize.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pio_server.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pio_util.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/proprietarySystemWorkarounds.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/referenceCounting.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/resource_handle.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/resource_unpack.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/serialize.Plo@am__quote@
......
......@@ -4,7 +4,7 @@
#if defined (HAVE_LIBNETCDF)
#include <stdlib.h>
#include <netcdf.h>
#include "netcdf.h"
void cdf_create (const char *path, int cmode, int *idp);
int cdf_open (const char *path, int omode, int *idp);
......
......@@ -31,7 +31,6 @@ extern "C" {
/* Error identifier */
#define CDI_NOERR 0 /* No Error */
#define CDI_EEOF -1 /* The end of file was encountered */
#define CDI_ESYSTEM -10 /* Operating system error */
#define CDI_EINVAL -20 /* Invalid argument */
#define CDI_EUFTYPE -21 /* Unsupported file type */
......@@ -223,17 +222,6 @@ extern "C" {
/* number of unsigned char needed to store UUID */
#define CDI_UUID_SIZE 16
/* Structs that are used to return data to the user */
typedef struct CdiParam { int discipline; int category; int number; } CdiParam;
/* Opaque types */
typedef struct CdiIterator CdiIterator;
typedef struct CdiGribIterator CdiGribIterator;
/* CDI control routines */
void cdiReset(void);
......@@ -331,9 +319,8 @@ int streamInqTimestep(int streamID, int tsID);
/* PIO: query currently set timestep id */
int streamInqCurTimestepID(int streamID);
const char* streamFilename(int streamID);
const char* streamFilesuffix(int filetype);
char *streamFilename(int streamID);
const char *streamFilesuffix(int filetype);
off_t streamNvals(int streamID);
int streamInqNvars ( int streamID );
......@@ -356,7 +343,8 @@ void streamWriteVarSliceF(int streamID, int varID, int levelID, const float *
void streamReadVarSlice(int streamID, int varID, int levelID, double *data_vec, int *nmiss);
void streamReadVarSliceF(int streamID, int varID, int levelID, float *data_vec, int *nmiss);
void streamWriteVarChunk(int streamID, int varID, const int rect[3][2], const double *data_vec, int nmiss);
void streamWriteVarChunk(int streamID, int varID, const int rect[][2],
const double *data_vec, int nmiss);
/* STREAM record I/O routines */
......@@ -370,62 +358,6 @@ void streamCopyRecord(int streamIDdest, int streamIDsrc);
void streamInqGRIBinfo(int streamID, int *intnum, float *fltnum, off_t *bignum);
/* File driven I/O (may yield better performance than using the streamXXX functions) */
//Creation & Destruction
CdiIterator* cdiIterator_new(const char* path); //Requires a subsequent call to cdiIteratorNextField() to point the iterator at the first field.
CdiIterator* cdiIterator_clone(CdiIterator* me);
char* cdiIterator_serialize(CdiIterator* me); //Returns a malloc'ed string.
CdiIterator* cdiIterator_deserialize(const char* description); //description is a string that was returned by cdiIteratorSerialize(). Returns a copy of the original iterator.
void cdiIterator_print(CdiIterator* me, FILE* stream);
void cdiIterator_delete(CdiIterator* me);
//Advancing an iterator
int cdiIterator_nextField(CdiIterator* me); //Points the iterator at the next field, returns CDI_EEOF if there are no more fields in the file.
//Introspecting metadata
//All outXXX arguments to these functions may be NULL.
char* cdiIterator_inqStartTime(CdiIterator* me); //Returns the (start) time as an ISO-8601 coded string. The caller is responsible to free() the returned string.
char* cdiIterator_inqEndTime(CdiIterator* me); //Returns the end time of an integration period as an ISO-8601 coded string, or NULL if there is no end time. The caller is responsible to free() the returned string.
char* cdiIterator_inqVTime(CdiIterator* me); //Returns the validity date as an ISO-8601 coded string. The caller is responsible to free() the returned string.
int cdiIterator_inqLevelType(CdiIterator* me, int levelSelector, char** outName, char** outLongName, char** outStdName, char** outUnit); //callers are responsible to free() strings that they request
int cdiIterator_inqLevel(CdiIterator* me, int levelSelector, double* outValue1, double* outValue2); //outValue2 is only written to if the level is a hybrid level
int cdiIterator_inqLevelUuid(CdiIterator* me, int* outVgridNumber, int* outLevelCount, unsigned char (*outUuid)[CDI_UUID_SIZE]); //outUuid must point to a buffer of 16 bytes, returns an error code if no generalized zaxis is used.
CdiParam cdiIterator_inqParam(CdiIterator* me);
int cdiIterator_inqDatatype(CdiIterator* me);
int cdiIterator_inqTsteptype(CdiIterator* me);
char* cdiIterator_inqVariableName(CdiIterator* me); //The caller is responsible to free() the returned buffer.
int cdiIterator_inqGridId(CdiIterator* me); //The returned id is only valid until the next call to cdiIteratorNextField().
//Reading data
void cdiIterator_readField(CdiIterator* me, double* data_vec, size_t* nmiss);
void cdiIterator_readFieldF(CdiIterator* me, float* data_vec, size_t* nmiss);
//TODO[NH]: Add functions to read partial fields.
//Direct access to grib fields
CdiGribIterator* cdiGribIterator_clone(CdiIterator* me); //Returns NULL if the associated file is not a GRIB file.
void cdiGribIterator_delete(CdiGribIterator* me);
//Callthroughs to GRIB-API
int cdiGribIterator_getLong(CdiGribIterator* me, const char* key, long* value); //Same semantics as grib_get_long().
int cdiGribIterator_getDouble(CdiGribIterator* me, const char* key, double* value); //Same semantics as grib_get_double().
int cdiGribIterator_getLength(CdiGribIterator* me, const char* key, size_t* value); //Same semantics as grib_get_length().
int cdiGribIterator_getString(CdiGribIterator* me, const char* key, char* value, size_t* length); //Same semantics as grib_get_string().
int cdiGribIterator_getSize(CdiGribIterator* me, const char* key, size_t* value); //Same semantics as grib_get_size().
int cdiGribIterator_getLongArray(CdiGribIterator* me, const char* key, long* value, size_t* array_size); //Same semantics as grib_get_long_array().
int cdiGribIterator_getDoubleArray(CdiGribIterator* me, const char* key, double* value, size_t* array_size); //Same semantics as grib_get_double_array().
//Convenience functions for accessing GRIB-API keys
int cdiGribIterator_inqEdition(CdiGribIterator* me);
long cdiGribIterator_inqLongValue(CdiGribIterator* me, const char* key); //Aborts on failure to fetch the given key.
long cdiGribIterator_inqLongDefaultValue(CdiGribIterator* me, const char* key, long defaultValue); //Returns the default value if the given key is not present.
double cdiGribIterator_inqDoubleValue(CdiGribIterator* me, const char* key); //Aborts on failure to fetch the given key.
double cdiGribIterator_inqDoubleDefaultValue(CdiGribIterator* me, const char* key, double defaultValue); //Returns the default value if the given key is not present.
char* cdiGribIterator_inqStringValue(CdiGribIterator* me, const char* key); //Returns a malloc'ed string.
/* VLIST routines */
/* vlistCreate: Create a variable list */
......@@ -554,9 +486,6 @@ void vlistDefVarName(int vlistID, int varID, const char *name);
/* vlistInqVarName: Get the name of a Variable */
void vlistInqVarName(int vlistID, int varID, char *name);
/* vlistCopyVarName: Safe and convenient version of vlistInqVarName */
char* vlistCopyVarName(int vlistId, int varId);
/* vlistDefVarStdname: Define the standard name of a Variable */
void vlistDefVarStdname(int vlistID, int varID, const char *stdname);
......@@ -858,7 +787,7 @@ void gridDefYbounds(int gridID, const double *ybounds_vec);
/* gridInqYbounds: Get the bounds of a Y-axis */
int gridInqYbounds(int gridID, double *ybounds_vec);
void gridDefRowlon(int gridID, int nrowlon, const int* rowlon_vec);
void gridDefRowlon(int gridID, int nrowlon, const int rowlon_vec[]);
void gridInqRowlon(int gridID, int *rowlon_vec);
void gridChangeType(int gridID, int gridtype);
......@@ -1046,7 +975,7 @@ int taxisInqType(int taxisID);
int taxisInqNumavg(int taxisID);
const char* tunitNamePtr(int tunitID);
char *tunitNamePtr(int tunitID);
/* Institut routines */
......@@ -1057,7 +986,7 @@ int institutInqNumber(void);
int institutInqCenter(int instID);
int institutInqSubcenter(int instID);
const char *institutInqNamePtr(int instID);
const char* institutInqLongnamePtr(int instID);
char *institutInqLongnamePtr(int instID);
/* Model routines */
......@@ -1075,7 +1004,7 @@ void tableWrite(const char *filename, int tableID);
int tableRead(const char *tablefile);
int tableDef(int modelID, int tablenum, const char *tablename);
const char* tableInqNamePtr(int tableID);
char *tableInqNamePtr(int tableID);
void tableDefEntry(int tableID, int code, const char *name, const char *longname, const char *units);
int tableInq(int modelID, int tablenum, const char *tablename);
......
......@@ -4,7 +4,7 @@
!
! Author:
! -------
! Uwe Schulzweida, MPI-MET, Hamburg, March 2015
! Uwe Schulzweida, MPI-MET, Hamburg, February 2015
!
INTEGER CDI_MAX_NAME
......@@ -31,8 +31,6 @@
!
INTEGER CDI_NOERR
PARAMETER (CDI_NOERR = 0)
INTEGER CDI_EEOF
PARAMETER (CDI_EEOF = -1)
INTEGER CDI_ESYSTEM
PARAMETER (CDI_ESYSTEM = -10)
INTEGER CDI_EINVAL
......@@ -379,12 +377,6 @@
INTEGER CDI_UUID_SIZE
PARAMETER (CDI_UUID_SIZE = 16)
!
! Structs that are used to return data to the user
!
!
! Opaque types
!
!
! CDI control routines
!
! cdiReset
......@@ -578,6 +570,14 @@
! (INTEGER streamID)
EXTERNAL streamInqCurTimestepID
CHARACTER(80) streamFilename
! (INTEGER streamID)
EXTERNAL streamFilename
CHARACTER(80) streamFilesuffix
! (INTEGER filetype)
EXTERNAL streamFilesuffix
INTEGER streamInqNvars
! (INTEGER streamID)
EXTERNAL streamInqNvars
......@@ -691,9 +691,6 @@
! INTEGER streamIDsrc)
EXTERNAL streamCopyRecord
!
! File driven I/O (may yield better performance than using the streamXXX functions)
!
!
! VLIST routines
!
......@@ -1786,6 +1783,12 @@
! DOUBLEPRECISION ybounds_vec)
EXTERNAL gridInqYbounds
! gridDefRowlon
! (INTEGER gridID,
! INTEGER nrowlon,
! INTEGER rowlon_vec)
EXTERNAL gridDefRowlon
! gridInqRowlon
! (INTEGER gridID,
! INTEGER rowlon_vec)
......@@ -2175,6 +2178,10 @@
! (INTEGER taxisID)
EXTERNAL taxisInqNumavg
CHARACTER(80) tunitNamePtr
! (INTEGER tunitID)
EXTERNAL tunitNamePtr
!
! Institut routines
!
......@@ -2207,6 +2214,10 @@
! (INTEGER instID)
EXTERNAL institutInqNamePtr
CHARACTER(80) institutInqLongnamePtr
! (INTEGER instID)
EXTERNAL institutInqLongnamePtr
!
! Model routines
!
......@@ -2257,6 +2268,10 @@
! CHARACTER*(*) tablename)
EXTERNAL tableDef
CHARACTER(80) tableInqNamePtr
! (INTEGER tableID)
EXTERNAL tableInqNamePtr
! tableDefEntry
! (INTEGER tableID,
! INTEGER code,
......
......@@ -60,12 +60,6 @@
/* number of unsigned char needed to store UUID */
/* Structs that are used to return data to the user */
/* Opaque types */
/* CDI control routines */
FCALLSCSUB0 (cdiReset, CDIRESET, cdireset)
......@@ -124,6 +118,8 @@ FCALLSCFUN1 (INT, streamInqCompLevel, STREAMINQCOMPLEVEL, streaminqcomplevel, IN
FCALLSCFUN2 (INT, streamDefTimestep, STREAMDEFTIMESTEP, streamdeftimestep, INT, INT)
FCALLSCFUN2 (INT, streamInqTimestep, STREAMINQTIMESTEP, streaminqtimestep, INT, INT)
FCALLSCFUN1 (INT, streamInqCurTimestepID, STREAMINQCURTIMESTEPID, streaminqcurtimestepid, INT)
FCALLSCFUN1 (STRING, streamFilename, STREAMFILENAME, streamfilename, INT)
FCALLSCFUN1 (STRING, streamFilesuffix, STREAMFILESUFFIX, streamfilesuffix, INT)
FCALLSCFUN1 (INT, streamInqNvars, STREAMINQNVARS, streaminqnvars, INT)
/* STREAM var I/O routines */
......@@ -147,9 +143,6 @@ FCALLSCSUB3 (streamWriteRecordF, STREAMWRITERECORDF, streamwriterecordf, INT, PF
FCALLSCSUB3 (streamReadRecord, STREAMREADRECORD, streamreadrecord, INT, PDOUBLE, PINT)
FCALLSCSUB2 (streamCopyRecord, STREAMCOPYRECORD, streamcopyrecord, INT, INT)
/* File driven I/O (may yield better performance than using the streamXXX functions) */
/* VLIST routines */
FCALLSCFUN0 (INT, vlistCreate, VLISTCREATE, vlistcreate)
......@@ -380,6 +373,7 @@ FCALLSCSUB2 (gridDefXbounds, GRIDDEFXBOUNDS, griddefxbounds, INT, PDOUBLE)
FCALLSCFUN2 (INT, gridInqXbounds, GRIDINQXBOUNDS, gridinqxbounds, INT, PDOUBLE)
FCALLSCSUB2 (gridDefYbounds, GRIDDEFYBOUNDS, griddefybounds, INT, PDOUBLE)
FCALLSCFUN2 (INT, gridInqYbounds, GRIDINQYBOUNDS, gridinqybounds, INT, PDOUBLE)
FCALLSCSUB3 (gridDefRowlon, GRIDDEFROWLON, griddefrowlon, INT, INT, INTV)
FCALLSCSUB2 (gridInqRowlon, GRIDINQROWLON, gridinqrowlon, INT, PINT)
FCALLSCSUB2 (gridChangeType, GRIDCHANGETYPE, gridchangetype, INT, INT)
FCALLSCSUB2 (gridDefComplexPacking, GRIDDEFCOMPLEXPACKING, griddefcomplexpacking, INT, INT)
......@@ -467,6 +461,7 @@ FCALLSCFUN1 (DOUBLE, taxisInqForecastPeriod, TAXISINQFORECASTPERIOD, taxisinqfor
FCALLSCSUB2 (taxisDefNumavg, TAXISDEFNUMAVG, taxisdefnumavg, INT, INT)
FCALLSCFUN1 (INT, taxisInqType, TAXISINQTYPE, taxisinqtype, INT)
FCALLSCFUN1 (INT, taxisInqNumavg, TAXISINQNUMAVG, taxisinqnumavg, INT)
FCALLSCFUN1 (STRING, tunitNamePtr, TUNITNAMEPTR, tunitnameptr, INT)
/* Institut routines */
......@@ -476,6 +471,7 @@ FCALLSCFUN0 (INT, institutInqNumber, INSTITUTINQNUMBER, institutinqnumber)
FCALLSCFUN1 (INT, institutInqCenter, INSTITUTINQCENTER, institutinqcenter, INT)
FCALLSCFUN1 (INT, institutInqSubcenter, INSTITUTINQSUBCENTER, institutinqsubcenter, INT)
FCALLSCFUN1 (STRING, institutInqNamePtr, INSTITUTINQNAMEPTR, institutinqnameptr, INT)
FCALLSCFUN1 (STRING, institutInqLongnamePtr, INSTITUTINQLONGNAMEPTR, institutinqlongnameptr, INT)
/* Model routines */
......@@ -491,6 +487,7 @@ FCALLSCSUB2 (tableWriteC, TABLEWRITEC, tablewritec, STRING, INT)
FCALLSCSUB2 (tableWrite, TABLEWRITE, tablewrite, STRING, INT)
FCALLSCFUN1 (INT, tableRead, TABLEREAD, tableread, STRING)
FCALLSCFUN3 (INT, tableDef, TABLEDEF, tabledef, INT, INT, STRING)
FCALLSCFUN1 (STRING, tableInqNamePtr, TABLEINQNAMEPTR, tableinqnameptr, INT)
FCALLSCSUB5 (tableDefEntry, TABLEDEFENTRY, tabledefentry, INT, INT, STRING, STRING, STRING)
FCALLSCFUN3 (INT, tableInq, TABLEINQ, tableinq, INT, INT, STRING)
FCALLSCFUN0 (INT, tableInqNumber, TABLEINQNUMBER, tableinqnumber)
......
......@@ -325,15 +325,13 @@ void cdiInitialize(void);
void uuid2str(const unsigned char *uuid, char *uuidstr);
int str2uuid(const char *uuidstr, unsigned char *uuid);
static inline int cdiUUIDIsNull(const unsigned char uuid[CDI_UUID_SIZE])
static inline int
cdiUUIDIsNull(const unsigned char uuid[CDI_UUID_SIZE])
{
static const unsigned char uuid_nil[CDI_UUID_SIZE];
return !memcmp(uuid, uuid_nil, CDI_UUID_SIZE);
}
char* cdiEscapeSpaces(const char* string);
char* cdiUnescapeSpaces(const char* string, const char** outStringEnd);
#define CDI_UNIT_PA 1
#define CDI_UNIT_HPA 2
......
#ifndef _DMEMORY_H
#define _DMEMORY_H
//Ensure that all standard headers that may declare malloc() and friends are already included so that our macros won't clobber their definitions.
#include <stdlib.h>
#ifdef HAVE_MALLOC_H
#include <malloc.h>
#endif
/*
* if DEBUG_MEMORY is defined setenv MEMORY_DEBUG to debug memory
......
This diff is collapsed.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment