MEMCHR(9F)              Kernel Functions for Drivers              MEMCHR(9F)
NAME
       memchr, memcmp, memcpy, memmove, memset - Memory operations
SYNOPSIS
       #include <sys/sunddi.h>       
void *memchr(
const void *s, 
int c, 
size_t n);       
int memcmp(
const void *s1, 
const void *s2, 
size_t n);       
void *memcpy(
void *restrict s1, 
const void *restrict s2, 
size_t n);       
void *memmove(
void *s1, 
const void *s2, 
size_t n);       
void *memset(
void *s, 
int c, 
size_t n);
INTERFACE LEVEL
       illumos DDI specific (illumos DDI).
PARAMETERS
       dst                 Pointers to character strings.       
n                 Count of characters to be copied.       
s1, 
s2                 Pointers to character strings.
DESCRIPTION
       These functions operate as efficiently as possible on memory areas
       (arrays of bytes bounded by a count, not terminated by a null
       character). They do not check for the overflow of any receiving
       memory area.
       The 
memchr() function returns a pointer to the first occurrence of 
c       (converted to an 
unsigned char) in the first 
n bytes (each
       interpreted as an 
unsigned char) of memory area 
s, or a null pointer
       if 
c does not occur.
       The 
memcmp() function compares its arguments, looking at the first 
n       bytes (each interpreted as an 
unsigned char), and returns an integer
       less than, equal to, or greater than 0, according as 
s1 is
       lexicographically less than, equal to, or greater than 
s2 when taken
       to be unsigned characters.
       The 
memcpy() function copies 
n bytes from memory area 
s2 to 
s1. It
       returns 
s1. If copying takes place between objects that overlap, the
       behavior is undefined.
       The 
memmove() function copies 
n bytes from memory area 
s2 to memory
       area 
s1. Copying between objects that overlap will take place
       correctly. It returns 
s1.
       The 
memset() function sets the first 
n bytes in memory area 
s to the
       value of 
c (converted to an 
unsigned char). It returns 
s.
USAGE
       Using 
memcpy() might be faster than using 
memmove() if the
       application knows that the objects being copied do not overlap.
CONTEXT
       These functions can be called from user, interrupt, or kernel
       context.
SEE ALSO
       bcopy(9F), 
ddi_copyin(9F), 
strcpy(9F)       Writing Device Drivers                              January 15, 2014                    MEMCHR(9F)