aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/pid.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/pid.h')
-rw-r--r--include/linux/pid.h24
1 files changed, 23 insertions, 1 deletions
diff --git a/include/linux/pid.h b/include/linux/pid.h
index 67470ade3212..c5fee61bfb4f 100644
--- a/include/linux/pid.h
+++ b/include/linux/pid.h
@@ -114,11 +114,33 @@ extern struct pid *find_ge_pid(int nr);
114extern struct pid *alloc_pid(struct pid_namespace *ns); 114extern struct pid *alloc_pid(struct pid_namespace *ns);
115extern void FASTCALL(free_pid(struct pid *pid)); 115extern void FASTCALL(free_pid(struct pid *pid));
116 116
117/*
118 * the helpers to get the pid's id seen from different namespaces
119 *
120 * pid_nr() : global id, i.e. the id seen from the init namespace;
121 * pid_vnr() : virtual id, i.e. the id seen from the namespace this pid
122 * belongs to. this only makes sence when called in the
123 * context of the task that belongs to the same namespace;
124 * pid_nr_ns() : id seen from the ns specified.
125 *
126 * see also task_xid_nr() etc in include/linux/sched.h
127 */
128
117static inline pid_t pid_nr(struct pid *pid) 129static inline pid_t pid_nr(struct pid *pid)
118{ 130{
119 pid_t nr = 0; 131 pid_t nr = 0;
120 if (pid) 132 if (pid)
121 nr = pid->nr; 133 nr = pid->numbers[0].nr;
134 return nr;
135}
136
137pid_t pid_nr_ns(struct pid *pid, struct pid_namespace *ns);
138
139static inline pid_t pid_vnr(struct pid *pid)
140{
141 pid_t nr = 0;
142 if (pid)
143 nr = pid->numbers[pid->level].nr;
122 return nr; 144 return nr;
123} 145}
124 146