kstring.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /**
  2. * RT-Thread RuiChing
  3. *
  4. * COPYRIGHT (C) 2024-2025 Shanghai Real-Thread Electronic Technology Co., Ltd.
  5. * All rights reserved.
  6. *
  7. * The license and distribution terms for this file may be
  8. * found in the file LICENSE in this distribution.
  9. */
  10. #ifndef __KSTRING_H__
  11. #define __KSTRING_H__
  12. #include <rttypes.h>
  13. #include <kpi.h>
  14. typedef void *(*__kpi_rt_memset)(void *src, int c, rt_ubase_t n);
  15. typedef void *(*__kpi_rt_memcpy)(void *dest, const void *src, rt_ubase_t n);
  16. typedef void *(*__kpi_rt_memmove)(void *dest, const void *src, rt_size_t n);
  17. typedef rt_int32_t (*__kpi_rt_memcmp)(const void *cs, const void *ct,
  18. rt_size_t count);
  19. typedef char *(*__kpi_rt_strdup)(const char *s);
  20. typedef rt_size_t (*__kpi_rt_strnlen)(const char *s, rt_ubase_t maxlen);
  21. typedef char *(*__kpi_rt_strstr)(const char *str1, const char *str2);
  22. typedef rt_int32_t (*__kpi_rt_strcasecmp)(const char *a, const char *b);
  23. typedef char *(*__kpi_rt_strcpy)(char *dst, const char *src);
  24. typedef char *(*__kpi_rt_strncpy)(char *dest, const char *src, rt_size_t n);
  25. typedef rt_int32_t (*__kpi_rt_strncmp)(const char *cs, const char *ct,
  26. rt_size_t count);
  27. typedef rt_int32_t (*__kpi_rt_strcmp)(const char *cs, const char *ct);
  28. typedef rt_size_t (*__kpi_rt_strlen)(const char *src);
  29. KPI_EXTERN(rt_memset);
  30. KPI_EXTERN(rt_memcpy);
  31. KPI_EXTERN(rt_memmove);
  32. KPI_EXTERN(rt_memcmp);
  33. KPI_EXTERN(rt_strdup);
  34. KPI_EXTERN(rt_strnlen);
  35. KPI_EXTERN(rt_strstr);
  36. KPI_EXTERN(rt_strcasecmp);
  37. KPI_EXTERN(rt_strcpy);
  38. KPI_EXTERN(rt_strncpy);
  39. KPI_EXTERN(rt_strncmp);
  40. KPI_EXTERN(rt_strcmp);
  41. KPI_EXTERN(rt_strlen);
  42. #endif /* __KSTRING_H__ */