Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

copy(9) [opendarwin man page]

COPY(9) 						   BSD Kernel Developer's Manual						   COPY(9)

NAME
copy, copyin, copyout, copystr, copyinstr -- kernel copy functions SYNOPSIS
#include <sys/types.h> #include <sys/systm.h> int copyin(const void *uaddr, void *kaddr, size_t len); int copyout(const void *kaddr, void *uaddr, size_t len); int copystr(const void *kfaddr, void *kdaddr, size_t len, size_t *done); int copyinstr(const void *uaddr, void *kaddr, size_t len, size_t *done); DESCRIPTION
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 NUL-terminated string, at most len bytes long, from kernel-space address kfaddr to kernel-space address kdaddr. The number of bytes actually copied, including the terminating NUL, is returned in *done. copyinstr() Copies a NUL-terminated string, at most len bytes long, from user-space address uaddr to kernel-space address kaddr. The num- ber of bytes actually copied, including the terminating NUL, is returned in *done. RETURN VALUES
The copy functions return 0 on success or EFAULT if a bad address is encountered. In addition, the copystr(), and copyinstr() functions return ENAMETOOLONG if the string is longer than len bytes. SEE ALSO
fetch(9), store(9) BSD
January 7, 1996 BSD

Check Out this Related Man Page

COPY(9) 						   BSD Kernel Developer's Manual						   COPY(9)

NAME
copy, copyin, copyout, copystr, copyinstr -- kernel copy functions SYNOPSIS
#include <sys/types.h> #include <sys/systm.h> int copyin(const void *uaddr, void *kaddr, size_t len); int copyout(const void *kaddr, void *uaddr, size_t len); int copystr(const void *kfaddr, void *kdaddr, size_t len, size_t *done); int copyinstr(const void *uaddr, void *kaddr, size_t len, size_t *done); DESCRIPTION
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 NUL-terminated string, at most len bytes long, from kernel-space address kfaddr to kernel-space address kdaddr. The number of bytes actually copied, including the terminating NUL, is returned in *done (if done is non-NULL). copyinstr() Copies a NUL-terminated string, at most len bytes long, from user-space address uaddr to kernel-space address kaddr. The num- ber of bytes actually copied, including the terminating NUL, is returned in *done (if done is non-NULL). RETURN VALUES
The copy functions return 0 on success or EFAULT if a bad address is encountered. In addition, the copystr(), and copyinstr() functions return ENAMETOOLONG if the string is longer than len bytes. SEE ALSO
fetch(9), store(9) BSD
January 7, 1996 BSD
Man Page

4 More Discussions You Might Find Interesting

1. Filesystems, Disks and Memory

'cp' and slack space

Does the 'cp' command copy the slack space of the copied file to the new location(e.g. CDROM, TAPE)? I've read that slack space is only copied in a bitstream copy/backup. Is the 'cp' utility a bitstream copy? (1 Reply)
Discussion started by: viRaven
1 Replies

2. UNIX for Dummies Questions & Answers

Printing Multiple Copies

Has anyone come accross and solved an issue where only 1 copy of a doc prints after you use the -n flag and specify more then 1. My exact syntax is lp -dprintername -n3 documentname enq command does same thing. Both commands show the 3 copies in the queue but only 1 ever prints I am using AIX... (0 Replies)
Discussion started by: capeme
0 Replies

3. AIX

Can not copy file not enough space on LV

Hello, Please can someone help. I have created a lv called lv00 in datavg it has 8 PP's in use and each PP is 256MB I have 537 Free PP's Every time I copy my mksysb file to this new lv it gives me an error: 0653-447 Requested a write of ..... but wrote only ... errpt tells me... (2 Replies)
Discussion started by: pobman
2 Replies

4. Programming

help with copy_to/from_user char device driver

hi, I need to copy strings from kernel space to user space and vice versa. Currently if I do the following on the shell Write from user--> kernel :echo -n abcedef > /dev/stringdrvr read from kernel-->user :cat /dev/stringdrvr It only returns the last character 'f' and not entire... (0 Replies)
Discussion started by: dragonpoint
0 Replies