RTI Connext DDS Micro C++ API  Version 4.0.1
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
OSAPI Memory

These are utilities for OS-independent memory manipulation such as filling and copying. More...

Functions

void OSAPI_Memory_copy (void *dest, const void *src, RTI_SIZE_T size)
 Copies size bytes from non-overlapping src to dest.
void OSAPI_Memory_zero (void *mem, RTI_SIZE_T size)
 Sets memory region to 0.
RTI_INT32 OSAPI_Memory_compare (const void *left, const void *right, RTI_SIZE_T size)
 Byte-wise compare of two memory regions.
void OSAPI_Memory_move (void *dest, const void *source, RTI_SIZE_T size)
 Moves size bytes from non-overlapping src to dest.
void * OSAPI_Memory_fndchr (const void *s, RTI_INT32 c, RTI_SIZE_T n)
 Locate byte in byte string.
RTI_SIZE_T OSAPI_String_length (const char *s)
 Return length of ASCIIZ string.
RTI_SIZE_T OSAPI_String_length_w_max (const char *s, RTI_SIZE_T max)
 Return length of ASCIIZ string.
RTI_INT32 OSAPI_String_cmp (const char *l, const char *r)
 Compare two ASCIIZ strings.
RTI_INT32 OSAPI_String_ncmp (const char *l, const char *r, RTI_SIZE_T num)
 Compare two ASCIIZ strings.

Detailed Description

These are utilities for OS-independent memory manipulation such as filling and copying.


Function Documentation

void OSAPI_Memory_copy ( void *  dest,
const void *  src,
RTI_SIZE_T  size 
)

Copies size bytes from non-overlapping src to dest.

Valid dest and src >= size, where size >= 0. The src and dst memory regions should NOT overlap or the results will be undetermined. On success move size number of bytes from in [dest, dest+size) are identical to [src, src+size).

Parameters:
destOut. Pointer to destination memory region.
srcIn. Pointer to source memory region.
sizeIn. Number of bytes to copy starting at dest.
Exceptions:
None.
MT Safety:
src cannot be modified concurrently; dest cannot be not modified or read concurrently.
void OSAPI_Memory_zero ( void *  mem,
RTI_SIZE_T  size 
)

Sets memory region to 0.

Clear a memory region. Valid memory >= size, where size >= 0. On On success [mem, mem+size) is filled with 0.

Parameters:
memOut. Pointer to memory region to be modified.
sizeIn. Number of bytes to fill with zeroes, starting at mem.
Exceptions:
None.
MT Safety:
mem cannot be modified or read concurrently.
RTI_INT32 OSAPI_Memory_compare ( const void *  left,
const void *  right,
RTI_SIZE_T  size 
)

Byte-wise compare of two memory regions.

This function performs a byte-wise comparison of two memory regions of size bytes. left and right must be >= 0 and size >= 0. This function does not alter any memory content.

  • Parameters:
    leftIn. Pointer to logical "left" side of the inequality test.
    rightIn. Pointer to logical "right" side of the inequality test.
    sizeIn. Number of bytes to compare, starting from left to right.
    Returns:
    less than, equal to, or greater than 0, according to whether left is lexicographically less than, equal to, or greater than right when taken as unsigned characters.
void OSAPI_Memory_move ( void *  dest,
const void *  source,
RTI_SIZE_T  size 
)

Moves size bytes from non-overlapping src to dest.

Moves size bytes from non-overlapping src to dest. Valid dest and src >= size, where size >= 0. The src and dst memory regions may overlap. On success size number of bytes from right is moved to [dest, dest+size) and is identical to[src, src+size)

Parameters:
destOut. Pointer to destination memory region.
sourceIn. Pointer to source memory region.
sizeIn. Number of bytes to copy starting at dest.
Exceptions:
None.
MT Safety:
src cannot be modified concurrently; dest cannot be modified or read concurrently.
void* OSAPI_Memory_fndchr ( const void *  s,
RTI_INT32  c,
RTI_SIZE_T  n 
)

Locate byte in byte string.

Locate byte in byte string

Parameters:
[in]s- Pointer to beginning of byte string
[in]c- Byte to search for
[in]n- Maximum search length
Returns:
pointer to first occurrence of c if found, NULL otherwise.
RTI_SIZE_T OSAPI_String_length ( const char *  s)

Return length of ASCIIZ string.

Return length of ASCIIZ string not including \0

Parameters:
[in]s- Pointer to beginning of byte string
Returns:
Length of string not including \0
RTI_SIZE_T OSAPI_String_length_w_max ( const char *  s,
RTI_SIZE_T  max 
)

Return length of ASCIIZ string.

Return length of ASCIIZ string not including \0

Parameters:
[in]s- Pointer to beginning of byte string
[in]max- The maximum length to check
Returns:
Length of string not including \0
RTI_INT32 OSAPI_String_cmp ( const char *  l,
const char *  r 
)

Compare two ASCIIZ strings.

Lexicographically compare the null-terminated strings l and r. The comparison is using unsigned arithmetic.

Parameters:
[in]l- Left side string
[in]r- Right side string
Returns:
0 if the strings are identical, a positive integer if l > r, and a negative integer if l < r.
RTI_INT32 OSAPI_String_ncmp ( const char *  l,
const char *  r,
RTI_SIZE_T  num 
)

Compare two ASCIIZ strings.

Lexicographically compare null-terminated strings l and r, including up to num characters (if the null terminator is not found before the specified number of characters has been compared). The comparison is using unsigned arithmetic.

Parameters:
[in]l- Left side string
[in]r- Right side string
[in]num- Maximum number of characters to compare
Returns:
0 if the strings are identical, a positive integer if l > r, and a negative integer if l < r.

RTI Connext DDS Micro C++ API Version 4.0.1 Copyright © Mon Jun 3 2024 Real-Time Innovations, Inc