From owner-freebsd-hackers Mon Jul 28 17:04:18 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id RAA14317 for hackers-outgoing; Mon, 28 Jul 1997 17:04:18 -0700 (PDT) Received: from phaeton.artisoft.com (phaeton.Artisoft.COM [198.17.250.50]) by hub.freebsd.org (8.8.5/8.8.5) with SMTP id RAA14274 for ; Mon, 28 Jul 1997 17:04:08 -0700 (PDT) Received: (from terry@localhost) by phaeton.artisoft.com (8.6.11/8.6.9) id RAA01897; Mon, 28 Jul 1997 17:03:00 -0700 From: Terry Lambert Message-Id: <199707290003.RAA01897@phaeton.artisoft.com> Subject: Re: Location of copyin() and copyout().. To: vinay@agni.nuko.com (Vinay Bannai) Date: Mon, 28 Jul 1997 17:03:00 -0700 (MST) Cc: freebsd-hackers@FreeBSD.ORG In-Reply-To: <199707282150.OAA01303@agni.nuko.com> from "Vinay Bannai" at Jul 28, 97 02:50:17 pm X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk > I was wondering if it is considered a good idea to move data back and > forth between the user and kernel space using copyin() and copyout() > without calling uiomove(). I can't seem to find the location of these > functions/macros. Can someone point me where they are defined?? They are kernel intrinsics. It's OK to use them, if you aren't using them for an I/O buffer. The primary reason to use UIO is that it handles user I/O request, ie: it does buffer paging correctly, and anonymously. There are lots of places where copyin/copyout is used (ioctl() paramters, the path name copy in namei(), etc.). Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.