2
0
mirror of https://github.com/checkpoint-restore/criu synced 2025-08-23 10:28:05 +00:00
criu/include/namespaces.h

40 lines
867 B
C
Raw Normal View History

#ifndef __CR_NS_H__
#define __CR_NS_H__
#include "crtools.h"
#include "pstree.h"
#include "files.h"
struct ns_desc {
unsigned int cflag;
char *str;
size_t len;
};
#define NS_DESC_ENTRY(_cflag, _str) \
{ \
.cflag = _cflag, \
.str = _str, \
.len = sizeof(_str) - 1, \
}
extern bool check_ns_proc(struct fd_link *link);
extern struct ns_desc pid_ns_desc;
extern struct ns_desc user_ns_desc;
extern unsigned long current_ns_mask;
extern const struct fdtype_ops nsfile_dump_ops;
extern int collect_ns_files(void);
int dump_namespaces(struct pid *pid, unsigned int ns_flags);
int prepare_namespace(int pid, unsigned long clone_flags);
int try_show_namespaces(int pid);
int switch_ns(int pid, struct ns_desc *nd, int *rst);
int restore_ns(int rst, struct ns_desc *nd);
int dump_task_ns_ids(struct pstree_item *);
#endif /* __CR_NS_H__ */