Deleted Added
full compact
linprocfs.c (167159) linprocfs.c (167482)
1/*-
2 * Copyright (c) 2000 Dag-Erling Co�dan Sm�rgrav
3 * Copyright (c) 1999 Pierre Beyssac
4 * Copyright (c) 1993 Jan-Simon Pendry
5 * Copyright (c) 1993
6 * The Regents of the University of California. All rights reserved.
7 *
8 * This code is derived from software contributed to Berkeley by

--- 26 unchanged lines hidden (view full) ---

35 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
36 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
37 * SUCH DAMAGE.
38 *
39 * @(#)procfs_status.c 8.4 (Berkeley) 6/15/94
40 */
41
42#include <sys/cdefs.h>
1/*-
2 * Copyright (c) 2000 Dag-Erling Co�dan Sm�rgrav
3 * Copyright (c) 1999 Pierre Beyssac
4 * Copyright (c) 1993 Jan-Simon Pendry
5 * Copyright (c) 1993
6 * The Regents of the University of California. All rights reserved.
7 *
8 * This code is derived from software contributed to Berkeley by

--- 26 unchanged lines hidden (view full) ---

35 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
36 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
37 * SUCH DAMAGE.
38 *
39 * @(#)procfs_status.c 8.4 (Berkeley) 6/15/94
40 */
41
42#include <sys/cdefs.h>
43__FBSDID("$FreeBSD: head/sys/compat/linprocfs/linprocfs.c 167159 2007-03-02 01:10:26Z jkim $");
43__FBSDID("$FreeBSD: head/sys/compat/linprocfs/linprocfs.c 167482 2007-03-12 12:16:52Z des $");
44
45#include <sys/param.h>
46#include <sys/queue.h>
47#include <sys/blist.h>
48#include <sys/conf.h>
49#include <sys/exec.h>
50#include <sys/filedesc.h>
51#include <sys/jail.h>

--- 1115 unchanged lines hidden (view full) ---

1167{
1168 struct pfs_node *root;
1169 struct pfs_node *dir;
1170
1171 root = pi->pi_root;
1172
1173 /* /proc/... */
1174 pfs_create_file(root, "cmdline", &linprocfs_docmdline,
44
45#include <sys/param.h>
46#include <sys/queue.h>
47#include <sys/blist.h>
48#include <sys/conf.h>
49#include <sys/exec.h>
50#include <sys/filedesc.h>
51#include <sys/jail.h>

--- 1115 unchanged lines hidden (view full) ---

1167{
1168 struct pfs_node *root;
1169 struct pfs_node *dir;
1170
1171 root = pi->pi_root;
1172
1173 /* /proc/... */
1174 pfs_create_file(root, "cmdline", &linprocfs_docmdline,
1175 NULL, NULL, PFS_RD);
1175 NULL, NULL, NULL, PFS_RD);
1176 pfs_create_file(root, "cpuinfo", &linprocfs_docpuinfo,
1176 pfs_create_file(root, "cpuinfo", &linprocfs_docpuinfo,
1177 NULL, NULL, PFS_RD);
1177 NULL, NULL, NULL, PFS_RD);
1178 pfs_create_file(root, "devices", &linprocfs_dodevices,
1178 pfs_create_file(root, "devices", &linprocfs_dodevices,
1179 NULL, NULL, PFS_RD);
1179 NULL, NULL, NULL, PFS_RD);
1180 pfs_create_file(root, "loadavg", &linprocfs_doloadavg,
1180 pfs_create_file(root, "loadavg", &linprocfs_doloadavg,
1181 NULL, NULL, PFS_RD);
1181 NULL, NULL, NULL, PFS_RD);
1182 pfs_create_file(root, "meminfo", &linprocfs_domeminfo,
1182 pfs_create_file(root, "meminfo", &linprocfs_domeminfo,
1183 NULL, NULL, PFS_RD);
1183 NULL, NULL, NULL, PFS_RD);
1184#if 0
1185 pfs_create_file(root, "modules", &linprocfs_domodules,
1184#if 0
1185 pfs_create_file(root, "modules", &linprocfs_domodules,
1186 NULL, NULL, PFS_RD);
1186 NULL, NULL, NULL, PFS_RD);
1187#endif
1188 pfs_create_file(root, "mounts", &linprocfs_domtab,
1187#endif
1188 pfs_create_file(root, "mounts", &linprocfs_domtab,
1189 NULL, NULL, PFS_RD);
1189 NULL, NULL, NULL, PFS_RD);
1190 pfs_create_file(root, "mtab", &linprocfs_domtab,
1190 pfs_create_file(root, "mtab", &linprocfs_domtab,
1191 NULL, NULL, PFS_RD);
1191 NULL, NULL, NULL, PFS_RD);
1192 pfs_create_link(root, "self", &procfs_docurproc,
1192 pfs_create_link(root, "self", &procfs_docurproc,
1193 NULL, NULL, 0);
1193 NULL, NULL, NULL, 0);
1194 pfs_create_file(root, "stat", &linprocfs_dostat,
1194 pfs_create_file(root, "stat", &linprocfs_dostat,
1195 NULL, NULL, PFS_RD);
1195 NULL, NULL, NULL, PFS_RD);
1196 pfs_create_file(root, "uptime", &linprocfs_douptime,
1196 pfs_create_file(root, "uptime", &linprocfs_douptime,
1197 NULL, NULL, PFS_RD);
1197 NULL, NULL, NULL, PFS_RD);
1198 pfs_create_file(root, "version", &linprocfs_doversion,
1198 pfs_create_file(root, "version", &linprocfs_doversion,
1199 NULL, NULL, PFS_RD);
1199 NULL, NULL, NULL, PFS_RD);
1200
1201 /* /proc/net/... */
1200
1201 /* /proc/net/... */
1202 dir = pfs_create_dir(root, "net", NULL, NULL, 0);
1202 dir = pfs_create_dir(root, "net", NULL, NULL, NULL, 0);
1203 pfs_create_file(dir, "dev", &linprocfs_donetdev,
1203 pfs_create_file(dir, "dev", &linprocfs_donetdev,
1204 NULL, NULL, PFS_RD);
1204 NULL, NULL, NULL, PFS_RD);
1205
1206 /* /proc/<pid>/... */
1205
1206 /* /proc/<pid>/... */
1207 dir = pfs_create_dir(root, "pid", NULL, NULL, PFS_PROCDEP);
1207 dir = pfs_create_dir(root, "pid", NULL, NULL, NULL, PFS_PROCDEP);
1208 pfs_create_file(dir, "cmdline", &linprocfs_doproccmdline,
1208 pfs_create_file(dir, "cmdline", &linprocfs_doproccmdline,
1209 NULL, NULL, PFS_RD);
1209 NULL, NULL, NULL, PFS_RD);
1210 pfs_create_link(dir, "cwd", &linprocfs_doproccwd,
1210 pfs_create_link(dir, "cwd", &linprocfs_doproccwd,
1211 NULL, NULL, 0);
1211 NULL, NULL, NULL, 0);
1212 pfs_create_file(dir, "environ", &linprocfs_doprocenviron,
1212 pfs_create_file(dir, "environ", &linprocfs_doprocenviron,
1213 NULL, NULL, PFS_RD);
1213 NULL, NULL, NULL, PFS_RD);
1214 pfs_create_link(dir, "exe", &procfs_doprocfile,
1214 pfs_create_link(dir, "exe", &procfs_doprocfile,
1215 NULL, &procfs_notsystem, 0);
1215 NULL, &procfs_notsystem, NULL, 0);
1216 pfs_create_file(dir, "maps", &linprocfs_doprocmaps,
1216 pfs_create_file(dir, "maps", &linprocfs_doprocmaps,
1217 NULL, NULL, PFS_RD);
1217 NULL, NULL, NULL, PFS_RD);
1218 pfs_create_file(dir, "mem", &procfs_doprocmem,
1218 pfs_create_file(dir, "mem", &procfs_doprocmem,
1219 &procfs_attr, &procfs_candebug, PFS_RDWR|PFS_RAW);
1219 &procfs_attr, &procfs_candebug, NULL, PFS_RDWR|PFS_RAW);
1220 pfs_create_link(dir, "root", &linprocfs_doprocroot,
1220 pfs_create_link(dir, "root", &linprocfs_doprocroot,
1221 NULL, NULL, 0);
1221 NULL, NULL, NULL, 0);
1222 pfs_create_file(dir, "stat", &linprocfs_doprocstat,
1222 pfs_create_file(dir, "stat", &linprocfs_doprocstat,
1223 NULL, NULL, PFS_RD);
1223 NULL, NULL, NULL, PFS_RD);
1224 pfs_create_file(dir, "statm", &linprocfs_doprocstatm,
1224 pfs_create_file(dir, "statm", &linprocfs_doprocstatm,
1225 NULL, NULL, PFS_RD);
1225 NULL, NULL, NULL, PFS_RD);
1226 pfs_create_file(dir, "status", &linprocfs_doprocstatus,
1226 pfs_create_file(dir, "status", &linprocfs_doprocstatus,
1227 NULL, NULL, PFS_RD);
1227 NULL, NULL, NULL, PFS_RD);
1228
1229 /* /proc/scsi/... */
1228
1229 /* /proc/scsi/... */
1230 dir = pfs_create_dir(root, "scsi", NULL, NULL, 0);
1230 dir = pfs_create_dir(root, "scsi", NULL, NULL, NULL, 0);
1231 pfs_create_file(dir, "device_info", &linprocfs_doscsidevinfo,
1231 pfs_create_file(dir, "device_info", &linprocfs_doscsidevinfo,
1232 NULL, NULL, PFS_RD);
1232 NULL, NULL, NULL, PFS_RD);
1233 pfs_create_file(dir, "scsi", &linprocfs_doscsiscsi,
1233 pfs_create_file(dir, "scsi", &linprocfs_doscsiscsi,
1234 NULL, NULL, PFS_RD);
1234 NULL, NULL, NULL, PFS_RD);
1235
1236 /* /proc/sys/... */
1235
1236 /* /proc/sys/... */
1237 dir = pfs_create_dir(root, "sys", NULL, NULL, 0);
1237 dir = pfs_create_dir(root, "sys", NULL, NULL, NULL, 0);
1238 /* /proc/sys/kernel/... */
1238 /* /proc/sys/kernel/... */
1239 dir = pfs_create_dir(dir, "kernel", NULL, NULL, 0);
1239 dir = pfs_create_dir(dir, "kernel", NULL, NULL, NULL, 0);
1240 pfs_create_file(dir, "osrelease", &linprocfs_doosrelease,
1240 pfs_create_file(dir, "osrelease", &linprocfs_doosrelease,
1241 NULL, NULL, PFS_RD);
1241 NULL, NULL, NULL, PFS_RD);
1242 pfs_create_file(dir, "ostype", &linprocfs_doostype,
1242 pfs_create_file(dir, "ostype", &linprocfs_doostype,
1243 NULL, NULL, PFS_RD);
1243 NULL, NULL, NULL, PFS_RD);
1244 pfs_create_file(dir, "version", &linprocfs_doosbuild,
1244 pfs_create_file(dir, "version", &linprocfs_doosbuild,
1245 NULL, NULL, PFS_RD);
1245 NULL, NULL, NULL, PFS_RD);
1246 pfs_create_file(dir, "msgmni", &linprocfs_domsgmni,
1246 pfs_create_file(dir, "msgmni", &linprocfs_domsgmni,
1247 NULL, NULL, PFS_RD);
1247 NULL, NULL, NULL, PFS_RD);
1248 pfs_create_file(dir, "pid_max", &linprocfs_dopid_max,
1248 pfs_create_file(dir, "pid_max", &linprocfs_dopid_max,
1249 NULL, NULL, PFS_RD);
1249 NULL, NULL, NULL, PFS_RD);
1250 pfs_create_file(dir, "sem", &linprocfs_dosem,
1250 pfs_create_file(dir, "sem", &linprocfs_dosem,
1251 NULL, NULL, PFS_RD);
1251 NULL, NULL, NULL, PFS_RD);
1252
1253 return (0);
1254}
1255
1256/*
1257 * Destructor
1258 */
1259static int
1260linprocfs_uninit(PFS_INIT_ARGS)
1261{
1262
1263 /* nothing to do, pseudofs will GC */
1264 return (0);
1265}
1266
1267PSEUDOFS(linprocfs, 1);
1268MODULE_DEPEND(linprocfs, linux, 1, 1, 1);
1269MODULE_DEPEND(linprocfs, procfs, 1, 1, 1);
1252
1253 return (0);
1254}
1255
1256/*
1257 * Destructor
1258 */
1259static int
1260linprocfs_uninit(PFS_INIT_ARGS)
1261{
1262
1263 /* nothing to do, pseudofs will GC */
1264 return (0);
1265}
1266
1267PSEUDOFS(linprocfs, 1);
1268MODULE_DEPEND(linprocfs, linux, 1, 1, 1);
1269MODULE_DEPEND(linprocfs, procfs, 1, 1, 1);