/contrib/bind9/lib/dns/rdata/generic/opt_41.h

https://bitbucket.org/freebsd/freebsd-head/ · C Header · 55 lines · 21 code · 10 blank · 24 comment · 0 complexity · e408d443864f7a32fa0873f75bc2c164 MD5 · raw file

  1. /*
  2. * Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
  3. * Copyright (C) 1998-2001 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. #ifndef GENERIC_OPT_41_H
  18. #define GENERIC_OPT_41_H 1
  19. /* $Id: opt_41.h,v 1.18 2007/06/19 23:47:17 tbox Exp $ */
  20. /*!
  21. * \brief Per RFC2671 */
  22. typedef struct dns_rdata_opt_opcode {
  23. isc_uint16_t opcode;
  24. isc_uint16_t length;
  25. unsigned char *data;
  26. } dns_rdata_opt_opcode_t;
  27. typedef struct dns_rdata_opt {
  28. dns_rdatacommon_t common;
  29. isc_mem_t *mctx;
  30. unsigned char *options;
  31. isc_uint16_t length;
  32. /* private */
  33. isc_uint16_t offset;
  34. } dns_rdata_opt_t;
  35. /*
  36. * ISC_LANG_BEGINDECLS and ISC_LANG_ENDDECLS are already done
  37. * via rdatastructpre.h and rdatastructsuf.h.
  38. */
  39. isc_result_t
  40. dns_rdata_opt_first(dns_rdata_opt_t *);
  41. isc_result_t
  42. dns_rdata_opt_next(dns_rdata_opt_t *);
  43. isc_result_t
  44. dns_rdata_opt_current(dns_rdata_opt_t *, dns_rdata_opt_opcode_t *);
  45. #endif /* GENERIC_OPT_41_H */