types.h revision 170222
1135446Strhodes/* 2170222Sdougb * Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC") 3135446Strhodes * Copyright (C) 1999-2003 Internet Software Consortium. 4135446Strhodes * 5135446Strhodes * Permission to use, copy, modify, and distribute this software for any 6135446Strhodes * purpose with or without fee is hereby granted, provided that the above 7135446Strhodes * copyright notice and this permission notice appear in all copies. 8135446Strhodes * 9135446Strhodes * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH 10135446Strhodes * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 11135446Strhodes * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, 12135446Strhodes * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13135446Strhodes * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 14135446Strhodes * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15135446Strhodes * PERFORMANCE OF THIS SOFTWARE. 16135446Strhodes */ 17135446Strhodes 18170222Sdougb/* $Id: types.h,v 1.35.18.2 2005/04/29 00:17:04 marka Exp $ */ 19135446Strhodes 20135446Strhodes#ifndef ISC_TYPES_H 21135446Strhodes#define ISC_TYPES_H 1 22135446Strhodes 23170222Sdougb/*! \file 24170222Sdougb * \brief 25135446Strhodes * OS-specific types, from the OS-specific include directories. 26135446Strhodes */ 27135446Strhodes#include <isc/int.h> 28135446Strhodes#include <isc/offset.h> 29135446Strhodes 30135446Strhodes/* 31135446Strhodes * XXXDCL should isc_boolean_t be moved here, requiring an explicit include 32135446Strhodes * of <isc/boolean.h> when ISC_TRUE/ISC_FALSE/ISC_TF() are desired? 33135446Strhodes */ 34135446Strhodes#include <isc/boolean.h> 35135446Strhodes/* 36135446Strhodes * XXXDCL This is just for ISC_LIST and ISC_LINK, but gets all of the other 37135446Strhodes * list macros too. 38135446Strhodes */ 39135446Strhodes#include <isc/list.h> 40135446Strhodes 41170222Sdougb/* Core Types. Alphabetized by defined type. */ 42135446Strhodes 43170222Sdougbtypedef struct isc_bitstring isc_bitstring_t; /*%< Bitstring */ 44170222Sdougbtypedef struct isc_buffer isc_buffer_t; /*%< Buffer */ 45170222Sdougbtypedef ISC_LIST(isc_buffer_t) isc_bufferlist_t; /*%< Buffer List */ 46170222Sdougbtypedef struct isc_constregion isc_constregion_t; /*%< Const region */ 47170222Sdougbtypedef struct isc_consttextregion isc_consttextregion_t; /*%< Const Text Region */ 48170222Sdougbtypedef struct isc_entropy isc_entropy_t; /*%< Entropy */ 49170222Sdougbtypedef struct isc_entropysource isc_entropysource_t; /*%< Entropy Source */ 50170222Sdougbtypedef struct isc_event isc_event_t; /*%< Event */ 51170222Sdougbtypedef ISC_LIST(isc_event_t) isc_eventlist_t; /*%< Event List */ 52170222Sdougbtypedef unsigned int isc_eventtype_t; /*%< Event Type */ 53170222Sdougbtypedef isc_uint32_t isc_fsaccess_t; /*%< FS Access */ 54170222Sdougbtypedef struct isc_hash isc_hash_t; /*%< Hash */ 55170222Sdougbtypedef struct isc_interface isc_interface_t; /*%< Interface */ 56170222Sdougbtypedef struct isc_interfaceiter isc_interfaceiter_t; /*%< Interface Iterator */ 57170222Sdougbtypedef struct isc_interval isc_interval_t; /*%< Interval */ 58170222Sdougbtypedef struct isc_lex isc_lex_t; /*%< Lex */ 59170222Sdougbtypedef struct isc_log isc_log_t; /*%< Log */ 60170222Sdougbtypedef struct isc_logcategory isc_logcategory_t; /*%< Log Category */ 61170222Sdougbtypedef struct isc_logconfig isc_logconfig_t; /*%< Log Configuration */ 62170222Sdougbtypedef struct isc_logmodule isc_logmodule_t; /*%< Log Module */ 63170222Sdougbtypedef struct isc_mem isc_mem_t; /*%< Memory */ 64170222Sdougbtypedef struct isc_mempool isc_mempool_t; /*%< Memory Pool */ 65170222Sdougbtypedef struct isc_msgcat isc_msgcat_t; /*%< Message Catalog */ 66170222Sdougbtypedef struct isc_ondestroy isc_ondestroy_t; /*%< On Destroy */ 67170222Sdougbtypedef struct isc_netaddr isc_netaddr_t; /*%< Net Address */ 68170222Sdougbtypedef struct isc_quota isc_quota_t; /*%< Quota */ 69170222Sdougbtypedef struct isc_random isc_random_t; /*%< Random */ 70170222Sdougbtypedef struct isc_ratelimiter isc_ratelimiter_t; /*%< Rate Limiter */ 71170222Sdougbtypedef struct isc_region isc_region_t; /*%< Region */ 72170222Sdougbtypedef isc_uint64_t isc_resourcevalue_t; /*%< Resource Value */ 73170222Sdougbtypedef unsigned int isc_result_t; /*%< Result */ 74170222Sdougbtypedef struct isc_rwlock isc_rwlock_t; /*%< Read Write Lock */ 75170222Sdougbtypedef struct isc_sockaddr isc_sockaddr_t; /*%< Socket Address */ 76170222Sdougbtypedef struct isc_socket isc_socket_t; /*%< Socket */ 77170222Sdougbtypedef struct isc_socketevent isc_socketevent_t; /*%< Socket Event */ 78170222Sdougbtypedef struct isc_socketmgr isc_socketmgr_t; /*%< Socket Manager */ 79170222Sdougbtypedef struct isc_symtab isc_symtab_t; /*%< Symbol Table */ 80170222Sdougbtypedef struct isc_task isc_task_t; /*%< Task */ 81170222Sdougbtypedef ISC_LIST(isc_task_t) isc_tasklist_t; /*%< Task List */ 82170222Sdougbtypedef struct isc_taskmgr isc_taskmgr_t; /*%< Task Manager */ 83170222Sdougbtypedef struct isc_textregion isc_textregion_t; /*%< Text Region */ 84170222Sdougbtypedef struct isc_time isc_time_t; /*%< Time */ 85170222Sdougbtypedef struct isc_timer isc_timer_t; /*%< Timer */ 86170222Sdougbtypedef struct isc_timermgr isc_timermgr_t; /*%< Timer Manager */ 87135446Strhodes 88135446Strhodestypedef void (*isc_taskaction_t)(isc_task_t *, isc_event_t *); 89135446Strhodes 90170222Sdougb/*% Resource */ 91135446Strhodestypedef enum { 92135446Strhodes isc_resource_coresize = 1, 93135446Strhodes isc_resource_cputime, 94135446Strhodes isc_resource_datasize, 95135446Strhodes isc_resource_filesize, 96135446Strhodes isc_resource_lockedmemory, 97135446Strhodes isc_resource_openfiles, 98135446Strhodes isc_resource_processes, 99135446Strhodes isc_resource_residentsize, 100135446Strhodes isc_resource_stacksize 101135446Strhodes} isc_resource_t; 102135446Strhodes 103135446Strhodes#endif /* ISC_TYPES_H */ 104