📄 streams.doc18.html
字号:
</td><td colspan=1 rowspan=1><div class="CellBody"><a name="73516" class="autotag"> </a>Copies a message into a newly-allocated single message block.</div></td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="73518" class="autotag"> </a><b class="routine"><i class="routine">noenable</i></b><b>( )</b></div></td><td colspan=1 rowspan=1><div class="CellBody"><a name="73520" class="autotag"> </a>Prevent a queue from being scheduled.</div></td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="73522" class="autotag"> </a><b class="routine"><i class="routine">OTHERQ</i></b><b>( )</b></div></td><td colspan=1 rowspan=1><div class="CellBody"><a name="73524" class="autotag"> </a>Return a pointer to the other queue of the pair. </div></td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="73526" class="autotag"> </a><b class="routine"><i class="routine">pullupmsg</i></b><b>( )</b></div></td><td colspan=1 rowspan=1><div class="CellBody"><a name="73528" class="autotag"> </a>Concatenate and align bytes into a single message block.</div></td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="73530" class="autotag"> </a><b class="routine"><i class="routine">putbq</i></b><b>( )</b></div></td><td colspan=1 rowspan=1><div class="CellBody"><a name="73532" class="autotag"> </a>Replace a message on the front of the message queue.</div></td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="73534" class="autotag"> </a><b class="routine"><i class="routine">putctl</i></b><b>( )</b></div></td><td colspan=1 rowspan=1><div class="CellBody"><a name="73536" class="autotag"> </a>Pass a control message to a queue (by calling its put procedure).</div></td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="73538" class="autotag"> </a><b class="routine"><i class="routine">putctl1</i></b><b>( )</b></div></td><td colspan=1 rowspan=1><div class="CellBody"><a name="73540" class="autotag"> </a>Pass a 1-byte control message to a queue (by calling its put procedure).</div></td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="73542" class="autotag"> </a><b class="routine"><i class="routine">putctl2</i></b><b>( )</b></div></td><td colspan=1 rowspan=1><div class="CellBody"><a name="73544" class="autotag"> </a>Pass a 2-byte control message to a queue (by calling its put procedure).</div></td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="73546" class="autotag"> </a><b class="routine"><i class="routine">putnext</i></b><b>( )</b></div></td><td colspan=1 rowspan=1><div class="CellBody"><a name="73548" class="autotag"> </a>Pass a message to the next module in the stream (by calling its put procedure).</div></td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="73550" class="autotag"> </a><b class="routine"><i class="routine">putnextctl</i></b><b>( )</b></div></td><td colspan=1 rowspan=1><div class="CellBody"><a name="73552" class="autotag"> </a>Pass a control message to the next module in the stream (by calling its put procedure).</div></td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="73554" class="autotag"> </a><b class="routine"><i class="routine">putnextctl1</i></b><b>( )</b></div></td><td colspan=1 rowspan=1><div class="CellBody"><a name="73556" class="autotag"> </a>Pass a 1-byte control message to the next module in the stream (by calling its put procedure).</div></td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="73558" class="autotag"> </a><b class="routine"><i class="routine">putq</i></b><b>( )</b></div></td><td colspan=1 rowspan=1><div class="CellBody"><a name="73560" class="autotag"> </a>Place a message at the end of the message queue.</div></td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="73562" class="autotag"> </a><b class="routine"><i class="routine">qenable</i></b><b>( )</b></div></td><td colspan=1 rowspan=1><div class="CellBody"><a name="73564" class="autotag"> </a>Enable a queue.</div></td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="73566" class="autotag"> </a><b class="routine"><i class="routine">qprocson</i></b><b>( )</b></div></td><td colspan=1 rowspan=1><div class="CellBody"><a name="73568" class="autotag"> </a>Make a module visible to the stream. This is a no-op for WindNet STREAMS. </div></td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="73570" class="autotag"> </a><b class="routine"><i class="routine">qprocsoff</i></b><b>( )</b></div></td><td colspan=1 rowspan=1><div class="CellBody"><a name="73572" class="autotag"> </a>Make a module invisible to the stream. This is a no-op for WindNet STREAMS. </div></td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="73574" class="autotag"> </a><b class="routine"><i class="routine">qreply</i></b><b>( )</b></div></td><td colspan=1 rowspan=1><div class="CellBody"><a name="73576" class="autotag"> </a>Pass a message to the previous module in the stream (by calling its put procedure).</div></td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="73578" class="autotag"> </a><b class="routine"><i class="routine">qsize</i></b><b>( )</b></div></td><td colspan=1 rowspan=1><div class="CellBody"><a name="73580" class="autotag"> </a>Obtain the number of messages on a message queue.</div></td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="73582" class="autotag"> </a><b class="routine"><i class="routine">RD</i></b><b>( )</b></div></td><td colspan=1 rowspan=1><div class="CellBody"><a name="73584" class="autotag"> </a>The read-side queue of a specified write-side queue.</div></td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="73586" class="autotag"> </a><b class="routine"><i class="routine">rmvb</i></b><b>( )</b></div></td><td colspan=1 rowspan=1><div class="CellBody"><a name="73588" class="autotag"> </a>Remove a message block from a message.</div></td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="73590" class="autotag"> </a><b class="routine"><i class="routine">rmvq</i></b><b>( )</b></div></td><td colspan=1 rowspan=1><div class="CellBody"><a name="73592" class="autotag"> </a>Remove a specified message from anywhere on the message queue.</div></td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="73594" class="autotag"> </a><b class="routine"><i class="routine">strlog</i></b><b>( )</b></div></td><td colspan=1 rowspan=1><div class="CellBody"><a name="73596" class="autotag"> </a>Pass a message to the STREAMS log device. </div></td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="73598" class="autotag"> </a><b class="routine"><i class="routine">strqget</i></b><b>( )</b></div></td><td colspan=1 rowspan=1><div class="CellBody"><a name="73600" class="autotag"> </a>Obtain information from the queue structure.</div></td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="73602" class="autotag"> </a><b class="routine"><i class="routine">strqset</i></b><b>( )</b></div></td><td colspan=1 rowspan=1><div class="CellBody"><a name="73604" class="autotag"> </a>Set information in the queue structure.</div></td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="73606" class="autotag"> </a><b class="routine"><i class="routine">testb</i></b><b>( )</b></div></td><td colspan=1 rowspan=1><div class="CellBody"><a name="73608" class="autotag"> </a>Check for buffer availability.</div></td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="73610" class="autotag"> </a><b class="routine"><i class="routine">unbufcall</i></b><b>( )</b></div></td><td colspan=1 rowspan=1><div class="CellBody"><a name="73612" class="autotag"> </a>Cancel a previous <b class="routine"><i class="routine">bufcall</i></b><b>( )</b> request.</div></td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="73614" class="autotag"> </a><b class="routine"><i class="routine">unlinkb</i></b><b>( )</b></div></td><td colspan=1 rowspan=1><div class="CellBody"><a name="73616" class="autotag"> </a>Remove a message block from the front of a message.</div></td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="73618" class="autotag"> </a><b class="routine"><i class="routine">unfreezestr</i></b><b>( )</b></div></td><td colspan=1 rowspan=1><div class="CellBody"><a name="73620" class="autotag"> </a>Cancel a <b class="routine"><i class="routine">freezestr</i></b><b>( )</b> call. This is a no-op for WindNet STREAMS. </div></td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="73622" class="autotag"> </a><b class="routine"><i class="routine">WR</i></b><b>( )</b></div></td><td colspan=1 rowspan=1><div class="CellBody"><a name="73624" class="autotag"> </a>Return a pointer to the write-side queue of the specified read-side queue. </div></td></tr><tr valign="top"><td colspan=1 rowspan=1></td><td colspan=1 rowspan=1></td></tr><tr><td colspan="20"><hr class="tablerule"></td></tr><tr valign="middle"><td colspan="20"><span class="FNM">1</span>: <span class="Footnote"><a name="73434" class="autotag"> </a>In multi-threaded versions of SVR4 STREAMS, there is no guarantee that <b class="keyword">q->q_next</b> will not change. Therefore, the routine <b class="routine"><i class="routine">canputnext</i></b><b>( )</b> was introduced. The current queue parameter is passed and <b class="routine"><i class="routine">canputnext</i></b><b>( )</b> extracts <b class="keyword">q->q_nex</b><b class="keyword">t </b>under whatever lock is necessary to ensure that it isn't changing. This is not necessary in WindNet STREAMS because <b class="keyword">q->q_next</b> cannot change while in the put or service routine for <b class="keyword">q</b>. The <b class="routine"><i class="routine">canputnext</i></b><b>( )</b> routine is provided for compatibility, but there is no functional difference between <b class="keyword">canput(q->q_next)</b> and<b class="keyword"> </b><b class="keyword">canputnext(q)</b>.</span></td></tr></table></p> </p></dd></dl></dd></dl><a name="foot"><hr></a><p class="navbar" align="right"><a href="index.html"><img border="0" alt="[Contents]" src="../../icons/contents.gif"></a><a href="streams.doc17.html"><img border="0" alt="[Prev]" src="../../icons/prev.gif"></a><a href="streams.doc19.html"><img border="0" alt="[Next]" src="../../icons/next.gif"></a></p></body></html><!---This file generated April 10, 1998, 12:25PM PDTby WRS Documentation (jeff), Wind River Systems, Inc. conversion tool: Quadralay WebWorks Publisher 3.5.0 template: CSS Template, Jan 1998 - Jefro --->
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -