diff options
author | David Howells <dhowells@redhat.com> | 2018-05-18 11:46:15 +0100 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2018-05-18 11:46:15 +0100 |
commit | 564def71765caf65040f926c0783b9c27cc6c087 (patch) | |
tree | bf7b7051f76e961a082819f5eb126384495d0a89 /include/linux/proc_fs.h | |
parent | 5d9de25d934b9a6e3c9efdce782b0d23d0f1fa2a (diff) | |
download | lwn-564def71765caf65040f926c0783b9c27cc6c087.tar.gz lwn-564def71765caf65040f926c0783b9c27cc6c087.zip |
proc: Add a way to make network proc files writable
Provide two extra functions, proc_create_net_data_write() and
proc_create_net_single_write() that act like their non-write versions but
also set a write method in the proc_dir_entry struct.
An internal simple write function is provided that will copy its buffer and
hand it to the pde->write() method if available (or give an error if not).
The buffer may be modified by the write method.
Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'include/linux/proc_fs.h')
-rw-r--r-- | include/linux/proc_fs.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/proc_fs.h b/include/linux/proc_fs.h index e518352137e7..626fc65c4336 100644 --- a/include/linux/proc_fs.h +++ b/include/linux/proc_fs.h @@ -14,6 +14,8 @@ struct seq_operations; #ifdef CONFIG_PROC_FS +typedef int (*proc_write_t)(struct file *, char *, size_t); + extern void proc_root_init(void); extern void proc_flush_task(struct task_struct *); @@ -61,6 +63,16 @@ struct proc_dir_entry *proc_create_net_data(const char *name, umode_t mode, struct proc_dir_entry *proc_create_net_single(const char *name, umode_t mode, struct proc_dir_entry *parent, int (*show)(struct seq_file *, void *), void *data); +struct proc_dir_entry *proc_create_net_data_write(const char *name, umode_t mode, + struct proc_dir_entry *parent, + const struct seq_operations *ops, + proc_write_t write, + unsigned int state_size, void *data); +struct proc_dir_entry *proc_create_net_single_write(const char *name, umode_t mode, + struct proc_dir_entry *parent, + int (*show)(struct seq_file *, void *), + proc_write_t write, + void *data); #else /* CONFIG_PROC_FS */ |