4#include "scid/_platform.h"
13 typedef struct scid_database scid_database;
17 scid_database_create_memory(
19 scid_database** out_database);
23 scid_database_create_scid5(
25 scid_database** out_database);
29 scid_database_open_scid5(
31 scid_database** out_database);
35 scid_database_open_scid5_read_only(
37 scid_database** out_database);
41 scid_database_close(scid_database* database);
45 scid_database_free(scid_database* database);
49 scid_database_is_open(
50 const scid_database* database,
55 scid_database_filename_get(
56 const scid_database* database,
58 size_t out_text_capacity,
59 size_t* out_text_size);
63 scid_database_type_get(
64 const scid_database* database,
66 size_t out_text_capacity,
67 size_t* out_text_size);
71 scid_database_read_only_get(
72 const scid_database* database,
77 scid_database_filter_create(
78 scid_database* database,
80 size_t out_filter_id_capacity,
81 size_t* out_filter_id_size);
85 scid_database_filter_delete(
86 scid_database* database,
87 const char* filter_id);
91 scid_database_filter_fill(
92 scid_database* database,
93 const char* filter_id,
98 scid_database_filter_value_set(
99 scid_database* database,
100 const char* filter_id,
106 scid_database_filter_value_get(
107 const scid_database* database,
108 const char* filter_id,
110 unsigned* out_value);
114 scid_database_filter_count_get(
115 const scid_database* database,
116 const char* filter_id,
121 scid_database_filter_game_at_get(
122 const scid_database* database,
123 const char* filter_id,
125 size_t* out_game_index);
129 scid_database_game_list_get(
130 const scid_database* database,
131 const char* filter_id,
132 const char* sort_criteria,
135 size_t* out_game_indexes,
136 size_t out_game_indexes_capacity,
137 size_t* out_game_indexes_count);
141 scid_database_game_sorted_position_get(
142 const scid_database* database,
143 const char* filter_id,
144 const char* sort_criteria,
146 size_t* out_position);
150 scid_database_save(scid_database* database);
154 scid_database_metadata_get(
155 const scid_database* database,
158 size_t out_text_capacity,
159 size_t* out_text_size);
163 scid_database_metadata_set(
164 scid_database* database,
170 scid_database_metadata_count_get(
171 const scid_database* database,
176 scid_database_metadata_at_get(
177 const scid_database* database,
180 size_t out_key_capacity,
181 size_t* out_key_size,
183 size_t out_value_capacity,
184 size_t* out_value_size);
188 scid_database_stats_date_range_get(
189 const scid_database* database,
191 size_t out_min_date_capacity,
192 size_t* out_min_date_size,
194 size_t out_max_date_capacity,
195 size_t* out_max_date_size);
199 scid_database_stats_result_count_get(
200 const scid_database* database,
206 scid_database_game_count_get(
207 const scid_database* database,
212 scid_database_import_pgn(
213 scid_database* database,
216 char* out_diagnostic,
217 size_t out_diagnostic_capacity,
218 size_t* out_diagnostic_size,
219 size_t* out_imported_count);
223 scid_database_game_add(
224 scid_database* database,
225 const scid_game* game,
230 scid_database_game_replace(
231 scid_database* database,
233 const scid_game* game,
238 scid_database_game_delete(
239 scid_database* database,
244 scid_database_game_undelete(
245 scid_database* database,
250 scid_database_game_get(
251 const scid_database* database,
253 scid_game** out_game,
255 size_t out_flags_capacity,
256 size_t* out_flags_size);
260 scid_database_game_export_pgn(
261 const scid_database* database,
264 size_t out_text_capacity,
265 size_t* out_text_size);
269 scid_database_game_tag_get(
270 const scid_database* database,
274 size_t out_text_capacity,
275 size_t* out_text_size);
279 scid_database_game_halfmove_count_get(
280 const scid_database* database,
286 scid_database_game_number_get(
287 const scid_database* database,
293 scid_database_game_deleted_get(
294 const scid_database* database,
300 scid_database_game_result_get(
301 const scid_database* database,
304 size_t out_text_capacity,
305 size_t* out_text_size);
309 scid_database_game_eco_get(
310 const scid_database* database,
312 scid_eco_code* out_code);
316 scid_database_game_date_get(
317 const scid_database* database,
320 size_t out_text_capacity,
321 size_t* out_text_size);