3 /* Id: netdb_dnssec.h,v 1.3 2004/06/11 16:00:17 ludvigm Exp */
6 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions
12 * 1. Redistributions of source code must retain the above copyright
13 * notice, this list of conditions and the following disclaimer.
14 * 2. Redistributions in binary form must reproduce the above copyright
15 * notice, this list of conditions and the following disclaimer in the
16 * documentation and/or other materials provided with the distribution.
17 * 3. Neither the name of the project nor the names of its contributors
18 * may be used to endorse or promote products derived from this software
19 * without specific prior written permission.
21 * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
22 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 * ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
25 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34 #ifndef _NETDB_DNSSEC_H
35 #define _NETDB_DNSSEC_H
38 #define T_CERT 37 /* defined by RFC2538 section 2 */
41 /* RFC2538 section 2.1 */
42 #define DNSSEC_TYPE_PKIX 1
43 #define DNSSEC_TYPE_SPKI 2
44 #define DNSSEC_TYPE_PGP 3
45 #define DNSSEC_TYPE_URI 4
46 #define DNSSEC_TYPE_OID 5
48 /* RFC2535 section 3.2 */
49 #define DNSSEC_ALG_RSAMD5 1
50 #define DNSSEC_ALG_DH 2
51 #define DNSSEC_ALG_DSA 3
52 #define DNSSEC_ALG_ECC 4
53 #define DNSSEC_ALG_PRIVATEDNS 5
54 #define DNSSEC_ALG_PRIVATEOID 6
57 * Structures returned by network data base library. All addresses are
58 * supplied in host order, and returned in network order (suitable for
59 * use in system calls).
62 int ci_type
; /* certificate type */
63 int ci_keytag
; /* keytag */
64 int ci_algorithm
; /* algorithm */
65 int ci_flags
; /* currently, 1:valid or 0:uncertain */
66 size_t ci_certlen
; /* length of certificate */
67 char *ci_cert
; /* certificate */
68 struct certinfo
*ci_next
; /* next structure */
71 extern void freecertinfo
__P((struct certinfo
*));
72 extern int getcertsbyname
__P((char *, struct certinfo
**));
74 #endif /* _NETDB_DNSSEC_H */