4 #include "vserver/cvirt.h"
5 #include "vserver/debug.h"
9 /* utsname virtualization */
11 static inline struct new_utsname *vx_new_utsname(void)
14 return ¤t->vx_info->cvirt.utsname;
15 return &system_utsname;
18 #define vx_new_uts(x) ((vx_new_utsname())->x)
21 /* pid faking stuff */
24 #define vx_map_tgid(v,p) \
25 __vx_map_tgid((v), (p), __FILE__, __LINE__)
27 static inline int __vx_map_tgid(struct vx_info *vxi, int pid,
30 if (vxi && __vx_flags(vxi->vx_flags, VXF_INFO_INIT, 0)) {
31 vxlprintk(VXD_CBIT(cvirt, 2),
32 "vx_map_tgid: %p/%llx: %d -> %d",
33 vxi, vxi->vx_flags, pid,
34 (pid == vxi->vx_initpid)?1:pid,
36 if (pid == vxi->vx_initpid)
42 #define vx_rmap_tgid(v,p) \
43 __vx_rmap_tgid((v), (p), __FILE__, __LINE__)
45 static inline int __vx_rmap_tgid(struct vx_info *vxi, int pid,
48 if (vxi && __vx_flags(vxi->vx_flags, VXF_INFO_INIT, 0)) {
49 vxlprintk(VXD_CBIT(cvirt, 2),
50 "vx_rmap_tgid: %p/%llx: %d -> %d",
51 vxi, vxi->vx_flags, pid,
52 (pid == 1)?vxi->vx_initpid:pid,
54 if ((pid == 1) && vxi->vx_initpid)
55 return vxi->vx_initpid;
62 #warning duplicate inclusion