KallistiOS git master
Independent SDK for the Sega Dreamcast
Loading...
Searching...
No Matches
Types

Standard types and their utilities More...

Files

file  string.h
 Variants on standard block memory copy/set functions.
 

Functions

void * memcpy4 (void *dest, const void *src, size_t count)
 Copy a block of memory, 4 bytes at a time.
 
void * memset4 (void *s, unsigned long c, size_t count)
 Set a block of memory, 4 bytes at a time.
 
void * memcpy2 (void *dest, const void *src, size_t count)
 Copy a block of memory, 2 bytes at a time.
 
void * memset2 (void *s, unsigned short c, size_t count)
 Set a block of memory, 2 bytes at a time.
 

Detailed Description

Standard types and their utilities

Function Documentation

◆ memcpy2()

void * memcpy2 ( void * dest,
const void * src,
size_t count )

Copy a block of memory, 2 bytes at a time.

Deprecated
Invokes undefined behavior. Use memcpy().

This function is identical to memcpy(), except it copies 2 bytes at a time.

Warning
This function breaks C/C++ strict aliasing rules and is no longer considered safe to use. It's also slow.
Parameters
destThe destination of the copy.
srcThe source to copy.
countThe number of bytes to copy. This should be divisible by 2 (and will be rounded down if not).
Returns
The original value of dest.

◆ memcpy4()

void * memcpy4 ( void * dest,
const void * src,
size_t count )

Copy a block of memory, 4 bytes at a time.

Deprecated
Invokes undefined behavior. Use memcpy().

This function is identical to memcpy(), except it copies 4 bytes at a time.

Warning
This function breaks C/C++ strict aliasing rules and is no longer considered safe to use. It's also slow.
Parameters
destThe destination of the copy.
srcThe source to copy.
countThe number of bytes to copy. This should be divisible by 4 (and will be rounded down if not).
Returns
The original value of dest.

◆ memset2()

void * memset2 ( void * s,
unsigned short c,
size_t count )

Set a block of memory, 2 bytes at a time.

Deprecated
Invokes undefined behavior.

This function is identical to memset(), except it sets 2 bytes at a time. This implies that all 16-bits of c are used, not just the first 8 as in memset().

Warning
This function breaks C/C++ strict aliasing rules and is no longer considered safe to use.
Parameters
sThe destination of the set.
cThe value to set to.
countThe number of bytes to set. This should be divisible by 2 (and will be rounded down if not).
Returns
The original value of dest.

◆ memset4()

void * memset4 ( void * s,
unsigned long c,
size_t count )

Set a block of memory, 4 bytes at a time.

Deprecated
Invokes undefined behavior. Use memset().

This function is identical to memset(), except it sets 4 bytes at a time. This implies that all 32-bits of c are used, not just the first 8 as in memset().

Warning
This function breaks C/C++ strict aliasing rules and is no longer considered safe to use.
Parameters
sThe destination of the set.
cThe value to set to.
countThe number of bytes to set. This should be divisible by 4 (and will be rounded down if not).
Returns
The original value of dest.