home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / SLAX 6.0.8 / slax-6.0.8.iso / slax / base / 006-devel.lzm / usr / include / dns / callbacks.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-09-17  |  2.2 KB  |  88 lines

  1. /*
  2.  * Copyright (C) 2004, 2005  Internet Systems Consortium, Inc. ("ISC")
  3.  * Copyright (C) 1999-2002  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: callbacks.h,v 1.18.18.2 2005/04/29 00:16:10 marka Exp $ */
  19.  
  20. #ifndef DNS_CALLBACKS_H
  21. #define DNS_CALLBACKS_H 1
  22.  
  23. /*! \file */
  24.  
  25. /***
  26.  ***    Imports
  27.  ***/
  28.  
  29. #include <isc/lang.h>
  30.  
  31. #include <dns/types.h>
  32.  
  33. ISC_LANG_BEGINDECLS
  34.  
  35. /***
  36.  ***    Types
  37.  ***/
  38.  
  39. struct dns_rdatacallbacks {
  40.     /*%
  41.      * dns_load_master calls this when it has rdatasets to commit.
  42.      */
  43.     dns_addrdatasetfunc_t add;
  44.     /*%
  45.      * dns_load_master / dns_rdata_fromtext call this to issue a error.
  46.      */
  47.     void    (*error)(struct dns_rdatacallbacks *, const char *, ...);
  48.     /*%
  49.      * dns_load_master / dns_rdata_fromtext call this to issue a warning.
  50.      */
  51.     void    (*warn)(struct dns_rdatacallbacks *, const char *, ...);
  52.     /*%
  53.      * Private data handles for use by the above callback functions.
  54.      */
  55.     void    *add_private;
  56.     void    *error_private;
  57.     void    *warn_private;
  58. };
  59.  
  60. /***
  61.  ***    Initialization
  62.  ***/
  63.  
  64. void
  65. dns_rdatacallbacks_init(dns_rdatacallbacks_t *callbacks);
  66. /*%<
  67.  * Initialize 'callbacks'.
  68.  *
  69.  *
  70.  * \li    'error' and 'warn' are set to default callbacks that print the
  71.  *    error message through the DNS library log context.
  72.  *
  73.  *\li    All other elements are initialized to NULL.
  74.  *
  75.  * Requires:
  76.  *  \li    'callbacks' is a valid dns_rdatacallbacks_t,
  77.  */
  78.  
  79. void
  80. dns_rdatacallbacks_init_stdio(dns_rdatacallbacks_t *callbacks);
  81. /*%<
  82.  * Like dns_rdatacallbacks_init, but logs to stdio.
  83.  */
  84.  
  85. ISC_LANG_ENDDECLS
  86.  
  87. #endif /* DNS_CALLBACKS_H */
  88.