Re: Undefined symbols: _rtrequest
site_archiver@lists.apple.com Delivered-To: darwin-dev@lists.apple.com This just sort of scratches the surface. -josh On May 26, 2005, at 8:36 AM, Philip George wrote: On May 26, 2005, at 10:32 AM, Justin Walker wrote: What are you trying to do? adding and deleting custom routes. running 10.3.9 thanks. - philip This email sent to jgraessley@apple.com _______________________________________________ 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 If you're in user space, you need to use a routing socket. If you're in the kernel, you are better off using a routing socket from the kernel than using the rtrequest function directly. rtrequest is off limits in 10.4. For 10.3.x there should be two symbol kexts you can link against as well as the kernel itself when declaring your OSBundleLibraries in your kext's Info.plist. I can't recall the names but you should be able to figure them out using kextstat. kextstat will list the kernel library kexts at the top. They typically have an address, size, and length of 0. From Tiger (10.4.1) the library list is: 1 1 0x0 0x0 0x0 com.apple.kernel (8.1.0) 2 13 0x0 0x0 0x0 com.apple.kpi.bsd (8.1.0) 3 14 0x0 0x0 0x0 com.apple.kpi.iokit (8.1.0) 4 16 0x0 0x0 0x0 com.apple.kpi.libkern (8.1.0) 5 14 0x0 0x0 0x0 com.apple.kpi.mach (8.1.0) 6 15 0x0 0x0 0x0 com.apple.kpi.unsupported (8.1.0) 7 1 0x0 0x0 0x0 com.apple.iokit.IONVRAMFamily (8.1.0) 8 1 0x0 0x0 0x0 com.apple.driver.AppleNMI (8.1.0) 9 1 0x0 0x0 0x0 com.apple.iokit.IOSystemManagementFamily (8.1.0) 10 1 0x0 0x0 0x0 com.apple.iokit.ApplePlatformFamily (8.1.0) 11 66 0x0 0x0 0x0 com.apple.kernel.6.0 (7.9.9) 12 1 0x0 0x0 0x0 com.apple.kernel.bsd (7.9.9) 13 1 0x0 0x0 0x0 com.apple.kernel.iokit (7.9.9) 14 1 0x0 0x0 0x0 com.apple.kernel.libkern (7.9.9) 15 1 0x0 0x0 0x0 com.apple.kernel.mach (7.9.9) The com.apple.kpi.* are the new Tiger symbol sets. com.apple.kernel.* are the backwards compatible ones that have been stripped of everything that isn't supported on Tiger. The goal was to allow existing drivers using IOKit to continue to work by exporting the few symbols that provided functionality they didn't get from IOKit. com.apple.kernel is the kernel itself. This will give you access to every symbol in the kernel. If you link against this, you will break with every software update since the compatible version of the kernel always matches the current version. rtrequest() is a procedure in the kernel; it is not in any library. In 10.4 and later, it may be off-limits (not available via the KPI); I haven't verified this. can you point me in the direction of instructions on how i can get that function linked into my binary. _______________________________________________ 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/jgraessley% 40apple.com smime.p7s
participants (1)
-
Josh Graessley