From owner-freebsd-hackers Mon Dec 1 11:52:23 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id LAA08407 for hackers-outgoing; Mon, 1 Dec 1997 11:52:23 -0800 (PST) (envelope-from owner-freebsd-hackers) Received: from grayling.erg.sri.com (grayling.erg.sri.com [128.18.4.194]) by hub.freebsd.org (8.8.7/8.8.7) with SMTP id LAA08386 for ; Mon, 1 Dec 1997 11:52:16 -0800 (PST) (envelope-from templin@erg.sri.com) Received: by grayling.erg.sri.com (8.6.12/2.7davy) id LAA10723; Mon, 1 Dec 1997 11:52:28 -0800 Message-Id: <199712011952.LAA10723@grayling.erg.sri.com> Date: Mon, 1 Dec 1997 11:52:28 -0800 From: "Fred L. Templin" To: freebsd-hackers@FreeBSD.ORG Cc: templin@erg.sri.com Subject: copyout()/copyin() Sender: owner-freebsd-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Hi, I'm designing an interface in which I need to move data directly between user and kernel buffers using copyout() and copyin(). The interface works fine when called synchronously within process context (e.g. the user process calls ioctl(), giving the address of a buffer, and the kernel calls copyout() or copyin() to move the data). But, what I really want is an *asynchronous* interface in which the kernel can move data to/from the user buffers from within an interrupt service routine - and it's my understanding that copyout() and copyin() aren't suited for this. Am I wrong about this? If not, are there alternatives to copyout()/copyin() which can be used to implement such an interface? Fred templin@erg.sri.com