⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 itron.h

📁 仓储物流盘点机DT900源程序及编译环境。
💻 H
📖 第 1 页 / 共 2 页
字号:
typedef struct  t_ver   {
            UH          maker;          /* maker                            */
            UH          id;             /* id                               */
            UH          spver;          /* specification version            */
            UH          prver;          /* production version               */
            UH          prno[4];        /* production number                */
            UH          cpu;            /* CPU information                  */
            UH          var;            /* variation                        */
        } T_VER;

/*------------------ t_trccb (trace buffer control block) ------------------*/
typedef struct  t_trccb {
            VP          tr_trbtop;      /* top address of trace buffer      */
            VP          tr_trbbtm;      /* bottom address of trace buffer   */
            VP          tr_trbins;      /* insert address of trace entry    */
            UW          tr_trbsts;      /* trace buffer status              */
        } T_TRCCB;

/*------------------ t_trcent (trace buffer entry block) -------------------*/
typedef struct t_trcent {
            UH          te_attr;        /* attribute                        */
            ID          te_tskid;       /* task id of call svc              */
            UW          te_ltime;       /* system time                      */
            W           te_event;       /* event       (r0 register)        */
            VW          te_par1;        /* parameter 1 (r4 register)        */
            VW          te_par2;        /* parameter 2 (r5 register)        */
            VW          te_par3;        /* parameter 3 (r6 register)        */
            VW          te_par4;        /* parameter 4 (r7 register)        */
            UW          te_pc;          /* pc register                      */
            UW          te_sr;          /* sr register                      */
        } T_TRCENT;

/****************************************************************************/
/*                                                                          */
/*                                error code                                */
/*                                                                          */
/****************************************************************************/
#define E_OK            0x0             /* normal end                       */
#define E_TNOSPT        (-0x613)        /* timer no support                 */
#define E_RSFN          (-0x614)        /* reserved function code number    */
#define E_RSID          (-0x617)        /* reserved id number               */
#define E_PAR           (-0x721)        /* parameter error                  */
#define E_ILADR         (-0x722)        /* illegal address                  */
#define E_IDOVR         (-0x723)        /* ID over                          */
#define E_TPRI          (-0x726)        /* illegal task priority            */
#define E_ILTIME        (-0x727)        /* illegal time                     */
#define E_ILMSG         (-0x729)        /* illegal message type             */
#define E_IMS           (-0x72b)        /* illegal imask                    */
#define E_SELF          (-0x831)        /* tskid is self                    */
#define E_EXS           (-0x833)        /* object exist                     */
#define E_NOEXS         (-0x834)        /* object non existent              */
#define E_DMT           (-0x835)        /* task is dormant status           */
#define E_NODMT         (-0x836)        /* task isn't dormant status        */
#define E_NOSUS         (-0x838)        /* task isn't suspend status        */
#define E_ILBLK         (-0x83b)        /* illegal momory block             */
#define E_NOWAI         (-0x83e)        /* task isn't wait status           */
#define E_OBJ           (-0x83f)        /* object status error              */
#define E_CTX           (-0xa45)        /* context error                    */
#define E_QOVR          (-0xb49)        /* queuing over flow                */
#define E_TMOUT         (-0xd55)        /* time out                         */
#define E_RLWAI         (-0xd56)        /* wait status forced release       */
#define E_PLFAIL        (-0xe59)        /* polling fail                     */

/****************************************************************************/
/*                                                                          */
/*                      error code of setup table check                     */
/*                                                                          */
/****************************************************************************/
#define ES_KMSKLVL      0x01            /* illegal kernel mask level of     */
                                        /*                        interrupt */
#define ES_INSTNUM      0x02            /* illegal nest number of interrupt */
#define ES_MTSKID       0x03            /* illegal max task id              */
#define ES_MTSKPRI      0x04            /* illegal max task priority        */
#define ES_ITSKNUM      0x05            /* illegal number of initial task   */
#define ES_ITSKSP       0x06            /* illegal initial task stack       */
                                        /*                          pointer */
#define ES_ITSKID       0x07            /* illegal initial task id          */
#define ES_ITSKPRI      0x08            /* illegal initial task priority    */
#define ES_ITSKADR      0x09            /* illegal initial task start       */
                                        /*                          address */
#define ES_MFLGID       0x0a            /* illegal max event flag id        */
#define ES_MSEMID       0x0b            /* illegal max semaphore id         */
#define ES_MMBXID       0x0c            /* illegal max mail box id          */
#define ES_MMPLID       0x0d            /* illegal max memory pool id       */
#define ES_MPLADR       0x0e            /* illegal memory pool top address  */
#define ES_BLKSIZ       0x0f            /* illegal memory block size        */
#define ES_BLKCNT       0x10            /* illegal memory block count       */
#define ES_MPLARA       0x11            /* illegal memory pool area         */
#define ES_IHDRADR      0x12            /* illegal initial handler address  */
#define ES_MSVCFCD      0x13            /* illegal max function code of     */
                                        /*                     extended SVC */
#define ES_SVCADR       0x14            /* illegal extended SVC handler     */
                                        /*                          address */
#define ES_TRCADR       0x15            /* illegal trace buffer top address */
#define ES_TRCCNT       0x16            /* illegal trace count              */
#define ES_TRCARA       0x17            /* illegal trace buffer area        */

/****************************************************************************/
/*                                                                          */
/*                          sys_clk SVC declaration                         */
/*                                                                          */
/****************************************************************************/
#define sys_clk()       trapa(60)       /* sys_clk  SVC                     */

/****************************************************************************/
/*                                                                          */
/*                          prototype declaration                           */
/*                                                                          */
/****************************************************************************/
ER      cre_tsk(ID tskid, TASKP stadr, TPRI itskpri);
ER      sta_tsk(ID tskid);
ER      ista_tsk(ID tskid);
ER      del_tsk(ID tskid);
void    ext_tsk(void);
void    exd_tsk(void);
ER      ter_tsk(ID tskid);
ER      chg_pri(ID tskid, TPRI tskpri);
ER      ichg_pri(ID tskid, TPRI tskpri);
ER      rot_rdq(TPRI tskpri);
ER      irot_rdq(TPRI tskpri);
ER      rel_wai(ID tskid);
ER      irel_wai(ID tskid);
ER      get_tid(ID *p_tskid);
ER      tsk_sts(UH *p_tskstat, TPRI *p_tskpri, ID tskid);
ER      sus_tsk(ID tskid);
ER      isus_tsk(ID tskid);
ER      rsm_tsk(ID tskid);
ER      irsm_tsk(ID tskid);
ER      slp_tsk(void);
ER      wai_tsk(TMO tmout);
ER      wup_tsk(ID tskid);
ER      iwup_tsk(ID tskid);
ER      can_wup(W *p_wupcnt, ID tskid);
ER      set_flg(ID flgid, UW setptn);
ER      iset_flg(ID flgid, UW setptn);
ER      clr_flg(ID flgid, UW clrptn);
ER      wai_flg(UW *p_flgptn, ID flgid, UW waiptn, UW wfmode);
ER      pol_flg(UW *p_flgptn, ID flgid, UW waiptn, UW wfmode);
ER      flg_sts(ID *p_wtskid, UW *p_flgptn, ID flgid);
ER      sig_sem(ID semid);
ER      isig_sem(ID semid);
ER      wai_sem(ID semid);
ER      preq_sem(ID semid);
ER      sem_sts(ID *p_wtskid, W *p_semcnt, ID semid);
ER      snd_msg(ID mbxid, void *pk_msg);
ER      isnd_msg(ID mbxid, void *pk_msg);
ER      rcv_msg(void **ppk_msg, ID mbxid);
ER      prcv_msg(void **ppk_msg, ID mbxid);
ER      mbx_sts(ID *p_wtskid, void **ppk_msg, ID mbxid);
ER      chg_ims(SR imask);
ER      ims_sts(SR *p_imask);
ER      get_blk(VP *p_blk, ID mplid);
ER      pget_blk(VP *p_blk, ID mplid);
ER      rel_blk(ID mplid, VP blk);
ER      mpl_sts(ID *p_wtskid, W *p_frbcnt, ID mplid);
ER      set_tim(T_TIM *pk_tim);
ER      get_tim(T_TIM *pk_tim);
ER      get_ver(T_VER *pk_ver);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -