summaryrefslogtreecommitdiff
path: root/src/core/cgroup-attr.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/cgroup-attr.h')
-rw-r--r--src/core/cgroup-attr.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/core/cgroup-attr.h b/src/core/cgroup-attr.h
index 2b754eac40..3a13b7c92d 100644
--- a/src/core/cgroup-attr.h
+++ b/src/core/cgroup-attr.h
@@ -23,17 +23,18 @@
typedef struct CGroupAttribute CGroupAttribute;
-typedef int (*CGroupAttributeMapCallback)(const char *controller, const char*name, const char *value, char **ret);
-
#include "unit.h"
#include "cgroup.h"
+#include "cgroup-semantics.h"
struct CGroupAttribute {
char *controller;
char *name;
char *value;
- CGroupAttributeMapCallback map_callback;
+ Unit *unit;
+
+ const CGroupSemantics *semantics;
LIST_FIELDS(CGroupAttribute, by_unit);
};
@@ -41,6 +42,9 @@ struct CGroupAttribute {
int cgroup_attribute_apply(CGroupAttribute *a, CGroupBonding *b);
int cgroup_attribute_apply_list(CGroupAttribute *first, CGroupBonding *b);
-CGroupAttribute *cgroup_attribute_find_list(CGroupAttribute *first, const char *controller, const char *name);
+bool cgroup_attribute_matches(CGroupAttribute *a, const char *controller, const char *name) _pure_;
+CGroupAttribute *cgroup_attribute_find_list(CGroupAttribute *first, const char *controller, const char *name) _pure_;
+void cgroup_attribute_free(CGroupAttribute *a);
void cgroup_attribute_free_list(CGroupAttribute *first);
+void cgroup_attribute_free_some(CGroupAttribute *first, const char *controller, const char *name);