diff options
| author | Dag-Erling Smørgrav <des@FreeBSD.org> | 2000-12-09 16:20:48 +0000 |
|---|---|---|
| committer | Dag-Erling Smørgrav <des@FreeBSD.org> | 2000-12-09 16:20:48 +0000 |
| commit | b51a26edb235d4826bbc647e08e1149fa38f7bfa (patch) | |
| tree | 752b58e140493ca10746a2ad37c7f50709ea9b3e /sys | |
| parent | 8b5a844af98c5f43afd0773e3d20580498d9f720 (diff) | |
Notes
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/compat/linprocfs/linprocfs.h | 1 | ||||
| -rw-r--r-- | sys/compat/linprocfs/linprocfs_subr.c | 5 | ||||
| -rw-r--r-- | sys/compat/linprocfs/linprocfs_vnops.c | 4 | ||||
| -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 |
6 files changed, 18 insertions, 2 deletions
diff --git a/sys/compat/linprocfs/linprocfs.h b/sys/compat/linprocfs/linprocfs.h index 5e0c42f01fc9..fb085fe1193f 100644 --- a/sys/compat/linprocfs/linprocfs.h +++ b/sys/compat/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/compat/linprocfs/linprocfs_subr.c b/sys/compat/linprocfs/linprocfs_subr.c index 47e95c959561..6c215cdfcee0 100644 --- a/sys/compat/linprocfs/linprocfs_subr.c +++ b/sys/compat/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/compat/linprocfs/linprocfs_vnops.c b/sys/compat/linprocfs/linprocfs_vnops.c index 17e859cb6eb0..36998bdcb59d 100644 --- a/sys/compat/linprocfs/linprocfs_vnops.c +++ b/sys/compat/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; diff --git a/sys/i386/linux/linprocfs/linprocfs.h b/sys/i386/linux/linprocfs/linprocfs.h index 5e0c42f01fc9..fb085fe1193f 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 47e95c959561..6c215cdfcee0 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 17e859cb6eb0..36998bdcb59d 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; |
