diff options
Diffstat (limited to 'daemon.h')
-rw-r--r-- | daemon.h | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/daemon.h b/daemon.h index 2c77537..a62f78f 100644 --- a/daemon.h +++ b/daemon.h @@ -19,6 +19,7 @@ #include <stdint.h> #include <stdlib.h> #include <string.h> +#include <sys/time.h> #include <unistd.h> typedef unsigned char byte; @@ -63,10 +64,29 @@ extern uid_t serviceUID; extern gid_t serviceGID; extern char *serviceEnviron[EnvironLen]; +enum State { + Stop, + Start, +}; + +enum { LineCap = 512 }; +struct Line { + size_t len; + char buf[LineCap]; +}; + struct Service { char *name; char *command; - // TODO: And many other things... + enum State intent; + enum State state; + pid_t pid; + int outPipe[2]; + int errPipe[2]; + struct Line outLine; + struct Line errLine; + int restartInterval; + struct timeval restartTime; }; extern struct Services { |