update.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 2011, 2015  Internet Systems Consortium, Inc. ("ISC")
00003  *
00004  * Permission to use, copy, modify, and/or distribute this software for any
00005  * purpose with or without fee is hereby granted, provided that the above
00006  * copyright notice and this permission notice appear in all copies.
00007  *
00008  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
00009  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
00010  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
00011  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
00012  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
00013  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
00014  * PERFORMANCE OF THIS SOFTWARE.
00015  */
00016 
00017 /* $Id: update.h,v 1.5 2011/08/30 23:46:53 tbox Exp $ */
00018 
00019 #ifndef DNS_UPDATE_H
00020 #define DNS_UPDATE_H 1
00021 
00022 /*! \file dns/update.h */
00023 
00024 /***
00025  ***    Imports
00026  ***/
00027 
00028 #include <isc/lang.h>
00029 
00030 #include <dns/types.h>
00031 #include <dns/diff.h>
00032 
00033 typedef struct {
00034         void (*func)(void *arg, dns_zone_t *zone, int level,
00035                      const char *message);
00036         void *arg;
00037 } dns_update_log_t;
00038 
00039 ISC_LANG_BEGINDECLS
00040 
00041 /***
00042  ***    Functions
00043  ***/
00044 
00045 isc_uint32_t
00046 dns_update_soaserial(isc_uint32_t serial, dns_updatemethod_t method);
00047 /*%<
00048  * Return the next serial number after 'serial', depending on the
00049  * update method 'method':
00050  *
00051  *\li   * dns_updatemethod_increment increments the serial number by one
00052  *\li   * dns_updatemethod_unixtime sets the serial number to the current
00053  *        time (seconds since UNIX epoch) if possible, or increments by one
00054  *        if not.
00055  */
00056 
00057 isc_result_t
00058 dns_update_signatures(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db,
00059                       dns_dbversion_t *oldver, dns_dbversion_t *newver,
00060                       dns_diff_t *diff, isc_uint32_t sigvalidityinterval);
00061 
00062 isc_result_t
00063 dns_update_signaturesinc(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db,
00064                          dns_dbversion_t *oldver, dns_dbversion_t *newver,
00065                          dns_diff_t *diff, isc_uint32_t sigvalidityinterval,
00066                          dns_update_state_t **state);
00067 
00068 ISC_LANG_ENDDECLS
00069 
00070 #endif /* DNS_UPDATE_H */

Generated on Tue Apr 28 17:40:57 2015 by Doxygen 1.5.4 for BIND9 Internals 9.11.0pre-alpha