2 #ifndef __AUL_AMD_CGROUP_UTIL_H__
3 #define __AUL_AMD_CGROUP_UTIL_H__
6 CTRL_MGR, /* for manager */
7 #if defined(USE_CGROUP_CPU) /* not implemented */
10 #if defined(USE_CGROUP_MEM) /* not implemented */
11 CTRL_MEM, /* memory */
19 int cgutil_create(const char *mount_point, const char *agent_path,
21 void cgutil_destroy(struct cginfo **cg);
23 struct cginfo *cgutil_ref(struct cginfo *cg);
24 #define cgutil_unref(cg) cgutil_destroy(cg)
27 int cgutil_create_group(struct cginfo *cg,
28 enum ctrl_type ctrl, const char *group);
29 int cgutil_remove_group(struct cginfo *cg,
30 enum ctrl_type ctrl, const char *group);
31 int cgutil_exist_group(struct cginfo *cg,
32 enum ctrl_type ctrl, const char *group);
34 typedef int (*cgutil_iter_group_callback)(void *user_data, const char *group);
35 int cgutil_foreach_group(struct cginfo *cg, enum ctrl_type ctrl,
36 cgutil_iter_group_callback cb, void *user_data);
39 int cgutil_group_add_pid(struct cginfo *cg,
40 enum ctrl_type ctrl, const char *group, pid_t pid);
42 typedef int (*cgutil_iter_pid_callback)(void *user_data, const char *group,
44 int cgutil_group_foreach_pid(struct cginfo *cg,
45 enum ctrl_type ctrl, const char *group,
46 cgutil_iter_pid_callback cb, void *user_data);
48 #endif /* __AUL_AMD_CGROUP_UTIL_H__ */