log.h revision 70f6053bd1c18f0a0ebe5b52c8ddbf464e92a1c5
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence/*
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence * Copyright (C) 1999 Internet Software Consortium.
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence *
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence * Permission to use, copy, modify, and distribute this software for any
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence * purpose with or without fee is hereby granted, provided that the above
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence * copyright notice and this permission notice appear in all copies.
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence *
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence * SOFTWARE.
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence */
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence
70f6053bd1c18f0a0ebe5b52c8ddbf464e92a1c5Mark Andrews/* $Id: log.h,v 1.4 1999/10/25 11:21:03 marka Exp $ */
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence/* Principal Authors: DCL */
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence#ifndef DNS_LOG_H
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence#define DNS_LOG_H 1
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence#include <isc/log.h>
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence#include <dns/result.h>
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence
fc80027fb54b501cdd88461bf879d078259e0226David LawrenceISC_LANG_BEGINDECLS
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence
fc80027fb54b501cdd88461bf879d078259e0226David Lawrenceextern isc_log_t *dns_lctx;
fc80027fb54b501cdd88461bf879d078259e0226David Lawrenceextern isc_logcategory_t dns_categories[];
fc80027fb54b501cdd88461bf879d078259e0226David Lawrenceextern isc_logmodule_t dns_modules[];
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence#define DNS_LOGCATEGORY_GENERAL (&dns_categories[0])
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence#define DNS_LOGCATEGORY_DATABASE (&dns_categories[1])
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence#define DNS_LOGCATEGORY_SECURITY (&dns_categories[2])
249aa1914b5462a77f24c4a8dc9a1b9f0ff8ee5fJames Brister#define DNS_LOGCATEGORY_CONFIG (&dns_categories[3])
249aa1914b5462a77f24c4a8dc9a1b9f0ff8ee5fJames Brister#define DNS_LOGCATEGORY_PARSER (&dns_categories[4])
2c2cda0045ec97d0db445ed777411930f27c0dd0Bob Halley#define DNS_LOGCATEGORY_RESOLVER (&dns_categories[5])
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence#define DNS_LOGMODULE_DB (&dns_modules[0])
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence#define DNS_LOGMODULE_RBTDB (&dns_modules[1])
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence#define DNS_LOGMODULE_RBTDB64 (&dns_modules[2])
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence#define DNS_LOGMODULE_RBT (&dns_modules[3])
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence#define DNS_LOGMODULE_RDATA (&dns_modules[4])
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence#define DNS_LOGMODULE_MASTER (&dns_modules[5])
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence#define DNS_LOGMODULE_MESSAGE (&dns_modules[6])
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence#define DNS_LOGMODULE_CACHE (&dns_modules[7])
249aa1914b5462a77f24c4a8dc9a1b9f0ff8ee5fJames Brister#define DNS_LOGMODULE_CONFIG (&dns_modules[8])
2c2cda0045ec97d0db445ed777411930f27c0dd0Bob Halley#define DNS_LOGMODULE_RESOLVER (&dns_modules[9])
70f6053bd1c18f0a0ebe5b52c8ddbf464e92a1c5Mark Andrews#define DNS_LOGMODULE_ZONE (&dns_modules[10])
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence
fc80027fb54b501cdd88461bf879d078259e0226David Lawrencedns_result_t
fc80027fb54b501cdd88461bf879d078259e0226David Lawrencedns_log_init(isc_log_t *lctx);
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence/*
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence * Make the libdns.a categories and modules available for use with the
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence * ISC logging library.
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence *
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence * Requires:
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence * lctx is a valid logging context.
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence *
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence * dns_log_init() is called only once.
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence *
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence * Ensures:
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence * ISC_R_SUCCESS
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence * The catgories and modules defined above are available for
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence * use by isc_log_usechannnel() and isc_log_write().
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence *
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence * ISC_R_NOMEMORY
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence * The catgories and modules defined above are not available for
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence * use by isc_log_usechannnel() and isc_log_write(), and no
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence * additional memory is being used because of the call to
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence * dns_log_init().
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence *
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence *
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence * Returns:
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence * ISC_R_SUCCESS Success
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence * ISC_R_NOMEMORY Resource limit: Out of memory
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence */
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence
fc80027fb54b501cdd88461bf879d078259e0226David LawrenceISC_LANG_ENDDECLS
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence
fc80027fb54b501cdd88461bf879d078259e0226David Lawrence#endif /* DNS_LOG_H */