15#ifndef CRINIT_CGROUP_PATH
16#define CRINIT_CGROUP_PATH "/sys/fs/cgroup"
27 crinitCgroupParam_t *param;
29} crinitCgroupConfiguration_t;
33typedef struct crinitCgroup crinitCgroup_t;
38 crinitCgroup_t *parent;
39 crinitCgroupConfiguration_t *config;
47int crinitFreeCgroupParam(crinitCgroupParam_t *param);
54int crinitFreeCgroupConfiguration(crinitCgroupConfiguration_t *config);
61int crinitFreeCgroup(crinitCgroup_t *cgroup);
69int crinitCopyCgroupParam(crinitCgroupParam_t *orig, crinitCgroupParam_t *out);
77int crinitCgroupConvertSingleParamToObject(
const char *in, crinitCgroupParam_t *out);
85int crinitCopyCgroupConfiguration(crinitCgroupConfiguration_t *orig, crinitCgroupConfiguration_t *out);
93int crinitCopyCgroup(crinitCgroup_t *orig, crinitCgroup_t *out);
106int crinitConvertConfigArrayToCGroupConfiguration(
char **confArray,
const int confArraySize,
107 crinitCgroupConfiguration_t *result);
115crinitCgroup_t *crinitFindCgroupByName(crinitCgroup_t **cgroups,
size_t cgroupsCount,
const char *name);
132int crinitCGroupConfigure(crinitCgroup_t *cgroup);
152int crinitCGroupAssignPID(crinitCgroup_t *cgroup, pid_t pid);
158int crinitCreateGlobalCGroups(
void);
167int crinitCgroupGlobalParamSplitNameAndParam(
const char *val,
char **name,
char **param);
175int crinitCgroupNameIsGlobalCgroup(
const char *name,
bool *isGlobal);