Electroneum
Loading...
Searching...
No Matches
msgencode.h
Go to the documentation of this file.
1/*
2 * util/data/msgencode.h - encode compressed DNS messages.
3 *
4 * Copyright (c) 2007, NLnet Labs. All rights reserved.
5 *
6 * This software is open source.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
11 *
12 * Redistributions of source code must retain the above copyright notice,
13 * this list of conditions and the following disclaimer.
14 *
15 * Redistributions in binary form must reproduce the above copyright notice,
16 * this list of conditions and the following disclaimer in the documentation
17 * and/or other materials provided with the distribution.
18 *
19 * Neither the name of the NLNET LABS nor the names of its contributors may
20 * be used to endorse or promote products derived from this software without
21 * specific prior written permission.
22 *
23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
26 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
27 * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
28 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
29 * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
30 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
31 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
32 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
33 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34 */
35
42
43#ifndef UTIL_DATA_MSGENCODE_H
44#define UTIL_DATA_MSGENCODE_H
45struct sldns_buffer;
46struct query_info;
47struct reply_info;
48struct regional;
49struct edns_data;
50
69int reply_info_answer_encode(struct query_info* qinf, struct reply_info* rep,
70 uint16_t id, uint16_t qflags, struct sldns_buffer* dest, time_t timenow,
71 int cached, struct regional* region, uint16_t udpsize,
72 struct edns_data* edns, int dnssec, int secure);
73
91int reply_info_encode(struct query_info* qinfo, struct reply_info* rep,
92 uint16_t id, uint16_t flags, struct sldns_buffer* buffer, time_t timenow,
93 struct regional* region, uint16_t udpsize, int dnssec);
94
100void qinfo_query_encode(struct sldns_buffer* pkt, struct query_info* qinfo);
101
108
115void attach_edns_record(struct sldns_buffer* pkt, struct edns_data* edns);
116
128void error_encode(struct sldns_buffer* pkt, int r, struct query_info* qinfo,
129 uint16_t qid, uint16_t qflags, struct edns_data* edns);
130
131#endif /* UTIL_DATA_MSGENCODE_H */
void attach_edns_record(struct sldns_buffer *pkt, struct edns_data *edns)
void qinfo_query_encode(struct sldns_buffer *pkt, struct query_info *qinfo)
int reply_info_answer_encode(struct query_info *qinf, struct reply_info *rep, uint16_t id, uint16_t qflags, struct sldns_buffer *dest, time_t timenow, int cached, struct regional *region, uint16_t udpsize, struct edns_data *edns, int dnssec, int secure)
int reply_info_encode(struct query_info *qinfo, struct reply_info *rep, uint16_t id, uint16_t flags, struct sldns_buffer *buffer, time_t timenow, struct regional *region, uint16_t udpsize, int dnssec)
void error_encode(struct sldns_buffer *pkt, int r, struct query_info *qinfo, uint16_t qid, uint16_t qflags, struct edns_data *edns)
uint16_t calc_edns_field_size(struct edns_data *edns)
CXA_THROW_INFO_T void(* dest)(void *))
unsigned short uint16_t
Definition stdint.h:125