copyinstr(9r)copyinstr(9r)NAMEcopyinstr - General: Copies a null-terminated string from a user
address space to a kernel address space
SYNOPSIS
int copyinstr(
char *user_src,
char *kernel_dest,
int maxlength,
int *lencopied );
ARGUMENTS
Specifies the address in user space of the null-terminated string to be
copied. Specifies the address in kernel space to copy the null-termi‐
nated string to. Specifies the maximum number of bytes to copy. Spec‐
ifies the actual length of the string copied.
DESCRIPTION
The copyinstr routine copies a specified null-terminated string from
the unprotected user address space to a specified address in the pro‐
tected kernel address space.
CAUTIONS
If the string being copied is not null terminated, copyinstr copies
maxlength bytes into the kernel address space.
RETURN VALUES
Upon successful completion, copyinstr returns the value 0 (zero) and
the actual length of the string copied to the lencopied argument. Oth‐
erwise, it returns one of the following error constants defined in
/usr/sys/include/sys/errno.h: The address in user space that you speci‐
fied in the user_src argument cannot be accessed. The length of the
string exceeds the maxlength value.
SEE ALSO
Routines: copyoutstr(9r)copyinstr(9r)