69 lines
1.4 KiB
C
Executable File
69 lines
1.4 KiB
C
Executable File
/**
|
|
* @file os_thread.h
|
|
* @author LokLiang (lokliang@163.com)
|
|
* @brief
|
|
* @version 0.1
|
|
* @date 2023-05-01
|
|
*
|
|
* @copyright Copyright (c) 2023
|
|
*
|
|
*/
|
|
|
|
#ifndef __OS_THREAD_H__
|
|
#define __OS_THREAD_H__
|
|
|
|
#include "os/os_common.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"
|
|
{
|
|
#endif
|
|
|
|
typedef os_handle_t os_thread_handle_t;
|
|
|
|
typedef struct
|
|
{
|
|
os_thread_handle_t handle;
|
|
} os_thread_t;
|
|
|
|
typedef void (*os_thread_entry_t)(void *);
|
|
|
|
os_state os_thread_init(os_thread_t *thread,
|
|
const char *name,
|
|
os_thread_entry_t entry,
|
|
void *arg,
|
|
void *stack_base,
|
|
size_t stack_size,
|
|
os_priority priority);
|
|
|
|
os_state os_thread_create(os_thread_t *thread,
|
|
const char *name,
|
|
os_thread_entry_t entry,
|
|
void *arg,
|
|
size_t stack_size,
|
|
os_priority priority);
|
|
|
|
os_state os_thread_delete(os_thread_t *thread);
|
|
|
|
void os_thread_sleep(os_time_t msec);
|
|
|
|
void os_thread_yield(void);
|
|
|
|
void os_thread_suspend(os_thread_t *thread);
|
|
|
|
void os_thread_resume(os_thread_t *thread);
|
|
|
|
os_thread_handle_t os_thread_get_self(void);
|
|
|
|
const char *os_thread_get_name(os_thread_t *thread);
|
|
|
|
size_t os_thread_stack_min(os_thread_t *thread);
|
|
|
|
bool os_thread_is_valid(os_thread_t *thread);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __OS_THREAD_H__ */
|