Re: ProjectBuilder and Filesystem kmods
Re: ProjectBuilder and Filesystem kmods
- Subject: Re: ProjectBuilder and Filesystem kmods
- From: "Justin C. Walker" <email@hidden>
- Date: Mon, 28 Jan 2002 23:27:05 -0800
On Monday, January 28, 2002, at 09:46 PM, Sujal Shah wrote:
Hi,
I'm taking a look at porting the coda client filesystem driver from
FreeBSD to Darwin. There are two fundamental problems I'm running into,
one sort of frivolous, the other more fundamental.
I'll start with the frivolous one first. I've been trying to figure
out the "proper" way to set up a ProjectBuilder project for a filesystem
driver. There are several targets necessary, and scattered source.
There is also very little consistency in the file system sources
included with the Darwin source code. Can someone point out one of the
filesystems in the darwin source as a "recommended way" to do it?
You can find PB projects dealing with file systems in the Darwin
repository. That should help. If not, you want to start with the
"KEXT" type in PB.
Now the more fundamental question: I'm just trying to understand the
way that a filesystem might be implemented in darwin. In other words,
what are the specific targets that are required to get it to work.
Also, why are there different targets for kmods and kexts? I thought
they were the same thing...
KEXTs and kmods are not the same; the latter is a building block on
which the former is built. Typically, file system and network
extensions are kmods, but that is not cast in concrete. A KEXT is a
collection of one or more kmods, plus some other goo. The darwin
repository is replete with examples that should help by giving you
working examples. Check the HOWTOs on the Apple Darwin site for details.
So, my real question is, what are some good pointers on doing
something
like this. I have read most of the included documentation regarding
writing KEXTs, but haven't found anything that goes into any detail at
all. I realize that most of the targets in the existing projects are
pretty self explanatory, but it would be nice to understand the
reasoning behind some of the layout and organization.
Except for IO Kit support, the documentation is sparse. Look to the
repository for examples (e.g., see the folders Networking and
Filesystems in
http://www.opensource.apple.com/cgi-bin/registered/cvs).
Regards,
Justin
--
Justin C. Walker, Curmudgeon-At-Large *
Institute for General Semantics | It's not whether you win or
lose...
| It's whether *I* win or lose.
*--------------------------------------*-------------------------------*