X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fcore%2Fservice.h;h=fe5afef46b16a3c02f975e8376a4cbd70420b108;hp=f6a78c403b6a58eb1a8620d2d9f0d0787f475c15;hb=2eec67acbb00593e414549a7e5b35eb7dd776b1b;hpb=9e37c9544b22aab2173695ac9c0e4b8bb02cb75c diff --git a/src/core/service.h b/src/core/service.h index f6a78c403..fe5afef46 100644 --- a/src/core/service.h +++ b/src/core/service.h @@ -22,13 +22,12 @@ ***/ typedef struct Service Service; +typedef struct ServiceFDStore ServiceFDStore; -#include "unit.h" #include "path.h" #include "ratelimit.h" #include "kill.h" #include "exit-status.h" -#include "failure-action.h" typedef enum ServiceState { SERVICE_DEAD, @@ -115,6 +114,15 @@ typedef enum ServiceResult { _SERVICE_RESULT_INVALID = -1 } ServiceResult; +struct ServiceFDStore { + Service *service; + + int fd; + sd_event_source *event_source; + + LIST_FIELDS(ServiceFDStore, fd_store); +}; + struct Service { Unit meta; @@ -198,6 +206,10 @@ struct Service { NotifyAccess notify_access; NotifyState notify_state; + + ServiceFDStore *fd_store; + unsigned n_fd_store; + unsigned n_fd_store_max; }; extern const UnitVTable service_vtable;