[comp.sys.next] NeXTStep 2.0 kernel questions

abe@mace.cc.purdue.edu (Vic Abell) (04/19/91)

Is there anyone on the net who could give me some clues about some
structures in the NS 2.0 kernel?

Specifically, I would like to know:

	o  What do I read with nlist(3) to get at the user structures?

	o  When I have read a vnode of type VCHR, what does the v_data
	   point at?  It appears to point 4 bytes in from of itself,
	   rather than at an inode.  Under SunOS it points at an snode,
	   but I can't find any header files in /usr/include that define
	   an snode.

Vic Abell <abe@mace.cc.purdue.edu>

eps@toaster.SFSU.EDU (Eric P. Scott) (04/23/91)

In article <7276@mace.cc.purdue.edu> abe@mace.cc.purdue.edu (Vic Abell) writes:
>Is there anyone on the net who could give me some clues about some
>structures in the NS 2.0 kernel?

Warning: Mach is *not* UNIX inside!

>Specifically, I would like to know:
>
>	o  What do I read with nlist(3) to get at the user structures?

u areas?  I'd say "none of the above"--the table() call performs
most of the kernel peeking one needs nlist() for on UNIX.

					-=EPS=-

abe@mace.cc.purdue.edu (Vic Abell) (04/25/91)

In article <1500@toaster.SFSU.EDU> eps@cs.SFSU.EDU (Eric P. Scott) writes:
>In article <7276@mace.cc.purdue.edu> abe@mace.cc.purdue.edu (Vic Abell) writes:
>>Is there anyone on the net who could give me some clues about some
>>structures in the NS 2.0 kernel?
>
>Warning: Mach is *not* UNIX inside!
>
>u areas?  I'd say "none of the above"--the table() call performs
>most of the kernel peeking one needs nlist() for on UNIX.

The BSD that is layered on top of MACH does have traditional kernel
structures, sometimes in slightly altered form.

After much poking and head scratching I now know that _allproc is the
head of a list of process structures.  Each process structure has a task
pointer.  The task area to which it points has a pointer to a utask area
that has many of the familiar user.h values, including the familiar
u_ofile pointer set in a slightly different form.  The u_ofile pointers
address traditional file structures, which point in turn to rnodes,
sockets and vnodes.

Where is table() documented?

eps@toaster.SFSU.EDU (Eric P. Scott) (04/25/91)

In article <7320@mace.cc.purdue.edu> abe@mace.cc.purdue.edu (Vic Abell) writes:
>Where is table() documented?

NextAnswers' hardware.422

					-=EPS=-