summaryrefslogtreecommitdiffstats
path: root/c/src/exec/itron/include/itronsys/eventflags.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--c/src/exec/itron/include/itronsys/eventflags.h143
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 */
+