Electroneum
wire2str.h File Reference

Go to the source code of this file.

Functions

char * sldns_wire2str_pkt (uint8_t *data, size_t len)
 
char * sldns_wire2str_rr (uint8_t *rr, size_t len)
 
char * sldns_wire2str_dname (uint8_t *dname, size_t dname_len)
 
char * sldns_wire2str_type (uint16_t rrtype)
 
char * sldns_wire2str_class (uint16_t rrclass)
 
char * sldns_wire2str_rcode (int rcode)
 
int sldns_str_vprint (char **str, size_t *slen, const char *format, va_list args)
 
int sldns_str_print (char **str, size_t *slen, const char *format,...) ATTR_FORMAT(printf
 
int int sldns_wire2str_pkt_buf (uint8_t *data, size_t data_len, char *str, size_t str_len)
 
int sldns_wire2str_pkt_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_rr_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len, uint8_t *pkt, size_t pktlen)
 
int sldns_wire2str_rrquestion_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len, uint8_t *pkt, size_t pktlen)
 
int sldns_wire2str_rr_unknown_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len, uint8_t *pkt, size_t pktlen)
 
int sldns_wire2str_rr_comment_print (char **str, size_t *str_len, uint8_t *rr, size_t rrlen, size_t dname_off, uint16_t rrtype)
 
int sldns_wire2str_header_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_rdata_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len, uint16_t rrtype, uint8_t *pkt, size_t pktlen)
 
int sldns_wire2str_rdata_unknown_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_dname_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len, uint8_t *pkt, size_t pktlen)
 
int sldns_wire2str_type_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_class_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_ttl_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_type_print (char **str, size_t *str_len, uint16_t rrtype)
 
int sldns_wire2str_class_print (char **str, size_t *str_len, uint16_t rrclass)
 
int sldns_wire2str_rcode_print (char **str, size_t *str_len, int rcode)
 
int sldns_wire2str_opcode_print (char **str, size_t *str_len, int opcode)
 
int sldns_wire2str_edns_option_code_print (char **str, size_t *str_len, uint16_t opcode)
 
int sldns_wire2str_rr_buf (uint8_t *rr, size_t rr_len, char *str, size_t str_len)
 
int sldns_wire2str_rrquestion_buf (uint8_t *rr, size_t rr_len, char *str, size_t str_len)
 
int sldns_wire2str_rr_unknown_buf (uint8_t *rr, size_t rr_len, char *str, size_t str_len)
 
int sldns_wire2str_rr_comment_buf (uint8_t *rr, size_t rr_len, size_t dname_len, char *str, size_t str_len)
 
int sldns_wire2str_rdata_buf (uint8_t *rdata, size_t rdata_len, char *str, size_t str_len, uint16_t rrtype)
 
int sldns_wire2str_type_buf (uint16_t rrtype, char *str, size_t len)
 
int sldns_wire2str_class_buf (uint16_t rrclass, char *str, size_t len)
 
int sldns_wire2str_rcode_buf (int rcode, char *str, size_t len)
 
int sldns_wire2str_opcode_buf (int opcode, char *str, size_t len)
 
int sldns_wire2str_dname_buf (uint8_t *dname, size_t dname_len, char *str, size_t len)
 
int sldns_wire2str_rdf_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len, int rdftype, uint8_t *pkt, size_t pktlen)
 
int sldns_wire2str_int8_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_int16_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_int32_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_period_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_tsigtime_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_a_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_aaaa_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_str_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_apl_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_b32_ext_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_b64_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_hex_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_nsec_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_nsec3_salt_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_cert_alg_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_alg_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_unknown_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_time_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_loc_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_wks_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_nsap_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_atma_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_ipseckey_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len, uint8_t *pkt, size_t pktlen)
 
int sldns_wire2str_hip_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_int16_data_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_tsigerror_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_nsec3_next_owner_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_ilnp64_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_eui48_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_eui64_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_tag_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_long_str_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len)
 
int sldns_wire2str_edns_llq_print (char **str, size_t *str_len, uint8_t *option_data, size_t option_len)
 
int sldns_wire2str_edns_ul_print (char **str, size_t *str_len, uint8_t *option_data, size_t option_len)
 
int sldns_wire2str_edns_nsid_print (char **str, size_t *str_len, uint8_t *option_data, size_t option_len)
 
int sldns_wire2str_edns_dau_print (char **str, size_t *str_len, uint8_t *option_data, size_t option_len)
 
int sldns_wire2str_edns_dhu_print (char **str, size_t *str_len, uint8_t *option_data, size_t option_len)
 
int sldns_wire2str_edns_n3u_print (char **str, size_t *str_len, uint8_t *option_data, size_t option_len)
 
int sldns_wire2str_edns_subnet_print (char **str, size_t *str_len, uint8_t *option_data, size_t option_len)
 
int sldns_wire2str_edns_option_print (char **str, size_t *str_len, uint16_t option_code, uint8_t *option_data, size_t option_len)
 
int sldns_wire2str_edns_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len, uint8_t *pkt, size_t pktlen)
 

Variables

struct sldns_struct_lookup_tablesldns_algorithms
 
struct sldns_struct_lookup_tablesldns_hashes
 
struct sldns_struct_lookup_tablesldns_cert_algorithms
 
struct sldns_struct_lookup_tablesldns_rcodes
 
struct sldns_struct_lookup_tablesldns_opcodes
 
struct sldns_struct_lookup_tablesldns_edns_flags
 
struct sldns_struct_lookup_tablesldns_edns_options
 
struct sldns_struct_lookup_tablesldns_wireparse_errors
 
struct sldns_struct_lookup_tablesldns_tsig_errors
 

Detailed Description

wire2str.h - txt presentation of RRs

(c) NLnet Labs, 2005-2006

See the file LICENSE for the license

Contains functions to translate the wireformat to text representation, as well as functions to print them.

Definition in file wire2str.h.

Function Documentation

◆ sldns_str_print()

int sldns_str_print ( char **  str,
size_t *  slen,
const char *  format,
  ... 
)

Print to string, move string along for next content.

Parameters
strstring buffer. Adjusted at end to after the output.
slenlength of the string buffer. Adjusted at end.
formatprintf format string and arguments for it.
Returns
number of characters needed. Can be larger than slen.

◆ sldns_str_vprint()

int sldns_str_vprint ( char **  str,
size_t *  slen,
const char *  format,
va_list  args 
)

Print to string, move string along for next content. With va_list.

Parameters
strstring buffer. Adjusted at end to after the output.
slenlength of the string buffer. Adjusted at end.
formatprintf format string.
argsarguments for printf.
Returns
number of characters needed. Can be larger than slen.

◆ sldns_wire2str_a_scan()

int sldns_wire2str_a_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat ip4 A field to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

◆ sldns_wire2str_aaaa_scan()

int sldns_wire2str_aaaa_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat ip6 AAAA field to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

◆ sldns_wire2str_alg_scan()

int sldns_wire2str_alg_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat alg field to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

◆ sldns_wire2str_apl_scan()

int sldns_wire2str_apl_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat apl field to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

◆ sldns_wire2str_atma_scan()

int sldns_wire2str_atma_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat ATMA field to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

◆ sldns_wire2str_b32_ext_scan()

int sldns_wire2str_b32_ext_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat b32_ext field to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

◆ sldns_wire2str_b64_scan()

int sldns_wire2str_b64_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat b64 field to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

◆ sldns_wire2str_cert_alg_scan()

int sldns_wire2str_cert_alg_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat cert_alg field to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

◆ sldns_wire2str_class()

char* sldns_wire2str_class ( uint16_t  rrclass)

Convert wire RR class to a string, 'IN', 'CLASS1'.

Parameters
rrclassthe RR class in host order.
Returns
malloced string with the RR class or NULL on malloc failure.

◆ sldns_wire2str_class_buf()

int sldns_wire2str_class_buf ( uint16_t  rrclass,
char *  str,
size_t  len 
)

Convert wire RR class to a string, 'IN', 'CLASS12'. With user buffer.

Parameters
rrclassthe RR class in host order.
strthe string to write to.
lenlength of str.
Returns
the number of characters for this element, excluding zerobyte. Is larger or equal than str_len if output was truncated.

◆ sldns_wire2str_class_print()

int sldns_wire2str_class_print ( char **  str,
size_t *  str_len,
uint16_t  rrclass 
)

Print host format rr class to string. Moves string along, user buffers.

Parameters
strstring buffer.
str_lenlength of string buffer.
rrclasshost format rr class.
Returns
number of characters (except null) needed to print.

◆ sldns_wire2str_class_scan()

int sldns_wire2str_class_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat rr class to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print.

◆ sldns_wire2str_dname()

char* sldns_wire2str_dname ( uint8_t dname,
size_t  dname_len 
)

Conver wire dname to a string.

Parameters
dnamethe dname in uncompressed wireformat.
dname_lenlength of the dname.
Returns
string or NULL on failure.

◆ sldns_wire2str_dname_buf()

int sldns_wire2str_dname_buf ( uint8_t dname,
size_t  dname_len,
char *  str,
size_t  len 
)

Convert wire dname to a string, "example.com.". With user buffer.

Parameters
dnamethe dname in uncompressed wireformat.
dname_lenlength of the dname.
strthe string to write to.
lenlength of string.
Returns
the number of characters for this element, excluding zerobyte. Is larger or equal than str_len if output was truncated.

◆ sldns_wire2str_dname_scan()

int sldns_wire2str_dname_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len,
uint8_t pkt,
size_t  pktlen 
)

Scan wireformat domain name to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
pktpacket for decompression, if NULL no decompression.
pktlenlength of packet buffer.
Returns
number of characters (except null) needed to print.

◆ sldns_wire2str_edns_dau_print()

int sldns_wire2str_edns_dau_print ( char **  str,
size_t *  str_len,
uint8_t option_data,
size_t  option_len 
)

Print EDNS DAU option data to string. User buffers, moves string pointers.

Parameters
strstring buffer.
str_lenlength of string buffer.
option_databuffer with EDNS option code data.
option_lenlength of the data for this option.
Returns
number of characters (except null) needed to print.

◆ sldns_wire2str_edns_dhu_print()

int sldns_wire2str_edns_dhu_print ( char **  str,
size_t *  str_len,
uint8_t option_data,
size_t  option_len 
)

Print EDNS DHU option data to string. User buffers, moves string pointers.

Parameters
strstring buffer.
str_lenlength of string buffer.
option_databuffer with EDNS option code data.
option_lenlength of the data for this option.
Returns
number of characters (except null) needed to print.

◆ sldns_wire2str_edns_llq_print()

int sldns_wire2str_edns_llq_print ( char **  str,
size_t *  str_len,
uint8_t option_data,
size_t  option_len 
)

Print EDNS LLQ option data to string. User buffers, moves string pointers.

Parameters
strstring buffer.
str_lenlength of string buffer.
option_databuffer with EDNS option code data.
option_lenlength of the data for this option.
Returns
number of characters (except null) needed to print.

◆ sldns_wire2str_edns_n3u_print()

int sldns_wire2str_edns_n3u_print ( char **  str,
size_t *  str_len,
uint8_t option_data,
size_t  option_len 
)

Print EDNS N3U option data to string. User buffers, moves string pointers.

Parameters
strstring buffer.
str_lenlength of string buffer.
option_databuffer with EDNS option code data.
option_lenlength of the data for this option.
Returns
number of characters (except null) needed to print.

◆ sldns_wire2str_edns_nsid_print()

int sldns_wire2str_edns_nsid_print ( char **  str,
size_t *  str_len,
uint8_t option_data,
size_t  option_len 
)

Print EDNS NSID option data to string. User buffers, moves string pointers.

Parameters
strstring buffer.
str_lenlength of string buffer.
option_databuffer with EDNS option code data.
option_lenlength of the data for this option.
Returns
number of characters (except null) needed to print.

◆ sldns_wire2str_edns_option_code_print()

int sldns_wire2str_edns_option_code_print ( char **  str,
size_t *  str_len,
uint16_t  opcode 
)

Print host format EDNS0 option to string. Moves string along, user buffers.

Parameters
strstring buffer.
str_lenlength of string buffer.
opcodehost format option number.
Returns
number of characters (except null) needed to print.

◆ sldns_wire2str_edns_option_print()

int sldns_wire2str_edns_option_print ( char **  str,
size_t *  str_len,
uint16_t  option_code,
uint8_t option_data,
size_t  option_len 
)

Print an EDNS option as OPT: VALUE. User buffers, moves string pointers.

Parameters
strstring buffer.
str_lenlength of string buffer.
option_codehost format EDNS option code.
option_databuffer with EDNS option code data.
option_lenlength of the data for this option.
Returns
number of characters (except null) needed to print.

◆ sldns_wire2str_edns_scan()

int sldns_wire2str_edns_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len,
uint8_t pkt,
size_t  pktlen 
)

Scan wireformat EDNS OPT to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
pktpacket with header and other info (may be NULL)
pktlenlength of packet buffer.
Returns
number of characters (except null) needed to print.

◆ sldns_wire2str_edns_subnet_print()

int sldns_wire2str_edns_subnet_print ( char **  str,
size_t *  str_len,
uint8_t option_data,
size_t  option_len 
)

Print EDNS SUBNET option data to string. User buffers, moves string pointers.

Parameters
strstring buffer.
str_lenlength of string buffer.
option_databuffer with EDNS option code data.
option_lenlength of the data for this option.
Returns
number of characters (except null) needed to print.

◆ sldns_wire2str_edns_ul_print()

int sldns_wire2str_edns_ul_print ( char **  str,
size_t *  str_len,
uint8_t option_data,
size_t  option_len 
)

Print EDNS UL option data to string. User buffers, moves string pointers.

Parameters
strstring buffer.
str_lenlength of string buffer.
option_databuffer with EDNS option code data.
option_lenlength of the data for this option.
Returns
number of characters (except null) needed to print.

◆ sldns_wire2str_eui48_scan()

int sldns_wire2str_eui48_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat EUI48 field to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

◆ sldns_wire2str_eui64_scan()

int sldns_wire2str_eui64_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat EUI64 field to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

◆ sldns_wire2str_header_scan()

int sldns_wire2str_header_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat packet header to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print.

◆ sldns_wire2str_hex_scan()

int sldns_wire2str_hex_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat hex field to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

◆ sldns_wire2str_hip_scan()

int sldns_wire2str_hip_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat HIP (algo, HIT, pubkey) field to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

◆ sldns_wire2str_ilnp64_scan()

int sldns_wire2str_ilnp64_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat ILNP64 field to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

◆ sldns_wire2str_int16_data_scan()

int sldns_wire2str_int16_data_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat int16_data field to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

◆ sldns_wire2str_int16_scan()

int sldns_wire2str_int16_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat int16 field to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

◆ sldns_wire2str_int32_scan()

int sldns_wire2str_int32_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat int32 field to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

◆ sldns_wire2str_int8_scan()

int sldns_wire2str_int8_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat int8 field to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

◆ sldns_wire2str_ipseckey_scan()

int sldns_wire2str_ipseckey_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len,
uint8_t pkt,
size_t  pktlen 
)

Scan wireformat IPSECKEY field to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
pktpacket for decompression, if NULL no decompression.
pktlenlength of packet buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

◆ sldns_wire2str_loc_scan()

int sldns_wire2str_loc_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat LOC field to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

◆ sldns_wire2str_long_str_scan()

int sldns_wire2str_long_str_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat long_str field to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

◆ sldns_wire2str_nsap_scan()

int sldns_wire2str_nsap_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat NSAP field to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

◆ sldns_wire2str_nsec3_next_owner_scan()

int sldns_wire2str_nsec3_next_owner_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat nsec3_next_owner field to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

◆ sldns_wire2str_nsec3_salt_scan()

int sldns_wire2str_nsec3_salt_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat nsec3_salt field to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

◆ sldns_wire2str_nsec_scan()

int sldns_wire2str_nsec_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat nsec bitmap field to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

◆ sldns_wire2str_opcode_buf()

int sldns_wire2str_opcode_buf ( int  opcode,
char *  str,
size_t  len 
)

Convert host format opcode to a string. 'QUERY', 'NOTIFY', 'UPDATE'. With user buffer.

Parameters
opcodeopcode as integer in host order
strthe string to write to.
lenlength of str.
Returns
the number of characters for this element, excluding zerobyte. Is larger or equal than str_len if output was truncated.

◆ sldns_wire2str_opcode_print()

int sldns_wire2str_opcode_print ( char **  str,
size_t *  str_len,
int  opcode 
)

Print host format opcode to string. Moves string along, user buffers.

Parameters
strstring buffer.
str_lenlength of string buffer.
opcodehost format opcode number.
Returns
number of characters (except null) needed to print.

◆ sldns_wire2str_period_scan()

int sldns_wire2str_period_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat period field to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

◆ sldns_wire2str_pkt()

char* sldns_wire2str_pkt ( uint8_t data,
size_t  len 
)

Convert wireformat packet to a string representation

Parameters
datawireformat packet data (starting at ID bytes).
lenlength of packet.
Returns
string(malloced) or NULL on failure.

◆ sldns_wire2str_pkt_buf()

int int sldns_wire2str_pkt_buf ( uint8_t data,
size_t  data_len,
char *  str,
size_t  str_len 
)

Convert wireformat packet to a string representation with user buffer It appends every RR with default comments. For more formatter options use the function: TBD(TODO)

Parameters
datawireformat packet data (starting at ID bytes).
data_lenlength of packet.
strthe string buffer for the output. If you pass NULL as the str the return value of the function is the str_len you need for the entire packet. It does not include the 0 byte at the end.
str_lenthe size of the string buffer. If more is needed, it'll silently truncate the output to fit in the buffer.
Returns
the number of characters for this element, excluding zerobyte. Is larger or equal than str_len if output was truncated.

◆ sldns_wire2str_pkt_scan()

int sldns_wire2str_pkt_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat packet to a string representation with user buffer It appends every RR with default comments. For more formatter options use the function: TBD(TODO)

Parameters
datawireformat packet data (starting at ID bytes).
data_lenlength of packet.
strthe string buffer for the output.
str_lenthe size of the string buffer.
Returns
number of characters for string. returns the number of characters that are needed (except terminating null), so it may return a value larger than str_len. On error you get less output (i.e. shorter output in str (null terminated)) On exit the data, data_len, str and str_len values are adjusted to move them from their original position along the input and output for the content that has been consumed (and produced) by this function. If the end of the output string is reached, *str_len is set to 0. The output string is null terminated (shortening the output if necessary). If the end of the input is reached *data_len is set to 0.

◆ sldns_wire2str_rcode()

char* sldns_wire2str_rcode ( int  rcode)

Convert wire packet rcode to a string, 'NOERROR', 'NXDOMAIN'...

Parameters
rcodeas integer, host order
Returns
malloced string with the rcode or NULL on malloc failure.

◆ sldns_wire2str_rcode_buf()

int sldns_wire2str_rcode_buf ( int  rcode,
char *  str,
size_t  len 
)

Convert wire RR rcode to a string, 'NOERROR', 'NXDOMAIN'. With user buffer.

Parameters
rcodercode as integer in host order
strthe string to write to.
lenlength of str.
Returns
the number of characters for this element, excluding zerobyte. Is larger or equal than str_len if output was truncated.

◆ sldns_wire2str_rcode_print()

int sldns_wire2str_rcode_print ( char **  str,
size_t *  str_len,
int  rcode 
)

Print host format rcode to string. Moves string along, user buffers.

Parameters
strstring buffer.
str_lenlength of string buffer.
rcodehost format rcode number.
Returns
number of characters (except null) needed to print.

◆ sldns_wire2str_rdata_buf()

int sldns_wire2str_rdata_buf ( uint8_t rdata,
size_t  rdata_len,
char *  str,
size_t  str_len,
uint16_t  rrtype 
)

Convert RDATA to string presentation format, on one line. User buffer.

Parameters
rdatawireformat rdata part of an RR.
rdata_lenlength of the rr wire data.
strthe string buffer to write to. If you pass NULL as the str, the return value of the function is the str_len you need for the entire packet. It does not include the 0 byte at the end.
str_lenthe size of the string buffer. If more is needed, it'll silently truncate the output to fit in the buffer.
rrtyperr type of the data
Returns
the number of characters for this element, excluding zerobyte. Is larger or equal than str_len if output was truncated.

◆ sldns_wire2str_rdata_scan()

int sldns_wire2str_rdata_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len,
uint16_t  rrtype,
uint8_t pkt,
size_t  pktlen 
)

Scan wireformat rdata to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer. The length of the rdata in the buffer. The rdatalen itself has already been scanned, the data points to the rdata after the rdatalen.
strstring buffer.
str_lenlength of string buffer.
rrtypeRR type of Rdata, host format.
pktpacket for decompression, if NULL no decompression.
pktlenlength of packet buffer.
Returns
number of characters (except null) needed to print.

◆ sldns_wire2str_rdata_unknown_scan()

int sldns_wire2str_rdata_unknown_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat rdata to string in unknown format, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer, the length of the rdata in buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print.

◆ sldns_wire2str_rdf_scan()

int sldns_wire2str_rdf_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len,
int  rdftype,
uint8_t pkt,
size_t  pktlen 
)

Scan wireformat rdf field to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
rdftypethe type of the rdata field, enum sldns_rdf_type.
pktpacket for decompression, if NULL no decompression.
pktlenlength of packet buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

◆ sldns_wire2str_rr()

char* sldns_wire2str_rr ( uint8_t rr,
size_t  len 
)

Convert wireformat RR to a string representation.

Parameters
rrthe wireformat RR, in uncompressed form. Starts at the domain name start, ends with the rdata of the RR.
lenlength of the rr wireformat.
Returns
string(malloced) or NULL on failure.

◆ sldns_wire2str_rr_buf()

int sldns_wire2str_rr_buf ( uint8_t rr,
size_t  rr_len,
char *  str,
size_t  str_len 
)

Convert RR to string presentation format, on one line. User buffer.

Parameters
rrwireformat RR data
rr_lenlength of the rr wire data.
strthe string buffer to write to. If you pass NULL as the str, the return value of the function is the str_len you need for the entire packet. It does not include the 0 byte at the end.
str_lenthe size of the string buffer. If more is needed, it'll silently truncate the output to fit in the buffer.
Returns
the number of characters for this element, excluding zerobyte. Is larger or equal than str_len if output was truncated.

◆ sldns_wire2str_rr_comment_buf()

int sldns_wire2str_rr_comment_buf ( uint8_t rr,
size_t  rr_len,
size_t  dname_len,
char *  str,
size_t  str_len 
)

This creates the comment to print after the RR. ; keytag=... , and other basic comments for RRs. There are more format and comment options available for printout with the function: TBD(TODO)

Parameters
rrwireformat RR data
rr_lenlength of the rr wire data.
dname_lenlength of the dname in front of the RR.
strthe string buffer to write to. If you pass NULL as the str, the return value of the function is the str_len you need for the entire comment. It does not include the 0 byte at the end.
str_lenthe size of the string buffer. If more is needed, it'll silently truncate the output to fit in the buffer.
Returns
the number of characters for this element, excluding zerobyte. Is larger or equal than str_len if output was truncated.

◆ sldns_wire2str_rr_comment_print()

int sldns_wire2str_rr_comment_print ( char **  str,
size_t *  str_len,
uint8_t rr,
size_t  rrlen,
size_t  dname_off,
uint16_t  rrtype 
)

Print to string the RR-information comment in default format, with user buffers. Moves string along.

Parameters
strstring buffer.
str_lenlength of string buffer.
rrwireformat data.
rrlenlength of data buffer.
dname_offoffset in buffer behind owner dname, the compressed size of the owner name.
rrtypetype of the RR, host format.
Returns
number of characters (except null) needed to print.

◆ sldns_wire2str_rr_scan()

int sldns_wire2str_rr_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len,
uint8_t pkt,
size_t  pktlen 
)

Scan wireformat rr to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
pktpacket for decompression, if NULL no decompression.
pktlenlength of packet buffer.
Returns
number of characters (except null) needed to print.

◆ sldns_wire2str_rr_unknown_buf()

int sldns_wire2str_rr_unknown_buf ( uint8_t rr,
size_t  rr_len,
char *  str,
size_t  str_len 
)

3597 printout of an RR in unknown rr format. There are more format and comment options available for printout with the function: TBD(TODO)

Parameters
rrwireformat RR data
rr_lenlength of the rr wire data.
strthe string buffer to write to. If you pass NULL as the str, the return value of the function is the str_len you need for the entire rr. It does not include the 0 byte at the end.
str_lenthe size of the string buffer. If more is needed, it'll silently truncate the output to fit in the buffer.
Returns
the number of characters for this element, excluding zerobyte. Is larger or equal than str_len if output was truncated.

◆ sldns_wire2str_rr_unknown_scan()

int sldns_wire2str_rr_unknown_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len,
uint8_t pkt,
size_t  pktlen 
)

Scan wireformat RR to string in unknown RR format, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
pktpacket for decompression, if NULL no decompression.
pktlenlength of packet buffer.
Returns
number of characters (except null) needed to print.

◆ sldns_wire2str_rrquestion_buf()

int sldns_wire2str_rrquestion_buf ( uint8_t rr,
size_t  rr_len,
char *  str,
size_t  str_len 
)

Convert question RR to string presentation format, on one line. User buffer.

Parameters
rrwireformat RR data
rr_lenlength of the rr wire data.
strthe string buffer to write to. If you pass NULL as the str, the return value of the function is the str_len you need for the entire packet. It does not include the 0 byte at the end.
str_lenthe size of the string buffer. If more is needed, it'll silently truncate the output to fit in the buffer.
Returns
the number of characters for this element, excluding zerobyte. Is larger or equal than str_len if output was truncated.

◆ sldns_wire2str_rrquestion_scan()

int sldns_wire2str_rrquestion_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len,
uint8_t pkt,
size_t  pktlen 
)

Scan wireformat question rr to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
pktpacket for decompression, if NULL no decompression.
pktlenlength of packet buffer.
Returns
number of characters (except null) needed to print.

◆ sldns_wire2str_str_scan()

int sldns_wire2str_str_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat str field to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

◆ sldns_wire2str_tag_scan()

int sldns_wire2str_tag_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat TAG field to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

◆ sldns_wire2str_time_scan()

int sldns_wire2str_time_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat time field to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

◆ sldns_wire2str_tsigerror_scan()

int sldns_wire2str_tsigerror_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat tsigerror field to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

◆ sldns_wire2str_tsigtime_scan()

int sldns_wire2str_tsigtime_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat tsigtime field to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

◆ sldns_wire2str_ttl_scan()

int sldns_wire2str_ttl_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat rr ttl to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print.

◆ sldns_wire2str_type()

char* sldns_wire2str_type ( uint16_t  rrtype)

Convert wire RR type to a string, 'MX', 'TYPE1234'...

Parameters
rrtypethe RR type in host order.
Returns
malloced string with the RR type or NULL on malloc failure.

◆ sldns_wire2str_type_buf()

int sldns_wire2str_type_buf ( uint16_t  rrtype,
char *  str,
size_t  len 
)

Convert wire RR type to a string, 'MX', 'TYPE12'. With user buffer.

Parameters
rrtypethe RR type in host order.
strthe string to write to.
lenlength of str.
Returns
the number of characters for this element, excluding zerobyte. Is larger or equal than str_len if output was truncated.

◆ sldns_wire2str_type_print()

int sldns_wire2str_type_print ( char **  str,
size_t *  str_len,
uint16_t  rrtype 
)

Print host format rr type to string. Moves string along, user buffers.

Parameters
strstring buffer.
str_lenlength of string buffer.
rrtypehost format rr type.
Returns
number of characters (except null) needed to print.

◆ sldns_wire2str_type_scan()

int sldns_wire2str_type_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat rr type to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print.

◆ sldns_wire2str_unknown_scan()

int sldns_wire2str_unknown_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat type unknown field to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

◆ sldns_wire2str_wks_scan()

int sldns_wire2str_wks_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat WKS field to string, with user buffers. It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

Variable Documentation

◆ sldns_algorithms

struct sldns_struct_lookup_table* sldns_algorithms

Taken from RFC 2535, section 7.

◆ sldns_cert_algorithms

struct sldns_struct_lookup_table* sldns_cert_algorithms

Taken from RFC 2538, section 2.1.

◆ sldns_edns_flags

struct sldns_struct_lookup_table* sldns_edns_flags

EDNS flags

◆ sldns_edns_options

struct sldns_struct_lookup_table* sldns_edns_options

EDNS option codes

◆ sldns_hashes

struct sldns_struct_lookup_table* sldns_hashes

DS record hash algorithms

◆ sldns_opcodes

struct sldns_struct_lookup_table* sldns_opcodes

Operation codes

◆ sldns_rcodes

struct sldns_struct_lookup_table* sldns_rcodes

Response codes

◆ sldns_tsig_errors

struct sldns_struct_lookup_table* sldns_tsig_errors

tsig errors are the rcodes with extra (higher) values

◆ sldns_wireparse_errors

struct sldns_struct_lookup_table* sldns_wireparse_errors

error string from wireparse