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: problem with kext compiled under tiger...



hello again,

I tried editing the header but it seems that the prototype has changed from

U IOUserClient::setAsyncReference(unsigned*, unsigned, void*, void*)

to

U IOUserClient::registerNotificationPort(ipc_port*, unsigned long, unsigned long)

and I don't know where the definition for ipc_port is to be found ...

upon further examination it seems like mach_port_t has been replaced by ipc_port_t in multiple places

U IODataQueue::setNotificationPort(ipc_port*)
U IOUserClient::setAsyncReference(unsigned*, ipc_port*, void*, void*)
U IOUserClient::registerNotificationPort(ipc_port*, unsigned long, unsigned long)
U IOServiceUserNotification::init(ipc_port*, unsigned, unsigned*)
U IOServiceMessageUserNotification::init(ipc_port*, unsigned, unsigned*, unsigned)


but the header files haven't been updated to reflect this...

so its not clear to me how i should modify the header files in order to make this work... any suggestions ? is there some hope of this being fixed soon ?

thanks

-rimas

* Subject: Re: problem with kext compiled under tiger...
* From: Mike Smith

Edit your copy of the header to contain the correct prototype for the method.

 = Mike

On Jun 16, 2005, at 3:37 PM, rimas wrote:


are you aware of a workaround ?



On Wed, 15 Jun 2005 16:46:20 -0700
 Kris Daniel <email@hidden> wrote:

We just ran into the same problem while at WWDC. If you use the command:


nm /System/Library/Extensions/System.kext/Plugins/IOKit.kext/IOKit | grep UserClient17setAsync | c++filt
you'll get the results:
U IOUserClient::setAsyncReference(unsigned int*, ipc_port*, void*, void*)


Speaking with one of the IOKit team, it seems that the header file in the framework does not match the symbol exposed in the kernel. So, although the function prototype actually did change, we didn't get updated headers.
I haven't entered a Radar bug on this yet, namely because we told the IOKit team member. It wouldn't hurt to enter a bug, just so they have something to track.


Kris Daniel
Line 6, Inc.


On Jun 15, 2005, at 10:30 AM, rimas wrote:


i recently recompiled my KEXT on a machine running Tiger. When I try to kextload it I get the following error message:


kld(): Undefined symbols:
__ZN12IOUserClient17setAsyncReferenceEPjjPvS1_

doing an nm /System/Library/Extensions/System.kext/Plugins/ IOKit.kext/IOKit | grep UserClient17setAsync

i see

U __ZN12IOUserClient17setAsyncReferenceEPjP8ipc_portPvS3_

so it looks like the arguments to the function have changed or something ? (sorry i'm not exactly sure how to interpret the alphanumeric characters after the function name). The prototype in IOUserClient.h doesn't seem to have changed...



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

This email sent to email@hidden
References: 
 >problem with kext compiled under tiger... (From: "rimas" <email@hidden>)
 >Re: problem with kext compiled under tiger... (From: Kris Daniel <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.