/contrib/bind9/lib/isc/include/isc/types.h

https://bitbucket.org/freebsd/freebsd-head/ · C++ Header · 129 lines · 86 code · 11 blank · 32 comment · 0 complexity · 818ec76339d7a58a7beede88511689d6 MD5 · raw file

  1. /*
  2. * Copyright (C) 2004-2009, 2012 Internet Systems Consortium, Inc. ("ISC")
  3. * Copyright (C) 1999-2003 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. /* $Id$ */
  18. #ifndef ISC_TYPES_H
  19. #define ISC_TYPES_H 1
  20. #include <isc/bind9.h>
  21. #include <isc/namespace.h>
  22. /*! \file isc/types.h
  23. * \brief
  24. * OS-specific types, from the OS-specific include directories.
  25. */
  26. #include <isc/int.h>
  27. #include <isc/offset.h>
  28. /*
  29. * XXXDCL should isc_boolean_t be moved here, requiring an explicit include
  30. * of <isc/boolean.h> when ISC_TRUE/ISC_FALSE/ISC_TF() are desired?
  31. */
  32. #include <isc/boolean.h>
  33. /*
  34. * XXXDCL This is just for ISC_LIST and ISC_LINK, but gets all of the other
  35. * list macros too.
  36. */
  37. #include <isc/list.h>
  38. /* Core Types. Alphabetized by defined type. */
  39. typedef struct isc_appctx isc_appctx_t; /*%< Application context */
  40. typedef struct isc_backtrace_symmap isc_backtrace_symmap_t; /*%< Symbol Table Entry */
  41. typedef struct isc_bitstring isc_bitstring_t; /*%< Bitstring */
  42. typedef struct isc_buffer isc_buffer_t; /*%< Buffer */
  43. typedef ISC_LIST(isc_buffer_t) isc_bufferlist_t; /*%< Buffer List */
  44. typedef struct isc_constregion isc_constregion_t; /*%< Const region */
  45. typedef struct isc_consttextregion isc_consttextregion_t; /*%< Const Text Region */
  46. typedef struct isc_entropy isc_entropy_t; /*%< Entropy */
  47. typedef struct isc_entropysource isc_entropysource_t; /*%< Entropy Source */
  48. typedef struct isc_event isc_event_t; /*%< Event */
  49. typedef ISC_LIST(isc_event_t) isc_eventlist_t; /*%< Event List */
  50. typedef unsigned int isc_eventtype_t; /*%< Event Type */
  51. typedef isc_uint32_t isc_fsaccess_t; /*%< FS Access */
  52. typedef struct isc_hash isc_hash_t; /*%< Hash */
  53. typedef struct isc_httpd isc_httpd_t; /*%< HTTP client */
  54. typedef void (isc_httpdfree_t)(isc_buffer_t *, void *); /*%< HTTP free function */
  55. typedef struct isc_httpdmgr isc_httpdmgr_t; /*%< HTTP manager */
  56. typedef struct isc_httpdurl isc_httpdurl_t; /*%< HTTP URL */
  57. typedef void (isc_httpdondestroy_t)(void *); /*%< Callback on destroying httpd */
  58. typedef struct isc_interface isc_interface_t; /*%< Interface */
  59. typedef struct isc_interfaceiter isc_interfaceiter_t; /*%< Interface Iterator */
  60. typedef struct isc_interval isc_interval_t; /*%< Interval */
  61. typedef struct isc_lex isc_lex_t; /*%< Lex */
  62. typedef struct isc_log isc_log_t; /*%< Log */
  63. typedef struct isc_logcategory isc_logcategory_t; /*%< Log Category */
  64. typedef struct isc_logconfig isc_logconfig_t; /*%< Log Configuration */
  65. typedef struct isc_logmodule isc_logmodule_t; /*%< Log Module */
  66. typedef struct isc_mem isc_mem_t; /*%< Memory */
  67. typedef struct isc_mempool isc_mempool_t; /*%< Memory Pool */
  68. typedef struct isc_msgcat isc_msgcat_t; /*%< Message Catalog */
  69. typedef struct isc_ondestroy isc_ondestroy_t; /*%< On Destroy */
  70. typedef struct isc_netaddr isc_netaddr_t; /*%< Net Address */
  71. typedef struct isc_portset isc_portset_t; /*%< Port Set */
  72. typedef struct isc_quota isc_quota_t; /*%< Quota */
  73. typedef struct isc_random isc_random_t; /*%< Random */
  74. typedef struct isc_ratelimiter isc_ratelimiter_t; /*%< Rate Limiter */
  75. typedef struct isc_region isc_region_t; /*%< Region */
  76. typedef isc_uint64_t isc_resourcevalue_t; /*%< Resource Value */
  77. typedef unsigned int isc_result_t; /*%< Result */
  78. typedef struct isc_rwlock isc_rwlock_t; /*%< Read Write Lock */
  79. typedef struct isc_sockaddr isc_sockaddr_t; /*%< Socket Address */
  80. typedef struct isc_socket isc_socket_t; /*%< Socket */
  81. typedef struct isc_socketevent isc_socketevent_t; /*%< Socket Event */
  82. typedef struct isc_socketmgr isc_socketmgr_t; /*%< Socket Manager */
  83. typedef struct isc_stats isc_stats_t; /*%< Statistics */
  84. typedef int isc_statscounter_t; /*%< Statistics Counter */
  85. typedef struct isc_symtab isc_symtab_t; /*%< Symbol Table */
  86. typedef struct isc_task isc_task_t; /*%< Task */
  87. typedef ISC_LIST(isc_task_t) isc_tasklist_t; /*%< Task List */
  88. typedef struct isc_taskmgr isc_taskmgr_t; /*%< Task Manager */
  89. typedef struct isc_textregion isc_textregion_t; /*%< Text Region */
  90. typedef struct isc_time isc_time_t; /*%< Time */
  91. typedef struct isc_timer isc_timer_t; /*%< Timer */
  92. typedef struct isc_timermgr isc_timermgr_t; /*%< Timer Manager */
  93. typedef void (*isc_taskaction_t)(isc_task_t *, isc_event_t *);
  94. typedef int (*isc_sockfdwatch_t)(isc_task_t *, isc_socket_t *, void *, int);
  95. /* The following cannot be listed alphabetically due to forward reference */
  96. typedef isc_result_t (isc_httpdaction_t)(const char *url,
  97. const char *querystring,
  98. void *arg,
  99. unsigned int *retcode,
  100. const char **retmsg,
  101. const char **mimetype,
  102. isc_buffer_t *body,
  103. isc_httpdfree_t **freecb,
  104. void **freecb_args);
  105. typedef isc_boolean_t (isc_httpdclientok_t)(const isc_sockaddr_t *, void *);
  106. /*% Resource */
  107. typedef enum {
  108. isc_resource_coresize = 1,
  109. isc_resource_cputime,
  110. isc_resource_datasize,
  111. isc_resource_filesize,
  112. isc_resource_lockedmemory,
  113. isc_resource_openfiles,
  114. isc_resource_processes,
  115. isc_resource_residentsize,
  116. isc_resource_stacksize
  117. } isc_resource_t;
  118. #endif /* ISC_TYPES_H */