pid.h

来自「Linux Kernel 2.6.9 for OMAP1710」· C头文件 代码 · 共 56 行

H
56
字号
#ifndef _LINUX_PID_H#define _LINUX_PID_Henum pid_type{	PIDTYPE_PID,	PIDTYPE_TGID,	PIDTYPE_PGID,	PIDTYPE_SID,	PIDTYPE_MAX};struct pid{	/* Try to keep pid_chain in the same cacheline as nr for find_pid */	int nr;	struct hlist_node pid_chain;	/* list of pids with the same nr, only one of them is in the hash */	struct list_head pid_list;};#define pid_task(elem, type) \	list_entry(elem, struct task_struct, pids[type].pid_list)/* * attach_pid() and detach_pid() must be called with the tasklist_lock * write-held. */extern int FASTCALL(attach_pid(struct task_struct *task, enum pid_type type, int nr));extern void FASTCALL(detach_pid(struct task_struct *task, enum pid_type));/* * look up a PID in the hash table. Must be called with the tasklist_lock * held. */extern struct pid *FASTCALL(find_pid(enum pid_type, int));extern int alloc_pidmap(void);extern void FASTCALL(free_pidmap(int));extern void switch_exec_pids(struct task_struct *leader, struct task_struct *thread);#define do_each_task_pid(who, type, task)				\	if ((task = find_task_by_pid_type(type, who))) {		\		prefetch((task)->pids[type].pid_list.next);		\		do {#define while_each_task_pid(who, type, task)				\		} while (task = pid_task((task)->pids[type].pid_list.next,\						type),			\			prefetch((task)->pids[type].pid_list.next),	\			hlist_unhashed(&(task)->pids[type].pid_chain));	\	}								\#endif /* _LINUX_PID_H */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?