1use std::os::raw::{
2 c_char, c_double, c_float, c_int, c_long, c_longlong, c_schar, c_short, c_uchar, c_uint,
3 c_ulonglong, c_ushort, c_void,
4};
5
6#[cfg(feature = "4.8.0")]
8use super::NC_Dispatch;
9
10pub type nc_type = c_int;
11
12#[repr(C)]
13pub struct nc_vlen_t {
14 pub len: usize,
15 pub p: *mut c_void,
16}
17
18extern "C" {
19 pub fn nc_inq_libvers() -> *const c_char;
20 pub fn nc_strerror(ncerr: c_int) -> *const c_char;
21
22 #[cfg(feature = "4.8.0")]
24 pub fn nc_def_user_format(
25 mode_flag: c_int,
26 dispatch_table: *mut NC_Dispatch,
27 magic_number: *mut c_char,
28 ) -> c_int;
29 #[cfg(feature = "4.8.0")]
31 pub fn nc_inq_user_format(
32 mode_flag: c_int,
33 dispatch_table: *mut *mut NC_Dispatch,
34 magic_number: *mut c_char,
35 ) -> c_int;
36
37 pub fn nc__create(
38 path: *const c_char,
39 cmode: c_int,
40 initialsz: usize,
41 chunksizehintp: *mut usize,
42 ncidp: *mut c_int,
43 ) -> c_int;
44 pub fn nc_create(path: *const c_char, cmode: c_int, ncidp: *mut c_int) -> c_int;
45 pub fn nc__open(
46 path: *const c_char,
47 mode: c_int,
48 chunksizehintp: *mut usize,
49 ncidp: *mut c_int,
50 ) -> c_int;
51 pub fn nc_open(path: *const c_char, mode: c_int, ncidp: *mut c_int) -> c_int;
52 pub fn nc_inq_path(ncid: c_int, pathlen: *mut usize, path: *mut c_char) -> c_int;
53 pub fn nc_inq_ncid(ncid: c_int, name: *const c_char, grp_ncid: *mut c_int) -> c_int;
54 pub fn nc_inq_grps(ncid: c_int, numgrps: *mut c_int, ncids: *mut c_int) -> c_int;
55 pub fn nc_inq_grpname(ncid: c_int, name: *mut c_char) -> c_int;
56 pub fn nc_inq_grpname_full(ncid: c_int, lenp: *mut usize, full_name: *mut c_char) -> c_int;
57 pub fn nc_inq_grpname_len(ncid: c_int, lenp: *mut usize) -> c_int;
58 pub fn nc_inq_grp_parent(ncid: c_int, parent_ncid: *mut c_int) -> c_int;
59 pub fn nc_inq_grp_ncid(ncid: c_int, grp_name: *const c_char, grp_ncid: *mut c_int) -> c_int;
60 pub fn nc_inq_grp_full_ncid(
61 ncid: c_int,
62 full_name: *const c_char,
63 grp_ncid: *mut c_int,
64 ) -> c_int;
65 pub fn nc_inq_varids(ncid: c_int, nvars: *mut c_int, varids: *mut c_int) -> c_int;
66 pub fn nc_inq_dimids(
67 ncid: c_int,
68 ndims: *mut c_int,
69 dimids: *mut c_int,
70 include_parents: c_int,
71 ) -> c_int;
72 pub fn nc_inq_typeids(ncid: c_int, ntypes: *mut c_int, typeids: *mut c_int) -> c_int;
73 pub fn nc_inq_type_equal(
74 ncid1: c_int,
75 typeid1: nc_type,
76 ncid2: c_int,
77 typeid2: nc_type,
78 equal: *mut c_int,
79 ) -> c_int;
80 pub fn nc_def_grp(parent_ncid: c_int, name: *const c_char, new_ncid: *mut c_int) -> c_int;
81 pub fn nc_rename_grp(grpid: c_int, name: *const c_char) -> c_int;
82 pub fn nc_def_compound(
83 ncid: c_int,
84 size: usize,
85 name: *const c_char,
86 typeidp: *mut nc_type,
87 ) -> c_int;
88 pub fn nc_insert_compound(
89 ncid: c_int,
90 xtype: nc_type,
91 name: *const c_char,
92 offset: usize,
93 field_typeid: nc_type,
94 ) -> c_int;
95 pub fn nc_insert_array_compound(
96 ncid: c_int,
97 xtype: nc_type,
98 name: *const c_char,
99 offset: usize,
100 field_typeid: nc_type,
101 ndims: c_int,
102 dim_sizes: *const c_int,
103 ) -> c_int;
104 pub fn nc_inq_type(ncid: c_int, xtype: nc_type, name: *mut c_char, size: *mut usize) -> c_int;
105 pub fn nc_inq_typeid(ncid: c_int, name: *const c_char, typeidp: *mut nc_type) -> c_int;
106 pub fn nc_inq_compound(
107 ncid: c_int,
108 xtype: nc_type,
109 name: *mut c_char,
110 sizep: *mut usize,
111 nfieldsp: *mut usize,
112 ) -> c_int;
113 pub fn nc_inq_compound_name(ncid: c_int, xtype: nc_type, name: *mut c_char) -> c_int;
114 pub fn nc_inq_compound_size(ncid: c_int, xtype: nc_type, sizep: *mut usize) -> c_int;
115 pub fn nc_inq_compound_nfields(ncid: c_int, xtype: nc_type, nfieldsp: *mut usize) -> c_int;
116 pub fn nc_inq_compound_field(
117 ncid: c_int,
118 xtype: nc_type,
119 fieldid: c_int,
120 name: *mut c_char,
121 offsetp: *mut usize,
122 field_typeidp: *mut nc_type,
123 ndimsp: *mut c_int,
124 dim_sizesp: *mut c_int,
125 ) -> c_int;
126 pub fn nc_inq_compound_fieldname(
127 ncid: c_int,
128 xtype: nc_type,
129 fieldid: c_int,
130 name: *mut c_char,
131 ) -> c_int;
132 pub fn nc_inq_compound_fieldindex(
133 ncid: c_int,
134 xtype: nc_type,
135 name: *const c_char,
136 fieldidp: *mut c_int,
137 ) -> c_int;
138 pub fn nc_inq_compound_fieldoffset(
139 ncid: c_int,
140 xtype: nc_type,
141 fieldid: c_int,
142 offsetp: *mut usize,
143 ) -> c_int;
144 pub fn nc_inq_compound_fieldtype(
145 ncid: c_int,
146 xtype: nc_type,
147 fieldid: c_int,
148 field_typeidp: *mut nc_type,
149 ) -> c_int;
150 pub fn nc_inq_compound_fieldndims(
151 ncid: c_int,
152 xtype: nc_type,
153 fieldid: c_int,
154 ndimsp: *mut c_int,
155 ) -> c_int;
156 pub fn nc_inq_compound_fielddim_sizes(
157 ncid: c_int,
158 xtype: nc_type,
159 fieldid: c_int,
160 dim_sizes: *mut c_int,
161 ) -> c_int;
162 pub fn nc_def_vlen(
163 ncid: c_int,
164 name: *const c_char,
165 base_typeid: nc_type,
166 xtypep: *mut nc_type,
167 ) -> c_int;
168 pub fn nc_inq_vlen(
169 ncid: c_int,
170 xtype: nc_type,
171 name: *mut c_char,
172 datum_sizep: *mut usize,
173 base_nc_typep: *mut nc_type,
174 ) -> c_int;
175 pub fn nc_free_vlen(vl: *mut nc_vlen_t) -> c_int;
176 pub fn nc_free_vlens(len: usize, vlens: *mut nc_vlen_t) -> c_int;
177 pub fn nc_put_vlen_element(
178 ncid: c_int,
179 typeid1: c_int,
180 vlen_element: *mut c_void,
181 len: usize,
182 data: *const c_void,
183 ) -> c_int;
184 pub fn nc_get_vlen_element(
185 ncid: c_int,
186 typeid1: c_int,
187 vlen_element: *const c_void,
188 len: *mut usize,
189 data: *mut c_void,
190 ) -> c_int;
191 pub fn nc_free_string(len: usize, data: *mut *mut c_char) -> c_int;
192 pub fn nc_inq_user_type(
193 ncid: c_int,
194 xtype: nc_type,
195 name: *mut c_char,
196 size: *mut usize,
197 base_nc_typep: *mut nc_type,
198 nfieldsp: *mut usize,
199 classp: *mut c_int,
200 ) -> c_int;
201 pub fn nc_put_att(
202 ncid: c_int,
203 varid: c_int,
204 name: *const c_char,
205 xtype: nc_type,
206 len: usize,
207 op: *const c_void,
208 ) -> c_int;
209 pub fn nc_get_att(ncid: c_int, varid: c_int, name: *const c_char, ip: *mut c_void) -> c_int;
210 pub fn nc_def_enum(
211 ncid: c_int,
212 base_typeid: nc_type,
213 name: *const c_char,
214 typeidp: *mut nc_type,
215 ) -> c_int;
216 pub fn nc_insert_enum(
217 ncid: c_int,
218 xtype: nc_type,
219 name: *const c_char,
220 value: *const c_void,
221 ) -> c_int;
222 pub fn nc_inq_enum(
223 ncid: c_int,
224 xtype: nc_type,
225 name: *mut c_char,
226 base_nc_typep: *mut nc_type,
227 base_sizep: *mut usize,
228 num_membersp: *mut usize,
229 ) -> c_int;
230 pub fn nc_inq_enum_member(
231 ncid: c_int,
232 xtype: nc_type,
233 idx: c_int,
234 name: *mut c_char,
235 value: *mut c_void,
236 ) -> c_int;
237 pub fn nc_inq_enum_ident(
238 ncid: c_int,
239 xtype: nc_type,
240 value: c_longlong,
241 identifier: *mut c_char,
242 ) -> c_int;
243 pub fn nc_def_opaque(
244 ncid: c_int,
245 size: usize,
246 name: *const c_char,
247 xtypep: *mut nc_type,
248 ) -> c_int;
249 pub fn nc_inq_opaque(
250 ncid: c_int,
251 xtype: nc_type,
252 name: *mut c_char,
253 sizep: *mut usize,
254 ) -> c_int;
255 pub fn nc_put_var(ncid: c_int, varid: c_int, op: *const c_void) -> c_int;
256 pub fn nc_get_var(ncid: c_int, varid: c_int, ip: *mut c_void) -> c_int;
257 pub fn nc_put_var1(ncid: c_int, varid: c_int, indexp: *const usize, op: *const c_void)
258 -> c_int;
259 pub fn nc_get_var1(ncid: c_int, varid: c_int, indexp: *const usize, ip: *mut c_void) -> c_int;
260 pub fn nc_put_vara(
261 ncid: c_int,
262 varid: c_int,
263 startp: *const usize,
264 countp: *const usize,
265 op: *const c_void,
266 ) -> c_int;
267 pub fn nc_get_vara(
268 ncid: c_int,
269 varid: c_int,
270 startp: *const usize,
271 countp: *const usize,
272 ip: *mut c_void,
273 ) -> c_int;
274 pub fn nc_put_vars(
275 ncid: c_int,
276 varid: c_int,
277 startp: *const usize,
278 countp: *const usize,
279 stridep: *const isize,
280 op: *const c_void,
281 ) -> c_int;
282 pub fn nc_get_vars(
283 ncid: c_int,
284 varid: c_int,
285 startp: *const usize,
286 countp: *const usize,
287 stridep: *const isize,
288 ip: *mut c_void,
289 ) -> c_int;
290 pub fn nc_put_varm(
291 ncid: c_int,
292 varid: c_int,
293 startp: *const usize,
294 countp: *const usize,
295 stridep: *const isize,
296 imapp: *const isize,
297 op: *const c_void,
298 ) -> c_int;
299 pub fn nc_get_varm(
300 ncid: c_int,
301 varid: c_int,
302 startp: *const usize,
303 countp: *const usize,
304 stridep: *const isize,
305 imapp: *const isize,
306 ip: *mut c_void,
307 ) -> c_int;
308 pub fn nc_def_var_deflate(
309 ncid: c_int,
310 varid: c_int,
311 shuffle: c_int,
312 deflate: c_int,
313 deflate_level: c_int,
314 ) -> c_int;
315 pub fn nc_inq_var_deflate(
316 ncid: c_int,
317 varid: c_int,
318 shufflep: *mut c_int,
319 deflatep: *mut c_int,
320 deflate_levelp: *mut c_int,
321 ) -> c_int;
322 #[cfg(feature = "4.7.4")]
323 pub fn nc_def_var_szip(
324 ncid: c_int,
325 varid: c_int,
326 options_mask: c_int,
327 pixels_per_block: c_int,
328 ) -> c_int;
329 pub fn nc_inq_var_szip(
330 ncid: c_int,
331 varid: c_int,
332 options_maskp: *mut c_int,
333 pixels_per_blockp: *mut c_int,
334 ) -> c_int;
335 pub fn nc_def_var_fletcher32(ncid: c_int, varid: c_int, fletcher32: c_int) -> c_int;
336 pub fn nc_inq_var_fletcher32(ncid: c_int, varid: c_int, fletcher32p: *mut c_int) -> c_int;
337 pub fn nc_def_var_chunking(
338 ncid: c_int,
339 varid: c_int,
340 storage: c_int,
341 chunksizesp: *const usize,
342 ) -> c_int;
343 pub fn nc_inq_var_chunking(
344 ncid: c_int,
345 varid: c_int,
346 storagep: *mut c_int,
347 chunksizesp: *mut usize,
348 ) -> c_int;
349 pub fn nc_def_var_fill(
350 ncid: c_int,
351 varid: c_int,
352 no_fill: c_int,
353 fill_value: *const c_void,
354 ) -> c_int;
355 pub fn nc_inq_var_fill(
356 ncid: c_int,
357 varid: c_int,
358 no_fill: *mut c_int,
359 fill_valuep: *mut c_void,
360 ) -> c_int;
361 pub fn nc_def_var_endian(ncid: c_int, varid: c_int, endian: c_int) -> c_int;
362 pub fn nc_inq_var_endian(ncid: c_int, varid: c_int, endianp: *mut c_int) -> c_int;
363 #[cfg(feature = "4.6.0")]
364 pub fn nc_def_var_filter(
365 ncid: c_int,
366 varid: c_int,
367 id: c_uint,
368 nparams: usize,
369 parms: *const c_uint,
370 ) -> c_int;
371 #[cfg(feature = "4.6.0")]
372 pub fn nc_inq_var_filter(
373 ncid: c_int,
374 varid: c_int,
375 idp: *const c_uint,
376 nparams: *mut usize,
377 params: *mut c_uint,
378 ) -> c_int;
379 pub fn nc_set_fill(ncid: c_int, fillmode: c_int, old_modep: *mut c_int) -> c_int;
380 pub fn nc_set_default_format(format: c_int, old_formatp: *mut c_int) -> c_int;
381 pub fn nc_set_chunk_cache(size: usize, nelems: usize, preemption: c_float) -> c_int;
382 pub fn nc_get_chunk_cache(
383 sizep: *mut usize,
384 nelemsp: *mut usize,
385 preemptionp: *mut c_float,
386 ) -> c_int;
387 pub fn nc_set_var_chunk_cache(
388 ncid: c_int,
389 varid: c_int,
390 size: usize,
391 nelems: usize,
392 preemption: c_float,
393 ) -> c_int;
394 pub fn nc_get_var_chunk_cache(
395 ncid: c_int,
396 varid: c_int,
397 sizep: *mut usize,
398 nelemsp: *mut usize,
399 preemptionp: *mut c_float,
400 ) -> c_int;
401 pub fn nc_redef(ncid: c_int) -> c_int;
402 pub fn nc__enddef(
403 ncid: c_int,
404 h_minfree: usize,
405 v_align: usize,
406 v_minfree: usize,
407 r_align: usize,
408 ) -> c_int;
409 pub fn nc_enddef(ncid: c_int) -> c_int;
410 pub fn nc_sync(ncid: c_int) -> c_int;
411 pub fn nc_abort(ncid: c_int) -> c_int;
412 pub fn nc_close(ncid: c_int) -> c_int;
413 pub fn nc_inq(
414 ncid: c_int,
415 ndimsp: *mut c_int,
416 nvarsp: *mut c_int,
417 nattsp: *mut c_int,
418 unlimdimidp: *mut c_int,
419 ) -> c_int;
420 pub fn nc_inq_ndims(ncid: c_int, ndimsp: *mut c_int) -> c_int;
421 pub fn nc_inq_nvars(ncid: c_int, nvarsp: *mut c_int) -> c_int;
422 pub fn nc_inq_natts(ncid: c_int, nattsp: *mut c_int) -> c_int;
423 pub fn nc_inq_unlimdim(ncid: c_int, unlimdimidp: *mut c_int) -> c_int;
424 pub fn nc_inq_unlimdims(
425 ncid: c_int,
426 nunlimdimsp: *mut c_int,
427 unlimdimidsp: *mut c_int,
428 ) -> c_int;
429 pub fn nc_inq_format(ncid: c_int, formatp: *mut c_int) -> c_int;
430 pub fn nc_inq_format_extended(ncid: c_int, formatp: *mut c_int, modep: *mut c_int) -> c_int;
431 pub fn nc_def_dim(ncid: c_int, name: *const c_char, len: usize, idp: *mut c_int) -> c_int;
432 pub fn nc_inq_dimid(ncid: c_int, name: *const c_char, idp: *mut c_int) -> c_int;
433 pub fn nc_inq_dim(ncid: c_int, dimid: c_int, name: *mut c_char, lenp: *mut usize) -> c_int;
434 pub fn nc_inq_dimname(ncid: c_int, dimid: c_int, name: *mut c_char) -> c_int;
435 pub fn nc_inq_dimlen(ncid: c_int, dimid: c_int, lenp: *mut usize) -> c_int;
436 pub fn nc_rename_dim(ncid: c_int, dimid: c_int, name: *const c_char) -> c_int;
437 pub fn nc_inq_att(
438 ncid: c_int,
439 varid: c_int,
440 name: *const c_char,
441 xtypep: *mut nc_type,
442 lenp: *mut usize,
443 ) -> c_int;
444 pub fn nc_inq_attid(ncid: c_int, varid: c_int, name: *const c_char, idp: *mut c_int) -> c_int;
445 pub fn nc_inq_atttype(
446 ncid: c_int,
447 varid: c_int,
448 name: *const c_char,
449 xtypep: *mut nc_type,
450 ) -> c_int;
451 pub fn nc_inq_attlen(ncid: c_int, varid: c_int, name: *const c_char, lenp: *mut usize)
452 -> c_int;
453 pub fn nc_inq_attname(ncid: c_int, varid: c_int, attnum: c_int, name: *mut c_char) -> c_int;
454 pub fn nc_copy_att(
455 ncid_in: c_int,
456 varid_in: c_int,
457 name: *const c_char,
458 ncid_out: c_int,
459 varid_out: c_int,
460 ) -> c_int;
461 pub fn nc_rename_att(
462 ncid: c_int,
463 varid: c_int,
464 name: *const c_char,
465 newname: *const c_char,
466 ) -> c_int;
467 pub fn nc_del_att(ncid: c_int, varid: c_int, name: *const c_char) -> c_int;
468 pub fn nc_put_att_text(
469 ncid: c_int,
470 varid: c_int,
471 name: *const c_char,
472 len: usize,
473 op: *const c_char,
474 ) -> c_int;
475 pub fn nc_get_att_text(
476 ncid: c_int,
477 varid: c_int,
478 name: *const c_char,
479 ip: *mut c_char,
480 ) -> c_int;
481 pub fn nc_put_att_uchar(
482 ncid: c_int,
483 varid: c_int,
484 name: *const c_char,
485 xtype: nc_type,
486 len: usize,
487 op: *const c_uchar,
488 ) -> c_int;
489 pub fn nc_get_att_uchar(
490 ncid: c_int,
491 varid: c_int,
492 name: *const c_char,
493 ip: *mut c_uchar,
494 ) -> c_int;
495 pub fn nc_put_att_schar(
496 ncid: c_int,
497 varid: c_int,
498 name: *const c_char,
499 xtype: nc_type,
500 len: usize,
501 op: *const c_schar,
502 ) -> c_int;
503 pub fn nc_get_att_schar(
504 ncid: c_int,
505 varid: c_int,
506 name: *const c_char,
507 ip: *mut c_schar,
508 ) -> c_int;
509 pub fn nc_put_att_short(
510 ncid: c_int,
511 varid: c_int,
512 name: *const c_char,
513 xtype: nc_type,
514 len: usize,
515 op: *const c_short,
516 ) -> c_int;
517 pub fn nc_get_att_short(
518 ncid: c_int,
519 varid: c_int,
520 name: *const c_char,
521 ip: *mut c_short,
522 ) -> c_int;
523 pub fn nc_put_att_int(
524 ncid: c_int,
525 varid: c_int,
526 name: *const c_char,
527 xtype: nc_type,
528 len: usize,
529 op: *const c_int,
530 ) -> c_int;
531 pub fn nc_get_att_int(ncid: c_int, varid: c_int, name: *const c_char, ip: *mut c_int) -> c_int;
532 pub fn nc_put_att_long(
533 ncid: c_int,
534 varid: c_int,
535 name: *const c_char,
536 xtype: nc_type,
537 len: usize,
538 op: *const c_long,
539 ) -> c_int;
540 pub fn nc_get_att_long(
541 ncid: c_int,
542 varid: c_int,
543 name: *const c_char,
544 ip: *mut c_long,
545 ) -> c_int;
546 pub fn nc_put_att_float(
547 ncid: c_int,
548 varid: c_int,
549 name: *const c_char,
550 xtype: nc_type,
551 len: usize,
552 op: *const c_float,
553 ) -> c_int;
554 pub fn nc_get_att_float(
555 ncid: c_int,
556 varid: c_int,
557 name: *const c_char,
558 ip: *mut c_float,
559 ) -> c_int;
560 pub fn nc_put_att_double(
561 ncid: c_int,
562 varid: c_int,
563 name: *const c_char,
564 xtype: nc_type,
565 len: usize,
566 op: *const c_double,
567 ) -> c_int;
568 pub fn nc_get_att_double(
569 ncid: c_int,
570 varid: c_int,
571 name: *const c_char,
572 ip: *mut c_double,
573 ) -> c_int;
574 pub fn nc_put_att_ushort(
575 ncid: c_int,
576 varid: c_int,
577 name: *const c_char,
578 xtype: nc_type,
579 len: usize,
580 op: *const c_ushort,
581 ) -> c_int;
582 pub fn nc_get_att_ushort(
583 ncid: c_int,
584 varid: c_int,
585 name: *const c_char,
586 ip: *mut c_ushort,
587 ) -> c_int;
588 pub fn nc_put_att_uint(
589 ncid: c_int,
590 varid: c_int,
591 name: *const c_char,
592 xtype: nc_type,
593 len: usize,
594 op: *const c_uint,
595 ) -> c_int;
596 pub fn nc_get_att_uint(
597 ncid: c_int,
598 varid: c_int,
599 name: *const c_char,
600 ip: *mut c_uint,
601 ) -> c_int;
602 pub fn nc_put_att_longlong(
603 ncid: c_int,
604 varid: c_int,
605 name: *const c_char,
606 xtype: nc_type,
607 len: usize,
608 op: *const c_longlong,
609 ) -> c_int;
610 pub fn nc_get_att_longlong(
611 ncid: c_int,
612 varid: c_int,
613 name: *const c_char,
614 ip: *mut c_longlong,
615 ) -> c_int;
616 pub fn nc_put_att_ulonglong(
617 ncid: c_int,
618 varid: c_int,
619 name: *const c_char,
620 xtype: nc_type,
621 len: usize,
622 op: *const c_ulonglong,
623 ) -> c_int;
624 pub fn nc_get_att_ulonglong(
625 ncid: c_int,
626 varid: c_int,
627 name: *const c_char,
628 ip: *mut c_ulonglong,
629 ) -> c_int;
630 pub fn nc_put_att_string(
631 ncid: c_int,
632 varid: c_int,
633 name: *const c_char,
634 len: usize,
635 op: *mut *const c_char,
636 ) -> c_int;
637 pub fn nc_get_att_string(
638 ncid: c_int,
639 varid: c_int,
640 name: *const c_char,
641 ip: *mut *mut c_char,
642 ) -> c_int;
643 pub fn nc_def_var(
644 ncid: c_int,
645 name: *const c_char,
646 xtype: nc_type,
647 ndims: c_int,
648 dimidsp: *const c_int,
649 varidp: *mut c_int,
650 ) -> c_int;
651 pub fn nc_inq_var(
652 ncid: c_int,
653 varid: c_int,
654 name: *mut c_char,
655 xtypep: *mut nc_type,
656 ndimsp: *mut c_int,
657 dimidsp: *mut c_int,
658 nattsp: *mut c_int,
659 ) -> c_int;
660 pub fn nc_inq_varid(ncid: c_int, name: *const c_char, varidp: *mut c_int) -> c_int;
661 pub fn nc_inq_varname(ncid: c_int, varid: c_int, name: *mut c_char) -> c_int;
662 pub fn nc_inq_vartype(ncid: c_int, varid: c_int, xtypep: *mut nc_type) -> c_int;
663 pub fn nc_inq_varndims(ncid: c_int, varid: c_int, ndimsp: *mut c_int) -> c_int;
664 pub fn nc_inq_vardimid(ncid: c_int, varid: c_int, dimidsp: *mut c_int) -> c_int;
665 pub fn nc_inq_varnatts(ncid: c_int, varid: c_int, nattsp: *mut c_int) -> c_int;
666 pub fn nc_rename_var(ncid: c_int, varid: c_int, name: *const c_char) -> c_int;
667 pub fn nc_copy_var(ncid_in: c_int, varid: c_int, ncid_out: c_int) -> c_int;
668 pub fn nc_put_var1_text(
669 ncid: c_int,
670 varid: c_int,
671 indexp: *const usize,
672 op: *const c_char,
673 ) -> c_int;
674 pub fn nc_get_var1_text(
675 ncid: c_int,
676 varid: c_int,
677 indexp: *const usize,
678 ip: *mut c_char,
679 ) -> c_int;
680 pub fn nc_put_var1_uchar(
681 ncid: c_int,
682 varid: c_int,
683 indexp: *const usize,
684 op: *const c_uchar,
685 ) -> c_int;
686 pub fn nc_get_var1_uchar(
687 ncid: c_int,
688 varid: c_int,
689 indexp: *const usize,
690 ip: *mut c_uchar,
691 ) -> c_int;
692 pub fn nc_put_var1_schar(
693 ncid: c_int,
694 varid: c_int,
695 indexp: *const usize,
696 op: *const c_schar,
697 ) -> c_int;
698 pub fn nc_get_var1_schar(
699 ncid: c_int,
700 varid: c_int,
701 indexp: *const usize,
702 ip: *mut c_schar,
703 ) -> c_int;
704 pub fn nc_put_var1_short(
705 ncid: c_int,
706 varid: c_int,
707 indexp: *const usize,
708 op: *const c_short,
709 ) -> c_int;
710 pub fn nc_get_var1_short(
711 ncid: c_int,
712 varid: c_int,
713 indexp: *const usize,
714 ip: *mut c_short,
715 ) -> c_int;
716 pub fn nc_put_var1_int(
717 ncid: c_int,
718 varid: c_int,
719 indexp: *const usize,
720 op: *const c_int,
721 ) -> c_int;
722 pub fn nc_get_var1_int(
723 ncid: c_int,
724 varid: c_int,
725 indexp: *const usize,
726 ip: *mut c_int,
727 ) -> c_int;
728 pub fn nc_put_var1_long(
729 ncid: c_int,
730 varid: c_int,
731 indexp: *const usize,
732 op: *const c_long,
733 ) -> c_int;
734 pub fn nc_get_var1_long(
735 ncid: c_int,
736 varid: c_int,
737 indexp: *const usize,
738 ip: *mut c_long,
739 ) -> c_int;
740 pub fn nc_put_var1_float(
741 ncid: c_int,
742 varid: c_int,
743 indexp: *const usize,
744 op: *const c_float,
745 ) -> c_int;
746 pub fn nc_get_var1_float(
747 ncid: c_int,
748 varid: c_int,
749 indexp: *const usize,
750 ip: *mut c_float,
751 ) -> c_int;
752 pub fn nc_put_var1_double(
753 ncid: c_int,
754 varid: c_int,
755 indexp: *const usize,
756 op: *const c_double,
757 ) -> c_int;
758 pub fn nc_get_var1_double(
759 ncid: c_int,
760 varid: c_int,
761 indexp: *const usize,
762 ip: *mut c_double,
763 ) -> c_int;
764 pub fn nc_put_var1_ushort(
765 ncid: c_int,
766 varid: c_int,
767 indexp: *const usize,
768 op: *const c_ushort,
769 ) -> c_int;
770 pub fn nc_get_var1_ushort(
771 ncid: c_int,
772 varid: c_int,
773 indexp: *const usize,
774 ip: *mut c_ushort,
775 ) -> c_int;
776 pub fn nc_put_var1_uint(
777 ncid: c_int,
778 varid: c_int,
779 indexp: *const usize,
780 op: *const c_uint,
781 ) -> c_int;
782 pub fn nc_get_var1_uint(
783 ncid: c_int,
784 varid: c_int,
785 indexp: *const usize,
786 ip: *mut c_uint,
787 ) -> c_int;
788 pub fn nc_put_var1_longlong(
789 ncid: c_int,
790 varid: c_int,
791 indexp: *const usize,
792 op: *const c_longlong,
793 ) -> c_int;
794 pub fn nc_get_var1_longlong(
795 ncid: c_int,
796 varid: c_int,
797 indexp: *const usize,
798 ip: *mut c_longlong,
799 ) -> c_int;
800 pub fn nc_put_var1_ulonglong(
801 ncid: c_int,
802 varid: c_int,
803 indexp: *const usize,
804 op: *const c_ulonglong,
805 ) -> c_int;
806 pub fn nc_get_var1_ulonglong(
807 ncid: c_int,
808 varid: c_int,
809 indexp: *const usize,
810 ip: *mut c_ulonglong,
811 ) -> c_int;
812 pub fn nc_put_var1_string(
813 ncid: c_int,
814 varid: c_int,
815 indexp: *const usize,
816 op: *mut *const c_char,
817 ) -> c_int;
818 pub fn nc_get_var1_string(
819 ncid: c_int,
820 varid: c_int,
821 indexp: *const usize,
822 ip: *mut *mut c_char,
823 ) -> c_int;
824 pub fn nc_put_vara_text(
825 ncid: c_int,
826 varid: c_int,
827 startp: *const usize,
828 countp: *const usize,
829 op: *const c_char,
830 ) -> c_int;
831 pub fn nc_get_vara_text(
832 ncid: c_int,
833 varid: c_int,
834 startp: *const usize,
835 countp: *const usize,
836 ip: *mut c_char,
837 ) -> c_int;
838 pub fn nc_put_vara_uchar(
839 ncid: c_int,
840 varid: c_int,
841 startp: *const usize,
842 countp: *const usize,
843 op: *const c_uchar,
844 ) -> c_int;
845 pub fn nc_get_vara_uchar(
846 ncid: c_int,
847 varid: c_int,
848 startp: *const usize,
849 countp: *const usize,
850 ip: *mut c_uchar,
851 ) -> c_int;
852 pub fn nc_put_vara_schar(
853 ncid: c_int,
854 varid: c_int,
855 startp: *const usize,
856 countp: *const usize,
857 op: *const c_schar,
858 ) -> c_int;
859 pub fn nc_get_vara_schar(
860 ncid: c_int,
861 varid: c_int,
862 startp: *const usize,
863 countp: *const usize,
864 ip: *mut c_schar,
865 ) -> c_int;
866 pub fn nc_put_vara_short(
867 ncid: c_int,
868 varid: c_int,
869 startp: *const usize,
870 countp: *const usize,
871 op: *const c_short,
872 ) -> c_int;
873 pub fn nc_get_vara_short(
874 ncid: c_int,
875 varid: c_int,
876 startp: *const usize,
877 countp: *const usize,
878 ip: *mut c_short,
879 ) -> c_int;
880 pub fn nc_put_vara_int(
881 ncid: c_int,
882 varid: c_int,
883 startp: *const usize,
884 countp: *const usize,
885 op: *const c_int,
886 ) -> c_int;
887 pub fn nc_get_vara_int(
888 ncid: c_int,
889 varid: c_int,
890 startp: *const usize,
891 countp: *const usize,
892 ip: *mut c_int,
893 ) -> c_int;
894 pub fn nc_put_vara_long(
895 ncid: c_int,
896 varid: c_int,
897 startp: *const usize,
898 countp: *const usize,
899 op: *const c_long,
900 ) -> c_int;
901 pub fn nc_get_vara_long(
902 ncid: c_int,
903 varid: c_int,
904 startp: *const usize,
905 countp: *const usize,
906 ip: *mut c_long,
907 ) -> c_int;
908 pub fn nc_put_vara_float(
909 ncid: c_int,
910 varid: c_int,
911 startp: *const usize,
912 countp: *const usize,
913 op: *const c_float,
914 ) -> c_int;
915 pub fn nc_get_vara_float(
916 ncid: c_int,
917 varid: c_int,
918 startp: *const usize,
919 countp: *const usize,
920 ip: *mut c_float,
921 ) -> c_int;
922 pub fn nc_put_vara_double(
923 ncid: c_int,
924 varid: c_int,
925 startp: *const usize,
926 countp: *const usize,
927 op: *const c_double,
928 ) -> c_int;
929 pub fn nc_get_vara_double(
930 ncid: c_int,
931 varid: c_int,
932 startp: *const usize,
933 countp: *const usize,
934 ip: *mut c_double,
935 ) -> c_int;
936 pub fn nc_put_vara_ushort(
937 ncid: c_int,
938 varid: c_int,
939 startp: *const usize,
940 countp: *const usize,
941 op: *const c_ushort,
942 ) -> c_int;
943 pub fn nc_get_vara_ushort(
944 ncid: c_int,
945 varid: c_int,
946 startp: *const usize,
947 countp: *const usize,
948 ip: *mut c_ushort,
949 ) -> c_int;
950 pub fn nc_put_vara_uint(
951 ncid: c_int,
952 varid: c_int,
953 startp: *const usize,
954 countp: *const usize,
955 op: *const c_uint,
956 ) -> c_int;
957 pub fn nc_get_vara_uint(
958 ncid: c_int,
959 varid: c_int,
960 startp: *const usize,
961 countp: *const usize,
962 ip: *mut c_uint,
963 ) -> c_int;
964 pub fn nc_put_vara_longlong(
965 ncid: c_int,
966 varid: c_int,
967 startp: *const usize,
968 countp: *const usize,
969 op: *const c_longlong,
970 ) -> c_int;
971 pub fn nc_get_vara_longlong(
972 ncid: c_int,
973 varid: c_int,
974 startp: *const usize,
975 countp: *const usize,
976 ip: *mut c_longlong,
977 ) -> c_int;
978 pub fn nc_put_vara_ulonglong(
979 ncid: c_int,
980 varid: c_int,
981 startp: *const usize,
982 countp: *const usize,
983 op: *const c_ulonglong,
984 ) -> c_int;
985 pub fn nc_get_vara_ulonglong(
986 ncid: c_int,
987 varid: c_int,
988 startp: *const usize,
989 countp: *const usize,
990 ip: *mut c_ulonglong,
991 ) -> c_int;
992 pub fn nc_put_vara_string(
993 ncid: c_int,
994 varid: c_int,
995 startp: *const usize,
996 countp: *const usize,
997 op: *mut *const c_char,
998 ) -> c_int;
999 pub fn nc_get_vara_string(
1000 ncid: c_int,
1001 varid: c_int,
1002 startp: *const usize,
1003 countp: *const usize,
1004 ip: *mut *mut c_char,
1005 ) -> c_int;
1006 pub fn nc_put_vars_text(
1007 ncid: c_int,
1008 varid: c_int,
1009 startp: *const usize,
1010 countp: *const usize,
1011 stridep: *const isize,
1012 op: *const c_char,
1013 ) -> c_int;
1014 pub fn nc_get_vars_text(
1015 ncid: c_int,
1016 varid: c_int,
1017 startp: *const usize,
1018 countp: *const usize,
1019 stridep: *const isize,
1020 ip: *mut c_char,
1021 ) -> c_int;
1022 pub fn nc_put_vars_uchar(
1023 ncid: c_int,
1024 varid: c_int,
1025 startp: *const usize,
1026 countp: *const usize,
1027 stridep: *const isize,
1028 op: *const c_uchar,
1029 ) -> c_int;
1030 pub fn nc_get_vars_uchar(
1031 ncid: c_int,
1032 varid: c_int,
1033 startp: *const usize,
1034 countp: *const usize,
1035 stridep: *const isize,
1036 ip: *mut c_uchar,
1037 ) -> c_int;
1038 pub fn nc_put_vars_schar(
1039 ncid: c_int,
1040 varid: c_int,
1041 startp: *const usize,
1042 countp: *const usize,
1043 stridep: *const isize,
1044 op: *const c_schar,
1045 ) -> c_int;
1046 pub fn nc_get_vars_schar(
1047 ncid: c_int,
1048 varid: c_int,
1049 startp: *const usize,
1050 countp: *const usize,
1051 stridep: *const isize,
1052 ip: *mut c_schar,
1053 ) -> c_int;
1054 pub fn nc_put_vars_short(
1055 ncid: c_int,
1056 varid: c_int,
1057 startp: *const usize,
1058 countp: *const usize,
1059 stridep: *const isize,
1060 op: *const c_short,
1061 ) -> c_int;
1062 pub fn nc_get_vars_short(
1063 ncid: c_int,
1064 varid: c_int,
1065 startp: *const usize,
1066 countp: *const usize,
1067 stridep: *const isize,
1068 ip: *mut c_short,
1069 ) -> c_int;
1070 pub fn nc_put_vars_int(
1071 ncid: c_int,
1072 varid: c_int,
1073 startp: *const usize,
1074 countp: *const usize,
1075 stridep: *const isize,
1076 op: *const c_int,
1077 ) -> c_int;
1078 pub fn nc_get_vars_int(
1079 ncid: c_int,
1080 varid: c_int,
1081 startp: *const usize,
1082 countp: *const usize,
1083 stridep: *const isize,
1084 ip: *mut c_int,
1085 ) -> c_int;
1086 pub fn nc_put_vars_long(
1087 ncid: c_int,
1088 varid: c_int,
1089 startp: *const usize,
1090 countp: *const usize,
1091 stridep: *const isize,
1092 op: *const c_long,
1093 ) -> c_int;
1094 pub fn nc_get_vars_long(
1095 ncid: c_int,
1096 varid: c_int,
1097 startp: *const usize,
1098 countp: *const usize,
1099 stridep: *const isize,
1100 ip: *mut c_long,
1101 ) -> c_int;
1102 pub fn nc_put_vars_float(
1103 ncid: c_int,
1104 varid: c_int,
1105 startp: *const usize,
1106 countp: *const usize,
1107 stridep: *const isize,
1108 op: *const c_float,
1109 ) -> c_int;
1110 pub fn nc_get_vars_float(
1111 ncid: c_int,
1112 varid: c_int,
1113 startp: *const usize,
1114 countp: *const usize,
1115 stridep: *const isize,
1116 ip: *mut c_float,
1117 ) -> c_int;
1118 pub fn nc_put_vars_double(
1119 ncid: c_int,
1120 varid: c_int,
1121 startp: *const usize,
1122 countp: *const usize,
1123 stridep: *const isize,
1124 op: *const c_double,
1125 ) -> c_int;
1126 pub fn nc_get_vars_double(
1127 ncid: c_int,
1128 varid: c_int,
1129 startp: *const usize,
1130 countp: *const usize,
1131 stridep: *const isize,
1132 ip: *mut c_double,
1133 ) -> c_int;
1134 pub fn nc_put_vars_ushort(
1135 ncid: c_int,
1136 varid: c_int,
1137 startp: *const usize,
1138 countp: *const usize,
1139 stridep: *const isize,
1140 op: *const c_ushort,
1141 ) -> c_int;
1142 pub fn nc_get_vars_ushort(
1143 ncid: c_int,
1144 varid: c_int,
1145 startp: *const usize,
1146 countp: *const usize,
1147 stridep: *const isize,
1148 ip: *mut c_ushort,
1149 ) -> c_int;
1150 pub fn nc_put_vars_uint(
1151 ncid: c_int,
1152 varid: c_int,
1153 startp: *const usize,
1154 countp: *const usize,
1155 stridep: *const isize,
1156 op: *const c_uint,
1157 ) -> c_int;
1158 pub fn nc_get_vars_uint(
1159 ncid: c_int,
1160 varid: c_int,
1161 startp: *const usize,
1162 countp: *const usize,
1163 stridep: *const isize,
1164 ip: *mut c_uint,
1165 ) -> c_int;
1166 pub fn nc_put_vars_longlong(
1167 ncid: c_int,
1168 varid: c_int,
1169 startp: *const usize,
1170 countp: *const usize,
1171 stridep: *const isize,
1172 op: *const c_longlong,
1173 ) -> c_int;
1174 pub fn nc_get_vars_longlong(
1175 ncid: c_int,
1176 varid: c_int,
1177 startp: *const usize,
1178 countp: *const usize,
1179 stridep: *const isize,
1180 ip: *mut c_longlong,
1181 ) -> c_int;
1182 pub fn nc_put_vars_ulonglong(
1183 ncid: c_int,
1184 varid: c_int,
1185 startp: *const usize,
1186 countp: *const usize,
1187 stridep: *const isize,
1188 op: *const c_ulonglong,
1189 ) -> c_int;
1190 pub fn nc_get_vars_ulonglong(
1191 ncid: c_int,
1192 varid: c_int,
1193 startp: *const usize,
1194 countp: *const usize,
1195 stridep: *const isize,
1196 ip: *mut c_ulonglong,
1197 ) -> c_int;
1198 pub fn nc_put_vars_string(
1199 ncid: c_int,
1200 varid: c_int,
1201 startp: *const usize,
1202 countp: *const usize,
1203 stridep: *const isize,
1204 op: *mut *const c_char,
1205 ) -> c_int;
1206 pub fn nc_get_vars_string(
1207 ncid: c_int,
1208 varid: c_int,
1209 startp: *const usize,
1210 countp: *const usize,
1211 stridep: *const isize,
1212 ip: *mut *mut c_char,
1213 ) -> c_int;
1214 pub fn nc_put_varm_text(
1215 ncid: c_int,
1216 varid: c_int,
1217 startp: *const usize,
1218 countp: *const usize,
1219 stridep: *const isize,
1220 imapp: *const isize,
1221 op: *const c_char,
1222 ) -> c_int;
1223 pub fn nc_get_varm_text(
1224 ncid: c_int,
1225 varid: c_int,
1226 startp: *const usize,
1227 countp: *const usize,
1228 stridep: *const isize,
1229 imapp: *const isize,
1230 ip: *mut c_char,
1231 ) -> c_int;
1232 pub fn nc_put_varm_uchar(
1233 ncid: c_int,
1234 varid: c_int,
1235 startp: *const usize,
1236 countp: *const usize,
1237 stridep: *const isize,
1238 imapp: *const isize,
1239 op: *const c_uchar,
1240 ) -> c_int;
1241 pub fn nc_get_varm_uchar(
1242 ncid: c_int,
1243 varid: c_int,
1244 startp: *const usize,
1245 countp: *const usize,
1246 stridep: *const isize,
1247 imapp: *const isize,
1248 ip: *mut c_uchar,
1249 ) -> c_int;
1250 pub fn nc_put_varm_schar(
1251 ncid: c_int,
1252 varid: c_int,
1253 startp: *const usize,
1254 countp: *const usize,
1255 stridep: *const isize,
1256 imapp: *const isize,
1257 op: *const c_schar,
1258 ) -> c_int;
1259 pub fn nc_get_varm_schar(
1260 ncid: c_int,
1261 varid: c_int,
1262 startp: *const usize,
1263 countp: *const usize,
1264 stridep: *const isize,
1265 imapp: *const isize,
1266 ip: *mut c_schar,
1267 ) -> c_int;
1268 pub fn nc_put_varm_short(
1269 ncid: c_int,
1270 varid: c_int,
1271 startp: *const usize,
1272 countp: *const usize,
1273 stridep: *const isize,
1274 imapp: *const isize,
1275 op: *const c_short,
1276 ) -> c_int;
1277 pub fn nc_get_varm_short(
1278 ncid: c_int,
1279 varid: c_int,
1280 startp: *const usize,
1281 countp: *const usize,
1282 stridep: *const isize,
1283 imapp: *const isize,
1284 ip: *mut c_short,
1285 ) -> c_int;
1286 pub fn nc_put_varm_int(
1287 ncid: c_int,
1288 varid: c_int,
1289 startp: *const usize,
1290 countp: *const usize,
1291 stridep: *const isize,
1292 imapp: *const isize,
1293 op: *const c_int,
1294 ) -> c_int;
1295 pub fn nc_get_varm_int(
1296 ncid: c_int,
1297 varid: c_int,
1298 startp: *const usize,
1299 countp: *const usize,
1300 stridep: *const isize,
1301 imapp: *const isize,
1302 ip: *mut c_int,
1303 ) -> c_int;
1304 pub fn nc_put_varm_long(
1305 ncid: c_int,
1306 varid: c_int,
1307 startp: *const usize,
1308 countp: *const usize,
1309 stridep: *const isize,
1310 imapp: *const isize,
1311 op: *const c_long,
1312 ) -> c_int;
1313 pub fn nc_get_varm_long(
1314 ncid: c_int,
1315 varid: c_int,
1316 startp: *const usize,
1317 countp: *const usize,
1318 stridep: *const isize,
1319 imapp: *const isize,
1320 ip: *mut c_long,
1321 ) -> c_int;
1322 pub fn nc_put_varm_float(
1323 ncid: c_int,
1324 varid: c_int,
1325 startp: *const usize,
1326 countp: *const usize,
1327 stridep: *const isize,
1328 imapp: *const isize,
1329 op: *const c_float,
1330 ) -> c_int;
1331 pub fn nc_get_varm_float(
1332 ncid: c_int,
1333 varid: c_int,
1334 startp: *const usize,
1335 countp: *const usize,
1336 stridep: *const isize,
1337 imapp: *const isize,
1338 ip: *mut c_float,
1339 ) -> c_int;
1340 pub fn nc_put_varm_double(
1341 ncid: c_int,
1342 varid: c_int,
1343 startp: *const usize,
1344 countp: *const usize,
1345 stridep: *const isize,
1346 imapp: *const isize,
1347 op: *const c_double,
1348 ) -> c_int;
1349 pub fn nc_get_varm_double(
1350 ncid: c_int,
1351 varid: c_int,
1352 startp: *const usize,
1353 countp: *const usize,
1354 stridep: *const isize,
1355 imapp: *const isize,
1356 ip: *mut c_double,
1357 ) -> c_int;
1358 pub fn nc_put_varm_ushort(
1359 ncid: c_int,
1360 varid: c_int,
1361 startp: *const usize,
1362 countp: *const usize,
1363 stridep: *const isize,
1364 imapp: *const isize,
1365 op: *const c_ushort,
1366 ) -> c_int;
1367 pub fn nc_get_varm_ushort(
1368 ncid: c_int,
1369 varid: c_int,
1370 startp: *const usize,
1371 countp: *const usize,
1372 stridep: *const isize,
1373 imapp: *const isize,
1374 ip: *mut c_ushort,
1375 ) -> c_int;
1376 pub fn nc_put_varm_uint(
1377 ncid: c_int,
1378 varid: c_int,
1379 startp: *const usize,
1380 countp: *const usize,
1381 stridep: *const isize,
1382 imapp: *const isize,
1383 op: *const c_uint,
1384 ) -> c_int;
1385 pub fn nc_get_varm_uint(
1386 ncid: c_int,
1387 varid: c_int,
1388 startp: *const usize,
1389 countp: *const usize,
1390 stridep: *const isize,
1391 imapp: *const isize,
1392 ip: *mut c_uint,
1393 ) -> c_int;
1394 pub fn nc_put_varm_longlong(
1395 ncid: c_int,
1396 varid: c_int,
1397 startp: *const usize,
1398 countp: *const usize,
1399 stridep: *const isize,
1400 imapp: *const isize,
1401 op: *const c_longlong,
1402 ) -> c_int;
1403 pub fn nc_get_varm_longlong(
1404 ncid: c_int,
1405 varid: c_int,
1406 startp: *const usize,
1407 countp: *const usize,
1408 stridep: *const isize,
1409 imapp: *const isize,
1410 ip: *mut c_longlong,
1411 ) -> c_int;
1412 pub fn nc_put_varm_ulonglong(
1413 ncid: c_int,
1414 varid: c_int,
1415 startp: *const usize,
1416 countp: *const usize,
1417 stridep: *const isize,
1418 imapp: *const isize,
1419 op: *const c_ulonglong,
1420 ) -> c_int;
1421 pub fn nc_get_varm_ulonglong(
1422 ncid: c_int,
1423 varid: c_int,
1424 startp: *const usize,
1425 countp: *const usize,
1426 stridep: *const isize,
1427 imapp: *const isize,
1428 ip: *mut c_ulonglong,
1429 ) -> c_int;
1430 pub fn nc_put_varm_string(
1431 ncid: c_int,
1432 varid: c_int,
1433 startp: *const usize,
1434 countp: *const usize,
1435 stridep: *const isize,
1436 imapp: *const isize,
1437 op: *mut *const c_char,
1438 ) -> c_int;
1439 pub fn nc_get_varm_string(
1440 ncid: c_int,
1441 varid: c_int,
1442 startp: *const usize,
1443 countp: *const usize,
1444 stridep: *const isize,
1445 imapp: *const isize,
1446 ip: *mut *mut c_char,
1447 ) -> c_int;
1448 pub fn nc_put_var_text(ncid: c_int, varid: c_int, op: *const c_char) -> c_int;
1449 pub fn nc_get_var_text(ncid: c_int, varid: c_int, ip: *mut c_char) -> c_int;
1450 pub fn nc_put_var_uchar(ncid: c_int, varid: c_int, op: *const c_uchar) -> c_int;
1451 pub fn nc_get_var_uchar(ncid: c_int, varid: c_int, ip: *mut c_uchar) -> c_int;
1452 pub fn nc_put_var_schar(ncid: c_int, varid: c_int, op: *const c_schar) -> c_int;
1453 pub fn nc_get_var_schar(ncid: c_int, varid: c_int, ip: *mut c_schar) -> c_int;
1454 pub fn nc_put_var_short(ncid: c_int, varid: c_int, op: *const c_short) -> c_int;
1455 pub fn nc_get_var_short(ncid: c_int, varid: c_int, ip: *mut c_short) -> c_int;
1456 pub fn nc_put_var_int(ncid: c_int, varid: c_int, op: *const c_int) -> c_int;
1457 pub fn nc_get_var_int(ncid: c_int, varid: c_int, ip: *mut c_int) -> c_int;
1458 pub fn nc_put_var_long(ncid: c_int, varid: c_int, op: *const c_long) -> c_int;
1459 pub fn nc_get_var_long(ncid: c_int, varid: c_int, ip: *mut c_long) -> c_int;
1460 pub fn nc_put_var_float(ncid: c_int, varid: c_int, op: *const c_float) -> c_int;
1461 pub fn nc_get_var_float(ncid: c_int, varid: c_int, ip: *mut c_float) -> c_int;
1462 pub fn nc_put_var_double(ncid: c_int, varid: c_int, op: *const c_double) -> c_int;
1463 pub fn nc_get_var_double(ncid: c_int, varid: c_int, ip: *mut c_double) -> c_int;
1464 pub fn nc_put_var_ushort(ncid: c_int, varid: c_int, op: *const c_ushort) -> c_int;
1465 pub fn nc_get_var_ushort(ncid: c_int, varid: c_int, ip: *mut c_ushort) -> c_int;
1466 pub fn nc_put_var_uint(ncid: c_int, varid: c_int, op: *const c_uint) -> c_int;
1467 pub fn nc_get_var_uint(ncid: c_int, varid: c_int, ip: *mut c_uint) -> c_int;
1468 pub fn nc_put_var_longlong(ncid: c_int, varid: c_int, op: *const c_longlong) -> c_int;
1469 pub fn nc_get_var_longlong(ncid: c_int, varid: c_int, ip: *mut c_longlong) -> c_int;
1470 pub fn nc_put_var_ulonglong(ncid: c_int, varid: c_int, op: *const c_ulonglong) -> c_int;
1471 pub fn nc_get_var_ulonglong(ncid: c_int, varid: c_int, ip: *mut c_ulonglong) -> c_int;
1472 pub fn nc_put_var_string(ncid: c_int, varid: c_int, op: *mut *const c_char) -> c_int;
1473 pub fn nc_get_var_string(ncid: c_int, varid: c_int, ip: *mut *mut c_char) -> c_int;
1474 pub fn nc_put_att_ubyte(
1475 ncid: c_int,
1476 varid: c_int,
1477 name: *const c_char,
1478 xtype: nc_type,
1479 len: usize,
1480 op: *const c_uchar,
1481 ) -> c_int;
1482 pub fn nc_get_att_ubyte(
1483 ncid: c_int,
1484 varid: c_int,
1485 name: *const c_char,
1486 ip: *mut c_uchar,
1487 ) -> c_int;
1488 pub fn nc_put_var1_ubyte(
1489 ncid: c_int,
1490 varid: c_int,
1491 indexp: *const usize,
1492 op: *const c_uchar,
1493 ) -> c_int;
1494 pub fn nc_get_var1_ubyte(
1495 ncid: c_int,
1496 varid: c_int,
1497 indexp: *const usize,
1498 ip: *mut c_uchar,
1499 ) -> c_int;
1500 pub fn nc_put_vara_ubyte(
1501 ncid: c_int,
1502 varid: c_int,
1503 startp: *const usize,
1504 countp: *const usize,
1505 op: *const c_uchar,
1506 ) -> c_int;
1507 pub fn nc_get_vara_ubyte(
1508 ncid: c_int,
1509 varid: c_int,
1510 startp: *const usize,
1511 countp: *const usize,
1512 ip: *mut c_uchar,
1513 ) -> c_int;
1514 pub fn nc_put_vars_ubyte(
1515 ncid: c_int,
1516 varid: c_int,
1517 startp: *const usize,
1518 countp: *const usize,
1519 stridep: *const isize,
1520 op: *const c_uchar,
1521 ) -> c_int;
1522 pub fn nc_get_vars_ubyte(
1523 ncid: c_int,
1524 varid: c_int,
1525 startp: *const usize,
1526 countp: *const usize,
1527 stridep: *const isize,
1528 ip: *mut c_uchar,
1529 ) -> c_int;
1530 pub fn nc_put_varm_ubyte(
1531 ncid: c_int,
1532 varid: c_int,
1533 startp: *const usize,
1534 countp: *const usize,
1535 stridep: *const isize,
1536 imapp: *const isize,
1537 op: *const c_uchar,
1538 ) -> c_int;
1539 pub fn nc_get_varm_ubyte(
1540 ncid: c_int,
1541 varid: c_int,
1542 startp: *const usize,
1543 countp: *const usize,
1544 stridep: *const isize,
1545 imapp: *const isize,
1546 ip: *mut c_uchar,
1547 ) -> c_int;
1548 pub fn nc_put_var_ubyte(ncid: c_int, varid: c_int, op: *const c_uchar) -> c_int;
1549 pub fn nc_get_var_ubyte(ncid: c_int, varid: c_int, ip: *mut c_uchar) -> c_int;
1550
1551 pub fn nc_set_log_level(new_level: c_int) -> c_int;
1553
1554 pub fn nc_show_metadata(ncid: c_int) -> c_int;
1555
1556 pub fn nc_delete(path: *const c_char) -> c_int;
1557
1558 pub fn nc__create_mp(
1559 path: *const c_char,
1560 cmode: c_int,
1561 initialsz: usize,
1562 basepe: c_int,
1563 chunksizehintp: *mut usize,
1564 ncidp: *mut c_int,
1565 ) -> c_int;
1566 pub fn nc__open_mp(
1567 path: *const c_char,
1568 mode: c_int,
1569 basepe: c_int,
1570 chunksizehintp: *mut usize,
1571 ncidp: *mut c_int,
1572 ) -> c_int;
1573 pub fn nc_delete_mp(path: *const c_char, basepe: c_int) -> c_int;
1574 pub fn nc_set_base_pe(ncid: c_int, pe: c_int) -> c_int;
1575 pub fn nc_inq_base_pe(ncid: c_int, pe: *mut c_int) -> c_int;
1576 pub fn nctypelen(datatype: nc_type) -> c_int;
1577}
1578
1579mod netcdf_2 {
1581 use super::*;
1582
1583 pub type nclong = c_int;
1584
1585 extern "C" {
1586 pub static mut ncerr: c_int;
1588 pub static mut ncopts: c_int;
1590
1591 pub fn nc_advise(cdf_routine_name: *const c_char, err: c_int, fmt: *const c_char, ...);
1592 pub fn nccreate(path: *const c_char, cmode: c_int) -> c_int;
1593 pub fn ncopen(path: *const c_char, mode: c_int) -> c_int;
1594 pub fn ncsetfill(ncid: c_int, fillmode: c_int) -> c_int;
1595 pub fn ncredef(ncid: c_int) -> c_int;
1596 pub fn ncendef(ncid: c_int) -> c_int;
1597 pub fn ncsync(ncid: c_int) -> c_int;
1598 pub fn ncabort(ncid: c_int) -> c_int;
1599 pub fn ncclose(ncid: c_int) -> c_int;
1600 pub fn ncinquire(
1601 ncid: c_int,
1602 ndimsp: *mut c_int,
1603 nvarsp: *mut c_int,
1604 nattsp: *mut c_int,
1605 unlimdimp: *mut c_int,
1606 ) -> c_int;
1607 pub fn ncdimdef(ncid: c_int, name: *const c_char, len: c_long) -> c_int;
1608 pub fn ncdimid(ncid: c_int, name: *const c_char) -> c_int;
1609 pub fn ncdiminq(ncid: c_int, dimid: c_int, name: *mut c_char, lenp: *mut c_long) -> c_int;
1610 pub fn ncdimrename(ncid: c_int, dimid: c_int, name: *const c_char) -> c_int;
1611 pub fn ncattput(
1612 ncid: c_int,
1613 varid: c_int,
1614 name: *const c_char,
1615 xtype: nc_type,
1616 len: c_int,
1617 op: *const c_void,
1618 ) -> c_int;
1619 pub fn ncattinq(
1620 ncid: c_int,
1621 varid: c_int,
1622 name: *const c_char,
1623 xtypep: *mut nc_type,
1624 lenp: *mut c_int,
1625 ) -> c_int;
1626 pub fn ncattget(ncid: c_int, varid: c_int, name: *const c_char, ip: *mut c_void) -> c_int;
1627 pub fn ncattcopy(
1628 ncid_in: c_int,
1629 varid_in: c_int,
1630 name: *const c_char,
1631 ncid_out: c_int,
1632 varid_out: c_int,
1633 ) -> c_int;
1634 pub fn ncattname(ncid: c_int, varid: c_int, attnum: c_int, name: *mut c_char) -> c_int;
1635 pub fn ncattrename(
1636 ncid: c_int,
1637 varid: c_int,
1638 name: *const c_char,
1639 newname: *const c_char,
1640 ) -> c_int;
1641 pub fn ncattdel(ncid: c_int, varid: c_int, name: *const c_char) -> c_int;
1642 pub fn ncvardef(
1643 ncid: c_int,
1644 name: *const c_char,
1645 xtype: nc_type,
1646 ndims: c_int,
1647 dimidsp: *const c_int,
1648 ) -> c_int;
1649 pub fn ncvarid(ncid: c_int, name: *const c_char) -> c_int;
1650 pub fn ncvarinq(
1651 ncid: c_int,
1652 varid: c_int,
1653 name: *mut c_char,
1654 xtypep: *mut nc_type,
1655 ndimsp: *mut c_int,
1656 dimidsp: *mut c_int,
1657 nattsp: *mut c_int,
1658 ) -> c_int;
1659 pub fn ncvarput1(
1660 ncid: c_int,
1661 varid: c_int,
1662 indexp: *const c_long,
1663 op: *const c_void,
1664 ) -> c_int;
1665 pub fn ncvarget1(
1666 ncid: c_int,
1667 varid: c_int,
1668 indexp: *const c_long,
1669 ip: *mut c_void,
1670 ) -> c_int;
1671 pub fn ncvarput(
1672 ncid: c_int,
1673 varid: c_int,
1674 startp: *const c_long,
1675 countp: *const c_long,
1676 op: *const c_void,
1677 ) -> c_int;
1678 pub fn ncvarget(
1679 ncid: c_int,
1680 varid: c_int,
1681 startp: *const c_long,
1682 countp: *const c_long,
1683 ip: *mut c_void,
1684 ) -> c_int;
1685 pub fn ncvarputs(
1686 ncid: c_int,
1687 varid: c_int,
1688 startp: *const c_long,
1689 countp: *const c_long,
1690 stridep: *const c_long,
1691 op: *const c_void,
1692 ) -> c_int;
1693 pub fn ncvargets(
1694 ncid: c_int,
1695 varid: c_int,
1696 startp: *const c_long,
1697 countp: *const c_long,
1698 stridep: *const c_long,
1699 ip: *mut c_void,
1700 ) -> c_int;
1701 pub fn ncvarputg(
1702 ncid: c_int,
1703 varid: c_int,
1704 startp: *const c_long,
1705 countp: *const c_long,
1706 stridep: *const c_long,
1707 imapp: *const c_long,
1708 op: *const c_void,
1709 ) -> c_int;
1710 pub fn ncvargetg(
1711 ncid: c_int,
1712 varid: c_int,
1713 startp: *const c_long,
1714 countp: *const c_long,
1715 stridep: *const c_long,
1716 imapp: *const c_long,
1717 ip: *mut c_void,
1718 ) -> c_int;
1719 pub fn ncvarrename(ncid: c_int, varid: c_int, name: *const c_char) -> c_int;
1720 pub fn ncrecinq(
1721 ncid: c_int,
1722 nrecvarsp: *mut c_int,
1723 recvaridsp: *mut c_int,
1724 recsizesp: *mut c_long,
1725 ) -> c_int;
1726 pub fn ncrecget(ncid: c_int, recnum: c_long, datap: *mut *mut c_void) -> c_int;
1727 pub fn ncrecput(ncid: c_int, recnum: c_long, datap: *const *mut c_void) -> c_int;
1728 #[cfg(feature = "4.6.2")]
1729 pub fn nc_initialize() -> c_int;
1730 pub fn nc_finalize() -> c_int;
1731
1732 #[cfg(feature = "4.9.2")]
1733 pub fn nc_rc_get(key: *const c_char) -> *mut c_char;
1734 #[cfg(feature = "4.9.2")]
1735 pub fn nc_rc_set(key: *const c_char, value: *const c_char) -> c_int;
1736 }
1737}
1738pub use netcdf_2::*;