diff options
author | mpp <mpp@FreeBSD.org> | 1996-04-15 21:37:07 +0000 |
---|---|---|
committer | mpp <mpp@FreeBSD.org> | 1996-04-15 21:37:07 +0000 |
commit | 3ad2f69a9f86d650939c1e04a98ee4f59675af43 (patch) | |
tree | 7de1e4760c533b2fc1176aaecf83fd0885582931 /share/man/man9/copy.9 | |
parent | 78748acfc60b88987b419de1eada1d6b9828a33b (diff) | |
download | FreeBSD-src-3ad2f69a9f86d650939c1e04a98ee4f59675af43.zip FreeBSD-src-3ad2f69a9f86d650939c1e04a98ee4f59675af43.tar.gz |
Add man pages for the copy*, fetch*, and store* families of
kernel functions.
Also added timeout(9) to the makefile.
Reviewed by: joerg
Obtained from: NetBSD
Diffstat (limited to 'share/man/man9/copy.9')
-rw-r--r-- | share/man/man9/copy.9 | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/share/man/man9/copy.9 b/share/man/man9/copy.9 new file mode 100644 index 0000000..c8c57c3 --- /dev/null +++ b/share/man/man9/copy.9 @@ -0,0 +1,130 @@ +.\" $NetBSD: copy.9,v 1.2 1996/01/09 03:23:04 thorpej Exp $ +.\" +.\" Copyright (c) 1996 Jason R. Thorpe. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed by Kenneth Stailey. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed for the NetBSD Project +.\" by Jason R. Thorpe. +.\" 4. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +.\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.Dd Jan 7, 1996 +.Dt COPY 9 +.Os FreeBSD +.Sh NAME +.Nm copy , +.Nm copyin , +.Nm copyout , +.Nm copystr , +.Nm copyinstr +.Nd kernel copy functions +.Sh SYNOPSIS +.Fd #include <sys/types.h> +.Fd #include <sys/systm.h> +.Ft int +.Fn copyin "void *uaddr" "void *kaddr" "size_t len" +.Ft int +.Fn copyout "void *kaddr" "void *uaddr" "size_t len" +.Ft int +.Fn copystr "void *kfaddr" "void *kdaddr" "size_t len" "size_t *done" +.Ft int +.Fn copyinstr "void *uaddr" "void *kaddr" "size_t len" "size_t *done" +.\" .Ft int +.\" .Fn copyoutstr "void *kaddr" "void *uaddr" "size_t len" "size_t *done" +.Sh DESCRIPTION +The +.Nm +functions are designed to copy contiguous data from one address +to another. All but +.Fn copystr +copy data from user-space to kernel-space or vice-versa. +.Pp +The +.Nm +routines provide the following functionality: +.Bl -tag -width "copyoutstr()" +.It Fn copyin +Copies +.Pa len +bytes of data from the user-space address +.Pa uaddr +to the kernel-space address +.Pa kaddr . +.It Fn copyout +Copies +.Pa len +bytes of data from the kernel-space address +.Pa kaddr +to the user-space address +.Pa uaddr . +.It Fn copystr +Copies a NULL-terminated string, at most +.Pa len +bytes long, from kernel-space address +.Pa kfaddr +to kernel-space address +.Pa kdaddr . +The number of bytes actually copied, including the terminating +NULL, is returned in +.Pa *done . +.It Fn copyinstr +Copies a NULL-terminated string, at most +.Pa len +bytes long, from user-space address +.Pa uaddr +to kernel-space address +.Pa kaddr . +The number of bytes actually copied, including the terminating +NULL, is returned in +.Pa *done . +.\" .It Fn copyoutstr +.\" Copies a NULL-terminated string, at most +.\" bytes long, from kernel-space address +.\" .Pa kaddr +.\" to user-space address +.\" .Pa uaddr . +.\" The number of bytes actually copied, including the terminating +.\" NULL, is returned in +.\" .Pa *done . +.El +.Sh RETURN VALUES +The +.Nm +functions return 0 on success or EFAULT if a bad address is encountered. +In addition, the +.Fn copystr , +and +.Fn copyinstr +.\" .Fn copyinstr , +.\" and +.\" .Fn copyoutstr +functions return ENAMETOOLONG if the string is longer than +.Pa len +bytes. +.Sh SEE ALSO +.Xr fetch 9 , +.Xr store 9 . |