ldns documentation

- Main Page
- Related Pages
- Data Structures
- Files

- File List
- Globals

Functions
str2host.h File Reference

str2host.h - conversion from str to the host fmt More...

Go to the source code of this file.

## Functions
ldns_status | ldns_str2rdf_int8 (ldns_rdf **rd, const char *bytestr)
| convert a byte into wireformat More...
ldns_status | ldns_str2rdf_int16 (ldns_rdf **rd, const char *shortstr)
| convert a string to a int16 in wireformat More...
ldns_status | ldns_str2rdf_int32 (ldns_rdf **rd, const char *longstr)
| convert a strings into a 4 byte int in wireformat More...
ldns_status | ldns_str2rdf_time (ldns_rdf **rd, const char *time)
| convert a time string to a time value in wireformat More...
ldns_status | ldns_str2rdf_nsec3_salt (ldns_rdf **rd, const char *nsec3_salt)
ldns_status | ldns_str2rdf_period (ldns_rdf **rd, const char *str)
ldns_status | ldns_str2rdf_a (ldns_rdf **rd, const char *str)
| convert str with an A record into wireformat More...
ldns_status | ldns_str2rdf_aaaa (ldns_rdf **rd, const char *str)
| convert the str with an AAAA record into wireformat More...
ldns_status | ldns_str2rdf_str (ldns_rdf **rd, const char *str)
| convert a string into wireformat (think txt record) More...
ldns_status | ldns_str2rdf_apl (ldns_rdf **rd, const char *str)
| convert str with the apl record into wireformat More...
ldns_status | ldns_str2rdf_b64 (ldns_rdf **rd, const char *str)
| convert the string with the b64 data into wireformat More...
ldns_status | ldns_str2rdf_b32_ext (ldns_rdf **rd, const char *str)
| convert the string with the b32 ext hex data into wireformat More...
ldns_status | ldns_str2rdf_hex (ldns_rdf **rd, const char *str)
| convert a hex value into wireformat More...
ldns_status | ldns_str2rdf_nsec (ldns_rdf **rd, const char *str)
| convert string with nsec into wireformat More...
ldns_status | ldns_str2rdf_type (ldns_rdf **rd, const char *str)
| convert a rrtype into wireformat More...
ldns_status | ldns_str2rdf_class (ldns_rdf **rd, const char *str)
| convert string with a classname into wireformat More...
ldns_status | ldns_str2rdf_cert_alg (ldns_rdf **rd, const char *str)
| convert an certificate algorithm value into wireformat More...
ldns_status | ldns_str2rdf_alg (ldns_rdf **rd, const char *str)
| convert and algorithm value into wireformat More...
ldns_status | ldns_str2rdf_unknown (ldns_rdf **rd, const char *str)
| convert a string with a unknown RR into wireformat More...
ldns_status | ldns_str2rdf_service (ldns_rdf **rd, const char *str)
| convert string with a protocol service into wireformat More...
ldns_status | ldns_str2rdf_loc (ldns_rdf **rd, const char *str)
| convert a string with a LOC RR into wireformat More...
ldns_status | ldns_str2rdf_wks (ldns_rdf **rd, const char *str)
| convert string with a WKS RR into wireformat More...
ldns_status | ldns_str2rdf_nsap (ldns_rdf **rd, const char *str)
| convert a str with a NSAP RR into wireformat More...
ldns_status | ldns_str2rdf_atma (ldns_rdf **rd, const char *str)
| convert a str with a ATMA RR into wireformat More...
ldns_status | ldns_str2rdf_ipseckey (ldns_rdf **rd, const char *str)
| convert a str with a IPSECKEY RR into wireformat More...
ldns_status | ldns_str2rdf_dname (ldns_rdf **rd, const char *str)
| convert a dname string into wireformat More...
ldns_status | ldns_str2rdf_ilnp64 (ldns_rdf **rd, const char *str)
| convert 4 * 16bit hex separated by colons into wireformat More...
ldns_status | ldns_str2rdf_eui48 (ldns_rdf **rd, const char *str)
| convert 6 hex bytes separated by dashes into wireformat More...
ldns_status | ldns_str2rdf_eui64 (ldns_rdf **rd, const char *str)
| convert 8 hex bytes separated by dashes into wireformat More...
ldns_status | ldns_str2rdf_tag (ldns_rdf **rd, const char *str)
| Convert a non-zero sequence of US-ASCII letters and numbers into wireformat. More...
ldns_status | ldns_str2rdf_long_str (ldns_rdf **rd, const char *str)
| Convert a <character-string> encoding of the value field as specified [RFC1035], Section 5.1., encoded as one bug chunk of data. More...
ldns_status | ldns_str2rdf_hip (ldns_rdf **rd, const char *str)
| Convert a "<algorithm> <hit> <pk>" encoding of the value field as specified in Section 6. More...

## Detailed Description

str2host.h - conversion from str to the host fmt

a Net::DNS like library for C

(c) NLnet Labs, 2005-2006

See the file LICENSE for the license

Defines functions to convert dns data in presentation format or text files to internal structures.

Definition in file str2host.h.

## Function Documentation

ldns_status ldns_str2rdf_int8 | ( | ldns_rdf ** | rd,
|  | const char * | bytestr
| ) |  |

convert a byte into wireformat

Parameters

  [in] | rd | the rdf where to put the data
  [in] | bytestr | the string to be converted

Returns
  ldns_status

Definition at line 228 of file str2host.c.

References INLINE, LDNS_FREE, LDNS_MALLOC, ldns_rdf_new_frm_data(), LDNS_RDF_TYPE_INT8, LDNS_STATUS_ERR, LDNS_STATUS_MEM_ERR, and LDNS_STATUS_OK.

ldns_status ldns_str2rdf_int16 | ( | ldns_rdf ** | rd,
|  | const char * | shortstr
| ) |  |

convert a string to a int16 in wireformat

Parameters

  [in] | rd | the rdf where to put the data
  [in] | shortstr | the string to be converted

Returns
  ldns_status

Definition at line 36 of file str2host.c.

References LDNS_FREE, LDNS_MALLOC, ldns_rdf_new_frm_data(), LDNS_RDF_TYPE_INT16, LDNS_STATUS_INVALID_INT, LDNS_STATUS_MEM_ERR, and LDNS_STATUS_OK.

ldns_status ldns_str2rdf_int32 | ( | ldns_rdf ** | rd,
|  | const char * | longstr
| ) |  |

convert a strings into a 4 byte int in wireformat

Parameters

  [in] | rd | the rdf where to put the data
  [in] | longstr | the string to be converted

Returns
  ldns_status

Definition at line 197 of file str2host.c.

References LDNS_FREE, LDNS_MALLOC, ldns_rdf_new_frm_data(), LDNS_RDF_TYPE_INT32, LDNS_STATUS_ERR, LDNS_STATUS_MEM_ERR, LDNS_STATUS_OK, and LDNS_STATUS_SYNTAX_INTEGER_OVERFLOW.

ldns_status ldns_str2rdf_time | ( | ldns_rdf ** | rd,
|  | const char * | time
| ) |  |

convert a time string to a time value in wireformat

Parameters

  [in] | rd | the rdf where to put the data
  [in] | time | the string to be converted

Returns
  ldns_status

Definition at line 57 of file str2host.c.

References LDNS_FREE, LDNS_MALLOC, ldns_mktime_from_utc(), ldns_rdf_new_frm_data(), LDNS_RDF_TYPE_INT32, LDNS_RDF_TYPE_TIME, LDNS_STATUS_ERR, LDNS_STATUS_INVALID_TIME, LDNS_STATUS_MEM_ERR, and LDNS_STATUS_OK.

ldns_status ldns_str2rdf_nsec3_salt | ( | ldns_rdf ** | rd,
|  | const char * | nsec3_salt
| ) |  |

Definition at line 126 of file str2host.c.

References LDNS_FREE, ldns_hexdigit_to_int(), ldns_rdf_new_frm_data(), LDNS_RDF_TYPE_NSEC3_SALT, LDNS_STATUS_INVALID_HEX, LDNS_STATUS_MEM_ERR, LDNS_STATUS_NULL, LDNS_STATUS_OK, and LDNS_XMALLOC.

ldns_status ldns_str2rdf_period | ( | ldns_rdf ** | rd,
|  | const char * | str
| ) |  |

Definition at line 178 of file str2host.c.

References ldns_rdf_new_frm_data(), LDNS_RDF_TYPE_PERIOD, LDNS_STATUS_ERR, LDNS_STATUS_MEM_ERR, LDNS_STATUS_OK, and ldns_str2period().

ldns_status ldns_str2rdf_a | ( | ldns_rdf ** | rd,
|  | const char * | str
| ) |  |

convert str with an A record into wireformat

Parameters

  [in] | rd | the rdf where to put the data
  [in] | str | the string to be converted

Returns
  ldns_status

Definition at line 401 of file str2host.c.

References ldns_rdf_new_frm_data(), LDNS_RDF_TYPE_A, LDNS_STATUS_INVALID_IP4, LDNS_STATUS_MEM_ERR, and LDNS_STATUS_OK.

ldns_status ldns_str2rdf_aaaa | ( | ldns_rdf ** | rd,
|  | const char * | str
| ) |  |

convert the str with an AAAA record into wireformat

Parameters

  [in] | rd | the rdf where to put the data
  [in] | str | the string to be converted

Returns
  ldns_status

Definition at line 414 of file str2host.c.

References LDNS_IP6ADDRLEN, ldns_rdf_new_frm_data(), LDNS_RDF_TYPE_AAAA, LDNS_STATUS_INVALID_IP6, LDNS_STATUS_MEM_ERR, and LDNS_STATUS_OK.

ldns_status ldns_str2rdf_str | ( | ldns_rdf ** | rd,
|  | const char * | str
| ) |  |

convert a string into wireformat (think txt record)

Parameters

  [in] | rd | the rdf where to put the data
  [in] | str | the string to be converted (NULL terminated)

Returns
  ldns_status

Definition at line 428 of file str2host.c.

References LDNS_FREE, ldns_rdf_new(), LDNS_RDF_TYPE_STR, LDNS_STATUS_INVALID_STR, LDNS_STATUS_MEM_ERR, LDNS_STATUS_OK, LDNS_STATUS_SYNTAX_BAD_ESCAPE, LDNS_XMALLOC, and LDNS_XREALLOC.

ldns_status ldns_str2rdf_apl | ( | ldns_rdf ** | rd,
|  | const char * | str
| ) |  |

convert str with the apl record into wireformat

Parameters

  [in] | rd | the rdf where to put the data
  [in] | str | the string to be converted

Returns
  ldns_status

Definition at line 471 of file str2host.c.

References LDNS_FREE, ldns_rdf_new_frm_data(), LDNS_RDF_TYPE_APL, LDNS_STATUS_INVALID_STR, LDNS_STATUS_MEM_ERR, LDNS_STATUS_OK, and LDNS_XMALLOC.

ldns_status ldns_str2rdf_b64 | ( | ldns_rdf ** | rd,
|  | const char * | str
| ) |  |

convert the string with the b64 data into wireformat

Parameters

  [in] | rd | the rdf where to put the data
  [in] | str | the string to be converted

Returns
  ldns_status

Definition at line 582 of file str2host.c.

References ldns_b64_pton(), LDNS_FREE, ldns_rdf_new_frm_data(), LDNS_RDF_TYPE_B64, LDNS_STATUS_INVALID_B64, LDNS_STATUS_MEM_ERR, LDNS_STATUS_OK, and LDNS_XMALLOC.

ldns_status ldns_str2rdf_b32_ext | ( | ldns_rdf ** | rd,
|  | const char * | str
| ) |  |

convert the string with the b32 ext hex data into wireformat

Parameters

  [in] | rd | the rdf where to put the data
  [in] | str | the string to be converted

Returns
  ldns_status

Definition at line 607 of file str2host.c.

References ldns_b32_pton_extended_hex(), LDNS_FREE, ldns_rdf_new_frm_data(), LDNS_RDF_TYPE_B32_EXT, LDNS_STATUS_INVALID_B32_EXT, LDNS_STATUS_MEM_ERR, LDNS_STATUS_OK, and LDNS_XMALLOC.

ldns_status ldns_str2rdf_hex | ( | ldns_rdf ** | rd,
|  | const char * | str
| ) |  |

convert a hex value into wireformat

Parameters

  [in] | rd | the rdf where to put the data
  [in] | str | the string to be converted

Returns
  ldns_status

Definition at line 634 of file str2host.c.

References LDNS_FREE, ldns_hexdigit_to_int(), LDNS_MAX_RDFLEN, ldns_rdf_new_frm_data(), LDNS_RDF_TYPE_HEX, LDNS_STATUS_ERR, LDNS_STATUS_LABEL_OVERFLOW, LDNS_STATUS_MEM_ERR, LDNS_STATUS_OK, and LDNS_XMALLOC.

ldns_status ldns_str2rdf_nsec | ( | ldns_rdf ** | rd,
|  | const char * | str
| ) |  |

convert string with nsec into wireformat

Parameters

  [in] | rd | the rdf where to put the data
  [in] | str | the string to be converted

Returns
  ldns_status

Definition at line 680 of file str2host.c.

References ldns_bget_token(), ldns_buffer_free(), ldns_buffer_new_frm_data(), ldns_dnssec_create_nsec_bitmap(), LDNS_FREE, ldns_get_rr_type_by_name(), LDNS_MALLOC, LDNS_MAX_RDFLEN, LDNS_RR_TYPE_NSEC, LDNS_STATUS_ERR, LDNS_STATUS_MEM_ERR, LDNS_STATUS_NULL, LDNS_STATUS_OK, and LDNS_XMALLOC.

ldns_status ldns_str2rdf_type | ( | ldns_rdf ** | rd,
|  | const char * | str
| ) |  |

convert a rrtype into wireformat

Parameters

  [in] | rd | the rdf where to put the data
  [in] | str | the string to be converted

Returns
  ldns_status

Definition at line 728 of file str2host.c.

References ldns_get_rr_type_by_name(), ldns_rdf_new_frm_data(), LDNS_RDF_TYPE_TYPE, LDNS_STATUS_MEM_ERR, and LDNS_STATUS_OK.

ldns_status ldns_str2rdf_class | ( | ldns_rdf ** | rd,
|  | const char * | str
| ) |  |

convert string with a classname into wireformat

Parameters

  [in] | rd | the rdf where to put the data
  [in] | str | the string to be converted

Returns
  ldns_status

Definition at line 739 of file str2host.c.

References ldns_get_rr_class_by_name(), ldns_rdf_new_frm_data(), LDNS_RDF_TYPE_CLASS, LDNS_STATUS_MEM_ERR, and LDNS_STATUS_OK.

ldns_status ldns_str2rdf_cert_alg | ( | ldns_rdf ** | rd,
|  | const char * | str
| ) |  |

convert an certificate algorithm value into wireformat

Parameters

  [in] | rd | the rdf where to put the data
  [in] | str | the string to be converted

Returns
  ldns_status

Definition at line 753 of file str2host.c.

References ldns_struct_lookup_table::id, ldns_cert_algorithms, ldns_lookup_by_name(), ldns_rdf2native_int16(), ldns_rdf_new_frm_data(), LDNS_RDF_TYPE_INT16, LDNS_STATUS_CERT_BAD_ALGORITHM, LDNS_STATUS_ERR, LDNS_STATUS_OK, and ldns_str2rdf_int16().

ldns_status ldns_str2rdf_alg | ( | ldns_rdf ** | rd,
|  | const char * | str
| ) |  |

convert and algorithm value into wireformat

Parameters

  [in] | rd | the rdf where to put the data
  [in] | str | the string to be converted

Returns
  ldns_status

Definition at line 784 of file str2host.c.

References ldns_struct_lookup_table::id, ldns_algorithms, ldns_lookup_by_name(), ldns_native2rdf_int8(), LDNS_RDF_TYPE_INT8, LDNS_STATUS_ERR, LDNS_STATUS_OK, and ldns_str2rdf_int8().

ldns_status ldns_str2rdf_unknown | ( | ldns_rdf ** | rd,
|  | const char * | str
| ) |  |

convert a string with a unknown RR into wireformat

Parameters

  [in] | rd | the rdf where to put the data
  [in] | str | the string to be converted

Returns
  ldns_status

ldns_status ldns_str2rdf_service | ( | ldns_rdf ** | rd,
|  | const char * | str
| ) |  |

convert string with a protocol service into wireformat

Parameters

  [in] | rd | the rdf where to put the data
  [in] | str | the string to be converted

Returns
  ldns_status

ldns_status ldns_str2rdf_loc | ( | ldns_rdf ** | rd,
|  | const char * | str
| ) |  |

convert a string with a LOC RR into wireformat

Parameters

  [in] | rd | the rdf where to put the data
  [in] | str | the string to be converted

Returns
  ldns_status

Definition at line 861 of file str2host.c.

References LDNS_FREE, ldns_rdf_new_frm_data(), LDNS_RDF_TYPE_LOC, LDNS_STATUS_INVALID_STR, LDNS_STATUS_MEM_ERR, LDNS_STATUS_OK, and LDNS_XMALLOC.

ldns_status ldns_str2rdf_wks | ( | ldns_rdf ** | rd,
|  | const char * | str
| ) |  |

convert string with a WKS RR into wireformat

Parameters

  [in] | rd | the rdf where to put the data
  [in] | str | the string to be converted

Returns
  ldns_status

Definition at line 1036 of file str2host.c.

References ldns_bget_token(), ldns_buffer_free(), ldns_buffer_new_frm_data(), LDNS_FREE, LDNS_MALLOC, ldns_rdf_new_frm_data(), LDNS_RDF_TYPE_WKS, ldns_set_bit(), LDNS_STATUS_INVALID_STR, LDNS_STATUS_MEM_ERR, LDNS_STATUS_OK, LDNS_XMALLOC, and LDNS_XREALLOC.

ldns_status ldns_str2rdf_nsap | ( | ldns_rdf ** | rd,
|  | const char * | str
| ) |  |

convert a str with a NSAP RR into wireformat

Parameters

  [in] | rd | the rdf where to put the data
  [in] | str | the string to be converted

Returns
  ldns_status

Definition at line 1144 of file str2host.c.

References LDNS_STATUS_INVALID_STR, and ldns_str2rdf_hex().

ldns_status ldns_str2rdf_atma | ( | ldns_rdf ** | rd,
|  | const char * | str
| ) |  |

convert a str with a ATMA RR into wireformat

Parameters

  [in] | rd | the rdf where to put the data
  [in] | str | the string to be converted

Returns
  ldns_status

Definition at line 1163 of file str2host.c.

References LDNS_STATUS_OK, and ldns_str2rdf_hex().

ldns_status ldns_str2rdf_ipseckey | ( | ldns_rdf ** | rd,
|  | const char * | str
| ) |  |

convert a str with a IPSECKEY RR into wireformat

Parameters

  [in] | rd | the rdf where to put the data
  [in] | str | the string to be converted

Returns
  ldns_status

Definition at line 1183 of file str2host.c.

References ldns_bget_token(), ldns_buffer_free(), ldns_buffer_new_frm_data(), LDNS_FREE, LDNS_MALLOC, ldns_rdf_data(), ldns_rdf_free(), ldns_rdf_new_frm_data(), ldns_rdf_size(), LDNS_RDF_TYPE_IPSECKEY, LDNS_STATUS_INVALID_STR, LDNS_STATUS_MEM_ERR, LDNS_STATUS_OK, ldns_str2rdf_a(), ldns_str2rdf_aaaa(), ldns_str2rdf_b64(), ldns_str2rdf_dname(), and LDNS_XMALLOC.

ldns_status ldns_str2rdf_dname | ( | ldns_rdf ** | rd,
|  | const char * | str
| ) |  |

convert a dname string into wireformat

Parameters

  [in] | rd | the rdf where to put the data
  [in] | str | the string to be converted

Returns
  ldns_status

Definition at line 311 of file str2host.c.

References ldns_dname_str_absolute(), LDNS_MAX_DOMAINLEN, LDNS_MAX_LABELLEN, ldns_rdf_new_frm_data(), LDNS_RDF_TYPE_DNAME, LDNS_STATUS_DOMAINNAME_OVERFLOW, LDNS_STATUS_DOMAINNAME_UNDERFLOW, LDNS_STATUS_EMPTY_LABEL, LDNS_STATUS_LABEL_OVERFLOW, LDNS_STATUS_OK, and LDNS_STATUS_SYNTAX_BAD_ESCAPE.

ldns_status ldns_str2rdf_ilnp64 | ( | ldns_rdf ** | rd,
|  | const char * | str
| ) |  |

convert 4 * 16bit hex separated by colons into wireformat

Parameters

  [in] | rd | the rdf where to put the data
  [in] | str | the string to be converted

Returns
  ldns_status

Definition at line 1335 of file str2host.c.

References ldns_rdf_new_frm_data(), LDNS_RDF_TYPE_ILNP64, LDNS_STATUS_INVALID_ILNP64, LDNS_STATUS_MEM_ERR, and LDNS_STATUS_OK.

ldns_status ldns_str2rdf_eui48 | ( | ldns_rdf ** | rd,
|  | const char * | str
| ) |  |

convert 6 hex bytes separated by dashes into wireformat

Parameters

  [in] | rd | the rdf where to put the data
  [in] | str | the string to be converted

Returns
  ldns_status

Definition at line 1358 of file str2host.c.

References ldns_rdf_new_frm_data(), LDNS_RDF_TYPE_EUI48, LDNS_STATUS_INVALID_EUI48, LDNS_STATUS_MEM_ERR, and LDNS_STATUS_OK.

ldns_status ldns_str2rdf_eui64 | ( | ldns_rdf ** | rd,
|  | const char * | str
| ) |  |

convert 8 hex bytes separated by dashes into wireformat

Parameters

  [in] | rd | the rdf where to put the data
  [in] | str | the string to be converted

Returns
  ldns_status

Definition at line 1383 of file str2host.c.

References ldns_rdf_new_frm_data(), LDNS_RDF_TYPE_EUI64, LDNS_STATUS_INVALID_EUI64, LDNS_STATUS_MEM_ERR, and LDNS_STATUS_OK.

ldns_status ldns_str2rdf_tag | ( | ldns_rdf ** | rd,
|  | const char * | str
| ) |  |

Convert a non-zero sequence of US-ASCII letters and numbers into wireformat.

Parameters

  [in] | rd | the rdf where to put the data
  [in] | str | the string to be converted

Returns
  ldns_status

Definition at line 1410 of file str2host.c.

References LDNS_FREE, ldns_rdf_new(), LDNS_RDF_TYPE_TAG, LDNS_STATUS_INVALID_TAG, LDNS_STATUS_MEM_ERR, LDNS_STATUS_OK, and LDNS_XMALLOC.

ldns_status ldns_str2rdf_long_str | ( | ldns_rdf ** | rd,
|  | const char * | str
| ) |  |

Convert a <character-string> encoding of the value field as specified [RFC1035], Section 5.1., encoded as one bug chunk of data.

Parameters

  [in] | rd | the rdf where to put the data
  [in] | str | the string to be converted

Returns
  ldns_status

Definition at line 1439 of file str2host.c.

References LDNS_FREE, LDNS_MAX_RDFLEN, ldns_rdf_new(), LDNS_RDF_TYPE_LONG_STR, LDNS_STATUS_INVALID_STR, LDNS_STATUS_MEM_ERR, LDNS_STATUS_OK, LDNS_STATUS_SYNTAX_BAD_ESCAPE, LDNS_XMALLOC, and LDNS_XREALLOC.

ldns_status ldns_str2rdf_hip | ( | ldns_rdf ** | rd,
|  | const char * | str
| ) |  |

Convert a "<algorithm> <hit> <pk>" encoding of the value field as specified in Section 6.

of [RFC5205], encoded as wireformat as specified in Section 5. of [RFC5205].

Parameters

  [in] | rd | the rdf where to put the data
  [in] | str | the string to be converted

Returns
  ldns_status

Definition at line 1480 of file str2host.c.

References ldns_b64_pton(), LDNS_FREE, ldns_hexdigit_to_int(), LDNS_MAX_RDFLEN, ldns_rdf_new(), LDNS_RDF_TYPE_HIP, LDNS_STATUS_INVALID_B64, LDNS_STATUS_INVALID_HEX, LDNS_STATUS_MEM_ERR, LDNS_STATUS_OK, LDNS_STATUS_SYNTAX_ERR, and LDNS_XMALLOC.