⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 t_sync.html

📁 unix 下的C开发手册,还用详细的例程。
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"><html><head><!-- Copyright 1997 The Open Group, All Rights Reserved --><title>t_sync</title></head><body bgcolor=white><center><font size=2>The Single UNIX &reg; Specification, Version 2<br>Copyright &copy; 1997 The Open Group</font></center><hr size=2 noshade><h4>NAME</h4><blockquote>t_sync - synchronise transport library</blockquote><h4>SYNOPSIS</h4><blockquote><pre><code>#include &lt;<a href="xti.h.html">xti.h</a>&gt;int t_sync(    int fd)</code></pre></blockquote><h4>DESCRIPTION</h4><blockquote><pre><P><table  bordercolor=#000000 border=1 align=center><tr valign=top><th align=center><b>Parameters</b><th align=center><b>Before call</b><th align=center><b>After call</b><tr valign=top><td align=left>fd<td align=center>x<td align=center>/</table></pre><p>For the transport endpoint specified by<I>fd</I>,<i>t_sync()</i>synchronises the data structures managed by the transport librarywith information from the underlying transport provider.In doing so, it can convert an uninitialised file descriptor(obtained via<i><a href="../xsh/open.html">open()</a></i>,<i><a href="../xsh/dup.html">dup()</a></i>or as a result of a<i><a href="../xsh/fork.html">fork()</a></i>and<i><a href="../xsh/exec.html">exec()</a></i>)to an initialised transport endpoint, assuming that thefile descriptor referenceda transport  endpoint, by updating and allocating the necessary librarydata structures.This function also allows two cooperating processes to synchronise theirinteraction with a transport provider.<p>For example, if a process forksa new process and issues an<i><a href="../xsh/exec.html">exec()</a></i>,the new process must issue a<i>t_sync()</i>to build the private library data structure associated with atransport endpoint and to synchronise the data structurewith the relevant provider information.<p>It is important to remember that the transport provider treatsall users of a transport endpoint as a single user.If multiple processes are using the same endpoint, they shouldcoordinate their activities so as not to violate the state of thetransport endpoint.  The function<i>t_sync()</i>returns the current state of the transport endpoint to the user, therebyenabling the user to verify the state before taking furtheraction.This coordination is only valid among cooperating processes;it is possible that a process or an incoming eventcould change the endpoint's state<I>after</I>a<i>t_sync()</i>is issued.<p>If the transport endpoint is undergoing a state transition when<i>t_sync()</i>is called, the function will fail.</blockquote><h4>VALID STATES</h4><blockquote>ALL - apart from T_UNINIT</blockquote><h4>ERRORS</h4><blockquote>On failure,<I>t_errno</I>is set to one of the following:<dl compact><dt>[TBADF]<dd>The specified file descriptordoes not refer to a transport endpoint.This error may be returned when the<I>fd</I>has been previously closedor an erroneous number may have been passed to the call.<dt>[TPROTO]<dd>This error indicates that a communication problem has been detected betweenXTI and the transport provider for which there is no other suitable XTIerror<I>(t_errno)</I>.<dt>[TSTATECHNG]<dd>The transport endpoint is undergoing a state change.<dt>[TSYSERR]<dd>A system error has occurred during execution of this function.</dl></blockquote><h4>RETURN VALUE</h4><blockquote>On successful completion, the state of the transport endpoint isreturned.  Otherwise, a value of -1 is returned and<I>t_errno</I>is set to indicate an error. The state returned is one of the following:<dl compact><dt>T_UNBND<dd>Unbound.<dt>T_IDLE<dd>Idle.<dt>T_OUTCON<dd>Outgoing connection pending.<dt>T_INCON<dd>Incoming connection pending.<dt>T_DATAXFER<dd>Data transfer.<dt>T_OUTREL<dd>Outgoing orderly release (waiting for an orderly release indication).<dt>T_INREL<dd>Incoming orderly release (waiting for an orderly release request).</dl></blockquote><h4>SEE ALSO</h4><blockquote><i><a href="../xsh/dup.html">dup()</a></i>,<i><a href="../xsh/exec.html">exec()</a></i>,<i><a href="../xsh/fork.html">fork()</a></i>,<i><a href="../xsh/open.html">open()</a></i>.</blockquote><hr size=2 noshade><center><font size=2>UNIX &reg; is a registered Trademark of The Open Group.<br>Copyright &copy; 1997 The Open Group<br> [ <a href="../index.html">Main Index</a> | <a href="../xshix.html">XSH</a> | <a href="../xcuix.html">XCU</a> | <a href="../xbdix.html">XBD</a> | <a href="../cursesix.html">XCURSES</a> | <a href="../xnsix.html">XNS</a> ]</font></center><hr size=2 noshade></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -