_public_ int sd_bus_creds_get_owner_uid(sd_bus_creds *c, uid_t *uid) { const char *shifted; int r; assert_return(c, -EINVAL); assert_return(uid, -EINVAL); if (!(c->mask & SD_BUS_CREDS_OWNER_UID)) return -ENODATA; assert(c->cgroup); r = cg_shift_path(c->cgroup, c->cgroup_root, &shifted); if (r < 0) return r; return cg_path_get_owner_uid(shifted, uid); }
static void check_p_g_o_u(const char *path, int code, uid_t result) { uid_t uid = 0; assert_se(cg_path_get_owner_uid(path, &uid) == code); assert_se(uid == result); }