unbound
0.1
|
Utility functions for parsing, base32(DNS variant) and base64 encoding and decoding, Hex, Time units, Escape codes. More...
Data Structures | |
struct | sldns_struct_lookup_table |
A general purpose lookup table. More... | |
Typedefs | |
typedef struct sldns_struct_lookup_table | sldns_lookup_table |
Functions | |
sldns_lookup_table * | sldns_lookup_by_name (sldns_lookup_table table[], const char *name) |
Looks up the table entry by name, returns NULL if not found. More... | |
sldns_lookup_table * | sldns_lookup_by_id (sldns_lookup_table table[], int id) |
Looks up the table entry by id, returns NULL if not found. More... | |
time_t | sldns_mktime_from_utc (const struct tm *tm) |
Convert TM to seconds since epoch (midnight, January 1st, 1970). More... | |
struct tm * | sldns_serial_arithmetics_gmtime_r (int32_t time, time_t now, struct tm *result) |
The function interprets time as the number of seconds since epoch with respect to now using serial arithmetics (rfc1982). More... | |
uint32_t | sldns_str2period (const char *nptr, const char **endptr) |
converts a ttl value (like 5d2h) to a long. More... | |
int | sldns_hexdigit_to_int (char ch) |
Returns the int value of the given (hex) digit. More... | |
size_t | sldns_b64_ntop_calculate_size (size_t srcsize) |
calculates the size needed to store the result of b64_ntop | |
int | sldns_b64_ntop (uint8_t const *src, size_t srclength, char *target, size_t targsize) |
size_t | sldns_b64_pton_calculate_size (size_t srcsize) |
calculates the size needed to store the result of sldns_b64_pton | |
int | sldns_b64_pton (char const *src, uint8_t *target, size_t targsize) |
size_t | sldns_b32_ntop_calculate_size (size_t src_data_length) |
calculates the size needed to store the result of b32_ntop | |
size_t | sldns_b32_ntop_calculate_size_no_padding (size_t src_data_length) |
int | sldns_b32_ntop (const uint8_t *src_data, size_t src_data_length, char *target_text_buffer, size_t target_text_buffer_size) |
int | sldns_b32_ntop_extended_hex (const uint8_t *src_data, size_t src_data_length, char *target_text_buffer, size_t target_text_buffer_size) |
size_t | sldns_b32_pton_calculate_size (size_t src_text_length) |
calculates the size needed to store the result of b32_pton | |
int | sldns_b32_pton (const char *src_text, size_t src_text_length, uint8_t *target_data_buffer, size_t target_data_buffer_size) |
int | sldns_b32_pton_extended_hex (const char *src_text, size_t src_text_length, uint8_t *target_data_buffer, size_t target_data_buffer_size) |
int | sldns_parse_escape (uint8_t *ch_p, const char **str_p) |
int | sldns_parse_char (uint8_t *ch_p, const char **str_p) |
Parse one character, with escape codes,. More... | |
Utility functions for parsing, base32(DNS variant) and base64 encoding and decoding, Hex, Time units, Escape codes.
sldns_lookup_table* sldns_lookup_by_name | ( | sldns_lookup_table | table[], |
const char * | name | ||
) |
Looks up the table entry by name, returns NULL if not found.
[in] | table | the lookup table to search in |
[in] | name | what to search for |
Referenced by sldns_get_rr_class_by_name(), sldns_str2wire_alg_buf(), sldns_str2wire_cert_alg_buf(), and sldns_str2wire_tsigerror_buf().
sldns_lookup_table* sldns_lookup_by_id | ( | sldns_lookup_table | table[], |
int | id | ||
) |
Looks up the table entry by id, returns NULL if not found.
[in] | table | the lookup table to search in |
[in] | id | what to search for |
Referenced by algo_needs_reason(), analyze_rr(), error_response(), prime_root(), sldns_get_errorstr_parse(), sldns_wire2str_class_print(), sldns_wire2str_edns_dau_print(), sldns_wire2str_edns_dhu_print(), sldns_wire2str_edns_option_code_print(), sldns_wire2str_opcode_print(), sldns_wire2str_rcode_print(), and val_dsset_isusable().
time_t sldns_mktime_from_utc | ( | const struct tm * | tm | ) |
Convert TM to seconds since epoch (midnight, January 1st, 1970).
Like timegm(3), which is not always available.
[in] | tm | a struct tm* with the date |
Referenced by cfg_convert_timeval(), and xml_convertdate().
struct tm* sldns_serial_arithmetics_gmtime_r | ( | int32_t | time, |
time_t | now, | ||
struct tm * | result | ||
) |
The function interprets time as the number of seconds since epoch with respect to now using serial arithmetics (rfc1982).
That number of seconds is then converted to broken-out time information. This is especially usefull when converting the inception and expiration fields of RRSIG records.
[in] | time | number of seconds since epoch (midnight, January 1st, 1970) to be interpreted as a serial arithmetics number relative to now. |
[in] | now | number of seconds since epoch (midnight, January 1st, 1970) to which the time value is compared to determine the final value. |
[out] | result | the struct with the broken-out time information |
uint32_t sldns_str2period | ( | const char * | nptr, |
const char ** | endptr | ||
) |
converts a ttl value (like 5d2h) to a long.
[in] | nptr | the start of the string |
[out] | endptr | points to the last char in case of error |
Referenced by sldns_str2wire_period_buf().
int sldns_hexdigit_to_int | ( | char | ch | ) |
Returns the int value of the given (hex) digit.
[in] | ch | the hex char to convert |
int sldns_parse_char | ( | uint8_t * | ch_p, |
const char ** | str_p | ||
) |
Parse one character, with escape codes,.
ch_p | the parsed character |
str_p | the string. moved along for characters read. |
Parse one character, with escape codes,.
Referenced by sldns_str2wire_long_str_buf().