summaryrefslogtreecommitdiff
path: root/source4/lib/events/events.h
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2005-02-15 10:36:59 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:10:42 -0500
commit6d17fc3b3e09b15c4a0fa4595ca8d60f426f0243 (patch)
tree960e3b8c20bdb34ba827f9587c92bf34842334cb /source4/lib/events/events.h
parentd816db1bda1ccbd0b4f919abd60fcc879c1055ab (diff)
downloadsamba-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.h15
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)