JezK
Edit File: a00194.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=11"/> <meta name="generator" content="Doxygen 1.9.4"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>FreeTDS API: src/tds/stream.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="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/searchdata.js"></script> <script type="text/javascript" src="search/search.js"></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 id="projectrow"> <td id="projectalign"> <div id="projectname">FreeTDS API </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.9.4 --> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ var searchBox = new SearchBox("searchBox", "search",'Search','.html'); /* @license-end */ </script> <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:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ $(function() { initMenu('',true,false,'search.php','Search'); $(document).ready(function() { init_search(); }); }); /* @license-end */ </script> <div id="main-nav"></div> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> </div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_f7308370ebb9c2ff76f3bdfe0748aabf.html">tds</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#func-members">Functions</a> </div> <div class="headertitle"><div class="title">stream.c File Reference</div></div> </div><!--header--> <div class="contents"> <p>Handle stream of data. <a href="#details">More...</a></p> <div class="textblock"><code>#include <config.h></code><br /> <code>#include <assert.h></code><br /> <code>#include <<a class="el" href="a00416_source.html">freetds/tds.h</a>></code><br /> <code>#include <freetds/iconv.h></code><br /> <code>#include <freetds/stream.h></code><br /> </div><div class="textblock"><div class="dynheader"> Include dependency graph for stream.c:</div> <div class="dyncontent"> <div class="center"><!-- SVG 0 --> </div> </div> </div><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:a9d8eb43a81ff58ab423dce0ce95b9564"><td class="memItemLeft" align="right" valign="top">TDSRET </td><td class="memItemRight" valign="bottom"><a class="el" href="a00194.html#a9d8eb43a81ff58ab423dce0ce95b9564">tds_convert_stream</a> (<a class="el" href="a01210.html">TDSSOCKET</a> *tds, <a class="el" href="a00958.html">TDSICONV</a> *char_conv, TDS_ICONV_DIRECTION direction, <a class="el" href="a01062.html">TDSINSTREAM</a> *istream, <a class="el" href="a01066.html">TDSOUTSTREAM</a> *ostream)</td></tr> <tr class="memdesc:a9d8eb43a81ff58ab423dce0ce95b9564"><td class="mdescLeft"> </td><td class="mdescRight">Reads and writes from a stream converting characters. <a href="a00194.html#a9d8eb43a81ff58ab423dce0ce95b9564">More...</a><br /></td></tr> <tr class="separator:a9d8eb43a81ff58ab423dce0ce95b9564"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a50bc3749988d1c3c441044fc07ab44e4"><td class="memItemLeft" align="right" valign="top">TDSRET </td><td class="memItemRight" valign="bottom"><a class="el" href="a00194.html#a50bc3749988d1c3c441044fc07ab44e4">tds_copy_stream</a> (<a class="el" href="a01062.html">TDSINSTREAM</a> *istream, <a class="el" href="a01066.html">TDSOUTSTREAM</a> *ostream)</td></tr> <tr class="memdesc:a50bc3749988d1c3c441044fc07ab44e4"><td class="mdescLeft"> </td><td class="mdescRight">Reads and writes from a stream to another. <a href="a00194.html#a50bc3749988d1c3c441044fc07ab44e4">More...</a><br /></td></tr> <tr class="separator:a50bc3749988d1c3c441044fc07ab44e4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abc3a77c8aa28842e7f28583cbabc1415"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00194.html#abc3a77c8aa28842e7f28583cbabc1415">tds_datain_stream_init</a> (<a class="el" href="a01070.html">TDSDATAINSTREAM</a> *stream, <a class="el" href="a01210.html">TDSSOCKET</a> *tds, size_t wire_size)</td></tr> <tr class="memdesc:abc3a77c8aa28842e7f28583cbabc1415"><td class="mdescLeft"> </td><td class="mdescRight">Initialize a data input stream. <a href="a00194.html#abc3a77c8aa28842e7f28583cbabc1415">More...</a><br /></td></tr> <tr class="separator:abc3a77c8aa28842e7f28583cbabc1415"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a04b537d889f7d4c9b9701eb81baf7efd"><td class="memItemLeft" align="right" valign="top"><a id="a04b537d889f7d4c9b9701eb81baf7efd" name="a04b537d889f7d4c9b9701eb81baf7efd"></a> static int </td><td class="memItemRight" valign="bottom"><b>tds_datain_stream_read</b> (<a class="el" href="a01062.html">TDSINSTREAM</a> *stream, void *ptr, size_t len)</td></tr> <tr class="memdesc:a04b537d889f7d4c9b9701eb81baf7efd"><td class="mdescLeft"> </td><td class="mdescRight">Reads data from network for input stream. <br /></td></tr> <tr class="separator:a04b537d889f7d4c9b9701eb81baf7efd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa038a9125979f8f0915dbd53cbf27e5a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00194.html#aa038a9125979f8f0915dbd53cbf27e5a">tds_dataout_stream_init</a> (<a class="el" href="a01074.html">TDSDATAOUTSTREAM</a> *stream, <a class="el" href="a01210.html">TDSSOCKET</a> *tds)</td></tr> <tr class="memdesc:aa038a9125979f8f0915dbd53cbf27e5a"><td class="mdescLeft"> </td><td class="mdescRight">Initialize a data output stream. <a href="a00194.html#aa038a9125979f8f0915dbd53cbf27e5a">More...</a><br /></td></tr> <tr class="separator:aa038a9125979f8f0915dbd53cbf27e5a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae38a590ee08cf398e7adef536ac94538"><td class="memItemLeft" align="right" valign="top"><a id="ae38a590ee08cf398e7adef536ac94538" name="ae38a590ee08cf398e7adef536ac94538"></a> static int </td><td class="memItemRight" valign="bottom"><b>tds_dataout_stream_write</b> (<a class="el" href="a01066.html">TDSOUTSTREAM</a> *stream, size_t len)</td></tr> <tr class="memdesc:ae38a590ee08cf398e7adef536ac94538"><td class="mdescLeft"> </td><td class="mdescRight">Writes data to network for output stream. <br /></td></tr> <tr class="separator:ae38a590ee08cf398e7adef536ac94538"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4f9e40da6941cb9407d0da5bc3030517"><td class="memItemLeft" align="right" valign="top">TDSRET </td><td class="memItemRight" valign="bottom"><a class="el" href="a00194.html#a4f9e40da6941cb9407d0da5bc3030517">tds_dynamic_stream_init</a> (<a class="el" href="a01086.html">TDSDYNAMICSTREAM</a> *stream, void **ptr, size_t allocated)</td></tr> <tr class="memdesc:a4f9e40da6941cb9407d0da5bc3030517"><td class="mdescLeft"> </td><td class="mdescRight">Initialize a dynamic output stream. <a href="a00194.html#a4f9e40da6941cb9407d0da5bc3030517">More...</a><br /></td></tr> <tr class="separator:a4f9e40da6941cb9407d0da5bc3030517"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abaf688c85ea04a2392103d519a55d04e"><td class="memItemLeft" align="right" valign="top"><a id="abaf688c85ea04a2392103d519a55d04e" name="abaf688c85ea04a2392103d519a55d04e"></a> static int </td><td class="memItemRight" valign="bottom"><b>tds_dynamic_stream_write</b> (<a class="el" href="a01066.html">TDSOUTSTREAM</a> *stream, size_t len)</td></tr> <tr class="memdesc:abaf688c85ea04a2392103d519a55d04e"><td class="mdescLeft"> </td><td class="mdescRight">Writes data to a dynamic allocated buffer. <br /></td></tr> <tr class="separator:abaf688c85ea04a2392103d519a55d04e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa9e1e45f0305622dd6aed9f8fe158581"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00194.html#aa9e1e45f0305622dd6aed9f8fe158581">tds_staticin_stream_init</a> (<a class="el" href="a01078.html">TDSSTATICINSTREAM</a> *stream, const void *ptr, size_t len)</td></tr> <tr class="memdesc:aa9e1e45f0305622dd6aed9f8fe158581"><td class="mdescLeft"> </td><td class="mdescRight">Initialize an input stream for read from a static allocated buffer. <a href="a00194.html#aa9e1e45f0305622dd6aed9f8fe158581">More...</a><br /></td></tr> <tr class="separator:aa9e1e45f0305622dd6aed9f8fe158581"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a76b02f1fa5b79dc7e1ef2651a9afe3f7"><td class="memItemLeft" align="right" valign="top"><a id="a76b02f1fa5b79dc7e1ef2651a9afe3f7" name="a76b02f1fa5b79dc7e1ef2651a9afe3f7"></a> static int </td><td class="memItemRight" valign="bottom"><b>tds_staticin_stream_read</b> (<a class="el" href="a01062.html">TDSINSTREAM</a> *stream, void *ptr, size_t len)</td></tr> <tr class="memdesc:a76b02f1fa5b79dc7e1ef2651a9afe3f7"><td class="mdescLeft"> </td><td class="mdescRight">Reads data from a static allocated buffer. <br /></td></tr> <tr class="separator:a76b02f1fa5b79dc7e1ef2651a9afe3f7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9fe0d3799d2e3bde49b614c9d0c3785d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00194.html#a9fe0d3799d2e3bde49b614c9d0c3785d">tds_staticout_stream_init</a> (<a class="el" href="a01082.html">TDSSTATICOUTSTREAM</a> *stream, void *ptr, size_t len)</td></tr> <tr class="memdesc:a9fe0d3799d2e3bde49b614c9d0c3785d"><td class="mdescLeft"> </td><td class="mdescRight">Initialize an output stream for write into a static allocated buffer. <a href="a00194.html#a9fe0d3799d2e3bde49b614c9d0c3785d">More...</a><br /></td></tr> <tr class="separator:a9fe0d3799d2e3bde49b614c9d0c3785d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1d92ebe06f18378ac17ccfd20db05126"><td class="memItemLeft" align="right" valign="top"><a id="a1d92ebe06f18378ac17ccfd20db05126" name="a1d92ebe06f18378ac17ccfd20db05126"></a> static int </td><td class="memItemRight" valign="bottom"><b>tds_staticout_stream_write</b> (<a class="el" href="a01066.html">TDSOUTSTREAM</a> *stream, size_t len)</td></tr> <tr class="memdesc:a1d92ebe06f18378ac17ccfd20db05126"><td class="mdescLeft"> </td><td class="mdescRight">Writes data to a static allocated buffer. <br /></td></tr> <tr class="separator:a1d92ebe06f18378ac17ccfd20db05126"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p >Handle stream of data. </p> </div><h2 class="groupheader">Function Documentation</h2> <a id="a9d8eb43a81ff58ab423dce0ce95b9564" name="a9d8eb43a81ff58ab423dce0ce95b9564"></a> <h2 class="memtitle"><span class="permalink"><a href="#a9d8eb43a81ff58ab423dce0ce95b9564">◆ </a></span>tds_convert_stream()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">TDSRET tds_convert_stream </td> <td>(</td> <td class="paramtype"><a class="el" href="a01210.html">TDSSOCKET</a> * </td> <td class="paramname"><em>tds</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00958.html">TDSICONV</a> * </td> <td class="paramname"><em>char_conv</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">TDS_ICONV_DIRECTION </td> <td class="paramname"><em>direction</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a01062.html">TDSINSTREAM</a> * </td> <td class="paramname"><em>istream</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a01066.html">TDSOUTSTREAM</a> * </td> <td class="paramname"><em>ostream</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Reads and writes from a stream converting characters. </p> <p >Convert a stream from istream to ostream using a specific conversion.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">tds</td><td>A pointer to the TDSSOCKET structure managing a client/server operation. </td></tr> <tr><td class="paramname">char_conv</td><td>conversion structure </td></tr> <tr><td class="paramname">direction</td><td>specify conversion to server or from server </td></tr> <tr><td class="paramname">istream</td><td>input stream </td></tr> <tr><td class="paramname">ostream</td><td>output stream </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>TDS_SUCCESS of TDS_FAIL </dd></dl> <div class="dynheader"> Here is the caller graph for this function:</div> <div class="dyncontent"> <div class="center"><!-- SVG 1 --> </div> </div> </div> </div> <a id="a50bc3749988d1c3c441044fc07ab44e4" name="a50bc3749988d1c3c441044fc07ab44e4"></a> <h2 class="memtitle"><span class="permalink"><a href="#a50bc3749988d1c3c441044fc07ab44e4">◆ </a></span>tds_copy_stream()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">TDSRET tds_copy_stream </td> <td>(</td> <td class="paramtype"><a class="el" href="a01062.html">TDSINSTREAM</a> * </td> <td class="paramname"><em>istream</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a01066.html">TDSOUTSTREAM</a> * </td> <td class="paramname"><em>ostream</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Reads and writes from a stream to another. </p> <p >Copy data from a stream to another.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">tds</td><td>A pointer to the TDSSOCKET structure managing a client/server operation. </td></tr> <tr><td class="paramname">istream</td><td>input stream </td></tr> <tr><td class="paramname">ostream</td><td>output stream </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>TDS_SUCCESS or TDS_FAIL </dd></dl> </div> </div> <a id="abc3a77c8aa28842e7f28583cbabc1415" name="abc3a77c8aa28842e7f28583cbabc1415"></a> <h2 class="memtitle"><span class="permalink"><a href="#abc3a77c8aa28842e7f28583cbabc1415">◆ </a></span>tds_datain_stream_init()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void tds_datain_stream_init </td> <td>(</td> <td class="paramtype"><a class="el" href="a01070.html">TDSDATAINSTREAM</a> * </td> <td class="paramname"><em>stream</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a01210.html">TDSSOCKET</a> * </td> <td class="paramname"><em>tds</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>wire_size</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Initialize a data input stream. </p> <p >This stream read data from network. </p><dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">stream</td><td>input stream to initialize </td></tr> <tr><td class="paramname">tds</td><td>A pointer to the TDSSOCKET structure managing a client/server operation. </td></tr> <tr><td class="paramname">wire_size</td><td>byte to read </td></tr> </table> </dd> </dl> <div class="dynheader"> Here is the call graph for this function:</div> <div class="dyncontent"> <div class="center"><!-- SVG 2 --> </div> </div> <div class="dynheader"> Here is the caller graph for this function:</div> <div class="dyncontent"> <div class="center"><!-- SVG 3 --> </div> </div> </div> </div> <a id="aa038a9125979f8f0915dbd53cbf27e5a" name="aa038a9125979f8f0915dbd53cbf27e5a"></a> <h2 class="memtitle"><span class="permalink"><a href="#aa038a9125979f8f0915dbd53cbf27e5a">◆ </a></span>tds_dataout_stream_init()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void tds_dataout_stream_init </td> <td>(</td> <td class="paramtype"><a class="el" href="a01074.html">TDSDATAOUTSTREAM</a> * </td> <td class="paramname"><em>stream</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a01210.html">TDSSOCKET</a> * </td> <td class="paramname"><em>tds</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Initialize a data output stream. </p> <p >This stream writes data to network. </p><dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">stream</td><td>output stream to initialize </td></tr> <tr><td class="paramname">tds</td><td>A pointer to the TDSSOCKET structure managing a client/server operation. </td></tr> </table> </dd> </dl> <div class="dynheader"> Here is the call graph for this function:</div> <div class="dyncontent"> <div class="center"><!-- SVG 4 --> </div> </div> </div> </div> <a id="a4f9e40da6941cb9407d0da5bc3030517" name="a4f9e40da6941cb9407d0da5bc3030517"></a> <h2 class="memtitle"><span class="permalink"><a href="#a4f9e40da6941cb9407d0da5bc3030517">◆ </a></span>tds_dynamic_stream_init()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">TDSRET tds_dynamic_stream_init </td> <td>(</td> <td class="paramtype"><a class="el" href="a01086.html">TDSDYNAMICSTREAM</a> * </td> <td class="paramname"><em>stream</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void ** </td> <td class="paramname"><em>ptr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>allocated</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Initialize a dynamic output stream. </p> <p >This stream write data into a dynamic allocated buffer. </p><dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">stream</td><td>stream to initialize </td></tr> <tr><td class="paramname">ptr</td><td>pointer to pointer to buffer to fill. Buffer will be extended as needed </td></tr> <tr><td class="paramname">allocated</td><td>bytes initialially allocated for the buffer. Useful to reuse buffers </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>TDS_SUCCESS on success, TDS_FAIL otherwise </dd></dl> <div class="dynheader"> Here is the call graph for this function:</div> <div class="dyncontent"> <div class="center"><!-- SVG 5 --> </div> </div> </div> </div> <a id="aa9e1e45f0305622dd6aed9f8fe158581" name="aa9e1e45f0305622dd6aed9f8fe158581"></a> <h2 class="memtitle"><span class="permalink"><a href="#aa9e1e45f0305622dd6aed9f8fe158581">◆ </a></span>tds_staticin_stream_init()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void tds_staticin_stream_init </td> <td>(</td> <td class="paramtype"><a class="el" href="a01078.html">TDSSTATICINSTREAM</a> * </td> <td class="paramname"><em>stream</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const void * </td> <td class="paramname"><em>ptr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>len</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Initialize an input stream for read from a static allocated buffer. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">stream</td><td>stream to initialize </td></tr> <tr><td class="paramname">ptr</td><td>buffer to read from </td></tr> <tr><td class="paramname">len</td><td>buffer size in bytes </td></tr> </table> </dd> </dl> </div> </div> <a id="a9fe0d3799d2e3bde49b614c9d0c3785d" name="a9fe0d3799d2e3bde49b614c9d0c3785d"></a> <h2 class="memtitle"><span class="permalink"><a href="#a9fe0d3799d2e3bde49b614c9d0c3785d">◆ </a></span>tds_staticout_stream_init()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void tds_staticout_stream_init </td> <td>(</td> <td class="paramtype"><a class="el" href="a01082.html">TDSSTATICOUTSTREAM</a> * </td> <td class="paramname"><em>stream</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>ptr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>len</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Initialize an output stream for write into a static allocated buffer. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">stream</td><td>stream to initialize </td></tr> <tr><td class="paramname">ptr</td><td>buffer to write to </td></tr> <tr><td class="paramname">len</td><td>buffer size in bytes </td></tr> </table> </dd> </dl> <div class="dynheader"> Here is the caller graph for this function:</div> <div class="dyncontent"> <div class="center"><!-- SVG 6 --> </div> </div> </div> </div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4 </small></address> </body> </html>