diff options
Diffstat (limited to 'lib/include')
| -rw-r--r-- | lib/include/service.h | 14 | ||||
| -rw-r--r-- | lib/include/util.h | 2 | 
2 files changed, 12 insertions, 4 deletions
| diff --git a/lib/include/service.h b/lib/include/service.h index 76d48ce..593b221 100644 --- a/lib/include/service.h +++ b/lib/include/service.h @@ -44,21 +44,27 @@ enum {  	TGT_MAX  }; +typedef struct exec_t { +	char **argv; +	char *raw_argv; + +	struct exec_t *next; +} exec_t; +  typedef struct service_t {  	int type;		/* SVC_* service type */  	int target;		/* TGT_* service target */  	char *name;		/* canonical service name */  	char *desc;		/* description string */ -	char **exec;		/* command lines to execute */ -	size_t num_exec;	/* number of command lines */ +	exec_t *exec;		/* command lines to execute */  	char *ctty;		/* controlling tty or log file */  	int rspwn_limit;	/* maximum respawn count */  	char **before;		/* services that must be executed later */ -	size_t num_before;  	char **after;		/* services that must be executed first */ -	size_t num_after; +	char *raw_after; +	char *raw_before;  	pid_t pid;  	int status;		/* process exit status */ diff --git a/lib/include/util.h b/lib/include/util.h index 0ed7002..a6e96fa 100644 --- a/lib/include/util.h +++ b/lib/include/util.h @@ -73,6 +73,8 @@ char *rdline(int fd, int argc, const char *const *argv);  */  int unescape(char *src); +char **split_argv(char *str); +  /*  	Search through an array of enum_map_t entries to resolve a string to  	a numeric value. The end of the map is indicated by a sentinel entry | 
