Import bind 9.5.2 vendor sources.
[dragonfly.git] / contrib / bind-9.5.2 / lib / dns / log.c
1 /*
2  * Copyright (C) 2004-2007  Internet Systems Consortium, Inc. ("ISC")
3  * Copyright (C) 1999-2001, 2003  Internet Software Consortium.
4  *
5  * Permission to use, copy, modify, and/or 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: log.c,v 1.45 2007/06/18 23:47:40 tbox Exp $ */
19
20 /*! \file */
21
22 /* Principal Authors: DCL */
23
24 #include <config.h>
25
26 #include <isc/util.h>
27
28 #include <dns/log.h>
29
30 /*%
31  * When adding a new category, be sure to add the appropriate
32  * \#define to <dns/log.h>.
33  */
34 LIBDNS_EXTERNAL_DATA isc_logcategory_t dns_categories[] = {
35         { "notify",     0 },
36         { "database",   0 },
37         { "security",   0 },
38         { "_placeholder", 0 },
39         { "dnssec",     0 },
40         { "resolver",   0 },
41         { "xfer-in",    0 },
42         { "xfer-out",   0 },
43         { "dispatch",   0 },
44         { "lame-servers", 0 },
45         { "delegation-only", 0 },
46         { "edns-disabled", 0 },
47         { NULL,         0 }
48 };
49
50 /*%
51  * When adding a new module, be sure to add the appropriate
52  * \#define to <dns/log.h>.
53  */
54 LIBDNS_EXTERNAL_DATA isc_logmodule_t dns_modules[] = {
55         { "dns/db",             0 },
56         { "dns/rbtdb",          0 },
57         { "dns/rbtdb64",        0 },
58         { "dns/rbt",            0 },
59         { "dns/rdata",          0 },
60         { "dns/master",         0 },
61         { "dns/message",        0 },
62         { "dns/cache",          0 },
63         { "dns/config",         0 },
64         { "dns/resolver",       0 },
65         { "dns/zone",           0 },
66         { "dns/journal",        0 },
67         { "dns/adb",            0 },
68         { "dns/xfrin",          0 },
69         { "dns/xfrout",         0 },
70         { "dns/acl",            0 },
71         { "dns/validator",      0 },
72         { "dns/dispatch",       0 },
73         { "dns/request",        0 },
74         { "dns/masterdump",     0 },
75         { "dns/tsig",           0 },
76         { "dns/tkey",           0 },
77         { "dns/sdb",            0 },
78         { "dns/diff",           0 },
79         { "dns/hints",          0 },
80         { "dns/acache",         0 },
81         { "dns/dlz",            0 },
82         { NULL,                 0 }
83 };
84
85 LIBDNS_EXTERNAL_DATA isc_log_t *dns_lctx = NULL;
86
87 void
88 dns_log_init(isc_log_t *lctx) {
89         REQUIRE(lctx != NULL);
90
91         isc_log_registercategories(lctx, dns_categories);
92         isc_log_registermodules(lctx, dns_modules);
93 }
94
95 void
96 dns_log_setcontext(isc_log_t *lctx) {
97         dns_lctx = lctx;
98 }