libcgroup
Loading...
Searching...
No Matches
tools-common.h
1/* SPDX-License-Identifier: LGPL-2.1-only */
9#ifndef __TOOLS_COMMON
10
11#define __TOOLS_COMMON
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17#include "config.h"
18#include "../libcgroup-internal.h"
19
20#include <libcgroup.h>
21
22#define cgroup_err(x...) cgroup_log(CGROUP_LOG_ERROR, "Error: " x)
23#define cgroup_warn(x...) cgroup_log(CGROUP_LOG_WARNING, "Warning: " x)
24#define cgroup_info(x...) cgroup_log(CGROUP_LOG_INFO, "Info: " x)
25#define cgroup_dbg(x...) cgroup_log(CGROUP_LOG_DEBUG, x)
26#define cgroup_cont(x...) cgroup_log(CGROUP_LOG_CONT, x)
27
28#define err(x...) fprintf(stderr, x)
29#define info(x...) fprintf(stdout, x)
30
31#define EXIT_BADARGS 129
32
37 char path[FILENAME_MAX];
38 char *controllers[CG_CONTROLLER_MAX];
39};
40
45 char **items;
46 int size;
47 int count;
48};
49
64int parse_cgroup_spec(struct cgroup_group_spec **cdptr, char *optarg, int capacity);
65
70void cgroup_free_group_spec(struct cgroup_group_spec *cl);
71
77int cgroup_string_list_init(struct cgroup_string_list *list, int initial_size);
78
83void cgroup_string_list_free(struct cgroup_string_list *list);
84
90int cgroup_string_list_add_item(struct cgroup_string_list *list, const char *item);
91
101int cgroup_string_list_add_directory(struct cgroup_string_list *list, char *dirname,
102 char *program_name);
103
110int parse_mode(char *string, mode_t *pmode, const char *program_name);
111
119int parse_uid_gid(char *string, uid_t *uid, gid_t *gid, const char *program_name);
120
126#ifdef UNIT_TEST
127
128int parse_r_flag(const char * const program_name, const char * const name_value_str,
129 struct control_value * const name_value);
130
131#endif /* UNIT_TEST */
132
133#ifdef __cplusplus
134} /* extern "C" */
135#endif
136
137#endif /* TOOLS_COMMON */
Definition tools-common.h:36
Definition tools-common.h:44
Definition libcgroup-internal.h:97