config root man

Current Path : /usr/opt/openssl11/share/doc/openssl/html/man3/

FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64
Upload File :
Current File : //usr/opt/openssl11/share/doc/openssl/html/man3/BIO_set_next.html

<?xml version="1.0" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>BIO_push</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rev="made" href="mailto:root@hsxx.drive.ne.jp" />
</head>

<body style="background-color: white">


<!-- INDEX BEGIN -->
<div name="index">
<p><a name="__index__"></a></p>

<ul>

	<li><a href="#name">NAME</a></li>
	<li><a href="#synopsis">SYNOPSIS</a></li>
	<li><a href="#description">DESCRIPTION</a></li>
	<li><a href="#notes">NOTES</a></li>
	<li><a href="#return_values">RETURN VALUES</a></li>
	<li><a href="#examples">EXAMPLES</a></li>
	<li><a href="#see_also">SEE ALSO</a></li>
	<li><a href="#history">HISTORY</a></li>
	<li><a href="#copyright">COPYRIGHT</a></li>
</ul>

<hr name="index" />
</div>
<!-- INDEX END -->

<p>
</p>
<hr />
<h1><a name="name">NAME</a></h1>
<p>BIO_push, BIO_pop, BIO_set_next - add and remove BIOs from a chain</p>
<p>
</p>
<hr />
<h1><a name="synopsis">SYNOPSIS</a></h1>
<pre>
 #include &lt;openssl/bio.h&gt;</pre>
<pre>
 BIO *BIO_push(BIO *b, BIO *next);
 BIO *BIO_pop(BIO *b);
 void BIO_set_next(BIO *b, BIO *next);</pre>
<p>
</p>
<hr />
<h1><a name="description">DESCRIPTION</a></h1>
<p><code>BIO_push()</code> pushes <em>b</em> on <em>next</em>.
If <em>b</em> is NULL the function does nothing and returns <em>next</em>.
Otherwise it prepends <em>b</em>, which may be a single BIO or a chain of BIOs,
to <em>next</em> (unless <em>next</em> is NULL).
It then makes a control call on <em>b</em> and returns <em>b</em>.</p>
<p><code>BIO_pop()</code> removes the BIO <em>b</em> from any chain is is part of.
If <em>b</em> is NULL the function does nothing and returns NULL.
Otherwise it makes a control call on <em>b</em> and
returns the next BIO in the chain, or NULL if there is no next BIO.
The removed BIO becomes a single BIO with no association with
the original chain, it can thus be freed or be made part of a different chain.</p>
<p><code>BIO_set_next()</code> replaces the existing next BIO in a chain with the BIO pointed to
by <em>next</em>. The new chain may include some of the same BIOs from the old chain
or it may be completely different.</p>
<p>
</p>
<hr />
<h1><a name="notes">NOTES</a></h1>
<p>The names of these functions are perhaps a little misleading. <code>BIO_push()</code>
joins two BIO chains whereas <code>BIO_pop()</code> deletes a single BIO from a chain,
the deleted BIO does not need to be at the end of a chain.</p>
<p>The process of calling <code>BIO_push()</code> and <code>BIO_pop()</code> on a BIO may have additional
consequences (a control call is made to the affected BIOs).
Any effects will be noted in the descriptions of individual BIOs.</p>
<p>
</p>
<hr />
<h1><a name="return_values">RETURN VALUES</a></h1>
<p><code>BIO_push()</code> returns the head of the chain,
which usually is <em>b</em>, or <em>next</em> if <em>b</em> is NULL.</p>
<p><code>BIO_pop()</code> returns the next BIO in the chain,
or NULL if there is no next BIO.</p>
<p>
</p>
<hr />
<h1><a name="examples">EXAMPLES</a></h1>
<p>For these examples suppose <em>md1</em> and <em>md2</em> are digest BIOs,
<em>b64</em> is a base64 BIO and <em>f</em> is a file BIO.</p>
<p>If the call:</p>
<pre>
 BIO_push(b64, f);</pre>
<p>is made then the new chain will be <em>b64-f</em>. After making the calls</p>
<pre>
 BIO_push(md2, b64);
 BIO_push(md1, md2);</pre>
<p>the new chain is <em>md1-md2-b64-f</em>. Data written to <em>md1</em> will be digested
by <em>md1</em> and <em>md2</em>, base64 encoded, and finally written to <em>f</em>.</p>
<p>It should be noted that reading causes data to pass in the reverse
direction, that is data is read from <em>f</em>, base64 decoded,
and digested by <em>md2</em> and then <em>md1</em>.</p>
<p>The call:</p>
<pre>
 BIO_pop(md2);</pre>
<p>will return <em>b64</em> and the new chain will be <em>md1-b64-f</em>.
Data can be written to and read from <em>md1</em> as before,
except that <em>md2</em> will no more be applied.</p>
<p>
</p>
<hr />
<h1><a name="see_also">SEE ALSO</a></h1>
<p><a href="/man7/bio.html">the bio manpage</a></p>
<p>
</p>
<hr />
<h1><a name="history">HISTORY</a></h1>
<p>The <code>BIO_set_next()</code> function was added in OpenSSL 1.1.0.</p>
<p>
</p>
<hr />
<h1><a name="copyright">COPYRIGHT</a></h1>
<p>Copyright 2000-2021 The OpenSSL Project Authors. All Rights Reserved.</p>
<p>Licensed under the OpenSSL license (the &quot;License&quot;).  You may not use
this file except in compliance with the License.  You can obtain a copy
in the file LICENSE in the source distribution or at
<a href="https://www.openssl.org/source/license.html">https://www.openssl.org/source/license.html</a>.</p>

</body>

</html>

Man Man