IODA Bundle
odccapi.h
Go to the documentation of this file.
1 /*
2  * (C) Copyright 1996-2012 ECMWF.
3  *
4  * This software is licensed under the terms of the Apache Licence Version 2.0
5  * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
6  * In applying this licence, ECMWF does not waive the privileges and immunities
7  * granted to it by virtue of its status as an intergovernmental organisation nor
8  * does it submit to any jurisdiction.
9  */
10 
11 #ifndef ODB_C_API_H
12 
13 
14 /**
15  * \file odbcapi.h
16  *
17  * @author Piotr Kuchta, March 2009
18  *
19  */
20 
21 #include <stddef.h>
22 #include <sys/types.h>
23 // For off_t on Cray:
24 #include <unistd.h>
25 
26 #if defined(__cplusplus) || defined(c_plusplus) || defined(SWIGPYTHON)
27 extern "C" {
28 #endif
29 
30 typedef void* oda_ptr;
31 typedef void* oda_read_iterator_ptr;
33 
34 typedef void* oda_writer_ptr;
35 typedef void* oda_write_iterator_ptr;
36 
37 //typedef void oda;
38 typedef void oda_read_iterator;
39 typedef void oda_select_iterator;
40 
41 typedef void oda_writer;
42 typedef void oda_write_iterator;
43 
44 
45 void odb_start();
46 void odb_start_with_args(int argc, char* argv[]);
47 
48 unsigned int odb_get_headerBufferSize();
49 void odb_set_headerBufferSize(unsigned int );
50 
51 unsigned int odb_get_setvbufferSize();
52 void odb_set_setvbufferSize(unsigned int);
53 
54 int odc_version(const char**);
55 int odc_git_sha1(const char**);
56 unsigned int odc_format_version_major();
57 unsigned int odc_format_version_minor();
58 
59 oda_ptr odb_read_create(const char *, int *);
60 oda_ptr odb_create(const char *, int *); // Compatibility
62 int odb_destroy(oda_ptr); // Compatibility
70 int odb_read_iterator_get_bitfield(oda_read_iterator_ptr, int, char**, char**, int*, int*);
74 
75 oda_ptr odb_select_create(const char *, int *);
78 oda_select_iterator_ptr odb_create_select_iterator_from_file(oda_ptr, const char *, const char *, int *);
85 int odb_select_iterator_get_bitfield(oda_select_iterator_ptr, int, char**, char**, int*, int*);
88 
89 oda_writer_ptr odb_writer_create(const char *, int *);
92 
96 
97 int odb_write_iterator_set_column(oda_write_iterator_ptr, int, int, const char *);
98 int odb_write_iterator_set_bitfield(oda_write_iterator_ptr, int, int, const char *, const char*, const char *);
100 
103 
105 
108 
109 // FIXME: This needs to be changed: return error code like all the rest of the functions
110 double odb_count(const char *);
111 
112 int get_blocks_offsets(const char* fileName, size_t* numberOfBlocks, off_t** offsets, size_t** sizes);
113 int release_blocks_offsets(off_t**);
114 int release_blocks_sizes(size_t**);
115 
116 #if defined(__cplusplus) || defined(c_plusplus) || defined(SWIGPYTHON)
117 }
118 #endif
119 #endif
120 
void odb_set_setvbufferSize(unsigned int)
Definition: odccapi.cc:136
int odb_read_iterator_get_bitfield(oda_read_iterator_ptr, int, char **, char **, int *, int *)
Definition: odccapi.cc:527
int odb_write_iterator_set_missing_value(oda_write_iterator_ptr, int, double)
Definition: odccapi.cc:507
int odb_read_iterator_destroy(oda_read_iterator_ptr)
Definition: odccapi.cc:252
void odb_set_headerBufferSize(unsigned int)
Definition: odccapi.cc:133
int odb_write_iterator_set_no_of_columns(oda_write_iterator_ptr, int)
Definition: odccapi.cc:405
int odb_select_iterator_get_column_type(oda_select_iterator_ptr, int, int *)
Definition: odccapi.cc:313
int odb_write_iterator_set_column(oda_write_iterator_ptr, int, int, const char *)
Definition: odccapi.cc:412
void * oda_write_iterator_ptr
Definition: odccapi.h:35
int odb_select_iterator_get_column_name(oda_select_iterator_ptr, int, char **, int *)
Definition: odccapi.cc:328
void * oda_read_iterator_ptr
Definition: odccapi.h:31
int odb_read_iterator_get_missing_value(oda_read_iterator_ptr, int, double *)
Definition: odccapi.cc:479
int odb_select_iterator_get_column_offset(oda_read_iterator_ptr, int, int *)
Definition: odccapi.cc:299
int odb_write_iterator_set_next_row(oda_write_iterator_ptr, double *, int)
Definition: odccapi.cc:521
int odb_destroy(oda_ptr)
Definition: odccapi.cc:181
void * oda_select_iterator_ptr
Definition: odccapi.h:32
int odc_version(const char **)
Definition: api/odc.cc:269
int odb_select_iterator_get_row_buffer_size_doubles(oda_read_iterator_ptr, int *)
Definition: odccapi.cc:500
oda_write_iterator_ptr odb_create_write_iterator(oda_writer_ptr, const char *, int *)
Definition: odccapi.cc:387
void oda_writer
Definition: odccapi.h:41
int get_blocks_offsets(const char *fileName, size_t *numberOfBlocks, off_t **offsets, size_t **sizes)
Definition: odccapi.cc:102
void * oda_writer_ptr
Definition: odccapi.h:34
int odb_select_iterator_get_next_row(oda_select_iterator_ptr, int, double *, int *)
Definition: odccapi.cc:358
oda_ptr odb_select_create(const char *, int *)
Definition: odccapi.cc:157
oda_select_iterator_ptr odb_create_select_iterator(oda_ptr, const char *, int *)
Definition: odccapi.cc:215
int odb_select_destroy(oda_ptr)
Definition: odccapi.cc:186
void odb_start()
Definition: odccapi.cc:74
int odb_select_iterator_get_bitfield(oda_select_iterator_ptr, int, char **, char **, int *, int *)
Definition: odccapi.cc:535
int odb_write_iterator_set_bitfield(oda_write_iterator_ptr, int, int, const char *, const char *, const char *)
Definition: odccapi.cc:418
int odb_read_iterator_get_column_name(oda_read_iterator_ptr, int, char **, int *)
Definition: odccapi.cc:320
oda_write_iterator_ptr odb_create_append_iterator(oda_writer_ptr, const char *, int *)
Definition: odccapi.cc:375
int odb_writer_destroy(oda_writer_ptr)
Definition: odccapi.cc:192
oda_ptr odb_read_create(const char *, int *)
Definition: odccapi.cc:144
int odb_read_iterator_get_column_offset(oda_read_iterator_ptr, int, int *)
Definition: odccapi.cc:278
oda_ptr odb_create(const char *, int *)
Definition: odccapi.cc:151
int odb_read_iterator_get_no_of_columns(oda_read_iterator_ptr, int *)
Definition: odccapi.cc:264
void oda_read_iterator
Definition: odccapi.h:38
void oda_select_iterator
Definition: odccapi.h:39
int release_blocks_sizes(size_t **)
Definition: odccapi.cc:130
int odb_write_iterator_get_row_buffer_size_doubles(oda_write_iterator_ptr, int *)
Definition: odccapi.cc:465
int odb_write_iterator_set_column_size_doubles(oda_write_iterator_ptr, int, int)
Definition: odccapi.cc:458
unsigned int odb_get_headerBufferSize()
Definition: odccapi.cc:132
int odb_write_iterator_write_header(oda_write_iterator_ptr)
Definition: odccapi.cc:514
void * oda_ptr
Definition: odccapi.h:30
double odb_count(const char *)
Definition: odccapi.cc:90
void oda_write_iterator
Definition: odccapi.h:42
unsigned int odc_format_version_major()
Definition: odccapi.cc:138
void odb_start_with_args(int argc, char *argv[])
Definition: odccapi.cc:85
int odb_read_iterator_get_row_buffer_size_doubles(oda_read_iterator_ptr, int *)
Definition: odccapi.cc:493
int odb_read_destroy(oda_ptr)
Definition: odccapi.cc:175
int odb_read_iterator_get_column_type(oda_read_iterator_ptr, int, int *)
Definition: odccapi.cc:306
int odb_select_iterator_destroy(oda_select_iterator_ptr)
Definition: odccapi.cc:258
int odb_read_iterator_get_next_row(oda_read_iterator_ptr, int, double *, int *)
Definition: odccapi.cc:336
int odb_select_iterator_get_no_of_columns(oda_select_iterator_ptr, int *)
Definition: odccapi.cc:285
int release_blocks_offsets(off_t **)
Definition: odccapi.cc:129
oda_writer_ptr odb_writer_create(const char *, int *)
Definition: odccapi.cc:167
unsigned int odb_get_setvbufferSize()
Definition: odccapi.cc:135
unsigned int odc_format_version_minor()
Definition: odccapi.cc:139
int odc_git_sha1(const char **)
Definition: odccapi.cc:81
int odb_select_iterator_get_column_size_doubles(oda_read_iterator_ptr, int, int *)
Definition: odccapi.cc:292
int odb_write_iterator_get_column_offset(oda_write_iterator_ptr, int, int *)
Definition: odccapi.cc:472
int odb_write_iterator_destroy(oda_write_iterator_ptr)
Definition: odccapi.cc:399
oda_read_iterator_ptr odb_create_read_iterator(oda_ptr, const char *, int *)
Definition: odccapi.cc:198
int odb_read_iterator_get_column_size_doubles(oda_read_iterator_ptr, int, int *)
Definition: odccapi.cc:271
oda_select_iterator_ptr odb_create_select_iterator_from_file(oda_ptr, const char *, const char *, int *)
Definition: odccapi.cc:240