diff options
author | Stefan Metzmacher <metze@samba.org> | 2005-02-15 10:36:59 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:10:42 -0500 |
commit | 6d17fc3b3e09b15c4a0fa4595ca8d60f426f0243 (patch) | |
tree | 960e3b8c20bdb34ba827f9587c92bf34842334cb /source4/lib/events/events.h | |
parent | d816db1bda1ccbd0b4f919abd60fcc879c1055ab (diff) | |
download | samba-6d17fc3b3e09b15c4a0fa4595ca8d60f426f0243.tar.gz samba-6d17fc3b3e09b15c4a0fa4595ca8d60f426f0243.tar.bz2 samba-6d17fc3b3e09b15c4a0fa4595ca8d60f426f0243.zip |
r5407: - this patch makes samba's event loop code more generic and makes
using other implementations possible. This will be mostly usefull
for client apps which have there own event loop and want to
use our client libs
- add a example plugin for liboop (see http://liboop.org)
NOTE: this just compiles and is completly untested
and is commited only as example
metze
(This used to be commit b3d0a410efe856e3bcf127f00c31905f5a23cc04)
Diffstat (limited to 'source4/lib/events/events.h')
-rw-r--r-- | source4/lib/events/events.h | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/source4/lib/events/events.h b/source4/lib/events/events.h index e3973c3c48..6994f6a124 100644 --- a/source4/lib/events/events.h +++ b/source4/lib/events/events.h @@ -21,6 +21,7 @@ */ struct event_context; +struct event_ops; struct fd_event; struct timed_event; @@ -31,6 +32,7 @@ typedef void (*event_timed_handler_t)(struct event_context *, struct timed_event struct timeval , void *); struct event_context *event_context_init(TALLOC_CTX *mem_ctx); +struct event_context *event_context_init_ops(TALLOC_CTX *mem_ctx, const struct event_ops *ops, void *private_data); struct fd_event *event_add_fd(struct event_context *ev, TALLOC_CTX *mem_ctx, int fd, uint16_t flags, event_fd_handler_t handler, @@ -44,20 +46,19 @@ struct timed_event *event_add_timed(struct event_context *ev, TALLOC_CTX *mem_ct int event_loop_once(struct event_context *ev); int event_loop_wait(struct event_context *ev); -uint16_t event_fd_flags(struct fd_event *fde); -void event_fd_setflags(struct fd_event *fde, uint16_t flags); +uint16_t event_get_fd_flags(struct fd_event *fde); +void event_set_fd_flags(struct fd_event *fde, uint16_t flags); /* bits for file descriptor event flags */ #define EVENT_FD_READ 1 #define EVENT_FD_WRITE 2 #define EVENT_FD_WRITEABLE(fde) \ - event_fd_setflags(fde, event_fd_flags(fde) | EVENT_FD_WRITE) + event_set_fd_flags(fde, event_get_fd_flags(fde) | EVENT_FD_WRITE) #define EVENT_FD_READABLE(fde) \ - event_fd_setflags(fde, event_fd_flags(fde) | EVENT_FD_READ) + event_set_fd_flags(fde, event_get_fd_flags(fde) | EVENT_FD_READ) #define EVENT_FD_NOT_WRITEABLE(fde) \ - event_fd_setflags(fde, event_fd_flags(fde) & ~EVENT_FD_WRITE) + event_set_fd_flags(fde, event_get_fd_flags(fde) & ~EVENT_FD_WRITE) #define EVENT_FD_NOT_READABLE(fde) \ - event_fd_setflags(fde, event_fd_flags(fde) & ~EVENT_FD_WRITE) - + event_set_fd_flags(fde, event_get_fd_flags(fde) & ~EVENT_FD_WRITE) |