Home | History | Annotate | Download | only in share
      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 
     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