Merge from vendor branch TNFTP:
[dragonfly.git] / contrib / bind-9.3 / lib / dns / include / dns / ttl.h
1 /*
2  * Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
3  * Copyright (C) 1999-2001  Internet Software Consortium.
4  *
5  * Permission to use, copy, modify, and distribute this software for any
6  * purpose with or without fee is hereby granted, provided that the above
7  * copyright notice and this permission notice appear in all copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
10  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
12  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
14  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15  * PERFORMANCE OF THIS SOFTWARE.
16  */
17
18 /* $Id: ttl.h,v 1.12.206.1 2004/03/06 08:14:01 marka Exp $ */
19
20 #ifndef DNS_TTL_H
21 #define DNS_TTL_H 1
22
23 /***
24  ***    Imports
25  ***/
26
27 #include <isc/lang.h>
28 #include <isc/types.h>
29
30 ISC_LANG_BEGINDECLS
31
32 /***
33  ***    Functions
34  ***/
35
36 isc_result_t
37 dns_ttl_totext(isc_uint32_t src, isc_boolean_t verbose,
38                isc_buffer_t *target);
39 /*
40  * Output a TTL or other time interval in a human-readable form.
41  * The time interval is given as a count of seconds in 'src'.
42  * The text representation is appended to 'target'.
43  *
44  * If 'verbose' is ISC_FALSE, use the terse BIND 8 style, like "1w2d3h4m5s".
45  *
46  * If 'verbose' is ISC_TRUE, use a verbose style like the SOA comments
47  * in "dig", like "1 week 2 days 3 hours 4 minutes 5 seconds".
48  *
49  * Returns:
50  *      ISC_R_SUCCESS
51  *      ISC_R_NOSPACE
52  */
53
54 isc_result_t
55 dns_counter_fromtext(isc_textregion_t *source, isc_uint32_t *ttl);
56 /*
57  * Converts a counter from either a plain number or a BIND 8 style value.
58  *
59  * Returns:
60  *      ISC_R_SUCCESS
61  *      DNS_R_SYNTAX
62  */
63
64 isc_result_t
65 dns_ttl_fromtext(isc_textregion_t *source, isc_uint32_t *ttl);
66 /*
67  * Converts a ttl from either a plain number or a BIND 8 style value.
68  *
69  * Returns:
70  *      ISC_R_SUCCESS
71  *      DNS_R_BADTTL
72  */
73
74 ISC_LANG_ENDDECLS
75
76 #endif /* DNS_TTL_H */