/****************************************************************************** * * NSSDC/CDF CDF Standard Interface (II) /FORTRAN. * * Version 3.1, 26-May-05, Raytheon ITSS. * * Modification history: * * V1.0 26-May-05, M Liu Original version (for CDF V3.1). * ******************************************************************************/ /****************************************************************************** * This is the second part of the extended FORTRAN interfaces. ******************************************************************************/ #include "cdflib.h" /****************************************************************************** * CDF_delete_attr. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_delete_attr__, cdf_delete_attr_, cdf_delete_attr, CDF_DELETE_ATTR) (id, attr_num, status) Int32 *id; /* In: CDF identifier. */ Int32 *attr_num; /* In: Attribute number. */ Int32 *status; /* Out: CDF status code. */ { *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), ATTR_, (long) (*attr_num - 1), DELETE_, ATTR_, NULL_); return; } /****************************************************************************** * CDF_get_cachesize. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_cachesize__, cdf_get_cachesize_, cdf_get_cachesize, CDF_GET_CACHESIZE) (id, cache_size, status) Int32 *id; /* In: CDF identifier. */ Int32 *cache_size; /* Out: CDF cache size. */ Int32 *status; /* Out: CDF status code. */ { long cacheSize; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), CONFIRM_, CDF_CACHESIZE_, &cacheSize, NULL_); if (StatusOK(*status)) *cache_size = (Int32) cacheSize; return; } /****************************************************************************** * CDF_get_decoding. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_decoding__, cdf_get_decoding_, cdf_get_decoding, CDF_GET_DECODING) (id, decoding, status) Int32 *id; /* In: CDF identifier. */ Int32 *decoding; /* Out: CDF decoding. */ Int32 *status; /* Out: CDF status code. */ { long decodingT; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), CONFIRM_, CDF_DECODING_, &decodingT, NULL_); if (StatusOK(*status)) *decoding = (Int32) decodingT; return; } /****************************************************************************** * CDF_get_negtoposfp0_mode. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_negtoposfp0_mode__, cdf_get_negtoposfp0_mode_, cdf_get_negtoposfp0_mode, CDF_GET_NEGTOPOSFP0_MODE) (id, negtoposfp0, status) Int32 *id; /* In: CDF identifier. */ Int32 *negtoposfp0; /* Out: CDF NEGtoPOSfp0 mode. */ Int32 *status; /* Out: CDF status code. */ { long negtoposfp0T; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), CONFIRM_, CDF_NEGtoPOSfp0_MODE_, &negtoposfp0T, NULL_); if (StatusOK(*status)) *negtoposfp0 = (Int32) negtoposfp0T; return; } /****************************************************************************** * CDF_get_readonly_mode. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_readonly_mode__, cdf_get_readonly_mode_, cdf_get_readonly_mode, CDF_GET_READONLY_MODE) (id, readonlymode, status) Int32 *id; /* In: CDF identifier. */ Int32 *readonlymode; /* Out: CDF read only mode. */ Int32 *status; /* Out: CDF status code. */ { long readOnlyModeT; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), CONFIRM_, CDF_READONLY_MODE_, &readOnlyModeT, NULL_); if (StatusOK(*status)) *readonlymode = (Int32) readOnlyModeT; return; } /****************************************************************************** * CDF_get_zmode. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_zmode__, cdf_get_zmode_, cdf_get_zmode, CDF_GET_ZMODE) (id, zmode, status) Int32 *id; /* In: CDF identifier. */ Int32 *zmode; /* Out: CDF zMode. */ Int32 *status; /* Out: CDF status code. */ { long zModeT; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), CONFIRM_, CDF_zMODE_, &zModeT, NULL_); if (StatusOK(*status)) *zmode = (Int32) zModeT; return; } /****************************************************************************** * CDF_get_compress_cachesize. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_compress_cachesize__, cdf_get_compress_cachesize_, cdf_get_compress_cachesize, CDF_GET_COMPRESS_CACHESIZE) (id, num_buffers, status) Int32 *id; /* In: CDF identifier. */ Int32 *num_buffers; /* Out: CDF compression cache size. */ Int32 *status; /* Out: CDF status code. */ { long numBuffers; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), CONFIRM_, COMPRESS_CACHESIZE_, &numBuffers, NULL_); if (StatusOK(*status)) *num_buffers = (Int32) numBuffers; return; } /****************************************************************************** * CDF_get_stage_cachesize. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_stage_cachesize__, cdf_get_stage_cachesize_, cdf_get_stage_cachesize, CDF_GET_STAGE_CACHESIZE) (id, num_buffers, status) Int32 *id; /* In: CDF identifier. */ Int32 *num_buffers; /* Out: CDF stage cache size. */ Int32 *status; /* Out: CDF status code. */ { long numBuffers; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), CONFIRM_, STAGE_CACHESIZE_, &numBuffers, NULL_); if (StatusOK(*status)) *num_buffers = (Int32) numBuffers; return; } /****************************************************************************** * CDF_get_zvar_cachesize. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_zvar_cachesize__, cdf_get_zvar_cachesize_, cdf_get_zvar_cachesize, CDF_GET_ZVAR_CACHESIZE) (id, var_num, cache_size, status) Int32 *id; /* In: CDF identifier. */ Int32 *var_num; /* Out: zVariable number. */ Int32 *cache_size; /* Out: zVariable's cache size. */ Int32 *status; /* Out: CDF status code. */ { long cacheSize; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), zVAR_, (long) (*var_num - 1), CONFIRM_, zVAR_CACHESIZE_, &cacheSize, NULL_); if (StatusOK(*status)) *cache_size = (Int32) cacheSize; return; } /****************************************************************************** * CDF_get_zvar_reservepercent. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_zvar_reservepercent__, cdf_get_zvar_reservepercent_, cdf_get_zvar_reservepercent, CDF_GET_ZVAR_RESERVEPERCENT) (id, var_num, reserve_percent, status) Int32 *id; /* In: CDF identifier. */ Int32 *var_num; /* In: zVariable number. */ Int32 *reserve_percent; /* Out: zVariable's reserve percentage. */ Int32 *status; /* Out: CDF status code. */ { long reservePercent; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), zVAR_, (long) (*var_num - 1), CONFIRM_, zVAR_RESERVEPERCENT_, &reservePercent, NULL_); if (StatusOK(*status)) *reserve_percent = (Int32) reservePercent; return; } /****************************************************************************** * CDF_get_zvar_seqpos. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_zvar_seqpos__, cdf_get_zvar_seqpos_, cdf_get_zvar_seqpos, CDF_GET_ZVAR_SEQPOS) (id, var_num, rec_num, indices, status) Int32 *id; /* In: CDF identifier. */ Int32 *var_num; /* In: zVariable number. */ Int32 *rec_num; /* out: zVariable's record number. */ Int32 indices[]; /* Out: zVariable's record indices. */ Int32 *status; /* Out: CDF status code. */ { long numDims, recNum, indicesT[CDF_MAX_DIMS]; int ix; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), zVAR_, (long) (*var_num - 1), GET_, zVAR_NUMDIMS_, &numDims, NULL_); if (StatusBAD(*status)) return; *status = (Int32) CDFlib (CONFIRM_, zVAR_SEQPOS_, &recNum, indicesT, NULL_); if (StatusOK(*status)) { *rec_num = (Int32) (recNum + 1); for (ix = 0; ix < (int) numDims; ix++) indices[ix] = (Int32) (indicesT[ix] + 1); } return; } /****************************************************************************** * CDF_get_attr_name. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_attr_name__, cdf_get_attr_name_, cdf_get_attr_name, CDF_GET_ATTR_NAME) (id, attr_num, attr_name, status Fif_GHOSTARG(len)) Int32 *id; /* In: CDF identifier. */ Int32 *attr_num; /* In: CDF attribute number. */ void *attr_name; /* Out: CDF attribute name. */ Int32 *status; /* Out: CDF status code. */ Fif_GHOSTDEF(len) /* Invisible length of "attr_name" (generated by FORTRAN compiler). */ { char attrName[CDF_ATTR_NAME_LEN256]; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), ATTR_, (long) (*attr_num - 1), GET_, ATTR_NAME_, attrName, NULL_); if (StatusOK(*status)) { #if defined(Fif_GHOSTLEN) CtoFORTstring (attrName, attr_name, Fif_GHOSTUSE(len)); #else CtoFORTstring (attrName, attr_name, CDF_ATTR_NAME_LEN256); #endif } return; } /****************************************************************************** * CDF_get_attr_scope. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_attr_scope__, cdf_get_attr_scope_, cdf_get_attr_scope, CDF_GET_ATTR_SCOPE) (id, attr_num, attr_scope, status) Int32 *id; /* In: CDF identifier. */ Int32 *attr_num; /* In: Attribute number. */ Int32 *attr_scope; /* Out: Attribute scope. */ Int32 *status; /* Out: CDF status code. */ { long scope; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), ATTR_, (long) (*attr_num - 1), GET_, ATTR_SCOPE_, &scope, NULL_); if (StatusBAD(*status)) return; *attr_scope = (Int32) scope; return; } /****************************************************************************** * CDF_delete_attr_gentry. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_delete_attr_gentry__, cdf_delete_attr_gentry_, cdf_delete_attr_gentry, CDF_DELETE_ATTR_GENTRY) (id, attr_num, entry_num, status) Int32 *id; /* In: CDF identifier. */ Int32 *attr_num; /* In: Attribute number. */ Int32 *entry_num; /* In: gEntry number. */ Int32 *status; /* Out: CDF status code. */ { *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), ATTR_, (long) (*attr_num - 1), gENTRY_, (long) (*entry_num - 1), DELETE_, gENTRY_, NULL_); return; } /****************************************************************************** * CDF_delete_attr_rentry. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_delete_attr_rentry__, cdf_delete_attr_rentry_, cdf_delete_attr_rentry, CDF_DELETE_ATTR_RENTRY) (id, attr_num, entry_num, status) Int32 *id; /* In: CDF identifier. */ Int32 *attr_num; /* In: Attribute number. */ Int32 *entry_num; /* In: rEntry number. */ Int32 *status; /* Out: CDF status code. */ { *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), ATTR_, (long) (*attr_num - 1), rENTRY_, (long) (*entry_num - 1), DELETE_, rENTRY_, NULL_); return; } /****************************************************************************** * CDF_delete_attr_zentry. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_delete_attr_zentry__, cdf_delete_attr_zentry_, cdf_delete_attr_zentry, CDF_DELETE_ATTR_ZENTRY) (id, attr_num, entry_num, status) Int32 *id; /* In: CDF identifier. */ Int32 *attr_num; /* In: Attribute number. */ Int32 *entry_num; /* In: zEntry number. */ Int32 *status; /* Out: CDF status code. */ { *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), ATTR_, (long) (*attr_num - 1), zENTRY_, (long) (*entry_num - 1), DELETE_, zENTRY_, NULL_); return; } /****************************************************************************** * CDF_get_attr_num_gentries. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_attr_num_gentries__, cdf_get_attr_num_gentries_, cdf_get_attr_num_gentries, CDF_GET_ATTR_NUM_GENTRIES) (id, attr_num, entries, status) Int32 *id; /* In: CDF identifier. */ Int32 *attr_num; /* In: Attribute number. */ Int32 *entries; /* Out: Number of gEntries. */ Int32 *status; /* Out: CDF status code. */ { long scope; long entriesT; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), ATTR_, (long) (*attr_num - 1), GET_, ATTR_SCOPE_, &scope, NULL_); if (StatusBAD(*status)) return; if (GLOBALscope(scope)) { *status = (Int32) CDFlib (GET_, ATTR_NUMgENTRIES_, &entriesT, NULL_); if (StatusOK(*status)) *entries = (Int32) entriesT; else *entries = (Int32) 0; } else { *entries = (Int32) 0; *status = (Int32) ILLEGAL_FOR_SCOPE; } return; } /****************************************************************************** * CDF_get_attr_num_rentries. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_attr_num_rentries__, cdf_get_attr_num_rentries_, cdf_get_attr_num_rentries, CDF_GET_ATTR_NUM_RENTRIES) (id, attr_num, entries, status) Int32 *id; /* In: CDF identifier. */ Int32 *attr_num; /* In: Attribute number. */ Int32 *entries; /* Out: Number of rEntries. */ Int32 *status; /* Out: CDF status code. */ { long scope; long entriesT; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), ATTR_, (long) (*attr_num - 1), GET_, ATTR_SCOPE_, &scope, NULL_); if (StatusBAD(*status)) return; if (GLOBALscope(scope)) { *entries = (Int32) 0; *status = (Int32) ILLEGAL_FOR_SCOPE; } else { *status = (Int32) CDFlib (GET_, ATTR_NUMrENTRIES_, &entriesT, NULL_); if (StatusOK(*status)) *entries = (Int32) entriesT; else *entries = (Int32) 0; } return; } /****************************************************************************** * CDF_get_attr_num_zentries. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_attr_num_zentries__, cdf_get_attr_num_zentries_, cdf_get_attr_num_zentries, CDF_GET_ATTR_NUM_ZENTRIES) (id, attr_num, entries, status) Int32 *id; /* In: CDF identifier. */ Int32 *attr_num; /* In: Attribute number. */ Int32 *entries; /* Out: Number of zEntries. */ Int32 *status; /* Out: CDF status code. */ { long scope; long entriesT; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), ATTR_, (long) (*attr_num - 1), GET_, ATTR_SCOPE_, &scope, NULL_); if (StatusBAD(*status)) return; if (GLOBALscope(scope)) { *entries = (Int32) 0; *status = (Int32) ILLEGAL_FOR_SCOPE; } else { *status = (Int32) CDFlib (GET_, ATTR_NUMzENTRIES_, &entriesT, NULL_); if (StatusOK(*status)) *entries = (Int32) entriesT; else *entries = (Int32) 0; } return; } /****************************************************************************** * CDF_get_attr_max_gentry. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_attr_max_gentry__, cdf_get_attr_max_gentry_, cdf_get_attr_max_gentry, CDF_GET_ATTR_MAX_GENTRY) (id, attr_num, entry, status) Int32 *id; /* In: CDF identifier. */ Int32 *attr_num; /* In: Attribute number. */ Int32 *entry; /* Out: Max number of gEntry. */ Int32 *status; /* Out: CDF status code. */ { long scope; long entryT; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), ATTR_, (long) (*attr_num - 1), GET_, ATTR_SCOPE_, &scope, NULL_); if (StatusBAD(*status)) return; if (GLOBALscope(scope)) { *status = (Int32) CDFlib (GET_, ATTR_MAXgENTRY_, &entryT, NULL_); if (StatusOK(*status)) *entry = (Int32) (entryT + 1); else *entry = (Int32) 0; } else { *entry = (Int32) 0; *status = (Int32) ILLEGAL_FOR_SCOPE; } return; } /****************************************************************************** * CDF_get_attr_max_rentry. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_attr_max_rentry__, cdf_get_attr_max_rentry_, cdf_get_attr_max_rentry, CDF_GET_ATTR_MAX_RENTRY) (id, attr_num, entry, status) Int32 *id; /* In: CDF identifier. */ Int32 *attr_num; /* In: Attribute number. */ Int32 *entry; /* Out: Max number of rEntry. */ Int32 *status; /* Out: CDF status code. */ { long scope; long entryT; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), ATTR_, (long) (*attr_num - 1), GET_, ATTR_SCOPE_, &scope, NULL_); if (StatusBAD(*status)) return; if (GLOBALscope(scope)) { *entry = (Int32) 0; *status = (Int32) ILLEGAL_FOR_SCOPE; } else { *status = (Int32) CDFlib (GET_, ATTR_MAXrENTRY_, &entryT, NULL_); if (StatusOK(*status)) *entry = (Int32) (entryT + 1); else *entry = (Int32) 0; } return; } /****************************************************************************** * CDF_get_attr_max_zentry. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_attr_max_zentry__, cdf_get_attr_max_zentry_, cdf_get_attr_max_zentry, CDF_GET_ATTR_MAX_ZENTRY) (id, attr_num, entry, status) Int32 *id; /* In: CDF identifier. */ Int32 *attr_num; /* In: Attribute number. */ Int32 *entry; /* Out: Max number of zEntry. */ Int32 *status; /* Out: CDF status code. */ { long scope; long entryT; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), ATTR_, (long) (*attr_num - 1), GET_, ATTR_SCOPE_, &scope, NULL_); if (StatusBAD(*status)) return; if (GLOBALscope(scope)) { *entry = (Int32) 0; *status = (Int32) ILLEGAL_FOR_SCOPE; } else { *status = (Int32) CDFlib (GET_, ATTR_MAXzENTRY_, &entryT, NULL_); if (StatusOK(*status)) *entry = (Int32) (entryT + 1); else *entry = (Int32) 0; } return; } /****************************************************************************** * CDF_get_attr_gentry_datatype. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_attr_gentry_datatype__, cdf_get_attr_gentry_datatype_, cdf_get_attr_gentry_datatype, CDF_GET_ATTR_GENTRY_DATATYPE) (id, attr_num, entry_num, data_type, status) Int32 *id; /* In: CDF identifier. */ Int32 *attr_num; /* In: Attribute number. */ Int32 *entry_num; /* In: gEntry number. */ Int32 *data_type; /* Out: Data type. */ Int32 *status; /* Out: CDF status code. */ { long dataTypeT; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), ATTR_, (long) (*attr_num - 1), gENTRY_, (long) (*entry_num - 1), GET_, gENTRY_DATATYPE_, &dataTypeT, NULL_); if (StatusOK(*status)) *data_type = (Int32) dataTypeT; return; } /****************************************************************************** * CDF_get_attr_rentry_datatype. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_attr_rentry_datatype__, cdf_get_attr_rentry_datatype_, cdf_get_attr_rentry_datatype, CDF_GET_ATTR_RENTRY_DATATYPE) (id, attr_num, entry_num, data_type, status) Int32 *id; /* In: CDF identifier. */ Int32 *attr_num; /* In: Attribute number. */ Int32 *entry_num; /* In: rEntry number. */ Int32 *data_type; /* Out: Data type. */ Int32 *status; /* Out: CDF status code. */ { long dataTypeT; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), ATTR_, (long) (*attr_num - 1), rENTRY_, (long) (*entry_num - 1), GET_, rENTRY_DATATYPE_, &dataTypeT, NULL_); if (StatusOK(*status)) *data_type = (Int32) dataTypeT; return; } /****************************************************************************** * CDF_get_attr_zentry_datatype. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_attr_zentry_datatype__, cdf_get_attr_zentry_datatype_, cdf_get_attr_zentry_datatype, CDF_GET_ATTR_ZENTRY_DATATYPE) (id, attr_num, entry_num, data_type, status) Int32 *id; /* In: CDF identifier. */ Int32 *attr_num; /* In: Attribute number. */ Int32 *entry_num; /* In: zEntry number. */ Int32 *data_type; /* Out: Data type. */ Int32 *status; /* Out: CDF status code. */ { long dataTypeT; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), ATTR_, (long) (*attr_num - 1), zENTRY_, (long) (*entry_num - 1), GET_, zENTRY_DATATYPE_, &dataTypeT, NULL_); if (StatusOK(*status)) *data_type = (Int32) dataTypeT; return; } /****************************************************************************** * CDF_get_attr_gentry_numelems. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_attr_gentry_numelems__, cdf_get_attr_gentry_numelems_, cdf_get_attr_gentry_numelems, CDF_GET_ATTR_GENTRY_NUMELEMS) (id, attr_num, entry_num, num_elems, status) Int32 *id; /* In: CDF identifier. */ Int32 *attr_num; /* In: Attribute number. */ Int32 *entry_num; /* In: gEntry number. */ Int32 *num_elems; /* Out: Number of elements. */ Int32 *status; /* Out: CDF status code. */ { long numElemsT; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), ATTR_, (long) (*attr_num - 1), gENTRY_, (long) (*entry_num - 1), GET_, gENTRY_NUMELEMS_, &numElemsT, NULL_); if (StatusOK(*status)) *num_elems = (Int32) numElemsT; return; } /****************************************************************************** * CDF_get_attr_rentry_numelems. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_attr_rentry_numelems__, cdf_get_attr_rentry_numelems_, cdf_get_attr_rentry_numelems, CDF_GET_ATTR_RENTRY_NUMELEMS) (id, attr_num, entry_num, num_elems, status) Int32 *id; /* In: CDF identifier. */ Int32 *attr_num; /* In: Attribute number. */ Int32 *entry_num; /* In: rEntry number. */ Int32 *num_elems; /* Out: Number of elements. */ Int32 *status; /* Out: CDF status code. */ { long numElemsT; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), ATTR_, (long) (*attr_num - 1), rENTRY_, (long) (*entry_num - 1), GET_, rENTRY_NUMELEMS_, &numElemsT, NULL_); if (StatusOK(*status)) *num_elems = (Int32) numElemsT; return; } /****************************************************************************** * CDF_get_attr_zentry_numelems. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_attr_zentry_numelems__, cdf_get_attr_zentry_numelems_, cdf_get_attr_zentry_numelems, CDF_GET_ATTR_ZENTRY_NUMELEMS) (id, attr_num, entry_num, num_elems, status) Int32 *id; /* In: CDF identifier. */ Int32 *attr_num; /* In: Attribute number. */ Int32 *entry_num; /* In: zEntry number. */ Int32 *num_elems; /* Out: Number of elements. */ Int32 *status; /* Out: CDF status code. */ { long numElemsT; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), ATTR_, (long) (*attr_num - 1), zENTRY_, (long) (*entry_num - 1), GET_, zENTRY_NUMELEMS_, &numElemsT, NULL_); if (StatusOK(*status)) *num_elems = (Int32) numElemsT; return; } /****************************************************************************** * CDF_delete_zvar. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_delete_zvar__, cdf_delete_zvar_, cdf_delete_zvar, CDF_DELETE_ZVAR) (id, var_num, status) Int32 *id; /* In: CDF identifier. */ Int32 *var_num; /* In: zVariable number. */ Int32 *status; /* Out: CDF status code. */ { *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), zVAR_NUMBER_, (long) (*var_num -1), DELETE_, zVAR_, NULL_); return; } /****************************************************************************** * CDF_delete_zvar_recs. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_delete_zvar_recs__, cdf_delete_zvar_recs_, cdf_delete_zvar_recs, CDF_DELETE_ZVAR_RECS) (id, var_num, start_rec, end_rec, status) Int32 *id; /* In: CDF identifier. */ Int32 *var_num; /* In: zVariable number. */ Int32 *start_rec; /* In: zVariable's start record number. */ Int32 *end_rec; /* In: zVariable's end record number. */ Int32 *status; /* Out: CDF status code. */ { long startRec = (long) (*start_rec - 1); long endRec = (long) (*end_rec - 1); *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), zVAR_NUMBER_, (long) (*var_num -1), DELETE_, zVAR_RECORDS_, startRec, endRec, NULL_); return; } /****************************************************************************** * CDF_get_num_rvars. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_num_rvars__, cdf_get_num_rvars_, cdf_get_num_rvars, CDF_GET_NUM_RVARS) (id, num_vars, status) Int32 *id; /* In: CDF identifier. */ Int32 *num_vars; /* Out: Number of rVariables. */ Int32 *status; /* Out: CDF status code. */ { long numVars; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), GET_, CDF_NUMrVARS_, &numVars, NULL_); if (StatusOK(*status)) *num_vars = (Int32) numVars; return; } /****************************************************************************** * CDF_get_num_zvars. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_num_zvars__, cdf_get_num_zvars_, cdf_get_num_zvars, CDF_GET_NUM_ZVARS) (id, num_vars, status) Int32 *id; /* In: CDF identifier. */ Int32 *num_vars; /* Out: Number of zVariables. */ Int32 *status; /* Out: CDF status code. */ { long numVars; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), GET_, CDF_NUMzVARS_, &numVars, NULL_); if (StatusOK(*status)) *num_vars = (Int32) numVars; return; } /****************************************************************************** * CDF_get_compression. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_compression__, cdf_get_compression_, cdf_get_compression, CDF_GET_COMPRESSION) (id, compression_type, compression_parms, compression_percent, status) Int32 *id; /* In: CDF identifier. */ Int32 *compression_type; /* Out: CDF compression type. */ Int32 compression_parms[]; /* Out: CDF compression parameters. */ Int32 *compression_percent; /* Out: CDF compression percentage. */ Int32 *status; /* Out: CDF status code. */ { long cType, cPct, cParms[CDF_MAX_PARMS]; int ix; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), GET_, CDF_COMPRESSION_, &cType, cParms, &cPct, NULL_); if (StatusOK(*status)) { *compression_type = (Int32) cType; *compression_percent = (Int32) cPct; for (ix = 0; ix < CDF_MAX_PARMS; ix++) compression_parms[ix] = (Int32) cParms[ix]; } return; } /****************************************************************************** * CDF_get_copyright. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_copyright__, cdf_get_copyright_, cdf_get_copyright, CDF_GET_COPYRIGHT) (id, copy_right, status Fif_GHOSTARG(len)) Int32 *id; /* In: CDF identifier. */ void *copy_right; /* Out: Copyright. */ Int32 *status; /* Out: CDF status code. */ Fif_GHOSTDEF(len) /* Invisible length of "copy_right" (generated by FORTRAN compiler). */ { char copyRightT[CDF_COPYRIGHT_LEN+1]; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), GET_, CDF_COPYRIGHT_, copyRightT, NULL_); if (StatusBAD(*status)) { return; } #if defined(Fif_GHOSTLEN) CtoFORTstring (copyRightT, copy_right, Fif_GHOSTUSE(len)); #else CtoFORTstring (copyRightT, copy_right, CDF_COPYRIGHT_LEN); #endif return; } /****************************************************************************** * CDF_get_encoding. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_encoding__, cdf_get_encoding_, cdf_get_encoding, CDF_GET_ENCODING) (id, encoding, status) Int32 *id; /* In: CDF identifier. */ Int32 *encoding; /* Out: CDF encoding. */ Int32 *status; /* Out: CDF status code. */ { long encodingT; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), GET_, CDF_ENCODING_, &encodingT, NULL_); if (StatusOK(*status)) *encoding = (Int32) encodingT; return; } /****************************************************************************** * CDF_get_format. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_format__, cdf_get_format_, cdf_get_format, CDF_GET_FORMAT) (id, format, status) Int32 *id; /* In: CDF identifier. */ Int32 *format; /* Out: CDF format. */ Int32 *status; /* Out: CDF status code. */ { long formatT; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), GET_, CDF_FORMAT_, &formatT, NULL_); if (StatusOK(*status)) *format = (Int32) formatT; return; } /****************************************************************************** * CDF_get_majority. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_majority__, cdf_get_majority_, cdf_get_majority, CDF_GET_MAJORITY) (id, majority, status) Int32 *id; /* In: CDF identifier. */ Int32 *majority; /* Out: CDF majority. */ Int32 *status; /* Out: CDF status code. */ { long majorityT; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), GET_, CDF_MAJORITY_, &majorityT, NULL_); if (StatusOK(*status)) *majority = (Int32) majorityT; return; } /****************************************************************************** * CDF_get_compress_info. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_compression_info__, cdf_get_compression_info_, cdf_get_compression_info, CDF_GET_COMPRESSION_INFO) (name, compress_type, compress_parms, compress_size, decompress_size, status Fif_GHOSTARG(len)) void *name; /* In: CDF name. */ Int32 *compress_type; /* Out: CDF compression type. */ Int32 compress_parms[]; /* Out: CDF compression parameters. */ void *compress_size; /* Out: CDF compressed size. */ void *decompress_size; /* Out: CDF decompressed size. */ Int32 *status; /* Out: CDF status code. */ Fif_GHOSTDEF(len) /* Invisible length of "name" (generated by FORTRAN compiler). */ { struct STRINGstruct *ssh = NULL; /* Head of STRINGstruct linked list. */ long cType, cParms[CDF_MAX_PARMS]; int ix; *status = (Int32) CDFlib (GET_, CDF_INFO_, #if defined(Fif_DESCR) DESCRtoREFnul(name, CDF_PATHNAME_LEN, &ssh), #endif #if defined(Fif_GHOSTLEN) NULterminate(name, Fif_GHOSTUSE(len), &ssh), #endif #if defined(Fif_NOLEN) FindEndNUL(name, CDF_PATHNAME_LEN,&ssh), #endif &cType, cParms, compress_size, decompress_size, NULL_); if (StatusOK(*status)) { *compress_type = (Int32) cType; for (ix = 0; ix < CDF_MAX_PARMS; ix++) compress_parms[ix] = (Int32) cParms[ix]; } return; } /****************************************************************************** * CDF_get_num_attrs. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_num_attrs__, cdf_get_num_attrs_, cdf_get_num_attrs, CDF_GET_NUM_ATTRS) (id, num_attrs, status) Int32 *id; /* In: CDF identifier. */ Int32 *num_attrs; /* Out: CDF number of attributes. */ Int32 *status; /* Out: CDF status code. */ { long numAttrs; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), GET_, CDF_NUMATTRS_, &numAttrs, NULL_); if (StatusOK(*status)) *num_attrs = (Int32) numAttrs; return; } /****************************************************************************** * CDF_get_num_gattrs. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_num_gattrs__, cdf_get_num_gattrs_, cdf_get_num_gattrs, CDF_GET_NUM_GATTRS) (id, num_attrs, status) Int32 *id; /* In: CDF identifier. */ Int32 *num_attrs; /* Out: CDF number of gAttributes. */ Int32 *status; /* Out: CDF status code. */ { long numAttrs; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), GET_, CDF_NUMgATTRS_, &numAttrs, NULL_); if (StatusOK(*status)) *num_attrs = (Int32) numAttrs; return; } /****************************************************************************** * CDF_get_num_vattrs. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_num_vattrs__, cdf_get_num_vattrs_, cdf_get_num_vattrs, CDF_GET_NUM_VATTRS) (id, num_attrs, status) Int32 *id; /* In: CDF identifier. */ Int32 *num_attrs; /* Out: CDF number of vAttributes. */ Int32 *status; /* Out: CDF status code. */ { long numAttrs; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), GET_, CDF_NUMvATTRS_, &numAttrs, NULL_); if (StatusOK(*status)) *num_attrs = (Int32) numAttrs; return; } /****************************************************************************** * CDF_get_datatype_size. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_datatype_size__, cdf_get_datatype_size_, cdf_get_datatype_size, CDF_GET_DATATYPE_SIZE) (datatype, datatype_size, status) Int32 *datatype; /* In: CDF data type. */ Int32 *datatype_size; /* Out: CDF data type size. */ Int32 *status; /* Out: CDF status code. */ { long dtSize; *status = (Int32) CDFlib (GET_, DATATYPE_SIZE_, (long) *datatype, &dtSize, NULL_); if (StatusOK(*status)) *datatype_size = (Int32) dtSize; return; } /****************************************************************************** * CDF_get_lib_copyright. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_lib_copyright__, cdf_get_lib_copyright_, cdf_get_lib_copyright, CDF_GET_LIB_COPYRIGHT) (copy_right, status Fif_GHOSTARG(len)) void *copy_right; /* Out: CDF library copy right. */ Int32 *status; /* Out: CDF status code. */ Fif_GHOSTDEF(len) /* Invisible length of "copy_right" (generated by FORTRAN compiler). */ { char copyRight[CDF_COPYRIGHT_LEN+1]; *status = (Int32) CDFlib (GET_, LIB_COPYRIGHT_, copyRight, NULL_); if (StatusOK(*status)) { #if defined(Fif_GHOSTLEN) CtoFORTstring (copyRight, copy_right, Fif_GHOSTUSE(len)); #else CtoFORTstring (copyRight, copy_right, CDF_COPYRIGHT_LEN); #endif } return; } /****************************************************************************** * CDF_get_lib_version. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_lib_version__, cdf_get_lib_version_, cdf_get_lib_version, CDF_GET_LIB_VERSION) (version, release, increment, subincrement, status Fif_GHOSTARG(len)) Int32 *version; /* Out: CDF library version. */ Int32 *release; /* Out: CDF library release. */ Int32 *increment; /* Out: CDF library increment. */ void *subincrement;/* Out: CDF library sub_increment. */ Int32 *status; /* Out: CDF status code. */ Fif_GHOSTDEF(len) /* Invisible length of "subincrement" (generated by FORTRAN compiler). */ { long versionT, releaseT, incrementT; char subIncrementT; *status = (Int32) CDFlib (GET_, LIB_VERSION_, &versionT, LIB_RELEASE_, &releaseT, LIB_INCREMENT_, &incrementT, LIB_subINCREMENT_, &subIncrementT, NULL_); if (StatusOK(*status)) { *version = (Int32) versionT; *release = (Int32) releaseT; *increment = (Int32) incrementT; } #if defined(Fif_GHOSTLEN) CtoFORTstring (&subIncrementT, subincrement, Fif_GHOSTUSE(len)); #else CtoFORTstring (&subIncrementT, subincrement, 1); #endif return; } /****************************************************************************** * CDF_get_version. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_version__, cdf_get_version_, cdf_get_version, CDF_GET_VERSION) (id, version, release, increment, status) Int32 *id; /* In: CDF identifier. */ Int32 *version; /* Out: CDF version. */ Int32 *release; /* Out: CDF release. */ Int32 *increment; /* Out: CDF increment. */ Int32 *status; /* Out: CDF status code. */ { long versionT, releaseT, incrementT; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), GET_, CDF_VERSION_, &versionT, CDF_RELEASE_, &releaseT, CDF_INCREMENT_, &incrementT, NULL_); if (StatusOK(*status)) { *version = (Int32) versionT; *release = (Int32) releaseT; *increment = (Int32) incrementT; } return; } /****************************************************************************** * CDF_get_name. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_name__, cdf_get_name_, cdf_get_name, CDF_GET_NAME) (id, cdf_name, status Fif_GHOSTARG(len)) Int32 *id; /* In: CDF identifier. */ void *cdf_name; /* Out: CDF name. */ Int32 *status; /* Out: CDF status code. */ Fif_GHOSTDEF(len) /* Invisible length of "cdf_name" (generated by FORTRAN compiler). */ { char cdfName[CDF_PATHNAME_LEN+1]; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), CONFIRM_, CDF_NAME_, cdfName, NULL_); if (StatusOK(*status)) { #if defined(Fif_GHOSTLEN) CtoFORTstring (cdfName, cdf_name, Fif_GHOSTUSE(len)); #else CtoFORTstring (cdfName, cdf_name, CDF_PATHNAME_LEN); #endif } return; } /****************************************************************************** * CDF_get_zvar_name. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_zvar_name__, cdf_get_zvar_name_, cdf_get_zvar_name, CDF_GET_ZVAR_NAME) (id, var_num, var_name, status Fif_GHOSTARG(len)) Int32 *id; /* In: CDF identifier. */ Int32 *var_num; /* In: CDF zVariable number. */ void *var_name; /* Out: CDF zVariable name. */ Int32 *status; /* Out: CDF status code. */ Fif_GHOSTDEF(len) /* Invisible length of "var_name" (generated by FORTRAN compiler). */ { char varName[CDF_VAR_NAME_LEN256]; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), zVAR_, (long) (*var_num - 1), GET_, zVAR_NAME_, varName, NULL_); if (StatusOK(*status)) { #if defined(Fif_GHOSTLEN) CtoFORTstring (varName, var_name, Fif_GHOSTUSE(len)); #else CtoFORTstring (varName, var_name, CDF_VAR_NAME_LEN256); #endif } return; } /****************************************************************************** * CDF_get_zvar_maxwrittenrecnum. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_zvar_maxwrittenrecnum__, cdf_get_zvar_maxwrittenrecnum_, cdf_get_zvar_maxwrittenrecnum, CDF_GET_ZVAR_MAXWRITTENRECNUM) (id, var_num, rec_num, status) Int32 *id; /* In: CDF identifier. */ Int32 *var_num; /* In: CDF zVariable number. */ Int32 *rec_num; /* Out: zVariable's maximum written record number. */ Int32 *status; /* Out: CDF status code. */ { long recNum; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), zVAR_, (long) (*var_num - 1), GET_, zVAR_MAXREC_, &recNum, NULL_); if (StatusOK(*status)) *rec_num = (Int32) (recNum + 1); return; } /****************************************************************************** * CDF_get_zvar_maxallocrecnum. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_zvar_maxallocrecnum__, cdf_get_zvar_maxallocrecnum_, cdf_get_zvar_maxallocrecnum, CDF_GET_ZVAR_MAXALLOCRECNUM) (id, var_num, rec_num, status) Int32 *id; /* In: CDF identifier. */ Int32 *var_num; /* In: CDF zVariable number. */ Int32 *rec_num; /* Out: zVariables's maximum allocated record number.*/ Int32 *status; /* Out: CDF status code. */ { long recNum; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), zVAR_, (long) (*var_num - 1), GET_, zVAR_MAXallocREC_, &recNum, NULL_); if (StatusOK(*status)) *rec_num = (Int32) (recNum + 1); return; } /****************************************************************************** * CDF_get_zvars_maxwrittenrecnum. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_zvars_maxwrittenrecnum__, cdf_get_zvars_maxwrittenrecnum_, cdf_get_zvars_maxwrittenrecnum, CDF_GET_ZVARS_MAXWRITTENRECNUM) (id, rec_num, status) Int32 *id; /* In: CDF identifier. */ Int32 *rec_num; /* Out: zVariables's maximum written record number. */ Int32 *status; /* Out: CDF status code. */ { long recNum; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), GET_, zVARs_MAXREC_, &recNum, NULL_); if (StatusOK(*status)) *rec_num = (Int32) (recNum + 1); return; } /****************************************************************************** * CDF_get_vars_maxwrittenrecnums. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_vars_maxwrittenrecnums__, cdf_get_vars_maxwrittenrecnums_, cdf_get_vars_maxwrittenrecnums, CDF_GET_VARS_MAXWRITTENRECNUMS) (id, rec_num1, rec_num2, status) Int32 *id; /* In: CDF identifier. */ Int32 *rec_num1; /* Out: rVariables's maximum written record number. */ Int32 *rec_num2; /* Out: zVariables's maximum written record number. */ Int32 *status; /* Out: CDF status code. */ { long recNum1, recNum2; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), GET_, rVARs_MAXREC_, &recNum1, zVARs_MAXREC_, &recNum2, NULL_); if (StatusOK(*status)) { *rec_num1 = (Int32) (recNum1 + 1); *rec_num2 = (Int32) (recNum2 + 1); } return; } /****************************************************************************** * CDF_get_zvar_allocrecs. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_zvar_allocrecs__, cdf_get_zvar_allocrecs_, cdf_get_zvar_allocrecs, CDF_GET_ZVAR_ALLOCRECS) (id, var_num, num_recs, status) Int32 *id; /* In: CDF identifier. */ Int32 *var_num; /* zVariable number. */ Int32 *num_recs; /* Out: zVariable's number of allocated records. */ Int32 *status; /* Out: CDF status code. */ { long numRecs; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), zVAR_, (long) (*var_num - 1), GET_, zVAR_NUMallocRECS_, &numRecs, NULL_); if (StatusOK(*status)) *num_recs = (Int32) numRecs; return; } /****************************************************************************** * CDF_get_zvar_datatype. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_zvar_datatype__, cdf_get_zvar_datatype_, cdf_get_zvar_datatype, CDF_GET_ZVAR_DATATYPE) (id, var_num, data_type, status) Int32 *id; /* In: CDF identifier. */ Int32 *var_num; /* In: CDF zVariable number. */ Int32 *data_type; /* Out: zVariable's data type. */ Int32 *status; /* Out: CDF status code. */ { long dataType; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), zVAR_, (long) (*var_num - 1), GET_, zVAR_DATATYPE_, &dataType, NULL_); if (StatusOK(*status)) *data_type = (Int32) dataType; return; } /****************************************************************************** * CDF_get_zvar_numelems. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_zvar_numelems__, cdf_get_zvar_numelems_, cdf_get_zvar_numelems, CDF_GET_ZVAR_NUMELEMS) (id, var_num, num_elems, status) Int32 *id; /* In: CDF identifier. */ Int32 *var_num; /* In: CDF zVariable number. */ Int32 *num_elems; /* Out: zVariable's number of elements. */ Int32 *status; /* Out: CDF status code. */ { long numElems; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), zVAR_, (long) (*var_num - 1), GET_, zVAR_NUMELEMS_, &numElems, NULL_); if (StatusOK(*status)) *num_elems = (Int32) numElems; return; } /****************************************************************************** * CDF_get_zvar_numdims. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_zvar_numdims__, cdf_get_zvar_numdims_, cdf_get_zvar_numdims, CDF_GET_ZVAR_NUMDIMS) (id, var_num, num_dims, status) Int32 *id; /* In: CDF identifier. */ Int32 *var_num; /* In: CDF zVariable number. */ Int32 *num_dims; /* Out: zVariable's number of dimensions. */ Int32 *status; /* Out: CDF status code. */ { long numDims; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), zVAR_, (long) (*var_num - 1), GET_, zVAR_NUMDIMS_, &numDims, NULL_); if (StatusOK(*status)) *num_dims = (Int32) numDims; return; } /****************************************************************************** * CDF_get_zvar_dimsizes. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_zvar_dimsizes__, cdf_get_zvar_dimsizes_, cdf_get_zvar_dimsizes, CDF_GET_ZVAR_DIMSIZES) (id, var_num, dim_sizes, status) Int32 *id; /* In: CDF identifier. */ Int32 *var_num; /* In: CDF zVariable number. */ Int32 dim_sizes[]; /* Out: zVariable's dimensional sizes. */ Int32 *status; /* Out: CDF status code. */ { long numDims, dimSizes[CDF_MAX_DIMS]; int ix; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), zVAR_, (long) (*var_num - 1), GET_, zVAR_DIMSIZES_, dimSizes, zVAR_NUMDIMS_, &numDims, NULL_); if (StatusOK(*status)) { if (numDims > 0) { for (ix = 0; ix < (int) numDims; ix++) dim_sizes[ix] = (Int32) dimSizes[ix]; } else { dim_sizes[0] = 0; } } return; } /****************************************************************************** * CDF_get_zvar_recvariance. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_zvar_recvariance__, cdf_get_zvar_recvariance_, cdf_get_zvar_recvariance, CDF_GET_ZVAR_RECVARIANCE) (id, var_num, rec_vary, status) Int32 *id; /* In: CDF identifier. */ Int32 *var_num; /* In: CDF zVariable number. */ Int32 *rec_vary; /* Out: zVariable's record variance. */ Int32 *status; /* Out: CDF status code. */ { long recVary; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), zVAR_, (long) (*var_num - 1), GET_, zVAR_RECVARY_, &recVary, NULL_); if (StatusOK(*status)) *rec_vary = (Int32) recVary; return; } /****************************************************************************** * CDF_get_zvar_dimvariances. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_zvar_dimvariances__, cdf_get_zvar_dimvariances_, cdf_get_zvar_dimvariances, CDF_GET_ZVAR_DIMVARIANCES) (id, var_num, dim_varys, status) Int32 *id; /* In: CDF identifier. */ Int32 *var_num; /* In: CDF zVariable number. */ Int32 dim_varys[]; /* Out: zVariable's dimensional variances. */ Int32 *status; /* Out: CDF status code. */ { long numDims, dimVarys[CDF_MAX_DIMS]; int ix; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), zVAR_, (long) (*var_num - 1), GET_, zVAR_DIMVARYS_, dimVarys, zVAR_NUMDIMS_, &numDims, NULL_); if (StatusOK(*status)) { if (numDims > 0) { for (ix = 0; ix < (int) numDims; ix++) dim_varys[ix] = (Int32) dimVarys[ix]; } else { dim_varys[0] = 0; } } return; } /****************************************************************************** * CDF_get_zvar_blockingfactor. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_zvar_blockingfactor__, cdf_get_zvar_blockingfactor_, cdf_get_zvar_blockingfactor, CDF_GET_ZVAR_BLOCKINGFACTOR) (id, var_num, blocking_factor, status) Int32 *id; /* In: CDF identifier. */ Int32 *var_num; /* In: CDF zVariable number. */ Int32 *blocking_factor; /* Out: zVariable's blocking factor. */ Int32 *status; /* Out: CDF status code. */ { long blockingFactor; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), zVAR_, (long) (*var_num - 1), GET_, zVAR_BLOCKINGFACTOR_, &blockingFactor, NULL_); if (StatusOK(*status)) *blocking_factor = (Int32) blockingFactor; return; } /****************************************************************************** * CDF_get_zvar_compression. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_zvar_compression__, cdf_get_zvar_compression_, cdf_get_zvar_compression, CDF_GET_ZVAR_COMPRESSION) (id, var_num, compress_type, compress_parms, compress_percent, status) Int32 *id; /* In: CDF identifier. */ Int32 *var_num; /* In: CDF zVariable number. */ Int32 *compress_type; /* Out: zVariable's compression type. */ Int32 compress_parms[]; /* Out: zVariable's compression parameters. */ Int32 *compress_percent;/* Out: zVariable's compression percentage. */ Int32 *status; /* Out: CDF status code. */ { long cType, cPct, cParms[CDF_MAX_PARMS]; int ix; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), zVAR_, (long) (*var_num - 1), GET_, zVAR_COMPRESSION_, &cType, cParms, &cPct, NULL_); if (StatusOK(*status)) { *compress_type = (Int32) cType; *compress_percent = (Int32) cPct; for (ix = 0; ix < CDF_MAX_PARMS; ix++) compress_parms[ix] = (Int32) cParms[ix]; } return; } /****************************************************************************** * CDF_get_zvar_padvalue. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_zvar_padvalue__, cdf_get_zvar_padvalue_, cdf_get_zvar_padvalue, CDF_GET_ZVAR_PADVALUE) (id, var_num, pad_value, status) Int32 *id; /* In: CDF identifier. */ Int32 *var_num; /* In: CDF zVariable number. */ void *pad_value; /* Out: zVariable's pad value. */ Int32 *status; /* Out: CDF status code. */ { long dataType; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), zVAR_, (long) (*var_num - 1), GET_, zVAR_DATATYPE_, &dataType, NULL_); if (StatusBAD(*status)) return; *status = (Int32) CDFlib (GET_, zVAR_PADVALUE_, #if defined(Fif_DESCR) BOO(STRINGdataType(dataType), DESCRtoREF(pad_value),pad_value), #else pad_value, #endif NULL_); return; } /****************************************************************************** * CDF_get_zvar_sparserecords. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_zvar_sparserecords__, cdf_get_zvar_sparserecords_, cdf_get_zvar_sparserecords, CDF_GET_ZVAR_SPARSERECORDS) (id, var_num, sparse_records, status) Int32 *id; /* In: CDF identifier. */ Int32 *var_num; /* In: CDF zVariable number. */ Int32 *sparse_records; /* Out: zVariable's sparse records. */ Int32 *status; /* Out: CDF status code. */ { long sparseRecords; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), zVAR_, (long) (*var_num - 1), GET_, zVAR_SPARSERECORDS_, &sparseRecords, NULL_); if (StatusOK(*status)) *sparse_records = (Int32) sparseRecords; return; } /****************************************************************************** * CDF_get_zvar_numrecs_written. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_zvar_numrecs_written__, cdf_get_zvar_numrecs_written_, cdf_get_zvar_numrecs_written, CDF_GET_ZVAR_NUMRECS_WRITTEN) (id, var_num, num_records, status) Int32 *id; /* In: CDF identifier. */ Int32 *var_num; /* In: CDF zVariable number. */ Int32 *num_records; /* Out: zVariable's written records. */ Int32 *status; /* Out: CDF status code. */ { long numRecords; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), zVAR_, (long) (*var_num - 1), GET_, zVAR_NUMRECS_, &numRecords, NULL_); if (StatusOK(*status)) *num_records = (Int32) numRecords; return; } /****************************************************************************** * CDF_get_zvar_seqdata. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_zvar_seqdata__, cdf_get_zvar_seqdata_, cdf_get_zvar_seqdata, CDF_GET_ZVAR_SEQDATA) (id, var_num, data, status) Int32 *id; /* In: CDF identifier. */ Int32 *var_num; /* In: CDF zVariable number. */ void *data; /* Out: CDF zVariable's data. */ Int32 *status; /* Out: CDF status code. */ { long dataType; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), zVAR_, (long) (*var_num - 1), GET_, zVAR_DATATYPE_, &dataType, NULL_); if (StatusBAD(*status)) return; *status = (Int32) CDFlib (GET_, zVAR_SEQDATA_, #if defined(Fif_DESCR) BOO(STRINGdataType(dataType), DESCRtoREF(data),data), #else data, #endif NULL_); return; } /****************************************************************************** * CDF_get_zvar_recorddata. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_zvar_recorddata__, cdf_get_zvar_recorddata_, cdf_get_zvar_recorddata, CDF_GET_ZVAR_RECORDDATA) (id, var_num, rec_num, buffer, status) Int32 *id; /* In: CDF identifier. */ Int32 *var_num; /* In: CDF zVariable number. */ Int32 *rec_num; /* In: CDF zVariable record number. */ void *buffer; /* Out: zVariable's full record data. */ Int32 *status; /* Out: CDF status code. */ { long numVars, varNums[CDF_MAX_DIMS]; numVars = 1; varNums[0] = (long) (*var_num - 1); *status = (Int32) CDFlib (SELECT_, CDF_, id, zVARs_RECNUMBER_, (long) (*rec_num - 1), GET_, zVARs_RECDATA_, numVars, varNums, buffer, NULL_); return; } /****************************************************************************** * CDF_get_checksum. ******************************************************************************/ VISIBLE_PREFIX Fif_PREFIXa void Fif_PREFIXb Fif_ENTRYPOINT(cdf_get_checksum__, cdf_get_checksum_, cdf_get_checksum, CDF_GET_CHECKSUM) (id, checksum, status) Int32 *id; /* In: CDF identifier. */ Int32 *checksum; /* Out: CDF checksum. */ Int32 *status; /* Out: CDF status code. */ { long checksumT; *status = (Int32) CDFlib (SELECT_, CDF_, Int32ToCDFid(*id), GET_, CDF_CHECKSUM_, &checksumT, NULL_); if (StatusOK(*status)) *checksum = (Int32) checksumT; return; }