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 | darwin-kernel@lists.apple.com Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/darwin-kernel Do not post admin requests to the list. They will be ignored.