OpenDNSSEC-enforcer  2.1.4
policy_key.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 __policy_key_h
31 #define __policy_key_h
32 
33 #include "db_object.h"
34 
35 struct policy_key;
36 struct policy_key_list;
37 typedef struct policy_key policy_key_t;
39 
40 typedef enum policy_key_role {
46 extern const db_enum_t policy_key_enum_set_role[];
47 
48 #include "policy_key_ext.h"
49 #include "policy.h"
50 
54 struct policy_key {
62  unsigned int algorithm;
63  unsigned int bits;
64  unsigned int lifetime;
65  char* repository;
66  unsigned int standby;
67  unsigned int manual_rollover;
68  unsigned int rfc5011;
69  unsigned int minimize;
70 };
71 
77 policy_key_t* policy_key_new(const db_connection_t* connection);
78 
85 
91 
97 
105 
115 int policy_key_cmp(const policy_key_t* policy_key_a, const policy_key_t* policy_key_b);
116 
124 
131 
138 
146 
153 
159 const char* policy_key_role_text(const policy_key_t* policy_key);
160 
166 unsigned int policy_key_algorithm(const policy_key_t* policy_key);
167 
173 unsigned int policy_key_bits(const policy_key_t* policy_key);
174 
180 unsigned int policy_key_lifetime(const policy_key_t* policy_key);
181 
187 const char* policy_key_repository(const policy_key_t* policy_key);
188 
195 
202 
208 unsigned int policy_key_rfc5011(const policy_key_t* policy_key);
209 
215 unsigned int policy_key_minimize(const policy_key_t* policy_key);
216 
224 
232 
240 
247 int policy_key_set_bits(policy_key_t* policy_key, unsigned int bits);
248 
256 
263 int policy_key_set_repository(policy_key_t* policy_key, const char* repository_text);
264 
272 
280 
288 
296 
303 
311 
318 
334 };
335 
342 
349 
357 
363 
371 
379 
387 
395 
404 
414 
424 
432 
434 
436 #endif
int policy_key_from_result(policy_key_t *policy_key, const db_result_t *result)
Definition: policy_key.c:426
void policy_key_free(policy_key_t *policy_key)
Definition: policy_key.c:246
policy_key_t * policy_key_new_copy(const policy_key_t *policy_key)
Definition: policy_key.c:227
size_t object_list_position
Definition: policy_key.h:330
void policy_key_list_free(policy_key_list_t *policy_key_list)
Definition: policy_key.c:1006
policy_t * policy_key_get_policy(const policy_key_t *policy_key)
int policy_key_create(policy_key_t *policy_key)
Definition: policy_key.c:702
unsigned int standby
Definition: policy_key.h:66
unsigned int policy_key_algorithm(const policy_key_t *policy_key)
Definition: policy_key.c:510
unsigned int manual_rollover
Definition: policy_key.h:67
int policy_key_delete(policy_key_t *policy_key)
Definition: policy_key.c:913
unsigned int algorithm
Definition: policy_key.h:62
int policy_key_cmp(const policy_key_t *policy_key_a, const policy_key_t *policy_key_b)
Definition: policy_key.c:359
db_value_t id
Definition: policy_key.h:56
db_value_t rev
Definition: policy_key.h:57
policy_key_t * policy_key_new_get_by_policyid_and_role(const db_connection_t *connection, const db_value_t *policyid, const policy_key_role_t role)
Definition: policy_key.c:1562
const db_value_t * policy_key_policy_id(const policy_key_t *policy_key)
Definition: policy_key.c:478
int policy_key_set_repository(policy_key_t *policy_key, const char *repository_text)
Definition: policy_key.c:640
policy_key_list_t * policy_key_list_new_copy(const policy_key_list_t *policy_key_copy)
Definition: policy_key.c:977
int policy_key_list_object_store(policy_key_list_t *policy_key_list)
Definition: policy_key.c:996
int policy_key_copy(policy_key_t *policy_key, const policy_key_t *policy_key_copy)
Definition: policy_key.c:289
unsigned int policy_key_minimize(const policy_key_t *policy_key)
Definition: policy_key.c:566
int policy_key_set_role(policy_key_t *policy_key, policy_key_role_t role)
Definition: policy_key.c:593
policy_key_t ** object_list
Definition: policy_key.h:328
policy_key_t * policy_key
Definition: policy_key.h:326
const policy_key_t * policy_key_list_begin(policy_key_list_t *policy_key_list)
Definition: policy_key.c:1322
const policy_t * associated_policy_id
Definition: policy_key.h:59
const policy_t * policy_key_policy(const policy_key_t *policy_key)
int policy_key_set_manual_rollover(policy_key_t *policy_key, unsigned int manual_rollover)
Definition: policy_key.c:672
policy_list_t * policy_id_list
Definition: policy_key.h:333
unsigned int policy_key_rfc5011(const policy_key_t *policy_key)
Definition: policy_key.c:558
int policy_key_set_lifetime(policy_key_t *policy_key, unsigned int lifetime)
Definition: policy_key.c:630
int policy_key_set_standby(policy_key_t *policy_key, unsigned int standby)
Definition: policy_key.c:662
size_t object_list_size
Definition: policy_key.h:329
int policy_key_set_bits(policy_key_t *policy_key, unsigned int bits)
Definition: policy_key.c:620
unsigned int lifetime
Definition: policy_key.h:64
const char * policy_key_repository(const policy_key_t *policy_key)
Definition: policy_key.c:534
size_t policy_key_list_size(policy_key_list_t *policy_key_list)
Definition: policy_key.c:1480
unsigned int policy_key_manual_rollover(const policy_key_t *policy_key)
Definition: policy_key.c:550
char * repository
Definition: policy_key.h:65
const db_result_t * result
Definition: policy_key.h:325
int policy_key_set_minimize(policy_key_t *policy_key, unsigned int minimize)
Definition: policy_key.c:692
int policy_key_set_algorithm(policy_key_t *policy_key, unsigned int algorithm)
Definition: policy_key.c:606
const db_enum_t policy_key_enum_set_role[]
Definition: policy_key.c:36
int policy_key_get_by_id(policy_key_t *policy_key, const db_value_t *id)
Definition: policy_key.c:860
unsigned int policy_key_bits(const policy_key_t *policy_key)
Definition: policy_key.c:518
int policy_key_set_rfc5011(policy_key_t *policy_key, unsigned int rfc5011)
Definition: policy_key.c:682
unsigned int minimize
Definition: policy_key.h:69
policy_key_t * policy_key_list_get_next(policy_key_list_t *policy_key_list)
Definition: policy_key.c:1444
int policy_key_list_get_by_clauses(policy_key_list_t *policy_key_list, const db_clause_list_t *clause_list)
Definition: policy_key.c:1194
policy_key_t * policy_key_new(const db_connection_t *connection)
Definition: policy_key.c:209
const char * policy_key_role_text(const policy_key_t *policy_key)
Definition: policy_key.c:494
Definition: policy.h:60
void policy_key_reset(policy_key_t *policy_key)
Definition: policy_key.c:264
db_object_t * dbo
Definition: policy_key.h:55
db_result_list_t * result_list
Definition: policy_key.h:324
int policy_key_set_policy_id(policy_key_t *policy_key, const db_value_t *policy_id)
Definition: policy_key.c:574
policy_t * private_policy_id
Definition: policy_key.h:60
int policy_key_list_get_by_policy_id(policy_key_list_t *policy_key_list, const db_value_t *policy_id)
Definition: policy_key.c:1236
unsigned int bits
Definition: policy_key.h:63
policy_key_list_t * policy_key_list_new(const db_connection_t *connection)
Definition: policy_key.c:963
policy_key_role
Definition: policy_key.h:40
int policy_key_standby(const policy_key_t *policy_key)
Definition: policy_key.c:542
enum policy_key_role policy_key_role_t
int policy_key_get_by_policyid_and_role(policy_key_t *policy_key, const db_value_t *policyid, const policy_key_role_t role)
Definition: policy_key.c:1498
unsigned int rfc5011
Definition: policy_key.h:68
unsigned int policy_key_lifetime(const policy_key_t *policy_key)
Definition: policy_key.c:526
policy_key_list_t * policy_key_list_new_get_by_policy_id(const db_connection_t *connection, const db_value_t *policy_id)
Definition: policy_key.c:1299
policy_key_role_t role
Definition: policy_key.h:61
db_object_t * dbo
Definition: policy_key.h:323
db_value_t policy_id
Definition: policy_key.h:58
const policy_key_t * policy_key_list_next(policy_key_list_t *policy_key_list)
Definition: policy_key.c:1378
int policy_key_list_copy(policy_key_list_t *policy_key_list, const policy_key_list_t *from_policy_key_list)
Definition: policy_key.c:1034