Re: Kernel Extensions
Re: Kernel Extensions
- Subject: Re: Kernel Extensions
- From: Justin Walker <email@hidden>
- Date: Sun, 16 Nov 2003 13:14:00 -0800
On Friday, November 14, 2003, at 05:21 PM, George Andre wrote:
Mike Vannorsdel wrote:
You'll have to use the VFS functions (vn_open, vn_rdwr, vn_close,
ect). This also requires a good grasp on vnodes, vnode reference
counting, and vnode locking. You'll find doing file I/O from within
the kernel is very different, and more difficult, than from userland.
Your best bet is to find a book or online tutorials on using VFS.
Just a word of warning...
Even though VN ops function will work, Apple is discouraging such an
endeavour,
since it will rely on the kernel exporting these specific symbols. As
far as I know
(someone from Apple might want to correct me if I'm wrong) relying on
kernel symbols
presence at kext link is a no-no. Plus, if I remember it correctly, to
make it work a
funnel change must be done; plus a possible break of synchronization.
Having said that, the specific kernel symbols we are talking about
have 99.9% chance/risk
of not being removed/changed... so it's your choice.
A word of warning about the word of warning :-}
None of the symbols in the kernel can be relied on, unless Apple has
committed to supporting their presence and meaning. While most of them
are unlikely to change (there's no percentage in making arbitrary
changes when you are intending to import updates from the outside), it
is possible that they will be made unavailable, in favor of more
supportable "accessor functions" or some similar scheme.
The odds-makers in Vegas and London have yet to publish their take on
this event.
Cheers,
Justin
--
Justin C. Walker, Curmudgeon-At-Large *
Institute for General Semantics | "Weaseling out of things is
what
| separates us from the animals.
| Well, except the weasel."
| - Homer J Simpson
*--------------------------------------*-------------------------------*
_______________________________________________
darwin-kernel mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/darwin-kernel
Do not post admin requests to the list. They will be ignored.