1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xml:lang="en-US" lang="en-US" xmlns="http://www.w3.org/1999/xhtml">
3  <head>
4    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5    <meta http-equiv="Content-Style-Type" content="text/css" />
6    <link rel="stylesheet" href="../../../../css/manpage.css" type="text/css" />
7<title>GetReadableSize</title>
8  </head>
9  <body>
10<h1><CODE>nn::hio::CTR::SerialChannel::GetReadableSize</CODE> Member Function</h1>
11<h2>Syntax</h2>
12    <div class="section">
13      <pre class="definition">#include &lt;nn/hio.h&gt;
14<a href="../../../../nn/Result/Overview.html">Result</a> GetReadableSize(
15     size_t * pSize,
16     bit32 attr = ATTRIBUTE_NONE
17);
18</pre>
19    </div>
20<h2>Arguments</h2>
21    <div class="section">
22      <table class="arguments">
23        <thead>
24          <tr>
25            <td width="15" />
26<th>Name</th>
27<td>Description</td>
28          </tr>
29        </thead>
30        <tr>
31<td>out</td>
32<th>pSize</th>
33<td>Location where the size of the data is stored.</td>
34        </tr>
35        <tr>
36<td>in</td>
37<th>attr</th>
38<td>Reception attribute.<br />When <CODE>ATTRIBUTE_NONE</CODE> is specified, this function gets the loadable size from the CTR-side buffer.<br />When <CODE>ATTRIBUTE_IN_PC</CODE> is specified, this function gets the sum of the loadable sizes of the CTR-side and PC-side buffers.</td>
39        </tr> </table>
40    </div>
41<h2>Return Values</h2>
42<div class="section">Returns the result of the operation. </div>
43<h2>Description</h2>
44    <div class="section">
45<p>Gets the loadable size from the buffer(s) and returns the result of the operation.</p><h3>Differences in Data Sizes Obtained</h3><p>
46Buffers used for HostIO communication are provided on both the CTR and PC. The method for obtaining samples differs greatly depending on the attributes set by <SPAN class="argument">attr</SPAN>, and this will greatly affect the results as well.
47            </p><p>
48If you specify <CODE>ATTRIBUTE_NONE</CODE>, then the size of data not yet received by the CTR from the PC is returned. Thus if <CODE>Read</CODE> has not been performed even once, a value of <CODE>0</CODE> will be obtained.
49            </p><p>
50When <CODE>ATTRIBUTE_IN_PC</CODE> is specified, the communication with PC is performed and this function returns the sum of the loadable sizes of the CTR-side and PC-side buffers. Thus the value obtained will be the size of the data that has been sent from the PC, but not received by the CTR. There is a delay of a few dozen milliseconds for communication between the PC and CTR.
51            </p><p>
52Specify <CODE>ATTRIBUTE_IN_PC</CODE> as the attribute for <SPAN class="argument">attr</SPAN> to obtain the size of the data that has been sent from the PC, but has not yet been received by the CTR. Note the meaning of the value obtained when <CODE>ATTRIBUTE_NONE</CODE> is specified.
53            </p><p>
54<CODE>ATTRIBUTE_NONE</CODE> obtains the size of the data remaining on the CTR. It is thus able to return a value quickly, without locking, thread switching, or communication between the PC and CTR. Thus, for certain uses delays can be minimized by using <CODE>ATTRIBUTE_NONE</CODE> when it is possible to perform processing using only the data in the buffer remaining on the CTR.
55            </p></div>
56<h2>Revision History</h2>
57    <div class="section">
58      <dl class="history">
59        <dt>2011/02/23</dt>
60<dd>Added descriptions of attributes when obtaining the size of data that can be received.
61        </dd>
62        <dt>2010/11/10</dt>
63<dd>Initial version.<br />
64        </dd>
65      </dl>
66    </div>
67  <hr><p>CONFIDENTIAL</p></body>
68</html>
69