OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [doc/] [html/] [ref/] [compat-uitron-sync-and-comm-functions.html] - Diff between revs 28 and 174

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 28 Rev 174
<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
<!-- This material may be distributed only subject to the terms      -->
<!-- This material may be distributed only subject to the terms      -->
<!-- and conditions set forth in the Open Publication License, v1.0  -->
<!-- and conditions set forth in the Open Publication License, v1.0  -->
<!-- or later (the latest version is presently available at          -->
<!-- or later (the latest version is presently available at          -->
<!-- http://www.opencontent.org/openpub/).                           -->
<!-- http://www.opencontent.org/openpub/).                           -->
<!-- Distribution of the work or derivative of the work in any       -->
<!-- Distribution of the work or derivative of the work in any       -->
<!-- standard (paper) book form is prohibited unless prior           -->
<!-- standard (paper) book form is prohibited unless prior           -->
<!-- permission is obtained from the copyright holder.               -->
<!-- permission is obtained from the copyright holder.               -->
<HTML
<HTML
><HEAD
><HEAD
><TITLE
><TITLE
>         Synchronization and Communication Functions</TITLE
>         Synchronization and Communication Functions</TITLE
><meta name="MSSmartTagsPreventParsing" content="TRUE">
><meta name="MSSmartTagsPreventParsing" content="TRUE">
<META
<META
NAME="GENERATOR"
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
"><LINK
REL="HOME"
REL="HOME"
TITLE="eCos Reference Manual"
TITLE="eCos Reference Manual"
HREF="ecos-ref.html"><LINK
HREF="ecos-ref.html"><LINK
REL="UP"
REL="UP"
TITLE="µITRON API"
TITLE="µITRON API"
HREF="compat-uitron-microitron-api.html"><LINK
HREF="compat-uitron-microitron-api.html"><LINK
REL="PREVIOUS"
REL="PREVIOUS"
TITLE="Task-Dependent Synchronization Functions"
TITLE="Task-Dependent Synchronization Functions"
HREF="compat-uitron-task-dependent-synch-functions.html"><LINK
HREF="compat-uitron-task-dependent-synch-functions.html"><LINK
REL="NEXT"
REL="NEXT"
TITLE="Extended Synchronization and Communication Functions"
TITLE="Extended Synchronization and Communication Functions"
HREF="compat-uitron-extended-sync-comm-functions.html"></HEAD
HREF="compat-uitron-extended-sync-comm-functions.html"></HEAD
><BODY
><BODY
CLASS="SECT1"
CLASS="SECT1"
BGCOLOR="#FFFFFF"
BGCOLOR="#FFFFFF"
TEXT="#000000"
TEXT="#000000"
LINK="#0000FF"
LINK="#0000FF"
VLINK="#840084"
VLINK="#840084"
ALINK="#0000FF"
ALINK="#0000FF"
><DIV
><DIV
CLASS="NAVHEADER"
CLASS="NAVHEADER"
><TABLE
><TABLE
SUMMARY="Header navigation table"
SUMMARY="Header navigation table"
WIDTH="100%"
WIDTH="100%"
BORDER="0"
BORDER="0"
CELLPADDING="0"
CELLPADDING="0"
CELLSPACING="0"
CELLSPACING="0"
><TR
><TR
><TH
><TH
COLSPAN="3"
COLSPAN="3"
ALIGN="center"
ALIGN="center"
>eCos Reference Manual</TH
>eCos Reference Manual</TH
></TR
></TR
><TR
><TR
><TD
><TD
WIDTH="10%"
WIDTH="10%"
ALIGN="left"
ALIGN="left"
VALIGN="bottom"
VALIGN="bottom"
><A
><A
HREF="compat-uitron-task-dependent-synch-functions.html"
HREF="compat-uitron-task-dependent-synch-functions.html"
ACCESSKEY="P"
ACCESSKEY="P"
>Prev</A
>Prev</A
></TD
></TD
><TD
><TD
WIDTH="80%"
WIDTH="80%"
ALIGN="center"
ALIGN="center"
VALIGN="bottom"
VALIGN="bottom"
>Chapter 32. &micro;ITRON API</TD
>Chapter 32. &micro;ITRON API</TD
><TD
><TD
WIDTH="10%"
WIDTH="10%"
ALIGN="right"
ALIGN="right"
VALIGN="bottom"
VALIGN="bottom"
><A
><A
HREF="compat-uitron-extended-sync-comm-functions.html"
HREF="compat-uitron-extended-sync-comm-functions.html"
ACCESSKEY="N"
ACCESSKEY="N"
>Next</A
>Next</A
></TD
></TD
></TR
></TR
></TABLE
></TABLE
><HR
><HR
ALIGN="LEFT"
ALIGN="LEFT"
WIDTH="100%"></DIV
WIDTH="100%"></DIV
><DIV
><DIV
CLASS="SECT1"
CLASS="SECT1"
><H1
><H1
CLASS="SECT1"
CLASS="SECT1"
><A
><A
NAME="COMPAT-UITRON-SYNC-AND-COMM-FUNCTIONS">Synchronization and Communication Functions</H1
NAME="COMPAT-UITRON-SYNC-AND-COMM-FUNCTIONS">Synchronization and Communication Functions</H1
><P
><P
>These functions are fully supported in this release: </P
>These functions are fully supported in this release: </P
><TABLE
><TABLE
BORDER="5"
BORDER="5"
BGCOLOR="#E0E0F0"
BGCOLOR="#E0E0F0"
WIDTH="70%"
WIDTH="70%"
><TR
><TR
><TD
><TD
><PRE
><PRE
CLASS="PROGRAMLISTING"
CLASS="PROGRAMLISTING"
>ER <TT
>ER <TT
CLASS="FUNCTION"
CLASS="FUNCTION"
>sig_sem</TT
>sig_sem</TT
>(
>(
    ID <SPAN
    ID <SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>semid</I
>semid</I
></SPAN
></SPAN
> )</PRE
> )</PRE
></TD
></TD
></TR
></TR
></TABLE
></TABLE
><TABLE
><TABLE
BORDER="5"
BORDER="5"
BGCOLOR="#E0E0F0"
BGCOLOR="#E0E0F0"
WIDTH="70%"
WIDTH="70%"
><TR
><TR
><TD
><TD
><PRE
><PRE
CLASS="PROGRAMLISTING"
CLASS="PROGRAMLISTING"
>ER <TT
>ER <TT
CLASS="FUNCTION"
CLASS="FUNCTION"
>wai_sem</TT
>wai_sem</TT
>(
>(
    ID <SPAN
    ID <SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>semid</I
>semid</I
></SPAN
></SPAN
> )</PRE
> )</PRE
></TD
></TD
></TR
></TR
></TABLE
></TABLE
><TABLE
><TABLE
BORDER="5"
BORDER="5"
BGCOLOR="#E0E0F0"
BGCOLOR="#E0E0F0"
WIDTH="70%"
WIDTH="70%"
><TR
><TR
><TD
><TD
><PRE
><PRE
CLASS="PROGRAMLISTING"
CLASS="PROGRAMLISTING"
>ER <TT
>ER <TT
CLASS="FUNCTION"
CLASS="FUNCTION"
>preq_sem</TT
>preq_sem</TT
>(
>(
    ID <SPAN
    ID <SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>semid</I
>semid</I
></SPAN
></SPAN
> )</PRE
> )</PRE
></TD
></TD
></TR
></TR
></TABLE
></TABLE
><TABLE
><TABLE
BORDER="5"
BORDER="5"
BGCOLOR="#E0E0F0"
BGCOLOR="#E0E0F0"
WIDTH="70%"
WIDTH="70%"
><TR
><TR
><TD
><TD
><PRE
><PRE
CLASS="PROGRAMLISTING"
CLASS="PROGRAMLISTING"
>ER <TT
>ER <TT
CLASS="FUNCTION"
CLASS="FUNCTION"
>twai_sem</TT
>twai_sem</TT
>(
>(
    ID <SPAN
    ID <SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>semid,</I
>semid,</I
></SPAN
></SPAN
>    TMO <SPAN
>    TMO <SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>tmout</I
>tmout</I
></SPAN
></SPAN
> )</PRE
> )</PRE
></TD
></TD
></TR
></TR
></TABLE
></TABLE
><TABLE
><TABLE
BORDER="5"
BORDER="5"
BGCOLOR="#E0E0F0"
BGCOLOR="#E0E0F0"
WIDTH="70%"
WIDTH="70%"
><TR
><TR
><TD
><TD
><PRE
><PRE
CLASS="PROGRAMLISTING"
CLASS="PROGRAMLISTING"
>ER <TT
>ER <TT
CLASS="FUNCTION"
CLASS="FUNCTION"
>ref_sem</TT
>ref_sem</TT
>(
>(
    T_RSEM *<SPAN
    T_RSEM *<SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>pk_rsem ,</I
>pk_rsem ,</I
></SPAN
></SPAN
>    ID <SPAN
>    ID <SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>semid</I
>semid</I
></SPAN
></SPAN
> )</PRE
> )</PRE
></TD
></TD
></TR
></TR
></TABLE
></TABLE
><TABLE
><TABLE
BORDER="5"
BORDER="5"
BGCOLOR="#E0E0F0"
BGCOLOR="#E0E0F0"
WIDTH="70%"
WIDTH="70%"
><TR
><TR
><TD
><TD
><PRE
><PRE
CLASS="PROGRAMLISTING"
CLASS="PROGRAMLISTING"
>ER <TT
>ER <TT
CLASS="FUNCTION"
CLASS="FUNCTION"
>set_flg</TT
>set_flg</TT
>(
>(
    ID <SPAN
    ID <SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>flgid,</I
>flgid,</I
></SPAN
></SPAN
>    UINT <SPAN
>    UINT <SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>setptn</I
>setptn</I
></SPAN
></SPAN
> )</PRE
> )</PRE
></TD
></TD
></TR
></TR
></TABLE
></TABLE
><TABLE
><TABLE
BORDER="5"
BORDER="5"
BGCOLOR="#E0E0F0"
BGCOLOR="#E0E0F0"
WIDTH="70%"
WIDTH="70%"
><TR
><TR
><TD
><TD
><PRE
><PRE
CLASS="PROGRAMLISTING"
CLASS="PROGRAMLISTING"
>ER <TT
>ER <TT
CLASS="FUNCTION"
CLASS="FUNCTION"
>clr_flg</TT
>clr_flg</TT
>(
>(
    ID <SPAN
    ID <SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>flgid,</I
>flgid,</I
></SPAN
></SPAN
>    UINT <SPAN
>    UINT <SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>clrptn</I
>clrptn</I
></SPAN
></SPAN
> )</PRE
> )</PRE
></TD
></TD
></TR
></TR
></TABLE
></TABLE
><TABLE
><TABLE
BORDER="5"
BORDER="5"
BGCOLOR="#E0E0F0"
BGCOLOR="#E0E0F0"
WIDTH="70%"
WIDTH="70%"
><TR
><TR
><TD
><TD
><PRE
><PRE
CLASS="PROGRAMLISTING"
CLASS="PROGRAMLISTING"
>ER <TT
>ER <TT
CLASS="FUNCTION"
CLASS="FUNCTION"
>wai_flg</TT
>wai_flg</TT
>(
>(
    UINT *<SPAN
    UINT *<SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>p_flgptn,</I
>p_flgptn,</I
></SPAN
></SPAN
>    ID <SPAN
>    ID <SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>flgid ,</I
>flgid ,</I
></SPAN
></SPAN
>
>
    UINT <SPAN
    UINT <SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>waiptn ,</I
>waiptn ,</I
></SPAN
></SPAN
>    UINT <SPAN
>    UINT <SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>wfmode</I
>wfmode</I
></SPAN
></SPAN
> )</PRE
> )</PRE
></TD
></TD
></TR
></TR
></TABLE
></TABLE
><TABLE
><TABLE
BORDER="5"
BORDER="5"
BGCOLOR="#E0E0F0"
BGCOLOR="#E0E0F0"
WIDTH="70%"
WIDTH="70%"
><TR
><TR
><TD
><TD
><PRE
><PRE
CLASS="PROGRAMLISTING"
CLASS="PROGRAMLISTING"
>ER <TT
>ER <TT
CLASS="FUNCTION"
CLASS="FUNCTION"
>pol_flg</TT
>pol_flg</TT
>(
>(
    UINT *<SPAN
    UINT *<SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>p_flgptn,</I
>p_flgptn,</I
></SPAN
></SPAN
>    ID <SPAN
>    ID <SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>flgid ,</I
>flgid ,</I
></SPAN
></SPAN
>
>
    UINT <SPAN
    UINT <SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>waiptn ,</I
>waiptn ,</I
></SPAN
></SPAN
>    UINT <SPAN
>    UINT <SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>wfmode</I
>wfmode</I
></SPAN
></SPAN
> )</PRE
> )</PRE
></TD
></TD
></TR
></TR
></TABLE
></TABLE
><TABLE
><TABLE
BORDER="5"
BORDER="5"
BGCOLOR="#E0E0F0"
BGCOLOR="#E0E0F0"
WIDTH="70%"
WIDTH="70%"
><TR
><TR
><TD
><TD
><PRE
><PRE
CLASS="PROGRAMLISTING"
CLASS="PROGRAMLISTING"
>ER <TT
>ER <TT
CLASS="FUNCTION"
CLASS="FUNCTION"
>twai_flg</TT
>twai_flg</TT
>(
>(
    UINT *<SPAN
    UINT *<SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>p_flgptn</I
>p_flgptn</I
></SPAN
></SPAN
>    ID <SPAN
>    ID <SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>flgid ,</I
>flgid ,</I
></SPAN
></SPAN
>
>
    UINT <SPAN
    UINT <SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>waiptn ,</I
>waiptn ,</I
></SPAN
></SPAN
>    UINT <SPAN
>    UINT <SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>wfmode,</I
>wfmode,</I
></SPAN
></SPAN
>    TMO <SPAN
>    TMO <SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>tmout</I
>tmout</I
></SPAN
></SPAN
> )</PRE
> )</PRE
></TD
></TD
></TR
></TR
></TABLE
></TABLE
><TABLE
><TABLE
BORDER="5"
BORDER="5"
BGCOLOR="#E0E0F0"
BGCOLOR="#E0E0F0"
WIDTH="70%"
WIDTH="70%"
><TR
><TR
><TD
><TD
><PRE
><PRE
CLASS="PROGRAMLISTING"
CLASS="PROGRAMLISTING"
>ER <TT
>ER <TT
CLASS="FUNCTION"
CLASS="FUNCTION"
>ref_flg</TT
>ref_flg</TT
>(
>(
    T_RFLG *<SPAN
    T_RFLG *<SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>pk_rflg,</I
>pk_rflg,</I
></SPAN
></SPAN
>    ID <SPAN
>    ID <SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>flgid</I
>flgid</I
></SPAN
></SPAN
> )</PRE
> )</PRE
></TD
></TD
></TR
></TR
></TABLE
></TABLE
><TABLE
><TABLE
BORDER="5"
BORDER="5"
BGCOLOR="#E0E0F0"
BGCOLOR="#E0E0F0"
WIDTH="70%"
WIDTH="70%"
><TR
><TR
><TD
><TD
><PRE
><PRE
CLASS="PROGRAMLISTING"
CLASS="PROGRAMLISTING"
>ER <TT
>ER <TT
CLASS="FUNCTION"
CLASS="FUNCTION"
>snd_msg</TT
>snd_msg</TT
>(
>(
    ID <SPAN
    ID <SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>mbxid,</I
>mbxid,</I
></SPAN
></SPAN
>    T_MSG <SPAN
>    T_MSG <SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>*pk_msg</I
>*pk_msg</I
></SPAN
></SPAN
> )</PRE
> )</PRE
></TD
></TD
></TR
></TR
></TABLE
></TABLE
><TABLE
><TABLE
BORDER="5"
BORDER="5"
BGCOLOR="#E0E0F0"
BGCOLOR="#E0E0F0"
WIDTH="70%"
WIDTH="70%"
><TR
><TR
><TD
><TD
><PRE
><PRE
CLASS="PROGRAMLISTING"
CLASS="PROGRAMLISTING"
>ER <TT
>ER <TT
CLASS="FUNCTION"
CLASS="FUNCTION"
>rcv_msg</TT
>rcv_msg</TT
>(
>(
    T_MSG **<SPAN
    T_MSG **<SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>ppk_msg,</I
>ppk_msg,</I
></SPAN
></SPAN
>    ID <SPAN
>    ID <SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>mbxid</I
>mbxid</I
></SPAN
></SPAN
> )</PRE
> )</PRE
></TD
></TD
></TR
></TR
></TABLE
></TABLE
><TABLE
><TABLE
BORDER="5"
BORDER="5"
BGCOLOR="#E0E0F0"
BGCOLOR="#E0E0F0"
WIDTH="70%"
WIDTH="70%"
><TR
><TR
><TD
><TD
><PRE
><PRE
CLASS="PROGRAMLISTING"
CLASS="PROGRAMLISTING"
>ER <TT
>ER <TT
CLASS="FUNCTION"
CLASS="FUNCTION"
>prcv_msg</TT
>prcv_msg</TT
>(
>(
    T_MSG **<SPAN
    T_MSG **<SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>ppk_msg,</I
>ppk_msg,</I
></SPAN
></SPAN
>    ID <SPAN
>    ID <SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>mbxid</I
>mbxid</I
></SPAN
></SPAN
> )</PRE
> )</PRE
></TD
></TD
></TR
></TR
></TABLE
></TABLE
><TABLE
><TABLE
BORDER="5"
BORDER="5"
BGCOLOR="#E0E0F0"
BGCOLOR="#E0E0F0"
WIDTH="70%"
WIDTH="70%"
><TR
><TR
><TD
><TD
><PRE
><PRE
CLASS="PROGRAMLISTING"
CLASS="PROGRAMLISTING"
>ER <TT
>ER <TT
CLASS="FUNCTION"
CLASS="FUNCTION"
>trcv_msg</TT
>trcv_msg</TT
>(
>(
    T_MSG **<SPAN
    T_MSG **<SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>ppk_msg,</I
>ppk_msg,</I
></SPAN
></SPAN
>    ID <SPAN
>    ID <SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>mbxid ,</I
>mbxid ,</I
></SPAN
></SPAN
>    TMO <SPAN
>    TMO <SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>tmout</I
>tmout</I
></SPAN
></SPAN
> )</PRE
> )</PRE
></TD
></TD
></TR
></TR
></TABLE
></TABLE
><TABLE
><TABLE
BORDER="5"
BORDER="5"
BGCOLOR="#E0E0F0"
BGCOLOR="#E0E0F0"
WIDTH="70%"
WIDTH="70%"
><TR
><TR
><TD
><TD
><PRE
><PRE
CLASS="PROGRAMLISTING"
CLASS="PROGRAMLISTING"
>ER <TT
>ER <TT
CLASS="FUNCTION"
CLASS="FUNCTION"
>ref_mbx</TT
>ref_mbx</TT
>(
>(
    T_RMBX *<SPAN
    T_RMBX *<SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>pk_rmbx,</I
>pk_rmbx,</I
></SPAN
></SPAN
>    ID <SPAN
>    ID <SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>mbxid</I
>mbxid</I
></SPAN
></SPAN
> )</PRE
> )</PRE
></TD
></TD
></TR
></TR
></TABLE
></TABLE
><P
><P
>The following functions are supported in this release (with
>The following functions are supported in this release (with
some restrictions) if enabled with the appropriate configuration
some restrictions) if enabled with the appropriate configuration
option for the object type (for example
option for the object type (for example
<TT
<TT
CLASS="LITERAL"
CLASS="LITERAL"
>CYGPKG_UITRON_SEMAS_CREATE_DELETE</TT
>CYGPKG_UITRON_SEMAS_CREATE_DELETE</TT
>):</P
>):</P
><TABLE
><TABLE
BORDER="5"
BORDER="5"
BGCOLOR="#E0E0F0"
BGCOLOR="#E0E0F0"
WIDTH="70%"
WIDTH="70%"
><TR
><TR
><TD
><TD
><PRE
><PRE
CLASS="PROGRAMLISTING"
CLASS="PROGRAMLISTING"
>ER <TT
>ER <TT
CLASS="FUNCTION"
CLASS="FUNCTION"
>cre_sem</TT
>cre_sem</TT
>(
>(
    ID <SPAN
    ID <SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>semid,</I
>semid,</I
></SPAN
></SPAN
>    T_CSEM *<SPAN
>    T_CSEM *<SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>pk_csem</I
>pk_csem</I
></SPAN
></SPAN
> )</PRE
> )</PRE
></TD
></TD
></TR
></TR
></TABLE
></TABLE
><TABLE
><TABLE
BORDER="5"
BORDER="5"
BGCOLOR="#E0E0F0"
BGCOLOR="#E0E0F0"
WIDTH="70%"
WIDTH="70%"
><TR
><TR
><TD
><TD
><PRE
><PRE
CLASS="PROGRAMLISTING"
CLASS="PROGRAMLISTING"
>ER <TT
>ER <TT
CLASS="FUNCTION"
CLASS="FUNCTION"
>del_sem</TT
>del_sem</TT
>(
>(
    ID <SPAN
    ID <SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>semid</I
>semid</I
></SPAN
></SPAN
> )</PRE
> )</PRE
></TD
></TD
></TR
></TR
></TABLE
></TABLE
><TABLE
><TABLE
BORDER="5"
BORDER="5"
BGCOLOR="#E0E0F0"
BGCOLOR="#E0E0F0"
WIDTH="70%"
WIDTH="70%"
><TR
><TR
><TD
><TD
><PRE
><PRE
CLASS="PROGRAMLISTING"
CLASS="PROGRAMLISTING"
>ER <TT
>ER <TT
CLASS="FUNCTION"
CLASS="FUNCTION"
>cre_flg</TT
>cre_flg</TT
>(
>(
    ID <SPAN
    ID <SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>flgid,</I
>flgid,</I
></SPAN
></SPAN
>    T_CFLG *<SPAN
>    T_CFLG *<SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>pk_cflg</I
>pk_cflg</I
></SPAN
></SPAN
> )</PRE
> )</PRE
></TD
></TD
></TR
></TR
></TABLE
></TABLE
><TABLE
><TABLE
BORDER="5"
BORDER="5"
BGCOLOR="#E0E0F0"
BGCOLOR="#E0E0F0"
WIDTH="70%"
WIDTH="70%"
><TR
><TR
><TD
><TD
><PRE
><PRE
CLASS="PROGRAMLISTING"
CLASS="PROGRAMLISTING"
>ER <TT
>ER <TT
CLASS="FUNCTION"
CLASS="FUNCTION"
>del_flg</TT
>del_flg</TT
>(
>(
    ID <SPAN
    ID <SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>flgid</I
>flgid</I
></SPAN
></SPAN
> )</PRE
> )</PRE
></TD
></TD
></TR
></TR
></TABLE
></TABLE
><TABLE
><TABLE
BORDER="5"
BORDER="5"
BGCOLOR="#E0E0F0"
BGCOLOR="#E0E0F0"
WIDTH="70%"
WIDTH="70%"
><TR
><TR
><TD
><TD
><PRE
><PRE
CLASS="PROGRAMLISTING"
CLASS="PROGRAMLISTING"
>ER <TT
>ER <TT
CLASS="FUNCTION"
CLASS="FUNCTION"
>cre_mbx</TT
>cre_mbx</TT
>(
>(
    ID <SPAN
    ID <SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>mbxid,</I
>mbxid,</I
></SPAN
></SPAN
>    T_CMBX *<SPAN
>    T_CMBX *<SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>pk_cmbx</I
>pk_cmbx</I
></SPAN
></SPAN
> )</PRE
> )</PRE
></TD
></TD
></TR
></TR
></TABLE
></TABLE
><TABLE
><TABLE
BORDER="5"
BORDER="5"
BGCOLOR="#E0E0F0"
BGCOLOR="#E0E0F0"
WIDTH="70%"
WIDTH="70%"
><TR
><TR
><TD
><TD
><PRE
><PRE
CLASS="PROGRAMLISTING"
CLASS="PROGRAMLISTING"
>ER <TT
>ER <TT
CLASS="FUNCTION"
CLASS="FUNCTION"
>del_mbx</TT
>del_mbx</TT
>(
>(
    ID <SPAN
    ID <SPAN
CLASS="emphasis"
CLASS="emphasis"
><I
><I
CLASS="EMPHASIS"
CLASS="EMPHASIS"
>mbxid</I
>mbxid</I
></SPAN
></SPAN
> )</PRE
> )</PRE
></TD
></TD
></TR
></TR
></TABLE
></TABLE
><P
><P
>In general the queueing order when waiting on a synchronization
>In general the queueing order when waiting on a synchronization
object depends on the underlying kernel configuration. The multi-level
object depends on the underlying kernel configuration. The multi-level
queue scheduler is required for strict &micro;ITRON
queue scheduler is required for strict &micro;ITRON
conformance and it queues tasks in FIFO order, so requests to create
conformance and it queues tasks in FIFO order, so requests to create
an object with priority queueing of tasks (<TT
an object with priority queueing of tasks (<TT
CLASS="LITERAL"
CLASS="LITERAL"
>pk_cxxx-&gt;xxxatr = TA_TPRI</TT
>pk_cxxx-&gt;xxxatr = TA_TPRI</TT
>)
>)
are rejected with E_RSATR. Additional undefined bits in
are rejected with E_RSATR. Additional undefined bits in
the attributes fields must be zero. </P
the attributes fields must be zero. </P
><P
><P
>In general, extended information (pk_cxxx-&gt;exinf)
>In general, extended information (pk_cxxx-&gt;exinf)
is ignored. </P
is ignored. </P
><P
><P
>For semaphores, the initial semaphore count (pk_csem-&gt;isemcnt)
>For semaphores, the initial semaphore count (pk_csem-&gt;isemcnt)
is supported; the new semaphore's count is set. The maximum
is supported; the new semaphore's count is set. The maximum
count is not supported, and is not in fact defined in type pk_csem. </P
count is not supported, and is not in fact defined in type pk_csem. </P
><P
><P
>For flags, multiple tasks are allowed to wait. Because single
>For flags, multiple tasks are allowed to wait. Because single
task waiting is a subset of this, the W bit (TA_WMUL) of
task waiting is a subset of this, the W bit (TA_WMUL) of
the flag attributes is ignored; all other bits must be zero. The
the flag attributes is ignored; all other bits must be zero. The
initial flag value is supported. </P
initial flag value is supported. </P
><P
><P
>For mailboxes, the buffer count is defined statically by kernel
>For mailboxes, the buffer count is defined statically by kernel
configuration option
configuration option
<TT
<TT
CLASS="LITERAL"
CLASS="LITERAL"
>CYGNUM_KERNEL_SYNCH_MBOX_QUEUE_SIZE</TT
>CYGNUM_KERNEL_SYNCH_MBOX_QUEUE_SIZE</TT
>;
>;
therefore the buffer count field is not supported and is not in
therefore the buffer count field is not supported and is not in
fact defined in type pk_cmbx. Queueing of messages is FIFO
fact defined in type pk_cmbx. Queueing of messages is FIFO
ordered only, so TA_MPRI (in pk_cmbx-&gt;mbxatr)
ordered only, so TA_MPRI (in pk_cmbx-&gt;mbxatr)
is not supported. </P
is not supported. </P
><DIV
><DIV
CLASS="SECT2"
CLASS="SECT2"
><H2
><H2
CLASS="SECT2"
CLASS="SECT2"
><A
><A
NAME="AEN13716">Error checking</H2
NAME="AEN13716">Error checking</H2
><P
><P
>The following conditions are only checked for, and only return
>The following conditions are only checked for, and only return
errors if
errors if
<TT
<TT
CLASS="LITERAL"
CLASS="LITERAL"
>CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS</TT
>CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS</TT
>
>
is enabled:</P
is enabled:</P
><P
><P
></P
></P
><UL
><UL
><LI
><LI
><P
><P
>invalid object id; less than 1 or greater than
>invalid object id; less than 1 or greater than
<TT
<TT
CLASS="LITERAL"
CLASS="LITERAL"
>CYGNUM_UITRON_TASKS/SEMAS/MBOXES</TT
>CYGNUM_UITRON_TASKS/SEMAS/MBOXES</TT
>
>
as appropriate returns E_ID</P
as appropriate returns E_ID</P
></LI
></LI
><LI
><LI
><P
><P
>dispatching is enabled in any call which can sleep, or
>dispatching is enabled in any call which can sleep, or
E_CTX</P
E_CTX</P
></LI
></LI
><LI
><LI
><P
><P
>tmout must be positive, otherwise E_PAR</P
>tmout must be positive, otherwise E_PAR</P
></LI
></LI
><LI
><LI
><P
><P
>pk_cxxx pointers in
>pk_cxxx pointers in
<TT
<TT
CLASS="FUNCTION"
CLASS="FUNCTION"
>cre_xxx()</TT
>cre_xxx()</TT
>
>
 must be valid pointers, or E_PAR</P
 must be valid pointers, or E_PAR</P
></LI
></LI
><LI
><LI
><P
><P
>return value pointer in
>return value pointer in
<TT
<TT
CLASS="FUNCTION"
CLASS="FUNCTION"
>ref_xxx()</TT
>ref_xxx()</TT
>
>
 is valid pointer, or E_PAR</P
 is valid pointer, or E_PAR</P
></LI
></LI
><LI
><LI
><P
><P
>flag wait pattern must be non-zero, and mode must be valid,
>flag wait pattern must be non-zero, and mode must be valid,
or E_PAR</P
or E_PAR</P
></LI
></LI
><LI
><LI
><P
><P
>return value pointer in flag wait calls is a valid pointer,
>return value pointer in flag wait calls is a valid pointer,
or E_PAR</P
or E_PAR</P
></LI
></LI
></UL
></UL
><P
><P
>The following conditions are checked for, and can return error
>The following conditions are checked for, and can return error
codes, regardless of the setting of
codes, regardless of the setting of
<TT
<TT
CLASS="LITERAL"
CLASS="LITERAL"
>CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS</TT
>CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS</TT
>
>
:</P
:</P
><P
><P
></P
></P
><UL
><UL
><LI
><LI
><P
><P
>When create and delete functions
>When create and delete functions
<TT
<TT
CLASS="FUNCTION"
CLASS="FUNCTION"
>cre_xxx()</TT
>cre_xxx()</TT
>
>
 and
 and
<TT
<TT
CLASS="FUNCTION"
CLASS="FUNCTION"
>del_xxx()</TT
>del_xxx()</TT
>
>
 are supported, all calls which use a valid object ID number check
 are supported, all calls which use a valid object ID number check
that the object exists. If not, E_NOEXS is returned.</P
that the object exists. If not, E_NOEXS is returned.</P
></LI
></LI
><LI
><LI
><P
><P
>In create functions
>In create functions
<TT
<TT
CLASS="FUNCTION"
CLASS="FUNCTION"
>cre_xxx()</TT
>cre_xxx()</TT
>
>
, when supported, if the object already exists, then E_OBJ</P
, when supported, if the object already exists, then E_OBJ</P
></LI
></LI
><LI
><LI
><P
><P
>In any call which can sleep, such as
>In any call which can sleep, such as
<TT
<TT
CLASS="FUNCTION"
CLASS="FUNCTION"
>twai_sem()</TT
>twai_sem()</TT
>
>
: return codes E_TMOUT, E_RLWAI, E_DLT
: return codes E_TMOUT, E_RLWAI, E_DLT
or of course E_OK are returned depending on the reason
or of course E_OK are returned depending on the reason
for terminating the sleep</P
for terminating the sleep</P
></LI
></LI
><LI
><LI
><P
><P
>In polling functions such as
>In polling functions such as
<TT
<TT
CLASS="FUNCTION"
CLASS="FUNCTION"
>preq_sem()</TT
>preq_sem()</TT
>
>
return codes E_TMOUT or E_OK are returned depending
return codes E_TMOUT or E_OK are returned depending
on the state of the synchronization object</P
on the state of the synchronization object</P
></LI
></LI
><LI
><LI
><P
><P
>In creation functions, the attributes must be compatible
>In creation functions, the attributes must be compatible
with the selected underlying kernel configuration: in
with the selected underlying kernel configuration: in
<TT
<TT
CLASS="FUNCTION"
CLASS="FUNCTION"
>cre_sem()</TT
>cre_sem()</TT
>
>
 <TT
 <TT
CLASS="LITERAL"
CLASS="LITERAL"
>pk_csem-&gt;sematr</TT
>pk_csem-&gt;sematr</TT
>
>
 must be equal to
 must be equal to
<TT
<TT
CLASS="LITERAL"
CLASS="LITERAL"
>TA_TFIFO</TT
>TA_TFIFO</TT
>
>
 else E_RSATR.</P
 else E_RSATR.</P
></LI
></LI
><LI
><LI
><P
><P
>In
>In
<TT
<TT
CLASS="FUNCTION"
CLASS="FUNCTION"
>cre_flg()</TT
>cre_flg()</TT
>
>
 <TT
 <TT
CLASS="LITERAL"
CLASS="LITERAL"
>pk_cflg-&gt;flgatr</TT
>pk_cflg-&gt;flgatr</TT
>
>
 must be either
 must be either
<TT
<TT
CLASS="VARNAME"
CLASS="VARNAME"
>TA_WMUL</TT
>TA_WMUL</TT
>
>
 or
 or
<TT
<TT
CLASS="VARNAME"
CLASS="VARNAME"
>TA_WSGL</TT
>TA_WSGL</TT
>
>
 else <TT
 else <TT
CLASS="VARNAME"
CLASS="VARNAME"
>E_RSATR</TT
>E_RSATR</TT
>.</P
>.</P
></LI
></LI
><LI
><LI
><P
><P
>In
>In
<TT
<TT
CLASS="FUNCTION"
CLASS="FUNCTION"
>cre_mbx()</TT
>cre_mbx()</TT
>
>
 
 
<TT
<TT
CLASS="LITERAL"
CLASS="LITERAL"
>pk_cmbx-&gt;mbxatr</TT
>pk_cmbx-&gt;mbxatr</TT
>
>
 must be
 must be
<TT
<TT
CLASS="LITERAL"
CLASS="LITERAL"
>TA_TFIFO &#0043; TA_MFIFO</TT
>TA_TFIFO &#0043; TA_MFIFO</TT
>
>
 else E_RSATR.</P
 else E_RSATR.</P
></LI
></LI
></UL
></UL
></DIV
></DIV
></DIV
></DIV
><DIV
><DIV
CLASS="NAVFOOTER"
CLASS="NAVFOOTER"
><HR
><HR
ALIGN="LEFT"
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
SUMMARY="Footer navigation table"
WIDTH="100%"
WIDTH="100%"
BORDER="0"
BORDER="0"
CELLPADDING="0"
CELLPADDING="0"
CELLSPACING="0"
CELLSPACING="0"
><TR
><TR
><TD
><TD
WIDTH="33%"
WIDTH="33%"
ALIGN="left"
ALIGN="left"
VALIGN="top"
VALIGN="top"
><A
><A
HREF="compat-uitron-task-dependent-synch-functions.html"
HREF="compat-uitron-task-dependent-synch-functions.html"
ACCESSKEY="P"
ACCESSKEY="P"
>Prev</A
>Prev</A
></TD
></TD
><TD
><TD
WIDTH="34%"
WIDTH="34%"
ALIGN="center"
ALIGN="center"
VALIGN="top"
VALIGN="top"
><A
><A
HREF="ecos-ref.html"
HREF="ecos-ref.html"
ACCESSKEY="H"
ACCESSKEY="H"
>Home</A
>Home</A
></TD
></TD
><TD
><TD
WIDTH="33%"
WIDTH="33%"
ALIGN="right"
ALIGN="right"
VALIGN="top"
VALIGN="top"
><A
><A
HREF="compat-uitron-extended-sync-comm-functions.html"
HREF="compat-uitron-extended-sync-comm-functions.html"
ACCESSKEY="N"
ACCESSKEY="N"
>Next</A
>Next</A
></TD
></TD
></TR
></TR
><TR
><TR
><TD
><TD
WIDTH="33%"
WIDTH="33%"
ALIGN="left"
ALIGN="left"
VALIGN="top"
VALIGN="top"
>Task-Dependent Synchronization Functions</TD
>Task-Dependent Synchronization Functions</TD
><TD
><TD
WIDTH="34%"
WIDTH="34%"
ALIGN="center"
ALIGN="center"
VALIGN="top"
VALIGN="top"
><A
><A
HREF="compat-uitron-microitron-api.html"
HREF="compat-uitron-microitron-api.html"
ACCESSKEY="U"
ACCESSKEY="U"
>Up</A
>Up</A
></TD
></TD
><TD
><TD
WIDTH="33%"
WIDTH="33%"
ALIGN="right"
ALIGN="right"
VALIGN="top"
VALIGN="top"
>Extended Synchronization and Communication Functions</TD
>Extended Synchronization and Communication Functions</TD
></TR
></TR
></TABLE
></TABLE
></DIV
></DIV
></BODY
></BODY
></HTML
></HTML
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.