1 #ifndef SRC_STATE_H_
2 #define SRC_STATE_H_
3 
4 #include <openssl/x509.h>
5 #include "cert_stack.h"
6 #include "validation_handler.h"
7 #include "object/tal.h"
8 #include "rsync/rsync.h"
9 #include "rrdp/db/db_rrdp_uris.h"
10 
11 struct validation;
12 
13 int validation_prepare(struct validation **, struct tal *,
14     struct validation_handler *);
15 void validation_destroy(struct validation *);
16 
17 struct tal *validation_tal(struct validation *);
18 X509_STORE *validation_store(struct validation *);
19 struct cert_stack *validation_certstack(struct validation *);
20 struct uri_list *validation_rsync_visited_uris(struct validation *);
21 
22 enum pubkey_state {
23 	PKS_VALID,
24 	PKS_INVALID,
25 	PKS_UNTESTED,
26 };
27 
28 void validation_pubkey_valid(struct validation *);
29 void validation_pubkey_invalid(struct validation *);
30 enum pubkey_state validation_pubkey_state(struct validation *);
31 
32 char *validation_get_ip_buffer1(struct validation *);
33 char *validation_get_ip_buffer2(struct validation *);
34 
35 struct validation_handler const *
36 validation_get_validation_handler(struct validation *);
37 
38 struct db_rrdp_uri *validation_get_rrdp_uris(struct validation *);
39 char const *validation_get_rrdp_workspace(struct validation *);
40 
41 #endif /* SRC_STATE_H_ */
42