*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->OpenBSD man pages -> copyin (9)              
Title
Content
Arch
Section
 

COPY(9)

Contents


NAME    [Toc]    [Back]

     copy - kernel copy functions

SYNOPSIS    [Toc]    [Back]

     #include <sys/types.h>
     #include <sys/systm.h>

     int
     copyin(void *uaddr, void *kaddr, size_t len);

     int
     copyout(void *kaddr, void *uaddr, size_t len);

     int
     copystr(void  *kfaddr,  void  *kdaddr,  size_t  len,  size_t
*done);

     int
     copyinstr(void  *uaddr,  void  *kaddr,  size_t  len,  size_t
*done);

     int
     copyoutstr(void *kaddr,  void  *uaddr,  size_t  len,  size_t
*done);

DESCRIPTION    [Toc]    [Back]

     The copy functions are designed to copy contiguous data from
one address
     to another.  All but copystr() copy data from user-space  to
kernel-space
     or vice-versa.

     The copy routines provide the following functionality:

     copyin()       Copies  len bytes of data from the user-space
address uaddr
                   to the kernel-space address kaddr.

     copyout()     Copies len bytes of data from the kernel-space
address
                   kaddr to the user-space address uaddr.

     copystr()      Copies  a null-terminated string, at most len
bytes long,
                   from kernel-space address  kfaddr  to  kernelspace address
                   kdaddr.   The number of bytes actually copied,
including the
                   terminating null, is returned in *done.

     copyinstr()   Copies a null-terminated string, at  most  len
bytes long,
                   from  user-space address uaddr to kernel-space
address
                   kaddr.  The number of bytes  actually  copied,
including the
                   terminating null, is returned in *done.

     copyoutstr()   Copies  a null-terminated string, at most len
bytes long,
                   from kernel-space address kaddr to  user-space
address
                   uaddr.   The  number of bytes actually copied,
including the
                   terminating null, is returned in *done.

RETURN VALUES    [Toc]    [Back]

     The copy functions return 0 on success or EFAULT  if  a  bad
address is encountered.
   In  addition,  the  copystr(), copyinstr(), and
copyoutstr()
     functions return ENAMETOOLONG if the string is  longer  than
len bytes.

OpenBSD      3.6                          January     7,     1996
[ Back ]
 Similar pages
Name OS Title
copystr NetBSD kernel space to/from user space copy functions
copyoutstr NetBSD kernel space to/from user space copy functions
copyin_proc NetBSD kernel space to/from user space copy functions
copyout_proc NetBSD kernel space to/from user space copy functions
copy NetBSD kernel space to/from user space copy functions
copyinstr NetBSD kernel space to/from user space copy functions
copyin NetBSD kernel space to/from user space copy functions
copyout NetBSD kernel space to/from user space copy functions
scp OpenBSD secure copy (remote file copy program)
scp FreeBSD secure copy (remote file copy program)
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service