blob: 3c1e82f1a36913e45ea87db9b45a38068412e41e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _LINUX_PID_FS_H
#define _LINUX_PID_FS_H
#include <linux/gfp_types.h>
#include <linux/pid.h>
struct coredump_params;
struct file *pidfs_alloc_file(struct pid *pid, unsigned int flags);
void __init pidfs_init(void);
void pidfs_prepare_pid(struct pid *pid);
int pidfs_add_pid(struct pid *pid);
void pidfs_remove_pid(struct pid *pid);
void pidfs_exit(struct task_struct *tsk);
#ifdef CONFIG_COREDUMP
void pidfs_coredump(const struct coredump_params *cprm);
#endif
extern const struct dentry_operations pidfs_dentry_operations;
int pidfs_register_pid_gfp(struct pid *pid, gfp_t gfp);
/**
* pidfs_register_pid - register a struct pid in pidfs
* @pid: pid to pin
*
* Register a struct pid in pidfs.
*
* Return: On success zero, on error a negative error code is returned.
*/
static inline int pidfs_register_pid(struct pid *pid)
{
return pidfs_register_pid_gfp(pid, GFP_KERNEL);
}
void pidfs_free_pid(struct pid *pid);
int __pidfs_register_pids(struct pid *const *pids, enum pid_type last);
/* Register the pids of an array declared with DECLARE_PIDS(). */
#define pidfs_register_pids(pids) __pidfs_register_pids(pids, pids_last(pids))
#endif /* _LINUX_PID_FS_H */
|