1 /****************************************************************************** 2 * 3 * NSSDC/CDF CDF Header file for C/C++ applications. 4 * 5 * Version 3.5d, 14-Dec-97, Hughes STX. 6 * 7 * Modification history: 8 * 9 * V1.0 22-Jan-91, R Kulkarni Original version (for CDF V2.0). 10 * J Love 11 * V2.0 3-Jun-91, J Love Modified for CDF V2.1 enhancements, 12 * namely the INTERNAL interface and the 13 * MULTI/SINGLE file option. Added 14 * macros to replace C i/f functions. 15 * V2.1 20-Jun-91, J Love Added function prototypes. 16 * V2.2 8-Aug-91, J Love Increment for CDF V2.1.2. Use 17 * 'CDFlib'. Renamed a few items. 18 * V3.0 19-May-92, J Love IBM PC & HP-UX port. CDF V2.2. 19 * V3.1 23-Sep-92, J Love CDF V2.3 (shareable/NeXT/zVar). 20 * V3.1a 5-Oct-92, J Love CDF V2.3.0a (NeXT/encoding). 21 * V3.1b 6-Oct-92, J Love CDF V2.3.0b (CDFcompare). 22 * V3.1c 27-Oct-92, J Love CDF V2.3.0c (pad values). 23 * V3.2 12-Jan-94, J Love CDF V2.4. 24 * V3.2a 4-Feb-94, J Love DEC Alpha/OpenVMS port. 25 * V3.2b 22-Feb-94, J Love Spelling lesson. 26 * V3.3 8-Dec-94, J Love CDF V2.5. 27 * V3.3a 3-Mar-95, J Love Solaris 2.3 IDL i/f. 28 * V3.4 28-Mar-95, J Love POSIX. 29 * V3.4a 8-May-95, J Love ILLEGAL_EPOCH_VALUE. 30 * V3.4b 9-Jun-95, J Love EPOCH custom format. 31 * V3.4c 20-Jul-95, J Love CDFexport-related changes. 32 * V3.5 12-Sep-96, J Love CDF V2.6. 33 * V3.5a 21-Feb-97, J Love Removed RICE. 34 * V3.5b 9-Mar-97, J Love Windows NT for MS Visual C++ 4.0 on an IBM PC. 35 * V3.5c 2-Sep-97, J Love `__STDC__' not defined for all AIX compilers. 36 * V3.5d 14-Dec-97, J Love Added ALPHAVMSi encoding. 37 * V3.6 08-Apr-04, M Liu Added new data type CDF_EPOCH16 and some 38 * epoch functions related to the new type. 39 * V3.7 28-Apr-09, M Liu Modified MAC_ENCODING/DECODEING to PPC_ENCODING 40 * /DECODING as Mac and Linux can run on PPC box. 41 ******************************************************************************/ 42 43 #if !defined(CDFh_INCLUDEd__) 44 #define CDFh_INCLUDEd__ 45 46 /****************************************************************************** 47 * CDF defined types 48 ******************************************************************************/ 49 50 typedef void *CDFid; 51 typedef long CDFstatus; 52 53 /****************************************************************************** 54 * Limits 55 ******************************************************************************/ 56 57 #define CDF_MIN_DIMS 0 /* Min number of dimensions a CDF 58 variable may have */ 59 #define CDF_MAX_DIMS 10 /* Max number of dimensions a CDF 60 variable may have */ 61 62 /****************************************************************************** 63 * Lengths 64 ******************************************************************************/ 65 66 #define CDF_VAR_NAME_LEN 64 67 #define CDF_ATTR_NAME_LEN 64 68 69 #define CDF_VAR_NAME_LEN256 256 70 #define CDF_ATTR_NAME_LEN256 256 71 72 #define CDF_COPYRIGHT_LEN 256 73 #define CDF_STATUSTEXT_LEN 120 74 #define CDF_PATHNAME_LEN 512 75 76 #define EPOCH_STRING_LEN 24 77 #define EPOCH1_STRING_LEN 16 78 #define EPOCH2_STRING_LEN 14 79 #define EPOCH3_STRING_LEN 24 80 81 #define EPOCH16_STRING_LEN 36 82 #define EPOCH16_1_STRING_LEN 24 83 #define EPOCH16_2_STRING_LEN 14 84 #define EPOCH16_3_STRING_LEN 36 85 86 #define EPOCHx_STRING_MAX 50 87 #define EPOCHx_FORMAT_MAX 68 88 89 /****************************************************************************** 90 * Data types. 91 ******************************************************************************/ 92 93 #define CDF_INT1 1L 94 #define CDF_INT2 2L 95 #define CDF_INT4 4L 96 #define CDF_UINT1 11L 97 #define CDF_UINT2 12L 98 #define CDF_UINT4 14L 99 #define CDF_REAL4 21L 100 #define CDF_REAL8 22L 101 #define CDF_EPOCH 31L /* Standard style. */ 102 #define CDF_EPOCH16 32L /* Extended style. */ 103 #define CDF_BYTE 41L /* same as CDF_INT1 (signed) */ 104 #define CDF_FLOAT 44L /* same as CDF_REAL4 */ 105 #define CDF_DOUBLE 45L /* same as CDF_REAL8 */ 106 #define CDF_CHAR 51L /* a "string" data type */ 107 #define CDF_UCHAR 52L /* a "string" data type */ 108 109 /****************************************************************************** 110 * Encoding (for data only, everything else is network encoding). 111 ******************************************************************************/ 112 113 #define NETWORK_ENCODING 1L 114 #define SUN_ENCODING 2L 115 #define VAX_ENCODING 3L 116 #define DECSTATION_ENCODING 4L 117 #define SGi_ENCODING 5L 118 #define IBMPC_ENCODING 6L 119 #define IBMRS_ENCODING 7L 120 #define HOST_ENCODING 8L 121 #define PPC_ENCODING 9L 122 #define HP_ENCODING 11L 123 #define NeXT_ENCODING 12L 124 #define ALPHAOSF1_ENCODING 13L 125 #define ALPHAVMSd_ENCODING 14L 126 #define ALPHAVMSg_ENCODING 15L 127 #define ALPHAVMSi_ENCODING 16L 128 129 /****************************************************************************** 130 * Decodings. 131 ******************************************************************************/ 132 133 #define NETWORK_DECODING NETWORK_ENCODING 134 #define SUN_DECODING SUN_ENCODING 135 #define VAX_DECODING VAX_ENCODING 136 #define DECSTATION_DECODING DECSTATION_ENCODING 137 #define SGi_DECODING SGi_ENCODING 138 #define IBMPC_DECODING IBMPC_ENCODING 139 #define IBMRS_DECODING IBMRS_ENCODING 140 #define HOST_DECODING HOST_ENCODING 141 #define PPC_DECODING PPC_ENCODING 142 #define MAC_ENCODING PPC_ENCODING 143 #define MAC_DECODING PPC_ENCODING 144 #define HP_DECODING HP_ENCODING 145 #define NeXT_DECODING NeXT_ENCODING 146 #define ALPHAOSF1_DECODING ALPHAOSF1_ENCODING 147 #define ALPHAVMSd_DECODING ALPHAVMSd_ENCODING 148 #define ALPHAVMSg_DECODING ALPHAVMSg_ENCODING 149 #define ALPHAVMSi_DECODING ALPHAVMSi_ENCODING 150 151 /****************************************************************************** 152 * Variance flags 153 ******************************************************************************/ 154 155 #define VARY (-1L) /* TRUE record or dimension variance flag */ 156 #define NOVARY 0L /* FALSE record or dimension variance flag */ 157 158 /****************************************************************************** 159 * Majorities 160 ******************************************************************************/ 161 162 #define ROW_MAJOR 1L 163 #define COLUMN_MAJOR 2L 164 165 /****************************************************************************** 166 * Formats. 167 ******************************************************************************/ 168 169 #define SINGLE_FILE 1L 170 #define MULTI_FILE 2L 171 172 /****************************************************************************** 173 * Checksum 174 ******************************************************************************/ 175 176 #define NO_CHECKSUM 0L 177 #define MD5_CHECKSUM 1L 178 #define OTHER_CHECKSUM 2L 179 180 /****************************************************************************** 181 * Attribute scopes 182 ******************************************************************************/ 183 184 #define GLOBAL_SCOPE 1L 185 #define VARIABLE_SCOPE 2L 186 187 /****************************************************************************** 188 * Readonly modes. 189 ******************************************************************************/ 190 191 #define READONLYon (-1L) 192 #define READONLYoff 0L 193 194 /****************************************************************************** 195 * Validate data modes. 196 ******************************************************************************/ 197 198 #define VALIDATEFILEon (-1L) 199 #define VALIDATEFILEoff 0L 200 201 /****************************************************************************** 202 * zModes. 203 ******************************************************************************/ 204 205 #define zMODEoff 0L 206 #define zMODEon1 1L 207 #define zMODEon2 2L 208 209 /****************************************************************************** 210 * Negative to positive floating point zero modes. 211 ******************************************************************************/ 212 213 #define NEGtoPOSfp0on (-1L) 214 #define NEGtoPOSfp0off 0L 215 216 /****************************************************************************** 217 * Backward file mode. 218 ******************************************************************************/ 219 220 #define BACKWARDFILEon 1 221 #define BACKWARDFILEoff 0 222 223 /****************************************************************************** 224 * Compression/sparseness constants. 225 ******************************************************************************/ 226 227 #define CDF_MAX_PARMS 5 228 #define NO_COMPRESSION 0L 229 #define RLE_COMPRESSION 1L 230 #define HUFF_COMPRESSION 2L 231 #define AHUFF_COMPRESSION 3L 232 /************************************************** 233 * Compression `4' used to be RICE. Do not reuse! * 234 **************************************************/ 235 #define GZIP_COMPRESSION 5L 236 /* #define ZLIB_COMPRESSION 6L */ 237 238 #define RLE_OF_ZEROs 0L 239 #define OPTIMAL_ENCODING_TREES 0L 240 /* #define ZLIB_OF_ZEROs 0L */ 241 #define NO_SPARSEARRAYS 0L 242 #define NO_SPARSERECORDS 0L 243 #define PAD_SPARSERECORDS 1L 244 #define PREV_SPARSERECORDS 2L 245 246 /***************************************************************************** 247 * Invalid/reserved constants. 248 *****************************************************************************/ 249 250 #define RESERVED_CDFID ((CDFid) NULL) /* Indicates that a CDF hasn't 251 been selected yet. */ 252 #define RESERVED_CDFSTATUS ((CDFstatus) (-1)) /* Indicates that a CDFstatus 253 hasn't been selected yet. */ 254 255 #define ILLEGAL_EPOCH_VALUE (-1.0) 256 257 /****************************************************************************** 258 * Status codes (CDFstatus) 259 * - informatory codes are greater than CDF_OK 260 ******************************************************************************/ 261 262 #define VIRTUAL_RECORD_DATA ((CDFstatus) 1001) 263 #define DID_NOT_COMPRESS ((CDFstatus) 1002) 264 #define VAR_ALREADY_CLOSED ((CDFstatus) 1003) 265 #define SINGLE_FILE_FORMAT ((CDFstatus) 1004) 266 #define NO_PADVALUE_SPECIFIED ((CDFstatus) 1005) 267 #define NO_VARS_IN_CDF ((CDFstatus) 1006) 268 #define MULTI_FILE_FORMAT ((CDFstatus) 1007) 269 #define SOME_ALREADY_ALLOCATED ((CDFstatus) 1008) 270 #define PRECEEDING_RECORDS_ALLOCATED ((CDFstatus) 1009) 271 272 #define CDF_OK ((CDFstatus) 0) 273 274 #define ATTR_NAME_TRUNC ((CDFstatus) (-1001)) 275 #define CDF_NAME_TRUNC ((CDFstatus) (-1002)) 276 #define VAR_NAME_TRUNC ((CDFstatus) (-1003)) 277 #define NEGATIVE_FP_ZERO ((CDFstatus) (-1004)) 278 /* -1005 unused. */ 279 #define FORCED_PARAMETER ((CDFstatus) (-1006)) 280 #define NA_FOR_VARIABLE ((CDFstatus) (-1007)) 281 282 #define CDF_WARN ((CDFstatus) (-2000)) 283 284 #define ATTR_EXISTS ((CDFstatus) (-2001)) 285 #define BAD_CDF_ID ((CDFstatus) (-2002)) 286 #define BAD_DATA_TYPE ((CDFstatus) (-2003)) 287 #define BAD_DIM_SIZE ((CDFstatus) (-2004)) 288 #define BAD_DIM_INDEX ((CDFstatus) (-2005)) 289 #define BAD_ENCODING ((CDFstatus) (-2006)) 290 #define BAD_MAJORITY ((CDFstatus) (-2007)) 291 #define BAD_NUM_DIMS ((CDFstatus) (-2008)) 292 #define BAD_REC_NUM ((CDFstatus) (-2009)) 293 #define BAD_SCOPE ((CDFstatus) (-2010)) 294 #define BAD_NUM_ELEMS ((CDFstatus) (-2011)) 295 #define CDF_OPEN_ERROR ((CDFstatus) (-2012)) 296 #define CDF_EXISTS ((CDFstatus) (-2013)) 297 #define BAD_FORMAT ((CDFstatus) (-2014)) 298 #define BAD_ALLOCATE_RECS ((CDFstatus) (-2015)) 299 #define BAD_CDF_EXTENSION ((CDFstatus) (-2016)) 300 #define NO_SUCH_ATTR ((CDFstatus) (-2017)) 301 #define NO_SUCH_ENTRY ((CDFstatus) (-2018)) 302 #define NO_SUCH_VAR ((CDFstatus) (-2019)) 303 #define VAR_READ_ERROR ((CDFstatus) (-2020)) 304 #define VAR_WRITE_ERROR ((CDFstatus) (-2021)) 305 #define BAD_ARGUMENT ((CDFstatus) (-2022)) 306 #define IBM_PC_OVERFLOW ((CDFstatus) (-2023)) 307 #define TOO_MANY_VARS ((CDFstatus) (-2024)) 308 #define VAR_EXISTS ((CDFstatus) (-2025)) 309 #define BAD_MALLOC ((CDFstatus) (-2026)) 310 #define NOT_A_CDF ((CDFstatus) (-2027)) 311 #define CORRUPTED_V2_CDF ((CDFstatus) (-2028)) 312 #define VAR_OPEN_ERROR ((CDFstatus) (-2029)) 313 #define BAD_INITIAL_RECS ((CDFstatus) (-2030)) 314 #define BAD_BLOCKING_FACTOR ((CDFstatus) (-2031)) 315 #define END_OF_VAR ((CDFstatus) (-2032)) 316 /* -2033 unused. */ 317 #define BAD_CDFSTATUS ((CDFstatus) (-2034)) 318 #define CDF_INTERNAL_ERROR ((CDFstatus) (-2035)) 319 #define BAD_NUM_VARS ((CDFstatus) (-2036)) 320 #define BAD_REC_COUNT ((CDFstatus) (-2037)) 321 #define BAD_REC_INTERVAL ((CDFstatus) (-2038)) 322 #define BAD_DIM_COUNT ((CDFstatus) (-2039)) 323 #define BAD_DIM_INTERVAL ((CDFstatus) (-2040)) 324 #define BAD_VAR_NUM ((CDFstatus) (-2041)) 325 #define BAD_ATTR_NUM ((CDFstatus) (-2042)) 326 #define BAD_ENTRY_NUM ((CDFstatus) (-2043)) 327 #define BAD_ATTR_NAME ((CDFstatus) (-2044)) 328 #define BAD_VAR_NAME ((CDFstatus) (-2045)) 329 #define NO_ATTR_SELECTED ((CDFstatus) (-2046)) 330 #define NO_ENTRY_SELECTED ((CDFstatus) (-2047)) 331 #define NO_VAR_SELECTED ((CDFstatus) (-2048)) 332 #define BAD_CDF_NAME ((CDFstatus) (-2049)) 333 /* -2050 unused. */ 334 #define CANNOT_CHANGE ((CDFstatus) (-2051)) 335 #define NO_STATUS_SELECTED ((CDFstatus) (-2052)) 336 #define NO_CDF_SELECTED ((CDFstatus) (-2053)) 337 #define READ_ONLY_DISTRIBUTION ((CDFstatus) (-2054)) 338 #define CDF_CLOSE_ERROR ((CDFstatus) (-2055)) 339 #define VAR_CLOSE_ERROR ((CDFstatus) (-2056)) 340 /* -2057 unused. */ 341 #define BAD_FNC_OR_ITEM ((CDFstatus) (-2058)) 342 /* -2059 unused. */ 343 #define ILLEGAL_ON_V1_CDF ((CDFstatus) (-2060)) 344 /* -2061 unused. */ 345 /* -2062 unused. */ 346 #define BAD_CACHE_SIZE ((CDFstatus) (-2063)) 347 /* -2064 unused. */ 348 /* -2065 unused. */ 349 #define CDF_CREATE_ERROR ((CDFstatus) (-2066)) 350 #define NO_SUCH_CDF ((CDFstatus) (-2067)) 351 #define VAR_CREATE_ERROR ((CDFstatus) (-2068)) 352 /* -2069 unused. */ 353 #define READ_ONLY_MODE ((CDFstatus) (-2070)) 354 #define ILLEGAL_IN_zMODE ((CDFstatus) (-2071)) 355 #define BAD_zMODE ((CDFstatus) (-2072)) 356 #define BAD_READONLY_MODE ((CDFstatus) (-2073)) 357 #define CDF_READ_ERROR ((CDFstatus) (-2074)) 358 #define CDF_WRITE_ERROR ((CDFstatus) (-2075)) 359 #define ILLEGAL_FOR_SCOPE ((CDFstatus) (-2076)) 360 #define NO_MORE_ACCESS ((CDFstatus) (-2077)) 361 /* -2078 unused. */ 362 #define BAD_DECODING ((CDFstatus) (-2079)) 363 /* -2080 unused. */ 364 #define BAD_NEGtoPOSfp0_MODE ((CDFstatus) (-2081)) 365 #define UNSUPPORTED_OPERATION ((CDFstatus) (-2082)) 366 #define CDF_SAVE_ERROR ((CDFstatus) (-2083)) 367 #define VAR_SAVE_ERROR ((CDFstatus) (-2084)) 368 /* -2085 unused. */ 369 #define NO_WRITE_ACCESS ((CDFstatus) (-2086)) 370 #define NO_DELETE_ACCESS ((CDFstatus) (-2087)) 371 #define CDF_DELETE_ERROR ((CDFstatus) (-2088)) 372 #define VAR_DELETE_ERROR ((CDFstatus) (-2089)) 373 #define UNKNOWN_COMPRESSION ((CDFstatus) (-2090)) 374 #define CANNOT_COMPRESS ((CDFstatus) (-2091)) 375 #define DECOMPRESSION_ERROR ((CDFstatus) (-2092)) 376 #define COMPRESSION_ERROR ((CDFstatus) (-2093)) 377 /* -2094 unused. */ 378 /* -2095 unused. */ 379 #define EMPTY_COMPRESSED_CDF ((CDFstatus) (-2096)) 380 #define BAD_COMPRESSION_PARM ((CDFstatus) (-2097)) 381 #define UNKNOWN_SPARSENESS ((CDFstatus) (-2098)) 382 #define CANNOT_SPARSERECORDS ((CDFstatus) (-2099)) 383 #define CANNOT_SPARSEARRAYS ((CDFstatus) (-2100)) 384 #define TOO_MANY_PARMS ((CDFstatus) (-2101)) 385 #define NO_SUCH_RECORD ((CDFstatus) (-2102)) 386 #define CANNOT_ALLOCATE_RECORDS ((CDFstatus) (-2103)) 387 /* -2104 unused. */ 388 /* -2105 unused. */ 389 #define SCRATCH_DELETE_ERROR ((CDFstatus) (-2106)) 390 #define SCRATCH_CREATE_ERROR ((CDFstatus) (-2107)) 391 #define SCRATCH_READ_ERROR ((CDFstatus) (-2108)) 392 #define SCRATCH_WRITE_ERROR ((CDFstatus) (-2109)) 393 #define BAD_SPARSEARRAYS_PARM ((CDFstatus) (-2110)) 394 #define BAD_SCRATCH_DIR ((CDFstatus) (-2111)) 395 #define NOT_A_CDF_OR_NOT_SUPPORTED ((CDFstatus) (-2113)) 396 #define CORRUPTED_V3_CDF ((CDFstatus) (-2223)) 397 #define ILLEGAL_EPOCH_FIELD ((CDFstatus) (-2224)) 398 #define BAD_CHECKSUM ((CDFstatus) (-2225)) 399 #define CHECKSUM_ERROR ((CDFstatus) (-2226)) 400 #define CHECKSUM_NOT_ALLOWED ((CDFstatus) (-2227)) 401 /* #define ZLIB_DECOMPRESSION_ERROR ((CDFstatus) (-2228)) */ 402 403 /****************************************************************************** 404 * Functions (for INTERNAL interface). 405 * NOTE: These values must be different from those of the items. 406 ******************************************************************************/ 407 408 #define CREATE_ 1001L 409 #define OPEN_ 1002L 410 #define DELETE_ 1003L 411 #define CLOSE_ 1004L 412 #define SELECT_ 1005L 413 #define CONFIRM_ 1006L 414 #define GET_ 1007L 415 #define PUT_ 1008L 416 417 #define SAVE_ 1009L 418 #define BACKWARD_ 1010L 419 #define GETCDFFILEBACKWARD_ 1011L 420 #define CHECKSUM_ 1012L 421 #define GETCDFCHECKSUM_ 1013L 422 #define VALIDATE_ 1014L 423 #define GETCDFVALIDATE_ 1015L 424 425 #define NULL_ 1000L 426 427 /****************************************************************************** 428 * Items on which functions are performed (for INTERNAL interface). 429 * NOTE: These values must be different from those of the functions. 430 ******************************************************************************/ 431 432 #define CDF_ 1L 433 #define CDF_NAME_ 2L 434 #define CDF_ENCODING_ 3L 435 #define CDF_DECODING_ 4L 436 #define CDF_MAJORITY_ 5L 437 #define CDF_FORMAT_ 6L 438 #define CDF_COPYRIGHT_ 7L 439 #define CDF_NUMrVARS_ 8L 440 #define CDF_NUMzVARS_ 9L 441 #define CDF_NUMATTRS_ 10L 442 #define CDF_NUMgATTRS_ 11L 443 #define CDF_NUMvATTRS_ 12L 444 #define CDF_VERSION_ 13L 445 #define CDF_RELEASE_ 14L 446 #define CDF_INCREMENT_ 15L 447 #define CDF_STATUS_ 16L 448 #define CDF_READONLY_MODE_ 17L 449 #define CDF_zMODE_ 18L 450 #define CDF_NEGtoPOSfp0_MODE_ 19L 451 #define LIB_COPYRIGHT_ 20L 452 #define LIB_VERSION_ 21L 453 #define LIB_RELEASE_ 22L 454 #define LIB_INCREMENT_ 23L 455 #define LIB_subINCREMENT_ 24L 456 #define rVARs_NUMDIMS_ 25L 457 #define rVARs_DIMSIZES_ 26L 458 #define rVARs_MAXREC_ 27L 459 #define rVARs_RECDATA_ 28L 460 #define rVARs_RECNUMBER_ 29L 461 #define rVARs_RECCOUNT_ 30L 462 #define rVARs_RECINTERVAL_ 31L 463 #define rVARs_DIMINDICES_ 32L 464 #define rVARs_DIMCOUNTS_ 33L 465 #define rVARs_DIMINTERVALS_ 34L 466 #define rVAR_ 35L 467 #define rVAR_NAME_ 36L 468 #define rVAR_DATATYPE_ 37L 469 #define rVAR_NUMELEMS_ 38L 470 #define rVAR_RECVARY_ 39L 471 #define rVAR_DIMVARYS_ 40L 472 #define rVAR_NUMBER_ 41L 473 #define rVAR_DATA_ 42L 474 #define rVAR_HYPERDATA_ 43L 475 #define rVAR_SEQDATA_ 44L 476 #define rVAR_SEQPOS_ 45L 477 #define rVAR_MAXREC_ 46L 478 #define rVAR_MAXallocREC_ 47L 479 #define rVAR_DATASPEC_ 48L 480 #define rVAR_PADVALUE_ 49L 481 #define rVAR_INITIALRECS_ 50L 482 #define rVAR_BLOCKINGFACTOR_ 51L 483 #define rVAR_nINDEXRECORDS_ 52L 484 #define rVAR_nINDEXENTRIES_ 53L 485 #define rVAR_EXISTENCE_ 54L 486 #define zVARs_MAXREC_ 55L 487 #define zVARs_RECDATA_ 56L 488 #define zVAR_ 57L 489 #define zVAR_NAME_ 58L 490 #define zVAR_DATATYPE_ 59L 491 #define zVAR_NUMELEMS_ 60L 492 #define zVAR_NUMDIMS_ 61L 493 #define zVAR_DIMSIZES_ 62L 494 #define zVAR_RECVARY_ 63L 495 #define zVAR_DIMVARYS_ 64L 496 #define zVAR_NUMBER_ 65L 497 #define zVAR_DATA_ 66L 498 #define zVAR_HYPERDATA_ 67L 499 #define zVAR_SEQDATA_ 68L 500 #define zVAR_SEQPOS_ 69L 501 #define zVAR_MAXREC_ 70L 502 #define zVAR_MAXallocREC_ 71L 503 #define zVAR_DATASPEC_ 72L 504 #define zVAR_PADVALUE_ 73L 505 #define zVAR_INITIALRECS_ 74L 506 #define zVAR_BLOCKINGFACTOR_ 75L 507 #define zVAR_nINDEXRECORDS_ 76L 508 #define zVAR_nINDEXENTRIES_ 77L 509 #define zVAR_EXISTENCE_ 78L 510 #define zVAR_RECNUMBER_ 79L 511 #define zVAR_RECCOUNT_ 80L 512 #define zVAR_RECINTERVAL_ 81L 513 #define zVAR_DIMINDICES_ 82L 514 #define zVAR_DIMCOUNTS_ 83L 515 #define zVAR_DIMINTERVALS_ 84L 516 #define ATTR_ 85L 517 #define ATTR_SCOPE_ 86L 518 #define ATTR_NAME_ 87L 519 #define ATTR_NUMBER_ 88L 520 #define ATTR_MAXgENTRY_ 89L 521 #define ATTR_NUMgENTRIES_ 90L 522 #define ATTR_MAXrENTRY_ 91L 523 #define ATTR_NUMrENTRIES_ 92L 524 #define ATTR_MAXzENTRY_ 93L 525 #define ATTR_NUMzENTRIES_ 94L 526 #define ATTR_EXISTENCE_ 95L 527 #define gENTRY_ 96L 528 #define gENTRY_EXISTENCE_ 97L 529 #define gENTRY_DATATYPE_ 98L 530 #define gENTRY_NUMELEMS_ 99L 531 #define gENTRY_DATASPEC_ 100L 532 #define gENTRY_DATA_ 101L 533 #define rENTRY_ 102L 534 #define rENTRY_NAME_ 103L 535 #define rENTRY_EXISTENCE_ 104L 536 #define rENTRY_DATATYPE_ 105L 537 #define rENTRY_NUMELEMS_ 106L 538 #define rENTRY_DATASPEC_ 107L 539 #define rENTRY_DATA_ 108L 540 #define zENTRY_ 109L 541 #define zENTRY_NAME_ 110L 542 #define zENTRY_EXISTENCE_ 111L 543 #define zENTRY_DATATYPE_ 112L 544 #define zENTRY_NUMELEMS_ 113L 545 #define zENTRY_DATASPEC_ 114L 546 #define zENTRY_DATA_ 115L 547 #define STATUS_TEXT_ 116L 548 #define CDF_CACHESIZE_ 117L 549 #define rVARs_CACHESIZE_ 118L 550 #define zVARs_CACHESIZE_ 119L 551 #define rVAR_CACHESIZE_ 120L 552 #define zVAR_CACHESIZE_ 121L 553 #define zVARs_RECNUMBER_ 122L 554 #define rVAR_ALLOCATERECS_ 123L 555 #define zVAR_ALLOCATERECS_ 124L 556 #define DATATYPE_SIZE_ 125L 557 #define CURgENTRY_EXISTENCE_ 126L 558 #define CURrENTRY_EXISTENCE_ 127L 559 #define CURzENTRY_EXISTENCE_ 128L 560 #define CDF_INFO_ 129L 561 #define CDF_COMPRESSION_ 130L 562 #define zVAR_COMPRESSION_ 131L 563 #define zVAR_SPARSERECORDS_ 132L 564 #define zVAR_SPARSEARRAYS_ 133L 565 #define zVAR_ALLOCATEBLOCK_ 134L 566 #define zVAR_NUMRECS_ 135L 567 #define zVAR_NUMallocRECS_ 136L 568 #define rVAR_COMPRESSION_ 137L 569 #define rVAR_SPARSERECORDS_ 138L 570 #define rVAR_SPARSEARRAYS_ 139L 571 #define rVAR_ALLOCATEBLOCK_ 140L 572 #define rVAR_NUMRECS_ 141L 573 #define rVAR_NUMallocRECS_ 142L 574 #define rVAR_ALLOCATEDFROM_ 143L 575 #define rVAR_ALLOCATEDTO_ 144L 576 #define zVAR_ALLOCATEDFROM_ 145L 577 #define zVAR_ALLOCATEDTO_ 146L 578 #define zVAR_nINDEXLEVELS_ 147L 579 #define rVAR_nINDEXLEVELS_ 148L 580 #define CDF_SCRATCHDIR_ 149L 581 #define rVAR_RESERVEPERCENT_ 150L 582 #define zVAR_RESERVEPERCENT_ 151L 583 #define rVAR_RECORDS_ 152L 584 #define zVAR_RECORDS_ 153L 585 #define STAGE_CACHESIZE_ 154L 586 #define COMPRESS_CACHESIZE_ 155L 587 #define CDF_CHECKSUM_ 156L 588 589 #define CDFwithSTATS_ 200L /* For CDF internal use only! */ 590 #define CDF_ACCESS_ 201L /* For CDF internal use only! */ 591 592 /****************************************************************************** 593 * C interface macros. 594 ******************************************************************************/ 595 596 #define CDFattrCreate CDFcreateAttr 597 #define CDFattrNum CDFgetAttrNum 598 #define CDFvarCreate CDFcreaterVar 599 #define CDFvarNum CDFgetVarNum 600 #define CDFerror CDFgetStatusText 601 #define CDFattrRename CDFrenameAttr 602 #define CDFopenCDF CDFopen 603 #define CDFdeleteCDF CDFdelete 604 #define CDFcloseCDF CDFclose 605 #define CDFselectCDF CDFselect 606 607 #define CDFattrEntryInquire(id,attrNum,entryNum,dataType,numElems) \ 608 CDFinquireAttrEntry(id,0,attrNum,entryNum,dataType,numElems) 609 #define CDFinquireAttrgEntry(id,attrNum,entryNum,dataType,numElems) \ 610 CDFinquireAttrEntry(id,1,attrNum,entryNum,dataType,numElems) 611 #define CDFinquireAttrrEntry(id,attrNum,entryNum,dataType,numElems) \ 612 CDFinquireAttrEntry(id,2,attrNum,entryNum,dataType,numElems) 613 #define CDFinquireAttrzEntry(id,attrNum,entryNum,dataType,numElems) \ 614 CDFinquireAttrEntry(id,3,attrNum,entryNum,dataType,numElems) 615 616 #define CDFinquireAttr1Info(id,attrNum,attrName,attrScope,maxEntry) \ 617 CDFinquireAttrInfo(id,0,attrNum,attrName,attrScope,maxEntry) 618 #define CDFinquireAttr2Info(id,attrNum,attrName,attrScope,maxEntry) \ 619 CDFinquireAttrInfo(id,1,attrNum,attrName,attrScope,maxEntry) 620 621 #define CDFattrPut(id,attrNum,entryNum,dataType,numElems,value) \ 622 CDFputAttrEntry(id,0,attrNum,entryNum,dataType,numElems,value) 623 #define CDFputAttrgEntry(id,attrNum,entryNum,dataType,numElems,value) \ 624 CDFputAttrEntry(id,1,attrNum,entryNum,dataType,numElems,value) 625 #define CDFputAttrrEntry(id,attrNum,entryNum,dataType,numElems,value) \ 626 CDFputAttrEntry(id,2,attrNum,entryNum,dataType,numElems,value) 627 #define CDFputAttrzEntry(id,attrNum,entryNum,dataType,numElems,value) \ 628 CDFputAttrEntry(id,3,attrNum,entryNum,dataType,numElems,value) 629 630 #define CDFattrGet(id,attrNum,entryNum,value) \ 631 CDFgetAttrEntry(id,0,attrNum,entryNum,value) 632 #define CDFgetAttrgEntry(id,attrNum,entryNum,value) \ 633 CDFgetAttrEntry(id,1,attrNum,entryNum,value) 634 #define CDFgetAttrrEntry(id,attrNum,entryNum,value) \ 635 CDFgetAttrEntry(id,2,attrNum,entryNum,value) 636 #define CDFgetAttrzEntry(id,attrNum,entryNum,value) \ 637 CDFgetAttrEntry(id,3,attrNum,entryNum,value) 638 639 #define CDFgetAttrgEntryDataType(id,attrNum,entryNum,dataType) \ 640 CDFgetAttrEntryDataType(id,1,attrNum,entryNum,dataType) 641 #define CDFgetAttrrEntryDataType(id,attrNum,entryNum,dataType) \ 642 CDFgetAttrEntryDataType(id,2,attrNum,entryNum,dataType) 643 #define CDFgetAttrzEntryDataType(id,attrNum,entryNum,dataType) \ 644 CDFgetAttrEntryDataType(id,3,attrNum,entryNum,dataType) 645 646 #define CDFsetAttrgEntryDataSpec(id,attrNum,entryNum,dataType) \ 647 CDFsetAttrEntryDataSpec(id,1,attrNum,entryNum,dataType,(long)-99) 648 #define CDFsetAttrrEntryDataSpec(id,attrNum,entryNum,dataType) \ 649 CDFsetAttrEntryDataSpec(id,2,attrNum,entryNum,dataType,(long)-99) 650 #define CDFsetAttrzEntryDataSpec(id,attrNum,entryNum,dataType) \ 651 CDFsetAttrEntryDataSpec(id,3,attrNum,entryNum,dataType,(long)-99) 652 653 #define CDFvarRename CDFrenamerVar 654 #define CDFrenamerVar(id,varNum,varName) CDFrenameVar(id,0,varNum,varName) 655 #define CDFrenamezVar(id,varNum,varName) CDFrenameVar(id,1,varNum,varName) 656 657 #define CDFinquirerVar(id,varN,varName,dataType,numElems,numDims,dimSizes,recVary,dimVarys) \ 658 CDFinquireVar(id,0,varN,varName,dataType,numElems,numDims,dimSizes,recVary,dimVarys) 659 #define CDFinquirezVar(id,varN,varName,dataType,numElems,numDims,dimSizes,recVary,dimVarys) \ 660 CDFinquireVar(id,1,varN,varName,dataType,numElems,numDims,dimSizes,recVary,dimVarys) 661 662 #define CDFvarPut CDFputrVarData 663 #define CDFputrVarData(id,varNum,recNum,indices,value) \ 664 CDFputVarData(id,0,varNum,recNum,indices,value) 665 #define CDFputzVarData(id,varNum,recNum,indices,value) \ 666 CDFputVarData(id,1,varNum,recNum,indices,value) 667 668 #define CDFvarGet CDFgetrVarData 669 #define CDFgetrVarData(id,varNum,recNum,indices,value) \ 670 CDFgetVarData(id,0,varNum,recNum,indices,value) 671 #define CDFgetzVarData(id,varNum,recNum,indices,value) \ 672 CDFgetVarData(id,1,varNum,recNum,indices,value) 673 674 #define CDFvarHyperPut CDFhyperPutrVarData 675 #define CDFhyperPutrVarData(id,varNum,recS,recC,recI,indices,counts,intervals,buff) \ 676 CDFhyperPutVarData(id,0,varNum,recS,recC,recI,indices,counts,intervals,buff) 677 #define CDFhyperPutzVarData(id,varNum,recS,recC,recI,indices,counts,intervals,buff) \ 678 CDFhyperPutVarData(id,1,varNum,recS,recC,recI,indices,counts,intervals,buff) 679 680 #define CDFvarHyperGet CDFhyperGetrVarData 681 #define CDFhyperGetrVarData(id,varNum,recS,recC,recI,indices,counts,intervals,buff) \ 682 CDFhyperGetVarData(id,0,varNum,recS,recC,recI,indices,counts,intervals,buff) 683 #define CDFhyperGetzVarData(id,varNum,recS,recC,recI,indices,counts,intervals,buff) \ 684 CDFhyperGetVarData(id,1,varNum,recS,recC,recI,indices,counts,intervals,buff) 685 686 #define CDFvarClose CDFcloserVar 687 #define CDFcloserVar(id,varNum) CDFcloseVar(id,0,varNum) 688 #define CDFclosezVar(id,varNum) CDFcloseVar(id,1,varNum) 689 690 #define CDFdeleteAttrgEntry(id,attrNum,entryNum) \ 691 CDFdeleteAttrEntry(id,1,attrNum,entryNum) 692 #define CDFdeleteAttrrEntry(id,attrNum,entryNum) \ 693 CDFdeleteAttrEntry(id,2,attrNum,entryNum) 694 #define CDFdeleteAttrzEntry(id,attrNum,entryNum) \ 695 CDFdeleteAttrEntry(id,3,attrNum,entryNum) 696 697 #define CDFgetNumAttrgEntries(id,attrNum,numEntries) \ 698 CDFgetNumAttrEntries(id,1,attrNum,numEntries) 699 #define CDFgetNumAttrrEntries(id,attrNum,numEntries) \ 700 CDFgetNumAttrEntries(id,2,attrNum,numEntries) 701 #define CDFgetNumAttrzEntries(id,attrNum,numEntries) \ 702 CDFgetNumAttrEntries(id,3,attrNum,numEntries) 703 704 #define CDFgetAttrMaxgEntry(id,attrNum,maxEntry) \ 705 CDFgetAttrMaxEntry(id,1,attrNum,maxEntry) 706 #define CDFgetAttrMaxrEntry(id,attrNum,maxEntry) \ 707 CDFgetAttrMaxEntry(id,2,attrNum,maxEntry) 708 #define CDFgetAttrMaxzEntry(id,attrNum,maxEntry) \ 709 CDFgetAttrMaxEntry(id,3,attrNum,maxEntry) 710 711 #define CDFgetAttrgEntryNumElements(id,attrNum,entryNum,numElems) \ 712 CDFgetAttrEntryNumElements(id,1,attrNum,entryNum,numElems) 713 #define CDFgetAttrrEntryNumElements(id,attrNum,entryNum,numElems) \ 714 CDFgetAttrEntryNumElements(id,2,attrNum,entryNum,numElems) 715 #define CDFgetAttrzEntryNumElements(id,attrNum,entryNum,numElems) \ 716 CDFgetAttrEntryNumElements(id,3,attrNum,entryNum,numElems) 717 718 #define CDFgetNumrVars(id,numVars) CDFgetNumVars(id,0,numVars) 719 #define CDFgetNumzVars(id,numVars) CDFgetNumVars(id,1,numVars) 720 721 #define CDFdeletezVar(id,varNum) CDFdeleteVar(id,1,varNum) 722 723 #define CDFdeletezVarRecords(id,varNum,sRec,eRec) \ 724 CDFdeleteVarRecords(id,1,varNum,sRec,eRec) 725 726 #define CDFgetzVarName(id,varNum,varName) \ 727 CDFgetVarName(id,1,varNum,varName) 728 729 #define CDFgetzVarMaxWrittenRecNum(id,varNum,maxRec) \ 730 CDFgetVarMaxWrittenRecNum(id,1,varNum,maxRec) 731 732 #define CDFgetzVarsMaxWrittenRecNum(id,maxRec) \ 733 CDFgetVarsMaxWrittenRecNum(id,1,maxRec) 734 735 #define CDFgetzVarMaxAllocRecNum(id,varNum,maxAllocRec) \ 736 CDFgetVarMaxAllocRecNum(id,1,varNum,maxAllocRec) 737 738 #define CDFgetzVarDataType(id,varNum,dataType) \ 739 CDFgetVarDataType(id,1,varNum,dataType) 740 741 #define CDFgetzVarAllocRecords(id,varNum,allocRecs) \ 742 CDFgetVarAllocRecords(id,1,varNum,allocRecs) 743 #define CDFsetzVarAllocRecords(id,varNum,allocRecs) \ 744 CDFsetVarAllocRecords(id,1,varNum,allocRecs) 745 746 #define CDFsetzVarAllocBlockRecords(id,varNum,firstRec,lastRec) \ 747 CDFsetVarAllocBlockRecords(id,1,varNum,firstRec,lastRec) 748 749 #define CDFgetzVarBlockingFactor(id,varNum,bf) \ 750 CDFgetVarBlockingFactor(id,1,varNum,bf) 751 #define CDFsetzVarBlockingFactor(id,varNum,bf) \ 752 CDFsetVarBlockingFactor(id,1,varNum,bf) 753 754 #define CDFgetzVarCompression(id,varNum,cType,cParms,cPct) \ 755 CDFgetVarCompression(id,1,varNum,cType,cParms,cPct) 756 #define CDFsetzVarCompression(id,varNum,cType,cParms) \ 757 CDFsetVarCompression(id,1,varNum,cType,cParms) 758 759 #define CDFsetzVarDataSpec(id,varNum,dataType) \ 760 CDFsetVarDataSpec(id,1,varNum,dataType,(long)-99) 761 762 #define CDFsetzVarDimVariances(id,varNum,dimVarys) \ 763 CDFsetVarDimVariances(id,1,varNum,dimVarys) 764 765 #define CDFgetzVarDimVariances(id,varNum,dimVarys) \ 766 CDFgetVarDimVariances(id,1,varNum,dimVarys) 767 768 #define CDFgetzVarNumElements(id,varNum,numEles) \ 769 CDFgetVarNumElements(id,1,varNum,numEles) 770 771 #define CDFgetzVarNumRecsWritten(id,varNum,numRecs) \ 772 CDFgetVarNumRecsWritten(id,1,varNum,numRecs) 773 774 #define CDFsetzVarInitialRecs(id,varNum,initRecs) \ 775 CDFsetVarInitialRecs(id,1,varNum,initRecs) 776 777 #define CDFgetzVarPadValue(id,varNum,pad) \ 778 CDFgetVarPadValue(id,1,varNum,pad) 779 #define CDFsetzVarPadValue(id,varNum,pad) \ 780 CDFsetVarPadValue(id,1,varNum,pad) 781 782 #define CDFgetzVarRecVariance(id,varNum,recVary) \ 783 CDFgetVarRecVariance(id,1,varNum,recVary) 784 #define CDFsetzVarRecVariance(id,varNum,recVary) \ 785 CDFsetVarRecVariance(id,1,varNum,recVary) 786 787 #define CDFgetzVarSeqData(id,varNum,data) \ 788 CDFgetVarSeqData(id,1,varNum,data) 789 #define CDFputzVarSeqData(id,varNum,data) \ 790 CDFputVarSeqData(id,1,varNum,data) 791 792 #define CDFgetzVarSparseRecords(id,varNum,sprecs) \ 793 CDFgetVarSparseRecords(id,1,varNum,sprecs) 794 #define CDFsetzVarSparseRecords(id,varNum,sprecs) \ 795 CDFsetVarSparseRecords(id,1,varNum,sprecs) 796 797 #define CDFgetzVarsRecordData(id,numVars,varNames,recNum,bufferPtr) \ 798 CDFgetVarsRecordDatabyNames(id,1,numVars,varNames,recNum,bufferPtr) 799 #define CDFputzVarsRecordData(id,numVars,varNames,recNum,bufferPtr) \ 800 CDFputVarsRecordDatabyNames(id,1,numVars,varNames,recNum,bufferPtr) 801 802 #define CDFgetzVarsRecordDatabyNumbers(id,numVars,varNumbers,recNum,buffer) \ 803 CDFgetVarsRecordDatabyNumbers(id,1,numVars,varNumbers,recNum,buffer) 804 #define CDFputzVarsRecordDatabyNumbers(id,numVars,varNumbers,recNum,buffer) \ 805 CDFputVarsRecordDatabyNumbers(id,1,numVars,varNumbers,recNum,buffer) 806 807 #define CDFgetzVarRecordData(id,varNum,recNum,buffer) \ 808 CDFgetVarRecordData(id,1,varNum,recNum,buffer) 809 #define CDFputzVarRecordData(id,varNum,recNum,buffer) \ 810 CDFputVarRecordData(id,1,varNum,recNum,buffer) 811 812 #define CDFsetzVarCacheSize(id,varNum,numBuffers) \ 813 CDFsetVarCacheSize(id,1,varNum,numBuffers) 814 815 #define CDFsetzVarsCacheSize(id,numBuffers) \ 816 CDFsetVarsCacheSize(id,1,numBuffers) 817 818 #define CDFgetzVarCacheSize(id,varNum,numBuffers) \ 819 CDFgetVarCacheSize(id,1,varNum,numBuffers) 820 821 #define CDFconfirmzVarExistence(id,varName) \ 822 CDFconfirmVarExistence(id,1,varName) 823 824 #define CDFconfirmzVarPadValueExistence(id,varNum) \ 825 CDFconfirmVarPadValueExistence(id,1,varNum) 826 827 #define CDFgetzVarReservePercent(id,varNum,percent) \ 828 CDFgetVarReservePercent(id,1,varNum,percent) 829 830 #define CDFsetzVarReservePercent(id,varNum,percent) \ 831 CDFsetVarReservePercent(id,1,varNum,percent) 832 833 #define CDFgetzVarSeqPos(id,varNum,recNum,indices) \ 834 CDFgetVarSeqPos(id,1,varNum,recNum,indices) 835 #define CDFsetzVarSeqPos(id,varNum,recNum,indices) \ 836 CDFsetVarSeqPos(id,1,varNum,recNum,indices) 837 838 /* 839 * CLOSE_ * 840 * */ 841 842 #define CDFclose(id) \ 843 CDFlib (SELECT_, CDF_, id, \ 844 CLOSE_, CDF_, \ 845 NULL_) 846 847 #define CDFcloseVar(id,zVar,varNum) \ 848 CDFlib (SELECT_, CDF_, id, \ 849 (zVar?zVAR_:rVAR_), varNum, \ 850 CLOSE_, (zVar? zVAR_: rVAR_), \ 851 NULL_) 852 853 /* 854 * CONFIRM_ * 855 * */ 856 857 #define CDFconfirmAttrExistence(id,attrName) \ 858 CDFlib (SELECT_, CDF_, id, \ 859 CONFIRM_, ATTR_EXISTENCE_, attrName, \ 860 NULL_) 861 862 #define CDFgetCacheSize(id,numBuffers) \ 863 CDFlib (SELECT_, CDF_, id, \ 864 CONFIRM_, CDF_CACHESIZE_, numBuffers, \ 865 NULL_) 866 867 #define CDFgetVarCacheSize(id,zVar,varNum,numBuffers) \ 868 CDFlib (SELECT_, CDF_, id, \ 869 (zVar?zVAR_:rVAR_), varNum, \ 870 CONFIRM_, (zVar?zVAR_CACHESIZE_:rVAR_CACHESIZE_), numBuffers, \ 871 NULL_) 872 873 #define CDFgetDecoding(id,decoding) \ 874 CDFlib (SELECT_, CDF_, id, \ 875 CONFIRM_, CDF_DECODING_, decoding, \ 876 NULL_) 877 878 #define CDFgetName(id,cdfName) \ 879 CDFlib (SELECT_, CDF_, id, \ 880 CONFIRM_, CDF_NAME_, cdfName, \ 881 NULL_) 882 883 #define CDFgetNegtoPosfp0Mode(id,negtoPosfp0) \ 884 CDFlib (SELECT_, CDF_, id, \ 885 CONFIRM_, CDF_NEGtoPOSfp0_MODE_, negtoPosfp0, \ 886 NULL_) 887 888 #define CDFgetReadOnlyMode(id,readOnlyMode) \ 889 CDFlib (SELECT_, CDF_, id, \ 890 CONFIRM_, CDF_READONLY_MODE_, readOnlyMode, \ 891 NULL_) 892 893 #define CDFgetzMode(id,zMode) \ 894 CDFlib (SELECT_, CDF_, id, \ 895 CONFIRM_, CDF_zMODE_, zMode, \ 896 NULL_) 897 898 #define CDFgetCompressionCacheSize(id,numBuffers) \ 899 CDFlib (SELECT_, CDF_, id, \ 900 CONFIRM_, COMPRESS_CACHESIZE_, numBuffers, \ 901 NULL_) 902 903 #define CDFconfirmgEntryExistence(id,attrNum,entryNum) \ 904 CDFlib (SELECT_, CDF_, id, \ 905 ATTR_, attrNum, \ 906 CONFIRM_, gENTRY_EXISTENCE_, entryNum, \ 907 NULL_) 908 909 #define CDFconfirmrEntryExistence(id,attrNum,entryNum) \ 910 CDFlib (SELECT_, CDF_, id, \ 911 ATTR_, attrNum, \ 912 CONFIRM_, rENTRY_EXISTENCE_, entryNum, \ 913 NULL_) 914 915 #define CDFgetStageCacheSize(id,numBuffers) \ 916 CDFlib (SELECT_, CDF_, id, \ 917 CONFIRM_, STAGE_CACHESIZE_, numBuffers, \ 918 NULL_) 919 920 #define CDFconfirmVarExistence(id,zVar,varName) \ 921 CDFlib (SELECT_, CDF_, id, \ 922 CONFIRM_, (zVar?zVAR_EXISTENCE_:rVAR_EXISTENCE_), varName, \ 923 NULL_) 924 925 #define CDFconfirmVarPadValueExistence(id,zVar,varNum) \ 926 CDFlib (SELECT_, CDF_, id, \ 927 (zVar?zVAR_:rVAR_), varNum, \ 928 CONFIRM_, (zVar?zVAR_PADVALUE_:rVAR_PADVALUE_), \ 929 NULL_) 930 931 #define CDFgetVarReservePercent(id,zVar,varNum,percent) \ 932 CDFlib (SELECT_, CDF_, id, \ 933 (zVar?zVAR_:rVAR_), varNum, \ 934 CONFIRM_, (zVar?zVAR_RESERVEPERCENT_:rVAR_RESERVEPERCENT_), percent, \ 935 NULL_) 936 937 #define CDFgetVarSeqPos(id,zVar,varNum,recNum,indices) \ 938 CDFlib (SELECT_, CDF_, id, \ 939 (zVar?zVAR_:rVAR_), varNum, \ 940 CONFIRM_, (zVar?zVAR_SEQPOS_:rVAR_SEQPOS_), recNum, indices, \ 941 NULL_) 942 943 #define CDFconfirmzEntryExistence(id,attrNum,entryNum) \ 944 CDFlib (SELECT_, CDF_, id, \ 945 ATTR_, attrNum, \ 946 CONFIRM_, zENTRY_EXISTENCE_, entryNum, \ 947 NULL_) 948 949 #define CDFconfirmChecksum(id) \ 950 CDFlib (SELECT_, CDF_, id, \ 951 CONFIRM_, CDF_CHECKSUM_, \ 952 NULL_) 953 954 /* 955 * CREATE_ * 956 * */ 957 958 #define CDFcreate(CDFname,numDims,dimSizes,encoding,majority,id) \ 959 CDFlib (CREATE_, CDF_, CDFname, numDims, dimSizes, id, \ 960 PUT_, CDF_ENCODING_, encoding, \ 961 CDF_MAJORITY_, majority, \ 962 NULL_) 963 964 #define CDFcreateAttr(id,attrName,attrScope,attrNum) \ 965 CDFlib (SELECT_, CDF_, id, \ 966 CREATE_, ATTR_, attrName, attrScope, attrNum, \ 967 NULL_) 968 969 #define CDFcreaterVar(id,varName,dataType,numElements,recVary,dimVarys,varNum) \ 970 CDFlib (SELECT_, CDF_, id, \ 971 CREATE_, rVAR_, varName, dataType, numElements, \ 972 recVary, dimVarys, varNum, \ 973 NULL_) 974 975 #define CDFcreatezVar(id,varName,dataType,numElements,numDims,dimSizes,recVary,dimVarys,varNum) \ 976 CDFlib (SELECT_, CDF_, id, \ 977 CREATE_, zVAR_, varName, dataType, numElements, \ 978 numDims,dimSizes, recVary, dimVarys, varNum, \ 979 NULL_) 980 981 /* 982 * DELETE_ * 983 * */ 984 985 #define CDFdelete(id) \ 986 CDFlib (SELECT_, CDF_, id, \ 987 DELETE_, CDF_, \ 988 NULL_) 989 990 #define CDFdeleteAttr(id,attrNum) \ 991 CDFlib (SELECT_, CDF_, id, \ 992 ATTR_, attrNum, \ 993 DELETE_, ATTR_, \ 994 NULL_) 995 996 #define CDFdeleteVar(id,zVar,varNum) \ 997 CDFlib (SELECT_, CDF_, id, \ 998 (zVar? zVAR_: rVAR_), varNum, \ 999 DELETE_, (zVar? zVAR_: rVAR_), \ 1000 NULL_) 1001 1002 #define CDFdeleteVarRecords(id,zVar,varNum,firstRec,lastRec) \ 1003 CDFlib (SELECT_, CDF_, id, \ 1004 (zVar? zVAR_: rVAR_), varNum, \ 1005 DELETE_, (zVar? zVAR_RECORDS_: rVAR_RECORDS_), firstRec, lastRec, \ 1006 NULL_) 1007 1008 /* 1009 * GET_ * 1010 * */ 1011 1012 #define CDFgetAttrName(id,attrNum,attrName) \ 1013 CDFlib (SELECT_, CDF_, id, \ 1014 ATTR_, attrNum, \ 1015 GET_, ATTR_NAME_, attrName, \ 1016 NULL_) 1017 1018 #define CDFgetAttrScope(id,attrNum,attrScope) \ 1019 CDFlib (SELECT_, CDF_, id, \ 1020 ATTR_, attrNum, \ 1021 GET_, ATTR_SCOPE_, attrScope, \ 1022 NULL_) 1023 1024 #define CDFgetCompression(id,cType, cParms, cPercent) \ 1025 CDFlib (SELECT_, CDF_, id, \ 1026 GET_, CDF_COMPRESSION_, cType, cParms, cPercent, \ 1027 NULL_) 1028 1029 #define CDFgetCopyright(id,copyright) \ 1030 CDFlib (SELECT_, CDF_, id, \ 1031 GET_, CDF_COPYRIGHT_, copyright, \ 1032 NULL_) 1033 1034 #define CDFgetEncoding(id,encoding) \ 1035 CDFlib (SELECT_, CDF_, id, \ 1036 GET_, CDF_ENCODING_, encoding, \ 1037 NULL_) 1038 1039 #define CDFgetFormat(id,format) \ 1040 CDFlib (SELECT_, CDF_, id, \ 1041 GET_, CDF_FORMAT_, format, \ 1042 NULL_) 1043 1044 #define CDFgetCompressionInfo(name,cType,cParms,cSize,uSize) \ 1045 CDFlib (GET_, CDF_INFO_, name, cType, cParms, cSize, uSize, \ 1046 NULL_) 1047 1048 #define CDFgetMajority(id,majority) \ 1049 CDFlib (SELECT_, CDF_, id, \ 1050 GET_, CDF_MAJORITY_, majority, \ 1051 NULL_) 1052 1053 #define CDFgetNumAttributes(id,numAttrs) \ 1054 CDFlib (SELECT_, CDF_, id, \ 1055 GET_, CDF_NUMATTRS_, numAttrs, \ 1056 NULL_) 1057 1058 #define CDFgetNumgAttributes(id,numgAttrs) \ 1059 CDFlib (SELECT_, CDF_, id, \ 1060 GET_, CDF_NUMgATTRS_, numgAttrs, \ 1061 NULL_) 1062 1063 #define CDFgetNumVars(id,zVar,numVars) \ 1064 CDFlib (SELECT_, CDF_, id, \ 1065 GET_, (zVar?CDF_NUMzVARS_:CDF_NUMrVARS_), numVars, \ 1066 NULL_) 1067 1068 #define CDFgetNumvAttributes(id,numvAttrs) \ 1069 CDFlib (SELECT_, CDF_, id, \ 1070 GET_, CDF_NUMvATTRS_, numvAttrs, \ 1071 NULL_) 1072 1073 #define CDFdoc(id,version,release,copyright) \ 1074 CDFlib (SELECT_, CDF_, id, \ 1075 GET_, CDF_VERSION_, version, \ 1076 CDF_RELEASE_, release, \ 1077 CDF_COPYRIGHT_, copyright, \ 1078 NULL_) 1079 1080 #define CDFgetDataTypeSize(dataType,numBytes) \ 1081 CDFlib (GET_, DATATYPE_SIZE_, dataType, numBytes, \ 1082 NULL_) 1083 1084 #define CDFgetLibraryCopyright(copyright) \ 1085 CDFlib (GET_, LIB_COPYRIGHT_, copyright, \ 1086 NULL_) 1087 1088 #define CDFgetLibraryVersion(version,release,increment,subincrement) \ 1089 CDFlib (GET_, LIB_VERSION_, version, \ 1090 LIB_RELEASE_, release, \ 1091 LIB_INCREMENT_, increment, \ 1092 LIB_subINCREMENT_, subincrement, \ 1093 NULL_) 1094 1095 #define CDFgetVersion(id,version,release,increment) \ 1096 CDFlib (SELECT_, CDF_, id, \ 1097 GET_, CDF_VERSION_, version, \ 1098 CDF_RELEASE_, release, \ 1099 CDF_INCREMENT_, increment, \ 1100 NULL_) 1101 1102 #define CDFgetVarBlockingFactor(id,zVar,varNum,bf) \ 1103 CDFlib (SELECT_, CDF_, id, \ 1104 (zVar?zVAR_:rVAR_), varNum, \ 1105 GET_, (zVar?zVAR_BLOCKINGFACTOR_:rVAR_BLOCKINGFACTOR_), bf, \ 1106 NULL_) 1107 1108 #define CDFgetVarCompression(id,zVar,varNum,cType,cParms,cPct) \ 1109 CDFlib (SELECT_, CDF_, id, \ 1110 (zVar?zVAR_:rVAR_), varNum, \ 1111 GET_, (zVar?zVAR_COMPRESSION_:rVAR_COMPRESSION_), cType, cParms, cPct, \ 1112 NULL_) 1113 1114 #define CDFgetVarData(id,zVar,varNum,recNum,indices,value) \ 1115 CDFlib (SELECT_, CDF_, id, \ 1116 (zVar?zVAR_:rVAR_), varNum, \ 1117 (zVar?zVAR_RECNUMBER_:rVARs_RECNUMBER_), recNum, \ 1118 (zVar?zVAR_DIMINDICES_:rVARs_DIMINDICES_), indices, \ 1119 GET_, (zVar?zVAR_DATA_:rVAR_DATA_), value, \ 1120 NULL_) 1121 1122 #define CDFgetVarDataType(id,zVar,varNum,dataType) \ 1123 CDFlib (SELECT_, CDF_, id, \ 1124 (zVar?zVAR_:rVAR_), varNum, \ 1125 GET_, (zVar?zVAR_DATATYPE_:rVAR_DATATYPE_), dataType, \ 1126 NULL_) 1127 1128 #define CDFgetVarDimVariances(id,zVar,varNum,dimVarys) \ 1129 CDFlib (SELECT_, CDF_, id, \ 1130 (zVar?zVAR_:rVAR_), varNum, \ 1131 GET_, (zVar?zVAR_DIMVARYS_:rVAR_DIMVARYS_), dimVarys, \ 1132 NULL_) 1133 1134 #define CDFgetVarMaxAllocRecNum(id,zVar,varNum,maxAllocRec) \ 1135 CDFlib (SELECT_, CDF_, id, \ 1136 (zVar?zVAR_:rVAR_), varNum, \ 1137 GET_, (zVar?zVAR_MAXallocREC_:rVAR_MAXallocREC_), maxAllocRec, \ 1138 NULL_) 1139 1140 #define CDFgetVarMaxWrittenRecNum(id,zVar,varNum,maxRec) \ 1141 CDFlib (SELECT_, CDF_, id, \ 1142 (zVar?zVAR_:rVAR_), varNum, \ 1143 GET_, (zVar?zVAR_MAXREC_:rVAR_MAXREC_), maxRec, \ 1144 NULL_) 1145 1146 #define CDFgetVarAllocRecords(id,zVar,varNum,numAllocRecs) \ 1147 CDFlib (SELECT_, CDF_, id, \ 1148 (zVar?zVAR_:rVAR_), varNum, \ 1149 GET_, (zVar?zVAR_NUMallocRECS_:rVAR_NUMallocRECS_), numAllocRecs, \ 1150 NULL_) 1151 1152 #define CDFgetVarNumElements(id,zVar,varNum,numElements) \ 1153 CDFlib (SELECT_, CDF_, id, \ 1154 (zVar?zVAR_:rVAR_), varNum, \ 1155 GET_, (zVar?zVAR_NUMELEMS_:rVAR_NUMELEMS_), numElements, \ 1156 NULL_) 1157 1158 #define CDFgetVarNumRecsWritten(id,zVar,varNum,numRecs) \ 1159 CDFlib (SELECT_, CDF_, id, \ 1160 (zVar?zVAR_:rVAR_), varNum, \ 1161 GET_, (zVar?zVAR_NUMRECS_:rVAR_NUMRECS_), numRecs, \ 1162 NULL_) 1163 1164 #define CDFgetVarPadValue(id,zVar,varNum,padValue) \ 1165 CDFlib (SELECT_, CDF_, id, \ 1166 (zVar?zVAR_:rVAR_), varNum, \ 1167 GET_, (zVar?zVAR_PADVALUE_:rVAR_PADVALUE_), padValue, \ 1168 NULL_) 1169 1170 #define CDFgetVarRecVariance(id,zVar,varNum,recVary) \ 1171 CDFlib (SELECT_, CDF_, id, \ 1172 (zVar?zVAR_:rVAR_), varNum, \ 1173 GET_, (zVar?zVAR_RECVARY_:rVAR_RECVARY_), recVary, \ 1174 NULL_) 1175 1176 #define CDFgetVarSeqData(id,zVar,varNum,seqData) \ 1177 CDFlib (SELECT_, CDF_, id, \ 1178 (zVar?zVAR_:rVAR_), varNum, \ 1179 GET_, (zVar?zVAR_SEQDATA_:rVAR_SEQDATA_), seqData, \ 1180 NULL_) 1181 1182 #define CDFgetVarsRecordDatabyNumbers(id,zVar,numVars,varNums,recNum,buffer) \ 1183 CDFlib (SELECT_, CDF_, id, \ 1184 (zVar?zVARs_RECNUMBER_:rVARs_RECNUMBER_), recNum, \ 1185 GET_, (zVar?zVARs_RECDATA_:rVARs_RECDATA_), numVars, varNums, buffer, \ 1186 NULL_) 1187 1188 #define CDFgetVarSparseRecords(id,zVar,varNum,sparseRecs) \ 1189 CDFlib (SELECT_, CDF_, id, \ 1190 (zVar?zVAR_:rVAR_), varNum, \ 1191 GET_, (zVar?zVAR_SPARSERECORDS_:rVAR_SPARSERECORDS_), sparseRecs, \ 1192 NULL_) 1193 1194 #define CDFgetrVarsDimSizes(id,dimSizes) \ 1195 CDFlib (SELECT_, CDF_, id, \ 1196 GET_, rVARs_DIMSIZES_, dimSizes, \ 1197 NULL_) 1198 1199 #define CDFgetzVarDimSizes(id,varNum,dimSizes) \ 1200 CDFlib (SELECT_, CDF_, id, \ 1201 zVAR_, varNum, \ 1202 GET_, zVAR_DIMSIZES_, dimSizes, \ 1203 NULL_) 1204 1205 #define CDFgetVarName(id,zVar,varNum,varName) \ 1206 CDFlib (SELECT_, CDF_, id, \ 1207 (zVar?zVAR_:rVAR_), varNum, \ 1208 GET_, (zVar?zVAR_NAME_:rVAR_NAME_), varName, \ 1209 NULL_) 1210 1211 #define CDFgetzVarNumDims(id,varNum,numDims) \ 1212 CDFlib (SELECT_, CDF_, id, \ 1213 zVAR_, varNum, \ 1214 GET_, zVAR_NUMDIMS_, numDims, \ 1215 NULL_) 1216 1217 #define CDFgetrVarsNumDims(id,numDims) \ 1218 CDFlib (SELECT_, CDF_, id, \ 1219 GET_, rVARs_NUMDIMS_, numDims, \ 1220 NULL_) 1221 1222 #define CDFgetStatusText(status,text) \ 1223 CDFlib (SELECT_, CDF_STATUS_, status, \ 1224 GET_, STATUS_TEXT_, text, \ 1225 NULL_) 1226 1227 #define CDFhyperGetVarData(id,zVar,varN,recS,recC,recI,indices,counts,intervals,buff) \ 1228 CDFlib (SELECT_, CDF_, id, \ 1229 (zVar?zVAR_:rVAR_), varN, \ 1230 (zVar?zVAR_RECNUMBER_:rVARs_RECNUMBER_), recS, \ 1231 (zVar?zVAR_RECCOUNT_:rVARs_RECCOUNT_), recC, \ 1232 (zVar?zVAR_RECINTERVAL_:rVARs_RECINTERVAL_), recI, \ 1233 (zVar?zVAR_DIMINDICES_:rVARs_DIMINDICES_), indices, \ 1234 (zVar?zVAR_DIMCOUNTS_:rVARs_DIMCOUNTS_), counts, \ 1235 (zVar?zVAR_DIMINTERVALS_:rVARs_DIMINTERVALS_), intervals, \ 1236 GET_, (zVar?zVAR_HYPERDATA_:rVAR_HYPERDATA_), buff, \ 1237 NULL_) 1238 1239 #define CDFgetMaxWrittenRecNums(id,maxRecrVars,maxReczVars) \ 1240 CDFlib (SELECT_, CDF_, id, \ 1241 GET_, rVARs_MAXREC_, maxRecrVars, \ 1242 zVARs_MAXREC_, maxReczVars, \ 1243 NULL_) 1244 1245 #define CDFgetVarsMaxWrittenRecNum(id,zVar,maxRecVar) \ 1246 CDFlib (SELECT_, CDF_, id, \ 1247 GET_, (zVar?zVARs_MAXREC_:rVARs_MAXREC_), maxRecVar, \ 1248 NULL_) 1249 1250 #define CDFinquireVar(id,zVar,varN,varName,dataType,numElements,numDims,dimSizes,recVary,dimVarys) \ 1251 CDFlib (SELECT_, CDF_, id, \ 1252 (zVar?zVAR_:rVAR_), varN, \ 1253 GET_, (zVar?zVAR_NAME_:rVAR_NAME_), varName, \ 1254 (zVar?zVAR_DATATYPE_:rVAR_DATATYPE_), dataType, \ 1255 (zVar?zVAR_NUMELEMS_:rVAR_NUMELEMS_), numElements, \ 1256 (zVar?zVAR_NUMDIMS_:rVARs_NUMDIMS_), numDims, \ 1257 (zVar?zVAR_DIMSIZES_:rVARs_DIMSIZES_), dimSizes, \ 1258 (zVar?zVAR_RECVARY_:rVAR_RECVARY_), recVary, \ 1259 (zVar?zVAR_DIMVARYS_:rVAR_DIMVARYS_), dimVarys, \ 1260 NULL_) 1261 1262 #define CDFvarInquire(id,varN,varName,dataType,numElements,recVary,dimVarys) \ 1263 CDFlib (SELECT_, CDF_, id, \ 1264 rVAR_, varN, \ 1265 GET_, rVAR_NAME_, varName, \ 1266 rVAR_DATATYPE_, dataType, \ 1267 rVAR_NUMELEMS_, numElements, \ 1268 rVAR_RECVARY_, recVary, \ 1269 rVAR_DIMVARYS_, dimVarys, \ 1270 NULL_) 1271 #define CDFinquire(id,numDims,dimSizes,encoding,majority,maxRec,nVars,nAttrs) \ 1272 CDFlib (SELECT_, CDF_, id, \ 1273 GET_, rVARs_NUMDIMS_, numDims, \ 1274 rVARs_DIMSIZES_, dimSizes, \ 1275 CDF_ENCODING_, encoding, \ 1276 CDF_MAJORITY_, majority, \ 1277 rVARs_MAXREC_, maxRec, \ 1278 CDF_NUMrVARS_, nVars, \ 1279 CDF_NUMATTRS_, nAttrs, \ 1280 NULL_) 1281 #define CDFinquireCDF(id,numDims,dimSizes,encoding,majority,maxrRec,nrVars,maxzRec,nzVars,nAttrs) \ 1282 CDFlib (SELECT_, CDF_, id, \ 1283 GET_, rVARs_NUMDIMS_, numDims, \ 1284 rVARs_DIMSIZES_, dimSizes, \ 1285 CDF_ENCODING_, encoding, \ 1286 CDF_MAJORITY_, majority, \ 1287 rVARs_MAXREC_, maxrRec, \ 1288 CDF_NUMrVARS_, nrVars, \ 1289 zVARs_MAXREC_, maxzRec, \ 1290 CDF_NUMzVARS_, nzVars, \ 1291 CDF_NUMATTRS_, nAttrs, \ 1292 NULL_) 1293 1294 #define CDFgetChecksum(id,checksum) \ 1295 CDFlib (SELECT_, CDF_, id, \ 1296 GET_, CDF_CHECKSUM_, checksum, \ 1297 NULL_) 1298 1299 /* 1300 * OPEN_ * 1301 * */ 1302 1303 #define CDFopen(CDFname,id) \ 1304 CDFlib (OPEN_, CDF_, CDFname, id, \ 1305 NULL_) 1306 1307 /* 1308 * PUT_ * 1309 * */ 1310 1311 #define CDFsetAttrScope(id,attrNum,attrScope) \ 1312 CDFlib (SELECT_, CDF_, id, \ 1313 ATTR_, attrNum, \ 1314 PUT_, ATTR_SCOPE_, attrScope, \ 1315 NULL_) 1316 1317 #define CDFsetCompression(id,cType, cParms) \ 1318 CDFlib (SELECT_, CDF_, id, \ 1319 PUT_, CDF_COMPRESSION_, cType, cParms, \ 1320 NULL_) 1321 1322 #define CDFsetEncoding(id,encoding) \ 1323 CDFlib (SELECT_, CDF_, id, \ 1324 PUT_, CDF_ENCODING_, encoding, \ 1325 NULL_) 1326 1327 #define CDFsetFormat(id,format) \ 1328 CDFlib (SELECT_, CDF_, id, \ 1329 PUT_, CDF_FORMAT_, format, \ 1330 NULL_) 1331 1332 #define CDFsetMajority(id,majority) \ 1333 CDFlib (SELECT_, CDF_, id, \ 1334 PUT_, CDF_MAJORITY_, majority, \ 1335 NULL_) 1336 1337 #define CDFrenameAttr(id,attrNum,attrName) \ 1338 CDFlib (SELECT_, CDF_, id, \ 1339 ATTR_, attrNum, \ 1340 PUT_, ATTR_NAME_, attrName, \ 1341 NULL_) 1342 1343 #define CDFrenameVar(id,zVar,varNum,varName) \ 1344 CDFlib (SELECT_, CDF_, id, \ 1345 (zVar?zVAR_:rVAR_), varNum, \ 1346 PUT_, (zVar?zVAR_NAME_:rVAR_NAME_), varName, \ 1347 NULL_) 1348 1349 #define CDFsetVarAllocRecords(id,zVar,varNum,allocRecs) \ 1350 CDFlib (SELECT_, CDF_, id, \ 1351 (zVar?zVAR_:rVAR_), varNum, \ 1352 PUT_, (zVar?zVAR_ALLOCATERECS_:rVAR_ALLOCATERECS_), allocRecs, \ 1353 NULL_) 1354 1355 #define CDFsetVarAllocBlockRecords(id,zVar,varNum,firstRec, lastRec) \ 1356 CDFlib (SELECT_, CDF_, id, \ 1357 (zVar?zVAR_:rVAR_), varNum, \ 1358 PUT_, (zVar?zVAR_ALLOCATEBLOCK_:rVAR_ALLOCATEBLOCK_), firstRec, \ 1359 lastRec, \ 1360 NULL_) 1361 1362 #define CDFsetVarBlockingFactor(id,zVar,varNum,bf) \ 1363 CDFlib (SELECT_, CDF_, id, \ 1364 (zVar?zVAR_:rVAR_), varNum, \ 1365 PUT_, (zVar?zVAR_BLOCKINGFACTOR_:rVAR_BLOCKINGFACTOR_), bf, \ 1366 NULL_) 1367 1368 #define CDFsetVarCompression(id,zVar,varNum,cType,cParms) \ 1369 CDFlib (SELECT_, CDF_, id, \ 1370 (zVar?zVAR_:rVAR_), varNum, \ 1371 PUT_, (zVar?zVAR_COMPRESSION_:rVAR_COMPRESSION_), cType, cParms, \ 1372 NULL_) 1373 1374 #define CDFsetVarDataSpec(id,zVar,varNum,dataType,numElems) \ 1375 CDFlib (SELECT_, CDF_, id, \ 1376 (zVar?zVAR_:rVAR_), varNum, \ 1377 PUT_, (zVar?zVAR_DATASPEC_:rVAR_DATASPEC_), dataType, numElems, \ 1378 NULL_) 1379 1380 #define CDFsetVarDimVariances(id,zVar,varNum,dimVarys) \ 1381 CDFlib (SELECT_, CDF_, id, \ 1382 (zVar?zVAR_:rVAR_), varNum, \ 1383 PUT_, (zVar?zVAR_DIMVARYS_:rVAR_DIMVARYS_), dimVarys, \ 1384 NULL_) 1385 1386 #define CDFsetVarInitialRecs(id,zVar,varNum,numRecs) \ 1387 CDFlib (SELECT_, CDF_, id, \ 1388 (zVar?zVAR_:rVAR_), varNum, \ 1389 PUT_, (zVar?zVAR_INITIALRECS_:rVAR_INITIALRECS_), numRecs, \ 1390 NULL_) 1391 1392 #define CDFsetVarPadValue(id,zVar,varNum,padValue) \ 1393 CDFlib (SELECT_, CDF_, id, \ 1394 (zVar?zVAR_:rVAR_), varNum, \ 1395 PUT_, (zVar?zVAR_PADVALUE_:rVAR_PADVALUE_), padValue, \ 1396 NULL_) 1397 1398 #define CDFsetVarRecVariance(id,zVar,varNum,recVary) \ 1399 CDFlib (SELECT_, CDF_, id, \ 1400 (zVar?zVAR_:rVAR_), varNum, \ 1401 PUT_, (zVar?zVAR_RECVARY_:rVAR_RECVARY_), recVary, \ 1402 NULL_) 1403 1404 #define CDFputVarSeqData(id,zVar,varNum,seqData) \ 1405 CDFlib (SELECT_, CDF_, id, \ 1406 (zVar?zVAR_:rVAR_), varNum, \ 1407 PUT_, (zVar?zVAR_SEQDATA_:rVAR_SEQDATA_), seqData, \ 1408 NULL_) 1409 1410 #define CDFsetVarSparseRecords(id,zVar,varNum,sparseRecs) \ 1411 CDFlib (SELECT_, CDF_, id, \ 1412 (zVar?zVAR_:rVAR_), varNum, \ 1413 PUT_, (zVar?zVAR_SPARSERECORDS_:rVAR_SPARSERECORDS_), sparseRecs, \ 1414 NULL_) 1415 1416 #define CDFputVarData(id,zVar,varNum,recNum,indices,value) \ 1417 CDFlib (SELECT_, CDF_, id, \ 1418 (zVar?zVAR_:rVAR_), varNum, \ 1419 (zVar?zVAR_RECNUMBER_:rVARs_RECNUMBER_), recNum, \ 1420 (zVar?zVAR_DIMINDICES_:rVARs_DIMINDICES_), indices, \ 1421 PUT_, (zVar?zVAR_DATA_:rVAR_DATA_), value, \ 1422 NULL_) 1423 1424 #define CDFputVarsRecordDatabyNumbers(id,zVar,numVars,varNums,recNum,buffer) \ 1425 CDFlib (SELECT_, CDF_, id, \ 1426 (zVar?zVARs_RECNUMBER_:rVARs_RECNUMBER_), recNum, \ 1427 PUT_, (zVar?zVARs_RECDATA_:rVARs_RECDATA_), numVars, varNums, buffer, \ 1428 NULL_) 1429 1430 #define CDFhyperPutVarData(id,zVar,varN,recS,recC,recI,indices,counts,intervals,buff) \ 1431 CDFlib (SELECT_, CDF_, id, \ 1432 (zVar?zVAR_:rVAR_), varN, \ 1433 (zVar?zVAR_RECNUMBER_:rVARs_RECNUMBER_), recS, \ 1434 (zVar?zVAR_RECCOUNT_:rVARs_RECCOUNT_), recC, \ 1435 (zVar?zVAR_RECINTERVAL_:rVARs_RECINTERVAL_), recI, \ 1436 (zVar?zVAR_DIMINDICES_:rVARs_DIMINDICES_), indices, \ 1437 (zVar?zVAR_DIMCOUNTS_:rVARs_DIMCOUNTS_), counts, \ 1438 (zVar?zVAR_DIMINTERVALS_:rVARs_DIMINTERVALS_), intervals, \ 1439 PUT_, (zVar?zVAR_HYPERDATA_:rVAR_HYPERDATA_), buff, \ 1440 NULL_) 1441 1442 #define CDFsetChecksum(id,checksum) \ 1443 CDFlib (SELECT_, CDF_, id, \ 1444 PUT_, CDF_CHECKSUM_, checksum, \ 1445 NULL_) 1446 1447 /* 1448 * SELECT_ * 1449 * */ 1450 1451 #define CDFselect(id) \ 1452 CDFlib (SELECT_, CDF_, id, \ 1453 NULL_) 1454 1455 #define CDFsetDecoding(id,decoding) \ 1456 CDFlib (SELECT_, CDF_, id, \ 1457 CDF_DECODING_, decoding, \ 1458 NULL_) 1459 1460 #define CDFsetCacheSize(id,numBuffers) \ 1461 CDFlib (SELECT_, CDF_, id, \ 1462 CDF_CACHESIZE_, numBuffers, \ 1463 NULL_) 1464 1465 #define CDFsetVarCacheSize(id,zVar,varNum,numBuffers) \ 1466 CDFlib (SELECT_, CDF_, id, \ 1467 (zVar?zVAR_:rVAR_), varNum, \ 1468 (zVar?zVAR_CACHESIZE_:rVAR_CACHESIZE_), numBuffers, \ 1469 NULL_) 1470 1471 #define CDFsetVarsCacheSize(id,zVar,numBuffers) \ 1472 CDFlib (SELECT_, CDF_, id, \ 1473 (zVar?zVARs_CACHESIZE_:rVARs_CACHESIZE_), numBuffers, \ 1474 NULL_) 1475 1476 #define CDFsetVarSeqPos(id,zVar,varNum,recNum,indices) \ 1477 CDFlib (SELECT_, CDF_, id, \ 1478 (zVar?zVAR_:rVAR_), varNum, \ 1479 (zVar?zVAR_SEQPOS_:rVAR_SEQPOS_), recNum, indices, \ 1480 NULL_) 1481 1482 #define CDFsetNegtoPosfp0Mode(id,negtoPosfp0) \ 1483 CDFlib (SELECT_, CDF_, id, \ 1484 CDF_NEGtoPOSfp0_MODE_, negtoPosfp0, \ 1485 NULL_) 1486 1487 #define CDFsetReadOnlyMode(id,readOnlyMode) \ 1488 CDFlib (SELECT_, CDF_, id, \ 1489 CDF_READONLY_MODE_, readOnlyMode, \ 1490 NULL_) 1491 1492 #define CDFsetVarReservePercent(id,zVar,varNum,percent) \ 1493 CDFlib (SELECT_, CDF_, id, \ 1494 (zVar?zVAR_:rVAR_), varNum, \ 1495 (zVar?zVAR_RESERVEPERCENT_:rVAR_RESERVEPERCENT_), percent, \ 1496 NULL_) 1497 1498 #define CDFsetCompressionCacheSize(id,numBuffers) \ 1499 CDFlib (SELECT_, CDF_, id, \ 1500 COMPRESS_CACHESIZE_, numBuffers, \ 1501 NULL_) 1502 1503 #define CDFsetStageCacheSize(id,numBuffers) \ 1504 CDFlib (SELECT_, CDF_, id, \ 1505 STAGE_CACHESIZE_, numBuffers, \ 1506 NULL_) 1507 1508 #define CDFsetzMode(id,zMode) \ 1509 CDFlib (SELECT_, CDF_, id, \ 1510 CDF_zMODE_, zMode, \ 1511 NULL_) 1512 1513 /****************************************************************************** 1514 * Function prototypes. 1515 * It is assumed that `__cplusplus' is defined for ALL C++ compilers. If 1516 * ANSI function prototypes are not desired (for whatever reason), define 1517 * noPROTOs on the compile command line. Otherwise, ANSI function prototypes 1518 * will be used where appropriate. 1519 ******************************************************************************/ 1520 1521 #if !defined(noPROTOs) 1522 # if defined(__STDC__) 1523 # define PROTOs_ 1524 # else 1525 # if defined(vms) 1526 # define PROTOs_ 1527 # endif 1528 # if defined(__MSDOS__) || defined(MSDOS) 1529 # define PROTOs_ 1530 # endif 1531 # if defined(macintosh) || defined(THINK_C) 1532 # define PROTOs_ 1533 # endif 1534 # if defined(WIN32) 1535 # define PROTOs_ 1536 # endif 1537 # if defined(AIX) 1538 # define PROTOs_ 1539 # endif 1540 # endif 1541 #endif 1542 1543 #if defined(PROTOs_) 1544 # define PROTOARGs(args) args 1545 #else 1546 # define PROTOARGs(args) () 1547 #endif 1548 1549 #if defined(BUILDINGforIDL) 1550 # define STATICforIDL static 1551 # define VISIBLE_PREFIX static 1552 #else 1553 # if defined(WIN32) && defined(BUILDINGforDLL) 1554 # if defined(LIBCDF_SOURCE_) 1555 # define VISIBLE_PREFIX _declspec(dllexport) 1556 # else 1557 # define VISIBLE_PREFIX _declspec(dllimport) 1558 # endif 1559 # else 1560 # define VISIBLE_PREFIX \ 1561 1562 # endif 1563 # define STATICforIDL \ 1564 1565 #endif 1566 1567 #if defined(__cplusplus) 1568 extern "C" { 1569 #endif 1570 1571 #if defined(BUILDINGforIDL) 1572 /* Isn't a prototype needed? */ 1573 #else 1574 #if !defined(__CFM68K__) || defined(__USING_STATIC_LIBS__) || !defined(CFM68KDLL) 1575 VISIBLE_PREFIX CDFstatus CDFlib PROTOARGs((long op1, ...)); 1576 #endif 1577 #endif 1578 VISIBLE_PREFIX CDFstatus CDFcreateCDF PROTOARGs(( 1579 char *name, CDFid *id 1580 )); 1581 VISIBLE_PREFIX CDFstatus CDFattrInquire PROTOARGs(( 1582 CDFid id, long attrNum, char *attrName, long *attrScope, 1583 long *maxgrEntry 1584 )); 1585 VISIBLE_PREFIX CDFstatus CDFinquireAttr PROTOARGs(( 1586 CDFid id, long attrNum, char *attrName, long *attrScope, 1587 long *maxgEntry, long *maxrEntry, long *maxzEntry 1588 )); 1589 VISIBLE_PREFIX CDFstatus CDFinquireAttrEntry PROTOARGs(( 1590 CDFid id, int grzEntry, long attrNum, long entryNum, long *dataType, 1591 long *numElems 1592 )); 1593 VISIBLE_PREFIX CDFstatus CDFinquireAttrInfo PROTOARGs(( 1594 CDFid id, int zEntry, long attrNum, char *attrName, long *attrScope, 1595 long *maxEntry 1596 )); 1597 VISIBLE_PREFIX CDFstatus CDFputAttrEntry PROTOARGs(( 1598 CDFid id, int grzEntry, long attrNum, long entryNum, long dataType, 1599 long numElems, void *value 1600 )); 1601 VISIBLE_PREFIX CDFstatus CDFgetAttrEntry PROTOARGs(( 1602 CDFid id, int grzEntry, long attrNum, long entryNum, void *value 1603 )); 1604 VISIBLE_PREFIX CDFstatus CDFdeleteAttrEntry PROTOARGs(( 1605 CDFid id, int grzEntry, long attrNum, long entryNum 1606 )); 1607 VISIBLE_PREFIX CDFstatus CDFsetAttrEntryDataSpec PROTOARGs(( 1608 CDFid id, int grzEntry, long attrNum, long entryNum, long dataType, 1609 long numElems 1610 )); 1611 VISIBLE_PREFIX long CDFgetAttrNum PROTOARGs((CDFid id, char *attrName)); 1612 VISIBLE_PREFIX long CDFgetVarNum PROTOARGs((CDFid id, char *varName)); 1613 VISIBLE_PREFIX CDFstatus CDFgetNumAttrEntries PROTOARGs(( 1614 CDFid id, int grzEntry, long attrNum, long *numEntries 1615 )); 1616 VISIBLE_PREFIX CDFstatus CDFgetAttrMaxEntry PROTOARGs(( 1617 CDFid id, int grzEntry, long attrNum, long *maxEntry 1618 )); 1619 VISIBLE_PREFIX CDFstatus CDFgetAttrEntryDataType PROTOARGs(( 1620 CDFid id, int grzEntry, long attrNum, long entryNum, long *dataType 1621 )); 1622 VISIBLE_PREFIX CDFstatus CDFgetAttrEntryNumElements PROTOARGs(( 1623 CDFid id, int grzEntry, long attrNum, long entryNum, long *numElements 1624 )); 1625 VISIBLE_PREFIX CDFstatus CDFgetVarRecordData PROTOARGs(( 1626 CDFid id, int zVar, long varNum, long recNum, void *buffer 1627 )); 1628 VISIBLE_PREFIX CDFstatus CDFputVarRecordData PROTOARGs(( 1629 CDFid id, int zVar, long varNum, long recNum, void *buffer 1630 )); 1631 VISIBLE_PREFIX CDFstatus CDFgetVarsRecordDatabyNames PROTOARGs(( 1632 CDFid id, int zVar, long numVars, char *varNames[], long recNum, 1633 void *buffer[] 1634 )); 1635 VISIBLE_PREFIX CDFstatus CDFputVarsRecordDatabyNames PROTOARGs(( 1636 CDFid id, int zVar, long numVars, char *varNames[], long recNum, 1637 void *buffer[] 1638 )); 1639 VISIBLE_PREFIX void CDFsetFileBackward PROTOARGs(( 1640 int flag 1641 )); 1642 VISIBLE_PREFIX void CDFsetFileBackwardFlag PROTOARGs(( 1643 int flag 1644 )); 1645 VISIBLE_PREFIX int CDFgetFileBackward PROTOARGs(()); 1646 VISIBLE_PREFIX int CDFgetFileBackwardFlag PROTOARGs(()); 1647 VISIBLE_PREFIX void CDFsetChecksumMode PROTOARGs(( 1648 long flag 1649 )); 1650 VISIBLE_PREFIX long CDFgetChecksumMode PROTOARGs(()); 1651 VISIBLE_PREFIX int CDFgetFileBackwardEnvVar PROTOARGs(()); 1652 VISIBLE_PREFIX void CDFsetValidate PROTOARGs((long mode)); 1653 VISIBLE_PREFIX int CDFgetValidate PROTOARGs(()); 1654 VISIBLE_PREFIX int CDFgetValidateDebug PROTOARGs(()); 1655 #if !defined(__CFM68K__) || defined(__USING_STATIC_LIBS__) || !defined(CFM68KDLL) 1656 VISIBLE_PREFIX void EPOCHbreakdown PROTOARGs(( 1657 double epoch, long *year, long *month, long *day, long *hour, long *minute, 1658 long *second, long *msec 1659 )); 1660 VISIBLE_PREFIX double computeEPOCH PROTOARGs(( 1661 long year, long month, long day, long hour, long minute, long second, 1662 long msec 1663 )); 1664 VISIBLE_PREFIX double parseEPOCH PROTOARGs((char *inString)); 1665 VISIBLE_PREFIX double parseEPOCH1 PROTOARGs((char *inString)); 1666 VISIBLE_PREFIX double parseEPOCH2 PROTOARGs((char *inString)); 1667 VISIBLE_PREFIX double parseEPOCH3 PROTOARGs((char *inString)); 1668 VISIBLE_PREFIX void encodeEPOCH PROTOARGs(( 1669 double epoch, char epString[EPOCH_STRING_LEN+1] 1670 )); 1671 VISIBLE_PREFIX void encodeEPOCH1 PROTOARGs(( 1672 double epoch, char epString[EPOCH1_STRING_LEN+1] 1673 )); 1674 VISIBLE_PREFIX void encodeEPOCH2 PROTOARGs(( 1675 double epoch, char epString[EPOCH2_STRING_LEN+1] 1676 )); 1677 VISIBLE_PREFIX void encodeEPOCH3 PROTOARGs(( 1678 double epoch, char epString[EPOCH3_STRING_LEN+1] 1679 )); 1680 VISIBLE_PREFIX void encodeEPOCHx PROTOARGs(( 1681 double epoch, char format[EPOCHx_FORMAT_MAX], 1682 char encoded[EPOCHx_STRING_MAX] 1683 )); 1684 VISIBLE_PREFIX void EPOCH16breakdown PROTOARGs(( 1685 double epoch[], long *year, long *month, long *day, long *hour, 1686 long *minute, long *second, long *msec, long *usec, long *nsec, long *psec 1687 )); 1688 VISIBLE_PREFIX double computeEPOCH16 PROTOARGs(( 1689 long year, long month, long day, long hour, long minute, long second, 1690 long msec, long usec, long nsec, long psec, double epoch[] 1691 )); 1692 VISIBLE_PREFIX double parseEPOCH16 PROTOARGs((char *inString, 1693 double epoch[] 1694 )); 1695 VISIBLE_PREFIX double parseEPOCH16_1 PROTOARGs((char *inStringch, 1696 double epoch[] 1697 )); 1698 VISIBLE_PREFIX double parseEPOCH16_2 PROTOARGs((char *inStringch, 1699 double epoch[] 1700 )); 1701 VISIBLE_PREFIX double parseEPOCH16_3 PROTOARGs((char *inStringch, 1702 double epoch[] 1703 )); 1704 VISIBLE_PREFIX void encodeEPOCH16 PROTOARGs(( 1705 double epoch[], char epString[EPOCH16_STRING_LEN+1] 1706 )); 1707 VISIBLE_PREFIX void encodeEPOCH16_1 PROTOARGs(( 1708 double epoch[], char epString[EPOCH16_1_STRING_LEN+1] 1709 )); 1710 VISIBLE_PREFIX void encodeEPOCH16_2 PROTOARGs(( 1711 double epoch[], char epString[EPOCH16_2_STRING_LEN+1] 1712 )); 1713 VISIBLE_PREFIX void encodeEPOCH16_3 PROTOARGs(( 1714 double epoch[], char epString[EPOCH16_3_STRING_LEN+1] 1715 )); 1716 VISIBLE_PREFIX void encodeEPOCH16_x PROTOARGs(( 1717 double epoch[], char format[EPOCHx_FORMAT_MAX], char encoded[EPOCHx_STRING_MAX] 1718 )); 1719 #endif 1720 #if defined(__cplusplus) 1721 } 1722 #endif 1723 1724 /****************************************************************************** 1725 * Synonyms for compatibility with older releases. 1726 ******************************************************************************/ 1727 1728 #define CDF_DOCUMENT_LEN CDF_COPYRIGHT_LEN 1729 #define CDF_ERRTEXT_LEN CDF_STATUSTEXT_LEN 1730 #define CDF_NUMDIMS_ rVARs_NUMDIMS_ 1731 #define CDF_DIMSIZES_ rVARs_DIMSIZES_ 1732 #define CDF_MAXREC_ rVARs_MAXREC_ 1733 #define CDF_RECNUMBER_ rVARs_RECNUMBER_ 1734 #define CDF_RECCOUNT_ rVARs_RECCOUNT_ 1735 #define CDF_RECINTERVAL_ rVARs_RECINTERVAL_ 1736 #define CDF_DIMINDICES_ rVARs_DIMINDICES_ 1737 #define CDF_DIMCOUNTS_ rVARs_DIMCOUNTS_ 1738 #define CDF_DIMINTERVALS_ rVARs_DIMINTERVALS_ 1739 #define CDF_NUMVARS_ CDF_NUMrVARS_ 1740 #define VAR_ rVAR_ 1741 #define VAR_NAME_ rVAR_NAME_ 1742 #define VAR_DATATYPE_ rVAR_DATATYPE_ 1743 #define VAR_NUMELEMS_ rVAR_NUMELEMS_ 1744 #define VAR_RECVARY_ rVAR_RECVARY_ 1745 #define VAR_DIMVARYS_ rVAR_DIMVARYS_ 1746 #define VAR_NUMBER_ rVAR_NUMBER_ 1747 #define VAR_DATA_ rVAR_DATA_ 1748 #define VAR_HYPERDATA_ rVAR_HYPERDATA_ 1749 #define VAR_SEQDATA_ rVAR_SEQDATA_ 1750 #define VAR_SEQPOS_ rVAR_SEQPOS_ 1751 #define VAR_MAXREC_ rVAR_MAXREC_ 1752 #define VAR_DATASPEC_ rVAR_DATASPEC_ 1753 #define VAR_FILLVALUE_ rVAR_PADVALUE_ 1754 #define VAR_INITIALRECS_ rVAR_INITIALRECS_ 1755 #define VAR_EXTENDRECS_ rVAR_BLOCKINGFACTOR_ 1756 #define ATTR_MAXENTRY_ ATTR_MAXrENTRY_ 1757 #define ATTR_NUMENTRIES_ ATTR_NUMrENTRIES_ 1758 #define ENTRY_ rENTRY_ 1759 #define ENTRY_DATATYPE_ rENTRY_DATATYPE_ 1760 #define ENTRY_NUMELEMS_ rENTRY_NUMELEMS_ 1761 #define ENTRY_DATA_ rENTRY_DATA_ 1762 #define MIPSEL_ENCODING DECSTATION_ENCODING 1763 #define MIPSEB_ENCODING SGi_ENCODING 1764 #define rVAR_EXISTANCE_ rVAR_EXISTENCE_ 1765 #define zVAR_EXISTANCE_ zVAR_EXISTENCE_ 1766 #define ATTR_EXISTANCE_ ATTR_EXISTENCE_ 1767 #define gENTRY_EXISTANCE_ gENTRY_EXISTENCE_ 1768 #define rENTRY_EXISTANCE_ rENTRY_EXISTENCE_ 1769 #define zENTRY_EXISTANCE_ zENTRY_EXISTENCE_ 1770 #define GLOBAL_SCOPE_ASSUMED GLOBAL_SCOPE 1771 #define VARIABLE_SCOPE_ASSUMED VARIABLE_SCOPE 1772 #define BAD_EXTEND_RECS BAD_BLOCKING_FACTOR 1773 #define rVAR_EXTENDRECS_ rVAR_BLOCKINGFACTOR_ 1774 #define zVAR_EXTENDRECS_ zVAR_BLOCKINGFACTOR_ 1775 #define COL_MAJOR COLUMN_MAJOR 1776 #define NONE_CHECKSUM NO_CHECKSUM 1777 1778 #define StrlaststrIgCase StrLaststrIgCase 1779 #define Strlaststr StrLaststr 1780 1781 /*****************************************************************************/ 1782 1783 #endif 1784