X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=unit.h;h=46b3c45becfe5424c5835a98e8c20c4d719202aa;hp=7803f3183cc9f7332f8d4f0ef4d140b18ec351a1;hb=acbb02252a38214ecba3aa8a5c9b3669f9c9317e;hpb=87f0e418cf2c58b3201d06a60e3696ec672d2662 diff --git a/unit.h b/unit.h index 7803f3183..46b3c45be 100644 --- a/unit.h +++ b/unit.h @@ -103,6 +103,7 @@ struct Meta { Set *dependencies[_UNIT_DEPENDENCY_MAX]; char *description; + char *load_path; /* if loaded from a config file this is the primary path to it */ /* If there is something to do with this unit, then this is * the job for it */ @@ -156,9 +157,9 @@ struct UnitVTable { * a simpler one that the engine can understand */ UnitActiveState (*active_state)(Unit *u); - void (*fd_event)(Unit *u, int fd, uint32_t events); + void (*fd_event)(Unit *u, int fd, uint32_t events, Watch *w); void (*sigchld_event)(Unit *u, pid_t pid, int code, int status); - void (*timer_event)(Unit *u, int id, uint64_t n_elapsed); + void (*timer_event)(Unit *u, uint64_t n_elapsed, Watch *w); void (*retry)(Unit *u); }; @@ -221,15 +222,19 @@ int unit_reload(Unit *u); void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns); -int unit_watch_fd(Unit *u, int fd, uint32_t events); -void unit_unwatch_fd(Unit *u, int fd); +int unit_watch_fd(Unit *u, int fd, uint32_t events, Watch *w); +void unit_unwatch_fd(Unit *u, Watch *w); int unit_watch_pid(Unit *u, pid_t pid); void unit_unwatch_pid(Unit *u, pid_t pid); -int unit_watch_timer(Unit *u, usec_t delay, int *id); -void unit_unwatch_timer(Unit *u, int *id); +int unit_watch_timer(Unit *u, usec_t delay, Watch *w); +void unit_unwatch_timer(Unit *u, Watch *w); bool unit_job_is_applicable(Unit *u, JobType j); +const char *unit_path(void); +int set_unit_path(const char *p); + + #endif