From c2c56c1e9ac45665b37cfa4a2e755d7cbb280106 Mon Sep 17 00:00:00 2001 From: Tom Hromatka Date: Tue, 18 Oct 2022 19:24:44 +0000 Subject: [PATCH] python: Add python bindings for cgroup_setup_mode() Signed-off-by: Tom Hromatka Reviewed-by: Kamalesh Babulal --- src/python/cgroup.pxd | 8 ++++++++ src/python/libcgroup.pyx | 16 ++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/src/python/cgroup.pxd b/src/python/cgroup.pxd index 7edf6b86..4f85746e 100644 --- a/src/python/cgroup.pxd +++ b/src/python/cgroup.pxd @@ -21,6 +21,12 @@ cdef extern from "libcgroup.h": CGROUP_V2 CGROUP_DISK + cdef enum cg_setup_mode_t: + CGROUP_MODE_UNK + CGROUP_MODE_LEGACY + CGROUP_MODE_HYBRID + CGROUP_MODE_UNIFIED + cdef struct cgroup_library_version: unsigned int major unsigned int minor @@ -54,4 +60,6 @@ cdef extern from "libcgroup.h": int cgroup_list_mount_points(const cg_version_t cgrp_version, char ***mount_paths) + cg_setup_mode_t cgroup_setup_mode() + # vim: set et ts=4 sw=4: diff --git a/src/python/libcgroup.pyx b/src/python/libcgroup.pyx index f1d361d9..6b4ff386 100644 --- a/src/python/libcgroup.pyx +++ b/src/python/libcgroup.pyx @@ -22,6 +22,12 @@ cdef class Version: CGROUP_V2 = cgroup.CGROUP_V2 CGROUP_DISK = cgroup.CGROUP_DISK +cdef class Mode: + CGROUP_MODE_UNK = cgroup.CGROUP_MODE_UNK + CGROUP_MODE_LEGACY = cgroup.CGROUP_MODE_LEGACY + CGROUP_MODE_HYBRID = cgroup.CGROUP_MODE_HYBRID + CGROUP_MODE_UNIFIED = cgroup.CGROUP_MODE_UNIFIED + def c_str(string): return bytes(string, "ascii") @@ -310,6 +316,16 @@ cdef class Cgroup: i = i + 1 return mount_points + @staticmethod + def cgroup_mode(): + """Get the cgroup mode (legacy, hybrid, or unified) + + Return: + The cgroup mode enumeration + """ + Cgroup.cgroup_init() + return cgroup.cgroup_setup_mode() + def __dealloc__(self): cgroup.cgroup_free(&self._cgp); -- 2.47.2