Files
oldlinux-files/Ref-docs/POSIX/susv3/functions/sem_getvalue.html
2024-02-19 00:21:47 -05:00

142 lines
5.1 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link type="text/css" rel="stylesheet" href="style.css"><!-- Generated by The Open Group's rhtm tool v1.2.1 -->
<!-- Copyright (c) 2001 The Open Group, All Rights Reserved -->
<title>sem_getvalue</title>
</head>
<body bgcolor="white">
<script type="text/javascript" language="JavaScript" src="../jscript/codes.js">
</script>
<basefont size="3"> <a name="sem_getvalue"></a> <a name="tag_03_630"></a><!-- sem_getvalue -->
<!--header start-->
<center><font size="2">The Open Group Base Specifications Issue 6<br>
IEEE Std 1003.1-2001<br>
Copyright &copy; 2001 The IEEE and The Open Group, All Rights reserved.</font></center>
<!--header end-->
<hr size="2" noshade>
<h4><a name="tag_03_630_01"></a>NAME</h4>
<blockquote>sem_getvalue - get the value of a semaphore (<b>REALTIME</b>)</blockquote>
<h4><a name="tag_03_630_02"></a>SYNOPSIS</h4>
<blockquote class="synopsis">
<div class="box"><code><tt><sup>[<a href="javascript:open_code('SEM')">SEM</a>]</sup> <img src="../images/opt-start.gif" alt=
"[Option Start]" border="0"> #include &lt;<a href="../basedefs/semaphore.h.html">semaphore.h</a>&gt;<br>
<br>
int sem_getvalue(sem_t *restrict</tt> <i>sem</i><tt>, int *restrict</tt> <i>sval</i><tt>); <img src="../images/opt-end.gif" alt=
"[Option End]" border="0"></tt></code></div>
<tt><br>
</tt></blockquote>
<h4><a name="tag_03_630_03"></a>DESCRIPTION</h4>
<blockquote>
<p>The <i>sem_getvalue</i>() function shall update the location referenced by the <i>sval</i> argument to have the value of the
semaphore referenced by <i>sem</i> without affecting the state of the semaphore. The updated value represents an actual semaphore
value that occurred at some unspecified time during the call, but it need not be the actual value of the semaphore when it is
returned to the calling process.</p>
<p>If <i>sem</i> is locked, then the value returned by <i>sem_getvalue</i>() is either zero or a negative number whose absolute
value represents the number of processes waiting for the semaphore at some unspecified time during the call.</p>
</blockquote>
<h4><a name="tag_03_630_04"></a>RETURN VALUE</h4>
<blockquote>
<p>Upon successful completion, the <i>sem_getvalue</i>() function shall return a value of zero. Otherwise, it shall return a value
of -1 and set <i>errno</i> to indicate the error.</p>
</blockquote>
<h4><a name="tag_03_630_05"></a>ERRORS</h4>
<blockquote>
<p>The <i>sem_getvalue</i>() function shall fail if:</p>
<dl compact>
<dt>[EINVAL]</dt>
<dd>The <i>sem</i> argument does not refer to a valid semaphore.</dd>
</dl>
</blockquote>
<hr>
<div class="box"><em>The following sections are informative.</em></div>
<h4><a name="tag_03_630_06"></a>EXAMPLES</h4>
<blockquote>
<p>None.</p>
</blockquote>
<h4><a name="tag_03_630_07"></a>APPLICATION USAGE</h4>
<blockquote>
<p>The <i>sem_getvalue</i>() function is part of the Semaphores option and need not be available on all implementations.</p>
</blockquote>
<h4><a name="tag_03_630_08"></a>RATIONALE</h4>
<blockquote>
<p>None.</p>
</blockquote>
<h4><a name="tag_03_630_09"></a>FUTURE DIRECTIONS</h4>
<blockquote>
<p>None.</p>
</blockquote>
<h4><a name="tag_03_630_10"></a>SEE ALSO</h4>
<blockquote>
<p><a href="semctl.html"><i>semctl</i>()</a> , <a href="semget.html"><i>semget</i>()</a> , <a href="semop.html"><i>semop</i>()</a>
, <a href="sem_post.html"><i>sem_post</i>()</a> , <a href="sem_timedwait.html"><i>sem_timedwait</i>()</a> , <a href=
"sem_trywait.html"><i>sem_trywait</i>()</a> , <a href="sem_wait.html"><i>sem_wait</i>()</a> , the Base Definitions volume of
IEEE&nbsp;Std&nbsp;1003.1-2001, <a href="../basedefs/semaphore.h.html"><i>&lt;semaphore.h&gt;</i></a></p>
</blockquote>
<h4><a name="tag_03_630_11"></a>CHANGE HISTORY</h4>
<blockquote>
<p>First released in Issue 5. Included for alignment with the POSIX Realtime Extension.</p>
</blockquote>
<h4><a name="tag_03_630_12"></a>Issue 6</h4>
<blockquote>
<p>The <i>sem_getvalue</i>() function is marked as part of the Semaphores option.</p>
<p>The [ENOSYS] error condition has been removed as stubs need not be provided if an implementation does not support the Semaphores
option.</p>
<p>The <a href="../functions/sem_timedwait.html"><i>sem_timedwait</i>()</a> function is added to the SEE ALSO section for alignment
with IEEE&nbsp;Std&nbsp;1003.1d-1999.</p>
<p>The <b>restrict</b> keyword is added to the <i>sem_getvalue</i>() prototype for alignment with the ISO/IEC&nbsp;9899:1999
standard.</p>
</blockquote>
<div class="box"><em>End of informative text.</em></div>
<hr>
<hr size="2" noshade>
<center><font size="2"><!--footer start-->
UNIX &reg; is a registered Trademark of The Open Group.<br>
POSIX &reg; is a registered Trademark of The IEEE.<br>
[ <a href="../mindex.html">Main Index</a> | <a href="../basedefs/contents.html">XBD</a> | <a href=
"../utilities/contents.html">XCU</a> | <a href="../functions/contents.html">XSH</a> | <a href="../xrat/contents.html">XRAT</a>
]</font></center>
<!--footer end-->
<hr size="2" noshade>
</body>
</html>