📄 rtai_uitron.h
字号:
UINT tmmode; /* start time specification mode */ ALMTIME almtim; /* handler startup time */} T_DALM;#define TTM_ABS 0x00 /* specified as an absolute time */#define TTM_REL 0x01 /* specified as a relative time */typedef struct t_ralm { VP exinf; /* extended information */ ALMTIME lfttim; /* time left before next handler startup */ /* Implementation-dependent part */} T_RALM;/* for system management functions */typedef struct t_ver { UH maker; /* vendor */ UH id; /* format number */ UH spver; /* specification version */ UH prver; /* product version */ UH prno[4]; /* product control information */ UH cpu; /* CPU information */ UH var; /* variation descriptor */} T_VER;typedef struct t_rsys { INT sysstat; /* system state */ /* Implementation-dependent part */} T_RSYS;#define TSS_TSK 0 /* normal state in which dispatching is enabled during task portion execution */#define TSS_DDSP 1 /* state after dis_dsp has been executed during task portion execution (dispatch disabled) */#define TSS_LOC 3 /* state after loc_cpu has been executed during task portion execution (interrupt and dispatch disabled) */#define TSS_INDP 4 /* state during execution of task-independent portions (interrupt and timer handlers) */typedef struct t_rcfg { /* Implementation-dependent part */} T_RCFG;typedef struct t_dsvc { ATR svcatr; /* extended SVC handler attributes */ FP svchdr; /* extended SVC handler address */ /* Implementation-dependent part */} T_DSVC;typedef struct t_dexc { ATR excatr; /* exception handler attributes */ FP exchdr; /* exception handler address */ /* Implementation-dependent part */} T_DEXC;#define E_OK 0 /* Normal completion */#define E_SYS (-5) /* System error */#define E_NOMEM (-10) /* Insufficient memory */#define E_NOSPT (-17) /* Feature not supported */#define E_INOSPT (-18) /* Feature not supported */#define E_RSFN (-20) /* Reserved function code number */#define E_RSATR (-24) /* Reserved attribute */#define E_PAR (-33) /* Parameter error */#define E_ID (-35) /* Invalid ID number */#define E_NOEXS (-52) /* Object does not exist */#define E_OBJ (-63) /* Invalid object state */#define E_MACV (-65) /* Memory access disabled/invalid */#define E_OACV (-66) /* Object access violation */#define E_CTX (-69) /* Context error */#define E_QOVR (-73) /* Queuing or nesting overflow */#define E_DLT (-81) /* Object being waited for was deleted */#define E_TMOUT (-85) /* Polling failure or timeout exceeded */#define E_RLWAI (-86) /* WAIT state was forcibly released */#define EN_CTXID (-121) /* Task-related call in non-task context */#ifdef __cplusplusextern "C" {#endif/* Task Management Functions */ER cre_tsk(ID tskid, T_CTSK *pk_ctsk);ER del_tsk(ID tskid);ER sta_tsk(ID tskid, INT stacd);void ext_tsk(void);void exd_tsk(void);ER ter_tsk(ID tskid);ER dis_dsp(void);ER ena_dsp(void);ER chg_pri(ID tskid, PRI tskpri);ER rot_rdq(PRI tskpri);ER rel_wai(ID tskid);ER get_tid(ID *p_tskid);ER ref_tsk(T_RTSK *pk_rtsk, ID tskid);ER sus_tsk(ID tskid);ER rsm_tsk(ID tskid);ER frsm_tsk(ID tskid);ER slp_tsk(void);ER tslp_tsk(TMO tmout);ER wup_tsk(ID tskid);ER can_wup(INT *p_wupcnt, ID tskid);/* Synchronization and Communication Functions */ER cre_sem(ID semid, T_CSEM *pk_csem);ER del_sem(ID semid);ER sig_sem(ID semid);ER wai_sem(ID semid);ER preq_sem(ID semid);ER twai_sem(ID semid, TMO tmout);ER ref_sem(T_RSEM *pk_rsem, ID semid);ER cre_flg(ID flgid, T_CFLG *pk_cflg);ER del_flg(ID flgid);ER set_flg(ID flgid, UINT setptn);ER clr_flg(ID flgid, UINT clrptn);ER wai_flg(UINT *p_flgptn, ID flgid, UINT waiptn, UINT wfmode);ER pol_flg(UINT *p_flgptn, ID flgid, UINT waiptn, UINT wfmode);ER twai_flg(UINT *p_flgptn, ID flgid, UINT waiptn, UINT wfmode, TMO tmout);ER ref_flg(T_RFLG *pk_rflg, ID flgid);ER cre_mbx(ID mbxid, T_CMBX* pk_cmbx);ER del_mbx(ID mbxid);ER snd_msg(ID mbxid, T_MSG *pk_msg);ER rcv_msg(T_MSG **ppk_msg, ID mbxid);ER prcv_msg(T_MSG **ppk_msg, ID mbxid);ER trcv_msg(T_MSG **ppk_msg, ID mbxid, TMO tmout);ER ref_mbx(T_RMBX *pk_rmbx, ID mbxid);/* Extended Synchronization and Communication Functions */ER cre_mbf(ID mbfid, T_CMBF *pk_cmbf);ER del_mbf(ID mbfid);ER snd_mbf(ID mbfid, VP msg, INT msgsz);ER psnd_mbf(ID mbfid, VP msg, INT msgsz);ER tsnd_mbf(ID mbfid, VP msg, INT msgsz, TMO tmout);ER rcv_mbf(VP msg, INT *p_msgsz, ID mbfid);ER prcv_mbf(VP msg, INT *p_msgsz, ID mbfid);ER trcv_mbf(VP msg, INT *p_msgsz, ID mbfid, TMO tmout);ER ref_mbf(T_RMBF *pk_rmbf, ID mbfid);ER cre_por(ID porid, T_CPOR *pk_cpor);ER del_por(ID porid);ER cal_por(VP msg, INT *p_rmsgsz, ID porid, UINT calptn, INT cmsgsz);ER pcal_por(VP msg, INT *p_rmsgsz, ID porid, UINT calptn, INT cmsgsz);ER tcal_por(VP msg, INT *p_rmsgsz, ID porid, UINT calptn, INT cmsgsz, TMO tmout);ER acp_por(RNO *p_rdvno, VP msg, INT *p_cmsgsz, ID porid, UINT acpptn);ER pacp_por(RNO *p_rdvno, VP msg, INT *p_cmsgsz, ID porid, UINT acpptn);ER tacp_por(RNO *p_rdvno, VP msg, INT *p_cmsgsz, ID porid, UINT acpptn, TMO tmout);ER fwd_por(ID porid, UINT calptn, RNO rdvno, VP msg, INT cmsgsz);ER rpl_rdv(RNO rdvno, VP msg, INT rmsgsz);ER ref_por(T_RPOR *pk_rpor, ID porid);/* Interrupt Management Functions */ER def_int(UINT dintno, T_DINT *pk_dint);void ret_int(void);void ret_wup(ID tskid);ER loc_cpu(void);ER unl_cpu(void);ER dis_int(UINT eintno);ER ena_int(UINT eintno);/* Memorypool Management Functions */ER cre_mpl(ID mplid, T_CMPL *pk_cmpl);ER del_mpl(ID mplid);ER get_blk(VP *p_blk, ID mplid, INT blksz);ER pget_blk(VP *p_blk, ID mplid, INT blksz);ER tget_blk(VP *p_blk, ID mplid, INT blksz, TMO tmout);ER rel_blk(ID mplid, VP blk);ER ref_mpl(T_RMPL *pk_rmpl, ID mplid);ER cre_mpf(ID mpfid, T_CMPF *pk_cmpf);ER del_mpf(ID mpfid);ER get_blf(VP *p_blf, ID mpfid);ER pget_blf(VP *p_blf, ID mpfid);ER tget_blf(VP *p_blf, ID mpfid, TMO tmout);ER rel_blf(ID mpfid, VP blf);ER ref_mpf(T_RMPF *pk_rmpf, ID mpfid);/* Time Management Functions */ER set_tim(SYSTIME *pk_tim);ER get_tim(SYSTIME *pk_tim);ER dly_tsk(DLYTIME dlytim);ER def_cyc(HNO cycno, T_DCYC *pk_dcyc);ER act_cyc(HNO cycno, UINT cycact);ER ref_cyc(T_RCYC *pk_rcyc, HNO cycno);ER def_alm(HNO almno, T_DALM *pk_dalm);ER ref_alm(T_RALM *pk_ralm, HNO almno);void ret_tmr(void);/* System Management Functions */ER get_ver(T_VER *pk_ver);ER ref_sys(T_RSYS *pk_rsys);ER ref_cfg(T_RCFG *pk_rcfg);ER def_svc(FN s_fncd, T_DSVC *pk_dsvc);ER def_exc(UINT exckind, T_DEXC *pk_dexc);#ifdef __cplusplus}#endif#endif /* !_rtai_uITRON_h */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -