1 #ifndef _LINUX_PROC_FS_H
2 #define _LINUX_PROC_FS_H
3
4 #include <linux/config.h>
5
6
7
8
9
10 enum root_directory_inos {
11 PROC_ROOT_INO = 1,
12 PROC_LOADAVG,
13 PROC_UPTIME,
14 PROC_MEMINFO,
15 PROC_KMSG,
16 PROC_VERSION,
17 PROC_CPUINFO,
18 PROC_PCI,
19 PROC_SELF,
20 PROC_NET,
21 #ifdef CONFIG_DEBUG_MALLOC
22 PROC_MALLOC,
23 #endif
24 PROC_KCORE,
25 PROC_MODULES,
26 PROC_STAT,
27 PROC_DEVICES,
28 PROC_INTERRUPTS,
29 PROC_FILESYSTEMS,
30 PROC_KSYMS,
31 PROC_DMA,
32 PROC_IOPORTS,
33 PROC_PROFILE
34 };
35
36 enum pid_directory_inos {
37 PROC_PID_INO = 2,
38 PROC_PID_MEM,
39 PROC_PID_CWD,
40 PROC_PID_ROOT,
41 PROC_PID_EXE,
42 PROC_PID_FD,
43 PROC_PID_ENVIRON,
44 PROC_PID_CMDLINE,
45 PROC_PID_STAT,
46 PROC_PID_STATM,
47 PROC_PID_MAPS
48 };
49
50 enum pid_subdirectory_inos {
51 PROC_PID_FD_DIR = 1
52 };
53
54 enum net_directory_inos {
55 PROC_NET_UNIX = 128,
56 #ifdef CONFIG_INET
57 PROC_NET_ARP,
58 PROC_NET_ROUTE,
59 PROC_NET_DEV,
60 PROC_NET_RAW,
61 PROC_NET_TCP,
62 PROC_NET_UDP,
63 PROC_NET_SNMP,
64 #ifdef CONFIG_INET_RARP
65 PROC_NET_RARP,
66 #endif
67 #ifdef CONFIG_IP_MULTICAST
68 PROC_NET_IGMP,
69 #endif
70 #ifdef CONFIG_IP_FIREWALL
71 PROC_NET_IPFWFWD,
72 PROC_NET_IPFWBLK,
73 #endif
74 #ifdef CONFIG_IP_ACCT
75 PROC_NET_IPACCT,
76 #endif
77 #ifdef CONFIG_IP_MASQUERADE
78 PROC_NET_IPMSQHST,
79 #endif
80 #if defined(CONFIG_WAVELAN)
81 PROC_NET_WAVELAN,
82 #endif
83 #endif
84 #ifdef CONFIG_IPX
85 PROC_NET_IPX_INTERFACE,
86 PROC_NET_IPX_ROUTE,
87 PROC_NET_IPX,
88 #endif
89 #ifdef CONFIG_ATALK
90 PROC_NET_ATALK,
91 PROC_NET_AT_ROUTE,
92 PROC_NET_ATIF,
93 #endif
94 #ifdef CONFIG_AX25
95 PROC_NET_AX25_ROUTE,
96 PROC_NET_AX25,
97 #ifdef CONFIG_NETROM
98 PROC_NET_NR_NODES,
99 PROC_NET_NR_NEIGH,
100 PROC_NET_NR,
101 #endif
102 #endif
103 PROC_NET_SOCKSTAT,
104 PROC_NET_LAST
105 };
106
107 #define PROC_SUPER_MAGIC 0x9fa0
108
109 struct proc_dir_entry {
110 unsigned short low_ino;
111 unsigned short namelen;
112 char * name;
113 };
114
115 extern struct super_block *proc_read_super(struct super_block *,void *,int);
116 extern void proc_put_inode(struct inode *);
117 extern void proc_put_super(struct super_block *);
118 extern void proc_statfs(struct super_block *, struct statfs *, int);
119 extern void proc_read_inode(struct inode *);
120 extern void proc_write_inode(struct inode *);
121 extern int proc_match(int, const char *, struct proc_dir_entry *);
122
123 extern struct inode_operations proc_root_inode_operations;
124 extern struct inode_operations proc_base_inode_operations;
125 extern struct inode_operations proc_net_inode_operations;
126 extern struct inode_operations proc_mem_inode_operations;
127 extern struct inode_operations proc_array_inode_operations;
128 extern struct inode_operations proc_arraylong_inode_operations;
129 extern struct inode_operations proc_kcore_inode_operations;
130 extern struct inode_operations proc_profile_inode_operations;
131 extern struct inode_operations proc_kmsg_inode_operations;
132 extern struct inode_operations proc_link_inode_operations;
133 extern struct inode_operations proc_fd_inode_operations;
134
135 #endif