diff options
author | des <des@FreeBSD.org> | 2000-12-09 16:20:48 +0000 |
---|---|---|
committer | des <des@FreeBSD.org> | 2000-12-09 16:20:48 +0000 |
commit | 27bb2ad1a8c5b1052a917b2cc11bffd46d0bf2b0 (patch) | |
tree | 672ba42fa314f8db68319f56fe7210f4e241449b /sys/i386 | |
parent | 5837f3e5b40026bee61326aa7963929025dadc1d (diff) | |
download | FreeBSD-src-27bb2ad1a8c5b1052a917b2cc11bffd46d0bf2b0.zip FreeBSD-src-27bb2ad1a8c5b1052a917b2cc11bffd46d0bf2b0.tar.gz |
Add proc/<pid>/cmdline.
Diffstat (limited to 'sys/i386')
-rw-r--r-- | sys/i386/linux/linprocfs/linprocfs.h | 1 | ||||
-rw-r--r-- | sys/i386/linux/linprocfs/linprocfs_subr.c | 5 | ||||
-rw-r--r-- | sys/i386/linux/linprocfs/linprocfs_vnops.c | 4 |
3 files changed, 9 insertions, 1 deletions
diff --git a/sys/i386/linux/linprocfs/linprocfs.h b/sys/i386/linux/linprocfs/linprocfs.h index 5e0c42f..fb085fe 100644 --- a/sys/i386/linux/linprocfs/linprocfs.h +++ b/sys/i386/linux/linprocfs/linprocfs.h @@ -50,6 +50,7 @@ typedef enum { Pproc, /* a process-specific sub-directory */ Pexe, /* the executable file */ Pmem, /* the process's memory image */ + Pcmdline, /* command line */ Pprocstat, /* the process's status */ Pprocstatus, /* the process's status (again) */ Pmeminfo, /* memory system statistics */ diff --git a/sys/i386/linux/linprocfs/linprocfs_subr.c b/sys/i386/linux/linprocfs/linprocfs_subr.c index 47e95c9..6c215cd 100644 --- a/sys/i386/linux/linprocfs/linprocfs_subr.c +++ b/sys/i386/linux/linprocfs/linprocfs_subr.c @@ -52,6 +52,7 @@ static struct pfsnode *pfshead; static int pfsvplock; extern int procfs_domem __P((struct proc *, struct proc *, struct pfsnode *pfsp, struct uio *uio)); +extern int procfs_docmdline __P((struct proc *, struct proc *, struct pfsnode *pfsp, struct uio *uio)); /* * allocate a pfsnode/vnode pair. the vnode is @@ -177,6 +178,7 @@ loop: case Pprocstat: case Pprocstatus: + case Pcmdline: /* fallthrough */ case Pmeminfo: @@ -252,6 +254,9 @@ linprocfs_rw(ap) pfs->pfs_lockowner = curproc->p_pid; switch (pfs->pfs_type) { + case Pcmdline: + rtval = procfs_docmdline(curp, p, pfs, uio); + break; case Pmem: rtval = procfs_domem(curp, p, pfs, uio); break; diff --git a/sys/i386/linux/linprocfs/linprocfs_vnops.c b/sys/i386/linux/linprocfs/linprocfs_vnops.c index 17e859c..36998bd 100644 --- a/sys/i386/linux/linprocfs/linprocfs_vnops.c +++ b/sys/i386/linux/linprocfs/linprocfs_vnops.c @@ -97,8 +97,9 @@ static struct proc_target { /* name type validp */ { DT_DIR, N("."), Pproc, NULL }, { DT_DIR, N(".."), Proot, NULL }, - { DT_REG, N("mem"), Pmem, NULL }, + { DT_REG, N("cmdline"), Pcmdline, NULL }, { DT_LNK, N("exe"), Pexe, NULL }, + { DT_REG, N("mem"), Pmem, NULL }, { DT_REG, N("stat"), Pprocstat, NULL }, { DT_REG, N("status"), Pprocstatus, NULL }, #undef N @@ -549,6 +550,7 @@ linprocfs_getattr(ap) vap->va_gid = KMEM_GROUP; break; + case Pcmdline: case Pprocstat: case Pprocstatus: vap->va_bytes = vap->va_size = 0; |