]> git.ipfire.org Git - thirdparty/openssl.git/blame - doc/man3/SSL_set_fd.pod
Cross-linked the man(1) pages of kdf & pkeyutl.
[thirdparty/openssl.git] / doc / man3 / SSL_set_fd.pod
CommitLineData
cc99526d
RL
1=pod
2
3=head1 NAME
4
aafbe1cc 5SSL_set_fd, SSL_set_rfd, SSL_set_wfd - connect the SSL object with a file descriptor
cc99526d
RL
6
7=head1 SYNOPSIS
8
9 #include <openssl/ssl.h>
10
11 int SSL_set_fd(SSL *ssl, int fd);
12 int SSL_set_rfd(SSL *ssl, int fd);
13 int SSL_set_wfd(SSL *ssl, int fd);
14
15=head1 DESCRIPTION
16
17SSL_set_fd() sets the file descriptor B<fd> as the input/output facility
1e4e5492 18for the TLS/SSL (encrypted) side of B<ssl>. B<fd> will typically be the
cc99526d
RL
19socket file descriptor of a network connection.
20
21When performing the operation, a B<socket BIO> is automatically created to
22interface between the B<ssl> and B<fd>. The BIO and hence the SSL engine
acb5b343
BM
23inherit the behaviour of B<fd>. If B<fd> is non-blocking, the B<ssl> will
24also have non-blocking behaviour.
cc99526d
RL
25
26If there was already a BIO connected to B<ssl>, BIO_free() will be called
27(for both the reading and writing side, if different).
28
1e4e5492
UM
29SSL_set_rfd() and SSL_set_wfd() perform the respective action, but only
30for the read channel or the write channel, which can be set independently.
cc99526d
RL
31
32=head1 RETURN VALUES
33
34The following return values can occur:
35
36=over 4
37
c8919dde 38=item Z<>0
cc99526d
RL
39
40The operation failed. Check the error stack to find out why.
41
c8919dde 42=item Z<>1
cc99526d
RL
43
44The operation succeeded.
45
46=back
47
48=head1 SEE ALSO
49
9b86974e
RS
50L<SSL_get_fd(3)>, L<SSL_set_bio(3)>,
51L<SSL_connect(3)>, L<SSL_accept(3)>,
b97fdb57 52L<SSL_shutdown(3)>, L<ssl(7)> , L<bio(7)>
cc99526d 53
e2f92610
RS
54=head1 COPYRIGHT
55
56Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.
57
4746f25a 58Licensed under the Apache License 2.0 (the "License"). You may not use
e2f92610
RS
59this file except in compliance with the License. You can obtain a copy
60in the file LICENSE in the source distribution or at
61L<https://www.openssl.org/source/license.html>.
62
63=cut