add a set of dyn(create / destroy) interface
1. tos_ring_q_create_dyn 2. tos_chr_fifo_create_dyn 3. tos_msg_q_create_dyn 4. tos_mail_q_create_dyn 5. tos_bin_heap_create_dyn 6. tos_prio_q_create_dyn 7. tos_prio_msg_q_create_dyn 8. tos_prio_mail_q_create_dyn
This commit is contained in:
@@ -37,6 +37,13 @@
|
||||
} \
|
||||
} while(0)
|
||||
|
||||
#define TOS_PTR_SANITY_CHECK_RC(ptr, return_code) \
|
||||
do { \
|
||||
if (unlikely((ptr) == K_NULL)) { \
|
||||
return return_code; \
|
||||
} \
|
||||
} while(0)
|
||||
|
||||
#define TOS_IN_IRQ_CHECK() \
|
||||
do { \
|
||||
if (unlikely(knl_is_inirq())) { \
|
||||
@@ -44,6 +51,26 @@
|
||||
} \
|
||||
} while(0)
|
||||
|
||||
#if TOS_CFG_OBJECT_VERIFY_EN > 0u
|
||||
#define TOS_OBJ_VERIFY(obj, obj_type) \
|
||||
do { \
|
||||
if (!knl_object_verify(&obj->knl_obj, obj_type)) { \
|
||||
return K_ERR_OBJ_INVALID; \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define TOS_OBJ_VERIFY_RC(obj, obj_type, return_code) \
|
||||
do { \
|
||||
if (!knl_object_verify(&obj->knl_obj, obj_type)) { \
|
||||
return return_code; \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#else
|
||||
#define TOS_OBJ_VERIFY(obj, obj_type)
|
||||
#define TOS_OBJ_VERIFY_RC(obj, obj_type, return_code)
|
||||
#endif
|
||||
|
||||
// currently we use default microlib supplied by mdk
|
||||
#define tos_kprintf(...) printf(__VA_ARGS__);
|
||||
|
||||
|
Reference in New Issue
Block a user