X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=manager.h;h=6e0b500e5b0589f00157b103a19c20a619b187f3;hp=ad62b74a74608627667e2dec8348fa886785c3ad;hb=9152c765065184d0c1267ed2499e3fe4cac53755;hpb=e5b5ae50f02d7814f37b15329da2adce0fb30825 diff --git a/manager.h b/manager.h index ad62b74a7..6e0b500e5 100644 --- a/manager.h +++ b/manager.h @@ -34,6 +34,11 @@ struct Manager { JobDependency *transaction_anchor; bool dispatching_load_queue:1; + + Hashmap *watch_pids; /* pid => Name object n:1 */ + + int epoll_fd; + int signal_fd; }; Manager* manager_new(void); @@ -45,9 +50,14 @@ Name *manager_get_name(Manager *m, const char *name); int manager_load_name(Manager *m, const char *name, Name **_ret); int manager_add_job(Manager *m, JobType type, Name *name, JobMode mode, bool force, Job **_ret); -void manager_dump_names(Manager *s, FILE *f); -void manager_dump_jobs(Manager *s, FILE *f); +void manager_dump_names(Manager *s, FILE *f, const char *prefix); +void manager_dump_jobs(Manager *s, FILE *f, const char *prefix); + +void manager_transaction_unlink_job(Manager *m, Job *j); + +void manager_clear_jobs(Manager *m); -void manager_transaction_delete_job(Manager *m, Job *j); +void manager_run_jobs(Manager *m); +int manager_loop(Manager *m); #endif