diff options
author | John Crispin <blogic@openwrt.org> | 2013-11-14 13:41:13 +0100 |
---|---|---|
committer | John Crispin <blogic@openwrt.org> | 2013-11-15 17:05:20 +0100 |
commit | 916f95cb58604038695347ee41a430d8ca1f0556 (patch) | |
tree | 5dbb52a6adaf28c6c6989ea37e6975aa52075160 /service/service.h | |
parent | f9d31edb8938341b9217ee4c14eb58111414eb97 (diff) | |
download | unitd-916f95cb58604038695347ee41a430d8ca1f0556.tar unitd-916f95cb58604038695347ee41a430d8ca1f0556.zip |
debloat and reorganize code
split app into procd and init binaries
remove log support, this is an external service now
Signed-off-by: John Crispin <blogic@openwrt.org>
Diffstat (limited to 'service/service.h')
-rw-r--r-- | service/service.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/service/service.h b/service/service.h new file mode 100644 index 0000000..46ba746 --- /dev/null +++ b/service/service.h @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2013 Felix Fietkau <nbd@openwrt.org> + * Copyright (C) 2013 John Crispin <blogic@openwrt.org> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 2.1 + * as published by the Free Software Foundation + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#ifndef __PROCD_SERVICE_H +#define __PROCD_SERVICE_H + +#include <libubox/avl.h> +#include <libubox/vlist.h> +#include <libubox/list.h> + +extern struct avl_tree services; + +struct vrule { + struct avl_node avl; + char *option; + char *rule; +}; + +struct validate { + struct avl_node avl; + struct list_head list; + + char *package; + char *type; + + struct avl_tree rules; +}; + +struct service { + struct avl_node avl; + const char *name; + + struct blob_attr *trigger; + struct vlist_tree instances; + struct list_head validators; +}; + +void service_validate_add(struct service *s, struct blob_attr *attr); +void service_validate_dump(struct blob_buf *b, struct service *s); +void service_validate_dump_all(struct blob_buf *b, char *p, char *s); +int service_start_early(char *name, char *cmdline); +void service_validate_del(struct service *s); +void service_validate_init(void); +void service_init(void); + +#endif |