diff options
author | Dmitri Pal <dpal@redhat.com> | 2009-09-17 00:01:09 -0400 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2009-10-05 10:32:08 -0400 |
commit | 8140cea7b4e3d3c9c6003eb6ae30e5e0fdd7c1ae (patch) | |
tree | 3f6ec4cf35410fa2c19c2dc448d311d4bd0ef4b3 /common/elapi/elapi_log.h | |
parent | ea7d823fa584b36e9a34a43c32dc476beede5ea2 (diff) | |
download | sssd-8140cea7b4e3d3c9c6003eb6ae30e5e0fdd7c1ae.tar.gz sssd-8140cea7b4e3d3c9c6003eb6ae30e5e0fdd7c1ae.tar.xz sssd-8140cea7b4e3d3c9c6003eb6ae30e5e0fdd7c1ae.zip |
ELAPI Event resolver
Started working on the async processing
and realised that I need to have a good
copy of the event with all the fields resolved
so this patch has some foundation for the async
functions (module elapi_async.c) but they
are mostly stubbed out.
The actual code will be added down the road.
Instead the patch focuses on the code
introduced in elapi_resolve.c module
and the use of the functions from it.
It also adds the implementation of the
high level calls that initialize ELAPI
with the external callbacks to be used
during async processing (elapi_log.c).
Diffstat (limited to 'common/elapi/elapi_log.h')
-rw-r--r-- | common/elapi/elapi_log.h | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/common/elapi/elapi_log.h b/common/elapi/elapi_log.h index 7d783553d..5417caa7e 100644 --- a/common/elapi/elapi_log.h +++ b/common/elapi/elapi_log.h @@ -42,6 +42,23 @@ struct elapi_dispatcher; */ /********** Main functions of the interface **********/ +/* Structure that contains the pointer to functions + * that needed to be provided to enable async processing. + */ +struct elapi_async_ctx; + +/* Interface to create the async context */ +int elapi_create_asctx(struct elapi_async_ctx **ctx, + elapi_add_fd add_fd_cb, + elapi_rem_fd rem_fd_cb, + elapi_set_fd set_fd_cb, + void *ext_fd_data, + elapi_add_tm add_tm_cb, + elapi_rem_tm rem_tm_cb, + void *ext_tm_data); + +/* Function to free the async context */ +void elapi_destroy_asctx(struct elapi_async_ctx *ctx); /* Function to create a dispatcher */ int elapi_create_dispatcher(struct elapi_dispatcher **dispatcher, /* Handle of the dispatcher will be stored in this variable */ @@ -52,7 +69,7 @@ int elapi_create_dispatcher(struct elapi_dispatcher **dispatcher, /* Handle of int elapi_create_dispatcher_adv(struct elapi_dispatcher **dispatcher, /* Handle of the dispatcher will be stored in this variable */ const char *appname, /* Application name. Passed to the sinks to do initialization */ const char *config_path, /* See notes below in the elapi_init() function. */ - struct elapi_async_ctx *async_ctx); /* Async context. */ + struct elapi_async_ctx *ctx); /* Async context. */ /* Function to clean memory associated with the dispatcher */ void elapi_destroy_dispatcher(struct elapi_dispatcher *dispatcher); |