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

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

<h1>SSL_rstate_string(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="#SEE_ALSO">SEE ALSO</A>
</UL>
<!-- INDEX END -->

<HR>
<P>
<HR>
<H1><A NAME="NAME">NAME</A></H1>
<P>
SSL_rstate_string, SSL_rstate_string_long - get textual description of
state of an SSL object during read operation

</P>
<P>
<HR>
<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
<PRE> #include &lt;openssl/ssl.h&gt;
</PRE>
<PRE> const char *SSL_rstate_string(SSL *ssl);
 const char *SSL_rstate_string_long(SSL *ssl);
</PRE>
<P>
<HR>
<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
<P>
<CODE>SSL_rstate_string()</CODE> returns a 2 letter string indicating the
current read state of the SSL object <STRONG>ssl</STRONG>.

</P>
<P>
<CODE>SSL_rstate_string_long()</CODE> returns a string indicating the
current read state of the SSL object <STRONG>ssl</STRONG>.

</P>
<P>
<HR>
<H1><A NAME="NOTES">NOTES</A></H1>
<P>
When performing a read operation, the SSL/TLS engine must parse the record,
consisting of header and body. When working in a blocking environment,
SSL_rstate_string[_long]() should always return ``RD''/``read done''.

</P>
<P>
This function should only seldom be needed in applications.

</P>
<P>
<HR>
<H1><A NAME="RETURN_VALUES">RETURN VALUES</A></H1>
<P>
<CODE>SSL_rstate_string()</CODE> and <CODE>SSL_rstate_string_long()</CODE>
can return the following values:

</P>
<DL>
<DT><STRONG><A NAME="item__RH_read">"RH"/"read header"</A></STRONG><DD>
<P>
The header of the record is being evaluated.

</P>
<DT><STRONG><A NAME="item__RB_read">"RB"/"read body"</A></STRONG><DD>
<P>
The body of the record is being evaluated.

</P>
<DT><STRONG><A NAME="item__RD_read">"RD"/"read done"</A></STRONG><DD>
<P>
The record has been completely processed.

</P>
<DT><STRONG><A NAME="item__unknown_unknown_">"unknown"/"unknown"</A></STRONG><DD>
<P>
The read state is unknown. This should never happen.

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



</P>
:}


