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 / rdataclass.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-09-17  |  2.3 KB  |  82 lines

  1. /*
  2.  * Copyright (C) 2004, 2005  Internet Systems Consortium, Inc. ("ISC")
  3.  * Copyright (C) 1998-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: rdataclass.h,v 1.18.18.2 2005/04/29 00:16:18 marka Exp $ */
  19.  
  20. #ifndef DNS_RDATACLASS_H
  21. #define DNS_RDATACLASS_H 1
  22.  
  23. /*! \file */
  24.  
  25. #include <isc/lang.h>
  26.  
  27. #include <dns/types.h>
  28.  
  29. ISC_LANG_BEGINDECLS
  30.  
  31. isc_result_t
  32. dns_rdataclass_fromtext(dns_rdataclass_t *classp, isc_textregion_t *source);
  33. /*%<
  34.  * Convert the text 'source' refers to into a DNS class.
  35.  *
  36.  * Requires:
  37.  *\li    'classp' is a valid pointer.
  38.  *
  39.  *\li    'source' is a valid text region.
  40.  *
  41.  * Returns:
  42.  *\li    #ISC_R_SUCCESS            on success
  43.  *\li    #DNS_R_UNKNOWN            class is unknown
  44.  */
  45.  
  46. isc_result_t
  47. dns_rdataclass_totext(dns_rdataclass_t rdclass, isc_buffer_t *target);
  48. /*%<
  49.  * Put a textual representation of class 'rdclass' into 'target'.
  50.  *
  51.  * Requires:
  52.  *\li    'rdclass' is a valid class.
  53.  *
  54.  *\li    'target' is a valid text buffer.
  55.  *
  56.  * Ensures,
  57.  *    if the result is success:
  58.  *\li        The used space in 'target' is updated.
  59.  *
  60.  * Returns:
  61.  *\li    #ISC_R_SUCCESS            on success
  62.  *\li    #ISC_R_NOSPACE            target buffer is too small
  63.  */
  64.  
  65. void
  66. dns_rdataclass_format(dns_rdataclass_t rdclass,
  67.               char *array, unsigned int size);
  68. /*%<
  69.  * Format a human-readable representation of the class 'rdclass'
  70.  * into the character array 'array', which is of size 'size'.
  71.  * The resulting string is guaranteed to be null-terminated.
  72.  */
  73.  
  74. #define DNS_RDATACLASS_FORMATSIZE sizeof("CLASS65535")
  75. /*%<
  76.  * Minimum size of array to pass to dns_rdataclass_format().
  77.  */
  78.  
  79. ISC_LANG_ENDDECLS
  80.  
  81. #endif /* DNS_RDATACLASS_H */
  82.