1 /*
2  * Copyright (C) 2019 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #include <android-base/logging.h>
18 #include <android/cgrouprc.h>
19 
20 #include "cgrouprc_internal.h"
21 
22 // All ACgroupController_* functions implicitly convert the pointer back
23 // to the original CgroupController pointer before invoking the member functions.
24 
ACgroupController_getVersion(const ACgroupController * controller)25 uint32_t ACgroupController_getVersion(const ACgroupController* controller) {
26     CHECK(controller != nullptr);
27     return controller->version();
28 }
29 
ACgroupController_getFlags(const ACgroupController * controller)30 uint32_t ACgroupController_getFlags(const ACgroupController* controller) {
31     CHECK(controller != nullptr);
32     return controller->flags();
33 }
34 
ACgroupController_getName(const ACgroupController * controller)35 const char* ACgroupController_getName(const ACgroupController* controller) {
36     CHECK(controller != nullptr);
37     return controller->name();
38 }
39 
ACgroupController_getPath(const ACgroupController * controller)40 const char* ACgroupController_getPath(const ACgroupController* controller) {
41     CHECK(controller != nullptr);
42     return controller->path();
43 }
44