doubao_chat/include_lib/net/uC-HTTPc/include/kal.h

63 lines
1.4 KiB
C

#ifndef _KAL_H_
#define _KAL_H_
#include "../../../system/os/os_api.h"
typedef enum {
KAL_ERR_NONE,
KAL_ERR_NULL_PTR,
KAL_ERR_OVF,
KAL_ERR_RSRC,
KAL_ERR_OS,
KAL_ERR_INVALID_ARG,
KAL_ERR_MEM_ALLOC,
KAL_ERR_ISR,
KAL_ERR_CREATE,
KAL_ERR_TIMEOUT,
KAL_ERR_ABORT,
KAL_ERR_LOCK_OWNER,
KAL_ERR_WOULD_BLOCK,
} KAL_ERR;
#define KAL_Init(...)
typedef u32 KAL_TICK;
typedef OS_MUTEX KAL_LOCK_HANDLE;
typedef OS_SEM KAL_SEM_HANDLE;
typedef OS_QUEUE KAL_Q_HANDLE;
#define KAL_FeatureQuery(...) DEF_YES
#define KAL_TIMEOUT_INFINITE 0
#define KAL_LockCreate(a,b) *b=os_mutex_create(&(a))
#define KAL_LockAcquire(a,b,c,d) *d=os_mutex_pend(&(a),c)
#define KAL_LockRelease(a,b) *b=os_mutex_post(&(a))
// extern void msleep(int);
#define KAL_TickRate 100
#define KAL_Dly(a) msleep(a)
#define KAL_DlyTick(a,b) msleep(a)
#define KAL_TickGet(a) os_time_get()
#define KAL_SemCreate(a,b) *b = os_sem_create(&(a),0)
#define KAL_SemDel(a,b) *b = os_sem_del(&(a),OS_DEL_ALWAYS)
#define KAL_SemPend(a,b,c,d) *d=os_sem_pend(&(a),c)
#define KAL_SemPendAbort(a,b) *b=os_sem_pend(&(a),-1)
#define KAL_SemSet(a,b,c) *c=os_sem_set(&(a),b)
#define KAL_SemPost(a,b,c) *c=os_sem_post(&(a))
#define KAL_QCreate(a,b,c,d) *d=os_q_create(&(a),b)
#define KAL_QPend(a,b,c,d) *d=os_q_pend(&(a),0,&c)
#define KAL_QPost(a,b,c,d) *d=os_q_post(&(a),b)
#define KAL_TaskCreate(a,b,c,d,e,f,g) *g = os_task_create(b,c,d,e,f,a)
#endif