1/*
2 * Copyright 1993-1996 University Corporation for Atmospheric Research/Unidata
3 *
4 * Portions of this software were developed by the Unidata Program at the
5 * University Corporation for Atmospheric Research.
6 *
7 * Access and use of this software shall impose the following obligations
8 * and understandings on the user. The user is granted the right, without
9 * any fee or cost, to use, copy, modify, alter, enhance and distribute
10 * this software, and any derivative works thereof, and its supporting
11 * documentation for any purpose whatsoever, provided that this entire
12 * notice appears in all copies of the software, derivative works and
13 * supporting documentation.  Further, UCAR requests that the user credit
14 * UCAR/Unidata in any publications that result from the use of this
15 * software or in any product that includes this software. The names UCAR
16 * and/or Unidata, however, may not be used in any advertising or publicity
17 * to endorse or promote any products or commercial entity unless specific
18 * written permission is obtained from UCAR/Unidata. The user also
19 * understands that UCAR/Unidata is not obligated to provide the user with
20 * any support, consulting, training or assistance of any kind with regard
21 * to the use, operation and performance of this software nor to provide
22 * the user with any updates, revisions, new versions or "bug fixes."
23 *
24 * THIS SOFTWARE IS PROVIDED BY UCAR/UNIDATA "AS IS" AND ANY EXPRESS OR
25 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
26 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27 * DISCLAIMED. IN NO EVENT SHALL UCAR/UNIDATA BE LIABLE FOR ANY SPECIAL,
28 * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
29 * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
30 * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
31 * WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE.
32 */
33/* "$Id: nc3dispatch.h,v 2.8 2010/05/26 18:11:08 dmh Exp $" */
34
35#ifndef _NC3DISPATCH_H
36#define _NC3DISPATCH_H
37
38#include <stddef.h> /* size_t, ptrdiff_t */
39#include "netcdf.h"
40#include "ncdispatch.h"
41
42
43
44#if defined(__cplusplus)
45extern "C" {
46#endif
47
48/*
49 * The Interface
50 */
51
52/* WARNING: this signature differs from external nc_create API*/
53EXTERNL int
54NC3_create(const char *path, int cmode,
55           size_t initialsz, int basepe, size_t *chunksizehintp,
56    int useparallel, void* mpidata,
57           struct NC_Dispatch*, NCncp);
58
59/* WARNING: this signature differs from external nc_open API*/
60EXTERNL int
61NC3_open(const char *path, int mode,
62         int basepe, size_t *chunksizehintp,
63         int use_parallel, void* mpidata,
64         NC_Dispatch*, NCncp);
65
66EXTERNL int
67NC3_new_nc(NC**);
68
69EXTERNL int
70NC3_redef(int ncid);
71
72EXTERNL int
73NC3__enddef(int ncid, size_t h_minfree, size_t v_align,
74 size_t v_minfree, size_t r_align);
75
76EXTERNL int
77NC3_sync(int ncid);
78
79EXTERNL int
80NC3_abort(int ncid);
81
82EXTERNL int
83NC3_close(int ncid);
84
85EXTERNL int
86NC3_set_fill(int ncid, int fillmode, int *old_modep);
87
88EXTERNL int
89NC3_set_base_pe(int ncid, int pe);
90
91EXTERNL int
92NC3_inq_base_pe(int ncid, int *pe);
93
94EXTERNL int
95NC3_inq_format(int ncid, int *formatp);
96
97EXTERNL int
98NC3_inq_format_extended(int ncid, int *formatp, int *modep);
99
100EXTERNL int
101NC3_inq(int ncid, int *ndimsp, int *nvarsp, int *nattsp, int *unlimdimidp);
102
103EXTERNL int
104NC3_inq_type(int, nc_type, char *, size_t *);
105
106/* Begin _dim */
107
108EXTERNL int
109NC3_def_dim(int ncid, const char *name, size_t len, int *idp);
110
111EXTERNL int
112NC3_inq_dimid(int ncid, const char *name, int *idp);
113
114EXTERNL int
115NC3_inq_dim(int ncid, int dimid, char *name, size_t *lenp);
116
117EXTERNL int
118NC3_inq_unlimdim(int ncid, int *unlimdimidp);
119
120EXTERNL int
121NC3_rename_dim(int ncid, int dimid, const char *name);
122
123/* End _dim */
124/* Begin _att */
125
126EXTERNL int
127NC3_inq_att(int ncid, int varid, const char *name,
128  nc_type *xtypep, size_t *lenp);
129
130EXTERNL int
131NC3_inq_attid(int ncid, int varid, const char *name, int *idp);
132
133EXTERNL int
134NC3_inq_attname(int ncid, int varid, int attnum, char *name);
135
136EXTERNL int
137NC3_rename_att(int ncid, int varid, const char *name, const char *newname);
138
139EXTERNL int
140NC3_del_att(int ncid, int varid, const char*);
141
142/* End _att */
143/* Begin {put,get}_att */
144
145EXTERNL int
146NC3_get_att(int ncid, int varid, const char *name, void *valuenc_type);
147
148EXTERNL int
149NC3_put_att(int ncid, int varid, const char *namenc_type datatype,
150    size_t len, const void *valuenc_type);
151
152/* End {put,get}_att */
153/* Begin _var */
154
155EXTERNL int
156NC3_def_var(int ncid, const char *name,
157  nc_type xtype, int ndims, const int *dimidsp, int *varidp);
158
159EXTERNL int
160NC3_inq_var(int ncid, int varid, char *name,
161  nc_type *xtypep, int *ndimsp, int *dimidsp, int *nattsp);
162
163EXTERNL int
164NC3_inq_varid(int ncid, const char *name, int *varidp);
165
166EXTERNL int
167NC3_rename_var(int ncid, int varid, const char *name);
168
169
170EXTERNL int
171NC3_put_vara(int ncid, int varid,
172         const size_t *start, const size_t *count,
173             const void *valuenc_type);
174
175EXTERNL int
176NC3_get_vara(int ncid, int varid,
177      const size_t *start, const size_t *count,
178             void *valuenc_type);
179
180/* End _var */
181
182extern int NC3_initialize();
183
184
185#if defined(__cplusplus)
186}
187#endif
188
189#endif /*_NC3DISPATCH_H*/


HyperKWIC - Version 7.20DA executed at 11:37 on 27 Oct 2017 | Polyhedron Solutions - INTERNAL USE | COMMERCIAL (Any O/S) SN 4AKIed