]>
Commit | Line | Data |
---|---|---|
cc99526d RL |
1 | =pod |
2 | ||
3 | =head1 NAME | |
4 | ||
aafbe1cc | 5 | SSL_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 | ||
17 | SSL_set_fd() sets the file descriptor B<fd> as the input/output facility | |
1e4e5492 | 18 | for the TLS/SSL (encrypted) side of B<ssl>. B<fd> will typically be the |
cc99526d RL |
19 | socket file descriptor of a network connection. |
20 | ||
21 | When performing the operation, a B<socket BIO> is automatically created to | |
22 | interface between the B<ssl> and B<fd>. The BIO and hence the SSL engine | |
acb5b343 BM |
23 | inherit the behaviour of B<fd>. If B<fd> is non-blocking, the B<ssl> will |
24 | also have non-blocking behaviour. | |
cc99526d RL |
25 | |
26 | If 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 |
29 | SSL_set_rfd() and SSL_set_wfd() perform the respective action, but only |
30 | for the read channel or the write channel, which can be set independently. | |
cc99526d RL |
31 | |
32 | =head1 RETURN VALUES | |
33 | ||
34 | The following return values can occur: | |
35 | ||
36 | =over 4 | |
37 | ||
c8919dde | 38 | =item Z<>0 |
cc99526d RL |
39 | |
40 | The operation failed. Check the error stack to find out why. | |
41 | ||
c8919dde | 42 | =item Z<>1 |
cc99526d RL |
43 | |
44 | The operation succeeded. | |
45 | ||
46 | =back | |
47 | ||
48 | =head1 SEE ALSO | |
49 | ||
9b86974e RS |
50 | L<SSL_get_fd(3)>, L<SSL_set_bio(3)>, |
51 | L<SSL_connect(3)>, L<SSL_accept(3)>, | |
b97fdb57 | 52 | L<SSL_shutdown(3)>, L<ssl(7)> , L<bio(7)> |
cc99526d | 53 | |
e2f92610 RS |
54 | =head1 COPYRIGHT |
55 | ||
56 | Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. | |
57 | ||
4746f25a | 58 | Licensed under the Apache License 2.0 (the "License"). You may not use |
e2f92610 RS |
59 | this file except in compliance with the License. You can obtain a copy |
60 | in the file LICENSE in the source distribution or at | |
61 | L<https://www.openssl.org/source/license.html>. | |
62 | ||
63 | =cut |