#include <inttypes.h>
#include <signal.h>
+#include "_sd-common.h"
+
/*
Why is this better than pure epoll?
- Handles signals and child PIDs
*/
+_SD_BEGIN_DECLARATIONS;
+
typedef struct sd_event sd_event;
typedef struct sd_event_source sd_event_source;
SD_EVENT_FINISHED
};
+enum {
+ /* And everything inbetween and outside is good too */
+ SD_PRIORITY_IMPORTANT = -100,
+ SD_PRIORITY_NORMAL = 0,
+ SD_PRIORITY_IDLE = 100
+};
+
typedef int (*sd_io_handler_t)(sd_event_source *s, int fd, uint32_t revents, void *userdata);
typedef int (*sd_time_handler_t)(sd_event_source *s, uint64_t usec, void *userdata);
typedef int (*sd_signal_handler_t)(sd_event_source *s, const struct signalfd_siginfo *si, void *userdata);
int sd_event_get_state(sd_event *e);
int sd_event_get_quit(sd_event *e);
int sd_event_request_quit(sd_event *e);
-
+int sd_event_get_now_realtime(sd_event *e, uint64_t *usec);
+int sd_event_get_now_monotonic(sd_event *e, uint64_t *usec);
sd_event *sd_event_get(sd_event_source *s);
sd_event_source* sd_event_source_ref(sd_event_source *s);
int sd_event_source_get_signal(sd_event_source *s);
int sd_event_source_get_child_pid(sd_event_source *s, pid_t *pid);
+_SD_END_DECLARATIONS;
+
#endif