OpenDNSSEC-enforcer 2.1.12
zone_db.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2014 Jerry Lundström <lundstrom.jerry@gmail.com>
3 * Copyright (c) 2014 .SE (The Internet Infrastructure Foundation).
4 * Copyright (c) 2014 OpenDNSSEC AB (svb)
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
22 * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
24 * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
25 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
26 * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 *
28 */
29
30#ifndef __zone_db_h
31#define __zone_db_h
32
33#include "db_object.h"
34
35struct zone_db;
36struct zone_list_db;
37typedef struct zone_db zone_db_t;
39
40#include "zone_db_ext.h"
41#include "policy.h"
42
46struct zone_db {
53 char* name;
57 unsigned int ttl_end_ds;
58 unsigned int ttl_end_dk;
59 unsigned int ttl_end_rs;
60 unsigned int roll_ksk_now;
61 unsigned int roll_zsk_now;
62 unsigned int roll_csk_now;
67 unsigned int next_ksk_roll;
68 unsigned int next_zsk_roll;
69 unsigned int next_csk_roll;
72};
73
79extern zone_db_t* zone_db_new(const db_connection_t* connection);
80
86extern zone_db_t* zone_db_new_copy(const zone_db_t* zone);
87
92extern void zone_db_free(zone_db_t* zone);
93
100extern int zone_db_copy(zone_db_t* zone, const zone_db_t* zone_copy);
101
108extern int zone_db_from_result(zone_db_t* zone, const db_result_t* result);
109
115extern const db_value_t* zone_db_id(const zone_db_t* zone);
116
122extern const db_value_t* zone_db_policy_id(const zone_db_t* zone);
123
130extern policy_t* zone_db_get_policy(const zone_db_t* zone);
131
137extern const char* zone_db_name(const zone_db_t* zone);
138
144extern unsigned int zone_db_signconf_needs_writing(const zone_db_t* zone);
145
151extern const char* zone_db_signconf_path(const zone_db_t* zone);
152
158extern int zone_db_next_change(const zone_db_t* zone);
159
165extern unsigned int zone_db_ttl_end_ds(const zone_db_t* zone);
166
172extern unsigned int zone_db_ttl_end_dk(const zone_db_t* zone);
173
179extern unsigned int zone_db_ttl_end_rs(const zone_db_t* zone);
180
186extern unsigned int zone_db_roll_ksk_now(const zone_db_t* zone);
187
193extern unsigned int zone_db_roll_zsk_now(const zone_db_t* zone);
194
200extern unsigned int zone_db_roll_csk_now(const zone_db_t* zone);
201
207extern const char* zone_db_input_adapter_type(const zone_db_t* zone);
208
214extern const char* zone_db_input_adapter_uri(const zone_db_t* zone);
215
221extern const char* zone_db_output_adapter_type(const zone_db_t* zone);
222
228extern const char* zone_db_output_adapter_uri(const zone_db_t* zone);
229
235extern unsigned int zone_db_next_ksk_roll(const zone_db_t* zone);
236
242extern unsigned int zone_db_next_zsk_roll(const zone_db_t* zone);
243
249extern unsigned int zone_db_next_csk_roll(const zone_db_t* zone);
250
257extern int zone_db_set_policy_id(zone_db_t* zone, const db_value_t* policy_id);
258
265extern int zone_db_set_name(zone_db_t* zone, const char* name_text);
266
273extern int zone_db_set_signconf_needs_writing(zone_db_t* zone, unsigned int signconf_needs_writing);
274
281extern int zone_db_set_signconf_path(zone_db_t* zone, const char* signconf_path_text);
282
289extern int zone_db_set_next_change(zone_db_t* zone, int next_change);
290
297extern int zone_db_set_ttl_end_ds(zone_db_t* zone, unsigned int ttl_end_ds);
298
305extern int zone_db_set_ttl_end_dk(zone_db_t* zone, unsigned int ttl_end_dk);
306
313extern int zone_db_set_ttl_end_rs(zone_db_t* zone, unsigned int ttl_end_rs);
314
321extern int zone_db_set_roll_ksk_now(zone_db_t* zone, unsigned int roll_ksk_now);
322
329extern int zone_db_set_roll_zsk_now(zone_db_t* zone, unsigned int roll_zsk_now);
330
337extern int zone_db_set_roll_csk_now(zone_db_t* zone, unsigned int roll_csk_now);
338
345extern int zone_db_set_input_adapter_type(zone_db_t* zone, const char* input_adapter_type_text);
346
353extern int zone_db_set_input_adapter_uri(zone_db_t* zone, const char* input_adapter_uri_text);
354
361extern int zone_db_set_output_adapter_type(zone_db_t* zone, const char* output_adapter_type_text);
362
369extern int zone_db_set_output_adapter_uri(zone_db_t* zone, const char* output_adapter_uri_text);
370
377extern int zone_db_set_next_ksk_roll(zone_db_t* zone, unsigned int next_ksk_roll);
378
385extern int zone_db_set_next_zsk_roll(zone_db_t* zone, unsigned int next_zsk_roll);
386
393extern int zone_db_set_next_csk_roll(zone_db_t* zone, unsigned int next_csk_roll);
394
405
411extern int zone_db_create(zone_db_t* zone);
412
419extern int zone_db_get_by_id(zone_db_t* zone, const db_value_t* id);
420
427extern int zone_db_get_by_name(zone_db_t* zone, const char* name);
428
435extern zone_db_t* zone_db_new_get_by_name(const db_connection_t* connection, const char* name);
436
442extern int zone_db_update(zone_db_t* zone);
443
449extern int zone_db_delete(zone_db_t* zone);
450
461extern int zone_db_count(zone_db_t* zone, db_clause_list_t* clause_list, size_t* count);
462
478};
479
485extern zone_list_db_t* zone_list_db_new(const db_connection_t* connection);
486
492extern zone_list_db_t* zone_list_db_new_copy(const zone_list_db_t* zone_copy);
493
501
507
514extern int zone_list_db_copy(zone_list_db_t* zone_list_db, const zone_list_db_t* from_zone_list_db);
515
522
528extern zone_list_db_t* zone_list_db_new_get(const db_connection_t* connection);
529
537
545
553
562
572
582
590
591#endif
const db_value_t * policy_id(const policy_t *policy)
Definition: policy.c:805
Definition: policy.h:60
db_value_t id
Definition: zone_db.h:48
unsigned int ttl_end_ds
Definition: zone_db.h:57
policy_t * private_policy_id
Definition: zone_db.h:52
unsigned int next_zsk_roll
Definition: zone_db.h:68
unsigned int roll_csk_now
Definition: zone_db.h:62
unsigned int ttl_end_dk
Definition: zone_db.h:58
db_object_t * dbo
Definition: zone_db.h:47
char * output_adapter_uri
Definition: zone_db.h:66
unsigned int roll_ksk_now
Definition: zone_db.h:60
unsigned int next_csk_roll
Definition: zone_db.h:69
unsigned int signconf_needs_writing
Definition: zone_db.h:54
int next_change
Definition: zone_db.h:56
char * signconf_path
Definition: zone_db.h:55
db_value_t rev
Definition: zone_db.h:49
unsigned int roll_zsk_now
Definition: zone_db.h:61
key_data_list_t * key_data_list
Definition: zone_db.h:70
unsigned int next_ksk_roll
Definition: zone_db.h:67
db_value_t policy_id
Definition: zone_db.h:50
char * output_adapter_type
Definition: zone_db.h:65
char * input_adapter_type
Definition: zone_db.h:63
unsigned int ttl_end_rs
Definition: zone_db.h:59
char * name
Definition: zone_db.h:53
key_dependency_list_t * key_dependency_list
Definition: zone_db.h:71
const policy_t * associated_policy_id
Definition: zone_db.h:51
char * input_adapter_uri
Definition: zone_db.h:64
int object_store
Definition: zone_db.h:471
size_t object_list_position
Definition: zone_db.h:474
size_t object_list_size
Definition: zone_db.h:473
db_object_t * dbo
Definition: zone_db.h:467
zone_db_t * zone
Definition: zone_db.h:470
int object_list_first
Definition: zone_db.h:475
zone_db_t ** object_list
Definition: zone_db.h:472
policy_list_t * policy_id_list
Definition: zone_db.h:477
const db_result_t * result
Definition: zone_db.h:469
db_result_list_t * result_list
Definition: zone_db.h:468
int associated_fetch
Definition: zone_db.h:476
zone_db_t * zone_list_db_get_next(zone_list_db_t *zone_list_db)
Definition: zone_db.c:2669
zone_list_db_t * zone_list_db_new_get(const db_connection_t *connection)
Definition: zone_db.c:2402
unsigned int zone_db_roll_zsk_now(const zone_db_t *zone)
Definition: zone_db.c:846
int zone_db_set_input_adapter_type(zone_db_t *zone, const char *input_adapter_type_text)
Definition: zone_db.c:1061
const zone_db_t * zone_list_db_begin(zone_list_db_t *zone_list_db)
Definition: zone_db.c:2547
int zone_db_set_ttl_end_dk(zone_db_t *zone, unsigned int ttl_end_dk)
Definition: zone_db.c:1011
void zone_db_free(zone_db_t *zone)
Definition: zone_db.c:325
int zone_db_from_result(zone_db_t *zone, const db_result_t *result)
Definition: zone_db.c:662
int zone_db_set_next_ksk_roll(zone_db_t *zone, unsigned int next_ksk_roll)
Definition: zone_db.c:1149
unsigned int zone_db_ttl_end_rs(const zone_db_t *zone)
Definition: zone_db.c:830
int zone_db_set_signconf_needs_writing(zone_db_t *zone, unsigned int signconf_needs_writing)
Definition: zone_db.c:959
const zone_db_t * zone_list_db_next(zone_list_db_t *zone_list_db)
Definition: zone_db.c:2603
int zone_db_delete(zone_db_t *zone)
Definition: zone_db.c:1884
const char * zone_db_signconf_path(const zone_db_t *zone)
Definition: zone_db.c:798
unsigned int zone_db_ttl_end_ds(const zone_db_t *zone)
Definition: zone_db.c:814
const db_value_t * zone_db_policy_id(const zone_db_t *zone)
Definition: zone_db.c:736
policy_t * zone_db_get_policy(const zone_db_t *zone)
Definition: zone_db.c:744
int zone_db_set_output_adapter_type(zone_db_t *zone, const char *output_adapter_type_text)
Definition: zone_db.c:1105
int zone_db_set_roll_zsk_now(zone_db_t *zone, unsigned int roll_zsk_now)
Definition: zone_db.c:1041
int zone_db_set_roll_csk_now(zone_db_t *zone, unsigned int roll_csk_now)
Definition: zone_db.c:1051
int zone_db_set_policy_id(zone_db_t *zone, const db_value_t *policy_id)
Definition: zone_db.c:918
unsigned int zone_db_roll_ksk_now(const zone_db_t *zone)
Definition: zone_db.c:838
const char * zone_db_name(const zone_db_t *zone)
Definition: zone_db.c:782
int zone_list_db_copy(zone_list_db_t *zone_list_db, const zone_list_db_t *from_zone_list_db)
Definition: zone_db.c:2017
zone_list_db_t * zone_list_db_new_get_by_policy_id(const db_connection_t *connection, const db_value_t *policy_id)
Definition: zone_db.c:2524
size_t zone_list_db_size(zone_list_db_t *zone_list_db)
Definition: zone_db.c:2705
int zone_list_db_get_by_clauses(zone_list_db_t *zone_list_db, const db_clause_list_t *clause_list)
Definition: zone_db.c:2419
unsigned int zone_db_next_ksk_roll(const zone_db_t *zone)
Definition: zone_db.c:894
zone_list_db_t * zone_list_db_new(const db_connection_t *connection)
Definition: zone_db.c:1946
unsigned int zone_db_next_csk_roll(const zone_db_t *zone)
Definition: zone_db.c:910
int zone_db_create(zone_db_t *zone)
Definition: zone_db.c:1206
int zone_db_set_ttl_end_ds(zone_db_t *zone, unsigned int ttl_end_ds)
Definition: zone_db.c:1001
int zone_db_count(zone_db_t *zone, db_clause_list_t *clause_list, size_t *count)
Definition: zone_db.c:1930
int zone_db_set_next_zsk_roll(zone_db_t *zone, unsigned int next_zsk_roll)
Definition: zone_db.c:1159
int zone_db_set_roll_ksk_now(zone_db_t *zone, unsigned int roll_ksk_now)
Definition: zone_db.c:1031
int zone_db_set_next_csk_roll(zone_db_t *zone, unsigned int next_csk_roll)
Definition: zone_db.c:1169
const char * zone_db_input_adapter_uri(const zone_db_t *zone)
Definition: zone_db.c:870
int zone_list_db_get_by_policy_id(zone_list_db_t *zone_list_db, const db_value_t *policy_id)
Definition: zone_db.c:2461
int zone_db_set_signconf_path(zone_db_t *zone, const char *signconf_path_text)
Definition: zone_db.c:969
int zone_db_copy(zone_db_t *zone, const zone_db_t *zone_copy)
Definition: zone_db.c:365
int zone_db_update(zone_db_t *zone)
Definition: zone_db.c:1589
int zone_db_get_by_id(zone_db_t *zone, const db_value_t *id)
Definition: zone_db.c:1466
unsigned int zone_db_ttl_end_dk(const zone_db_t *zone)
Definition: zone_db.c:822
zone_db_t * zone_db_new(const db_connection_t *connection)
Definition: zone_db.c:287
const db_value_t * zone_db_id(const zone_db_t *zone)
Definition: zone_db.c:728
zone_list_db_t * zone_list_db_new_copy(const zone_list_db_t *zone_copy)
Definition: zone_db.c:1960
db_clause_t * zone_db_policy_id_clause(db_clause_list_t *clause_list, const db_value_t *policy_id)
Definition: zone_db.c:1179
int zone_db_set_output_adapter_uri(zone_db_t *zone, const char *output_adapter_uri_text)
Definition: zone_db.c:1127
int zone_db_set_name(zone_db_t *zone, const char *name_text)
Definition: zone_db.c:937
int zone_list_db_get(zone_list_db_t *zone_list_db)
Definition: zone_db.c:2363
const char * zone_db_output_adapter_type(const zone_db_t *zone)
Definition: zone_db.c:878
unsigned int zone_db_next_zsk_roll(const zone_db_t *zone)
Definition: zone_db.c:902
int zone_db_get_by_name(zone_db_t *zone, const char *name)
Definition: zone_db.c:1519
const char * zone_db_output_adapter_uri(const zone_db_t *zone)
Definition: zone_db.c:886
int zone_list_db_object_store(zone_list_db_t *zone_list_db)
Definition: zone_db.c:1979
unsigned int zone_db_signconf_needs_writing(const zone_db_t *zone)
Definition: zone_db.c:790
zone_db_t * zone_db_new_get_by_name(const db_connection_t *connection, const char *name)
Definition: zone_db.c:1569
unsigned int zone_db_roll_csk_now(const zone_db_t *zone)
Definition: zone_db.c:854
int zone_db_set_ttl_end_rs(zone_db_t *zone, unsigned int ttl_end_rs)
Definition: zone_db.c:1021
void zone_list_db_free(zone_list_db_t *zone_list_db)
Definition: zone_db.c:1989
int zone_db_next_change(const zone_db_t *zone)
Definition: zone_db.c:806
int zone_db_set_next_change(zone_db_t *zone, int next_change)
Definition: zone_db.c:991
const char * zone_db_input_adapter_type(const zone_db_t *zone)
Definition: zone_db.c:862
zone_db_t * zone_db_new_copy(const zone_db_t *zone)
Definition: zone_db.c:306
int zone_db_set_input_adapter_uri(zone_db_t *zone, const char *input_adapter_uri_text)
Definition: zone_db.c:1083