ds.h revision e20788e1216ed720aefa84f3295f7899d9f28c22
7867d18ce0ffa93055fbda3b9d2be8b168d898fcMark Andrews/*
7867d18ce0ffa93055fbda3b9d2be8b168d898fcMark Andrews * Copyright (C) 2004-2007, 2010, 2012, 2014 Internet Systems Consortium, Inc. ("ISC")
7867d18ce0ffa93055fbda3b9d2be8b168d898fcMark Andrews * Copyright (C) 2002 Internet Software Consortium.
7867d18ce0ffa93055fbda3b9d2be8b168d898fcMark Andrews *
7867d18ce0ffa93055fbda3b9d2be8b168d898fcMark Andrews * Permission to use, copy, modify, and/or distribute this software for any
7867d18ce0ffa93055fbda3b9d2be8b168d898fcMark Andrews * purpose with or without fee is hereby granted, provided that the above
7867d18ce0ffa93055fbda3b9d2be8b168d898fcMark Andrews * copyright notice and this permission notice appear in all copies.
7867d18ce0ffa93055fbda3b9d2be8b168d898fcMark Andrews *
7867d18ce0ffa93055fbda3b9d2be8b168d898fcMark Andrews * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
7867d18ce0ffa93055fbda3b9d2be8b168d898fcMark Andrews * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
7867d18ce0ffa93055fbda3b9d2be8b168d898fcMark Andrews * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
7867d18ce0ffa93055fbda3b9d2be8b168d898fcMark Andrews * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
7867d18ce0ffa93055fbda3b9d2be8b168d898fcMark Andrews * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
7867d18ce0ffa93055fbda3b9d2be8b168d898fcMark Andrews * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
7867d18ce0ffa93055fbda3b9d2be8b168d898fcMark Andrews * PERFORMANCE OF THIS SOFTWARE.
7867d18ce0ffa93055fbda3b9d2be8b168d898fcMark Andrews */
7867d18ce0ffa93055fbda3b9d2be8b168d898fcMark Andrews
7867d18ce0ffa93055fbda3b9d2be8b168d898fcMark Andrews/* $Id: ds.h,v 1.12 2010/12/23 23:47:08 tbox Exp $ */
7867d18ce0ffa93055fbda3b9d2be8b168d898fcMark Andrews
7867d18ce0ffa93055fbda3b9d2be8b168d898fcMark Andrews#ifndef DNS_DS_H
7867d18ce0ffa93055fbda3b9d2be8b168d898fcMark Andrews#define DNS_DS_H 1
7867d18ce0ffa93055fbda3b9d2be8b168d898fcMark Andrews
7867d18ce0ffa93055fbda3b9d2be8b168d898fcMark Andrews#include <isc/lang.h>
7867d18ce0ffa93055fbda3b9d2be8b168d898fcMark Andrews
7867d18ce0ffa93055fbda3b9d2be8b168d898fcMark Andrews#include <dns/types.h>
7867d18ce0ffa93055fbda3b9d2be8b168d898fcMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews#define DNS_DSDIGEST_SHA1 (1)
#define DNS_DSDIGEST_SHA256 (2)
#define DNS_DSDIGEST_GOST (3)
#define DNS_DSDIGEST_SHA384 (4)
/*
* Assuming SHA-384 digest type.
*/
#define DNS_DS_BUFFERSIZE (52)
ISC_LANG_BEGINDECLS
isc_result_t
dns_ds_buildrdata(dns_name_t *owner, dns_rdata_t *key,
unsigned int digest_type, unsigned char *buffer,
dns_rdata_t *rdata);
/*%<
* Build the rdata of a DS record.
*
* Requires:
*\li key Points to a valid DNS KEY record.
*\li buffer Points to a temporary buffer of at least
* #DNS_DS_BUFFERSIZE bytes.
*\li rdata Points to an initialized dns_rdata_t.
*
* Ensures:
* \li *rdata Contains a valid DS rdata. The 'data' member refers
* to 'buffer'.
*/
ISC_LANG_ENDDECLS
#endif /* DNS_DS_H */