Re: Mac OS X 10.4 (Tiger) compilation errors ( GCC v3.3 ) with X Code 2.0 tool
site_archiver@lists.apple.com Delivered-To: darwin-kernel@lists.apple.com Hi, On Mac OS X 10.1 , defined as follows int copyin(const void *uaddr, void *kaddr, size_t len); int copyout(const void *kaddr, void *uaddr, size_t len); But it is defined on Tiger as follows int copyin(const user_addr_t uaddr, void *kaddr, size_t len); int copyout(const void *kaddr, user_addr_t udaddr, size_t len); -- Terry _______________________________________________ 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... On Aug 8, 2005, at 7:14 AM, Karunakar Reddy G wrote: Hey, I found the previous problem is due to copyin and copyout kernel copy functions in the driver, the way it defined in Tiger is different. Now, My problem is I don't have option to copy void * to void *, which is very important in my driver, why they removed such a beautiful option? Is there any other new functions are available? Is it possible to use same functions, then can any one have example to use of them? If you are using copyin()/copyout()/copyinstr() directly, rather than using uiomove()/uiomove64(), then you will need to make changes to your code. The reason for the change to the parameters was to support copying in/ out data with 64 bit user space addresses for 64 bit processes. Without the change, you would be limited to only passing data from the first 4G of process memory into the kernel when using a 64 bit process, and that wouldn't really be useful. This email sent to site_archiver@lists.apple.com
participants (1)
-
Terry Lambert