#include <config.h>
#include <ctype.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <isc/buffer.h>
#include <isc/parseint.h>
#include <isc/print.h>
#include <isc/region.h>
#include <isc/string.h>
#include <isc/util.h>
#include <dns/result.h>
#include <dns/ttl.h>
Go to the source code of this file.
Defines | |
#define | RETERR(x) |
Functions | |
static isc_result_t | bind_ttl (isc_textregion_t *source, isc_uint32_t *ttl) |
static isc_result_t | ttlfmt (unsigned int t, const char *s, isc_boolean_t verbose, isc_boolean_t space, isc_buffer_t *target) |
isc_result_t | dns_ttl_totext (isc_uint32_t src, isc_boolean_t verbose, isc_buffer_t *target) |
isc_result_t | dns_ttl_totext2 (isc_uint32_t src, isc_boolean_t verbose, isc_boolean_t upcase, isc_buffer_t *target) |
Output a TTL or other time interval in a human-readable form. The time interval is given as a count of seconds in 'src'. The text representation is appended to 'target'. | |
isc_result_t | dns_counter_fromtext (isc_textregion_t *source, isc_uint32_t *ttl) |
Converts a counter from either a plain number or a BIND 8 style value. | |
isc_result_t | dns_ttl_fromtext (isc_textregion_t *source, isc_uint32_t *ttl) |
Converts a ttl from either a plain number or a BIND 8 style value. |
Definition in file ttl.c.
#define RETERR | ( | x | ) |
Value:
do { \ isc_result_t _r = (x); \ if (_r != ISC_R_SUCCESS) \ return (_r); \ } while (0)
static isc_result_t bind_ttl | ( | isc_textregion_t * | source, | |
isc_uint32_t * | ttl | |||
) | [static] |
Definition at line 158 of file ttl.c.
References isc_textregion::base, DNS_R_SYNTAX, INSIST, isc_parse_uint32(), ISC_R_RANGE, ISC_R_SUCCESS, isc_textregion::length, and s.
Referenced by dns_counter_fromtext(), and dns_ttl_fromtext().
static isc_result_t ttlfmt | ( | unsigned int | t, | |
const char * | s, | |||
isc_boolean_t | verbose, | |||
isc_boolean_t | space, | |||
isc_buffer_t * | target | |||
) | [static] |
Definition at line 52 of file ttl.c.
References isc_region::base, INSIST, isc_buffer_add, isc_buffer_availableregion, ISC_R_NOSPACE, ISC_R_SUCCESS, and isc_region::length.
Referenced by dns_ttl_totext2().
isc_result_t dns_ttl_totext | ( | isc_uint32_t | src, | |
isc_boolean_t | verbose, | |||
isc_buffer_t * | target | |||
) |
Definition at line 81 of file ttl.c.
References dns_ttl_totext2(), and ISC_TRUE.
Referenced by dns_message_pseudosectiontotext(), dump_rdataset(), and totext_soa().
isc_result_t dns_ttl_totext2 | ( | isc_uint32_t | src, | |
isc_boolean_t | verbose, | |||
isc_boolean_t | upcase, | |||
isc_buffer_t * | target | |||
) |
Output a TTL or other time interval in a human-readable form. The time interval is given as a count of seconds in 'src'. The text representation is appended to 'target'.
If 'verbose' is ISC_FALSE, use the terse BIND 8 style, like "1w2d3h4m5s".
If 'verbose' is ISC_TRUE, use a verbose style like the SOA comments in "dig", like "1 week 2 days 3 hours 4 minutes 5 seconds".
If 'upcase' is ISC_TRUE, we conform to the BIND 8 style in which the unit letter is capitalized if there is only a single unit letter to print (for example, "1m30s", but "2M")
If 'upcase' is ISC_FALSE, unit letters are always in lower case.
Returns:
Definition at line 86 of file ttl.c.
References isc_region::base, days, INSIST, isc_buffer_usedregion, ISC_R_SUCCESS, ISC_TF, isc_region::length, POST, RETERR, and ttlfmt().
Referenced by dns_ttl_totext(), and rdataset_totext().
isc_result_t dns_counter_fromtext | ( | isc_textregion_t * | source, | |
isc_uint32_t * | ttl | |||
) |
Converts a counter from either a plain number or a BIND 8 style value.
Returns:
Definition at line 143 of file ttl.c.
References bind_ttl().
Referenced by fromtext_soa().
isc_result_t dns_ttl_fromtext | ( | isc_textregion_t * | source, | |
isc_uint32_t * | ttl | |||
) |
Converts a ttl from either a plain number or a BIND 8 style value.
Returns:
Definition at line 148 of file ttl.c.
References bind_ttl(), DNS_R_BADTTL, ISC_R_RANGE, and ISC_R_SUCCESS.
Referenced by dst_key_read_public(), load_text(), ns_server_nta(), and parse_ttlval().