netcdf_dispatch.h
Go to the documentation of this file.
1 /* Copyright 2019 University Corporation for Atmospheric
2  Research/Unidata. */
3 
4 /*
5  * In order to use any of the netcdf_XXX.h files, it is necessary
6  * to include netcdf.h followed by any netcdf_XXX.h files.
7  * Various things (like EXTERNL) are defined in netcdf.h
8  * to make them available for use by the netcdf_XXX.h files.
9  */
10 
23 #ifndef NETCDF_DISPATCH_H
24 #define NETCDF_DISPATCH_H
25 
26 /* This is the version of the dispatch table. It should be changed
27  * when new functions are added to the dispatch table. */
28 #ifndef NC_DISPATCH_VERSION
29 #define NC_DISPATCH_VERSION 3
30 #endif /*NC_DISPATCH_VERSION*/
31 
32 /* This is the dispatch table, with a pointer to each netCDF
33  * function. */
35 {
36  int model; /* one of the NC_FORMATX #'s */
38 
39  int (*create)(const char *path, int cmode, size_t initialsz,
40  int basepe, size_t *chunksizehintp, void *parameters,
41  const struct NC_Dispatch *table, int ncid);
42  int (*open)(const char *path, int mode, int basepe, size_t *chunksizehintp,
43  void *parameters, const struct NC_Dispatch *table, int ncid);
44 
45  int (*redef)(int);
46  int (*_enddef)(int,size_t,size_t,size_t,size_t);
47  int (*sync)(int);
48  int (*abort)(int);
49  int (*close)(int, void *);
50  int (*set_fill)(int, int, int *);
51  int (*inq_format)(int, int*);
52  int (*inq_format_extended)(int, int *, int *);
53 
54  int (*inq)(int, int *, int *, int *, int *);
55  int (*inq_type)(int, nc_type, char *, size_t *);
56 
57  int (*def_dim)(int, const char *, size_t, int *);
58  int (*inq_dimid)(int, const char *, int *);
59  int (*inq_dim)(int, int, char *, size_t *);
60  int (*inq_unlimdim)(int ncid, int *unlimdimidp);
61  int (*rename_dim)(int, int, const char *);
62 
63  int (*inq_att)(int, int, const char *, nc_type *, size_t *);
64  int (*inq_attid)(int, int, const char *, int*);
65  int (*inq_attname)(int, int, int, char *);
66  int (*rename_att)(int, int, const char *, const char *);
67  int (*del_att)(int, int, const char *);
68  int (*get_att)(int, int, const char *, void *, nc_type);
69  int (*put_att)(int, int, const char *, nc_type, size_t, const void *,
70  nc_type);
71 
72  int (*def_var)(int, const char *, nc_type, int, const int *, int *);
73  int (*inq_varid)(int, const char *, int *);
74  int (*rename_var)(int, int, const char *);
75 
76  int (*get_vara)(int, int, const size_t *, const size_t *, void *, nc_type);
77  int (*put_vara)(int, int, const size_t *, const size_t *,
78  const void *, nc_type);
79 
80  int (*get_vars)(int, int, const size_t *, const size_t *, const ptrdiff_t *,
81  void *, nc_type);
82  int (*put_vars)(int, int, const size_t *, const size_t *, const ptrdiff_t *,
83  const void *, nc_type);
84 
85  int (*get_varm)(int, int, const size_t *, const size_t *, const ptrdiff_t *,
86  const ptrdiff_t *, void *, nc_type);
87  int (*put_varm)(int, int, const size_t *, const size_t *, const ptrdiff_t *,
88  const ptrdiff_t *, const void *, nc_type);
89 
90  int (*inq_var_all)(int ncid, int varid, char *name, nc_type *xtypep,
91  int *ndimsp, int *dimidsp, int *nattsp,
92  int *shufflep, int *deflatep, int *deflate_levelp,
93  int *fletcher32p, int *contiguousp, size_t *chunksizesp,
94  int *no_fill, void *fill_valuep, int *endiannessp,
95  unsigned int *idp, size_t *nparamsp,
96  unsigned int *params);
97 
98  int (*var_par_access)(int, int, int);
99  int (*def_var_fill)(int, int, int, const void *);
100 
101 /* Note the following are specific to netcdf4, but must still be
102  implemented by all dispatch tables. They may still be invoked by
103  netcdf client code even when the file is a classic file; they
104  will just return an error or be ignored.
105 */
106 
107  int (*show_metadata)(int);
108  int (*inq_unlimdims)(int, int*, int*);
109  int (*inq_ncid)(int, const char*, int*);
110  int (*inq_grps)(int, int*, int*);
111  int (*inq_grpname)(int, char*);
112  int (*inq_grpname_full)(int, size_t*, char*);
113  int (*inq_grp_parent)(int, int*);
114  int (*inq_grp_full_ncid)(int, const char*, int*);
115  int (*inq_varids)(int, int* nvars, int*);
116  int (*inq_dimids)(int, int* ndims, int*, int);
117  int (*inq_typeids)(int, int* ntypes, int*);
118  int (*inq_type_equal)(int, nc_type, int, nc_type, int*);
119  int (*def_grp)(int, const char*, int*);
120  int (*rename_grp)(int, const char*);
121  int (*inq_user_type)(int, nc_type, char*, size_t*, nc_type*, size_t*, int*);
122  int (*inq_typeid)(int, const char*, nc_type*);
123 
124  int (*def_compound)(int, size_t, const char *, nc_type *);
125  int (*insert_compound)(int, nc_type, const char *, size_t, nc_type);
126  int (*insert_array_compound)(int, nc_type, const char *, size_t, nc_type,
127  int, const int *);
128  int (*inq_compound_field)(int, nc_type, int, char *, size_t *, nc_type *,
129  int *, int *);
130  int (*inq_compound_fieldindex)(int, nc_type, const char *, int *);
131  int (*def_vlen)(int, const char *, nc_type base_typeid, nc_type *);
132  int (*put_vlen_element)(int, int, void *, size_t, const void *);
133  int (*get_vlen_element)(int, int, const void *, size_t *, void *);
134  int (*def_enum)(int, nc_type, const char *, nc_type *);
135  int (*insert_enum)(int, nc_type, const char *, const void *);
136  int (*inq_enum_member)(int, nc_type, int, char *, void *);
137  int (*inq_enum_ident)(int, nc_type, long long, char *);
138  int (*def_opaque)(int, size_t, const char *, nc_type*);
139  int (*def_var_deflate)(int, int, int, int, int);
140  int (*def_var_fletcher32)(int, int, int);
141  int (*def_var_chunking)(int, int, int, const size_t *);
142  int (*def_var_endian)(int, int, int);
143  int (*def_var_filter)(int, int, unsigned int, size_t, const unsigned int *);
144  int (*set_var_chunk_cache)(int, int, size_t, size_t, float);
145  int (*get_var_chunk_cache)(int ncid, int varid, size_t *sizep,
146  size_t *nelemsp, float *preemptionp);
147  /* Version 3 Replace filteractions with more specific functions */
148  int (*inq_var_filter_ids)(int ncid, int varid, size_t* nfilters, unsigned int* filterids);
149  int (*inq_var_filter_info)(int ncid, int varid, unsigned int id, size_t* nparams, unsigned int* params);
150  /* Version 4 Add quantization. */
151  int (*def_var_quantize)(int ncid, int varid, int quantize_mode, int nsd);
152  int (*inq_var_quantize)(int ncid, int varid, int *quantize_modep, int *nsdp);
153  /* Version 5 adds filter availability */
154  int (*inq_filter_avail)(int ncid, unsigned id);
155 };
156 
157 #if defined(__cplusplus)
158 extern "C" {
159 #endif
160 
161  /* Read-only dispatch layers can use these functions to return
162  * NC_EPERM to all attempts to modify a file. */
163  EXTERNL int NC_RO_create(const char *path, int cmode, size_t initialsz, int basepe,
164  size_t *chunksizehintp, void* parameters,
165  const NC_Dispatch*, int);
166  EXTERNL int NC_RO_redef(int ncid);
167  EXTERNL int NC_RO__enddef(int ncid, size_t h_minfree, size_t v_align, size_t v_minfree,
168  size_t r_align);
169  EXTERNL int NC_RO_sync(int ncid);
170  EXTERNL int NC_RO_def_var_fill(int, int, int, const void *);
171  EXTERNL int NC_RO_rename_att(int ncid, int varid, const char *name,
172  const char *newname);
173  EXTERNL int NC_RO_del_att(int ncid, int varid, const char*);
174  EXTERNL int NC_RO_put_att(int ncid, int varid, const char *name, nc_type datatype,
175  size_t len, const void *value, nc_type);
176  EXTERNL int NC_RO_def_var(int ncid, const char *name,
177  nc_type xtype, int ndims, const int *dimidsp, int *varidp);
178  EXTERNL int NC_RO_rename_var(int ncid, int varid, const char *name);
179  EXTERNL int NC_RO_put_vara(int ncid, int varid,
180  const size_t *start, const size_t *count,
181  const void *value, nc_type);
182  EXTERNL int NC_RO_def_dim(int ncid, const char *name, size_t len, int *idp);
183  EXTERNL int NC_RO_rename_dim(int ncid, int dimid, const char *name);
184  EXTERNL int NC_RO_set_fill(int ncid, int fillmode, int *old_modep);
185 
186  /* These functions are for dispatch layers that don't implement
187  * the enhanced model. They return NC_ENOTNC4. */
188  EXTERNL int NC_NOTNC4_def_var_filter(int, int, unsigned int, size_t,
189  const unsigned int*);
190  EXTERNL int NC_NOTNC4_inq_var_filter_ids(int ncid, int varid, size_t* nfilters, unsigned int* filterids);
191  EXTERNL int NC_NOTNC4_inq_var_filter_info(int ncid, int varid, unsigned int id, size_t* nparams, unsigned int* params);
192  EXTERNL int NC_NOOP_inq_var_filter_ids(int ncid, int varid, size_t* nfilters, unsigned int* filterids);
193  EXTERNL int NC_NOOP_inq_var_filter_info(int ncid, int varid, unsigned int id, size_t* nparams, unsigned int* params);
194  EXTERNL int NC_NOOP_inq_filter_avail(int ncid, unsigned id);
195 
196  EXTERNL int NC_NOTNC4_def_grp(int, const char *, int *);
197  EXTERNL int NC_NOTNC4_rename_grp(int, const char *);
198  EXTERNL int NC_NOTNC4_def_compound(int, size_t, const char *, nc_type *);
199  EXTERNL int NC_NOTNC4_insert_compound(int, nc_type, const char *, size_t, nc_type);
200  EXTERNL int NC_NOTNC4_insert_array_compound(int, nc_type, const char *, size_t,
201  nc_type, int, const int *);
202  EXTERNL int NC_NOTNC4_inq_typeid(int, const char *, nc_type *);
203  EXTERNL int NC_NOTNC4_inq_compound_field(int, nc_type, int, char *, size_t *,
204  nc_type *, int *, int *);
205  EXTERNL int NC_NOTNC4_inq_compound_fieldindex(int, nc_type, const char *, int *);
206  EXTERNL int NC_NOTNC4_def_vlen(int, const char *, nc_type base_typeid, nc_type *);
207  EXTERNL int NC_NOTNC4_put_vlen_element(int, int, void *, size_t, const void *);
208  EXTERNL int NC_NOTNC4_get_vlen_element(int, int, const void *, size_t *, void *);
209  EXTERNL int NC_NOTNC4_def_enum(int, nc_type, const char *, nc_type *);
210  EXTERNL int NC_NOTNC4_insert_enum(int, nc_type, const char *, const void *);
211  EXTERNL int NC_NOTNC4_inq_enum_member(int, nc_type, int, char *, void *);
212  EXTERNL int NC_NOTNC4_inq_enum_ident(int, nc_type, long long, char *);
213  EXTERNL int NC_NOTNC4_def_opaque(int, size_t, const char *, nc_type *);
214  EXTERNL int NC_NOTNC4_def_var_deflate(int, int, int, int, int);
215  EXTERNL int NC_NOTNC4_def_var_fletcher32(int, int, int);
216  EXTERNL int NC_NOTNC4_def_var_chunking(int, int, int, const size_t *);
217  EXTERNL int NC_NOTNC4_def_var_endian(int, int, int);
218  EXTERNL int NC_NOTNC4_set_var_chunk_cache(int, int, size_t, size_t, float);
219  EXTERNL int NC_NOTNC4_get_var_chunk_cache(int, int, size_t *, size_t *, float *);
220  EXTERNL int NC_NOTNC4_var_par_access(int, int, int);
221  EXTERNL int NC_NOTNC4_inq_ncid(int, const char *, int *);
222  EXTERNL int NC_NOTNC4_inq_grps(int, int *, int *);
223  EXTERNL int NC_NOTNC4_inq_grpname(int, char *);
224  EXTERNL int NC_NOTNC4_inq_grpname_full(int, size_t *, char *);
225  EXTERNL int NC_NOTNC4_inq_grp_parent(int, int *);
226  EXTERNL int NC_NOTNC4_inq_grp_full_ncid(int, const char *, int *);
227  EXTERNL int NC_NOTNC4_inq_varids(int, int *, int *);
228  EXTERNL int NC_NOTNC4_inq_dimids(int, int *, int *, int);
229  EXTERNL int NC_NOTNC4_inq_typeids(int, int *, int *);
230  EXTERNL int NC_NOTNC4_inq_user_type(int, nc_type, char *, size_t *,
231  nc_type *, size_t *, int *);
232  EXTERNL int NC_NOTNC4_def_var_quantize(int, int, int, int);
233  EXTERNL int NC_NOTNC4_inq_var_quantize(int, int, int *, int *);
234 
235  /* These functions are for dispatch layers that don't implement
236  * the enhanced model, but want to succeed anyway.
237  * They return NC_NOERR plus properly set the out parameters.
238  */
239 
240  /* These functions are for dispatch layers that don't want to
241  * implement the deprecated varm functions. They return
242  * NC_ENOTNC3. */
243  EXTERNL int NC_NOTNC3_get_varm(int ncid, int varid, const size_t *start,
244  const size_t *edges, const ptrdiff_t *stride,
245  const ptrdiff_t *imapp, void *value0, nc_type memtype);
246  EXTERNL int NC_NOTNC3_put_varm(int ncid, int varid, const size_t * start,
247  const size_t *edges, const ptrdiff_t *stride,
248  const ptrdiff_t *imapp, const void *value0,
249  nc_type memtype);
250 
251 #if defined(__cplusplus)
252 }
253 #endif
254 
255 #endif /* NETCDF_DISPATCH_H */
int(* inq_enum_member)(int, nc_type, int, char *, void *)
int(* def_var_fletcher32)(int, int, int)
EXTERNL int NC_NOTNC4_def_var_chunking(int, int, int, const size_t *)
int(* inq_var_filter_info)(int ncid, int varid, unsigned int id, size_t *nparams, unsigned int *params)
EXTERNL int NC_NOTNC4_insert_enum(int, nc_type, const char *, const void *)
int(* def_var_quantize)(int ncid, int varid, int quantize_mode, int nsd)
EXTERNL int NC_NOTNC4_def_var_fletcher32(int, int, int)
EXTERNL int NC_NOTNC4_def_var_deflate(int, int, int, int, int)
EXTERNL int NC_NOTNC3_put_varm(int ncid, int varid, const size_t *start, const size_t *edges, const ptrdiff_t *stride, const ptrdiff_t *imapp, const void *value0, nc_type memtype)
int(* get_vars)(int, int, const size_t *, const size_t *, const ptrdiff_t *, void *, nc_type)
EXTERNL int NC_NOTNC4_def_grp(int, const char *, int *)
int(* put_varm)(int, int, const size_t *, const size_t *, const ptrdiff_t *, const ptrdiff_t *, const void *, nc_type)
EXTERNL int NC_NOTNC3_get_varm(int ncid, int varid, const size_t *start, const size_t *edges, const ptrdiff_t *stride, const ptrdiff_t *imapp, void *value0, nc_type memtype)
int(* def_compound)(int, size_t, const char *, nc_type *)
int
int(* inq_ncid)(int, const char *, int *)
EXTERNL int NC_NOOP_inq_filter_avail(int ncid, unsigned id)
int(* inq_grps)(int, int *, int *)
int(* inq_type)(int, nc_type, char *, size_t *)
EXTERNL int NC_NOTNC4_inq_grp_full_ncid(int, const char *, int *)
int(* rename_grp)(int, const char *)
EXTERNL int NC_RO_rename_dim(int ncid, int dimid, const char *name)
EXTERNL int NC_NOTNC4_put_vlen_element(int, int, void *, size_t, const void *)
EXTERNL int NC_NOTNC4_inq_varids(int, int *, int *)
int(* inq)(int, int *, int *, int *, int *)
int(* def_var_endian)(int, int, int)
int(* var_par_access)(int, int, int)
int(* def_dim)(int, const char *, size_t, int *)
EXTERNL int NC_RO_def_var_fill(int, int, int, const void *)
EXTERNL int NC_NOTNC4_inq_dimids(int, int *, int *, int)
int(* rename_dim)(int, int, const char *)
int(* insert_array_compound)(int, nc_type, const char *, size_t, nc_type, int, const int *)
int(* def_var_filter)(int, int, unsigned int, size_t, const unsigned int *)
int(* show_metadata)(int)
EXTERNL int NC_NOTNC4_inq_grps(int, int *, int *)
int(* put_vlen_element)(int, int, void *, size_t, const void *)
int(* inq_format)(int, int *)
int(* rename_var)(int, int, const char *)
int(* inq_var_quantize)(int ncid, int varid, int *quantize_modep, int *nsdp)
int(* inq_var_filter_ids)(int ncid, int varid, size_t *nfilters, unsigned int *filterids)
int(* inq_attid)(int, int, const char *, int *)
int(* inq_dimids)(int, int *ndims, int *, int)
int(* inq_unlimdim)(int ncid, int *unlimdimidp)
EXTERNL int NC_NOTNC4_inq_var_filter_info(int ncid, int varid, unsigned int id, size_t *nparams, unsigned int *params)
int(* close)(int, void *)
int(* inq_att)(int, int, const char *, nc_type *, size_t *)
EXTERNL int NC_NOTNC4_inq_var_quantize(int, int, int *, int *)
EXTERNL int NC_NOTNC4_set_var_chunk_cache(int, int, size_t, size_t, float)
EXTERNL int NC_RO_put_att(int ncid, int varid, const char *name, nc_type datatype, size_t len, const void *value, nc_type)
float
EXTERNL int NC_RO_create(const char *path, int cmode, size_t initialsz, int basepe, size_t *chunksizehintp, void *parameters, const NC_Dispatch *, int)
int(* set_fill)(int, int, int *)
EXTERNL int NC_RO_put_vara(int ncid, int varid, const size_t *start, const size_t *count, const void *value, nc_type)
EXTERNL int NC_NOTNC4_inq_grpname(int, char *)
EXTERNL int NC_NOTNC4_def_enum(int, nc_type, const char *, nc_type *)
EXTERNL int NC_NOTNC4_var_par_access(int, int, int)
int(* inq_varid)(int, const char *, int *)
EXTERNL int NC_NOTNC4_inq_enum_ident(int, nc_type, long long, char *)
int(* inq_dim)(int, int, char *, size_t *)
int(* def_vlen)(int, const char *, nc_type base_typeid, nc_type *)
name
EXTERNL int NC_NOTNC4_inq_var_filter_ids(int ncid, int varid, size_t *nfilters, unsigned int *filterids)
EXTERNL int NC_NOTNC4_def_compound(int, size_t, const char *, nc_type *)
int(* get_att)(int, int, const char *, void *, nc_type)
EXTERNL int NC_NOTNC4_rename_grp(int, const char *)
int(* abort)(int)
EXTERNL int NC_NOTNC4_inq_grpname_full(int, size_t *, char *)
int(* inq_filter_avail)(int ncid, unsigned id)
int(* inq_attname)(int, int, int, char *)
EXTERNL int NC_NOTNC4_inq_compound_fieldindex(int, nc_type, const char *, int *)
int(* def_enum)(int, nc_type, const char *, nc_type *)
EXTERNL int NC_RO_rename_var(int ncid, int varid, const char *name)
EXTERNL int NC_RO__enddef(int ncid, size_t h_minfree, size_t v_align, size_t v_minfree, size_t r_align)
EXTERNL int NC_NOTNC4_get_var_chunk_cache(int, int, size_t *, size_t *, float *)
int(* def_var_fill)(int, int, int, const void *)
int(* def_opaque)(int, size_t, const char *, nc_type *)
EXTERNL int NC_NOTNC4_inq_ncid(int, const char *, int *)
EXTERNL int NC_NOTNC4_insert_array_compound(int, nc_type, const char *, size_t, nc_type, int, const int *)
int(* inq_var_all)(int ncid, int varid, char *name, nc_type *xtypep, int *ndimsp, int *dimidsp, int *nattsp, int *shufflep, int *deflatep, int *deflate_levelp, int *fletcher32p, int *contiguousp, size_t *chunksizesp, int *no_fill, void *fill_valuep, int *endiannessp, unsigned int *idp, size_t *nparamsp, unsigned int *params)
int(* inq_grpname_full)(int, size_t *, char *)
EXTERNL int NC_NOTNC4_get_vlen_element(int, int, const void *, size_t *, void *)
EXTERNL int NC_NOTNC4_inq_compound_field(int, nc_type, int, char *, size_t *, nc_type *, int *, int *)
int(* put_vara)(int, int, const size_t *, const size_t *, const void *, nc_type)
EXTERNL int NC_RO_rename_att(int ncid, int varid, const char *name, const char *newname)
int(* inq_unlimdims)(int, int *, int *)
EXTERNL int NC_NOTNC4_inq_typeid(int, const char *, nc_type *)
mode
int(* inq_user_type)(int, nc_type, char *, size_t *, nc_type *, size_t *, int *)
EXTERNL int NC_NOTNC4_insert_compound(int, nc_type, const char *, size_t, nc_type)
EXTERNL int NC_RO_del_att(int ncid, int varid, const char *)
EXTERNL int NC_RO_def_var(int ncid, const char *name, nc_type xtype, int ndims, const int *dimidsp, int *varidp)
EXTERNL int NC_NOTNC4_def_vlen(int, const char *, nc_type base_typeid, nc_type *)
int(* insert_compound)(int, nc_type, const char *, size_t, nc_type)
int(* create)(const char *path, int cmode, size_t initialsz, int basepe, size_t *chunksizehintp, void *parameters, const struct NC_Dispatch *table, int ncid)
EXTERNL int NC_NOTNC4_def_var_endian(int, int, int)
int(* get_varm)(int, int, const size_t *, const size_t *, const ptrdiff_t *, const ptrdiff_t *, void *, nc_type)
int(* inq_dimid)(int, const char *, int *)
int(* put_vars)(int, int, const size_t *, const size_t *, const ptrdiff_t *, const void *, nc_type)
int(* rename_att)(int, int, const char *, const char *)
value
int(* def_var)(int, const char *, nc_type, int, const int *, int *)
EXTERNL int NC_NOOP_inq_var_filter_ids(int ncid, int varid, size_t *nfilters, unsigned int *filterids)
EXTERNL int NC_NOTNC4_inq_enum_member(int, nc_type, int, char *, void *)
EXTERNL int NC_NOTNC4_inq_grp_parent(int, int *)
EXTERNL int NC_NOTNC4_inq_typeids(int, int *, int *)
int(* get_vlen_element)(int, int, const void *, size_t *, void *)
int(* inq_varids)(int, int *nvars, int *)
EXTERNL int NC_RO_def_dim(int ncid, const char *name, size_t len, int *idp)
int(* def_grp)(int, const char *, int *)
int(* inq_enum_ident)(int, nc_type, long long, char *)
int(* open)(const char *path, int mode, int basepe, size_t *chunksizehintp, void *parameters, const struct NC_Dispatch *table, int ncid)
EXTERNL int NC_NOTNC4_def_var_filter(int, int, unsigned int, size_t, const unsigned int *)
int(* get_var_chunk_cache)(int ncid, int varid, size_t *sizep, size_t *nelemsp, float *preemptionp)
int(* inq_grp_full_ncid)(int, const char *, int *)
EXTERNL int NC_NOTNC4_def_opaque(int, size_t, const char *, nc_type *)
int(* put_att)(int, int, const char *, nc_type, size_t, const void *, nc_type)
int(* inq_type_equal)(int, nc_type, int, nc_type, int *)
int(* def_var_deflate)(int, int, int, int, int)
int(* sync)(int)
int(* inq_grp_parent)(int, int *)
EXTERNL int NC_RO_set_fill(int ncid, int fillmode, int *old_modep)
int(* inq_compound_fieldindex)(int, nc_type, const char *, int *)
EXTERNL int NC_NOOP_inq_var_filter_info(int ncid, int varid, unsigned int id, size_t *nparams, unsigned int *params)
EXTERNL int NC_RO_redef(int ncid)
int(* redef)(int)
int(* inq_format_extended)(int, int *, int *)
int(* del_att)(int, int, const char *)
int(* inq_compound_field)(int, nc_type, int, char *, size_t *, nc_type *, int *, int *)
int(* set_var_chunk_cache)(int, int, size_t, size_t, float)
int(* _enddef)(int, size_t, size_t, size_t, size_t)
int(* inq_typeids)(int, int *ntypes, int *)
int(* insert_enum)(int, nc_type, const char *, const void *)
int(* inq_typeid)(int, const char *, nc_type *)
int(* inq_grpname)(int, char *)
int(* def_var_chunking)(int, int, int, const size_t *)
EXTERNL int NC_RO_sync(int ncid)
std::pair< boost::graph_traits< vtkGraph *>::edge_iterator, boost::graph_traits< vtkGraph *>::edge_iterator > edges(vtkGraph *g)
EXTERNL int NC_NOTNC4_inq_user_type(int, nc_type, char *, size_t *, nc_type *, size_t *, int *)
int(* get_vara)(int, int, const size_t *, const size_t *, void *, nc_type)
EXTERNL int NC_NOTNC4_def_var_quantize(int, int, int, int)