diff options
| author | Wayne Lin <[email protected]> | 2021-11-10 16:01:38 +0800 |
|---|---|---|
| committer | Wayne Lin <[email protected]> | 2021-11-10 16:01:38 +0800 |
| commit | 9b44e57a6022b8eb46eda7037b719ec918fdcc55 (patch) | |
| tree | 26be9facf0f37d1c38b9e4b6e4abc99d6f8b5a8d /include/rtthread.h | |
| parent | 37f5236dfa45b98d02e867536a10ac0b6622b80b (diff) | |
| parent | fdbaa2a808d12d522ad90702795c08ae8443aab9 (diff) | |
Merge branch 'master' of https://github.com/RT-Thread/rt-thread into nuvoton
Diffstat (limited to 'include/rtthread.h')
| -rw-r--r-- | include/rtthread.h | 40 |
1 files changed, 32 insertions, 8 deletions
diff --git a/include/rtthread.h b/include/rtthread.h index cf47a48efe..83be7d1ebc 100644 --- a/include/rtthread.h +++ b/include/rtthread.h @@ -48,9 +48,11 @@ void rt_object_init(struct rt_object *object, enum rt_object_class_type type, const char *name); void rt_object_detach(rt_object_t object); +#ifdef RT_USING_HEAP rt_object_t rt_object_allocate(enum rt_object_class_type type, const char *name); void rt_object_delete(rt_object_t object); +#endif rt_bool_t rt_object_is_systemobject(rt_object_t object); rt_uint8_t rt_object_get_type(rt_object_t object); rt_object_t rt_object_find(const char *name, rt_uint8_t type); @@ -90,12 +92,14 @@ void rt_timer_init(rt_timer_t timer, rt_tick_t time, rt_uint8_t flag); rt_err_t rt_timer_detach(rt_timer_t timer); +#ifdef RT_USING_HEAP rt_timer_t rt_timer_create(const char *name, void (*timeout)(void *parameter), void *parameter, rt_tick_t time, rt_uint8_t flag); rt_err_t rt_timer_delete(rt_timer_t timer); +#endif rt_err_t rt_timer_start(rt_timer_t timer); rt_err_t rt_timer_stop(rt_timer_t timer); rt_err_t rt_timer_control(rt_timer_t timer, int cmd, void *arg); @@ -128,17 +132,18 @@ rt_err_t rt_thread_init(struct rt_thread *thread, rt_uint8_t priority, rt_uint32_t tick); rt_err_t rt_thread_detach(rt_thread_t thread); +#ifdef RT_USING_HEAP rt_thread_t rt_thread_create(const char *name, void (*entry)(void *parameter), void *parameter, rt_uint32_t stack_size, rt_uint8_t priority, rt_uint32_t tick); +rt_err_t rt_thread_delete(rt_thread_t thread); +#endif rt_thread_t rt_thread_self(void); rt_thread_t rt_thread_find(char *name); rt_err_t rt_thread_startup(rt_thread_t thread); -rt_err_t rt_thread_delete(rt_thread_t thread); - rt_err_t rt_thread_yield(void); rt_err_t rt_thread_delay(rt_tick_t tick); rt_err_t rt_thread_delay_until(rt_tick_t *tick, rt_tick_t inc_tick); @@ -228,10 +233,12 @@ rt_err_t rt_mp_init(struct rt_mempool *mp, rt_size_t size, rt_size_t block_size); rt_err_t rt_mp_detach(struct rt_mempool *mp); +#ifdef RT_USING_HEAP rt_mp_t rt_mp_create(const char *name, rt_size_t block_count, rt_size_t block_size); rt_err_t rt_mp_delete(rt_mp_t mp); +#endif void *rt_mp_alloc(rt_mp_t mp, rt_int32_t time); void rt_mp_free(void *block); @@ -303,8 +310,10 @@ rt_err_t rt_sem_init(rt_sem_t sem, rt_uint32_t value, rt_uint8_t flag); rt_err_t rt_sem_detach(rt_sem_t sem); +#ifdef RT_USING_HEAP rt_sem_t rt_sem_create(const char *name, rt_uint32_t value, rt_uint8_t flag); rt_err_t rt_sem_delete(rt_sem_t sem); +#endif rt_err_t rt_sem_take(rt_sem_t sem, rt_int32_t time); rt_err_t rt_sem_trytake(rt_sem_t sem); @@ -318,8 +327,10 @@ rt_err_t rt_sem_control(rt_sem_t sem, int cmd, void *arg); */ rt_err_t rt_mutex_init(rt_mutex_t mutex, const char *name, rt_uint8_t flag); rt_err_t rt_mutex_detach(rt_mutex_t mutex); +#ifdef RT_USING_HEAP rt_mutex_t rt_mutex_create(const char *name, rt_uint8_t flag); rt_err_t rt_mutex_delete(rt_mutex_t mutex); +#endif rt_err_t rt_mutex_take(rt_mutex_t mutex, rt_int32_t time); rt_err_t rt_mutex_trytake(rt_mutex_t mutex); @@ -333,8 +344,10 @@ rt_err_t rt_mutex_control(rt_mutex_t mutex, int cmd, void *arg); */ rt_err_t rt_event_init(rt_event_t event, const char *name, rt_uint8_t flag); rt_err_t rt_event_detach(rt_event_t event); +#ifdef RT_USING_HEAP rt_event_t rt_event_create(const char *name, rt_uint8_t flag); rt_err_t rt_event_delete(rt_event_t event); +#endif rt_err_t rt_event_send(rt_event_t event, rt_uint32_t set); rt_err_t rt_event_recv(rt_event_t event, @@ -355,8 +368,10 @@ rt_err_t rt_mb_init(rt_mailbox_t mb, rt_size_t size, rt_uint8_t flag); rt_err_t rt_mb_detach(rt_mailbox_t mb); +#ifdef RT_USING_HEAP rt_mailbox_t rt_mb_create(const char *name, rt_size_t size, rt_uint8_t flag); rt_err_t rt_mb_delete(rt_mailbox_t mb); +#endif rt_err_t rt_mb_send(rt_mailbox_t mb, rt_ubase_t value); rt_err_t rt_mb_send_wait(rt_mailbox_t mb, @@ -377,11 +392,13 @@ rt_err_t rt_mq_init(rt_mq_t mq, rt_size_t pool_size, rt_uint8_t flag); rt_err_t rt_mq_detach(rt_mq_t mq); +#ifdef RT_USING_HEAP rt_mq_t rt_mq_create(const char *name, rt_size_t msg_size, rt_size_t max_msgs, rt_uint8_t flag); rt_err_t rt_mq_delete(rt_mq_t mq); +#endif rt_err_t rt_mq_send(rt_mq_t mq, const void *buffer, rt_size_t size); rt_err_t rt_mq_send_wait(rt_mq_t mq, @@ -440,8 +457,10 @@ rt_err_t rt_device_register(rt_device_t dev, rt_uint16_t flags); rt_err_t rt_device_unregister(rt_device_t dev); +#ifdef RT_USING_HEAP rt_device_t rt_device_create(int type, int attach_size); void rt_device_destroy(rt_device_t device); +#endif rt_err_t rt_device_set_rx_indicate(rt_device_t dev, @@ -545,6 +564,7 @@ int __rt_ffs(int value); void *rt_memset(void *src, int c, rt_ubase_t n); void *rt_memcpy(void *dest, const void *src, rt_ubase_t n); +char *rt_strdup(const char *s); #ifndef RT_KSERVICE_USING_STDLIB void *rt_memmove(void *dest, const void *src, rt_ubase_t n); @@ -554,7 +574,6 @@ rt_int32_t rt_strcasecmp(const char *a, const char *b); char *rt_strncpy(char *dest, const char *src, rt_ubase_t n); rt_int32_t rt_strncmp(const char *cs, const char *ct, rt_ubase_t count); rt_int32_t rt_strcmp(const char *cs, const char *ct); -rt_size_t rt_strnlen(const char *s, rt_ubase_t maxlen); rt_size_t rt_strlen(const char *src); #else #include <string.h> @@ -565,15 +584,20 @@ rt_size_t rt_strlen(const char *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_strnlen(s, maxlen) strnlen(s, maxlen) #define rt_strlen(src) strlen(src) #endif /*RT_KSERVICE_USING_STDLIB*/ -char *rt_strdup(const char *s); +#if !defined(RT_KSERVICE_USING_STDLIB) || defined(__ARMCC_VERSION) +rt_size_t rt_strnlen(const char *s, rt_ubase_t maxlen); +#else +#define rt_strnlen(s, maxlen) strnlen(s, maxlen) +#endif /* !defined(RT_KSERVICE_USING_STDLIB) || defined(__ARMCC_VERSION) */ + #ifdef __ARMCC_VERSION -/* lack strdup interface */ +/* MDK doesn't have these APIs */ char* strdup(const char* str); -#endif +rt_size_t strnlen(const char *s, rt_size_t maxlen); +#endif /* __ARMCC_VERSION */ void rt_show_version(void); @@ -585,7 +609,7 @@ void rt_assert_handler(const char *ex, const char *func, rt_size_t line); #endif /* RT_DEBUG */ #ifdef RT_USING_FINSH -#include <finsh_api.h> +#include <finsh.h> #endif /**@}*/ |
