diff options
Diffstat (limited to '')
-rw-r--r-- | c/src/exec/itron/include/itronsys/eventflags.h | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/c/src/exec/itron/include/itronsys/eventflags.h b/c/src/exec/itron/include/itronsys/eventflags.h new file mode 100644 index 0000000000..27224404f7 --- /dev/null +++ b/c/src/exec/itron/include/itronsys/eventflags.h @@ -0,0 +1,143 @@ +/* + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.OARcorp.com/rtems/license.html. + * + * $Id$ + */ + +#ifndef __ITRON_EVENTFLAGS_h_ +#define __ITRON_EVENTFLAGS_h_ + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Create Eventflags (cre_flg) Structure + */ + +typedef struct t_cflg { + VP exinf; /* extended information */ + ATR flgatr; /* eventflag attribute */ + UINT iflgptn; /* initial eventflag */ + /* additional information may be included depending on the implementation */ +} T_CFLG; + +/* + * flgatr + */ + +#define TA_WSGL 0x00 /* multiple tasks are not allowed to wait (Wait + Single Task) */ +#define TA_WMUL 0x08 /* multiple tasks are allowed to wait (Wait + Multiple Task) */ + +/* + * wfmode + */ + +#define TWF_ANDW 0x00 /* AND wait */ +#define TWF_ORW 0x02 /* OR wait */ +#define TWF_CLR 0x01 /* clear specification */ + +/* + * Reference Eventflags (ref_flg) Structure + */ + +typedef struct t_rflg { + VP exinf; /* extended information */ + BOOL_ID wtsk; /* indicates whether or not there is a waiting task */ + UINT flgptn; /* eventflag bit pattern */ + /* additional information may be included depending on the implementation */ +} T_RFLG; + +/* + * Eventflag Functions + */ + +/* + * cre_flg - Create Eventflag + */ + +ER cre_flg( + ID flgid, + T_CFLG *pk_cflg +); + +/* + * del_flg - Delete Eventflag + */ + +ER del_flg( + ID flgid +); + +/* + * set_flg - Set Eventflag + */ + +ER set_flg( + ID flgid, + UINT setptn +); + +/* + * clr_flg - Clear Eventflag + */ + +ER clr_flg( + ID flgid, + UINT clrptn +); + +/* + * wai_flg - Wait on Eventflag + */ + +ER wai_flg( + UINT *p_flgptn, + ID flgid, + UINT waiptn, + UINT wfmode +); + +/* + * pol_flg - Wait for Eventflag(Polling) + */ + +ER pol_flg( + UINT *p_flgptn, + ID flgid, + UINT waiptn, + UINT wfmode +); + +/* + * twai_flg - Wait on Eventflag with Timeout + */ + +ER twai_flg( + UINT *p_flgptn, + ID flgid, + UINT waiptn, + UINT wfmode, + TMO tmout +); + +/* + * ref_flg - Reference Eventflag Status + */ + +ER ref_flg( + T_RFLG *pk_rflg, + ID flgid +); + +#ifdef __cplusplus +} +#endif + +#endif +/* end of include file */ + |