Newer
Older
UbixOS / doc / html / d2 / d0b / sem_8c.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>UbixOS: kernel/sem.c File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtreedata.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">UbixOS
   &#160;<span id="projectnumber">2.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('../../',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('d2/d0b/sem_8c.html','../../');});
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">sem.c File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;<a class="el" href="../../d2/d28/sem_8h_source.html">ubixos/sem.h</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="../../d0/d27/include_2sys_2types_8h_source.html">sys/types.h</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="../../db/d37/ubixos_2errno_8h_source.html">ubixos/errno.h</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="../../de/df7/time_8h_source.html">ubixos/time.h</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="../../d3/d24/kpanic_8h_source.html">ubixos/kpanic.h</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="../../d4/d03/kmalloc_8h_source.html">lib/kmalloc.h</a>&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for sem.c:</div>
<div class="dyncontent">
<div class="center"><img src="../../d3/d69/sem_8c__incl.png" border="0" usemap="#kernel_2sem_8c" alt=""/></div>
<map name="kernel_2sem_8c" id="kernel_2sem_8c">
<area shape="rect" title=" " alt="" coords="1253,5,1351,32"/>
<area shape="rect" href="../../d2/d28/sem_8h.html" title=" " alt="" coords="1120,80,1220,107"/>
<area shape="rect" href="../../d0/d27/include_2sys_2types_8h.html" title=" " alt="" coords="762,603,853,629"/>
<area shape="rect" href="../../db/d37/ubixos_2errno_8h.html" title=" " alt="" coords="1197,155,1301,181"/>
<area shape="rect" href="../../de/df7/time_8h.html" title=" " alt="" coords="75,229,175,256"/>
<area shape="rect" href="../../d3/d24/kpanic_8h.html" title=" " alt="" coords="1496,80,1609,107"/>
<area shape="rect" href="../../d4/d03/kmalloc_8h.html" title=" " alt="" coords="1325,155,1420,181"/>
<area shape="rect" href="../../dd/d1b/ubthread_8h.html" title=" " alt="" coords="630,155,755,181"/>
<area shape="rect" href="../../d0/d6f/__types_8h.html" title=" " alt="" coords="789,827,887,853"/>
<area shape="rect" href="../../d9/dab/select_8h.html" title=" " alt="" coords="809,677,902,704"/>
<area shape="rect" href="../../d6/d92/cdefs_8h.html" title=" " alt="" coords="960,752,1049,779"/>
<area shape="rect" href="../../d6/d30/__timespec_8h.html" title=" " alt="" coords="585,752,704,779"/>
<area shape="rect" href="../../df/dc5/__timeval_8h.html" title=" " alt="" coords="831,752,936,779"/>
<area shape="rect" href="../../d6/da4/__sigset_8h.html" title=" " alt="" coords="1073,752,1173,779"/>
<area shape="rect" href="../../d7/d00/sched_8h.html" title=" " alt="" coords="827,229,937,256"/>
<area shape="rect" href="../../d6/db4/include_2vfs_2file_8h.html" title=" " alt="" coords="812,304,880,331"/>
<area shape="rect" href="../../db/dd5/thread_8h.html" title=" " alt="" coords="1049,379,1144,405"/>
<area shape="rect" href="../../dd/d71/tty_8h.html" title=" " alt="" coords="934,379,1025,405"/>
<area shape="rect" href="../../de/d9a/tss_8h.html" title=" " alt="" coords="1129,304,1205,331"/>
<area shape="rect" href="../../d1/de9/dirCache_8h.html" title=" " alt="" coords="746,528,869,555"/>
<area shape="rect" href="../../d3/d73/inode_8h.html" title=" " alt="" coords="639,379,722,405"/>
<area shape="rect" href="../../df/d42/ufs_8h.html" title=" " alt="" coords="815,453,885,480"/>
<area shape="rect" href="../../d2/d29/mount_8h.html" title=" " alt="" coords="469,379,557,405"/>
<area shape="rect" href="../../d7/d0b/trap_8h.html" title=" " alt="" coords="1113,453,1193,480"/>
<area shape="rect" href="../../df/d92/sys_2signal_8h.html" title=" " alt="" coords="944,528,1036,555"/>
<area shape="rect" href="../../d8/d01/resource_8h.html" title=" " alt="" coords="1305,603,1413,629"/>
<area shape="rect" href="../../d6/d35/i386_2cpu_8h.html" title=" " alt="" coords="1111,528,1194,555"/>
<area shape="rect" href="../../d1/df2/wait_8h.html" title=" " alt="" coords="453,453,551,480"/>
<area shape="rect" href="../../d1/d7d/pipe__fs_8h.html" title=" " alt="" coords="575,453,663,480"/>
<area shape="rect" href="../../d8/dff/msdos__fs_8h.html" title=" " alt="" coords="688,453,791,480"/>
<area shape="rect" href="../../d4/d7e/include_2sys_2device_8h.html" title=" " alt="" coords="627,528,721,555"/>
<area shape="rect" href="../../dc/dac/io_8h.html" title=" " alt="" coords="5,304,73,331"/>
</map>
</div>
</div>
<p><a href="../../d2/d0b/sem_8c_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a31ab8f6dbb9646ed62f5e836b3639ad1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0b/sem_8c.html#a31ab8f6dbb9646ed62f5e836b3639ad1">sem_close</a> (<a class="el" href="../../d2/d28/sem_8h.html#a9f436a6cc8070df1db63f5a75d4d0014">semID_t</a> <a class="el" href="../../d5/d8b/kernel_2elf_8c.html#affd99ec09f321a630ec19d0333e291cd">id</a>)</td></tr>
<tr class="separator:a31ab8f6dbb9646ed62f5e836b3639ad1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa386df202c6e9b90a1445a61ce694210"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d2/de7/group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0b/sem_8c.html#aa386df202c6e9b90a1445a61ce694210">sem_destroy</a> (<a class="el" href="../../d2/d28/sem_8h.html#a900e36da93bb688c29fc8148f2f44e04">sys_sem_t</a> **sem)</td></tr>
<tr class="separator:aa386df202c6e9b90a1445a61ce694210"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab80213da2384984db11eeae2c92f8a72"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0b/sem_8c.html#ab80213da2384984db11eeae2c92f8a72">sem_getvalue</a> (<a class="el" href="../../d2/d28/sem_8h.html#a9f436a6cc8070df1db63f5a75d4d0014">semID_t</a> <a class="el" href="../../d5/d8b/kernel_2elf_8c.html#affd99ec09f321a630ec19d0333e291cd">id</a>, int *val)</td></tr>
<tr class="separator:ab80213da2384984db11eeae2c92f8a72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19bd6e9be9540104f4ab465624e9a579"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d2/de7/group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0b/sem_8c.html#a19bd6e9be9540104f4ab465624e9a579">sem_init</a> (<a class="el" href="../../d2/d28/sem_8h.html#a900e36da93bb688c29fc8148f2f44e04">sys_sem_t</a> **sem, <a class="el" href="../../d0/d27/include_2sys_2types_8h.html#a2aff71146ab4942b2b38860c749c4074">uint8_t</a> count)</td></tr>
<tr class="separator:a19bd6e9be9540104f4ab465624e9a579"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15c1835612c234029c20431e06a1917d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0b/sem_8c.html#a15c1835612c234029c20431e06a1917d">sem_open</a> (<a class="el" href="../../d2/d28/sem_8h.html#a9f436a6cc8070df1db63f5a75d4d0014">semID_t</a> *<a class="el" href="../../d5/d8b/kernel_2elf_8c.html#affd99ec09f321a630ec19d0333e291cd">id</a>, <a class="el" href="../../d6/d92/cdefs_8h.html#a2c212835823e3c54a8ab6d95c652660e">const</a> char *<a class="el" href="../../d1/de8/pci_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>, int oflag, <a class="el" href="../../d3/df4/descrip_8h.html#ae9f148ba55d84268ecb6f8031ab45076">mode_t</a> mode, unsigned int value)</td></tr>
<tr class="separator:a15c1835612c234029c20431e06a1917d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81988406ac7a65ee7d6782b97943320e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0b/sem_8c.html#a81988406ac7a65ee7d6782b97943320e">sem_post</a> (<a class="el" href="../../d2/d28/sem_8h.html#a9f436a6cc8070df1db63f5a75d4d0014">semID_t</a> <a class="el" href="../../d5/d8b/kernel_2elf_8c.html#affd99ec09f321a630ec19d0333e291cd">id</a>)</td></tr>
<tr class="separator:a81988406ac7a65ee7d6782b97943320e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e52c88f72f178cd67eb289e6f498c26"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0b/sem_8c.html#a0e52c88f72f178cd67eb289e6f498c26">sem_timedwait</a> (<a class="el" href="../../d2/d28/sem_8h.html#a9f436a6cc8070df1db63f5a75d4d0014">semID_t</a> <a class="el" href="../../d5/d8b/kernel_2elf_8c.html#affd99ec09f321a630ec19d0333e291cd">id</a>, <a class="el" href="../../d6/d92/cdefs_8h.html#a2c212835823e3c54a8ab6d95c652660e">const</a> struct <a class="el" href="../../da/d1c/structtimespec.html">timespec</a> *ts)</td></tr>
<tr class="separator:a0e52c88f72f178cd67eb289e6f498c26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46c76cc20324278bddf93b50c6f7ae9f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0b/sem_8c.html#a46c76cc20324278bddf93b50c6f7ae9f">sem_trywait</a> (<a class="el" href="../../d2/d28/sem_8h.html#a9f436a6cc8070df1db63f5a75d4d0014">semID_t</a> <a class="el" href="../../d5/d8b/kernel_2elf_8c.html#affd99ec09f321a630ec19d0333e291cd">id</a>)</td></tr>
<tr class="separator:a46c76cc20324278bddf93b50c6f7ae9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a776256d1a473906f8b7490689bfcb75c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0b/sem_8c.html#a776256d1a473906f8b7490689bfcb75c">sem_unlink</a> (<a class="el" href="../../d6/d92/cdefs_8h.html#a2c212835823e3c54a8ab6d95c652660e">const</a> char *<a class="el" href="../../d1/de8/pci_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>)</td></tr>
<tr class="separator:a776256d1a473906f8b7490689bfcb75c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2e22218e6a5830f6bdfd727d0206798"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0b/sem_8c.html#ac2e22218e6a5830f6bdfd727d0206798">sem_wait</a> (<a class="el" href="../../d2/d28/sem_8h.html#a9f436a6cc8070df1db63f5a75d4d0014">semID_t</a> <a class="el" href="../../d5/d8b/kernel_2elf_8c.html#affd99ec09f321a630ec19d0333e291cd">id</a>)</td></tr>
<tr class="separator:ac2e22218e6a5830f6bdfd727d0206798"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="a31ab8f6dbb9646ed62f5e836b3639ad1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a31ab8f6dbb9646ed62f5e836b3639ad1">&#9670;&nbsp;</a></span>sem_close()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sem_close </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../d2/d28/sem_8h.html#a9f436a6cc8070df1db63f5a75d4d0014">semID_t</a>&#160;</td>
          <td class="paramname"><em>id</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../d2/d0b/sem_8c_source.html#l00036">36</a> of file <a class="el" href="../../d2/d0b/sem_8c_source.html">sem.c</a>.</p>

</div>
</div>
<a id="aa386df202c6e9b90a1445a61ce694210"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa386df202c6e9b90a1445a61ce694210">&#9670;&nbsp;</a></span>sem_destroy()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d2/de7/group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a> sem_destroy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../d2/d28/sem_8h.html#a900e36da93bb688c29fc8148f2f44e04">sys_sem_t</a> **&#160;</td>
          <td class="paramname"><em>sem</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../d2/d0b/sem_8c_source.html#l00087">87</a> of file <a class="el" href="../../d2/d0b/sem_8c_source.html">sem.c</a>.</p>

<p class="reference">References <a class="el" href="../../d2/d28/sem_8h_source.html#l00038">sys_sem::cond</a>, <a class="el" href="../../d4/d36/sys_2errno_8h_source.html#l00055">EINVAL</a>, <a class="el" href="../../db/d37/ubixos_2errno_8h_source.html#l00036">ENOERR</a>, <a class="el" href="../../d3/d1a/kmalloc_8c_source.html#l00342">kfree()</a>, <a class="el" href="../../d2/d28/sem_8h_source.html#l00039">sys_sem::mutex</a>, <a class="el" href="../../d6/d8a/fat__string_8h_source.html#l00017">NULL</a>, <a class="el" href="../../d5/d9a/ubthread_8c_source.html#l00071">ubthread_cond_destroy()</a>, and <a class="el" href="../../d5/d9a/ubthread_8c_source.html#l00077">ubthread_mutex_destroy()</a>.</p>

<p class="reference">Referenced by <a class="el" href="../../d9/d56/sys__arch_8c_source.html#l00075">sys_sem_free()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="../../d2/d0b/sem_8c_aa386df202c6e9b90a1445a61ce694210_cgraph.png" border="0" usemap="#d2/d0b/sem_8c_aa386df202c6e9b90a1445a61ce694210_cgraph" alt=""/></div>
<map name="d2/d0b/sem_8c_aa386df202c6e9b90a1445a61ce694210_cgraph" id="d2/d0b/sem_8c_aa386df202c6e9b90a1445a61ce694210_cgraph">
<area shape="rect" title=" " alt="" coords="5,26,103,53"/>
<area shape="rect" href="../../d4/d03/kmalloc_8h.html#aaa9ed6886459604cf73ccdbf6410e487" title=" " alt="" coords="364,26,415,53"/>
<area shape="rect" href="../../dd/d1b/ubthread_8h.html#ae914fae69538736dc5e494c15ce93a17" title=" " alt="" coords="155,26,312,53"/>
<area shape="rect" href="../../dd/d1b/ubthread_8h.html#a278f5d5b1e11b6668b75da6a285442e4" title=" " alt="" coords="151,77,316,103"/>
</map>
</div>

</div>
</div>
<a id="ab80213da2384984db11eeae2c92f8a72"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab80213da2384984db11eeae2c92f8a72">&#9670;&nbsp;</a></span>sem_getvalue()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sem_getvalue </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../d2/d28/sem_8h.html#a9f436a6cc8070df1db63f5a75d4d0014">semID_t</a>&#160;</td>
          <td class="paramname"><em>id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>val</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../d2/d0b/sem_8c_source.html#l00083">83</a> of file <a class="el" href="../../d2/d0b/sem_8c_source.html">sem.c</a>.</p>

</div>
</div>
<a id="a19bd6e9be9540104f4ab465624e9a579"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a19bd6e9be9540104f4ab465624e9a579">&#9670;&nbsp;</a></span>sem_init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d2/de7/group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a> sem_init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../d2/d28/sem_8h.html#a900e36da93bb688c29fc8148f2f44e04">sys_sem_t</a> **&#160;</td>
          <td class="paramname"><em>sem</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../d0/d27/include_2sys_2types_8h.html#a2aff71146ab4942b2b38860c749c4074">uint8_t</a>&#160;</td>
          <td class="paramname"><em>count</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../d2/d0b/sem_8c_source.html#l00056">56</a> of file <a class="el" href="../../d2/d0b/sem_8c_source.html">sem.c</a>.</p>

<p class="reference">References <a class="el" href="../../d2/d28/sem_8h_source.html#l00038">sys_sem::cond</a>, <a class="el" href="../../db/d37/ubixos_2errno_8h_source.html#l00036">ENOERR</a>, <a class="el" href="../../d3/d1a/kmalloc_8c_source.html#l00241">kmalloc()</a>, <a class="el" href="../../df/d87/kprintf_8c_source.html#l00259">kprintf()</a>, <a class="el" href="../../d2/d28/sem_8h_source.html#l00039">sys_sem::mutex</a>, <a class="el" href="../../d6/d8a/fat__string_8h_source.html#l00017">NULL</a>, <a class="el" href="../../d2/d28/sem_8h_source.html#l00037">sys_sem::signaled</a>, <a class="el" href="../../dd/d1b/ubthread_8h.html#acbb7170a68758468ab5b02512a320112">ubthread_cond_init()</a>, and <a class="el" href="../../dd/d1b/ubthread_8h.html#ab6bfc2169b55532821582f24b68dc855">ubthread_mutex_init()</a>.</p>

<p class="reference">Referenced by <a class="el" href="../../d9/d56/sys__arch_8c_source.html#l00052">sys_sem_new()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="../../d2/d0b/sem_8c_a19bd6e9be9540104f4ab465624e9a579_cgraph.png" border="0" usemap="#d2/d0b/sem_8c_a19bd6e9be9540104f4ab465624e9a579_cgraph" alt=""/></div>
<map name="d2/d0b/sem_8c_a19bd6e9be9540104f4ab465624e9a579_cgraph" id="d2/d0b/sem_8c_a19bd6e9be9540104f4ab465624e9a579_cgraph">
<area shape="rect" title=" " alt="" coords="5,139,76,166"/>
<area shape="rect" href="../../d4/d03/kmalloc_8h.html#a150eab2ac4ce4553e21ca10e7f441762" title=" " alt="" coords="311,26,377,52"/>
<area shape="rect" href="../../da/d28/kprintf_8h.html#a20b56810edb62a6fe59917015c30848f" title=" " alt="" coords="165,114,222,140"/>
<area shape="rect" href="../../dd/d1b/ubthread_8h.html#acbb7170a68758468ab5b02512a320112" title=" " alt="" coords="128,164,259,191"/>
<area shape="rect" href="../../dd/d1b/ubthread_8h.html#ab6bfc2169b55532821582f24b68dc855" title=" " alt="" coords="124,215,263,242"/>
<area shape="rect" href="../../dc/d88/armv6_2spinlock_8c.html#a71f03d2ba55111c715b6068254847a53" title=" " alt="" coords="563,76,637,103"/>
<area shape="rect" href="../../d3/d02/armv6_2sched_8c.html#a08933fe6d593a1c78b9080359f15a0b7" title=" " alt="" coords="686,51,777,78"/>
<area shape="rect" href="../../dc/d88/armv6_2spinlock_8c.html#a740766af5da58616f700fffab6768a78" title=" " alt="" coords="685,102,777,128"/>
<area shape="rect" href="../../dd/d78/video_8h.html#a5429378b96a24fadfd2d1f8d777eb95a" title=" " alt="" coords="317,76,371,103"/>
<area shape="rect" href="../../df/d87/kprintf_8c.html#a3093cdac4668a4ccffdd7f77270888b7" title=" " alt="" coords="313,127,375,154"/>
<area shape="rect" href="../../da/d28/kprintf_8h.html#a3b4a66bf1f6583e65660f281b6014aa1" title=" " alt="" coords="311,178,377,204"/>
<area shape="rect" href="../../dc/dac/io_8h.html#a77b934268de1b3ecdcf3f275413b3108" title="input one byte from specified port" alt="" coords="429,26,511,52"/>
<area shape="rect" href="../../dc/dac/io_8h.html#a8acc1a06073db2e7b92ffbd00fbd0cf1" title="outputut one byte to specified port" alt="" coords="425,76,515,103"/>
<area shape="rect" href="../../dd/d71/tty_8h.html#a4f96ccac7e60296ef496008d8cbed0ff" title=" " alt="" coords="438,127,502,154"/>
<area shape="rect" href="../../dd/d71/tty_8h.html#ad96f57a7c113d3cfa76ee5fed6de33c0" title=" " alt="" coords="435,178,505,204"/>
</map>
</div>

</div>
</div>
<a id="a15c1835612c234029c20431e06a1917d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a15c1835612c234029c20431e06a1917d">&#9670;&nbsp;</a></span>sem_open()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sem_open </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../d2/d28/sem_8h.html#a9f436a6cc8070df1db63f5a75d4d0014">semID_t</a> *&#160;</td>
          <td class="paramname"><em>id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../d6/d92/cdefs_8h.html#a2c212835823e3c54a8ab6d95c652660e">const</a> char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>oflag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../d3/df4/descrip_8h.html#ae9f148ba55d84268ecb6f8031ab45076">mode_t</a>&#160;</td>
          <td class="paramname"><em>mode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../d2/d0b/sem_8c_source.html#l00075">75</a> of file <a class="el" href="../../d2/d0b/sem_8c_source.html">sem.c</a>.</p>

</div>
</div>
<a id="a81988406ac7a65ee7d6782b97943320e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a81988406ac7a65ee7d6782b97943320e">&#9670;&nbsp;</a></span>sem_post()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sem_post </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../d2/d28/sem_8h.html#a9f436a6cc8070df1db63f5a75d4d0014">semID_t</a>&#160;</td>
          <td class="paramname"><em>id</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../d2/d0b/sem_8c_source.html#l00040">40</a> of file <a class="el" href="../../d2/d0b/sem_8c_source.html">sem.c</a>.</p>

</div>
</div>
<a id="a0e52c88f72f178cd67eb289e6f498c26"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0e52c88f72f178cd67eb289e6f498c26">&#9670;&nbsp;</a></span>sem_timedwait()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sem_timedwait </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../d2/d28/sem_8h.html#a9f436a6cc8070df1db63f5a75d4d0014">semID_t</a>&#160;</td>
          <td class="paramname"><em>id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../d6/d92/cdefs_8h.html#a2c212835823e3c54a8ab6d95c652660e">const</a> struct <a class="el" href="../../da/d1c/structtimespec.html">timespec</a> *&#160;</td>
          <td class="paramname"><em>ts</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../d2/d0b/sem_8c_source.html#l00052">52</a> of file <a class="el" href="../../d2/d0b/sem_8c_source.html">sem.c</a>.</p>

</div>
</div>
<a id="a46c76cc20324278bddf93b50c6f7ae9f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a46c76cc20324278bddf93b50c6f7ae9f">&#9670;&nbsp;</a></span>sem_trywait()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sem_trywait </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../d2/d28/sem_8h.html#a9f436a6cc8070df1db63f5a75d4d0014">semID_t</a>&#160;</td>
          <td class="paramname"><em>id</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../d2/d0b/sem_8c_source.html#l00048">48</a> of file <a class="el" href="../../d2/d0b/sem_8c_source.html">sem.c</a>.</p>

</div>
</div>
<a id="a776256d1a473906f8b7490689bfcb75c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a776256d1a473906f8b7490689bfcb75c">&#9670;&nbsp;</a></span>sem_unlink()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sem_unlink </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../d6/d92/cdefs_8h.html#a2c212835823e3c54a8ab6d95c652660e">const</a> char *&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../d2/d0b/sem_8c_source.html#l00079">79</a> of file <a class="el" href="../../d2/d0b/sem_8c_source.html">sem.c</a>.</p>

</div>
</div>
<a id="ac2e22218e6a5830f6bdfd727d0206798"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac2e22218e6a5830f6bdfd727d0206798">&#9670;&nbsp;</a></span>sem_wait()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sem_wait </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../d2/d28/sem_8h.html#a9f436a6cc8070df1db63f5a75d4d0014">semID_t</a>&#160;</td>
          <td class="paramname"><em>id</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../d2/d0b/sem_8c_source.html#l00044">44</a> of file <a class="el" href="../../d2/d0b/sem_8c_source.html">sem.c</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="../../dir_dc43877d82dd332f9fb2071fcca799d6.html">kernel</a></li><li class="navelem"><a class="el" href="../../d2/d0b/sem_8c.html">sem.c</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.16 </li>
  </ul>
</div>
</body>
</html>