procfs_syms.c 1.47 KB
Newer Older
Linus Torvalds's avatar
Linus Torvalds committed
1
#include <linux/config.h>
Linus Torvalds's avatar
Linus Torvalds committed
2
#include <linux/module.h>
Linus Torvalds's avatar
Linus Torvalds committed
3 4 5
#include <linux/fs.h>
#include <linux/proc_fs.h>

Linus Torvalds's avatar
Linus Torvalds committed
6 7 8 9 10 11
/*
 * This is all required so that if we load all of scsi as a module,
 * that the scsi code will be able to talk to the /proc/scsi handling
 * in the procfs.
 */
extern int (* dispatch_scsi_info_ptr) (int ino, char *buffer, char **start,
Linus Torvalds's avatar
Linus Torvalds committed
12
				       off_t offset, int length, int inout);
Linus Torvalds's avatar
Linus Torvalds committed
13
extern struct inode_operations proc_scsi_inode_operations;
Linus Torvalds's avatar
Linus Torvalds committed
14
extern struct proc_dir_entry proc_sys_root;
Linus Torvalds's avatar
Linus Torvalds committed
15

Linus Torvalds's avatar
Linus Torvalds committed
16
#ifdef CONFIG_SYSCTL
Linus Torvalds's avatar
Linus Torvalds committed
17
EXPORT_SYMBOL(proc_sys_root);
Linus Torvalds's avatar
Linus Torvalds committed
18
#endif
Linus Torvalds's avatar
Linus Torvalds committed
19 20
EXPORT_SYMBOL(proc_register);
EXPORT_SYMBOL(proc_unregister);
Linus Torvalds's avatar
Linus Torvalds committed
21 22
EXPORT_SYMBOL(create_proc_entry);
EXPORT_SYMBOL(remove_proc_entry);
Linus Torvalds's avatar
Linus Torvalds committed
23
EXPORT_SYMBOL(proc_root);
Linus Torvalds's avatar
Linus Torvalds committed
24
EXPORT_SYMBOL(proc_root_fs);
Linus Torvalds's avatar
Linus Torvalds committed
25 26
EXPORT_SYMBOL(proc_get_inode);
EXPORT_SYMBOL(in_group_p);
Linus Torvalds's avatar
Linus Torvalds committed
27
EXPORT_SYMBOL(proc_dir_inode_operations);
Linus Torvalds's avatar
Linus Torvalds committed
28 29
EXPORT_SYMBOL(proc_net_inode_operations);
EXPORT_SYMBOL(proc_net);
30
EXPORT_SYMBOL(proc_bus);
Linus Torvalds's avatar
Linus Torvalds committed
31 32 33 34 35 36 37 38

/*
 * This is required so that if we load scsi later, that the
 * scsi code can attach to /proc/scsi in the correct manner.
 */
EXPORT_SYMBOL(proc_scsi);
EXPORT_SYMBOL(proc_scsi_inode_operations);
EXPORT_SYMBOL(dispatch_scsi_info_ptr);
Linus Torvalds's avatar
Linus Torvalds committed
39

Linus Torvalds's avatar
Linus Torvalds committed
40
#if defined(CONFIG_SUN_OPENPROMFS_MODULE)
Linus Torvalds's avatar
Linus Torvalds committed
41 42 43
EXPORT_SYMBOL(proc_openprom_register);
EXPORT_SYMBOL(proc_openprom_deregister);
#endif
Linus Torvalds's avatar
Linus Torvalds committed
44 45

static struct file_system_type proc_fs_type = {
Linus Torvalds's avatar
Linus Torvalds committed
46
	"proc", 
Linus Torvalds's avatar
Linus Torvalds committed
47
	0 /* FS_NO_DCACHE doesn't work correctly */,
Linus Torvalds's avatar
Linus Torvalds committed
48 49
	proc_read_super, 
	NULL
Linus Torvalds's avatar
Linus Torvalds committed
50 51 52 53
};

int init_proc_fs(void)
{
Linus Torvalds's avatar
Linus Torvalds committed
54
	return register_filesystem(&proc_fs_type) == 0;
Linus Torvalds's avatar
Linus Torvalds committed
55
}