log.h revision 7d32c065c7bb56f281651ae3dd2888f32ce4f1d9
d6fa26d0adaec6c910115be34fe7a5a5f402c14fMark Andrews/*
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein * Copyright (C) 1999, 2000 Internet Software Consortium.
f0aad5341752aefe5059832f6cf3abc3283c6e16Tinderbox User *
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein * Permission to use, copy, modify, and distribute this software for any
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User * purpose with or without fee is hereby granted, provided that the above
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User * copyright notice and this permission notice appear in all copies.
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User *
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
d6fa26d0adaec6c910115be34fe7a5a5f402c14fMark Andrews * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein * SOFTWARE.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein */
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein/* $Id: log.h,v 1.11 2000/02/03 23:40:57 halley Exp $ */
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein/* Principal Authors: DCL */
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User#ifndef DNS_LOG_H
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#define DNS_LOG_H 1
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#include <isc/log.h>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews#include <dns/result.h>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinISC_LANG_BEGINDECLS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinextern isc_log_t *dns_lctx;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinextern isc_logcategory_t dns_categories[];
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Userextern isc_logmodule_t dns_modules[];
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User#define DNS_LOGCATEGORY_GENERAL (&dns_categories[0])
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#define DNS_LOGCATEGORY_DATABASE (&dns_categories[1])
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#define DNS_LOGCATEGORY_SECURITY (&dns_categories[2])
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User#define DNS_LOGCATEGORY_CONFIG (&dns_categories[3])
0ce865f8b2e652d6fe0c029e3538f4cc7e009fe1Tinderbox User#define DNS_LOGCATEGORY_PARSER (&dns_categories[4])
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#define DNS_LOGCATEGORY_RESOLVER (&dns_categories[5])
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#define DNS_LOGCATEGORY_XFER_IN (&dns_categories[6])
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#define DNS_LOGCATEGORY_XFER_OUT (&dns_categories[7])
a1ff871f78b7d907d6fc3a382beea2a640fe8423Tinderbox User
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#define DNS_LOGMODULE_DB (&dns_modules[0])
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#define DNS_LOGMODULE_RBTDB (&dns_modules[1])
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#define DNS_LOGMODULE_RBTDB64 (&dns_modules[2])
0da02c26a6631c25f075a8e4ac6de9e58f49a0c2Tinderbox User#define DNS_LOGMODULE_RBT (&dns_modules[3])
ffe29868b4bbc64953fc5d0de51f988c20158967Tinderbox User#define DNS_LOGMODULE_RDATA (&dns_modules[4])
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#define DNS_LOGMODULE_MASTER (&dns_modules[5])
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#define DNS_LOGMODULE_MESSAGE (&dns_modules[6])
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#define DNS_LOGMODULE_CACHE (&dns_modules[7])
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#define DNS_LOGMODULE_CONFIG (&dns_modules[8])
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#define DNS_LOGMODULE_RESOLVER (&dns_modules[9])
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User#define DNS_LOGMODULE_ZONE (&dns_modules[10])
f9ce6280cec79deb16ff6d9807aa493ff23e10d9Tinderbox User#define DNS_LOGMODULE_JOURNAL (&dns_modules[11])
0ce865f8b2e652d6fe0c029e3538f4cc7e009fe1Tinderbox User#define DNS_LOGMODULE_ADB (&dns_modules[12])
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User#define DNS_LOGMODULE_XFER_IN (&dns_modules[13])
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User#define DNS_LOGMODULE_XFER_OUT (&dns_modules[14])
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#define DNS_LOGMODULE_ACL (&dns_modules[15])
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userisc_result_t
0da02c26a6631c25f075a8e4ac6de9e58f49a0c2Tinderbox Userdns_log_init(isc_log_t *lctx);
0da02c26a6631c25f075a8e4ac6de9e58f49a0c2Tinderbox User/*
0da02c26a6631c25f075a8e4ac6de9e58f49a0c2Tinderbox User * Make the libdns.a categories and modules available for use with the
0da02c26a6631c25f075a8e4ac6de9e58f49a0c2Tinderbox User * ISC logging library.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt *
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User * Requires:
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User * lctx is a valid logging context.
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User *
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt * dns_log_init() is called only once.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt *
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User * Ensures:
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt * ISC_R_SUCCESS
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User * The catgories and modules defined above are available for
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt * use by isc_log_usechannnel() and isc_log_write().
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt *
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt * ISC_R_NOMEMORY
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt * The catgories and modules defined above are not available for
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User * use by isc_log_usechannnel() and isc_log_write(), and no
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User * additional memory is being used because of the call to
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User * dns_log_init().
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt *
a1ff871f78b7d907d6fc3a382beea2a640fe8423Tinderbox User *
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User * Returns:
0da02c26a6631c25f075a8e4ac6de9e58f49a0c2Tinderbox User * ISC_R_SUCCESS Success
8a48b6b9b6fa8486f24b22d1972b2b6ebb36a4a4Tinderbox User * ISC_R_NOMEMORY Resource limit: Out of memory
0da02c26a6631c25f075a8e4ac6de9e58f49a0c2Tinderbox User */
8a48b6b9b6fa8486f24b22d1972b2b6ebb36a4a4Tinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox UserISC_LANG_ENDDECLS
8a48b6b9b6fa8486f24b22d1972b2b6ebb36a4a4Tinderbox User
8a48b6b9b6fa8486f24b22d1972b2b6ebb36a4a4Tinderbox User#endif /* DNS_LOG_H */
8a48b6b9b6fa8486f24b22d1972b2b6ebb36a4a4Tinderbox User