summaryrefslogtreecommitdiff
path: root/include/rtthread.h
diff options
context:
space:
mode:
authorqiuyiuestc <[email protected]>2010-04-11 16:44:54 +0000
committerqiuyiuestc <[email protected]>2010-04-11 16:44:54 +0000
commit5211e7ff8fbd9dd7737fa5c0d83b505bbba0c893 (patch)
treef552be8b7119d85590dc55987fd01c7ebc97d944 /include/rtthread.h
parentca6a1a7ecbd47f45b00aac9766b8dfb572c6eade (diff)
add module feature
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@604 bbd45198-f89e-11dd-88c7-29a3b14d5316
Diffstat (limited to 'include/rtthread.h')
-rw-r--r--include/rtthread.h42
1 files changed, 27 insertions, 15 deletions
diff --git a/include/rtthread.h b/include/rtthread.h
index 9cf3e49978..b3d6621e22 100644
--- a/include/rtthread.h
+++ b/include/rtthread.h
@@ -14,6 +14,8 @@
* 2006-08-10 Bernard add version information
* 2007-01-28 Bernard rename RT_OBJECT_Class_Static to RT_Object_Class_Static
* 2007-03-03 Bernard clean up the definitions to rtdef.h
+ * 2010-04-11 yi.qiu add module feature
+
*/
#ifndef __RT_THREAD_H__
@@ -25,6 +27,16 @@
extern "C" {
#endif
+#if defined(__CC_ARM)
+#ifdef RT_USING_MODULE
+#define RTT_API __declspec(dllimport)
+#else
+#define RTT_API __declspec(dllexport)
+#endif
+#elif defined(__GNUC__)
+#define RTT_API
+#endif
+
/**
* @addtogroup KernelObject
*/
@@ -91,27 +103,27 @@ void rt_timer_timeout_sethook(void (*hook)(struct rt_timer* timer));
/*
* thread interface
*/
-rt_err_t rt_thread_init(struct rt_thread* thread,
+RTT_API rt_err_t rt_thread_init(struct rt_thread* thread,
const char* name,
void (*entry)(void* parameter), void* parameter,
void* stack_start, rt_uint32_t stack_size,
rt_uint8_t priority, rt_uint32_t tick);
-rt_err_t rt_thread_detach(rt_thread_t thread);
-rt_thread_t rt_thread_create (const char* name,
+RTT_API rt_err_t rt_thread_detach(rt_thread_t thread);
+RTT_API 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_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);
+RTT_API rt_thread_t rt_thread_self(void);
+RTT_API rt_thread_t rt_thread_find(char* name);
+RTT_API rt_err_t rt_thread_startup(rt_thread_t thread);
+RTT_API 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_control(rt_thread_t thread, rt_uint8_t cmd, void* arg);
-rt_err_t rt_thread_suspend(rt_thread_t thread);
-rt_err_t rt_thread_resume(rt_thread_t thread);
-void rt_thread_timeout(void* parameter);
+RTT_API rt_err_t rt_thread_yield(void);
+RTT_API rt_err_t rt_thread_delay(rt_tick_t tick);
+RTT_API rt_err_t rt_thread_control(rt_thread_t thread, rt_uint8_t cmd, void* arg);
+RTT_API rt_err_t rt_thread_suspend(rt_thread_t thread);
+RTT_API rt_err_t rt_thread_resume(rt_thread_t thread);
+RTT_API void rt_thread_timeout(void* parameter);
/*
* idle thread interface
@@ -312,8 +324,8 @@ void rt_interrupt_leave(void);
rt_int32_t rt_sprintf(char *buf ,const char *format,...);
rt_int32_t rt_vsprintf(char *dest, const char *format, va_list arg_ptr);
rt_int32_t rt_sprintf(char *buf ,const char *format,...);
-rt_int32_t rt_snprintf(char *buf, rt_size_t size, const char *format, ...);
-
+rt_int32_t rt_snprintf(char *buf, rt_size_t size, const char *format, ...);
+
rt_device_t rt_console_set_device(const char* name);
void rt_kprintf(const char *fmt, ...);