mirror of
https://github.com/Unidata/netcdf-c.git
synced 2024-12-27 08:49:16 +08:00
5e5ff8ece9
re: https://github.com/Unidata/netcdf-c/issues/1614 NetCDF has a requirement that the type of a _FillValue attribute be the same as the containing variable. However, it is clear that too many servers do not honor this requirement. So, change the default for DAP2 and DAP4 to allow fill mismatch.
64 lines
2.2 KiB
C
64 lines
2.2 KiB
C
/*********************************************************************
|
|
* Copyright 2018, UCAR/Unidata
|
|
* See netcdf/COPYRIGHT file for copying and redistribution conditions.
|
|
*********************************************************************/
|
|
|
|
#ifndef NCDAP_H
|
|
#define NCDAP_H 1
|
|
|
|
#ifndef nullfree
|
|
#define nullfree(m) {if((m)!=NULL) {free(m);} else {}}
|
|
#endif
|
|
|
|
/**************************************************/
|
|
/*
|
|
Collect single bit flags that
|
|
affect the operation of the system.
|
|
*/
|
|
|
|
typedef unsigned int NCFLAGS;
|
|
# define SETFLAG(controls,flag) (((controls).flags) |= (flag))
|
|
# define CLRFLAG(controls,flag) (((controls).flags) &= ~(flag))
|
|
# define FLAGSET(controls,flag) (((controls.flags) & (flag)) != 0)
|
|
|
|
/* Defined flags */
|
|
#define NCF_NC3 (0x0001) /* DAP->netcdf-3 */
|
|
#define NCF_NC4 (0x0002) /* DAP->netcdf-4 */
|
|
#define NCF_NCDAP (0x0004) /* Do libnc-dap mimic */
|
|
#define NCF_CACHE (0x0008) /* Cache enabled/disabled */
|
|
#define NCF_UPGRADE (0x0010) /* Do proper type upgrades */
|
|
#define NCF_UNCONSTRAINABLE (0x0020) /* Not a constrainable URL */
|
|
#define NCF_SHOWFETCH (0x0040) /* show fetch calls */
|
|
#define NCF_ONDISK (0x0080) /* cause oc to store data on disk */
|
|
#define NCF_WHOLEVAR (0x0100) /* retrieve only whole variables (as opposed to partial variable) into cache */
|
|
#define NCF_PREFETCH (0x0200) /* Cache prefetch enabled/disabled */
|
|
#define NCF_PREFETCH_EAGER (0x0400) /* Do eager prefetch; 0=>lazy */
|
|
#define NCF_PREFETCH_ALL (0x0800) /* Prefetch all variables */
|
|
/* Allow _FillValue/Variable type mismatch */
|
|
#define NCF_FILLMISMATCH (0x1000)
|
|
/* Hack to control URL encoding */
|
|
#define NCF_ENCODE_PATH (0x2000)
|
|
#define NCF_ENCODE_QUERY (0x4000)
|
|
/*COLUMBIA_HACK*/
|
|
#define NCF_COLUMBIA (0x80000000) /* Hack for columbia server */
|
|
|
|
/* Define all the default on flags */
|
|
#define DFALT_ON_FLAGS (NCF_CACHE|NCF_PREFETCH|NCF_FILLMISMATCH)
|
|
|
|
typedef struct NCCONTROLS {
|
|
NCFLAGS flags;
|
|
} NCCONTROLS;
|
|
|
|
/* Misc. Constants */
|
|
|
|
#ifndef DFALTPACKETSIZE
|
|
#define DFALTPACKETSIZE 0x20000 /*approximately 100k bytes*/
|
|
#endif
|
|
|
|
#ifndef DFALTUSERAGENT
|
|
#define DFALTUSERAGENT "netCDF"
|
|
#endif
|
|
|
|
#endif /*NCDAP_H*/
|
|
|