Init basesystem source codes.
[staging/basesystem.git] / nsframework / common_library / client / include / cl_process_internal.h
1 /*
2  * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
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 #ifndef _cl_process_internal_h_  // NOLINT(build/header_guard)
18 #define _cl_process_internal_h_  // NOLINT(build/header_guard)
19
20 typedef struct {
21   char name[20];
22   uid_t uid;
23   gid_t gid;
24   int sched_policy;
25   int sched_priority;
26   int create_group;
27   int stack_size;
28   int cpu_assign;
29   int hold_fds[CL_PROCESSS_ATTR_HOLD_FDS_NUM];
30   int disable_close_fds;
31   char cgroup_name[64];
32 } CL_ProcessAttrInternal_t;
33
34 typedef struct {
35   char name[20];
36 } CL_ThreadAttrInternal_t;
37
38 typedef struct {
39   int rt_runtime_us;
40   int cfs_quota_us;
41   int cpu_shares;
42   int memory_limit;
43   int usage_in_bytes;
44   int event_fd;
45 } CL_ProcessCreateCgroupAttrInternal_t;
46
47 #define CL_PROCESS_NAME_ENV "CL_PROCESS_NAME"
48
49 #define CL_PROCESS_EXIT_INTERNAL 0x80
50
51 #define CL_PROCESS_CGROUP_NAME_FORMAT "CGRP%05d"
52
53 #endif  // #ifndef _cl_process_internal_h_  // NOLINT(build/header_guard)