1ldns(3)                    Library Functions Manual                    ldns(3)
2
3
4

NAME

6       ldns_rdf, ldns_rdf_type - rdata field type
7
8

SYNOPSIS

10       #include <stdint.h>
11       #include <stdbool.h>
12
13       #include <ldns/ldns.h>
14

DESCRIPTION

16       ldns_rdf
17              Resource record data field.
18
19              The data is a network ordered array of bytes, which size is
20              specified by
21              the (16-bit) size field. To correctly parse it, use the type
22              specified in the (16-bit) type field with a value from \ref
23              ldns_rdf_type.
24              struct ldns_struct_rdf
25              {
26                   The size of the data (in octets):
27                   size_t _size;
28                   The type of the data:
29                   ldns_rdf_type _type;
30                   Pointer to the data (raw octets):
31                   void  *_data;
32              };
33              typedef struct ldns_struct_rdf ldns_rdf;
34
35       ldns_rdf_type
36              The different types of RDATA fields.
37              enum ldns_enum_rdf_type
38              {
39                   none:
40                   LDNS_RDF_TYPE_NONE,
41                   domain name:
42                   LDNS_RDF_TYPE_DNAME,
43                   8 bits:
44                   LDNS_RDF_TYPE_INT8,
45                   16 bits:
46                   LDNS_RDF_TYPE_INT16,
47                   32 bits:
48                   LDNS_RDF_TYPE_INT32,
49                   A record:
50                   LDNS_RDF_TYPE_A,
51                   AAAA record:
52                   LDNS_RDF_TYPE_AAAA,
53                   txt string:
54                   LDNS_RDF_TYPE_STR,
55                   apl data:
56                   LDNS_RDF_TYPE_APL,
57                   b32 string:
58                   LDNS_RDF_TYPE_B32_EXT,
59                   b64 string:
60                   LDNS_RDF_TYPE_B64,
61                   hex string:
62                   LDNS_RDF_TYPE_HEX,
63                   nsec type codes:
64                   LDNS_RDF_TYPE_NSEC,
65                   a RR type:
66                   LDNS_RDF_TYPE_TYPE,
67                   a class:
68                   LDNS_RDF_TYPE_CLASS,
69                   certificate algorithm:
70                   LDNS_RDF_TYPE_CERT_ALG,
71                   a key algorithm:
72                   LDNS_RDF_TYPE_ALG,
73                   unknown types:
74                   LDNS_RDF_TYPE_UNKNOWN,
75                   time (32 bits):
76                   LDNS_RDF_TYPE_TIME,
77                   period:
78                   LDNS_RDF_TYPE_PERIOD,
79                   tsig time 48 bits:
80                   LDNS_RDF_TYPE_TSIGTIME,
81                   /** Represents the Public Key Algorithm, HIT and Public Key
82              fields
83                       for the HIP RR types.  A HIP specific rdf type is used
84              because of
85                       the unusual layout in wireformat (see RFC 5205 Section
86              5) */
87                   LDNS_RDF_TYPE_HIP,
88                   /** variable length any type rdata where the length
89                       is specified by the first 2 bytes */
90                   LDNS_RDF_TYPE_INT16_DATA,
91                   protocol and port bitmaps:
92                   LDNS_RDF_TYPE_SERVICE,
93                   location data:
94                   LDNS_RDF_TYPE_LOC,
95                   well known services:
96                   LDNS_RDF_TYPE_WKS,
97                   NSAP:
98                   LDNS_RDF_TYPE_NSAP,
99                   ATMA:
100                   LDNS_RDF_TYPE_ATMA,
101                   IPSECKEY:
102                   LDNS_RDF_TYPE_IPSECKEY,
103                   nsec3 hash salt:
104                   LDNS_RDF_TYPE_NSEC3_SALT,
105                   nsec3 base32 string (with length byte on wire:
106                   LDNS_RDF_TYPE_NSEC3_NEXT_OWNER,
107
108                   /** 4 shorts represented as 4 * 16 bit hex numbers
109                    *  separated by colons. For NID and L64.
110                    */
111                   LDNS_RDF_TYPE_ILNP64,
112
113                   6 * 8 bit hex numbers separated by dashes. For EUI48.:
114                   LDNS_RDF_TYPE_EUI48,
115                   8 * 8 bit hex numbers separated by dashes. For EUI64.:
116                   LDNS_RDF_TYPE_EUI64,
117
118                   /** A non-zero sequence of US-ASCII letters and numbers in
119              lower case.
120                    *  For CAA.
121                    */
122                   LDNS_RDF_TYPE_TAG,
123
124                   /** A <character-string> encoding of the value field as
125              specified
126                    * [RFC1035], Section 5.1., encoded as remaining rdata.
127                    * For CAA.
128                    */
129                   LDNS_RDF_TYPE_LONG_STR,
130
131                   /** Since RFC7218 TLSA records can be given with mnemonics,
132                    * hence these rdata field types.  But as with DNSKEYs, the
133              output
134                    * is always numeric.
135                    */
136                   LDNS_RDF_TYPE_CERTIFICATE_USAGE,
137                   LDNS_RDF_TYPE_SELECTOR,
138                   LDNS_RDF_TYPE_MATCHING_TYPE,
139
140                   /* Aliases */
141                   LDNS_RDF_TYPE_BITMAP = LDNS_RDF_TYPE_NSEC
142              };
143              typedef enum ldns_enum_rdf_type ldns_rdf_type;
144

AUTHOR

146       The ldns team at NLnet Labs. Which consists out of Jelte Jansen and
147       Miek Gieben.
148
149

REPORTING BUGS

151       Please report bugs to ldns-team@nlnetlabs.nl or in our bugzilla at
152       http://www.nlnetlabs.nl/bugs/index.html
153
154
156       Copyright (c) 2004 - 2006 NLnet Labs.
157
158       Licensed under the BSD License. There is NO warranty; not even for MER‐
159       CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
160
161

SEE ALSO

163       ldns_rdf_set_size, ldns_rdf_set_type, ldns_rdf_set_data, ldns_rdf_size,
164       ldns_rdf_get_type, ldns_rdf_data, ldns_rdf_compare, ldns_rdf_new,
165       ldns_rdf_clone, ldns_rdf_new_frm_data, ldns_rdf_new_frm_str,
166       ldns_rdf_new_frm_fp, ldns_rdf_free, ldns_rdf_deep_free, ldns_rdf_print,
167       ldns_native2rdf_int8, ldns_native2rdf_int16, ldns_native2rdf_int32,
168       ldns_native2rdf_int16_data, ldns_rdf2native_int8,
169       ldns_rdf2native_int16, ldns_rdf2native_int32, ldns_rdf2native_sock‐
170       addr_storage, ldns_rdf2native_time_t, ldns_native2rdf_int8,
171       ldns_native2rdf_int16, ldns_native2rdf_int32,
172       ldns_native2rdf_int16_data, ldns_rdf2native_int8,
173       ldns_rdf2native_int16, ldns_rdf2native_int32, ldns_rdf2native_sock‐
174       addr_storage, ldns_rdf2native_time_t, ldns_native2rdf_int8,
175       ldns_native2rdf_int16, ldns_native2rdf_int32,
176       ldns_native2rdf_int16_data, ldns_rdf2native_int8,
177       ldns_rdf2native_int16, ldns_rdf2native_int32, ldns_rdf2native_sock‐
178       addr_storage, ldns_rdf2native_time_t.  And perldoc Net::DNS, RFC1034,
179       RFC1035, RFC4033, RFC4034  and RFC4035.
180

REMARKS

182       This manpage was automatically generated from the ldns source code by
183       use of Doxygen and some perl.
184
185
186
187                                  30 May 2006                          ldns(3)
Impressum