1/* SPDX-License-Identifier: GPL-2.0-or-later
2 * Copyright (c) 2015 Red Hat, Inc.
3 * Copyright (c) Linux Test Project, 2015-2023
4 */
5
6#ifndef TST_NS_COMMON_H__
7#define TST_NS_COMMON_H__
8#include <sched.h>
9#include "lapi/sched.h"
10
11#define PROC_PATH "/proc"
12
13struct param {
14	const char *name;
15	int flag;
16};
17
18static struct param params[] = {
19	{"ipc",  CLONE_NEWIPC},
20	{"mnt",  CLONE_NEWNS},
21	{"net",  CLONE_NEWNET},
22	{"pid",  CLONE_NEWPID},
23	{"user", CLONE_NEWUSER},
24	{"uts",  CLONE_NEWUTS},
25	{NULL,   0}
26};
27
28#define NS_TOTAL (ARRAY_SIZE(params) - 1)
29
30static struct param *get_param(const char *name)
31{
32	int i;
33
34	for (i = 0; params[i].name; i++) {
35		if (!strcasecmp(params[i].name, name))
36			return params + i;
37	}
38
39	return NULL;
40}
41
42#endif /* TST_NS_COMMON_H__ */
43