18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci#ifndef __CGROUP_HELPERS_H 38c2ecf20Sopenharmony_ci#define __CGROUP_HELPERS_H 48c2ecf20Sopenharmony_ci#include <errno.h> 58c2ecf20Sopenharmony_ci#include <string.h> 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ci#define clean_errno() (errno == 0 ? "None" : strerror(errno)) 88c2ecf20Sopenharmony_ci#define log_err(MSG, ...) fprintf(stderr, "(%s:%d: errno: %s) " MSG "\n", \ 98c2ecf20Sopenharmony_ci __FILE__, __LINE__, clean_errno(), ##__VA_ARGS__) 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ciint cgroup_setup_and_join(const char *path); 138c2ecf20Sopenharmony_ciint create_and_get_cgroup(const char *path); 148c2ecf20Sopenharmony_ciint join_cgroup(const char *path); 158c2ecf20Sopenharmony_ciint setup_cgroup_environment(void); 168c2ecf20Sopenharmony_civoid cleanup_cgroup_environment(void); 178c2ecf20Sopenharmony_ciunsigned long long get_cgroup_id(const char *path); 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ci#endif 20