#include <linux/slab.h>
#include <linux/module.h>
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
#include <linux/sched.h>
#include <linux/uaccess.h>
#include "internal.h"
struct afs_vl_seq_net_private { … };
static inline struct afs_net *afs_seq2net(struct seq_file *m)
{ … }
static inline struct afs_net *afs_seq2net_single(struct seq_file *m)
{ … }
static int afs_proc_cells_show(struct seq_file *m, void *v)
{ … }
static void *afs_proc_cells_start(struct seq_file *m, loff_t *_pos)
__acquires(rcu)
{ … }
static void *afs_proc_cells_next(struct seq_file *m, void *v, loff_t *pos)
{ … }
static void afs_proc_cells_stop(struct seq_file *m, void *v)
__releases(rcu)
{ … }
static const struct seq_operations afs_proc_cells_ops = …;
static int afs_proc_cells_write(struct file *file, char *buf, size_t size)
{ … }
static int afs_proc_addr_prefs_show(struct seq_file *m, void *v)
{ … }
static int afs_proc_rootcell_show(struct seq_file *m, void *v)
{ … }
static int afs_proc_rootcell_write(struct file *file, char *buf, size_t size)
{ … }
static const char afs_vol_types[3][3] = …;
static int afs_proc_cell_volumes_show(struct seq_file *m, void *v)
{ … }
static void *afs_proc_cell_volumes_start(struct seq_file *m, loff_t *_pos)
__acquires(cell->proc_lock)
{ … }
static void *afs_proc_cell_volumes_next(struct seq_file *m, void *v,
loff_t *_pos)
{ … }
static void afs_proc_cell_volumes_stop(struct seq_file *m, void *v)
__releases(cell->proc_lock)
{ … }
static const struct seq_operations afs_proc_cell_volumes_ops = …;
static const char *const dns_record_sources[NR__dns_record_source + 1] = …;
static const char *const dns_lookup_statuses[NR__dns_lookup_status + 1] = …;
static int afs_proc_cell_vlservers_show(struct seq_file *m, void *v)
{ … }
static void *afs_proc_cell_vlservers_start(struct seq_file *m, loff_t *_pos)
__acquires(rcu)
{ … }
static void *afs_proc_cell_vlservers_next(struct seq_file *m, void *v,
loff_t *_pos)
{ … }
static void afs_proc_cell_vlservers_stop(struct seq_file *m, void *v)
__releases(rcu)
{ … }
static const struct seq_operations afs_proc_cell_vlservers_ops = …;
static int afs_proc_servers_show(struct seq_file *m, void *v)
{ … }
static void *afs_proc_servers_start(struct seq_file *m, loff_t *_pos)
__acquires(rcu)
{ … }
static void *afs_proc_servers_next(struct seq_file *m, void *v, loff_t *_pos)
{ … }
static void afs_proc_servers_stop(struct seq_file *m, void *v)
__releases(rcu)
{ … }
static const struct seq_operations afs_proc_servers_ops = …;
static int afs_proc_sysname_show(struct seq_file *m, void *v)
{ … }
static void *afs_proc_sysname_start(struct seq_file *m, loff_t *pos)
__acquires(&net->sysnames_lock)
{ … }
static void *afs_proc_sysname_next(struct seq_file *m, void *v, loff_t *pos)
{ … }
static void afs_proc_sysname_stop(struct seq_file *m, void *v)
__releases(&net->sysnames_lock)
{ … }
static const struct seq_operations afs_proc_sysname_ops = …;
static int afs_proc_sysname_write(struct file *file, char *buf, size_t size)
{ … }
void afs_put_sysnames(struct afs_sysnames *sysnames)
{ … }
static int afs_proc_stats_show(struct seq_file *m, void *v)
{ … }
int afs_proc_cell_setup(struct afs_cell *cell)
{ … }
void afs_proc_cell_remove(struct afs_cell *cell)
{ … }
int afs_proc_init(struct afs_net *net)
{ … }
void afs_proc_cleanup(struct afs_net *net)
{ … }