• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* Copyright (c) 2015 Red Hat, Inc.
2  *
3  * This program is free software: you can redistribute it and/or modify
4  * it under the terms of version 2 the GNU General Public License as
5  * published by the Free Software Foundation.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
14  *
15  ***********************************************************************/
16 
17 #ifndef __NS_COMMON_H__
18 #define __NS_COMMON_H__
19 #include <sched.h>
20 #include "lapi/namespaces_constants.h"
21 
22 #define PROC_PATH "/proc"
23 #define NS_TOTAL 6
24 
25 
26 struct param {
27 	const char *name;
28 	int flag;
29 };
30 
31 struct param params[] = {
32 	{"ipc",  CLONE_NEWIPC},
33 	{"mnt",  CLONE_NEWNS},
34 	{"net",  CLONE_NEWNET},
35 	{"pid",  CLONE_NEWPID},
36 	{"user", CLONE_NEWUSER},
37 	{"uts",  CLONE_NEWUTS},
38 	{NULL,   0}
39 };
40 
41 
get_param(const char * name)42 struct param *get_param(const char *name)
43 {
44 	int i;
45 
46 	for (i = 0; params[i].name; i++) {
47 		if (!strcasecmp(params[i].name, name))
48 			return params + i;
49 	}
50 
51 	return NULL;
52 }
53 
54 
55 #endif
56