Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00034 #ifndef SIGNER_ZONE_H
00035 #define SIGNER_ZONE_H
00036
00037 #include "config.h"
00038 #include "adapter/adapter.h"
00039 #include "scheduler/task.h"
00040 #include "shared/allocator.h"
00041 #include "shared/locks.h"
00042 #include "shared/status.h"
00043 #include "signer/nsec3params.h"
00044 #include "signer/signconf.h"
00045 #include "signer/stats.h"
00046 #include "signer/zonedata.h"
00047
00048 #include <ldns/ldns.h>
00049
00050 struct schedule_struct;
00051
00056 typedef struct zone_struct zone_type;
00057 struct zone_struct {
00058 allocator_type* allocator;
00059 ldns_rdf* dname;
00060 ldns_rr_class klass;
00061
00062
00063 const char* notify_ns;
00064 int fetch;
00065
00066
00067 const char* name;
00068 const char* policy_name;
00069 const char* signconf_filename;
00070 int just_added;
00071 int just_updated;
00072 int tobe_removed;
00073 int processed;
00074 int prepared;
00075
00076
00077 adapter_type* adinbound;
00078 adapter_type* adoutbound;
00079
00080
00081 signconf_type* signconf;
00082 nsec3params_type* nsec3params;
00083
00084
00085 zonedata_type* zonedata;
00086
00087
00088 void* task;
00089
00090
00091 stats_type* stats;
00092
00093 lock_basic_type zone_lock;
00094 };
00095
00103 zone_type* zone_create(char* name, ldns_rr_class klass);
00104
00116 ods_status zone_add_rr(zone_type* zone, ldns_rr* rr, int do_stats);
00117
00129 ods_status zone_del_rr(zone_type* zone, ldns_rr* rr, int do_stats);
00130
00141 ods_status zone_load_signconf(zone_type* zone, task_id* tbs);
00142
00150 ods_status zone_publish_dnskeys(zone_type* zone, int recover);
00151
00159 ods_status zone_prepare_nsec3(zone_type* zone, int recover);
00160
00167 ods_status zone_backup(zone_type* zone);
00168
00174 ods_status zone_recover(zone_type* zone);
00175
00186 void zone_merge(zone_type* z1, zone_type* z2);
00187
00194 ods_status zone_update_serial(zone_type* zone);
00195
00202 ods_status zone_print(FILE* fd, zone_type* zone);
00203
00210 ods_status zone_examine(zone_type* zone);
00211
00217 void zone_cleanup(zone_type* zone);
00218
00219 #endif