site_archiver@lists.apple.com Delivered-To: darwin-dev@lists.apple.com Thanks Chris! I would have completely missed the prepare() and complete() methods. On Nov 10, 2008, at 5:35 PM, Duane Murphy wrote: On a follow up question. My user client APIs map to kernel functions that expect to get a buffer that they can write into. IOMemoryDescriptors are setup to use readBytes() and writeBytes() rather than direct memory access (e.g. a pointer). I really hope your doing something different than what it sounds like your describing. Your UserClient should be exporting an API specific to your needs, not a generic copy of kernel API's. Generic API's make it easier to subvert your UserClient and force it do things contrary to it's intended purpose. If your API is generic, much of your security comes from secretiveness- Security through obscurity at it's worse. Is there a way of getting "buffer" access? Some way of writing directly to the underlying memory by address? Is that what map() and IOMemoryMap is for? Map gives you pointer level access to the memory described by the descriptor. _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-dev mailing list (Darwin-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-dev/site_archiver%40lists.appl... This email sent to site_archiver@lists.apple.com