#include <linux/module.h>
#include <linux/kallsyms.h>
#include <linux/mutex.h>
#include <linux/seq_file.h>
#include <linux/proc_fs.h>
#include "internal.h"
#ifdef CONFIG_MODULE_UNLOAD
static inline void print_unload_info(struct seq_file *m, struct module *mod)
{ … }
#else
static inline void print_unload_info(struct seq_file *m, struct module *mod)
{
seq_puts(m, " - -");
}
#endif
static void *m_start(struct seq_file *m, loff_t *pos)
{ … }
static void *m_next(struct seq_file *m, void *p, loff_t *pos)
{ … }
static void m_stop(struct seq_file *m, void *p)
{ … }
static unsigned int module_total_size(struct module *mod)
{ … }
static int m_show(struct seq_file *m, void *p)
{ … }
static const struct seq_operations modules_op = …;
static int modules_open(struct inode *inode, struct file *file)
{ … }
static const struct proc_ops modules_proc_ops = …;
static int __init proc_modules_init(void)
{ … }
module_init(…) …;