Changeset View
Changeset View
Standalone View
Standalone View
head/sys/compat/linprocfs/linprocfs.c
Show First 20 Lines • Show All 1,614 Lines • ▼ Show 20 Lines | else | ||||
(unsigned long long)rl.rlim_max, li->unit); | (unsigned long long)rl.rlim_max, li->unit); | ||||
} | } | ||||
out: | out: | ||||
lim_free(limp); | lim_free(limp); | ||||
return (error); | return (error); | ||||
} | } | ||||
/* | /* | ||||
* The point of the following two functions is to work around | |||||
* an assertion in Chromium; see kern/240991 for details. | |||||
*/ | |||||
static int | |||||
linprocfs_dotaskattr(PFS_ATTR_ARGS) | |||||
{ | |||||
vap->va_nlink = 3; | |||||
return (0); | |||||
} | |||||
/* | |||||
* Filler function for proc/<pid>/task/.dummy | |||||
*/ | |||||
static int | |||||
linprocfs_dotaskdummy(PFS_FILL_ARGS) | |||||
{ | |||||
return (0); | |||||
} | |||||
/* | |||||
* Filler function for proc/sys/kernel/random/uuid | * Filler function for proc/sys/kernel/random/uuid | ||||
*/ | */ | ||||
static int | static int | ||||
linprocfs_douuid(PFS_FILL_ARGS) | linprocfs_douuid(PFS_FILL_ARGS) | ||||
{ | { | ||||
struct uuid uuid; | struct uuid uuid; | ||||
kern_uuidgen(&uuid, 1); | kern_uuidgen(&uuid, 1); | ||||
▲ Show 20 Lines • Show All 122 Lines • ▼ Show 20 Lines | pfs_create_file(dir, "statm", &linprocfs_doprocstatm, | ||||
NULL, NULL, NULL, PFS_RD); | NULL, NULL, NULL, PFS_RD); | ||||
pfs_create_file(dir, "status", &linprocfs_doprocstatus, | pfs_create_file(dir, "status", &linprocfs_doprocstatus, | ||||
NULL, NULL, NULL, PFS_RD); | NULL, NULL, NULL, PFS_RD); | ||||
pfs_create_link(dir, "fd", &linprocfs_dofdescfs, | pfs_create_link(dir, "fd", &linprocfs_dofdescfs, | ||||
NULL, NULL, NULL, 0); | NULL, NULL, NULL, 0); | ||||
pfs_create_file(dir, "auxv", &linprocfs_doauxv, | pfs_create_file(dir, "auxv", &linprocfs_doauxv, | ||||
NULL, &procfs_candebug, NULL, PFS_RD|PFS_RAWRD); | NULL, &procfs_candebug, NULL, PFS_RD|PFS_RAWRD); | ||||
pfs_create_file(dir, "limits", &linprocfs_doproclimits, | pfs_create_file(dir, "limits", &linprocfs_doproclimits, | ||||
NULL, NULL, NULL, PFS_RD); | |||||
/* /proc/<pid>/task/... */ | |||||
dir = pfs_create_dir(dir, "task", linprocfs_dotaskattr, NULL, NULL, 0); | |||||
pfs_create_file(dir, ".dummy", &linprocfs_dotaskdummy, | |||||
NULL, NULL, NULL, PFS_RD); | NULL, NULL, NULL, PFS_RD); | ||||
/* /proc/scsi/... */ | /* /proc/scsi/... */ | ||||
dir = pfs_create_dir(root, "scsi", NULL, NULL, NULL, 0); | dir = pfs_create_dir(root, "scsi", NULL, NULL, NULL, 0); | ||||
pfs_create_file(dir, "device_info", &linprocfs_doscsidevinfo, | pfs_create_file(dir, "device_info", &linprocfs_doscsidevinfo, | ||||
NULL, NULL, NULL, PFS_RD); | NULL, NULL, NULL, PFS_RD); | ||||
pfs_create_file(dir, "scsi", &linprocfs_doscsiscsi, | pfs_create_file(dir, "scsi", &linprocfs_doscsiscsi, | ||||
NULL, NULL, NULL, PFS_RD); | NULL, NULL, NULL, PFS_RD); | ||||
▲ Show 20 Lines • Show All 51 Lines • Show Last 20 Lines |