event.h File Reference

#include <isc/lang.h>
#include <isc/types.h>

Go to the source code of this file.

Data Structures

struct  isc_event
 This structure is public because "subclassing" it may be useful when defining new event types. More...

Defines

#define ISC_EVENT_H   1
#define ISC_EVENT_COMMON(ltype)
#define ISC_EVENTATTR_NOPURGE   0x00000001
 Attributes matching a mask of 0x000000ff are reserved for the task library's definition. Attributes of 0xffffff00 may be used by the application or non-ISC libraries.
#define ISC_EVENTATTR_CANCELED   0x00000002
 The ISC_EVENTATTR_CANCELED attribute is intended to indicate that an event is delivered as a result of a canceled operation rather than successful completion, by mutual agreement between the sender and receiver. It is not set or used by the task system.
#define ISC_EVENT_INIT(event, sz, at, ta, ty, ac, ar, sn, df, da)
#define ISC_EVENTTYPE_FIRSTEVENT   0x00000000
#define ISC_EVENTTYPE_LASTEVENT   0xffffffff
#define ISC_EVENT_PTR(p)   ((isc_event_t **)(void *)(p))

Typedefs

typedef void(* isc_eventdestructor_t )(isc_event_t *)

Functions

ISC_LANG_BEGINDECLS isc_event_tisc_event_allocate (isc_mem_t *mctx, void *sender, isc_eventtype_t type, isc_taskaction_t action, void *arg, size_t size)
isc_event_tisc_event_constallocate (isc_mem_t *mctx, void *sender, isc_eventtype_t type, isc_taskaction_t action, const void *arg, size_t size)
 Allocate an event structure.
void isc_event_free (isc_event_t **)


Detailed Description

Definition in file event.h.


Define Documentation

#define ISC_EVENT_H   1

Definition at line 21 of file event.h.

#define ISC_EVENT_COMMON ( ltype   ) 

Value:

size_t                          ev_size; \
        unsigned int                    ev_attributes; \
        void *                          ev_tag; \
        isc_eventtype_t                 ev_type; \
        isc_taskaction_t                ev_action; \
        void *                          ev_arg; \
        void *                          ev_sender; \
        isc_eventdestructor_t           ev_destroy; \
        void *                          ev_destroy_arg; \
        ISC_LINK(ltype)                 ev_link

Definition at line 34 of file event.h.

#define ISC_EVENTATTR_NOPURGE   0x00000001

Attributes matching a mask of 0x000000ff are reserved for the task library's definition. Attributes of 0xffffff00 may be used by the application or non-ISC libraries.

Definition at line 51 of file event.h.

#define ISC_EVENTATTR_CANCELED   0x00000002

The ISC_EVENTATTR_CANCELED attribute is intended to indicate that an event is delivered as a result of a canceled operation rather than successful completion, by mutual agreement between the sender and receiver. It is not set or used by the task system.

Definition at line 60 of file event.h.

Referenced by isc_ratelimiter_shutdown(), notify_send_toaddr(), soa_query(), zone_asyncload(), zone_gotreadhandle(), zone_gotwritehandle(), and zonemgr_cancelio().

#define ISC_EVENT_INIT ( event,
sz,
at,
ta,
ty,
ac,
ar,
sn,
df,
da   ) 

Value:

do { \
        (event)->ev_size = (sz); \
        (event)->ev_attributes = (at); \
        (event)->ev_tag = (ta); \
        (event)->ev_type = (ty); \
        (event)->ev_action = (ac); \
        (event)->ev_arg = (ar); \
        (event)->ev_sender = (sn); \
        (event)->ev_destroy = (df); \
        (event)->ev_destroy_arg = (da); \
        ISC_LINK_INIT((event), ev_link); \
} while (0)

Definition at line 62 of file event.h.

Referenced by allocate_devent(), allocate_sevent(), check_exit(), client_create(), dns_acache_create(), dns_adb_create(), dns_adb_shutdown(), dns_byaddr_create(), dns_dispatch_addresponse3(), dns_resolver_createfetch3(), dns_tcpmsg_readmessage(), dns_view_create(), dns_zone_create(), do_cancel(), fctx_start(), isc_event_allocate(), isc_event_constallocate(), isc_ratelimiter_create(), isccc_ccmsg_readmessage(), new_adbfind(), new_request(), resquery_send(), tcp_recv(), and udp_recv().

#define ISC_EVENTTYPE_FIRSTEVENT   0x00000000

Definition at line 84 of file event.h.

#define ISC_EVENTTYPE_LASTEVENT   0xffffffff

Definition at line 85 of file event.h.

#define ISC_EVENT_PTR (  )     ((isc_event_t **)(void *)(p))

Definition at line 87 of file event.h.

Referenced by assignwork(), client_resfind(), dispatch(), dns_client_startrequest(), dns_client_startresolve(), dns_client_startupdate(), dns_dispatch_addresponse3(), dns_dispatch_importrecv(), dns_resolver_cancelfetch(), dns_validator_create(), dns_validator_send(), do_cancel(), fctx_sendevents(), forward_callback(), internal_accept(), isc__socket_accept(), isc__socket_cancel(), lookup_find(), query_find(), request_done(), send_forward_event(), send_update_event(), sign(), tcp_recv(), udp_recv(), and update_sendevent().


Typedef Documentation

typedef void(* isc_eventdestructor_t)(isc_event_t *)

Definition at line 32 of file event.h.


Function Documentation

ISC_LANG_BEGINDECLS isc_event_t* isc_event_allocate ( isc_mem_t mctx,
void *  sender,
isc_eventtype_t  type,
isc_taskaction_t  action,
void *  arg,
size_t  size 
)

Definition at line 43 of file event.c.

References destroy(), ISC_EVENT_INIT, isc_mem_get, and REQUIRE.

Referenced by acache_cleaner_init(), assignwork(), ATF_TC_BODY(), cache_cleaner_init(), closeversion(), decrement_reference(), dispatch(), dispatch_createudp(), dns_client_startrequest(), dns_client_startresolve(), dns_client_startupdate(), dns_dispatch_createtcp2(), dns_dispatch_importrecv(), dns_lookup_create(), dns_request_createraw4(), dns_request_createvia4(), dns_validator_create(), dns_zone_asyncload(), fctx_join(), force_timeout(), free_rbtdb(), isc__app_ctxonrun(), isc__socket_accept(), isc__task_onshutdown(), notify_send_queue(), ns_server_create(), queue_soa_query(), send_forward_event(), send_update_event(), sign(), task_send(), zmgr_start_xfrin_ifquota(), zone_postload(), zone_send_securedb(), zone_send_secureserial(), and zonemgr_getio().

isc_event_t* isc_event_constallocate ( isc_mem_t mctx,
void *  sender,
isc_eventtype_t  type,
isc_taskaction_t  action,
const void *  arg,
size_t  size 
)

Allocate an event structure.

Allocate and initialize in a structure with initial elements defined by:

        struct {
                ISC_EVENT_COMMON(struct isc_event);
                ...
        };

Requires:

Returns:

Definition at line 62 of file event.c.

References DE_CONST, destroy(), ISC_EVENT_INIT, isc_mem_get, and REQUIRE.

void isc_event_free ( isc_event_t **   ) 

Definition at line 96 of file event.c.

References REQUIRE.

Referenced by acache_cleaner_init(), acache_cleaner_shutdown_action(), acache_cleaning_timer_action(), accept_done(), adb_shutdown(), authvalidated(), byaddr_done(), cache_cleaner_init(), cache_free(), checkbogus(), cleaner_shutdown_action(), cleaning_timer_action(), cleanup(), cleanup_dead_nodes_callback(), client_create(), client_delay(), client_newconn(), client_resfind(), client_shutdown(), client_timeout(), cnamevalidated(), connect_done(), connect_timeout(), control_newconn(), control_senddone(), control_timeout(), destroy(), destroy_disp(), dispatch_createudp(), dlvfetched(), dlvvalidated(), dns_byaddr_create(), dns_client_startrequest(), dns_client_startresolve(), dns_client_startupdate(), dns_dispatch_importrecv(), dns_lookup_create(), dns_validator_create(), dsfetched(), dsfetched2(), dsvalidated(), dump_quantum(), event_done(), exit_check(), fctx_finddone(), fctx_timeout(), fetch_callback(), fetch_callback_validator(), fetch_done(), forward_callback(), forward_done(), forward_fail(), free_rbtdb(), got_transfer_quota(), grow_entries(), grow_names(), heartbeat_timer_tick(), interface_timer_tick(), internal_update_callback(), isc__socket_accept(), isc__task_purgerange(), isc_httpd_accept(), isc_httpd_recvdone(), isc_httpd_senddone(), isc_task_purgeevent(), keydone(), keyfetch_done(), keyvalidated(), load_quantum(), localrequest_done(), lookup_done(), lookup_find(), lwdclientmgr_shutdown_callback(), main(), notify_done(), notify_isqueued(), notify_send_queue(), notify_send_toaddr(), ns_lwdclient_recv(), ns_lwdclient_send(), ns_server_destroy(), onrun_callback(), pps_timer_tick(), prefetch_done(), prime_done(), process_adb_event(), process_gabn_finddone(), process_sendevent(), prune_tree(), query_find(), query_resume(), queue_soa_query(), ratelimiter_tick(), receive_secure_db(), receive_secure_serial(), receive_soa(), recv_done(), recv_length(), recv_message(), recvsoa(), refresh_callback(), req_connected(), req_destroy(), req_senddone(), req_shutdown(), req_timeout(), request_done(), resolve_done(), resolveaddr_done(), resolver_shutdown(), resolvesoa_done(), resquery_connected(), resume_dslookup(), rndc_connected(), rndc_recvdone(), rndc_recvnonce(), rndc_senddone(), rndc_start(), run_server(), send_done(), send_forward_event(), send_update_event(), set(), set_and_drop(), shutdown_program(), shutdown_server(), shutdown_task(), sign(), soa_query(), spillattimer_countdown(), start_zone_asyncload(), start_zt_asyncload(), startworker(), stub_callback(), suspend(), tcp_length_done(), tcp_recv(), udp_recv(), update_completed(), update_done(), updatedone_action(), writenode(), xfrin_connect_done(), xfrin_recv_done(), xfrin_send_done(), xfrin_timeout(), xfrout_senddone(), zone_asyncload(), zone_gotreadhandle(), zone_gotwritehandle(), and zone_timer().


Generated on Tue Apr 28 17:41:15 2015 by Doxygen 1.5.4 for BIND9 Internals 9.11.0pre-alpha