mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2026-02-06 00:45:22 +08:00
[kernel] move std libc related to rtklibc.h
This commit is contained in:
67
include/rtklibc.h
Normal file
67
include/rtklibc.h
Normal file
@@ -0,0 +1,67 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2024, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
* Change Logs:
|
||||
* Date Author Notes
|
||||
* 2024-03-10 Meco Man the first version
|
||||
*/
|
||||
|
||||
#ifndef __RT_KLIBC_H__
|
||||
#define __RT_KLIBC_H__
|
||||
|
||||
#include <rtconfig.h>
|
||||
#include <rtdef.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* kstdio */
|
||||
|
||||
int rt_vsprintf(char *dest, const char *format, va_list arg_ptr);
|
||||
int rt_vsnprintf(char *buf, rt_size_t size, const char *fmt, va_list args);
|
||||
int rt_sprintf(char *buf, const char *format, ...);
|
||||
int rt_snprintf(char *buf, rt_size_t size, const char *format, ...);
|
||||
|
||||
/* kstring */
|
||||
|
||||
#ifndef RT_KSERVICE_USING_STDLIB_MEMORY
|
||||
void *rt_memset(void *src, int c, rt_ubase_t n);
|
||||
void *rt_memcpy(void *dest, const void *src, rt_ubase_t n);
|
||||
void *rt_memmove(void *dest, const void *src, rt_size_t n);
|
||||
rt_int32_t rt_memcmp(const void *cs, const void *ct, rt_size_t count);
|
||||
#endif /* RT_KSERVICE_USING_STDLIB_MEMORY */
|
||||
char *rt_strdup(const char *s);
|
||||
rt_size_t rt_strnlen(const char *s, rt_ubase_t maxlen);
|
||||
#ifndef RT_KSERVICE_USING_STDLIB
|
||||
char *rt_strstr(const char *str1, const char *str2);
|
||||
rt_int32_t rt_strcasecmp(const char *a, const char *b);
|
||||
char *rt_strcpy(char *dst, const char *src);
|
||||
char *rt_strncpy(char *dest, const char *src, rt_size_t n);
|
||||
rt_int32_t rt_strncmp(const char *cs, const char *ct, rt_size_t count);
|
||||
rt_int32_t rt_strcmp(const char *cs, const char *ct);
|
||||
rt_size_t rt_strlen(const char *src);
|
||||
#else
|
||||
#include <string.h>
|
||||
#ifdef RT_KSERVICE_USING_STDLIB_MEMORY
|
||||
#define rt_memset(s, c, count) memset(s, c, count)
|
||||
#define rt_memcpy(dst, src, count) memcpy(dst, src, count)
|
||||
#define rt_memmove(dest, src, n) memmove(dest, src, n)
|
||||
#define rt_memcmp(cs, ct, count) memcmp(cs, ct, count)
|
||||
#endif /* RT_KSERVICE_USING_STDLIB_MEMORY */
|
||||
#define rt_strstr(str1, str2) strstr(str1, str2)
|
||||
#define rt_strcasecmp(a, b) strcasecmp(a, b)
|
||||
#define rt_strcpy(dest, src) strcpy(dest, src)
|
||||
#define rt_strncpy(dest, src, n) strncpy(dest, src, n)
|
||||
#define rt_strncmp(cs, ct, count) strncmp(cs, ct, count)
|
||||
#define rt_strcmp(cs, ct) strcmp(cs, ct)
|
||||
#define rt_strlen(src) strlen(src)
|
||||
#endif /*RT_KSERVICE_USING_STDLIB*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __RT_KLIBC_H__ */
|
||||
@@ -14,6 +14,10 @@
|
||||
#include "rttypes.h"
|
||||
#include "rtcompiler.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
struct rt_thread;
|
||||
|
||||
typedef rt_uint8_t rt_sched_thread_status_t;
|
||||
@@ -169,4 +173,8 @@ void rt_sched_remove_thread(struct rt_thread *thread);
|
||||
|
||||
#endif /* defined(__RT_KERNEL_SOURCE__) || defined(__RT_IPC_SOURCE__) */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __RT_SCHED_H__ */
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
* 2023-10-16 Shell Support a new backtrace framework
|
||||
* 2023-12-10 xqyjlj fix spinlock in up
|
||||
* 2024-01-25 Shell Add rt_susp_list for IPC primitives
|
||||
* 2024-03-10 Meco Man move std libc related functions to rtklibc
|
||||
*/
|
||||
|
||||
#ifndef __RT_THREAD_H__
|
||||
@@ -32,6 +33,7 @@
|
||||
#include <rtservice.h>
|
||||
#include <rtm.h>
|
||||
#include <rtatomic.h>
|
||||
#include <rtklibc.h>
|
||||
#ifdef RT_USING_LEGACY
|
||||
#include <rtlegacy.h>
|
||||
#endif
|
||||
@@ -736,11 +738,6 @@ rt_err_t rt_backtrace(void);
|
||||
rt_err_t rt_backtrace_thread(rt_thread_t thread);
|
||||
rt_err_t rt_backtrace_frame(struct rt_hw_backtrace_frame *frame);
|
||||
|
||||
int rt_vsprintf(char *dest, const char *format, va_list arg_ptr);
|
||||
int rt_vsnprintf(char *buf, rt_size_t size, const char *fmt, va_list args);
|
||||
int rt_sprintf(char *buf, const char *format, ...);
|
||||
int rt_snprintf(char *buf, rt_size_t size, const char *format, ...);
|
||||
|
||||
#if defined(RT_USING_DEVICE) && defined(RT_USING_CONSOLE)
|
||||
rt_device_t rt_console_set_device(const char *name);
|
||||
rt_device_t rt_console_get_device(void);
|
||||
@@ -763,39 +760,6 @@ const char *rt_strerror(rt_err_t error);
|
||||
|
||||
int __rt_ffs(int value);
|
||||
|
||||
#ifndef RT_KSERVICE_USING_STDLIB_MEMORY
|
||||
void *rt_memset(void *src, int c, rt_ubase_t n);
|
||||
void *rt_memcpy(void *dest, const void *src, rt_ubase_t n);
|
||||
void *rt_memmove(void *dest, const void *src, rt_size_t n);
|
||||
rt_int32_t rt_memcmp(const void *cs, const void *ct, rt_size_t count);
|
||||
#endif /* RT_KSERVICE_USING_STDLIB_MEMORY */
|
||||
char *rt_strdup(const char *s);
|
||||
rt_size_t rt_strnlen(const char *s, rt_ubase_t maxlen);
|
||||
#ifndef RT_KSERVICE_USING_STDLIB
|
||||
char *rt_strstr(const char *str1, const char *str2);
|
||||
rt_int32_t rt_strcasecmp(const char *a, const char *b);
|
||||
char *rt_strcpy(char *dst, const char *src);
|
||||
char *rt_strncpy(char *dest, const char *src, rt_size_t n);
|
||||
rt_int32_t rt_strncmp(const char *cs, const char *ct, rt_size_t count);
|
||||
rt_int32_t rt_strcmp(const char *cs, const char *ct);
|
||||
rt_size_t rt_strlen(const char *src);
|
||||
#else
|
||||
#include <string.h>
|
||||
#ifdef RT_KSERVICE_USING_STDLIB_MEMORY
|
||||
#define rt_memset(s, c, count) memset(s, c, count)
|
||||
#define rt_memcpy(dst, src, count) memcpy(dst, src, count)
|
||||
#define rt_memmove(dest, src, n) memmove(dest, src, n)
|
||||
#define rt_memcmp(cs, ct, count) memcmp(cs, ct, count)
|
||||
#endif /* RT_KSERVICE_USING_STDLIB_MEMORY */
|
||||
#define rt_strstr(str1, str2) strstr(str1, str2)
|
||||
#define rt_strcasecmp(a, b) strcasecmp(a, b)
|
||||
#define rt_strcpy(dest, src) strcpy(dest, src)
|
||||
#define rt_strncpy(dest, src, n) strncpy(dest, src, n)
|
||||
#define rt_strncmp(cs, ct, count) strncmp(cs, ct, count)
|
||||
#define rt_strcmp(cs, ct) strcmp(cs, ct)
|
||||
#define rt_strlen(src) strlen(src)
|
||||
#endif /*RT_KSERVICE_USING_STDLIB*/
|
||||
|
||||
void rt_show_version(void);
|
||||
|
||||
#ifdef RT_USING_DEBUG
|
||||
|
||||
@@ -24,6 +24,10 @@
|
||||
#endif /* defined(RT_USING_SIGNALS) || defined(RT_USING_SMART) */
|
||||
#endif /* RT_USING_NANO */
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* RT-Thread basic data types definition
|
||||
*/
|
||||
@@ -220,4 +224,8 @@ typedef struct rt_spinlock rt_spinlock_t;
|
||||
|
||||
#define RT_DEFINE_SPINLOCK(x) struct rt_spinlock x = RT_SPINLOCK_INIT
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __RT_TYPES_H__ */
|
||||
|
||||
@@ -2,6 +2,7 @@ from building import *
|
||||
import os
|
||||
|
||||
src = Glob('*.c')
|
||||
src += Glob('klibc/*.c')
|
||||
cwd = GetCurrentDir()
|
||||
inc = [os.path.join(cwd, '..', 'include')]
|
||||
|
||||
|
||||
686
src/klibc/kstdio.c
Normal file
686
src/klibc/kstdio.c
Normal file
File diff suppressed because it is too large
Load Diff
507
src/klibc/kstring.c
Normal file
507
src/klibc/kstring.c
Normal file
File diff suppressed because it is too large
Load Diff
1151
src/kservice.c
1151
src/kservice.c
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user