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

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

32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
36 * SUCH DAMAGE.
37 *
38 * @(#)procfs_vfsops.c 8.7 (Berkeley) 5/10/95
39 *
1/*-
2 * Copyright (c) 2001 Dag-Erling Sm�rgrav
3 * Copyright (c) 1993 Jan-Simon Pendry
4 * Copyright (c) 1993
5 * The Regents of the University of California. All rights reserved.
6 *
7 * This code is derived from software contributed to Berkeley by
8 * Jan-Simon Pendry.

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

32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
36 * SUCH DAMAGE.
37 *
38 * @(#)procfs_vfsops.c 8.7 (Berkeley) 5/10/95
39 *
40 * $FreeBSD: head/sys/fs/procfs/procfs.c 166548 2007-02-07 10:30:49Z kib $
40 * $FreeBSD: head/sys/fs/procfs/procfs.c 167482 2007-03-12 12:16:52Z des $
41 */
42
43#include <sys/param.h>
44#include <sys/queue.h>
45#include <sys/exec.h>
46#include <sys/lock.h>
47#include <sys/kernel.h>
48#include <sys/malloc.h>

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

155{
156 struct pfs_node *root;
157 struct pfs_node *dir;
158 struct pfs_node *node;
159
160 root = pi->pi_root;
161
162 pfs_create_link(root, "curproc", procfs_docurproc,
41 */
42
43#include <sys/param.h>
44#include <sys/queue.h>
45#include <sys/exec.h>
46#include <sys/lock.h>
47#include <sys/kernel.h>
48#include <sys/malloc.h>

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

155{
156 struct pfs_node *root;
157 struct pfs_node *dir;
158 struct pfs_node *node;
159
160 root = pi->pi_root;
161
162 pfs_create_link(root, "curproc", procfs_docurproc,
163 NULL, NULL, 0);
163 NULL, NULL, NULL, 0);
164
165 dir = pfs_create_dir(root, "pid",
164
165 dir = pfs_create_dir(root, "pid",
166 procfs_attr, NULL, PFS_PROCDEP);
166 procfs_attr, NULL, NULL, PFS_PROCDEP);
167 pfs_create_file(dir, "cmdline", procfs_doproccmdline,
167 pfs_create_file(dir, "cmdline", procfs_doproccmdline,
168 NULL, NULL, PFS_RD);
168 NULL, NULL, NULL, PFS_RD);
169 pfs_create_file(dir, "ctl", procfs_doprocctl,
169 pfs_create_file(dir, "ctl", procfs_doprocctl,
170 procfs_attr, NULL, PFS_WR);
170 procfs_attr, NULL, NULL, PFS_WR);
171 pfs_create_file(dir, "dbregs", procfs_doprocdbregs,
171 pfs_create_file(dir, "dbregs", procfs_doprocdbregs,
172 procfs_attr, procfs_candebug, PFS_RDWR|PFS_RAW);
172 procfs_attr, procfs_candebug, NULL, PFS_RDWR|PFS_RAW);
173 pfs_create_file(dir, "etype", procfs_doproctype,
173 pfs_create_file(dir, "etype", procfs_doproctype,
174 NULL, NULL, PFS_RD);
174 NULL, NULL, NULL, PFS_RD);
175 pfs_create_file(dir, "fpregs", procfs_doprocfpregs,
175 pfs_create_file(dir, "fpregs", procfs_doprocfpregs,
176 procfs_attr, procfs_candebug, PFS_RDWR|PFS_RAW);
176 procfs_attr, procfs_candebug, NULL, PFS_RDWR|PFS_RAW);
177 pfs_create_file(dir, "map", procfs_doprocmap,
177 pfs_create_file(dir, "map", procfs_doprocmap,
178 NULL, procfs_notsystem, PFS_RD);
178 NULL, procfs_notsystem, NULL, PFS_RD);
179 node = pfs_create_file(dir, "mem", procfs_doprocmem,
179 node = pfs_create_file(dir, "mem", procfs_doprocmem,
180 procfs_attr, procfs_candebug, PFS_RDWR|PFS_RAW);
180 procfs_attr, procfs_candebug, NULL, PFS_RDWR|PFS_RAW);
181 node->pn_ioctl = procfs_ioctl;
182 node->pn_close = procfs_close;
183 pfs_create_file(dir, "note", procfs_doprocnote,
181 node->pn_ioctl = procfs_ioctl;
182 node->pn_close = procfs_close;
183 pfs_create_file(dir, "note", procfs_doprocnote,
184 procfs_attr, procfs_candebug, PFS_WR);
184 procfs_attr, procfs_candebug, NULL, PFS_WR);
185 pfs_create_file(dir, "notepg", procfs_doprocnote,
185 pfs_create_file(dir, "notepg", procfs_doprocnote,
186 procfs_attr, procfs_candebug, PFS_WR);
186 procfs_attr, procfs_candebug, NULL, PFS_WR);
187 pfs_create_file(dir, "regs", procfs_doprocregs,
187 pfs_create_file(dir, "regs", procfs_doprocregs,
188 procfs_attr, procfs_candebug, PFS_RDWR|PFS_RAW);
188 procfs_attr, procfs_candebug, NULL, PFS_RDWR|PFS_RAW);
189 pfs_create_file(dir, "rlimit", procfs_doprocrlimit,
189 pfs_create_file(dir, "rlimit", procfs_doprocrlimit,
190 NULL, NULL, PFS_RD);
190 NULL, NULL, NULL, PFS_RD);
191 pfs_create_file(dir, "status", procfs_doprocstatus,
191 pfs_create_file(dir, "status", procfs_doprocstatus,
192 NULL, NULL, PFS_RD);
192 NULL, NULL, NULL, PFS_RD);
193
194 pfs_create_link(dir, "file", procfs_doprocfile,
193
194 pfs_create_link(dir, "file", procfs_doprocfile,
195 NULL, procfs_notsystem, 0);
195 NULL, procfs_notsystem, NULL, 0);
196
197 return (0);
198}
199
200/*
201 * Destructor
202 */
203static int
204procfs_uninit(PFS_INIT_ARGS)
205{
206 /* nothing to do, pseudofs will GC */
207 return (0);
208}
209
210PSEUDOFS(procfs, 1);
196
197 return (0);
198}
199
200/*
201 * Destructor
202 */
203static int
204procfs_uninit(PFS_INIT_ARGS)
205{
206 /* nothing to do, pseudofs will GC */
207 return (0);
208}
209
210PSEUDOFS(procfs, 1);