Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Undefined symbols: _rtrequest




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.

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.


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.


running 10.3.9

can you point me in the direction of instructions on how i can get that function linked into my binary.

thanks.

- philip


_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/darwin-dev/jgraessley% 40apple.com


This email sent to email@hidden


Attachment: smime.p7s
Description: S/MIME cryptographic signature

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/darwin-dev/email@hidden

This email sent to email@hidden

References: 
 >Undefined symbols: _rtrequest (From: Philip George <email@hidden>)
 >Re: Undefined symbols: _rtrequest (From: Justin Walker <email@hidden>)
 >Re: Undefined symbols: _rtrequest (From: Philip George <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.