Coverage Report

Created: 2023-05-28 06:42

/src/netcdf-c/libdispatch/dnotnc4.c
Line
Count
Source (jump to first uncovered line)
1
/* Copyright 2018, UCAR/Unidata See netcdf/COPYRIGHT file for copying
2
 * and redistribution conditions.*/
3
/**
4
 * @file
5
 * @internal This file contains functions that 
6
 * can be used in dispatch tables to handle
7
 * such things as unimplemented functions.
8
 * As a rule, these functions will return NC_ENOTNC4.
9
 * In some cases, the function may succeed and set
10
 * appropriate output parameter values. These are indicated
11
 * by the NC_NOOP prefix to the function name.
12
 *
13
 * @author Ed Hartnett, Dennis Heimbigner
14
 */
15
16
#include "netcdf.h"
17
#include "netcdf_filter.h"
18
#include "netcdf_aux.h"
19
#include "ncdispatch.h"
20
#include "nc4internal.h"
21
22
/**
23
 * @internal Not implemented in some dispatch tables
24
 *
25
 * @param ncid Ignored.
26
 * @param varid Ignored.
27
 * @param quantize_mode Ignored.
28
 * @param nsd Ignored.
29
 *
30
 * @return ::NC_ENOTNC4 Not implemented for a dispatch table
31
 * @author Ed Hartnett
32
 */
33
int
34
NC_NOTNC4_def_var_quantize(int ncid, int varid,  int quantize_mode, int nsd)
35
0
{
36
0
    return NC_ENOTNC4;
37
0
}
38
39
/**
40
 * @internal Not implemented in some dispatch tables
41
 *
42
 * @param ncid Ignored.
43
 * @param varid Ignored.
44
 * @param quantize_modep Ignored.
45
 * @param nsdp Ignored.
46
 *
47
 * @return ::NC_ENOTNC4 Not implemented for a dispatch table
48
 * @author Ed Hartnett
49
 */
50
int
51
NC_NOTNC4_inq_var_quantize(int ncid, int varid,  int *quantize_modep,
52
         int *nsdp)
53
0
{
54
0
    return NC_ENOTNC4;
55
0
}
56
57
/**
58
 * @internal Not implemented in some dispatch tables
59
 *
60
 * @param ncid Ignored.
61
 * @param varid Ignored.
62
 * @param id Ignored.
63
 * @param nparams Ignored.
64
 * @param parms Ignored.
65
 *
66
 * @return ::NC_ENOTNC4 Not implemented for a dispatch table
67
 * @author Ed Hartnett
68
 */
69
int
70
NC_NOTNC4_def_var_filter(int ncid, int varid, unsigned int  id, size_t nparams, const unsigned int* parms)
71
0
{
72
0
    return NC_ENOTNC4;
73
0
}
74
75
int
76
NC_NOTNC4_inq_var_filter_ids(int ncid, int varid, size_t* nfilters, unsigned int* filterids)
77
0
{
78
0
    return NC_ENOTNC4;
79
0
}
80
81
int
82
NC_NOTNC4_inq_var_filter_info(int ncid, int varid, unsigned int id, size_t* nparams, unsigned int* params)
83
0
{
84
0
    return NC_ENOTNC4;
85
0
}
86
87
int
88
NC_NOOP_inq_var_filter_ids(int ncid, int varid, size_t* nfilters, unsigned int* filterids)
89
0
{
90
0
    if(nfilters) *nfilters = 0;
91
0
    return NC_NOERR;
92
0
}
93
94
int
95
NC_NOOP_inq_var_filter_info(int ncid, int varid, unsigned int id, size_t* nparams, unsigned int* params)
96
0
{
97
0
    return NC_ENOFILTER;
98
0
}
99
100
int
101
NC_NOOP_inq_filter_avail(int ncid, unsigned id)
102
0
{
103
0
    NC_UNUSED(ncid);
104
0
    return NC_ENOFILTER;
105
0
}
106
107
/**
108
 * @internal Not allowed for classic model.
109
 *
110
 * @param parent_ncid Ignored.
111
 * @param name Ignored.
112
 * @param new_ncid Ignored.
113
 *
114
 * @return ::NC_ENOTNC4 Not implemented for a dispatch table.
115
 * @author Ed Hartnett
116
 */
117
int
118
NC_NOTNC4_def_grp(int parent_ncid, const char *name, int *new_ncid)
119
0
{
120
0
    return NC_ENOTNC4;
121
0
}
122
123
/**
124
 * @internal Not implemented for a dispatch table.
125
 *
126
 * @param grpid Ignored.
127
 * @param name Ignored.
128
 *
129
 * @return ::NC_ENOTNC4 Not implemented for a dispatch table.
130
 * @author Ed Hartnett
131
 */
132
int
133
NC_NOTNC4_rename_grp(int grpid, const char *name)
134
0
{
135
0
    return NC_ENOTNC4;
136
0
}
137
138
/**
139
 * @internal Not implemented for a dispatch table.
140
 *
141
 * @param ncid Ignored.
142
 * @param size Ignored.
143
 * @param name Ignored.
144
 * @param typeidp Ignored.
145
 *
146
 * @return ::NC_ENOTNC4 Not implemented for a dispatch table.
147
 * @author Ed Hartnett
148
 */
149
int
150
NC_NOTNC4_def_compound(int ncid, size_t size, const char *name, nc_type *typeidp)
151
0
{
152
0
    return NC_ENOTNC4;
153
0
}
154
155
/**
156
 * @internal Not implemented for a dispatch table.
157
 *
158
 * @param ncid Ignored.
159
 * @param typeid1 Ignored.
160
 * @param name Ignored.
161
 * @param offset Ignored.
162
 * @param field Ignored.
163
 *
164
 * @return ::NC_ENOTNC4 Not implemented for a dispatch table.
165
 * @author Ed Hartnett
166
 */
167
int
168
NC_NOTNC4_insert_compound(int ncid, nc_type typeid1, const char *name, size_t offset,
169
                          nc_type field_typeid)
170
0
{
171
0
    return NC_ENOTNC4;
172
0
}
173
174
/**
175
 * @internal Not implemented for a dispatch table.
176
 *
177
 * @param ncid Ignored.
178
 * @param typeid1 Ignored.
179
 * @param name Ignored.
180
 * @param offset Ignored.
181
 * @param field Ignored.
182
 * @param ndims Ignored.
183
 * @param dim Ignored.
184
 *
185
 * @return ::NC_ENOTNC4 Not implemented for a dispatch table.
186
 * @author Ed Hartnett
187
 */
188
extern int
189
NC_NOTNC4_insert_array_compound(int ncid, int typeid1, const char *name,
190
                                size_t offset, nc_type field_typeid,
191
                                int ndims, const int *dim_sizesp)
192
0
{
193
0
    return NC_ENOTNC4;
194
0
}
195
196
/**
197
 * @internal Not implemented for a dispatch table.
198
 *
199
 * @param ncid Ignored.
200
 * @param typeid1 Ignored.
201
 * @param fieldid Ignored.
202
 * @param name Ignored.
203
 * @param offsetp Ignored.
204
 * @param field Ignored.
205
 * @param ndimsp Ignored.
206
 * @param dim Ignored.
207
 *
208
 * @return ::NC_ENOTNC4 Not implemented for a dispatch table.
209
 * @author Ed Hartnett
210
 */
211
int
212
NC_NOTNC4_inq_compound_field(int ncid, nc_type typeid1, int fieldid, char *name,
213
                             size_t *offsetp, nc_type *field_typeidp, int *ndimsp,
214
                             int *dim_sizesp)
215
0
{
216
0
    return NC_ENOTNC4;
217
0
}
218
219
/**
220
 * @internal Not implemented for a dispatch table.
221
 *
222
 * @param ncid Ignored.
223
 * @param typeid1 Ignored.
224
 * @param name Ignored.
225
 * @param fieldidp Ignored.
226
 *
227
 * @return ::NC_ENOTNC4 Not implemented for a dispatch table.
228
 * @author Ed Hartnett
229
 */
230
int
231
NC_NOTNC4_inq_compound_fieldindex(int ncid, nc_type typeid1, const char *name, int *fieldidp)
232
0
{
233
0
    return NC_ENOTNC4;
234
0
}
235
236
/* Opaque type. */
237
238
/**
239
 * @internal Not implemented for a dispatch table.
240
 *
241
 * @param ncid Ignored.
242
 * @param datum Ignored.
243
 * @param name Ignored.
244
 * @param typeidp Ignored.
245
 *
246
 * @return ::NC_ENOTNC4 Not implemented for a dispatch table.
247
 * @author Ed Hartnett
248
 */
249
int
250
NC_NOTNC4_def_opaque(int ncid, size_t datum_size, const char *name,
251
                     nc_type *typeidp)
252
0
{
253
0
    return NC_ENOTNC4;
254
0
}
255
256
/**
257
 * @internal Not implemented for a dispatch table.
258
 *
259
 * @param ncid Ignored.
260
 * @param name Ignored.
261
 * @param base_typeid Ignored.
262
 * @param typeidp Ignored.
263
 *
264
 * @return ::NC_ENOTNC4 Not implemented for a dispatch table.
265
 * @author Ed Hartnett
266
 */
267
int
268
NC_NOTNC4_def_vlen(int ncid, const char *name, nc_type base_typeid,
269
                   nc_type *typeidp)
270
0
{
271
0
    return NC_ENOTNC4;
272
0
}
273
274
/**
275
 * @internal Not implemented for a dispatch table.
276
 *
277
 * @param ncid Ignored.
278
 * @param base_typeid Ignored.
279
 * @param name Ignored.
280
 * @param typeidp Ignored.
281
 *
282
 * @return ::NC_ENOTNC4 Not implemented for a dispatch table.
283
 * @author Ed Hartnett
284
 */
285
int
286
NC_NOTNC4_def_enum(int ncid, nc_type base_typeid, const char *name,
287
                   nc_type *typeidp)
288
0
{
289
0
    return NC_ENOTNC4;
290
0
}
291
292
293
/**
294
 * @internal Not implemented for a dispatch table.
295
 *
296
 * @param ncid Ignored.
297
 * @param xtype Ignored.
298
 * @param value Ignored.
299
 * @param identifier Ignored.
300
 *
301
 * @return ::NC_ENOTNC4 Not implemented for a dispatch table.
302
 * @author Ed Hartnett
303
 */
304
int
305
NC_NOTNC4_inq_enum_ident(int ncid, nc_type xtype, long long value, char *identifier)
306
0
{
307
0
    return NC_ENOTNC4;
308
0
}
309
310
/**
311
 * @internal Not implemented for a dispatch table.
312
 *
313
 * @param ncid Ignored.
314
 * @param typeid1 Ignored.
315
 * @param idx Ignored.
316
 * @param identifier Ignored.
317
 * @param value Ignored.
318
 *
319
 * @return ::NC_ENOTNC4 Not implemented for a dispatch table.
320
 * @author Ed Hartnett
321
 */
322
int
323
NC_NOTNC4_inq_enum_member(int ncid, nc_type typeid1, int idx, char *identifier,
324
                          void *value)
325
0
{
326
0
    return NC_ENOTNC4;
327
0
}
328
329
/**
330
 * @internal Not implemented for a dispatch table.
331
 *
332
 * @param ncid Ignored.
333
 * @param typeid1 Ignored.
334
 * @param identifier Ignored.
335
 * @param value Ignored.
336
 *
337
 * @return ::NC_ENOTNC4 Not implemented for a dispatch table.
338
 * @author Ed Hartnett
339
 */
340
int
341
NC_NOTNC4_insert_enum(int ncid, nc_type typeid1, const char *identifier,
342
                      const void *value)
343
0
{
344
0
    return NC_ENOTNC4;
345
0
}
346
347
/**
348
 * @internal Not implemented for a dispatch table.
349
 *
350
 * @param ncid Ignored.
351
 * @param typeid1 Ignored.
352
 * @param vlen_element Ignored.
353
 * @param len Ignored.
354
 * @param data Ignored.
355
 *
356
 * @return ::NC_NOERR No error.
357
 * @author Ed Hartnett
358
 */
359
int
360
NC_NOTNC4_put_vlen_element(int ncid, int typeid1, void *vlen_element,
361
                           size_t len, const void *data)
362
0
{
363
0
    return NC_ENOTNC4;
364
0
}
365
366
/**
367
 * @internal Not implemented for a dispatch table.
368
 *
369
 * @param ncid Ignored.
370
 * @param typeid1 Ignored.
371
 * @param vlen_element Ignored.
372
 * @param len Ignored.
373
 * @param data Ignored.
374
 *
375
 * @return ::NC_ENOTNC4 Not implemented for a dispatch table.
376
 * @author Ed Hartnett
377
 */
378
int
379
NC_NOTNC4_get_vlen_element(int ncid, int typeid1, const void *vlen_element,
380
                           size_t *len, void *data)
381
0
{
382
0
    return NC_ENOTNC4;
383
0
}
384
385
/**
386
 * @internal Not implemented for a dispatch table.
387
 *
388
 * @param ncid Ignored.
389
 * @param varid Ignored.
390
 * @param size Ignored.
391
 * @param nelems Ignored.
392
 * @param preemption Ignored.
393
 *
394
 * @return ::NC_ENOTNC4 Not implemented for a dispatch table.
395
 * @author Ed Hartnett
396
 */
397
int
398
NC_NOTNC4_set_var_chunk_cache(int ncid, int varid, size_t size, size_t nelems,
399
                              float preemption)
400
0
{
401
0
    return NC_ENOTNC4;
402
0
}
403
404
/**
405
 * @internal Not implemented for a dispatch table.
406
 *
407
 * @param ncid Ignored.
408
 * @param varid Ignored.
409
 * @param sizep Ignored.
410
 * @param nelemsp Ignored.
411
 * @param preemptionp Ignored.
412
 *
413
 * @return ::NC_ENOTNC4 Not implemented for a dispatch table.
414
 * @author Ed Hartnett
415
 */
416
int
417
NC_NOTNC4_get_var_chunk_cache(int ncid, int varid, size_t *sizep,
418
                              size_t *nelemsp, float *preemptionp)
419
0
{
420
0
    return NC_ENOTNC4;
421
0
}
422
423
/**
424
 * @internal Not implemented for a dispatch table.
425
 *
426
 * @param ncid Ignored.
427
 * @param varid Ignored.
428
 * @param shuffle Ignored.
429
 * @param deflate Ignored.
430
 * @param deflate_level Ignored.
431
 *
432
 * @return ::NC_ENOTNC4 Not implemented for a dispatch table.
433
 * @author Ed Hartnett, Dennis Heimbigner
434
 */
435
int
436
NC_NOTNC4_def_var_deflate(int ncid, int varid, int shuffle, int deflate,
437
                          int deflate_level)
438
0
{
439
0
    return NC_ENOTNC4;
440
0
}
441
442
/**
443
 * @internal Not implemented for a dispatch table.
444
 *
445
 * @param ncid Ignored.
446
 * @param varid Ignored.
447
 * @param fletcher32 Ignored.
448
 *
449
 * @return ::NC_ENOTNC4 Not implemented for a dispatch table.
450
 * @author Ed Hartnett, Dennis Heimbigner
451
 */
452
int
453
NC_NOTNC4_def_var_fletcher32(int ncid, int varid, int fletcher32)
454
0
{
455
0
    return NC_ENOTNC4;
456
0
}
457
458
/**
459
 * @internal Not implemented for a dispatch table.
460
 *
461
 * @param ncid Ignored.
462
 * @param varid Ignored.
463
 * @param contiguous Ignored.
464
 * @param chunksizesp Ignored.
465
 *
466
 * @return ::NC_ENOTNC4 Not implemented for a dispatch table.
467
 * @author Ed Hartnett, Dennis Heimbigner
468
 */
469
int
470
NC_NOTNC4_def_var_chunking(int ncid, int varid, int contiguous, const size_t *chunksizesp)
471
0
{
472
0
    return NC_EPERM;
473
0
}
474
475
476
/**
477
 * @internal Not implemented for a dispatch table.
478
 *
479
 * @param ncid Ignored.
480
 * @param varid Ignored.
481
 * @param endianness Ignored.
482
 *
483
 * @return ::NC_ENOTNC4 Not implemented for a dispatch table.
484
 * @author Ed Hartnett
485
 */
486
int
487
NC_NOTNC4_def_var_endian(int ncid, int varid, int endianness)
488
0
{
489
0
    return NC_ENOTNC4;
490
0
}
491
492
/**
493
 * @internal Not implemented for a dispatch table.
494
 *
495
 * @param ncid Ignored.
496
 * @param varid Ignored.
497
 * @param par_access Ignored.
498
 *
499
 * @return ::NC_ENOTNC4 Not implemented for a dispatch table.
500
 * @author Ed Hartnett, Dennis Heimbigner
501
 */
502
int
503
NC_NOTNC4_var_par_access(int ncid, int varid, int par_access)
504
0
{
505
0
    return NC_ENOTNC4;
506
0
}
507
508
/**
509
 * @internal Not implemented for a dispatch table.
510
 *
511
 * @param ncid Ignored.
512
 * @param name Ignored.
513
 * @param grp_ncid Ignored.
514
 *
515
 * @return ::NC_ENOTNC4 Not implemented for a dispatch table.
516
 * @author Ed Hartnett
517
 */
518
int
519
NC_NOTNC4_inq_ncid(int ncid, const char *name, int *grp_ncid)
520
0
{
521
0
    return NC_ENOTNC4;
522
0
}
523
524
/**
525
 * @internal Not implemented for a dispatch table.
526
 *
527
 * @param ncid Ignored.
528
 * @param numgrps Ignored.
529
 * @param ncids Ignored.
530
 *
531
 * @return ::NC_ENOTNC4 Not implemented for a dispatch table.
532
 * @author Ed Hartnett
533
 */
534
int
535
NC_NOTNC4_inq_grps(int ncid, int *numgrps, int *ncids)
536
0
{
537
0
    return NC_ENOTNC4;
538
0
}
539
540
/**
541
 * @internal Not implemented for a dispatch table.
542
 *
543
 * @param ncid Ignored.
544
 * @param name Ignored.
545
546
 * @return ::NC_ENOTNC4 Not implemented for a dispatch table.
547
 * @author Ed Hartnett
548
 */
549
int
550
NC_NOTNC4_inq_grpname(int ncid, char *name)
551
0
{
552
0
    return NC_ENOTNC4;
553
0
}
554
555
/**
556
 * @internal Not implemented for a dispatch table.
557
 *
558
 * @param ncid Ignored.
559
 * @param lenp Ignored.
560
 * @param full_name Ignored.
561
 *
562
 * @return ::NC_ENOTNC4 Not implemented for a dispatch table.
563
 * @author Ed Hartnett
564
 */
565
int
566
NC_NOTNC4_inq_grpname_full(int ncid, size_t *lenp, char *full_name)
567
0
{
568
0
    return NC_ENOTNC4;
569
0
}
570
571
/**
572
 * @internal Not implemented for a dispatch table.
573
 *
574
 * @param ncid Ignored.
575
 * @param parent_ncid Ignored.
576
 *
577
 * @return ::NC_ENOTNC4 Not implemented for a dispatch table.
578
 * @author Ed Hartnett
579
 */
580
int
581
NC_NOTNC4_inq_grp_parent(int ncid, int *parent_ncid)
582
0
{
583
0
    return NC_ENOTNC4;
584
0
}
585
586
/**
587
 * @internal Not implemented for a dispatch table.
588
 *
589
 * @param ncid Ignored.
590
 * @param full_name Ignored.
591
 * @param grp_ncid Ignored.
592
 *
593
 * @return ::NC_ENOTNC4 Not implemented for a dispatch table.
594
 * @author Ed Hartnett
595
 */
596
int
597
NC_NOTNC4_inq_grp_full_ncid(int ncid, const char *full_name, int *grp_ncid)
598
0
{
599
0
    return NC_ENOTNC4;
600
0
}
601
602
/**
603
 * @internal Not implemented for a dispatch table.
604
 *
605
 * @param ncid Ignored.
606
 * @param nvars Ignored.
607
 * @param varids Ignored.
608
 *
609
 * @return ::NC_ENOTNC4 Not implemented for a dispatch table.
610
 * @author Ed Hartnett
611
 */
612
int
613
NC_NOTNC4_inq_varids(int ncid, int *nvars, int *varids)
614
0
{
615
0
    return NC_ENOTNC4;
616
0
}
617
618
/**
619
 * @internal Not implemented for a dispatch table.
620
 *
621
 * @param ncid Ignored.
622
 * @param ndims Ignored.
623
 * @param dimids Ignored.
624
 * @param include_parents Ignored.
625
 *
626
 * @return ::NC_ENOTNC4 Not implemented for a dispatch table.
627
 * @author Ed Hartnett
628
 */
629
int
630
NC_NOTNC4_inq_dimids(int ncid, int *ndims, int *dimids, int include_parents)
631
0
{
632
0
    return NC_ENOTNC4;
633
0
}
634
635
/**
636
 * @internal Not implemented for a dispatch table.
637
 *
638
 * @param ncid Ignored.
639
 * @param ntypes Ignored.
640
 * @param typeids Ignored.
641
 *
642
 * @return ::NC_ENOTNC4 Not implemented for a dispatch table.
643
 * @author Ed Hartnett
644
 */
645
int
646
NC_NOTNC4_inq_typeids(int ncid, int *ntypes, int *typeids)
647
0
{
648
0
    return NC_ENOTNC4;
649
0
}
650
651
/**
652
 * @internal Not implemented for a dispatch table.
653
 *
654
 * @param ncid Ignored.
655
 * @param typeid1 Ignored.
656
 * @param name Ignored.
657
 * @param size Ignored.
658
 * @param base_nc_typep Ignored.
659
 * @param nfieldsp Ignored.
660
 * @param classp Ignored.
661
 *
662
 * @return ::NC_ENOTNC4 Not implemented for a dispatch table.
663
 * @author Ed Hartnett
664
 */
665
int
666
NC_NOTNC4_inq_user_type(int ncid, nc_type typeid1, char *name, size_t *size,
667
                        nc_type *base_nc_typep, size_t *nfieldsp, int *classp)
668
0
{
669
0
    return NC_ENOTNC4;
670
0
}
671
672
/**
673
 * @internal Get the id of a type from the name.
674
 *
675
 * @param ncid Ignored.
676
 * @param name Ignored.
677
 * @param typeidp Ignored.
678
 *
679
 * @return ::NC_ENOTNC4 Not implemented for a dispatch table.
680
 * @author Ed Hartnett
681
 */
682
int
683
NC_NOTNC4_inq_typeid(int ncid, const char *name, nc_type *typeidp)
684
0
{
685
    /* Note that this should actually work for atomic types */
686
0
    return NC_ENOTNC4;
687
0
}