Re: Error in /usr/include/mach/message.h
Re: Error in /usr/include/mach/message.h
- Subject: Re: Error in /usr/include/mach/message.h
- From: Antoine Missout <email@hidden>
- Date: Sun, 19 Sep 2010 19:31:27 -0400
A FYI follow-up, in any case someone does kernel <-> userspace rpc.
Defining __MigKernelSpecificCode instead of _MIG_KERNELSPECIFIC_CODE_ fixes this issue (ie the original header will work fine instead of the patched one), and also has the added advantage of working correctly in 64 bits drivers. It seems the latter define is legacy.
- Antoine
On May 25, 2010, at 9:02 PM, Antoine Missout wrote:
> Hi,
>
> On 10.6.3, doing a diff between
> /usr/include/mach/message.h
> and
> /System/Library/Frameworks/Kernel.framework/Headers/mach/message.h
> you'll notice "uint32_t pad_end;" is missing from mach_msg_port_descriptor_t in /usr/include/mach/message.h:238
>
> Which leads to MIG_TYPE_ERROR (-300) when passing that structure between mig generated code compiled in userspace vs kernelspace (as the structs differ in size).
>
> Our fix was to add it back to the userland header, and everything started working.
>
> Just FYI.
> - Antoine
>
>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden