diff options
Diffstat (limited to 'include/linux/pid.h')
-rw-r--r-- | include/linux/pid.h | 24 |
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); | |||
114 | extern struct pid *alloc_pid(struct pid_namespace *ns); | 114 | extern struct pid *alloc_pid(struct pid_namespace *ns); |
115 | extern void FASTCALL(free_pid(struct pid *pid)); | 115 | extern 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 | |||
117 | static inline pid_t pid_nr(struct pid *pid) | 129 | static 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 | |||
137 | pid_t pid_nr_ns(struct pid *pid, struct pid_namespace *ns); | ||
138 | |||
139 | static 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 | ||