6#ifndef __ZEPHYR_RTOS_STRING_H__
7#define __ZEPHYR_RTOS_STRING_H__
22#define bzero(ptr, size) \
32static inline int rstrcmp(
const char *s1,
const char *s2)
34 return strcmp(s1, s2);
38static inline int memcpy_s(
void *dest,
size_t dest_size,
39 const void *src,
size_t count)
44 if (count > dest_size)
47 uintptr_t dest_addr = (uintptr_t)dest;
48 uintptr_t src_addr = (uintptr_t)src;
51 if ((dest_addr + dest_size < dest_addr) || (src_addr + count < src_addr))
55 if ((dest_addr >= src_addr && dest_addr < src_addr + count) ||
56 (src_addr >= dest_addr && src_addr < dest_addr + dest_size))
59 memcpy(dest, src, count);
64static inline int memset_s(
void *dest,
size_t dest_size,
int data,
size_t count)
69 if (count > dest_size)
72 memset(dest,
data, count);
77#if defined(CONFIG_XTENSA)
78 __asm__ __volatile__(
"memw" :::
"memory");
uint32_t data[]
Definition debug_stream_slot.h:2
void * __vec_memcpy(void *dst, const void *src, size_t len)
static int rstrlen(const char *s)
Definition string.h:26
void * __vec_memset(void *dest, int data, size_t src_size)
static int memset_s(void *dest, size_t dest_size, int data, size_t count)
Definition string.h:64
static int memcpy_s(void *dest, size_t dest_size, const void *src, size_t count)
Definition string.h:38
static int rstrcmp(const char *s1, const char *s2)
Definition string.h:32