10#ifndef __TKL_INIT_SYSTEM_H__
11#define __TKL_INIT_SYSTEM_H__
13#include "tuya_cloud_types.h"
39 VOID_T (*reset) (VOID_T);
40 INT_T (*get_free_heap_size) (VOID_T);
41 SYS_TICK_T (*get_tick_count) (VOID_T);
42 SYS_TIME_T (*get_millisecond) (VOID_T);
43 INT_T (*get_random) (UINT_T range);
44 TUYA_RESET_REASON_E (*get_reset_reason) (CHAR_T** describe);
45 VOID (*sleep) (CONST UINT_T num_ms);
46 OPERATE_RET (*cpu_sleep_mode_set) (BOOL_T enable, TUYA_CPU_SLEEP_MODE_E mode);
48 VOID_T (*log_output) (CONST CHAR_T *log, ...);
49 OPERATE_RET (*log_close) (VOID_T);
50 OPERATE_RET (*log_open) (VOID_T);
52 OPERATE_RET (*ota_get_ability) (UINT_T *image_size, TUYA_OTA_TYPE_E *type);
53 OPERATE_RET (*ota_start) (UINT_T image_size, TUYA_OTA_TYPE_E type, TUYA_OTA_PATH_E path);
55 OPERATE_RET (*ota_end) (BOOL_T reset);
57 VOID_T* (*malloc) (CONST
size_t size);
58 VOID_T (*free) (VOID_T* ptr);
59 VOID_T* (*calloc) (
size_t nitems,
size_t size);
60 VOID_T* (*realloc) (VOID_T* ptr,
size_t size);
62 OPERATE_RET (*thread_create) (TKL_THREAD_HANDLE* thread, CONST CHAR_T* name, CONST UINT_T stack_size, CONST UINT_T priority, CONST THREAD_FUNC_T func, VOID_T* CONST arg);
63 OPERATE_RET (*thread_release) (CONST TKL_THREAD_HANDLE thread);
64 OPERATE_RET (*thread_set_name) (CONST CHAR_T* name);
65 OPERATE_RET (*thread_set_priority) (TKL_THREAD_HANDLE thread, INT_T priority);
66 OPERATE_RET (*thread_get_priority) (TKL_THREAD_HANDLE thread, INT_T *priority);
67 OPERATE_RET (*thread_get_watermark) (CONST TKL_THREAD_HANDLE thread, UINT_T* watermark);
68 OPERATE_RET (*thread_get_id) (TKL_THREAD_HANDLE* thread);
69 OPERATE_RET (*thread_is_self) (TKL_THREAD_HANDLE thread, BOOL_T* is_self);
70 OPERATE_RET (*thread_diagnose) (TKL_THREAD_HANDLE thread);
71 INT_T (*getheapsize) (VOID_T);
73 OPERATE_RET (*mutex_init) (TKL_MUTEX_HANDLE *handle);
74 OPERATE_RET (*mutex_lock) (CONST TKL_MUTEX_HANDLE handle);
75 OPERATE_RET (*mutex_unlock) (CONST TKL_MUTEX_HANDLE handle);
76 OPERATE_RET (*mutex_release) (CONST TKL_MUTEX_HANDLE handle);
78 OPERATE_RET (*sem_init) (TKL_SEM_HANDLE *handle, CONST UINT_T sem_cnt, CONST UINT_T sem_max);
79 OPERATE_RET (*sem_wait) (CONST TKL_SEM_HANDLE handle, CONST UINT_T timeout);
80 OPERATE_RET (*sem_post) (CONST TKL_SEM_HANDLE handle);
81 OPERATE_RET (*sem_release) (CONST TKL_SEM_HANDLE handle);
82 OPERATE_RET (*sem_wait_timeout) (CONST TKL_SEM_HANDLE handle, CONST UINT_T timeout);
84 OPERATE_RET (*queue_init) (TKL_QUEUE_HANDLE *queue, CONST INT_T msgsize, CONST INT_T msgcount);
85 VOID_T (*queue_free) (CONST TKL_QUEUE_HANDLE queue);
86 OPERATE_RET (*queue_post) (CONST TKL_QUEUE_HANDLE queue, VOID_T *data, CONST UINT_T timeout);
87 OPERATE_RET (*queue_fetch) (CONST TKL_QUEUE_HANDLE queue, VOID_T *msg, CONST UINT_T timeout);
96 OPERATE_RET (*fs_mkdir) (CONST CHAR_T* path);
97 OPERATE_RET (*fs_remove) (CONST CHAR_T* path);
98 OPERATE_RET (*fs_mode) (CONST CHAR_T* path, UINT_T* mode);
99 OPERATE_RET (*fs_is_exist) (CONST CHAR_T* path, BOOL_T* is_exist);
100 OPERATE_RET (*fs_rename) (CONST CHAR_T* path_old, CONST CHAR_T* path_new);
101 OPERATE_RET (*dir_open) (CONST CHAR_T* path, TUYA_DIR* dir);
102 OPERATE_RET (*dir_close) (TUYA_DIR dir);
103 OPERATE_RET (*dir_read) (TUYA_DIR dir, TUYA_FILEINFO* info);
104 OPERATE_RET (*dir_name) (TUYA_FILEINFO info, CONST CHAR_T** name);
105 OPERATE_RET (*dir_is_dir) (TUYA_FILEINFO info, BOOL_T* is_dir);
106 OPERATE_RET (*dir_is_regular) (TUYA_FILEINFO info, BOOL_T* is_regular);
107 TUYA_FILE (*fopen) (CONST CHAR_T* path, CONST CHAR_T* mode);
108 OPERATE_RET (*fclose) (TUYA_FILE file);
109 OPERATE_RET (*fread) (VOID_T* buf, INT_T bytes, TUYA_FILE file);
110 OPERATE_RET (*fwrite) (VOID_T* buf, INT_T bytes, TUYA_FILE file);
111 CHAR_T* (*fgets) (CHAR_T* buf, INT_T len, TUYA_FILE file);
112 OPERATE_RET (*feof) (TUYA_FILE file);
113 OPERATE_RET (*fseek) (TUYA_FILE file, INT64_T offs, INT_T whence);
114 INT64_T (*ftell) (TUYA_FILE file);
115 INT_T (*fflush) (TUYA_FILE file);
116 INT_T (*fileno) (TUYA_FILE file);
117 INT_T (*fsync) (INT_T fd);
118 INT_T (*faccess) (CONST CHAR_T *filepath,IN INT_T mode);
119 INT_T (*fgetsize) (CONST CHAR_T *filepath);
120 INT_T (*fgetc) (TUYA_FILE file);
121 INT_T (*ftruncate) (INT_T fd, UINT64_T length);
the description of tuya kernel adapter layer file system
Definition: tkl_init_system.h:95
the description of tuya kernel adapter layer system api
Definition: tkl_init_system.h:37
Definition: tuya_cloud_types.h:897
Common process - adapter the file operation api provide by OS
TKL_OS_T * tkl_os_desc_get(VOID_T)
get system os description
TKL_FS_T * tkl_fs_desc_get(VOID_T)
get file system description
Common process - adapter the semaphore api provide by OS
Common process - adapter the mutex api provide by OS
Common process - - adapter the log output api
Common process - Initialization
Common process - adapter the semaphore api provide by OS
Common process - adapter the sleep manage api
Common process - adpater some api which provide system
Common process - adapter the thread api provide by OS