X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fprocd.git;a=blobdiff_plain;f=service.h;h=6448e5ecbaa54cf6eb48154839de895bc27c01ec;hp=4e68eedd93202c7a085b6898f5e7f96f79aeb102;hb=f9d31edb8938341b9217ee4c14eb58111414eb97;hpb=8158e9052afbf2ee47de645167b90b6e7fc7d86d diff --git a/service.h b/service.h index 4e68eed..6448e5e 100644 --- a/service.h +++ b/service.h @@ -17,15 +17,40 @@ #include #include +#include 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 *config; + 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); +void service_validate_del(struct service *s); +void service_validate_init(void); +void service_init(void); + #endif