site_archiver@lists.apple.com Delivered-To: darwin-kernel@lists.apple.com Cheers, - Dean On Feb 8, 2005, at 03:43, Stephane Sudre wrote: I have 2 Kernel Extensions A and B. _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/site_archiver%40lists.a... Sorry - replace "CFBundleIdentifier" with "CFBundleVersion" everywhere below and it'll make more sense... - Dean On Feb 8, 2005, at 09:12, Dean Reece wrote: You've just about got it. You just need to add an "OSBundleCompatibleVersion" property into A. It's value will be in the same format as the "CFBundleIdentifier" property. Taken together, these two properties form a binary compatibility version-range. The presence of this property makes kext A a library kext that is acceptable as a library for any other kext (B) asking for a version between "OSBundleCompatibleVersion" and "CFBundleIdentifier", inclusive. Have a look at any of the IOKit Family kexts for an example of this, or have a look at http://developer.apple.com/documentation/DeviceDrivers/Conceptual/ IOKitFundamentals/Families/chapter_7_section_3.html#//apple_ref/doc/ uid/TP0000017/TPXREF104 for a brief discussion of this mechanism. I'm seeing something strange as I thought what I wanted to do was possible but doesn't actually like to be. Kernel Extension A is loaded first and is requiring usual stuff in OSBundleLibraries. Kernel Extension B is defining one of the function of A with an extern and is including the Bundle Identifier and Version of A in the OSBundleLibraries section of the Info.plist. Now when I load B after A, this does not work as it's said that no correct version for A was found. Is it not possible to use symbols from a kext in another kext as long as you help the kext loader knows where they can be found? I was wondering if this was not linked to the fact that I'm using the default version 1.0.0d1 from the Kernel Extension template but I don't really think this is the reason. The function I'm trying to reference is not set as static or __private_extern__ in A. _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/ dean.reece%40apple.com This email sent to dean.reece@apple.com _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/ dean.reece%40apple.com This email sent to dean.reece@apple.com This email sent to site_archiver@lists.apple.com