
#use wml::openssl-macros area=docs page=SSL_pending

<title>Documents, SSL_pending(3)</title>

<h1>SSL_pending(3)</h1>

#use wml::imp::generic

{:
## What's this? [[s|(<STRONG>[^<].+?)</A>(</STRONG><DD>)|$1$2|sg]]
[[s|<P>\s+<P>|<P>|sg]]
[[s|<P>\s+</|</|sg]]
[[s|<DD>\s*<DT>|<DD>&nbsp;<DT>|sg]]
[[s|<DD>\s*</DL>|<DD>&nbsp;</DL>|sg]]
[[s|\[|&#91;|sg]]
[[s|\]|&#93;|sg]]

<!-- INDEX BEGIN -->

<UL>

	<LI><A HREF="#NAME">NAME</A>
	<LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
	<LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
	<LI><A HREF="#NOTES">NOTES</A>
	<LI><A HREF="#RETURN_VALUES">RETURN VALUES</A>
	<LI><A HREF="#BUGS">BUGS</A>
	<LI><A HREF="#SEE_ALSO">SEE ALSO</A>
</UL>
<!-- INDEX END -->

<HR>
<P>
<HR>
<H1><A NAME="NAME">NAME</A></H1>
<P>
SSL_pending - obtain number of readable bytes buffered in an SSL object

</P>
<P>
<HR>
<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
<PRE> #include &lt;openssl/ssl.h&gt;
</PRE>
<PRE> int SSL_pending(const SSL *ssl);
</PRE>
<P>
<HR>
<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
<P>
<CODE>SSL_pending()</CODE> returns the number of bytes which are available
inside
<STRONG>ssl</STRONG> for immediate read.

</P>
<P>
<HR>
<H1><A NAME="NOTES">NOTES</A></H1>
<P>
Data are received in blocks from the peer. Therefore data can be buffered
inside <STRONG>ssl</STRONG> and are ready for immediate retrieval with
<A HREF="../ssl/SSL_read.html#">SSL_read(3)</A>.

</P>
<P>
<HR>
<H1><A NAME="RETURN_VALUES">RETURN VALUES</A></H1>
<P>
The number of bytes pending is returned.

</P>
<P>
<HR>
<H1><A NAME="BUGS">BUGS</A></H1>
<P>
<CODE>SSL_pending()</CODE> takes into account only bytes from the TLS/SSL
record that is currently being processed (if any). If the <STRONG>SSL</STRONG> object's
<EM>read_ahead</EM> flag is set, additional protocol bytes may have been read containing more
TLS/SSL records; these are ignored by <CODE>SSL_pending().</CODE>

</P>
<P>
Up to OpenSSL 0.9.6, <CODE>SSL_pending()</CODE> does not check if the
record type of pending data is application data.

</P>
<P>
<HR>
<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
<P>
<A HREF="../ssl/SSL_read.html#">SSL_read(3)</A>, <A HREF="../ssl/ssl.html#">ssl(3)</A>



</P>
:}


