source: XIOS/trunk/extern/src_netcdf4/nc3dispatch.h @ 409

Last change on this file since 409 was 409, checked in by ymipsl, 11 years ago

Add improved nectdf internal library src

YM

  • Property svn:eol-style set to native
File size: 5.1 KB
Line 
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*, NC** ncp);
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*, NC** ncp);
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(int ncid, int *ndimsp, int *nvarsp, int *nattsp, int *unlimdimidp);
99
100EXTERNL int
101NC3_inq_type(int, nc_type, char *, size_t *);
102
103/* Begin _dim */
104
105EXTERNL int
106NC3_def_dim(int ncid, const char *name, size_t len, int *idp);
107
108EXTERNL int
109NC3_inq_dimid(int ncid, const char *name, int *idp);
110
111EXTERNL int
112NC3_inq_dim(int ncid, int dimid, char *name, size_t *lenp);
113
114EXTERNL int
115NC3_inq_unlimdim(int ncid, int *unlimdimidp);
116
117EXTERNL int
118NC3_rename_dim(int ncid, int dimid, const char *name);
119
120/* End _dim */
121/* Begin _att */
122
123EXTERNL int
124NC3_inq_att(int ncid, int varid, const char *name,
125         nc_type *xtypep, size_t *lenp);
126
127EXTERNL int 
128NC3_inq_attid(int ncid, int varid, const char *name, int *idp);
129
130EXTERNL int
131NC3_inq_attname(int ncid, int varid, int attnum, char *name);
132
133EXTERNL int
134NC3_rename_att(int ncid, int varid, const char *name, const char *newname);
135
136EXTERNL int
137NC3_del_att(int ncid, int varid, const char*);
138
139/* End _att */
140/* Begin {put,get}_att */
141
142EXTERNL int
143NC3_get_att(int ncid, int varid, const char *name, void *value, nc_type);
144
145EXTERNL int
146NC3_put_att(int ncid, int varid, const char *name, nc_type datatype,
147           size_t len, const void *value, nc_type);
148
149/* End {put,get}_att */
150/* Begin _var */
151
152EXTERNL int
153NC3_def_var(int ncid, const char *name,
154         nc_type xtype, int ndims, const int *dimidsp, int *varidp);
155
156EXTERNL int
157NC3_inq_var(int ncid, int varid, char *name,
158         nc_type *xtypep, int *ndimsp, int *dimidsp, int *nattsp);
159
160EXTERNL int
161NC3_inq_varid(int ncid, const char *name, int *varidp);
162
163EXTERNL int
164NC3_rename_var(int ncid, int varid, const char *name);
165
166
167EXTERNL int
168NC3_put_vara(int ncid, int varid,
169             const size_t *start, const size_t *count,
170             const void *value, nc_type);
171
172EXTERNL int
173NC3_get_vara(int ncid, int varid,
174             const size_t *start, const size_t *count,
175             void *value, nc_type);
176
177/* End _var */
178
179extern int NC3_initialize();
180
181
182#if defined(__cplusplus)
183}
184#endif
185
186#endif /*_NC3DISPATCH_H*/
Note: See TracBrowser for help on using the repository browser.